diff --git a/pkg/contracts/out/Allo.sol/Allo.json b/pkg/contracts/out/Allo.sol/Allo.json index 2bcd87eb3..efbd62d7a 100644 --- a/pkg/contracts/out/Allo.sol/Allo.json +++ b/pkg/contracts/out/Allo.sol/Allo.json @@ -1 +1 @@ -{"abi":[{"type":"function","name":"DEFAULT_ADMIN_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"NATIVE","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"addPoolManager","inputs":[{"name":"_poolId","type":"uint256","internalType":"uint256"},{"name":"_manager","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"addToCloneableStrategies","inputs":[{"name":"_strategy","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"allocate","inputs":[{"name":"_poolId","type":"uint256","internalType":"uint256"},{"name":"_data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"batchAllocate","inputs":[{"name":"_poolIds","type":"uint256[]","internalType":"uint256[]"},{"name":"_datas","type":"bytes[]","internalType":"bytes[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"batchRegisterRecipient","inputs":[{"name":"_poolIds","type":"uint256[]","internalType":"uint256[]"},{"name":"_data","type":"bytes[]","internalType":"bytes[]"}],"outputs":[{"name":"recipientIds","type":"address[]","internalType":"address[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"cancelOwnershipHandover","inputs":[],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"completeOwnershipHandover","inputs":[{"name":"pendingOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"createPool","inputs":[{"name":"_profileId","type":"bytes32","internalType":"bytes32"},{"name":"_strategy","type":"address","internalType":"address"},{"name":"_initStrategyData","type":"bytes","internalType":"bytes"},{"name":"_token","type":"address","internalType":"address"},{"name":"_amount","type":"uint256","internalType":"uint256"},{"name":"_metadata","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]},{"name":"_managers","type":"address[]","internalType":"address[]"}],"outputs":[{"name":"poolId","type":"uint256","internalType":"uint256"}],"stateMutability":"payable"},{"type":"function","name":"createPoolWithCustomStrategy","inputs":[{"name":"_profileId","type":"bytes32","internalType":"bytes32"},{"name":"_strategy","type":"address","internalType":"address"},{"name":"_initStrategyData","type":"bytes","internalType":"bytes"},{"name":"_token","type":"address","internalType":"address"},{"name":"_amount","type":"uint256","internalType":"uint256"},{"name":"_metadata","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]},{"name":"_managers","type":"address[]","internalType":"address[]"}],"outputs":[{"name":"poolId","type":"uint256","internalType":"uint256"}],"stateMutability":"payable"},{"type":"function","name":"distribute","inputs":[{"name":"_poolId","type":"uint256","internalType":"uint256"},{"name":"_recipientIds","type":"address[]","internalType":"address[]"},{"name":"_data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"fundPool","inputs":[{"name":"_poolId","type":"uint256","internalType":"uint256"},{"name":"_amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"getBaseFee","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getFeeDenominator","inputs":[],"outputs":[{"name":"FEE_DENOMINATOR","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"getPercentFee","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getPool","inputs":[{"name":"_poolId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"tuple","internalType":"struct IAllo.Pool","components":[{"name":"profileId","type":"bytes32","internalType":"bytes32"},{"name":"strategy","type":"address","internalType":"contract IStrategy"},{"name":"token","type":"address","internalType":"address"},{"name":"metadata","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]},{"name":"managerRole","type":"bytes32","internalType":"bytes32"},{"name":"adminRole","type":"bytes32","internalType":"bytes32"}]}],"stateMutability":"view"},{"type":"function","name":"getRegistry","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IRegistry"}],"stateMutability":"view"},{"type":"function","name":"getRoleAdmin","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"getStrategy","inputs":[{"name":"_poolId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getTreasury","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address payable"}],"stateMutability":"view"},{"type":"function","name":"grantRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"hasRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"initialize","inputs":[{"name":"_owner","type":"address","internalType":"address"},{"name":"_registry","type":"address","internalType":"address"},{"name":"_treasury","type":"address","internalType":"address payable"},{"name":"_percentFee","type":"uint256","internalType":"uint256"},{"name":"_baseFee","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"isCloneableStrategy","inputs":[{"name":"_strategy","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isPoolAdmin","inputs":[{"name":"_poolId","type":"uint256","internalType":"uint256"},{"name":"_address","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isPoolManager","inputs":[{"name":"_poolId","type":"uint256","internalType":"uint256"},{"name":"_address","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"result","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"ownershipHandoverExpiresAt","inputs":[{"name":"pendingOwner","type":"address","internalType":"address"}],"outputs":[{"name":"result","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"recoverFunds","inputs":[{"name":"_token","type":"address","internalType":"address"},{"name":"_recipient","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerRecipient","inputs":[{"name":"_poolId","type":"uint256","internalType":"uint256"},{"name":"_data","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"payable"},{"type":"function","name":"removeFromCloneableStrategies","inputs":[{"name":"_strategy","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"removePoolManager","inputs":[{"name":"_poolId","type":"uint256","internalType":"uint256"},{"name":"_manager","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"renounceOwnership","inputs":[],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"renounceRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"requestOwnershipHandover","inputs":[],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"revokeRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"transferOwnership","inputs":[{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"updateBaseFee","inputs":[{"name":"_baseFee","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"updatePercentFee","inputs":[{"name":"_percentFee","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"updatePoolMetadata","inputs":[{"name":"_poolId","type":"uint256","internalType":"uint256"},{"name":"_metadata","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"updateRegistry","inputs":[{"name":"_registry","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"updateTreasury","inputs":[{"name":"_treasury","type":"address","internalType":"address payable"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"BaseFeePaid","inputs":[{"name":"poolId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"BaseFeeUpdated","inputs":[{"name":"baseFee","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint8","indexed":false,"internalType":"uint8"}],"anonymous":false},{"type":"event","name":"OwnershipHandoverCanceled","inputs":[{"name":"pendingOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"OwnershipHandoverRequested","inputs":[{"name":"pendingOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"oldOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"PercentFeeUpdated","inputs":[{"name":"percentFee","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"PoolCreated","inputs":[{"name":"poolId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"profileId","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"strategy","type":"address","indexed":false,"internalType":"contract IStrategy"},{"name":"token","type":"address","indexed":false,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"metadata","type":"tuple","indexed":false,"internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]}],"anonymous":false},{"type":"event","name":"PoolFunded","inputs":[{"name":"poolId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"fee","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"PoolMetadataUpdated","inputs":[{"name":"poolId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"metadata","type":"tuple","indexed":false,"internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]}],"anonymous":false},{"type":"event","name":"RegistryUpdated","inputs":[{"name":"registry","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"RoleAdminChanged","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"previousAdminRole","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"newAdminRole","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"RoleGranted","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"sender","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"RoleRevoked","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"sender","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"StrategyApproved","inputs":[{"name":"strategy","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"StrategyRemoved","inputs":[{"name":"strategy","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"TreasuryUpdated","inputs":[{"name":"treasury","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"error","name":"ALLOCATION_ACTIVE","inputs":[]},{"type":"error","name":"ALLOCATION_NOT_ACTIVE","inputs":[]},{"type":"error","name":"ALLOCATION_NOT_ENDED","inputs":[]},{"type":"error","name":"ALREADY_INITIALIZED","inputs":[]},{"type":"error","name":"AMOUNT_MISMATCH","inputs":[]},{"type":"error","name":"ANCHOR_ERROR","inputs":[]},{"type":"error","name":"ARRAY_MISMATCH","inputs":[]},{"type":"error","name":"INVALID","inputs":[]},{"type":"error","name":"INVALID_ADDRESS","inputs":[]},{"type":"error","name":"INVALID_FEE","inputs":[]},{"type":"error","name":"INVALID_METADATA","inputs":[]},{"type":"error","name":"INVALID_REGISTRATION","inputs":[]},{"type":"error","name":"IS_APPROVED_STRATEGY","inputs":[]},{"type":"error","name":"MISMATCH","inputs":[]},{"type":"error","name":"NONCE_NOT_AVAILABLE","inputs":[]},{"type":"error","name":"NOT_APPROVED_STRATEGY","inputs":[]},{"type":"error","name":"NOT_ENOUGH_FUNDS","inputs":[]},{"type":"error","name":"NOT_IMPLEMENTED","inputs":[]},{"type":"error","name":"NOT_INITIALIZED","inputs":[]},{"type":"error","name":"NOT_PENDING_OWNER","inputs":[]},{"type":"error","name":"NewOwnerIsZeroAddress","inputs":[]},{"type":"error","name":"NoHandoverRequest","inputs":[]},{"type":"error","name":"POOL_ACTIVE","inputs":[]},{"type":"error","name":"POOL_INACTIVE","inputs":[]},{"type":"error","name":"RECIPIENT_ALREADY_ACCEPTED","inputs":[]},{"type":"error","name":"RECIPIENT_ERROR","inputs":[{"name":"recipientId","type":"address","internalType":"address"}]},{"type":"error","name":"RECIPIENT_NOT_ACCEPTED","inputs":[]},{"type":"error","name":"REGISTRATION_NOT_ACTIVE","inputs":[]},{"type":"error","name":"UNAUTHORIZED","inputs":[]},{"type":"error","name":"Unauthorized","inputs":[]},{"type":"error","name":"ZERO_ADDRESS","inputs":[]}],"bytecode":{"object":"0x608060405234801561001057600080fd5b506135a1806100206000396000f3fe6080604052600436106102e75760003560e01c80635f9ca13811610184578063ab2ec589116100d6578063e1007d4a1161008a578063f4e1fc4111610064578063f4e1fc41146107e7578063f54fc4a014610802578063fee81cf41461082257600080fd5b8063e1007d4a146107ae578063f04e283e146107c1578063f2fde38b146107d457600080fd5b8063c6dff1cf116100bb578063c6dff1cf14610735578063cfc0cc3414610755578063d547741f1461078e57600080fd5b8063ab2ec589146106f5578063ab3febc61461071557600080fd5b80638da5cb5b11610138578063a0cf0aea11610112578063a0cf0aea14610698578063a217fddf146106c0578063a6b63eb8146106d557600080fd5b80638da5cb5b146106195780638e6901861461063257806391d148541461065257600080fd5b806377da8caf1161016957806377da8caf146105c65780637f51bb1f146105d95780637f5a70bd146105f957600080fd5b80635f9ca1381461059e578063715018a6146105be57600080fd5b80632cf682b01161023d5780633b19e84a116101f157806354d1f13d116101cb57806354d1f13d146105655780635ab1bd531461056d5780635acd6fac1461058b57600080fd5b80633b19e84a1461051257806341bba0b4146105305780634edbaadc1461055057600080fd5b80632f2ff15d116102225780632f2ff15d146104b257806336568abe146104d25780633a5fbd92146104f257600080fd5b80632cf682b01461047f5780632ec381881461049f57600080fd5b80631a20bd881161029f57806324ae6a271161027957806324ae6a2714610437578063256929621461045757806329e40d4b1461045f57600080fd5b80631a20bd88146103ba5780631a5da6c8146103e7578063248a9ca31461040757600080fd5b8063068bcd8d116102d0578063068bcd8d14610343578063075c0e9c1461037057806315e812ad1461039b57600080fd5b806301ffc9a7146102ec578063031e2fa114610321575b600080fd5b3480156102f857600080fd5b5061030c6103073660046129c9565b610855565b60405190151581526020015b60405180910390f35b34801561032d57600080fd5b5061034161033c366004612a20565b6108ee565b005b34801561034f57600080fd5b5061036361035e366004612a3d565b61094e565b6040516103189190612ac5565b61038361037e366004612bed565b610a61565b6040516001600160a01b039091168152602001610318565b3480156103a757600080fd5b5060ca545b604051908152602001610318565b3480156103c657600080fd5b506103da6103d5366004612ce8565b610b17565b6040516103189190612ddb565b3480156103f357600080fd5b50610341610402366004612a20565b610c9e565b34801561041357600080fd5b506103ac610422366004612a3d565b60009081526065602052604090206001015490565b34801561044357600080fd5b50610341610452366004612dee565b610cb2565b610341610d7a565b34801561046b57600080fd5b5061030c61047a366004612e27565b610dca565b34801561048b57600080fd5b5061034161049a366004612e27565b610ddd565b6103416104ad366004612bed565b610e2a565b3480156104be57600080fd5b506103416104cd366004612e27565b610e4a565b3480156104de57600080fd5b506103416104ed366004612e27565b610e6f565b3480156104fe57600080fd5b5061034161050d366004612eb0565b610efc565b34801561051e57600080fd5b5060cc546001600160a01b0316610383565b34801561053c57600080fd5b5061034161054b366004612a20565b610f9d565b34801561055c57600080fd5b5060c9546103ac565b610341611020565b34801561057957600080fd5b5060cd546001600160a01b0316610383565b610341610599366004612f1d565b61105c565b3480156105aa57600080fd5b506103416105b9366004612fc2565b6111f3565b610341611270565b6103ac6105d4366004612fff565b611284565b3480156105e557600080fd5b506103416105f4366004612a20565b611333565b34801561060557600080fd5b50610341610614366004612e27565b611344565b34801561062557600080fd5b50638b78c6d81954610383565b34801561063e57600080fd5b5061034161064d366004612a3d565b61136a565b34801561065e57600080fd5b5061030c61066d366004612e27565b60009182526065602090815260408084206001600160a01b0393909316845291905290205460ff1690565b3480156106a457600080fd5b5061038373eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b3480156106cc57600080fd5b506103ac600081565b3480156106e157600080fd5b506103416106f03660046130c2565b61137b565b34801561070157600080fd5b5061030c610710366004612a20565b611499565b34801561072157600080fd5b5061030c610730366004612e27565b6114ba565b34801561074157600080fd5b5061034161075036600461311d565b6114c6565b34801561076157600080fd5b50610383610770366004612a3d565b600090815260cf60205260409020600101546001600160a01b031690565b34801561079a57600080fd5b506103416107a9366004612e27565b61154b565b6103ac6107bc366004612fff565b611570565b6103416107cf366004612a20565b611607565b6103416107e2366004612a20565b611644565b3480156107f357600080fd5b50670de0b6b3a76400006103ac565b34801561080e57600080fd5b5061034161081d366004612a3d565b61166b565b34801561082e57600080fd5b506103ac61083d366004612a20565b63389a75e1600c908152600091909152602090205490565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f7965db0b0000000000000000000000000000000000000000000000000000000014806108e857507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b6108f661167c565b6001600160a01b038116600081815260d06020908152604091829020805460ff1916905590519182527f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea491015b60405180910390a150565b610956612963565b600082815260cf6020908152604091829020825160c0810184528154815260018201546001600160a01b039081168285015260028301541681850152835180850190945260038201805485526004830180549295939460608701949390840191906109c0906131aa565b80601f01602080910402602001604051908101604052809291908181526020018280546109ec906131aa565b8015610a395780601f10610a0e57610100808354040283529160200191610a39565b820191906000526020600020905b815481529060010190602001808311610a1c57829003601f168201915b5050505050815250508152602001600582015481526020016006820154815250509050919050565b6000610a6b611697565b600083815260cf6020526040908190206001015490517f2bbe0cae0000000000000000000000000000000000000000000000000000000081526001600160a01b0390911690632bbe0cae903490610ac890869033906004016131e4565b60206040518083038185885af1158015610ae6573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610b0b919061320f565b90506108e86001609755565b6060610b21611697565b82518067ffffffffffffffff811115610b3c57610b3c612b2e565b604051908082528060200260200182016040528015610b65578160200160208202803683370190505b50915082518114610b895760405163636e39bb60e01b815260040160405180910390fd5b60005b81811015610c925760cf6000868381518110610baa57610baa61322c565b6020026020010151815260200190815260200160002060010160009054906101000a90046001600160a01b03166001600160a01b0316632bbe0cae858381518110610bf757610bf761322c565b6020026020010151336040518363ffffffff1660e01b8152600401610c1d9291906131e4565b6020604051808303816000875af1158015610c3c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c60919061320f565b838281518110610c7257610c7261322c565b6001600160a01b0390921660209283029190910190910152600101610b8c565b50506108e86001609755565b610ca661167c565b610caf816116f0565b50565b610cba61167c565b60006001600160a01b03831673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee14610d66576040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b038416906370a0823190602401602060405180830381865afa158015610d3d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d619190613242565b610d68565b475b9050610d75838383611772565b505050565b60006202a30067ffffffffffffffff164201905063389a75e1600c5233600052806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d600080a250565b6000610dd683836117ac565b9392505050565b81610de7816117ef565b6001600160a01b038216610e0e5760405163538ba4f960e01b815260040160405180910390fd5b600083815260cf6020526040902060050154610d759083611816565b610e32611697565b610e3c82826118b8565b610e466001609755565b5050565b600082815260656020526040902060010154610e658161194b565b610d758383611816565b6001600160a01b0381163314610ef25760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201527f20726f6c657320666f722073656c66000000000000000000000000000000000060648201526084015b60405180910390fd5b610e468282611955565b610f04611697565b600083815260cf6020526040908190206001015490517f0a6f0ee90000000000000000000000000000000000000000000000000000000081526001600160a01b0390911690630a6f0ee990610f619085908590339060040161325b565b600060405180830381600087803b158015610f7b57600080fd5b505af1158015610f8f573d6000803e3d6000fd5b50505050610d756001609755565b610fa561167c565b6001600160a01b038116610fcc5760405163538ba4f960e01b815260040160405180910390fd5b6001600160a01b038116600081815260d06020908152604091829020805460ff1916600117905590519182527f960dd94cbb79169f09a4e445d58b895df2d9bffa5b31055d0932d801724a20d19101610943565b63389a75e1600c523360005260006020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c92600080a2565b611064611697565b80600003611085576040516303e09bb960e31b815260040160405180910390fd5b600082815260cf60209081526040808320815160c0810183528154815260018201546001600160a01b03908116828601526002830154168184015282518084019093526003820180548452600483018054929593946060870194909390840191906110ef906131aa565b80601f016020809104026020016040519081016040528092919081815260200182805461111b906131aa565b80156111685780601f1061113d57610100808354040283529160200191611168565b820191906000526020600020905b81548152906001019060200180831161114b57829003601f168201915b505050919092525050508152600582015460208201526006909101546040918201528101519091506001600160a01b031673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee1480156111bb5750348214155b156111d9576040516303e09bb960e31b815260040160405180910390fd5b6111e8828483602001516119d8565b50610e466001609755565b816111fd81611cbc565b600083815260cf602090815260409091208351600382019081559184015190918491600484019061122e90826132e8565b50905050837f14f52b76bda9e4c482842cefda2968d332933577988f224e80aae18fba10edf08460405161126291906133a8565b60405180910390a250505050565b61127861167c565b6112826000611cc6565b565b600061128e611697565b6001600160a01b038716600090815260d0602052604090205460ff166112e0576040517f9369923800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b33600090815260ce60205260408120805461131c928b92611312928c92909190611309836133d1565b91905055611d04565b8888888888611d58565b90506113286001609755565b979650505050505050565b61133b61167c565b610caf81612293565b8161134e816117ef565b600083815260cf6020526040902060050154610d759083611955565b61137261167c565b610caf81612315565b600054600190610100900460ff1615801561139d575060005460ff8083169116105b61140f5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610ee9565b6000805461ffff191660ff83161761010017905561142c8661234a565b611435856116f0565b61143e84612293565b61144783612386565b61145082612315565b6000805461ff001916905560405160ff821681527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a1505050505050565b6001600160a01b038116600090815260d0602052604081205460ff166108e8565b6000610dd683836123fd565b6114ce611697565b8051829081146114f15760405163636e39bb60e01b815260040160405180910390fd5b60005b8181101561153f576115378585838181106115115761151161322c565b9050602002013584838151811061152a5761152a61322c565b60200260200101516118b8565b6001016114f4565b5050610d756001609755565b6000828152606560205260409020600101546115668161194b565b610d758383611955565b60006001600160a01b0387166115995760405163538ba4f960e01b815260040160405180910390fd5b6001600160a01b038716600090815260d0602052604090205460ff16156115ec576040517feeffa72100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6115fb88888888888888611d58565b98975050505050505050565b61160f61167c565b63389a75e1600c52806000526020600c20805442111561163757636f5e88186000526004601cfd5b60009055610caf81611cc6565b61164c61167c565b8060601b61166257637448fbae6000526004601cfd5b610caf81611cc6565b61167361167c565b610caf81612386565b638b78c6d819543314611282576382b429006000526004601cfd5b6002609754036116e95760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610ee9565b6002609755565b6001600160a01b0381166117175760405163538ba4f960e01b815260040160405180910390fd5b60cd805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0383169081179091556040519081527fd6ceddf6d2a22f21c7c81675c518004eff43bc5c8a6fc32a0b748e69d58671cd90602001610943565b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b038416016117a157610d758282612435565b610d75838383612451565b600082815260cf60209081526040808320600501548352606582528083206001600160a01b038516845290915281205460ff1680610dd65750610dd683836123fd565b6117f981336123fd565b610caf5760405163075fd2b160e01b815260040160405180910390fd5b60008281526065602090815260408083206001600160a01b038516845290915290205460ff16610e465760008281526065602090815260408083206001600160a01b03851684529091529020805460ff191660011790556118743390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b600082815260cf6020526040908190206001015490517fef2920fc0000000000000000000000000000000000000000000000000000000081526001600160a01b039091169063ef2920fc90349061191590859033906004016131e4565b6000604051808303818588803b15801561192e57600080fd5b505af1158015611942573d6000803e3d6000fd5b50505050505050565b610caf81336124a0565b60008281526065602090815260408083206001600160a01b038516845290915290205460ff1615610e465760008281526065602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b600082815260cf60205260408120600281015460c9548692916001600160a01b03169015611b4257670de0b6b3a764000060c954611a1690896133ea565b611a209190613401565b9350611a2c8484613423565b925086611a398486613436565b14611a70576040517f7fcce2a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b03821601611aca576040805160608101825233815260cc546001600160a01b03166020820152908101859052611ac4908290612515565b50611b42565b60cc54600090611ae49083906001600160a01b03166125ad565b6040805160608101825233815260cc546001600160a01b03166020820152908101879052909150611b16908390612515565b5060cc54600090611b319084906001600160a01b03166125ad565b9050611b3d8282613423565b955050505b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b03821601611ba357611b9d816040518060600160405280336001600160a01b03168152602001886001600160a01b0316815260200186815250612515565b50611c05565b6000611baf82876125ad565b9050611be7826040518060600160405280336001600160a01b03168152602001896001600160a01b0316815260200187815250612515565b506000611bf483886125ad565b9050611c008282613423565b945050505b6040517ff5b0dfb7000000000000000000000000000000000000000000000000000000008152600481018490526001600160a01b0386169063f5b0dfb790602401600060405180830381600087803b158015611c6057600080fd5b505af1158015611c74573d6000803e3d6000fd5b505060408051868152602081018890528993507fbf59838198f4ea92f663f5c1fc697f151a1b746b7dff86d564f250a55cbb485192500160405180910390a250505050505050565b6117f981336117ac565b638b78c6d81980546001600160a01b039092169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a355565b6040516bffffffffffffffffffffffff193360601b166020820152603481018290526000908190605401604051602081830303815290604052805190602001209050611d5084826125f6565b949350505050565b60cd546040517f5e8a7915000000000000000000000000000000000000000000000000000000008152600481018990523360248201526000916001600160a01b031690635e8a791590604401602060405180830381865afa158015611dc1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611de59190613449565b611e025760405163075fd2b160e01b815260040160405180910390fd5b60cb60008154611e11906133d1565b91829055506040519091508190600090611e599083906020019081527f61646d696e000000000000000000000000000000000000000000000000000000602082015260250190565b60408051601f19818403018152828252805160209182012060c0840183528d84526001600160a01b03808e168584019081528c8216868601908152606087018c8152608088018a905260a0880185905260008b815260cf87529690962087518155915160018301805491851673ffffffffffffffffffffffffffffffffffffffff1992831617905590516002830180549190941691161790915592518051600385019081559281015191955084939290916004840190611f1990826132e8565b5050506080820151600582015560a090910151600690910155611f3c8233611816565b611f468383612693565b6040517fedd146cc0000000000000000000000000000000000000000000000000000000081526001600160a01b038b169063edd146cc90611f8d9087908d9060040161346b565b600060405180830381600087803b158015611fa757600080fd5b505af1158015611fbb573d6000803e3d6000fd5b50505050838a6001600160a01b03166338fff2d06040518163ffffffff1660e01b8152600401602060405180830381865afa158015611ffe573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120229190613242565b1415806120a25750306001600160a01b03168a6001600160a01b03166315cc481e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612072573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612096919061320f565b6001600160a01b031614155b156120c05760405163636e39bb60e01b815260040160405180910390fd5b845160005b818110156121315760008782815181106120e1576120e161322c565b6020026020010151905060006001600160a01b0316816001600160a01b03160361211e5760405163538ba4f960e01b815260040160405180910390fd5b6121288682611816565b506001016120c5565b5060ca5415612234576001600160a01b03891673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee1480156121735750348860ca546121709190613436565b14155b806121a857506001600160a01b03891673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee148015906121a857503460ca5414155b156121c6576040516303e09bb960e31b815260040160405180910390fd5b60cc5460ca546121f79173eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee916001600160a01b0390911690611772565b847f02e340b51c6ae66fd22509c9b016f224c47a54063d4259fe3d860958e9eaac7260ca5460405161222b91815260200190565b60405180910390a25b87156122455761224588868d6119d8565b8b857f69bcb5a6cf6a3c95185cbb451e77787240c866dd2e8332597e3013ff18a1aba18d8c8c8c60405161227c9493929190613484565b60405180910390a350505050979650505050505050565b6001600160a01b0381166122ba5760405163538ba4f960e01b815260040160405180910390fd5b60cc805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0383169081179091556040519081527f7dae230f18360d76a040c81f050aa14eb9d6dc7901b20fc5d855e2a20fe814d190602001610943565b60ca8190556040518181527f803bee7e92bbc6ae7a1551f9f4ed3e31a8ea8df32e93332f41b0028f1091f9c390602001610943565b6001600160a01b0316638b78c6d8198190558060007f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a350565b670de0b6b3a76400008111156123c8576040517f2fb15b8700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60c98190556040518181527f9e826789de2de708fd9f09edea1182545e543893caa8ff71f8eb3aab50a4b06590602001610943565b600082815260cf60209081526040808320600601548352606582528083206001600160a01b038516845290915281205460ff16610dd6565b60008060008084865af1610e465763b12d13eb6000526004601cfd5b81601452806034526fa9059cbb00000000000000000000000060005260206000604460106000875af13d156001600051141716612496576390b8ec186000526004601cfd5b6000603452505050565b60008281526065602090815260408083206001600160a01b038516845290915290205460ff16610e46576124d3816126de565b6124de8360206126f0565b6040516020016124ef9291906134c0565b60408051601f198184030181529082905262461bcd60e51b8252610ee991600401613541565b604081015160009073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b0385160161258f578034101561257c576040517f74c5672b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61258a836020015182612435565b6125a3565b6125a38484600001518560200151846128d1565b5060019392505050565b600073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b038416016125e557506001600160a01b038116316108e8565b6125ef838361292e565b90506108e8565b6000763d602d80600a3d3981f3363d3d373d3d3d363d730000008360601b60e81c176000526e5af43d82803e903d91602b57fd5bf38360781b1760205281603760096000f590506001600160a01b0381166108e85760405162461bcd60e51b815260206004820152601760248201527f455243313136373a2063726561746532206661696c65640000000000000000006044820152606401610ee9565b600082815260656020526040808220600101805490849055905190918391839186917fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff9190a4505050565b60606108e86001600160a01b03831660145b606060006126ff8360026133ea565b61270a906002613436565b67ffffffffffffffff81111561272257612722612b2e565b6040519080825280601f01601f19166020018201604052801561274c576020820181803683370190505b5090507f3000000000000000000000000000000000000000000000000000000000000000816000815181106127835761278361322c565b60200101906001600160f81b031916908160001a9053507f7800000000000000000000000000000000000000000000000000000000000000816001815181106127ce576127ce61322c565b60200101906001600160f81b031916908160001a90535060006127f28460026133ea565b6127fd906001613436565b90505b6001811115612882577f303132333435363738396162636465660000000000000000000000000000000085600f166010811061283e5761283e61322c565b1a60f81b8282815181106128545761285461322c565b60200101906001600160f81b031916908160001a90535060049490941c9361287b81613554565b9050612800565b508315610dd65760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610ee9565b60405181606052826040528360601b602c526f23b872dd000000000000000000000000600c52602060006064601c6000895af13d15600160005114171661292057637939f4246000526004601cfd5b600060605260405250505050565b6000816014526f70a0823100000000000000000000000060005260208060246010865afa601f3d111660205102905092915050565b6040518060c001604052806000801916815260200160006001600160a01b0316815260200160006001600160a01b031681526020016129b5604051806040016040528060008152602001606081525090565b815260006020820181905260409091015290565b6000602082840312156129db57600080fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114610dd657600080fd5b6001600160a01b0381168114610caf57600080fd5b600060208284031215612a3257600080fd5b8135610dd681612a0b565b600060208284031215612a4f57600080fd5b5035919050565b60005b83811015612a71578181015183820152602001612a59565b50506000910152565b60008151808452612a92816020860160208601612a56565b601f01601f19169290920160200192915050565b805182526000602082015160406020850152611d506040850182612a7a565b6020815281516020820152600060208301516001600160a01b0380821660408501528060408601511660608501525050606083015160c06080840152612b0e60e0840182612aa6565b9050608084015160a084015260a084015160c08401528091505092915050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715612b6d57612b6d612b2e565b604052919050565b600067ffffffffffffffff831115612b8f57612b8f612b2e565b612ba2601f8401601f1916602001612b44565b9050828152838383011115612bb657600080fd5b828260208301376000602084830101529392505050565b600082601f830112612bde57600080fd5b610dd683833560208501612b75565b60008060408385031215612c0057600080fd5b82359150602083013567ffffffffffffffff811115612c1e57600080fd5b612c2a85828601612bcd565b9150509250929050565b600067ffffffffffffffff821115612c4e57612c4e612b2e565b5060051b60200190565b600082601f830112612c6957600080fd5b81356020612c7e612c7983612c34565b612b44565b82815260059290921b84018101918181019086841115612c9d57600080fd5b8286015b84811015612cdd57803567ffffffffffffffff811115612cc15760008081fd5b612ccf8986838b0101612bcd565b845250918301918301612ca1565b509695505050505050565b60008060408385031215612cfb57600080fd5b823567ffffffffffffffff80821115612d1357600080fd5b818501915085601f830112612d2757600080fd5b81356020612d37612c7983612c34565b82815260059290921b84018101918181019089841115612d5657600080fd5b948201945b83861015612d7457853582529482019490820190612d5b565b96505086013592505080821115612d8a57600080fd5b50612c2a85828601612c58565b600081518084526020808501945080840160005b83811015612dd05781516001600160a01b031687529582019590820190600101612dab565b509495945050505050565b602081526000610dd66020830184612d97565b60008060408385031215612e0157600080fd5b8235612e0c81612a0b565b91506020830135612e1c81612a0b565b809150509250929050565b60008060408385031215612e3a57600080fd5b823591506020830135612e1c81612a0b565b600082601f830112612e5d57600080fd5b81356020612e6d612c7983612c34565b82815260059290921b84018101918181019086841115612e8c57600080fd5b8286015b84811015612cdd578035612ea381612a0b565b8352918301918301612e90565b600080600060608486031215612ec557600080fd5b83359250602084013567ffffffffffffffff80821115612ee457600080fd5b612ef087838801612e4c565b93506040860135915080821115612f0657600080fd5b50612f1386828701612bcd565b9150509250925092565b60008060408385031215612f3057600080fd5b50508035926020909101359150565b600060408284031215612f5157600080fd5b6040516040810167ffffffffffffffff8282108183111715612f7557612f75612b2e565b81604052829350843583526020850135915080821115612f9457600080fd5b508301601f81018513612fa657600080fd5b612fb585823560208401612b75565b6020830152505092915050565b60008060408385031215612fd557600080fd5b82359150602083013567ffffffffffffffff811115612ff357600080fd5b612c2a85828601612f3f565b600080600080600080600060e0888a03121561301a57600080fd5b87359650602088013561302c81612a0b565b9550604088013567ffffffffffffffff8082111561304957600080fd5b6130558b838c01612bcd565b965060608a0135915061306782612a0b565b9094506080890135935060a0890135908082111561308457600080fd5b6130908b838c01612f3f565b935060c08a01359150808211156130a657600080fd5b506130b38a828b01612e4c565b91505092959891949750929550565b600080600080600060a086880312156130da57600080fd5b85356130e581612a0b565b945060208601356130f581612a0b565b9350604086013561310581612a0b565b94979396509394606081013594506080013592915050565b60008060006040848603121561313257600080fd5b833567ffffffffffffffff8082111561314a57600080fd5b818601915086601f83011261315e57600080fd5b81358181111561316d57600080fd5b8760208260051b850101111561318257600080fd5b60209283019550935090850135908082111561319d57600080fd5b50612f1386828701612c58565b600181811c908216806131be57607f821691505b6020821081036131de57634e487b7160e01b600052602260045260246000fd5b50919050565b6040815260006131f76040830185612a7a565b90506001600160a01b03831660208301529392505050565b60006020828403121561322157600080fd5b8151610dd681612a0b565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561325457600080fd5b5051919050565b60608152600061326e6060830186612d97565b82810360208401526132808186612a7a565b9150506001600160a01b0383166040830152949350505050565b601f821115610d7557600081815260208120601f850160051c810160208610156132c15750805b601f850160051c820191505b818110156132e0578281556001016132cd565b505050505050565b815167ffffffffffffffff81111561330257613302612b2e565b6133168161331084546131aa565b8461329a565b602080601f83116001811461334b57600084156133335750858301515b600019600386901b1c1916600185901b1785556132e0565b600085815260208120601f198616915b8281101561337a5788860151825594840194600190910190840161335b565b50858210156133985787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b602081526000610dd66020830184612aa6565b634e487b7160e01b600052601160045260246000fd5b6000600182016133e3576133e36133bb565b5060010190565b80820281158282048414176108e8576108e86133bb565b60008261341e57634e487b7160e01b600052601260045260246000fd5b500490565b818103818111156108e8576108e86133bb565b808201808211156108e8576108e86133bb565b60006020828403121561345b57600080fd5b81518015158114610dd657600080fd5b828152604060208201526000611d506040830184612a7a565b60006001600160a01b038087168352808616602084015250836040830152608060608301526134b66080830184612aa6565b9695505050505050565b7f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008152600083516134f8816017850160208801612a56565b7f206973206d697373696e6720726f6c65200000000000000000000000000000006017918401918201528351613535816028840160208801612a56565b01602801949350505050565b602081526000610dd66020830184612a7a565b600081613563576135636133bb565b50600019019056fea26469706673582212208ae3df3d8783ba2ce185230deb89d975493eef06196209958d18b3bb790de7cb64736f6c63430008130033","sourceMap":"5076:29047:0:-:0;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x6080604052600436106102e75760003560e01c80635f9ca13811610184578063ab2ec589116100d6578063e1007d4a1161008a578063f4e1fc4111610064578063f4e1fc41146107e7578063f54fc4a014610802578063fee81cf41461082257600080fd5b8063e1007d4a146107ae578063f04e283e146107c1578063f2fde38b146107d457600080fd5b8063c6dff1cf116100bb578063c6dff1cf14610735578063cfc0cc3414610755578063d547741f1461078e57600080fd5b8063ab2ec589146106f5578063ab3febc61461071557600080fd5b80638da5cb5b11610138578063a0cf0aea11610112578063a0cf0aea14610698578063a217fddf146106c0578063a6b63eb8146106d557600080fd5b80638da5cb5b146106195780638e6901861461063257806391d148541461065257600080fd5b806377da8caf1161016957806377da8caf146105c65780637f51bb1f146105d95780637f5a70bd146105f957600080fd5b80635f9ca1381461059e578063715018a6146105be57600080fd5b80632cf682b01161023d5780633b19e84a116101f157806354d1f13d116101cb57806354d1f13d146105655780635ab1bd531461056d5780635acd6fac1461058b57600080fd5b80633b19e84a1461051257806341bba0b4146105305780634edbaadc1461055057600080fd5b80632f2ff15d116102225780632f2ff15d146104b257806336568abe146104d25780633a5fbd92146104f257600080fd5b80632cf682b01461047f5780632ec381881461049f57600080fd5b80631a20bd881161029f57806324ae6a271161027957806324ae6a2714610437578063256929621461045757806329e40d4b1461045f57600080fd5b80631a20bd88146103ba5780631a5da6c8146103e7578063248a9ca31461040757600080fd5b8063068bcd8d116102d0578063068bcd8d14610343578063075c0e9c1461037057806315e812ad1461039b57600080fd5b806301ffc9a7146102ec578063031e2fa114610321575b600080fd5b3480156102f857600080fd5b5061030c6103073660046129c9565b610855565b60405190151581526020015b60405180910390f35b34801561032d57600080fd5b5061034161033c366004612a20565b6108ee565b005b34801561034f57600080fd5b5061036361035e366004612a3d565b61094e565b6040516103189190612ac5565b61038361037e366004612bed565b610a61565b6040516001600160a01b039091168152602001610318565b3480156103a757600080fd5b5060ca545b604051908152602001610318565b3480156103c657600080fd5b506103da6103d5366004612ce8565b610b17565b6040516103189190612ddb565b3480156103f357600080fd5b50610341610402366004612a20565b610c9e565b34801561041357600080fd5b506103ac610422366004612a3d565b60009081526065602052604090206001015490565b34801561044357600080fd5b50610341610452366004612dee565b610cb2565b610341610d7a565b34801561046b57600080fd5b5061030c61047a366004612e27565b610dca565b34801561048b57600080fd5b5061034161049a366004612e27565b610ddd565b6103416104ad366004612bed565b610e2a565b3480156104be57600080fd5b506103416104cd366004612e27565b610e4a565b3480156104de57600080fd5b506103416104ed366004612e27565b610e6f565b3480156104fe57600080fd5b5061034161050d366004612eb0565b610efc565b34801561051e57600080fd5b5060cc546001600160a01b0316610383565b34801561053c57600080fd5b5061034161054b366004612a20565b610f9d565b34801561055c57600080fd5b5060c9546103ac565b610341611020565b34801561057957600080fd5b5060cd546001600160a01b0316610383565b610341610599366004612f1d565b61105c565b3480156105aa57600080fd5b506103416105b9366004612fc2565b6111f3565b610341611270565b6103ac6105d4366004612fff565b611284565b3480156105e557600080fd5b506103416105f4366004612a20565b611333565b34801561060557600080fd5b50610341610614366004612e27565b611344565b34801561062557600080fd5b50638b78c6d81954610383565b34801561063e57600080fd5b5061034161064d366004612a3d565b61136a565b34801561065e57600080fd5b5061030c61066d366004612e27565b60009182526065602090815260408084206001600160a01b0393909316845291905290205460ff1690565b3480156106a457600080fd5b5061038373eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b3480156106cc57600080fd5b506103ac600081565b3480156106e157600080fd5b506103416106f03660046130c2565b61137b565b34801561070157600080fd5b5061030c610710366004612a20565b611499565b34801561072157600080fd5b5061030c610730366004612e27565b6114ba565b34801561074157600080fd5b5061034161075036600461311d565b6114c6565b34801561076157600080fd5b50610383610770366004612a3d565b600090815260cf60205260409020600101546001600160a01b031690565b34801561079a57600080fd5b506103416107a9366004612e27565b61154b565b6103ac6107bc366004612fff565b611570565b6103416107cf366004612a20565b611607565b6103416107e2366004612a20565b611644565b3480156107f357600080fd5b50670de0b6b3a76400006103ac565b34801561080e57600080fd5b5061034161081d366004612a3d565b61166b565b34801561082e57600080fd5b506103ac61083d366004612a20565b63389a75e1600c908152600091909152602090205490565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f7965db0b0000000000000000000000000000000000000000000000000000000014806108e857507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b6108f661167c565b6001600160a01b038116600081815260d06020908152604091829020805460ff1916905590519182527f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea491015b60405180910390a150565b610956612963565b600082815260cf6020908152604091829020825160c0810184528154815260018201546001600160a01b039081168285015260028301541681850152835180850190945260038201805485526004830180549295939460608701949390840191906109c0906131aa565b80601f01602080910402602001604051908101604052809291908181526020018280546109ec906131aa565b8015610a395780601f10610a0e57610100808354040283529160200191610a39565b820191906000526020600020905b815481529060010190602001808311610a1c57829003601f168201915b5050505050815250508152602001600582015481526020016006820154815250509050919050565b6000610a6b611697565b600083815260cf6020526040908190206001015490517f2bbe0cae0000000000000000000000000000000000000000000000000000000081526001600160a01b0390911690632bbe0cae903490610ac890869033906004016131e4565b60206040518083038185885af1158015610ae6573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610b0b919061320f565b90506108e86001609755565b6060610b21611697565b82518067ffffffffffffffff811115610b3c57610b3c612b2e565b604051908082528060200260200182016040528015610b65578160200160208202803683370190505b50915082518114610b895760405163636e39bb60e01b815260040160405180910390fd5b60005b81811015610c925760cf6000868381518110610baa57610baa61322c565b6020026020010151815260200190815260200160002060010160009054906101000a90046001600160a01b03166001600160a01b0316632bbe0cae858381518110610bf757610bf761322c565b6020026020010151336040518363ffffffff1660e01b8152600401610c1d9291906131e4565b6020604051808303816000875af1158015610c3c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c60919061320f565b838281518110610c7257610c7261322c565b6001600160a01b0390921660209283029190910190910152600101610b8c565b50506108e86001609755565b610ca661167c565b610caf816116f0565b50565b610cba61167c565b60006001600160a01b03831673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee14610d66576040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b038416906370a0823190602401602060405180830381865afa158015610d3d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d619190613242565b610d68565b475b9050610d75838383611772565b505050565b60006202a30067ffffffffffffffff164201905063389a75e1600c5233600052806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d600080a250565b6000610dd683836117ac565b9392505050565b81610de7816117ef565b6001600160a01b038216610e0e5760405163538ba4f960e01b815260040160405180910390fd5b600083815260cf6020526040902060050154610d759083611816565b610e32611697565b610e3c82826118b8565b610e466001609755565b5050565b600082815260656020526040902060010154610e658161194b565b610d758383611816565b6001600160a01b0381163314610ef25760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201527f20726f6c657320666f722073656c66000000000000000000000000000000000060648201526084015b60405180910390fd5b610e468282611955565b610f04611697565b600083815260cf6020526040908190206001015490517f0a6f0ee90000000000000000000000000000000000000000000000000000000081526001600160a01b0390911690630a6f0ee990610f619085908590339060040161325b565b600060405180830381600087803b158015610f7b57600080fd5b505af1158015610f8f573d6000803e3d6000fd5b50505050610d756001609755565b610fa561167c565b6001600160a01b038116610fcc5760405163538ba4f960e01b815260040160405180910390fd5b6001600160a01b038116600081815260d06020908152604091829020805460ff1916600117905590519182527f960dd94cbb79169f09a4e445d58b895df2d9bffa5b31055d0932d801724a20d19101610943565b63389a75e1600c523360005260006020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c92600080a2565b611064611697565b80600003611085576040516303e09bb960e31b815260040160405180910390fd5b600082815260cf60209081526040808320815160c0810183528154815260018201546001600160a01b03908116828601526002830154168184015282518084019093526003820180548452600483018054929593946060870194909390840191906110ef906131aa565b80601f016020809104026020016040519081016040528092919081815260200182805461111b906131aa565b80156111685780601f1061113d57610100808354040283529160200191611168565b820191906000526020600020905b81548152906001019060200180831161114b57829003601f168201915b505050919092525050508152600582015460208201526006909101546040918201528101519091506001600160a01b031673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee1480156111bb5750348214155b156111d9576040516303e09bb960e31b815260040160405180910390fd5b6111e8828483602001516119d8565b50610e466001609755565b816111fd81611cbc565b600083815260cf602090815260409091208351600382019081559184015190918491600484019061122e90826132e8565b50905050837f14f52b76bda9e4c482842cefda2968d332933577988f224e80aae18fba10edf08460405161126291906133a8565b60405180910390a250505050565b61127861167c565b6112826000611cc6565b565b600061128e611697565b6001600160a01b038716600090815260d0602052604090205460ff166112e0576040517f9369923800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b33600090815260ce60205260408120805461131c928b92611312928c92909190611309836133d1565b91905055611d04565b8888888888611d58565b90506113286001609755565b979650505050505050565b61133b61167c565b610caf81612293565b8161134e816117ef565b600083815260cf6020526040902060050154610d759083611955565b61137261167c565b610caf81612315565b600054600190610100900460ff1615801561139d575060005460ff8083169116105b61140f5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610ee9565b6000805461ffff191660ff83161761010017905561142c8661234a565b611435856116f0565b61143e84612293565b61144783612386565b61145082612315565b6000805461ff001916905560405160ff821681527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a1505050505050565b6001600160a01b038116600090815260d0602052604081205460ff166108e8565b6000610dd683836123fd565b6114ce611697565b8051829081146114f15760405163636e39bb60e01b815260040160405180910390fd5b60005b8181101561153f576115378585838181106115115761151161322c565b9050602002013584838151811061152a5761152a61322c565b60200260200101516118b8565b6001016114f4565b5050610d756001609755565b6000828152606560205260409020600101546115668161194b565b610d758383611955565b60006001600160a01b0387166115995760405163538ba4f960e01b815260040160405180910390fd5b6001600160a01b038716600090815260d0602052604090205460ff16156115ec576040517feeffa72100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6115fb88888888888888611d58565b98975050505050505050565b61160f61167c565b63389a75e1600c52806000526020600c20805442111561163757636f5e88186000526004601cfd5b60009055610caf81611cc6565b61164c61167c565b8060601b61166257637448fbae6000526004601cfd5b610caf81611cc6565b61167361167c565b610caf81612386565b638b78c6d819543314611282576382b429006000526004601cfd5b6002609754036116e95760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610ee9565b6002609755565b6001600160a01b0381166117175760405163538ba4f960e01b815260040160405180910390fd5b60cd805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0383169081179091556040519081527fd6ceddf6d2a22f21c7c81675c518004eff43bc5c8a6fc32a0b748e69d58671cd90602001610943565b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b038416016117a157610d758282612435565b610d75838383612451565b600082815260cf60209081526040808320600501548352606582528083206001600160a01b038516845290915281205460ff1680610dd65750610dd683836123fd565b6117f981336123fd565b610caf5760405163075fd2b160e01b815260040160405180910390fd5b60008281526065602090815260408083206001600160a01b038516845290915290205460ff16610e465760008281526065602090815260408083206001600160a01b03851684529091529020805460ff191660011790556118743390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b600082815260cf6020526040908190206001015490517fef2920fc0000000000000000000000000000000000000000000000000000000081526001600160a01b039091169063ef2920fc90349061191590859033906004016131e4565b6000604051808303818588803b15801561192e57600080fd5b505af1158015611942573d6000803e3d6000fd5b50505050505050565b610caf81336124a0565b60008281526065602090815260408083206001600160a01b038516845290915290205460ff1615610e465760008281526065602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b600082815260cf60205260408120600281015460c9548692916001600160a01b03169015611b4257670de0b6b3a764000060c954611a1690896133ea565b611a209190613401565b9350611a2c8484613423565b925086611a398486613436565b14611a70576040517f7fcce2a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b03821601611aca576040805160608101825233815260cc546001600160a01b03166020820152908101859052611ac4908290612515565b50611b42565b60cc54600090611ae49083906001600160a01b03166125ad565b6040805160608101825233815260cc546001600160a01b03166020820152908101879052909150611b16908390612515565b5060cc54600090611b319084906001600160a01b03166125ad565b9050611b3d8282613423565b955050505b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b03821601611ba357611b9d816040518060600160405280336001600160a01b03168152602001886001600160a01b0316815260200186815250612515565b50611c05565b6000611baf82876125ad565b9050611be7826040518060600160405280336001600160a01b03168152602001896001600160a01b0316815260200187815250612515565b506000611bf483886125ad565b9050611c008282613423565b945050505b6040517ff5b0dfb7000000000000000000000000000000000000000000000000000000008152600481018490526001600160a01b0386169063f5b0dfb790602401600060405180830381600087803b158015611c6057600080fd5b505af1158015611c74573d6000803e3d6000fd5b505060408051868152602081018890528993507fbf59838198f4ea92f663f5c1fc697f151a1b746b7dff86d564f250a55cbb485192500160405180910390a250505050505050565b6117f981336117ac565b638b78c6d81980546001600160a01b039092169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a355565b6040516bffffffffffffffffffffffff193360601b166020820152603481018290526000908190605401604051602081830303815290604052805190602001209050611d5084826125f6565b949350505050565b60cd546040517f5e8a7915000000000000000000000000000000000000000000000000000000008152600481018990523360248201526000916001600160a01b031690635e8a791590604401602060405180830381865afa158015611dc1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611de59190613449565b611e025760405163075fd2b160e01b815260040160405180910390fd5b60cb60008154611e11906133d1565b91829055506040519091508190600090611e599083906020019081527f61646d696e000000000000000000000000000000000000000000000000000000602082015260250190565b60408051601f19818403018152828252805160209182012060c0840183528d84526001600160a01b03808e168584019081528c8216868601908152606087018c8152608088018a905260a0880185905260008b815260cf87529690962087518155915160018301805491851673ffffffffffffffffffffffffffffffffffffffff1992831617905590516002830180549190941691161790915592518051600385019081559281015191955084939290916004840190611f1990826132e8565b5050506080820151600582015560a090910151600690910155611f3c8233611816565b611f468383612693565b6040517fedd146cc0000000000000000000000000000000000000000000000000000000081526001600160a01b038b169063edd146cc90611f8d9087908d9060040161346b565b600060405180830381600087803b158015611fa757600080fd5b505af1158015611fbb573d6000803e3d6000fd5b50505050838a6001600160a01b03166338fff2d06040518163ffffffff1660e01b8152600401602060405180830381865afa158015611ffe573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120229190613242565b1415806120a25750306001600160a01b03168a6001600160a01b03166315cc481e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612072573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612096919061320f565b6001600160a01b031614155b156120c05760405163636e39bb60e01b815260040160405180910390fd5b845160005b818110156121315760008782815181106120e1576120e161322c565b6020026020010151905060006001600160a01b0316816001600160a01b03160361211e5760405163538ba4f960e01b815260040160405180910390fd5b6121288682611816565b506001016120c5565b5060ca5415612234576001600160a01b03891673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee1480156121735750348860ca546121709190613436565b14155b806121a857506001600160a01b03891673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee148015906121a857503460ca5414155b156121c6576040516303e09bb960e31b815260040160405180910390fd5b60cc5460ca546121f79173eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee916001600160a01b0390911690611772565b847f02e340b51c6ae66fd22509c9b016f224c47a54063d4259fe3d860958e9eaac7260ca5460405161222b91815260200190565b60405180910390a25b87156122455761224588868d6119d8565b8b857f69bcb5a6cf6a3c95185cbb451e77787240c866dd2e8332597e3013ff18a1aba18d8c8c8c60405161227c9493929190613484565b60405180910390a350505050979650505050505050565b6001600160a01b0381166122ba5760405163538ba4f960e01b815260040160405180910390fd5b60cc805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0383169081179091556040519081527f7dae230f18360d76a040c81f050aa14eb9d6dc7901b20fc5d855e2a20fe814d190602001610943565b60ca8190556040518181527f803bee7e92bbc6ae7a1551f9f4ed3e31a8ea8df32e93332f41b0028f1091f9c390602001610943565b6001600160a01b0316638b78c6d8198190558060007f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a350565b670de0b6b3a76400008111156123c8576040517f2fb15b8700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60c98190556040518181527f9e826789de2de708fd9f09edea1182545e543893caa8ff71f8eb3aab50a4b06590602001610943565b600082815260cf60209081526040808320600601548352606582528083206001600160a01b038516845290915281205460ff16610dd6565b60008060008084865af1610e465763b12d13eb6000526004601cfd5b81601452806034526fa9059cbb00000000000000000000000060005260206000604460106000875af13d156001600051141716612496576390b8ec186000526004601cfd5b6000603452505050565b60008281526065602090815260408083206001600160a01b038516845290915290205460ff16610e46576124d3816126de565b6124de8360206126f0565b6040516020016124ef9291906134c0565b60408051601f198184030181529082905262461bcd60e51b8252610ee991600401613541565b604081015160009073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b0385160161258f578034101561257c576040517f74c5672b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61258a836020015182612435565b6125a3565b6125a38484600001518560200151846128d1565b5060019392505050565b600073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b038416016125e557506001600160a01b038116316108e8565b6125ef838361292e565b90506108e8565b6000763d602d80600a3d3981f3363d3d373d3d3d363d730000008360601b60e81c176000526e5af43d82803e903d91602b57fd5bf38360781b1760205281603760096000f590506001600160a01b0381166108e85760405162461bcd60e51b815260206004820152601760248201527f455243313136373a2063726561746532206661696c65640000000000000000006044820152606401610ee9565b600082815260656020526040808220600101805490849055905190918391839186917fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff9190a4505050565b60606108e86001600160a01b03831660145b606060006126ff8360026133ea565b61270a906002613436565b67ffffffffffffffff81111561272257612722612b2e565b6040519080825280601f01601f19166020018201604052801561274c576020820181803683370190505b5090507f3000000000000000000000000000000000000000000000000000000000000000816000815181106127835761278361322c565b60200101906001600160f81b031916908160001a9053507f7800000000000000000000000000000000000000000000000000000000000000816001815181106127ce576127ce61322c565b60200101906001600160f81b031916908160001a90535060006127f28460026133ea565b6127fd906001613436565b90505b6001811115612882577f303132333435363738396162636465660000000000000000000000000000000085600f166010811061283e5761283e61322c565b1a60f81b8282815181106128545761285461322c565b60200101906001600160f81b031916908160001a90535060049490941c9361287b81613554565b9050612800565b508315610dd65760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610ee9565b60405181606052826040528360601b602c526f23b872dd000000000000000000000000600c52602060006064601c6000895af13d15600160005114171661292057637939f4246000526004601cfd5b600060605260405250505050565b6000816014526f70a0823100000000000000000000000060005260208060246010865afa601f3d111660205102905092915050565b6040518060c001604052806000801916815260200160006001600160a01b0316815260200160006001600160a01b031681526020016129b5604051806040016040528060008152602001606081525090565b815260006020820181905260409091015290565b6000602082840312156129db57600080fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114610dd657600080fd5b6001600160a01b0381168114610caf57600080fd5b600060208284031215612a3257600080fd5b8135610dd681612a0b565b600060208284031215612a4f57600080fd5b5035919050565b60005b83811015612a71578181015183820152602001612a59565b50506000910152565b60008151808452612a92816020860160208601612a56565b601f01601f19169290920160200192915050565b805182526000602082015160406020850152611d506040850182612a7a565b6020815281516020820152600060208301516001600160a01b0380821660408501528060408601511660608501525050606083015160c06080840152612b0e60e0840182612aa6565b9050608084015160a084015260a084015160c08401528091505092915050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715612b6d57612b6d612b2e565b604052919050565b600067ffffffffffffffff831115612b8f57612b8f612b2e565b612ba2601f8401601f1916602001612b44565b9050828152838383011115612bb657600080fd5b828260208301376000602084830101529392505050565b600082601f830112612bde57600080fd5b610dd683833560208501612b75565b60008060408385031215612c0057600080fd5b82359150602083013567ffffffffffffffff811115612c1e57600080fd5b612c2a85828601612bcd565b9150509250929050565b600067ffffffffffffffff821115612c4e57612c4e612b2e565b5060051b60200190565b600082601f830112612c6957600080fd5b81356020612c7e612c7983612c34565b612b44565b82815260059290921b84018101918181019086841115612c9d57600080fd5b8286015b84811015612cdd57803567ffffffffffffffff811115612cc15760008081fd5b612ccf8986838b0101612bcd565b845250918301918301612ca1565b509695505050505050565b60008060408385031215612cfb57600080fd5b823567ffffffffffffffff80821115612d1357600080fd5b818501915085601f830112612d2757600080fd5b81356020612d37612c7983612c34565b82815260059290921b84018101918181019089841115612d5657600080fd5b948201945b83861015612d7457853582529482019490820190612d5b565b96505086013592505080821115612d8a57600080fd5b50612c2a85828601612c58565b600081518084526020808501945080840160005b83811015612dd05781516001600160a01b031687529582019590820190600101612dab565b509495945050505050565b602081526000610dd66020830184612d97565b60008060408385031215612e0157600080fd5b8235612e0c81612a0b565b91506020830135612e1c81612a0b565b809150509250929050565b60008060408385031215612e3a57600080fd5b823591506020830135612e1c81612a0b565b600082601f830112612e5d57600080fd5b81356020612e6d612c7983612c34565b82815260059290921b84018101918181019086841115612e8c57600080fd5b8286015b84811015612cdd578035612ea381612a0b565b8352918301918301612e90565b600080600060608486031215612ec557600080fd5b83359250602084013567ffffffffffffffff80821115612ee457600080fd5b612ef087838801612e4c565b93506040860135915080821115612f0657600080fd5b50612f1386828701612bcd565b9150509250925092565b60008060408385031215612f3057600080fd5b50508035926020909101359150565b600060408284031215612f5157600080fd5b6040516040810167ffffffffffffffff8282108183111715612f7557612f75612b2e565b81604052829350843583526020850135915080821115612f9457600080fd5b508301601f81018513612fa657600080fd5b612fb585823560208401612b75565b6020830152505092915050565b60008060408385031215612fd557600080fd5b82359150602083013567ffffffffffffffff811115612ff357600080fd5b612c2a85828601612f3f565b600080600080600080600060e0888a03121561301a57600080fd5b87359650602088013561302c81612a0b565b9550604088013567ffffffffffffffff8082111561304957600080fd5b6130558b838c01612bcd565b965060608a0135915061306782612a0b565b9094506080890135935060a0890135908082111561308457600080fd5b6130908b838c01612f3f565b935060c08a01359150808211156130a657600080fd5b506130b38a828b01612e4c565b91505092959891949750929550565b600080600080600060a086880312156130da57600080fd5b85356130e581612a0b565b945060208601356130f581612a0b565b9350604086013561310581612a0b565b94979396509394606081013594506080013592915050565b60008060006040848603121561313257600080fd5b833567ffffffffffffffff8082111561314a57600080fd5b818601915086601f83011261315e57600080fd5b81358181111561316d57600080fd5b8760208260051b850101111561318257600080fd5b60209283019550935090850135908082111561319d57600080fd5b50612f1386828701612c58565b600181811c908216806131be57607f821691505b6020821081036131de57634e487b7160e01b600052602260045260246000fd5b50919050565b6040815260006131f76040830185612a7a565b90506001600160a01b03831660208301529392505050565b60006020828403121561322157600080fd5b8151610dd681612a0b565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561325457600080fd5b5051919050565b60608152600061326e6060830186612d97565b82810360208401526132808186612a7a565b9150506001600160a01b0383166040830152949350505050565b601f821115610d7557600081815260208120601f850160051c810160208610156132c15750805b601f850160051c820191505b818110156132e0578281556001016132cd565b505050505050565b815167ffffffffffffffff81111561330257613302612b2e565b6133168161331084546131aa565b8461329a565b602080601f83116001811461334b57600084156133335750858301515b600019600386901b1c1916600185901b1785556132e0565b600085815260208120601f198616915b8281101561337a5788860151825594840194600190910190840161335b565b50858210156133985787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b602081526000610dd66020830184612aa6565b634e487b7160e01b600052601160045260246000fd5b6000600182016133e3576133e36133bb565b5060010190565b80820281158282048414176108e8576108e86133bb565b60008261341e57634e487b7160e01b600052601260045260246000fd5b500490565b818103818111156108e8576108e86133bb565b808201808211156108e8576108e86133bb565b60006020828403121561345b57600080fd5b81518015158114610dd657600080fd5b828152604060208201526000611d506040830184612a7a565b60006001600160a01b038087168352808616602084015250836040830152608060608301526134b66080830184612aa6565b9695505050505050565b7f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008152600083516134f8816017850160208801612a56565b7f206973206d697373696e6720726f6c65200000000000000000000000000000006017918401918201528351613535816028840160208801612a56565b01602801949350505050565b602081526000610dd66020830184612a7a565b600081613563576135636133bb565b50600019019056fea26469706673582212208ae3df3d8783ba2ce185230deb89d975493eef06196209958d18b3bb790de7cb64736f6c63430008130033","sourceMap":"5076:29047:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3050:213:44;;;;;;;;;;-1:-1:-1;3050:213:44;;;;;:::i;:::-;;:::i;:::-;;;516:14:151;;509:22;491:41;;479:2;464:18;3050:213:44;;;;;;;;14900:288:0;;;;;;;;;;-1:-1:-1;14900:288:0;;;;;:::i;:::-;;:::i;:::-;;34013:108;;;;;;;;;;-1:-1:-1;34013:108:0;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;17298:276::-;;;;;;:::i;:::-;;:::i;:::-;;;-1:-1:-1;;;;;4391:55:151;;;4373:74;;4361:2;4346:18;17298:276:0;4227:226:151;33140:85:0;;;;;;;;;;-1:-1:-1;33211:7:0;;33140:85;;;4604:25:151;;;4592:2;4577:18;33140:85:0;4458:177:151;18212:747:0;;;;;;;;;;-1:-1:-1;18212:747:0;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;13330:105::-;;;;;;;;;;-1:-1:-1;13330:105:0;;;;;:::i;:::-;;:::i;4855:129:44:-;;;;;;;;;;-1:-1:-1;4855:129:44;;;;;:::i;:::-;4929:7;4955:12;;;:6;:12;;;;;:22;;;;4855:129;16308:430:0;;;;;;;;;;-1:-1:-1;16308:430:0;;;;;:::i;:::-;;:::i;7331:617:12:-;;;:::i;32476:144:0:-;;;;;;;;;;-1:-1:-1;32476:144:0;;;;;:::i;:::-;;:::i;15387:358::-;;;;;;;;;;-1:-1:-1;15387:358:0;;;;;:::i;:::-;;:::i;19921:127::-;;;;;;:::i;:::-;;:::i;5280:145:44:-;;;;;;;;;;-1:-1:-1;5280:145:44;;;;;:::i;:::-;;:::i;6389:214::-;;;;;;;;;;-1:-1:-1;6389:214:44;;;;;:::i;:::-;;:::i;21468:196:0:-;;;;;;;;;;-1:-1:-1;21468:196:0;;;;;:::i;:::-;;:::i;33313:95::-;;;;;;;;;;-1:-1:-1;33393:8:0;;-1:-1:-1;;;;;33393:8:0;33313:95;;14481:229;;;;;;;;;;-1:-1:-1;14481:229:0;;;;;:::i;:::-;;:::i;32977:91::-;;;;;;;;;;-1:-1:-1;33051:10:0;;32977:91;;8030:456:12;;;:::i;33488:89:0:-;;;;;;;;;;-1:-1:-1;33562:8:0;;-1:-1:-1;;;;;33562:8:0;33488:89;;19156:439;;;;;;:::i;:::-;;:::i;12894:247::-;;;;;;;;;;-1:-1:-1;12894:247:0;;;;;:::i;:::-;;:::i;7072:100:12:-;;;:::i;11971:701:0:-;;;;;;:::i;:::-;;:::i;13624:113::-;;;;;;;;;;-1:-1:-1;13624:113:0;;;;;:::i;:::-;;:::i;15950:160::-;;;;;;;;;;-1:-1:-1;15950:160:0;;;;;:::i;:::-;;:::i;9718:191:12:-;;;;;;;;;;-1:-1:-1;;;9866:27:12;9718:191;;14188:101:0;;;;;;;;;;-1:-1:-1;14188:101:0;;;;;:::i;:::-;;:::i;3350:145:44:-;;;;;;;;;;-1:-1:-1;3350:145:44;;;;;:::i;:::-;3436:4;3459:12;;;:6;:12;;;;;;;;-1:-1:-1;;;;;3459:29:44;;;;;;;;;;;;;;;3350:145;4412:75:9;;;;;;;;;;;;4445:42;4412:75;;2320:49:44;;;;;;;;;;-1:-1:-1;2320:49:44;2365:4;2320:49;;7626:593:0;;;;;;;;;;-1:-1:-1;7626:593:0;;;;;:::i;:::-;;:::i;33760:132::-;;;;;;;;;;-1:-1:-1;33760:132:0;;;;;:::i;:::-;;:::i;32112:140::-;;;;;;;;;;-1:-1:-1;32112:140:0;;;;;:::i;:::-;;:::i;20511:559::-;;;;;;;;;;-1:-1:-1;20511:559:0;;;;;:::i;:::-;;:::i;32753:126::-;;;;;;;;;;-1:-1:-1;32753:126:0;;;;;:::i;:::-;32814:7;32848:14;;;:5;:14;;;;;:23;;;-1:-1:-1;;;;;32848:23:0;;32753:126;5705:147:44;;;;;;;;;;-1:-1:-1;5705:147:44;;;;;:::i;:::-;;:::i;10281:884:0:-;;;;;;:::i;:::-;;:::i;8673:708:12:-;;;;;;:::i;:::-;;:::i;6658:349::-;;;;;;:::i;:::-;;:::i;31788:103:0:-;;;;;;;;;;-1:-1:-1;31880:4:0;31788:103;;13911:113;;;;;;;;;;-1:-1:-1;13911:113:0;;;;;:::i;:::-;;:::i;10012:435:12:-;;;;;;;;;;-1:-1:-1;10012:435:12;;;;;:::i;:::-;10282:19;10276:4;10269:33;;;10131:14;10315:26;;;;10425:4;10409:21;;10403:28;;10012:435;3050:213:44;3135:4;3158:58;;;3173:43;3158:58;;:98;;-1:-1:-1;1204:36:54;1189:51;;;;3220:36:44;3151:105;3050:213;-1:-1:-1;;3050:213:44:o;14900:288:0:-;10836:13:12;:11;:13::i;:::-;-1:-1:-1;;;;;15059:30:0;::::1;15092:5;15059:30:::0;;;:19:::1;:30;::::0;;;;;;;;:38;;-1:-1:-1;;15059:38:0::1;::::0;;15155:26;;4373:74:151;;;15155:26:0::1;::::0;4346:18:151;15155:26:0::1;;;;;;;;14900:288:::0;:::o;34013:108::-;34070:11;;:::i;:::-;34100:14;;;;:5;:14;;;;;;;;;34093:21;;;;;;;;;;;;;;;-1:-1:-1;;;;;34093:21:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;34100:14;;34093:21;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;34013:108;;;:::o;17298:276::-;17401:7;2526:21:49;:19;:21::i;:::-;17489:14:0::1;::::0;;;:5:::1;:14;::::0;;;;;;:23:::1;;::::0;:78;;;;;-1:-1:-1;;;;;17489:23:0;;::::1;::::0;:41:::1;::::0;17538:9:::1;::::0;17489:78:::1;::::0;17549:5;;17556:10:::1;::::0;17489:78:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;17482:85;;2568:20:49::0;1808:1;3074:7;:22;2894:209;18212:747:0;18348:29;2526:21:49;:19;:21::i;:::-;18416:15:0;;;18456:27:::1;::::0;::::1;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;-1:-1:-1;18456:27:0::1;;18441:42;;18514:5;:12;18498;:28;18494:51;;18535:10;;-1:-1:-1::0;;;18535:10:0::1;;;;;;;;;;;18494:51;18663:9;18658:204;18678:12;18674:1;:16;18658:204;;;18725:5;:18;18731:8;18740:1;18731:11;;;;;;;;:::i;:::-;;;;;;;18725:18;;;;;;;;;;;:27;;;;;;;;;;-1:-1:-1::0;;;;;18725:27:0::1;-1:-1:-1::0;;;;;18725:45:0::1;;18771:5;18777:1;18771:8;;;;;;;;:::i;:::-;;;;;;;18781:10;18725:67;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;18707:12;18720:1;18707:15;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;18707:85:0;;::::1;:15;::::0;;::::1;::::0;;;;;;;:85;18834:3:::1;;18658:204;;;;18933:19;2568:20:49::0;1808:1;3074:7;:22;2894:209;13330:105:0;10836:13:12;:11;:13::i;:::-;13402:26:0::1;13418:9;13402:15;:26::i;:::-;13330:105:::0;:::o;16308:430::-;10836:13:12;:11;:13::i;:::-;16506:14:0::1;-1:-1:-1::0;;;;;16523:16:0;::::1;4445:42:9;16523:16:0;:93;;16566:50;::::0;;;;16610:4:::1;16566:50;::::0;::::1;4373:74:151::0;-1:-1:-1;;;;;16566:35:0;::::1;::::0;::::1;::::0;4346:18:151;;16566:50:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;16523:93;;;16542:21;16523:93;16506:110;;16688:43;16704:6;16712:10;16724:6;16688:15;:43::i;:::-;16385:353;16308:430:::0;;:::o;7331:617:12:-;7424:15;6282:9;7442:46;;:15;:46;7424:64;;7656:19;7650:4;7643:33;7706:8;7700:4;7693:22;7762:7;7755:4;7749;7739:21;7732:38;7909:8;7862:45;7859:1;7856;7851:67;7558:374;7331:617::o;32476:144:0:-;32557:4;32580:33;32595:7;32604:8;32580:14;:33::i;:::-;32573:40;32476:144;-1:-1:-1;;;32476:144:0:o;15387:358::-;15469:7;8837:28;8857:7;8837:19;:28::i;:::-;-1:-1:-1;;;;;15568:22:0;::::1;15564:49;;15599:14;;-1:-1:-1::0;;;15599:14:0::1;;;;;;;;;;;15564:49;15701:14;::::0;;;:5:::1;:14;::::0;;;;:26:::1;;::::0;15690:48:::1;::::0;15729:8;15690:10:::1;:48::i;19921:127::-:0;2526:21:49;:19;:21::i;:::-;20016:25:0::1;20026:7;20035:5;20016:9;:25::i;:::-;2568:20:49::0;1808:1;3074:7;:22;2894:209;2568:20;19921:127:0;;:::o;5280:145:44:-;4929:7;4955:12;;;:6;:12;;;;;:22;;;2798:16;2809:4;2798:10;:16::i;:::-;5393:25:::1;5404:4;5410:7;5393:10;:25::i;6389:214::-:0;-1:-1:-1;;;;;6484:23:44;;965:10:52;6484:23:44;6476:83;;;;-1:-1:-1;;;6476:83:44;;16949:2:151;6476:83:44;;;16931:21:151;16988:2;16968:18;;;16961:30;17027:34;17007:18;;;17000:62;17098:17;17078:18;;;17071:45;17133:19;;6476:83:44;;;;;;;;;6570:26;6582:4;6588:7;6570:11;:26::i;21468:196:0:-;2526:21:49;:19;:21::i;:::-;21589:14:0::1;::::0;;;:5:::1;:14;::::0;;;;;;:23:::1;;::::0;:68;;;;;-1:-1:-1;;;;;21589:23:0;;::::1;::::0;:34:::1;::::0;:68:::1;::::0;21624:13;;21639:5;;21646:10:::1;::::0;21589:68:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;2568:20:49::0;1808:1;3074:7;:22;2894:209;14481:229:0;10836:13:12;:11;:13::i;:::-;-1:-1:-1;;;;;14567:23:0;::::1;14563:50;;14599:14;;-1:-1:-1::0;;;14599:14:0::1;;;;;;;;;;;14563:50;-1:-1:-1::0;;;;;14624:30:0;::::1;;::::0;;;:19:::1;:30;::::0;;;;;;;;:37;;-1:-1:-1;;14624:37:0::1;14657:4;14624:37;::::0;;14676:27;;4373:74:151;;;14676:27:0::1;::::0;4346:18:151;14676:27:0::1;4227:226:151::0;8030:456:12;8232:19;8226:4;8219:33;8278:8;8272:4;8265:22;8330:1;8323:4;8317;8307:21;8300:32;8461:8;8415:44;8412:1;8409;8404:66;8030:456::o;19156:439:0:-;2526:21:49;:19;:21::i;:::-;19318:7:0::1;19329:1;19318:12:::0;19314:43:::1;;19339:18;;-1:-1:-1::0;;;19339:18:0::1;;;;;;;;;;;19314:43;19368:16;19387:14:::0;;;:5:::1;:14;::::0;;;;;;;19368:33;;::::1;::::0;::::1;::::0;;;;;;::::1;::::0;::::1;::::0;-1:-1:-1;;;;;19368:33:0;;::::1;::::0;;::::1;::::0;::::1;::::0;::::1;::::0;::::1;::::0;;;;;;;;::::1;::::0;;;::::1;::::0;::::1;::::0;;;;;;;;;;;19387:14;;19368:33;;;;;;;;::::1;::::0;;::::1;::::0;::::1;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;;19368:33:0;;;;-1:-1:-1;;;19368:33:0;;::::1;::::0;::::1;::::0;::::1;::::0;::::1;::::0;::::1;::::0;;::::1;::::0;;;;;;19415:10;::::1;::::0;19368:33;;-1:-1:-1;;;;;;19415:20:0::1;4445:42:9;19415:20:0;:44:::0;::::1;;;;19450:9;19439:7;:20;;19415:44;19411:75;;;19468:18;;-1:-1:-1::0;;;19468:18:0::1;;;;;;;;;;;19411:75;19546:42;19556:7;19565;19574:4;:13;;;19546:9;:42::i;:::-;19238:357;2568:20:49::0;1808:1;3074:7;:22;2894:209;12894:247:0;12991:7;8625:30;8647:7;8625:21;:30::i;:::-;13010:17:::1;13030:14:::0;;;:5:::1;:14;::::0;;;;;;;13054:25;;:13:::1;::::0;::::1;:25:::0;;;;;::::1;::::0;13030:14;;13070:9;;13054:25;;;;::::1;::::0;;::::1;:::i;:::-;;;;;13115:7;13095:39;13124:9;13095:39;;;;;;:::i;:::-;;;;;;;;13000:141;12894:247:::0;;;:::o;7072:100:12:-;10836:13;:11;:13::i;:::-;7144:21:::1;7162:1;7144:9;:21::i;:::-;7072:100::o:0;11971:701:0:-;12251:14;2526:21:49;:19;:21::i;:::-;-1:-1:-1;;;;;28993:30:0;;28970:4;28993:30;;;:19;:30;;;;;;;;12277:93:::1;;12336:23;;;;;;;;;;;;;;12277:93;12522:10;12514:19;::::0;;;:7:::1;:19;::::0;;;;:21;;12426:239:::1;::::0;12451:10;;12485:51:::1;::::0;12503:9;;12514:21;;:19;:21:::1;::::0;::::1;:::i;:::-;;;;;12485:17;:51::i;:::-;12551:17;12582:6;12602:7;12623:9;12646;12426:11;:239::i;:::-;12419:246;;2568:20:49::0;1808:1;3074:7;:22;2894:209;2568:20;11971:701:0;;;;;;;;;:::o;13624:113::-;10836:13:12;:11;:13::i;:::-;13704:26:0::1;13720:9;13704:15;:26::i;15950:160::-:0;16035:7;8837:28;8857:7;8837:19;:28::i;:::-;16066:14:::1;::::0;;;:5:::1;:14;::::0;;;;:26:::1;;::::0;16054:49:::1;::::0;16094:8;16054:11:::1;:49::i;14188:101::-:0;10836:13:12;:11;:13::i;:::-;14258:24:0::1;14273:8;14258:14;:24::i;7626:593::-:0;4882:13:48;;7816:1:0;;4882:13:48;;;;;4881:14;:40;;;;-1:-1:-1;4899:12:48;;:22;;;;:12;;:22;4881:40;4873:99;;;;-1:-1:-1;;;4873:99:48;;20711:2:151;4873:99:48;;;20693:21:151;20750:2;20730:18;;;20723:30;20789:34;20769:18;;;20762:62;20860:16;20840:18;;;20833:44;20894:19;;4873:99:48;20509:410:151;4873:99:48;4982:12;:22;;-1:-1:-1;;5014:20:48;4982:22;;;5014:20;4982:22;5014:20;;;7890:24:0::1;7907:6:::0;7890:16:::1;:24::i;:::-;7968:26;7984:9;7968:15;:26::i;:::-;8048;8064:9;8048:15;:26::i;:::-;8119:30;8137:11;8119:17;:30::i;:::-;8188:24;8203:8;8188:14;:24::i;:::-;5071:5:48::0;5055:21;;-1:-1:-1;;5055:21:48;;;5091:20;;21096:4:151;21084:17;;21066:36;;5091:20:48;;21054:2:151;21039:18;5091:20:48;;;;;;;7626:593:0;;;;;;:::o;33760:132::-;-1:-1:-1;;;;;28993:30:0;;33831:4;28993:30;;;:19;:30;;;;;;;;33854:31;28898:132;32112:140;32191:4;32214:31;32227:7;32236:8;32214:12;:31::i;20511:559::-;2526:21:49;:19;:21::i;:::-;20784:13:0;;20637:8;;20772:25;::::1;20768:48;;20806:10;;-1:-1:-1::0;;;20806:10:0::1;;;;;;;;;;;20768:48;20921:9;20916:148;20936:8;20932:1;:12;20916:148;;;20961:33;20971:8;;20980:1;20971:11;;;;;;;:::i;:::-;;;;;;;20984:6;20991:1;20984:9;;;;;;;;:::i;:::-;;;;;;;20961;:33::i;:::-;21036:3;;20916:148;;;;20608:462;2568:20:49::0;1808:1;3074:7;:22;2894:209;5705:147:44;4929:7;4955:12;;;:6;:12;;;;;:22;;;2798:16;2809:4;2798:10;:16::i;:::-;5819:26:::1;5831:4;5837:7;5819:11;:26::i;10281:884:0:-:0;10566:14;-1:-1:-1;;;;;10687:23:0;;10683:50;;10719:14;;-1:-1:-1;;;10719:14:0;;;;;;;;;;;10683:50;-1:-1:-1;;;;;28993:30:0;;28970:4;28993:30;;;:19;:30;;;;;;;;10894:66;;;10938:22;;;;;;;;;;;;;;10894:66;11055:103;11067:10;11089:9;11101:17;11120:6;11128:7;11137:9;11148;11055:11;:103::i;:::-;11048:110;10281:884;-1:-1:-1;;;;;;;;10281:884:0:o;8673:708:12:-;10836:13;:11;:13::i;:::-;8907:19:::1;8901:4;8894:33;8953:12;8947:4;8940:26;9015:4;9009;8999:21;9121:12;9115:19;9102:11;9099:36;9096:157;;;9167:10;9161:4;9154:24;9234:4;9228;9221:18;9096:157;9330:1;9309:23:::0;;9351::::1;9361:12:::0;9351:9:::1;:23::i;6658:349::-:0;10836:13;:11;:13::i;:::-;6830:8:::1;6826:2;6822:17;6812:150;;6872:10;6866:4;6859:24;6943:4;6937;6930:18;6812:150;6981:19;6991:8;6981:9;:19::i;13911:113:0:-:0;10836:13:12;:11;:13::i;:::-;13987:30:0::1;14005:11;13987:17;:30::i;5593:364:12:-:0;-1:-1:-1;;5799:27:12;5789:8;5786:41;5776:165;;5860:10;5854:4;5847:24;5922:4;5916;5909:18;2601:287:49;1851:1;2733:7;;:19;2725:63;;;;-1:-1:-1;;;2725:63:49;;21315:2:151;2725:63:49;;;21297:21:151;21354:2;21334:18;;;21327:30;21393:33;21373:18;;;21366:61;21444:18;;2725:63:49;21113:355:151;2725:63:49;1851:1;2863:7;:18;2601:287::o;30226:203:0:-;-1:-1:-1;;;;;30293:23:0;;30289:50;;30325:14;;-1:-1:-1;;;30325:14:0;;;;;;;;;;;30289:50;30350:8;:31;;-1:-1:-1;;30350:31:0;-1:-1:-1;;;;;30350:31:0;;;;;;;;30396:26;;4373:74:151;;;30396:26:0;;4361:2:151;4346:18;30396:26:0;4227:226:151;6721:269:10;-1:-1:-1;;;;;;;6815:16:10;;;6811:173;;6847:45;6879:3;6884:7;6847:31;:45::i;6811:173::-;6923:50;6952:6;6960:3;6965:7;6923:28;:50::i;29821:192:0:-;29903:4;29934:14;;;:5;:14;;;;;;;;:26;;;3459:12:44;;:6;:12;;;;;-1:-1:-1;;;;;3459:29:44;;;;;;;;;;;;29926:80:0;;;;29975:31;29988:7;29997:8;29975:12;:31::i;22160:138::-;22235:33;22248:7;22257:10;22235:12;:33::i;:::-;22230:61;;22277:14;;-1:-1:-1;;;22277:14:0;;;;;;;;;;;7938:233:44;3436:4;3459:12;;;:6;:12;;;;;;;;-1:-1:-1;;;;;3459:29:44;;;;;;;;;;;;8016:149;;8059:12;;;;:6;:12;;;;;;;;-1:-1:-1;;;;;8059:29:44;;;;;;;;;:36;;-1:-1:-1;;8059:36:44;8091:4;8059:36;;;8141:12;965:10:52;;886:96;8141:12:44;-1:-1:-1;;;;;8114:40:44;8132:7;-1:-1:-1;;;;;8114:40:44;8126:4;8114:40;;;;;;;;;;7938:233;;:::o;26159:151:0:-;26234:14;;;;:5;:14;;;;;;;:23;;;:69;;;;;-1:-1:-1;;;;;26234:23:0;;;;:32;;26274:9;;26234:69;;26285:5;;26292:10;;26234:69;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;26159:151;;:::o;3789:103:44:-;3855:30;3866:4;965:10:52;3855::44;:30::i;8342:234::-;3436:4;3459:12;;;:6;:12;;;;;;;;-1:-1:-1;;;;;3459:29:44;;;;;;;;;;;;8421:149;;;8495:5;8463:12;;;:6;:12;;;;;;;;-1:-1:-1;;;;;8463:29:44;;;;;;;;;;:37;;-1:-1:-1;;8463:37:44;;;8519:40;965:10:52;;8463:12:44;;8519:40;;8495:5;8519:40;8342:234;;:::o;26634:1879:0:-;26727:17;26817:14;;;:5;:14;;;;;26858:10;;;;26883;;26779:7;;26817:14;-1:-1:-1;;;;;26858:10:0;;26883:14;26879:808;;31880:4;26936:10;;26926:20;;:7;:20;:::i;:::-;26925:44;;;;:::i;:::-;26913:56;-1:-1:-1;26983:27:0;26913:56;26983:27;;:::i;:::-;;-1:-1:-1;27059:7:0;27029:26;26983:27;27029:9;:26;:::i;:::-;:37;27025:59;;27075:9;;;;;;;;;;;;;;27025:59;-1:-1:-1;;;;;;;27103:16:0;;;27099:578;;27167:65;;;;;;;;27187:10;27167:65;;27203:8;;-1:-1:-1;;;;;27203:8:0;27167:65;;;;;;;;;;27139:94;;27159:6;;27139:19;:94::i;:::-;;27099:578;;;27319:8;;27272:24;;27299:29;;27311:6;;-1:-1:-1;;;;;27319:8:0;27299:11;:29::i;:::-;27374:65;;;;;;;;27394:10;27374:65;;27410:8;;-1:-1:-1;;;;;27410:8:0;27374:65;;;;;;;;;;27272:56;;-1:-1:-1;27346:94:0;;27366:6;;27346:19;:94::i;:::-;-1:-1:-1;27504:8:0;;27458:23;;27484:29;;27496:6;;-1:-1:-1;;;;;27504:8:0;27484:11;:29::i;:::-;27458:55;-1:-1:-1;27628:34:0;27646:16;27458:55;27628:34;:::i;:::-;27616:46;;27254:423;;27099:578;-1:-1:-1;;;;;;;27701:16:0;;;27697:693;;27733:139;27770:6;27778:80;;;;;;;;27798:10;-1:-1:-1;;;;;27778:80:0;;;;;27822:9;-1:-1:-1;;;;;27778:80:0;;;;;27842:14;27778:80;;;27733:19;:139::i;:::-;;27697:693;;;27903:32;27938:39;27950:6;27966:9;27938:11;:39::i;:::-;27903:74;;27991:139;28028:6;28036:80;;;;;;;;28056:10;-1:-1:-1;;;;;28036:80:0;;;;;28080:9;-1:-1:-1;;;;;28036:80:0;;;;;28100:14;28036:80;;;27991:19;:139::i;:::-;;28144:31;28178:39;28190:6;28206:9;28178:11;:39::i;:::-;28144:73;-1:-1:-1;28329:50:0;28355:24;28144:73;28329:50;:::i;:::-;28312:67;;27889:501;;27697:693;28400:44;;;;;;;;4604:25:151;;;-1:-1:-1;;;;;28400:28:0;;;;;4577:18:151;;28400:44:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;28460:46:0;;;22362:25:151;;;22418:2;22403:18;;22396:34;;;28471:7:0;;-1:-1:-1;28460:46:0;;-1:-1:-1;22335:18:151;28460:46:0;;;;;;;26717:1796;;;;26634:1879;;;:::o;21910:142::-;21987:35;22002:7;22011:10;21987:14;:35::i;5040:495:12:-;-1:-1:-1;;5416:16:12;;-1:-1:-1;;;;;5272:26:12;;;;;;5376:38;5373:1;;5365:78;5492:27;5040:495::o;4749:279:6:-;4867:36;;-1:-1:-1;;4884:10:6;22618:2:151;22614:15;22610:53;4867:36:6;;;22598:66:151;22680:12;;;22673:28;;;4823:7:6;;;;22717:12:151;;4867:36:6;;;;;;;;;;;;4857:47;;;;;;4842:62;;4968:53;5005:9;5016:4;4968:36;:53::i;:::-;4961:60;4749:279;-1:-1:-1;;;;4749:279:6:o;23131:2681:0:-;23424:8;;:57;;;;;;;;22914:25:151;;;23470:10:0;22955:18:151;;;22948:83;23393:14:0;;-1:-1:-1;;;;;23424:8:0;;:33;;22887:18:151;;23424:57:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;23419:85;;23490:14;;-1:-1:-1;;;23490:14:0;;;;;;;;;;;23419:85;23526:10;;23524:12;;;;;:::i;:::-;;;;;-1:-1:-1;23764:33:0;;23524:12;;-1:-1:-1;23524:12:0;;23675:25;;23764:33;;23524:12;;23764:33;;23554:19:151;;;23603:7;23598:2;23589:12;;23582:29;23636:2;23627:12;;23324:321;23764:33:0;;;;-1:-1:-1;;23764:33:0;;;;;;;;;23754:44;;23764:33;23754:44;;;;23864:228;;;;;;;;-1:-1:-1;;;;;23864:228:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23845:16;24159:13;;;:5;:13;;;;;;:20;;;;;;;;;;;;;;-1:-1:-1;;24159:20:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23754:44;;-1:-1:-1;23764:33:0;;24159:13;:20;;;;;;;;;;:::i;:::-;-1:-1:-1;;;24159:20:0;;;;;;;;;;;;;;;;;;24239:39;24250:15;24267:10;24239;:39::i;:::-;24337:49;24351:17;24370:15;24337:13;:49::i;:::-;24541:47;;;;;-1:-1:-1;;;;;24541:20:0;;;;;:47;;24562:6;;24570:17;;24541:47;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;24628:6;24603:9;-1:-1:-1;;;;;24603:19:0;;:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:31;;:80;;;;24678:4;-1:-1:-1;;;;;24638:45:0;24646:9;-1:-1:-1;;;;;24646:17:0;;:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;24638:45:0;;;24603:80;24599:103;;;24692:10;;-1:-1:-1;;;24692:10:0;;;;;;;;;;;24599:103;24775:16;;24750:22;24801:266;24821:14;24817:1;:18;24801:266;;;24852:15;24870:9;24880:1;24870:12;;;;;;;;:::i;:::-;;;;;;;24852:30;;24919:1;-1:-1:-1;;;;;24900:21:0;:7;-1:-1:-1;;;;;24900:21:0;;24896:48;;24930:14;;-1:-1:-1;;;24930:14:0;;;;;;;;;;;24896:48;24959:38;24970:17;24989:7;24959:10;:38::i;:::-;-1:-1:-1;25039:3:0;;24801:266;;;-1:-1:-1;25081:7:0;;:11;25077:554;;-1:-1:-1;;;;;25359:16:0;;4445:42:9;25359:16:0;:52;;;;;25401:9;25390:7;25380;;:17;;;;:::i;:::-;:30;;25359:52;25358:100;;;-1:-1:-1;;;;;;25417:16:0;;4445:42:9;25417:16:0;;;;:40;;;25448:9;25437:7;;:20;;25417:40;25354:164;;;25485:18;;-1:-1:-1;;;25485:18:0;;;;;;;;;;;25354:164;25555:8;;25565:7;;25531:42;;4445::9;;-1:-1:-1;;;;;25555:8:0;;;;25531:15;:42::i;:::-;25604:6;25592:28;25612:7;;25592:28;;;;4604:25:151;;4592:2;4577:18;;4458:177;25592:28:0;;;;;;;;25077:554;25645:11;;25641:79;;25672:37;25682:7;25691:6;25699:9;25672;:37::i;:::-;25755:10;25747:6;25735:70;25767:9;25778:6;25786:7;25795:9;25735:70;;;;;;;;;:::i;:::-;;;;;;;;23409:2403;;;;23131:2681;;;;;;;;;:::o;30642:199::-;-1:-1:-1;;;;;30717:23:0;;30713:50;;30749:14;;-1:-1:-1;;;30749:14:0;;;;;;;;;;;30713:50;30774:8;:20;;-1:-1:-1;;30774:20:0;-1:-1:-1;;;;;30774:20:0;;;;;;;;30809:25;;4373:74:151;;;30809:25:0;;4361:2:151;4346:18;30809:25:0;4227:226:151;31426:125:0;31487:7;:18;;;31521:23;;4604:25:151;;;31521:23:0;;4592:2:151;4577:18;31521:23:0;4458:177:151;4520:448:12;-1:-1:-1;;;;;4709:26:12;-1:-1:-1;;4784:38:12;;;4709:26;4940:1;4900:38;4940:1;;4889:63;4520:448;:::o;31041:198:0:-;31126:4;31112:11;:18;31108:44;;;31139:13;;;;;;;;;;;;;;31108:44;31163:10;:24;;;31203:29;;4604:25:151;;;31203:29:0;;4592:2:151;4577:18;31203:29:0;4458:177:151;29346:153:0;29426:4;29457:14;;;:5;:14;;;;;;;;:24;;;3459:12:44;;:6;:12;;;;;-1:-1:-1;;;;;3459:29:44;;;;;;;;;;;;29449:43:0;3350:145:44;2455:490:14;2711:4;2705;2699;2693;2685:6;2681:2;2674:5;2669:47;2659:270;;2822:10;2816:4;2809:24;2910:4;2904;2897:18;11454:1189;11617:2;11611:4;11604:16;11674:6;11668:4;11661:20;11814:34;11808:4;11801:48;12272:4;12266;12260;12254;12251:1;12244:5;12237;12232:45;12192:16;12185:24;12181:1;12174:4;12168:11;12165:18;12162:48;11890:405;11863:655;;12411:10;12405:4;12398:24;12499:4;12493;12486:18;11863:655;12625:1;12619:4;12612:15;11454:1189;;;:::o;4173:501:44:-;3436:4;3459:12;;;:6;:12;;;;;;;;-1:-1:-1;;;;;3459:29:44;;;;;;;;;;;;4256:412;;4444:39;4475:7;4444:30;:39::i;:::-;4554:49;4593:4;4600:2;4554:30;:49::i;:::-;4351:274;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;4351:274:44;;;;;;;;;;-1:-1:-1;;;4299:358:44;;;;;;;:::i;6019:500:10:-;6150:20;;;;6117:4;;-1:-1:-1;;;;;;;6184:16:10;;;6180:312;;6260:6;6248:9;:18;6244:48;;;6275:17;;;;;;;;;;;;;;6244:48;6307:57;6339:13;:16;;;6357:6;6307:31;:57::i;:::-;6180:312;;;6395:86;6428:6;6436:13;:18;;;6456:13;:16;;;6474:6;6395:32;:86::i;:::-;-1:-1:-1;6508:4:10;;6019:500;-1:-1:-1;;;6019:500:10:o;7224:263::-;7302:7;-1:-1:-1;;;;;;;7325:16:10;;;7321:160;;-1:-1:-1;;;;;;7364:25:10;;;7357:32;;7321:160;7427:43;7453:6;7461:8;7427:25;:43::i;:::-;7420:50;;;;2118:828:47;2202:16;2472:48;2412:14;2406:4;2402:25;2371:4;2367:82;2343:178;2320:4;2296:235;2681:32;2664:14;2658:4;2654:25;2651:63;2645:4;2638:77;2857:4;2851;2845;2842:1;2834:28;2822:40;-1:-1:-1;;;;;;2889:22:47;;2881:58;;;;-1:-1:-1;;;2881:58:47;;26275:2:151;2881:58:47;;;26257:21:151;26314:2;26294:18;;;26287:30;26353:25;26333:18;;;26326:53;26396:18;;2881:58:47;26073:347:151;7523:247:44;7606:25;4955:12;;;:6;:12;;;;;;:22;;;;7662:34;;;;7711:52;;4955:22;;7662:34;;4955:22;;:12;;7711:52;;7606:25;7711:52;7596:174;7523:247;;:::o;2473:149:53:-;2531:13;2563:52;-1:-1:-1;;;;;2575:22:53;;376:2;1884:437;1959:13;1984:19;2016:10;2020:6;2016:1;:10;:::i;:::-;:14;;2029:1;2016:14;:::i;:::-;2006:25;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2006:25:53;;1984:47;;2041:15;:6;2048:1;2041:9;;;;;;;;:::i;:::-;;;;:15;-1:-1:-1;;;;;2041:15:53;;;;;;;;;2066;:6;2073:1;2066:9;;;;;;;;:::i;:::-;;;;:15;-1:-1:-1;;;;;2066:15:53;;;;;;;;-1:-1:-1;2096:9:53;2108:10;2112:6;2108:1;:10;:::i;:::-;:14;;2121:1;2108:14;:::i;:::-;2096:26;;2091:128;2128:1;2124;:5;2091:128;;;2162:8;2171:5;2179:3;2171:11;2162:21;;;;;;;:::i;:::-;;;;2150:6;2157:1;2150:9;;;;;;;;:::i;:::-;;;;:33;-1:-1:-1;;;;;2150:33:53;;;;;;;;-1:-1:-1;2207:1:53;2197:11;;;;;2131:3;;;:::i;:::-;;;2091:128;;;-1:-1:-1;2236:10:53;;2228:55;;;;-1:-1:-1;;;2228:55:53;;26768:2:151;2228:55:53;;;26750:21:151;;;26787:18;;;26780:30;26846:34;26826:18;;;26819:62;26898:18;;2228:55:53;26566:356:151;7671:1379:14;7854:4;7848:11;7920:6;7914:4;7907:20;7985:2;7979:4;7972:16;8050:4;8046:2;8042:13;8036:4;8029:27;8199:34;8193:4;8186:48;8657:4;8651;8645;8639;8636:1;8629:5;8622;8617:45;8577:16;8570:24;8566:1;8559:4;8553:11;8550:18;8547:48;8275:405;8248:659;;8800:10;8794:4;8787:24;8888:4;8882;8875:18;8248:659;8934:1;8928:4;8921:15;8990:4;8983:15;-1:-1:-1;;;;7671:1379:14:o;18299:722::-;18373:14;18478:7;18472:4;18465:21;18613:34;18607:4;18600:48;18960:4;18954;18948;18942;18935:5;18928;18917:48;18855:4;18837:16;18834:26;18745:242;18718:4;18712:11;18687:318;18661:344;;18299:722;;;;:::o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;14:332:151:-;72:6;125:2;113:9;104:7;100:23;96:32;93:52;;;141:1;138;131:12;93:52;180:9;167:23;230:66;223:5;219:78;212:5;209:89;199:117;;312:1;309;302:12;543:154;-1:-1:-1;;;;;622:5:151;618:54;611:5;608:65;598:93;;687:1;684;677:12;702:247;761:6;814:2;802:9;793:7;789:23;785:32;782:52;;;830:1;827;820:12;782:52;869:9;856:23;888:31;913:5;888:31;:::i;954:180::-;1013:6;1066:2;1054:9;1045:7;1041:23;1037:32;1034:52;;;1082:1;1079;1072:12;1034:52;-1:-1:-1;1105:23:151;;954:180;-1:-1:-1;954:180:151:o;1139:250::-;1224:1;1234:113;1248:6;1245:1;1242:13;1234:113;;;1324:11;;;1318:18;1305:11;;;1298:39;1270:2;1263:10;1234:113;;;-1:-1:-1;;1381:1:151;1363:16;;1356:27;1139:250::o;1394:271::-;1436:3;1474:5;1468:12;1501:6;1496:3;1489:19;1517:76;1586:6;1579:4;1574:3;1570:14;1563:4;1556:5;1552:16;1517:76;:::i;:::-;1647:2;1626:15;-1:-1:-1;;1622:29:151;1613:39;;;;1654:4;1609:50;;1394:271;-1:-1:-1;;1394:271:151:o;1670:252::-;1757:5;1751:12;1746:3;1739:25;1721:3;1810:4;1803:5;1799:16;1793:23;1848:4;1841;1836:3;1832:14;1825:28;1869:47;1910:4;1905:3;1901:14;1887:12;1869:47;:::i;1927:797::-;2100:2;2089:9;2082:21;2145:6;2139:13;2134:2;2123:9;2119:18;2112:41;2063:4;2200:2;2192:6;2188:15;2182:22;-1:-1:-1;;;;;2319:2:151;2305:12;2301:21;2296:2;2285:9;2281:18;2274:49;2387:2;2381;2373:6;2369:15;2363:22;2359:31;2354:2;2343:9;2339:18;2332:59;;;2440:2;2432:6;2428:15;2422:22;2481:4;2475:3;2464:9;2460:19;2453:33;2509:63;2567:3;2556:9;2552:19;2536:14;2509:63;:::i;:::-;2495:77;;2627:3;2619:6;2615:16;2609:23;2603:3;2592:9;2588:19;2581:52;2689:3;2681:6;2677:16;2671:23;2664:4;2653:9;2649:20;2642:53;2712:6;2704:14;;;1927:797;;;;:::o;2729:184::-;-1:-1:-1;;;2778:1:151;2771:88;2878:4;2875:1;2868:15;2902:4;2899:1;2892:15;2918:275;2989:2;2983:9;3054:2;3035:13;;-1:-1:-1;;3031:27:151;3019:40;;3089:18;3074:34;;3110:22;;;3071:62;3068:88;;;3136:18;;:::i;:::-;3172:2;3165:22;2918:275;;-1:-1:-1;2918:275:151:o;3198:406::-;3262:5;3296:18;3288:6;3285:30;3282:56;;;3318:18;;:::i;:::-;3356:57;3401:2;3380:15;;-1:-1:-1;;3376:29:151;3407:4;3372:40;3356:57;:::i;:::-;3347:66;;3436:6;3429:5;3422:21;3476:3;3467:6;3462:3;3458:16;3455:25;3452:45;;;3493:1;3490;3483:12;3452:45;3542:6;3537:3;3530:4;3523:5;3519:16;3506:43;3596:1;3589:4;3580:6;3573:5;3569:18;3565:29;3558:40;3198:406;;;;;:::o;3609:220::-;3651:5;3704:3;3697:4;3689:6;3685:17;3681:27;3671:55;;3722:1;3719;3712:12;3671:55;3744:79;3819:3;3810:6;3797:20;3790:4;3782:6;3778:17;3744:79;:::i;3834:388::-;3911:6;3919;3972:2;3960:9;3951:7;3947:23;3943:32;3940:52;;;3988:1;3985;3978:12;3940:52;4024:9;4011:23;4001:33;;4085:2;4074:9;4070:18;4057:32;4112:18;4104:6;4101:30;4098:50;;;4144:1;4141;4134:12;4098:50;4167:49;4208:7;4199:6;4188:9;4184:22;4167:49;:::i;:::-;4157:59;;;3834:388;;;;;:::o;4640:183::-;4700:4;4733:18;4725:6;4722:30;4719:56;;;4755:18;;:::i;:::-;-1:-1:-1;4800:1:151;4796:14;4812:4;4792:25;;4640:183::o;4828:886::-;4880:5;4933:3;4926:4;4918:6;4914:17;4910:27;4900:55;;4951:1;4948;4941:12;4900:55;4987:6;4974:20;5013:4;5037:60;5053:43;5093:2;5053:43;:::i;:::-;5037:60;:::i;:::-;5131:15;;;5217:1;5213:10;;;;5201:23;;5197:32;;;5162:12;;;;5241:15;;;5238:35;;;5269:1;5266;5259:12;5238:35;5305:2;5297:6;5293:15;5317:368;5333:6;5328:3;5325:15;5317:368;;;5419:3;5406:17;5455:18;5442:11;5439:35;5436:125;;;5515:1;5544:2;5540;5533:14;5436:125;5586:56;5638:3;5633:2;5619:11;5611:6;5607:24;5603:33;5586:56;:::i;:::-;5574:69;;-1:-1:-1;5663:12:151;;;;5350;;5317:368;;;-1:-1:-1;5703:5:151;4828:886;-1:-1:-1;;;;;;4828:886:151:o;5719:1147::-;5846:6;5854;5907:2;5895:9;5886:7;5882:23;5878:32;5875:52;;;5923:1;5920;5913:12;5875:52;5963:9;5950:23;5992:18;6033:2;6025:6;6022:14;6019:34;;;6049:1;6046;6039:12;6019:34;6087:6;6076:9;6072:22;6062:32;;6132:7;6125:4;6121:2;6117:13;6113:27;6103:55;;6154:1;6151;6144:12;6103:55;6190:2;6177:16;6212:4;6236:60;6252:43;6292:2;6252:43;:::i;6236:60::-;6330:15;;;6412:1;6408:10;;;;6400:19;;6396:28;;;6361:12;;;;6436:19;;;6433:39;;;6468:1;6465;6458:12;6433:39;6492:11;;;;6512:142;6528:6;6523:3;6520:15;6512:142;;;6594:17;;6582:30;;6545:12;;;;6632;;;;6512:142;;;6673:5;-1:-1:-1;;6716:18:151;;6703:32;;-1:-1:-1;;6747:16:151;;;6744:36;;;6776:1;6773;6766:12;6744:36;;6799:61;6852:7;6841:8;6830:9;6826:24;6799:61;:::i;6871:484::-;6924:3;6962:5;6956:12;6989:6;6984:3;6977:19;7015:4;7044:2;7039:3;7035:12;7028:19;;7081:2;7074:5;7070:14;7102:1;7112:218;7126:6;7123:1;7120:13;7112:218;;;7191:13;;-1:-1:-1;;;;;7187:62:151;7175:75;;7270:12;;;;7305:15;;;;7148:1;7141:9;7112:218;;;-1:-1:-1;7346:3:151;;6871:484;-1:-1:-1;;;;;6871:484:151:o;7360:261::-;7539:2;7528:9;7521:21;7502:4;7559:56;7611:2;7600:9;7596:18;7588:6;7559:56;:::i;7993:388::-;8061:6;8069;8122:2;8110:9;8101:7;8097:23;8093:32;8090:52;;;8138:1;8135;8128:12;8090:52;8177:9;8164:23;8196:31;8221:5;8196:31;:::i;:::-;8246:5;-1:-1:-1;8303:2:151;8288:18;;8275:32;8316:33;8275:32;8316:33;:::i;:::-;8368:7;8358:17;;;7993:388;;;;;:::o;8386:315::-;8454:6;8462;8515:2;8503:9;8494:7;8490:23;8486:32;8483:52;;;8531:1;8528;8521:12;8483:52;8567:9;8554:23;8544:33;;8627:2;8616:9;8612:18;8599:32;8640:31;8665:5;8640:31;:::i;9026:737::-;9080:5;9133:3;9126:4;9118:6;9114:17;9110:27;9100:55;;9151:1;9148;9141:12;9100:55;9187:6;9174:20;9213:4;9237:60;9253:43;9293:2;9253:43;:::i;9237:60::-;9331:15;;;9417:1;9413:10;;;;9401:23;;9397:32;;;9362:12;;;;9441:15;;;9438:35;;;9469:1;9466;9459:12;9438:35;9505:2;9497:6;9493:15;9517:217;9533:6;9528:3;9525:15;9517:217;;;9613:3;9600:17;9630:31;9655:5;9630:31;:::i;:::-;9674:18;;9712:12;;;;9550;;9517:217;;9768:635;9879:6;9887;9895;9948:2;9936:9;9927:7;9923:23;9919:32;9916:52;;;9964:1;9961;9954:12;9916:52;10000:9;9987:23;9977:33;;10061:2;10050:9;10046:18;10033:32;10084:18;10125:2;10117:6;10114:14;10111:34;;;10141:1;10138;10131:12;10111:34;10164:61;10217:7;10208:6;10197:9;10193:22;10164:61;:::i;:::-;10154:71;;10278:2;10267:9;10263:18;10250:32;10234:48;;10307:2;10297:8;10294:16;10291:36;;;10323:1;10320;10313:12;10291:36;;10346:51;10389:7;10378:8;10367:9;10363:24;10346:51;:::i;:::-;10336:61;;;9768:635;;;;;:::o;10904:248::-;10972:6;10980;11033:2;11021:9;11012:7;11008:23;11004:32;11001:52;;;11049:1;11046;11039:12;11001:52;-1:-1:-1;;11072:23:151;;;11142:2;11127:18;;;11114:32;;-1:-1:-1;10904:248:151:o;11157:734::-;11212:5;11260:4;11248:9;11243:3;11239:19;11235:30;11232:50;;;11278:1;11275;11268:12;11232:50;11311:4;11305:11;11355:4;11347:6;11343:17;11379:18;11447:6;11435:10;11432:22;11427:2;11415:10;11412:18;11409:46;11406:72;;;11458:18;;:::i;:::-;11500:10;11494:4;11487:24;11529:6;11520:15;;11572:9;11559:23;11551:6;11544:39;11634:2;11623:9;11619:18;11606:32;11592:46;;11661:2;11653:6;11650:14;11647:34;;;11677:1;11674;11667:12;11647:34;-1:-1:-1;11700:22:151;;11753:4;11745:13;;11741:23;-1:-1:-1;11731:51:151;;11778:1;11775;11768:12;11731:51;11815:69;11880:3;11875:2;11862:16;11857:2;11853;11849:11;11815:69;:::i;:::-;11810:2;11802:6;11798:15;11791:94;;;11157:734;;;;:::o;11896:415::-;11990:6;11998;12051:2;12039:9;12030:7;12026:23;12022:32;12019:52;;;12067:1;12064;12057:12;12019:52;12103:9;12090:23;12080:33;;12164:2;12153:9;12149:18;12136:32;12191:18;12183:6;12180:30;12177:50;;;12223:1;12220;12213:12;12177:50;12246:59;12297:7;12288:6;12277:9;12273:22;12246:59;:::i;12316:1208::-;12489:6;12497;12505;12513;12521;12529;12537;12590:3;12578:9;12569:7;12565:23;12561:33;12558:53;;;12607:1;12604;12597:12;12558:53;12643:9;12630:23;12620:33;;12703:2;12692:9;12688:18;12675:32;12716:31;12741:5;12716:31;:::i;:::-;12766:5;-1:-1:-1;12822:2:151;12807:18;;12794:32;12845:18;12875:14;;;12872:34;;;12902:1;12899;12892:12;12872:34;12925:49;12966:7;12957:6;12946:9;12942:22;12925:49;:::i;:::-;12915:59;;13026:2;13015:9;13011:18;12998:32;12983:47;;13039:33;13064:7;13039:33;:::i;:::-;13091:7;;-1:-1:-1;13145:3:151;13130:19;;13117:33;;-1:-1:-1;13203:3:151;13188:19;;13175:33;;13220:16;;;13217:36;;;13249:1;13246;13239:12;13217:36;13272:61;13325:7;13314:8;13303:9;13299:24;13272:61;:::i;:::-;13262:71;;13386:3;13375:9;13371:19;13358:33;13342:49;;13416:2;13406:8;13403:16;13400:36;;;13432:1;13429;13422:12;13400:36;;13455:63;13510:7;13499:8;13488:9;13484:24;13455:63;:::i;:::-;13445:73;;;12316:1208;;;;;;;;;;:::o;13789:675::-;13892:6;13900;13908;13916;13924;13977:3;13965:9;13956:7;13952:23;13948:33;13945:53;;;13994:1;13991;13984:12;13945:53;14033:9;14020:23;14052:31;14077:5;14052:31;:::i;:::-;14102:5;-1:-1:-1;14159:2:151;14144:18;;14131:32;14172:33;14131:32;14172:33;:::i;:::-;14224:7;-1:-1:-1;14283:2:151;14268:18;;14255:32;14296:33;14255:32;14296:33;:::i;:::-;13789:675;;;;-1:-1:-1;14348:7:151;;14402:2;14387:18;;14374:32;;-1:-1:-1;14453:3:151;14438:19;14425:33;;13789:675;-1:-1:-1;;13789:675:151:o;14469:854::-;14598:6;14606;14614;14667:2;14655:9;14646:7;14642:23;14638:32;14635:52;;;14683:1;14680;14673:12;14635:52;14723:9;14710:23;14752:18;14793:2;14785:6;14782:14;14779:34;;;14809:1;14806;14799:12;14779:34;14847:6;14836:9;14832:22;14822:32;;14892:7;14885:4;14881:2;14877:13;14873:27;14863:55;;14914:1;14911;14904:12;14863:55;14954:2;14941:16;14980:2;14972:6;14969:14;14966:34;;;14996:1;14993;14986:12;14966:34;15051:7;15044:4;15034:6;15031:1;15027:14;15023:2;15019:23;15015:34;15012:47;15009:67;;;15072:1;15069;15062:12;15009:67;15103:4;15095:13;;;;-1:-1:-1;15127:6:151;-1:-1:-1;15171:20:151;;;15158:34;;15204:16;;;15201:36;;;15233:1;15230;15223:12;15201:36;;15256:61;15309:7;15298:8;15287:9;15283:24;15256:61;:::i;15328:437::-;15407:1;15403:12;;;;15450;;;15471:61;;15525:4;15517:6;15513:17;15503:27;;15471:61;15578:2;15570:6;15567:14;15547:18;15544:38;15541:218;;-1:-1:-1;;;15612:1:151;15605:88;15716:4;15713:1;15706:15;15744:4;15741:1;15734:15;15541:218;;15328:437;;;:::o;15770:338::-;15945:2;15934:9;15927:21;15908:4;15965:45;16006:2;15995:9;15991:18;15983:6;15965:45;:::i;:::-;15957:53;;-1:-1:-1;;;;;16050:6:151;16046:55;16041:2;16030:9;16026:18;16019:83;15770:338;;;;;:::o;16113:251::-;16183:6;16236:2;16224:9;16215:7;16211:23;16207:32;16204:52;;;16252:1;16249;16242:12;16204:52;16284:9;16278:16;16303:31;16328:5;16303:31;:::i;16369:184::-;-1:-1:-1;;;16418:1:151;16411:88;16518:4;16515:1;16508:15;16542:4;16539:1;16532:15;16558:184;16628:6;16681:2;16669:9;16660:7;16656:23;16652:32;16649:52;;;16697:1;16694;16687:12;16649:52;-1:-1:-1;16720:16:151;;16558:184;-1:-1:-1;16558:184:151:o;17163:542::-;17416:2;17405:9;17398:21;17379:4;17442:56;17494:2;17483:9;17479:18;17471:6;17442:56;:::i;:::-;17546:9;17538:6;17534:22;17529:2;17518:9;17514:18;17507:50;17574:33;17600:6;17592;17574:33;:::i;:::-;17566:41;;;-1:-1:-1;;;;;17647:6:151;17643:55;17638:2;17627:9;17623:18;17616:83;17163:542;;;;;;:::o;17836:545::-;17938:2;17933:3;17930:11;17927:448;;;17974:1;17999:5;17995:2;17988:17;18044:4;18040:2;18030:19;18114:2;18102:10;18098:19;18095:1;18091:27;18085:4;18081:38;18150:4;18138:10;18135:20;18132:47;;;-1:-1:-1;18173:4:151;18132:47;18228:2;18223:3;18219:12;18216:1;18212:20;18206:4;18202:31;18192:41;;18283:82;18301:2;18294:5;18291:13;18283:82;;;18346:17;;;18327:1;18316:13;18283:82;;;18287:3;;;17836:545;;;:::o;18557:1352::-;18683:3;18677:10;18710:18;18702:6;18699:30;18696:56;;;18732:18;;:::i;:::-;18761:97;18851:6;18811:38;18843:4;18837:11;18811:38;:::i;:::-;18805:4;18761:97;:::i;:::-;18913:4;;18977:2;18966:14;;18994:1;18989:663;;;;19696:1;19713:6;19710:89;;;-1:-1:-1;19765:19:151;;;19759:26;19710:89;-1:-1:-1;;18514:1:151;18510:11;;;18506:24;18502:29;18492:40;18538:1;18534:11;;;18489:57;19812:81;;18959:944;;18989:663;17783:1;17776:14;;;17820:4;17807:18;;-1:-1:-1;;19025:20:151;;;19143:236;19157:7;19154:1;19151:14;19143:236;;;19246:19;;;19240:26;19225:42;;19338:27;;;;19306:1;19294:14;;;;19173:19;;19143:236;;;19147:3;19407:6;19398:7;19395:19;19392:201;;;19468:19;;;19462:26;-1:-1:-1;;19551:1:151;19547:14;;;19563:3;19543:24;19539:37;19535:42;19520:58;19505:74;;19392:201;-1:-1:-1;;;;;19639:1:151;19623:14;;;19619:22;19606:36;;-1:-1:-1;18557:1352:151:o;19914:261::-;20095:2;20084:9;20077:21;20058:4;20115:54;20165:2;20154:9;20150:18;20142:6;20115:54;:::i;20180:184::-;-1:-1:-1;;;20229:1:151;20222:88;20329:4;20326:1;20319:15;20353:4;20350:1;20343:15;20369:135;20408:3;20429:17;;;20426:43;;20449:18;;:::i;:::-;-1:-1:-1;20496:1:151;20485:13;;20369:135::o;21473:168::-;21546:9;;;21577;;21594:15;;;21588:22;;21574:37;21564:71;;21615:18;;:::i;21646:274::-;21686:1;21712;21702:189;;-1:-1:-1;;;21744:1:151;21737:88;21848:4;21845:1;21838:15;21876:4;21873:1;21866:15;21702:189;-1:-1:-1;21905:9:151;;21646:274::o;21925:128::-;21992:9;;;22013:11;;;22010:37;;;22027:18;;:::i;22058:125::-;22123:9;;;22144:10;;;22141:36;;;22157:18;;:::i;23042:277::-;23109:6;23162:2;23150:9;23141:7;23137:23;23133:32;23130:52;;;23178:1;23175;23168:12;23130:52;23210:9;23204:16;23263:5;23256:13;23249:21;23242:5;23239:32;23229:60;;23285:1;23282;23275:12;23650:289;23825:6;23814:9;23807:25;23868:2;23863;23852:9;23848:18;23841:30;23788:4;23888:45;23929:2;23918:9;23914:18;23906:6;23888:45;:::i;24214:573::-;24460:4;-1:-1:-1;;;;;24570:2:151;24562:6;24558:15;24547:9;24540:34;24622:2;24614:6;24610:15;24605:2;24594:9;24590:18;24583:43;;24662:6;24657:2;24646:9;24642:18;24635:34;24705:3;24700:2;24689:9;24685:18;24678:31;24726:55;24776:3;24765:9;24761:19;24753:6;24726:55;:::i;:::-;24718:63;24214:573;-1:-1:-1;;;;;;24214:573:151:o;25031:812::-;25442:25;25437:3;25430:38;25412:3;25497:6;25491:13;25513:75;25581:6;25576:2;25571:3;25567:12;25560:4;25552:6;25548:17;25513:75;:::i;:::-;25652:19;25647:2;25607:16;;;25639:11;;;25632:40;25697:13;;25719:76;25697:13;25781:2;25773:11;;25766:4;25754:17;;25719:76;:::i;:::-;25815:17;25834:2;25811:26;;25031:812;-1:-1:-1;;;;25031:812:151:o;25848:220::-;25997:2;25986:9;25979:21;25960:4;26017:45;26058:2;26047:9;26043:18;26035:6;26017:45;:::i;26425:136::-;26464:3;26492:5;26482:39;;26501:18;;:::i;:::-;-1:-1:-1;;;26537:18:151;;26425:136::o","linkReferences":{}},"methodIdentifiers":{"DEFAULT_ADMIN_ROLE()":"a217fddf","NATIVE()":"a0cf0aea","addPoolManager(uint256,address)":"2cf682b0","addToCloneableStrategies(address)":"41bba0b4","allocate(uint256,bytes)":"2ec38188","batchAllocate(uint256[],bytes[])":"c6dff1cf","batchRegisterRecipient(uint256[],bytes[])":"1a20bd88","cancelOwnershipHandover()":"54d1f13d","completeOwnershipHandover(address)":"f04e283e","createPool(bytes32,address,bytes,address,uint256,(uint256,string),address[])":"77da8caf","createPoolWithCustomStrategy(bytes32,address,bytes,address,uint256,(uint256,string),address[])":"e1007d4a","distribute(uint256,address[],bytes)":"3a5fbd92","fundPool(uint256,uint256)":"5acd6fac","getBaseFee()":"15e812ad","getFeeDenominator()":"f4e1fc41","getPercentFee()":"4edbaadc","getPool(uint256)":"068bcd8d","getRegistry()":"5ab1bd53","getRoleAdmin(bytes32)":"248a9ca3","getStrategy(uint256)":"cfc0cc34","getTreasury()":"3b19e84a","grantRole(bytes32,address)":"2f2ff15d","hasRole(bytes32,address)":"91d14854","initialize(address,address,address,uint256,uint256)":"a6b63eb8","isCloneableStrategy(address)":"ab2ec589","isPoolAdmin(uint256,address)":"ab3febc6","isPoolManager(uint256,address)":"29e40d4b","owner()":"8da5cb5b","ownershipHandoverExpiresAt(address)":"fee81cf4","recoverFunds(address,address)":"24ae6a27","registerRecipient(uint256,bytes)":"075c0e9c","removeFromCloneableStrategies(address)":"031e2fa1","removePoolManager(uint256,address)":"7f5a70bd","renounceOwnership()":"715018a6","renounceRole(bytes32,address)":"36568abe","requestOwnershipHandover()":"25692962","revokeRole(bytes32,address)":"d547741f","supportsInterface(bytes4)":"01ffc9a7","transferOwnership(address)":"f2fde38b","updateBaseFee(uint256)":"8e690186","updatePercentFee(uint256)":"f54fc4a0","updatePoolMetadata(uint256,(uint256,string))":"5f9ca138","updateRegistry(address)":"1a5da6c8","updateTreasury(address)":"7f51bb1f"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"ALLOCATION_ACTIVE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ALLOCATION_NOT_ACTIVE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ALLOCATION_NOT_ENDED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ALREADY_INITIALIZED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"AMOUNT_MISMATCH\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ANCHOR_ERROR\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ARRAY_MISMATCH\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID_ADDRESS\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID_FEE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID_METADATA\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID_REGISTRATION\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"IS_APPROVED_STRATEGY\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"MISMATCH\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NONCE_NOT_AVAILABLE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NOT_APPROVED_STRATEGY\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NOT_ENOUGH_FUNDS\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NOT_IMPLEMENTED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NOT_INITIALIZED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NOT_PENDING_OWNER\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NewOwnerIsZeroAddress\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NoHandoverRequest\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"POOL_ACTIVE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"POOL_INACTIVE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"RECIPIENT_ALREADY_ACCEPTED\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"recipientId\",\"type\":\"address\"}],\"name\":\"RECIPIENT_ERROR\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"RECIPIENT_NOT_ACCEPTED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"REGISTRATION_NOT_ACTIVE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UNAUTHORIZED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Unauthorized\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ZERO_ADDRESS\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"BaseFeePaid\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"baseFee\",\"type\":\"uint256\"}],\"name\":\"BaseFeeUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"version\",\"type\":\"uint8\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"pendingOwner\",\"type\":\"address\"}],\"name\":\"OwnershipHandoverCanceled\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"pendingOwner\",\"type\":\"address\"}],\"name\":\"OwnershipHandoverRequested\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"oldOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"percentFee\",\"type\":\"uint256\"}],\"name\":\"PercentFeeUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"profileId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"contract IStrategy\",\"name\":\"strategy\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"indexed\":false,\"internalType\":\"struct Metadata\",\"name\":\"metadata\",\"type\":\"tuple\"}],\"name\":\"PoolCreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"fee\",\"type\":\"uint256\"}],\"name\":\"PoolFunded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"indexed\":false,\"internalType\":\"struct Metadata\",\"name\":\"metadata\",\"type\":\"tuple\"}],\"name\":\"PoolMetadataUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"registry\",\"type\":\"address\"}],\"name\":\"RegistryUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"previousAdminRole\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"newAdminRole\",\"type\":\"bytes32\"}],\"name\":\"RoleAdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleGranted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleRevoked\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"strategy\",\"type\":\"address\"}],\"name\":\"StrategyApproved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"strategy\",\"type\":\"address\"}],\"name\":\"StrategyRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"treasury\",\"type\":\"address\"}],\"name\":\"TreasuryUpdated\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"DEFAULT_ADMIN_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"NATIVE\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_poolId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_manager\",\"type\":\"address\"}],\"name\":\"addPoolManager\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"}],\"name\":\"addToCloneableStrategies\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_poolId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"}],\"name\":\"allocate\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256[]\",\"name\":\"_poolIds\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes[]\",\"name\":\"_datas\",\"type\":\"bytes[]\"}],\"name\":\"batchAllocate\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256[]\",\"name\":\"_poolIds\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes[]\",\"name\":\"_data\",\"type\":\"bytes[]\"}],\"name\":\"batchRegisterRecipient\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"recipientIds\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"cancelOwnershipHandover\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"pendingOwner\",\"type\":\"address\"}],\"name\":\"completeOwnershipHandover\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_profileId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_initStrategyData\",\"type\":\"bytes\"},{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"_metadata\",\"type\":\"tuple\"},{\"internalType\":\"address[]\",\"name\":\"_managers\",\"type\":\"address[]\"}],\"name\":\"createPool\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_profileId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_initStrategyData\",\"type\":\"bytes\"},{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"_metadata\",\"type\":\"tuple\"},{\"internalType\":\"address[]\",\"name\":\"_managers\",\"type\":\"address[]\"}],\"name\":\"createPoolWithCustomStrategy\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_poolId\",\"type\":\"uint256\"},{\"internalType\":\"address[]\",\"name\":\"_recipientIds\",\"type\":\"address[]\"},{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"}],\"name\":\"distribute\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_poolId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"fundPool\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getBaseFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getFeeDenominator\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"FEE_DENOMINATOR\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getPercentFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_poolId\",\"type\":\"uint256\"}],\"name\":\"getPool\",\"outputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"profileId\",\"type\":\"bytes32\"},{\"internalType\":\"contract IStrategy\",\"name\":\"strategy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"metadata\",\"type\":\"tuple\"},{\"internalType\":\"bytes32\",\"name\":\"managerRole\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"adminRole\",\"type\":\"bytes32\"}],\"internalType\":\"struct IAllo.Pool\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getRegistry\",\"outputs\":[{\"internalType\":\"contract IRegistry\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"}],\"name\":\"getRoleAdmin\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_poolId\",\"type\":\"uint256\"}],\"name\":\"getStrategy\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getTreasury\",\"outputs\":[{\"internalType\":\"address payable\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"grantRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"hasRole\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_registry\",\"type\":\"address\"},{\"internalType\":\"address payable\",\"name\":\"_treasury\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_percentFee\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_baseFee\",\"type\":\"uint256\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"}],\"name\":\"isCloneableStrategy\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_poolId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_address\",\"type\":\"address\"}],\"name\":\"isPoolAdmin\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_poolId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_address\",\"type\":\"address\"}],\"name\":\"isPoolManager\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"result\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"pendingOwner\",\"type\":\"address\"}],\"name\":\"ownershipHandoverExpiresAt\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"result\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_recipient\",\"type\":\"address\"}],\"name\":\"recoverFunds\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_poolId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"}],\"name\":\"registerRecipient\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"}],\"name\":\"removeFromCloneableStrategies\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_poolId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_manager\",\"type\":\"address\"}],\"name\":\"removePoolManager\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"renounceRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"requestOwnershipHandover\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"revokeRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_baseFee\",\"type\":\"uint256\"}],\"name\":\"updateBaseFee\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_percentFee\",\"type\":\"uint256\"}],\"name\":\"updatePercentFee\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_poolId\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"_metadata\",\"type\":\"tuple\"}],\"name\":\"updatePoolMetadata\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_registry\",\"type\":\"address\"}],\"name\":\"updateRegistry\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address payable\",\"name\":\"_treasury\",\"type\":\"address\"}],\"name\":\"updateTreasury\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"@thelostone-mc , @0xKurt , @codenamejason , @0xZakk , @nfrgosselin \",\"details\":\"The contract must be initialized with the 'initialize()' function.\",\"errors\":{\"ANCHOR_ERROR()\":[{\"details\":\"Thrown if the anchor creation fails\"}],\"NONCE_NOT_AVAILABLE()\":[{\"details\":\"Thrown when the nonce passed has been used or not available\"}],\"NOT_PENDING_OWNER()\":[{\"details\":\"Thrown when the 'msg.sender' is not the pending owner on ownership transfer\"}],\"NewOwnerIsZeroAddress()\":[{\"details\":\"The `newOwner` cannot be the zero address.\"}],\"NoHandoverRequest()\":[{\"details\":\"The `pendingOwner` does not have a valid handover request.\"}],\"Unauthorized()\":[{\"details\":\"The caller is not authorized to call the function.\"}]},\"events\":{\"BaseFeePaid(uint256,uint256)\":{\"params\":{\"amount\":\"Amount of the base fee paid\",\"poolId\":\"ID of the pool the base fee was paid for\"}},\"BaseFeeUpdated(uint256)\":{\"params\":{\"baseFee\":\"New base fee amount\"}},\"Initialized(uint8)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"OwnershipHandoverCanceled(address)\":{\"details\":\"The ownership handover to `pendingOwner` has been canceled.\"},\"OwnershipHandoverRequested(address)\":{\"details\":\"An ownership handover to `pendingOwner` has been requested.\"},\"OwnershipTransferred(address,address)\":{\"details\":\"The ownership is transferred from `oldOwner` to `newOwner`. This event is intentionally kept the same as OpenZeppelin's Ownable to be compatible with indexers and [EIP-173](https://eips.ethereum.org/EIPS/eip-173), despite it not being as lightweight as a single argument event.\"},\"PercentFeeUpdated(uint256)\":{\"params\":{\"percentFee\":\"New percentage for the fee\"}},\"PoolCreated(uint256,bytes32,address,address,uint256,(uint256,string))\":{\"params\":{\"amount\":\"Amount pool was funded with when created\",\"metadata\":\"Pool metadata\",\"poolId\":\"ID of the pool created\",\"profileId\":\"ID of the profile the pool is associated with\",\"strategy\":\"Address of the strategy contract\",\"token\":\"Address of the token pool was funded with when created\"}},\"PoolFunded(uint256,uint256,uint256)\":{\"params\":{\"amount\":\"Amount funded to the pool\",\"fee\":\"Amount of the fee paid to the treasury\",\"poolId\":\"ID of the pool funded\"}},\"PoolMetadataUpdated(uint256,(uint256,string))\":{\"params\":{\"metadata\":\"Pool metadata that was updated\",\"poolId\":\"ID of the pool updated\"}},\"RegistryUpdated(address)\":{\"params\":{\"registry\":\"Address of the new registry\"}},\"RoleAdminChanged(bytes32,bytes32,bytes32)\":{\"details\":\"Emitted when `newAdminRole` is set as ``role``'s admin role, replacing `previousAdminRole` `DEFAULT_ADMIN_ROLE` is the starting admin for all roles, despite {RoleAdminChanged} not being emitted signaling this. _Available since v3.1._\"},\"RoleGranted(bytes32,address,address)\":{\"details\":\"Emitted when `account` is granted `role`. `sender` is the account that originated the contract call, an admin role bearer except when using {AccessControl-_setupRole}.\"},\"RoleRevoked(bytes32,address,address)\":{\"details\":\"Emitted when `account` is revoked `role`. `sender` is the account that originated the contract call: - if using `revokeRole`, it is the admin role bearer - if using `renounceRole`, it is the role bearer (i.e. `account`)\"},\"StrategyApproved(address)\":{\"params\":{\"strategy\":\"Address of the strategy approved\"}},\"StrategyRemoved(address)\":{\"params\":{\"strategy\":\"Address of the strategy removed\"}},\"TreasuryUpdated(address)\":{\"params\":{\"treasury\":\"Address of the new treasury\"}}},\"kind\":\"dev\",\"methods\":{\"addPoolManager(uint256,address)\":{\"details\":\"Emits 'RoleGranted()' event. 'msg.sender' must be a pool admin.\",\"params\":{\"_manager\":\"The address to add\",\"_poolId\":\"ID of the pool\"}},\"addToCloneableStrategies(address)\":{\"details\":\"Emits the 'StrategyApproved()' event. 'msg.sender' must be Allo owner.\",\"params\":{\"_strategy\":\"The address of the strategy\"}},\"allocate(uint256,bytes)\":{\"details\":\"The encoded data will be specific to a given strategy requirements, reference the strategy implementation of allocate().\",\"params\":{\"_data\":\"Encoded data unique to the strategy for that pool\",\"_poolId\":\"ID of the pool\"}},\"batchAllocate(uint256[],bytes[])\":{\"details\":\"The encoded data will be specific to a given strategy requirements, reference the strategy implementation of allocate(). Please note that this is not a 'payable' function, so if you want to send funds to the strategy, you must send the funds using 'fundPool()'.\",\"params\":{\"_datas\":\"encoded data unique to the strategy for that pool\",\"_poolIds\":\"IDs of the pools\"}},\"batchRegisterRecipient(uint256[],bytes[])\":{\"details\":\"Returns the 'recipientIds' from the strategy that have been registered from calling this function. Encoded data unique to a strategy that registerRecipient() requires. Encoded '_data' length must match '_poolIds' length or this will revert with MISMATCH(). Other requirements will be determined by the strategy.\",\"params\":{\"_data\":\"An array of encoded data unique to a strategy that registerRecipient() requires.\",\"_poolIds\":\"ID's of the pools\"},\"returns\":{\"recipientIds\":\"The recipient IDs that have been registered\"}},\"cancelOwnershipHandover()\":{\"details\":\"Cancels the two-step ownership handover to the caller, if any.\"},\"completeOwnershipHandover(address)\":{\"details\":\"Allows the owner to complete the two-step ownership handover to `pendingOwner`. Reverts if there is no existing ownership handover requested by `pendingOwner`.\"},\"createPool(bytes32,address,bytes,address,uint256,(uint256,string),address[])\":{\"custom:initstrategydata\":\"The encoded data will be specific to a given strategy requirements, reference the strategy implementation of 'initialize()'\",\"details\":\"'msg.sender' must be owner or member of the profile id passed as '_profileId'.\",\"params\":{\"_amount\":\"The amount of the token\",\"_initStrategyData\":\"The data to initialize the strategy\",\"_managers\":\"The managers of the pool\",\"_metadata\":\"The metadata of the pool\",\"_profileId\":\"The ID of the registry profile, used to check if 'msg.sender' is a member or owner of the profile\",\"_strategy\":\"The address of the strategy contract the pool will use.\",\"_token\":\"The address of the token\"}},\"createPoolWithCustomStrategy(bytes32,address,bytes,address,uint256,(uint256,string),address[])\":{\"details\":\"'msg.sender' must be a member or owner of a profile to create a pool with or without a custom strategy, The encoded data will be specific to a given strategy requirements, reference the strategy implementation of 'initialize()'. The strategy address passed must not be a cloneable strategy. The strategy address passed must not be the zero address. 'msg.sender' must be a member or owner of the profile id passed as '_profileId'.\",\"params\":{\"_amount\":\"The amount of the token you want to deposit into the pool on initialization\",\"_initStrategyData\":\"The data to initialize the strategy\",\"_managers\":\"The managers of the pool, and can be added/removed later by the pool admin\",\"_metadata\":\"The 'Metadata' of the pool, this uses our 'Meatdata.sol' struct (consistent throughout the protocol)\",\"_profileId\":\"The 'profileId' of the registry profile, used to check if 'msg.sender' is a member or owner of the profile\",\"_strategy\":\"The address of the deployed custom strategy\",\"_token\":\"The address of the token you want to use in your pool\"},\"returns\":{\"poolId\":\"The ID of the pool\"}},\"distribute(uint256,address[],bytes)\":{\"details\":\"The encoded data will be specific to a given strategy requirements, reference the strategy implementation of 'strategy.distribute()'.\",\"params\":{\"_data\":\"Encoded data unique to the strategy\",\"_poolId\":\"ID of the pool\",\"_recipientIds\":\"Ids of the recipients of the distribution\"}},\"fundPool(uint256,uint256)\":{\"details\":\"Anyone can fund a pool and call this function.\",\"params\":{\"_amount\":\"The amount to be deposited into the pool\",\"_poolId\":\"ID of the pool\"}},\"getBaseFee()\":{\"returns\":{\"_0\":\"The base fee\"}},\"getFeeDenominator()\":{\"returns\":{\"FEE_DENOMINATOR\":\"The fee denominator is (1e18) which represents 100%\"}},\"getPercentFee()\":{\"returns\":{\"_0\":\"The fee percentage (1e18 = 100%)\"}},\"getPool(uint256)\":{\"params\":{\"_poolId\":\"The ID of the pool\"},\"returns\":{\"_0\":\"The 'Pool' struct\"}},\"getRegistry()\":{\"returns\":{\"_0\":\"The registry address\"}},\"getRoleAdmin(bytes32)\":{\"details\":\"Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}.\"},\"getStrategy(uint256)\":{\"params\":{\"_poolId\":\"The ID of the pool\"},\"returns\":{\"_0\":\"The address of the strategy\"}},\"getTreasury()\":{\"returns\":{\"_0\":\"The treasury address\"}},\"grantRole(bytes32,address)\":{\"details\":\"Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleGranted} event.\"},\"hasRole(bytes32,address)\":{\"details\":\"Returns `true` if `account` has been granted `role`.\"},\"initialize(address,address,address,uint256,uint256)\":{\"details\":\"During upgrade -> a higher version should be passed to reinitializer\",\"params\":{\"_baseFee\":\"The base fee\",\"_owner\":\"The owner of allo\",\"_percentFee\":\"The percentage fee\",\"_registry\":\"The address of the registry\",\"_treasury\":\"The address of the treasury\"}},\"isCloneableStrategy(address)\":{\"params\":{\"_strategy\":\"The address of the strategy\"},\"returns\":{\"_0\":\"'true' if the strategy is cloneable, otherwise 'false'\"}},\"isPoolAdmin(uint256,address)\":{\"params\":{\"_address\":\"The address to check\",\"_poolId\":\"The ID of the pool\"},\"returns\":{\"_0\":\"'true' if the address is a pool admin, otherwise 'false'\"}},\"isPoolManager(uint256,address)\":{\"params\":{\"_address\":\"The address to check\",\"_poolId\":\"The ID of the pool\"},\"returns\":{\"_0\":\"'true' if the address is a pool manager, otherwise 'false'\"}},\"owner()\":{\"details\":\"Returns the owner of the contract.\"},\"ownershipHandoverExpiresAt(address)\":{\"details\":\"Returns the expiry timestamp for the two-step ownership handover to `pendingOwner`.\"},\"recoverFunds(address,address)\":{\"details\":\"'msg.sender' must be Allo owner\",\"params\":{\"_recipient\":\"The recipient\",\"_token\":\"The token to transfer\"}},\"registerRecipient(uint256,bytes)\":{\"details\":\"The encoded data will be specific to a given strategy requirements, reference the strategy implementation of registerRecipient().\",\"params\":{\"_data\":\"Encoded data unique to a strategy that registerRecipient() requires\",\"_poolId\":\"ID of the pool\"},\"returns\":{\"_0\":\"recipientId The recipient ID that has been registered\"}},\"removeFromCloneableStrategies(address)\":{\"details\":\"Emits 'StrategyRemoved()' event. 'msg.sender must be Allo owner.\",\"params\":{\"_strategy\":\"The address of the strategy\"}},\"removePoolManager(uint256,address)\":{\"details\":\"Emits 'RoleRevoked()' event. 'msg.sender' must be a pool admin.\",\"params\":{\"_manager\":\"The address to remove\",\"_poolId\":\"ID of the pool\"}},\"renounceOwnership()\":{\"details\":\"Allows the owner to renounce their ownership.\"},\"renounceRole(bytes32,address)\":{\"details\":\"Revokes `role` from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been revoked `role`, emits a {RoleRevoked} event. Requirements: - the caller must be `account`. May emit a {RoleRevoked} event.\"},\"requestOwnershipHandover()\":{\"details\":\"Request a two-step ownership handover to the caller. The request will automatically expire in 48 hours (172800 seconds) by default.\"},\"revokeRole(bytes32,address)\":{\"details\":\"Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleRevoked} event.\"},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"},\"transferOwnership(address)\":{\"details\":\"Allows the owner to transfer the ownership to `newOwner`.\"},\"updateBaseFee(uint256)\":{\"details\":\"Use this to update the base fee. 'msg.sender' must be Allo owner.\",\"params\":{\"_baseFee\":\"The new base fee\"}},\"updatePercentFee(uint256)\":{\"details\":\"Use this to update the fee percentage. 'msg.sender' must be Allo owner.\",\"params\":{\"_percentFee\":\"The new fee\"}},\"updatePoolMetadata(uint256,(uint256,string))\":{\"details\":\"'msg.sender' must be a pool manager. Emits 'PoolMetadataUpdated()' event.\",\"params\":{\"_metadata\":\"The new metadata of the pool\",\"_poolId\":\"ID of the pool\"}},\"updateRegistry(address)\":{\"details\":\"Use this to update the registry address. 'msg.sender' must be Allo owner.\",\"params\":{\"_registry\":\"The new registry address\"}},\"updateTreasury(address)\":{\"details\":\"Use this to update the treasury address. 'msg.sender' must be Allo owner.\",\"params\":{\"_treasury\":\"The new treasury address\"}}},\"stateVariables\":{\"_nonces\":{\"details\":\"'msg.sender' -> 'nonce' for cloning strategies\"},\"baseFee\":{\"details\":\"This is different from the 'percentFee' in that this is a flat fee and not a percentage. So if you want to create a pool with a base fee of 100 DAI, then you would pass 100 DAI to the 'createPool()' function and the pool would be created with 100 DAI less than the amount you passed to the function. The base fee is sent to the treasury address.\"},\"cloneableStrategies\":{\"details\":\"Strategy.address -> bool\"},\"percentFee\":{\"details\":\"How the percentage is represented in our contracts: 1e18 = 100%, 1e17 = 10%, 1e16 = 1%, 1e15 = 0.1%\"},\"pools\":{\"details\":\"'Pool.id' -> 'Pool'\"}},\"title\":\"Allo\",\"version\":1},\"userdoc\":{\"errors\":{\"ALLOCATION_ACTIVE()\":[{\"notice\":\"Thrown when the allocation is active.\"}],\"ALLOCATION_NOT_ACTIVE()\":[{\"notice\":\"Thrown when the allocation is not active.\"}],\"ALLOCATION_NOT_ENDED()\":[{\"notice\":\"Thrown when the allocation is not ended.\"}],\"ALREADY_INITIALIZED()\":[{\"notice\":\"Thrown when data is already intialized\"}],\"AMOUNT_MISMATCH()\":[{\"notice\":\"Thrown when the amount of tokens sent does not match the amount of tokens expected\"}],\"ARRAY_MISMATCH()\":[{\"notice\":\"Thrown when two arrays length are not equal\"}],\"INVALID()\":[{\"notice\":\"Thrown as a general error when input / data is invalid\"}],\"INVALID_ADDRESS()\":[{\"notice\":\"Thrown when an invalid address is used\"}],\"INVALID_FEE()\":[{\"notice\":\"Thrown when the fee is below 1e18 which is the fee percentage denominator\"}],\"INVALID_METADATA()\":[{\"notice\":\"Thrown when the metadata is invalid.\"}],\"INVALID_REGISTRATION()\":[{\"notice\":\"Thrown when the registration is invalid.\"}],\"IS_APPROVED_STRATEGY()\":[{\"notice\":\"Thrown when the strategy is approved and should be cloned\"}],\"MISMATCH()\":[{\"notice\":\"Thrown when mismatch in decoding data\"}],\"NOT_APPROVED_STRATEGY()\":[{\"notice\":\"Thrown when the strategy is not approved\"}],\"NOT_ENOUGH_FUNDS()\":[{\"notice\":\"Thrown when not enough funds are available\"}],\"NOT_IMPLEMENTED()\":[{\"notice\":\"Thrown when the function is not implemented\"}],\"NOT_INITIALIZED()\":[{\"notice\":\"Thrown when data is yet to be initialized\"}],\"POOL_ACTIVE()\":[{\"notice\":\"Thrown when a pool is already active\"}],\"POOL_INACTIVE()\":[{\"notice\":\"Thrown when a pool is inactive\"}],\"RECIPIENT_ALREADY_ACCEPTED()\":[{\"notice\":\"Thrown when recipient is already accepted.\"}],\"RECIPIENT_ERROR(address)\":[{\"notice\":\"Thrown when there is an error in recipient.\"}],\"RECIPIENT_NOT_ACCEPTED()\":[{\"notice\":\"Thrown when the recipient is not accepted.\"}],\"REGISTRATION_NOT_ACTIVE()\":[{\"notice\":\"Thrown when registration is not active.\"}],\"UNAUTHORIZED()\":[{\"notice\":\"Thrown when user is not authorized\"}],\"ZERO_ADDRESS()\":[{\"notice\":\"Thrown when address is the zero address\"}]},\"events\":{\"BaseFeePaid(uint256,uint256)\":{\"notice\":\"Emitted when the base fee is paid\"},\"BaseFeeUpdated(uint256)\":{\"notice\":\"Emitted when the base fee is updated\"},\"PercentFeeUpdated(uint256)\":{\"notice\":\"Emitted when the percent fee is updated\"},\"PoolCreated(uint256,bytes32,address,address,uint256,(uint256,string))\":{\"notice\":\"Event emitted when a new pool is created\"},\"PoolFunded(uint256,uint256,uint256)\":{\"notice\":\"Emitted when a pool is funded\"},\"PoolMetadataUpdated(uint256,(uint256,string))\":{\"notice\":\"Emitted when a pools metadata is updated\"},\"RegistryUpdated(address)\":{\"notice\":\"Emitted when the registry address is updated\"},\"StrategyApproved(address)\":{\"notice\":\"Emitted when a strategy is approved and added to the cloneable strategies\"},\"StrategyRemoved(address)\":{\"notice\":\"Emitted when a strategy is removed from the cloneable strategies\"},\"TreasuryUpdated(address)\":{\"notice\":\"Emitted when the treasury address is updated\"}},\"kind\":\"user\",\"methods\":{\"NATIVE()\":{\"notice\":\"Address of the native token\"},\"addPoolManager(uint256,address)\":{\"notice\":\"Add a pool manager\"},\"addToCloneableStrategies(address)\":{\"notice\":\"Add a strategy to the allowlist.\"},\"allocate(uint256,bytes)\":{\"notice\":\"Allocate to a recipient or multiple recipients.\"},\"batchAllocate(uint256[],bytes[])\":{\"notice\":\"Allocate to multiple pools\"},\"batchRegisterRecipient(uint256[],bytes[])\":{\"notice\":\"Register multiple recipients to multiple pools.\"},\"createPool(bytes32,address,bytes,address,uint256,(uint256,string),address[])\":{\"notice\":\"Creates a new pool (by cloning a cloneable strategies).\"},\"createPoolWithCustomStrategy(bytes32,address,bytes,address,uint256,(uint256,string),address[])\":{\"notice\":\"Creates a new pool (with a custom strategy)\"},\"distribute(uint256,address[],bytes)\":{\"notice\":\"Distribute to a recipient or multiple recipients.\"},\"fundPool(uint256,uint256)\":{\"notice\":\"Fund a pool.\"},\"getBaseFee()\":{\"notice\":\"Getter for base fee.\"},\"getFeeDenominator()\":{\"notice\":\"Getter for the fee denominator\"},\"getPercentFee()\":{\"notice\":\"Getter for fee percentage.\"},\"getPool(uint256)\":{\"notice\":\"Getter for the 'Pool'.\"},\"getRegistry()\":{\"notice\":\"Getter for registry.\"},\"getStrategy(uint256)\":{\"notice\":\"Getter for the strategy.\"},\"getTreasury()\":{\"notice\":\"Getter for treasury address.\"},\"initialize(address,address,address,uint256,uint256)\":{\"notice\":\"Initializes the contract after an upgrade\"},\"isCloneableStrategy(address)\":{\"notice\":\"Getter for if strategy is cloneable.\"},\"isPoolAdmin(uint256,address)\":{\"notice\":\"Checks if the address is a pool admin.\"},\"isPoolManager(uint256,address)\":{\"notice\":\"Checks if the address is a pool manager\"},\"recoverFunds(address,address)\":{\"notice\":\"Transfer the funds recovered to the recipient\"},\"registerRecipient(uint256,bytes)\":{\"notice\":\"Passes _data through to the strategy for that pool.\"},\"removeFromCloneableStrategies(address)\":{\"notice\":\"Remove a strategy from the allowlist\"},\"removePoolManager(uint256,address)\":{\"notice\":\"Remove a pool manager\"},\"updateBaseFee(uint256)\":{\"notice\":\"Updates the base fee.\"},\"updatePercentFee(uint256)\":{\"notice\":\"Updates the fee percentage.\"},\"updatePoolMetadata(uint256,(uint256,string))\":{\"notice\":\"Update pool metadata\"},\"updateRegistry(address)\":{\"notice\":\"Updates the registry address.\"},\"updateTreasury(address)\":{\"notice\":\"Updates the treasury address.\"}},\"notice\":\"This contract is used to create & manage pools as well as manage the protocol.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/allo-v2/contracts/core/Allo.sol\":\"Allo\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1000},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-contracts/=lib/safe-contracts/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"]},\"sources\":{\"lib/allo-v2/contracts/core/Allo.sol\":{\"keccak256\":\"0x6eadd7d37d010ad736e5b9fd25bd2083e430757d72b5873357cd7ee41d7fc21a\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://add326fecd1aac73bf91e634a9b11ab9a19b99a73616e44d5c79261bfbfb3a7c\",\"dweb:/ipfs/QmTF7WYUpSTF6EPWtB6CW9BPJAjWeZDtNjWGME4VHrarZd\"]},\"lib/allo-v2/contracts/core/interfaces/IAllo.sol\":{\"keccak256\":\"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7\",\"dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1\"]},\"lib/allo-v2/contracts/core/interfaces/IRegistry.sol\":{\"keccak256\":\"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e\",\"dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA\"]},\"lib/allo-v2/contracts/core/interfaces/IStrategy.sol\":{\"keccak256\":\"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487\",\"dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH\"]},\"lib/allo-v2/contracts/core/libraries/Clone.sol\":{\"keccak256\":\"0xc348b24b7d8a98c4faa5f2aa37ce9264a74f81dbdef1a9bae2eaa125585c3c7e\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://1335b3ec59ec7e3d12ea7c90b3aa56f4c26e0d44d342f54412933be9d4f16067\",\"dweb:/ipfs/QmXNFo2wCyq9cpvfgbdHvBUQecThFSEoUnMuZNS6WinDrr\"]},\"lib/allo-v2/contracts/core/libraries/Errors.sol\":{\"keccak256\":\"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf\",\"dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA\"]},\"lib/allo-v2/contracts/core/libraries/Metadata.sol\":{\"keccak256\":\"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c\",\"dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn\"]},\"lib/allo-v2/contracts/core/libraries/Native.sol\":{\"keccak256\":\"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a\",\"dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv\"]},\"lib/allo-v2/contracts/core/libraries/Transfer.sol\":{\"keccak256\":\"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11\",\"dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5\"]},\"lib/allo-v2/lib/solady/src/auth/Ownable.sol\":{\"keccak256\":\"0xd916b6ca098f26e08eff367c6fc1853956839d8d1c9d2df715784b6dec99889b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a9d8137ec1f5fb4210fbebeafa002f5b9cab28579445bd8281c56862e63aa30\",\"dweb:/ipfs/QmPLBcT1JkBKa4jK6qNficwZx2uGG4MetPNErJArdX6G61\"]},\"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol\":{\"keccak256\":\"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298\",\"dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0xc8710577334e8d0799ae2b2a731b1924a7bddd64319da9787ddd2dc69bdd1ce5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b83b7afa4d2372da3ba5402fb10860a105c35d79812c60dc61007be2afc17618\",\"dweb:/ipfs/QmYX9xPmbNVSKXrepKiUZiG5oL3SdzFp9a4kqspxX1sEUx\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol\":{\"keccak256\":\"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c\",\"dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol\":{\"keccak256\":\"0x5a55d1b148a0cb4183f1e09ceaff87bd2d828440f2f5dc01dfe03eb29e7c88ec\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3f9278bdda788763efbe569da77fc24feff36e871779e2da69f74ea5f8bfacf\",\"dweb:/ipfs/QmZF9cH4rfazmwKT55p3tZyzh9QGghNyss81f46d6yVXap\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e\",\"dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol\":{\"keccak256\":\"0x2025ccf05f6f1f2fd4e078e552836f525a1864e3854ed555047cd732320ab29b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d27f4b23c2dee42394aebaf42bf238285230f472dfd3282a39c3f000ec28214f\",\"dweb:/ipfs/QmQa3DnvccwdWJeWrjgXPnFMTWbzWQWR39hVqC7eEwo2PC\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/IERC20Upgradeable.sol\":{\"keccak256\":\"0x0e1f0f5f62f67a881cd1a9597acbc0a5e4071f3c2c10449a183b922ae7272e3f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c25f742ff154998d19a669e2508c3597b363e123ce9144cd0fcf6521229f401f\",\"dweb:/ipfs/QmQXRuFzStEWqeEPbhQU6cAg9PaSowxJVo4PDKyRod7dco\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b\",\"dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95\",\"dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol\":{\"keccak256\":\"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a\",\"dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0xd90d7723512df65ae417adaf0801042940f0dabd60039ceeaffe34aa5b238da1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1b13befeb3413749292f9fb229de1c7a509a5ce2c8047d9094fc004ca9d3af89\",\"dweb:/ipfs/QmRzJ2hZSwRtMejHUZAYTPRKgZsnfb112Fno9Jf3EiDfwA\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol\":{\"keccak256\":\"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758\",\"dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol\":{\"keccak256\":\"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91\",\"dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol\":{\"keccak256\":\"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4\",\"dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[],"type":"error","name":"ALLOCATION_ACTIVE"},{"inputs":[],"type":"error","name":"ALLOCATION_NOT_ACTIVE"},{"inputs":[],"type":"error","name":"ALLOCATION_NOT_ENDED"},{"inputs":[],"type":"error","name":"ALREADY_INITIALIZED"},{"inputs":[],"type":"error","name":"AMOUNT_MISMATCH"},{"inputs":[],"type":"error","name":"ANCHOR_ERROR"},{"inputs":[],"type":"error","name":"ARRAY_MISMATCH"},{"inputs":[],"type":"error","name":"INVALID"},{"inputs":[],"type":"error","name":"INVALID_ADDRESS"},{"inputs":[],"type":"error","name":"INVALID_FEE"},{"inputs":[],"type":"error","name":"INVALID_METADATA"},{"inputs":[],"type":"error","name":"INVALID_REGISTRATION"},{"inputs":[],"type":"error","name":"IS_APPROVED_STRATEGY"},{"inputs":[],"type":"error","name":"MISMATCH"},{"inputs":[],"type":"error","name":"NONCE_NOT_AVAILABLE"},{"inputs":[],"type":"error","name":"NOT_APPROVED_STRATEGY"},{"inputs":[],"type":"error","name":"NOT_ENOUGH_FUNDS"},{"inputs":[],"type":"error","name":"NOT_IMPLEMENTED"},{"inputs":[],"type":"error","name":"NOT_INITIALIZED"},{"inputs":[],"type":"error","name":"NOT_PENDING_OWNER"},{"inputs":[],"type":"error","name":"NewOwnerIsZeroAddress"},{"inputs":[],"type":"error","name":"NoHandoverRequest"},{"inputs":[],"type":"error","name":"POOL_ACTIVE"},{"inputs":[],"type":"error","name":"POOL_INACTIVE"},{"inputs":[],"type":"error","name":"RECIPIENT_ALREADY_ACCEPTED"},{"inputs":[{"internalType":"address","name":"recipientId","type":"address"}],"type":"error","name":"RECIPIENT_ERROR"},{"inputs":[],"type":"error","name":"RECIPIENT_NOT_ACCEPTED"},{"inputs":[],"type":"error","name":"REGISTRATION_NOT_ACTIVE"},{"inputs":[],"type":"error","name":"UNAUTHORIZED"},{"inputs":[],"type":"error","name":"Unauthorized"},{"inputs":[],"type":"error","name":"ZERO_ADDRESS"},{"inputs":[{"internalType":"uint256","name":"poolId","type":"uint256","indexed":true},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false}],"type":"event","name":"BaseFeePaid","anonymous":false},{"inputs":[{"internalType":"uint256","name":"baseFee","type":"uint256","indexed":false}],"type":"event","name":"BaseFeeUpdated","anonymous":false},{"inputs":[{"internalType":"uint8","name":"version","type":"uint8","indexed":false}],"type":"event","name":"Initialized","anonymous":false},{"inputs":[{"internalType":"address","name":"pendingOwner","type":"address","indexed":true}],"type":"event","name":"OwnershipHandoverCanceled","anonymous":false},{"inputs":[{"internalType":"address","name":"pendingOwner","type":"address","indexed":true}],"type":"event","name":"OwnershipHandoverRequested","anonymous":false},{"inputs":[{"internalType":"address","name":"oldOwner","type":"address","indexed":true},{"internalType":"address","name":"newOwner","type":"address","indexed":true}],"type":"event","name":"OwnershipTransferred","anonymous":false},{"inputs":[{"internalType":"uint256","name":"percentFee","type":"uint256","indexed":false}],"type":"event","name":"PercentFeeUpdated","anonymous":false},{"inputs":[{"internalType":"uint256","name":"poolId","type":"uint256","indexed":true},{"internalType":"bytes32","name":"profileId","type":"bytes32","indexed":true},{"internalType":"contract IStrategy","name":"strategy","type":"address","indexed":false},{"internalType":"address","name":"token","type":"address","indexed":false},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false},{"internalType":"struct Metadata","name":"metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}],"indexed":false}],"type":"event","name":"PoolCreated","anonymous":false},{"inputs":[{"internalType":"uint256","name":"poolId","type":"uint256","indexed":true},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false},{"internalType":"uint256","name":"fee","type":"uint256","indexed":false}],"type":"event","name":"PoolFunded","anonymous":false},{"inputs":[{"internalType":"uint256","name":"poolId","type":"uint256","indexed":true},{"internalType":"struct Metadata","name":"metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}],"indexed":false}],"type":"event","name":"PoolMetadataUpdated","anonymous":false},{"inputs":[{"internalType":"address","name":"registry","type":"address","indexed":false}],"type":"event","name":"RegistryUpdated","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32","indexed":true},{"internalType":"bytes32","name":"previousAdminRole","type":"bytes32","indexed":true},{"internalType":"bytes32","name":"newAdminRole","type":"bytes32","indexed":true}],"type":"event","name":"RoleAdminChanged","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32","indexed":true},{"internalType":"address","name":"account","type":"address","indexed":true},{"internalType":"address","name":"sender","type":"address","indexed":true}],"type":"event","name":"RoleGranted","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32","indexed":true},{"internalType":"address","name":"account","type":"address","indexed":true},{"internalType":"address","name":"sender","type":"address","indexed":true}],"type":"event","name":"RoleRevoked","anonymous":false},{"inputs":[{"internalType":"address","name":"strategy","type":"address","indexed":false}],"type":"event","name":"StrategyApproved","anonymous":false},{"inputs":[{"internalType":"address","name":"strategy","type":"address","indexed":false}],"type":"event","name":"StrategyRemoved","anonymous":false},{"inputs":[{"internalType":"address","name":"treasury","type":"address","indexed":false}],"type":"event","name":"TreasuryUpdated","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"DEFAULT_ADMIN_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"NATIVE","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"_poolId","type":"uint256"},{"internalType":"address","name":"_manager","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"addPoolManager"},{"inputs":[{"internalType":"address","name":"_strategy","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"addToCloneableStrategies"},{"inputs":[{"internalType":"uint256","name":"_poolId","type":"uint256"},{"internalType":"bytes","name":"_data","type":"bytes"}],"stateMutability":"payable","type":"function","name":"allocate"},{"inputs":[{"internalType":"uint256[]","name":"_poolIds","type":"uint256[]"},{"internalType":"bytes[]","name":"_datas","type":"bytes[]"}],"stateMutability":"nonpayable","type":"function","name":"batchAllocate"},{"inputs":[{"internalType":"uint256[]","name":"_poolIds","type":"uint256[]"},{"internalType":"bytes[]","name":"_data","type":"bytes[]"}],"stateMutability":"nonpayable","type":"function","name":"batchRegisterRecipient","outputs":[{"internalType":"address[]","name":"recipientIds","type":"address[]"}]},{"inputs":[],"stateMutability":"payable","type":"function","name":"cancelOwnershipHandover"},{"inputs":[{"internalType":"address","name":"pendingOwner","type":"address"}],"stateMutability":"payable","type":"function","name":"completeOwnershipHandover"},{"inputs":[{"internalType":"bytes32","name":"_profileId","type":"bytes32"},{"internalType":"address","name":"_strategy","type":"address"},{"internalType":"bytes","name":"_initStrategyData","type":"bytes"},{"internalType":"address","name":"_token","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"},{"internalType":"struct Metadata","name":"_metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]},{"internalType":"address[]","name":"_managers","type":"address[]"}],"stateMutability":"payable","type":"function","name":"createPool","outputs":[{"internalType":"uint256","name":"poolId","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"_profileId","type":"bytes32"},{"internalType":"address","name":"_strategy","type":"address"},{"internalType":"bytes","name":"_initStrategyData","type":"bytes"},{"internalType":"address","name":"_token","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"},{"internalType":"struct Metadata","name":"_metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]},{"internalType":"address[]","name":"_managers","type":"address[]"}],"stateMutability":"payable","type":"function","name":"createPoolWithCustomStrategy","outputs":[{"internalType":"uint256","name":"poolId","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"_poolId","type":"uint256"},{"internalType":"address[]","name":"_recipientIds","type":"address[]"},{"internalType":"bytes","name":"_data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"distribute"},{"inputs":[{"internalType":"uint256","name":"_poolId","type":"uint256"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"stateMutability":"payable","type":"function","name":"fundPool"},{"inputs":[],"stateMutability":"view","type":"function","name":"getBaseFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"getFeeDenominator","outputs":[{"internalType":"uint256","name":"FEE_DENOMINATOR","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getPercentFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"_poolId","type":"uint256"}],"stateMutability":"view","type":"function","name":"getPool","outputs":[{"internalType":"struct IAllo.Pool","name":"","type":"tuple","components":[{"internalType":"bytes32","name":"profileId","type":"bytes32"},{"internalType":"contract IStrategy","name":"strategy","type":"address"},{"internalType":"address","name":"token","type":"address"},{"internalType":"struct Metadata","name":"metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]},{"internalType":"bytes32","name":"managerRole","type":"bytes32"},{"internalType":"bytes32","name":"adminRole","type":"bytes32"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getRegistry","outputs":[{"internalType":"contract IRegistry","name":"","type":"address"}]},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getRoleAdmin","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"uint256","name":"_poolId","type":"uint256"}],"stateMutability":"view","type":"function","name":"getStrategy","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getTreasury","outputs":[{"internalType":"address payable","name":"","type":"address"}]},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"grantRole"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"hasRole","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"_registry","type":"address"},{"internalType":"address payable","name":"_treasury","type":"address"},{"internalType":"uint256","name":"_percentFee","type":"uint256"},{"internalType":"uint256","name":"_baseFee","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[{"internalType":"address","name":"_strategy","type":"address"}],"stateMutability":"view","type":"function","name":"isCloneableStrategy","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"uint256","name":"_poolId","type":"uint256"},{"internalType":"address","name":"_address","type":"address"}],"stateMutability":"view","type":"function","name":"isPoolAdmin","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"uint256","name":"_poolId","type":"uint256"},{"internalType":"address","name":"_address","type":"address"}],"stateMutability":"view","type":"function","name":"isPoolManager","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"owner","outputs":[{"internalType":"address","name":"result","type":"address"}]},{"inputs":[{"internalType":"address","name":"pendingOwner","type":"address"}],"stateMutability":"view","type":"function","name":"ownershipHandoverExpiresAt","outputs":[{"internalType":"uint256","name":"result","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"_token","type":"address"},{"internalType":"address","name":"_recipient","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"recoverFunds"},{"inputs":[{"internalType":"uint256","name":"_poolId","type":"uint256"},{"internalType":"bytes","name":"_data","type":"bytes"}],"stateMutability":"payable","type":"function","name":"registerRecipient","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"_strategy","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"removeFromCloneableStrategies"},{"inputs":[{"internalType":"uint256","name":"_poolId","type":"uint256"},{"internalType":"address","name":"_manager","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"removePoolManager"},{"inputs":[],"stateMutability":"payable","type":"function","name":"renounceOwnership"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"renounceRole"},{"inputs":[],"stateMutability":"payable","type":"function","name":"requestOwnershipHandover"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"revokeRole"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"stateMutability":"view","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"stateMutability":"payable","type":"function","name":"transferOwnership"},{"inputs":[{"internalType":"uint256","name":"_baseFee","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"updateBaseFee"},{"inputs":[{"internalType":"uint256","name":"_percentFee","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"updatePercentFee"},{"inputs":[{"internalType":"uint256","name":"_poolId","type":"uint256"},{"internalType":"struct Metadata","name":"_metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]}],"stateMutability":"nonpayable","type":"function","name":"updatePoolMetadata"},{"inputs":[{"internalType":"address","name":"_registry","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"updateRegistry"},{"inputs":[{"internalType":"address payable","name":"_treasury","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"updateTreasury"}],"devdoc":{"kind":"dev","methods":{"addPoolManager(uint256,address)":{"details":"Emits 'RoleGranted()' event. 'msg.sender' must be a pool admin.","params":{"_manager":"The address to add","_poolId":"ID of the pool"}},"addToCloneableStrategies(address)":{"details":"Emits the 'StrategyApproved()' event. 'msg.sender' must be Allo owner.","params":{"_strategy":"The address of the strategy"}},"allocate(uint256,bytes)":{"details":"The encoded data will be specific to a given strategy requirements, reference the strategy implementation of allocate().","params":{"_data":"Encoded data unique to the strategy for that pool","_poolId":"ID of the pool"}},"batchAllocate(uint256[],bytes[])":{"details":"The encoded data will be specific to a given strategy requirements, reference the strategy implementation of allocate(). Please note that this is not a 'payable' function, so if you want to send funds to the strategy, you must send the funds using 'fundPool()'.","params":{"_datas":"encoded data unique to the strategy for that pool","_poolIds":"IDs of the pools"}},"batchRegisterRecipient(uint256[],bytes[])":{"details":"Returns the 'recipientIds' from the strategy that have been registered from calling this function. Encoded data unique to a strategy that registerRecipient() requires. Encoded '_data' length must match '_poolIds' length or this will revert with MISMATCH(). Other requirements will be determined by the strategy.","params":{"_data":"An array of encoded data unique to a strategy that registerRecipient() requires.","_poolIds":"ID's of the pools"},"returns":{"recipientIds":"The recipient IDs that have been registered"}},"cancelOwnershipHandover()":{"details":"Cancels the two-step ownership handover to the caller, if any."},"completeOwnershipHandover(address)":{"details":"Allows the owner to complete the two-step ownership handover to `pendingOwner`. Reverts if there is no existing ownership handover requested by `pendingOwner`."},"createPool(bytes32,address,bytes,address,uint256,(uint256,string),address[])":{"custom:initstrategydata":"The encoded data will be specific to a given strategy requirements, reference the strategy implementation of 'initialize()'","details":"'msg.sender' must be owner or member of the profile id passed as '_profileId'.","params":{"_amount":"The amount of the token","_initStrategyData":"The data to initialize the strategy","_managers":"The managers of the pool","_metadata":"The metadata of the pool","_profileId":"The ID of the registry profile, used to check if 'msg.sender' is a member or owner of the profile","_strategy":"The address of the strategy contract the pool will use.","_token":"The address of the token"}},"createPoolWithCustomStrategy(bytes32,address,bytes,address,uint256,(uint256,string),address[])":{"details":"'msg.sender' must be a member or owner of a profile to create a pool with or without a custom strategy, The encoded data will be specific to a given strategy requirements, reference the strategy implementation of 'initialize()'. The strategy address passed must not be a cloneable strategy. The strategy address passed must not be the zero address. 'msg.sender' must be a member or owner of the profile id passed as '_profileId'.","params":{"_amount":"The amount of the token you want to deposit into the pool on initialization","_initStrategyData":"The data to initialize the strategy","_managers":"The managers of the pool, and can be added/removed later by the pool admin","_metadata":"The 'Metadata' of the pool, this uses our 'Meatdata.sol' struct (consistent throughout the protocol)","_profileId":"The 'profileId' of the registry profile, used to check if 'msg.sender' is a member or owner of the profile","_strategy":"The address of the deployed custom strategy","_token":"The address of the token you want to use in your pool"},"returns":{"poolId":"The ID of the pool"}},"distribute(uint256,address[],bytes)":{"details":"The encoded data will be specific to a given strategy requirements, reference the strategy implementation of 'strategy.distribute()'.","params":{"_data":"Encoded data unique to the strategy","_poolId":"ID of the pool","_recipientIds":"Ids of the recipients of the distribution"}},"fundPool(uint256,uint256)":{"details":"Anyone can fund a pool and call this function.","params":{"_amount":"The amount to be deposited into the pool","_poolId":"ID of the pool"}},"getBaseFee()":{"returns":{"_0":"The base fee"}},"getFeeDenominator()":{"returns":{"FEE_DENOMINATOR":"The fee denominator is (1e18) which represents 100%"}},"getPercentFee()":{"returns":{"_0":"The fee percentage (1e18 = 100%)"}},"getPool(uint256)":{"params":{"_poolId":"The ID of the pool"},"returns":{"_0":"The 'Pool' struct"}},"getRegistry()":{"returns":{"_0":"The registry address"}},"getRoleAdmin(bytes32)":{"details":"Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}."},"getStrategy(uint256)":{"params":{"_poolId":"The ID of the pool"},"returns":{"_0":"The address of the strategy"}},"getTreasury()":{"returns":{"_0":"The treasury address"}},"grantRole(bytes32,address)":{"details":"Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleGranted} event."},"hasRole(bytes32,address)":{"details":"Returns `true` if `account` has been granted `role`."},"initialize(address,address,address,uint256,uint256)":{"details":"During upgrade -> a higher version should be passed to reinitializer","params":{"_baseFee":"The base fee","_owner":"The owner of allo","_percentFee":"The percentage fee","_registry":"The address of the registry","_treasury":"The address of the treasury"}},"isCloneableStrategy(address)":{"params":{"_strategy":"The address of the strategy"},"returns":{"_0":"'true' if the strategy is cloneable, otherwise 'false'"}},"isPoolAdmin(uint256,address)":{"params":{"_address":"The address to check","_poolId":"The ID of the pool"},"returns":{"_0":"'true' if the address is a pool admin, otherwise 'false'"}},"isPoolManager(uint256,address)":{"params":{"_address":"The address to check","_poolId":"The ID of the pool"},"returns":{"_0":"'true' if the address is a pool manager, otherwise 'false'"}},"owner()":{"details":"Returns the owner of the contract."},"ownershipHandoverExpiresAt(address)":{"details":"Returns the expiry timestamp for the two-step ownership handover to `pendingOwner`."},"recoverFunds(address,address)":{"details":"'msg.sender' must be Allo owner","params":{"_recipient":"The recipient","_token":"The token to transfer"}},"registerRecipient(uint256,bytes)":{"details":"The encoded data will be specific to a given strategy requirements, reference the strategy implementation of registerRecipient().","params":{"_data":"Encoded data unique to a strategy that registerRecipient() requires","_poolId":"ID of the pool"},"returns":{"_0":"recipientId The recipient ID that has been registered"}},"removeFromCloneableStrategies(address)":{"details":"Emits 'StrategyRemoved()' event. 'msg.sender must be Allo owner.","params":{"_strategy":"The address of the strategy"}},"removePoolManager(uint256,address)":{"details":"Emits 'RoleRevoked()' event. 'msg.sender' must be a pool admin.","params":{"_manager":"The address to remove","_poolId":"ID of the pool"}},"renounceOwnership()":{"details":"Allows the owner to renounce their ownership."},"renounceRole(bytes32,address)":{"details":"Revokes `role` from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been revoked `role`, emits a {RoleRevoked} event. Requirements: - the caller must be `account`. May emit a {RoleRevoked} event."},"requestOwnershipHandover()":{"details":"Request a two-step ownership handover to the caller. The request will automatically expire in 48 hours (172800 seconds) by default."},"revokeRole(bytes32,address)":{"details":"Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleRevoked} event."},"supportsInterface(bytes4)":{"details":"See {IERC165-supportsInterface}."},"transferOwnership(address)":{"details":"Allows the owner to transfer the ownership to `newOwner`."},"updateBaseFee(uint256)":{"details":"Use this to update the base fee. 'msg.sender' must be Allo owner.","params":{"_baseFee":"The new base fee"}},"updatePercentFee(uint256)":{"details":"Use this to update the fee percentage. 'msg.sender' must be Allo owner.","params":{"_percentFee":"The new fee"}},"updatePoolMetadata(uint256,(uint256,string))":{"details":"'msg.sender' must be a pool manager. Emits 'PoolMetadataUpdated()' event.","params":{"_metadata":"The new metadata of the pool","_poolId":"ID of the pool"}},"updateRegistry(address)":{"details":"Use this to update the registry address. 'msg.sender' must be Allo owner.","params":{"_registry":"The new registry address"}},"updateTreasury(address)":{"details":"Use this to update the treasury address. 'msg.sender' must be Allo owner.","params":{"_treasury":"The new treasury address"}}},"version":1},"userdoc":{"kind":"user","methods":{"NATIVE()":{"notice":"Address of the native token"},"addPoolManager(uint256,address)":{"notice":"Add a pool manager"},"addToCloneableStrategies(address)":{"notice":"Add a strategy to the allowlist."},"allocate(uint256,bytes)":{"notice":"Allocate to a recipient or multiple recipients."},"batchAllocate(uint256[],bytes[])":{"notice":"Allocate to multiple pools"},"batchRegisterRecipient(uint256[],bytes[])":{"notice":"Register multiple recipients to multiple pools."},"createPool(bytes32,address,bytes,address,uint256,(uint256,string),address[])":{"notice":"Creates a new pool (by cloning a cloneable strategies)."},"createPoolWithCustomStrategy(bytes32,address,bytes,address,uint256,(uint256,string),address[])":{"notice":"Creates a new pool (with a custom strategy)"},"distribute(uint256,address[],bytes)":{"notice":"Distribute to a recipient or multiple recipients."},"fundPool(uint256,uint256)":{"notice":"Fund a pool."},"getBaseFee()":{"notice":"Getter for base fee."},"getFeeDenominator()":{"notice":"Getter for the fee denominator"},"getPercentFee()":{"notice":"Getter for fee percentage."},"getPool(uint256)":{"notice":"Getter for the 'Pool'."},"getRegistry()":{"notice":"Getter for registry."},"getStrategy(uint256)":{"notice":"Getter for the strategy."},"getTreasury()":{"notice":"Getter for treasury address."},"initialize(address,address,address,uint256,uint256)":{"notice":"Initializes the contract after an upgrade"},"isCloneableStrategy(address)":{"notice":"Getter for if strategy is cloneable."},"isPoolAdmin(uint256,address)":{"notice":"Checks if the address is a pool admin."},"isPoolManager(uint256,address)":{"notice":"Checks if the address is a pool manager"},"recoverFunds(address,address)":{"notice":"Transfer the funds recovered to the recipient"},"registerRecipient(uint256,bytes)":{"notice":"Passes _data through to the strategy for that pool."},"removeFromCloneableStrategies(address)":{"notice":"Remove a strategy from the allowlist"},"removePoolManager(uint256,address)":{"notice":"Remove a pool manager"},"updateBaseFee(uint256)":{"notice":"Updates the base fee."},"updatePercentFee(uint256)":{"notice":"Updates the fee percentage."},"updatePoolMetadata(uint256,(uint256,string))":{"notice":"Update pool metadata"},"updateRegistry(address)":{"notice":"Updates the registry address."},"updateTreasury(address)":{"notice":"Updates the treasury address."}},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-contracts/=lib/safe-contracts/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":1000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib/allo-v2/contracts/core/Allo.sol":"Allo"},"evmVersion":"paris","libraries":{}},"sources":{"lib/allo-v2/contracts/core/Allo.sol":{"keccak256":"0x6eadd7d37d010ad736e5b9fd25bd2083e430757d72b5873357cd7ee41d7fc21a","urls":["bzz-raw://add326fecd1aac73bf91e634a9b11ab9a19b99a73616e44d5c79261bfbfb3a7c","dweb:/ipfs/QmTF7WYUpSTF6EPWtB6CW9BPJAjWeZDtNjWGME4VHrarZd"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/interfaces/IAllo.sol":{"keccak256":"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce","urls":["bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7","dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/interfaces/IRegistry.sol":{"keccak256":"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f","urls":["bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e","dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA"],"license":"MIT"},"lib/allo-v2/contracts/core/interfaces/IStrategy.sol":{"keccak256":"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23","urls":["bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487","dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Clone.sol":{"keccak256":"0xc348b24b7d8a98c4faa5f2aa37ce9264a74f81dbdef1a9bae2eaa125585c3c7e","urls":["bzz-raw://1335b3ec59ec7e3d12ea7c90b3aa56f4c26e0d44d342f54412933be9d4f16067","dweb:/ipfs/QmXNFo2wCyq9cpvfgbdHvBUQecThFSEoUnMuZNS6WinDrr"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Errors.sol":{"keccak256":"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15","urls":["bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf","dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Metadata.sol":{"keccak256":"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44","urls":["bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c","dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Native.sol":{"keccak256":"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5","urls":["bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a","dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Transfer.sol":{"keccak256":"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286","urls":["bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11","dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5"],"license":"AGPL-3.0-only"},"lib/allo-v2/lib/solady/src/auth/Ownable.sol":{"keccak256":"0xd916b6ca098f26e08eff367c6fc1853956839d8d1c9d2df715784b6dec99889b","urls":["bzz-raw://7a9d8137ec1f5fb4210fbebeafa002f5b9cab28579445bd8281c56862e63aa30","dweb:/ipfs/QmPLBcT1JkBKa4jK6qNficwZx2uGG4MetPNErJArdX6G61"],"license":"MIT"},"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol":{"keccak256":"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624","urls":["bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298","dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol":{"keccak256":"0xc8710577334e8d0799ae2b2a731b1924a7bddd64319da9787ddd2dc69bdd1ce5","urls":["bzz-raw://b83b7afa4d2372da3ba5402fb10860a105c35d79812c60dc61007be2afc17618","dweb:/ipfs/QmYX9xPmbNVSKXrepKiUZiG5oL3SdzFp9a4kqspxX1sEUx"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol":{"keccak256":"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa","urls":["bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c","dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol":{"keccak256":"0x5a55d1b148a0cb4183f1e09ceaff87bd2d828440f2f5dc01dfe03eb29e7c88ec","urls":["bzz-raw://b3f9278bdda788763efbe569da77fc24feff36e871779e2da69f74ea5f8bfacf","dweb:/ipfs/QmZF9cH4rfazmwKT55p3tZyzh9QGghNyss81f46d6yVXap"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794","urls":["bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e","dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol":{"keccak256":"0x2025ccf05f6f1f2fd4e078e552836f525a1864e3854ed555047cd732320ab29b","urls":["bzz-raw://d27f4b23c2dee42394aebaf42bf238285230f472dfd3282a39c3f000ec28214f","dweb:/ipfs/QmQa3DnvccwdWJeWrjgXPnFMTWbzWQWR39hVqC7eEwo2PC"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/IERC20Upgradeable.sol":{"keccak256":"0x0e1f0f5f62f67a881cd1a9597acbc0a5e4071f3c2c10449a183b922ae7272e3f","urls":["bzz-raw://c25f742ff154998d19a669e2508c3597b363e123ce9144cd0fcf6521229f401f","dweb:/ipfs/QmQXRuFzStEWqeEPbhQU6cAg9PaSowxJVo4PDKyRod7dco"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol":{"keccak256":"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422","urls":["bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b","dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef","urls":["bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95","dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol":{"keccak256":"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb","urls":["bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a","dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol":{"keccak256":"0xd90d7723512df65ae417adaf0801042940f0dabd60039ceeaffe34aa5b238da1","urls":["bzz-raw://1b13befeb3413749292f9fb229de1c7a509a5ce2c8047d9094fc004ca9d3af89","dweb:/ipfs/QmRzJ2hZSwRtMejHUZAYTPRKgZsnfb112Fno9Jf3EiDfwA"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol":{"keccak256":"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09","urls":["bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758","dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol":{"keccak256":"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e","urls":["bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91","dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol":{"keccak256":"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a","urls":["bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4","dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z"],"license":"MIT"}},"version":1},"storageLayout":{"storage":[{"astId":53029,"contract":"lib/allo-v2/contracts/core/Allo.sol:Allo","label":"_initialized","offset":0,"slot":"0","type":"t_uint8"},{"astId":53032,"contract":"lib/allo-v2/contracts/core/Allo.sol:Allo","label":"_initializing","offset":1,"slot":"0","type":"t_bool"},{"astId":53734,"contract":"lib/allo-v2/contracts/core/Allo.sol:Allo","label":"__gap","offset":0,"slot":"1","type":"t_array(t_uint256)50_storage"},{"astId":54008,"contract":"lib/allo-v2/contracts/core/Allo.sol:Allo","label":"__gap","offset":0,"slot":"51","type":"t_array(t_uint256)50_storage"},{"astId":52428,"contract":"lib/allo-v2/contracts/core/Allo.sol:Allo","label":"_roles","offset":0,"slot":"101","type":"t_mapping(t_bytes32,t_struct(RoleData)52423_storage)"},{"astId":52735,"contract":"lib/allo-v2/contracts/core/Allo.sol:Allo","label":"__gap","offset":0,"slot":"102","type":"t_array(t_uint256)49_storage"},{"astId":53206,"contract":"lib/allo-v2/contracts/core/Allo.sol:Allo","label":"_status","offset":0,"slot":"151","type":"t_uint256"},{"astId":53275,"contract":"lib/allo-v2/contracts/core/Allo.sol:Allo","label":"__gap","offset":0,"slot":"152","type":"t_array(t_uint256)49_storage"},{"astId":34,"contract":"lib/allo-v2/contracts/core/Allo.sol:Allo","label":"percentFee","offset":0,"slot":"201","type":"t_uint256"},{"astId":37,"contract":"lib/allo-v2/contracts/core/Allo.sol:Allo","label":"baseFee","offset":0,"slot":"202","type":"t_uint256"},{"astId":40,"contract":"lib/allo-v2/contracts/core/Allo.sol:Allo","label":"_poolIndex","offset":0,"slot":"203","type":"t_uint256"},{"astId":43,"contract":"lib/allo-v2/contracts/core/Allo.sol:Allo","label":"treasury","offset":0,"slot":"204","type":"t_address_payable"},{"astId":47,"contract":"lib/allo-v2/contracts/core/Allo.sol:Allo","label":"registry","offset":0,"slot":"205","type":"t_contract(IRegistry)2802"},{"astId":52,"contract":"lib/allo-v2/contracts/core/Allo.sol:Allo","label":"_nonces","offset":0,"slot":"206","type":"t_mapping(t_address,t_uint256)"},{"astId":58,"contract":"lib/allo-v2/contracts/core/Allo.sol:Allo","label":"pools","offset":0,"slot":"207","type":"t_mapping(t_uint256,t_struct(Pool)2319_storage)"},{"astId":63,"contract":"lib/allo-v2/contracts/core/Allo.sol:Allo","label":"cloneableStrategies","offset":0,"slot":"208","type":"t_mapping(t_address,t_bool)"}],"types":{"t_address":{"encoding":"inplace","label":"address","numberOfBytes":"20"},"t_address_payable":{"encoding":"inplace","label":"address payable","numberOfBytes":"20"},"t_array(t_uint256)49_storage":{"encoding":"inplace","label":"uint256[49]","numberOfBytes":"1568","base":"t_uint256"},"t_array(t_uint256)50_storage":{"encoding":"inplace","label":"uint256[50]","numberOfBytes":"1600","base":"t_uint256"},"t_bool":{"encoding":"inplace","label":"bool","numberOfBytes":"1"},"t_bytes32":{"encoding":"inplace","label":"bytes32","numberOfBytes":"32"},"t_contract(IRegistry)2802":{"encoding":"inplace","label":"contract IRegistry","numberOfBytes":"20"},"t_contract(IStrategy)2969":{"encoding":"inplace","label":"contract IStrategy","numberOfBytes":"20"},"t_mapping(t_address,t_bool)":{"encoding":"mapping","key":"t_address","label":"mapping(address => bool)","numberOfBytes":"32","value":"t_bool"},"t_mapping(t_address,t_uint256)":{"encoding":"mapping","key":"t_address","label":"mapping(address => uint256)","numberOfBytes":"32","value":"t_uint256"},"t_mapping(t_bytes32,t_struct(RoleData)52423_storage)":{"encoding":"mapping","key":"t_bytes32","label":"mapping(bytes32 => struct AccessControlUpgradeable.RoleData)","numberOfBytes":"32","value":"t_struct(RoleData)52423_storage"},"t_mapping(t_uint256,t_struct(Pool)2319_storage)":{"encoding":"mapping","key":"t_uint256","label":"mapping(uint256 => struct IAllo.Pool)","numberOfBytes":"32","value":"t_struct(Pool)2319_storage"},"t_string_storage":{"encoding":"bytes","label":"string","numberOfBytes":"32"},"t_struct(Metadata)3098_storage":{"encoding":"inplace","label":"struct Metadata","numberOfBytes":"64","members":[{"astId":3094,"contract":"lib/allo-v2/contracts/core/Allo.sol:Allo","label":"protocol","offset":0,"slot":"0","type":"t_uint256"},{"astId":3097,"contract":"lib/allo-v2/contracts/core/Allo.sol:Allo","label":"pointer","offset":0,"slot":"1","type":"t_string_storage"}]},"t_struct(Pool)2319_storage":{"encoding":"inplace","label":"struct IAllo.Pool","numberOfBytes":"224","members":[{"astId":2306,"contract":"lib/allo-v2/contracts/core/Allo.sol:Allo","label":"profileId","offset":0,"slot":"0","type":"t_bytes32"},{"astId":2309,"contract":"lib/allo-v2/contracts/core/Allo.sol:Allo","label":"strategy","offset":0,"slot":"1","type":"t_contract(IStrategy)2969"},{"astId":2311,"contract":"lib/allo-v2/contracts/core/Allo.sol:Allo","label":"token","offset":0,"slot":"2","type":"t_address"},{"astId":2314,"contract":"lib/allo-v2/contracts/core/Allo.sol:Allo","label":"metadata","offset":0,"slot":"3","type":"t_struct(Metadata)3098_storage"},{"astId":2316,"contract":"lib/allo-v2/contracts/core/Allo.sol:Allo","label":"managerRole","offset":0,"slot":"5","type":"t_bytes32"},{"astId":2318,"contract":"lib/allo-v2/contracts/core/Allo.sol:Allo","label":"adminRole","offset":0,"slot":"6","type":"t_bytes32"}]},"t_struct(RoleData)52423_storage":{"encoding":"inplace","label":"struct AccessControlUpgradeable.RoleData","numberOfBytes":"64","members":[{"astId":52420,"contract":"lib/allo-v2/contracts/core/Allo.sol:Allo","label":"members","offset":0,"slot":"0","type":"t_mapping(t_address,t_bool)"},{"astId":52422,"contract":"lib/allo-v2/contracts/core/Allo.sol:Allo","label":"adminRole","offset":0,"slot":"1","type":"t_bytes32"}]},"t_uint256":{"encoding":"inplace","label":"uint256","numberOfBytes":"32"},"t_uint8":{"encoding":"inplace","label":"uint8","numberOfBytes":"1"}}},"ast":{"absolutePath":"lib/allo-v2/contracts/core/Allo.sol","id":1391,"exportedSymbols":{"AccessControlUpgradeable":[52736],"AddressUpgradeable":[53684],"Allo":[1390],"Clone":[3002],"ContextUpgradeable":[53735],"ERC165Upgradeable":[54009],"Errors":[3089],"IAccessControlUpgradeable":[52809],"IAllo":[2610],"IERC165Upgradeable":[54021],"IERC20Upgradeable":[53354],"IRegistry":[2802],"IStrategy":[2969],"Initializable":[53191],"MathUpgradeable":[54887],"Metadata":[3098],"Native":[3106],"Ownable":[4095],"ReentrancyGuardUpgradeable":[53276],"SignedMathUpgradeable":[54992],"StringsUpgradeable":[53964],"Transfer":[3317]},"nodeType":"SourceUnit","src":"42:34082:0","nodes":[{"id":1,"nodeType":"PragmaDirective","src":"42:23:0","nodes":[],"literals":["solidity","0.8",".19"]},{"id":2,"nodeType":"ImportDirective","src":"89:37:0","nodes":[],"absolutePath":"lib/allo-v2/lib/solady/src/auth/Ownable.sol","file":"solady/src/auth/Ownable.sol","nameLocation":"-1:-1:-1","scope":1391,"sourceUnit":4096,"symbolAliases":[],"unitAlias":""},{"id":3,"nodeType":"ImportDirective","src":"127:84:0","nodes":[],"absolutePath":"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol","file":"openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol","nameLocation":"-1:-1:-1","scope":1391,"sourceUnit":53192,"symbolAliases":[],"unitAlias":""},{"id":4,"nodeType":"ImportDirective","src":"212:88:0","nodes":[],"absolutePath":"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/IERC20Upgradeable.sol","file":"openzeppelin-contracts-upgradeable/contracts/token/ERC20/IERC20Upgradeable.sol","nameLocation":"-1:-1:-1","scope":1391,"sourceUnit":53355,"symbolAliases":[],"unitAlias":""},{"id":5,"nodeType":"ImportDirective","src":"301:90:0","nodes":[],"absolutePath":"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol","file":"openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol","nameLocation":"-1:-1:-1","scope":1391,"sourceUnit":52737,"symbolAliases":[],"unitAlias":""},{"id":6,"nodeType":"ImportDirective","src":"392:94:0","nodes":[],"absolutePath":"lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol","file":"openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol","nameLocation":"-1:-1:-1","scope":1391,"sourceUnit":53277,"symbolAliases":[],"unitAlias":""},{"id":7,"nodeType":"ImportDirective","src":"501:32:0","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/interfaces/IAllo.sol","file":"./interfaces/IAllo.sol","nameLocation":"-1:-1:-1","scope":1391,"sourceUnit":2611,"symbolAliases":[],"unitAlias":""},{"id":9,"nodeType":"ImportDirective","src":"557:44:0","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/libraries/Clone.sol","file":"./libraries/Clone.sol","nameLocation":"-1:-1:-1","scope":1391,"sourceUnit":3003,"symbolAliases":[{"foreign":{"id":8,"name":"Clone","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3002,"src":"565:5:0","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":11,"nodeType":"ImportDirective","src":"602:46:0","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/libraries/Errors.sol","file":"./libraries/Errors.sol","nameLocation":"-1:-1:-1","scope":1391,"sourceUnit":3090,"symbolAliases":[{"foreign":{"id":10,"name":"Errors","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3089,"src":"610:6:0","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":12,"nodeType":"ImportDirective","src":"649:32:0","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/libraries/Native.sol","file":"./libraries/Native.sol","nameLocation":"-1:-1:-1","scope":1391,"sourceUnit":3107,"symbolAliases":[],"unitAlias":""},{"id":14,"nodeType":"ImportDirective","src":"682:50:0","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/libraries/Transfer.sol","file":"./libraries/Transfer.sol","nameLocation":"-1:-1:-1","scope":1391,"sourceUnit":3318,"symbolAliases":[{"foreign":{"id":13,"name":"Transfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3317,"src":"690:8:0","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":1390,"nodeType":"ContractDefinition","src":"5076:29047:0","nodes":[{"id":34,"nodeType":"VariableDeclaration","src":"5862:26:0","nodes":[],"constant":false,"documentation":{"id":32,"nodeType":"StructuredDocumentation","src":"5344:513:0","text":"@notice Percentage that is used to calculate the fee Allo takes from each pool when funded\n and is deducted when a pool is funded. So if you want to fund a round with 1000 DAI and the fee\n percentage is 1e17 (10%), then 100 DAI will be deducted from the 1000 DAI and the pool will be\n funded with 900 DAI. The fee is then sent to the treasury address.\n @dev How the percentage is represented in our contracts: 1e18 = 100%, 1e17 = 10%, 1e16 = 1%, 1e15 = 0.1%"},"mutability":"mutable","name":"percentFee","nameLocation":"5878:10:0","scope":1390,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":33,"name":"uint256","nodeType":"ElementaryTypeName","src":"5862:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"private"},{"id":37,"nodeType":"VariableDeclaration","src":"6339:24:0","nodes":[],"constant":false,"documentation":{"id":35,"nodeType":"StructuredDocumentation","src":"5895:439:0","text":"@notice Fee Allo charges for all pools on creation\n @dev This is different from the 'percentFee' in that this is a flat fee and not a percentage. So if you want to create a pool\n with a base fee of 100 DAI, then you would pass 100 DAI to the 'createPool()' function and the pool would be created\n with 100 DAI less than the amount you passed to the function. The base fee is sent to the treasury address."},"mutability":"mutable","name":"baseFee","nameLocation":"6356:7:0","scope":1390,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":36,"name":"uint256","nodeType":"ElementaryTypeName","src":"6339:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"id":40,"nodeType":"VariableDeclaration","src":"6431:26:0","nodes":[],"constant":false,"documentation":{"id":38,"nodeType":"StructuredDocumentation","src":"6370:56:0","text":"@notice Incremental index to track the pools created"},"mutability":"mutable","name":"_poolIndex","nameLocation":"6447:10:0","scope":1390,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":39,"name":"uint256","nodeType":"ElementaryTypeName","src":"6431:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"private"},{"id":43,"nodeType":"VariableDeclaration","src":"6494:32:0","nodes":[],"constant":false,"documentation":{"id":41,"nodeType":"StructuredDocumentation","src":"6464:25:0","text":"@notice Allo treasury"},"mutability":"mutable","name":"treasury","nameLocation":"6518:8:0","scope":1390,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"},"typeName":{"id":42,"name":"address","nodeType":"ElementaryTypeName","src":"6494:15:0","stateMutability":"payable","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"visibility":"private"},{"id":47,"nodeType":"VariableDeclaration","src":"6567:26:0","nodes":[],"constant":false,"documentation":{"id":44,"nodeType":"StructuredDocumentation","src":"6533:29:0","text":"@notice Registry contract"},"mutability":"mutable","name":"registry","nameLocation":"6585:8:0","scope":1390,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"},"typeName":{"id":46,"nodeType":"UserDefinedTypeName","pathNode":{"id":45,"name":"IRegistry","nameLocations":["6567:9:0"],"nodeType":"IdentifierPath","referencedDeclaration":2802,"src":"6567:9:0"},"referencedDeclaration":2802,"src":"6567:9:0","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"}},"visibility":"private"},{"id":52,"nodeType":"VariableDeclaration","src":"6733:43:0","nodes":[],"constant":false,"documentation":{"id":48,"nodeType":"StructuredDocumentation","src":"6600:128:0","text":"@notice Maps the `msg.sender` to a `nonce` to prevent duplicates\n @dev 'msg.sender' -> 'nonce' for cloning strategies"},"mutability":"mutable","name":"_nonces","nameLocation":"6769:7:0","scope":1390,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"typeName":{"id":51,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":49,"name":"address","nodeType":"ElementaryTypeName","src":"6741:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"6733:27:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":50,"name":"uint256","nodeType":"ElementaryTypeName","src":"6752:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"private"},{"id":58,"nodeType":"VariableDeclaration","src":"6869:38:0","nodes":[],"constant":false,"documentation":{"id":53,"nodeType":"StructuredDocumentation","src":"6783:81:0","text":"@notice Maps the pool ID to the pool details\n @dev 'Pool.id' -> 'Pool'"},"mutability":"mutable","name":"pools","nameLocation":"6902:5:0","scope":1390,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Pool_$2319_storage_$","typeString":"mapping(uint256 => struct IAllo.Pool)"},"typeName":{"id":57,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":54,"name":"uint256","nodeType":"ElementaryTypeName","src":"6877:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"6869:24:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Pool_$2319_storage_$","typeString":"mapping(uint256 => struct IAllo.Pool)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":56,"nodeType":"UserDefinedTypeName","pathNode":{"id":55,"name":"Pool","nameLocations":["6888:4:0"],"nodeType":"IdentifierPath","referencedDeclaration":2319,"src":"6888:4:0"},"referencedDeclaration":2319,"src":"6888:4:0","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool"}}},"visibility":"private"},{"id":63,"nodeType":"VariableDeclaration","src":"7064:52:0","nodes":[],"constant":false,"documentation":{"id":59,"nodeType":"StructuredDocumentation","src":"6914:145:0","text":"@notice Returns a bool for whether a strategy is cloneable or not using the strategy address as the key\n @dev Strategy.address -> bool"},"mutability":"mutable","name":"cloneableStrategies","nameLocation":"7097:19:0","scope":1390,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"},"typeName":{"id":62,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":60,"name":"address","nodeType":"ElementaryTypeName","src":"7072:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"7064:24:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":61,"name":"bool","nodeType":"ElementaryTypeName","src":"7083:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}},"visibility":"private"},{"id":101,"nodeType":"FunctionDefinition","src":"7626:593:0","nodes":[],"body":{"id":100,"nodeType":"Block","src":"7819:400:0","nodes":[],"statements":[{"expression":{"arguments":[{"id":81,"name":"_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66,"src":"7907:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":80,"name":"_initializeOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3980,"src":"7890:16:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":82,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7890:24:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":83,"nodeType":"ExpressionStatement","src":"7890:24:0"},{"expression":{"arguments":[{"id":85,"name":"_registry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68,"src":"7984:9:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":84,"name":"_updateRegistry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1205,"src":"7968:15:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":86,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7968:26:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":87,"nodeType":"ExpressionStatement","src":"7968:26:0"},{"expression":{"arguments":[{"id":89,"name":"_treasury","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70,"src":"8064:9:0","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":88,"name":"_updateTreasury","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1230,"src":"8048:15:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_payable_$returns$__$","typeString":"function (address payable)"}},"id":90,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8048:26:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":91,"nodeType":"ExpressionStatement","src":"8048:26:0"},{"expression":{"arguments":[{"id":93,"name":"_percentFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72,"src":"8137:11:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":92,"name":"_updatePercentFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1252,"src":"8119:17:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":94,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8119:30:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":95,"nodeType":"ExpressionStatement","src":"8119:30:0"},{"expression":{"arguments":[{"id":97,"name":"_baseFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74,"src":"8203:8:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":96,"name":"_updateBaseFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1267,"src":"8188:14:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":98,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8188:24:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":99,"nodeType":"ExpressionStatement","src":"8188:24:0"}]},"baseFunctions":[2404],"documentation":{"id":64,"nodeType":"StructuredDocumentation","src":"7257:364:0","text":"@notice Initializes the contract after an upgrade\n @dev During upgrade -> a higher version should be passed to reinitializer\n @param _owner The owner of allo\n @param _registry The address of the registry\n @param _treasury The address of the treasury\n @param _percentFee The percentage fee\n @param _baseFee The base fee"},"functionSelector":"a6b63eb8","implemented":true,"kind":"function","modifiers":[{"arguments":[{"hexValue":"31","id":77,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7816:1:0","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"id":78,"kind":"modifierInvocation","modifierName":{"id":76,"name":"reinitializer","nameLocations":["7802:13:0"],"nodeType":"IdentifierPath","referencedDeclaration":53126,"src":"7802:13:0"},"nodeType":"ModifierInvocation","src":"7802:16:0"}],"name":"initialize","nameLocation":"7635:10:0","parameters":{"id":75,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66,"mutability":"mutable","name":"_owner","nameLocation":"7663:6:0","nodeType":"VariableDeclaration","scope":101,"src":"7655:14:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65,"name":"address","nodeType":"ElementaryTypeName","src":"7655:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":68,"mutability":"mutable","name":"_registry","nameLocation":"7687:9:0","nodeType":"VariableDeclaration","scope":101,"src":"7679:17:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67,"name":"address","nodeType":"ElementaryTypeName","src":"7679:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":70,"mutability":"mutable","name":"_treasury","nameLocation":"7722:9:0","nodeType":"VariableDeclaration","scope":101,"src":"7706:25:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"},"typeName":{"id":69,"name":"address","nodeType":"ElementaryTypeName","src":"7706:15:0","stateMutability":"payable","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"visibility":"internal"},{"constant":false,"id":72,"mutability":"mutable","name":"_percentFee","nameLocation":"7749:11:0","nodeType":"VariableDeclaration","scope":101,"src":"7741:19:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":71,"name":"uint256","nodeType":"ElementaryTypeName","src":"7741:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74,"mutability":"mutable","name":"_baseFee","nameLocation":"7778:8:0","nodeType":"VariableDeclaration","scope":101,"src":"7770:16:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73,"name":"uint256","nodeType":"ElementaryTypeName","src":"7770:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7645:147:0"},"returnParameters":{"id":79,"nodeType":"ParameterList","parameters":[],"src":"7819:0:0"},"scope":1390,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":112,"nodeType":"ModifierDefinition","src":"8573:100:0","nodes":[],"body":{"id":111,"nodeType":"Block","src":"8615:58:0","nodes":[],"statements":[{"expression":{"arguments":[{"id":107,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":104,"src":"8647:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":106,"name":"_checkOnlyPoolManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":693,"src":"8625:21:0","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$__$","typeString":"function (uint256) view"}},"id":108,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8625:30:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":109,"nodeType":"ExpressionStatement","src":"8625:30:0"},{"id":110,"nodeType":"PlaceholderStatement","src":"8665:1:0"}]},"documentation":{"id":102,"nodeType":"StructuredDocumentation","src":"8463:105:0","text":"@notice Reverts UNAUTHORIZED() if the caller is not a pool manager\n @param _poolId The pool id"},"name":"onlyPoolManager","nameLocation":"8582:15:0","parameters":{"id":105,"nodeType":"ParameterList","parameters":[{"constant":false,"id":104,"mutability":"mutable","name":"_poolId","nameLocation":"8606:7:0","nodeType":"VariableDeclaration","scope":112,"src":"8598:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":103,"name":"uint256","nodeType":"ElementaryTypeName","src":"8598:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8597:17:0"},"virtual":false,"visibility":"internal"},{"id":123,"nodeType":"ModifierDefinition","src":"8787:96:0","nodes":[],"body":{"id":122,"nodeType":"Block","src":"8827:56:0","nodes":[],"statements":[{"expression":{"arguments":[{"id":118,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":115,"src":"8857:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":117,"name":"_checkOnlyPoolAdmin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":710,"src":"8837:19:0","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$__$","typeString":"function (uint256) view"}},"id":119,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8837:28:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":120,"nodeType":"ExpressionStatement","src":"8837:28:0"},{"id":121,"nodeType":"PlaceholderStatement","src":"8875:1:0"}]},"documentation":{"id":113,"nodeType":"StructuredDocumentation","src":"8679:103:0","text":"@notice Reverts UNAUTHORIZED() if the caller is not a pool admin\n @param _poolId The pool id"},"name":"onlyPoolAdmin","nameLocation":"8796:13:0","parameters":{"id":116,"nodeType":"ParameterList","parameters":[{"constant":false,"id":115,"mutability":"mutable","name":"_poolId","nameLocation":"8818:7:0","nodeType":"VariableDeclaration","scope":123,"src":"8810:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":114,"name":"uint256","nodeType":"ElementaryTypeName","src":"8810:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8809:17:0"},"virtual":false,"visibility":"internal"},{"id":175,"nodeType":"FunctionDefinition","src":"10281:884:0","nodes":[],"body":{"id":174,"nodeType":"Block","src":"10582:583:0","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":150,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":145,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":128,"src":"10687:9:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":148,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10708:1:0","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":147,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10700:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":146,"name":"address","nodeType":"ElementaryTypeName","src":"10700:7:0","typeDescriptions":{}}},"id":149,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10700:10:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"10687:23:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":154,"nodeType":"IfStatement","src":"10683:50:0","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":151,"name":"ZERO_ADDRESS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3020,"src":"10719:12:0","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":152,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10719:14:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":153,"nodeType":"RevertStatement","src":"10712:21:0"}},{"condition":{"arguments":[{"id":156,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":128,"src":"10919:9:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":155,"name":"_isCloneableStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1135,"src":"10898:20:0","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":157,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10898:31:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":161,"nodeType":"IfStatement","src":"10894:66:0","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":158,"name":"IS_APPROVED_STRATEGY","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3038,"src":"10938:20:0","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":159,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10938:22:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":160,"nodeType":"RevertStatement","src":"10931:29:0"}},{"expression":{"arguments":[{"id":163,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":126,"src":"11067:10:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"id":165,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":128,"src":"11089:9:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":164,"name":"IStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2969,"src":"11079:9:0","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IStrategy_$2969_$","typeString":"type(contract IStrategy)"}},"id":166,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11079:20:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}},{"id":167,"name":"_initStrategyData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":130,"src":"11101:17:0","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":168,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":132,"src":"11120:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":169,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134,"src":"11128:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":170,"name":"_metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":137,"src":"11137:9:0","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}},{"id":171,"name":"_managers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":140,"src":"11148:9:0","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"},{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}],"id":162,"name":"_createPool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":925,"src":"11055:11:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_contract$_IStrategy_$2969_$_t_bytes_memory_ptr_$_t_address_$_t_uint256_$_t_struct$_Metadata_$3098_memory_ptr_$_t_array$_t_address_$dyn_memory_ptr_$returns$_t_uint256_$","typeString":"function (bytes32,contract IStrategy,bytes memory,address,uint256,struct Metadata memory,address[] memory) returns (uint256)"}},"id":172,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11055:103:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":144,"id":173,"nodeType":"Return","src":"11048:110:0"}]},"documentation":{"id":124,"nodeType":"StructuredDocumentation","src":"9025:1251:0","text":"@notice Creates a new pool (with a custom strategy)\n @dev 'msg.sender' must be a member or owner of a profile to create a pool with or without a custom strategy, The encoded data\n will be specific to a given strategy requirements, reference the strategy implementation of 'initialize()'. The strategy\n address passed must not be a cloneable strategy. The strategy address passed must not be the zero address. 'msg.sender' must\n be a member or owner of the profile id passed as '_profileId'.\n @param _profileId The 'profileId' of the registry profile, used to check if 'msg.sender' is a member or owner of the profile\n @param _strategy The address of the deployed custom strategy\n @param _initStrategyData The data to initialize the strategy\n @param _token The address of the token you want to use in your pool\n @param _amount The amount of the token you want to deposit into the pool on initialization\n @param _metadata The 'Metadata' of the pool, this uses our 'Meatdata.sol' struct (consistent throughout the protocol)\n @param _managers The managers of the pool, and can be added/removed later by the pool admin\n @return poolId The ID of the pool"},"functionSelector":"e1007d4a","implemented":true,"kind":"function","modifiers":[],"name":"createPoolWithCustomStrategy","nameLocation":"10290:28:0","parameters":{"id":141,"nodeType":"ParameterList","parameters":[{"constant":false,"id":126,"mutability":"mutable","name":"_profileId","nameLocation":"10336:10:0","nodeType":"VariableDeclaration","scope":175,"src":"10328:18:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":125,"name":"bytes32","nodeType":"ElementaryTypeName","src":"10328:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":128,"mutability":"mutable","name":"_strategy","nameLocation":"10364:9:0","nodeType":"VariableDeclaration","scope":175,"src":"10356:17:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":127,"name":"address","nodeType":"ElementaryTypeName","src":"10356:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":130,"mutability":"mutable","name":"_initStrategyData","nameLocation":"10396:17:0","nodeType":"VariableDeclaration","scope":175,"src":"10383:30:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":129,"name":"bytes","nodeType":"ElementaryTypeName","src":"10383:5:0","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":132,"mutability":"mutable","name":"_token","nameLocation":"10431:6:0","nodeType":"VariableDeclaration","scope":175,"src":"10423:14:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":131,"name":"address","nodeType":"ElementaryTypeName","src":"10423:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":134,"mutability":"mutable","name":"_amount","nameLocation":"10455:7:0","nodeType":"VariableDeclaration","scope":175,"src":"10447:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":133,"name":"uint256","nodeType":"ElementaryTypeName","src":"10447:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":137,"mutability":"mutable","name":"_metadata","nameLocation":"10488:9:0","nodeType":"VariableDeclaration","scope":175,"src":"10472:25:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata"},"typeName":{"id":136,"nodeType":"UserDefinedTypeName","pathNode":{"id":135,"name":"Metadata","nameLocations":["10472:8:0"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"10472:8:0"},"referencedDeclaration":3098,"src":"10472:8:0","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"},{"constant":false,"id":140,"mutability":"mutable","name":"_managers","nameLocation":"10524:9:0","nodeType":"VariableDeclaration","scope":175,"src":"10507:26:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":138,"name":"address","nodeType":"ElementaryTypeName","src":"10507:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":139,"nodeType":"ArrayTypeName","src":"10507:9:0","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"10318:221:0"},"returnParameters":{"id":144,"nodeType":"ParameterList","parameters":[{"constant":false,"id":143,"mutability":"mutable","name":"poolId","nameLocation":"10574:6:0","nodeType":"VariableDeclaration","scope":175,"src":"10566:14:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":142,"name":"uint256","nodeType":"ElementaryTypeName","src":"10566:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10565:16:0"},"scope":1390,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":229,"nodeType":"FunctionDefinition","src":"11971:701:0","nodes":[],"body":{"id":228,"nodeType":"Block","src":"12267:405:0","nodes":[],"statements":[{"condition":{"id":202,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"12281:32:0","subExpression":{"arguments":[{"id":200,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":180,"src":"12303:9:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":199,"name":"_isCloneableStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1135,"src":"12282:20:0","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":201,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12282:31:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":207,"nodeType":"IfStatement","src":"12277:93:0","trueBody":{"id":206,"nodeType":"Block","src":"12315:55:0","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":203,"name":"NOT_APPROVED_STRATEGY","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3035,"src":"12336:21:0","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":204,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12336:23:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":205,"nodeType":"RevertStatement","src":"12329:30:0"}]}},{"expression":{"arguments":[{"id":209,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":178,"src":"12451:10:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"arguments":[{"id":213,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":180,"src":"12503:9:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":218,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"12514:21:0","subExpression":{"baseExpression":{"id":214,"name":"_nonces","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52,"src":"12514:7:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":217,"indexExpression":{"expression":{"id":215,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"12522:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":216,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12526:6:0","memberName":"sender","nodeType":"MemberAccess","src":"12522:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"12514:19:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":211,"name":"Clone","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3002,"src":"12485:5:0","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Clone_$3002_$","typeString":"type(library Clone)"}},"id":212,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12491:11:0","memberName":"createClone","nodeType":"MemberAccess","referencedDeclaration":3001,"src":"12485:17:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_address_$","typeString":"function (address,uint256) returns (address)"}},"id":219,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12485:51:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":210,"name":"IStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2969,"src":"12475:9:0","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IStrategy_$2969_$","typeString":"type(contract IStrategy)"}},"id":220,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12475:62:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}},{"id":221,"name":"_initStrategyData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":182,"src":"12551:17:0","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":222,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":184,"src":"12582:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":223,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":186,"src":"12602:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":224,"name":"_metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":189,"src":"12623:9:0","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}},{"id":225,"name":"_managers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":192,"src":"12646:9:0","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"},{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}],"id":208,"name":"_createPool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":925,"src":"12426:11:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_contract$_IStrategy_$2969_$_t_bytes_memory_ptr_$_t_address_$_t_uint256_$_t_struct$_Metadata_$3098_memory_ptr_$_t_array$_t_address_$dyn_memory_ptr_$returns$_t_uint256_$","typeString":"function (bytes32,contract IStrategy,bytes memory,address,uint256,struct Metadata memory,address[] memory) returns (uint256)"}},"id":226,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12426:239:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":198,"id":227,"nodeType":"Return","src":"12419:246:0"}]},"documentation":{"id":176,"nodeType":"StructuredDocumentation","src":"11171:795:0","text":"@notice Creates a new pool (by cloning a cloneable strategies).\n @dev 'msg.sender' must be owner or member of the profile id passed as '_profileId'.\n @param _profileId The ID of the registry profile, used to check if 'msg.sender' is a member or owner of the profile\n @param _strategy The address of the strategy contract the pool will use.\n @param _initStrategyData The data to initialize the strategy\n @param _token The address of the token\n @param _amount The amount of the token\n @param _metadata The metadata of the pool\n @param _managers The managers of the pool\n @custom:initstrategydata The encoded data will be specific to a given strategy requirements,\n reference the strategy implementation of 'initialize()'"},"functionSelector":"77da8caf","implemented":true,"kind":"function","modifiers":[{"id":195,"kind":"modifierInvocation","modifierName":{"id":194,"name":"nonReentrant","nameLocations":["12229:12:0"],"nodeType":"IdentifierPath","referencedDeclaration":53236,"src":"12229:12:0"},"nodeType":"ModifierInvocation","src":"12229:12:0"}],"name":"createPool","nameLocation":"11980:10:0","parameters":{"id":193,"nodeType":"ParameterList","parameters":[{"constant":false,"id":178,"mutability":"mutable","name":"_profileId","nameLocation":"12008:10:0","nodeType":"VariableDeclaration","scope":229,"src":"12000:18:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":177,"name":"bytes32","nodeType":"ElementaryTypeName","src":"12000:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":180,"mutability":"mutable","name":"_strategy","nameLocation":"12036:9:0","nodeType":"VariableDeclaration","scope":229,"src":"12028:17:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":179,"name":"address","nodeType":"ElementaryTypeName","src":"12028:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":182,"mutability":"mutable","name":"_initStrategyData","nameLocation":"12068:17:0","nodeType":"VariableDeclaration","scope":229,"src":"12055:30:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":181,"name":"bytes","nodeType":"ElementaryTypeName","src":"12055:5:0","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":184,"mutability":"mutable","name":"_token","nameLocation":"12103:6:0","nodeType":"VariableDeclaration","scope":229,"src":"12095:14:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":183,"name":"address","nodeType":"ElementaryTypeName","src":"12095:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":186,"mutability":"mutable","name":"_amount","nameLocation":"12127:7:0","nodeType":"VariableDeclaration","scope":229,"src":"12119:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":185,"name":"uint256","nodeType":"ElementaryTypeName","src":"12119:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":189,"mutability":"mutable","name":"_metadata","nameLocation":"12160:9:0","nodeType":"VariableDeclaration","scope":229,"src":"12144:25:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata"},"typeName":{"id":188,"nodeType":"UserDefinedTypeName","pathNode":{"id":187,"name":"Metadata","nameLocations":["12144:8:0"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"12144:8:0"},"referencedDeclaration":3098,"src":"12144:8:0","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"},{"constant":false,"id":192,"mutability":"mutable","name":"_managers","nameLocation":"12196:9:0","nodeType":"VariableDeclaration","scope":229,"src":"12179:26:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":190,"name":"address","nodeType":"ElementaryTypeName","src":"12179:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":191,"nodeType":"ArrayTypeName","src":"12179:9:0","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"11990:221:0"},"returnParameters":{"id":198,"nodeType":"ParameterList","parameters":[{"constant":false,"id":197,"mutability":"mutable","name":"poolId","nameLocation":"12259:6:0","nodeType":"VariableDeclaration","scope":229,"src":"12251:14:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":196,"name":"uint256","nodeType":"ElementaryTypeName","src":"12251:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12250:16:0"},"scope":1390,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":260,"nodeType":"FunctionDefinition","src":"12894:247:0","nodes":[],"body":{"id":259,"nodeType":"Block","src":"13000:141:0","nodes":[],"statements":[{"assignments":[243],"declarations":[{"constant":false,"id":243,"mutability":"mutable","name":"pool","nameLocation":"13023:4:0","nodeType":"VariableDeclaration","scope":259,"src":"13010:17:0","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool"},"typeName":{"id":242,"nodeType":"UserDefinedTypeName","pathNode":{"id":241,"name":"Pool","nameLocations":["13010:4:0"],"nodeType":"IdentifierPath","referencedDeclaration":2319,"src":"13010:4:0"},"referencedDeclaration":2319,"src":"13010:4:0","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool"}},"visibility":"internal"}],"id":247,"initialValue":{"baseExpression":{"id":244,"name":"pools","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58,"src":"13030:5:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Pool_$2319_storage_$","typeString":"mapping(uint256 => struct IAllo.Pool storage ref)"}},"id":246,"indexExpression":{"id":245,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":232,"src":"13036:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"13030:14:0","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage","typeString":"struct IAllo.Pool storage ref"}},"nodeType":"VariableDeclarationStatement","src":"13010:34:0"},{"expression":{"id":252,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":248,"name":"pool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":243,"src":"13054:4:0","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool storage pointer"}},"id":250,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"13059:8:0","memberName":"metadata","nodeType":"MemberAccess","referencedDeclaration":2314,"src":"13054:13:0","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage","typeString":"struct Metadata storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":251,"name":"_metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":235,"src":"13070:9:0","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}},"src":"13054:25:0","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage","typeString":"struct Metadata storage ref"}},"id":253,"nodeType":"ExpressionStatement","src":"13054:25:0"},{"eventCall":{"arguments":[{"id":255,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":232,"src":"13115:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":256,"name":"_metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":235,"src":"13124:9:0","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}],"id":254,"name":"PoolMetadataUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2344,"src":"13095:19:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_struct$_Metadata_$3098_memory_ptr_$returns$__$","typeString":"function (uint256,struct Metadata memory)"}},"id":257,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13095:39:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":258,"nodeType":"EmitStatement","src":"13090:44:0"}]},"baseFunctions":[2413],"documentation":{"id":230,"nodeType":"StructuredDocumentation","src":"12678:211:0","text":"@notice Update pool metadata\n @dev 'msg.sender' must be a pool manager. Emits 'PoolMetadataUpdated()' event.\n @param _poolId ID of the pool\n @param _metadata The new metadata of the pool"},"functionSelector":"5f9ca138","implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":238,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":232,"src":"12991:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":239,"kind":"modifierInvocation","modifierName":{"id":237,"name":"onlyPoolManager","nameLocations":["12975:15:0"],"nodeType":"IdentifierPath","referencedDeclaration":112,"src":"12975:15:0"},"nodeType":"ModifierInvocation","src":"12975:24:0"}],"name":"updatePoolMetadata","nameLocation":"12903:18:0","parameters":{"id":236,"nodeType":"ParameterList","parameters":[{"constant":false,"id":232,"mutability":"mutable","name":"_poolId","nameLocation":"12930:7:0","nodeType":"VariableDeclaration","scope":260,"src":"12922:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":231,"name":"uint256","nodeType":"ElementaryTypeName","src":"12922:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":235,"mutability":"mutable","name":"_metadata","nameLocation":"12955:9:0","nodeType":"VariableDeclaration","scope":260,"src":"12939:25:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata"},"typeName":{"id":234,"nodeType":"UserDefinedTypeName","pathNode":{"id":233,"name":"Metadata","nameLocations":["12939:8:0"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"12939:8:0"},"referencedDeclaration":3098,"src":"12939:8:0","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"}],"src":"12921:44:0"},"returnParameters":{"id":240,"nodeType":"ParameterList","parameters":[],"src":"13000:0:0"},"scope":1390,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":273,"nodeType":"FunctionDefinition","src":"13330:105:0","nodes":[],"body":{"id":272,"nodeType":"Block","src":"13392:43:0","nodes":[],"statements":[{"expression":{"arguments":[{"id":269,"name":"_registry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":263,"src":"13418:9:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":268,"name":"_updateRegistry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1205,"src":"13402:15:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":270,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13402:26:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":271,"nodeType":"ExpressionStatement","src":"13402:26:0"}]},"baseFunctions":[2419],"documentation":{"id":261,"nodeType":"StructuredDocumentation","src":"13147:178:0","text":"@notice Updates the registry address.\n @dev Use this to update the registry address. 'msg.sender' must be Allo owner.\n @param _registry The new registry address"},"functionSelector":"1a5da6c8","implemented":true,"kind":"function","modifiers":[{"id":266,"kind":"modifierInvocation","modifierName":{"id":265,"name":"onlyOwner","nameLocations":["13382:9:0"],"nodeType":"IdentifierPath","referencedDeclaration":4094,"src":"13382:9:0"},"nodeType":"ModifierInvocation","src":"13382:9:0"}],"name":"updateRegistry","nameLocation":"13339:14:0","parameters":{"id":264,"nodeType":"ParameterList","parameters":[{"constant":false,"id":263,"mutability":"mutable","name":"_registry","nameLocation":"13362:9:0","nodeType":"VariableDeclaration","scope":273,"src":"13354:17:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":262,"name":"address","nodeType":"ElementaryTypeName","src":"13354:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"13353:19:0"},"returnParameters":{"id":267,"nodeType":"ParameterList","parameters":[],"src":"13392:0:0"},"scope":1390,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":286,"nodeType":"FunctionDefinition","src":"13624:113:0","nodes":[],"body":{"id":285,"nodeType":"Block","src":"13694:43:0","nodes":[],"statements":[{"expression":{"arguments":[{"id":282,"name":"_treasury","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":276,"src":"13720:9:0","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":281,"name":"_updateTreasury","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1230,"src":"13704:15:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_payable_$returns$__$","typeString":"function (address payable)"}},"id":283,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13704:26:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":284,"nodeType":"ExpressionStatement","src":"13704:26:0"}]},"baseFunctions":[2425],"documentation":{"id":274,"nodeType":"StructuredDocumentation","src":"13441:178:0","text":"@notice Updates the treasury address.\n @dev Use this to update the treasury address. 'msg.sender' must be Allo owner.\n @param _treasury The new treasury address"},"functionSelector":"7f51bb1f","implemented":true,"kind":"function","modifiers":[{"id":279,"kind":"modifierInvocation","modifierName":{"id":278,"name":"onlyOwner","nameLocations":["13684:9:0"],"nodeType":"IdentifierPath","referencedDeclaration":4094,"src":"13684:9:0"},"nodeType":"ModifierInvocation","src":"13684:9:0"}],"name":"updateTreasury","nameLocation":"13633:14:0","parameters":{"id":277,"nodeType":"ParameterList","parameters":[{"constant":false,"id":276,"mutability":"mutable","name":"_treasury","nameLocation":"13664:9:0","nodeType":"VariableDeclaration","scope":286,"src":"13648:25:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"},"typeName":{"id":275,"name":"address","nodeType":"ElementaryTypeName","src":"13648:15:0","stateMutability":"payable","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"visibility":"internal"}],"src":"13647:27:0"},"returnParameters":{"id":280,"nodeType":"ParameterList","parameters":[],"src":"13694:0:0"},"scope":1390,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":299,"nodeType":"FunctionDefinition","src":"13911:113:0","nodes":[],"body":{"id":298,"nodeType":"Block","src":"13977:47:0","nodes":[],"statements":[{"expression":{"arguments":[{"id":295,"name":"_percentFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":289,"src":"14005:11:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":294,"name":"_updatePercentFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1252,"src":"13987:17:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":296,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13987:30:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":297,"nodeType":"ExpressionStatement","src":"13987:30:0"}]},"baseFunctions":[2431],"documentation":{"id":287,"nodeType":"StructuredDocumentation","src":"13743:163:0","text":"@notice Updates the fee percentage.\n @dev Use this to update the fee percentage. 'msg.sender' must be Allo owner.\n @param _percentFee The new fee"},"functionSelector":"f54fc4a0","implemented":true,"kind":"function","modifiers":[{"id":292,"kind":"modifierInvocation","modifierName":{"id":291,"name":"onlyOwner","nameLocations":["13967:9:0"],"nodeType":"IdentifierPath","referencedDeclaration":4094,"src":"13967:9:0"},"nodeType":"ModifierInvocation","src":"13967:9:0"}],"name":"updatePercentFee","nameLocation":"13920:16:0","parameters":{"id":290,"nodeType":"ParameterList","parameters":[{"constant":false,"id":289,"mutability":"mutable","name":"_percentFee","nameLocation":"13945:11:0","nodeType":"VariableDeclaration","scope":299,"src":"13937:19:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":288,"name":"uint256","nodeType":"ElementaryTypeName","src":"13937:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13936:21:0"},"returnParameters":{"id":293,"nodeType":"ParameterList","parameters":[],"src":"13977:0:0"},"scope":1390,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":312,"nodeType":"FunctionDefinition","src":"14188:101:0","nodes":[],"body":{"id":311,"nodeType":"Block","src":"14248:41:0","nodes":[],"statements":[{"expression":{"arguments":[{"id":308,"name":"_baseFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":302,"src":"14273:8:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":307,"name":"_updateBaseFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1267,"src":"14258:14:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":309,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14258:24:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":310,"nodeType":"ExpressionStatement","src":"14258:24:0"}]},"baseFunctions":[2437],"documentation":{"id":300,"nodeType":"StructuredDocumentation","src":"14030:153:0","text":"@notice Updates the base fee.\n @dev Use this to update the base fee. 'msg.sender' must be Allo owner.\n @param _baseFee The new base fee"},"functionSelector":"8e690186","implemented":true,"kind":"function","modifiers":[{"id":305,"kind":"modifierInvocation","modifierName":{"id":304,"name":"onlyOwner","nameLocations":["14238:9:0"],"nodeType":"IdentifierPath","referencedDeclaration":4094,"src":"14238:9:0"},"nodeType":"ModifierInvocation","src":"14238:9:0"}],"name":"updateBaseFee","nameLocation":"14197:13:0","parameters":{"id":303,"nodeType":"ParameterList","parameters":[{"constant":false,"id":302,"mutability":"mutable","name":"_baseFee","nameLocation":"14219:8:0","nodeType":"VariableDeclaration","scope":312,"src":"14211:16:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":301,"name":"uint256","nodeType":"ElementaryTypeName","src":"14211:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"14210:18:0"},"returnParameters":{"id":306,"nodeType":"ParameterList","parameters":[],"src":"14248:0:0"},"scope":1390,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":341,"nodeType":"FunctionDefinition","src":"14481:229:0","nodes":[],"body":{"id":340,"nodeType":"Block","src":"14553:157:0","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":325,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":320,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":315,"src":"14567:9:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":323,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14588:1:0","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":322,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"14580:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":321,"name":"address","nodeType":"ElementaryTypeName","src":"14580:7:0","typeDescriptions":{}}},"id":324,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14580:10:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"14567:23:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":329,"nodeType":"IfStatement","src":"14563:50:0","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":326,"name":"ZERO_ADDRESS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3020,"src":"14599:12:0","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":327,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14599:14:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":328,"nodeType":"RevertStatement","src":"14592:21:0"}},{"expression":{"id":334,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":330,"name":"cloneableStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63,"src":"14624:19:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":332,"indexExpression":{"id":331,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":315,"src":"14644:9:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"14624:30:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":333,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"14657:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"14624:37:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":335,"nodeType":"ExpressionStatement","src":"14624:37:0"},{"eventCall":{"arguments":[{"id":337,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":315,"src":"14693:9:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":336,"name":"StrategyApproved","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2385,"src":"14676:16:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":338,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14676:27:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":339,"nodeType":"EmitStatement","src":"14671:32:0"}]},"baseFunctions":[2443],"documentation":{"id":313,"nodeType":"StructuredDocumentation","src":"14295:181:0","text":"@notice Add a strategy to the allowlist.\n @dev Emits the 'StrategyApproved()' event. 'msg.sender' must be Allo owner.\n @param _strategy The address of the strategy"},"functionSelector":"41bba0b4","implemented":true,"kind":"function","modifiers":[{"id":318,"kind":"modifierInvocation","modifierName":{"id":317,"name":"onlyOwner","nameLocations":["14543:9:0"],"nodeType":"IdentifierPath","referencedDeclaration":4094,"src":"14543:9:0"},"nodeType":"ModifierInvocation","src":"14543:9:0"}],"name":"addToCloneableStrategies","nameLocation":"14490:24:0","parameters":{"id":316,"nodeType":"ParameterList","parameters":[{"constant":false,"id":315,"mutability":"mutable","name":"_strategy","nameLocation":"14523:9:0","nodeType":"VariableDeclaration","scope":341,"src":"14515:17:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":314,"name":"address","nodeType":"ElementaryTypeName","src":"14515:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"14514:19:0"},"returnParameters":{"id":319,"nodeType":"ParameterList","parameters":[],"src":"14553:0:0"},"scope":1390,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":360,"nodeType":"FunctionDefinition","src":"14900:288:0","nodes":[],"body":{"id":359,"nodeType":"Block","src":"14977:211:0","nodes":[],"statements":[{"expression":{"id":353,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":349,"name":"cloneableStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63,"src":"15059:19:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":351,"indexExpression":{"id":350,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":344,"src":"15079:9:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"15059:30:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"66616c7365","id":352,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"15092:5:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"src":"15059:38:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":354,"nodeType":"ExpressionStatement","src":"15059:38:0"},{"eventCall":{"arguments":[{"id":356,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":344,"src":"15171:9:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":355,"name":"StrategyRemoved","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2390,"src":"15155:15:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":357,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15155:26:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":358,"nodeType":"EmitStatement","src":"15150:31:0"}]},"baseFunctions":[2449],"documentation":{"id":342,"nodeType":"StructuredDocumentation","src":"14716:179:0","text":"@notice Remove a strategy from the allowlist\n @dev Emits 'StrategyRemoved()' event. 'msg.sender must be Allo owner.\n @param _strategy The address of the strategy"},"functionSelector":"031e2fa1","implemented":true,"kind":"function","modifiers":[{"id":347,"kind":"modifierInvocation","modifierName":{"id":346,"name":"onlyOwner","nameLocations":["14967:9:0"],"nodeType":"IdentifierPath","referencedDeclaration":4094,"src":"14967:9:0"},"nodeType":"ModifierInvocation","src":"14967:9:0"}],"name":"removeFromCloneableStrategies","nameLocation":"14909:29:0","parameters":{"id":345,"nodeType":"ParameterList","parameters":[{"constant":false,"id":344,"mutability":"mutable","name":"_strategy","nameLocation":"14947:9:0","nodeType":"VariableDeclaration","scope":360,"src":"14939:17:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":343,"name":"address","nodeType":"ElementaryTypeName","src":"14939:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"14938:19:0"},"returnParameters":{"id":348,"nodeType":"ParameterList","parameters":[],"src":"14977:0:0"},"scope":1390,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":390,"nodeType":"FunctionDefinition","src":"15387:358:0","nodes":[],"body":{"id":389,"nodeType":"Block","src":"15478:267:0","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":376,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":371,"name":"_manager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":365,"src":"15568:8:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":374,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15588:1:0","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":373,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"15580:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":372,"name":"address","nodeType":"ElementaryTypeName","src":"15580:7:0","typeDescriptions":{}}},"id":375,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15580:10:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"15568:22:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":380,"nodeType":"IfStatement","src":"15564:49:0","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":377,"name":"ZERO_ADDRESS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3020,"src":"15599:12:0","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":378,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15599:14:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":379,"nodeType":"RevertStatement","src":"15592:21:0"}},{"expression":{"arguments":[{"expression":{"baseExpression":{"id":382,"name":"pools","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58,"src":"15701:5:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Pool_$2319_storage_$","typeString":"mapping(uint256 => struct IAllo.Pool storage ref)"}},"id":384,"indexExpression":{"id":383,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":363,"src":"15707:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15701:14:0","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage","typeString":"struct IAllo.Pool storage ref"}},"id":385,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15716:11:0","memberName":"managerRole","nodeType":"MemberAccess","referencedDeclaration":2316,"src":"15701:26:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":386,"name":"_manager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":365,"src":"15729:8:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":381,"name":"_grantRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52699,"src":"15690:10:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$","typeString":"function (bytes32,address)"}},"id":387,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15690:48:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":388,"nodeType":"ExpressionStatement","src":"15690:48:0"}]},"baseFunctions":[2457],"documentation":{"id":361,"nodeType":"StructuredDocumentation","src":"15194:188:0","text":"@notice Add a pool manager\n @dev Emits 'RoleGranted()' event. 'msg.sender' must be a pool admin.\n @param _poolId ID of the pool\n @param _manager The address to add"},"functionSelector":"2cf682b0","implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":368,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":363,"src":"15469:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":369,"kind":"modifierInvocation","modifierName":{"id":367,"name":"onlyPoolAdmin","nameLocations":["15455:13:0"],"nodeType":"IdentifierPath","referencedDeclaration":123,"src":"15455:13:0"},"nodeType":"ModifierInvocation","src":"15455:22:0"}],"name":"addPoolManager","nameLocation":"15396:14:0","parameters":{"id":366,"nodeType":"ParameterList","parameters":[{"constant":false,"id":363,"mutability":"mutable","name":"_poolId","nameLocation":"15419:7:0","nodeType":"VariableDeclaration","scope":390,"src":"15411:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":362,"name":"uint256","nodeType":"ElementaryTypeName","src":"15411:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":365,"mutability":"mutable","name":"_manager","nameLocation":"15436:8:0","nodeType":"VariableDeclaration","scope":390,"src":"15428:16:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":364,"name":"address","nodeType":"ElementaryTypeName","src":"15428:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"15410:35:0"},"returnParameters":{"id":370,"nodeType":"ParameterList","parameters":[],"src":"15478:0:0"},"scope":1390,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":410,"nodeType":"FunctionDefinition","src":"15950:160:0","nodes":[],"body":{"id":409,"nodeType":"Block","src":"16044:66:0","nodes":[],"statements":[{"expression":{"arguments":[{"expression":{"baseExpression":{"id":402,"name":"pools","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58,"src":"16066:5:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Pool_$2319_storage_$","typeString":"mapping(uint256 => struct IAllo.Pool storage ref)"}},"id":404,"indexExpression":{"id":403,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":393,"src":"16072:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"16066:14:0","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage","typeString":"struct IAllo.Pool storage ref"}},"id":405,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"16081:11:0","memberName":"managerRole","nodeType":"MemberAccess","referencedDeclaration":2316,"src":"16066:26:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":406,"name":"_manager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":395,"src":"16094:8:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":401,"name":"_revokeRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52730,"src":"16054:11:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$","typeString":"function (bytes32,address)"}},"id":407,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16054:49:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":408,"nodeType":"ExpressionStatement","src":"16054:49:0"}]},"baseFunctions":[2465],"documentation":{"id":391,"nodeType":"StructuredDocumentation","src":"15751:194:0","text":"@notice Remove a pool manager\n @dev Emits 'RoleRevoked()' event. 'msg.sender' must be a pool admin.\n @param _poolId ID of the pool\n @param _manager The address to remove"},"functionSelector":"7f5a70bd","implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":398,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":393,"src":"16035:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":399,"kind":"modifierInvocation","modifierName":{"id":397,"name":"onlyPoolAdmin","nameLocations":["16021:13:0"],"nodeType":"IdentifierPath","referencedDeclaration":123,"src":"16021:13:0"},"nodeType":"ModifierInvocation","src":"16021:22:0"}],"name":"removePoolManager","nameLocation":"15959:17:0","parameters":{"id":396,"nodeType":"ParameterList","parameters":[{"constant":false,"id":393,"mutability":"mutable","name":"_poolId","nameLocation":"15985:7:0","nodeType":"VariableDeclaration","scope":410,"src":"15977:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":392,"name":"uint256","nodeType":"ElementaryTypeName","src":"15977:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":395,"mutability":"mutable","name":"_manager","nameLocation":"16002:8:0","nodeType":"VariableDeclaration","scope":410,"src":"15994:16:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":394,"name":"address","nodeType":"ElementaryTypeName","src":"15994:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"15976:35:0"},"returnParameters":{"id":400,"nodeType":"ParameterList","parameters":[],"src":"16044:0:0"},"scope":1390,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":448,"nodeType":"FunctionDefinition","src":"16308:430:0","nodes":[],"body":{"id":447,"nodeType":"Block","src":"16385:353:0","nodes":[],"statements":[{"assignments":[421],"declarations":[{"constant":false,"id":421,"mutability":"mutable","name":"amount","nameLocation":"16514:6:0","nodeType":"VariableDeclaration","scope":447,"src":"16506:14:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":420,"name":"uint256","nodeType":"ElementaryTypeName","src":"16506:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":440,"initialValue":{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":424,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":422,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":413,"src":"16523:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":423,"name":"NATIVE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3105,"src":"16533:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"16523:16:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"arguments":[{"arguments":[{"id":436,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"16610:4:0","typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}],"id":435,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16602:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":434,"name":"address","nodeType":"ElementaryTypeName","src":"16602:7:0","typeDescriptions":{}}},"id":437,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16602:13:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"arguments":[{"id":431,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":413,"src":"16584:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":430,"name":"IERC20Upgradeable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53354,"src":"16566:17:0","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IERC20Upgradeable_$53354_$","typeString":"type(contract IERC20Upgradeable)"}},"id":432,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16566:25:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IERC20Upgradeable_$53354","typeString":"contract IERC20Upgradeable"}},"id":433,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16592:9:0","memberName":"balanceOf","nodeType":"MemberAccess","referencedDeclaration":53311,"src":"16566:35:0","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":438,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16566:50:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":439,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"16523:93:0","trueExpression":{"expression":{"arguments":[{"id":427,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"16550:4:0","typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}],"id":426,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16542:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":425,"name":"address","nodeType":"ElementaryTypeName","src":"16542:7:0","typeDescriptions":{}}},"id":428,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16542:13:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":429,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16556:7:0","memberName":"balance","nodeType":"MemberAccess","src":"16542:21:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"16506:110:0"},{"expression":{"arguments":[{"id":442,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":413,"src":"16704:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":443,"name":"_recipient","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":415,"src":"16712:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":444,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":421,"src":"16724:6:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":441,"name":"_transferAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3287,"src":"16688:15:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":445,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16688:43:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":446,"nodeType":"ExpressionStatement","src":"16688:43:0"}]},"baseFunctions":[2473],"documentation":{"id":411,"nodeType":"StructuredDocumentation","src":"16116:187:0","text":"@notice Transfer the funds recovered to the recipient\n @dev 'msg.sender' must be Allo owner\n @param _token The token to transfer\n @param _recipient The recipient"},"functionSelector":"24ae6a27","implemented":true,"kind":"function","modifiers":[{"id":418,"kind":"modifierInvocation","modifierName":{"id":417,"name":"onlyOwner","nameLocations":["16375:9:0"],"nodeType":"IdentifierPath","referencedDeclaration":4094,"src":"16375:9:0"},"nodeType":"ModifierInvocation","src":"16375:9:0"}],"name":"recoverFunds","nameLocation":"16317:12:0","parameters":{"id":416,"nodeType":"ParameterList","parameters":[{"constant":false,"id":413,"mutability":"mutable","name":"_token","nameLocation":"16338:6:0","nodeType":"VariableDeclaration","scope":448,"src":"16330:14:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":412,"name":"address","nodeType":"ElementaryTypeName","src":"16330:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":415,"mutability":"mutable","name":"_recipient","nameLocation":"16354:10:0","nodeType":"VariableDeclaration","scope":448,"src":"16346:18:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":414,"name":"address","nodeType":"ElementaryTypeName","src":"16346:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"16329:36:0"},"returnParameters":{"id":419,"nodeType":"ParameterList","parameters":[],"src":"16385:0:0"},"scope":1390,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":474,"nodeType":"FunctionDefinition","src":"17298:276:0","nodes":[],"body":{"id":473,"nodeType":"Block","src":"17410:164:0","nodes":[],"statements":[{"expression":{"arguments":[{"id":468,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":453,"src":"17549:5:0","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"expression":{"id":469,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"17556:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":470,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17560:6:0","memberName":"sender","nodeType":"MemberAccess","src":"17556:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"expression":{"baseExpression":{"id":460,"name":"pools","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58,"src":"17489:5:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Pool_$2319_storage_$","typeString":"mapping(uint256 => struct IAllo.Pool storage ref)"}},"id":462,"indexExpression":{"id":461,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":451,"src":"17495:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"17489:14:0","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage","typeString":"struct IAllo.Pool storage ref"}},"id":463,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"17504:8:0","memberName":"strategy","nodeType":"MemberAccess","referencedDeclaration":2309,"src":"17489:23:0","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}},"id":464,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17513:17:0","memberName":"registerRecipient","nodeType":"MemberAccess","referencedDeclaration":2949,"src":"17489:41:0","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_bytes_memory_ptr_$_t_address_$returns$_t_address_$","typeString":"function (bytes memory,address) payable external returns (address)"}},"id":467,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"names":["value"],"nodeType":"FunctionCallOptions","options":[{"expression":{"id":465,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"17538:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":466,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17542:5:0","memberName":"value","nodeType":"MemberAccess","src":"17538:9:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"src":"17489:59:0","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_bytes_memory_ptr_$_t_address_$returns$_t_address_$value","typeString":"function (bytes memory,address) payable external returns (address)"}},"id":471,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17489:78:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":459,"id":472,"nodeType":"Return","src":"17482:85:0"}]},"baseFunctions":[2483],"documentation":{"id":449,"nodeType":"StructuredDocumentation","src":"16877:416:0","text":"@notice Passes _data through to the strategy for that pool.\n @dev The encoded data will be specific to a given strategy requirements, reference the strategy\n implementation of registerRecipient().\n @param _poolId ID of the pool\n @param _data Encoded data unique to a strategy that registerRecipient() requires\n @return recipientId The recipient ID that has been registered"},"functionSelector":"075c0e9c","implemented":true,"kind":"function","modifiers":[{"id":456,"kind":"modifierInvocation","modifierName":{"id":455,"name":"nonReentrant","nameLocations":["17379:12:0"],"nodeType":"IdentifierPath","referencedDeclaration":53236,"src":"17379:12:0"},"nodeType":"ModifierInvocation","src":"17379:12:0"}],"name":"registerRecipient","nameLocation":"17307:17:0","parameters":{"id":454,"nodeType":"ParameterList","parameters":[{"constant":false,"id":451,"mutability":"mutable","name":"_poolId","nameLocation":"17333:7:0","nodeType":"VariableDeclaration","scope":474,"src":"17325:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":450,"name":"uint256","nodeType":"ElementaryTypeName","src":"17325:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":453,"mutability":"mutable","name":"_data","nameLocation":"17355:5:0","nodeType":"VariableDeclaration","scope":474,"src":"17342:18:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":452,"name":"bytes","nodeType":"ElementaryTypeName","src":"17342:5:0","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"17324:37:0"},"returnParameters":{"id":459,"nodeType":"ParameterList","parameters":[{"constant":false,"id":458,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":474,"src":"17401:7:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":457,"name":"address","nodeType":"ElementaryTypeName","src":"17401:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"17400:9:0"},"scope":1390,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":543,"nodeType":"FunctionDefinition","src":"18212:747:0","nodes":[],"body":{"id":542,"nodeType":"Block","src":"18383:576:0","nodes":[],"statements":[{"assignments":[490],"declarations":[{"constant":false,"id":490,"mutability":"mutable","name":"poolIdLength","nameLocation":"18401:12:0","nodeType":"VariableDeclaration","scope":542,"src":"18393:20:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":489,"name":"uint256","nodeType":"ElementaryTypeName","src":"18393:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":493,"initialValue":{"expression":{"id":491,"name":"_poolIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":478,"src":"18416:8:0","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":492,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18425:6:0","memberName":"length","nodeType":"MemberAccess","src":"18416:15:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"18393:38:0"},{"expression":{"id":500,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":494,"name":"recipientIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":487,"src":"18441:12:0","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":498,"name":"poolIdLength","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":490,"src":"18470:12:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":497,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"18456:13:0","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_address_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (address[] memory)"},"typeName":{"baseType":{"id":495,"name":"address","nodeType":"ElementaryTypeName","src":"18460:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":496,"nodeType":"ArrayTypeName","src":"18460:9:0","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}}},"id":499,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18456:27:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"src":"18441:42:0","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":501,"nodeType":"ExpressionStatement","src":"18441:42:0"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":505,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":502,"name":"poolIdLength","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":490,"src":"18498:12:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":503,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":481,"src":"18514:5:0","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},"id":504,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18520:6:0","memberName":"length","nodeType":"MemberAccess","src":"18514:12:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"18498:28:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":509,"nodeType":"IfStatement","src":"18494:51:0","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":506,"name":"MISMATCH","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3011,"src":"18535:8:0","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":507,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18535:10:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":508,"nodeType":"RevertStatement","src":"18528:17:0"}},{"body":{"id":538,"nodeType":"Block","src":"18693:169:0","statements":[{"expression":{"id":532,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":516,"name":"recipientIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":487,"src":"18707:12:0","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":518,"indexExpression":{"id":517,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":511,"src":"18720:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"18707:15:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"baseExpression":{"id":526,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":481,"src":"18771:5:0","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},"id":528,"indexExpression":{"id":527,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":511,"src":"18777:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"18771:8:0","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"expression":{"id":529,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"18781:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":530,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18785:6:0","memberName":"sender","nodeType":"MemberAccess","src":"18781:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"expression":{"baseExpression":{"id":519,"name":"pools","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58,"src":"18725:5:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Pool_$2319_storage_$","typeString":"mapping(uint256 => struct IAllo.Pool storage ref)"}},"id":523,"indexExpression":{"baseExpression":{"id":520,"name":"_poolIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":478,"src":"18731:8:0","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":522,"indexExpression":{"id":521,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":511,"src":"18740:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"18731:11:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"18725:18:0","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage","typeString":"struct IAllo.Pool storage ref"}},"id":524,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"18744:8:0","memberName":"strategy","nodeType":"MemberAccess","referencedDeclaration":2309,"src":"18725:27:0","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}},"id":525,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18753:17:0","memberName":"registerRecipient","nodeType":"MemberAccess","referencedDeclaration":2949,"src":"18725:45:0","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_bytes_memory_ptr_$_t_address_$returns$_t_address_$","typeString":"function (bytes memory,address) payable external returns (address)"}},"id":531,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18725:67:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"18707:85:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":533,"nodeType":"ExpressionStatement","src":"18707:85:0"},{"id":537,"nodeType":"UncheckedBlock","src":"18806:46:0","statements":[{"expression":{"id":535,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":true,"src":"18834:3:0","subExpression":{"id":534,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":511,"src":"18836:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":536,"nodeType":"ExpressionStatement","src":"18834:3:0"}]}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":515,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":513,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":511,"src":"18674:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":514,"name":"poolIdLength","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":490,"src":"18678:12:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"18674:16:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":539,"initializationExpression":{"assignments":[511],"declarations":[{"constant":false,"id":511,"mutability":"mutable","name":"i","nameLocation":"18671:1:0","nodeType":"VariableDeclaration","scope":539,"src":"18663:9:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":510,"name":"uint256","nodeType":"ElementaryTypeName","src":"18663:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":512,"nodeType":"VariableDeclarationStatement","src":"18663:9:0"},"nodeType":"ForStatement","src":"18658:204:0"},{"expression":{"id":540,"name":"recipientIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":487,"src":"18940:12:0","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"functionReturnParameters":488,"id":541,"nodeType":"Return","src":"18933:19:0"}]},"baseFunctions":[2496],"documentation":{"id":475,"nodeType":"StructuredDocumentation","src":"17580:627:0","text":"@notice Register multiple recipients to multiple pools.\n @dev Returns the 'recipientIds' from the strategy that have been registered from calling this function.\n Encoded data unique to a strategy that registerRecipient() requires. Encoded '_data' length must match\n '_poolIds' length or this will revert with MISMATCH(). Other requirements will be determined by the strategy.\n @param _poolIds ID's of the pools\n @param _data An array of encoded data unique to a strategy that registerRecipient() requires.\n @return recipientIds The recipient IDs that have been registered"},"functionSelector":"1a20bd88","implemented":true,"kind":"function","modifiers":[{"id":484,"kind":"modifierInvocation","modifierName":{"id":483,"name":"nonReentrant","nameLocations":["18318:12:0"],"nodeType":"IdentifierPath","referencedDeclaration":53236,"src":"18318:12:0"},"nodeType":"ModifierInvocation","src":"18318:12:0"}],"name":"batchRegisterRecipient","nameLocation":"18221:22:0","parameters":{"id":482,"nodeType":"ParameterList","parameters":[{"constant":false,"id":478,"mutability":"mutable","name":"_poolIds","nameLocation":"18261:8:0","nodeType":"VariableDeclaration","scope":543,"src":"18244:25:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":476,"name":"uint256","nodeType":"ElementaryTypeName","src":"18244:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":477,"nodeType":"ArrayTypeName","src":"18244:9:0","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":481,"mutability":"mutable","name":"_data","nameLocation":"18286:5:0","nodeType":"VariableDeclaration","scope":543,"src":"18271:20:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":479,"name":"bytes","nodeType":"ElementaryTypeName","src":"18271:5:0","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":480,"nodeType":"ArrayTypeName","src":"18271:7:0","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"18243:49:0"},"returnParameters":{"id":488,"nodeType":"ParameterList","parameters":[{"constant":false,"id":487,"mutability":"mutable","name":"recipientIds","nameLocation":"18365:12:0","nodeType":"VariableDeclaration","scope":543,"src":"18348:29:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":485,"name":"address","nodeType":"ElementaryTypeName","src":"18348:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":486,"nodeType":"ArrayTypeName","src":"18348:9:0","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"18347:31:0"},"scope":1390,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":588,"nodeType":"FunctionDefinition","src":"19156:439:0","nodes":[],"body":{"id":587,"nodeType":"Block","src":"19238:357:0","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":555,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":553,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":548,"src":"19318:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":554,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"19329:1:0","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"19318:12:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":559,"nodeType":"IfStatement","src":"19314:43:0","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":556,"name":"NOT_ENOUGH_FUNDS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3014,"src":"19339:16:0","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":557,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19339:18:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":558,"nodeType":"RevertStatement","src":"19332:25:0"}},{"assignments":[562],"declarations":[{"constant":false,"id":562,"mutability":"mutable","name":"pool","nameLocation":"19380:4:0","nodeType":"VariableDeclaration","scope":587,"src":"19368:16:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool"},"typeName":{"id":561,"nodeType":"UserDefinedTypeName","pathNode":{"id":560,"name":"Pool","nameLocations":["19368:4:0"],"nodeType":"IdentifierPath","referencedDeclaration":2319,"src":"19368:4:0"},"referencedDeclaration":2319,"src":"19368:4:0","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool"}},"visibility":"internal"}],"id":566,"initialValue":{"baseExpression":{"id":563,"name":"pools","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58,"src":"19387:5:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Pool_$2319_storage_$","typeString":"mapping(uint256 => struct IAllo.Pool storage ref)"}},"id":565,"indexExpression":{"id":564,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":546,"src":"19393:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"19387:14:0","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage","typeString":"struct IAllo.Pool storage ref"}},"nodeType":"VariableDeclarationStatement","src":"19368:33:0"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":575,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":570,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":567,"name":"pool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":562,"src":"19415:4:0","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"id":568,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"19420:5:0","memberName":"token","nodeType":"MemberAccess","referencedDeclaration":2311,"src":"19415:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":569,"name":"NATIVE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3105,"src":"19429:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"19415:20:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":574,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":571,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":548,"src":"19439:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":572,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"19450:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":573,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19454:5:0","memberName":"value","nodeType":"MemberAccess","src":"19450:9:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"19439:20:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"19415:44:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":579,"nodeType":"IfStatement","src":"19411:75:0","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":576,"name":"NOT_ENOUGH_FUNDS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3014,"src":"19468:16:0","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":577,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19468:18:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":578,"nodeType":"RevertStatement","src":"19461:25:0"}},{"expression":{"arguments":[{"id":581,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":548,"src":"19556:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":582,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":546,"src":"19565:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":583,"name":"pool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":562,"src":"19574:4:0","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"id":584,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"19579:8:0","memberName":"strategy","nodeType":"MemberAccess","referencedDeclaration":2309,"src":"19574:13:0","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}],"id":580,"name":"_fundPool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1122,"src":"19546:9:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_contract$_IStrategy_$2969_$returns$__$","typeString":"function (uint256,uint256,contract IStrategy)"}},"id":585,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19546:42:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":586,"nodeType":"ExpressionStatement","src":"19546:42:0"}]},"baseFunctions":[2504],"documentation":{"id":544,"nodeType":"StructuredDocumentation","src":"18965:186:0","text":"@notice Fund a pool.\n @dev Anyone can fund a pool and call this function.\n @param _poolId ID of the pool\n @param _amount The amount to be deposited into the pool"},"functionSelector":"5acd6fac","implemented":true,"kind":"function","modifiers":[{"id":551,"kind":"modifierInvocation","modifierName":{"id":550,"name":"nonReentrant","nameLocations":["19225:12:0"],"nodeType":"IdentifierPath","referencedDeclaration":53236,"src":"19225:12:0"},"nodeType":"ModifierInvocation","src":"19225:12:0"}],"name":"fundPool","nameLocation":"19165:8:0","parameters":{"id":549,"nodeType":"ParameterList","parameters":[{"constant":false,"id":546,"mutability":"mutable","name":"_poolId","nameLocation":"19182:7:0","nodeType":"VariableDeclaration","scope":588,"src":"19174:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":545,"name":"uint256","nodeType":"ElementaryTypeName","src":"19174:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":548,"mutability":"mutable","name":"_amount","nameLocation":"19199:7:0","nodeType":"VariableDeclaration","scope":588,"src":"19191:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":547,"name":"uint256","nodeType":"ElementaryTypeName","src":"19191:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"19173:34:0"},"returnParameters":{"id":552,"nodeType":"ParameterList","parameters":[],"src":"19238:0:0"},"scope":1390,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":604,"nodeType":"FunctionDefinition","src":"19921:127:0","nodes":[],"body":{"id":603,"nodeType":"Block","src":"20006:42:0","nodes":[],"statements":[{"expression":{"arguments":[{"id":599,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":591,"src":"20026:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":600,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":593,"src":"20035:5:0","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":598,"name":"_allocate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":947,"src":"20016:9:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (uint256,bytes memory)"}},"id":601,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20016:25:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":602,"nodeType":"ExpressionStatement","src":"20016:25:0"}]},"baseFunctions":[2512],"documentation":{"id":589,"nodeType":"StructuredDocumentation","src":"19601:315:0","text":"@notice Allocate to a recipient or multiple recipients.\n @dev The encoded data will be specific to a given strategy requirements, reference the strategy\n implementation of allocate().\n @param _poolId ID of the pool\n @param _data Encoded data unique to the strategy for that pool"},"functionSelector":"2ec38188","implemented":true,"kind":"function","modifiers":[{"id":596,"kind":"modifierInvocation","modifierName":{"id":595,"name":"nonReentrant","nameLocations":["19993:12:0"],"nodeType":"IdentifierPath","referencedDeclaration":53236,"src":"19993:12:0"},"nodeType":"ModifierInvocation","src":"19993:12:0"}],"name":"allocate","nameLocation":"19930:8:0","parameters":{"id":594,"nodeType":"ParameterList","parameters":[{"constant":false,"id":591,"mutability":"mutable","name":"_poolId","nameLocation":"19947:7:0","nodeType":"VariableDeclaration","scope":604,"src":"19939:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":590,"name":"uint256","nodeType":"ElementaryTypeName","src":"19939:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":593,"mutability":"mutable","name":"_data","nameLocation":"19969:5:0","nodeType":"VariableDeclaration","scope":604,"src":"19956:18:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":592,"name":"bytes","nodeType":"ElementaryTypeName","src":"19956:5:0","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"19938:37:0"},"returnParameters":{"id":597,"nodeType":"ParameterList","parameters":[],"src":"20006:0:0"},"scope":1390,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":651,"nodeType":"FunctionDefinition","src":"20511:559:0","nodes":[],"body":{"id":650,"nodeType":"Block","src":"20608:462:0","nodes":[],"statements":[{"assignments":[617],"declarations":[{"constant":false,"id":617,"mutability":"mutable","name":"numPools","nameLocation":"20626:8:0","nodeType":"VariableDeclaration","scope":650,"src":"20618:16:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":616,"name":"uint256","nodeType":"ElementaryTypeName","src":"20618:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":620,"initialValue":{"expression":{"id":618,"name":"_poolIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":608,"src":"20637:8:0","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_calldata_ptr","typeString":"uint256[] calldata"}},"id":619,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20646:6:0","memberName":"length","nodeType":"MemberAccess","src":"20637:15:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"20618:34:0"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":624,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":621,"name":"numPools","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":617,"src":"20772:8:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":622,"name":"_datas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":611,"src":"20784:6:0","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},"id":623,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20791:6:0","memberName":"length","nodeType":"MemberAccess","src":"20784:13:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20772:25:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":628,"nodeType":"IfStatement","src":"20768:48:0","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":625,"name":"MISMATCH","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3011,"src":"20806:8:0","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":626,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20806:10:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":627,"nodeType":"RevertStatement","src":"20799:17:0"}},{"body":{"id":648,"nodeType":"Block","src":"20947:117:0","statements":[{"expression":{"arguments":[{"baseExpression":{"id":636,"name":"_poolIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":608,"src":"20971:8:0","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_calldata_ptr","typeString":"uint256[] calldata"}},"id":638,"indexExpression":{"id":637,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":630,"src":"20980:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"20971:11:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"baseExpression":{"id":639,"name":"_datas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":611,"src":"20984:6:0","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},"id":641,"indexExpression":{"id":640,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":630,"src":"20991:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"20984:9:0","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":635,"name":"_allocate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":947,"src":"20961:9:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (uint256,bytes memory)"}},"id":642,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20961:33:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":643,"nodeType":"ExpressionStatement","src":"20961:33:0"},{"id":647,"nodeType":"UncheckedBlock","src":"21008:46:0","statements":[{"expression":{"id":645,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":true,"src":"21036:3:0","subExpression":{"id":644,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":630,"src":"21038:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":646,"nodeType":"ExpressionStatement","src":"21036:3:0"}]}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":634,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":632,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":630,"src":"20932:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":633,"name":"numPools","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":617,"src":"20936:8:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20932:12:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":649,"initializationExpression":{"assignments":[630],"declarations":[{"constant":false,"id":630,"mutability":"mutable","name":"i","nameLocation":"20929:1:0","nodeType":"VariableDeclaration","scope":649,"src":"20921:9:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":629,"name":"uint256","nodeType":"ElementaryTypeName","src":"20921:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":631,"nodeType":"VariableDeclarationStatement","src":"20921:9:0"},"nodeType":"ForStatement","src":"20916:148:0"}]},"baseFunctions":[2522],"documentation":{"id":605,"nodeType":"StructuredDocumentation","src":"20054:452:0","text":"@notice Allocate to multiple pools\n @dev The encoded data will be specific to a given strategy requirements, reference the strategy\n implementation of allocate(). Please note that this is not a 'payable' function, so if you\n want to send funds to the strategy, you must send the funds using 'fundPool()'.\n @param _poolIds IDs of the pools\n @param _datas encoded data unique to the strategy for that pool"},"functionSelector":"c6dff1cf","implemented":true,"kind":"function","modifiers":[{"id":614,"kind":"modifierInvocation","modifierName":{"id":613,"name":"nonReentrant","nameLocations":["20595:12:0"],"nodeType":"IdentifierPath","referencedDeclaration":53236,"src":"20595:12:0"},"nodeType":"ModifierInvocation","src":"20595:12:0"}],"name":"batchAllocate","nameLocation":"20520:13:0","parameters":{"id":612,"nodeType":"ParameterList","parameters":[{"constant":false,"id":608,"mutability":"mutable","name":"_poolIds","nameLocation":"20553:8:0","nodeType":"VariableDeclaration","scope":651,"src":"20534:27:0","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_calldata_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":606,"name":"uint256","nodeType":"ElementaryTypeName","src":"20534:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":607,"nodeType":"ArrayTypeName","src":"20534:9:0","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":611,"mutability":"mutable","name":"_datas","nameLocation":"20578:6:0","nodeType":"VariableDeclaration","scope":651,"src":"20563:21:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":609,"name":"bytes","nodeType":"ElementaryTypeName","src":"20563:5:0","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":610,"nodeType":"ArrayTypeName","src":"20563:7:0","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"20533:52:0"},"returnParameters":{"id":615,"nodeType":"ParameterList","parameters":[],"src":"20608:0:0"},"scope":1390,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":676,"nodeType":"FunctionDefinition","src":"21468:196:0","nodes":[],"body":{"id":675,"nodeType":"Block","src":"21579:85:0","nodes":[],"statements":[{"expression":{"arguments":[{"id":669,"name":"_recipientIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":657,"src":"21624:13:0","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},{"id":670,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":659,"src":"21639:5:0","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"expression":{"id":671,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"21646:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":672,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21650:6:0","memberName":"sender","nodeType":"MemberAccess","src":"21646:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"expression":{"baseExpression":{"id":664,"name":"pools","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58,"src":"21589:5:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Pool_$2319_storage_$","typeString":"mapping(uint256 => struct IAllo.Pool storage ref)"}},"id":666,"indexExpression":{"id":665,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":654,"src":"21595:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"21589:14:0","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage","typeString":"struct IAllo.Pool storage ref"}},"id":667,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"21604:8:0","memberName":"strategy","nodeType":"MemberAccess","referencedDeclaration":2309,"src":"21589:23:0","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}},"id":668,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21613:10:0","memberName":"distribute","nodeType":"MemberAccess","referencedDeclaration":2968,"src":"21589:34:0","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_array$_t_address_$dyn_memory_ptr_$_t_bytes_memory_ptr_$_t_address_$returns$__$","typeString":"function (address[] memory,bytes memory,address) external"}},"id":673,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21589:68:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":674,"nodeType":"ExpressionStatement","src":"21589:68:0"}]},"baseFunctions":[2533],"documentation":{"id":652,"nodeType":"StructuredDocumentation","src":"21076:387:0","text":"@notice Distribute to a recipient or multiple recipients.\n @dev The encoded data will be specific to a given strategy requirements, reference the strategy\n implementation of 'strategy.distribute()'.\n @param _poolId ID of the pool\n @param _recipientIds Ids of the recipients of the distribution\n @param _data Encoded data unique to the strategy"},"functionSelector":"3a5fbd92","implemented":true,"kind":"function","modifiers":[{"id":662,"kind":"modifierInvocation","modifierName":{"id":661,"name":"nonReentrant","nameLocations":["21566:12:0"],"nodeType":"IdentifierPath","referencedDeclaration":53236,"src":"21566:12:0"},"nodeType":"ModifierInvocation","src":"21566:12:0"}],"name":"distribute","nameLocation":"21477:10:0","parameters":{"id":660,"nodeType":"ParameterList","parameters":[{"constant":false,"id":654,"mutability":"mutable","name":"_poolId","nameLocation":"21496:7:0","nodeType":"VariableDeclaration","scope":676,"src":"21488:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":653,"name":"uint256","nodeType":"ElementaryTypeName","src":"21488:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":657,"mutability":"mutable","name":"_recipientIds","nameLocation":"21522:13:0","nodeType":"VariableDeclaration","scope":676,"src":"21505:30:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":655,"name":"address","nodeType":"ElementaryTypeName","src":"21505:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":656,"nodeType":"ArrayTypeName","src":"21505:9:0","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":659,"mutability":"mutable","name":"_data","nameLocation":"21550:5:0","nodeType":"VariableDeclaration","scope":676,"src":"21537:18:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":658,"name":"bytes","nodeType":"ElementaryTypeName","src":"21537:5:0","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"21487:69:0"},"returnParameters":{"id":663,"nodeType":"ParameterList","parameters":[],"src":"21579:0:0"},"scope":1390,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":693,"nodeType":"FunctionDefinition","src":"21910:142:0","nodes":[],"body":{"id":692,"nodeType":"Block","src":"21972:80:0","nodes":[],"statements":[{"condition":{"id":687,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"21986:36:0","subExpression":{"arguments":[{"id":683,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":679,"src":"22002:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":684,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"22011:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":685,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22015:6:0","memberName":"sender","nodeType":"MemberAccess","src":"22011:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"id":682,"name":"_isPoolManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1178,"src":"21987:14:0","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_address_$returns$_t_bool_$","typeString":"function (uint256,address) view returns (bool)"}},"id":686,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21987:35:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":691,"nodeType":"IfStatement","src":"21982:63:0","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":688,"name":"UNAUTHORIZED","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3017,"src":"22031:12:0","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":689,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22031:14:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":690,"nodeType":"RevertStatement","src":"22024:21:0"}}]},"documentation":{"id":677,"nodeType":"StructuredDocumentation","src":"21806:99:0","text":"@notice Internal function to check is caller is pool manager\n @param _poolId The pool id"},"implemented":true,"kind":"function","modifiers":[],"name":"_checkOnlyPoolManager","nameLocation":"21919:21:0","parameters":{"id":680,"nodeType":"ParameterList","parameters":[{"constant":false,"id":679,"mutability":"mutable","name":"_poolId","nameLocation":"21949:7:0","nodeType":"VariableDeclaration","scope":693,"src":"21941:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":678,"name":"uint256","nodeType":"ElementaryTypeName","src":"21941:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"21940:17:0"},"returnParameters":{"id":681,"nodeType":"ParameterList","parameters":[],"src":"21972:0:0"},"scope":1390,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":710,"nodeType":"FunctionDefinition","src":"22160:138:0","nodes":[],"body":{"id":709,"nodeType":"Block","src":"22220:78:0","nodes":[],"statements":[{"condition":{"id":704,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"22234:34:0","subExpression":{"arguments":[{"id":700,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":696,"src":"22248:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":701,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"22257:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":702,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22261:6:0","memberName":"sender","nodeType":"MemberAccess","src":"22257:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"id":699,"name":"_isPoolAdmin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1154,"src":"22235:12:0","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_address_$returns$_t_bool_$","typeString":"function (uint256,address) view returns (bool)"}},"id":703,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22235:33:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":708,"nodeType":"IfStatement","src":"22230:61:0","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":705,"name":"UNAUTHORIZED","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3017,"src":"22277:12:0","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":706,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22277:14:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":707,"nodeType":"RevertStatement","src":"22270:21:0"}}]},"documentation":{"id":694,"nodeType":"StructuredDocumentation","src":"22058:97:0","text":"@notice Internal function to check is caller is pool admin\n @param _poolId The pool id"},"implemented":true,"kind":"function","modifiers":[],"name":"_checkOnlyPoolAdmin","nameLocation":"22169:19:0","parameters":{"id":697,"nodeType":"ParameterList","parameters":[{"constant":false,"id":696,"mutability":"mutable","name":"_poolId","nameLocation":"22197:7:0","nodeType":"VariableDeclaration","scope":710,"src":"22189:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":695,"name":"uint256","nodeType":"ElementaryTypeName","src":"22189:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"22188:17:0"},"returnParameters":{"id":698,"nodeType":"ParameterList","parameters":[],"src":"22220:0:0"},"scope":1390,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":925,"nodeType":"FunctionDefinition","src":"23131:2681:0","nodes":[],"body":{"id":924,"nodeType":"Block","src":"23409:2403:0","nodes":[],"statements":[{"condition":{"id":739,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"23423:58:0","subExpression":{"arguments":[{"id":735,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":713,"src":"23458:10:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"expression":{"id":736,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"23470:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":737,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23474:6:0","memberName":"sender","nodeType":"MemberAccess","src":"23470:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":733,"name":"registry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47,"src":"23424:8:0","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"}},"id":734,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23433:24:0","memberName":"isOwnerOrMemberOfProfile","nodeType":"MemberAccess","referencedDeclaration":2704,"src":"23424:33:0","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) view external returns (bool)"}},"id":738,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23424:57:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":743,"nodeType":"IfStatement","src":"23419:85:0","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":740,"name":"UNAUTHORIZED","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3017,"src":"23490:12:0","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":741,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23490:14:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":742,"nodeType":"RevertStatement","src":"23483:21:0"}},{"expression":{"id":747,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":744,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":731,"src":"23515:6:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":746,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":true,"src":"23524:12:0","subExpression":{"id":745,"name":"_poolIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40,"src":"23526:10:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"23515:21:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":748,"nodeType":"ExpressionStatement","src":"23515:21:0"},{"assignments":[750],"declarations":[{"constant":false,"id":750,"mutability":"mutable","name":"POOL_MANAGER_ROLE","nameLocation":"23683:17:0","nodeType":"VariableDeclaration","scope":924,"src":"23675:25:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":749,"name":"bytes32","nodeType":"ElementaryTypeName","src":"23675:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":755,"initialValue":{"arguments":[{"id":753,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":731,"src":"23711:6:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":752,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"23703:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":751,"name":"bytes32","nodeType":"ElementaryTypeName","src":"23703:7:0","typeDescriptions":{}}},"id":754,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23703:15:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"23675:43:0"},{"assignments":[757],"declarations":[{"constant":false,"id":757,"mutability":"mutable","name":"POOL_ADMIN_ROLE","nameLocation":"23736:15:0","nodeType":"VariableDeclaration","scope":924,"src":"23728:23:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":756,"name":"bytes32","nodeType":"ElementaryTypeName","src":"23728:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":765,"initialValue":{"arguments":[{"arguments":[{"id":761,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":731,"src":"23781:6:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"61646d696e","id":762,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"23789:7:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_f23ec0bb4210edd5cba85afd05127efcd2fc6a781bfed49188da1081670b22d8","typeString":"literal_string \"admin\""},"value":"admin"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_stringliteral_f23ec0bb4210edd5cba85afd05127efcd2fc6a781bfed49188da1081670b22d8","typeString":"literal_string \"admin\""}],"expression":{"id":759,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"23764:3:0","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":760,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"23768:12:0","memberName":"encodePacked","nodeType":"MemberAccess","src":"23764:16:0","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":763,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23764:33:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":758,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"23754:9:0","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":764,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23754:44:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"23728:70:0"},{"assignments":[768],"declarations":[{"constant":false,"id":768,"mutability":"mutable","name":"pool","nameLocation":"23857:4:0","nodeType":"VariableDeclaration","scope":924,"src":"23845:16:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool"},"typeName":{"id":767,"nodeType":"UserDefinedTypeName","pathNode":{"id":766,"name":"Pool","nameLocations":["23845:4:0"],"nodeType":"IdentifierPath","referencedDeclaration":2319,"src":"23845:4:0"},"referencedDeclaration":2319,"src":"23845:4:0","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool"}},"visibility":"internal"}],"id":777,"initialValue":{"arguments":[{"id":770,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":713,"src":"23894:10:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":771,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":716,"src":"23928:9:0","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}},{"id":772,"name":"_metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":725,"src":"23961:9:0","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}},{"id":773,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":720,"src":"23991:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":774,"name":"POOL_MANAGER_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":750,"src":"24024:17:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":775,"name":"POOL_ADMIN_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":757,"src":"24066:15:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"},{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":769,"name":"Pool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2319,"src":"23864:4:0","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Pool_$2319_storage_ptr_$","typeString":"type(struct IAllo.Pool storage pointer)"}},"id":776,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["23883:9:0","23918:8:0","23951:8:0","23984:5:0","24011:11:0","24055:9:0"],"names":["profileId","strategy","metadata","token","managerRole","adminRole"],"nodeType":"FunctionCall","src":"23864:228:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"nodeType":"VariableDeclarationStatement","src":"23845:247:0"},{"expression":{"id":782,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":778,"name":"pools","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58,"src":"24159:5:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Pool_$2319_storage_$","typeString":"mapping(uint256 => struct IAllo.Pool storage ref)"}},"id":780,"indexExpression":{"id":779,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":731,"src":"24165:6:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"24159:13:0","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage","typeString":"struct IAllo.Pool storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":781,"name":"pool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":768,"src":"24175:4:0","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"src":"24159:20:0","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage","typeString":"struct IAllo.Pool storage ref"}},"id":783,"nodeType":"ExpressionStatement","src":"24159:20:0"},{"expression":{"arguments":[{"id":785,"name":"POOL_ADMIN_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":757,"src":"24250:15:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"expression":{"id":786,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"24267:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":787,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24271:6:0","memberName":"sender","nodeType":"MemberAccess","src":"24267:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":784,"name":"_grantRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52699,"src":"24239:10:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$","typeString":"function (bytes32,address)"}},"id":788,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24239:39:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":789,"nodeType":"ExpressionStatement","src":"24239:39:0"},{"expression":{"arguments":[{"id":791,"name":"POOL_MANAGER_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":750,"src":"24351:17:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":792,"name":"POOL_ADMIN_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":757,"src":"24370:15:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":790,"name":"_setRoleAdmin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52667,"src":"24337:13:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (bytes32,bytes32)"}},"id":793,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24337:49:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":794,"nodeType":"ExpressionStatement","src":"24337:49:0"},{"expression":{"arguments":[{"id":798,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":731,"src":"24562:6:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":799,"name":"_initStrategyData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":718,"src":"24570:17:0","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":795,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":716,"src":"24541:9:0","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}},"id":797,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24551:10:0","memberName":"initialize","nodeType":"MemberAccess","referencedDeclaration":2939,"src":"24541:20:0","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (uint256,bytes memory) external"}},"id":800,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24541:47:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":801,"nodeType":"ExpressionStatement","src":"24541:47:0"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":818,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":806,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":802,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":716,"src":"24603:9:0","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}},"id":803,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24613:9:0","memberName":"getPoolId","nodeType":"MemberAccess","referencedDeclaration":2876,"src":"24603:19:0","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint256_$","typeString":"function () view external returns (uint256)"}},"id":804,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24603:21:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":805,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":731,"src":"24628:6:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"24603:31:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":817,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":809,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":716,"src":"24646:9:0","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}},"id":810,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24656:7:0","memberName":"getAllo","nodeType":"MemberAccess","referencedDeclaration":2870,"src":"24646:17:0","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_contract$_IAllo_$2610_$","typeString":"function () view external returns (contract IAllo)"}},"id":811,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24646:19:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IAllo_$2610","typeString":"contract IAllo"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IAllo_$2610","typeString":"contract IAllo"}],"id":808,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"24638:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":807,"name":"address","nodeType":"ElementaryTypeName","src":"24638:7:0","typeDescriptions":{}}},"id":812,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24638:28:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"id":815,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"24678:4:0","typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}],"id":814,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"24670:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":813,"name":"address","nodeType":"ElementaryTypeName","src":"24670:7:0","typeDescriptions":{}}},"id":816,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24670:13:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"24638:45:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"24603:80:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":822,"nodeType":"IfStatement","src":"24599:103:0","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":819,"name":"MISMATCH","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3011,"src":"24692:8:0","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":820,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24692:10:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":821,"nodeType":"RevertStatement","src":"24685:17:0"}},{"assignments":[824],"declarations":[{"constant":false,"id":824,"mutability":"mutable","name":"managersLength","nameLocation":"24758:14:0","nodeType":"VariableDeclaration","scope":924,"src":"24750:22:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":823,"name":"uint256","nodeType":"ElementaryTypeName","src":"24750:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":827,"initialValue":{"expression":{"id":825,"name":"_managers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":728,"src":"24775:9:0","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":826,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24785:6:0","memberName":"length","nodeType":"MemberAccess","src":"24775:16:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"24750:41:0"},{"body":{"id":859,"nodeType":"Block","src":"24838:229:0","statements":[{"assignments":[835],"declarations":[{"constant":false,"id":835,"mutability":"mutable","name":"manager","nameLocation":"24860:7:0","nodeType":"VariableDeclaration","scope":859,"src":"24852:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":834,"name":"address","nodeType":"ElementaryTypeName","src":"24852:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":839,"initialValue":{"baseExpression":{"id":836,"name":"_managers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":728,"src":"24870:9:0","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":838,"indexExpression":{"id":837,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":829,"src":"24880:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"24870:12:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"24852:30:0"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":845,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":840,"name":"manager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":835,"src":"24900:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":843,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"24919:1:0","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":842,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"24911:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":841,"name":"address","nodeType":"ElementaryTypeName","src":"24911:7:0","typeDescriptions":{}}},"id":844,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24911:10:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"24900:21:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":849,"nodeType":"IfStatement","src":"24896:48:0","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":846,"name":"ZERO_ADDRESS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3020,"src":"24930:12:0","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":847,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24930:14:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":848,"nodeType":"RevertStatement","src":"24923:21:0"}},{"expression":{"arguments":[{"id":851,"name":"POOL_MANAGER_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":750,"src":"24970:17:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":852,"name":"manager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":835,"src":"24989:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":850,"name":"_grantRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52699,"src":"24959:10:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$","typeString":"function (bytes32,address)"}},"id":853,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24959:38:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":854,"nodeType":"ExpressionStatement","src":"24959:38:0"},{"id":858,"nodeType":"UncheckedBlock","src":"25011:46:0","statements":[{"expression":{"id":856,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":true,"src":"25039:3:0","subExpression":{"id":855,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":829,"src":"25041:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":857,"nodeType":"ExpressionStatement","src":"25039:3:0"}]}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":833,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":831,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":829,"src":"24817:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":832,"name":"managersLength","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":824,"src":"24821:14:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"24817:18:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":860,"initializationExpression":{"assignments":[829],"declarations":[{"constant":false,"id":829,"mutability":"mutable","name":"i","nameLocation":"24814:1:0","nodeType":"VariableDeclaration","scope":860,"src":"24806:9:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":828,"name":"uint256","nodeType":"ElementaryTypeName","src":"24806:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":830,"nodeType":"VariableDeclarationStatement","src":"24806:9:0"},"nodeType":"ForStatement","src":"24801:266:0"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":863,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":861,"name":"baseFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37,"src":"25081:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":862,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25091:1:0","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"25081:11:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":903,"nodeType":"IfStatement","src":"25077:554:0","trueBody":{"id":902,"nodeType":"Block","src":"25094:537:0","statements":[{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":885,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":874,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":866,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":864,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":720,"src":"25359:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":865,"name":"NATIVE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3105,"src":"25369:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"25359:16:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":872,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":869,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":867,"name":"baseFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37,"src":"25380:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":868,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":722,"src":"25390:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"25380:17:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":870,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"25401:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":871,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"25405:5:0","memberName":"value","nodeType":"MemberAccess","src":"25401:9:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"25380:30:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":873,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"25379:32:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"25359:52:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":875,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"25358:54:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":883,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":878,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":876,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":720,"src":"25417:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":877,"name":"NATIVE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3105,"src":"25427:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"25417:16:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":882,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":879,"name":"baseFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37,"src":"25437:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":880,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"25448:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":881,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"25452:5:0","memberName":"value","nodeType":"MemberAccess","src":"25448:9:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"25437:20:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"25417:40:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":884,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"25416:42:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"25358:100:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":890,"nodeType":"IfStatement","src":"25354:164:0","trueBody":{"id":889,"nodeType":"Block","src":"25460:58:0","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":886,"name":"NOT_ENOUGH_FUNDS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3014,"src":"25485:16:0","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":887,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25485:18:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":888,"nodeType":"RevertStatement","src":"25478:25:0"}]}},{"expression":{"arguments":[{"id":892,"name":"NATIVE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3105,"src":"25547:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":893,"name":"treasury","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"25555:8:0","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},{"id":894,"name":"baseFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37,"src":"25565:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address_payable","typeString":"address payable"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":891,"name":"_transferAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3287,"src":"25531:15:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":895,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25531:42:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":896,"nodeType":"ExpressionStatement","src":"25531:42:0"},{"eventCall":{"arguments":[{"id":898,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":731,"src":"25604:6:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":899,"name":"baseFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37,"src":"25612:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":897,"name":"BaseFeePaid","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2360,"src":"25592:11:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":900,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25592:28:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":901,"nodeType":"EmitStatement","src":"25587:33:0"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":906,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":904,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":722,"src":"25645:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":905,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25655:1:0","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"25645:11:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":914,"nodeType":"IfStatement","src":"25641:79:0","trueBody":{"id":913,"nodeType":"Block","src":"25658:62:0","statements":[{"expression":{"arguments":[{"id":908,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":722,"src":"25682:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":909,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":731,"src":"25691:6:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":910,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":716,"src":"25699:9:0","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}],"id":907,"name":"_fundPool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1122,"src":"25672:9:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_contract$_IStrategy_$2969_$returns$__$","typeString":"function (uint256,uint256,contract IStrategy)"}},"id":911,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25672:37:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":912,"nodeType":"ExpressionStatement","src":"25672:37:0"}]}},{"eventCall":{"arguments":[{"id":916,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":731,"src":"25747:6:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":917,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":713,"src":"25755:10:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":918,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":716,"src":"25767:9:0","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}},{"id":919,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":720,"src":"25778:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":920,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":722,"src":"25786:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":921,"name":"_metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":725,"src":"25795:9:0","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}],"id":915,"name":"PoolCreated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2336,"src":"25735:11:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_bytes32_$_t_contract$_IStrategy_$2969_$_t_address_$_t_uint256_$_t_struct$_Metadata_$3098_memory_ptr_$returns$__$","typeString":"function (uint256,bytes32,contract IStrategy,address,uint256,struct Metadata memory)"}},"id":922,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25735:70:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":923,"nodeType":"EmitStatement","src":"25730:75:0"}]},"documentation":{"id":711,"nodeType":"StructuredDocumentation","src":"22304:822:0","text":"@notice Creates a new pool.\n @dev This is an internal function that is called by the 'createPool()' & 'createPoolWithCustomStrategy()' functions\n It is used to create a new pool and is called by both functions. The 'msg.sender' must be a member or owner of\n a profile to create a pool.\n @param _profileId The ID of the profile of for pool creator in the registry\n @param _strategy The address of strategy\n @param _initStrategyData The data to initialize the strategy\n @param _token The address of the token that the pool is denominated in\n @param _amount The amount of the token to be deposited into the pool\n @param _metadata The 'Metadata' of the pool\n @param _managers The managers of the pool\n @return poolId The ID of the pool"},"implemented":true,"kind":"function","modifiers":[],"name":"_createPool","nameLocation":"23140:11:0","parameters":{"id":729,"nodeType":"ParameterList","parameters":[{"constant":false,"id":713,"mutability":"mutable","name":"_profileId","nameLocation":"23169:10:0","nodeType":"VariableDeclaration","scope":925,"src":"23161:18:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":712,"name":"bytes32","nodeType":"ElementaryTypeName","src":"23161:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":716,"mutability":"mutable","name":"_strategy","nameLocation":"23199:9:0","nodeType":"VariableDeclaration","scope":925,"src":"23189:19:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"},"typeName":{"id":715,"nodeType":"UserDefinedTypeName","pathNode":{"id":714,"name":"IStrategy","nameLocations":["23189:9:0"],"nodeType":"IdentifierPath","referencedDeclaration":2969,"src":"23189:9:0"},"referencedDeclaration":2969,"src":"23189:9:0","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}},"visibility":"internal"},{"constant":false,"id":718,"mutability":"mutable","name":"_initStrategyData","nameLocation":"23231:17:0","nodeType":"VariableDeclaration","scope":925,"src":"23218:30:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":717,"name":"bytes","nodeType":"ElementaryTypeName","src":"23218:5:0","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":720,"mutability":"mutable","name":"_token","nameLocation":"23266:6:0","nodeType":"VariableDeclaration","scope":925,"src":"23258:14:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":719,"name":"address","nodeType":"ElementaryTypeName","src":"23258:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":722,"mutability":"mutable","name":"_amount","nameLocation":"23290:7:0","nodeType":"VariableDeclaration","scope":925,"src":"23282:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":721,"name":"uint256","nodeType":"ElementaryTypeName","src":"23282:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":725,"mutability":"mutable","name":"_metadata","nameLocation":"23323:9:0","nodeType":"VariableDeclaration","scope":925,"src":"23307:25:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata"},"typeName":{"id":724,"nodeType":"UserDefinedTypeName","pathNode":{"id":723,"name":"Metadata","nameLocations":["23307:8:0"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"23307:8:0"},"referencedDeclaration":3098,"src":"23307:8:0","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"},{"constant":false,"id":728,"mutability":"mutable","name":"_managers","nameLocation":"23359:9:0","nodeType":"VariableDeclaration","scope":925,"src":"23342:26:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":726,"name":"address","nodeType":"ElementaryTypeName","src":"23342:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":727,"nodeType":"ArrayTypeName","src":"23342:9:0","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"23151:223:0"},"returnParameters":{"id":732,"nodeType":"ParameterList","parameters":[{"constant":false,"id":731,"mutability":"mutable","name":"poolId","nameLocation":"23401:6:0","nodeType":"VariableDeclaration","scope":925,"src":"23393:14:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":730,"name":"uint256","nodeType":"ElementaryTypeName","src":"23393:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"23392:16:0"},"scope":1390,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":947,"nodeType":"FunctionDefinition","src":"26159:151:0","nodes":[],"body":{"id":946,"nodeType":"Block","src":"26224:86:0","nodes":[],"statements":[{"expression":{"arguments":[{"id":941,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":930,"src":"26285:5:0","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"expression":{"id":942,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"26292:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":943,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"26296:6:0","memberName":"sender","nodeType":"MemberAccess","src":"26292:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"expression":{"baseExpression":{"id":933,"name":"pools","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58,"src":"26234:5:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Pool_$2319_storage_$","typeString":"mapping(uint256 => struct IAllo.Pool storage ref)"}},"id":935,"indexExpression":{"id":934,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":928,"src":"26240:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"26234:14:0","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage","typeString":"struct IAllo.Pool storage ref"}},"id":936,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"26249:8:0","memberName":"strategy","nodeType":"MemberAccess","referencedDeclaration":2309,"src":"26234:23:0","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}},"id":937,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"26258:8:0","memberName":"allocate","nodeType":"MemberAccess","referencedDeclaration":2957,"src":"26234:32:0","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_bytes_memory_ptr_$_t_address_$returns$__$","typeString":"function (bytes memory,address) payable external"}},"id":940,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"names":["value"],"nodeType":"FunctionCallOptions","options":[{"expression":{"id":938,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"26274:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":939,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"26278:5:0","memberName":"value","nodeType":"MemberAccess","src":"26274:9:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"src":"26234:50:0","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_bytes_memory_ptr_$_t_address_$returns$__$value","typeString":"function (bytes memory,address) payable external"}},"id":944,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26234:69:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":945,"nodeType":"ExpressionStatement","src":"26234:69:0"}]},"documentation":{"id":926,"nodeType":"StructuredDocumentation","src":"25818:336:0","text":"@notice Allocate to recipient(s).\n @dev Passes '_data' & 'msg.sender' through to the strategy for that pool.\n This is an internal function that is called by the 'allocate()' & 'batchAllocate()' functions.\n @param _poolId ID of the pool\n @param _data Encoded data unique to the strategy for that pool"},"implemented":true,"kind":"function","modifiers":[],"name":"_allocate","nameLocation":"26168:9:0","parameters":{"id":931,"nodeType":"ParameterList","parameters":[{"constant":false,"id":928,"mutability":"mutable","name":"_poolId","nameLocation":"26186:7:0","nodeType":"VariableDeclaration","scope":947,"src":"26178:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":927,"name":"uint256","nodeType":"ElementaryTypeName","src":"26178:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":930,"mutability":"mutable","name":"_data","nameLocation":"26208:5:0","nodeType":"VariableDeclaration","scope":947,"src":"26195:18:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":929,"name":"bytes","nodeType":"ElementaryTypeName","src":"26195:5:0","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"26177:37:0"},"returnParameters":{"id":932,"nodeType":"ParameterList","parameters":[],"src":"26224:0:0"},"scope":1390,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":1122,"nodeType":"FunctionDefinition","src":"26634:1879:0","nodes":[],"body":{"id":1121,"nodeType":"Block","src":"26717:1796:0","nodes":[],"statements":[{"assignments":[959],"declarations":[{"constant":false,"id":959,"mutability":"mutable","name":"feeAmount","nameLocation":"26735:9:0","nodeType":"VariableDeclaration","scope":1121,"src":"26727:17:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":958,"name":"uint256","nodeType":"ElementaryTypeName","src":"26727:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":960,"nodeType":"VariableDeclarationStatement","src":"26727:17:0"},{"assignments":[962],"declarations":[{"constant":false,"id":962,"mutability":"mutable","name":"amountAfterFee","nameLocation":"26762:14:0","nodeType":"VariableDeclaration","scope":1121,"src":"26754:22:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":961,"name":"uint256","nodeType":"ElementaryTypeName","src":"26754:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":964,"initialValue":{"id":963,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":950,"src":"26779:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"26754:32:0"},{"assignments":[967],"declarations":[{"constant":false,"id":967,"mutability":"mutable","name":"pool","nameLocation":"26810:4:0","nodeType":"VariableDeclaration","scope":1121,"src":"26797:17:0","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool"},"typeName":{"id":966,"nodeType":"UserDefinedTypeName","pathNode":{"id":965,"name":"Pool","nameLocations":["26797:4:0"],"nodeType":"IdentifierPath","referencedDeclaration":2319,"src":"26797:4:0"},"referencedDeclaration":2319,"src":"26797:4:0","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool"}},"visibility":"internal"}],"id":971,"initialValue":{"baseExpression":{"id":968,"name":"pools","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58,"src":"26817:5:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Pool_$2319_storage_$","typeString":"mapping(uint256 => struct IAllo.Pool storage ref)"}},"id":970,"indexExpression":{"id":969,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":952,"src":"26823:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"26817:14:0","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage","typeString":"struct IAllo.Pool storage ref"}},"nodeType":"VariableDeclarationStatement","src":"26797:34:0"},{"assignments":[973],"declarations":[{"constant":false,"id":973,"mutability":"mutable","name":"_token","nameLocation":"26849:6:0","nodeType":"VariableDeclaration","scope":1121,"src":"26841:14:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":972,"name":"address","nodeType":"ElementaryTypeName","src":"26841:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":976,"initialValue":{"expression":{"id":974,"name":"pool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":967,"src":"26858:4:0","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool storage pointer"}},"id":975,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"26863:5:0","memberName":"token","nodeType":"MemberAccess","referencedDeclaration":2311,"src":"26858:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"26841:27:0"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":979,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":977,"name":"percentFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34,"src":"26883:10:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":978,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"26896:1:0","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"26883:14:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1050,"nodeType":"IfStatement","src":"26879:808:0","trueBody":{"id":1049,"nodeType":"Block","src":"26899:788:0","statements":[{"expression":{"id":988,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":980,"name":"feeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":959,"src":"26913:9:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":987,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":983,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":981,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":950,"src":"26926:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":982,"name":"percentFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34,"src":"26936:10:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"26926:20:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":984,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"26925:22:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":985,"name":"getFeeDenominator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1276,"src":"26950:17:0","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_uint256_$","typeString":"function () pure returns (uint256)"}},"id":986,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26950:19:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"26925:44:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"26913:56:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":989,"nodeType":"ExpressionStatement","src":"26913:56:0"},{"expression":{"id":992,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":990,"name":"amountAfterFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":962,"src":"26983:14:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"id":991,"name":"feeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":959,"src":"27001:9:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"26983:27:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":993,"nodeType":"ExpressionStatement","src":"26983:27:0"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":998,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":996,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":994,"name":"feeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":959,"src":"27029:9:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":995,"name":"amountAfterFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":962,"src":"27041:14:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"27029:26:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":997,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":950,"src":"27059:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"27029:37:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1002,"nodeType":"IfStatement","src":"27025:59:0","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":999,"name":"INVALID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3008,"src":"27075:7:0","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":1000,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27075:9:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1001,"nodeType":"RevertStatement","src":"27068:16:0"}},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":1005,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1003,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":973,"src":"27103:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":1004,"name":"NATIVE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3105,"src":"27113:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"27103:16:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":1047,"nodeType":"Block","src":"27254:423:0","statements":[{"assignments":[1018],"declarations":[{"constant":false,"id":1018,"mutability":"mutable","name":"balanceBeforeFee","nameLocation":"27280:16:0","nodeType":"VariableDeclaration","scope":1047,"src":"27272:24:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1017,"name":"uint256","nodeType":"ElementaryTypeName","src":"27272:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":1023,"initialValue":{"arguments":[{"id":1020,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":973,"src":"27311:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":1021,"name":"treasury","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"27319:8:0","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":1019,"name":"_getBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3316,"src":"27299:11:0","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view returns (uint256)"}},"id":1022,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27299:29:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"27272:56:0"},{"expression":{"arguments":[{"id":1025,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":973,"src":"27366:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"expression":{"id":1027,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"27394:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":1028,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"27398:6:0","memberName":"sender","nodeType":"MemberAccess","src":"27394:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":1029,"name":"treasury","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"27410:8:0","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},{"id":1030,"name":"feeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":959,"src":"27428:9:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address_payable","typeString":"address payable"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":1026,"name":"TransferData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3124,"src":"27374:12:0","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_TransferData_$3124_storage_ptr_$","typeString":"type(struct Transfer.TransferData storage pointer)"}},"id":1031,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["27388:4:0","27406:2:0","27420:6:0"],"names":["from","to","amount"],"nodeType":"FunctionCall","src":"27374:65:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_TransferData_$3124_memory_ptr","typeString":"struct Transfer.TransferData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_struct$_TransferData_$3124_memory_ptr","typeString":"struct Transfer.TransferData memory"}],"id":1024,"name":"_transferAmountFrom","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3255,"src":"27346:19:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_struct$_TransferData_$3124_memory_ptr_$returns$_t_bool_$","typeString":"function (address,struct Transfer.TransferData memory) returns (bool)"}},"id":1032,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27346:94:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1033,"nodeType":"ExpressionStatement","src":"27346:94:0"},{"assignments":[1035],"declarations":[{"constant":false,"id":1035,"mutability":"mutable","name":"balanceAfterFee","nameLocation":"27466:15:0","nodeType":"VariableDeclaration","scope":1047,"src":"27458:23:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1034,"name":"uint256","nodeType":"ElementaryTypeName","src":"27458:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":1040,"initialValue":{"arguments":[{"id":1037,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":973,"src":"27496:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":1038,"name":"treasury","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"27504:8:0","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":1036,"name":"_getBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3316,"src":"27484:11:0","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view returns (uint256)"}},"id":1039,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27484:29:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"27458:55:0"},{"expression":{"id":1045,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":1041,"name":"feeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":959,"src":"27616:9:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1044,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1042,"name":"balanceAfterFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1035,"src":"27628:15:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":1043,"name":"balanceBeforeFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1018,"src":"27646:16:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"27628:34:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"27616:46:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":1046,"nodeType":"ExpressionStatement","src":"27616:46:0"}]},"id":1048,"nodeType":"IfStatement","src":"27099:578:0","trueBody":{"id":1016,"nodeType":"Block","src":"27121:127:0","statements":[{"expression":{"arguments":[{"id":1007,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":973,"src":"27159:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"expression":{"id":1009,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"27187:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":1010,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"27191:6:0","memberName":"sender","nodeType":"MemberAccess","src":"27187:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":1011,"name":"treasury","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"27203:8:0","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},{"id":1012,"name":"feeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":959,"src":"27221:9:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address_payable","typeString":"address payable"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":1008,"name":"TransferData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3124,"src":"27167:12:0","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_TransferData_$3124_storage_ptr_$","typeString":"type(struct Transfer.TransferData storage pointer)"}},"id":1013,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["27181:4:0","27199:2:0","27213:6:0"],"names":["from","to","amount"],"nodeType":"FunctionCall","src":"27167:65:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_TransferData_$3124_memory_ptr","typeString":"struct Transfer.TransferData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_struct$_TransferData_$3124_memory_ptr","typeString":"struct Transfer.TransferData memory"}],"id":1006,"name":"_transferAmountFrom","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3255,"src":"27139:19:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_struct$_TransferData_$3124_memory_ptr_$returns$_t_bool_$","typeString":"function (address,struct Transfer.TransferData memory) returns (bool)"}},"id":1014,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27139:94:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1015,"nodeType":"ExpressionStatement","src":"27139:94:0"}]}}]}},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":1053,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1051,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":973,"src":"27701:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":1052,"name":"NATIVE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3105,"src":"27711:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"27701:16:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":1107,"nodeType":"Block","src":"27889:501:0","statements":[{"assignments":[1069],"declarations":[{"constant":false,"id":1069,"mutability":"mutable","name":"balanceBeforeFundingPool","nameLocation":"27911:24:0","nodeType":"VariableDeclaration","scope":1107,"src":"27903:32:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1068,"name":"uint256","nodeType":"ElementaryTypeName","src":"27903:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":1077,"initialValue":{"arguments":[{"id":1071,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":973,"src":"27950:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":1074,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":955,"src":"27966:9:0","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}],"id":1073,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"27958:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":1072,"name":"address","nodeType":"ElementaryTypeName","src":"27958:7:0","typeDescriptions":{}}},"id":1075,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27958:18:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":1070,"name":"_getBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3316,"src":"27938:11:0","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view returns (uint256)"}},"id":1076,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27938:39:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"27903:74:0"},{"expression":{"arguments":[{"id":1079,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":973,"src":"28028:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"expression":{"id":1081,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"28056:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":1082,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"28060:6:0","memberName":"sender","nodeType":"MemberAccess","src":"28056:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":1085,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":955,"src":"28080:9:0","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}],"id":1084,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"28072:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":1083,"name":"address","nodeType":"ElementaryTypeName","src":"28072:7:0","typeDescriptions":{}}},"id":1086,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28072:18:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":1087,"name":"amountAfterFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":962,"src":"28100:14:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":1080,"name":"TransferData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3124,"src":"28036:12:0","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_TransferData_$3124_storage_ptr_$","typeString":"type(struct Transfer.TransferData storage pointer)"}},"id":1088,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["28050:4:0","28068:2:0","28092:6:0"],"names":["from","to","amount"],"nodeType":"FunctionCall","src":"28036:80:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_TransferData_$3124_memory_ptr","typeString":"struct Transfer.TransferData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_struct$_TransferData_$3124_memory_ptr","typeString":"struct Transfer.TransferData memory"}],"id":1078,"name":"_transferAmountFrom","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3255,"src":"27991:19:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_struct$_TransferData_$3124_memory_ptr_$returns$_t_bool_$","typeString":"function (address,struct Transfer.TransferData memory) returns (bool)"}},"id":1089,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27991:139:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1090,"nodeType":"ExpressionStatement","src":"27991:139:0"},{"assignments":[1092],"declarations":[{"constant":false,"id":1092,"mutability":"mutable","name":"balanceAfterFundingPool","nameLocation":"28152:23:0","nodeType":"VariableDeclaration","scope":1107,"src":"28144:31:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1091,"name":"uint256","nodeType":"ElementaryTypeName","src":"28144:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":1100,"initialValue":{"arguments":[{"id":1094,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":973,"src":"28190:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":1097,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":955,"src":"28206:9:0","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}],"id":1096,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"28198:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":1095,"name":"address","nodeType":"ElementaryTypeName","src":"28198:7:0","typeDescriptions":{}}},"id":1098,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28198:18:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":1093,"name":"_getBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3316,"src":"28178:11:0","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view returns (uint256)"}},"id":1099,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28178:39:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"28144:73:0"},{"expression":{"id":1105,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":1101,"name":"amountAfterFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":962,"src":"28312:14:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1104,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1102,"name":"balanceAfterFundingPool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1092,"src":"28329:23:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":1103,"name":"balanceBeforeFundingPool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1069,"src":"28355:24:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"28329:50:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"28312:67:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":1106,"nodeType":"ExpressionStatement","src":"28312:67:0"}]},"id":1108,"nodeType":"IfStatement","src":"27697:693:0","trueBody":{"id":1067,"nodeType":"Block","src":"27719:164:0","statements":[{"expression":{"arguments":[{"id":1055,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":973,"src":"27770:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"expression":{"id":1057,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"27798:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":1058,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"27802:6:0","memberName":"sender","nodeType":"MemberAccess","src":"27798:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":1061,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":955,"src":"27822:9:0","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}],"id":1060,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"27814:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":1059,"name":"address","nodeType":"ElementaryTypeName","src":"27814:7:0","typeDescriptions":{}}},"id":1062,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27814:18:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":1063,"name":"amountAfterFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":962,"src":"27842:14:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":1056,"name":"TransferData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3124,"src":"27778:12:0","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_TransferData_$3124_storage_ptr_$","typeString":"type(struct Transfer.TransferData storage pointer)"}},"id":1064,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["27792:4:0","27810:2:0","27834:6:0"],"names":["from","to","amount"],"nodeType":"FunctionCall","src":"27778:80:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_TransferData_$3124_memory_ptr","typeString":"struct Transfer.TransferData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_struct$_TransferData_$3124_memory_ptr","typeString":"struct Transfer.TransferData memory"}],"id":1054,"name":"_transferAmountFrom","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3255,"src":"27733:19:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_struct$_TransferData_$3124_memory_ptr_$returns$_t_bool_$","typeString":"function (address,struct Transfer.TransferData memory) returns (bool)"}},"id":1065,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27733:139:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1066,"nodeType":"ExpressionStatement","src":"27733:139:0"}]}},{"expression":{"arguments":[{"id":1112,"name":"amountAfterFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":962,"src":"28429:14:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":1109,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":955,"src":"28400:9:0","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}},"id":1111,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"28410:18:0","memberName":"increasePoolAmount","nodeType":"MemberAccess","referencedDeclaration":2908,"src":"28400:28:0","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":1113,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28400:44:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1114,"nodeType":"ExpressionStatement","src":"28400:44:0"},{"eventCall":{"arguments":[{"id":1116,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":952,"src":"28471:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1117,"name":"amountAfterFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":962,"src":"28480:14:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1118,"name":"feeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":959,"src":"28496:9:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":1115,"name":"PoolFunded","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2353,"src":"28460:10:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256,uint256)"}},"id":1119,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28460:46:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1120,"nodeType":"EmitStatement","src":"28455:51:0"}]},"documentation":{"id":948,"nodeType":"StructuredDocumentation","src":"26316:313:0","text":"@notice Fund a pool.\n @dev Deducts the fee and transfers the amount to the distribution strategy.\n Emits a 'PoolFunded' event.\n @param _amount The amount to transfer\n @param _poolId The 'poolId' for the pool you are funding\n @param _strategy The address of the strategy"},"implemented":true,"kind":"function","modifiers":[],"name":"_fundPool","nameLocation":"26643:9:0","parameters":{"id":956,"nodeType":"ParameterList","parameters":[{"constant":false,"id":950,"mutability":"mutable","name":"_amount","nameLocation":"26661:7:0","nodeType":"VariableDeclaration","scope":1122,"src":"26653:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":949,"name":"uint256","nodeType":"ElementaryTypeName","src":"26653:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":952,"mutability":"mutable","name":"_poolId","nameLocation":"26678:7:0","nodeType":"VariableDeclaration","scope":1122,"src":"26670:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":951,"name":"uint256","nodeType":"ElementaryTypeName","src":"26670:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":955,"mutability":"mutable","name":"_strategy","nameLocation":"26697:9:0","nodeType":"VariableDeclaration","scope":1122,"src":"26687:19:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"},"typeName":{"id":954,"nodeType":"UserDefinedTypeName","pathNode":{"id":953,"name":"IStrategy","nameLocations":["26687:9:0"],"nodeType":"IdentifierPath","referencedDeclaration":2969,"src":"26687:9:0"},"referencedDeclaration":2969,"src":"26687:9:0","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}},"visibility":"internal"}],"src":"26652:55:0"},"returnParameters":{"id":957,"nodeType":"ParameterList","parameters":[],"src":"26717:0:0"},"scope":1390,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":1135,"nodeType":"FunctionDefinition","src":"28898:132:0","nodes":[],"body":{"id":1134,"nodeType":"Block","src":"28976:54:0","nodes":[],"statements":[{"expression":{"baseExpression":{"id":1130,"name":"cloneableStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63,"src":"28993:19:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":1132,"indexExpression":{"id":1131,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1125,"src":"29013:9:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"28993:30:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":1129,"id":1133,"nodeType":"Return","src":"28986:37:0"}]},"documentation":{"id":1123,"nodeType":"StructuredDocumentation","src":"28519:374:0","text":"@notice Checks if the strategy is an approved cloneable strategy.\n @dev Internal function used by createPoolwithCustomStrategy and createPool to\n determine if a strategy is in the cloneable strategy allow list.\n @param _strategy The address of the strategy\n @return This will return 'true' if the strategy is cloneable, otherwise 'false'"},"implemented":true,"kind":"function","modifiers":[],"name":"_isCloneableStrategy","nameLocation":"28907:20:0","parameters":{"id":1126,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1125,"mutability":"mutable","name":"_strategy","nameLocation":"28936:9:0","nodeType":"VariableDeclaration","scope":1135,"src":"28928:17:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1124,"name":"address","nodeType":"ElementaryTypeName","src":"28928:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"28927:19:0"},"returnParameters":{"id":1129,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1128,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1135,"src":"28970:4:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1127,"name":"bool","nodeType":"ElementaryTypeName","src":"28970:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"28969:6:0"},"scope":1390,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":1154,"nodeType":"FunctionDefinition","src":"29346:153:0","nodes":[],"body":{"id":1153,"nodeType":"Block","src":"29432:67:0","nodes":[],"statements":[{"expression":{"arguments":[{"expression":{"baseExpression":{"id":1146,"name":"pools","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58,"src":"29457:5:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Pool_$2319_storage_$","typeString":"mapping(uint256 => struct IAllo.Pool storage ref)"}},"id":1148,"indexExpression":{"id":1147,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1138,"src":"29463:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"29457:14:0","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage","typeString":"struct IAllo.Pool storage ref"}},"id":1149,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"29472:9:0","memberName":"adminRole","nodeType":"MemberAccess","referencedDeclaration":2318,"src":"29457:24:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":1150,"name":"_address","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1140,"src":"29483:8:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":1145,"name":"hasRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52495,"src":"29449:7:0","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) view returns (bool)"}},"id":1151,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29449:43:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":1144,"id":1152,"nodeType":"Return","src":"29442:50:0"}]},"documentation":{"id":1136,"nodeType":"StructuredDocumentation","src":"29036:305:0","text":"@notice Checks if the address is a pool admin\n @dev Internal function used to determine if an address is a pool admin\n @param _poolId The ID of the pool\n @param _address The address to check\n @return This will return 'true' if the address is a pool admin, otherwise 'false'"},"implemented":true,"kind":"function","modifiers":[],"name":"_isPoolAdmin","nameLocation":"29355:12:0","parameters":{"id":1141,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1138,"mutability":"mutable","name":"_poolId","nameLocation":"29376:7:0","nodeType":"VariableDeclaration","scope":1154,"src":"29368:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1137,"name":"uint256","nodeType":"ElementaryTypeName","src":"29368:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1140,"mutability":"mutable","name":"_address","nameLocation":"29393:8:0","nodeType":"VariableDeclaration","scope":1154,"src":"29385:16:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1139,"name":"address","nodeType":"ElementaryTypeName","src":"29385:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"29367:35:0"},"returnParameters":{"id":1144,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1143,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1154,"src":"29426:4:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1142,"name":"bool","nodeType":"ElementaryTypeName","src":"29426:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"29425:6:0"},"scope":1390,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":1178,"nodeType":"FunctionDefinition","src":"29821:192:0","nodes":[],"body":{"id":1177,"nodeType":"Block","src":"29909:104:0","nodes":[],"statements":[{"expression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":1175,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"expression":{"baseExpression":{"id":1165,"name":"pools","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58,"src":"29934:5:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Pool_$2319_storage_$","typeString":"mapping(uint256 => struct IAllo.Pool storage ref)"}},"id":1167,"indexExpression":{"id":1166,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1157,"src":"29940:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"29934:14:0","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage","typeString":"struct IAllo.Pool storage ref"}},"id":1168,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"29949:11:0","memberName":"managerRole","nodeType":"MemberAccess","referencedDeclaration":2316,"src":"29934:26:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":1169,"name":"_address","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1159,"src":"29962:8:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":1164,"name":"hasRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52495,"src":"29926:7:0","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) view returns (bool)"}},"id":1170,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29926:45:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"arguments":[{"id":1172,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1157,"src":"29988:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1173,"name":"_address","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1159,"src":"29997:8:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"id":1171,"name":"_isPoolAdmin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1154,"src":"29975:12:0","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_address_$returns$_t_bool_$","typeString":"function (uint256,address) view returns (bool)"}},"id":1174,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29975:31:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"29926:80:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":1163,"id":1176,"nodeType":"Return","src":"29919:87:0"}]},"documentation":{"id":1155,"nodeType":"StructuredDocumentation","src":"29505:311:0","text":"@notice Checks if the address is a pool manager\n @dev Internal function used to determine if an address is a pool manager\n @param _poolId The ID of the pool\n @param _address The address to check\n @return This will return 'true' if the address is a pool manager, otherwise 'false'"},"implemented":true,"kind":"function","modifiers":[],"name":"_isPoolManager","nameLocation":"29830:14:0","parameters":{"id":1160,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1157,"mutability":"mutable","name":"_poolId","nameLocation":"29853:7:0","nodeType":"VariableDeclaration","scope":1178,"src":"29845:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1156,"name":"uint256","nodeType":"ElementaryTypeName","src":"29845:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1159,"mutability":"mutable","name":"_address","nameLocation":"29870:8:0","nodeType":"VariableDeclaration","scope":1178,"src":"29862:16:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1158,"name":"address","nodeType":"ElementaryTypeName","src":"29862:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"29844:35:0"},"returnParameters":{"id":1163,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1162,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1178,"src":"29903:4:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1161,"name":"bool","nodeType":"ElementaryTypeName","src":"29903:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"29902:6:0"},"scope":1390,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":1205,"nodeType":"FunctionDefinition","src":"30226:203:0","nodes":[],"body":{"id":1204,"nodeType":"Block","src":"30279:150:0","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":1189,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1184,"name":"_registry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1181,"src":"30293:9:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":1187,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"30314:1:0","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":1186,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"30306:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":1185,"name":"address","nodeType":"ElementaryTypeName","src":"30306:7:0","typeDescriptions":{}}},"id":1188,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30306:10:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"30293:23:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1193,"nodeType":"IfStatement","src":"30289:50:0","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":1190,"name":"ZERO_ADDRESS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3020,"src":"30325:12:0","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":1191,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30325:14:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1192,"nodeType":"RevertStatement","src":"30318:21:0"}},{"expression":{"id":1198,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":1194,"name":"registry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47,"src":"30350:8:0","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":1196,"name":"_registry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1181,"src":"30371:9:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":1195,"name":"IRegistry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2802,"src":"30361:9:0","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IRegistry_$2802_$","typeString":"type(contract IRegistry)"}},"id":1197,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30361:20:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"}},"src":"30350:31:0","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"}},"id":1199,"nodeType":"ExpressionStatement","src":"30350:31:0"},{"eventCall":{"arguments":[{"id":1201,"name":"_registry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1181,"src":"30412:9:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":1200,"name":"RegistryUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2380,"src":"30396:15:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":1202,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30396:26:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1203,"nodeType":"EmitStatement","src":"30391:31:0"}]},"documentation":{"id":1179,"nodeType":"StructuredDocumentation","src":"30019:202:0","text":"@notice Updates the registry address\n @dev Internal function used to update the registry address.\n Emits a RegistryUpdated event.\n @param _registry The new registry address"},"implemented":true,"kind":"function","modifiers":[],"name":"_updateRegistry","nameLocation":"30235:15:0","parameters":{"id":1182,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1181,"mutability":"mutable","name":"_registry","nameLocation":"30259:9:0","nodeType":"VariableDeclaration","scope":1205,"src":"30251:17:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1180,"name":"address","nodeType":"ElementaryTypeName","src":"30251:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"30250:19:0"},"returnParameters":{"id":1183,"nodeType":"ParameterList","parameters":[],"src":"30279:0:0"},"scope":1390,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":1230,"nodeType":"FunctionDefinition","src":"30642:199:0","nodes":[],"body":{"id":1229,"nodeType":"Block","src":"30703:138:0","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":1216,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1211,"name":"_treasury","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1208,"src":"30717:9:0","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":1214,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"30738:1:0","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":1213,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"30730:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":1212,"name":"address","nodeType":"ElementaryTypeName","src":"30730:7:0","typeDescriptions":{}}},"id":1215,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30730:10:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"30717:23:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1220,"nodeType":"IfStatement","src":"30713:50:0","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":1217,"name":"ZERO_ADDRESS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3020,"src":"30749:12:0","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":1218,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30749:14:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1219,"nodeType":"RevertStatement","src":"30742:21:0"}},{"expression":{"id":1223,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":1221,"name":"treasury","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"30774:8:0","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":1222,"name":"_treasury","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1208,"src":"30785:9:0","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"src":"30774:20:0","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"id":1224,"nodeType":"ExpressionStatement","src":"30774:20:0"},{"eventCall":{"arguments":[{"id":1226,"name":"treasury","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"30825:8:0","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":1225,"name":"TreasuryUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2365,"src":"30809:15:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":1227,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30809:25:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1228,"nodeType":"EmitStatement","src":"30804:30:0"}]},"documentation":{"id":1206,"nodeType":"StructuredDocumentation","src":"30435:202:0","text":"@notice Updates the treasury address\n @dev Internal function used to update the treasury address.\n Emits a TreasuryUpdated event.\n @param _treasury The new treasury address"},"implemented":true,"kind":"function","modifiers":[],"name":"_updateTreasury","nameLocation":"30651:15:0","parameters":{"id":1209,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1208,"mutability":"mutable","name":"_treasury","nameLocation":"30683:9:0","nodeType":"VariableDeclaration","scope":1230,"src":"30667:25:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"},"typeName":{"id":1207,"name":"address","nodeType":"ElementaryTypeName","src":"30667:15:0","stateMutability":"payable","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"visibility":"internal"}],"src":"30666:27:0"},"returnParameters":{"id":1210,"nodeType":"ParameterList","parameters":[],"src":"30703:0:0"},"scope":1390,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":1252,"nodeType":"FunctionDefinition","src":"31041:198:0","nodes":[],"body":{"id":1251,"nodeType":"Block","src":"31098:141:0","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1238,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1236,"name":"_percentFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1233,"src":"31112:11:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"31653138","id":1237,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"31126:4:0","typeDescriptions":{"typeIdentifier":"t_rational_1000000000000000000_by_1","typeString":"int_const 1000000000000000000"},"value":"1e18"},"src":"31112:18:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1242,"nodeType":"IfStatement","src":"31108:44:0","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":1239,"name":"INVALID_FEE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3041,"src":"31139:11:0","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":1240,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31139:13:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1241,"nodeType":"RevertStatement","src":"31132:20:0"}},{"expression":{"id":1245,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":1243,"name":"percentFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34,"src":"31163:10:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":1244,"name":"_percentFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1233,"src":"31176:11:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"31163:24:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":1246,"nodeType":"ExpressionStatement","src":"31163:24:0"},{"eventCall":{"arguments":[{"id":1248,"name":"percentFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34,"src":"31221:10:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":1247,"name":"PercentFeeUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2370,"src":"31203:17:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":1249,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31203:29:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1250,"nodeType":"EmitStatement","src":"31198:34:0"}]},"documentation":{"id":1231,"nodeType":"StructuredDocumentation","src":"30847:189:0","text":"@notice Updates the fee percentage\n @dev Internal function used to update the percentage fee.\n Emits a PercentFeeUpdated event.\n @param _percentFee The new fee"},"implemented":true,"kind":"function","modifiers":[],"name":"_updatePercentFee","nameLocation":"31050:17:0","parameters":{"id":1234,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1233,"mutability":"mutable","name":"_percentFee","nameLocation":"31076:11:0","nodeType":"VariableDeclaration","scope":1252,"src":"31068:19:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1232,"name":"uint256","nodeType":"ElementaryTypeName","src":"31068:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"31067:21:0"},"returnParameters":{"id":1235,"nodeType":"ParameterList","parameters":[],"src":"31098:0:0"},"scope":1390,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":1267,"nodeType":"FunctionDefinition","src":"31426:125:0","nodes":[],"body":{"id":1266,"nodeType":"Block","src":"31477:74:0","nodes":[],"statements":[{"expression":{"id":1260,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":1258,"name":"baseFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37,"src":"31487:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":1259,"name":"_baseFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1255,"src":"31497:8:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"31487:18:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":1261,"nodeType":"ExpressionStatement","src":"31487:18:0"},{"eventCall":{"arguments":[{"id":1263,"name":"baseFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37,"src":"31536:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":1262,"name":"BaseFeeUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2375,"src":"31521:14:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":1264,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31521:23:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1265,"nodeType":"EmitStatement","src":"31516:28:0"}]},"documentation":{"id":1253,"nodeType":"StructuredDocumentation","src":"31245:176:0","text":"@notice Updates the base fee\n @dev Internal function used to update the base fee.\n Emits a BaseFeeUpdated event.\n @param _baseFee The new base fee"},"implemented":true,"kind":"function","modifiers":[],"name":"_updateBaseFee","nameLocation":"31435:14:0","parameters":{"id":1256,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1255,"mutability":"mutable","name":"_baseFee","nameLocation":"31458:8:0","nodeType":"VariableDeclaration","scope":1267,"src":"31450:16:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1254,"name":"uint256","nodeType":"ElementaryTypeName","src":"31450:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"31449:18:0"},"returnParameters":{"id":1257,"nodeType":"ParameterList","parameters":[],"src":"31477:0:0"},"scope":1390,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":1276,"nodeType":"FunctionDefinition","src":"31788:103:0","nodes":[],"body":{"id":1275,"nodeType":"Block","src":"31863:28:0","nodes":[],"statements":[{"expression":{"hexValue":"31653138","id":1273,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"31880:4:0","typeDescriptions":{"typeIdentifier":"t_rational_1000000000000000000_by_1","typeString":"int_const 1000000000000000000"},"value":"1e18"},"functionReturnParameters":1272,"id":1274,"nodeType":"Return","src":"31873:11:0"}]},"baseFunctions":[2609],"documentation":{"id":1268,"nodeType":"StructuredDocumentation","src":"31657:126:0","text":"@notice Getter for the fee denominator\n @return FEE_DENOMINATOR The fee denominator is (1e18) which represents 100%"},"functionSelector":"f4e1fc41","implemented":true,"kind":"function","modifiers":[],"name":"getFeeDenominator","nameLocation":"31797:17:0","parameters":{"id":1269,"nodeType":"ParameterList","parameters":[],"src":"31814:2:0"},"returnParameters":{"id":1272,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1271,"mutability":"mutable","name":"FEE_DENOMINATOR","nameLocation":"31846:15:0","nodeType":"VariableDeclaration","scope":1276,"src":"31838:23:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1270,"name":"uint256","nodeType":"ElementaryTypeName","src":"31838:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"31837:25:0"},"scope":1390,"stateMutability":"pure","virtual":false,"visibility":"public"},{"id":1292,"nodeType":"FunctionDefinition","src":"32112:140:0","nodes":[],"body":{"id":1291,"nodeType":"Block","src":"32197:55:0","nodes":[],"statements":[{"expression":{"arguments":[{"id":1287,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1279,"src":"32227:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1288,"name":"_address","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1281,"src":"32236:8:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"id":1286,"name":"_isPoolAdmin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1154,"src":"32214:12:0","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_address_$returns$_t_bool_$","typeString":"function (uint256,address) view returns (bool)"}},"id":1289,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32214:31:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":1285,"id":1290,"nodeType":"Return","src":"32207:38:0"}]},"baseFunctions":[2543],"documentation":{"id":1277,"nodeType":"StructuredDocumentation","src":"31897:210:0","text":"@notice Checks if the address is a pool admin.\n @param _poolId The ID of the pool\n @param _address The address to check\n @return 'true' if the address is a pool admin, otherwise 'false'"},"functionSelector":"ab3febc6","implemented":true,"kind":"function","modifiers":[],"name":"isPoolAdmin","nameLocation":"32121:11:0","parameters":{"id":1282,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1279,"mutability":"mutable","name":"_poolId","nameLocation":"32141:7:0","nodeType":"VariableDeclaration","scope":1292,"src":"32133:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1278,"name":"uint256","nodeType":"ElementaryTypeName","src":"32133:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1281,"mutability":"mutable","name":"_address","nameLocation":"32158:8:0","nodeType":"VariableDeclaration","scope":1292,"src":"32150:16:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1280,"name":"address","nodeType":"ElementaryTypeName","src":"32150:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"32132:35:0"},"returnParameters":{"id":1285,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1284,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1292,"src":"32191:4:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1283,"name":"bool","nodeType":"ElementaryTypeName","src":"32191:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"32190:6:0"},"scope":1390,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":1308,"nodeType":"FunctionDefinition","src":"32476:144:0","nodes":[],"body":{"id":1307,"nodeType":"Block","src":"32563:57:0","nodes":[],"statements":[{"expression":{"arguments":[{"id":1303,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1295,"src":"32595:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1304,"name":"_address","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1297,"src":"32604:8:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"id":1302,"name":"_isPoolManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1178,"src":"32580:14:0","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_address_$returns$_t_bool_$","typeString":"function (uint256,address) view returns (bool)"}},"id":1305,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32580:33:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":1301,"id":1306,"nodeType":"Return","src":"32573:40:0"}]},"baseFunctions":[2553],"documentation":{"id":1293,"nodeType":"StructuredDocumentation","src":"32258:213:0","text":"@notice Checks if the address is a pool manager\n @param _poolId The ID of the pool\n @param _address The address to check\n @return 'true' if the address is a pool manager, otherwise 'false'"},"functionSelector":"29e40d4b","implemented":true,"kind":"function","modifiers":[],"name":"isPoolManager","nameLocation":"32485:13:0","parameters":{"id":1298,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1295,"mutability":"mutable","name":"_poolId","nameLocation":"32507:7:0","nodeType":"VariableDeclaration","scope":1308,"src":"32499:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1294,"name":"uint256","nodeType":"ElementaryTypeName","src":"32499:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1297,"mutability":"mutable","name":"_address","nameLocation":"32524:8:0","nodeType":"VariableDeclaration","scope":1308,"src":"32516:16:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1296,"name":"address","nodeType":"ElementaryTypeName","src":"32516:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"32498:35:0"},"returnParameters":{"id":1301,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1300,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1308,"src":"32557:4:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1299,"name":"bool","nodeType":"ElementaryTypeName","src":"32557:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"32556:6:0"},"scope":1390,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":1325,"nodeType":"FunctionDefinition","src":"32753:126:0","nodes":[],"body":{"id":1324,"nodeType":"Block","src":"32823:56:0","nodes":[],"statements":[{"expression":{"arguments":[{"expression":{"baseExpression":{"id":1318,"name":"pools","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58,"src":"32848:5:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Pool_$2319_storage_$","typeString":"mapping(uint256 => struct IAllo.Pool storage ref)"}},"id":1320,"indexExpression":{"id":1319,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1311,"src":"32854:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"32848:14:0","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage","typeString":"struct IAllo.Pool storage ref"}},"id":1321,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"32863:8:0","memberName":"strategy","nodeType":"MemberAccess","referencedDeclaration":2309,"src":"32848:23:0","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}],"id":1317,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"32840:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":1316,"name":"address","nodeType":"ElementaryTypeName","src":"32840:7:0","typeDescriptions":{}}},"id":1322,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32840:32:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":1315,"id":1323,"nodeType":"Return","src":"32833:39:0"}]},"baseFunctions":[2569],"documentation":{"id":1309,"nodeType":"StructuredDocumentation","src":"32626:122:0","text":"@notice Getter for the strategy.\n @param _poolId The ID of the pool\n @return The address of the strategy"},"functionSelector":"cfc0cc34","implemented":true,"kind":"function","modifiers":[],"name":"getStrategy","nameLocation":"32762:11:0","parameters":{"id":1312,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1311,"mutability":"mutable","name":"_poolId","nameLocation":"32782:7:0","nodeType":"VariableDeclaration","scope":1325,"src":"32774:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1310,"name":"uint256","nodeType":"ElementaryTypeName","src":"32774:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"32773:17:0"},"returnParameters":{"id":1315,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1314,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1325,"src":"32814:7:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1313,"name":"address","nodeType":"ElementaryTypeName","src":"32814:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"32813:9:0"},"scope":1390,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":1334,"nodeType":"FunctionDefinition","src":"32977:91:0","nodes":[],"body":{"id":1333,"nodeType":"Block","src":"33034:34:0","nodes":[],"statements":[{"expression":{"id":1331,"name":"percentFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34,"src":"33051:10:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":1330,"id":1332,"nodeType":"Return","src":"33044:17:0"}]},"baseFunctions":[2575],"documentation":{"id":1326,"nodeType":"StructuredDocumentation","src":"32885:87:0","text":"@notice Getter for fee percentage.\n @return The fee percentage (1e18 = 100%)"},"functionSelector":"4edbaadc","implemented":true,"kind":"function","modifiers":[],"name":"getPercentFee","nameLocation":"32986:13:0","parameters":{"id":1327,"nodeType":"ParameterList","parameters":[],"src":"32999:2:0"},"returnParameters":{"id":1330,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1329,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1334,"src":"33025:7:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1328,"name":"uint256","nodeType":"ElementaryTypeName","src":"33025:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"33024:9:0"},"scope":1390,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":1343,"nodeType":"FunctionDefinition","src":"33140:85:0","nodes":[],"body":{"id":1342,"nodeType":"Block","src":"33194:31:0","nodes":[],"statements":[{"expression":{"id":1340,"name":"baseFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37,"src":"33211:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":1339,"id":1341,"nodeType":"Return","src":"33204:14:0"}]},"baseFunctions":[2581],"documentation":{"id":1335,"nodeType":"StructuredDocumentation","src":"33074:61:0","text":"@notice Getter for base fee.\n @return The base fee"},"functionSelector":"15e812ad","implemented":true,"kind":"function","modifiers":[],"name":"getBaseFee","nameLocation":"33149:10:0","parameters":{"id":1336,"nodeType":"ParameterList","parameters":[],"src":"33159:2:0"},"returnParameters":{"id":1339,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1338,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1343,"src":"33185:7:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1337,"name":"uint256","nodeType":"ElementaryTypeName","src":"33185:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"33184:9:0"},"scope":1390,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":1352,"nodeType":"FunctionDefinition","src":"33313:95:0","nodes":[],"body":{"id":1351,"nodeType":"Block","src":"33376:32:0","nodes":[],"statements":[{"expression":{"id":1349,"name":"treasury","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"33393:8:0","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"functionReturnParameters":1348,"id":1350,"nodeType":"Return","src":"33386:15:0"}]},"baseFunctions":[2587],"documentation":{"id":1344,"nodeType":"StructuredDocumentation","src":"33231:77:0","text":"@notice Getter for treasury address.\n @return The treasury address"},"functionSelector":"3b19e84a","implemented":true,"kind":"function","modifiers":[],"name":"getTreasury","nameLocation":"33322:11:0","parameters":{"id":1345,"nodeType":"ParameterList","parameters":[],"src":"33333:2:0"},"returnParameters":{"id":1348,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1347,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1352,"src":"33359:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"},"typeName":{"id":1346,"name":"address","nodeType":"ElementaryTypeName","src":"33359:15:0","stateMutability":"payable","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"visibility":"internal"}],"src":"33358:17:0"},"scope":1390,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":1362,"nodeType":"FunctionDefinition","src":"33488:89:0","nodes":[],"body":{"id":1361,"nodeType":"Block","src":"33545:32:0","nodes":[],"statements":[{"expression":{"id":1359,"name":"registry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47,"src":"33562:8:0","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"}},"functionReturnParameters":1358,"id":1360,"nodeType":"Return","src":"33555:15:0"}]},"baseFunctions":[2594],"documentation":{"id":1353,"nodeType":"StructuredDocumentation","src":"33414:69:0","text":"@notice Getter for registry.\n @return The registry address"},"functionSelector":"5ab1bd53","implemented":true,"kind":"function","modifiers":[],"name":"getRegistry","nameLocation":"33497:11:0","parameters":{"id":1354,"nodeType":"ParameterList","parameters":[],"src":"33508:2:0"},"returnParameters":{"id":1358,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1357,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1362,"src":"33534:9:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"},"typeName":{"id":1356,"nodeType":"UserDefinedTypeName","pathNode":{"id":1355,"name":"IRegistry","nameLocations":["33534:9:0"],"nodeType":"IdentifierPath","referencedDeclaration":2802,"src":"33534:9:0"},"referencedDeclaration":2802,"src":"33534:9:0","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"}},"visibility":"internal"}],"src":"33533:11:0"},"scope":1390,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":1375,"nodeType":"FunctionDefinition","src":"33760:132:0","nodes":[],"body":{"id":1374,"nodeType":"Block","src":"33837:55:0","nodes":[],"statements":[{"expression":{"arguments":[{"id":1371,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1365,"src":"33875:9:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":1370,"name":"_isCloneableStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1135,"src":"33854:20:0","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":1372,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33854:31:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":1369,"id":1373,"nodeType":"Return","src":"33847:38:0"}]},"baseFunctions":[2561],"documentation":{"id":1363,"nodeType":"StructuredDocumentation","src":"33583:172:0","text":"@notice Getter for if strategy is cloneable.\n @param _strategy The address of the strategy\n @return 'true' if the strategy is cloneable, otherwise 'false'"},"functionSelector":"ab2ec589","implemented":true,"kind":"function","modifiers":[],"name":"isCloneableStrategy","nameLocation":"33769:19:0","parameters":{"id":1366,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1365,"mutability":"mutable","name":"_strategy","nameLocation":"33797:9:0","nodeType":"VariableDeclaration","scope":1375,"src":"33789:17:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1364,"name":"address","nodeType":"ElementaryTypeName","src":"33789:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"33788:19:0"},"returnParameters":{"id":1369,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1368,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1375,"src":"33831:4:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1367,"name":"bool","nodeType":"ElementaryTypeName","src":"33831:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"33830:6:0"},"scope":1390,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":1389,"nodeType":"FunctionDefinition","src":"34013:108:0","nodes":[],"body":{"id":1388,"nodeType":"Block","src":"34083:38:0","nodes":[],"statements":[{"expression":{"baseExpression":{"id":1384,"name":"pools","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58,"src":"34100:5:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Pool_$2319_storage_$","typeString":"mapping(uint256 => struct IAllo.Pool storage ref)"}},"id":1386,"indexExpression":{"id":1385,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1378,"src":"34106:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"34100:14:0","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage","typeString":"struct IAllo.Pool storage ref"}},"functionReturnParameters":1383,"id":1387,"nodeType":"Return","src":"34093:21:0"}]},"baseFunctions":[2603],"documentation":{"id":1376,"nodeType":"StructuredDocumentation","src":"33898:110:0","text":"@notice Getter for the 'Pool'.\n @param _poolId The ID of the pool\n @return The 'Pool' struct"},"functionSelector":"068bcd8d","implemented":true,"kind":"function","modifiers":[],"name":"getPool","nameLocation":"34022:7:0","parameters":{"id":1379,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1378,"mutability":"mutable","name":"_poolId","nameLocation":"34038:7:0","nodeType":"VariableDeclaration","scope":1389,"src":"34030:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1377,"name":"uint256","nodeType":"ElementaryTypeName","src":"34030:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"34029:17:0"},"returnParameters":{"id":1383,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1382,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1389,"src":"34070:11:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool"},"typeName":{"id":1381,"nodeType":"UserDefinedTypeName","pathNode":{"id":1380,"name":"Pool","nameLocations":["34070:4:0"],"nodeType":"IdentifierPath","referencedDeclaration":2319,"src":"34070:4:0"},"referencedDeclaration":2319,"src":"34070:4:0","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool"}},"visibility":"internal"}],"src":"34069:13:0"},"scope":1390,"stateMutability":"view","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[{"baseName":{"id":16,"name":"IAllo","nameLocations":["5097:5:0"],"nodeType":"IdentifierPath","referencedDeclaration":2610,"src":"5097:5:0"},"id":17,"nodeType":"InheritanceSpecifier","src":"5097:5:0"},{"baseName":{"id":18,"name":"Native","nameLocations":["5108:6:0"],"nodeType":"IdentifierPath","referencedDeclaration":3106,"src":"5108:6:0"},"id":19,"nodeType":"InheritanceSpecifier","src":"5108:6:0"},{"baseName":{"id":20,"name":"Transfer","nameLocations":["5120:8:0"],"nodeType":"IdentifierPath","referencedDeclaration":3317,"src":"5120:8:0"},"id":21,"nodeType":"InheritanceSpecifier","src":"5120:8:0"},{"baseName":{"id":22,"name":"Initializable","nameLocations":["5134:13:0"],"nodeType":"IdentifierPath","referencedDeclaration":53191,"src":"5134:13:0"},"id":23,"nodeType":"InheritanceSpecifier","src":"5134:13:0"},{"baseName":{"id":24,"name":"Ownable","nameLocations":["5153:7:0"],"nodeType":"IdentifierPath","referencedDeclaration":4095,"src":"5153:7:0"},"id":25,"nodeType":"InheritanceSpecifier","src":"5153:7:0"},{"baseName":{"id":26,"name":"AccessControlUpgradeable","nameLocations":["5166:24:0"],"nodeType":"IdentifierPath","referencedDeclaration":52736,"src":"5166:24:0"},"id":27,"nodeType":"InheritanceSpecifier","src":"5166:24:0"},{"baseName":{"id":28,"name":"ReentrancyGuardUpgradeable","nameLocations":["5196:26:0"],"nodeType":"IdentifierPath","referencedDeclaration":53276,"src":"5196:26:0"},"id":29,"nodeType":"InheritanceSpecifier","src":"5196:26:0"},{"baseName":{"id":30,"name":"Errors","nameLocations":["5228:6:0"],"nodeType":"IdentifierPath","referencedDeclaration":3089,"src":"5228:6:0"},"id":31,"nodeType":"InheritanceSpecifier","src":"5228:6:0"}],"canonicalName":"Allo","contractDependencies":[],"contractKind":"contract","documentation":{"id":15,"nodeType":"StructuredDocumentation","src":"4725:351:0","text":"@title Allo\n @author @thelostone-mc , @0xKurt , @codenamejason , @0xZakk , @nfrgosselin \n @notice This contract is used to create & manage pools as well as manage the protocol.\n @dev The contract must be initialized with the 'initialize()' function."},"fullyImplemented":true,"linearizedBaseContracts":[1390,3089,53276,52736,54009,54021,52809,53735,4095,53191,3317,3106,2610],"name":"Allo","nameLocation":"5085:4:0","scope":1391,"usedErrors":[3008,3011,3014,3017,3020,3023,3026,3029,3032,3035,3038,3041,3044,3047,3050,3053,3056,3059,3062,3065,3068,3071,3074,3079,3082,3085,3088,3117,3929,3932,3935]}],"license":"AGPL-3.0-only"},"id":0} \ No newline at end of file +{"abi":[{"type":"function","name":"DEFAULT_ADMIN_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"NATIVE","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"addPoolManager","inputs":[{"name":"_poolId","type":"uint256","internalType":"uint256"},{"name":"_manager","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"addToCloneableStrategies","inputs":[{"name":"_strategy","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"allocate","inputs":[{"name":"_poolId","type":"uint256","internalType":"uint256"},{"name":"_data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"batchAllocate","inputs":[{"name":"_poolIds","type":"uint256[]","internalType":"uint256[]"},{"name":"_datas","type":"bytes[]","internalType":"bytes[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"batchRegisterRecipient","inputs":[{"name":"_poolIds","type":"uint256[]","internalType":"uint256[]"},{"name":"_data","type":"bytes[]","internalType":"bytes[]"}],"outputs":[{"name":"recipientIds","type":"address[]","internalType":"address[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"cancelOwnershipHandover","inputs":[],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"completeOwnershipHandover","inputs":[{"name":"pendingOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"createPool","inputs":[{"name":"_profileId","type":"bytes32","internalType":"bytes32"},{"name":"_strategy","type":"address","internalType":"address"},{"name":"_initStrategyData","type":"bytes","internalType":"bytes"},{"name":"_token","type":"address","internalType":"address"},{"name":"_amount","type":"uint256","internalType":"uint256"},{"name":"_metadata","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]},{"name":"_managers","type":"address[]","internalType":"address[]"}],"outputs":[{"name":"poolId","type":"uint256","internalType":"uint256"}],"stateMutability":"payable"},{"type":"function","name":"createPoolWithCustomStrategy","inputs":[{"name":"_profileId","type":"bytes32","internalType":"bytes32"},{"name":"_strategy","type":"address","internalType":"address"},{"name":"_initStrategyData","type":"bytes","internalType":"bytes"},{"name":"_token","type":"address","internalType":"address"},{"name":"_amount","type":"uint256","internalType":"uint256"},{"name":"_metadata","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]},{"name":"_managers","type":"address[]","internalType":"address[]"}],"outputs":[{"name":"poolId","type":"uint256","internalType":"uint256"}],"stateMutability":"payable"},{"type":"function","name":"distribute","inputs":[{"name":"_poolId","type":"uint256","internalType":"uint256"},{"name":"_recipientIds","type":"address[]","internalType":"address[]"},{"name":"_data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"fundPool","inputs":[{"name":"_poolId","type":"uint256","internalType":"uint256"},{"name":"_amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"getBaseFee","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getFeeDenominator","inputs":[],"outputs":[{"name":"FEE_DENOMINATOR","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"getPercentFee","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getPool","inputs":[{"name":"_poolId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"tuple","internalType":"struct IAllo.Pool","components":[{"name":"profileId","type":"bytes32","internalType":"bytes32"},{"name":"strategy","type":"address","internalType":"contract IStrategy"},{"name":"token","type":"address","internalType":"address"},{"name":"metadata","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]},{"name":"managerRole","type":"bytes32","internalType":"bytes32"},{"name":"adminRole","type":"bytes32","internalType":"bytes32"}]}],"stateMutability":"view"},{"type":"function","name":"getRegistry","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IRegistry"}],"stateMutability":"view"},{"type":"function","name":"getRoleAdmin","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"getStrategy","inputs":[{"name":"_poolId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getTreasury","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address payable"}],"stateMutability":"view"},{"type":"function","name":"grantRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"hasRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"initialize","inputs":[{"name":"_owner","type":"address","internalType":"address"},{"name":"_registry","type":"address","internalType":"address"},{"name":"_treasury","type":"address","internalType":"address payable"},{"name":"_percentFee","type":"uint256","internalType":"uint256"},{"name":"_baseFee","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"isCloneableStrategy","inputs":[{"name":"_strategy","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isPoolAdmin","inputs":[{"name":"_poolId","type":"uint256","internalType":"uint256"},{"name":"_address","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isPoolManager","inputs":[{"name":"_poolId","type":"uint256","internalType":"uint256"},{"name":"_address","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"result","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"ownershipHandoverExpiresAt","inputs":[{"name":"pendingOwner","type":"address","internalType":"address"}],"outputs":[{"name":"result","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"recoverFunds","inputs":[{"name":"_token","type":"address","internalType":"address"},{"name":"_recipient","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerRecipient","inputs":[{"name":"_poolId","type":"uint256","internalType":"uint256"},{"name":"_data","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"payable"},{"type":"function","name":"removeFromCloneableStrategies","inputs":[{"name":"_strategy","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"removePoolManager","inputs":[{"name":"_poolId","type":"uint256","internalType":"uint256"},{"name":"_manager","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"renounceOwnership","inputs":[],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"renounceRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"requestOwnershipHandover","inputs":[],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"revokeRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"transferOwnership","inputs":[{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"updateBaseFee","inputs":[{"name":"_baseFee","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"updatePercentFee","inputs":[{"name":"_percentFee","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"updatePoolMetadata","inputs":[{"name":"_poolId","type":"uint256","internalType":"uint256"},{"name":"_metadata","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"updateRegistry","inputs":[{"name":"_registry","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"updateTreasury","inputs":[{"name":"_treasury","type":"address","internalType":"address payable"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"BaseFeePaid","inputs":[{"name":"poolId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"BaseFeeUpdated","inputs":[{"name":"baseFee","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint8","indexed":false,"internalType":"uint8"}],"anonymous":false},{"type":"event","name":"OwnershipHandoverCanceled","inputs":[{"name":"pendingOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"OwnershipHandoverRequested","inputs":[{"name":"pendingOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"oldOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"PercentFeeUpdated","inputs":[{"name":"percentFee","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"PoolCreated","inputs":[{"name":"poolId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"profileId","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"strategy","type":"address","indexed":false,"internalType":"contract IStrategy"},{"name":"token","type":"address","indexed":false,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"metadata","type":"tuple","indexed":false,"internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]}],"anonymous":false},{"type":"event","name":"PoolFunded","inputs":[{"name":"poolId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"fee","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"PoolMetadataUpdated","inputs":[{"name":"poolId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"metadata","type":"tuple","indexed":false,"internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]}],"anonymous":false},{"type":"event","name":"RegistryUpdated","inputs":[{"name":"registry","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"RoleAdminChanged","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"previousAdminRole","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"newAdminRole","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"RoleGranted","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"sender","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"RoleRevoked","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"sender","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"StrategyApproved","inputs":[{"name":"strategy","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"StrategyRemoved","inputs":[{"name":"strategy","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"TreasuryUpdated","inputs":[{"name":"treasury","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"error","name":"ALLOCATION_ACTIVE","inputs":[]},{"type":"error","name":"ALLOCATION_NOT_ACTIVE","inputs":[]},{"type":"error","name":"ALLOCATION_NOT_ENDED","inputs":[]},{"type":"error","name":"ALREADY_INITIALIZED","inputs":[]},{"type":"error","name":"AMOUNT_MISMATCH","inputs":[]},{"type":"error","name":"ANCHOR_ERROR","inputs":[]},{"type":"error","name":"ARRAY_MISMATCH","inputs":[]},{"type":"error","name":"INVALID","inputs":[]},{"type":"error","name":"INVALID_ADDRESS","inputs":[]},{"type":"error","name":"INVALID_FEE","inputs":[]},{"type":"error","name":"INVALID_METADATA","inputs":[]},{"type":"error","name":"INVALID_REGISTRATION","inputs":[]},{"type":"error","name":"IS_APPROVED_STRATEGY","inputs":[]},{"type":"error","name":"MISMATCH","inputs":[]},{"type":"error","name":"NONCE_NOT_AVAILABLE","inputs":[]},{"type":"error","name":"NOT_APPROVED_STRATEGY","inputs":[]},{"type":"error","name":"NOT_ENOUGH_FUNDS","inputs":[]},{"type":"error","name":"NOT_IMPLEMENTED","inputs":[]},{"type":"error","name":"NOT_INITIALIZED","inputs":[]},{"type":"error","name":"NOT_PENDING_OWNER","inputs":[]},{"type":"error","name":"NewOwnerIsZeroAddress","inputs":[]},{"type":"error","name":"NoHandoverRequest","inputs":[]},{"type":"error","name":"POOL_ACTIVE","inputs":[]},{"type":"error","name":"POOL_INACTIVE","inputs":[]},{"type":"error","name":"RECIPIENT_ALREADY_ACCEPTED","inputs":[]},{"type":"error","name":"RECIPIENT_ERROR","inputs":[{"name":"recipientId","type":"address","internalType":"address"}]},{"type":"error","name":"RECIPIENT_NOT_ACCEPTED","inputs":[]},{"type":"error","name":"REGISTRATION_NOT_ACTIVE","inputs":[]},{"type":"error","name":"UNAUTHORIZED","inputs":[]},{"type":"error","name":"Unauthorized","inputs":[]},{"type":"error","name":"ZERO_ADDRESS","inputs":[]}],"bytecode":{"object":"0x608060405234801561001057600080fd5b506135a1806100206000396000f3fe6080604052600436106102e75760003560e01c80635f9ca13811610184578063ab2ec589116100d6578063e1007d4a1161008a578063f4e1fc4111610064578063f4e1fc41146107e7578063f54fc4a014610802578063fee81cf41461082257600080fd5b8063e1007d4a146107ae578063f04e283e146107c1578063f2fde38b146107d457600080fd5b8063c6dff1cf116100bb578063c6dff1cf14610735578063cfc0cc3414610755578063d547741f1461078e57600080fd5b8063ab2ec589146106f5578063ab3febc61461071557600080fd5b80638da5cb5b11610138578063a0cf0aea11610112578063a0cf0aea14610698578063a217fddf146106c0578063a6b63eb8146106d557600080fd5b80638da5cb5b146106195780638e6901861461063257806391d148541461065257600080fd5b806377da8caf1161016957806377da8caf146105c65780637f51bb1f146105d95780637f5a70bd146105f957600080fd5b80635f9ca1381461059e578063715018a6146105be57600080fd5b80632cf682b01161023d5780633b19e84a116101f157806354d1f13d116101cb57806354d1f13d146105655780635ab1bd531461056d5780635acd6fac1461058b57600080fd5b80633b19e84a1461051257806341bba0b4146105305780634edbaadc1461055057600080fd5b80632f2ff15d116102225780632f2ff15d146104b257806336568abe146104d25780633a5fbd92146104f257600080fd5b80632cf682b01461047f5780632ec381881461049f57600080fd5b80631a20bd881161029f57806324ae6a271161027957806324ae6a2714610437578063256929621461045757806329e40d4b1461045f57600080fd5b80631a20bd88146103ba5780631a5da6c8146103e7578063248a9ca31461040757600080fd5b8063068bcd8d116102d0578063068bcd8d14610343578063075c0e9c1461037057806315e812ad1461039b57600080fd5b806301ffc9a7146102ec578063031e2fa114610321575b600080fd5b3480156102f857600080fd5b5061030c6103073660046129c9565b610855565b60405190151581526020015b60405180910390f35b34801561032d57600080fd5b5061034161033c366004612a20565b6108ee565b005b34801561034f57600080fd5b5061036361035e366004612a3d565b61094e565b6040516103189190612ac5565b61038361037e366004612bed565b610a61565b6040516001600160a01b039091168152602001610318565b3480156103a757600080fd5b5060ca545b604051908152602001610318565b3480156103c657600080fd5b506103da6103d5366004612ce8565b610b17565b6040516103189190612ddb565b3480156103f357600080fd5b50610341610402366004612a20565b610c9e565b34801561041357600080fd5b506103ac610422366004612a3d565b60009081526065602052604090206001015490565b34801561044357600080fd5b50610341610452366004612dee565b610cb2565b610341610d7a565b34801561046b57600080fd5b5061030c61047a366004612e27565b610dca565b34801561048b57600080fd5b5061034161049a366004612e27565b610ddd565b6103416104ad366004612bed565b610e2a565b3480156104be57600080fd5b506103416104cd366004612e27565b610e4a565b3480156104de57600080fd5b506103416104ed366004612e27565b610e6f565b3480156104fe57600080fd5b5061034161050d366004612eb0565b610efc565b34801561051e57600080fd5b5060cc546001600160a01b0316610383565b34801561053c57600080fd5b5061034161054b366004612a20565b610f9d565b34801561055c57600080fd5b5060c9546103ac565b610341611020565b34801561057957600080fd5b5060cd546001600160a01b0316610383565b610341610599366004612f1d565b61105c565b3480156105aa57600080fd5b506103416105b9366004612fc2565b6111f3565b610341611270565b6103ac6105d4366004612fff565b611284565b3480156105e557600080fd5b506103416105f4366004612a20565b611333565b34801561060557600080fd5b50610341610614366004612e27565b611344565b34801561062557600080fd5b50638b78c6d81954610383565b34801561063e57600080fd5b5061034161064d366004612a3d565b61136a565b34801561065e57600080fd5b5061030c61066d366004612e27565b60009182526065602090815260408084206001600160a01b0393909316845291905290205460ff1690565b3480156106a457600080fd5b5061038373eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b3480156106cc57600080fd5b506103ac600081565b3480156106e157600080fd5b506103416106f03660046130c2565b61137b565b34801561070157600080fd5b5061030c610710366004612a20565b611499565b34801561072157600080fd5b5061030c610730366004612e27565b6114ba565b34801561074157600080fd5b5061034161075036600461311d565b6114c6565b34801561076157600080fd5b50610383610770366004612a3d565b600090815260cf60205260409020600101546001600160a01b031690565b34801561079a57600080fd5b506103416107a9366004612e27565b61154b565b6103ac6107bc366004612fff565b611570565b6103416107cf366004612a20565b611607565b6103416107e2366004612a20565b611644565b3480156107f357600080fd5b50670de0b6b3a76400006103ac565b34801561080e57600080fd5b5061034161081d366004612a3d565b61166b565b34801561082e57600080fd5b506103ac61083d366004612a20565b63389a75e1600c908152600091909152602090205490565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f7965db0b0000000000000000000000000000000000000000000000000000000014806108e857507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b6108f661167c565b6001600160a01b038116600081815260d06020908152604091829020805460ff1916905590519182527f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea491015b60405180910390a150565b610956612963565b600082815260cf6020908152604091829020825160c0810184528154815260018201546001600160a01b039081168285015260028301541681850152835180850190945260038201805485526004830180549295939460608701949390840191906109c0906131aa565b80601f01602080910402602001604051908101604052809291908181526020018280546109ec906131aa565b8015610a395780601f10610a0e57610100808354040283529160200191610a39565b820191906000526020600020905b815481529060010190602001808311610a1c57829003601f168201915b5050505050815250508152602001600582015481526020016006820154815250509050919050565b6000610a6b611697565b600083815260cf6020526040908190206001015490517f2bbe0cae0000000000000000000000000000000000000000000000000000000081526001600160a01b0390911690632bbe0cae903490610ac890869033906004016131e4565b60206040518083038185885af1158015610ae6573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610b0b919061320f565b90506108e86001609755565b6060610b21611697565b82518067ffffffffffffffff811115610b3c57610b3c612b2e565b604051908082528060200260200182016040528015610b65578160200160208202803683370190505b50915082518114610b895760405163636e39bb60e01b815260040160405180910390fd5b60005b81811015610c925760cf6000868381518110610baa57610baa61322c565b6020026020010151815260200190815260200160002060010160009054906101000a90046001600160a01b03166001600160a01b0316632bbe0cae858381518110610bf757610bf761322c565b6020026020010151336040518363ffffffff1660e01b8152600401610c1d9291906131e4565b6020604051808303816000875af1158015610c3c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c60919061320f565b838281518110610c7257610c7261322c565b6001600160a01b0390921660209283029190910190910152600101610b8c565b50506108e86001609755565b610ca661167c565b610caf816116f0565b50565b610cba61167c565b60006001600160a01b03831673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee14610d66576040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b038416906370a0823190602401602060405180830381865afa158015610d3d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d619190613242565b610d68565b475b9050610d75838383611772565b505050565b60006202a30067ffffffffffffffff164201905063389a75e1600c5233600052806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d600080a250565b6000610dd683836117ac565b9392505050565b81610de7816117ef565b6001600160a01b038216610e0e5760405163538ba4f960e01b815260040160405180910390fd5b600083815260cf6020526040902060050154610d759083611816565b610e32611697565b610e3c82826118b8565b610e466001609755565b5050565b600082815260656020526040902060010154610e658161194b565b610d758383611816565b6001600160a01b0381163314610ef25760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201527f20726f6c657320666f722073656c66000000000000000000000000000000000060648201526084015b60405180910390fd5b610e468282611955565b610f04611697565b600083815260cf6020526040908190206001015490517f0a6f0ee90000000000000000000000000000000000000000000000000000000081526001600160a01b0390911690630a6f0ee990610f619085908590339060040161325b565b600060405180830381600087803b158015610f7b57600080fd5b505af1158015610f8f573d6000803e3d6000fd5b50505050610d756001609755565b610fa561167c565b6001600160a01b038116610fcc5760405163538ba4f960e01b815260040160405180910390fd5b6001600160a01b038116600081815260d06020908152604091829020805460ff1916600117905590519182527f960dd94cbb79169f09a4e445d58b895df2d9bffa5b31055d0932d801724a20d19101610943565b63389a75e1600c523360005260006020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c92600080a2565b611064611697565b80600003611085576040516303e09bb960e31b815260040160405180910390fd5b600082815260cf60209081526040808320815160c0810183528154815260018201546001600160a01b03908116828601526002830154168184015282518084019093526003820180548452600483018054929593946060870194909390840191906110ef906131aa565b80601f016020809104026020016040519081016040528092919081815260200182805461111b906131aa565b80156111685780601f1061113d57610100808354040283529160200191611168565b820191906000526020600020905b81548152906001019060200180831161114b57829003601f168201915b505050919092525050508152600582015460208201526006909101546040918201528101519091506001600160a01b031673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee1480156111bb5750348214155b156111d9576040516303e09bb960e31b815260040160405180910390fd5b6111e8828483602001516119d8565b50610e466001609755565b816111fd81611cbc565b600083815260cf602090815260409091208351600382019081559184015190918491600484019061122e90826132e8565b50905050837f14f52b76bda9e4c482842cefda2968d332933577988f224e80aae18fba10edf08460405161126291906133a8565b60405180910390a250505050565b61127861167c565b6112826000611cc6565b565b600061128e611697565b6001600160a01b038716600090815260d0602052604090205460ff166112e0576040517f9369923800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b33600090815260ce60205260408120805461131c928b92611312928c92909190611309836133d1565b91905055611d04565b8888888888611d58565b90506113286001609755565b979650505050505050565b61133b61167c565b610caf81612293565b8161134e816117ef565b600083815260cf6020526040902060050154610d759083611955565b61137261167c565b610caf81612315565b600054600190610100900460ff1615801561139d575060005460ff8083169116105b61140f5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610ee9565b6000805461ffff191660ff83161761010017905561142c8661234a565b611435856116f0565b61143e84612293565b61144783612386565b61145082612315565b6000805461ff001916905560405160ff821681527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a1505050505050565b6001600160a01b038116600090815260d0602052604081205460ff166108e8565b6000610dd683836123fd565b6114ce611697565b8051829081146114f15760405163636e39bb60e01b815260040160405180910390fd5b60005b8181101561153f576115378585838181106115115761151161322c565b9050602002013584838151811061152a5761152a61322c565b60200260200101516118b8565b6001016114f4565b5050610d756001609755565b6000828152606560205260409020600101546115668161194b565b610d758383611955565b60006001600160a01b0387166115995760405163538ba4f960e01b815260040160405180910390fd5b6001600160a01b038716600090815260d0602052604090205460ff16156115ec576040517feeffa72100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6115fb88888888888888611d58565b98975050505050505050565b61160f61167c565b63389a75e1600c52806000526020600c20805442111561163757636f5e88186000526004601cfd5b60009055610caf81611cc6565b61164c61167c565b8060601b61166257637448fbae6000526004601cfd5b610caf81611cc6565b61167361167c565b610caf81612386565b638b78c6d819543314611282576382b429006000526004601cfd5b6002609754036116e95760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610ee9565b6002609755565b6001600160a01b0381166117175760405163538ba4f960e01b815260040160405180910390fd5b60cd805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0383169081179091556040519081527fd6ceddf6d2a22f21c7c81675c518004eff43bc5c8a6fc32a0b748e69d58671cd90602001610943565b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b038416016117a157610d758282612435565b610d75838383612451565b600082815260cf60209081526040808320600501548352606582528083206001600160a01b038516845290915281205460ff1680610dd65750610dd683836123fd565b6117f981336123fd565b610caf5760405163075fd2b160e01b815260040160405180910390fd5b60008281526065602090815260408083206001600160a01b038516845290915290205460ff16610e465760008281526065602090815260408083206001600160a01b03851684529091529020805460ff191660011790556118743390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b600082815260cf6020526040908190206001015490517fef2920fc0000000000000000000000000000000000000000000000000000000081526001600160a01b039091169063ef2920fc90349061191590859033906004016131e4565b6000604051808303818588803b15801561192e57600080fd5b505af1158015611942573d6000803e3d6000fd5b50505050505050565b610caf81336124a0565b60008281526065602090815260408083206001600160a01b038516845290915290205460ff1615610e465760008281526065602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b600082815260cf60205260408120600281015460c9548692916001600160a01b03169015611b4257670de0b6b3a764000060c954611a1690896133ea565b611a209190613401565b9350611a2c8484613423565b925086611a398486613436565b14611a70576040517f7fcce2a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b03821601611aca576040805160608101825233815260cc546001600160a01b03166020820152908101859052611ac4908290612515565b50611b42565b60cc54600090611ae49083906001600160a01b03166125ad565b6040805160608101825233815260cc546001600160a01b03166020820152908101879052909150611b16908390612515565b5060cc54600090611b319084906001600160a01b03166125ad565b9050611b3d8282613423565b955050505b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b03821601611ba357611b9d816040518060600160405280336001600160a01b03168152602001886001600160a01b0316815260200186815250612515565b50611c05565b6000611baf82876125ad565b9050611be7826040518060600160405280336001600160a01b03168152602001896001600160a01b0316815260200187815250612515565b506000611bf483886125ad565b9050611c008282613423565b945050505b6040517ff5b0dfb7000000000000000000000000000000000000000000000000000000008152600481018490526001600160a01b0386169063f5b0dfb790602401600060405180830381600087803b158015611c6057600080fd5b505af1158015611c74573d6000803e3d6000fd5b505060408051868152602081018890528993507fbf59838198f4ea92f663f5c1fc697f151a1b746b7dff86d564f250a55cbb485192500160405180910390a250505050505050565b6117f981336117ac565b638b78c6d81980546001600160a01b039092169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a355565b6040516bffffffffffffffffffffffff193360601b166020820152603481018290526000908190605401604051602081830303815290604052805190602001209050611d5084826125f6565b949350505050565b60cd546040517f5e8a7915000000000000000000000000000000000000000000000000000000008152600481018990523360248201526000916001600160a01b031690635e8a791590604401602060405180830381865afa158015611dc1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611de59190613449565b611e025760405163075fd2b160e01b815260040160405180910390fd5b60cb60008154611e11906133d1565b91829055506040519091508190600090611e599083906020019081527f61646d696e000000000000000000000000000000000000000000000000000000602082015260250190565b60408051601f19818403018152828252805160209182012060c0840183528d84526001600160a01b03808e168584019081528c8216868601908152606087018c8152608088018a905260a0880185905260008b815260cf87529690962087518155915160018301805491851673ffffffffffffffffffffffffffffffffffffffff1992831617905590516002830180549190941691161790915592518051600385019081559281015191955084939290916004840190611f1990826132e8565b5050506080820151600582015560a090910151600690910155611f3c8233611816565b611f468383612693565b6040517fedd146cc0000000000000000000000000000000000000000000000000000000081526001600160a01b038b169063edd146cc90611f8d9087908d9060040161346b565b600060405180830381600087803b158015611fa757600080fd5b505af1158015611fbb573d6000803e3d6000fd5b50505050838a6001600160a01b03166338fff2d06040518163ffffffff1660e01b8152600401602060405180830381865afa158015611ffe573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120229190613242565b1415806120a25750306001600160a01b03168a6001600160a01b03166315cc481e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612072573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612096919061320f565b6001600160a01b031614155b156120c05760405163636e39bb60e01b815260040160405180910390fd5b845160005b818110156121315760008782815181106120e1576120e161322c565b6020026020010151905060006001600160a01b0316816001600160a01b03160361211e5760405163538ba4f960e01b815260040160405180910390fd5b6121288682611816565b506001016120c5565b5060ca5415612234576001600160a01b03891673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee1480156121735750348860ca546121709190613436565b14155b806121a857506001600160a01b03891673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee148015906121a857503460ca5414155b156121c6576040516303e09bb960e31b815260040160405180910390fd5b60cc5460ca546121f79173eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee916001600160a01b0390911690611772565b847f02e340b51c6ae66fd22509c9b016f224c47a54063d4259fe3d860958e9eaac7260ca5460405161222b91815260200190565b60405180910390a25b87156122455761224588868d6119d8565b8b857f69bcb5a6cf6a3c95185cbb451e77787240c866dd2e8332597e3013ff18a1aba18d8c8c8c60405161227c9493929190613484565b60405180910390a350505050979650505050505050565b6001600160a01b0381166122ba5760405163538ba4f960e01b815260040160405180910390fd5b60cc805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0383169081179091556040519081527f7dae230f18360d76a040c81f050aa14eb9d6dc7901b20fc5d855e2a20fe814d190602001610943565b60ca8190556040518181527f803bee7e92bbc6ae7a1551f9f4ed3e31a8ea8df32e93332f41b0028f1091f9c390602001610943565b6001600160a01b0316638b78c6d8198190558060007f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a350565b670de0b6b3a76400008111156123c8576040517f2fb15b8700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60c98190556040518181527f9e826789de2de708fd9f09edea1182545e543893caa8ff71f8eb3aab50a4b06590602001610943565b600082815260cf60209081526040808320600601548352606582528083206001600160a01b038516845290915281205460ff16610dd6565b60008060008084865af1610e465763b12d13eb6000526004601cfd5b81601452806034526fa9059cbb00000000000000000000000060005260206000604460106000875af13d156001600051141716612496576390b8ec186000526004601cfd5b6000603452505050565b60008281526065602090815260408083206001600160a01b038516845290915290205460ff16610e46576124d3816126de565b6124de8360206126f0565b6040516020016124ef9291906134c0565b60408051601f198184030181529082905262461bcd60e51b8252610ee991600401613541565b604081015160009073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b0385160161258f578034101561257c576040517f74c5672b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61258a836020015182612435565b6125a3565b6125a38484600001518560200151846128d1565b5060019392505050565b600073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b038416016125e557506001600160a01b038116316108e8565b6125ef838361292e565b90506108e8565b6000763d602d80600a3d3981f3363d3d373d3d3d363d730000008360601b60e81c176000526e5af43d82803e903d91602b57fd5bf38360781b1760205281603760096000f590506001600160a01b0381166108e85760405162461bcd60e51b815260206004820152601760248201527f455243313136373a2063726561746532206661696c65640000000000000000006044820152606401610ee9565b600082815260656020526040808220600101805490849055905190918391839186917fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff9190a4505050565b60606108e86001600160a01b03831660145b606060006126ff8360026133ea565b61270a906002613436565b67ffffffffffffffff81111561272257612722612b2e565b6040519080825280601f01601f19166020018201604052801561274c576020820181803683370190505b5090507f3000000000000000000000000000000000000000000000000000000000000000816000815181106127835761278361322c565b60200101906001600160f81b031916908160001a9053507f7800000000000000000000000000000000000000000000000000000000000000816001815181106127ce576127ce61322c565b60200101906001600160f81b031916908160001a90535060006127f28460026133ea565b6127fd906001613436565b90505b6001811115612882577f303132333435363738396162636465660000000000000000000000000000000085600f166010811061283e5761283e61322c565b1a60f81b8282815181106128545761285461322c565b60200101906001600160f81b031916908160001a90535060049490941c9361287b81613554565b9050612800565b508315610dd65760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610ee9565b60405181606052826040528360601b602c526f23b872dd000000000000000000000000600c52602060006064601c6000895af13d15600160005114171661292057637939f4246000526004601cfd5b600060605260405250505050565b6000816014526f70a0823100000000000000000000000060005260208060246010865afa601f3d111660205102905092915050565b6040518060c001604052806000801916815260200160006001600160a01b0316815260200160006001600160a01b031681526020016129b5604051806040016040528060008152602001606081525090565b815260006020820181905260409091015290565b6000602082840312156129db57600080fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114610dd657600080fd5b6001600160a01b0381168114610caf57600080fd5b600060208284031215612a3257600080fd5b8135610dd681612a0b565b600060208284031215612a4f57600080fd5b5035919050565b60005b83811015612a71578181015183820152602001612a59565b50506000910152565b60008151808452612a92816020860160208601612a56565b601f01601f19169290920160200192915050565b805182526000602082015160406020850152611d506040850182612a7a565b6020815281516020820152600060208301516001600160a01b0380821660408501528060408601511660608501525050606083015160c06080840152612b0e60e0840182612aa6565b9050608084015160a084015260a084015160c08401528091505092915050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715612b6d57612b6d612b2e565b604052919050565b600067ffffffffffffffff831115612b8f57612b8f612b2e565b612ba2601f8401601f1916602001612b44565b9050828152838383011115612bb657600080fd5b828260208301376000602084830101529392505050565b600082601f830112612bde57600080fd5b610dd683833560208501612b75565b60008060408385031215612c0057600080fd5b82359150602083013567ffffffffffffffff811115612c1e57600080fd5b612c2a85828601612bcd565b9150509250929050565b600067ffffffffffffffff821115612c4e57612c4e612b2e565b5060051b60200190565b600082601f830112612c6957600080fd5b81356020612c7e612c7983612c34565b612b44565b82815260059290921b84018101918181019086841115612c9d57600080fd5b8286015b84811015612cdd57803567ffffffffffffffff811115612cc15760008081fd5b612ccf8986838b0101612bcd565b845250918301918301612ca1565b509695505050505050565b60008060408385031215612cfb57600080fd5b823567ffffffffffffffff80821115612d1357600080fd5b818501915085601f830112612d2757600080fd5b81356020612d37612c7983612c34565b82815260059290921b84018101918181019089841115612d5657600080fd5b948201945b83861015612d7457853582529482019490820190612d5b565b96505086013592505080821115612d8a57600080fd5b50612c2a85828601612c58565b600081518084526020808501945080840160005b83811015612dd05781516001600160a01b031687529582019590820190600101612dab565b509495945050505050565b602081526000610dd66020830184612d97565b60008060408385031215612e0157600080fd5b8235612e0c81612a0b565b91506020830135612e1c81612a0b565b809150509250929050565b60008060408385031215612e3a57600080fd5b823591506020830135612e1c81612a0b565b600082601f830112612e5d57600080fd5b81356020612e6d612c7983612c34565b82815260059290921b84018101918181019086841115612e8c57600080fd5b8286015b84811015612cdd578035612ea381612a0b565b8352918301918301612e90565b600080600060608486031215612ec557600080fd5b83359250602084013567ffffffffffffffff80821115612ee457600080fd5b612ef087838801612e4c565b93506040860135915080821115612f0657600080fd5b50612f1386828701612bcd565b9150509250925092565b60008060408385031215612f3057600080fd5b50508035926020909101359150565b600060408284031215612f5157600080fd5b6040516040810167ffffffffffffffff8282108183111715612f7557612f75612b2e565b81604052829350843583526020850135915080821115612f9457600080fd5b508301601f81018513612fa657600080fd5b612fb585823560208401612b75565b6020830152505092915050565b60008060408385031215612fd557600080fd5b82359150602083013567ffffffffffffffff811115612ff357600080fd5b612c2a85828601612f3f565b600080600080600080600060e0888a03121561301a57600080fd5b87359650602088013561302c81612a0b565b9550604088013567ffffffffffffffff8082111561304957600080fd5b6130558b838c01612bcd565b965060608a0135915061306782612a0b565b9094506080890135935060a0890135908082111561308457600080fd5b6130908b838c01612f3f565b935060c08a01359150808211156130a657600080fd5b506130b38a828b01612e4c565b91505092959891949750929550565b600080600080600060a086880312156130da57600080fd5b85356130e581612a0b565b945060208601356130f581612a0b565b9350604086013561310581612a0b565b94979396509394606081013594506080013592915050565b60008060006040848603121561313257600080fd5b833567ffffffffffffffff8082111561314a57600080fd5b818601915086601f83011261315e57600080fd5b81358181111561316d57600080fd5b8760208260051b850101111561318257600080fd5b60209283019550935090850135908082111561319d57600080fd5b50612f1386828701612c58565b600181811c908216806131be57607f821691505b6020821081036131de57634e487b7160e01b600052602260045260246000fd5b50919050565b6040815260006131f76040830185612a7a565b90506001600160a01b03831660208301529392505050565b60006020828403121561322157600080fd5b8151610dd681612a0b565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561325457600080fd5b5051919050565b60608152600061326e6060830186612d97565b82810360208401526132808186612a7a565b9150506001600160a01b0383166040830152949350505050565b601f821115610d7557600081815260208120601f850160051c810160208610156132c15750805b601f850160051c820191505b818110156132e0578281556001016132cd565b505050505050565b815167ffffffffffffffff81111561330257613302612b2e565b6133168161331084546131aa565b8461329a565b602080601f83116001811461334b57600084156133335750858301515b600019600386901b1c1916600185901b1785556132e0565b600085815260208120601f198616915b8281101561337a5788860151825594840194600190910190840161335b565b50858210156133985787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b602081526000610dd66020830184612aa6565b634e487b7160e01b600052601160045260246000fd5b6000600182016133e3576133e36133bb565b5060010190565b80820281158282048414176108e8576108e86133bb565b60008261341e57634e487b7160e01b600052601260045260246000fd5b500490565b818103818111156108e8576108e86133bb565b808201808211156108e8576108e86133bb565b60006020828403121561345b57600080fd5b81518015158114610dd657600080fd5b828152604060208201526000611d506040830184612a7a565b60006001600160a01b038087168352808616602084015250836040830152608060608301526134b66080830184612aa6565b9695505050505050565b7f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008152600083516134f8816017850160208801612a56565b7f206973206d697373696e6720726f6c65200000000000000000000000000000006017918401918201528351613535816028840160208801612a56565b01602801949350505050565b602081526000610dd66020830184612a7a565b600081613563576135636133bb565b50600019019056fea2646970667358221220e8b15b9e6001eefa921c72112ee294241cba05d996c4315dc2c2e468c01fa56964736f6c63430008130033","sourceMap":"5076:29047:0:-:0;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x6080604052600436106102e75760003560e01c80635f9ca13811610184578063ab2ec589116100d6578063e1007d4a1161008a578063f4e1fc4111610064578063f4e1fc41146107e7578063f54fc4a014610802578063fee81cf41461082257600080fd5b8063e1007d4a146107ae578063f04e283e146107c1578063f2fde38b146107d457600080fd5b8063c6dff1cf116100bb578063c6dff1cf14610735578063cfc0cc3414610755578063d547741f1461078e57600080fd5b8063ab2ec589146106f5578063ab3febc61461071557600080fd5b80638da5cb5b11610138578063a0cf0aea11610112578063a0cf0aea14610698578063a217fddf146106c0578063a6b63eb8146106d557600080fd5b80638da5cb5b146106195780638e6901861461063257806391d148541461065257600080fd5b806377da8caf1161016957806377da8caf146105c65780637f51bb1f146105d95780637f5a70bd146105f957600080fd5b80635f9ca1381461059e578063715018a6146105be57600080fd5b80632cf682b01161023d5780633b19e84a116101f157806354d1f13d116101cb57806354d1f13d146105655780635ab1bd531461056d5780635acd6fac1461058b57600080fd5b80633b19e84a1461051257806341bba0b4146105305780634edbaadc1461055057600080fd5b80632f2ff15d116102225780632f2ff15d146104b257806336568abe146104d25780633a5fbd92146104f257600080fd5b80632cf682b01461047f5780632ec381881461049f57600080fd5b80631a20bd881161029f57806324ae6a271161027957806324ae6a2714610437578063256929621461045757806329e40d4b1461045f57600080fd5b80631a20bd88146103ba5780631a5da6c8146103e7578063248a9ca31461040757600080fd5b8063068bcd8d116102d0578063068bcd8d14610343578063075c0e9c1461037057806315e812ad1461039b57600080fd5b806301ffc9a7146102ec578063031e2fa114610321575b600080fd5b3480156102f857600080fd5b5061030c6103073660046129c9565b610855565b60405190151581526020015b60405180910390f35b34801561032d57600080fd5b5061034161033c366004612a20565b6108ee565b005b34801561034f57600080fd5b5061036361035e366004612a3d565b61094e565b6040516103189190612ac5565b61038361037e366004612bed565b610a61565b6040516001600160a01b039091168152602001610318565b3480156103a757600080fd5b5060ca545b604051908152602001610318565b3480156103c657600080fd5b506103da6103d5366004612ce8565b610b17565b6040516103189190612ddb565b3480156103f357600080fd5b50610341610402366004612a20565b610c9e565b34801561041357600080fd5b506103ac610422366004612a3d565b60009081526065602052604090206001015490565b34801561044357600080fd5b50610341610452366004612dee565b610cb2565b610341610d7a565b34801561046b57600080fd5b5061030c61047a366004612e27565b610dca565b34801561048b57600080fd5b5061034161049a366004612e27565b610ddd565b6103416104ad366004612bed565b610e2a565b3480156104be57600080fd5b506103416104cd366004612e27565b610e4a565b3480156104de57600080fd5b506103416104ed366004612e27565b610e6f565b3480156104fe57600080fd5b5061034161050d366004612eb0565b610efc565b34801561051e57600080fd5b5060cc546001600160a01b0316610383565b34801561053c57600080fd5b5061034161054b366004612a20565b610f9d565b34801561055c57600080fd5b5060c9546103ac565b610341611020565b34801561057957600080fd5b5060cd546001600160a01b0316610383565b610341610599366004612f1d565b61105c565b3480156105aa57600080fd5b506103416105b9366004612fc2565b6111f3565b610341611270565b6103ac6105d4366004612fff565b611284565b3480156105e557600080fd5b506103416105f4366004612a20565b611333565b34801561060557600080fd5b50610341610614366004612e27565b611344565b34801561062557600080fd5b50638b78c6d81954610383565b34801561063e57600080fd5b5061034161064d366004612a3d565b61136a565b34801561065e57600080fd5b5061030c61066d366004612e27565b60009182526065602090815260408084206001600160a01b0393909316845291905290205460ff1690565b3480156106a457600080fd5b5061038373eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b3480156106cc57600080fd5b506103ac600081565b3480156106e157600080fd5b506103416106f03660046130c2565b61137b565b34801561070157600080fd5b5061030c610710366004612a20565b611499565b34801561072157600080fd5b5061030c610730366004612e27565b6114ba565b34801561074157600080fd5b5061034161075036600461311d565b6114c6565b34801561076157600080fd5b50610383610770366004612a3d565b600090815260cf60205260409020600101546001600160a01b031690565b34801561079a57600080fd5b506103416107a9366004612e27565b61154b565b6103ac6107bc366004612fff565b611570565b6103416107cf366004612a20565b611607565b6103416107e2366004612a20565b611644565b3480156107f357600080fd5b50670de0b6b3a76400006103ac565b34801561080e57600080fd5b5061034161081d366004612a3d565b61166b565b34801561082e57600080fd5b506103ac61083d366004612a20565b63389a75e1600c908152600091909152602090205490565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f7965db0b0000000000000000000000000000000000000000000000000000000014806108e857507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b6108f661167c565b6001600160a01b038116600081815260d06020908152604091829020805460ff1916905590519182527f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea491015b60405180910390a150565b610956612963565b600082815260cf6020908152604091829020825160c0810184528154815260018201546001600160a01b039081168285015260028301541681850152835180850190945260038201805485526004830180549295939460608701949390840191906109c0906131aa565b80601f01602080910402602001604051908101604052809291908181526020018280546109ec906131aa565b8015610a395780601f10610a0e57610100808354040283529160200191610a39565b820191906000526020600020905b815481529060010190602001808311610a1c57829003601f168201915b5050505050815250508152602001600582015481526020016006820154815250509050919050565b6000610a6b611697565b600083815260cf6020526040908190206001015490517f2bbe0cae0000000000000000000000000000000000000000000000000000000081526001600160a01b0390911690632bbe0cae903490610ac890869033906004016131e4565b60206040518083038185885af1158015610ae6573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610b0b919061320f565b90506108e86001609755565b6060610b21611697565b82518067ffffffffffffffff811115610b3c57610b3c612b2e565b604051908082528060200260200182016040528015610b65578160200160208202803683370190505b50915082518114610b895760405163636e39bb60e01b815260040160405180910390fd5b60005b81811015610c925760cf6000868381518110610baa57610baa61322c565b6020026020010151815260200190815260200160002060010160009054906101000a90046001600160a01b03166001600160a01b0316632bbe0cae858381518110610bf757610bf761322c565b6020026020010151336040518363ffffffff1660e01b8152600401610c1d9291906131e4565b6020604051808303816000875af1158015610c3c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c60919061320f565b838281518110610c7257610c7261322c565b6001600160a01b0390921660209283029190910190910152600101610b8c565b50506108e86001609755565b610ca661167c565b610caf816116f0565b50565b610cba61167c565b60006001600160a01b03831673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee14610d66576040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b038416906370a0823190602401602060405180830381865afa158015610d3d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d619190613242565b610d68565b475b9050610d75838383611772565b505050565b60006202a30067ffffffffffffffff164201905063389a75e1600c5233600052806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d600080a250565b6000610dd683836117ac565b9392505050565b81610de7816117ef565b6001600160a01b038216610e0e5760405163538ba4f960e01b815260040160405180910390fd5b600083815260cf6020526040902060050154610d759083611816565b610e32611697565b610e3c82826118b8565b610e466001609755565b5050565b600082815260656020526040902060010154610e658161194b565b610d758383611816565b6001600160a01b0381163314610ef25760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201527f20726f6c657320666f722073656c66000000000000000000000000000000000060648201526084015b60405180910390fd5b610e468282611955565b610f04611697565b600083815260cf6020526040908190206001015490517f0a6f0ee90000000000000000000000000000000000000000000000000000000081526001600160a01b0390911690630a6f0ee990610f619085908590339060040161325b565b600060405180830381600087803b158015610f7b57600080fd5b505af1158015610f8f573d6000803e3d6000fd5b50505050610d756001609755565b610fa561167c565b6001600160a01b038116610fcc5760405163538ba4f960e01b815260040160405180910390fd5b6001600160a01b038116600081815260d06020908152604091829020805460ff1916600117905590519182527f960dd94cbb79169f09a4e445d58b895df2d9bffa5b31055d0932d801724a20d19101610943565b63389a75e1600c523360005260006020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c92600080a2565b611064611697565b80600003611085576040516303e09bb960e31b815260040160405180910390fd5b600082815260cf60209081526040808320815160c0810183528154815260018201546001600160a01b03908116828601526002830154168184015282518084019093526003820180548452600483018054929593946060870194909390840191906110ef906131aa565b80601f016020809104026020016040519081016040528092919081815260200182805461111b906131aa565b80156111685780601f1061113d57610100808354040283529160200191611168565b820191906000526020600020905b81548152906001019060200180831161114b57829003601f168201915b505050919092525050508152600582015460208201526006909101546040918201528101519091506001600160a01b031673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee1480156111bb5750348214155b156111d9576040516303e09bb960e31b815260040160405180910390fd5b6111e8828483602001516119d8565b50610e466001609755565b816111fd81611cbc565b600083815260cf602090815260409091208351600382019081559184015190918491600484019061122e90826132e8565b50905050837f14f52b76bda9e4c482842cefda2968d332933577988f224e80aae18fba10edf08460405161126291906133a8565b60405180910390a250505050565b61127861167c565b6112826000611cc6565b565b600061128e611697565b6001600160a01b038716600090815260d0602052604090205460ff166112e0576040517f9369923800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b33600090815260ce60205260408120805461131c928b92611312928c92909190611309836133d1565b91905055611d04565b8888888888611d58565b90506113286001609755565b979650505050505050565b61133b61167c565b610caf81612293565b8161134e816117ef565b600083815260cf6020526040902060050154610d759083611955565b61137261167c565b610caf81612315565b600054600190610100900460ff1615801561139d575060005460ff8083169116105b61140f5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610ee9565b6000805461ffff191660ff83161761010017905561142c8661234a565b611435856116f0565b61143e84612293565b61144783612386565b61145082612315565b6000805461ff001916905560405160ff821681527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a1505050505050565b6001600160a01b038116600090815260d0602052604081205460ff166108e8565b6000610dd683836123fd565b6114ce611697565b8051829081146114f15760405163636e39bb60e01b815260040160405180910390fd5b60005b8181101561153f576115378585838181106115115761151161322c565b9050602002013584838151811061152a5761152a61322c565b60200260200101516118b8565b6001016114f4565b5050610d756001609755565b6000828152606560205260409020600101546115668161194b565b610d758383611955565b60006001600160a01b0387166115995760405163538ba4f960e01b815260040160405180910390fd5b6001600160a01b038716600090815260d0602052604090205460ff16156115ec576040517feeffa72100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6115fb88888888888888611d58565b98975050505050505050565b61160f61167c565b63389a75e1600c52806000526020600c20805442111561163757636f5e88186000526004601cfd5b60009055610caf81611cc6565b61164c61167c565b8060601b61166257637448fbae6000526004601cfd5b610caf81611cc6565b61167361167c565b610caf81612386565b638b78c6d819543314611282576382b429006000526004601cfd5b6002609754036116e95760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610ee9565b6002609755565b6001600160a01b0381166117175760405163538ba4f960e01b815260040160405180910390fd5b60cd805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0383169081179091556040519081527fd6ceddf6d2a22f21c7c81675c518004eff43bc5c8a6fc32a0b748e69d58671cd90602001610943565b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b038416016117a157610d758282612435565b610d75838383612451565b600082815260cf60209081526040808320600501548352606582528083206001600160a01b038516845290915281205460ff1680610dd65750610dd683836123fd565b6117f981336123fd565b610caf5760405163075fd2b160e01b815260040160405180910390fd5b60008281526065602090815260408083206001600160a01b038516845290915290205460ff16610e465760008281526065602090815260408083206001600160a01b03851684529091529020805460ff191660011790556118743390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b600082815260cf6020526040908190206001015490517fef2920fc0000000000000000000000000000000000000000000000000000000081526001600160a01b039091169063ef2920fc90349061191590859033906004016131e4565b6000604051808303818588803b15801561192e57600080fd5b505af1158015611942573d6000803e3d6000fd5b50505050505050565b610caf81336124a0565b60008281526065602090815260408083206001600160a01b038516845290915290205460ff1615610e465760008281526065602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b600082815260cf60205260408120600281015460c9548692916001600160a01b03169015611b4257670de0b6b3a764000060c954611a1690896133ea565b611a209190613401565b9350611a2c8484613423565b925086611a398486613436565b14611a70576040517f7fcce2a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b03821601611aca576040805160608101825233815260cc546001600160a01b03166020820152908101859052611ac4908290612515565b50611b42565b60cc54600090611ae49083906001600160a01b03166125ad565b6040805160608101825233815260cc546001600160a01b03166020820152908101879052909150611b16908390612515565b5060cc54600090611b319084906001600160a01b03166125ad565b9050611b3d8282613423565b955050505b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b03821601611ba357611b9d816040518060600160405280336001600160a01b03168152602001886001600160a01b0316815260200186815250612515565b50611c05565b6000611baf82876125ad565b9050611be7826040518060600160405280336001600160a01b03168152602001896001600160a01b0316815260200187815250612515565b506000611bf483886125ad565b9050611c008282613423565b945050505b6040517ff5b0dfb7000000000000000000000000000000000000000000000000000000008152600481018490526001600160a01b0386169063f5b0dfb790602401600060405180830381600087803b158015611c6057600080fd5b505af1158015611c74573d6000803e3d6000fd5b505060408051868152602081018890528993507fbf59838198f4ea92f663f5c1fc697f151a1b746b7dff86d564f250a55cbb485192500160405180910390a250505050505050565b6117f981336117ac565b638b78c6d81980546001600160a01b039092169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a355565b6040516bffffffffffffffffffffffff193360601b166020820152603481018290526000908190605401604051602081830303815290604052805190602001209050611d5084826125f6565b949350505050565b60cd546040517f5e8a7915000000000000000000000000000000000000000000000000000000008152600481018990523360248201526000916001600160a01b031690635e8a791590604401602060405180830381865afa158015611dc1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611de59190613449565b611e025760405163075fd2b160e01b815260040160405180910390fd5b60cb60008154611e11906133d1565b91829055506040519091508190600090611e599083906020019081527f61646d696e000000000000000000000000000000000000000000000000000000602082015260250190565b60408051601f19818403018152828252805160209182012060c0840183528d84526001600160a01b03808e168584019081528c8216868601908152606087018c8152608088018a905260a0880185905260008b815260cf87529690962087518155915160018301805491851673ffffffffffffffffffffffffffffffffffffffff1992831617905590516002830180549190941691161790915592518051600385019081559281015191955084939290916004840190611f1990826132e8565b5050506080820151600582015560a090910151600690910155611f3c8233611816565b611f468383612693565b6040517fedd146cc0000000000000000000000000000000000000000000000000000000081526001600160a01b038b169063edd146cc90611f8d9087908d9060040161346b565b600060405180830381600087803b158015611fa757600080fd5b505af1158015611fbb573d6000803e3d6000fd5b50505050838a6001600160a01b03166338fff2d06040518163ffffffff1660e01b8152600401602060405180830381865afa158015611ffe573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120229190613242565b1415806120a25750306001600160a01b03168a6001600160a01b03166315cc481e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612072573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612096919061320f565b6001600160a01b031614155b156120c05760405163636e39bb60e01b815260040160405180910390fd5b845160005b818110156121315760008782815181106120e1576120e161322c565b6020026020010151905060006001600160a01b0316816001600160a01b03160361211e5760405163538ba4f960e01b815260040160405180910390fd5b6121288682611816565b506001016120c5565b5060ca5415612234576001600160a01b03891673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee1480156121735750348860ca546121709190613436565b14155b806121a857506001600160a01b03891673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee148015906121a857503460ca5414155b156121c6576040516303e09bb960e31b815260040160405180910390fd5b60cc5460ca546121f79173eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee916001600160a01b0390911690611772565b847f02e340b51c6ae66fd22509c9b016f224c47a54063d4259fe3d860958e9eaac7260ca5460405161222b91815260200190565b60405180910390a25b87156122455761224588868d6119d8565b8b857f69bcb5a6cf6a3c95185cbb451e77787240c866dd2e8332597e3013ff18a1aba18d8c8c8c60405161227c9493929190613484565b60405180910390a350505050979650505050505050565b6001600160a01b0381166122ba5760405163538ba4f960e01b815260040160405180910390fd5b60cc805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0383169081179091556040519081527f7dae230f18360d76a040c81f050aa14eb9d6dc7901b20fc5d855e2a20fe814d190602001610943565b60ca8190556040518181527f803bee7e92bbc6ae7a1551f9f4ed3e31a8ea8df32e93332f41b0028f1091f9c390602001610943565b6001600160a01b0316638b78c6d8198190558060007f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a350565b670de0b6b3a76400008111156123c8576040517f2fb15b8700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60c98190556040518181527f9e826789de2de708fd9f09edea1182545e543893caa8ff71f8eb3aab50a4b06590602001610943565b600082815260cf60209081526040808320600601548352606582528083206001600160a01b038516845290915281205460ff16610dd6565b60008060008084865af1610e465763b12d13eb6000526004601cfd5b81601452806034526fa9059cbb00000000000000000000000060005260206000604460106000875af13d156001600051141716612496576390b8ec186000526004601cfd5b6000603452505050565b60008281526065602090815260408083206001600160a01b038516845290915290205460ff16610e46576124d3816126de565b6124de8360206126f0565b6040516020016124ef9291906134c0565b60408051601f198184030181529082905262461bcd60e51b8252610ee991600401613541565b604081015160009073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b0385160161258f578034101561257c576040517f74c5672b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61258a836020015182612435565b6125a3565b6125a38484600001518560200151846128d1565b5060019392505050565b600073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b038416016125e557506001600160a01b038116316108e8565b6125ef838361292e565b90506108e8565b6000763d602d80600a3d3981f3363d3d373d3d3d363d730000008360601b60e81c176000526e5af43d82803e903d91602b57fd5bf38360781b1760205281603760096000f590506001600160a01b0381166108e85760405162461bcd60e51b815260206004820152601760248201527f455243313136373a2063726561746532206661696c65640000000000000000006044820152606401610ee9565b600082815260656020526040808220600101805490849055905190918391839186917fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff9190a4505050565b60606108e86001600160a01b03831660145b606060006126ff8360026133ea565b61270a906002613436565b67ffffffffffffffff81111561272257612722612b2e565b6040519080825280601f01601f19166020018201604052801561274c576020820181803683370190505b5090507f3000000000000000000000000000000000000000000000000000000000000000816000815181106127835761278361322c565b60200101906001600160f81b031916908160001a9053507f7800000000000000000000000000000000000000000000000000000000000000816001815181106127ce576127ce61322c565b60200101906001600160f81b031916908160001a90535060006127f28460026133ea565b6127fd906001613436565b90505b6001811115612882577f303132333435363738396162636465660000000000000000000000000000000085600f166010811061283e5761283e61322c565b1a60f81b8282815181106128545761285461322c565b60200101906001600160f81b031916908160001a90535060049490941c9361287b81613554565b9050612800565b508315610dd65760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610ee9565b60405181606052826040528360601b602c526f23b872dd000000000000000000000000600c52602060006064601c6000895af13d15600160005114171661292057637939f4246000526004601cfd5b600060605260405250505050565b6000816014526f70a0823100000000000000000000000060005260208060246010865afa601f3d111660205102905092915050565b6040518060c001604052806000801916815260200160006001600160a01b0316815260200160006001600160a01b031681526020016129b5604051806040016040528060008152602001606081525090565b815260006020820181905260409091015290565b6000602082840312156129db57600080fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114610dd657600080fd5b6001600160a01b0381168114610caf57600080fd5b600060208284031215612a3257600080fd5b8135610dd681612a0b565b600060208284031215612a4f57600080fd5b5035919050565b60005b83811015612a71578181015183820152602001612a59565b50506000910152565b60008151808452612a92816020860160208601612a56565b601f01601f19169290920160200192915050565b805182526000602082015160406020850152611d506040850182612a7a565b6020815281516020820152600060208301516001600160a01b0380821660408501528060408601511660608501525050606083015160c06080840152612b0e60e0840182612aa6565b9050608084015160a084015260a084015160c08401528091505092915050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715612b6d57612b6d612b2e565b604052919050565b600067ffffffffffffffff831115612b8f57612b8f612b2e565b612ba2601f8401601f1916602001612b44565b9050828152838383011115612bb657600080fd5b828260208301376000602084830101529392505050565b600082601f830112612bde57600080fd5b610dd683833560208501612b75565b60008060408385031215612c0057600080fd5b82359150602083013567ffffffffffffffff811115612c1e57600080fd5b612c2a85828601612bcd565b9150509250929050565b600067ffffffffffffffff821115612c4e57612c4e612b2e565b5060051b60200190565b600082601f830112612c6957600080fd5b81356020612c7e612c7983612c34565b612b44565b82815260059290921b84018101918181019086841115612c9d57600080fd5b8286015b84811015612cdd57803567ffffffffffffffff811115612cc15760008081fd5b612ccf8986838b0101612bcd565b845250918301918301612ca1565b509695505050505050565b60008060408385031215612cfb57600080fd5b823567ffffffffffffffff80821115612d1357600080fd5b818501915085601f830112612d2757600080fd5b81356020612d37612c7983612c34565b82815260059290921b84018101918181019089841115612d5657600080fd5b948201945b83861015612d7457853582529482019490820190612d5b565b96505086013592505080821115612d8a57600080fd5b50612c2a85828601612c58565b600081518084526020808501945080840160005b83811015612dd05781516001600160a01b031687529582019590820190600101612dab565b509495945050505050565b602081526000610dd66020830184612d97565b60008060408385031215612e0157600080fd5b8235612e0c81612a0b565b91506020830135612e1c81612a0b565b809150509250929050565b60008060408385031215612e3a57600080fd5b823591506020830135612e1c81612a0b565b600082601f830112612e5d57600080fd5b81356020612e6d612c7983612c34565b82815260059290921b84018101918181019086841115612e8c57600080fd5b8286015b84811015612cdd578035612ea381612a0b565b8352918301918301612e90565b600080600060608486031215612ec557600080fd5b83359250602084013567ffffffffffffffff80821115612ee457600080fd5b612ef087838801612e4c565b93506040860135915080821115612f0657600080fd5b50612f1386828701612bcd565b9150509250925092565b60008060408385031215612f3057600080fd5b50508035926020909101359150565b600060408284031215612f5157600080fd5b6040516040810167ffffffffffffffff8282108183111715612f7557612f75612b2e565b81604052829350843583526020850135915080821115612f9457600080fd5b508301601f81018513612fa657600080fd5b612fb585823560208401612b75565b6020830152505092915050565b60008060408385031215612fd557600080fd5b82359150602083013567ffffffffffffffff811115612ff357600080fd5b612c2a85828601612f3f565b600080600080600080600060e0888a03121561301a57600080fd5b87359650602088013561302c81612a0b565b9550604088013567ffffffffffffffff8082111561304957600080fd5b6130558b838c01612bcd565b965060608a0135915061306782612a0b565b9094506080890135935060a0890135908082111561308457600080fd5b6130908b838c01612f3f565b935060c08a01359150808211156130a657600080fd5b506130b38a828b01612e4c565b91505092959891949750929550565b600080600080600060a086880312156130da57600080fd5b85356130e581612a0b565b945060208601356130f581612a0b565b9350604086013561310581612a0b565b94979396509394606081013594506080013592915050565b60008060006040848603121561313257600080fd5b833567ffffffffffffffff8082111561314a57600080fd5b818601915086601f83011261315e57600080fd5b81358181111561316d57600080fd5b8760208260051b850101111561318257600080fd5b60209283019550935090850135908082111561319d57600080fd5b50612f1386828701612c58565b600181811c908216806131be57607f821691505b6020821081036131de57634e487b7160e01b600052602260045260246000fd5b50919050565b6040815260006131f76040830185612a7a565b90506001600160a01b03831660208301529392505050565b60006020828403121561322157600080fd5b8151610dd681612a0b565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561325457600080fd5b5051919050565b60608152600061326e6060830186612d97565b82810360208401526132808186612a7a565b9150506001600160a01b0383166040830152949350505050565b601f821115610d7557600081815260208120601f850160051c810160208610156132c15750805b601f850160051c820191505b818110156132e0578281556001016132cd565b505050505050565b815167ffffffffffffffff81111561330257613302612b2e565b6133168161331084546131aa565b8461329a565b602080601f83116001811461334b57600084156133335750858301515b600019600386901b1c1916600185901b1785556132e0565b600085815260208120601f198616915b8281101561337a5788860151825594840194600190910190840161335b565b50858210156133985787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b602081526000610dd66020830184612aa6565b634e487b7160e01b600052601160045260246000fd5b6000600182016133e3576133e36133bb565b5060010190565b80820281158282048414176108e8576108e86133bb565b60008261341e57634e487b7160e01b600052601260045260246000fd5b500490565b818103818111156108e8576108e86133bb565b808201808211156108e8576108e86133bb565b60006020828403121561345b57600080fd5b81518015158114610dd657600080fd5b828152604060208201526000611d506040830184612a7a565b60006001600160a01b038087168352808616602084015250836040830152608060608301526134b66080830184612aa6565b9695505050505050565b7f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008152600083516134f8816017850160208801612a56565b7f206973206d697373696e6720726f6c65200000000000000000000000000000006017918401918201528351613535816028840160208801612a56565b01602801949350505050565b602081526000610dd66020830184612a7a565b600081613563576135636133bb565b50600019019056fea2646970667358221220e8b15b9e6001eefa921c72112ee294241cba05d996c4315dc2c2e468c01fa56964736f6c63430008130033","sourceMap":"5076:29047:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3050:213:44;;;;;;;;;;-1:-1:-1;3050:213:44;;;;;:::i;:::-;;:::i;:::-;;;516:14:151;;509:22;491:41;;479:2;464:18;3050:213:44;;;;;;;;14900:288:0;;;;;;;;;;-1:-1:-1;14900:288:0;;;;;:::i;:::-;;:::i;:::-;;34013:108;;;;;;;;;;-1:-1:-1;34013:108:0;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;17298:276::-;;;;;;:::i;:::-;;:::i;:::-;;;-1:-1:-1;;;;;4391:55:151;;;4373:74;;4361:2;4346:18;17298:276:0;4227:226:151;33140:85:0;;;;;;;;;;-1:-1:-1;33211:7:0;;33140:85;;;4604:25:151;;;4592:2;4577:18;33140:85:0;4458:177:151;18212:747:0;;;;;;;;;;-1:-1:-1;18212:747:0;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;13330:105::-;;;;;;;;;;-1:-1:-1;13330:105:0;;;;;:::i;:::-;;:::i;4855:129:44:-;;;;;;;;;;-1:-1:-1;4855:129:44;;;;;:::i;:::-;4929:7;4955:12;;;:6;:12;;;;;:22;;;;4855:129;16308:430:0;;;;;;;;;;-1:-1:-1;16308:430:0;;;;;:::i;:::-;;:::i;7331:617:12:-;;;:::i;32476:144:0:-;;;;;;;;;;-1:-1:-1;32476:144:0;;;;;:::i;:::-;;:::i;15387:358::-;;;;;;;;;;-1:-1:-1;15387:358:0;;;;;:::i;:::-;;:::i;19921:127::-;;;;;;:::i;:::-;;:::i;5280:145:44:-;;;;;;;;;;-1:-1:-1;5280:145:44;;;;;:::i;:::-;;:::i;6389:214::-;;;;;;;;;;-1:-1:-1;6389:214:44;;;;;:::i;:::-;;:::i;21468:196:0:-;;;;;;;;;;-1:-1:-1;21468:196:0;;;;;:::i;:::-;;:::i;33313:95::-;;;;;;;;;;-1:-1:-1;33393:8:0;;-1:-1:-1;;;;;33393:8:0;33313:95;;14481:229;;;;;;;;;;-1:-1:-1;14481:229:0;;;;;:::i;:::-;;:::i;32977:91::-;;;;;;;;;;-1:-1:-1;33051:10:0;;32977:91;;8030:456:12;;;:::i;33488:89:0:-;;;;;;;;;;-1:-1:-1;33562:8:0;;-1:-1:-1;;;;;33562:8:0;33488:89;;19156:439;;;;;;:::i;:::-;;:::i;12894:247::-;;;;;;;;;;-1:-1:-1;12894:247:0;;;;;:::i;:::-;;:::i;7072:100:12:-;;;:::i;11971:701:0:-;;;;;;:::i;:::-;;:::i;13624:113::-;;;;;;;;;;-1:-1:-1;13624:113:0;;;;;:::i;:::-;;:::i;15950:160::-;;;;;;;;;;-1:-1:-1;15950:160:0;;;;;:::i;:::-;;:::i;9718:191:12:-;;;;;;;;;;-1:-1:-1;;;9866:27:12;9718:191;;14188:101:0;;;;;;;;;;-1:-1:-1;14188:101:0;;;;;:::i;:::-;;:::i;3350:145:44:-;;;;;;;;;;-1:-1:-1;3350:145:44;;;;;:::i;:::-;3436:4;3459:12;;;:6;:12;;;;;;;;-1:-1:-1;;;;;3459:29:44;;;;;;;;;;;;;;;3350:145;4412:75:9;;;;;;;;;;;;4445:42;4412:75;;2320:49:44;;;;;;;;;;-1:-1:-1;2320:49:44;2365:4;2320:49;;7626:593:0;;;;;;;;;;-1:-1:-1;7626:593:0;;;;;:::i;:::-;;:::i;33760:132::-;;;;;;;;;;-1:-1:-1;33760:132:0;;;;;:::i;:::-;;:::i;32112:140::-;;;;;;;;;;-1:-1:-1;32112:140:0;;;;;:::i;:::-;;:::i;20511:559::-;;;;;;;;;;-1:-1:-1;20511:559:0;;;;;:::i;:::-;;:::i;32753:126::-;;;;;;;;;;-1:-1:-1;32753:126:0;;;;;:::i;:::-;32814:7;32848:14;;;:5;:14;;;;;:23;;;-1:-1:-1;;;;;32848:23:0;;32753:126;5705:147:44;;;;;;;;;;-1:-1:-1;5705:147:44;;;;;:::i;:::-;;:::i;10281:884:0:-;;;;;;:::i;:::-;;:::i;8673:708:12:-;;;;;;:::i;:::-;;:::i;6658:349::-;;;;;;:::i;:::-;;:::i;31788:103:0:-;;;;;;;;;;-1:-1:-1;31880:4:0;31788:103;;13911:113;;;;;;;;;;-1:-1:-1;13911:113:0;;;;;:::i;:::-;;:::i;10012:435:12:-;;;;;;;;;;-1:-1:-1;10012:435:12;;;;;:::i;:::-;10282:19;10276:4;10269:33;;;10131:14;10315:26;;;;10425:4;10409:21;;10403:28;;10012:435;3050:213:44;3135:4;3158:58;;;3173:43;3158:58;;:98;;-1:-1:-1;1204:36:54;1189:51;;;;3220:36:44;3151:105;3050:213;-1:-1:-1;;3050:213:44:o;14900:288:0:-;10836:13:12;:11;:13::i;:::-;-1:-1:-1;;;;;15059:30:0;::::1;15092:5;15059:30:::0;;;:19:::1;:30;::::0;;;;;;;;:38;;-1:-1:-1;;15059:38:0::1;::::0;;15155:26;;4373:74:151;;;15155:26:0::1;::::0;4346:18:151;15155:26:0::1;;;;;;;;14900:288:::0;:::o;34013:108::-;34070:11;;:::i;:::-;34100:14;;;;:5;:14;;;;;;;;;34093:21;;;;;;;;;;;;;;;-1:-1:-1;;;;;34093:21:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;34100:14;;34093:21;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;34013:108;;;:::o;17298:276::-;17401:7;2526:21:49;:19;:21::i;:::-;17489:14:0::1;::::0;;;:5:::1;:14;::::0;;;;;;:23:::1;;::::0;:78;;;;;-1:-1:-1;;;;;17489:23:0;;::::1;::::0;:41:::1;::::0;17538:9:::1;::::0;17489:78:::1;::::0;17549:5;;17556:10:::1;::::0;17489:78:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;17482:85;;2568:20:49::0;1808:1;3074:7;:22;2894:209;18212:747:0;18348:29;2526:21:49;:19;:21::i;:::-;18416:15:0;;;18456:27:::1;::::0;::::1;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;-1:-1:-1;18456:27:0::1;;18441:42;;18514:5;:12;18498;:28;18494:51;;18535:10;;-1:-1:-1::0;;;18535:10:0::1;;;;;;;;;;;18494:51;18663:9;18658:204;18678:12;18674:1;:16;18658:204;;;18725:5;:18;18731:8;18740:1;18731:11;;;;;;;;:::i;:::-;;;;;;;18725:18;;;;;;;;;;;:27;;;;;;;;;;-1:-1:-1::0;;;;;18725:27:0::1;-1:-1:-1::0;;;;;18725:45:0::1;;18771:5;18777:1;18771:8;;;;;;;;:::i;:::-;;;;;;;18781:10;18725:67;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;18707:12;18720:1;18707:15;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;18707:85:0;;::::1;:15;::::0;;::::1;::::0;;;;;;;:85;18834:3:::1;;18658:204;;;;18933:19;2568:20:49::0;1808:1;3074:7;:22;2894:209;13330:105:0;10836:13:12;:11;:13::i;:::-;13402:26:0::1;13418:9;13402:15;:26::i;:::-;13330:105:::0;:::o;16308:430::-;10836:13:12;:11;:13::i;:::-;16506:14:0::1;-1:-1:-1::0;;;;;16523:16:0;::::1;4445:42:9;16523:16:0;:93;;16566:50;::::0;;;;16610:4:::1;16566:50;::::0;::::1;4373:74:151::0;-1:-1:-1;;;;;16566:35:0;::::1;::::0;::::1;::::0;4346:18:151;;16566:50:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;16523:93;;;16542:21;16523:93;16506:110;;16688:43;16704:6;16712:10;16724:6;16688:15;:43::i;:::-;16385:353;16308:430:::0;;:::o;7331:617:12:-;7424:15;6282:9;7442:46;;:15;:46;7424:64;;7656:19;7650:4;7643:33;7706:8;7700:4;7693:22;7762:7;7755:4;7749;7739:21;7732:38;7909:8;7862:45;7859:1;7856;7851:67;7558:374;7331:617::o;32476:144:0:-;32557:4;32580:33;32595:7;32604:8;32580:14;:33::i;:::-;32573:40;32476:144;-1:-1:-1;;;32476:144:0:o;15387:358::-;15469:7;8837:28;8857:7;8837:19;:28::i;:::-;-1:-1:-1;;;;;15568:22:0;::::1;15564:49;;15599:14;;-1:-1:-1::0;;;15599:14:0::1;;;;;;;;;;;15564:49;15701:14;::::0;;;:5:::1;:14;::::0;;;;:26:::1;;::::0;15690:48:::1;::::0;15729:8;15690:10:::1;:48::i;19921:127::-:0;2526:21:49;:19;:21::i;:::-;20016:25:0::1;20026:7;20035:5;20016:9;:25::i;:::-;2568:20:49::0;1808:1;3074:7;:22;2894:209;2568:20;19921:127:0;;:::o;5280:145:44:-;4929:7;4955:12;;;:6;:12;;;;;:22;;;2798:16;2809:4;2798:10;:16::i;:::-;5393:25:::1;5404:4;5410:7;5393:10;:25::i;6389:214::-:0;-1:-1:-1;;;;;6484:23:44;;965:10:52;6484:23:44;6476:83;;;;-1:-1:-1;;;6476:83:44;;16949:2:151;6476:83:44;;;16931:21:151;16988:2;16968:18;;;16961:30;17027:34;17007:18;;;17000:62;17098:17;17078:18;;;17071:45;17133:19;;6476:83:44;;;;;;;;;6570:26;6582:4;6588:7;6570:11;:26::i;21468:196:0:-;2526:21:49;:19;:21::i;:::-;21589:14:0::1;::::0;;;:5:::1;:14;::::0;;;;;;:23:::1;;::::0;:68;;;;;-1:-1:-1;;;;;21589:23:0;;::::1;::::0;:34:::1;::::0;:68:::1;::::0;21624:13;;21639:5;;21646:10:::1;::::0;21589:68:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;2568:20:49::0;1808:1;3074:7;:22;2894:209;14481:229:0;10836:13:12;:11;:13::i;:::-;-1:-1:-1;;;;;14567:23:0;::::1;14563:50;;14599:14;;-1:-1:-1::0;;;14599:14:0::1;;;;;;;;;;;14563:50;-1:-1:-1::0;;;;;14624:30:0;::::1;;::::0;;;:19:::1;:30;::::0;;;;;;;;:37;;-1:-1:-1;;14624:37:0::1;14657:4;14624:37;::::0;;14676:27;;4373:74:151;;;14676:27:0::1;::::0;4346:18:151;14676:27:0::1;4227:226:151::0;8030:456:12;8232:19;8226:4;8219:33;8278:8;8272:4;8265:22;8330:1;8323:4;8317;8307:21;8300:32;8461:8;8415:44;8412:1;8409;8404:66;8030:456::o;19156:439:0:-;2526:21:49;:19;:21::i;:::-;19318:7:0::1;19329:1;19318:12:::0;19314:43:::1;;19339:18;;-1:-1:-1::0;;;19339:18:0::1;;;;;;;;;;;19314:43;19368:16;19387:14:::0;;;:5:::1;:14;::::0;;;;;;;19368:33;;::::1;::::0;::::1;::::0;;;;;;::::1;::::0;::::1;::::0;-1:-1:-1;;;;;19368:33:0;;::::1;::::0;;::::1;::::0;::::1;::::0;::::1;::::0;::::1;::::0;;;;;;;;::::1;::::0;;;::::1;::::0;::::1;::::0;;;;;;;;;;;19387:14;;19368:33;;;;;;;;::::1;::::0;;::::1;::::0;::::1;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;;19368:33:0;;;;-1:-1:-1;;;19368:33:0;;::::1;::::0;::::1;::::0;::::1;::::0;::::1;::::0;::::1;::::0;;::::1;::::0;;;;;;19415:10;::::1;::::0;19368:33;;-1:-1:-1;;;;;;19415:20:0::1;4445:42:9;19415:20:0;:44:::0;::::1;;;;19450:9;19439:7;:20;;19415:44;19411:75;;;19468:18;;-1:-1:-1::0;;;19468:18:0::1;;;;;;;;;;;19411:75;19546:42;19556:7;19565;19574:4;:13;;;19546:9;:42::i;:::-;19238:357;2568:20:49::0;1808:1;3074:7;:22;2894:209;12894:247:0;12991:7;8625:30;8647:7;8625:21;:30::i;:::-;13010:17:::1;13030:14:::0;;;:5:::1;:14;::::0;;;;;;;13054:25;;:13:::1;::::0;::::1;:25:::0;;;;;::::1;::::0;13030:14;;13070:9;;13054:25;;;;::::1;::::0;;::::1;:::i;:::-;;;;;13115:7;13095:39;13124:9;13095:39;;;;;;:::i;:::-;;;;;;;;13000:141;12894:247:::0;;;:::o;7072:100:12:-;10836:13;:11;:13::i;:::-;7144:21:::1;7162:1;7144:9;:21::i;:::-;7072:100::o:0;11971:701:0:-;12251:14;2526:21:49;:19;:21::i;:::-;-1:-1:-1;;;;;28993:30:0;;28970:4;28993:30;;;:19;:30;;;;;;;;12277:93:::1;;12336:23;;;;;;;;;;;;;;12277:93;12522:10;12514:19;::::0;;;:7:::1;:19;::::0;;;;:21;;12426:239:::1;::::0;12451:10;;12485:51:::1;::::0;12503:9;;12514:21;;:19;:21:::1;::::0;::::1;:::i;:::-;;;;;12485:17;:51::i;:::-;12551:17;12582:6;12602:7;12623:9;12646;12426:11;:239::i;:::-;12419:246;;2568:20:49::0;1808:1;3074:7;:22;2894:209;2568:20;11971:701:0;;;;;;;;;:::o;13624:113::-;10836:13:12;:11;:13::i;:::-;13704:26:0::1;13720:9;13704:15;:26::i;15950:160::-:0;16035:7;8837:28;8857:7;8837:19;:28::i;:::-;16066:14:::1;::::0;;;:5:::1;:14;::::0;;;;:26:::1;;::::0;16054:49:::1;::::0;16094:8;16054:11:::1;:49::i;14188:101::-:0;10836:13:12;:11;:13::i;:::-;14258:24:0::1;14273:8;14258:14;:24::i;7626:593::-:0;4882:13:48;;7816:1:0;;4882:13:48;;;;;4881:14;:40;;;;-1:-1:-1;4899:12:48;;:22;;;;:12;;:22;4881:40;4873:99;;;;-1:-1:-1;;;4873:99:48;;20711:2:151;4873:99:48;;;20693:21:151;20750:2;20730:18;;;20723:30;20789:34;20769:18;;;20762:62;20860:16;20840:18;;;20833:44;20894:19;;4873:99:48;20509:410:151;4873:99:48;4982:12;:22;;-1:-1:-1;;5014:20:48;4982:22;;;5014:20;4982:22;5014:20;;;7890:24:0::1;7907:6:::0;7890:16:::1;:24::i;:::-;7968:26;7984:9;7968:15;:26::i;:::-;8048;8064:9;8048:15;:26::i;:::-;8119:30;8137:11;8119:17;:30::i;:::-;8188:24;8203:8;8188:14;:24::i;:::-;5071:5:48::0;5055:21;;-1:-1:-1;;5055:21:48;;;5091:20;;21096:4:151;21084:17;;21066:36;;5091:20:48;;21054:2:151;21039:18;5091:20:48;;;;;;;7626:593:0;;;;;;:::o;33760:132::-;-1:-1:-1;;;;;28993:30:0;;33831:4;28993:30;;;:19;:30;;;;;;;;33854:31;28898:132;32112:140;32191:4;32214:31;32227:7;32236:8;32214:12;:31::i;20511:559::-;2526:21:49;:19;:21::i;:::-;20784:13:0;;20637:8;;20772:25;::::1;20768:48;;20806:10;;-1:-1:-1::0;;;20806:10:0::1;;;;;;;;;;;20768:48;20921:9;20916:148;20936:8;20932:1;:12;20916:148;;;20961:33;20971:8;;20980:1;20971:11;;;;;;;:::i;:::-;;;;;;;20984:6;20991:1;20984:9;;;;;;;;:::i;:::-;;;;;;;20961;:33::i;:::-;21036:3;;20916:148;;;;20608:462;2568:20:49::0;1808:1;3074:7;:22;2894:209;5705:147:44;4929:7;4955:12;;;:6;:12;;;;;:22;;;2798:16;2809:4;2798:10;:16::i;:::-;5819:26:::1;5831:4;5837:7;5819:11;:26::i;10281:884:0:-:0;10566:14;-1:-1:-1;;;;;10687:23:0;;10683:50;;10719:14;;-1:-1:-1;;;10719:14:0;;;;;;;;;;;10683:50;-1:-1:-1;;;;;28993:30:0;;28970:4;28993:30;;;:19;:30;;;;;;;;10894:66;;;10938:22;;;;;;;;;;;;;;10894:66;11055:103;11067:10;11089:9;11101:17;11120:6;11128:7;11137:9;11148;11055:11;:103::i;:::-;11048:110;10281:884;-1:-1:-1;;;;;;;;10281:884:0:o;8673:708:12:-;10836:13;:11;:13::i;:::-;8907:19:::1;8901:4;8894:33;8953:12;8947:4;8940:26;9015:4;9009;8999:21;9121:12;9115:19;9102:11;9099:36;9096:157;;;9167:10;9161:4;9154:24;9234:4;9228;9221:18;9096:157;9330:1;9309:23:::0;;9351::::1;9361:12:::0;9351:9:::1;:23::i;6658:349::-:0;10836:13;:11;:13::i;:::-;6830:8:::1;6826:2;6822:17;6812:150;;6872:10;6866:4;6859:24;6943:4;6937;6930:18;6812:150;6981:19;6991:8;6981:9;:19::i;13911:113:0:-:0;10836:13:12;:11;:13::i;:::-;13987:30:0::1;14005:11;13987:17;:30::i;5593:364:12:-:0;-1:-1:-1;;5799:27:12;5789:8;5786:41;5776:165;;5860:10;5854:4;5847:24;5922:4;5916;5909:18;2601:287:49;1851:1;2733:7;;:19;2725:63;;;;-1:-1:-1;;;2725:63:49;;21315:2:151;2725:63:49;;;21297:21:151;21354:2;21334:18;;;21327:30;21393:33;21373:18;;;21366:61;21444:18;;2725:63:49;21113:355:151;2725:63:49;1851:1;2863:7;:18;2601:287::o;30226:203:0:-;-1:-1:-1;;;;;30293:23:0;;30289:50;;30325:14;;-1:-1:-1;;;30325:14:0;;;;;;;;;;;30289:50;30350:8;:31;;-1:-1:-1;;30350:31:0;-1:-1:-1;;;;;30350:31:0;;;;;;;;30396:26;;4373:74:151;;;30396:26:0;;4361:2:151;4346:18;30396:26:0;4227:226:151;6721:269:10;-1:-1:-1;;;;;;;6815:16:10;;;6811:173;;6847:45;6879:3;6884:7;6847:31;:45::i;6811:173::-;6923:50;6952:6;6960:3;6965:7;6923:28;:50::i;29821:192:0:-;29903:4;29934:14;;;:5;:14;;;;;;;;:26;;;3459:12:44;;:6;:12;;;;;-1:-1:-1;;;;;3459:29:44;;;;;;;;;;;;29926:80:0;;;;29975:31;29988:7;29997:8;29975:12;:31::i;22160:138::-;22235:33;22248:7;22257:10;22235:12;:33::i;:::-;22230:61;;22277:14;;-1:-1:-1;;;22277:14:0;;;;;;;;;;;7938:233:44;3436:4;3459:12;;;:6;:12;;;;;;;;-1:-1:-1;;;;;3459:29:44;;;;;;;;;;;;8016:149;;8059:12;;;;:6;:12;;;;;;;;-1:-1:-1;;;;;8059:29:44;;;;;;;;;:36;;-1:-1:-1;;8059:36:44;8091:4;8059:36;;;8141:12;965:10:52;;886:96;8141:12:44;-1:-1:-1;;;;;8114:40:44;8132:7;-1:-1:-1;;;;;8114:40:44;8126:4;8114:40;;;;;;;;;;7938:233;;:::o;26159:151:0:-;26234:14;;;;:5;:14;;;;;;;:23;;;:69;;;;;-1:-1:-1;;;;;26234:23:0;;;;:32;;26274:9;;26234:69;;26285:5;;26292:10;;26234:69;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;26159:151;;:::o;3789:103:44:-;3855:30;3866:4;965:10:52;3855::44;:30::i;8342:234::-;3436:4;3459:12;;;:6;:12;;;;;;;;-1:-1:-1;;;;;3459:29:44;;;;;;;;;;;;8421:149;;;8495:5;8463:12;;;:6;:12;;;;;;;;-1:-1:-1;;;;;8463:29:44;;;;;;;;;;:37;;-1:-1:-1;;8463:37:44;;;8519:40;965:10:52;;8463:12:44;;8519:40;;8495:5;8519:40;8342:234;;:::o;26634:1879:0:-;26727:17;26817:14;;;:5;:14;;;;;26858:10;;;;26883;;26779:7;;26817:14;-1:-1:-1;;;;;26858:10:0;;26883:14;26879:808;;31880:4;26936:10;;26926:20;;:7;:20;:::i;:::-;26925:44;;;;:::i;:::-;26913:56;-1:-1:-1;26983:27:0;26913:56;26983:27;;:::i;:::-;;-1:-1:-1;27059:7:0;27029:26;26983:27;27029:9;:26;:::i;:::-;:37;27025:59;;27075:9;;;;;;;;;;;;;;27025:59;-1:-1:-1;;;;;;;27103:16:0;;;27099:578;;27167:65;;;;;;;;27187:10;27167:65;;27203:8;;-1:-1:-1;;;;;27203:8:0;27167:65;;;;;;;;;;27139:94;;27159:6;;27139:19;:94::i;:::-;;27099:578;;;27319:8;;27272:24;;27299:29;;27311:6;;-1:-1:-1;;;;;27319:8:0;27299:11;:29::i;:::-;27374:65;;;;;;;;27394:10;27374:65;;27410:8;;-1:-1:-1;;;;;27410:8:0;27374:65;;;;;;;;;;27272:56;;-1:-1:-1;27346:94:0;;27366:6;;27346:19;:94::i;:::-;-1:-1:-1;27504:8:0;;27458:23;;27484:29;;27496:6;;-1:-1:-1;;;;;27504:8:0;27484:11;:29::i;:::-;27458:55;-1:-1:-1;27628:34:0;27646:16;27458:55;27628:34;:::i;:::-;27616:46;;27254:423;;27099:578;-1:-1:-1;;;;;;;27701:16:0;;;27697:693;;27733:139;27770:6;27778:80;;;;;;;;27798:10;-1:-1:-1;;;;;27778:80:0;;;;;27822:9;-1:-1:-1;;;;;27778:80:0;;;;;27842:14;27778:80;;;27733:19;:139::i;:::-;;27697:693;;;27903:32;27938:39;27950:6;27966:9;27938:11;:39::i;:::-;27903:74;;27991:139;28028:6;28036:80;;;;;;;;28056:10;-1:-1:-1;;;;;28036:80:0;;;;;28080:9;-1:-1:-1;;;;;28036:80:0;;;;;28100:14;28036:80;;;27991:19;:139::i;:::-;;28144:31;28178:39;28190:6;28206:9;28178:11;:39::i;:::-;28144:73;-1:-1:-1;28329:50:0;28355:24;28144:73;28329:50;:::i;:::-;28312:67;;27889:501;;27697:693;28400:44;;;;;;;;4604:25:151;;;-1:-1:-1;;;;;28400:28:0;;;;;4577:18:151;;28400:44:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;28460:46:0;;;22362:25:151;;;22418:2;22403:18;;22396:34;;;28471:7:0;;-1:-1:-1;28460:46:0;;-1:-1:-1;22335:18:151;28460:46:0;;;;;;;26717:1796;;;;26634:1879;;;:::o;21910:142::-;21987:35;22002:7;22011:10;21987:14;:35::i;5040:495:12:-;-1:-1:-1;;5416:16:12;;-1:-1:-1;;;;;5272:26:12;;;;;;5376:38;5373:1;;5365:78;5492:27;5040:495::o;4749:279:6:-;4867:36;;-1:-1:-1;;4884:10:6;22618:2:151;22614:15;22610:53;4867:36:6;;;22598:66:151;22680:12;;;22673:28;;;4823:7:6;;;;22717:12:151;;4867:36:6;;;;;;;;;;;;4857:47;;;;;;4842:62;;4968:53;5005:9;5016:4;4968:36;:53::i;:::-;4961:60;4749:279;-1:-1:-1;;;;4749:279:6:o;23131:2681:0:-;23424:8;;:57;;;;;;;;22914:25:151;;;23470:10:0;22955:18:151;;;22948:83;23393:14:0;;-1:-1:-1;;;;;23424:8:0;;:33;;22887:18:151;;23424:57:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;23419:85;;23490:14;;-1:-1:-1;;;23490:14:0;;;;;;;;;;;23419:85;23526:10;;23524:12;;;;;:::i;:::-;;;;;-1:-1:-1;23764:33:0;;23524:12;;-1:-1:-1;23524:12:0;;23675:25;;23764:33;;23524:12;;23764:33;;23554:19:151;;;23603:7;23598:2;23589:12;;23582:29;23636:2;23627:12;;23324:321;23764:33:0;;;;-1:-1:-1;;23764:33:0;;;;;;;;;23754:44;;23764:33;23754:44;;;;23864:228;;;;;;;;-1:-1:-1;;;;;23864:228:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23845:16;24159:13;;;:5;:13;;;;;;:20;;;;;;;;;;;;;;-1:-1:-1;;24159:20:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23754:44;;-1:-1:-1;23764:33:0;;24159:13;:20;;;;;;;;;;:::i;:::-;-1:-1:-1;;;24159:20:0;;;;;;;;;;;;;;;;;;24239:39;24250:15;24267:10;24239;:39::i;:::-;24337:49;24351:17;24370:15;24337:13;:49::i;:::-;24541:47;;;;;-1:-1:-1;;;;;24541:20:0;;;;;:47;;24562:6;;24570:17;;24541:47;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;24628:6;24603:9;-1:-1:-1;;;;;24603:19:0;;:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:31;;:80;;;;24678:4;-1:-1:-1;;;;;24638:45:0;24646:9;-1:-1:-1;;;;;24646:17:0;;:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;24638:45:0;;;24603:80;24599:103;;;24692:10;;-1:-1:-1;;;24692:10:0;;;;;;;;;;;24599:103;24775:16;;24750:22;24801:266;24821:14;24817:1;:18;24801:266;;;24852:15;24870:9;24880:1;24870:12;;;;;;;;:::i;:::-;;;;;;;24852:30;;24919:1;-1:-1:-1;;;;;24900:21:0;:7;-1:-1:-1;;;;;24900:21:0;;24896:48;;24930:14;;-1:-1:-1;;;24930:14:0;;;;;;;;;;;24896:48;24959:38;24970:17;24989:7;24959:10;:38::i;:::-;-1:-1:-1;25039:3:0;;24801:266;;;-1:-1:-1;25081:7:0;;:11;25077:554;;-1:-1:-1;;;;;25359:16:0;;4445:42:9;25359:16:0;:52;;;;;25401:9;25390:7;25380;;:17;;;;:::i;:::-;:30;;25359:52;25358:100;;;-1:-1:-1;;;;;;25417:16:0;;4445:42:9;25417:16:0;;;;:40;;;25448:9;25437:7;;:20;;25417:40;25354:164;;;25485:18;;-1:-1:-1;;;25485:18:0;;;;;;;;;;;25354:164;25555:8;;25565:7;;25531:42;;4445::9;;-1:-1:-1;;;;;25555:8:0;;;;25531:15;:42::i;:::-;25604:6;25592:28;25612:7;;25592:28;;;;4604:25:151;;4592:2;4577:18;;4458:177;25592:28:0;;;;;;;;25077:554;25645:11;;25641:79;;25672:37;25682:7;25691:6;25699:9;25672;:37::i;:::-;25755:10;25747:6;25735:70;25767:9;25778:6;25786:7;25795:9;25735:70;;;;;;;;;:::i;:::-;;;;;;;;23409:2403;;;;23131:2681;;;;;;;;;:::o;30642:199::-;-1:-1:-1;;;;;30717:23:0;;30713:50;;30749:14;;-1:-1:-1;;;30749:14:0;;;;;;;;;;;30713:50;30774:8;:20;;-1:-1:-1;;30774:20:0;-1:-1:-1;;;;;30774:20:0;;;;;;;;30809:25;;4373:74:151;;;30809:25:0;;4361:2:151;4346:18;30809:25:0;4227:226:151;31426:125:0;31487:7;:18;;;31521:23;;4604:25:151;;;31521:23:0;;4592:2:151;4577:18;31521:23:0;4458:177:151;4520:448:12;-1:-1:-1;;;;;4709:26:12;-1:-1:-1;;4784:38:12;;;4709:26;4940:1;4900:38;4940:1;;4889:63;4520:448;:::o;31041:198:0:-;31126:4;31112:11;:18;31108:44;;;31139:13;;;;;;;;;;;;;;31108:44;31163:10;:24;;;31203:29;;4604:25:151;;;31203:29:0;;4592:2:151;4577:18;31203:29:0;4458:177:151;29346:153:0;29426:4;29457:14;;;:5;:14;;;;;;;;:24;;;3459:12:44;;:6;:12;;;;;-1:-1:-1;;;;;3459:29:44;;;;;;;;;;;;29449:43:0;3350:145:44;2455:490:14;2711:4;2705;2699;2693;2685:6;2681:2;2674:5;2669:47;2659:270;;2822:10;2816:4;2809:24;2910:4;2904;2897:18;11454:1189;11617:2;11611:4;11604:16;11674:6;11668:4;11661:20;11814:34;11808:4;11801:48;12272:4;12266;12260;12254;12251:1;12244:5;12237;12232:45;12192:16;12185:24;12181:1;12174:4;12168:11;12165:18;12162:48;11890:405;11863:655;;12411:10;12405:4;12398:24;12499:4;12493;12486:18;11863:655;12625:1;12619:4;12612:15;11454:1189;;;:::o;4173:501:44:-;3436:4;3459:12;;;:6;:12;;;;;;;;-1:-1:-1;;;;;3459:29:44;;;;;;;;;;;;4256:412;;4444:39;4475:7;4444:30;:39::i;:::-;4554:49;4593:4;4600:2;4554:30;:49::i;:::-;4351:274;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;4351:274:44;;;;;;;;;;-1:-1:-1;;;4299:358:44;;;;;;;:::i;6019:500:10:-;6150:20;;;;6117:4;;-1:-1:-1;;;;;;;6184:16:10;;;6180:312;;6260:6;6248:9;:18;6244:48;;;6275:17;;;;;;;;;;;;;;6244:48;6307:57;6339:13;:16;;;6357:6;6307:31;:57::i;:::-;6180:312;;;6395:86;6428:6;6436:13;:18;;;6456:13;:16;;;6474:6;6395:32;:86::i;:::-;-1:-1:-1;6508:4:10;;6019:500;-1:-1:-1;;;6019:500:10:o;7224:263::-;7302:7;-1:-1:-1;;;;;;;7325:16:10;;;7321:160;;-1:-1:-1;;;;;;7364:25:10;;;7357:32;;7321:160;7427:43;7453:6;7461:8;7427:25;:43::i;:::-;7420:50;;;;2118:794:47;2202:16;2534:48;2516:14;2510:4;2506:25;2500:4;2496:36;2493:90;2487:4;2480:104;2741:32;2724:14;2718:4;2714:25;2711:63;2705:4;2698:77;2823:4;2817;2811;2808:1;2800:28;2788:40;-1:-1:-1;;;;;;2855:22:47;;2847:58;;;;-1:-1:-1;;;2847:58:47;;26275:2:151;2847:58:47;;;26257:21:151;26314:2;26294:18;;;26287:30;26353:25;26333:18;;;26326:53;26396:18;;2847:58:47;26073:347:151;7523:247:44;7606:25;4955:12;;;:6;:12;;;;;;:22;;;;7662:34;;;;7711:52;;4955:22;;7662:34;;4955:22;;:12;;7711:52;;7606:25;7711:52;7596:174;7523:247;;:::o;2473:149:53:-;2531:13;2563:52;-1:-1:-1;;;;;2575:22:53;;376:2;1884:437;1959:13;1984:19;2016:10;2020:6;2016:1;:10;:::i;:::-;:14;;2029:1;2016:14;:::i;:::-;2006:25;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2006:25:53;;1984:47;;2041:15;:6;2048:1;2041:9;;;;;;;;:::i;:::-;;;;:15;-1:-1:-1;;;;;2041:15:53;;;;;;;;;2066;:6;2073:1;2066:9;;;;;;;;:::i;:::-;;;;:15;-1:-1:-1;;;;;2066:15:53;;;;;;;;-1:-1:-1;2096:9:53;2108:10;2112:6;2108:1;:10;:::i;:::-;:14;;2121:1;2108:14;:::i;:::-;2096:26;;2091:128;2128:1;2124;:5;2091:128;;;2162:8;2171:5;2179:3;2171:11;2162:21;;;;;;;:::i;:::-;;;;2150:6;2157:1;2150:9;;;;;;;;:::i;:::-;;;;:33;-1:-1:-1;;;;;2150:33:53;;;;;;;;-1:-1:-1;2207:1:53;2197:11;;;;;2131:3;;;:::i;:::-;;;2091:128;;;-1:-1:-1;2236:10:53;;2228:55;;;;-1:-1:-1;;;2228:55:53;;26768:2:151;2228:55:53;;;26750:21:151;;;26787:18;;;26780:30;26846:34;26826:18;;;26819:62;26898:18;;2228:55:53;26566:356:151;7671:1379:14;7854:4;7848:11;7920:6;7914:4;7907:20;7985:2;7979:4;7972:16;8050:4;8046:2;8042:13;8036:4;8029:27;8199:34;8193:4;8186:48;8657:4;8651;8645;8639;8636:1;8629:5;8622;8617:45;8577:16;8570:24;8566:1;8559:4;8553:11;8550:18;8547:48;8275:405;8248:659;;8800:10;8794:4;8787:24;8888:4;8882;8875:18;8248:659;8934:1;8928:4;8921:15;8990:4;8983:15;-1:-1:-1;;;;7671:1379:14:o;18299:722::-;18373:14;18478:7;18472:4;18465:21;18613:34;18607:4;18600:48;18960:4;18954;18948;18942;18935:5;18928;18917:48;18855:4;18837:16;18834:26;18745:242;18718:4;18712:11;18687:318;18661:344;;18299:722;;;;:::o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;14:332:151:-;72:6;125:2;113:9;104:7;100:23;96:32;93:52;;;141:1;138;131:12;93:52;180:9;167:23;230:66;223:5;219:78;212:5;209:89;199:117;;312:1;309;302:12;543:154;-1:-1:-1;;;;;622:5:151;618:54;611:5;608:65;598:93;;687:1;684;677:12;702:247;761:6;814:2;802:9;793:7;789:23;785:32;782:52;;;830:1;827;820:12;782:52;869:9;856:23;888:31;913:5;888:31;:::i;954:180::-;1013:6;1066:2;1054:9;1045:7;1041:23;1037:32;1034:52;;;1082:1;1079;1072:12;1034:52;-1:-1:-1;1105:23:151;;954:180;-1:-1:-1;954:180:151:o;1139:250::-;1224:1;1234:113;1248:6;1245:1;1242:13;1234:113;;;1324:11;;;1318:18;1305:11;;;1298:39;1270:2;1263:10;1234:113;;;-1:-1:-1;;1381:1:151;1363:16;;1356:27;1139:250::o;1394:271::-;1436:3;1474:5;1468:12;1501:6;1496:3;1489:19;1517:76;1586:6;1579:4;1574:3;1570:14;1563:4;1556:5;1552:16;1517:76;:::i;:::-;1647:2;1626:15;-1:-1:-1;;1622:29:151;1613:39;;;;1654:4;1609:50;;1394:271;-1:-1:-1;;1394:271:151:o;1670:252::-;1757:5;1751:12;1746:3;1739:25;1721:3;1810:4;1803:5;1799:16;1793:23;1848:4;1841;1836:3;1832:14;1825:28;1869:47;1910:4;1905:3;1901:14;1887:12;1869:47;:::i;1927:797::-;2100:2;2089:9;2082:21;2145:6;2139:13;2134:2;2123:9;2119:18;2112:41;2063:4;2200:2;2192:6;2188:15;2182:22;-1:-1:-1;;;;;2319:2:151;2305:12;2301:21;2296:2;2285:9;2281:18;2274:49;2387:2;2381;2373:6;2369:15;2363:22;2359:31;2354:2;2343:9;2339:18;2332:59;;;2440:2;2432:6;2428:15;2422:22;2481:4;2475:3;2464:9;2460:19;2453:33;2509:63;2567:3;2556:9;2552:19;2536:14;2509:63;:::i;:::-;2495:77;;2627:3;2619:6;2615:16;2609:23;2603:3;2592:9;2588:19;2581:52;2689:3;2681:6;2677:16;2671:23;2664:4;2653:9;2649:20;2642:53;2712:6;2704:14;;;1927:797;;;;:::o;2729:184::-;-1:-1:-1;;;2778:1:151;2771:88;2878:4;2875:1;2868:15;2902:4;2899:1;2892:15;2918:275;2989:2;2983:9;3054:2;3035:13;;-1:-1:-1;;3031:27:151;3019:40;;3089:18;3074:34;;3110:22;;;3071:62;3068:88;;;3136:18;;:::i;:::-;3172:2;3165:22;2918:275;;-1:-1:-1;2918:275:151:o;3198:406::-;3262:5;3296:18;3288:6;3285:30;3282:56;;;3318:18;;:::i;:::-;3356:57;3401:2;3380:15;;-1:-1:-1;;3376:29:151;3407:4;3372:40;3356:57;:::i;:::-;3347:66;;3436:6;3429:5;3422:21;3476:3;3467:6;3462:3;3458:16;3455:25;3452:45;;;3493:1;3490;3483:12;3452:45;3542:6;3537:3;3530:4;3523:5;3519:16;3506:43;3596:1;3589:4;3580:6;3573:5;3569:18;3565:29;3558:40;3198:406;;;;;:::o;3609:220::-;3651:5;3704:3;3697:4;3689:6;3685:17;3681:27;3671:55;;3722:1;3719;3712:12;3671:55;3744:79;3819:3;3810:6;3797:20;3790:4;3782:6;3778:17;3744:79;:::i;3834:388::-;3911:6;3919;3972:2;3960:9;3951:7;3947:23;3943:32;3940:52;;;3988:1;3985;3978:12;3940:52;4024:9;4011:23;4001:33;;4085:2;4074:9;4070:18;4057:32;4112:18;4104:6;4101:30;4098:50;;;4144:1;4141;4134:12;4098:50;4167:49;4208:7;4199:6;4188:9;4184:22;4167:49;:::i;:::-;4157:59;;;3834:388;;;;;:::o;4640:183::-;4700:4;4733:18;4725:6;4722:30;4719:56;;;4755:18;;:::i;:::-;-1:-1:-1;4800:1:151;4796:14;4812:4;4792:25;;4640:183::o;4828:886::-;4880:5;4933:3;4926:4;4918:6;4914:17;4910:27;4900:55;;4951:1;4948;4941:12;4900:55;4987:6;4974:20;5013:4;5037:60;5053:43;5093:2;5053:43;:::i;:::-;5037:60;:::i;:::-;5131:15;;;5217:1;5213:10;;;;5201:23;;5197:32;;;5162:12;;;;5241:15;;;5238:35;;;5269:1;5266;5259:12;5238:35;5305:2;5297:6;5293:15;5317:368;5333:6;5328:3;5325:15;5317:368;;;5419:3;5406:17;5455:18;5442:11;5439:35;5436:125;;;5515:1;5544:2;5540;5533:14;5436:125;5586:56;5638:3;5633:2;5619:11;5611:6;5607:24;5603:33;5586:56;:::i;:::-;5574:69;;-1:-1:-1;5663:12:151;;;;5350;;5317:368;;;-1:-1:-1;5703:5:151;4828:886;-1:-1:-1;;;;;;4828:886:151:o;5719:1147::-;5846:6;5854;5907:2;5895:9;5886:7;5882:23;5878:32;5875:52;;;5923:1;5920;5913:12;5875:52;5963:9;5950:23;5992:18;6033:2;6025:6;6022:14;6019:34;;;6049:1;6046;6039:12;6019:34;6087:6;6076:9;6072:22;6062:32;;6132:7;6125:4;6121:2;6117:13;6113:27;6103:55;;6154:1;6151;6144:12;6103:55;6190:2;6177:16;6212:4;6236:60;6252:43;6292:2;6252:43;:::i;6236:60::-;6330:15;;;6412:1;6408:10;;;;6400:19;;6396:28;;;6361:12;;;;6436:19;;;6433:39;;;6468:1;6465;6458:12;6433:39;6492:11;;;;6512:142;6528:6;6523:3;6520:15;6512:142;;;6594:17;;6582:30;;6545:12;;;;6632;;;;6512:142;;;6673:5;-1:-1:-1;;6716:18:151;;6703:32;;-1:-1:-1;;6747:16:151;;;6744:36;;;6776:1;6773;6766:12;6744:36;;6799:61;6852:7;6841:8;6830:9;6826:24;6799:61;:::i;6871:484::-;6924:3;6962:5;6956:12;6989:6;6984:3;6977:19;7015:4;7044:2;7039:3;7035:12;7028:19;;7081:2;7074:5;7070:14;7102:1;7112:218;7126:6;7123:1;7120:13;7112:218;;;7191:13;;-1:-1:-1;;;;;7187:62:151;7175:75;;7270:12;;;;7305:15;;;;7148:1;7141:9;7112:218;;;-1:-1:-1;7346:3:151;;6871:484;-1:-1:-1;;;;;6871:484:151:o;7360:261::-;7539:2;7528:9;7521:21;7502:4;7559:56;7611:2;7600:9;7596:18;7588:6;7559:56;:::i;7993:388::-;8061:6;8069;8122:2;8110:9;8101:7;8097:23;8093:32;8090:52;;;8138:1;8135;8128:12;8090:52;8177:9;8164:23;8196:31;8221:5;8196:31;:::i;:::-;8246:5;-1:-1:-1;8303:2:151;8288:18;;8275:32;8316:33;8275:32;8316:33;:::i;:::-;8368:7;8358:17;;;7993:388;;;;;:::o;8386:315::-;8454:6;8462;8515:2;8503:9;8494:7;8490:23;8486:32;8483:52;;;8531:1;8528;8521:12;8483:52;8567:9;8554:23;8544:33;;8627:2;8616:9;8612:18;8599:32;8640:31;8665:5;8640:31;:::i;9026:737::-;9080:5;9133:3;9126:4;9118:6;9114:17;9110:27;9100:55;;9151:1;9148;9141:12;9100:55;9187:6;9174:20;9213:4;9237:60;9253:43;9293:2;9253:43;:::i;9237:60::-;9331:15;;;9417:1;9413:10;;;;9401:23;;9397:32;;;9362:12;;;;9441:15;;;9438:35;;;9469:1;9466;9459:12;9438:35;9505:2;9497:6;9493:15;9517:217;9533:6;9528:3;9525:15;9517:217;;;9613:3;9600:17;9630:31;9655:5;9630:31;:::i;:::-;9674:18;;9712:12;;;;9550;;9517:217;;9768:635;9879:6;9887;9895;9948:2;9936:9;9927:7;9923:23;9919:32;9916:52;;;9964:1;9961;9954:12;9916:52;10000:9;9987:23;9977:33;;10061:2;10050:9;10046:18;10033:32;10084:18;10125:2;10117:6;10114:14;10111:34;;;10141:1;10138;10131:12;10111:34;10164:61;10217:7;10208:6;10197:9;10193:22;10164:61;:::i;:::-;10154:71;;10278:2;10267:9;10263:18;10250:32;10234:48;;10307:2;10297:8;10294:16;10291:36;;;10323:1;10320;10313:12;10291:36;;10346:51;10389:7;10378:8;10367:9;10363:24;10346:51;:::i;:::-;10336:61;;;9768:635;;;;;:::o;10904:248::-;10972:6;10980;11033:2;11021:9;11012:7;11008:23;11004:32;11001:52;;;11049:1;11046;11039:12;11001:52;-1:-1:-1;;11072:23:151;;;11142:2;11127:18;;;11114:32;;-1:-1:-1;10904:248:151:o;11157:734::-;11212:5;11260:4;11248:9;11243:3;11239:19;11235:30;11232:50;;;11278:1;11275;11268:12;11232:50;11311:4;11305:11;11355:4;11347:6;11343:17;11379:18;11447:6;11435:10;11432:22;11427:2;11415:10;11412:18;11409:46;11406:72;;;11458:18;;:::i;:::-;11500:10;11494:4;11487:24;11529:6;11520:15;;11572:9;11559:23;11551:6;11544:39;11634:2;11623:9;11619:18;11606:32;11592:46;;11661:2;11653:6;11650:14;11647:34;;;11677:1;11674;11667:12;11647:34;-1:-1:-1;11700:22:151;;11753:4;11745:13;;11741:23;-1:-1:-1;11731:51:151;;11778:1;11775;11768:12;11731:51;11815:69;11880:3;11875:2;11862:16;11857:2;11853;11849:11;11815:69;:::i;:::-;11810:2;11802:6;11798:15;11791:94;;;11157:734;;;;:::o;11896:415::-;11990:6;11998;12051:2;12039:9;12030:7;12026:23;12022:32;12019:52;;;12067:1;12064;12057:12;12019:52;12103:9;12090:23;12080:33;;12164:2;12153:9;12149:18;12136:32;12191:18;12183:6;12180:30;12177:50;;;12223:1;12220;12213:12;12177:50;12246:59;12297:7;12288:6;12277:9;12273:22;12246:59;:::i;12316:1208::-;12489:6;12497;12505;12513;12521;12529;12537;12590:3;12578:9;12569:7;12565:23;12561:33;12558:53;;;12607:1;12604;12597:12;12558:53;12643:9;12630:23;12620:33;;12703:2;12692:9;12688:18;12675:32;12716:31;12741:5;12716:31;:::i;:::-;12766:5;-1:-1:-1;12822:2:151;12807:18;;12794:32;12845:18;12875:14;;;12872:34;;;12902:1;12899;12892:12;12872:34;12925:49;12966:7;12957:6;12946:9;12942:22;12925:49;:::i;:::-;12915:59;;13026:2;13015:9;13011:18;12998:32;12983:47;;13039:33;13064:7;13039:33;:::i;:::-;13091:7;;-1:-1:-1;13145:3:151;13130:19;;13117:33;;-1:-1:-1;13203:3:151;13188:19;;13175:33;;13220:16;;;13217:36;;;13249:1;13246;13239:12;13217:36;13272:61;13325:7;13314:8;13303:9;13299:24;13272:61;:::i;:::-;13262:71;;13386:3;13375:9;13371:19;13358:33;13342:49;;13416:2;13406:8;13403:16;13400:36;;;13432:1;13429;13422:12;13400:36;;13455:63;13510:7;13499:8;13488:9;13484:24;13455:63;:::i;:::-;13445:73;;;12316:1208;;;;;;;;;;:::o;13789:675::-;13892:6;13900;13908;13916;13924;13977:3;13965:9;13956:7;13952:23;13948:33;13945:53;;;13994:1;13991;13984:12;13945:53;14033:9;14020:23;14052:31;14077:5;14052:31;:::i;:::-;14102:5;-1:-1:-1;14159:2:151;14144:18;;14131:32;14172:33;14131:32;14172:33;:::i;:::-;14224:7;-1:-1:-1;14283:2:151;14268:18;;14255:32;14296:33;14255:32;14296:33;:::i;:::-;13789:675;;;;-1:-1:-1;14348:7:151;;14402:2;14387:18;;14374:32;;-1:-1:-1;14453:3:151;14438:19;14425:33;;13789:675;-1:-1:-1;;13789:675:151:o;14469:854::-;14598:6;14606;14614;14667:2;14655:9;14646:7;14642:23;14638:32;14635:52;;;14683:1;14680;14673:12;14635:52;14723:9;14710:23;14752:18;14793:2;14785:6;14782:14;14779:34;;;14809:1;14806;14799:12;14779:34;14847:6;14836:9;14832:22;14822:32;;14892:7;14885:4;14881:2;14877:13;14873:27;14863:55;;14914:1;14911;14904:12;14863:55;14954:2;14941:16;14980:2;14972:6;14969:14;14966:34;;;14996:1;14993;14986:12;14966:34;15051:7;15044:4;15034:6;15031:1;15027:14;15023:2;15019:23;15015:34;15012:47;15009:67;;;15072:1;15069;15062:12;15009:67;15103:4;15095:13;;;;-1:-1:-1;15127:6:151;-1:-1:-1;15171:20:151;;;15158:34;;15204:16;;;15201:36;;;15233:1;15230;15223:12;15201:36;;15256:61;15309:7;15298:8;15287:9;15283:24;15256:61;:::i;15328:437::-;15407:1;15403:12;;;;15450;;;15471:61;;15525:4;15517:6;15513:17;15503:27;;15471:61;15578:2;15570:6;15567:14;15547:18;15544:38;15541:218;;-1:-1:-1;;;15612:1:151;15605:88;15716:4;15713:1;15706:15;15744:4;15741:1;15734:15;15541:218;;15328:437;;;:::o;15770:338::-;15945:2;15934:9;15927:21;15908:4;15965:45;16006:2;15995:9;15991:18;15983:6;15965:45;:::i;:::-;15957:53;;-1:-1:-1;;;;;16050:6:151;16046:55;16041:2;16030:9;16026:18;16019:83;15770:338;;;;;:::o;16113:251::-;16183:6;16236:2;16224:9;16215:7;16211:23;16207:32;16204:52;;;16252:1;16249;16242:12;16204:52;16284:9;16278:16;16303:31;16328:5;16303:31;:::i;16369:184::-;-1:-1:-1;;;16418:1:151;16411:88;16518:4;16515:1;16508:15;16542:4;16539:1;16532:15;16558:184;16628:6;16681:2;16669:9;16660:7;16656:23;16652:32;16649:52;;;16697:1;16694;16687:12;16649:52;-1:-1:-1;16720:16:151;;16558:184;-1:-1:-1;16558:184:151:o;17163:542::-;17416:2;17405:9;17398:21;17379:4;17442:56;17494:2;17483:9;17479:18;17471:6;17442:56;:::i;:::-;17546:9;17538:6;17534:22;17529:2;17518:9;17514:18;17507:50;17574:33;17600:6;17592;17574:33;:::i;:::-;17566:41;;;-1:-1:-1;;;;;17647:6:151;17643:55;17638:2;17627:9;17623:18;17616:83;17163:542;;;;;;:::o;17836:545::-;17938:2;17933:3;17930:11;17927:448;;;17974:1;17999:5;17995:2;17988:17;18044:4;18040:2;18030:19;18114:2;18102:10;18098:19;18095:1;18091:27;18085:4;18081:38;18150:4;18138:10;18135:20;18132:47;;;-1:-1:-1;18173:4:151;18132:47;18228:2;18223:3;18219:12;18216:1;18212:20;18206:4;18202:31;18192:41;;18283:82;18301:2;18294:5;18291:13;18283:82;;;18346:17;;;18327:1;18316:13;18283:82;;;18287:3;;;17836:545;;;:::o;18557:1352::-;18683:3;18677:10;18710:18;18702:6;18699:30;18696:56;;;18732:18;;:::i;:::-;18761:97;18851:6;18811:38;18843:4;18837:11;18811:38;:::i;:::-;18805:4;18761:97;:::i;:::-;18913:4;;18977:2;18966:14;;18994:1;18989:663;;;;19696:1;19713:6;19710:89;;;-1:-1:-1;19765:19:151;;;19759:26;19710:89;-1:-1:-1;;18514:1:151;18510:11;;;18506:24;18502:29;18492:40;18538:1;18534:11;;;18489:57;19812:81;;18959:944;;18989:663;17783:1;17776:14;;;17820:4;17807:18;;-1:-1:-1;;19025:20:151;;;19143:236;19157:7;19154:1;19151:14;19143:236;;;19246:19;;;19240:26;19225:42;;19338:27;;;;19306:1;19294:14;;;;19173:19;;19143:236;;;19147:3;19407:6;19398:7;19395:19;19392:201;;;19468:19;;;19462:26;-1:-1:-1;;19551:1:151;19547:14;;;19563:3;19543:24;19539:37;19535:42;19520:58;19505:74;;19392:201;-1:-1:-1;;;;;19639:1:151;19623:14;;;19619:22;19606:36;;-1:-1:-1;18557:1352:151:o;19914:261::-;20095:2;20084:9;20077:21;20058:4;20115:54;20165:2;20154:9;20150:18;20142:6;20115:54;:::i;20180:184::-;-1:-1:-1;;;20229:1:151;20222:88;20329:4;20326:1;20319:15;20353:4;20350:1;20343:15;20369:135;20408:3;20429:17;;;20426:43;;20449:18;;:::i;:::-;-1:-1:-1;20496:1:151;20485:13;;20369:135::o;21473:168::-;21546:9;;;21577;;21594:15;;;21588:22;;21574:37;21564:71;;21615:18;;:::i;21646:274::-;21686:1;21712;21702:189;;-1:-1:-1;;;21744:1:151;21737:88;21848:4;21845:1;21838:15;21876:4;21873:1;21866:15;21702:189;-1:-1:-1;21905:9:151;;21646:274::o;21925:128::-;21992:9;;;22013:11;;;22010:37;;;22027:18;;:::i;22058:125::-;22123:9;;;22144:10;;;22141:36;;;22157:18;;:::i;23042:277::-;23109:6;23162:2;23150:9;23141:7;23137:23;23133:32;23130:52;;;23178:1;23175;23168:12;23130:52;23210:9;23204:16;23263:5;23256:13;23249:21;23242:5;23239:32;23229:60;;23285:1;23282;23275:12;23650:289;23825:6;23814:9;23807:25;23868:2;23863;23852:9;23848:18;23841:30;23788:4;23888:45;23929:2;23918:9;23914:18;23906:6;23888:45;:::i;24214:573::-;24460:4;-1:-1:-1;;;;;24570:2:151;24562:6;24558:15;24547:9;24540:34;24622:2;24614:6;24610:15;24605:2;24594:9;24590:18;24583:43;;24662:6;24657:2;24646:9;24642:18;24635:34;24705:3;24700:2;24689:9;24685:18;24678:31;24726:55;24776:3;24765:9;24761:19;24753:6;24726:55;:::i;:::-;24718:63;24214:573;-1:-1:-1;;;;;;24214:573:151:o;25031:812::-;25442:25;25437:3;25430:38;25412:3;25497:6;25491:13;25513:75;25581:6;25576:2;25571:3;25567:12;25560:4;25552:6;25548:17;25513:75;:::i;:::-;25652:19;25647:2;25607:16;;;25639:11;;;25632:40;25697:13;;25719:76;25697:13;25781:2;25773:11;;25766:4;25754:17;;25719:76;:::i;:::-;25815:17;25834:2;25811:26;;25031:812;-1:-1:-1;;;;25031:812:151:o;25848:220::-;25997:2;25986:9;25979:21;25960:4;26017:45;26058:2;26047:9;26043:18;26035:6;26017:45;:::i;26425:136::-;26464:3;26492:5;26482:39;;26501:18;;:::i;:::-;-1:-1:-1;;;26537:18:151;;26425:136::o","linkReferences":{}},"methodIdentifiers":{"DEFAULT_ADMIN_ROLE()":"a217fddf","NATIVE()":"a0cf0aea","addPoolManager(uint256,address)":"2cf682b0","addToCloneableStrategies(address)":"41bba0b4","allocate(uint256,bytes)":"2ec38188","batchAllocate(uint256[],bytes[])":"c6dff1cf","batchRegisterRecipient(uint256[],bytes[])":"1a20bd88","cancelOwnershipHandover()":"54d1f13d","completeOwnershipHandover(address)":"f04e283e","createPool(bytes32,address,bytes,address,uint256,(uint256,string),address[])":"77da8caf","createPoolWithCustomStrategy(bytes32,address,bytes,address,uint256,(uint256,string),address[])":"e1007d4a","distribute(uint256,address[],bytes)":"3a5fbd92","fundPool(uint256,uint256)":"5acd6fac","getBaseFee()":"15e812ad","getFeeDenominator()":"f4e1fc41","getPercentFee()":"4edbaadc","getPool(uint256)":"068bcd8d","getRegistry()":"5ab1bd53","getRoleAdmin(bytes32)":"248a9ca3","getStrategy(uint256)":"cfc0cc34","getTreasury()":"3b19e84a","grantRole(bytes32,address)":"2f2ff15d","hasRole(bytes32,address)":"91d14854","initialize(address,address,address,uint256,uint256)":"a6b63eb8","isCloneableStrategy(address)":"ab2ec589","isPoolAdmin(uint256,address)":"ab3febc6","isPoolManager(uint256,address)":"29e40d4b","owner()":"8da5cb5b","ownershipHandoverExpiresAt(address)":"fee81cf4","recoverFunds(address,address)":"24ae6a27","registerRecipient(uint256,bytes)":"075c0e9c","removeFromCloneableStrategies(address)":"031e2fa1","removePoolManager(uint256,address)":"7f5a70bd","renounceOwnership()":"715018a6","renounceRole(bytes32,address)":"36568abe","requestOwnershipHandover()":"25692962","revokeRole(bytes32,address)":"d547741f","supportsInterface(bytes4)":"01ffc9a7","transferOwnership(address)":"f2fde38b","updateBaseFee(uint256)":"8e690186","updatePercentFee(uint256)":"f54fc4a0","updatePoolMetadata(uint256,(uint256,string))":"5f9ca138","updateRegistry(address)":"1a5da6c8","updateTreasury(address)":"7f51bb1f"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"ALLOCATION_ACTIVE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ALLOCATION_NOT_ACTIVE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ALLOCATION_NOT_ENDED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ALREADY_INITIALIZED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"AMOUNT_MISMATCH\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ANCHOR_ERROR\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ARRAY_MISMATCH\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID_ADDRESS\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID_FEE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID_METADATA\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID_REGISTRATION\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"IS_APPROVED_STRATEGY\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"MISMATCH\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NONCE_NOT_AVAILABLE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NOT_APPROVED_STRATEGY\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NOT_ENOUGH_FUNDS\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NOT_IMPLEMENTED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NOT_INITIALIZED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NOT_PENDING_OWNER\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NewOwnerIsZeroAddress\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NoHandoverRequest\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"POOL_ACTIVE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"POOL_INACTIVE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"RECIPIENT_ALREADY_ACCEPTED\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"recipientId\",\"type\":\"address\"}],\"name\":\"RECIPIENT_ERROR\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"RECIPIENT_NOT_ACCEPTED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"REGISTRATION_NOT_ACTIVE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UNAUTHORIZED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Unauthorized\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ZERO_ADDRESS\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"BaseFeePaid\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"baseFee\",\"type\":\"uint256\"}],\"name\":\"BaseFeeUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"version\",\"type\":\"uint8\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"pendingOwner\",\"type\":\"address\"}],\"name\":\"OwnershipHandoverCanceled\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"pendingOwner\",\"type\":\"address\"}],\"name\":\"OwnershipHandoverRequested\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"oldOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"percentFee\",\"type\":\"uint256\"}],\"name\":\"PercentFeeUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"profileId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"contract IStrategy\",\"name\":\"strategy\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"indexed\":false,\"internalType\":\"struct Metadata\",\"name\":\"metadata\",\"type\":\"tuple\"}],\"name\":\"PoolCreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"fee\",\"type\":\"uint256\"}],\"name\":\"PoolFunded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"indexed\":false,\"internalType\":\"struct Metadata\",\"name\":\"metadata\",\"type\":\"tuple\"}],\"name\":\"PoolMetadataUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"registry\",\"type\":\"address\"}],\"name\":\"RegistryUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"previousAdminRole\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"newAdminRole\",\"type\":\"bytes32\"}],\"name\":\"RoleAdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleGranted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleRevoked\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"strategy\",\"type\":\"address\"}],\"name\":\"StrategyApproved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"strategy\",\"type\":\"address\"}],\"name\":\"StrategyRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"treasury\",\"type\":\"address\"}],\"name\":\"TreasuryUpdated\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"DEFAULT_ADMIN_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"NATIVE\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_poolId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_manager\",\"type\":\"address\"}],\"name\":\"addPoolManager\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"}],\"name\":\"addToCloneableStrategies\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_poolId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"}],\"name\":\"allocate\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256[]\",\"name\":\"_poolIds\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes[]\",\"name\":\"_datas\",\"type\":\"bytes[]\"}],\"name\":\"batchAllocate\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256[]\",\"name\":\"_poolIds\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes[]\",\"name\":\"_data\",\"type\":\"bytes[]\"}],\"name\":\"batchRegisterRecipient\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"recipientIds\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"cancelOwnershipHandover\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"pendingOwner\",\"type\":\"address\"}],\"name\":\"completeOwnershipHandover\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_profileId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_initStrategyData\",\"type\":\"bytes\"},{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"_metadata\",\"type\":\"tuple\"},{\"internalType\":\"address[]\",\"name\":\"_managers\",\"type\":\"address[]\"}],\"name\":\"createPool\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_profileId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_initStrategyData\",\"type\":\"bytes\"},{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"_metadata\",\"type\":\"tuple\"},{\"internalType\":\"address[]\",\"name\":\"_managers\",\"type\":\"address[]\"}],\"name\":\"createPoolWithCustomStrategy\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_poolId\",\"type\":\"uint256\"},{\"internalType\":\"address[]\",\"name\":\"_recipientIds\",\"type\":\"address[]\"},{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"}],\"name\":\"distribute\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_poolId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"fundPool\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getBaseFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getFeeDenominator\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"FEE_DENOMINATOR\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getPercentFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_poolId\",\"type\":\"uint256\"}],\"name\":\"getPool\",\"outputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"profileId\",\"type\":\"bytes32\"},{\"internalType\":\"contract IStrategy\",\"name\":\"strategy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"metadata\",\"type\":\"tuple\"},{\"internalType\":\"bytes32\",\"name\":\"managerRole\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"adminRole\",\"type\":\"bytes32\"}],\"internalType\":\"struct IAllo.Pool\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getRegistry\",\"outputs\":[{\"internalType\":\"contract IRegistry\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"}],\"name\":\"getRoleAdmin\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_poolId\",\"type\":\"uint256\"}],\"name\":\"getStrategy\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getTreasury\",\"outputs\":[{\"internalType\":\"address payable\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"grantRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"hasRole\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_registry\",\"type\":\"address\"},{\"internalType\":\"address payable\",\"name\":\"_treasury\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_percentFee\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_baseFee\",\"type\":\"uint256\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"}],\"name\":\"isCloneableStrategy\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_poolId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_address\",\"type\":\"address\"}],\"name\":\"isPoolAdmin\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_poolId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_address\",\"type\":\"address\"}],\"name\":\"isPoolManager\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"result\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"pendingOwner\",\"type\":\"address\"}],\"name\":\"ownershipHandoverExpiresAt\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"result\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_recipient\",\"type\":\"address\"}],\"name\":\"recoverFunds\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_poolId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"}],\"name\":\"registerRecipient\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"}],\"name\":\"removeFromCloneableStrategies\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_poolId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_manager\",\"type\":\"address\"}],\"name\":\"removePoolManager\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"renounceRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"requestOwnershipHandover\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"revokeRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_baseFee\",\"type\":\"uint256\"}],\"name\":\"updateBaseFee\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_percentFee\",\"type\":\"uint256\"}],\"name\":\"updatePercentFee\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_poolId\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"_metadata\",\"type\":\"tuple\"}],\"name\":\"updatePoolMetadata\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_registry\",\"type\":\"address\"}],\"name\":\"updateRegistry\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address payable\",\"name\":\"_treasury\",\"type\":\"address\"}],\"name\":\"updateTreasury\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"@thelostone-mc , @0xKurt , @codenamejason , @0xZakk , @nfrgosselin \",\"details\":\"The contract must be initialized with the 'initialize()' function.\",\"errors\":{\"ANCHOR_ERROR()\":[{\"details\":\"Thrown if the anchor creation fails\"}],\"NONCE_NOT_AVAILABLE()\":[{\"details\":\"Thrown when the nonce passed has been used or not available\"}],\"NOT_PENDING_OWNER()\":[{\"details\":\"Thrown when the 'msg.sender' is not the pending owner on ownership transfer\"}],\"NewOwnerIsZeroAddress()\":[{\"details\":\"The `newOwner` cannot be the zero address.\"}],\"NoHandoverRequest()\":[{\"details\":\"The `pendingOwner` does not have a valid handover request.\"}],\"Unauthorized()\":[{\"details\":\"The caller is not authorized to call the function.\"}]},\"events\":{\"BaseFeePaid(uint256,uint256)\":{\"params\":{\"amount\":\"Amount of the base fee paid\",\"poolId\":\"ID of the pool the base fee was paid for\"}},\"BaseFeeUpdated(uint256)\":{\"params\":{\"baseFee\":\"New base fee amount\"}},\"Initialized(uint8)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"OwnershipHandoverCanceled(address)\":{\"details\":\"The ownership handover to `pendingOwner` has been canceled.\"},\"OwnershipHandoverRequested(address)\":{\"details\":\"An ownership handover to `pendingOwner` has been requested.\"},\"OwnershipTransferred(address,address)\":{\"details\":\"The ownership is transferred from `oldOwner` to `newOwner`. This event is intentionally kept the same as OpenZeppelin's Ownable to be compatible with indexers and [EIP-173](https://eips.ethereum.org/EIPS/eip-173), despite it not being as lightweight as a single argument event.\"},\"PercentFeeUpdated(uint256)\":{\"params\":{\"percentFee\":\"New percentage for the fee\"}},\"PoolCreated(uint256,bytes32,address,address,uint256,(uint256,string))\":{\"params\":{\"amount\":\"Amount pool was funded with when created\",\"metadata\":\"Pool metadata\",\"poolId\":\"ID of the pool created\",\"profileId\":\"ID of the profile the pool is associated with\",\"strategy\":\"Address of the strategy contract\",\"token\":\"Address of the token pool was funded with when created\"}},\"PoolFunded(uint256,uint256,uint256)\":{\"params\":{\"amount\":\"Amount funded to the pool\",\"fee\":\"Amount of the fee paid to the treasury\",\"poolId\":\"ID of the pool funded\"}},\"PoolMetadataUpdated(uint256,(uint256,string))\":{\"params\":{\"metadata\":\"Pool metadata that was updated\",\"poolId\":\"ID of the pool updated\"}},\"RegistryUpdated(address)\":{\"params\":{\"registry\":\"Address of the new registry\"}},\"RoleAdminChanged(bytes32,bytes32,bytes32)\":{\"details\":\"Emitted when `newAdminRole` is set as ``role``'s admin role, replacing `previousAdminRole` `DEFAULT_ADMIN_ROLE` is the starting admin for all roles, despite {RoleAdminChanged} not being emitted signaling this. _Available since v3.1._\"},\"RoleGranted(bytes32,address,address)\":{\"details\":\"Emitted when `account` is granted `role`. `sender` is the account that originated the contract call, an admin role bearer except when using {AccessControl-_setupRole}.\"},\"RoleRevoked(bytes32,address,address)\":{\"details\":\"Emitted when `account` is revoked `role`. `sender` is the account that originated the contract call: - if using `revokeRole`, it is the admin role bearer - if using `renounceRole`, it is the role bearer (i.e. `account`)\"},\"StrategyApproved(address)\":{\"params\":{\"strategy\":\"Address of the strategy approved\"}},\"StrategyRemoved(address)\":{\"params\":{\"strategy\":\"Address of the strategy removed\"}},\"TreasuryUpdated(address)\":{\"params\":{\"treasury\":\"Address of the new treasury\"}}},\"kind\":\"dev\",\"methods\":{\"addPoolManager(uint256,address)\":{\"details\":\"Emits 'RoleGranted()' event. 'msg.sender' must be a pool admin.\",\"params\":{\"_manager\":\"The address to add\",\"_poolId\":\"ID of the pool\"}},\"addToCloneableStrategies(address)\":{\"details\":\"Emits the 'StrategyApproved()' event. 'msg.sender' must be Allo owner.\",\"params\":{\"_strategy\":\"The address of the strategy\"}},\"allocate(uint256,bytes)\":{\"details\":\"The encoded data will be specific to a given strategy requirements, reference the strategy implementation of allocate().\",\"params\":{\"_data\":\"Encoded data unique to the strategy for that pool\",\"_poolId\":\"ID of the pool\"}},\"batchAllocate(uint256[],bytes[])\":{\"details\":\"The encoded data will be specific to a given strategy requirements, reference the strategy implementation of allocate(). Please note that this is not a 'payable' function, so if you want to send funds to the strategy, you must send the funds using 'fundPool()'.\",\"params\":{\"_datas\":\"encoded data unique to the strategy for that pool\",\"_poolIds\":\"IDs of the pools\"}},\"batchRegisterRecipient(uint256[],bytes[])\":{\"details\":\"Returns the 'recipientIds' from the strategy that have been registered from calling this function. Encoded data unique to a strategy that registerRecipient() requires. Encoded '_data' length must match '_poolIds' length or this will revert with MISMATCH(). Other requirements will be determined by the strategy.\",\"params\":{\"_data\":\"An array of encoded data unique to a strategy that registerRecipient() requires.\",\"_poolIds\":\"ID's of the pools\"},\"returns\":{\"recipientIds\":\"The recipient IDs that have been registered\"}},\"cancelOwnershipHandover()\":{\"details\":\"Cancels the two-step ownership handover to the caller, if any.\"},\"completeOwnershipHandover(address)\":{\"details\":\"Allows the owner to complete the two-step ownership handover to `pendingOwner`. Reverts if there is no existing ownership handover requested by `pendingOwner`.\"},\"createPool(bytes32,address,bytes,address,uint256,(uint256,string),address[])\":{\"custom:initstrategydata\":\"The encoded data will be specific to a given strategy requirements, reference the strategy implementation of 'initialize()'\",\"details\":\"'msg.sender' must be owner or member of the profile id passed as '_profileId'.\",\"params\":{\"_amount\":\"The amount of the token\",\"_initStrategyData\":\"The data to initialize the strategy\",\"_managers\":\"The managers of the pool\",\"_metadata\":\"The metadata of the pool\",\"_profileId\":\"The ID of the registry profile, used to check if 'msg.sender' is a member or owner of the profile\",\"_strategy\":\"The address of the strategy contract the pool will use.\",\"_token\":\"The address of the token\"}},\"createPoolWithCustomStrategy(bytes32,address,bytes,address,uint256,(uint256,string),address[])\":{\"details\":\"'msg.sender' must be a member or owner of a profile to create a pool with or without a custom strategy, The encoded data will be specific to a given strategy requirements, reference the strategy implementation of 'initialize()'. The strategy address passed must not be a cloneable strategy. The strategy address passed must not be the zero address. 'msg.sender' must be a member or owner of the profile id passed as '_profileId'.\",\"params\":{\"_amount\":\"The amount of the token you want to deposit into the pool on initialization\",\"_initStrategyData\":\"The data to initialize the strategy\",\"_managers\":\"The managers of the pool, and can be added/removed later by the pool admin\",\"_metadata\":\"The 'Metadata' of the pool, this uses our 'Meatdata.sol' struct (consistent throughout the protocol)\",\"_profileId\":\"The 'profileId' of the registry profile, used to check if 'msg.sender' is a member or owner of the profile\",\"_strategy\":\"The address of the deployed custom strategy\",\"_token\":\"The address of the token you want to use in your pool\"},\"returns\":{\"poolId\":\"The ID of the pool\"}},\"distribute(uint256,address[],bytes)\":{\"details\":\"The encoded data will be specific to a given strategy requirements, reference the strategy implementation of 'strategy.distribute()'.\",\"params\":{\"_data\":\"Encoded data unique to the strategy\",\"_poolId\":\"ID of the pool\",\"_recipientIds\":\"Ids of the recipients of the distribution\"}},\"fundPool(uint256,uint256)\":{\"details\":\"Anyone can fund a pool and call this function.\",\"params\":{\"_amount\":\"The amount to be deposited into the pool\",\"_poolId\":\"ID of the pool\"}},\"getBaseFee()\":{\"returns\":{\"_0\":\"The base fee\"}},\"getFeeDenominator()\":{\"returns\":{\"FEE_DENOMINATOR\":\"The fee denominator is (1e18) which represents 100%\"}},\"getPercentFee()\":{\"returns\":{\"_0\":\"The fee percentage (1e18 = 100%)\"}},\"getPool(uint256)\":{\"params\":{\"_poolId\":\"The ID of the pool\"},\"returns\":{\"_0\":\"The 'Pool' struct\"}},\"getRegistry()\":{\"returns\":{\"_0\":\"The registry address\"}},\"getRoleAdmin(bytes32)\":{\"details\":\"Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}.\"},\"getStrategy(uint256)\":{\"params\":{\"_poolId\":\"The ID of the pool\"},\"returns\":{\"_0\":\"The address of the strategy\"}},\"getTreasury()\":{\"returns\":{\"_0\":\"The treasury address\"}},\"grantRole(bytes32,address)\":{\"details\":\"Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleGranted} event.\"},\"hasRole(bytes32,address)\":{\"details\":\"Returns `true` if `account` has been granted `role`.\"},\"initialize(address,address,address,uint256,uint256)\":{\"details\":\"During upgrade -> a higher version should be passed to reinitializer\",\"params\":{\"_baseFee\":\"The base fee\",\"_owner\":\"The owner of allo\",\"_percentFee\":\"The percentage fee\",\"_registry\":\"The address of the registry\",\"_treasury\":\"The address of the treasury\"}},\"isCloneableStrategy(address)\":{\"params\":{\"_strategy\":\"The address of the strategy\"},\"returns\":{\"_0\":\"'true' if the strategy is cloneable, otherwise 'false'\"}},\"isPoolAdmin(uint256,address)\":{\"params\":{\"_address\":\"The address to check\",\"_poolId\":\"The ID of the pool\"},\"returns\":{\"_0\":\"'true' if the address is a pool admin, otherwise 'false'\"}},\"isPoolManager(uint256,address)\":{\"params\":{\"_address\":\"The address to check\",\"_poolId\":\"The ID of the pool\"},\"returns\":{\"_0\":\"'true' if the address is a pool manager, otherwise 'false'\"}},\"owner()\":{\"details\":\"Returns the owner of the contract.\"},\"ownershipHandoverExpiresAt(address)\":{\"details\":\"Returns the expiry timestamp for the two-step ownership handover to `pendingOwner`.\"},\"recoverFunds(address,address)\":{\"details\":\"'msg.sender' must be Allo owner\",\"params\":{\"_recipient\":\"The recipient\",\"_token\":\"The token to transfer\"}},\"registerRecipient(uint256,bytes)\":{\"details\":\"The encoded data will be specific to a given strategy requirements, reference the strategy implementation of registerRecipient().\",\"params\":{\"_data\":\"Encoded data unique to a strategy that registerRecipient() requires\",\"_poolId\":\"ID of the pool\"},\"returns\":{\"_0\":\"recipientId The recipient ID that has been registered\"}},\"removeFromCloneableStrategies(address)\":{\"details\":\"Emits 'StrategyRemoved()' event. 'msg.sender must be Allo owner.\",\"params\":{\"_strategy\":\"The address of the strategy\"}},\"removePoolManager(uint256,address)\":{\"details\":\"Emits 'RoleRevoked()' event. 'msg.sender' must be a pool admin.\",\"params\":{\"_manager\":\"The address to remove\",\"_poolId\":\"ID of the pool\"}},\"renounceOwnership()\":{\"details\":\"Allows the owner to renounce their ownership.\"},\"renounceRole(bytes32,address)\":{\"details\":\"Revokes `role` from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been revoked `role`, emits a {RoleRevoked} event. Requirements: - the caller must be `account`. May emit a {RoleRevoked} event.\"},\"requestOwnershipHandover()\":{\"details\":\"Request a two-step ownership handover to the caller. The request will automatically expire in 48 hours (172800 seconds) by default.\"},\"revokeRole(bytes32,address)\":{\"details\":\"Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleRevoked} event.\"},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"},\"transferOwnership(address)\":{\"details\":\"Allows the owner to transfer the ownership to `newOwner`.\"},\"updateBaseFee(uint256)\":{\"details\":\"Use this to update the base fee. 'msg.sender' must be Allo owner.\",\"params\":{\"_baseFee\":\"The new base fee\"}},\"updatePercentFee(uint256)\":{\"details\":\"Use this to update the fee percentage. 'msg.sender' must be Allo owner.\",\"params\":{\"_percentFee\":\"The new fee\"}},\"updatePoolMetadata(uint256,(uint256,string))\":{\"details\":\"'msg.sender' must be a pool manager. Emits 'PoolMetadataUpdated()' event.\",\"params\":{\"_metadata\":\"The new metadata of the pool\",\"_poolId\":\"ID of the pool\"}},\"updateRegistry(address)\":{\"details\":\"Use this to update the registry address. 'msg.sender' must be Allo owner.\",\"params\":{\"_registry\":\"The new registry address\"}},\"updateTreasury(address)\":{\"details\":\"Use this to update the treasury address. 'msg.sender' must be Allo owner.\",\"params\":{\"_treasury\":\"The new treasury address\"}}},\"stateVariables\":{\"_nonces\":{\"details\":\"'msg.sender' -> 'nonce' for cloning strategies\"},\"baseFee\":{\"details\":\"This is different from the 'percentFee' in that this is a flat fee and not a percentage. So if you want to create a pool with a base fee of 100 DAI, then you would pass 100 DAI to the 'createPool()' function and the pool would be created with 100 DAI less than the amount you passed to the function. The base fee is sent to the treasury address.\"},\"cloneableStrategies\":{\"details\":\"Strategy.address -> bool\"},\"percentFee\":{\"details\":\"How the percentage is represented in our contracts: 1e18 = 100%, 1e17 = 10%, 1e16 = 1%, 1e15 = 0.1%\"},\"pools\":{\"details\":\"'Pool.id' -> 'Pool'\"}},\"title\":\"Allo\",\"version\":1},\"userdoc\":{\"errors\":{\"ALLOCATION_ACTIVE()\":[{\"notice\":\"Thrown when the allocation is active.\"}],\"ALLOCATION_NOT_ACTIVE()\":[{\"notice\":\"Thrown when the allocation is not active.\"}],\"ALLOCATION_NOT_ENDED()\":[{\"notice\":\"Thrown when the allocation is not ended.\"}],\"ALREADY_INITIALIZED()\":[{\"notice\":\"Thrown when data is already intialized\"}],\"AMOUNT_MISMATCH()\":[{\"notice\":\"Thrown when the amount of tokens sent does not match the amount of tokens expected\"}],\"ARRAY_MISMATCH()\":[{\"notice\":\"Thrown when two arrays length are not equal\"}],\"INVALID()\":[{\"notice\":\"Thrown as a general error when input / data is invalid\"}],\"INVALID_ADDRESS()\":[{\"notice\":\"Thrown when an invalid address is used\"}],\"INVALID_FEE()\":[{\"notice\":\"Thrown when the fee is below 1e18 which is the fee percentage denominator\"}],\"INVALID_METADATA()\":[{\"notice\":\"Thrown when the metadata is invalid.\"}],\"INVALID_REGISTRATION()\":[{\"notice\":\"Thrown when the registration is invalid.\"}],\"IS_APPROVED_STRATEGY()\":[{\"notice\":\"Thrown when the strategy is approved and should be cloned\"}],\"MISMATCH()\":[{\"notice\":\"Thrown when mismatch in decoding data\"}],\"NOT_APPROVED_STRATEGY()\":[{\"notice\":\"Thrown when the strategy is not approved\"}],\"NOT_ENOUGH_FUNDS()\":[{\"notice\":\"Thrown when not enough funds are available\"}],\"NOT_IMPLEMENTED()\":[{\"notice\":\"Thrown when the function is not implemented\"}],\"NOT_INITIALIZED()\":[{\"notice\":\"Thrown when data is yet to be initialized\"}],\"POOL_ACTIVE()\":[{\"notice\":\"Thrown when a pool is already active\"}],\"POOL_INACTIVE()\":[{\"notice\":\"Thrown when a pool is inactive\"}],\"RECIPIENT_ALREADY_ACCEPTED()\":[{\"notice\":\"Thrown when recipient is already accepted.\"}],\"RECIPIENT_ERROR(address)\":[{\"notice\":\"Thrown when there is an error in recipient.\"}],\"RECIPIENT_NOT_ACCEPTED()\":[{\"notice\":\"Thrown when the recipient is not accepted.\"}],\"REGISTRATION_NOT_ACTIVE()\":[{\"notice\":\"Thrown when registration is not active.\"}],\"UNAUTHORIZED()\":[{\"notice\":\"Thrown when user is not authorized\"}],\"ZERO_ADDRESS()\":[{\"notice\":\"Thrown when address is the zero address\"}]},\"events\":{\"BaseFeePaid(uint256,uint256)\":{\"notice\":\"Emitted when the base fee is paid\"},\"BaseFeeUpdated(uint256)\":{\"notice\":\"Emitted when the base fee is updated\"},\"PercentFeeUpdated(uint256)\":{\"notice\":\"Emitted when the percent fee is updated\"},\"PoolCreated(uint256,bytes32,address,address,uint256,(uint256,string))\":{\"notice\":\"Event emitted when a new pool is created\"},\"PoolFunded(uint256,uint256,uint256)\":{\"notice\":\"Emitted when a pool is funded\"},\"PoolMetadataUpdated(uint256,(uint256,string))\":{\"notice\":\"Emitted when a pools metadata is updated\"},\"RegistryUpdated(address)\":{\"notice\":\"Emitted when the registry address is updated\"},\"StrategyApproved(address)\":{\"notice\":\"Emitted when a strategy is approved and added to the cloneable strategies\"},\"StrategyRemoved(address)\":{\"notice\":\"Emitted when a strategy is removed from the cloneable strategies\"},\"TreasuryUpdated(address)\":{\"notice\":\"Emitted when the treasury address is updated\"}},\"kind\":\"user\",\"methods\":{\"NATIVE()\":{\"notice\":\"Address of the native token\"},\"addPoolManager(uint256,address)\":{\"notice\":\"Add a pool manager\"},\"addToCloneableStrategies(address)\":{\"notice\":\"Add a strategy to the allowlist.\"},\"allocate(uint256,bytes)\":{\"notice\":\"Allocate to a recipient or multiple recipients.\"},\"batchAllocate(uint256[],bytes[])\":{\"notice\":\"Allocate to multiple pools\"},\"batchRegisterRecipient(uint256[],bytes[])\":{\"notice\":\"Register multiple recipients to multiple pools.\"},\"createPool(bytes32,address,bytes,address,uint256,(uint256,string),address[])\":{\"notice\":\"Creates a new pool (by cloning a cloneable strategies).\"},\"createPoolWithCustomStrategy(bytes32,address,bytes,address,uint256,(uint256,string),address[])\":{\"notice\":\"Creates a new pool (with a custom strategy)\"},\"distribute(uint256,address[],bytes)\":{\"notice\":\"Distribute to a recipient or multiple recipients.\"},\"fundPool(uint256,uint256)\":{\"notice\":\"Fund a pool.\"},\"getBaseFee()\":{\"notice\":\"Getter for base fee.\"},\"getFeeDenominator()\":{\"notice\":\"Getter for the fee denominator\"},\"getPercentFee()\":{\"notice\":\"Getter for fee percentage.\"},\"getPool(uint256)\":{\"notice\":\"Getter for the 'Pool'.\"},\"getRegistry()\":{\"notice\":\"Getter for registry.\"},\"getStrategy(uint256)\":{\"notice\":\"Getter for the strategy.\"},\"getTreasury()\":{\"notice\":\"Getter for treasury address.\"},\"initialize(address,address,address,uint256,uint256)\":{\"notice\":\"Initializes the contract after an upgrade\"},\"isCloneableStrategy(address)\":{\"notice\":\"Getter for if strategy is cloneable.\"},\"isPoolAdmin(uint256,address)\":{\"notice\":\"Checks if the address is a pool admin.\"},\"isPoolManager(uint256,address)\":{\"notice\":\"Checks if the address is a pool manager\"},\"recoverFunds(address,address)\":{\"notice\":\"Transfer the funds recovered to the recipient\"},\"registerRecipient(uint256,bytes)\":{\"notice\":\"Passes _data through to the strategy for that pool.\"},\"removeFromCloneableStrategies(address)\":{\"notice\":\"Remove a strategy from the allowlist\"},\"removePoolManager(uint256,address)\":{\"notice\":\"Remove a pool manager\"},\"updateBaseFee(uint256)\":{\"notice\":\"Updates the base fee.\"},\"updatePercentFee(uint256)\":{\"notice\":\"Updates the fee percentage.\"},\"updatePoolMetadata(uint256,(uint256,string))\":{\"notice\":\"Update pool metadata\"},\"updateRegistry(address)\":{\"notice\":\"Updates the registry address.\"},\"updateTreasury(address)\":{\"notice\":\"Updates the treasury address.\"}},\"notice\":\"This contract is used to create & manage pools as well as manage the protocol.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/allo-v2/contracts/core/Allo.sol\":\"Allo\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1000},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":eas-proxy/=lib/allo-v2/lib/eas-proxy/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":hedgey-vesting/=lib/allo-v2/lib/hedgey-vesting/contracts/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-contracts/=lib/safe-contracts/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":superfluid-protocol-monorepo/=lib/allo-v2/lib/superfluid-protocol-monorepo/packages/solidity-semantic-money/src/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"]},\"sources\":{\"lib/allo-v2/contracts/core/Allo.sol\":{\"keccak256\":\"0x6eadd7d37d010ad736e5b9fd25bd2083e430757d72b5873357cd7ee41d7fc21a\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://add326fecd1aac73bf91e634a9b11ab9a19b99a73616e44d5c79261bfbfb3a7c\",\"dweb:/ipfs/QmTF7WYUpSTF6EPWtB6CW9BPJAjWeZDtNjWGME4VHrarZd\"]},\"lib/allo-v2/contracts/core/interfaces/IAllo.sol\":{\"keccak256\":\"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7\",\"dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1\"]},\"lib/allo-v2/contracts/core/interfaces/IRegistry.sol\":{\"keccak256\":\"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e\",\"dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA\"]},\"lib/allo-v2/contracts/core/interfaces/IStrategy.sol\":{\"keccak256\":\"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487\",\"dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH\"]},\"lib/allo-v2/contracts/core/libraries/Clone.sol\":{\"keccak256\":\"0xc348b24b7d8a98c4faa5f2aa37ce9264a74f81dbdef1a9bae2eaa125585c3c7e\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://1335b3ec59ec7e3d12ea7c90b3aa56f4c26e0d44d342f54412933be9d4f16067\",\"dweb:/ipfs/QmXNFo2wCyq9cpvfgbdHvBUQecThFSEoUnMuZNS6WinDrr\"]},\"lib/allo-v2/contracts/core/libraries/Errors.sol\":{\"keccak256\":\"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf\",\"dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA\"]},\"lib/allo-v2/contracts/core/libraries/Metadata.sol\":{\"keccak256\":\"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c\",\"dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn\"]},\"lib/allo-v2/contracts/core/libraries/Native.sol\":{\"keccak256\":\"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a\",\"dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv\"]},\"lib/allo-v2/contracts/core/libraries/Transfer.sol\":{\"keccak256\":\"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11\",\"dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5\"]},\"lib/allo-v2/lib/solady/src/auth/Ownable.sol\":{\"keccak256\":\"0xd916b6ca098f26e08eff367c6fc1853956839d8d1c9d2df715784b6dec99889b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a9d8137ec1f5fb4210fbebeafa002f5b9cab28579445bd8281c56862e63aa30\",\"dweb:/ipfs/QmPLBcT1JkBKa4jK6qNficwZx2uGG4MetPNErJArdX6G61\"]},\"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol\":{\"keccak256\":\"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298\",\"dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0xc8710577334e8d0799ae2b2a731b1924a7bddd64319da9787ddd2dc69bdd1ce5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b83b7afa4d2372da3ba5402fb10860a105c35d79812c60dc61007be2afc17618\",\"dweb:/ipfs/QmYX9xPmbNVSKXrepKiUZiG5oL3SdzFp9a4kqspxX1sEUx\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol\":{\"keccak256\":\"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c\",\"dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol\":{\"keccak256\":\"0x3d98edeb5d5be8410fca707b73dabe7544d1dd11e35b73dd907c473fe43cc3ae\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1a3fa9fc3aec149b8ad0dd8895277ab11e9244e9d2b7adc8404b22de974fc964\",\"dweb:/ipfs/QmRggzxs1WjuvGJSAKb2Nw5r7P3VDMefCWKTbkNPKRkv2j\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e\",\"dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol\":{\"keccak256\":\"0x2025ccf05f6f1f2fd4e078e552836f525a1864e3854ed555047cd732320ab29b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d27f4b23c2dee42394aebaf42bf238285230f472dfd3282a39c3f000ec28214f\",\"dweb:/ipfs/QmQa3DnvccwdWJeWrjgXPnFMTWbzWQWR39hVqC7eEwo2PC\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/IERC20Upgradeable.sol\":{\"keccak256\":\"0x0e1f0f5f62f67a881cd1a9597acbc0a5e4071f3c2c10449a183b922ae7272e3f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c25f742ff154998d19a669e2508c3597b363e123ce9144cd0fcf6521229f401f\",\"dweb:/ipfs/QmQXRuFzStEWqeEPbhQU6cAg9PaSowxJVo4PDKyRod7dco\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b\",\"dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95\",\"dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol\":{\"keccak256\":\"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a\",\"dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0xd90d7723512df65ae417adaf0801042940f0dabd60039ceeaffe34aa5b238da1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1b13befeb3413749292f9fb229de1c7a509a5ce2c8047d9094fc004ca9d3af89\",\"dweb:/ipfs/QmRzJ2hZSwRtMejHUZAYTPRKgZsnfb112Fno9Jf3EiDfwA\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol\":{\"keccak256\":\"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758\",\"dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol\":{\"keccak256\":\"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91\",\"dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol\":{\"keccak256\":\"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4\",\"dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[],"type":"error","name":"ALLOCATION_ACTIVE"},{"inputs":[],"type":"error","name":"ALLOCATION_NOT_ACTIVE"},{"inputs":[],"type":"error","name":"ALLOCATION_NOT_ENDED"},{"inputs":[],"type":"error","name":"ALREADY_INITIALIZED"},{"inputs":[],"type":"error","name":"AMOUNT_MISMATCH"},{"inputs":[],"type":"error","name":"ANCHOR_ERROR"},{"inputs":[],"type":"error","name":"ARRAY_MISMATCH"},{"inputs":[],"type":"error","name":"INVALID"},{"inputs":[],"type":"error","name":"INVALID_ADDRESS"},{"inputs":[],"type":"error","name":"INVALID_FEE"},{"inputs":[],"type":"error","name":"INVALID_METADATA"},{"inputs":[],"type":"error","name":"INVALID_REGISTRATION"},{"inputs":[],"type":"error","name":"IS_APPROVED_STRATEGY"},{"inputs":[],"type":"error","name":"MISMATCH"},{"inputs":[],"type":"error","name":"NONCE_NOT_AVAILABLE"},{"inputs":[],"type":"error","name":"NOT_APPROVED_STRATEGY"},{"inputs":[],"type":"error","name":"NOT_ENOUGH_FUNDS"},{"inputs":[],"type":"error","name":"NOT_IMPLEMENTED"},{"inputs":[],"type":"error","name":"NOT_INITIALIZED"},{"inputs":[],"type":"error","name":"NOT_PENDING_OWNER"},{"inputs":[],"type":"error","name":"NewOwnerIsZeroAddress"},{"inputs":[],"type":"error","name":"NoHandoverRequest"},{"inputs":[],"type":"error","name":"POOL_ACTIVE"},{"inputs":[],"type":"error","name":"POOL_INACTIVE"},{"inputs":[],"type":"error","name":"RECIPIENT_ALREADY_ACCEPTED"},{"inputs":[{"internalType":"address","name":"recipientId","type":"address"}],"type":"error","name":"RECIPIENT_ERROR"},{"inputs":[],"type":"error","name":"RECIPIENT_NOT_ACCEPTED"},{"inputs":[],"type":"error","name":"REGISTRATION_NOT_ACTIVE"},{"inputs":[],"type":"error","name":"UNAUTHORIZED"},{"inputs":[],"type":"error","name":"Unauthorized"},{"inputs":[],"type":"error","name":"ZERO_ADDRESS"},{"inputs":[{"internalType":"uint256","name":"poolId","type":"uint256","indexed":true},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false}],"type":"event","name":"BaseFeePaid","anonymous":false},{"inputs":[{"internalType":"uint256","name":"baseFee","type":"uint256","indexed":false}],"type":"event","name":"BaseFeeUpdated","anonymous":false},{"inputs":[{"internalType":"uint8","name":"version","type":"uint8","indexed":false}],"type":"event","name":"Initialized","anonymous":false},{"inputs":[{"internalType":"address","name":"pendingOwner","type":"address","indexed":true}],"type":"event","name":"OwnershipHandoverCanceled","anonymous":false},{"inputs":[{"internalType":"address","name":"pendingOwner","type":"address","indexed":true}],"type":"event","name":"OwnershipHandoverRequested","anonymous":false},{"inputs":[{"internalType":"address","name":"oldOwner","type":"address","indexed":true},{"internalType":"address","name":"newOwner","type":"address","indexed":true}],"type":"event","name":"OwnershipTransferred","anonymous":false},{"inputs":[{"internalType":"uint256","name":"percentFee","type":"uint256","indexed":false}],"type":"event","name":"PercentFeeUpdated","anonymous":false},{"inputs":[{"internalType":"uint256","name":"poolId","type":"uint256","indexed":true},{"internalType":"bytes32","name":"profileId","type":"bytes32","indexed":true},{"internalType":"contract IStrategy","name":"strategy","type":"address","indexed":false},{"internalType":"address","name":"token","type":"address","indexed":false},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false},{"internalType":"struct Metadata","name":"metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}],"indexed":false}],"type":"event","name":"PoolCreated","anonymous":false},{"inputs":[{"internalType":"uint256","name":"poolId","type":"uint256","indexed":true},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false},{"internalType":"uint256","name":"fee","type":"uint256","indexed":false}],"type":"event","name":"PoolFunded","anonymous":false},{"inputs":[{"internalType":"uint256","name":"poolId","type":"uint256","indexed":true},{"internalType":"struct Metadata","name":"metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}],"indexed":false}],"type":"event","name":"PoolMetadataUpdated","anonymous":false},{"inputs":[{"internalType":"address","name":"registry","type":"address","indexed":false}],"type":"event","name":"RegistryUpdated","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32","indexed":true},{"internalType":"bytes32","name":"previousAdminRole","type":"bytes32","indexed":true},{"internalType":"bytes32","name":"newAdminRole","type":"bytes32","indexed":true}],"type":"event","name":"RoleAdminChanged","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32","indexed":true},{"internalType":"address","name":"account","type":"address","indexed":true},{"internalType":"address","name":"sender","type":"address","indexed":true}],"type":"event","name":"RoleGranted","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32","indexed":true},{"internalType":"address","name":"account","type":"address","indexed":true},{"internalType":"address","name":"sender","type":"address","indexed":true}],"type":"event","name":"RoleRevoked","anonymous":false},{"inputs":[{"internalType":"address","name":"strategy","type":"address","indexed":false}],"type":"event","name":"StrategyApproved","anonymous":false},{"inputs":[{"internalType":"address","name":"strategy","type":"address","indexed":false}],"type":"event","name":"StrategyRemoved","anonymous":false},{"inputs":[{"internalType":"address","name":"treasury","type":"address","indexed":false}],"type":"event","name":"TreasuryUpdated","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"DEFAULT_ADMIN_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"NATIVE","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"_poolId","type":"uint256"},{"internalType":"address","name":"_manager","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"addPoolManager"},{"inputs":[{"internalType":"address","name":"_strategy","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"addToCloneableStrategies"},{"inputs":[{"internalType":"uint256","name":"_poolId","type":"uint256"},{"internalType":"bytes","name":"_data","type":"bytes"}],"stateMutability":"payable","type":"function","name":"allocate"},{"inputs":[{"internalType":"uint256[]","name":"_poolIds","type":"uint256[]"},{"internalType":"bytes[]","name":"_datas","type":"bytes[]"}],"stateMutability":"nonpayable","type":"function","name":"batchAllocate"},{"inputs":[{"internalType":"uint256[]","name":"_poolIds","type":"uint256[]"},{"internalType":"bytes[]","name":"_data","type":"bytes[]"}],"stateMutability":"nonpayable","type":"function","name":"batchRegisterRecipient","outputs":[{"internalType":"address[]","name":"recipientIds","type":"address[]"}]},{"inputs":[],"stateMutability":"payable","type":"function","name":"cancelOwnershipHandover"},{"inputs":[{"internalType":"address","name":"pendingOwner","type":"address"}],"stateMutability":"payable","type":"function","name":"completeOwnershipHandover"},{"inputs":[{"internalType":"bytes32","name":"_profileId","type":"bytes32"},{"internalType":"address","name":"_strategy","type":"address"},{"internalType":"bytes","name":"_initStrategyData","type":"bytes"},{"internalType":"address","name":"_token","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"},{"internalType":"struct Metadata","name":"_metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]},{"internalType":"address[]","name":"_managers","type":"address[]"}],"stateMutability":"payable","type":"function","name":"createPool","outputs":[{"internalType":"uint256","name":"poolId","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"_profileId","type":"bytes32"},{"internalType":"address","name":"_strategy","type":"address"},{"internalType":"bytes","name":"_initStrategyData","type":"bytes"},{"internalType":"address","name":"_token","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"},{"internalType":"struct Metadata","name":"_metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]},{"internalType":"address[]","name":"_managers","type":"address[]"}],"stateMutability":"payable","type":"function","name":"createPoolWithCustomStrategy","outputs":[{"internalType":"uint256","name":"poolId","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"_poolId","type":"uint256"},{"internalType":"address[]","name":"_recipientIds","type":"address[]"},{"internalType":"bytes","name":"_data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"distribute"},{"inputs":[{"internalType":"uint256","name":"_poolId","type":"uint256"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"stateMutability":"payable","type":"function","name":"fundPool"},{"inputs":[],"stateMutability":"view","type":"function","name":"getBaseFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"getFeeDenominator","outputs":[{"internalType":"uint256","name":"FEE_DENOMINATOR","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getPercentFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"_poolId","type":"uint256"}],"stateMutability":"view","type":"function","name":"getPool","outputs":[{"internalType":"struct IAllo.Pool","name":"","type":"tuple","components":[{"internalType":"bytes32","name":"profileId","type":"bytes32"},{"internalType":"contract IStrategy","name":"strategy","type":"address"},{"internalType":"address","name":"token","type":"address"},{"internalType":"struct Metadata","name":"metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]},{"internalType":"bytes32","name":"managerRole","type":"bytes32"},{"internalType":"bytes32","name":"adminRole","type":"bytes32"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getRegistry","outputs":[{"internalType":"contract IRegistry","name":"","type":"address"}]},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getRoleAdmin","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"uint256","name":"_poolId","type":"uint256"}],"stateMutability":"view","type":"function","name":"getStrategy","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getTreasury","outputs":[{"internalType":"address payable","name":"","type":"address"}]},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"grantRole"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"hasRole","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"_registry","type":"address"},{"internalType":"address payable","name":"_treasury","type":"address"},{"internalType":"uint256","name":"_percentFee","type":"uint256"},{"internalType":"uint256","name":"_baseFee","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[{"internalType":"address","name":"_strategy","type":"address"}],"stateMutability":"view","type":"function","name":"isCloneableStrategy","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"uint256","name":"_poolId","type":"uint256"},{"internalType":"address","name":"_address","type":"address"}],"stateMutability":"view","type":"function","name":"isPoolAdmin","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"uint256","name":"_poolId","type":"uint256"},{"internalType":"address","name":"_address","type":"address"}],"stateMutability":"view","type":"function","name":"isPoolManager","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"owner","outputs":[{"internalType":"address","name":"result","type":"address"}]},{"inputs":[{"internalType":"address","name":"pendingOwner","type":"address"}],"stateMutability":"view","type":"function","name":"ownershipHandoverExpiresAt","outputs":[{"internalType":"uint256","name":"result","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"_token","type":"address"},{"internalType":"address","name":"_recipient","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"recoverFunds"},{"inputs":[{"internalType":"uint256","name":"_poolId","type":"uint256"},{"internalType":"bytes","name":"_data","type":"bytes"}],"stateMutability":"payable","type":"function","name":"registerRecipient","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"_strategy","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"removeFromCloneableStrategies"},{"inputs":[{"internalType":"uint256","name":"_poolId","type":"uint256"},{"internalType":"address","name":"_manager","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"removePoolManager"},{"inputs":[],"stateMutability":"payable","type":"function","name":"renounceOwnership"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"renounceRole"},{"inputs":[],"stateMutability":"payable","type":"function","name":"requestOwnershipHandover"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"revokeRole"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"stateMutability":"view","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"stateMutability":"payable","type":"function","name":"transferOwnership"},{"inputs":[{"internalType":"uint256","name":"_baseFee","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"updateBaseFee"},{"inputs":[{"internalType":"uint256","name":"_percentFee","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"updatePercentFee"},{"inputs":[{"internalType":"uint256","name":"_poolId","type":"uint256"},{"internalType":"struct Metadata","name":"_metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]}],"stateMutability":"nonpayable","type":"function","name":"updatePoolMetadata"},{"inputs":[{"internalType":"address","name":"_registry","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"updateRegistry"},{"inputs":[{"internalType":"address payable","name":"_treasury","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"updateTreasury"}],"devdoc":{"kind":"dev","methods":{"addPoolManager(uint256,address)":{"details":"Emits 'RoleGranted()' event. 'msg.sender' must be a pool admin.","params":{"_manager":"The address to add","_poolId":"ID of the pool"}},"addToCloneableStrategies(address)":{"details":"Emits the 'StrategyApproved()' event. 'msg.sender' must be Allo owner.","params":{"_strategy":"The address of the strategy"}},"allocate(uint256,bytes)":{"details":"The encoded data will be specific to a given strategy requirements, reference the strategy implementation of allocate().","params":{"_data":"Encoded data unique to the strategy for that pool","_poolId":"ID of the pool"}},"batchAllocate(uint256[],bytes[])":{"details":"The encoded data will be specific to a given strategy requirements, reference the strategy implementation of allocate(). Please note that this is not a 'payable' function, so if you want to send funds to the strategy, you must send the funds using 'fundPool()'.","params":{"_datas":"encoded data unique to the strategy for that pool","_poolIds":"IDs of the pools"}},"batchRegisterRecipient(uint256[],bytes[])":{"details":"Returns the 'recipientIds' from the strategy that have been registered from calling this function. Encoded data unique to a strategy that registerRecipient() requires. Encoded '_data' length must match '_poolIds' length or this will revert with MISMATCH(). Other requirements will be determined by the strategy.","params":{"_data":"An array of encoded data unique to a strategy that registerRecipient() requires.","_poolIds":"ID's of the pools"},"returns":{"recipientIds":"The recipient IDs that have been registered"}},"cancelOwnershipHandover()":{"details":"Cancels the two-step ownership handover to the caller, if any."},"completeOwnershipHandover(address)":{"details":"Allows the owner to complete the two-step ownership handover to `pendingOwner`. Reverts if there is no existing ownership handover requested by `pendingOwner`."},"createPool(bytes32,address,bytes,address,uint256,(uint256,string),address[])":{"custom:initstrategydata":"The encoded data will be specific to a given strategy requirements, reference the strategy implementation of 'initialize()'","details":"'msg.sender' must be owner or member of the profile id passed as '_profileId'.","params":{"_amount":"The amount of the token","_initStrategyData":"The data to initialize the strategy","_managers":"The managers of the pool","_metadata":"The metadata of the pool","_profileId":"The ID of the registry profile, used to check if 'msg.sender' is a member or owner of the profile","_strategy":"The address of the strategy contract the pool will use.","_token":"The address of the token"}},"createPoolWithCustomStrategy(bytes32,address,bytes,address,uint256,(uint256,string),address[])":{"details":"'msg.sender' must be a member or owner of a profile to create a pool with or without a custom strategy, The encoded data will be specific to a given strategy requirements, reference the strategy implementation of 'initialize()'. The strategy address passed must not be a cloneable strategy. The strategy address passed must not be the zero address. 'msg.sender' must be a member or owner of the profile id passed as '_profileId'.","params":{"_amount":"The amount of the token you want to deposit into the pool on initialization","_initStrategyData":"The data to initialize the strategy","_managers":"The managers of the pool, and can be added/removed later by the pool admin","_metadata":"The 'Metadata' of the pool, this uses our 'Meatdata.sol' struct (consistent throughout the protocol)","_profileId":"The 'profileId' of the registry profile, used to check if 'msg.sender' is a member or owner of the profile","_strategy":"The address of the deployed custom strategy","_token":"The address of the token you want to use in your pool"},"returns":{"poolId":"The ID of the pool"}},"distribute(uint256,address[],bytes)":{"details":"The encoded data will be specific to a given strategy requirements, reference the strategy implementation of 'strategy.distribute()'.","params":{"_data":"Encoded data unique to the strategy","_poolId":"ID of the pool","_recipientIds":"Ids of the recipients of the distribution"}},"fundPool(uint256,uint256)":{"details":"Anyone can fund a pool and call this function.","params":{"_amount":"The amount to be deposited into the pool","_poolId":"ID of the pool"}},"getBaseFee()":{"returns":{"_0":"The base fee"}},"getFeeDenominator()":{"returns":{"FEE_DENOMINATOR":"The fee denominator is (1e18) which represents 100%"}},"getPercentFee()":{"returns":{"_0":"The fee percentage (1e18 = 100%)"}},"getPool(uint256)":{"params":{"_poolId":"The ID of the pool"},"returns":{"_0":"The 'Pool' struct"}},"getRegistry()":{"returns":{"_0":"The registry address"}},"getRoleAdmin(bytes32)":{"details":"Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}."},"getStrategy(uint256)":{"params":{"_poolId":"The ID of the pool"},"returns":{"_0":"The address of the strategy"}},"getTreasury()":{"returns":{"_0":"The treasury address"}},"grantRole(bytes32,address)":{"details":"Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleGranted} event."},"hasRole(bytes32,address)":{"details":"Returns `true` if `account` has been granted `role`."},"initialize(address,address,address,uint256,uint256)":{"details":"During upgrade -> a higher version should be passed to reinitializer","params":{"_baseFee":"The base fee","_owner":"The owner of allo","_percentFee":"The percentage fee","_registry":"The address of the registry","_treasury":"The address of the treasury"}},"isCloneableStrategy(address)":{"params":{"_strategy":"The address of the strategy"},"returns":{"_0":"'true' if the strategy is cloneable, otherwise 'false'"}},"isPoolAdmin(uint256,address)":{"params":{"_address":"The address to check","_poolId":"The ID of the pool"},"returns":{"_0":"'true' if the address is a pool admin, otherwise 'false'"}},"isPoolManager(uint256,address)":{"params":{"_address":"The address to check","_poolId":"The ID of the pool"},"returns":{"_0":"'true' if the address is a pool manager, otherwise 'false'"}},"owner()":{"details":"Returns the owner of the contract."},"ownershipHandoverExpiresAt(address)":{"details":"Returns the expiry timestamp for the two-step ownership handover to `pendingOwner`."},"recoverFunds(address,address)":{"details":"'msg.sender' must be Allo owner","params":{"_recipient":"The recipient","_token":"The token to transfer"}},"registerRecipient(uint256,bytes)":{"details":"The encoded data will be specific to a given strategy requirements, reference the strategy implementation of registerRecipient().","params":{"_data":"Encoded data unique to a strategy that registerRecipient() requires","_poolId":"ID of the pool"},"returns":{"_0":"recipientId The recipient ID that has been registered"}},"removeFromCloneableStrategies(address)":{"details":"Emits 'StrategyRemoved()' event. 'msg.sender must be Allo owner.","params":{"_strategy":"The address of the strategy"}},"removePoolManager(uint256,address)":{"details":"Emits 'RoleRevoked()' event. 'msg.sender' must be a pool admin.","params":{"_manager":"The address to remove","_poolId":"ID of the pool"}},"renounceOwnership()":{"details":"Allows the owner to renounce their ownership."},"renounceRole(bytes32,address)":{"details":"Revokes `role` from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been revoked `role`, emits a {RoleRevoked} event. Requirements: - the caller must be `account`. May emit a {RoleRevoked} event."},"requestOwnershipHandover()":{"details":"Request a two-step ownership handover to the caller. The request will automatically expire in 48 hours (172800 seconds) by default."},"revokeRole(bytes32,address)":{"details":"Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleRevoked} event."},"supportsInterface(bytes4)":{"details":"See {IERC165-supportsInterface}."},"transferOwnership(address)":{"details":"Allows the owner to transfer the ownership to `newOwner`."},"updateBaseFee(uint256)":{"details":"Use this to update the base fee. 'msg.sender' must be Allo owner.","params":{"_baseFee":"The new base fee"}},"updatePercentFee(uint256)":{"details":"Use this to update the fee percentage. 'msg.sender' must be Allo owner.","params":{"_percentFee":"The new fee"}},"updatePoolMetadata(uint256,(uint256,string))":{"details":"'msg.sender' must be a pool manager. Emits 'PoolMetadataUpdated()' event.","params":{"_metadata":"The new metadata of the pool","_poolId":"ID of the pool"}},"updateRegistry(address)":{"details":"Use this to update the registry address. 'msg.sender' must be Allo owner.","params":{"_registry":"The new registry address"}},"updateTreasury(address)":{"details":"Use this to update the treasury address. 'msg.sender' must be Allo owner.","params":{"_treasury":"The new treasury address"}}},"version":1},"userdoc":{"kind":"user","methods":{"NATIVE()":{"notice":"Address of the native token"},"addPoolManager(uint256,address)":{"notice":"Add a pool manager"},"addToCloneableStrategies(address)":{"notice":"Add a strategy to the allowlist."},"allocate(uint256,bytes)":{"notice":"Allocate to a recipient or multiple recipients."},"batchAllocate(uint256[],bytes[])":{"notice":"Allocate to multiple pools"},"batchRegisterRecipient(uint256[],bytes[])":{"notice":"Register multiple recipients to multiple pools."},"createPool(bytes32,address,bytes,address,uint256,(uint256,string),address[])":{"notice":"Creates a new pool (by cloning a cloneable strategies)."},"createPoolWithCustomStrategy(bytes32,address,bytes,address,uint256,(uint256,string),address[])":{"notice":"Creates a new pool (with a custom strategy)"},"distribute(uint256,address[],bytes)":{"notice":"Distribute to a recipient or multiple recipients."},"fundPool(uint256,uint256)":{"notice":"Fund a pool."},"getBaseFee()":{"notice":"Getter for base fee."},"getFeeDenominator()":{"notice":"Getter for the fee denominator"},"getPercentFee()":{"notice":"Getter for fee percentage."},"getPool(uint256)":{"notice":"Getter for the 'Pool'."},"getRegistry()":{"notice":"Getter for registry."},"getStrategy(uint256)":{"notice":"Getter for the strategy."},"getTreasury()":{"notice":"Getter for treasury address."},"initialize(address,address,address,uint256,uint256)":{"notice":"Initializes the contract after an upgrade"},"isCloneableStrategy(address)":{"notice":"Getter for if strategy is cloneable."},"isPoolAdmin(uint256,address)":{"notice":"Checks if the address is a pool admin."},"isPoolManager(uint256,address)":{"notice":"Checks if the address is a pool manager"},"recoverFunds(address,address)":{"notice":"Transfer the funds recovered to the recipient"},"registerRecipient(uint256,bytes)":{"notice":"Passes _data through to the strategy for that pool."},"removeFromCloneableStrategies(address)":{"notice":"Remove a strategy from the allowlist"},"removePoolManager(uint256,address)":{"notice":"Remove a pool manager"},"updateBaseFee(uint256)":{"notice":"Updates the base fee."},"updatePercentFee(uint256)":{"notice":"Updates the fee percentage."},"updatePoolMetadata(uint256,(uint256,string))":{"notice":"Update pool metadata"},"updateRegistry(address)":{"notice":"Updates the registry address."},"updateTreasury(address)":{"notice":"Updates the treasury address."}},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","eas-proxy/=lib/allo-v2/lib/eas-proxy/contracts/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","hedgey-vesting/=lib/allo-v2/lib/hedgey-vesting/contracts/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-contracts/=lib/safe-contracts/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","superfluid-protocol-monorepo/=lib/allo-v2/lib/superfluid-protocol-monorepo/packages/solidity-semantic-money/src/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":1000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib/allo-v2/contracts/core/Allo.sol":"Allo"},"evmVersion":"paris","libraries":{}},"sources":{"lib/allo-v2/contracts/core/Allo.sol":{"keccak256":"0x6eadd7d37d010ad736e5b9fd25bd2083e430757d72b5873357cd7ee41d7fc21a","urls":["bzz-raw://add326fecd1aac73bf91e634a9b11ab9a19b99a73616e44d5c79261bfbfb3a7c","dweb:/ipfs/QmTF7WYUpSTF6EPWtB6CW9BPJAjWeZDtNjWGME4VHrarZd"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/interfaces/IAllo.sol":{"keccak256":"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce","urls":["bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7","dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/interfaces/IRegistry.sol":{"keccak256":"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f","urls":["bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e","dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA"],"license":"MIT"},"lib/allo-v2/contracts/core/interfaces/IStrategy.sol":{"keccak256":"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23","urls":["bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487","dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Clone.sol":{"keccak256":"0xc348b24b7d8a98c4faa5f2aa37ce9264a74f81dbdef1a9bae2eaa125585c3c7e","urls":["bzz-raw://1335b3ec59ec7e3d12ea7c90b3aa56f4c26e0d44d342f54412933be9d4f16067","dweb:/ipfs/QmXNFo2wCyq9cpvfgbdHvBUQecThFSEoUnMuZNS6WinDrr"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Errors.sol":{"keccak256":"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15","urls":["bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf","dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Metadata.sol":{"keccak256":"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44","urls":["bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c","dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Native.sol":{"keccak256":"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5","urls":["bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a","dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Transfer.sol":{"keccak256":"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286","urls":["bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11","dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5"],"license":"AGPL-3.0-only"},"lib/allo-v2/lib/solady/src/auth/Ownable.sol":{"keccak256":"0xd916b6ca098f26e08eff367c6fc1853956839d8d1c9d2df715784b6dec99889b","urls":["bzz-raw://7a9d8137ec1f5fb4210fbebeafa002f5b9cab28579445bd8281c56862e63aa30","dweb:/ipfs/QmPLBcT1JkBKa4jK6qNficwZx2uGG4MetPNErJArdX6G61"],"license":"MIT"},"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol":{"keccak256":"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624","urls":["bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298","dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol":{"keccak256":"0xc8710577334e8d0799ae2b2a731b1924a7bddd64319da9787ddd2dc69bdd1ce5","urls":["bzz-raw://b83b7afa4d2372da3ba5402fb10860a105c35d79812c60dc61007be2afc17618","dweb:/ipfs/QmYX9xPmbNVSKXrepKiUZiG5oL3SdzFp9a4kqspxX1sEUx"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol":{"keccak256":"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa","urls":["bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c","dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol":{"keccak256":"0x3d98edeb5d5be8410fca707b73dabe7544d1dd11e35b73dd907c473fe43cc3ae","urls":["bzz-raw://1a3fa9fc3aec149b8ad0dd8895277ab11e9244e9d2b7adc8404b22de974fc964","dweb:/ipfs/QmRggzxs1WjuvGJSAKb2Nw5r7P3VDMefCWKTbkNPKRkv2j"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794","urls":["bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e","dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol":{"keccak256":"0x2025ccf05f6f1f2fd4e078e552836f525a1864e3854ed555047cd732320ab29b","urls":["bzz-raw://d27f4b23c2dee42394aebaf42bf238285230f472dfd3282a39c3f000ec28214f","dweb:/ipfs/QmQa3DnvccwdWJeWrjgXPnFMTWbzWQWR39hVqC7eEwo2PC"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/IERC20Upgradeable.sol":{"keccak256":"0x0e1f0f5f62f67a881cd1a9597acbc0a5e4071f3c2c10449a183b922ae7272e3f","urls":["bzz-raw://c25f742ff154998d19a669e2508c3597b363e123ce9144cd0fcf6521229f401f","dweb:/ipfs/QmQXRuFzStEWqeEPbhQU6cAg9PaSowxJVo4PDKyRod7dco"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol":{"keccak256":"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422","urls":["bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b","dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef","urls":["bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95","dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol":{"keccak256":"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb","urls":["bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a","dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol":{"keccak256":"0xd90d7723512df65ae417adaf0801042940f0dabd60039ceeaffe34aa5b238da1","urls":["bzz-raw://1b13befeb3413749292f9fb229de1c7a509a5ce2c8047d9094fc004ca9d3af89","dweb:/ipfs/QmRzJ2hZSwRtMejHUZAYTPRKgZsnfb112Fno9Jf3EiDfwA"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol":{"keccak256":"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09","urls":["bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758","dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol":{"keccak256":"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e","urls":["bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91","dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol":{"keccak256":"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a","urls":["bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4","dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z"],"license":"MIT"}},"version":1},"storageLayout":{"storage":[{"astId":53029,"contract":"lib/allo-v2/contracts/core/Allo.sol:Allo","label":"_initialized","offset":0,"slot":"0","type":"t_uint8"},{"astId":53032,"contract":"lib/allo-v2/contracts/core/Allo.sol:Allo","label":"_initializing","offset":1,"slot":"0","type":"t_bool"},{"astId":53734,"contract":"lib/allo-v2/contracts/core/Allo.sol:Allo","label":"__gap","offset":0,"slot":"1","type":"t_array(t_uint256)50_storage"},{"astId":54008,"contract":"lib/allo-v2/contracts/core/Allo.sol:Allo","label":"__gap","offset":0,"slot":"51","type":"t_array(t_uint256)50_storage"},{"astId":52428,"contract":"lib/allo-v2/contracts/core/Allo.sol:Allo","label":"_roles","offset":0,"slot":"101","type":"t_mapping(t_bytes32,t_struct(RoleData)52423_storage)"},{"astId":52735,"contract":"lib/allo-v2/contracts/core/Allo.sol:Allo","label":"__gap","offset":0,"slot":"102","type":"t_array(t_uint256)49_storage"},{"astId":53206,"contract":"lib/allo-v2/contracts/core/Allo.sol:Allo","label":"_status","offset":0,"slot":"151","type":"t_uint256"},{"astId":53275,"contract":"lib/allo-v2/contracts/core/Allo.sol:Allo","label":"__gap","offset":0,"slot":"152","type":"t_array(t_uint256)49_storage"},{"astId":34,"contract":"lib/allo-v2/contracts/core/Allo.sol:Allo","label":"percentFee","offset":0,"slot":"201","type":"t_uint256"},{"astId":37,"contract":"lib/allo-v2/contracts/core/Allo.sol:Allo","label":"baseFee","offset":0,"slot":"202","type":"t_uint256"},{"astId":40,"contract":"lib/allo-v2/contracts/core/Allo.sol:Allo","label":"_poolIndex","offset":0,"slot":"203","type":"t_uint256"},{"astId":43,"contract":"lib/allo-v2/contracts/core/Allo.sol:Allo","label":"treasury","offset":0,"slot":"204","type":"t_address_payable"},{"astId":47,"contract":"lib/allo-v2/contracts/core/Allo.sol:Allo","label":"registry","offset":0,"slot":"205","type":"t_contract(IRegistry)2802"},{"astId":52,"contract":"lib/allo-v2/contracts/core/Allo.sol:Allo","label":"_nonces","offset":0,"slot":"206","type":"t_mapping(t_address,t_uint256)"},{"astId":58,"contract":"lib/allo-v2/contracts/core/Allo.sol:Allo","label":"pools","offset":0,"slot":"207","type":"t_mapping(t_uint256,t_struct(Pool)2319_storage)"},{"astId":63,"contract":"lib/allo-v2/contracts/core/Allo.sol:Allo","label":"cloneableStrategies","offset":0,"slot":"208","type":"t_mapping(t_address,t_bool)"}],"types":{"t_address":{"encoding":"inplace","label":"address","numberOfBytes":"20"},"t_address_payable":{"encoding":"inplace","label":"address payable","numberOfBytes":"20"},"t_array(t_uint256)49_storage":{"encoding":"inplace","label":"uint256[49]","numberOfBytes":"1568","base":"t_uint256"},"t_array(t_uint256)50_storage":{"encoding":"inplace","label":"uint256[50]","numberOfBytes":"1600","base":"t_uint256"},"t_bool":{"encoding":"inplace","label":"bool","numberOfBytes":"1"},"t_bytes32":{"encoding":"inplace","label":"bytes32","numberOfBytes":"32"},"t_contract(IRegistry)2802":{"encoding":"inplace","label":"contract IRegistry","numberOfBytes":"20"},"t_contract(IStrategy)2969":{"encoding":"inplace","label":"contract IStrategy","numberOfBytes":"20"},"t_mapping(t_address,t_bool)":{"encoding":"mapping","key":"t_address","label":"mapping(address => bool)","numberOfBytes":"32","value":"t_bool"},"t_mapping(t_address,t_uint256)":{"encoding":"mapping","key":"t_address","label":"mapping(address => uint256)","numberOfBytes":"32","value":"t_uint256"},"t_mapping(t_bytes32,t_struct(RoleData)52423_storage)":{"encoding":"mapping","key":"t_bytes32","label":"mapping(bytes32 => struct AccessControlUpgradeable.RoleData)","numberOfBytes":"32","value":"t_struct(RoleData)52423_storage"},"t_mapping(t_uint256,t_struct(Pool)2319_storage)":{"encoding":"mapping","key":"t_uint256","label":"mapping(uint256 => struct IAllo.Pool)","numberOfBytes":"32","value":"t_struct(Pool)2319_storage"},"t_string_storage":{"encoding":"bytes","label":"string","numberOfBytes":"32"},"t_struct(Metadata)3098_storage":{"encoding":"inplace","label":"struct Metadata","numberOfBytes":"64","members":[{"astId":3094,"contract":"lib/allo-v2/contracts/core/Allo.sol:Allo","label":"protocol","offset":0,"slot":"0","type":"t_uint256"},{"astId":3097,"contract":"lib/allo-v2/contracts/core/Allo.sol:Allo","label":"pointer","offset":0,"slot":"1","type":"t_string_storage"}]},"t_struct(Pool)2319_storage":{"encoding":"inplace","label":"struct IAllo.Pool","numberOfBytes":"224","members":[{"astId":2306,"contract":"lib/allo-v2/contracts/core/Allo.sol:Allo","label":"profileId","offset":0,"slot":"0","type":"t_bytes32"},{"astId":2309,"contract":"lib/allo-v2/contracts/core/Allo.sol:Allo","label":"strategy","offset":0,"slot":"1","type":"t_contract(IStrategy)2969"},{"astId":2311,"contract":"lib/allo-v2/contracts/core/Allo.sol:Allo","label":"token","offset":0,"slot":"2","type":"t_address"},{"astId":2314,"contract":"lib/allo-v2/contracts/core/Allo.sol:Allo","label":"metadata","offset":0,"slot":"3","type":"t_struct(Metadata)3098_storage"},{"astId":2316,"contract":"lib/allo-v2/contracts/core/Allo.sol:Allo","label":"managerRole","offset":0,"slot":"5","type":"t_bytes32"},{"astId":2318,"contract":"lib/allo-v2/contracts/core/Allo.sol:Allo","label":"adminRole","offset":0,"slot":"6","type":"t_bytes32"}]},"t_struct(RoleData)52423_storage":{"encoding":"inplace","label":"struct AccessControlUpgradeable.RoleData","numberOfBytes":"64","members":[{"astId":52420,"contract":"lib/allo-v2/contracts/core/Allo.sol:Allo","label":"members","offset":0,"slot":"0","type":"t_mapping(t_address,t_bool)"},{"astId":52422,"contract":"lib/allo-v2/contracts/core/Allo.sol:Allo","label":"adminRole","offset":0,"slot":"1","type":"t_bytes32"}]},"t_uint256":{"encoding":"inplace","label":"uint256","numberOfBytes":"32"},"t_uint8":{"encoding":"inplace","label":"uint8","numberOfBytes":"1"}}},"ast":{"absolutePath":"lib/allo-v2/contracts/core/Allo.sol","id":1391,"exportedSymbols":{"AccessControlUpgradeable":[52736],"AddressUpgradeable":[53684],"Allo":[1390],"Clone":[3002],"ContextUpgradeable":[53735],"ERC165Upgradeable":[54009],"Errors":[3089],"IAccessControlUpgradeable":[52809],"IAllo":[2610],"IERC165Upgradeable":[54021],"IERC20Upgradeable":[53354],"IRegistry":[2802],"IStrategy":[2969],"Initializable":[53191],"MathUpgradeable":[54887],"Metadata":[3098],"Native":[3106],"Ownable":[4095],"ReentrancyGuardUpgradeable":[53276],"SignedMathUpgradeable":[54992],"StringsUpgradeable":[53964],"Transfer":[3317]},"nodeType":"SourceUnit","src":"42:34082:0","nodes":[{"id":1,"nodeType":"PragmaDirective","src":"42:23:0","nodes":[],"literals":["solidity","0.8",".19"]},{"id":2,"nodeType":"ImportDirective","src":"89:37:0","nodes":[],"absolutePath":"lib/allo-v2/lib/solady/src/auth/Ownable.sol","file":"solady/src/auth/Ownable.sol","nameLocation":"-1:-1:-1","scope":1391,"sourceUnit":4096,"symbolAliases":[],"unitAlias":""},{"id":3,"nodeType":"ImportDirective","src":"127:84:0","nodes":[],"absolutePath":"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol","file":"openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol","nameLocation":"-1:-1:-1","scope":1391,"sourceUnit":53192,"symbolAliases":[],"unitAlias":""},{"id":4,"nodeType":"ImportDirective","src":"212:88:0","nodes":[],"absolutePath":"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/IERC20Upgradeable.sol","file":"openzeppelin-contracts-upgradeable/contracts/token/ERC20/IERC20Upgradeable.sol","nameLocation":"-1:-1:-1","scope":1391,"sourceUnit":53355,"symbolAliases":[],"unitAlias":""},{"id":5,"nodeType":"ImportDirective","src":"301:90:0","nodes":[],"absolutePath":"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol","file":"openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol","nameLocation":"-1:-1:-1","scope":1391,"sourceUnit":52737,"symbolAliases":[],"unitAlias":""},{"id":6,"nodeType":"ImportDirective","src":"392:94:0","nodes":[],"absolutePath":"lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol","file":"openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol","nameLocation":"-1:-1:-1","scope":1391,"sourceUnit":53277,"symbolAliases":[],"unitAlias":""},{"id":7,"nodeType":"ImportDirective","src":"501:32:0","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/interfaces/IAllo.sol","file":"./interfaces/IAllo.sol","nameLocation":"-1:-1:-1","scope":1391,"sourceUnit":2611,"symbolAliases":[],"unitAlias":""},{"id":9,"nodeType":"ImportDirective","src":"557:44:0","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/libraries/Clone.sol","file":"./libraries/Clone.sol","nameLocation":"-1:-1:-1","scope":1391,"sourceUnit":3003,"symbolAliases":[{"foreign":{"id":8,"name":"Clone","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3002,"src":"565:5:0","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":11,"nodeType":"ImportDirective","src":"602:46:0","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/libraries/Errors.sol","file":"./libraries/Errors.sol","nameLocation":"-1:-1:-1","scope":1391,"sourceUnit":3090,"symbolAliases":[{"foreign":{"id":10,"name":"Errors","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3089,"src":"610:6:0","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":12,"nodeType":"ImportDirective","src":"649:32:0","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/libraries/Native.sol","file":"./libraries/Native.sol","nameLocation":"-1:-1:-1","scope":1391,"sourceUnit":3107,"symbolAliases":[],"unitAlias":""},{"id":14,"nodeType":"ImportDirective","src":"682:50:0","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/libraries/Transfer.sol","file":"./libraries/Transfer.sol","nameLocation":"-1:-1:-1","scope":1391,"sourceUnit":3318,"symbolAliases":[{"foreign":{"id":13,"name":"Transfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3317,"src":"690:8:0","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":1390,"nodeType":"ContractDefinition","src":"5076:29047:0","nodes":[{"id":34,"nodeType":"VariableDeclaration","src":"5862:26:0","nodes":[],"constant":false,"documentation":{"id":32,"nodeType":"StructuredDocumentation","src":"5344:513:0","text":"@notice Percentage that is used to calculate the fee Allo takes from each pool when funded\n and is deducted when a pool is funded. So if you want to fund a round with 1000 DAI and the fee\n percentage is 1e17 (10%), then 100 DAI will be deducted from the 1000 DAI and the pool will be\n funded with 900 DAI. The fee is then sent to the treasury address.\n @dev How the percentage is represented in our contracts: 1e18 = 100%, 1e17 = 10%, 1e16 = 1%, 1e15 = 0.1%"},"mutability":"mutable","name":"percentFee","nameLocation":"5878:10:0","scope":1390,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":33,"name":"uint256","nodeType":"ElementaryTypeName","src":"5862:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"private"},{"id":37,"nodeType":"VariableDeclaration","src":"6339:24:0","nodes":[],"constant":false,"documentation":{"id":35,"nodeType":"StructuredDocumentation","src":"5895:439:0","text":"@notice Fee Allo charges for all pools on creation\n @dev This is different from the 'percentFee' in that this is a flat fee and not a percentage. So if you want to create a pool\n with a base fee of 100 DAI, then you would pass 100 DAI to the 'createPool()' function and the pool would be created\n with 100 DAI less than the amount you passed to the function. The base fee is sent to the treasury address."},"mutability":"mutable","name":"baseFee","nameLocation":"6356:7:0","scope":1390,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":36,"name":"uint256","nodeType":"ElementaryTypeName","src":"6339:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"id":40,"nodeType":"VariableDeclaration","src":"6431:26:0","nodes":[],"constant":false,"documentation":{"id":38,"nodeType":"StructuredDocumentation","src":"6370:56:0","text":"@notice Incremental index to track the pools created"},"mutability":"mutable","name":"_poolIndex","nameLocation":"6447:10:0","scope":1390,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":39,"name":"uint256","nodeType":"ElementaryTypeName","src":"6431:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"private"},{"id":43,"nodeType":"VariableDeclaration","src":"6494:32:0","nodes":[],"constant":false,"documentation":{"id":41,"nodeType":"StructuredDocumentation","src":"6464:25:0","text":"@notice Allo treasury"},"mutability":"mutable","name":"treasury","nameLocation":"6518:8:0","scope":1390,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"},"typeName":{"id":42,"name":"address","nodeType":"ElementaryTypeName","src":"6494:15:0","stateMutability":"payable","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"visibility":"private"},{"id":47,"nodeType":"VariableDeclaration","src":"6567:26:0","nodes":[],"constant":false,"documentation":{"id":44,"nodeType":"StructuredDocumentation","src":"6533:29:0","text":"@notice Registry contract"},"mutability":"mutable","name":"registry","nameLocation":"6585:8:0","scope":1390,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"},"typeName":{"id":46,"nodeType":"UserDefinedTypeName","pathNode":{"id":45,"name":"IRegistry","nameLocations":["6567:9:0"],"nodeType":"IdentifierPath","referencedDeclaration":2802,"src":"6567:9:0"},"referencedDeclaration":2802,"src":"6567:9:0","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"}},"visibility":"private"},{"id":52,"nodeType":"VariableDeclaration","src":"6733:43:0","nodes":[],"constant":false,"documentation":{"id":48,"nodeType":"StructuredDocumentation","src":"6600:128:0","text":"@notice Maps the `msg.sender` to a `nonce` to prevent duplicates\n @dev 'msg.sender' -> 'nonce' for cloning strategies"},"mutability":"mutable","name":"_nonces","nameLocation":"6769:7:0","scope":1390,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"typeName":{"id":51,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":49,"name":"address","nodeType":"ElementaryTypeName","src":"6741:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"6733:27:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":50,"name":"uint256","nodeType":"ElementaryTypeName","src":"6752:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"private"},{"id":58,"nodeType":"VariableDeclaration","src":"6869:38:0","nodes":[],"constant":false,"documentation":{"id":53,"nodeType":"StructuredDocumentation","src":"6783:81:0","text":"@notice Maps the pool ID to the pool details\n @dev 'Pool.id' -> 'Pool'"},"mutability":"mutable","name":"pools","nameLocation":"6902:5:0","scope":1390,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Pool_$2319_storage_$","typeString":"mapping(uint256 => struct IAllo.Pool)"},"typeName":{"id":57,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":54,"name":"uint256","nodeType":"ElementaryTypeName","src":"6877:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"6869:24:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Pool_$2319_storage_$","typeString":"mapping(uint256 => struct IAllo.Pool)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":56,"nodeType":"UserDefinedTypeName","pathNode":{"id":55,"name":"Pool","nameLocations":["6888:4:0"],"nodeType":"IdentifierPath","referencedDeclaration":2319,"src":"6888:4:0"},"referencedDeclaration":2319,"src":"6888:4:0","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool"}}},"visibility":"private"},{"id":63,"nodeType":"VariableDeclaration","src":"7064:52:0","nodes":[],"constant":false,"documentation":{"id":59,"nodeType":"StructuredDocumentation","src":"6914:145:0","text":"@notice Returns a bool for whether a strategy is cloneable or not using the strategy address as the key\n @dev Strategy.address -> bool"},"mutability":"mutable","name":"cloneableStrategies","nameLocation":"7097:19:0","scope":1390,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"},"typeName":{"id":62,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":60,"name":"address","nodeType":"ElementaryTypeName","src":"7072:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"7064:24:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":61,"name":"bool","nodeType":"ElementaryTypeName","src":"7083:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}},"visibility":"private"},{"id":101,"nodeType":"FunctionDefinition","src":"7626:593:0","nodes":[],"body":{"id":100,"nodeType":"Block","src":"7819:400:0","nodes":[],"statements":[{"expression":{"arguments":[{"id":81,"name":"_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66,"src":"7907:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":80,"name":"_initializeOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3980,"src":"7890:16:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":82,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7890:24:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":83,"nodeType":"ExpressionStatement","src":"7890:24:0"},{"expression":{"arguments":[{"id":85,"name":"_registry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":68,"src":"7984:9:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":84,"name":"_updateRegistry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1205,"src":"7968:15:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":86,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7968:26:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":87,"nodeType":"ExpressionStatement","src":"7968:26:0"},{"expression":{"arguments":[{"id":89,"name":"_treasury","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70,"src":"8064:9:0","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":88,"name":"_updateTreasury","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1230,"src":"8048:15:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_payable_$returns$__$","typeString":"function (address payable)"}},"id":90,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8048:26:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":91,"nodeType":"ExpressionStatement","src":"8048:26:0"},{"expression":{"arguments":[{"id":93,"name":"_percentFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72,"src":"8137:11:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":92,"name":"_updatePercentFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1252,"src":"8119:17:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":94,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8119:30:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":95,"nodeType":"ExpressionStatement","src":"8119:30:0"},{"expression":{"arguments":[{"id":97,"name":"_baseFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74,"src":"8203:8:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":96,"name":"_updateBaseFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1267,"src":"8188:14:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":98,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8188:24:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":99,"nodeType":"ExpressionStatement","src":"8188:24:0"}]},"baseFunctions":[2404],"documentation":{"id":64,"nodeType":"StructuredDocumentation","src":"7257:364:0","text":"@notice Initializes the contract after an upgrade\n @dev During upgrade -> a higher version should be passed to reinitializer\n @param _owner The owner of allo\n @param _registry The address of the registry\n @param _treasury The address of the treasury\n @param _percentFee The percentage fee\n @param _baseFee The base fee"},"functionSelector":"a6b63eb8","implemented":true,"kind":"function","modifiers":[{"arguments":[{"hexValue":"31","id":77,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7816:1:0","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"id":78,"kind":"modifierInvocation","modifierName":{"id":76,"name":"reinitializer","nameLocations":["7802:13:0"],"nodeType":"IdentifierPath","referencedDeclaration":53126,"src":"7802:13:0"},"nodeType":"ModifierInvocation","src":"7802:16:0"}],"name":"initialize","nameLocation":"7635:10:0","parameters":{"id":75,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66,"mutability":"mutable","name":"_owner","nameLocation":"7663:6:0","nodeType":"VariableDeclaration","scope":101,"src":"7655:14:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":65,"name":"address","nodeType":"ElementaryTypeName","src":"7655:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":68,"mutability":"mutable","name":"_registry","nameLocation":"7687:9:0","nodeType":"VariableDeclaration","scope":101,"src":"7679:17:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67,"name":"address","nodeType":"ElementaryTypeName","src":"7679:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":70,"mutability":"mutable","name":"_treasury","nameLocation":"7722:9:0","nodeType":"VariableDeclaration","scope":101,"src":"7706:25:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"},"typeName":{"id":69,"name":"address","nodeType":"ElementaryTypeName","src":"7706:15:0","stateMutability":"payable","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"visibility":"internal"},{"constant":false,"id":72,"mutability":"mutable","name":"_percentFee","nameLocation":"7749:11:0","nodeType":"VariableDeclaration","scope":101,"src":"7741:19:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":71,"name":"uint256","nodeType":"ElementaryTypeName","src":"7741:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74,"mutability":"mutable","name":"_baseFee","nameLocation":"7778:8:0","nodeType":"VariableDeclaration","scope":101,"src":"7770:16:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73,"name":"uint256","nodeType":"ElementaryTypeName","src":"7770:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7645:147:0"},"returnParameters":{"id":79,"nodeType":"ParameterList","parameters":[],"src":"7819:0:0"},"scope":1390,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":112,"nodeType":"ModifierDefinition","src":"8573:100:0","nodes":[],"body":{"id":111,"nodeType":"Block","src":"8615:58:0","nodes":[],"statements":[{"expression":{"arguments":[{"id":107,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":104,"src":"8647:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":106,"name":"_checkOnlyPoolManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":693,"src":"8625:21:0","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$__$","typeString":"function (uint256) view"}},"id":108,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8625:30:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":109,"nodeType":"ExpressionStatement","src":"8625:30:0"},{"id":110,"nodeType":"PlaceholderStatement","src":"8665:1:0"}]},"documentation":{"id":102,"nodeType":"StructuredDocumentation","src":"8463:105:0","text":"@notice Reverts UNAUTHORIZED() if the caller is not a pool manager\n @param _poolId The pool id"},"name":"onlyPoolManager","nameLocation":"8582:15:0","parameters":{"id":105,"nodeType":"ParameterList","parameters":[{"constant":false,"id":104,"mutability":"mutable","name":"_poolId","nameLocation":"8606:7:0","nodeType":"VariableDeclaration","scope":112,"src":"8598:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":103,"name":"uint256","nodeType":"ElementaryTypeName","src":"8598:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8597:17:0"},"virtual":false,"visibility":"internal"},{"id":123,"nodeType":"ModifierDefinition","src":"8787:96:0","nodes":[],"body":{"id":122,"nodeType":"Block","src":"8827:56:0","nodes":[],"statements":[{"expression":{"arguments":[{"id":118,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":115,"src":"8857:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":117,"name":"_checkOnlyPoolAdmin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":710,"src":"8837:19:0","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$__$","typeString":"function (uint256) view"}},"id":119,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8837:28:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":120,"nodeType":"ExpressionStatement","src":"8837:28:0"},{"id":121,"nodeType":"PlaceholderStatement","src":"8875:1:0"}]},"documentation":{"id":113,"nodeType":"StructuredDocumentation","src":"8679:103:0","text":"@notice Reverts UNAUTHORIZED() if the caller is not a pool admin\n @param _poolId The pool id"},"name":"onlyPoolAdmin","nameLocation":"8796:13:0","parameters":{"id":116,"nodeType":"ParameterList","parameters":[{"constant":false,"id":115,"mutability":"mutable","name":"_poolId","nameLocation":"8818:7:0","nodeType":"VariableDeclaration","scope":123,"src":"8810:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":114,"name":"uint256","nodeType":"ElementaryTypeName","src":"8810:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8809:17:0"},"virtual":false,"visibility":"internal"},{"id":175,"nodeType":"FunctionDefinition","src":"10281:884:0","nodes":[],"body":{"id":174,"nodeType":"Block","src":"10582:583:0","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":150,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":145,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":128,"src":"10687:9:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":148,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10708:1:0","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":147,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10700:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":146,"name":"address","nodeType":"ElementaryTypeName","src":"10700:7:0","typeDescriptions":{}}},"id":149,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10700:10:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"10687:23:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":154,"nodeType":"IfStatement","src":"10683:50:0","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":151,"name":"ZERO_ADDRESS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3020,"src":"10719:12:0","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":152,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10719:14:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":153,"nodeType":"RevertStatement","src":"10712:21:0"}},{"condition":{"arguments":[{"id":156,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":128,"src":"10919:9:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":155,"name":"_isCloneableStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1135,"src":"10898:20:0","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":157,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10898:31:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":161,"nodeType":"IfStatement","src":"10894:66:0","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":158,"name":"IS_APPROVED_STRATEGY","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3038,"src":"10938:20:0","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":159,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10938:22:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":160,"nodeType":"RevertStatement","src":"10931:29:0"}},{"expression":{"arguments":[{"id":163,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":126,"src":"11067:10:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"id":165,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":128,"src":"11089:9:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":164,"name":"IStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2969,"src":"11079:9:0","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IStrategy_$2969_$","typeString":"type(contract IStrategy)"}},"id":166,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11079:20:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}},{"id":167,"name":"_initStrategyData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":130,"src":"11101:17:0","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":168,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":132,"src":"11120:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":169,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134,"src":"11128:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":170,"name":"_metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":137,"src":"11137:9:0","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}},{"id":171,"name":"_managers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":140,"src":"11148:9:0","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"},{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}],"id":162,"name":"_createPool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":925,"src":"11055:11:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_contract$_IStrategy_$2969_$_t_bytes_memory_ptr_$_t_address_$_t_uint256_$_t_struct$_Metadata_$3098_memory_ptr_$_t_array$_t_address_$dyn_memory_ptr_$returns$_t_uint256_$","typeString":"function (bytes32,contract IStrategy,bytes memory,address,uint256,struct Metadata memory,address[] memory) returns (uint256)"}},"id":172,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11055:103:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":144,"id":173,"nodeType":"Return","src":"11048:110:0"}]},"documentation":{"id":124,"nodeType":"StructuredDocumentation","src":"9025:1251:0","text":"@notice Creates a new pool (with a custom strategy)\n @dev 'msg.sender' must be a member or owner of a profile to create a pool with or without a custom strategy, The encoded data\n will be specific to a given strategy requirements, reference the strategy implementation of 'initialize()'. The strategy\n address passed must not be a cloneable strategy. The strategy address passed must not be the zero address. 'msg.sender' must\n be a member or owner of the profile id passed as '_profileId'.\n @param _profileId The 'profileId' of the registry profile, used to check if 'msg.sender' is a member or owner of the profile\n @param _strategy The address of the deployed custom strategy\n @param _initStrategyData The data to initialize the strategy\n @param _token The address of the token you want to use in your pool\n @param _amount The amount of the token you want to deposit into the pool on initialization\n @param _metadata The 'Metadata' of the pool, this uses our 'Meatdata.sol' struct (consistent throughout the protocol)\n @param _managers The managers of the pool, and can be added/removed later by the pool admin\n @return poolId The ID of the pool"},"functionSelector":"e1007d4a","implemented":true,"kind":"function","modifiers":[],"name":"createPoolWithCustomStrategy","nameLocation":"10290:28:0","parameters":{"id":141,"nodeType":"ParameterList","parameters":[{"constant":false,"id":126,"mutability":"mutable","name":"_profileId","nameLocation":"10336:10:0","nodeType":"VariableDeclaration","scope":175,"src":"10328:18:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":125,"name":"bytes32","nodeType":"ElementaryTypeName","src":"10328:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":128,"mutability":"mutable","name":"_strategy","nameLocation":"10364:9:0","nodeType":"VariableDeclaration","scope":175,"src":"10356:17:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":127,"name":"address","nodeType":"ElementaryTypeName","src":"10356:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":130,"mutability":"mutable","name":"_initStrategyData","nameLocation":"10396:17:0","nodeType":"VariableDeclaration","scope":175,"src":"10383:30:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":129,"name":"bytes","nodeType":"ElementaryTypeName","src":"10383:5:0","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":132,"mutability":"mutable","name":"_token","nameLocation":"10431:6:0","nodeType":"VariableDeclaration","scope":175,"src":"10423:14:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":131,"name":"address","nodeType":"ElementaryTypeName","src":"10423:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":134,"mutability":"mutable","name":"_amount","nameLocation":"10455:7:0","nodeType":"VariableDeclaration","scope":175,"src":"10447:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":133,"name":"uint256","nodeType":"ElementaryTypeName","src":"10447:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":137,"mutability":"mutable","name":"_metadata","nameLocation":"10488:9:0","nodeType":"VariableDeclaration","scope":175,"src":"10472:25:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata"},"typeName":{"id":136,"nodeType":"UserDefinedTypeName","pathNode":{"id":135,"name":"Metadata","nameLocations":["10472:8:0"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"10472:8:0"},"referencedDeclaration":3098,"src":"10472:8:0","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"},{"constant":false,"id":140,"mutability":"mutable","name":"_managers","nameLocation":"10524:9:0","nodeType":"VariableDeclaration","scope":175,"src":"10507:26:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":138,"name":"address","nodeType":"ElementaryTypeName","src":"10507:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":139,"nodeType":"ArrayTypeName","src":"10507:9:0","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"10318:221:0"},"returnParameters":{"id":144,"nodeType":"ParameterList","parameters":[{"constant":false,"id":143,"mutability":"mutable","name":"poolId","nameLocation":"10574:6:0","nodeType":"VariableDeclaration","scope":175,"src":"10566:14:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":142,"name":"uint256","nodeType":"ElementaryTypeName","src":"10566:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10565:16:0"},"scope":1390,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":229,"nodeType":"FunctionDefinition","src":"11971:701:0","nodes":[],"body":{"id":228,"nodeType":"Block","src":"12267:405:0","nodes":[],"statements":[{"condition":{"id":202,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"12281:32:0","subExpression":{"arguments":[{"id":200,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":180,"src":"12303:9:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":199,"name":"_isCloneableStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1135,"src":"12282:20:0","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":201,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12282:31:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":207,"nodeType":"IfStatement","src":"12277:93:0","trueBody":{"id":206,"nodeType":"Block","src":"12315:55:0","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":203,"name":"NOT_APPROVED_STRATEGY","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3035,"src":"12336:21:0","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":204,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12336:23:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":205,"nodeType":"RevertStatement","src":"12329:30:0"}]}},{"expression":{"arguments":[{"id":209,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":178,"src":"12451:10:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"arguments":[{"id":213,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":180,"src":"12503:9:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":218,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"12514:21:0","subExpression":{"baseExpression":{"id":214,"name":"_nonces","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52,"src":"12514:7:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":217,"indexExpression":{"expression":{"id":215,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"12522:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":216,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12526:6:0","memberName":"sender","nodeType":"MemberAccess","src":"12522:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"12514:19:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":211,"name":"Clone","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3002,"src":"12485:5:0","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Clone_$3002_$","typeString":"type(library Clone)"}},"id":212,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12491:11:0","memberName":"createClone","nodeType":"MemberAccess","referencedDeclaration":3001,"src":"12485:17:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_address_$","typeString":"function (address,uint256) returns (address)"}},"id":219,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12485:51:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":210,"name":"IStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2969,"src":"12475:9:0","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IStrategy_$2969_$","typeString":"type(contract IStrategy)"}},"id":220,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12475:62:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}},{"id":221,"name":"_initStrategyData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":182,"src":"12551:17:0","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":222,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":184,"src":"12582:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":223,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":186,"src":"12602:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":224,"name":"_metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":189,"src":"12623:9:0","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}},{"id":225,"name":"_managers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":192,"src":"12646:9:0","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"},{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}],"id":208,"name":"_createPool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":925,"src":"12426:11:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_contract$_IStrategy_$2969_$_t_bytes_memory_ptr_$_t_address_$_t_uint256_$_t_struct$_Metadata_$3098_memory_ptr_$_t_array$_t_address_$dyn_memory_ptr_$returns$_t_uint256_$","typeString":"function (bytes32,contract IStrategy,bytes memory,address,uint256,struct Metadata memory,address[] memory) returns (uint256)"}},"id":226,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12426:239:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":198,"id":227,"nodeType":"Return","src":"12419:246:0"}]},"documentation":{"id":176,"nodeType":"StructuredDocumentation","src":"11171:795:0","text":"@notice Creates a new pool (by cloning a cloneable strategies).\n @dev 'msg.sender' must be owner or member of the profile id passed as '_profileId'.\n @param _profileId The ID of the registry profile, used to check if 'msg.sender' is a member or owner of the profile\n @param _strategy The address of the strategy contract the pool will use.\n @param _initStrategyData The data to initialize the strategy\n @param _token The address of the token\n @param _amount The amount of the token\n @param _metadata The metadata of the pool\n @param _managers The managers of the pool\n @custom:initstrategydata The encoded data will be specific to a given strategy requirements,\n reference the strategy implementation of 'initialize()'"},"functionSelector":"77da8caf","implemented":true,"kind":"function","modifiers":[{"id":195,"kind":"modifierInvocation","modifierName":{"id":194,"name":"nonReentrant","nameLocations":["12229:12:0"],"nodeType":"IdentifierPath","referencedDeclaration":53236,"src":"12229:12:0"},"nodeType":"ModifierInvocation","src":"12229:12:0"}],"name":"createPool","nameLocation":"11980:10:0","parameters":{"id":193,"nodeType":"ParameterList","parameters":[{"constant":false,"id":178,"mutability":"mutable","name":"_profileId","nameLocation":"12008:10:0","nodeType":"VariableDeclaration","scope":229,"src":"12000:18:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":177,"name":"bytes32","nodeType":"ElementaryTypeName","src":"12000:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":180,"mutability":"mutable","name":"_strategy","nameLocation":"12036:9:0","nodeType":"VariableDeclaration","scope":229,"src":"12028:17:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":179,"name":"address","nodeType":"ElementaryTypeName","src":"12028:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":182,"mutability":"mutable","name":"_initStrategyData","nameLocation":"12068:17:0","nodeType":"VariableDeclaration","scope":229,"src":"12055:30:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":181,"name":"bytes","nodeType":"ElementaryTypeName","src":"12055:5:0","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":184,"mutability":"mutable","name":"_token","nameLocation":"12103:6:0","nodeType":"VariableDeclaration","scope":229,"src":"12095:14:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":183,"name":"address","nodeType":"ElementaryTypeName","src":"12095:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":186,"mutability":"mutable","name":"_amount","nameLocation":"12127:7:0","nodeType":"VariableDeclaration","scope":229,"src":"12119:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":185,"name":"uint256","nodeType":"ElementaryTypeName","src":"12119:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":189,"mutability":"mutable","name":"_metadata","nameLocation":"12160:9:0","nodeType":"VariableDeclaration","scope":229,"src":"12144:25:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata"},"typeName":{"id":188,"nodeType":"UserDefinedTypeName","pathNode":{"id":187,"name":"Metadata","nameLocations":["12144:8:0"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"12144:8:0"},"referencedDeclaration":3098,"src":"12144:8:0","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"},{"constant":false,"id":192,"mutability":"mutable","name":"_managers","nameLocation":"12196:9:0","nodeType":"VariableDeclaration","scope":229,"src":"12179:26:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":190,"name":"address","nodeType":"ElementaryTypeName","src":"12179:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":191,"nodeType":"ArrayTypeName","src":"12179:9:0","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"11990:221:0"},"returnParameters":{"id":198,"nodeType":"ParameterList","parameters":[{"constant":false,"id":197,"mutability":"mutable","name":"poolId","nameLocation":"12259:6:0","nodeType":"VariableDeclaration","scope":229,"src":"12251:14:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":196,"name":"uint256","nodeType":"ElementaryTypeName","src":"12251:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12250:16:0"},"scope":1390,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":260,"nodeType":"FunctionDefinition","src":"12894:247:0","nodes":[],"body":{"id":259,"nodeType":"Block","src":"13000:141:0","nodes":[],"statements":[{"assignments":[243],"declarations":[{"constant":false,"id":243,"mutability":"mutable","name":"pool","nameLocation":"13023:4:0","nodeType":"VariableDeclaration","scope":259,"src":"13010:17:0","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool"},"typeName":{"id":242,"nodeType":"UserDefinedTypeName","pathNode":{"id":241,"name":"Pool","nameLocations":["13010:4:0"],"nodeType":"IdentifierPath","referencedDeclaration":2319,"src":"13010:4:0"},"referencedDeclaration":2319,"src":"13010:4:0","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool"}},"visibility":"internal"}],"id":247,"initialValue":{"baseExpression":{"id":244,"name":"pools","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58,"src":"13030:5:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Pool_$2319_storage_$","typeString":"mapping(uint256 => struct IAllo.Pool storage ref)"}},"id":246,"indexExpression":{"id":245,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":232,"src":"13036:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"13030:14:0","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage","typeString":"struct IAllo.Pool storage ref"}},"nodeType":"VariableDeclarationStatement","src":"13010:34:0"},{"expression":{"id":252,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":248,"name":"pool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":243,"src":"13054:4:0","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool storage pointer"}},"id":250,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"13059:8:0","memberName":"metadata","nodeType":"MemberAccess","referencedDeclaration":2314,"src":"13054:13:0","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage","typeString":"struct Metadata storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":251,"name":"_metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":235,"src":"13070:9:0","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}},"src":"13054:25:0","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage","typeString":"struct Metadata storage ref"}},"id":253,"nodeType":"ExpressionStatement","src":"13054:25:0"},{"eventCall":{"arguments":[{"id":255,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":232,"src":"13115:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":256,"name":"_metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":235,"src":"13124:9:0","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}],"id":254,"name":"PoolMetadataUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2344,"src":"13095:19:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_struct$_Metadata_$3098_memory_ptr_$returns$__$","typeString":"function (uint256,struct Metadata memory)"}},"id":257,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13095:39:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":258,"nodeType":"EmitStatement","src":"13090:44:0"}]},"baseFunctions":[2413],"documentation":{"id":230,"nodeType":"StructuredDocumentation","src":"12678:211:0","text":"@notice Update pool metadata\n @dev 'msg.sender' must be a pool manager. Emits 'PoolMetadataUpdated()' event.\n @param _poolId ID of the pool\n @param _metadata The new metadata of the pool"},"functionSelector":"5f9ca138","implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":238,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":232,"src":"12991:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":239,"kind":"modifierInvocation","modifierName":{"id":237,"name":"onlyPoolManager","nameLocations":["12975:15:0"],"nodeType":"IdentifierPath","referencedDeclaration":112,"src":"12975:15:0"},"nodeType":"ModifierInvocation","src":"12975:24:0"}],"name":"updatePoolMetadata","nameLocation":"12903:18:0","parameters":{"id":236,"nodeType":"ParameterList","parameters":[{"constant":false,"id":232,"mutability":"mutable","name":"_poolId","nameLocation":"12930:7:0","nodeType":"VariableDeclaration","scope":260,"src":"12922:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":231,"name":"uint256","nodeType":"ElementaryTypeName","src":"12922:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":235,"mutability":"mutable","name":"_metadata","nameLocation":"12955:9:0","nodeType":"VariableDeclaration","scope":260,"src":"12939:25:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata"},"typeName":{"id":234,"nodeType":"UserDefinedTypeName","pathNode":{"id":233,"name":"Metadata","nameLocations":["12939:8:0"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"12939:8:0"},"referencedDeclaration":3098,"src":"12939:8:0","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"}],"src":"12921:44:0"},"returnParameters":{"id":240,"nodeType":"ParameterList","parameters":[],"src":"13000:0:0"},"scope":1390,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":273,"nodeType":"FunctionDefinition","src":"13330:105:0","nodes":[],"body":{"id":272,"nodeType":"Block","src":"13392:43:0","nodes":[],"statements":[{"expression":{"arguments":[{"id":269,"name":"_registry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":263,"src":"13418:9:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":268,"name":"_updateRegistry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1205,"src":"13402:15:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":270,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13402:26:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":271,"nodeType":"ExpressionStatement","src":"13402:26:0"}]},"baseFunctions":[2419],"documentation":{"id":261,"nodeType":"StructuredDocumentation","src":"13147:178:0","text":"@notice Updates the registry address.\n @dev Use this to update the registry address. 'msg.sender' must be Allo owner.\n @param _registry The new registry address"},"functionSelector":"1a5da6c8","implemented":true,"kind":"function","modifiers":[{"id":266,"kind":"modifierInvocation","modifierName":{"id":265,"name":"onlyOwner","nameLocations":["13382:9:0"],"nodeType":"IdentifierPath","referencedDeclaration":4094,"src":"13382:9:0"},"nodeType":"ModifierInvocation","src":"13382:9:0"}],"name":"updateRegistry","nameLocation":"13339:14:0","parameters":{"id":264,"nodeType":"ParameterList","parameters":[{"constant":false,"id":263,"mutability":"mutable","name":"_registry","nameLocation":"13362:9:0","nodeType":"VariableDeclaration","scope":273,"src":"13354:17:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":262,"name":"address","nodeType":"ElementaryTypeName","src":"13354:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"13353:19:0"},"returnParameters":{"id":267,"nodeType":"ParameterList","parameters":[],"src":"13392:0:0"},"scope":1390,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":286,"nodeType":"FunctionDefinition","src":"13624:113:0","nodes":[],"body":{"id":285,"nodeType":"Block","src":"13694:43:0","nodes":[],"statements":[{"expression":{"arguments":[{"id":282,"name":"_treasury","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":276,"src":"13720:9:0","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":281,"name":"_updateTreasury","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1230,"src":"13704:15:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_payable_$returns$__$","typeString":"function (address payable)"}},"id":283,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13704:26:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":284,"nodeType":"ExpressionStatement","src":"13704:26:0"}]},"baseFunctions":[2425],"documentation":{"id":274,"nodeType":"StructuredDocumentation","src":"13441:178:0","text":"@notice Updates the treasury address.\n @dev Use this to update the treasury address. 'msg.sender' must be Allo owner.\n @param _treasury The new treasury address"},"functionSelector":"7f51bb1f","implemented":true,"kind":"function","modifiers":[{"id":279,"kind":"modifierInvocation","modifierName":{"id":278,"name":"onlyOwner","nameLocations":["13684:9:0"],"nodeType":"IdentifierPath","referencedDeclaration":4094,"src":"13684:9:0"},"nodeType":"ModifierInvocation","src":"13684:9:0"}],"name":"updateTreasury","nameLocation":"13633:14:0","parameters":{"id":277,"nodeType":"ParameterList","parameters":[{"constant":false,"id":276,"mutability":"mutable","name":"_treasury","nameLocation":"13664:9:0","nodeType":"VariableDeclaration","scope":286,"src":"13648:25:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"},"typeName":{"id":275,"name":"address","nodeType":"ElementaryTypeName","src":"13648:15:0","stateMutability":"payable","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"visibility":"internal"}],"src":"13647:27:0"},"returnParameters":{"id":280,"nodeType":"ParameterList","parameters":[],"src":"13694:0:0"},"scope":1390,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":299,"nodeType":"FunctionDefinition","src":"13911:113:0","nodes":[],"body":{"id":298,"nodeType":"Block","src":"13977:47:0","nodes":[],"statements":[{"expression":{"arguments":[{"id":295,"name":"_percentFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":289,"src":"14005:11:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":294,"name":"_updatePercentFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1252,"src":"13987:17:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":296,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13987:30:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":297,"nodeType":"ExpressionStatement","src":"13987:30:0"}]},"baseFunctions":[2431],"documentation":{"id":287,"nodeType":"StructuredDocumentation","src":"13743:163:0","text":"@notice Updates the fee percentage.\n @dev Use this to update the fee percentage. 'msg.sender' must be Allo owner.\n @param _percentFee The new fee"},"functionSelector":"f54fc4a0","implemented":true,"kind":"function","modifiers":[{"id":292,"kind":"modifierInvocation","modifierName":{"id":291,"name":"onlyOwner","nameLocations":["13967:9:0"],"nodeType":"IdentifierPath","referencedDeclaration":4094,"src":"13967:9:0"},"nodeType":"ModifierInvocation","src":"13967:9:0"}],"name":"updatePercentFee","nameLocation":"13920:16:0","parameters":{"id":290,"nodeType":"ParameterList","parameters":[{"constant":false,"id":289,"mutability":"mutable","name":"_percentFee","nameLocation":"13945:11:0","nodeType":"VariableDeclaration","scope":299,"src":"13937:19:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":288,"name":"uint256","nodeType":"ElementaryTypeName","src":"13937:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13936:21:0"},"returnParameters":{"id":293,"nodeType":"ParameterList","parameters":[],"src":"13977:0:0"},"scope":1390,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":312,"nodeType":"FunctionDefinition","src":"14188:101:0","nodes":[],"body":{"id":311,"nodeType":"Block","src":"14248:41:0","nodes":[],"statements":[{"expression":{"arguments":[{"id":308,"name":"_baseFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":302,"src":"14273:8:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":307,"name":"_updateBaseFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1267,"src":"14258:14:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":309,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14258:24:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":310,"nodeType":"ExpressionStatement","src":"14258:24:0"}]},"baseFunctions":[2437],"documentation":{"id":300,"nodeType":"StructuredDocumentation","src":"14030:153:0","text":"@notice Updates the base fee.\n @dev Use this to update the base fee. 'msg.sender' must be Allo owner.\n @param _baseFee The new base fee"},"functionSelector":"8e690186","implemented":true,"kind":"function","modifiers":[{"id":305,"kind":"modifierInvocation","modifierName":{"id":304,"name":"onlyOwner","nameLocations":["14238:9:0"],"nodeType":"IdentifierPath","referencedDeclaration":4094,"src":"14238:9:0"},"nodeType":"ModifierInvocation","src":"14238:9:0"}],"name":"updateBaseFee","nameLocation":"14197:13:0","parameters":{"id":303,"nodeType":"ParameterList","parameters":[{"constant":false,"id":302,"mutability":"mutable","name":"_baseFee","nameLocation":"14219:8:0","nodeType":"VariableDeclaration","scope":312,"src":"14211:16:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":301,"name":"uint256","nodeType":"ElementaryTypeName","src":"14211:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"14210:18:0"},"returnParameters":{"id":306,"nodeType":"ParameterList","parameters":[],"src":"14248:0:0"},"scope":1390,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":341,"nodeType":"FunctionDefinition","src":"14481:229:0","nodes":[],"body":{"id":340,"nodeType":"Block","src":"14553:157:0","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":325,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":320,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":315,"src":"14567:9:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":323,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14588:1:0","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":322,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"14580:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":321,"name":"address","nodeType":"ElementaryTypeName","src":"14580:7:0","typeDescriptions":{}}},"id":324,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14580:10:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"14567:23:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":329,"nodeType":"IfStatement","src":"14563:50:0","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":326,"name":"ZERO_ADDRESS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3020,"src":"14599:12:0","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":327,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14599:14:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":328,"nodeType":"RevertStatement","src":"14592:21:0"}},{"expression":{"id":334,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":330,"name":"cloneableStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63,"src":"14624:19:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":332,"indexExpression":{"id":331,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":315,"src":"14644:9:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"14624:30:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":333,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"14657:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"14624:37:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":335,"nodeType":"ExpressionStatement","src":"14624:37:0"},{"eventCall":{"arguments":[{"id":337,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":315,"src":"14693:9:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":336,"name":"StrategyApproved","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2385,"src":"14676:16:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":338,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14676:27:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":339,"nodeType":"EmitStatement","src":"14671:32:0"}]},"baseFunctions":[2443],"documentation":{"id":313,"nodeType":"StructuredDocumentation","src":"14295:181:0","text":"@notice Add a strategy to the allowlist.\n @dev Emits the 'StrategyApproved()' event. 'msg.sender' must be Allo owner.\n @param _strategy The address of the strategy"},"functionSelector":"41bba0b4","implemented":true,"kind":"function","modifiers":[{"id":318,"kind":"modifierInvocation","modifierName":{"id":317,"name":"onlyOwner","nameLocations":["14543:9:0"],"nodeType":"IdentifierPath","referencedDeclaration":4094,"src":"14543:9:0"},"nodeType":"ModifierInvocation","src":"14543:9:0"}],"name":"addToCloneableStrategies","nameLocation":"14490:24:0","parameters":{"id":316,"nodeType":"ParameterList","parameters":[{"constant":false,"id":315,"mutability":"mutable","name":"_strategy","nameLocation":"14523:9:0","nodeType":"VariableDeclaration","scope":341,"src":"14515:17:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":314,"name":"address","nodeType":"ElementaryTypeName","src":"14515:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"14514:19:0"},"returnParameters":{"id":319,"nodeType":"ParameterList","parameters":[],"src":"14553:0:0"},"scope":1390,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":360,"nodeType":"FunctionDefinition","src":"14900:288:0","nodes":[],"body":{"id":359,"nodeType":"Block","src":"14977:211:0","nodes":[],"statements":[{"expression":{"id":353,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":349,"name":"cloneableStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63,"src":"15059:19:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":351,"indexExpression":{"id":350,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":344,"src":"15079:9:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"15059:30:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"66616c7365","id":352,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"15092:5:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"src":"15059:38:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":354,"nodeType":"ExpressionStatement","src":"15059:38:0"},{"eventCall":{"arguments":[{"id":356,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":344,"src":"15171:9:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":355,"name":"StrategyRemoved","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2390,"src":"15155:15:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":357,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15155:26:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":358,"nodeType":"EmitStatement","src":"15150:31:0"}]},"baseFunctions":[2449],"documentation":{"id":342,"nodeType":"StructuredDocumentation","src":"14716:179:0","text":"@notice Remove a strategy from the allowlist\n @dev Emits 'StrategyRemoved()' event. 'msg.sender must be Allo owner.\n @param _strategy The address of the strategy"},"functionSelector":"031e2fa1","implemented":true,"kind":"function","modifiers":[{"id":347,"kind":"modifierInvocation","modifierName":{"id":346,"name":"onlyOwner","nameLocations":["14967:9:0"],"nodeType":"IdentifierPath","referencedDeclaration":4094,"src":"14967:9:0"},"nodeType":"ModifierInvocation","src":"14967:9:0"}],"name":"removeFromCloneableStrategies","nameLocation":"14909:29:0","parameters":{"id":345,"nodeType":"ParameterList","parameters":[{"constant":false,"id":344,"mutability":"mutable","name":"_strategy","nameLocation":"14947:9:0","nodeType":"VariableDeclaration","scope":360,"src":"14939:17:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":343,"name":"address","nodeType":"ElementaryTypeName","src":"14939:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"14938:19:0"},"returnParameters":{"id":348,"nodeType":"ParameterList","parameters":[],"src":"14977:0:0"},"scope":1390,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":390,"nodeType":"FunctionDefinition","src":"15387:358:0","nodes":[],"body":{"id":389,"nodeType":"Block","src":"15478:267:0","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":376,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":371,"name":"_manager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":365,"src":"15568:8:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":374,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15588:1:0","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":373,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"15580:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":372,"name":"address","nodeType":"ElementaryTypeName","src":"15580:7:0","typeDescriptions":{}}},"id":375,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15580:10:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"15568:22:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":380,"nodeType":"IfStatement","src":"15564:49:0","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":377,"name":"ZERO_ADDRESS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3020,"src":"15599:12:0","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":378,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15599:14:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":379,"nodeType":"RevertStatement","src":"15592:21:0"}},{"expression":{"arguments":[{"expression":{"baseExpression":{"id":382,"name":"pools","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58,"src":"15701:5:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Pool_$2319_storage_$","typeString":"mapping(uint256 => struct IAllo.Pool storage ref)"}},"id":384,"indexExpression":{"id":383,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":363,"src":"15707:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15701:14:0","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage","typeString":"struct IAllo.Pool storage ref"}},"id":385,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15716:11:0","memberName":"managerRole","nodeType":"MemberAccess","referencedDeclaration":2316,"src":"15701:26:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":386,"name":"_manager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":365,"src":"15729:8:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":381,"name":"_grantRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52699,"src":"15690:10:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$","typeString":"function (bytes32,address)"}},"id":387,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15690:48:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":388,"nodeType":"ExpressionStatement","src":"15690:48:0"}]},"baseFunctions":[2457],"documentation":{"id":361,"nodeType":"StructuredDocumentation","src":"15194:188:0","text":"@notice Add a pool manager\n @dev Emits 'RoleGranted()' event. 'msg.sender' must be a pool admin.\n @param _poolId ID of the pool\n @param _manager The address to add"},"functionSelector":"2cf682b0","implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":368,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":363,"src":"15469:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":369,"kind":"modifierInvocation","modifierName":{"id":367,"name":"onlyPoolAdmin","nameLocations":["15455:13:0"],"nodeType":"IdentifierPath","referencedDeclaration":123,"src":"15455:13:0"},"nodeType":"ModifierInvocation","src":"15455:22:0"}],"name":"addPoolManager","nameLocation":"15396:14:0","parameters":{"id":366,"nodeType":"ParameterList","parameters":[{"constant":false,"id":363,"mutability":"mutable","name":"_poolId","nameLocation":"15419:7:0","nodeType":"VariableDeclaration","scope":390,"src":"15411:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":362,"name":"uint256","nodeType":"ElementaryTypeName","src":"15411:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":365,"mutability":"mutable","name":"_manager","nameLocation":"15436:8:0","nodeType":"VariableDeclaration","scope":390,"src":"15428:16:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":364,"name":"address","nodeType":"ElementaryTypeName","src":"15428:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"15410:35:0"},"returnParameters":{"id":370,"nodeType":"ParameterList","parameters":[],"src":"15478:0:0"},"scope":1390,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":410,"nodeType":"FunctionDefinition","src":"15950:160:0","nodes":[],"body":{"id":409,"nodeType":"Block","src":"16044:66:0","nodes":[],"statements":[{"expression":{"arguments":[{"expression":{"baseExpression":{"id":402,"name":"pools","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58,"src":"16066:5:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Pool_$2319_storage_$","typeString":"mapping(uint256 => struct IAllo.Pool storage ref)"}},"id":404,"indexExpression":{"id":403,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":393,"src":"16072:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"16066:14:0","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage","typeString":"struct IAllo.Pool storage ref"}},"id":405,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"16081:11:0","memberName":"managerRole","nodeType":"MemberAccess","referencedDeclaration":2316,"src":"16066:26:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":406,"name":"_manager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":395,"src":"16094:8:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":401,"name":"_revokeRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52730,"src":"16054:11:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$","typeString":"function (bytes32,address)"}},"id":407,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16054:49:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":408,"nodeType":"ExpressionStatement","src":"16054:49:0"}]},"baseFunctions":[2465],"documentation":{"id":391,"nodeType":"StructuredDocumentation","src":"15751:194:0","text":"@notice Remove a pool manager\n @dev Emits 'RoleRevoked()' event. 'msg.sender' must be a pool admin.\n @param _poolId ID of the pool\n @param _manager The address to remove"},"functionSelector":"7f5a70bd","implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":398,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":393,"src":"16035:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":399,"kind":"modifierInvocation","modifierName":{"id":397,"name":"onlyPoolAdmin","nameLocations":["16021:13:0"],"nodeType":"IdentifierPath","referencedDeclaration":123,"src":"16021:13:0"},"nodeType":"ModifierInvocation","src":"16021:22:0"}],"name":"removePoolManager","nameLocation":"15959:17:0","parameters":{"id":396,"nodeType":"ParameterList","parameters":[{"constant":false,"id":393,"mutability":"mutable","name":"_poolId","nameLocation":"15985:7:0","nodeType":"VariableDeclaration","scope":410,"src":"15977:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":392,"name":"uint256","nodeType":"ElementaryTypeName","src":"15977:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":395,"mutability":"mutable","name":"_manager","nameLocation":"16002:8:0","nodeType":"VariableDeclaration","scope":410,"src":"15994:16:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":394,"name":"address","nodeType":"ElementaryTypeName","src":"15994:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"15976:35:0"},"returnParameters":{"id":400,"nodeType":"ParameterList","parameters":[],"src":"16044:0:0"},"scope":1390,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":448,"nodeType":"FunctionDefinition","src":"16308:430:0","nodes":[],"body":{"id":447,"nodeType":"Block","src":"16385:353:0","nodes":[],"statements":[{"assignments":[421],"declarations":[{"constant":false,"id":421,"mutability":"mutable","name":"amount","nameLocation":"16514:6:0","nodeType":"VariableDeclaration","scope":447,"src":"16506:14:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":420,"name":"uint256","nodeType":"ElementaryTypeName","src":"16506:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":440,"initialValue":{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":424,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":422,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":413,"src":"16523:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":423,"name":"NATIVE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3105,"src":"16533:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"16523:16:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"arguments":[{"arguments":[{"id":436,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"16610:4:0","typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}],"id":435,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16602:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":434,"name":"address","nodeType":"ElementaryTypeName","src":"16602:7:0","typeDescriptions":{}}},"id":437,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16602:13:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"arguments":[{"id":431,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":413,"src":"16584:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":430,"name":"IERC20Upgradeable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53354,"src":"16566:17:0","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IERC20Upgradeable_$53354_$","typeString":"type(contract IERC20Upgradeable)"}},"id":432,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16566:25:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IERC20Upgradeable_$53354","typeString":"contract IERC20Upgradeable"}},"id":433,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16592:9:0","memberName":"balanceOf","nodeType":"MemberAccess","referencedDeclaration":53311,"src":"16566:35:0","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":438,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16566:50:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":439,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"16523:93:0","trueExpression":{"expression":{"arguments":[{"id":427,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"16550:4:0","typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}],"id":426,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16542:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":425,"name":"address","nodeType":"ElementaryTypeName","src":"16542:7:0","typeDescriptions":{}}},"id":428,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16542:13:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":429,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16556:7:0","memberName":"balance","nodeType":"MemberAccess","src":"16542:21:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"16506:110:0"},{"expression":{"arguments":[{"id":442,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":413,"src":"16704:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":443,"name":"_recipient","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":415,"src":"16712:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":444,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":421,"src":"16724:6:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":441,"name":"_transferAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3287,"src":"16688:15:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":445,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16688:43:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":446,"nodeType":"ExpressionStatement","src":"16688:43:0"}]},"baseFunctions":[2473],"documentation":{"id":411,"nodeType":"StructuredDocumentation","src":"16116:187:0","text":"@notice Transfer the funds recovered to the recipient\n @dev 'msg.sender' must be Allo owner\n @param _token The token to transfer\n @param _recipient The recipient"},"functionSelector":"24ae6a27","implemented":true,"kind":"function","modifiers":[{"id":418,"kind":"modifierInvocation","modifierName":{"id":417,"name":"onlyOwner","nameLocations":["16375:9:0"],"nodeType":"IdentifierPath","referencedDeclaration":4094,"src":"16375:9:0"},"nodeType":"ModifierInvocation","src":"16375:9:0"}],"name":"recoverFunds","nameLocation":"16317:12:0","parameters":{"id":416,"nodeType":"ParameterList","parameters":[{"constant":false,"id":413,"mutability":"mutable","name":"_token","nameLocation":"16338:6:0","nodeType":"VariableDeclaration","scope":448,"src":"16330:14:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":412,"name":"address","nodeType":"ElementaryTypeName","src":"16330:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":415,"mutability":"mutable","name":"_recipient","nameLocation":"16354:10:0","nodeType":"VariableDeclaration","scope":448,"src":"16346:18:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":414,"name":"address","nodeType":"ElementaryTypeName","src":"16346:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"16329:36:0"},"returnParameters":{"id":419,"nodeType":"ParameterList","parameters":[],"src":"16385:0:0"},"scope":1390,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":474,"nodeType":"FunctionDefinition","src":"17298:276:0","nodes":[],"body":{"id":473,"nodeType":"Block","src":"17410:164:0","nodes":[],"statements":[{"expression":{"arguments":[{"id":468,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":453,"src":"17549:5:0","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"expression":{"id":469,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"17556:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":470,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17560:6:0","memberName":"sender","nodeType":"MemberAccess","src":"17556:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"expression":{"baseExpression":{"id":460,"name":"pools","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58,"src":"17489:5:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Pool_$2319_storage_$","typeString":"mapping(uint256 => struct IAllo.Pool storage ref)"}},"id":462,"indexExpression":{"id":461,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":451,"src":"17495:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"17489:14:0","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage","typeString":"struct IAllo.Pool storage ref"}},"id":463,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"17504:8:0","memberName":"strategy","nodeType":"MemberAccess","referencedDeclaration":2309,"src":"17489:23:0","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}},"id":464,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17513:17:0","memberName":"registerRecipient","nodeType":"MemberAccess","referencedDeclaration":2949,"src":"17489:41:0","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_bytes_memory_ptr_$_t_address_$returns$_t_address_$","typeString":"function (bytes memory,address) payable external returns (address)"}},"id":467,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"names":["value"],"nodeType":"FunctionCallOptions","options":[{"expression":{"id":465,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"17538:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":466,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17542:5:0","memberName":"value","nodeType":"MemberAccess","src":"17538:9:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"src":"17489:59:0","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_bytes_memory_ptr_$_t_address_$returns$_t_address_$value","typeString":"function (bytes memory,address) payable external returns (address)"}},"id":471,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17489:78:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":459,"id":472,"nodeType":"Return","src":"17482:85:0"}]},"baseFunctions":[2483],"documentation":{"id":449,"nodeType":"StructuredDocumentation","src":"16877:416:0","text":"@notice Passes _data through to the strategy for that pool.\n @dev The encoded data will be specific to a given strategy requirements, reference the strategy\n implementation of registerRecipient().\n @param _poolId ID of the pool\n @param _data Encoded data unique to a strategy that registerRecipient() requires\n @return recipientId The recipient ID that has been registered"},"functionSelector":"075c0e9c","implemented":true,"kind":"function","modifiers":[{"id":456,"kind":"modifierInvocation","modifierName":{"id":455,"name":"nonReentrant","nameLocations":["17379:12:0"],"nodeType":"IdentifierPath","referencedDeclaration":53236,"src":"17379:12:0"},"nodeType":"ModifierInvocation","src":"17379:12:0"}],"name":"registerRecipient","nameLocation":"17307:17:0","parameters":{"id":454,"nodeType":"ParameterList","parameters":[{"constant":false,"id":451,"mutability":"mutable","name":"_poolId","nameLocation":"17333:7:0","nodeType":"VariableDeclaration","scope":474,"src":"17325:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":450,"name":"uint256","nodeType":"ElementaryTypeName","src":"17325:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":453,"mutability":"mutable","name":"_data","nameLocation":"17355:5:0","nodeType":"VariableDeclaration","scope":474,"src":"17342:18:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":452,"name":"bytes","nodeType":"ElementaryTypeName","src":"17342:5:0","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"17324:37:0"},"returnParameters":{"id":459,"nodeType":"ParameterList","parameters":[{"constant":false,"id":458,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":474,"src":"17401:7:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":457,"name":"address","nodeType":"ElementaryTypeName","src":"17401:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"17400:9:0"},"scope":1390,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":543,"nodeType":"FunctionDefinition","src":"18212:747:0","nodes":[],"body":{"id":542,"nodeType":"Block","src":"18383:576:0","nodes":[],"statements":[{"assignments":[490],"declarations":[{"constant":false,"id":490,"mutability":"mutable","name":"poolIdLength","nameLocation":"18401:12:0","nodeType":"VariableDeclaration","scope":542,"src":"18393:20:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":489,"name":"uint256","nodeType":"ElementaryTypeName","src":"18393:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":493,"initialValue":{"expression":{"id":491,"name":"_poolIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":478,"src":"18416:8:0","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":492,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18425:6:0","memberName":"length","nodeType":"MemberAccess","src":"18416:15:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"18393:38:0"},{"expression":{"id":500,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":494,"name":"recipientIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":487,"src":"18441:12:0","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":498,"name":"poolIdLength","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":490,"src":"18470:12:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":497,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"18456:13:0","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_address_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (address[] memory)"},"typeName":{"baseType":{"id":495,"name":"address","nodeType":"ElementaryTypeName","src":"18460:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":496,"nodeType":"ArrayTypeName","src":"18460:9:0","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}}},"id":499,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18456:27:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"src":"18441:42:0","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":501,"nodeType":"ExpressionStatement","src":"18441:42:0"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":505,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":502,"name":"poolIdLength","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":490,"src":"18498:12:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":503,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":481,"src":"18514:5:0","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},"id":504,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18520:6:0","memberName":"length","nodeType":"MemberAccess","src":"18514:12:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"18498:28:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":509,"nodeType":"IfStatement","src":"18494:51:0","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":506,"name":"MISMATCH","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3011,"src":"18535:8:0","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":507,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18535:10:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":508,"nodeType":"RevertStatement","src":"18528:17:0"}},{"body":{"id":538,"nodeType":"Block","src":"18693:169:0","statements":[{"expression":{"id":532,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":516,"name":"recipientIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":487,"src":"18707:12:0","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":518,"indexExpression":{"id":517,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":511,"src":"18720:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"18707:15:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"baseExpression":{"id":526,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":481,"src":"18771:5:0","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},"id":528,"indexExpression":{"id":527,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":511,"src":"18777:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"18771:8:0","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"expression":{"id":529,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"18781:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":530,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18785:6:0","memberName":"sender","nodeType":"MemberAccess","src":"18781:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"expression":{"baseExpression":{"id":519,"name":"pools","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58,"src":"18725:5:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Pool_$2319_storage_$","typeString":"mapping(uint256 => struct IAllo.Pool storage ref)"}},"id":523,"indexExpression":{"baseExpression":{"id":520,"name":"_poolIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":478,"src":"18731:8:0","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":522,"indexExpression":{"id":521,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":511,"src":"18740:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"18731:11:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"18725:18:0","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage","typeString":"struct IAllo.Pool storage ref"}},"id":524,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"18744:8:0","memberName":"strategy","nodeType":"MemberAccess","referencedDeclaration":2309,"src":"18725:27:0","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}},"id":525,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18753:17:0","memberName":"registerRecipient","nodeType":"MemberAccess","referencedDeclaration":2949,"src":"18725:45:0","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_bytes_memory_ptr_$_t_address_$returns$_t_address_$","typeString":"function (bytes memory,address) payable external returns (address)"}},"id":531,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18725:67:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"18707:85:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":533,"nodeType":"ExpressionStatement","src":"18707:85:0"},{"id":537,"nodeType":"UncheckedBlock","src":"18806:46:0","statements":[{"expression":{"id":535,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":true,"src":"18834:3:0","subExpression":{"id":534,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":511,"src":"18836:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":536,"nodeType":"ExpressionStatement","src":"18834:3:0"}]}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":515,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":513,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":511,"src":"18674:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":514,"name":"poolIdLength","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":490,"src":"18678:12:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"18674:16:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":539,"initializationExpression":{"assignments":[511],"declarations":[{"constant":false,"id":511,"mutability":"mutable","name":"i","nameLocation":"18671:1:0","nodeType":"VariableDeclaration","scope":539,"src":"18663:9:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":510,"name":"uint256","nodeType":"ElementaryTypeName","src":"18663:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":512,"nodeType":"VariableDeclarationStatement","src":"18663:9:0"},"nodeType":"ForStatement","src":"18658:204:0"},{"expression":{"id":540,"name":"recipientIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":487,"src":"18940:12:0","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"functionReturnParameters":488,"id":541,"nodeType":"Return","src":"18933:19:0"}]},"baseFunctions":[2496],"documentation":{"id":475,"nodeType":"StructuredDocumentation","src":"17580:627:0","text":"@notice Register multiple recipients to multiple pools.\n @dev Returns the 'recipientIds' from the strategy that have been registered from calling this function.\n Encoded data unique to a strategy that registerRecipient() requires. Encoded '_data' length must match\n '_poolIds' length or this will revert with MISMATCH(). Other requirements will be determined by the strategy.\n @param _poolIds ID's of the pools\n @param _data An array of encoded data unique to a strategy that registerRecipient() requires.\n @return recipientIds The recipient IDs that have been registered"},"functionSelector":"1a20bd88","implemented":true,"kind":"function","modifiers":[{"id":484,"kind":"modifierInvocation","modifierName":{"id":483,"name":"nonReentrant","nameLocations":["18318:12:0"],"nodeType":"IdentifierPath","referencedDeclaration":53236,"src":"18318:12:0"},"nodeType":"ModifierInvocation","src":"18318:12:0"}],"name":"batchRegisterRecipient","nameLocation":"18221:22:0","parameters":{"id":482,"nodeType":"ParameterList","parameters":[{"constant":false,"id":478,"mutability":"mutable","name":"_poolIds","nameLocation":"18261:8:0","nodeType":"VariableDeclaration","scope":543,"src":"18244:25:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":476,"name":"uint256","nodeType":"ElementaryTypeName","src":"18244:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":477,"nodeType":"ArrayTypeName","src":"18244:9:0","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":481,"mutability":"mutable","name":"_data","nameLocation":"18286:5:0","nodeType":"VariableDeclaration","scope":543,"src":"18271:20:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":479,"name":"bytes","nodeType":"ElementaryTypeName","src":"18271:5:0","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":480,"nodeType":"ArrayTypeName","src":"18271:7:0","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"18243:49:0"},"returnParameters":{"id":488,"nodeType":"ParameterList","parameters":[{"constant":false,"id":487,"mutability":"mutable","name":"recipientIds","nameLocation":"18365:12:0","nodeType":"VariableDeclaration","scope":543,"src":"18348:29:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":485,"name":"address","nodeType":"ElementaryTypeName","src":"18348:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":486,"nodeType":"ArrayTypeName","src":"18348:9:0","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"18347:31:0"},"scope":1390,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":588,"nodeType":"FunctionDefinition","src":"19156:439:0","nodes":[],"body":{"id":587,"nodeType":"Block","src":"19238:357:0","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":555,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":553,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":548,"src":"19318:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":554,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"19329:1:0","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"19318:12:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":559,"nodeType":"IfStatement","src":"19314:43:0","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":556,"name":"NOT_ENOUGH_FUNDS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3014,"src":"19339:16:0","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":557,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19339:18:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":558,"nodeType":"RevertStatement","src":"19332:25:0"}},{"assignments":[562],"declarations":[{"constant":false,"id":562,"mutability":"mutable","name":"pool","nameLocation":"19380:4:0","nodeType":"VariableDeclaration","scope":587,"src":"19368:16:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool"},"typeName":{"id":561,"nodeType":"UserDefinedTypeName","pathNode":{"id":560,"name":"Pool","nameLocations":["19368:4:0"],"nodeType":"IdentifierPath","referencedDeclaration":2319,"src":"19368:4:0"},"referencedDeclaration":2319,"src":"19368:4:0","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool"}},"visibility":"internal"}],"id":566,"initialValue":{"baseExpression":{"id":563,"name":"pools","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58,"src":"19387:5:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Pool_$2319_storage_$","typeString":"mapping(uint256 => struct IAllo.Pool storage ref)"}},"id":565,"indexExpression":{"id":564,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":546,"src":"19393:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"19387:14:0","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage","typeString":"struct IAllo.Pool storage ref"}},"nodeType":"VariableDeclarationStatement","src":"19368:33:0"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":575,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":570,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":567,"name":"pool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":562,"src":"19415:4:0","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"id":568,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"19420:5:0","memberName":"token","nodeType":"MemberAccess","referencedDeclaration":2311,"src":"19415:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":569,"name":"NATIVE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3105,"src":"19429:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"19415:20:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":574,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":571,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":548,"src":"19439:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":572,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"19450:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":573,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19454:5:0","memberName":"value","nodeType":"MemberAccess","src":"19450:9:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"19439:20:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"19415:44:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":579,"nodeType":"IfStatement","src":"19411:75:0","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":576,"name":"NOT_ENOUGH_FUNDS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3014,"src":"19468:16:0","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":577,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19468:18:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":578,"nodeType":"RevertStatement","src":"19461:25:0"}},{"expression":{"arguments":[{"id":581,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":548,"src":"19556:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":582,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":546,"src":"19565:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":583,"name":"pool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":562,"src":"19574:4:0","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"id":584,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"19579:8:0","memberName":"strategy","nodeType":"MemberAccess","referencedDeclaration":2309,"src":"19574:13:0","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}],"id":580,"name":"_fundPool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1122,"src":"19546:9:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_contract$_IStrategy_$2969_$returns$__$","typeString":"function (uint256,uint256,contract IStrategy)"}},"id":585,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19546:42:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":586,"nodeType":"ExpressionStatement","src":"19546:42:0"}]},"baseFunctions":[2504],"documentation":{"id":544,"nodeType":"StructuredDocumentation","src":"18965:186:0","text":"@notice Fund a pool.\n @dev Anyone can fund a pool and call this function.\n @param _poolId ID of the pool\n @param _amount The amount to be deposited into the pool"},"functionSelector":"5acd6fac","implemented":true,"kind":"function","modifiers":[{"id":551,"kind":"modifierInvocation","modifierName":{"id":550,"name":"nonReentrant","nameLocations":["19225:12:0"],"nodeType":"IdentifierPath","referencedDeclaration":53236,"src":"19225:12:0"},"nodeType":"ModifierInvocation","src":"19225:12:0"}],"name":"fundPool","nameLocation":"19165:8:0","parameters":{"id":549,"nodeType":"ParameterList","parameters":[{"constant":false,"id":546,"mutability":"mutable","name":"_poolId","nameLocation":"19182:7:0","nodeType":"VariableDeclaration","scope":588,"src":"19174:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":545,"name":"uint256","nodeType":"ElementaryTypeName","src":"19174:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":548,"mutability":"mutable","name":"_amount","nameLocation":"19199:7:0","nodeType":"VariableDeclaration","scope":588,"src":"19191:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":547,"name":"uint256","nodeType":"ElementaryTypeName","src":"19191:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"19173:34:0"},"returnParameters":{"id":552,"nodeType":"ParameterList","parameters":[],"src":"19238:0:0"},"scope":1390,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":604,"nodeType":"FunctionDefinition","src":"19921:127:0","nodes":[],"body":{"id":603,"nodeType":"Block","src":"20006:42:0","nodes":[],"statements":[{"expression":{"arguments":[{"id":599,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":591,"src":"20026:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":600,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":593,"src":"20035:5:0","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":598,"name":"_allocate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":947,"src":"20016:9:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (uint256,bytes memory)"}},"id":601,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20016:25:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":602,"nodeType":"ExpressionStatement","src":"20016:25:0"}]},"baseFunctions":[2512],"documentation":{"id":589,"nodeType":"StructuredDocumentation","src":"19601:315:0","text":"@notice Allocate to a recipient or multiple recipients.\n @dev The encoded data will be specific to a given strategy requirements, reference the strategy\n implementation of allocate().\n @param _poolId ID of the pool\n @param _data Encoded data unique to the strategy for that pool"},"functionSelector":"2ec38188","implemented":true,"kind":"function","modifiers":[{"id":596,"kind":"modifierInvocation","modifierName":{"id":595,"name":"nonReentrant","nameLocations":["19993:12:0"],"nodeType":"IdentifierPath","referencedDeclaration":53236,"src":"19993:12:0"},"nodeType":"ModifierInvocation","src":"19993:12:0"}],"name":"allocate","nameLocation":"19930:8:0","parameters":{"id":594,"nodeType":"ParameterList","parameters":[{"constant":false,"id":591,"mutability":"mutable","name":"_poolId","nameLocation":"19947:7:0","nodeType":"VariableDeclaration","scope":604,"src":"19939:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":590,"name":"uint256","nodeType":"ElementaryTypeName","src":"19939:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":593,"mutability":"mutable","name":"_data","nameLocation":"19969:5:0","nodeType":"VariableDeclaration","scope":604,"src":"19956:18:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":592,"name":"bytes","nodeType":"ElementaryTypeName","src":"19956:5:0","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"19938:37:0"},"returnParameters":{"id":597,"nodeType":"ParameterList","parameters":[],"src":"20006:0:0"},"scope":1390,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":651,"nodeType":"FunctionDefinition","src":"20511:559:0","nodes":[],"body":{"id":650,"nodeType":"Block","src":"20608:462:0","nodes":[],"statements":[{"assignments":[617],"declarations":[{"constant":false,"id":617,"mutability":"mutable","name":"numPools","nameLocation":"20626:8:0","nodeType":"VariableDeclaration","scope":650,"src":"20618:16:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":616,"name":"uint256","nodeType":"ElementaryTypeName","src":"20618:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":620,"initialValue":{"expression":{"id":618,"name":"_poolIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":608,"src":"20637:8:0","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_calldata_ptr","typeString":"uint256[] calldata"}},"id":619,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20646:6:0","memberName":"length","nodeType":"MemberAccess","src":"20637:15:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"20618:34:0"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":624,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":621,"name":"numPools","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":617,"src":"20772:8:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":622,"name":"_datas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":611,"src":"20784:6:0","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},"id":623,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20791:6:0","memberName":"length","nodeType":"MemberAccess","src":"20784:13:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20772:25:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":628,"nodeType":"IfStatement","src":"20768:48:0","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":625,"name":"MISMATCH","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3011,"src":"20806:8:0","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":626,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20806:10:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":627,"nodeType":"RevertStatement","src":"20799:17:0"}},{"body":{"id":648,"nodeType":"Block","src":"20947:117:0","statements":[{"expression":{"arguments":[{"baseExpression":{"id":636,"name":"_poolIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":608,"src":"20971:8:0","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_calldata_ptr","typeString":"uint256[] calldata"}},"id":638,"indexExpression":{"id":637,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":630,"src":"20980:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"20971:11:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"baseExpression":{"id":639,"name":"_datas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":611,"src":"20984:6:0","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},"id":641,"indexExpression":{"id":640,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":630,"src":"20991:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"20984:9:0","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":635,"name":"_allocate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":947,"src":"20961:9:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (uint256,bytes memory)"}},"id":642,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20961:33:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":643,"nodeType":"ExpressionStatement","src":"20961:33:0"},{"id":647,"nodeType":"UncheckedBlock","src":"21008:46:0","statements":[{"expression":{"id":645,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":true,"src":"21036:3:0","subExpression":{"id":644,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":630,"src":"21038:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":646,"nodeType":"ExpressionStatement","src":"21036:3:0"}]}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":634,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":632,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":630,"src":"20932:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":633,"name":"numPools","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":617,"src":"20936:8:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20932:12:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":649,"initializationExpression":{"assignments":[630],"declarations":[{"constant":false,"id":630,"mutability":"mutable","name":"i","nameLocation":"20929:1:0","nodeType":"VariableDeclaration","scope":649,"src":"20921:9:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":629,"name":"uint256","nodeType":"ElementaryTypeName","src":"20921:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":631,"nodeType":"VariableDeclarationStatement","src":"20921:9:0"},"nodeType":"ForStatement","src":"20916:148:0"}]},"baseFunctions":[2522],"documentation":{"id":605,"nodeType":"StructuredDocumentation","src":"20054:452:0","text":"@notice Allocate to multiple pools\n @dev The encoded data will be specific to a given strategy requirements, reference the strategy\n implementation of allocate(). Please note that this is not a 'payable' function, so if you\n want to send funds to the strategy, you must send the funds using 'fundPool()'.\n @param _poolIds IDs of the pools\n @param _datas encoded data unique to the strategy for that pool"},"functionSelector":"c6dff1cf","implemented":true,"kind":"function","modifiers":[{"id":614,"kind":"modifierInvocation","modifierName":{"id":613,"name":"nonReentrant","nameLocations":["20595:12:0"],"nodeType":"IdentifierPath","referencedDeclaration":53236,"src":"20595:12:0"},"nodeType":"ModifierInvocation","src":"20595:12:0"}],"name":"batchAllocate","nameLocation":"20520:13:0","parameters":{"id":612,"nodeType":"ParameterList","parameters":[{"constant":false,"id":608,"mutability":"mutable","name":"_poolIds","nameLocation":"20553:8:0","nodeType":"VariableDeclaration","scope":651,"src":"20534:27:0","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_calldata_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":606,"name":"uint256","nodeType":"ElementaryTypeName","src":"20534:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":607,"nodeType":"ArrayTypeName","src":"20534:9:0","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":611,"mutability":"mutable","name":"_datas","nameLocation":"20578:6:0","nodeType":"VariableDeclaration","scope":651,"src":"20563:21:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":609,"name":"bytes","nodeType":"ElementaryTypeName","src":"20563:5:0","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":610,"nodeType":"ArrayTypeName","src":"20563:7:0","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"20533:52:0"},"returnParameters":{"id":615,"nodeType":"ParameterList","parameters":[],"src":"20608:0:0"},"scope":1390,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":676,"nodeType":"FunctionDefinition","src":"21468:196:0","nodes":[],"body":{"id":675,"nodeType":"Block","src":"21579:85:0","nodes":[],"statements":[{"expression":{"arguments":[{"id":669,"name":"_recipientIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":657,"src":"21624:13:0","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},{"id":670,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":659,"src":"21639:5:0","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"expression":{"id":671,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"21646:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":672,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21650:6:0","memberName":"sender","nodeType":"MemberAccess","src":"21646:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"expression":{"baseExpression":{"id":664,"name":"pools","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58,"src":"21589:5:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Pool_$2319_storage_$","typeString":"mapping(uint256 => struct IAllo.Pool storage ref)"}},"id":666,"indexExpression":{"id":665,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":654,"src":"21595:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"21589:14:0","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage","typeString":"struct IAllo.Pool storage ref"}},"id":667,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"21604:8:0","memberName":"strategy","nodeType":"MemberAccess","referencedDeclaration":2309,"src":"21589:23:0","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}},"id":668,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21613:10:0","memberName":"distribute","nodeType":"MemberAccess","referencedDeclaration":2968,"src":"21589:34:0","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_array$_t_address_$dyn_memory_ptr_$_t_bytes_memory_ptr_$_t_address_$returns$__$","typeString":"function (address[] memory,bytes memory,address) external"}},"id":673,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21589:68:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":674,"nodeType":"ExpressionStatement","src":"21589:68:0"}]},"baseFunctions":[2533],"documentation":{"id":652,"nodeType":"StructuredDocumentation","src":"21076:387:0","text":"@notice Distribute to a recipient or multiple recipients.\n @dev The encoded data will be specific to a given strategy requirements, reference the strategy\n implementation of 'strategy.distribute()'.\n @param _poolId ID of the pool\n @param _recipientIds Ids of the recipients of the distribution\n @param _data Encoded data unique to the strategy"},"functionSelector":"3a5fbd92","implemented":true,"kind":"function","modifiers":[{"id":662,"kind":"modifierInvocation","modifierName":{"id":661,"name":"nonReentrant","nameLocations":["21566:12:0"],"nodeType":"IdentifierPath","referencedDeclaration":53236,"src":"21566:12:0"},"nodeType":"ModifierInvocation","src":"21566:12:0"}],"name":"distribute","nameLocation":"21477:10:0","parameters":{"id":660,"nodeType":"ParameterList","parameters":[{"constant":false,"id":654,"mutability":"mutable","name":"_poolId","nameLocation":"21496:7:0","nodeType":"VariableDeclaration","scope":676,"src":"21488:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":653,"name":"uint256","nodeType":"ElementaryTypeName","src":"21488:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":657,"mutability":"mutable","name":"_recipientIds","nameLocation":"21522:13:0","nodeType":"VariableDeclaration","scope":676,"src":"21505:30:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":655,"name":"address","nodeType":"ElementaryTypeName","src":"21505:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":656,"nodeType":"ArrayTypeName","src":"21505:9:0","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":659,"mutability":"mutable","name":"_data","nameLocation":"21550:5:0","nodeType":"VariableDeclaration","scope":676,"src":"21537:18:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":658,"name":"bytes","nodeType":"ElementaryTypeName","src":"21537:5:0","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"21487:69:0"},"returnParameters":{"id":663,"nodeType":"ParameterList","parameters":[],"src":"21579:0:0"},"scope":1390,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":693,"nodeType":"FunctionDefinition","src":"21910:142:0","nodes":[],"body":{"id":692,"nodeType":"Block","src":"21972:80:0","nodes":[],"statements":[{"condition":{"id":687,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"21986:36:0","subExpression":{"arguments":[{"id":683,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":679,"src":"22002:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":684,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"22011:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":685,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22015:6:0","memberName":"sender","nodeType":"MemberAccess","src":"22011:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"id":682,"name":"_isPoolManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1178,"src":"21987:14:0","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_address_$returns$_t_bool_$","typeString":"function (uint256,address) view returns (bool)"}},"id":686,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21987:35:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":691,"nodeType":"IfStatement","src":"21982:63:0","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":688,"name":"UNAUTHORIZED","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3017,"src":"22031:12:0","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":689,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22031:14:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":690,"nodeType":"RevertStatement","src":"22024:21:0"}}]},"documentation":{"id":677,"nodeType":"StructuredDocumentation","src":"21806:99:0","text":"@notice Internal function to check is caller is pool manager\n @param _poolId The pool id"},"implemented":true,"kind":"function","modifiers":[],"name":"_checkOnlyPoolManager","nameLocation":"21919:21:0","parameters":{"id":680,"nodeType":"ParameterList","parameters":[{"constant":false,"id":679,"mutability":"mutable","name":"_poolId","nameLocation":"21949:7:0","nodeType":"VariableDeclaration","scope":693,"src":"21941:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":678,"name":"uint256","nodeType":"ElementaryTypeName","src":"21941:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"21940:17:0"},"returnParameters":{"id":681,"nodeType":"ParameterList","parameters":[],"src":"21972:0:0"},"scope":1390,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":710,"nodeType":"FunctionDefinition","src":"22160:138:0","nodes":[],"body":{"id":709,"nodeType":"Block","src":"22220:78:0","nodes":[],"statements":[{"condition":{"id":704,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"22234:34:0","subExpression":{"arguments":[{"id":700,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":696,"src":"22248:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":701,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"22257:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":702,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22261:6:0","memberName":"sender","nodeType":"MemberAccess","src":"22257:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"id":699,"name":"_isPoolAdmin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1154,"src":"22235:12:0","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_address_$returns$_t_bool_$","typeString":"function (uint256,address) view returns (bool)"}},"id":703,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22235:33:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":708,"nodeType":"IfStatement","src":"22230:61:0","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":705,"name":"UNAUTHORIZED","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3017,"src":"22277:12:0","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":706,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22277:14:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":707,"nodeType":"RevertStatement","src":"22270:21:0"}}]},"documentation":{"id":694,"nodeType":"StructuredDocumentation","src":"22058:97:0","text":"@notice Internal function to check is caller is pool admin\n @param _poolId The pool id"},"implemented":true,"kind":"function","modifiers":[],"name":"_checkOnlyPoolAdmin","nameLocation":"22169:19:0","parameters":{"id":697,"nodeType":"ParameterList","parameters":[{"constant":false,"id":696,"mutability":"mutable","name":"_poolId","nameLocation":"22197:7:0","nodeType":"VariableDeclaration","scope":710,"src":"22189:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":695,"name":"uint256","nodeType":"ElementaryTypeName","src":"22189:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"22188:17:0"},"returnParameters":{"id":698,"nodeType":"ParameterList","parameters":[],"src":"22220:0:0"},"scope":1390,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":925,"nodeType":"FunctionDefinition","src":"23131:2681:0","nodes":[],"body":{"id":924,"nodeType":"Block","src":"23409:2403:0","nodes":[],"statements":[{"condition":{"id":739,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"23423:58:0","subExpression":{"arguments":[{"id":735,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":713,"src":"23458:10:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"expression":{"id":736,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"23470:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":737,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23474:6:0","memberName":"sender","nodeType":"MemberAccess","src":"23470:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":733,"name":"registry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47,"src":"23424:8:0","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"}},"id":734,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23433:24:0","memberName":"isOwnerOrMemberOfProfile","nodeType":"MemberAccess","referencedDeclaration":2704,"src":"23424:33:0","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) view external returns (bool)"}},"id":738,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23424:57:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":743,"nodeType":"IfStatement","src":"23419:85:0","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":740,"name":"UNAUTHORIZED","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3017,"src":"23490:12:0","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":741,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23490:14:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":742,"nodeType":"RevertStatement","src":"23483:21:0"}},{"expression":{"id":747,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":744,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":731,"src":"23515:6:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":746,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":true,"src":"23524:12:0","subExpression":{"id":745,"name":"_poolIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40,"src":"23526:10:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"23515:21:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":748,"nodeType":"ExpressionStatement","src":"23515:21:0"},{"assignments":[750],"declarations":[{"constant":false,"id":750,"mutability":"mutable","name":"POOL_MANAGER_ROLE","nameLocation":"23683:17:0","nodeType":"VariableDeclaration","scope":924,"src":"23675:25:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":749,"name":"bytes32","nodeType":"ElementaryTypeName","src":"23675:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":755,"initialValue":{"arguments":[{"id":753,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":731,"src":"23711:6:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":752,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"23703:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":751,"name":"bytes32","nodeType":"ElementaryTypeName","src":"23703:7:0","typeDescriptions":{}}},"id":754,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23703:15:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"23675:43:0"},{"assignments":[757],"declarations":[{"constant":false,"id":757,"mutability":"mutable","name":"POOL_ADMIN_ROLE","nameLocation":"23736:15:0","nodeType":"VariableDeclaration","scope":924,"src":"23728:23:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":756,"name":"bytes32","nodeType":"ElementaryTypeName","src":"23728:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":765,"initialValue":{"arguments":[{"arguments":[{"id":761,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":731,"src":"23781:6:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"61646d696e","id":762,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"23789:7:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_f23ec0bb4210edd5cba85afd05127efcd2fc6a781bfed49188da1081670b22d8","typeString":"literal_string \"admin\""},"value":"admin"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_stringliteral_f23ec0bb4210edd5cba85afd05127efcd2fc6a781bfed49188da1081670b22d8","typeString":"literal_string \"admin\""}],"expression":{"id":759,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"23764:3:0","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":760,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"23768:12:0","memberName":"encodePacked","nodeType":"MemberAccess","src":"23764:16:0","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":763,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23764:33:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":758,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"23754:9:0","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":764,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23754:44:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"23728:70:0"},{"assignments":[768],"declarations":[{"constant":false,"id":768,"mutability":"mutable","name":"pool","nameLocation":"23857:4:0","nodeType":"VariableDeclaration","scope":924,"src":"23845:16:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool"},"typeName":{"id":767,"nodeType":"UserDefinedTypeName","pathNode":{"id":766,"name":"Pool","nameLocations":["23845:4:0"],"nodeType":"IdentifierPath","referencedDeclaration":2319,"src":"23845:4:0"},"referencedDeclaration":2319,"src":"23845:4:0","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool"}},"visibility":"internal"}],"id":777,"initialValue":{"arguments":[{"id":770,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":713,"src":"23894:10:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":771,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":716,"src":"23928:9:0","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}},{"id":772,"name":"_metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":725,"src":"23961:9:0","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}},{"id":773,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":720,"src":"23991:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":774,"name":"POOL_MANAGER_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":750,"src":"24024:17:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":775,"name":"POOL_ADMIN_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":757,"src":"24066:15:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"},{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":769,"name":"Pool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2319,"src":"23864:4:0","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Pool_$2319_storage_ptr_$","typeString":"type(struct IAllo.Pool storage pointer)"}},"id":776,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["23883:9:0","23918:8:0","23951:8:0","23984:5:0","24011:11:0","24055:9:0"],"names":["profileId","strategy","metadata","token","managerRole","adminRole"],"nodeType":"FunctionCall","src":"23864:228:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"nodeType":"VariableDeclarationStatement","src":"23845:247:0"},{"expression":{"id":782,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":778,"name":"pools","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58,"src":"24159:5:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Pool_$2319_storage_$","typeString":"mapping(uint256 => struct IAllo.Pool storage ref)"}},"id":780,"indexExpression":{"id":779,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":731,"src":"24165:6:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"24159:13:0","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage","typeString":"struct IAllo.Pool storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":781,"name":"pool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":768,"src":"24175:4:0","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"src":"24159:20:0","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage","typeString":"struct IAllo.Pool storage ref"}},"id":783,"nodeType":"ExpressionStatement","src":"24159:20:0"},{"expression":{"arguments":[{"id":785,"name":"POOL_ADMIN_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":757,"src":"24250:15:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"expression":{"id":786,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"24267:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":787,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24271:6:0","memberName":"sender","nodeType":"MemberAccess","src":"24267:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":784,"name":"_grantRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52699,"src":"24239:10:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$","typeString":"function (bytes32,address)"}},"id":788,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24239:39:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":789,"nodeType":"ExpressionStatement","src":"24239:39:0"},{"expression":{"arguments":[{"id":791,"name":"POOL_MANAGER_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":750,"src":"24351:17:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":792,"name":"POOL_ADMIN_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":757,"src":"24370:15:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":790,"name":"_setRoleAdmin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52667,"src":"24337:13:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (bytes32,bytes32)"}},"id":793,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24337:49:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":794,"nodeType":"ExpressionStatement","src":"24337:49:0"},{"expression":{"arguments":[{"id":798,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":731,"src":"24562:6:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":799,"name":"_initStrategyData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":718,"src":"24570:17:0","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":795,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":716,"src":"24541:9:0","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}},"id":797,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24551:10:0","memberName":"initialize","nodeType":"MemberAccess","referencedDeclaration":2939,"src":"24541:20:0","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (uint256,bytes memory) external"}},"id":800,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24541:47:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":801,"nodeType":"ExpressionStatement","src":"24541:47:0"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":818,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":806,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":802,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":716,"src":"24603:9:0","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}},"id":803,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24613:9:0","memberName":"getPoolId","nodeType":"MemberAccess","referencedDeclaration":2876,"src":"24603:19:0","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint256_$","typeString":"function () view external returns (uint256)"}},"id":804,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24603:21:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":805,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":731,"src":"24628:6:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"24603:31:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":817,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":809,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":716,"src":"24646:9:0","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}},"id":810,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24656:7:0","memberName":"getAllo","nodeType":"MemberAccess","referencedDeclaration":2870,"src":"24646:17:0","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_contract$_IAllo_$2610_$","typeString":"function () view external returns (contract IAllo)"}},"id":811,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24646:19:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IAllo_$2610","typeString":"contract IAllo"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IAllo_$2610","typeString":"contract IAllo"}],"id":808,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"24638:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":807,"name":"address","nodeType":"ElementaryTypeName","src":"24638:7:0","typeDescriptions":{}}},"id":812,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24638:28:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"id":815,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"24678:4:0","typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}],"id":814,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"24670:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":813,"name":"address","nodeType":"ElementaryTypeName","src":"24670:7:0","typeDescriptions":{}}},"id":816,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24670:13:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"24638:45:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"24603:80:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":822,"nodeType":"IfStatement","src":"24599:103:0","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":819,"name":"MISMATCH","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3011,"src":"24692:8:0","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":820,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24692:10:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":821,"nodeType":"RevertStatement","src":"24685:17:0"}},{"assignments":[824],"declarations":[{"constant":false,"id":824,"mutability":"mutable","name":"managersLength","nameLocation":"24758:14:0","nodeType":"VariableDeclaration","scope":924,"src":"24750:22:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":823,"name":"uint256","nodeType":"ElementaryTypeName","src":"24750:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":827,"initialValue":{"expression":{"id":825,"name":"_managers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":728,"src":"24775:9:0","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":826,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24785:6:0","memberName":"length","nodeType":"MemberAccess","src":"24775:16:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"24750:41:0"},{"body":{"id":859,"nodeType":"Block","src":"24838:229:0","statements":[{"assignments":[835],"declarations":[{"constant":false,"id":835,"mutability":"mutable","name":"manager","nameLocation":"24860:7:0","nodeType":"VariableDeclaration","scope":859,"src":"24852:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":834,"name":"address","nodeType":"ElementaryTypeName","src":"24852:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":839,"initialValue":{"baseExpression":{"id":836,"name":"_managers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":728,"src":"24870:9:0","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":838,"indexExpression":{"id":837,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":829,"src":"24880:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"24870:12:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"24852:30:0"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":845,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":840,"name":"manager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":835,"src":"24900:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":843,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"24919:1:0","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":842,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"24911:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":841,"name":"address","nodeType":"ElementaryTypeName","src":"24911:7:0","typeDescriptions":{}}},"id":844,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24911:10:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"24900:21:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":849,"nodeType":"IfStatement","src":"24896:48:0","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":846,"name":"ZERO_ADDRESS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3020,"src":"24930:12:0","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":847,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24930:14:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":848,"nodeType":"RevertStatement","src":"24923:21:0"}},{"expression":{"arguments":[{"id":851,"name":"POOL_MANAGER_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":750,"src":"24970:17:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":852,"name":"manager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":835,"src":"24989:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":850,"name":"_grantRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52699,"src":"24959:10:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$","typeString":"function (bytes32,address)"}},"id":853,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24959:38:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":854,"nodeType":"ExpressionStatement","src":"24959:38:0"},{"id":858,"nodeType":"UncheckedBlock","src":"25011:46:0","statements":[{"expression":{"id":856,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":true,"src":"25039:3:0","subExpression":{"id":855,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":829,"src":"25041:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":857,"nodeType":"ExpressionStatement","src":"25039:3:0"}]}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":833,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":831,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":829,"src":"24817:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":832,"name":"managersLength","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":824,"src":"24821:14:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"24817:18:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":860,"initializationExpression":{"assignments":[829],"declarations":[{"constant":false,"id":829,"mutability":"mutable","name":"i","nameLocation":"24814:1:0","nodeType":"VariableDeclaration","scope":860,"src":"24806:9:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":828,"name":"uint256","nodeType":"ElementaryTypeName","src":"24806:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":830,"nodeType":"VariableDeclarationStatement","src":"24806:9:0"},"nodeType":"ForStatement","src":"24801:266:0"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":863,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":861,"name":"baseFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37,"src":"25081:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":862,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25091:1:0","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"25081:11:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":903,"nodeType":"IfStatement","src":"25077:554:0","trueBody":{"id":902,"nodeType":"Block","src":"25094:537:0","statements":[{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":885,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":874,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":866,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":864,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":720,"src":"25359:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":865,"name":"NATIVE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3105,"src":"25369:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"25359:16:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":872,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":869,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":867,"name":"baseFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37,"src":"25380:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":868,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":722,"src":"25390:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"25380:17:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":870,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"25401:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":871,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"25405:5:0","memberName":"value","nodeType":"MemberAccess","src":"25401:9:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"25380:30:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":873,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"25379:32:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"25359:52:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":875,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"25358:54:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":883,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":878,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":876,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":720,"src":"25417:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":877,"name":"NATIVE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3105,"src":"25427:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"25417:16:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":882,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":879,"name":"baseFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37,"src":"25437:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":880,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"25448:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":881,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"25452:5:0","memberName":"value","nodeType":"MemberAccess","src":"25448:9:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"25437:20:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"25417:40:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":884,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"25416:42:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"25358:100:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":890,"nodeType":"IfStatement","src":"25354:164:0","trueBody":{"id":889,"nodeType":"Block","src":"25460:58:0","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":886,"name":"NOT_ENOUGH_FUNDS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3014,"src":"25485:16:0","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":887,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25485:18:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":888,"nodeType":"RevertStatement","src":"25478:25:0"}]}},{"expression":{"arguments":[{"id":892,"name":"NATIVE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3105,"src":"25547:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":893,"name":"treasury","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"25555:8:0","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},{"id":894,"name":"baseFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37,"src":"25565:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address_payable","typeString":"address payable"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":891,"name":"_transferAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3287,"src":"25531:15:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":895,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25531:42:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":896,"nodeType":"ExpressionStatement","src":"25531:42:0"},{"eventCall":{"arguments":[{"id":898,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":731,"src":"25604:6:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":899,"name":"baseFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37,"src":"25612:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":897,"name":"BaseFeePaid","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2360,"src":"25592:11:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":900,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25592:28:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":901,"nodeType":"EmitStatement","src":"25587:33:0"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":906,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":904,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":722,"src":"25645:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":905,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25655:1:0","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"25645:11:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":914,"nodeType":"IfStatement","src":"25641:79:0","trueBody":{"id":913,"nodeType":"Block","src":"25658:62:0","statements":[{"expression":{"arguments":[{"id":908,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":722,"src":"25682:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":909,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":731,"src":"25691:6:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":910,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":716,"src":"25699:9:0","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}],"id":907,"name":"_fundPool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1122,"src":"25672:9:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_contract$_IStrategy_$2969_$returns$__$","typeString":"function (uint256,uint256,contract IStrategy)"}},"id":911,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25672:37:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":912,"nodeType":"ExpressionStatement","src":"25672:37:0"}]}},{"eventCall":{"arguments":[{"id":916,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":731,"src":"25747:6:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":917,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":713,"src":"25755:10:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":918,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":716,"src":"25767:9:0","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}},{"id":919,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":720,"src":"25778:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":920,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":722,"src":"25786:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":921,"name":"_metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":725,"src":"25795:9:0","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}],"id":915,"name":"PoolCreated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2336,"src":"25735:11:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_bytes32_$_t_contract$_IStrategy_$2969_$_t_address_$_t_uint256_$_t_struct$_Metadata_$3098_memory_ptr_$returns$__$","typeString":"function (uint256,bytes32,contract IStrategy,address,uint256,struct Metadata memory)"}},"id":922,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25735:70:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":923,"nodeType":"EmitStatement","src":"25730:75:0"}]},"documentation":{"id":711,"nodeType":"StructuredDocumentation","src":"22304:822:0","text":"@notice Creates a new pool.\n @dev This is an internal function that is called by the 'createPool()' & 'createPoolWithCustomStrategy()' functions\n It is used to create a new pool and is called by both functions. The 'msg.sender' must be a member or owner of\n a profile to create a pool.\n @param _profileId The ID of the profile of for pool creator in the registry\n @param _strategy The address of strategy\n @param _initStrategyData The data to initialize the strategy\n @param _token The address of the token that the pool is denominated in\n @param _amount The amount of the token to be deposited into the pool\n @param _metadata The 'Metadata' of the pool\n @param _managers The managers of the pool\n @return poolId The ID of the pool"},"implemented":true,"kind":"function","modifiers":[],"name":"_createPool","nameLocation":"23140:11:0","parameters":{"id":729,"nodeType":"ParameterList","parameters":[{"constant":false,"id":713,"mutability":"mutable","name":"_profileId","nameLocation":"23169:10:0","nodeType":"VariableDeclaration","scope":925,"src":"23161:18:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":712,"name":"bytes32","nodeType":"ElementaryTypeName","src":"23161:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":716,"mutability":"mutable","name":"_strategy","nameLocation":"23199:9:0","nodeType":"VariableDeclaration","scope":925,"src":"23189:19:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"},"typeName":{"id":715,"nodeType":"UserDefinedTypeName","pathNode":{"id":714,"name":"IStrategy","nameLocations":["23189:9:0"],"nodeType":"IdentifierPath","referencedDeclaration":2969,"src":"23189:9:0"},"referencedDeclaration":2969,"src":"23189:9:0","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}},"visibility":"internal"},{"constant":false,"id":718,"mutability":"mutable","name":"_initStrategyData","nameLocation":"23231:17:0","nodeType":"VariableDeclaration","scope":925,"src":"23218:30:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":717,"name":"bytes","nodeType":"ElementaryTypeName","src":"23218:5:0","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":720,"mutability":"mutable","name":"_token","nameLocation":"23266:6:0","nodeType":"VariableDeclaration","scope":925,"src":"23258:14:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":719,"name":"address","nodeType":"ElementaryTypeName","src":"23258:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":722,"mutability":"mutable","name":"_amount","nameLocation":"23290:7:0","nodeType":"VariableDeclaration","scope":925,"src":"23282:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":721,"name":"uint256","nodeType":"ElementaryTypeName","src":"23282:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":725,"mutability":"mutable","name":"_metadata","nameLocation":"23323:9:0","nodeType":"VariableDeclaration","scope":925,"src":"23307:25:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata"},"typeName":{"id":724,"nodeType":"UserDefinedTypeName","pathNode":{"id":723,"name":"Metadata","nameLocations":["23307:8:0"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"23307:8:0"},"referencedDeclaration":3098,"src":"23307:8:0","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"},{"constant":false,"id":728,"mutability":"mutable","name":"_managers","nameLocation":"23359:9:0","nodeType":"VariableDeclaration","scope":925,"src":"23342:26:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":726,"name":"address","nodeType":"ElementaryTypeName","src":"23342:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":727,"nodeType":"ArrayTypeName","src":"23342:9:0","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"23151:223:0"},"returnParameters":{"id":732,"nodeType":"ParameterList","parameters":[{"constant":false,"id":731,"mutability":"mutable","name":"poolId","nameLocation":"23401:6:0","nodeType":"VariableDeclaration","scope":925,"src":"23393:14:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":730,"name":"uint256","nodeType":"ElementaryTypeName","src":"23393:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"23392:16:0"},"scope":1390,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":947,"nodeType":"FunctionDefinition","src":"26159:151:0","nodes":[],"body":{"id":946,"nodeType":"Block","src":"26224:86:0","nodes":[],"statements":[{"expression":{"arguments":[{"id":941,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":930,"src":"26285:5:0","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"expression":{"id":942,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"26292:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":943,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"26296:6:0","memberName":"sender","nodeType":"MemberAccess","src":"26292:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"expression":{"baseExpression":{"id":933,"name":"pools","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58,"src":"26234:5:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Pool_$2319_storage_$","typeString":"mapping(uint256 => struct IAllo.Pool storage ref)"}},"id":935,"indexExpression":{"id":934,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":928,"src":"26240:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"26234:14:0","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage","typeString":"struct IAllo.Pool storage ref"}},"id":936,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"26249:8:0","memberName":"strategy","nodeType":"MemberAccess","referencedDeclaration":2309,"src":"26234:23:0","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}},"id":937,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"26258:8:0","memberName":"allocate","nodeType":"MemberAccess","referencedDeclaration":2957,"src":"26234:32:0","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_bytes_memory_ptr_$_t_address_$returns$__$","typeString":"function (bytes memory,address) payable external"}},"id":940,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"names":["value"],"nodeType":"FunctionCallOptions","options":[{"expression":{"id":938,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"26274:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":939,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"26278:5:0","memberName":"value","nodeType":"MemberAccess","src":"26274:9:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"src":"26234:50:0","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_bytes_memory_ptr_$_t_address_$returns$__$value","typeString":"function (bytes memory,address) payable external"}},"id":944,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26234:69:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":945,"nodeType":"ExpressionStatement","src":"26234:69:0"}]},"documentation":{"id":926,"nodeType":"StructuredDocumentation","src":"25818:336:0","text":"@notice Allocate to recipient(s).\n @dev Passes '_data' & 'msg.sender' through to the strategy for that pool.\n This is an internal function that is called by the 'allocate()' & 'batchAllocate()' functions.\n @param _poolId ID of the pool\n @param _data Encoded data unique to the strategy for that pool"},"implemented":true,"kind":"function","modifiers":[],"name":"_allocate","nameLocation":"26168:9:0","parameters":{"id":931,"nodeType":"ParameterList","parameters":[{"constant":false,"id":928,"mutability":"mutable","name":"_poolId","nameLocation":"26186:7:0","nodeType":"VariableDeclaration","scope":947,"src":"26178:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":927,"name":"uint256","nodeType":"ElementaryTypeName","src":"26178:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":930,"mutability":"mutable","name":"_data","nameLocation":"26208:5:0","nodeType":"VariableDeclaration","scope":947,"src":"26195:18:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":929,"name":"bytes","nodeType":"ElementaryTypeName","src":"26195:5:0","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"26177:37:0"},"returnParameters":{"id":932,"nodeType":"ParameterList","parameters":[],"src":"26224:0:0"},"scope":1390,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":1122,"nodeType":"FunctionDefinition","src":"26634:1879:0","nodes":[],"body":{"id":1121,"nodeType":"Block","src":"26717:1796:0","nodes":[],"statements":[{"assignments":[959],"declarations":[{"constant":false,"id":959,"mutability":"mutable","name":"feeAmount","nameLocation":"26735:9:0","nodeType":"VariableDeclaration","scope":1121,"src":"26727:17:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":958,"name":"uint256","nodeType":"ElementaryTypeName","src":"26727:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":960,"nodeType":"VariableDeclarationStatement","src":"26727:17:0"},{"assignments":[962],"declarations":[{"constant":false,"id":962,"mutability":"mutable","name":"amountAfterFee","nameLocation":"26762:14:0","nodeType":"VariableDeclaration","scope":1121,"src":"26754:22:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":961,"name":"uint256","nodeType":"ElementaryTypeName","src":"26754:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":964,"initialValue":{"id":963,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":950,"src":"26779:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"26754:32:0"},{"assignments":[967],"declarations":[{"constant":false,"id":967,"mutability":"mutable","name":"pool","nameLocation":"26810:4:0","nodeType":"VariableDeclaration","scope":1121,"src":"26797:17:0","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool"},"typeName":{"id":966,"nodeType":"UserDefinedTypeName","pathNode":{"id":965,"name":"Pool","nameLocations":["26797:4:0"],"nodeType":"IdentifierPath","referencedDeclaration":2319,"src":"26797:4:0"},"referencedDeclaration":2319,"src":"26797:4:0","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool"}},"visibility":"internal"}],"id":971,"initialValue":{"baseExpression":{"id":968,"name":"pools","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58,"src":"26817:5:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Pool_$2319_storage_$","typeString":"mapping(uint256 => struct IAllo.Pool storage ref)"}},"id":970,"indexExpression":{"id":969,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":952,"src":"26823:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"26817:14:0","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage","typeString":"struct IAllo.Pool storage ref"}},"nodeType":"VariableDeclarationStatement","src":"26797:34:0"},{"assignments":[973],"declarations":[{"constant":false,"id":973,"mutability":"mutable","name":"_token","nameLocation":"26849:6:0","nodeType":"VariableDeclaration","scope":1121,"src":"26841:14:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":972,"name":"address","nodeType":"ElementaryTypeName","src":"26841:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":976,"initialValue":{"expression":{"id":974,"name":"pool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":967,"src":"26858:4:0","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool storage pointer"}},"id":975,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"26863:5:0","memberName":"token","nodeType":"MemberAccess","referencedDeclaration":2311,"src":"26858:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"26841:27:0"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":979,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":977,"name":"percentFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34,"src":"26883:10:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":978,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"26896:1:0","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"26883:14:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1050,"nodeType":"IfStatement","src":"26879:808:0","trueBody":{"id":1049,"nodeType":"Block","src":"26899:788:0","statements":[{"expression":{"id":988,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":980,"name":"feeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":959,"src":"26913:9:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":987,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":983,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":981,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":950,"src":"26926:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":982,"name":"percentFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34,"src":"26936:10:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"26926:20:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":984,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"26925:22:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":985,"name":"getFeeDenominator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1276,"src":"26950:17:0","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_uint256_$","typeString":"function () pure returns (uint256)"}},"id":986,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26950:19:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"26925:44:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"26913:56:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":989,"nodeType":"ExpressionStatement","src":"26913:56:0"},{"expression":{"id":992,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":990,"name":"amountAfterFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":962,"src":"26983:14:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"id":991,"name":"feeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":959,"src":"27001:9:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"26983:27:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":993,"nodeType":"ExpressionStatement","src":"26983:27:0"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":998,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":996,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":994,"name":"feeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":959,"src":"27029:9:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":995,"name":"amountAfterFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":962,"src":"27041:14:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"27029:26:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":997,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":950,"src":"27059:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"27029:37:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1002,"nodeType":"IfStatement","src":"27025:59:0","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":999,"name":"INVALID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3008,"src":"27075:7:0","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":1000,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27075:9:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1001,"nodeType":"RevertStatement","src":"27068:16:0"}},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":1005,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1003,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":973,"src":"27103:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":1004,"name":"NATIVE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3105,"src":"27113:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"27103:16:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":1047,"nodeType":"Block","src":"27254:423:0","statements":[{"assignments":[1018],"declarations":[{"constant":false,"id":1018,"mutability":"mutable","name":"balanceBeforeFee","nameLocation":"27280:16:0","nodeType":"VariableDeclaration","scope":1047,"src":"27272:24:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1017,"name":"uint256","nodeType":"ElementaryTypeName","src":"27272:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":1023,"initialValue":{"arguments":[{"id":1020,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":973,"src":"27311:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":1021,"name":"treasury","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"27319:8:0","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":1019,"name":"_getBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3316,"src":"27299:11:0","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view returns (uint256)"}},"id":1022,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27299:29:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"27272:56:0"},{"expression":{"arguments":[{"id":1025,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":973,"src":"27366:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"expression":{"id":1027,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"27394:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":1028,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"27398:6:0","memberName":"sender","nodeType":"MemberAccess","src":"27394:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":1029,"name":"treasury","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"27410:8:0","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},{"id":1030,"name":"feeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":959,"src":"27428:9:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address_payable","typeString":"address payable"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":1026,"name":"TransferData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3124,"src":"27374:12:0","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_TransferData_$3124_storage_ptr_$","typeString":"type(struct Transfer.TransferData storage pointer)"}},"id":1031,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["27388:4:0","27406:2:0","27420:6:0"],"names":["from","to","amount"],"nodeType":"FunctionCall","src":"27374:65:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_TransferData_$3124_memory_ptr","typeString":"struct Transfer.TransferData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_struct$_TransferData_$3124_memory_ptr","typeString":"struct Transfer.TransferData memory"}],"id":1024,"name":"_transferAmountFrom","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3255,"src":"27346:19:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_struct$_TransferData_$3124_memory_ptr_$returns$_t_bool_$","typeString":"function (address,struct Transfer.TransferData memory) returns (bool)"}},"id":1032,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27346:94:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1033,"nodeType":"ExpressionStatement","src":"27346:94:0"},{"assignments":[1035],"declarations":[{"constant":false,"id":1035,"mutability":"mutable","name":"balanceAfterFee","nameLocation":"27466:15:0","nodeType":"VariableDeclaration","scope":1047,"src":"27458:23:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1034,"name":"uint256","nodeType":"ElementaryTypeName","src":"27458:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":1040,"initialValue":{"arguments":[{"id":1037,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":973,"src":"27496:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":1038,"name":"treasury","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"27504:8:0","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":1036,"name":"_getBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3316,"src":"27484:11:0","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view returns (uint256)"}},"id":1039,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27484:29:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"27458:55:0"},{"expression":{"id":1045,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":1041,"name":"feeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":959,"src":"27616:9:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1044,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1042,"name":"balanceAfterFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1035,"src":"27628:15:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":1043,"name":"balanceBeforeFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1018,"src":"27646:16:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"27628:34:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"27616:46:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":1046,"nodeType":"ExpressionStatement","src":"27616:46:0"}]},"id":1048,"nodeType":"IfStatement","src":"27099:578:0","trueBody":{"id":1016,"nodeType":"Block","src":"27121:127:0","statements":[{"expression":{"arguments":[{"id":1007,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":973,"src":"27159:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"expression":{"id":1009,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"27187:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":1010,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"27191:6:0","memberName":"sender","nodeType":"MemberAccess","src":"27187:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":1011,"name":"treasury","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"27203:8:0","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},{"id":1012,"name":"feeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":959,"src":"27221:9:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address_payable","typeString":"address payable"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":1008,"name":"TransferData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3124,"src":"27167:12:0","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_TransferData_$3124_storage_ptr_$","typeString":"type(struct Transfer.TransferData storage pointer)"}},"id":1013,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["27181:4:0","27199:2:0","27213:6:0"],"names":["from","to","amount"],"nodeType":"FunctionCall","src":"27167:65:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_TransferData_$3124_memory_ptr","typeString":"struct Transfer.TransferData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_struct$_TransferData_$3124_memory_ptr","typeString":"struct Transfer.TransferData memory"}],"id":1006,"name":"_transferAmountFrom","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3255,"src":"27139:19:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_struct$_TransferData_$3124_memory_ptr_$returns$_t_bool_$","typeString":"function (address,struct Transfer.TransferData memory) returns (bool)"}},"id":1014,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27139:94:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1015,"nodeType":"ExpressionStatement","src":"27139:94:0"}]}}]}},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":1053,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1051,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":973,"src":"27701:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":1052,"name":"NATIVE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3105,"src":"27711:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"27701:16:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":1107,"nodeType":"Block","src":"27889:501:0","statements":[{"assignments":[1069],"declarations":[{"constant":false,"id":1069,"mutability":"mutable","name":"balanceBeforeFundingPool","nameLocation":"27911:24:0","nodeType":"VariableDeclaration","scope":1107,"src":"27903:32:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1068,"name":"uint256","nodeType":"ElementaryTypeName","src":"27903:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":1077,"initialValue":{"arguments":[{"id":1071,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":973,"src":"27950:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":1074,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":955,"src":"27966:9:0","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}],"id":1073,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"27958:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":1072,"name":"address","nodeType":"ElementaryTypeName","src":"27958:7:0","typeDescriptions":{}}},"id":1075,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27958:18:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":1070,"name":"_getBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3316,"src":"27938:11:0","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view returns (uint256)"}},"id":1076,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27938:39:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"27903:74:0"},{"expression":{"arguments":[{"id":1079,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":973,"src":"28028:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"expression":{"id":1081,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"28056:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":1082,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"28060:6:0","memberName":"sender","nodeType":"MemberAccess","src":"28056:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":1085,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":955,"src":"28080:9:0","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}],"id":1084,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"28072:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":1083,"name":"address","nodeType":"ElementaryTypeName","src":"28072:7:0","typeDescriptions":{}}},"id":1086,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28072:18:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":1087,"name":"amountAfterFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":962,"src":"28100:14:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":1080,"name":"TransferData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3124,"src":"28036:12:0","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_TransferData_$3124_storage_ptr_$","typeString":"type(struct Transfer.TransferData storage pointer)"}},"id":1088,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["28050:4:0","28068:2:0","28092:6:0"],"names":["from","to","amount"],"nodeType":"FunctionCall","src":"28036:80:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_TransferData_$3124_memory_ptr","typeString":"struct Transfer.TransferData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_struct$_TransferData_$3124_memory_ptr","typeString":"struct Transfer.TransferData memory"}],"id":1078,"name":"_transferAmountFrom","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3255,"src":"27991:19:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_struct$_TransferData_$3124_memory_ptr_$returns$_t_bool_$","typeString":"function (address,struct Transfer.TransferData memory) returns (bool)"}},"id":1089,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27991:139:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1090,"nodeType":"ExpressionStatement","src":"27991:139:0"},{"assignments":[1092],"declarations":[{"constant":false,"id":1092,"mutability":"mutable","name":"balanceAfterFundingPool","nameLocation":"28152:23:0","nodeType":"VariableDeclaration","scope":1107,"src":"28144:31:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1091,"name":"uint256","nodeType":"ElementaryTypeName","src":"28144:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":1100,"initialValue":{"arguments":[{"id":1094,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":973,"src":"28190:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":1097,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":955,"src":"28206:9:0","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}],"id":1096,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"28198:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":1095,"name":"address","nodeType":"ElementaryTypeName","src":"28198:7:0","typeDescriptions":{}}},"id":1098,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28198:18:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":1093,"name":"_getBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3316,"src":"28178:11:0","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view returns (uint256)"}},"id":1099,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28178:39:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"28144:73:0"},{"expression":{"id":1105,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":1101,"name":"amountAfterFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":962,"src":"28312:14:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1104,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1102,"name":"balanceAfterFundingPool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1092,"src":"28329:23:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":1103,"name":"balanceBeforeFundingPool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1069,"src":"28355:24:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"28329:50:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"28312:67:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":1106,"nodeType":"ExpressionStatement","src":"28312:67:0"}]},"id":1108,"nodeType":"IfStatement","src":"27697:693:0","trueBody":{"id":1067,"nodeType":"Block","src":"27719:164:0","statements":[{"expression":{"arguments":[{"id":1055,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":973,"src":"27770:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"expression":{"id":1057,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"27798:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":1058,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"27802:6:0","memberName":"sender","nodeType":"MemberAccess","src":"27798:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":1061,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":955,"src":"27822:9:0","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}],"id":1060,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"27814:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":1059,"name":"address","nodeType":"ElementaryTypeName","src":"27814:7:0","typeDescriptions":{}}},"id":1062,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27814:18:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":1063,"name":"amountAfterFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":962,"src":"27842:14:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":1056,"name":"TransferData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3124,"src":"27778:12:0","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_TransferData_$3124_storage_ptr_$","typeString":"type(struct Transfer.TransferData storage pointer)"}},"id":1064,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["27792:4:0","27810:2:0","27834:6:0"],"names":["from","to","amount"],"nodeType":"FunctionCall","src":"27778:80:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_TransferData_$3124_memory_ptr","typeString":"struct Transfer.TransferData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_struct$_TransferData_$3124_memory_ptr","typeString":"struct Transfer.TransferData memory"}],"id":1054,"name":"_transferAmountFrom","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3255,"src":"27733:19:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_struct$_TransferData_$3124_memory_ptr_$returns$_t_bool_$","typeString":"function (address,struct Transfer.TransferData memory) returns (bool)"}},"id":1065,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27733:139:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1066,"nodeType":"ExpressionStatement","src":"27733:139:0"}]}},{"expression":{"arguments":[{"id":1112,"name":"amountAfterFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":962,"src":"28429:14:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":1109,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":955,"src":"28400:9:0","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}},"id":1111,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"28410:18:0","memberName":"increasePoolAmount","nodeType":"MemberAccess","referencedDeclaration":2908,"src":"28400:28:0","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":1113,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28400:44:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1114,"nodeType":"ExpressionStatement","src":"28400:44:0"},{"eventCall":{"arguments":[{"id":1116,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":952,"src":"28471:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1117,"name":"amountAfterFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":962,"src":"28480:14:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1118,"name":"feeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":959,"src":"28496:9:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":1115,"name":"PoolFunded","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2353,"src":"28460:10:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256,uint256)"}},"id":1119,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28460:46:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1120,"nodeType":"EmitStatement","src":"28455:51:0"}]},"documentation":{"id":948,"nodeType":"StructuredDocumentation","src":"26316:313:0","text":"@notice Fund a pool.\n @dev Deducts the fee and transfers the amount to the distribution strategy.\n Emits a 'PoolFunded' event.\n @param _amount The amount to transfer\n @param _poolId The 'poolId' for the pool you are funding\n @param _strategy The address of the strategy"},"implemented":true,"kind":"function","modifiers":[],"name":"_fundPool","nameLocation":"26643:9:0","parameters":{"id":956,"nodeType":"ParameterList","parameters":[{"constant":false,"id":950,"mutability":"mutable","name":"_amount","nameLocation":"26661:7:0","nodeType":"VariableDeclaration","scope":1122,"src":"26653:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":949,"name":"uint256","nodeType":"ElementaryTypeName","src":"26653:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":952,"mutability":"mutable","name":"_poolId","nameLocation":"26678:7:0","nodeType":"VariableDeclaration","scope":1122,"src":"26670:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":951,"name":"uint256","nodeType":"ElementaryTypeName","src":"26670:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":955,"mutability":"mutable","name":"_strategy","nameLocation":"26697:9:0","nodeType":"VariableDeclaration","scope":1122,"src":"26687:19:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"},"typeName":{"id":954,"nodeType":"UserDefinedTypeName","pathNode":{"id":953,"name":"IStrategy","nameLocations":["26687:9:0"],"nodeType":"IdentifierPath","referencedDeclaration":2969,"src":"26687:9:0"},"referencedDeclaration":2969,"src":"26687:9:0","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}},"visibility":"internal"}],"src":"26652:55:0"},"returnParameters":{"id":957,"nodeType":"ParameterList","parameters":[],"src":"26717:0:0"},"scope":1390,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":1135,"nodeType":"FunctionDefinition","src":"28898:132:0","nodes":[],"body":{"id":1134,"nodeType":"Block","src":"28976:54:0","nodes":[],"statements":[{"expression":{"baseExpression":{"id":1130,"name":"cloneableStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":63,"src":"28993:19:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":1132,"indexExpression":{"id":1131,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1125,"src":"29013:9:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"28993:30:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":1129,"id":1133,"nodeType":"Return","src":"28986:37:0"}]},"documentation":{"id":1123,"nodeType":"StructuredDocumentation","src":"28519:374:0","text":"@notice Checks if the strategy is an approved cloneable strategy.\n @dev Internal function used by createPoolwithCustomStrategy and createPool to\n determine if a strategy is in the cloneable strategy allow list.\n @param _strategy The address of the strategy\n @return This will return 'true' if the strategy is cloneable, otherwise 'false'"},"implemented":true,"kind":"function","modifiers":[],"name":"_isCloneableStrategy","nameLocation":"28907:20:0","parameters":{"id":1126,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1125,"mutability":"mutable","name":"_strategy","nameLocation":"28936:9:0","nodeType":"VariableDeclaration","scope":1135,"src":"28928:17:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1124,"name":"address","nodeType":"ElementaryTypeName","src":"28928:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"28927:19:0"},"returnParameters":{"id":1129,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1128,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1135,"src":"28970:4:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1127,"name":"bool","nodeType":"ElementaryTypeName","src":"28970:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"28969:6:0"},"scope":1390,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":1154,"nodeType":"FunctionDefinition","src":"29346:153:0","nodes":[],"body":{"id":1153,"nodeType":"Block","src":"29432:67:0","nodes":[],"statements":[{"expression":{"arguments":[{"expression":{"baseExpression":{"id":1146,"name":"pools","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58,"src":"29457:5:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Pool_$2319_storage_$","typeString":"mapping(uint256 => struct IAllo.Pool storage ref)"}},"id":1148,"indexExpression":{"id":1147,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1138,"src":"29463:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"29457:14:0","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage","typeString":"struct IAllo.Pool storage ref"}},"id":1149,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"29472:9:0","memberName":"adminRole","nodeType":"MemberAccess","referencedDeclaration":2318,"src":"29457:24:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":1150,"name":"_address","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1140,"src":"29483:8:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":1145,"name":"hasRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52495,"src":"29449:7:0","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) view returns (bool)"}},"id":1151,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29449:43:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":1144,"id":1152,"nodeType":"Return","src":"29442:50:0"}]},"documentation":{"id":1136,"nodeType":"StructuredDocumentation","src":"29036:305:0","text":"@notice Checks if the address is a pool admin\n @dev Internal function used to determine if an address is a pool admin\n @param _poolId The ID of the pool\n @param _address The address to check\n @return This will return 'true' if the address is a pool admin, otherwise 'false'"},"implemented":true,"kind":"function","modifiers":[],"name":"_isPoolAdmin","nameLocation":"29355:12:0","parameters":{"id":1141,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1138,"mutability":"mutable","name":"_poolId","nameLocation":"29376:7:0","nodeType":"VariableDeclaration","scope":1154,"src":"29368:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1137,"name":"uint256","nodeType":"ElementaryTypeName","src":"29368:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1140,"mutability":"mutable","name":"_address","nameLocation":"29393:8:0","nodeType":"VariableDeclaration","scope":1154,"src":"29385:16:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1139,"name":"address","nodeType":"ElementaryTypeName","src":"29385:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"29367:35:0"},"returnParameters":{"id":1144,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1143,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1154,"src":"29426:4:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1142,"name":"bool","nodeType":"ElementaryTypeName","src":"29426:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"29425:6:0"},"scope":1390,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":1178,"nodeType":"FunctionDefinition","src":"29821:192:0","nodes":[],"body":{"id":1177,"nodeType":"Block","src":"29909:104:0","nodes":[],"statements":[{"expression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":1175,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"expression":{"baseExpression":{"id":1165,"name":"pools","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58,"src":"29934:5:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Pool_$2319_storage_$","typeString":"mapping(uint256 => struct IAllo.Pool storage ref)"}},"id":1167,"indexExpression":{"id":1166,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1157,"src":"29940:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"29934:14:0","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage","typeString":"struct IAllo.Pool storage ref"}},"id":1168,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"29949:11:0","memberName":"managerRole","nodeType":"MemberAccess","referencedDeclaration":2316,"src":"29934:26:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":1169,"name":"_address","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1159,"src":"29962:8:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":1164,"name":"hasRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52495,"src":"29926:7:0","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) view returns (bool)"}},"id":1170,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29926:45:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"arguments":[{"id":1172,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1157,"src":"29988:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1173,"name":"_address","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1159,"src":"29997:8:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"id":1171,"name":"_isPoolAdmin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1154,"src":"29975:12:0","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_address_$returns$_t_bool_$","typeString":"function (uint256,address) view returns (bool)"}},"id":1174,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29975:31:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"29926:80:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":1163,"id":1176,"nodeType":"Return","src":"29919:87:0"}]},"documentation":{"id":1155,"nodeType":"StructuredDocumentation","src":"29505:311:0","text":"@notice Checks if the address is a pool manager\n @dev Internal function used to determine if an address is a pool manager\n @param _poolId The ID of the pool\n @param _address The address to check\n @return This will return 'true' if the address is a pool manager, otherwise 'false'"},"implemented":true,"kind":"function","modifiers":[],"name":"_isPoolManager","nameLocation":"29830:14:0","parameters":{"id":1160,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1157,"mutability":"mutable","name":"_poolId","nameLocation":"29853:7:0","nodeType":"VariableDeclaration","scope":1178,"src":"29845:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1156,"name":"uint256","nodeType":"ElementaryTypeName","src":"29845:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1159,"mutability":"mutable","name":"_address","nameLocation":"29870:8:0","nodeType":"VariableDeclaration","scope":1178,"src":"29862:16:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1158,"name":"address","nodeType":"ElementaryTypeName","src":"29862:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"29844:35:0"},"returnParameters":{"id":1163,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1162,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1178,"src":"29903:4:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1161,"name":"bool","nodeType":"ElementaryTypeName","src":"29903:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"29902:6:0"},"scope":1390,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":1205,"nodeType":"FunctionDefinition","src":"30226:203:0","nodes":[],"body":{"id":1204,"nodeType":"Block","src":"30279:150:0","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":1189,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1184,"name":"_registry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1181,"src":"30293:9:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":1187,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"30314:1:0","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":1186,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"30306:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":1185,"name":"address","nodeType":"ElementaryTypeName","src":"30306:7:0","typeDescriptions":{}}},"id":1188,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30306:10:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"30293:23:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1193,"nodeType":"IfStatement","src":"30289:50:0","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":1190,"name":"ZERO_ADDRESS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3020,"src":"30325:12:0","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":1191,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30325:14:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1192,"nodeType":"RevertStatement","src":"30318:21:0"}},{"expression":{"id":1198,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":1194,"name":"registry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47,"src":"30350:8:0","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":1196,"name":"_registry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1181,"src":"30371:9:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":1195,"name":"IRegistry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2802,"src":"30361:9:0","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IRegistry_$2802_$","typeString":"type(contract IRegistry)"}},"id":1197,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30361:20:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"}},"src":"30350:31:0","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"}},"id":1199,"nodeType":"ExpressionStatement","src":"30350:31:0"},{"eventCall":{"arguments":[{"id":1201,"name":"_registry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1181,"src":"30412:9:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":1200,"name":"RegistryUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2380,"src":"30396:15:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":1202,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30396:26:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1203,"nodeType":"EmitStatement","src":"30391:31:0"}]},"documentation":{"id":1179,"nodeType":"StructuredDocumentation","src":"30019:202:0","text":"@notice Updates the registry address\n @dev Internal function used to update the registry address.\n Emits a RegistryUpdated event.\n @param _registry The new registry address"},"implemented":true,"kind":"function","modifiers":[],"name":"_updateRegistry","nameLocation":"30235:15:0","parameters":{"id":1182,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1181,"mutability":"mutable","name":"_registry","nameLocation":"30259:9:0","nodeType":"VariableDeclaration","scope":1205,"src":"30251:17:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1180,"name":"address","nodeType":"ElementaryTypeName","src":"30251:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"30250:19:0"},"returnParameters":{"id":1183,"nodeType":"ParameterList","parameters":[],"src":"30279:0:0"},"scope":1390,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":1230,"nodeType":"FunctionDefinition","src":"30642:199:0","nodes":[],"body":{"id":1229,"nodeType":"Block","src":"30703:138:0","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":1216,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1211,"name":"_treasury","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1208,"src":"30717:9:0","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":1214,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"30738:1:0","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":1213,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"30730:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":1212,"name":"address","nodeType":"ElementaryTypeName","src":"30730:7:0","typeDescriptions":{}}},"id":1215,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30730:10:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"30717:23:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1220,"nodeType":"IfStatement","src":"30713:50:0","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":1217,"name":"ZERO_ADDRESS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3020,"src":"30749:12:0","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":1218,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30749:14:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1219,"nodeType":"RevertStatement","src":"30742:21:0"}},{"expression":{"id":1223,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":1221,"name":"treasury","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"30774:8:0","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":1222,"name":"_treasury","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1208,"src":"30785:9:0","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"src":"30774:20:0","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"id":1224,"nodeType":"ExpressionStatement","src":"30774:20:0"},{"eventCall":{"arguments":[{"id":1226,"name":"treasury","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"30825:8:0","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":1225,"name":"TreasuryUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2365,"src":"30809:15:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":1227,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30809:25:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1228,"nodeType":"EmitStatement","src":"30804:30:0"}]},"documentation":{"id":1206,"nodeType":"StructuredDocumentation","src":"30435:202:0","text":"@notice Updates the treasury address\n @dev Internal function used to update the treasury address.\n Emits a TreasuryUpdated event.\n @param _treasury The new treasury address"},"implemented":true,"kind":"function","modifiers":[],"name":"_updateTreasury","nameLocation":"30651:15:0","parameters":{"id":1209,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1208,"mutability":"mutable","name":"_treasury","nameLocation":"30683:9:0","nodeType":"VariableDeclaration","scope":1230,"src":"30667:25:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"},"typeName":{"id":1207,"name":"address","nodeType":"ElementaryTypeName","src":"30667:15:0","stateMutability":"payable","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"visibility":"internal"}],"src":"30666:27:0"},"returnParameters":{"id":1210,"nodeType":"ParameterList","parameters":[],"src":"30703:0:0"},"scope":1390,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":1252,"nodeType":"FunctionDefinition","src":"31041:198:0","nodes":[],"body":{"id":1251,"nodeType":"Block","src":"31098:141:0","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1238,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1236,"name":"_percentFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1233,"src":"31112:11:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"31653138","id":1237,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"31126:4:0","typeDescriptions":{"typeIdentifier":"t_rational_1000000000000000000_by_1","typeString":"int_const 1000000000000000000"},"value":"1e18"},"src":"31112:18:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1242,"nodeType":"IfStatement","src":"31108:44:0","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":1239,"name":"INVALID_FEE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3041,"src":"31139:11:0","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":1240,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31139:13:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1241,"nodeType":"RevertStatement","src":"31132:20:0"}},{"expression":{"id":1245,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":1243,"name":"percentFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34,"src":"31163:10:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":1244,"name":"_percentFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1233,"src":"31176:11:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"31163:24:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":1246,"nodeType":"ExpressionStatement","src":"31163:24:0"},{"eventCall":{"arguments":[{"id":1248,"name":"percentFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34,"src":"31221:10:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":1247,"name":"PercentFeeUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2370,"src":"31203:17:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":1249,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31203:29:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1250,"nodeType":"EmitStatement","src":"31198:34:0"}]},"documentation":{"id":1231,"nodeType":"StructuredDocumentation","src":"30847:189:0","text":"@notice Updates the fee percentage\n @dev Internal function used to update the percentage fee.\n Emits a PercentFeeUpdated event.\n @param _percentFee The new fee"},"implemented":true,"kind":"function","modifiers":[],"name":"_updatePercentFee","nameLocation":"31050:17:0","parameters":{"id":1234,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1233,"mutability":"mutable","name":"_percentFee","nameLocation":"31076:11:0","nodeType":"VariableDeclaration","scope":1252,"src":"31068:19:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1232,"name":"uint256","nodeType":"ElementaryTypeName","src":"31068:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"31067:21:0"},"returnParameters":{"id":1235,"nodeType":"ParameterList","parameters":[],"src":"31098:0:0"},"scope":1390,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":1267,"nodeType":"FunctionDefinition","src":"31426:125:0","nodes":[],"body":{"id":1266,"nodeType":"Block","src":"31477:74:0","nodes":[],"statements":[{"expression":{"id":1260,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":1258,"name":"baseFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37,"src":"31487:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":1259,"name":"_baseFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1255,"src":"31497:8:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"31487:18:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":1261,"nodeType":"ExpressionStatement","src":"31487:18:0"},{"eventCall":{"arguments":[{"id":1263,"name":"baseFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37,"src":"31536:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":1262,"name":"BaseFeeUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2375,"src":"31521:14:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":1264,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31521:23:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1265,"nodeType":"EmitStatement","src":"31516:28:0"}]},"documentation":{"id":1253,"nodeType":"StructuredDocumentation","src":"31245:176:0","text":"@notice Updates the base fee\n @dev Internal function used to update the base fee.\n Emits a BaseFeeUpdated event.\n @param _baseFee The new base fee"},"implemented":true,"kind":"function","modifiers":[],"name":"_updateBaseFee","nameLocation":"31435:14:0","parameters":{"id":1256,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1255,"mutability":"mutable","name":"_baseFee","nameLocation":"31458:8:0","nodeType":"VariableDeclaration","scope":1267,"src":"31450:16:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1254,"name":"uint256","nodeType":"ElementaryTypeName","src":"31450:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"31449:18:0"},"returnParameters":{"id":1257,"nodeType":"ParameterList","parameters":[],"src":"31477:0:0"},"scope":1390,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":1276,"nodeType":"FunctionDefinition","src":"31788:103:0","nodes":[],"body":{"id":1275,"nodeType":"Block","src":"31863:28:0","nodes":[],"statements":[{"expression":{"hexValue":"31653138","id":1273,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"31880:4:0","typeDescriptions":{"typeIdentifier":"t_rational_1000000000000000000_by_1","typeString":"int_const 1000000000000000000"},"value":"1e18"},"functionReturnParameters":1272,"id":1274,"nodeType":"Return","src":"31873:11:0"}]},"baseFunctions":[2609],"documentation":{"id":1268,"nodeType":"StructuredDocumentation","src":"31657:126:0","text":"@notice Getter for the fee denominator\n @return FEE_DENOMINATOR The fee denominator is (1e18) which represents 100%"},"functionSelector":"f4e1fc41","implemented":true,"kind":"function","modifiers":[],"name":"getFeeDenominator","nameLocation":"31797:17:0","parameters":{"id":1269,"nodeType":"ParameterList","parameters":[],"src":"31814:2:0"},"returnParameters":{"id":1272,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1271,"mutability":"mutable","name":"FEE_DENOMINATOR","nameLocation":"31846:15:0","nodeType":"VariableDeclaration","scope":1276,"src":"31838:23:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1270,"name":"uint256","nodeType":"ElementaryTypeName","src":"31838:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"31837:25:0"},"scope":1390,"stateMutability":"pure","virtual":false,"visibility":"public"},{"id":1292,"nodeType":"FunctionDefinition","src":"32112:140:0","nodes":[],"body":{"id":1291,"nodeType":"Block","src":"32197:55:0","nodes":[],"statements":[{"expression":{"arguments":[{"id":1287,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1279,"src":"32227:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1288,"name":"_address","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1281,"src":"32236:8:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"id":1286,"name":"_isPoolAdmin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1154,"src":"32214:12:0","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_address_$returns$_t_bool_$","typeString":"function (uint256,address) view returns (bool)"}},"id":1289,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32214:31:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":1285,"id":1290,"nodeType":"Return","src":"32207:38:0"}]},"baseFunctions":[2543],"documentation":{"id":1277,"nodeType":"StructuredDocumentation","src":"31897:210:0","text":"@notice Checks if the address is a pool admin.\n @param _poolId The ID of the pool\n @param _address The address to check\n @return 'true' if the address is a pool admin, otherwise 'false'"},"functionSelector":"ab3febc6","implemented":true,"kind":"function","modifiers":[],"name":"isPoolAdmin","nameLocation":"32121:11:0","parameters":{"id":1282,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1279,"mutability":"mutable","name":"_poolId","nameLocation":"32141:7:0","nodeType":"VariableDeclaration","scope":1292,"src":"32133:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1278,"name":"uint256","nodeType":"ElementaryTypeName","src":"32133:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1281,"mutability":"mutable","name":"_address","nameLocation":"32158:8:0","nodeType":"VariableDeclaration","scope":1292,"src":"32150:16:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1280,"name":"address","nodeType":"ElementaryTypeName","src":"32150:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"32132:35:0"},"returnParameters":{"id":1285,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1284,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1292,"src":"32191:4:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1283,"name":"bool","nodeType":"ElementaryTypeName","src":"32191:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"32190:6:0"},"scope":1390,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":1308,"nodeType":"FunctionDefinition","src":"32476:144:0","nodes":[],"body":{"id":1307,"nodeType":"Block","src":"32563:57:0","nodes":[],"statements":[{"expression":{"arguments":[{"id":1303,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1295,"src":"32595:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1304,"name":"_address","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1297,"src":"32604:8:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"id":1302,"name":"_isPoolManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1178,"src":"32580:14:0","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_address_$returns$_t_bool_$","typeString":"function (uint256,address) view returns (bool)"}},"id":1305,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32580:33:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":1301,"id":1306,"nodeType":"Return","src":"32573:40:0"}]},"baseFunctions":[2553],"documentation":{"id":1293,"nodeType":"StructuredDocumentation","src":"32258:213:0","text":"@notice Checks if the address is a pool manager\n @param _poolId The ID of the pool\n @param _address The address to check\n @return 'true' if the address is a pool manager, otherwise 'false'"},"functionSelector":"29e40d4b","implemented":true,"kind":"function","modifiers":[],"name":"isPoolManager","nameLocation":"32485:13:0","parameters":{"id":1298,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1295,"mutability":"mutable","name":"_poolId","nameLocation":"32507:7:0","nodeType":"VariableDeclaration","scope":1308,"src":"32499:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1294,"name":"uint256","nodeType":"ElementaryTypeName","src":"32499:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1297,"mutability":"mutable","name":"_address","nameLocation":"32524:8:0","nodeType":"VariableDeclaration","scope":1308,"src":"32516:16:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1296,"name":"address","nodeType":"ElementaryTypeName","src":"32516:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"32498:35:0"},"returnParameters":{"id":1301,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1300,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1308,"src":"32557:4:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1299,"name":"bool","nodeType":"ElementaryTypeName","src":"32557:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"32556:6:0"},"scope":1390,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":1325,"nodeType":"FunctionDefinition","src":"32753:126:0","nodes":[],"body":{"id":1324,"nodeType":"Block","src":"32823:56:0","nodes":[],"statements":[{"expression":{"arguments":[{"expression":{"baseExpression":{"id":1318,"name":"pools","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58,"src":"32848:5:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Pool_$2319_storage_$","typeString":"mapping(uint256 => struct IAllo.Pool storage ref)"}},"id":1320,"indexExpression":{"id":1319,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1311,"src":"32854:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"32848:14:0","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage","typeString":"struct IAllo.Pool storage ref"}},"id":1321,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"32863:8:0","memberName":"strategy","nodeType":"MemberAccess","referencedDeclaration":2309,"src":"32848:23:0","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}],"id":1317,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"32840:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":1316,"name":"address","nodeType":"ElementaryTypeName","src":"32840:7:0","typeDescriptions":{}}},"id":1322,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32840:32:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":1315,"id":1323,"nodeType":"Return","src":"32833:39:0"}]},"baseFunctions":[2569],"documentation":{"id":1309,"nodeType":"StructuredDocumentation","src":"32626:122:0","text":"@notice Getter for the strategy.\n @param _poolId The ID of the pool\n @return The address of the strategy"},"functionSelector":"cfc0cc34","implemented":true,"kind":"function","modifiers":[],"name":"getStrategy","nameLocation":"32762:11:0","parameters":{"id":1312,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1311,"mutability":"mutable","name":"_poolId","nameLocation":"32782:7:0","nodeType":"VariableDeclaration","scope":1325,"src":"32774:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1310,"name":"uint256","nodeType":"ElementaryTypeName","src":"32774:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"32773:17:0"},"returnParameters":{"id":1315,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1314,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1325,"src":"32814:7:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1313,"name":"address","nodeType":"ElementaryTypeName","src":"32814:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"32813:9:0"},"scope":1390,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":1334,"nodeType":"FunctionDefinition","src":"32977:91:0","nodes":[],"body":{"id":1333,"nodeType":"Block","src":"33034:34:0","nodes":[],"statements":[{"expression":{"id":1331,"name":"percentFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34,"src":"33051:10:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":1330,"id":1332,"nodeType":"Return","src":"33044:17:0"}]},"baseFunctions":[2575],"documentation":{"id":1326,"nodeType":"StructuredDocumentation","src":"32885:87:0","text":"@notice Getter for fee percentage.\n @return The fee percentage (1e18 = 100%)"},"functionSelector":"4edbaadc","implemented":true,"kind":"function","modifiers":[],"name":"getPercentFee","nameLocation":"32986:13:0","parameters":{"id":1327,"nodeType":"ParameterList","parameters":[],"src":"32999:2:0"},"returnParameters":{"id":1330,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1329,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1334,"src":"33025:7:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1328,"name":"uint256","nodeType":"ElementaryTypeName","src":"33025:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"33024:9:0"},"scope":1390,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":1343,"nodeType":"FunctionDefinition","src":"33140:85:0","nodes":[],"body":{"id":1342,"nodeType":"Block","src":"33194:31:0","nodes":[],"statements":[{"expression":{"id":1340,"name":"baseFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37,"src":"33211:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":1339,"id":1341,"nodeType":"Return","src":"33204:14:0"}]},"baseFunctions":[2581],"documentation":{"id":1335,"nodeType":"StructuredDocumentation","src":"33074:61:0","text":"@notice Getter for base fee.\n @return The base fee"},"functionSelector":"15e812ad","implemented":true,"kind":"function","modifiers":[],"name":"getBaseFee","nameLocation":"33149:10:0","parameters":{"id":1336,"nodeType":"ParameterList","parameters":[],"src":"33159:2:0"},"returnParameters":{"id":1339,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1338,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1343,"src":"33185:7:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1337,"name":"uint256","nodeType":"ElementaryTypeName","src":"33185:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"33184:9:0"},"scope":1390,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":1352,"nodeType":"FunctionDefinition","src":"33313:95:0","nodes":[],"body":{"id":1351,"nodeType":"Block","src":"33376:32:0","nodes":[],"statements":[{"expression":{"id":1349,"name":"treasury","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43,"src":"33393:8:0","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"functionReturnParameters":1348,"id":1350,"nodeType":"Return","src":"33386:15:0"}]},"baseFunctions":[2587],"documentation":{"id":1344,"nodeType":"StructuredDocumentation","src":"33231:77:0","text":"@notice Getter for treasury address.\n @return The treasury address"},"functionSelector":"3b19e84a","implemented":true,"kind":"function","modifiers":[],"name":"getTreasury","nameLocation":"33322:11:0","parameters":{"id":1345,"nodeType":"ParameterList","parameters":[],"src":"33333:2:0"},"returnParameters":{"id":1348,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1347,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1352,"src":"33359:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"},"typeName":{"id":1346,"name":"address","nodeType":"ElementaryTypeName","src":"33359:15:0","stateMutability":"payable","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"visibility":"internal"}],"src":"33358:17:0"},"scope":1390,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":1362,"nodeType":"FunctionDefinition","src":"33488:89:0","nodes":[],"body":{"id":1361,"nodeType":"Block","src":"33545:32:0","nodes":[],"statements":[{"expression":{"id":1359,"name":"registry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47,"src":"33562:8:0","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"}},"functionReturnParameters":1358,"id":1360,"nodeType":"Return","src":"33555:15:0"}]},"baseFunctions":[2594],"documentation":{"id":1353,"nodeType":"StructuredDocumentation","src":"33414:69:0","text":"@notice Getter for registry.\n @return The registry address"},"functionSelector":"5ab1bd53","implemented":true,"kind":"function","modifiers":[],"name":"getRegistry","nameLocation":"33497:11:0","parameters":{"id":1354,"nodeType":"ParameterList","parameters":[],"src":"33508:2:0"},"returnParameters":{"id":1358,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1357,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1362,"src":"33534:9:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"},"typeName":{"id":1356,"nodeType":"UserDefinedTypeName","pathNode":{"id":1355,"name":"IRegistry","nameLocations":["33534:9:0"],"nodeType":"IdentifierPath","referencedDeclaration":2802,"src":"33534:9:0"},"referencedDeclaration":2802,"src":"33534:9:0","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"}},"visibility":"internal"}],"src":"33533:11:0"},"scope":1390,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":1375,"nodeType":"FunctionDefinition","src":"33760:132:0","nodes":[],"body":{"id":1374,"nodeType":"Block","src":"33837:55:0","nodes":[],"statements":[{"expression":{"arguments":[{"id":1371,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1365,"src":"33875:9:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":1370,"name":"_isCloneableStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1135,"src":"33854:20:0","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":1372,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33854:31:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":1369,"id":1373,"nodeType":"Return","src":"33847:38:0"}]},"baseFunctions":[2561],"documentation":{"id":1363,"nodeType":"StructuredDocumentation","src":"33583:172:0","text":"@notice Getter for if strategy is cloneable.\n @param _strategy The address of the strategy\n @return 'true' if the strategy is cloneable, otherwise 'false'"},"functionSelector":"ab2ec589","implemented":true,"kind":"function","modifiers":[],"name":"isCloneableStrategy","nameLocation":"33769:19:0","parameters":{"id":1366,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1365,"mutability":"mutable","name":"_strategy","nameLocation":"33797:9:0","nodeType":"VariableDeclaration","scope":1375,"src":"33789:17:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1364,"name":"address","nodeType":"ElementaryTypeName","src":"33789:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"33788:19:0"},"returnParameters":{"id":1369,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1368,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1375,"src":"33831:4:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1367,"name":"bool","nodeType":"ElementaryTypeName","src":"33831:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"33830:6:0"},"scope":1390,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":1389,"nodeType":"FunctionDefinition","src":"34013:108:0","nodes":[],"body":{"id":1388,"nodeType":"Block","src":"34083:38:0","nodes":[],"statements":[{"expression":{"baseExpression":{"id":1384,"name":"pools","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58,"src":"34100:5:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Pool_$2319_storage_$","typeString":"mapping(uint256 => struct IAllo.Pool storage ref)"}},"id":1386,"indexExpression":{"id":1385,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1378,"src":"34106:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"34100:14:0","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage","typeString":"struct IAllo.Pool storage ref"}},"functionReturnParameters":1383,"id":1387,"nodeType":"Return","src":"34093:21:0"}]},"baseFunctions":[2603],"documentation":{"id":1376,"nodeType":"StructuredDocumentation","src":"33898:110:0","text":"@notice Getter for the 'Pool'.\n @param _poolId The ID of the pool\n @return The 'Pool' struct"},"functionSelector":"068bcd8d","implemented":true,"kind":"function","modifiers":[],"name":"getPool","nameLocation":"34022:7:0","parameters":{"id":1379,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1378,"mutability":"mutable","name":"_poolId","nameLocation":"34038:7:0","nodeType":"VariableDeclaration","scope":1389,"src":"34030:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1377,"name":"uint256","nodeType":"ElementaryTypeName","src":"34030:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"34029:17:0"},"returnParameters":{"id":1383,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1382,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1389,"src":"34070:11:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool"},"typeName":{"id":1381,"nodeType":"UserDefinedTypeName","pathNode":{"id":1380,"name":"Pool","nameLocations":["34070:4:0"],"nodeType":"IdentifierPath","referencedDeclaration":2319,"src":"34070:4:0"},"referencedDeclaration":2319,"src":"34070:4:0","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool"}},"visibility":"internal"}],"src":"34069:13:0"},"scope":1390,"stateMutability":"view","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[{"baseName":{"id":16,"name":"IAllo","nameLocations":["5097:5:0"],"nodeType":"IdentifierPath","referencedDeclaration":2610,"src":"5097:5:0"},"id":17,"nodeType":"InheritanceSpecifier","src":"5097:5:0"},{"baseName":{"id":18,"name":"Native","nameLocations":["5108:6:0"],"nodeType":"IdentifierPath","referencedDeclaration":3106,"src":"5108:6:0"},"id":19,"nodeType":"InheritanceSpecifier","src":"5108:6:0"},{"baseName":{"id":20,"name":"Transfer","nameLocations":["5120:8:0"],"nodeType":"IdentifierPath","referencedDeclaration":3317,"src":"5120:8:0"},"id":21,"nodeType":"InheritanceSpecifier","src":"5120:8:0"},{"baseName":{"id":22,"name":"Initializable","nameLocations":["5134:13:0"],"nodeType":"IdentifierPath","referencedDeclaration":53191,"src":"5134:13:0"},"id":23,"nodeType":"InheritanceSpecifier","src":"5134:13:0"},{"baseName":{"id":24,"name":"Ownable","nameLocations":["5153:7:0"],"nodeType":"IdentifierPath","referencedDeclaration":4095,"src":"5153:7:0"},"id":25,"nodeType":"InheritanceSpecifier","src":"5153:7:0"},{"baseName":{"id":26,"name":"AccessControlUpgradeable","nameLocations":["5166:24:0"],"nodeType":"IdentifierPath","referencedDeclaration":52736,"src":"5166:24:0"},"id":27,"nodeType":"InheritanceSpecifier","src":"5166:24:0"},{"baseName":{"id":28,"name":"ReentrancyGuardUpgradeable","nameLocations":["5196:26:0"],"nodeType":"IdentifierPath","referencedDeclaration":53276,"src":"5196:26:0"},"id":29,"nodeType":"InheritanceSpecifier","src":"5196:26:0"},{"baseName":{"id":30,"name":"Errors","nameLocations":["5228:6:0"],"nodeType":"IdentifierPath","referencedDeclaration":3089,"src":"5228:6:0"},"id":31,"nodeType":"InheritanceSpecifier","src":"5228:6:0"}],"canonicalName":"Allo","contractDependencies":[],"contractKind":"contract","documentation":{"id":15,"nodeType":"StructuredDocumentation","src":"4725:351:0","text":"@title Allo\n @author @thelostone-mc , @0xKurt , @codenamejason , @0xZakk , @nfrgosselin \n @notice This contract is used to create & manage pools as well as manage the protocol.\n @dev The contract must be initialized with the 'initialize()' function."},"fullyImplemented":true,"linearizedBaseContracts":[1390,3089,53276,52736,54009,54021,52809,53735,4095,53191,3317,3106,2610],"name":"Allo","nameLocation":"5085:4:0","scope":1391,"usedErrors":[3008,3011,3014,3017,3020,3023,3026,3029,3032,3035,3038,3041,3044,3047,3050,3053,3056,3059,3062,3065,3068,3071,3074,3079,3082,3085,3088,3117,3929,3932,3935]}],"license":"AGPL-3.0-only"},"id":0} \ No newline at end of file diff --git a/pkg/contracts/out/CVStrategy.sol/CVStrategy.json b/pkg/contracts/out/CVStrategy.sol/CVStrategy.json index 5b3245145..ee5af5dbe 100644 --- a/pkg/contracts/out/CVStrategy.sol/CVStrategy.json +++ b/pkg/contracts/out/CVStrategy.sol/CVStrategy.json @@ -1,41160 +1 @@ -{ - "abi": [ - { - "type": "constructor", - "inputs": [ - { - "name": "_allo", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "fallback", - "stateMutability": "payable" - }, - { - "type": "receive", - "stateMutability": "payable" - }, - { - "type": "function", - "name": "D", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "MAX_STAKED_PROPOSALS", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "NATIVE", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "_minThresholdPoints", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "activatePoints", - "inputs": [], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "allocate", - "inputs": [ - { - "name": "_data", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_sender", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "calculateConviction", - "inputs": [ - { - "name": "_timePassed", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_lastConv", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_oldAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "calculateThreshold", - "inputs": [ - { - "name": "_requestedAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "_threshold", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "canExecuteProposal", - "inputs": [ - { - "name": "proposalId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "canBeExecuted", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "deactivatePoints", - "inputs": [], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "deactivatePoints", - "inputs": [ - { - "name": "_member", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "decay", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "decreasePower", - "inputs": [ - { - "name": "_member", - "type": "address", - "internalType": "address" - }, - { - "name": "_amountToUnstake", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "distribute", - "inputs": [ - { - "name": "_recipientIds", - "type": "address[]", - "internalType": "address[]" - }, - { - "name": "_data", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_sender", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "getAllo", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract IAllo" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getMaxAmount", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getMaxConviction", - "inputs": [ - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getMetadata", - "inputs": [ - { - "name": "_proposalId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct Metadata", - "components": [ - { - "name": "protocol", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "pointer", - "type": "string", - "internalType": "string" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getPayouts", - "inputs": [ - { - "name": "", - "type": "address[]", - "internalType": "address[]" - }, - { - "name": "", - "type": "bytes[]", - "internalType": "bytes[]" - } - ], - "outputs": [ - { - "name": "", - "type": "tuple[]", - "internalType": "struct IStrategy.PayoutSummary[]", - "components": [ - { - "name": "recipientAddress", - "type": "address", - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "getPointSystem", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint8", - "internalType": "enum StrategyStruct.PointSystem" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getPoolAmount", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getPoolId", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getProposal", - "inputs": [ - { - "name": "_proposalId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "submitter", - "type": "address", - "internalType": "address" - }, - { - "name": "beneficiary", - "type": "address", - "internalType": "address" - }, - { - "name": "requestedToken", - "type": "address", - "internalType": "address" - }, - { - "name": "requestedAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "stakedAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "proposalStatus", - "type": "uint8", - "internalType": "enum StrategyStruct.ProposalStatus" - }, - { - "name": "blockLast", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "convictionLast", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "threshold", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "voterStakedPoints", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getProposalStakedAmount", - "inputs": [ - { - "name": "_proposalId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getProposalVoterStake", - "inputs": [ - { - "name": "_proposalId", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_voter", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getRecipientStatus", - "inputs": [ - { - "name": "_recipientId", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint8", - "internalType": "enum IStrategy.Status" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getStrategyId", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getTotalVoterStakePct", - "inputs": [ - { - "name": "_voter", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "increasePoolAmount", - "inputs": [ - { - "name": "_amount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "increasePower", - "inputs": [ - { - "name": "_member", - "type": "address", - "internalType": "address" - }, - { - "name": "_amountToStake", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "initialize", - "inputs": [ - { - "name": "_poolId", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_data", - "type": "bytes", - "internalType": "bytes" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "isPoolActive", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isValidAllocator", - "inputs": [ - { - "name": "_allocator", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "maxRatio", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "pointConfig", - "inputs": [], - "outputs": [ - { - "name": "maxAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "pointSystem", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint8", - "internalType": "enum StrategyStruct.PointSystem" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "proposalCounter", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "proposalType", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint8", - "internalType": "enum StrategyStruct.ProposalType" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "proposals", - "inputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "proposalId", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "requestedAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "stakedAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "convictionLast", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "beneficiary", - "type": "address", - "internalType": "address" - }, - { - "name": "submitter", - "type": "address", - "internalType": "address" - }, - { - "name": "requestedToken", - "type": "address", - "internalType": "address" - }, - { - "name": "blockLast", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "proposalStatus", - "type": "uint8", - "internalType": "enum StrategyStruct.ProposalStatus" - }, - { - "name": "metadata", - "type": "tuple", - "internalType": "struct Metadata", - "components": [ - { - "name": "protocol", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "pointer", - "type": "string", - "internalType": "string" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "registerRecipient", - "inputs": [ - { - "name": "_data", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_sender", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "recipientId", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "registryCommunity", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract RegistryCommunity" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "setDecay", - "inputs": [ - { - "name": "_decay", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setMaxRatio", - "inputs": [ - { - "name": "_maxRatio", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setMinThresholdPoints", - "inputs": [ - { - "name": "minThresholdPoints_", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setPoolActive", - "inputs": [ - { - "name": "_active", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setRegistryCommunity", - "inputs": [ - { - "name": "_registryCommunity", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setSybilScorer", - "inputs": [ - { - "name": "_sybilScorer", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setWeight", - "inputs": [ - { - "name": "_weight", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "supportProposal", - "inputs": [ - { - "name": "", - "type": "tuple[]", - "internalType": "struct StrategyStruct.ProposalSupport[]", - "components": [ - { - "name": "proposalId", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "deltaSupport", - "type": "int256", - "internalType": "int256" - } - ] - } - ], - "outputs": [], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "supportsInterface", - "inputs": [ - { - "name": "interfaceId", - "type": "bytes4", - "internalType": "bytes4" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "sybilScorer", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract ISybilScorer" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "totalEffectiveActivePoints", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "totalPointsActivated", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "totalStaked", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "totalVoterStakePct", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "updateProposalConviction", - "inputs": [ - { - "name": "proposalId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "voterStakedProposals", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "weight", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "event", - "name": "Allocated", - "inputs": [ - { - "name": "recipientId", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "token", - "type": "address", - "indexed": false, - "internalType": "address" - }, - { - "name": "sender", - "type": "address", - "indexed": false, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "DecayUpdated", - "inputs": [ - { - "name": "decay", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Distributed", - "inputs": [ - { - "name": "proposalId", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "beneficiary", - "type": "address", - "indexed": false, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Distributed", - "inputs": [ - { - "name": "recipientId", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "recipientAddress", - "type": "address", - "indexed": false, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "sender", - "type": "address", - "indexed": false, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialized", - "inputs": [ - { - "name": "poolId", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "data", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "InitializedCV", - "inputs": [ - { - "name": "poolId", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "data", - "type": "tuple", - "indexed": false, - "internalType": "struct StrategyStruct.InitializeParams", - "components": [ - { - "name": "registryCommunity", - "type": "address", - "internalType": "address" - }, - { - "name": "decay", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "maxRatio", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "weight", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minThresholdPoints", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "proposalType", - "type": "uint8", - "internalType": "enum StrategyStruct.ProposalType" - }, - { - "name": "pointSystem", - "type": "uint8", - "internalType": "enum StrategyStruct.PointSystem" - }, - { - "name": "pointConfig", - "type": "tuple", - "internalType": "struct StrategyStruct.PointSystemConfig", - "components": [ - { - "name": "maxAmount", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "name": "sybilScorer", - "type": "address", - "internalType": "address" - } - ] - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "MaxRatioUpdated", - "inputs": [ - { - "name": "maxRatio", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "MinThresholdPointsUpdated", - "inputs": [ - { - "name": "before", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "minThresholdPoints", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PointsDeactivated", - "inputs": [ - { - "name": "member", - "type": "address", - "indexed": false, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PoolActive", - "inputs": [ - { - "name": "active", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PoolAmountIncreased", - "inputs": [ - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PowerDecreased", - "inputs": [ - { - "name": "member", - "type": "address", - "indexed": false, - "internalType": "address" - }, - { - "name": "tokensUnStaked", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "pointsToDecrease", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PowerIncreased", - "inputs": [ - { - "name": "member", - "type": "address", - "indexed": false, - "internalType": "address" - }, - { - "name": "tokensStaked", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "pointsToIncrease", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ProposalCreated", - "inputs": [ - { - "name": "poolId", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "proposalId", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Registered", - "inputs": [ - { - "name": "recipientId", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "data", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - }, - { - "name": "sender", - "type": "address", - "indexed": false, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RegistryUpdated", - "inputs": [ - { - "name": "registryCommunity", - "type": "address", - "indexed": false, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "SupportAdded", - "inputs": [ - { - "name": "from", - "type": "address", - "indexed": false, - "internalType": "address" - }, - { - "name": "proposalId", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "totalStakedAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "convictionLast", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "WeightUpdated", - "inputs": [ - { - "name": "weight", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "ALLOCATION_ACTIVE", - "inputs": [] - }, - { - "type": "error", - "name": "ALLOCATION_NOT_ACTIVE", - "inputs": [] - }, - { - "type": "error", - "name": "ALLOCATION_NOT_ENDED", - "inputs": [] - }, - { - "type": "error", - "name": "ALREADY_INITIALIZED", - "inputs": [] - }, - { - "type": "error", - "name": "AMOUNT_MISMATCH", - "inputs": [] - }, - { - "type": "error", - "name": "ANCHOR_ERROR", - "inputs": [] - }, - { - "type": "error", - "name": "ARRAY_MISMATCH", - "inputs": [] - }, - { - "type": "error", - "name": "AddressCannotBeZero", - "inputs": [] - }, - { - "type": "error", - "name": "AmountOverMaxRatio", - "inputs": [] - }, - { - "type": "error", - "name": "CantIncreaseFixedSystem", - "inputs": [] - }, - { - "type": "error", - "name": "ConvictionUnderMinimumThreshold", - "inputs": [] - }, - { - "type": "error", - "name": "INVALID", - "inputs": [] - }, - { - "type": "error", - "name": "INVALID_ADDRESS", - "inputs": [] - }, - { - "type": "error", - "name": "INVALID_FEE", - "inputs": [] - }, - { - "type": "error", - "name": "INVALID_METADATA", - "inputs": [] - }, - { - "type": "error", - "name": "INVALID_REGISTRATION", - "inputs": [] - }, - { - "type": "error", - "name": "IS_APPROVED_STRATEGY", - "inputs": [] - }, - { - "type": "error", - "name": "MISMATCH", - "inputs": [] - }, - { - "type": "error", - "name": "MaxPointsReached", - "inputs": [] - }, - { - "type": "error", - "name": "NONCE_NOT_AVAILABLE", - "inputs": [] - }, - { - "type": "error", - "name": "NOT_APPROVED_STRATEGY", - "inputs": [] - }, - { - "type": "error", - "name": "NOT_ENOUGH_FUNDS", - "inputs": [] - }, - { - "type": "error", - "name": "NOT_IMPLEMENTED", - "inputs": [] - }, - { - "type": "error", - "name": "NOT_INITIALIZED", - "inputs": [] - }, - { - "type": "error", - "name": "NOT_PENDING_OWNER", - "inputs": [] - }, - { - "type": "error", - "name": "NotEnoughPointsToSupport", - "inputs": [ - { - "name": "pointsSupport", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "pointsBalance", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "type": "error", - "name": "NotImplemented", - "inputs": [] - }, - { - "type": "error", - "name": "OnlyCommunityAllowed", - "inputs": [] - }, - { - "type": "error", - "name": "OnlyCouncilSafe", - "inputs": [] - }, - { - "type": "error", - "name": "POOL_ACTIVE", - "inputs": [] - }, - { - "type": "error", - "name": "POOL_INACTIVE", - "inputs": [] - }, - { - "type": "error", - "name": "PoolAmountNotEnough", - "inputs": [ - { - "name": "_proposalId", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_requestedAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_poolAmount", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "type": "error", - "name": "PoolIdCannotBeZero", - "inputs": [] - }, - { - "type": "error", - "name": "PoolIsEmpty", - "inputs": [] - }, - { - "type": "error", - "name": "ProposalDataIsEmpty", - "inputs": [] - }, - { - "type": "error", - "name": "ProposalIdCannotBeZero", - "inputs": [] - }, - { - "type": "error", - "name": "ProposalNotActive", - "inputs": [ - { - "name": "_proposalId", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "type": "error", - "name": "ProposalNotInList", - "inputs": [ - { - "name": "_proposalId", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "type": "error", - "name": "ProposalSupportDuplicated", - "inputs": [ - { - "name": "_proposalId", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "index", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "type": "error", - "name": "RECIPIENT_ALREADY_ACCEPTED", - "inputs": [] - }, - { - "type": "error", - "name": "RECIPIENT_ERROR", - "inputs": [ - { - "name": "recipientId", - "type": "address", - "internalType": "address" - } - ] - }, - { - "type": "error", - "name": "RECIPIENT_NOT_ACCEPTED", - "inputs": [] - }, - { - "type": "error", - "name": "REGISTRATION_NOT_ACTIVE", - "inputs": [] - }, - { - "type": "error", - "name": "RegistryCannotBeZero", - "inputs": [] - }, - { - "type": "error", - "name": "SupportUnderflow", - "inputs": [ - { - "name": "_support", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_delta", - "type": "int256", - "internalType": "int256" - }, - { - "name": "_result", - "type": "int256", - "internalType": "int256" - } - ] - }, - { - "type": "error", - "name": "TokenCannotBeZero", - "inputs": [] - }, - { - "type": "error", - "name": "TokenNotAllowed", - "inputs": [] - }, - { - "type": "error", - "name": "UNAUTHORIZED", - "inputs": [] - }, - { - "type": "error", - "name": "UserCannotBeZero", - "inputs": [] - }, - { - "type": "error", - "name": "UserCannotExecuteAction", - "inputs": [] - }, - { - "type": "error", - "name": "UserIsInactive", - "inputs": [] - }, - { - "type": "error", - "name": "UserNotInRegistry", - "inputs": [] - }, - { - "type": "error", - "name": "ZERO_ADDRESS", - "inputs": [] - } - ], - "bytecode": { - "object": "0x60c0604052600060065560006009553480156200001b57600080fd5b5060405162004d3d38038062004d3d8339810160408190526200003e91620000a6565b604080518082018252600a8152694356537472617465677960b01b6020808301919091526001600160a01b038416608052915183926200008191839101620000d8565b60408051601f19818403018152919052805160209091012060a0525062000128915050565b600060208284031215620000b957600080fd5b81516001600160a01b0381168114620000d157600080fd5b9392505050565b600060208083528351808285015260005b818110156200010757858101830151858201604001528201620000e9565b506000604082860101526040601f19601f8301168501019250505092915050565b60805160a051614bda6200016360003960006105f401526000818161048801528181611a1f01528181611ab20152611d3b0152614bda6000f3fe6080604052600436106103555760003560e01c8063782aadff116101b9578063b5f620ce116100f6578063df868ed31161009a578063edd146cc1161006c578063edd146cc14610a5f578063ef2920fc14610a7f578063f5b0dfb714610a92578063fc1711f214610ab257005b8063df868ed3146109da578063e0dd2c38146109f2578063e33add9314610a12578063eb11af9314610a3257005b8063c3292171116100d3578063c329217114610942578063c7f758a81461095f578063d1e3623214610995578063dc96ff2d146109aa57005b8063b5f620ce146108cc578063b6c61f31146108ec578063bcc5b93b1461090c57005b8063a0cf0aea1161015d578063a574cea41161013a578063a574cea41461083c578063aba9ffee14610869578063ac1ed7b91461087f578063b2b878d01461089f57005b8063a0cf0aea146107e7578063a1aab33f1461080f578063a47ff7e51461082557005b8063817b1cd211610196578063817b1cd214610771578063824ea8ed14610787578063868c57b8146107a7578063950559d7146107c757005b8063782aadff146107265780637c6570ba14610746578063814516ad1461075c57005b80632ed04b2b116102925780634d31d087116102365780636003e414116102085780636003e414146106b05780636453d9c4146106d057806369fa25c4146106f057806376365af71461071057005b80634d31d0871461062d57806354fac9191461064d57806359a5db8b146106635780635db64b991461068357005b806338fff2d01161026f57806338fff2d0146105bb578063406244d8146105d057806342fda9c7146105e55780634ab4ba421461061857005b80632ed04b2b14610554578063346db8cb14610574578063351d9f961461059457005b806311f22ae3116102f95780631ddf1e23116102d65780631ddf1e23146104e05780632bbe0cae146104f55780632cefadbb146105085780632dbd6fdd1461052857005b806311f22ae31461045957806315cc481e146104795780631aa91a9e146104c057005b80630a6f0ee9116103325780630a6f0ee9146103ed5780630ba959091461040d5780630c0512e91461042c5780630f529ba21461044257005b8063013cf08b1461035e57806301ffc9a71461039d578063058aca44146103cd57005b3661035c57005b005b34801561036a57600080fd5b5061037e610379366004613bbb565b610ad2565b6040516103949a99989796959493929190613c75565b60405180910390f35b3480156103a957600080fd5b506103bd6103b8366004613ce8565b610be0565b6040519015158152602001610394565b3480156103d957600080fd5b5061035c6103e8366004613d3f565b610c79565b3480156103f957600080fd5b5061035c610408366004613f47565b610cd9565b34801561041957600080fd5b50600c545b604051908152602001610394565b34801561043857600080fd5b5061041e60065481565b34801561044e57600080fd5b5061041e6298968081565b34801561046557600080fd5b5061035c610474366004613bbb565b610cf9565b34801561048557600080fd5b507f00000000000000000000000000000000000000000000000000000000000000005b6040516001600160a01b039091168152602001610394565b3480156104cc57600080fd5b5061041e6104db366004613bbb565b610d38565b3480156104ec57600080fd5b5061035c610dc3565b6104a8610503366004613fbf565b610dce565b34801561051457600080fd5b5061035c610523366004613bbb565b610df1565b34801561053457600080fd5b50600b5461054790610100900460ff1681565b6040516103949190614021565b34801561056057600080fd5b5061041e61056f36600461402f565b610e3d565b34801561058057600080fd5b5061041e61058f36600461405b565b610f0f565b3480156105a057600080fd5b50600b546105ae9060ff1681565b6040516103949190614097565b3480156105c757600080fd5b5060015461041e565b3480156105dc57600080fd5b5061041e600a81565b3480156105f157600080fd5b507f000000000000000000000000000000000000000000000000000000000000000061041e565b34801561062457600080fd5b5060025461041e565b34801561063957600080fd5b506103bd610648366004613d3f565b610fb4565b34801561065957600080fd5b5061041e60035481565b34801561066f57600080fd5b5061041e61067e366004613bbb565b610fbf565b34801561068f57600080fd5b5061041e61069e366004613d3f565b60106020526000908152604090205481565b3480156106bc57600080fd5b50600d546104a8906001600160a01b031681565b3480156106dc57600080fd5b5061035c6106eb366004613d3f565b6110fc565b3480156106fc57600080fd5b5061035c61070b366004613bbb565b611110565b34801561071c57600080fd5b5061041e60045481565b34801561073257600080fd5b5061041e61074136600461402f565b61114f565b34801561075257600080fd5b5061041e60095481565b34801561076857600080fd5b5061035c6112f1565b34801561077d57600080fd5b5061041e60075481565b34801561079357600080fd5b506103bd6107a2366004613bbb565b611423565b3480156107b357600080fd5b5061041e6107c236600461402f565b611480565b3480156107d357600080fd5b5061041e6107e2366004613bbb565b6114b1565b3480156107f357600080fd5b506104a873eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b34801561081b57600080fd5b5061041e60055481565b34801561083157600080fd5b50600c5461041e9081565b34801561084857600080fd5b5061085c610857366004613bbb565b6114db565b60405161039491906140a5565b34801561087557600080fd5b5061041e60085481565b34801561088b57600080fd5b5061035c61089a366004613d3f565b6115ba565b3480156108ab57600080fd5b506108bf6108ba3660046140b8565b61169b565b604051610394919061418d565b3480156108d857600080fd5b5061035c6108e73660046141f3565b6116b6565b3480156108f857600080fd5b50600e546104a8906001600160a01b031681565b34801561091857600080fd5b5061041e610927366004613d3f565b6001600160a01b031660009081526010602052604090205490565b34801561094e57600080fd5b50600b54610100900460ff16610547565b34801561096b57600080fd5b5061097f61097a366004613bbb565b6116bf565b6040516103949a99989796959493929190614210565b3480156109a157600080fd5b5060085461041e565b3480156109b657600080fd5b5061041e6109c5366004613bbb565b6000908152600f602052604090206002015490565b3480156109e657600080fd5b5060005460ff166103bd565b3480156109fe57600080fd5b5061041e610a0d366004614275565b6117c1565b348015610a1e57600080fd5b5061035c610a2d36600461429a565b6117ec565b348015610a3e57600080fd5b50610a52610a4d366004613d3f565b611805565b6040516103949190614345565b348015610a6b57600080fd5b5061035c610a7a36600461435f565b611810565b61035c610a8d366004613fbf565b611956565b348015610a9e57600080fd5b5061035c610aad366004613bbb565b611974565b348015610abe57600080fd5b5061035c610acd366004613bbb565b61199d565b600f602090815260009182526040918290208054600182015460028301546003840154600485015460058601546006870154600788015460088901548b51808d01909c52600a8a0180548d52600b8b0180549a9d999c989b979a6001600160a01b039788169a968816999790951697939660ff9093169593949192840191610b59906143a6565b80601f0160208091040260200160405190810160405280929190818152602001828054610b85906143a6565b8015610bd25780601f10610ba757610100808354040283529160200191610bd2565b820191906000526020600020905b815481529060010190602001808311610bb557829003601f168201915b50505050508152505090508a565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167ff1801e61000000000000000000000000000000000000000000000000000000001480610c7357507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b33610c83816119dc565b600d80546001600160a01b0319166001600160a01b0384169081179091556040519081527fd6ceddf6d2a22f21c7c81675c518004eff43bc5c8a6fc32a0b748e69d58671cd906020015b60405180910390a15050565b610ce1611aa7565b610ce9611af0565b610cf4838383611b2c565b505050565b33610d03816119dc565b60048290556040518281527f08e39b387d1f739ce0d2553bb31822392e3f67c62c6c0a215120ab4a6841a8ab90602001610ccd565b6000818152600f6020526040812080548314610d6f5760405163c1d17bef60e01b8152600481018490526024015b60405180910390fd5b6001600882015460ff166004811115610d8a57610d8a613bd4565b14610dab576040516344980d8f60e01b815260048101849052602401610d66565b610db9818260020154611e63565b6003015492915050565b610dcc33611e9e565b565b6000610dd8611aa7565b610de0611af0565b610dea8383611fef565b9392505050565b33610dfb816119dc565b60095460408051918252602082018490527f056aedca4e334b6c4bea48715fb0de644811b740894de57a0380d3eb90f2805b910160405180910390a150600955565b6000610e47612341565b60006002600b54610100900460ff166003811115610e6757610e67613bd4565b1480610e8e57506001600b54610100900460ff166003811115610e8c57610e8c613bd4565b145b15610e9a575081610ea7565b610ea48484612385565b90505b8060086000828254610eb991906143f0565b9091555050604080516001600160a01b0386168152602081018590529081018290527f70b752f3fadb6ac131c0ece847fcbb6994ec56ed6411595710fd9b29c6ac6cc19060600160405180910390a19392505050565b6000808490506000610f35629896806080600354901b610f2f9190614419565b83612649565b905060806f8000000000000000000000000000000060035462989680610f5b91906143f0565b610f6984600160801b6143f0565b610f76629896808961443b565b610f80919061443b565b610f8a9190614419565b610f94888561443b565b610f9e9190614452565b610fa89190614452565b901c9695505050505050565b6000610c73826126f2565b60008060025411610ffc576040517fed4421ad00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61100582612712565b1561102357604051630efd728560e21b815260040160405180910390fd5b60025460009061103c846801000000000000000061443b565b6110469190614419565b6298968060045468010000000000000000611061919061443b565b61106b9190614419565b61107591906143f0565b9050604061108260085490565b60035461109290629896806143f0565b6298968060406110a2868061443b565b901c629896806080600554901b6110b99190614419565b6110c39190614419565b6110cd919061443b565b6110d79190614419565b6110e1919061443b565b901c915060095482116110f657600954610dea565b50919050565b611104612341565b61110d81611e9e565b50565b3361111a816119dc565b60038290556040518281527f592dcd55d60d892e7fcb3ba105013312e99691cd59f91e15f83cb67cb5a505f290602001610ccd565b6000611159612341565b61116283612739565b61117f57604051630b72d6b160e31b815260040160405180910390fd5b60006002600b54610100900460ff16600381111561119f5761119f613bd4565b036111ad57825b905061120a565b6001600b54610100900460ff1660038111156111cb576111cb613bd4565b036111da576111a684846127e1565b6003600b54610100900460ff1660038111156111f8576111f8613bd4565b0361120a576112078484612947565b90505b600d5460405163011de97360e61b81526001600160a01b038681166004830152306024830152600092169063477a5cc090604401602060405180830381865afa15801561125b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061127f9190614465565b9050801561129f5781600860008282546112999190614452565b90915550505b604080516001600160a01b0387168152602081018690529081018390527f0b9150e1e54346ed3fa36b977cd5d65dca5a649c737c3174a26bddaadd47667a9060600160405180910390a1509392505050565b336112fb81612739565b61131857604051630b72d6b160e31b815260040160405180910390fd5b600d546040517f0d4a8b490000000000000000000000000000000000000000000000000000000081526001600160a01b03838116600483015230602483015290911690630d4a8b4990604401600060405180830381600087803b15801561137e57600080fd5b505af1158015611392573d6000803e3d6000fd5b5050600d54604051637817ee4f60e01b81526001600160a01b0385811660048301523060248301529091169250637817ee4f9150604401602060405180830381865afa1580156113e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061140a9190614482565b6008600082825461141b9190614452565b909155505050565b6000818152600f60205260408120600281015482908190611445908490612b8e565b91509150816000148015611457575080155b1561146457826003015491505b60006114738460010154610fbf565b9092101595945050505050565b6011602052816000526040600020818154811061149c57600080fd5b90600052602060002001600091509150505481565b6000600354629896806114c491906143f0565b6114d1629896808461443b565b610c739190614419565b6040805180820190915260008152606060208201526000600f6000848152602001908152602001600020905080600a0160405180604001604052908160008201548152602001600182018054611530906143a6565b80601f016020809104026020016040519081016040528092919081815260200182805461155c906143a6565b80156115a95780601f1061157e576101008083540402835291602001916115a9565b820191906000526020600020905b81548152906001019060200180831161158c57829003601f168201915b505050505081525050915050919050565b600d60009054906101000a90046001600160a01b03166001600160a01b0316636c53db9a6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561160d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611631919061449b565b6001600160a01b031633036116695761164981612be6565b600e80546001600160a01b0383166001600160a01b031990911617905550565b6040517fe860ec7e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b606060405163d623472560e01b815260040160405180910390fd5b61110d81612c26565b6000806000806000806000806000806000600f60008d815260200190815260200160002090508060010154600014611703576116fe8160010154610fbf565b611706565b60005b92508060050160009054906101000a90046001600160a01b03168160040160009054906101000a90046001600160a01b03168260060160009054906101000a90046001600160a01b0316836001015484600201548560080160009054906101000a900460ff16866007015487600301548a896009016000336001600160a01b03166001600160a01b03168152602001908152602001600020549a509a509a509a509a509a509a509a509a509a50509193959799509193959799565b6000828152600f602090815260408083206001600160a01b0385168452600901909152812054610dea565b60405163d623472560e01b815260040160405180910390fd5b6000610c7382612c67565b61181982612c87565b60008180602001905181019061182f9190614528565b80519091506001600160a01b031661185a57604051635df4b1ef60e01b815260040160405180910390fd5b8051600d80546001600160a01b0319166001600160a01b0390921691909117905560208101516003556040810151600455606081015160055560a0810151600b805460ff191660018360028111156118b4576118b4613bd4565b021790555060c0810151600b805461ff0019166101008360038111156118dc576118dc613bd4565b021790555060e081015151600c556080810151600955610100810151600e80546001600160a01b0319166001600160a01b039092169190911790556040517f4ebdec05fb64815e553aeaf3976ef8112dd79760a459bee3ac7d1659ab2c4e049061194990859084906145c3565b60405180910390a1505050565b61195e611aa7565b611966611af0565b6119708282612d08565b5050565b61197c611aa7565b806002600082825461198e9190614452565b9091555061110d905081612e17565b336119a7816119dc565b60058290556040518281527f30ee8206062f283e56a0af2b02138016bf7442ded26ad68a92a18a9dd246fb4990602001610ccd565b6001546040517f29e40d4b00000000000000000000000000000000000000000000000000000000815260048101919091526001600160a01b0382811660248301527f000000000000000000000000000000000000000000000000000000000000000016906329e40d4b90604401602060405180830381865afa158015611a66573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a8a9190614465565b61110d5760405163075fd2b160e01b815260040160405180910390fd5b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610dcc5760405163075fd2b160e01b815260040160405180910390fd5b600154600003610dcc576040517f3da3f98c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000825111611b67576040517fc5f7c4c000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600082806020019051810190611b7d9190614482565b905080600003611bb9576040517ff881a10d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000818152600f602052604090206001600b5460ff166002811115611be057611be0613bd4565b03611e5c5780548214611c095760405163c1d17bef60e01b815260048101839052602401610d66565b60025481600101541115611c615760018101546002546040517f5863b0b60000000000000000000000000000000000000000000000000000000081526004810185905260248101929092526044820152606401610d66565b6001600882015460ff166004811115611c7c57611c7c613bd4565b14611c9d576040516344980d8f60e01b815260048101839052602401610d66565b6000611ca883610d38565b90506000611cb98360010154610fbf565b90508082108015611cce575060008360010154115b15611d05576040517fcce7930800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001546040517f068bcd8d0000000000000000000000000000000000000000000000000000000081526000916001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169163068bcd8d91611d729160040190815260200190565b600060405180830381865afa158015611d8f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611db791908101906146e3565b9050836001015460026000828254611dcf91906143f0565b9091555050604081015160048501546001860154611df792916001600160a01b031690612e47565b60088401805460ff191660049081179091558401546001850154604080518881526001600160a01b0390931660208401528201527fa7932e9c92f31e1ed56b29d00bbe669a97484dc24de28dd9c8c0429df7f358479060600160405180910390a15050505b5050505050565b600080611e708484612b8e565b91509150816000148015611e82575080155b15611e8d5750505050565b600784015560039092019190915550565b600d54604051637817ee4f60e01b81526001600160a01b03838116600483015230602483015290911690637817ee4f90604401602060405180830381865afa158015611eee573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f129190614482565b60086000828254611f2391906143f0565b9091555050600d546040517f22bcf9990000000000000000000000000000000000000000000000000000000081526001600160a01b038381166004830152306024830152909116906322bcf99990604401600060405180830381600087803b158015611f8e57600080fd5b505af1158015611fa2573d6000803e3d6000fd5b50505050611faf81612e8c565b6040516001600160a01b03821681527f1468da654b37bb3631011c1917d02e0db437d519918858d40b38b5e980ca033b906020015b60405180910390a150565b6000611ffa82612739565b61201757604051630b72d6b160e31b815260040160405180910390fd5b60008380602001905181019061202d9190614797565b805190915060000361206b576040517f4e79178600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600b5460ff16600281111561208457612084613bd4565b03612234576120968160200151612be6565b60608101516001600160a01b03166120da576040517f596a094c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000306001600160a01b03166315cc481e6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561211a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061213e919061449b565b6001600160a01b031663068bcd8d6001546040518263ffffffff1660e01b815260040161216d91815260200190565b600060405180830381865afa15801561218a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526121b291908101906146e3565b604001519050806001600160a01b031682606001516001600160a01b031614612207576040517fa29c498600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6122148260400151612712565b1561223257604051630efd728560e21b815260040160405180910390fd5b505b60006006600081546122459061483e565b91829055506000818152600f602090815260408083208481556005810180546001600160a01b038b81166001600160a01b0319928316179092558885015160048401805491841691831691909117905560608901516006840180549190931691161790559086015160018083019190915560088201805460ff19169091179055436007820155600381019290925560808501518051600a8401908155918101519394509192600b8401906122f990826148a5565b505060015460408051918252602082018590527ffcf3b1aa65a464cef2889608f99e8b8c0f680a4be6c2acb9d961c536a5a9294b92500160405180910390a150949350505050565b600d546001600160a01b03163314610dcc576040517faf0916a200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600d54604080516336d8759760e21b815290516000926012926001600160a01b039091169163db61d65c916004808201926020929091908290030181865afa1580156123d5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123f9919061449b565b6001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015612452575060408051601f3d908101601f1916820190925261244f91810190614965565b60015b612499576124946040518060400160405280601581526020017f4572726f722067657474696e6720646563696d616c0000000000000000000000815250613019565b61249f565b60ff1690505b6124de6040518060400160405280601081526020017f5f616d6f756e74546f556e7374616b65000000000000000000000000000000008152508461308a565b600d546040516316308e2560e11b81526001600160a01b0386811660048301526000928692911690632c611c4a90602401602060405180830381865afa15801561252c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125509190614482565b61255a91906143f0565b905061259b6040518060400160405280600d81526020017f6e6577546f74616c5374616b65000000000000000000000000000000000000008152508261308a565b60006125ba6125ab84600a614a6c565b6125b5908461443b565b6130fd565b600d54604051637817ee4f60e01b81526001600160a01b03898116600483015230602483015292935060009284921690637817ee4f90604401602060405180830381865afa158015612610573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126349190614482565b61263e91906143f0565b979650505050505050565b6000600160801b831061269e5760405162461bcd60e51b815260206004820152601c60248201527f5f612073686f756c64206265206c657373207468616e20325e313238000000006044820152606401610d66565b50600160801b82825b80156126ea57806001166000036126cc576126c282836131e5565b915060011c6126a7565b6126d683836131e5565b92506126e36001826143f0565b90506126a7565b505092915050565b60006001600160a01b0382161561270a576001610c73565b600092915050565b6000612721629896808361443b565b600254600454612731919061443b565b111592915050565b600e546000906001600160a01b031661275457506001919050565b600e546040517f42a987a00000000000000000000000000000000000000000000000000000000081526001600160a01b038481166004830152306024830152909116906342a987a090604401602060405180830381865afa1580156127bd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c739190614465565b6000808290506128266040518060400160405280601281526020017f504f494e545320544f20494e43524541534500000000000000000000000000008152508261308a565b600d54604051637817ee4f60e01b81526001600160a01b0386811660048301523060248301526000921690637817ee4f90604401602060405180830381865afa158015612877573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061289b9190614482565b90506128dc6040518060400160405280600b81526020017f4d454d424552504f5745520000000000000000000000000000000000000000008152508261308a565b600c546128e98383614452565b111561290057600c546128fd9082906143f0565b91505b61293f6040518060400160405280601681526020017f504f494e545320544f20494e43524541534520454e44000000000000000000008152508361308a565b509392505050565b600d546040516316308e2560e11b81526001600160a01b0384811660048301526000928392859290911690632c611c4a90602401602060405180830381865afa158015612998573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129bc9190614482565b6129c69190614452565b600d54604080516336d8759760e21b815290519293506012926001600160a01b039092169163db61d65c916004808201926020929091908290030181865afa158015612a16573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a3a919061449b565b6001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015612a93575060408051601f3d908101601f19168201909252612a9091810190614965565b60015b612ada57612ad56040518060400160405280601581526020017f4572726f722067657474696e6720646563696d616c0000000000000000000000815250613019565b612ae0565b60ff1690505b6000612afa612af083600a614a6c565b6125b5908561443b565b600d54604051637817ee4f60e01b81526001600160a01b03898116600483015230602483015292935060009290911690637817ee4f90604401602060405180830381865afa158015612b50573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612b749190614482565b90506000612b8282846143f0565b98975050505050505050565b6000804390508084600701541115612ba857612ba8614a78565b80846007015403612bbe57506000905080612bdf565b612bdc846007015482612bd191906143f0565b856003015485610f0f565b91505b9250929050565b6001600160a01b03811661110d576040517fe622e04000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000805460ff19168215159081179091556040519081527fd94c9bc4d43c51d8dc345a016d8e3d994432fac68e72832e4cf3a616bd8efae090602001611fe4565b60006001600160a01b03821615612c7f576002610c73565b600392915050565b612c8f611aa7565b60015415612cc9576040517f439a74c900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80600003612d03576040517f7fcce2a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600155565b612d11816132e4565b612d1a81612739565b612d3757604051630b72d6b160e31b815260040160405180910390fd5b600d5460405163011de97360e61b81526001600160a01b038381166004830152306024830152600092169063477a5cc090604401602060405180830381865afa158015612d88573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612dac9190614465565b905080612de5576040517f5fccb67f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600083806020019051810190612dfb9190614a8e565b9050612e07838261340a565b612e1183826135cd565b50505050565b6040518181527f46aeb5d8770fc4474bc2dfa118fd2595f7fb33ce2cbce6f4e5a3dabfe0f7633990602001611fe4565b7fffffffffffffffffffffffff11111111111111111111111111111111111111126001600160a01b03841601612e8157610cf482826139f1565b610cf4838383613a0d565b6001600160a01b038116600090815260116020908152604080832080548251818502810185019093528083529192909190830182828015612eec57602002820191906000526020600020905b815481526020019060010190808311612ed8575b5050505050905060005b8151811015610cf4576000828281518110612f1357612f13614b39565b602002602001015190506000600f60008381526020019081526020016000209050612f3d82613a5c565b15613004576001600160a01b0385166000908152600982016020526040812080549082905560028301805491928392612f779084906143f0565b925050819055508060076000828254612f9091906143f0565b90915550612fa090508282611e63565b60028201546003830154604080516001600160a01b038a1681526020810187905260008183015260608101939093526080830191909152517f0227f642ddcf2042ceaeafadb9d540f432072c00cd4862881667168dcc14710f9181900360a00190a1505b505080806130119061483e565b915050612ef6565b61110d8160405160240161302d9190614b4f565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f41304fac00000000000000000000000000000000000000000000000000000000179052613a95565b61197082826040516024016130a0929190614b62565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f9710a9d000000000000000000000000000000000000000000000000000000000179052613a95565b60008160000361310f57506000919050565b6000600161311c84613ab6565b901c6001901b9050600181848161313557613135614403565b048201901c9050600181848161314d5761314d614403565b048201901c9050600181848161316557613165614403565b048201901c9050600181848161317d5761317d614403565b048201901c9050600181848161319557613195614403565b048201901c905060018184816131ad576131ad614403565b048201901c905060018184816131c5576131c5614403565b048201901c9050610dea818285816131df576131df614403565b04613b4a565b6000600160801b8311156132615760405162461bcd60e51b815260206004820152602860248201527f5f612073686f756c64206265206c657373207468616e206f7220657175616c2060448201527f746f20325e3132380000000000000000000000000000000000000000000000006064820152608401610d66565b600160801b82106132b45760405162461bcd60e51b815260206004820152601c60248201527f5f622073686f756c64206265206c657373207468616e20325e313238000000006044820152606401610d66565b60806f800000000000000000000000000000006132d1848661443b565b6132db9190614452565b901c9392505050565b6001600160a01b038116613324576040517fd1f2828800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600d546001600160a01b031661334d57604051635df4b1ef60e01b815260040160405180910390fd5b600d546040517fa230c5240000000000000000000000000000000000000000000000000000000081526001600160a01b0383811660048301529091169063a230c52490602401602060405180830381865afa1580156133b0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906133d49190614465565b61110d576040517f6a5cfb6d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000805b82518110156134c75782818151811061342957613429614b39565b602002602001015160000151600003156134b557600083828151811061345157613451614b39565b602002602001015160000151905061346881613a5c565b6134885760405163c1d17bef60e01b815260048101829052602401610d66565b83828151811061349a5761349a614b39565b602002602001015160200151836134b19190614b84565b9250505b806134bf8161483e565b91505061340e565b506001600160a01b0383166000908152601060205260408120546134eb9083613b60565b600d54604051637817ee4f60e01b81526001600160a01b03878116600483015230602483015292935060009290911690637817ee4f90604401602060405180830381865afa158015613541573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906135659190614482565b9050808211156135ab576040517fd64182fe0000000000000000000000000000000000000000000000000000000081526004810183905260248101829052604401610d66565b506001600160a01b039093166000908152601060205260409020929092555050565b606060005b8251811015612e115760008382815181106135ef576135ef614b39565b6020026020010151600001519050825160000361364b576040805160018082528183019092529060208083019080368337019050509250808360008151811061363a5761363a614b39565b60200260200101818152505061379e565b6000805b84518110156136ca578285828151811061366b5761366b614b39565b6020026020010151036136b8576040517fadebb154000000000000000000000000000000000000000000000000000000008152600481018490526024810182905260019250604401610d66565b806136c28161483e565b91505061364f565b508061379c576000845160016136e09190614452565b67ffffffffffffffff8111156136f8576136f8613d5c565b604051908082528060200260200182016040528015613721578160200160208202803683370190505b50905060005b85518110156137795785818151811061374257613742614b39565b602002602001015182828151811061375c5761375c614b39565b6020908102919091010152806137718161483e565b915050613727565b50828186518151811061378e5761378e614b39565b602090810291909101015293505b505b60008483815181106137b2576137b2614b39565b6020908102919091018101518101516000848152600f835260408082206001600160a01b038b168352600981019094528120549193506137f28285613b60565b6001600160a01b038a1660009081526009850160205260408120829055909150805b6001600160a01b038b1660009081526011602052604090205481101561388b5784546001600160a01b038c16600090815260116020526040902080548390811061386057613860614b39565b906000526020600020015403613879576001915061388b565b806138838161483e565b915050613814565b50806138c1576001600160a01b038a16600090815260116020908152604082208654815460018101835591845291909220909101555b818311613911576138d283836143f0565b600760008282546138e39190614452565b909155506138f3905083836143f0565b8460020160008282546139069190614452565b909155506139559050565b61391b82846143f0565b6007600082825461392c91906143f0565b9091555061393c905082846143f0565b84600201600082825461394f91906143f0565b90915550505b836007015460000361396c574360078501556139d8565b6139768484611e63565b60028401546003850154604080516001600160a01b038e168152602081018a9052908101859052606081019290925260808201527f0227f642ddcf2042ceaeafadb9d540f432072c00cd4862881667168dcc14710f9060a00160405180910390a15b50505050505080806139e99061483e565b9150506135d2565b60008060008084865af16119705763b12d13eb6000526004601cfd5b81601452806034526fa9059cbb00000000000000000000000060005260206000604460106000875af13d156001600051141716613a52576390b8ec186000526004601cfd5b6000603452505050565b6000818152600f602052604081205415801590610c735750506000908152600f60205260409020600501546001600160a01b0316151590565b80516a636f6e736f6c652e6c6f67602083016000808483855afa5050505050565b600080608083901c15613acb57608092831c92015b604083901c15613add57604092831c92015b602083901c15613aef57602092831c92015b601083901c15613b0157601092831c92015b600883901c15613b1357600892831c92015b600483901c15613b2557600492831c92015b600283901c15613b3757600292831c92015b600183901c15610c735760010192915050565b6000818310613b595781610dea565b5090919050565b600080613b6d8385614b84565b90506000811215610dea576040517f3bbc7142000000000000000000000000000000000000000000000000000000008152600481018590526024810184905260448101829052606401610d66565b600060208284031215613bcd57600080fd5b5035919050565b634e487b7160e01b600052602160045260246000fd5b60058110613bfa57613bfa613bd4565b9052565b60005b83811015613c19578181015183820152602001613c01565b50506000910152565b60008151808452613c3a816020860160208601613bfe565b601f01601f19169290920160200192915050565b805182526000602082015160406020850152613c6d6040850182613c22565b949350505050565b60006101408c83528b60208401528a60408401528960608401526001600160a01b03808a16608085015280891660a085015280881660c0850152508560e0840152613cc4610100840186613bea565b80610120840152613cd781840185613c4e565b9d9c50505050505050505050505050565b600060208284031215613cfa57600080fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114610dea57600080fd5b6001600160a01b038116811461110d57600080fd5b600060208284031215613d5157600080fd5b8135610dea81613d2a565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff81118282101715613d9557613d95613d5c565b60405290565b604051610120810167ffffffffffffffff81118282101715613d9557613d95613d5c565b60405160c0810167ffffffffffffffff81118282101715613d9557613d95613d5c565b60405160a0810167ffffffffffffffff81118282101715613d9557613d95613d5c565b604051601f8201601f1916810167ffffffffffffffff81118282101715613e2e57613e2e613d5c565b604052919050565b600067ffffffffffffffff821115613e5057613e50613d5c565b5060051b60200190565b600082601f830112613e6b57600080fd5b81356020613e80613e7b83613e36565b613e05565b82815260059290921b84018101918181019086841115613e9f57600080fd5b8286015b84811015613ec3578035613eb681613d2a565b8352918301918301613ea3565b509695505050505050565b600067ffffffffffffffff821115613ee857613ee8613d5c565b50601f01601f191660200190565b600082601f830112613f0757600080fd5b8135613f15613e7b82613ece565b818152846020838601011115613f2a57600080fd5b816020850160208301376000918101602001919091529392505050565b600080600060608486031215613f5c57600080fd5b833567ffffffffffffffff80821115613f7457600080fd5b613f8087838801613e5a565b94506020860135915080821115613f9657600080fd5b50613fa386828701613ef6565b9250506040840135613fb481613d2a565b809150509250925092565b60008060408385031215613fd257600080fd5b823567ffffffffffffffff811115613fe957600080fd5b613ff585828601613ef6565b925050602083013561400681613d2a565b809150509250929050565b60048110613bfa57613bfa613bd4565b60208101610c738284614011565b6000806040838503121561404257600080fd5b823561404d81613d2a565b946020939093013593505050565b60008060006060848603121561407057600080fd5b505081359360208301359350604090920135919050565b60038110613bfa57613bfa613bd4565b60208101610c738284614087565b602081526000610dea6020830184613c4e565b600080604083850312156140cb57600080fd5b823567ffffffffffffffff808211156140e357600080fd5b6140ef86838701613e5a565b935060209150818501358181111561410657600080fd5b8501601f8101871361411757600080fd5b8035614125613e7b82613e36565b81815260059190911b8201840190848101908983111561414457600080fd5b8584015b8381101561417c578035868111156141605760008081fd5b61416e8c8983890101613ef6565b845250918601918601614148565b508096505050505050509250929050565b602080825282518282018190526000919060409081850190868401855b828110156141d857815180516001600160a01b031685528601518685015292840192908501906001016141aa565b5091979650505050505050565b801515811461110d57600080fd5b60006020828403121561420557600080fd5b8135610dea816141e5565b6001600160a01b038b811682528a81166020830152891660408201526060810188905260808101879052610140810161424c60a0830188613bea565b8560c08301528460e083015283610100830152826101208301529b9a5050505050505050505050565b6000806040838503121561428857600080fd5b82359150602083013561400681613d2a565b600060208083850312156142ad57600080fd5b823567ffffffffffffffff8111156142c457600080fd5b8301601f810185136142d557600080fd5b80356142e3613e7b82613e36565b81815260069190911b8201830190838101908783111561430257600080fd5b928401925b8284101561263e57604084890312156143205760008081fd5b614328613d72565b843581528585013586820152825260409093019290840190614307565b602081016007831061435957614359613bd4565b91905290565b6000806040838503121561437257600080fd5b82359150602083013567ffffffffffffffff81111561439057600080fd5b61439c85828601613ef6565b9150509250929050565b600181811c908216806143ba57607f821691505b6020821081036110f657634e487b7160e01b600052602260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b81810381811115610c7357610c736143da565b634e487b7160e01b600052601260045260246000fd5b60008261443657634e487b7160e01b600052601260045260246000fd5b500490565b8082028115828204841417610c7357610c736143da565b80820180821115610c7357610c736143da565b60006020828403121561447757600080fd5b8151610dea816141e5565b60006020828403121561449457600080fd5b5051919050565b6000602082840312156144ad57600080fd5b8151610dea81613d2a565b80516144c381613d2a565b919050565b8051600381106144c357600080fd5b8051600481106144c357600080fd5b6000602082840312156144f857600080fd5b6040516020810181811067ffffffffffffffff8211171561451b5761451b613d5c565b6040529151825250919050565b6000610120828403121561453b57600080fd5b614543613d9b565b61454c836144b8565b81526020830151602082015260408301516040820152606083015160608201526080830151608082015261458260a084016144c8565b60a082015261459360c084016144d7565b60c08201526145a58460e085016144e6565b60e08201526101006145b88185016144b8565b908201529392505050565b6000610140820190508382526001600160a01b038351166020830152602083015160408301526040830151606083015260608301516080830152608083015160a083015260a083015161461960c0840182614087565b5060c083015161462c60e0840182614011565b5060e08301515161010083810191909152909201516001600160a01b031661012090910152919050565b60006040828403121561466857600080fd5b614670613d72565b905081518152602082015167ffffffffffffffff81111561469057600080fd5b8201601f810184136146a157600080fd5b80516146af613e7b82613ece565b8181528560208385010111156146c457600080fd5b6146d5826020830160208601613bfe565b602084015250909392505050565b6000602082840312156146f557600080fd5b815167ffffffffffffffff8082111561470d57600080fd5b9083019060c0828603121561472157600080fd5b614729613dbf565b82518152602083015161473b81613d2a565b6020820152604083015161474e81613d2a565b604082015260608301518281111561476557600080fd5b61477187828601614656565b6060830152506080830151608082015260a083015160a082015280935050505092915050565b6000602082840312156147a957600080fd5b815167ffffffffffffffff808211156147c157600080fd5b9083019060a082860312156147d557600080fd5b6147dd613de2565b8251815260208301516147ef81613d2a565b602082015260408381015190820152606083015161480c81613d2a565b606082015260808301518281111561482357600080fd5b61482f87828601614656565b60808301525095945050505050565b600060018201614850576148506143da565b5060010190565b601f821115610cf457600081815260208120601f850160051c8101602086101561487e5750805b601f850160051c820191505b8181101561489d5782815560010161488a565b505050505050565b815167ffffffffffffffff8111156148bf576148bf613d5c565b6148d3816148cd84546143a6565b84614857565b602080601f83116001811461490857600084156148f05750858301515b600019600386901b1c1916600185901b17855561489d565b600085815260208120601f198616915b8281101561493757888601518255948401946001909101908401614918565b50858210156149555787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60006020828403121561497757600080fd5b815160ff81168114610dea57600080fd5b600181815b808511156149c35781600019048211156149a9576149a96143da565b808516156149b657918102915b93841c939080029061498d565b509250929050565b6000826149da57506001610c73565b816149e757506000610c73565b81600181146149fd5760028114614a0757614a23565b6001915050610c73565b60ff841115614a1857614a186143da565b50506001821b610c73565b5060208310610133831016604e8410600b8410161715614a46575081810a610c73565b614a508383614988565b8060001904821115614a6457614a646143da565b029392505050565b6000610dea83836149cb565b634e487b7160e01b600052600160045260246000fd5b60006020808385031215614aa157600080fd5b825167ffffffffffffffff811115614ab857600080fd5b8301601f81018513614ac957600080fd5b8051614ad7613e7b82613e36565b81815260069190911b82018301908381019087831115614af657600080fd5b928401925b8284101561263e5760408489031215614b145760008081fd5b614b1c613d72565b845181528585015186820152825260409093019290840190614afb565b634e487b7160e01b600052603260045260246000fd5b602081526000610dea6020830184613c22565b604081526000614b756040830185613c22565b90508260208301529392505050565b80820182811260008312801582168215821617156126ea576126ea6143da56fea2646970667358221220434320b91f265b733ffbb92a1ca078a4a22e5bbb038ab88ada5f6690adb0e78864736f6c63430008130033", - "sourceMap": "2787:38112:129:-:0;;;6418:1;6385:34;;6535:1;6498:38;;7754:72;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5210:135:11;;;;;;;;;;;-1:-1:-1;;;5210:135:11;;;;;;;;-1:-1:-1;;;;;5268:19:11;;;;5320:17;;7802:5:129;;5320:17:11;;5210:135;;5320:17;;:::i;:::-;;;;-1:-1:-1;;5320:17:11;;;;;;;;;5310:28;;5320:17;5310:28;;;;5297:41;;-1:-1:-1;2787:38112:129;;-1:-1:-1;;2787:38112:129;14:290:151;84:6;137:2;125:9;116:7;112:23;108:32;105:52;;;153:1;150;143:12;105:52;179:16;;-1:-1:-1;;;;;224:31:151;;214:42;;204:70;;270:1;267;260:12;204:70;293:5;14:290;-1:-1:-1;;;14:290:151:o;309:548::-;421:4;450:2;479;468:9;461:21;511:6;505:13;554:6;549:2;538:9;534:18;527:34;579:1;589:140;603:6;600:1;597:13;589:140;;;698:14;;;694:23;;688:30;664:17;;;683:2;660:26;653:66;618:10;;589:140;;;593:3;778:1;773:2;764:6;753:9;749:22;745:31;738:42;848:2;841;837:7;832:2;824:6;820:15;816:29;805:9;801:45;797:54;789:62;;;;309:548;;;;:::o;:::-;2787:38112:129;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x6080604052600436106103555760003560e01c8063782aadff116101b9578063b5f620ce116100f6578063df868ed31161009a578063edd146cc1161006c578063edd146cc14610a5f578063ef2920fc14610a7f578063f5b0dfb714610a92578063fc1711f214610ab257005b8063df868ed3146109da578063e0dd2c38146109f2578063e33add9314610a12578063eb11af9314610a3257005b8063c3292171116100d3578063c329217114610942578063c7f758a81461095f578063d1e3623214610995578063dc96ff2d146109aa57005b8063b5f620ce146108cc578063b6c61f31146108ec578063bcc5b93b1461090c57005b8063a0cf0aea1161015d578063a574cea41161013a578063a574cea41461083c578063aba9ffee14610869578063ac1ed7b91461087f578063b2b878d01461089f57005b8063a0cf0aea146107e7578063a1aab33f1461080f578063a47ff7e51461082557005b8063817b1cd211610196578063817b1cd214610771578063824ea8ed14610787578063868c57b8146107a7578063950559d7146107c757005b8063782aadff146107265780637c6570ba14610746578063814516ad1461075c57005b80632ed04b2b116102925780634d31d087116102365780636003e414116102085780636003e414146106b05780636453d9c4146106d057806369fa25c4146106f057806376365af71461071057005b80634d31d0871461062d57806354fac9191461064d57806359a5db8b146106635780635db64b991461068357005b806338fff2d01161026f57806338fff2d0146105bb578063406244d8146105d057806342fda9c7146105e55780634ab4ba421461061857005b80632ed04b2b14610554578063346db8cb14610574578063351d9f961461059457005b806311f22ae3116102f95780631ddf1e23116102d65780631ddf1e23146104e05780632bbe0cae146104f55780632cefadbb146105085780632dbd6fdd1461052857005b806311f22ae31461045957806315cc481e146104795780631aa91a9e146104c057005b80630a6f0ee9116103325780630a6f0ee9146103ed5780630ba959091461040d5780630c0512e91461042c5780630f529ba21461044257005b8063013cf08b1461035e57806301ffc9a71461039d578063058aca44146103cd57005b3661035c57005b005b34801561036a57600080fd5b5061037e610379366004613bbb565b610ad2565b6040516103949a99989796959493929190613c75565b60405180910390f35b3480156103a957600080fd5b506103bd6103b8366004613ce8565b610be0565b6040519015158152602001610394565b3480156103d957600080fd5b5061035c6103e8366004613d3f565b610c79565b3480156103f957600080fd5b5061035c610408366004613f47565b610cd9565b34801561041957600080fd5b50600c545b604051908152602001610394565b34801561043857600080fd5b5061041e60065481565b34801561044e57600080fd5b5061041e6298968081565b34801561046557600080fd5b5061035c610474366004613bbb565b610cf9565b34801561048557600080fd5b507f00000000000000000000000000000000000000000000000000000000000000005b6040516001600160a01b039091168152602001610394565b3480156104cc57600080fd5b5061041e6104db366004613bbb565b610d38565b3480156104ec57600080fd5b5061035c610dc3565b6104a8610503366004613fbf565b610dce565b34801561051457600080fd5b5061035c610523366004613bbb565b610df1565b34801561053457600080fd5b50600b5461054790610100900460ff1681565b6040516103949190614021565b34801561056057600080fd5b5061041e61056f36600461402f565b610e3d565b34801561058057600080fd5b5061041e61058f36600461405b565b610f0f565b3480156105a057600080fd5b50600b546105ae9060ff1681565b6040516103949190614097565b3480156105c757600080fd5b5060015461041e565b3480156105dc57600080fd5b5061041e600a81565b3480156105f157600080fd5b507f000000000000000000000000000000000000000000000000000000000000000061041e565b34801561062457600080fd5b5060025461041e565b34801561063957600080fd5b506103bd610648366004613d3f565b610fb4565b34801561065957600080fd5b5061041e60035481565b34801561066f57600080fd5b5061041e61067e366004613bbb565b610fbf565b34801561068f57600080fd5b5061041e61069e366004613d3f565b60106020526000908152604090205481565b3480156106bc57600080fd5b50600d546104a8906001600160a01b031681565b3480156106dc57600080fd5b5061035c6106eb366004613d3f565b6110fc565b3480156106fc57600080fd5b5061035c61070b366004613bbb565b611110565b34801561071c57600080fd5b5061041e60045481565b34801561073257600080fd5b5061041e61074136600461402f565b61114f565b34801561075257600080fd5b5061041e60095481565b34801561076857600080fd5b5061035c6112f1565b34801561077d57600080fd5b5061041e60075481565b34801561079357600080fd5b506103bd6107a2366004613bbb565b611423565b3480156107b357600080fd5b5061041e6107c236600461402f565b611480565b3480156107d357600080fd5b5061041e6107e2366004613bbb565b6114b1565b3480156107f357600080fd5b506104a873eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b34801561081b57600080fd5b5061041e60055481565b34801561083157600080fd5b50600c5461041e9081565b34801561084857600080fd5b5061085c610857366004613bbb565b6114db565b60405161039491906140a5565b34801561087557600080fd5b5061041e60085481565b34801561088b57600080fd5b5061035c61089a366004613d3f565b6115ba565b3480156108ab57600080fd5b506108bf6108ba3660046140b8565b61169b565b604051610394919061418d565b3480156108d857600080fd5b5061035c6108e73660046141f3565b6116b6565b3480156108f857600080fd5b50600e546104a8906001600160a01b031681565b34801561091857600080fd5b5061041e610927366004613d3f565b6001600160a01b031660009081526010602052604090205490565b34801561094e57600080fd5b50600b54610100900460ff16610547565b34801561096b57600080fd5b5061097f61097a366004613bbb565b6116bf565b6040516103949a99989796959493929190614210565b3480156109a157600080fd5b5060085461041e565b3480156109b657600080fd5b5061041e6109c5366004613bbb565b6000908152600f602052604090206002015490565b3480156109e657600080fd5b5060005460ff166103bd565b3480156109fe57600080fd5b5061041e610a0d366004614275565b6117c1565b348015610a1e57600080fd5b5061035c610a2d36600461429a565b6117ec565b348015610a3e57600080fd5b50610a52610a4d366004613d3f565b611805565b6040516103949190614345565b348015610a6b57600080fd5b5061035c610a7a36600461435f565b611810565b61035c610a8d366004613fbf565b611956565b348015610a9e57600080fd5b5061035c610aad366004613bbb565b611974565b348015610abe57600080fd5b5061035c610acd366004613bbb565b61199d565b600f602090815260009182526040918290208054600182015460028301546003840154600485015460058601546006870154600788015460088901548b51808d01909c52600a8a0180548d52600b8b0180549a9d999c989b979a6001600160a01b039788169a968816999790951697939660ff9093169593949192840191610b59906143a6565b80601f0160208091040260200160405190810160405280929190818152602001828054610b85906143a6565b8015610bd25780601f10610ba757610100808354040283529160200191610bd2565b820191906000526020600020905b815481529060010190602001808311610bb557829003601f168201915b50505050508152505090508a565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167ff1801e61000000000000000000000000000000000000000000000000000000001480610c7357507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b33610c83816119dc565b600d80546001600160a01b0319166001600160a01b0384169081179091556040519081527fd6ceddf6d2a22f21c7c81675c518004eff43bc5c8a6fc32a0b748e69d58671cd906020015b60405180910390a15050565b610ce1611aa7565b610ce9611af0565b610cf4838383611b2c565b505050565b33610d03816119dc565b60048290556040518281527f08e39b387d1f739ce0d2553bb31822392e3f67c62c6c0a215120ab4a6841a8ab90602001610ccd565b6000818152600f6020526040812080548314610d6f5760405163c1d17bef60e01b8152600481018490526024015b60405180910390fd5b6001600882015460ff166004811115610d8a57610d8a613bd4565b14610dab576040516344980d8f60e01b815260048101849052602401610d66565b610db9818260020154611e63565b6003015492915050565b610dcc33611e9e565b565b6000610dd8611aa7565b610de0611af0565b610dea8383611fef565b9392505050565b33610dfb816119dc565b60095460408051918252602082018490527f056aedca4e334b6c4bea48715fb0de644811b740894de57a0380d3eb90f2805b910160405180910390a150600955565b6000610e47612341565b60006002600b54610100900460ff166003811115610e6757610e67613bd4565b1480610e8e57506001600b54610100900460ff166003811115610e8c57610e8c613bd4565b145b15610e9a575081610ea7565b610ea48484612385565b90505b8060086000828254610eb991906143f0565b9091555050604080516001600160a01b0386168152602081018590529081018290527f70b752f3fadb6ac131c0ece847fcbb6994ec56ed6411595710fd9b29c6ac6cc19060600160405180910390a19392505050565b6000808490506000610f35629896806080600354901b610f2f9190614419565b83612649565b905060806f8000000000000000000000000000000060035462989680610f5b91906143f0565b610f6984600160801b6143f0565b610f76629896808961443b565b610f80919061443b565b610f8a9190614419565b610f94888561443b565b610f9e9190614452565b610fa89190614452565b901c9695505050505050565b6000610c73826126f2565b60008060025411610ffc576040517fed4421ad00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61100582612712565b1561102357604051630efd728560e21b815260040160405180910390fd5b60025460009061103c846801000000000000000061443b565b6110469190614419565b6298968060045468010000000000000000611061919061443b565b61106b9190614419565b61107591906143f0565b9050604061108260085490565b60035461109290629896806143f0565b6298968060406110a2868061443b565b901c629896806080600554901b6110b99190614419565b6110c39190614419565b6110cd919061443b565b6110d79190614419565b6110e1919061443b565b901c915060095482116110f657600954610dea565b50919050565b611104612341565b61110d81611e9e565b50565b3361111a816119dc565b60038290556040518281527f592dcd55d60d892e7fcb3ba105013312e99691cd59f91e15f83cb67cb5a505f290602001610ccd565b6000611159612341565b61116283612739565b61117f57604051630b72d6b160e31b815260040160405180910390fd5b60006002600b54610100900460ff16600381111561119f5761119f613bd4565b036111ad57825b905061120a565b6001600b54610100900460ff1660038111156111cb576111cb613bd4565b036111da576111a684846127e1565b6003600b54610100900460ff1660038111156111f8576111f8613bd4565b0361120a576112078484612947565b90505b600d5460405163011de97360e61b81526001600160a01b038681166004830152306024830152600092169063477a5cc090604401602060405180830381865afa15801561125b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061127f9190614465565b9050801561129f5781600860008282546112999190614452565b90915550505b604080516001600160a01b0387168152602081018690529081018390527f0b9150e1e54346ed3fa36b977cd5d65dca5a649c737c3174a26bddaadd47667a9060600160405180910390a1509392505050565b336112fb81612739565b61131857604051630b72d6b160e31b815260040160405180910390fd5b600d546040517f0d4a8b490000000000000000000000000000000000000000000000000000000081526001600160a01b03838116600483015230602483015290911690630d4a8b4990604401600060405180830381600087803b15801561137e57600080fd5b505af1158015611392573d6000803e3d6000fd5b5050600d54604051637817ee4f60e01b81526001600160a01b0385811660048301523060248301529091169250637817ee4f9150604401602060405180830381865afa1580156113e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061140a9190614482565b6008600082825461141b9190614452565b909155505050565b6000818152600f60205260408120600281015482908190611445908490612b8e565b91509150816000148015611457575080155b1561146457826003015491505b60006114738460010154610fbf565b9092101595945050505050565b6011602052816000526040600020818154811061149c57600080fd5b90600052602060002001600091509150505481565b6000600354629896806114c491906143f0565b6114d1629896808461443b565b610c739190614419565b6040805180820190915260008152606060208201526000600f6000848152602001908152602001600020905080600a0160405180604001604052908160008201548152602001600182018054611530906143a6565b80601f016020809104026020016040519081016040528092919081815260200182805461155c906143a6565b80156115a95780601f1061157e576101008083540402835291602001916115a9565b820191906000526020600020905b81548152906001019060200180831161158c57829003601f168201915b505050505081525050915050919050565b600d60009054906101000a90046001600160a01b03166001600160a01b0316636c53db9a6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561160d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611631919061449b565b6001600160a01b031633036116695761164981612be6565b600e80546001600160a01b0383166001600160a01b031990911617905550565b6040517fe860ec7e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b606060405163d623472560e01b815260040160405180910390fd5b61110d81612c26565b6000806000806000806000806000806000600f60008d815260200190815260200160002090508060010154600014611703576116fe8160010154610fbf565b611706565b60005b92508060050160009054906101000a90046001600160a01b03168160040160009054906101000a90046001600160a01b03168260060160009054906101000a90046001600160a01b0316836001015484600201548560080160009054906101000a900460ff16866007015487600301548a896009016000336001600160a01b03166001600160a01b03168152602001908152602001600020549a509a509a509a509a509a509a509a509a509a50509193959799509193959799565b6000828152600f602090815260408083206001600160a01b0385168452600901909152812054610dea565b60405163d623472560e01b815260040160405180910390fd5b6000610c7382612c67565b61181982612c87565b60008180602001905181019061182f9190614528565b80519091506001600160a01b031661185a57604051635df4b1ef60e01b815260040160405180910390fd5b8051600d80546001600160a01b0319166001600160a01b0390921691909117905560208101516003556040810151600455606081015160055560a0810151600b805460ff191660018360028111156118b4576118b4613bd4565b021790555060c0810151600b805461ff0019166101008360038111156118dc576118dc613bd4565b021790555060e081015151600c556080810151600955610100810151600e80546001600160a01b0319166001600160a01b039092169190911790556040517f4ebdec05fb64815e553aeaf3976ef8112dd79760a459bee3ac7d1659ab2c4e049061194990859084906145c3565b60405180910390a1505050565b61195e611aa7565b611966611af0565b6119708282612d08565b5050565b61197c611aa7565b806002600082825461198e9190614452565b9091555061110d905081612e17565b336119a7816119dc565b60058290556040518281527f30ee8206062f283e56a0af2b02138016bf7442ded26ad68a92a18a9dd246fb4990602001610ccd565b6001546040517f29e40d4b00000000000000000000000000000000000000000000000000000000815260048101919091526001600160a01b0382811660248301527f000000000000000000000000000000000000000000000000000000000000000016906329e40d4b90604401602060405180830381865afa158015611a66573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a8a9190614465565b61110d5760405163075fd2b160e01b815260040160405180910390fd5b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610dcc5760405163075fd2b160e01b815260040160405180910390fd5b600154600003610dcc576040517f3da3f98c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000825111611b67576040517fc5f7c4c000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600082806020019051810190611b7d9190614482565b905080600003611bb9576040517ff881a10d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000818152600f602052604090206001600b5460ff166002811115611be057611be0613bd4565b03611e5c5780548214611c095760405163c1d17bef60e01b815260048101839052602401610d66565b60025481600101541115611c615760018101546002546040517f5863b0b60000000000000000000000000000000000000000000000000000000081526004810185905260248101929092526044820152606401610d66565b6001600882015460ff166004811115611c7c57611c7c613bd4565b14611c9d576040516344980d8f60e01b815260048101839052602401610d66565b6000611ca883610d38565b90506000611cb98360010154610fbf565b90508082108015611cce575060008360010154115b15611d05576040517fcce7930800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001546040517f068bcd8d0000000000000000000000000000000000000000000000000000000081526000916001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169163068bcd8d91611d729160040190815260200190565b600060405180830381865afa158015611d8f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611db791908101906146e3565b9050836001015460026000828254611dcf91906143f0565b9091555050604081015160048501546001860154611df792916001600160a01b031690612e47565b60088401805460ff191660049081179091558401546001850154604080518881526001600160a01b0390931660208401528201527fa7932e9c92f31e1ed56b29d00bbe669a97484dc24de28dd9c8c0429df7f358479060600160405180910390a15050505b5050505050565b600080611e708484612b8e565b91509150816000148015611e82575080155b15611e8d5750505050565b600784015560039092019190915550565b600d54604051637817ee4f60e01b81526001600160a01b03838116600483015230602483015290911690637817ee4f90604401602060405180830381865afa158015611eee573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f129190614482565b60086000828254611f2391906143f0565b9091555050600d546040517f22bcf9990000000000000000000000000000000000000000000000000000000081526001600160a01b038381166004830152306024830152909116906322bcf99990604401600060405180830381600087803b158015611f8e57600080fd5b505af1158015611fa2573d6000803e3d6000fd5b50505050611faf81612e8c565b6040516001600160a01b03821681527f1468da654b37bb3631011c1917d02e0db437d519918858d40b38b5e980ca033b906020015b60405180910390a150565b6000611ffa82612739565b61201757604051630b72d6b160e31b815260040160405180910390fd5b60008380602001905181019061202d9190614797565b805190915060000361206b576040517f4e79178600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600b5460ff16600281111561208457612084613bd4565b03612234576120968160200151612be6565b60608101516001600160a01b03166120da576040517f596a094c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000306001600160a01b03166315cc481e6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561211a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061213e919061449b565b6001600160a01b031663068bcd8d6001546040518263ffffffff1660e01b815260040161216d91815260200190565b600060405180830381865afa15801561218a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526121b291908101906146e3565b604001519050806001600160a01b031682606001516001600160a01b031614612207576040517fa29c498600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6122148260400151612712565b1561223257604051630efd728560e21b815260040160405180910390fd5b505b60006006600081546122459061483e565b91829055506000818152600f602090815260408083208481556005810180546001600160a01b038b81166001600160a01b0319928316179092558885015160048401805491841691831691909117905560608901516006840180549190931691161790559086015160018083019190915560088201805460ff19169091179055436007820155600381019290925560808501518051600a8401908155918101519394509192600b8401906122f990826148a5565b505060015460408051918252602082018590527ffcf3b1aa65a464cef2889608f99e8b8c0f680a4be6c2acb9d961c536a5a9294b92500160405180910390a150949350505050565b600d546001600160a01b03163314610dcc576040517faf0916a200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600d54604080516336d8759760e21b815290516000926012926001600160a01b039091169163db61d65c916004808201926020929091908290030181865afa1580156123d5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123f9919061449b565b6001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015612452575060408051601f3d908101601f1916820190925261244f91810190614965565b60015b612499576124946040518060400160405280601581526020017f4572726f722067657474696e6720646563696d616c0000000000000000000000815250613019565b61249f565b60ff1690505b6124de6040518060400160405280601081526020017f5f616d6f756e74546f556e7374616b65000000000000000000000000000000008152508461308a565b600d546040516316308e2560e11b81526001600160a01b0386811660048301526000928692911690632c611c4a90602401602060405180830381865afa15801561252c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125509190614482565b61255a91906143f0565b905061259b6040518060400160405280600d81526020017f6e6577546f74616c5374616b65000000000000000000000000000000000000008152508261308a565b60006125ba6125ab84600a614a6c565b6125b5908461443b565b6130fd565b600d54604051637817ee4f60e01b81526001600160a01b03898116600483015230602483015292935060009284921690637817ee4f90604401602060405180830381865afa158015612610573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126349190614482565b61263e91906143f0565b979650505050505050565b6000600160801b831061269e5760405162461bcd60e51b815260206004820152601c60248201527f5f612073686f756c64206265206c657373207468616e20325e313238000000006044820152606401610d66565b50600160801b82825b80156126ea57806001166000036126cc576126c282836131e5565b915060011c6126a7565b6126d683836131e5565b92506126e36001826143f0565b90506126a7565b505092915050565b60006001600160a01b0382161561270a576001610c73565b600092915050565b6000612721629896808361443b565b600254600454612731919061443b565b111592915050565b600e546000906001600160a01b031661275457506001919050565b600e546040517f42a987a00000000000000000000000000000000000000000000000000000000081526001600160a01b038481166004830152306024830152909116906342a987a090604401602060405180830381865afa1580156127bd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c739190614465565b6000808290506128266040518060400160405280601281526020017f504f494e545320544f20494e43524541534500000000000000000000000000008152508261308a565b600d54604051637817ee4f60e01b81526001600160a01b0386811660048301523060248301526000921690637817ee4f90604401602060405180830381865afa158015612877573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061289b9190614482565b90506128dc6040518060400160405280600b81526020017f4d454d424552504f5745520000000000000000000000000000000000000000008152508261308a565b600c546128e98383614452565b111561290057600c546128fd9082906143f0565b91505b61293f6040518060400160405280601681526020017f504f494e545320544f20494e43524541534520454e44000000000000000000008152508361308a565b509392505050565b600d546040516316308e2560e11b81526001600160a01b0384811660048301526000928392859290911690632c611c4a90602401602060405180830381865afa158015612998573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129bc9190614482565b6129c69190614452565b600d54604080516336d8759760e21b815290519293506012926001600160a01b039092169163db61d65c916004808201926020929091908290030181865afa158015612a16573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a3a919061449b565b6001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015612a93575060408051601f3d908101601f19168201909252612a9091810190614965565b60015b612ada57612ad56040518060400160405280601581526020017f4572726f722067657474696e6720646563696d616c0000000000000000000000815250613019565b612ae0565b60ff1690505b6000612afa612af083600a614a6c565b6125b5908561443b565b600d54604051637817ee4f60e01b81526001600160a01b03898116600483015230602483015292935060009290911690637817ee4f90604401602060405180830381865afa158015612b50573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612b749190614482565b90506000612b8282846143f0565b98975050505050505050565b6000804390508084600701541115612ba857612ba8614a78565b80846007015403612bbe57506000905080612bdf565b612bdc846007015482612bd191906143f0565b856003015485610f0f565b91505b9250929050565b6001600160a01b03811661110d576040517fe622e04000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000805460ff19168215159081179091556040519081527fd94c9bc4d43c51d8dc345a016d8e3d994432fac68e72832e4cf3a616bd8efae090602001611fe4565b60006001600160a01b03821615612c7f576002610c73565b600392915050565b612c8f611aa7565b60015415612cc9576040517f439a74c900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80600003612d03576040517f7fcce2a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600155565b612d11816132e4565b612d1a81612739565b612d3757604051630b72d6b160e31b815260040160405180910390fd5b600d5460405163011de97360e61b81526001600160a01b038381166004830152306024830152600092169063477a5cc090604401602060405180830381865afa158015612d88573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612dac9190614465565b905080612de5576040517f5fccb67f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600083806020019051810190612dfb9190614a8e565b9050612e07838261340a565b612e1183826135cd565b50505050565b6040518181527f46aeb5d8770fc4474bc2dfa118fd2595f7fb33ce2cbce6f4e5a3dabfe0f7633990602001611fe4565b7fffffffffffffffffffffffff11111111111111111111111111111111111111126001600160a01b03841601612e8157610cf482826139f1565b610cf4838383613a0d565b6001600160a01b038116600090815260116020908152604080832080548251818502810185019093528083529192909190830182828015612eec57602002820191906000526020600020905b815481526020019060010190808311612ed8575b5050505050905060005b8151811015610cf4576000828281518110612f1357612f13614b39565b602002602001015190506000600f60008381526020019081526020016000209050612f3d82613a5c565b15613004576001600160a01b0385166000908152600982016020526040812080549082905560028301805491928392612f779084906143f0565b925050819055508060076000828254612f9091906143f0565b90915550612fa090508282611e63565b60028201546003830154604080516001600160a01b038a1681526020810187905260008183015260608101939093526080830191909152517f0227f642ddcf2042ceaeafadb9d540f432072c00cd4862881667168dcc14710f9181900360a00190a1505b505080806130119061483e565b915050612ef6565b61110d8160405160240161302d9190614b4f565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f41304fac00000000000000000000000000000000000000000000000000000000179052613a95565b61197082826040516024016130a0929190614b62565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f9710a9d000000000000000000000000000000000000000000000000000000000179052613a95565b60008160000361310f57506000919050565b6000600161311c84613ab6565b901c6001901b9050600181848161313557613135614403565b048201901c9050600181848161314d5761314d614403565b048201901c9050600181848161316557613165614403565b048201901c9050600181848161317d5761317d614403565b048201901c9050600181848161319557613195614403565b048201901c905060018184816131ad576131ad614403565b048201901c905060018184816131c5576131c5614403565b048201901c9050610dea818285816131df576131df614403565b04613b4a565b6000600160801b8311156132615760405162461bcd60e51b815260206004820152602860248201527f5f612073686f756c64206265206c657373207468616e206f7220657175616c2060448201527f746f20325e3132380000000000000000000000000000000000000000000000006064820152608401610d66565b600160801b82106132b45760405162461bcd60e51b815260206004820152601c60248201527f5f622073686f756c64206265206c657373207468616e20325e313238000000006044820152606401610d66565b60806f800000000000000000000000000000006132d1848661443b565b6132db9190614452565b901c9392505050565b6001600160a01b038116613324576040517fd1f2828800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600d546001600160a01b031661334d57604051635df4b1ef60e01b815260040160405180910390fd5b600d546040517fa230c5240000000000000000000000000000000000000000000000000000000081526001600160a01b0383811660048301529091169063a230c52490602401602060405180830381865afa1580156133b0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906133d49190614465565b61110d576040517f6a5cfb6d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000805b82518110156134c75782818151811061342957613429614b39565b602002602001015160000151600003156134b557600083828151811061345157613451614b39565b602002602001015160000151905061346881613a5c565b6134885760405163c1d17bef60e01b815260048101829052602401610d66565b83828151811061349a5761349a614b39565b602002602001015160200151836134b19190614b84565b9250505b806134bf8161483e565b91505061340e565b506001600160a01b0383166000908152601060205260408120546134eb9083613b60565b600d54604051637817ee4f60e01b81526001600160a01b03878116600483015230602483015292935060009290911690637817ee4f90604401602060405180830381865afa158015613541573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906135659190614482565b9050808211156135ab576040517fd64182fe0000000000000000000000000000000000000000000000000000000081526004810183905260248101829052604401610d66565b506001600160a01b039093166000908152601060205260409020929092555050565b606060005b8251811015612e115760008382815181106135ef576135ef614b39565b6020026020010151600001519050825160000361364b576040805160018082528183019092529060208083019080368337019050509250808360008151811061363a5761363a614b39565b60200260200101818152505061379e565b6000805b84518110156136ca578285828151811061366b5761366b614b39565b6020026020010151036136b8576040517fadebb154000000000000000000000000000000000000000000000000000000008152600481018490526024810182905260019250604401610d66565b806136c28161483e565b91505061364f565b508061379c576000845160016136e09190614452565b67ffffffffffffffff8111156136f8576136f8613d5c565b604051908082528060200260200182016040528015613721578160200160208202803683370190505b50905060005b85518110156137795785818151811061374257613742614b39565b602002602001015182828151811061375c5761375c614b39565b6020908102919091010152806137718161483e565b915050613727565b50828186518151811061378e5761378e614b39565b602090810291909101015293505b505b60008483815181106137b2576137b2614b39565b6020908102919091018101518101516000848152600f835260408082206001600160a01b038b168352600981019094528120549193506137f28285613b60565b6001600160a01b038a1660009081526009850160205260408120829055909150805b6001600160a01b038b1660009081526011602052604090205481101561388b5784546001600160a01b038c16600090815260116020526040902080548390811061386057613860614b39565b906000526020600020015403613879576001915061388b565b806138838161483e565b915050613814565b50806138c1576001600160a01b038a16600090815260116020908152604082208654815460018101835591845291909220909101555b818311613911576138d283836143f0565b600760008282546138e39190614452565b909155506138f3905083836143f0565b8460020160008282546139069190614452565b909155506139559050565b61391b82846143f0565b6007600082825461392c91906143f0565b9091555061393c905082846143f0565b84600201600082825461394f91906143f0565b90915550505b836007015460000361396c574360078501556139d8565b6139768484611e63565b60028401546003850154604080516001600160a01b038e168152602081018a9052908101859052606081019290925260808201527f0227f642ddcf2042ceaeafadb9d540f432072c00cd4862881667168dcc14710f9060a00160405180910390a15b50505050505080806139e99061483e565b9150506135d2565b60008060008084865af16119705763b12d13eb6000526004601cfd5b81601452806034526fa9059cbb00000000000000000000000060005260206000604460106000875af13d156001600051141716613a52576390b8ec186000526004601cfd5b6000603452505050565b6000818152600f602052604081205415801590610c735750506000908152600f60205260409020600501546001600160a01b0316151590565b80516a636f6e736f6c652e6c6f67602083016000808483855afa5050505050565b600080608083901c15613acb57608092831c92015b604083901c15613add57604092831c92015b602083901c15613aef57602092831c92015b601083901c15613b0157601092831c92015b600883901c15613b1357600892831c92015b600483901c15613b2557600492831c92015b600283901c15613b3757600292831c92015b600183901c15610c735760010192915050565b6000818310613b595781610dea565b5090919050565b600080613b6d8385614b84565b90506000811215610dea576040517f3bbc7142000000000000000000000000000000000000000000000000000000008152600481018590526024810184905260448101829052606401610d66565b600060208284031215613bcd57600080fd5b5035919050565b634e487b7160e01b600052602160045260246000fd5b60058110613bfa57613bfa613bd4565b9052565b60005b83811015613c19578181015183820152602001613c01565b50506000910152565b60008151808452613c3a816020860160208601613bfe565b601f01601f19169290920160200192915050565b805182526000602082015160406020850152613c6d6040850182613c22565b949350505050565b60006101408c83528b60208401528a60408401528960608401526001600160a01b03808a16608085015280891660a085015280881660c0850152508560e0840152613cc4610100840186613bea565b80610120840152613cd781840185613c4e565b9d9c50505050505050505050505050565b600060208284031215613cfa57600080fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114610dea57600080fd5b6001600160a01b038116811461110d57600080fd5b600060208284031215613d5157600080fd5b8135610dea81613d2a565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff81118282101715613d9557613d95613d5c565b60405290565b604051610120810167ffffffffffffffff81118282101715613d9557613d95613d5c565b60405160c0810167ffffffffffffffff81118282101715613d9557613d95613d5c565b60405160a0810167ffffffffffffffff81118282101715613d9557613d95613d5c565b604051601f8201601f1916810167ffffffffffffffff81118282101715613e2e57613e2e613d5c565b604052919050565b600067ffffffffffffffff821115613e5057613e50613d5c565b5060051b60200190565b600082601f830112613e6b57600080fd5b81356020613e80613e7b83613e36565b613e05565b82815260059290921b84018101918181019086841115613e9f57600080fd5b8286015b84811015613ec3578035613eb681613d2a565b8352918301918301613ea3565b509695505050505050565b600067ffffffffffffffff821115613ee857613ee8613d5c565b50601f01601f191660200190565b600082601f830112613f0757600080fd5b8135613f15613e7b82613ece565b818152846020838601011115613f2a57600080fd5b816020850160208301376000918101602001919091529392505050565b600080600060608486031215613f5c57600080fd5b833567ffffffffffffffff80821115613f7457600080fd5b613f8087838801613e5a565b94506020860135915080821115613f9657600080fd5b50613fa386828701613ef6565b9250506040840135613fb481613d2a565b809150509250925092565b60008060408385031215613fd257600080fd5b823567ffffffffffffffff811115613fe957600080fd5b613ff585828601613ef6565b925050602083013561400681613d2a565b809150509250929050565b60048110613bfa57613bfa613bd4565b60208101610c738284614011565b6000806040838503121561404257600080fd5b823561404d81613d2a565b946020939093013593505050565b60008060006060848603121561407057600080fd5b505081359360208301359350604090920135919050565b60038110613bfa57613bfa613bd4565b60208101610c738284614087565b602081526000610dea6020830184613c4e565b600080604083850312156140cb57600080fd5b823567ffffffffffffffff808211156140e357600080fd5b6140ef86838701613e5a565b935060209150818501358181111561410657600080fd5b8501601f8101871361411757600080fd5b8035614125613e7b82613e36565b81815260059190911b8201840190848101908983111561414457600080fd5b8584015b8381101561417c578035868111156141605760008081fd5b61416e8c8983890101613ef6565b845250918601918601614148565b508096505050505050509250929050565b602080825282518282018190526000919060409081850190868401855b828110156141d857815180516001600160a01b031685528601518685015292840192908501906001016141aa565b5091979650505050505050565b801515811461110d57600080fd5b60006020828403121561420557600080fd5b8135610dea816141e5565b6001600160a01b038b811682528a81166020830152891660408201526060810188905260808101879052610140810161424c60a0830188613bea565b8560c08301528460e083015283610100830152826101208301529b9a5050505050505050505050565b6000806040838503121561428857600080fd5b82359150602083013561400681613d2a565b600060208083850312156142ad57600080fd5b823567ffffffffffffffff8111156142c457600080fd5b8301601f810185136142d557600080fd5b80356142e3613e7b82613e36565b81815260069190911b8201830190838101908783111561430257600080fd5b928401925b8284101561263e57604084890312156143205760008081fd5b614328613d72565b843581528585013586820152825260409093019290840190614307565b602081016007831061435957614359613bd4565b91905290565b6000806040838503121561437257600080fd5b82359150602083013567ffffffffffffffff81111561439057600080fd5b61439c85828601613ef6565b9150509250929050565b600181811c908216806143ba57607f821691505b6020821081036110f657634e487b7160e01b600052602260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b81810381811115610c7357610c736143da565b634e487b7160e01b600052601260045260246000fd5b60008261443657634e487b7160e01b600052601260045260246000fd5b500490565b8082028115828204841417610c7357610c736143da565b80820180821115610c7357610c736143da565b60006020828403121561447757600080fd5b8151610dea816141e5565b60006020828403121561449457600080fd5b5051919050565b6000602082840312156144ad57600080fd5b8151610dea81613d2a565b80516144c381613d2a565b919050565b8051600381106144c357600080fd5b8051600481106144c357600080fd5b6000602082840312156144f857600080fd5b6040516020810181811067ffffffffffffffff8211171561451b5761451b613d5c565b6040529151825250919050565b6000610120828403121561453b57600080fd5b614543613d9b565b61454c836144b8565b81526020830151602082015260408301516040820152606083015160608201526080830151608082015261458260a084016144c8565b60a082015261459360c084016144d7565b60c08201526145a58460e085016144e6565b60e08201526101006145b88185016144b8565b908201529392505050565b6000610140820190508382526001600160a01b038351166020830152602083015160408301526040830151606083015260608301516080830152608083015160a083015260a083015161461960c0840182614087565b5060c083015161462c60e0840182614011565b5060e08301515161010083810191909152909201516001600160a01b031661012090910152919050565b60006040828403121561466857600080fd5b614670613d72565b905081518152602082015167ffffffffffffffff81111561469057600080fd5b8201601f810184136146a157600080fd5b80516146af613e7b82613ece565b8181528560208385010111156146c457600080fd5b6146d5826020830160208601613bfe565b602084015250909392505050565b6000602082840312156146f557600080fd5b815167ffffffffffffffff8082111561470d57600080fd5b9083019060c0828603121561472157600080fd5b614729613dbf565b82518152602083015161473b81613d2a565b6020820152604083015161474e81613d2a565b604082015260608301518281111561476557600080fd5b61477187828601614656565b6060830152506080830151608082015260a083015160a082015280935050505092915050565b6000602082840312156147a957600080fd5b815167ffffffffffffffff808211156147c157600080fd5b9083019060a082860312156147d557600080fd5b6147dd613de2565b8251815260208301516147ef81613d2a565b602082015260408381015190820152606083015161480c81613d2a565b606082015260808301518281111561482357600080fd5b61482f87828601614656565b60808301525095945050505050565b600060018201614850576148506143da565b5060010190565b601f821115610cf457600081815260208120601f850160051c8101602086101561487e5750805b601f850160051c820191505b8181101561489d5782815560010161488a565b505050505050565b815167ffffffffffffffff8111156148bf576148bf613d5c565b6148d3816148cd84546143a6565b84614857565b602080601f83116001811461490857600084156148f05750858301515b600019600386901b1c1916600185901b17855561489d565b600085815260208120601f198616915b8281101561493757888601518255948401946001909101908401614918565b50858210156149555787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60006020828403121561497757600080fd5b815160ff81168114610dea57600080fd5b600181815b808511156149c35781600019048211156149a9576149a96143da565b808516156149b657918102915b93841c939080029061498d565b509250929050565b6000826149da57506001610c73565b816149e757506000610c73565b81600181146149fd5760028114614a0757614a23565b6001915050610c73565b60ff841115614a1857614a186143da565b50506001821b610c73565b5060208310610133831016604e8410600b8410161715614a46575081810a610c73565b614a508383614988565b8060001904821115614a6457614a646143da565b029392505050565b6000610dea83836149cb565b634e487b7160e01b600052600160045260246000fd5b60006020808385031215614aa157600080fd5b825167ffffffffffffffff811115614ab857600080fd5b8301601f81018513614ac957600080fd5b8051614ad7613e7b82613e36565b81815260069190911b82018301908381019087831115614af657600080fd5b928401925b8284101561263e5760408489031215614b145760008081fd5b614b1c613d72565b845181528585015186820152825260409093019290840190614afb565b634e487b7160e01b600052603260045260246000fd5b602081526000610dea6020830184613c22565b604081526000614b756040830185613c22565b90508260208301529392505050565b80820182811260008312801582168215821617156126ea576126ea6143da56fea2646970667358221220434320b91f265b733ffbb92a1ca078a4a22e5bbb038ab88ada5f6690adb0e78864736f6c63430008130033", - "sourceMap": "2787:38112:129:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7096:60;;;;;;;;;;-1:-1:-1;7096:60:129;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;8973:202;;;;;;;;;;-1:-1:-1;8973:202:129;;;;;:::i;:::-;;:::i;:::-;;;3023:14:151;;3016:22;2998:41;;2986:2;2971:18;8973:202:129;2858:187:151;40259:219:129;;;;;;;;;;-1:-1:-1;40259:219:129;;;;;:::i;:::-;;:::i;10705:325:11:-;;;;;;;;;;-1:-1:-1;10705:325:11;;;;;:::i;:::-;;:::i;17722:99:129:-;;;;;;;;;;-1:-1:-1;17793:11:129;:21;17722:99;;;7406:25:151;;;7394:2;7379:18;17722:99:129;7260:177:151;6385:34:129;;;;;;;;;;;;;;;;5837:36;;;;;;;;;;;;5865:8;5837:36;;39949:155;;;;;;;;;;-1:-1:-1;39949:155:129;;;;;:::i;:::-;;:::i;6785:86:11:-;;;;;;;;;;-1:-1:-1;6860:4:11;6785:86;;;-1:-1:-1;;;;;7620:55:151;;;7602:74;;7590:2;7575:18;6785:86:11;7442:240:151;39150:520:129;;;;;;;;;;-1:-1:-1;39150:520:129;;;;;:::i;:::-;;:::i;13000:81::-;;;;;;;;;;;;;:::i;9429:344:11:-;;;;;;:::i;:::-;;:::i;40484:237:129:-;;;;;;;;;;-1:-1:-1;40484:237:129;;;;;:::i;:::-;;:::i;6815:45::-;;;;;;;;;;-1:-1:-1;6815:45:129;;;;;;;;;;;;;;;;;;:::i;14596:681::-;;;;;;;;;;-1:-1:-1;14596:681:129;;;;;:::i;:::-;;:::i;33308:1145::-;;;;;;;;;;-1:-1:-1;33308:1145:129;;;;;:::i;:::-;;:::i;6709:47::-;;;;;;;;;;-1:-1:-1;6709:47:129;;;;;;;;;;;;;;;:::i;6953:92:11:-;;;;;;;;;;-1:-1:-1;7032:6:11;;6953:92;;6126:49:129;;;;;;;;;;;;6173:2;6126:49;;7135:100:11;;;;;;;;;;-1:-1:-1;7218:10:11;7135:100;;7326:108;;;;;;;;;;-1:-1:-1;7417:10:11;;7326:108;;12395:145;;;;;;;;;;-1:-1:-1;12395:145:11;;;;;:::i;:::-;;:::i;6303:20:129:-;;;;;;;;;;;;;;;;35034:1482;;;;;;;;;;-1:-1:-1;35034:1482:129;;;;;:::i;:::-;;:::i;7212:53::-;;;;;;;;;;-1:-1:-1;7212:53:129;;;;;:::i;:::-;;;;;;;;;;;;;;6950:42;;;;;;;;;;-1:-1:-1;6950:42:129;;;;-1:-1:-1;;;;;6950:42:129;;;13087:128;;;;;;;;;;-1:-1:-1;13087:128:129;;;;;:::i;:::-;;:::i;39806:137::-;;;;;;;;;;-1:-1:-1;39806:137:129;;;;;:::i;:::-;;:::i;6329:23::-;;;;;;;;;;;;;;;;13578:1012;;;;;;;;;;-1:-1:-1;13578:1012:129;;;;;:::i;:::-;;:::i;6498:38::-;;;;;;;;;;;;;;;;12643:351;;;;;;;;;;;;;:::i;6425:26::-;;;;;;;;;;;;;;;;21047:735;;;;;;;;;;-1:-1:-1;21047:735:129;;;;;:::i;:::-;;:::i;7303:57::-;;;;;;;;;;-1:-1:-1;7303:57:129;;;;;:::i;:::-;;:::i;39676:124::-;;;;;;;;;;-1:-1:-1;39676:124:129;;;;;:::i;:::-;;:::i;4412:75:9:-;;;;;;;;;;;;4445:42;4412:75;;6358:21:129;;;;;;;;;;;;;;;;6866:51;;;;;;;;;;-1:-1:-1;6866:51:129;;;;;;25938:198;;;;;;;;;;-1:-1:-1;25938:198:129;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;6457:35::-;;;;;;;;;;;;;;;;40727:170;;;;;;;;;;-1:-1:-1;40727:170:129;;;;;:::i;:::-;;:::i;22421:288::-;;;;;;;;;;-1:-1:-1;22421:288:129;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;23404:86::-;;;;;;;;;;-1:-1:-1;23404:86:129;;;;;:::i;:::-;;:::i;6998:31::-;;;;;;;;;;-1:-1:-1;6998:31:129;;;;-1:-1:-1;;;;;6998:31:129;;;26733:127;;;;;;;;;;-1:-1:-1;26733:127:129;;;;;:::i;:::-;-1:-1:-1;;;;;26827:26:129;26801:7;26827:26;;;:18;:26;;;;;;;26733:127;17827:110;;;;;;;;;;-1:-1:-1;17919:11:129;;;;;;;17827:110;;24894:1038;;;;;;;;;;-1:-1:-1;24894:1038:129;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;;;;;:::i;37721:112::-;;;;;;;;;;-1:-1:-1;37806:20:129;;37721:112;;26519:145;;;;;;;;;;-1:-1:-1;26519:145:129;;;;;:::i;:::-;26596:7;26622:22;;;:9;:22;;;;;:35;;;;26519:145;7566:101:11;;;;;;;;;;-1:-1:-1;7622:4:11;14479:10;;;7566:101;;26337:176:129;;;;;;;;;;-1:-1:-1;26337:176:129;;;;;:::i;:::-;;:::i;18053:226::-;;;;;;;;;;-1:-1:-1;18053:226:129;;;;;:::i;:::-;;:::i;7823:146:11:-;;;;;;;;;;-1:-1:-1;7823:146:11;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;7832:740:129:-;;;;;;;;;;-1:-1:-1;7832:740:129;;;;;:::i;:::-;;:::i;10092:220:11:-;;;;;;:::i;:::-;;:::i;8816:197::-;;;;;;;;;;-1:-1:-1;8816:197:11;;;;;:::i;:::-;;:::i;40110:143:129:-;;;;;;;;;;-1:-1:-1;40110:143:129;;;;;:::i;:::-;;:::i;7096:60::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7096:60:129;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;8973:202::-;9058:4;9081:47;;;9096:32;9081:47;;:87;;-1:-1:-1;952:25:84;937:40;;;;9132:36:129;9074:94;8973:202;-1:-1:-1;;8973:202:129:o;40259:219::-;40342:10;5954:30:11;5976:7;5954:21;:30::i;:::-;40364:17:129::1;:57:::0;;-1:-1:-1;;;;;;40364:57:129::1;-1:-1:-1::0;;;;;40364:57:129;::::1;::::0;;::::1;::::0;;;40436:35:::1;::::0;7602:74:151;;;40436:35:129::1;::::0;7590:2:151;7575:18;40436:35:129::1;;;;;;;;40259:219:::0;;:::o;10705:325:11:-;5660:16;:14;:16::i;:::-;6532:23:::1;:21;:23::i;:::-;10924:42:::2;10936:13;10951:5;10958:7;10924:11;:42::i;:::-;10705:325:::0;;;:::o;39949:155:129:-;40014:10;5954:30:11;5976:7;5954:21;:30::i;:::-;40036:8:129::1;:20:::0;;;40071:26:::1;::::0;7406:25:151;;;40071:26:129::1;::::0;7394:2:151;7379:18;40071:26:129::1;7260:177:151::0;39150:520:129;39220:7;39282:21;;;:9;:21;;;;;39318:19;;:33;;39314:100;;39374:29;;-1:-1:-1;;;39374:29:129;;;;;7406:25:151;;;7379:18;;39374:29:129;;;;;;;;39314:100;39455:36;39428:23;;;;;;:63;;;;;;;;:::i;:::-;;39424:130;;39514:29;;-1:-1:-1;;;39514:29:129;;;;;7406:25:151;;;7379:18;;39514:29:129;7260:177:151;39424:130:129;39564:59;39591:8;39601;:21;;;39564:26;:59::i;:::-;39640:23;;;;39150:520;-1:-1:-1;;39150:520:129:o;13000:81::-;13045:29;13063:10;13045:17;:29::i;:::-;13000:81::o;9429:344:11:-;9584:19;5660:16;:14;:16::i;:::-;6532:23:::1;:21;:23::i;:::-;9683:34:::2;9702:5;9709:7;9683:18;:34::i;:::-;9669:48:::0;9429:344;-1:-1:-1;;;9429:344:11:o;40484:237:129:-;40569:10;5954:30:11;5976:7;5954:21;:30::i;:::-;40622:19:129::1;::::0;40596:67:::1;::::0;;17037:25:151;;;17093:2;17078:18;;17071:34;;;40596:67:129::1;::::0;17010:18:151;40596:67:129::1;;;;;;;-1:-1:-1::0;40673:19:129::1;:41:::0;40484:237::o;14596:681::-;14680:7;14699:23;:21;:23::i;:::-;14778:24;14835:36;14820:11;;;;;;;:51;;;;;;;;:::i;:::-;;:103;;;-1:-1:-1;14890:33:129;14875:11;;;;;;;:48;;;;;;;;:::i;:::-;;14820:103;14816:298;;;-1:-1:-1;14987:16:129;14816:298;;;15054:49;15077:7;15086:16;15054:22;:49::i;:::-;15035:68;;14816:298;15147:16;15123:20;;:40;;;;;;;:::i;:::-;;;;-1:-1:-1;;15178:59:129;;;-1:-1:-1;;;;;17658:55:151;;17640:74;;17745:2;17730:18;;17723:34;;;17773:18;;;17766:34;;;15178:59:129;;17628:2:151;17613:18;15178:59:129;;;;;;;15254:16;14596:681;-1:-1:-1;;;14596:681:129:o;33308:1145::-;33442:7;33465:9;33477:11;33465:23;;33803:17;33823:27;5865:8;33838:3;33829:5;;:12;;33828:18;;;;:::i;:::-;33848:1;33823:4;:27::i;:::-;33803:47;;34443:3;6008:34;34420:5;;5865:8;34416:9;;;;:::i;:::-;34391:19;34401:9;-1:-1:-1;;;34391:19:129;:::i;:::-;34373:14;5865:8;34373:10;:14;:::i;:::-;:38;;;;:::i;:::-;34372:54;;;;:::i;:::-;34346:21;34358:9;34346;:21;:::i;:::-;34345:82;;;;:::i;:::-;34344:94;;;;:::i;:::-;34343:103;;;33308:1145;-1:-1:-1;;;;;;33308:1145:129:o;12395:145:11:-;12481:4;12504:29;12522:10;12504:17;:29::i;35034:1482:129:-;35109:18;35277:1;35263:10;;:15;35259:66;;35301:13;;;;;;;;;;;;;;35259:66;35765:33;35781:16;35765:15;:33::i;:::-;35761:91;;;35821:20;;-1:-1:-1;;;35821:20:129;;;;;;;;;;;35761:91;36074:10;;36000:13;;36044:26;:16;36063:7;36044:26;:::i;:::-;36043:41;;;;:::i;:::-;5865:8;36017;;36028:7;36017:18;;;;:::i;:::-;36016:24;;;;:::i;:::-;:68;;;;:::i;:::-;36000:84;;36237:2;36195:28;37806:20;;;37721:112;36195:28;36185:5;;36181:9;;5865:8;36181:9;:::i;:::-;5865:8;36168:2;36150:13;36158:5;;36150:13;:::i;:::-;36149:21;;5865:8;36136:3;36126:6;;:13;;36125:19;;;;:::i;:::-;36124:47;;;;:::i;:::-;36123:53;;;;:::i;:::-;36122:69;;;;:::i;:::-;36121:102;;;;:::i;:::-;36107:132;;36094:145;;36455:19;;36442:10;:32;:67;;36490:19;;36442:67;;;-1:-1:-1;36477:10:129;36429:80;-1:-1:-1;35034:1482:129:o;13087:128::-;13149:23;:21;:23::i;:::-;13182:26;13200:7;13182:17;:26::i;:::-;13087:128;:::o;39806:137::-;39865:10;5954:30:11;5976:7;5954:21;:30::i;:::-;39887:5:129::1;:14:::0;;;39916:20:::1;::::0;7406:25:151;;;39916:20:129::1;::::0;7394:2:151;7379:18;39916:20:129::1;7260:177:151::0;13578:1012:129;13660:7;13679:23;:21;:23::i;:::-;13717:26;13735:7;13717:17;:26::i;:::-;13712:90;;13766:25;;-1:-1:-1;;;13766:25:129;;;;;;;;;;;13712:90;13811:24;13868:36;13853:11;;;;;;;:51;;;;;;;;:::i;:::-;;13849:441;;13962:14;13939:38;13920:57;;13849:441;;;14013:33;13998:11;;;;;;;:48;;;;;;;;:::i;:::-;;13994:296;;14081:44;14101:7;14110:14;14081:19;:44::i;13994:296::-;14161:36;14146:11;;;;;;;:51;;;;;;;;:::i;:::-;;14142:148;;14232:47;14255:7;14264:14;14232:22;:47::i;:::-;14213:66;;14142:148;14318:17;;:69;;-1:-1:-1;;;14318:69:129;;-1:-1:-1;;;;;18835:15:151;;;14318:69:129;;;18817:34:151;14381:4:129;18867:18:151;;;18860:43;14299:16:129;;14318:17;;:45;;18729:18:151;;14318:69:129;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14299:88;;14401:11;14397:82;;;14452:16;14428:20;;:40;;;;;;;:::i;:::-;;;;-1:-1:-1;;14397:82:129;14493:57;;;-1:-1:-1;;;;;17658:55:151;;17640:74;;17745:2;17730:18;;17723:34;;;17773:18;;;17766:34;;;14493:57:129;;17628:2:151;17613:18;14493:57:129;;;;;;;-1:-1:-1;14567:16:129;13578:1012;-1:-1:-1;;;13578:1012:129:o;12643:351::-;12705:10;12730:25;12705:10;12730:17;:25::i;:::-;12725:89;;12778:25;;-1:-1:-1;;;12778:25:129;;;;;;;;;;;12725:89;12823:17;;:65;;;;;-1:-1:-1;;;;;18835:15:151;;;12823:65:129;;;18817:34:151;12882:4:129;18867:18:151;;;18860:43;12823:17:129;;;;:42;;18729:18:151;;12823:65:129;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;12922:17:129;;:65;;-1:-1:-1;;;12922:65:129;;-1:-1:-1;;;;;18835:15:151;;;12922:65:129;;;18817:34:151;12981:4:129;18867:18:151;;;18860:43;12922:17:129;;;;-1:-1:-1;12922:42:129;;-1:-1:-1;18729:18:151;;12922:65:129;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12898:20;;:89;;;;;;;:::i;:::-;;;;-1:-1:-1;;;12643:351:129:o;21047:735::-;21116:18;21189:21;;;:9;:21;;;;;21399;;;;21116:18;;;;21355:66;;21189:21;;21355:33;:66::i;:::-;21295:126;;;;21436:14;21454:1;21436:19;:39;;;;-1:-1:-1;21459:16:129;;21436:39;21432:110;;;21508:8;:23;;;21491:40;;21432:110;21551:17;21571:44;21590:8;:24;;;21571:18;:44::i;:::-;21748:27;;;;;21047:735;-1:-1:-1;;;;;21047:735:129:o;7303:57::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;39676:124::-;39739:7;39786:5;;5865:8;39782:9;;;;:::i;:::-;39767:10;5865:8;39767:6;:10;:::i;:::-;39766:26;;;;:::i;25938:198::-;-1:-1:-1;;;;;;;;;;;;;;;;;26030:40:129;26073:9;:22;26083:11;26073:22;;;;;;;;;;;26030:65;;26112:8;:17;;26105:24;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;25938:198;;;:::o;40727:170::-;7462:17;;;;;;;;;-1:-1:-1;;;;;7462:17:129;-1:-1:-1;;;;;7462:29:129;;:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;7440:54:129;:10;:54;7436:141;;40808:32:::1;40827:12;40808:18;:32::i;:::-;40850:11;:40:::0;;-1:-1:-1;;;;;40850:40:129;::::1;-1:-1:-1::0;;;;;;40850:40:129;;::::1;;::::0;;13087:128;:::o;7436:141::-;7549:17;;;;;;;;;;;;;;22421:288;22507:22;22591:16;;-1:-1:-1;;;22591:16:129;;;;;;;;;;;23404:86;23460:23;23475:7;23460:14;:23::i;24894:1038::-;24996:17;25027:19;25060:22;25096:23;25133:20;25167:44;25225:17;25256:22;25292:17;25323:25;25373:40;25416:9;:22;25426:11;25416:22;;;;;;;;;;;25373:65;;25461:8;:24;;;25489:1;25461:29;:80;;25497:44;25516:8;:24;;;25497:18;:44::i;:::-;25461:80;;;25493:1;25461:80;25449:92;;25572:8;:18;;;;;;;;;;-1:-1:-1;;;;;25572:18:129;25604:8;:20;;;;;;;;;;-1:-1:-1;;;;;25604:20:129;25638:8;:23;;;;;;;;;;-1:-1:-1;;;;;25638:23:129;25675:8;:24;;;25713:8;:21;;;25748:8;:23;;;;;;;;;;;;25785:8;:18;;;25817:8;:23;;;25854:9;25877:8;:26;;:38;25904:10;-1:-1:-1;;;;;25877:38:129;-1:-1:-1;;;;;25877:38:129;;;;;;;;;;;;;25551:374;;;;;;;;;;;;;;;;;;;;;24894:1038;;;;;;;;;;;:::o;26337:176::-;26428:7;26993:22;;;:9;:22;;;;;;;;-1:-1:-1;;;;;26993:48:129;;;;:40;;:48;;;;;;26454:52;26866:182;18053:226;18196:16;;-1:-1:-1;;;18196:16:129;;;;;;;;;;;7823:146:11;7904:6;7929:33;7949:12;7929:19;:33::i;7832:740:129:-;7908:28;7928:7;7908:19;:28::i;:::-;7946:41;8001:5;7990:52;;;;;;;;;;;;:::i;:::-;8057:20;;7946:96;;-1:-1:-1;;;;;;8057:34:129;8053:94;;8114:22;;-1:-1:-1;;;8114:22:129;;;;;;;;;;;8053:94;8195:20;;8157:17;:59;;-1:-1:-1;;;;;;8157:59:129;-1:-1:-1;;;;;8157:59:129;;;;;;;;;8234:8;;;;8226:5;:16;8263:11;;;;8252:8;:22;8293:9;;;;8284:6;:18;8327:15;;;;8312:12;:30;;-1:-1:-1;;8312:30:129;-1:-1:-1;8327:15:129;8312:30;;;;;;;;:::i;:::-;;;;;-1:-1:-1;8366:14:129;;;;8352:11;:28;;-1:-1:-1;;8352:28:129;;8366:14;8352:28;;;;;;;;:::i;:::-;;;;;-1:-1:-1;8404:14:129;;;;8390:28;:11;:28;8450:21;;;;8428:19;:43;8508:14;;;;8481:11;:42;;-1:-1:-1;;;;;;8481:42:129;-1:-1:-1;;;;;8481:42:129;;;;;;;;;8539:26;;;;;;8553:7;;8404:14;;8539:26;:::i;:::-;;;;;;;;7898:674;7832:740;;:::o;10092:220:11:-;5660:16;:14;:16::i;:::-;6532:23:::1;:21;:23::i;:::-;10240:25:::2;10250:5;10257:7;10240:9;:25::i;:::-;10092:220:::0;;:::o;8816:197::-;5660:16;:14;:16::i;:::-;8956:7:::1;8942:10;;:21;;;;;;;:::i;:::-;::::0;;;-1:-1:-1;8973:33:11::1;::::0;-1:-1:-1;8998:7:11;8973:24:::1;:33::i;40110:143:129:-:0;40171:10;5954:30:11;5976:7;5954:21;:30::i;:::-;40193:6:129::1;:16:::0;;;40224:22:::1;::::0;7406:25:151;;;40224:22:129::1;::::0;7394:2:151;7379:18;40224:22:129::1;7260:177:151::0;13122:142:11;13218:6;;13199:35;;;;;;;;22767:25:151;;;;-1:-1:-1;;;;;22828:55:151;;;22808:18;;;22801:83;13199:4:11;:18;;;;22740::151;;13199:35:11;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13194:63;;13243:14;;-1:-1:-1;;;13243:14:11;;;;;;;;;;;12814:111;12868:10;-1:-1:-1;;;;;12890:4:11;12868:27;;12864:54;;12904:14;;-1:-1:-1;;;12904:14:11;;;;;;;;;;;13771:105;13832:6;;13842:1;13832:11;13828:41;;13852:17;;;;;;;;;;;;;;19285:1756:129;19480:1;19464:5;:12;:17;19460:76;;19504:21;;;;;;;;;;;;;;19460:76;19546:18;19578:5;19567:28;;;;;;;;;;;;:::i;:::-;19546:49;;19610:10;19624:1;19610:15;19606:77;;19648:24;;;;;;;;;;;;;;19606:77;19692:40;19735:21;;;:9;:21;;;;;19787:35;19771:12;;;;:51;;;;;;;;:::i;:::-;;19767:1208;;19842:19;;:33;;19838:108;;19902:29;;-1:-1:-1;;;19902:29:129;;;;;7406:25:151;;;7379:18;;19902:29:129;7260:177:151;19838:108:129;19991:10;;19964:8;:24;;;:37;19960:152;;;20060:24;;;;20086:10;;20028:69;;;;;;;;23097:25:151;;;23138:18;;;23131:34;;;;23181:18;;;23174:34;23070:18;;20028:69:129;22895:319:151;19960:152:129;20157:36;20130:23;;;;;;:63;;;;;;;;:::i;:::-;;20126:138;;20220:29;;-1:-1:-1;;;20220:29:129;;;;;7406:25:151;;;7379:18;;20220:29:129;7260:177:151;20126:138:129;20278:22;20303:36;20328:10;20303:24;:36::i;:::-;20278:61;;20353:17;20373:44;20392:8;:24;;;20373:18;:44::i;:::-;20353:64;;20453:9;20436:14;:26;:58;;;;;20493:1;20466:8;:24;;;:28;20436:58;20432:137;;;20521:33;;;;;;;;;;;;;;20432:137;20621:6;;20608:20;;;;;20583:22;;-1:-1:-1;;;;;20608:4:129;:12;;;;:20;;;;7406:25:151;;;7394:2;7379:18;;7260:177;20608:20:129;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;20608:20:129;;;;;;;;;;;;:::i;:::-;20583:45;;20657:8;:24;;;20643:10;;:38;;;;;;;:::i;:::-;;;;-1:-1:-1;;20719:10:129;;;;20731:20;;;;;20753:24;;;20703:75;;20719:10;-1:-1:-1;;;;;20731:20:129;;20703:15;:75::i;:::-;20809:23;;;:64;;-1:-1:-1;;20809:64:129;20835:38;20809:64;;;;;;20917:20;;;20809:64;20939:24;;;20893:71;;;25185:25:151;;;-1:-1:-1;;;;;20917:20:129;;;25241:2:151;25226:18;;25219:83;25318:18;;25311:34;20893:71:129;;25173:2:151;25158:18;20893:71:129;;;;;;;19824:1151;;;19767:1208;19371:1670;;19285:1756;;;:::o;38023:396::-;38142:18;38162:19;38185:56;38219:9;38230:10;38185:33;:56::i;:::-;38141:100;;;;38255:10;38269:1;38255:15;:35;;;;-1:-1:-1;38274:16:129;;38255:35;38251:72;;;38306:7;;38023:396;;:::o;38251:72::-;38332:19;;;:33;38375:24;;;;:37;;;;-1:-1:-1;38023:396:129:o;13221:351::-;13308:17;;:66;;-1:-1:-1;;;13308:66:129;;-1:-1:-1;;;;;18835:15:151;;;13308:66:129;;;18817:34:151;13368:4:129;18867:18:151;;;18860:43;13308:17:129;;;;:42;;18729:18:151;;13308:66:129;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13284:20;;:90;;;;;;;:::i;:::-;;;;-1:-1:-1;;13384:17:129;;:68;;;;;-1:-1:-1;;;;;18835:15:151;;;13384:68:129;;;18817:34:151;13446:4:129;18867:18:151;;;18860:43;13384:17:129;;;;:44;;18729:18:151;;13384:68:129;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13507:17;13516:7;13507:8;:17::i;:::-;13539:26;;-1:-1:-1;;;;;7620:55:151;;7602:74;;13539:26:129;;7590:2:151;7575:18;13539:26:129;;;;;;;;13221:351;:::o;10592:2045::-;10684:7;10708:26;10726:7;10708:17;:26::i;:::-;10703:90;;10757:25;;-1:-1:-1;;;10757:25:129;;;;;;;;;;;10703:90;10862:45;10921:5;10910:50;;;;;;;;;;;;:::i;:::-;11075:15;;10862:98;;-1:-1:-1;11075:15:129;:20;11071:78;;11118:20;;;;;;;;;;;;;;11071:78;11241:35;11225:12;;;;:51;;;;;;;;:::i;:::-;;11221:722;;11292:40;11311:8;:20;;;11292:18;:40::i;:::-;11398:23;;;;-1:-1:-1;;;;;11398:37:129;11394:102;;11462:19;;;;;;;;;;;;;;11394:102;11509:17;11529:4;-1:-1:-1;;;;;11529:12:129;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;11529:22:129;;11552:6;;11529:30;;;;;;;;;;;;;7406:25:151;;7394:2;7379:18;;7260:177;11529:30:129;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;11529:30:129;;;;;;;;;;;;:::i;:::-;:36;;;11509:56;;11610:9;-1:-1:-1;;;;;11583:36:129;:8;:23;;;-1:-1:-1;;;;;11583:36:129;;11579:234;;11781:17;;;;;;;;;;;;;;11579:234;11830:41;11846:8;:24;;;11830:15;:41::i;:::-;11826:107;;;11898:20;;-1:-1:-1;;;11898:20:129;;;;;;;;;;;11826:107;11278:665;11221:722;11952:18;11975:15;;11973:17;;;;;:::i;:::-;;;;;-1:-1:-1;12000:33:129;12036:21;;;:9;:21;;;;;;;;12068:25;;;12103:11;;;:21;;-1:-1:-1;;;;;12103:21:129;;;-1:-1:-1;;;;;;12103:21:129;;;;;;;12150:20;;;;12134:13;;;:36;;;;;;;;;;;;;;12199:23;;;;12180:16;;;:42;;;;;;;;;;;12252:24;;;;-1:-1:-1;12232:17:129;;;:44;;;;12337:16;;;:55;;-1:-1:-1;;12337:55:129;;;;;;12416:12;12402:11;;;:26;-1:-1:-1;12438:16:129;;:20;;;;12517:17;;;;12504:30;;:10;;;:30;;;;;;;11973:17;;-1:-1:-1;12036:21:129;;12504:30;;;;;;;;:::i;:::-;-1:-1:-1;;12566:6:129;;12550:35;;;17037:25:151;;;17093:2;17078:18;;17071:34;;;12550:35:129;;-1:-1:-1;17010:18:151;12550:35:129;;;;;;;-1:-1:-1;12618:10:129;10592:2045;-1:-1:-1;;;;10592:2045:129:o;9729:162::-;9811:17;;-1:-1:-1;;;;;9811:17:129;9789:10;:40;9785:100;;9852:22;;;;;;;;;;;;;;16914:802;17079:17;;:31;;;-1:-1:-1;;;17079:31:129;;;;17012:7;;17049:2;;-1:-1:-1;;;;;17079:17:129;;;;:29;;:31;;;;;;;;;;;;;;;:17;:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;17065:56:129;;:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;17065:58:129;;;;;;;;-1:-1:-1;;17065:58:129;;;;;;;;;;;;:::i;:::-;;;17061:208;;17222:36;;;;;;;;;;;;;;;;;;:11;:36::i;:::-;17061:208;;;17173:17;;;-1:-1:-1;17061:208:129;17278:49;;;;;;;;;;;;;;;;;;17310:16;17278:11;:49::i;:::-;17361:17;;:48;;-1:-1:-1;;;17361:48:129;;-1:-1:-1;;;;;7620:55:151;;;17361:48:129;;;7602:74:151;17337:21:129;;17412:16;;17361:17;;;:39;;7575:18:151;;17361:48:129;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:67;;;;:::i;:::-;17337:91;;17438:43;;;;;;;;;;;;;;;;;;17467:13;17438:11;:43::i;:::-;17491:22;17516:40;17542:13;17548:7;17542:2;:13;:::i;:::-;17526:29;;:13;:29;:::i;:::-;17516:9;:40::i;:::-;17593:17;;:66;;-1:-1:-1;;;17593:66:129;;-1:-1:-1;;;;;18835:15:151;;;17593:66:129;;;18817:34:151;17653:4:129;18867:18:151;;;18860:43;17491:65:129;;-1:-1:-1;17566:24:129;;17491:65;;17593:17;;:42;;18729:18:151;;17593:66:129;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:83;;;;:::i;:::-;17566:110;16914:802;-1:-1:-1;;;;;;;16914:802:129:o;37268:447::-;37329:15;-1:-1:-1;;;37364:2:129;:12;37356:53;;;;-1:-1:-1;;;37356:53:129;;31087:2:151;37356:53:129;;;31069:21:151;31126:2;31106:18;;;31099:30;31165;31145:18;;;31138:58;31213:18;;37356:53:129;30885:352:151;37356:53:129;-1:-1:-1;;;;37431:2:129;37455;37494:215;37501:5;;37494:215;;37526:1;37530;37526:5;37535:1;37526:10;37522:177;;37560:10;37565:1;37568;37560:4;:10::i;:::-;37556:14;-1:-1:-1;37594:1:129;37588:7;37494:215;;37522:177;37644:16;37649:7;37658:1;37644:4;:16::i;:::-;37634:26;-1:-1:-1;37678:6:129;37683:1;37678:6;;:::i;:::-;;;37494:215;;;37346:369;;37268:447;;;;:::o;23207:191::-;23286:4;-1:-1:-1;;;;;23352:24:129;;;:39;;23387:4;23352:39;;;23379:5;23345:46;23207:191;-1:-1:-1;;23207:191:129:o;27396:174::-;27470:19;27543:20;5865:8;27543:16;:20;:::i;:::-;27529:10;;27518:8;;:21;;;;:::i;:::-;:45;;;27396:174;-1:-1:-1;;27396:174:129:o;10036:230::-;10129:11;;10101:4;;-1:-1:-1;;;;;10129:11:129;10117:76;;-1:-1:-1;10178:4:129;;10036:230;-1:-1:-1;10036:230:129:o;10117:76::-;10209:11;;:50;;;;;-1:-1:-1;;;;;18835:15:151;;;10209:50:129;;;18817:34:151;10253:4:129;18867:18:151;;;18860:43;10209:11:129;;;;:28;;18729:18:151;;10209:50:129;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;15415:615::-;15508:7;15527:24;15554:14;15527:41;;15578:51;;;;;;;;;;;;;;;;;;15612:16;15578:11;:51::i;:::-;15661:17;;:66;;-1:-1:-1;;;15661:66:129;;-1:-1:-1;;;;;18835:15:151;;;15661:66:129;;;18817:34:151;15721:4:129;18867:18:151;;;18860:43;15639:19:129;;15661:17;;:42;;18729:18:151;;15661:66:129;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;15639:88;;15737:39;;;;;;;;;;;;;;;;;;15764:11;15737;:39::i;:::-;15823:11;:21;15790:30;15804:16;15790:11;:30;:::i;:::-;:54;15786:139;;;15879:11;:21;:35;;15903:11;;15879:35;:::i;:::-;15860:54;;15786:139;15934:55;;;;;;;;;;;;;;;;;;15972:16;15934:11;:55::i;:::-;-1:-1:-1;16007:16:129;15415:615;-1:-1:-1;;;15415:615:129:o;16036:730::-;16172:17;;:48;;-1:-1:-1;;;16172:48:129;;-1:-1:-1;;;;;7620:55:151;;;16172:48:129;;;7602:74:151;16132:7:129;;;;16223:14;;16172:17;;;;:39;;7575:18:151;;16172:48:129;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:65;;;;:::i;:::-;16296:17;;:31;;;-1:-1:-1;;;16296:31:129;;;;16151:86;;-1:-1:-1;16266:2:129;;-1:-1:-1;;;;;16296:17:129;;;;:29;;:31;;;;;;;;;;;;;;;:17;:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;16282:56:129;;:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;16282:58:129;;;;;;;;-1:-1:-1;;16282:58:129;;;;;;;;;;;;:::i;:::-;;;16278:208;;16439:36;;;;;;;;;;;;;;;;;;:11;:36::i;:::-;16278:208;;;16390:17;;;-1:-1:-1;16278:208:129;16495:22;16520:37;16543:13;16549:7;16543:2;:13;:::i;:::-;16530:26;;:10;:26;:::i;16520:37::-;16591:17;;:66;;-1:-1:-1;;;16591:66:129;;-1:-1:-1;;;;;18835:15:151;;;16591:66:129;;;18817:34:151;16651:4:129;18867:18:151;;;18860:43;16495:62:129;;-1:-1:-1;16567:21:129;;16591:17;;;;:42;;18729:18:151;;16591:66:129;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;16567:90;-1:-1:-1;16668:24:129;16695:30;16567:90;16695:14;:30;:::i;:::-;16668:57;16036:730;-1:-1:-1;;;;;;;;16036:730:129:o;38425:719::-;38578:18;38598:19;38647:12;38633:26;;38699:11;38676:9;:19;;;:34;;38669:42;;;;:::i;:::-;38748:11;38725:9;:19;;;:34;38721:173;;-1:-1:-1;38849:1:129;;-1:-1:-1;38849:1:129;38841:13;;38721:173;38960:177;39007:9;:19;;;38993:11;:33;;;;:::i;:::-;39079:9;:24;;;39117:10;38960:19;:177::i;:::-;38947:190;;38425:719;;;;;;:::o;9897:133::-;-1:-1:-1;;;;;9971:22:129;;9967:56;;10002:21;;;;;;;;;;;;;;14116:118:11;14173:10;:20;;-1:-1:-1;;14173:20:11;;;;;;;;;;14208:19;;2998:41:151;;;14208:19:11;;2986:2:151;2971:18;14208:19:11;2858:187:151;22072:220:129;22155:6;-1:-1:-1;;;;;22223:26:129;;;:62;;22270:15;22223:62;;;22252:15;22216:69;22072:220;-1:-1:-1;;22072:220:129:o;8269:350:11:-;5660:16;:14;:16::i;:::-;8428:6:::1;::::0;:11;8424:45:::1;;8448:21;;;;;;;;;;;;;;8424:45;8556:7;8567:1;8556:12:::0;8552:34:::1;;8577:9;;;;;;;;;;;;;;8552:34;8596:6;:16:::0;8269:350::o;18425:604:129:-;18509:28;18529:7;18509:19;:28::i;:::-;18552:26;18570:7;18552:17;:26::i;:::-;18547:90;;18601:25;;-1:-1:-1;;;18601:25:129;;;;;;;;;;;18547:90;18677:17;;:69;;-1:-1:-1;;;18677:69:129;;-1:-1:-1;;;;;18835:15:151;;;18677:69:129;;;18817:34:151;18740:4:129;18867:18:151;;;18860:43;18646:28:129;;18677:17;;:45;;18729:18:151;;18677:69:129;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;18646:100;;18761:23;18756:78;;18807:16;;;;;;;;;;;;;;18756:78;18843:42;18899:5;18888:53;;;;;;;;;;;;:::i;:::-;18843:98;;18951:37;18976:7;18985:2;18951:24;:37::i;:::-;18998:24;19010:7;19019:2;18998:11;:24::i;:::-;18499:530;;18425:604;;:::o;22985:127::-;23077:28;;7406:25:151;;;23077:28:129;;7394:2:151;7379:18;23077:28:129;7260:177:151;6721:269:10;6815:16;-1:-1:-1;;;;;6815:16:10;;;6811:173;;6847:45;6879:3;6884:7;6847:31;:45::i;6811:173::-;6923:50;6952:6;6960:3;6965:7;6923:28;:50::i;23496:836:129:-;-1:-1:-1;;;;;23630:29:129;;23598;23630;;;:20;:29;;;;;;;;23598:61;;;;;;;;;;;;;;;;;;;23630:29;;23598:61;;;23630:29;23598:61;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23674:9;23669:657;23693:12;:19;23689:1;:23;23669:657;;;23733:18;23754:12;23767:1;23754:15;;;;;;;;:::i;:::-;;;;;;;23733:36;;23783:40;23826:9;:21;23836:10;23826:21;;;;;;;;;;;23783:64;;23865:26;23880:10;23865:14;:26::i;:::-;23861:455;;;-1:-1:-1;;;;;23934:35:129;;23911:20;23934:35;;;:26;;;:35;;;;;;;23987:39;;;;24044:21;;;:37;;23934:35;;;;24044:37;;23934:35;;24044:37;:::i;:::-;;;;;;;;24114:12;24099:11;;:27;;;;;;;:::i;:::-;;;;-1:-1:-1;24144:50:129;;-1:-1:-1;24171:8:129;24181:12;24144:26;:50::i;:::-;24254:21;;;;24277:23;;;;24217:84;;;-1:-1:-1;;;;;33095:55:151;;33077:74;;33182:2;33167:18;;33160:34;;;-1:-1:-1;33210:18:151;;;33203:34;33268:2;33253:18;;33246:34;;;;33311:3;33296:19;;33289:35;;;;24217:84:129;;;;;;33064:3:151;24217:84:129;;;23893:423;23861:455;23719:607;;23714:3;;;;;:::i;:::-;;;;23669:657;;5630:121:35;5685:59;5740:2;5701:42;;;;;;;;:::i;:::-;;;;-1:-1:-1;;5701:42:35;;;;;;;;;;;;;;;;;;;;5685:15;:59::i;6548:139::-;6612:68;6672:2;6676;6628:51;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;6628:51:35;;;;;;;;;;;;;;;;;;;;6612:15;:68::i;6530:1642:87:-;6578:7;6601:1;6606;6601:6;6597:45;;-1:-1:-1;6630:1:87;;6530:1642;-1:-1:-1;6530:1642:87:o;6597:45::-;7321:14;7355:1;7344:7;7349:1;7344:4;:7::i;:::-;:12;;7338:1;:19;;7321:36;;7816:1;7805:6;7801:1;:10;;;;;:::i;:::-;;7792:6;:19;7791:26;;7782:35;;7865:1;7854:6;7850:1;:10;;;;;:::i;:::-;;7841:6;:19;7840:26;;7831:35;;7914:1;7903:6;7899:1;:10;;;;;:::i;:::-;;7890:6;:19;7889:26;;7880:35;;7963:1;7952:6;7948:1;:10;;;;;:::i;:::-;;7939:6;:19;7938:26;;7929:35;;8012:1;8001:6;7997:1;:10;;;;;:::i;:::-;;7988:6;:19;7987:26;;7978:35;;8061:1;8050:6;8046:1;:10;;;;;:::i;:::-;;8037:6;:19;8036:26;;8027:35;;8110:1;8099:6;8095:1;:10;;;;;:::i;:::-;;8086:6;:19;8085:26;;8076:35;;8132:23;8136:6;8148;8144:1;:10;;;;;:::i;:::-;;8132:3;:23::i;36777:269:129:-;36838:15;-1:-1:-1;;;36873:2:129;:13;;36865:66;;;;-1:-1:-1;;;36865:66:129;;34058:2:151;36865:66:129;;;34040:21:151;34097:2;34077:18;;;34070:30;34136:34;34116:18;;;34109:62;34207:10;34187:18;;;34180:38;34235:19;;36865:66:129;33856:404:151;36865:66:129;-1:-1:-1;;;36949:2:129;:12;36941:53;;;;-1:-1:-1;;;36941:53:129;;34467:2:151;36941:53:129;;;34449:21:151;34506:2;34486:18;;;34479:30;34545;34525:18;;;34518:58;34593:18;;36941:53:129;34265:352:151;36941:53:129;37036:3;6008:34;37013:7;37018:2;37013;:7;:::i;:::-;37012:19;;;;:::i;:::-;37011:28;;;36777:269;-1:-1:-1;;;36777:269:129:o;9346:377::-;-1:-1:-1;;;;;9419:21:129;;9415:77;;9463:18;;;;;;;;;;;;;;9415:77;9513:17;;-1:-1:-1;;;;;9513:17:129;9501:100;;9568:22;;-1:-1:-1;;;9568:22:129;;;;;;;;;;;9501:100;9615:17;;:35;;;;;-1:-1:-1;;;;;7620:55:151;;;9615:35:129;;;7602:74:151;9615:17:129;;;;:26;;7575:18:151;;9615:35:129;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9610:93;;9673:19;;;;;;;;;;;;;;27576:1548;27716:22;27757:9;27752:630;27776:16;:23;27772:1;:27;27752:630;;;27879:16;27896:1;27879:19;;;;;;;;:::i;:::-;;;;;;;:30;;;27913:1;27879:35;27875:187;28039:8;27875:187;28075:18;28096:16;28113:1;28096:19;;;;;;;;:::i;:::-;;;;;;;:30;;;28075:51;;28145:26;28160:10;28145:14;:26::i;:::-;28140:167;;28198:29;;-1:-1:-1;;;28198:29:129;;;;;7406:25:151;;;7379:18;;28198:29:129;7260:177:151;28140:167:129;28339:16;28356:1;28339:19;;;;;;;;:::i;:::-;;;;;;;:32;;;28320:51;;;;;:::i;:::-;;;27806:576;27752:630;27801:3;;;;:::i;:::-;;;;27752:630;;;-1:-1:-1;;;;;;26827:26:129;;28478:29;26827:26;;;:18;:26;;;;;;28510:60;;28554:15;28510:11;:60::i;:::-;28681:17;;:66;;-1:-1:-1;;;28681:66:129;;-1:-1:-1;;;;;18835:15:151;;;28681:66:129;;;18817:34:151;28741:4:129;18867:18:151;;;18860:43;28478:92:129;;-1:-1:-1;28652:26:129;;28681:17;;;;:42;;18729:18:151;;28681:66:129;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;28652:95;;28937:18;28913:21;:42;28909:147;;;28978:67;;;;;;;;17037:25:151;;;17078:18;;;17071:34;;;17010:18;;28978:67:129;16863:248:151;28909:147:129;-1:-1:-1;;;;;;29066:27:129;;;;;;;:18;:27;;;;;:51;;;;-1:-1:-1;;27576:1548:129:o;29130:3479::-;29245:29;29289:9;29284:3319;29308:16;:23;29304:1;:27;29284:3319;;;29352:18;29373:16;29390:1;29373:19;;;;;;;;:::i;:::-;;;;;;;:30;;;29352:51;;29476:12;:19;29499:1;29476:24;29472:920;;29535:16;;;29549:1;29535:16;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;29535:16:129;29520:31;;29587:10;29569:12;29582:1;29569:15;;;;;;;;:::i;:::-;;;;;;:28;;;;;29472:920;;;29646:10;29687:9;29682:318;29706:12;:19;29702:1;:23;29682:318;;;29802:10;29783:12;29796:1;29783:15;;;;;;;;:::i;:::-;;;;;;;:29;29779:203;;29885:40;;;;;;;;17037:25:151;;;17078:18;;;17071:34;;;29848:4:129;;-1:-1:-1;17010:18:151;;29885:40:129;16863:248:151;29779:203:129;29727:3;;;;:::i;:::-;;;;29682:318;;;;30022:5;30017:361;;30051:21;30089:12;:19;30111:1;30089:23;;;;:::i;:::-;30075:38;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;30075:38:129;;30051:62;;30140:9;30135:124;30159:12;:19;30155:1;:23;30135:124;;;30221:12;30234:1;30221:15;;;;;;;;:::i;:::-;;;;;;;30211:4;30216:1;30211:7;;;;;;;;:::i;:::-;;;;;;;;;;:25;30180:3;;;;:::i;:::-;;;;30135:124;;;;30308:10;30280:4;30285:12;:19;30280:25;;;;;;;;:::i;:::-;;;;;;;;;;:38;30355:4;-1:-1:-1;30017:361:129;29628:764;29472:920;30405:12;30420:16;30437:1;30420:19;;;;;;;;:::i;:::-;;;;;;;;;;;;:32;;;30467:40;30510:21;;;:9;:21;;;;;;-1:-1:-1;;;;;30664:35:129;;;;:26;;;:35;;;;;;30420:32;;-1:-1:-1;30887:40:129;30664:35;30420:32;30887:11;:40::i;:::-;-1:-1:-1;;;;;31062:35:129;;;;;;:26;;;:35;;;;;:50;;;30864:63;;-1:-1:-1;31062:35:129;31384:246;-1:-1:-1;;;;;31408:29:129;;;;;;:20;:29;;;;;:36;31404:40;;31384:246;;;31509:19;;-1:-1:-1;;;;;31473:29:129;;31509:19;31473:29;;;:20;:29;;;;;:32;;31503:1;;31473:32;;;;;;:::i;:::-;;;;;;;;;:55;31469:147;;31566:4;31552:18;;31592:5;;31469:147;31446:3;;;;:::i;:::-;;;;31384:246;;;;31648:11;31643:106;;-1:-1:-1;;;;;31679:29:129;;;;;;:20;:29;;;;;;;31714:19;;31679:55;;;;;;;;;;;;;;;;;;31643:106;31928:12;31904:20;:36;31900:370;;31975:35;31990:20;31975:12;:35;:::i;:::-;31960:11;;:50;;;;;;;:::i;:::-;;;;-1:-1:-1;32053:35:129;;-1:-1:-1;32068:20:129;32053:12;:35;:::i;:::-;32028:8;:21;;;:60;;;;;;;:::i;:::-;;;;-1:-1:-1;31900:370:129;;-1:-1:-1;31900:370:129;;32142:35;32165:12;32142:20;:35;:::i;:::-;32127:11;;:50;;;;;;;:::i;:::-;;;;-1:-1:-1;32220:35:129;;-1:-1:-1;32243:12:129;32220:20;:35;:::i;:::-;32195:8;:21;;;:60;;;;;;;:::i;:::-;;;;-1:-1:-1;;31900:370:129;32287:8;:18;;;32309:1;32287:23;32283:310;;32351:12;32330:18;;;:33;32283:310;;;32402:58;32429:8;32439:20;32402:26;:58::i;:::-;32531:21;;;;32554:23;;;;32483:95;;;-1:-1:-1;;;;;33095:55:151;;33077:74;;33182:2;33167:18;;33160:34;;;33210:18;;;33203:34;;;33268:2;33253:18;;33246:34;;;;33311:3;33296:19;;33289:35;32483:95:129;;33064:3:151;33049:19;32483:95:129;;;;;;;32283:310;29338:3265;;;;;;29333:3;;;;;:::i;:::-;;;;29284:3319;;2455:490:14;2711:4;2705;2699;2693;2685:6;2681:2;2674:5;2669:47;2659:270;;2822:10;2816:4;2809:24;2910:4;2904;2897:18;11454:1189;11617:2;11611:4;11604:16;11674:6;11668:4;11661:20;11814:34;11808:4;11801:48;12272:4;12266;12260;12254;12251:1;12244:5;12237;12232:45;12192:16;12185:24;12181:1;12174:4;12168:11;12165:18;12162:48;11890:405;11863:655;;12411:10;12405:4;12398:24;12499:4;12493;12486:18;11863:655;12625:1;12619:4;12612:15;11454:1189;;;:::o;27205:185:129:-;27273:4;27296:22;;;:9;:22;;;;;:33;:37;;;;:87;;-1:-1:-1;;27381:1:129;27337:22;;;:9;:22;;;;;:32;;;-1:-1:-1;;;;;27337:32:129;:46;;;27205:185::o;181:376:35:-;275:14;;131:42;448:2;435:16;;251:21;;275:14;435:16;131:42;484:5;473:68;464:77;;401:150;;181:376;:::o;8633:983:87:-;8685:7;;8769:3;8760:12;;;:16;8756:99;;8806:3;8796:13;;;;8827;8756:99;8881:2;8872:11;;;:15;8868:96;;8917:2;8907:12;;;;8937;8868:96;8990:2;8981:11;;;:15;8977:96;;9026:2;9016:12;;;;9046;8977:96;9099:2;9090:11;;;:15;9086:96;;9135:2;9125:12;;;;9155;9086:96;9208:1;9199:10;;;:14;9195:93;;9243:1;9233:11;;;;9262;9195:93;9314:1;9305:10;;;:14;9301:93;;9349:1;9339:11;;;;9368;9301:93;9420:1;9411:10;;;:14;9407:93;;9455:1;9445:11;;;;9474;9407:93;9526:1;9517:10;;;:14;9513:64;;9561:1;9551:11;9603:6;8633:983;-1:-1:-1;;8633:983:87:o;588:104::-;646:7;676:1;672;:5;:13;;684:1;672:13;;;-1:-1:-1;680:1:87;;588:104;-1:-1:-1;588:104:87:o;32615:276:129:-;32692:7;;32727:25;32746:6;32734:8;32727:25;:::i;:::-;32711:41;;32776:1;32767:6;:10;32763:90;;;32800:42;;;;;;;;23097:25:151;;;23138:18;;;23131:34;;;23181:18;;;23174:34;;;23070:18;;32800:42:129;22895:319:151;14:180;73:6;126:2;114:9;105:7;101:23;97:32;94:52;;;142:1;139;132:12;94:52;-1:-1:-1;165:23:151;;14:180;-1:-1:-1;14:180:151:o;331:184::-;-1:-1:-1;;;380:1:151;373:88;480:4;477:1;470:15;504:4;501:1;494:15;520:145;606:1;599:5;596:12;586:46;;612:18;;:::i;:::-;641;;520:145::o;670:250::-;755:1;765:113;779:6;776:1;773:13;765:113;;;855:11;;;849:18;836:11;;;829:39;801:2;794:10;765:113;;;-1:-1:-1;;912:1:151;894:16;;887:27;670:250::o;925:271::-;967:3;1005:5;999:12;1032:6;1027:3;1020:19;1048:76;1117:6;1110:4;1105:3;1101:14;1094:4;1087:5;1083:16;1048:76;:::i;:::-;1178:2;1157:15;-1:-1:-1;;1153:29:151;1144:39;;;;1185:4;1140:50;;925:271;-1:-1:-1;;925:271:151:o;1201:252::-;1288:5;1282:12;1277:3;1270:25;1252:3;1341:4;1334:5;1330:16;1324:23;1379:4;1372;1367:3;1363:14;1356:28;1400:47;1441:4;1436:3;1432:14;1418:12;1400:47;:::i;:::-;1393:54;1201:252;-1:-1:-1;;;;1201:252:151:o;1458:1058::-;1872:4;1901:3;1931:6;1920:9;1913:25;1974:6;1969:2;1958:9;1954:18;1947:34;2017:6;2012:2;2001:9;1997:18;1990:34;2060:6;2055:2;2044:9;2040:18;2033:34;-1:-1:-1;;;;;2177:2:151;2169:6;2165:15;2159:3;2148:9;2144:19;2137:44;2230:2;2222:6;2218:15;2212:3;2201:9;2197:19;2190:44;2283:2;2275:6;2271:15;2265:3;2254:9;2250:19;2243:44;;2324:6;2318:3;2307:9;2303:19;2296:35;2340:59;2394:3;2383:9;2379:19;2371:6;2340:59;:::i;:::-;2436:2;2430:3;2419:9;2415:19;2408:31;2456:54;2506:2;2495:9;2491:18;2483:6;2456:54;:::i;:::-;2448:62;1458:1058;-1:-1:-1;;;;;;;;;;;;;1458:1058:151:o;2521:332::-;2579:6;2632:2;2620:9;2611:7;2607:23;2603:32;2600:52;;;2648:1;2645;2638:12;2600:52;2687:9;2674:23;2737:66;2730:5;2726:78;2719:5;2716:89;2706:117;;2819:1;2816;2809:12;3050:154;-1:-1:-1;;;;;3129:5:151;3125:54;3118:5;3115:65;3105:93;;3194:1;3191;3184:12;3209:247;3268:6;3321:2;3309:9;3300:7;3296:23;3292:32;3289:52;;;3337:1;3334;3327:12;3289:52;3376:9;3363:23;3395:31;3420:5;3395:31;:::i;3461:184::-;-1:-1:-1;;;3510:1:151;3503:88;3610:4;3607:1;3600:15;3634:4;3631:1;3624:15;3650:257;3722:4;3716:11;;;3754:17;;3801:18;3786:34;;3822:22;;;3783:62;3780:88;;;3848:18;;:::i;:::-;3884:4;3877:24;3650:257;:::o;3912:252::-;3984:2;3978:9;4026:3;4014:16;;4060:18;4045:34;;4081:22;;;4042:62;4039:88;;;4107:18;;:::i;4169:253::-;4241:2;4235:9;4283:4;4271:17;;4318:18;4303:34;;4339:22;;;4300:62;4297:88;;;4365:18;;:::i;4427:253::-;4499:2;4493:9;4541:4;4529:17;;4576:18;4561:34;;4597:22;;;4558:62;4555:88;;;4623:18;;:::i;4685:275::-;4756:2;4750:9;4821:2;4802:13;;-1:-1:-1;;4798:27:151;4786:40;;4856:18;4841:34;;4877:22;;;4838:62;4835:88;;;4903:18;;:::i;:::-;4939:2;4932:22;4685:275;;-1:-1:-1;4685:275:151:o;4965:183::-;5025:4;5058:18;5050:6;5047:30;5044:56;;;5080:18;;:::i;:::-;-1:-1:-1;5125:1:151;5121:14;5137:4;5117:25;;4965:183::o;5153:737::-;5207:5;5260:3;5253:4;5245:6;5241:17;5237:27;5227:55;;5278:1;5275;5268:12;5227:55;5314:6;5301:20;5340:4;5364:60;5380:43;5420:2;5380:43;:::i;:::-;5364:60;:::i;:::-;5458:15;;;5544:1;5540:10;;;;5528:23;;5524:32;;;5489:12;;;;5568:15;;;5565:35;;;5596:1;5593;5586:12;5565:35;5632:2;5624:6;5620:15;5644:217;5660:6;5655:3;5652:15;5644:217;;;5740:3;5727:17;5757:31;5782:5;5757:31;:::i;:::-;5801:18;;5839:12;;;;5677;;5644:217;;;-1:-1:-1;5879:5:151;5153:737;-1:-1:-1;;;;;;5153:737:151:o;5895:186::-;5943:4;5976:18;5968:6;5965:30;5962:56;;;5998:18;;:::i;:::-;-1:-1:-1;6064:2:151;6043:15;-1:-1:-1;;6039:29:151;6070:4;6035:40;;5895:186::o;6086:462::-;6128:5;6181:3;6174:4;6166:6;6162:17;6158:27;6148:55;;6199:1;6196;6189:12;6148:55;6235:6;6222:20;6266:48;6282:31;6310:2;6282:31;:::i;6266:48::-;6339:2;6330:7;6323:19;6385:3;6378:4;6373:2;6365:6;6361:15;6357:26;6354:35;6351:55;;;6402:1;6399;6392:12;6351:55;6467:2;6460:4;6452:6;6448:17;6441:4;6432:7;6428:18;6415:55;6515:1;6490:16;;;6508:4;6486:27;6479:38;;;;6494:7;6086:462;-1:-1:-1;;;6086:462:151:o;6553:702::-;6664:6;6672;6680;6733:2;6721:9;6712:7;6708:23;6704:32;6701:52;;;6749:1;6746;6739:12;6701:52;6789:9;6776:23;6818:18;6859:2;6851:6;6848:14;6845:34;;;6875:1;6872;6865:12;6845:34;6898:61;6951:7;6942:6;6931:9;6927:22;6898:61;:::i;:::-;6888:71;;7012:2;7001:9;6997:18;6984:32;6968:48;;7041:2;7031:8;7028:16;7025:36;;;7057:1;7054;7047:12;7025:36;;7080:51;7123:7;7112:8;7101:9;7097:24;7080:51;:::i;:::-;7070:61;;;7181:2;7170:9;7166:18;7153:32;7194:31;7219:5;7194:31;:::i;:::-;7244:5;7234:15;;;6553:702;;;;;:::o;7687:455::-;7764:6;7772;7825:2;7813:9;7804:7;7800:23;7796:32;7793:52;;;7841:1;7838;7831:12;7793:52;7881:9;7868:23;7914:18;7906:6;7903:30;7900:50;;;7946:1;7943;7936:12;7900:50;7969:49;8010:7;8001:6;7990:9;7986:22;7969:49;:::i;:::-;7959:59;;;8068:2;8057:9;8053:18;8040:32;8081:31;8106:5;8081:31;:::i;:::-;8131:5;8121:15;;;7687:455;;;;;:::o;8378:142::-;8461:1;8454:5;8451:12;8441:46;;8467:18;;:::i;8525:213::-;8674:2;8659:18;;8686:46;8663:9;8714:6;8686:46;:::i;8743:315::-;8811:6;8819;8872:2;8860:9;8851:7;8847:23;8843:32;8840:52;;;8888:1;8885;8878:12;8840:52;8927:9;8914:23;8946:31;8971:5;8946:31;:::i;:::-;8996:5;9048:2;9033:18;;;;9020:32;;-1:-1:-1;;;8743:315:151:o;9063:316::-;9140:6;9148;9156;9209:2;9197:9;9188:7;9184:23;9180:32;9177:52;;;9225:1;9222;9215:12;9177:52;-1:-1:-1;;9248:23:151;;;9318:2;9303:18;;9290:32;;-1:-1:-1;9369:2:151;9354:18;;;9341:32;;9063:316;-1:-1:-1;9063:316:151:o;9384:143::-;9468:1;9461:5;9458:12;9448:46;;9474:18;;:::i;9532:215::-;9682:2;9667:18;;9694:47;9671:9;9723:6;9694:47;:::i;10192:261::-;10373:2;10362:9;10355:21;10336:4;10393:54;10443:2;10432:9;10428:18;10420:6;10393:54;:::i;10458:1357::-;10585:6;10593;10646:2;10634:9;10625:7;10621:23;10617:32;10614:52;;;10662:1;10659;10652:12;10614:52;10702:9;10689:23;10731:18;10772:2;10764:6;10761:14;10758:34;;;10788:1;10785;10778:12;10758:34;10811:61;10864:7;10855:6;10844:9;10840:22;10811:61;:::i;:::-;10801:71;;10891:2;10881:12;;10946:2;10935:9;10931:18;10918:32;10975:2;10965:8;10962:16;10959:36;;;10991:1;10988;10981:12;10959:36;11014:24;;11069:4;11061:13;;11057:27;-1:-1:-1;11047:55:151;;11098:1;11095;11088:12;11047:55;11134:2;11121:16;11157:60;11173:43;11213:2;11173:43;:::i;11157:60::-;11251:15;;;11333:1;11329:10;;;;11321:19;;11317:28;;;11282:12;;;;11357:19;;;11354:39;;;11389:1;11386;11379:12;11354:39;11421:2;11417;11413:11;11433:352;11449:6;11444:3;11441:15;11433:352;;;11535:3;11522:17;11571:2;11558:11;11555:19;11552:109;;;11615:1;11644:2;11640;11633:14;11552:109;11686:56;11734:7;11729:2;11715:11;11711:2;11707:20;11703:29;11686:56;:::i;:::-;11674:69;;-1:-1:-1;11763:12:151;;;;11466;;11433:352;;;11437:3;11804:5;11794:15;;;;;;;;10458:1357;;;;;:::o;11820:849::-;12053:2;12105:21;;;12175:13;;12078:18;;;12197:22;;;12024:4;;12053:2;12238;;12256:18;;;;12297:15;;;12024:4;12340:303;12354:6;12351:1;12348:13;12340:303;;;12413:13;;12455:9;;-1:-1:-1;;;;;12451:58:151;12439:71;;12550:11;;12544:18;12530:12;;;12523:40;12583:12;;;;12618:15;;;;12376:1;12369:9;12340:303;;;-1:-1:-1;12660:3:151;;11820:849;-1:-1:-1;;;;;;;11820:849:151:o;12674:118::-;12760:5;12753:13;12746:21;12739:5;12736:32;12726:60;;12782:1;12779;12772:12;12797:241;12853:6;12906:2;12894:9;12885:7;12881:23;12877:32;12874:52;;;12922:1;12919;12912:12;12874:52;12961:9;12948:23;12980:28;13002:5;12980:28;:::i;13296:953::-;-1:-1:-1;;;;;13792:15:151;;;13774:34;;13844:15;;;13839:2;13824:18;;13817:43;13896:15;;13891:2;13876:18;;13869:43;13943:2;13928:18;;13921:34;;;13986:3;13971:19;;13964:35;;;13700:3;13685:19;;14008:59;14062:3;14047:19;;14039:6;14008:59;:::i;:::-;14104:6;14098:3;14087:9;14083:19;14076:35;14148:6;14142:3;14131:9;14127:19;14120:35;14192:6;14186:3;14175:9;14171:19;14164:35;14236:6;14230:3;14219:9;14215:19;14208:35;13296:953;;;;;;;;;;;;;:::o;14254:315::-;14322:6;14330;14383:2;14371:9;14362:7;14358:23;14354:32;14351:52;;;14399:1;14396;14389:12;14351:52;14435:9;14422:23;14412:33;;14495:2;14484:9;14480:18;14467:32;14508:31;14533:5;14508:31;:::i;14574:1202::-;14692:6;14723:2;14766;14754:9;14745:7;14741:23;14737:32;14734:52;;;14782:1;14779;14772:12;14734:52;14822:9;14809:23;14855:18;14847:6;14844:30;14841:50;;;14887:1;14884;14877:12;14841:50;14910:22;;14963:4;14955:13;;14951:27;-1:-1:-1;14941:55:151;;14992:1;14989;14982:12;14941:55;15028:2;15015:16;15051:60;15067:43;15107:2;15067:43;:::i;15051:60::-;15145:15;;;15227:1;15223:10;;;;15215:19;;15211:28;;;15176:12;;;;15251:19;;;15248:39;;;15283:1;15280;15273:12;15248:39;15307:11;;;;15327:419;15343:6;15338:3;15335:15;15327:419;;;15425:4;15419:3;15410:7;15406:17;15402:28;15399:118;;;15471:1;15500:2;15496;15489:14;15399:118;15543:22;;:::i;:::-;15592:17;;15578:32;;15659:12;;;15646:26;15630:14;;;15623:50;15686:18;;15369:4;15360:14;;;;15724:12;;;;15327:419;;15781:242;15924:2;15909:18;;15957:1;15946:13;;15936:47;;15963:18;;:::i;:::-;15992:25;;;15781:242;:::o;16028:388::-;16105:6;16113;16166:2;16154:9;16145:7;16141:23;16137:32;16134:52;;;16182:1;16179;16172:12;16134:52;16218:9;16205:23;16195:33;;16279:2;16268:9;16264:18;16251:32;16306:18;16298:6;16295:30;16292:50;;;16338:1;16335;16328:12;16292:50;16361:49;16402:7;16393:6;16382:9;16378:22;16361:49;:::i;:::-;16351:59;;;16028:388;;;;;:::o;16421:437::-;16500:1;16496:12;;;;16543;;;16564:61;;16618:4;16610:6;16606:17;16596:27;;16564:61;16671:2;16663:6;16660:14;16640:18;16637:38;16634:218;;-1:-1:-1;;;16705:1:151;16698:88;16809:4;16806:1;16799:15;16837:4;16834:1;16827:15;17116:184;-1:-1:-1;;;17165:1:151;17158:88;17265:4;17262:1;17255:15;17289:4;17286:1;17279:15;17305:128;17372:9;;;17393:11;;;17390:37;;;17407:18;;:::i;17811:184::-;-1:-1:-1;;;17860:1:151;17853:88;17960:4;17957:1;17950:15;17984:4;17981:1;17974:15;18000:274;18040:1;18066;18056:189;;-1:-1:-1;;;18098:1:151;18091:88;18202:4;18199:1;18192:15;18230:4;18227:1;18220:15;18056:189;-1:-1:-1;18259:9:151;;18000:274::o;18279:168::-;18352:9;;;18383;;18400:15;;;18394:22;;18380:37;18370:71;;18421:18;;:::i;18452:125::-;18517:9;;;18538:10;;;18535:36;;;18551:18;;:::i;18914:245::-;18981:6;19034:2;19022:9;19013:7;19009:23;19005:32;19002:52;;;19050:1;19047;19040:12;19002:52;19082:9;19076:16;19101:28;19123:5;19101:28;:::i;19164:184::-;19234:6;19287:2;19275:9;19266:7;19262:23;19258:32;19255:52;;;19303:1;19300;19293:12;19255:52;-1:-1:-1;19326:16:151;;19164:184;-1:-1:-1;19164:184:151:o;19353:266::-;19438:6;19491:2;19479:9;19470:7;19466:23;19462:32;19459:52;;;19507:1;19504;19497:12;19459:52;19539:9;19533:16;19558:31;19583:5;19558:31;:::i;19624:138::-;19703:13;;19725:31;19703:13;19725:31;:::i;:::-;19624:138;;;:::o;19767:157::-;19856:13;;19898:1;19888:12;;19878:40;;19914:1;19911;19904:12;19929:156;20017:13;;20059:1;20049:12;;20039:40;;20075:1;20072;20065:12;20090:420;20165:5;20213:4;20201:9;20196:3;20192:19;20188:30;20185:50;;;20231:1;20228;20221:12;20185:50;20264:2;20258:9;20306:4;20298:6;20294:17;20377:6;20365:10;20362:22;20341:18;20329:10;20326:34;20323:62;20320:88;;;20388:18;;:::i;:::-;20424:2;20417:22;20487:16;;20472:32;;-1:-1:-1;20457:6:151;20090:420;-1:-1:-1;20090:420:151:o;20515:952::-;20620:6;20673:3;20661:9;20652:7;20648:23;20644:33;20641:53;;;20690:1;20687;20680:12;20641:53;20716:22;;:::i;:::-;20761:40;20791:9;20761:40;:::i;:::-;20754:5;20747:55;20855:2;20844:9;20840:18;20834:25;20829:2;20822:5;20818:14;20811:49;20913:2;20902:9;20898:18;20892:25;20887:2;20880:5;20876:14;20869:49;20971:2;20960:9;20956:18;20950:25;20945:2;20938:5;20934:14;20927:49;21030:3;21019:9;21015:19;21009:26;21003:3;20996:5;20992:15;20985:51;21069:60;21124:3;21113:9;21109:19;21069:60;:::i;:::-;21063:3;21056:5;21052:15;21045:85;21163:59;21217:3;21206:9;21202:19;21163:59;:::i;:::-;21157:3;21150:5;21146:15;21139:84;21256:76;21324:7;21318:3;21307:9;21303:19;21256:76;:::i;:::-;21250:3;21243:5;21239:15;21232:101;21352:3;21387:49;21432:2;21421:9;21417:18;21387:49;:::i;:::-;21371:14;;;21364:73;21375:5;20515:952;-1:-1:-1;;;20515:952:151:o;21472:1116::-;21662:4;21704:3;21693:9;21689:19;21681:27;;21735:6;21724:9;21717:25;-1:-1:-1;;;;;21788:6:151;21782:13;21778:62;21773:2;21762:9;21758:18;21751:90;21895:2;21887:6;21883:15;21877:22;21872:2;21861:9;21857:18;21850:50;21954:2;21946:6;21942:15;21936:22;21931:2;21920:9;21916:18;21909:50;22014:2;22006:6;22002:15;21996:22;21990:3;21979:9;21975:19;21968:51;22074:3;22066:6;22062:16;22056:23;22050:3;22039:9;22035:19;22028:52;22127:3;22119:6;22115:16;22109:23;22141:63;22199:3;22188:9;22184:19;22170:12;22141:63;:::i;:::-;;22253:3;22245:6;22241:16;22235:23;22267:64;22326:3;22315:9;22311:19;22295:14;22267:64;:::i;:::-;-1:-1:-1;22380:3:151;22368:16;;22362:23;22443:21;22404:3;22423:18;;;22416:49;;;;22502:15;;;22496:22;-1:-1:-1;;;;;265:54:151;22577:3;22562:19;;;253:67;21472:1116;;-1:-1:-1;21472:1116:151:o;23219:726::-;23285:5;23333:4;23321:9;23316:3;23312:19;23308:30;23305:50;;;23351:1;23348;23341:12;23305:50;23373:22;;:::i;:::-;23364:31;;23424:9;23418:16;23411:5;23404:31;23479:2;23468:9;23464:18;23458:25;23506:18;23498:6;23495:30;23492:50;;;23538:1;23535;23528:12;23492:50;23561:22;;23614:4;23606:13;;23602:23;-1:-1:-1;23592:51:151;;23639:1;23636;23629:12;23592:51;23668:2;23662:9;23693:48;23709:31;23737:2;23709:31;:::i;23693:48::-;23764:2;23757:5;23750:17;23804:3;23799:2;23794;23790;23786:11;23782:20;23779:29;23776:49;;;23821:1;23818;23811:12;23776:49;23834:67;23898:2;23893;23886:5;23882:14;23877:2;23873;23869:11;23834:67;:::i;:::-;23928:2;23917:14;;23910:29;-1:-1:-1;23921:5:151;;23219:726;-1:-1:-1;;;23219:726:151:o;23950:1028::-;24042:6;24095:2;24083:9;24074:7;24070:23;24066:32;24063:52;;;24111:1;24108;24101:12;24063:52;24144:9;24138:16;24173:18;24214:2;24206:6;24203:14;24200:34;;;24230:1;24227;24220:12;24200:34;24253:22;;;;24309:4;24291:16;;;24287:27;24284:47;;;24327:1;24324;24317:12;24284:47;24353:22;;:::i;:::-;24404:2;24398:9;24391:5;24384:24;24446:2;24442;24438:11;24432:18;24459:33;24484:7;24459:33;:::i;:::-;24519:2;24508:14;;24501:31;24570:2;24562:11;;24556:18;24583:33;24556:18;24583:33;:::i;:::-;24643:2;24632:14;;24625:31;24695:2;24687:11;;24681:18;24711:16;;;24708:36;;;24740:1;24737;24730:12;24708:36;24776:65;24833:7;24822:8;24818:2;24814:17;24776:65;:::i;:::-;24771:2;24764:5;24760:14;24753:89;;24889:3;24885:2;24881:12;24875:19;24869:3;24862:5;24858:15;24851:44;24942:3;24938:2;24934:12;24928:19;24922:3;24915:5;24911:15;24904:44;24967:5;24957:15;;;;;23950:1028;;;;:::o;25356:986::-;25459:6;25512:2;25500:9;25491:7;25487:23;25483:32;25480:52;;;25528:1;25525;25518:12;25480:52;25561:9;25555:16;25590:18;25631:2;25623:6;25620:14;25617:34;;;25647:1;25644;25637:12;25617:34;25670:22;;;;25726:4;25708:16;;;25704:27;25701:47;;;25744:1;25741;25734:12;25701:47;25770:22;;:::i;:::-;25821:2;25815:9;25808:5;25801:24;25863:2;25859;25855:11;25849:18;25876:33;25901:7;25876:33;:::i;:::-;25936:2;25925:14;;25918:31;25995:2;25987:11;;;25981:18;25965:14;;;25958:42;26038:2;26030:11;;26024:18;26051:33;26024:18;26051:33;:::i;:::-;26111:2;26100:14;;26093:31;26163:3;26155:12;;26149:19;26180:16;;;26177:36;;;26209:1;26206;26199:12;26177:36;26246:65;26303:7;26292:8;26288:2;26284:17;26246:65;:::i;:::-;26240:3;26229:15;;26222:90;-1:-1:-1;26233:5:151;25356:986;-1:-1:-1;;;;;25356:986:151:o;26617:135::-;26656:3;26677:17;;;26674:43;;26697:18;;:::i;:::-;-1:-1:-1;26744:1:151;26733:13;;26617:135::o;26883:545::-;26985:2;26980:3;26977:11;26974:448;;;27021:1;27046:5;27042:2;27035:17;27091:4;27087:2;27077:19;27161:2;27149:10;27145:19;27142:1;27138:27;27132:4;27128:38;27197:4;27185:10;27182:20;27179:47;;;-1:-1:-1;27220:4:151;27179:47;27275:2;27270:3;27266:12;27263:1;27259:20;27253:4;27249:31;27239:41;;27330:82;27348:2;27341:5;27338:13;27330:82;;;27393:17;;;27374:1;27363:13;27330:82;;;27334:3;;;26883:545;;;:::o;27604:1352::-;27730:3;27724:10;27757:18;27749:6;27746:30;27743:56;;;27779:18;;:::i;:::-;27808:97;27898:6;27858:38;27890:4;27884:11;27858:38;:::i;:::-;27852:4;27808:97;:::i;:::-;27960:4;;28024:2;28013:14;;28041:1;28036:663;;;;28743:1;28760:6;28757:89;;;-1:-1:-1;28812:19:151;;;28806:26;28757:89;-1:-1:-1;;27561:1:151;27557:11;;;27553:24;27549:29;27539:40;27585:1;27581:11;;;27536:57;28859:81;;28006:944;;28036:663;26830:1;26823:14;;;26867:4;26854:18;;-1:-1:-1;;28072:20:151;;;28190:236;28204:7;28201:1;28198:14;28190:236;;;28293:19;;;28287:26;28272:42;;28385:27;;;;28353:1;28341:14;;;;28220:19;;28190:236;;;28194:3;28454:6;28445:7;28442:19;28439:201;;;28515:19;;;28509:26;-1:-1:-1;;28598:1:151;28594:14;;;28610:3;28590:24;28586:37;28582:42;28567:58;28552:74;;28439:201;-1:-1:-1;;;;;28686:1:151;28670:14;;;28666:22;28653:36;;-1:-1:-1;27604:1352:151:o;29233:273::-;29301:6;29354:2;29342:9;29333:7;29329:23;29325:32;29322:52;;;29370:1;29367;29360:12;29322:52;29402:9;29396:16;29452:4;29445:5;29441:16;29434:5;29431:27;29421:55;;29472:1;29469;29462:12;29511:422;29600:1;29643:5;29600:1;29657:270;29678:7;29668:8;29665:21;29657:270;;;29737:4;29733:1;29729:6;29725:17;29719:4;29716:27;29713:53;;;29746:18;;:::i;:::-;29796:7;29786:8;29782:22;29779:55;;;29816:16;;;;29779:55;29895:22;;;;29855:15;;;;29657:270;;;29661:3;29511:422;;;;;:::o;29938:806::-;29987:5;30017:8;30007:80;;-1:-1:-1;30058:1:151;30072:5;;30007:80;30106:4;30096:76;;-1:-1:-1;30143:1:151;30157:5;;30096:76;30188:4;30206:1;30201:59;;;;30274:1;30269:130;;;;30181:218;;30201:59;30231:1;30222:10;;30245:5;;;30269:130;30306:3;30296:8;30293:17;30290:43;;;30313:18;;:::i;:::-;-1:-1:-1;;30369:1:151;30355:16;;30384:5;;30181:218;;30483:2;30473:8;30470:16;30464:3;30458:4;30455:13;30451:36;30445:2;30435:8;30432:16;30427:2;30421:4;30418:12;30414:35;30411:77;30408:159;;;-1:-1:-1;30520:19:151;;;30552:5;;30408:159;30599:34;30624:8;30618:4;30599:34;:::i;:::-;30669:6;30665:1;30661:6;30657:19;30648:7;30645:32;30642:58;;;30680:18;;:::i;:::-;30718:20;;29938:806;-1:-1:-1;;;29938:806:151:o;30749:131::-;30809:5;30838:36;30865:8;30859:4;30838:36;:::i;31242:184::-;-1:-1:-1;;;31291:1:151;31284:88;31391:4;31388:1;31381:15;31415:4;31412:1;31405:15;31431:1185;31560:6;31591:2;31634;31622:9;31613:7;31609:23;31605:32;31602:52;;;31650:1;31647;31640:12;31602:52;31683:9;31677:16;31716:18;31708:6;31705:30;31702:50;;;31748:1;31745;31738:12;31702:50;31771:22;;31824:4;31816:13;;31812:27;-1:-1:-1;31802:55:151;;31853:1;31850;31843:12;31802:55;31882:2;31876:9;31905:60;31921:43;31961:2;31921:43;:::i;31905:60::-;31999:15;;;32081:1;32077:10;;;;32069:19;;32065:28;;;32030:12;;;;32105:19;;;32102:39;;;32137:1;32134;32127:12;32102:39;32161:11;;;;32181:405;32197:6;32192:3;32189:15;32181:405;;;32279:4;32273:3;32264:7;32260:17;32256:28;32253:118;;;32325:1;32354:2;32350;32343:14;32253:118;32397:22;;:::i;:::-;32446:10;;32432:25;;32499:12;;;32493:19;32477:14;;;32470:43;32526:18;;32223:4;32214:14;;;;32564:12;;;;32181:405;;32621:184;-1:-1:-1;;;32670:1:151;32663:88;32770:4;32767:1;32760:15;32794:4;32791:1;32784:15;33335:220;33484:2;33473:9;33466:21;33447:4;33504:45;33545:2;33534:9;33530:18;33522:6;33504:45;:::i;33560:291::-;33737:2;33726:9;33719:21;33700:4;33757:45;33798:2;33787:9;33783:18;33775:6;33757:45;:::i;:::-;33749:53;;33838:6;33833:2;33822:9;33818:18;33811:34;33560:291;;;;;:::o;34622:216::-;34686:9;;;34714:11;;;34661:3;34744:9;;34772:10;;34768:19;;34797:10;;34789:19;;34765:44;34762:70;;;34812:18;;:::i", - "linkReferences": {}, - "immutableReferences": { - "3335": [ - { - "start": 1160, - "length": 32 - }, - { - "start": 6687, - "length": 32 - }, - { - "start": 6834, - "length": 32 - }, - { - "start": 7483, - "length": 32 - } - ], - "3337": [ - { - "start": 1524, - "length": 32 - } - ] - } - }, - "methodIdentifiers": { - "D()": "0f529ba2", - "MAX_STAKED_PROPOSALS()": "406244d8", - "NATIVE()": "a0cf0aea", - "_minThresholdPoints()": "7c6570ba", - "activatePoints()": "814516ad", - "allocate(bytes,address)": "ef2920fc", - "calculateConviction(uint256,uint256,uint256)": "346db8cb", - "calculateThreshold(uint256)": "59a5db8b", - "canExecuteProposal(uint256)": "824ea8ed", - "deactivatePoints()": "1ddf1e23", - "deactivatePoints(address)": "6453d9c4", - "decay()": "54fac919", - "decreasePower(address,uint256)": "2ed04b2b", - "distribute(address[],bytes,address)": "0a6f0ee9", - "getAllo()": "15cc481e", - "getMaxAmount()": "0ba95909", - "getMaxConviction(uint256)": "950559d7", - "getMetadata(uint256)": "a574cea4", - "getPayouts(address[],bytes[])": "b2b878d0", - "getPointSystem()": "c3292171", - "getPoolAmount()": "4ab4ba42", - "getPoolId()": "38fff2d0", - "getProposal(uint256)": "c7f758a8", - "getProposalStakedAmount(uint256)": "dc96ff2d", - "getProposalVoterStake(uint256,address)": "e0dd2c38", - "getRecipientStatus(address)": "eb11af93", - "getStrategyId()": "42fda9c7", - "getTotalVoterStakePct(address)": "bcc5b93b", - "increasePoolAmount(uint256)": "f5b0dfb7", - "increasePower(address,uint256)": "782aadff", - "initialize(uint256,bytes)": "edd146cc", - "isPoolActive()": "df868ed3", - "isValidAllocator(address)": "4d31d087", - "maxRatio()": "76365af7", - "pointConfig()": "a47ff7e5", - "pointSystem()": "2dbd6fdd", - "proposalCounter()": "0c0512e9", - "proposalType()": "351d9f96", - "proposals(uint256)": "013cf08b", - "registerRecipient(bytes,address)": "2bbe0cae", - "registryCommunity()": "6003e414", - "setDecay(uint256)": "69fa25c4", - "setMaxRatio(uint256)": "11f22ae3", - "setMinThresholdPoints(uint256)": "2cefadbb", - "setPoolActive(bool)": "b5f620ce", - "setRegistryCommunity(address)": "058aca44", - "setSybilScorer(address)": "ac1ed7b9", - "setWeight(uint256)": "fc1711f2", - "supportProposal((uint256,int256)[])": "e33add93", - "supportsInterface(bytes4)": "01ffc9a7", - "sybilScorer()": "b6c61f31", - "totalEffectiveActivePoints()": "d1e36232", - "totalPointsActivated()": "aba9ffee", - "totalStaked()": "817b1cd2", - "totalVoterStakePct(address)": "5db64b99", - "updateProposalConviction(uint256)": "1aa91a9e", - "voterStakedProposals(address,uint256)": "868c57b8", - "weight()": "a1aab33f" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_allo\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"ALLOCATION_ACTIVE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ALLOCATION_NOT_ACTIVE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ALLOCATION_NOT_ENDED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ALREADY_INITIALIZED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"AMOUNT_MISMATCH\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ANCHOR_ERROR\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ARRAY_MISMATCH\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"AddressCannotBeZero\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"AmountOverMaxRatio\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"CantIncreaseFixedSystem\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ConvictionUnderMinimumThreshold\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID_ADDRESS\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID_FEE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID_METADATA\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID_REGISTRATION\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"IS_APPROVED_STRATEGY\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"MISMATCH\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"MaxPointsReached\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NONCE_NOT_AVAILABLE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NOT_APPROVED_STRATEGY\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NOT_ENOUGH_FUNDS\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NOT_IMPLEMENTED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NOT_INITIALIZED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NOT_PENDING_OWNER\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"pointsSupport\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"pointsBalance\",\"type\":\"uint256\"}],\"name\":\"NotEnoughPointsToSupport\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotImplemented\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"OnlyCommunityAllowed\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"OnlyCouncilSafe\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"POOL_ACTIVE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"POOL_INACTIVE\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_proposalId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_requestedAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_poolAmount\",\"type\":\"uint256\"}],\"name\":\"PoolAmountNotEnough\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"PoolIdCannotBeZero\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"PoolIsEmpty\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ProposalDataIsEmpty\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ProposalIdCannotBeZero\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_proposalId\",\"type\":\"uint256\"}],\"name\":\"ProposalNotActive\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_proposalId\",\"type\":\"uint256\"}],\"name\":\"ProposalNotInList\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_proposalId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"ProposalSupportDuplicated\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"RECIPIENT_ALREADY_ACCEPTED\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"recipientId\",\"type\":\"address\"}],\"name\":\"RECIPIENT_ERROR\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"RECIPIENT_NOT_ACCEPTED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"REGISTRATION_NOT_ACTIVE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"RegistryCannotBeZero\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_support\",\"type\":\"uint256\"},{\"internalType\":\"int256\",\"name\":\"_delta\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"_result\",\"type\":\"int256\"}],\"name\":\"SupportUnderflow\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TokenCannotBeZero\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TokenNotAllowed\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UNAUTHORIZED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UserCannotBeZero\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UserCannotExecuteAction\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UserIsInactive\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UserNotInRegistry\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ZERO_ADDRESS\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"recipientId\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"Allocated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decay\",\"type\":\"uint256\"}],\"name\":\"DecayUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"beneficiary\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"Distributed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"recipientId\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"recipientAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"Distributed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"registryCommunity\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"decay\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxRatio\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"weight\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"minThresholdPoints\",\"type\":\"uint256\"},{\"internalType\":\"enum StrategyStruct.ProposalType\",\"name\":\"proposalType\",\"type\":\"uint8\"},{\"internalType\":\"enum StrategyStruct.PointSystem\",\"name\":\"pointSystem\",\"type\":\"uint8\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"maxAmount\",\"type\":\"uint256\"}],\"internalType\":\"struct StrategyStruct.PointSystemConfig\",\"name\":\"pointConfig\",\"type\":\"tuple\"},{\"internalType\":\"address\",\"name\":\"sybilScorer\",\"type\":\"address\"}],\"indexed\":false,\"internalType\":\"struct StrategyStruct.InitializeParams\",\"name\":\"data\",\"type\":\"tuple\"}],\"name\":\"InitializedCV\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"maxRatio\",\"type\":\"uint256\"}],\"name\":\"MaxRatioUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"before\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"minThresholdPoints\",\"type\":\"uint256\"}],\"name\":\"MinThresholdPointsUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"member\",\"type\":\"address\"}],\"name\":\"PointsDeactivated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"active\",\"type\":\"bool\"}],\"name\":\"PoolActive\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"PoolAmountIncreased\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"member\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"tokensUnStaked\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"pointsToDecrease\",\"type\":\"uint256\"}],\"name\":\"PowerDecreased\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"member\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"tokensStaked\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"pointsToIncrease\",\"type\":\"uint256\"}],\"name\":\"PowerIncreased\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"ProposalCreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"recipientId\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"Registered\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"registryCommunity\",\"type\":\"address\"}],\"name\":\"RegistryUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"totalStakedAmount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"convictionLast\",\"type\":\"uint256\"}],\"name\":\"SupportAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"weight\",\"type\":\"uint256\"}],\"name\":\"WeightUpdated\",\"type\":\"event\"},{\"stateMutability\":\"payable\",\"type\":\"fallback\"},{\"inputs\":[],\"name\":\"D\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"MAX_STAKED_PROPOSALS\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"NATIVE\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_minThresholdPoints\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"activatePoints\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"},{\"internalType\":\"address\",\"name\":\"_sender\",\"type\":\"address\"}],\"name\":\"allocate\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_timePassed\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_lastConv\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_oldAmount\",\"type\":\"uint256\"}],\"name\":\"calculateConviction\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_requestedAmount\",\"type\":\"uint256\"}],\"name\":\"calculateThreshold\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"_threshold\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"canExecuteProposal\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"canBeExecuted\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"deactivatePoints\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"}],\"name\":\"deactivatePoints\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decay\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amountToUnstake\",\"type\":\"uint256\"}],\"name\":\"decreasePower\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"_recipientIds\",\"type\":\"address[]\"},{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"},{\"internalType\":\"address\",\"name\":\"_sender\",\"type\":\"address\"}],\"name\":\"distribute\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getAllo\",\"outputs\":[{\"internalType\":\"contract IAllo\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getMaxAmount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"getMaxConviction\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_proposalId\",\"type\":\"uint256\"}],\"name\":\"getMetadata\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"},{\"internalType\":\"bytes[]\",\"name\":\"\",\"type\":\"bytes[]\"}],\"name\":\"getPayouts\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"recipientAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"internalType\":\"struct IStrategy.PayoutSummary[]\",\"name\":\"\",\"type\":\"tuple[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getPointSystem\",\"outputs\":[{\"internalType\":\"enum StrategyStruct.PointSystem\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getPoolAmount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getPoolId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_proposalId\",\"type\":\"uint256\"}],\"name\":\"getProposal\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"submitter\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"beneficiary\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"requestedToken\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"requestedAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"stakedAmount\",\"type\":\"uint256\"},{\"internalType\":\"enum StrategyStruct.ProposalStatus\",\"name\":\"proposalStatus\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"blockLast\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"convictionLast\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"threshold\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"voterStakedPoints\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_proposalId\",\"type\":\"uint256\"}],\"name\":\"getProposalStakedAmount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_proposalId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_voter\",\"type\":\"address\"}],\"name\":\"getProposalVoterStake\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_recipientId\",\"type\":\"address\"}],\"name\":\"getRecipientStatus\",\"outputs\":[{\"internalType\":\"enum IStrategy.Status\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getStrategyId\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_voter\",\"type\":\"address\"}],\"name\":\"getTotalVoterStakePct\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"increasePoolAmount\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amountToStake\",\"type\":\"uint256\"}],\"name\":\"increasePower\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_poolId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"isPoolActive\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_allocator\",\"type\":\"address\"}],\"name\":\"isValidAllocator\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"maxRatio\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pointConfig\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"maxAmount\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pointSystem\",\"outputs\":[{\"internalType\":\"enum StrategyStruct.PointSystem\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proposalCounter\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proposalType\",\"outputs\":[{\"internalType\":\"enum StrategyStruct.ProposalType\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"proposals\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"requestedAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"stakedAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"convictionLast\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"beneficiary\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"submitter\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"requestedToken\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"blockLast\",\"type\":\"uint256\"},{\"internalType\":\"enum StrategyStruct.ProposalStatus\",\"name\":\"proposalStatus\",\"type\":\"uint8\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"metadata\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"},{\"internalType\":\"address\",\"name\":\"_sender\",\"type\":\"address\"}],\"name\":\"registerRecipient\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"recipientId\",\"type\":\"address\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"registryCommunity\",\"outputs\":[{\"internalType\":\"contract RegistryCommunity\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_decay\",\"type\":\"uint256\"}],\"name\":\"setDecay\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_maxRatio\",\"type\":\"uint256\"}],\"name\":\"setMaxRatio\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"minThresholdPoints_\",\"type\":\"uint256\"}],\"name\":\"setMinThresholdPoints\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"_active\",\"type\":\"bool\"}],\"name\":\"setPoolActive\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_registryCommunity\",\"type\":\"address\"}],\"name\":\"setRegistryCommunity\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_sybilScorer\",\"type\":\"address\"}],\"name\":\"setSybilScorer\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_weight\",\"type\":\"uint256\"}],\"name\":\"setWeight\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"int256\",\"name\":\"deltaSupport\",\"type\":\"int256\"}],\"internalType\":\"struct StrategyStruct.ProposalSupport[]\",\"name\":\"\",\"type\":\"tuple[]\"}],\"name\":\"supportProposal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"sybilScorer\",\"outputs\":[{\"internalType\":\"contract ISybilScorer\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalEffectiveActivePoints\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalPointsActivated\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalStaked\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"totalVoterStakePct\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"updateProposalConviction\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"voterStakedProposals\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"weight\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"stateMutability\":\"payable\",\"type\":\"receive\"}],\"devdoc\":{\"errors\":{\"ANCHOR_ERROR()\":[{\"details\":\"Thrown if the anchor creation fails\"}],\"NONCE_NOT_AVAILABLE()\":[{\"details\":\"Thrown when the nonce passed has been used or not available\"}],\"NOT_PENDING_OWNER()\":[{\"details\":\"Thrown when the 'msg.sender' is not the pending owner on ownership transfer\"}]},\"events\":{\"Allocated(address,uint256,address,address)\":{\"params\":{\"amount\":\"The amount allocated\",\"recipientId\":\"The ID of the recipient\",\"token\":\"The token allocated\"}},\"Distributed(address,address,uint256,address)\":{\"params\":{\"amount\":\"The amount distributed\",\"recipientAddress\":\"The recipient\",\"recipientId\":\"The ID of the recipient\",\"sender\":\"The sender\"}},\"Initialized(uint256,bytes)\":{\"params\":{\"data\":\"The data passed to the 'initialize' function\",\"poolId\":\"The ID of the pool\"}},\"PoolActive(bool)\":{\"params\":{\"active\":\"The status of the pool\"}},\"Registered(address,bytes,address)\":{\"params\":{\"data\":\"The data passed to the 'registerRecipient' function\",\"recipientId\":\"The ID of the recipient\",\"sender\":\"The sender\"}}},\"kind\":\"dev\",\"methods\":{\"allocate(bytes,address)\":{\"details\":\"The encoded '_data' will be determined by the strategy implementation. Only 'Allo' contract can call this when it is initialized.\",\"params\":{\"_data\":\"The data to use to allocate to the recipient\",\"_sender\":\"The address of the sender\"}},\"calculateConviction(uint256,uint256,uint256)\":{\"details\":\"Conviction formula: a^t * y(0) + x * (1 - a^t) / (1 - a) Solidity implementation: y = (2^128 * a^t * y0 + x * D * (2^128 - 2^128 * a^t) / (D - aD) + 2^127) / 2^128\",\"params\":{\"_lastConv\":\"Last conviction record\",\"_oldAmount\":\"Amount of tokens staked until now\",\"_timePassed\":\"Number of blocks since last conviction record\"},\"returns\":{\"_0\":\"Current conviction\"}},\"calculateThreshold(uint256)\":{\"details\":\"Formula: \\u03c1 * totalStaked / (1 - a) / (\\u03b2 - requestedAmount / total)**2 For the Solidity implementation we amplify \\u03c1 and \\u03b2 and simplify the formula: weight = \\u03c1 * D maxRatio = \\u03b2 * D decay = a * D threshold = weight * totalStaked * D ** 2 * funds ** 2 / (D - decay) / (maxRatio * funds - requestedAmount * D) ** 2\",\"params\":{\"_requestedAmount\":\"Requested amount of tokens on certain proposal\"},\"returns\":{\"_threshold\":\"Threshold a proposal's conviction should surpass in order to be able to executed it.\"}},\"distribute(address[],bytes,address)\":{\"details\":\"The encoded '_data' will be determined by the strategy implementation. Only 'Allo' contract can call this when it is initialized.\",\"params\":{\"_data\":\"The data to use to distribute to the recipients\",\"_recipientIds\":\"The IDs of the recipients\",\"_sender\":\"The address of the sender\"}},\"getAllo()\":{\"returns\":{\"_0\":\"The Allo contract\"}},\"getPayouts(address[],bytes[])\":{\"returns\":{\"_0\":\"Input the values you would send to distribute(), get the amounts each recipient in the array would receive\"}},\"getPoolAmount()\":{\"returns\":{\"_0\":\"The balance of the pool\"}},\"getPoolId()\":{\"returns\":{\"_0\":\"The ID of the pool\"}},\"getProposal(uint256)\":{\"details\":\"Get proposal details\",\"params\":{\"_proposalId\":\"Proposal id\"},\"returns\":{\"beneficiary\":\"Proposal beneficiary\",\"blockLast\":\"Last block when conviction was calculated\",\"convictionLast\":\"Last conviction calculated\",\"proposalStatus\":\"Proposal status\",\"requestedAmount\":\"Proposal requested amount\",\"requestedToken\":\"Proposal requested token\",\"stakedAmount\":\"Proposal staked points\",\"submitter\":\"Proposal submitter\",\"threshold\":\"Proposal threshold\"}},\"getProposalVoterStake(uint256,address)\":{\"params\":{\"_proposalId\":\"Proposal id\",\"_voter\":\"Voter address\"},\"returns\":{\"_0\":\"Proposal voter stake\"}},\"getRecipientStatus(address)\":{\"params\":{\"_recipientId\":\"The ID of the recipient\"},\"returns\":{\"_0\":\"The status of the recipient\"}},\"getStrategyId()\":{\"returns\":{\"_0\":\"The ID of the strategy\"}},\"increasePoolAmount(uint256)\":{\"details\":\"Increases the 'poolAmount' by '_amount'. Only 'Allo' contract can call this.\",\"params\":{\"_amount\":\"The amount to increase the pool by\"}},\"initialize(uint256,bytes)\":{\"params\":{\"_data\":\"The encoded data\",\"_poolId\":\"The ID of the pool\"}},\"isPoolActive()\":{\"returns\":{\"_0\":\"'true' if the pool is active, otherwise 'false'\"}},\"isValidAllocator(address)\":{\"details\":\"How the allocator is determined is up to the strategy implementation.\",\"params\":{\"_allocator\":\"The address to check if it is a valid allocator for the strategy.\"},\"returns\":{\"_0\":\"'true' if the address is a valid allocator, 'false' otherwise\"}},\"registerRecipient(bytes,address)\":{\"details\":\"Registers a recipient and returns the ID of the recipient. The encoded '_data' will be determined by the strategy implementation. Only 'Allo' contract can call this when it is initialized.\",\"params\":{\"_data\":\"The data to use to register the recipient\",\"_sender\":\"The address of the sender\"},\"returns\":{\"recipientId\":\"The recipientId\"}},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"}},\"version\":1},\"userdoc\":{\"errors\":{\"ALLOCATION_ACTIVE()\":[{\"notice\":\"Thrown when the allocation is active.\"}],\"ALLOCATION_NOT_ACTIVE()\":[{\"notice\":\"Thrown when the allocation is not active.\"}],\"ALLOCATION_NOT_ENDED()\":[{\"notice\":\"Thrown when the allocation is not ended.\"}],\"ALREADY_INITIALIZED()\":[{\"notice\":\"Thrown when data is already intialized\"}],\"AMOUNT_MISMATCH()\":[{\"notice\":\"Thrown when the amount of tokens sent does not match the amount of tokens expected\"}],\"ARRAY_MISMATCH()\":[{\"notice\":\"Thrown when two arrays length are not equal\"}],\"INVALID()\":[{\"notice\":\"Thrown as a general error when input / data is invalid\"}],\"INVALID_ADDRESS()\":[{\"notice\":\"Thrown when an invalid address is used\"}],\"INVALID_FEE()\":[{\"notice\":\"Thrown when the fee is below 1e18 which is the fee percentage denominator\"}],\"INVALID_METADATA()\":[{\"notice\":\"Thrown when the metadata is invalid.\"}],\"INVALID_REGISTRATION()\":[{\"notice\":\"Thrown when the registration is invalid.\"}],\"IS_APPROVED_STRATEGY()\":[{\"notice\":\"Thrown when the strategy is approved and should be cloned\"}],\"MISMATCH()\":[{\"notice\":\"Thrown when mismatch in decoding data\"}],\"NOT_APPROVED_STRATEGY()\":[{\"notice\":\"Thrown when the strategy is not approved\"}],\"NOT_ENOUGH_FUNDS()\":[{\"notice\":\"Thrown when not enough funds are available\"}],\"NOT_IMPLEMENTED()\":[{\"notice\":\"Thrown when the function is not implemented\"}],\"NOT_INITIALIZED()\":[{\"notice\":\"Thrown when data is yet to be initialized\"}],\"POOL_ACTIVE()\":[{\"notice\":\"Thrown when a pool is already active\"}],\"POOL_INACTIVE()\":[{\"notice\":\"Thrown when a pool is inactive\"}],\"RECIPIENT_ALREADY_ACCEPTED()\":[{\"notice\":\"Thrown when recipient is already accepted.\"}],\"RECIPIENT_ERROR(address)\":[{\"notice\":\"Thrown when there is an error in recipient.\"}],\"RECIPIENT_NOT_ACCEPTED()\":[{\"notice\":\"Thrown when the recipient is not accepted.\"}],\"REGISTRATION_NOT_ACTIVE()\":[{\"notice\":\"Thrown when registration is not active.\"}],\"UNAUTHORIZED()\":[{\"notice\":\"Thrown when user is not authorized\"}],\"ZERO_ADDRESS()\":[{\"notice\":\"Thrown when address is the zero address\"}]},\"events\":{\"Allocated(address,uint256,address,address)\":{\"notice\":\"Emitted when a recipient is allocated to.\"},\"Distributed(address,address,uint256,address)\":{\"notice\":\"Emitted when tokens are distributed.\"},\"Initialized(uint256,bytes)\":{\"notice\":\"Emitted when strategy is initialized.\"},\"PoolActive(bool)\":{\"notice\":\"Emitted when pool is set to active status.\"},\"Registered(address,bytes,address)\":{\"notice\":\"Emitted when a recipient is registered.\"}},\"kind\":\"user\",\"methods\":{\"NATIVE()\":{\"notice\":\"Address of the native token\"},\"allocate(bytes,address)\":{\"notice\":\"Allocates to a recipient.\"},\"distribute(address[],bytes,address)\":{\"notice\":\"Distributes funds (tokens) to recipients.\"},\"getAllo()\":{\"notice\":\"Getter for the 'Allo' contract.\"},\"getPoolAmount()\":{\"notice\":\"Getter for the 'poolAmount'.\"},\"getPoolId()\":{\"notice\":\"Getter for the 'poolId'.\"},\"getProposalVoterStake(uint256,address)\":{\"notice\":\"Get stake of voter `_voter` on proposal #`_proposalId`\"},\"getRecipientStatus(address)\":{\"notice\":\"Getter for the status of a recipient.\"},\"getStrategyId()\":{\"notice\":\"Getter for the 'strategyId'.\"},\"increasePoolAmount(uint256)\":{\"notice\":\"Increases the pool amount.\"},\"initialize(uint256,bytes)\":{\"notice\":\"@dev The default BaseStrategy version will not use the data if a strategy wants to use it, they will overwrite it, use it, and then call super.initialize().\"},\"isPoolActive()\":{\"notice\":\"Getter for whether or not the pool is active.\"},\"isValidAllocator(address)\":{\"notice\":\"Checks if the '_allocator' is a valid allocator.\"},\"registerRecipient(bytes,address)\":{\"notice\":\"Registers a recipient.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"pkg/contracts/src/CVStrategy.sol\":\"CVStrategy\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1000},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-contracts/=lib/safe-contracts/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"]},\"sources\":{\"lib/allo-v2/contracts/core/interfaces/IAllo.sol\":{\"keccak256\":\"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7\",\"dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1\"]},\"lib/allo-v2/contracts/core/interfaces/IRegistry.sol\":{\"keccak256\":\"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e\",\"dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA\"]},\"lib/allo-v2/contracts/core/interfaces/IStrategy.sol\":{\"keccak256\":\"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487\",\"dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH\"]},\"lib/allo-v2/contracts/core/libraries/Clone.sol\":{\"keccak256\":\"0xc348b24b7d8a98c4faa5f2aa37ce9264a74f81dbdef1a9bae2eaa125585c3c7e\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://1335b3ec59ec7e3d12ea7c90b3aa56f4c26e0d44d342f54412933be9d4f16067\",\"dweb:/ipfs/QmXNFo2wCyq9cpvfgbdHvBUQecThFSEoUnMuZNS6WinDrr\"]},\"lib/allo-v2/contracts/core/libraries/Errors.sol\":{\"keccak256\":\"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf\",\"dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA\"]},\"lib/allo-v2/contracts/core/libraries/Metadata.sol\":{\"keccak256\":\"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c\",\"dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn\"]},\"lib/allo-v2/contracts/core/libraries/Native.sol\":{\"keccak256\":\"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a\",\"dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv\"]},\"lib/allo-v2/contracts/core/libraries/Transfer.sol\":{\"keccak256\":\"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11\",\"dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5\"]},\"lib/allo-v2/contracts/strategies/BaseStrategy.sol\":{\"keccak256\":\"0x3f1382dc6c35d50545e327e7ed6016f2bd752357d446bd698014073f0b812873\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://99500abcd617fa43f6dde49e2c7802821ceaf54a65a8055cbbf2695ecd107974\",\"dweb:/ipfs/QmUktZkWuu3GCMEijY1fqt7NMy7BzpTvEtcmpB1fuoa7zt\"]},\"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol\":{\"keccak256\":\"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298\",\"dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol\":{\"keccak256\":\"0x5a55d1b148a0cb4183f1e09ceaff87bd2d828440f2f5dc01dfe03eb29e7c88ec\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3f9278bdda788763efbe569da77fc24feff36e871779e2da69f74ea5f8bfacf\",\"dweb:/ipfs/QmZF9cH4rfazmwKT55p3tZyzh9QGghNyss81f46d6yVXap\"]},\"lib/openzeppelin-contracts/contracts/access/AccessControl.sol\":{\"keccak256\":\"0x0dd6e52cb394d7f5abe5dca2d4908a6be40417914720932de757de34a99ab87f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://dc117ce50ea746cab6b97ed1a1facee17a715ae0cb95d67b943dacbaf15176fb\",\"dweb:/ipfs/QmYRZ2UGNYwsHwfNu7Wjr8L2j1LBZ1mKv6NvbwgterYMXc\"]},\"lib/openzeppelin-contracts/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0x59ce320a585d7e1f163cd70390a0ef2ff9cec832e2aa544293a00692465a7a57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb2c137c343ef0c4c7ce7b18c1d108afdc9d315a04e48307288d2d05adcbde3a\",\"dweb:/ipfs/QmUxhrAQM3MM3FF5j7AtcXLXguWCJBHJ14BRdVtuoQc8Fh\"]},\"lib/openzeppelin-contracts/contracts/access/Ownable.sol\":{\"keccak256\":\"0xba43b97fba0d32eb4254f6a5a297b39a19a247082a02d6e69349e071e2946218\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fc980984badf3984b6303b377711220e067722bbd6a135b24669ff5069ef9f32\",\"dweb:/ipfs/QmPHXMSXj99XjSVM21YsY6aNtLLjLVXDbyN76J5HQYvvrz\"]},\"lib/openzeppelin-contracts/contracts/security/ReentrancyGuard.sol\":{\"keccak256\":\"0xa535a5df777d44e945dd24aa43a11e44b024140fc340ad0dfe42acf4002aade1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://41319e7f621f2dc3733511332c4fd032f8e32ad2aa7fd6f665c19741d9941a34\",\"dweb:/ipfs/QmcYR3bd862GD1Bc7jwrU9bGxrhUu5na1oP964bDCu2id1\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15\",\"dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5\",\"dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd\",\"dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol\":{\"keccak256\":\"0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a\",\"dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0x909d608c2db6eb165ca178c81289a07ed2e118e444d0025b2a85c97d0b44a4fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://656cda26512ddd7373c2d5551c8fae759fc30f05b10f0fc2e738e9274199dbd4\",\"dweb:/ipfs/QmTSArSzQRFbQmHgq7U1PZXnsDFhvDZhKVu9CzMG4yo6Lx\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"lib/openzeppelin-contracts/contracts/utils/Strings.sol\":{\"keccak256\":\"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f\",\"dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol\":{\"keccak256\":\"0x5a08ad61f4e82b8a3323562661a86fb10b10190848073fdc13d4ac43710ffba5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6f7bb74cf88fd88daa34e118bc6e363381d05044f34f391d39a10c0c9dac3ebd\",\"dweb:/ipfs/QmNbQ3v8v4zuDtg7VeLAbdhAm3tCzUodNoDZZ8ekmCHWZX\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]},\"pkg/contracts/src/CVStrategy.sol\":{\"keccak256\":\"0x132bcf17470960e380d841159d9389985d609aaae1c9a657c78902f7871da957\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://84e905bf392579b44f33fff8586431b940e110b2210854cf487321cc92061705\",\"dweb:/ipfs/QmQpvszYu8RbrXmUFLifSodQzV8LAqazk1fzXNARGc5sBT\"]},\"pkg/contracts/src/ISybilScorer.sol\":{\"keccak256\":\"0x0e25fbb8497ac3c969d80c9032362d45e56c0a45dc9ba3dff6a8a704571f38ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0dff90ebae6e7131a5300fcaf525bc2ab0ae90fcd13f277d7b7b6939eeb8b7eb\",\"dweb:/ipfs/QmYGkYqpUVrBWoNY6f3CtwrrVQFWSvnJfpu68t95f6AkBY\"]},\"pkg/contracts/src/RegistryCommunity.sol\":{\"keccak256\":\"0xc735f4d2635149f2db9bff291da56e08c3c312d9eb1b767b8a1e3e51584d5734\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://247b33b78abface6a7e2da38174386de9b543f6a27e8340e26d854bff57184a3\",\"dweb:/ipfs/QmedNdqkqeboGzz9w868uGf7KnXUaYZe6i1YcdUPPkJnnf\"]},\"pkg/contracts/src/RegistryFactory.sol\":{\"keccak256\":\"0x888b7f5eb1079f90ccfa0b41d8a970bffd8d4d469f9b31917a58279b358dbda5\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://af25fd783de00adf01d1c7caa572801fed0d474306a43b862535b08e65ec10c6\",\"dweb:/ipfs/Qmeb2nEaMQLV86y1CYAAV2c6BYpBDTbpLuC1SigeNjdqLo\"]},\"pkg/contracts/src/interfaces/ISafe.sol\":{\"keccak256\":\"0x878a210809bb684c42157a10f3f90350a67d0a4863f130499942b06f0f2c9143\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://fa2d71bd427c3415e98a2ee15ff673f3cc61c17f14d7087c5eedc83b55f6b0ef\",\"dweb:/ipfs/QmesVSmJQQzi6ys1cvhQFCJyDXchb736mT5bXks4Yp6Cbj\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.8.19+commit.7dd6d404" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_allo", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [], - "type": "error", - "name": "ALLOCATION_ACTIVE" - }, - { - "inputs": [], - "type": "error", - "name": "ALLOCATION_NOT_ACTIVE" - }, - { - "inputs": [], - "type": "error", - "name": "ALLOCATION_NOT_ENDED" - }, - { - "inputs": [], - "type": "error", - "name": "ALREADY_INITIALIZED" - }, - { - "inputs": [], - "type": "error", - "name": "AMOUNT_MISMATCH" - }, - { - "inputs": [], - "type": "error", - "name": "ANCHOR_ERROR" - }, - { - "inputs": [], - "type": "error", - "name": "ARRAY_MISMATCH" - }, - { - "inputs": [], - "type": "error", - "name": "AddressCannotBeZero" - }, - { - "inputs": [], - "type": "error", - "name": "AmountOverMaxRatio" - }, - { - "inputs": [], - "type": "error", - "name": "CantIncreaseFixedSystem" - }, - { - "inputs": [], - "type": "error", - "name": "ConvictionUnderMinimumThreshold" - }, - { - "inputs": [], - "type": "error", - "name": "INVALID" - }, - { - "inputs": [], - "type": "error", - "name": "INVALID_ADDRESS" - }, - { - "inputs": [], - "type": "error", - "name": "INVALID_FEE" - }, - { - "inputs": [], - "type": "error", - "name": "INVALID_METADATA" - }, - { - "inputs": [], - "type": "error", - "name": "INVALID_REGISTRATION" - }, - { - "inputs": [], - "type": "error", - "name": "IS_APPROVED_STRATEGY" - }, - { - "inputs": [], - "type": "error", - "name": "MISMATCH" - }, - { - "inputs": [], - "type": "error", - "name": "MaxPointsReached" - }, - { - "inputs": [], - "type": "error", - "name": "NONCE_NOT_AVAILABLE" - }, - { - "inputs": [], - "type": "error", - "name": "NOT_APPROVED_STRATEGY" - }, - { - "inputs": [], - "type": "error", - "name": "NOT_ENOUGH_FUNDS" - }, - { - "inputs": [], - "type": "error", - "name": "NOT_IMPLEMENTED" - }, - { - "inputs": [], - "type": "error", - "name": "NOT_INITIALIZED" - }, - { - "inputs": [], - "type": "error", - "name": "NOT_PENDING_OWNER" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "pointsSupport", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "pointsBalance", - "type": "uint256" - } - ], - "type": "error", - "name": "NotEnoughPointsToSupport" - }, - { - "inputs": [], - "type": "error", - "name": "NotImplemented" - }, - { - "inputs": [], - "type": "error", - "name": "OnlyCommunityAllowed" - }, - { - "inputs": [], - "type": "error", - "name": "OnlyCouncilSafe" - }, - { - "inputs": [], - "type": "error", - "name": "POOL_ACTIVE" - }, - { - "inputs": [], - "type": "error", - "name": "POOL_INACTIVE" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_proposalId", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_requestedAmount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_poolAmount", - "type": "uint256" - } - ], - "type": "error", - "name": "PoolAmountNotEnough" - }, - { - "inputs": [], - "type": "error", - "name": "PoolIdCannotBeZero" - }, - { - "inputs": [], - "type": "error", - "name": "PoolIsEmpty" - }, - { - "inputs": [], - "type": "error", - "name": "ProposalDataIsEmpty" - }, - { - "inputs": [], - "type": "error", - "name": "ProposalIdCannotBeZero" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_proposalId", - "type": "uint256" - } - ], - "type": "error", - "name": "ProposalNotActive" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_proposalId", - "type": "uint256" - } - ], - "type": "error", - "name": "ProposalNotInList" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_proposalId", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "index", - "type": "uint256" - } - ], - "type": "error", - "name": "ProposalSupportDuplicated" - }, - { - "inputs": [], - "type": "error", - "name": "RECIPIENT_ALREADY_ACCEPTED" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "recipientId", - "type": "address" - } - ], - "type": "error", - "name": "RECIPIENT_ERROR" - }, - { - "inputs": [], - "type": "error", - "name": "RECIPIENT_NOT_ACCEPTED" - }, - { - "inputs": [], - "type": "error", - "name": "REGISTRATION_NOT_ACTIVE" - }, - { - "inputs": [], - "type": "error", - "name": "RegistryCannotBeZero" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_support", - "type": "uint256" - }, - { - "internalType": "int256", - "name": "_delta", - "type": "int256" - }, - { - "internalType": "int256", - "name": "_result", - "type": "int256" - } - ], - "type": "error", - "name": "SupportUnderflow" - }, - { - "inputs": [], - "type": "error", - "name": "TokenCannotBeZero" - }, - { - "inputs": [], - "type": "error", - "name": "TokenNotAllowed" - }, - { - "inputs": [], - "type": "error", - "name": "UNAUTHORIZED" - }, - { - "inputs": [], - "type": "error", - "name": "UserCannotBeZero" - }, - { - "inputs": [], - "type": "error", - "name": "UserCannotExecuteAction" - }, - { - "inputs": [], - "type": "error", - "name": "UserIsInactive" - }, - { - "inputs": [], - "type": "error", - "name": "UserNotInRegistry" - }, - { - "inputs": [], - "type": "error", - "name": "ZERO_ADDRESS" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "recipientId", - "type": "address", - "indexed": true - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256", - "indexed": false - }, - { - "internalType": "address", - "name": "token", - "type": "address", - "indexed": false - }, - { - "internalType": "address", - "name": "sender", - "type": "address", - "indexed": false - } - ], - "type": "event", - "name": "Allocated", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "decay", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "DecayUpdated", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "proposalId", - "type": "uint256", - "indexed": false - }, - { - "internalType": "address", - "name": "beneficiary", - "type": "address", - "indexed": false - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "Distributed", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "recipientId", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "recipientAddress", - "type": "address", - "indexed": false - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256", - "indexed": false - }, - { - "internalType": "address", - "name": "sender", - "type": "address", - "indexed": false - } - ], - "type": "event", - "name": "Distributed", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "poolId", - "type": "uint256", - "indexed": false - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes", - "indexed": false - } - ], - "type": "event", - "name": "Initialized", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "poolId", - "type": "uint256", - "indexed": false - }, - { - "internalType": "struct StrategyStruct.InitializeParams", - "name": "data", - "type": "tuple", - "components": [ - { - "internalType": "address", - "name": "registryCommunity", - "type": "address" - }, - { - "internalType": "uint256", - "name": "decay", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "maxRatio", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "weight", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "minThresholdPoints", - "type": "uint256" - }, - { - "internalType": "enum StrategyStruct.ProposalType", - "name": "proposalType", - "type": "uint8" - }, - { - "internalType": "enum StrategyStruct.PointSystem", - "name": "pointSystem", - "type": "uint8" - }, - { - "internalType": "struct StrategyStruct.PointSystemConfig", - "name": "pointConfig", - "type": "tuple", - "components": [ - { - "internalType": "uint256", - "name": "maxAmount", - "type": "uint256" - } - ] - }, - { - "internalType": "address", - "name": "sybilScorer", - "type": "address" - } - ], - "indexed": false - } - ], - "type": "event", - "name": "InitializedCV", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "maxRatio", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "MaxRatioUpdated", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "before", - "type": "uint256", - "indexed": false - }, - { - "internalType": "uint256", - "name": "minThresholdPoints", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "MinThresholdPointsUpdated", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "member", - "type": "address", - "indexed": false - } - ], - "type": "event", - "name": "PointsDeactivated", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "bool", - "name": "active", - "type": "bool", - "indexed": false - } - ], - "type": "event", - "name": "PoolActive", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "amount", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "PoolAmountIncreased", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "member", - "type": "address", - "indexed": false - }, - { - "internalType": "uint256", - "name": "tokensUnStaked", - "type": "uint256", - "indexed": false - }, - { - "internalType": "uint256", - "name": "pointsToDecrease", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "PowerDecreased", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "member", - "type": "address", - "indexed": false - }, - { - "internalType": "uint256", - "name": "tokensStaked", - "type": "uint256", - "indexed": false - }, - { - "internalType": "uint256", - "name": "pointsToIncrease", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "PowerIncreased", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "poolId", - "type": "uint256", - "indexed": false - }, - { - "internalType": "uint256", - "name": "proposalId", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "ProposalCreated", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "recipientId", - "type": "address", - "indexed": true - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes", - "indexed": false - }, - { - "internalType": "address", - "name": "sender", - "type": "address", - "indexed": false - } - ], - "type": "event", - "name": "Registered", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "registryCommunity", - "type": "address", - "indexed": false - } - ], - "type": "event", - "name": "RegistryUpdated", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address", - "indexed": false - }, - { - "internalType": "uint256", - "name": "proposalId", - "type": "uint256", - "indexed": false - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256", - "indexed": false - }, - { - "internalType": "uint256", - "name": "totalStakedAmount", - "type": "uint256", - "indexed": false - }, - { - "internalType": "uint256", - "name": "convictionLast", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "SupportAdded", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "weight", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "WeightUpdated", - "anonymous": false - }, - { - "inputs": [], - "stateMutability": "payable", - "type": "fallback" - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "D", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "MAX_STAKED_PROPOSALS", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "NATIVE", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "_minThresholdPoints", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "function", - "name": "activatePoints" - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "_data", - "type": "bytes" - }, - { - "internalType": "address", - "name": "_sender", - "type": "address" - } - ], - "stateMutability": "payable", - "type": "function", - "name": "allocate" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_timePassed", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_lastConv", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_oldAmount", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function", - "name": "calculateConviction", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_requestedAmount", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function", - "name": "calculateThreshold", - "outputs": [ - { - "internalType": "uint256", - "name": "_threshold", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function", - "name": "canExecuteProposal", - "outputs": [ - { - "internalType": "bool", - "name": "canBeExecuted", - "type": "bool" - } - ] - }, - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "function", - "name": "deactivatePoints" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_member", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "deactivatePoints" - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "decay", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_member", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amountToUnstake", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "decreasePower", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "_recipientIds", - "type": "address[]" - }, - { - "internalType": "bytes", - "name": "_data", - "type": "bytes" - }, - { - "internalType": "address", - "name": "_sender", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "distribute" - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getAllo", - "outputs": [ - { - "internalType": "contract IAllo", - "name": "", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getMaxAmount", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getMaxConviction", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_proposalId", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getMetadata", - "outputs": [ - { - "internalType": "struct Metadata", - "name": "", - "type": "tuple", - "components": [ - { - "internalType": "uint256", - "name": "protocol", - "type": "uint256" - }, - { - "internalType": "string", - "name": "pointer", - "type": "string" - } - ] - } - ] - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "", - "type": "address[]" - }, - { - "internalType": "bytes[]", - "name": "", - "type": "bytes[]" - } - ], - "stateMutability": "pure", - "type": "function", - "name": "getPayouts", - "outputs": [ - { - "internalType": "struct IStrategy.PayoutSummary[]", - "name": "", - "type": "tuple[]", - "components": [ - { - "internalType": "address", - "name": "recipientAddress", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ] - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getPointSystem", - "outputs": [ - { - "internalType": "enum StrategyStruct.PointSystem", - "name": "", - "type": "uint8" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getPoolAmount", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getPoolId", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_proposalId", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getProposal", - "outputs": [ - { - "internalType": "address", - "name": "submitter", - "type": "address" - }, - { - "internalType": "address", - "name": "beneficiary", - "type": "address" - }, - { - "internalType": "address", - "name": "requestedToken", - "type": "address" - }, - { - "internalType": "uint256", - "name": "requestedAmount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "stakedAmount", - "type": "uint256" - }, - { - "internalType": "enum StrategyStruct.ProposalStatus", - "name": "proposalStatus", - "type": "uint8" - }, - { - "internalType": "uint256", - "name": "blockLast", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "convictionLast", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "threshold", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "voterStakedPoints", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_proposalId", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getProposalStakedAmount", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_proposalId", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_voter", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getProposalVoterStake", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_recipientId", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getRecipientStatus", - "outputs": [ - { - "internalType": "enum IStrategy.Status", - "name": "", - "type": "uint8" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getStrategyId", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_voter", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getTotalVoterStakePct", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "increasePoolAmount" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_member", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amountToStake", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "increasePower", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_poolId", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "_data", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "initialize" - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "isPoolActive", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_allocator", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "isValidAllocator", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "maxRatio", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "pointConfig", - "outputs": [ - { - "internalType": "uint256", - "name": "maxAmount", - "type": "uint256" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "pointSystem", - "outputs": [ - { - "internalType": "enum StrategyStruct.PointSystem", - "name": "", - "type": "uint8" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "proposalCounter", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "proposalType", - "outputs": [ - { - "internalType": "enum StrategyStruct.ProposalType", - "name": "", - "type": "uint8" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function", - "name": "proposals", - "outputs": [ - { - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "requestedAmount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "stakedAmount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "convictionLast", - "type": "uint256" - }, - { - "internalType": "address", - "name": "beneficiary", - "type": "address" - }, - { - "internalType": "address", - "name": "submitter", - "type": "address" - }, - { - "internalType": "address", - "name": "requestedToken", - "type": "address" - }, - { - "internalType": "uint256", - "name": "blockLast", - "type": "uint256" - }, - { - "internalType": "enum StrategyStruct.ProposalStatus", - "name": "proposalStatus", - "type": "uint8" - }, - { - "internalType": "struct Metadata", - "name": "metadata", - "type": "tuple", - "components": [ - { - "internalType": "uint256", - "name": "protocol", - "type": "uint256" - }, - { - "internalType": "string", - "name": "pointer", - "type": "string" - } - ] - } - ] - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "_data", - "type": "bytes" - }, - { - "internalType": "address", - "name": "_sender", - "type": "address" - } - ], - "stateMutability": "payable", - "type": "function", - "name": "registerRecipient", - "outputs": [ - { - "internalType": "address", - "name": "recipientId", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "registryCommunity", - "outputs": [ - { - "internalType": "contract RegistryCommunity", - "name": "", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_decay", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "setDecay" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_maxRatio", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "setMaxRatio" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "minThresholdPoints_", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "setMinThresholdPoints" - }, - { - "inputs": [ - { - "internalType": "bool", - "name": "_active", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "setPoolActive" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_registryCommunity", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "setRegistryCommunity" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_sybilScorer", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "setSybilScorer" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_weight", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "setWeight" - }, - { - "inputs": [ - { - "internalType": "struct StrategyStruct.ProposalSupport[]", - "name": "", - "type": "tuple[]", - "components": [ - { - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - }, - { - "internalType": "int256", - "name": "deltaSupport", - "type": "int256" - } - ] - } - ], - "stateMutability": "pure", - "type": "function", - "name": "supportProposal" - }, - { - "inputs": [ - { - "internalType": "bytes4", - "name": "interfaceId", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function", - "name": "supportsInterface", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "sybilScorer", - "outputs": [ - { - "internalType": "contract ISybilScorer", - "name": "", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "totalEffectiveActivePoints", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "totalPointsActivated", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "totalStaked", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "totalVoterStakePct", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "proposalId", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "updateProposalConviction", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function", - "name": "voterStakedProposals", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "weight", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [], - "stateMutability": "payable", - "type": "receive" - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "allocate(bytes,address)": { - "details": "The encoded '_data' will be determined by the strategy implementation. Only 'Allo' contract can call this when it is initialized.", - "params": { - "_data": "The data to use to allocate to the recipient", - "_sender": "The address of the sender" - } - }, - "calculateConviction(uint256,uint256,uint256)": { - "details": "Conviction formula: a^t * y(0) + x * (1 - a^t) / (1 - a) Solidity implementation: y = (2^128 * a^t * y0 + x * D * (2^128 - 2^128 * a^t) / (D - aD) + 2^127) / 2^128", - "params": { - "_lastConv": "Last conviction record", - "_oldAmount": "Amount of tokens staked until now", - "_timePassed": "Number of blocks since last conviction record" - }, - "returns": { - "_0": "Current conviction" - } - }, - "calculateThreshold(uint256)": { - "details": "Formula: ρ * totalStaked / (1 - a) / (β - requestedAmount / total)**2 For the Solidity implementation we amplify ρ and β and simplify the formula: weight = ρ * D maxRatio = β * D decay = a * D threshold = weight * totalStaked * D ** 2 * funds ** 2 / (D - decay) / (maxRatio * funds - requestedAmount * D) ** 2", - "params": { - "_requestedAmount": "Requested amount of tokens on certain proposal" - }, - "returns": { - "_threshold": "Threshold a proposal's conviction should surpass in order to be able to executed it." - } - }, - "distribute(address[],bytes,address)": { - "details": "The encoded '_data' will be determined by the strategy implementation. Only 'Allo' contract can call this when it is initialized.", - "params": { - "_data": "The data to use to distribute to the recipients", - "_recipientIds": "The IDs of the recipients", - "_sender": "The address of the sender" - } - }, - "getAllo()": { - "returns": { - "_0": "The Allo contract" - } - }, - "getPayouts(address[],bytes[])": { - "returns": { - "_0": "Input the values you would send to distribute(), get the amounts each recipient in the array would receive" - } - }, - "getPoolAmount()": { - "returns": { - "_0": "The balance of the pool" - } - }, - "getPoolId()": { - "returns": { - "_0": "The ID of the pool" - } - }, - "getProposal(uint256)": { - "details": "Get proposal details", - "params": { - "_proposalId": "Proposal id" - }, - "returns": { - "beneficiary": "Proposal beneficiary", - "blockLast": "Last block when conviction was calculated", - "convictionLast": "Last conviction calculated", - "proposalStatus": "Proposal status", - "requestedAmount": "Proposal requested amount", - "requestedToken": "Proposal requested token", - "stakedAmount": "Proposal staked points", - "submitter": "Proposal submitter", - "threshold": "Proposal threshold" - } - }, - "getProposalVoterStake(uint256,address)": { - "params": { - "_proposalId": "Proposal id", - "_voter": "Voter address" - }, - "returns": { - "_0": "Proposal voter stake" - } - }, - "getRecipientStatus(address)": { - "params": { - "_recipientId": "The ID of the recipient" - }, - "returns": { - "_0": "The status of the recipient" - } - }, - "getStrategyId()": { - "returns": { - "_0": "The ID of the strategy" - } - }, - "increasePoolAmount(uint256)": { - "details": "Increases the 'poolAmount' by '_amount'. Only 'Allo' contract can call this.", - "params": { - "_amount": "The amount to increase the pool by" - } - }, - "initialize(uint256,bytes)": { - "params": { - "_data": "The encoded data", - "_poolId": "The ID of the pool" - } - }, - "isPoolActive()": { - "returns": { - "_0": "'true' if the pool is active, otherwise 'false'" - } - }, - "isValidAllocator(address)": { - "details": "How the allocator is determined is up to the strategy implementation.", - "params": { - "_allocator": "The address to check if it is a valid allocator for the strategy." - }, - "returns": { - "_0": "'true' if the address is a valid allocator, 'false' otherwise" - } - }, - "registerRecipient(bytes,address)": { - "details": "Registers a recipient and returns the ID of the recipient. The encoded '_data' will be determined by the strategy implementation. Only 'Allo' contract can call this when it is initialized.", - "params": { - "_data": "The data to use to register the recipient", - "_sender": "The address of the sender" - }, - "returns": { - "recipientId": "The recipientId" - } - }, - "supportsInterface(bytes4)": { - "details": "See {IERC165-supportsInterface}." - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": { - "NATIVE()": { - "notice": "Address of the native token" - }, - "allocate(bytes,address)": { - "notice": "Allocates to a recipient." - }, - "distribute(address[],bytes,address)": { - "notice": "Distributes funds (tokens) to recipients." - }, - "getAllo()": { - "notice": "Getter for the 'Allo' contract." - }, - "getPoolAmount()": { - "notice": "Getter for the 'poolAmount'." - }, - "getPoolId()": { - "notice": "Getter for the 'poolId'." - }, - "getProposalVoterStake(uint256,address)": { - "notice": "Get stake of voter `_voter` on proposal #`_proposalId`" - }, - "getRecipientStatus(address)": { - "notice": "Getter for the status of a recipient." - }, - "getStrategyId()": { - "notice": "Getter for the 'strategyId'." - }, - "increasePoolAmount(uint256)": { - "notice": "Increases the pool amount." - }, - "initialize(uint256,bytes)": { - "notice": "@dev The default BaseStrategy version will not use the data if a strategy wants to use it, they will overwrite it, use it, and then call super.initialize()." - }, - "isPoolActive()": { - "notice": "Getter for whether or not the pool is active." - }, - "isValidAllocator(address)": { - "notice": "Checks if the '_allocator' is a valid allocator." - }, - "registerRecipient(bytes,address)": { - "notice": "Registers a recipient." - } - }, - "version": 1 - } - }, - "settings": { - "remappings": [ - "@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/", - "@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/", - "@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/", - "@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/", - "@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/", - "@sablier/v2-core/=lib/allo-v2/lib/v2-core/", - "ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/", - "allo-v2-contracts/=lib/allo-v2/contracts/", - "allo-v2-test/=lib/allo-v2/test/", - "allo-v2/=lib/allo-v2/", - "ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/", - "eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/", - "erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/", - "forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/", - "forge-std/=lib/forge-std/src/", - "hats-protocol/=lib/allo-v2/lib/hats-protocol/", - "openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/", - "openzeppelin-contracts/=lib/openzeppelin-contracts/", - "openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/", - "openzeppelin/=lib/openzeppelin-contracts/contracts/", - "permit2/=lib/allo-v2/lib/permit2/", - "prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/", - "prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/", - "safe-contracts/=lib/safe-contracts/", - "solady/=lib/allo-v2/lib/solady/", - "solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/", - "solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/", - "solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/", - "solmate/=lib/allo-v2/lib/permit2/lib/solmate/", - "utils/=lib/allo-v2/lib/hats-protocol/lib/utils/", - "v2-core/=lib/allo-v2/lib/v2-core/" - ], - "optimizer": { - "enabled": true, - "runs": 1000 - }, - "metadata": { - "bytecodeHash": "ipfs" - }, - "compilationTarget": { - "pkg/contracts/src/CVStrategy.sol": "CVStrategy" - }, - "evmVersion": "paris", - "libraries": {} - }, - "sources": { - "lib/allo-v2/contracts/core/interfaces/IAllo.sol": { - "keccak256": "0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce", - "urls": [ - "bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7", - "dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1" - ], - "license": "AGPL-3.0-only" - }, - "lib/allo-v2/contracts/core/interfaces/IRegistry.sol": { - "keccak256": "0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f", - "urls": [ - "bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e", - "dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA" - ], - "license": "MIT" - }, - "lib/allo-v2/contracts/core/interfaces/IStrategy.sol": { - "keccak256": "0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23", - "urls": [ - "bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487", - "dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH" - ], - "license": "AGPL-3.0-only" - }, - "lib/allo-v2/contracts/core/libraries/Clone.sol": { - "keccak256": "0xc348b24b7d8a98c4faa5f2aa37ce9264a74f81dbdef1a9bae2eaa125585c3c7e", - "urls": [ - "bzz-raw://1335b3ec59ec7e3d12ea7c90b3aa56f4c26e0d44d342f54412933be9d4f16067", - "dweb:/ipfs/QmXNFo2wCyq9cpvfgbdHvBUQecThFSEoUnMuZNS6WinDrr" - ], - "license": "AGPL-3.0-only" - }, - "lib/allo-v2/contracts/core/libraries/Errors.sol": { - "keccak256": "0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15", - "urls": [ - "bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf", - "dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA" - ], - "license": "AGPL-3.0-only" - }, - "lib/allo-v2/contracts/core/libraries/Metadata.sol": { - "keccak256": "0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44", - "urls": [ - "bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c", - "dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn" - ], - "license": "AGPL-3.0-only" - }, - "lib/allo-v2/contracts/core/libraries/Native.sol": { - "keccak256": "0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5", - "urls": [ - "bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a", - "dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv" - ], - "license": "AGPL-3.0-only" - }, - "lib/allo-v2/contracts/core/libraries/Transfer.sol": { - "keccak256": "0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286", - "urls": [ - "bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11", - "dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5" - ], - "license": "AGPL-3.0-only" - }, - "lib/allo-v2/contracts/strategies/BaseStrategy.sol": { - "keccak256": "0x3f1382dc6c35d50545e327e7ed6016f2bd752357d446bd698014073f0b812873", - "urls": [ - "bzz-raw://99500abcd617fa43f6dde49e2c7802821ceaf54a65a8055cbbf2695ecd107974", - "dweb:/ipfs/QmUktZkWuu3GCMEijY1fqt7NMy7BzpTvEtcmpB1fuoa7zt" - ], - "license": "AGPL-3.0-only" - }, - "lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol": { - "keccak256": "0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624", - "urls": [ - "bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298", - "dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt" - ], - "license": "MIT" - }, - "lib/forge-std/src/console.sol": { - "keccak256": "0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba", - "urls": [ - "bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70", - "dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol": { - "keccak256": "0x5a55d1b148a0cb4183f1e09ceaff87bd2d828440f2f5dc01dfe03eb29e7c88ec", - "urls": [ - "bzz-raw://b3f9278bdda788763efbe569da77fc24feff36e871779e2da69f74ea5f8bfacf", - "dweb:/ipfs/QmZF9cH4rfazmwKT55p3tZyzh9QGghNyss81f46d6yVXap" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/access/AccessControl.sol": { - "keccak256": "0x0dd6e52cb394d7f5abe5dca2d4908a6be40417914720932de757de34a99ab87f", - "urls": [ - "bzz-raw://dc117ce50ea746cab6b97ed1a1facee17a715ae0cb95d67b943dacbaf15176fb", - "dweb:/ipfs/QmYRZ2UGNYwsHwfNu7Wjr8L2j1LBZ1mKv6NvbwgterYMXc" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/access/IAccessControl.sol": { - "keccak256": "0x59ce320a585d7e1f163cd70390a0ef2ff9cec832e2aa544293a00692465a7a57", - "urls": [ - "bzz-raw://bb2c137c343ef0c4c7ce7b18c1d108afdc9d315a04e48307288d2d05adcbde3a", - "dweb:/ipfs/QmUxhrAQM3MM3FF5j7AtcXLXguWCJBHJ14BRdVtuoQc8Fh" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/access/Ownable.sol": { - "keccak256": "0xba43b97fba0d32eb4254f6a5a297b39a19a247082a02d6e69349e071e2946218", - "urls": [ - "bzz-raw://fc980984badf3984b6303b377711220e067722bbd6a135b24669ff5069ef9f32", - "dweb:/ipfs/QmPHXMSXj99XjSVM21YsY6aNtLLjLVXDbyN76J5HQYvvrz" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/security/ReentrancyGuard.sol": { - "keccak256": "0xa535a5df777d44e945dd24aa43a11e44b024140fc340ad0dfe42acf4002aade1", - "urls": [ - "bzz-raw://41319e7f621f2dc3733511332c4fd032f8e32ad2aa7fd6f665c19741d9941a34", - "dweb:/ipfs/QmcYR3bd862GD1Bc7jwrU9bGxrhUu5na1oP964bDCu2id1" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol": { - "keccak256": "0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c", - "urls": [ - "bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15", - "dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol": { - "keccak256": "0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305", - "urls": [ - "bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5", - "dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol": { - "keccak256": "0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca", - "urls": [ - "bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd", - "dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol": { - "keccak256": "0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a", - "urls": [ - "bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a", - "dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol": { - "keccak256": "0x909d608c2db6eb165ca178c81289a07ed2e118e444d0025b2a85c97d0b44a4fa", - "urls": [ - "bzz-raw://656cda26512ddd7373c2d5551c8fae759fc30f05b10f0fc2e738e9274199dbd4", - "dweb:/ipfs/QmTSArSzQRFbQmHgq7U1PZXnsDFhvDZhKVu9CzMG4yo6Lx" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/utils/Address.sol": { - "keccak256": "0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa", - "urls": [ - "bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931", - "dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/utils/Context.sol": { - "keccak256": "0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7", - "urls": [ - "bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92", - "dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/utils/Strings.sol": { - "keccak256": "0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0", - "urls": [ - "bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f", - "dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol": { - "keccak256": "0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b", - "urls": [ - "bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d", - "dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol": { - "keccak256": "0x5a08ad61f4e82b8a3323562661a86fb10b10190848073fdc13d4ac43710ffba5", - "urls": [ - "bzz-raw://6f7bb74cf88fd88daa34e118bc6e363381d05044f34f391d39a10c0c9dac3ebd", - "dweb:/ipfs/QmNbQ3v8v4zuDtg7VeLAbdhAm3tCzUodNoDZZ8ekmCHWZX" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol": { - "keccak256": "0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1", - "urls": [ - "bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f", - "dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/utils/math/Math.sol": { - "keccak256": "0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3", - "urls": [ - "bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c", - "dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol": { - "keccak256": "0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc", - "urls": [ - "bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7", - "dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6" - ], - "license": "MIT" - }, - "pkg/contracts/src/CVStrategy.sol": { - "keccak256": "0x132bcf17470960e380d841159d9389985d609aaae1c9a657c78902f7871da957", - "urls": [ - "bzz-raw://84e905bf392579b44f33fff8586431b940e110b2210854cf487321cc92061705", - "dweb:/ipfs/QmQpvszYu8RbrXmUFLifSodQzV8LAqazk1fzXNARGc5sBT" - ], - "license": "AGPL-3.0-only" - }, - "pkg/contracts/src/ISybilScorer.sol": { - "keccak256": "0x0e25fbb8497ac3c969d80c9032362d45e56c0a45dc9ba3dff6a8a704571f38ea", - "urls": [ - "bzz-raw://0dff90ebae6e7131a5300fcaf525bc2ab0ae90fcd13f277d7b7b6939eeb8b7eb", - "dweb:/ipfs/QmYGkYqpUVrBWoNY6f3CtwrrVQFWSvnJfpu68t95f6AkBY" - ], - "license": "MIT" - }, - "pkg/contracts/src/RegistryCommunity.sol": { - "keccak256": "0xc735f4d2635149f2db9bff291da56e08c3c312d9eb1b767b8a1e3e51584d5734", - "urls": [ - "bzz-raw://247b33b78abface6a7e2da38174386de9b543f6a27e8340e26d854bff57184a3", - "dweb:/ipfs/QmedNdqkqeboGzz9w868uGf7KnXUaYZe6i1YcdUPPkJnnf" - ], - "license": "AGPL-3.0-only" - }, - "pkg/contracts/src/RegistryFactory.sol": { - "keccak256": "0x888b7f5eb1079f90ccfa0b41d8a970bffd8d4d469f9b31917a58279b358dbda5", - "urls": [ - "bzz-raw://af25fd783de00adf01d1c7caa572801fed0d474306a43b862535b08e65ec10c6", - "dweb:/ipfs/Qmeb2nEaMQLV86y1CYAAV2c6BYpBDTbpLuC1SigeNjdqLo" - ], - "license": "AGPL-3.0-only" - }, - "pkg/contracts/src/interfaces/ISafe.sol": { - "keccak256": "0x878a210809bb684c42157a10f3f90350a67d0a4863f130499942b06f0f2c9143", - "urls": [ - "bzz-raw://fa2d71bd427c3415e98a2ee15ff673f3cc61c17f14d7087c5eedc83b55f6b0ef", - "dweb:/ipfs/QmesVSmJQQzi6ys1cvhQFCJyDXchb736mT5bXks4Yp6Cbj" - ], - "license": "LGPL-3.0-only" - } - }, - "version": 1 - }, - "storageLayout": { - "storage": [ - { - "astId": 3339, - "contract": "pkg/contracts/src/CVStrategy.sol:CVStrategy", - "label": "poolActive", - "offset": 0, - "slot": "0", - "type": "t_bool" - }, - { - "astId": 3341, - "contract": "pkg/contracts/src/CVStrategy.sol:CVStrategy", - "label": "poolId", - "offset": 0, - "slot": "1", - "type": "t_uint256" - }, - { - "astId": 3343, - "contract": "pkg/contracts/src/CVStrategy.sol:CVStrategy", - "label": "poolAmount", - "offset": 0, - "slot": "2", - "type": "t_uint256" - }, - { - "astId": 74986, - "contract": "pkg/contracts/src/CVStrategy.sol:CVStrategy", - "label": "decay", - "offset": 0, - "slot": "3", - "type": "t_uint256" - }, - { - "astId": 74988, - "contract": "pkg/contracts/src/CVStrategy.sol:CVStrategy", - "label": "maxRatio", - "offset": 0, - "slot": "4", - "type": "t_uint256" - }, - { - "astId": 74990, - "contract": "pkg/contracts/src/CVStrategy.sol:CVStrategy", - "label": "weight", - "offset": 0, - "slot": "5", - "type": "t_uint256" - }, - { - "astId": 74993, - "contract": "pkg/contracts/src/CVStrategy.sol:CVStrategy", - "label": "proposalCounter", - "offset": 0, - "slot": "6", - "type": "t_uint256" - }, - { - "astId": 74995, - "contract": "pkg/contracts/src/CVStrategy.sol:CVStrategy", - "label": "totalStaked", - "offset": 0, - "slot": "7", - "type": "t_uint256" - }, - { - "astId": 74997, - "contract": "pkg/contracts/src/CVStrategy.sol:CVStrategy", - "label": "totalPointsActivated", - "offset": 0, - "slot": "8", - "type": "t_uint256" - }, - { - "astId": 75000, - "contract": "pkg/contracts/src/CVStrategy.sol:CVStrategy", - "label": "_minThresholdPoints", - "offset": 0, - "slot": "9", - "type": "t_uint256" - }, - { - "astId": 75002, - "contract": "pkg/contracts/src/CVStrategy.sol:CVStrategy", - "label": "surpressStateMutabilityWarning", - "offset": 0, - "slot": "10", - "type": "t_uint256" - }, - { - "astId": 75005, - "contract": "pkg/contracts/src/CVStrategy.sol:CVStrategy", - "label": "proposalType", - "offset": 0, - "slot": "11", - "type": "t_enum(ProposalType)74726" - }, - { - "astId": 75008, - "contract": "pkg/contracts/src/CVStrategy.sol:CVStrategy", - "label": "pointSystem", - "offset": 1, - "slot": "11", - "type": "t_enum(PointSystem)74731" - }, - { - "astId": 75011, - "contract": "pkg/contracts/src/CVStrategy.sol:CVStrategy", - "label": "pointConfig", - "offset": 0, - "slot": "12", - "type": "t_struct(PointSystemConfig)74784_storage" - }, - { - "astId": 75014, - "contract": "pkg/contracts/src/CVStrategy.sol:CVStrategy", - "label": "registryCommunity", - "offset": 0, - "slot": "13", - "type": "t_contract(RegistryCommunity)83082" - }, - { - "astId": 75017, - "contract": "pkg/contracts/src/CVStrategy.sol:CVStrategy", - "label": "sybilScorer", - "offset": 0, - "slot": "14", - "type": "t_contract(ISybilScorer)80667" - }, - { - "astId": 75022, - "contract": "pkg/contracts/src/CVStrategy.sol:CVStrategy", - "label": "proposals", - "offset": 0, - "slot": "15", - "type": "t_mapping(t_uint256,t_struct(Proposal)74776_storage)" - }, - { - "astId": 75026, - "contract": "pkg/contracts/src/CVStrategy.sol:CVStrategy", - "label": "totalVoterStakePct", - "offset": 0, - "slot": "16", - "type": "t_mapping(t_address,t_uint256)" - }, - { - "astId": 75031, - "contract": "pkg/contracts/src/CVStrategy.sol:CVStrategy", - "label": "voterStakedProposals", - "offset": 0, - "slot": "17", - "type": "t_mapping(t_address,t_array(t_uint256)dyn_storage)" - } - ], - "types": { - "t_address": { - "encoding": "inplace", - "label": "address", - "numberOfBytes": "20" - }, - "t_array(t_uint256)dyn_storage": { - "encoding": "dynamic_array", - "label": "uint256[]", - "numberOfBytes": "32", - "base": "t_uint256" - }, - "t_bool": { - "encoding": "inplace", - "label": "bool", - "numberOfBytes": "1" - }, - "t_contract(ISybilScorer)80667": { - "encoding": "inplace", - "label": "contract ISybilScorer", - "numberOfBytes": "20" - }, - "t_contract(RegistryCommunity)83082": { - "encoding": "inplace", - "label": "contract RegistryCommunity", - "numberOfBytes": "20" - }, - "t_enum(PointSystem)74731": { - "encoding": "inplace", - "label": "enum StrategyStruct.PointSystem", - "numberOfBytes": "1" - }, - "t_enum(ProposalStatus)74749": { - "encoding": "inplace", - "label": "enum StrategyStruct.ProposalStatus", - "numberOfBytes": "1" - }, - "t_enum(ProposalType)74726": { - "encoding": "inplace", - "label": "enum StrategyStruct.ProposalType", - "numberOfBytes": "1" - }, - "t_mapping(t_address,t_array(t_uint256)dyn_storage)": { - "encoding": "mapping", - "key": "t_address", - "label": "mapping(address => uint256[])", - "numberOfBytes": "32", - "value": "t_array(t_uint256)dyn_storage" - }, - "t_mapping(t_address,t_uint256)": { - "encoding": "mapping", - "key": "t_address", - "label": "mapping(address => uint256)", - "numberOfBytes": "32", - "value": "t_uint256" - }, - "t_mapping(t_uint256,t_struct(Proposal)74776_storage)": { - "encoding": "mapping", - "key": "t_uint256", - "label": "mapping(uint256 => struct StrategyStruct.Proposal)", - "numberOfBytes": "32", - "value": "t_struct(Proposal)74776_storage" - }, - "t_string_storage": { - "encoding": "bytes", - "label": "string", - "numberOfBytes": "32" - }, - "t_struct(Metadata)3098_storage": { - "encoding": "inplace", - "label": "struct Metadata", - "numberOfBytes": "64", - "members": [ - { - "astId": 3094, - "contract": "pkg/contracts/src/CVStrategy.sol:CVStrategy", - "label": "protocol", - "offset": 0, - "slot": "0", - "type": "t_uint256" - }, - { - "astId": 3097, - "contract": "pkg/contracts/src/CVStrategy.sol:CVStrategy", - "label": "pointer", - "offset": 0, - "slot": "1", - "type": "t_string_storage" - } - ] - }, - "t_struct(PointSystemConfig)74784_storage": { - "encoding": "inplace", - "label": "struct StrategyStruct.PointSystemConfig", - "numberOfBytes": "32", - "members": [ - { - "astId": 74783, - "contract": "pkg/contracts/src/CVStrategy.sol:CVStrategy", - "label": "maxAmount", - "offset": 0, - "slot": "0", - "type": "t_uint256" - } - ] - }, - "t_struct(Proposal)74776_storage": { - "encoding": "inplace", - "label": "struct StrategyStruct.Proposal", - "numberOfBytes": "384", - "members": [ - { - "astId": 74751, - "contract": "pkg/contracts/src/CVStrategy.sol:CVStrategy", - "label": "proposalId", - "offset": 0, - "slot": "0", - "type": "t_uint256" - }, - { - "astId": 74753, - "contract": "pkg/contracts/src/CVStrategy.sol:CVStrategy", - "label": "requestedAmount", - "offset": 0, - "slot": "1", - "type": "t_uint256" - }, - { - "astId": 74755, - "contract": "pkg/contracts/src/CVStrategy.sol:CVStrategy", - "label": "stakedAmount", - "offset": 0, - "slot": "2", - "type": "t_uint256" - }, - { - "astId": 74757, - "contract": "pkg/contracts/src/CVStrategy.sol:CVStrategy", - "label": "convictionLast", - "offset": 0, - "slot": "3", - "type": "t_uint256" - }, - { - "astId": 74759, - "contract": "pkg/contracts/src/CVStrategy.sol:CVStrategy", - "label": "beneficiary", - "offset": 0, - "slot": "4", - "type": "t_address" - }, - { - "astId": 74761, - "contract": "pkg/contracts/src/CVStrategy.sol:CVStrategy", - "label": "submitter", - "offset": 0, - "slot": "5", - "type": "t_address" - }, - { - "astId": 74763, - "contract": "pkg/contracts/src/CVStrategy.sol:CVStrategy", - "label": "requestedToken", - "offset": 0, - "slot": "6", - "type": "t_address" - }, - { - "astId": 74765, - "contract": "pkg/contracts/src/CVStrategy.sol:CVStrategy", - "label": "blockLast", - "offset": 0, - "slot": "7", - "type": "t_uint256" - }, - { - "astId": 74768, - "contract": "pkg/contracts/src/CVStrategy.sol:CVStrategy", - "label": "proposalStatus", - "offset": 0, - "slot": "8", - "type": "t_enum(ProposalStatus)74749" - }, - { - "astId": 74772, - "contract": "pkg/contracts/src/CVStrategy.sol:CVStrategy", - "label": "voterStakedPoints", - "offset": 0, - "slot": "9", - "type": "t_mapping(t_address,t_uint256)" - }, - { - "astId": 74775, - "contract": "pkg/contracts/src/CVStrategy.sol:CVStrategy", - "label": "metadata", - "offset": 0, - "slot": "10", - "type": "t_struct(Metadata)3098_storage" - } - ] - }, - "t_uint256": { - "encoding": "inplace", - "label": "uint256", - "numberOfBytes": "32" - } - } - }, - "ast": { - "absolutePath": "pkg/contracts/src/CVStrategy.sol", - "id": 77612, - "exportedSymbols": { - "BaseStrategy": [ - 3923 - ], - "CVStrategy": [ - 77611 - ], - "ERC165": [ - 58266 - ], - "ERC20": [ - 56991 - ], - "IAllo": [ - 2610 - ], - "IERC165": [ - 58472 - ], - "IPointStrategy": [ - 74722 - ], - "ISybilScorer": [ - 80667 - ], - "Math": [ - 59338 - ], - "Metadata": [ - 3098 - ], - "PassportData": [ - 80585 - ], - "RegistryCommunity": [ - 83082 - ], - "StrategyStruct": [ - 74807 - ], - "console": [ - 29549 - ] - }, - "nodeType": "SourceUnit", - "src": "42:40858:129", - "nodes": [ - { - "id": 74674, - "nodeType": "PragmaDirective", - "src": "42:24:129", - "nodes": [], - "literals": [ - "solidity", - "^", - "0.8", - ".19" - ] - }, - { - "id": 74677, - "nodeType": "ImportDirective", - "src": "68:82:129", - "nodes": [], - "absolutePath": "lib/allo-v2/contracts/strategies/BaseStrategy.sol", - "file": "allo-v2-contracts/strategies/BaseStrategy.sol", - "nameLocation": "-1:-1:-1", - "scope": 77612, - "sourceUnit": 3924, - "symbolAliases": [ - { - "foreign": { - "id": 74675, - "name": "BaseStrategy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3923, - "src": "76:12:129", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - }, - { - "foreign": { - "id": 74676, - "name": "IAllo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2610, - "src": "90:5:129", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - } - ], - "unitAlias": "" - }, - { - "id": 74680, - "nodeType": "ImportDirective", - "src": "152:68:129", - "nodes": [], - "absolutePath": "pkg/contracts/src/RegistryCommunity.sol", - "file": "./RegistryCommunity.sol", - "nameLocation": "-1:-1:-1", - "scope": 77612, - "sourceUnit": 83083, - "symbolAliases": [ - { - "foreign": { - "id": 74678, - "name": "RegistryCommunity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 83082, - "src": "160:17:129", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - }, - { - "foreign": { - "id": 74679, - "name": "Metadata", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3098, - "src": "179:8:129", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - } - ], - "unitAlias": "" - }, - { - "id": 74683, - "nodeType": "ImportDirective", - "src": "221:87:129", - "nodes": [], - "absolutePath": "lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol", - "file": "@openzeppelin/contracts/utils/introspection/ERC165.sol", - "nameLocation": "-1:-1:-1", - "scope": 77612, - "sourceUnit": 58267, - "symbolAliases": [ - { - "foreign": { - "id": 74681, - "name": "ERC165", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 58266, - "src": "229:6:129", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - }, - { - "foreign": { - "id": 74682, - "name": "IERC165", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 58472, - "src": "237:7:129", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - } - ], - "unitAlias": "" - }, - { - "id": 74685, - "nodeType": "ImportDirective", - "src": "309:68:129", - "nodes": [], - "absolutePath": "lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol", - "file": "@openzeppelin/contracts/token/ERC20/ERC20.sol", - "nameLocation": "-1:-1:-1", - "scope": 77612, - "sourceUnit": 56992, - "symbolAliases": [ - { - "foreign": { - "id": 74684, - "name": "ERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 56991, - "src": "317:5:129", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - } - ], - "unitAlias": "" - }, - { - "id": 74687, - "nodeType": "ImportDirective", - "src": "379:46:129", - "nodes": [], - "absolutePath": "lib/forge-std/src/console.sol", - "file": "forge-std/console.sol", - "nameLocation": "-1:-1:-1", - "scope": 77612, - "sourceUnit": 29550, - "symbolAliases": [ - { - "foreign": { - "id": 74686, - "name": "console", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29549, - "src": "387:7:129", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - } - ], - "unitAlias": "" - }, - { - "id": 74689, - "nodeType": "ImportDirective", - "src": "427:65:129", - "nodes": [], - "absolutePath": "lib/openzeppelin-contracts/contracts/utils/math/Math.sol", - "file": "@openzeppelin/contracts/utils/math/Math.sol", - "nameLocation": "-1:-1:-1", - "scope": 77612, - "sourceUnit": 59339, - "symbolAliases": [ - { - "foreign": { - "id": 74688, - "name": "Math", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 59338, - "src": "435:4:129", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - } - ], - "unitAlias": "" - }, - { - "id": 74692, - "nodeType": "ImportDirective", - "src": "493:62:129", - "nodes": [], - "absolutePath": "pkg/contracts/src/ISybilScorer.sol", - "file": "./ISybilScorer.sol", - "nameLocation": "-1:-1:-1", - "scope": 77612, - "sourceUnit": 80668, - "symbolAliases": [ - { - "foreign": { - "id": 74690, - "name": "ISybilScorer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 80667, - "src": "501:12:129", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - }, - { - "foreign": { - "id": 74691, - "name": "PassportData", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 80585, - "src": "515:12:129", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - } - ], - "unitAlias": "" - }, - { - "id": 74722, - "nodeType": "ContractDefinition", - "src": "557:355:129", - "nodes": [ - { - "id": 74697, - "nodeType": "FunctionDefinition", - "src": "588:52:129", - "nodes": [], - "functionSelector": "6453d9c4", - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "deactivatePoints", - "nameLocation": "597:16:129", - "parameters": { - "id": 74695, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 74694, - "mutability": "mutable", - "name": "_member", - "nameLocation": "622:7:129", - "nodeType": "VariableDeclaration", - "scope": 74697, - "src": "614:15:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 74693, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "614:7:129", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "613:17:129" - }, - "returnParameters": { - "id": 74696, - "nodeType": "ParameterList", - "parameters": [], - "src": "639:0:129" - }, - "scope": 74722, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "id": 74706, - "nodeType": "FunctionDefinition", - "src": "645:91:129", - "nodes": [], - "functionSelector": "782aadff", - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "increasePower", - "nameLocation": "654:13:129", - "parameters": { - "id": 74702, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 74699, - "mutability": "mutable", - "name": "_member", - "nameLocation": "676:7:129", - "nodeType": "VariableDeclaration", - "scope": 74706, - "src": "668:15:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 74698, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "668:7:129", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 74701, - "mutability": "mutable", - "name": "_amountToStake", - "nameLocation": "693:14:129", - "nodeType": "VariableDeclaration", - "scope": 74706, - "src": "685:22:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74700, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "685:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "667:41:129" - }, - "returnParameters": { - "id": 74705, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 74704, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 74706, - "src": "727:7:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74703, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "727:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "726:9:129" - }, - "scope": 74722, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "id": 74715, - "nodeType": "FunctionDefinition", - "src": "741:92:129", - "nodes": [], - "functionSelector": "2ed04b2b", - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "decreasePower", - "nameLocation": "750:13:129", - "parameters": { - "id": 74711, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 74708, - "mutability": "mutable", - "name": "_member", - "nameLocation": "772:7:129", - "nodeType": "VariableDeclaration", - "scope": 74715, - "src": "764:15:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 74707, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "764:7:129", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 74710, - "mutability": "mutable", - "name": "_amountToUntake", - "nameLocation": "789:15:129", - "nodeType": "VariableDeclaration", - "scope": 74715, - "src": "781:23:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74709, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "781:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "763:42:129" - }, - "returnParameters": { - "id": 74714, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 74713, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 74715, - "src": "824:7:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74712, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "824:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "823:9:129" - }, - "scope": 74722, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "id": 74721, - "nodeType": "FunctionDefinition", - "src": "838:72:129", - "nodes": [], - "functionSelector": "c3292171", - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "getPointSystem", - "nameLocation": "847:14:129", - "parameters": { - "id": 74716, - "nodeType": "ParameterList", - "parameters": [], - "src": "861:2:129" - }, - "returnParameters": { - "id": 74720, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 74719, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 74721, - "src": "882:26:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_enum$_PointSystem_$74731", - "typeString": "enum StrategyStruct.PointSystem" - }, - "typeName": { - "id": 74718, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 74717, - "name": "StrategyStruct.PointSystem", - "nameLocations": [ - "882:14:129", - "897:11:129" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 74731, - "src": "882:26:129" - }, - "referencedDeclaration": 74731, - "src": "882:26:129", - "typeDescriptions": { - "typeIdentifier": "t_enum$_PointSystem_$74731", - "typeString": "enum StrategyStruct.PointSystem" - } - }, - "visibility": "internal" - } - ], - "src": "881:28:129" - }, - "scope": 74722, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "abstract": false, - "baseContracts": [], - "canonicalName": "IPointStrategy", - "contractDependencies": [], - "contractKind": "interface", - "fullyImplemented": false, - "linearizedBaseContracts": [ - 74722 - ], - "name": "IPointStrategy", - "nameLocation": "567:14:129", - "scope": 77612, - "usedErrors": [] - }, - { - "id": 74807, - "nodeType": "ContractDefinition", - "src": "914:1871:129", - "nodes": [ - { - "id": 74726, - "nodeType": "EnumDefinition", - "src": "943:79:129", - "nodes": [], - "canonicalName": "StrategyStruct.ProposalType", - "members": [ - { - "id": 74723, - "name": "Signaling", - "nameLocation": "971:9:129", - "nodeType": "EnumValue", - "src": "971:9:129" - }, - { - "id": 74724, - "name": "Funding", - "nameLocation": "990:7:129", - "nodeType": "EnumValue", - "src": "990:7:129" - }, - { - "id": 74725, - "name": "Streaming", - "nameLocation": "1007:9:129", - "nodeType": "EnumValue", - "src": "1007:9:129" - } - ], - "name": "ProposalType", - "nameLocation": "948:12:129" - }, - { - "id": 74731, - "nodeType": "EnumDefinition", - "src": "1028:92:129", - "nodes": [], - "canonicalName": "StrategyStruct.PointSystem", - "members": [ - { - "id": 74727, - "name": "Fixed", - "nameLocation": "1055:5:129", - "nodeType": "EnumValue", - "src": "1055:5:129" - }, - { - "id": 74728, - "name": "Capped", - "nameLocation": "1070:6:129", - "nodeType": "EnumValue", - "src": "1070:6:129" - }, - { - "id": 74729, - "name": "Unlimited", - "nameLocation": "1086:9:129", - "nodeType": "EnumValue", - "src": "1086:9:129" - }, - { - "id": 74730, - "name": "Quadratic", - "nameLocation": "1105:9:129", - "nodeType": "EnumValue", - "src": "1105:9:129" - } - ], - "name": "PointSystem", - "nameLocation": "1033:11:129" - }, - { - "id": 74743, - "nodeType": "StructDefinition", - "src": "1126:243:129", - "nodes": [], - "canonicalName": "StrategyStruct.CreateProposal", - "members": [ - { - "constant": false, - "id": 74733, - "mutability": "mutable", - "name": "poolId", - "nameLocation": "1197:6:129", - "nodeType": "VariableDeclaration", - "scope": 74743, - "src": "1189:14:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74732, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1189:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 74735, - "mutability": "mutable", - "name": "beneficiary", - "nameLocation": "1221:11:129", - "nodeType": "VariableDeclaration", - "scope": 74743, - "src": "1213:19:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 74734, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1213:7:129", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 74737, - "mutability": "mutable", - "name": "amountRequested", - "nameLocation": "1288:15:129", - "nodeType": "VariableDeclaration", - "scope": 74743, - "src": "1280:23:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74736, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1280:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 74739, - "mutability": "mutable", - "name": "requestedToken", - "nameLocation": "1321:14:129", - "nodeType": "VariableDeclaration", - "scope": 74743, - "src": "1313:22:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 74738, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1313:7:129", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 74742, - "mutability": "mutable", - "name": "metadata", - "nameLocation": "1354:8:129", - "nodeType": "VariableDeclaration", - "scope": 74743, - "src": "1345:17:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Metadata_$3098_storage_ptr", - "typeString": "struct Metadata" - }, - "typeName": { - "id": 74741, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 74740, - "name": "Metadata", - "nameLocations": [ - "1345:8:129" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 3098, - "src": "1345:8:129" - }, - "referencedDeclaration": 3098, - "src": "1345:8:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Metadata_$3098_storage_ptr", - "typeString": "struct Metadata" - } - }, - "visibility": "internal" - } - ], - "name": "CreateProposal", - "nameLocation": "1133:14:129", - "scope": 74807, - "visibility": "public" - }, - { - "id": 74749, - "nodeType": "EnumDefinition", - "src": "1375:289:129", - "nodes": [], - "canonicalName": "StrategyStruct.ProposalStatus", - "members": [ - { - "id": 74744, - "name": "Inactive", - "nameLocation": "1405:8:129", - "nodeType": "EnumValue", - "src": "1405:8:129" - }, - { - "id": 74745, - "name": "Active", - "nameLocation": "1435:6:129", - "nodeType": "EnumValue", - "src": "1435:6:129" - }, - { - "id": 74746, - "name": "Paused", - "nameLocation": "1498:6:129", - "nodeType": "EnumValue", - "src": "1498:6:129" - }, - { - "id": 74747, - "name": "Cancelled", - "nameLocation": "1563:9:129", - "nodeType": "EnumValue", - "src": "1563:9:129" - }, - { - "id": 74748, - "name": "Executed", - "nameLocation": "1616:8:129", - "nodeType": "EnumValue", - "src": "1616:8:129" - } - ], - "name": "ProposalStatus", - "nameLocation": "1380:14:129" - }, - { - "id": 74776, - "nodeType": "StructDefinition", - "src": "1670:405:129", - "nodes": [], - "canonicalName": "StrategyStruct.Proposal", - "members": [ - { - "constant": false, - "id": 74751, - "mutability": "mutable", - "name": "proposalId", - "nameLocation": "1704:10:129", - "nodeType": "VariableDeclaration", - "scope": 74776, - "src": "1696:18:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74750, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1696:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 74753, - "mutability": "mutable", - "name": "requestedAmount", - "nameLocation": "1732:15:129", - "nodeType": "VariableDeclaration", - "scope": 74776, - "src": "1724:23:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74752, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1724:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 74755, - "mutability": "mutable", - "name": "stakedAmount", - "nameLocation": "1765:12:129", - "nodeType": "VariableDeclaration", - "scope": 74776, - "src": "1757:20:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74754, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1757:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 74757, - "mutability": "mutable", - "name": "convictionLast", - "nameLocation": "1795:14:129", - "nodeType": "VariableDeclaration", - "scope": 74776, - "src": "1787:22:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74756, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1787:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 74759, - "mutability": "mutable", - "name": "beneficiary", - "nameLocation": "1827:11:129", - "nodeType": "VariableDeclaration", - "scope": 74776, - "src": "1819:19:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 74758, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1819:7:129", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 74761, - "mutability": "mutable", - "name": "submitter", - "nameLocation": "1856:9:129", - "nodeType": "VariableDeclaration", - "scope": 74776, - "src": "1848:17:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 74760, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1848:7:129", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 74763, - "mutability": "mutable", - "name": "requestedToken", - "nameLocation": "1883:14:129", - "nodeType": "VariableDeclaration", - "scope": 74776, - "src": "1875:22:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 74762, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1875:7:129", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 74765, - "mutability": "mutable", - "name": "blockLast", - "nameLocation": "1915:9:129", - "nodeType": "VariableDeclaration", - "scope": 74776, - "src": "1907:17:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74764, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1907:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 74768, - "mutability": "mutable", - "name": "proposalStatus", - "nameLocation": "1949:14:129", - "nodeType": "VariableDeclaration", - "scope": 74776, - "src": "1934:29:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_enum$_ProposalStatus_$74749", - "typeString": "enum StrategyStruct.ProposalStatus" - }, - "typeName": { - "id": 74767, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 74766, - "name": "ProposalStatus", - "nameLocations": [ - "1934:14:129" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 74749, - "src": "1934:14:129" - }, - "referencedDeclaration": 74749, - "src": "1934:14:129", - "typeDescriptions": { - "typeIdentifier": "t_enum$_ProposalStatus_$74749", - "typeString": "enum StrategyStruct.ProposalStatus" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 74772, - "mutability": "mutable", - "name": "voterStakedPoints", - "nameLocation": "2001:17:129", - "nodeType": "VariableDeclaration", - "scope": 74776, - "src": "1973:45:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "typeName": { - "id": 74771, - "keyName": "", - "keyNameLocation": "-1:-1:-1", - "keyType": { - "id": 74769, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1981:7:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "1973:27:129", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueName": "", - "valueNameLocation": "-1:-1:-1", - "valueType": { - "id": 74770, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1992:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 74775, - "mutability": "mutable", - "name": "metadata", - "nameLocation": "2060:8:129", - "nodeType": "VariableDeclaration", - "scope": 74776, - "src": "2051:17:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Metadata_$3098_storage_ptr", - "typeString": "struct Metadata" - }, - "typeName": { - "id": 74774, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 74773, - "name": "Metadata", - "nameLocations": [ - "2051:8:129" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 3098, - "src": "2051:8:129" - }, - "referencedDeclaration": 3098, - "src": "2051:8:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Metadata_$3098_storage_ptr", - "typeString": "struct Metadata" - } - }, - "visibility": "internal" - } - ], - "name": "Proposal", - "nameLocation": "1677:8:129", - "scope": 74807, - "visibility": "public" - }, - { - "id": 74781, - "nodeType": "StructDefinition", - "src": "2081:126:129", - "nodes": [], - "canonicalName": "StrategyStruct.ProposalSupport", - "members": [ - { - "constant": false, - "id": 74778, - "mutability": "mutable", - "name": "proposalId", - "nameLocation": "2122:10:129", - "nodeType": "VariableDeclaration", - "scope": 74781, - "src": "2114:18:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74777, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2114:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 74780, - "mutability": "mutable", - "name": "deltaSupport", - "nameLocation": "2149:12:129", - "nodeType": "VariableDeclaration", - "scope": 74781, - "src": "2142:19:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - }, - "typeName": { - "id": 74779, - "name": "int256", - "nodeType": "ElementaryTypeName", - "src": "2142:6:129", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - }, - "visibility": "internal" - } - ], - "name": "ProposalSupport", - "nameLocation": "2088:15:129", - "scope": 74807, - "visibility": "public" - }, - { - "id": 74784, - "nodeType": "StructDefinition", - "src": "2213:89:129", - "nodes": [], - "canonicalName": "StrategyStruct.PointSystemConfig", - "members": [ - { - "constant": false, - "id": 74783, - "mutability": "mutable", - "name": "maxAmount", - "nameLocation": "2286:9:129", - "nodeType": "VariableDeclaration", - "scope": 74784, - "src": "2278:17:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74782, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2278:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "name": "PointSystemConfig", - "nameLocation": "2220:17:129", - "scope": 74807, - "visibility": "public" - }, - { - "id": 74806, - "nodeType": "StructDefinition", - "src": "2308:475:129", - "nodes": [], - "canonicalName": "StrategyStruct.InitializeParams", - "members": [ - { - "constant": false, - "id": 74786, - "mutability": "mutable", - "name": "registryCommunity", - "nameLocation": "2350:17:129", - "nodeType": "VariableDeclaration", - "scope": 74806, - "src": "2342:25:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 74785, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2342:7:129", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 74788, - "mutability": "mutable", - "name": "decay", - "nameLocation": "2414:5:129", - "nodeType": "VariableDeclaration", - "scope": 74806, - "src": "2406:13:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74787, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2406:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 74790, - "mutability": "mutable", - "name": "maxRatio", - "nameLocation": "2484:8:129", - "nodeType": "VariableDeclaration", - "scope": 74806, - "src": "2476:16:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74789, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2476:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 74792, - "mutability": "mutable", - "name": "weight", - "nameLocation": "2538:6:129", - "nodeType": "VariableDeclaration", - "scope": 74806, - "src": "2530:14:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74791, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2530:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 74794, - "mutability": "mutable", - "name": "minThresholdPoints", - "nameLocation": "2562:18:129", - "nodeType": "VariableDeclaration", - "scope": 74806, - "src": "2554:26:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74793, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2554:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 74797, - "mutability": "mutable", - "name": "proposalType", - "nameLocation": "2628:12:129", - "nodeType": "VariableDeclaration", - "scope": 74806, - "src": "2615:25:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_enum$_ProposalType_$74726", - "typeString": "enum StrategyStruct.ProposalType" - }, - "typeName": { - "id": 74796, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 74795, - "name": "ProposalType", - "nameLocations": [ - "2615:12:129" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 74726, - "src": "2615:12:129" - }, - "referencedDeclaration": 74726, - "src": "2615:12:129", - "typeDescriptions": { - "typeIdentifier": "t_enum$_ProposalType_$74726", - "typeString": "enum StrategyStruct.ProposalType" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 74800, - "mutability": "mutable", - "name": "pointSystem", - "nameLocation": "2697:11:129", - "nodeType": "VariableDeclaration", - "scope": 74806, - "src": "2685:23:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_enum$_PointSystem_$74731", - "typeString": "enum StrategyStruct.PointSystem" - }, - "typeName": { - "id": 74799, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 74798, - "name": "PointSystem", - "nameLocations": [ - "2685:11:129" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 74731, - "src": "2685:11:129" - }, - "referencedDeclaration": 74731, - "src": "2685:11:129", - "typeDescriptions": { - "typeIdentifier": "t_enum$_PointSystem_$74731", - "typeString": "enum StrategyStruct.PointSystem" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 74803, - "mutability": "mutable", - "name": "pointConfig", - "nameLocation": "2736:11:129", - "nodeType": "VariableDeclaration", - "scope": 74806, - "src": "2718:29:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PointSystemConfig_$74784_storage_ptr", - "typeString": "struct StrategyStruct.PointSystemConfig" - }, - "typeName": { - "id": 74802, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 74801, - "name": "PointSystemConfig", - "nameLocations": [ - "2718:17:129" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 74784, - "src": "2718:17:129" - }, - "referencedDeclaration": 74784, - "src": "2718:17:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PointSystemConfig_$74784_storage_ptr", - "typeString": "struct StrategyStruct.PointSystemConfig" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 74805, - "mutability": "mutable", - "name": "sybilScorer", - "nameLocation": "2765:11:129", - "nodeType": "VariableDeclaration", - "scope": 74806, - "src": "2757:19:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 74804, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2757:7:129", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "name": "InitializeParams", - "nameLocation": "2315:16:129", - "scope": 74807, - "visibility": "public" - } - ], - "abstract": false, - "baseContracts": [], - "canonicalName": "StrategyStruct", - "contractDependencies": [], - "contractKind": "library", - "fullyImplemented": true, - "linearizedBaseContracts": [ - 74807 - ], - "name": "StrategyStruct", - "nameLocation": "922:14:129", - "scope": 77612, - "usedErrors": [] - }, - { - "id": 77611, - "nodeType": "ContractDefinition", - "src": "2787:38112:129", - "nodes": [ - { - "id": 74816, - "nodeType": "UsingForDirective", - "src": "2853:23:129", - "nodes": [], - "global": false, - "libraryName": { - "id": 74814, - "name": "Math", - "nameLocations": [ - "2859:4:129" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 59338, - "src": "2859:4:129" - }, - "typeName": { - "id": 74815, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2868:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "id": 74818, - "nodeType": "ErrorDefinition", - "src": "3047:25:129", - "nodes": [], - "errorSelector": "d1f28288", - "name": "UserCannotBeZero", - "nameLocation": "3053:16:129", - "parameters": { - "id": 74817, - "nodeType": "ParameterList", - "parameters": [], - "src": "3069:2:129" - } - }, - { - "id": 74820, - "nodeType": "ErrorDefinition", - "src": "3091:26:129", - "nodes": [], - "errorSelector": "6a5cfb6d", - "name": "UserNotInRegistry", - "nameLocation": "3097:17:129", - "parameters": { - "id": 74819, - "nodeType": "ParameterList", - "parameters": [], - "src": "3114:2:129" - } - }, - { - "id": 74822, - "nodeType": "ErrorDefinition", - "src": "3135:23:129", - "nodes": [], - "errorSelector": "5fccb67f", - "name": "UserIsInactive", - "nameLocation": "3141:14:129", - "parameters": { - "id": 74821, - "nodeType": "ParameterList", - "parameters": [], - "src": "3155:2:129" - } - }, - { - "id": 74824, - "nodeType": "ErrorDefinition", - "src": "3177:20:129", - "nodes": [], - "errorSelector": "ed4421ad", - "name": "PoolIsEmpty", - "nameLocation": "3183:11:129", - "parameters": { - "id": 74823, - "nodeType": "ParameterList", - "parameters": [], - "src": "3194:2:129" - } - }, - { - "id": 74826, - "nodeType": "ErrorDefinition", - "src": "3216:23:129", - "nodes": [], - "errorSelector": "d6234725", - "name": "NotImplemented", - "nameLocation": "3222:14:129", - "parameters": { - "id": 74825, - "nodeType": "ParameterList", - "parameters": [], - "src": "3236:2:129" - } - }, - { - "id": 74828, - "nodeType": "ErrorDefinition", - "src": "3257:26:129", - "nodes": [], - "errorSelector": "596a094c", - "name": "TokenCannotBeZero", - "nameLocation": "3263:17:129", - "parameters": { - "id": 74827, - "nodeType": "ParameterList", - "parameters": [], - "src": "3280:2:129" - } - }, - { - "id": 74830, - "nodeType": "ErrorDefinition", - "src": "3301:24:129", - "nodes": [], - "errorSelector": "a29c4986", - "name": "TokenNotAllowed", - "nameLocation": "3307:15:129", - "parameters": { - "id": 74829, - "nodeType": "ParameterList", - "parameters": [], - "src": "3322:2:129" - } - }, - { - "id": 74832, - "nodeType": "ErrorDefinition", - "src": "3344:27:129", - "nodes": [], - "errorSelector": "3bf5ca14", - "name": "AmountOverMaxRatio", - "nameLocation": "3350:18:129", - "parameters": { - "id": 74831, - "nodeType": "ParameterList", - "parameters": [], - "src": "3368:2:129" - } - }, - { - "id": 74834, - "nodeType": "ErrorDefinition", - "src": "3390:27:129", - "nodes": [], - "errorSelector": "4e791786", - "name": "PoolIdCannotBeZero", - "nameLocation": "3396:18:129", - "parameters": { - "id": 74833, - "nodeType": "ParameterList", - "parameters": [], - "src": "3414:2:129" - } - }, - { - "id": 74836, - "nodeType": "ErrorDefinition", - "src": "3435:28:129", - "nodes": [], - "errorSelector": "e622e040", - "name": "AddressCannotBeZero", - "nameLocation": "3441:19:129", - "parameters": { - "id": 74835, - "nodeType": "ParameterList", - "parameters": [], - "src": "3460:2:129" - } - }, - { - "id": 74838, - "nodeType": "ErrorDefinition", - "src": "3481:29:129", - "nodes": [], - "errorSelector": "5df4b1ef", - "name": "RegistryCannotBeZero", - "nameLocation": "3487:20:129", - "parameters": { - "id": 74837, - "nodeType": "ParameterList", - "parameters": [], - "src": "3507:2:129" - } - }, - { - "id": 74846, - "nodeType": "ErrorDefinition", - "src": "3529:72:129", - "nodes": [], - "errorSelector": "3bbc7142", - "name": "SupportUnderflow", - "nameLocation": "3535:16:129", - "parameters": { - "id": 74845, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 74840, - "mutability": "mutable", - "name": "_support", - "nameLocation": "3560:8:129", - "nodeType": "VariableDeclaration", - "scope": 74846, - "src": "3552:16:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74839, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3552:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 74842, - "mutability": "mutable", - "name": "_delta", - "nameLocation": "3577:6:129", - "nodeType": "VariableDeclaration", - "scope": 74846, - "src": "3570:13:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - }, - "typeName": { - "id": 74841, - "name": "int256", - "nodeType": "ElementaryTypeName", - "src": "3570:6:129", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 74844, - "mutability": "mutable", - "name": "_result", - "nameLocation": "3592:7:129", - "nodeType": "VariableDeclaration", - "scope": 74846, - "src": "3585:14:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - }, - "typeName": { - "id": 74843, - "name": "int256", - "nodeType": "ElementaryTypeName", - "src": "3585:6:129", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - }, - "visibility": "internal" - } - ], - "src": "3551:49:129" - } - }, - { - "id": 74848, - "nodeType": "ErrorDefinition", - "src": "3620:25:129", - "nodes": [], - "errorSelector": "8402b474", - "name": "MaxPointsReached", - "nameLocation": "3626:16:129", - "parameters": { - "id": 74847, - "nodeType": "ParameterList", - "parameters": [], - "src": "3642:2:129" - } - }, - { - "id": 74850, - "nodeType": "ErrorDefinition", - "src": "3664:32:129", - "nodes": [], - "errorSelector": "573c3e93", - "name": "CantIncreaseFixedSystem", - "nameLocation": "3670:23:129", - "parameters": { - "id": 74849, - "nodeType": "ParameterList", - "parameters": [], - "src": "3693:2:129" - } - }, - { - "id": 74856, - "nodeType": "ErrorDefinition", - "src": "3715:77:129", - "nodes": [], - "errorSelector": "d64182fe", - "name": "NotEnoughPointsToSupport", - "nameLocation": "3721:24:129", - "parameters": { - "id": 74855, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 74852, - "mutability": "mutable", - "name": "pointsSupport", - "nameLocation": "3754:13:129", - "nodeType": "VariableDeclaration", - "scope": 74856, - "src": "3746:21:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74851, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3746:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 74854, - "mutability": "mutable", - "name": "pointsBalance", - "nameLocation": "3777:13:129", - "nodeType": "VariableDeclaration", - "scope": 74856, - "src": "3769:21:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74853, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3769:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "3745:46:129" - } - }, - { - "id": 74858, - "nodeType": "ErrorDefinition", - "src": "3812:28:129", - "nodes": [], - "errorSelector": "c5f7c4c0", - "name": "ProposalDataIsEmpty", - "nameLocation": "3818:19:129", - "parameters": { - "id": 74857, - "nodeType": "ParameterList", - "parameters": [], - "src": "3837:2:129" - } - }, - { - "id": 74860, - "nodeType": "ErrorDefinition", - "src": "3858:31:129", - "nodes": [], - "errorSelector": "f881a10d", - "name": "ProposalIdCannotBeZero", - "nameLocation": "3864:22:129", - "parameters": { - "id": 74859, - "nodeType": "ParameterList", - "parameters": [], - "src": "3886:2:129" - } - }, - { - "id": 74864, - "nodeType": "ErrorDefinition", - "src": "3907:45:129", - "nodes": [], - "errorSelector": "44980d8f", - "name": "ProposalNotActive", - "nameLocation": "3913:17:129", - "parameters": { - "id": 74863, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 74862, - "mutability": "mutable", - "name": "_proposalId", - "nameLocation": "3939:11:129", - "nodeType": "VariableDeclaration", - "scope": 74864, - "src": "3931:19:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74861, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3931:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "3930:21:129" - } - }, - { - "id": 74868, - "nodeType": "ErrorDefinition", - "src": "3971:45:129", - "nodes": [], - "errorSelector": "c1d17bef", - "name": "ProposalNotInList", - "nameLocation": "3977:17:129", - "parameters": { - "id": 74867, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 74866, - "mutability": "mutable", - "name": "_proposalId", - "nameLocation": "4003:11:129", - "nodeType": "VariableDeclaration", - "scope": 74868, - "src": "3995:19:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74865, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3995:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "3994:21:129" - } - }, - { - "id": 74874, - "nodeType": "ErrorDefinition", - "src": "4035:68:129", - "nodes": [], - "errorSelector": "adebb154", - "name": "ProposalSupportDuplicated", - "nameLocation": "4041:25:129", - "parameters": { - "id": 74873, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 74870, - "mutability": "mutable", - "name": "_proposalId", - "nameLocation": "4075:11:129", - "nodeType": "VariableDeclaration", - "scope": 74874, - "src": "4067:19:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74869, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4067:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 74872, - "mutability": "mutable", - "name": "index", - "nameLocation": "4096:5:129", - "nodeType": "VariableDeclaration", - "scope": 74874, - "src": "4088:13:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74871, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4088:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "4066:36:129" - } - }, - { - "id": 74876, - "nodeType": "ErrorDefinition", - "src": "4121:40:129", - "nodes": [], - "errorSelector": "cce79308", - "name": "ConvictionUnderMinimumThreshold", - "nameLocation": "4127:31:129", - "parameters": { - "id": 74875, - "nodeType": "ParameterList", - "parameters": [], - "src": "4158:2:129" - } - }, - { - "id": 74878, - "nodeType": "ErrorDefinition", - "src": "4180:29:129", - "nodes": [], - "errorSelector": "af0916a2", - "name": "OnlyCommunityAllowed", - "nameLocation": "4186:20:129", - "parameters": { - "id": 74877, - "nodeType": "ParameterList", - "parameters": [], - "src": "4206:2:129" - } - }, - { - "id": 74886, - "nodeType": "ErrorDefinition", - "src": "4228:94:129", - "nodes": [], - "errorSelector": "5863b0b6", - "name": "PoolAmountNotEnough", - "nameLocation": "4234:19:129", - "parameters": { - "id": 74885, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 74880, - "mutability": "mutable", - "name": "_proposalId", - "nameLocation": "4262:11:129", - "nodeType": "VariableDeclaration", - "scope": 74886, - "src": "4254:19:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74879, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4254:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 74882, - "mutability": "mutable", - "name": "_requestedAmount", - "nameLocation": "4283:16:129", - "nodeType": "VariableDeclaration", - "scope": 74886, - "src": "4275:24:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74881, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4275:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 74884, - "mutability": "mutable", - "name": "_poolAmount", - "nameLocation": "4309:11:129", - "nodeType": "VariableDeclaration", - "scope": 74886, - "src": "4301:19:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74883, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4301:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "4253:68:129" - } - }, - { - "id": 74888, - "nodeType": "ErrorDefinition", - "src": "4340:24:129", - "nodes": [], - "errorSelector": "e860ec7e", - "name": "OnlyCouncilSafe", - "nameLocation": "4346:15:129", - "parameters": { - "id": 74887, - "nodeType": "ParameterList", - "parameters": [], - "src": "4361:2:129" - } - }, - { - "id": 74890, - "nodeType": "ErrorDefinition", - "src": "4369:32:129", - "nodes": [], - "errorSelector": "5b96b588", - "name": "UserCannotExecuteAction", - "nameLocation": "4375:23:129", - "parameters": { - "id": 74889, - "nodeType": "ParameterList", - "parameters": [], - "src": "4398:2:129" - } - }, - { - "id": 74897, - "nodeType": "EventDefinition", - "src": "4573:74:129", - "nodes": [], - "anonymous": false, - "eventSelector": "4ebdec05fb64815e553aeaf3976ef8112dd79760a459bee3ac7d1659ab2c4e04", - "name": "InitializedCV", - "nameLocation": "4579:13:129", - "parameters": { - "id": 74896, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 74892, - "indexed": false, - "mutability": "mutable", - "name": "poolId", - "nameLocation": "4601:6:129", - "nodeType": "VariableDeclaration", - "scope": 74897, - "src": "4593:14:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74891, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4593:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 74895, - "indexed": false, - "mutability": "mutable", - "name": "data", - "nameLocation": "4641:4:129", - "nodeType": "VariableDeclaration", - "scope": 74897, - "src": "4609:36:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_struct$_InitializeParams_$74806_memory_ptr", - "typeString": "struct StrategyStruct.InitializeParams" - }, - "typeName": { - "id": 74894, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 74893, - "name": "StrategyStruct.InitializeParams", - "nameLocations": [ - "4609:14:129", - "4624:16:129" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 74806, - "src": "4609:31:129" - }, - "referencedDeclaration": 74806, - "src": "4609:31:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_InitializeParams_$74806_storage_ptr", - "typeString": "struct StrategyStruct.InitializeParams" - } - }, - "visibility": "internal" - } - ], - "src": "4592:54:129" - } - }, - { - "id": 74905, - "nodeType": "EventDefinition", - "src": "4652:75:129", - "nodes": [], - "anonymous": false, - "eventSelector": "a7932e9c92f31e1ed56b29d00bbe669a97484dc24de28dd9c8c0429df7f35847", - "name": "Distributed", - "nameLocation": "4658:11:129", - "parameters": { - "id": 74904, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 74899, - "indexed": false, - "mutability": "mutable", - "name": "proposalId", - "nameLocation": "4678:10:129", - "nodeType": "VariableDeclaration", - "scope": 74905, - "src": "4670:18:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74898, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4670:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 74901, - "indexed": false, - "mutability": "mutable", - "name": "beneficiary", - "nameLocation": "4698:11:129", - "nodeType": "VariableDeclaration", - "scope": 74905, - "src": "4690:19:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 74900, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4690:7:129", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 74903, - "indexed": false, - "mutability": "mutable", - "name": "amount", - "nameLocation": "4719:6:129", - "nodeType": "VariableDeclaration", - "scope": 74905, - "src": "4711:14:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74902, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4711:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "4669:57:129" - } - }, - { - "id": 74911, - "nodeType": "EventDefinition", - "src": "4732:58:129", - "nodes": [], - "anonymous": false, - "eventSelector": "fcf3b1aa65a464cef2889608f99e8b8c0f680a4be6c2acb9d961c536a5a9294b", - "name": "ProposalCreated", - "nameLocation": "4738:15:129", - "parameters": { - "id": 74910, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 74907, - "indexed": false, - "mutability": "mutable", - "name": "poolId", - "nameLocation": "4762:6:129", - "nodeType": "VariableDeclaration", - "scope": 74911, - "src": "4754:14:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74906, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4754:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 74909, - "indexed": false, - "mutability": "mutable", - "name": "proposalId", - "nameLocation": "4778:10:129", - "nodeType": "VariableDeclaration", - "scope": 74911, - "src": "4770:18:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74908, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4770:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "4753:36:129" - } - }, - { - "id": 74915, - "nodeType": "EventDefinition", - "src": "4795:42:129", - "nodes": [], - "anonymous": false, - "eventSelector": "46aeb5d8770fc4474bc2dfa118fd2595f7fb33ce2cbce6f4e5a3dabfe0f76339", - "name": "PoolAmountIncreased", - "nameLocation": "4801:19:129", - "parameters": { - "id": 74914, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 74913, - "indexed": false, - "mutability": "mutable", - "name": "amount", - "nameLocation": "4829:6:129", - "nodeType": "VariableDeclaration", - "scope": 74915, - "src": "4821:14:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74912, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4821:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "4820:16:129" - } - }, - { - "id": 74923, - "nodeType": "EventDefinition", - "src": "4842:85:129", - "nodes": [], - "anonymous": false, - "eventSelector": "0b9150e1e54346ed3fa36b977cd5d65dca5a649c737c3174a26bddaadd47667a", - "name": "PowerIncreased", - "nameLocation": "4848:14:129", - "parameters": { - "id": 74922, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 74917, - "indexed": false, - "mutability": "mutable", - "name": "member", - "nameLocation": "4871:6:129", - "nodeType": "VariableDeclaration", - "scope": 74923, - "src": "4863:14:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 74916, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4863:7:129", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 74919, - "indexed": false, - "mutability": "mutable", - "name": "tokensStaked", - "nameLocation": "4887:12:129", - "nodeType": "VariableDeclaration", - "scope": 74923, - "src": "4879:20:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74918, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4879:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 74921, - "indexed": false, - "mutability": "mutable", - "name": "pointsToIncrease", - "nameLocation": "4909:16:129", - "nodeType": "VariableDeclaration", - "scope": 74923, - "src": "4901:24:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74920, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4901:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "4862:64:129" - } - }, - { - "id": 74931, - "nodeType": "EventDefinition", - "src": "4932:87:129", - "nodes": [], - "anonymous": false, - "eventSelector": "70b752f3fadb6ac131c0ece847fcbb6994ec56ed6411595710fd9b29c6ac6cc1", - "name": "PowerDecreased", - "nameLocation": "4938:14:129", - "parameters": { - "id": 74930, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 74925, - "indexed": false, - "mutability": "mutable", - "name": "member", - "nameLocation": "4961:6:129", - "nodeType": "VariableDeclaration", - "scope": 74931, - "src": "4953:14:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 74924, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4953:7:129", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 74927, - "indexed": false, - "mutability": "mutable", - "name": "tokensUnStaked", - "nameLocation": "4977:14:129", - "nodeType": "VariableDeclaration", - "scope": 74931, - "src": "4969:22:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74926, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4969:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 74929, - "indexed": false, - "mutability": "mutable", - "name": "pointsToDecrease", - "nameLocation": "5001:16:129", - "nodeType": "VariableDeclaration", - "scope": 74931, - "src": "4993:24:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74928, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4993:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "4952:66:129" - } - }, - { - "id": 74943, - "nodeType": "EventDefinition", - "src": "5024:134:129", - "nodes": [], - "anonymous": false, - "eventSelector": "0227f642ddcf2042ceaeafadb9d540f432072c00cd4862881667168dcc14710f", - "name": "SupportAdded", - "nameLocation": "5030:12:129", - "parameters": { - "id": 74942, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 74933, - "indexed": false, - "mutability": "mutable", - "name": "from", - "nameLocation": "5060:4:129", - "nodeType": "VariableDeclaration", - "scope": 74943, - "src": "5052:12:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 74932, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5052:7:129", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 74935, - "indexed": false, - "mutability": "mutable", - "name": "proposalId", - "nameLocation": "5074:10:129", - "nodeType": "VariableDeclaration", - "scope": 74943, - "src": "5066:18:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74934, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5066:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 74937, - "indexed": false, - "mutability": "mutable", - "name": "amount", - "nameLocation": "5094:6:129", - "nodeType": "VariableDeclaration", - "scope": 74943, - "src": "5086:14:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74936, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5086:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 74939, - "indexed": false, - "mutability": "mutable", - "name": "totalStakedAmount", - "nameLocation": "5110:17:129", - "nodeType": "VariableDeclaration", - "scope": 74943, - "src": "5102:25:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74938, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5102:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 74941, - "indexed": false, - "mutability": "mutable", - "name": "convictionLast", - "nameLocation": "5137:14:129", - "nodeType": "VariableDeclaration", - "scope": 74943, - "src": "5129:22:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74940, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5129:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "5042:115:129" - } - }, - { - "id": 74947, - "nodeType": "EventDefinition", - "src": "5163:40:129", - "nodes": [], - "anonymous": false, - "eventSelector": "1468da654b37bb3631011c1917d02e0db437d519918858d40b38b5e980ca033b", - "name": "PointsDeactivated", - "nameLocation": "5169:17:129", - "parameters": { - "id": 74946, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 74945, - "indexed": false, - "mutability": "mutable", - "name": "member", - "nameLocation": "5195:6:129", - "nodeType": "VariableDeclaration", - "scope": 74947, - "src": "5187:14:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 74944, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5187:7:129", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "5186:16:129" - } - }, - { - "id": 74951, - "nodeType": "EventDefinition", - "src": "5208:34:129", - "nodes": [], - "anonymous": false, - "eventSelector": "592dcd55d60d892e7fcb3ba105013312e99691cd59f91e15f83cb67cb5a505f2", - "name": "DecayUpdated", - "nameLocation": "5214:12:129", - "parameters": { - "id": 74950, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 74949, - "indexed": false, - "mutability": "mutable", - "name": "decay", - "nameLocation": "5235:5:129", - "nodeType": "VariableDeclaration", - "scope": 74951, - "src": "5227:13:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74948, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5227:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "5226:15:129" - } - }, - { - "id": 74955, - "nodeType": "EventDefinition", - "src": "5247:40:129", - "nodes": [], - "anonymous": false, - "eventSelector": "08e39b387d1f739ce0d2553bb31822392e3f67c62c6c0a215120ab4a6841a8ab", - "name": "MaxRatioUpdated", - "nameLocation": "5253:15:129", - "parameters": { - "id": 74954, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 74953, - "indexed": false, - "mutability": "mutable", - "name": "maxRatio", - "nameLocation": "5277:8:129", - "nodeType": "VariableDeclaration", - "scope": 74955, - "src": "5269:16:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74952, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5269:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "5268:18:129" - } - }, - { - "id": 74959, - "nodeType": "EventDefinition", - "src": "5292:36:129", - "nodes": [], - "anonymous": false, - "eventSelector": "30ee8206062f283e56a0af2b02138016bf7442ded26ad68a92a18a9dd246fb49", - "name": "WeightUpdated", - "nameLocation": "5298:13:129", - "parameters": { - "id": 74958, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 74957, - "indexed": false, - "mutability": "mutable", - "name": "weight", - "nameLocation": "5320:6:129", - "nodeType": "VariableDeclaration", - "scope": 74959, - "src": "5312:14:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74956, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5312:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "5311:16:129" - } - }, - { - "id": 74963, - "nodeType": "EventDefinition", - "src": "5333:49:129", - "nodes": [], - "anonymous": false, - "eventSelector": "d6ceddf6d2a22f21c7c81675c518004eff43bc5c8a6fc32a0b748e69d58671cd", - "name": "RegistryUpdated", - "nameLocation": "5339:15:129", - "parameters": { - "id": 74962, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 74961, - "indexed": false, - "mutability": "mutable", - "name": "registryCommunity", - "nameLocation": "5363:17:129", - "nodeType": "VariableDeclaration", - "scope": 74963, - "src": "5355:25:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 74960, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5355:7:129", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "5354:27:129" - } - }, - { - "id": 74969, - "nodeType": "EventDefinition", - "src": "5387:76:129", - "nodes": [], - "anonymous": false, - "eventSelector": "056aedca4e334b6c4bea48715fb0de644811b740894de57a0380d3eb90f2805b", - "name": "MinThresholdPointsUpdated", - "nameLocation": "5393:25:129", - "parameters": { - "id": 74968, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 74965, - "indexed": false, - "mutability": "mutable", - "name": "before", - "nameLocation": "5427:6:129", - "nodeType": "VariableDeclaration", - "scope": 74969, - "src": "5419:14:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74964, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5419:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 74967, - "indexed": false, - "mutability": "mutable", - "name": "minThresholdPoints", - "nameLocation": "5443:18:129", - "nodeType": "VariableDeclaration", - "scope": 74969, - "src": "5435:26:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74966, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5435:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "5418:44:129" - } - }, - { - "id": 74972, - "nodeType": "VariableDeclaration", - "src": "5837:36:129", - "nodes": [], - "constant": true, - "functionSelector": "0f529ba2", - "mutability": "constant", - "name": "D", - "nameLocation": "5861:1:129", - "scope": 77611, - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74970, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5837:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "hexValue": "3130303030303030", - "id": 74971, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5865:8:129", - "typeDescriptions": { - "typeIdentifier": "t_rational_10000000_by_1", - "typeString": "int_const 10000000" - }, - "value": "10000000" - }, - "visibility": "public" - }, - { - "id": 74975, - "nodeType": "VariableDeclaration", - "src": "5887:70:129", - "nodes": [], - "constant": true, - "mutability": "constant", - "name": "TWO_128", - "nameLocation": "5912:7:129", - "scope": 77611, - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74973, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5887:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "hexValue": "3078313030303030303030303030303030303030303030303030303030303030303030", - "id": 74974, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5922:35:129", - "typeDescriptions": { - "typeIdentifier": "t_rational_340282366920938463463374607431768211456_by_1", - "typeString": "int_const 3402...(31 digits omitted)...1456" - }, - "value": "0x100000000000000000000000000000000" - }, - "visibility": "private" - }, - { - "id": 74978, - "nodeType": "VariableDeclaration", - "src": "5973:69:129", - "nodes": [], - "constant": true, - "mutability": "constant", - "name": "TWO_127", - "nameLocation": "5998:7:129", - "scope": 77611, - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74976, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5973:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "hexValue": "30783830303030303030303030303030303030303030303030303030303030303030", - "id": 74977, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6008:34:129", - "typeDescriptions": { - "typeIdentifier": "t_rational_170141183460469231731687303715884105728_by_1", - "typeString": "int_const 1701...(31 digits omitted)...5728" - }, - "value": "0x80000000000000000000000000000000" - }, - "visibility": "private" - }, - { - "id": 74981, - "nodeType": "VariableDeclaration", - "src": "6058:53:129", - "nodes": [], - "constant": true, - "mutability": "constant", - "name": "TWO_64", - "nameLocation": "6083:6:129", - "scope": 77611, - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74979, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6058:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "hexValue": "30783130303030303030303030303030303030", - "id": 74980, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6092:19:129", - "typeDescriptions": { - "typeIdentifier": "t_rational_18446744073709551616_by_1", - "typeString": "int_const 18446744073709551616" - }, - "value": "0x10000000000000000" - }, - "visibility": "private" - }, - { - "id": 74984, - "nodeType": "VariableDeclaration", - "src": "6126:49:129", - "nodes": [], - "constant": true, - "functionSelector": "406244d8", - "mutability": "constant", - "name": "MAX_STAKED_PROPOSALS", - "nameLocation": "6150:20:129", - "scope": 77611, - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74982, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6126:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "hexValue": "3130", - "id": 74983, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6173:2:129", - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - "visibility": "public" - }, - { - "id": 74986, - "nodeType": "VariableDeclaration", - "src": "6303:20:129", - "nodes": [], - "constant": false, - "functionSelector": "54fac919", - "mutability": "mutable", - "name": "decay", - "nameLocation": "6318:5:129", - "scope": 77611, - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74985, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6303:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "public" - }, - { - "id": 74988, - "nodeType": "VariableDeclaration", - "src": "6329:23:129", - "nodes": [], - "constant": false, - "functionSelector": "76365af7", - "mutability": "mutable", - "name": "maxRatio", - "nameLocation": "6344:8:129", - "scope": 77611, - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74987, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6329:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "public" - }, - { - "id": 74990, - "nodeType": "VariableDeclaration", - "src": "6358:21:129", - "nodes": [], - "constant": false, - "functionSelector": "a1aab33f", - "mutability": "mutable", - "name": "weight", - "nameLocation": "6373:6:129", - "scope": 77611, - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74989, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6358:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "public" - }, - { - "id": 74993, - "nodeType": "VariableDeclaration", - "src": "6385:34:129", - "nodes": [], - "constant": false, - "functionSelector": "0c0512e9", - "mutability": "mutable", - "name": "proposalCounter", - "nameLocation": "6400:15:129", - "scope": 77611, - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74991, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6385:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "hexValue": "30", - "id": 74992, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6418:1:129", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "visibility": "public" - }, - { - "id": 74995, - "nodeType": "VariableDeclaration", - "src": "6425:26:129", - "nodes": [], - "constant": false, - "functionSelector": "817b1cd2", - "mutability": "mutable", - "name": "totalStaked", - "nameLocation": "6440:11:129", - "scope": 77611, - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74994, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6425:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "public" - }, - { - "id": 74997, - "nodeType": "VariableDeclaration", - "src": "6457:35:129", - "nodes": [], - "constant": false, - "functionSelector": "aba9ffee", - "mutability": "mutable", - "name": "totalPointsActivated", - "nameLocation": "6472:20:129", - "scope": 77611, - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74996, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6457:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "public" - }, - { - "id": 75000, - "nodeType": "VariableDeclaration", - "src": "6498:38:129", - "nodes": [], - "constant": false, - "functionSelector": "7c6570ba", - "mutability": "mutable", - "name": "_minThresholdPoints", - "nameLocation": "6513:19:129", - "scope": 77611, - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74998, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6498:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "hexValue": "30", - "id": 74999, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6535:1:129", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "visibility": "public" - }, - { - "id": 75002, - "nodeType": "VariableDeclaration", - "src": "6577:47:129", - "nodes": [], - "constant": false, - "mutability": "mutable", - "name": "surpressStateMutabilityWarning", - "nameLocation": "6594:30:129", - "scope": 77611, - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 75001, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6577:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "id": 75005, - "nodeType": "VariableDeclaration", - "src": "6709:47:129", - "nodes": [], - "constant": false, - "functionSelector": "351d9f96", - "mutability": "mutable", - "name": "proposalType", - "nameLocation": "6744:12:129", - "scope": 77611, - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_enum$_ProposalType_$74726", - "typeString": "enum StrategyStruct.ProposalType" - }, - "typeName": { - "id": 75004, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 75003, - "name": "StrategyStruct.ProposalType", - "nameLocations": [ - "6709:14:129", - "6724:12:129" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 74726, - "src": "6709:27:129" - }, - "referencedDeclaration": 74726, - "src": "6709:27:129", - "typeDescriptions": { - "typeIdentifier": "t_enum$_ProposalType_$74726", - "typeString": "enum StrategyStruct.ProposalType" - } - }, - "visibility": "public" - }, - { - "id": 75008, - "nodeType": "VariableDeclaration", - "src": "6815:45:129", - "nodes": [], - "constant": false, - "functionSelector": "2dbd6fdd", - "mutability": "mutable", - "name": "pointSystem", - "nameLocation": "6849:11:129", - "scope": 77611, - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_enum$_PointSystem_$74731", - "typeString": "enum StrategyStruct.PointSystem" - }, - "typeName": { - "id": 75007, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 75006, - "name": "StrategyStruct.PointSystem", - "nameLocations": [ - "6815:14:129", - "6830:11:129" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 74731, - "src": "6815:26:129" - }, - "referencedDeclaration": 74731, - "src": "6815:26:129", - "typeDescriptions": { - "typeIdentifier": "t_enum$_PointSystem_$74731", - "typeString": "enum StrategyStruct.PointSystem" - } - }, - "visibility": "public" - }, - { - "id": 75011, - "nodeType": "VariableDeclaration", - "src": "6866:51:129", - "nodes": [], - "constant": false, - "functionSelector": "a47ff7e5", - "mutability": "mutable", - "name": "pointConfig", - "nameLocation": "6906:11:129", - "scope": 77611, - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PointSystemConfig_$74784_storage", - "typeString": "struct StrategyStruct.PointSystemConfig" - }, - "typeName": { - "id": 75010, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 75009, - "name": "StrategyStruct.PointSystemConfig", - "nameLocations": [ - "6866:14:129", - "6881:17:129" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 74784, - "src": "6866:32:129" - }, - "referencedDeclaration": 74784, - "src": "6866:32:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PointSystemConfig_$74784_storage_ptr", - "typeString": "struct StrategyStruct.PointSystemConfig" - } - }, - "visibility": "public" - }, - { - "id": 75014, - "nodeType": "VariableDeclaration", - "src": "6950:42:129", - "nodes": [], - "constant": false, - "functionSelector": "6003e414", - "mutability": "mutable", - "name": "registryCommunity", - "nameLocation": "6975:17:129", - "scope": 77611, - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_RegistryCommunity_$83082", - "typeString": "contract RegistryCommunity" - }, - "typeName": { - "id": 75013, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 75012, - "name": "RegistryCommunity", - "nameLocations": [ - "6950:17:129" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 83082, - "src": "6950:17:129" - }, - "referencedDeclaration": 83082, - "src": "6950:17:129", - "typeDescriptions": { - "typeIdentifier": "t_contract$_RegistryCommunity_$83082", - "typeString": "contract RegistryCommunity" - } - }, - "visibility": "public" - }, - { - "id": 75017, - "nodeType": "VariableDeclaration", - "src": "6998:31:129", - "nodes": [], - "constant": false, - "functionSelector": "b6c61f31", - "mutability": "mutable", - "name": "sybilScorer", - "nameLocation": "7018:11:129", - "scope": 77611, - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ISybilScorer_$80667", - "typeString": "contract ISybilScorer" - }, - "typeName": { - "id": 75016, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 75015, - "name": "ISybilScorer", - "nameLocations": [ - "6998:12:129" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 80667, - "src": "6998:12:129" - }, - "referencedDeclaration": 80667, - "src": "6998:12:129", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ISybilScorer_$80667", - "typeString": "contract ISybilScorer" - } - }, - "visibility": "public" - }, - { - "id": 75022, - "nodeType": "VariableDeclaration", - "src": "7096:60:129", - "nodes": [], - "constant": false, - "functionSelector": "013cf08b", - "mutability": "mutable", - "name": "proposals", - "nameLocation": "7147:9:129", - "scope": 77611, - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Proposal_$74776_storage_$", - "typeString": "mapping(uint256 => struct StrategyStruct.Proposal)" - }, - "typeName": { - "id": 75021, - "keyName": "", - "keyNameLocation": "-1:-1:-1", - "keyType": { - "id": 75018, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7104:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Mapping", - "src": "7096:43:129", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Proposal_$74776_storage_$", - "typeString": "mapping(uint256 => struct StrategyStruct.Proposal)" - }, - "valueName": "", - "valueNameLocation": "-1:-1:-1", - "valueType": { - "id": 75020, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 75019, - "name": "StrategyStruct.Proposal", - "nameLocations": [ - "7115:14:129", - "7130:8:129" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 74776, - "src": "7115:23:129" - }, - "referencedDeclaration": 74776, - "src": "7115:23:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal" - } - } - }, - "visibility": "public" - }, - { - "id": 75026, - "nodeType": "VariableDeclaration", - "src": "7212:53:129", - "nodes": [], - "constant": false, - "functionSelector": "5db64b99", - "mutability": "mutable", - "name": "totalVoterStakePct", - "nameLocation": "7247:18:129", - "scope": 77611, - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "typeName": { - "id": 75025, - "keyName": "", - "keyNameLocation": "-1:-1:-1", - "keyType": { - "id": 75023, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7220:7:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "7212:27:129", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueName": "", - "valueNameLocation": "-1:-1:-1", - "valueType": { - "id": 75024, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7231:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "visibility": "public" - }, - { - "id": 75031, - "nodeType": "VariableDeclaration", - "src": "7303:57:129", - "nodes": [], - "constant": false, - "functionSelector": "868c57b8", - "mutability": "mutable", - "name": "voterStakedProposals", - "nameLocation": "7340:20:129", - "scope": 77611, - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$", - "typeString": "mapping(address => uint256[])" - }, - "typeName": { - "id": 75030, - "keyName": "", - "keyNameLocation": "-1:-1:-1", - "keyType": { - "id": 75027, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7311:7:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "7303:29:129", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$", - "typeString": "mapping(address => uint256[])" - }, - "valueName": "", - "valueNameLocation": "-1:-1:-1", - "valueType": { - "baseType": { - "id": 75028, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7322:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 75029, - "nodeType": "ArrayTypeName", - "src": "7322:9:129", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - } - }, - "visibility": "public" - }, - { - "id": 75050, - "nodeType": "ModifierDefinition", - "src": "7399:184:129", - "nodes": [], - "body": { - "id": 75049, - "nodeType": "Block", - "src": "7426:157:129", - "nodes": [], - "statements": [ - { - "condition": { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 75041, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 75033, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "7440:3:129", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 75034, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "7444:6:129", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "7440:10:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "arguments": [ - { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "id": 75037, - "name": "registryCommunity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75014, - "src": "7462:17:129", - "typeDescriptions": { - "typeIdentifier": "t_contract$_RegistryCommunity_$83082", - "typeString": "contract RegistryCommunity" - } - }, - "id": 75038, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "7480:11:129", - "memberName": "councilSafe", - "nodeType": "MemberAccess", - "referencedDeclaration": 81542, - "src": "7462:29:129", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_contract$_ISafe_$85665_$", - "typeString": "function () view external returns (contract ISafe)" - } - }, - "id": 75039, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "7462:31:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_ISafe_$85665", - "typeString": "contract ISafe" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_ISafe_$85665", - "typeString": "contract ISafe" - } - ], - "id": 75036, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "7454:7:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 75035, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7454:7:129", - "typeDescriptions": {} - } - }, - "id": 75040, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "7454:40:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "7440:54:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 75047, - "nodeType": "Block", - "src": "7528:49:129", - "statements": [ - { - "errorCall": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 75044, - "name": "OnlyCouncilSafe", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74888, - "src": "7549:15:129", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 75045, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "7549:17:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 75046, - "nodeType": "RevertStatement", - "src": "7542:24:129" - } - ] - }, - "id": 75048, - "nodeType": "IfStatement", - "src": "7436:141:129", - "trueBody": { - "id": 75043, - "nodeType": "Block", - "src": "7496:26:129", - "statements": [ - { - "id": 75042, - "nodeType": "PlaceholderStatement", - "src": "7510:1:129" - } - ] - } - } - ] - }, - "name": "onlyCouncilSafe", - "nameLocation": "7408:15:129", - "parameters": { - "id": 75032, - "nodeType": "ParameterList", - "parameters": [], - "src": "7423:2:129" - }, - "virtual": false, - "visibility": "internal" - }, - { - "id": 75063, - "nodeType": "FunctionDefinition", - "src": "7754:72:129", - "nodes": [], - "body": { - "id": 75062, - "nodeType": "Block", - "src": "7824:2:129", - "nodes": [], - "statements": [] - }, - "implemented": true, - "kind": "constructor", - "modifiers": [ - { - "arguments": [ - { - "arguments": [ - { - "id": 75057, - "name": "_allo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75052, - "src": "7802:5:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 75056, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "7794:7:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 75055, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7794:7:129", - "typeDescriptions": {} - } - }, - "id": 75058, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "7794:14:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "hexValue": "43565374726174656779", - "id": 75059, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7810:12:129", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_5f43243e98d2b877d41079bf899c9372a6b91af5be3180830de9d43f93117b2e", - "typeString": "literal_string \"CVStrategy\"" - }, - "value": "CVStrategy" - } - ], - "id": 75060, - "kind": "baseConstructorSpecifier", - "modifierName": { - "id": 75054, - "name": "BaseStrategy", - "nameLocations": [ - "7781:12:129" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 3923, - "src": "7781:12:129" - }, - "nodeType": "ModifierInvocation", - "src": "7781:42:129" - } - ], - "name": "", - "nameLocation": "-1:-1:-1", - "parameters": { - "id": 75053, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 75052, - "mutability": "mutable", - "name": "_allo", - "nameLocation": "7774:5:129", - "nodeType": "VariableDeclaration", - "scope": 75063, - "src": "7766:13:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 75051, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7766:7:129", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "7765:15:129" - }, - "returnParameters": { - "id": 75061, - "nodeType": "ParameterList", - "parameters": [], - "src": "7824:0:129" - }, - "scope": 77611, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "id": 75154, - "nodeType": "FunctionDefinition", - "src": "7832:740:129", - "nodes": [], - "body": { - "id": 75153, - "nodeType": "Block", - "src": "7898:674:129", - "nodes": [], - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 75071, - "name": "_poolId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75065, - "src": "7928:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 75070, - "name": "__BaseStrategy_init", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3503, - "src": "7908:19:129", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 75072, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "7908:28:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 75073, - "nodeType": "ExpressionStatement", - "src": "7908:28:129" - }, - { - "assignments": [ - 75078 - ], - "declarations": [ - { - "constant": false, - "id": 75078, - "mutability": "mutable", - "name": "ip", - "nameLocation": "7985:2:129", - "nodeType": "VariableDeclaration", - "scope": 75153, - "src": "7946:41:129", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_InitializeParams_$74806_memory_ptr", - "typeString": "struct StrategyStruct.InitializeParams" - }, - "typeName": { - "id": 75077, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 75076, - "name": "StrategyStruct.InitializeParams", - "nameLocations": [ - "7946:14:129", - "7961:16:129" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 74806, - "src": "7946:31:129" - }, - "referencedDeclaration": 74806, - "src": "7946:31:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_InitializeParams_$74806_storage_ptr", - "typeString": "struct StrategyStruct.InitializeParams" - } - }, - "visibility": "internal" - } - ], - "id": 75086, - "initialValue": { - "arguments": [ - { - "id": 75081, - "name": "_data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75067, - "src": "8001:5:129", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "components": [ - { - "expression": { - "id": 75082, - "name": "StrategyStruct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74807, - "src": "8009:14:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_StrategyStruct_$74807_$", - "typeString": "type(library StrategyStruct)" - } - }, - "id": 75083, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "8024:16:129", - "memberName": "InitializeParams", - "nodeType": "MemberAccess", - "referencedDeclaration": 74806, - "src": "8009:31:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_InitializeParams_$74806_storage_ptr_$", - "typeString": "type(struct StrategyStruct.InitializeParams storage pointer)" - } - } - ], - "id": 75084, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "8008:33:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_InitializeParams_$74806_storage_ptr_$", - "typeString": "type(struct StrategyStruct.InitializeParams storage pointer)" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_type$_t_struct$_InitializeParams_$74806_storage_ptr_$", - "typeString": "type(struct StrategyStruct.InitializeParams storage pointer)" - } - ], - "expression": { - "id": 75079, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "7990:3:129", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 75080, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "7994:6:129", - "memberName": "decode", - "nodeType": "MemberAccess", - "src": "7990:10:129", - "typeDescriptions": { - "typeIdentifier": "t_function_abidecode_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 75085, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "7990:52:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_struct$_InitializeParams_$74806_memory_ptr", - "typeString": "struct StrategyStruct.InitializeParams memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "7946:96:129" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 75093, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 75087, - "name": "ip", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75078, - "src": "8057:2:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_InitializeParams_$74806_memory_ptr", - "typeString": "struct StrategyStruct.InitializeParams memory" - } - }, - "id": 75088, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "8060:17:129", - "memberName": "registryCommunity", - "nodeType": "MemberAccess", - "referencedDeclaration": 74786, - "src": "8057:20:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "arguments": [ - { - "hexValue": "30", - "id": 75091, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8089:1:129", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 75090, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "8081:7:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 75089, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8081:7:129", - "typeDescriptions": {} - } - }, - "id": 75092, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "8081:10:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "8057:34:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 75098, - "nodeType": "IfStatement", - "src": "8053:94:129", - "trueBody": { - "id": 75097, - "nodeType": "Block", - "src": "8093:54:129", - "statements": [ - { - "errorCall": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 75094, - "name": "RegistryCannotBeZero", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74838, - "src": "8114:20:129", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 75095, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "8114:22:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 75096, - "nodeType": "RevertStatement", - "src": "8107:29:129" - } - ] - } - }, - { - "expression": { - "id": 75104, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 75099, - "name": "registryCommunity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75014, - "src": "8157:17:129", - "typeDescriptions": { - "typeIdentifier": "t_contract$_RegistryCommunity_$83082", - "typeString": "contract RegistryCommunity" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "expression": { - "id": 75101, - "name": "ip", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75078, - "src": "8195:2:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_InitializeParams_$74806_memory_ptr", - "typeString": "struct StrategyStruct.InitializeParams memory" - } - }, - "id": 75102, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "8198:17:129", - "memberName": "registryCommunity", - "nodeType": "MemberAccess", - "referencedDeclaration": 74786, - "src": "8195:20:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 75100, - "name": "RegistryCommunity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 83082, - "src": "8177:17:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_RegistryCommunity_$83082_$", - "typeString": "type(contract RegistryCommunity)" - } - }, - "id": 75103, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "8177:39:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_RegistryCommunity_$83082", - "typeString": "contract RegistryCommunity" - } - }, - "src": "8157:59:129", - "typeDescriptions": { - "typeIdentifier": "t_contract$_RegistryCommunity_$83082", - "typeString": "contract RegistryCommunity" - } - }, - "id": 75105, - "nodeType": "ExpressionStatement", - "src": "8157:59:129" - }, - { - "expression": { - "id": 75109, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 75106, - "name": "decay", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74986, - "src": "8226:5:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "expression": { - "id": 75107, - "name": "ip", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75078, - "src": "8234:2:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_InitializeParams_$74806_memory_ptr", - "typeString": "struct StrategyStruct.InitializeParams memory" - } - }, - "id": 75108, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "8237:5:129", - "memberName": "decay", - "nodeType": "MemberAccess", - "referencedDeclaration": 74788, - "src": "8234:8:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8226:16:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 75110, - "nodeType": "ExpressionStatement", - "src": "8226:16:129" - }, - { - "expression": { - "id": 75114, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 75111, - "name": "maxRatio", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74988, - "src": "8252:8:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "expression": { - "id": 75112, - "name": "ip", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75078, - "src": "8263:2:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_InitializeParams_$74806_memory_ptr", - "typeString": "struct StrategyStruct.InitializeParams memory" - } - }, - "id": 75113, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "8266:8:129", - "memberName": "maxRatio", - "nodeType": "MemberAccess", - "referencedDeclaration": 74790, - "src": "8263:11:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8252:22:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 75115, - "nodeType": "ExpressionStatement", - "src": "8252:22:129" - }, - { - "expression": { - "id": 75119, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 75116, - "name": "weight", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74990, - "src": "8284:6:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "expression": { - "id": 75117, - "name": "ip", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75078, - "src": "8293:2:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_InitializeParams_$74806_memory_ptr", - "typeString": "struct StrategyStruct.InitializeParams memory" - } - }, - "id": 75118, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "8296:6:129", - "memberName": "weight", - "nodeType": "MemberAccess", - "referencedDeclaration": 74792, - "src": "8293:9:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8284:18:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 75120, - "nodeType": "ExpressionStatement", - "src": "8284:18:129" - }, - { - "expression": { - "id": 75124, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 75121, - "name": "proposalType", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75005, - "src": "8312:12:129", - "typeDescriptions": { - "typeIdentifier": "t_enum$_ProposalType_$74726", - "typeString": "enum StrategyStruct.ProposalType" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "expression": { - "id": 75122, - "name": "ip", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75078, - "src": "8327:2:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_InitializeParams_$74806_memory_ptr", - "typeString": "struct StrategyStruct.InitializeParams memory" - } - }, - "id": 75123, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "8330:12:129", - "memberName": "proposalType", - "nodeType": "MemberAccess", - "referencedDeclaration": 74797, - "src": "8327:15:129", - "typeDescriptions": { - "typeIdentifier": "t_enum$_ProposalType_$74726", - "typeString": "enum StrategyStruct.ProposalType" - } - }, - "src": "8312:30:129", - "typeDescriptions": { - "typeIdentifier": "t_enum$_ProposalType_$74726", - "typeString": "enum StrategyStruct.ProposalType" - } - }, - "id": 75125, - "nodeType": "ExpressionStatement", - "src": "8312:30:129" - }, - { - "expression": { - "id": 75129, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 75126, - "name": "pointSystem", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75008, - "src": "8352:11:129", - "typeDescriptions": { - "typeIdentifier": "t_enum$_PointSystem_$74731", - "typeString": "enum StrategyStruct.PointSystem" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "expression": { - "id": 75127, - "name": "ip", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75078, - "src": "8366:2:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_InitializeParams_$74806_memory_ptr", - "typeString": "struct StrategyStruct.InitializeParams memory" - } - }, - "id": 75128, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "8369:11:129", - "memberName": "pointSystem", - "nodeType": "MemberAccess", - "referencedDeclaration": 74800, - "src": "8366:14:129", - "typeDescriptions": { - "typeIdentifier": "t_enum$_PointSystem_$74731", - "typeString": "enum StrategyStruct.PointSystem" - } - }, - "src": "8352:28:129", - "typeDescriptions": { - "typeIdentifier": "t_enum$_PointSystem_$74731", - "typeString": "enum StrategyStruct.PointSystem" - } - }, - "id": 75130, - "nodeType": "ExpressionStatement", - "src": "8352:28:129" - }, - { - "expression": { - "id": 75134, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 75131, - "name": "pointConfig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75011, - "src": "8390:11:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PointSystemConfig_$74784_storage", - "typeString": "struct StrategyStruct.PointSystemConfig storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "expression": { - "id": 75132, - "name": "ip", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75078, - "src": "8404:2:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_InitializeParams_$74806_memory_ptr", - "typeString": "struct StrategyStruct.InitializeParams memory" - } - }, - "id": 75133, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "8407:11:129", - "memberName": "pointConfig", - "nodeType": "MemberAccess", - "referencedDeclaration": 74803, - "src": "8404:14:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PointSystemConfig_$74784_memory_ptr", - "typeString": "struct StrategyStruct.PointSystemConfig memory" - } - }, - "src": "8390:28:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PointSystemConfig_$74784_storage", - "typeString": "struct StrategyStruct.PointSystemConfig storage ref" - } - }, - "id": 75135, - "nodeType": "ExpressionStatement", - "src": "8390:28:129" - }, - { - "expression": { - "id": 75139, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 75136, - "name": "_minThresholdPoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75000, - "src": "8428:19:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "expression": { - "id": 75137, - "name": "ip", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75078, - "src": "8450:2:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_InitializeParams_$74806_memory_ptr", - "typeString": "struct StrategyStruct.InitializeParams memory" - } - }, - "id": 75138, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "8453:18:129", - "memberName": "minThresholdPoints", - "nodeType": "MemberAccess", - "referencedDeclaration": 74794, - "src": "8450:21:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8428:43:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 75140, - "nodeType": "ExpressionStatement", - "src": "8428:43:129" - }, - { - "expression": { - "id": 75146, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 75141, - "name": "sybilScorer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75017, - "src": "8481:11:129", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ISybilScorer_$80667", - "typeString": "contract ISybilScorer" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "expression": { - "id": 75143, - "name": "ip", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75078, - "src": "8508:2:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_InitializeParams_$74806_memory_ptr", - "typeString": "struct StrategyStruct.InitializeParams memory" - } - }, - "id": 75144, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "8511:11:129", - "memberName": "sybilScorer", - "nodeType": "MemberAccess", - "referencedDeclaration": 74805, - "src": "8508:14:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 75142, - "name": "ISybilScorer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 80667, - "src": "8495:12:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ISybilScorer_$80667_$", - "typeString": "type(contract ISybilScorer)" - } - }, - "id": 75145, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "8495:28:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_ISybilScorer_$80667", - "typeString": "contract ISybilScorer" - } - }, - "src": "8481:42:129", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ISybilScorer_$80667", - "typeString": "contract ISybilScorer" - } - }, - "id": 75147, - "nodeType": "ExpressionStatement", - "src": "8481:42:129" - }, - { - "eventCall": { - "arguments": [ - { - "id": 75149, - "name": "_poolId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75065, - "src": "8553:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 75150, - "name": "ip", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75078, - "src": "8562:2:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_InitializeParams_$74806_memory_ptr", - "typeString": "struct StrategyStruct.InitializeParams memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_struct$_InitializeParams_$74806_memory_ptr", - "typeString": "struct StrategyStruct.InitializeParams memory" - } - ], - "id": 75148, - "name": "InitializedCV", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74897, - "src": "8539:13:129", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_struct$_InitializeParams_$74806_memory_ptr_$returns$__$", - "typeString": "function (uint256,struct StrategyStruct.InitializeParams memory)" - } - }, - "id": 75151, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "8539:26:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 75152, - "nodeType": "EmitStatement", - "src": "8534:31:129" - } - ] - }, - "baseFunctions": [ - 2939 - ], - "functionSelector": "edd146cc", - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "initialize", - "nameLocation": "7841:10:129", - "parameters": { - "id": 75068, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 75065, - "mutability": "mutable", - "name": "_poolId", - "nameLocation": "7860:7:129", - "nodeType": "VariableDeclaration", - "scope": 75154, - "src": "7852:15:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 75064, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7852:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 75067, - "mutability": "mutable", - "name": "_data", - "nameLocation": "7882:5:129", - "nodeType": "VariableDeclaration", - "scope": 75154, - "src": "7869:18:129", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 75066, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "7869:5:129", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "src": "7851:37:129" - }, - "returnParameters": { - "id": 75069, - "nodeType": "ParameterList", - "parameters": [], - "src": "7898:0:129" - }, - "scope": 77611, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "id": 75158, - "nodeType": "FunctionDefinition", - "src": "8743:83:129", - "nodes": [], - "body": { - "id": 75157, - "nodeType": "Block", - "src": "8771:55:129", - "nodes": [], - "statements": [] - }, - "implemented": true, - "kind": "fallback", - "modifiers": [], - "name": "", - "nameLocation": "-1:-1:-1", - "parameters": { - "id": 75155, - "nodeType": "ParameterList", - "parameters": [], - "src": "8751:2:129" - }, - "returnParameters": { - "id": 75156, - "nodeType": "ParameterList", - "parameters": [], - "src": "8771:0:129" - }, - "scope": 77611, - "stateMutability": "payable", - "virtual": false, - "visibility": "external" - }, - { - "id": 75162, - "nodeType": "FunctionDefinition", - "src": "8832:135:129", - "nodes": [], - "body": { - "id": 75161, - "nodeType": "Block", - "src": "8859:108:129", - "nodes": [], - "statements": [] - }, - "implemented": true, - "kind": "receive", - "modifiers": [], - "name": "", - "nameLocation": "-1:-1:-1", - "parameters": { - "id": 75159, - "nodeType": "ParameterList", - "parameters": [], - "src": "8839:2:129" - }, - "returnParameters": { - "id": 75160, - "nodeType": "ParameterList", - "parameters": [], - "src": "8859:0:129" - }, - "scope": 77611, - "stateMutability": "payable", - "virtual": false, - "visibility": "external" - }, - { - "id": 75183, - "nodeType": "FunctionDefinition", - "src": "8973:202:129", - "nodes": [], - "body": { - "id": 75182, - "nodeType": "Block", - "src": "9064:111:129", - "nodes": [], - "statements": [ - { - "expression": { - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 75180, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "id": 75175, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 75170, - "name": "interfaceId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75164, - "src": "9081:11:129", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "expression": { - "arguments": [ - { - "id": 75172, - "name": "IPointStrategy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74722, - "src": "9101:14:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IPointStrategy_$74722_$", - "typeString": "type(contract IPointStrategy)" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_type$_t_contract$_IPointStrategy_$74722_$", - "typeString": "type(contract IPointStrategy)" - } - ], - "id": 75171, - "name": "type", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -27, - "src": "9096:4:129", - "typeDescriptions": { - "typeIdentifier": "t_function_metatype_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 75173, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "9096:20:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_magic_meta_type_t_contract$_IPointStrategy_$74722", - "typeString": "type(contract IPointStrategy)" - } - }, - "id": 75174, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "9117:11:129", - "memberName": "interfaceId", - "nodeType": "MemberAccess", - "src": "9096:32:129", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "src": "9081:47:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "arguments": [ - { - "id": 75178, - "name": "interfaceId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75164, - "src": "9156:11:129", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - ], - "expression": { - "id": 75176, - "name": "super", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -25, - "src": "9132:5:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_super$_CVStrategy_$77611_$", - "typeString": "type(contract super CVStrategy)" - } - }, - "id": 75177, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "9138:17:129", - "memberName": "supportsInterface", - "nodeType": "MemberAccess", - "referencedDeclaration": 58265, - "src": "9132:23:129", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_bytes4_$returns$_t_bool_$", - "typeString": "function (bytes4) view returns (bool)" - } - }, - "id": 75179, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "9132:36:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "9081:87:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 75169, - "id": 75181, - "nodeType": "Return", - "src": "9074:94:129" - } - ] - }, - "baseFunctions": [ - 58265 - ], - "functionSelector": "01ffc9a7", - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "supportsInterface", - "nameLocation": "8982:17:129", - "overrides": { - "id": 75166, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "9040:8:129" - }, - "parameters": { - "id": 75165, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 75164, - "mutability": "mutable", - "name": "interfaceId", - "nameLocation": "9007:11:129", - "nodeType": "VariableDeclaration", - "scope": 75183, - "src": "9000:18:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 75163, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "9000:6:129", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "visibility": "internal" - } - ], - "src": "8999:20:129" - }, - "returnParameters": { - "id": 75169, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 75168, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 75183, - "src": "9058:4:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 75167, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "9058:4:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "9057:6:129" - }, - "scope": 77611, - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "id": 75224, - "nodeType": "FunctionDefinition", - "src": "9346:377:129", - "nodes": [], - "body": { - "id": 75223, - "nodeType": "Block", - "src": "9405:318:129", - "nodes": [], - "statements": [ - { - "condition": { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 75193, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 75188, - "name": "_sender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75185, - "src": "9419:7:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "arguments": [ - { - "hexValue": "30", - "id": 75191, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9438:1:129", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 75190, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "9430:7:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 75189, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9430:7:129", - "typeDescriptions": {} - } - }, - "id": 75192, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "9430:10:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "9419:21:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 75198, - "nodeType": "IfStatement", - "src": "9415:77:129", - "trueBody": { - "id": 75197, - "nodeType": "Block", - "src": "9442:50:129", - "statements": [ - { - "errorCall": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 75194, - "name": "UserCannotBeZero", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74818, - "src": "9463:16:129", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 75195, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "9463:18:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 75196, - "nodeType": "RevertStatement", - "src": "9456:25:129" - } - ] - } - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 75207, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "arguments": [ - { - "id": 75201, - "name": "registryCommunity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75014, - "src": "9513:17:129", - "typeDescriptions": { - "typeIdentifier": "t_contract$_RegistryCommunity_$83082", - "typeString": "contract RegistryCommunity" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_RegistryCommunity_$83082", - "typeString": "contract RegistryCommunity" - } - ], - "id": 75200, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "9505:7:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 75199, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9505:7:129", - "typeDescriptions": {} - } - }, - "id": 75202, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "9505:26:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "arguments": [ - { - "hexValue": "30", - "id": 75205, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9543:1:129", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 75204, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "9535:7:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 75203, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9535:7:129", - "typeDescriptions": {} - } - }, - "id": 75206, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "9535:10:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "9505:40:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 75212, - "nodeType": "IfStatement", - "src": "9501:100:129", - "trueBody": { - "id": 75211, - "nodeType": "Block", - "src": "9547:54:129", - "statements": [ - { - "errorCall": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 75208, - "name": "RegistryCannotBeZero", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74838, - "src": "9568:20:129", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 75209, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "9568:22:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 75210, - "nodeType": "RevertStatement", - "src": "9561:29:129" - } - ] - } - }, - { - "condition": { - "id": 75217, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "9614:36:129", - "subExpression": { - "arguments": [ - { - "id": 75215, - "name": "_sender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75185, - "src": "9642:7:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "id": 75213, - "name": "registryCommunity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75014, - "src": "9615:17:129", - "typeDescriptions": { - "typeIdentifier": "t_contract$_RegistryCommunity_$83082", - "typeString": "contract RegistryCommunity" - } - }, - "id": 75214, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "9633:8:129", - "memberName": "isMember", - "nodeType": "MemberAccess", - "referencedDeclaration": 82663, - "src": "9615:26:129", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_bool_$", - "typeString": "function (address) view external returns (bool)" - } - }, - "id": 75216, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "9615:35:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 75222, - "nodeType": "IfStatement", - "src": "9610:93:129", - "trueBody": { - "id": 75221, - "nodeType": "Block", - "src": "9652:51:129", - "statements": [ - { - "errorCall": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 75218, - "name": "UserNotInRegistry", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74820, - "src": "9673:17:129", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 75219, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "9673:19:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 75220, - "nodeType": "RevertStatement", - "src": "9666:26:129" - } - ] - } - } - ] - }, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "checkSenderIsMember", - "nameLocation": "9355:19:129", - "parameters": { - "id": 75186, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 75185, - "mutability": "mutable", - "name": "_sender", - "nameLocation": "9383:7:129", - "nodeType": "VariableDeclaration", - "scope": 75224, - "src": "9375:15:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 75184, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9375:7:129", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "9374:17:129" - }, - "returnParameters": { - "id": 75187, - "nodeType": "ParameterList", - "parameters": [], - "src": "9405:0:129" - }, - "scope": 77611, - "stateMutability": "view", - "virtual": false, - "visibility": "private" - }, - { - "id": 75240, - "nodeType": "FunctionDefinition", - "src": "9729:162:129", - "nodes": [], - "body": { - "id": 75239, - "nodeType": "Block", - "src": "9775:116:129", - "nodes": [], - "statements": [ - { - "condition": { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 75233, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 75227, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "9789:3:129", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 75228, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "9793:6:129", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "9789:10:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "arguments": [ - { - "id": 75231, - "name": "registryCommunity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75014, - "src": "9811:17:129", - "typeDescriptions": { - "typeIdentifier": "t_contract$_RegistryCommunity_$83082", - "typeString": "contract RegistryCommunity" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_RegistryCommunity_$83082", - "typeString": "contract RegistryCommunity" - } - ], - "id": 75230, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "9803:7:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 75229, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9803:7:129", - "typeDescriptions": {} - } - }, - "id": 75232, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "9803:26:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "9789:40:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 75238, - "nodeType": "IfStatement", - "src": "9785:100:129", - "trueBody": { - "id": 75237, - "nodeType": "Block", - "src": "9831:54:129", - "statements": [ - { - "errorCall": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 75234, - "name": "OnlyCommunityAllowed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74878, - "src": "9852:20:129", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 75235, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "9852:22:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 75236, - "nodeType": "RevertStatement", - "src": "9845:29:129" - } - ] - } - } - ] - }, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "onlyRegistryCommunity", - "nameLocation": "9738:21:129", - "parameters": { - "id": 75225, - "nodeType": "ParameterList", - "parameters": [], - "src": "9759:2:129" - }, - "returnParameters": { - "id": 75226, - "nodeType": "ParameterList", - "parameters": [], - "src": "9775:0:129" - }, - "scope": 77611, - "stateMutability": "view", - "virtual": false, - "visibility": "private" - }, - { - "id": 75256, - "nodeType": "FunctionDefinition", - "src": "9897:133:129", - "nodes": [], - "body": { - "id": 75255, - "nodeType": "Block", - "src": "9957:73:129", - "nodes": [], - "statements": [ - { - "condition": { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 75250, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 75245, - "name": "_address", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75242, - "src": "9971:8:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "arguments": [ - { - "hexValue": "30", - "id": 75248, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9991:1:129", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 75247, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "9983:7:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 75246, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9983:7:129", - "typeDescriptions": {} - } - }, - "id": 75249, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "9983:10:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "9971:22:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 75254, - "nodeType": "IfStatement", - "src": "9967:56:129", - "trueBody": { - "errorCall": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 75251, - "name": "AddressCannotBeZero", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74836, - "src": "10002:19:129", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 75252, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "10002:21:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 75253, - "nodeType": "RevertStatement", - "src": "9995:28:129" - } - } - ] - }, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_revertZeroAddress", - "nameLocation": "9906:18:129", - "parameters": { - "id": 75243, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 75242, - "mutability": "mutable", - "name": "_address", - "nameLocation": "9933:8:129", - "nodeType": "VariableDeclaration", - "scope": 75256, - "src": "9925:16:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 75241, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9925:7:129", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "9924:18:129" - }, - "returnParameters": { - "id": 75244, - "nodeType": "ParameterList", - "parameters": [], - "src": "9957:0:129" - }, - "scope": 77611, - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "id": 75286, - "nodeType": "FunctionDefinition", - "src": "10036:230:129", - "nodes": [], - "body": { - "id": 75285, - "nodeType": "Block", - "src": "10107:159:129", - "nodes": [], - "statements": [ - { - "condition": { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 75271, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "arguments": [ - { - "id": 75265, - "name": "sybilScorer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75017, - "src": "10129:11:129", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ISybilScorer_$80667", - "typeString": "contract ISybilScorer" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_ISybilScorer_$80667", - "typeString": "contract ISybilScorer" - } - ], - "id": 75264, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "10121:7:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 75263, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10121:7:129", - "typeDescriptions": {} - } - }, - "id": 75266, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "10121:20:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "arguments": [ - { - "hexValue": "30", - "id": 75269, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10153:1:129", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 75268, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "10145:7:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 75267, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10145:7:129", - "typeDescriptions": {} - } - }, - "id": 75270, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "10145:10:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "10121:34:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 75275, - "nodeType": "IfStatement", - "src": "10117:76:129", - "trueBody": { - "id": 75274, - "nodeType": "Block", - "src": "10157:36:129", - "statements": [ - { - "expression": { - "hexValue": "74727565", - "id": 75272, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10178:4:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 75262, - "id": 75273, - "nodeType": "Return", - "src": "10171:11:129" - } - ] - } - }, - { - "expression": { - "arguments": [ - { - "id": 75278, - "name": "_user", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75258, - "src": "10238:5:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "arguments": [ - { - "id": 75281, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "10253:4:129", - "typeDescriptions": { - "typeIdentifier": "t_contract$_CVStrategy_$77611", - "typeString": "contract CVStrategy" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_CVStrategy_$77611", - "typeString": "contract CVStrategy" - } - ], - "id": 75280, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "10245:7:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 75279, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10245:7:129", - "typeDescriptions": {} - } - }, - "id": 75282, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "10245:13:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "id": 75276, - "name": "sybilScorer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75017, - "src": "10209:11:129", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ISybilScorer_$80667", - "typeString": "contract ISybilScorer" - } - }, - "id": 75277, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "10221:16:129", - "memberName": "canExecuteAction", - "nodeType": "MemberAccess", - "referencedDeclaration": 80624, - "src": "10209:28:129", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$_t_address_$returns$_t_bool_$", - "typeString": "function (address,address) view external returns (bool)" - } - }, - "id": 75283, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "10209:50:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 75262, - "id": 75284, - "nodeType": "Return", - "src": "10202:57:129" - } - ] - }, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_canExecuteAction", - "nameLocation": "10045:17:129", - "parameters": { - "id": 75259, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 75258, - "mutability": "mutable", - "name": "_user", - "nameLocation": "10071:5:129", - "nodeType": "VariableDeclaration", - "scope": 75286, - "src": "10063:13:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 75257, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10063:7:129", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "10062:15:129" - }, - "returnParameters": { - "id": 75262, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 75261, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 75286, - "src": "10101:4:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 75260, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "10101:4:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "10100:6:129" - }, - "scope": 77611, - "stateMutability": "view", - "virtual": false, - "visibility": "internal" - }, - { - "id": 75470, - "nodeType": "FunctionDefinition", - "src": "10592:2045:129", - "nodes": [], - "body": { - "id": 75469, - "nodeType": "Block", - "src": "10693:1944:129", - "nodes": [], - "statements": [ - { - "condition": { - "id": 75299, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "10707:27:129", - "subExpression": { - "arguments": [ - { - "id": 75297, - "name": "_sender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75290, - "src": "10726:7:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 75296, - "name": "_canExecuteAction", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75286, - "src": "10708:17:129", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", - "typeString": "function (address) view returns (bool)" - } - }, - "id": 75298, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "10708:26:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 75304, - "nodeType": "IfStatement", - "src": "10703:90:129", - "trueBody": { - "id": 75303, - "nodeType": "Block", - "src": "10736:57:129", - "statements": [ - { - "errorCall": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 75300, - "name": "UserCannotExecuteAction", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74890, - "src": "10757:23:129", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 75301, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "10757:25:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 75302, - "nodeType": "RevertStatement", - "src": "10750:32:129" - } - ] - } - }, - { - "expression": { - "id": 75305, - "name": "_data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75288, - "src": "10847:5:129", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 75306, - "nodeType": "ExpressionStatement", - "src": "10847:5:129" - }, - { - "assignments": [ - 75311 - ], - "declarations": [ - { - "constant": false, - "id": 75311, - "mutability": "mutable", - "name": "proposal", - "nameLocation": "10899:8:129", - "nodeType": "VariableDeclaration", - "scope": 75469, - "src": "10862:45:129", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_CreateProposal_$74743_memory_ptr", - "typeString": "struct StrategyStruct.CreateProposal" - }, - "typeName": { - "id": 75310, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 75309, - "name": "StrategyStruct.CreateProposal", - "nameLocations": [ - "10862:14:129", - "10877:14:129" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 74743, - "src": "10862:29:129" - }, - "referencedDeclaration": 74743, - "src": "10862:29:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_CreateProposal_$74743_storage_ptr", - "typeString": "struct StrategyStruct.CreateProposal" - } - }, - "visibility": "internal" - } - ], - "id": 75319, - "initialValue": { - "arguments": [ - { - "id": 75314, - "name": "_data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75288, - "src": "10921:5:129", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "components": [ - { - "expression": { - "id": 75315, - "name": "StrategyStruct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74807, - "src": "10929:14:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_StrategyStruct_$74807_$", - "typeString": "type(library StrategyStruct)" - } - }, - "id": 75316, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "10944:14:129", - "memberName": "CreateProposal", - "nodeType": "MemberAccess", - "referencedDeclaration": 74743, - "src": "10929:29:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_CreateProposal_$74743_storage_ptr_$", - "typeString": "type(struct StrategyStruct.CreateProposal storage pointer)" - } - } - ], - "id": 75317, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "10928:31:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_CreateProposal_$74743_storage_ptr_$", - "typeString": "type(struct StrategyStruct.CreateProposal storage pointer)" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_type$_t_struct$_CreateProposal_$74743_storage_ptr_$", - "typeString": "type(struct StrategyStruct.CreateProposal storage pointer)" - } - ], - "expression": { - "id": 75312, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "10910:3:129", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 75313, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "10914:6:129", - "memberName": "decode", - "nodeType": "MemberAccess", - "src": "10910:10:129", - "typeDescriptions": { - "typeIdentifier": "t_function_abidecode_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 75318, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "10910:50:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_struct$_CreateProposal_$74743_memory_ptr", - "typeString": "struct StrategyStruct.CreateProposal memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "10862:98:129" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 75323, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 75320, - "name": "proposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75311, - "src": "11075:8:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_CreateProposal_$74743_memory_ptr", - "typeString": "struct StrategyStruct.CreateProposal memory" - } - }, - "id": 75321, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "11084:6:129", - "memberName": "poolId", - "nodeType": "MemberAccess", - "referencedDeclaration": 74733, - "src": "11075:15:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "hexValue": "30", - "id": 75322, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11094:1:129", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "11075:20:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 75328, - "nodeType": "IfStatement", - "src": "11071:78:129", - "trueBody": { - "id": 75327, - "nodeType": "Block", - "src": "11097:52:129", - "statements": [ - { - "errorCall": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 75324, - "name": "PoolIdCannotBeZero", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74834, - "src": "11118:18:129", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 75325, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "11118:20:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 75326, - "nodeType": "RevertStatement", - "src": "11111:27:129" - } - ] - } - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_enum$_ProposalType_$74726", - "typeString": "enum StrategyStruct.ProposalType" - }, - "id": 75333, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 75329, - "name": "proposalType", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75005, - "src": "11225:12:129", - "typeDescriptions": { - "typeIdentifier": "t_enum$_ProposalType_$74726", - "typeString": "enum StrategyStruct.ProposalType" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "expression": { - "expression": { - "id": 75330, - "name": "StrategyStruct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74807, - "src": "11241:14:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_StrategyStruct_$74807_$", - "typeString": "type(library StrategyStruct)" - } - }, - "id": 75331, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "11256:12:129", - "memberName": "ProposalType", - "nodeType": "MemberAccess", - "referencedDeclaration": 74726, - "src": "11241:27:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_ProposalType_$74726_$", - "typeString": "type(enum StrategyStruct.ProposalType)" - } - }, - "id": 75332, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "11269:7:129", - "memberName": "Funding", - "nodeType": "MemberAccess", - "referencedDeclaration": 74724, - "src": "11241:35:129", - "typeDescriptions": { - "typeIdentifier": "t_enum$_ProposalType_$74726", - "typeString": "enum StrategyStruct.ProposalType" - } - }, - "src": "11225:51:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 75380, - "nodeType": "IfStatement", - "src": "11221:722:129", - "trueBody": { - "id": 75379, - "nodeType": "Block", - "src": "11278:665:129", - "statements": [ - { - "expression": { - "arguments": [ - { - "expression": { - "id": 75335, - "name": "proposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75311, - "src": "11311:8:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_CreateProposal_$74743_memory_ptr", - "typeString": "struct StrategyStruct.CreateProposal memory" - } - }, - "id": 75336, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "11320:11:129", - "memberName": "beneficiary", - "nodeType": "MemberAccess", - "referencedDeclaration": 74735, - "src": "11311:20:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 75334, - "name": "_revertZeroAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75256, - "src": "11292:18:129", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_address_$returns$__$", - "typeString": "function (address) pure" - } - }, - "id": 75337, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "11292:40:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 75338, - "nodeType": "ExpressionStatement", - "src": "11292:40:129" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 75345, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 75339, - "name": "proposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75311, - "src": "11398:8:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_CreateProposal_$74743_memory_ptr", - "typeString": "struct StrategyStruct.CreateProposal memory" - } - }, - "id": 75340, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "11407:14:129", - "memberName": "requestedToken", - "nodeType": "MemberAccess", - "referencedDeclaration": 74739, - "src": "11398:23:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "arguments": [ - { - "hexValue": "30", - "id": 75343, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11433:1:129", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 75342, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "11425:7:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 75341, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "11425:7:129", - "typeDescriptions": {} - } - }, - "id": 75344, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "11425:10:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "11398:37:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 75350, - "nodeType": "IfStatement", - "src": "11394:102:129", - "trueBody": { - "id": 75349, - "nodeType": "Block", - "src": "11437:59:129", - "statements": [ - { - "errorCall": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 75346, - "name": "TokenCannotBeZero", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74828, - "src": "11462:17:129", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 75347, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "11462:19:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 75348, - "nodeType": "RevertStatement", - "src": "11455:26:129" - } - ] - } - }, - { - "assignments": [ - 75352 - ], - "declarations": [ - { - "constant": false, - "id": 75352, - "mutability": "mutable", - "name": "poolToken", - "nameLocation": "11517:9:129", - "nodeType": "VariableDeclaration", - "scope": 75379, - "src": "11509:17:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 75351, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "11509:7:129", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "id": 75360, - "initialValue": { - "expression": { - "arguments": [ - { - "id": 75357, - "name": "poolId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3341, - "src": "11552:6:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "id": 75353, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "11529:4:129", - "typeDescriptions": { - "typeIdentifier": "t_contract$_CVStrategy_$77611", - "typeString": "contract CVStrategy" - } - }, - "id": 75354, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "11534:7:129", - "memberName": "getAllo", - "nodeType": "MemberAccess", - "referencedDeclaration": 3421, - "src": "11529:12:129", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_contract$_IAllo_$2610_$", - "typeString": "function () view external returns (contract IAllo)" - } - }, - "id": 75355, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "11529:14:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IAllo_$2610", - "typeString": "contract IAllo" - } - }, - "id": 75356, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "11544:7:129", - "memberName": "getPool", - "nodeType": "MemberAccess", - "referencedDeclaration": 2603, - "src": "11529:22:129", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_struct$_Pool_$2319_memory_ptr_$", - "typeString": "function (uint256) view external returns (struct IAllo.Pool memory)" - } - }, - "id": 75358, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "11529:30:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pool_$2319_memory_ptr", - "typeString": "struct IAllo.Pool memory" - } - }, - "id": 75359, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "11560:5:129", - "memberName": "token", - "nodeType": "MemberAccess", - "referencedDeclaration": 2311, - "src": "11529:36:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "11509:56:129" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 75364, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 75361, - "name": "proposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75311, - "src": "11583:8:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_CreateProposal_$74743_memory_ptr", - "typeString": "struct StrategyStruct.CreateProposal memory" - } - }, - "id": 75362, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "11592:14:129", - "memberName": "requestedToken", - "nodeType": "MemberAccess", - "referencedDeclaration": 74739, - "src": "11583:23:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "id": 75363, - "name": "poolToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75352, - "src": "11610:9:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "11583:36:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 75369, - "nodeType": "IfStatement", - "src": "11579:234:129", - "trueBody": { - "id": 75368, - "nodeType": "Block", - "src": "11621:192:129", - "statements": [ - { - "errorCall": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 75365, - "name": "TokenNotAllowed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74830, - "src": "11781:15:129", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 75366, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "11781:17:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 75367, - "nodeType": "RevertStatement", - "src": "11774:24:129" - } - ] - } - }, - { - "condition": { - "arguments": [ - { - "expression": { - "id": 75371, - "name": "proposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75311, - "src": "11846:8:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_CreateProposal_$74743_memory_ptr", - "typeString": "struct StrategyStruct.CreateProposal memory" - } - }, - "id": 75372, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "11855:15:129", - "memberName": "amountRequested", - "nodeType": "MemberAccess", - "referencedDeclaration": 74737, - "src": "11846:24:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 75370, - "name": "_isOverMaxRatio", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76674, - "src": "11830:15:129", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) view returns (bool)" - } - }, - "id": 75373, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "11830:41:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 75378, - "nodeType": "IfStatement", - "src": "11826:107:129", - "trueBody": { - "id": 75377, - "nodeType": "Block", - "src": "11873:60:129", - "statements": [ - { - "errorCall": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 75374, - "name": "AmountOverMaxRatio", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74832, - "src": "11898:18:129", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 75375, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "11898:20:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 75376, - "nodeType": "RevertStatement", - "src": "11891:27:129" - } - ] - } - } - ] - } - }, - { - "assignments": [ - 75382 - ], - "declarations": [ - { - "constant": false, - "id": 75382, - "mutability": "mutable", - "name": "proposalId", - "nameLocation": "11960:10:129", - "nodeType": "VariableDeclaration", - "scope": 75469, - "src": "11952:18:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 75381, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11952:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 75385, - "initialValue": { - "id": 75384, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": true, - "src": "11973:17:129", - "subExpression": { - "id": 75383, - "name": "proposalCounter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74993, - "src": "11975:15:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "11952:38:129" - }, - { - "assignments": [ - 75390 - ], - "declarations": [ - { - "constant": false, - "id": 75390, - "mutability": "mutable", - "name": "p", - "nameLocation": "12032:1:129", - "nodeType": "VariableDeclaration", - "scope": 75469, - "src": "12000:33:129", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal" - }, - "typeName": { - "id": 75389, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 75388, - "name": "StrategyStruct.Proposal", - "nameLocations": [ - "12000:14:129", - "12015:8:129" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 74776, - "src": "12000:23:129" - }, - "referencedDeclaration": 74776, - "src": "12000:23:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal" - } - }, - "visibility": "internal" - } - ], - "id": 75394, - "initialValue": { - "baseExpression": { - "id": 75391, - "name": "proposals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75022, - "src": "12036:9:129", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Proposal_$74776_storage_$", - "typeString": "mapping(uint256 => struct StrategyStruct.Proposal storage ref)" - } - }, - "id": 75393, - "indexExpression": { - "id": 75392, - "name": "proposalId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75382, - "src": "12046:10:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "12036:21:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage", - "typeString": "struct StrategyStruct.Proposal storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "12000:57:129" - }, - { - "expression": { - "id": 75399, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "expression": { - "id": 75395, - "name": "p", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75390, - "src": "12068:1:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal storage pointer" - } - }, - "id": 75397, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberLocation": "12070:10:129", - "memberName": "proposalId", - "nodeType": "MemberAccess", - "referencedDeclaration": 74751, - "src": "12068:12:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 75398, - "name": "proposalId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75382, - "src": "12083:10:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "12068:25:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 75400, - "nodeType": "ExpressionStatement", - "src": "12068:25:129" - }, - { - "expression": { - "id": 75405, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "expression": { - "id": 75401, - "name": "p", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75390, - "src": "12103:1:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal storage pointer" - } - }, - "id": 75403, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberLocation": "12105:9:129", - "memberName": "submitter", - "nodeType": "MemberAccess", - "referencedDeclaration": 74761, - "src": "12103:11:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 75404, - "name": "_sender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75290, - "src": "12117:7:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "12103:21:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 75406, - "nodeType": "ExpressionStatement", - "src": "12103:21:129" - }, - { - "expression": { - "id": 75412, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "expression": { - "id": 75407, - "name": "p", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75390, - "src": "12134:1:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal storage pointer" - } - }, - "id": 75409, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberLocation": "12136:11:129", - "memberName": "beneficiary", - "nodeType": "MemberAccess", - "referencedDeclaration": 74759, - "src": "12134:13:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "expression": { - "id": 75410, - "name": "proposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75311, - "src": "12150:8:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_CreateProposal_$74743_memory_ptr", - "typeString": "struct StrategyStruct.CreateProposal memory" - } - }, - "id": 75411, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "12159:11:129", - "memberName": "beneficiary", - "nodeType": "MemberAccess", - "referencedDeclaration": 74735, - "src": "12150:20:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "12134:36:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 75413, - "nodeType": "ExpressionStatement", - "src": "12134:36:129" - }, - { - "expression": { - "id": 75419, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "expression": { - "id": 75414, - "name": "p", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75390, - "src": "12180:1:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal storage pointer" - } - }, - "id": 75416, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberLocation": "12182:14:129", - "memberName": "requestedToken", - "nodeType": "MemberAccess", - "referencedDeclaration": 74763, - "src": "12180:16:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "expression": { - "id": 75417, - "name": "proposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75311, - "src": "12199:8:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_CreateProposal_$74743_memory_ptr", - "typeString": "struct StrategyStruct.CreateProposal memory" - } - }, - "id": 75418, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "12208:14:129", - "memberName": "requestedToken", - "nodeType": "MemberAccess", - "referencedDeclaration": 74739, - "src": "12199:23:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "12180:42:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 75420, - "nodeType": "ExpressionStatement", - "src": "12180:42:129" - }, - { - "expression": { - "id": 75426, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "expression": { - "id": 75421, - "name": "p", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75390, - "src": "12232:1:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal storage pointer" - } - }, - "id": 75423, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberLocation": "12234:15:129", - "memberName": "requestedAmount", - "nodeType": "MemberAccess", - "referencedDeclaration": 74753, - "src": "12232:17:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "expression": { - "id": 75424, - "name": "proposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75311, - "src": "12252:8:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_CreateProposal_$74743_memory_ptr", - "typeString": "struct StrategyStruct.CreateProposal memory" - } - }, - "id": 75425, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "12261:15:129", - "memberName": "amountRequested", - "nodeType": "MemberAccess", - "referencedDeclaration": 74737, - "src": "12252:24:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "12232:44:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 75427, - "nodeType": "ExpressionStatement", - "src": "12232:44:129" - }, - { - "expression": { - "id": 75434, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "expression": { - "id": 75428, - "name": "p", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75390, - "src": "12337:1:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal storage pointer" - } - }, - "id": 75430, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberLocation": "12339:14:129", - "memberName": "proposalStatus", - "nodeType": "MemberAccess", - "referencedDeclaration": 74768, - "src": "12337:16:129", - "typeDescriptions": { - "typeIdentifier": "t_enum$_ProposalStatus_$74749", - "typeString": "enum StrategyStruct.ProposalStatus" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "expression": { - "expression": { - "id": 75431, - "name": "StrategyStruct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74807, - "src": "12356:14:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_StrategyStruct_$74807_$", - "typeString": "type(library StrategyStruct)" - } - }, - "id": 75432, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "12371:14:129", - "memberName": "ProposalStatus", - "nodeType": "MemberAccess", - "referencedDeclaration": 74749, - "src": "12356:29:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_ProposalStatus_$74749_$", - "typeString": "type(enum StrategyStruct.ProposalStatus)" - } - }, - "id": 75433, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "12386:6:129", - "memberName": "Active", - "nodeType": "MemberAccess", - "referencedDeclaration": 74745, - "src": "12356:36:129", - "typeDescriptions": { - "typeIdentifier": "t_enum$_ProposalStatus_$74749", - "typeString": "enum StrategyStruct.ProposalStatus" - } - }, - "src": "12337:55:129", - "typeDescriptions": { - "typeIdentifier": "t_enum$_ProposalStatus_$74749", - "typeString": "enum StrategyStruct.ProposalStatus" - } - }, - "id": 75435, - "nodeType": "ExpressionStatement", - "src": "12337:55:129" - }, - { - "expression": { - "id": 75441, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "expression": { - "id": 75436, - "name": "p", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75390, - "src": "12402:1:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal storage pointer" - } - }, - "id": 75438, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberLocation": "12404:9:129", - "memberName": "blockLast", - "nodeType": "MemberAccess", - "referencedDeclaration": 74765, - "src": "12402:11:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "expression": { - "id": 75439, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "12416:5:129", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 75440, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "12422:6:129", - "memberName": "number", - "nodeType": "MemberAccess", - "src": "12416:12:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "12402:26:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 75442, - "nodeType": "ExpressionStatement", - "src": "12402:26:129" - }, - { - "expression": { - "id": 75447, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "expression": { - "id": 75443, - "name": "p", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75390, - "src": "12438:1:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal storage pointer" - } - }, - "id": 75445, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberLocation": "12440:14:129", - "memberName": "convictionLast", - "nodeType": "MemberAccess", - "referencedDeclaration": 74757, - "src": "12438:16:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "hexValue": "30", - "id": 75446, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12457:1:129", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "12438:20:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 75448, - "nodeType": "ExpressionStatement", - "src": "12438:20:129" - }, - { - "expression": { - "id": 75454, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "expression": { - "id": 75449, - "name": "p", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75390, - "src": "12504:1:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal storage pointer" - } - }, - "id": 75451, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberLocation": "12506:8:129", - "memberName": "metadata", - "nodeType": "MemberAccess", - "referencedDeclaration": 74775, - "src": "12504:10:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Metadata_$3098_storage", - "typeString": "struct Metadata storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "expression": { - "id": 75452, - "name": "proposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75311, - "src": "12517:8:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_CreateProposal_$74743_memory_ptr", - "typeString": "struct StrategyStruct.CreateProposal memory" - } - }, - "id": 75453, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "12526:8:129", - "memberName": "metadata", - "nodeType": "MemberAccess", - "referencedDeclaration": 74742, - "src": "12517:17:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Metadata_$3098_memory_ptr", - "typeString": "struct Metadata memory" - } - }, - "src": "12504:30:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Metadata_$3098_storage", - "typeString": "struct Metadata storage ref" - } - }, - "id": 75455, - "nodeType": "ExpressionStatement", - "src": "12504:30:129" - }, - { - "eventCall": { - "arguments": [ - { - "id": 75457, - "name": "poolId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3341, - "src": "12566:6:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 75458, - "name": "proposalId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75382, - "src": "12574:10:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 75456, - "name": "ProposalCreated", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74911, - "src": "12550:15:129", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (uint256,uint256)" - } - }, - "id": 75459, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "12550:35:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 75460, - "nodeType": "EmitStatement", - "src": "12545:40:129" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "id": 75465, - "name": "proposalId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75382, - "src": "12618:10:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 75464, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "12610:7:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint160_$", - "typeString": "type(uint160)" - }, - "typeName": { - "id": 75463, - "name": "uint160", - "nodeType": "ElementaryTypeName", - "src": "12610:7:129", - "typeDescriptions": {} - } - }, - "id": 75466, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "12610:19:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint160", - "typeString": "uint160" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint160", - "typeString": "uint160" - } - ], - "id": 75462, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "12602:7:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 75461, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12602:7:129", - "typeDescriptions": {} - } - }, - "id": 75467, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "12602:28:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "functionReturnParameters": 75295, - "id": 75468, - "nodeType": "Return", - "src": "12595:35:129" - } - ] - }, - "baseFunctions": [ - 3809 - ], - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_registerRecipient", - "nameLocation": "10601:18:129", - "overrides": { - "id": 75292, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "10666:8:129" - }, - "parameters": { - "id": 75291, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 75288, - "mutability": "mutable", - "name": "_data", - "nameLocation": "10633:5:129", - "nodeType": "VariableDeclaration", - "scope": 75470, - "src": "10620:18:129", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 75287, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "10620:5:129", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 75290, - "mutability": "mutable", - "name": "_sender", - "nameLocation": "10648:7:129", - "nodeType": "VariableDeclaration", - "scope": 75470, - "src": "10640:15:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 75289, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10640:7:129", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "10619:37:129" - }, - "returnParameters": { - "id": 75295, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 75294, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 75470, - "src": "10684:7:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 75293, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10684:7:129", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "10683:9:129" - }, - "scope": 77611, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "id": 75509, - "nodeType": "FunctionDefinition", - "src": "12643:351:129", - "nodes": [], - "body": { - "id": 75508, - "nodeType": "Block", - "src": "12678:316:129", - "nodes": [], - "statements": [ - { - "assignments": [ - 75474 - ], - "declarations": [ - { - "constant": false, - "id": 75474, - "mutability": "mutable", - "name": "member", - "nameLocation": "12696:6:129", - "nodeType": "VariableDeclaration", - "scope": 75508, - "src": "12688:14:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 75473, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12688:7:129", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "id": 75477, - "initialValue": { - "expression": { - "id": 75475, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "12705:3:129", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 75476, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "12709:6:129", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "12705:10:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "12688:27:129" - }, - { - "condition": { - "id": 75481, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "12729:26:129", - "subExpression": { - "arguments": [ - { - "id": 75479, - "name": "member", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75474, - "src": "12748:6:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 75478, - "name": "_canExecuteAction", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75286, - "src": "12730:17:129", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", - "typeString": "function (address) view returns (bool)" - } - }, - "id": 75480, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "12730:25:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 75486, - "nodeType": "IfStatement", - "src": "12725:89:129", - "trueBody": { - "id": 75485, - "nodeType": "Block", - "src": "12757:57:129", - "statements": [ - { - "errorCall": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 75482, - "name": "UserCannotExecuteAction", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74890, - "src": "12778:23:129", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 75483, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "12778:25:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 75484, - "nodeType": "RevertStatement", - "src": "12771:32:129" - } - ] - } - }, - { - "expression": { - "arguments": [ - { - "id": 75490, - "name": "member", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75474, - "src": "12866:6:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "arguments": [ - { - "id": 75493, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "12882:4:129", - "typeDescriptions": { - "typeIdentifier": "t_contract$_CVStrategy_$77611", - "typeString": "contract CVStrategy" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_CVStrategy_$77611", - "typeString": "contract CVStrategy" - } - ], - "id": 75492, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "12874:7:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 75491, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12874:7:129", - "typeDescriptions": {} - } - }, - "id": 75494, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "12874:13:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "id": 75487, - "name": "registryCommunity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75014, - "src": "12823:17:129", - "typeDescriptions": { - "typeIdentifier": "t_contract$_RegistryCommunity_$83082", - "typeString": "contract RegistryCommunity" - } - }, - "id": 75489, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "12841:24:129", - "memberName": "activateMemberInStrategy", - "nodeType": "MemberAccess", - "referencedDeclaration": 82041, - "src": "12823:42:129", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$returns$__$", - "typeString": "function (address,address) external" - } - }, - "id": 75495, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "12823:65:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 75496, - "nodeType": "ExpressionStatement", - "src": "12823:65:129" - }, - { - "expression": { - "id": 75506, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 75497, - "name": "totalPointsActivated", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74997, - "src": "12898:20:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "arguments": [ - { - "id": 75500, - "name": "member", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75474, - "src": "12965:6:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "arguments": [ - { - "id": 75503, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "12981:4:129", - "typeDescriptions": { - "typeIdentifier": "t_contract$_CVStrategy_$77611", - "typeString": "contract CVStrategy" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_CVStrategy_$77611", - "typeString": "contract CVStrategy" - } - ], - "id": 75502, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "12973:7:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 75501, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12973:7:129", - "typeDescriptions": {} - } - }, - "id": 75504, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "12973:13:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "id": 75498, - "name": "registryCommunity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75014, - "src": "12922:17:129", - "typeDescriptions": { - "typeIdentifier": "t_contract$_RegistryCommunity_$83082", - "typeString": "contract RegistryCommunity" - } - }, - "id": 75499, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "12940:24:129", - "memberName": "getMemberPowerInStrategy", - "nodeType": "MemberAccess", - "referencedDeclaration": 82423, - "src": "12922:42:129", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$", - "typeString": "function (address,address) view external returns (uint256)" - } - }, - "id": 75505, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "12922:65:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "12898:89:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 75507, - "nodeType": "ExpressionStatement", - "src": "12898:89:129" - } - ] - }, - "functionSelector": "814516ad", - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "activatePoints", - "nameLocation": "12652:14:129", - "parameters": { - "id": 75471, - "nodeType": "ParameterList", - "parameters": [], - "src": "12666:2:129" - }, - "returnParameters": { - "id": 75472, - "nodeType": "ParameterList", - "parameters": [], - "src": "12678:0:129" - }, - "scope": 77611, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "id": 75518, - "nodeType": "FunctionDefinition", - "src": "13000:81:129", - "nodes": [], - "body": { - "id": 75517, - "nodeType": "Block", - "src": "13035:46:129", - "nodes": [], - "statements": [ - { - "expression": { - "arguments": [ - { - "expression": { - "id": 75513, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "13063:3:129", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 75514, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "13067:6:129", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "13063:10:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 75512, - "name": "_deactivatePoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75566, - "src": "13045:17:129", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", - "typeString": "function (address)" - } - }, - "id": 75515, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "13045:29:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 75516, - "nodeType": "ExpressionStatement", - "src": "13045:29:129" - } - ] - }, - "functionSelector": "1ddf1e23", - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "deactivatePoints", - "nameLocation": "13009:16:129", - "parameters": { - "id": 75510, - "nodeType": "ParameterList", - "parameters": [], - "src": "13025:2:129" - }, - "returnParameters": { - "id": 75511, - "nodeType": "ParameterList", - "parameters": [], - "src": "13035:0:129" - }, - "scope": 77611, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "id": 75531, - "nodeType": "FunctionDefinition", - "src": "13087:128:129", - "nodes": [], - "body": { - "id": 75530, - "nodeType": "Block", - "src": "13139:76:129", - "nodes": [], - "statements": [ - { - "expression": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 75523, - "name": "onlyRegistryCommunity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75240, - "src": "13149:21:129", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$__$", - "typeString": "function () view" - } - }, - "id": 75524, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "13149:23:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 75525, - "nodeType": "ExpressionStatement", - "src": "13149:23:129" - }, - { - "expression": { - "arguments": [ - { - "id": 75527, - "name": "_member", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75520, - "src": "13200:7:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 75526, - "name": "_deactivatePoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75566, - "src": "13182:17:129", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", - "typeString": "function (address)" - } - }, - "id": 75528, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "13182:26:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 75529, - "nodeType": "ExpressionStatement", - "src": "13182:26:129" - } - ] - }, - "baseFunctions": [ - 74697 - ], - "functionSelector": "6453d9c4", - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "deactivatePoints", - "nameLocation": "13096:16:129", - "parameters": { - "id": 75521, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 75520, - "mutability": "mutable", - "name": "_member", - "nameLocation": "13121:7:129", - "nodeType": "VariableDeclaration", - "scope": 75531, - "src": "13113:15:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 75519, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "13113:7:129", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "13112:17:129" - }, - "returnParameters": { - "id": 75522, - "nodeType": "ParameterList", - "parameters": [], - "src": "13139:0:129" - }, - "scope": 77611, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "id": 75566, - "nodeType": "FunctionDefinition", - "src": "13221:351:129", - "nodes": [], - "body": { - "id": 75565, - "nodeType": "Block", - "src": "13274:298:129", - "nodes": [], - "statements": [ - { - "expression": { - "id": 75545, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 75536, - "name": "totalPointsActivated", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74997, - "src": "13284:20:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "-=", - "rightHandSide": { - "arguments": [ - { - "id": 75539, - "name": "_member", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75533, - "src": "13351:7:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "arguments": [ - { - "id": 75542, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "13368:4:129", - "typeDescriptions": { - "typeIdentifier": "t_contract$_CVStrategy_$77611", - "typeString": "contract CVStrategy" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_CVStrategy_$77611", - "typeString": "contract CVStrategy" - } - ], - "id": 75541, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "13360:7:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 75540, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "13360:7:129", - "typeDescriptions": {} - } - }, - "id": 75543, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "13360:13:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "id": 75537, - "name": "registryCommunity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75014, - "src": "13308:17:129", - "typeDescriptions": { - "typeIdentifier": "t_contract$_RegistryCommunity_$83082", - "typeString": "contract RegistryCommunity" - } - }, - "id": 75538, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "13326:24:129", - "memberName": "getMemberPowerInStrategy", - "nodeType": "MemberAccess", - "referencedDeclaration": 82423, - "src": "13308:42:129", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$", - "typeString": "function (address,address) view external returns (uint256)" - } - }, - "id": 75544, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "13308:66:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "13284:90:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 75546, - "nodeType": "ExpressionStatement", - "src": "13284:90:129" - }, - { - "expression": { - "arguments": [ - { - "id": 75550, - "name": "_member", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75533, - "src": "13429:7:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "arguments": [ - { - "id": 75553, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "13446:4:129", - "typeDescriptions": { - "typeIdentifier": "t_contract$_CVStrategy_$77611", - "typeString": "contract CVStrategy" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_CVStrategy_$77611", - "typeString": "contract CVStrategy" - } - ], - "id": 75552, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "13438:7:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 75551, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "13438:7:129", - "typeDescriptions": {} - } - }, - "id": 75554, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "13438:13:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "id": 75547, - "name": "registryCommunity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75014, - "src": "13384:17:129", - "typeDescriptions": { - "typeIdentifier": "t_contract$_RegistryCommunity_$83082", - "typeString": "contract RegistryCommunity" - } - }, - "id": 75549, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "13402:26:129", - "memberName": "deactivateMemberInStrategy", - "nodeType": "MemberAccess", - "referencedDeclaration": 82100, - "src": "13384:44:129", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$returns$__$", - "typeString": "function (address,address) external" - } - }, - "id": 75555, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "13384:68:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 75556, - "nodeType": "ExpressionStatement", - "src": "13384:68:129" - }, - { - "expression": { - "arguments": [ - { - "id": 75558, - "name": "_member", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75533, - "src": "13516:7:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 75557, - "name": "withdraw", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76468, - "src": "13507:8:129", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", - "typeString": "function (address)" - } - }, - "id": 75559, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "13507:17:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 75560, - "nodeType": "ExpressionStatement", - "src": "13507:17:129" - }, - { - "eventCall": { - "arguments": [ - { - "id": 75562, - "name": "_member", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75533, - "src": "13557:7:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 75561, - "name": "PointsDeactivated", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74947, - "src": "13539:17:129", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$", - "typeString": "function (address)" - } - }, - "id": 75563, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "13539:26:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 75564, - "nodeType": "EmitStatement", - "src": "13534:31:129" - } - ] - }, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_deactivatePoints", - "nameLocation": "13230:17:129", - "parameters": { - "id": 75534, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 75533, - "mutability": "mutable", - "name": "_member", - "nameLocation": "13256:7:129", - "nodeType": "VariableDeclaration", - "scope": 75566, - "src": "13248:15:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 75532, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "13248:7:129", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "13247:17:129" - }, - "returnParameters": { - "id": 75535, - "nodeType": "ParameterList", - "parameters": [], - "src": "13274:0:129" - }, - "scope": 77611, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "id": 75659, - "nodeType": "FunctionDefinition", - "src": "13578:1012:129", - "nodes": [], - "body": { - "id": 75658, - "nodeType": "Block", - "src": "13669:921:129", - "nodes": [], - "statements": [ - { - "expression": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 75575, - "name": "onlyRegistryCommunity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75240, - "src": "13679:21:129", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$__$", - "typeString": "function () view" - } - }, - "id": 75576, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "13679:23:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 75577, - "nodeType": "ExpressionStatement", - "src": "13679:23:129" - }, - { - "condition": { - "id": 75581, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "13716:27:129", - "subExpression": { - "arguments": [ - { - "id": 75579, - "name": "_member", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75568, - "src": "13735:7:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 75578, - "name": "_canExecuteAction", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75286, - "src": "13717:17:129", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", - "typeString": "function (address) view returns (bool)" - } - }, - "id": 75580, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "13717:26:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 75586, - "nodeType": "IfStatement", - "src": "13712:90:129", - "trueBody": { - "id": 75585, - "nodeType": "Block", - "src": "13745:57:129", - "statements": [ - { - "errorCall": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 75582, - "name": "UserCannotExecuteAction", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74890, - "src": "13766:23:129", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 75583, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "13766:25:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 75584, - "nodeType": "RevertStatement", - "src": "13759:32:129" - } - ] - } - }, - { - "assignments": [ - 75588 - ], - "declarations": [ - { - "constant": false, - "id": 75588, - "mutability": "mutable", - "name": "pointsToIncrease", - "nameLocation": "13819:16:129", - "nodeType": "VariableDeclaration", - "scope": 75658, - "src": "13811:24:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 75587, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13811:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 75590, - "initialValue": { - "hexValue": "30", - "id": 75589, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13838:1:129", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "13811:28:129" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_enum$_PointSystem_$74731", - "typeString": "enum StrategyStruct.PointSystem" - }, - "id": 75595, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 75591, - "name": "pointSystem", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75008, - "src": "13853:11:129", - "typeDescriptions": { - "typeIdentifier": "t_enum$_PointSystem_$74731", - "typeString": "enum StrategyStruct.PointSystem" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "expression": { - "expression": { - "id": 75592, - "name": "StrategyStruct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74807, - "src": "13868:14:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_StrategyStruct_$74807_$", - "typeString": "type(library StrategyStruct)" - } - }, - "id": 75593, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "13883:11:129", - "memberName": "PointSystem", - "nodeType": "MemberAccess", - "referencedDeclaration": 74731, - "src": "13868:26:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_PointSystem_$74731_$", - "typeString": "type(enum StrategyStruct.PointSystem)" - } - }, - "id": 75594, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "13895:9:129", - "memberName": "Unlimited", - "nodeType": "MemberAccess", - "referencedDeclaration": 74729, - "src": "13868:36:129", - "typeDescriptions": { - "typeIdentifier": "t_enum$_PointSystem_$74731", - "typeString": "enum StrategyStruct.PointSystem" - } - }, - "src": "13853:51:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "condition": { - "commonType": { - "typeIdentifier": "t_enum$_PointSystem_$74731", - "typeString": "enum StrategyStruct.PointSystem" - }, - "id": 75607, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 75603, - "name": "pointSystem", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75008, - "src": "13998:11:129", - "typeDescriptions": { - "typeIdentifier": "t_enum$_PointSystem_$74731", - "typeString": "enum StrategyStruct.PointSystem" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "expression": { - "expression": { - "id": 75604, - "name": "StrategyStruct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74807, - "src": "14013:14:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_StrategyStruct_$74807_$", - "typeString": "type(library StrategyStruct)" - } - }, - "id": 75605, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "14028:11:129", - "memberName": "PointSystem", - "nodeType": "MemberAccess", - "referencedDeclaration": 74731, - "src": "14013:26:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_PointSystem_$74731_$", - "typeString": "type(enum StrategyStruct.PointSystem)" - } - }, - "id": 75606, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "14040:6:129", - "memberName": "Capped", - "nodeType": "MemberAccess", - "referencedDeclaration": 74728, - "src": "14013:33:129", - "typeDescriptions": { - "typeIdentifier": "t_enum$_PointSystem_$74731", - "typeString": "enum StrategyStruct.PointSystem" - } - }, - "src": "13998:48:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "condition": { - "commonType": { - "typeIdentifier": "t_enum$_PointSystem_$74731", - "typeString": "enum StrategyStruct.PointSystem" - }, - "id": 75620, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 75616, - "name": "pointSystem", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75008, - "src": "14146:11:129", - "typeDescriptions": { - "typeIdentifier": "t_enum$_PointSystem_$74731", - "typeString": "enum StrategyStruct.PointSystem" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "expression": { - "expression": { - "id": 75617, - "name": "StrategyStruct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74807, - "src": "14161:14:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_StrategyStruct_$74807_$", - "typeString": "type(library StrategyStruct)" - } - }, - "id": 75618, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "14176:11:129", - "memberName": "PointSystem", - "nodeType": "MemberAccess", - "referencedDeclaration": 74731, - "src": "14161:26:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_PointSystem_$74731_$", - "typeString": "type(enum StrategyStruct.PointSystem)" - } - }, - "id": 75619, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "14188:9:129", - "memberName": "Quadratic", - "nodeType": "MemberAccess", - "referencedDeclaration": 74730, - "src": "14161:36:129", - "typeDescriptions": { - "typeIdentifier": "t_enum$_PointSystem_$74731", - "typeString": "enum StrategyStruct.PointSystem" - } - }, - "src": "14146:51:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 75629, - "nodeType": "IfStatement", - "src": "14142:148:129", - "trueBody": { - "id": 75628, - "nodeType": "Block", - "src": "14199:91:129", - "statements": [ - { - "expression": { - "id": 75626, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 75621, - "name": "pointsToIncrease", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75588, - "src": "14213:16:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "id": 75623, - "name": "_member", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75568, - "src": "14255:7:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 75624, - "name": "_amountToStake", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75570, - "src": "14264:14:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 75622, - "name": "increasePowerQuadratic", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75872, - "src": "14232:22:129", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (address,uint256) view returns (uint256)" - } - }, - "id": 75625, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "14232:47:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "14213:66:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 75627, - "nodeType": "ExpressionStatement", - "src": "14213:66:129" - } - ] - } - }, - "id": 75630, - "nodeType": "IfStatement", - "src": "13994:296:129", - "trueBody": { - "id": 75615, - "nodeType": "Block", - "src": "14048:88:129", - "statements": [ - { - "expression": { - "id": 75613, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 75608, - "name": "pointsToIncrease", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75588, - "src": "14062:16:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "id": 75610, - "name": "_member", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75568, - "src": "14101:7:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 75611, - "name": "_amountToStake", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75570, - "src": "14110:14:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 75609, - "name": "increasePowerCapped", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75788, - "src": "14081:19:129", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (address,uint256) view returns (uint256)" - } - }, - "id": 75612, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "14081:44:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "14062:63:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 75614, - "nodeType": "ExpressionStatement", - "src": "14062:63:129" - } - ] - } - }, - "id": 75631, - "nodeType": "IfStatement", - "src": "13849:441:129", - "trueBody": { - "id": 75602, - "nodeType": "Block", - "src": "13906:82:129", - "statements": [ - { - "expression": { - "id": 75600, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 75596, - "name": "pointsToIncrease", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75588, - "src": "13920:16:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "id": 75598, - "name": "_amountToStake", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75570, - "src": "13962:14:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 75597, - "name": "increasePowerUnlimited", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75725, - "src": "13939:22:129", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - } - }, - "id": 75599, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "13939:38:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "13920:57:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 75601, - "nodeType": "ExpressionStatement", - "src": "13920:57:129" - } - ] - } - }, - { - "assignments": [ - 75633 - ], - "declarations": [ - { - "constant": false, - "id": 75633, - "mutability": "mutable", - "name": "isActivated", - "nameLocation": "14304:11:129", - "nodeType": "VariableDeclaration", - "scope": 75658, - "src": "14299:16:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 75632, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "14299:4:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "id": 75642, - "initialValue": { - "arguments": [ - { - "id": 75636, - "name": "_member", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75568, - "src": "14364:7:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "arguments": [ - { - "id": 75639, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "14381:4:129", - "typeDescriptions": { - "typeIdentifier": "t_contract$_CVStrategy_$77611", - "typeString": "contract CVStrategy" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_CVStrategy_$77611", - "typeString": "contract CVStrategy" - } - ], - "id": 75638, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "14373:7:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 75637, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "14373:7:129", - "typeDescriptions": {} - } - }, - "id": 75640, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "14373:13:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "id": 75634, - "name": "registryCommunity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75014, - "src": "14318:17:129", - "typeDescriptions": { - "typeIdentifier": "t_contract$_RegistryCommunity_$83082", - "typeString": "contract RegistryCommunity" - } - }, - "id": 75635, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "14336:27:129", - "memberName": "memberActivatedInStrategies", - "nodeType": "MemberAccess", - "referencedDeclaration": 81575, - "src": "14318:45:129", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$_t_address_$returns$_t_bool_$", - "typeString": "function (address,address) view external returns (bool)" - } - }, - "id": 75641, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "14318:69:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "14299:88:129" - }, - { - "condition": { - "id": 75643, - "name": "isActivated", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75633, - "src": "14401:11:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 75649, - "nodeType": "IfStatement", - "src": "14397:82:129", - "trueBody": { - "id": 75648, - "nodeType": "Block", - "src": "14414:65:129", - "statements": [ - { - "expression": { - "id": 75646, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 75644, - "name": "totalPointsActivated", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74997, - "src": "14428:20:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "id": 75645, - "name": "pointsToIncrease", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75588, - "src": "14452:16:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "14428:40:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 75647, - "nodeType": "ExpressionStatement", - "src": "14428:40:129" - } - ] - } - }, - { - "eventCall": { - "arguments": [ - { - "id": 75651, - "name": "_member", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75568, - "src": "14508:7:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 75652, - "name": "_amountToStake", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75570, - "src": "14517:14:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 75653, - "name": "pointsToIncrease", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75588, - "src": "14533:16:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 75650, - "name": "PowerIncreased", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74923, - "src": "14493:14:129", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256,uint256)" - } - }, - "id": 75654, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "14493:57:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 75655, - "nodeType": "EmitStatement", - "src": "14488:62:129" - }, - { - "expression": { - "id": 75656, - "name": "pointsToIncrease", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75588, - "src": "14567:16:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 75574, - "id": 75657, - "nodeType": "Return", - "src": "14560:23:129" - } - ] - }, - "baseFunctions": [ - 74706 - ], - "functionSelector": "782aadff", - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "increasePower", - "nameLocation": "13587:13:129", - "parameters": { - "id": 75571, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 75568, - "mutability": "mutable", - "name": "_member", - "nameLocation": "13609:7:129", - "nodeType": "VariableDeclaration", - "scope": 75659, - "src": "13601:15:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 75567, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "13601:7:129", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 75570, - "mutability": "mutable", - "name": "_amountToStake", - "nameLocation": "13626:14:129", - "nodeType": "VariableDeclaration", - "scope": 75659, - "src": "13618:22:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 75569, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13618:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "13600:41:129" - }, - "returnParameters": { - "id": 75574, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 75573, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 75659, - "src": "13660:7:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 75572, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13660:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "13659:9:129" - }, - "scope": 77611, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "id": 75715, - "nodeType": "FunctionDefinition", - "src": "14596:681:129", - "nodes": [], - "body": { - "id": 75714, - "nodeType": "Block", - "src": "14689:588:129", - "nodes": [], - "statements": [ - { - "expression": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 75668, - "name": "onlyRegistryCommunity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75240, - "src": "14699:21:129", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$__$", - "typeString": "function () view" - } - }, - "id": 75669, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "14699:23:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 75670, - "nodeType": "ExpressionStatement", - "src": "14699:23:129" - }, - { - "assignments": [ - 75672 - ], - "declarations": [ - { - "constant": false, - "id": 75672, - "mutability": "mutable", - "name": "pointsToDecrease", - "nameLocation": "14786:16:129", - "nodeType": "VariableDeclaration", - "scope": 75714, - "src": "14778:24:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 75671, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14778:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 75674, - "initialValue": { - "hexValue": "30", - "id": 75673, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14805:1:129", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "14778:28:129" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 75685, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_enum$_PointSystem_$74731", - "typeString": "enum StrategyStruct.PointSystem" - }, - "id": 75679, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 75675, - "name": "pointSystem", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75008, - "src": "14820:11:129", - "typeDescriptions": { - "typeIdentifier": "t_enum$_PointSystem_$74731", - "typeString": "enum StrategyStruct.PointSystem" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "expression": { - "expression": { - "id": 75676, - "name": "StrategyStruct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74807, - "src": "14835:14:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_StrategyStruct_$74807_$", - "typeString": "type(library StrategyStruct)" - } - }, - "id": 75677, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "14850:11:129", - "memberName": "PointSystem", - "nodeType": "MemberAccess", - "referencedDeclaration": 74731, - "src": "14835:26:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_PointSystem_$74731_$", - "typeString": "type(enum StrategyStruct.PointSystem)" - } - }, - "id": 75678, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "14862:9:129", - "memberName": "Unlimited", - "nodeType": "MemberAccess", - "referencedDeclaration": 74729, - "src": "14835:36:129", - "typeDescriptions": { - "typeIdentifier": "t_enum$_PointSystem_$74731", - "typeString": "enum StrategyStruct.PointSystem" - } - }, - "src": "14820:51:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_enum$_PointSystem_$74731", - "typeString": "enum StrategyStruct.PointSystem" - }, - "id": 75684, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 75680, - "name": "pointSystem", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75008, - "src": "14875:11:129", - "typeDescriptions": { - "typeIdentifier": "t_enum$_PointSystem_$74731", - "typeString": "enum StrategyStruct.PointSystem" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "expression": { - "expression": { - "id": 75681, - "name": "StrategyStruct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74807, - "src": "14890:14:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_StrategyStruct_$74807_$", - "typeString": "type(library StrategyStruct)" - } - }, - "id": 75682, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "14905:11:129", - "memberName": "PointSystem", - "nodeType": "MemberAccess", - "referencedDeclaration": 74731, - "src": "14890:26:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_PointSystem_$74731_$", - "typeString": "type(enum StrategyStruct.PointSystem)" - } - }, - "id": 75683, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "14917:6:129", - "memberName": "Capped", - "nodeType": "MemberAccess", - "referencedDeclaration": 74728, - "src": "14890:33:129", - "typeDescriptions": { - "typeIdentifier": "t_enum$_PointSystem_$74731", - "typeString": "enum StrategyStruct.PointSystem" - } - }, - "src": "14875:48:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "14820:103:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 75700, - "nodeType": "Block", - "src": "15021:93:129", - "statements": [ - { - "expression": { - "id": 75698, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 75693, - "name": "pointsToDecrease", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75672, - "src": "15035:16:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "id": 75695, - "name": "_member", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75661, - "src": "15077:7:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 75696, - "name": "_amountToUnstake", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75663, - "src": "15086:16:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 75694, - "name": "decreasePowerQuadratic", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75976, - "src": "15054:22:129", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (address,uint256) view returns (uint256)" - } - }, - "id": 75697, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "15054:49:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15035:68:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 75699, - "nodeType": "ExpressionStatement", - "src": "15035:68:129" - } - ] - }, - "id": 75701, - "nodeType": "IfStatement", - "src": "14816:298:129", - "trueBody": { - "id": 75692, - "nodeType": "Block", - "src": "14925:90:129", - "statements": [ - { - "expression": { - "id": 75690, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 75686, - "name": "pointsToDecrease", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75672, - "src": "14939:16:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "id": 75688, - "name": "_amountToUnstake", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75663, - "src": "14987:16:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 75687, - "name": "decreasePowerCappedUnlimited", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75882, - "src": "14958:28:129", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - } - }, - "id": 75689, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "14958:46:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "14939:65:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 75691, - "nodeType": "ExpressionStatement", - "src": "14939:65:129" - } - ] - } - }, - { - "expression": { - "id": 75704, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 75702, - "name": "totalPointsActivated", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74997, - "src": "15123:20:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "-=", - "rightHandSide": { - "id": 75703, - "name": "pointsToDecrease", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75672, - "src": "15147:16:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15123:40:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 75705, - "nodeType": "ExpressionStatement", - "src": "15123:40:129" - }, - { - "eventCall": { - "arguments": [ - { - "id": 75707, - "name": "_member", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75661, - "src": "15193:7:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 75708, - "name": "_amountToUnstake", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75663, - "src": "15202:16:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 75709, - "name": "pointsToDecrease", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75672, - "src": "15220:16:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 75706, - "name": "PowerDecreased", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74931, - "src": "15178:14:129", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256,uint256)" - } - }, - "id": 75710, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "15178:59:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 75711, - "nodeType": "EmitStatement", - "src": "15173:64:129" - }, - { - "expression": { - "id": 75712, - "name": "pointsToDecrease", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75672, - "src": "15254:16:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 75667, - "id": 75713, - "nodeType": "Return", - "src": "15247:23:129" - } - ] - }, - "baseFunctions": [ - 74715 - ], - "functionSelector": "2ed04b2b", - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "decreasePower", - "nameLocation": "14605:13:129", - "parameters": { - "id": 75664, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 75661, - "mutability": "mutable", - "name": "_member", - "nameLocation": "14627:7:129", - "nodeType": "VariableDeclaration", - "scope": 75715, - "src": "14619:15:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 75660, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "14619:7:129", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 75663, - "mutability": "mutable", - "name": "_amountToUnstake", - "nameLocation": "14644:16:129", - "nodeType": "VariableDeclaration", - "scope": 75715, - "src": "14636:24:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 75662, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14636:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "14618:43:129" - }, - "returnParameters": { - "id": 75667, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 75666, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 75715, - "src": "14680:7:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 75665, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14680:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "14679:9:129" - }, - "scope": 77611, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "id": 75725, - "nodeType": "FunctionDefinition", - "src": "15283:126:129", - "nodes": [], - "body": { - "id": 75724, - "nodeType": "Block", - "src": "15371:38:129", - "nodes": [], - "statements": [ - { - "expression": { - "id": 75722, - "name": "_amountToStake", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75717, - "src": "15388:14:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 75721, - "id": 75723, - "nodeType": "Return", - "src": "15381:21:129" - } - ] - }, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "increasePowerUnlimited", - "nameLocation": "15292:22:129", - "parameters": { - "id": 75718, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 75717, - "mutability": "mutable", - "name": "_amountToStake", - "nameLocation": "15323:14:129", - "nodeType": "VariableDeclaration", - "scope": 75725, - "src": "15315:22:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 75716, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15315:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "15314:24:129" - }, - "returnParameters": { - "id": 75721, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 75720, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 75725, - "src": "15362:7:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 75719, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15362:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "15361:9:129" - }, - "scope": 77611, - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "id": 75788, - "nodeType": "FunctionDefinition", - "src": "15415:615:129", - "nodes": [], - "body": { - "id": 75787, - "nodeType": "Block", - "src": "15517:513:129", - "nodes": [], - "statements": [ - { - "assignments": [ - 75735 - ], - "declarations": [ - { - "constant": false, - "id": 75735, - "mutability": "mutable", - "name": "pointsToIncrease", - "nameLocation": "15535:16:129", - "nodeType": "VariableDeclaration", - "scope": 75787, - "src": "15527:24:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 75734, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15527:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 75737, - "initialValue": { - "id": 75736, - "name": "_amountToStake", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75729, - "src": "15554:14:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15527:41:129" - }, - { - "expression": { - "arguments": [ - { - "hexValue": "504f494e545320544f20494e435245415345", - "id": 75741, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15590:20:129", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_ef3d3d59430373ce7e3d099486636fe73635f3082757c009fe2ef0b043a4ebb1", - "typeString": "literal_string \"POINTS TO INCREASE\"" - }, - "value": "POINTS TO INCREASE" - }, - { - "id": 75742, - "name": "pointsToIncrease", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75735, - "src": "15612:16:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_ef3d3d59430373ce7e3d099486636fe73635f3082757c009fe2ef0b043a4ebb1", - "typeString": "literal_string \"POINTS TO INCREASE\"" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 75738, - "name": "console", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29549, - "src": "15578:7:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_console_$29549_$", - "typeString": "type(library console)" - } - }, - "id": 75740, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "15586:3:129", - "memberName": "log", - "nodeType": "MemberAccess", - "referencedDeclaration": 22193, - "src": "15578:11:129", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$", - "typeString": "function (string memory,uint256) view" - } - }, - "id": 75743, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "15578:51:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 75744, - "nodeType": "ExpressionStatement", - "src": "15578:51:129" - }, - { - "assignments": [ - 75746 - ], - "declarations": [ - { - "constant": false, - "id": 75746, - "mutability": "mutable", - "name": "memberPower", - "nameLocation": "15647:11:129", - "nodeType": "VariableDeclaration", - "scope": 75787, - "src": "15639:19:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 75745, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15639:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 75755, - "initialValue": { - "arguments": [ - { - "id": 75749, - "name": "_member", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75727, - "src": "15704:7:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "arguments": [ - { - "id": 75752, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "15721:4:129", - "typeDescriptions": { - "typeIdentifier": "t_contract$_CVStrategy_$77611", - "typeString": "contract CVStrategy" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_CVStrategy_$77611", - "typeString": "contract CVStrategy" - } - ], - "id": 75751, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "15713:7:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 75750, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "15713:7:129", - "typeDescriptions": {} - } - }, - "id": 75753, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "15713:13:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "id": 75747, - "name": "registryCommunity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75014, - "src": "15661:17:129", - "typeDescriptions": { - "typeIdentifier": "t_contract$_RegistryCommunity_$83082", - "typeString": "contract RegistryCommunity" - } - }, - "id": 75748, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "15679:24:129", - "memberName": "getMemberPowerInStrategy", - "nodeType": "MemberAccess", - "referencedDeclaration": 82423, - "src": "15661:42:129", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$", - "typeString": "function (address,address) view external returns (uint256)" - } - }, - "id": 75754, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "15661:66:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15639:88:129" - }, - { - "expression": { - "arguments": [ - { - "hexValue": "4d454d424552504f574552", - "id": 75759, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15749:13:129", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_d53146c44856b98b9530413c868d7a3bea9675ba78d0918c9dbfa4f905f5c3e8", - "typeString": "literal_string \"MEMBERPOWER\"" - }, - "value": "MEMBERPOWER" - }, - { - "id": 75760, - "name": "memberPower", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75746, - "src": "15764:11:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_d53146c44856b98b9530413c868d7a3bea9675ba78d0918c9dbfa4f905f5c3e8", - "typeString": "literal_string \"MEMBERPOWER\"" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 75756, - "name": "console", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29549, - "src": "15737:7:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_console_$29549_$", - "typeString": "type(library console)" - } - }, - "id": 75758, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "15745:3:129", - "memberName": "log", - "nodeType": "MemberAccess", - "referencedDeclaration": 22193, - "src": "15737:11:129", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$", - "typeString": "function (string memory,uint256) view" - } - }, - "id": 75761, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "15737:39:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 75762, - "nodeType": "ExpressionStatement", - "src": "15737:39:129" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 75768, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 75765, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 75763, - "name": "memberPower", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75746, - "src": "15790:11:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "id": 75764, - "name": "pointsToIncrease", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75735, - "src": "15804:16:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15790:30:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "expression": { - "id": 75766, - "name": "pointConfig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75011, - "src": "15823:11:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PointSystemConfig_$74784_storage", - "typeString": "struct StrategyStruct.PointSystemConfig storage ref" - } - }, - "id": 75767, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "15835:9:129", - "memberName": "maxAmount", - "nodeType": "MemberAccess", - "referencedDeclaration": 74783, - "src": "15823:21:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15790:54:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 75777, - "nodeType": "IfStatement", - "src": "15786:139:129", - "trueBody": { - "id": 75776, - "nodeType": "Block", - "src": "15846:79:129", - "statements": [ - { - "expression": { - "id": 75774, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 75769, - "name": "pointsToIncrease", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75735, - "src": "15860:16:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 75773, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 75770, - "name": "pointConfig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75011, - "src": "15879:11:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PointSystemConfig_$74784_storage", - "typeString": "struct StrategyStruct.PointSystemConfig storage ref" - } - }, - "id": 75771, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "15891:9:129", - "memberName": "maxAmount", - "nodeType": "MemberAccess", - "referencedDeclaration": 74783, - "src": "15879:21:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "id": 75772, - "name": "memberPower", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75746, - "src": "15903:11:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15879:35:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15860:54:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 75775, - "nodeType": "ExpressionStatement", - "src": "15860:54:129" - } - ] - } - }, - { - "expression": { - "arguments": [ - { - "hexValue": "504f494e545320544f20494e43524541534520454e44", - "id": 75781, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15946:24:129", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_7339ba314bb001e1fd9993d42999dceed278cc5b138b69398be73c13fb666826", - "typeString": "literal_string \"POINTS TO INCREASE END\"" - }, - "value": "POINTS TO INCREASE END" - }, - { - "id": 75782, - "name": "pointsToIncrease", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75735, - "src": "15972:16:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_7339ba314bb001e1fd9993d42999dceed278cc5b138b69398be73c13fb666826", - "typeString": "literal_string \"POINTS TO INCREASE END\"" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 75778, - "name": "console", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29549, - "src": "15934:7:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_console_$29549_$", - "typeString": "type(library console)" - } - }, - "id": 75780, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "15942:3:129", - "memberName": "log", - "nodeType": "MemberAccess", - "referencedDeclaration": 22193, - "src": "15934:11:129", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$", - "typeString": "function (string memory,uint256) view" - } - }, - "id": 75783, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "15934:55:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 75784, - "nodeType": "ExpressionStatement", - "src": "15934:55:129" - }, - { - "expression": { - "id": 75785, - "name": "pointsToIncrease", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75735, - "src": "16007:16:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 75733, - "id": 75786, - "nodeType": "Return", - "src": "16000:23:129" - } - ] - }, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "increasePowerCapped", - "nameLocation": "15424:19:129", - "parameters": { - "id": 75730, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 75727, - "mutability": "mutable", - "name": "_member", - "nameLocation": "15452:7:129", - "nodeType": "VariableDeclaration", - "scope": 75788, - "src": "15444:15:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 75726, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "15444:7:129", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 75729, - "mutability": "mutable", - "name": "_amountToStake", - "nameLocation": "15469:14:129", - "nodeType": "VariableDeclaration", - "scope": 75788, - "src": "15461:22:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 75728, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15461:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "15443:41:129" - }, - "returnParameters": { - "id": 75733, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 75732, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 75788, - "src": "15508:7:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 75731, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15508:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "15507:9:129" - }, - "scope": 77611, - "stateMutability": "view", - "virtual": false, - "visibility": "internal" - }, - { - "id": 75872, - "nodeType": "FunctionDefinition", - "src": "16036:730:129", - "nodes": [], - "body": { - "id": 75871, - "nodeType": "Block", - "src": "16141:625:129", - "nodes": [], - "statements": [ - { - "assignments": [ - 75798 - ], - "declarations": [ - { - "constant": false, - "id": 75798, - "mutability": "mutable", - "name": "totalStake", - "nameLocation": "16159:10:129", - "nodeType": "VariableDeclaration", - "scope": 75871, - "src": "16151:18:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 75797, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16151:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 75805, - "initialValue": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 75804, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "arguments": [ - { - "id": 75801, - "name": "_member", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75790, - "src": "16212:7:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "id": 75799, - "name": "registryCommunity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75014, - "src": "16172:17:129", - "typeDescriptions": { - "typeIdentifier": "t_contract$_RegistryCommunity_$83082", - "typeString": "contract RegistryCommunity" - } - }, - "id": 75800, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "16190:21:129", - "memberName": "getMemberStakedAmount", - "nodeType": "MemberAccess", - "referencedDeclaration": 82436, - "src": "16172:39:129", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 75802, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "16172:48:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "id": 75803, - "name": "_amountToStake", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75792, - "src": "16223:14:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "16172:65:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "16151:86:129" - }, - { - "assignments": [ - 75807 - ], - "declarations": [ - { - "constant": false, - "id": 75807, - "mutability": "mutable", - "name": "decimal", - "nameLocation": "16256:7:129", - "nodeType": "VariableDeclaration", - "scope": 75871, - "src": "16248:15:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 75806, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16248:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 75809, - "initialValue": { - "hexValue": "3138", - "id": 75808, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "16266:2:129", - "typeDescriptions": { - "typeIdentifier": "t_rational_18_by_1", - "typeString": "int_const 18" - }, - "value": "18" - }, - "nodeType": "VariableDeclarationStatement", - "src": "16248:20:129" - }, - { - "clauses": [ - { - "block": { - "id": 75830, - "nodeType": "Block", - "src": "16366:52:129", - "statements": [ - { - "expression": { - "id": 75828, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 75823, - "name": "decimal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75807, - "src": "16380:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "id": 75826, - "name": "_decimal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75821, - "src": "16398:8:129", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - ], - "id": 75825, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "16390:7:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 75824, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16390:7:129", - "typeDescriptions": {} - } - }, - "id": 75827, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "16390:17:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "16380:27:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 75829, - "nodeType": "ExpressionStatement", - "src": "16380:27:129" - } - ] - }, - "errorName": "", - "id": 75831, - "nodeType": "TryCatchClause", - "parameters": { - "id": 75822, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 75821, - "mutability": "mutable", - "name": "_decimal", - "nameLocation": "16356:8:129", - "nodeType": "VariableDeclaration", - "scope": 75831, - "src": "16350:14:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 75820, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "16350:5:129", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "visibility": "internal" - } - ], - "src": "16349:16:129" - }, - "src": "16341:77:129" - }, - { - "block": { - "id": 75838, - "nodeType": "Block", - "src": "16425:61:129", - "statements": [ - { - "expression": { - "arguments": [ - { - "hexValue": "4572726f722067657474696e6720646563696d616c", - "id": 75835, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "16451:23:129", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_add5b7e354bcd4eb0c69c8b5bd8a8dca27c903f694ea26b234a6605e7f62de4d", - "typeString": "literal_string \"Error getting decimal\"" - }, - "value": "Error getting decimal" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_add5b7e354bcd4eb0c69c8b5bd8a8dca27c903f694ea26b234a6605e7f62de4d", - "typeString": "literal_string \"Error getting decimal\"" - } - ], - "expression": { - "id": 75832, - "name": "console", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29549, - "src": "16439:7:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_console_$29549_$", - "typeString": "type(library console)" - } - }, - "id": 75834, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "16447:3:129", - "memberName": "log", - "nodeType": "MemberAccess", - "referencedDeclaration": 22080, - "src": "16439:11:129", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_string_memory_ptr_$returns$__$", - "typeString": "function (string memory) view" - } - }, - "id": 75836, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "16439:36:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 75837, - "nodeType": "ExpressionStatement", - "src": "16439:36:129" - } - ] - }, - "errorName": "", - "id": 75839, - "nodeType": "TryCatchClause", - "src": "16419:67:129" - } - ], - "externalCall": { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "arguments": [ - { - "arguments": [ - { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "id": 75813, - "name": "registryCommunity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75014, - "src": "16296:17:129", - "typeDescriptions": { - "typeIdentifier": "t_contract$_RegistryCommunity_$83082", - "typeString": "contract RegistryCommunity" - } - }, - "id": 75814, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "16314:11:129", - "memberName": "gardenToken", - "nodeType": "MemberAccess", - "referencedDeclaration": 81539, - "src": "16296:29:129", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_contract$_IERC20_$57069_$", - "typeString": "function () view external returns (contract IERC20)" - } - }, - "id": 75815, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "16296:31:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$57069", - "typeString": "contract IERC20" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_IERC20_$57069", - "typeString": "contract IERC20" - } - ], - "id": 75812, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "16288:7:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 75811, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "16288:7:129", - "typeDescriptions": {} - } - }, - "id": 75816, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "16288:40:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 75810, - "name": "ERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 56991, - "src": "16282:5:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC20_$56991_$", - "typeString": "type(contract ERC20)" - } - }, - "id": 75817, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "16282:47:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$56991", - "typeString": "contract ERC20" - } - }, - "id": 75818, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "16330:8:129", - "memberName": "decimals", - "nodeType": "MemberAccess", - "referencedDeclaration": 56479, - "src": "16282:56:129", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_uint8_$", - "typeString": "function () view external returns (uint8)" - } - }, - "id": 75819, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "16282:58:129", - "tryCall": true, - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "id": 75840, - "nodeType": "TryStatement", - "src": "16278:208:129" - }, - { - "assignments": [ - 75842 - ], - "declarations": [ - { - "constant": false, - "id": 75842, - "mutability": "mutable", - "name": "newTotalPoints", - "nameLocation": "16503:14:129", - "nodeType": "VariableDeclaration", - "scope": 75871, - "src": "16495:22:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 75841, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16495:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 75851, - "initialValue": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 75849, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 75845, - "name": "totalStake", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75798, - "src": "16530:10:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 75848, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "hexValue": "3130", - "id": 75846, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "16543:2:129", - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "id": 75847, - "name": "decimal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75807, - "src": "16549:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "16543:13:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "16530:26:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 75843, - "name": "Math", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 59338, - "src": "16520:4:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Math_$59338_$", - "typeString": "type(library Math)" - } - }, - "id": 75844, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "16525:4:129", - "memberName": "sqrt", - "nodeType": "MemberAccess", - "referencedDeclaration": 58842, - "src": "16520:9:129", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - } - }, - "id": 75850, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "16520:37:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "16495:62:129" - }, - { - "assignments": [ - 75853 - ], - "declarations": [ - { - "constant": false, - "id": 75853, - "mutability": "mutable", - "name": "currentPoints", - "nameLocation": "16575:13:129", - "nodeType": "VariableDeclaration", - "scope": 75871, - "src": "16567:21:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 75852, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16567:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 75862, - "initialValue": { - "arguments": [ - { - "id": 75856, - "name": "_member", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75790, - "src": "16634:7:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "arguments": [ - { - "id": 75859, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "16651:4:129", - "typeDescriptions": { - "typeIdentifier": "t_contract$_CVStrategy_$77611", - "typeString": "contract CVStrategy" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_CVStrategy_$77611", - "typeString": "contract CVStrategy" - } - ], - "id": 75858, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "16643:7:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 75857, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "16643:7:129", - "typeDescriptions": {} - } - }, - "id": 75860, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "16643:13:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "id": 75854, - "name": "registryCommunity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75014, - "src": "16591:17:129", - "typeDescriptions": { - "typeIdentifier": "t_contract$_RegistryCommunity_$83082", - "typeString": "contract RegistryCommunity" - } - }, - "id": 75855, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "16609:24:129", - "memberName": "getMemberPowerInStrategy", - "nodeType": "MemberAccess", - "referencedDeclaration": 82423, - "src": "16591:42:129", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$", - "typeString": "function (address,address) view external returns (uint256)" - } - }, - "id": 75861, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "16591:66:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "16567:90:129" - }, - { - "assignments": [ - 75864 - ], - "declarations": [ - { - "constant": false, - "id": 75864, - "mutability": "mutable", - "name": "pointsToIncrease", - "nameLocation": "16676:16:129", - "nodeType": "VariableDeclaration", - "scope": 75871, - "src": "16668:24:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 75863, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16668:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 75868, - "initialValue": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 75867, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 75865, - "name": "newTotalPoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75842, - "src": "16695:14:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "id": 75866, - "name": "currentPoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75853, - "src": "16712:13:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "16695:30:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "16668:57:129" - }, - { - "expression": { - "id": 75869, - "name": "pointsToIncrease", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75864, - "src": "16743:16:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 75796, - "id": 75870, - "nodeType": "Return", - "src": "16736:23:129" - } - ] - }, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "increasePowerQuadratic", - "nameLocation": "16045:22:129", - "parameters": { - "id": 75793, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 75790, - "mutability": "mutable", - "name": "_member", - "nameLocation": "16076:7:129", - "nodeType": "VariableDeclaration", - "scope": 75872, - "src": "16068:15:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 75789, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "16068:7:129", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 75792, - "mutability": "mutable", - "name": "_amountToStake", - "nameLocation": "16093:14:129", - "nodeType": "VariableDeclaration", - "scope": 75872, - "src": "16085:22:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 75791, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16085:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "16067:41:129" - }, - "returnParameters": { - "id": 75796, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 75795, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 75872, - "src": "16132:7:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 75794, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16132:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "16131:9:129" - }, - "scope": 77611, - "stateMutability": "view", - "virtual": false, - "visibility": "internal" - }, - { - "id": 75882, - "nodeType": "FunctionDefinition", - "src": "16772:136:129", - "nodes": [], - "body": { - "id": 75881, - "nodeType": "Block", - "src": "16868:40:129", - "nodes": [], - "statements": [ - { - "expression": { - "id": 75879, - "name": "_amountToUnstake", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75874, - "src": "16885:16:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 75878, - "id": 75880, - "nodeType": "Return", - "src": "16878:23:129" - } - ] - }, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "decreasePowerCappedUnlimited", - "nameLocation": "16781:28:129", - "parameters": { - "id": 75875, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 75874, - "mutability": "mutable", - "name": "_amountToUnstake", - "nameLocation": "16818:16:129", - "nodeType": "VariableDeclaration", - "scope": 75882, - "src": "16810:24:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 75873, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16810:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "16809:26:129" - }, - "returnParameters": { - "id": 75878, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 75877, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 75882, - "src": "16859:7:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 75876, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16859:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "16858:9:129" - }, - "scope": 77611, - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "id": 75976, - "nodeType": "FunctionDefinition", - "src": "16914:802:129", - "nodes": [], - "body": { - "id": 75975, - "nodeType": "Block", - "src": "17021:695:129", - "nodes": [], - "statements": [ - { - "assignments": [ - 75892 - ], - "declarations": [ - { - "constant": false, - "id": 75892, - "mutability": "mutable", - "name": "decimal", - "nameLocation": "17039:7:129", - "nodeType": "VariableDeclaration", - "scope": 75975, - "src": "17031:15:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 75891, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17031:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 75894, - "initialValue": { - "hexValue": "3138", - "id": 75893, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "17049:2:129", - "typeDescriptions": { - "typeIdentifier": "t_rational_18_by_1", - "typeString": "int_const 18" - }, - "value": "18" - }, - "nodeType": "VariableDeclarationStatement", - "src": "17031:20:129" - }, - { - "clauses": [ - { - "block": { - "id": 75915, - "nodeType": "Block", - "src": "17149:52:129", - "statements": [ - { - "expression": { - "id": 75913, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 75908, - "name": "decimal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75892, - "src": "17163:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "id": 75911, - "name": "_decimal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75906, - "src": "17181:8:129", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - ], - "id": 75910, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "17173:7:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 75909, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17173:7:129", - "typeDescriptions": {} - } - }, - "id": 75912, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "17173:17:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17163:27:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 75914, - "nodeType": "ExpressionStatement", - "src": "17163:27:129" - } - ] - }, - "errorName": "", - "id": 75916, - "nodeType": "TryCatchClause", - "parameters": { - "id": 75907, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 75906, - "mutability": "mutable", - "name": "_decimal", - "nameLocation": "17139:8:129", - "nodeType": "VariableDeclaration", - "scope": 75916, - "src": "17133:14:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 75905, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "17133:5:129", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "visibility": "internal" - } - ], - "src": "17132:16:129" - }, - "src": "17124:77:129" - }, - { - "block": { - "id": 75923, - "nodeType": "Block", - "src": "17208:61:129", - "statements": [ - { - "expression": { - "arguments": [ - { - "hexValue": "4572726f722067657474696e6720646563696d616c", - "id": 75920, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "17234:23:129", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_add5b7e354bcd4eb0c69c8b5bd8a8dca27c903f694ea26b234a6605e7f62de4d", - "typeString": "literal_string \"Error getting decimal\"" - }, - "value": "Error getting decimal" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_add5b7e354bcd4eb0c69c8b5bd8a8dca27c903f694ea26b234a6605e7f62de4d", - "typeString": "literal_string \"Error getting decimal\"" - } - ], - "expression": { - "id": 75917, - "name": "console", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29549, - "src": "17222:7:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_console_$29549_$", - "typeString": "type(library console)" - } - }, - "id": 75919, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "17230:3:129", - "memberName": "log", - "nodeType": "MemberAccess", - "referencedDeclaration": 22080, - "src": "17222:11:129", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_string_memory_ptr_$returns$__$", - "typeString": "function (string memory) view" - } - }, - "id": 75921, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "17222:36:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 75922, - "nodeType": "ExpressionStatement", - "src": "17222:36:129" - } - ] - }, - "errorName": "", - "id": 75924, - "nodeType": "TryCatchClause", - "src": "17202:67:129" - } - ], - "externalCall": { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "arguments": [ - { - "arguments": [ - { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "id": 75898, - "name": "registryCommunity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75014, - "src": "17079:17:129", - "typeDescriptions": { - "typeIdentifier": "t_contract$_RegistryCommunity_$83082", - "typeString": "contract RegistryCommunity" - } - }, - "id": 75899, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "17097:11:129", - "memberName": "gardenToken", - "nodeType": "MemberAccess", - "referencedDeclaration": 81539, - "src": "17079:29:129", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_contract$_IERC20_$57069_$", - "typeString": "function () view external returns (contract IERC20)" - } - }, - "id": 75900, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "17079:31:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$57069", - "typeString": "contract IERC20" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_IERC20_$57069", - "typeString": "contract IERC20" - } - ], - "id": 75897, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "17071:7:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 75896, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "17071:7:129", - "typeDescriptions": {} - } - }, - "id": 75901, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "17071:40:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 75895, - "name": "ERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 56991, - "src": "17065:5:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC20_$56991_$", - "typeString": "type(contract ERC20)" - } - }, - "id": 75902, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "17065:47:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$56991", - "typeString": "contract ERC20" - } - }, - "id": 75903, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "17113:8:129", - "memberName": "decimals", - "nodeType": "MemberAccess", - "referencedDeclaration": 56479, - "src": "17065:56:129", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_uint8_$", - "typeString": "function () view external returns (uint8)" - } - }, - "id": 75904, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "17065:58:129", - "tryCall": true, - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "id": 75925, - "nodeType": "TryStatement", - "src": "17061:208:129" - }, - { - "expression": { - "arguments": [ - { - "hexValue": "5f616d6f756e74546f556e7374616b65", - "id": 75929, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "17290:18:129", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_dc5364d7a51b187c038e40e987076ae6dd611b7a72008e9d9acc88e3a526f2c2", - "typeString": "literal_string \"_amountToUnstake\"" - }, - "value": "_amountToUnstake" - }, - { - "id": 75930, - "name": "_amountToUnstake", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75886, - "src": "17310:16:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_dc5364d7a51b187c038e40e987076ae6dd611b7a72008e9d9acc88e3a526f2c2", - "typeString": "literal_string \"_amountToUnstake\"" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 75926, - "name": "console", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29549, - "src": "17278:7:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_console_$29549_$", - "typeString": "type(library console)" - } - }, - "id": 75928, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "17286:3:129", - "memberName": "log", - "nodeType": "MemberAccess", - "referencedDeclaration": 22193, - "src": "17278:11:129", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$", - "typeString": "function (string memory,uint256) view" - } - }, - "id": 75931, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "17278:49:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 75932, - "nodeType": "ExpressionStatement", - "src": "17278:49:129" - }, - { - "assignments": [ - 75934 - ], - "declarations": [ - { - "constant": false, - "id": 75934, - "mutability": "mutable", - "name": "newTotalStake", - "nameLocation": "17345:13:129", - "nodeType": "VariableDeclaration", - "scope": 75975, - "src": "17337:21:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 75933, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17337:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 75941, - "initialValue": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 75940, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "arguments": [ - { - "id": 75937, - "name": "_member", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75884, - "src": "17401:7:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "id": 75935, - "name": "registryCommunity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75014, - "src": "17361:17:129", - "typeDescriptions": { - "typeIdentifier": "t_contract$_RegistryCommunity_$83082", - "typeString": "contract RegistryCommunity" - } - }, - "id": 75936, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "17379:21:129", - "memberName": "getMemberStakedAmount", - "nodeType": "MemberAccess", - "referencedDeclaration": 82436, - "src": "17361:39:129", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 75938, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "17361:48:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "id": 75939, - "name": "_amountToUnstake", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75886, - "src": "17412:16:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17361:67:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "17337:91:129" - }, - { - "expression": { - "arguments": [ - { - "hexValue": "6e6577546f74616c5374616b65", - "id": 75945, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "17450:15:129", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_e1d5e8d6d05577c9c30b6029c3158dfad77d5a239a04e4529b5b98f0ce2f7a79", - "typeString": "literal_string \"newTotalStake\"" - }, - "value": "newTotalStake" - }, - { - "id": 75946, - "name": "newTotalStake", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75934, - "src": "17467:13:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_e1d5e8d6d05577c9c30b6029c3158dfad77d5a239a04e4529b5b98f0ce2f7a79", - "typeString": "literal_string \"newTotalStake\"" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 75942, - "name": "console", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29549, - "src": "17438:7:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_console_$29549_$", - "typeString": "type(library console)" - } - }, - "id": 75944, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "17446:3:129", - "memberName": "log", - "nodeType": "MemberAccess", - "referencedDeclaration": 22193, - "src": "17438:11:129", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$", - "typeString": "function (string memory,uint256) view" - } - }, - "id": 75947, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "17438:43:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 75948, - "nodeType": "ExpressionStatement", - "src": "17438:43:129" - }, - { - "assignments": [ - 75950 - ], - "declarations": [ - { - "constant": false, - "id": 75950, - "mutability": "mutable", - "name": "newTotalPoints", - "nameLocation": "17499:14:129", - "nodeType": "VariableDeclaration", - "scope": 75975, - "src": "17491:22:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 75949, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17491:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 75959, - "initialValue": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 75957, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 75953, - "name": "newTotalStake", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75934, - "src": "17526:13:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 75956, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "hexValue": "3130", - "id": 75954, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "17542:2:129", - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "id": 75955, - "name": "decimal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75892, - "src": "17548:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17542:13:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17526:29:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 75951, - "name": "Math", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 59338, - "src": "17516:4:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Math_$59338_$", - "typeString": "type(library Math)" - } - }, - "id": 75952, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "17521:4:129", - "memberName": "sqrt", - "nodeType": "MemberAccess", - "referencedDeclaration": 58842, - "src": "17516:9:129", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - } - }, - "id": 75958, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "17516:40:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "17491:65:129" - }, - { - "assignments": [ - 75961 - ], - "declarations": [ - { - "constant": false, - "id": 75961, - "mutability": "mutable", - "name": "pointsToDecrease", - "nameLocation": "17574:16:129", - "nodeType": "VariableDeclaration", - "scope": 75975, - "src": "17566:24:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 75960, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17566:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 75972, - "initialValue": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 75971, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "arguments": [ - { - "id": 75964, - "name": "_member", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75884, - "src": "17636:7:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "arguments": [ - { - "id": 75967, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "17653:4:129", - "typeDescriptions": { - "typeIdentifier": "t_contract$_CVStrategy_$77611", - "typeString": "contract CVStrategy" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_CVStrategy_$77611", - "typeString": "contract CVStrategy" - } - ], - "id": 75966, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "17645:7:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 75965, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "17645:7:129", - "typeDescriptions": {} - } - }, - "id": 75968, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "17645:13:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "id": 75962, - "name": "registryCommunity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75014, - "src": "17593:17:129", - "typeDescriptions": { - "typeIdentifier": "t_contract$_RegistryCommunity_$83082", - "typeString": "contract RegistryCommunity" - } - }, - "id": 75963, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "17611:24:129", - "memberName": "getMemberPowerInStrategy", - "nodeType": "MemberAccess", - "referencedDeclaration": 82423, - "src": "17593:42:129", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$", - "typeString": "function (address,address) view external returns (uint256)" - } - }, - "id": 75969, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "17593:66:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "id": 75970, - "name": "newTotalPoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75950, - "src": "17662:14:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17593:83:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "17566:110:129" - }, - { - "expression": { - "id": 75973, - "name": "pointsToDecrease", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75961, - "src": "17693:16:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 75890, - "id": 75974, - "nodeType": "Return", - "src": "17686:23:129" - } - ] - }, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "decreasePowerQuadratic", - "nameLocation": "16923:22:129", - "parameters": { - "id": 75887, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 75884, - "mutability": "mutable", - "name": "_member", - "nameLocation": "16954:7:129", - "nodeType": "VariableDeclaration", - "scope": 75976, - "src": "16946:15:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 75883, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "16946:7:129", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 75886, - "mutability": "mutable", - "name": "_amountToUnstake", - "nameLocation": "16971:16:129", - "nodeType": "VariableDeclaration", - "scope": 75976, - "src": "16963:24:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 75885, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16963:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "16945:43:129" - }, - "returnParameters": { - "id": 75890, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 75889, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 75976, - "src": "17012:7:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 75888, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17012:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "17011:9:129" - }, - "scope": 77611, - "stateMutability": "view", - "virtual": false, - "visibility": "internal" - }, - { - "id": 75985, - "nodeType": "FunctionDefinition", - "src": "17722:99:129", - "nodes": [], - "body": { - "id": 75984, - "nodeType": "Block", - "src": "17776:45:129", - "nodes": [], - "statements": [ - { - "expression": { - "expression": { - "id": 75981, - "name": "pointConfig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75011, - "src": "17793:11:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PointSystemConfig_$74784_storage", - "typeString": "struct StrategyStruct.PointSystemConfig storage ref" - } - }, - "id": 75982, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "17805:9:129", - "memberName": "maxAmount", - "nodeType": "MemberAccess", - "referencedDeclaration": 74783, - "src": "17793:21:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 75980, - "id": 75983, - "nodeType": "Return", - "src": "17786:28:129" - } - ] - }, - "functionSelector": "0ba95909", - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getMaxAmount", - "nameLocation": "17731:12:129", - "parameters": { - "id": 75977, - "nodeType": "ParameterList", - "parameters": [], - "src": "17743:2:129" - }, - "returnParameters": { - "id": 75980, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 75979, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 75985, - "src": "17767:7:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 75978, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17767:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "17766:9:129" - }, - "scope": 77611, - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "id": 75994, - "nodeType": "FunctionDefinition", - "src": "17827:110:129", - "nodes": [], - "body": { - "id": 75993, - "nodeType": "Block", - "src": "17902:35:129", - "nodes": [], - "statements": [ - { - "expression": { - "id": 75991, - "name": "pointSystem", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75008, - "src": "17919:11:129", - "typeDescriptions": { - "typeIdentifier": "t_enum$_PointSystem_$74731", - "typeString": "enum StrategyStruct.PointSystem" - } - }, - "functionReturnParameters": 75990, - "id": 75992, - "nodeType": "Return", - "src": "17912:18:129" - } - ] - }, - "baseFunctions": [ - 74721 - ], - "functionSelector": "c3292171", - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getPointSystem", - "nameLocation": "17836:14:129", - "parameters": { - "id": 75986, - "nodeType": "ParameterList", - "parameters": [], - "src": "17850:2:129" - }, - "returnParameters": { - "id": 75990, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 75989, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 75994, - "src": "17874:26:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_enum$_PointSystem_$74731", - "typeString": "enum StrategyStruct.PointSystem" - }, - "typeName": { - "id": 75988, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 75987, - "name": "StrategyStruct.PointSystem", - "nameLocations": [ - "17874:14:129", - "17889:11:129" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 74731, - "src": "17874:26:129" - }, - "referencedDeclaration": 74731, - "src": "17874:26:129", - "typeDescriptions": { - "typeIdentifier": "t_enum$_PointSystem_$74731", - "typeString": "enum StrategyStruct.PointSystem" - } - }, - "visibility": "internal" - } - ], - "src": "17873:28:129" - }, - "scope": 77611, - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "id": 76005, - "nodeType": "FunctionDefinition", - "src": "18053:226:129", - "nodes": [], - "body": { - "id": 76004, - "nodeType": "Block", - "src": "18131:148:129", - "nodes": [], - "statements": [ - { - "errorCall": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 76001, - "name": "NotImplemented", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74826, - "src": "18196:14:129", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 76002, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "18196:16:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 76003, - "nodeType": "RevertStatement", - "src": "18189:23:129" - } - ] - }, - "functionSelector": "e33add93", - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "supportProposal", - "nameLocation": "18062:15:129", - "parameters": { - "id": 75999, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 75998, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 76005, - "src": "18078:39:129", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_ProposalSupport_$74781_memory_ptr_$dyn_memory_ptr", - "typeString": "struct StrategyStruct.ProposalSupport[]" - }, - "typeName": { - "baseType": { - "id": 75996, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 75995, - "name": "StrategyStruct.ProposalSupport", - "nameLocations": [ - "18078:14:129", - "18093:15:129" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 74781, - "src": "18078:30:129" - }, - "referencedDeclaration": 74781, - "src": "18078:30:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ProposalSupport_$74781_storage_ptr", - "typeString": "struct StrategyStruct.ProposalSupport" - } - }, - "id": 75997, - "nodeType": "ArrayTypeName", - "src": "18078:32:129", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_ProposalSupport_$74781_storage_$dyn_storage_ptr", - "typeString": "struct StrategyStruct.ProposalSupport[]" - } - }, - "visibility": "internal" - } - ], - "src": "18077:41:129" - }, - "returnParameters": { - "id": 76000, - "nodeType": "ParameterList", - "parameters": [], - "src": "18131:0:129" - }, - "scope": 77611, - "stateMutability": "pure", - "virtual": false, - "visibility": "public" - }, - { - "id": 76070, - "nodeType": "FunctionDefinition", - "src": "18425:604:129", - "nodes": [], - "body": { - "id": 76069, - "nodeType": "Block", - "src": "18499:530:129", - "nodes": [], - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 76014, - "name": "_sender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76009, - "src": "18529:7:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 76013, - "name": "checkSenderIsMember", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75224, - "src": "18509:19:129", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$__$", - "typeString": "function (address) view" - } - }, - "id": 76015, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "18509:28:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 76016, - "nodeType": "ExpressionStatement", - "src": "18509:28:129" - }, - { - "condition": { - "id": 76020, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "18551:27:129", - "subExpression": { - "arguments": [ - { - "id": 76018, - "name": "_sender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76009, - "src": "18570:7:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 76017, - "name": "_canExecuteAction", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75286, - "src": "18552:17:129", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", - "typeString": "function (address) view returns (bool)" - } - }, - "id": 76019, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "18552:26:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 76025, - "nodeType": "IfStatement", - "src": "18547:90:129", - "trueBody": { - "id": 76024, - "nodeType": "Block", - "src": "18580:57:129", - "statements": [ - { - "errorCall": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 76021, - "name": "UserCannotExecuteAction", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74890, - "src": "18601:23:129", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 76022, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "18601:25:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 76023, - "nodeType": "RevertStatement", - "src": "18594:32:129" - } - ] - } - }, - { - "assignments": [ - 76027 - ], - "declarations": [ - { - "constant": false, - "id": 76027, - "mutability": "mutable", - "name": "isMemberActivatedPoints", - "nameLocation": "18651:23:129", - "nodeType": "VariableDeclaration", - "scope": 76069, - "src": "18646:28:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 76026, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "18646:4:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "id": 76036, - "initialValue": { - "arguments": [ - { - "id": 76030, - "name": "_sender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76009, - "src": "18723:7:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "arguments": [ - { - "id": 76033, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "18740:4:129", - "typeDescriptions": { - "typeIdentifier": "t_contract$_CVStrategy_$77611", - "typeString": "contract CVStrategy" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_CVStrategy_$77611", - "typeString": "contract CVStrategy" - } - ], - "id": 76032, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "18732:7:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 76031, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "18732:7:129", - "typeDescriptions": {} - } - }, - "id": 76034, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "18732:13:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "id": 76028, - "name": "registryCommunity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75014, - "src": "18677:17:129", - "typeDescriptions": { - "typeIdentifier": "t_contract$_RegistryCommunity_$83082", - "typeString": "contract RegistryCommunity" - } - }, - "id": 76029, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "18695:27:129", - "memberName": "memberActivatedInStrategies", - "nodeType": "MemberAccess", - "referencedDeclaration": 81575, - "src": "18677:45:129", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$_t_address_$returns$_t_bool_$", - "typeString": "function (address,address) view external returns (bool)" - } - }, - "id": 76035, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "18677:69:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "18646:100:129" - }, - { - "condition": { - "id": 76038, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "18760:24:129", - "subExpression": { - "id": 76037, - "name": "isMemberActivatedPoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76027, - "src": "18761:23:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 76043, - "nodeType": "IfStatement", - "src": "18756:78:129", - "trueBody": { - "id": 76042, - "nodeType": "Block", - "src": "18786:48:129", - "statements": [ - { - "errorCall": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 76039, - "name": "UserIsInactive", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74822, - "src": "18807:14:129", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 76040, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "18807:16:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 76041, - "nodeType": "RevertStatement", - "src": "18800:23:129" - } - ] - } - }, - { - "assignments": [ - 76049 - ], - "declarations": [ - { - "constant": false, - "id": 76049, - "mutability": "mutable", - "name": "pv", - "nameLocation": "18883:2:129", - "nodeType": "VariableDeclaration", - "scope": 76069, - "src": "18843:42:129", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_ProposalSupport_$74781_memory_ptr_$dyn_memory_ptr", - "typeString": "struct StrategyStruct.ProposalSupport[]" - }, - "typeName": { - "baseType": { - "id": 76047, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 76046, - "name": "StrategyStruct.ProposalSupport", - "nameLocations": [ - "18843:14:129", - "18858:15:129" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 74781, - "src": "18843:30:129" - }, - "referencedDeclaration": 74781, - "src": "18843:30:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ProposalSupport_$74781_storage_ptr", - "typeString": "struct StrategyStruct.ProposalSupport" - } - }, - "id": 76048, - "nodeType": "ArrayTypeName", - "src": "18843:32:129", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_ProposalSupport_$74781_storage_$dyn_storage_ptr", - "typeString": "struct StrategyStruct.ProposalSupport[]" - } - }, - "visibility": "internal" - } - ], - "id": 76058, - "initialValue": { - "arguments": [ - { - "id": 76052, - "name": "_data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76007, - "src": "18899:5:129", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "components": [ - { - "baseExpression": { - "expression": { - "id": 76053, - "name": "StrategyStruct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74807, - "src": "18907:14:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_StrategyStruct_$74807_$", - "typeString": "type(library StrategyStruct)" - } - }, - "id": 76054, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "18922:15:129", - "memberName": "ProposalSupport", - "nodeType": "MemberAccess", - "referencedDeclaration": 74781, - "src": "18907:30:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_ProposalSupport_$74781_storage_ptr_$", - "typeString": "type(struct StrategyStruct.ProposalSupport storage pointer)" - } - }, - "id": 76055, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "18907:32:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_array$_t_struct$_ProposalSupport_$74781_memory_ptr_$dyn_memory_ptr_$", - "typeString": "type(struct StrategyStruct.ProposalSupport memory[] memory)" - } - } - ], - "id": 76056, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "18906:34:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_array$_t_struct$_ProposalSupport_$74781_memory_ptr_$dyn_memory_ptr_$", - "typeString": "type(struct StrategyStruct.ProposalSupport memory[] memory)" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_type$_t_array$_t_struct$_ProposalSupport_$74781_memory_ptr_$dyn_memory_ptr_$", - "typeString": "type(struct StrategyStruct.ProposalSupport memory[] memory)" - } - ], - "expression": { - "id": 76050, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "18888:3:129", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 76051, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "18892:6:129", - "memberName": "decode", - "nodeType": "MemberAccess", - "src": "18888:10:129", - "typeDescriptions": { - "typeIdentifier": "t_function_abidecode_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 76057, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "18888:53:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_ProposalSupport_$74781_memory_ptr_$dyn_memory_ptr", - "typeString": "struct StrategyStruct.ProposalSupport memory[] memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "18843:98:129" - }, - { - "expression": { - "arguments": [ - { - "id": 76060, - "name": "_sender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76009, - "src": "18976:7:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 76061, - "name": "pv", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76049, - "src": "18985:2:129", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_ProposalSupport_$74781_memory_ptr_$dyn_memory_ptr", - "typeString": "struct StrategyStruct.ProposalSupport memory[] memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_array$_t_struct$_ProposalSupport_$74781_memory_ptr_$dyn_memory_ptr", - "typeString": "struct StrategyStruct.ProposalSupport memory[] memory" - } - ], - "id": 76059, - "name": "_check_before_addSupport", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76770, - "src": "18951:24:129", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_array$_t_struct$_ProposalSupport_$74781_memory_ptr_$dyn_memory_ptr_$returns$__$", - "typeString": "function (address,struct StrategyStruct.ProposalSupport memory[] memory)" - } - }, - "id": 76062, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "18951:37:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 76063, - "nodeType": "ExpressionStatement", - "src": "18951:37:129" - }, - { - "expression": { - "arguments": [ - { - "id": 76065, - "name": "_sender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76009, - "src": "19010:7:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 76066, - "name": "pv", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76049, - "src": "19019:2:129", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_ProposalSupport_$74781_memory_ptr_$dyn_memory_ptr", - "typeString": "struct StrategyStruct.ProposalSupport memory[] memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_array$_t_struct$_ProposalSupport_$74781_memory_ptr_$dyn_memory_ptr", - "typeString": "struct StrategyStruct.ProposalSupport memory[] memory" - } - ], - "id": 76064, - "name": "_addSupport", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77057, - "src": "18998:11:129", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_array$_t_struct$_ProposalSupport_$74781_memory_ptr_$dyn_memory_ptr_$returns$__$", - "typeString": "function (address,struct StrategyStruct.ProposalSupport memory[] memory)" - } - }, - "id": 76067, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "18998:24:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 76068, - "nodeType": "ExpressionStatement", - "src": "18998:24:129" - } - ] - }, - "baseFunctions": [ - 3817 - ], - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_allocate", - "nameLocation": "18434:9:129", - "overrides": { - "id": 76011, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "18490:8:129" - }, - "parameters": { - "id": 76010, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 76007, - "mutability": "mutable", - "name": "_data", - "nameLocation": "18457:5:129", - "nodeType": "VariableDeclaration", - "scope": 76070, - "src": "18444:18:129", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 76006, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "18444:5:129", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 76009, - "mutability": "mutable", - "name": "_sender", - "nameLocation": "18472:7:129", - "nodeType": "VariableDeclaration", - "scope": 76070, - "src": "18464:15:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 76008, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "18464:7:129", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "18443:37:129" - }, - "returnParameters": { - "id": 76012, - "nodeType": "ParameterList", - "parameters": [], - "src": "18499:0:129" - }, - "scope": 77611, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "id": 76226, - "nodeType": "FunctionDefinition", - "src": "19285:1756:129", - "nodes": [], - "body": { - "id": 76225, - "nodeType": "Block", - "src": "19371:1670:129", - "nodes": [], - "statements": [ - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 76084, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 76081, - "name": "_data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76075, - "src": "19464:5:129", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 76082, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "19470:6:129", - "memberName": "length", - "nodeType": "MemberAccess", - "src": "19464:12:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "hexValue": "30", - "id": 76083, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "19480:1:129", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "19464:17:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 76089, - "nodeType": "IfStatement", - "src": "19460:76:129", - "trueBody": { - "id": 76088, - "nodeType": "Block", - "src": "19483:53:129", - "statements": [ - { - "errorCall": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 76085, - "name": "ProposalDataIsEmpty", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74858, - "src": "19504:19:129", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 76086, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "19504:21:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 76087, - "nodeType": "RevertStatement", - "src": "19497:28:129" - } - ] - } - }, - { - "assignments": [ - 76091 - ], - "declarations": [ - { - "constant": false, - "id": 76091, - "mutability": "mutable", - "name": "proposalId", - "nameLocation": "19554:10:129", - "nodeType": "VariableDeclaration", - "scope": 76225, - "src": "19546:18:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 76090, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "19546:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 76099, - "initialValue": { - "arguments": [ - { - "id": 76094, - "name": "_data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76075, - "src": "19578:5:129", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "components": [ - { - "id": 76096, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "19586:7:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 76095, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "19586:7:129", - "typeDescriptions": {} - } - } - ], - "id": 76097, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "19585:9:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - } - ], - "expression": { - "id": 76092, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "19567:3:129", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 76093, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "19571:6:129", - "memberName": "decode", - "nodeType": "MemberAccess", - "src": "19567:10:129", - "typeDescriptions": { - "typeIdentifier": "t_function_abidecode_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 76098, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "19567:28:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "19546:49:129" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 76102, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 76100, - "name": "proposalId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76091, - "src": "19610:10:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "hexValue": "30", - "id": 76101, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "19624:1:129", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "19610:15:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 76107, - "nodeType": "IfStatement", - "src": "19606:77:129", - "trueBody": { - "id": 76106, - "nodeType": "Block", - "src": "19627:56:129", - "statements": [ - { - "errorCall": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 76103, - "name": "ProposalIdCannotBeZero", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74860, - "src": "19648:22:129", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 76104, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "19648:24:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 76105, - "nodeType": "RevertStatement", - "src": "19641:31:129" - } - ] - } - }, - { - "assignments": [ - 76112 - ], - "declarations": [ - { - "constant": false, - "id": 76112, - "mutability": "mutable", - "name": "proposal", - "nameLocation": "19724:8:129", - "nodeType": "VariableDeclaration", - "scope": 76225, - "src": "19692:40:129", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal" - }, - "typeName": { - "id": 76111, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 76110, - "name": "StrategyStruct.Proposal", - "nameLocations": [ - "19692:14:129", - "19707:8:129" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 74776, - "src": "19692:23:129" - }, - "referencedDeclaration": 74776, - "src": "19692:23:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal" - } - }, - "visibility": "internal" - } - ], - "id": 76116, - "initialValue": { - "baseExpression": { - "id": 76113, - "name": "proposals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75022, - "src": "19735:9:129", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Proposal_$74776_storage_$", - "typeString": "mapping(uint256 => struct StrategyStruct.Proposal storage ref)" - } - }, - "id": 76115, - "indexExpression": { - "id": 76114, - "name": "proposalId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76091, - "src": "19745:10:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "19735:21:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage", - "typeString": "struct StrategyStruct.Proposal storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "19692:64:129" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_enum$_ProposalType_$74726", - "typeString": "enum StrategyStruct.ProposalType" - }, - "id": 76121, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 76117, - "name": "proposalType", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75005, - "src": "19771:12:129", - "typeDescriptions": { - "typeIdentifier": "t_enum$_ProposalType_$74726", - "typeString": "enum StrategyStruct.ProposalType" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "expression": { - "expression": { - "id": 76118, - "name": "StrategyStruct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74807, - "src": "19787:14:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_StrategyStruct_$74807_$", - "typeString": "type(library StrategyStruct)" - } - }, - "id": 76119, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "19802:12:129", - "memberName": "ProposalType", - "nodeType": "MemberAccess", - "referencedDeclaration": 74726, - "src": "19787:27:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_ProposalType_$74726_$", - "typeString": "type(enum StrategyStruct.ProposalType)" - } - }, - "id": 76120, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "19815:7:129", - "memberName": "Funding", - "nodeType": "MemberAccess", - "referencedDeclaration": 74724, - "src": "19787:35:129", - "typeDescriptions": { - "typeIdentifier": "t_enum$_ProposalType_$74726", - "typeString": "enum StrategyStruct.ProposalType" - } - }, - "src": "19771:51:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 76224, - "nodeType": "IfStatement", - "src": "19767:1208:129", - "trueBody": { - "id": 76223, - "nodeType": "Block", - "src": "19824:1151:129", - "statements": [ - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 76125, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 76122, - "name": "proposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76112, - "src": "19842:8:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal storage pointer" - } - }, - "id": 76123, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "19851:10:129", - "memberName": "proposalId", - "nodeType": "MemberAccess", - "referencedDeclaration": 74751, - "src": "19842:19:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "id": 76124, - "name": "proposalId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76091, - "src": "19865:10:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "19842:33:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 76131, - "nodeType": "IfStatement", - "src": "19838:108:129", - "trueBody": { - "id": 76130, - "nodeType": "Block", - "src": "19877:69:129", - "statements": [ - { - "errorCall": { - "arguments": [ - { - "id": 76127, - "name": "proposalId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76091, - "src": "19920:10:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 76126, - "name": "ProposalNotInList", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74868, - "src": "19902:17:129", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$_t_uint256_$returns$__$", - "typeString": "function (uint256) pure" - } - }, - "id": 76128, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "19902:29:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 76129, - "nodeType": "RevertStatement", - "src": "19895:36:129" - } - ] - } - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 76135, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 76132, - "name": "proposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76112, - "src": "19964:8:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal storage pointer" - } - }, - "id": 76133, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "19973:15:129", - "memberName": "requestedAmount", - "nodeType": "MemberAccess", - "referencedDeclaration": 74753, - "src": "19964:24:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "id": 76134, - "name": "poolAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3343, - "src": "19991:10:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "19964:37:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 76144, - "nodeType": "IfStatement", - "src": "19960:152:129", - "trueBody": { - "id": 76143, - "nodeType": "Block", - "src": "20003:109:129", - "statements": [ - { - "errorCall": { - "arguments": [ - { - "id": 76137, - "name": "proposalId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76091, - "src": "20048:10:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "expression": { - "id": 76138, - "name": "proposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76112, - "src": "20060:8:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal storage pointer" - } - }, - "id": 76139, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "20069:15:129", - "memberName": "requestedAmount", - "nodeType": "MemberAccess", - "referencedDeclaration": 74753, - "src": "20060:24:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 76140, - "name": "poolAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3343, - "src": "20086:10:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 76136, - "name": "PoolAmountNotEnough", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74886, - "src": "20028:19:129", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (uint256,uint256,uint256) pure" - } - }, - "id": 76141, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "20028:69:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 76142, - "nodeType": "RevertStatement", - "src": "20021:76:129" - } - ] - } - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_enum$_ProposalStatus_$74749", - "typeString": "enum StrategyStruct.ProposalStatus" - }, - "id": 76150, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 76145, - "name": "proposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76112, - "src": "20130:8:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal storage pointer" - } - }, - "id": 76146, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "20139:14:129", - "memberName": "proposalStatus", - "nodeType": "MemberAccess", - "referencedDeclaration": 74768, - "src": "20130:23:129", - "typeDescriptions": { - "typeIdentifier": "t_enum$_ProposalStatus_$74749", - "typeString": "enum StrategyStruct.ProposalStatus" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "expression": { - "expression": { - "id": 76147, - "name": "StrategyStruct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74807, - "src": "20157:14:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_StrategyStruct_$74807_$", - "typeString": "type(library StrategyStruct)" - } - }, - "id": 76148, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "20172:14:129", - "memberName": "ProposalStatus", - "nodeType": "MemberAccess", - "referencedDeclaration": 74749, - "src": "20157:29:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_ProposalStatus_$74749_$", - "typeString": "type(enum StrategyStruct.ProposalStatus)" - } - }, - "id": 76149, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "20187:6:129", - "memberName": "Active", - "nodeType": "MemberAccess", - "referencedDeclaration": 74745, - "src": "20157:36:129", - "typeDescriptions": { - "typeIdentifier": "t_enum$_ProposalStatus_$74749", - "typeString": "enum StrategyStruct.ProposalStatus" - } - }, - "src": "20130:63:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 76156, - "nodeType": "IfStatement", - "src": "20126:138:129", - "trueBody": { - "id": 76155, - "nodeType": "Block", - "src": "20195:69:129", - "statements": [ - { - "errorCall": { - "arguments": [ - { - "id": 76152, - "name": "proposalId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76091, - "src": "20238:10:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 76151, - "name": "ProposalNotActive", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74864, - "src": "20220:17:129", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$_t_uint256_$returns$__$", - "typeString": "function (uint256) pure" - } - }, - "id": 76153, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "20220:29:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 76154, - "nodeType": "RevertStatement", - "src": "20213:36:129" - } - ] - } - }, - { - "assignments": [ - 76158 - ], - "declarations": [ - { - "constant": false, - "id": 76158, - "mutability": "mutable", - "name": "convictionLast", - "nameLocation": "20286:14:129", - "nodeType": "VariableDeclaration", - "scope": 76223, - "src": "20278:22:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 76157, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "20278:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 76162, - "initialValue": { - "arguments": [ - { - "id": 76160, - "name": "proposalId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76091, - "src": "20328:10:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 76159, - "name": "updateProposalConviction", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77480, - "src": "20303:24:129", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) returns (uint256)" - } - }, - "id": 76161, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "20303:36:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "20278:61:129" - }, - { - "assignments": [ - 76164 - ], - "declarations": [ - { - "constant": false, - "id": 76164, - "mutability": "mutable", - "name": "threshold", - "nameLocation": "20361:9:129", - "nodeType": "VariableDeclaration", - "scope": 76223, - "src": "20353:17:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 76163, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "20353:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 76169, - "initialValue": { - "arguments": [ - { - "expression": { - "id": 76166, - "name": "proposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76112, - "src": "20392:8:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal storage pointer" - } - }, - "id": 76167, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "20401:15:129", - "memberName": "requestedAmount", - "nodeType": "MemberAccess", - "referencedDeclaration": 74753, - "src": "20392:24:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 76165, - "name": "calculateThreshold", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77236, - "src": "20373:18:129", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) view returns (uint256)" - } - }, - "id": 76168, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "20373:44:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "20353:64:129" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 76177, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 76172, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 76170, - "name": "convictionLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76158, - "src": "20436:14:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "id": 76171, - "name": "threshold", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76164, - "src": "20453:9:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20436:26:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 76176, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 76173, - "name": "proposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76112, - "src": "20466:8:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal storage pointer" - } - }, - "id": 76174, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "20475:15:129", - "memberName": "requestedAmount", - "nodeType": "MemberAccess", - "referencedDeclaration": 74753, - "src": "20466:24:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "hexValue": "30", - "id": 76175, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20493:1:129", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "20466:28:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "20436:58:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 76182, - "nodeType": "IfStatement", - "src": "20432:137:129", - "trueBody": { - "id": 76181, - "nodeType": "Block", - "src": "20496:73:129", - "statements": [ - { - "errorCall": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 76178, - "name": "ConvictionUnderMinimumThreshold", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74876, - "src": "20521:31:129", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 76179, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "20521:33:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 76180, - "nodeType": "RevertStatement", - "src": "20514:40:129" - } - ] - } - }, - { - "assignments": [ - 76187 - ], - "declarations": [ - { - "constant": false, - "id": 76187, - "mutability": "mutable", - "name": "pool", - "nameLocation": "20601:4:129", - "nodeType": "VariableDeclaration", - "scope": 76223, - "src": "20583:22:129", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pool_$2319_memory_ptr", - "typeString": "struct IAllo.Pool" - }, - "typeName": { - "id": 76186, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 76185, - "name": "IAllo.Pool", - "nameLocations": [ - "20583:5:129", - "20589:4:129" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 2319, - "src": "20583:10:129" - }, - "referencedDeclaration": 2319, - "src": "20583:10:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pool_$2319_storage_ptr", - "typeString": "struct IAllo.Pool" - } - }, - "visibility": "internal" - } - ], - "id": 76192, - "initialValue": { - "arguments": [ - { - "id": 76190, - "name": "poolId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3341, - "src": "20621:6:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 76188, - "name": "allo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3335, - "src": "20608:4:129", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IAllo_$2610", - "typeString": "contract IAllo" - } - }, - "id": 76189, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "20613:7:129", - "memberName": "getPool", - "nodeType": "MemberAccess", - "referencedDeclaration": 2603, - "src": "20608:12:129", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_struct$_Pool_$2319_memory_ptr_$", - "typeString": "function (uint256) view external returns (struct IAllo.Pool memory)" - } - }, - "id": 76191, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "20608:20:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pool_$2319_memory_ptr", - "typeString": "struct IAllo.Pool memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "20583:45:129" - }, - { - "expression": { - "id": 76196, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 76193, - "name": "poolAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3343, - "src": "20643:10:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "-=", - "rightHandSide": { - "expression": { - "id": 76194, - "name": "proposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76112, - "src": "20657:8:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal storage pointer" - } - }, - "id": 76195, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "20666:15:129", - "memberName": "requestedAmount", - "nodeType": "MemberAccess", - "referencedDeclaration": 74753, - "src": "20657:24:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20643:38:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 76197, - "nodeType": "ExpressionStatement", - "src": "20643:38:129" - }, - { - "expression": { - "arguments": [ - { - "expression": { - "id": 76199, - "name": "pool", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76187, - "src": "20719:4:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pool_$2319_memory_ptr", - "typeString": "struct IAllo.Pool memory" - } - }, - "id": 76200, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "20724:5:129", - "memberName": "token", - "nodeType": "MemberAccess", - "referencedDeclaration": 2311, - "src": "20719:10:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "expression": { - "id": 76201, - "name": "proposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76112, - "src": "20731:8:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal storage pointer" - } - }, - "id": 76202, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "20740:11:129", - "memberName": "beneficiary", - "nodeType": "MemberAccess", - "referencedDeclaration": 74759, - "src": "20731:20:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "expression": { - "id": 76203, - "name": "proposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76112, - "src": "20753:8:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal storage pointer" - } - }, - "id": 76204, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "20762:15:129", - "memberName": "requestedAmount", - "nodeType": "MemberAccess", - "referencedDeclaration": 74753, - "src": "20753:24:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 76198, - "name": "_transferAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3287, - "src": "20703:15:129", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 76205, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "20703:75:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 76206, - "nodeType": "ExpressionStatement", - "src": "20703:75:129" - }, - { - "expression": { - "id": 76213, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "expression": { - "id": 76207, - "name": "proposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76112, - "src": "20809:8:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal storage pointer" - } - }, - "id": 76209, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberLocation": "20818:14:129", - "memberName": "proposalStatus", - "nodeType": "MemberAccess", - "referencedDeclaration": 74768, - "src": "20809:23:129", - "typeDescriptions": { - "typeIdentifier": "t_enum$_ProposalStatus_$74749", - "typeString": "enum StrategyStruct.ProposalStatus" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "expression": { - "expression": { - "id": 76210, - "name": "StrategyStruct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74807, - "src": "20835:14:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_StrategyStruct_$74807_$", - "typeString": "type(library StrategyStruct)" - } - }, - "id": 76211, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "20850:14:129", - "memberName": "ProposalStatus", - "nodeType": "MemberAccess", - "referencedDeclaration": 74749, - "src": "20835:29:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_ProposalStatus_$74749_$", - "typeString": "type(enum StrategyStruct.ProposalStatus)" - } - }, - "id": 76212, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "20865:8:129", - "memberName": "Executed", - "nodeType": "MemberAccess", - "referencedDeclaration": 74748, - "src": "20835:38:129", - "typeDescriptions": { - "typeIdentifier": "t_enum$_ProposalStatus_$74749", - "typeString": "enum StrategyStruct.ProposalStatus" - } - }, - "src": "20809:64:129", - "typeDescriptions": { - "typeIdentifier": "t_enum$_ProposalStatus_$74749", - "typeString": "enum StrategyStruct.ProposalStatus" - } - }, - "id": 76214, - "nodeType": "ExpressionStatement", - "src": "20809:64:129" - }, - { - "eventCall": { - "arguments": [ - { - "id": 76216, - "name": "proposalId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76091, - "src": "20905:10:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "expression": { - "id": 76217, - "name": "proposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76112, - "src": "20917:8:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal storage pointer" - } - }, - "id": 76218, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "20926:11:129", - "memberName": "beneficiary", - "nodeType": "MemberAccess", - "referencedDeclaration": 74759, - "src": "20917:20:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "expression": { - "id": 76219, - "name": "proposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76112, - "src": "20939:8:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal storage pointer" - } - }, - "id": 76220, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "20948:15:129", - "memberName": "requestedAmount", - "nodeType": "MemberAccess", - "referencedDeclaration": 74753, - "src": "20939:24:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 76215, - "name": "Distributed", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 74905, - 2858 - ], - "referencedDeclaration": 74905, - "src": "20893:11:129", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (uint256,address,uint256)" - } - }, - "id": 76221, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "20893:71:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 76222, - "nodeType": "EmitStatement", - "src": "20888:76:129" - } - ] - } - } - ] - }, - "baseFunctions": [ - 3828 - ], - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_distribute", - "nameLocation": "19294:11:129", - "overrides": { - "id": 76079, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "19362:8:129" - }, - "parameters": { - "id": 76078, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 76073, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 76226, - "src": "19306:16:129", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 76071, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "19306:7:129", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 76072, - "nodeType": "ArrayTypeName", - "src": "19306:9:129", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 76075, - "mutability": "mutable", - "name": "_data", - "nameLocation": "19337:5:129", - "nodeType": "VariableDeclaration", - "scope": 76226, - "src": "19324:18:129", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 76074, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "19324:5:129", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 76077, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 76226, - "src": "19344:7:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 76076, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "19344:7:129", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "19305:47:129" - }, - "returnParameters": { - "id": 76080, - "nodeType": "ParameterList", - "parameters": [], - "src": "19371:0:129" - }, - "scope": 77611, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "id": 76280, - "nodeType": "FunctionDefinition", - "src": "21047:735:129", - "nodes": [], - "body": { - "id": 76279, - "nodeType": "Block", - "src": "21136:646:129", - "nodes": [], - "statements": [ - { - "assignments": [ - 76237 - ], - "declarations": [ - { - "constant": false, - "id": 76237, - "mutability": "mutable", - "name": "proposal", - "nameLocation": "21178:8:129", - "nodeType": "VariableDeclaration", - "scope": 76279, - "src": "21146:40:129", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal" - }, - "typeName": { - "id": 76236, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 76235, - "name": "StrategyStruct.Proposal", - "nameLocations": [ - "21146:14:129", - "21161:8:129" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 74776, - "src": "21146:23:129" - }, - "referencedDeclaration": 74776, - "src": "21146:23:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal" - } - }, - "visibility": "internal" - } - ], - "id": 76241, - "initialValue": { - "baseExpression": { - "id": 76238, - "name": "proposals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75022, - "src": "21189:9:129", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Proposal_$74776_storage_$", - "typeString": "mapping(uint256 => struct StrategyStruct.Proposal storage ref)" - } - }, - "id": 76240, - "indexExpression": { - "id": 76239, - "name": "proposalId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76228, - "src": "21199:10:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "21189:21:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage", - "typeString": "struct StrategyStruct.Proposal storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "21146:64:129" - }, - { - "assignments": [ - 76243, - 76245 - ], - "declarations": [ - { - "constant": false, - "id": 76243, - "mutability": "mutable", - "name": "convictionLast", - "nameLocation": "21304:14:129", - "nodeType": "VariableDeclaration", - "scope": 76279, - "src": "21296:22:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 76242, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "21296:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 76245, - "mutability": "mutable", - "name": "blockNumber", - "nameLocation": "21328:11:129", - "nodeType": "VariableDeclaration", - "scope": 76279, - "src": "21320:19:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 76244, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "21320:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 76251, - "initialValue": { - "arguments": [ - { - "id": 76247, - "name": "proposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76237, - "src": "21389:8:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal storage pointer" - } - }, - { - "expression": { - "id": 76248, - "name": "proposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76237, - "src": "21399:8:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal storage pointer" - } - }, - "id": 76249, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "21408:12:129", - "memberName": "stakedAmount", - "nodeType": "MemberAccess", - "referencedDeclaration": 74755, - "src": "21399:21:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal storage pointer" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 76246, - "name": "_checkBlockAndCalculateConviction", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77432, - "src": "21355:33:129", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Proposal_$74776_storage_ptr_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", - "typeString": "function (struct StrategyStruct.Proposal storage pointer,uint256) view returns (uint256,uint256)" - } - }, - "id": 76250, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "21355:66:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "21295:126:129" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 76258, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 76254, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 76252, - "name": "convictionLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76243, - "src": "21436:14:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "hexValue": "30", - "id": 76253, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "21454:1:129", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "21436:19:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 76257, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 76255, - "name": "blockNumber", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76245, - "src": "21459:11:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "hexValue": "30", - "id": 76256, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "21474:1:129", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "21459:16:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "21436:39:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 76265, - "nodeType": "IfStatement", - "src": "21432:110:129", - "trueBody": { - "id": 76264, - "nodeType": "Block", - "src": "21477:65:129", - "statements": [ - { - "expression": { - "id": 76262, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 76259, - "name": "convictionLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76243, - "src": "21491:14:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "expression": { - "id": 76260, - "name": "proposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76237, - "src": "21508:8:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal storage pointer" - } - }, - "id": 76261, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "21517:14:129", - "memberName": "convictionLast", - "nodeType": "MemberAccess", - "referencedDeclaration": 74757, - "src": "21508:23:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "21491:40:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 76263, - "nodeType": "ExpressionStatement", - "src": "21491:40:129" - } - ] - } - }, - { - "assignments": [ - 76267 - ], - "declarations": [ - { - "constant": false, - "id": 76267, - "mutability": "mutable", - "name": "threshold", - "nameLocation": "21559:9:129", - "nodeType": "VariableDeclaration", - "scope": 76279, - "src": "21551:17:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 76266, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "21551:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 76272, - "initialValue": { - "arguments": [ - { - "expression": { - "id": 76269, - "name": "proposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76237, - "src": "21590:8:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal storage pointer" - } - }, - "id": 76270, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "21599:15:129", - "memberName": "requestedAmount", - "nodeType": "MemberAccess", - "referencedDeclaration": 74753, - "src": "21590:24:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 76268, - "name": "calculateThreshold", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77236, - "src": "21571:18:129", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) view returns (uint256)" - } - }, - "id": 76271, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "21571:44:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "21551:64:129" - }, - { - "expression": { - "id": 76277, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 76273, - "name": "canBeExecuted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76231, - "src": "21732:13:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 76276, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 76274, - "name": "convictionLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76243, - "src": "21748:14:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "id": 76275, - "name": "threshold", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76267, - "src": "21766:9:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "21748:27:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "21732:43:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 76278, - "nodeType": "ExpressionStatement", - "src": "21732:43:129" - } - ] - }, - "functionSelector": "824ea8ed", - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "canExecuteProposal", - "nameLocation": "21056:18:129", - "parameters": { - "id": 76229, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 76228, - "mutability": "mutable", - "name": "proposalId", - "nameLocation": "21083:10:129", - "nodeType": "VariableDeclaration", - "scope": 76280, - "src": "21075:18:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 76227, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "21075:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "21074:20:129" - }, - "returnParameters": { - "id": 76232, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 76231, - "mutability": "mutable", - "name": "canBeExecuted", - "nameLocation": "21121:13:129", - "nodeType": "VariableDeclaration", - "scope": 76280, - "src": "21116:18:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 76230, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "21116:4:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "21115:20:129" - }, - "scope": 77611, - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "id": 76302, - "nodeType": "FunctionDefinition", - "src": "22072:220:129", - "nodes": [], - "body": { - "id": 76301, - "nodeType": "Block", - "src": "22163:129:129", - "nodes": [], - "statements": [ - { - "expression": { - "condition": { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 76294, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 76289, - "name": "_recipientId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76282, - "src": "22223:12:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "arguments": [ - { - "hexValue": "30", - "id": 76292, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "22247:1:129", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 76291, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "22239:7:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 76290, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "22239:7:129", - "typeDescriptions": {} - } - }, - "id": 76293, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "22239:10:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "22223:26:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "expression": { - "id": 76297, - "name": "Status", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2815, - "src": "22270:6:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_Status_$2815_$", - "typeString": "type(enum IStrategy.Status)" - } - }, - "id": 76298, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "22277:8:129", - "memberName": "Accepted", - "nodeType": "MemberAccess", - "referencedDeclaration": 2810, - "src": "22270:15:129", - "typeDescriptions": { - "typeIdentifier": "t_enum$_Status_$2815", - "typeString": "enum IStrategy.Status" - } - }, - "id": 76299, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "22223:62:129", - "trueExpression": { - "expression": { - "id": 76295, - "name": "Status", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2815, - "src": "22252:6:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_Status_$2815_$", - "typeString": "type(enum IStrategy.Status)" - } - }, - "id": 76296, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "22259:8:129", - "memberName": "Rejected", - "nodeType": "MemberAccess", - "referencedDeclaration": 2811, - "src": "22252:15:129", - "typeDescriptions": { - "typeIdentifier": "t_enum$_Status_$2815", - "typeString": "enum IStrategy.Status" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_enum$_Status_$2815", - "typeString": "enum IStrategy.Status" - } - }, - "functionReturnParameters": 76288, - "id": 76300, - "nodeType": "Return", - "src": "22216:69:129" - } - ] - }, - "baseFunctions": [ - 3848 - ], - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_getRecipientStatus", - "nameLocation": "22081:19:129", - "overrides": { - "id": 76284, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "22137:8:129" - }, - "parameters": { - "id": 76283, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 76282, - "mutability": "mutable", - "name": "_recipientId", - "nameLocation": "22109:12:129", - "nodeType": "VariableDeclaration", - "scope": 76302, - "src": "22101:20:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 76281, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "22101:7:129", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "22100:22:129" - }, - "returnParameters": { - "id": 76288, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 76287, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 76302, - "src": "22155:6:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_enum$_Status_$2815", - "typeString": "enum IStrategy.Status" - }, - "typeName": { - "id": 76286, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 76285, - "name": "Status", - "nameLocations": [ - "22155:6:129" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 2815, - "src": "22155:6:129" - }, - "referencedDeclaration": 2815, - "src": "22155:6:129", - "typeDescriptions": { - "typeIdentifier": "t_enum$_Status_$2815", - "typeString": "enum IStrategy.Status" - } - }, - "visibility": "internal" - } - ], - "src": "22154:8:129" - }, - "scope": 77611, - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "id": 76321, - "nodeType": "FunctionDefinition", - "src": "22421:288:129", - "nodes": [], - "body": { - "id": 76320, - "nodeType": "Block", - "src": "22531:178:129", - "nodes": [], - "statements": [ - { - "errorCall": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 76317, - "name": "NotImplemented", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74826, - "src": "22591:14:129", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 76318, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "22591:16:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 76319, - "nodeType": "RevertStatement", - "src": "22584:23:129" - } - ] - }, - "baseFunctions": [ - 3687 - ], - "documentation": { - "id": 76303, - "nodeType": "StructuredDocumentation", - "src": "22298:118:129", - "text": "@return Input the values you would send to distribute(), get the amounts each recipient in the array would receive" - }, - "functionSelector": "b2b878d0", - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getPayouts", - "nameLocation": "22430:10:129", - "overrides": { - "id": 76311, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "22489:8:129" - }, - "parameters": { - "id": 76310, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 76306, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 76321, - "src": "22441:16:129", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 76304, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "22441:7:129", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 76305, - "nodeType": "ArrayTypeName", - "src": "22441:9:129", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 76309, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 76321, - "src": "22459:14:129", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", - "typeString": "bytes[]" - }, - "typeName": { - "baseType": { - "id": 76307, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "22459:5:129", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "id": 76308, - "nodeType": "ArrayTypeName", - "src": "22459:7:129", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bytes_storage_$dyn_storage_ptr", - "typeString": "bytes[]" - } - }, - "visibility": "internal" - } - ], - "src": "22440:34:129" - }, - "returnParameters": { - "id": 76316, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 76315, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 76321, - "src": "22507:22:129", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_PayoutSummary_$2820_memory_ptr_$dyn_memory_ptr", - "typeString": "struct IStrategy.PayoutSummary[]" - }, - "typeName": { - "baseType": { - "id": 76313, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 76312, - "name": "PayoutSummary", - "nameLocations": [ - "22507:13:129" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 2820, - "src": "22507:13:129" - }, - "referencedDeclaration": 2820, - "src": "22507:13:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PayoutSummary_$2820_storage_ptr", - "typeString": "struct IStrategy.PayoutSummary" - } - }, - "id": 76314, - "nodeType": "ArrayTypeName", - "src": "22507:15:129", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_PayoutSummary_$2820_storage_$dyn_storage_ptr", - "typeString": "struct IStrategy.PayoutSummary[]" - } - }, - "visibility": "internal" - } - ], - "src": "22506:24:129" - }, - "scope": 77611, - "stateMutability": "pure", - "virtual": false, - "visibility": "external" - }, - { - "id": 76340, - "nodeType": "FunctionDefinition", - "src": "22715:264:129", - "nodes": [], - "body": { - "id": 76339, - "nodeType": "Block", - "src": "22867:112:129", - "nodes": [], - "statements": [ - { - "expression": { - "id": 76332, - "name": "_data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76325, - "src": "22920:5:129", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 76333, - "nodeType": "ExpressionStatement", - "src": "22920:5:129" - }, - { - "expression": { - "arguments": [ - { - "id": 76335, - "name": "_recipientId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76323, - "src": "22956:12:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "hexValue": "30", - "id": 76336, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "22970:1:129", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 76334, - "name": "PayoutSummary", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2820, - "src": "22942:13:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_PayoutSummary_$2820_storage_ptr_$", - "typeString": "type(struct IStrategy.PayoutSummary storage pointer)" - } - }, - "id": 76337, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "structConstructorCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "22942:30:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_struct$_PayoutSummary_$2820_memory_ptr", - "typeString": "struct IStrategy.PayoutSummary memory" - } - }, - "functionReturnParameters": 76331, - "id": 76338, - "nodeType": "Return", - "src": "22935:37:129" - } - ] - }, - "baseFunctions": [ - 3839 - ], - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_getPayout", - "nameLocation": "22724:10:129", - "overrides": { - "id": 76327, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "22815:8:129" - }, - "parameters": { - "id": 76326, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 76323, - "mutability": "mutable", - "name": "_recipientId", - "nameLocation": "22743:12:129", - "nodeType": "VariableDeclaration", - "scope": 76340, - "src": "22735:20:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 76322, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "22735:7:129", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 76325, - "mutability": "mutable", - "name": "_data", - "nameLocation": "22770:5:129", - "nodeType": "VariableDeclaration", - "scope": 76340, - "src": "22757:18:129", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 76324, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "22757:5:129", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "src": "22734:42:129" - }, - "returnParameters": { - "id": 76331, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 76330, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 76340, - "src": "22841:20:129", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PayoutSummary_$2820_memory_ptr", - "typeString": "struct IStrategy.PayoutSummary" - }, - "typeName": { - "id": 76329, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 76328, - "name": "PayoutSummary", - "nameLocations": [ - "22841:13:129" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 2820, - "src": "22841:13:129" - }, - "referencedDeclaration": 2820, - "src": "22841:13:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PayoutSummary_$2820_storage_ptr", - "typeString": "struct IStrategy.PayoutSummary" - } - }, - "visibility": "internal" - } - ], - "src": "22840:22:129" - }, - "scope": 77611, - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "id": 76351, - "nodeType": "FunctionDefinition", - "src": "22985:127:129", - "nodes": [], - "body": { - "id": 76350, - "nodeType": "Block", - "src": "23062:50:129", - "nodes": [], - "statements": [ - { - "eventCall": { - "arguments": [ - { - "id": 76347, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76342, - "src": "23097:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 76346, - "name": "PoolAmountIncreased", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74915, - "src": "23077:19:129", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 76348, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "23077:28:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 76349, - "nodeType": "EmitStatement", - "src": "23072:33:129" - } - ] - }, - "baseFunctions": [ - 3862 - ], - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_afterIncreasePoolAmount", - "nameLocation": "22994:24:129", - "overrides": { - "id": 76344, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "23053:8:129" - }, - "parameters": { - "id": 76343, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 76342, - "mutability": "mutable", - "name": "_amount", - "nameLocation": "23027:7:129", - "nodeType": "VariableDeclaration", - "scope": 76351, - "src": "23019:15:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 76341, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "23019:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "23018:17:129" - }, - "returnParameters": { - "id": 76345, - "nodeType": "ParameterList", - "parameters": [], - "src": "23062:0:129" - }, - "scope": 77611, - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - }, - { - "id": 76370, - "nodeType": "FunctionDefinition", - "src": "23207:191:129", - "nodes": [], - "body": { - "id": 76369, - "nodeType": "Block", - "src": "23292:106:129", - "nodes": [], - "statements": [ - { - "expression": { - "condition": { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 76364, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 76359, - "name": "_allocator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76353, - "src": "23352:10:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "arguments": [ - { - "hexValue": "30", - "id": 76362, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "23374:1:129", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 76361, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "23366:7:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 76360, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "23366:7:129", - "typeDescriptions": {} - } - }, - "id": 76363, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "23366:10:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "23352:24:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "hexValue": "74727565", - "id": 76366, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "23387:4:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "id": 76367, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "23352:39:129", - "trueExpression": { - "hexValue": "66616c7365", - "id": 76365, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "23379:5:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 76358, - "id": 76368, - "nodeType": "Return", - "src": "23345:46:129" - } - ] - }, - "baseFunctions": [ - 3799 - ], - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_isValidAllocator", - "nameLocation": "23216:17:129", - "overrides": { - "id": 76355, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "23268:8:129" - }, - "parameters": { - "id": 76354, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 76353, - "mutability": "mutable", - "name": "_allocator", - "nameLocation": "23242:10:129", - "nodeType": "VariableDeclaration", - "scope": 76370, - "src": "23234:18:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 76352, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "23234:7:129", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "23233:20:129" - }, - "returnParameters": { - "id": 76358, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 76357, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 76370, - "src": "23286:4:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 76356, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "23286:4:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "23285:6:129" - }, - "scope": 77611, - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "id": 76380, - "nodeType": "FunctionDefinition", - "src": "23404:86:129", - "nodes": [], - "body": { - "id": 76379, - "nodeType": "Block", - "src": "23450:40:129", - "nodes": [], - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 76376, - "name": "_active", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76372, - "src": "23475:7:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 76375, - "name": "_setPoolActive", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3782, - "src": "23460:14:129", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bool_$returns$__$", - "typeString": "function (bool)" - } - }, - "id": 76377, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "23460:23:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 76378, - "nodeType": "ExpressionStatement", - "src": "23460:23:129" - } - ] - }, - "functionSelector": "b5f620ce", - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "setPoolActive", - "nameLocation": "23413:13:129", - "parameters": { - "id": 76373, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 76372, - "mutability": "mutable", - "name": "_active", - "nameLocation": "23432:7:129", - "nodeType": "VariableDeclaration", - "scope": 76380, - "src": "23427:12:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 76371, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "23427:4:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "23426:14:129" - }, - "returnParameters": { - "id": 76374, - "nodeType": "ParameterList", - "parameters": [], - "src": "23450:0:129" - }, - "scope": 77611, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "id": 76468, - "nodeType": "FunctionDefinition", - "src": "23496:836:129", - "nodes": [], - "body": { - "id": 76467, - "nodeType": "Block", - "src": "23540:792:129", - "nodes": [], - "statements": [ - { - "assignments": [ - 76389 - ], - "declarations": [ - { - "constant": false, - "id": 76389, - "mutability": "mutable", - "name": "proposalsIds", - "nameLocation": "23615:12:129", - "nodeType": "VariableDeclaration", - "scope": 76467, - "src": "23598:29:129", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 76387, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "23598:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 76388, - "nodeType": "ArrayTypeName", - "src": "23598:9:129", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "visibility": "internal" - } - ], - "id": 76393, - "initialValue": { - "baseExpression": { - "id": 76390, - "name": "voterStakedProposals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75031, - "src": "23630:20:129", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$", - "typeString": "mapping(address => uint256[] storage ref)" - } - }, - "id": 76392, - "indexExpression": { - "id": 76391, - "name": "_member", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76382, - "src": "23651:7:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "23630:29:129", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "23598:61:129" - }, - { - "body": { - "id": 76465, - "nodeType": "Block", - "src": "23719:607:129", - "statements": [ - { - "assignments": [ - 76406 - ], - "declarations": [ - { - "constant": false, - "id": 76406, - "mutability": "mutable", - "name": "proposalId", - "nameLocation": "23741:10:129", - "nodeType": "VariableDeclaration", - "scope": 76465, - "src": "23733:18:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 76405, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "23733:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 76410, - "initialValue": { - "baseExpression": { - "id": 76407, - "name": "proposalsIds", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76389, - "src": "23754:12:129", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 76409, - "indexExpression": { - "id": 76408, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76395, - "src": "23767:1:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "23754:15:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "23733:36:129" - }, - { - "assignments": [ - 76415 - ], - "declarations": [ - { - "constant": false, - "id": 76415, - "mutability": "mutable", - "name": "proposal", - "nameLocation": "23815:8:129", - "nodeType": "VariableDeclaration", - "scope": 76465, - "src": "23783:40:129", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal" - }, - "typeName": { - "id": 76414, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 76413, - "name": "StrategyStruct.Proposal", - "nameLocations": [ - "23783:14:129", - "23798:8:129" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 74776, - "src": "23783:23:129" - }, - "referencedDeclaration": 74776, - "src": "23783:23:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal" - } - }, - "visibility": "internal" - } - ], - "id": 76419, - "initialValue": { - "baseExpression": { - "id": 76416, - "name": "proposals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75022, - "src": "23826:9:129", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Proposal_$74776_storage_$", - "typeString": "mapping(uint256 => struct StrategyStruct.Proposal storage ref)" - } - }, - "id": 76418, - "indexExpression": { - "id": 76417, - "name": "proposalId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76406, - "src": "23836:10:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "23826:21:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage", - "typeString": "struct StrategyStruct.Proposal storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "23783:64:129" - }, - { - "condition": { - "arguments": [ - { - "id": 76421, - "name": "proposalId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76406, - "src": "23880:10:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 76420, - "name": "proposalExists", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76656, - "src": "23865:14:129", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) view returns (bool)" - } - }, - "id": 76422, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "23865:26:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 76464, - "nodeType": "IfStatement", - "src": "23861:455:129", - "trueBody": { - "id": 76463, - "nodeType": "Block", - "src": "23893:423:129", - "statements": [ - { - "assignments": [ - 76424 - ], - "declarations": [ - { - "constant": false, - "id": 76424, - "mutability": "mutable", - "name": "stakedPoints", - "nameLocation": "23919:12:129", - "nodeType": "VariableDeclaration", - "scope": 76463, - "src": "23911:20:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 76423, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "23911:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 76429, - "initialValue": { - "baseExpression": { - "expression": { - "id": 76425, - "name": "proposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76415, - "src": "23934:8:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal storage pointer" - } - }, - "id": 76426, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "23943:17:129", - "memberName": "voterStakedPoints", - "nodeType": "MemberAccess", - "referencedDeclaration": 74772, - "src": "23934:26:129", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 76428, - "indexExpression": { - "id": 76427, - "name": "_member", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76382, - "src": "23961:7:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "23934:35:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "23911:58:129" - }, - { - "expression": { - "id": 76436, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "expression": { - "id": 76430, - "name": "proposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76415, - "src": "23987:8:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal storage pointer" - } - }, - "id": 76433, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "23996:17:129", - "memberName": "voterStakedPoints", - "nodeType": "MemberAccess", - "referencedDeclaration": 74772, - "src": "23987:26:129", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 76434, - "indexExpression": { - "id": 76432, - "name": "_member", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76382, - "src": "24014:7:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "23987:35:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "hexValue": "30", - "id": 76435, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "24025:1:129", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "23987:39:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 76437, - "nodeType": "ExpressionStatement", - "src": "23987:39:129" - }, - { - "expression": { - "id": 76442, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "expression": { - "id": 76438, - "name": "proposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76415, - "src": "24044:8:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal storage pointer" - } - }, - "id": 76440, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberLocation": "24053:12:129", - "memberName": "stakedAmount", - "nodeType": "MemberAccess", - "referencedDeclaration": 74755, - "src": "24044:21:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "-=", - "rightHandSide": { - "id": 76441, - "name": "stakedPoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76424, - "src": "24069:12:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "24044:37:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 76443, - "nodeType": "ExpressionStatement", - "src": "24044:37:129" - }, - { - "expression": { - "id": 76446, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 76444, - "name": "totalStaked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74995, - "src": "24099:11:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "-=", - "rightHandSide": { - "id": 76445, - "name": "stakedPoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76424, - "src": "24114:12:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "24099:27:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 76447, - "nodeType": "ExpressionStatement", - "src": "24099:27:129" - }, - { - "expression": { - "arguments": [ - { - "id": 76449, - "name": "proposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76415, - "src": "24171:8:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal storage pointer" - } - }, - { - "id": 76450, - "name": "stakedPoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76424, - "src": "24181:12:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal storage pointer" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 76448, - "name": "_calculateAndSetConviction", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77385, - "src": "24144:26:129", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Proposal_$74776_storage_ptr_$_t_uint256_$returns$__$", - "typeString": "function (struct StrategyStruct.Proposal storage pointer,uint256)" - } - }, - "id": 76451, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "24144:50:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 76452, - "nodeType": "ExpressionStatement", - "src": "24144:50:129" - }, - { - "eventCall": { - "arguments": [ - { - "id": 76454, - "name": "_member", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76382, - "src": "24230:7:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 76455, - "name": "proposalId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76406, - "src": "24239:10:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "hexValue": "30", - "id": 76456, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "24251:1:129", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - { - "expression": { - "id": 76457, - "name": "proposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76415, - "src": "24254:8:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal storage pointer" - } - }, - "id": 76458, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "24263:12:129", - "memberName": "stakedAmount", - "nodeType": "MemberAccess", - "referencedDeclaration": 74755, - "src": "24254:21:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "expression": { - "id": 76459, - "name": "proposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76415, - "src": "24277:8:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal storage pointer" - } - }, - "id": 76460, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "24286:14:129", - "memberName": "convictionLast", - "nodeType": "MemberAccess", - "referencedDeclaration": 74757, - "src": "24277:23:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 76453, - "name": "SupportAdded", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74943, - "src": "24217:12:129", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256,uint256,uint256,uint256)" - } - }, - "id": 76461, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "24217:84:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 76462, - "nodeType": "EmitStatement", - "src": "24212:89:129" - } - ] - } - } - ] - }, - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 76401, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 76398, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76395, - "src": "23689:1:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "expression": { - "id": 76399, - "name": "proposalsIds", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76389, - "src": "23693:12:129", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 76400, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "23706:6:129", - "memberName": "length", - "nodeType": "MemberAccess", - "src": "23693:19:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "23689:23:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 76466, - "initializationExpression": { - "assignments": [ - 76395 - ], - "declarations": [ - { - "constant": false, - "id": 76395, - "mutability": "mutable", - "name": "i", - "nameLocation": "23682:1:129", - "nodeType": "VariableDeclaration", - "scope": 76466, - "src": "23674:9:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 76394, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "23674:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 76397, - "initialValue": { - "hexValue": "30", - "id": 76396, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "23686:1:129", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "23674:13:129" - }, - "loopExpression": { - "expression": { - "id": 76403, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "23714:3:129", - "subExpression": { - "id": 76402, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76395, - "src": "23714:1:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 76404, - "nodeType": "ExpressionStatement", - "src": "23714:3:129" - }, - "nodeType": "ForStatement", - "src": "23669:657:129" - } - ] - }, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "withdraw", - "nameLocation": "23505:8:129", - "parameters": { - "id": 76383, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 76382, - "mutability": "mutable", - "name": "_member", - "nameLocation": "23522:7:129", - "nodeType": "VariableDeclaration", - "scope": 76468, - "src": "23514:15:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 76381, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "23514:7:129", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "23513:17:129" - }, - "returnParameters": { - "id": 76384, - "nodeType": "ParameterList", - "parameters": [], - "src": "23540:0:129" - }, - "scope": 77611, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "id": 76542, - "nodeType": "FunctionDefinition", - "src": "24894:1038:129", - "nodes": [], - "body": { - "id": 76541, - "nodeType": "Block", - "src": "25363:569:129", - "nodes": [], - "statements": [ - { - "assignments": [ - 76499 - ], - "declarations": [ - { - "constant": false, - "id": 76499, - "mutability": "mutable", - "name": "proposal", - "nameLocation": "25405:8:129", - "nodeType": "VariableDeclaration", - "scope": 76541, - "src": "25373:40:129", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal" - }, - "typeName": { - "id": 76498, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 76497, - "name": "StrategyStruct.Proposal", - "nameLocations": [ - "25373:14:129", - "25388:8:129" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 74776, - "src": "25373:23:129" - }, - "referencedDeclaration": 74776, - "src": "25373:23:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal" - } - }, - "visibility": "internal" - } - ], - "id": 76503, - "initialValue": { - "baseExpression": { - "id": 76500, - "name": "proposals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75022, - "src": "25416:9:129", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Proposal_$74776_storage_$", - "typeString": "mapping(uint256 => struct StrategyStruct.Proposal storage ref)" - } - }, - "id": 76502, - "indexExpression": { - "id": 76501, - "name": "_proposalId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76471, - "src": "25426:11:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "25416:22:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage", - "typeString": "struct StrategyStruct.Proposal storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "25373:65:129" - }, - { - "expression": { - "id": 76515, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 76504, - "name": "threshold", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76491, - "src": "25449:9:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 76508, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 76505, - "name": "proposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76499, - "src": "25461:8:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal storage pointer" - } - }, - "id": 76506, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "25470:15:129", - "memberName": "requestedAmount", - "nodeType": "MemberAccess", - "referencedDeclaration": 74753, - "src": "25461:24:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "hexValue": "30", - "id": 76507, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "25489:1:129", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "25461:29:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "arguments": [ - { - "expression": { - "id": 76511, - "name": "proposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76499, - "src": "25516:8:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal storage pointer" - } - }, - "id": 76512, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "25525:15:129", - "memberName": "requestedAmount", - "nodeType": "MemberAccess", - "referencedDeclaration": 74753, - "src": "25516:24:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 76510, - "name": "calculateThreshold", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77236, - "src": "25497:18:129", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) view returns (uint256)" - } - }, - "id": 76513, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "25497:44:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 76514, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "25461:80:129", - "trueExpression": { - "hexValue": "30", - "id": 76509, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "25493:1:129", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "25449:92:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 76516, - "nodeType": "ExpressionStatement", - "src": "25449:92:129" - }, - { - "expression": { - "components": [ - { - "expression": { - "id": 76517, - "name": "proposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76499, - "src": "25572:8:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal storage pointer" - } - }, - "id": 76518, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "25581:9:129", - "memberName": "submitter", - "nodeType": "MemberAccess", - "referencedDeclaration": 74761, - "src": "25572:18:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "expression": { - "id": 76519, - "name": "proposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76499, - "src": "25604:8:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal storage pointer" - } - }, - "id": 76520, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "25613:11:129", - "memberName": "beneficiary", - "nodeType": "MemberAccess", - "referencedDeclaration": 74759, - "src": "25604:20:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "expression": { - "id": 76521, - "name": "proposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76499, - "src": "25638:8:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal storage pointer" - } - }, - "id": 76522, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "25647:14:129", - "memberName": "requestedToken", - "nodeType": "MemberAccess", - "referencedDeclaration": 74763, - "src": "25638:23:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "expression": { - "id": 76523, - "name": "proposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76499, - "src": "25675:8:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal storage pointer" - } - }, - "id": 76524, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "25684:15:129", - "memberName": "requestedAmount", - "nodeType": "MemberAccess", - "referencedDeclaration": 74753, - "src": "25675:24:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "expression": { - "id": 76525, - "name": "proposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76499, - "src": "25713:8:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal storage pointer" - } - }, - "id": 76526, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "25722:12:129", - "memberName": "stakedAmount", - "nodeType": "MemberAccess", - "referencedDeclaration": 74755, - "src": "25713:21:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "expression": { - "id": 76527, - "name": "proposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76499, - "src": "25748:8:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal storage pointer" - } - }, - "id": 76528, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "25757:14:129", - "memberName": "proposalStatus", - "nodeType": "MemberAccess", - "referencedDeclaration": 74768, - "src": "25748:23:129", - "typeDescriptions": { - "typeIdentifier": "t_enum$_ProposalStatus_$74749", - "typeString": "enum StrategyStruct.ProposalStatus" - } - }, - { - "expression": { - "id": 76529, - "name": "proposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76499, - "src": "25785:8:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal storage pointer" - } - }, - "id": 76530, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "25794:9:129", - "memberName": "blockLast", - "nodeType": "MemberAccess", - "referencedDeclaration": 74765, - "src": "25785:18:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "expression": { - "id": 76531, - "name": "proposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76499, - "src": "25817:8:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal storage pointer" - } - }, - "id": 76532, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "25826:14:129", - "memberName": "convictionLast", - "nodeType": "MemberAccess", - "referencedDeclaration": 74757, - "src": "25817:23:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 76533, - "name": "threshold", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76491, - "src": "25854:9:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "baseExpression": { - "expression": { - "id": 76534, - "name": "proposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76499, - "src": "25877:8:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal storage pointer" - } - }, - "id": 76535, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "25886:17:129", - "memberName": "voterStakedPoints", - "nodeType": "MemberAccess", - "referencedDeclaration": 74772, - "src": "25877:26:129", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 76538, - "indexExpression": { - "expression": { - "id": 76536, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "25904:3:129", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 76537, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "25908:6:129", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "25904:10:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "25877:38:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 76539, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "25558:367:129", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_address_$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_enum$_ProposalStatus_$74749_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$", - "typeString": "tuple(address,address,address,uint256,uint256,enum StrategyStruct.ProposalStatus,uint256,uint256,uint256,uint256)" - } - }, - "functionReturnParameters": 76494, - "id": 76540, - "nodeType": "Return", - "src": "25551:374:129" - } - ] - }, - "documentation": { - "id": 76469, - "nodeType": "StructuredDocumentation", - "src": "24338:551:129", - "text": " @dev Get proposal details\n @param _proposalId Proposal id\n @return submitter Proposal submitter\n @return beneficiary Proposal beneficiary\n @return requestedToken Proposal requested token\n @return requestedAmount Proposal requested amount\n @return stakedAmount Proposal staked points\n @return proposalStatus Proposal status\n @return blockLast Last block when conviction was calculated\n @return convictionLast Last conviction calculated\n @return threshold Proposal threshold" - }, - "functionSelector": "c7f758a8", - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getProposal", - "nameLocation": "24903:11:129", - "parameters": { - "id": 76472, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 76471, - "mutability": "mutable", - "name": "_proposalId", - "nameLocation": "24923:11:129", - "nodeType": "VariableDeclaration", - "scope": 76542, - "src": "24915:19:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 76470, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "24915:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "24914:21:129" - }, - "returnParameters": { - "id": 76494, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 76474, - "mutability": "mutable", - "name": "submitter", - "nameLocation": "25004:9:129", - "nodeType": "VariableDeclaration", - "scope": 76542, - "src": "24996:17:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 76473, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "24996:7:129", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 76476, - "mutability": "mutable", - "name": "beneficiary", - "nameLocation": "25035:11:129", - "nodeType": "VariableDeclaration", - "scope": 76542, - "src": "25027:19:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 76475, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "25027:7:129", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 76478, - "mutability": "mutable", - "name": "requestedToken", - "nameLocation": "25068:14:129", - "nodeType": "VariableDeclaration", - "scope": 76542, - "src": "25060:22:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 76477, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "25060:7:129", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 76480, - "mutability": "mutable", - "name": "requestedAmount", - "nameLocation": "25104:15:129", - "nodeType": "VariableDeclaration", - "scope": 76542, - "src": "25096:23:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 76479, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "25096:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 76482, - "mutability": "mutable", - "name": "stakedAmount", - "nameLocation": "25141:12:129", - "nodeType": "VariableDeclaration", - "scope": 76542, - "src": "25133:20:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 76481, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "25133:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 76485, - "mutability": "mutable", - "name": "proposalStatus", - "nameLocation": "25197:14:129", - "nodeType": "VariableDeclaration", - "scope": 76542, - "src": "25167:44:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_enum$_ProposalStatus_$74749", - "typeString": "enum StrategyStruct.ProposalStatus" - }, - "typeName": { - "id": 76484, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 76483, - "name": "StrategyStruct.ProposalStatus", - "nameLocations": [ - "25167:14:129", - "25182:14:129" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 74749, - "src": "25167:29:129" - }, - "referencedDeclaration": 74749, - "src": "25167:29:129", - "typeDescriptions": { - "typeIdentifier": "t_enum$_ProposalStatus_$74749", - "typeString": "enum StrategyStruct.ProposalStatus" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 76487, - "mutability": "mutable", - "name": "blockLast", - "nameLocation": "25233:9:129", - "nodeType": "VariableDeclaration", - "scope": 76542, - "src": "25225:17:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 76486, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "25225:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 76489, - "mutability": "mutable", - "name": "convictionLast", - "nameLocation": "25264:14:129", - "nodeType": "VariableDeclaration", - "scope": 76542, - "src": "25256:22:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 76488, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "25256:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 76491, - "mutability": "mutable", - "name": "threshold", - "nameLocation": "25300:9:129", - "nodeType": "VariableDeclaration", - "scope": 76542, - "src": "25292:17:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 76490, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "25292:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 76493, - "mutability": "mutable", - "name": "voterStakedPoints", - "nameLocation": "25331:17:129", - "nodeType": "VariableDeclaration", - "scope": 76542, - "src": "25323:25:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 76492, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "25323:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "24982:376:129" - }, - "scope": 77611, - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "id": 76563, - "nodeType": "FunctionDefinition", - "src": "25938:198:129", - "nodes": [], - "body": { - "id": 76562, - "nodeType": "Block", - "src": "26020:116:129", - "nodes": [], - "statements": [ - { - "assignments": [ - 76554 - ], - "declarations": [ - { - "constant": false, - "id": 76554, - "mutability": "mutable", - "name": "proposal", - "nameLocation": "26062:8:129", - "nodeType": "VariableDeclaration", - "scope": 76562, - "src": "26030:40:129", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal" - }, - "typeName": { - "id": 76553, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 76552, - "name": "StrategyStruct.Proposal", - "nameLocations": [ - "26030:14:129", - "26045:8:129" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 74776, - "src": "26030:23:129" - }, - "referencedDeclaration": 74776, - "src": "26030:23:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal" - } - }, - "visibility": "internal" - } - ], - "id": 76558, - "initialValue": { - "baseExpression": { - "id": 76555, - "name": "proposals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75022, - "src": "26073:9:129", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Proposal_$74776_storage_$", - "typeString": "mapping(uint256 => struct StrategyStruct.Proposal storage ref)" - } - }, - "id": 76557, - "indexExpression": { - "id": 76556, - "name": "_proposalId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76544, - "src": "26083:11:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "26073:22:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage", - "typeString": "struct StrategyStruct.Proposal storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "26030:65:129" - }, - { - "expression": { - "expression": { - "id": 76559, - "name": "proposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76554, - "src": "26112:8:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal storage pointer" - } - }, - "id": 76560, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "26121:8:129", - "memberName": "metadata", - "nodeType": "MemberAccess", - "referencedDeclaration": 74775, - "src": "26112:17:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Metadata_$3098_storage", - "typeString": "struct Metadata storage ref" - } - }, - "functionReturnParameters": 76549, - "id": 76561, - "nodeType": "Return", - "src": "26105:24:129" - } - ] - }, - "functionSelector": "a574cea4", - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getMetadata", - "nameLocation": "25947:11:129", - "parameters": { - "id": 76545, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 76544, - "mutability": "mutable", - "name": "_proposalId", - "nameLocation": "25967:11:129", - "nodeType": "VariableDeclaration", - "scope": 76563, - "src": "25959:19:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 76543, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "25959:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "25958:21:129" - }, - "returnParameters": { - "id": 76549, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 76548, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 76563, - "src": "26003:15:129", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Metadata_$3098_memory_ptr", - "typeString": "struct Metadata" - }, - "typeName": { - "id": 76547, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 76546, - "name": "Metadata", - "nameLocations": [ - "26003:8:129" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 3098, - "src": "26003:8:129" - }, - "referencedDeclaration": 3098, - "src": "26003:8:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Metadata_$3098_storage_ptr", - "typeString": "struct Metadata" - } - }, - "visibility": "internal" - } - ], - "src": "26002:17:129" - }, - "scope": 77611, - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "id": 76579, - "nodeType": "FunctionDefinition", - "src": "26337:176:129", - "nodes": [], - "body": { - "id": 76578, - "nodeType": "Block", - "src": "26437:76:129", - "nodes": [], - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 76574, - "name": "_proposalId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76566, - "src": "26486:11:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 76575, - "name": "_voter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76568, - "src": "26499:6:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 76573, - "name": "_internal_getProposalVoterStake", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76621, - "src": "26454:31:129", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_address_$returns$_t_uint256_$", - "typeString": "function (uint256,address) view returns (uint256)" - } - }, - "id": 76576, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "26454:52:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 76572, - "id": 76577, - "nodeType": "Return", - "src": "26447:59:129" - } - ] - }, - "documentation": { - "id": 76564, - "nodeType": "StructuredDocumentation", - "src": "26142:190:129", - "text": " @notice Get stake of voter `_voter` on proposal #`_proposalId`\n @param _proposalId Proposal id\n @param _voter Voter address\n @return Proposal voter stake" - }, - "functionSelector": "e0dd2c38", - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getProposalVoterStake", - "nameLocation": "26346:21:129", - "parameters": { - "id": 76569, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 76566, - "mutability": "mutable", - "name": "_proposalId", - "nameLocation": "26376:11:129", - "nodeType": "VariableDeclaration", - "scope": 76579, - "src": "26368:19:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 76565, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "26368:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 76568, - "mutability": "mutable", - "name": "_voter", - "nameLocation": "26397:6:129", - "nodeType": "VariableDeclaration", - "scope": 76579, - "src": "26389:14:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 76567, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "26389:7:129", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "26367:37:129" - }, - "returnParameters": { - "id": 76572, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 76571, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 76579, - "src": "26428:7:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 76570, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "26428:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "26427:9:129" - }, - "scope": 77611, - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "id": 76592, - "nodeType": "FunctionDefinition", - "src": "26519:145:129", - "nodes": [], - "body": { - "id": 76591, - "nodeType": "Block", - "src": "26605:59:129", - "nodes": [], - "statements": [ - { - "expression": { - "expression": { - "baseExpression": { - "id": 76586, - "name": "proposals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75022, - "src": "26622:9:129", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Proposal_$74776_storage_$", - "typeString": "mapping(uint256 => struct StrategyStruct.Proposal storage ref)" - } - }, - "id": 76588, - "indexExpression": { - "id": 76587, - "name": "_proposalId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76581, - "src": "26632:11:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "26622:22:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage", - "typeString": "struct StrategyStruct.Proposal storage ref" - } - }, - "id": 76589, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "26645:12:129", - "memberName": "stakedAmount", - "nodeType": "MemberAccess", - "referencedDeclaration": 74755, - "src": "26622:35:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 76585, - "id": 76590, - "nodeType": "Return", - "src": "26615:42:129" - } - ] - }, - "functionSelector": "dc96ff2d", - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getProposalStakedAmount", - "nameLocation": "26528:23:129", - "parameters": { - "id": 76582, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 76581, - "mutability": "mutable", - "name": "_proposalId", - "nameLocation": "26560:11:129", - "nodeType": "VariableDeclaration", - "scope": 76592, - "src": "26552:19:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 76580, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "26552:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "26551:21:129" - }, - "returnParameters": { - "id": 76585, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 76584, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 76592, - "src": "26596:7:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 76583, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "26596:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "26595:9:129" - }, - "scope": 77611, - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "id": 76604, - "nodeType": "FunctionDefinition", - "src": "26733:127:129", - "nodes": [], - "body": { - "id": 76603, - "nodeType": "Block", - "src": "26810:50:129", - "nodes": [], - "statements": [ - { - "expression": { - "baseExpression": { - "id": 76599, - "name": "totalVoterStakePct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75026, - "src": "26827:18:129", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 76601, - "indexExpression": { - "id": 76600, - "name": "_voter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76594, - "src": "26846:6:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "26827:26:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 76598, - "id": 76602, - "nodeType": "Return", - "src": "26820:33:129" - } - ] - }, - "functionSelector": "bcc5b93b", - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getTotalVoterStakePct", - "nameLocation": "26742:21:129", - "parameters": { - "id": 76595, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 76594, - "mutability": "mutable", - "name": "_voter", - "nameLocation": "26772:6:129", - "nodeType": "VariableDeclaration", - "scope": 76604, - "src": "26764:14:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 76593, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "26764:7:129", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "26763:16:129" - }, - "returnParameters": { - "id": 76598, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 76597, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 76604, - "src": "26801:7:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 76596, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "26801:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "26800:9:129" - }, - "scope": 77611, - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "id": 76621, - "nodeType": "FunctionDefinition", - "src": "26866:182:129", - "nodes": [], - "body": { - "id": 76620, - "nodeType": "Block", - "src": "26976:72:129", - "nodes": [], - "statements": [ - { - "expression": { - "baseExpression": { - "expression": { - "baseExpression": { - "id": 76613, - "name": "proposals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75022, - "src": "26993:9:129", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Proposal_$74776_storage_$", - "typeString": "mapping(uint256 => struct StrategyStruct.Proposal storage ref)" - } - }, - "id": 76615, - "indexExpression": { - "id": 76614, - "name": "_proposalId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76606, - "src": "27003:11:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "26993:22:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage", - "typeString": "struct StrategyStruct.Proposal storage ref" - } - }, - "id": 76616, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "27016:17:129", - "memberName": "voterStakedPoints", - "nodeType": "MemberAccess", - "referencedDeclaration": 74772, - "src": "26993:40:129", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 76618, - "indexExpression": { - "id": 76617, - "name": "_voter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76608, - "src": "27034:6:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "26993:48:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 76612, - "id": 76619, - "nodeType": "Return", - "src": "26986:55:129" - } - ] - }, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_internal_getProposalVoterStake", - "nameLocation": "26875:31:129", - "parameters": { - "id": 76609, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 76606, - "mutability": "mutable", - "name": "_proposalId", - "nameLocation": "26915:11:129", - "nodeType": "VariableDeclaration", - "scope": 76621, - "src": "26907:19:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 76605, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "26907:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 76608, - "mutability": "mutable", - "name": "_voter", - "nameLocation": "26936:6:129", - "nodeType": "VariableDeclaration", - "scope": 76621, - "src": "26928:14:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 76607, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "26928:7:129", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "26906:37:129" - }, - "returnParameters": { - "id": 76612, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 76611, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 76621, - "src": "26967:7:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 76610, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "26967:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "26966:9:129" - }, - "scope": 77611, - "stateMutability": "view", - "virtual": false, - "visibility": "internal" - }, - { - "id": 76631, - "nodeType": "FunctionDefinition", - "src": "27054:145:129", - "nodes": [], - "body": { - "id": 76630, - "nodeType": "Block", - "src": "27118:81:129", - "nodes": [], - "statements": [ - { - "expression": { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "id": 76626, - "name": "registryCommunity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75014, - "src": "27135:17:129", - "typeDescriptions": { - "typeIdentifier": "t_contract$_RegistryCommunity_$83082", - "typeString": "contract RegistryCommunity" - } - }, - "id": 76627, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "27153:20:129", - "memberName": "getBasisStakedAmount", - "nodeType": "MemberAccess", - "referencedDeclaration": 82879, - "src": "27135:38:129", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", - "typeString": "function () view external returns (uint256)" - } - }, - "id": 76628, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "27135:40:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 76625, - "id": 76629, - "nodeType": "Return", - "src": "27128:47:129" - } - ] - }, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getBasisStakedAmount", - "nameLocation": "27063:20:129", - "parameters": { - "id": 76622, - "nodeType": "ParameterList", - "parameters": [], - "src": "27083:2:129" - }, - "returnParameters": { - "id": 76625, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 76624, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 76631, - "src": "27109:7:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 76623, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "27109:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "27108:9:129" - }, - "scope": 77611, - "stateMutability": "view", - "virtual": false, - "visibility": "internal" - }, - { - "id": 76656, - "nodeType": "FunctionDefinition", - "src": "27205:185:129", - "nodes": [], - "body": { - "id": 76655, - "nodeType": "Block", - "src": "27279:111:129", - "nodes": [], - "statements": [ - { - "expression": { - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 76653, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 76643, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "baseExpression": { - "id": 76638, - "name": "proposals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75022, - "src": "27296:9:129", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Proposal_$74776_storage_$", - "typeString": "mapping(uint256 => struct StrategyStruct.Proposal storage ref)" - } - }, - "id": 76640, - "indexExpression": { - "id": 76639, - "name": "_proposalID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76633, - "src": "27306:11:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "27296:22:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage", - "typeString": "struct StrategyStruct.Proposal storage ref" - } - }, - "id": 76641, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "27319:10:129", - "memberName": "proposalId", - "nodeType": "MemberAccess", - "referencedDeclaration": 74751, - "src": "27296:33:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "hexValue": "30", - "id": 76642, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "27332:1:129", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "27296:37:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 76652, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "baseExpression": { - "id": 76644, - "name": "proposals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75022, - "src": "27337:9:129", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Proposal_$74776_storage_$", - "typeString": "mapping(uint256 => struct StrategyStruct.Proposal storage ref)" - } - }, - "id": 76646, - "indexExpression": { - "id": 76645, - "name": "_proposalID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76633, - "src": "27347:11:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "27337:22:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage", - "typeString": "struct StrategyStruct.Proposal storage ref" - } - }, - "id": 76647, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "27360:9:129", - "memberName": "submitter", - "nodeType": "MemberAccess", - "referencedDeclaration": 74761, - "src": "27337:32:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "arguments": [ - { - "hexValue": "30", - "id": 76650, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "27381:1:129", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 76649, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "27373:7:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 76648, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "27373:7:129", - "typeDescriptions": {} - } - }, - "id": 76651, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "27373:10:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "27337:46:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "27296:87:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 76637, - "id": 76654, - "nodeType": "Return", - "src": "27289:94:129" - } - ] - }, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "proposalExists", - "nameLocation": "27214:14:129", - "parameters": { - "id": 76634, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 76633, - "mutability": "mutable", - "name": "_proposalID", - "nameLocation": "27237:11:129", - "nodeType": "VariableDeclaration", - "scope": 76656, - "src": "27229:19:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 76632, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "27229:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "27228:21:129" - }, - "returnParameters": { - "id": 76637, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 76636, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 76656, - "src": "27273:4:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 76635, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "27273:4:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "27272:6:129" - }, - "scope": 77611, - "stateMutability": "view", - "virtual": false, - "visibility": "internal" - }, - { - "id": 76674, - "nodeType": "FunctionDefinition", - "src": "27396:174:129", - "nodes": [], - "body": { - "id": 76673, - "nodeType": "Block", - "src": "27491:79:129", - "nodes": [], - "statements": [ - { - "expression": { - "id": 76671, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 76663, - "name": "isOverMaxRatio", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76661, - "src": "27501:14:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 76670, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 76666, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 76664, - "name": "maxRatio", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74988, - "src": "27518:8:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "id": 76665, - "name": "poolAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3343, - "src": "27529:10:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "27518:21:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 76669, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 76667, - "name": "_requestedAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76658, - "src": "27543:16:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "id": 76668, - "name": "D", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74972, - "src": "27562:1:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "27543:20:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "27518:45:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "27501:62:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 76672, - "nodeType": "ExpressionStatement", - "src": "27501:62:129" - } - ] - }, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_isOverMaxRatio", - "nameLocation": "27405:15:129", - "parameters": { - "id": 76659, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 76658, - "mutability": "mutable", - "name": "_requestedAmount", - "nameLocation": "27429:16:129", - "nodeType": "VariableDeclaration", - "scope": 76674, - "src": "27421:24:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 76657, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "27421:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "27420:26:129" - }, - "returnParameters": { - "id": 76662, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 76661, - "mutability": "mutable", - "name": "isOverMaxRatio", - "nameLocation": "27475:14:129", - "nodeType": "VariableDeclaration", - "scope": 76674, - "src": "27470:19:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 76660, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "27470:4:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "27469:21:129" - }, - "scope": 77611, - "stateMutability": "view", - "virtual": false, - "visibility": "internal" - }, - { - "id": 76770, - "nodeType": "FunctionDefinition", - "src": "27576:1548:129", - "nodes": [], - "body": { - "id": 76769, - "nodeType": "Block", - "src": "27706:1418:129", - "nodes": [], - "statements": [ - { - "assignments": [ - 76684 - ], - "declarations": [ - { - "constant": false, - "id": 76684, - "mutability": "mutable", - "name": "deltaSupportSum", - "nameLocation": "27723:15:129", - "nodeType": "VariableDeclaration", - "scope": 76769, - "src": "27716:22:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - }, - "typeName": { - "id": 76683, - "name": "int256", - "nodeType": "ElementaryTypeName", - "src": "27716:6:129", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - }, - "visibility": "internal" - } - ], - "id": 76686, - "initialValue": { - "hexValue": "30", - "id": 76685, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "27741:1:129", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "27716:26:129" - }, - { - "body": { - "id": 76731, - "nodeType": "Block", - "src": "27806:576:129", - "statements": [ - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 76703, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "baseExpression": { - "id": 76698, - "name": "_proposalSupport", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76680, - "src": "27879:16:129", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_ProposalSupport_$74781_memory_ptr_$dyn_memory_ptr", - "typeString": "struct StrategyStruct.ProposalSupport memory[] memory" - } - }, - "id": 76700, - "indexExpression": { - "id": 76699, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76688, - "src": "27896:1:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "27879:19:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ProposalSupport_$74781_memory_ptr", - "typeString": "struct StrategyStruct.ProposalSupport memory" - } - }, - "id": 76701, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "27899:10:129", - "memberName": "proposalId", - "nodeType": "MemberAccess", - "referencedDeclaration": 74778, - "src": "27879:30:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "hexValue": "30", - "id": 76702, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "27913:1:129", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "27879:35:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 76706, - "nodeType": "IfStatement", - "src": "27875:187:129", - "trueBody": { - "id": 76705, - "nodeType": "Block", - "src": "27916:146:129", - "statements": [ - { - "id": 76704, - "nodeType": "Continue", - "src": "28039:8:129" - } - ] - } - }, - { - "assignments": [ - 76708 - ], - "declarations": [ - { - "constant": false, - "id": 76708, - "mutability": "mutable", - "name": "proposalId", - "nameLocation": "28083:10:129", - "nodeType": "VariableDeclaration", - "scope": 76731, - "src": "28075:18:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 76707, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "28075:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 76713, - "initialValue": { - "expression": { - "baseExpression": { - "id": 76709, - "name": "_proposalSupport", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76680, - "src": "28096:16:129", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_ProposalSupport_$74781_memory_ptr_$dyn_memory_ptr", - "typeString": "struct StrategyStruct.ProposalSupport memory[] memory" - } - }, - "id": 76711, - "indexExpression": { - "id": 76710, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76688, - "src": "28113:1:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "28096:19:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ProposalSupport_$74781_memory_ptr", - "typeString": "struct StrategyStruct.ProposalSupport memory" - } - }, - "id": 76712, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "28116:10:129", - "memberName": "proposalId", - "nodeType": "MemberAccess", - "referencedDeclaration": 74778, - "src": "28096:30:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "28075:51:129" - }, - { - "condition": { - "id": 76717, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "28144:27:129", - "subExpression": { - "arguments": [ - { - "id": 76715, - "name": "proposalId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76708, - "src": "28160:10:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 76714, - "name": "proposalExists", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76656, - "src": "28145:14:129", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) view returns (bool)" - } - }, - "id": 76716, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "28145:26:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 76723, - "nodeType": "IfStatement", - "src": "28140:167:129", - "trueBody": { - "id": 76722, - "nodeType": "Block", - "src": "28173:134:129", - "statements": [ - { - "errorCall": { - "arguments": [ - { - "id": 76719, - "name": "proposalId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76708, - "src": "28216:10:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 76718, - "name": "ProposalNotInList", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74868, - "src": "28198:17:129", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$_t_uint256_$returns$__$", - "typeString": "function (uint256) pure" - } - }, - "id": 76720, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "28198:29:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 76721, - "nodeType": "RevertStatement", - "src": "28191:36:129" - } - ] - } - }, - { - "expression": { - "id": 76729, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 76724, - "name": "deltaSupportSum", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76684, - "src": "28320:15:129", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "expression": { - "baseExpression": { - "id": 76725, - "name": "_proposalSupport", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76680, - "src": "28339:16:129", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_ProposalSupport_$74781_memory_ptr_$dyn_memory_ptr", - "typeString": "struct StrategyStruct.ProposalSupport memory[] memory" - } - }, - "id": 76727, - "indexExpression": { - "id": 76726, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76688, - "src": "28356:1:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "28339:19:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ProposalSupport_$74781_memory_ptr", - "typeString": "struct StrategyStruct.ProposalSupport memory" - } - }, - "id": 76728, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "28359:12:129", - "memberName": "deltaSupport", - "nodeType": "MemberAccess", - "referencedDeclaration": 74780, - "src": "28339:32:129", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - }, - "src": "28320:51:129", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - }, - "id": 76730, - "nodeType": "ExpressionStatement", - "src": "28320:51:129" - } - ] - }, - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 76694, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 76691, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76688, - "src": "27772:1:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "expression": { - "id": 76692, - "name": "_proposalSupport", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76680, - "src": "27776:16:129", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_ProposalSupport_$74781_memory_ptr_$dyn_memory_ptr", - "typeString": "struct StrategyStruct.ProposalSupport memory[] memory" - } - }, - "id": 76693, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "27793:6:129", - "memberName": "length", - "nodeType": "MemberAccess", - "src": "27776:23:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "27772:27:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 76732, - "initializationExpression": { - "assignments": [ - 76688 - ], - "declarations": [ - { - "constant": false, - "id": 76688, - "mutability": "mutable", - "name": "i", - "nameLocation": "27765:1:129", - "nodeType": "VariableDeclaration", - "scope": 76732, - "src": "27757:9:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 76687, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "27757:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 76690, - "initialValue": { - "hexValue": "30", - "id": 76689, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "27769:1:129", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "27757:13:129" - }, - "loopExpression": { - "expression": { - "id": 76696, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "27801:3:129", - "subExpression": { - "id": 76695, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76688, - "src": "27801:1:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 76697, - "nodeType": "ExpressionStatement", - "src": "27801:3:129" - }, - "nodeType": "ForStatement", - "src": "27752:630:129" - }, - { - "assignments": [ - 76734 - ], - "declarations": [ - { - "constant": false, - "id": 76734, - "mutability": "mutable", - "name": "newTotalVotingSupport", - "nameLocation": "28486:21:129", - "nodeType": "VariableDeclaration", - "scope": 76769, - "src": "28478:29:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 76733, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "28478:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 76741, - "initialValue": { - "arguments": [ - { - "arguments": [ - { - "id": 76737, - "name": "_sender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76676, - "src": "28544:7:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 76736, - "name": "getTotalVoterStakePct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76604, - "src": "28522:21:129", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view returns (uint256)" - } - }, - "id": 76738, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "28522:30:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 76739, - "name": "deltaSupportSum", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76684, - "src": "28554:15:129", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - ], - "id": 76735, - "name": "_applyDelta", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77092, - "src": "28510:11:129", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_int256_$returns$_t_uint256_$", - "typeString": "function (uint256,int256) pure returns (uint256)" - } - }, - "id": 76740, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "28510:60:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "28478:92:129" - }, - { - "assignments": [ - 76743 - ], - "declarations": [ - { - "constant": false, - "id": 76743, - "mutability": "mutable", - "name": "participantBalance", - "nameLocation": "28660:18:129", - "nodeType": "VariableDeclaration", - "scope": 76769, - "src": "28652:26:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 76742, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "28652:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 76752, - "initialValue": { - "arguments": [ - { - "id": 76746, - "name": "_sender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76676, - "src": "28724:7:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "arguments": [ - { - "id": 76749, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "28741:4:129", - "typeDescriptions": { - "typeIdentifier": "t_contract$_CVStrategy_$77611", - "typeString": "contract CVStrategy" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_CVStrategy_$77611", - "typeString": "contract CVStrategy" - } - ], - "id": 76748, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "28733:7:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 76747, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "28733:7:129", - "typeDescriptions": {} - } - }, - "id": 76750, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "28733:13:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "id": 76744, - "name": "registryCommunity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75014, - "src": "28681:17:129", - "typeDescriptions": { - "typeIdentifier": "t_contract$_RegistryCommunity_$83082", - "typeString": "contract RegistryCommunity" - } - }, - "id": 76745, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "28699:24:129", - "memberName": "getMemberPowerInStrategy", - "nodeType": "MemberAccess", - "referencedDeclaration": 82423, - "src": "28681:42:129", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$", - "typeString": "function (address,address) view external returns (uint256)" - } - }, - "id": 76751, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "28681:66:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "28652:95:129" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 76755, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 76753, - "name": "newTotalVotingSupport", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76734, - "src": "28913:21:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "id": 76754, - "name": "participantBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76743, - "src": "28937:18:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "28913:42:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 76762, - "nodeType": "IfStatement", - "src": "28909:147:129", - "trueBody": { - "id": 76761, - "nodeType": "Block", - "src": "28957:99:129", - "statements": [ - { - "errorCall": { - "arguments": [ - { - "id": 76757, - "name": "newTotalVotingSupport", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76734, - "src": "29003:21:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 76758, - "name": "participantBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76743, - "src": "29026:18:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 76756, - "name": "NotEnoughPointsToSupport", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74856, - "src": "28978:24:129", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (uint256,uint256) pure" - } - }, - "id": 76759, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "28978:67:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 76760, - "nodeType": "RevertStatement", - "src": "28971:74:129" - } - ] - } - }, - { - "expression": { - "id": 76767, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "id": 76763, - "name": "totalVoterStakePct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75026, - "src": "29066:18:129", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 76765, - "indexExpression": { - "id": 76764, - "name": "_sender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76676, - "src": "29085:7:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "29066:27:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 76766, - "name": "newTotalVotingSupport", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76734, - "src": "29096:21:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "29066:51:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 76768, - "nodeType": "ExpressionStatement", - "src": "29066:51:129" - } - ] - }, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_check_before_addSupport", - "nameLocation": "27585:24:129", - "parameters": { - "id": 76681, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 76676, - "mutability": "mutable", - "name": "_sender", - "nameLocation": "27618:7:129", - "nodeType": "VariableDeclaration", - "scope": 76770, - "src": "27610:15:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 76675, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "27610:7:129", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 76680, - "mutability": "mutable", - "name": "_proposalSupport", - "nameLocation": "27667:16:129", - "nodeType": "VariableDeclaration", - "scope": 76770, - "src": "27627:56:129", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_ProposalSupport_$74781_memory_ptr_$dyn_memory_ptr", - "typeString": "struct StrategyStruct.ProposalSupport[]" - }, - "typeName": { - "baseType": { - "id": 76678, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 76677, - "name": "StrategyStruct.ProposalSupport", - "nameLocations": [ - "27627:14:129", - "27642:15:129" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 74781, - "src": "27627:30:129" - }, - "referencedDeclaration": 74781, - "src": "27627:30:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ProposalSupport_$74781_storage_ptr", - "typeString": "struct StrategyStruct.ProposalSupport" - } - }, - "id": 76679, - "nodeType": "ArrayTypeName", - "src": "27627:32:129", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_ProposalSupport_$74781_storage_$dyn_storage_ptr", - "typeString": "struct StrategyStruct.ProposalSupport[]" - } - }, - "visibility": "internal" - } - ], - "src": "27609:75:129" - }, - "returnParameters": { - "id": 76682, - "nodeType": "ParameterList", - "parameters": [], - "src": "27706:0:129" - }, - "scope": 77611, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "id": 77057, - "nodeType": "FunctionDefinition", - "src": "29130:3479:129", - "nodes": [], - "body": { - "id": 77056, - "nodeType": "Block", - "src": "29235:3374:129", - "nodes": [], - "statements": [ - { - "assignments": [ - 76783 - ], - "declarations": [ - { - "constant": false, - "id": 76783, - "mutability": "mutable", - "name": "proposalsIds", - "nameLocation": "29262:12:129", - "nodeType": "VariableDeclaration", - "scope": 77056, - "src": "29245:29:129", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 76781, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "29245:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 76782, - "nodeType": "ArrayTypeName", - "src": "29245:9:129", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "visibility": "internal" - } - ], - "id": 76784, - "nodeType": "VariableDeclarationStatement", - "src": "29245:29:129" - }, - { - "body": { - "id": 77054, - "nodeType": "Block", - "src": "29338:3265:129", - "statements": [ - { - "assignments": [ - 76797 - ], - "declarations": [ - { - "constant": false, - "id": 76797, - "mutability": "mutable", - "name": "proposalId", - "nameLocation": "29360:10:129", - "nodeType": "VariableDeclaration", - "scope": 77054, - "src": "29352:18:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 76796, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "29352:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 76802, - "initialValue": { - "expression": { - "baseExpression": { - "id": 76798, - "name": "_proposalSupport", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76776, - "src": "29373:16:129", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_ProposalSupport_$74781_memory_ptr_$dyn_memory_ptr", - "typeString": "struct StrategyStruct.ProposalSupport memory[] memory" - } - }, - "id": 76800, - "indexExpression": { - "id": 76799, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76786, - "src": "29390:1:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "29373:19:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ProposalSupport_$74781_memory_ptr", - "typeString": "struct StrategyStruct.ProposalSupport memory" - } - }, - "id": 76801, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "29393:10:129", - "memberName": "proposalId", - "nodeType": "MemberAccess", - "referencedDeclaration": 74778, - "src": "29373:30:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "29352:51:129" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 76806, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 76803, - "name": "proposalsIds", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76783, - "src": "29476:12:129", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 76804, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "29489:6:129", - "memberName": "length", - "nodeType": "MemberAccess", - "src": "29476:19:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "hexValue": "30", - "id": 76805, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "29499:1:129", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "29476:24:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 76905, - "nodeType": "Block", - "src": "29628:764:129", - "statements": [ - { - "assignments": [ - 76823 - ], - "declarations": [ - { - "constant": false, - "id": 76823, - "mutability": "mutable", - "name": "exist", - "nameLocation": "29651:5:129", - "nodeType": "VariableDeclaration", - "scope": 76905, - "src": "29646:10:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 76822, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "29646:4:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "id": 76825, - "initialValue": { - "hexValue": "66616c7365", - "id": 76824, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "29659:5:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "nodeType": "VariableDeclarationStatement", - "src": "29646:18:129" - }, - { - "body": { - "id": 76853, - "nodeType": "Block", - "src": "29732:268:129", - "statements": [ - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 76841, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "baseExpression": { - "id": 76837, - "name": "proposalsIds", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76783, - "src": "29783:12:129", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 76839, - "indexExpression": { - "id": 76838, - "name": "j", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76827, - "src": "29796:1:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "29783:15:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "id": 76840, - "name": "proposalId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76797, - "src": "29802:10:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "29783:29:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 76852, - "nodeType": "IfStatement", - "src": "29779:203:129", - "trueBody": { - "id": 76851, - "nodeType": "Block", - "src": "29814:168:129", - "statements": [ - { - "expression": { - "id": 76844, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 76842, - "name": "exist", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76823, - "src": "29840:5:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "hexValue": "74727565", - "id": 76843, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "29848:4:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "29840:12:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 76845, - "nodeType": "ExpressionStatement", - "src": "29840:12:129" - }, - { - "errorCall": { - "arguments": [ - { - "id": 76847, - "name": "proposalId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76797, - "src": "29911:10:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 76848, - "name": "j", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76827, - "src": "29923:1:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 76846, - "name": "ProposalSupportDuplicated", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74874, - "src": "29885:25:129", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (uint256,uint256) pure" - } - }, - "id": 76849, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "29885:40:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 76850, - "nodeType": "RevertStatement", - "src": "29878:47:129" - } - ] - } - } - ] - }, - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 76833, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 76830, - "name": "j", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76827, - "src": "29702:1:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "expression": { - "id": 76831, - "name": "proposalsIds", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76783, - "src": "29706:12:129", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 76832, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "29719:6:129", - "memberName": "length", - "nodeType": "MemberAccess", - "src": "29706:19:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "29702:23:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 76854, - "initializationExpression": { - "assignments": [ - 76827 - ], - "declarations": [ - { - "constant": false, - "id": 76827, - "mutability": "mutable", - "name": "j", - "nameLocation": "29695:1:129", - "nodeType": "VariableDeclaration", - "scope": 76854, - "src": "29687:9:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 76826, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "29687:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 76829, - "initialValue": { - "hexValue": "30", - "id": 76828, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "29699:1:129", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "29687:13:129" - }, - "loopExpression": { - "expression": { - "id": 76835, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "29727:3:129", - "subExpression": { - "id": 76834, - "name": "j", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76827, - "src": "29727:1:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 76836, - "nodeType": "ExpressionStatement", - "src": "29727:3:129" - }, - "nodeType": "ForStatement", - "src": "29682:318:129" - }, - { - "condition": { - "id": 76856, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "30021:6:129", - "subExpression": { - "id": 76855, - "name": "exist", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76823, - "src": "30022:5:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 76904, - "nodeType": "IfStatement", - "src": "30017:361:129", - "trueBody": { - "id": 76903, - "nodeType": "Block", - "src": "30029:349:129", - "statements": [ - { - "assignments": [ - 76861 - ], - "declarations": [ - { - "constant": false, - "id": 76861, - "mutability": "mutable", - "name": "temp", - "nameLocation": "30068:4:129", - "nodeType": "VariableDeclaration", - "scope": 76903, - "src": "30051:21:129", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 76859, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "30051:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 76860, - "nodeType": "ArrayTypeName", - "src": "30051:9:129", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "visibility": "internal" - } - ], - "id": 76870, - "initialValue": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 76868, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 76865, - "name": "proposalsIds", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76783, - "src": "30089:12:129", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 76866, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "30102:6:129", - "memberName": "length", - "nodeType": "MemberAccess", - "src": "30089:19:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "hexValue": "31", - "id": 76867, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "30111:1:129", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "30089:23:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 76864, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "30075:13:129", - "typeDescriptions": { - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "function (uint256) pure returns (uint256[] memory)" - }, - "typeName": { - "baseType": { - "id": 76862, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "30079:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 76863, - "nodeType": "ArrayTypeName", - "src": "30079:9:129", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - } - }, - "id": 76869, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "30075:38:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "30051:62:129" - }, - { - "body": { - "id": 76890, - "nodeType": "Block", - "src": "30185:74:129", - "statements": [ - { - "expression": { - "id": 76888, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "id": 76882, - "name": "temp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76861, - "src": "30211:4:129", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 76884, - "indexExpression": { - "id": 76883, - "name": "j", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76872, - "src": "30216:1:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "30211:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "baseExpression": { - "id": 76885, - "name": "proposalsIds", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76783, - "src": "30221:12:129", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 76887, - "indexExpression": { - "id": 76886, - "name": "j", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76872, - "src": "30234:1:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "30221:15:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "30211:25:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 76889, - "nodeType": "ExpressionStatement", - "src": "30211:25:129" - } - ] - }, - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 76878, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 76875, - "name": "j", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76872, - "src": "30155:1:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "expression": { - "id": 76876, - "name": "proposalsIds", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76783, - "src": "30159:12:129", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 76877, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "30172:6:129", - "memberName": "length", - "nodeType": "MemberAccess", - "src": "30159:19:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "30155:23:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 76891, - "initializationExpression": { - "assignments": [ - 76872 - ], - "declarations": [ - { - "constant": false, - "id": 76872, - "mutability": "mutable", - "name": "j", - "nameLocation": "30148:1:129", - "nodeType": "VariableDeclaration", - "scope": 76891, - "src": "30140:9:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 76871, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "30140:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 76874, - "initialValue": { - "hexValue": "30", - "id": 76873, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "30152:1:129", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "30140:13:129" - }, - "loopExpression": { - "expression": { - "id": 76880, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "30180:3:129", - "subExpression": { - "id": 76879, - "name": "j", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76872, - "src": "30180:1:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 76881, - "nodeType": "ExpressionStatement", - "src": "30180:3:129" - }, - "nodeType": "ForStatement", - "src": "30135:124:129" - }, - { - "expression": { - "id": 76897, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "id": 76892, - "name": "temp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76861, - "src": "30280:4:129", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 76895, - "indexExpression": { - "expression": { - "id": 76893, - "name": "proposalsIds", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76783, - "src": "30285:12:129", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 76894, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "30298:6:129", - "memberName": "length", - "nodeType": "MemberAccess", - "src": "30285:19:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "30280:25:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 76896, - "name": "proposalId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76797, - "src": "30308:10:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "30280:38:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 76898, - "nodeType": "ExpressionStatement", - "src": "30280:38:129" - }, - { - "expression": { - "id": 76901, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 76899, - "name": "proposalsIds", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76783, - "src": "30340:12:129", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 76900, - "name": "temp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76861, - "src": "30355:4:129", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "src": "30340:19:129", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 76902, - "nodeType": "ExpressionStatement", - "src": "30340:19:129" - } - ] - } - } - ] - }, - "id": 76906, - "nodeType": "IfStatement", - "src": "29472:920:129", - "trueBody": { - "id": 76821, - "nodeType": "Block", - "src": "29502:120:129", - "statements": [ - { - "expression": { - "id": 76813, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 76807, - "name": "proposalsIds", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76783, - "src": "29520:12:129", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "hexValue": "31", - "id": 76811, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "29549:1:129", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - } - ], - "id": 76810, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "29535:13:129", - "typeDescriptions": { - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "function (uint256) pure returns (uint256[] memory)" - }, - "typeName": { - "baseType": { - "id": 76808, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "29539:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 76809, - "nodeType": "ArrayTypeName", - "src": "29539:9:129", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - } - }, - "id": 76812, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "29535:16:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "src": "29520:31:129", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 76814, - "nodeType": "ExpressionStatement", - "src": "29520:31:129" - }, - { - "expression": { - "id": 76819, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "id": 76815, - "name": "proposalsIds", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76783, - "src": "29569:12:129", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 76817, - "indexExpression": { - "hexValue": "30", - "id": 76816, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "29582:1:129", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "29569:15:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 76818, - "name": "proposalId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76797, - "src": "29587:10:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "29569:28:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 76820, - "nodeType": "ExpressionStatement", - "src": "29569:28:129" - } - ] - } - }, - { - "assignments": [ - 76908 - ], - "declarations": [ - { - "constant": false, - "id": 76908, - "mutability": "mutable", - "name": "delta", - "nameLocation": "30412:5:129", - "nodeType": "VariableDeclaration", - "scope": 77054, - "src": "30405:12:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - }, - "typeName": { - "id": 76907, - "name": "int256", - "nodeType": "ElementaryTypeName", - "src": "30405:6:129", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - }, - "visibility": "internal" - } - ], - "id": 76913, - "initialValue": { - "expression": { - "baseExpression": { - "id": 76909, - "name": "_proposalSupport", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76776, - "src": "30420:16:129", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_ProposalSupport_$74781_memory_ptr_$dyn_memory_ptr", - "typeString": "struct StrategyStruct.ProposalSupport memory[] memory" - } - }, - "id": 76911, - "indexExpression": { - "id": 76910, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76786, - "src": "30437:1:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "30420:19:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ProposalSupport_$74781_memory_ptr", - "typeString": "struct StrategyStruct.ProposalSupport memory" - } - }, - "id": 76912, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "30440:12:129", - "memberName": "deltaSupport", - "nodeType": "MemberAccess", - "referencedDeclaration": 74780, - "src": "30420:32:129", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "30405:47:129" - }, - { - "assignments": [ - 76918 - ], - "declarations": [ - { - "constant": false, - "id": 76918, - "mutability": "mutable", - "name": "proposal", - "nameLocation": "30499:8:129", - "nodeType": "VariableDeclaration", - "scope": 77054, - "src": "30467:40:129", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal" - }, - "typeName": { - "id": 76917, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 76916, - "name": "StrategyStruct.Proposal", - "nameLocations": [ - "30467:14:129", - "30482:8:129" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 74776, - "src": "30467:23:129" - }, - "referencedDeclaration": 74776, - "src": "30467:23:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal" - } - }, - "visibility": "internal" - } - ], - "id": 76922, - "initialValue": { - "baseExpression": { - "id": 76919, - "name": "proposals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75022, - "src": "30510:9:129", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Proposal_$74776_storage_$", - "typeString": "mapping(uint256 => struct StrategyStruct.Proposal storage ref)" - } - }, - "id": 76921, - "indexExpression": { - "id": 76920, - "name": "proposalId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76797, - "src": "30520:10:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "30510:21:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage", - "typeString": "struct StrategyStruct.Proposal storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "30467:64:129" - }, - { - "assignments": [ - 76924 - ], - "declarations": [ - { - "constant": false, - "id": 76924, - "mutability": "mutable", - "name": "previousStakedPoints", - "nameLocation": "30641:20:129", - "nodeType": "VariableDeclaration", - "scope": 77054, - "src": "30633:28:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 76923, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "30633:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 76929, - "initialValue": { - "baseExpression": { - "expression": { - "id": 76925, - "name": "proposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76918, - "src": "30664:8:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal storage pointer" - } - }, - "id": 76926, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "30673:17:129", - "memberName": "voterStakedPoints", - "nodeType": "MemberAccess", - "referencedDeclaration": 74772, - "src": "30664:26:129", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 76928, - "indexExpression": { - "id": 76927, - "name": "_sender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76772, - "src": "30691:7:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "30664:35:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "30633:66:129" - }, - { - "assignments": [ - 76931 - ], - "declarations": [ - { - "constant": false, - "id": 76931, - "mutability": "mutable", - "name": "stakedPoints", - "nameLocation": "30872:12:129", - "nodeType": "VariableDeclaration", - "scope": 77054, - "src": "30864:20:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 76930, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "30864:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 76936, - "initialValue": { - "arguments": [ - { - "id": 76933, - "name": "previousStakedPoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76924, - "src": "30899:20:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 76934, - "name": "delta", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76908, - "src": "30921:5:129", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - ], - "id": 76932, - "name": "_applyDelta", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77092, - "src": "30887:11:129", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_int256_$returns$_t_uint256_$", - "typeString": "function (uint256,int256) pure returns (uint256)" - } - }, - "id": 76935, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "30887:40:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "30864:63:129" - }, - { - "expression": { - "id": 76943, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "expression": { - "id": 76937, - "name": "proposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76918, - "src": "31062:8:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal storage pointer" - } - }, - "id": 76940, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "31071:17:129", - "memberName": "voterStakedPoints", - "nodeType": "MemberAccess", - "referencedDeclaration": 74772, - "src": "31062:26:129", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 76941, - "indexExpression": { - "id": 76939, - "name": "_sender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76772, - "src": "31089:7:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "31062:35:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 76942, - "name": "stakedPoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76931, - "src": "31100:12:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "31062:50:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 76944, - "nodeType": "ExpressionStatement", - "src": "31062:50:129" - }, - { - "assignments": [ - 76946 - ], - "declarations": [ - { - "constant": false, - "id": 76946, - "mutability": "mutable", - "name": "hasProposal", - "nameLocation": "31351:11:129", - "nodeType": "VariableDeclaration", - "scope": 77054, - "src": "31346:16:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 76945, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "31346:4:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "id": 76948, - "initialValue": { - "hexValue": "66616c7365", - "id": 76947, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "31365:5:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "nodeType": "VariableDeclarationStatement", - "src": "31346:24:129" - }, - { - "body": { - "id": 76977, - "nodeType": "Block", - "src": "31451:179:129", - "statements": [ - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 76969, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "baseExpression": { - "baseExpression": { - "id": 76962, - "name": "voterStakedProposals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75031, - "src": "31473:20:129", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$", - "typeString": "mapping(address => uint256[] storage ref)" - } - }, - "id": 76964, - "indexExpression": { - "id": 76963, - "name": "_sender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76772, - "src": "31494:7:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "31473:29:129", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - } - }, - "id": 76966, - "indexExpression": { - "id": 76965, - "name": "k", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76950, - "src": "31503:1:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "31473:32:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "expression": { - "id": 76967, - "name": "proposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76918, - "src": "31509:8:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal storage pointer" - } - }, - "id": 76968, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "31518:10:129", - "memberName": "proposalId", - "nodeType": "MemberAccess", - "referencedDeclaration": 74751, - "src": "31509:19:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "31473:55:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 76976, - "nodeType": "IfStatement", - "src": "31469:147:129", - "trueBody": { - "id": 76975, - "nodeType": "Block", - "src": "31530:86:129", - "statements": [ - { - "expression": { - "id": 76972, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 76970, - "name": "hasProposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76946, - "src": "31552:11:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "hexValue": "74727565", - "id": 76971, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "31566:4:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "31552:18:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 76973, - "nodeType": "ExpressionStatement", - "src": "31552:18:129" - }, - { - "id": 76974, - "nodeType": "Break", - "src": "31592:5:129" - } - ] - } - } - ] - }, - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 76958, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 76953, - "name": "k", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76950, - "src": "31404:1:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "expression": { - "baseExpression": { - "id": 76954, - "name": "voterStakedProposals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75031, - "src": "31408:20:129", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$", - "typeString": "mapping(address => uint256[] storage ref)" - } - }, - "id": 76956, - "indexExpression": { - "id": 76955, - "name": "_sender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76772, - "src": "31429:7:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "31408:29:129", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - } - }, - "id": 76957, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "31438:6:129", - "memberName": "length", - "nodeType": "MemberAccess", - "src": "31408:36:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "31404:40:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 76978, - "initializationExpression": { - "assignments": [ - 76950 - ], - "declarations": [ - { - "constant": false, - "id": 76950, - "mutability": "mutable", - "name": "k", - "nameLocation": "31397:1:129", - "nodeType": "VariableDeclaration", - "scope": 76978, - "src": "31389:9:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 76949, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "31389:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 76952, - "initialValue": { - "hexValue": "30", - "id": 76951, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "31401:1:129", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "31389:13:129" - }, - "loopExpression": { - "expression": { - "id": 76960, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "31446:3:129", - "subExpression": { - "id": 76959, - "name": "k", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76950, - "src": "31446:1:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 76961, - "nodeType": "ExpressionStatement", - "src": "31446:3:129" - }, - "nodeType": "ForStatement", - "src": "31384:246:129" - }, - { - "condition": { - "id": 76980, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "31647:12:129", - "subExpression": { - "id": 76979, - "name": "hasProposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76946, - "src": "31648:11:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 76990, - "nodeType": "IfStatement", - "src": "31643:106:129", - "trueBody": { - "id": 76989, - "nodeType": "Block", - "src": "31661:88:129", - "statements": [ - { - "expression": { - "arguments": [ - { - "expression": { - "id": 76985, - "name": "proposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76918, - "src": "31714:8:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal storage pointer" - } - }, - "id": 76986, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "31723:10:129", - "memberName": "proposalId", - "nodeType": "MemberAccess", - "referencedDeclaration": 74751, - "src": "31714:19:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "baseExpression": { - "id": 76981, - "name": "voterStakedProposals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75031, - "src": "31679:20:129", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$", - "typeString": "mapping(address => uint256[] storage ref)" - } - }, - "id": 76983, - "indexExpression": { - "id": 76982, - "name": "_sender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76772, - "src": "31700:7:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "31679:29:129", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - } - }, - "id": 76984, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "31709:4:129", - "memberName": "push", - "nodeType": "MemberAccess", - "src": "31679:34:129", - "typeDescriptions": { - "typeIdentifier": "t_function_arraypush_nonpayable$_t_array$_t_uint256_$dyn_storage_ptr_$_t_uint256_$returns$__$attached_to$_t_array$_t_uint256_$dyn_storage_ptr_$", - "typeString": "function (uint256[] storage pointer,uint256)" - } - }, - "id": 76987, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "31679:55:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 76988, - "nodeType": "ExpressionStatement", - "src": "31679:55:129" - } - ] - } - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 76993, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 76991, - "name": "previousStakedPoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76924, - "src": "31904:20:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "id": 76992, - "name": "stakedPoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76931, - "src": "31928:12:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "31904:36:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 77023, - "nodeType": "Block", - "src": "32109:161:129", - "statements": [ - { - "expression": { - "id": 77013, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 77009, - "name": "totalStaked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74995, - "src": "32127:11:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "-=", - "rightHandSide": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 77012, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 77010, - "name": "previousStakedPoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76924, - "src": "32142:20:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "id": 77011, - "name": "stakedPoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76931, - "src": "32165:12:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "32142:35:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "32127:50:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 77014, - "nodeType": "ExpressionStatement", - "src": "32127:50:129" - }, - { - "expression": { - "id": 77021, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "expression": { - "id": 77015, - "name": "proposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76918, - "src": "32195:8:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal storage pointer" - } - }, - "id": 77017, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberLocation": "32204:12:129", - "memberName": "stakedAmount", - "nodeType": "MemberAccess", - "referencedDeclaration": 74755, - "src": "32195:21:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "-=", - "rightHandSide": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 77020, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 77018, - "name": "previousStakedPoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76924, - "src": "32220:20:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "id": 77019, - "name": "stakedPoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76931, - "src": "32243:12:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "32220:35:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "32195:60:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 77022, - "nodeType": "ExpressionStatement", - "src": "32195:60:129" - } - ] - }, - "id": 77024, - "nodeType": "IfStatement", - "src": "31900:370:129", - "trueBody": { - "id": 77008, - "nodeType": "Block", - "src": "31942:161:129", - "statements": [ - { - "expression": { - "id": 76998, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 76994, - "name": "totalStaked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74995, - "src": "31960:11:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 76997, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 76995, - "name": "stakedPoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76931, - "src": "31975:12:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "id": 76996, - "name": "previousStakedPoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76924, - "src": "31990:20:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "31975:35:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "31960:50:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 76999, - "nodeType": "ExpressionStatement", - "src": "31960:50:129" - }, - { - "expression": { - "id": 77006, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "expression": { - "id": 77000, - "name": "proposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76918, - "src": "32028:8:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal storage pointer" - } - }, - "id": 77002, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberLocation": "32037:12:129", - "memberName": "stakedAmount", - "nodeType": "MemberAccess", - "referencedDeclaration": 74755, - "src": "32028:21:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 77005, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 77003, - "name": "stakedPoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76931, - "src": "32053:12:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "id": 77004, - "name": "previousStakedPoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76924, - "src": "32068:20:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "32053:35:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "32028:60:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 77007, - "nodeType": "ExpressionStatement", - "src": "32028:60:129" - } - ] - } - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 77028, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 77025, - "name": "proposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76918, - "src": "32287:8:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal storage pointer" - } - }, - "id": 77026, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "32296:9:129", - "memberName": "blockLast", - "nodeType": "MemberAccess", - "referencedDeclaration": 74765, - "src": "32287:18:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "hexValue": "30", - "id": 77027, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "32309:1:129", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "32287:23:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 77052, - "nodeType": "Block", - "src": "32384:209:129", - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 77038, - "name": "proposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76918, - "src": "32429:8:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal storage pointer" - } - }, - { - "id": 77039, - "name": "previousStakedPoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76924, - "src": "32439:20:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal storage pointer" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 77037, - "name": "_calculateAndSetConviction", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77385, - "src": "32402:26:129", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Proposal_$74776_storage_ptr_$_t_uint256_$returns$__$", - "typeString": "function (struct StrategyStruct.Proposal storage pointer,uint256)" - } - }, - "id": 77040, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "32402:58:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 77041, - "nodeType": "ExpressionStatement", - "src": "32402:58:129" - }, - { - "eventCall": { - "arguments": [ - { - "id": 77043, - "name": "_sender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76772, - "src": "32496:7:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 77044, - "name": "proposalId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76797, - "src": "32505:10:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 77045, - "name": "stakedPoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76931, - "src": "32517:12:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "expression": { - "id": 77046, - "name": "proposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76918, - "src": "32531:8:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal storage pointer" - } - }, - "id": 77047, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "32540:12:129", - "memberName": "stakedAmount", - "nodeType": "MemberAccess", - "referencedDeclaration": 74755, - "src": "32531:21:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "expression": { - "id": 77048, - "name": "proposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76918, - "src": "32554:8:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal storage pointer" - } - }, - "id": 77049, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "32563:14:129", - "memberName": "convictionLast", - "nodeType": "MemberAccess", - "referencedDeclaration": 74757, - "src": "32554:23:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 77042, - "name": "SupportAdded", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74943, - "src": "32483:12:129", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256,uint256,uint256,uint256)" - } - }, - "id": 77050, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "32483:95:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 77051, - "nodeType": "EmitStatement", - "src": "32478:100:129" - } - ] - }, - "id": 77053, - "nodeType": "IfStatement", - "src": "32283:310:129", - "trueBody": { - "id": 77036, - "nodeType": "Block", - "src": "32312:66:129", - "statements": [ - { - "expression": { - "id": 77034, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "expression": { - "id": 77029, - "name": "proposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76918, - "src": "32330:8:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal storage pointer" - } - }, - "id": 77031, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberLocation": "32339:9:129", - "memberName": "blockLast", - "nodeType": "MemberAccess", - "referencedDeclaration": 74765, - "src": "32330:18:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "expression": { - "id": 77032, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "32351:5:129", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 77033, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "32357:6:129", - "memberName": "number", - "nodeType": "MemberAccess", - "src": "32351:12:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "32330:33:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 77035, - "nodeType": "ExpressionStatement", - "src": "32330:33:129" - } - ] - } - } - ] - }, - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 76792, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 76789, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76786, - "src": "29304:1:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "expression": { - "id": 76790, - "name": "_proposalSupport", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76776, - "src": "29308:16:129", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_ProposalSupport_$74781_memory_ptr_$dyn_memory_ptr", - "typeString": "struct StrategyStruct.ProposalSupport memory[] memory" - } - }, - "id": 76791, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "29325:6:129", - "memberName": "length", - "nodeType": "MemberAccess", - "src": "29308:23:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "29304:27:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 77055, - "initializationExpression": { - "assignments": [ - 76786 - ], - "declarations": [ - { - "constant": false, - "id": 76786, - "mutability": "mutable", - "name": "i", - "nameLocation": "29297:1:129", - "nodeType": "VariableDeclaration", - "scope": 77055, - "src": "29289:9:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 76785, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "29289:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 76788, - "initialValue": { - "hexValue": "30", - "id": 76787, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "29301:1:129", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "29289:13:129" - }, - "loopExpression": { - "expression": { - "id": 76794, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "29333:3:129", - "subExpression": { - "id": 76793, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76786, - "src": "29333:1:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 76795, - "nodeType": "ExpressionStatement", - "src": "29333:3:129" - }, - "nodeType": "ForStatement", - "src": "29284:3319:129" - } - ] - }, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_addSupport", - "nameLocation": "29139:11:129", - "parameters": { - "id": 76777, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 76772, - "mutability": "mutable", - "name": "_sender", - "nameLocation": "29159:7:129", - "nodeType": "VariableDeclaration", - "scope": 77057, - "src": "29151:15:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 76771, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "29151:7:129", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 76776, - "mutability": "mutable", - "name": "_proposalSupport", - "nameLocation": "29208:16:129", - "nodeType": "VariableDeclaration", - "scope": 77057, - "src": "29168:56:129", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_ProposalSupport_$74781_memory_ptr_$dyn_memory_ptr", - "typeString": "struct StrategyStruct.ProposalSupport[]" - }, - "typeName": { - "baseType": { - "id": 76774, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 76773, - "name": "StrategyStruct.ProposalSupport", - "nameLocations": [ - "29168:14:129", - "29183:15:129" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 74781, - "src": "29168:30:129" - }, - "referencedDeclaration": 74781, - "src": "29168:30:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ProposalSupport_$74781_storage_ptr", - "typeString": "struct StrategyStruct.ProposalSupport" - } - }, - "id": 76775, - "nodeType": "ArrayTypeName", - "src": "29168:32:129", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_ProposalSupport_$74781_storage_$dyn_storage_ptr", - "typeString": "struct StrategyStruct.ProposalSupport[]" - } - }, - "visibility": "internal" - } - ], - "src": "29150:75:129" - }, - "returnParameters": { - "id": 76778, - "nodeType": "ParameterList", - "parameters": [], - "src": "29235:0:129" - }, - "scope": 77611, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "id": 77092, - "nodeType": "FunctionDefinition", - "src": "32615:276:129", - "nodes": [], - "body": { - "id": 77091, - "nodeType": "Block", - "src": "32701:190:129", - "nodes": [], - "statements": [ - { - "assignments": [ - 77067 - ], - "declarations": [ - { - "constant": false, - "id": 77067, - "mutability": "mutable", - "name": "result", - "nameLocation": "32718:6:129", - "nodeType": "VariableDeclaration", - "scope": 77091, - "src": "32711:13:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - }, - "typeName": { - "id": 77066, - "name": "int256", - "nodeType": "ElementaryTypeName", - "src": "32711:6:129", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - }, - "visibility": "internal" - } - ], - "id": 77074, - "initialValue": { - "commonType": { - "typeIdentifier": "t_int256", - "typeString": "int256" - }, - "id": 77073, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "arguments": [ - { - "id": 77070, - "name": "_support", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77059, - "src": "32734:8:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 77069, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "32727:6:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_int256_$", - "typeString": "type(int256)" - }, - "typeName": { - "id": 77068, - "name": "int256", - "nodeType": "ElementaryTypeName", - "src": "32727:6:129", - "typeDescriptions": {} - } - }, - "id": 77071, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "32727:16:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "id": 77072, - "name": "_delta", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77061, - "src": "32746:6:129", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - }, - "src": "32727:25:129", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "32711:41:129" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_int256", - "typeString": "int256" - }, - "id": 77077, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 77075, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77067, - "src": "32767:6:129", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "hexValue": "30", - "id": 77076, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "32776:1:129", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "32767:10:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 77085, - "nodeType": "IfStatement", - "src": "32763:90:129", - "trueBody": { - "id": 77084, - "nodeType": "Block", - "src": "32779:74:129", - "statements": [ - { - "errorCall": { - "arguments": [ - { - "id": 77079, - "name": "_support", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77059, - "src": "32817:8:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 77080, - "name": "_delta", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77061, - "src": "32827:6:129", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - }, - { - "id": 77081, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77067, - "src": "32835:6:129", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_int256", - "typeString": "int256" - }, - { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - ], - "id": 77078, - "name": "SupportUnderflow", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74846, - "src": "32800:16:129", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$_t_uint256_$_t_int256_$_t_int256_$returns$__$", - "typeString": "function (uint256,int256,int256) pure" - } - }, - "id": 77082, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "32800:42:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 77083, - "nodeType": "RevertStatement", - "src": "32793:49:129" - } - ] - } - }, - { - "expression": { - "arguments": [ - { - "id": 77088, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77067, - "src": "32877:6:129", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - ], - "id": 77087, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "32869:7:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 77086, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "32869:7:129", - "typeDescriptions": {} - } - }, - "id": 77089, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "32869:15:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 77065, - "id": 77090, - "nodeType": "Return", - "src": "32862:22:129" - } - ] - }, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_applyDelta", - "nameLocation": "32624:11:129", - "parameters": { - "id": 77062, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 77059, - "mutability": "mutable", - "name": "_support", - "nameLocation": "32644:8:129", - "nodeType": "VariableDeclaration", - "scope": 77092, - "src": "32636:16:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 77058, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "32636:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 77061, - "mutability": "mutable", - "name": "_delta", - "nameLocation": "32661:6:129", - "nodeType": "VariableDeclaration", - "scope": 77092, - "src": "32654:13:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - }, - "typeName": { - "id": 77060, - "name": "int256", - "nodeType": "ElementaryTypeName", - "src": "32654:6:129", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - }, - "visibility": "internal" - } - ], - "src": "32635:33:129" - }, - "returnParameters": { - "id": 77065, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 77064, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 77092, - "src": "32692:7:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 77063, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "32692:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "32691:9:129" - }, - "scope": 77611, - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "id": 77148, - "nodeType": "FunctionDefinition", - "src": "33308:1145:129", - "nodes": [], - "body": { - "id": 77147, - "nodeType": "Block", - "src": "33455:998:129", - "nodes": [], - "statements": [ - { - "assignments": [ - 77105 - ], - "declarations": [ - { - "constant": false, - "id": 77105, - "mutability": "mutable", - "name": "t", - "nameLocation": "33473:1:129", - "nodeType": "VariableDeclaration", - "scope": 77147, - "src": "33465:9:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 77104, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "33465:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 77107, - "initialValue": { - "id": 77106, - "name": "_timePassed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77095, - "src": "33477:11:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "33465:23:129" - }, - { - "assignments": [ - 77109 - ], - "declarations": [ - { - "constant": false, - "id": 77109, - "mutability": "mutable", - "name": "atTWO_128", - "nameLocation": "33811:9:129", - "nodeType": "VariableDeclaration", - "scope": 77147, - "src": "33803:17:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 77108, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "33803:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 77119, - "initialValue": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 77116, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 77113, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 77111, - "name": "decay", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74986, - "src": "33829:5:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<<", - "rightExpression": { - "hexValue": "313238", - "id": 77112, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "33838:3:129", - "typeDescriptions": { - "typeIdentifier": "t_rational_128_by_1", - "typeString": "int_const 128" - }, - "value": "128" - }, - "src": "33829:12:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 77114, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "33828:14:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "id": 77115, - "name": "D", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74972, - "src": "33845:1:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "33828:18:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 77117, - "name": "t", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77105, - "src": "33848:1:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 77110, - "name": "_pow", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77336, - "src": "33823:4:129", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 77118, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "33823:27:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "33803:47:129" - }, - { - "expression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 77145, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 77142, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 77139, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 77122, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 77120, - "name": "atTWO_128", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77109, - "src": "34346:9:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "id": 77121, - "name": "_lastConv", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77097, - "src": "34358:9:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "34346:21:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 77123, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "34345:23:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 77137, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 77131, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 77126, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 77124, - "name": "_oldAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77099, - "src": "34373:10:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "id": 77125, - "name": "D", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74972, - "src": "34386:1:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "34373:14:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 77129, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 77127, - "name": "TWO_128", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74975, - "src": "34391:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "id": 77128, - "name": "atTWO_128", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77109, - "src": "34401:9:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "34391:19:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 77130, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "34390:21:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "34373:38:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 77132, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "34372:40:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 77135, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 77133, - "name": "D", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74972, - "src": "34416:1:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "id": 77134, - "name": "decay", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74986, - "src": "34420:5:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "34416:9:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 77136, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "34415:11:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "34372:54:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 77138, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "34371:56:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "34345:82:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 77140, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "34344:84:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "id": 77141, - "name": "TWO_127", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74978, - "src": "34431:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "34344:94:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 77143, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "34343:96:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "hexValue": "313238", - "id": 77144, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "34443:3:129", - "typeDescriptions": { - "typeIdentifier": "t_rational_128_by_1", - "typeString": "int_const 128" - }, - "value": "128" - }, - "src": "34343:103:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 77103, - "id": 77146, - "nodeType": "Return", - "src": "34336:110:129" - } - ] - }, - "documentation": { - "id": 77093, - "nodeType": "StructuredDocumentation", - "src": "32897:406:129", - "text": " @dev Conviction formula: a^t * y(0) + x * (1 - a^t) / (1 - a)\n Solidity implementation: y = (2^128 * a^t * y0 + x * D * (2^128 - 2^128 * a^t) / (D - aD) + 2^127) / 2^128\n @param _timePassed Number of blocks since last conviction record\n @param _lastConv Last conviction record\n @param _oldAmount Amount of tokens staked until now\n @return Current conviction" - }, - "functionSelector": "346db8cb", - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "calculateConviction", - "nameLocation": "33317:19:129", - "parameters": { - "id": 77100, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 77095, - "mutability": "mutable", - "name": "_timePassed", - "nameLocation": "33345:11:129", - "nodeType": "VariableDeclaration", - "scope": 77148, - "src": "33337:19:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 77094, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "33337:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 77097, - "mutability": "mutable", - "name": "_lastConv", - "nameLocation": "33366:9:129", - "nodeType": "VariableDeclaration", - "scope": 77148, - "src": "33358:17:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 77096, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "33358:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 77099, - "mutability": "mutable", - "name": "_oldAmount", - "nameLocation": "33385:10:129", - "nodeType": "VariableDeclaration", - "scope": 77148, - "src": "33377:18:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 77098, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "33377:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "33336:60:129" - }, - "returnParameters": { - "id": 77103, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 77102, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 77148, - "src": "33442:7:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 77101, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "33442:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "33441:9:129" - }, - "scope": 77611, - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "id": 77236, - "nodeType": "FunctionDefinition", - "src": "35034:1482:129", - "nodes": [], - "body": { - "id": 77235, - "nodeType": "Block", - "src": "35129:1387:129", - "nodes": [], - "statements": [ - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 77158, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 77156, - "name": "poolAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3343, - "src": "35263:10:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "hexValue": "30", - "id": 77157, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "35277:1:129", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "35263:15:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 77163, - "nodeType": "IfStatement", - "src": "35259:66:129", - "trueBody": { - "id": 77162, - "nodeType": "Block", - "src": "35280:45:129", - "statements": [ - { - "errorCall": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 77159, - "name": "PoolIsEmpty", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74824, - "src": "35301:11:129", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 77160, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "35301:13:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 77161, - "nodeType": "RevertStatement", - "src": "35294:20:129" - } - ] - } - }, - { - "condition": { - "arguments": [ - { - "id": 77165, - "name": "_requestedAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77151, - "src": "35781:16:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 77164, - "name": "_isOverMaxRatio", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76674, - "src": "35765:15:129", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) view returns (bool)" - } - }, - "id": 77166, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "35765:33:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 77171, - "nodeType": "IfStatement", - "src": "35761:91:129", - "trueBody": { - "id": 77170, - "nodeType": "Block", - "src": "35800:52:129", - "statements": [ - { - "errorCall": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 77167, - "name": "AmountOverMaxRatio", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74832, - "src": "35821:18:129", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 77168, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "35821:20:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 77169, - "nodeType": "RevertStatement", - "src": "35814:27:129" - } - ] - } - }, - { - "assignments": [ - 77173 - ], - "declarations": [ - { - "constant": false, - "id": 77173, - "mutability": "mutable", - "name": "denom", - "nameLocation": "36008:5:129", - "nodeType": "VariableDeclaration", - "scope": 77235, - "src": "36000:13:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 77172, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "36000:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 77191, - "initialValue": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 77190, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 77181, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 77178, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 77174, - "name": "maxRatio", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74988, - "src": "36017:8:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_rational_18446744073709551616_by_1", - "typeString": "int_const 18446744073709551616" - }, - "id": 77177, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "hexValue": "32", - "id": 77175, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "36028:1:129", - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "hexValue": "3634", - "id": 77176, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "36033:2:129", - "typeDescriptions": { - "typeIdentifier": "t_rational_64_by_1", - "typeString": "int_const 64" - }, - "value": "64" - }, - "src": "36028:7:129", - "typeDescriptions": { - "typeIdentifier": "t_rational_18446744073709551616_by_1", - "typeString": "int_const 18446744073709551616" - } - }, - "src": "36017:18:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 77179, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "36016:20:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "id": 77180, - "name": "D", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74972, - "src": "36039:1:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "36016:24:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 77189, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 77186, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 77182, - "name": "_requestedAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77151, - "src": "36044:16:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_rational_18446744073709551616_by_1", - "typeString": "int_const 18446744073709551616" - }, - "id": 77185, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "hexValue": "32", - "id": 77183, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "36063:1:129", - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "hexValue": "3634", - "id": 77184, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "36068:2:129", - "typeDescriptions": { - "typeIdentifier": "t_rational_64_by_1", - "typeString": "int_const 64" - }, - "value": "64" - }, - "src": "36063:7:129", - "typeDescriptions": { - "typeIdentifier": "t_rational_18446744073709551616_by_1", - "typeString": "int_const 18446744073709551616" - } - }, - "src": "36044:26:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 77187, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "36043:28:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "id": 77188, - "name": "poolAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3343, - "src": "36074:10:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "36043:41:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "36016:68:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "36000:84:129" - }, - { - "expression": { - "id": 77224, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 77192, - "name": "_threshold", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77154, - "src": "36094:10:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 77223, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 77220, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 77216, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 77210, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 77207, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 77198, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 77195, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 77193, - "name": "weight", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74990, - "src": "36126:6:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<<", - "rightExpression": { - "hexValue": "313238", - "id": 77194, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "36136:3:129", - "typeDescriptions": { - "typeIdentifier": "t_rational_128_by_1", - "typeString": "int_const 128" - }, - "value": "128" - }, - "src": "36126:13:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 77196, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "36125:15:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "id": 77197, - "name": "D", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74972, - "src": "36143:1:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "36125:19:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 77199, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "36124:21:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 77205, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 77202, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 77200, - "name": "denom", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77173, - "src": "36150:5:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "id": 77201, - "name": "denom", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77173, - "src": "36158:5:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "36150:13:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 77203, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "36149:15:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "hexValue": "3634", - "id": 77204, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "36168:2:129", - "typeDescriptions": { - "typeIdentifier": "t_rational_64_by_1", - "typeString": "int_const 64" - }, - "value": "64" - }, - "src": "36149:21:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 77206, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "36148:23:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "36124:47:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 77208, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "36123:49:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "id": 77209, - "name": "D", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74972, - "src": "36175:1:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "36123:53:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 77211, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "36122:55:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 77214, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 77212, - "name": "D", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74972, - "src": "36181:1:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "id": 77213, - "name": "decay", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74986, - "src": "36185:5:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "36181:9:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 77215, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "36180:11:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "36122:69:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 77217, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "36121:71:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 77218, - "name": "totalEffectiveActivePoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77344, - "src": "36195:26:129", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", - "typeString": "function () view returns (uint256)" - } - }, - "id": 77219, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "36195:28:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "36121:102:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 77221, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "36107:126:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "hexValue": "3634", - "id": 77222, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "36237:2:129", - "typeDescriptions": { - "typeIdentifier": "t_rational_64_by_1", - "typeString": "int_const 64" - }, - "value": "64" - }, - "src": "36107:132:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "36094:145:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 77225, - "nodeType": "ExpressionStatement", - "src": "36094:145:129" - }, - { - "expression": { - "id": 77233, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 77226, - "name": "_threshold", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77154, - "src": "36429:10:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 77229, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 77227, - "name": "_threshold", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77154, - "src": "36442:10:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "id": 77228, - "name": "_minThresholdPoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75000, - "src": "36455:19:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "36442:32:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "id": 77231, - "name": "_minThresholdPoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75000, - "src": "36490:19:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 77232, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "36442:67:129", - "trueExpression": { - "id": 77230, - "name": "_threshold", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77154, - "src": "36477:10:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "36429:80:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 77234, - "nodeType": "ExpressionStatement", - "src": "36429:80:129" - } - ] - }, - "documentation": { - "id": 77149, - "nodeType": "StructuredDocumentation", - "src": "34459:570:129", - "text": " @dev Formula: ρ * totalStaked / (1 - a) / (β - requestedAmount / total)**2\n For the Solidity implementation we amplify ρ and β and simplify the formula:\n weight = ρ * D\n maxRatio = β * D\n decay = a * D\n threshold = weight * totalStaked * D ** 2 * funds ** 2 / (D - decay) / (maxRatio * funds - requestedAmount * D) ** 2\n @param _requestedAmount Requested amount of tokens on certain proposal\n @return _threshold Threshold a proposal's conviction should surpass in order to be able to\n executed it." - }, - "functionSelector": "59a5db8b", - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "calculateThreshold", - "nameLocation": "35043:18:129", - "parameters": { - "id": 77152, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 77151, - "mutability": "mutable", - "name": "_requestedAmount", - "nameLocation": "35070:16:129", - "nodeType": "VariableDeclaration", - "scope": 77236, - "src": "35062:24:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 77150, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "35062:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "35061:26:129" - }, - "returnParameters": { - "id": 77155, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 77154, - "mutability": "mutable", - "name": "_threshold", - "nameLocation": "35117:10:129", - "nodeType": "VariableDeclaration", - "scope": 77236, - "src": "35109:18:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 77153, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "35109:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "35108:20:129" - }, - "scope": 77611, - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "id": 77271, - "nodeType": "FunctionDefinition", - "src": "36777:269:129", - "nodes": [], - "body": { - "id": 77270, - "nodeType": "Block", - "src": "36855:191:129", - "nodes": [], - "statements": [ - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 77249, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 77247, - "name": "_a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77239, - "src": "36873:2:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "id": 77248, - "name": "TWO_128", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74975, - "src": "36879:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "36873:13:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "5f612073686f756c64206265206c657373207468616e206f7220657175616c20746f20325e313238", - "id": 77250, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "36888:42:129", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_44e2d05298e19dba9341288d7967f4ffbb5a083f725e2470963d4d2d80484153", - "typeString": "literal_string \"_a should be less than or equal to 2^128\"" - }, - "value": "_a should be less than or equal to 2^128" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_44e2d05298e19dba9341288d7967f4ffbb5a083f725e2470963d4d2d80484153", - "typeString": "literal_string \"_a should be less than or equal to 2^128\"" - } - ], - "id": 77246, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "36865:7:129", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 77251, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "36865:66:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 77252, - "nodeType": "ExpressionStatement", - "src": "36865:66:129" - }, - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 77256, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 77254, - "name": "_b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77241, - "src": "36949:2:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "id": 77255, - "name": "TWO_128", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74975, - "src": "36954:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "36949:12:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "5f622073686f756c64206265206c657373207468616e20325e313238", - "id": 77257, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "36963:30:129", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_94029ed39d36fd1673853e0d61636cb1f54d05801d9baceb39b21e0f4420d664", - "typeString": "literal_string \"_b should be less than 2^128\"" - }, - "value": "_b should be less than 2^128" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_94029ed39d36fd1673853e0d61636cb1f54d05801d9baceb39b21e0f4420d664", - "typeString": "literal_string \"_b should be less than 2^128\"" - } - ], - "id": 77253, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "36941:7:129", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 77258, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "36941:53:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 77259, - "nodeType": "ExpressionStatement", - "src": "36941:53:129" - }, - { - "expression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 77268, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 77265, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 77262, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 77260, - "name": "_a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77239, - "src": "37013:2:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "id": 77261, - "name": "_b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77241, - "src": "37018:2:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "37013:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 77263, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "37012:9:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "id": 77264, - "name": "TWO_127", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74978, - "src": "37024:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "37012:19:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 77266, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "37011:21:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "hexValue": "313238", - "id": 77267, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "37036:3:129", - "typeDescriptions": { - "typeIdentifier": "t_rational_128_by_1", - "typeString": "int_const 128" - }, - "value": "128" - }, - "src": "37011:28:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 77245, - "id": 77269, - "nodeType": "Return", - "src": "37004:35:129" - } - ] - }, - "documentation": { - "id": 77237, - "nodeType": "StructuredDocumentation", - "src": "36522:250:129", - "text": " Multiply _a by _b / 2^128. Parameter _a should be less than or equal to\n 2^128 and parameter _b should be less than 2^128.\n @param _a left argument\n @param _b right argument\n @return _result _a * _b / 2^128" - }, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_mul", - "nameLocation": "36786:4:129", - "parameters": { - "id": 77242, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 77239, - "mutability": "mutable", - "name": "_a", - "nameLocation": "36799:2:129", - "nodeType": "VariableDeclaration", - "scope": 77271, - "src": "36791:10:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 77238, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "36791:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 77241, - "mutability": "mutable", - "name": "_b", - "nameLocation": "36811:2:129", - "nodeType": "VariableDeclaration", - "scope": 77271, - "src": "36803:10:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 77240, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "36803:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "36790:24:129" - }, - "returnParameters": { - "id": 77245, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 77244, - "mutability": "mutable", - "name": "_result", - "nameLocation": "36846:7:129", - "nodeType": "VariableDeclaration", - "scope": 77271, - "src": "36838:15:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 77243, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "36838:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "36837:17:129" - }, - "scope": 77611, - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "id": 77336, - "nodeType": "FunctionDefinition", - "src": "37268:447:129", - "nodes": [], - "body": { - "id": 77335, - "nodeType": "Block", - "src": "37346:369:129", - "nodes": [], - "statements": [ - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 77284, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 77282, - "name": "_a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77274, - "src": "37364:2:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "id": 77283, - "name": "TWO_128", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74975, - "src": "37369:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "37364:12:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "5f612073686f756c64206265206c657373207468616e20325e313238", - "id": 77285, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "37378:30:129", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_8cb59667c527f8a0ca0170161b6ece5e9864e8aa2d080a486f0167056517515f", - "typeString": "literal_string \"_a should be less than 2^128\"" - }, - "value": "_a should be less than 2^128" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_8cb59667c527f8a0ca0170161b6ece5e9864e8aa2d080a486f0167056517515f", - "typeString": "literal_string \"_a should be less than 2^128\"" - } - ], - "id": 77281, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "37356:7:129", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 77286, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "37356:53:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 77287, - "nodeType": "ExpressionStatement", - "src": "37356:53:129" - }, - { - "assignments": [ - 77289 - ], - "declarations": [ - { - "constant": false, - "id": 77289, - "mutability": "mutable", - "name": "a", - "nameLocation": "37427:1:129", - "nodeType": "VariableDeclaration", - "scope": 77335, - "src": "37419:9:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 77288, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "37419:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 77291, - "initialValue": { - "id": 77290, - "name": "_a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77274, - "src": "37431:2:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "37419:14:129" - }, - { - "assignments": [ - 77293 - ], - "declarations": [ - { - "constant": false, - "id": 77293, - "mutability": "mutable", - "name": "b", - "nameLocation": "37451:1:129", - "nodeType": "VariableDeclaration", - "scope": 77335, - "src": "37443:9:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 77292, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "37443:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 77295, - "initialValue": { - "id": 77294, - "name": "_b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77276, - "src": "37455:2:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "37443:14:129" - }, - { - "expression": { - "id": 77298, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 77296, - "name": "_result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77279, - "src": "37467:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 77297, - "name": "TWO_128", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74975, - "src": "37477:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "37467:17:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 77299, - "nodeType": "ExpressionStatement", - "src": "37467:17:129" - }, - { - "body": { - "id": 77333, - "nodeType": "Block", - "src": "37508:201:129", - "statements": [ - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 77307, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 77305, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 77303, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77293, - "src": "37526:1:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "&", - "rightExpression": { - "hexValue": "31", - "id": 77304, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "37530:1:129", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "37526:5:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "hexValue": "30", - "id": 77306, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "37535:1:129", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "37526:10:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 77331, - "nodeType": "Block", - "src": "37616:83:129", - "statements": [ - { - "expression": { - "id": 77325, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 77320, - "name": "_result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77279, - "src": "37634:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "id": 77322, - "name": "_result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77279, - "src": "37649:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 77323, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77289, - "src": "37658:1:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 77321, - "name": "_mul", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77271, - "src": "37644:4:129", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 77324, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "37644:16:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "37634:26:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 77326, - "nodeType": "ExpressionStatement", - "src": "37634:26:129" - }, - { - "expression": { - "id": 77329, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 77327, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77293, - "src": "37678:1:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "-=", - "rightHandSide": { - "hexValue": "31", - "id": 77328, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "37683:1:129", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "37678:6:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 77330, - "nodeType": "ExpressionStatement", - "src": "37678:6:129" - } - ] - }, - "id": 77332, - "nodeType": "IfStatement", - "src": "37522:177:129", - "trueBody": { - "id": 77319, - "nodeType": "Block", - "src": "37538:72:129", - "statements": [ - { - "expression": { - "id": 77313, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 77308, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77289, - "src": "37556:1:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "id": 77310, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77289, - "src": "37565:1:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 77311, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77289, - "src": "37568:1:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 77309, - "name": "_mul", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77271, - "src": "37560:4:129", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 77312, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "37560:10:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "37556:14:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 77314, - "nodeType": "ExpressionStatement", - "src": "37556:14:129" - }, - { - "expression": { - "id": 77317, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 77315, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77293, - "src": "37588:1:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": ">>=", - "rightHandSide": { - "hexValue": "31", - "id": 77316, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "37594:1:129", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "37588:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 77318, - "nodeType": "ExpressionStatement", - "src": "37588:7:129" - } - ] - } - } - ] - }, - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 77302, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 77300, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77293, - "src": "37501:1:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "hexValue": "30", - "id": 77301, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "37505:1:129", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "37501:5:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 77334, - "nodeType": "WhileStatement", - "src": "37494:215:129" - } - ] - }, - "documentation": { - "id": 77272, - "nodeType": "StructuredDocumentation", - "src": "37052:211:129", - "text": " Calculate (_a / 2^128)^_b * 2^128. Parameter _a should be less than 2^128.\n @param _a left argument\n @param _b right argument\n @return _result (_a / 2^128)^_b * 2^128" - }, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_pow", - "nameLocation": "37277:4:129", - "parameters": { - "id": 77277, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 77274, - "mutability": "mutable", - "name": "_a", - "nameLocation": "37290:2:129", - "nodeType": "VariableDeclaration", - "scope": 77336, - "src": "37282:10:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 77273, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "37282:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 77276, - "mutability": "mutable", - "name": "_b", - "nameLocation": "37302:2:129", - "nodeType": "VariableDeclaration", - "scope": 77336, - "src": "37294:10:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 77275, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "37294:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "37281:24:129" - }, - "returnParameters": { - "id": 77280, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 77279, - "mutability": "mutable", - "name": "_result", - "nameLocation": "37337:7:129", - "nodeType": "VariableDeclaration", - "scope": 77336, - "src": "37329:15:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 77278, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "37329:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "37328:17:129" - }, - "scope": 77611, - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "id": 77344, - "nodeType": "FunctionDefinition", - "src": "37721:112:129", - "nodes": [], - "body": { - "id": 77343, - "nodeType": "Block", - "src": "37789:44:129", - "nodes": [], - "statements": [ - { - "expression": { - "id": 77341, - "name": "totalPointsActivated", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74997, - "src": "37806:20:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 77340, - "id": 77342, - "nodeType": "Return", - "src": "37799:27:129" - } - ] - }, - "functionSelector": "d1e36232", - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "totalEffectiveActivePoints", - "nameLocation": "37730:26:129", - "parameters": { - "id": 77337, - "nodeType": "ParameterList", - "parameters": [], - "src": "37756:2:129" - }, - "returnParameters": { - "id": 77340, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 77339, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 77344, - "src": "37780:7:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 77338, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "37780:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "37779:9:129" - }, - "scope": 77611, - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "id": 77385, - "nodeType": "FunctionDefinition", - "src": "38023:396:129", - "nodes": [], - "body": { - "id": 77384, - "nodeType": "Block", - "src": "38131:288:129", - "nodes": [], - "statements": [ - { - "assignments": [ - 77354, - 77356 - ], - "declarations": [ - { - "constant": false, - "id": 77354, - "mutability": "mutable", - "name": "conviction", - "nameLocation": "38150:10:129", - "nodeType": "VariableDeclaration", - "scope": 77384, - "src": "38142:18:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 77353, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "38142:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 77356, - "mutability": "mutable", - "name": "blockNumber", - "nameLocation": "38170:11:129", - "nodeType": "VariableDeclaration", - "scope": 77384, - "src": "38162:19:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 77355, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "38162:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 77361, - "initialValue": { - "arguments": [ - { - "id": 77358, - "name": "_proposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77348, - "src": "38219:9:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal storage pointer" - } - }, - { - "id": 77359, - "name": "_oldStaked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77350, - "src": "38230:10:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal storage pointer" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 77357, - "name": "_checkBlockAndCalculateConviction", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77432, - "src": "38185:33:129", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Proposal_$74776_storage_ptr_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", - "typeString": "function (struct StrategyStruct.Proposal storage pointer,uint256) view returns (uint256,uint256)" - } - }, - "id": 77360, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "38185:56:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "38141:100:129" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 77368, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 77364, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 77362, - "name": "conviction", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77354, - "src": "38255:10:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "hexValue": "30", - "id": 77363, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "38269:1:129", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "38255:15:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 77367, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 77365, - "name": "blockNumber", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77356, - "src": "38274:11:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "hexValue": "30", - "id": 77366, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "38289:1:129", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "38274:16:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "38255:35:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 77371, - "nodeType": "IfStatement", - "src": "38251:72:129", - "trueBody": { - "id": 77370, - "nodeType": "Block", - "src": "38292:31:129", - "statements": [ - { - "functionReturnParameters": 77352, - "id": 77369, - "nodeType": "Return", - "src": "38306:7:129" - } - ] - } - }, - { - "expression": { - "id": 77376, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "expression": { - "id": 77372, - "name": "_proposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77348, - "src": "38332:9:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal storage pointer" - } - }, - "id": 77374, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberLocation": "38342:9:129", - "memberName": "blockLast", - "nodeType": "MemberAccess", - "referencedDeclaration": 74765, - "src": "38332:19:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 77375, - "name": "blockNumber", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77356, - "src": "38354:11:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "38332:33:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 77377, - "nodeType": "ExpressionStatement", - "src": "38332:33:129" - }, - { - "expression": { - "id": 77382, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "expression": { - "id": 77378, - "name": "_proposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77348, - "src": "38375:9:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal storage pointer" - } - }, - "id": 77380, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberLocation": "38385:14:129", - "memberName": "convictionLast", - "nodeType": "MemberAccess", - "referencedDeclaration": 74757, - "src": "38375:24:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 77381, - "name": "conviction", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77354, - "src": "38402:10:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "38375:37:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 77383, - "nodeType": "ExpressionStatement", - "src": "38375:37:129" - } - ] - }, - "documentation": { - "id": 77345, - "nodeType": "StructuredDocumentation", - "src": "37839:179:129", - "text": " @dev Calculate conviction and store it on the proposal\n @param _proposal Proposal\n @param _oldStaked Amount of tokens staked on a proposal until now" - }, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_calculateAndSetConviction", - "nameLocation": "38032:26:129", - "parameters": { - "id": 77351, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 77348, - "mutability": "mutable", - "name": "_proposal", - "nameLocation": "38091:9:129", - "nodeType": "VariableDeclaration", - "scope": 77385, - "src": "38059:41:129", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal" - }, - "typeName": { - "id": 77347, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 77346, - "name": "StrategyStruct.Proposal", - "nameLocations": [ - "38059:14:129", - "38074:8:129" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 74776, - "src": "38059:23:129" - }, - "referencedDeclaration": 74776, - "src": "38059:23:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 77350, - "mutability": "mutable", - "name": "_oldStaked", - "nameLocation": "38110:10:129", - "nodeType": "VariableDeclaration", - "scope": 77385, - "src": "38102:18:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 77349, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "38102:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "38058:63:129" - }, - "returnParameters": { - "id": 77352, - "nodeType": "ParameterList", - "parameters": [], - "src": "38131:0:129" - }, - "scope": 77611, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "id": 77432, - "nodeType": "FunctionDefinition", - "src": "38425:719:129", - "nodes": [], - "body": { - "id": 77431, - "nodeType": "Block", - "src": "38623:521:129", - "nodes": [], - "statements": [ - { - "expression": { - "id": 77400, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 77397, - "name": "blockNumber", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77395, - "src": "38633:11:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "expression": { - "id": 77398, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "38647:5:129", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 77399, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "38653:6:129", - "memberName": "number", - "nodeType": "MemberAccess", - "src": "38647:12:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "38633:26:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 77401, - "nodeType": "ExpressionStatement", - "src": "38633:26:129" - }, - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 77406, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 77403, - "name": "_proposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77388, - "src": "38676:9:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal storage pointer" - } - }, - "id": 77404, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "38686:9:129", - "memberName": "blockLast", - "nodeType": "MemberAccess", - "referencedDeclaration": 74765, - "src": "38676:19:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "id": 77405, - "name": "blockNumber", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77395, - "src": "38699:11:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "38676:34:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 77402, - "name": "assert", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -3, - "src": "38669:6:129", - "typeDescriptions": { - "typeIdentifier": "t_function_assert_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 77407, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "38669:42:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 77408, - "nodeType": "ExpressionStatement", - "src": "38669:42:129" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 77412, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 77409, - "name": "_proposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77388, - "src": "38725:9:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal storage pointer" - } - }, - "id": 77410, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "38735:9:129", - "memberName": "blockLast", - "nodeType": "MemberAccess", - "referencedDeclaration": 74765, - "src": "38725:19:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "id": 77411, - "name": "blockNumber", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77395, - "src": "38748:11:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "38725:34:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 77418, - "nodeType": "IfStatement", - "src": "38721:173:129", - "trueBody": { - "id": 77417, - "nodeType": "Block", - "src": "38761:133:129", - "statements": [ - { - "expression": { - "components": [ - { - "hexValue": "30", - "id": 77413, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "38849:1:129", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - { - "hexValue": "30", - "id": 77414, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "38852:1:129", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "id": 77415, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "38848:6:129", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_rational_0_by_1_$_t_rational_0_by_1_$", - "typeString": "tuple(int_const 0,int_const 0)" - } - }, - "functionReturnParameters": 77396, - "id": 77416, - "nodeType": "Return", - "src": "38841:13:129" - } - ] - } - }, - { - "expression": { - "id": 77429, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 77419, - "name": "conviction", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77393, - "src": "38947:10:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 77424, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 77421, - "name": "blockNumber", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77395, - "src": "38993:11:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "expression": { - "id": 77422, - "name": "_proposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77388, - "src": "39007:9:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal storage pointer" - } - }, - "id": 77423, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "39017:9:129", - "memberName": "blockLast", - "nodeType": "MemberAccess", - "referencedDeclaration": 74765, - "src": "39007:19:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "38993:33:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "expression": { - "id": 77425, - "name": "_proposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77388, - "src": "39079:9:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal storage pointer" - } - }, - "id": 77426, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "39089:14:129", - "memberName": "convictionLast", - "nodeType": "MemberAccess", - "referencedDeclaration": 74757, - "src": "39079:24:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 77427, - "name": "_oldStaked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77390, - "src": "39117:10:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 77420, - "name": "calculateConviction", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77148, - "src": "38960:19:129", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256) view returns (uint256)" - } - }, - "id": 77428, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "38960:177:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "38947:190:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 77430, - "nodeType": "ExpressionStatement", - "src": "38947:190:129" - } - ] - }, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_checkBlockAndCalculateConviction", - "nameLocation": "38434:33:129", - "parameters": { - "id": 77391, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 77388, - "mutability": "mutable", - "name": "_proposal", - "nameLocation": "38500:9:129", - "nodeType": "VariableDeclaration", - "scope": 77432, - "src": "38468:41:129", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal" - }, - "typeName": { - "id": 77387, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 77386, - "name": "StrategyStruct.Proposal", - "nameLocations": [ - "38468:14:129", - "38483:8:129" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 74776, - "src": "38468:23:129" - }, - "referencedDeclaration": 74776, - "src": "38468:23:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 77390, - "mutability": "mutable", - "name": "_oldStaked", - "nameLocation": "38519:10:129", - "nodeType": "VariableDeclaration", - "scope": 77432, - "src": "38511:18:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 77389, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "38511:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "38467:63:129" - }, - "returnParameters": { - "id": 77396, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 77393, - "mutability": "mutable", - "name": "conviction", - "nameLocation": "38586:10:129", - "nodeType": "VariableDeclaration", - "scope": 77432, - "src": "38578:18:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 77392, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "38578:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 77395, - "mutability": "mutable", - "name": "blockNumber", - "nameLocation": "38606:11:129", - "nodeType": "VariableDeclaration", - "scope": 77432, - "src": "38598:19:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 77394, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "38598:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "38577:41:129" - }, - "scope": 77611, - "stateMutability": "view", - "virtual": false, - "visibility": "internal" - }, - { - "id": 77480, - "nodeType": "FunctionDefinition", - "src": "39150:520:129", - "nodes": [], - "body": { - "id": 77479, - "nodeType": "Block", - "src": "39229:441:129", - "nodes": [], - "statements": [ - { - "assignments": [ - 77443 - ], - "declarations": [ - { - "constant": false, - "id": 77443, - "mutability": "mutable", - "name": "proposal", - "nameLocation": "39271:8:129", - "nodeType": "VariableDeclaration", - "scope": 77479, - "src": "39239:40:129", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal" - }, - "typeName": { - "id": 77442, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 77441, - "name": "StrategyStruct.Proposal", - "nameLocations": [ - "39239:14:129", - "39254:8:129" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 74776, - "src": "39239:23:129" - }, - "referencedDeclaration": 74776, - "src": "39239:23:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal" - } - }, - "visibility": "internal" - } - ], - "id": 77447, - "initialValue": { - "baseExpression": { - "id": 77444, - "name": "proposals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75022, - "src": "39282:9:129", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Proposal_$74776_storage_$", - "typeString": "mapping(uint256 => struct StrategyStruct.Proposal storage ref)" - } - }, - "id": 77446, - "indexExpression": { - "id": 77445, - "name": "proposalId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77434, - "src": "39292:10:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "39282:21:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage", - "typeString": "struct StrategyStruct.Proposal storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "39239:64:129" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 77451, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 77448, - "name": "proposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77443, - "src": "39318:8:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal storage pointer" - } - }, - "id": 77449, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "39327:10:129", - "memberName": "proposalId", - "nodeType": "MemberAccess", - "referencedDeclaration": 74751, - "src": "39318:19:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "id": 77450, - "name": "proposalId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77434, - "src": "39341:10:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "39318:33:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 77457, - "nodeType": "IfStatement", - "src": "39314:100:129", - "trueBody": { - "id": 77456, - "nodeType": "Block", - "src": "39353:61:129", - "statements": [ - { - "errorCall": { - "arguments": [ - { - "id": 77453, - "name": "proposalId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77434, - "src": "39392:10:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 77452, - "name": "ProposalNotInList", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74868, - "src": "39374:17:129", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$_t_uint256_$returns$__$", - "typeString": "function (uint256) pure" - } - }, - "id": 77454, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "39374:29:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 77455, - "nodeType": "RevertStatement", - "src": "39367:36:129" - } - ] - } - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_enum$_ProposalStatus_$74749", - "typeString": "enum StrategyStruct.ProposalStatus" - }, - "id": 77463, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 77458, - "name": "proposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77443, - "src": "39428:8:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal storage pointer" - } - }, - "id": 77459, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "39437:14:129", - "memberName": "proposalStatus", - "nodeType": "MemberAccess", - "referencedDeclaration": 74768, - "src": "39428:23:129", - "typeDescriptions": { - "typeIdentifier": "t_enum$_ProposalStatus_$74749", - "typeString": "enum StrategyStruct.ProposalStatus" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "expression": { - "expression": { - "id": 77460, - "name": "StrategyStruct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74807, - "src": "39455:14:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_StrategyStruct_$74807_$", - "typeString": "type(library StrategyStruct)" - } - }, - "id": 77461, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "39470:14:129", - "memberName": "ProposalStatus", - "nodeType": "MemberAccess", - "referencedDeclaration": 74749, - "src": "39455:29:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_ProposalStatus_$74749_$", - "typeString": "type(enum StrategyStruct.ProposalStatus)" - } - }, - "id": 77462, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "39485:6:129", - "memberName": "Active", - "nodeType": "MemberAccess", - "referencedDeclaration": 74745, - "src": "39455:36:129", - "typeDescriptions": { - "typeIdentifier": "t_enum$_ProposalStatus_$74749", - "typeString": "enum StrategyStruct.ProposalStatus" - } - }, - "src": "39428:63:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 77469, - "nodeType": "IfStatement", - "src": "39424:130:129", - "trueBody": { - "id": 77468, - "nodeType": "Block", - "src": "39493:61:129", - "statements": [ - { - "errorCall": { - "arguments": [ - { - "id": 77465, - "name": "proposalId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77434, - "src": "39532:10:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 77464, - "name": "ProposalNotActive", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74864, - "src": "39514:17:129", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$_t_uint256_$returns$__$", - "typeString": "function (uint256) pure" - } - }, - "id": 77466, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "39514:29:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 77467, - "nodeType": "RevertStatement", - "src": "39507:36:129" - } - ] - } - }, - { - "expression": { - "arguments": [ - { - "id": 77471, - "name": "proposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77443, - "src": "39591:8:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal storage pointer" - } - }, - { - "expression": { - "id": 77472, - "name": "proposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77443, - "src": "39601:8:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal storage pointer" - } - }, - "id": 77473, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "39610:12:129", - "memberName": "stakedAmount", - "nodeType": "MemberAccess", - "referencedDeclaration": 74755, - "src": "39601:21:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal storage pointer" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 77470, - "name": "_calculateAndSetConviction", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77385, - "src": "39564:26:129", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Proposal_$74776_storage_ptr_$_t_uint256_$returns$__$", - "typeString": "function (struct StrategyStruct.Proposal storage pointer,uint256)" - } - }, - "id": 77474, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "39564:59:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 77475, - "nodeType": "ExpressionStatement", - "src": "39564:59:129" - }, - { - "expression": { - "expression": { - "id": 77476, - "name": "proposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77443, - "src": "39640:8:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal storage pointer" - } - }, - "id": 77477, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "39649:14:129", - "memberName": "convictionLast", - "nodeType": "MemberAccess", - "referencedDeclaration": 74757, - "src": "39640:23:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 77438, - "id": 77478, - "nodeType": "Return", - "src": "39633:30:129" - } - ] - }, - "functionSelector": "1aa91a9e", - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "updateProposalConviction", - "nameLocation": "39159:24:129", - "parameters": { - "id": 77435, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 77434, - "mutability": "mutable", - "name": "proposalId", - "nameLocation": "39192:10:129", - "nodeType": "VariableDeclaration", - "scope": 77480, - "src": "39184:18:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 77433, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "39184:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "39183:20:129" - }, - "returnParameters": { - "id": 77438, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 77437, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 77480, - "src": "39220:7:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 77436, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "39220:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "39219:9:129" - }, - "scope": 77611, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "id": 77499, - "nodeType": "FunctionDefinition", - "src": "39676:124:129", - "nodes": [], - "body": { - "id": 77498, - "nodeType": "Block", - "src": "39748:52:129", - "nodes": [], - "statements": [ - { - "expression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 77495, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 77489, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 77487, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77482, - "src": "39767:6:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "id": 77488, - "name": "D", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74972, - "src": "39776:1:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "39767:10:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 77490, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "39766:12:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 77493, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 77491, - "name": "D", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74972, - "src": "39782:1:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "id": 77492, - "name": "decay", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74986, - "src": "39786:5:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "39782:9:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 77494, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "39781:11:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "39766:26:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 77496, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "39765:28:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 77486, - "id": 77497, - "nodeType": "Return", - "src": "39758:35:129" - } - ] - }, - "functionSelector": "950559d7", - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getMaxConviction", - "nameLocation": "39685:16:129", - "parameters": { - "id": 77483, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 77482, - "mutability": "mutable", - "name": "amount", - "nameLocation": "39710:6:129", - "nodeType": "VariableDeclaration", - "scope": 77499, - "src": "39702:14:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 77481, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "39702:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "39701:16:129" - }, - "returnParameters": { - "id": 77486, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 77485, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 77499, - "src": "39739:7:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 77484, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "39739:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "39738:9:129" - }, - "scope": 77611, - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "id": 77517, - "nodeType": "FunctionDefinition", - "src": "39806:137:129", - "nodes": [], - "body": { - "id": 77516, - "nodeType": "Block", - "src": "39877:66:129", - "nodes": [], - "statements": [ - { - "expression": { - "id": 77510, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 77508, - "name": "decay", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74986, - "src": "39887:5:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 77509, - "name": "_decay", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77501, - "src": "39895:6:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "39887:14:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 77511, - "nodeType": "ExpressionStatement", - "src": "39887:14:129" - }, - { - "eventCall": { - "arguments": [ - { - "id": 77513, - "name": "_decay", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77501, - "src": "39929:6:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 77512, - "name": "DecayUpdated", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74951, - "src": "39916:12:129", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 77514, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "39916:20:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 77515, - "nodeType": "EmitStatement", - "src": "39911:25:129" - } - ] - }, - "functionSelector": "69fa25c4", - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": [ - { - "expression": { - "id": 77504, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "39865:3:129", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 77505, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "39869:6:129", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "39865:10:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "id": 77506, - "kind": "modifierInvocation", - "modifierName": { - "id": 77503, - "name": "onlyPoolManager", - "nameLocations": [ - "39849:15:129" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 3386, - "src": "39849:15:129" - }, - "nodeType": "ModifierInvocation", - "src": "39849:27:129" - } - ], - "name": "setDecay", - "nameLocation": "39815:8:129", - "parameters": { - "id": 77502, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 77501, - "mutability": "mutable", - "name": "_decay", - "nameLocation": "39832:6:129", - "nodeType": "VariableDeclaration", - "scope": 77517, - "src": "39824:14:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 77500, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "39824:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "39823:16:129" - }, - "returnParameters": { - "id": 77507, - "nodeType": "ParameterList", - "parameters": [], - "src": "39877:0:129" - }, - "scope": 77611, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "id": 77535, - "nodeType": "FunctionDefinition", - "src": "39949:155:129", - "nodes": [], - "body": { - "id": 77534, - "nodeType": "Block", - "src": "40026:78:129", - "nodes": [], - "statements": [ - { - "expression": { - "id": 77528, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 77526, - "name": "maxRatio", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74988, - "src": "40036:8:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 77527, - "name": "_maxRatio", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77519, - "src": "40047:9:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "40036:20:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 77529, - "nodeType": "ExpressionStatement", - "src": "40036:20:129" - }, - { - "eventCall": { - "arguments": [ - { - "id": 77531, - "name": "_maxRatio", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77519, - "src": "40087:9:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 77530, - "name": "MaxRatioUpdated", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74955, - "src": "40071:15:129", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 77532, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "40071:26:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 77533, - "nodeType": "EmitStatement", - "src": "40066:31:129" - } - ] - }, - "functionSelector": "11f22ae3", - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": [ - { - "expression": { - "id": 77522, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "40014:3:129", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 77523, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "40018:6:129", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "40014:10:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "id": 77524, - "kind": "modifierInvocation", - "modifierName": { - "id": 77521, - "name": "onlyPoolManager", - "nameLocations": [ - "39998:15:129" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 3386, - "src": "39998:15:129" - }, - "nodeType": "ModifierInvocation", - "src": "39998:27:129" - } - ], - "name": "setMaxRatio", - "nameLocation": "39958:11:129", - "parameters": { - "id": 77520, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 77519, - "mutability": "mutable", - "name": "_maxRatio", - "nameLocation": "39978:9:129", - "nodeType": "VariableDeclaration", - "scope": 77535, - "src": "39970:17:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 77518, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "39970:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "39969:19:129" - }, - "returnParameters": { - "id": 77525, - "nodeType": "ParameterList", - "parameters": [], - "src": "40026:0:129" - }, - "scope": 77611, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "id": 77553, - "nodeType": "FunctionDefinition", - "src": "40110:143:129", - "nodes": [], - "body": { - "id": 77552, - "nodeType": "Block", - "src": "40183:70:129", - "nodes": [], - "statements": [ - { - "expression": { - "id": 77546, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 77544, - "name": "weight", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74990, - "src": "40193:6:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 77545, - "name": "_weight", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77537, - "src": "40202:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "40193:16:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 77547, - "nodeType": "ExpressionStatement", - "src": "40193:16:129" - }, - { - "eventCall": { - "arguments": [ - { - "id": 77549, - "name": "_weight", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77537, - "src": "40238:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 77548, - "name": "WeightUpdated", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74959, - "src": "40224:13:129", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 77550, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "40224:22:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 77551, - "nodeType": "EmitStatement", - "src": "40219:27:129" - } - ] - }, - "functionSelector": "fc1711f2", - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": [ - { - "expression": { - "id": 77540, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "40171:3:129", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 77541, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "40175:6:129", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "40171:10:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "id": 77542, - "kind": "modifierInvocation", - "modifierName": { - "id": 77539, - "name": "onlyPoolManager", - "nameLocations": [ - "40155:15:129" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 3386, - "src": "40155:15:129" - }, - "nodeType": "ModifierInvocation", - "src": "40155:27:129" - } - ], - "name": "setWeight", - "nameLocation": "40119:9:129", - "parameters": { - "id": 77538, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 77537, - "mutability": "mutable", - "name": "_weight", - "nameLocation": "40137:7:129", - "nodeType": "VariableDeclaration", - "scope": 77553, - "src": "40129:15:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 77536, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "40129:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "40128:17:129" - }, - "returnParameters": { - "id": 77543, - "nodeType": "ParameterList", - "parameters": [], - "src": "40183:0:129" - }, - "scope": 77611, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "id": 77573, - "nodeType": "FunctionDefinition", - "src": "40259:219:129", - "nodes": [], - "body": { - "id": 77572, - "nodeType": "Block", - "src": "40354:124:129", - "nodes": [], - "statements": [ - { - "expression": { - "id": 77566, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 77562, - "name": "registryCommunity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75014, - "src": "40364:17:129", - "typeDescriptions": { - "typeIdentifier": "t_contract$_RegistryCommunity_$83082", - "typeString": "contract RegistryCommunity" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "id": 77564, - "name": "_registryCommunity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77555, - "src": "40402:18:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 77563, - "name": "RegistryCommunity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 83082, - "src": "40384:17:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_RegistryCommunity_$83082_$", - "typeString": "type(contract RegistryCommunity)" - } - }, - "id": 77565, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "40384:37:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_RegistryCommunity_$83082", - "typeString": "contract RegistryCommunity" - } - }, - "src": "40364:57:129", - "typeDescriptions": { - "typeIdentifier": "t_contract$_RegistryCommunity_$83082", - "typeString": "contract RegistryCommunity" - } - }, - "id": 77567, - "nodeType": "ExpressionStatement", - "src": "40364:57:129" - }, - { - "eventCall": { - "arguments": [ - { - "id": 77569, - "name": "_registryCommunity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77555, - "src": "40452:18:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 77568, - "name": "RegistryUpdated", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74963, - "src": "40436:15:129", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$", - "typeString": "function (address)" - } - }, - "id": 77570, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "40436:35:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 77571, - "nodeType": "EmitStatement", - "src": "40431:40:129" - } - ] - }, - "functionSelector": "058aca44", - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": [ - { - "expression": { - "id": 77558, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "40342:3:129", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 77559, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "40346:6:129", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "40342:10:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "id": 77560, - "kind": "modifierInvocation", - "modifierName": { - "id": 77557, - "name": "onlyPoolManager", - "nameLocations": [ - "40326:15:129" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 3386, - "src": "40326:15:129" - }, - "nodeType": "ModifierInvocation", - "src": "40326:27:129" - } - ], - "name": "setRegistryCommunity", - "nameLocation": "40268:20:129", - "parameters": { - "id": 77556, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 77555, - "mutability": "mutable", - "name": "_registryCommunity", - "nameLocation": "40297:18:129", - "nodeType": "VariableDeclaration", - "scope": 77573, - "src": "40289:26:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 77554, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "40289:7:129", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "40288:28:129" - }, - "returnParameters": { - "id": 77561, - "nodeType": "ParameterList", - "parameters": [], - "src": "40354:0:129" - }, - "scope": 77611, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "id": 77592, - "nodeType": "FunctionDefinition", - "src": "40484:237:129", - "nodes": [], - "body": { - "id": 77591, - "nodeType": "Block", - "src": "40581:140:129", - "nodes": [], - "statements": [ - { - "eventCall": { - "arguments": [ - { - "id": 77583, - "name": "_minThresholdPoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75000, - "src": "40622:19:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 77584, - "name": "minThresholdPoints_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77575, - "src": "40643:19:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 77582, - "name": "MinThresholdPointsUpdated", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74969, - "src": "40596:25:129", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (uint256,uint256)" - } - }, - "id": 77585, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "40596:67:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 77586, - "nodeType": "EmitStatement", - "src": "40591:72:129" - }, - { - "expression": { - "id": 77589, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 77587, - "name": "_minThresholdPoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75000, - "src": "40673:19:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 77588, - "name": "minThresholdPoints_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77575, - "src": "40695:19:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "40673:41:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 77590, - "nodeType": "ExpressionStatement", - "src": "40673:41:129" - } - ] - }, - "functionSelector": "2cefadbb", - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": [ - { - "expression": { - "id": 77578, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "40569:3:129", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 77579, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "40573:6:129", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "40569:10:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "id": 77580, - "kind": "modifierInvocation", - "modifierName": { - "id": 77577, - "name": "onlyPoolManager", - "nameLocations": [ - "40553:15:129" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 3386, - "src": "40553:15:129" - }, - "nodeType": "ModifierInvocation", - "src": "40553:27:129" - } - ], - "name": "setMinThresholdPoints", - "nameLocation": "40493:21:129", - "parameters": { - "id": 77576, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 77575, - "mutability": "mutable", - "name": "minThresholdPoints_", - "nameLocation": "40523:19:129", - "nodeType": "VariableDeclaration", - "scope": 77592, - "src": "40515:27:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 77574, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "40515:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "40514:29:129" - }, - "returnParameters": { - "id": 77581, - "nodeType": "ParameterList", - "parameters": [], - "src": "40581:0:129" - }, - "scope": 77611, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "id": 77610, - "nodeType": "FunctionDefinition", - "src": "40727:170:129", - "nodes": [], - "body": { - "id": 77609, - "nodeType": "Block", - "src": "40798:99:129", - "nodes": [], - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 77600, - "name": "_sybilScorer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77594, - "src": "40827:12:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 77599, - "name": "_revertZeroAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75256, - "src": "40808:18:129", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_address_$returns$__$", - "typeString": "function (address) pure" - } - }, - "id": 77601, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "40808:32:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 77602, - "nodeType": "ExpressionStatement", - "src": "40808:32:129" - }, - { - "expression": { - "id": 77607, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 77603, - "name": "sybilScorer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75017, - "src": "40850:11:129", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ISybilScorer_$80667", - "typeString": "contract ISybilScorer" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "id": 77605, - "name": "_sybilScorer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77594, - "src": "40877:12:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 77604, - "name": "ISybilScorer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 80667, - "src": "40864:12:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ISybilScorer_$80667_$", - "typeString": "type(contract ISybilScorer)" - } - }, - "id": 77606, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "40864:26:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_ISybilScorer_$80667", - "typeString": "contract ISybilScorer" - } - }, - "src": "40850:40:129", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ISybilScorer_$80667", - "typeString": "contract ISybilScorer" - } - }, - "id": 77608, - "nodeType": "ExpressionStatement", - "src": "40850:40:129" - } - ] - }, - "functionSelector": "ac1ed7b9", - "implemented": true, - "kind": "function", - "modifiers": [ - { - "id": 77597, - "kind": "modifierInvocation", - "modifierName": { - "id": 77596, - "name": "onlyCouncilSafe", - "nameLocations": [ - "40782:15:129" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 75050, - "src": "40782:15:129" - }, - "nodeType": "ModifierInvocation", - "src": "40782:15:129" - } - ], - "name": "setSybilScorer", - "nameLocation": "40736:14:129", - "parameters": { - "id": 77595, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 77594, - "mutability": "mutable", - "name": "_sybilScorer", - "nameLocation": "40759:12:129", - "nodeType": "VariableDeclaration", - "scope": 77610, - "src": "40751:20:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 77593, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "40751:7:129", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "40750:22:129" - }, - "returnParameters": { - "id": 77598, - "nodeType": "ParameterList", - "parameters": [], - "src": "40798:0:129" - }, - "scope": 77611, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "abstract": false, - "baseContracts": [ - { - "baseName": { - "id": 74808, - "name": "BaseStrategy", - "nameLocations": [ - "2810:12:129" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 3923, - "src": "2810:12:129" - }, - "id": 74809, - "nodeType": "InheritanceSpecifier", - "src": "2810:12:129" - }, - { - "baseName": { - "id": 74810, - "name": "IPointStrategy", - "nameLocations": [ - "2824:14:129" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 74722, - "src": "2824:14:129" - }, - "id": 74811, - "nodeType": "InheritanceSpecifier", - "src": "2824:14:129" - }, - { - "baseName": { - "id": 74812, - "name": "ERC165", - "nameLocations": [ - "2840:6:129" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 58266, - "src": "2840:6:129" - }, - "id": 74813, - "nodeType": "InheritanceSpecifier", - "src": "2840:6:129" - } - ], - "canonicalName": "CVStrategy", - "contractDependencies": [], - "contractKind": "contract", - "fullyImplemented": true, - "linearizedBaseContracts": [ - 77611, - 58266, - 58472, - 74722, - 3923, - 3089, - 3317, - 3106, - 2969 - ], - "name": "CVStrategy", - "nameLocation": "2796:10:129", - "scope": 77612, - "usedErrors": [ - 3008, - 3011, - 3014, - 3017, - 3020, - 3023, - 3026, - 3029, - 3032, - 3035, - 3038, - 3041, - 3044, - 3047, - 3050, - 3053, - 3056, - 3059, - 3062, - 3065, - 3068, - 3071, - 3074, - 3079, - 3082, - 3085, - 3088, - 3117, - 74818, - 74820, - 74822, - 74824, - 74826, - 74828, - 74830, - 74832, - 74834, - 74836, - 74838, - 74846, - 74848, - 74850, - 74856, - 74858, - 74860, - 74864, - 74868, - 74874, - 74876, - 74878, - 74886, - 74888, - 74890 - ] - } - ], - "license": "AGPL-3.0-only" - }, - "id": 129 -} \ No newline at end of file +{"abi":[{"type":"constructor","inputs":[{"name":"_allo","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"fallback","stateMutability":"payable"},{"type":"receive","stateMutability":"payable"},{"type":"function","name":"D","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"MAX_STAKED_PROPOSALS","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"NATIVE","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"_minThresholdPoints","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"activatePoints","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"allocate","inputs":[{"name":"_data","type":"bytes","internalType":"bytes"},{"name":"_sender","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"calculateConviction","inputs":[{"name":"_timePassed","type":"uint256","internalType":"uint256"},{"name":"_lastConv","type":"uint256","internalType":"uint256"},{"name":"_oldAmount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"calculateThreshold","inputs":[{"name":"_requestedAmount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"_threshold","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"canExecuteProposal","inputs":[{"name":"proposalId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"canBeExecuted","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"deactivatePoints","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"deactivatePoints","inputs":[{"name":"_member","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"decay","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"decreasePower","inputs":[{"name":"_member","type":"address","internalType":"address"},{"name":"_amountToUnstake","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"distribute","inputs":[{"name":"_recipientIds","type":"address[]","internalType":"address[]"},{"name":"_data","type":"bytes","internalType":"bytes"},{"name":"_sender","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"getAllo","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IAllo"}],"stateMutability":"view"},{"type":"function","name":"getMaxAmount","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getMaxConviction","inputs":[{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getMetadata","inputs":[{"name":"_proposalId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]}],"stateMutability":"view"},{"type":"function","name":"getPayouts","inputs":[{"name":"","type":"address[]","internalType":"address[]"},{"name":"","type":"bytes[]","internalType":"bytes[]"}],"outputs":[{"name":"","type":"tuple[]","internalType":"struct IStrategy.PayoutSummary[]","components":[{"name":"recipientAddress","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}]}],"stateMutability":"pure"},{"type":"function","name":"getPointSystem","inputs":[],"outputs":[{"name":"","type":"uint8","internalType":"enum StrategyStruct.PointSystem"}],"stateMutability":"view"},{"type":"function","name":"getPoolAmount","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getPoolId","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getProposal","inputs":[{"name":"_proposalId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"submitter","type":"address","internalType":"address"},{"name":"beneficiary","type":"address","internalType":"address"},{"name":"requestedToken","type":"address","internalType":"address"},{"name":"requestedAmount","type":"uint256","internalType":"uint256"},{"name":"stakedAmount","type":"uint256","internalType":"uint256"},{"name":"proposalStatus","type":"uint8","internalType":"enum StrategyStruct.ProposalStatus"},{"name":"blockLast","type":"uint256","internalType":"uint256"},{"name":"convictionLast","type":"uint256","internalType":"uint256"},{"name":"threshold","type":"uint256","internalType":"uint256"},{"name":"voterStakedPoints","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getProposalStakedAmount","inputs":[{"name":"_proposalId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getProposalVoterStake","inputs":[{"name":"_proposalId","type":"uint256","internalType":"uint256"},{"name":"_voter","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getRecipientStatus","inputs":[{"name":"_recipientId","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint8","internalType":"enum IStrategy.Status"}],"stateMutability":"view"},{"type":"function","name":"getStrategyId","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"getTotalVoterStakePct","inputs":[{"name":"_voter","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"increasePoolAmount","inputs":[{"name":"_amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"increasePower","inputs":[{"name":"_member","type":"address","internalType":"address"},{"name":"_amountToStake","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"initialize","inputs":[{"name":"_poolId","type":"uint256","internalType":"uint256"},{"name":"_data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"isPoolActive","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isValidAllocator","inputs":[{"name":"_allocator","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"maxRatio","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"pointConfig","inputs":[],"outputs":[{"name":"maxAmount","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"pointSystem","inputs":[],"outputs":[{"name":"","type":"uint8","internalType":"enum StrategyStruct.PointSystem"}],"stateMutability":"view"},{"type":"function","name":"proposalCounter","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"proposalType","inputs":[],"outputs":[{"name":"","type":"uint8","internalType":"enum StrategyStruct.ProposalType"}],"stateMutability":"view"},{"type":"function","name":"proposals","inputs":[{"name":"","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"proposalId","type":"uint256","internalType":"uint256"},{"name":"requestedAmount","type":"uint256","internalType":"uint256"},{"name":"stakedAmount","type":"uint256","internalType":"uint256"},{"name":"convictionLast","type":"uint256","internalType":"uint256"},{"name":"beneficiary","type":"address","internalType":"address"},{"name":"submitter","type":"address","internalType":"address"},{"name":"requestedToken","type":"address","internalType":"address"},{"name":"blockLast","type":"uint256","internalType":"uint256"},{"name":"proposalStatus","type":"uint8","internalType":"enum StrategyStruct.ProposalStatus"},{"name":"metadata","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]}],"stateMutability":"view"},{"type":"function","name":"registerRecipient","inputs":[{"name":"_data","type":"bytes","internalType":"bytes"},{"name":"_sender","type":"address","internalType":"address"}],"outputs":[{"name":"recipientId","type":"address","internalType":"address"}],"stateMutability":"payable"},{"type":"function","name":"registryCommunity","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract RegistryCommunity"}],"stateMutability":"view"},{"type":"function","name":"setDecay","inputs":[{"name":"_decay","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setMaxRatio","inputs":[{"name":"_maxRatio","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setMinThresholdPoints","inputs":[{"name":"minThresholdPoints_","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setPoolActive","inputs":[{"name":"_active","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setRegistryCommunity","inputs":[{"name":"_registryCommunity","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setSybilScorer","inputs":[{"name":"_sybilScorer","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setWeight","inputs":[{"name":"_weight","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"supportProposal","inputs":[{"name":"","type":"tuple[]","internalType":"struct StrategyStruct.ProposalSupport[]","components":[{"name":"proposalId","type":"uint256","internalType":"uint256"},{"name":"deltaSupport","type":"int256","internalType":"int256"}]}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"sybilScorer","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract ISybilScorer"}],"stateMutability":"view"},{"type":"function","name":"totalEffectiveActivePoints","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"totalPointsActivated","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"totalStaked","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"totalVoterStakePct","inputs":[{"name":"","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"updateProposalConviction","inputs":[{"name":"proposalId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"voterStakedProposals","inputs":[{"name":"","type":"address","internalType":"address"},{"name":"","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"weight","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"event","name":"Allocated","inputs":[{"name":"recipientId","type":"address","indexed":true,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"token","type":"address","indexed":false,"internalType":"address"},{"name":"sender","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"DecayUpdated","inputs":[{"name":"decay","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Distributed","inputs":[{"name":"proposalId","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"beneficiary","type":"address","indexed":false,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Distributed","inputs":[{"name":"recipientId","type":"address","indexed":true,"internalType":"address"},{"name":"recipientAddress","type":"address","indexed":false,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"sender","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Initialized","inputs":[{"name":"poolId","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"data","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"InitializedCV","inputs":[{"name":"poolId","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"data","type":"tuple","indexed":false,"internalType":"struct StrategyStruct.InitializeParams","components":[{"name":"registryCommunity","type":"address","internalType":"address"},{"name":"decay","type":"uint256","internalType":"uint256"},{"name":"maxRatio","type":"uint256","internalType":"uint256"},{"name":"weight","type":"uint256","internalType":"uint256"},{"name":"minThresholdPoints","type":"uint256","internalType":"uint256"},{"name":"proposalType","type":"uint8","internalType":"enum StrategyStruct.ProposalType"},{"name":"pointSystem","type":"uint8","internalType":"enum StrategyStruct.PointSystem"},{"name":"pointConfig","type":"tuple","internalType":"struct StrategyStruct.PointSystemConfig","components":[{"name":"maxAmount","type":"uint256","internalType":"uint256"}]},{"name":"sybilScorer","type":"address","internalType":"address"}]}],"anonymous":false},{"type":"event","name":"MaxRatioUpdated","inputs":[{"name":"maxRatio","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"MinThresholdPointsUpdated","inputs":[{"name":"before","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"minThresholdPoints","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"PointsDeactivated","inputs":[{"name":"member","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"PoolActive","inputs":[{"name":"active","type":"bool","indexed":false,"internalType":"bool"}],"anonymous":false},{"type":"event","name":"PoolAmountIncreased","inputs":[{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"PowerDecreased","inputs":[{"name":"member","type":"address","indexed":false,"internalType":"address"},{"name":"tokensUnStaked","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"pointsToDecrease","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"PowerIncreased","inputs":[{"name":"member","type":"address","indexed":false,"internalType":"address"},{"name":"tokensStaked","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"pointsToIncrease","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"ProposalCreated","inputs":[{"name":"poolId","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"proposalId","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Registered","inputs":[{"name":"recipientId","type":"address","indexed":true,"internalType":"address"},{"name":"data","type":"bytes","indexed":false,"internalType":"bytes"},{"name":"sender","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"RegistryUpdated","inputs":[{"name":"registryCommunity","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"SupportAdded","inputs":[{"name":"from","type":"address","indexed":false,"internalType":"address"},{"name":"proposalId","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"totalStakedAmount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"convictionLast","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"WeightUpdated","inputs":[{"name":"weight","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"error","name":"ALLOCATION_ACTIVE","inputs":[]},{"type":"error","name":"ALLOCATION_NOT_ACTIVE","inputs":[]},{"type":"error","name":"ALLOCATION_NOT_ENDED","inputs":[]},{"type":"error","name":"ALREADY_INITIALIZED","inputs":[]},{"type":"error","name":"AMOUNT_MISMATCH","inputs":[]},{"type":"error","name":"ANCHOR_ERROR","inputs":[]},{"type":"error","name":"ARRAY_MISMATCH","inputs":[]},{"type":"error","name":"AddressCannotBeZero","inputs":[]},{"type":"error","name":"AmountOverMaxRatio","inputs":[]},{"type":"error","name":"CantIncreaseFixedSystem","inputs":[]},{"type":"error","name":"ConvictionUnderMinimumThreshold","inputs":[]},{"type":"error","name":"INVALID","inputs":[]},{"type":"error","name":"INVALID_ADDRESS","inputs":[]},{"type":"error","name":"INVALID_FEE","inputs":[]},{"type":"error","name":"INVALID_METADATA","inputs":[]},{"type":"error","name":"INVALID_REGISTRATION","inputs":[]},{"type":"error","name":"IS_APPROVED_STRATEGY","inputs":[]},{"type":"error","name":"MISMATCH","inputs":[]},{"type":"error","name":"MaxPointsReached","inputs":[]},{"type":"error","name":"NONCE_NOT_AVAILABLE","inputs":[]},{"type":"error","name":"NOT_APPROVED_STRATEGY","inputs":[]},{"type":"error","name":"NOT_ENOUGH_FUNDS","inputs":[]},{"type":"error","name":"NOT_IMPLEMENTED","inputs":[]},{"type":"error","name":"NOT_INITIALIZED","inputs":[]},{"type":"error","name":"NOT_PENDING_OWNER","inputs":[]},{"type":"error","name":"NotEnoughPointsToSupport","inputs":[{"name":"pointsSupport","type":"uint256","internalType":"uint256"},{"name":"pointsBalance","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"NotImplemented","inputs":[]},{"type":"error","name":"OnlyCommunityAllowed","inputs":[]},{"type":"error","name":"OnlyCouncilSafe","inputs":[]},{"type":"error","name":"POOL_ACTIVE","inputs":[]},{"type":"error","name":"POOL_INACTIVE","inputs":[]},{"type":"error","name":"PoolAmountNotEnough","inputs":[{"name":"_proposalId","type":"uint256","internalType":"uint256"},{"name":"_requestedAmount","type":"uint256","internalType":"uint256"},{"name":"_poolAmount","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"PoolIdCannotBeZero","inputs":[]},{"type":"error","name":"PoolIsEmpty","inputs":[]},{"type":"error","name":"ProposalDataIsEmpty","inputs":[]},{"type":"error","name":"ProposalIdCannotBeZero","inputs":[]},{"type":"error","name":"ProposalNotActive","inputs":[{"name":"_proposalId","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"ProposalNotInList","inputs":[{"name":"_proposalId","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"ProposalSupportDuplicated","inputs":[{"name":"_proposalId","type":"uint256","internalType":"uint256"},{"name":"index","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"RECIPIENT_ALREADY_ACCEPTED","inputs":[]},{"type":"error","name":"RECIPIENT_ERROR","inputs":[{"name":"recipientId","type":"address","internalType":"address"}]},{"type":"error","name":"RECIPIENT_NOT_ACCEPTED","inputs":[]},{"type":"error","name":"REGISTRATION_NOT_ACTIVE","inputs":[]},{"type":"error","name":"RegistryCannotBeZero","inputs":[]},{"type":"error","name":"SupportUnderflow","inputs":[{"name":"_support","type":"uint256","internalType":"uint256"},{"name":"_delta","type":"int256","internalType":"int256"},{"name":"_result","type":"int256","internalType":"int256"}]},{"type":"error","name":"TokenCannotBeZero","inputs":[]},{"type":"error","name":"TokenNotAllowed","inputs":[]},{"type":"error","name":"UNAUTHORIZED","inputs":[]},{"type":"error","name":"UserCannotBeZero","inputs":[]},{"type":"error","name":"UserCannotExecuteAction","inputs":[]},{"type":"error","name":"UserIsInactive","inputs":[]},{"type":"error","name":"UserNotInRegistry","inputs":[]},{"type":"error","name":"ZERO_ADDRESS","inputs":[]}],"bytecode":{"object":"0x60c0604052600060065560006009553480156200001b57600080fd5b5060405162004d3d38038062004d3d8339810160408190526200003e91620000a6565b604080518082018252600a8152694356537472617465677960b01b6020808301919091526001600160a01b038416608052915183926200008191839101620000d8565b60408051601f19818403018152919052805160209091012060a0525062000128915050565b600060208284031215620000b957600080fd5b81516001600160a01b0381168114620000d157600080fd5b9392505050565b600060208083528351808285015260005b818110156200010757858101830151858201604001528201620000e9565b506000604082860101526040601f19601f8301168501019250505092915050565b60805160a051614bda6200016360003960006105f401526000818161048801528181611a1f01528181611ab20152611d3b0152614bda6000f3fe6080604052600436106103555760003560e01c8063782aadff116101b9578063b5f620ce116100f6578063df868ed31161009a578063edd146cc1161006c578063edd146cc14610a5f578063ef2920fc14610a7f578063f5b0dfb714610a92578063fc1711f214610ab257005b8063df868ed3146109da578063e0dd2c38146109f2578063e33add9314610a12578063eb11af9314610a3257005b8063c3292171116100d3578063c329217114610942578063c7f758a81461095f578063d1e3623214610995578063dc96ff2d146109aa57005b8063b5f620ce146108cc578063b6c61f31146108ec578063bcc5b93b1461090c57005b8063a0cf0aea1161015d578063a574cea41161013a578063a574cea41461083c578063aba9ffee14610869578063ac1ed7b91461087f578063b2b878d01461089f57005b8063a0cf0aea146107e7578063a1aab33f1461080f578063a47ff7e51461082557005b8063817b1cd211610196578063817b1cd214610771578063824ea8ed14610787578063868c57b8146107a7578063950559d7146107c757005b8063782aadff146107265780637c6570ba14610746578063814516ad1461075c57005b80632ed04b2b116102925780634d31d087116102365780636003e414116102085780636003e414146106b05780636453d9c4146106d057806369fa25c4146106f057806376365af71461071057005b80634d31d0871461062d57806354fac9191461064d57806359a5db8b146106635780635db64b991461068357005b806338fff2d01161026f57806338fff2d0146105bb578063406244d8146105d057806342fda9c7146105e55780634ab4ba421461061857005b80632ed04b2b14610554578063346db8cb14610574578063351d9f961461059457005b806311f22ae3116102f95780631ddf1e23116102d65780631ddf1e23146104e05780632bbe0cae146104f55780632cefadbb146105085780632dbd6fdd1461052857005b806311f22ae31461045957806315cc481e146104795780631aa91a9e146104c057005b80630a6f0ee9116103325780630a6f0ee9146103ed5780630ba959091461040d5780630c0512e91461042c5780630f529ba21461044257005b8063013cf08b1461035e57806301ffc9a71461039d578063058aca44146103cd57005b3661035c57005b005b34801561036a57600080fd5b5061037e610379366004613bbb565b610ad2565b6040516103949a99989796959493929190613c75565b60405180910390f35b3480156103a957600080fd5b506103bd6103b8366004613ce8565b610be0565b6040519015158152602001610394565b3480156103d957600080fd5b5061035c6103e8366004613d3f565b610c79565b3480156103f957600080fd5b5061035c610408366004613f47565b610cd9565b34801561041957600080fd5b50600c545b604051908152602001610394565b34801561043857600080fd5b5061041e60065481565b34801561044e57600080fd5b5061041e6298968081565b34801561046557600080fd5b5061035c610474366004613bbb565b610cf9565b34801561048557600080fd5b507f00000000000000000000000000000000000000000000000000000000000000005b6040516001600160a01b039091168152602001610394565b3480156104cc57600080fd5b5061041e6104db366004613bbb565b610d38565b3480156104ec57600080fd5b5061035c610dc3565b6104a8610503366004613fbf565b610dce565b34801561051457600080fd5b5061035c610523366004613bbb565b610df1565b34801561053457600080fd5b50600b5461054790610100900460ff1681565b6040516103949190614021565b34801561056057600080fd5b5061041e61056f36600461402f565b610e3d565b34801561058057600080fd5b5061041e61058f36600461405b565b610f0f565b3480156105a057600080fd5b50600b546105ae9060ff1681565b6040516103949190614097565b3480156105c757600080fd5b5060015461041e565b3480156105dc57600080fd5b5061041e600a81565b3480156105f157600080fd5b507f000000000000000000000000000000000000000000000000000000000000000061041e565b34801561062457600080fd5b5060025461041e565b34801561063957600080fd5b506103bd610648366004613d3f565b610fb4565b34801561065957600080fd5b5061041e60035481565b34801561066f57600080fd5b5061041e61067e366004613bbb565b610fbf565b34801561068f57600080fd5b5061041e61069e366004613d3f565b60106020526000908152604090205481565b3480156106bc57600080fd5b50600d546104a8906001600160a01b031681565b3480156106dc57600080fd5b5061035c6106eb366004613d3f565b6110fc565b3480156106fc57600080fd5b5061035c61070b366004613bbb565b611110565b34801561071c57600080fd5b5061041e60045481565b34801561073257600080fd5b5061041e61074136600461402f565b61114f565b34801561075257600080fd5b5061041e60095481565b34801561076857600080fd5b5061035c6112f1565b34801561077d57600080fd5b5061041e60075481565b34801561079357600080fd5b506103bd6107a2366004613bbb565b611423565b3480156107b357600080fd5b5061041e6107c236600461402f565b611480565b3480156107d357600080fd5b5061041e6107e2366004613bbb565b6114b1565b3480156107f357600080fd5b506104a873eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b34801561081b57600080fd5b5061041e60055481565b34801561083157600080fd5b50600c5461041e9081565b34801561084857600080fd5b5061085c610857366004613bbb565b6114db565b60405161039491906140a5565b34801561087557600080fd5b5061041e60085481565b34801561088b57600080fd5b5061035c61089a366004613d3f565b6115ba565b3480156108ab57600080fd5b506108bf6108ba3660046140b8565b61169b565b604051610394919061418d565b3480156108d857600080fd5b5061035c6108e73660046141f3565b6116b6565b3480156108f857600080fd5b50600e546104a8906001600160a01b031681565b34801561091857600080fd5b5061041e610927366004613d3f565b6001600160a01b031660009081526010602052604090205490565b34801561094e57600080fd5b50600b54610100900460ff16610547565b34801561096b57600080fd5b5061097f61097a366004613bbb565b6116bf565b6040516103949a99989796959493929190614210565b3480156109a157600080fd5b5060085461041e565b3480156109b657600080fd5b5061041e6109c5366004613bbb565b6000908152600f602052604090206002015490565b3480156109e657600080fd5b5060005460ff166103bd565b3480156109fe57600080fd5b5061041e610a0d366004614275565b6117c1565b348015610a1e57600080fd5b5061035c610a2d36600461429a565b6117ec565b348015610a3e57600080fd5b50610a52610a4d366004613d3f565b611805565b6040516103949190614345565b348015610a6b57600080fd5b5061035c610a7a36600461435f565b611810565b61035c610a8d366004613fbf565b611956565b348015610a9e57600080fd5b5061035c610aad366004613bbb565b611974565b348015610abe57600080fd5b5061035c610acd366004613bbb565b61199d565b600f602090815260009182526040918290208054600182015460028301546003840154600485015460058601546006870154600788015460088901548b51808d01909c52600a8a0180548d52600b8b0180549a9d999c989b979a6001600160a01b039788169a968816999790951697939660ff9093169593949192840191610b59906143a6565b80601f0160208091040260200160405190810160405280929190818152602001828054610b85906143a6565b8015610bd25780601f10610ba757610100808354040283529160200191610bd2565b820191906000526020600020905b815481529060010190602001808311610bb557829003601f168201915b50505050508152505090508a565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167ff1801e61000000000000000000000000000000000000000000000000000000001480610c7357507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b33610c83816119dc565b600d80546001600160a01b0319166001600160a01b0384169081179091556040519081527fd6ceddf6d2a22f21c7c81675c518004eff43bc5c8a6fc32a0b748e69d58671cd906020015b60405180910390a15050565b610ce1611aa7565b610ce9611af0565b610cf4838383611b2c565b505050565b33610d03816119dc565b60048290556040518281527f08e39b387d1f739ce0d2553bb31822392e3f67c62c6c0a215120ab4a6841a8ab90602001610ccd565b6000818152600f6020526040812080548314610d6f5760405163c1d17bef60e01b8152600481018490526024015b60405180910390fd5b6001600882015460ff166004811115610d8a57610d8a613bd4565b14610dab576040516344980d8f60e01b815260048101849052602401610d66565b610db9818260020154611e63565b6003015492915050565b610dcc33611e9e565b565b6000610dd8611aa7565b610de0611af0565b610dea8383611fef565b9392505050565b33610dfb816119dc565b60095460408051918252602082018490527f056aedca4e334b6c4bea48715fb0de644811b740894de57a0380d3eb90f2805b910160405180910390a150600955565b6000610e47612341565b60006002600b54610100900460ff166003811115610e6757610e67613bd4565b1480610e8e57506001600b54610100900460ff166003811115610e8c57610e8c613bd4565b145b15610e9a575081610ea7565b610ea48484612385565b90505b8060086000828254610eb991906143f0565b9091555050604080516001600160a01b0386168152602081018590529081018290527f70b752f3fadb6ac131c0ece847fcbb6994ec56ed6411595710fd9b29c6ac6cc19060600160405180910390a19392505050565b6000808490506000610f35629896806080600354901b610f2f9190614419565b83612649565b905060806f8000000000000000000000000000000060035462989680610f5b91906143f0565b610f6984600160801b6143f0565b610f76629896808961443b565b610f80919061443b565b610f8a9190614419565b610f94888561443b565b610f9e9190614452565b610fa89190614452565b901c9695505050505050565b6000610c73826126f2565b60008060025411610ffc576040517fed4421ad00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61100582612712565b1561102357604051630efd728560e21b815260040160405180910390fd5b60025460009061103c846801000000000000000061443b565b6110469190614419565b6298968060045468010000000000000000611061919061443b565b61106b9190614419565b61107591906143f0565b9050604061108260085490565b60035461109290629896806143f0565b6298968060406110a2868061443b565b901c629896806080600554901b6110b99190614419565b6110c39190614419565b6110cd919061443b565b6110d79190614419565b6110e1919061443b565b901c915060095482116110f657600954610dea565b50919050565b611104612341565b61110d81611e9e565b50565b3361111a816119dc565b60038290556040518281527f592dcd55d60d892e7fcb3ba105013312e99691cd59f91e15f83cb67cb5a505f290602001610ccd565b6000611159612341565b61116283612739565b61117f57604051630b72d6b160e31b815260040160405180910390fd5b60006002600b54610100900460ff16600381111561119f5761119f613bd4565b036111ad57825b905061120a565b6001600b54610100900460ff1660038111156111cb576111cb613bd4565b036111da576111a684846127e1565b6003600b54610100900460ff1660038111156111f8576111f8613bd4565b0361120a576112078484612947565b90505b600d5460405163011de97360e61b81526001600160a01b038681166004830152306024830152600092169063477a5cc090604401602060405180830381865afa15801561125b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061127f9190614465565b9050801561129f5781600860008282546112999190614452565b90915550505b604080516001600160a01b0387168152602081018690529081018390527f0b9150e1e54346ed3fa36b977cd5d65dca5a649c737c3174a26bddaadd47667a9060600160405180910390a1509392505050565b336112fb81612739565b61131857604051630b72d6b160e31b815260040160405180910390fd5b600d546040517f0d4a8b490000000000000000000000000000000000000000000000000000000081526001600160a01b03838116600483015230602483015290911690630d4a8b4990604401600060405180830381600087803b15801561137e57600080fd5b505af1158015611392573d6000803e3d6000fd5b5050600d54604051637817ee4f60e01b81526001600160a01b0385811660048301523060248301529091169250637817ee4f9150604401602060405180830381865afa1580156113e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061140a9190614482565b6008600082825461141b9190614452565b909155505050565b6000818152600f60205260408120600281015482908190611445908490612b8e565b91509150816000148015611457575080155b1561146457826003015491505b60006114738460010154610fbf565b9092101595945050505050565b6011602052816000526040600020818154811061149c57600080fd5b90600052602060002001600091509150505481565b6000600354629896806114c491906143f0565b6114d1629896808461443b565b610c739190614419565b6040805180820190915260008152606060208201526000600f6000848152602001908152602001600020905080600a0160405180604001604052908160008201548152602001600182018054611530906143a6565b80601f016020809104026020016040519081016040528092919081815260200182805461155c906143a6565b80156115a95780601f1061157e576101008083540402835291602001916115a9565b820191906000526020600020905b81548152906001019060200180831161158c57829003601f168201915b505050505081525050915050919050565b600d60009054906101000a90046001600160a01b03166001600160a01b0316636c53db9a6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561160d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611631919061449b565b6001600160a01b031633036116695761164981612be6565b600e80546001600160a01b0383166001600160a01b031990911617905550565b6040517fe860ec7e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b606060405163d623472560e01b815260040160405180910390fd5b61110d81612c26565b6000806000806000806000806000806000600f60008d815260200190815260200160002090508060010154600014611703576116fe8160010154610fbf565b611706565b60005b92508060050160009054906101000a90046001600160a01b03168160040160009054906101000a90046001600160a01b03168260060160009054906101000a90046001600160a01b0316836001015484600201548560080160009054906101000a900460ff16866007015487600301548a896009016000336001600160a01b03166001600160a01b03168152602001908152602001600020549a509a509a509a509a509a509a509a509a509a50509193959799509193959799565b6000828152600f602090815260408083206001600160a01b0385168452600901909152812054610dea565b60405163d623472560e01b815260040160405180910390fd5b6000610c7382612c67565b61181982612c87565b60008180602001905181019061182f9190614528565b80519091506001600160a01b031661185a57604051635df4b1ef60e01b815260040160405180910390fd5b8051600d80546001600160a01b0319166001600160a01b0390921691909117905560208101516003556040810151600455606081015160055560a0810151600b805460ff191660018360028111156118b4576118b4613bd4565b021790555060c0810151600b805461ff0019166101008360038111156118dc576118dc613bd4565b021790555060e081015151600c556080810151600955610100810151600e80546001600160a01b0319166001600160a01b039092169190911790556040517f4ebdec05fb64815e553aeaf3976ef8112dd79760a459bee3ac7d1659ab2c4e049061194990859084906145c3565b60405180910390a1505050565b61195e611aa7565b611966611af0565b6119708282612d08565b5050565b61197c611aa7565b806002600082825461198e9190614452565b9091555061110d905081612e17565b336119a7816119dc565b60058290556040518281527f30ee8206062f283e56a0af2b02138016bf7442ded26ad68a92a18a9dd246fb4990602001610ccd565b6001546040517f29e40d4b00000000000000000000000000000000000000000000000000000000815260048101919091526001600160a01b0382811660248301527f000000000000000000000000000000000000000000000000000000000000000016906329e40d4b90604401602060405180830381865afa158015611a66573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a8a9190614465565b61110d5760405163075fd2b160e01b815260040160405180910390fd5b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610dcc5760405163075fd2b160e01b815260040160405180910390fd5b600154600003610dcc576040517f3da3f98c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000825111611b67576040517fc5f7c4c000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600082806020019051810190611b7d9190614482565b905080600003611bb9576040517ff881a10d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000818152600f602052604090206001600b5460ff166002811115611be057611be0613bd4565b03611e5c5780548214611c095760405163c1d17bef60e01b815260048101839052602401610d66565b60025481600101541115611c615760018101546002546040517f5863b0b60000000000000000000000000000000000000000000000000000000081526004810185905260248101929092526044820152606401610d66565b6001600882015460ff166004811115611c7c57611c7c613bd4565b14611c9d576040516344980d8f60e01b815260048101839052602401610d66565b6000611ca883610d38565b90506000611cb98360010154610fbf565b90508082108015611cce575060008360010154115b15611d05576040517fcce7930800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001546040517f068bcd8d0000000000000000000000000000000000000000000000000000000081526000916001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169163068bcd8d91611d729160040190815260200190565b600060405180830381865afa158015611d8f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611db791908101906146e3565b9050836001015460026000828254611dcf91906143f0565b9091555050604081015160048501546001860154611df792916001600160a01b031690612e47565b60088401805460ff191660049081179091558401546001850154604080518881526001600160a01b0390931660208401528201527fa7932e9c92f31e1ed56b29d00bbe669a97484dc24de28dd9c8c0429df7f358479060600160405180910390a15050505b5050505050565b600080611e708484612b8e565b91509150816000148015611e82575080155b15611e8d5750505050565b600784015560039092019190915550565b600d54604051637817ee4f60e01b81526001600160a01b03838116600483015230602483015290911690637817ee4f90604401602060405180830381865afa158015611eee573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f129190614482565b60086000828254611f2391906143f0565b9091555050600d546040517f22bcf9990000000000000000000000000000000000000000000000000000000081526001600160a01b038381166004830152306024830152909116906322bcf99990604401600060405180830381600087803b158015611f8e57600080fd5b505af1158015611fa2573d6000803e3d6000fd5b50505050611faf81612e8c565b6040516001600160a01b03821681527f1468da654b37bb3631011c1917d02e0db437d519918858d40b38b5e980ca033b906020015b60405180910390a150565b6000611ffa82612739565b61201757604051630b72d6b160e31b815260040160405180910390fd5b60008380602001905181019061202d9190614797565b805190915060000361206b576040517f4e79178600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600b5460ff16600281111561208457612084613bd4565b03612234576120968160200151612be6565b60608101516001600160a01b03166120da576040517f596a094c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000306001600160a01b03166315cc481e6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561211a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061213e919061449b565b6001600160a01b031663068bcd8d6001546040518263ffffffff1660e01b815260040161216d91815260200190565b600060405180830381865afa15801561218a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526121b291908101906146e3565b604001519050806001600160a01b031682606001516001600160a01b031614612207576040517fa29c498600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6122148260400151612712565b1561223257604051630efd728560e21b815260040160405180910390fd5b505b60006006600081546122459061483e565b91829055506000818152600f602090815260408083208481556005810180546001600160a01b038b81166001600160a01b0319928316179092558885015160048401805491841691831691909117905560608901516006840180549190931691161790559086015160018083019190915560088201805460ff19169091179055436007820155600381019290925560808501518051600a8401908155918101519394509192600b8401906122f990826148a5565b505060015460408051918252602082018590527ffcf3b1aa65a464cef2889608f99e8b8c0f680a4be6c2acb9d961c536a5a9294b92500160405180910390a150949350505050565b600d546001600160a01b03163314610dcc576040517faf0916a200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600d54604080516336d8759760e21b815290516000926012926001600160a01b039091169163db61d65c916004808201926020929091908290030181865afa1580156123d5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123f9919061449b565b6001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015612452575060408051601f3d908101601f1916820190925261244f91810190614965565b60015b612499576124946040518060400160405280601581526020017f4572726f722067657474696e6720646563696d616c0000000000000000000000815250613019565b61249f565b60ff1690505b6124de6040518060400160405280601081526020017f5f616d6f756e74546f556e7374616b65000000000000000000000000000000008152508461308a565b600d546040516316308e2560e11b81526001600160a01b0386811660048301526000928692911690632c611c4a90602401602060405180830381865afa15801561252c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125509190614482565b61255a91906143f0565b905061259b6040518060400160405280600d81526020017f6e6577546f74616c5374616b65000000000000000000000000000000000000008152508261308a565b60006125ba6125ab84600a614a6c565b6125b5908461443b565b6130fd565b600d54604051637817ee4f60e01b81526001600160a01b03898116600483015230602483015292935060009284921690637817ee4f90604401602060405180830381865afa158015612610573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126349190614482565b61263e91906143f0565b979650505050505050565b6000600160801b831061269e5760405162461bcd60e51b815260206004820152601c60248201527f5f612073686f756c64206265206c657373207468616e20325e313238000000006044820152606401610d66565b50600160801b82825b80156126ea57806001166000036126cc576126c282836131e5565b915060011c6126a7565b6126d683836131e5565b92506126e36001826143f0565b90506126a7565b505092915050565b60006001600160a01b0382161561270a576001610c73565b600092915050565b6000612721629896808361443b565b600254600454612731919061443b565b111592915050565b600e546000906001600160a01b031661275457506001919050565b600e546040517f42a987a00000000000000000000000000000000000000000000000000000000081526001600160a01b038481166004830152306024830152909116906342a987a090604401602060405180830381865afa1580156127bd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c739190614465565b6000808290506128266040518060400160405280601281526020017f504f494e545320544f20494e43524541534500000000000000000000000000008152508261308a565b600d54604051637817ee4f60e01b81526001600160a01b0386811660048301523060248301526000921690637817ee4f90604401602060405180830381865afa158015612877573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061289b9190614482565b90506128dc6040518060400160405280600b81526020017f4d454d424552504f5745520000000000000000000000000000000000000000008152508261308a565b600c546128e98383614452565b111561290057600c546128fd9082906143f0565b91505b61293f6040518060400160405280601681526020017f504f494e545320544f20494e43524541534520454e44000000000000000000008152508361308a565b509392505050565b600d546040516316308e2560e11b81526001600160a01b0384811660048301526000928392859290911690632c611c4a90602401602060405180830381865afa158015612998573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129bc9190614482565b6129c69190614452565b600d54604080516336d8759760e21b815290519293506012926001600160a01b039092169163db61d65c916004808201926020929091908290030181865afa158015612a16573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a3a919061449b565b6001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015612a93575060408051601f3d908101601f19168201909252612a9091810190614965565b60015b612ada57612ad56040518060400160405280601581526020017f4572726f722067657474696e6720646563696d616c0000000000000000000000815250613019565b612ae0565b60ff1690505b6000612afa612af083600a614a6c565b6125b5908561443b565b600d54604051637817ee4f60e01b81526001600160a01b03898116600483015230602483015292935060009290911690637817ee4f90604401602060405180830381865afa158015612b50573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612b749190614482565b90506000612b8282846143f0565b98975050505050505050565b6000804390508084600701541115612ba857612ba8614a78565b80846007015403612bbe57506000905080612bdf565b612bdc846007015482612bd191906143f0565b856003015485610f0f565b91505b9250929050565b6001600160a01b03811661110d576040517fe622e04000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000805460ff19168215159081179091556040519081527fd94c9bc4d43c51d8dc345a016d8e3d994432fac68e72832e4cf3a616bd8efae090602001611fe4565b60006001600160a01b03821615612c7f576002610c73565b600392915050565b612c8f611aa7565b60015415612cc9576040517f439a74c900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80600003612d03576040517f7fcce2a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600155565b612d11816132e4565b612d1a81612739565b612d3757604051630b72d6b160e31b815260040160405180910390fd5b600d5460405163011de97360e61b81526001600160a01b038381166004830152306024830152600092169063477a5cc090604401602060405180830381865afa158015612d88573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612dac9190614465565b905080612de5576040517f5fccb67f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600083806020019051810190612dfb9190614a8e565b9050612e07838261340a565b612e1183826135cd565b50505050565b6040518181527f46aeb5d8770fc4474bc2dfa118fd2595f7fb33ce2cbce6f4e5a3dabfe0f7633990602001611fe4565b7fffffffffffffffffffffffff11111111111111111111111111111111111111126001600160a01b03841601612e8157610cf482826139f1565b610cf4838383613a0d565b6001600160a01b038116600090815260116020908152604080832080548251818502810185019093528083529192909190830182828015612eec57602002820191906000526020600020905b815481526020019060010190808311612ed8575b5050505050905060005b8151811015610cf4576000828281518110612f1357612f13614b39565b602002602001015190506000600f60008381526020019081526020016000209050612f3d82613a5c565b15613004576001600160a01b0385166000908152600982016020526040812080549082905560028301805491928392612f779084906143f0565b925050819055508060076000828254612f9091906143f0565b90915550612fa090508282611e63565b60028201546003830154604080516001600160a01b038a1681526020810187905260008183015260608101939093526080830191909152517f0227f642ddcf2042ceaeafadb9d540f432072c00cd4862881667168dcc14710f9181900360a00190a1505b505080806130119061483e565b915050612ef6565b61110d8160405160240161302d9190614b4f565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f41304fac00000000000000000000000000000000000000000000000000000000179052613a95565b61197082826040516024016130a0929190614b62565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f9710a9d000000000000000000000000000000000000000000000000000000000179052613a95565b60008160000361310f57506000919050565b6000600161311c84613ab6565b901c6001901b9050600181848161313557613135614403565b048201901c9050600181848161314d5761314d614403565b048201901c9050600181848161316557613165614403565b048201901c9050600181848161317d5761317d614403565b048201901c9050600181848161319557613195614403565b048201901c905060018184816131ad576131ad614403565b048201901c905060018184816131c5576131c5614403565b048201901c9050610dea818285816131df576131df614403565b04613b4a565b6000600160801b8311156132615760405162461bcd60e51b815260206004820152602860248201527f5f612073686f756c64206265206c657373207468616e206f7220657175616c2060448201527f746f20325e3132380000000000000000000000000000000000000000000000006064820152608401610d66565b600160801b82106132b45760405162461bcd60e51b815260206004820152601c60248201527f5f622073686f756c64206265206c657373207468616e20325e313238000000006044820152606401610d66565b60806f800000000000000000000000000000006132d1848661443b565b6132db9190614452565b901c9392505050565b6001600160a01b038116613324576040517fd1f2828800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600d546001600160a01b031661334d57604051635df4b1ef60e01b815260040160405180910390fd5b600d546040517fa230c5240000000000000000000000000000000000000000000000000000000081526001600160a01b0383811660048301529091169063a230c52490602401602060405180830381865afa1580156133b0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906133d49190614465565b61110d576040517f6a5cfb6d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000805b82518110156134c75782818151811061342957613429614b39565b602002602001015160000151600003156134b557600083828151811061345157613451614b39565b602002602001015160000151905061346881613a5c565b6134885760405163c1d17bef60e01b815260048101829052602401610d66565b83828151811061349a5761349a614b39565b602002602001015160200151836134b19190614b84565b9250505b806134bf8161483e565b91505061340e565b506001600160a01b0383166000908152601060205260408120546134eb9083613b60565b600d54604051637817ee4f60e01b81526001600160a01b03878116600483015230602483015292935060009290911690637817ee4f90604401602060405180830381865afa158015613541573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906135659190614482565b9050808211156135ab576040517fd64182fe0000000000000000000000000000000000000000000000000000000081526004810183905260248101829052604401610d66565b506001600160a01b039093166000908152601060205260409020929092555050565b606060005b8251811015612e115760008382815181106135ef576135ef614b39565b6020026020010151600001519050825160000361364b576040805160018082528183019092529060208083019080368337019050509250808360008151811061363a5761363a614b39565b60200260200101818152505061379e565b6000805b84518110156136ca578285828151811061366b5761366b614b39565b6020026020010151036136b8576040517fadebb154000000000000000000000000000000000000000000000000000000008152600481018490526024810182905260019250604401610d66565b806136c28161483e565b91505061364f565b508061379c576000845160016136e09190614452565b67ffffffffffffffff8111156136f8576136f8613d5c565b604051908082528060200260200182016040528015613721578160200160208202803683370190505b50905060005b85518110156137795785818151811061374257613742614b39565b602002602001015182828151811061375c5761375c614b39565b6020908102919091010152806137718161483e565b915050613727565b50828186518151811061378e5761378e614b39565b602090810291909101015293505b505b60008483815181106137b2576137b2614b39565b6020908102919091018101518101516000848152600f835260408082206001600160a01b038b168352600981019094528120549193506137f28285613b60565b6001600160a01b038a1660009081526009850160205260408120829055909150805b6001600160a01b038b1660009081526011602052604090205481101561388b5784546001600160a01b038c16600090815260116020526040902080548390811061386057613860614b39565b906000526020600020015403613879576001915061388b565b806138838161483e565b915050613814565b50806138c1576001600160a01b038a16600090815260116020908152604082208654815460018101835591845291909220909101555b818311613911576138d283836143f0565b600760008282546138e39190614452565b909155506138f3905083836143f0565b8460020160008282546139069190614452565b909155506139559050565b61391b82846143f0565b6007600082825461392c91906143f0565b9091555061393c905082846143f0565b84600201600082825461394f91906143f0565b90915550505b836007015460000361396c574360078501556139d8565b6139768484611e63565b60028401546003850154604080516001600160a01b038e168152602081018a9052908101859052606081019290925260808201527f0227f642ddcf2042ceaeafadb9d540f432072c00cd4862881667168dcc14710f9060a00160405180910390a15b50505050505080806139e99061483e565b9150506135d2565b60008060008084865af16119705763b12d13eb6000526004601cfd5b81601452806034526fa9059cbb00000000000000000000000060005260206000604460106000875af13d156001600051141716613a52576390b8ec186000526004601cfd5b6000603452505050565b6000818152600f602052604081205415801590610c735750506000908152600f60205260409020600501546001600160a01b0316151590565b80516a636f6e736f6c652e6c6f67602083016000808483855afa5050505050565b600080608083901c15613acb57608092831c92015b604083901c15613add57604092831c92015b602083901c15613aef57602092831c92015b601083901c15613b0157601092831c92015b600883901c15613b1357600892831c92015b600483901c15613b2557600492831c92015b600283901c15613b3757600292831c92015b600183901c15610c735760010192915050565b6000818310613b595781610dea565b5090919050565b600080613b6d8385614b84565b90506000811215610dea576040517f3bbc7142000000000000000000000000000000000000000000000000000000008152600481018590526024810184905260448101829052606401610d66565b600060208284031215613bcd57600080fd5b5035919050565b634e487b7160e01b600052602160045260246000fd5b60058110613bfa57613bfa613bd4565b9052565b60005b83811015613c19578181015183820152602001613c01565b50506000910152565b60008151808452613c3a816020860160208601613bfe565b601f01601f19169290920160200192915050565b805182526000602082015160406020850152613c6d6040850182613c22565b949350505050565b60006101408c83528b60208401528a60408401528960608401526001600160a01b03808a16608085015280891660a085015280881660c0850152508560e0840152613cc4610100840186613bea565b80610120840152613cd781840185613c4e565b9d9c50505050505050505050505050565b600060208284031215613cfa57600080fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114610dea57600080fd5b6001600160a01b038116811461110d57600080fd5b600060208284031215613d5157600080fd5b8135610dea81613d2a565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff81118282101715613d9557613d95613d5c565b60405290565b604051610120810167ffffffffffffffff81118282101715613d9557613d95613d5c565b60405160c0810167ffffffffffffffff81118282101715613d9557613d95613d5c565b60405160a0810167ffffffffffffffff81118282101715613d9557613d95613d5c565b604051601f8201601f1916810167ffffffffffffffff81118282101715613e2e57613e2e613d5c565b604052919050565b600067ffffffffffffffff821115613e5057613e50613d5c565b5060051b60200190565b600082601f830112613e6b57600080fd5b81356020613e80613e7b83613e36565b613e05565b82815260059290921b84018101918181019086841115613e9f57600080fd5b8286015b84811015613ec3578035613eb681613d2a565b8352918301918301613ea3565b509695505050505050565b600067ffffffffffffffff821115613ee857613ee8613d5c565b50601f01601f191660200190565b600082601f830112613f0757600080fd5b8135613f15613e7b82613ece565b818152846020838601011115613f2a57600080fd5b816020850160208301376000918101602001919091529392505050565b600080600060608486031215613f5c57600080fd5b833567ffffffffffffffff80821115613f7457600080fd5b613f8087838801613e5a565b94506020860135915080821115613f9657600080fd5b50613fa386828701613ef6565b9250506040840135613fb481613d2a565b809150509250925092565b60008060408385031215613fd257600080fd5b823567ffffffffffffffff811115613fe957600080fd5b613ff585828601613ef6565b925050602083013561400681613d2a565b809150509250929050565b60048110613bfa57613bfa613bd4565b60208101610c738284614011565b6000806040838503121561404257600080fd5b823561404d81613d2a565b946020939093013593505050565b60008060006060848603121561407057600080fd5b505081359360208301359350604090920135919050565b60038110613bfa57613bfa613bd4565b60208101610c738284614087565b602081526000610dea6020830184613c4e565b600080604083850312156140cb57600080fd5b823567ffffffffffffffff808211156140e357600080fd5b6140ef86838701613e5a565b935060209150818501358181111561410657600080fd5b8501601f8101871361411757600080fd5b8035614125613e7b82613e36565b81815260059190911b8201840190848101908983111561414457600080fd5b8584015b8381101561417c578035868111156141605760008081fd5b61416e8c8983890101613ef6565b845250918601918601614148565b508096505050505050509250929050565b602080825282518282018190526000919060409081850190868401855b828110156141d857815180516001600160a01b031685528601518685015292840192908501906001016141aa565b5091979650505050505050565b801515811461110d57600080fd5b60006020828403121561420557600080fd5b8135610dea816141e5565b6001600160a01b038b811682528a81166020830152891660408201526060810188905260808101879052610140810161424c60a0830188613bea565b8560c08301528460e083015283610100830152826101208301529b9a5050505050505050505050565b6000806040838503121561428857600080fd5b82359150602083013561400681613d2a565b600060208083850312156142ad57600080fd5b823567ffffffffffffffff8111156142c457600080fd5b8301601f810185136142d557600080fd5b80356142e3613e7b82613e36565b81815260069190911b8201830190838101908783111561430257600080fd5b928401925b8284101561263e57604084890312156143205760008081fd5b614328613d72565b843581528585013586820152825260409093019290840190614307565b602081016007831061435957614359613bd4565b91905290565b6000806040838503121561437257600080fd5b82359150602083013567ffffffffffffffff81111561439057600080fd5b61439c85828601613ef6565b9150509250929050565b600181811c908216806143ba57607f821691505b6020821081036110f657634e487b7160e01b600052602260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b81810381811115610c7357610c736143da565b634e487b7160e01b600052601260045260246000fd5b60008261443657634e487b7160e01b600052601260045260246000fd5b500490565b8082028115828204841417610c7357610c736143da565b80820180821115610c7357610c736143da565b60006020828403121561447757600080fd5b8151610dea816141e5565b60006020828403121561449457600080fd5b5051919050565b6000602082840312156144ad57600080fd5b8151610dea81613d2a565b80516144c381613d2a565b919050565b8051600381106144c357600080fd5b8051600481106144c357600080fd5b6000602082840312156144f857600080fd5b6040516020810181811067ffffffffffffffff8211171561451b5761451b613d5c565b6040529151825250919050565b6000610120828403121561453b57600080fd5b614543613d9b565b61454c836144b8565b81526020830151602082015260408301516040820152606083015160608201526080830151608082015261458260a084016144c8565b60a082015261459360c084016144d7565b60c08201526145a58460e085016144e6565b60e08201526101006145b88185016144b8565b908201529392505050565b6000610140820190508382526001600160a01b038351166020830152602083015160408301526040830151606083015260608301516080830152608083015160a083015260a083015161461960c0840182614087565b5060c083015161462c60e0840182614011565b5060e08301515161010083810191909152909201516001600160a01b031661012090910152919050565b60006040828403121561466857600080fd5b614670613d72565b905081518152602082015167ffffffffffffffff81111561469057600080fd5b8201601f810184136146a157600080fd5b80516146af613e7b82613ece565b8181528560208385010111156146c457600080fd5b6146d5826020830160208601613bfe565b602084015250909392505050565b6000602082840312156146f557600080fd5b815167ffffffffffffffff8082111561470d57600080fd5b9083019060c0828603121561472157600080fd5b614729613dbf565b82518152602083015161473b81613d2a565b6020820152604083015161474e81613d2a565b604082015260608301518281111561476557600080fd5b61477187828601614656565b6060830152506080830151608082015260a083015160a082015280935050505092915050565b6000602082840312156147a957600080fd5b815167ffffffffffffffff808211156147c157600080fd5b9083019060a082860312156147d557600080fd5b6147dd613de2565b8251815260208301516147ef81613d2a565b602082015260408381015190820152606083015161480c81613d2a565b606082015260808301518281111561482357600080fd5b61482f87828601614656565b60808301525095945050505050565b600060018201614850576148506143da565b5060010190565b601f821115610cf457600081815260208120601f850160051c8101602086101561487e5750805b601f850160051c820191505b8181101561489d5782815560010161488a565b505050505050565b815167ffffffffffffffff8111156148bf576148bf613d5c565b6148d3816148cd84546143a6565b84614857565b602080601f83116001811461490857600084156148f05750858301515b600019600386901b1c1916600185901b17855561489d565b600085815260208120601f198616915b8281101561493757888601518255948401946001909101908401614918565b50858210156149555787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60006020828403121561497757600080fd5b815160ff81168114610dea57600080fd5b600181815b808511156149c35781600019048211156149a9576149a96143da565b808516156149b657918102915b93841c939080029061498d565b509250929050565b6000826149da57506001610c73565b816149e757506000610c73565b81600181146149fd5760028114614a0757614a23565b6001915050610c73565b60ff841115614a1857614a186143da565b50506001821b610c73565b5060208310610133831016604e8410600b8410161715614a46575081810a610c73565b614a508383614988565b8060001904821115614a6457614a646143da565b029392505050565b6000610dea83836149cb565b634e487b7160e01b600052600160045260246000fd5b60006020808385031215614aa157600080fd5b825167ffffffffffffffff811115614ab857600080fd5b8301601f81018513614ac957600080fd5b8051614ad7613e7b82613e36565b81815260069190911b82018301908381019087831115614af657600080fd5b928401925b8284101561263e5760408489031215614b145760008081fd5b614b1c613d72565b845181528585015186820152825260409093019290840190614afb565b634e487b7160e01b600052603260045260246000fd5b602081526000610dea6020830184613c22565b604081526000614b756040830185613c22565b90508260208301529392505050565b80820182811260008312801582168215821617156126ea576126ea6143da56fea264697066735822122037f18a16c0d6f8d5c2225716cb07cd384ab932634cd7b28d2f0089b404d0ccbf64736f6c63430008130033","sourceMap":"2787:38112:129:-:0;;;6418:1;6385:34;;6535:1;6498:38;;7754:72;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5210:135:11;;;;;;;;;;;-1:-1:-1;;;5210:135:11;;;;;;;;-1:-1:-1;;;;;5268:19:11;;;;5320:17;;7802:5:129;;5320:17:11;;5210:135;;5320:17;;:::i;:::-;;;;-1:-1:-1;;5320:17:11;;;;;;;;;5310:28;;5320:17;5310:28;;;;5297:41;;-1:-1:-1;2787:38112:129;;-1:-1:-1;;2787:38112:129;14:290:151;84:6;137:2;125:9;116:7;112:23;108:32;105:52;;;153:1;150;143:12;105:52;179:16;;-1:-1:-1;;;;;224:31:151;;214:42;;204:70;;270:1;267;260:12;204:70;293:5;14:290;-1:-1:-1;;;14:290:151:o;309:548::-;421:4;450:2;479;468:9;461:21;511:6;505:13;554:6;549:2;538:9;534:18;527:34;579:1;589:140;603:6;600:1;597:13;589:140;;;698:14;;;694:23;;688:30;664:17;;;683:2;660:26;653:66;618:10;;589:140;;;593:3;778:1;773:2;764:6;753:9;749:22;745:31;738:42;848:2;841;837:7;832:2;824:6;820:15;816:29;805:9;801:45;797:54;789:62;;;;309:548;;;;:::o;:::-;2787:38112:129;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x6080604052600436106103555760003560e01c8063782aadff116101b9578063b5f620ce116100f6578063df868ed31161009a578063edd146cc1161006c578063edd146cc14610a5f578063ef2920fc14610a7f578063f5b0dfb714610a92578063fc1711f214610ab257005b8063df868ed3146109da578063e0dd2c38146109f2578063e33add9314610a12578063eb11af9314610a3257005b8063c3292171116100d3578063c329217114610942578063c7f758a81461095f578063d1e3623214610995578063dc96ff2d146109aa57005b8063b5f620ce146108cc578063b6c61f31146108ec578063bcc5b93b1461090c57005b8063a0cf0aea1161015d578063a574cea41161013a578063a574cea41461083c578063aba9ffee14610869578063ac1ed7b91461087f578063b2b878d01461089f57005b8063a0cf0aea146107e7578063a1aab33f1461080f578063a47ff7e51461082557005b8063817b1cd211610196578063817b1cd214610771578063824ea8ed14610787578063868c57b8146107a7578063950559d7146107c757005b8063782aadff146107265780637c6570ba14610746578063814516ad1461075c57005b80632ed04b2b116102925780634d31d087116102365780636003e414116102085780636003e414146106b05780636453d9c4146106d057806369fa25c4146106f057806376365af71461071057005b80634d31d0871461062d57806354fac9191461064d57806359a5db8b146106635780635db64b991461068357005b806338fff2d01161026f57806338fff2d0146105bb578063406244d8146105d057806342fda9c7146105e55780634ab4ba421461061857005b80632ed04b2b14610554578063346db8cb14610574578063351d9f961461059457005b806311f22ae3116102f95780631ddf1e23116102d65780631ddf1e23146104e05780632bbe0cae146104f55780632cefadbb146105085780632dbd6fdd1461052857005b806311f22ae31461045957806315cc481e146104795780631aa91a9e146104c057005b80630a6f0ee9116103325780630a6f0ee9146103ed5780630ba959091461040d5780630c0512e91461042c5780630f529ba21461044257005b8063013cf08b1461035e57806301ffc9a71461039d578063058aca44146103cd57005b3661035c57005b005b34801561036a57600080fd5b5061037e610379366004613bbb565b610ad2565b6040516103949a99989796959493929190613c75565b60405180910390f35b3480156103a957600080fd5b506103bd6103b8366004613ce8565b610be0565b6040519015158152602001610394565b3480156103d957600080fd5b5061035c6103e8366004613d3f565b610c79565b3480156103f957600080fd5b5061035c610408366004613f47565b610cd9565b34801561041957600080fd5b50600c545b604051908152602001610394565b34801561043857600080fd5b5061041e60065481565b34801561044e57600080fd5b5061041e6298968081565b34801561046557600080fd5b5061035c610474366004613bbb565b610cf9565b34801561048557600080fd5b507f00000000000000000000000000000000000000000000000000000000000000005b6040516001600160a01b039091168152602001610394565b3480156104cc57600080fd5b5061041e6104db366004613bbb565b610d38565b3480156104ec57600080fd5b5061035c610dc3565b6104a8610503366004613fbf565b610dce565b34801561051457600080fd5b5061035c610523366004613bbb565b610df1565b34801561053457600080fd5b50600b5461054790610100900460ff1681565b6040516103949190614021565b34801561056057600080fd5b5061041e61056f36600461402f565b610e3d565b34801561058057600080fd5b5061041e61058f36600461405b565b610f0f565b3480156105a057600080fd5b50600b546105ae9060ff1681565b6040516103949190614097565b3480156105c757600080fd5b5060015461041e565b3480156105dc57600080fd5b5061041e600a81565b3480156105f157600080fd5b507f000000000000000000000000000000000000000000000000000000000000000061041e565b34801561062457600080fd5b5060025461041e565b34801561063957600080fd5b506103bd610648366004613d3f565b610fb4565b34801561065957600080fd5b5061041e60035481565b34801561066f57600080fd5b5061041e61067e366004613bbb565b610fbf565b34801561068f57600080fd5b5061041e61069e366004613d3f565b60106020526000908152604090205481565b3480156106bc57600080fd5b50600d546104a8906001600160a01b031681565b3480156106dc57600080fd5b5061035c6106eb366004613d3f565b6110fc565b3480156106fc57600080fd5b5061035c61070b366004613bbb565b611110565b34801561071c57600080fd5b5061041e60045481565b34801561073257600080fd5b5061041e61074136600461402f565b61114f565b34801561075257600080fd5b5061041e60095481565b34801561076857600080fd5b5061035c6112f1565b34801561077d57600080fd5b5061041e60075481565b34801561079357600080fd5b506103bd6107a2366004613bbb565b611423565b3480156107b357600080fd5b5061041e6107c236600461402f565b611480565b3480156107d357600080fd5b5061041e6107e2366004613bbb565b6114b1565b3480156107f357600080fd5b506104a873eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b34801561081b57600080fd5b5061041e60055481565b34801561083157600080fd5b50600c5461041e9081565b34801561084857600080fd5b5061085c610857366004613bbb565b6114db565b60405161039491906140a5565b34801561087557600080fd5b5061041e60085481565b34801561088b57600080fd5b5061035c61089a366004613d3f565b6115ba565b3480156108ab57600080fd5b506108bf6108ba3660046140b8565b61169b565b604051610394919061418d565b3480156108d857600080fd5b5061035c6108e73660046141f3565b6116b6565b3480156108f857600080fd5b50600e546104a8906001600160a01b031681565b34801561091857600080fd5b5061041e610927366004613d3f565b6001600160a01b031660009081526010602052604090205490565b34801561094e57600080fd5b50600b54610100900460ff16610547565b34801561096b57600080fd5b5061097f61097a366004613bbb565b6116bf565b6040516103949a99989796959493929190614210565b3480156109a157600080fd5b5060085461041e565b3480156109b657600080fd5b5061041e6109c5366004613bbb565b6000908152600f602052604090206002015490565b3480156109e657600080fd5b5060005460ff166103bd565b3480156109fe57600080fd5b5061041e610a0d366004614275565b6117c1565b348015610a1e57600080fd5b5061035c610a2d36600461429a565b6117ec565b348015610a3e57600080fd5b50610a52610a4d366004613d3f565b611805565b6040516103949190614345565b348015610a6b57600080fd5b5061035c610a7a36600461435f565b611810565b61035c610a8d366004613fbf565b611956565b348015610a9e57600080fd5b5061035c610aad366004613bbb565b611974565b348015610abe57600080fd5b5061035c610acd366004613bbb565b61199d565b600f602090815260009182526040918290208054600182015460028301546003840154600485015460058601546006870154600788015460088901548b51808d01909c52600a8a0180548d52600b8b0180549a9d999c989b979a6001600160a01b039788169a968816999790951697939660ff9093169593949192840191610b59906143a6565b80601f0160208091040260200160405190810160405280929190818152602001828054610b85906143a6565b8015610bd25780601f10610ba757610100808354040283529160200191610bd2565b820191906000526020600020905b815481529060010190602001808311610bb557829003601f168201915b50505050508152505090508a565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167ff1801e61000000000000000000000000000000000000000000000000000000001480610c7357507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b33610c83816119dc565b600d80546001600160a01b0319166001600160a01b0384169081179091556040519081527fd6ceddf6d2a22f21c7c81675c518004eff43bc5c8a6fc32a0b748e69d58671cd906020015b60405180910390a15050565b610ce1611aa7565b610ce9611af0565b610cf4838383611b2c565b505050565b33610d03816119dc565b60048290556040518281527f08e39b387d1f739ce0d2553bb31822392e3f67c62c6c0a215120ab4a6841a8ab90602001610ccd565b6000818152600f6020526040812080548314610d6f5760405163c1d17bef60e01b8152600481018490526024015b60405180910390fd5b6001600882015460ff166004811115610d8a57610d8a613bd4565b14610dab576040516344980d8f60e01b815260048101849052602401610d66565b610db9818260020154611e63565b6003015492915050565b610dcc33611e9e565b565b6000610dd8611aa7565b610de0611af0565b610dea8383611fef565b9392505050565b33610dfb816119dc565b60095460408051918252602082018490527f056aedca4e334b6c4bea48715fb0de644811b740894de57a0380d3eb90f2805b910160405180910390a150600955565b6000610e47612341565b60006002600b54610100900460ff166003811115610e6757610e67613bd4565b1480610e8e57506001600b54610100900460ff166003811115610e8c57610e8c613bd4565b145b15610e9a575081610ea7565b610ea48484612385565b90505b8060086000828254610eb991906143f0565b9091555050604080516001600160a01b0386168152602081018590529081018290527f70b752f3fadb6ac131c0ece847fcbb6994ec56ed6411595710fd9b29c6ac6cc19060600160405180910390a19392505050565b6000808490506000610f35629896806080600354901b610f2f9190614419565b83612649565b905060806f8000000000000000000000000000000060035462989680610f5b91906143f0565b610f6984600160801b6143f0565b610f76629896808961443b565b610f80919061443b565b610f8a9190614419565b610f94888561443b565b610f9e9190614452565b610fa89190614452565b901c9695505050505050565b6000610c73826126f2565b60008060025411610ffc576040517fed4421ad00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61100582612712565b1561102357604051630efd728560e21b815260040160405180910390fd5b60025460009061103c846801000000000000000061443b565b6110469190614419565b6298968060045468010000000000000000611061919061443b565b61106b9190614419565b61107591906143f0565b9050604061108260085490565b60035461109290629896806143f0565b6298968060406110a2868061443b565b901c629896806080600554901b6110b99190614419565b6110c39190614419565b6110cd919061443b565b6110d79190614419565b6110e1919061443b565b901c915060095482116110f657600954610dea565b50919050565b611104612341565b61110d81611e9e565b50565b3361111a816119dc565b60038290556040518281527f592dcd55d60d892e7fcb3ba105013312e99691cd59f91e15f83cb67cb5a505f290602001610ccd565b6000611159612341565b61116283612739565b61117f57604051630b72d6b160e31b815260040160405180910390fd5b60006002600b54610100900460ff16600381111561119f5761119f613bd4565b036111ad57825b905061120a565b6001600b54610100900460ff1660038111156111cb576111cb613bd4565b036111da576111a684846127e1565b6003600b54610100900460ff1660038111156111f8576111f8613bd4565b0361120a576112078484612947565b90505b600d5460405163011de97360e61b81526001600160a01b038681166004830152306024830152600092169063477a5cc090604401602060405180830381865afa15801561125b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061127f9190614465565b9050801561129f5781600860008282546112999190614452565b90915550505b604080516001600160a01b0387168152602081018690529081018390527f0b9150e1e54346ed3fa36b977cd5d65dca5a649c737c3174a26bddaadd47667a9060600160405180910390a1509392505050565b336112fb81612739565b61131857604051630b72d6b160e31b815260040160405180910390fd5b600d546040517f0d4a8b490000000000000000000000000000000000000000000000000000000081526001600160a01b03838116600483015230602483015290911690630d4a8b4990604401600060405180830381600087803b15801561137e57600080fd5b505af1158015611392573d6000803e3d6000fd5b5050600d54604051637817ee4f60e01b81526001600160a01b0385811660048301523060248301529091169250637817ee4f9150604401602060405180830381865afa1580156113e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061140a9190614482565b6008600082825461141b9190614452565b909155505050565b6000818152600f60205260408120600281015482908190611445908490612b8e565b91509150816000148015611457575080155b1561146457826003015491505b60006114738460010154610fbf565b9092101595945050505050565b6011602052816000526040600020818154811061149c57600080fd5b90600052602060002001600091509150505481565b6000600354629896806114c491906143f0565b6114d1629896808461443b565b610c739190614419565b6040805180820190915260008152606060208201526000600f6000848152602001908152602001600020905080600a0160405180604001604052908160008201548152602001600182018054611530906143a6565b80601f016020809104026020016040519081016040528092919081815260200182805461155c906143a6565b80156115a95780601f1061157e576101008083540402835291602001916115a9565b820191906000526020600020905b81548152906001019060200180831161158c57829003601f168201915b505050505081525050915050919050565b600d60009054906101000a90046001600160a01b03166001600160a01b0316636c53db9a6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561160d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611631919061449b565b6001600160a01b031633036116695761164981612be6565b600e80546001600160a01b0383166001600160a01b031990911617905550565b6040517fe860ec7e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b606060405163d623472560e01b815260040160405180910390fd5b61110d81612c26565b6000806000806000806000806000806000600f60008d815260200190815260200160002090508060010154600014611703576116fe8160010154610fbf565b611706565b60005b92508060050160009054906101000a90046001600160a01b03168160040160009054906101000a90046001600160a01b03168260060160009054906101000a90046001600160a01b0316836001015484600201548560080160009054906101000a900460ff16866007015487600301548a896009016000336001600160a01b03166001600160a01b03168152602001908152602001600020549a509a509a509a509a509a509a509a509a509a50509193959799509193959799565b6000828152600f602090815260408083206001600160a01b0385168452600901909152812054610dea565b60405163d623472560e01b815260040160405180910390fd5b6000610c7382612c67565b61181982612c87565b60008180602001905181019061182f9190614528565b80519091506001600160a01b031661185a57604051635df4b1ef60e01b815260040160405180910390fd5b8051600d80546001600160a01b0319166001600160a01b0390921691909117905560208101516003556040810151600455606081015160055560a0810151600b805460ff191660018360028111156118b4576118b4613bd4565b021790555060c0810151600b805461ff0019166101008360038111156118dc576118dc613bd4565b021790555060e081015151600c556080810151600955610100810151600e80546001600160a01b0319166001600160a01b039092169190911790556040517f4ebdec05fb64815e553aeaf3976ef8112dd79760a459bee3ac7d1659ab2c4e049061194990859084906145c3565b60405180910390a1505050565b61195e611aa7565b611966611af0565b6119708282612d08565b5050565b61197c611aa7565b806002600082825461198e9190614452565b9091555061110d905081612e17565b336119a7816119dc565b60058290556040518281527f30ee8206062f283e56a0af2b02138016bf7442ded26ad68a92a18a9dd246fb4990602001610ccd565b6001546040517f29e40d4b00000000000000000000000000000000000000000000000000000000815260048101919091526001600160a01b0382811660248301527f000000000000000000000000000000000000000000000000000000000000000016906329e40d4b90604401602060405180830381865afa158015611a66573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a8a9190614465565b61110d5760405163075fd2b160e01b815260040160405180910390fd5b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610dcc5760405163075fd2b160e01b815260040160405180910390fd5b600154600003610dcc576040517f3da3f98c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000825111611b67576040517fc5f7c4c000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600082806020019051810190611b7d9190614482565b905080600003611bb9576040517ff881a10d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000818152600f602052604090206001600b5460ff166002811115611be057611be0613bd4565b03611e5c5780548214611c095760405163c1d17bef60e01b815260048101839052602401610d66565b60025481600101541115611c615760018101546002546040517f5863b0b60000000000000000000000000000000000000000000000000000000081526004810185905260248101929092526044820152606401610d66565b6001600882015460ff166004811115611c7c57611c7c613bd4565b14611c9d576040516344980d8f60e01b815260048101839052602401610d66565b6000611ca883610d38565b90506000611cb98360010154610fbf565b90508082108015611cce575060008360010154115b15611d05576040517fcce7930800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001546040517f068bcd8d0000000000000000000000000000000000000000000000000000000081526000916001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169163068bcd8d91611d729160040190815260200190565b600060405180830381865afa158015611d8f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611db791908101906146e3565b9050836001015460026000828254611dcf91906143f0565b9091555050604081015160048501546001860154611df792916001600160a01b031690612e47565b60088401805460ff191660049081179091558401546001850154604080518881526001600160a01b0390931660208401528201527fa7932e9c92f31e1ed56b29d00bbe669a97484dc24de28dd9c8c0429df7f358479060600160405180910390a15050505b5050505050565b600080611e708484612b8e565b91509150816000148015611e82575080155b15611e8d5750505050565b600784015560039092019190915550565b600d54604051637817ee4f60e01b81526001600160a01b03838116600483015230602483015290911690637817ee4f90604401602060405180830381865afa158015611eee573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f129190614482565b60086000828254611f2391906143f0565b9091555050600d546040517f22bcf9990000000000000000000000000000000000000000000000000000000081526001600160a01b038381166004830152306024830152909116906322bcf99990604401600060405180830381600087803b158015611f8e57600080fd5b505af1158015611fa2573d6000803e3d6000fd5b50505050611faf81612e8c565b6040516001600160a01b03821681527f1468da654b37bb3631011c1917d02e0db437d519918858d40b38b5e980ca033b906020015b60405180910390a150565b6000611ffa82612739565b61201757604051630b72d6b160e31b815260040160405180910390fd5b60008380602001905181019061202d9190614797565b805190915060000361206b576040517f4e79178600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600b5460ff16600281111561208457612084613bd4565b03612234576120968160200151612be6565b60608101516001600160a01b03166120da576040517f596a094c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000306001600160a01b03166315cc481e6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561211a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061213e919061449b565b6001600160a01b031663068bcd8d6001546040518263ffffffff1660e01b815260040161216d91815260200190565b600060405180830381865afa15801561218a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526121b291908101906146e3565b604001519050806001600160a01b031682606001516001600160a01b031614612207576040517fa29c498600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6122148260400151612712565b1561223257604051630efd728560e21b815260040160405180910390fd5b505b60006006600081546122459061483e565b91829055506000818152600f602090815260408083208481556005810180546001600160a01b038b81166001600160a01b0319928316179092558885015160048401805491841691831691909117905560608901516006840180549190931691161790559086015160018083019190915560088201805460ff19169091179055436007820155600381019290925560808501518051600a8401908155918101519394509192600b8401906122f990826148a5565b505060015460408051918252602082018590527ffcf3b1aa65a464cef2889608f99e8b8c0f680a4be6c2acb9d961c536a5a9294b92500160405180910390a150949350505050565b600d546001600160a01b03163314610dcc576040517faf0916a200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600d54604080516336d8759760e21b815290516000926012926001600160a01b039091169163db61d65c916004808201926020929091908290030181865afa1580156123d5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123f9919061449b565b6001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015612452575060408051601f3d908101601f1916820190925261244f91810190614965565b60015b612499576124946040518060400160405280601581526020017f4572726f722067657474696e6720646563696d616c0000000000000000000000815250613019565b61249f565b60ff1690505b6124de6040518060400160405280601081526020017f5f616d6f756e74546f556e7374616b65000000000000000000000000000000008152508461308a565b600d546040516316308e2560e11b81526001600160a01b0386811660048301526000928692911690632c611c4a90602401602060405180830381865afa15801561252c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125509190614482565b61255a91906143f0565b905061259b6040518060400160405280600d81526020017f6e6577546f74616c5374616b65000000000000000000000000000000000000008152508261308a565b60006125ba6125ab84600a614a6c565b6125b5908461443b565b6130fd565b600d54604051637817ee4f60e01b81526001600160a01b03898116600483015230602483015292935060009284921690637817ee4f90604401602060405180830381865afa158015612610573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126349190614482565b61263e91906143f0565b979650505050505050565b6000600160801b831061269e5760405162461bcd60e51b815260206004820152601c60248201527f5f612073686f756c64206265206c657373207468616e20325e313238000000006044820152606401610d66565b50600160801b82825b80156126ea57806001166000036126cc576126c282836131e5565b915060011c6126a7565b6126d683836131e5565b92506126e36001826143f0565b90506126a7565b505092915050565b60006001600160a01b0382161561270a576001610c73565b600092915050565b6000612721629896808361443b565b600254600454612731919061443b565b111592915050565b600e546000906001600160a01b031661275457506001919050565b600e546040517f42a987a00000000000000000000000000000000000000000000000000000000081526001600160a01b038481166004830152306024830152909116906342a987a090604401602060405180830381865afa1580156127bd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c739190614465565b6000808290506128266040518060400160405280601281526020017f504f494e545320544f20494e43524541534500000000000000000000000000008152508261308a565b600d54604051637817ee4f60e01b81526001600160a01b0386811660048301523060248301526000921690637817ee4f90604401602060405180830381865afa158015612877573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061289b9190614482565b90506128dc6040518060400160405280600b81526020017f4d454d424552504f5745520000000000000000000000000000000000000000008152508261308a565b600c546128e98383614452565b111561290057600c546128fd9082906143f0565b91505b61293f6040518060400160405280601681526020017f504f494e545320544f20494e43524541534520454e44000000000000000000008152508361308a565b509392505050565b600d546040516316308e2560e11b81526001600160a01b0384811660048301526000928392859290911690632c611c4a90602401602060405180830381865afa158015612998573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129bc9190614482565b6129c69190614452565b600d54604080516336d8759760e21b815290519293506012926001600160a01b039092169163db61d65c916004808201926020929091908290030181865afa158015612a16573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a3a919061449b565b6001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015612a93575060408051601f3d908101601f19168201909252612a9091810190614965565b60015b612ada57612ad56040518060400160405280601581526020017f4572726f722067657474696e6720646563696d616c0000000000000000000000815250613019565b612ae0565b60ff1690505b6000612afa612af083600a614a6c565b6125b5908561443b565b600d54604051637817ee4f60e01b81526001600160a01b03898116600483015230602483015292935060009290911690637817ee4f90604401602060405180830381865afa158015612b50573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612b749190614482565b90506000612b8282846143f0565b98975050505050505050565b6000804390508084600701541115612ba857612ba8614a78565b80846007015403612bbe57506000905080612bdf565b612bdc846007015482612bd191906143f0565b856003015485610f0f565b91505b9250929050565b6001600160a01b03811661110d576040517fe622e04000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000805460ff19168215159081179091556040519081527fd94c9bc4d43c51d8dc345a016d8e3d994432fac68e72832e4cf3a616bd8efae090602001611fe4565b60006001600160a01b03821615612c7f576002610c73565b600392915050565b612c8f611aa7565b60015415612cc9576040517f439a74c900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80600003612d03576040517f7fcce2a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600155565b612d11816132e4565b612d1a81612739565b612d3757604051630b72d6b160e31b815260040160405180910390fd5b600d5460405163011de97360e61b81526001600160a01b038381166004830152306024830152600092169063477a5cc090604401602060405180830381865afa158015612d88573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612dac9190614465565b905080612de5576040517f5fccb67f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600083806020019051810190612dfb9190614a8e565b9050612e07838261340a565b612e1183826135cd565b50505050565b6040518181527f46aeb5d8770fc4474bc2dfa118fd2595f7fb33ce2cbce6f4e5a3dabfe0f7633990602001611fe4565b7fffffffffffffffffffffffff11111111111111111111111111111111111111126001600160a01b03841601612e8157610cf482826139f1565b610cf4838383613a0d565b6001600160a01b038116600090815260116020908152604080832080548251818502810185019093528083529192909190830182828015612eec57602002820191906000526020600020905b815481526020019060010190808311612ed8575b5050505050905060005b8151811015610cf4576000828281518110612f1357612f13614b39565b602002602001015190506000600f60008381526020019081526020016000209050612f3d82613a5c565b15613004576001600160a01b0385166000908152600982016020526040812080549082905560028301805491928392612f779084906143f0565b925050819055508060076000828254612f9091906143f0565b90915550612fa090508282611e63565b60028201546003830154604080516001600160a01b038a1681526020810187905260008183015260608101939093526080830191909152517f0227f642ddcf2042ceaeafadb9d540f432072c00cd4862881667168dcc14710f9181900360a00190a1505b505080806130119061483e565b915050612ef6565b61110d8160405160240161302d9190614b4f565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f41304fac00000000000000000000000000000000000000000000000000000000179052613a95565b61197082826040516024016130a0929190614b62565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f9710a9d000000000000000000000000000000000000000000000000000000000179052613a95565b60008160000361310f57506000919050565b6000600161311c84613ab6565b901c6001901b9050600181848161313557613135614403565b048201901c9050600181848161314d5761314d614403565b048201901c9050600181848161316557613165614403565b048201901c9050600181848161317d5761317d614403565b048201901c9050600181848161319557613195614403565b048201901c905060018184816131ad576131ad614403565b048201901c905060018184816131c5576131c5614403565b048201901c9050610dea818285816131df576131df614403565b04613b4a565b6000600160801b8311156132615760405162461bcd60e51b815260206004820152602860248201527f5f612073686f756c64206265206c657373207468616e206f7220657175616c2060448201527f746f20325e3132380000000000000000000000000000000000000000000000006064820152608401610d66565b600160801b82106132b45760405162461bcd60e51b815260206004820152601c60248201527f5f622073686f756c64206265206c657373207468616e20325e313238000000006044820152606401610d66565b60806f800000000000000000000000000000006132d1848661443b565b6132db9190614452565b901c9392505050565b6001600160a01b038116613324576040517fd1f2828800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600d546001600160a01b031661334d57604051635df4b1ef60e01b815260040160405180910390fd5b600d546040517fa230c5240000000000000000000000000000000000000000000000000000000081526001600160a01b0383811660048301529091169063a230c52490602401602060405180830381865afa1580156133b0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906133d49190614465565b61110d576040517f6a5cfb6d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000805b82518110156134c75782818151811061342957613429614b39565b602002602001015160000151600003156134b557600083828151811061345157613451614b39565b602002602001015160000151905061346881613a5c565b6134885760405163c1d17bef60e01b815260048101829052602401610d66565b83828151811061349a5761349a614b39565b602002602001015160200151836134b19190614b84565b9250505b806134bf8161483e565b91505061340e565b506001600160a01b0383166000908152601060205260408120546134eb9083613b60565b600d54604051637817ee4f60e01b81526001600160a01b03878116600483015230602483015292935060009290911690637817ee4f90604401602060405180830381865afa158015613541573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906135659190614482565b9050808211156135ab576040517fd64182fe0000000000000000000000000000000000000000000000000000000081526004810183905260248101829052604401610d66565b506001600160a01b039093166000908152601060205260409020929092555050565b606060005b8251811015612e115760008382815181106135ef576135ef614b39565b6020026020010151600001519050825160000361364b576040805160018082528183019092529060208083019080368337019050509250808360008151811061363a5761363a614b39565b60200260200101818152505061379e565b6000805b84518110156136ca578285828151811061366b5761366b614b39565b6020026020010151036136b8576040517fadebb154000000000000000000000000000000000000000000000000000000008152600481018490526024810182905260019250604401610d66565b806136c28161483e565b91505061364f565b508061379c576000845160016136e09190614452565b67ffffffffffffffff8111156136f8576136f8613d5c565b604051908082528060200260200182016040528015613721578160200160208202803683370190505b50905060005b85518110156137795785818151811061374257613742614b39565b602002602001015182828151811061375c5761375c614b39565b6020908102919091010152806137718161483e565b915050613727565b50828186518151811061378e5761378e614b39565b602090810291909101015293505b505b60008483815181106137b2576137b2614b39565b6020908102919091018101518101516000848152600f835260408082206001600160a01b038b168352600981019094528120549193506137f28285613b60565b6001600160a01b038a1660009081526009850160205260408120829055909150805b6001600160a01b038b1660009081526011602052604090205481101561388b5784546001600160a01b038c16600090815260116020526040902080548390811061386057613860614b39565b906000526020600020015403613879576001915061388b565b806138838161483e565b915050613814565b50806138c1576001600160a01b038a16600090815260116020908152604082208654815460018101835591845291909220909101555b818311613911576138d283836143f0565b600760008282546138e39190614452565b909155506138f3905083836143f0565b8460020160008282546139069190614452565b909155506139559050565b61391b82846143f0565b6007600082825461392c91906143f0565b9091555061393c905082846143f0565b84600201600082825461394f91906143f0565b90915550505b836007015460000361396c574360078501556139d8565b6139768484611e63565b60028401546003850154604080516001600160a01b038e168152602081018a9052908101859052606081019290925260808201527f0227f642ddcf2042ceaeafadb9d540f432072c00cd4862881667168dcc14710f9060a00160405180910390a15b50505050505080806139e99061483e565b9150506135d2565b60008060008084865af16119705763b12d13eb6000526004601cfd5b81601452806034526fa9059cbb00000000000000000000000060005260206000604460106000875af13d156001600051141716613a52576390b8ec186000526004601cfd5b6000603452505050565b6000818152600f602052604081205415801590610c735750506000908152600f60205260409020600501546001600160a01b0316151590565b80516a636f6e736f6c652e6c6f67602083016000808483855afa5050505050565b600080608083901c15613acb57608092831c92015b604083901c15613add57604092831c92015b602083901c15613aef57602092831c92015b601083901c15613b0157601092831c92015b600883901c15613b1357600892831c92015b600483901c15613b2557600492831c92015b600283901c15613b3757600292831c92015b600183901c15610c735760010192915050565b6000818310613b595781610dea565b5090919050565b600080613b6d8385614b84565b90506000811215610dea576040517f3bbc7142000000000000000000000000000000000000000000000000000000008152600481018590526024810184905260448101829052606401610d66565b600060208284031215613bcd57600080fd5b5035919050565b634e487b7160e01b600052602160045260246000fd5b60058110613bfa57613bfa613bd4565b9052565b60005b83811015613c19578181015183820152602001613c01565b50506000910152565b60008151808452613c3a816020860160208601613bfe565b601f01601f19169290920160200192915050565b805182526000602082015160406020850152613c6d6040850182613c22565b949350505050565b60006101408c83528b60208401528a60408401528960608401526001600160a01b03808a16608085015280891660a085015280881660c0850152508560e0840152613cc4610100840186613bea565b80610120840152613cd781840185613c4e565b9d9c50505050505050505050505050565b600060208284031215613cfa57600080fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114610dea57600080fd5b6001600160a01b038116811461110d57600080fd5b600060208284031215613d5157600080fd5b8135610dea81613d2a565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff81118282101715613d9557613d95613d5c565b60405290565b604051610120810167ffffffffffffffff81118282101715613d9557613d95613d5c565b60405160c0810167ffffffffffffffff81118282101715613d9557613d95613d5c565b60405160a0810167ffffffffffffffff81118282101715613d9557613d95613d5c565b604051601f8201601f1916810167ffffffffffffffff81118282101715613e2e57613e2e613d5c565b604052919050565b600067ffffffffffffffff821115613e5057613e50613d5c565b5060051b60200190565b600082601f830112613e6b57600080fd5b81356020613e80613e7b83613e36565b613e05565b82815260059290921b84018101918181019086841115613e9f57600080fd5b8286015b84811015613ec3578035613eb681613d2a565b8352918301918301613ea3565b509695505050505050565b600067ffffffffffffffff821115613ee857613ee8613d5c565b50601f01601f191660200190565b600082601f830112613f0757600080fd5b8135613f15613e7b82613ece565b818152846020838601011115613f2a57600080fd5b816020850160208301376000918101602001919091529392505050565b600080600060608486031215613f5c57600080fd5b833567ffffffffffffffff80821115613f7457600080fd5b613f8087838801613e5a565b94506020860135915080821115613f9657600080fd5b50613fa386828701613ef6565b9250506040840135613fb481613d2a565b809150509250925092565b60008060408385031215613fd257600080fd5b823567ffffffffffffffff811115613fe957600080fd5b613ff585828601613ef6565b925050602083013561400681613d2a565b809150509250929050565b60048110613bfa57613bfa613bd4565b60208101610c738284614011565b6000806040838503121561404257600080fd5b823561404d81613d2a565b946020939093013593505050565b60008060006060848603121561407057600080fd5b505081359360208301359350604090920135919050565b60038110613bfa57613bfa613bd4565b60208101610c738284614087565b602081526000610dea6020830184613c4e565b600080604083850312156140cb57600080fd5b823567ffffffffffffffff808211156140e357600080fd5b6140ef86838701613e5a565b935060209150818501358181111561410657600080fd5b8501601f8101871361411757600080fd5b8035614125613e7b82613e36565b81815260059190911b8201840190848101908983111561414457600080fd5b8584015b8381101561417c578035868111156141605760008081fd5b61416e8c8983890101613ef6565b845250918601918601614148565b508096505050505050509250929050565b602080825282518282018190526000919060409081850190868401855b828110156141d857815180516001600160a01b031685528601518685015292840192908501906001016141aa565b5091979650505050505050565b801515811461110d57600080fd5b60006020828403121561420557600080fd5b8135610dea816141e5565b6001600160a01b038b811682528a81166020830152891660408201526060810188905260808101879052610140810161424c60a0830188613bea565b8560c08301528460e083015283610100830152826101208301529b9a5050505050505050505050565b6000806040838503121561428857600080fd5b82359150602083013561400681613d2a565b600060208083850312156142ad57600080fd5b823567ffffffffffffffff8111156142c457600080fd5b8301601f810185136142d557600080fd5b80356142e3613e7b82613e36565b81815260069190911b8201830190838101908783111561430257600080fd5b928401925b8284101561263e57604084890312156143205760008081fd5b614328613d72565b843581528585013586820152825260409093019290840190614307565b602081016007831061435957614359613bd4565b91905290565b6000806040838503121561437257600080fd5b82359150602083013567ffffffffffffffff81111561439057600080fd5b61439c85828601613ef6565b9150509250929050565b600181811c908216806143ba57607f821691505b6020821081036110f657634e487b7160e01b600052602260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b81810381811115610c7357610c736143da565b634e487b7160e01b600052601260045260246000fd5b60008261443657634e487b7160e01b600052601260045260246000fd5b500490565b8082028115828204841417610c7357610c736143da565b80820180821115610c7357610c736143da565b60006020828403121561447757600080fd5b8151610dea816141e5565b60006020828403121561449457600080fd5b5051919050565b6000602082840312156144ad57600080fd5b8151610dea81613d2a565b80516144c381613d2a565b919050565b8051600381106144c357600080fd5b8051600481106144c357600080fd5b6000602082840312156144f857600080fd5b6040516020810181811067ffffffffffffffff8211171561451b5761451b613d5c565b6040529151825250919050565b6000610120828403121561453b57600080fd5b614543613d9b565b61454c836144b8565b81526020830151602082015260408301516040820152606083015160608201526080830151608082015261458260a084016144c8565b60a082015261459360c084016144d7565b60c08201526145a58460e085016144e6565b60e08201526101006145b88185016144b8565b908201529392505050565b6000610140820190508382526001600160a01b038351166020830152602083015160408301526040830151606083015260608301516080830152608083015160a083015260a083015161461960c0840182614087565b5060c083015161462c60e0840182614011565b5060e08301515161010083810191909152909201516001600160a01b031661012090910152919050565b60006040828403121561466857600080fd5b614670613d72565b905081518152602082015167ffffffffffffffff81111561469057600080fd5b8201601f810184136146a157600080fd5b80516146af613e7b82613ece565b8181528560208385010111156146c457600080fd5b6146d5826020830160208601613bfe565b602084015250909392505050565b6000602082840312156146f557600080fd5b815167ffffffffffffffff8082111561470d57600080fd5b9083019060c0828603121561472157600080fd5b614729613dbf565b82518152602083015161473b81613d2a565b6020820152604083015161474e81613d2a565b604082015260608301518281111561476557600080fd5b61477187828601614656565b6060830152506080830151608082015260a083015160a082015280935050505092915050565b6000602082840312156147a957600080fd5b815167ffffffffffffffff808211156147c157600080fd5b9083019060a082860312156147d557600080fd5b6147dd613de2565b8251815260208301516147ef81613d2a565b602082015260408381015190820152606083015161480c81613d2a565b606082015260808301518281111561482357600080fd5b61482f87828601614656565b60808301525095945050505050565b600060018201614850576148506143da565b5060010190565b601f821115610cf457600081815260208120601f850160051c8101602086101561487e5750805b601f850160051c820191505b8181101561489d5782815560010161488a565b505050505050565b815167ffffffffffffffff8111156148bf576148bf613d5c565b6148d3816148cd84546143a6565b84614857565b602080601f83116001811461490857600084156148f05750858301515b600019600386901b1c1916600185901b17855561489d565b600085815260208120601f198616915b8281101561493757888601518255948401946001909101908401614918565b50858210156149555787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60006020828403121561497757600080fd5b815160ff81168114610dea57600080fd5b600181815b808511156149c35781600019048211156149a9576149a96143da565b808516156149b657918102915b93841c939080029061498d565b509250929050565b6000826149da57506001610c73565b816149e757506000610c73565b81600181146149fd5760028114614a0757614a23565b6001915050610c73565b60ff841115614a1857614a186143da565b50506001821b610c73565b5060208310610133831016604e8410600b8410161715614a46575081810a610c73565b614a508383614988565b8060001904821115614a6457614a646143da565b029392505050565b6000610dea83836149cb565b634e487b7160e01b600052600160045260246000fd5b60006020808385031215614aa157600080fd5b825167ffffffffffffffff811115614ab857600080fd5b8301601f81018513614ac957600080fd5b8051614ad7613e7b82613e36565b81815260069190911b82018301908381019087831115614af657600080fd5b928401925b8284101561263e5760408489031215614b145760008081fd5b614b1c613d72565b845181528585015186820152825260409093019290840190614afb565b634e487b7160e01b600052603260045260246000fd5b602081526000610dea6020830184613c22565b604081526000614b756040830185613c22565b90508260208301529392505050565b80820182811260008312801582168215821617156126ea576126ea6143da56fea264697066735822122037f18a16c0d6f8d5c2225716cb07cd384ab932634cd7b28d2f0089b404d0ccbf64736f6c63430008130033","sourceMap":"2787:38112:129:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7096:60;;;;;;;;;;-1:-1:-1;7096:60:129;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;8973:202;;;;;;;;;;-1:-1:-1;8973:202:129;;;;;:::i;:::-;;:::i;:::-;;;3023:14:151;;3016:22;2998:41;;2986:2;2971:18;8973:202:129;2858:187:151;40259:219:129;;;;;;;;;;-1:-1:-1;40259:219:129;;;;;:::i;:::-;;:::i;10705:325:11:-;;;;;;;;;;-1:-1:-1;10705:325:11;;;;;:::i;:::-;;:::i;17722:99:129:-;;;;;;;;;;-1:-1:-1;17793:11:129;:21;17722:99;;;7406:25:151;;;7394:2;7379:18;17722:99:129;7260:177:151;6385:34:129;;;;;;;;;;;;;;;;5837:36;;;;;;;;;;;;5865:8;5837:36;;39949:155;;;;;;;;;;-1:-1:-1;39949:155:129;;;;;:::i;:::-;;:::i;6785:86:11:-;;;;;;;;;;-1:-1:-1;6860:4:11;6785:86;;;-1:-1:-1;;;;;7620:55:151;;;7602:74;;7590:2;7575:18;6785:86:11;7442:240:151;39150:520:129;;;;;;;;;;-1:-1:-1;39150:520:129;;;;;:::i;:::-;;:::i;13000:81::-;;;;;;;;;;;;;:::i;9429:344:11:-;;;;;;:::i;:::-;;:::i;40484:237:129:-;;;;;;;;;;-1:-1:-1;40484:237:129;;;;;:::i;:::-;;:::i;6815:45::-;;;;;;;;;;-1:-1:-1;6815:45:129;;;;;;;;;;;;;;;;;;:::i;14596:681::-;;;;;;;;;;-1:-1:-1;14596:681:129;;;;;:::i;:::-;;:::i;33308:1145::-;;;;;;;;;;-1:-1:-1;33308:1145:129;;;;;:::i;:::-;;:::i;6709:47::-;;;;;;;;;;-1:-1:-1;6709:47:129;;;;;;;;;;;;;;;:::i;6953:92:11:-;;;;;;;;;;-1:-1:-1;7032:6:11;;6953:92;;6126:49:129;;;;;;;;;;;;6173:2;6126:49;;7135:100:11;;;;;;;;;;-1:-1:-1;7218:10:11;7135:100;;7326:108;;;;;;;;;;-1:-1:-1;7417:10:11;;7326:108;;12395:145;;;;;;;;;;-1:-1:-1;12395:145:11;;;;;:::i;:::-;;:::i;6303:20:129:-;;;;;;;;;;;;;;;;35034:1482;;;;;;;;;;-1:-1:-1;35034:1482:129;;;;;:::i;:::-;;:::i;7212:53::-;;;;;;;;;;-1:-1:-1;7212:53:129;;;;;:::i;:::-;;;;;;;;;;;;;;6950:42;;;;;;;;;;-1:-1:-1;6950:42:129;;;;-1:-1:-1;;;;;6950:42:129;;;13087:128;;;;;;;;;;-1:-1:-1;13087:128:129;;;;;:::i;:::-;;:::i;39806:137::-;;;;;;;;;;-1:-1:-1;39806:137:129;;;;;:::i;:::-;;:::i;6329:23::-;;;;;;;;;;;;;;;;13578:1012;;;;;;;;;;-1:-1:-1;13578:1012:129;;;;;:::i;:::-;;:::i;6498:38::-;;;;;;;;;;;;;;;;12643:351;;;;;;;;;;;;;:::i;6425:26::-;;;;;;;;;;;;;;;;21047:735;;;;;;;;;;-1:-1:-1;21047:735:129;;;;;:::i;:::-;;:::i;7303:57::-;;;;;;;;;;-1:-1:-1;7303:57:129;;;;;:::i;:::-;;:::i;39676:124::-;;;;;;;;;;-1:-1:-1;39676:124:129;;;;;:::i;:::-;;:::i;4412:75:9:-;;;;;;;;;;;;4445:42;4412:75;;6358:21:129;;;;;;;;;;;;;;;;6866:51;;;;;;;;;;-1:-1:-1;6866:51:129;;;;;;25938:198;;;;;;;;;;-1:-1:-1;25938:198:129;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;6457:35::-;;;;;;;;;;;;;;;;40727:170;;;;;;;;;;-1:-1:-1;40727:170:129;;;;;:::i;:::-;;:::i;22421:288::-;;;;;;;;;;-1:-1:-1;22421:288:129;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;23404:86::-;;;;;;;;;;-1:-1:-1;23404:86:129;;;;;:::i;:::-;;:::i;6998:31::-;;;;;;;;;;-1:-1:-1;6998:31:129;;;;-1:-1:-1;;;;;6998:31:129;;;26733:127;;;;;;;;;;-1:-1:-1;26733:127:129;;;;;:::i;:::-;-1:-1:-1;;;;;26827:26:129;26801:7;26827:26;;;:18;:26;;;;;;;26733:127;17827:110;;;;;;;;;;-1:-1:-1;17919:11:129;;;;;;;17827:110;;24894:1038;;;;;;;;;;-1:-1:-1;24894:1038:129;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;;;;;:::i;37721:112::-;;;;;;;;;;-1:-1:-1;37806:20:129;;37721:112;;26519:145;;;;;;;;;;-1:-1:-1;26519:145:129;;;;;:::i;:::-;26596:7;26622:22;;;:9;:22;;;;;:35;;;;26519:145;7566:101:11;;;;;;;;;;-1:-1:-1;7622:4:11;14479:10;;;7566:101;;26337:176:129;;;;;;;;;;-1:-1:-1;26337:176:129;;;;;:::i;:::-;;:::i;18053:226::-;;;;;;;;;;-1:-1:-1;18053:226:129;;;;;:::i;:::-;;:::i;7823:146:11:-;;;;;;;;;;-1:-1:-1;7823:146:11;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;7832:740:129:-;;;;;;;;;;-1:-1:-1;7832:740:129;;;;;:::i;:::-;;:::i;10092:220:11:-;;;;;;:::i;:::-;;:::i;8816:197::-;;;;;;;;;;-1:-1:-1;8816:197:11;;;;;:::i;:::-;;:::i;40110:143:129:-;;;;;;;;;;-1:-1:-1;40110:143:129;;;;;:::i;:::-;;:::i;7096:60::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7096:60:129;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;8973:202::-;9058:4;9081:47;;;9096:32;9081:47;;:87;;-1:-1:-1;952:25:84;937:40;;;;9132:36:129;9074:94;8973:202;-1:-1:-1;;8973:202:129:o;40259:219::-;40342:10;5954:30:11;5976:7;5954:21;:30::i;:::-;40364:17:129::1;:57:::0;;-1:-1:-1;;;;;;40364:57:129::1;-1:-1:-1::0;;;;;40364:57:129;::::1;::::0;;::::1;::::0;;;40436:35:::1;::::0;7602:74:151;;;40436:35:129::1;::::0;7590:2:151;7575:18;40436:35:129::1;;;;;;;;40259:219:::0;;:::o;10705:325:11:-;5660:16;:14;:16::i;:::-;6532:23:::1;:21;:23::i;:::-;10924:42:::2;10936:13;10951:5;10958:7;10924:11;:42::i;:::-;10705:325:::0;;;:::o;39949:155:129:-;40014:10;5954:30:11;5976:7;5954:21;:30::i;:::-;40036:8:129::1;:20:::0;;;40071:26:::1;::::0;7406:25:151;;;40071:26:129::1;::::0;7394:2:151;7379:18;40071:26:129::1;7260:177:151::0;39150:520:129;39220:7;39282:21;;;:9;:21;;;;;39318:19;;:33;;39314:100;;39374:29;;-1:-1:-1;;;39374:29:129;;;;;7406:25:151;;;7379:18;;39374:29:129;;;;;;;;39314:100;39455:36;39428:23;;;;;;:63;;;;;;;;:::i;:::-;;39424:130;;39514:29;;-1:-1:-1;;;39514:29:129;;;;;7406:25:151;;;7379:18;;39514:29:129;7260:177:151;39424:130:129;39564:59;39591:8;39601;:21;;;39564:26;:59::i;:::-;39640:23;;;;39150:520;-1:-1:-1;;39150:520:129:o;13000:81::-;13045:29;13063:10;13045:17;:29::i;:::-;13000:81::o;9429:344:11:-;9584:19;5660:16;:14;:16::i;:::-;6532:23:::1;:21;:23::i;:::-;9683:34:::2;9702:5;9709:7;9683:18;:34::i;:::-;9669:48:::0;9429:344;-1:-1:-1;;;9429:344:11:o;40484:237:129:-;40569:10;5954:30:11;5976:7;5954:21;:30::i;:::-;40622:19:129::1;::::0;40596:67:::1;::::0;;17037:25:151;;;17093:2;17078:18;;17071:34;;;40596:67:129::1;::::0;17010:18:151;40596:67:129::1;;;;;;;-1:-1:-1::0;40673:19:129::1;:41:::0;40484:237::o;14596:681::-;14680:7;14699:23;:21;:23::i;:::-;14778:24;14835:36;14820:11;;;;;;;:51;;;;;;;;:::i;:::-;;:103;;;-1:-1:-1;14890:33:129;14875:11;;;;;;;:48;;;;;;;;:::i;:::-;;14820:103;14816:298;;;-1:-1:-1;14987:16:129;14816:298;;;15054:49;15077:7;15086:16;15054:22;:49::i;:::-;15035:68;;14816:298;15147:16;15123:20;;:40;;;;;;;:::i;:::-;;;;-1:-1:-1;;15178:59:129;;;-1:-1:-1;;;;;17658:55:151;;17640:74;;17745:2;17730:18;;17723:34;;;17773:18;;;17766:34;;;15178:59:129;;17628:2:151;17613:18;15178:59:129;;;;;;;15254:16;14596:681;-1:-1:-1;;;14596:681:129:o;33308:1145::-;33442:7;33465:9;33477:11;33465:23;;33803:17;33823:27;5865:8;33838:3;33829:5;;:12;;33828:18;;;;:::i;:::-;33848:1;33823:4;:27::i;:::-;33803:47;;34443:3;6008:34;34420:5;;5865:8;34416:9;;;;:::i;:::-;34391:19;34401:9;-1:-1:-1;;;34391:19:129;:::i;:::-;34373:14;5865:8;34373:10;:14;:::i;:::-;:38;;;;:::i;:::-;34372:54;;;;:::i;:::-;34346:21;34358:9;34346;:21;:::i;:::-;34345:82;;;;:::i;:::-;34344:94;;;;:::i;:::-;34343:103;;;33308:1145;-1:-1:-1;;;;;;33308:1145:129:o;12395:145:11:-;12481:4;12504:29;12522:10;12504:17;:29::i;35034:1482:129:-;35109:18;35277:1;35263:10;;:15;35259:66;;35301:13;;;;;;;;;;;;;;35259:66;35765:33;35781:16;35765:15;:33::i;:::-;35761:91;;;35821:20;;-1:-1:-1;;;35821:20:129;;;;;;;;;;;35761:91;36074:10;;36000:13;;36044:26;:16;36063:7;36044:26;:::i;:::-;36043:41;;;;:::i;:::-;5865:8;36017;;36028:7;36017:18;;;;:::i;:::-;36016:24;;;;:::i;:::-;:68;;;;:::i;:::-;36000:84;;36237:2;36195:28;37806:20;;;37721:112;36195:28;36185:5;;36181:9;;5865:8;36181:9;:::i;:::-;5865:8;36168:2;36150:13;36158:5;;36150:13;:::i;:::-;36149:21;;5865:8;36136:3;36126:6;;:13;;36125:19;;;;:::i;:::-;36124:47;;;;:::i;:::-;36123:53;;;;:::i;:::-;36122:69;;;;:::i;:::-;36121:102;;;;:::i;:::-;36107:132;;36094:145;;36455:19;;36442:10;:32;:67;;36490:19;;36442:67;;;-1:-1:-1;36477:10:129;36429:80;-1:-1:-1;35034:1482:129:o;13087:128::-;13149:23;:21;:23::i;:::-;13182:26;13200:7;13182:17;:26::i;:::-;13087:128;:::o;39806:137::-;39865:10;5954:30:11;5976:7;5954:21;:30::i;:::-;39887:5:129::1;:14:::0;;;39916:20:::1;::::0;7406:25:151;;;39916:20:129::1;::::0;7394:2:151;7379:18;39916:20:129::1;7260:177:151::0;13578:1012:129;13660:7;13679:23;:21;:23::i;:::-;13717:26;13735:7;13717:17;:26::i;:::-;13712:90;;13766:25;;-1:-1:-1;;;13766:25:129;;;;;;;;;;;13712:90;13811:24;13868:36;13853:11;;;;;;;:51;;;;;;;;:::i;:::-;;13849:441;;13962:14;13939:38;13920:57;;13849:441;;;14013:33;13998:11;;;;;;;:48;;;;;;;;:::i;:::-;;13994:296;;14081:44;14101:7;14110:14;14081:19;:44::i;13994:296::-;14161:36;14146:11;;;;;;;:51;;;;;;;;:::i;:::-;;14142:148;;14232:47;14255:7;14264:14;14232:22;:47::i;:::-;14213:66;;14142:148;14318:17;;:69;;-1:-1:-1;;;14318:69:129;;-1:-1:-1;;;;;18835:15:151;;;14318:69:129;;;18817:34:151;14381:4:129;18867:18:151;;;18860:43;14299:16:129;;14318:17;;:45;;18729:18:151;;14318:69:129;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14299:88;;14401:11;14397:82;;;14452:16;14428:20;;:40;;;;;;;:::i;:::-;;;;-1:-1:-1;;14397:82:129;14493:57;;;-1:-1:-1;;;;;17658:55:151;;17640:74;;17745:2;17730:18;;17723:34;;;17773:18;;;17766:34;;;14493:57:129;;17628:2:151;17613:18;14493:57:129;;;;;;;-1:-1:-1;14567:16:129;13578:1012;-1:-1:-1;;;13578:1012:129:o;12643:351::-;12705:10;12730:25;12705:10;12730:17;:25::i;:::-;12725:89;;12778:25;;-1:-1:-1;;;12778:25:129;;;;;;;;;;;12725:89;12823:17;;:65;;;;;-1:-1:-1;;;;;18835:15:151;;;12823:65:129;;;18817:34:151;12882:4:129;18867:18:151;;;18860:43;12823:17:129;;;;:42;;18729:18:151;;12823:65:129;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;12922:17:129;;:65;;-1:-1:-1;;;12922:65:129;;-1:-1:-1;;;;;18835:15:151;;;12922:65:129;;;18817:34:151;12981:4:129;18867:18:151;;;18860:43;12922:17:129;;;;-1:-1:-1;12922:42:129;;-1:-1:-1;18729:18:151;;12922:65:129;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12898:20;;:89;;;;;;;:::i;:::-;;;;-1:-1:-1;;;12643:351:129:o;21047:735::-;21116:18;21189:21;;;:9;:21;;;;;21399;;;;21116:18;;;;21355:66;;21189:21;;21355:33;:66::i;:::-;21295:126;;;;21436:14;21454:1;21436:19;:39;;;;-1:-1:-1;21459:16:129;;21436:39;21432:110;;;21508:8;:23;;;21491:40;;21432:110;21551:17;21571:44;21590:8;:24;;;21571:18;:44::i;:::-;21748:27;;;;;21047:735;-1:-1:-1;;;;;21047:735:129:o;7303:57::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;39676:124::-;39739:7;39786:5;;5865:8;39782:9;;;;:::i;:::-;39767:10;5865:8;39767:6;:10;:::i;:::-;39766:26;;;;:::i;25938:198::-;-1:-1:-1;;;;;;;;;;;;;;;;;26030:40:129;26073:9;:22;26083:11;26073:22;;;;;;;;;;;26030:65;;26112:8;:17;;26105:24;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;25938:198;;;:::o;40727:170::-;7462:17;;;;;;;;;-1:-1:-1;;;;;7462:17:129;-1:-1:-1;;;;;7462:29:129;;:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;7440:54:129;:10;:54;7436:141;;40808:32:::1;40827:12;40808:18;:32::i;:::-;40850:11;:40:::0;;-1:-1:-1;;;;;40850:40:129;::::1;-1:-1:-1::0;;;;;;40850:40:129;;::::1;;::::0;;13087:128;:::o;7436:141::-;7549:17;;;;;;;;;;;;;;22421:288;22507:22;22591:16;;-1:-1:-1;;;22591:16:129;;;;;;;;;;;23404:86;23460:23;23475:7;23460:14;:23::i;24894:1038::-;24996:17;25027:19;25060:22;25096:23;25133:20;25167:44;25225:17;25256:22;25292:17;25323:25;25373:40;25416:9;:22;25426:11;25416:22;;;;;;;;;;;25373:65;;25461:8;:24;;;25489:1;25461:29;:80;;25497:44;25516:8;:24;;;25497:18;:44::i;:::-;25461:80;;;25493:1;25461:80;25449:92;;25572:8;:18;;;;;;;;;;-1:-1:-1;;;;;25572:18:129;25604:8;:20;;;;;;;;;;-1:-1:-1;;;;;25604:20:129;25638:8;:23;;;;;;;;;;-1:-1:-1;;;;;25638:23:129;25675:8;:24;;;25713:8;:21;;;25748:8;:23;;;;;;;;;;;;25785:8;:18;;;25817:8;:23;;;25854:9;25877:8;:26;;:38;25904:10;-1:-1:-1;;;;;25877:38:129;-1:-1:-1;;;;;25877:38:129;;;;;;;;;;;;;25551:374;;;;;;;;;;;;;;;;;;;;;24894:1038;;;;;;;;;;;:::o;26337:176::-;26428:7;26993:22;;;:9;:22;;;;;;;;-1:-1:-1;;;;;26993:48:129;;;;:40;;:48;;;;;;26454:52;26866:182;18053:226;18196:16;;-1:-1:-1;;;18196:16:129;;;;;;;;;;;7823:146:11;7904:6;7929:33;7949:12;7929:19;:33::i;7832:740:129:-;7908:28;7928:7;7908:19;:28::i;:::-;7946:41;8001:5;7990:52;;;;;;;;;;;;:::i;:::-;8057:20;;7946:96;;-1:-1:-1;;;;;;8057:34:129;8053:94;;8114:22;;-1:-1:-1;;;8114:22:129;;;;;;;;;;;8053:94;8195:20;;8157:17;:59;;-1:-1:-1;;;;;;8157:59:129;-1:-1:-1;;;;;8157:59:129;;;;;;;;;8234:8;;;;8226:5;:16;8263:11;;;;8252:8;:22;8293:9;;;;8284:6;:18;8327:15;;;;8312:12;:30;;-1:-1:-1;;8312:30:129;-1:-1:-1;8327:15:129;8312:30;;;;;;;;:::i;:::-;;;;;-1:-1:-1;8366:14:129;;;;8352:11;:28;;-1:-1:-1;;8352:28:129;;8366:14;8352:28;;;;;;;;:::i;:::-;;;;;-1:-1:-1;8404:14:129;;;;8390:28;:11;:28;8450:21;;;;8428:19;:43;8508:14;;;;8481:11;:42;;-1:-1:-1;;;;;;8481:42:129;-1:-1:-1;;;;;8481:42:129;;;;;;;;;8539:26;;;;;;8553:7;;8404:14;;8539:26;:::i;:::-;;;;;;;;7898:674;7832:740;;:::o;10092:220:11:-;5660:16;:14;:16::i;:::-;6532:23:::1;:21;:23::i;:::-;10240:25:::2;10250:5;10257:7;10240:9;:25::i;:::-;10092:220:::0;;:::o;8816:197::-;5660:16;:14;:16::i;:::-;8956:7:::1;8942:10;;:21;;;;;;;:::i;:::-;::::0;;;-1:-1:-1;8973:33:11::1;::::0;-1:-1:-1;8998:7:11;8973:24:::1;:33::i;40110:143:129:-:0;40171:10;5954:30:11;5976:7;5954:21;:30::i;:::-;40193:6:129::1;:16:::0;;;40224:22:::1;::::0;7406:25:151;;;40224:22:129::1;::::0;7394:2:151;7379:18;40224:22:129::1;7260:177:151::0;13122:142:11;13218:6;;13199:35;;;;;;;;22767:25:151;;;;-1:-1:-1;;;;;22828:55:151;;;22808:18;;;22801:83;13199:4:11;:18;;;;22740::151;;13199:35:11;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13194:63;;13243:14;;-1:-1:-1;;;13243:14:11;;;;;;;;;;;12814:111;12868:10;-1:-1:-1;;;;;12890:4:11;12868:27;;12864:54;;12904:14;;-1:-1:-1;;;12904:14:11;;;;;;;;;;;13771:105;13832:6;;13842:1;13832:11;13828:41;;13852:17;;;;;;;;;;;;;;19285:1756:129;19480:1;19464:5;:12;:17;19460:76;;19504:21;;;;;;;;;;;;;;19460:76;19546:18;19578:5;19567:28;;;;;;;;;;;;:::i;:::-;19546:49;;19610:10;19624:1;19610:15;19606:77;;19648:24;;;;;;;;;;;;;;19606:77;19692:40;19735:21;;;:9;:21;;;;;19787:35;19771:12;;;;:51;;;;;;;;:::i;:::-;;19767:1208;;19842:19;;:33;;19838:108;;19902:29;;-1:-1:-1;;;19902:29:129;;;;;7406:25:151;;;7379:18;;19902:29:129;7260:177:151;19838:108:129;19991:10;;19964:8;:24;;;:37;19960:152;;;20060:24;;;;20086:10;;20028:69;;;;;;;;23097:25:151;;;23138:18;;;23131:34;;;;23181:18;;;23174:34;23070:18;;20028:69:129;22895:319:151;19960:152:129;20157:36;20130:23;;;;;;:63;;;;;;;;:::i;:::-;;20126:138;;20220:29;;-1:-1:-1;;;20220:29:129;;;;;7406:25:151;;;7379:18;;20220:29:129;7260:177:151;20126:138:129;20278:22;20303:36;20328:10;20303:24;:36::i;:::-;20278:61;;20353:17;20373:44;20392:8;:24;;;20373:18;:44::i;:::-;20353:64;;20453:9;20436:14;:26;:58;;;;;20493:1;20466:8;:24;;;:28;20436:58;20432:137;;;20521:33;;;;;;;;;;;;;;20432:137;20621:6;;20608:20;;;;;20583:22;;-1:-1:-1;;;;;20608:4:129;:12;;;;:20;;;;7406:25:151;;;7394:2;7379:18;;7260:177;20608:20:129;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;20608:20:129;;;;;;;;;;;;:::i;:::-;20583:45;;20657:8;:24;;;20643:10;;:38;;;;;;;:::i;:::-;;;;-1:-1:-1;;20719:10:129;;;;20731:20;;;;;20753:24;;;20703:75;;20719:10;-1:-1:-1;;;;;20731:20:129;;20703:15;:75::i;:::-;20809:23;;;:64;;-1:-1:-1;;20809:64:129;20835:38;20809:64;;;;;;20917:20;;;20809:64;20939:24;;;20893:71;;;25185:25:151;;;-1:-1:-1;;;;;20917:20:129;;;25241:2:151;25226:18;;25219:83;25318:18;;25311:34;20893:71:129;;25173:2:151;25158:18;20893:71:129;;;;;;;19824:1151;;;19767:1208;19371:1670;;19285:1756;;;:::o;38023:396::-;38142:18;38162:19;38185:56;38219:9;38230:10;38185:33;:56::i;:::-;38141:100;;;;38255:10;38269:1;38255:15;:35;;;;-1:-1:-1;38274:16:129;;38255:35;38251:72;;;38306:7;;38023:396;;:::o;38251:72::-;38332:19;;;:33;38375:24;;;;:37;;;;-1:-1:-1;38023:396:129:o;13221:351::-;13308:17;;:66;;-1:-1:-1;;;13308:66:129;;-1:-1:-1;;;;;18835:15:151;;;13308:66:129;;;18817:34:151;13368:4:129;18867:18:151;;;18860:43;13308:17:129;;;;:42;;18729:18:151;;13308:66:129;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13284:20;;:90;;;;;;;:::i;:::-;;;;-1:-1:-1;;13384:17:129;;:68;;;;;-1:-1:-1;;;;;18835:15:151;;;13384:68:129;;;18817:34:151;13446:4:129;18867:18:151;;;18860:43;13384:17:129;;;;:44;;18729:18:151;;13384:68:129;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13507:17;13516:7;13507:8;:17::i;:::-;13539:26;;-1:-1:-1;;;;;7620:55:151;;7602:74;;13539:26:129;;7590:2:151;7575:18;13539:26:129;;;;;;;;13221:351;:::o;10592:2045::-;10684:7;10708:26;10726:7;10708:17;:26::i;:::-;10703:90;;10757:25;;-1:-1:-1;;;10757:25:129;;;;;;;;;;;10703:90;10862:45;10921:5;10910:50;;;;;;;;;;;;:::i;:::-;11075:15;;10862:98;;-1:-1:-1;11075:15:129;:20;11071:78;;11118:20;;;;;;;;;;;;;;11071:78;11241:35;11225:12;;;;:51;;;;;;;;:::i;:::-;;11221:722;;11292:40;11311:8;:20;;;11292:18;:40::i;:::-;11398:23;;;;-1:-1:-1;;;;;11398:37:129;11394:102;;11462:19;;;;;;;;;;;;;;11394:102;11509:17;11529:4;-1:-1:-1;;;;;11529:12:129;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;11529:22:129;;11552:6;;11529:30;;;;;;;;;;;;;7406:25:151;;7394:2;7379:18;;7260:177;11529:30:129;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;11529:30:129;;;;;;;;;;;;:::i;:::-;:36;;;11509:56;;11610:9;-1:-1:-1;;;;;11583:36:129;:8;:23;;;-1:-1:-1;;;;;11583:36:129;;11579:234;;11781:17;;;;;;;;;;;;;;11579:234;11830:41;11846:8;:24;;;11830:15;:41::i;:::-;11826:107;;;11898:20;;-1:-1:-1;;;11898:20:129;;;;;;;;;;;11826:107;11278:665;11221:722;11952:18;11975:15;;11973:17;;;;;:::i;:::-;;;;;-1:-1:-1;12000:33:129;12036:21;;;:9;:21;;;;;;;;12068:25;;;12103:11;;;:21;;-1:-1:-1;;;;;12103:21:129;;;-1:-1:-1;;;;;;12103:21:129;;;;;;;12150:20;;;;12134:13;;;:36;;;;;;;;;;;;;;12199:23;;;;12180:16;;;:42;;;;;;;;;;;12252:24;;;;-1:-1:-1;12232:17:129;;;:44;;;;12337:16;;;:55;;-1:-1:-1;;12337:55:129;;;;;;12416:12;12402:11;;;:26;-1:-1:-1;12438:16:129;;:20;;;;12517:17;;;;12504:30;;:10;;;:30;;;;;;;11973:17;;-1:-1:-1;12036:21:129;;12504:30;;;;;;;;:::i;:::-;-1:-1:-1;;12566:6:129;;12550:35;;;17037:25:151;;;17093:2;17078:18;;17071:34;;;12550:35:129;;-1:-1:-1;17010:18:151;12550:35:129;;;;;;;-1:-1:-1;12618:10:129;10592:2045;-1:-1:-1;;;;10592:2045:129:o;9729:162::-;9811:17;;-1:-1:-1;;;;;9811:17:129;9789:10;:40;9785:100;;9852:22;;;;;;;;;;;;;;16914:802;17079:17;;:31;;;-1:-1:-1;;;17079:31:129;;;;17012:7;;17049:2;;-1:-1:-1;;;;;17079:17:129;;;;:29;;:31;;;;;;;;;;;;;;;:17;:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;17065:56:129;;:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;17065:58:129;;;;;;;;-1:-1:-1;;17065:58:129;;;;;;;;;;;;:::i;:::-;;;17061:208;;17222:36;;;;;;;;;;;;;;;;;;:11;:36::i;:::-;17061:208;;;17173:17;;;-1:-1:-1;17061:208:129;17278:49;;;;;;;;;;;;;;;;;;17310:16;17278:11;:49::i;:::-;17361:17;;:48;;-1:-1:-1;;;17361:48:129;;-1:-1:-1;;;;;7620:55:151;;;17361:48:129;;;7602:74:151;17337:21:129;;17412:16;;17361:17;;;:39;;7575:18:151;;17361:48:129;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:67;;;;:::i;:::-;17337:91;;17438:43;;;;;;;;;;;;;;;;;;17467:13;17438:11;:43::i;:::-;17491:22;17516:40;17542:13;17548:7;17542:2;:13;:::i;:::-;17526:29;;:13;:29;:::i;:::-;17516:9;:40::i;:::-;17593:17;;:66;;-1:-1:-1;;;17593:66:129;;-1:-1:-1;;;;;18835:15:151;;;17593:66:129;;;18817:34:151;17653:4:129;18867:18:151;;;18860:43;17491:65:129;;-1:-1:-1;17566:24:129;;17491:65;;17593:17;;:42;;18729:18:151;;17593:66:129;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:83;;;;:::i;:::-;17566:110;16914:802;-1:-1:-1;;;;;;;16914:802:129:o;37268:447::-;37329:15;-1:-1:-1;;;37364:2:129;:12;37356:53;;;;-1:-1:-1;;;37356:53:129;;31087:2:151;37356:53:129;;;31069:21:151;31126:2;31106:18;;;31099:30;31165;31145:18;;;31138:58;31213:18;;37356:53:129;30885:352:151;37356:53:129;-1:-1:-1;;;;37431:2:129;37455;37494:215;37501:5;;37494:215;;37526:1;37530;37526:5;37535:1;37526:10;37522:177;;37560:10;37565:1;37568;37560:4;:10::i;:::-;37556:14;-1:-1:-1;37594:1:129;37588:7;37494:215;;37522:177;37644:16;37649:7;37658:1;37644:4;:16::i;:::-;37634:26;-1:-1:-1;37678:6:129;37683:1;37678:6;;:::i;:::-;;;37494:215;;;37346:369;;37268:447;;;;:::o;23207:191::-;23286:4;-1:-1:-1;;;;;23352:24:129;;;:39;;23387:4;23352:39;;;23379:5;23345:46;23207:191;-1:-1:-1;;23207:191:129:o;27396:174::-;27470:19;27543:20;5865:8;27543:16;:20;:::i;:::-;27529:10;;27518:8;;:21;;;;:::i;:::-;:45;;;27396:174;-1:-1:-1;;27396:174:129:o;10036:230::-;10129:11;;10101:4;;-1:-1:-1;;;;;10129:11:129;10117:76;;-1:-1:-1;10178:4:129;;10036:230;-1:-1:-1;10036:230:129:o;10117:76::-;10209:11;;:50;;;;;-1:-1:-1;;;;;18835:15:151;;;10209:50:129;;;18817:34:151;10253:4:129;18867:18:151;;;18860:43;10209:11:129;;;;:28;;18729:18:151;;10209:50:129;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;15415:615::-;15508:7;15527:24;15554:14;15527:41;;15578:51;;;;;;;;;;;;;;;;;;15612:16;15578:11;:51::i;:::-;15661:17;;:66;;-1:-1:-1;;;15661:66:129;;-1:-1:-1;;;;;18835:15:151;;;15661:66:129;;;18817:34:151;15721:4:129;18867:18:151;;;18860:43;15639:19:129;;15661:17;;:42;;18729:18:151;;15661:66:129;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;15639:88;;15737:39;;;;;;;;;;;;;;;;;;15764:11;15737;:39::i;:::-;15823:11;:21;15790:30;15804:16;15790:11;:30;:::i;:::-;:54;15786:139;;;15879:11;:21;:35;;15903:11;;15879:35;:::i;:::-;15860:54;;15786:139;15934:55;;;;;;;;;;;;;;;;;;15972:16;15934:11;:55::i;:::-;-1:-1:-1;16007:16:129;15415:615;-1:-1:-1;;;15415:615:129:o;16036:730::-;16172:17;;:48;;-1:-1:-1;;;16172:48:129;;-1:-1:-1;;;;;7620:55:151;;;16172:48:129;;;7602:74:151;16132:7:129;;;;16223:14;;16172:17;;;;:39;;7575:18:151;;16172:48:129;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:65;;;;:::i;:::-;16296:17;;:31;;;-1:-1:-1;;;16296:31:129;;;;16151:86;;-1:-1:-1;16266:2:129;;-1:-1:-1;;;;;16296:17:129;;;;:29;;:31;;;;;;;;;;;;;;;:17;:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;16282:56:129;;:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;16282:58:129;;;;;;;;-1:-1:-1;;16282:58:129;;;;;;;;;;;;:::i;:::-;;;16278:208;;16439:36;;;;;;;;;;;;;;;;;;:11;:36::i;:::-;16278:208;;;16390:17;;;-1:-1:-1;16278:208:129;16495:22;16520:37;16543:13;16549:7;16543:2;:13;:::i;:::-;16530:26;;:10;:26;:::i;16520:37::-;16591:17;;:66;;-1:-1:-1;;;16591:66:129;;-1:-1:-1;;;;;18835:15:151;;;16591:66:129;;;18817:34:151;16651:4:129;18867:18:151;;;18860:43;16495:62:129;;-1:-1:-1;16567:21:129;;16591:17;;;;:42;;18729:18:151;;16591:66:129;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;16567:90;-1:-1:-1;16668:24:129;16695:30;16567:90;16695:14;:30;:::i;:::-;16668:57;16036:730;-1:-1:-1;;;;;;;;16036:730:129:o;38425:719::-;38578:18;38598:19;38647:12;38633:26;;38699:11;38676:9;:19;;;:34;;38669:42;;;;:::i;:::-;38748:11;38725:9;:19;;;:34;38721:173;;-1:-1:-1;38849:1:129;;-1:-1:-1;38849:1:129;38841:13;;38721:173;38960:177;39007:9;:19;;;38993:11;:33;;;;:::i;:::-;39079:9;:24;;;39117:10;38960:19;:177::i;:::-;38947:190;;38425:719;;;;;;:::o;9897:133::-;-1:-1:-1;;;;;9971:22:129;;9967:56;;10002:21;;;;;;;;;;;;;;14116:118:11;14173:10;:20;;-1:-1:-1;;14173:20:11;;;;;;;;;;14208:19;;2998:41:151;;;14208:19:11;;2986:2:151;2971:18;14208:19:11;2858:187:151;22072:220:129;22155:6;-1:-1:-1;;;;;22223:26:129;;;:62;;22270:15;22223:62;;;22252:15;22216:69;22072:220;-1:-1:-1;;22072:220:129:o;8269:350:11:-;5660:16;:14;:16::i;:::-;8428:6:::1;::::0;:11;8424:45:::1;;8448:21;;;;;;;;;;;;;;8424:45;8556:7;8567:1;8556:12:::0;8552:34:::1;;8577:9;;;;;;;;;;;;;;8552:34;8596:6;:16:::0;8269:350::o;18425:604:129:-;18509:28;18529:7;18509:19;:28::i;:::-;18552:26;18570:7;18552:17;:26::i;:::-;18547:90;;18601:25;;-1:-1:-1;;;18601:25:129;;;;;;;;;;;18547:90;18677:17;;:69;;-1:-1:-1;;;18677:69:129;;-1:-1:-1;;;;;18835:15:151;;;18677:69:129;;;18817:34:151;18740:4:129;18867:18:151;;;18860:43;18646:28:129;;18677:17;;:45;;18729:18:151;;18677:69:129;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;18646:100;;18761:23;18756:78;;18807:16;;;;;;;;;;;;;;18756:78;18843:42;18899:5;18888:53;;;;;;;;;;;;:::i;:::-;18843:98;;18951:37;18976:7;18985:2;18951:24;:37::i;:::-;18998:24;19010:7;19019:2;18998:11;:24::i;:::-;18499:530;;18425:604;;:::o;22985:127::-;23077:28;;7406:25:151;;;23077:28:129;;7394:2:151;7379:18;23077:28:129;7260:177:151;6721:269:10;6815:16;-1:-1:-1;;;;;6815:16:10;;;6811:173;;6847:45;6879:3;6884:7;6847:31;:45::i;6811:173::-;6923:50;6952:6;6960:3;6965:7;6923:28;:50::i;23496:836:129:-;-1:-1:-1;;;;;23630:29:129;;23598;23630;;;:20;:29;;;;;;;;23598:61;;;;;;;;;;;;;;;;;;;23630:29;;23598:61;;;23630:29;23598:61;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23674:9;23669:657;23693:12;:19;23689:1;:23;23669:657;;;23733:18;23754:12;23767:1;23754:15;;;;;;;;:::i;:::-;;;;;;;23733:36;;23783:40;23826:9;:21;23836:10;23826:21;;;;;;;;;;;23783:64;;23865:26;23880:10;23865:14;:26::i;:::-;23861:455;;;-1:-1:-1;;;;;23934:35:129;;23911:20;23934:35;;;:26;;;:35;;;;;;;23987:39;;;;24044:21;;;:37;;23934:35;;;;24044:37;;23934:35;;24044:37;:::i;:::-;;;;;;;;24114:12;24099:11;;:27;;;;;;;:::i;:::-;;;;-1:-1:-1;24144:50:129;;-1:-1:-1;24171:8:129;24181:12;24144:26;:50::i;:::-;24254:21;;;;24277:23;;;;24217:84;;;-1:-1:-1;;;;;33095:55:151;;33077:74;;33182:2;33167:18;;33160:34;;;-1:-1:-1;33210:18:151;;;33203:34;33268:2;33253:18;;33246:34;;;;33311:3;33296:19;;33289:35;;;;24217:84:129;;;;;;33064:3:151;24217:84:129;;;23893:423;23861:455;23719:607;;23714:3;;;;;:::i;:::-;;;;23669:657;;5630:121:35;5685:59;5740:2;5701:42;;;;;;;;:::i;:::-;;;;-1:-1:-1;;5701:42:35;;;;;;;;;;;;;;;;;;;;5685:15;:59::i;6548:139::-;6612:68;6672:2;6676;6628:51;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;6628:51:35;;;;;;;;;;;;;;;;;;;;6612:15;:68::i;6530:1642:87:-;6578:7;6601:1;6606;6601:6;6597:45;;-1:-1:-1;6630:1:87;;6530:1642;-1:-1:-1;6530:1642:87:o;6597:45::-;7321:14;7355:1;7344:7;7349:1;7344:4;:7::i;:::-;:12;;7338:1;:19;;7321:36;;7816:1;7805:6;7801:1;:10;;;;;:::i;:::-;;7792:6;:19;7791:26;;7782:35;;7865:1;7854:6;7850:1;:10;;;;;:::i;:::-;;7841:6;:19;7840:26;;7831:35;;7914:1;7903:6;7899:1;:10;;;;;:::i;:::-;;7890:6;:19;7889:26;;7880:35;;7963:1;7952:6;7948:1;:10;;;;;:::i;:::-;;7939:6;:19;7938:26;;7929:35;;8012:1;8001:6;7997:1;:10;;;;;:::i;:::-;;7988:6;:19;7987:26;;7978:35;;8061:1;8050:6;8046:1;:10;;;;;:::i;:::-;;8037:6;:19;8036:26;;8027:35;;8110:1;8099:6;8095:1;:10;;;;;:::i;:::-;;8086:6;:19;8085:26;;8076:35;;8132:23;8136:6;8148;8144:1;:10;;;;;:::i;:::-;;8132:3;:23::i;36777:269:129:-;36838:15;-1:-1:-1;;;36873:2:129;:13;;36865:66;;;;-1:-1:-1;;;36865:66:129;;34058:2:151;36865:66:129;;;34040:21:151;34097:2;34077:18;;;34070:30;34136:34;34116:18;;;34109:62;34207:10;34187:18;;;34180:38;34235:19;;36865:66:129;33856:404:151;36865:66:129;-1:-1:-1;;;36949:2:129;:12;36941:53;;;;-1:-1:-1;;;36941:53:129;;34467:2:151;36941:53:129;;;34449:21:151;34506:2;34486:18;;;34479:30;34545;34525:18;;;34518:58;34593:18;;36941:53:129;34265:352:151;36941:53:129;37036:3;6008:34;37013:7;37018:2;37013;:7;:::i;:::-;37012:19;;;;:::i;:::-;37011:28;;;36777:269;-1:-1:-1;;;36777:269:129:o;9346:377::-;-1:-1:-1;;;;;9419:21:129;;9415:77;;9463:18;;;;;;;;;;;;;;9415:77;9513:17;;-1:-1:-1;;;;;9513:17:129;9501:100;;9568:22;;-1:-1:-1;;;9568:22:129;;;;;;;;;;;9501:100;9615:17;;:35;;;;;-1:-1:-1;;;;;7620:55:151;;;9615:35:129;;;7602:74:151;9615:17:129;;;;:26;;7575:18:151;;9615:35:129;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9610:93;;9673:19;;;;;;;;;;;;;;27576:1548;27716:22;27757:9;27752:630;27776:16;:23;27772:1;:27;27752:630;;;27879:16;27896:1;27879:19;;;;;;;;:::i;:::-;;;;;;;:30;;;27913:1;27879:35;27875:187;28039:8;27875:187;28075:18;28096:16;28113:1;28096:19;;;;;;;;:::i;:::-;;;;;;;:30;;;28075:51;;28145:26;28160:10;28145:14;:26::i;:::-;28140:167;;28198:29;;-1:-1:-1;;;28198:29:129;;;;;7406:25:151;;;7379:18;;28198:29:129;7260:177:151;28140:167:129;28339:16;28356:1;28339:19;;;;;;;;:::i;:::-;;;;;;;:32;;;28320:51;;;;;:::i;:::-;;;27806:576;27752:630;27801:3;;;;:::i;:::-;;;;27752:630;;;-1:-1:-1;;;;;;26827:26:129;;28478:29;26827:26;;;:18;:26;;;;;;28510:60;;28554:15;28510:11;:60::i;:::-;28681:17;;:66;;-1:-1:-1;;;28681:66:129;;-1:-1:-1;;;;;18835:15:151;;;28681:66:129;;;18817:34:151;28741:4:129;18867:18:151;;;18860:43;28478:92:129;;-1:-1:-1;28652:26:129;;28681:17;;;;:42;;18729:18:151;;28681:66:129;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;28652:95;;28937:18;28913:21;:42;28909:147;;;28978:67;;;;;;;;17037:25:151;;;17078:18;;;17071:34;;;17010:18;;28978:67:129;16863:248:151;28909:147:129;-1:-1:-1;;;;;;29066:27:129;;;;;;;:18;:27;;;;;:51;;;;-1:-1:-1;;27576:1548:129:o;29130:3479::-;29245:29;29289:9;29284:3319;29308:16;:23;29304:1;:27;29284:3319;;;29352:18;29373:16;29390:1;29373:19;;;;;;;;:::i;:::-;;;;;;;:30;;;29352:51;;29476:12;:19;29499:1;29476:24;29472:920;;29535:16;;;29549:1;29535:16;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;29535:16:129;29520:31;;29587:10;29569:12;29582:1;29569:15;;;;;;;;:::i;:::-;;;;;;:28;;;;;29472:920;;;29646:10;29687:9;29682:318;29706:12;:19;29702:1;:23;29682:318;;;29802:10;29783:12;29796:1;29783:15;;;;;;;;:::i;:::-;;;;;;;:29;29779:203;;29885:40;;;;;;;;17037:25:151;;;17078:18;;;17071:34;;;29848:4:129;;-1:-1:-1;17010:18:151;;29885:40:129;16863:248:151;29779:203:129;29727:3;;;;:::i;:::-;;;;29682:318;;;;30022:5;30017:361;;30051:21;30089:12;:19;30111:1;30089:23;;;;:::i;:::-;30075:38;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;30075:38:129;;30051:62;;30140:9;30135:124;30159:12;:19;30155:1;:23;30135:124;;;30221:12;30234:1;30221:15;;;;;;;;:::i;:::-;;;;;;;30211:4;30216:1;30211:7;;;;;;;;:::i;:::-;;;;;;;;;;:25;30180:3;;;;:::i;:::-;;;;30135:124;;;;30308:10;30280:4;30285:12;:19;30280:25;;;;;;;;:::i;:::-;;;;;;;;;;:38;30355:4;-1:-1:-1;30017:361:129;29628:764;29472:920;30405:12;30420:16;30437:1;30420:19;;;;;;;;:::i;:::-;;;;;;;;;;;;:32;;;30467:40;30510:21;;;:9;:21;;;;;;-1:-1:-1;;;;;30664:35:129;;;;:26;;;:35;;;;;;30420:32;;-1:-1:-1;30887:40:129;30664:35;30420:32;30887:11;:40::i;:::-;-1:-1:-1;;;;;31062:35:129;;;;;;:26;;;:35;;;;;:50;;;30864:63;;-1:-1:-1;31062:35:129;31384:246;-1:-1:-1;;;;;31408:29:129;;;;;;:20;:29;;;;;:36;31404:40;;31384:246;;;31509:19;;-1:-1:-1;;;;;31473:29:129;;31509:19;31473:29;;;:20;:29;;;;;:32;;31503:1;;31473:32;;;;;;:::i;:::-;;;;;;;;;:55;31469:147;;31566:4;31552:18;;31592:5;;31469:147;31446:3;;;;:::i;:::-;;;;31384:246;;;;31648:11;31643:106;;-1:-1:-1;;;;;31679:29:129;;;;;;:20;:29;;;;;;;31714:19;;31679:55;;;;;;;;;;;;;;;;;;31643:106;31928:12;31904:20;:36;31900:370;;31975:35;31990:20;31975:12;:35;:::i;:::-;31960:11;;:50;;;;;;;:::i;:::-;;;;-1:-1:-1;32053:35:129;;-1:-1:-1;32068:20:129;32053:12;:35;:::i;:::-;32028:8;:21;;;:60;;;;;;;:::i;:::-;;;;-1:-1:-1;31900:370:129;;-1:-1:-1;31900:370:129;;32142:35;32165:12;32142:20;:35;:::i;:::-;32127:11;;:50;;;;;;;:::i;:::-;;;;-1:-1:-1;32220:35:129;;-1:-1:-1;32243:12:129;32220:20;:35;:::i;:::-;32195:8;:21;;;:60;;;;;;;:::i;:::-;;;;-1:-1:-1;;31900:370:129;32287:8;:18;;;32309:1;32287:23;32283:310;;32351:12;32330:18;;;:33;32283:310;;;32402:58;32429:8;32439:20;32402:26;:58::i;:::-;32531:21;;;;32554:23;;;;32483:95;;;-1:-1:-1;;;;;33095:55:151;;33077:74;;33182:2;33167:18;;33160:34;;;33210:18;;;33203:34;;;33268:2;33253:18;;33246:34;;;;33311:3;33296:19;;33289:35;32483:95:129;;33064:3:151;33049:19;32483:95:129;;;;;;;32283:310;29338:3265;;;;;;29333:3;;;;;:::i;:::-;;;;29284:3319;;2455:490:14;2711:4;2705;2699;2693;2685:6;2681:2;2674:5;2669:47;2659:270;;2822:10;2816:4;2809:24;2910:4;2904;2897:18;11454:1189;11617:2;11611:4;11604:16;11674:6;11668:4;11661:20;11814:34;11808:4;11801:48;12272:4;12266;12260;12254;12251:1;12244:5;12237;12232:45;12192:16;12185:24;12181:1;12174:4;12168:11;12165:18;12162:48;11890:405;11863:655;;12411:10;12405:4;12398:24;12499:4;12493;12486:18;11863:655;12625:1;12619:4;12612:15;11454:1189;;;:::o;27205:185:129:-;27273:4;27296:22;;;:9;:22;;;;;:33;:37;;;;:87;;-1:-1:-1;;27381:1:129;27337:22;;;:9;:22;;;;;:32;;;-1:-1:-1;;;;;27337:32:129;:46;;;27205:185::o;181:376:35:-;275:14;;131:42;448:2;435:16;;251:21;;275:14;435:16;131:42;484:5;473:68;464:77;;401:150;;181:376;:::o;8633:983:87:-;8685:7;;8769:3;8760:12;;;:16;8756:99;;8806:3;8796:13;;;;8827;8756:99;8881:2;8872:11;;;:15;8868:96;;8917:2;8907:12;;;;8937;8868:96;8990:2;8981:11;;;:15;8977:96;;9026:2;9016:12;;;;9046;8977:96;9099:2;9090:11;;;:15;9086:96;;9135:2;9125:12;;;;9155;9086:96;9208:1;9199:10;;;:14;9195:93;;9243:1;9233:11;;;;9262;9195:93;9314:1;9305:10;;;:14;9301:93;;9349:1;9339:11;;;;9368;9301:93;9420:1;9411:10;;;:14;9407:93;;9455:1;9445:11;;;;9474;9407:93;9526:1;9517:10;;;:14;9513:64;;9561:1;9551:11;9603:6;8633:983;-1:-1:-1;;8633:983:87:o;588:104::-;646:7;676:1;672;:5;:13;;684:1;672:13;;;-1:-1:-1;680:1:87;;588:104;-1:-1:-1;588:104:87:o;32615:276:129:-;32692:7;;32727:25;32746:6;32734:8;32727:25;:::i;:::-;32711:41;;32776:1;32767:6;:10;32763:90;;;32800:42;;;;;;;;23097:25:151;;;23138:18;;;23131:34;;;23181:18;;;23174:34;;;23070:18;;32800:42:129;22895:319:151;14:180;73:6;126:2;114:9;105:7;101:23;97:32;94:52;;;142:1;139;132:12;94:52;-1:-1:-1;165:23:151;;14:180;-1:-1:-1;14:180:151:o;331:184::-;-1:-1:-1;;;380:1:151;373:88;480:4;477:1;470:15;504:4;501:1;494:15;520:145;606:1;599:5;596:12;586:46;;612:18;;:::i;:::-;641;;520:145::o;670:250::-;755:1;765:113;779:6;776:1;773:13;765:113;;;855:11;;;849:18;836:11;;;829:39;801:2;794:10;765:113;;;-1:-1:-1;;912:1:151;894:16;;887:27;670:250::o;925:271::-;967:3;1005:5;999:12;1032:6;1027:3;1020:19;1048:76;1117:6;1110:4;1105:3;1101:14;1094:4;1087:5;1083:16;1048:76;:::i;:::-;1178:2;1157:15;-1:-1:-1;;1153:29:151;1144:39;;;;1185:4;1140:50;;925:271;-1:-1:-1;;925:271:151:o;1201:252::-;1288:5;1282:12;1277:3;1270:25;1252:3;1341:4;1334:5;1330:16;1324:23;1379:4;1372;1367:3;1363:14;1356:28;1400:47;1441:4;1436:3;1432:14;1418:12;1400:47;:::i;:::-;1393:54;1201:252;-1:-1:-1;;;;1201:252:151:o;1458:1058::-;1872:4;1901:3;1931:6;1920:9;1913:25;1974:6;1969:2;1958:9;1954:18;1947:34;2017:6;2012:2;2001:9;1997:18;1990:34;2060:6;2055:2;2044:9;2040:18;2033:34;-1:-1:-1;;;;;2177:2:151;2169:6;2165:15;2159:3;2148:9;2144:19;2137:44;2230:2;2222:6;2218:15;2212:3;2201:9;2197:19;2190:44;2283:2;2275:6;2271:15;2265:3;2254:9;2250:19;2243:44;;2324:6;2318:3;2307:9;2303:19;2296:35;2340:59;2394:3;2383:9;2379:19;2371:6;2340:59;:::i;:::-;2436:2;2430:3;2419:9;2415:19;2408:31;2456:54;2506:2;2495:9;2491:18;2483:6;2456:54;:::i;:::-;2448:62;1458:1058;-1:-1:-1;;;;;;;;;;;;;1458:1058:151:o;2521:332::-;2579:6;2632:2;2620:9;2611:7;2607:23;2603:32;2600:52;;;2648:1;2645;2638:12;2600:52;2687:9;2674:23;2737:66;2730:5;2726:78;2719:5;2716:89;2706:117;;2819:1;2816;2809:12;3050:154;-1:-1:-1;;;;;3129:5:151;3125:54;3118:5;3115:65;3105:93;;3194:1;3191;3184:12;3209:247;3268:6;3321:2;3309:9;3300:7;3296:23;3292:32;3289:52;;;3337:1;3334;3327:12;3289:52;3376:9;3363:23;3395:31;3420:5;3395:31;:::i;3461:184::-;-1:-1:-1;;;3510:1:151;3503:88;3610:4;3607:1;3600:15;3634:4;3631:1;3624:15;3650:257;3722:4;3716:11;;;3754:17;;3801:18;3786:34;;3822:22;;;3783:62;3780:88;;;3848:18;;:::i;:::-;3884:4;3877:24;3650:257;:::o;3912:252::-;3984:2;3978:9;4026:3;4014:16;;4060:18;4045:34;;4081:22;;;4042:62;4039:88;;;4107:18;;:::i;4169:253::-;4241:2;4235:9;4283:4;4271:17;;4318:18;4303:34;;4339:22;;;4300:62;4297:88;;;4365:18;;:::i;4427:253::-;4499:2;4493:9;4541:4;4529:17;;4576:18;4561:34;;4597:22;;;4558:62;4555:88;;;4623:18;;:::i;4685:275::-;4756:2;4750:9;4821:2;4802:13;;-1:-1:-1;;4798:27:151;4786:40;;4856:18;4841:34;;4877:22;;;4838:62;4835:88;;;4903:18;;:::i;:::-;4939:2;4932:22;4685:275;;-1:-1:-1;4685:275:151:o;4965:183::-;5025:4;5058:18;5050:6;5047:30;5044:56;;;5080:18;;:::i;:::-;-1:-1:-1;5125:1:151;5121:14;5137:4;5117:25;;4965:183::o;5153:737::-;5207:5;5260:3;5253:4;5245:6;5241:17;5237:27;5227:55;;5278:1;5275;5268:12;5227:55;5314:6;5301:20;5340:4;5364:60;5380:43;5420:2;5380:43;:::i;:::-;5364:60;:::i;:::-;5458:15;;;5544:1;5540:10;;;;5528:23;;5524:32;;;5489:12;;;;5568:15;;;5565:35;;;5596:1;5593;5586:12;5565:35;5632:2;5624:6;5620:15;5644:217;5660:6;5655:3;5652:15;5644:217;;;5740:3;5727:17;5757:31;5782:5;5757:31;:::i;:::-;5801:18;;5839:12;;;;5677;;5644:217;;;-1:-1:-1;5879:5:151;5153:737;-1:-1:-1;;;;;;5153:737:151:o;5895:186::-;5943:4;5976:18;5968:6;5965:30;5962:56;;;5998:18;;:::i;:::-;-1:-1:-1;6064:2:151;6043:15;-1:-1:-1;;6039:29:151;6070:4;6035:40;;5895:186::o;6086:462::-;6128:5;6181:3;6174:4;6166:6;6162:17;6158:27;6148:55;;6199:1;6196;6189:12;6148:55;6235:6;6222:20;6266:48;6282:31;6310:2;6282:31;:::i;6266:48::-;6339:2;6330:7;6323:19;6385:3;6378:4;6373:2;6365:6;6361:15;6357:26;6354:35;6351:55;;;6402:1;6399;6392:12;6351:55;6467:2;6460:4;6452:6;6448:17;6441:4;6432:7;6428:18;6415:55;6515:1;6490:16;;;6508:4;6486:27;6479:38;;;;6494:7;6086:462;-1:-1:-1;;;6086:462:151:o;6553:702::-;6664:6;6672;6680;6733:2;6721:9;6712:7;6708:23;6704:32;6701:52;;;6749:1;6746;6739:12;6701:52;6789:9;6776:23;6818:18;6859:2;6851:6;6848:14;6845:34;;;6875:1;6872;6865:12;6845:34;6898:61;6951:7;6942:6;6931:9;6927:22;6898:61;:::i;:::-;6888:71;;7012:2;7001:9;6997:18;6984:32;6968:48;;7041:2;7031:8;7028:16;7025:36;;;7057:1;7054;7047:12;7025:36;;7080:51;7123:7;7112:8;7101:9;7097:24;7080:51;:::i;:::-;7070:61;;;7181:2;7170:9;7166:18;7153:32;7194:31;7219:5;7194:31;:::i;:::-;7244:5;7234:15;;;6553:702;;;;;:::o;7687:455::-;7764:6;7772;7825:2;7813:9;7804:7;7800:23;7796:32;7793:52;;;7841:1;7838;7831:12;7793:52;7881:9;7868:23;7914:18;7906:6;7903:30;7900:50;;;7946:1;7943;7936:12;7900:50;7969:49;8010:7;8001:6;7990:9;7986:22;7969:49;:::i;:::-;7959:59;;;8068:2;8057:9;8053:18;8040:32;8081:31;8106:5;8081:31;:::i;:::-;8131:5;8121:15;;;7687:455;;;;;:::o;8378:142::-;8461:1;8454:5;8451:12;8441:46;;8467:18;;:::i;8525:213::-;8674:2;8659:18;;8686:46;8663:9;8714:6;8686:46;:::i;8743:315::-;8811:6;8819;8872:2;8860:9;8851:7;8847:23;8843:32;8840:52;;;8888:1;8885;8878:12;8840:52;8927:9;8914:23;8946:31;8971:5;8946:31;:::i;:::-;8996:5;9048:2;9033:18;;;;9020:32;;-1:-1:-1;;;8743:315:151:o;9063:316::-;9140:6;9148;9156;9209:2;9197:9;9188:7;9184:23;9180:32;9177:52;;;9225:1;9222;9215:12;9177:52;-1:-1:-1;;9248:23:151;;;9318:2;9303:18;;9290:32;;-1:-1:-1;9369:2:151;9354:18;;;9341:32;;9063:316;-1:-1:-1;9063:316:151:o;9384:143::-;9468:1;9461:5;9458:12;9448:46;;9474:18;;:::i;9532:215::-;9682:2;9667:18;;9694:47;9671:9;9723:6;9694:47;:::i;10192:261::-;10373:2;10362:9;10355:21;10336:4;10393:54;10443:2;10432:9;10428:18;10420:6;10393:54;:::i;10458:1357::-;10585:6;10593;10646:2;10634:9;10625:7;10621:23;10617:32;10614:52;;;10662:1;10659;10652:12;10614:52;10702:9;10689:23;10731:18;10772:2;10764:6;10761:14;10758:34;;;10788:1;10785;10778:12;10758:34;10811:61;10864:7;10855:6;10844:9;10840:22;10811:61;:::i;:::-;10801:71;;10891:2;10881:12;;10946:2;10935:9;10931:18;10918:32;10975:2;10965:8;10962:16;10959:36;;;10991:1;10988;10981:12;10959:36;11014:24;;11069:4;11061:13;;11057:27;-1:-1:-1;11047:55:151;;11098:1;11095;11088:12;11047:55;11134:2;11121:16;11157:60;11173:43;11213:2;11173:43;:::i;11157:60::-;11251:15;;;11333:1;11329:10;;;;11321:19;;11317:28;;;11282:12;;;;11357:19;;;11354:39;;;11389:1;11386;11379:12;11354:39;11421:2;11417;11413:11;11433:352;11449:6;11444:3;11441:15;11433:352;;;11535:3;11522:17;11571:2;11558:11;11555:19;11552:109;;;11615:1;11644:2;11640;11633:14;11552:109;11686:56;11734:7;11729:2;11715:11;11711:2;11707:20;11703:29;11686:56;:::i;:::-;11674:69;;-1:-1:-1;11763:12:151;;;;11466;;11433:352;;;11437:3;11804:5;11794:15;;;;;;;;10458:1357;;;;;:::o;11820:849::-;12053:2;12105:21;;;12175:13;;12078:18;;;12197:22;;;12024:4;;12053:2;12238;;12256:18;;;;12297:15;;;12024:4;12340:303;12354:6;12351:1;12348:13;12340:303;;;12413:13;;12455:9;;-1:-1:-1;;;;;12451:58:151;12439:71;;12550:11;;12544:18;12530:12;;;12523:40;12583:12;;;;12618:15;;;;12376:1;12369:9;12340:303;;;-1:-1:-1;12660:3:151;;11820:849;-1:-1:-1;;;;;;;11820:849:151:o;12674:118::-;12760:5;12753:13;12746:21;12739:5;12736:32;12726:60;;12782:1;12779;12772:12;12797:241;12853:6;12906:2;12894:9;12885:7;12881:23;12877:32;12874:52;;;12922:1;12919;12912:12;12874:52;12961:9;12948:23;12980:28;13002:5;12980:28;:::i;13296:953::-;-1:-1:-1;;;;;13792:15:151;;;13774:34;;13844:15;;;13839:2;13824:18;;13817:43;13896:15;;13891:2;13876:18;;13869:43;13943:2;13928:18;;13921:34;;;13986:3;13971:19;;13964:35;;;13700:3;13685:19;;14008:59;14062:3;14047:19;;14039:6;14008:59;:::i;:::-;14104:6;14098:3;14087:9;14083:19;14076:35;14148:6;14142:3;14131:9;14127:19;14120:35;14192:6;14186:3;14175:9;14171:19;14164:35;14236:6;14230:3;14219:9;14215:19;14208:35;13296:953;;;;;;;;;;;;;:::o;14254:315::-;14322:6;14330;14383:2;14371:9;14362:7;14358:23;14354:32;14351:52;;;14399:1;14396;14389:12;14351:52;14435:9;14422:23;14412:33;;14495:2;14484:9;14480:18;14467:32;14508:31;14533:5;14508:31;:::i;14574:1202::-;14692:6;14723:2;14766;14754:9;14745:7;14741:23;14737:32;14734:52;;;14782:1;14779;14772:12;14734:52;14822:9;14809:23;14855:18;14847:6;14844:30;14841:50;;;14887:1;14884;14877:12;14841:50;14910:22;;14963:4;14955:13;;14951:27;-1:-1:-1;14941:55:151;;14992:1;14989;14982:12;14941:55;15028:2;15015:16;15051:60;15067:43;15107:2;15067:43;:::i;15051:60::-;15145:15;;;15227:1;15223:10;;;;15215:19;;15211:28;;;15176:12;;;;15251:19;;;15248:39;;;15283:1;15280;15273:12;15248:39;15307:11;;;;15327:419;15343:6;15338:3;15335:15;15327:419;;;15425:4;15419:3;15410:7;15406:17;15402:28;15399:118;;;15471:1;15500:2;15496;15489:14;15399:118;15543:22;;:::i;:::-;15592:17;;15578:32;;15659:12;;;15646:26;15630:14;;;15623:50;15686:18;;15369:4;15360:14;;;;15724:12;;;;15327:419;;15781:242;15924:2;15909:18;;15957:1;15946:13;;15936:47;;15963:18;;:::i;:::-;15992:25;;;15781:242;:::o;16028:388::-;16105:6;16113;16166:2;16154:9;16145:7;16141:23;16137:32;16134:52;;;16182:1;16179;16172:12;16134:52;16218:9;16205:23;16195:33;;16279:2;16268:9;16264:18;16251:32;16306:18;16298:6;16295:30;16292:50;;;16338:1;16335;16328:12;16292:50;16361:49;16402:7;16393:6;16382:9;16378:22;16361:49;:::i;:::-;16351:59;;;16028:388;;;;;:::o;16421:437::-;16500:1;16496:12;;;;16543;;;16564:61;;16618:4;16610:6;16606:17;16596:27;;16564:61;16671:2;16663:6;16660:14;16640:18;16637:38;16634:218;;-1:-1:-1;;;16705:1:151;16698:88;16809:4;16806:1;16799:15;16837:4;16834:1;16827:15;17116:184;-1:-1:-1;;;17165:1:151;17158:88;17265:4;17262:1;17255:15;17289:4;17286:1;17279:15;17305:128;17372:9;;;17393:11;;;17390:37;;;17407:18;;:::i;17811:184::-;-1:-1:-1;;;17860:1:151;17853:88;17960:4;17957:1;17950:15;17984:4;17981:1;17974:15;18000:274;18040:1;18066;18056:189;;-1:-1:-1;;;18098:1:151;18091:88;18202:4;18199:1;18192:15;18230:4;18227:1;18220:15;18056:189;-1:-1:-1;18259:9:151;;18000:274::o;18279:168::-;18352:9;;;18383;;18400:15;;;18394:22;;18380:37;18370:71;;18421:18;;:::i;18452:125::-;18517:9;;;18538:10;;;18535:36;;;18551:18;;:::i;18914:245::-;18981:6;19034:2;19022:9;19013:7;19009:23;19005:32;19002:52;;;19050:1;19047;19040:12;19002:52;19082:9;19076:16;19101:28;19123:5;19101:28;:::i;19164:184::-;19234:6;19287:2;19275:9;19266:7;19262:23;19258:32;19255:52;;;19303:1;19300;19293:12;19255:52;-1:-1:-1;19326:16:151;;19164:184;-1:-1:-1;19164:184:151:o;19353:266::-;19438:6;19491:2;19479:9;19470:7;19466:23;19462:32;19459:52;;;19507:1;19504;19497:12;19459:52;19539:9;19533:16;19558:31;19583:5;19558:31;:::i;19624:138::-;19703:13;;19725:31;19703:13;19725:31;:::i;:::-;19624:138;;;:::o;19767:157::-;19856:13;;19898:1;19888:12;;19878:40;;19914:1;19911;19904:12;19929:156;20017:13;;20059:1;20049:12;;20039:40;;20075:1;20072;20065:12;20090:420;20165:5;20213:4;20201:9;20196:3;20192:19;20188:30;20185:50;;;20231:1;20228;20221:12;20185:50;20264:2;20258:9;20306:4;20298:6;20294:17;20377:6;20365:10;20362:22;20341:18;20329:10;20326:34;20323:62;20320:88;;;20388:18;;:::i;:::-;20424:2;20417:22;20487:16;;20472:32;;-1:-1:-1;20457:6:151;20090:420;-1:-1:-1;20090:420:151:o;20515:952::-;20620:6;20673:3;20661:9;20652:7;20648:23;20644:33;20641:53;;;20690:1;20687;20680:12;20641:53;20716:22;;:::i;:::-;20761:40;20791:9;20761:40;:::i;:::-;20754:5;20747:55;20855:2;20844:9;20840:18;20834:25;20829:2;20822:5;20818:14;20811:49;20913:2;20902:9;20898:18;20892:25;20887:2;20880:5;20876:14;20869:49;20971:2;20960:9;20956:18;20950:25;20945:2;20938:5;20934:14;20927:49;21030:3;21019:9;21015:19;21009:26;21003:3;20996:5;20992:15;20985:51;21069:60;21124:3;21113:9;21109:19;21069:60;:::i;:::-;21063:3;21056:5;21052:15;21045:85;21163:59;21217:3;21206:9;21202:19;21163:59;:::i;:::-;21157:3;21150:5;21146:15;21139:84;21256:76;21324:7;21318:3;21307:9;21303:19;21256:76;:::i;:::-;21250:3;21243:5;21239:15;21232:101;21352:3;21387:49;21432:2;21421:9;21417:18;21387:49;:::i;:::-;21371:14;;;21364:73;21375:5;20515:952;-1:-1:-1;;;20515:952:151:o;21472:1116::-;21662:4;21704:3;21693:9;21689:19;21681:27;;21735:6;21724:9;21717:25;-1:-1:-1;;;;;21788:6:151;21782:13;21778:62;21773:2;21762:9;21758:18;21751:90;21895:2;21887:6;21883:15;21877:22;21872:2;21861:9;21857:18;21850:50;21954:2;21946:6;21942:15;21936:22;21931:2;21920:9;21916:18;21909:50;22014:2;22006:6;22002:15;21996:22;21990:3;21979:9;21975:19;21968:51;22074:3;22066:6;22062:16;22056:23;22050:3;22039:9;22035:19;22028:52;22127:3;22119:6;22115:16;22109:23;22141:63;22199:3;22188:9;22184:19;22170:12;22141:63;:::i;:::-;;22253:3;22245:6;22241:16;22235:23;22267:64;22326:3;22315:9;22311:19;22295:14;22267:64;:::i;:::-;-1:-1:-1;22380:3:151;22368:16;;22362:23;22443:21;22404:3;22423:18;;;22416:49;;;;22502:15;;;22496:22;-1:-1:-1;;;;;265:54:151;22577:3;22562:19;;;253:67;21472:1116;;-1:-1:-1;21472:1116:151:o;23219:726::-;23285:5;23333:4;23321:9;23316:3;23312:19;23308:30;23305:50;;;23351:1;23348;23341:12;23305:50;23373:22;;:::i;:::-;23364:31;;23424:9;23418:16;23411:5;23404:31;23479:2;23468:9;23464:18;23458:25;23506:18;23498:6;23495:30;23492:50;;;23538:1;23535;23528:12;23492:50;23561:22;;23614:4;23606:13;;23602:23;-1:-1:-1;23592:51:151;;23639:1;23636;23629:12;23592:51;23668:2;23662:9;23693:48;23709:31;23737:2;23709:31;:::i;23693:48::-;23764:2;23757:5;23750:17;23804:3;23799:2;23794;23790;23786:11;23782:20;23779:29;23776:49;;;23821:1;23818;23811:12;23776:49;23834:67;23898:2;23893;23886:5;23882:14;23877:2;23873;23869:11;23834:67;:::i;:::-;23928:2;23917:14;;23910:29;-1:-1:-1;23921:5:151;;23219:726;-1:-1:-1;;;23219:726:151:o;23950:1028::-;24042:6;24095:2;24083:9;24074:7;24070:23;24066:32;24063:52;;;24111:1;24108;24101:12;24063:52;24144:9;24138:16;24173:18;24214:2;24206:6;24203:14;24200:34;;;24230:1;24227;24220:12;24200:34;24253:22;;;;24309:4;24291:16;;;24287:27;24284:47;;;24327:1;24324;24317:12;24284:47;24353:22;;:::i;:::-;24404:2;24398:9;24391:5;24384:24;24446:2;24442;24438:11;24432:18;24459:33;24484:7;24459:33;:::i;:::-;24519:2;24508:14;;24501:31;24570:2;24562:11;;24556:18;24583:33;24556:18;24583:33;:::i;:::-;24643:2;24632:14;;24625:31;24695:2;24687:11;;24681:18;24711:16;;;24708:36;;;24740:1;24737;24730:12;24708:36;24776:65;24833:7;24822:8;24818:2;24814:17;24776:65;:::i;:::-;24771:2;24764:5;24760:14;24753:89;;24889:3;24885:2;24881:12;24875:19;24869:3;24862:5;24858:15;24851:44;24942:3;24938:2;24934:12;24928:19;24922:3;24915:5;24911:15;24904:44;24967:5;24957:15;;;;;23950:1028;;;;:::o;25356:986::-;25459:6;25512:2;25500:9;25491:7;25487:23;25483:32;25480:52;;;25528:1;25525;25518:12;25480:52;25561:9;25555:16;25590:18;25631:2;25623:6;25620:14;25617:34;;;25647:1;25644;25637:12;25617:34;25670:22;;;;25726:4;25708:16;;;25704:27;25701:47;;;25744:1;25741;25734:12;25701:47;25770:22;;:::i;:::-;25821:2;25815:9;25808:5;25801:24;25863:2;25859;25855:11;25849:18;25876:33;25901:7;25876:33;:::i;:::-;25936:2;25925:14;;25918:31;25995:2;25987:11;;;25981:18;25965:14;;;25958:42;26038:2;26030:11;;26024:18;26051:33;26024:18;26051:33;:::i;:::-;26111:2;26100:14;;26093:31;26163:3;26155:12;;26149:19;26180:16;;;26177:36;;;26209:1;26206;26199:12;26177:36;26246:65;26303:7;26292:8;26288:2;26284:17;26246:65;:::i;:::-;26240:3;26229:15;;26222:90;-1:-1:-1;26233:5:151;25356:986;-1:-1:-1;;;;;25356:986:151:o;26617:135::-;26656:3;26677:17;;;26674:43;;26697:18;;:::i;:::-;-1:-1:-1;26744:1:151;26733:13;;26617:135::o;26883:545::-;26985:2;26980:3;26977:11;26974:448;;;27021:1;27046:5;27042:2;27035:17;27091:4;27087:2;27077:19;27161:2;27149:10;27145:19;27142:1;27138:27;27132:4;27128:38;27197:4;27185:10;27182:20;27179:47;;;-1:-1:-1;27220:4:151;27179:47;27275:2;27270:3;27266:12;27263:1;27259:20;27253:4;27249:31;27239:41;;27330:82;27348:2;27341:5;27338:13;27330:82;;;27393:17;;;27374:1;27363:13;27330:82;;;27334:3;;;26883:545;;;:::o;27604:1352::-;27730:3;27724:10;27757:18;27749:6;27746:30;27743:56;;;27779:18;;:::i;:::-;27808:97;27898:6;27858:38;27890:4;27884:11;27858:38;:::i;:::-;27852:4;27808:97;:::i;:::-;27960:4;;28024:2;28013:14;;28041:1;28036:663;;;;28743:1;28760:6;28757:89;;;-1:-1:-1;28812:19:151;;;28806:26;28757:89;-1:-1:-1;;27561:1:151;27557:11;;;27553:24;27549:29;27539:40;27585:1;27581:11;;;27536:57;28859:81;;28006:944;;28036:663;26830:1;26823:14;;;26867:4;26854:18;;-1:-1:-1;;28072:20:151;;;28190:236;28204:7;28201:1;28198:14;28190:236;;;28293:19;;;28287:26;28272:42;;28385:27;;;;28353:1;28341:14;;;;28220:19;;28190:236;;;28194:3;28454:6;28445:7;28442:19;28439:201;;;28515:19;;;28509:26;-1:-1:-1;;28598:1:151;28594:14;;;28610:3;28590:24;28586:37;28582:42;28567:58;28552:74;;28439:201;-1:-1:-1;;;;;28686:1:151;28670:14;;;28666:22;28653:36;;-1:-1:-1;27604:1352:151:o;29233:273::-;29301:6;29354:2;29342:9;29333:7;29329:23;29325:32;29322:52;;;29370:1;29367;29360:12;29322:52;29402:9;29396:16;29452:4;29445:5;29441:16;29434:5;29431:27;29421:55;;29472:1;29469;29462:12;29511:422;29600:1;29643:5;29600:1;29657:270;29678:7;29668:8;29665:21;29657:270;;;29737:4;29733:1;29729:6;29725:17;29719:4;29716:27;29713:53;;;29746:18;;:::i;:::-;29796:7;29786:8;29782:22;29779:55;;;29816:16;;;;29779:55;29895:22;;;;29855:15;;;;29657:270;;;29661:3;29511:422;;;;;:::o;29938:806::-;29987:5;30017:8;30007:80;;-1:-1:-1;30058:1:151;30072:5;;30007:80;30106:4;30096:76;;-1:-1:-1;30143:1:151;30157:5;;30096:76;30188:4;30206:1;30201:59;;;;30274:1;30269:130;;;;30181:218;;30201:59;30231:1;30222:10;;30245:5;;;30269:130;30306:3;30296:8;30293:17;30290:43;;;30313:18;;:::i;:::-;-1:-1:-1;;30369:1:151;30355:16;;30384:5;;30181:218;;30483:2;30473:8;30470:16;30464:3;30458:4;30455:13;30451:36;30445:2;30435:8;30432:16;30427:2;30421:4;30418:12;30414:35;30411:77;30408:159;;;-1:-1:-1;30520:19:151;;;30552:5;;30408:159;30599:34;30624:8;30618:4;30599:34;:::i;:::-;30669:6;30665:1;30661:6;30657:19;30648:7;30645:32;30642:58;;;30680:18;;:::i;:::-;30718:20;;29938:806;-1:-1:-1;;;29938:806:151:o;30749:131::-;30809:5;30838:36;30865:8;30859:4;30838:36;:::i;31242:184::-;-1:-1:-1;;;31291:1:151;31284:88;31391:4;31388:1;31381:15;31415:4;31412:1;31405:15;31431:1185;31560:6;31591:2;31634;31622:9;31613:7;31609:23;31605:32;31602:52;;;31650:1;31647;31640:12;31602:52;31683:9;31677:16;31716:18;31708:6;31705:30;31702:50;;;31748:1;31745;31738:12;31702:50;31771:22;;31824:4;31816:13;;31812:27;-1:-1:-1;31802:55:151;;31853:1;31850;31843:12;31802:55;31882:2;31876:9;31905:60;31921:43;31961:2;31921:43;:::i;31905:60::-;31999:15;;;32081:1;32077:10;;;;32069:19;;32065:28;;;32030:12;;;;32105:19;;;32102:39;;;32137:1;32134;32127:12;32102:39;32161:11;;;;32181:405;32197:6;32192:3;32189:15;32181:405;;;32279:4;32273:3;32264:7;32260:17;32256:28;32253:118;;;32325:1;32354:2;32350;32343:14;32253:118;32397:22;;:::i;:::-;32446:10;;32432:25;;32499:12;;;32493:19;32477:14;;;32470:43;32526:18;;32223:4;32214:14;;;;32564:12;;;;32181:405;;32621:184;-1:-1:-1;;;32670:1:151;32663:88;32770:4;32767:1;32760:15;32794:4;32791:1;32784:15;33335:220;33484:2;33473:9;33466:21;33447:4;33504:45;33545:2;33534:9;33530:18;33522:6;33504:45;:::i;33560:291::-;33737:2;33726:9;33719:21;33700:4;33757:45;33798:2;33787:9;33783:18;33775:6;33757:45;:::i;:::-;33749:53;;33838:6;33833:2;33822:9;33818:18;33811:34;33560:291;;;;;:::o;34622:216::-;34686:9;;;34714:11;;;34661:3;34744:9;;34772:10;;34768:19;;34797:10;;34789:19;;34765:44;34762:70;;;34812:18;;:::i","linkReferences":{},"immutableReferences":{"3335":[{"start":1160,"length":32},{"start":6687,"length":32},{"start":6834,"length":32},{"start":7483,"length":32}],"3337":[{"start":1524,"length":32}]}},"methodIdentifiers":{"D()":"0f529ba2","MAX_STAKED_PROPOSALS()":"406244d8","NATIVE()":"a0cf0aea","_minThresholdPoints()":"7c6570ba","activatePoints()":"814516ad","allocate(bytes,address)":"ef2920fc","calculateConviction(uint256,uint256,uint256)":"346db8cb","calculateThreshold(uint256)":"59a5db8b","canExecuteProposal(uint256)":"824ea8ed","deactivatePoints()":"1ddf1e23","deactivatePoints(address)":"6453d9c4","decay()":"54fac919","decreasePower(address,uint256)":"2ed04b2b","distribute(address[],bytes,address)":"0a6f0ee9","getAllo()":"15cc481e","getMaxAmount()":"0ba95909","getMaxConviction(uint256)":"950559d7","getMetadata(uint256)":"a574cea4","getPayouts(address[],bytes[])":"b2b878d0","getPointSystem()":"c3292171","getPoolAmount()":"4ab4ba42","getPoolId()":"38fff2d0","getProposal(uint256)":"c7f758a8","getProposalStakedAmount(uint256)":"dc96ff2d","getProposalVoterStake(uint256,address)":"e0dd2c38","getRecipientStatus(address)":"eb11af93","getStrategyId()":"42fda9c7","getTotalVoterStakePct(address)":"bcc5b93b","increasePoolAmount(uint256)":"f5b0dfb7","increasePower(address,uint256)":"782aadff","initialize(uint256,bytes)":"edd146cc","isPoolActive()":"df868ed3","isValidAllocator(address)":"4d31d087","maxRatio()":"76365af7","pointConfig()":"a47ff7e5","pointSystem()":"2dbd6fdd","proposalCounter()":"0c0512e9","proposalType()":"351d9f96","proposals(uint256)":"013cf08b","registerRecipient(bytes,address)":"2bbe0cae","registryCommunity()":"6003e414","setDecay(uint256)":"69fa25c4","setMaxRatio(uint256)":"11f22ae3","setMinThresholdPoints(uint256)":"2cefadbb","setPoolActive(bool)":"b5f620ce","setRegistryCommunity(address)":"058aca44","setSybilScorer(address)":"ac1ed7b9","setWeight(uint256)":"fc1711f2","supportProposal((uint256,int256)[])":"e33add93","supportsInterface(bytes4)":"01ffc9a7","sybilScorer()":"b6c61f31","totalEffectiveActivePoints()":"d1e36232","totalPointsActivated()":"aba9ffee","totalStaked()":"817b1cd2","totalVoterStakePct(address)":"5db64b99","updateProposalConviction(uint256)":"1aa91a9e","voterStakedProposals(address,uint256)":"868c57b8","weight()":"a1aab33f"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_allo\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"ALLOCATION_ACTIVE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ALLOCATION_NOT_ACTIVE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ALLOCATION_NOT_ENDED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ALREADY_INITIALIZED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"AMOUNT_MISMATCH\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ANCHOR_ERROR\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ARRAY_MISMATCH\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"AddressCannotBeZero\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"AmountOverMaxRatio\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"CantIncreaseFixedSystem\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ConvictionUnderMinimumThreshold\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID_ADDRESS\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID_FEE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID_METADATA\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID_REGISTRATION\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"IS_APPROVED_STRATEGY\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"MISMATCH\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"MaxPointsReached\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NONCE_NOT_AVAILABLE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NOT_APPROVED_STRATEGY\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NOT_ENOUGH_FUNDS\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NOT_IMPLEMENTED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NOT_INITIALIZED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NOT_PENDING_OWNER\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"pointsSupport\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"pointsBalance\",\"type\":\"uint256\"}],\"name\":\"NotEnoughPointsToSupport\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotImplemented\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"OnlyCommunityAllowed\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"OnlyCouncilSafe\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"POOL_ACTIVE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"POOL_INACTIVE\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_proposalId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_requestedAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_poolAmount\",\"type\":\"uint256\"}],\"name\":\"PoolAmountNotEnough\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"PoolIdCannotBeZero\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"PoolIsEmpty\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ProposalDataIsEmpty\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ProposalIdCannotBeZero\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_proposalId\",\"type\":\"uint256\"}],\"name\":\"ProposalNotActive\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_proposalId\",\"type\":\"uint256\"}],\"name\":\"ProposalNotInList\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_proposalId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"ProposalSupportDuplicated\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"RECIPIENT_ALREADY_ACCEPTED\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"recipientId\",\"type\":\"address\"}],\"name\":\"RECIPIENT_ERROR\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"RECIPIENT_NOT_ACCEPTED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"REGISTRATION_NOT_ACTIVE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"RegistryCannotBeZero\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_support\",\"type\":\"uint256\"},{\"internalType\":\"int256\",\"name\":\"_delta\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"_result\",\"type\":\"int256\"}],\"name\":\"SupportUnderflow\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TokenCannotBeZero\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TokenNotAllowed\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UNAUTHORIZED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UserCannotBeZero\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UserCannotExecuteAction\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UserIsInactive\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UserNotInRegistry\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ZERO_ADDRESS\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"recipientId\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"Allocated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decay\",\"type\":\"uint256\"}],\"name\":\"DecayUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"beneficiary\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"Distributed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"recipientId\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"recipientAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"Distributed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"registryCommunity\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"decay\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxRatio\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"weight\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"minThresholdPoints\",\"type\":\"uint256\"},{\"internalType\":\"enum StrategyStruct.ProposalType\",\"name\":\"proposalType\",\"type\":\"uint8\"},{\"internalType\":\"enum StrategyStruct.PointSystem\",\"name\":\"pointSystem\",\"type\":\"uint8\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"maxAmount\",\"type\":\"uint256\"}],\"internalType\":\"struct StrategyStruct.PointSystemConfig\",\"name\":\"pointConfig\",\"type\":\"tuple\"},{\"internalType\":\"address\",\"name\":\"sybilScorer\",\"type\":\"address\"}],\"indexed\":false,\"internalType\":\"struct StrategyStruct.InitializeParams\",\"name\":\"data\",\"type\":\"tuple\"}],\"name\":\"InitializedCV\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"maxRatio\",\"type\":\"uint256\"}],\"name\":\"MaxRatioUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"before\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"minThresholdPoints\",\"type\":\"uint256\"}],\"name\":\"MinThresholdPointsUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"member\",\"type\":\"address\"}],\"name\":\"PointsDeactivated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"active\",\"type\":\"bool\"}],\"name\":\"PoolActive\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"PoolAmountIncreased\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"member\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"tokensUnStaked\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"pointsToDecrease\",\"type\":\"uint256\"}],\"name\":\"PowerDecreased\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"member\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"tokensStaked\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"pointsToIncrease\",\"type\":\"uint256\"}],\"name\":\"PowerIncreased\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"ProposalCreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"recipientId\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"Registered\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"registryCommunity\",\"type\":\"address\"}],\"name\":\"RegistryUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"totalStakedAmount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"convictionLast\",\"type\":\"uint256\"}],\"name\":\"SupportAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"weight\",\"type\":\"uint256\"}],\"name\":\"WeightUpdated\",\"type\":\"event\"},{\"stateMutability\":\"payable\",\"type\":\"fallback\"},{\"inputs\":[],\"name\":\"D\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"MAX_STAKED_PROPOSALS\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"NATIVE\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_minThresholdPoints\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"activatePoints\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"},{\"internalType\":\"address\",\"name\":\"_sender\",\"type\":\"address\"}],\"name\":\"allocate\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_timePassed\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_lastConv\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_oldAmount\",\"type\":\"uint256\"}],\"name\":\"calculateConviction\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_requestedAmount\",\"type\":\"uint256\"}],\"name\":\"calculateThreshold\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"_threshold\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"canExecuteProposal\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"canBeExecuted\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"deactivatePoints\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"}],\"name\":\"deactivatePoints\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decay\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amountToUnstake\",\"type\":\"uint256\"}],\"name\":\"decreasePower\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"_recipientIds\",\"type\":\"address[]\"},{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"},{\"internalType\":\"address\",\"name\":\"_sender\",\"type\":\"address\"}],\"name\":\"distribute\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getAllo\",\"outputs\":[{\"internalType\":\"contract IAllo\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getMaxAmount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"getMaxConviction\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_proposalId\",\"type\":\"uint256\"}],\"name\":\"getMetadata\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"},{\"internalType\":\"bytes[]\",\"name\":\"\",\"type\":\"bytes[]\"}],\"name\":\"getPayouts\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"recipientAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"internalType\":\"struct IStrategy.PayoutSummary[]\",\"name\":\"\",\"type\":\"tuple[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getPointSystem\",\"outputs\":[{\"internalType\":\"enum StrategyStruct.PointSystem\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getPoolAmount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getPoolId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_proposalId\",\"type\":\"uint256\"}],\"name\":\"getProposal\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"submitter\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"beneficiary\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"requestedToken\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"requestedAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"stakedAmount\",\"type\":\"uint256\"},{\"internalType\":\"enum StrategyStruct.ProposalStatus\",\"name\":\"proposalStatus\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"blockLast\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"convictionLast\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"threshold\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"voterStakedPoints\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_proposalId\",\"type\":\"uint256\"}],\"name\":\"getProposalStakedAmount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_proposalId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_voter\",\"type\":\"address\"}],\"name\":\"getProposalVoterStake\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_recipientId\",\"type\":\"address\"}],\"name\":\"getRecipientStatus\",\"outputs\":[{\"internalType\":\"enum IStrategy.Status\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getStrategyId\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_voter\",\"type\":\"address\"}],\"name\":\"getTotalVoterStakePct\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"increasePoolAmount\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amountToStake\",\"type\":\"uint256\"}],\"name\":\"increasePower\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_poolId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"isPoolActive\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_allocator\",\"type\":\"address\"}],\"name\":\"isValidAllocator\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"maxRatio\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pointConfig\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"maxAmount\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pointSystem\",\"outputs\":[{\"internalType\":\"enum StrategyStruct.PointSystem\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proposalCounter\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proposalType\",\"outputs\":[{\"internalType\":\"enum StrategyStruct.ProposalType\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"proposals\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"requestedAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"stakedAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"convictionLast\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"beneficiary\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"submitter\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"requestedToken\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"blockLast\",\"type\":\"uint256\"},{\"internalType\":\"enum StrategyStruct.ProposalStatus\",\"name\":\"proposalStatus\",\"type\":\"uint8\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"metadata\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"},{\"internalType\":\"address\",\"name\":\"_sender\",\"type\":\"address\"}],\"name\":\"registerRecipient\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"recipientId\",\"type\":\"address\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"registryCommunity\",\"outputs\":[{\"internalType\":\"contract RegistryCommunity\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_decay\",\"type\":\"uint256\"}],\"name\":\"setDecay\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_maxRatio\",\"type\":\"uint256\"}],\"name\":\"setMaxRatio\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"minThresholdPoints_\",\"type\":\"uint256\"}],\"name\":\"setMinThresholdPoints\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"_active\",\"type\":\"bool\"}],\"name\":\"setPoolActive\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_registryCommunity\",\"type\":\"address\"}],\"name\":\"setRegistryCommunity\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_sybilScorer\",\"type\":\"address\"}],\"name\":\"setSybilScorer\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_weight\",\"type\":\"uint256\"}],\"name\":\"setWeight\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"int256\",\"name\":\"deltaSupport\",\"type\":\"int256\"}],\"internalType\":\"struct StrategyStruct.ProposalSupport[]\",\"name\":\"\",\"type\":\"tuple[]\"}],\"name\":\"supportProposal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"sybilScorer\",\"outputs\":[{\"internalType\":\"contract ISybilScorer\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalEffectiveActivePoints\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalPointsActivated\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalStaked\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"totalVoterStakePct\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"updateProposalConviction\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"voterStakedProposals\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"weight\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"stateMutability\":\"payable\",\"type\":\"receive\"}],\"devdoc\":{\"errors\":{\"ANCHOR_ERROR()\":[{\"details\":\"Thrown if the anchor creation fails\"}],\"NONCE_NOT_AVAILABLE()\":[{\"details\":\"Thrown when the nonce passed has been used or not available\"}],\"NOT_PENDING_OWNER()\":[{\"details\":\"Thrown when the 'msg.sender' is not the pending owner on ownership transfer\"}]},\"events\":{\"Allocated(address,uint256,address,address)\":{\"params\":{\"amount\":\"The amount allocated\",\"recipientId\":\"The ID of the recipient\",\"token\":\"The token allocated\"}},\"Distributed(address,address,uint256,address)\":{\"params\":{\"amount\":\"The amount distributed\",\"recipientAddress\":\"The recipient\",\"recipientId\":\"The ID of the recipient\",\"sender\":\"The sender\"}},\"Initialized(uint256,bytes)\":{\"params\":{\"data\":\"The data passed to the 'initialize' function\",\"poolId\":\"The ID of the pool\"}},\"PoolActive(bool)\":{\"params\":{\"active\":\"The status of the pool\"}},\"Registered(address,bytes,address)\":{\"params\":{\"data\":\"The data passed to the 'registerRecipient' function\",\"recipientId\":\"The ID of the recipient\",\"sender\":\"The sender\"}}},\"kind\":\"dev\",\"methods\":{\"allocate(bytes,address)\":{\"details\":\"The encoded '_data' will be determined by the strategy implementation. Only 'Allo' contract can call this when it is initialized.\",\"params\":{\"_data\":\"The data to use to allocate to the recipient\",\"_sender\":\"The address of the sender\"}},\"calculateConviction(uint256,uint256,uint256)\":{\"details\":\"Conviction formula: a^t * y(0) + x * (1 - a^t) / (1 - a) Solidity implementation: y = (2^128 * a^t * y0 + x * D * (2^128 - 2^128 * a^t) / (D - aD) + 2^127) / 2^128\",\"params\":{\"_lastConv\":\"Last conviction record\",\"_oldAmount\":\"Amount of tokens staked until now\",\"_timePassed\":\"Number of blocks since last conviction record\"},\"returns\":{\"_0\":\"Current conviction\"}},\"calculateThreshold(uint256)\":{\"details\":\"Formula: \\u03c1 * totalStaked / (1 - a) / (\\u03b2 - requestedAmount / total)**2 For the Solidity implementation we amplify \\u03c1 and \\u03b2 and simplify the formula: weight = \\u03c1 * D maxRatio = \\u03b2 * D decay = a * D threshold = weight * totalStaked * D ** 2 * funds ** 2 / (D - decay) / (maxRatio * funds - requestedAmount * D) ** 2\",\"params\":{\"_requestedAmount\":\"Requested amount of tokens on certain proposal\"},\"returns\":{\"_threshold\":\"Threshold a proposal's conviction should surpass in order to be able to executed it.\"}},\"distribute(address[],bytes,address)\":{\"details\":\"The encoded '_data' will be determined by the strategy implementation. Only 'Allo' contract can call this when it is initialized.\",\"params\":{\"_data\":\"The data to use to distribute to the recipients\",\"_recipientIds\":\"The IDs of the recipients\",\"_sender\":\"The address of the sender\"}},\"getAllo()\":{\"returns\":{\"_0\":\"The Allo contract\"}},\"getPayouts(address[],bytes[])\":{\"returns\":{\"_0\":\"Input the values you would send to distribute(), get the amounts each recipient in the array would receive\"}},\"getPoolAmount()\":{\"returns\":{\"_0\":\"The balance of the pool\"}},\"getPoolId()\":{\"returns\":{\"_0\":\"The ID of the pool\"}},\"getProposal(uint256)\":{\"details\":\"Get proposal details\",\"params\":{\"_proposalId\":\"Proposal id\"},\"returns\":{\"beneficiary\":\"Proposal beneficiary\",\"blockLast\":\"Last block when conviction was calculated\",\"convictionLast\":\"Last conviction calculated\",\"proposalStatus\":\"Proposal status\",\"requestedAmount\":\"Proposal requested amount\",\"requestedToken\":\"Proposal requested token\",\"stakedAmount\":\"Proposal staked points\",\"submitter\":\"Proposal submitter\",\"threshold\":\"Proposal threshold\"}},\"getProposalVoterStake(uint256,address)\":{\"params\":{\"_proposalId\":\"Proposal id\",\"_voter\":\"Voter address\"},\"returns\":{\"_0\":\"Proposal voter stake\"}},\"getRecipientStatus(address)\":{\"params\":{\"_recipientId\":\"The ID of the recipient\"},\"returns\":{\"_0\":\"The status of the recipient\"}},\"getStrategyId()\":{\"returns\":{\"_0\":\"The ID of the strategy\"}},\"increasePoolAmount(uint256)\":{\"details\":\"Increases the 'poolAmount' by '_amount'. Only 'Allo' contract can call this.\",\"params\":{\"_amount\":\"The amount to increase the pool by\"}},\"initialize(uint256,bytes)\":{\"params\":{\"_data\":\"The encoded data\",\"_poolId\":\"The ID of the pool\"}},\"isPoolActive()\":{\"returns\":{\"_0\":\"'true' if the pool is active, otherwise 'false'\"}},\"isValidAllocator(address)\":{\"details\":\"How the allocator is determined is up to the strategy implementation.\",\"params\":{\"_allocator\":\"The address to check if it is a valid allocator for the strategy.\"},\"returns\":{\"_0\":\"'true' if the address is a valid allocator, 'false' otherwise\"}},\"registerRecipient(bytes,address)\":{\"details\":\"Registers a recipient and returns the ID of the recipient. The encoded '_data' will be determined by the strategy implementation. Only 'Allo' contract can call this when it is initialized.\",\"params\":{\"_data\":\"The data to use to register the recipient\",\"_sender\":\"The address of the sender\"},\"returns\":{\"recipientId\":\"The recipientId\"}},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"}},\"version\":1},\"userdoc\":{\"errors\":{\"ALLOCATION_ACTIVE()\":[{\"notice\":\"Thrown when the allocation is active.\"}],\"ALLOCATION_NOT_ACTIVE()\":[{\"notice\":\"Thrown when the allocation is not active.\"}],\"ALLOCATION_NOT_ENDED()\":[{\"notice\":\"Thrown when the allocation is not ended.\"}],\"ALREADY_INITIALIZED()\":[{\"notice\":\"Thrown when data is already intialized\"}],\"AMOUNT_MISMATCH()\":[{\"notice\":\"Thrown when the amount of tokens sent does not match the amount of tokens expected\"}],\"ARRAY_MISMATCH()\":[{\"notice\":\"Thrown when two arrays length are not equal\"}],\"INVALID()\":[{\"notice\":\"Thrown as a general error when input / data is invalid\"}],\"INVALID_ADDRESS()\":[{\"notice\":\"Thrown when an invalid address is used\"}],\"INVALID_FEE()\":[{\"notice\":\"Thrown when the fee is below 1e18 which is the fee percentage denominator\"}],\"INVALID_METADATA()\":[{\"notice\":\"Thrown when the metadata is invalid.\"}],\"INVALID_REGISTRATION()\":[{\"notice\":\"Thrown when the registration is invalid.\"}],\"IS_APPROVED_STRATEGY()\":[{\"notice\":\"Thrown when the strategy is approved and should be cloned\"}],\"MISMATCH()\":[{\"notice\":\"Thrown when mismatch in decoding data\"}],\"NOT_APPROVED_STRATEGY()\":[{\"notice\":\"Thrown when the strategy is not approved\"}],\"NOT_ENOUGH_FUNDS()\":[{\"notice\":\"Thrown when not enough funds are available\"}],\"NOT_IMPLEMENTED()\":[{\"notice\":\"Thrown when the function is not implemented\"}],\"NOT_INITIALIZED()\":[{\"notice\":\"Thrown when data is yet to be initialized\"}],\"POOL_ACTIVE()\":[{\"notice\":\"Thrown when a pool is already active\"}],\"POOL_INACTIVE()\":[{\"notice\":\"Thrown when a pool is inactive\"}],\"RECIPIENT_ALREADY_ACCEPTED()\":[{\"notice\":\"Thrown when recipient is already accepted.\"}],\"RECIPIENT_ERROR(address)\":[{\"notice\":\"Thrown when there is an error in recipient.\"}],\"RECIPIENT_NOT_ACCEPTED()\":[{\"notice\":\"Thrown when the recipient is not accepted.\"}],\"REGISTRATION_NOT_ACTIVE()\":[{\"notice\":\"Thrown when registration is not active.\"}],\"UNAUTHORIZED()\":[{\"notice\":\"Thrown when user is not authorized\"}],\"ZERO_ADDRESS()\":[{\"notice\":\"Thrown when address is the zero address\"}]},\"events\":{\"Allocated(address,uint256,address,address)\":{\"notice\":\"Emitted when a recipient is allocated to.\"},\"Distributed(address,address,uint256,address)\":{\"notice\":\"Emitted when tokens are distributed.\"},\"Initialized(uint256,bytes)\":{\"notice\":\"Emitted when strategy is initialized.\"},\"PoolActive(bool)\":{\"notice\":\"Emitted when pool is set to active status.\"},\"Registered(address,bytes,address)\":{\"notice\":\"Emitted when a recipient is registered.\"}},\"kind\":\"user\",\"methods\":{\"NATIVE()\":{\"notice\":\"Address of the native token\"},\"allocate(bytes,address)\":{\"notice\":\"Allocates to a recipient.\"},\"distribute(address[],bytes,address)\":{\"notice\":\"Distributes funds (tokens) to recipients.\"},\"getAllo()\":{\"notice\":\"Getter for the 'Allo' contract.\"},\"getPoolAmount()\":{\"notice\":\"Getter for the 'poolAmount'.\"},\"getPoolId()\":{\"notice\":\"Getter for the 'poolId'.\"},\"getProposalVoterStake(uint256,address)\":{\"notice\":\"Get stake of voter `_voter` on proposal #`_proposalId`\"},\"getRecipientStatus(address)\":{\"notice\":\"Getter for the status of a recipient.\"},\"getStrategyId()\":{\"notice\":\"Getter for the 'strategyId'.\"},\"increasePoolAmount(uint256)\":{\"notice\":\"Increases the pool amount.\"},\"initialize(uint256,bytes)\":{\"notice\":\"@dev The default BaseStrategy version will not use the data if a strategy wants to use it, they will overwrite it, use it, and then call super.initialize().\"},\"isPoolActive()\":{\"notice\":\"Getter for whether or not the pool is active.\"},\"isValidAllocator(address)\":{\"notice\":\"Checks if the '_allocator' is a valid allocator.\"},\"registerRecipient(bytes,address)\":{\"notice\":\"Registers a recipient.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"pkg/contracts/src/CVStrategy.sol\":\"CVStrategy\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1000},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":eas-proxy/=lib/allo-v2/lib/eas-proxy/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":hedgey-vesting/=lib/allo-v2/lib/hedgey-vesting/contracts/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-contracts/=lib/safe-contracts/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":superfluid-protocol-monorepo/=lib/allo-v2/lib/superfluid-protocol-monorepo/packages/solidity-semantic-money/src/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"]},\"sources\":{\"lib/allo-v2/contracts/core/interfaces/IAllo.sol\":{\"keccak256\":\"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7\",\"dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1\"]},\"lib/allo-v2/contracts/core/interfaces/IRegistry.sol\":{\"keccak256\":\"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e\",\"dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA\"]},\"lib/allo-v2/contracts/core/interfaces/IStrategy.sol\":{\"keccak256\":\"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487\",\"dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH\"]},\"lib/allo-v2/contracts/core/libraries/Clone.sol\":{\"keccak256\":\"0xc348b24b7d8a98c4faa5f2aa37ce9264a74f81dbdef1a9bae2eaa125585c3c7e\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://1335b3ec59ec7e3d12ea7c90b3aa56f4c26e0d44d342f54412933be9d4f16067\",\"dweb:/ipfs/QmXNFo2wCyq9cpvfgbdHvBUQecThFSEoUnMuZNS6WinDrr\"]},\"lib/allo-v2/contracts/core/libraries/Errors.sol\":{\"keccak256\":\"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf\",\"dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA\"]},\"lib/allo-v2/contracts/core/libraries/Metadata.sol\":{\"keccak256\":\"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c\",\"dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn\"]},\"lib/allo-v2/contracts/core/libraries/Native.sol\":{\"keccak256\":\"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a\",\"dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv\"]},\"lib/allo-v2/contracts/core/libraries/Transfer.sol\":{\"keccak256\":\"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11\",\"dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5\"]},\"lib/allo-v2/contracts/strategies/BaseStrategy.sol\":{\"keccak256\":\"0x3f1382dc6c35d50545e327e7ed6016f2bd752357d446bd698014073f0b812873\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://99500abcd617fa43f6dde49e2c7802821ceaf54a65a8055cbbf2695ecd107974\",\"dweb:/ipfs/QmUktZkWuu3GCMEijY1fqt7NMy7BzpTvEtcmpB1fuoa7zt\"]},\"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol\":{\"keccak256\":\"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298\",\"dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol\":{\"keccak256\":\"0x3d98edeb5d5be8410fca707b73dabe7544d1dd11e35b73dd907c473fe43cc3ae\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1a3fa9fc3aec149b8ad0dd8895277ab11e9244e9d2b7adc8404b22de974fc964\",\"dweb:/ipfs/QmRggzxs1WjuvGJSAKb2Nw5r7P3VDMefCWKTbkNPKRkv2j\"]},\"lib/openzeppelin-contracts/contracts/access/AccessControl.sol\":{\"keccak256\":\"0x0dd6e52cb394d7f5abe5dca2d4908a6be40417914720932de757de34a99ab87f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://dc117ce50ea746cab6b97ed1a1facee17a715ae0cb95d67b943dacbaf15176fb\",\"dweb:/ipfs/QmYRZ2UGNYwsHwfNu7Wjr8L2j1LBZ1mKv6NvbwgterYMXc\"]},\"lib/openzeppelin-contracts/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0x59ce320a585d7e1f163cd70390a0ef2ff9cec832e2aa544293a00692465a7a57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb2c137c343ef0c4c7ce7b18c1d108afdc9d315a04e48307288d2d05adcbde3a\",\"dweb:/ipfs/QmUxhrAQM3MM3FF5j7AtcXLXguWCJBHJ14BRdVtuoQc8Fh\"]},\"lib/openzeppelin-contracts/contracts/access/Ownable.sol\":{\"keccak256\":\"0xba43b97fba0d32eb4254f6a5a297b39a19a247082a02d6e69349e071e2946218\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fc980984badf3984b6303b377711220e067722bbd6a135b24669ff5069ef9f32\",\"dweb:/ipfs/QmPHXMSXj99XjSVM21YsY6aNtLLjLVXDbyN76J5HQYvvrz\"]},\"lib/openzeppelin-contracts/contracts/security/ReentrancyGuard.sol\":{\"keccak256\":\"0xa535a5df777d44e945dd24aa43a11e44b024140fc340ad0dfe42acf4002aade1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://41319e7f621f2dc3733511332c4fd032f8e32ad2aa7fd6f665c19741d9941a34\",\"dweb:/ipfs/QmcYR3bd862GD1Bc7jwrU9bGxrhUu5na1oP964bDCu2id1\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15\",\"dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5\",\"dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd\",\"dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol\":{\"keccak256\":\"0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a\",\"dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0x909d608c2db6eb165ca178c81289a07ed2e118e444d0025b2a85c97d0b44a4fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://656cda26512ddd7373c2d5551c8fae759fc30f05b10f0fc2e738e9274199dbd4\",\"dweb:/ipfs/QmTSArSzQRFbQmHgq7U1PZXnsDFhvDZhKVu9CzMG4yo6Lx\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"lib/openzeppelin-contracts/contracts/utils/Strings.sol\":{\"keccak256\":\"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f\",\"dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol\":{\"keccak256\":\"0x5a08ad61f4e82b8a3323562661a86fb10b10190848073fdc13d4ac43710ffba5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6f7bb74cf88fd88daa34e118bc6e363381d05044f34f391d39a10c0c9dac3ebd\",\"dweb:/ipfs/QmNbQ3v8v4zuDtg7VeLAbdhAm3tCzUodNoDZZ8ekmCHWZX\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]},\"pkg/contracts/src/CVStrategy.sol\":{\"keccak256\":\"0x132bcf17470960e380d841159d9389985d609aaae1c9a657c78902f7871da957\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://84e905bf392579b44f33fff8586431b940e110b2210854cf487321cc92061705\",\"dweb:/ipfs/QmQpvszYu8RbrXmUFLifSodQzV8LAqazk1fzXNARGc5sBT\"]},\"pkg/contracts/src/ISybilScorer.sol\":{\"keccak256\":\"0x0e25fbb8497ac3c969d80c9032362d45e56c0a45dc9ba3dff6a8a704571f38ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0dff90ebae6e7131a5300fcaf525bc2ab0ae90fcd13f277d7b7b6939eeb8b7eb\",\"dweb:/ipfs/QmYGkYqpUVrBWoNY6f3CtwrrVQFWSvnJfpu68t95f6AkBY\"]},\"pkg/contracts/src/RegistryCommunity.sol\":{\"keccak256\":\"0xc735f4d2635149f2db9bff291da56e08c3c312d9eb1b767b8a1e3e51584d5734\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://247b33b78abface6a7e2da38174386de9b543f6a27e8340e26d854bff57184a3\",\"dweb:/ipfs/QmedNdqkqeboGzz9w868uGf7KnXUaYZe6i1YcdUPPkJnnf\"]},\"pkg/contracts/src/RegistryFactory.sol\":{\"keccak256\":\"0x888b7f5eb1079f90ccfa0b41d8a970bffd8d4d469f9b31917a58279b358dbda5\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://af25fd783de00adf01d1c7caa572801fed0d474306a43b862535b08e65ec10c6\",\"dweb:/ipfs/Qmeb2nEaMQLV86y1CYAAV2c6BYpBDTbpLuC1SigeNjdqLo\"]},\"pkg/contracts/src/interfaces/ISafe.sol\":{\"keccak256\":\"0x878a210809bb684c42157a10f3f90350a67d0a4863f130499942b06f0f2c9143\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://fa2d71bd427c3415e98a2ee15ff673f3cc61c17f14d7087c5eedc83b55f6b0ef\",\"dweb:/ipfs/QmesVSmJQQzi6ys1cvhQFCJyDXchb736mT5bXks4Yp6Cbj\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"_allo","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"type":"error","name":"ALLOCATION_ACTIVE"},{"inputs":[],"type":"error","name":"ALLOCATION_NOT_ACTIVE"},{"inputs":[],"type":"error","name":"ALLOCATION_NOT_ENDED"},{"inputs":[],"type":"error","name":"ALREADY_INITIALIZED"},{"inputs":[],"type":"error","name":"AMOUNT_MISMATCH"},{"inputs":[],"type":"error","name":"ANCHOR_ERROR"},{"inputs":[],"type":"error","name":"ARRAY_MISMATCH"},{"inputs":[],"type":"error","name":"AddressCannotBeZero"},{"inputs":[],"type":"error","name":"AmountOverMaxRatio"},{"inputs":[],"type":"error","name":"CantIncreaseFixedSystem"},{"inputs":[],"type":"error","name":"ConvictionUnderMinimumThreshold"},{"inputs":[],"type":"error","name":"INVALID"},{"inputs":[],"type":"error","name":"INVALID_ADDRESS"},{"inputs":[],"type":"error","name":"INVALID_FEE"},{"inputs":[],"type":"error","name":"INVALID_METADATA"},{"inputs":[],"type":"error","name":"INVALID_REGISTRATION"},{"inputs":[],"type":"error","name":"IS_APPROVED_STRATEGY"},{"inputs":[],"type":"error","name":"MISMATCH"},{"inputs":[],"type":"error","name":"MaxPointsReached"},{"inputs":[],"type":"error","name":"NONCE_NOT_AVAILABLE"},{"inputs":[],"type":"error","name":"NOT_APPROVED_STRATEGY"},{"inputs":[],"type":"error","name":"NOT_ENOUGH_FUNDS"},{"inputs":[],"type":"error","name":"NOT_IMPLEMENTED"},{"inputs":[],"type":"error","name":"NOT_INITIALIZED"},{"inputs":[],"type":"error","name":"NOT_PENDING_OWNER"},{"inputs":[{"internalType":"uint256","name":"pointsSupport","type":"uint256"},{"internalType":"uint256","name":"pointsBalance","type":"uint256"}],"type":"error","name":"NotEnoughPointsToSupport"},{"inputs":[],"type":"error","name":"NotImplemented"},{"inputs":[],"type":"error","name":"OnlyCommunityAllowed"},{"inputs":[],"type":"error","name":"OnlyCouncilSafe"},{"inputs":[],"type":"error","name":"POOL_ACTIVE"},{"inputs":[],"type":"error","name":"POOL_INACTIVE"},{"inputs":[{"internalType":"uint256","name":"_proposalId","type":"uint256"},{"internalType":"uint256","name":"_requestedAmount","type":"uint256"},{"internalType":"uint256","name":"_poolAmount","type":"uint256"}],"type":"error","name":"PoolAmountNotEnough"},{"inputs":[],"type":"error","name":"PoolIdCannotBeZero"},{"inputs":[],"type":"error","name":"PoolIsEmpty"},{"inputs":[],"type":"error","name":"ProposalDataIsEmpty"},{"inputs":[],"type":"error","name":"ProposalIdCannotBeZero"},{"inputs":[{"internalType":"uint256","name":"_proposalId","type":"uint256"}],"type":"error","name":"ProposalNotActive"},{"inputs":[{"internalType":"uint256","name":"_proposalId","type":"uint256"}],"type":"error","name":"ProposalNotInList"},{"inputs":[{"internalType":"uint256","name":"_proposalId","type":"uint256"},{"internalType":"uint256","name":"index","type":"uint256"}],"type":"error","name":"ProposalSupportDuplicated"},{"inputs":[],"type":"error","name":"RECIPIENT_ALREADY_ACCEPTED"},{"inputs":[{"internalType":"address","name":"recipientId","type":"address"}],"type":"error","name":"RECIPIENT_ERROR"},{"inputs":[],"type":"error","name":"RECIPIENT_NOT_ACCEPTED"},{"inputs":[],"type":"error","name":"REGISTRATION_NOT_ACTIVE"},{"inputs":[],"type":"error","name":"RegistryCannotBeZero"},{"inputs":[{"internalType":"uint256","name":"_support","type":"uint256"},{"internalType":"int256","name":"_delta","type":"int256"},{"internalType":"int256","name":"_result","type":"int256"}],"type":"error","name":"SupportUnderflow"},{"inputs":[],"type":"error","name":"TokenCannotBeZero"},{"inputs":[],"type":"error","name":"TokenNotAllowed"},{"inputs":[],"type":"error","name":"UNAUTHORIZED"},{"inputs":[],"type":"error","name":"UserCannotBeZero"},{"inputs":[],"type":"error","name":"UserCannotExecuteAction"},{"inputs":[],"type":"error","name":"UserIsInactive"},{"inputs":[],"type":"error","name":"UserNotInRegistry"},{"inputs":[],"type":"error","name":"ZERO_ADDRESS"},{"inputs":[{"internalType":"address","name":"recipientId","type":"address","indexed":true},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false},{"internalType":"address","name":"token","type":"address","indexed":false},{"internalType":"address","name":"sender","type":"address","indexed":false}],"type":"event","name":"Allocated","anonymous":false},{"inputs":[{"internalType":"uint256","name":"decay","type":"uint256","indexed":false}],"type":"event","name":"DecayUpdated","anonymous":false},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256","indexed":false},{"internalType":"address","name":"beneficiary","type":"address","indexed":false},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false}],"type":"event","name":"Distributed","anonymous":false},{"inputs":[{"internalType":"address","name":"recipientId","type":"address","indexed":true},{"internalType":"address","name":"recipientAddress","type":"address","indexed":false},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false},{"internalType":"address","name":"sender","type":"address","indexed":false}],"type":"event","name":"Distributed","anonymous":false},{"inputs":[{"internalType":"uint256","name":"poolId","type":"uint256","indexed":false},{"internalType":"bytes","name":"data","type":"bytes","indexed":false}],"type":"event","name":"Initialized","anonymous":false},{"inputs":[{"internalType":"uint256","name":"poolId","type":"uint256","indexed":false},{"internalType":"struct StrategyStruct.InitializeParams","name":"data","type":"tuple","components":[{"internalType":"address","name":"registryCommunity","type":"address"},{"internalType":"uint256","name":"decay","type":"uint256"},{"internalType":"uint256","name":"maxRatio","type":"uint256"},{"internalType":"uint256","name":"weight","type":"uint256"},{"internalType":"uint256","name":"minThresholdPoints","type":"uint256"},{"internalType":"enum StrategyStruct.ProposalType","name":"proposalType","type":"uint8"},{"internalType":"enum StrategyStruct.PointSystem","name":"pointSystem","type":"uint8"},{"internalType":"struct StrategyStruct.PointSystemConfig","name":"pointConfig","type":"tuple","components":[{"internalType":"uint256","name":"maxAmount","type":"uint256"}]},{"internalType":"address","name":"sybilScorer","type":"address"}],"indexed":false}],"type":"event","name":"InitializedCV","anonymous":false},{"inputs":[{"internalType":"uint256","name":"maxRatio","type":"uint256","indexed":false}],"type":"event","name":"MaxRatioUpdated","anonymous":false},{"inputs":[{"internalType":"uint256","name":"before","type":"uint256","indexed":false},{"internalType":"uint256","name":"minThresholdPoints","type":"uint256","indexed":false}],"type":"event","name":"MinThresholdPointsUpdated","anonymous":false},{"inputs":[{"internalType":"address","name":"member","type":"address","indexed":false}],"type":"event","name":"PointsDeactivated","anonymous":false},{"inputs":[{"internalType":"bool","name":"active","type":"bool","indexed":false}],"type":"event","name":"PoolActive","anonymous":false},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256","indexed":false}],"type":"event","name":"PoolAmountIncreased","anonymous":false},{"inputs":[{"internalType":"address","name":"member","type":"address","indexed":false},{"internalType":"uint256","name":"tokensUnStaked","type":"uint256","indexed":false},{"internalType":"uint256","name":"pointsToDecrease","type":"uint256","indexed":false}],"type":"event","name":"PowerDecreased","anonymous":false},{"inputs":[{"internalType":"address","name":"member","type":"address","indexed":false},{"internalType":"uint256","name":"tokensStaked","type":"uint256","indexed":false},{"internalType":"uint256","name":"pointsToIncrease","type":"uint256","indexed":false}],"type":"event","name":"PowerIncreased","anonymous":false},{"inputs":[{"internalType":"uint256","name":"poolId","type":"uint256","indexed":false},{"internalType":"uint256","name":"proposalId","type":"uint256","indexed":false}],"type":"event","name":"ProposalCreated","anonymous":false},{"inputs":[{"internalType":"address","name":"recipientId","type":"address","indexed":true},{"internalType":"bytes","name":"data","type":"bytes","indexed":false},{"internalType":"address","name":"sender","type":"address","indexed":false}],"type":"event","name":"Registered","anonymous":false},{"inputs":[{"internalType":"address","name":"registryCommunity","type":"address","indexed":false}],"type":"event","name":"RegistryUpdated","anonymous":false},{"inputs":[{"internalType":"address","name":"from","type":"address","indexed":false},{"internalType":"uint256","name":"proposalId","type":"uint256","indexed":false},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false},{"internalType":"uint256","name":"totalStakedAmount","type":"uint256","indexed":false},{"internalType":"uint256","name":"convictionLast","type":"uint256","indexed":false}],"type":"event","name":"SupportAdded","anonymous":false},{"inputs":[{"internalType":"uint256","name":"weight","type":"uint256","indexed":false}],"type":"event","name":"WeightUpdated","anonymous":false},{"inputs":[],"stateMutability":"payable","type":"fallback"},{"inputs":[],"stateMutability":"view","type":"function","name":"D","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"MAX_STAKED_PROPOSALS","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"NATIVE","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_minThresholdPoints","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"activatePoints"},{"inputs":[{"internalType":"bytes","name":"_data","type":"bytes"},{"internalType":"address","name":"_sender","type":"address"}],"stateMutability":"payable","type":"function","name":"allocate"},{"inputs":[{"internalType":"uint256","name":"_timePassed","type":"uint256"},{"internalType":"uint256","name":"_lastConv","type":"uint256"},{"internalType":"uint256","name":"_oldAmount","type":"uint256"}],"stateMutability":"view","type":"function","name":"calculateConviction","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"_requestedAmount","type":"uint256"}],"stateMutability":"view","type":"function","name":"calculateThreshold","outputs":[{"internalType":"uint256","name":"_threshold","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"stateMutability":"view","type":"function","name":"canExecuteProposal","outputs":[{"internalType":"bool","name":"canBeExecuted","type":"bool"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"deactivatePoints"},{"inputs":[{"internalType":"address","name":"_member","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"deactivatePoints"},{"inputs":[],"stateMutability":"view","type":"function","name":"decay","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"_member","type":"address"},{"internalType":"uint256","name":"_amountToUnstake","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"decreasePower","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address[]","name":"_recipientIds","type":"address[]"},{"internalType":"bytes","name":"_data","type":"bytes"},{"internalType":"address","name":"_sender","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"distribute"},{"inputs":[],"stateMutability":"view","type":"function","name":"getAllo","outputs":[{"internalType":"contract IAllo","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getMaxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"view","type":"function","name":"getMaxConviction","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"_proposalId","type":"uint256"}],"stateMutability":"view","type":"function","name":"getMetadata","outputs":[{"internalType":"struct Metadata","name":"","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]}]},{"inputs":[{"internalType":"address[]","name":"","type":"address[]"},{"internalType":"bytes[]","name":"","type":"bytes[]"}],"stateMutability":"pure","type":"function","name":"getPayouts","outputs":[{"internalType":"struct IStrategy.PayoutSummary[]","name":"","type":"tuple[]","components":[{"internalType":"address","name":"recipientAddress","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getPointSystem","outputs":[{"internalType":"enum StrategyStruct.PointSystem","name":"","type":"uint8"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getPoolAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getPoolId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"_proposalId","type":"uint256"}],"stateMutability":"view","type":"function","name":"getProposal","outputs":[{"internalType":"address","name":"submitter","type":"address"},{"internalType":"address","name":"beneficiary","type":"address"},{"internalType":"address","name":"requestedToken","type":"address"},{"internalType":"uint256","name":"requestedAmount","type":"uint256"},{"internalType":"uint256","name":"stakedAmount","type":"uint256"},{"internalType":"enum StrategyStruct.ProposalStatus","name":"proposalStatus","type":"uint8"},{"internalType":"uint256","name":"blockLast","type":"uint256"},{"internalType":"uint256","name":"convictionLast","type":"uint256"},{"internalType":"uint256","name":"threshold","type":"uint256"},{"internalType":"uint256","name":"voterStakedPoints","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"_proposalId","type":"uint256"}],"stateMutability":"view","type":"function","name":"getProposalStakedAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"_proposalId","type":"uint256"},{"internalType":"address","name":"_voter","type":"address"}],"stateMutability":"view","type":"function","name":"getProposalVoterStake","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"_recipientId","type":"address"}],"stateMutability":"view","type":"function","name":"getRecipientStatus","outputs":[{"internalType":"enum IStrategy.Status","name":"","type":"uint8"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getStrategyId","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"address","name":"_voter","type":"address"}],"stateMutability":"view","type":"function","name":"getTotalVoterStakePct","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"increasePoolAmount"},{"inputs":[{"internalType":"address","name":"_member","type":"address"},{"internalType":"uint256","name":"_amountToStake","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"increasePower","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"_poolId","type":"uint256"},{"internalType":"bytes","name":"_data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[],"stateMutability":"view","type":"function","name":"isPoolActive","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"_allocator","type":"address"}],"stateMutability":"view","type":"function","name":"isValidAllocator","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"maxRatio","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"pointConfig","outputs":[{"internalType":"uint256","name":"maxAmount","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"pointSystem","outputs":[{"internalType":"enum StrategyStruct.PointSystem","name":"","type":"uint8"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"proposalCounter","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"proposalType","outputs":[{"internalType":"enum StrategyStruct.ProposalType","name":"","type":"uint8"}]},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function","name":"proposals","outputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"uint256","name":"requestedAmount","type":"uint256"},{"internalType":"uint256","name":"stakedAmount","type":"uint256"},{"internalType":"uint256","name":"convictionLast","type":"uint256"},{"internalType":"address","name":"beneficiary","type":"address"},{"internalType":"address","name":"submitter","type":"address"},{"internalType":"address","name":"requestedToken","type":"address"},{"internalType":"uint256","name":"blockLast","type":"uint256"},{"internalType":"enum StrategyStruct.ProposalStatus","name":"proposalStatus","type":"uint8"},{"internalType":"struct Metadata","name":"metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]}]},{"inputs":[{"internalType":"bytes","name":"_data","type":"bytes"},{"internalType":"address","name":"_sender","type":"address"}],"stateMutability":"payable","type":"function","name":"registerRecipient","outputs":[{"internalType":"address","name":"recipientId","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"registryCommunity","outputs":[{"internalType":"contract RegistryCommunity","name":"","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"_decay","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"setDecay"},{"inputs":[{"internalType":"uint256","name":"_maxRatio","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"setMaxRatio"},{"inputs":[{"internalType":"uint256","name":"minThresholdPoints_","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"setMinThresholdPoints"},{"inputs":[{"internalType":"bool","name":"_active","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"setPoolActive"},{"inputs":[{"internalType":"address","name":"_registryCommunity","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setRegistryCommunity"},{"inputs":[{"internalType":"address","name":"_sybilScorer","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setSybilScorer"},{"inputs":[{"internalType":"uint256","name":"_weight","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"setWeight"},{"inputs":[{"internalType":"struct StrategyStruct.ProposalSupport[]","name":"","type":"tuple[]","components":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"int256","name":"deltaSupport","type":"int256"}]}],"stateMutability":"pure","type":"function","name":"supportProposal"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"stateMutability":"view","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"sybilScorer","outputs":[{"internalType":"contract ISybilScorer","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"totalEffectiveActivePoints","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"totalPointsActivated","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"totalStaked","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function","name":"totalVoterStakePct","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"updateProposalConviction","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function","name":"voterStakedProposals","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"weight","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"payable","type":"receive"}],"devdoc":{"kind":"dev","methods":{"allocate(bytes,address)":{"details":"The encoded '_data' will be determined by the strategy implementation. Only 'Allo' contract can call this when it is initialized.","params":{"_data":"The data to use to allocate to the recipient","_sender":"The address of the sender"}},"calculateConviction(uint256,uint256,uint256)":{"details":"Conviction formula: a^t * y(0) + x * (1 - a^t) / (1 - a) Solidity implementation: y = (2^128 * a^t * y0 + x * D * (2^128 - 2^128 * a^t) / (D - aD) + 2^127) / 2^128","params":{"_lastConv":"Last conviction record","_oldAmount":"Amount of tokens staked until now","_timePassed":"Number of blocks since last conviction record"},"returns":{"_0":"Current conviction"}},"calculateThreshold(uint256)":{"details":"Formula: ρ * totalStaked / (1 - a) / (β - requestedAmount / total)**2 For the Solidity implementation we amplify ρ and β and simplify the formula: weight = ρ * D maxRatio = β * D decay = a * D threshold = weight * totalStaked * D ** 2 * funds ** 2 / (D - decay) / (maxRatio * funds - requestedAmount * D) ** 2","params":{"_requestedAmount":"Requested amount of tokens on certain proposal"},"returns":{"_threshold":"Threshold a proposal's conviction should surpass in order to be able to executed it."}},"distribute(address[],bytes,address)":{"details":"The encoded '_data' will be determined by the strategy implementation. Only 'Allo' contract can call this when it is initialized.","params":{"_data":"The data to use to distribute to the recipients","_recipientIds":"The IDs of the recipients","_sender":"The address of the sender"}},"getAllo()":{"returns":{"_0":"The Allo contract"}},"getPayouts(address[],bytes[])":{"returns":{"_0":"Input the values you would send to distribute(), get the amounts each recipient in the array would receive"}},"getPoolAmount()":{"returns":{"_0":"The balance of the pool"}},"getPoolId()":{"returns":{"_0":"The ID of the pool"}},"getProposal(uint256)":{"details":"Get proposal details","params":{"_proposalId":"Proposal id"},"returns":{"beneficiary":"Proposal beneficiary","blockLast":"Last block when conviction was calculated","convictionLast":"Last conviction calculated","proposalStatus":"Proposal status","requestedAmount":"Proposal requested amount","requestedToken":"Proposal requested token","stakedAmount":"Proposal staked points","submitter":"Proposal submitter","threshold":"Proposal threshold"}},"getProposalVoterStake(uint256,address)":{"params":{"_proposalId":"Proposal id","_voter":"Voter address"},"returns":{"_0":"Proposal voter stake"}},"getRecipientStatus(address)":{"params":{"_recipientId":"The ID of the recipient"},"returns":{"_0":"The status of the recipient"}},"getStrategyId()":{"returns":{"_0":"The ID of the strategy"}},"increasePoolAmount(uint256)":{"details":"Increases the 'poolAmount' by '_amount'. Only 'Allo' contract can call this.","params":{"_amount":"The amount to increase the pool by"}},"initialize(uint256,bytes)":{"params":{"_data":"The encoded data","_poolId":"The ID of the pool"}},"isPoolActive()":{"returns":{"_0":"'true' if the pool is active, otherwise 'false'"}},"isValidAllocator(address)":{"details":"How the allocator is determined is up to the strategy implementation.","params":{"_allocator":"The address to check if it is a valid allocator for the strategy."},"returns":{"_0":"'true' if the address is a valid allocator, 'false' otherwise"}},"registerRecipient(bytes,address)":{"details":"Registers a recipient and returns the ID of the recipient. The encoded '_data' will be determined by the strategy implementation. Only 'Allo' contract can call this when it is initialized.","params":{"_data":"The data to use to register the recipient","_sender":"The address of the sender"},"returns":{"recipientId":"The recipientId"}},"supportsInterface(bytes4)":{"details":"See {IERC165-supportsInterface}."}},"version":1},"userdoc":{"kind":"user","methods":{"NATIVE()":{"notice":"Address of the native token"},"allocate(bytes,address)":{"notice":"Allocates to a recipient."},"distribute(address[],bytes,address)":{"notice":"Distributes funds (tokens) to recipients."},"getAllo()":{"notice":"Getter for the 'Allo' contract."},"getPoolAmount()":{"notice":"Getter for the 'poolAmount'."},"getPoolId()":{"notice":"Getter for the 'poolId'."},"getProposalVoterStake(uint256,address)":{"notice":"Get stake of voter `_voter` on proposal #`_proposalId`"},"getRecipientStatus(address)":{"notice":"Getter for the status of a recipient."},"getStrategyId()":{"notice":"Getter for the 'strategyId'."},"increasePoolAmount(uint256)":{"notice":"Increases the pool amount."},"initialize(uint256,bytes)":{"notice":"@dev The default BaseStrategy version will not use the data if a strategy wants to use it, they will overwrite it, use it, and then call super.initialize()."},"isPoolActive()":{"notice":"Getter for whether or not the pool is active."},"isValidAllocator(address)":{"notice":"Checks if the '_allocator' is a valid allocator."},"registerRecipient(bytes,address)":{"notice":"Registers a recipient."}},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","eas-proxy/=lib/allo-v2/lib/eas-proxy/contracts/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","hedgey-vesting/=lib/allo-v2/lib/hedgey-vesting/contracts/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-contracts/=lib/safe-contracts/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","superfluid-protocol-monorepo/=lib/allo-v2/lib/superfluid-protocol-monorepo/packages/solidity-semantic-money/src/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":1000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"pkg/contracts/src/CVStrategy.sol":"CVStrategy"},"evmVersion":"paris","libraries":{}},"sources":{"lib/allo-v2/contracts/core/interfaces/IAllo.sol":{"keccak256":"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce","urls":["bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7","dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/interfaces/IRegistry.sol":{"keccak256":"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f","urls":["bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e","dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA"],"license":"MIT"},"lib/allo-v2/contracts/core/interfaces/IStrategy.sol":{"keccak256":"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23","urls":["bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487","dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Clone.sol":{"keccak256":"0xc348b24b7d8a98c4faa5f2aa37ce9264a74f81dbdef1a9bae2eaa125585c3c7e","urls":["bzz-raw://1335b3ec59ec7e3d12ea7c90b3aa56f4c26e0d44d342f54412933be9d4f16067","dweb:/ipfs/QmXNFo2wCyq9cpvfgbdHvBUQecThFSEoUnMuZNS6WinDrr"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Errors.sol":{"keccak256":"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15","urls":["bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf","dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Metadata.sol":{"keccak256":"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44","urls":["bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c","dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Native.sol":{"keccak256":"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5","urls":["bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a","dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Transfer.sol":{"keccak256":"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286","urls":["bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11","dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/strategies/BaseStrategy.sol":{"keccak256":"0x3f1382dc6c35d50545e327e7ed6016f2bd752357d446bd698014073f0b812873","urls":["bzz-raw://99500abcd617fa43f6dde49e2c7802821ceaf54a65a8055cbbf2695ecd107974","dweb:/ipfs/QmUktZkWuu3GCMEijY1fqt7NMy7BzpTvEtcmpB1fuoa7zt"],"license":"AGPL-3.0-only"},"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol":{"keccak256":"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624","urls":["bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298","dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt"],"license":"MIT"},"lib/forge-std/src/console.sol":{"keccak256":"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba","urls":["bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70","dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol":{"keccak256":"0x3d98edeb5d5be8410fca707b73dabe7544d1dd11e35b73dd907c473fe43cc3ae","urls":["bzz-raw://1a3fa9fc3aec149b8ad0dd8895277ab11e9244e9d2b7adc8404b22de974fc964","dweb:/ipfs/QmRggzxs1WjuvGJSAKb2Nw5r7P3VDMefCWKTbkNPKRkv2j"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/access/AccessControl.sol":{"keccak256":"0x0dd6e52cb394d7f5abe5dca2d4908a6be40417914720932de757de34a99ab87f","urls":["bzz-raw://dc117ce50ea746cab6b97ed1a1facee17a715ae0cb95d67b943dacbaf15176fb","dweb:/ipfs/QmYRZ2UGNYwsHwfNu7Wjr8L2j1LBZ1mKv6NvbwgterYMXc"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/access/IAccessControl.sol":{"keccak256":"0x59ce320a585d7e1f163cd70390a0ef2ff9cec832e2aa544293a00692465a7a57","urls":["bzz-raw://bb2c137c343ef0c4c7ce7b18c1d108afdc9d315a04e48307288d2d05adcbde3a","dweb:/ipfs/QmUxhrAQM3MM3FF5j7AtcXLXguWCJBHJ14BRdVtuoQc8Fh"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/access/Ownable.sol":{"keccak256":"0xba43b97fba0d32eb4254f6a5a297b39a19a247082a02d6e69349e071e2946218","urls":["bzz-raw://fc980984badf3984b6303b377711220e067722bbd6a135b24669ff5069ef9f32","dweb:/ipfs/QmPHXMSXj99XjSVM21YsY6aNtLLjLVXDbyN76J5HQYvvrz"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/security/ReentrancyGuard.sol":{"keccak256":"0xa535a5df777d44e945dd24aa43a11e44b024140fc340ad0dfe42acf4002aade1","urls":["bzz-raw://41319e7f621f2dc3733511332c4fd032f8e32ad2aa7fd6f665c19741d9941a34","dweb:/ipfs/QmcYR3bd862GD1Bc7jwrU9bGxrhUu5na1oP964bDCu2id1"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol":{"keccak256":"0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c","urls":["bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15","dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305","urls":["bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5","dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol":{"keccak256":"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca","urls":["bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd","dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol":{"keccak256":"0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a","urls":["bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a","dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol":{"keccak256":"0x909d608c2db6eb165ca178c81289a07ed2e118e444d0025b2a85c97d0b44a4fa","urls":["bzz-raw://656cda26512ddd7373c2d5551c8fae759fc30f05b10f0fc2e738e9274199dbd4","dweb:/ipfs/QmTSArSzQRFbQmHgq7U1PZXnsDFhvDZhKVu9CzMG4yo6Lx"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Address.sol":{"keccak256":"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa","urls":["bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931","dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Context.sol":{"keccak256":"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7","urls":["bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92","dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Strings.sol":{"keccak256":"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0","urls":["bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f","dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol":{"keccak256":"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b","urls":["bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d","dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol":{"keccak256":"0x5a08ad61f4e82b8a3323562661a86fb10b10190848073fdc13d4ac43710ffba5","urls":["bzz-raw://6f7bb74cf88fd88daa34e118bc6e363381d05044f34f391d39a10c0c9dac3ebd","dweb:/ipfs/QmNbQ3v8v4zuDtg7VeLAbdhAm3tCzUodNoDZZ8ekmCHWZX"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/Math.sol":{"keccak256":"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3","urls":["bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c","dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol":{"keccak256":"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc","urls":["bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7","dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6"],"license":"MIT"},"pkg/contracts/src/CVStrategy.sol":{"keccak256":"0x132bcf17470960e380d841159d9389985d609aaae1c9a657c78902f7871da957","urls":["bzz-raw://84e905bf392579b44f33fff8586431b940e110b2210854cf487321cc92061705","dweb:/ipfs/QmQpvszYu8RbrXmUFLifSodQzV8LAqazk1fzXNARGc5sBT"],"license":"AGPL-3.0-only"},"pkg/contracts/src/ISybilScorer.sol":{"keccak256":"0x0e25fbb8497ac3c969d80c9032362d45e56c0a45dc9ba3dff6a8a704571f38ea","urls":["bzz-raw://0dff90ebae6e7131a5300fcaf525bc2ab0ae90fcd13f277d7b7b6939eeb8b7eb","dweb:/ipfs/QmYGkYqpUVrBWoNY6f3CtwrrVQFWSvnJfpu68t95f6AkBY"],"license":"MIT"},"pkg/contracts/src/RegistryCommunity.sol":{"keccak256":"0xc735f4d2635149f2db9bff291da56e08c3c312d9eb1b767b8a1e3e51584d5734","urls":["bzz-raw://247b33b78abface6a7e2da38174386de9b543f6a27e8340e26d854bff57184a3","dweb:/ipfs/QmedNdqkqeboGzz9w868uGf7KnXUaYZe6i1YcdUPPkJnnf"],"license":"AGPL-3.0-only"},"pkg/contracts/src/RegistryFactory.sol":{"keccak256":"0x888b7f5eb1079f90ccfa0b41d8a970bffd8d4d469f9b31917a58279b358dbda5","urls":["bzz-raw://af25fd783de00adf01d1c7caa572801fed0d474306a43b862535b08e65ec10c6","dweb:/ipfs/Qmeb2nEaMQLV86y1CYAAV2c6BYpBDTbpLuC1SigeNjdqLo"],"license":"AGPL-3.0-only"},"pkg/contracts/src/interfaces/ISafe.sol":{"keccak256":"0x878a210809bb684c42157a10f3f90350a67d0a4863f130499942b06f0f2c9143","urls":["bzz-raw://fa2d71bd427c3415e98a2ee15ff673f3cc61c17f14d7087c5eedc83b55f6b0ef","dweb:/ipfs/QmesVSmJQQzi6ys1cvhQFCJyDXchb736mT5bXks4Yp6Cbj"],"license":"LGPL-3.0-only"}},"version":1},"storageLayout":{"storage":[{"astId":3339,"contract":"pkg/contracts/src/CVStrategy.sol:CVStrategy","label":"poolActive","offset":0,"slot":"0","type":"t_bool"},{"astId":3341,"contract":"pkg/contracts/src/CVStrategy.sol:CVStrategy","label":"poolId","offset":0,"slot":"1","type":"t_uint256"},{"astId":3343,"contract":"pkg/contracts/src/CVStrategy.sol:CVStrategy","label":"poolAmount","offset":0,"slot":"2","type":"t_uint256"},{"astId":74986,"contract":"pkg/contracts/src/CVStrategy.sol:CVStrategy","label":"decay","offset":0,"slot":"3","type":"t_uint256"},{"astId":74988,"contract":"pkg/contracts/src/CVStrategy.sol:CVStrategy","label":"maxRatio","offset":0,"slot":"4","type":"t_uint256"},{"astId":74990,"contract":"pkg/contracts/src/CVStrategy.sol:CVStrategy","label":"weight","offset":0,"slot":"5","type":"t_uint256"},{"astId":74993,"contract":"pkg/contracts/src/CVStrategy.sol:CVStrategy","label":"proposalCounter","offset":0,"slot":"6","type":"t_uint256"},{"astId":74995,"contract":"pkg/contracts/src/CVStrategy.sol:CVStrategy","label":"totalStaked","offset":0,"slot":"7","type":"t_uint256"},{"astId":74997,"contract":"pkg/contracts/src/CVStrategy.sol:CVStrategy","label":"totalPointsActivated","offset":0,"slot":"8","type":"t_uint256"},{"astId":75000,"contract":"pkg/contracts/src/CVStrategy.sol:CVStrategy","label":"_minThresholdPoints","offset":0,"slot":"9","type":"t_uint256"},{"astId":75002,"contract":"pkg/contracts/src/CVStrategy.sol:CVStrategy","label":"surpressStateMutabilityWarning","offset":0,"slot":"10","type":"t_uint256"},{"astId":75005,"contract":"pkg/contracts/src/CVStrategy.sol:CVStrategy","label":"proposalType","offset":0,"slot":"11","type":"t_enum(ProposalType)74726"},{"astId":75008,"contract":"pkg/contracts/src/CVStrategy.sol:CVStrategy","label":"pointSystem","offset":1,"slot":"11","type":"t_enum(PointSystem)74731"},{"astId":75011,"contract":"pkg/contracts/src/CVStrategy.sol:CVStrategy","label":"pointConfig","offset":0,"slot":"12","type":"t_struct(PointSystemConfig)74784_storage"},{"astId":75014,"contract":"pkg/contracts/src/CVStrategy.sol:CVStrategy","label":"registryCommunity","offset":0,"slot":"13","type":"t_contract(RegistryCommunity)83082"},{"astId":75017,"contract":"pkg/contracts/src/CVStrategy.sol:CVStrategy","label":"sybilScorer","offset":0,"slot":"14","type":"t_contract(ISybilScorer)80667"},{"astId":75022,"contract":"pkg/contracts/src/CVStrategy.sol:CVStrategy","label":"proposals","offset":0,"slot":"15","type":"t_mapping(t_uint256,t_struct(Proposal)74776_storage)"},{"astId":75026,"contract":"pkg/contracts/src/CVStrategy.sol:CVStrategy","label":"totalVoterStakePct","offset":0,"slot":"16","type":"t_mapping(t_address,t_uint256)"},{"astId":75031,"contract":"pkg/contracts/src/CVStrategy.sol:CVStrategy","label":"voterStakedProposals","offset":0,"slot":"17","type":"t_mapping(t_address,t_array(t_uint256)dyn_storage)"}],"types":{"t_address":{"encoding":"inplace","label":"address","numberOfBytes":"20"},"t_array(t_uint256)dyn_storage":{"encoding":"dynamic_array","label":"uint256[]","numberOfBytes":"32","base":"t_uint256"},"t_bool":{"encoding":"inplace","label":"bool","numberOfBytes":"1"},"t_contract(ISybilScorer)80667":{"encoding":"inplace","label":"contract ISybilScorer","numberOfBytes":"20"},"t_contract(RegistryCommunity)83082":{"encoding":"inplace","label":"contract RegistryCommunity","numberOfBytes":"20"},"t_enum(PointSystem)74731":{"encoding":"inplace","label":"enum StrategyStruct.PointSystem","numberOfBytes":"1"},"t_enum(ProposalStatus)74749":{"encoding":"inplace","label":"enum StrategyStruct.ProposalStatus","numberOfBytes":"1"},"t_enum(ProposalType)74726":{"encoding":"inplace","label":"enum StrategyStruct.ProposalType","numberOfBytes":"1"},"t_mapping(t_address,t_array(t_uint256)dyn_storage)":{"encoding":"mapping","key":"t_address","label":"mapping(address => uint256[])","numberOfBytes":"32","value":"t_array(t_uint256)dyn_storage"},"t_mapping(t_address,t_uint256)":{"encoding":"mapping","key":"t_address","label":"mapping(address => uint256)","numberOfBytes":"32","value":"t_uint256"},"t_mapping(t_uint256,t_struct(Proposal)74776_storage)":{"encoding":"mapping","key":"t_uint256","label":"mapping(uint256 => struct StrategyStruct.Proposal)","numberOfBytes":"32","value":"t_struct(Proposal)74776_storage"},"t_string_storage":{"encoding":"bytes","label":"string","numberOfBytes":"32"},"t_struct(Metadata)3098_storage":{"encoding":"inplace","label":"struct Metadata","numberOfBytes":"64","members":[{"astId":3094,"contract":"pkg/contracts/src/CVStrategy.sol:CVStrategy","label":"protocol","offset":0,"slot":"0","type":"t_uint256"},{"astId":3097,"contract":"pkg/contracts/src/CVStrategy.sol:CVStrategy","label":"pointer","offset":0,"slot":"1","type":"t_string_storage"}]},"t_struct(PointSystemConfig)74784_storage":{"encoding":"inplace","label":"struct StrategyStruct.PointSystemConfig","numberOfBytes":"32","members":[{"astId":74783,"contract":"pkg/contracts/src/CVStrategy.sol:CVStrategy","label":"maxAmount","offset":0,"slot":"0","type":"t_uint256"}]},"t_struct(Proposal)74776_storage":{"encoding":"inplace","label":"struct StrategyStruct.Proposal","numberOfBytes":"384","members":[{"astId":74751,"contract":"pkg/contracts/src/CVStrategy.sol:CVStrategy","label":"proposalId","offset":0,"slot":"0","type":"t_uint256"},{"astId":74753,"contract":"pkg/contracts/src/CVStrategy.sol:CVStrategy","label":"requestedAmount","offset":0,"slot":"1","type":"t_uint256"},{"astId":74755,"contract":"pkg/contracts/src/CVStrategy.sol:CVStrategy","label":"stakedAmount","offset":0,"slot":"2","type":"t_uint256"},{"astId":74757,"contract":"pkg/contracts/src/CVStrategy.sol:CVStrategy","label":"convictionLast","offset":0,"slot":"3","type":"t_uint256"},{"astId":74759,"contract":"pkg/contracts/src/CVStrategy.sol:CVStrategy","label":"beneficiary","offset":0,"slot":"4","type":"t_address"},{"astId":74761,"contract":"pkg/contracts/src/CVStrategy.sol:CVStrategy","label":"submitter","offset":0,"slot":"5","type":"t_address"},{"astId":74763,"contract":"pkg/contracts/src/CVStrategy.sol:CVStrategy","label":"requestedToken","offset":0,"slot":"6","type":"t_address"},{"astId":74765,"contract":"pkg/contracts/src/CVStrategy.sol:CVStrategy","label":"blockLast","offset":0,"slot":"7","type":"t_uint256"},{"astId":74768,"contract":"pkg/contracts/src/CVStrategy.sol:CVStrategy","label":"proposalStatus","offset":0,"slot":"8","type":"t_enum(ProposalStatus)74749"},{"astId":74772,"contract":"pkg/contracts/src/CVStrategy.sol:CVStrategy","label":"voterStakedPoints","offset":0,"slot":"9","type":"t_mapping(t_address,t_uint256)"},{"astId":74775,"contract":"pkg/contracts/src/CVStrategy.sol:CVStrategy","label":"metadata","offset":0,"slot":"10","type":"t_struct(Metadata)3098_storage"}]},"t_uint256":{"encoding":"inplace","label":"uint256","numberOfBytes":"32"}}},"ast":{"absolutePath":"pkg/contracts/src/CVStrategy.sol","id":77612,"exportedSymbols":{"BaseStrategy":[3923],"CVStrategy":[77611],"ERC165":[58266],"ERC20":[56991],"IAllo":[2610],"IERC165":[58472],"IPointStrategy":[74722],"ISybilScorer":[80667],"Math":[59338],"Metadata":[3098],"PassportData":[80585],"RegistryCommunity":[83082],"StrategyStruct":[74807],"console":[29549]},"nodeType":"SourceUnit","src":"42:40858:129","nodes":[{"id":74674,"nodeType":"PragmaDirective","src":"42:24:129","nodes":[],"literals":["solidity","^","0.8",".19"]},{"id":74677,"nodeType":"ImportDirective","src":"68:82:129","nodes":[],"absolutePath":"lib/allo-v2/contracts/strategies/BaseStrategy.sol","file":"allo-v2-contracts/strategies/BaseStrategy.sol","nameLocation":"-1:-1:-1","scope":77612,"sourceUnit":3924,"symbolAliases":[{"foreign":{"id":74675,"name":"BaseStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3923,"src":"76:12:129","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":74676,"name":"IAllo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2610,"src":"90:5:129","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":74680,"nodeType":"ImportDirective","src":"152:68:129","nodes":[],"absolutePath":"pkg/contracts/src/RegistryCommunity.sol","file":"./RegistryCommunity.sol","nameLocation":"-1:-1:-1","scope":77612,"sourceUnit":83083,"symbolAliases":[{"foreign":{"id":74678,"name":"RegistryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83082,"src":"160:17:129","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":74679,"name":"Metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3098,"src":"179:8:129","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":74683,"nodeType":"ImportDirective","src":"221:87:129","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol","file":"@openzeppelin/contracts/utils/introspection/ERC165.sol","nameLocation":"-1:-1:-1","scope":77612,"sourceUnit":58267,"symbolAliases":[{"foreign":{"id":74681,"name":"ERC165","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58266,"src":"229:6:129","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":74682,"name":"IERC165","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58472,"src":"237:7:129","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":74685,"nodeType":"ImportDirective","src":"309:68:129","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol","file":"@openzeppelin/contracts/token/ERC20/ERC20.sol","nameLocation":"-1:-1:-1","scope":77612,"sourceUnit":56992,"symbolAliases":[{"foreign":{"id":74684,"name":"ERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56991,"src":"317:5:129","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":74687,"nodeType":"ImportDirective","src":"379:46:129","nodes":[],"absolutePath":"lib/forge-std/src/console.sol","file":"forge-std/console.sol","nameLocation":"-1:-1:-1","scope":77612,"sourceUnit":29550,"symbolAliases":[{"foreign":{"id":74686,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29549,"src":"387:7:129","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":74689,"nodeType":"ImportDirective","src":"427:65:129","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/utils/math/Math.sol","file":"@openzeppelin/contracts/utils/math/Math.sol","nameLocation":"-1:-1:-1","scope":77612,"sourceUnit":59339,"symbolAliases":[{"foreign":{"id":74688,"name":"Math","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59338,"src":"435:4:129","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":74692,"nodeType":"ImportDirective","src":"493:62:129","nodes":[],"absolutePath":"pkg/contracts/src/ISybilScorer.sol","file":"./ISybilScorer.sol","nameLocation":"-1:-1:-1","scope":77612,"sourceUnit":80668,"symbolAliases":[{"foreign":{"id":74690,"name":"ISybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80667,"src":"501:12:129","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":74691,"name":"PassportData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80585,"src":"515:12:129","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":74722,"nodeType":"ContractDefinition","src":"557:355:129","nodes":[{"id":74697,"nodeType":"FunctionDefinition","src":"588:52:129","nodes":[],"functionSelector":"6453d9c4","implemented":false,"kind":"function","modifiers":[],"name":"deactivatePoints","nameLocation":"597:16:129","parameters":{"id":74695,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74694,"mutability":"mutable","name":"_member","nameLocation":"622:7:129","nodeType":"VariableDeclaration","scope":74697,"src":"614:15:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74693,"name":"address","nodeType":"ElementaryTypeName","src":"614:7:129","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"613:17:129"},"returnParameters":{"id":74696,"nodeType":"ParameterList","parameters":[],"src":"639:0:129"},"scope":74722,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":74706,"nodeType":"FunctionDefinition","src":"645:91:129","nodes":[],"functionSelector":"782aadff","implemented":false,"kind":"function","modifiers":[],"name":"increasePower","nameLocation":"654:13:129","parameters":{"id":74702,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74699,"mutability":"mutable","name":"_member","nameLocation":"676:7:129","nodeType":"VariableDeclaration","scope":74706,"src":"668:15:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74698,"name":"address","nodeType":"ElementaryTypeName","src":"668:7:129","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":74701,"mutability":"mutable","name":"_amountToStake","nameLocation":"693:14:129","nodeType":"VariableDeclaration","scope":74706,"src":"685:22:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74700,"name":"uint256","nodeType":"ElementaryTypeName","src":"685:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"667:41:129"},"returnParameters":{"id":74705,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74704,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":74706,"src":"727:7:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74703,"name":"uint256","nodeType":"ElementaryTypeName","src":"727:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"726:9:129"},"scope":74722,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":74715,"nodeType":"FunctionDefinition","src":"741:92:129","nodes":[],"functionSelector":"2ed04b2b","implemented":false,"kind":"function","modifiers":[],"name":"decreasePower","nameLocation":"750:13:129","parameters":{"id":74711,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74708,"mutability":"mutable","name":"_member","nameLocation":"772:7:129","nodeType":"VariableDeclaration","scope":74715,"src":"764:15:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74707,"name":"address","nodeType":"ElementaryTypeName","src":"764:7:129","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":74710,"mutability":"mutable","name":"_amountToUntake","nameLocation":"789:15:129","nodeType":"VariableDeclaration","scope":74715,"src":"781:23:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74709,"name":"uint256","nodeType":"ElementaryTypeName","src":"781:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"763:42:129"},"returnParameters":{"id":74714,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74713,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":74715,"src":"824:7:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74712,"name":"uint256","nodeType":"ElementaryTypeName","src":"824:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"823:9:129"},"scope":74722,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":74721,"nodeType":"FunctionDefinition","src":"838:72:129","nodes":[],"functionSelector":"c3292171","implemented":false,"kind":"function","modifiers":[],"name":"getPointSystem","nameLocation":"847:14:129","parameters":{"id":74716,"nodeType":"ParameterList","parameters":[],"src":"861:2:129"},"returnParameters":{"id":74720,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74719,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":74721,"src":"882:26:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$74731","typeString":"enum StrategyStruct.PointSystem"},"typeName":{"id":74718,"nodeType":"UserDefinedTypeName","pathNode":{"id":74717,"name":"StrategyStruct.PointSystem","nameLocations":["882:14:129","897:11:129"],"nodeType":"IdentifierPath","referencedDeclaration":74731,"src":"882:26:129"},"referencedDeclaration":74731,"src":"882:26:129","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$74731","typeString":"enum StrategyStruct.PointSystem"}},"visibility":"internal"}],"src":"881:28:129"},"scope":74722,"stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"IPointStrategy","contractDependencies":[],"contractKind":"interface","fullyImplemented":false,"linearizedBaseContracts":[74722],"name":"IPointStrategy","nameLocation":"567:14:129","scope":77612,"usedErrors":[]},{"id":74807,"nodeType":"ContractDefinition","src":"914:1871:129","nodes":[{"id":74726,"nodeType":"EnumDefinition","src":"943:79:129","nodes":[],"canonicalName":"StrategyStruct.ProposalType","members":[{"id":74723,"name":"Signaling","nameLocation":"971:9:129","nodeType":"EnumValue","src":"971:9:129"},{"id":74724,"name":"Funding","nameLocation":"990:7:129","nodeType":"EnumValue","src":"990:7:129"},{"id":74725,"name":"Streaming","nameLocation":"1007:9:129","nodeType":"EnumValue","src":"1007:9:129"}],"name":"ProposalType","nameLocation":"948:12:129"},{"id":74731,"nodeType":"EnumDefinition","src":"1028:92:129","nodes":[],"canonicalName":"StrategyStruct.PointSystem","members":[{"id":74727,"name":"Fixed","nameLocation":"1055:5:129","nodeType":"EnumValue","src":"1055:5:129"},{"id":74728,"name":"Capped","nameLocation":"1070:6:129","nodeType":"EnumValue","src":"1070:6:129"},{"id":74729,"name":"Unlimited","nameLocation":"1086:9:129","nodeType":"EnumValue","src":"1086:9:129"},{"id":74730,"name":"Quadratic","nameLocation":"1105:9:129","nodeType":"EnumValue","src":"1105:9:129"}],"name":"PointSystem","nameLocation":"1033:11:129"},{"id":74743,"nodeType":"StructDefinition","src":"1126:243:129","nodes":[],"canonicalName":"StrategyStruct.CreateProposal","members":[{"constant":false,"id":74733,"mutability":"mutable","name":"poolId","nameLocation":"1197:6:129","nodeType":"VariableDeclaration","scope":74743,"src":"1189:14:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74732,"name":"uint256","nodeType":"ElementaryTypeName","src":"1189:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74735,"mutability":"mutable","name":"beneficiary","nameLocation":"1221:11:129","nodeType":"VariableDeclaration","scope":74743,"src":"1213:19:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74734,"name":"address","nodeType":"ElementaryTypeName","src":"1213:7:129","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":74737,"mutability":"mutable","name":"amountRequested","nameLocation":"1288:15:129","nodeType":"VariableDeclaration","scope":74743,"src":"1280:23:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74736,"name":"uint256","nodeType":"ElementaryTypeName","src":"1280:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74739,"mutability":"mutable","name":"requestedToken","nameLocation":"1321:14:129","nodeType":"VariableDeclaration","scope":74743,"src":"1313:22:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74738,"name":"address","nodeType":"ElementaryTypeName","src":"1313:7:129","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":74742,"mutability":"mutable","name":"metadata","nameLocation":"1354:8:129","nodeType":"VariableDeclaration","scope":74743,"src":"1345:17:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"},"typeName":{"id":74741,"nodeType":"UserDefinedTypeName","pathNode":{"id":74740,"name":"Metadata","nameLocations":["1345:8:129"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"1345:8:129"},"referencedDeclaration":3098,"src":"1345:8:129","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"}],"name":"CreateProposal","nameLocation":"1133:14:129","scope":74807,"visibility":"public"},{"id":74749,"nodeType":"EnumDefinition","src":"1375:289:129","nodes":[],"canonicalName":"StrategyStruct.ProposalStatus","members":[{"id":74744,"name":"Inactive","nameLocation":"1405:8:129","nodeType":"EnumValue","src":"1405:8:129"},{"id":74745,"name":"Active","nameLocation":"1435:6:129","nodeType":"EnumValue","src":"1435:6:129"},{"id":74746,"name":"Paused","nameLocation":"1498:6:129","nodeType":"EnumValue","src":"1498:6:129"},{"id":74747,"name":"Cancelled","nameLocation":"1563:9:129","nodeType":"EnumValue","src":"1563:9:129"},{"id":74748,"name":"Executed","nameLocation":"1616:8:129","nodeType":"EnumValue","src":"1616:8:129"}],"name":"ProposalStatus","nameLocation":"1380:14:129"},{"id":74776,"nodeType":"StructDefinition","src":"1670:405:129","nodes":[],"canonicalName":"StrategyStruct.Proposal","members":[{"constant":false,"id":74751,"mutability":"mutable","name":"proposalId","nameLocation":"1704:10:129","nodeType":"VariableDeclaration","scope":74776,"src":"1696:18:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74750,"name":"uint256","nodeType":"ElementaryTypeName","src":"1696:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74753,"mutability":"mutable","name":"requestedAmount","nameLocation":"1732:15:129","nodeType":"VariableDeclaration","scope":74776,"src":"1724:23:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74752,"name":"uint256","nodeType":"ElementaryTypeName","src":"1724:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74755,"mutability":"mutable","name":"stakedAmount","nameLocation":"1765:12:129","nodeType":"VariableDeclaration","scope":74776,"src":"1757:20:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74754,"name":"uint256","nodeType":"ElementaryTypeName","src":"1757:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74757,"mutability":"mutable","name":"convictionLast","nameLocation":"1795:14:129","nodeType":"VariableDeclaration","scope":74776,"src":"1787:22:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74756,"name":"uint256","nodeType":"ElementaryTypeName","src":"1787:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74759,"mutability":"mutable","name":"beneficiary","nameLocation":"1827:11:129","nodeType":"VariableDeclaration","scope":74776,"src":"1819:19:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74758,"name":"address","nodeType":"ElementaryTypeName","src":"1819:7:129","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":74761,"mutability":"mutable","name":"submitter","nameLocation":"1856:9:129","nodeType":"VariableDeclaration","scope":74776,"src":"1848:17:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74760,"name":"address","nodeType":"ElementaryTypeName","src":"1848:7:129","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":74763,"mutability":"mutable","name":"requestedToken","nameLocation":"1883:14:129","nodeType":"VariableDeclaration","scope":74776,"src":"1875:22:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74762,"name":"address","nodeType":"ElementaryTypeName","src":"1875:7:129","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":74765,"mutability":"mutable","name":"blockLast","nameLocation":"1915:9:129","nodeType":"VariableDeclaration","scope":74776,"src":"1907:17:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74764,"name":"uint256","nodeType":"ElementaryTypeName","src":"1907:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74768,"mutability":"mutable","name":"proposalStatus","nameLocation":"1949:14:129","nodeType":"VariableDeclaration","scope":74776,"src":"1934:29:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$74749","typeString":"enum StrategyStruct.ProposalStatus"},"typeName":{"id":74767,"nodeType":"UserDefinedTypeName","pathNode":{"id":74766,"name":"ProposalStatus","nameLocations":["1934:14:129"],"nodeType":"IdentifierPath","referencedDeclaration":74749,"src":"1934:14:129"},"referencedDeclaration":74749,"src":"1934:14:129","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$74749","typeString":"enum StrategyStruct.ProposalStatus"}},"visibility":"internal"},{"constant":false,"id":74772,"mutability":"mutable","name":"voterStakedPoints","nameLocation":"2001:17:129","nodeType":"VariableDeclaration","scope":74776,"src":"1973:45:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"typeName":{"id":74771,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":74769,"name":"address","nodeType":"ElementaryTypeName","src":"1981:7:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"1973:27:129","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":74770,"name":"uint256","nodeType":"ElementaryTypeName","src":"1992:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"internal"},{"constant":false,"id":74775,"mutability":"mutable","name":"metadata","nameLocation":"2060:8:129","nodeType":"VariableDeclaration","scope":74776,"src":"2051:17:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"},"typeName":{"id":74774,"nodeType":"UserDefinedTypeName","pathNode":{"id":74773,"name":"Metadata","nameLocations":["2051:8:129"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"2051:8:129"},"referencedDeclaration":3098,"src":"2051:8:129","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"}],"name":"Proposal","nameLocation":"1677:8:129","scope":74807,"visibility":"public"},{"id":74781,"nodeType":"StructDefinition","src":"2081:126:129","nodes":[],"canonicalName":"StrategyStruct.ProposalSupport","members":[{"constant":false,"id":74778,"mutability":"mutable","name":"proposalId","nameLocation":"2122:10:129","nodeType":"VariableDeclaration","scope":74781,"src":"2114:18:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74777,"name":"uint256","nodeType":"ElementaryTypeName","src":"2114:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74780,"mutability":"mutable","name":"deltaSupport","nameLocation":"2149:12:129","nodeType":"VariableDeclaration","scope":74781,"src":"2142:19:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":74779,"name":"int256","nodeType":"ElementaryTypeName","src":"2142:6:129","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"name":"ProposalSupport","nameLocation":"2088:15:129","scope":74807,"visibility":"public"},{"id":74784,"nodeType":"StructDefinition","src":"2213:89:129","nodes":[],"canonicalName":"StrategyStruct.PointSystemConfig","members":[{"constant":false,"id":74783,"mutability":"mutable","name":"maxAmount","nameLocation":"2286:9:129","nodeType":"VariableDeclaration","scope":74784,"src":"2278:17:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74782,"name":"uint256","nodeType":"ElementaryTypeName","src":"2278:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"PointSystemConfig","nameLocation":"2220:17:129","scope":74807,"visibility":"public"},{"id":74806,"nodeType":"StructDefinition","src":"2308:475:129","nodes":[],"canonicalName":"StrategyStruct.InitializeParams","members":[{"constant":false,"id":74786,"mutability":"mutable","name":"registryCommunity","nameLocation":"2350:17:129","nodeType":"VariableDeclaration","scope":74806,"src":"2342:25:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74785,"name":"address","nodeType":"ElementaryTypeName","src":"2342:7:129","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":74788,"mutability":"mutable","name":"decay","nameLocation":"2414:5:129","nodeType":"VariableDeclaration","scope":74806,"src":"2406:13:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74787,"name":"uint256","nodeType":"ElementaryTypeName","src":"2406:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74790,"mutability":"mutable","name":"maxRatio","nameLocation":"2484:8:129","nodeType":"VariableDeclaration","scope":74806,"src":"2476:16:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74789,"name":"uint256","nodeType":"ElementaryTypeName","src":"2476:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74792,"mutability":"mutable","name":"weight","nameLocation":"2538:6:129","nodeType":"VariableDeclaration","scope":74806,"src":"2530:14:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74791,"name":"uint256","nodeType":"ElementaryTypeName","src":"2530:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74794,"mutability":"mutable","name":"minThresholdPoints","nameLocation":"2562:18:129","nodeType":"VariableDeclaration","scope":74806,"src":"2554:26:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74793,"name":"uint256","nodeType":"ElementaryTypeName","src":"2554:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74797,"mutability":"mutable","name":"proposalType","nameLocation":"2628:12:129","nodeType":"VariableDeclaration","scope":74806,"src":"2615:25:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$74726","typeString":"enum StrategyStruct.ProposalType"},"typeName":{"id":74796,"nodeType":"UserDefinedTypeName","pathNode":{"id":74795,"name":"ProposalType","nameLocations":["2615:12:129"],"nodeType":"IdentifierPath","referencedDeclaration":74726,"src":"2615:12:129"},"referencedDeclaration":74726,"src":"2615:12:129","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$74726","typeString":"enum StrategyStruct.ProposalType"}},"visibility":"internal"},{"constant":false,"id":74800,"mutability":"mutable","name":"pointSystem","nameLocation":"2697:11:129","nodeType":"VariableDeclaration","scope":74806,"src":"2685:23:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$74731","typeString":"enum StrategyStruct.PointSystem"},"typeName":{"id":74799,"nodeType":"UserDefinedTypeName","pathNode":{"id":74798,"name":"PointSystem","nameLocations":["2685:11:129"],"nodeType":"IdentifierPath","referencedDeclaration":74731,"src":"2685:11:129"},"referencedDeclaration":74731,"src":"2685:11:129","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$74731","typeString":"enum StrategyStruct.PointSystem"}},"visibility":"internal"},{"constant":false,"id":74803,"mutability":"mutable","name":"pointConfig","nameLocation":"2736:11:129","nodeType":"VariableDeclaration","scope":74806,"src":"2718:29:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$74784_storage_ptr","typeString":"struct StrategyStruct.PointSystemConfig"},"typeName":{"id":74802,"nodeType":"UserDefinedTypeName","pathNode":{"id":74801,"name":"PointSystemConfig","nameLocations":["2718:17:129"],"nodeType":"IdentifierPath","referencedDeclaration":74784,"src":"2718:17:129"},"referencedDeclaration":74784,"src":"2718:17:129","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$74784_storage_ptr","typeString":"struct StrategyStruct.PointSystemConfig"}},"visibility":"internal"},{"constant":false,"id":74805,"mutability":"mutable","name":"sybilScorer","nameLocation":"2765:11:129","nodeType":"VariableDeclaration","scope":74806,"src":"2757:19:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74804,"name":"address","nodeType":"ElementaryTypeName","src":"2757:7:129","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"name":"InitializeParams","nameLocation":"2315:16:129","scope":74807,"visibility":"public"}],"abstract":false,"baseContracts":[],"canonicalName":"StrategyStruct","contractDependencies":[],"contractKind":"library","fullyImplemented":true,"linearizedBaseContracts":[74807],"name":"StrategyStruct","nameLocation":"922:14:129","scope":77612,"usedErrors":[]},{"id":77611,"nodeType":"ContractDefinition","src":"2787:38112:129","nodes":[{"id":74816,"nodeType":"UsingForDirective","src":"2853:23:129","nodes":[],"global":false,"libraryName":{"id":74814,"name":"Math","nameLocations":["2859:4:129"],"nodeType":"IdentifierPath","referencedDeclaration":59338,"src":"2859:4:129"},"typeName":{"id":74815,"name":"uint256","nodeType":"ElementaryTypeName","src":"2868:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},{"id":74818,"nodeType":"ErrorDefinition","src":"3047:25:129","nodes":[],"errorSelector":"d1f28288","name":"UserCannotBeZero","nameLocation":"3053:16:129","parameters":{"id":74817,"nodeType":"ParameterList","parameters":[],"src":"3069:2:129"}},{"id":74820,"nodeType":"ErrorDefinition","src":"3091:26:129","nodes":[],"errorSelector":"6a5cfb6d","name":"UserNotInRegistry","nameLocation":"3097:17:129","parameters":{"id":74819,"nodeType":"ParameterList","parameters":[],"src":"3114:2:129"}},{"id":74822,"nodeType":"ErrorDefinition","src":"3135:23:129","nodes":[],"errorSelector":"5fccb67f","name":"UserIsInactive","nameLocation":"3141:14:129","parameters":{"id":74821,"nodeType":"ParameterList","parameters":[],"src":"3155:2:129"}},{"id":74824,"nodeType":"ErrorDefinition","src":"3177:20:129","nodes":[],"errorSelector":"ed4421ad","name":"PoolIsEmpty","nameLocation":"3183:11:129","parameters":{"id":74823,"nodeType":"ParameterList","parameters":[],"src":"3194:2:129"}},{"id":74826,"nodeType":"ErrorDefinition","src":"3216:23:129","nodes":[],"errorSelector":"d6234725","name":"NotImplemented","nameLocation":"3222:14:129","parameters":{"id":74825,"nodeType":"ParameterList","parameters":[],"src":"3236:2:129"}},{"id":74828,"nodeType":"ErrorDefinition","src":"3257:26:129","nodes":[],"errorSelector":"596a094c","name":"TokenCannotBeZero","nameLocation":"3263:17:129","parameters":{"id":74827,"nodeType":"ParameterList","parameters":[],"src":"3280:2:129"}},{"id":74830,"nodeType":"ErrorDefinition","src":"3301:24:129","nodes":[],"errorSelector":"a29c4986","name":"TokenNotAllowed","nameLocation":"3307:15:129","parameters":{"id":74829,"nodeType":"ParameterList","parameters":[],"src":"3322:2:129"}},{"id":74832,"nodeType":"ErrorDefinition","src":"3344:27:129","nodes":[],"errorSelector":"3bf5ca14","name":"AmountOverMaxRatio","nameLocation":"3350:18:129","parameters":{"id":74831,"nodeType":"ParameterList","parameters":[],"src":"3368:2:129"}},{"id":74834,"nodeType":"ErrorDefinition","src":"3390:27:129","nodes":[],"errorSelector":"4e791786","name":"PoolIdCannotBeZero","nameLocation":"3396:18:129","parameters":{"id":74833,"nodeType":"ParameterList","parameters":[],"src":"3414:2:129"}},{"id":74836,"nodeType":"ErrorDefinition","src":"3435:28:129","nodes":[],"errorSelector":"e622e040","name":"AddressCannotBeZero","nameLocation":"3441:19:129","parameters":{"id":74835,"nodeType":"ParameterList","parameters":[],"src":"3460:2:129"}},{"id":74838,"nodeType":"ErrorDefinition","src":"3481:29:129","nodes":[],"errorSelector":"5df4b1ef","name":"RegistryCannotBeZero","nameLocation":"3487:20:129","parameters":{"id":74837,"nodeType":"ParameterList","parameters":[],"src":"3507:2:129"}},{"id":74846,"nodeType":"ErrorDefinition","src":"3529:72:129","nodes":[],"errorSelector":"3bbc7142","name":"SupportUnderflow","nameLocation":"3535:16:129","parameters":{"id":74845,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74840,"mutability":"mutable","name":"_support","nameLocation":"3560:8:129","nodeType":"VariableDeclaration","scope":74846,"src":"3552:16:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74839,"name":"uint256","nodeType":"ElementaryTypeName","src":"3552:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74842,"mutability":"mutable","name":"_delta","nameLocation":"3577:6:129","nodeType":"VariableDeclaration","scope":74846,"src":"3570:13:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":74841,"name":"int256","nodeType":"ElementaryTypeName","src":"3570:6:129","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":74844,"mutability":"mutable","name":"_result","nameLocation":"3592:7:129","nodeType":"VariableDeclaration","scope":74846,"src":"3585:14:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":74843,"name":"int256","nodeType":"ElementaryTypeName","src":"3585:6:129","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"3551:49:129"}},{"id":74848,"nodeType":"ErrorDefinition","src":"3620:25:129","nodes":[],"errorSelector":"8402b474","name":"MaxPointsReached","nameLocation":"3626:16:129","parameters":{"id":74847,"nodeType":"ParameterList","parameters":[],"src":"3642:2:129"}},{"id":74850,"nodeType":"ErrorDefinition","src":"3664:32:129","nodes":[],"errorSelector":"573c3e93","name":"CantIncreaseFixedSystem","nameLocation":"3670:23:129","parameters":{"id":74849,"nodeType":"ParameterList","parameters":[],"src":"3693:2:129"}},{"id":74856,"nodeType":"ErrorDefinition","src":"3715:77:129","nodes":[],"errorSelector":"d64182fe","name":"NotEnoughPointsToSupport","nameLocation":"3721:24:129","parameters":{"id":74855,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74852,"mutability":"mutable","name":"pointsSupport","nameLocation":"3754:13:129","nodeType":"VariableDeclaration","scope":74856,"src":"3746:21:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74851,"name":"uint256","nodeType":"ElementaryTypeName","src":"3746:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74854,"mutability":"mutable","name":"pointsBalance","nameLocation":"3777:13:129","nodeType":"VariableDeclaration","scope":74856,"src":"3769:21:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74853,"name":"uint256","nodeType":"ElementaryTypeName","src":"3769:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3745:46:129"}},{"id":74858,"nodeType":"ErrorDefinition","src":"3812:28:129","nodes":[],"errorSelector":"c5f7c4c0","name":"ProposalDataIsEmpty","nameLocation":"3818:19:129","parameters":{"id":74857,"nodeType":"ParameterList","parameters":[],"src":"3837:2:129"}},{"id":74860,"nodeType":"ErrorDefinition","src":"3858:31:129","nodes":[],"errorSelector":"f881a10d","name":"ProposalIdCannotBeZero","nameLocation":"3864:22:129","parameters":{"id":74859,"nodeType":"ParameterList","parameters":[],"src":"3886:2:129"}},{"id":74864,"nodeType":"ErrorDefinition","src":"3907:45:129","nodes":[],"errorSelector":"44980d8f","name":"ProposalNotActive","nameLocation":"3913:17:129","parameters":{"id":74863,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74862,"mutability":"mutable","name":"_proposalId","nameLocation":"3939:11:129","nodeType":"VariableDeclaration","scope":74864,"src":"3931:19:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74861,"name":"uint256","nodeType":"ElementaryTypeName","src":"3931:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3930:21:129"}},{"id":74868,"nodeType":"ErrorDefinition","src":"3971:45:129","nodes":[],"errorSelector":"c1d17bef","name":"ProposalNotInList","nameLocation":"3977:17:129","parameters":{"id":74867,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74866,"mutability":"mutable","name":"_proposalId","nameLocation":"4003:11:129","nodeType":"VariableDeclaration","scope":74868,"src":"3995:19:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74865,"name":"uint256","nodeType":"ElementaryTypeName","src":"3995:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3994:21:129"}},{"id":74874,"nodeType":"ErrorDefinition","src":"4035:68:129","nodes":[],"errorSelector":"adebb154","name":"ProposalSupportDuplicated","nameLocation":"4041:25:129","parameters":{"id":74873,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74870,"mutability":"mutable","name":"_proposalId","nameLocation":"4075:11:129","nodeType":"VariableDeclaration","scope":74874,"src":"4067:19:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74869,"name":"uint256","nodeType":"ElementaryTypeName","src":"4067:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74872,"mutability":"mutable","name":"index","nameLocation":"4096:5:129","nodeType":"VariableDeclaration","scope":74874,"src":"4088:13:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74871,"name":"uint256","nodeType":"ElementaryTypeName","src":"4088:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4066:36:129"}},{"id":74876,"nodeType":"ErrorDefinition","src":"4121:40:129","nodes":[],"errorSelector":"cce79308","name":"ConvictionUnderMinimumThreshold","nameLocation":"4127:31:129","parameters":{"id":74875,"nodeType":"ParameterList","parameters":[],"src":"4158:2:129"}},{"id":74878,"nodeType":"ErrorDefinition","src":"4180:29:129","nodes":[],"errorSelector":"af0916a2","name":"OnlyCommunityAllowed","nameLocation":"4186:20:129","parameters":{"id":74877,"nodeType":"ParameterList","parameters":[],"src":"4206:2:129"}},{"id":74886,"nodeType":"ErrorDefinition","src":"4228:94:129","nodes":[],"errorSelector":"5863b0b6","name":"PoolAmountNotEnough","nameLocation":"4234:19:129","parameters":{"id":74885,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74880,"mutability":"mutable","name":"_proposalId","nameLocation":"4262:11:129","nodeType":"VariableDeclaration","scope":74886,"src":"4254:19:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74879,"name":"uint256","nodeType":"ElementaryTypeName","src":"4254:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74882,"mutability":"mutable","name":"_requestedAmount","nameLocation":"4283:16:129","nodeType":"VariableDeclaration","scope":74886,"src":"4275:24:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74881,"name":"uint256","nodeType":"ElementaryTypeName","src":"4275:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74884,"mutability":"mutable","name":"_poolAmount","nameLocation":"4309:11:129","nodeType":"VariableDeclaration","scope":74886,"src":"4301:19:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74883,"name":"uint256","nodeType":"ElementaryTypeName","src":"4301:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4253:68:129"}},{"id":74888,"nodeType":"ErrorDefinition","src":"4340:24:129","nodes":[],"errorSelector":"e860ec7e","name":"OnlyCouncilSafe","nameLocation":"4346:15:129","parameters":{"id":74887,"nodeType":"ParameterList","parameters":[],"src":"4361:2:129"}},{"id":74890,"nodeType":"ErrorDefinition","src":"4369:32:129","nodes":[],"errorSelector":"5b96b588","name":"UserCannotExecuteAction","nameLocation":"4375:23:129","parameters":{"id":74889,"nodeType":"ParameterList","parameters":[],"src":"4398:2:129"}},{"id":74897,"nodeType":"EventDefinition","src":"4573:74:129","nodes":[],"anonymous":false,"eventSelector":"4ebdec05fb64815e553aeaf3976ef8112dd79760a459bee3ac7d1659ab2c4e04","name":"InitializedCV","nameLocation":"4579:13:129","parameters":{"id":74896,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74892,"indexed":false,"mutability":"mutable","name":"poolId","nameLocation":"4601:6:129","nodeType":"VariableDeclaration","scope":74897,"src":"4593:14:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74891,"name":"uint256","nodeType":"ElementaryTypeName","src":"4593:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74895,"indexed":false,"mutability":"mutable","name":"data","nameLocation":"4641:4:129","nodeType":"VariableDeclaration","scope":74897,"src":"4609:36:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$74806_memory_ptr","typeString":"struct StrategyStruct.InitializeParams"},"typeName":{"id":74894,"nodeType":"UserDefinedTypeName","pathNode":{"id":74893,"name":"StrategyStruct.InitializeParams","nameLocations":["4609:14:129","4624:16:129"],"nodeType":"IdentifierPath","referencedDeclaration":74806,"src":"4609:31:129"},"referencedDeclaration":74806,"src":"4609:31:129","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$74806_storage_ptr","typeString":"struct StrategyStruct.InitializeParams"}},"visibility":"internal"}],"src":"4592:54:129"}},{"id":74905,"nodeType":"EventDefinition","src":"4652:75:129","nodes":[],"anonymous":false,"eventSelector":"a7932e9c92f31e1ed56b29d00bbe669a97484dc24de28dd9c8c0429df7f35847","name":"Distributed","nameLocation":"4658:11:129","parameters":{"id":74904,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74899,"indexed":false,"mutability":"mutable","name":"proposalId","nameLocation":"4678:10:129","nodeType":"VariableDeclaration","scope":74905,"src":"4670:18:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74898,"name":"uint256","nodeType":"ElementaryTypeName","src":"4670:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74901,"indexed":false,"mutability":"mutable","name":"beneficiary","nameLocation":"4698:11:129","nodeType":"VariableDeclaration","scope":74905,"src":"4690:19:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74900,"name":"address","nodeType":"ElementaryTypeName","src":"4690:7:129","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":74903,"indexed":false,"mutability":"mutable","name":"amount","nameLocation":"4719:6:129","nodeType":"VariableDeclaration","scope":74905,"src":"4711:14:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74902,"name":"uint256","nodeType":"ElementaryTypeName","src":"4711:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4669:57:129"}},{"id":74911,"nodeType":"EventDefinition","src":"4732:58:129","nodes":[],"anonymous":false,"eventSelector":"fcf3b1aa65a464cef2889608f99e8b8c0f680a4be6c2acb9d961c536a5a9294b","name":"ProposalCreated","nameLocation":"4738:15:129","parameters":{"id":74910,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74907,"indexed":false,"mutability":"mutable","name":"poolId","nameLocation":"4762:6:129","nodeType":"VariableDeclaration","scope":74911,"src":"4754:14:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74906,"name":"uint256","nodeType":"ElementaryTypeName","src":"4754:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74909,"indexed":false,"mutability":"mutable","name":"proposalId","nameLocation":"4778:10:129","nodeType":"VariableDeclaration","scope":74911,"src":"4770:18:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74908,"name":"uint256","nodeType":"ElementaryTypeName","src":"4770:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4753:36:129"}},{"id":74915,"nodeType":"EventDefinition","src":"4795:42:129","nodes":[],"anonymous":false,"eventSelector":"46aeb5d8770fc4474bc2dfa118fd2595f7fb33ce2cbce6f4e5a3dabfe0f76339","name":"PoolAmountIncreased","nameLocation":"4801:19:129","parameters":{"id":74914,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74913,"indexed":false,"mutability":"mutable","name":"amount","nameLocation":"4829:6:129","nodeType":"VariableDeclaration","scope":74915,"src":"4821:14:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74912,"name":"uint256","nodeType":"ElementaryTypeName","src":"4821:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4820:16:129"}},{"id":74923,"nodeType":"EventDefinition","src":"4842:85:129","nodes":[],"anonymous":false,"eventSelector":"0b9150e1e54346ed3fa36b977cd5d65dca5a649c737c3174a26bddaadd47667a","name":"PowerIncreased","nameLocation":"4848:14:129","parameters":{"id":74922,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74917,"indexed":false,"mutability":"mutable","name":"member","nameLocation":"4871:6:129","nodeType":"VariableDeclaration","scope":74923,"src":"4863:14:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74916,"name":"address","nodeType":"ElementaryTypeName","src":"4863:7:129","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":74919,"indexed":false,"mutability":"mutable","name":"tokensStaked","nameLocation":"4887:12:129","nodeType":"VariableDeclaration","scope":74923,"src":"4879:20:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74918,"name":"uint256","nodeType":"ElementaryTypeName","src":"4879:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74921,"indexed":false,"mutability":"mutable","name":"pointsToIncrease","nameLocation":"4909:16:129","nodeType":"VariableDeclaration","scope":74923,"src":"4901:24:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74920,"name":"uint256","nodeType":"ElementaryTypeName","src":"4901:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4862:64:129"}},{"id":74931,"nodeType":"EventDefinition","src":"4932:87:129","nodes":[],"anonymous":false,"eventSelector":"70b752f3fadb6ac131c0ece847fcbb6994ec56ed6411595710fd9b29c6ac6cc1","name":"PowerDecreased","nameLocation":"4938:14:129","parameters":{"id":74930,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74925,"indexed":false,"mutability":"mutable","name":"member","nameLocation":"4961:6:129","nodeType":"VariableDeclaration","scope":74931,"src":"4953:14:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74924,"name":"address","nodeType":"ElementaryTypeName","src":"4953:7:129","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":74927,"indexed":false,"mutability":"mutable","name":"tokensUnStaked","nameLocation":"4977:14:129","nodeType":"VariableDeclaration","scope":74931,"src":"4969:22:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74926,"name":"uint256","nodeType":"ElementaryTypeName","src":"4969:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74929,"indexed":false,"mutability":"mutable","name":"pointsToDecrease","nameLocation":"5001:16:129","nodeType":"VariableDeclaration","scope":74931,"src":"4993:24:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74928,"name":"uint256","nodeType":"ElementaryTypeName","src":"4993:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4952:66:129"}},{"id":74943,"nodeType":"EventDefinition","src":"5024:134:129","nodes":[],"anonymous":false,"eventSelector":"0227f642ddcf2042ceaeafadb9d540f432072c00cd4862881667168dcc14710f","name":"SupportAdded","nameLocation":"5030:12:129","parameters":{"id":74942,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74933,"indexed":false,"mutability":"mutable","name":"from","nameLocation":"5060:4:129","nodeType":"VariableDeclaration","scope":74943,"src":"5052:12:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74932,"name":"address","nodeType":"ElementaryTypeName","src":"5052:7:129","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":74935,"indexed":false,"mutability":"mutable","name":"proposalId","nameLocation":"5074:10:129","nodeType":"VariableDeclaration","scope":74943,"src":"5066:18:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74934,"name":"uint256","nodeType":"ElementaryTypeName","src":"5066:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74937,"indexed":false,"mutability":"mutable","name":"amount","nameLocation":"5094:6:129","nodeType":"VariableDeclaration","scope":74943,"src":"5086:14:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74936,"name":"uint256","nodeType":"ElementaryTypeName","src":"5086:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74939,"indexed":false,"mutability":"mutable","name":"totalStakedAmount","nameLocation":"5110:17:129","nodeType":"VariableDeclaration","scope":74943,"src":"5102:25:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74938,"name":"uint256","nodeType":"ElementaryTypeName","src":"5102:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74941,"indexed":false,"mutability":"mutable","name":"convictionLast","nameLocation":"5137:14:129","nodeType":"VariableDeclaration","scope":74943,"src":"5129:22:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74940,"name":"uint256","nodeType":"ElementaryTypeName","src":"5129:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5042:115:129"}},{"id":74947,"nodeType":"EventDefinition","src":"5163:40:129","nodes":[],"anonymous":false,"eventSelector":"1468da654b37bb3631011c1917d02e0db437d519918858d40b38b5e980ca033b","name":"PointsDeactivated","nameLocation":"5169:17:129","parameters":{"id":74946,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74945,"indexed":false,"mutability":"mutable","name":"member","nameLocation":"5195:6:129","nodeType":"VariableDeclaration","scope":74947,"src":"5187:14:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74944,"name":"address","nodeType":"ElementaryTypeName","src":"5187:7:129","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5186:16:129"}},{"id":74951,"nodeType":"EventDefinition","src":"5208:34:129","nodes":[],"anonymous":false,"eventSelector":"592dcd55d60d892e7fcb3ba105013312e99691cd59f91e15f83cb67cb5a505f2","name":"DecayUpdated","nameLocation":"5214:12:129","parameters":{"id":74950,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74949,"indexed":false,"mutability":"mutable","name":"decay","nameLocation":"5235:5:129","nodeType":"VariableDeclaration","scope":74951,"src":"5227:13:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74948,"name":"uint256","nodeType":"ElementaryTypeName","src":"5227:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5226:15:129"}},{"id":74955,"nodeType":"EventDefinition","src":"5247:40:129","nodes":[],"anonymous":false,"eventSelector":"08e39b387d1f739ce0d2553bb31822392e3f67c62c6c0a215120ab4a6841a8ab","name":"MaxRatioUpdated","nameLocation":"5253:15:129","parameters":{"id":74954,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74953,"indexed":false,"mutability":"mutable","name":"maxRatio","nameLocation":"5277:8:129","nodeType":"VariableDeclaration","scope":74955,"src":"5269:16:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74952,"name":"uint256","nodeType":"ElementaryTypeName","src":"5269:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5268:18:129"}},{"id":74959,"nodeType":"EventDefinition","src":"5292:36:129","nodes":[],"anonymous":false,"eventSelector":"30ee8206062f283e56a0af2b02138016bf7442ded26ad68a92a18a9dd246fb49","name":"WeightUpdated","nameLocation":"5298:13:129","parameters":{"id":74958,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74957,"indexed":false,"mutability":"mutable","name":"weight","nameLocation":"5320:6:129","nodeType":"VariableDeclaration","scope":74959,"src":"5312:14:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74956,"name":"uint256","nodeType":"ElementaryTypeName","src":"5312:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5311:16:129"}},{"id":74963,"nodeType":"EventDefinition","src":"5333:49:129","nodes":[],"anonymous":false,"eventSelector":"d6ceddf6d2a22f21c7c81675c518004eff43bc5c8a6fc32a0b748e69d58671cd","name":"RegistryUpdated","nameLocation":"5339:15:129","parameters":{"id":74962,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74961,"indexed":false,"mutability":"mutable","name":"registryCommunity","nameLocation":"5363:17:129","nodeType":"VariableDeclaration","scope":74963,"src":"5355:25:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74960,"name":"address","nodeType":"ElementaryTypeName","src":"5355:7:129","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5354:27:129"}},{"id":74969,"nodeType":"EventDefinition","src":"5387:76:129","nodes":[],"anonymous":false,"eventSelector":"056aedca4e334b6c4bea48715fb0de644811b740894de57a0380d3eb90f2805b","name":"MinThresholdPointsUpdated","nameLocation":"5393:25:129","parameters":{"id":74968,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74965,"indexed":false,"mutability":"mutable","name":"before","nameLocation":"5427:6:129","nodeType":"VariableDeclaration","scope":74969,"src":"5419:14:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74964,"name":"uint256","nodeType":"ElementaryTypeName","src":"5419:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74967,"indexed":false,"mutability":"mutable","name":"minThresholdPoints","nameLocation":"5443:18:129","nodeType":"VariableDeclaration","scope":74969,"src":"5435:26:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74966,"name":"uint256","nodeType":"ElementaryTypeName","src":"5435:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5418:44:129"}},{"id":74972,"nodeType":"VariableDeclaration","src":"5837:36:129","nodes":[],"constant":true,"functionSelector":"0f529ba2","mutability":"constant","name":"D","nameLocation":"5861:1:129","scope":77611,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74970,"name":"uint256","nodeType":"ElementaryTypeName","src":"5837:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3130303030303030","id":74971,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5865:8:129","typeDescriptions":{"typeIdentifier":"t_rational_10000000_by_1","typeString":"int_const 10000000"},"value":"10000000"},"visibility":"public"},{"id":74975,"nodeType":"VariableDeclaration","src":"5887:70:129","nodes":[],"constant":true,"mutability":"constant","name":"TWO_128","nameLocation":"5912:7:129","scope":77611,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74973,"name":"uint256","nodeType":"ElementaryTypeName","src":"5887:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3078313030303030303030303030303030303030303030303030303030303030303030","id":74974,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5922:35:129","typeDescriptions":{"typeIdentifier":"t_rational_340282366920938463463374607431768211456_by_1","typeString":"int_const 3402...(31 digits omitted)...1456"},"value":"0x100000000000000000000000000000000"},"visibility":"private"},{"id":74978,"nodeType":"VariableDeclaration","src":"5973:69:129","nodes":[],"constant":true,"mutability":"constant","name":"TWO_127","nameLocation":"5998:7:129","scope":77611,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74976,"name":"uint256","nodeType":"ElementaryTypeName","src":"5973:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"30783830303030303030303030303030303030303030303030303030303030303030","id":74977,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6008:34:129","typeDescriptions":{"typeIdentifier":"t_rational_170141183460469231731687303715884105728_by_1","typeString":"int_const 1701...(31 digits omitted)...5728"},"value":"0x80000000000000000000000000000000"},"visibility":"private"},{"id":74981,"nodeType":"VariableDeclaration","src":"6058:53:129","nodes":[],"constant":true,"mutability":"constant","name":"TWO_64","nameLocation":"6083:6:129","scope":77611,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74979,"name":"uint256","nodeType":"ElementaryTypeName","src":"6058:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"30783130303030303030303030303030303030","id":74980,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6092:19:129","typeDescriptions":{"typeIdentifier":"t_rational_18446744073709551616_by_1","typeString":"int_const 18446744073709551616"},"value":"0x10000000000000000"},"visibility":"private"},{"id":74984,"nodeType":"VariableDeclaration","src":"6126:49:129","nodes":[],"constant":true,"functionSelector":"406244d8","mutability":"constant","name":"MAX_STAKED_PROPOSALS","nameLocation":"6150:20:129","scope":77611,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74982,"name":"uint256","nodeType":"ElementaryTypeName","src":"6126:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3130","id":74983,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6173:2:129","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"visibility":"public"},{"id":74986,"nodeType":"VariableDeclaration","src":"6303:20:129","nodes":[],"constant":false,"functionSelector":"54fac919","mutability":"mutable","name":"decay","nameLocation":"6318:5:129","scope":77611,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74985,"name":"uint256","nodeType":"ElementaryTypeName","src":"6303:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"id":74988,"nodeType":"VariableDeclaration","src":"6329:23:129","nodes":[],"constant":false,"functionSelector":"76365af7","mutability":"mutable","name":"maxRatio","nameLocation":"6344:8:129","scope":77611,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74987,"name":"uint256","nodeType":"ElementaryTypeName","src":"6329:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"id":74990,"nodeType":"VariableDeclaration","src":"6358:21:129","nodes":[],"constant":false,"functionSelector":"a1aab33f","mutability":"mutable","name":"weight","nameLocation":"6373:6:129","scope":77611,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74989,"name":"uint256","nodeType":"ElementaryTypeName","src":"6358:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"id":74993,"nodeType":"VariableDeclaration","src":"6385:34:129","nodes":[],"constant":false,"functionSelector":"0c0512e9","mutability":"mutable","name":"proposalCounter","nameLocation":"6400:15:129","scope":77611,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74991,"name":"uint256","nodeType":"ElementaryTypeName","src":"6385:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"30","id":74992,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6418:1:129","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"visibility":"public"},{"id":74995,"nodeType":"VariableDeclaration","src":"6425:26:129","nodes":[],"constant":false,"functionSelector":"817b1cd2","mutability":"mutable","name":"totalStaked","nameLocation":"6440:11:129","scope":77611,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74994,"name":"uint256","nodeType":"ElementaryTypeName","src":"6425:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"id":74997,"nodeType":"VariableDeclaration","src":"6457:35:129","nodes":[],"constant":false,"functionSelector":"aba9ffee","mutability":"mutable","name":"totalPointsActivated","nameLocation":"6472:20:129","scope":77611,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74996,"name":"uint256","nodeType":"ElementaryTypeName","src":"6457:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"id":75000,"nodeType":"VariableDeclaration","src":"6498:38:129","nodes":[],"constant":false,"functionSelector":"7c6570ba","mutability":"mutable","name":"_minThresholdPoints","nameLocation":"6513:19:129","scope":77611,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74998,"name":"uint256","nodeType":"ElementaryTypeName","src":"6498:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"30","id":74999,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6535:1:129","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"visibility":"public"},{"id":75002,"nodeType":"VariableDeclaration","src":"6577:47:129","nodes":[],"constant":false,"mutability":"mutable","name":"surpressStateMutabilityWarning","nameLocation":"6594:30:129","scope":77611,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75001,"name":"uint256","nodeType":"ElementaryTypeName","src":"6577:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"id":75005,"nodeType":"VariableDeclaration","src":"6709:47:129","nodes":[],"constant":false,"functionSelector":"351d9f96","mutability":"mutable","name":"proposalType","nameLocation":"6744:12:129","scope":77611,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$74726","typeString":"enum StrategyStruct.ProposalType"},"typeName":{"id":75004,"nodeType":"UserDefinedTypeName","pathNode":{"id":75003,"name":"StrategyStruct.ProposalType","nameLocations":["6709:14:129","6724:12:129"],"nodeType":"IdentifierPath","referencedDeclaration":74726,"src":"6709:27:129"},"referencedDeclaration":74726,"src":"6709:27:129","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$74726","typeString":"enum StrategyStruct.ProposalType"}},"visibility":"public"},{"id":75008,"nodeType":"VariableDeclaration","src":"6815:45:129","nodes":[],"constant":false,"functionSelector":"2dbd6fdd","mutability":"mutable","name":"pointSystem","nameLocation":"6849:11:129","scope":77611,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$74731","typeString":"enum StrategyStruct.PointSystem"},"typeName":{"id":75007,"nodeType":"UserDefinedTypeName","pathNode":{"id":75006,"name":"StrategyStruct.PointSystem","nameLocations":["6815:14:129","6830:11:129"],"nodeType":"IdentifierPath","referencedDeclaration":74731,"src":"6815:26:129"},"referencedDeclaration":74731,"src":"6815:26:129","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$74731","typeString":"enum StrategyStruct.PointSystem"}},"visibility":"public"},{"id":75011,"nodeType":"VariableDeclaration","src":"6866:51:129","nodes":[],"constant":false,"functionSelector":"a47ff7e5","mutability":"mutable","name":"pointConfig","nameLocation":"6906:11:129","scope":77611,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$74784_storage","typeString":"struct StrategyStruct.PointSystemConfig"},"typeName":{"id":75010,"nodeType":"UserDefinedTypeName","pathNode":{"id":75009,"name":"StrategyStruct.PointSystemConfig","nameLocations":["6866:14:129","6881:17:129"],"nodeType":"IdentifierPath","referencedDeclaration":74784,"src":"6866:32:129"},"referencedDeclaration":74784,"src":"6866:32:129","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$74784_storage_ptr","typeString":"struct StrategyStruct.PointSystemConfig"}},"visibility":"public"},{"id":75014,"nodeType":"VariableDeclaration","src":"6950:42:129","nodes":[],"constant":false,"functionSelector":"6003e414","mutability":"mutable","name":"registryCommunity","nameLocation":"6975:17:129","scope":77611,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunity_$83082","typeString":"contract RegistryCommunity"},"typeName":{"id":75013,"nodeType":"UserDefinedTypeName","pathNode":{"id":75012,"name":"RegistryCommunity","nameLocations":["6950:17:129"],"nodeType":"IdentifierPath","referencedDeclaration":83082,"src":"6950:17:129"},"referencedDeclaration":83082,"src":"6950:17:129","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunity_$83082","typeString":"contract RegistryCommunity"}},"visibility":"public"},{"id":75017,"nodeType":"VariableDeclaration","src":"6998:31:129","nodes":[],"constant":false,"functionSelector":"b6c61f31","mutability":"mutable","name":"sybilScorer","nameLocation":"7018:11:129","scope":77611,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$80667","typeString":"contract ISybilScorer"},"typeName":{"id":75016,"nodeType":"UserDefinedTypeName","pathNode":{"id":75015,"name":"ISybilScorer","nameLocations":["6998:12:129"],"nodeType":"IdentifierPath","referencedDeclaration":80667,"src":"6998:12:129"},"referencedDeclaration":80667,"src":"6998:12:129","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$80667","typeString":"contract ISybilScorer"}},"visibility":"public"},{"id":75022,"nodeType":"VariableDeclaration","src":"7096:60:129","nodes":[],"constant":false,"functionSelector":"013cf08b","mutability":"mutable","name":"proposals","nameLocation":"7147:9:129","scope":77611,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$74776_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal)"},"typeName":{"id":75021,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":75018,"name":"uint256","nodeType":"ElementaryTypeName","src":"7104:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"7096:43:129","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$74776_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":75020,"nodeType":"UserDefinedTypeName","pathNode":{"id":75019,"name":"StrategyStruct.Proposal","nameLocations":["7115:14:129","7130:8:129"],"nodeType":"IdentifierPath","referencedDeclaration":74776,"src":"7115:23:129"},"referencedDeclaration":74776,"src":"7115:23:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal"}}},"visibility":"public"},{"id":75026,"nodeType":"VariableDeclaration","src":"7212:53:129","nodes":[],"constant":false,"functionSelector":"5db64b99","mutability":"mutable","name":"totalVoterStakePct","nameLocation":"7247:18:129","scope":77611,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"typeName":{"id":75025,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":75023,"name":"address","nodeType":"ElementaryTypeName","src":"7220:7:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"7212:27:129","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":75024,"name":"uint256","nodeType":"ElementaryTypeName","src":"7231:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"public"},{"id":75031,"nodeType":"VariableDeclaration","src":"7303:57:129","nodes":[],"constant":false,"functionSelector":"868c57b8","mutability":"mutable","name":"voterStakedProposals","nameLocation":"7340:20:129","scope":77611,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$","typeString":"mapping(address => uint256[])"},"typeName":{"id":75030,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":75027,"name":"address","nodeType":"ElementaryTypeName","src":"7311:7:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"7303:29:129","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$","typeString":"mapping(address => uint256[])"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"baseType":{"id":75028,"name":"uint256","nodeType":"ElementaryTypeName","src":"7322:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":75029,"nodeType":"ArrayTypeName","src":"7322:9:129","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}}},"visibility":"public"},{"id":75050,"nodeType":"ModifierDefinition","src":"7399:184:129","nodes":[],"body":{"id":75049,"nodeType":"Block","src":"7426:157:129","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":75041,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":75033,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"7440:3:129","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":75034,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7444:6:129","memberName":"sender","nodeType":"MemberAccess","src":"7440:10:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":75037,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75014,"src":"7462:17:129","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunity_$83082","typeString":"contract RegistryCommunity"}},"id":75038,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7480:11:129","memberName":"councilSafe","nodeType":"MemberAccess","referencedDeclaration":81542,"src":"7462:29:129","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_contract$_ISafe_$85665_$","typeString":"function () view external returns (contract ISafe)"}},"id":75039,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7462:31:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ISafe_$85665","typeString":"contract ISafe"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ISafe_$85665","typeString":"contract ISafe"}],"id":75036,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7454:7:129","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":75035,"name":"address","nodeType":"ElementaryTypeName","src":"7454:7:129","typeDescriptions":{}}},"id":75040,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7454:40:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"7440:54:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":75047,"nodeType":"Block","src":"7528:49:129","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":75044,"name":"OnlyCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74888,"src":"7549:15:129","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":75045,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7549:17:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75046,"nodeType":"RevertStatement","src":"7542:24:129"}]},"id":75048,"nodeType":"IfStatement","src":"7436:141:129","trueBody":{"id":75043,"nodeType":"Block","src":"7496:26:129","statements":[{"id":75042,"nodeType":"PlaceholderStatement","src":"7510:1:129"}]}}]},"name":"onlyCouncilSafe","nameLocation":"7408:15:129","parameters":{"id":75032,"nodeType":"ParameterList","parameters":[],"src":"7423:2:129"},"virtual":false,"visibility":"internal"},{"id":75063,"nodeType":"FunctionDefinition","src":"7754:72:129","nodes":[],"body":{"id":75062,"nodeType":"Block","src":"7824:2:129","nodes":[],"statements":[]},"implemented":true,"kind":"constructor","modifiers":[{"arguments":[{"arguments":[{"id":75057,"name":"_allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75052,"src":"7802:5:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":75056,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7794:7:129","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":75055,"name":"address","nodeType":"ElementaryTypeName","src":"7794:7:129","typeDescriptions":{}}},"id":75058,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7794:14:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"43565374726174656779","id":75059,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7810:12:129","typeDescriptions":{"typeIdentifier":"t_stringliteral_5f43243e98d2b877d41079bf899c9372a6b91af5be3180830de9d43f93117b2e","typeString":"literal_string \"CVStrategy\""},"value":"CVStrategy"}],"id":75060,"kind":"baseConstructorSpecifier","modifierName":{"id":75054,"name":"BaseStrategy","nameLocations":["7781:12:129"],"nodeType":"IdentifierPath","referencedDeclaration":3923,"src":"7781:12:129"},"nodeType":"ModifierInvocation","src":"7781:42:129"}],"name":"","nameLocation":"-1:-1:-1","parameters":{"id":75053,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75052,"mutability":"mutable","name":"_allo","nameLocation":"7774:5:129","nodeType":"VariableDeclaration","scope":75063,"src":"7766:13:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":75051,"name":"address","nodeType":"ElementaryTypeName","src":"7766:7:129","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"7765:15:129"},"returnParameters":{"id":75061,"nodeType":"ParameterList","parameters":[],"src":"7824:0:129"},"scope":77611,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":75154,"nodeType":"FunctionDefinition","src":"7832:740:129","nodes":[],"body":{"id":75153,"nodeType":"Block","src":"7898:674:129","nodes":[],"statements":[{"expression":{"arguments":[{"id":75071,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75065,"src":"7928:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":75070,"name":"__BaseStrategy_init","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3503,"src":"7908:19:129","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":75072,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7908:28:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75073,"nodeType":"ExpressionStatement","src":"7908:28:129"},{"assignments":[75078],"declarations":[{"constant":false,"id":75078,"mutability":"mutable","name":"ip","nameLocation":"7985:2:129","nodeType":"VariableDeclaration","scope":75153,"src":"7946:41:129","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$74806_memory_ptr","typeString":"struct StrategyStruct.InitializeParams"},"typeName":{"id":75077,"nodeType":"UserDefinedTypeName","pathNode":{"id":75076,"name":"StrategyStruct.InitializeParams","nameLocations":["7946:14:129","7961:16:129"],"nodeType":"IdentifierPath","referencedDeclaration":74806,"src":"7946:31:129"},"referencedDeclaration":74806,"src":"7946:31:129","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$74806_storage_ptr","typeString":"struct StrategyStruct.InitializeParams"}},"visibility":"internal"}],"id":75086,"initialValue":{"arguments":[{"id":75081,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75067,"src":"8001:5:129","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"expression":{"id":75082,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74807,"src":"8009:14:129","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$74807_$","typeString":"type(library StrategyStruct)"}},"id":75083,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8024:16:129","memberName":"InitializeParams","nodeType":"MemberAccess","referencedDeclaration":74806,"src":"8009:31:129","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_InitializeParams_$74806_storage_ptr_$","typeString":"type(struct StrategyStruct.InitializeParams storage pointer)"}}],"id":75084,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"8008:33:129","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_InitializeParams_$74806_storage_ptr_$","typeString":"type(struct StrategyStruct.InitializeParams storage pointer)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_struct$_InitializeParams_$74806_storage_ptr_$","typeString":"type(struct StrategyStruct.InitializeParams storage pointer)"}],"expression":{"id":75079,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"7990:3:129","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":75080,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7994:6:129","memberName":"decode","nodeType":"MemberAccess","src":"7990:10:129","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":75085,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7990:52:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$74806_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"nodeType":"VariableDeclarationStatement","src":"7946:96:129"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":75093,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":75087,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75078,"src":"8057:2:129","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$74806_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":75088,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8060:17:129","memberName":"registryCommunity","nodeType":"MemberAccess","referencedDeclaration":74786,"src":"8057:20:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":75091,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8089:1:129","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":75090,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8081:7:129","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":75089,"name":"address","nodeType":"ElementaryTypeName","src":"8081:7:129","typeDescriptions":{}}},"id":75092,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8081:10:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"8057:34:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75098,"nodeType":"IfStatement","src":"8053:94:129","trueBody":{"id":75097,"nodeType":"Block","src":"8093:54:129","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":75094,"name":"RegistryCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74838,"src":"8114:20:129","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":75095,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8114:22:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75096,"nodeType":"RevertStatement","src":"8107:29:129"}]}},{"expression":{"id":75104,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":75099,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75014,"src":"8157:17:129","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunity_$83082","typeString":"contract RegistryCommunity"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":75101,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75078,"src":"8195:2:129","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$74806_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":75102,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8198:17:129","memberName":"registryCommunity","nodeType":"MemberAccess","referencedDeclaration":74786,"src":"8195:20:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":75100,"name":"RegistryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83082,"src":"8177:17:129","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_RegistryCommunity_$83082_$","typeString":"type(contract RegistryCommunity)"}},"id":75103,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8177:39:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunity_$83082","typeString":"contract RegistryCommunity"}},"src":"8157:59:129","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunity_$83082","typeString":"contract RegistryCommunity"}},"id":75105,"nodeType":"ExpressionStatement","src":"8157:59:129"},{"expression":{"id":75109,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":75106,"name":"decay","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74986,"src":"8226:5:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":75107,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75078,"src":"8234:2:129","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$74806_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":75108,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8237:5:129","memberName":"decay","nodeType":"MemberAccess","referencedDeclaration":74788,"src":"8234:8:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8226:16:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":75110,"nodeType":"ExpressionStatement","src":"8226:16:129"},{"expression":{"id":75114,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":75111,"name":"maxRatio","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74988,"src":"8252:8:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":75112,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75078,"src":"8263:2:129","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$74806_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":75113,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8266:8:129","memberName":"maxRatio","nodeType":"MemberAccess","referencedDeclaration":74790,"src":"8263:11:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8252:22:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":75115,"nodeType":"ExpressionStatement","src":"8252:22:129"},{"expression":{"id":75119,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":75116,"name":"weight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74990,"src":"8284:6:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":75117,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75078,"src":"8293:2:129","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$74806_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":75118,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8296:6:129","memberName":"weight","nodeType":"MemberAccess","referencedDeclaration":74792,"src":"8293:9:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8284:18:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":75120,"nodeType":"ExpressionStatement","src":"8284:18:129"},{"expression":{"id":75124,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":75121,"name":"proposalType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75005,"src":"8312:12:129","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$74726","typeString":"enum StrategyStruct.ProposalType"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":75122,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75078,"src":"8327:2:129","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$74806_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":75123,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8330:12:129","memberName":"proposalType","nodeType":"MemberAccess","referencedDeclaration":74797,"src":"8327:15:129","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$74726","typeString":"enum StrategyStruct.ProposalType"}},"src":"8312:30:129","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$74726","typeString":"enum StrategyStruct.ProposalType"}},"id":75125,"nodeType":"ExpressionStatement","src":"8312:30:129"},{"expression":{"id":75129,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":75126,"name":"pointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75008,"src":"8352:11:129","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$74731","typeString":"enum StrategyStruct.PointSystem"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":75127,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75078,"src":"8366:2:129","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$74806_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":75128,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8369:11:129","memberName":"pointSystem","nodeType":"MemberAccess","referencedDeclaration":74800,"src":"8366:14:129","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$74731","typeString":"enum StrategyStruct.PointSystem"}},"src":"8352:28:129","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$74731","typeString":"enum StrategyStruct.PointSystem"}},"id":75130,"nodeType":"ExpressionStatement","src":"8352:28:129"},{"expression":{"id":75134,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":75131,"name":"pointConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75011,"src":"8390:11:129","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$74784_storage","typeString":"struct StrategyStruct.PointSystemConfig storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":75132,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75078,"src":"8404:2:129","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$74806_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":75133,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8407:11:129","memberName":"pointConfig","nodeType":"MemberAccess","referencedDeclaration":74803,"src":"8404:14:129","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$74784_memory_ptr","typeString":"struct StrategyStruct.PointSystemConfig memory"}},"src":"8390:28:129","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$74784_storage","typeString":"struct StrategyStruct.PointSystemConfig storage ref"}},"id":75135,"nodeType":"ExpressionStatement","src":"8390:28:129"},{"expression":{"id":75139,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":75136,"name":"_minThresholdPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75000,"src":"8428:19:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":75137,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75078,"src":"8450:2:129","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$74806_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":75138,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8453:18:129","memberName":"minThresholdPoints","nodeType":"MemberAccess","referencedDeclaration":74794,"src":"8450:21:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8428:43:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":75140,"nodeType":"ExpressionStatement","src":"8428:43:129"},{"expression":{"id":75146,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":75141,"name":"sybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75017,"src":"8481:11:129","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$80667","typeString":"contract ISybilScorer"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":75143,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75078,"src":"8508:2:129","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$74806_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":75144,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8511:11:129","memberName":"sybilScorer","nodeType":"MemberAccess","referencedDeclaration":74805,"src":"8508:14:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":75142,"name":"ISybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80667,"src":"8495:12:129","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ISybilScorer_$80667_$","typeString":"type(contract ISybilScorer)"}},"id":75145,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8495:28:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$80667","typeString":"contract ISybilScorer"}},"src":"8481:42:129","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$80667","typeString":"contract ISybilScorer"}},"id":75147,"nodeType":"ExpressionStatement","src":"8481:42:129"},{"eventCall":{"arguments":[{"id":75149,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75065,"src":"8553:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":75150,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75078,"src":"8562:2:129","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$74806_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_struct$_InitializeParams_$74806_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}],"id":75148,"name":"InitializedCV","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74897,"src":"8539:13:129","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_struct$_InitializeParams_$74806_memory_ptr_$returns$__$","typeString":"function (uint256,struct StrategyStruct.InitializeParams memory)"}},"id":75151,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8539:26:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75152,"nodeType":"EmitStatement","src":"8534:31:129"}]},"baseFunctions":[2939],"functionSelector":"edd146cc","implemented":true,"kind":"function","modifiers":[],"name":"initialize","nameLocation":"7841:10:129","parameters":{"id":75068,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75065,"mutability":"mutable","name":"_poolId","nameLocation":"7860:7:129","nodeType":"VariableDeclaration","scope":75154,"src":"7852:15:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75064,"name":"uint256","nodeType":"ElementaryTypeName","src":"7852:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":75067,"mutability":"mutable","name":"_data","nameLocation":"7882:5:129","nodeType":"VariableDeclaration","scope":75154,"src":"7869:18:129","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":75066,"name":"bytes","nodeType":"ElementaryTypeName","src":"7869:5:129","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"7851:37:129"},"returnParameters":{"id":75069,"nodeType":"ParameterList","parameters":[],"src":"7898:0:129"},"scope":77611,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":75158,"nodeType":"FunctionDefinition","src":"8743:83:129","nodes":[],"body":{"id":75157,"nodeType":"Block","src":"8771:55:129","nodes":[],"statements":[]},"implemented":true,"kind":"fallback","modifiers":[],"name":"","nameLocation":"-1:-1:-1","parameters":{"id":75155,"nodeType":"ParameterList","parameters":[],"src":"8751:2:129"},"returnParameters":{"id":75156,"nodeType":"ParameterList","parameters":[],"src":"8771:0:129"},"scope":77611,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":75162,"nodeType":"FunctionDefinition","src":"8832:135:129","nodes":[],"body":{"id":75161,"nodeType":"Block","src":"8859:108:129","nodes":[],"statements":[]},"implemented":true,"kind":"receive","modifiers":[],"name":"","nameLocation":"-1:-1:-1","parameters":{"id":75159,"nodeType":"ParameterList","parameters":[],"src":"8839:2:129"},"returnParameters":{"id":75160,"nodeType":"ParameterList","parameters":[],"src":"8859:0:129"},"scope":77611,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":75183,"nodeType":"FunctionDefinition","src":"8973:202:129","nodes":[],"body":{"id":75182,"nodeType":"Block","src":"9064:111:129","nodes":[],"statements":[{"expression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":75180,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"id":75175,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":75170,"name":"interfaceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75164,"src":"9081:11:129","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"arguments":[{"id":75172,"name":"IPointStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74722,"src":"9101:14:129","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IPointStrategy_$74722_$","typeString":"type(contract IPointStrategy)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_contract$_IPointStrategy_$74722_$","typeString":"type(contract IPointStrategy)"}],"id":75171,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"9096:4:129","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":75173,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9096:20:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_contract$_IPointStrategy_$74722","typeString":"type(contract IPointStrategy)"}},"id":75174,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"9117:11:129","memberName":"interfaceId","nodeType":"MemberAccess","src":"9096:32:129","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"src":"9081:47:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"arguments":[{"id":75178,"name":"interfaceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75164,"src":"9156:11:129","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":75176,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"9132:5:129","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_CVStrategy_$77611_$","typeString":"type(contract super CVStrategy)"}},"id":75177,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9138:17:129","memberName":"supportsInterface","nodeType":"MemberAccess","referencedDeclaration":58265,"src":"9132:23:129","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes4_$returns$_t_bool_$","typeString":"function (bytes4) view returns (bool)"}},"id":75179,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9132:36:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"9081:87:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":75169,"id":75181,"nodeType":"Return","src":"9074:94:129"}]},"baseFunctions":[58265],"functionSelector":"01ffc9a7","implemented":true,"kind":"function","modifiers":[],"name":"supportsInterface","nameLocation":"8982:17:129","overrides":{"id":75166,"nodeType":"OverrideSpecifier","overrides":[],"src":"9040:8:129"},"parameters":{"id":75165,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75164,"mutability":"mutable","name":"interfaceId","nameLocation":"9007:11:129","nodeType":"VariableDeclaration","scope":75183,"src":"9000:18:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":75163,"name":"bytes4","nodeType":"ElementaryTypeName","src":"9000:6:129","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"8999:20:129"},"returnParameters":{"id":75169,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75168,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":75183,"src":"9058:4:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":75167,"name":"bool","nodeType":"ElementaryTypeName","src":"9058:4:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"9057:6:129"},"scope":77611,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":75224,"nodeType":"FunctionDefinition","src":"9346:377:129","nodes":[],"body":{"id":75223,"nodeType":"Block","src":"9405:318:129","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":75193,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":75188,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75185,"src":"9419:7:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":75191,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9438:1:129","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":75190,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9430:7:129","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":75189,"name":"address","nodeType":"ElementaryTypeName","src":"9430:7:129","typeDescriptions":{}}},"id":75192,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9430:10:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"9419:21:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75198,"nodeType":"IfStatement","src":"9415:77:129","trueBody":{"id":75197,"nodeType":"Block","src":"9442:50:129","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":75194,"name":"UserCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74818,"src":"9463:16:129","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":75195,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9463:18:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75196,"nodeType":"RevertStatement","src":"9456:25:129"}]}},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":75207,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":75201,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75014,"src":"9513:17:129","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunity_$83082","typeString":"contract RegistryCommunity"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryCommunity_$83082","typeString":"contract RegistryCommunity"}],"id":75200,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9505:7:129","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":75199,"name":"address","nodeType":"ElementaryTypeName","src":"9505:7:129","typeDescriptions":{}}},"id":75202,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9505:26:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":75205,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9543:1:129","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":75204,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9535:7:129","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":75203,"name":"address","nodeType":"ElementaryTypeName","src":"9535:7:129","typeDescriptions":{}}},"id":75206,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9535:10:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"9505:40:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75212,"nodeType":"IfStatement","src":"9501:100:129","trueBody":{"id":75211,"nodeType":"Block","src":"9547:54:129","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":75208,"name":"RegistryCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74838,"src":"9568:20:129","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":75209,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9568:22:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75210,"nodeType":"RevertStatement","src":"9561:29:129"}]}},{"condition":{"id":75217,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"9614:36:129","subExpression":{"arguments":[{"id":75215,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75185,"src":"9642:7:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":75213,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75014,"src":"9615:17:129","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunity_$83082","typeString":"contract RegistryCommunity"}},"id":75214,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9633:8:129","memberName":"isMember","nodeType":"MemberAccess","referencedDeclaration":82663,"src":"9615:26:129","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view external returns (bool)"}},"id":75216,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9615:35:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75222,"nodeType":"IfStatement","src":"9610:93:129","trueBody":{"id":75221,"nodeType":"Block","src":"9652:51:129","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":75218,"name":"UserNotInRegistry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74820,"src":"9673:17:129","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":75219,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9673:19:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75220,"nodeType":"RevertStatement","src":"9666:26:129"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"checkSenderIsMember","nameLocation":"9355:19:129","parameters":{"id":75186,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75185,"mutability":"mutable","name":"_sender","nameLocation":"9383:7:129","nodeType":"VariableDeclaration","scope":75224,"src":"9375:15:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":75184,"name":"address","nodeType":"ElementaryTypeName","src":"9375:7:129","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"9374:17:129"},"returnParameters":{"id":75187,"nodeType":"ParameterList","parameters":[],"src":"9405:0:129"},"scope":77611,"stateMutability":"view","virtual":false,"visibility":"private"},{"id":75240,"nodeType":"FunctionDefinition","src":"9729:162:129","nodes":[],"body":{"id":75239,"nodeType":"Block","src":"9775:116:129","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":75233,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":75227,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"9789:3:129","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":75228,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9793:6:129","memberName":"sender","nodeType":"MemberAccess","src":"9789:10:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"id":75231,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75014,"src":"9811:17:129","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunity_$83082","typeString":"contract RegistryCommunity"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryCommunity_$83082","typeString":"contract RegistryCommunity"}],"id":75230,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9803:7:129","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":75229,"name":"address","nodeType":"ElementaryTypeName","src":"9803:7:129","typeDescriptions":{}}},"id":75232,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9803:26:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"9789:40:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75238,"nodeType":"IfStatement","src":"9785:100:129","trueBody":{"id":75237,"nodeType":"Block","src":"9831:54:129","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":75234,"name":"OnlyCommunityAllowed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74878,"src":"9852:20:129","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":75235,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9852:22:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75236,"nodeType":"RevertStatement","src":"9845:29:129"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"onlyRegistryCommunity","nameLocation":"9738:21:129","parameters":{"id":75225,"nodeType":"ParameterList","parameters":[],"src":"9759:2:129"},"returnParameters":{"id":75226,"nodeType":"ParameterList","parameters":[],"src":"9775:0:129"},"scope":77611,"stateMutability":"view","virtual":false,"visibility":"private"},{"id":75256,"nodeType":"FunctionDefinition","src":"9897:133:129","nodes":[],"body":{"id":75255,"nodeType":"Block","src":"9957:73:129","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":75250,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":75245,"name":"_address","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75242,"src":"9971:8:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":75248,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9991:1:129","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":75247,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9983:7:129","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":75246,"name":"address","nodeType":"ElementaryTypeName","src":"9983:7:129","typeDescriptions":{}}},"id":75249,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9983:10:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"9971:22:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75254,"nodeType":"IfStatement","src":"9967:56:129","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":75251,"name":"AddressCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74836,"src":"10002:19:129","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":75252,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10002:21:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75253,"nodeType":"RevertStatement","src":"9995:28:129"}}]},"implemented":true,"kind":"function","modifiers":[],"name":"_revertZeroAddress","nameLocation":"9906:18:129","parameters":{"id":75243,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75242,"mutability":"mutable","name":"_address","nameLocation":"9933:8:129","nodeType":"VariableDeclaration","scope":75256,"src":"9925:16:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":75241,"name":"address","nodeType":"ElementaryTypeName","src":"9925:7:129","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"9924:18:129"},"returnParameters":{"id":75244,"nodeType":"ParameterList","parameters":[],"src":"9957:0:129"},"scope":77611,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":75286,"nodeType":"FunctionDefinition","src":"10036:230:129","nodes":[],"body":{"id":75285,"nodeType":"Block","src":"10107:159:129","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":75271,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":75265,"name":"sybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75017,"src":"10129:11:129","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$80667","typeString":"contract ISybilScorer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ISybilScorer_$80667","typeString":"contract ISybilScorer"}],"id":75264,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10121:7:129","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":75263,"name":"address","nodeType":"ElementaryTypeName","src":"10121:7:129","typeDescriptions":{}}},"id":75266,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10121:20:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":75269,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10153:1:129","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":75268,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10145:7:129","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":75267,"name":"address","nodeType":"ElementaryTypeName","src":"10145:7:129","typeDescriptions":{}}},"id":75270,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10145:10:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"10121:34:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75275,"nodeType":"IfStatement","src":"10117:76:129","trueBody":{"id":75274,"nodeType":"Block","src":"10157:36:129","statements":[{"expression":{"hexValue":"74727565","id":75272,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"10178:4:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":75262,"id":75273,"nodeType":"Return","src":"10171:11:129"}]}},{"expression":{"arguments":[{"id":75278,"name":"_user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75258,"src":"10238:5:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":75281,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"10253:4:129","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$77611","typeString":"contract CVStrategy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategy_$77611","typeString":"contract CVStrategy"}],"id":75280,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10245:7:129","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":75279,"name":"address","nodeType":"ElementaryTypeName","src":"10245:7:129","typeDescriptions":{}}},"id":75282,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10245:13:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":75276,"name":"sybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75017,"src":"10209:11:129","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$80667","typeString":"contract ISybilScorer"}},"id":75277,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10221:16:129","memberName":"canExecuteAction","nodeType":"MemberAccess","referencedDeclaration":80624,"src":"10209:28:129","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_bool_$","typeString":"function (address,address) view external returns (bool)"}},"id":75283,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10209:50:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":75262,"id":75284,"nodeType":"Return","src":"10202:57:129"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_canExecuteAction","nameLocation":"10045:17:129","parameters":{"id":75259,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75258,"mutability":"mutable","name":"_user","nameLocation":"10071:5:129","nodeType":"VariableDeclaration","scope":75286,"src":"10063:13:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":75257,"name":"address","nodeType":"ElementaryTypeName","src":"10063:7:129","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"10062:15:129"},"returnParameters":{"id":75262,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75261,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":75286,"src":"10101:4:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":75260,"name":"bool","nodeType":"ElementaryTypeName","src":"10101:4:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"10100:6:129"},"scope":77611,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":75470,"nodeType":"FunctionDefinition","src":"10592:2045:129","nodes":[],"body":{"id":75469,"nodeType":"Block","src":"10693:1944:129","nodes":[],"statements":[{"condition":{"id":75299,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"10707:27:129","subExpression":{"arguments":[{"id":75297,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75290,"src":"10726:7:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":75296,"name":"_canExecuteAction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75286,"src":"10708:17:129","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":75298,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10708:26:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75304,"nodeType":"IfStatement","src":"10703:90:129","trueBody":{"id":75303,"nodeType":"Block","src":"10736:57:129","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":75300,"name":"UserCannotExecuteAction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74890,"src":"10757:23:129","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":75301,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10757:25:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75302,"nodeType":"RevertStatement","src":"10750:32:129"}]}},{"expression":{"id":75305,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75288,"src":"10847:5:129","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":75306,"nodeType":"ExpressionStatement","src":"10847:5:129"},{"assignments":[75311],"declarations":[{"constant":false,"id":75311,"mutability":"mutable","name":"proposal","nameLocation":"10899:8:129","nodeType":"VariableDeclaration","scope":75469,"src":"10862:45:129","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$74743_memory_ptr","typeString":"struct StrategyStruct.CreateProposal"},"typeName":{"id":75310,"nodeType":"UserDefinedTypeName","pathNode":{"id":75309,"name":"StrategyStruct.CreateProposal","nameLocations":["10862:14:129","10877:14:129"],"nodeType":"IdentifierPath","referencedDeclaration":74743,"src":"10862:29:129"},"referencedDeclaration":74743,"src":"10862:29:129","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$74743_storage_ptr","typeString":"struct StrategyStruct.CreateProposal"}},"visibility":"internal"}],"id":75319,"initialValue":{"arguments":[{"id":75314,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75288,"src":"10921:5:129","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"expression":{"id":75315,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74807,"src":"10929:14:129","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$74807_$","typeString":"type(library StrategyStruct)"}},"id":75316,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10944:14:129","memberName":"CreateProposal","nodeType":"MemberAccess","referencedDeclaration":74743,"src":"10929:29:129","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_CreateProposal_$74743_storage_ptr_$","typeString":"type(struct StrategyStruct.CreateProposal storage pointer)"}}],"id":75317,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"10928:31:129","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_CreateProposal_$74743_storage_ptr_$","typeString":"type(struct StrategyStruct.CreateProposal storage pointer)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_struct$_CreateProposal_$74743_storage_ptr_$","typeString":"type(struct StrategyStruct.CreateProposal storage pointer)"}],"expression":{"id":75312,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"10910:3:129","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":75313,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"10914:6:129","memberName":"decode","nodeType":"MemberAccess","src":"10910:10:129","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":75318,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10910:50:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$74743_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"nodeType":"VariableDeclarationStatement","src":"10862:98:129"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75323,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":75320,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75311,"src":"11075:8:129","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$74743_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":75321,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11084:6:129","memberName":"poolId","nodeType":"MemberAccess","referencedDeclaration":74733,"src":"11075:15:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":75322,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11094:1:129","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"11075:20:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75328,"nodeType":"IfStatement","src":"11071:78:129","trueBody":{"id":75327,"nodeType":"Block","src":"11097:52:129","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":75324,"name":"PoolIdCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74834,"src":"11118:18:129","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":75325,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11118:20:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75326,"nodeType":"RevertStatement","src":"11111:27:129"}]}},{"condition":{"commonType":{"typeIdentifier":"t_enum$_ProposalType_$74726","typeString":"enum StrategyStruct.ProposalType"},"id":75333,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":75329,"name":"proposalType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75005,"src":"11225:12:129","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$74726","typeString":"enum StrategyStruct.ProposalType"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":75330,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74807,"src":"11241:14:129","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$74807_$","typeString":"type(library StrategyStruct)"}},"id":75331,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11256:12:129","memberName":"ProposalType","nodeType":"MemberAccess","referencedDeclaration":74726,"src":"11241:27:129","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalType_$74726_$","typeString":"type(enum StrategyStruct.ProposalType)"}},"id":75332,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"11269:7:129","memberName":"Funding","nodeType":"MemberAccess","referencedDeclaration":74724,"src":"11241:35:129","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$74726","typeString":"enum StrategyStruct.ProposalType"}},"src":"11225:51:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75380,"nodeType":"IfStatement","src":"11221:722:129","trueBody":{"id":75379,"nodeType":"Block","src":"11278:665:129","statements":[{"expression":{"arguments":[{"expression":{"id":75335,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75311,"src":"11311:8:129","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$74743_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":75336,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11320:11:129","memberName":"beneficiary","nodeType":"MemberAccess","referencedDeclaration":74735,"src":"11311:20:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":75334,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75256,"src":"11292:18:129","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":75337,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11292:40:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75338,"nodeType":"ExpressionStatement","src":"11292:40:129"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":75345,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":75339,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75311,"src":"11398:8:129","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$74743_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":75340,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11407:14:129","memberName":"requestedToken","nodeType":"MemberAccess","referencedDeclaration":74739,"src":"11398:23:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":75343,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11433:1:129","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":75342,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11425:7:129","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":75341,"name":"address","nodeType":"ElementaryTypeName","src":"11425:7:129","typeDescriptions":{}}},"id":75344,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11425:10:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"11398:37:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75350,"nodeType":"IfStatement","src":"11394:102:129","trueBody":{"id":75349,"nodeType":"Block","src":"11437:59:129","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":75346,"name":"TokenCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74828,"src":"11462:17:129","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":75347,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11462:19:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75348,"nodeType":"RevertStatement","src":"11455:26:129"}]}},{"assignments":[75352],"declarations":[{"constant":false,"id":75352,"mutability":"mutable","name":"poolToken","nameLocation":"11517:9:129","nodeType":"VariableDeclaration","scope":75379,"src":"11509:17:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":75351,"name":"address","nodeType":"ElementaryTypeName","src":"11509:7:129","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":75360,"initialValue":{"expression":{"arguments":[{"id":75357,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3341,"src":"11552:6:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":75353,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"11529:4:129","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$77611","typeString":"contract CVStrategy"}},"id":75354,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11534:7:129","memberName":"getAllo","nodeType":"MemberAccess","referencedDeclaration":3421,"src":"11529:12:129","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_contract$_IAllo_$2610_$","typeString":"function () view external returns (contract IAllo)"}},"id":75355,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11529:14:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IAllo_$2610","typeString":"contract IAllo"}},"id":75356,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11544:7:129","memberName":"getPool","nodeType":"MemberAccess","referencedDeclaration":2603,"src":"11529:22:129","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_struct$_Pool_$2319_memory_ptr_$","typeString":"function (uint256) view external returns (struct IAllo.Pool memory)"}},"id":75358,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11529:30:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"id":75359,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11560:5:129","memberName":"token","nodeType":"MemberAccess","referencedDeclaration":2311,"src":"11529:36:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"11509:56:129"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":75364,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":75361,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75311,"src":"11583:8:129","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$74743_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":75362,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11592:14:129","memberName":"requestedToken","nodeType":"MemberAccess","referencedDeclaration":74739,"src":"11583:23:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":75363,"name":"poolToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75352,"src":"11610:9:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"11583:36:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75369,"nodeType":"IfStatement","src":"11579:234:129","trueBody":{"id":75368,"nodeType":"Block","src":"11621:192:129","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":75365,"name":"TokenNotAllowed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74830,"src":"11781:15:129","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":75366,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11781:17:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75367,"nodeType":"RevertStatement","src":"11774:24:129"}]}},{"condition":{"arguments":[{"expression":{"id":75371,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75311,"src":"11846:8:129","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$74743_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":75372,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11855:15:129","memberName":"amountRequested","nodeType":"MemberAccess","referencedDeclaration":74737,"src":"11846:24:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":75370,"name":"_isOverMaxRatio","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76674,"src":"11830:15:129","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view returns (bool)"}},"id":75373,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11830:41:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75378,"nodeType":"IfStatement","src":"11826:107:129","trueBody":{"id":75377,"nodeType":"Block","src":"11873:60:129","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":75374,"name":"AmountOverMaxRatio","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74832,"src":"11898:18:129","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":75375,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11898:20:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75376,"nodeType":"RevertStatement","src":"11891:27:129"}]}}]}},{"assignments":[75382],"declarations":[{"constant":false,"id":75382,"mutability":"mutable","name":"proposalId","nameLocation":"11960:10:129","nodeType":"VariableDeclaration","scope":75469,"src":"11952:18:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75381,"name":"uint256","nodeType":"ElementaryTypeName","src":"11952:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":75385,"initialValue":{"id":75384,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":true,"src":"11973:17:129","subExpression":{"id":75383,"name":"proposalCounter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74993,"src":"11975:15:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"11952:38:129"},{"assignments":[75390],"declarations":[{"constant":false,"id":75390,"mutability":"mutable","name":"p","nameLocation":"12032:1:129","nodeType":"VariableDeclaration","scope":75469,"src":"12000:33:129","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":75389,"nodeType":"UserDefinedTypeName","pathNode":{"id":75388,"name":"StrategyStruct.Proposal","nameLocations":["12000:14:129","12015:8:129"],"nodeType":"IdentifierPath","referencedDeclaration":74776,"src":"12000:23:129"},"referencedDeclaration":74776,"src":"12000:23:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":75394,"initialValue":{"baseExpression":{"id":75391,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75022,"src":"12036:9:129","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$74776_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":75393,"indexExpression":{"id":75392,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75382,"src":"12046:10:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"12036:21:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"12000:57:129"},{"expression":{"id":75399,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":75395,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75390,"src":"12068:1:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75397,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"12070:10:129","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":74751,"src":"12068:12:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":75398,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75382,"src":"12083:10:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"12068:25:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":75400,"nodeType":"ExpressionStatement","src":"12068:25:129"},{"expression":{"id":75405,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":75401,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75390,"src":"12103:1:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75403,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"12105:9:129","memberName":"submitter","nodeType":"MemberAccess","referencedDeclaration":74761,"src":"12103:11:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":75404,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75290,"src":"12117:7:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"12103:21:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":75406,"nodeType":"ExpressionStatement","src":"12103:21:129"},{"expression":{"id":75412,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":75407,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75390,"src":"12134:1:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75409,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"12136:11:129","memberName":"beneficiary","nodeType":"MemberAccess","referencedDeclaration":74759,"src":"12134:13:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":75410,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75311,"src":"12150:8:129","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$74743_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":75411,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12159:11:129","memberName":"beneficiary","nodeType":"MemberAccess","referencedDeclaration":74735,"src":"12150:20:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"12134:36:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":75413,"nodeType":"ExpressionStatement","src":"12134:36:129"},{"expression":{"id":75419,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":75414,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75390,"src":"12180:1:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75416,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"12182:14:129","memberName":"requestedToken","nodeType":"MemberAccess","referencedDeclaration":74763,"src":"12180:16:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":75417,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75311,"src":"12199:8:129","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$74743_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":75418,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12208:14:129","memberName":"requestedToken","nodeType":"MemberAccess","referencedDeclaration":74739,"src":"12199:23:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"12180:42:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":75420,"nodeType":"ExpressionStatement","src":"12180:42:129"},{"expression":{"id":75426,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":75421,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75390,"src":"12232:1:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75423,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"12234:15:129","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":74753,"src":"12232:17:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":75424,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75311,"src":"12252:8:129","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$74743_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":75425,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12261:15:129","memberName":"amountRequested","nodeType":"MemberAccess","referencedDeclaration":74737,"src":"12252:24:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"12232:44:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":75427,"nodeType":"ExpressionStatement","src":"12232:44:129"},{"expression":{"id":75434,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":75428,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75390,"src":"12337:1:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75430,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"12339:14:129","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":74768,"src":"12337:16:129","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$74749","typeString":"enum StrategyStruct.ProposalStatus"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"expression":{"id":75431,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74807,"src":"12356:14:129","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$74807_$","typeString":"type(library StrategyStruct)"}},"id":75432,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12371:14:129","memberName":"ProposalStatus","nodeType":"MemberAccess","referencedDeclaration":74749,"src":"12356:29:129","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$74749_$","typeString":"type(enum StrategyStruct.ProposalStatus)"}},"id":75433,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"12386:6:129","memberName":"Active","nodeType":"MemberAccess","referencedDeclaration":74745,"src":"12356:36:129","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$74749","typeString":"enum StrategyStruct.ProposalStatus"}},"src":"12337:55:129","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$74749","typeString":"enum StrategyStruct.ProposalStatus"}},"id":75435,"nodeType":"ExpressionStatement","src":"12337:55:129"},{"expression":{"id":75441,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":75436,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75390,"src":"12402:1:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75438,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"12404:9:129","memberName":"blockLast","nodeType":"MemberAccess","referencedDeclaration":74765,"src":"12402:11:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":75439,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"12416:5:129","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":75440,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12422:6:129","memberName":"number","nodeType":"MemberAccess","src":"12416:12:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"12402:26:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":75442,"nodeType":"ExpressionStatement","src":"12402:26:129"},{"expression":{"id":75447,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":75443,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75390,"src":"12438:1:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75445,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"12440:14:129","memberName":"convictionLast","nodeType":"MemberAccess","referencedDeclaration":74757,"src":"12438:16:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"30","id":75446,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12457:1:129","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"12438:20:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":75448,"nodeType":"ExpressionStatement","src":"12438:20:129"},{"expression":{"id":75454,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":75449,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75390,"src":"12504:1:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75451,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"12506:8:129","memberName":"metadata","nodeType":"MemberAccess","referencedDeclaration":74775,"src":"12504:10:129","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage","typeString":"struct Metadata storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":75452,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75311,"src":"12517:8:129","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$74743_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":75453,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12526:8:129","memberName":"metadata","nodeType":"MemberAccess","referencedDeclaration":74742,"src":"12517:17:129","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}},"src":"12504:30:129","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage","typeString":"struct Metadata storage ref"}},"id":75455,"nodeType":"ExpressionStatement","src":"12504:30:129"},{"eventCall":{"arguments":[{"id":75457,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3341,"src":"12566:6:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":75458,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75382,"src":"12574:10:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":75456,"name":"ProposalCreated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74911,"src":"12550:15:129","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":75459,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12550:35:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75460,"nodeType":"EmitStatement","src":"12545:40:129"},{"expression":{"arguments":[{"arguments":[{"id":75465,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75382,"src":"12618:10:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":75464,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12610:7:129","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":75463,"name":"uint160","nodeType":"ElementaryTypeName","src":"12610:7:129","typeDescriptions":{}}},"id":75466,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12610:19:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":75462,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12602:7:129","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":75461,"name":"address","nodeType":"ElementaryTypeName","src":"12602:7:129","typeDescriptions":{}}},"id":75467,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12602:28:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":75295,"id":75468,"nodeType":"Return","src":"12595:35:129"}]},"baseFunctions":[3809],"implemented":true,"kind":"function","modifiers":[],"name":"_registerRecipient","nameLocation":"10601:18:129","overrides":{"id":75292,"nodeType":"OverrideSpecifier","overrides":[],"src":"10666:8:129"},"parameters":{"id":75291,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75288,"mutability":"mutable","name":"_data","nameLocation":"10633:5:129","nodeType":"VariableDeclaration","scope":75470,"src":"10620:18:129","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":75287,"name":"bytes","nodeType":"ElementaryTypeName","src":"10620:5:129","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":75290,"mutability":"mutable","name":"_sender","nameLocation":"10648:7:129","nodeType":"VariableDeclaration","scope":75470,"src":"10640:15:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":75289,"name":"address","nodeType":"ElementaryTypeName","src":"10640:7:129","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"10619:37:129"},"returnParameters":{"id":75295,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75294,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":75470,"src":"10684:7:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":75293,"name":"address","nodeType":"ElementaryTypeName","src":"10684:7:129","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"10683:9:129"},"scope":77611,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":75509,"nodeType":"FunctionDefinition","src":"12643:351:129","nodes":[],"body":{"id":75508,"nodeType":"Block","src":"12678:316:129","nodes":[],"statements":[{"assignments":[75474],"declarations":[{"constant":false,"id":75474,"mutability":"mutable","name":"member","nameLocation":"12696:6:129","nodeType":"VariableDeclaration","scope":75508,"src":"12688:14:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":75473,"name":"address","nodeType":"ElementaryTypeName","src":"12688:7:129","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":75477,"initialValue":{"expression":{"id":75475,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"12705:3:129","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":75476,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12709:6:129","memberName":"sender","nodeType":"MemberAccess","src":"12705:10:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"12688:27:129"},{"condition":{"id":75481,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"12729:26:129","subExpression":{"arguments":[{"id":75479,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75474,"src":"12748:6:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":75478,"name":"_canExecuteAction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75286,"src":"12730:17:129","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":75480,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12730:25:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75486,"nodeType":"IfStatement","src":"12725:89:129","trueBody":{"id":75485,"nodeType":"Block","src":"12757:57:129","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":75482,"name":"UserCannotExecuteAction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74890,"src":"12778:23:129","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":75483,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12778:25:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75484,"nodeType":"RevertStatement","src":"12771:32:129"}]}},{"expression":{"arguments":[{"id":75490,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75474,"src":"12866:6:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":75493,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"12882:4:129","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$77611","typeString":"contract CVStrategy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategy_$77611","typeString":"contract CVStrategy"}],"id":75492,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12874:7:129","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":75491,"name":"address","nodeType":"ElementaryTypeName","src":"12874:7:129","typeDescriptions":{}}},"id":75494,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12874:13:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":75487,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75014,"src":"12823:17:129","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunity_$83082","typeString":"contract RegistryCommunity"}},"id":75489,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12841:24:129","memberName":"activateMemberInStrategy","nodeType":"MemberAccess","referencedDeclaration":82041,"src":"12823:42:129","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address) external"}},"id":75495,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12823:65:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75496,"nodeType":"ExpressionStatement","src":"12823:65:129"},{"expression":{"id":75506,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":75497,"name":"totalPointsActivated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74997,"src":"12898:20:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"arguments":[{"id":75500,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75474,"src":"12965:6:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":75503,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"12981:4:129","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$77611","typeString":"contract CVStrategy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategy_$77611","typeString":"contract CVStrategy"}],"id":75502,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12973:7:129","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":75501,"name":"address","nodeType":"ElementaryTypeName","src":"12973:7:129","typeDescriptions":{}}},"id":75504,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12973:13:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":75498,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75014,"src":"12922:17:129","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunity_$83082","typeString":"contract RegistryCommunity"}},"id":75499,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12940:24:129","memberName":"getMemberPowerInStrategy","nodeType":"MemberAccess","referencedDeclaration":82423,"src":"12922:42:129","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view external returns (uint256)"}},"id":75505,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12922:65:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"12898:89:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":75507,"nodeType":"ExpressionStatement","src":"12898:89:129"}]},"functionSelector":"814516ad","implemented":true,"kind":"function","modifiers":[],"name":"activatePoints","nameLocation":"12652:14:129","parameters":{"id":75471,"nodeType":"ParameterList","parameters":[],"src":"12666:2:129"},"returnParameters":{"id":75472,"nodeType":"ParameterList","parameters":[],"src":"12678:0:129"},"scope":77611,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":75518,"nodeType":"FunctionDefinition","src":"13000:81:129","nodes":[],"body":{"id":75517,"nodeType":"Block","src":"13035:46:129","nodes":[],"statements":[{"expression":{"arguments":[{"expression":{"id":75513,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"13063:3:129","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":75514,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13067:6:129","memberName":"sender","nodeType":"MemberAccess","src":"13063:10:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":75512,"name":"_deactivatePoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75566,"src":"13045:17:129","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":75515,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13045:29:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75516,"nodeType":"ExpressionStatement","src":"13045:29:129"}]},"functionSelector":"1ddf1e23","implemented":true,"kind":"function","modifiers":[],"name":"deactivatePoints","nameLocation":"13009:16:129","parameters":{"id":75510,"nodeType":"ParameterList","parameters":[],"src":"13025:2:129"},"returnParameters":{"id":75511,"nodeType":"ParameterList","parameters":[],"src":"13035:0:129"},"scope":77611,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":75531,"nodeType":"FunctionDefinition","src":"13087:128:129","nodes":[],"body":{"id":75530,"nodeType":"Block","src":"13139:76:129","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":75523,"name":"onlyRegistryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75240,"src":"13149:21:129","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":75524,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13149:23:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75525,"nodeType":"ExpressionStatement","src":"13149:23:129"},{"expression":{"arguments":[{"id":75527,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75520,"src":"13200:7:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":75526,"name":"_deactivatePoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75566,"src":"13182:17:129","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":75528,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13182:26:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75529,"nodeType":"ExpressionStatement","src":"13182:26:129"}]},"baseFunctions":[74697],"functionSelector":"6453d9c4","implemented":true,"kind":"function","modifiers":[],"name":"deactivatePoints","nameLocation":"13096:16:129","parameters":{"id":75521,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75520,"mutability":"mutable","name":"_member","nameLocation":"13121:7:129","nodeType":"VariableDeclaration","scope":75531,"src":"13113:15:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":75519,"name":"address","nodeType":"ElementaryTypeName","src":"13113:7:129","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"13112:17:129"},"returnParameters":{"id":75522,"nodeType":"ParameterList","parameters":[],"src":"13139:0:129"},"scope":77611,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":75566,"nodeType":"FunctionDefinition","src":"13221:351:129","nodes":[],"body":{"id":75565,"nodeType":"Block","src":"13274:298:129","nodes":[],"statements":[{"expression":{"id":75545,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":75536,"name":"totalPointsActivated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74997,"src":"13284:20:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"arguments":[{"id":75539,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75533,"src":"13351:7:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":75542,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"13368:4:129","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$77611","typeString":"contract CVStrategy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategy_$77611","typeString":"contract CVStrategy"}],"id":75541,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13360:7:129","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":75540,"name":"address","nodeType":"ElementaryTypeName","src":"13360:7:129","typeDescriptions":{}}},"id":75543,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13360:13:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":75537,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75014,"src":"13308:17:129","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunity_$83082","typeString":"contract RegistryCommunity"}},"id":75538,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13326:24:129","memberName":"getMemberPowerInStrategy","nodeType":"MemberAccess","referencedDeclaration":82423,"src":"13308:42:129","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view external returns (uint256)"}},"id":75544,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13308:66:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"13284:90:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":75546,"nodeType":"ExpressionStatement","src":"13284:90:129"},{"expression":{"arguments":[{"id":75550,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75533,"src":"13429:7:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":75553,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"13446:4:129","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$77611","typeString":"contract CVStrategy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategy_$77611","typeString":"contract CVStrategy"}],"id":75552,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13438:7:129","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":75551,"name":"address","nodeType":"ElementaryTypeName","src":"13438:7:129","typeDescriptions":{}}},"id":75554,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13438:13:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":75547,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75014,"src":"13384:17:129","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunity_$83082","typeString":"contract RegistryCommunity"}},"id":75549,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13402:26:129","memberName":"deactivateMemberInStrategy","nodeType":"MemberAccess","referencedDeclaration":82100,"src":"13384:44:129","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address) external"}},"id":75555,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13384:68:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75556,"nodeType":"ExpressionStatement","src":"13384:68:129"},{"expression":{"arguments":[{"id":75558,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75533,"src":"13516:7:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":75557,"name":"withdraw","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76468,"src":"13507:8:129","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":75559,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13507:17:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75560,"nodeType":"ExpressionStatement","src":"13507:17:129"},{"eventCall":{"arguments":[{"id":75562,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75533,"src":"13557:7:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":75561,"name":"PointsDeactivated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74947,"src":"13539:17:129","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":75563,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13539:26:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75564,"nodeType":"EmitStatement","src":"13534:31:129"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_deactivatePoints","nameLocation":"13230:17:129","parameters":{"id":75534,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75533,"mutability":"mutable","name":"_member","nameLocation":"13256:7:129","nodeType":"VariableDeclaration","scope":75566,"src":"13248:15:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":75532,"name":"address","nodeType":"ElementaryTypeName","src":"13248:7:129","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"13247:17:129"},"returnParameters":{"id":75535,"nodeType":"ParameterList","parameters":[],"src":"13274:0:129"},"scope":77611,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":75659,"nodeType":"FunctionDefinition","src":"13578:1012:129","nodes":[],"body":{"id":75658,"nodeType":"Block","src":"13669:921:129","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":75575,"name":"onlyRegistryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75240,"src":"13679:21:129","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":75576,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13679:23:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75577,"nodeType":"ExpressionStatement","src":"13679:23:129"},{"condition":{"id":75581,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"13716:27:129","subExpression":{"arguments":[{"id":75579,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75568,"src":"13735:7:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":75578,"name":"_canExecuteAction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75286,"src":"13717:17:129","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":75580,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13717:26:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75586,"nodeType":"IfStatement","src":"13712:90:129","trueBody":{"id":75585,"nodeType":"Block","src":"13745:57:129","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":75582,"name":"UserCannotExecuteAction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74890,"src":"13766:23:129","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":75583,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13766:25:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75584,"nodeType":"RevertStatement","src":"13759:32:129"}]}},{"assignments":[75588],"declarations":[{"constant":false,"id":75588,"mutability":"mutable","name":"pointsToIncrease","nameLocation":"13819:16:129","nodeType":"VariableDeclaration","scope":75658,"src":"13811:24:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75587,"name":"uint256","nodeType":"ElementaryTypeName","src":"13811:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":75590,"initialValue":{"hexValue":"30","id":75589,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13838:1:129","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"13811:28:129"},{"condition":{"commonType":{"typeIdentifier":"t_enum$_PointSystem_$74731","typeString":"enum StrategyStruct.PointSystem"},"id":75595,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":75591,"name":"pointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75008,"src":"13853:11:129","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$74731","typeString":"enum StrategyStruct.PointSystem"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":75592,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74807,"src":"13868:14:129","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$74807_$","typeString":"type(library StrategyStruct)"}},"id":75593,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13883:11:129","memberName":"PointSystem","nodeType":"MemberAccess","referencedDeclaration":74731,"src":"13868:26:129","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_PointSystem_$74731_$","typeString":"type(enum StrategyStruct.PointSystem)"}},"id":75594,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"13895:9:129","memberName":"Unlimited","nodeType":"MemberAccess","referencedDeclaration":74729,"src":"13868:36:129","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$74731","typeString":"enum StrategyStruct.PointSystem"}},"src":"13853:51:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_enum$_PointSystem_$74731","typeString":"enum StrategyStruct.PointSystem"},"id":75607,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":75603,"name":"pointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75008,"src":"13998:11:129","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$74731","typeString":"enum StrategyStruct.PointSystem"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":75604,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74807,"src":"14013:14:129","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$74807_$","typeString":"type(library StrategyStruct)"}},"id":75605,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14028:11:129","memberName":"PointSystem","nodeType":"MemberAccess","referencedDeclaration":74731,"src":"14013:26:129","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_PointSystem_$74731_$","typeString":"type(enum StrategyStruct.PointSystem)"}},"id":75606,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"14040:6:129","memberName":"Capped","nodeType":"MemberAccess","referencedDeclaration":74728,"src":"14013:33:129","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$74731","typeString":"enum StrategyStruct.PointSystem"}},"src":"13998:48:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_enum$_PointSystem_$74731","typeString":"enum StrategyStruct.PointSystem"},"id":75620,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":75616,"name":"pointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75008,"src":"14146:11:129","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$74731","typeString":"enum StrategyStruct.PointSystem"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":75617,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74807,"src":"14161:14:129","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$74807_$","typeString":"type(library StrategyStruct)"}},"id":75618,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14176:11:129","memberName":"PointSystem","nodeType":"MemberAccess","referencedDeclaration":74731,"src":"14161:26:129","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_PointSystem_$74731_$","typeString":"type(enum StrategyStruct.PointSystem)"}},"id":75619,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"14188:9:129","memberName":"Quadratic","nodeType":"MemberAccess","referencedDeclaration":74730,"src":"14161:36:129","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$74731","typeString":"enum StrategyStruct.PointSystem"}},"src":"14146:51:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75629,"nodeType":"IfStatement","src":"14142:148:129","trueBody":{"id":75628,"nodeType":"Block","src":"14199:91:129","statements":[{"expression":{"id":75626,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":75621,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75588,"src":"14213:16:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":75623,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75568,"src":"14255:7:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":75624,"name":"_amountToStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75570,"src":"14264:14:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":75622,"name":"increasePowerQuadratic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75872,"src":"14232:22:129","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256) view returns (uint256)"}},"id":75625,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14232:47:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"14213:66:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":75627,"nodeType":"ExpressionStatement","src":"14213:66:129"}]}},"id":75630,"nodeType":"IfStatement","src":"13994:296:129","trueBody":{"id":75615,"nodeType":"Block","src":"14048:88:129","statements":[{"expression":{"id":75613,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":75608,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75588,"src":"14062:16:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":75610,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75568,"src":"14101:7:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":75611,"name":"_amountToStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75570,"src":"14110:14:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":75609,"name":"increasePowerCapped","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75788,"src":"14081:19:129","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256) view returns (uint256)"}},"id":75612,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14081:44:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"14062:63:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":75614,"nodeType":"ExpressionStatement","src":"14062:63:129"}]}},"id":75631,"nodeType":"IfStatement","src":"13849:441:129","trueBody":{"id":75602,"nodeType":"Block","src":"13906:82:129","statements":[{"expression":{"id":75600,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":75596,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75588,"src":"13920:16:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":75598,"name":"_amountToStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75570,"src":"13962:14:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":75597,"name":"increasePowerUnlimited","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75725,"src":"13939:22:129","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":75599,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13939:38:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"13920:57:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":75601,"nodeType":"ExpressionStatement","src":"13920:57:129"}]}},{"assignments":[75633],"declarations":[{"constant":false,"id":75633,"mutability":"mutable","name":"isActivated","nameLocation":"14304:11:129","nodeType":"VariableDeclaration","scope":75658,"src":"14299:16:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":75632,"name":"bool","nodeType":"ElementaryTypeName","src":"14299:4:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":75642,"initialValue":{"arguments":[{"id":75636,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75568,"src":"14364:7:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":75639,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"14381:4:129","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$77611","typeString":"contract CVStrategy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategy_$77611","typeString":"contract CVStrategy"}],"id":75638,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"14373:7:129","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":75637,"name":"address","nodeType":"ElementaryTypeName","src":"14373:7:129","typeDescriptions":{}}},"id":75640,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14373:13:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":75634,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75014,"src":"14318:17:129","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunity_$83082","typeString":"contract RegistryCommunity"}},"id":75635,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14336:27:129","memberName":"memberActivatedInStrategies","nodeType":"MemberAccess","referencedDeclaration":81575,"src":"14318:45:129","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_bool_$","typeString":"function (address,address) view external returns (bool)"}},"id":75641,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14318:69:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"VariableDeclarationStatement","src":"14299:88:129"},{"condition":{"id":75643,"name":"isActivated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75633,"src":"14401:11:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75649,"nodeType":"IfStatement","src":"14397:82:129","trueBody":{"id":75648,"nodeType":"Block","src":"14414:65:129","statements":[{"expression":{"id":75646,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":75644,"name":"totalPointsActivated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74997,"src":"14428:20:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"id":75645,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75588,"src":"14452:16:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"14428:40:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":75647,"nodeType":"ExpressionStatement","src":"14428:40:129"}]}},{"eventCall":{"arguments":[{"id":75651,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75568,"src":"14508:7:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":75652,"name":"_amountToStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75570,"src":"14517:14:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":75653,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75588,"src":"14533:16:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":75650,"name":"PowerIncreased","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74923,"src":"14493:14:129","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (address,uint256,uint256)"}},"id":75654,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14493:57:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75655,"nodeType":"EmitStatement","src":"14488:62:129"},{"expression":{"id":75656,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75588,"src":"14567:16:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":75574,"id":75657,"nodeType":"Return","src":"14560:23:129"}]},"baseFunctions":[74706],"functionSelector":"782aadff","implemented":true,"kind":"function","modifiers":[],"name":"increasePower","nameLocation":"13587:13:129","parameters":{"id":75571,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75568,"mutability":"mutable","name":"_member","nameLocation":"13609:7:129","nodeType":"VariableDeclaration","scope":75659,"src":"13601:15:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":75567,"name":"address","nodeType":"ElementaryTypeName","src":"13601:7:129","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":75570,"mutability":"mutable","name":"_amountToStake","nameLocation":"13626:14:129","nodeType":"VariableDeclaration","scope":75659,"src":"13618:22:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75569,"name":"uint256","nodeType":"ElementaryTypeName","src":"13618:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13600:41:129"},"returnParameters":{"id":75574,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75573,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":75659,"src":"13660:7:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75572,"name":"uint256","nodeType":"ElementaryTypeName","src":"13660:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13659:9:129"},"scope":77611,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":75715,"nodeType":"FunctionDefinition","src":"14596:681:129","nodes":[],"body":{"id":75714,"nodeType":"Block","src":"14689:588:129","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":75668,"name":"onlyRegistryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75240,"src":"14699:21:129","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":75669,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14699:23:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75670,"nodeType":"ExpressionStatement","src":"14699:23:129"},{"assignments":[75672],"declarations":[{"constant":false,"id":75672,"mutability":"mutable","name":"pointsToDecrease","nameLocation":"14786:16:129","nodeType":"VariableDeclaration","scope":75714,"src":"14778:24:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75671,"name":"uint256","nodeType":"ElementaryTypeName","src":"14778:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":75674,"initialValue":{"hexValue":"30","id":75673,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14805:1:129","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"14778:28:129"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":75685,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_enum$_PointSystem_$74731","typeString":"enum StrategyStruct.PointSystem"},"id":75679,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":75675,"name":"pointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75008,"src":"14820:11:129","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$74731","typeString":"enum StrategyStruct.PointSystem"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":75676,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74807,"src":"14835:14:129","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$74807_$","typeString":"type(library StrategyStruct)"}},"id":75677,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14850:11:129","memberName":"PointSystem","nodeType":"MemberAccess","referencedDeclaration":74731,"src":"14835:26:129","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_PointSystem_$74731_$","typeString":"type(enum StrategyStruct.PointSystem)"}},"id":75678,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"14862:9:129","memberName":"Unlimited","nodeType":"MemberAccess","referencedDeclaration":74729,"src":"14835:36:129","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$74731","typeString":"enum StrategyStruct.PointSystem"}},"src":"14820:51:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_enum$_PointSystem_$74731","typeString":"enum StrategyStruct.PointSystem"},"id":75684,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":75680,"name":"pointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75008,"src":"14875:11:129","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$74731","typeString":"enum StrategyStruct.PointSystem"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":75681,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74807,"src":"14890:14:129","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$74807_$","typeString":"type(library StrategyStruct)"}},"id":75682,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14905:11:129","memberName":"PointSystem","nodeType":"MemberAccess","referencedDeclaration":74731,"src":"14890:26:129","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_PointSystem_$74731_$","typeString":"type(enum StrategyStruct.PointSystem)"}},"id":75683,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"14917:6:129","memberName":"Capped","nodeType":"MemberAccess","referencedDeclaration":74728,"src":"14890:33:129","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$74731","typeString":"enum StrategyStruct.PointSystem"}},"src":"14875:48:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"14820:103:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":75700,"nodeType":"Block","src":"15021:93:129","statements":[{"expression":{"id":75698,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":75693,"name":"pointsToDecrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75672,"src":"15035:16:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":75695,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75661,"src":"15077:7:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":75696,"name":"_amountToUnstake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75663,"src":"15086:16:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":75694,"name":"decreasePowerQuadratic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75976,"src":"15054:22:129","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256) view returns (uint256)"}},"id":75697,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15054:49:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"15035:68:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":75699,"nodeType":"ExpressionStatement","src":"15035:68:129"}]},"id":75701,"nodeType":"IfStatement","src":"14816:298:129","trueBody":{"id":75692,"nodeType":"Block","src":"14925:90:129","statements":[{"expression":{"id":75690,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":75686,"name":"pointsToDecrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75672,"src":"14939:16:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":75688,"name":"_amountToUnstake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75663,"src":"14987:16:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":75687,"name":"decreasePowerCappedUnlimited","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75882,"src":"14958:28:129","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":75689,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14958:46:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"14939:65:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":75691,"nodeType":"ExpressionStatement","src":"14939:65:129"}]}},{"expression":{"id":75704,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":75702,"name":"totalPointsActivated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74997,"src":"15123:20:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"id":75703,"name":"pointsToDecrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75672,"src":"15147:16:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"15123:40:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":75705,"nodeType":"ExpressionStatement","src":"15123:40:129"},{"eventCall":{"arguments":[{"id":75707,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75661,"src":"15193:7:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":75708,"name":"_amountToUnstake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75663,"src":"15202:16:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":75709,"name":"pointsToDecrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75672,"src":"15220:16:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":75706,"name":"PowerDecreased","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74931,"src":"15178:14:129","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (address,uint256,uint256)"}},"id":75710,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15178:59:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75711,"nodeType":"EmitStatement","src":"15173:64:129"},{"expression":{"id":75712,"name":"pointsToDecrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75672,"src":"15254:16:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":75667,"id":75713,"nodeType":"Return","src":"15247:23:129"}]},"baseFunctions":[74715],"functionSelector":"2ed04b2b","implemented":true,"kind":"function","modifiers":[],"name":"decreasePower","nameLocation":"14605:13:129","parameters":{"id":75664,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75661,"mutability":"mutable","name":"_member","nameLocation":"14627:7:129","nodeType":"VariableDeclaration","scope":75715,"src":"14619:15:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":75660,"name":"address","nodeType":"ElementaryTypeName","src":"14619:7:129","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":75663,"mutability":"mutable","name":"_amountToUnstake","nameLocation":"14644:16:129","nodeType":"VariableDeclaration","scope":75715,"src":"14636:24:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75662,"name":"uint256","nodeType":"ElementaryTypeName","src":"14636:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"14618:43:129"},"returnParameters":{"id":75667,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75666,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":75715,"src":"14680:7:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75665,"name":"uint256","nodeType":"ElementaryTypeName","src":"14680:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"14679:9:129"},"scope":77611,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":75725,"nodeType":"FunctionDefinition","src":"15283:126:129","nodes":[],"body":{"id":75724,"nodeType":"Block","src":"15371:38:129","nodes":[],"statements":[{"expression":{"id":75722,"name":"_amountToStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75717,"src":"15388:14:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":75721,"id":75723,"nodeType":"Return","src":"15381:21:129"}]},"implemented":true,"kind":"function","modifiers":[],"name":"increasePowerUnlimited","nameLocation":"15292:22:129","parameters":{"id":75718,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75717,"mutability":"mutable","name":"_amountToStake","nameLocation":"15323:14:129","nodeType":"VariableDeclaration","scope":75725,"src":"15315:22:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75716,"name":"uint256","nodeType":"ElementaryTypeName","src":"15315:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15314:24:129"},"returnParameters":{"id":75721,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75720,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":75725,"src":"15362:7:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75719,"name":"uint256","nodeType":"ElementaryTypeName","src":"15362:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15361:9:129"},"scope":77611,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":75788,"nodeType":"FunctionDefinition","src":"15415:615:129","nodes":[],"body":{"id":75787,"nodeType":"Block","src":"15517:513:129","nodes":[],"statements":[{"assignments":[75735],"declarations":[{"constant":false,"id":75735,"mutability":"mutable","name":"pointsToIncrease","nameLocation":"15535:16:129","nodeType":"VariableDeclaration","scope":75787,"src":"15527:24:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75734,"name":"uint256","nodeType":"ElementaryTypeName","src":"15527:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":75737,"initialValue":{"id":75736,"name":"_amountToStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75729,"src":"15554:14:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"15527:41:129"},{"expression":{"arguments":[{"hexValue":"504f494e545320544f20494e435245415345","id":75741,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"15590:20:129","typeDescriptions":{"typeIdentifier":"t_stringliteral_ef3d3d59430373ce7e3d099486636fe73635f3082757c009fe2ef0b043a4ebb1","typeString":"literal_string \"POINTS TO INCREASE\""},"value":"POINTS TO INCREASE"},{"id":75742,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75735,"src":"15612:16:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ef3d3d59430373ce7e3d099486636fe73635f3082757c009fe2ef0b043a4ebb1","typeString":"literal_string \"POINTS TO INCREASE\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":75738,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29549,"src":"15578:7:129","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$29549_$","typeString":"type(library console)"}},"id":75740,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15586:3:129","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":22193,"src":"15578:11:129","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":75743,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15578:51:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75744,"nodeType":"ExpressionStatement","src":"15578:51:129"},{"assignments":[75746],"declarations":[{"constant":false,"id":75746,"mutability":"mutable","name":"memberPower","nameLocation":"15647:11:129","nodeType":"VariableDeclaration","scope":75787,"src":"15639:19:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75745,"name":"uint256","nodeType":"ElementaryTypeName","src":"15639:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":75755,"initialValue":{"arguments":[{"id":75749,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75727,"src":"15704:7:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":75752,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"15721:4:129","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$77611","typeString":"contract CVStrategy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategy_$77611","typeString":"contract CVStrategy"}],"id":75751,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"15713:7:129","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":75750,"name":"address","nodeType":"ElementaryTypeName","src":"15713:7:129","typeDescriptions":{}}},"id":75753,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15713:13:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":75747,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75014,"src":"15661:17:129","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunity_$83082","typeString":"contract RegistryCommunity"}},"id":75748,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15679:24:129","memberName":"getMemberPowerInStrategy","nodeType":"MemberAccess","referencedDeclaration":82423,"src":"15661:42:129","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view external returns (uint256)"}},"id":75754,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15661:66:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"15639:88:129"},{"expression":{"arguments":[{"hexValue":"4d454d424552504f574552","id":75759,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"15749:13:129","typeDescriptions":{"typeIdentifier":"t_stringliteral_d53146c44856b98b9530413c868d7a3bea9675ba78d0918c9dbfa4f905f5c3e8","typeString":"literal_string \"MEMBERPOWER\""},"value":"MEMBERPOWER"},{"id":75760,"name":"memberPower","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75746,"src":"15764:11:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_d53146c44856b98b9530413c868d7a3bea9675ba78d0918c9dbfa4f905f5c3e8","typeString":"literal_string \"MEMBERPOWER\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":75756,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29549,"src":"15737:7:129","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$29549_$","typeString":"type(library console)"}},"id":75758,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15745:3:129","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":22193,"src":"15737:11:129","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":75761,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15737:39:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75762,"nodeType":"ExpressionStatement","src":"15737:39:129"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75768,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75765,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":75763,"name":"memberPower","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75746,"src":"15790:11:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":75764,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75735,"src":"15804:16:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"15790:30:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"expression":{"id":75766,"name":"pointConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75011,"src":"15823:11:129","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$74784_storage","typeString":"struct StrategyStruct.PointSystemConfig storage ref"}},"id":75767,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15835:9:129","memberName":"maxAmount","nodeType":"MemberAccess","referencedDeclaration":74783,"src":"15823:21:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"15790:54:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75777,"nodeType":"IfStatement","src":"15786:139:129","trueBody":{"id":75776,"nodeType":"Block","src":"15846:79:129","statements":[{"expression":{"id":75774,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":75769,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75735,"src":"15860:16:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75773,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":75770,"name":"pointConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75011,"src":"15879:11:129","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$74784_storage","typeString":"struct StrategyStruct.PointSystemConfig storage ref"}},"id":75771,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15891:9:129","memberName":"maxAmount","nodeType":"MemberAccess","referencedDeclaration":74783,"src":"15879:21:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":75772,"name":"memberPower","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75746,"src":"15903:11:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"15879:35:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"15860:54:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":75775,"nodeType":"ExpressionStatement","src":"15860:54:129"}]}},{"expression":{"arguments":[{"hexValue":"504f494e545320544f20494e43524541534520454e44","id":75781,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"15946:24:129","typeDescriptions":{"typeIdentifier":"t_stringliteral_7339ba314bb001e1fd9993d42999dceed278cc5b138b69398be73c13fb666826","typeString":"literal_string \"POINTS TO INCREASE END\""},"value":"POINTS TO INCREASE END"},{"id":75782,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75735,"src":"15972:16:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_7339ba314bb001e1fd9993d42999dceed278cc5b138b69398be73c13fb666826","typeString":"literal_string \"POINTS TO INCREASE END\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":75778,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29549,"src":"15934:7:129","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$29549_$","typeString":"type(library console)"}},"id":75780,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15942:3:129","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":22193,"src":"15934:11:129","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":75783,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15934:55:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75784,"nodeType":"ExpressionStatement","src":"15934:55:129"},{"expression":{"id":75785,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75735,"src":"16007:16:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":75733,"id":75786,"nodeType":"Return","src":"16000:23:129"}]},"implemented":true,"kind":"function","modifiers":[],"name":"increasePowerCapped","nameLocation":"15424:19:129","parameters":{"id":75730,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75727,"mutability":"mutable","name":"_member","nameLocation":"15452:7:129","nodeType":"VariableDeclaration","scope":75788,"src":"15444:15:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":75726,"name":"address","nodeType":"ElementaryTypeName","src":"15444:7:129","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":75729,"mutability":"mutable","name":"_amountToStake","nameLocation":"15469:14:129","nodeType":"VariableDeclaration","scope":75788,"src":"15461:22:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75728,"name":"uint256","nodeType":"ElementaryTypeName","src":"15461:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15443:41:129"},"returnParameters":{"id":75733,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75732,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":75788,"src":"15508:7:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75731,"name":"uint256","nodeType":"ElementaryTypeName","src":"15508:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15507:9:129"},"scope":77611,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":75872,"nodeType":"FunctionDefinition","src":"16036:730:129","nodes":[],"body":{"id":75871,"nodeType":"Block","src":"16141:625:129","nodes":[],"statements":[{"assignments":[75798],"declarations":[{"constant":false,"id":75798,"mutability":"mutable","name":"totalStake","nameLocation":"16159:10:129","nodeType":"VariableDeclaration","scope":75871,"src":"16151:18:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75797,"name":"uint256","nodeType":"ElementaryTypeName","src":"16151:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":75805,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75804,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":75801,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75790,"src":"16212:7:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":75799,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75014,"src":"16172:17:129","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunity_$83082","typeString":"contract RegistryCommunity"}},"id":75800,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16190:21:129","memberName":"getMemberStakedAmount","nodeType":"MemberAccess","referencedDeclaration":82436,"src":"16172:39:129","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":75802,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16172:48:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":75803,"name":"_amountToStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75792,"src":"16223:14:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16172:65:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"16151:86:129"},{"assignments":[75807],"declarations":[{"constant":false,"id":75807,"mutability":"mutable","name":"decimal","nameLocation":"16256:7:129","nodeType":"VariableDeclaration","scope":75871,"src":"16248:15:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75806,"name":"uint256","nodeType":"ElementaryTypeName","src":"16248:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":75809,"initialValue":{"hexValue":"3138","id":75808,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16266:2:129","typeDescriptions":{"typeIdentifier":"t_rational_18_by_1","typeString":"int_const 18"},"value":"18"},"nodeType":"VariableDeclarationStatement","src":"16248:20:129"},{"clauses":[{"block":{"id":75830,"nodeType":"Block","src":"16366:52:129","statements":[{"expression":{"id":75828,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":75823,"name":"decimal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75807,"src":"16380:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":75826,"name":"_decimal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75821,"src":"16398:8:129","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint8","typeString":"uint8"}],"id":75825,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16390:7:129","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":75824,"name":"uint256","nodeType":"ElementaryTypeName","src":"16390:7:129","typeDescriptions":{}}},"id":75827,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16390:17:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16380:27:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":75829,"nodeType":"ExpressionStatement","src":"16380:27:129"}]},"errorName":"","id":75831,"nodeType":"TryCatchClause","parameters":{"id":75822,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75821,"mutability":"mutable","name":"_decimal","nameLocation":"16356:8:129","nodeType":"VariableDeclaration","scope":75831,"src":"16350:14:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":75820,"name":"uint8","nodeType":"ElementaryTypeName","src":"16350:5:129","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"16349:16:129"},"src":"16341:77:129"},{"block":{"id":75838,"nodeType":"Block","src":"16425:61:129","statements":[{"expression":{"arguments":[{"hexValue":"4572726f722067657474696e6720646563696d616c","id":75835,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"16451:23:129","typeDescriptions":{"typeIdentifier":"t_stringliteral_add5b7e354bcd4eb0c69c8b5bd8a8dca27c903f694ea26b234a6605e7f62de4d","typeString":"literal_string \"Error getting decimal\""},"value":"Error getting decimal"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_add5b7e354bcd4eb0c69c8b5bd8a8dca27c903f694ea26b234a6605e7f62de4d","typeString":"literal_string \"Error getting decimal\""}],"expression":{"id":75832,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29549,"src":"16439:7:129","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$29549_$","typeString":"type(library console)"}},"id":75834,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16447:3:129","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":22080,"src":"16439:11:129","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) view"}},"id":75836,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16439:36:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75837,"nodeType":"ExpressionStatement","src":"16439:36:129"}]},"errorName":"","id":75839,"nodeType":"TryCatchClause","src":"16419:67:129"}],"externalCall":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":75813,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75014,"src":"16296:17:129","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunity_$83082","typeString":"contract RegistryCommunity"}},"id":75814,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16314:11:129","memberName":"gardenToken","nodeType":"MemberAccess","referencedDeclaration":81539,"src":"16296:29:129","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_contract$_IERC20_$57069_$","typeString":"function () view external returns (contract IERC20)"}},"id":75815,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16296:31:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$57069","typeString":"contract IERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$57069","typeString":"contract IERC20"}],"id":75812,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16288:7:129","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":75811,"name":"address","nodeType":"ElementaryTypeName","src":"16288:7:129","typeDescriptions":{}}},"id":75816,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16288:40:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":75810,"name":"ERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56991,"src":"16282:5:129","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ERC20_$56991_$","typeString":"type(contract ERC20)"}},"id":75817,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16282:47:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ERC20_$56991","typeString":"contract ERC20"}},"id":75818,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16330:8:129","memberName":"decimals","nodeType":"MemberAccess","referencedDeclaration":56479,"src":"16282:56:129","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint8_$","typeString":"function () view external returns (uint8)"}},"id":75819,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16282:58:129","tryCall":true,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":75840,"nodeType":"TryStatement","src":"16278:208:129"},{"assignments":[75842],"declarations":[{"constant":false,"id":75842,"mutability":"mutable","name":"newTotalPoints","nameLocation":"16503:14:129","nodeType":"VariableDeclaration","scope":75871,"src":"16495:22:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75841,"name":"uint256","nodeType":"ElementaryTypeName","src":"16495:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":75851,"initialValue":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75849,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":75845,"name":"totalStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75798,"src":"16530:10:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75848,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":75846,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16543:2:129","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"id":75847,"name":"decimal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75807,"src":"16549:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16543:13:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16530:26:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":75843,"name":"Math","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59338,"src":"16520:4:129","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Math_$59338_$","typeString":"type(library Math)"}},"id":75844,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16525:4:129","memberName":"sqrt","nodeType":"MemberAccess","referencedDeclaration":58842,"src":"16520:9:129","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":75850,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16520:37:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"16495:62:129"},{"assignments":[75853],"declarations":[{"constant":false,"id":75853,"mutability":"mutable","name":"currentPoints","nameLocation":"16575:13:129","nodeType":"VariableDeclaration","scope":75871,"src":"16567:21:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75852,"name":"uint256","nodeType":"ElementaryTypeName","src":"16567:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":75862,"initialValue":{"arguments":[{"id":75856,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75790,"src":"16634:7:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":75859,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"16651:4:129","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$77611","typeString":"contract CVStrategy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategy_$77611","typeString":"contract CVStrategy"}],"id":75858,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16643:7:129","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":75857,"name":"address","nodeType":"ElementaryTypeName","src":"16643:7:129","typeDescriptions":{}}},"id":75860,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16643:13:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":75854,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75014,"src":"16591:17:129","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunity_$83082","typeString":"contract RegistryCommunity"}},"id":75855,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16609:24:129","memberName":"getMemberPowerInStrategy","nodeType":"MemberAccess","referencedDeclaration":82423,"src":"16591:42:129","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view external returns (uint256)"}},"id":75861,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16591:66:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"16567:90:129"},{"assignments":[75864],"declarations":[{"constant":false,"id":75864,"mutability":"mutable","name":"pointsToIncrease","nameLocation":"16676:16:129","nodeType":"VariableDeclaration","scope":75871,"src":"16668:24:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75863,"name":"uint256","nodeType":"ElementaryTypeName","src":"16668:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":75868,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75867,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":75865,"name":"newTotalPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75842,"src":"16695:14:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":75866,"name":"currentPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75853,"src":"16712:13:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16695:30:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"16668:57:129"},{"expression":{"id":75869,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75864,"src":"16743:16:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":75796,"id":75870,"nodeType":"Return","src":"16736:23:129"}]},"implemented":true,"kind":"function","modifiers":[],"name":"increasePowerQuadratic","nameLocation":"16045:22:129","parameters":{"id":75793,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75790,"mutability":"mutable","name":"_member","nameLocation":"16076:7:129","nodeType":"VariableDeclaration","scope":75872,"src":"16068:15:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":75789,"name":"address","nodeType":"ElementaryTypeName","src":"16068:7:129","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":75792,"mutability":"mutable","name":"_amountToStake","nameLocation":"16093:14:129","nodeType":"VariableDeclaration","scope":75872,"src":"16085:22:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75791,"name":"uint256","nodeType":"ElementaryTypeName","src":"16085:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"16067:41:129"},"returnParameters":{"id":75796,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75795,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":75872,"src":"16132:7:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75794,"name":"uint256","nodeType":"ElementaryTypeName","src":"16132:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"16131:9:129"},"scope":77611,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":75882,"nodeType":"FunctionDefinition","src":"16772:136:129","nodes":[],"body":{"id":75881,"nodeType":"Block","src":"16868:40:129","nodes":[],"statements":[{"expression":{"id":75879,"name":"_amountToUnstake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75874,"src":"16885:16:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":75878,"id":75880,"nodeType":"Return","src":"16878:23:129"}]},"implemented":true,"kind":"function","modifiers":[],"name":"decreasePowerCappedUnlimited","nameLocation":"16781:28:129","parameters":{"id":75875,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75874,"mutability":"mutable","name":"_amountToUnstake","nameLocation":"16818:16:129","nodeType":"VariableDeclaration","scope":75882,"src":"16810:24:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75873,"name":"uint256","nodeType":"ElementaryTypeName","src":"16810:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"16809:26:129"},"returnParameters":{"id":75878,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75877,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":75882,"src":"16859:7:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75876,"name":"uint256","nodeType":"ElementaryTypeName","src":"16859:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"16858:9:129"},"scope":77611,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":75976,"nodeType":"FunctionDefinition","src":"16914:802:129","nodes":[],"body":{"id":75975,"nodeType":"Block","src":"17021:695:129","nodes":[],"statements":[{"assignments":[75892],"declarations":[{"constant":false,"id":75892,"mutability":"mutable","name":"decimal","nameLocation":"17039:7:129","nodeType":"VariableDeclaration","scope":75975,"src":"17031:15:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75891,"name":"uint256","nodeType":"ElementaryTypeName","src":"17031:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":75894,"initialValue":{"hexValue":"3138","id":75893,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17049:2:129","typeDescriptions":{"typeIdentifier":"t_rational_18_by_1","typeString":"int_const 18"},"value":"18"},"nodeType":"VariableDeclarationStatement","src":"17031:20:129"},{"clauses":[{"block":{"id":75915,"nodeType":"Block","src":"17149:52:129","statements":[{"expression":{"id":75913,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":75908,"name":"decimal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75892,"src":"17163:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":75911,"name":"_decimal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75906,"src":"17181:8:129","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint8","typeString":"uint8"}],"id":75910,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"17173:7:129","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":75909,"name":"uint256","nodeType":"ElementaryTypeName","src":"17173:7:129","typeDescriptions":{}}},"id":75912,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17173:17:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17163:27:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":75914,"nodeType":"ExpressionStatement","src":"17163:27:129"}]},"errorName":"","id":75916,"nodeType":"TryCatchClause","parameters":{"id":75907,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75906,"mutability":"mutable","name":"_decimal","nameLocation":"17139:8:129","nodeType":"VariableDeclaration","scope":75916,"src":"17133:14:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":75905,"name":"uint8","nodeType":"ElementaryTypeName","src":"17133:5:129","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"17132:16:129"},"src":"17124:77:129"},{"block":{"id":75923,"nodeType":"Block","src":"17208:61:129","statements":[{"expression":{"arguments":[{"hexValue":"4572726f722067657474696e6720646563696d616c","id":75920,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"17234:23:129","typeDescriptions":{"typeIdentifier":"t_stringliteral_add5b7e354bcd4eb0c69c8b5bd8a8dca27c903f694ea26b234a6605e7f62de4d","typeString":"literal_string \"Error getting decimal\""},"value":"Error getting decimal"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_add5b7e354bcd4eb0c69c8b5bd8a8dca27c903f694ea26b234a6605e7f62de4d","typeString":"literal_string \"Error getting decimal\""}],"expression":{"id":75917,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29549,"src":"17222:7:129","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$29549_$","typeString":"type(library console)"}},"id":75919,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17230:3:129","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":22080,"src":"17222:11:129","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) view"}},"id":75921,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17222:36:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75922,"nodeType":"ExpressionStatement","src":"17222:36:129"}]},"errorName":"","id":75924,"nodeType":"TryCatchClause","src":"17202:67:129"}],"externalCall":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":75898,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75014,"src":"17079:17:129","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunity_$83082","typeString":"contract RegistryCommunity"}},"id":75899,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17097:11:129","memberName":"gardenToken","nodeType":"MemberAccess","referencedDeclaration":81539,"src":"17079:29:129","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_contract$_IERC20_$57069_$","typeString":"function () view external returns (contract IERC20)"}},"id":75900,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17079:31:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$57069","typeString":"contract IERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$57069","typeString":"contract IERC20"}],"id":75897,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"17071:7:129","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":75896,"name":"address","nodeType":"ElementaryTypeName","src":"17071:7:129","typeDescriptions":{}}},"id":75901,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17071:40:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":75895,"name":"ERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56991,"src":"17065:5:129","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ERC20_$56991_$","typeString":"type(contract ERC20)"}},"id":75902,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17065:47:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ERC20_$56991","typeString":"contract ERC20"}},"id":75903,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17113:8:129","memberName":"decimals","nodeType":"MemberAccess","referencedDeclaration":56479,"src":"17065:56:129","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint8_$","typeString":"function () view external returns (uint8)"}},"id":75904,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17065:58:129","tryCall":true,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":75925,"nodeType":"TryStatement","src":"17061:208:129"},{"expression":{"arguments":[{"hexValue":"5f616d6f756e74546f556e7374616b65","id":75929,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"17290:18:129","typeDescriptions":{"typeIdentifier":"t_stringliteral_dc5364d7a51b187c038e40e987076ae6dd611b7a72008e9d9acc88e3a526f2c2","typeString":"literal_string \"_amountToUnstake\""},"value":"_amountToUnstake"},{"id":75930,"name":"_amountToUnstake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75886,"src":"17310:16:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_dc5364d7a51b187c038e40e987076ae6dd611b7a72008e9d9acc88e3a526f2c2","typeString":"literal_string \"_amountToUnstake\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":75926,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29549,"src":"17278:7:129","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$29549_$","typeString":"type(library console)"}},"id":75928,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17286:3:129","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":22193,"src":"17278:11:129","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":75931,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17278:49:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75932,"nodeType":"ExpressionStatement","src":"17278:49:129"},{"assignments":[75934],"declarations":[{"constant":false,"id":75934,"mutability":"mutable","name":"newTotalStake","nameLocation":"17345:13:129","nodeType":"VariableDeclaration","scope":75975,"src":"17337:21:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75933,"name":"uint256","nodeType":"ElementaryTypeName","src":"17337:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":75941,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75940,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":75937,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75884,"src":"17401:7:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":75935,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75014,"src":"17361:17:129","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunity_$83082","typeString":"contract RegistryCommunity"}},"id":75936,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17379:21:129","memberName":"getMemberStakedAmount","nodeType":"MemberAccess","referencedDeclaration":82436,"src":"17361:39:129","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":75938,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17361:48:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":75939,"name":"_amountToUnstake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75886,"src":"17412:16:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17361:67:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"17337:91:129"},{"expression":{"arguments":[{"hexValue":"6e6577546f74616c5374616b65","id":75945,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"17450:15:129","typeDescriptions":{"typeIdentifier":"t_stringliteral_e1d5e8d6d05577c9c30b6029c3158dfad77d5a239a04e4529b5b98f0ce2f7a79","typeString":"literal_string \"newTotalStake\""},"value":"newTotalStake"},{"id":75946,"name":"newTotalStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75934,"src":"17467:13:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e1d5e8d6d05577c9c30b6029c3158dfad77d5a239a04e4529b5b98f0ce2f7a79","typeString":"literal_string \"newTotalStake\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":75942,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29549,"src":"17438:7:129","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$29549_$","typeString":"type(library console)"}},"id":75944,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17446:3:129","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":22193,"src":"17438:11:129","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":75947,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17438:43:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75948,"nodeType":"ExpressionStatement","src":"17438:43:129"},{"assignments":[75950],"declarations":[{"constant":false,"id":75950,"mutability":"mutable","name":"newTotalPoints","nameLocation":"17499:14:129","nodeType":"VariableDeclaration","scope":75975,"src":"17491:22:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75949,"name":"uint256","nodeType":"ElementaryTypeName","src":"17491:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":75959,"initialValue":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75957,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":75953,"name":"newTotalStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75934,"src":"17526:13:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75956,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":75954,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17542:2:129","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"id":75955,"name":"decimal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75892,"src":"17548:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17542:13:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17526:29:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":75951,"name":"Math","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59338,"src":"17516:4:129","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Math_$59338_$","typeString":"type(library Math)"}},"id":75952,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17521:4:129","memberName":"sqrt","nodeType":"MemberAccess","referencedDeclaration":58842,"src":"17516:9:129","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":75958,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17516:40:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"17491:65:129"},{"assignments":[75961],"declarations":[{"constant":false,"id":75961,"mutability":"mutable","name":"pointsToDecrease","nameLocation":"17574:16:129","nodeType":"VariableDeclaration","scope":75975,"src":"17566:24:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75960,"name":"uint256","nodeType":"ElementaryTypeName","src":"17566:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":75972,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75971,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":75964,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75884,"src":"17636:7:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":75967,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"17653:4:129","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$77611","typeString":"contract CVStrategy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategy_$77611","typeString":"contract CVStrategy"}],"id":75966,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"17645:7:129","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":75965,"name":"address","nodeType":"ElementaryTypeName","src":"17645:7:129","typeDescriptions":{}}},"id":75968,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17645:13:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":75962,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75014,"src":"17593:17:129","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunity_$83082","typeString":"contract RegistryCommunity"}},"id":75963,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17611:24:129","memberName":"getMemberPowerInStrategy","nodeType":"MemberAccess","referencedDeclaration":82423,"src":"17593:42:129","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view external returns (uint256)"}},"id":75969,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17593:66:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":75970,"name":"newTotalPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75950,"src":"17662:14:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17593:83:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"17566:110:129"},{"expression":{"id":75973,"name":"pointsToDecrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75961,"src":"17693:16:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":75890,"id":75974,"nodeType":"Return","src":"17686:23:129"}]},"implemented":true,"kind":"function","modifiers":[],"name":"decreasePowerQuadratic","nameLocation":"16923:22:129","parameters":{"id":75887,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75884,"mutability":"mutable","name":"_member","nameLocation":"16954:7:129","nodeType":"VariableDeclaration","scope":75976,"src":"16946:15:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":75883,"name":"address","nodeType":"ElementaryTypeName","src":"16946:7:129","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":75886,"mutability":"mutable","name":"_amountToUnstake","nameLocation":"16971:16:129","nodeType":"VariableDeclaration","scope":75976,"src":"16963:24:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75885,"name":"uint256","nodeType":"ElementaryTypeName","src":"16963:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"16945:43:129"},"returnParameters":{"id":75890,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75889,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":75976,"src":"17012:7:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75888,"name":"uint256","nodeType":"ElementaryTypeName","src":"17012:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"17011:9:129"},"scope":77611,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":75985,"nodeType":"FunctionDefinition","src":"17722:99:129","nodes":[],"body":{"id":75984,"nodeType":"Block","src":"17776:45:129","nodes":[],"statements":[{"expression":{"expression":{"id":75981,"name":"pointConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75011,"src":"17793:11:129","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$74784_storage","typeString":"struct StrategyStruct.PointSystemConfig storage ref"}},"id":75982,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"17805:9:129","memberName":"maxAmount","nodeType":"MemberAccess","referencedDeclaration":74783,"src":"17793:21:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":75980,"id":75983,"nodeType":"Return","src":"17786:28:129"}]},"functionSelector":"0ba95909","implemented":true,"kind":"function","modifiers":[],"name":"getMaxAmount","nameLocation":"17731:12:129","parameters":{"id":75977,"nodeType":"ParameterList","parameters":[],"src":"17743:2:129"},"returnParameters":{"id":75980,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75979,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":75985,"src":"17767:7:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75978,"name":"uint256","nodeType":"ElementaryTypeName","src":"17767:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"17766:9:129"},"scope":77611,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":75994,"nodeType":"FunctionDefinition","src":"17827:110:129","nodes":[],"body":{"id":75993,"nodeType":"Block","src":"17902:35:129","nodes":[],"statements":[{"expression":{"id":75991,"name":"pointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75008,"src":"17919:11:129","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$74731","typeString":"enum StrategyStruct.PointSystem"}},"functionReturnParameters":75990,"id":75992,"nodeType":"Return","src":"17912:18:129"}]},"baseFunctions":[74721],"functionSelector":"c3292171","implemented":true,"kind":"function","modifiers":[],"name":"getPointSystem","nameLocation":"17836:14:129","parameters":{"id":75986,"nodeType":"ParameterList","parameters":[],"src":"17850:2:129"},"returnParameters":{"id":75990,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75989,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":75994,"src":"17874:26:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$74731","typeString":"enum StrategyStruct.PointSystem"},"typeName":{"id":75988,"nodeType":"UserDefinedTypeName","pathNode":{"id":75987,"name":"StrategyStruct.PointSystem","nameLocations":["17874:14:129","17889:11:129"],"nodeType":"IdentifierPath","referencedDeclaration":74731,"src":"17874:26:129"},"referencedDeclaration":74731,"src":"17874:26:129","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$74731","typeString":"enum StrategyStruct.PointSystem"}},"visibility":"internal"}],"src":"17873:28:129"},"scope":77611,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":76005,"nodeType":"FunctionDefinition","src":"18053:226:129","nodes":[],"body":{"id":76004,"nodeType":"Block","src":"18131:148:129","nodes":[],"statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":76001,"name":"NotImplemented","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74826,"src":"18196:14:129","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":76002,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18196:16:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":76003,"nodeType":"RevertStatement","src":"18189:23:129"}]},"functionSelector":"e33add93","implemented":true,"kind":"function","modifiers":[],"name":"supportProposal","nameLocation":"18062:15:129","parameters":{"id":75999,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75998,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":76005,"src":"18078:39:129","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$74781_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport[]"},"typeName":{"baseType":{"id":75996,"nodeType":"UserDefinedTypeName","pathNode":{"id":75995,"name":"StrategyStruct.ProposalSupport","nameLocations":["18078:14:129","18093:15:129"],"nodeType":"IdentifierPath","referencedDeclaration":74781,"src":"18078:30:129"},"referencedDeclaration":74781,"src":"18078:30:129","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$74781_storage_ptr","typeString":"struct StrategyStruct.ProposalSupport"}},"id":75997,"nodeType":"ArrayTypeName","src":"18078:32:129","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$74781_storage_$dyn_storage_ptr","typeString":"struct StrategyStruct.ProposalSupport[]"}},"visibility":"internal"}],"src":"18077:41:129"},"returnParameters":{"id":76000,"nodeType":"ParameterList","parameters":[],"src":"18131:0:129"},"scope":77611,"stateMutability":"pure","virtual":false,"visibility":"public"},{"id":76070,"nodeType":"FunctionDefinition","src":"18425:604:129","nodes":[],"body":{"id":76069,"nodeType":"Block","src":"18499:530:129","nodes":[],"statements":[{"expression":{"arguments":[{"id":76014,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76009,"src":"18529:7:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":76013,"name":"checkSenderIsMember","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75224,"src":"18509:19:129","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$__$","typeString":"function (address) view"}},"id":76015,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18509:28:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":76016,"nodeType":"ExpressionStatement","src":"18509:28:129"},{"condition":{"id":76020,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"18551:27:129","subExpression":{"arguments":[{"id":76018,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76009,"src":"18570:7:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":76017,"name":"_canExecuteAction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75286,"src":"18552:17:129","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":76019,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18552:26:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":76025,"nodeType":"IfStatement","src":"18547:90:129","trueBody":{"id":76024,"nodeType":"Block","src":"18580:57:129","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":76021,"name":"UserCannotExecuteAction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74890,"src":"18601:23:129","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":76022,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18601:25:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":76023,"nodeType":"RevertStatement","src":"18594:32:129"}]}},{"assignments":[76027],"declarations":[{"constant":false,"id":76027,"mutability":"mutable","name":"isMemberActivatedPoints","nameLocation":"18651:23:129","nodeType":"VariableDeclaration","scope":76069,"src":"18646:28:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":76026,"name":"bool","nodeType":"ElementaryTypeName","src":"18646:4:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":76036,"initialValue":{"arguments":[{"id":76030,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76009,"src":"18723:7:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":76033,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"18740:4:129","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$77611","typeString":"contract CVStrategy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategy_$77611","typeString":"contract CVStrategy"}],"id":76032,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"18732:7:129","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":76031,"name":"address","nodeType":"ElementaryTypeName","src":"18732:7:129","typeDescriptions":{}}},"id":76034,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18732:13:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":76028,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75014,"src":"18677:17:129","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunity_$83082","typeString":"contract RegistryCommunity"}},"id":76029,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18695:27:129","memberName":"memberActivatedInStrategies","nodeType":"MemberAccess","referencedDeclaration":81575,"src":"18677:45:129","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_bool_$","typeString":"function (address,address) view external returns (bool)"}},"id":76035,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18677:69:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"VariableDeclarationStatement","src":"18646:100:129"},{"condition":{"id":76038,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"18760:24:129","subExpression":{"id":76037,"name":"isMemberActivatedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76027,"src":"18761:23:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":76043,"nodeType":"IfStatement","src":"18756:78:129","trueBody":{"id":76042,"nodeType":"Block","src":"18786:48:129","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":76039,"name":"UserIsInactive","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74822,"src":"18807:14:129","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":76040,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18807:16:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":76041,"nodeType":"RevertStatement","src":"18800:23:129"}]}},{"assignments":[76049],"declarations":[{"constant":false,"id":76049,"mutability":"mutable","name":"pv","nameLocation":"18883:2:129","nodeType":"VariableDeclaration","scope":76069,"src":"18843:42:129","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$74781_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport[]"},"typeName":{"baseType":{"id":76047,"nodeType":"UserDefinedTypeName","pathNode":{"id":76046,"name":"StrategyStruct.ProposalSupport","nameLocations":["18843:14:129","18858:15:129"],"nodeType":"IdentifierPath","referencedDeclaration":74781,"src":"18843:30:129"},"referencedDeclaration":74781,"src":"18843:30:129","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$74781_storage_ptr","typeString":"struct StrategyStruct.ProposalSupport"}},"id":76048,"nodeType":"ArrayTypeName","src":"18843:32:129","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$74781_storage_$dyn_storage_ptr","typeString":"struct StrategyStruct.ProposalSupport[]"}},"visibility":"internal"}],"id":76058,"initialValue":{"arguments":[{"id":76052,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76007,"src":"18899:5:129","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"baseExpression":{"expression":{"id":76053,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74807,"src":"18907:14:129","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$74807_$","typeString":"type(library StrategyStruct)"}},"id":76054,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18922:15:129","memberName":"ProposalSupport","nodeType":"MemberAccess","referencedDeclaration":74781,"src":"18907:30:129","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ProposalSupport_$74781_storage_ptr_$","typeString":"type(struct StrategyStruct.ProposalSupport storage pointer)"}},"id":76055,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"18907:32:129","typeDescriptions":{"typeIdentifier":"t_type$_t_array$_t_struct$_ProposalSupport_$74781_memory_ptr_$dyn_memory_ptr_$","typeString":"type(struct StrategyStruct.ProposalSupport memory[] memory)"}}],"id":76056,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"18906:34:129","typeDescriptions":{"typeIdentifier":"t_type$_t_array$_t_struct$_ProposalSupport_$74781_memory_ptr_$dyn_memory_ptr_$","typeString":"type(struct StrategyStruct.ProposalSupport memory[] memory)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_array$_t_struct$_ProposalSupport_$74781_memory_ptr_$dyn_memory_ptr_$","typeString":"type(struct StrategyStruct.ProposalSupport memory[] memory)"}],"expression":{"id":76050,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"18888:3:129","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":76051,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"18892:6:129","memberName":"decode","nodeType":"MemberAccess","src":"18888:10:129","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":76057,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18888:53:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$74781_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"18843:98:129"},{"expression":{"arguments":[{"id":76060,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76009,"src":"18976:7:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":76061,"name":"pv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76049,"src":"18985:2:129","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$74781_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$74781_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}],"id":76059,"name":"_check_before_addSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76770,"src":"18951:24:129","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_array$_t_struct$_ProposalSupport_$74781_memory_ptr_$dyn_memory_ptr_$returns$__$","typeString":"function (address,struct StrategyStruct.ProposalSupport memory[] memory)"}},"id":76062,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18951:37:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":76063,"nodeType":"ExpressionStatement","src":"18951:37:129"},{"expression":{"arguments":[{"id":76065,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76009,"src":"19010:7:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":76066,"name":"pv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76049,"src":"19019:2:129","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$74781_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$74781_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}],"id":76064,"name":"_addSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77057,"src":"18998:11:129","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_array$_t_struct$_ProposalSupport_$74781_memory_ptr_$dyn_memory_ptr_$returns$__$","typeString":"function (address,struct StrategyStruct.ProposalSupport memory[] memory)"}},"id":76067,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18998:24:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":76068,"nodeType":"ExpressionStatement","src":"18998:24:129"}]},"baseFunctions":[3817],"implemented":true,"kind":"function","modifiers":[],"name":"_allocate","nameLocation":"18434:9:129","overrides":{"id":76011,"nodeType":"OverrideSpecifier","overrides":[],"src":"18490:8:129"},"parameters":{"id":76010,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76007,"mutability":"mutable","name":"_data","nameLocation":"18457:5:129","nodeType":"VariableDeclaration","scope":76070,"src":"18444:18:129","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":76006,"name":"bytes","nodeType":"ElementaryTypeName","src":"18444:5:129","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":76009,"mutability":"mutable","name":"_sender","nameLocation":"18472:7:129","nodeType":"VariableDeclaration","scope":76070,"src":"18464:15:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":76008,"name":"address","nodeType":"ElementaryTypeName","src":"18464:7:129","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"18443:37:129"},"returnParameters":{"id":76012,"nodeType":"ParameterList","parameters":[],"src":"18499:0:129"},"scope":77611,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":76226,"nodeType":"FunctionDefinition","src":"19285:1756:129","nodes":[],"body":{"id":76225,"nodeType":"Block","src":"19371:1670:129","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":76084,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":76081,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76075,"src":"19464:5:129","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":76082,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19470:6:129","memberName":"length","nodeType":"MemberAccess","src":"19464:12:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"hexValue":"30","id":76083,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"19480:1:129","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"19464:17:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":76089,"nodeType":"IfStatement","src":"19460:76:129","trueBody":{"id":76088,"nodeType":"Block","src":"19483:53:129","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":76085,"name":"ProposalDataIsEmpty","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74858,"src":"19504:19:129","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":76086,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19504:21:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":76087,"nodeType":"RevertStatement","src":"19497:28:129"}]}},{"assignments":[76091],"declarations":[{"constant":false,"id":76091,"mutability":"mutable","name":"proposalId","nameLocation":"19554:10:129","nodeType":"VariableDeclaration","scope":76225,"src":"19546:18:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76090,"name":"uint256","nodeType":"ElementaryTypeName","src":"19546:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":76099,"initialValue":{"arguments":[{"id":76094,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76075,"src":"19578:5:129","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":76096,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"19586:7:129","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":76095,"name":"uint256","nodeType":"ElementaryTypeName","src":"19586:7:129","typeDescriptions":{}}}],"id":76097,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"19585:9:129","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}],"expression":{"id":76092,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"19567:3:129","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":76093,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"19571:6:129","memberName":"decode","nodeType":"MemberAccess","src":"19567:10:129","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":76098,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19567:28:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"19546:49:129"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":76102,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":76100,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76091,"src":"19610:10:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":76101,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"19624:1:129","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"19610:15:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":76107,"nodeType":"IfStatement","src":"19606:77:129","trueBody":{"id":76106,"nodeType":"Block","src":"19627:56:129","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":76103,"name":"ProposalIdCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74860,"src":"19648:22:129","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":76104,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19648:24:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":76105,"nodeType":"RevertStatement","src":"19641:31:129"}]}},{"assignments":[76112],"declarations":[{"constant":false,"id":76112,"mutability":"mutable","name":"proposal","nameLocation":"19724:8:129","nodeType":"VariableDeclaration","scope":76225,"src":"19692:40:129","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":76111,"nodeType":"UserDefinedTypeName","pathNode":{"id":76110,"name":"StrategyStruct.Proposal","nameLocations":["19692:14:129","19707:8:129"],"nodeType":"IdentifierPath","referencedDeclaration":74776,"src":"19692:23:129"},"referencedDeclaration":74776,"src":"19692:23:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":76116,"initialValue":{"baseExpression":{"id":76113,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75022,"src":"19735:9:129","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$74776_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":76115,"indexExpression":{"id":76114,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76091,"src":"19745:10:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"19735:21:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"19692:64:129"},{"condition":{"commonType":{"typeIdentifier":"t_enum$_ProposalType_$74726","typeString":"enum StrategyStruct.ProposalType"},"id":76121,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":76117,"name":"proposalType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75005,"src":"19771:12:129","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$74726","typeString":"enum StrategyStruct.ProposalType"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":76118,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74807,"src":"19787:14:129","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$74807_$","typeString":"type(library StrategyStruct)"}},"id":76119,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19802:12:129","memberName":"ProposalType","nodeType":"MemberAccess","referencedDeclaration":74726,"src":"19787:27:129","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalType_$74726_$","typeString":"type(enum StrategyStruct.ProposalType)"}},"id":76120,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"19815:7:129","memberName":"Funding","nodeType":"MemberAccess","referencedDeclaration":74724,"src":"19787:35:129","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$74726","typeString":"enum StrategyStruct.ProposalType"}},"src":"19771:51:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":76224,"nodeType":"IfStatement","src":"19767:1208:129","trueBody":{"id":76223,"nodeType":"Block","src":"19824:1151:129","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":76125,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":76122,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76112,"src":"19842:8:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":76123,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"19851:10:129","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":74751,"src":"19842:19:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":76124,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76091,"src":"19865:10:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"19842:33:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":76131,"nodeType":"IfStatement","src":"19838:108:129","trueBody":{"id":76130,"nodeType":"Block","src":"19877:69:129","statements":[{"errorCall":{"arguments":[{"id":76127,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76091,"src":"19920:10:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":76126,"name":"ProposalNotInList","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74868,"src":"19902:17:129","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":76128,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19902:29:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":76129,"nodeType":"RevertStatement","src":"19895:36:129"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":76135,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":76132,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76112,"src":"19964:8:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":76133,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"19973:15:129","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":74753,"src":"19964:24:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":76134,"name":"poolAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3343,"src":"19991:10:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"19964:37:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":76144,"nodeType":"IfStatement","src":"19960:152:129","trueBody":{"id":76143,"nodeType":"Block","src":"20003:109:129","statements":[{"errorCall":{"arguments":[{"id":76137,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76091,"src":"20048:10:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":76138,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76112,"src":"20060:8:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":76139,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"20069:15:129","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":74753,"src":"20060:24:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":76140,"name":"poolAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3343,"src":"20086:10:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":76136,"name":"PoolAmountNotEnough","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74886,"src":"20028:19:129","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256,uint256) pure"}},"id":76141,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20028:69:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":76142,"nodeType":"RevertStatement","src":"20021:76:129"}]}},{"condition":{"commonType":{"typeIdentifier":"t_enum$_ProposalStatus_$74749","typeString":"enum StrategyStruct.ProposalStatus"},"id":76150,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":76145,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76112,"src":"20130:8:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":76146,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"20139:14:129","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":74768,"src":"20130:23:129","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$74749","typeString":"enum StrategyStruct.ProposalStatus"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"expression":{"id":76147,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74807,"src":"20157:14:129","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$74807_$","typeString":"type(library StrategyStruct)"}},"id":76148,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20172:14:129","memberName":"ProposalStatus","nodeType":"MemberAccess","referencedDeclaration":74749,"src":"20157:29:129","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$74749_$","typeString":"type(enum StrategyStruct.ProposalStatus)"}},"id":76149,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"20187:6:129","memberName":"Active","nodeType":"MemberAccess","referencedDeclaration":74745,"src":"20157:36:129","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$74749","typeString":"enum StrategyStruct.ProposalStatus"}},"src":"20130:63:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":76156,"nodeType":"IfStatement","src":"20126:138:129","trueBody":{"id":76155,"nodeType":"Block","src":"20195:69:129","statements":[{"errorCall":{"arguments":[{"id":76152,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76091,"src":"20238:10:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":76151,"name":"ProposalNotActive","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74864,"src":"20220:17:129","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":76153,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20220:29:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":76154,"nodeType":"RevertStatement","src":"20213:36:129"}]}},{"assignments":[76158],"declarations":[{"constant":false,"id":76158,"mutability":"mutable","name":"convictionLast","nameLocation":"20286:14:129","nodeType":"VariableDeclaration","scope":76223,"src":"20278:22:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76157,"name":"uint256","nodeType":"ElementaryTypeName","src":"20278:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":76162,"initialValue":{"arguments":[{"id":76160,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76091,"src":"20328:10:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":76159,"name":"updateProposalConviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77480,"src":"20303:24:129","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) returns (uint256)"}},"id":76161,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20303:36:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"20278:61:129"},{"assignments":[76164],"declarations":[{"constant":false,"id":76164,"mutability":"mutable","name":"threshold","nameLocation":"20361:9:129","nodeType":"VariableDeclaration","scope":76223,"src":"20353:17:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76163,"name":"uint256","nodeType":"ElementaryTypeName","src":"20353:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":76169,"initialValue":{"arguments":[{"expression":{"id":76166,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76112,"src":"20392:8:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":76167,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"20401:15:129","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":74753,"src":"20392:24:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":76165,"name":"calculateThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77236,"src":"20373:18:129","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":76168,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20373:44:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"20353:64:129"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":76177,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":76172,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":76170,"name":"convictionLast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76158,"src":"20436:14:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":76171,"name":"threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76164,"src":"20453:9:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20436:26:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":76176,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":76173,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76112,"src":"20466:8:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":76174,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"20475:15:129","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":74753,"src":"20466:24:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":76175,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20493:1:129","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"20466:28:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"20436:58:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":76182,"nodeType":"IfStatement","src":"20432:137:129","trueBody":{"id":76181,"nodeType":"Block","src":"20496:73:129","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":76178,"name":"ConvictionUnderMinimumThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74876,"src":"20521:31:129","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":76179,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20521:33:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":76180,"nodeType":"RevertStatement","src":"20514:40:129"}]}},{"assignments":[76187],"declarations":[{"constant":false,"id":76187,"mutability":"mutable","name":"pool","nameLocation":"20601:4:129","nodeType":"VariableDeclaration","scope":76223,"src":"20583:22:129","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool"},"typeName":{"id":76186,"nodeType":"UserDefinedTypeName","pathNode":{"id":76185,"name":"IAllo.Pool","nameLocations":["20583:5:129","20589:4:129"],"nodeType":"IdentifierPath","referencedDeclaration":2319,"src":"20583:10:129"},"referencedDeclaration":2319,"src":"20583:10:129","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool"}},"visibility":"internal"}],"id":76192,"initialValue":{"arguments":[{"id":76190,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3341,"src":"20621:6:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":76188,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3335,"src":"20608:4:129","typeDescriptions":{"typeIdentifier":"t_contract$_IAllo_$2610","typeString":"contract IAllo"}},"id":76189,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20613:7:129","memberName":"getPool","nodeType":"MemberAccess","referencedDeclaration":2603,"src":"20608:12:129","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_struct$_Pool_$2319_memory_ptr_$","typeString":"function (uint256) view external returns (struct IAllo.Pool memory)"}},"id":76191,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20608:20:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"nodeType":"VariableDeclarationStatement","src":"20583:45:129"},{"expression":{"id":76196,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":76193,"name":"poolAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3343,"src":"20643:10:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"expression":{"id":76194,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76112,"src":"20657:8:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":76195,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"20666:15:129","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":74753,"src":"20657:24:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20643:38:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":76197,"nodeType":"ExpressionStatement","src":"20643:38:129"},{"expression":{"arguments":[{"expression":{"id":76199,"name":"pool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76187,"src":"20719:4:129","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"id":76200,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"20724:5:129","memberName":"token","nodeType":"MemberAccess","referencedDeclaration":2311,"src":"20719:10:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":76201,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76112,"src":"20731:8:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":76202,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"20740:11:129","memberName":"beneficiary","nodeType":"MemberAccess","referencedDeclaration":74759,"src":"20731:20:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":76203,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76112,"src":"20753:8:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":76204,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"20762:15:129","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":74753,"src":"20753:24:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":76198,"name":"_transferAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3287,"src":"20703:15:129","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":76205,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20703:75:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":76206,"nodeType":"ExpressionStatement","src":"20703:75:129"},{"expression":{"id":76213,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":76207,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76112,"src":"20809:8:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":76209,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"20818:14:129","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":74768,"src":"20809:23:129","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$74749","typeString":"enum StrategyStruct.ProposalStatus"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"expression":{"id":76210,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74807,"src":"20835:14:129","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$74807_$","typeString":"type(library StrategyStruct)"}},"id":76211,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20850:14:129","memberName":"ProposalStatus","nodeType":"MemberAccess","referencedDeclaration":74749,"src":"20835:29:129","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$74749_$","typeString":"type(enum StrategyStruct.ProposalStatus)"}},"id":76212,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"20865:8:129","memberName":"Executed","nodeType":"MemberAccess","referencedDeclaration":74748,"src":"20835:38:129","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$74749","typeString":"enum StrategyStruct.ProposalStatus"}},"src":"20809:64:129","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$74749","typeString":"enum StrategyStruct.ProposalStatus"}},"id":76214,"nodeType":"ExpressionStatement","src":"20809:64:129"},{"eventCall":{"arguments":[{"id":76216,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76091,"src":"20905:10:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":76217,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76112,"src":"20917:8:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":76218,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"20926:11:129","memberName":"beneficiary","nodeType":"MemberAccess","referencedDeclaration":74759,"src":"20917:20:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":76219,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76112,"src":"20939:8:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":76220,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"20948:15:129","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":74753,"src":"20939:24:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":76215,"name":"Distributed","nodeType":"Identifier","overloadedDeclarations":[74905,2858],"referencedDeclaration":74905,"src":"20893:11:129","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_address_$_t_uint256_$returns$__$","typeString":"function (uint256,address,uint256)"}},"id":76221,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20893:71:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":76222,"nodeType":"EmitStatement","src":"20888:76:129"}]}}]},"baseFunctions":[3828],"implemented":true,"kind":"function","modifiers":[],"name":"_distribute","nameLocation":"19294:11:129","overrides":{"id":76079,"nodeType":"OverrideSpecifier","overrides":[],"src":"19362:8:129"},"parameters":{"id":76078,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76073,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":76226,"src":"19306:16:129","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":76071,"name":"address","nodeType":"ElementaryTypeName","src":"19306:7:129","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":76072,"nodeType":"ArrayTypeName","src":"19306:9:129","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":76075,"mutability":"mutable","name":"_data","nameLocation":"19337:5:129","nodeType":"VariableDeclaration","scope":76226,"src":"19324:18:129","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":76074,"name":"bytes","nodeType":"ElementaryTypeName","src":"19324:5:129","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":76077,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":76226,"src":"19344:7:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":76076,"name":"address","nodeType":"ElementaryTypeName","src":"19344:7:129","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"19305:47:129"},"returnParameters":{"id":76080,"nodeType":"ParameterList","parameters":[],"src":"19371:0:129"},"scope":77611,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":76280,"nodeType":"FunctionDefinition","src":"21047:735:129","nodes":[],"body":{"id":76279,"nodeType":"Block","src":"21136:646:129","nodes":[],"statements":[{"assignments":[76237],"declarations":[{"constant":false,"id":76237,"mutability":"mutable","name":"proposal","nameLocation":"21178:8:129","nodeType":"VariableDeclaration","scope":76279,"src":"21146:40:129","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":76236,"nodeType":"UserDefinedTypeName","pathNode":{"id":76235,"name":"StrategyStruct.Proposal","nameLocations":["21146:14:129","21161:8:129"],"nodeType":"IdentifierPath","referencedDeclaration":74776,"src":"21146:23:129"},"referencedDeclaration":74776,"src":"21146:23:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":76241,"initialValue":{"baseExpression":{"id":76238,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75022,"src":"21189:9:129","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$74776_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":76240,"indexExpression":{"id":76239,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76228,"src":"21199:10:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"21189:21:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"21146:64:129"},{"assignments":[76243,76245],"declarations":[{"constant":false,"id":76243,"mutability":"mutable","name":"convictionLast","nameLocation":"21304:14:129","nodeType":"VariableDeclaration","scope":76279,"src":"21296:22:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76242,"name":"uint256","nodeType":"ElementaryTypeName","src":"21296:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":76245,"mutability":"mutable","name":"blockNumber","nameLocation":"21328:11:129","nodeType":"VariableDeclaration","scope":76279,"src":"21320:19:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76244,"name":"uint256","nodeType":"ElementaryTypeName","src":"21320:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":76251,"initialValue":{"arguments":[{"id":76247,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76237,"src":"21389:8:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},{"expression":{"id":76248,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76237,"src":"21399:8:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":76249,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"21408:12:129","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":74755,"src":"21399:21:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":76246,"name":"_checkBlockAndCalculateConviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77432,"src":"21355:33:129","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Proposal_$74776_storage_ptr_$_t_uint256_$returns$_t_uint256_$_t_uint256_$","typeString":"function (struct StrategyStruct.Proposal storage pointer,uint256) view returns (uint256,uint256)"}},"id":76250,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21355:66:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_uint256_$","typeString":"tuple(uint256,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"21295:126:129"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":76258,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":76254,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":76252,"name":"convictionLast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76243,"src":"21436:14:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":76253,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21454:1:129","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"21436:19:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":76257,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":76255,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76245,"src":"21459:11:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":76256,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21474:1:129","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"21459:16:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"21436:39:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":76265,"nodeType":"IfStatement","src":"21432:110:129","trueBody":{"id":76264,"nodeType":"Block","src":"21477:65:129","statements":[{"expression":{"id":76262,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":76259,"name":"convictionLast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76243,"src":"21491:14:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":76260,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76237,"src":"21508:8:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":76261,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"21517:14:129","memberName":"convictionLast","nodeType":"MemberAccess","referencedDeclaration":74757,"src":"21508:23:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"21491:40:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":76263,"nodeType":"ExpressionStatement","src":"21491:40:129"}]}},{"assignments":[76267],"declarations":[{"constant":false,"id":76267,"mutability":"mutable","name":"threshold","nameLocation":"21559:9:129","nodeType":"VariableDeclaration","scope":76279,"src":"21551:17:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76266,"name":"uint256","nodeType":"ElementaryTypeName","src":"21551:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":76272,"initialValue":{"arguments":[{"expression":{"id":76269,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76237,"src":"21590:8:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":76270,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"21599:15:129","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":74753,"src":"21590:24:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":76268,"name":"calculateThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77236,"src":"21571:18:129","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":76271,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21571:44:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"21551:64:129"},{"expression":{"id":76277,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":76273,"name":"canBeExecuted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76231,"src":"21732:13:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":76276,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":76274,"name":"convictionLast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76243,"src":"21748:14:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":76275,"name":"threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76267,"src":"21766:9:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"21748:27:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"21732:43:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":76278,"nodeType":"ExpressionStatement","src":"21732:43:129"}]},"functionSelector":"824ea8ed","implemented":true,"kind":"function","modifiers":[],"name":"canExecuteProposal","nameLocation":"21056:18:129","parameters":{"id":76229,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76228,"mutability":"mutable","name":"proposalId","nameLocation":"21083:10:129","nodeType":"VariableDeclaration","scope":76280,"src":"21075:18:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76227,"name":"uint256","nodeType":"ElementaryTypeName","src":"21075:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"21074:20:129"},"returnParameters":{"id":76232,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76231,"mutability":"mutable","name":"canBeExecuted","nameLocation":"21121:13:129","nodeType":"VariableDeclaration","scope":76280,"src":"21116:18:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":76230,"name":"bool","nodeType":"ElementaryTypeName","src":"21116:4:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"21115:20:129"},"scope":77611,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":76302,"nodeType":"FunctionDefinition","src":"22072:220:129","nodes":[],"body":{"id":76301,"nodeType":"Block","src":"22163:129:129","nodes":[],"statements":[{"expression":{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":76294,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":76289,"name":"_recipientId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76282,"src":"22223:12:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":76292,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22247:1:129","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":76291,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"22239:7:129","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":76290,"name":"address","nodeType":"ElementaryTypeName","src":"22239:7:129","typeDescriptions":{}}},"id":76293,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22239:10:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"22223:26:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"expression":{"id":76297,"name":"Status","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2815,"src":"22270:6:129","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_Status_$2815_$","typeString":"type(enum IStrategy.Status)"}},"id":76298,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"22277:8:129","memberName":"Accepted","nodeType":"MemberAccess","referencedDeclaration":2810,"src":"22270:15:129","typeDescriptions":{"typeIdentifier":"t_enum$_Status_$2815","typeString":"enum IStrategy.Status"}},"id":76299,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"22223:62:129","trueExpression":{"expression":{"id":76295,"name":"Status","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2815,"src":"22252:6:129","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_Status_$2815_$","typeString":"type(enum IStrategy.Status)"}},"id":76296,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"22259:8:129","memberName":"Rejected","nodeType":"MemberAccess","referencedDeclaration":2811,"src":"22252:15:129","typeDescriptions":{"typeIdentifier":"t_enum$_Status_$2815","typeString":"enum IStrategy.Status"}},"typeDescriptions":{"typeIdentifier":"t_enum$_Status_$2815","typeString":"enum IStrategy.Status"}},"functionReturnParameters":76288,"id":76300,"nodeType":"Return","src":"22216:69:129"}]},"baseFunctions":[3848],"implemented":true,"kind":"function","modifiers":[],"name":"_getRecipientStatus","nameLocation":"22081:19:129","overrides":{"id":76284,"nodeType":"OverrideSpecifier","overrides":[],"src":"22137:8:129"},"parameters":{"id":76283,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76282,"mutability":"mutable","name":"_recipientId","nameLocation":"22109:12:129","nodeType":"VariableDeclaration","scope":76302,"src":"22101:20:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":76281,"name":"address","nodeType":"ElementaryTypeName","src":"22101:7:129","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"22100:22:129"},"returnParameters":{"id":76288,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76287,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":76302,"src":"22155:6:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_Status_$2815","typeString":"enum IStrategy.Status"},"typeName":{"id":76286,"nodeType":"UserDefinedTypeName","pathNode":{"id":76285,"name":"Status","nameLocations":["22155:6:129"],"nodeType":"IdentifierPath","referencedDeclaration":2815,"src":"22155:6:129"},"referencedDeclaration":2815,"src":"22155:6:129","typeDescriptions":{"typeIdentifier":"t_enum$_Status_$2815","typeString":"enum IStrategy.Status"}},"visibility":"internal"}],"src":"22154:8:129"},"scope":77611,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":76321,"nodeType":"FunctionDefinition","src":"22421:288:129","nodes":[],"body":{"id":76320,"nodeType":"Block","src":"22531:178:129","nodes":[],"statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":76317,"name":"NotImplemented","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74826,"src":"22591:14:129","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":76318,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22591:16:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":76319,"nodeType":"RevertStatement","src":"22584:23:129"}]},"baseFunctions":[3687],"documentation":{"id":76303,"nodeType":"StructuredDocumentation","src":"22298:118:129","text":"@return Input the values you would send to distribute(), get the amounts each recipient in the array would receive"},"functionSelector":"b2b878d0","implemented":true,"kind":"function","modifiers":[],"name":"getPayouts","nameLocation":"22430:10:129","overrides":{"id":76311,"nodeType":"OverrideSpecifier","overrides":[],"src":"22489:8:129"},"parameters":{"id":76310,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76306,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":76321,"src":"22441:16:129","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":76304,"name":"address","nodeType":"ElementaryTypeName","src":"22441:7:129","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":76305,"nodeType":"ArrayTypeName","src":"22441:9:129","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":76309,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":76321,"src":"22459:14:129","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":76307,"name":"bytes","nodeType":"ElementaryTypeName","src":"22459:5:129","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":76308,"nodeType":"ArrayTypeName","src":"22459:7:129","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"22440:34:129"},"returnParameters":{"id":76316,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76315,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":76321,"src":"22507:22:129","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_PayoutSummary_$2820_memory_ptr_$dyn_memory_ptr","typeString":"struct IStrategy.PayoutSummary[]"},"typeName":{"baseType":{"id":76313,"nodeType":"UserDefinedTypeName","pathNode":{"id":76312,"name":"PayoutSummary","nameLocations":["22507:13:129"],"nodeType":"IdentifierPath","referencedDeclaration":2820,"src":"22507:13:129"},"referencedDeclaration":2820,"src":"22507:13:129","typeDescriptions":{"typeIdentifier":"t_struct$_PayoutSummary_$2820_storage_ptr","typeString":"struct IStrategy.PayoutSummary"}},"id":76314,"nodeType":"ArrayTypeName","src":"22507:15:129","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_PayoutSummary_$2820_storage_$dyn_storage_ptr","typeString":"struct IStrategy.PayoutSummary[]"}},"visibility":"internal"}],"src":"22506:24:129"},"scope":77611,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":76340,"nodeType":"FunctionDefinition","src":"22715:264:129","nodes":[],"body":{"id":76339,"nodeType":"Block","src":"22867:112:129","nodes":[],"statements":[{"expression":{"id":76332,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76325,"src":"22920:5:129","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":76333,"nodeType":"ExpressionStatement","src":"22920:5:129"},{"expression":{"arguments":[{"id":76335,"name":"_recipientId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76323,"src":"22956:12:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":76336,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22970:1:129","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":76334,"name":"PayoutSummary","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2820,"src":"22942:13:129","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_PayoutSummary_$2820_storage_ptr_$","typeString":"type(struct IStrategy.PayoutSummary storage pointer)"}},"id":76337,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22942:30:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_PayoutSummary_$2820_memory_ptr","typeString":"struct IStrategy.PayoutSummary memory"}},"functionReturnParameters":76331,"id":76338,"nodeType":"Return","src":"22935:37:129"}]},"baseFunctions":[3839],"implemented":true,"kind":"function","modifiers":[],"name":"_getPayout","nameLocation":"22724:10:129","overrides":{"id":76327,"nodeType":"OverrideSpecifier","overrides":[],"src":"22815:8:129"},"parameters":{"id":76326,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76323,"mutability":"mutable","name":"_recipientId","nameLocation":"22743:12:129","nodeType":"VariableDeclaration","scope":76340,"src":"22735:20:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":76322,"name":"address","nodeType":"ElementaryTypeName","src":"22735:7:129","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":76325,"mutability":"mutable","name":"_data","nameLocation":"22770:5:129","nodeType":"VariableDeclaration","scope":76340,"src":"22757:18:129","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":76324,"name":"bytes","nodeType":"ElementaryTypeName","src":"22757:5:129","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"22734:42:129"},"returnParameters":{"id":76331,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76330,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":76340,"src":"22841:20:129","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_PayoutSummary_$2820_memory_ptr","typeString":"struct IStrategy.PayoutSummary"},"typeName":{"id":76329,"nodeType":"UserDefinedTypeName","pathNode":{"id":76328,"name":"PayoutSummary","nameLocations":["22841:13:129"],"nodeType":"IdentifierPath","referencedDeclaration":2820,"src":"22841:13:129"},"referencedDeclaration":2820,"src":"22841:13:129","typeDescriptions":{"typeIdentifier":"t_struct$_PayoutSummary_$2820_storage_ptr","typeString":"struct IStrategy.PayoutSummary"}},"visibility":"internal"}],"src":"22840:22:129"},"scope":77611,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":76351,"nodeType":"FunctionDefinition","src":"22985:127:129","nodes":[],"body":{"id":76350,"nodeType":"Block","src":"23062:50:129","nodes":[],"statements":[{"eventCall":{"arguments":[{"id":76347,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76342,"src":"23097:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":76346,"name":"PoolAmountIncreased","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74915,"src":"23077:19:129","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":76348,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23077:28:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":76349,"nodeType":"EmitStatement","src":"23072:33:129"}]},"baseFunctions":[3862],"implemented":true,"kind":"function","modifiers":[],"name":"_afterIncreasePoolAmount","nameLocation":"22994:24:129","overrides":{"id":76344,"nodeType":"OverrideSpecifier","overrides":[],"src":"23053:8:129"},"parameters":{"id":76343,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76342,"mutability":"mutable","name":"_amount","nameLocation":"23027:7:129","nodeType":"VariableDeclaration","scope":76351,"src":"23019:15:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76341,"name":"uint256","nodeType":"ElementaryTypeName","src":"23019:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"23018:17:129"},"returnParameters":{"id":76345,"nodeType":"ParameterList","parameters":[],"src":"23062:0:129"},"scope":77611,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":76370,"nodeType":"FunctionDefinition","src":"23207:191:129","nodes":[],"body":{"id":76369,"nodeType":"Block","src":"23292:106:129","nodes":[],"statements":[{"expression":{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":76364,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":76359,"name":"_allocator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76353,"src":"23352:10:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":76362,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"23374:1:129","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":76361,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"23366:7:129","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":76360,"name":"address","nodeType":"ElementaryTypeName","src":"23366:7:129","typeDescriptions":{}}},"id":76363,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23366:10:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"23352:24:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"hexValue":"74727565","id":76366,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"23387:4:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"id":76367,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"23352:39:129","trueExpression":{"hexValue":"66616c7365","id":76365,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"23379:5:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":76358,"id":76368,"nodeType":"Return","src":"23345:46:129"}]},"baseFunctions":[3799],"implemented":true,"kind":"function","modifiers":[],"name":"_isValidAllocator","nameLocation":"23216:17:129","overrides":{"id":76355,"nodeType":"OverrideSpecifier","overrides":[],"src":"23268:8:129"},"parameters":{"id":76354,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76353,"mutability":"mutable","name":"_allocator","nameLocation":"23242:10:129","nodeType":"VariableDeclaration","scope":76370,"src":"23234:18:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":76352,"name":"address","nodeType":"ElementaryTypeName","src":"23234:7:129","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"23233:20:129"},"returnParameters":{"id":76358,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76357,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":76370,"src":"23286:4:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":76356,"name":"bool","nodeType":"ElementaryTypeName","src":"23286:4:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"23285:6:129"},"scope":77611,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":76380,"nodeType":"FunctionDefinition","src":"23404:86:129","nodes":[],"body":{"id":76379,"nodeType":"Block","src":"23450:40:129","nodes":[],"statements":[{"expression":{"arguments":[{"id":76376,"name":"_active","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76372,"src":"23475:7:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":76375,"name":"_setPoolActive","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3782,"src":"23460:14:129","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bool_$returns$__$","typeString":"function (bool)"}},"id":76377,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23460:23:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":76378,"nodeType":"ExpressionStatement","src":"23460:23:129"}]},"functionSelector":"b5f620ce","implemented":true,"kind":"function","modifiers":[],"name":"setPoolActive","nameLocation":"23413:13:129","parameters":{"id":76373,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76372,"mutability":"mutable","name":"_active","nameLocation":"23432:7:129","nodeType":"VariableDeclaration","scope":76380,"src":"23427:12:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":76371,"name":"bool","nodeType":"ElementaryTypeName","src":"23427:4:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"23426:14:129"},"returnParameters":{"id":76374,"nodeType":"ParameterList","parameters":[],"src":"23450:0:129"},"scope":77611,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":76468,"nodeType":"FunctionDefinition","src":"23496:836:129","nodes":[],"body":{"id":76467,"nodeType":"Block","src":"23540:792:129","nodes":[],"statements":[{"assignments":[76389],"declarations":[{"constant":false,"id":76389,"mutability":"mutable","name":"proposalsIds","nameLocation":"23615:12:129","nodeType":"VariableDeclaration","scope":76467,"src":"23598:29:129","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":76387,"name":"uint256","nodeType":"ElementaryTypeName","src":"23598:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":76388,"nodeType":"ArrayTypeName","src":"23598:9:129","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"id":76393,"initialValue":{"baseExpression":{"id":76390,"name":"voterStakedProposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75031,"src":"23630:20:129","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$","typeString":"mapping(address => uint256[] storage ref)"}},"id":76392,"indexExpression":{"id":76391,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76382,"src":"23651:7:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"23630:29:129","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage","typeString":"uint256[] storage ref"}},"nodeType":"VariableDeclarationStatement","src":"23598:61:129"},{"body":{"id":76465,"nodeType":"Block","src":"23719:607:129","statements":[{"assignments":[76406],"declarations":[{"constant":false,"id":76406,"mutability":"mutable","name":"proposalId","nameLocation":"23741:10:129","nodeType":"VariableDeclaration","scope":76465,"src":"23733:18:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76405,"name":"uint256","nodeType":"ElementaryTypeName","src":"23733:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":76410,"initialValue":{"baseExpression":{"id":76407,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76389,"src":"23754:12:129","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":76409,"indexExpression":{"id":76408,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76395,"src":"23767:1:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"23754:15:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"23733:36:129"},{"assignments":[76415],"declarations":[{"constant":false,"id":76415,"mutability":"mutable","name":"proposal","nameLocation":"23815:8:129","nodeType":"VariableDeclaration","scope":76465,"src":"23783:40:129","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":76414,"nodeType":"UserDefinedTypeName","pathNode":{"id":76413,"name":"StrategyStruct.Proposal","nameLocations":["23783:14:129","23798:8:129"],"nodeType":"IdentifierPath","referencedDeclaration":74776,"src":"23783:23:129"},"referencedDeclaration":74776,"src":"23783:23:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":76419,"initialValue":{"baseExpression":{"id":76416,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75022,"src":"23826:9:129","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$74776_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":76418,"indexExpression":{"id":76417,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76406,"src":"23836:10:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"23826:21:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"23783:64:129"},{"condition":{"arguments":[{"id":76421,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76406,"src":"23880:10:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":76420,"name":"proposalExists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76656,"src":"23865:14:129","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view returns (bool)"}},"id":76422,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23865:26:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":76464,"nodeType":"IfStatement","src":"23861:455:129","trueBody":{"id":76463,"nodeType":"Block","src":"23893:423:129","statements":[{"assignments":[76424],"declarations":[{"constant":false,"id":76424,"mutability":"mutable","name":"stakedPoints","nameLocation":"23919:12:129","nodeType":"VariableDeclaration","scope":76463,"src":"23911:20:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76423,"name":"uint256","nodeType":"ElementaryTypeName","src":"23911:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":76429,"initialValue":{"baseExpression":{"expression":{"id":76425,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76415,"src":"23934:8:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":76426,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"23943:17:129","memberName":"voterStakedPoints","nodeType":"MemberAccess","referencedDeclaration":74772,"src":"23934:26:129","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":76428,"indexExpression":{"id":76427,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76382,"src":"23961:7:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"23934:35:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"23911:58:129"},{"expression":{"id":76436,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":76430,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76415,"src":"23987:8:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":76433,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"23996:17:129","memberName":"voterStakedPoints","nodeType":"MemberAccess","referencedDeclaration":74772,"src":"23987:26:129","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":76434,"indexExpression":{"id":76432,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76382,"src":"24014:7:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"23987:35:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"30","id":76435,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"24025:1:129","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"23987:39:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":76437,"nodeType":"ExpressionStatement","src":"23987:39:129"},{"expression":{"id":76442,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":76438,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76415,"src":"24044:8:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":76440,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"24053:12:129","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":74755,"src":"24044:21:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"id":76441,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76424,"src":"24069:12:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"24044:37:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":76443,"nodeType":"ExpressionStatement","src":"24044:37:129"},{"expression":{"id":76446,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":76444,"name":"totalStaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74995,"src":"24099:11:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"id":76445,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76424,"src":"24114:12:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"24099:27:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":76447,"nodeType":"ExpressionStatement","src":"24099:27:129"},{"expression":{"arguments":[{"id":76449,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76415,"src":"24171:8:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},{"id":76450,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76424,"src":"24181:12:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":76448,"name":"_calculateAndSetConviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77385,"src":"24144:26:129","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_Proposal_$74776_storage_ptr_$_t_uint256_$returns$__$","typeString":"function (struct StrategyStruct.Proposal storage pointer,uint256)"}},"id":76451,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24144:50:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":76452,"nodeType":"ExpressionStatement","src":"24144:50:129"},{"eventCall":{"arguments":[{"id":76454,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76382,"src":"24230:7:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":76455,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76406,"src":"24239:10:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":76456,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"24251:1:129","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"expression":{"id":76457,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76415,"src":"24254:8:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":76458,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24263:12:129","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":74755,"src":"24254:21:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":76459,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76415,"src":"24277:8:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":76460,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24286:14:129","memberName":"convictionLast","nodeType":"MemberAccess","referencedDeclaration":74757,"src":"24277:23:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":76453,"name":"SupportAdded","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74943,"src":"24217:12:129","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (address,uint256,uint256,uint256,uint256)"}},"id":76461,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24217:84:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":76462,"nodeType":"EmitStatement","src":"24212:89:129"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":76401,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":76398,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76395,"src":"23689:1:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":76399,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76389,"src":"23693:12:129","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":76400,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23706:6:129","memberName":"length","nodeType":"MemberAccess","src":"23693:19:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"23689:23:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":76466,"initializationExpression":{"assignments":[76395],"declarations":[{"constant":false,"id":76395,"mutability":"mutable","name":"i","nameLocation":"23682:1:129","nodeType":"VariableDeclaration","scope":76466,"src":"23674:9:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76394,"name":"uint256","nodeType":"ElementaryTypeName","src":"23674:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":76397,"initialValue":{"hexValue":"30","id":76396,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"23686:1:129","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"23674:13:129"},"loopExpression":{"expression":{"id":76403,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"23714:3:129","subExpression":{"id":76402,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76395,"src":"23714:1:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":76404,"nodeType":"ExpressionStatement","src":"23714:3:129"},"nodeType":"ForStatement","src":"23669:657:129"}]},"implemented":true,"kind":"function","modifiers":[],"name":"withdraw","nameLocation":"23505:8:129","parameters":{"id":76383,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76382,"mutability":"mutable","name":"_member","nameLocation":"23522:7:129","nodeType":"VariableDeclaration","scope":76468,"src":"23514:15:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":76381,"name":"address","nodeType":"ElementaryTypeName","src":"23514:7:129","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"23513:17:129"},"returnParameters":{"id":76384,"nodeType":"ParameterList","parameters":[],"src":"23540:0:129"},"scope":77611,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":76542,"nodeType":"FunctionDefinition","src":"24894:1038:129","nodes":[],"body":{"id":76541,"nodeType":"Block","src":"25363:569:129","nodes":[],"statements":[{"assignments":[76499],"declarations":[{"constant":false,"id":76499,"mutability":"mutable","name":"proposal","nameLocation":"25405:8:129","nodeType":"VariableDeclaration","scope":76541,"src":"25373:40:129","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":76498,"nodeType":"UserDefinedTypeName","pathNode":{"id":76497,"name":"StrategyStruct.Proposal","nameLocations":["25373:14:129","25388:8:129"],"nodeType":"IdentifierPath","referencedDeclaration":74776,"src":"25373:23:129"},"referencedDeclaration":74776,"src":"25373:23:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":76503,"initialValue":{"baseExpression":{"id":76500,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75022,"src":"25416:9:129","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$74776_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":76502,"indexExpression":{"id":76501,"name":"_proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76471,"src":"25426:11:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"25416:22:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"25373:65:129"},{"expression":{"id":76515,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":76504,"name":"threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76491,"src":"25449:9:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":76508,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":76505,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76499,"src":"25461:8:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":76506,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"25470:15:129","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":74753,"src":"25461:24:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":76507,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25489:1:129","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"25461:29:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"arguments":[{"expression":{"id":76511,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76499,"src":"25516:8:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":76512,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"25525:15:129","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":74753,"src":"25516:24:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":76510,"name":"calculateThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77236,"src":"25497:18:129","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":76513,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25497:44:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":76514,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"25461:80:129","trueExpression":{"hexValue":"30","id":76509,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25493:1:129","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"25449:92:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":76516,"nodeType":"ExpressionStatement","src":"25449:92:129"},{"expression":{"components":[{"expression":{"id":76517,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76499,"src":"25572:8:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":76518,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"25581:9:129","memberName":"submitter","nodeType":"MemberAccess","referencedDeclaration":74761,"src":"25572:18:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":76519,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76499,"src":"25604:8:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":76520,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"25613:11:129","memberName":"beneficiary","nodeType":"MemberAccess","referencedDeclaration":74759,"src":"25604:20:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":76521,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76499,"src":"25638:8:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":76522,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"25647:14:129","memberName":"requestedToken","nodeType":"MemberAccess","referencedDeclaration":74763,"src":"25638:23:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":76523,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76499,"src":"25675:8:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":76524,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"25684:15:129","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":74753,"src":"25675:24:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":76525,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76499,"src":"25713:8:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":76526,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"25722:12:129","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":74755,"src":"25713:21:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":76527,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76499,"src":"25748:8:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":76528,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"25757:14:129","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":74768,"src":"25748:23:129","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$74749","typeString":"enum StrategyStruct.ProposalStatus"}},{"expression":{"id":76529,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76499,"src":"25785:8:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":76530,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"25794:9:129","memberName":"blockLast","nodeType":"MemberAccess","referencedDeclaration":74765,"src":"25785:18:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":76531,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76499,"src":"25817:8:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":76532,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"25826:14:129","memberName":"convictionLast","nodeType":"MemberAccess","referencedDeclaration":74757,"src":"25817:23:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":76533,"name":"threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76491,"src":"25854:9:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"baseExpression":{"expression":{"id":76534,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76499,"src":"25877:8:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":76535,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"25886:17:129","memberName":"voterStakedPoints","nodeType":"MemberAccess","referencedDeclaration":74772,"src":"25877:26:129","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":76538,"indexExpression":{"expression":{"id":76536,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"25904:3:129","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":76537,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"25908:6:129","memberName":"sender","nodeType":"MemberAccess","src":"25904:10:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"25877:38:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":76539,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"25558:367:129","typeDescriptions":{"typeIdentifier":"t_tuple$_t_address_$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_enum$_ProposalStatus_$74749_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$","typeString":"tuple(address,address,address,uint256,uint256,enum StrategyStruct.ProposalStatus,uint256,uint256,uint256,uint256)"}},"functionReturnParameters":76494,"id":76540,"nodeType":"Return","src":"25551:374:129"}]},"documentation":{"id":76469,"nodeType":"StructuredDocumentation","src":"24338:551:129","text":" @dev Get proposal details\n @param _proposalId Proposal id\n @return submitter Proposal submitter\n @return beneficiary Proposal beneficiary\n @return requestedToken Proposal requested token\n @return requestedAmount Proposal requested amount\n @return stakedAmount Proposal staked points\n @return proposalStatus Proposal status\n @return blockLast Last block when conviction was calculated\n @return convictionLast Last conviction calculated\n @return threshold Proposal threshold"},"functionSelector":"c7f758a8","implemented":true,"kind":"function","modifiers":[],"name":"getProposal","nameLocation":"24903:11:129","parameters":{"id":76472,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76471,"mutability":"mutable","name":"_proposalId","nameLocation":"24923:11:129","nodeType":"VariableDeclaration","scope":76542,"src":"24915:19:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76470,"name":"uint256","nodeType":"ElementaryTypeName","src":"24915:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"24914:21:129"},"returnParameters":{"id":76494,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76474,"mutability":"mutable","name":"submitter","nameLocation":"25004:9:129","nodeType":"VariableDeclaration","scope":76542,"src":"24996:17:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":76473,"name":"address","nodeType":"ElementaryTypeName","src":"24996:7:129","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":76476,"mutability":"mutable","name":"beneficiary","nameLocation":"25035:11:129","nodeType":"VariableDeclaration","scope":76542,"src":"25027:19:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":76475,"name":"address","nodeType":"ElementaryTypeName","src":"25027:7:129","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":76478,"mutability":"mutable","name":"requestedToken","nameLocation":"25068:14:129","nodeType":"VariableDeclaration","scope":76542,"src":"25060:22:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":76477,"name":"address","nodeType":"ElementaryTypeName","src":"25060:7:129","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":76480,"mutability":"mutable","name":"requestedAmount","nameLocation":"25104:15:129","nodeType":"VariableDeclaration","scope":76542,"src":"25096:23:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76479,"name":"uint256","nodeType":"ElementaryTypeName","src":"25096:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":76482,"mutability":"mutable","name":"stakedAmount","nameLocation":"25141:12:129","nodeType":"VariableDeclaration","scope":76542,"src":"25133:20:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76481,"name":"uint256","nodeType":"ElementaryTypeName","src":"25133:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":76485,"mutability":"mutable","name":"proposalStatus","nameLocation":"25197:14:129","nodeType":"VariableDeclaration","scope":76542,"src":"25167:44:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$74749","typeString":"enum StrategyStruct.ProposalStatus"},"typeName":{"id":76484,"nodeType":"UserDefinedTypeName","pathNode":{"id":76483,"name":"StrategyStruct.ProposalStatus","nameLocations":["25167:14:129","25182:14:129"],"nodeType":"IdentifierPath","referencedDeclaration":74749,"src":"25167:29:129"},"referencedDeclaration":74749,"src":"25167:29:129","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$74749","typeString":"enum StrategyStruct.ProposalStatus"}},"visibility":"internal"},{"constant":false,"id":76487,"mutability":"mutable","name":"blockLast","nameLocation":"25233:9:129","nodeType":"VariableDeclaration","scope":76542,"src":"25225:17:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76486,"name":"uint256","nodeType":"ElementaryTypeName","src":"25225:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":76489,"mutability":"mutable","name":"convictionLast","nameLocation":"25264:14:129","nodeType":"VariableDeclaration","scope":76542,"src":"25256:22:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76488,"name":"uint256","nodeType":"ElementaryTypeName","src":"25256:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":76491,"mutability":"mutable","name":"threshold","nameLocation":"25300:9:129","nodeType":"VariableDeclaration","scope":76542,"src":"25292:17:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76490,"name":"uint256","nodeType":"ElementaryTypeName","src":"25292:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":76493,"mutability":"mutable","name":"voterStakedPoints","nameLocation":"25331:17:129","nodeType":"VariableDeclaration","scope":76542,"src":"25323:25:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76492,"name":"uint256","nodeType":"ElementaryTypeName","src":"25323:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"24982:376:129"},"scope":77611,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":76563,"nodeType":"FunctionDefinition","src":"25938:198:129","nodes":[],"body":{"id":76562,"nodeType":"Block","src":"26020:116:129","nodes":[],"statements":[{"assignments":[76554],"declarations":[{"constant":false,"id":76554,"mutability":"mutable","name":"proposal","nameLocation":"26062:8:129","nodeType":"VariableDeclaration","scope":76562,"src":"26030:40:129","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":76553,"nodeType":"UserDefinedTypeName","pathNode":{"id":76552,"name":"StrategyStruct.Proposal","nameLocations":["26030:14:129","26045:8:129"],"nodeType":"IdentifierPath","referencedDeclaration":74776,"src":"26030:23:129"},"referencedDeclaration":74776,"src":"26030:23:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":76558,"initialValue":{"baseExpression":{"id":76555,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75022,"src":"26073:9:129","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$74776_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":76557,"indexExpression":{"id":76556,"name":"_proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76544,"src":"26083:11:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"26073:22:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"26030:65:129"},{"expression":{"expression":{"id":76559,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76554,"src":"26112:8:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":76560,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"26121:8:129","memberName":"metadata","nodeType":"MemberAccess","referencedDeclaration":74775,"src":"26112:17:129","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage","typeString":"struct Metadata storage ref"}},"functionReturnParameters":76549,"id":76561,"nodeType":"Return","src":"26105:24:129"}]},"functionSelector":"a574cea4","implemented":true,"kind":"function","modifiers":[],"name":"getMetadata","nameLocation":"25947:11:129","parameters":{"id":76545,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76544,"mutability":"mutable","name":"_proposalId","nameLocation":"25967:11:129","nodeType":"VariableDeclaration","scope":76563,"src":"25959:19:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76543,"name":"uint256","nodeType":"ElementaryTypeName","src":"25959:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"25958:21:129"},"returnParameters":{"id":76549,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76548,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":76563,"src":"26003:15:129","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata"},"typeName":{"id":76547,"nodeType":"UserDefinedTypeName","pathNode":{"id":76546,"name":"Metadata","nameLocations":["26003:8:129"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"26003:8:129"},"referencedDeclaration":3098,"src":"26003:8:129","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"}],"src":"26002:17:129"},"scope":77611,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":76579,"nodeType":"FunctionDefinition","src":"26337:176:129","nodes":[],"body":{"id":76578,"nodeType":"Block","src":"26437:76:129","nodes":[],"statements":[{"expression":{"arguments":[{"id":76574,"name":"_proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76566,"src":"26486:11:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":76575,"name":"_voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76568,"src":"26499:6:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"id":76573,"name":"_internal_getProposalVoterStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76621,"src":"26454:31:129","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_address_$returns$_t_uint256_$","typeString":"function (uint256,address) view returns (uint256)"}},"id":76576,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26454:52:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":76572,"id":76577,"nodeType":"Return","src":"26447:59:129"}]},"documentation":{"id":76564,"nodeType":"StructuredDocumentation","src":"26142:190:129","text":" @notice Get stake of voter `_voter` on proposal #`_proposalId`\n @param _proposalId Proposal id\n @param _voter Voter address\n @return Proposal voter stake"},"functionSelector":"e0dd2c38","implemented":true,"kind":"function","modifiers":[],"name":"getProposalVoterStake","nameLocation":"26346:21:129","parameters":{"id":76569,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76566,"mutability":"mutable","name":"_proposalId","nameLocation":"26376:11:129","nodeType":"VariableDeclaration","scope":76579,"src":"26368:19:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76565,"name":"uint256","nodeType":"ElementaryTypeName","src":"26368:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":76568,"mutability":"mutable","name":"_voter","nameLocation":"26397:6:129","nodeType":"VariableDeclaration","scope":76579,"src":"26389:14:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":76567,"name":"address","nodeType":"ElementaryTypeName","src":"26389:7:129","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"26367:37:129"},"returnParameters":{"id":76572,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76571,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":76579,"src":"26428:7:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76570,"name":"uint256","nodeType":"ElementaryTypeName","src":"26428:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"26427:9:129"},"scope":77611,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":76592,"nodeType":"FunctionDefinition","src":"26519:145:129","nodes":[],"body":{"id":76591,"nodeType":"Block","src":"26605:59:129","nodes":[],"statements":[{"expression":{"expression":{"baseExpression":{"id":76586,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75022,"src":"26622:9:129","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$74776_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":76588,"indexExpression":{"id":76587,"name":"_proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76581,"src":"26632:11:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"26622:22:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"id":76589,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"26645:12:129","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":74755,"src":"26622:35:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":76585,"id":76590,"nodeType":"Return","src":"26615:42:129"}]},"functionSelector":"dc96ff2d","implemented":true,"kind":"function","modifiers":[],"name":"getProposalStakedAmount","nameLocation":"26528:23:129","parameters":{"id":76582,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76581,"mutability":"mutable","name":"_proposalId","nameLocation":"26560:11:129","nodeType":"VariableDeclaration","scope":76592,"src":"26552:19:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76580,"name":"uint256","nodeType":"ElementaryTypeName","src":"26552:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"26551:21:129"},"returnParameters":{"id":76585,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76584,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":76592,"src":"26596:7:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76583,"name":"uint256","nodeType":"ElementaryTypeName","src":"26596:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"26595:9:129"},"scope":77611,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":76604,"nodeType":"FunctionDefinition","src":"26733:127:129","nodes":[],"body":{"id":76603,"nodeType":"Block","src":"26810:50:129","nodes":[],"statements":[{"expression":{"baseExpression":{"id":76599,"name":"totalVoterStakePct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75026,"src":"26827:18:129","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":76601,"indexExpression":{"id":76600,"name":"_voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76594,"src":"26846:6:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"26827:26:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":76598,"id":76602,"nodeType":"Return","src":"26820:33:129"}]},"functionSelector":"bcc5b93b","implemented":true,"kind":"function","modifiers":[],"name":"getTotalVoterStakePct","nameLocation":"26742:21:129","parameters":{"id":76595,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76594,"mutability":"mutable","name":"_voter","nameLocation":"26772:6:129","nodeType":"VariableDeclaration","scope":76604,"src":"26764:14:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":76593,"name":"address","nodeType":"ElementaryTypeName","src":"26764:7:129","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"26763:16:129"},"returnParameters":{"id":76598,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76597,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":76604,"src":"26801:7:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76596,"name":"uint256","nodeType":"ElementaryTypeName","src":"26801:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"26800:9:129"},"scope":77611,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":76621,"nodeType":"FunctionDefinition","src":"26866:182:129","nodes":[],"body":{"id":76620,"nodeType":"Block","src":"26976:72:129","nodes":[],"statements":[{"expression":{"baseExpression":{"expression":{"baseExpression":{"id":76613,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75022,"src":"26993:9:129","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$74776_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":76615,"indexExpression":{"id":76614,"name":"_proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76606,"src":"27003:11:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"26993:22:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"id":76616,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"27016:17:129","memberName":"voterStakedPoints","nodeType":"MemberAccess","referencedDeclaration":74772,"src":"26993:40:129","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":76618,"indexExpression":{"id":76617,"name":"_voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76608,"src":"27034:6:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"26993:48:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":76612,"id":76619,"nodeType":"Return","src":"26986:55:129"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_internal_getProposalVoterStake","nameLocation":"26875:31:129","parameters":{"id":76609,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76606,"mutability":"mutable","name":"_proposalId","nameLocation":"26915:11:129","nodeType":"VariableDeclaration","scope":76621,"src":"26907:19:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76605,"name":"uint256","nodeType":"ElementaryTypeName","src":"26907:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":76608,"mutability":"mutable","name":"_voter","nameLocation":"26936:6:129","nodeType":"VariableDeclaration","scope":76621,"src":"26928:14:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":76607,"name":"address","nodeType":"ElementaryTypeName","src":"26928:7:129","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"26906:37:129"},"returnParameters":{"id":76612,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76611,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":76621,"src":"26967:7:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76610,"name":"uint256","nodeType":"ElementaryTypeName","src":"26967:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"26966:9:129"},"scope":77611,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":76631,"nodeType":"FunctionDefinition","src":"27054:145:129","nodes":[],"body":{"id":76630,"nodeType":"Block","src":"27118:81:129","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":76626,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75014,"src":"27135:17:129","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunity_$83082","typeString":"contract RegistryCommunity"}},"id":76627,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"27153:20:129","memberName":"getBasisStakedAmount","nodeType":"MemberAccess","referencedDeclaration":82879,"src":"27135:38:129","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint256_$","typeString":"function () view external returns (uint256)"}},"id":76628,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27135:40:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":76625,"id":76629,"nodeType":"Return","src":"27128:47:129"}]},"implemented":true,"kind":"function","modifiers":[],"name":"getBasisStakedAmount","nameLocation":"27063:20:129","parameters":{"id":76622,"nodeType":"ParameterList","parameters":[],"src":"27083:2:129"},"returnParameters":{"id":76625,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76624,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":76631,"src":"27109:7:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76623,"name":"uint256","nodeType":"ElementaryTypeName","src":"27109:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"27108:9:129"},"scope":77611,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":76656,"nodeType":"FunctionDefinition","src":"27205:185:129","nodes":[],"body":{"id":76655,"nodeType":"Block","src":"27279:111:129","nodes":[],"statements":[{"expression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":76653,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":76643,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":76638,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75022,"src":"27296:9:129","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$74776_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":76640,"indexExpression":{"id":76639,"name":"_proposalID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76633,"src":"27306:11:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"27296:22:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"id":76641,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"27319:10:129","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":74751,"src":"27296:33:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":76642,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"27332:1:129","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"27296:37:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":76652,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":76644,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75022,"src":"27337:9:129","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$74776_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":76646,"indexExpression":{"id":76645,"name":"_proposalID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76633,"src":"27347:11:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"27337:22:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"id":76647,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"27360:9:129","memberName":"submitter","nodeType":"MemberAccess","referencedDeclaration":74761,"src":"27337:32:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":76650,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"27381:1:129","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":76649,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"27373:7:129","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":76648,"name":"address","nodeType":"ElementaryTypeName","src":"27373:7:129","typeDescriptions":{}}},"id":76651,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27373:10:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"27337:46:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"27296:87:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":76637,"id":76654,"nodeType":"Return","src":"27289:94:129"}]},"implemented":true,"kind":"function","modifiers":[],"name":"proposalExists","nameLocation":"27214:14:129","parameters":{"id":76634,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76633,"mutability":"mutable","name":"_proposalID","nameLocation":"27237:11:129","nodeType":"VariableDeclaration","scope":76656,"src":"27229:19:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76632,"name":"uint256","nodeType":"ElementaryTypeName","src":"27229:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"27228:21:129"},"returnParameters":{"id":76637,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76636,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":76656,"src":"27273:4:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":76635,"name":"bool","nodeType":"ElementaryTypeName","src":"27273:4:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"27272:6:129"},"scope":77611,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":76674,"nodeType":"FunctionDefinition","src":"27396:174:129","nodes":[],"body":{"id":76673,"nodeType":"Block","src":"27491:79:129","nodes":[],"statements":[{"expression":{"id":76671,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":76663,"name":"isOverMaxRatio","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76661,"src":"27501:14:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":76670,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":76666,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":76664,"name":"maxRatio","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74988,"src":"27518:8:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":76665,"name":"poolAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3343,"src":"27529:10:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"27518:21:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":76669,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":76667,"name":"_requestedAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76658,"src":"27543:16:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":76668,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74972,"src":"27562:1:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"27543:20:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"27518:45:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"27501:62:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":76672,"nodeType":"ExpressionStatement","src":"27501:62:129"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_isOverMaxRatio","nameLocation":"27405:15:129","parameters":{"id":76659,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76658,"mutability":"mutable","name":"_requestedAmount","nameLocation":"27429:16:129","nodeType":"VariableDeclaration","scope":76674,"src":"27421:24:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76657,"name":"uint256","nodeType":"ElementaryTypeName","src":"27421:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"27420:26:129"},"returnParameters":{"id":76662,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76661,"mutability":"mutable","name":"isOverMaxRatio","nameLocation":"27475:14:129","nodeType":"VariableDeclaration","scope":76674,"src":"27470:19:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":76660,"name":"bool","nodeType":"ElementaryTypeName","src":"27470:4:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"27469:21:129"},"scope":77611,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":76770,"nodeType":"FunctionDefinition","src":"27576:1548:129","nodes":[],"body":{"id":76769,"nodeType":"Block","src":"27706:1418:129","nodes":[],"statements":[{"assignments":[76684],"declarations":[{"constant":false,"id":76684,"mutability":"mutable","name":"deltaSupportSum","nameLocation":"27723:15:129","nodeType":"VariableDeclaration","scope":76769,"src":"27716:22:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":76683,"name":"int256","nodeType":"ElementaryTypeName","src":"27716:6:129","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"id":76686,"initialValue":{"hexValue":"30","id":76685,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"27741:1:129","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"27716:26:129"},{"body":{"id":76731,"nodeType":"Block","src":"27806:576:129","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":76703,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":76698,"name":"_proposalSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76680,"src":"27879:16:129","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$74781_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}},"id":76700,"indexExpression":{"id":76699,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76688,"src":"27896:1:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"27879:19:129","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$74781_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory"}},"id":76701,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"27899:10:129","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":74778,"src":"27879:30:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":76702,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"27913:1:129","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"27879:35:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":76706,"nodeType":"IfStatement","src":"27875:187:129","trueBody":{"id":76705,"nodeType":"Block","src":"27916:146:129","statements":[{"id":76704,"nodeType":"Continue","src":"28039:8:129"}]}},{"assignments":[76708],"declarations":[{"constant":false,"id":76708,"mutability":"mutable","name":"proposalId","nameLocation":"28083:10:129","nodeType":"VariableDeclaration","scope":76731,"src":"28075:18:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76707,"name":"uint256","nodeType":"ElementaryTypeName","src":"28075:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":76713,"initialValue":{"expression":{"baseExpression":{"id":76709,"name":"_proposalSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76680,"src":"28096:16:129","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$74781_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}},"id":76711,"indexExpression":{"id":76710,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76688,"src":"28113:1:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"28096:19:129","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$74781_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory"}},"id":76712,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"28116:10:129","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":74778,"src":"28096:30:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"28075:51:129"},{"condition":{"id":76717,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"28144:27:129","subExpression":{"arguments":[{"id":76715,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76708,"src":"28160:10:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":76714,"name":"proposalExists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76656,"src":"28145:14:129","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view returns (bool)"}},"id":76716,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28145:26:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":76723,"nodeType":"IfStatement","src":"28140:167:129","trueBody":{"id":76722,"nodeType":"Block","src":"28173:134:129","statements":[{"errorCall":{"arguments":[{"id":76719,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76708,"src":"28216:10:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":76718,"name":"ProposalNotInList","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74868,"src":"28198:17:129","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":76720,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28198:29:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":76721,"nodeType":"RevertStatement","src":"28191:36:129"}]}},{"expression":{"id":76729,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":76724,"name":"deltaSupportSum","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76684,"src":"28320:15:129","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"expression":{"baseExpression":{"id":76725,"name":"_proposalSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76680,"src":"28339:16:129","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$74781_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}},"id":76727,"indexExpression":{"id":76726,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76688,"src":"28356:1:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"28339:19:129","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$74781_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory"}},"id":76728,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"28359:12:129","memberName":"deltaSupport","nodeType":"MemberAccess","referencedDeclaration":74780,"src":"28339:32:129","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"28320:51:129","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":76730,"nodeType":"ExpressionStatement","src":"28320:51:129"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":76694,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":76691,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76688,"src":"27772:1:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":76692,"name":"_proposalSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76680,"src":"27776:16:129","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$74781_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}},"id":76693,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"27793:6:129","memberName":"length","nodeType":"MemberAccess","src":"27776:23:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"27772:27:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":76732,"initializationExpression":{"assignments":[76688],"declarations":[{"constant":false,"id":76688,"mutability":"mutable","name":"i","nameLocation":"27765:1:129","nodeType":"VariableDeclaration","scope":76732,"src":"27757:9:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76687,"name":"uint256","nodeType":"ElementaryTypeName","src":"27757:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":76690,"initialValue":{"hexValue":"30","id":76689,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"27769:1:129","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"27757:13:129"},"loopExpression":{"expression":{"id":76696,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"27801:3:129","subExpression":{"id":76695,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76688,"src":"27801:1:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":76697,"nodeType":"ExpressionStatement","src":"27801:3:129"},"nodeType":"ForStatement","src":"27752:630:129"},{"assignments":[76734],"declarations":[{"constant":false,"id":76734,"mutability":"mutable","name":"newTotalVotingSupport","nameLocation":"28486:21:129","nodeType":"VariableDeclaration","scope":76769,"src":"28478:29:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76733,"name":"uint256","nodeType":"ElementaryTypeName","src":"28478:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":76741,"initialValue":{"arguments":[{"arguments":[{"id":76737,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76676,"src":"28544:7:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":76736,"name":"getTotalVoterStakePct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76604,"src":"28522:21:129","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view returns (uint256)"}},"id":76738,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28522:30:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":76739,"name":"deltaSupportSum","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76684,"src":"28554:15:129","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":76735,"name":"_applyDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77092,"src":"28510:11:129","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_int256_$returns$_t_uint256_$","typeString":"function (uint256,int256) pure returns (uint256)"}},"id":76740,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28510:60:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"28478:92:129"},{"assignments":[76743],"declarations":[{"constant":false,"id":76743,"mutability":"mutable","name":"participantBalance","nameLocation":"28660:18:129","nodeType":"VariableDeclaration","scope":76769,"src":"28652:26:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76742,"name":"uint256","nodeType":"ElementaryTypeName","src":"28652:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":76752,"initialValue":{"arguments":[{"id":76746,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76676,"src":"28724:7:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":76749,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"28741:4:129","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$77611","typeString":"contract CVStrategy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategy_$77611","typeString":"contract CVStrategy"}],"id":76748,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"28733:7:129","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":76747,"name":"address","nodeType":"ElementaryTypeName","src":"28733:7:129","typeDescriptions":{}}},"id":76750,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28733:13:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":76744,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75014,"src":"28681:17:129","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunity_$83082","typeString":"contract RegistryCommunity"}},"id":76745,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"28699:24:129","memberName":"getMemberPowerInStrategy","nodeType":"MemberAccess","referencedDeclaration":82423,"src":"28681:42:129","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view external returns (uint256)"}},"id":76751,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28681:66:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"28652:95:129"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":76755,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":76753,"name":"newTotalVotingSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76734,"src":"28913:21:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":76754,"name":"participantBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76743,"src":"28937:18:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"28913:42:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":76762,"nodeType":"IfStatement","src":"28909:147:129","trueBody":{"id":76761,"nodeType":"Block","src":"28957:99:129","statements":[{"errorCall":{"arguments":[{"id":76757,"name":"newTotalVotingSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76734,"src":"29003:21:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":76758,"name":"participantBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76743,"src":"29026:18:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":76756,"name":"NotEnoughPointsToSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74856,"src":"28978:24:129","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":76759,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28978:67:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":76760,"nodeType":"RevertStatement","src":"28971:74:129"}]}},{"expression":{"id":76767,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":76763,"name":"totalVoterStakePct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75026,"src":"29066:18:129","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":76765,"indexExpression":{"id":76764,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76676,"src":"29085:7:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"29066:27:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":76766,"name":"newTotalVotingSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76734,"src":"29096:21:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"29066:51:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":76768,"nodeType":"ExpressionStatement","src":"29066:51:129"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_check_before_addSupport","nameLocation":"27585:24:129","parameters":{"id":76681,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76676,"mutability":"mutable","name":"_sender","nameLocation":"27618:7:129","nodeType":"VariableDeclaration","scope":76770,"src":"27610:15:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":76675,"name":"address","nodeType":"ElementaryTypeName","src":"27610:7:129","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":76680,"mutability":"mutable","name":"_proposalSupport","nameLocation":"27667:16:129","nodeType":"VariableDeclaration","scope":76770,"src":"27627:56:129","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$74781_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport[]"},"typeName":{"baseType":{"id":76678,"nodeType":"UserDefinedTypeName","pathNode":{"id":76677,"name":"StrategyStruct.ProposalSupport","nameLocations":["27627:14:129","27642:15:129"],"nodeType":"IdentifierPath","referencedDeclaration":74781,"src":"27627:30:129"},"referencedDeclaration":74781,"src":"27627:30:129","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$74781_storage_ptr","typeString":"struct StrategyStruct.ProposalSupport"}},"id":76679,"nodeType":"ArrayTypeName","src":"27627:32:129","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$74781_storage_$dyn_storage_ptr","typeString":"struct StrategyStruct.ProposalSupport[]"}},"visibility":"internal"}],"src":"27609:75:129"},"returnParameters":{"id":76682,"nodeType":"ParameterList","parameters":[],"src":"27706:0:129"},"scope":77611,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":77057,"nodeType":"FunctionDefinition","src":"29130:3479:129","nodes":[],"body":{"id":77056,"nodeType":"Block","src":"29235:3374:129","nodes":[],"statements":[{"assignments":[76783],"declarations":[{"constant":false,"id":76783,"mutability":"mutable","name":"proposalsIds","nameLocation":"29262:12:129","nodeType":"VariableDeclaration","scope":77056,"src":"29245:29:129","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":76781,"name":"uint256","nodeType":"ElementaryTypeName","src":"29245:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":76782,"nodeType":"ArrayTypeName","src":"29245:9:129","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"id":76784,"nodeType":"VariableDeclarationStatement","src":"29245:29:129"},{"body":{"id":77054,"nodeType":"Block","src":"29338:3265:129","statements":[{"assignments":[76797],"declarations":[{"constant":false,"id":76797,"mutability":"mutable","name":"proposalId","nameLocation":"29360:10:129","nodeType":"VariableDeclaration","scope":77054,"src":"29352:18:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76796,"name":"uint256","nodeType":"ElementaryTypeName","src":"29352:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":76802,"initialValue":{"expression":{"baseExpression":{"id":76798,"name":"_proposalSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76776,"src":"29373:16:129","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$74781_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}},"id":76800,"indexExpression":{"id":76799,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76786,"src":"29390:1:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"29373:19:129","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$74781_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory"}},"id":76801,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"29393:10:129","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":74778,"src":"29373:30:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"29352:51:129"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":76806,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":76803,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76783,"src":"29476:12:129","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":76804,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"29489:6:129","memberName":"length","nodeType":"MemberAccess","src":"29476:19:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":76805,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29499:1:129","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"29476:24:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":76905,"nodeType":"Block","src":"29628:764:129","statements":[{"assignments":[76823],"declarations":[{"constant":false,"id":76823,"mutability":"mutable","name":"exist","nameLocation":"29651:5:129","nodeType":"VariableDeclaration","scope":76905,"src":"29646:10:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":76822,"name":"bool","nodeType":"ElementaryTypeName","src":"29646:4:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":76825,"initialValue":{"hexValue":"66616c7365","id":76824,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"29659:5:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"nodeType":"VariableDeclarationStatement","src":"29646:18:129"},{"body":{"id":76853,"nodeType":"Block","src":"29732:268:129","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":76841,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"id":76837,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76783,"src":"29783:12:129","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":76839,"indexExpression":{"id":76838,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76827,"src":"29796:1:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"29783:15:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":76840,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76797,"src":"29802:10:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"29783:29:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":76852,"nodeType":"IfStatement","src":"29779:203:129","trueBody":{"id":76851,"nodeType":"Block","src":"29814:168:129","statements":[{"expression":{"id":76844,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":76842,"name":"exist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76823,"src":"29840:5:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":76843,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"29848:4:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"29840:12:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":76845,"nodeType":"ExpressionStatement","src":"29840:12:129"},{"errorCall":{"arguments":[{"id":76847,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76797,"src":"29911:10:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":76848,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76827,"src":"29923:1:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":76846,"name":"ProposalSupportDuplicated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74874,"src":"29885:25:129","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":76849,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29885:40:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":76850,"nodeType":"RevertStatement","src":"29878:47:129"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":76833,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":76830,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76827,"src":"29702:1:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":76831,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76783,"src":"29706:12:129","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":76832,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"29719:6:129","memberName":"length","nodeType":"MemberAccess","src":"29706:19:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"29702:23:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":76854,"initializationExpression":{"assignments":[76827],"declarations":[{"constant":false,"id":76827,"mutability":"mutable","name":"j","nameLocation":"29695:1:129","nodeType":"VariableDeclaration","scope":76854,"src":"29687:9:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76826,"name":"uint256","nodeType":"ElementaryTypeName","src":"29687:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":76829,"initialValue":{"hexValue":"30","id":76828,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29699:1:129","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"29687:13:129"},"loopExpression":{"expression":{"id":76835,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"29727:3:129","subExpression":{"id":76834,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76827,"src":"29727:1:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":76836,"nodeType":"ExpressionStatement","src":"29727:3:129"},"nodeType":"ForStatement","src":"29682:318:129"},{"condition":{"id":76856,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"30021:6:129","subExpression":{"id":76855,"name":"exist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76823,"src":"30022:5:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":76904,"nodeType":"IfStatement","src":"30017:361:129","trueBody":{"id":76903,"nodeType":"Block","src":"30029:349:129","statements":[{"assignments":[76861],"declarations":[{"constant":false,"id":76861,"mutability":"mutable","name":"temp","nameLocation":"30068:4:129","nodeType":"VariableDeclaration","scope":76903,"src":"30051:21:129","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":76859,"name":"uint256","nodeType":"ElementaryTypeName","src":"30051:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":76860,"nodeType":"ArrayTypeName","src":"30051:9:129","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"id":76870,"initialValue":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":76868,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":76865,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76783,"src":"30089:12:129","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":76866,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30102:6:129","memberName":"length","nodeType":"MemberAccess","src":"30089:19:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"31","id":76867,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"30111:1:129","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"30089:23:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":76864,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"30075:13:129","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (uint256[] memory)"},"typeName":{"baseType":{"id":76862,"name":"uint256","nodeType":"ElementaryTypeName","src":"30079:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":76863,"nodeType":"ArrayTypeName","src":"30079:9:129","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}}},"id":76869,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30075:38:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"nodeType":"VariableDeclarationStatement","src":"30051:62:129"},{"body":{"id":76890,"nodeType":"Block","src":"30185:74:129","statements":[{"expression":{"id":76888,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":76882,"name":"temp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76861,"src":"30211:4:129","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":76884,"indexExpression":{"id":76883,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76872,"src":"30216:1:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"30211:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"baseExpression":{"id":76885,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76783,"src":"30221:12:129","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":76887,"indexExpression":{"id":76886,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76872,"src":"30234:1:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"30221:15:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"30211:25:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":76889,"nodeType":"ExpressionStatement","src":"30211:25:129"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":76878,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":76875,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76872,"src":"30155:1:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":76876,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76783,"src":"30159:12:129","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":76877,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30172:6:129","memberName":"length","nodeType":"MemberAccess","src":"30159:19:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"30155:23:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":76891,"initializationExpression":{"assignments":[76872],"declarations":[{"constant":false,"id":76872,"mutability":"mutable","name":"j","nameLocation":"30148:1:129","nodeType":"VariableDeclaration","scope":76891,"src":"30140:9:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76871,"name":"uint256","nodeType":"ElementaryTypeName","src":"30140:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":76874,"initialValue":{"hexValue":"30","id":76873,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"30152:1:129","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"30140:13:129"},"loopExpression":{"expression":{"id":76880,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"30180:3:129","subExpression":{"id":76879,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76872,"src":"30180:1:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":76881,"nodeType":"ExpressionStatement","src":"30180:3:129"},"nodeType":"ForStatement","src":"30135:124:129"},{"expression":{"id":76897,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":76892,"name":"temp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76861,"src":"30280:4:129","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":76895,"indexExpression":{"expression":{"id":76893,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76783,"src":"30285:12:129","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":76894,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30298:6:129","memberName":"length","nodeType":"MemberAccess","src":"30285:19:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"30280:25:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":76896,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76797,"src":"30308:10:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"30280:38:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":76898,"nodeType":"ExpressionStatement","src":"30280:38:129"},{"expression":{"id":76901,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":76899,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76783,"src":"30340:12:129","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":76900,"name":"temp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76861,"src":"30355:4:129","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"src":"30340:19:129","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":76902,"nodeType":"ExpressionStatement","src":"30340:19:129"}]}}]},"id":76906,"nodeType":"IfStatement","src":"29472:920:129","trueBody":{"id":76821,"nodeType":"Block","src":"29502:120:129","statements":[{"expression":{"id":76813,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":76807,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76783,"src":"29520:12:129","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"31","id":76811,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29549:1:129","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":76810,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"29535:13:129","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (uint256[] memory)"},"typeName":{"baseType":{"id":76808,"name":"uint256","nodeType":"ElementaryTypeName","src":"29539:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":76809,"nodeType":"ArrayTypeName","src":"29539:9:129","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}}},"id":76812,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29535:16:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"src":"29520:31:129","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":76814,"nodeType":"ExpressionStatement","src":"29520:31:129"},{"expression":{"id":76819,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":76815,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76783,"src":"29569:12:129","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":76817,"indexExpression":{"hexValue":"30","id":76816,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29582:1:129","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"29569:15:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":76818,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76797,"src":"29587:10:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"29569:28:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":76820,"nodeType":"ExpressionStatement","src":"29569:28:129"}]}},{"assignments":[76908],"declarations":[{"constant":false,"id":76908,"mutability":"mutable","name":"delta","nameLocation":"30412:5:129","nodeType":"VariableDeclaration","scope":77054,"src":"30405:12:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":76907,"name":"int256","nodeType":"ElementaryTypeName","src":"30405:6:129","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"id":76913,"initialValue":{"expression":{"baseExpression":{"id":76909,"name":"_proposalSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76776,"src":"30420:16:129","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$74781_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}},"id":76911,"indexExpression":{"id":76910,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76786,"src":"30437:1:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"30420:19:129","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$74781_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory"}},"id":76912,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30440:12:129","memberName":"deltaSupport","nodeType":"MemberAccess","referencedDeclaration":74780,"src":"30420:32:129","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"VariableDeclarationStatement","src":"30405:47:129"},{"assignments":[76918],"declarations":[{"constant":false,"id":76918,"mutability":"mutable","name":"proposal","nameLocation":"30499:8:129","nodeType":"VariableDeclaration","scope":77054,"src":"30467:40:129","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":76917,"nodeType":"UserDefinedTypeName","pathNode":{"id":76916,"name":"StrategyStruct.Proposal","nameLocations":["30467:14:129","30482:8:129"],"nodeType":"IdentifierPath","referencedDeclaration":74776,"src":"30467:23:129"},"referencedDeclaration":74776,"src":"30467:23:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":76922,"initialValue":{"baseExpression":{"id":76919,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75022,"src":"30510:9:129","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$74776_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":76921,"indexExpression":{"id":76920,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76797,"src":"30520:10:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"30510:21:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"30467:64:129"},{"assignments":[76924],"declarations":[{"constant":false,"id":76924,"mutability":"mutable","name":"previousStakedPoints","nameLocation":"30641:20:129","nodeType":"VariableDeclaration","scope":77054,"src":"30633:28:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76923,"name":"uint256","nodeType":"ElementaryTypeName","src":"30633:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":76929,"initialValue":{"baseExpression":{"expression":{"id":76925,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76918,"src":"30664:8:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":76926,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30673:17:129","memberName":"voterStakedPoints","nodeType":"MemberAccess","referencedDeclaration":74772,"src":"30664:26:129","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":76928,"indexExpression":{"id":76927,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76772,"src":"30691:7:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"30664:35:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"30633:66:129"},{"assignments":[76931],"declarations":[{"constant":false,"id":76931,"mutability":"mutable","name":"stakedPoints","nameLocation":"30872:12:129","nodeType":"VariableDeclaration","scope":77054,"src":"30864:20:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76930,"name":"uint256","nodeType":"ElementaryTypeName","src":"30864:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":76936,"initialValue":{"arguments":[{"id":76933,"name":"previousStakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76924,"src":"30899:20:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":76934,"name":"delta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76908,"src":"30921:5:129","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":76932,"name":"_applyDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77092,"src":"30887:11:129","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_int256_$returns$_t_uint256_$","typeString":"function (uint256,int256) pure returns (uint256)"}},"id":76935,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30887:40:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"30864:63:129"},{"expression":{"id":76943,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":76937,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76918,"src":"31062:8:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":76940,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"31071:17:129","memberName":"voterStakedPoints","nodeType":"MemberAccess","referencedDeclaration":74772,"src":"31062:26:129","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":76941,"indexExpression":{"id":76939,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76772,"src":"31089:7:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"31062:35:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":76942,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76931,"src":"31100:12:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"31062:50:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":76944,"nodeType":"ExpressionStatement","src":"31062:50:129"},{"assignments":[76946],"declarations":[{"constant":false,"id":76946,"mutability":"mutable","name":"hasProposal","nameLocation":"31351:11:129","nodeType":"VariableDeclaration","scope":77054,"src":"31346:16:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":76945,"name":"bool","nodeType":"ElementaryTypeName","src":"31346:4:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":76948,"initialValue":{"hexValue":"66616c7365","id":76947,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"31365:5:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"nodeType":"VariableDeclarationStatement","src":"31346:24:129"},{"body":{"id":76977,"nodeType":"Block","src":"31451:179:129","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":76969,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"baseExpression":{"id":76962,"name":"voterStakedProposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75031,"src":"31473:20:129","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$","typeString":"mapping(address => uint256[] storage ref)"}},"id":76964,"indexExpression":{"id":76963,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76772,"src":"31494:7:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"31473:29:129","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage","typeString":"uint256[] storage ref"}},"id":76966,"indexExpression":{"id":76965,"name":"k","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76950,"src":"31503:1:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"31473:32:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":76967,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76918,"src":"31509:8:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":76968,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"31518:10:129","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":74751,"src":"31509:19:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"31473:55:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":76976,"nodeType":"IfStatement","src":"31469:147:129","trueBody":{"id":76975,"nodeType":"Block","src":"31530:86:129","statements":[{"expression":{"id":76972,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":76970,"name":"hasProposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76946,"src":"31552:11:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":76971,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"31566:4:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"31552:18:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":76973,"nodeType":"ExpressionStatement","src":"31552:18:129"},{"id":76974,"nodeType":"Break","src":"31592:5:129"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":76958,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":76953,"name":"k","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76950,"src":"31404:1:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"baseExpression":{"id":76954,"name":"voterStakedProposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75031,"src":"31408:20:129","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$","typeString":"mapping(address => uint256[] storage ref)"}},"id":76956,"indexExpression":{"id":76955,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76772,"src":"31429:7:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"31408:29:129","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage","typeString":"uint256[] storage ref"}},"id":76957,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"31438:6:129","memberName":"length","nodeType":"MemberAccess","src":"31408:36:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"31404:40:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":76978,"initializationExpression":{"assignments":[76950],"declarations":[{"constant":false,"id":76950,"mutability":"mutable","name":"k","nameLocation":"31397:1:129","nodeType":"VariableDeclaration","scope":76978,"src":"31389:9:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76949,"name":"uint256","nodeType":"ElementaryTypeName","src":"31389:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":76952,"initialValue":{"hexValue":"30","id":76951,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"31401:1:129","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"31389:13:129"},"loopExpression":{"expression":{"id":76960,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"31446:3:129","subExpression":{"id":76959,"name":"k","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76950,"src":"31446:1:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":76961,"nodeType":"ExpressionStatement","src":"31446:3:129"},"nodeType":"ForStatement","src":"31384:246:129"},{"condition":{"id":76980,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"31647:12:129","subExpression":{"id":76979,"name":"hasProposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76946,"src":"31648:11:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":76990,"nodeType":"IfStatement","src":"31643:106:129","trueBody":{"id":76989,"nodeType":"Block","src":"31661:88:129","statements":[{"expression":{"arguments":[{"expression":{"id":76985,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76918,"src":"31714:8:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":76986,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"31723:10:129","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":74751,"src":"31714:19:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"baseExpression":{"id":76981,"name":"voterStakedProposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75031,"src":"31679:20:129","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$","typeString":"mapping(address => uint256[] storage ref)"}},"id":76983,"indexExpression":{"id":76982,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76772,"src":"31700:7:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"31679:29:129","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage","typeString":"uint256[] storage ref"}},"id":76984,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"31709:4:129","memberName":"push","nodeType":"MemberAccess","src":"31679:34:129","typeDescriptions":{"typeIdentifier":"t_function_arraypush_nonpayable$_t_array$_t_uint256_$dyn_storage_ptr_$_t_uint256_$returns$__$attached_to$_t_array$_t_uint256_$dyn_storage_ptr_$","typeString":"function (uint256[] storage pointer,uint256)"}},"id":76987,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31679:55:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":76988,"nodeType":"ExpressionStatement","src":"31679:55:129"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":76993,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":76991,"name":"previousStakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76924,"src":"31904:20:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"id":76992,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76931,"src":"31928:12:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"31904:36:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":77023,"nodeType":"Block","src":"32109:161:129","statements":[{"expression":{"id":77013,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":77009,"name":"totalStaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74995,"src":"32127:11:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":77012,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":77010,"name":"previousStakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76924,"src":"32142:20:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":77011,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76931,"src":"32165:12:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"32142:35:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"32127:50:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":77014,"nodeType":"ExpressionStatement","src":"32127:50:129"},{"expression":{"id":77021,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":77015,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76918,"src":"32195:8:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":77017,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"32204:12:129","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":74755,"src":"32195:21:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":77020,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":77018,"name":"previousStakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76924,"src":"32220:20:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":77019,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76931,"src":"32243:12:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"32220:35:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"32195:60:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":77022,"nodeType":"ExpressionStatement","src":"32195:60:129"}]},"id":77024,"nodeType":"IfStatement","src":"31900:370:129","trueBody":{"id":77008,"nodeType":"Block","src":"31942:161:129","statements":[{"expression":{"id":76998,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":76994,"name":"totalStaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74995,"src":"31960:11:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":76997,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":76995,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76931,"src":"31975:12:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":76996,"name":"previousStakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76924,"src":"31990:20:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"31975:35:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"31960:50:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":76999,"nodeType":"ExpressionStatement","src":"31960:50:129"},{"expression":{"id":77006,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":77000,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76918,"src":"32028:8:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":77002,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"32037:12:129","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":74755,"src":"32028:21:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":77005,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":77003,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76931,"src":"32053:12:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":77004,"name":"previousStakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76924,"src":"32068:20:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"32053:35:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"32028:60:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":77007,"nodeType":"ExpressionStatement","src":"32028:60:129"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":77028,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":77025,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76918,"src":"32287:8:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":77026,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"32296:9:129","memberName":"blockLast","nodeType":"MemberAccess","referencedDeclaration":74765,"src":"32287:18:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":77027,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"32309:1:129","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"32287:23:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":77052,"nodeType":"Block","src":"32384:209:129","statements":[{"expression":{"arguments":[{"id":77038,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76918,"src":"32429:8:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},{"id":77039,"name":"previousStakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76924,"src":"32439:20:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":77037,"name":"_calculateAndSetConviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77385,"src":"32402:26:129","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_Proposal_$74776_storage_ptr_$_t_uint256_$returns$__$","typeString":"function (struct StrategyStruct.Proposal storage pointer,uint256)"}},"id":77040,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32402:58:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":77041,"nodeType":"ExpressionStatement","src":"32402:58:129"},{"eventCall":{"arguments":[{"id":77043,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76772,"src":"32496:7:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":77044,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76797,"src":"32505:10:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":77045,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76931,"src":"32517:12:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":77046,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76918,"src":"32531:8:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":77047,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"32540:12:129","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":74755,"src":"32531:21:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":77048,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76918,"src":"32554:8:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":77049,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"32563:14:129","memberName":"convictionLast","nodeType":"MemberAccess","referencedDeclaration":74757,"src":"32554:23:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":77042,"name":"SupportAdded","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74943,"src":"32483:12:129","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (address,uint256,uint256,uint256,uint256)"}},"id":77050,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32483:95:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":77051,"nodeType":"EmitStatement","src":"32478:100:129"}]},"id":77053,"nodeType":"IfStatement","src":"32283:310:129","trueBody":{"id":77036,"nodeType":"Block","src":"32312:66:129","statements":[{"expression":{"id":77034,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":77029,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76918,"src":"32330:8:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":77031,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"32339:9:129","memberName":"blockLast","nodeType":"MemberAccess","referencedDeclaration":74765,"src":"32330:18:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":77032,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"32351:5:129","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":77033,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"32357:6:129","memberName":"number","nodeType":"MemberAccess","src":"32351:12:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"32330:33:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":77035,"nodeType":"ExpressionStatement","src":"32330:33:129"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":76792,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":76789,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76786,"src":"29304:1:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":76790,"name":"_proposalSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76776,"src":"29308:16:129","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$74781_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}},"id":76791,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"29325:6:129","memberName":"length","nodeType":"MemberAccess","src":"29308:23:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"29304:27:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":77055,"initializationExpression":{"assignments":[76786],"declarations":[{"constant":false,"id":76786,"mutability":"mutable","name":"i","nameLocation":"29297:1:129","nodeType":"VariableDeclaration","scope":77055,"src":"29289:9:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76785,"name":"uint256","nodeType":"ElementaryTypeName","src":"29289:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":76788,"initialValue":{"hexValue":"30","id":76787,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29301:1:129","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"29289:13:129"},"loopExpression":{"expression":{"id":76794,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"29333:3:129","subExpression":{"id":76793,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76786,"src":"29333:1:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":76795,"nodeType":"ExpressionStatement","src":"29333:3:129"},"nodeType":"ForStatement","src":"29284:3319:129"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_addSupport","nameLocation":"29139:11:129","parameters":{"id":76777,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76772,"mutability":"mutable","name":"_sender","nameLocation":"29159:7:129","nodeType":"VariableDeclaration","scope":77057,"src":"29151:15:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":76771,"name":"address","nodeType":"ElementaryTypeName","src":"29151:7:129","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":76776,"mutability":"mutable","name":"_proposalSupport","nameLocation":"29208:16:129","nodeType":"VariableDeclaration","scope":77057,"src":"29168:56:129","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$74781_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport[]"},"typeName":{"baseType":{"id":76774,"nodeType":"UserDefinedTypeName","pathNode":{"id":76773,"name":"StrategyStruct.ProposalSupport","nameLocations":["29168:14:129","29183:15:129"],"nodeType":"IdentifierPath","referencedDeclaration":74781,"src":"29168:30:129"},"referencedDeclaration":74781,"src":"29168:30:129","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$74781_storage_ptr","typeString":"struct StrategyStruct.ProposalSupport"}},"id":76775,"nodeType":"ArrayTypeName","src":"29168:32:129","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$74781_storage_$dyn_storage_ptr","typeString":"struct StrategyStruct.ProposalSupport[]"}},"visibility":"internal"}],"src":"29150:75:129"},"returnParameters":{"id":76778,"nodeType":"ParameterList","parameters":[],"src":"29235:0:129"},"scope":77611,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":77092,"nodeType":"FunctionDefinition","src":"32615:276:129","nodes":[],"body":{"id":77091,"nodeType":"Block","src":"32701:190:129","nodes":[],"statements":[{"assignments":[77067],"declarations":[{"constant":false,"id":77067,"mutability":"mutable","name":"result","nameLocation":"32718:6:129","nodeType":"VariableDeclaration","scope":77091,"src":"32711:13:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":77066,"name":"int256","nodeType":"ElementaryTypeName","src":"32711:6:129","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"id":77074,"initialValue":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":77073,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":77070,"name":"_support","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77059,"src":"32734:8:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":77069,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"32727:6:129","typeDescriptions":{"typeIdentifier":"t_type$_t_int256_$","typeString":"type(int256)"},"typeName":{"id":77068,"name":"int256","nodeType":"ElementaryTypeName","src":"32727:6:129","typeDescriptions":{}}},"id":77071,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32727:16:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":77072,"name":"_delta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77061,"src":"32746:6:129","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"32727:25:129","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"VariableDeclarationStatement","src":"32711:41:129"},{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":77077,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":77075,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77067,"src":"32767:6:129","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"hexValue":"30","id":77076,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"32776:1:129","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"32767:10:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":77085,"nodeType":"IfStatement","src":"32763:90:129","trueBody":{"id":77084,"nodeType":"Block","src":"32779:74:129","statements":[{"errorCall":{"arguments":[{"id":77079,"name":"_support","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77059,"src":"32817:8:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":77080,"name":"_delta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77061,"src":"32827:6:129","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":77081,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77067,"src":"32835:6:129","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":77078,"name":"SupportUnderflow","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74846,"src":"32800:16:129","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_int256_$_t_int256_$returns$__$","typeString":"function (uint256,int256,int256) pure"}},"id":77082,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32800:42:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":77083,"nodeType":"RevertStatement","src":"32793:49:129"}]}},{"expression":{"arguments":[{"id":77088,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77067,"src":"32877:6:129","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":77087,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"32869:7:129","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":77086,"name":"uint256","nodeType":"ElementaryTypeName","src":"32869:7:129","typeDescriptions":{}}},"id":77089,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32869:15:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":77065,"id":77090,"nodeType":"Return","src":"32862:22:129"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_applyDelta","nameLocation":"32624:11:129","parameters":{"id":77062,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77059,"mutability":"mutable","name":"_support","nameLocation":"32644:8:129","nodeType":"VariableDeclaration","scope":77092,"src":"32636:16:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77058,"name":"uint256","nodeType":"ElementaryTypeName","src":"32636:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":77061,"mutability":"mutable","name":"_delta","nameLocation":"32661:6:129","nodeType":"VariableDeclaration","scope":77092,"src":"32654:13:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":77060,"name":"int256","nodeType":"ElementaryTypeName","src":"32654:6:129","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"32635:33:129"},"returnParameters":{"id":77065,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77064,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":77092,"src":"32692:7:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77063,"name":"uint256","nodeType":"ElementaryTypeName","src":"32692:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"32691:9:129"},"scope":77611,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":77148,"nodeType":"FunctionDefinition","src":"33308:1145:129","nodes":[],"body":{"id":77147,"nodeType":"Block","src":"33455:998:129","nodes":[],"statements":[{"assignments":[77105],"declarations":[{"constant":false,"id":77105,"mutability":"mutable","name":"t","nameLocation":"33473:1:129","nodeType":"VariableDeclaration","scope":77147,"src":"33465:9:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77104,"name":"uint256","nodeType":"ElementaryTypeName","src":"33465:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":77107,"initialValue":{"id":77106,"name":"_timePassed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77095,"src":"33477:11:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"33465:23:129"},{"assignments":[77109],"declarations":[{"constant":false,"id":77109,"mutability":"mutable","name":"atTWO_128","nameLocation":"33811:9:129","nodeType":"VariableDeclaration","scope":77147,"src":"33803:17:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77108,"name":"uint256","nodeType":"ElementaryTypeName","src":"33803:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":77119,"initialValue":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":77116,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":77113,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":77111,"name":"decay","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74986,"src":"33829:5:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"313238","id":77112,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"33838:3:129","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"33829:12:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":77114,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"33828:14:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":77115,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74972,"src":"33845:1:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"33828:18:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":77117,"name":"t","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77105,"src":"33848:1:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":77110,"name":"_pow","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77336,"src":"33823:4:129","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":77118,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33823:27:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"33803:47:129"},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":77145,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":77142,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":77139,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":77122,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":77120,"name":"atTWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77109,"src":"34346:9:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":77121,"name":"_lastConv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77097,"src":"34358:9:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"34346:21:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":77123,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"34345:23:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":77137,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":77131,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":77126,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":77124,"name":"_oldAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77099,"src":"34373:10:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":77125,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74972,"src":"34386:1:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"34373:14:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":77129,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":77127,"name":"TWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74975,"src":"34391:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":77128,"name":"atTWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77109,"src":"34401:9:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"34391:19:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":77130,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"34390:21:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"34373:38:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":77132,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"34372:40:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":77135,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":77133,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74972,"src":"34416:1:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":77134,"name":"decay","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74986,"src":"34420:5:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"34416:9:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":77136,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"34415:11:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"34372:54:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":77138,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"34371:56:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"34345:82:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":77140,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"34344:84:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":77141,"name":"TWO_127","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74978,"src":"34431:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"34344:94:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":77143,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"34343:96:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"313238","id":77144,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"34443:3:129","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"34343:103:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":77103,"id":77146,"nodeType":"Return","src":"34336:110:129"}]},"documentation":{"id":77093,"nodeType":"StructuredDocumentation","src":"32897:406:129","text":" @dev Conviction formula: a^t * y(0) + x * (1 - a^t) / (1 - a)\n Solidity implementation: y = (2^128 * a^t * y0 + x * D * (2^128 - 2^128 * a^t) / (D - aD) + 2^127) / 2^128\n @param _timePassed Number of blocks since last conviction record\n @param _lastConv Last conviction record\n @param _oldAmount Amount of tokens staked until now\n @return Current conviction"},"functionSelector":"346db8cb","implemented":true,"kind":"function","modifiers":[],"name":"calculateConviction","nameLocation":"33317:19:129","parameters":{"id":77100,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77095,"mutability":"mutable","name":"_timePassed","nameLocation":"33345:11:129","nodeType":"VariableDeclaration","scope":77148,"src":"33337:19:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77094,"name":"uint256","nodeType":"ElementaryTypeName","src":"33337:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":77097,"mutability":"mutable","name":"_lastConv","nameLocation":"33366:9:129","nodeType":"VariableDeclaration","scope":77148,"src":"33358:17:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77096,"name":"uint256","nodeType":"ElementaryTypeName","src":"33358:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":77099,"mutability":"mutable","name":"_oldAmount","nameLocation":"33385:10:129","nodeType":"VariableDeclaration","scope":77148,"src":"33377:18:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77098,"name":"uint256","nodeType":"ElementaryTypeName","src":"33377:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"33336:60:129"},"returnParameters":{"id":77103,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77102,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":77148,"src":"33442:7:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77101,"name":"uint256","nodeType":"ElementaryTypeName","src":"33442:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"33441:9:129"},"scope":77611,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":77236,"nodeType":"FunctionDefinition","src":"35034:1482:129","nodes":[],"body":{"id":77235,"nodeType":"Block","src":"35129:1387:129","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":77158,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":77156,"name":"poolAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3343,"src":"35263:10:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"hexValue":"30","id":77157,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"35277:1:129","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"35263:15:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":77163,"nodeType":"IfStatement","src":"35259:66:129","trueBody":{"id":77162,"nodeType":"Block","src":"35280:45:129","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":77159,"name":"PoolIsEmpty","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74824,"src":"35301:11:129","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":77160,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35301:13:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":77161,"nodeType":"RevertStatement","src":"35294:20:129"}]}},{"condition":{"arguments":[{"id":77165,"name":"_requestedAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77151,"src":"35781:16:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":77164,"name":"_isOverMaxRatio","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76674,"src":"35765:15:129","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view returns (bool)"}},"id":77166,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35765:33:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":77171,"nodeType":"IfStatement","src":"35761:91:129","trueBody":{"id":77170,"nodeType":"Block","src":"35800:52:129","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":77167,"name":"AmountOverMaxRatio","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74832,"src":"35821:18:129","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":77168,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35821:20:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":77169,"nodeType":"RevertStatement","src":"35814:27:129"}]}},{"assignments":[77173],"declarations":[{"constant":false,"id":77173,"mutability":"mutable","name":"denom","nameLocation":"36008:5:129","nodeType":"VariableDeclaration","scope":77235,"src":"36000:13:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77172,"name":"uint256","nodeType":"ElementaryTypeName","src":"36000:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":77191,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":77190,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":77181,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":77178,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":77174,"name":"maxRatio","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74988,"src":"36017:8:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"commonType":{"typeIdentifier":"t_rational_18446744073709551616_by_1","typeString":"int_const 18446744073709551616"},"id":77177,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"32","id":77175,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"36028:1:129","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"3634","id":77176,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"36033:2:129","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"36028:7:129","typeDescriptions":{"typeIdentifier":"t_rational_18446744073709551616_by_1","typeString":"int_const 18446744073709551616"}},"src":"36017:18:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":77179,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"36016:20:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":77180,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74972,"src":"36039:1:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"36016:24:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":77189,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":77186,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":77182,"name":"_requestedAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77151,"src":"36044:16:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"commonType":{"typeIdentifier":"t_rational_18446744073709551616_by_1","typeString":"int_const 18446744073709551616"},"id":77185,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"32","id":77183,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"36063:1:129","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"3634","id":77184,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"36068:2:129","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"36063:7:129","typeDescriptions":{"typeIdentifier":"t_rational_18446744073709551616_by_1","typeString":"int_const 18446744073709551616"}},"src":"36044:26:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":77187,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"36043:28:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":77188,"name":"poolAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3343,"src":"36074:10:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"36043:41:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"36016:68:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"36000:84:129"},{"expression":{"id":77224,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":77192,"name":"_threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77154,"src":"36094:10:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":77223,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":77220,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":77216,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":77210,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":77207,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":77198,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":77195,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":77193,"name":"weight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74990,"src":"36126:6:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"313238","id":77194,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"36136:3:129","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"36126:13:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":77196,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"36125:15:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":77197,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74972,"src":"36143:1:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"36125:19:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":77199,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"36124:21:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":77205,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":77202,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":77200,"name":"denom","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77173,"src":"36150:5:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":77201,"name":"denom","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77173,"src":"36158:5:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"36150:13:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":77203,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"36149:15:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"3634","id":77204,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"36168:2:129","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"36149:21:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":77206,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"36148:23:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"36124:47:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":77208,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"36123:49:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":77209,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74972,"src":"36175:1:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"36123:53:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":77211,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"36122:55:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":77214,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":77212,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74972,"src":"36181:1:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":77213,"name":"decay","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74986,"src":"36185:5:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"36181:9:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":77215,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"36180:11:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"36122:69:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":77217,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"36121:71:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":77218,"name":"totalEffectiveActivePoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77344,"src":"36195:26:129","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint256_$","typeString":"function () view returns (uint256)"}},"id":77219,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36195:28:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"36121:102:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":77221,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"36107:126:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"3634","id":77222,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"36237:2:129","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"36107:132:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"36094:145:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":77225,"nodeType":"ExpressionStatement","src":"36094:145:129"},{"expression":{"id":77233,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":77226,"name":"_threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77154,"src":"36429:10:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":77229,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":77227,"name":"_threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77154,"src":"36442:10:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":77228,"name":"_minThresholdPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75000,"src":"36455:19:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"36442:32:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"id":77231,"name":"_minThresholdPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75000,"src":"36490:19:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":77232,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"36442:67:129","trueExpression":{"id":77230,"name":"_threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77154,"src":"36477:10:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"36429:80:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":77234,"nodeType":"ExpressionStatement","src":"36429:80:129"}]},"documentation":{"id":77149,"nodeType":"StructuredDocumentation","src":"34459:570:129","text":" @dev Formula: ρ * totalStaked / (1 - a) / (β - requestedAmount / total)**2\n For the Solidity implementation we amplify ρ and β and simplify the formula:\n weight = ρ * D\n maxRatio = β * D\n decay = a * D\n threshold = weight * totalStaked * D ** 2 * funds ** 2 / (D - decay) / (maxRatio * funds - requestedAmount * D) ** 2\n @param _requestedAmount Requested amount of tokens on certain proposal\n @return _threshold Threshold a proposal's conviction should surpass in order to be able to\n executed it."},"functionSelector":"59a5db8b","implemented":true,"kind":"function","modifiers":[],"name":"calculateThreshold","nameLocation":"35043:18:129","parameters":{"id":77152,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77151,"mutability":"mutable","name":"_requestedAmount","nameLocation":"35070:16:129","nodeType":"VariableDeclaration","scope":77236,"src":"35062:24:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77150,"name":"uint256","nodeType":"ElementaryTypeName","src":"35062:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"35061:26:129"},"returnParameters":{"id":77155,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77154,"mutability":"mutable","name":"_threshold","nameLocation":"35117:10:129","nodeType":"VariableDeclaration","scope":77236,"src":"35109:18:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77153,"name":"uint256","nodeType":"ElementaryTypeName","src":"35109:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"35108:20:129"},"scope":77611,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":77271,"nodeType":"FunctionDefinition","src":"36777:269:129","nodes":[],"body":{"id":77270,"nodeType":"Block","src":"36855:191:129","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":77249,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":77247,"name":"_a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77239,"src":"36873:2:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"id":77248,"name":"TWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74975,"src":"36879:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"36873:13:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5f612073686f756c64206265206c657373207468616e206f7220657175616c20746f20325e313238","id":77250,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"36888:42:129","typeDescriptions":{"typeIdentifier":"t_stringliteral_44e2d05298e19dba9341288d7967f4ffbb5a083f725e2470963d4d2d80484153","typeString":"literal_string \"_a should be less than or equal to 2^128\""},"value":"_a should be less than or equal to 2^128"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_44e2d05298e19dba9341288d7967f4ffbb5a083f725e2470963d4d2d80484153","typeString":"literal_string \"_a should be less than or equal to 2^128\""}],"id":77246,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"36865:7:129","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":77251,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36865:66:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":77252,"nodeType":"ExpressionStatement","src":"36865:66:129"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":77256,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":77254,"name":"_b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77241,"src":"36949:2:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":77255,"name":"TWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74975,"src":"36954:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"36949:12:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5f622073686f756c64206265206c657373207468616e20325e313238","id":77257,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"36963:30:129","typeDescriptions":{"typeIdentifier":"t_stringliteral_94029ed39d36fd1673853e0d61636cb1f54d05801d9baceb39b21e0f4420d664","typeString":"literal_string \"_b should be less than 2^128\""},"value":"_b should be less than 2^128"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_94029ed39d36fd1673853e0d61636cb1f54d05801d9baceb39b21e0f4420d664","typeString":"literal_string \"_b should be less than 2^128\""}],"id":77253,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"36941:7:129","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":77258,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36941:53:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":77259,"nodeType":"ExpressionStatement","src":"36941:53:129"},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":77268,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":77265,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":77262,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":77260,"name":"_a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77239,"src":"37013:2:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":77261,"name":"_b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77241,"src":"37018:2:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"37013:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":77263,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"37012:9:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":77264,"name":"TWO_127","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74978,"src":"37024:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"37012:19:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":77266,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"37011:21:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"313238","id":77267,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"37036:3:129","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"37011:28:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":77245,"id":77269,"nodeType":"Return","src":"37004:35:129"}]},"documentation":{"id":77237,"nodeType":"StructuredDocumentation","src":"36522:250:129","text":" Multiply _a by _b / 2^128. Parameter _a should be less than or equal to\n 2^128 and parameter _b should be less than 2^128.\n @param _a left argument\n @param _b right argument\n @return _result _a * _b / 2^128"},"implemented":true,"kind":"function","modifiers":[],"name":"_mul","nameLocation":"36786:4:129","parameters":{"id":77242,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77239,"mutability":"mutable","name":"_a","nameLocation":"36799:2:129","nodeType":"VariableDeclaration","scope":77271,"src":"36791:10:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77238,"name":"uint256","nodeType":"ElementaryTypeName","src":"36791:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":77241,"mutability":"mutable","name":"_b","nameLocation":"36811:2:129","nodeType":"VariableDeclaration","scope":77271,"src":"36803:10:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77240,"name":"uint256","nodeType":"ElementaryTypeName","src":"36803:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"36790:24:129"},"returnParameters":{"id":77245,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77244,"mutability":"mutable","name":"_result","nameLocation":"36846:7:129","nodeType":"VariableDeclaration","scope":77271,"src":"36838:15:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77243,"name":"uint256","nodeType":"ElementaryTypeName","src":"36838:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"36837:17:129"},"scope":77611,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":77336,"nodeType":"FunctionDefinition","src":"37268:447:129","nodes":[],"body":{"id":77335,"nodeType":"Block","src":"37346:369:129","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":77284,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":77282,"name":"_a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77274,"src":"37364:2:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":77283,"name":"TWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74975,"src":"37369:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"37364:12:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5f612073686f756c64206265206c657373207468616e20325e313238","id":77285,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"37378:30:129","typeDescriptions":{"typeIdentifier":"t_stringliteral_8cb59667c527f8a0ca0170161b6ece5e9864e8aa2d080a486f0167056517515f","typeString":"literal_string \"_a should be less than 2^128\""},"value":"_a should be less than 2^128"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_8cb59667c527f8a0ca0170161b6ece5e9864e8aa2d080a486f0167056517515f","typeString":"literal_string \"_a should be less than 2^128\""}],"id":77281,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"37356:7:129","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":77286,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37356:53:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":77287,"nodeType":"ExpressionStatement","src":"37356:53:129"},{"assignments":[77289],"declarations":[{"constant":false,"id":77289,"mutability":"mutable","name":"a","nameLocation":"37427:1:129","nodeType":"VariableDeclaration","scope":77335,"src":"37419:9:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77288,"name":"uint256","nodeType":"ElementaryTypeName","src":"37419:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":77291,"initialValue":{"id":77290,"name":"_a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77274,"src":"37431:2:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"37419:14:129"},{"assignments":[77293],"declarations":[{"constant":false,"id":77293,"mutability":"mutable","name":"b","nameLocation":"37451:1:129","nodeType":"VariableDeclaration","scope":77335,"src":"37443:9:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77292,"name":"uint256","nodeType":"ElementaryTypeName","src":"37443:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":77295,"initialValue":{"id":77294,"name":"_b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77276,"src":"37455:2:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"37443:14:129"},{"expression":{"id":77298,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":77296,"name":"_result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77279,"src":"37467:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":77297,"name":"TWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74975,"src":"37477:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"37467:17:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":77299,"nodeType":"ExpressionStatement","src":"37467:17:129"},{"body":{"id":77333,"nodeType":"Block","src":"37508:201:129","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":77307,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":77305,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":77303,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77293,"src":"37526:1:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"hexValue":"31","id":77304,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"37530:1:129","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"37526:5:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":77306,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"37535:1:129","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"37526:10:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":77331,"nodeType":"Block","src":"37616:83:129","statements":[{"expression":{"id":77325,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":77320,"name":"_result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77279,"src":"37634:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":77322,"name":"_result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77279,"src":"37649:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":77323,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77289,"src":"37658:1:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":77321,"name":"_mul","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77271,"src":"37644:4:129","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":77324,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37644:16:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"37634:26:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":77326,"nodeType":"ExpressionStatement","src":"37634:26:129"},{"expression":{"id":77329,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":77327,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77293,"src":"37678:1:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"hexValue":"31","id":77328,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"37683:1:129","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"37678:6:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":77330,"nodeType":"ExpressionStatement","src":"37678:6:129"}]},"id":77332,"nodeType":"IfStatement","src":"37522:177:129","trueBody":{"id":77319,"nodeType":"Block","src":"37538:72:129","statements":[{"expression":{"id":77313,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":77308,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77289,"src":"37556:1:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":77310,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77289,"src":"37565:1:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":77311,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77289,"src":"37568:1:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":77309,"name":"_mul","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77271,"src":"37560:4:129","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":77312,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37560:10:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"37556:14:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":77314,"nodeType":"ExpressionStatement","src":"37556:14:129"},{"expression":{"id":77317,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":77315,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77293,"src":"37588:1:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":">>=","rightHandSide":{"hexValue":"31","id":77316,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"37594:1:129","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"37588:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":77318,"nodeType":"ExpressionStatement","src":"37588:7:129"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":77302,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":77300,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77293,"src":"37501:1:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":77301,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"37505:1:129","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"37501:5:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":77334,"nodeType":"WhileStatement","src":"37494:215:129"}]},"documentation":{"id":77272,"nodeType":"StructuredDocumentation","src":"37052:211:129","text":" Calculate (_a / 2^128)^_b * 2^128. Parameter _a should be less than 2^128.\n @param _a left argument\n @param _b right argument\n @return _result (_a / 2^128)^_b * 2^128"},"implemented":true,"kind":"function","modifiers":[],"name":"_pow","nameLocation":"37277:4:129","parameters":{"id":77277,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77274,"mutability":"mutable","name":"_a","nameLocation":"37290:2:129","nodeType":"VariableDeclaration","scope":77336,"src":"37282:10:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77273,"name":"uint256","nodeType":"ElementaryTypeName","src":"37282:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":77276,"mutability":"mutable","name":"_b","nameLocation":"37302:2:129","nodeType":"VariableDeclaration","scope":77336,"src":"37294:10:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77275,"name":"uint256","nodeType":"ElementaryTypeName","src":"37294:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"37281:24:129"},"returnParameters":{"id":77280,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77279,"mutability":"mutable","name":"_result","nameLocation":"37337:7:129","nodeType":"VariableDeclaration","scope":77336,"src":"37329:15:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77278,"name":"uint256","nodeType":"ElementaryTypeName","src":"37329:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"37328:17:129"},"scope":77611,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":77344,"nodeType":"FunctionDefinition","src":"37721:112:129","nodes":[],"body":{"id":77343,"nodeType":"Block","src":"37789:44:129","nodes":[],"statements":[{"expression":{"id":77341,"name":"totalPointsActivated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74997,"src":"37806:20:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":77340,"id":77342,"nodeType":"Return","src":"37799:27:129"}]},"functionSelector":"d1e36232","implemented":true,"kind":"function","modifiers":[],"name":"totalEffectiveActivePoints","nameLocation":"37730:26:129","parameters":{"id":77337,"nodeType":"ParameterList","parameters":[],"src":"37756:2:129"},"returnParameters":{"id":77340,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77339,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":77344,"src":"37780:7:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77338,"name":"uint256","nodeType":"ElementaryTypeName","src":"37780:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"37779:9:129"},"scope":77611,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":77385,"nodeType":"FunctionDefinition","src":"38023:396:129","nodes":[],"body":{"id":77384,"nodeType":"Block","src":"38131:288:129","nodes":[],"statements":[{"assignments":[77354,77356],"declarations":[{"constant":false,"id":77354,"mutability":"mutable","name":"conviction","nameLocation":"38150:10:129","nodeType":"VariableDeclaration","scope":77384,"src":"38142:18:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77353,"name":"uint256","nodeType":"ElementaryTypeName","src":"38142:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":77356,"mutability":"mutable","name":"blockNumber","nameLocation":"38170:11:129","nodeType":"VariableDeclaration","scope":77384,"src":"38162:19:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77355,"name":"uint256","nodeType":"ElementaryTypeName","src":"38162:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":77361,"initialValue":{"arguments":[{"id":77358,"name":"_proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77348,"src":"38219:9:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},{"id":77359,"name":"_oldStaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77350,"src":"38230:10:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":77357,"name":"_checkBlockAndCalculateConviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77432,"src":"38185:33:129","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Proposal_$74776_storage_ptr_$_t_uint256_$returns$_t_uint256_$_t_uint256_$","typeString":"function (struct StrategyStruct.Proposal storage pointer,uint256) view returns (uint256,uint256)"}},"id":77360,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38185:56:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_uint256_$","typeString":"tuple(uint256,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"38141:100:129"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":77368,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":77364,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":77362,"name":"conviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77354,"src":"38255:10:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":77363,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"38269:1:129","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"38255:15:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":77367,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":77365,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77356,"src":"38274:11:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":77366,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"38289:1:129","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"38274:16:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"38255:35:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":77371,"nodeType":"IfStatement","src":"38251:72:129","trueBody":{"id":77370,"nodeType":"Block","src":"38292:31:129","statements":[{"functionReturnParameters":77352,"id":77369,"nodeType":"Return","src":"38306:7:129"}]}},{"expression":{"id":77376,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":77372,"name":"_proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77348,"src":"38332:9:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":77374,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"38342:9:129","memberName":"blockLast","nodeType":"MemberAccess","referencedDeclaration":74765,"src":"38332:19:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":77375,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77356,"src":"38354:11:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"38332:33:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":77377,"nodeType":"ExpressionStatement","src":"38332:33:129"},{"expression":{"id":77382,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":77378,"name":"_proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77348,"src":"38375:9:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":77380,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"38385:14:129","memberName":"convictionLast","nodeType":"MemberAccess","referencedDeclaration":74757,"src":"38375:24:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":77381,"name":"conviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77354,"src":"38402:10:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"38375:37:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":77383,"nodeType":"ExpressionStatement","src":"38375:37:129"}]},"documentation":{"id":77345,"nodeType":"StructuredDocumentation","src":"37839:179:129","text":" @dev Calculate conviction and store it on the proposal\n @param _proposal Proposal\n @param _oldStaked Amount of tokens staked on a proposal until now"},"implemented":true,"kind":"function","modifiers":[],"name":"_calculateAndSetConviction","nameLocation":"38032:26:129","parameters":{"id":77351,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77348,"mutability":"mutable","name":"_proposal","nameLocation":"38091:9:129","nodeType":"VariableDeclaration","scope":77385,"src":"38059:41:129","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":77347,"nodeType":"UserDefinedTypeName","pathNode":{"id":77346,"name":"StrategyStruct.Proposal","nameLocations":["38059:14:129","38074:8:129"],"nodeType":"IdentifierPath","referencedDeclaration":74776,"src":"38059:23:129"},"referencedDeclaration":74776,"src":"38059:23:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"},{"constant":false,"id":77350,"mutability":"mutable","name":"_oldStaked","nameLocation":"38110:10:129","nodeType":"VariableDeclaration","scope":77385,"src":"38102:18:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77349,"name":"uint256","nodeType":"ElementaryTypeName","src":"38102:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"38058:63:129"},"returnParameters":{"id":77352,"nodeType":"ParameterList","parameters":[],"src":"38131:0:129"},"scope":77611,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":77432,"nodeType":"FunctionDefinition","src":"38425:719:129","nodes":[],"body":{"id":77431,"nodeType":"Block","src":"38623:521:129","nodes":[],"statements":[{"expression":{"id":77400,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":77397,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77395,"src":"38633:11:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":77398,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"38647:5:129","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":77399,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"38653:6:129","memberName":"number","nodeType":"MemberAccess","src":"38647:12:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"38633:26:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":77401,"nodeType":"ExpressionStatement","src":"38633:26:129"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":77406,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":77403,"name":"_proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77388,"src":"38676:9:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":77404,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"38686:9:129","memberName":"blockLast","nodeType":"MemberAccess","referencedDeclaration":74765,"src":"38676:19:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"id":77405,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77395,"src":"38699:11:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"38676:34:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":77402,"name":"assert","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-3,"src":"38669:6:129","typeDescriptions":{"typeIdentifier":"t_function_assert_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":77407,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38669:42:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":77408,"nodeType":"ExpressionStatement","src":"38669:42:129"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":77412,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":77409,"name":"_proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77388,"src":"38725:9:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":77410,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"38735:9:129","memberName":"blockLast","nodeType":"MemberAccess","referencedDeclaration":74765,"src":"38725:19:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":77411,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77395,"src":"38748:11:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"38725:34:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":77418,"nodeType":"IfStatement","src":"38721:173:129","trueBody":{"id":77417,"nodeType":"Block","src":"38761:133:129","statements":[{"expression":{"components":[{"hexValue":"30","id":77413,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"38849:1:129","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":77414,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"38852:1:129","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"id":77415,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"38848:6:129","typeDescriptions":{"typeIdentifier":"t_tuple$_t_rational_0_by_1_$_t_rational_0_by_1_$","typeString":"tuple(int_const 0,int_const 0)"}},"functionReturnParameters":77396,"id":77416,"nodeType":"Return","src":"38841:13:129"}]}},{"expression":{"id":77429,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":77419,"name":"conviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77393,"src":"38947:10:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":77424,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":77421,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77395,"src":"38993:11:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"expression":{"id":77422,"name":"_proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77388,"src":"39007:9:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":77423,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"39017:9:129","memberName":"blockLast","nodeType":"MemberAccess","referencedDeclaration":74765,"src":"39007:19:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"38993:33:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":77425,"name":"_proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77388,"src":"39079:9:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":77426,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"39089:14:129","memberName":"convictionLast","nodeType":"MemberAccess","referencedDeclaration":74757,"src":"39079:24:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":77427,"name":"_oldStaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77390,"src":"39117:10:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":77420,"name":"calculateConviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77148,"src":"38960:19:129","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256,uint256) view returns (uint256)"}},"id":77428,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38960:177:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"38947:190:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":77430,"nodeType":"ExpressionStatement","src":"38947:190:129"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_checkBlockAndCalculateConviction","nameLocation":"38434:33:129","parameters":{"id":77391,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77388,"mutability":"mutable","name":"_proposal","nameLocation":"38500:9:129","nodeType":"VariableDeclaration","scope":77432,"src":"38468:41:129","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":77387,"nodeType":"UserDefinedTypeName","pathNode":{"id":77386,"name":"StrategyStruct.Proposal","nameLocations":["38468:14:129","38483:8:129"],"nodeType":"IdentifierPath","referencedDeclaration":74776,"src":"38468:23:129"},"referencedDeclaration":74776,"src":"38468:23:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"},{"constant":false,"id":77390,"mutability":"mutable","name":"_oldStaked","nameLocation":"38519:10:129","nodeType":"VariableDeclaration","scope":77432,"src":"38511:18:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77389,"name":"uint256","nodeType":"ElementaryTypeName","src":"38511:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"38467:63:129"},"returnParameters":{"id":77396,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77393,"mutability":"mutable","name":"conviction","nameLocation":"38586:10:129","nodeType":"VariableDeclaration","scope":77432,"src":"38578:18:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77392,"name":"uint256","nodeType":"ElementaryTypeName","src":"38578:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":77395,"mutability":"mutable","name":"blockNumber","nameLocation":"38606:11:129","nodeType":"VariableDeclaration","scope":77432,"src":"38598:19:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77394,"name":"uint256","nodeType":"ElementaryTypeName","src":"38598:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"38577:41:129"},"scope":77611,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":77480,"nodeType":"FunctionDefinition","src":"39150:520:129","nodes":[],"body":{"id":77479,"nodeType":"Block","src":"39229:441:129","nodes":[],"statements":[{"assignments":[77443],"declarations":[{"constant":false,"id":77443,"mutability":"mutable","name":"proposal","nameLocation":"39271:8:129","nodeType":"VariableDeclaration","scope":77479,"src":"39239:40:129","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":77442,"nodeType":"UserDefinedTypeName","pathNode":{"id":77441,"name":"StrategyStruct.Proposal","nameLocations":["39239:14:129","39254:8:129"],"nodeType":"IdentifierPath","referencedDeclaration":74776,"src":"39239:23:129"},"referencedDeclaration":74776,"src":"39239:23:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":77447,"initialValue":{"baseExpression":{"id":77444,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75022,"src":"39282:9:129","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$74776_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":77446,"indexExpression":{"id":77445,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77434,"src":"39292:10:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"39282:21:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"39239:64:129"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":77451,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":77448,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77443,"src":"39318:8:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":77449,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"39327:10:129","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":74751,"src":"39318:19:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":77450,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77434,"src":"39341:10:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"39318:33:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":77457,"nodeType":"IfStatement","src":"39314:100:129","trueBody":{"id":77456,"nodeType":"Block","src":"39353:61:129","statements":[{"errorCall":{"arguments":[{"id":77453,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77434,"src":"39392:10:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":77452,"name":"ProposalNotInList","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74868,"src":"39374:17:129","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":77454,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"39374:29:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":77455,"nodeType":"RevertStatement","src":"39367:36:129"}]}},{"condition":{"commonType":{"typeIdentifier":"t_enum$_ProposalStatus_$74749","typeString":"enum StrategyStruct.ProposalStatus"},"id":77463,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":77458,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77443,"src":"39428:8:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":77459,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"39437:14:129","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":74768,"src":"39428:23:129","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$74749","typeString":"enum StrategyStruct.ProposalStatus"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"expression":{"id":77460,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74807,"src":"39455:14:129","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$74807_$","typeString":"type(library StrategyStruct)"}},"id":77461,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"39470:14:129","memberName":"ProposalStatus","nodeType":"MemberAccess","referencedDeclaration":74749,"src":"39455:29:129","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$74749_$","typeString":"type(enum StrategyStruct.ProposalStatus)"}},"id":77462,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"39485:6:129","memberName":"Active","nodeType":"MemberAccess","referencedDeclaration":74745,"src":"39455:36:129","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$74749","typeString":"enum StrategyStruct.ProposalStatus"}},"src":"39428:63:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":77469,"nodeType":"IfStatement","src":"39424:130:129","trueBody":{"id":77468,"nodeType":"Block","src":"39493:61:129","statements":[{"errorCall":{"arguments":[{"id":77465,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77434,"src":"39532:10:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":77464,"name":"ProposalNotActive","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74864,"src":"39514:17:129","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":77466,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"39514:29:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":77467,"nodeType":"RevertStatement","src":"39507:36:129"}]}},{"expression":{"arguments":[{"id":77471,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77443,"src":"39591:8:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},{"expression":{"id":77472,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77443,"src":"39601:8:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":77473,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"39610:12:129","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":74755,"src":"39601:21:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":77470,"name":"_calculateAndSetConviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77385,"src":"39564:26:129","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_Proposal_$74776_storage_ptr_$_t_uint256_$returns$__$","typeString":"function (struct StrategyStruct.Proposal storage pointer,uint256)"}},"id":77474,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"39564:59:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":77475,"nodeType":"ExpressionStatement","src":"39564:59:129"},{"expression":{"expression":{"id":77476,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77443,"src":"39640:8:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":77477,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"39649:14:129","memberName":"convictionLast","nodeType":"MemberAccess","referencedDeclaration":74757,"src":"39640:23:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":77438,"id":77478,"nodeType":"Return","src":"39633:30:129"}]},"functionSelector":"1aa91a9e","implemented":true,"kind":"function","modifiers":[],"name":"updateProposalConviction","nameLocation":"39159:24:129","parameters":{"id":77435,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77434,"mutability":"mutable","name":"proposalId","nameLocation":"39192:10:129","nodeType":"VariableDeclaration","scope":77480,"src":"39184:18:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77433,"name":"uint256","nodeType":"ElementaryTypeName","src":"39184:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"39183:20:129"},"returnParameters":{"id":77438,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77437,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":77480,"src":"39220:7:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77436,"name":"uint256","nodeType":"ElementaryTypeName","src":"39220:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"39219:9:129"},"scope":77611,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":77499,"nodeType":"FunctionDefinition","src":"39676:124:129","nodes":[],"body":{"id":77498,"nodeType":"Block","src":"39748:52:129","nodes":[],"statements":[{"expression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":77495,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":77489,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":77487,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77482,"src":"39767:6:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":77488,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74972,"src":"39776:1:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"39767:10:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":77490,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"39766:12:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":77493,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":77491,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74972,"src":"39782:1:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":77492,"name":"decay","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74986,"src":"39786:5:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"39782:9:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":77494,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"39781:11:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"39766:26:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":77496,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"39765:28:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":77486,"id":77497,"nodeType":"Return","src":"39758:35:129"}]},"functionSelector":"950559d7","implemented":true,"kind":"function","modifiers":[],"name":"getMaxConviction","nameLocation":"39685:16:129","parameters":{"id":77483,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77482,"mutability":"mutable","name":"amount","nameLocation":"39710:6:129","nodeType":"VariableDeclaration","scope":77499,"src":"39702:14:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77481,"name":"uint256","nodeType":"ElementaryTypeName","src":"39702:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"39701:16:129"},"returnParameters":{"id":77486,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77485,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":77499,"src":"39739:7:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77484,"name":"uint256","nodeType":"ElementaryTypeName","src":"39739:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"39738:9:129"},"scope":77611,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":77517,"nodeType":"FunctionDefinition","src":"39806:137:129","nodes":[],"body":{"id":77516,"nodeType":"Block","src":"39877:66:129","nodes":[],"statements":[{"expression":{"id":77510,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":77508,"name":"decay","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74986,"src":"39887:5:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":77509,"name":"_decay","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77501,"src":"39895:6:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"39887:14:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":77511,"nodeType":"ExpressionStatement","src":"39887:14:129"},{"eventCall":{"arguments":[{"id":77513,"name":"_decay","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77501,"src":"39929:6:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":77512,"name":"DecayUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74951,"src":"39916:12:129","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":77514,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"39916:20:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":77515,"nodeType":"EmitStatement","src":"39911:25:129"}]},"functionSelector":"69fa25c4","implemented":true,"kind":"function","modifiers":[{"arguments":[{"expression":{"id":77504,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"39865:3:129","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":77505,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"39869:6:129","memberName":"sender","nodeType":"MemberAccess","src":"39865:10:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"id":77506,"kind":"modifierInvocation","modifierName":{"id":77503,"name":"onlyPoolManager","nameLocations":["39849:15:129"],"nodeType":"IdentifierPath","referencedDeclaration":3386,"src":"39849:15:129"},"nodeType":"ModifierInvocation","src":"39849:27:129"}],"name":"setDecay","nameLocation":"39815:8:129","parameters":{"id":77502,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77501,"mutability":"mutable","name":"_decay","nameLocation":"39832:6:129","nodeType":"VariableDeclaration","scope":77517,"src":"39824:14:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77500,"name":"uint256","nodeType":"ElementaryTypeName","src":"39824:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"39823:16:129"},"returnParameters":{"id":77507,"nodeType":"ParameterList","parameters":[],"src":"39877:0:129"},"scope":77611,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":77535,"nodeType":"FunctionDefinition","src":"39949:155:129","nodes":[],"body":{"id":77534,"nodeType":"Block","src":"40026:78:129","nodes":[],"statements":[{"expression":{"id":77528,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":77526,"name":"maxRatio","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74988,"src":"40036:8:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":77527,"name":"_maxRatio","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77519,"src":"40047:9:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"40036:20:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":77529,"nodeType":"ExpressionStatement","src":"40036:20:129"},{"eventCall":{"arguments":[{"id":77531,"name":"_maxRatio","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77519,"src":"40087:9:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":77530,"name":"MaxRatioUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74955,"src":"40071:15:129","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":77532,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"40071:26:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":77533,"nodeType":"EmitStatement","src":"40066:31:129"}]},"functionSelector":"11f22ae3","implemented":true,"kind":"function","modifiers":[{"arguments":[{"expression":{"id":77522,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"40014:3:129","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":77523,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"40018:6:129","memberName":"sender","nodeType":"MemberAccess","src":"40014:10:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"id":77524,"kind":"modifierInvocation","modifierName":{"id":77521,"name":"onlyPoolManager","nameLocations":["39998:15:129"],"nodeType":"IdentifierPath","referencedDeclaration":3386,"src":"39998:15:129"},"nodeType":"ModifierInvocation","src":"39998:27:129"}],"name":"setMaxRatio","nameLocation":"39958:11:129","parameters":{"id":77520,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77519,"mutability":"mutable","name":"_maxRatio","nameLocation":"39978:9:129","nodeType":"VariableDeclaration","scope":77535,"src":"39970:17:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77518,"name":"uint256","nodeType":"ElementaryTypeName","src":"39970:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"39969:19:129"},"returnParameters":{"id":77525,"nodeType":"ParameterList","parameters":[],"src":"40026:0:129"},"scope":77611,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":77553,"nodeType":"FunctionDefinition","src":"40110:143:129","nodes":[],"body":{"id":77552,"nodeType":"Block","src":"40183:70:129","nodes":[],"statements":[{"expression":{"id":77546,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":77544,"name":"weight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74990,"src":"40193:6:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":77545,"name":"_weight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77537,"src":"40202:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"40193:16:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":77547,"nodeType":"ExpressionStatement","src":"40193:16:129"},{"eventCall":{"arguments":[{"id":77549,"name":"_weight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77537,"src":"40238:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":77548,"name":"WeightUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74959,"src":"40224:13:129","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":77550,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"40224:22:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":77551,"nodeType":"EmitStatement","src":"40219:27:129"}]},"functionSelector":"fc1711f2","implemented":true,"kind":"function","modifiers":[{"arguments":[{"expression":{"id":77540,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"40171:3:129","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":77541,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"40175:6:129","memberName":"sender","nodeType":"MemberAccess","src":"40171:10:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"id":77542,"kind":"modifierInvocation","modifierName":{"id":77539,"name":"onlyPoolManager","nameLocations":["40155:15:129"],"nodeType":"IdentifierPath","referencedDeclaration":3386,"src":"40155:15:129"},"nodeType":"ModifierInvocation","src":"40155:27:129"}],"name":"setWeight","nameLocation":"40119:9:129","parameters":{"id":77538,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77537,"mutability":"mutable","name":"_weight","nameLocation":"40137:7:129","nodeType":"VariableDeclaration","scope":77553,"src":"40129:15:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77536,"name":"uint256","nodeType":"ElementaryTypeName","src":"40129:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"40128:17:129"},"returnParameters":{"id":77543,"nodeType":"ParameterList","parameters":[],"src":"40183:0:129"},"scope":77611,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":77573,"nodeType":"FunctionDefinition","src":"40259:219:129","nodes":[],"body":{"id":77572,"nodeType":"Block","src":"40354:124:129","nodes":[],"statements":[{"expression":{"id":77566,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":77562,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75014,"src":"40364:17:129","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunity_$83082","typeString":"contract RegistryCommunity"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":77564,"name":"_registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77555,"src":"40402:18:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":77563,"name":"RegistryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83082,"src":"40384:17:129","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_RegistryCommunity_$83082_$","typeString":"type(contract RegistryCommunity)"}},"id":77565,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"40384:37:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunity_$83082","typeString":"contract RegistryCommunity"}},"src":"40364:57:129","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunity_$83082","typeString":"contract RegistryCommunity"}},"id":77567,"nodeType":"ExpressionStatement","src":"40364:57:129"},{"eventCall":{"arguments":[{"id":77569,"name":"_registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77555,"src":"40452:18:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":77568,"name":"RegistryUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74963,"src":"40436:15:129","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":77570,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"40436:35:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":77571,"nodeType":"EmitStatement","src":"40431:40:129"}]},"functionSelector":"058aca44","implemented":true,"kind":"function","modifiers":[{"arguments":[{"expression":{"id":77558,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"40342:3:129","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":77559,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"40346:6:129","memberName":"sender","nodeType":"MemberAccess","src":"40342:10:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"id":77560,"kind":"modifierInvocation","modifierName":{"id":77557,"name":"onlyPoolManager","nameLocations":["40326:15:129"],"nodeType":"IdentifierPath","referencedDeclaration":3386,"src":"40326:15:129"},"nodeType":"ModifierInvocation","src":"40326:27:129"}],"name":"setRegistryCommunity","nameLocation":"40268:20:129","parameters":{"id":77556,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77555,"mutability":"mutable","name":"_registryCommunity","nameLocation":"40297:18:129","nodeType":"VariableDeclaration","scope":77573,"src":"40289:26:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":77554,"name":"address","nodeType":"ElementaryTypeName","src":"40289:7:129","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"40288:28:129"},"returnParameters":{"id":77561,"nodeType":"ParameterList","parameters":[],"src":"40354:0:129"},"scope":77611,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":77592,"nodeType":"FunctionDefinition","src":"40484:237:129","nodes":[],"body":{"id":77591,"nodeType":"Block","src":"40581:140:129","nodes":[],"statements":[{"eventCall":{"arguments":[{"id":77583,"name":"_minThresholdPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75000,"src":"40622:19:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":77584,"name":"minThresholdPoints_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77575,"src":"40643:19:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":77582,"name":"MinThresholdPointsUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74969,"src":"40596:25:129","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":77585,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"40596:67:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":77586,"nodeType":"EmitStatement","src":"40591:72:129"},{"expression":{"id":77589,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":77587,"name":"_minThresholdPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75000,"src":"40673:19:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":77588,"name":"minThresholdPoints_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77575,"src":"40695:19:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"40673:41:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":77590,"nodeType":"ExpressionStatement","src":"40673:41:129"}]},"functionSelector":"2cefadbb","implemented":true,"kind":"function","modifiers":[{"arguments":[{"expression":{"id":77578,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"40569:3:129","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":77579,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"40573:6:129","memberName":"sender","nodeType":"MemberAccess","src":"40569:10:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"id":77580,"kind":"modifierInvocation","modifierName":{"id":77577,"name":"onlyPoolManager","nameLocations":["40553:15:129"],"nodeType":"IdentifierPath","referencedDeclaration":3386,"src":"40553:15:129"},"nodeType":"ModifierInvocation","src":"40553:27:129"}],"name":"setMinThresholdPoints","nameLocation":"40493:21:129","parameters":{"id":77576,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77575,"mutability":"mutable","name":"minThresholdPoints_","nameLocation":"40523:19:129","nodeType":"VariableDeclaration","scope":77592,"src":"40515:27:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77574,"name":"uint256","nodeType":"ElementaryTypeName","src":"40515:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"40514:29:129"},"returnParameters":{"id":77581,"nodeType":"ParameterList","parameters":[],"src":"40581:0:129"},"scope":77611,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":77610,"nodeType":"FunctionDefinition","src":"40727:170:129","nodes":[],"body":{"id":77609,"nodeType":"Block","src":"40798:99:129","nodes":[],"statements":[{"expression":{"arguments":[{"id":77600,"name":"_sybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77594,"src":"40827:12:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":77599,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75256,"src":"40808:18:129","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":77601,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"40808:32:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":77602,"nodeType":"ExpressionStatement","src":"40808:32:129"},{"expression":{"id":77607,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":77603,"name":"sybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75017,"src":"40850:11:129","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$80667","typeString":"contract ISybilScorer"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":77605,"name":"_sybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77594,"src":"40877:12:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":77604,"name":"ISybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80667,"src":"40864:12:129","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ISybilScorer_$80667_$","typeString":"type(contract ISybilScorer)"}},"id":77606,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"40864:26:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$80667","typeString":"contract ISybilScorer"}},"src":"40850:40:129","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$80667","typeString":"contract ISybilScorer"}},"id":77608,"nodeType":"ExpressionStatement","src":"40850:40:129"}]},"functionSelector":"ac1ed7b9","implemented":true,"kind":"function","modifiers":[{"id":77597,"kind":"modifierInvocation","modifierName":{"id":77596,"name":"onlyCouncilSafe","nameLocations":["40782:15:129"],"nodeType":"IdentifierPath","referencedDeclaration":75050,"src":"40782:15:129"},"nodeType":"ModifierInvocation","src":"40782:15:129"}],"name":"setSybilScorer","nameLocation":"40736:14:129","parameters":{"id":77595,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77594,"mutability":"mutable","name":"_sybilScorer","nameLocation":"40759:12:129","nodeType":"VariableDeclaration","scope":77610,"src":"40751:20:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":77593,"name":"address","nodeType":"ElementaryTypeName","src":"40751:7:129","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"40750:22:129"},"returnParameters":{"id":77598,"nodeType":"ParameterList","parameters":[],"src":"40798:0:129"},"scope":77611,"stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[{"baseName":{"id":74808,"name":"BaseStrategy","nameLocations":["2810:12:129"],"nodeType":"IdentifierPath","referencedDeclaration":3923,"src":"2810:12:129"},"id":74809,"nodeType":"InheritanceSpecifier","src":"2810:12:129"},{"baseName":{"id":74810,"name":"IPointStrategy","nameLocations":["2824:14:129"],"nodeType":"IdentifierPath","referencedDeclaration":74722,"src":"2824:14:129"},"id":74811,"nodeType":"InheritanceSpecifier","src":"2824:14:129"},{"baseName":{"id":74812,"name":"ERC165","nameLocations":["2840:6:129"],"nodeType":"IdentifierPath","referencedDeclaration":58266,"src":"2840:6:129"},"id":74813,"nodeType":"InheritanceSpecifier","src":"2840:6:129"}],"canonicalName":"CVStrategy","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[77611,58266,58472,74722,3923,3089,3317,3106,2969],"name":"CVStrategy","nameLocation":"2796:10:129","scope":77612,"usedErrors":[3008,3011,3014,3017,3020,3023,3026,3029,3032,3035,3038,3041,3044,3047,3050,3053,3056,3059,3062,3065,3068,3071,3074,3079,3082,3085,3088,3117,74818,74820,74822,74824,74826,74828,74830,74832,74834,74836,74838,74846,74848,74850,74856,74858,74860,74864,74868,74874,74876,74878,74886,74888,74890]}],"license":"AGPL-3.0-only"},"id":129} \ No newline at end of file diff --git a/pkg/contracts/out/CVStrategy.sol/IPointStrategy.json b/pkg/contracts/out/CVStrategy.sol/IPointStrategy.json index 5e39598e9..49e266555 100644 --- a/pkg/contracts/out/CVStrategy.sol/IPointStrategy.json +++ b/pkg/contracts/out/CVStrategy.sol/IPointStrategy.json @@ -1,37032 +1 @@ -{ - "abi": [ - { - "type": "function", - "name": "deactivatePoints", - "inputs": [ - { - "name": "_member", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "decreasePower", - "inputs": [ - { - "name": "_member", - "type": "address", - "internalType": "address" - }, - { - "name": "_amountToUntake", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "getPointSystem", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint8", - "internalType": "enum StrategyStruct.PointSystem" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "increasePower", - "inputs": [ - { - "name": "_member", - "type": "address", - "internalType": "address" - }, - { - "name": "_amountToStake", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "deactivatePoints(address)": "6453d9c4", - "decreasePower(address,uint256)": "2ed04b2b", - "getPointSystem()": "c3292171", - "increasePower(address,uint256)": "782aadff" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"}],\"name\":\"deactivatePoints\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amountToUntake\",\"type\":\"uint256\"}],\"name\":\"decreasePower\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getPointSystem\",\"outputs\":[{\"internalType\":\"enum StrategyStruct.PointSystem\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amountToStake\",\"type\":\"uint256\"}],\"name\":\"increasePower\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"pkg/contracts/src/CVStrategy.sol\":\"IPointStrategy\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1000},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-contracts/=lib/safe-contracts/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"]},\"sources\":{\"lib/allo-v2/contracts/core/interfaces/IAllo.sol\":{\"keccak256\":\"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7\",\"dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1\"]},\"lib/allo-v2/contracts/core/interfaces/IRegistry.sol\":{\"keccak256\":\"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e\",\"dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA\"]},\"lib/allo-v2/contracts/core/interfaces/IStrategy.sol\":{\"keccak256\":\"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487\",\"dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH\"]},\"lib/allo-v2/contracts/core/libraries/Clone.sol\":{\"keccak256\":\"0xc348b24b7d8a98c4faa5f2aa37ce9264a74f81dbdef1a9bae2eaa125585c3c7e\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://1335b3ec59ec7e3d12ea7c90b3aa56f4c26e0d44d342f54412933be9d4f16067\",\"dweb:/ipfs/QmXNFo2wCyq9cpvfgbdHvBUQecThFSEoUnMuZNS6WinDrr\"]},\"lib/allo-v2/contracts/core/libraries/Errors.sol\":{\"keccak256\":\"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf\",\"dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA\"]},\"lib/allo-v2/contracts/core/libraries/Metadata.sol\":{\"keccak256\":\"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c\",\"dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn\"]},\"lib/allo-v2/contracts/core/libraries/Native.sol\":{\"keccak256\":\"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a\",\"dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv\"]},\"lib/allo-v2/contracts/core/libraries/Transfer.sol\":{\"keccak256\":\"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11\",\"dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5\"]},\"lib/allo-v2/contracts/strategies/BaseStrategy.sol\":{\"keccak256\":\"0x3f1382dc6c35d50545e327e7ed6016f2bd752357d446bd698014073f0b812873\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://99500abcd617fa43f6dde49e2c7802821ceaf54a65a8055cbbf2695ecd107974\",\"dweb:/ipfs/QmUktZkWuu3GCMEijY1fqt7NMy7BzpTvEtcmpB1fuoa7zt\"]},\"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol\":{\"keccak256\":\"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298\",\"dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol\":{\"keccak256\":\"0x5a55d1b148a0cb4183f1e09ceaff87bd2d828440f2f5dc01dfe03eb29e7c88ec\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3f9278bdda788763efbe569da77fc24feff36e871779e2da69f74ea5f8bfacf\",\"dweb:/ipfs/QmZF9cH4rfazmwKT55p3tZyzh9QGghNyss81f46d6yVXap\"]},\"lib/openzeppelin-contracts/contracts/access/AccessControl.sol\":{\"keccak256\":\"0x0dd6e52cb394d7f5abe5dca2d4908a6be40417914720932de757de34a99ab87f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://dc117ce50ea746cab6b97ed1a1facee17a715ae0cb95d67b943dacbaf15176fb\",\"dweb:/ipfs/QmYRZ2UGNYwsHwfNu7Wjr8L2j1LBZ1mKv6NvbwgterYMXc\"]},\"lib/openzeppelin-contracts/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0x59ce320a585d7e1f163cd70390a0ef2ff9cec832e2aa544293a00692465a7a57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb2c137c343ef0c4c7ce7b18c1d108afdc9d315a04e48307288d2d05adcbde3a\",\"dweb:/ipfs/QmUxhrAQM3MM3FF5j7AtcXLXguWCJBHJ14BRdVtuoQc8Fh\"]},\"lib/openzeppelin-contracts/contracts/access/Ownable.sol\":{\"keccak256\":\"0xba43b97fba0d32eb4254f6a5a297b39a19a247082a02d6e69349e071e2946218\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fc980984badf3984b6303b377711220e067722bbd6a135b24669ff5069ef9f32\",\"dweb:/ipfs/QmPHXMSXj99XjSVM21YsY6aNtLLjLVXDbyN76J5HQYvvrz\"]},\"lib/openzeppelin-contracts/contracts/security/ReentrancyGuard.sol\":{\"keccak256\":\"0xa535a5df777d44e945dd24aa43a11e44b024140fc340ad0dfe42acf4002aade1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://41319e7f621f2dc3733511332c4fd032f8e32ad2aa7fd6f665c19741d9941a34\",\"dweb:/ipfs/QmcYR3bd862GD1Bc7jwrU9bGxrhUu5na1oP964bDCu2id1\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15\",\"dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5\",\"dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd\",\"dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol\":{\"keccak256\":\"0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a\",\"dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0x909d608c2db6eb165ca178c81289a07ed2e118e444d0025b2a85c97d0b44a4fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://656cda26512ddd7373c2d5551c8fae759fc30f05b10f0fc2e738e9274199dbd4\",\"dweb:/ipfs/QmTSArSzQRFbQmHgq7U1PZXnsDFhvDZhKVu9CzMG4yo6Lx\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"lib/openzeppelin-contracts/contracts/utils/Strings.sol\":{\"keccak256\":\"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f\",\"dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol\":{\"keccak256\":\"0x5a08ad61f4e82b8a3323562661a86fb10b10190848073fdc13d4ac43710ffba5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6f7bb74cf88fd88daa34e118bc6e363381d05044f34f391d39a10c0c9dac3ebd\",\"dweb:/ipfs/QmNbQ3v8v4zuDtg7VeLAbdhAm3tCzUodNoDZZ8ekmCHWZX\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]},\"pkg/contracts/src/CVStrategy.sol\":{\"keccak256\":\"0x132bcf17470960e380d841159d9389985d609aaae1c9a657c78902f7871da957\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://84e905bf392579b44f33fff8586431b940e110b2210854cf487321cc92061705\",\"dweb:/ipfs/QmQpvszYu8RbrXmUFLifSodQzV8LAqazk1fzXNARGc5sBT\"]},\"pkg/contracts/src/ISybilScorer.sol\":{\"keccak256\":\"0x0e25fbb8497ac3c969d80c9032362d45e56c0a45dc9ba3dff6a8a704571f38ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0dff90ebae6e7131a5300fcaf525bc2ab0ae90fcd13f277d7b7b6939eeb8b7eb\",\"dweb:/ipfs/QmYGkYqpUVrBWoNY6f3CtwrrVQFWSvnJfpu68t95f6AkBY\"]},\"pkg/contracts/src/RegistryCommunity.sol\":{\"keccak256\":\"0xc735f4d2635149f2db9bff291da56e08c3c312d9eb1b767b8a1e3e51584d5734\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://247b33b78abface6a7e2da38174386de9b543f6a27e8340e26d854bff57184a3\",\"dweb:/ipfs/QmedNdqkqeboGzz9w868uGf7KnXUaYZe6i1YcdUPPkJnnf\"]},\"pkg/contracts/src/RegistryFactory.sol\":{\"keccak256\":\"0x888b7f5eb1079f90ccfa0b41d8a970bffd8d4d469f9b31917a58279b358dbda5\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://af25fd783de00adf01d1c7caa572801fed0d474306a43b862535b08e65ec10c6\",\"dweb:/ipfs/Qmeb2nEaMQLV86y1CYAAV2c6BYpBDTbpLuC1SigeNjdqLo\"]},\"pkg/contracts/src/interfaces/ISafe.sol\":{\"keccak256\":\"0x878a210809bb684c42157a10f3f90350a67d0a4863f130499942b06f0f2c9143\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://fa2d71bd427c3415e98a2ee15ff673f3cc61c17f14d7087c5eedc83b55f6b0ef\",\"dweb:/ipfs/QmesVSmJQQzi6ys1cvhQFCJyDXchb736mT5bXks4Yp6Cbj\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.8.19+commit.7dd6d404" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_member", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "deactivatePoints" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_member", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amountToUntake", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "decreasePower", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "function", - "name": "getPointSystem", - "outputs": [ - { - "internalType": "enum StrategyStruct.PointSystem", - "name": "", - "type": "uint8" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_member", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amountToStake", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "increasePower", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - "@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/", - "@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/", - "@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/", - "@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/", - "@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/", - "@sablier/v2-core/=lib/allo-v2/lib/v2-core/", - "ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/", - "allo-v2-contracts/=lib/allo-v2/contracts/", - "allo-v2-test/=lib/allo-v2/test/", - "allo-v2/=lib/allo-v2/", - "ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/", - "eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/", - "erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/", - "forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/", - "forge-std/=lib/forge-std/src/", - "hats-protocol/=lib/allo-v2/lib/hats-protocol/", - "openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/", - "openzeppelin-contracts/=lib/openzeppelin-contracts/", - "openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/", - "openzeppelin/=lib/openzeppelin-contracts/contracts/", - "permit2/=lib/allo-v2/lib/permit2/", - "prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/", - "prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/", - "safe-contracts/=lib/safe-contracts/", - "solady/=lib/allo-v2/lib/solady/", - "solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/", - "solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/", - "solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/", - "solmate/=lib/allo-v2/lib/permit2/lib/solmate/", - "utils/=lib/allo-v2/lib/hats-protocol/lib/utils/", - "v2-core/=lib/allo-v2/lib/v2-core/" - ], - "optimizer": { - "enabled": true, - "runs": 1000 - }, - "metadata": { - "bytecodeHash": "ipfs" - }, - "compilationTarget": { - "pkg/contracts/src/CVStrategy.sol": "IPointStrategy" - }, - "evmVersion": "paris", - "libraries": {} - }, - "sources": { - "lib/allo-v2/contracts/core/interfaces/IAllo.sol": { - "keccak256": "0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce", - "urls": [ - "bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7", - "dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1" - ], - "license": "AGPL-3.0-only" - }, - "lib/allo-v2/contracts/core/interfaces/IRegistry.sol": { - "keccak256": "0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f", - "urls": [ - "bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e", - "dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA" - ], - "license": "MIT" - }, - "lib/allo-v2/contracts/core/interfaces/IStrategy.sol": { - "keccak256": "0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23", - "urls": [ - "bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487", - "dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH" - ], - "license": "AGPL-3.0-only" - }, - "lib/allo-v2/contracts/core/libraries/Clone.sol": { - "keccak256": "0xc348b24b7d8a98c4faa5f2aa37ce9264a74f81dbdef1a9bae2eaa125585c3c7e", - "urls": [ - "bzz-raw://1335b3ec59ec7e3d12ea7c90b3aa56f4c26e0d44d342f54412933be9d4f16067", - "dweb:/ipfs/QmXNFo2wCyq9cpvfgbdHvBUQecThFSEoUnMuZNS6WinDrr" - ], - "license": "AGPL-3.0-only" - }, - "lib/allo-v2/contracts/core/libraries/Errors.sol": { - "keccak256": "0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15", - "urls": [ - "bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf", - "dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA" - ], - "license": "AGPL-3.0-only" - }, - "lib/allo-v2/contracts/core/libraries/Metadata.sol": { - "keccak256": "0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44", - "urls": [ - "bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c", - "dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn" - ], - "license": "AGPL-3.0-only" - }, - "lib/allo-v2/contracts/core/libraries/Native.sol": { - "keccak256": "0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5", - "urls": [ - "bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a", - "dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv" - ], - "license": "AGPL-3.0-only" - }, - "lib/allo-v2/contracts/core/libraries/Transfer.sol": { - "keccak256": "0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286", - "urls": [ - "bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11", - "dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5" - ], - "license": "AGPL-3.0-only" - }, - "lib/allo-v2/contracts/strategies/BaseStrategy.sol": { - "keccak256": "0x3f1382dc6c35d50545e327e7ed6016f2bd752357d446bd698014073f0b812873", - "urls": [ - "bzz-raw://99500abcd617fa43f6dde49e2c7802821ceaf54a65a8055cbbf2695ecd107974", - "dweb:/ipfs/QmUktZkWuu3GCMEijY1fqt7NMy7BzpTvEtcmpB1fuoa7zt" - ], - "license": "AGPL-3.0-only" - }, - "lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol": { - "keccak256": "0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624", - "urls": [ - "bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298", - "dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt" - ], - "license": "MIT" - }, - "lib/forge-std/src/console.sol": { - "keccak256": "0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba", - "urls": [ - "bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70", - "dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol": { - "keccak256": "0x5a55d1b148a0cb4183f1e09ceaff87bd2d828440f2f5dc01dfe03eb29e7c88ec", - "urls": [ - "bzz-raw://b3f9278bdda788763efbe569da77fc24feff36e871779e2da69f74ea5f8bfacf", - "dweb:/ipfs/QmZF9cH4rfazmwKT55p3tZyzh9QGghNyss81f46d6yVXap" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/access/AccessControl.sol": { - "keccak256": "0x0dd6e52cb394d7f5abe5dca2d4908a6be40417914720932de757de34a99ab87f", - "urls": [ - "bzz-raw://dc117ce50ea746cab6b97ed1a1facee17a715ae0cb95d67b943dacbaf15176fb", - "dweb:/ipfs/QmYRZ2UGNYwsHwfNu7Wjr8L2j1LBZ1mKv6NvbwgterYMXc" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/access/IAccessControl.sol": { - "keccak256": "0x59ce320a585d7e1f163cd70390a0ef2ff9cec832e2aa544293a00692465a7a57", - "urls": [ - "bzz-raw://bb2c137c343ef0c4c7ce7b18c1d108afdc9d315a04e48307288d2d05adcbde3a", - "dweb:/ipfs/QmUxhrAQM3MM3FF5j7AtcXLXguWCJBHJ14BRdVtuoQc8Fh" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/access/Ownable.sol": { - "keccak256": "0xba43b97fba0d32eb4254f6a5a297b39a19a247082a02d6e69349e071e2946218", - "urls": [ - "bzz-raw://fc980984badf3984b6303b377711220e067722bbd6a135b24669ff5069ef9f32", - "dweb:/ipfs/QmPHXMSXj99XjSVM21YsY6aNtLLjLVXDbyN76J5HQYvvrz" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/security/ReentrancyGuard.sol": { - "keccak256": "0xa535a5df777d44e945dd24aa43a11e44b024140fc340ad0dfe42acf4002aade1", - "urls": [ - "bzz-raw://41319e7f621f2dc3733511332c4fd032f8e32ad2aa7fd6f665c19741d9941a34", - "dweb:/ipfs/QmcYR3bd862GD1Bc7jwrU9bGxrhUu5na1oP964bDCu2id1" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol": { - "keccak256": "0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c", - "urls": [ - "bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15", - "dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol": { - "keccak256": "0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305", - "urls": [ - "bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5", - "dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol": { - "keccak256": "0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca", - "urls": [ - "bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd", - "dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol": { - "keccak256": "0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a", - "urls": [ - "bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a", - "dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol": { - "keccak256": "0x909d608c2db6eb165ca178c81289a07ed2e118e444d0025b2a85c97d0b44a4fa", - "urls": [ - "bzz-raw://656cda26512ddd7373c2d5551c8fae759fc30f05b10f0fc2e738e9274199dbd4", - "dweb:/ipfs/QmTSArSzQRFbQmHgq7U1PZXnsDFhvDZhKVu9CzMG4yo6Lx" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/utils/Address.sol": { - "keccak256": "0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa", - "urls": [ - "bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931", - "dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/utils/Context.sol": { - "keccak256": "0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7", - "urls": [ - "bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92", - "dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/utils/Strings.sol": { - "keccak256": "0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0", - "urls": [ - "bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f", - "dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol": { - "keccak256": "0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b", - "urls": [ - "bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d", - "dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol": { - "keccak256": "0x5a08ad61f4e82b8a3323562661a86fb10b10190848073fdc13d4ac43710ffba5", - "urls": [ - "bzz-raw://6f7bb74cf88fd88daa34e118bc6e363381d05044f34f391d39a10c0c9dac3ebd", - "dweb:/ipfs/QmNbQ3v8v4zuDtg7VeLAbdhAm3tCzUodNoDZZ8ekmCHWZX" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol": { - "keccak256": "0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1", - "urls": [ - "bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f", - "dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/utils/math/Math.sol": { - "keccak256": "0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3", - "urls": [ - "bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c", - "dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol": { - "keccak256": "0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc", - "urls": [ - "bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7", - "dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6" - ], - "license": "MIT" - }, - "pkg/contracts/src/CVStrategy.sol": { - "keccak256": "0x132bcf17470960e380d841159d9389985d609aaae1c9a657c78902f7871da957", - "urls": [ - "bzz-raw://84e905bf392579b44f33fff8586431b940e110b2210854cf487321cc92061705", - "dweb:/ipfs/QmQpvszYu8RbrXmUFLifSodQzV8LAqazk1fzXNARGc5sBT" - ], - "license": "AGPL-3.0-only" - }, - "pkg/contracts/src/ISybilScorer.sol": { - "keccak256": "0x0e25fbb8497ac3c969d80c9032362d45e56c0a45dc9ba3dff6a8a704571f38ea", - "urls": [ - "bzz-raw://0dff90ebae6e7131a5300fcaf525bc2ab0ae90fcd13f277d7b7b6939eeb8b7eb", - "dweb:/ipfs/QmYGkYqpUVrBWoNY6f3CtwrrVQFWSvnJfpu68t95f6AkBY" - ], - "license": "MIT" - }, - "pkg/contracts/src/RegistryCommunity.sol": { - "keccak256": "0xc735f4d2635149f2db9bff291da56e08c3c312d9eb1b767b8a1e3e51584d5734", - "urls": [ - "bzz-raw://247b33b78abface6a7e2da38174386de9b543f6a27e8340e26d854bff57184a3", - "dweb:/ipfs/QmedNdqkqeboGzz9w868uGf7KnXUaYZe6i1YcdUPPkJnnf" - ], - "license": "AGPL-3.0-only" - }, - "pkg/contracts/src/RegistryFactory.sol": { - "keccak256": "0x888b7f5eb1079f90ccfa0b41d8a970bffd8d4d469f9b31917a58279b358dbda5", - "urls": [ - "bzz-raw://af25fd783de00adf01d1c7caa572801fed0d474306a43b862535b08e65ec10c6", - "dweb:/ipfs/Qmeb2nEaMQLV86y1CYAAV2c6BYpBDTbpLuC1SigeNjdqLo" - ], - "license": "AGPL-3.0-only" - }, - "pkg/contracts/src/interfaces/ISafe.sol": { - "keccak256": "0x878a210809bb684c42157a10f3f90350a67d0a4863f130499942b06f0f2c9143", - "urls": [ - "bzz-raw://fa2d71bd427c3415e98a2ee15ff673f3cc61c17f14d7087c5eedc83b55f6b0ef", - "dweb:/ipfs/QmesVSmJQQzi6ys1cvhQFCJyDXchb736mT5bXks4Yp6Cbj" - ], - "license": "LGPL-3.0-only" - } - }, - "version": 1 - }, - "storageLayout": { - "storage": [], - "types": {} - }, - "ast": { - "absolutePath": "pkg/contracts/src/CVStrategy.sol", - "id": 77612, - "exportedSymbols": { - "BaseStrategy": [ - 3923 - ], - "CVStrategy": [ - 77611 - ], - "ERC165": [ - 58266 - ], - "ERC20": [ - 56991 - ], - "IAllo": [ - 2610 - ], - "IERC165": [ - 58472 - ], - "IPointStrategy": [ - 74722 - ], - "ISybilScorer": [ - 80667 - ], - "Math": [ - 59338 - ], - "Metadata": [ - 3098 - ], - "PassportData": [ - 80585 - ], - "RegistryCommunity": [ - 83082 - ], - "StrategyStruct": [ - 74807 - ], - "console": [ - 29549 - ] - }, - "nodeType": "SourceUnit", - "src": "42:40858:129", - "nodes": [ - { - "id": 74674, - "nodeType": "PragmaDirective", - "src": "42:24:129", - "nodes": [], - "literals": [ - "solidity", - "^", - "0.8", - ".19" - ] - }, - { - "id": 74677, - "nodeType": "ImportDirective", - "src": "68:82:129", - "nodes": [], - "absolutePath": "lib/allo-v2/contracts/strategies/BaseStrategy.sol", - "file": "allo-v2-contracts/strategies/BaseStrategy.sol", - "nameLocation": "-1:-1:-1", - "scope": 77612, - "sourceUnit": 3924, - "symbolAliases": [ - { - "foreign": { - "id": 74675, - "name": "BaseStrategy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3923, - "src": "76:12:129", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - }, - { - "foreign": { - "id": 74676, - "name": "IAllo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2610, - "src": "90:5:129", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - } - ], - "unitAlias": "" - }, - { - "id": 74680, - "nodeType": "ImportDirective", - "src": "152:68:129", - "nodes": [], - "absolutePath": "pkg/contracts/src/RegistryCommunity.sol", - "file": "./RegistryCommunity.sol", - "nameLocation": "-1:-1:-1", - "scope": 77612, - "sourceUnit": 83083, - "symbolAliases": [ - { - "foreign": { - "id": 74678, - "name": "RegistryCommunity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 83082, - "src": "160:17:129", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - }, - { - "foreign": { - "id": 74679, - "name": "Metadata", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3098, - "src": "179:8:129", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - } - ], - "unitAlias": "" - }, - { - "id": 74683, - "nodeType": "ImportDirective", - "src": "221:87:129", - "nodes": [], - "absolutePath": "lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol", - "file": "@openzeppelin/contracts/utils/introspection/ERC165.sol", - "nameLocation": "-1:-1:-1", - "scope": 77612, - "sourceUnit": 58267, - "symbolAliases": [ - { - "foreign": { - "id": 74681, - "name": "ERC165", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 58266, - "src": "229:6:129", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - }, - { - "foreign": { - "id": 74682, - "name": "IERC165", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 58472, - "src": "237:7:129", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - } - ], - "unitAlias": "" - }, - { - "id": 74685, - "nodeType": "ImportDirective", - "src": "309:68:129", - "nodes": [], - "absolutePath": "lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol", - "file": "@openzeppelin/contracts/token/ERC20/ERC20.sol", - "nameLocation": "-1:-1:-1", - "scope": 77612, - "sourceUnit": 56992, - "symbolAliases": [ - { - "foreign": { - "id": 74684, - "name": "ERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 56991, - "src": "317:5:129", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - } - ], - "unitAlias": "" - }, - { - "id": 74687, - "nodeType": "ImportDirective", - "src": "379:46:129", - "nodes": [], - "absolutePath": "lib/forge-std/src/console.sol", - "file": "forge-std/console.sol", - "nameLocation": "-1:-1:-1", - "scope": 77612, - "sourceUnit": 29550, - "symbolAliases": [ - { - "foreign": { - "id": 74686, - "name": "console", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29549, - "src": "387:7:129", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - } - ], - "unitAlias": "" - }, - { - "id": 74689, - "nodeType": "ImportDirective", - "src": "427:65:129", - "nodes": [], - "absolutePath": "lib/openzeppelin-contracts/contracts/utils/math/Math.sol", - "file": "@openzeppelin/contracts/utils/math/Math.sol", - "nameLocation": "-1:-1:-1", - "scope": 77612, - "sourceUnit": 59339, - "symbolAliases": [ - { - "foreign": { - "id": 74688, - "name": "Math", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 59338, - "src": "435:4:129", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - } - ], - "unitAlias": "" - }, - { - "id": 74692, - "nodeType": "ImportDirective", - "src": "493:62:129", - "nodes": [], - "absolutePath": "pkg/contracts/src/ISybilScorer.sol", - "file": "./ISybilScorer.sol", - "nameLocation": "-1:-1:-1", - "scope": 77612, - "sourceUnit": 80668, - "symbolAliases": [ - { - "foreign": { - "id": 74690, - "name": "ISybilScorer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 80667, - "src": "501:12:129", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - }, - { - "foreign": { - "id": 74691, - "name": "PassportData", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 80585, - "src": "515:12:129", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - } - ], - "unitAlias": "" - }, - { - "id": 74722, - "nodeType": "ContractDefinition", - "src": "557:355:129", - "nodes": [ - { - "id": 74697, - "nodeType": "FunctionDefinition", - "src": "588:52:129", - "nodes": [], - "functionSelector": "6453d9c4", - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "deactivatePoints", - "nameLocation": "597:16:129", - "parameters": { - "id": 74695, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 74694, - "mutability": "mutable", - "name": "_member", - "nameLocation": "622:7:129", - "nodeType": "VariableDeclaration", - "scope": 74697, - "src": "614:15:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 74693, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "614:7:129", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "613:17:129" - }, - "returnParameters": { - "id": 74696, - "nodeType": "ParameterList", - "parameters": [], - "src": "639:0:129" - }, - "scope": 74722, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "id": 74706, - "nodeType": "FunctionDefinition", - "src": "645:91:129", - "nodes": [], - "functionSelector": "782aadff", - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "increasePower", - "nameLocation": "654:13:129", - "parameters": { - "id": 74702, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 74699, - "mutability": "mutable", - "name": "_member", - "nameLocation": "676:7:129", - "nodeType": "VariableDeclaration", - "scope": 74706, - "src": "668:15:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 74698, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "668:7:129", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 74701, - "mutability": "mutable", - "name": "_amountToStake", - "nameLocation": "693:14:129", - "nodeType": "VariableDeclaration", - "scope": 74706, - "src": "685:22:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74700, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "685:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "667:41:129" - }, - "returnParameters": { - "id": 74705, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 74704, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 74706, - "src": "727:7:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74703, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "727:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "726:9:129" - }, - "scope": 74722, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "id": 74715, - "nodeType": "FunctionDefinition", - "src": "741:92:129", - "nodes": [], - "functionSelector": "2ed04b2b", - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "decreasePower", - "nameLocation": "750:13:129", - "parameters": { - "id": 74711, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 74708, - "mutability": "mutable", - "name": "_member", - "nameLocation": "772:7:129", - "nodeType": "VariableDeclaration", - "scope": 74715, - "src": "764:15:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 74707, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "764:7:129", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 74710, - "mutability": "mutable", - "name": "_amountToUntake", - "nameLocation": "789:15:129", - "nodeType": "VariableDeclaration", - "scope": 74715, - "src": "781:23:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74709, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "781:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "763:42:129" - }, - "returnParameters": { - "id": 74714, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 74713, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 74715, - "src": "824:7:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74712, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "824:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "823:9:129" - }, - "scope": 74722, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "id": 74721, - "nodeType": "FunctionDefinition", - "src": "838:72:129", - "nodes": [], - "functionSelector": "c3292171", - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "getPointSystem", - "nameLocation": "847:14:129", - "parameters": { - "id": 74716, - "nodeType": "ParameterList", - "parameters": [], - "src": "861:2:129" - }, - "returnParameters": { - "id": 74720, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 74719, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 74721, - "src": "882:26:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_enum$_PointSystem_$74731", - "typeString": "enum StrategyStruct.PointSystem" - }, - "typeName": { - "id": 74718, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 74717, - "name": "StrategyStruct.PointSystem", - "nameLocations": [ - "882:14:129", - "897:11:129" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 74731, - "src": "882:26:129" - }, - "referencedDeclaration": 74731, - "src": "882:26:129", - "typeDescriptions": { - "typeIdentifier": "t_enum$_PointSystem_$74731", - "typeString": "enum StrategyStruct.PointSystem" - } - }, - "visibility": "internal" - } - ], - "src": "881:28:129" - }, - "scope": 74722, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "abstract": false, - "baseContracts": [], - "canonicalName": "IPointStrategy", - "contractDependencies": [], - "contractKind": "interface", - "fullyImplemented": false, - "linearizedBaseContracts": [ - 74722 - ], - "name": "IPointStrategy", - "nameLocation": "567:14:129", - "scope": 77612, - "usedErrors": [] - }, - { - "id": 74807, - "nodeType": "ContractDefinition", - "src": "914:1871:129", - "nodes": [ - { - "id": 74726, - "nodeType": "EnumDefinition", - "src": "943:79:129", - "nodes": [], - "canonicalName": "StrategyStruct.ProposalType", - "members": [ - { - "id": 74723, - "name": "Signaling", - "nameLocation": "971:9:129", - "nodeType": "EnumValue", - "src": "971:9:129" - }, - { - "id": 74724, - "name": "Funding", - "nameLocation": "990:7:129", - "nodeType": "EnumValue", - "src": "990:7:129" - }, - { - "id": 74725, - "name": "Streaming", - "nameLocation": "1007:9:129", - "nodeType": "EnumValue", - "src": "1007:9:129" - } - ], - "name": "ProposalType", - "nameLocation": "948:12:129" - }, - { - "id": 74731, - "nodeType": "EnumDefinition", - "src": "1028:92:129", - "nodes": [], - "canonicalName": "StrategyStruct.PointSystem", - "members": [ - { - "id": 74727, - "name": "Fixed", - "nameLocation": "1055:5:129", - "nodeType": "EnumValue", - "src": "1055:5:129" - }, - { - "id": 74728, - "name": "Capped", - "nameLocation": "1070:6:129", - "nodeType": "EnumValue", - "src": "1070:6:129" - }, - { - "id": 74729, - "name": "Unlimited", - "nameLocation": "1086:9:129", - "nodeType": "EnumValue", - "src": "1086:9:129" - }, - { - "id": 74730, - "name": "Quadratic", - "nameLocation": "1105:9:129", - "nodeType": "EnumValue", - "src": "1105:9:129" - } - ], - "name": "PointSystem", - "nameLocation": "1033:11:129" - }, - { - "id": 74743, - "nodeType": "StructDefinition", - "src": "1126:243:129", - "nodes": [], - "canonicalName": "StrategyStruct.CreateProposal", - "members": [ - { - "constant": false, - "id": 74733, - "mutability": "mutable", - "name": "poolId", - "nameLocation": "1197:6:129", - "nodeType": "VariableDeclaration", - "scope": 74743, - "src": "1189:14:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74732, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1189:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 74735, - "mutability": "mutable", - "name": "beneficiary", - "nameLocation": "1221:11:129", - "nodeType": "VariableDeclaration", - "scope": 74743, - "src": "1213:19:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 74734, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1213:7:129", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 74737, - "mutability": "mutable", - "name": "amountRequested", - "nameLocation": "1288:15:129", - "nodeType": "VariableDeclaration", - "scope": 74743, - "src": "1280:23:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74736, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1280:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 74739, - "mutability": "mutable", - "name": "requestedToken", - "nameLocation": "1321:14:129", - "nodeType": "VariableDeclaration", - "scope": 74743, - "src": "1313:22:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 74738, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1313:7:129", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 74742, - "mutability": "mutable", - "name": "metadata", - "nameLocation": "1354:8:129", - "nodeType": "VariableDeclaration", - "scope": 74743, - "src": "1345:17:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Metadata_$3098_storage_ptr", - "typeString": "struct Metadata" - }, - "typeName": { - "id": 74741, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 74740, - "name": "Metadata", - "nameLocations": [ - "1345:8:129" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 3098, - "src": "1345:8:129" - }, - "referencedDeclaration": 3098, - "src": "1345:8:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Metadata_$3098_storage_ptr", - "typeString": "struct Metadata" - } - }, - "visibility": "internal" - } - ], - "name": "CreateProposal", - "nameLocation": "1133:14:129", - "scope": 74807, - "visibility": "public" - }, - { - "id": 74749, - "nodeType": "EnumDefinition", - "src": "1375:289:129", - "nodes": [], - "canonicalName": "StrategyStruct.ProposalStatus", - "members": [ - { - "id": 74744, - "name": "Inactive", - "nameLocation": "1405:8:129", - "nodeType": "EnumValue", - "src": "1405:8:129" - }, - { - "id": 74745, - "name": "Active", - "nameLocation": "1435:6:129", - "nodeType": "EnumValue", - "src": "1435:6:129" - }, - { - "id": 74746, - "name": "Paused", - "nameLocation": "1498:6:129", - "nodeType": "EnumValue", - "src": "1498:6:129" - }, - { - "id": 74747, - "name": "Cancelled", - "nameLocation": "1563:9:129", - "nodeType": "EnumValue", - "src": "1563:9:129" - }, - { - "id": 74748, - "name": "Executed", - "nameLocation": "1616:8:129", - "nodeType": "EnumValue", - "src": "1616:8:129" - } - ], - "name": "ProposalStatus", - "nameLocation": "1380:14:129" - }, - { - "id": 74776, - "nodeType": "StructDefinition", - "src": "1670:405:129", - "nodes": [], - "canonicalName": "StrategyStruct.Proposal", - "members": [ - { - "constant": false, - "id": 74751, - "mutability": "mutable", - "name": "proposalId", - "nameLocation": "1704:10:129", - "nodeType": "VariableDeclaration", - "scope": 74776, - "src": "1696:18:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74750, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1696:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 74753, - "mutability": "mutable", - "name": "requestedAmount", - "nameLocation": "1732:15:129", - "nodeType": "VariableDeclaration", - "scope": 74776, - "src": "1724:23:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74752, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1724:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 74755, - "mutability": "mutable", - "name": "stakedAmount", - "nameLocation": "1765:12:129", - "nodeType": "VariableDeclaration", - "scope": 74776, - "src": "1757:20:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74754, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1757:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 74757, - "mutability": "mutable", - "name": "convictionLast", - "nameLocation": "1795:14:129", - "nodeType": "VariableDeclaration", - "scope": 74776, - "src": "1787:22:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74756, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1787:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 74759, - "mutability": "mutable", - "name": "beneficiary", - "nameLocation": "1827:11:129", - "nodeType": "VariableDeclaration", - "scope": 74776, - "src": "1819:19:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 74758, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1819:7:129", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 74761, - "mutability": "mutable", - "name": "submitter", - "nameLocation": "1856:9:129", - "nodeType": "VariableDeclaration", - "scope": 74776, - "src": "1848:17:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 74760, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1848:7:129", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 74763, - "mutability": "mutable", - "name": "requestedToken", - "nameLocation": "1883:14:129", - "nodeType": "VariableDeclaration", - "scope": 74776, - "src": "1875:22:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 74762, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1875:7:129", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 74765, - "mutability": "mutable", - "name": "blockLast", - "nameLocation": "1915:9:129", - "nodeType": "VariableDeclaration", - "scope": 74776, - "src": "1907:17:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74764, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1907:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 74768, - "mutability": "mutable", - "name": "proposalStatus", - "nameLocation": "1949:14:129", - "nodeType": "VariableDeclaration", - "scope": 74776, - "src": "1934:29:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_enum$_ProposalStatus_$74749", - "typeString": "enum StrategyStruct.ProposalStatus" - }, - "typeName": { - "id": 74767, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 74766, - "name": "ProposalStatus", - "nameLocations": [ - "1934:14:129" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 74749, - "src": "1934:14:129" - }, - "referencedDeclaration": 74749, - "src": "1934:14:129", - "typeDescriptions": { - "typeIdentifier": "t_enum$_ProposalStatus_$74749", - "typeString": "enum StrategyStruct.ProposalStatus" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 74772, - "mutability": "mutable", - "name": "voterStakedPoints", - "nameLocation": "2001:17:129", - "nodeType": "VariableDeclaration", - "scope": 74776, - "src": "1973:45:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "typeName": { - "id": 74771, - "keyName": "", - "keyNameLocation": "-1:-1:-1", - "keyType": { - "id": 74769, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1981:7:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "1973:27:129", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueName": "", - "valueNameLocation": "-1:-1:-1", - "valueType": { - "id": 74770, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1992:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 74775, - "mutability": "mutable", - "name": "metadata", - "nameLocation": "2060:8:129", - "nodeType": "VariableDeclaration", - "scope": 74776, - "src": "2051:17:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Metadata_$3098_storage_ptr", - "typeString": "struct Metadata" - }, - "typeName": { - "id": 74774, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 74773, - "name": "Metadata", - "nameLocations": [ - "2051:8:129" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 3098, - "src": "2051:8:129" - }, - "referencedDeclaration": 3098, - "src": "2051:8:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Metadata_$3098_storage_ptr", - "typeString": "struct Metadata" - } - }, - "visibility": "internal" - } - ], - "name": "Proposal", - "nameLocation": "1677:8:129", - "scope": 74807, - "visibility": "public" - }, - { - "id": 74781, - "nodeType": "StructDefinition", - "src": "2081:126:129", - "nodes": [], - "canonicalName": "StrategyStruct.ProposalSupport", - "members": [ - { - "constant": false, - "id": 74778, - "mutability": "mutable", - "name": "proposalId", - "nameLocation": "2122:10:129", - "nodeType": "VariableDeclaration", - "scope": 74781, - "src": "2114:18:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74777, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2114:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 74780, - "mutability": "mutable", - "name": "deltaSupport", - "nameLocation": "2149:12:129", - "nodeType": "VariableDeclaration", - "scope": 74781, - "src": "2142:19:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - }, - "typeName": { - "id": 74779, - "name": "int256", - "nodeType": "ElementaryTypeName", - "src": "2142:6:129", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - }, - "visibility": "internal" - } - ], - "name": "ProposalSupport", - "nameLocation": "2088:15:129", - "scope": 74807, - "visibility": "public" - }, - { - "id": 74784, - "nodeType": "StructDefinition", - "src": "2213:89:129", - "nodes": [], - "canonicalName": "StrategyStruct.PointSystemConfig", - "members": [ - { - "constant": false, - "id": 74783, - "mutability": "mutable", - "name": "maxAmount", - "nameLocation": "2286:9:129", - "nodeType": "VariableDeclaration", - "scope": 74784, - "src": "2278:17:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74782, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2278:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "name": "PointSystemConfig", - "nameLocation": "2220:17:129", - "scope": 74807, - "visibility": "public" - }, - { - "id": 74806, - "nodeType": "StructDefinition", - "src": "2308:475:129", - "nodes": [], - "canonicalName": "StrategyStruct.InitializeParams", - "members": [ - { - "constant": false, - "id": 74786, - "mutability": "mutable", - "name": "registryCommunity", - "nameLocation": "2350:17:129", - "nodeType": "VariableDeclaration", - "scope": 74806, - "src": "2342:25:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 74785, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2342:7:129", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 74788, - "mutability": "mutable", - "name": "decay", - "nameLocation": "2414:5:129", - "nodeType": "VariableDeclaration", - "scope": 74806, - "src": "2406:13:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74787, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2406:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 74790, - "mutability": "mutable", - "name": "maxRatio", - "nameLocation": "2484:8:129", - "nodeType": "VariableDeclaration", - "scope": 74806, - "src": "2476:16:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74789, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2476:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 74792, - "mutability": "mutable", - "name": "weight", - "nameLocation": "2538:6:129", - "nodeType": "VariableDeclaration", - "scope": 74806, - "src": "2530:14:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74791, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2530:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 74794, - "mutability": "mutable", - "name": "minThresholdPoints", - "nameLocation": "2562:18:129", - "nodeType": "VariableDeclaration", - "scope": 74806, - "src": "2554:26:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74793, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2554:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 74797, - "mutability": "mutable", - "name": "proposalType", - "nameLocation": "2628:12:129", - "nodeType": "VariableDeclaration", - "scope": 74806, - "src": "2615:25:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_enum$_ProposalType_$74726", - "typeString": "enum StrategyStruct.ProposalType" - }, - "typeName": { - "id": 74796, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 74795, - "name": "ProposalType", - "nameLocations": [ - "2615:12:129" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 74726, - "src": "2615:12:129" - }, - "referencedDeclaration": 74726, - "src": "2615:12:129", - "typeDescriptions": { - "typeIdentifier": "t_enum$_ProposalType_$74726", - "typeString": "enum StrategyStruct.ProposalType" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 74800, - "mutability": "mutable", - "name": "pointSystem", - "nameLocation": "2697:11:129", - "nodeType": "VariableDeclaration", - "scope": 74806, - "src": "2685:23:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_enum$_PointSystem_$74731", - "typeString": "enum StrategyStruct.PointSystem" - }, - "typeName": { - "id": 74799, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 74798, - "name": "PointSystem", - "nameLocations": [ - "2685:11:129" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 74731, - "src": "2685:11:129" - }, - "referencedDeclaration": 74731, - "src": "2685:11:129", - "typeDescriptions": { - "typeIdentifier": "t_enum$_PointSystem_$74731", - "typeString": "enum StrategyStruct.PointSystem" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 74803, - "mutability": "mutable", - "name": "pointConfig", - "nameLocation": "2736:11:129", - "nodeType": "VariableDeclaration", - "scope": 74806, - "src": "2718:29:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PointSystemConfig_$74784_storage_ptr", - "typeString": "struct StrategyStruct.PointSystemConfig" - }, - "typeName": { - "id": 74802, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 74801, - "name": "PointSystemConfig", - "nameLocations": [ - "2718:17:129" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 74784, - "src": "2718:17:129" - }, - "referencedDeclaration": 74784, - "src": "2718:17:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PointSystemConfig_$74784_storage_ptr", - "typeString": "struct StrategyStruct.PointSystemConfig" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 74805, - "mutability": "mutable", - "name": "sybilScorer", - "nameLocation": "2765:11:129", - "nodeType": "VariableDeclaration", - "scope": 74806, - "src": "2757:19:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 74804, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2757:7:129", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "name": "InitializeParams", - "nameLocation": "2315:16:129", - "scope": 74807, - "visibility": "public" - } - ], - "abstract": false, - "baseContracts": [], - "canonicalName": "StrategyStruct", - "contractDependencies": [], - "contractKind": "library", - "fullyImplemented": true, - "linearizedBaseContracts": [ - 74807 - ], - "name": "StrategyStruct", - "nameLocation": "922:14:129", - "scope": 77612, - "usedErrors": [] - }, - { - "id": 77611, - "nodeType": "ContractDefinition", - "src": "2787:38112:129", - "nodes": [ - { - "id": 74816, - "nodeType": "UsingForDirective", - "src": "2853:23:129", - "nodes": [], - "global": false, - "libraryName": { - "id": 74814, - "name": "Math", - "nameLocations": [ - "2859:4:129" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 59338, - "src": "2859:4:129" - }, - "typeName": { - "id": 74815, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2868:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "id": 74818, - "nodeType": "ErrorDefinition", - "src": "3047:25:129", - "nodes": [], - "errorSelector": "d1f28288", - "name": "UserCannotBeZero", - "nameLocation": "3053:16:129", - "parameters": { - "id": 74817, - "nodeType": "ParameterList", - "parameters": [], - "src": "3069:2:129" - } - }, - { - "id": 74820, - "nodeType": "ErrorDefinition", - "src": "3091:26:129", - "nodes": [], - "errorSelector": "6a5cfb6d", - "name": "UserNotInRegistry", - "nameLocation": "3097:17:129", - "parameters": { - "id": 74819, - "nodeType": "ParameterList", - "parameters": [], - "src": "3114:2:129" - } - }, - { - "id": 74822, - "nodeType": "ErrorDefinition", - "src": "3135:23:129", - "nodes": [], - "errorSelector": "5fccb67f", - "name": "UserIsInactive", - "nameLocation": "3141:14:129", - "parameters": { - "id": 74821, - "nodeType": "ParameterList", - "parameters": [], - "src": "3155:2:129" - } - }, - { - "id": 74824, - "nodeType": "ErrorDefinition", - "src": "3177:20:129", - "nodes": [], - "errorSelector": "ed4421ad", - "name": "PoolIsEmpty", - "nameLocation": "3183:11:129", - "parameters": { - "id": 74823, - "nodeType": "ParameterList", - "parameters": [], - "src": "3194:2:129" - } - }, - { - "id": 74826, - "nodeType": "ErrorDefinition", - "src": "3216:23:129", - "nodes": [], - "errorSelector": "d6234725", - "name": "NotImplemented", - "nameLocation": "3222:14:129", - "parameters": { - "id": 74825, - "nodeType": "ParameterList", - "parameters": [], - "src": "3236:2:129" - } - }, - { - "id": 74828, - "nodeType": "ErrorDefinition", - "src": "3257:26:129", - "nodes": [], - "errorSelector": "596a094c", - "name": "TokenCannotBeZero", - "nameLocation": "3263:17:129", - "parameters": { - "id": 74827, - "nodeType": "ParameterList", - "parameters": [], - "src": "3280:2:129" - } - }, - { - "id": 74830, - "nodeType": "ErrorDefinition", - "src": "3301:24:129", - "nodes": [], - "errorSelector": "a29c4986", - "name": "TokenNotAllowed", - "nameLocation": "3307:15:129", - "parameters": { - "id": 74829, - "nodeType": "ParameterList", - "parameters": [], - "src": "3322:2:129" - } - }, - { - "id": 74832, - "nodeType": "ErrorDefinition", - "src": "3344:27:129", - "nodes": [], - "errorSelector": "3bf5ca14", - "name": "AmountOverMaxRatio", - "nameLocation": "3350:18:129", - "parameters": { - "id": 74831, - "nodeType": "ParameterList", - "parameters": [], - "src": "3368:2:129" - } - }, - { - "id": 74834, - "nodeType": "ErrorDefinition", - "src": "3390:27:129", - "nodes": [], - "errorSelector": "4e791786", - "name": "PoolIdCannotBeZero", - "nameLocation": "3396:18:129", - "parameters": { - "id": 74833, - "nodeType": "ParameterList", - "parameters": [], - "src": "3414:2:129" - } - }, - { - "id": 74836, - "nodeType": "ErrorDefinition", - "src": "3435:28:129", - "nodes": [], - "errorSelector": "e622e040", - "name": "AddressCannotBeZero", - "nameLocation": "3441:19:129", - "parameters": { - "id": 74835, - "nodeType": "ParameterList", - "parameters": [], - "src": "3460:2:129" - } - }, - { - "id": 74838, - "nodeType": "ErrorDefinition", - "src": "3481:29:129", - "nodes": [], - "errorSelector": "5df4b1ef", - "name": "RegistryCannotBeZero", - "nameLocation": "3487:20:129", - "parameters": { - "id": 74837, - "nodeType": "ParameterList", - "parameters": [], - "src": "3507:2:129" - } - }, - { - "id": 74846, - "nodeType": "ErrorDefinition", - "src": "3529:72:129", - "nodes": [], - "errorSelector": "3bbc7142", - "name": "SupportUnderflow", - "nameLocation": "3535:16:129", - "parameters": { - "id": 74845, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 74840, - "mutability": "mutable", - "name": "_support", - "nameLocation": "3560:8:129", - "nodeType": "VariableDeclaration", - "scope": 74846, - "src": "3552:16:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74839, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3552:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 74842, - "mutability": "mutable", - "name": "_delta", - "nameLocation": "3577:6:129", - "nodeType": "VariableDeclaration", - "scope": 74846, - "src": "3570:13:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - }, - "typeName": { - "id": 74841, - "name": "int256", - "nodeType": "ElementaryTypeName", - "src": "3570:6:129", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 74844, - "mutability": "mutable", - "name": "_result", - "nameLocation": "3592:7:129", - "nodeType": "VariableDeclaration", - "scope": 74846, - "src": "3585:14:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - }, - "typeName": { - "id": 74843, - "name": "int256", - "nodeType": "ElementaryTypeName", - "src": "3585:6:129", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - }, - "visibility": "internal" - } - ], - "src": "3551:49:129" - } - }, - { - "id": 74848, - "nodeType": "ErrorDefinition", - "src": "3620:25:129", - "nodes": [], - "errorSelector": "8402b474", - "name": "MaxPointsReached", - "nameLocation": "3626:16:129", - "parameters": { - "id": 74847, - "nodeType": "ParameterList", - "parameters": [], - "src": "3642:2:129" - } - }, - { - "id": 74850, - "nodeType": "ErrorDefinition", - "src": "3664:32:129", - "nodes": [], - "errorSelector": "573c3e93", - "name": "CantIncreaseFixedSystem", - "nameLocation": "3670:23:129", - "parameters": { - "id": 74849, - "nodeType": "ParameterList", - "parameters": [], - "src": "3693:2:129" - } - }, - { - "id": 74856, - "nodeType": "ErrorDefinition", - "src": "3715:77:129", - "nodes": [], - "errorSelector": "d64182fe", - "name": "NotEnoughPointsToSupport", - "nameLocation": "3721:24:129", - "parameters": { - "id": 74855, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 74852, - "mutability": "mutable", - "name": "pointsSupport", - "nameLocation": "3754:13:129", - "nodeType": "VariableDeclaration", - "scope": 74856, - "src": "3746:21:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74851, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3746:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 74854, - "mutability": "mutable", - "name": "pointsBalance", - "nameLocation": "3777:13:129", - "nodeType": "VariableDeclaration", - "scope": 74856, - "src": "3769:21:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74853, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3769:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "3745:46:129" - } - }, - { - "id": 74858, - "nodeType": "ErrorDefinition", - "src": "3812:28:129", - "nodes": [], - "errorSelector": "c5f7c4c0", - "name": "ProposalDataIsEmpty", - "nameLocation": "3818:19:129", - "parameters": { - "id": 74857, - "nodeType": "ParameterList", - "parameters": [], - "src": "3837:2:129" - } - }, - { - "id": 74860, - "nodeType": "ErrorDefinition", - "src": "3858:31:129", - "nodes": [], - "errorSelector": "f881a10d", - "name": "ProposalIdCannotBeZero", - "nameLocation": "3864:22:129", - "parameters": { - "id": 74859, - "nodeType": "ParameterList", - "parameters": [], - "src": "3886:2:129" - } - }, - { - "id": 74864, - "nodeType": "ErrorDefinition", - "src": "3907:45:129", - "nodes": [], - "errorSelector": "44980d8f", - "name": "ProposalNotActive", - "nameLocation": "3913:17:129", - "parameters": { - "id": 74863, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 74862, - "mutability": "mutable", - "name": "_proposalId", - "nameLocation": "3939:11:129", - "nodeType": "VariableDeclaration", - "scope": 74864, - "src": "3931:19:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74861, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3931:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "3930:21:129" - } - }, - { - "id": 74868, - "nodeType": "ErrorDefinition", - "src": "3971:45:129", - "nodes": [], - "errorSelector": "c1d17bef", - "name": "ProposalNotInList", - "nameLocation": "3977:17:129", - "parameters": { - "id": 74867, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 74866, - "mutability": "mutable", - "name": "_proposalId", - "nameLocation": "4003:11:129", - "nodeType": "VariableDeclaration", - "scope": 74868, - "src": "3995:19:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74865, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3995:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "3994:21:129" - } - }, - { - "id": 74874, - "nodeType": "ErrorDefinition", - "src": "4035:68:129", - "nodes": [], - "errorSelector": "adebb154", - "name": "ProposalSupportDuplicated", - "nameLocation": "4041:25:129", - "parameters": { - "id": 74873, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 74870, - "mutability": "mutable", - "name": "_proposalId", - "nameLocation": "4075:11:129", - "nodeType": "VariableDeclaration", - "scope": 74874, - "src": "4067:19:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74869, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4067:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 74872, - "mutability": "mutable", - "name": "index", - "nameLocation": "4096:5:129", - "nodeType": "VariableDeclaration", - "scope": 74874, - "src": "4088:13:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74871, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4088:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "4066:36:129" - } - }, - { - "id": 74876, - "nodeType": "ErrorDefinition", - "src": "4121:40:129", - "nodes": [], - "errorSelector": "cce79308", - "name": "ConvictionUnderMinimumThreshold", - "nameLocation": "4127:31:129", - "parameters": { - "id": 74875, - "nodeType": "ParameterList", - "parameters": [], - "src": "4158:2:129" - } - }, - { - "id": 74878, - "nodeType": "ErrorDefinition", - "src": "4180:29:129", - "nodes": [], - "errorSelector": "af0916a2", - "name": "OnlyCommunityAllowed", - "nameLocation": "4186:20:129", - "parameters": { - "id": 74877, - "nodeType": "ParameterList", - "parameters": [], - "src": "4206:2:129" - } - }, - { - "id": 74886, - "nodeType": "ErrorDefinition", - "src": "4228:94:129", - "nodes": [], - "errorSelector": "5863b0b6", - "name": "PoolAmountNotEnough", - "nameLocation": "4234:19:129", - "parameters": { - "id": 74885, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 74880, - "mutability": "mutable", - "name": "_proposalId", - "nameLocation": "4262:11:129", - "nodeType": "VariableDeclaration", - "scope": 74886, - "src": "4254:19:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74879, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4254:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 74882, - "mutability": "mutable", - "name": "_requestedAmount", - "nameLocation": "4283:16:129", - "nodeType": "VariableDeclaration", - "scope": 74886, - "src": "4275:24:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74881, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4275:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 74884, - "mutability": "mutable", - "name": "_poolAmount", - "nameLocation": "4309:11:129", - "nodeType": "VariableDeclaration", - "scope": 74886, - "src": "4301:19:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74883, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4301:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "4253:68:129" - } - }, - { - "id": 74888, - "nodeType": "ErrorDefinition", - "src": "4340:24:129", - "nodes": [], - "errorSelector": "e860ec7e", - "name": "OnlyCouncilSafe", - "nameLocation": "4346:15:129", - "parameters": { - "id": 74887, - "nodeType": "ParameterList", - "parameters": [], - "src": "4361:2:129" - } - }, - { - "id": 74890, - "nodeType": "ErrorDefinition", - "src": "4369:32:129", - "nodes": [], - "errorSelector": "5b96b588", - "name": "UserCannotExecuteAction", - "nameLocation": "4375:23:129", - "parameters": { - "id": 74889, - "nodeType": "ParameterList", - "parameters": [], - "src": "4398:2:129" - } - }, - { - "id": 74897, - "nodeType": "EventDefinition", - "src": "4573:74:129", - "nodes": [], - "anonymous": false, - "eventSelector": "4ebdec05fb64815e553aeaf3976ef8112dd79760a459bee3ac7d1659ab2c4e04", - "name": "InitializedCV", - "nameLocation": "4579:13:129", - "parameters": { - "id": 74896, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 74892, - "indexed": false, - "mutability": "mutable", - "name": "poolId", - "nameLocation": "4601:6:129", - "nodeType": "VariableDeclaration", - "scope": 74897, - "src": "4593:14:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74891, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4593:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 74895, - "indexed": false, - "mutability": "mutable", - "name": "data", - "nameLocation": "4641:4:129", - "nodeType": "VariableDeclaration", - "scope": 74897, - "src": "4609:36:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_struct$_InitializeParams_$74806_memory_ptr", - "typeString": "struct StrategyStruct.InitializeParams" - }, - "typeName": { - "id": 74894, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 74893, - "name": "StrategyStruct.InitializeParams", - "nameLocations": [ - "4609:14:129", - "4624:16:129" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 74806, - "src": "4609:31:129" - }, - "referencedDeclaration": 74806, - "src": "4609:31:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_InitializeParams_$74806_storage_ptr", - "typeString": "struct StrategyStruct.InitializeParams" - } - }, - "visibility": "internal" - } - ], - "src": "4592:54:129" - } - }, - { - "id": 74905, - "nodeType": "EventDefinition", - "src": "4652:75:129", - "nodes": [], - "anonymous": false, - "eventSelector": "a7932e9c92f31e1ed56b29d00bbe669a97484dc24de28dd9c8c0429df7f35847", - "name": "Distributed", - "nameLocation": "4658:11:129", - "parameters": { - "id": 74904, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 74899, - "indexed": false, - "mutability": "mutable", - "name": "proposalId", - "nameLocation": "4678:10:129", - "nodeType": "VariableDeclaration", - "scope": 74905, - "src": "4670:18:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74898, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4670:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 74901, - "indexed": false, - "mutability": "mutable", - "name": "beneficiary", - "nameLocation": "4698:11:129", - "nodeType": "VariableDeclaration", - "scope": 74905, - "src": "4690:19:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 74900, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4690:7:129", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 74903, - "indexed": false, - "mutability": "mutable", - "name": "amount", - "nameLocation": "4719:6:129", - "nodeType": "VariableDeclaration", - "scope": 74905, - "src": "4711:14:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74902, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4711:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "4669:57:129" - } - }, - { - "id": 74911, - "nodeType": "EventDefinition", - "src": "4732:58:129", - "nodes": [], - "anonymous": false, - "eventSelector": "fcf3b1aa65a464cef2889608f99e8b8c0f680a4be6c2acb9d961c536a5a9294b", - "name": "ProposalCreated", - "nameLocation": "4738:15:129", - "parameters": { - "id": 74910, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 74907, - "indexed": false, - "mutability": "mutable", - "name": "poolId", - "nameLocation": "4762:6:129", - "nodeType": "VariableDeclaration", - "scope": 74911, - "src": "4754:14:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74906, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4754:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 74909, - "indexed": false, - "mutability": "mutable", - "name": "proposalId", - "nameLocation": "4778:10:129", - "nodeType": "VariableDeclaration", - "scope": 74911, - "src": "4770:18:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74908, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4770:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "4753:36:129" - } - }, - { - "id": 74915, - "nodeType": "EventDefinition", - "src": "4795:42:129", - "nodes": [], - "anonymous": false, - "eventSelector": "46aeb5d8770fc4474bc2dfa118fd2595f7fb33ce2cbce6f4e5a3dabfe0f76339", - "name": "PoolAmountIncreased", - "nameLocation": "4801:19:129", - "parameters": { - "id": 74914, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 74913, - "indexed": false, - "mutability": "mutable", - "name": "amount", - "nameLocation": "4829:6:129", - "nodeType": "VariableDeclaration", - "scope": 74915, - "src": "4821:14:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74912, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4821:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "4820:16:129" - } - }, - { - "id": 74923, - "nodeType": "EventDefinition", - "src": "4842:85:129", - "nodes": [], - "anonymous": false, - "eventSelector": "0b9150e1e54346ed3fa36b977cd5d65dca5a649c737c3174a26bddaadd47667a", - "name": "PowerIncreased", - "nameLocation": "4848:14:129", - "parameters": { - "id": 74922, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 74917, - "indexed": false, - "mutability": "mutable", - "name": "member", - "nameLocation": "4871:6:129", - "nodeType": "VariableDeclaration", - "scope": 74923, - "src": "4863:14:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 74916, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4863:7:129", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 74919, - "indexed": false, - "mutability": "mutable", - "name": "tokensStaked", - "nameLocation": "4887:12:129", - "nodeType": "VariableDeclaration", - "scope": 74923, - "src": "4879:20:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74918, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4879:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 74921, - "indexed": false, - "mutability": "mutable", - "name": "pointsToIncrease", - "nameLocation": "4909:16:129", - "nodeType": "VariableDeclaration", - "scope": 74923, - "src": "4901:24:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74920, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4901:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "4862:64:129" - } - }, - { - "id": 74931, - "nodeType": "EventDefinition", - "src": "4932:87:129", - "nodes": [], - "anonymous": false, - "eventSelector": "70b752f3fadb6ac131c0ece847fcbb6994ec56ed6411595710fd9b29c6ac6cc1", - "name": "PowerDecreased", - "nameLocation": "4938:14:129", - "parameters": { - "id": 74930, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 74925, - "indexed": false, - "mutability": "mutable", - "name": "member", - "nameLocation": "4961:6:129", - "nodeType": "VariableDeclaration", - "scope": 74931, - "src": "4953:14:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 74924, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4953:7:129", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 74927, - "indexed": false, - "mutability": "mutable", - "name": "tokensUnStaked", - "nameLocation": "4977:14:129", - "nodeType": "VariableDeclaration", - "scope": 74931, - "src": "4969:22:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74926, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4969:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 74929, - "indexed": false, - "mutability": "mutable", - "name": "pointsToDecrease", - "nameLocation": "5001:16:129", - "nodeType": "VariableDeclaration", - "scope": 74931, - "src": "4993:24:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74928, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4993:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "4952:66:129" - } - }, - { - "id": 74943, - "nodeType": "EventDefinition", - "src": "5024:134:129", - "nodes": [], - "anonymous": false, - "eventSelector": "0227f642ddcf2042ceaeafadb9d540f432072c00cd4862881667168dcc14710f", - "name": "SupportAdded", - "nameLocation": "5030:12:129", - "parameters": { - "id": 74942, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 74933, - "indexed": false, - "mutability": "mutable", - "name": "from", - "nameLocation": "5060:4:129", - "nodeType": "VariableDeclaration", - "scope": 74943, - "src": "5052:12:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 74932, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5052:7:129", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 74935, - "indexed": false, - "mutability": "mutable", - "name": "proposalId", - "nameLocation": "5074:10:129", - "nodeType": "VariableDeclaration", - "scope": 74943, - "src": "5066:18:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74934, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5066:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 74937, - "indexed": false, - "mutability": "mutable", - "name": "amount", - "nameLocation": "5094:6:129", - "nodeType": "VariableDeclaration", - "scope": 74943, - "src": "5086:14:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74936, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5086:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 74939, - "indexed": false, - "mutability": "mutable", - "name": "totalStakedAmount", - "nameLocation": "5110:17:129", - "nodeType": "VariableDeclaration", - "scope": 74943, - "src": "5102:25:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74938, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5102:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 74941, - "indexed": false, - "mutability": "mutable", - "name": "convictionLast", - "nameLocation": "5137:14:129", - "nodeType": "VariableDeclaration", - "scope": 74943, - "src": "5129:22:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74940, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5129:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "5042:115:129" - } - }, - { - "id": 74947, - "nodeType": "EventDefinition", - "src": "5163:40:129", - "nodes": [], - "anonymous": false, - "eventSelector": "1468da654b37bb3631011c1917d02e0db437d519918858d40b38b5e980ca033b", - "name": "PointsDeactivated", - "nameLocation": "5169:17:129", - "parameters": { - "id": 74946, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 74945, - "indexed": false, - "mutability": "mutable", - "name": "member", - "nameLocation": "5195:6:129", - "nodeType": "VariableDeclaration", - "scope": 74947, - "src": "5187:14:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 74944, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5187:7:129", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "5186:16:129" - } - }, - { - "id": 74951, - "nodeType": "EventDefinition", - "src": "5208:34:129", - "nodes": [], - "anonymous": false, - "eventSelector": "592dcd55d60d892e7fcb3ba105013312e99691cd59f91e15f83cb67cb5a505f2", - "name": "DecayUpdated", - "nameLocation": "5214:12:129", - "parameters": { - "id": 74950, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 74949, - "indexed": false, - "mutability": "mutable", - "name": "decay", - "nameLocation": "5235:5:129", - "nodeType": "VariableDeclaration", - "scope": 74951, - "src": "5227:13:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74948, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5227:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "5226:15:129" - } - }, - { - "id": 74955, - "nodeType": "EventDefinition", - "src": "5247:40:129", - "nodes": [], - "anonymous": false, - "eventSelector": "08e39b387d1f739ce0d2553bb31822392e3f67c62c6c0a215120ab4a6841a8ab", - "name": "MaxRatioUpdated", - "nameLocation": "5253:15:129", - "parameters": { - "id": 74954, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 74953, - "indexed": false, - "mutability": "mutable", - "name": "maxRatio", - "nameLocation": "5277:8:129", - "nodeType": "VariableDeclaration", - "scope": 74955, - "src": "5269:16:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74952, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5269:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "5268:18:129" - } - }, - { - "id": 74959, - "nodeType": "EventDefinition", - "src": "5292:36:129", - "nodes": [], - "anonymous": false, - "eventSelector": "30ee8206062f283e56a0af2b02138016bf7442ded26ad68a92a18a9dd246fb49", - "name": "WeightUpdated", - "nameLocation": "5298:13:129", - "parameters": { - "id": 74958, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 74957, - "indexed": false, - "mutability": "mutable", - "name": "weight", - "nameLocation": "5320:6:129", - "nodeType": "VariableDeclaration", - "scope": 74959, - "src": "5312:14:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74956, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5312:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "5311:16:129" - } - }, - { - "id": 74963, - "nodeType": "EventDefinition", - "src": "5333:49:129", - "nodes": [], - "anonymous": false, - "eventSelector": "d6ceddf6d2a22f21c7c81675c518004eff43bc5c8a6fc32a0b748e69d58671cd", - "name": "RegistryUpdated", - "nameLocation": "5339:15:129", - "parameters": { - "id": 74962, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 74961, - "indexed": false, - "mutability": "mutable", - "name": "registryCommunity", - "nameLocation": "5363:17:129", - "nodeType": "VariableDeclaration", - "scope": 74963, - "src": "5355:25:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 74960, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5355:7:129", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "5354:27:129" - } - }, - { - "id": 74969, - "nodeType": "EventDefinition", - "src": "5387:76:129", - "nodes": [], - "anonymous": false, - "eventSelector": "056aedca4e334b6c4bea48715fb0de644811b740894de57a0380d3eb90f2805b", - "name": "MinThresholdPointsUpdated", - "nameLocation": "5393:25:129", - "parameters": { - "id": 74968, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 74965, - "indexed": false, - "mutability": "mutable", - "name": "before", - "nameLocation": "5427:6:129", - "nodeType": "VariableDeclaration", - "scope": 74969, - "src": "5419:14:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74964, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5419:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 74967, - "indexed": false, - "mutability": "mutable", - "name": "minThresholdPoints", - "nameLocation": "5443:18:129", - "nodeType": "VariableDeclaration", - "scope": 74969, - "src": "5435:26:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74966, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5435:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "5418:44:129" - } - }, - { - "id": 74972, - "nodeType": "VariableDeclaration", - "src": "5837:36:129", - "nodes": [], - "constant": true, - "functionSelector": "0f529ba2", - "mutability": "constant", - "name": "D", - "nameLocation": "5861:1:129", - "scope": 77611, - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74970, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5837:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "hexValue": "3130303030303030", - "id": 74971, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5865:8:129", - "typeDescriptions": { - "typeIdentifier": "t_rational_10000000_by_1", - "typeString": "int_const 10000000" - }, - "value": "10000000" - }, - "visibility": "public" - }, - { - "id": 74975, - "nodeType": "VariableDeclaration", - "src": "5887:70:129", - "nodes": [], - "constant": true, - "mutability": "constant", - "name": "TWO_128", - "nameLocation": "5912:7:129", - "scope": 77611, - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74973, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5887:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "hexValue": "3078313030303030303030303030303030303030303030303030303030303030303030", - "id": 74974, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5922:35:129", - "typeDescriptions": { - "typeIdentifier": "t_rational_340282366920938463463374607431768211456_by_1", - "typeString": "int_const 3402...(31 digits omitted)...1456" - }, - "value": "0x100000000000000000000000000000000" - }, - "visibility": "private" - }, - { - "id": 74978, - "nodeType": "VariableDeclaration", - "src": "5973:69:129", - "nodes": [], - "constant": true, - "mutability": "constant", - "name": "TWO_127", - "nameLocation": "5998:7:129", - "scope": 77611, - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74976, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5973:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "hexValue": "30783830303030303030303030303030303030303030303030303030303030303030", - "id": 74977, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6008:34:129", - "typeDescriptions": { - "typeIdentifier": "t_rational_170141183460469231731687303715884105728_by_1", - "typeString": "int_const 1701...(31 digits omitted)...5728" - }, - "value": "0x80000000000000000000000000000000" - }, - "visibility": "private" - }, - { - "id": 74981, - "nodeType": "VariableDeclaration", - "src": "6058:53:129", - "nodes": [], - "constant": true, - "mutability": "constant", - "name": "TWO_64", - "nameLocation": "6083:6:129", - "scope": 77611, - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74979, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6058:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "hexValue": "30783130303030303030303030303030303030", - "id": 74980, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6092:19:129", - "typeDescriptions": { - "typeIdentifier": "t_rational_18446744073709551616_by_1", - "typeString": "int_const 18446744073709551616" - }, - "value": "0x10000000000000000" - }, - "visibility": "private" - }, - { - "id": 74984, - "nodeType": "VariableDeclaration", - "src": "6126:49:129", - "nodes": [], - "constant": true, - "functionSelector": "406244d8", - "mutability": "constant", - "name": "MAX_STAKED_PROPOSALS", - "nameLocation": "6150:20:129", - "scope": 77611, - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74982, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6126:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "hexValue": "3130", - "id": 74983, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6173:2:129", - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - "visibility": "public" - }, - { - "id": 74986, - "nodeType": "VariableDeclaration", - "src": "6303:20:129", - "nodes": [], - "constant": false, - "functionSelector": "54fac919", - "mutability": "mutable", - "name": "decay", - "nameLocation": "6318:5:129", - "scope": 77611, - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74985, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6303:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "public" - }, - { - "id": 74988, - "nodeType": "VariableDeclaration", - "src": "6329:23:129", - "nodes": [], - "constant": false, - "functionSelector": "76365af7", - "mutability": "mutable", - "name": "maxRatio", - "nameLocation": "6344:8:129", - "scope": 77611, - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74987, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6329:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "public" - }, - { - "id": 74990, - "nodeType": "VariableDeclaration", - "src": "6358:21:129", - "nodes": [], - "constant": false, - "functionSelector": "a1aab33f", - "mutability": "mutable", - "name": "weight", - "nameLocation": "6373:6:129", - "scope": 77611, - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74989, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6358:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "public" - }, - { - "id": 74993, - "nodeType": "VariableDeclaration", - "src": "6385:34:129", - "nodes": [], - "constant": false, - "functionSelector": "0c0512e9", - "mutability": "mutable", - "name": "proposalCounter", - "nameLocation": "6400:15:129", - "scope": 77611, - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74991, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6385:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "hexValue": "30", - "id": 74992, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6418:1:129", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "visibility": "public" - }, - { - "id": 74995, - "nodeType": "VariableDeclaration", - "src": "6425:26:129", - "nodes": [], - "constant": false, - "functionSelector": "817b1cd2", - "mutability": "mutable", - "name": "totalStaked", - "nameLocation": "6440:11:129", - "scope": 77611, - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74994, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6425:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "public" - }, - { - "id": 74997, - "nodeType": "VariableDeclaration", - "src": "6457:35:129", - "nodes": [], - "constant": false, - "functionSelector": "aba9ffee", - "mutability": "mutable", - "name": "totalPointsActivated", - "nameLocation": "6472:20:129", - "scope": 77611, - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74996, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6457:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "public" - }, - { - "id": 75000, - "nodeType": "VariableDeclaration", - "src": "6498:38:129", - "nodes": [], - "constant": false, - "functionSelector": "7c6570ba", - "mutability": "mutable", - "name": "_minThresholdPoints", - "nameLocation": "6513:19:129", - "scope": 77611, - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74998, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6498:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "hexValue": "30", - "id": 74999, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6535:1:129", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "visibility": "public" - }, - { - "id": 75002, - "nodeType": "VariableDeclaration", - "src": "6577:47:129", - "nodes": [], - "constant": false, - "mutability": "mutable", - "name": "surpressStateMutabilityWarning", - "nameLocation": "6594:30:129", - "scope": 77611, - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 75001, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6577:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "id": 75005, - "nodeType": "VariableDeclaration", - "src": "6709:47:129", - "nodes": [], - "constant": false, - "functionSelector": "351d9f96", - "mutability": "mutable", - "name": "proposalType", - "nameLocation": "6744:12:129", - "scope": 77611, - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_enum$_ProposalType_$74726", - "typeString": "enum StrategyStruct.ProposalType" - }, - "typeName": { - "id": 75004, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 75003, - "name": "StrategyStruct.ProposalType", - "nameLocations": [ - "6709:14:129", - "6724:12:129" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 74726, - "src": "6709:27:129" - }, - "referencedDeclaration": 74726, - "src": "6709:27:129", - "typeDescriptions": { - "typeIdentifier": "t_enum$_ProposalType_$74726", - "typeString": "enum StrategyStruct.ProposalType" - } - }, - "visibility": "public" - }, - { - "id": 75008, - "nodeType": "VariableDeclaration", - "src": "6815:45:129", - "nodes": [], - "constant": false, - "functionSelector": "2dbd6fdd", - "mutability": "mutable", - "name": "pointSystem", - "nameLocation": "6849:11:129", - "scope": 77611, - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_enum$_PointSystem_$74731", - "typeString": "enum StrategyStruct.PointSystem" - }, - "typeName": { - "id": 75007, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 75006, - "name": "StrategyStruct.PointSystem", - "nameLocations": [ - "6815:14:129", - "6830:11:129" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 74731, - "src": "6815:26:129" - }, - "referencedDeclaration": 74731, - "src": "6815:26:129", - "typeDescriptions": { - "typeIdentifier": "t_enum$_PointSystem_$74731", - "typeString": "enum StrategyStruct.PointSystem" - } - }, - "visibility": "public" - }, - { - "id": 75011, - "nodeType": "VariableDeclaration", - "src": "6866:51:129", - "nodes": [], - "constant": false, - "functionSelector": "a47ff7e5", - "mutability": "mutable", - "name": "pointConfig", - "nameLocation": "6906:11:129", - "scope": 77611, - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PointSystemConfig_$74784_storage", - "typeString": "struct StrategyStruct.PointSystemConfig" - }, - "typeName": { - "id": 75010, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 75009, - "name": "StrategyStruct.PointSystemConfig", - "nameLocations": [ - "6866:14:129", - "6881:17:129" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 74784, - "src": "6866:32:129" - }, - "referencedDeclaration": 74784, - "src": "6866:32:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PointSystemConfig_$74784_storage_ptr", - "typeString": "struct StrategyStruct.PointSystemConfig" - } - }, - "visibility": "public" - }, - { - "id": 75014, - "nodeType": "VariableDeclaration", - "src": "6950:42:129", - "nodes": [], - "constant": false, - "functionSelector": "6003e414", - "mutability": "mutable", - "name": "registryCommunity", - "nameLocation": "6975:17:129", - "scope": 77611, - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_RegistryCommunity_$83082", - "typeString": "contract RegistryCommunity" - }, - "typeName": { - "id": 75013, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 75012, - "name": "RegistryCommunity", - "nameLocations": [ - "6950:17:129" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 83082, - "src": "6950:17:129" - }, - "referencedDeclaration": 83082, - "src": "6950:17:129", - "typeDescriptions": { - "typeIdentifier": "t_contract$_RegistryCommunity_$83082", - "typeString": "contract RegistryCommunity" - } - }, - "visibility": "public" - }, - { - "id": 75017, - "nodeType": "VariableDeclaration", - "src": "6998:31:129", - "nodes": [], - "constant": false, - "functionSelector": "b6c61f31", - "mutability": "mutable", - "name": "sybilScorer", - "nameLocation": "7018:11:129", - "scope": 77611, - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ISybilScorer_$80667", - "typeString": "contract ISybilScorer" - }, - "typeName": { - "id": 75016, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 75015, - "name": "ISybilScorer", - "nameLocations": [ - "6998:12:129" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 80667, - "src": "6998:12:129" - }, - "referencedDeclaration": 80667, - "src": "6998:12:129", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ISybilScorer_$80667", - "typeString": "contract ISybilScorer" - } - }, - "visibility": "public" - }, - { - "id": 75022, - "nodeType": "VariableDeclaration", - "src": "7096:60:129", - "nodes": [], - "constant": false, - "functionSelector": "013cf08b", - "mutability": "mutable", - "name": "proposals", - "nameLocation": "7147:9:129", - "scope": 77611, - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Proposal_$74776_storage_$", - "typeString": "mapping(uint256 => struct StrategyStruct.Proposal)" - }, - "typeName": { - "id": 75021, - "keyName": "", - "keyNameLocation": "-1:-1:-1", - "keyType": { - "id": 75018, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7104:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Mapping", - "src": "7096:43:129", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Proposal_$74776_storage_$", - "typeString": "mapping(uint256 => struct StrategyStruct.Proposal)" - }, - "valueName": "", - "valueNameLocation": "-1:-1:-1", - "valueType": { - "id": 75020, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 75019, - "name": "StrategyStruct.Proposal", - "nameLocations": [ - "7115:14:129", - "7130:8:129" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 74776, - "src": "7115:23:129" - }, - "referencedDeclaration": 74776, - "src": "7115:23:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal" - } - } - }, - "visibility": "public" - }, - { - "id": 75026, - "nodeType": "VariableDeclaration", - "src": "7212:53:129", - "nodes": [], - "constant": false, - "functionSelector": "5db64b99", - "mutability": "mutable", - "name": "totalVoterStakePct", - "nameLocation": "7247:18:129", - "scope": 77611, - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "typeName": { - "id": 75025, - "keyName": "", - "keyNameLocation": "-1:-1:-1", - "keyType": { - "id": 75023, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7220:7:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "7212:27:129", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueName": "", - "valueNameLocation": "-1:-1:-1", - "valueType": { - "id": 75024, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7231:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "visibility": "public" - }, - { - "id": 75031, - "nodeType": "VariableDeclaration", - "src": "7303:57:129", - "nodes": [], - "constant": false, - "functionSelector": "868c57b8", - "mutability": "mutable", - "name": "voterStakedProposals", - "nameLocation": "7340:20:129", - "scope": 77611, - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$", - "typeString": "mapping(address => uint256[])" - }, - "typeName": { - "id": 75030, - "keyName": "", - "keyNameLocation": "-1:-1:-1", - "keyType": { - "id": 75027, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7311:7:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "7303:29:129", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$", - "typeString": "mapping(address => uint256[])" - }, - "valueName": "", - "valueNameLocation": "-1:-1:-1", - "valueType": { - "baseType": { - "id": 75028, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7322:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 75029, - "nodeType": "ArrayTypeName", - "src": "7322:9:129", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - } - }, - "visibility": "public" - }, - { - "id": 75050, - "nodeType": "ModifierDefinition", - "src": "7399:184:129", - "nodes": [], - "body": { - "id": 75049, - "nodeType": "Block", - "src": "7426:157:129", - "nodes": [], - "statements": [ - { - "condition": { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 75041, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 75033, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "7440:3:129", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 75034, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "7444:6:129", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "7440:10:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "arguments": [ - { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "id": 75037, - "name": "registryCommunity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75014, - "src": "7462:17:129", - "typeDescriptions": { - "typeIdentifier": "t_contract$_RegistryCommunity_$83082", - "typeString": "contract RegistryCommunity" - } - }, - "id": 75038, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "7480:11:129", - "memberName": "councilSafe", - "nodeType": "MemberAccess", - "referencedDeclaration": 81542, - "src": "7462:29:129", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_contract$_ISafe_$85665_$", - "typeString": "function () view external returns (contract ISafe)" - } - }, - "id": 75039, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "7462:31:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_ISafe_$85665", - "typeString": "contract ISafe" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_ISafe_$85665", - "typeString": "contract ISafe" - } - ], - "id": 75036, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "7454:7:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 75035, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7454:7:129", - "typeDescriptions": {} - } - }, - "id": 75040, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "7454:40:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "7440:54:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 75047, - "nodeType": "Block", - "src": "7528:49:129", - "statements": [ - { - "errorCall": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 75044, - "name": "OnlyCouncilSafe", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74888, - "src": "7549:15:129", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 75045, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "7549:17:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 75046, - "nodeType": "RevertStatement", - "src": "7542:24:129" - } - ] - }, - "id": 75048, - "nodeType": "IfStatement", - "src": "7436:141:129", - "trueBody": { - "id": 75043, - "nodeType": "Block", - "src": "7496:26:129", - "statements": [ - { - "id": 75042, - "nodeType": "PlaceholderStatement", - "src": "7510:1:129" - } - ] - } - } - ] - }, - "name": "onlyCouncilSafe", - "nameLocation": "7408:15:129", - "parameters": { - "id": 75032, - "nodeType": "ParameterList", - "parameters": [], - "src": "7423:2:129" - }, - "virtual": false, - "visibility": "internal" - }, - { - "id": 75063, - "nodeType": "FunctionDefinition", - "src": "7754:72:129", - "nodes": [], - "body": { - "id": 75062, - "nodeType": "Block", - "src": "7824:2:129", - "nodes": [], - "statements": [] - }, - "implemented": true, - "kind": "constructor", - "modifiers": [ - { - "arguments": [ - { - "arguments": [ - { - "id": 75057, - "name": "_allo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75052, - "src": "7802:5:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 75056, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "7794:7:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 75055, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7794:7:129", - "typeDescriptions": {} - } - }, - "id": 75058, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "7794:14:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "hexValue": "43565374726174656779", - "id": 75059, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7810:12:129", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_5f43243e98d2b877d41079bf899c9372a6b91af5be3180830de9d43f93117b2e", - "typeString": "literal_string \"CVStrategy\"" - }, - "value": "CVStrategy" - } - ], - "id": 75060, - "kind": "baseConstructorSpecifier", - "modifierName": { - "id": 75054, - "name": "BaseStrategy", - "nameLocations": [ - "7781:12:129" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 3923, - "src": "7781:12:129" - }, - "nodeType": "ModifierInvocation", - "src": "7781:42:129" - } - ], - "name": "", - "nameLocation": "-1:-1:-1", - "parameters": { - "id": 75053, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 75052, - "mutability": "mutable", - "name": "_allo", - "nameLocation": "7774:5:129", - "nodeType": "VariableDeclaration", - "scope": 75063, - "src": "7766:13:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 75051, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7766:7:129", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "7765:15:129" - }, - "returnParameters": { - "id": 75061, - "nodeType": "ParameterList", - "parameters": [], - "src": "7824:0:129" - }, - "scope": 77611, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "id": 75154, - "nodeType": "FunctionDefinition", - "src": "7832:740:129", - "nodes": [], - "body": { - "id": 75153, - "nodeType": "Block", - "src": "7898:674:129", - "nodes": [], - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 75071, - "name": "_poolId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75065, - "src": "7928:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 75070, - "name": "__BaseStrategy_init", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3503, - "src": "7908:19:129", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 75072, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "7908:28:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 75073, - "nodeType": "ExpressionStatement", - "src": "7908:28:129" - }, - { - "assignments": [ - 75078 - ], - "declarations": [ - { - "constant": false, - "id": 75078, - "mutability": "mutable", - "name": "ip", - "nameLocation": "7985:2:129", - "nodeType": "VariableDeclaration", - "scope": 75153, - "src": "7946:41:129", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_InitializeParams_$74806_memory_ptr", - "typeString": "struct StrategyStruct.InitializeParams" - }, - "typeName": { - "id": 75077, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 75076, - "name": "StrategyStruct.InitializeParams", - "nameLocations": [ - "7946:14:129", - "7961:16:129" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 74806, - "src": "7946:31:129" - }, - "referencedDeclaration": 74806, - "src": "7946:31:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_InitializeParams_$74806_storage_ptr", - "typeString": "struct StrategyStruct.InitializeParams" - } - }, - "visibility": "internal" - } - ], - "id": 75086, - "initialValue": { - "arguments": [ - { - "id": 75081, - "name": "_data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75067, - "src": "8001:5:129", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "components": [ - { - "expression": { - "id": 75082, - "name": "StrategyStruct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74807, - "src": "8009:14:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_StrategyStruct_$74807_$", - "typeString": "type(library StrategyStruct)" - } - }, - "id": 75083, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "8024:16:129", - "memberName": "InitializeParams", - "nodeType": "MemberAccess", - "referencedDeclaration": 74806, - "src": "8009:31:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_InitializeParams_$74806_storage_ptr_$", - "typeString": "type(struct StrategyStruct.InitializeParams storage pointer)" - } - } - ], - "id": 75084, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "8008:33:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_InitializeParams_$74806_storage_ptr_$", - "typeString": "type(struct StrategyStruct.InitializeParams storage pointer)" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_type$_t_struct$_InitializeParams_$74806_storage_ptr_$", - "typeString": "type(struct StrategyStruct.InitializeParams storage pointer)" - } - ], - "expression": { - "id": 75079, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "7990:3:129", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 75080, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "7994:6:129", - "memberName": "decode", - "nodeType": "MemberAccess", - "src": "7990:10:129", - "typeDescriptions": { - "typeIdentifier": "t_function_abidecode_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 75085, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "7990:52:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_struct$_InitializeParams_$74806_memory_ptr", - "typeString": "struct StrategyStruct.InitializeParams memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "7946:96:129" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 75093, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 75087, - "name": "ip", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75078, - "src": "8057:2:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_InitializeParams_$74806_memory_ptr", - "typeString": "struct StrategyStruct.InitializeParams memory" - } - }, - "id": 75088, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "8060:17:129", - "memberName": "registryCommunity", - "nodeType": "MemberAccess", - "referencedDeclaration": 74786, - "src": "8057:20:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "arguments": [ - { - "hexValue": "30", - "id": 75091, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8089:1:129", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 75090, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "8081:7:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 75089, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8081:7:129", - "typeDescriptions": {} - } - }, - "id": 75092, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "8081:10:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "8057:34:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 75098, - "nodeType": "IfStatement", - "src": "8053:94:129", - "trueBody": { - "id": 75097, - "nodeType": "Block", - "src": "8093:54:129", - "statements": [ - { - "errorCall": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 75094, - "name": "RegistryCannotBeZero", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74838, - "src": "8114:20:129", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 75095, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "8114:22:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 75096, - "nodeType": "RevertStatement", - "src": "8107:29:129" - } - ] - } - }, - { - "expression": { - "id": 75104, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 75099, - "name": "registryCommunity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75014, - "src": "8157:17:129", - "typeDescriptions": { - "typeIdentifier": "t_contract$_RegistryCommunity_$83082", - "typeString": "contract RegistryCommunity" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "expression": { - "id": 75101, - "name": "ip", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75078, - "src": "8195:2:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_InitializeParams_$74806_memory_ptr", - "typeString": "struct StrategyStruct.InitializeParams memory" - } - }, - "id": 75102, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "8198:17:129", - "memberName": "registryCommunity", - "nodeType": "MemberAccess", - "referencedDeclaration": 74786, - "src": "8195:20:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 75100, - "name": "RegistryCommunity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 83082, - "src": "8177:17:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_RegistryCommunity_$83082_$", - "typeString": "type(contract RegistryCommunity)" - } - }, - "id": 75103, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "8177:39:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_RegistryCommunity_$83082", - "typeString": "contract RegistryCommunity" - } - }, - "src": "8157:59:129", - "typeDescriptions": { - "typeIdentifier": "t_contract$_RegistryCommunity_$83082", - "typeString": "contract RegistryCommunity" - } - }, - "id": 75105, - "nodeType": "ExpressionStatement", - "src": "8157:59:129" - }, - { - "expression": { - "id": 75109, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 75106, - "name": "decay", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74986, - "src": "8226:5:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "expression": { - "id": 75107, - "name": "ip", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75078, - "src": "8234:2:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_InitializeParams_$74806_memory_ptr", - "typeString": "struct StrategyStruct.InitializeParams memory" - } - }, - "id": 75108, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "8237:5:129", - "memberName": "decay", - "nodeType": "MemberAccess", - "referencedDeclaration": 74788, - "src": "8234:8:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8226:16:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 75110, - "nodeType": "ExpressionStatement", - "src": "8226:16:129" - }, - { - "expression": { - "id": 75114, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 75111, - "name": "maxRatio", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74988, - "src": "8252:8:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "expression": { - "id": 75112, - "name": "ip", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75078, - "src": "8263:2:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_InitializeParams_$74806_memory_ptr", - "typeString": "struct StrategyStruct.InitializeParams memory" - } - }, - "id": 75113, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "8266:8:129", - "memberName": "maxRatio", - "nodeType": "MemberAccess", - "referencedDeclaration": 74790, - "src": "8263:11:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8252:22:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 75115, - "nodeType": "ExpressionStatement", - "src": "8252:22:129" - }, - { - "expression": { - "id": 75119, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 75116, - "name": "weight", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74990, - "src": "8284:6:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "expression": { - "id": 75117, - "name": "ip", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75078, - "src": "8293:2:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_InitializeParams_$74806_memory_ptr", - "typeString": "struct StrategyStruct.InitializeParams memory" - } - }, - "id": 75118, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "8296:6:129", - "memberName": "weight", - "nodeType": "MemberAccess", - "referencedDeclaration": 74792, - "src": "8293:9:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8284:18:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 75120, - "nodeType": "ExpressionStatement", - "src": "8284:18:129" - }, - { - "expression": { - "id": 75124, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 75121, - "name": "proposalType", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75005, - "src": "8312:12:129", - "typeDescriptions": { - "typeIdentifier": "t_enum$_ProposalType_$74726", - "typeString": "enum StrategyStruct.ProposalType" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "expression": { - "id": 75122, - "name": "ip", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75078, - "src": "8327:2:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_InitializeParams_$74806_memory_ptr", - "typeString": "struct StrategyStruct.InitializeParams memory" - } - }, - "id": 75123, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "8330:12:129", - "memberName": "proposalType", - "nodeType": "MemberAccess", - "referencedDeclaration": 74797, - "src": "8327:15:129", - "typeDescriptions": { - "typeIdentifier": "t_enum$_ProposalType_$74726", - "typeString": "enum StrategyStruct.ProposalType" - } - }, - "src": "8312:30:129", - "typeDescriptions": { - "typeIdentifier": "t_enum$_ProposalType_$74726", - "typeString": "enum StrategyStruct.ProposalType" - } - }, - "id": 75125, - "nodeType": "ExpressionStatement", - "src": "8312:30:129" - }, - { - "expression": { - "id": 75129, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 75126, - "name": "pointSystem", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75008, - "src": "8352:11:129", - "typeDescriptions": { - "typeIdentifier": "t_enum$_PointSystem_$74731", - "typeString": "enum StrategyStruct.PointSystem" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "expression": { - "id": 75127, - "name": "ip", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75078, - "src": "8366:2:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_InitializeParams_$74806_memory_ptr", - "typeString": "struct StrategyStruct.InitializeParams memory" - } - }, - "id": 75128, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "8369:11:129", - "memberName": "pointSystem", - "nodeType": "MemberAccess", - "referencedDeclaration": 74800, - "src": "8366:14:129", - "typeDescriptions": { - "typeIdentifier": "t_enum$_PointSystem_$74731", - "typeString": "enum StrategyStruct.PointSystem" - } - }, - "src": "8352:28:129", - "typeDescriptions": { - "typeIdentifier": "t_enum$_PointSystem_$74731", - "typeString": "enum StrategyStruct.PointSystem" - } - }, - "id": 75130, - "nodeType": "ExpressionStatement", - "src": "8352:28:129" - }, - { - "expression": { - "id": 75134, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 75131, - "name": "pointConfig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75011, - "src": "8390:11:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PointSystemConfig_$74784_storage", - "typeString": "struct StrategyStruct.PointSystemConfig storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "expression": { - "id": 75132, - "name": "ip", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75078, - "src": "8404:2:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_InitializeParams_$74806_memory_ptr", - "typeString": "struct StrategyStruct.InitializeParams memory" - } - }, - "id": 75133, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "8407:11:129", - "memberName": "pointConfig", - "nodeType": "MemberAccess", - "referencedDeclaration": 74803, - "src": "8404:14:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PointSystemConfig_$74784_memory_ptr", - "typeString": "struct StrategyStruct.PointSystemConfig memory" - } - }, - "src": "8390:28:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PointSystemConfig_$74784_storage", - "typeString": "struct StrategyStruct.PointSystemConfig storage ref" - } - }, - "id": 75135, - "nodeType": "ExpressionStatement", - "src": "8390:28:129" - }, - { - "expression": { - "id": 75139, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 75136, - "name": "_minThresholdPoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75000, - "src": "8428:19:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "expression": { - "id": 75137, - "name": "ip", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75078, - "src": "8450:2:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_InitializeParams_$74806_memory_ptr", - "typeString": "struct StrategyStruct.InitializeParams memory" - } - }, - "id": 75138, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "8453:18:129", - "memberName": "minThresholdPoints", - "nodeType": "MemberAccess", - "referencedDeclaration": 74794, - "src": "8450:21:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8428:43:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 75140, - "nodeType": "ExpressionStatement", - "src": "8428:43:129" - }, - { - "expression": { - "id": 75146, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 75141, - "name": "sybilScorer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75017, - "src": "8481:11:129", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ISybilScorer_$80667", - "typeString": "contract ISybilScorer" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "expression": { - "id": 75143, - "name": "ip", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75078, - "src": "8508:2:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_InitializeParams_$74806_memory_ptr", - "typeString": "struct StrategyStruct.InitializeParams memory" - } - }, - "id": 75144, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "8511:11:129", - "memberName": "sybilScorer", - "nodeType": "MemberAccess", - "referencedDeclaration": 74805, - "src": "8508:14:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 75142, - "name": "ISybilScorer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 80667, - "src": "8495:12:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ISybilScorer_$80667_$", - "typeString": "type(contract ISybilScorer)" - } - }, - "id": 75145, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "8495:28:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_ISybilScorer_$80667", - "typeString": "contract ISybilScorer" - } - }, - "src": "8481:42:129", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ISybilScorer_$80667", - "typeString": "contract ISybilScorer" - } - }, - "id": 75147, - "nodeType": "ExpressionStatement", - "src": "8481:42:129" - }, - { - "eventCall": { - "arguments": [ - { - "id": 75149, - "name": "_poolId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75065, - "src": "8553:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 75150, - "name": "ip", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75078, - "src": "8562:2:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_InitializeParams_$74806_memory_ptr", - "typeString": "struct StrategyStruct.InitializeParams memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_struct$_InitializeParams_$74806_memory_ptr", - "typeString": "struct StrategyStruct.InitializeParams memory" - } - ], - "id": 75148, - "name": "InitializedCV", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74897, - "src": "8539:13:129", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_struct$_InitializeParams_$74806_memory_ptr_$returns$__$", - "typeString": "function (uint256,struct StrategyStruct.InitializeParams memory)" - } - }, - "id": 75151, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "8539:26:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 75152, - "nodeType": "EmitStatement", - "src": "8534:31:129" - } - ] - }, - "baseFunctions": [ - 2939 - ], - "functionSelector": "edd146cc", - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "initialize", - "nameLocation": "7841:10:129", - "parameters": { - "id": 75068, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 75065, - "mutability": "mutable", - "name": "_poolId", - "nameLocation": "7860:7:129", - "nodeType": "VariableDeclaration", - "scope": 75154, - "src": "7852:15:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 75064, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7852:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 75067, - "mutability": "mutable", - "name": "_data", - "nameLocation": "7882:5:129", - "nodeType": "VariableDeclaration", - "scope": 75154, - "src": "7869:18:129", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 75066, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "7869:5:129", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "src": "7851:37:129" - }, - "returnParameters": { - "id": 75069, - "nodeType": "ParameterList", - "parameters": [], - "src": "7898:0:129" - }, - "scope": 77611, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "id": 75158, - "nodeType": "FunctionDefinition", - "src": "8743:83:129", - "nodes": [], - "body": { - "id": 75157, - "nodeType": "Block", - "src": "8771:55:129", - "nodes": [], - "statements": [] - }, - "implemented": true, - "kind": "fallback", - "modifiers": [], - "name": "", - "nameLocation": "-1:-1:-1", - "parameters": { - "id": 75155, - "nodeType": "ParameterList", - "parameters": [], - "src": "8751:2:129" - }, - "returnParameters": { - "id": 75156, - "nodeType": "ParameterList", - "parameters": [], - "src": "8771:0:129" - }, - "scope": 77611, - "stateMutability": "payable", - "virtual": false, - "visibility": "external" - }, - { - "id": 75162, - "nodeType": "FunctionDefinition", - "src": "8832:135:129", - "nodes": [], - "body": { - "id": 75161, - "nodeType": "Block", - "src": "8859:108:129", - "nodes": [], - "statements": [] - }, - "implemented": true, - "kind": "receive", - "modifiers": [], - "name": "", - "nameLocation": "-1:-1:-1", - "parameters": { - "id": 75159, - "nodeType": "ParameterList", - "parameters": [], - "src": "8839:2:129" - }, - "returnParameters": { - "id": 75160, - "nodeType": "ParameterList", - "parameters": [], - "src": "8859:0:129" - }, - "scope": 77611, - "stateMutability": "payable", - "virtual": false, - "visibility": "external" - }, - { - "id": 75183, - "nodeType": "FunctionDefinition", - "src": "8973:202:129", - "nodes": [], - "body": { - "id": 75182, - "nodeType": "Block", - "src": "9064:111:129", - "nodes": [], - "statements": [ - { - "expression": { - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 75180, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "id": 75175, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 75170, - "name": "interfaceId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75164, - "src": "9081:11:129", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "expression": { - "arguments": [ - { - "id": 75172, - "name": "IPointStrategy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74722, - "src": "9101:14:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IPointStrategy_$74722_$", - "typeString": "type(contract IPointStrategy)" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_type$_t_contract$_IPointStrategy_$74722_$", - "typeString": "type(contract IPointStrategy)" - } - ], - "id": 75171, - "name": "type", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -27, - "src": "9096:4:129", - "typeDescriptions": { - "typeIdentifier": "t_function_metatype_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 75173, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "9096:20:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_magic_meta_type_t_contract$_IPointStrategy_$74722", - "typeString": "type(contract IPointStrategy)" - } - }, - "id": 75174, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "9117:11:129", - "memberName": "interfaceId", - "nodeType": "MemberAccess", - "src": "9096:32:129", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "src": "9081:47:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "arguments": [ - { - "id": 75178, - "name": "interfaceId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75164, - "src": "9156:11:129", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - ], - "expression": { - "id": 75176, - "name": "super", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -25, - "src": "9132:5:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_super$_CVStrategy_$77611_$", - "typeString": "type(contract super CVStrategy)" - } - }, - "id": 75177, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "9138:17:129", - "memberName": "supportsInterface", - "nodeType": "MemberAccess", - "referencedDeclaration": 58265, - "src": "9132:23:129", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_bytes4_$returns$_t_bool_$", - "typeString": "function (bytes4) view returns (bool)" - } - }, - "id": 75179, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "9132:36:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "9081:87:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 75169, - "id": 75181, - "nodeType": "Return", - "src": "9074:94:129" - } - ] - }, - "baseFunctions": [ - 58265 - ], - "functionSelector": "01ffc9a7", - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "supportsInterface", - "nameLocation": "8982:17:129", - "overrides": { - "id": 75166, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "9040:8:129" - }, - "parameters": { - "id": 75165, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 75164, - "mutability": "mutable", - "name": "interfaceId", - "nameLocation": "9007:11:129", - "nodeType": "VariableDeclaration", - "scope": 75183, - "src": "9000:18:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 75163, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "9000:6:129", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "visibility": "internal" - } - ], - "src": "8999:20:129" - }, - "returnParameters": { - "id": 75169, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 75168, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 75183, - "src": "9058:4:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 75167, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "9058:4:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "9057:6:129" - }, - "scope": 77611, - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "id": 75224, - "nodeType": "FunctionDefinition", - "src": "9346:377:129", - "nodes": [], - "body": { - "id": 75223, - "nodeType": "Block", - "src": "9405:318:129", - "nodes": [], - "statements": [ - { - "condition": { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 75193, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 75188, - "name": "_sender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75185, - "src": "9419:7:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "arguments": [ - { - "hexValue": "30", - "id": 75191, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9438:1:129", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 75190, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "9430:7:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 75189, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9430:7:129", - "typeDescriptions": {} - } - }, - "id": 75192, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "9430:10:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "9419:21:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 75198, - "nodeType": "IfStatement", - "src": "9415:77:129", - "trueBody": { - "id": 75197, - "nodeType": "Block", - "src": "9442:50:129", - "statements": [ - { - "errorCall": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 75194, - "name": "UserCannotBeZero", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74818, - "src": "9463:16:129", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 75195, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "9463:18:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 75196, - "nodeType": "RevertStatement", - "src": "9456:25:129" - } - ] - } - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 75207, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "arguments": [ - { - "id": 75201, - "name": "registryCommunity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75014, - "src": "9513:17:129", - "typeDescriptions": { - "typeIdentifier": "t_contract$_RegistryCommunity_$83082", - "typeString": "contract RegistryCommunity" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_RegistryCommunity_$83082", - "typeString": "contract RegistryCommunity" - } - ], - "id": 75200, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "9505:7:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 75199, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9505:7:129", - "typeDescriptions": {} - } - }, - "id": 75202, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "9505:26:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "arguments": [ - { - "hexValue": "30", - "id": 75205, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9543:1:129", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 75204, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "9535:7:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 75203, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9535:7:129", - "typeDescriptions": {} - } - }, - "id": 75206, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "9535:10:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "9505:40:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 75212, - "nodeType": "IfStatement", - "src": "9501:100:129", - "trueBody": { - "id": 75211, - "nodeType": "Block", - "src": "9547:54:129", - "statements": [ - { - "errorCall": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 75208, - "name": "RegistryCannotBeZero", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74838, - "src": "9568:20:129", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 75209, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "9568:22:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 75210, - "nodeType": "RevertStatement", - "src": "9561:29:129" - } - ] - } - }, - { - "condition": { - "id": 75217, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "9614:36:129", - "subExpression": { - "arguments": [ - { - "id": 75215, - "name": "_sender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75185, - "src": "9642:7:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "id": 75213, - "name": "registryCommunity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75014, - "src": "9615:17:129", - "typeDescriptions": { - "typeIdentifier": "t_contract$_RegistryCommunity_$83082", - "typeString": "contract RegistryCommunity" - } - }, - "id": 75214, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "9633:8:129", - "memberName": "isMember", - "nodeType": "MemberAccess", - "referencedDeclaration": 82663, - "src": "9615:26:129", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_bool_$", - "typeString": "function (address) view external returns (bool)" - } - }, - "id": 75216, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "9615:35:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 75222, - "nodeType": "IfStatement", - "src": "9610:93:129", - "trueBody": { - "id": 75221, - "nodeType": "Block", - "src": "9652:51:129", - "statements": [ - { - "errorCall": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 75218, - "name": "UserNotInRegistry", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74820, - "src": "9673:17:129", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 75219, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "9673:19:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 75220, - "nodeType": "RevertStatement", - "src": "9666:26:129" - } - ] - } - } - ] - }, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "checkSenderIsMember", - "nameLocation": "9355:19:129", - "parameters": { - "id": 75186, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 75185, - "mutability": "mutable", - "name": "_sender", - "nameLocation": "9383:7:129", - "nodeType": "VariableDeclaration", - "scope": 75224, - "src": "9375:15:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 75184, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9375:7:129", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "9374:17:129" - }, - "returnParameters": { - "id": 75187, - "nodeType": "ParameterList", - "parameters": [], - "src": "9405:0:129" - }, - "scope": 77611, - "stateMutability": "view", - "virtual": false, - "visibility": "private" - }, - { - "id": 75240, - "nodeType": "FunctionDefinition", - "src": "9729:162:129", - "nodes": [], - "body": { - "id": 75239, - "nodeType": "Block", - "src": "9775:116:129", - "nodes": [], - "statements": [ - { - "condition": { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 75233, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 75227, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "9789:3:129", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 75228, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "9793:6:129", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "9789:10:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "arguments": [ - { - "id": 75231, - "name": "registryCommunity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75014, - "src": "9811:17:129", - "typeDescriptions": { - "typeIdentifier": "t_contract$_RegistryCommunity_$83082", - "typeString": "contract RegistryCommunity" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_RegistryCommunity_$83082", - "typeString": "contract RegistryCommunity" - } - ], - "id": 75230, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "9803:7:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 75229, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9803:7:129", - "typeDescriptions": {} - } - }, - "id": 75232, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "9803:26:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "9789:40:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 75238, - "nodeType": "IfStatement", - "src": "9785:100:129", - "trueBody": { - "id": 75237, - "nodeType": "Block", - "src": "9831:54:129", - "statements": [ - { - "errorCall": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 75234, - "name": "OnlyCommunityAllowed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74878, - "src": "9852:20:129", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 75235, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "9852:22:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 75236, - "nodeType": "RevertStatement", - "src": "9845:29:129" - } - ] - } - } - ] - }, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "onlyRegistryCommunity", - "nameLocation": "9738:21:129", - "parameters": { - "id": 75225, - "nodeType": "ParameterList", - "parameters": [], - "src": "9759:2:129" - }, - "returnParameters": { - "id": 75226, - "nodeType": "ParameterList", - "parameters": [], - "src": "9775:0:129" - }, - "scope": 77611, - "stateMutability": "view", - "virtual": false, - "visibility": "private" - }, - { - "id": 75256, - "nodeType": "FunctionDefinition", - "src": "9897:133:129", - "nodes": [], - "body": { - "id": 75255, - "nodeType": "Block", - "src": "9957:73:129", - "nodes": [], - "statements": [ - { - "condition": { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 75250, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 75245, - "name": "_address", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75242, - "src": "9971:8:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "arguments": [ - { - "hexValue": "30", - "id": 75248, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9991:1:129", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 75247, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "9983:7:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 75246, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9983:7:129", - "typeDescriptions": {} - } - }, - "id": 75249, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "9983:10:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "9971:22:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 75254, - "nodeType": "IfStatement", - "src": "9967:56:129", - "trueBody": { - "errorCall": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 75251, - "name": "AddressCannotBeZero", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74836, - "src": "10002:19:129", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 75252, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "10002:21:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 75253, - "nodeType": "RevertStatement", - "src": "9995:28:129" - } - } - ] - }, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_revertZeroAddress", - "nameLocation": "9906:18:129", - "parameters": { - "id": 75243, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 75242, - "mutability": "mutable", - "name": "_address", - "nameLocation": "9933:8:129", - "nodeType": "VariableDeclaration", - "scope": 75256, - "src": "9925:16:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 75241, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9925:7:129", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "9924:18:129" - }, - "returnParameters": { - "id": 75244, - "nodeType": "ParameterList", - "parameters": [], - "src": "9957:0:129" - }, - "scope": 77611, - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "id": 75286, - "nodeType": "FunctionDefinition", - "src": "10036:230:129", - "nodes": [], - "body": { - "id": 75285, - "nodeType": "Block", - "src": "10107:159:129", - "nodes": [], - "statements": [ - { - "condition": { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 75271, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "arguments": [ - { - "id": 75265, - "name": "sybilScorer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75017, - "src": "10129:11:129", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ISybilScorer_$80667", - "typeString": "contract ISybilScorer" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_ISybilScorer_$80667", - "typeString": "contract ISybilScorer" - } - ], - "id": 75264, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "10121:7:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 75263, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10121:7:129", - "typeDescriptions": {} - } - }, - "id": 75266, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "10121:20:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "arguments": [ - { - "hexValue": "30", - "id": 75269, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10153:1:129", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 75268, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "10145:7:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 75267, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10145:7:129", - "typeDescriptions": {} - } - }, - "id": 75270, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "10145:10:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "10121:34:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 75275, - "nodeType": "IfStatement", - "src": "10117:76:129", - "trueBody": { - "id": 75274, - "nodeType": "Block", - "src": "10157:36:129", - "statements": [ - { - "expression": { - "hexValue": "74727565", - "id": 75272, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10178:4:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 75262, - "id": 75273, - "nodeType": "Return", - "src": "10171:11:129" - } - ] - } - }, - { - "expression": { - "arguments": [ - { - "id": 75278, - "name": "_user", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75258, - "src": "10238:5:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "arguments": [ - { - "id": 75281, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "10253:4:129", - "typeDescriptions": { - "typeIdentifier": "t_contract$_CVStrategy_$77611", - "typeString": "contract CVStrategy" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_CVStrategy_$77611", - "typeString": "contract CVStrategy" - } - ], - "id": 75280, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "10245:7:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 75279, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10245:7:129", - "typeDescriptions": {} - } - }, - "id": 75282, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "10245:13:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "id": 75276, - "name": "sybilScorer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75017, - "src": "10209:11:129", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ISybilScorer_$80667", - "typeString": "contract ISybilScorer" - } - }, - "id": 75277, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "10221:16:129", - "memberName": "canExecuteAction", - "nodeType": "MemberAccess", - "referencedDeclaration": 80624, - "src": "10209:28:129", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$_t_address_$returns$_t_bool_$", - "typeString": "function (address,address) view external returns (bool)" - } - }, - "id": 75283, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "10209:50:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 75262, - "id": 75284, - "nodeType": "Return", - "src": "10202:57:129" - } - ] - }, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_canExecuteAction", - "nameLocation": "10045:17:129", - "parameters": { - "id": 75259, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 75258, - "mutability": "mutable", - "name": "_user", - "nameLocation": "10071:5:129", - "nodeType": "VariableDeclaration", - "scope": 75286, - "src": "10063:13:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 75257, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10063:7:129", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "10062:15:129" - }, - "returnParameters": { - "id": 75262, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 75261, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 75286, - "src": "10101:4:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 75260, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "10101:4:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "10100:6:129" - }, - "scope": 77611, - "stateMutability": "view", - "virtual": false, - "visibility": "internal" - }, - { - "id": 75470, - "nodeType": "FunctionDefinition", - "src": "10592:2045:129", - "nodes": [], - "body": { - "id": 75469, - "nodeType": "Block", - "src": "10693:1944:129", - "nodes": [], - "statements": [ - { - "condition": { - "id": 75299, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "10707:27:129", - "subExpression": { - "arguments": [ - { - "id": 75297, - "name": "_sender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75290, - "src": "10726:7:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 75296, - "name": "_canExecuteAction", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75286, - "src": "10708:17:129", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", - "typeString": "function (address) view returns (bool)" - } - }, - "id": 75298, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "10708:26:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 75304, - "nodeType": "IfStatement", - "src": "10703:90:129", - "trueBody": { - "id": 75303, - "nodeType": "Block", - "src": "10736:57:129", - "statements": [ - { - "errorCall": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 75300, - "name": "UserCannotExecuteAction", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74890, - "src": "10757:23:129", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 75301, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "10757:25:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 75302, - "nodeType": "RevertStatement", - "src": "10750:32:129" - } - ] - } - }, - { - "expression": { - "id": 75305, - "name": "_data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75288, - "src": "10847:5:129", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 75306, - "nodeType": "ExpressionStatement", - "src": "10847:5:129" - }, - { - "assignments": [ - 75311 - ], - "declarations": [ - { - "constant": false, - "id": 75311, - "mutability": "mutable", - "name": "proposal", - "nameLocation": "10899:8:129", - "nodeType": "VariableDeclaration", - "scope": 75469, - "src": "10862:45:129", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_CreateProposal_$74743_memory_ptr", - "typeString": "struct StrategyStruct.CreateProposal" - }, - "typeName": { - "id": 75310, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 75309, - "name": "StrategyStruct.CreateProposal", - "nameLocations": [ - "10862:14:129", - "10877:14:129" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 74743, - "src": "10862:29:129" - }, - "referencedDeclaration": 74743, - "src": "10862:29:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_CreateProposal_$74743_storage_ptr", - "typeString": "struct StrategyStruct.CreateProposal" - } - }, - "visibility": "internal" - } - ], - "id": 75319, - "initialValue": { - "arguments": [ - { - "id": 75314, - "name": "_data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75288, - "src": "10921:5:129", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "components": [ - { - "expression": { - "id": 75315, - "name": "StrategyStruct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74807, - "src": "10929:14:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_StrategyStruct_$74807_$", - "typeString": "type(library StrategyStruct)" - } - }, - "id": 75316, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "10944:14:129", - "memberName": "CreateProposal", - "nodeType": "MemberAccess", - "referencedDeclaration": 74743, - "src": "10929:29:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_CreateProposal_$74743_storage_ptr_$", - "typeString": "type(struct StrategyStruct.CreateProposal storage pointer)" - } - } - ], - "id": 75317, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "10928:31:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_CreateProposal_$74743_storage_ptr_$", - "typeString": "type(struct StrategyStruct.CreateProposal storage pointer)" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_type$_t_struct$_CreateProposal_$74743_storage_ptr_$", - "typeString": "type(struct StrategyStruct.CreateProposal storage pointer)" - } - ], - "expression": { - "id": 75312, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "10910:3:129", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 75313, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "10914:6:129", - "memberName": "decode", - "nodeType": "MemberAccess", - "src": "10910:10:129", - "typeDescriptions": { - "typeIdentifier": "t_function_abidecode_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 75318, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "10910:50:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_struct$_CreateProposal_$74743_memory_ptr", - "typeString": "struct StrategyStruct.CreateProposal memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "10862:98:129" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 75323, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 75320, - "name": "proposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75311, - "src": "11075:8:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_CreateProposal_$74743_memory_ptr", - "typeString": "struct StrategyStruct.CreateProposal memory" - } - }, - "id": 75321, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "11084:6:129", - "memberName": "poolId", - "nodeType": "MemberAccess", - "referencedDeclaration": 74733, - "src": "11075:15:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "hexValue": "30", - "id": 75322, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11094:1:129", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "11075:20:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 75328, - "nodeType": "IfStatement", - "src": "11071:78:129", - "trueBody": { - "id": 75327, - "nodeType": "Block", - "src": "11097:52:129", - "statements": [ - { - "errorCall": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 75324, - "name": "PoolIdCannotBeZero", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74834, - "src": "11118:18:129", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 75325, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "11118:20:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 75326, - "nodeType": "RevertStatement", - "src": "11111:27:129" - } - ] - } - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_enum$_ProposalType_$74726", - "typeString": "enum StrategyStruct.ProposalType" - }, - "id": 75333, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 75329, - "name": "proposalType", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75005, - "src": "11225:12:129", - "typeDescriptions": { - "typeIdentifier": "t_enum$_ProposalType_$74726", - "typeString": "enum StrategyStruct.ProposalType" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "expression": { - "expression": { - "id": 75330, - "name": "StrategyStruct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74807, - "src": "11241:14:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_StrategyStruct_$74807_$", - "typeString": "type(library StrategyStruct)" - } - }, - "id": 75331, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "11256:12:129", - "memberName": "ProposalType", - "nodeType": "MemberAccess", - "referencedDeclaration": 74726, - "src": "11241:27:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_ProposalType_$74726_$", - "typeString": "type(enum StrategyStruct.ProposalType)" - } - }, - "id": 75332, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "11269:7:129", - "memberName": "Funding", - "nodeType": "MemberAccess", - "referencedDeclaration": 74724, - "src": "11241:35:129", - "typeDescriptions": { - "typeIdentifier": "t_enum$_ProposalType_$74726", - "typeString": "enum StrategyStruct.ProposalType" - } - }, - "src": "11225:51:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 75380, - "nodeType": "IfStatement", - "src": "11221:722:129", - "trueBody": { - "id": 75379, - "nodeType": "Block", - "src": "11278:665:129", - "statements": [ - { - "expression": { - "arguments": [ - { - "expression": { - "id": 75335, - "name": "proposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75311, - "src": "11311:8:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_CreateProposal_$74743_memory_ptr", - "typeString": "struct StrategyStruct.CreateProposal memory" - } - }, - "id": 75336, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "11320:11:129", - "memberName": "beneficiary", - "nodeType": "MemberAccess", - "referencedDeclaration": 74735, - "src": "11311:20:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 75334, - "name": "_revertZeroAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75256, - "src": "11292:18:129", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_address_$returns$__$", - "typeString": "function (address) pure" - } - }, - "id": 75337, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "11292:40:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 75338, - "nodeType": "ExpressionStatement", - "src": "11292:40:129" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 75345, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 75339, - "name": "proposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75311, - "src": "11398:8:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_CreateProposal_$74743_memory_ptr", - "typeString": "struct StrategyStruct.CreateProposal memory" - } - }, - "id": 75340, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "11407:14:129", - "memberName": "requestedToken", - "nodeType": "MemberAccess", - "referencedDeclaration": 74739, - "src": "11398:23:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "arguments": [ - { - "hexValue": "30", - "id": 75343, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11433:1:129", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 75342, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "11425:7:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 75341, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "11425:7:129", - "typeDescriptions": {} - } - }, - "id": 75344, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "11425:10:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "11398:37:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 75350, - "nodeType": "IfStatement", - "src": "11394:102:129", - "trueBody": { - "id": 75349, - "nodeType": "Block", - "src": "11437:59:129", - "statements": [ - { - "errorCall": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 75346, - "name": "TokenCannotBeZero", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74828, - "src": "11462:17:129", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 75347, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "11462:19:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 75348, - "nodeType": "RevertStatement", - "src": "11455:26:129" - } - ] - } - }, - { - "assignments": [ - 75352 - ], - "declarations": [ - { - "constant": false, - "id": 75352, - "mutability": "mutable", - "name": "poolToken", - "nameLocation": "11517:9:129", - "nodeType": "VariableDeclaration", - "scope": 75379, - "src": "11509:17:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 75351, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "11509:7:129", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "id": 75360, - "initialValue": { - "expression": { - "arguments": [ - { - "id": 75357, - "name": "poolId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3341, - "src": "11552:6:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "id": 75353, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "11529:4:129", - "typeDescriptions": { - "typeIdentifier": "t_contract$_CVStrategy_$77611", - "typeString": "contract CVStrategy" - } - }, - "id": 75354, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "11534:7:129", - "memberName": "getAllo", - "nodeType": "MemberAccess", - "referencedDeclaration": 3421, - "src": "11529:12:129", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_contract$_IAllo_$2610_$", - "typeString": "function () view external returns (contract IAllo)" - } - }, - "id": 75355, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "11529:14:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IAllo_$2610", - "typeString": "contract IAllo" - } - }, - "id": 75356, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "11544:7:129", - "memberName": "getPool", - "nodeType": "MemberAccess", - "referencedDeclaration": 2603, - "src": "11529:22:129", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_struct$_Pool_$2319_memory_ptr_$", - "typeString": "function (uint256) view external returns (struct IAllo.Pool memory)" - } - }, - "id": 75358, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "11529:30:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pool_$2319_memory_ptr", - "typeString": "struct IAllo.Pool memory" - } - }, - "id": 75359, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "11560:5:129", - "memberName": "token", - "nodeType": "MemberAccess", - "referencedDeclaration": 2311, - "src": "11529:36:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "11509:56:129" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 75364, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 75361, - "name": "proposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75311, - "src": "11583:8:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_CreateProposal_$74743_memory_ptr", - "typeString": "struct StrategyStruct.CreateProposal memory" - } - }, - "id": 75362, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "11592:14:129", - "memberName": "requestedToken", - "nodeType": "MemberAccess", - "referencedDeclaration": 74739, - "src": "11583:23:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "id": 75363, - "name": "poolToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75352, - "src": "11610:9:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "11583:36:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 75369, - "nodeType": "IfStatement", - "src": "11579:234:129", - "trueBody": { - "id": 75368, - "nodeType": "Block", - "src": "11621:192:129", - "statements": [ - { - "errorCall": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 75365, - "name": "TokenNotAllowed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74830, - "src": "11781:15:129", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 75366, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "11781:17:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 75367, - "nodeType": "RevertStatement", - "src": "11774:24:129" - } - ] - } - }, - { - "condition": { - "arguments": [ - { - "expression": { - "id": 75371, - "name": "proposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75311, - "src": "11846:8:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_CreateProposal_$74743_memory_ptr", - "typeString": "struct StrategyStruct.CreateProposal memory" - } - }, - "id": 75372, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "11855:15:129", - "memberName": "amountRequested", - "nodeType": "MemberAccess", - "referencedDeclaration": 74737, - "src": "11846:24:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 75370, - "name": "_isOverMaxRatio", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76674, - "src": "11830:15:129", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) view returns (bool)" - } - }, - "id": 75373, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "11830:41:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 75378, - "nodeType": "IfStatement", - "src": "11826:107:129", - "trueBody": { - "id": 75377, - "nodeType": "Block", - "src": "11873:60:129", - "statements": [ - { - "errorCall": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 75374, - "name": "AmountOverMaxRatio", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74832, - "src": "11898:18:129", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 75375, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "11898:20:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 75376, - "nodeType": "RevertStatement", - "src": "11891:27:129" - } - ] - } - } - ] - } - }, - { - "assignments": [ - 75382 - ], - "declarations": [ - { - "constant": false, - "id": 75382, - "mutability": "mutable", - "name": "proposalId", - "nameLocation": "11960:10:129", - "nodeType": "VariableDeclaration", - "scope": 75469, - "src": "11952:18:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 75381, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11952:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 75385, - "initialValue": { - "id": 75384, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": true, - "src": "11973:17:129", - "subExpression": { - "id": 75383, - "name": "proposalCounter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74993, - "src": "11975:15:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "11952:38:129" - }, - { - "assignments": [ - 75390 - ], - "declarations": [ - { - "constant": false, - "id": 75390, - "mutability": "mutable", - "name": "p", - "nameLocation": "12032:1:129", - "nodeType": "VariableDeclaration", - "scope": 75469, - "src": "12000:33:129", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal" - }, - "typeName": { - "id": 75389, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 75388, - "name": "StrategyStruct.Proposal", - "nameLocations": [ - "12000:14:129", - "12015:8:129" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 74776, - "src": "12000:23:129" - }, - "referencedDeclaration": 74776, - "src": "12000:23:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal" - } - }, - "visibility": "internal" - } - ], - "id": 75394, - "initialValue": { - "baseExpression": { - "id": 75391, - "name": "proposals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75022, - "src": "12036:9:129", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Proposal_$74776_storage_$", - "typeString": "mapping(uint256 => struct StrategyStruct.Proposal storage ref)" - } - }, - "id": 75393, - "indexExpression": { - "id": 75392, - "name": "proposalId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75382, - "src": "12046:10:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "12036:21:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage", - "typeString": "struct StrategyStruct.Proposal storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "12000:57:129" - }, - { - "expression": { - "id": 75399, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "expression": { - "id": 75395, - "name": "p", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75390, - "src": "12068:1:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal storage pointer" - } - }, - "id": 75397, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberLocation": "12070:10:129", - "memberName": "proposalId", - "nodeType": "MemberAccess", - "referencedDeclaration": 74751, - "src": "12068:12:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 75398, - "name": "proposalId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75382, - "src": "12083:10:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "12068:25:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 75400, - "nodeType": "ExpressionStatement", - "src": "12068:25:129" - }, - { - "expression": { - "id": 75405, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "expression": { - "id": 75401, - "name": "p", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75390, - "src": "12103:1:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal storage pointer" - } - }, - "id": 75403, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberLocation": "12105:9:129", - "memberName": "submitter", - "nodeType": "MemberAccess", - "referencedDeclaration": 74761, - "src": "12103:11:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 75404, - "name": "_sender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75290, - "src": "12117:7:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "12103:21:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 75406, - "nodeType": "ExpressionStatement", - "src": "12103:21:129" - }, - { - "expression": { - "id": 75412, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "expression": { - "id": 75407, - "name": "p", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75390, - "src": "12134:1:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal storage pointer" - } - }, - "id": 75409, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberLocation": "12136:11:129", - "memberName": "beneficiary", - "nodeType": "MemberAccess", - "referencedDeclaration": 74759, - "src": "12134:13:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "expression": { - "id": 75410, - "name": "proposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75311, - "src": "12150:8:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_CreateProposal_$74743_memory_ptr", - "typeString": "struct StrategyStruct.CreateProposal memory" - } - }, - "id": 75411, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "12159:11:129", - "memberName": "beneficiary", - "nodeType": "MemberAccess", - "referencedDeclaration": 74735, - "src": "12150:20:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "12134:36:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 75413, - "nodeType": "ExpressionStatement", - "src": "12134:36:129" - }, - { - "expression": { - "id": 75419, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "expression": { - "id": 75414, - "name": "p", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75390, - "src": "12180:1:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal storage pointer" - } - }, - "id": 75416, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberLocation": "12182:14:129", - "memberName": "requestedToken", - "nodeType": "MemberAccess", - "referencedDeclaration": 74763, - "src": "12180:16:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "expression": { - "id": 75417, - "name": "proposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75311, - "src": "12199:8:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_CreateProposal_$74743_memory_ptr", - "typeString": "struct StrategyStruct.CreateProposal memory" - } - }, - "id": 75418, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "12208:14:129", - "memberName": "requestedToken", - "nodeType": "MemberAccess", - "referencedDeclaration": 74739, - "src": "12199:23:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "12180:42:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 75420, - "nodeType": "ExpressionStatement", - "src": "12180:42:129" - }, - { - "expression": { - "id": 75426, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "expression": { - "id": 75421, - "name": "p", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75390, - "src": "12232:1:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal storage pointer" - } - }, - "id": 75423, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberLocation": "12234:15:129", - "memberName": "requestedAmount", - "nodeType": "MemberAccess", - "referencedDeclaration": 74753, - "src": "12232:17:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "expression": { - "id": 75424, - "name": "proposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75311, - "src": "12252:8:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_CreateProposal_$74743_memory_ptr", - "typeString": "struct StrategyStruct.CreateProposal memory" - } - }, - "id": 75425, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "12261:15:129", - "memberName": "amountRequested", - "nodeType": "MemberAccess", - "referencedDeclaration": 74737, - "src": "12252:24:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "12232:44:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 75427, - "nodeType": "ExpressionStatement", - "src": "12232:44:129" - }, - { - "expression": { - "id": 75434, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "expression": { - "id": 75428, - "name": "p", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75390, - "src": "12337:1:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal storage pointer" - } - }, - "id": 75430, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberLocation": "12339:14:129", - "memberName": "proposalStatus", - "nodeType": "MemberAccess", - "referencedDeclaration": 74768, - "src": "12337:16:129", - "typeDescriptions": { - "typeIdentifier": "t_enum$_ProposalStatus_$74749", - "typeString": "enum StrategyStruct.ProposalStatus" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "expression": { - "expression": { - "id": 75431, - "name": "StrategyStruct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74807, - "src": "12356:14:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_StrategyStruct_$74807_$", - "typeString": "type(library StrategyStruct)" - } - }, - "id": 75432, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "12371:14:129", - "memberName": "ProposalStatus", - "nodeType": "MemberAccess", - "referencedDeclaration": 74749, - "src": "12356:29:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_ProposalStatus_$74749_$", - "typeString": "type(enum StrategyStruct.ProposalStatus)" - } - }, - "id": 75433, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "12386:6:129", - "memberName": "Active", - "nodeType": "MemberAccess", - "referencedDeclaration": 74745, - "src": "12356:36:129", - "typeDescriptions": { - "typeIdentifier": "t_enum$_ProposalStatus_$74749", - "typeString": "enum StrategyStruct.ProposalStatus" - } - }, - "src": "12337:55:129", - "typeDescriptions": { - "typeIdentifier": "t_enum$_ProposalStatus_$74749", - "typeString": "enum StrategyStruct.ProposalStatus" - } - }, - "id": 75435, - "nodeType": "ExpressionStatement", - "src": "12337:55:129" - }, - { - "expression": { - "id": 75441, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "expression": { - "id": 75436, - "name": "p", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75390, - "src": "12402:1:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal storage pointer" - } - }, - "id": 75438, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberLocation": "12404:9:129", - "memberName": "blockLast", - "nodeType": "MemberAccess", - "referencedDeclaration": 74765, - "src": "12402:11:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "expression": { - "id": 75439, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "12416:5:129", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 75440, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "12422:6:129", - "memberName": "number", - "nodeType": "MemberAccess", - "src": "12416:12:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "12402:26:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 75442, - "nodeType": "ExpressionStatement", - "src": "12402:26:129" - }, - { - "expression": { - "id": 75447, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "expression": { - "id": 75443, - "name": "p", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75390, - "src": "12438:1:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal storage pointer" - } - }, - "id": 75445, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberLocation": "12440:14:129", - "memberName": "convictionLast", - "nodeType": "MemberAccess", - "referencedDeclaration": 74757, - "src": "12438:16:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "hexValue": "30", - "id": 75446, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12457:1:129", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "12438:20:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 75448, - "nodeType": "ExpressionStatement", - "src": "12438:20:129" - }, - { - "expression": { - "id": 75454, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "expression": { - "id": 75449, - "name": "p", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75390, - "src": "12504:1:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal storage pointer" - } - }, - "id": 75451, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberLocation": "12506:8:129", - "memberName": "metadata", - "nodeType": "MemberAccess", - "referencedDeclaration": 74775, - "src": "12504:10:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Metadata_$3098_storage", - "typeString": "struct Metadata storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "expression": { - "id": 75452, - "name": "proposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75311, - "src": "12517:8:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_CreateProposal_$74743_memory_ptr", - "typeString": "struct StrategyStruct.CreateProposal memory" - } - }, - "id": 75453, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "12526:8:129", - "memberName": "metadata", - "nodeType": "MemberAccess", - "referencedDeclaration": 74742, - "src": "12517:17:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Metadata_$3098_memory_ptr", - "typeString": "struct Metadata memory" - } - }, - "src": "12504:30:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Metadata_$3098_storage", - "typeString": "struct Metadata storage ref" - } - }, - "id": 75455, - "nodeType": "ExpressionStatement", - "src": "12504:30:129" - }, - { - "eventCall": { - "arguments": [ - { - "id": 75457, - "name": "poolId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3341, - "src": "12566:6:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 75458, - "name": "proposalId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75382, - "src": "12574:10:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 75456, - "name": "ProposalCreated", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74911, - "src": "12550:15:129", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (uint256,uint256)" - } - }, - "id": 75459, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "12550:35:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 75460, - "nodeType": "EmitStatement", - "src": "12545:40:129" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "id": 75465, - "name": "proposalId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75382, - "src": "12618:10:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 75464, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "12610:7:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint160_$", - "typeString": "type(uint160)" - }, - "typeName": { - "id": 75463, - "name": "uint160", - "nodeType": "ElementaryTypeName", - "src": "12610:7:129", - "typeDescriptions": {} - } - }, - "id": 75466, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "12610:19:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint160", - "typeString": "uint160" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint160", - "typeString": "uint160" - } - ], - "id": 75462, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "12602:7:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 75461, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12602:7:129", - "typeDescriptions": {} - } - }, - "id": 75467, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "12602:28:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "functionReturnParameters": 75295, - "id": 75468, - "nodeType": "Return", - "src": "12595:35:129" - } - ] - }, - "baseFunctions": [ - 3809 - ], - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_registerRecipient", - "nameLocation": "10601:18:129", - "overrides": { - "id": 75292, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "10666:8:129" - }, - "parameters": { - "id": 75291, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 75288, - "mutability": "mutable", - "name": "_data", - "nameLocation": "10633:5:129", - "nodeType": "VariableDeclaration", - "scope": 75470, - "src": "10620:18:129", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 75287, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "10620:5:129", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 75290, - "mutability": "mutable", - "name": "_sender", - "nameLocation": "10648:7:129", - "nodeType": "VariableDeclaration", - "scope": 75470, - "src": "10640:15:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 75289, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10640:7:129", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "10619:37:129" - }, - "returnParameters": { - "id": 75295, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 75294, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 75470, - "src": "10684:7:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 75293, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10684:7:129", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "10683:9:129" - }, - "scope": 77611, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "id": 75509, - "nodeType": "FunctionDefinition", - "src": "12643:351:129", - "nodes": [], - "body": { - "id": 75508, - "nodeType": "Block", - "src": "12678:316:129", - "nodes": [], - "statements": [ - { - "assignments": [ - 75474 - ], - "declarations": [ - { - "constant": false, - "id": 75474, - "mutability": "mutable", - "name": "member", - "nameLocation": "12696:6:129", - "nodeType": "VariableDeclaration", - "scope": 75508, - "src": "12688:14:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 75473, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12688:7:129", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "id": 75477, - "initialValue": { - "expression": { - "id": 75475, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "12705:3:129", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 75476, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "12709:6:129", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "12705:10:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "12688:27:129" - }, - { - "condition": { - "id": 75481, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "12729:26:129", - "subExpression": { - "arguments": [ - { - "id": 75479, - "name": "member", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75474, - "src": "12748:6:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 75478, - "name": "_canExecuteAction", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75286, - "src": "12730:17:129", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", - "typeString": "function (address) view returns (bool)" - } - }, - "id": 75480, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "12730:25:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 75486, - "nodeType": "IfStatement", - "src": "12725:89:129", - "trueBody": { - "id": 75485, - "nodeType": "Block", - "src": "12757:57:129", - "statements": [ - { - "errorCall": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 75482, - "name": "UserCannotExecuteAction", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74890, - "src": "12778:23:129", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 75483, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "12778:25:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 75484, - "nodeType": "RevertStatement", - "src": "12771:32:129" - } - ] - } - }, - { - "expression": { - "arguments": [ - { - "id": 75490, - "name": "member", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75474, - "src": "12866:6:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "arguments": [ - { - "id": 75493, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "12882:4:129", - "typeDescriptions": { - "typeIdentifier": "t_contract$_CVStrategy_$77611", - "typeString": "contract CVStrategy" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_CVStrategy_$77611", - "typeString": "contract CVStrategy" - } - ], - "id": 75492, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "12874:7:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 75491, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12874:7:129", - "typeDescriptions": {} - } - }, - "id": 75494, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "12874:13:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "id": 75487, - "name": "registryCommunity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75014, - "src": "12823:17:129", - "typeDescriptions": { - "typeIdentifier": "t_contract$_RegistryCommunity_$83082", - "typeString": "contract RegistryCommunity" - } - }, - "id": 75489, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "12841:24:129", - "memberName": "activateMemberInStrategy", - "nodeType": "MemberAccess", - "referencedDeclaration": 82041, - "src": "12823:42:129", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$returns$__$", - "typeString": "function (address,address) external" - } - }, - "id": 75495, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "12823:65:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 75496, - "nodeType": "ExpressionStatement", - "src": "12823:65:129" - }, - { - "expression": { - "id": 75506, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 75497, - "name": "totalPointsActivated", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74997, - "src": "12898:20:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "arguments": [ - { - "id": 75500, - "name": "member", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75474, - "src": "12965:6:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "arguments": [ - { - "id": 75503, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "12981:4:129", - "typeDescriptions": { - "typeIdentifier": "t_contract$_CVStrategy_$77611", - "typeString": "contract CVStrategy" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_CVStrategy_$77611", - "typeString": "contract CVStrategy" - } - ], - "id": 75502, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "12973:7:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 75501, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12973:7:129", - "typeDescriptions": {} - } - }, - "id": 75504, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "12973:13:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "id": 75498, - "name": "registryCommunity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75014, - "src": "12922:17:129", - "typeDescriptions": { - "typeIdentifier": "t_contract$_RegistryCommunity_$83082", - "typeString": "contract RegistryCommunity" - } - }, - "id": 75499, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "12940:24:129", - "memberName": "getMemberPowerInStrategy", - "nodeType": "MemberAccess", - "referencedDeclaration": 82423, - "src": "12922:42:129", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$", - "typeString": "function (address,address) view external returns (uint256)" - } - }, - "id": 75505, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "12922:65:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "12898:89:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 75507, - "nodeType": "ExpressionStatement", - "src": "12898:89:129" - } - ] - }, - "functionSelector": "814516ad", - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "activatePoints", - "nameLocation": "12652:14:129", - "parameters": { - "id": 75471, - "nodeType": "ParameterList", - "parameters": [], - "src": "12666:2:129" - }, - "returnParameters": { - "id": 75472, - "nodeType": "ParameterList", - "parameters": [], - "src": "12678:0:129" - }, - "scope": 77611, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "id": 75518, - "nodeType": "FunctionDefinition", - "src": "13000:81:129", - "nodes": [], - "body": { - "id": 75517, - "nodeType": "Block", - "src": "13035:46:129", - "nodes": [], - "statements": [ - { - "expression": { - "arguments": [ - { - "expression": { - "id": 75513, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "13063:3:129", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 75514, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "13067:6:129", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "13063:10:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 75512, - "name": "_deactivatePoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75566, - "src": "13045:17:129", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", - "typeString": "function (address)" - } - }, - "id": 75515, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "13045:29:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 75516, - "nodeType": "ExpressionStatement", - "src": "13045:29:129" - } - ] - }, - "functionSelector": "1ddf1e23", - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "deactivatePoints", - "nameLocation": "13009:16:129", - "parameters": { - "id": 75510, - "nodeType": "ParameterList", - "parameters": [], - "src": "13025:2:129" - }, - "returnParameters": { - "id": 75511, - "nodeType": "ParameterList", - "parameters": [], - "src": "13035:0:129" - }, - "scope": 77611, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "id": 75531, - "nodeType": "FunctionDefinition", - "src": "13087:128:129", - "nodes": [], - "body": { - "id": 75530, - "nodeType": "Block", - "src": "13139:76:129", - "nodes": [], - "statements": [ - { - "expression": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 75523, - "name": "onlyRegistryCommunity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75240, - "src": "13149:21:129", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$__$", - "typeString": "function () view" - } - }, - "id": 75524, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "13149:23:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 75525, - "nodeType": "ExpressionStatement", - "src": "13149:23:129" - }, - { - "expression": { - "arguments": [ - { - "id": 75527, - "name": "_member", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75520, - "src": "13200:7:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 75526, - "name": "_deactivatePoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75566, - "src": "13182:17:129", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", - "typeString": "function (address)" - } - }, - "id": 75528, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "13182:26:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 75529, - "nodeType": "ExpressionStatement", - "src": "13182:26:129" - } - ] - }, - "baseFunctions": [ - 74697 - ], - "functionSelector": "6453d9c4", - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "deactivatePoints", - "nameLocation": "13096:16:129", - "parameters": { - "id": 75521, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 75520, - "mutability": "mutable", - "name": "_member", - "nameLocation": "13121:7:129", - "nodeType": "VariableDeclaration", - "scope": 75531, - "src": "13113:15:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 75519, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "13113:7:129", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "13112:17:129" - }, - "returnParameters": { - "id": 75522, - "nodeType": "ParameterList", - "parameters": [], - "src": "13139:0:129" - }, - "scope": 77611, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "id": 75566, - "nodeType": "FunctionDefinition", - "src": "13221:351:129", - "nodes": [], - "body": { - "id": 75565, - "nodeType": "Block", - "src": "13274:298:129", - "nodes": [], - "statements": [ - { - "expression": { - "id": 75545, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 75536, - "name": "totalPointsActivated", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74997, - "src": "13284:20:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "-=", - "rightHandSide": { - "arguments": [ - { - "id": 75539, - "name": "_member", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75533, - "src": "13351:7:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "arguments": [ - { - "id": 75542, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "13368:4:129", - "typeDescriptions": { - "typeIdentifier": "t_contract$_CVStrategy_$77611", - "typeString": "contract CVStrategy" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_CVStrategy_$77611", - "typeString": "contract CVStrategy" - } - ], - "id": 75541, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "13360:7:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 75540, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "13360:7:129", - "typeDescriptions": {} - } - }, - "id": 75543, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "13360:13:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "id": 75537, - "name": "registryCommunity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75014, - "src": "13308:17:129", - "typeDescriptions": { - "typeIdentifier": "t_contract$_RegistryCommunity_$83082", - "typeString": "contract RegistryCommunity" - } - }, - "id": 75538, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "13326:24:129", - "memberName": "getMemberPowerInStrategy", - "nodeType": "MemberAccess", - "referencedDeclaration": 82423, - "src": "13308:42:129", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$", - "typeString": "function (address,address) view external returns (uint256)" - } - }, - "id": 75544, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "13308:66:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "13284:90:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 75546, - "nodeType": "ExpressionStatement", - "src": "13284:90:129" - }, - { - "expression": { - "arguments": [ - { - "id": 75550, - "name": "_member", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75533, - "src": "13429:7:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "arguments": [ - { - "id": 75553, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "13446:4:129", - "typeDescriptions": { - "typeIdentifier": "t_contract$_CVStrategy_$77611", - "typeString": "contract CVStrategy" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_CVStrategy_$77611", - "typeString": "contract CVStrategy" - } - ], - "id": 75552, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "13438:7:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 75551, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "13438:7:129", - "typeDescriptions": {} - } - }, - "id": 75554, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "13438:13:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "id": 75547, - "name": "registryCommunity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75014, - "src": "13384:17:129", - "typeDescriptions": { - "typeIdentifier": "t_contract$_RegistryCommunity_$83082", - "typeString": "contract RegistryCommunity" - } - }, - "id": 75549, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "13402:26:129", - "memberName": "deactivateMemberInStrategy", - "nodeType": "MemberAccess", - "referencedDeclaration": 82100, - "src": "13384:44:129", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$returns$__$", - "typeString": "function (address,address) external" - } - }, - "id": 75555, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "13384:68:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 75556, - "nodeType": "ExpressionStatement", - "src": "13384:68:129" - }, - { - "expression": { - "arguments": [ - { - "id": 75558, - "name": "_member", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75533, - "src": "13516:7:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 75557, - "name": "withdraw", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76468, - "src": "13507:8:129", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", - "typeString": "function (address)" - } - }, - "id": 75559, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "13507:17:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 75560, - "nodeType": "ExpressionStatement", - "src": "13507:17:129" - }, - { - "eventCall": { - "arguments": [ - { - "id": 75562, - "name": "_member", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75533, - "src": "13557:7:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 75561, - "name": "PointsDeactivated", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74947, - "src": "13539:17:129", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$", - "typeString": "function (address)" - } - }, - "id": 75563, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "13539:26:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 75564, - "nodeType": "EmitStatement", - "src": "13534:31:129" - } - ] - }, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_deactivatePoints", - "nameLocation": "13230:17:129", - "parameters": { - "id": 75534, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 75533, - "mutability": "mutable", - "name": "_member", - "nameLocation": "13256:7:129", - "nodeType": "VariableDeclaration", - "scope": 75566, - "src": "13248:15:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 75532, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "13248:7:129", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "13247:17:129" - }, - "returnParameters": { - "id": 75535, - "nodeType": "ParameterList", - "parameters": [], - "src": "13274:0:129" - }, - "scope": 77611, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "id": 75659, - "nodeType": "FunctionDefinition", - "src": "13578:1012:129", - "nodes": [], - "body": { - "id": 75658, - "nodeType": "Block", - "src": "13669:921:129", - "nodes": [], - "statements": [ - { - "expression": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 75575, - "name": "onlyRegistryCommunity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75240, - "src": "13679:21:129", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$__$", - "typeString": "function () view" - } - }, - "id": 75576, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "13679:23:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 75577, - "nodeType": "ExpressionStatement", - "src": "13679:23:129" - }, - { - "condition": { - "id": 75581, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "13716:27:129", - "subExpression": { - "arguments": [ - { - "id": 75579, - "name": "_member", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75568, - "src": "13735:7:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 75578, - "name": "_canExecuteAction", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75286, - "src": "13717:17:129", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", - "typeString": "function (address) view returns (bool)" - } - }, - "id": 75580, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "13717:26:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 75586, - "nodeType": "IfStatement", - "src": "13712:90:129", - "trueBody": { - "id": 75585, - "nodeType": "Block", - "src": "13745:57:129", - "statements": [ - { - "errorCall": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 75582, - "name": "UserCannotExecuteAction", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74890, - "src": "13766:23:129", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 75583, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "13766:25:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 75584, - "nodeType": "RevertStatement", - "src": "13759:32:129" - } - ] - } - }, - { - "assignments": [ - 75588 - ], - "declarations": [ - { - "constant": false, - "id": 75588, - "mutability": "mutable", - "name": "pointsToIncrease", - "nameLocation": "13819:16:129", - "nodeType": "VariableDeclaration", - "scope": 75658, - "src": "13811:24:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 75587, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13811:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 75590, - "initialValue": { - "hexValue": "30", - "id": 75589, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13838:1:129", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "13811:28:129" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_enum$_PointSystem_$74731", - "typeString": "enum StrategyStruct.PointSystem" - }, - "id": 75595, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 75591, - "name": "pointSystem", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75008, - "src": "13853:11:129", - "typeDescriptions": { - "typeIdentifier": "t_enum$_PointSystem_$74731", - "typeString": "enum StrategyStruct.PointSystem" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "expression": { - "expression": { - "id": 75592, - "name": "StrategyStruct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74807, - "src": "13868:14:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_StrategyStruct_$74807_$", - "typeString": "type(library StrategyStruct)" - } - }, - "id": 75593, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "13883:11:129", - "memberName": "PointSystem", - "nodeType": "MemberAccess", - "referencedDeclaration": 74731, - "src": "13868:26:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_PointSystem_$74731_$", - "typeString": "type(enum StrategyStruct.PointSystem)" - } - }, - "id": 75594, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "13895:9:129", - "memberName": "Unlimited", - "nodeType": "MemberAccess", - "referencedDeclaration": 74729, - "src": "13868:36:129", - "typeDescriptions": { - "typeIdentifier": "t_enum$_PointSystem_$74731", - "typeString": "enum StrategyStruct.PointSystem" - } - }, - "src": "13853:51:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "condition": { - "commonType": { - "typeIdentifier": "t_enum$_PointSystem_$74731", - "typeString": "enum StrategyStruct.PointSystem" - }, - "id": 75607, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 75603, - "name": "pointSystem", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75008, - "src": "13998:11:129", - "typeDescriptions": { - "typeIdentifier": "t_enum$_PointSystem_$74731", - "typeString": "enum StrategyStruct.PointSystem" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "expression": { - "expression": { - "id": 75604, - "name": "StrategyStruct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74807, - "src": "14013:14:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_StrategyStruct_$74807_$", - "typeString": "type(library StrategyStruct)" - } - }, - "id": 75605, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "14028:11:129", - "memberName": "PointSystem", - "nodeType": "MemberAccess", - "referencedDeclaration": 74731, - "src": "14013:26:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_PointSystem_$74731_$", - "typeString": "type(enum StrategyStruct.PointSystem)" - } - }, - "id": 75606, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "14040:6:129", - "memberName": "Capped", - "nodeType": "MemberAccess", - "referencedDeclaration": 74728, - "src": "14013:33:129", - "typeDescriptions": { - "typeIdentifier": "t_enum$_PointSystem_$74731", - "typeString": "enum StrategyStruct.PointSystem" - } - }, - "src": "13998:48:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "condition": { - "commonType": { - "typeIdentifier": "t_enum$_PointSystem_$74731", - "typeString": "enum StrategyStruct.PointSystem" - }, - "id": 75620, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 75616, - "name": "pointSystem", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75008, - "src": "14146:11:129", - "typeDescriptions": { - "typeIdentifier": "t_enum$_PointSystem_$74731", - "typeString": "enum StrategyStruct.PointSystem" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "expression": { - "expression": { - "id": 75617, - "name": "StrategyStruct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74807, - "src": "14161:14:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_StrategyStruct_$74807_$", - "typeString": "type(library StrategyStruct)" - } - }, - "id": 75618, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "14176:11:129", - "memberName": "PointSystem", - "nodeType": "MemberAccess", - "referencedDeclaration": 74731, - "src": "14161:26:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_PointSystem_$74731_$", - "typeString": "type(enum StrategyStruct.PointSystem)" - } - }, - "id": 75619, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "14188:9:129", - "memberName": "Quadratic", - "nodeType": "MemberAccess", - "referencedDeclaration": 74730, - "src": "14161:36:129", - "typeDescriptions": { - "typeIdentifier": "t_enum$_PointSystem_$74731", - "typeString": "enum StrategyStruct.PointSystem" - } - }, - "src": "14146:51:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 75629, - "nodeType": "IfStatement", - "src": "14142:148:129", - "trueBody": { - "id": 75628, - "nodeType": "Block", - "src": "14199:91:129", - "statements": [ - { - "expression": { - "id": 75626, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 75621, - "name": "pointsToIncrease", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75588, - "src": "14213:16:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "id": 75623, - "name": "_member", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75568, - "src": "14255:7:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 75624, - "name": "_amountToStake", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75570, - "src": "14264:14:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 75622, - "name": "increasePowerQuadratic", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75872, - "src": "14232:22:129", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (address,uint256) view returns (uint256)" - } - }, - "id": 75625, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "14232:47:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "14213:66:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 75627, - "nodeType": "ExpressionStatement", - "src": "14213:66:129" - } - ] - } - }, - "id": 75630, - "nodeType": "IfStatement", - "src": "13994:296:129", - "trueBody": { - "id": 75615, - "nodeType": "Block", - "src": "14048:88:129", - "statements": [ - { - "expression": { - "id": 75613, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 75608, - "name": "pointsToIncrease", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75588, - "src": "14062:16:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "id": 75610, - "name": "_member", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75568, - "src": "14101:7:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 75611, - "name": "_amountToStake", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75570, - "src": "14110:14:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 75609, - "name": "increasePowerCapped", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75788, - "src": "14081:19:129", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (address,uint256) view returns (uint256)" - } - }, - "id": 75612, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "14081:44:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "14062:63:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 75614, - "nodeType": "ExpressionStatement", - "src": "14062:63:129" - } - ] - } - }, - "id": 75631, - "nodeType": "IfStatement", - "src": "13849:441:129", - "trueBody": { - "id": 75602, - "nodeType": "Block", - "src": "13906:82:129", - "statements": [ - { - "expression": { - "id": 75600, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 75596, - "name": "pointsToIncrease", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75588, - "src": "13920:16:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "id": 75598, - "name": "_amountToStake", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75570, - "src": "13962:14:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 75597, - "name": "increasePowerUnlimited", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75725, - "src": "13939:22:129", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - } - }, - "id": 75599, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "13939:38:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "13920:57:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 75601, - "nodeType": "ExpressionStatement", - "src": "13920:57:129" - } - ] - } - }, - { - "assignments": [ - 75633 - ], - "declarations": [ - { - "constant": false, - "id": 75633, - "mutability": "mutable", - "name": "isActivated", - "nameLocation": "14304:11:129", - "nodeType": "VariableDeclaration", - "scope": 75658, - "src": "14299:16:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 75632, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "14299:4:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "id": 75642, - "initialValue": { - "arguments": [ - { - "id": 75636, - "name": "_member", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75568, - "src": "14364:7:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "arguments": [ - { - "id": 75639, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "14381:4:129", - "typeDescriptions": { - "typeIdentifier": "t_contract$_CVStrategy_$77611", - "typeString": "contract CVStrategy" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_CVStrategy_$77611", - "typeString": "contract CVStrategy" - } - ], - "id": 75638, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "14373:7:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 75637, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "14373:7:129", - "typeDescriptions": {} - } - }, - "id": 75640, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "14373:13:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "id": 75634, - "name": "registryCommunity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75014, - "src": "14318:17:129", - "typeDescriptions": { - "typeIdentifier": "t_contract$_RegistryCommunity_$83082", - "typeString": "contract RegistryCommunity" - } - }, - "id": 75635, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "14336:27:129", - "memberName": "memberActivatedInStrategies", - "nodeType": "MemberAccess", - "referencedDeclaration": 81575, - "src": "14318:45:129", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$_t_address_$returns$_t_bool_$", - "typeString": "function (address,address) view external returns (bool)" - } - }, - "id": 75641, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "14318:69:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "14299:88:129" - }, - { - "condition": { - "id": 75643, - "name": "isActivated", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75633, - "src": "14401:11:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 75649, - "nodeType": "IfStatement", - "src": "14397:82:129", - "trueBody": { - "id": 75648, - "nodeType": "Block", - "src": "14414:65:129", - "statements": [ - { - "expression": { - "id": 75646, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 75644, - "name": "totalPointsActivated", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74997, - "src": "14428:20:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "id": 75645, - "name": "pointsToIncrease", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75588, - "src": "14452:16:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "14428:40:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 75647, - "nodeType": "ExpressionStatement", - "src": "14428:40:129" - } - ] - } - }, - { - "eventCall": { - "arguments": [ - { - "id": 75651, - "name": "_member", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75568, - "src": "14508:7:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 75652, - "name": "_amountToStake", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75570, - "src": "14517:14:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 75653, - "name": "pointsToIncrease", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75588, - "src": "14533:16:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 75650, - "name": "PowerIncreased", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74923, - "src": "14493:14:129", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256,uint256)" - } - }, - "id": 75654, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "14493:57:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 75655, - "nodeType": "EmitStatement", - "src": "14488:62:129" - }, - { - "expression": { - "id": 75656, - "name": "pointsToIncrease", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75588, - "src": "14567:16:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 75574, - "id": 75657, - "nodeType": "Return", - "src": "14560:23:129" - } - ] - }, - "baseFunctions": [ - 74706 - ], - "functionSelector": "782aadff", - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "increasePower", - "nameLocation": "13587:13:129", - "parameters": { - "id": 75571, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 75568, - "mutability": "mutable", - "name": "_member", - "nameLocation": "13609:7:129", - "nodeType": "VariableDeclaration", - "scope": 75659, - "src": "13601:15:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 75567, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "13601:7:129", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 75570, - "mutability": "mutable", - "name": "_amountToStake", - "nameLocation": "13626:14:129", - "nodeType": "VariableDeclaration", - "scope": 75659, - "src": "13618:22:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 75569, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13618:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "13600:41:129" - }, - "returnParameters": { - "id": 75574, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 75573, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 75659, - "src": "13660:7:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 75572, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13660:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "13659:9:129" - }, - "scope": 77611, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "id": 75715, - "nodeType": "FunctionDefinition", - "src": "14596:681:129", - "nodes": [], - "body": { - "id": 75714, - "nodeType": "Block", - "src": "14689:588:129", - "nodes": [], - "statements": [ - { - "expression": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 75668, - "name": "onlyRegistryCommunity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75240, - "src": "14699:21:129", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$__$", - "typeString": "function () view" - } - }, - "id": 75669, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "14699:23:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 75670, - "nodeType": "ExpressionStatement", - "src": "14699:23:129" - }, - { - "assignments": [ - 75672 - ], - "declarations": [ - { - "constant": false, - "id": 75672, - "mutability": "mutable", - "name": "pointsToDecrease", - "nameLocation": "14786:16:129", - "nodeType": "VariableDeclaration", - "scope": 75714, - "src": "14778:24:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 75671, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14778:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 75674, - "initialValue": { - "hexValue": "30", - "id": 75673, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14805:1:129", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "14778:28:129" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 75685, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_enum$_PointSystem_$74731", - "typeString": "enum StrategyStruct.PointSystem" - }, - "id": 75679, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 75675, - "name": "pointSystem", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75008, - "src": "14820:11:129", - "typeDescriptions": { - "typeIdentifier": "t_enum$_PointSystem_$74731", - "typeString": "enum StrategyStruct.PointSystem" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "expression": { - "expression": { - "id": 75676, - "name": "StrategyStruct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74807, - "src": "14835:14:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_StrategyStruct_$74807_$", - "typeString": "type(library StrategyStruct)" - } - }, - "id": 75677, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "14850:11:129", - "memberName": "PointSystem", - "nodeType": "MemberAccess", - "referencedDeclaration": 74731, - "src": "14835:26:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_PointSystem_$74731_$", - "typeString": "type(enum StrategyStruct.PointSystem)" - } - }, - "id": 75678, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "14862:9:129", - "memberName": "Unlimited", - "nodeType": "MemberAccess", - "referencedDeclaration": 74729, - "src": "14835:36:129", - "typeDescriptions": { - "typeIdentifier": "t_enum$_PointSystem_$74731", - "typeString": "enum StrategyStruct.PointSystem" - } - }, - "src": "14820:51:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_enum$_PointSystem_$74731", - "typeString": "enum StrategyStruct.PointSystem" - }, - "id": 75684, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 75680, - "name": "pointSystem", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75008, - "src": "14875:11:129", - "typeDescriptions": { - "typeIdentifier": "t_enum$_PointSystem_$74731", - "typeString": "enum StrategyStruct.PointSystem" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "expression": { - "expression": { - "id": 75681, - "name": "StrategyStruct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74807, - "src": "14890:14:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_StrategyStruct_$74807_$", - "typeString": "type(library StrategyStruct)" - } - }, - "id": 75682, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "14905:11:129", - "memberName": "PointSystem", - "nodeType": "MemberAccess", - "referencedDeclaration": 74731, - "src": "14890:26:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_PointSystem_$74731_$", - "typeString": "type(enum StrategyStruct.PointSystem)" - } - }, - "id": 75683, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "14917:6:129", - "memberName": "Capped", - "nodeType": "MemberAccess", - "referencedDeclaration": 74728, - "src": "14890:33:129", - "typeDescriptions": { - "typeIdentifier": "t_enum$_PointSystem_$74731", - "typeString": "enum StrategyStruct.PointSystem" - } - }, - "src": "14875:48:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "14820:103:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 75700, - "nodeType": "Block", - "src": "15021:93:129", - "statements": [ - { - "expression": { - "id": 75698, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 75693, - "name": "pointsToDecrease", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75672, - "src": "15035:16:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "id": 75695, - "name": "_member", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75661, - "src": "15077:7:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 75696, - "name": "_amountToUnstake", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75663, - "src": "15086:16:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 75694, - "name": "decreasePowerQuadratic", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75976, - "src": "15054:22:129", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (address,uint256) view returns (uint256)" - } - }, - "id": 75697, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "15054:49:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15035:68:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 75699, - "nodeType": "ExpressionStatement", - "src": "15035:68:129" - } - ] - }, - "id": 75701, - "nodeType": "IfStatement", - "src": "14816:298:129", - "trueBody": { - "id": 75692, - "nodeType": "Block", - "src": "14925:90:129", - "statements": [ - { - "expression": { - "id": 75690, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 75686, - "name": "pointsToDecrease", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75672, - "src": "14939:16:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "id": 75688, - "name": "_amountToUnstake", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75663, - "src": "14987:16:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 75687, - "name": "decreasePowerCappedUnlimited", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75882, - "src": "14958:28:129", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - } - }, - "id": 75689, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "14958:46:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "14939:65:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 75691, - "nodeType": "ExpressionStatement", - "src": "14939:65:129" - } - ] - } - }, - { - "expression": { - "id": 75704, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 75702, - "name": "totalPointsActivated", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74997, - "src": "15123:20:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "-=", - "rightHandSide": { - "id": 75703, - "name": "pointsToDecrease", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75672, - "src": "15147:16:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15123:40:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 75705, - "nodeType": "ExpressionStatement", - "src": "15123:40:129" - }, - { - "eventCall": { - "arguments": [ - { - "id": 75707, - "name": "_member", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75661, - "src": "15193:7:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 75708, - "name": "_amountToUnstake", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75663, - "src": "15202:16:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 75709, - "name": "pointsToDecrease", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75672, - "src": "15220:16:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 75706, - "name": "PowerDecreased", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74931, - "src": "15178:14:129", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256,uint256)" - } - }, - "id": 75710, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "15178:59:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 75711, - "nodeType": "EmitStatement", - "src": "15173:64:129" - }, - { - "expression": { - "id": 75712, - "name": "pointsToDecrease", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75672, - "src": "15254:16:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 75667, - "id": 75713, - "nodeType": "Return", - "src": "15247:23:129" - } - ] - }, - "baseFunctions": [ - 74715 - ], - "functionSelector": "2ed04b2b", - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "decreasePower", - "nameLocation": "14605:13:129", - "parameters": { - "id": 75664, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 75661, - "mutability": "mutable", - "name": "_member", - "nameLocation": "14627:7:129", - "nodeType": "VariableDeclaration", - "scope": 75715, - "src": "14619:15:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 75660, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "14619:7:129", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 75663, - "mutability": "mutable", - "name": "_amountToUnstake", - "nameLocation": "14644:16:129", - "nodeType": "VariableDeclaration", - "scope": 75715, - "src": "14636:24:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 75662, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14636:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "14618:43:129" - }, - "returnParameters": { - "id": 75667, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 75666, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 75715, - "src": "14680:7:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 75665, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14680:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "14679:9:129" - }, - "scope": 77611, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "id": 75725, - "nodeType": "FunctionDefinition", - "src": "15283:126:129", - "nodes": [], - "body": { - "id": 75724, - "nodeType": "Block", - "src": "15371:38:129", - "nodes": [], - "statements": [ - { - "expression": { - "id": 75722, - "name": "_amountToStake", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75717, - "src": "15388:14:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 75721, - "id": 75723, - "nodeType": "Return", - "src": "15381:21:129" - } - ] - }, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "increasePowerUnlimited", - "nameLocation": "15292:22:129", - "parameters": { - "id": 75718, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 75717, - "mutability": "mutable", - "name": "_amountToStake", - "nameLocation": "15323:14:129", - "nodeType": "VariableDeclaration", - "scope": 75725, - "src": "15315:22:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 75716, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15315:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "15314:24:129" - }, - "returnParameters": { - "id": 75721, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 75720, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 75725, - "src": "15362:7:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 75719, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15362:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "15361:9:129" - }, - "scope": 77611, - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "id": 75788, - "nodeType": "FunctionDefinition", - "src": "15415:615:129", - "nodes": [], - "body": { - "id": 75787, - "nodeType": "Block", - "src": "15517:513:129", - "nodes": [], - "statements": [ - { - "assignments": [ - 75735 - ], - "declarations": [ - { - "constant": false, - "id": 75735, - "mutability": "mutable", - "name": "pointsToIncrease", - "nameLocation": "15535:16:129", - "nodeType": "VariableDeclaration", - "scope": 75787, - "src": "15527:24:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 75734, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15527:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 75737, - "initialValue": { - "id": 75736, - "name": "_amountToStake", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75729, - "src": "15554:14:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15527:41:129" - }, - { - "expression": { - "arguments": [ - { - "hexValue": "504f494e545320544f20494e435245415345", - "id": 75741, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15590:20:129", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_ef3d3d59430373ce7e3d099486636fe73635f3082757c009fe2ef0b043a4ebb1", - "typeString": "literal_string \"POINTS TO INCREASE\"" - }, - "value": "POINTS TO INCREASE" - }, - { - "id": 75742, - "name": "pointsToIncrease", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75735, - "src": "15612:16:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_ef3d3d59430373ce7e3d099486636fe73635f3082757c009fe2ef0b043a4ebb1", - "typeString": "literal_string \"POINTS TO INCREASE\"" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 75738, - "name": "console", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29549, - "src": "15578:7:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_console_$29549_$", - "typeString": "type(library console)" - } - }, - "id": 75740, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "15586:3:129", - "memberName": "log", - "nodeType": "MemberAccess", - "referencedDeclaration": 22193, - "src": "15578:11:129", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$", - "typeString": "function (string memory,uint256) view" - } - }, - "id": 75743, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "15578:51:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 75744, - "nodeType": "ExpressionStatement", - "src": "15578:51:129" - }, - { - "assignments": [ - 75746 - ], - "declarations": [ - { - "constant": false, - "id": 75746, - "mutability": "mutable", - "name": "memberPower", - "nameLocation": "15647:11:129", - "nodeType": "VariableDeclaration", - "scope": 75787, - "src": "15639:19:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 75745, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15639:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 75755, - "initialValue": { - "arguments": [ - { - "id": 75749, - "name": "_member", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75727, - "src": "15704:7:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "arguments": [ - { - "id": 75752, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "15721:4:129", - "typeDescriptions": { - "typeIdentifier": "t_contract$_CVStrategy_$77611", - "typeString": "contract CVStrategy" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_CVStrategy_$77611", - "typeString": "contract CVStrategy" - } - ], - "id": 75751, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "15713:7:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 75750, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "15713:7:129", - "typeDescriptions": {} - } - }, - "id": 75753, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "15713:13:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "id": 75747, - "name": "registryCommunity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75014, - "src": "15661:17:129", - "typeDescriptions": { - "typeIdentifier": "t_contract$_RegistryCommunity_$83082", - "typeString": "contract RegistryCommunity" - } - }, - "id": 75748, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "15679:24:129", - "memberName": "getMemberPowerInStrategy", - "nodeType": "MemberAccess", - "referencedDeclaration": 82423, - "src": "15661:42:129", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$", - "typeString": "function (address,address) view external returns (uint256)" - } - }, - "id": 75754, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "15661:66:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15639:88:129" - }, - { - "expression": { - "arguments": [ - { - "hexValue": "4d454d424552504f574552", - "id": 75759, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15749:13:129", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_d53146c44856b98b9530413c868d7a3bea9675ba78d0918c9dbfa4f905f5c3e8", - "typeString": "literal_string \"MEMBERPOWER\"" - }, - "value": "MEMBERPOWER" - }, - { - "id": 75760, - "name": "memberPower", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75746, - "src": "15764:11:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_d53146c44856b98b9530413c868d7a3bea9675ba78d0918c9dbfa4f905f5c3e8", - "typeString": "literal_string \"MEMBERPOWER\"" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 75756, - "name": "console", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29549, - "src": "15737:7:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_console_$29549_$", - "typeString": "type(library console)" - } - }, - "id": 75758, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "15745:3:129", - "memberName": "log", - "nodeType": "MemberAccess", - "referencedDeclaration": 22193, - "src": "15737:11:129", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$", - "typeString": "function (string memory,uint256) view" - } - }, - "id": 75761, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "15737:39:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 75762, - "nodeType": "ExpressionStatement", - "src": "15737:39:129" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 75768, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 75765, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 75763, - "name": "memberPower", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75746, - "src": "15790:11:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "id": 75764, - "name": "pointsToIncrease", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75735, - "src": "15804:16:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15790:30:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "expression": { - "id": 75766, - "name": "pointConfig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75011, - "src": "15823:11:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PointSystemConfig_$74784_storage", - "typeString": "struct StrategyStruct.PointSystemConfig storage ref" - } - }, - "id": 75767, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "15835:9:129", - "memberName": "maxAmount", - "nodeType": "MemberAccess", - "referencedDeclaration": 74783, - "src": "15823:21:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15790:54:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 75777, - "nodeType": "IfStatement", - "src": "15786:139:129", - "trueBody": { - "id": 75776, - "nodeType": "Block", - "src": "15846:79:129", - "statements": [ - { - "expression": { - "id": 75774, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 75769, - "name": "pointsToIncrease", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75735, - "src": "15860:16:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 75773, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 75770, - "name": "pointConfig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75011, - "src": "15879:11:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PointSystemConfig_$74784_storage", - "typeString": "struct StrategyStruct.PointSystemConfig storage ref" - } - }, - "id": 75771, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "15891:9:129", - "memberName": "maxAmount", - "nodeType": "MemberAccess", - "referencedDeclaration": 74783, - "src": "15879:21:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "id": 75772, - "name": "memberPower", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75746, - "src": "15903:11:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15879:35:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15860:54:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 75775, - "nodeType": "ExpressionStatement", - "src": "15860:54:129" - } - ] - } - }, - { - "expression": { - "arguments": [ - { - "hexValue": "504f494e545320544f20494e43524541534520454e44", - "id": 75781, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15946:24:129", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_7339ba314bb001e1fd9993d42999dceed278cc5b138b69398be73c13fb666826", - "typeString": "literal_string \"POINTS TO INCREASE END\"" - }, - "value": "POINTS TO INCREASE END" - }, - { - "id": 75782, - "name": "pointsToIncrease", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75735, - "src": "15972:16:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_7339ba314bb001e1fd9993d42999dceed278cc5b138b69398be73c13fb666826", - "typeString": "literal_string \"POINTS TO INCREASE END\"" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 75778, - "name": "console", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29549, - "src": "15934:7:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_console_$29549_$", - "typeString": "type(library console)" - } - }, - "id": 75780, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "15942:3:129", - "memberName": "log", - "nodeType": "MemberAccess", - "referencedDeclaration": 22193, - "src": "15934:11:129", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$", - "typeString": "function (string memory,uint256) view" - } - }, - "id": 75783, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "15934:55:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 75784, - "nodeType": "ExpressionStatement", - "src": "15934:55:129" - }, - { - "expression": { - "id": 75785, - "name": "pointsToIncrease", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75735, - "src": "16007:16:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 75733, - "id": 75786, - "nodeType": "Return", - "src": "16000:23:129" - } - ] - }, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "increasePowerCapped", - "nameLocation": "15424:19:129", - "parameters": { - "id": 75730, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 75727, - "mutability": "mutable", - "name": "_member", - "nameLocation": "15452:7:129", - "nodeType": "VariableDeclaration", - "scope": 75788, - "src": "15444:15:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 75726, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "15444:7:129", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 75729, - "mutability": "mutable", - "name": "_amountToStake", - "nameLocation": "15469:14:129", - "nodeType": "VariableDeclaration", - "scope": 75788, - "src": "15461:22:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 75728, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15461:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "15443:41:129" - }, - "returnParameters": { - "id": 75733, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 75732, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 75788, - "src": "15508:7:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 75731, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15508:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "15507:9:129" - }, - "scope": 77611, - "stateMutability": "view", - "virtual": false, - "visibility": "internal" - }, - { - "id": 75872, - "nodeType": "FunctionDefinition", - "src": "16036:730:129", - "nodes": [], - "body": { - "id": 75871, - "nodeType": "Block", - "src": "16141:625:129", - "nodes": [], - "statements": [ - { - "assignments": [ - 75798 - ], - "declarations": [ - { - "constant": false, - "id": 75798, - "mutability": "mutable", - "name": "totalStake", - "nameLocation": "16159:10:129", - "nodeType": "VariableDeclaration", - "scope": 75871, - "src": "16151:18:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 75797, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16151:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 75805, - "initialValue": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 75804, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "arguments": [ - { - "id": 75801, - "name": "_member", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75790, - "src": "16212:7:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "id": 75799, - "name": "registryCommunity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75014, - "src": "16172:17:129", - "typeDescriptions": { - "typeIdentifier": "t_contract$_RegistryCommunity_$83082", - "typeString": "contract RegistryCommunity" - } - }, - "id": 75800, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "16190:21:129", - "memberName": "getMemberStakedAmount", - "nodeType": "MemberAccess", - "referencedDeclaration": 82436, - "src": "16172:39:129", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 75802, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "16172:48:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "id": 75803, - "name": "_amountToStake", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75792, - "src": "16223:14:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "16172:65:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "16151:86:129" - }, - { - "assignments": [ - 75807 - ], - "declarations": [ - { - "constant": false, - "id": 75807, - "mutability": "mutable", - "name": "decimal", - "nameLocation": "16256:7:129", - "nodeType": "VariableDeclaration", - "scope": 75871, - "src": "16248:15:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 75806, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16248:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 75809, - "initialValue": { - "hexValue": "3138", - "id": 75808, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "16266:2:129", - "typeDescriptions": { - "typeIdentifier": "t_rational_18_by_1", - "typeString": "int_const 18" - }, - "value": "18" - }, - "nodeType": "VariableDeclarationStatement", - "src": "16248:20:129" - }, - { - "clauses": [ - { - "block": { - "id": 75830, - "nodeType": "Block", - "src": "16366:52:129", - "statements": [ - { - "expression": { - "id": 75828, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 75823, - "name": "decimal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75807, - "src": "16380:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "id": 75826, - "name": "_decimal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75821, - "src": "16398:8:129", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - ], - "id": 75825, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "16390:7:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 75824, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16390:7:129", - "typeDescriptions": {} - } - }, - "id": 75827, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "16390:17:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "16380:27:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 75829, - "nodeType": "ExpressionStatement", - "src": "16380:27:129" - } - ] - }, - "errorName": "", - "id": 75831, - "nodeType": "TryCatchClause", - "parameters": { - "id": 75822, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 75821, - "mutability": "mutable", - "name": "_decimal", - "nameLocation": "16356:8:129", - "nodeType": "VariableDeclaration", - "scope": 75831, - "src": "16350:14:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 75820, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "16350:5:129", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "visibility": "internal" - } - ], - "src": "16349:16:129" - }, - "src": "16341:77:129" - }, - { - "block": { - "id": 75838, - "nodeType": "Block", - "src": "16425:61:129", - "statements": [ - { - "expression": { - "arguments": [ - { - "hexValue": "4572726f722067657474696e6720646563696d616c", - "id": 75835, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "16451:23:129", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_add5b7e354bcd4eb0c69c8b5bd8a8dca27c903f694ea26b234a6605e7f62de4d", - "typeString": "literal_string \"Error getting decimal\"" - }, - "value": "Error getting decimal" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_add5b7e354bcd4eb0c69c8b5bd8a8dca27c903f694ea26b234a6605e7f62de4d", - "typeString": "literal_string \"Error getting decimal\"" - } - ], - "expression": { - "id": 75832, - "name": "console", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29549, - "src": "16439:7:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_console_$29549_$", - "typeString": "type(library console)" - } - }, - "id": 75834, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "16447:3:129", - "memberName": "log", - "nodeType": "MemberAccess", - "referencedDeclaration": 22080, - "src": "16439:11:129", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_string_memory_ptr_$returns$__$", - "typeString": "function (string memory) view" - } - }, - "id": 75836, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "16439:36:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 75837, - "nodeType": "ExpressionStatement", - "src": "16439:36:129" - } - ] - }, - "errorName": "", - "id": 75839, - "nodeType": "TryCatchClause", - "src": "16419:67:129" - } - ], - "externalCall": { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "arguments": [ - { - "arguments": [ - { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "id": 75813, - "name": "registryCommunity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75014, - "src": "16296:17:129", - "typeDescriptions": { - "typeIdentifier": "t_contract$_RegistryCommunity_$83082", - "typeString": "contract RegistryCommunity" - } - }, - "id": 75814, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "16314:11:129", - "memberName": "gardenToken", - "nodeType": "MemberAccess", - "referencedDeclaration": 81539, - "src": "16296:29:129", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_contract$_IERC20_$57069_$", - "typeString": "function () view external returns (contract IERC20)" - } - }, - "id": 75815, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "16296:31:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$57069", - "typeString": "contract IERC20" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_IERC20_$57069", - "typeString": "contract IERC20" - } - ], - "id": 75812, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "16288:7:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 75811, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "16288:7:129", - "typeDescriptions": {} - } - }, - "id": 75816, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "16288:40:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 75810, - "name": "ERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 56991, - "src": "16282:5:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC20_$56991_$", - "typeString": "type(contract ERC20)" - } - }, - "id": 75817, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "16282:47:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$56991", - "typeString": "contract ERC20" - } - }, - "id": 75818, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "16330:8:129", - "memberName": "decimals", - "nodeType": "MemberAccess", - "referencedDeclaration": 56479, - "src": "16282:56:129", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_uint8_$", - "typeString": "function () view external returns (uint8)" - } - }, - "id": 75819, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "16282:58:129", - "tryCall": true, - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "id": 75840, - "nodeType": "TryStatement", - "src": "16278:208:129" - }, - { - "assignments": [ - 75842 - ], - "declarations": [ - { - "constant": false, - "id": 75842, - "mutability": "mutable", - "name": "newTotalPoints", - "nameLocation": "16503:14:129", - "nodeType": "VariableDeclaration", - "scope": 75871, - "src": "16495:22:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 75841, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16495:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 75851, - "initialValue": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 75849, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 75845, - "name": "totalStake", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75798, - "src": "16530:10:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 75848, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "hexValue": "3130", - "id": 75846, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "16543:2:129", - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "id": 75847, - "name": "decimal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75807, - "src": "16549:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "16543:13:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "16530:26:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 75843, - "name": "Math", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 59338, - "src": "16520:4:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Math_$59338_$", - "typeString": "type(library Math)" - } - }, - "id": 75844, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "16525:4:129", - "memberName": "sqrt", - "nodeType": "MemberAccess", - "referencedDeclaration": 58842, - "src": "16520:9:129", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - } - }, - "id": 75850, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "16520:37:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "16495:62:129" - }, - { - "assignments": [ - 75853 - ], - "declarations": [ - { - "constant": false, - "id": 75853, - "mutability": "mutable", - "name": "currentPoints", - "nameLocation": "16575:13:129", - "nodeType": "VariableDeclaration", - "scope": 75871, - "src": "16567:21:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 75852, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16567:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 75862, - "initialValue": { - "arguments": [ - { - "id": 75856, - "name": "_member", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75790, - "src": "16634:7:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "arguments": [ - { - "id": 75859, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "16651:4:129", - "typeDescriptions": { - "typeIdentifier": "t_contract$_CVStrategy_$77611", - "typeString": "contract CVStrategy" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_CVStrategy_$77611", - "typeString": "contract CVStrategy" - } - ], - "id": 75858, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "16643:7:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 75857, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "16643:7:129", - "typeDescriptions": {} - } - }, - "id": 75860, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "16643:13:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "id": 75854, - "name": "registryCommunity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75014, - "src": "16591:17:129", - "typeDescriptions": { - "typeIdentifier": "t_contract$_RegistryCommunity_$83082", - "typeString": "contract RegistryCommunity" - } - }, - "id": 75855, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "16609:24:129", - "memberName": "getMemberPowerInStrategy", - "nodeType": "MemberAccess", - "referencedDeclaration": 82423, - "src": "16591:42:129", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$", - "typeString": "function (address,address) view external returns (uint256)" - } - }, - "id": 75861, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "16591:66:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "16567:90:129" - }, - { - "assignments": [ - 75864 - ], - "declarations": [ - { - "constant": false, - "id": 75864, - "mutability": "mutable", - "name": "pointsToIncrease", - "nameLocation": "16676:16:129", - "nodeType": "VariableDeclaration", - "scope": 75871, - "src": "16668:24:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 75863, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16668:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 75868, - "initialValue": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 75867, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 75865, - "name": "newTotalPoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75842, - "src": "16695:14:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "id": 75866, - "name": "currentPoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75853, - "src": "16712:13:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "16695:30:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "16668:57:129" - }, - { - "expression": { - "id": 75869, - "name": "pointsToIncrease", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75864, - "src": "16743:16:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 75796, - "id": 75870, - "nodeType": "Return", - "src": "16736:23:129" - } - ] - }, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "increasePowerQuadratic", - "nameLocation": "16045:22:129", - "parameters": { - "id": 75793, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 75790, - "mutability": "mutable", - "name": "_member", - "nameLocation": "16076:7:129", - "nodeType": "VariableDeclaration", - "scope": 75872, - "src": "16068:15:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 75789, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "16068:7:129", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 75792, - "mutability": "mutable", - "name": "_amountToStake", - "nameLocation": "16093:14:129", - "nodeType": "VariableDeclaration", - "scope": 75872, - "src": "16085:22:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 75791, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16085:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "16067:41:129" - }, - "returnParameters": { - "id": 75796, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 75795, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 75872, - "src": "16132:7:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 75794, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16132:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "16131:9:129" - }, - "scope": 77611, - "stateMutability": "view", - "virtual": false, - "visibility": "internal" - }, - { - "id": 75882, - "nodeType": "FunctionDefinition", - "src": "16772:136:129", - "nodes": [], - "body": { - "id": 75881, - "nodeType": "Block", - "src": "16868:40:129", - "nodes": [], - "statements": [ - { - "expression": { - "id": 75879, - "name": "_amountToUnstake", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75874, - "src": "16885:16:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 75878, - "id": 75880, - "nodeType": "Return", - "src": "16878:23:129" - } - ] - }, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "decreasePowerCappedUnlimited", - "nameLocation": "16781:28:129", - "parameters": { - "id": 75875, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 75874, - "mutability": "mutable", - "name": "_amountToUnstake", - "nameLocation": "16818:16:129", - "nodeType": "VariableDeclaration", - "scope": 75882, - "src": "16810:24:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 75873, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16810:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "16809:26:129" - }, - "returnParameters": { - "id": 75878, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 75877, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 75882, - "src": "16859:7:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 75876, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16859:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "16858:9:129" - }, - "scope": 77611, - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "id": 75976, - "nodeType": "FunctionDefinition", - "src": "16914:802:129", - "nodes": [], - "body": { - "id": 75975, - "nodeType": "Block", - "src": "17021:695:129", - "nodes": [], - "statements": [ - { - "assignments": [ - 75892 - ], - "declarations": [ - { - "constant": false, - "id": 75892, - "mutability": "mutable", - "name": "decimal", - "nameLocation": "17039:7:129", - "nodeType": "VariableDeclaration", - "scope": 75975, - "src": "17031:15:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 75891, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17031:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 75894, - "initialValue": { - "hexValue": "3138", - "id": 75893, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "17049:2:129", - "typeDescriptions": { - "typeIdentifier": "t_rational_18_by_1", - "typeString": "int_const 18" - }, - "value": "18" - }, - "nodeType": "VariableDeclarationStatement", - "src": "17031:20:129" - }, - { - "clauses": [ - { - "block": { - "id": 75915, - "nodeType": "Block", - "src": "17149:52:129", - "statements": [ - { - "expression": { - "id": 75913, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 75908, - "name": "decimal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75892, - "src": "17163:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "id": 75911, - "name": "_decimal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75906, - "src": "17181:8:129", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - ], - "id": 75910, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "17173:7:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 75909, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17173:7:129", - "typeDescriptions": {} - } - }, - "id": 75912, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "17173:17:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17163:27:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 75914, - "nodeType": "ExpressionStatement", - "src": "17163:27:129" - } - ] - }, - "errorName": "", - "id": 75916, - "nodeType": "TryCatchClause", - "parameters": { - "id": 75907, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 75906, - "mutability": "mutable", - "name": "_decimal", - "nameLocation": "17139:8:129", - "nodeType": "VariableDeclaration", - "scope": 75916, - "src": "17133:14:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 75905, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "17133:5:129", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "visibility": "internal" - } - ], - "src": "17132:16:129" - }, - "src": "17124:77:129" - }, - { - "block": { - "id": 75923, - "nodeType": "Block", - "src": "17208:61:129", - "statements": [ - { - "expression": { - "arguments": [ - { - "hexValue": "4572726f722067657474696e6720646563696d616c", - "id": 75920, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "17234:23:129", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_add5b7e354bcd4eb0c69c8b5bd8a8dca27c903f694ea26b234a6605e7f62de4d", - "typeString": "literal_string \"Error getting decimal\"" - }, - "value": "Error getting decimal" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_add5b7e354bcd4eb0c69c8b5bd8a8dca27c903f694ea26b234a6605e7f62de4d", - "typeString": "literal_string \"Error getting decimal\"" - } - ], - "expression": { - "id": 75917, - "name": "console", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29549, - "src": "17222:7:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_console_$29549_$", - "typeString": "type(library console)" - } - }, - "id": 75919, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "17230:3:129", - "memberName": "log", - "nodeType": "MemberAccess", - "referencedDeclaration": 22080, - "src": "17222:11:129", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_string_memory_ptr_$returns$__$", - "typeString": "function (string memory) view" - } - }, - "id": 75921, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "17222:36:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 75922, - "nodeType": "ExpressionStatement", - "src": "17222:36:129" - } - ] - }, - "errorName": "", - "id": 75924, - "nodeType": "TryCatchClause", - "src": "17202:67:129" - } - ], - "externalCall": { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "arguments": [ - { - "arguments": [ - { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "id": 75898, - "name": "registryCommunity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75014, - "src": "17079:17:129", - "typeDescriptions": { - "typeIdentifier": "t_contract$_RegistryCommunity_$83082", - "typeString": "contract RegistryCommunity" - } - }, - "id": 75899, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "17097:11:129", - "memberName": "gardenToken", - "nodeType": "MemberAccess", - "referencedDeclaration": 81539, - "src": "17079:29:129", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_contract$_IERC20_$57069_$", - "typeString": "function () view external returns (contract IERC20)" - } - }, - "id": 75900, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "17079:31:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$57069", - "typeString": "contract IERC20" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_IERC20_$57069", - "typeString": "contract IERC20" - } - ], - "id": 75897, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "17071:7:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 75896, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "17071:7:129", - "typeDescriptions": {} - } - }, - "id": 75901, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "17071:40:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 75895, - "name": "ERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 56991, - "src": "17065:5:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC20_$56991_$", - "typeString": "type(contract ERC20)" - } - }, - "id": 75902, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "17065:47:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$56991", - "typeString": "contract ERC20" - } - }, - "id": 75903, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "17113:8:129", - "memberName": "decimals", - "nodeType": "MemberAccess", - "referencedDeclaration": 56479, - "src": "17065:56:129", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_uint8_$", - "typeString": "function () view external returns (uint8)" - } - }, - "id": 75904, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "17065:58:129", - "tryCall": true, - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "id": 75925, - "nodeType": "TryStatement", - "src": "17061:208:129" - }, - { - "expression": { - "arguments": [ - { - "hexValue": "5f616d6f756e74546f556e7374616b65", - "id": 75929, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "17290:18:129", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_dc5364d7a51b187c038e40e987076ae6dd611b7a72008e9d9acc88e3a526f2c2", - "typeString": "literal_string \"_amountToUnstake\"" - }, - "value": "_amountToUnstake" - }, - { - "id": 75930, - "name": "_amountToUnstake", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75886, - "src": "17310:16:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_dc5364d7a51b187c038e40e987076ae6dd611b7a72008e9d9acc88e3a526f2c2", - "typeString": "literal_string \"_amountToUnstake\"" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 75926, - "name": "console", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29549, - "src": "17278:7:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_console_$29549_$", - "typeString": "type(library console)" - } - }, - "id": 75928, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "17286:3:129", - "memberName": "log", - "nodeType": "MemberAccess", - "referencedDeclaration": 22193, - "src": "17278:11:129", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$", - "typeString": "function (string memory,uint256) view" - } - }, - "id": 75931, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "17278:49:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 75932, - "nodeType": "ExpressionStatement", - "src": "17278:49:129" - }, - { - "assignments": [ - 75934 - ], - "declarations": [ - { - "constant": false, - "id": 75934, - "mutability": "mutable", - "name": "newTotalStake", - "nameLocation": "17345:13:129", - "nodeType": "VariableDeclaration", - "scope": 75975, - "src": "17337:21:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 75933, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17337:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 75941, - "initialValue": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 75940, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "arguments": [ - { - "id": 75937, - "name": "_member", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75884, - "src": "17401:7:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "id": 75935, - "name": "registryCommunity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75014, - "src": "17361:17:129", - "typeDescriptions": { - "typeIdentifier": "t_contract$_RegistryCommunity_$83082", - "typeString": "contract RegistryCommunity" - } - }, - "id": 75936, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "17379:21:129", - "memberName": "getMemberStakedAmount", - "nodeType": "MemberAccess", - "referencedDeclaration": 82436, - "src": "17361:39:129", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 75938, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "17361:48:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "id": 75939, - "name": "_amountToUnstake", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75886, - "src": "17412:16:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17361:67:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "17337:91:129" - }, - { - "expression": { - "arguments": [ - { - "hexValue": "6e6577546f74616c5374616b65", - "id": 75945, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "17450:15:129", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_e1d5e8d6d05577c9c30b6029c3158dfad77d5a239a04e4529b5b98f0ce2f7a79", - "typeString": "literal_string \"newTotalStake\"" - }, - "value": "newTotalStake" - }, - { - "id": 75946, - "name": "newTotalStake", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75934, - "src": "17467:13:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_e1d5e8d6d05577c9c30b6029c3158dfad77d5a239a04e4529b5b98f0ce2f7a79", - "typeString": "literal_string \"newTotalStake\"" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 75942, - "name": "console", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29549, - "src": "17438:7:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_console_$29549_$", - "typeString": "type(library console)" - } - }, - "id": 75944, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "17446:3:129", - "memberName": "log", - "nodeType": "MemberAccess", - "referencedDeclaration": 22193, - "src": "17438:11:129", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$", - "typeString": "function (string memory,uint256) view" - } - }, - "id": 75947, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "17438:43:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 75948, - "nodeType": "ExpressionStatement", - "src": "17438:43:129" - }, - { - "assignments": [ - 75950 - ], - "declarations": [ - { - "constant": false, - "id": 75950, - "mutability": "mutable", - "name": "newTotalPoints", - "nameLocation": "17499:14:129", - "nodeType": "VariableDeclaration", - "scope": 75975, - "src": "17491:22:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 75949, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17491:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 75959, - "initialValue": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 75957, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 75953, - "name": "newTotalStake", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75934, - "src": "17526:13:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 75956, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "hexValue": "3130", - "id": 75954, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "17542:2:129", - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "id": 75955, - "name": "decimal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75892, - "src": "17548:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17542:13:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17526:29:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 75951, - "name": "Math", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 59338, - "src": "17516:4:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Math_$59338_$", - "typeString": "type(library Math)" - } - }, - "id": 75952, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "17521:4:129", - "memberName": "sqrt", - "nodeType": "MemberAccess", - "referencedDeclaration": 58842, - "src": "17516:9:129", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - } - }, - "id": 75958, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "17516:40:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "17491:65:129" - }, - { - "assignments": [ - 75961 - ], - "declarations": [ - { - "constant": false, - "id": 75961, - "mutability": "mutable", - "name": "pointsToDecrease", - "nameLocation": "17574:16:129", - "nodeType": "VariableDeclaration", - "scope": 75975, - "src": "17566:24:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 75960, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17566:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 75972, - "initialValue": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 75971, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "arguments": [ - { - "id": 75964, - "name": "_member", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75884, - "src": "17636:7:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "arguments": [ - { - "id": 75967, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "17653:4:129", - "typeDescriptions": { - "typeIdentifier": "t_contract$_CVStrategy_$77611", - "typeString": "contract CVStrategy" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_CVStrategy_$77611", - "typeString": "contract CVStrategy" - } - ], - "id": 75966, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "17645:7:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 75965, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "17645:7:129", - "typeDescriptions": {} - } - }, - "id": 75968, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "17645:13:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "id": 75962, - "name": "registryCommunity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75014, - "src": "17593:17:129", - "typeDescriptions": { - "typeIdentifier": "t_contract$_RegistryCommunity_$83082", - "typeString": "contract RegistryCommunity" - } - }, - "id": 75963, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "17611:24:129", - "memberName": "getMemberPowerInStrategy", - "nodeType": "MemberAccess", - "referencedDeclaration": 82423, - "src": "17593:42:129", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$", - "typeString": "function (address,address) view external returns (uint256)" - } - }, - "id": 75969, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "17593:66:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "id": 75970, - "name": "newTotalPoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75950, - "src": "17662:14:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17593:83:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "17566:110:129" - }, - { - "expression": { - "id": 75973, - "name": "pointsToDecrease", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75961, - "src": "17693:16:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 75890, - "id": 75974, - "nodeType": "Return", - "src": "17686:23:129" - } - ] - }, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "decreasePowerQuadratic", - "nameLocation": "16923:22:129", - "parameters": { - "id": 75887, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 75884, - "mutability": "mutable", - "name": "_member", - "nameLocation": "16954:7:129", - "nodeType": "VariableDeclaration", - "scope": 75976, - "src": "16946:15:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 75883, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "16946:7:129", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 75886, - "mutability": "mutable", - "name": "_amountToUnstake", - "nameLocation": "16971:16:129", - "nodeType": "VariableDeclaration", - "scope": 75976, - "src": "16963:24:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 75885, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16963:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "16945:43:129" - }, - "returnParameters": { - "id": 75890, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 75889, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 75976, - "src": "17012:7:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 75888, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17012:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "17011:9:129" - }, - "scope": 77611, - "stateMutability": "view", - "virtual": false, - "visibility": "internal" - }, - { - "id": 75985, - "nodeType": "FunctionDefinition", - "src": "17722:99:129", - "nodes": [], - "body": { - "id": 75984, - "nodeType": "Block", - "src": "17776:45:129", - "nodes": [], - "statements": [ - { - "expression": { - "expression": { - "id": 75981, - "name": "pointConfig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75011, - "src": "17793:11:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PointSystemConfig_$74784_storage", - "typeString": "struct StrategyStruct.PointSystemConfig storage ref" - } - }, - "id": 75982, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "17805:9:129", - "memberName": "maxAmount", - "nodeType": "MemberAccess", - "referencedDeclaration": 74783, - "src": "17793:21:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 75980, - "id": 75983, - "nodeType": "Return", - "src": "17786:28:129" - } - ] - }, - "functionSelector": "0ba95909", - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getMaxAmount", - "nameLocation": "17731:12:129", - "parameters": { - "id": 75977, - "nodeType": "ParameterList", - "parameters": [], - "src": "17743:2:129" - }, - "returnParameters": { - "id": 75980, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 75979, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 75985, - "src": "17767:7:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 75978, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17767:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "17766:9:129" - }, - "scope": 77611, - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "id": 75994, - "nodeType": "FunctionDefinition", - "src": "17827:110:129", - "nodes": [], - "body": { - "id": 75993, - "nodeType": "Block", - "src": "17902:35:129", - "nodes": [], - "statements": [ - { - "expression": { - "id": 75991, - "name": "pointSystem", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75008, - "src": "17919:11:129", - "typeDescriptions": { - "typeIdentifier": "t_enum$_PointSystem_$74731", - "typeString": "enum StrategyStruct.PointSystem" - } - }, - "functionReturnParameters": 75990, - "id": 75992, - "nodeType": "Return", - "src": "17912:18:129" - } - ] - }, - "baseFunctions": [ - 74721 - ], - "functionSelector": "c3292171", - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getPointSystem", - "nameLocation": "17836:14:129", - "parameters": { - "id": 75986, - "nodeType": "ParameterList", - "parameters": [], - "src": "17850:2:129" - }, - "returnParameters": { - "id": 75990, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 75989, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 75994, - "src": "17874:26:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_enum$_PointSystem_$74731", - "typeString": "enum StrategyStruct.PointSystem" - }, - "typeName": { - "id": 75988, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 75987, - "name": "StrategyStruct.PointSystem", - "nameLocations": [ - "17874:14:129", - "17889:11:129" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 74731, - "src": "17874:26:129" - }, - "referencedDeclaration": 74731, - "src": "17874:26:129", - "typeDescriptions": { - "typeIdentifier": "t_enum$_PointSystem_$74731", - "typeString": "enum StrategyStruct.PointSystem" - } - }, - "visibility": "internal" - } - ], - "src": "17873:28:129" - }, - "scope": 77611, - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "id": 76005, - "nodeType": "FunctionDefinition", - "src": "18053:226:129", - "nodes": [], - "body": { - "id": 76004, - "nodeType": "Block", - "src": "18131:148:129", - "nodes": [], - "statements": [ - { - "errorCall": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 76001, - "name": "NotImplemented", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74826, - "src": "18196:14:129", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 76002, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "18196:16:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 76003, - "nodeType": "RevertStatement", - "src": "18189:23:129" - } - ] - }, - "functionSelector": "e33add93", - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "supportProposal", - "nameLocation": "18062:15:129", - "parameters": { - "id": 75999, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 75998, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 76005, - "src": "18078:39:129", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_ProposalSupport_$74781_memory_ptr_$dyn_memory_ptr", - "typeString": "struct StrategyStruct.ProposalSupport[]" - }, - "typeName": { - "baseType": { - "id": 75996, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 75995, - "name": "StrategyStruct.ProposalSupport", - "nameLocations": [ - "18078:14:129", - "18093:15:129" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 74781, - "src": "18078:30:129" - }, - "referencedDeclaration": 74781, - "src": "18078:30:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ProposalSupport_$74781_storage_ptr", - "typeString": "struct StrategyStruct.ProposalSupport" - } - }, - "id": 75997, - "nodeType": "ArrayTypeName", - "src": "18078:32:129", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_ProposalSupport_$74781_storage_$dyn_storage_ptr", - "typeString": "struct StrategyStruct.ProposalSupport[]" - } - }, - "visibility": "internal" - } - ], - "src": "18077:41:129" - }, - "returnParameters": { - "id": 76000, - "nodeType": "ParameterList", - "parameters": [], - "src": "18131:0:129" - }, - "scope": 77611, - "stateMutability": "pure", - "virtual": false, - "visibility": "public" - }, - { - "id": 76070, - "nodeType": "FunctionDefinition", - "src": "18425:604:129", - "nodes": [], - "body": { - "id": 76069, - "nodeType": "Block", - "src": "18499:530:129", - "nodes": [], - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 76014, - "name": "_sender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76009, - "src": "18529:7:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 76013, - "name": "checkSenderIsMember", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75224, - "src": "18509:19:129", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$__$", - "typeString": "function (address) view" - } - }, - "id": 76015, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "18509:28:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 76016, - "nodeType": "ExpressionStatement", - "src": "18509:28:129" - }, - { - "condition": { - "id": 76020, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "18551:27:129", - "subExpression": { - "arguments": [ - { - "id": 76018, - "name": "_sender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76009, - "src": "18570:7:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 76017, - "name": "_canExecuteAction", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75286, - "src": "18552:17:129", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", - "typeString": "function (address) view returns (bool)" - } - }, - "id": 76019, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "18552:26:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 76025, - "nodeType": "IfStatement", - "src": "18547:90:129", - "trueBody": { - "id": 76024, - "nodeType": "Block", - "src": "18580:57:129", - "statements": [ - { - "errorCall": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 76021, - "name": "UserCannotExecuteAction", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74890, - "src": "18601:23:129", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 76022, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "18601:25:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 76023, - "nodeType": "RevertStatement", - "src": "18594:32:129" - } - ] - } - }, - { - "assignments": [ - 76027 - ], - "declarations": [ - { - "constant": false, - "id": 76027, - "mutability": "mutable", - "name": "isMemberActivatedPoints", - "nameLocation": "18651:23:129", - "nodeType": "VariableDeclaration", - "scope": 76069, - "src": "18646:28:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 76026, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "18646:4:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "id": 76036, - "initialValue": { - "arguments": [ - { - "id": 76030, - "name": "_sender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76009, - "src": "18723:7:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "arguments": [ - { - "id": 76033, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "18740:4:129", - "typeDescriptions": { - "typeIdentifier": "t_contract$_CVStrategy_$77611", - "typeString": "contract CVStrategy" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_CVStrategy_$77611", - "typeString": "contract CVStrategy" - } - ], - "id": 76032, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "18732:7:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 76031, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "18732:7:129", - "typeDescriptions": {} - } - }, - "id": 76034, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "18732:13:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "id": 76028, - "name": "registryCommunity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75014, - "src": "18677:17:129", - "typeDescriptions": { - "typeIdentifier": "t_contract$_RegistryCommunity_$83082", - "typeString": "contract RegistryCommunity" - } - }, - "id": 76029, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "18695:27:129", - "memberName": "memberActivatedInStrategies", - "nodeType": "MemberAccess", - "referencedDeclaration": 81575, - "src": "18677:45:129", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$_t_address_$returns$_t_bool_$", - "typeString": "function (address,address) view external returns (bool)" - } - }, - "id": 76035, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "18677:69:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "18646:100:129" - }, - { - "condition": { - "id": 76038, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "18760:24:129", - "subExpression": { - "id": 76037, - "name": "isMemberActivatedPoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76027, - "src": "18761:23:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 76043, - "nodeType": "IfStatement", - "src": "18756:78:129", - "trueBody": { - "id": 76042, - "nodeType": "Block", - "src": "18786:48:129", - "statements": [ - { - "errorCall": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 76039, - "name": "UserIsInactive", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74822, - "src": "18807:14:129", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 76040, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "18807:16:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 76041, - "nodeType": "RevertStatement", - "src": "18800:23:129" - } - ] - } - }, - { - "assignments": [ - 76049 - ], - "declarations": [ - { - "constant": false, - "id": 76049, - "mutability": "mutable", - "name": "pv", - "nameLocation": "18883:2:129", - "nodeType": "VariableDeclaration", - "scope": 76069, - "src": "18843:42:129", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_ProposalSupport_$74781_memory_ptr_$dyn_memory_ptr", - "typeString": "struct StrategyStruct.ProposalSupport[]" - }, - "typeName": { - "baseType": { - "id": 76047, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 76046, - "name": "StrategyStruct.ProposalSupport", - "nameLocations": [ - "18843:14:129", - "18858:15:129" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 74781, - "src": "18843:30:129" - }, - "referencedDeclaration": 74781, - "src": "18843:30:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ProposalSupport_$74781_storage_ptr", - "typeString": "struct StrategyStruct.ProposalSupport" - } - }, - "id": 76048, - "nodeType": "ArrayTypeName", - "src": "18843:32:129", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_ProposalSupport_$74781_storage_$dyn_storage_ptr", - "typeString": "struct StrategyStruct.ProposalSupport[]" - } - }, - "visibility": "internal" - } - ], - "id": 76058, - "initialValue": { - "arguments": [ - { - "id": 76052, - "name": "_data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76007, - "src": "18899:5:129", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "components": [ - { - "baseExpression": { - "expression": { - "id": 76053, - "name": "StrategyStruct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74807, - "src": "18907:14:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_StrategyStruct_$74807_$", - "typeString": "type(library StrategyStruct)" - } - }, - "id": 76054, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "18922:15:129", - "memberName": "ProposalSupport", - "nodeType": "MemberAccess", - "referencedDeclaration": 74781, - "src": "18907:30:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_ProposalSupport_$74781_storage_ptr_$", - "typeString": "type(struct StrategyStruct.ProposalSupport storage pointer)" - } - }, - "id": 76055, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "18907:32:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_array$_t_struct$_ProposalSupport_$74781_memory_ptr_$dyn_memory_ptr_$", - "typeString": "type(struct StrategyStruct.ProposalSupport memory[] memory)" - } - } - ], - "id": 76056, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "18906:34:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_array$_t_struct$_ProposalSupport_$74781_memory_ptr_$dyn_memory_ptr_$", - "typeString": "type(struct StrategyStruct.ProposalSupport memory[] memory)" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_type$_t_array$_t_struct$_ProposalSupport_$74781_memory_ptr_$dyn_memory_ptr_$", - "typeString": "type(struct StrategyStruct.ProposalSupport memory[] memory)" - } - ], - "expression": { - "id": 76050, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "18888:3:129", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 76051, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "18892:6:129", - "memberName": "decode", - "nodeType": "MemberAccess", - "src": "18888:10:129", - "typeDescriptions": { - "typeIdentifier": "t_function_abidecode_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 76057, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "18888:53:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_ProposalSupport_$74781_memory_ptr_$dyn_memory_ptr", - "typeString": "struct StrategyStruct.ProposalSupport memory[] memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "18843:98:129" - }, - { - "expression": { - "arguments": [ - { - "id": 76060, - "name": "_sender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76009, - "src": "18976:7:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 76061, - "name": "pv", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76049, - "src": "18985:2:129", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_ProposalSupport_$74781_memory_ptr_$dyn_memory_ptr", - "typeString": "struct StrategyStruct.ProposalSupport memory[] memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_array$_t_struct$_ProposalSupport_$74781_memory_ptr_$dyn_memory_ptr", - "typeString": "struct StrategyStruct.ProposalSupport memory[] memory" - } - ], - "id": 76059, - "name": "_check_before_addSupport", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76770, - "src": "18951:24:129", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_array$_t_struct$_ProposalSupport_$74781_memory_ptr_$dyn_memory_ptr_$returns$__$", - "typeString": "function (address,struct StrategyStruct.ProposalSupport memory[] memory)" - } - }, - "id": 76062, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "18951:37:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 76063, - "nodeType": "ExpressionStatement", - "src": "18951:37:129" - }, - { - "expression": { - "arguments": [ - { - "id": 76065, - "name": "_sender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76009, - "src": "19010:7:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 76066, - "name": "pv", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76049, - "src": "19019:2:129", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_ProposalSupport_$74781_memory_ptr_$dyn_memory_ptr", - "typeString": "struct StrategyStruct.ProposalSupport memory[] memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_array$_t_struct$_ProposalSupport_$74781_memory_ptr_$dyn_memory_ptr", - "typeString": "struct StrategyStruct.ProposalSupport memory[] memory" - } - ], - "id": 76064, - "name": "_addSupport", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77057, - "src": "18998:11:129", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_array$_t_struct$_ProposalSupport_$74781_memory_ptr_$dyn_memory_ptr_$returns$__$", - "typeString": "function (address,struct StrategyStruct.ProposalSupport memory[] memory)" - } - }, - "id": 76067, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "18998:24:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 76068, - "nodeType": "ExpressionStatement", - "src": "18998:24:129" - } - ] - }, - "baseFunctions": [ - 3817 - ], - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_allocate", - "nameLocation": "18434:9:129", - "overrides": { - "id": 76011, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "18490:8:129" - }, - "parameters": { - "id": 76010, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 76007, - "mutability": "mutable", - "name": "_data", - "nameLocation": "18457:5:129", - "nodeType": "VariableDeclaration", - "scope": 76070, - "src": "18444:18:129", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 76006, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "18444:5:129", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 76009, - "mutability": "mutable", - "name": "_sender", - "nameLocation": "18472:7:129", - "nodeType": "VariableDeclaration", - "scope": 76070, - "src": "18464:15:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 76008, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "18464:7:129", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "18443:37:129" - }, - "returnParameters": { - "id": 76012, - "nodeType": "ParameterList", - "parameters": [], - "src": "18499:0:129" - }, - "scope": 77611, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "id": 76226, - "nodeType": "FunctionDefinition", - "src": "19285:1756:129", - "nodes": [], - "body": { - "id": 76225, - "nodeType": "Block", - "src": "19371:1670:129", - "nodes": [], - "statements": [ - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 76084, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 76081, - "name": "_data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76075, - "src": "19464:5:129", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 76082, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "19470:6:129", - "memberName": "length", - "nodeType": "MemberAccess", - "src": "19464:12:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "hexValue": "30", - "id": 76083, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "19480:1:129", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "19464:17:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 76089, - "nodeType": "IfStatement", - "src": "19460:76:129", - "trueBody": { - "id": 76088, - "nodeType": "Block", - "src": "19483:53:129", - "statements": [ - { - "errorCall": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 76085, - "name": "ProposalDataIsEmpty", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74858, - "src": "19504:19:129", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 76086, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "19504:21:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 76087, - "nodeType": "RevertStatement", - "src": "19497:28:129" - } - ] - } - }, - { - "assignments": [ - 76091 - ], - "declarations": [ - { - "constant": false, - "id": 76091, - "mutability": "mutable", - "name": "proposalId", - "nameLocation": "19554:10:129", - "nodeType": "VariableDeclaration", - "scope": 76225, - "src": "19546:18:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 76090, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "19546:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 76099, - "initialValue": { - "arguments": [ - { - "id": 76094, - "name": "_data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76075, - "src": "19578:5:129", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "components": [ - { - "id": 76096, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "19586:7:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 76095, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "19586:7:129", - "typeDescriptions": {} - } - } - ], - "id": 76097, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "19585:9:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - } - ], - "expression": { - "id": 76092, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "19567:3:129", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 76093, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "19571:6:129", - "memberName": "decode", - "nodeType": "MemberAccess", - "src": "19567:10:129", - "typeDescriptions": { - "typeIdentifier": "t_function_abidecode_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 76098, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "19567:28:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "19546:49:129" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 76102, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 76100, - "name": "proposalId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76091, - "src": "19610:10:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "hexValue": "30", - "id": 76101, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "19624:1:129", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "19610:15:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 76107, - "nodeType": "IfStatement", - "src": "19606:77:129", - "trueBody": { - "id": 76106, - "nodeType": "Block", - "src": "19627:56:129", - "statements": [ - { - "errorCall": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 76103, - "name": "ProposalIdCannotBeZero", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74860, - "src": "19648:22:129", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 76104, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "19648:24:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 76105, - "nodeType": "RevertStatement", - "src": "19641:31:129" - } - ] - } - }, - { - "assignments": [ - 76112 - ], - "declarations": [ - { - "constant": false, - "id": 76112, - "mutability": "mutable", - "name": "proposal", - "nameLocation": "19724:8:129", - "nodeType": "VariableDeclaration", - "scope": 76225, - "src": "19692:40:129", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal" - }, - "typeName": { - "id": 76111, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 76110, - "name": "StrategyStruct.Proposal", - "nameLocations": [ - "19692:14:129", - "19707:8:129" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 74776, - "src": "19692:23:129" - }, - "referencedDeclaration": 74776, - "src": "19692:23:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal" - } - }, - "visibility": "internal" - } - ], - "id": 76116, - "initialValue": { - "baseExpression": { - "id": 76113, - "name": "proposals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75022, - "src": "19735:9:129", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Proposal_$74776_storage_$", - "typeString": "mapping(uint256 => struct StrategyStruct.Proposal storage ref)" - } - }, - "id": 76115, - "indexExpression": { - "id": 76114, - "name": "proposalId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76091, - "src": "19745:10:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "19735:21:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage", - "typeString": "struct StrategyStruct.Proposal storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "19692:64:129" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_enum$_ProposalType_$74726", - "typeString": "enum StrategyStruct.ProposalType" - }, - "id": 76121, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 76117, - "name": "proposalType", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75005, - "src": "19771:12:129", - "typeDescriptions": { - "typeIdentifier": "t_enum$_ProposalType_$74726", - "typeString": "enum StrategyStruct.ProposalType" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "expression": { - "expression": { - "id": 76118, - "name": "StrategyStruct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74807, - "src": "19787:14:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_StrategyStruct_$74807_$", - "typeString": "type(library StrategyStruct)" - } - }, - "id": 76119, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "19802:12:129", - "memberName": "ProposalType", - "nodeType": "MemberAccess", - "referencedDeclaration": 74726, - "src": "19787:27:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_ProposalType_$74726_$", - "typeString": "type(enum StrategyStruct.ProposalType)" - } - }, - "id": 76120, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "19815:7:129", - "memberName": "Funding", - "nodeType": "MemberAccess", - "referencedDeclaration": 74724, - "src": "19787:35:129", - "typeDescriptions": { - "typeIdentifier": "t_enum$_ProposalType_$74726", - "typeString": "enum StrategyStruct.ProposalType" - } - }, - "src": "19771:51:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 76224, - "nodeType": "IfStatement", - "src": "19767:1208:129", - "trueBody": { - "id": 76223, - "nodeType": "Block", - "src": "19824:1151:129", - "statements": [ - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 76125, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 76122, - "name": "proposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76112, - "src": "19842:8:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal storage pointer" - } - }, - "id": 76123, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "19851:10:129", - "memberName": "proposalId", - "nodeType": "MemberAccess", - "referencedDeclaration": 74751, - "src": "19842:19:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "id": 76124, - "name": "proposalId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76091, - "src": "19865:10:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "19842:33:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 76131, - "nodeType": "IfStatement", - "src": "19838:108:129", - "trueBody": { - "id": 76130, - "nodeType": "Block", - "src": "19877:69:129", - "statements": [ - { - "errorCall": { - "arguments": [ - { - "id": 76127, - "name": "proposalId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76091, - "src": "19920:10:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 76126, - "name": "ProposalNotInList", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74868, - "src": "19902:17:129", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$_t_uint256_$returns$__$", - "typeString": "function (uint256) pure" - } - }, - "id": 76128, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "19902:29:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 76129, - "nodeType": "RevertStatement", - "src": "19895:36:129" - } - ] - } - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 76135, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 76132, - "name": "proposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76112, - "src": "19964:8:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal storage pointer" - } - }, - "id": 76133, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "19973:15:129", - "memberName": "requestedAmount", - "nodeType": "MemberAccess", - "referencedDeclaration": 74753, - "src": "19964:24:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "id": 76134, - "name": "poolAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3343, - "src": "19991:10:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "19964:37:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 76144, - "nodeType": "IfStatement", - "src": "19960:152:129", - "trueBody": { - "id": 76143, - "nodeType": "Block", - "src": "20003:109:129", - "statements": [ - { - "errorCall": { - "arguments": [ - { - "id": 76137, - "name": "proposalId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76091, - "src": "20048:10:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "expression": { - "id": 76138, - "name": "proposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76112, - "src": "20060:8:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal storage pointer" - } - }, - "id": 76139, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "20069:15:129", - "memberName": "requestedAmount", - "nodeType": "MemberAccess", - "referencedDeclaration": 74753, - "src": "20060:24:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 76140, - "name": "poolAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3343, - "src": "20086:10:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 76136, - "name": "PoolAmountNotEnough", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74886, - "src": "20028:19:129", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (uint256,uint256,uint256) pure" - } - }, - "id": 76141, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "20028:69:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 76142, - "nodeType": "RevertStatement", - "src": "20021:76:129" - } - ] - } - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_enum$_ProposalStatus_$74749", - "typeString": "enum StrategyStruct.ProposalStatus" - }, - "id": 76150, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 76145, - "name": "proposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76112, - "src": "20130:8:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal storage pointer" - } - }, - "id": 76146, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "20139:14:129", - "memberName": "proposalStatus", - "nodeType": "MemberAccess", - "referencedDeclaration": 74768, - "src": "20130:23:129", - "typeDescriptions": { - "typeIdentifier": "t_enum$_ProposalStatus_$74749", - "typeString": "enum StrategyStruct.ProposalStatus" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "expression": { - "expression": { - "id": 76147, - "name": "StrategyStruct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74807, - "src": "20157:14:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_StrategyStruct_$74807_$", - "typeString": "type(library StrategyStruct)" - } - }, - "id": 76148, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "20172:14:129", - "memberName": "ProposalStatus", - "nodeType": "MemberAccess", - "referencedDeclaration": 74749, - "src": "20157:29:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_ProposalStatus_$74749_$", - "typeString": "type(enum StrategyStruct.ProposalStatus)" - } - }, - "id": 76149, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "20187:6:129", - "memberName": "Active", - "nodeType": "MemberAccess", - "referencedDeclaration": 74745, - "src": "20157:36:129", - "typeDescriptions": { - "typeIdentifier": "t_enum$_ProposalStatus_$74749", - "typeString": "enum StrategyStruct.ProposalStatus" - } - }, - "src": "20130:63:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 76156, - "nodeType": "IfStatement", - "src": "20126:138:129", - "trueBody": { - "id": 76155, - "nodeType": "Block", - "src": "20195:69:129", - "statements": [ - { - "errorCall": { - "arguments": [ - { - "id": 76152, - "name": "proposalId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76091, - "src": "20238:10:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 76151, - "name": "ProposalNotActive", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74864, - "src": "20220:17:129", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$_t_uint256_$returns$__$", - "typeString": "function (uint256) pure" - } - }, - "id": 76153, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "20220:29:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 76154, - "nodeType": "RevertStatement", - "src": "20213:36:129" - } - ] - } - }, - { - "assignments": [ - 76158 - ], - "declarations": [ - { - "constant": false, - "id": 76158, - "mutability": "mutable", - "name": "convictionLast", - "nameLocation": "20286:14:129", - "nodeType": "VariableDeclaration", - "scope": 76223, - "src": "20278:22:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 76157, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "20278:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 76162, - "initialValue": { - "arguments": [ - { - "id": 76160, - "name": "proposalId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76091, - "src": "20328:10:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 76159, - "name": "updateProposalConviction", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77480, - "src": "20303:24:129", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) returns (uint256)" - } - }, - "id": 76161, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "20303:36:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "20278:61:129" - }, - { - "assignments": [ - 76164 - ], - "declarations": [ - { - "constant": false, - "id": 76164, - "mutability": "mutable", - "name": "threshold", - "nameLocation": "20361:9:129", - "nodeType": "VariableDeclaration", - "scope": 76223, - "src": "20353:17:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 76163, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "20353:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 76169, - "initialValue": { - "arguments": [ - { - "expression": { - "id": 76166, - "name": "proposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76112, - "src": "20392:8:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal storage pointer" - } - }, - "id": 76167, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "20401:15:129", - "memberName": "requestedAmount", - "nodeType": "MemberAccess", - "referencedDeclaration": 74753, - "src": "20392:24:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 76165, - "name": "calculateThreshold", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77236, - "src": "20373:18:129", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) view returns (uint256)" - } - }, - "id": 76168, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "20373:44:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "20353:64:129" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 76177, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 76172, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 76170, - "name": "convictionLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76158, - "src": "20436:14:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "id": 76171, - "name": "threshold", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76164, - "src": "20453:9:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20436:26:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 76176, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 76173, - "name": "proposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76112, - "src": "20466:8:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal storage pointer" - } - }, - "id": 76174, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "20475:15:129", - "memberName": "requestedAmount", - "nodeType": "MemberAccess", - "referencedDeclaration": 74753, - "src": "20466:24:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "hexValue": "30", - "id": 76175, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20493:1:129", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "20466:28:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "20436:58:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 76182, - "nodeType": "IfStatement", - "src": "20432:137:129", - "trueBody": { - "id": 76181, - "nodeType": "Block", - "src": "20496:73:129", - "statements": [ - { - "errorCall": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 76178, - "name": "ConvictionUnderMinimumThreshold", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74876, - "src": "20521:31:129", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 76179, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "20521:33:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 76180, - "nodeType": "RevertStatement", - "src": "20514:40:129" - } - ] - } - }, - { - "assignments": [ - 76187 - ], - "declarations": [ - { - "constant": false, - "id": 76187, - "mutability": "mutable", - "name": "pool", - "nameLocation": "20601:4:129", - "nodeType": "VariableDeclaration", - "scope": 76223, - "src": "20583:22:129", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pool_$2319_memory_ptr", - "typeString": "struct IAllo.Pool" - }, - "typeName": { - "id": 76186, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 76185, - "name": "IAllo.Pool", - "nameLocations": [ - "20583:5:129", - "20589:4:129" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 2319, - "src": "20583:10:129" - }, - "referencedDeclaration": 2319, - "src": "20583:10:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pool_$2319_storage_ptr", - "typeString": "struct IAllo.Pool" - } - }, - "visibility": "internal" - } - ], - "id": 76192, - "initialValue": { - "arguments": [ - { - "id": 76190, - "name": "poolId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3341, - "src": "20621:6:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 76188, - "name": "allo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3335, - "src": "20608:4:129", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IAllo_$2610", - "typeString": "contract IAllo" - } - }, - "id": 76189, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "20613:7:129", - "memberName": "getPool", - "nodeType": "MemberAccess", - "referencedDeclaration": 2603, - "src": "20608:12:129", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_struct$_Pool_$2319_memory_ptr_$", - "typeString": "function (uint256) view external returns (struct IAllo.Pool memory)" - } - }, - "id": 76191, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "20608:20:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pool_$2319_memory_ptr", - "typeString": "struct IAllo.Pool memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "20583:45:129" - }, - { - "expression": { - "id": 76196, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 76193, - "name": "poolAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3343, - "src": "20643:10:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "-=", - "rightHandSide": { - "expression": { - "id": 76194, - "name": "proposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76112, - "src": "20657:8:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal storage pointer" - } - }, - "id": 76195, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "20666:15:129", - "memberName": "requestedAmount", - "nodeType": "MemberAccess", - "referencedDeclaration": 74753, - "src": "20657:24:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20643:38:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 76197, - "nodeType": "ExpressionStatement", - "src": "20643:38:129" - }, - { - "expression": { - "arguments": [ - { - "expression": { - "id": 76199, - "name": "pool", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76187, - "src": "20719:4:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pool_$2319_memory_ptr", - "typeString": "struct IAllo.Pool memory" - } - }, - "id": 76200, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "20724:5:129", - "memberName": "token", - "nodeType": "MemberAccess", - "referencedDeclaration": 2311, - "src": "20719:10:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "expression": { - "id": 76201, - "name": "proposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76112, - "src": "20731:8:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal storage pointer" - } - }, - "id": 76202, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "20740:11:129", - "memberName": "beneficiary", - "nodeType": "MemberAccess", - "referencedDeclaration": 74759, - "src": "20731:20:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "expression": { - "id": 76203, - "name": "proposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76112, - "src": "20753:8:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal storage pointer" - } - }, - "id": 76204, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "20762:15:129", - "memberName": "requestedAmount", - "nodeType": "MemberAccess", - "referencedDeclaration": 74753, - "src": "20753:24:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 76198, - "name": "_transferAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3287, - "src": "20703:15:129", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 76205, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "20703:75:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 76206, - "nodeType": "ExpressionStatement", - "src": "20703:75:129" - }, - { - "expression": { - "id": 76213, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "expression": { - "id": 76207, - "name": "proposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76112, - "src": "20809:8:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal storage pointer" - } - }, - "id": 76209, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberLocation": "20818:14:129", - "memberName": "proposalStatus", - "nodeType": "MemberAccess", - "referencedDeclaration": 74768, - "src": "20809:23:129", - "typeDescriptions": { - "typeIdentifier": "t_enum$_ProposalStatus_$74749", - "typeString": "enum StrategyStruct.ProposalStatus" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "expression": { - "expression": { - "id": 76210, - "name": "StrategyStruct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74807, - "src": "20835:14:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_StrategyStruct_$74807_$", - "typeString": "type(library StrategyStruct)" - } - }, - "id": 76211, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "20850:14:129", - "memberName": "ProposalStatus", - "nodeType": "MemberAccess", - "referencedDeclaration": 74749, - "src": "20835:29:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_ProposalStatus_$74749_$", - "typeString": "type(enum StrategyStruct.ProposalStatus)" - } - }, - "id": 76212, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "20865:8:129", - "memberName": "Executed", - "nodeType": "MemberAccess", - "referencedDeclaration": 74748, - "src": "20835:38:129", - "typeDescriptions": { - "typeIdentifier": "t_enum$_ProposalStatus_$74749", - "typeString": "enum StrategyStruct.ProposalStatus" - } - }, - "src": "20809:64:129", - "typeDescriptions": { - "typeIdentifier": "t_enum$_ProposalStatus_$74749", - "typeString": "enum StrategyStruct.ProposalStatus" - } - }, - "id": 76214, - "nodeType": "ExpressionStatement", - "src": "20809:64:129" - }, - { - "eventCall": { - "arguments": [ - { - "id": 76216, - "name": "proposalId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76091, - "src": "20905:10:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "expression": { - "id": 76217, - "name": "proposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76112, - "src": "20917:8:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal storage pointer" - } - }, - "id": 76218, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "20926:11:129", - "memberName": "beneficiary", - "nodeType": "MemberAccess", - "referencedDeclaration": 74759, - "src": "20917:20:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "expression": { - "id": 76219, - "name": "proposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76112, - "src": "20939:8:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal storage pointer" - } - }, - "id": 76220, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "20948:15:129", - "memberName": "requestedAmount", - "nodeType": "MemberAccess", - "referencedDeclaration": 74753, - "src": "20939:24:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 76215, - "name": "Distributed", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 74905, - 2858 - ], - "referencedDeclaration": 74905, - "src": "20893:11:129", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (uint256,address,uint256)" - } - }, - "id": 76221, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "20893:71:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 76222, - "nodeType": "EmitStatement", - "src": "20888:76:129" - } - ] - } - } - ] - }, - "baseFunctions": [ - 3828 - ], - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_distribute", - "nameLocation": "19294:11:129", - "overrides": { - "id": 76079, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "19362:8:129" - }, - "parameters": { - "id": 76078, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 76073, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 76226, - "src": "19306:16:129", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 76071, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "19306:7:129", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 76072, - "nodeType": "ArrayTypeName", - "src": "19306:9:129", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 76075, - "mutability": "mutable", - "name": "_data", - "nameLocation": "19337:5:129", - "nodeType": "VariableDeclaration", - "scope": 76226, - "src": "19324:18:129", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 76074, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "19324:5:129", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 76077, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 76226, - "src": "19344:7:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 76076, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "19344:7:129", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "19305:47:129" - }, - "returnParameters": { - "id": 76080, - "nodeType": "ParameterList", - "parameters": [], - "src": "19371:0:129" - }, - "scope": 77611, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "id": 76280, - "nodeType": "FunctionDefinition", - "src": "21047:735:129", - "nodes": [], - "body": { - "id": 76279, - "nodeType": "Block", - "src": "21136:646:129", - "nodes": [], - "statements": [ - { - "assignments": [ - 76237 - ], - "declarations": [ - { - "constant": false, - "id": 76237, - "mutability": "mutable", - "name": "proposal", - "nameLocation": "21178:8:129", - "nodeType": "VariableDeclaration", - "scope": 76279, - "src": "21146:40:129", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal" - }, - "typeName": { - "id": 76236, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 76235, - "name": "StrategyStruct.Proposal", - "nameLocations": [ - "21146:14:129", - "21161:8:129" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 74776, - "src": "21146:23:129" - }, - "referencedDeclaration": 74776, - "src": "21146:23:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal" - } - }, - "visibility": "internal" - } - ], - "id": 76241, - "initialValue": { - "baseExpression": { - "id": 76238, - "name": "proposals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75022, - "src": "21189:9:129", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Proposal_$74776_storage_$", - "typeString": "mapping(uint256 => struct StrategyStruct.Proposal storage ref)" - } - }, - "id": 76240, - "indexExpression": { - "id": 76239, - "name": "proposalId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76228, - "src": "21199:10:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "21189:21:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage", - "typeString": "struct StrategyStruct.Proposal storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "21146:64:129" - }, - { - "assignments": [ - 76243, - 76245 - ], - "declarations": [ - { - "constant": false, - "id": 76243, - "mutability": "mutable", - "name": "convictionLast", - "nameLocation": "21304:14:129", - "nodeType": "VariableDeclaration", - "scope": 76279, - "src": "21296:22:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 76242, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "21296:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 76245, - "mutability": "mutable", - "name": "blockNumber", - "nameLocation": "21328:11:129", - "nodeType": "VariableDeclaration", - "scope": 76279, - "src": "21320:19:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 76244, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "21320:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 76251, - "initialValue": { - "arguments": [ - { - "id": 76247, - "name": "proposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76237, - "src": "21389:8:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal storage pointer" - } - }, - { - "expression": { - "id": 76248, - "name": "proposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76237, - "src": "21399:8:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal storage pointer" - } - }, - "id": 76249, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "21408:12:129", - "memberName": "stakedAmount", - "nodeType": "MemberAccess", - "referencedDeclaration": 74755, - "src": "21399:21:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal storage pointer" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 76246, - "name": "_checkBlockAndCalculateConviction", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77432, - "src": "21355:33:129", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Proposal_$74776_storage_ptr_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", - "typeString": "function (struct StrategyStruct.Proposal storage pointer,uint256) view returns (uint256,uint256)" - } - }, - "id": 76250, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "21355:66:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "21295:126:129" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 76258, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 76254, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 76252, - "name": "convictionLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76243, - "src": "21436:14:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "hexValue": "30", - "id": 76253, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "21454:1:129", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "21436:19:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 76257, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 76255, - "name": "blockNumber", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76245, - "src": "21459:11:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "hexValue": "30", - "id": 76256, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "21474:1:129", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "21459:16:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "21436:39:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 76265, - "nodeType": "IfStatement", - "src": "21432:110:129", - "trueBody": { - "id": 76264, - "nodeType": "Block", - "src": "21477:65:129", - "statements": [ - { - "expression": { - "id": 76262, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 76259, - "name": "convictionLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76243, - "src": "21491:14:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "expression": { - "id": 76260, - "name": "proposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76237, - "src": "21508:8:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal storage pointer" - } - }, - "id": 76261, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "21517:14:129", - "memberName": "convictionLast", - "nodeType": "MemberAccess", - "referencedDeclaration": 74757, - "src": "21508:23:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "21491:40:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 76263, - "nodeType": "ExpressionStatement", - "src": "21491:40:129" - } - ] - } - }, - { - "assignments": [ - 76267 - ], - "declarations": [ - { - "constant": false, - "id": 76267, - "mutability": "mutable", - "name": "threshold", - "nameLocation": "21559:9:129", - "nodeType": "VariableDeclaration", - "scope": 76279, - "src": "21551:17:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 76266, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "21551:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 76272, - "initialValue": { - "arguments": [ - { - "expression": { - "id": 76269, - "name": "proposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76237, - "src": "21590:8:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal storage pointer" - } - }, - "id": 76270, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "21599:15:129", - "memberName": "requestedAmount", - "nodeType": "MemberAccess", - "referencedDeclaration": 74753, - "src": "21590:24:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 76268, - "name": "calculateThreshold", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77236, - "src": "21571:18:129", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) view returns (uint256)" - } - }, - "id": 76271, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "21571:44:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "21551:64:129" - }, - { - "expression": { - "id": 76277, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 76273, - "name": "canBeExecuted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76231, - "src": "21732:13:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 76276, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 76274, - "name": "convictionLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76243, - "src": "21748:14:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "id": 76275, - "name": "threshold", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76267, - "src": "21766:9:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "21748:27:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "21732:43:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 76278, - "nodeType": "ExpressionStatement", - "src": "21732:43:129" - } - ] - }, - "functionSelector": "824ea8ed", - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "canExecuteProposal", - "nameLocation": "21056:18:129", - "parameters": { - "id": 76229, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 76228, - "mutability": "mutable", - "name": "proposalId", - "nameLocation": "21083:10:129", - "nodeType": "VariableDeclaration", - "scope": 76280, - "src": "21075:18:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 76227, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "21075:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "21074:20:129" - }, - "returnParameters": { - "id": 76232, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 76231, - "mutability": "mutable", - "name": "canBeExecuted", - "nameLocation": "21121:13:129", - "nodeType": "VariableDeclaration", - "scope": 76280, - "src": "21116:18:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 76230, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "21116:4:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "21115:20:129" - }, - "scope": 77611, - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "id": 76302, - "nodeType": "FunctionDefinition", - "src": "22072:220:129", - "nodes": [], - "body": { - "id": 76301, - "nodeType": "Block", - "src": "22163:129:129", - "nodes": [], - "statements": [ - { - "expression": { - "condition": { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 76294, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 76289, - "name": "_recipientId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76282, - "src": "22223:12:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "arguments": [ - { - "hexValue": "30", - "id": 76292, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "22247:1:129", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 76291, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "22239:7:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 76290, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "22239:7:129", - "typeDescriptions": {} - } - }, - "id": 76293, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "22239:10:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "22223:26:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "expression": { - "id": 76297, - "name": "Status", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2815, - "src": "22270:6:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_Status_$2815_$", - "typeString": "type(enum IStrategy.Status)" - } - }, - "id": 76298, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "22277:8:129", - "memberName": "Accepted", - "nodeType": "MemberAccess", - "referencedDeclaration": 2810, - "src": "22270:15:129", - "typeDescriptions": { - "typeIdentifier": "t_enum$_Status_$2815", - "typeString": "enum IStrategy.Status" - } - }, - "id": 76299, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "22223:62:129", - "trueExpression": { - "expression": { - "id": 76295, - "name": "Status", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2815, - "src": "22252:6:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_Status_$2815_$", - "typeString": "type(enum IStrategy.Status)" - } - }, - "id": 76296, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "22259:8:129", - "memberName": "Rejected", - "nodeType": "MemberAccess", - "referencedDeclaration": 2811, - "src": "22252:15:129", - "typeDescriptions": { - "typeIdentifier": "t_enum$_Status_$2815", - "typeString": "enum IStrategy.Status" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_enum$_Status_$2815", - "typeString": "enum IStrategy.Status" - } - }, - "functionReturnParameters": 76288, - "id": 76300, - "nodeType": "Return", - "src": "22216:69:129" - } - ] - }, - "baseFunctions": [ - 3848 - ], - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_getRecipientStatus", - "nameLocation": "22081:19:129", - "overrides": { - "id": 76284, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "22137:8:129" - }, - "parameters": { - "id": 76283, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 76282, - "mutability": "mutable", - "name": "_recipientId", - "nameLocation": "22109:12:129", - "nodeType": "VariableDeclaration", - "scope": 76302, - "src": "22101:20:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 76281, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "22101:7:129", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "22100:22:129" - }, - "returnParameters": { - "id": 76288, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 76287, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 76302, - "src": "22155:6:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_enum$_Status_$2815", - "typeString": "enum IStrategy.Status" - }, - "typeName": { - "id": 76286, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 76285, - "name": "Status", - "nameLocations": [ - "22155:6:129" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 2815, - "src": "22155:6:129" - }, - "referencedDeclaration": 2815, - "src": "22155:6:129", - "typeDescriptions": { - "typeIdentifier": "t_enum$_Status_$2815", - "typeString": "enum IStrategy.Status" - } - }, - "visibility": "internal" - } - ], - "src": "22154:8:129" - }, - "scope": 77611, - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "id": 76321, - "nodeType": "FunctionDefinition", - "src": "22421:288:129", - "nodes": [], - "body": { - "id": 76320, - "nodeType": "Block", - "src": "22531:178:129", - "nodes": [], - "statements": [ - { - "errorCall": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 76317, - "name": "NotImplemented", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74826, - "src": "22591:14:129", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 76318, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "22591:16:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 76319, - "nodeType": "RevertStatement", - "src": "22584:23:129" - } - ] - }, - "baseFunctions": [ - 3687 - ], - "documentation": { - "id": 76303, - "nodeType": "StructuredDocumentation", - "src": "22298:118:129", - "text": "@return Input the values you would send to distribute(), get the amounts each recipient in the array would receive" - }, - "functionSelector": "b2b878d0", - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getPayouts", - "nameLocation": "22430:10:129", - "overrides": { - "id": 76311, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "22489:8:129" - }, - "parameters": { - "id": 76310, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 76306, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 76321, - "src": "22441:16:129", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 76304, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "22441:7:129", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 76305, - "nodeType": "ArrayTypeName", - "src": "22441:9:129", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 76309, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 76321, - "src": "22459:14:129", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", - "typeString": "bytes[]" - }, - "typeName": { - "baseType": { - "id": 76307, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "22459:5:129", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "id": 76308, - "nodeType": "ArrayTypeName", - "src": "22459:7:129", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bytes_storage_$dyn_storage_ptr", - "typeString": "bytes[]" - } - }, - "visibility": "internal" - } - ], - "src": "22440:34:129" - }, - "returnParameters": { - "id": 76316, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 76315, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 76321, - "src": "22507:22:129", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_PayoutSummary_$2820_memory_ptr_$dyn_memory_ptr", - "typeString": "struct IStrategy.PayoutSummary[]" - }, - "typeName": { - "baseType": { - "id": 76313, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 76312, - "name": "PayoutSummary", - "nameLocations": [ - "22507:13:129" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 2820, - "src": "22507:13:129" - }, - "referencedDeclaration": 2820, - "src": "22507:13:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PayoutSummary_$2820_storage_ptr", - "typeString": "struct IStrategy.PayoutSummary" - } - }, - "id": 76314, - "nodeType": "ArrayTypeName", - "src": "22507:15:129", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_PayoutSummary_$2820_storage_$dyn_storage_ptr", - "typeString": "struct IStrategy.PayoutSummary[]" - } - }, - "visibility": "internal" - } - ], - "src": "22506:24:129" - }, - "scope": 77611, - "stateMutability": "pure", - "virtual": false, - "visibility": "external" - }, - { - "id": 76340, - "nodeType": "FunctionDefinition", - "src": "22715:264:129", - "nodes": [], - "body": { - "id": 76339, - "nodeType": "Block", - "src": "22867:112:129", - "nodes": [], - "statements": [ - { - "expression": { - "id": 76332, - "name": "_data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76325, - "src": "22920:5:129", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 76333, - "nodeType": "ExpressionStatement", - "src": "22920:5:129" - }, - { - "expression": { - "arguments": [ - { - "id": 76335, - "name": "_recipientId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76323, - "src": "22956:12:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "hexValue": "30", - "id": 76336, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "22970:1:129", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 76334, - "name": "PayoutSummary", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2820, - "src": "22942:13:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_PayoutSummary_$2820_storage_ptr_$", - "typeString": "type(struct IStrategy.PayoutSummary storage pointer)" - } - }, - "id": 76337, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "structConstructorCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "22942:30:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_struct$_PayoutSummary_$2820_memory_ptr", - "typeString": "struct IStrategy.PayoutSummary memory" - } - }, - "functionReturnParameters": 76331, - "id": 76338, - "nodeType": "Return", - "src": "22935:37:129" - } - ] - }, - "baseFunctions": [ - 3839 - ], - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_getPayout", - "nameLocation": "22724:10:129", - "overrides": { - "id": 76327, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "22815:8:129" - }, - "parameters": { - "id": 76326, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 76323, - "mutability": "mutable", - "name": "_recipientId", - "nameLocation": "22743:12:129", - "nodeType": "VariableDeclaration", - "scope": 76340, - "src": "22735:20:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 76322, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "22735:7:129", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 76325, - "mutability": "mutable", - "name": "_data", - "nameLocation": "22770:5:129", - "nodeType": "VariableDeclaration", - "scope": 76340, - "src": "22757:18:129", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 76324, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "22757:5:129", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "src": "22734:42:129" - }, - "returnParameters": { - "id": 76331, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 76330, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 76340, - "src": "22841:20:129", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PayoutSummary_$2820_memory_ptr", - "typeString": "struct IStrategy.PayoutSummary" - }, - "typeName": { - "id": 76329, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 76328, - "name": "PayoutSummary", - "nameLocations": [ - "22841:13:129" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 2820, - "src": "22841:13:129" - }, - "referencedDeclaration": 2820, - "src": "22841:13:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PayoutSummary_$2820_storage_ptr", - "typeString": "struct IStrategy.PayoutSummary" - } - }, - "visibility": "internal" - } - ], - "src": "22840:22:129" - }, - "scope": 77611, - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "id": 76351, - "nodeType": "FunctionDefinition", - "src": "22985:127:129", - "nodes": [], - "body": { - "id": 76350, - "nodeType": "Block", - "src": "23062:50:129", - "nodes": [], - "statements": [ - { - "eventCall": { - "arguments": [ - { - "id": 76347, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76342, - "src": "23097:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 76346, - "name": "PoolAmountIncreased", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74915, - "src": "23077:19:129", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 76348, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "23077:28:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 76349, - "nodeType": "EmitStatement", - "src": "23072:33:129" - } - ] - }, - "baseFunctions": [ - 3862 - ], - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_afterIncreasePoolAmount", - "nameLocation": "22994:24:129", - "overrides": { - "id": 76344, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "23053:8:129" - }, - "parameters": { - "id": 76343, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 76342, - "mutability": "mutable", - "name": "_amount", - "nameLocation": "23027:7:129", - "nodeType": "VariableDeclaration", - "scope": 76351, - "src": "23019:15:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 76341, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "23019:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "23018:17:129" - }, - "returnParameters": { - "id": 76345, - "nodeType": "ParameterList", - "parameters": [], - "src": "23062:0:129" - }, - "scope": 77611, - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - }, - { - "id": 76370, - "nodeType": "FunctionDefinition", - "src": "23207:191:129", - "nodes": [], - "body": { - "id": 76369, - "nodeType": "Block", - "src": "23292:106:129", - "nodes": [], - "statements": [ - { - "expression": { - "condition": { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 76364, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 76359, - "name": "_allocator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76353, - "src": "23352:10:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "arguments": [ - { - "hexValue": "30", - "id": 76362, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "23374:1:129", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 76361, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "23366:7:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 76360, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "23366:7:129", - "typeDescriptions": {} - } - }, - "id": 76363, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "23366:10:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "23352:24:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "hexValue": "74727565", - "id": 76366, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "23387:4:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "id": 76367, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "23352:39:129", - "trueExpression": { - "hexValue": "66616c7365", - "id": 76365, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "23379:5:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 76358, - "id": 76368, - "nodeType": "Return", - "src": "23345:46:129" - } - ] - }, - "baseFunctions": [ - 3799 - ], - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_isValidAllocator", - "nameLocation": "23216:17:129", - "overrides": { - "id": 76355, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "23268:8:129" - }, - "parameters": { - "id": 76354, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 76353, - "mutability": "mutable", - "name": "_allocator", - "nameLocation": "23242:10:129", - "nodeType": "VariableDeclaration", - "scope": 76370, - "src": "23234:18:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 76352, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "23234:7:129", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "23233:20:129" - }, - "returnParameters": { - "id": 76358, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 76357, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 76370, - "src": "23286:4:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 76356, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "23286:4:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "23285:6:129" - }, - "scope": 77611, - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "id": 76380, - "nodeType": "FunctionDefinition", - "src": "23404:86:129", - "nodes": [], - "body": { - "id": 76379, - "nodeType": "Block", - "src": "23450:40:129", - "nodes": [], - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 76376, - "name": "_active", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76372, - "src": "23475:7:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 76375, - "name": "_setPoolActive", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3782, - "src": "23460:14:129", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bool_$returns$__$", - "typeString": "function (bool)" - } - }, - "id": 76377, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "23460:23:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 76378, - "nodeType": "ExpressionStatement", - "src": "23460:23:129" - } - ] - }, - "functionSelector": "b5f620ce", - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "setPoolActive", - "nameLocation": "23413:13:129", - "parameters": { - "id": 76373, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 76372, - "mutability": "mutable", - "name": "_active", - "nameLocation": "23432:7:129", - "nodeType": "VariableDeclaration", - "scope": 76380, - "src": "23427:12:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 76371, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "23427:4:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "23426:14:129" - }, - "returnParameters": { - "id": 76374, - "nodeType": "ParameterList", - "parameters": [], - "src": "23450:0:129" - }, - "scope": 77611, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "id": 76468, - "nodeType": "FunctionDefinition", - "src": "23496:836:129", - "nodes": [], - "body": { - "id": 76467, - "nodeType": "Block", - "src": "23540:792:129", - "nodes": [], - "statements": [ - { - "assignments": [ - 76389 - ], - "declarations": [ - { - "constant": false, - "id": 76389, - "mutability": "mutable", - "name": "proposalsIds", - "nameLocation": "23615:12:129", - "nodeType": "VariableDeclaration", - "scope": 76467, - "src": "23598:29:129", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 76387, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "23598:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 76388, - "nodeType": "ArrayTypeName", - "src": "23598:9:129", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "visibility": "internal" - } - ], - "id": 76393, - "initialValue": { - "baseExpression": { - "id": 76390, - "name": "voterStakedProposals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75031, - "src": "23630:20:129", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$", - "typeString": "mapping(address => uint256[] storage ref)" - } - }, - "id": 76392, - "indexExpression": { - "id": 76391, - "name": "_member", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76382, - "src": "23651:7:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "23630:29:129", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "23598:61:129" - }, - { - "body": { - "id": 76465, - "nodeType": "Block", - "src": "23719:607:129", - "statements": [ - { - "assignments": [ - 76406 - ], - "declarations": [ - { - "constant": false, - "id": 76406, - "mutability": "mutable", - "name": "proposalId", - "nameLocation": "23741:10:129", - "nodeType": "VariableDeclaration", - "scope": 76465, - "src": "23733:18:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 76405, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "23733:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 76410, - "initialValue": { - "baseExpression": { - "id": 76407, - "name": "proposalsIds", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76389, - "src": "23754:12:129", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 76409, - "indexExpression": { - "id": 76408, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76395, - "src": "23767:1:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "23754:15:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "23733:36:129" - }, - { - "assignments": [ - 76415 - ], - "declarations": [ - { - "constant": false, - "id": 76415, - "mutability": "mutable", - "name": "proposal", - "nameLocation": "23815:8:129", - "nodeType": "VariableDeclaration", - "scope": 76465, - "src": "23783:40:129", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal" - }, - "typeName": { - "id": 76414, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 76413, - "name": "StrategyStruct.Proposal", - "nameLocations": [ - "23783:14:129", - "23798:8:129" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 74776, - "src": "23783:23:129" - }, - "referencedDeclaration": 74776, - "src": "23783:23:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal" - } - }, - "visibility": "internal" - } - ], - "id": 76419, - "initialValue": { - "baseExpression": { - "id": 76416, - "name": "proposals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75022, - "src": "23826:9:129", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Proposal_$74776_storage_$", - "typeString": "mapping(uint256 => struct StrategyStruct.Proposal storage ref)" - } - }, - "id": 76418, - "indexExpression": { - "id": 76417, - "name": "proposalId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76406, - "src": "23836:10:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "23826:21:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage", - "typeString": "struct StrategyStruct.Proposal storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "23783:64:129" - }, - { - "condition": { - "arguments": [ - { - "id": 76421, - "name": "proposalId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76406, - "src": "23880:10:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 76420, - "name": "proposalExists", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76656, - "src": "23865:14:129", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) view returns (bool)" - } - }, - "id": 76422, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "23865:26:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 76464, - "nodeType": "IfStatement", - "src": "23861:455:129", - "trueBody": { - "id": 76463, - "nodeType": "Block", - "src": "23893:423:129", - "statements": [ - { - "assignments": [ - 76424 - ], - "declarations": [ - { - "constant": false, - "id": 76424, - "mutability": "mutable", - "name": "stakedPoints", - "nameLocation": "23919:12:129", - "nodeType": "VariableDeclaration", - "scope": 76463, - "src": "23911:20:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 76423, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "23911:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 76429, - "initialValue": { - "baseExpression": { - "expression": { - "id": 76425, - "name": "proposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76415, - "src": "23934:8:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal storage pointer" - } - }, - "id": 76426, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "23943:17:129", - "memberName": "voterStakedPoints", - "nodeType": "MemberAccess", - "referencedDeclaration": 74772, - "src": "23934:26:129", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 76428, - "indexExpression": { - "id": 76427, - "name": "_member", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76382, - "src": "23961:7:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "23934:35:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "23911:58:129" - }, - { - "expression": { - "id": 76436, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "expression": { - "id": 76430, - "name": "proposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76415, - "src": "23987:8:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal storage pointer" - } - }, - "id": 76433, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "23996:17:129", - "memberName": "voterStakedPoints", - "nodeType": "MemberAccess", - "referencedDeclaration": 74772, - "src": "23987:26:129", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 76434, - "indexExpression": { - "id": 76432, - "name": "_member", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76382, - "src": "24014:7:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "23987:35:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "hexValue": "30", - "id": 76435, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "24025:1:129", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "23987:39:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 76437, - "nodeType": "ExpressionStatement", - "src": "23987:39:129" - }, - { - "expression": { - "id": 76442, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "expression": { - "id": 76438, - "name": "proposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76415, - "src": "24044:8:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal storage pointer" - } - }, - "id": 76440, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberLocation": "24053:12:129", - "memberName": "stakedAmount", - "nodeType": "MemberAccess", - "referencedDeclaration": 74755, - "src": "24044:21:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "-=", - "rightHandSide": { - "id": 76441, - "name": "stakedPoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76424, - "src": "24069:12:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "24044:37:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 76443, - "nodeType": "ExpressionStatement", - "src": "24044:37:129" - }, - { - "expression": { - "id": 76446, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 76444, - "name": "totalStaked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74995, - "src": "24099:11:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "-=", - "rightHandSide": { - "id": 76445, - "name": "stakedPoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76424, - "src": "24114:12:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "24099:27:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 76447, - "nodeType": "ExpressionStatement", - "src": "24099:27:129" - }, - { - "expression": { - "arguments": [ - { - "id": 76449, - "name": "proposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76415, - "src": "24171:8:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal storage pointer" - } - }, - { - "id": 76450, - "name": "stakedPoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76424, - "src": "24181:12:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal storage pointer" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 76448, - "name": "_calculateAndSetConviction", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77385, - "src": "24144:26:129", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Proposal_$74776_storage_ptr_$_t_uint256_$returns$__$", - "typeString": "function (struct StrategyStruct.Proposal storage pointer,uint256)" - } - }, - "id": 76451, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "24144:50:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 76452, - "nodeType": "ExpressionStatement", - "src": "24144:50:129" - }, - { - "eventCall": { - "arguments": [ - { - "id": 76454, - "name": "_member", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76382, - "src": "24230:7:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 76455, - "name": "proposalId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76406, - "src": "24239:10:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "hexValue": "30", - "id": 76456, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "24251:1:129", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - { - "expression": { - "id": 76457, - "name": "proposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76415, - "src": "24254:8:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal storage pointer" - } - }, - "id": 76458, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "24263:12:129", - "memberName": "stakedAmount", - "nodeType": "MemberAccess", - "referencedDeclaration": 74755, - "src": "24254:21:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "expression": { - "id": 76459, - "name": "proposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76415, - "src": "24277:8:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal storage pointer" - } - }, - "id": 76460, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "24286:14:129", - "memberName": "convictionLast", - "nodeType": "MemberAccess", - "referencedDeclaration": 74757, - "src": "24277:23:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 76453, - "name": "SupportAdded", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74943, - "src": "24217:12:129", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256,uint256,uint256,uint256)" - } - }, - "id": 76461, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "24217:84:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 76462, - "nodeType": "EmitStatement", - "src": "24212:89:129" - } - ] - } - } - ] - }, - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 76401, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 76398, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76395, - "src": "23689:1:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "expression": { - "id": 76399, - "name": "proposalsIds", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76389, - "src": "23693:12:129", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 76400, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "23706:6:129", - "memberName": "length", - "nodeType": "MemberAccess", - "src": "23693:19:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "23689:23:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 76466, - "initializationExpression": { - "assignments": [ - 76395 - ], - "declarations": [ - { - "constant": false, - "id": 76395, - "mutability": "mutable", - "name": "i", - "nameLocation": "23682:1:129", - "nodeType": "VariableDeclaration", - "scope": 76466, - "src": "23674:9:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 76394, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "23674:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 76397, - "initialValue": { - "hexValue": "30", - "id": 76396, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "23686:1:129", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "23674:13:129" - }, - "loopExpression": { - "expression": { - "id": 76403, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "23714:3:129", - "subExpression": { - "id": 76402, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76395, - "src": "23714:1:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 76404, - "nodeType": "ExpressionStatement", - "src": "23714:3:129" - }, - "nodeType": "ForStatement", - "src": "23669:657:129" - } - ] - }, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "withdraw", - "nameLocation": "23505:8:129", - "parameters": { - "id": 76383, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 76382, - "mutability": "mutable", - "name": "_member", - "nameLocation": "23522:7:129", - "nodeType": "VariableDeclaration", - "scope": 76468, - "src": "23514:15:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 76381, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "23514:7:129", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "23513:17:129" - }, - "returnParameters": { - "id": 76384, - "nodeType": "ParameterList", - "parameters": [], - "src": "23540:0:129" - }, - "scope": 77611, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "id": 76542, - "nodeType": "FunctionDefinition", - "src": "24894:1038:129", - "nodes": [], - "body": { - "id": 76541, - "nodeType": "Block", - "src": "25363:569:129", - "nodes": [], - "statements": [ - { - "assignments": [ - 76499 - ], - "declarations": [ - { - "constant": false, - "id": 76499, - "mutability": "mutable", - "name": "proposal", - "nameLocation": "25405:8:129", - "nodeType": "VariableDeclaration", - "scope": 76541, - "src": "25373:40:129", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal" - }, - "typeName": { - "id": 76498, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 76497, - "name": "StrategyStruct.Proposal", - "nameLocations": [ - "25373:14:129", - "25388:8:129" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 74776, - "src": "25373:23:129" - }, - "referencedDeclaration": 74776, - "src": "25373:23:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal" - } - }, - "visibility": "internal" - } - ], - "id": 76503, - "initialValue": { - "baseExpression": { - "id": 76500, - "name": "proposals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75022, - "src": "25416:9:129", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Proposal_$74776_storage_$", - "typeString": "mapping(uint256 => struct StrategyStruct.Proposal storage ref)" - } - }, - "id": 76502, - "indexExpression": { - "id": 76501, - "name": "_proposalId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76471, - "src": "25426:11:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "25416:22:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage", - "typeString": "struct StrategyStruct.Proposal storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "25373:65:129" - }, - { - "expression": { - "id": 76515, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 76504, - "name": "threshold", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76491, - "src": "25449:9:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 76508, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 76505, - "name": "proposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76499, - "src": "25461:8:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal storage pointer" - } - }, - "id": 76506, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "25470:15:129", - "memberName": "requestedAmount", - "nodeType": "MemberAccess", - "referencedDeclaration": 74753, - "src": "25461:24:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "hexValue": "30", - "id": 76507, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "25489:1:129", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "25461:29:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "arguments": [ - { - "expression": { - "id": 76511, - "name": "proposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76499, - "src": "25516:8:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal storage pointer" - } - }, - "id": 76512, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "25525:15:129", - "memberName": "requestedAmount", - "nodeType": "MemberAccess", - "referencedDeclaration": 74753, - "src": "25516:24:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 76510, - "name": "calculateThreshold", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77236, - "src": "25497:18:129", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) view returns (uint256)" - } - }, - "id": 76513, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "25497:44:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 76514, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "25461:80:129", - "trueExpression": { - "hexValue": "30", - "id": 76509, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "25493:1:129", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "25449:92:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 76516, - "nodeType": "ExpressionStatement", - "src": "25449:92:129" - }, - { - "expression": { - "components": [ - { - "expression": { - "id": 76517, - "name": "proposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76499, - "src": "25572:8:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal storage pointer" - } - }, - "id": 76518, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "25581:9:129", - "memberName": "submitter", - "nodeType": "MemberAccess", - "referencedDeclaration": 74761, - "src": "25572:18:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "expression": { - "id": 76519, - "name": "proposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76499, - "src": "25604:8:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal storage pointer" - } - }, - "id": 76520, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "25613:11:129", - "memberName": "beneficiary", - "nodeType": "MemberAccess", - "referencedDeclaration": 74759, - "src": "25604:20:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "expression": { - "id": 76521, - "name": "proposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76499, - "src": "25638:8:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal storage pointer" - } - }, - "id": 76522, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "25647:14:129", - "memberName": "requestedToken", - "nodeType": "MemberAccess", - "referencedDeclaration": 74763, - "src": "25638:23:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "expression": { - "id": 76523, - "name": "proposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76499, - "src": "25675:8:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal storage pointer" - } - }, - "id": 76524, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "25684:15:129", - "memberName": "requestedAmount", - "nodeType": "MemberAccess", - "referencedDeclaration": 74753, - "src": "25675:24:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "expression": { - "id": 76525, - "name": "proposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76499, - "src": "25713:8:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal storage pointer" - } - }, - "id": 76526, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "25722:12:129", - "memberName": "stakedAmount", - "nodeType": "MemberAccess", - "referencedDeclaration": 74755, - "src": "25713:21:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "expression": { - "id": 76527, - "name": "proposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76499, - "src": "25748:8:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal storage pointer" - } - }, - "id": 76528, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "25757:14:129", - "memberName": "proposalStatus", - "nodeType": "MemberAccess", - "referencedDeclaration": 74768, - "src": "25748:23:129", - "typeDescriptions": { - "typeIdentifier": "t_enum$_ProposalStatus_$74749", - "typeString": "enum StrategyStruct.ProposalStatus" - } - }, - { - "expression": { - "id": 76529, - "name": "proposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76499, - "src": "25785:8:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal storage pointer" - } - }, - "id": 76530, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "25794:9:129", - "memberName": "blockLast", - "nodeType": "MemberAccess", - "referencedDeclaration": 74765, - "src": "25785:18:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "expression": { - "id": 76531, - "name": "proposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76499, - "src": "25817:8:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal storage pointer" - } - }, - "id": 76532, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "25826:14:129", - "memberName": "convictionLast", - "nodeType": "MemberAccess", - "referencedDeclaration": 74757, - "src": "25817:23:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 76533, - "name": "threshold", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76491, - "src": "25854:9:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "baseExpression": { - "expression": { - "id": 76534, - "name": "proposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76499, - "src": "25877:8:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal storage pointer" - } - }, - "id": 76535, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "25886:17:129", - "memberName": "voterStakedPoints", - "nodeType": "MemberAccess", - "referencedDeclaration": 74772, - "src": "25877:26:129", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 76538, - "indexExpression": { - "expression": { - "id": 76536, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "25904:3:129", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 76537, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "25908:6:129", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "25904:10:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "25877:38:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 76539, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "25558:367:129", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_address_$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_enum$_ProposalStatus_$74749_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$", - "typeString": "tuple(address,address,address,uint256,uint256,enum StrategyStruct.ProposalStatus,uint256,uint256,uint256,uint256)" - } - }, - "functionReturnParameters": 76494, - "id": 76540, - "nodeType": "Return", - "src": "25551:374:129" - } - ] - }, - "documentation": { - "id": 76469, - "nodeType": "StructuredDocumentation", - "src": "24338:551:129", - "text": " @dev Get proposal details\n @param _proposalId Proposal id\n @return submitter Proposal submitter\n @return beneficiary Proposal beneficiary\n @return requestedToken Proposal requested token\n @return requestedAmount Proposal requested amount\n @return stakedAmount Proposal staked points\n @return proposalStatus Proposal status\n @return blockLast Last block when conviction was calculated\n @return convictionLast Last conviction calculated\n @return threshold Proposal threshold" - }, - "functionSelector": "c7f758a8", - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getProposal", - "nameLocation": "24903:11:129", - "parameters": { - "id": 76472, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 76471, - "mutability": "mutable", - "name": "_proposalId", - "nameLocation": "24923:11:129", - "nodeType": "VariableDeclaration", - "scope": 76542, - "src": "24915:19:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 76470, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "24915:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "24914:21:129" - }, - "returnParameters": { - "id": 76494, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 76474, - "mutability": "mutable", - "name": "submitter", - "nameLocation": "25004:9:129", - "nodeType": "VariableDeclaration", - "scope": 76542, - "src": "24996:17:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 76473, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "24996:7:129", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 76476, - "mutability": "mutable", - "name": "beneficiary", - "nameLocation": "25035:11:129", - "nodeType": "VariableDeclaration", - "scope": 76542, - "src": "25027:19:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 76475, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "25027:7:129", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 76478, - "mutability": "mutable", - "name": "requestedToken", - "nameLocation": "25068:14:129", - "nodeType": "VariableDeclaration", - "scope": 76542, - "src": "25060:22:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 76477, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "25060:7:129", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 76480, - "mutability": "mutable", - "name": "requestedAmount", - "nameLocation": "25104:15:129", - "nodeType": "VariableDeclaration", - "scope": 76542, - "src": "25096:23:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 76479, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "25096:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 76482, - "mutability": "mutable", - "name": "stakedAmount", - "nameLocation": "25141:12:129", - "nodeType": "VariableDeclaration", - "scope": 76542, - "src": "25133:20:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 76481, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "25133:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 76485, - "mutability": "mutable", - "name": "proposalStatus", - "nameLocation": "25197:14:129", - "nodeType": "VariableDeclaration", - "scope": 76542, - "src": "25167:44:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_enum$_ProposalStatus_$74749", - "typeString": "enum StrategyStruct.ProposalStatus" - }, - "typeName": { - "id": 76484, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 76483, - "name": "StrategyStruct.ProposalStatus", - "nameLocations": [ - "25167:14:129", - "25182:14:129" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 74749, - "src": "25167:29:129" - }, - "referencedDeclaration": 74749, - "src": "25167:29:129", - "typeDescriptions": { - "typeIdentifier": "t_enum$_ProposalStatus_$74749", - "typeString": "enum StrategyStruct.ProposalStatus" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 76487, - "mutability": "mutable", - "name": "blockLast", - "nameLocation": "25233:9:129", - "nodeType": "VariableDeclaration", - "scope": 76542, - "src": "25225:17:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 76486, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "25225:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 76489, - "mutability": "mutable", - "name": "convictionLast", - "nameLocation": "25264:14:129", - "nodeType": "VariableDeclaration", - "scope": 76542, - "src": "25256:22:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 76488, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "25256:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 76491, - "mutability": "mutable", - "name": "threshold", - "nameLocation": "25300:9:129", - "nodeType": "VariableDeclaration", - "scope": 76542, - "src": "25292:17:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 76490, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "25292:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 76493, - "mutability": "mutable", - "name": "voterStakedPoints", - "nameLocation": "25331:17:129", - "nodeType": "VariableDeclaration", - "scope": 76542, - "src": "25323:25:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 76492, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "25323:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "24982:376:129" - }, - "scope": 77611, - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "id": 76563, - "nodeType": "FunctionDefinition", - "src": "25938:198:129", - "nodes": [], - "body": { - "id": 76562, - "nodeType": "Block", - "src": "26020:116:129", - "nodes": [], - "statements": [ - { - "assignments": [ - 76554 - ], - "declarations": [ - { - "constant": false, - "id": 76554, - "mutability": "mutable", - "name": "proposal", - "nameLocation": "26062:8:129", - "nodeType": "VariableDeclaration", - "scope": 76562, - "src": "26030:40:129", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal" - }, - "typeName": { - "id": 76553, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 76552, - "name": "StrategyStruct.Proposal", - "nameLocations": [ - "26030:14:129", - "26045:8:129" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 74776, - "src": "26030:23:129" - }, - "referencedDeclaration": 74776, - "src": "26030:23:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal" - } - }, - "visibility": "internal" - } - ], - "id": 76558, - "initialValue": { - "baseExpression": { - "id": 76555, - "name": "proposals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75022, - "src": "26073:9:129", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Proposal_$74776_storage_$", - "typeString": "mapping(uint256 => struct StrategyStruct.Proposal storage ref)" - } - }, - "id": 76557, - "indexExpression": { - "id": 76556, - "name": "_proposalId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76544, - "src": "26083:11:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "26073:22:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage", - "typeString": "struct StrategyStruct.Proposal storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "26030:65:129" - }, - { - "expression": { - "expression": { - "id": 76559, - "name": "proposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76554, - "src": "26112:8:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal storage pointer" - } - }, - "id": 76560, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "26121:8:129", - "memberName": "metadata", - "nodeType": "MemberAccess", - "referencedDeclaration": 74775, - "src": "26112:17:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Metadata_$3098_storage", - "typeString": "struct Metadata storage ref" - } - }, - "functionReturnParameters": 76549, - "id": 76561, - "nodeType": "Return", - "src": "26105:24:129" - } - ] - }, - "functionSelector": "a574cea4", - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getMetadata", - "nameLocation": "25947:11:129", - "parameters": { - "id": 76545, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 76544, - "mutability": "mutable", - "name": "_proposalId", - "nameLocation": "25967:11:129", - "nodeType": "VariableDeclaration", - "scope": 76563, - "src": "25959:19:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 76543, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "25959:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "25958:21:129" - }, - "returnParameters": { - "id": 76549, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 76548, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 76563, - "src": "26003:15:129", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Metadata_$3098_memory_ptr", - "typeString": "struct Metadata" - }, - "typeName": { - "id": 76547, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 76546, - "name": "Metadata", - "nameLocations": [ - "26003:8:129" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 3098, - "src": "26003:8:129" - }, - "referencedDeclaration": 3098, - "src": "26003:8:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Metadata_$3098_storage_ptr", - "typeString": "struct Metadata" - } - }, - "visibility": "internal" - } - ], - "src": "26002:17:129" - }, - "scope": 77611, - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "id": 76579, - "nodeType": "FunctionDefinition", - "src": "26337:176:129", - "nodes": [], - "body": { - "id": 76578, - "nodeType": "Block", - "src": "26437:76:129", - "nodes": [], - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 76574, - "name": "_proposalId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76566, - "src": "26486:11:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 76575, - "name": "_voter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76568, - "src": "26499:6:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 76573, - "name": "_internal_getProposalVoterStake", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76621, - "src": "26454:31:129", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_address_$returns$_t_uint256_$", - "typeString": "function (uint256,address) view returns (uint256)" - } - }, - "id": 76576, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "26454:52:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 76572, - "id": 76577, - "nodeType": "Return", - "src": "26447:59:129" - } - ] - }, - "documentation": { - "id": 76564, - "nodeType": "StructuredDocumentation", - "src": "26142:190:129", - "text": " @notice Get stake of voter `_voter` on proposal #`_proposalId`\n @param _proposalId Proposal id\n @param _voter Voter address\n @return Proposal voter stake" - }, - "functionSelector": "e0dd2c38", - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getProposalVoterStake", - "nameLocation": "26346:21:129", - "parameters": { - "id": 76569, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 76566, - "mutability": "mutable", - "name": "_proposalId", - "nameLocation": "26376:11:129", - "nodeType": "VariableDeclaration", - "scope": 76579, - "src": "26368:19:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 76565, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "26368:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 76568, - "mutability": "mutable", - "name": "_voter", - "nameLocation": "26397:6:129", - "nodeType": "VariableDeclaration", - "scope": 76579, - "src": "26389:14:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 76567, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "26389:7:129", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "26367:37:129" - }, - "returnParameters": { - "id": 76572, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 76571, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 76579, - "src": "26428:7:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 76570, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "26428:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "26427:9:129" - }, - "scope": 77611, - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "id": 76592, - "nodeType": "FunctionDefinition", - "src": "26519:145:129", - "nodes": [], - "body": { - "id": 76591, - "nodeType": "Block", - "src": "26605:59:129", - "nodes": [], - "statements": [ - { - "expression": { - "expression": { - "baseExpression": { - "id": 76586, - "name": "proposals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75022, - "src": "26622:9:129", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Proposal_$74776_storage_$", - "typeString": "mapping(uint256 => struct StrategyStruct.Proposal storage ref)" - } - }, - "id": 76588, - "indexExpression": { - "id": 76587, - "name": "_proposalId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76581, - "src": "26632:11:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "26622:22:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage", - "typeString": "struct StrategyStruct.Proposal storage ref" - } - }, - "id": 76589, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "26645:12:129", - "memberName": "stakedAmount", - "nodeType": "MemberAccess", - "referencedDeclaration": 74755, - "src": "26622:35:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 76585, - "id": 76590, - "nodeType": "Return", - "src": "26615:42:129" - } - ] - }, - "functionSelector": "dc96ff2d", - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getProposalStakedAmount", - "nameLocation": "26528:23:129", - "parameters": { - "id": 76582, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 76581, - "mutability": "mutable", - "name": "_proposalId", - "nameLocation": "26560:11:129", - "nodeType": "VariableDeclaration", - "scope": 76592, - "src": "26552:19:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 76580, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "26552:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "26551:21:129" - }, - "returnParameters": { - "id": 76585, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 76584, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 76592, - "src": "26596:7:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 76583, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "26596:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "26595:9:129" - }, - "scope": 77611, - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "id": 76604, - "nodeType": "FunctionDefinition", - "src": "26733:127:129", - "nodes": [], - "body": { - "id": 76603, - "nodeType": "Block", - "src": "26810:50:129", - "nodes": [], - "statements": [ - { - "expression": { - "baseExpression": { - "id": 76599, - "name": "totalVoterStakePct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75026, - "src": "26827:18:129", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 76601, - "indexExpression": { - "id": 76600, - "name": "_voter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76594, - "src": "26846:6:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "26827:26:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 76598, - "id": 76602, - "nodeType": "Return", - "src": "26820:33:129" - } - ] - }, - "functionSelector": "bcc5b93b", - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getTotalVoterStakePct", - "nameLocation": "26742:21:129", - "parameters": { - "id": 76595, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 76594, - "mutability": "mutable", - "name": "_voter", - "nameLocation": "26772:6:129", - "nodeType": "VariableDeclaration", - "scope": 76604, - "src": "26764:14:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 76593, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "26764:7:129", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "26763:16:129" - }, - "returnParameters": { - "id": 76598, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 76597, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 76604, - "src": "26801:7:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 76596, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "26801:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "26800:9:129" - }, - "scope": 77611, - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "id": 76621, - "nodeType": "FunctionDefinition", - "src": "26866:182:129", - "nodes": [], - "body": { - "id": 76620, - "nodeType": "Block", - "src": "26976:72:129", - "nodes": [], - "statements": [ - { - "expression": { - "baseExpression": { - "expression": { - "baseExpression": { - "id": 76613, - "name": "proposals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75022, - "src": "26993:9:129", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Proposal_$74776_storage_$", - "typeString": "mapping(uint256 => struct StrategyStruct.Proposal storage ref)" - } - }, - "id": 76615, - "indexExpression": { - "id": 76614, - "name": "_proposalId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76606, - "src": "27003:11:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "26993:22:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage", - "typeString": "struct StrategyStruct.Proposal storage ref" - } - }, - "id": 76616, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "27016:17:129", - "memberName": "voterStakedPoints", - "nodeType": "MemberAccess", - "referencedDeclaration": 74772, - "src": "26993:40:129", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 76618, - "indexExpression": { - "id": 76617, - "name": "_voter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76608, - "src": "27034:6:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "26993:48:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 76612, - "id": 76619, - "nodeType": "Return", - "src": "26986:55:129" - } - ] - }, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_internal_getProposalVoterStake", - "nameLocation": "26875:31:129", - "parameters": { - "id": 76609, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 76606, - "mutability": "mutable", - "name": "_proposalId", - "nameLocation": "26915:11:129", - "nodeType": "VariableDeclaration", - "scope": 76621, - "src": "26907:19:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 76605, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "26907:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 76608, - "mutability": "mutable", - "name": "_voter", - "nameLocation": "26936:6:129", - "nodeType": "VariableDeclaration", - "scope": 76621, - "src": "26928:14:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 76607, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "26928:7:129", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "26906:37:129" - }, - "returnParameters": { - "id": 76612, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 76611, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 76621, - "src": "26967:7:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 76610, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "26967:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "26966:9:129" - }, - "scope": 77611, - "stateMutability": "view", - "virtual": false, - "visibility": "internal" - }, - { - "id": 76631, - "nodeType": "FunctionDefinition", - "src": "27054:145:129", - "nodes": [], - "body": { - "id": 76630, - "nodeType": "Block", - "src": "27118:81:129", - "nodes": [], - "statements": [ - { - "expression": { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "id": 76626, - "name": "registryCommunity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75014, - "src": "27135:17:129", - "typeDescriptions": { - "typeIdentifier": "t_contract$_RegistryCommunity_$83082", - "typeString": "contract RegistryCommunity" - } - }, - "id": 76627, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "27153:20:129", - "memberName": "getBasisStakedAmount", - "nodeType": "MemberAccess", - "referencedDeclaration": 82879, - "src": "27135:38:129", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", - "typeString": "function () view external returns (uint256)" - } - }, - "id": 76628, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "27135:40:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 76625, - "id": 76629, - "nodeType": "Return", - "src": "27128:47:129" - } - ] - }, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getBasisStakedAmount", - "nameLocation": "27063:20:129", - "parameters": { - "id": 76622, - "nodeType": "ParameterList", - "parameters": [], - "src": "27083:2:129" - }, - "returnParameters": { - "id": 76625, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 76624, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 76631, - "src": "27109:7:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 76623, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "27109:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "27108:9:129" - }, - "scope": 77611, - "stateMutability": "view", - "virtual": false, - "visibility": "internal" - }, - { - "id": 76656, - "nodeType": "FunctionDefinition", - "src": "27205:185:129", - "nodes": [], - "body": { - "id": 76655, - "nodeType": "Block", - "src": "27279:111:129", - "nodes": [], - "statements": [ - { - "expression": { - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 76653, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 76643, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "baseExpression": { - "id": 76638, - "name": "proposals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75022, - "src": "27296:9:129", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Proposal_$74776_storage_$", - "typeString": "mapping(uint256 => struct StrategyStruct.Proposal storage ref)" - } - }, - "id": 76640, - "indexExpression": { - "id": 76639, - "name": "_proposalID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76633, - "src": "27306:11:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "27296:22:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage", - "typeString": "struct StrategyStruct.Proposal storage ref" - } - }, - "id": 76641, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "27319:10:129", - "memberName": "proposalId", - "nodeType": "MemberAccess", - "referencedDeclaration": 74751, - "src": "27296:33:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "hexValue": "30", - "id": 76642, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "27332:1:129", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "27296:37:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 76652, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "baseExpression": { - "id": 76644, - "name": "proposals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75022, - "src": "27337:9:129", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Proposal_$74776_storage_$", - "typeString": "mapping(uint256 => struct StrategyStruct.Proposal storage ref)" - } - }, - "id": 76646, - "indexExpression": { - "id": 76645, - "name": "_proposalID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76633, - "src": "27347:11:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "27337:22:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage", - "typeString": "struct StrategyStruct.Proposal storage ref" - } - }, - "id": 76647, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "27360:9:129", - "memberName": "submitter", - "nodeType": "MemberAccess", - "referencedDeclaration": 74761, - "src": "27337:32:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "arguments": [ - { - "hexValue": "30", - "id": 76650, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "27381:1:129", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 76649, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "27373:7:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 76648, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "27373:7:129", - "typeDescriptions": {} - } - }, - "id": 76651, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "27373:10:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "27337:46:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "27296:87:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 76637, - "id": 76654, - "nodeType": "Return", - "src": "27289:94:129" - } - ] - }, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "proposalExists", - "nameLocation": "27214:14:129", - "parameters": { - "id": 76634, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 76633, - "mutability": "mutable", - "name": "_proposalID", - "nameLocation": "27237:11:129", - "nodeType": "VariableDeclaration", - "scope": 76656, - "src": "27229:19:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 76632, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "27229:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "27228:21:129" - }, - "returnParameters": { - "id": 76637, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 76636, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 76656, - "src": "27273:4:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 76635, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "27273:4:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "27272:6:129" - }, - "scope": 77611, - "stateMutability": "view", - "virtual": false, - "visibility": "internal" - }, - { - "id": 76674, - "nodeType": "FunctionDefinition", - "src": "27396:174:129", - "nodes": [], - "body": { - "id": 76673, - "nodeType": "Block", - "src": "27491:79:129", - "nodes": [], - "statements": [ - { - "expression": { - "id": 76671, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 76663, - "name": "isOverMaxRatio", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76661, - "src": "27501:14:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 76670, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 76666, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 76664, - "name": "maxRatio", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74988, - "src": "27518:8:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "id": 76665, - "name": "poolAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3343, - "src": "27529:10:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "27518:21:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 76669, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 76667, - "name": "_requestedAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76658, - "src": "27543:16:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "id": 76668, - "name": "D", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74972, - "src": "27562:1:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "27543:20:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "27518:45:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "27501:62:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 76672, - "nodeType": "ExpressionStatement", - "src": "27501:62:129" - } - ] - }, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_isOverMaxRatio", - "nameLocation": "27405:15:129", - "parameters": { - "id": 76659, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 76658, - "mutability": "mutable", - "name": "_requestedAmount", - "nameLocation": "27429:16:129", - "nodeType": "VariableDeclaration", - "scope": 76674, - "src": "27421:24:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 76657, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "27421:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "27420:26:129" - }, - "returnParameters": { - "id": 76662, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 76661, - "mutability": "mutable", - "name": "isOverMaxRatio", - "nameLocation": "27475:14:129", - "nodeType": "VariableDeclaration", - "scope": 76674, - "src": "27470:19:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 76660, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "27470:4:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "27469:21:129" - }, - "scope": 77611, - "stateMutability": "view", - "virtual": false, - "visibility": "internal" - }, - { - "id": 76770, - "nodeType": "FunctionDefinition", - "src": "27576:1548:129", - "nodes": [], - "body": { - "id": 76769, - "nodeType": "Block", - "src": "27706:1418:129", - "nodes": [], - "statements": [ - { - "assignments": [ - 76684 - ], - "declarations": [ - { - "constant": false, - "id": 76684, - "mutability": "mutable", - "name": "deltaSupportSum", - "nameLocation": "27723:15:129", - "nodeType": "VariableDeclaration", - "scope": 76769, - "src": "27716:22:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - }, - "typeName": { - "id": 76683, - "name": "int256", - "nodeType": "ElementaryTypeName", - "src": "27716:6:129", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - }, - "visibility": "internal" - } - ], - "id": 76686, - "initialValue": { - "hexValue": "30", - "id": 76685, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "27741:1:129", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "27716:26:129" - }, - { - "body": { - "id": 76731, - "nodeType": "Block", - "src": "27806:576:129", - "statements": [ - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 76703, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "baseExpression": { - "id": 76698, - "name": "_proposalSupport", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76680, - "src": "27879:16:129", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_ProposalSupport_$74781_memory_ptr_$dyn_memory_ptr", - "typeString": "struct StrategyStruct.ProposalSupport memory[] memory" - } - }, - "id": 76700, - "indexExpression": { - "id": 76699, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76688, - "src": "27896:1:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "27879:19:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ProposalSupport_$74781_memory_ptr", - "typeString": "struct StrategyStruct.ProposalSupport memory" - } - }, - "id": 76701, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "27899:10:129", - "memberName": "proposalId", - "nodeType": "MemberAccess", - "referencedDeclaration": 74778, - "src": "27879:30:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "hexValue": "30", - "id": 76702, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "27913:1:129", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "27879:35:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 76706, - "nodeType": "IfStatement", - "src": "27875:187:129", - "trueBody": { - "id": 76705, - "nodeType": "Block", - "src": "27916:146:129", - "statements": [ - { - "id": 76704, - "nodeType": "Continue", - "src": "28039:8:129" - } - ] - } - }, - { - "assignments": [ - 76708 - ], - "declarations": [ - { - "constant": false, - "id": 76708, - "mutability": "mutable", - "name": "proposalId", - "nameLocation": "28083:10:129", - "nodeType": "VariableDeclaration", - "scope": 76731, - "src": "28075:18:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 76707, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "28075:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 76713, - "initialValue": { - "expression": { - "baseExpression": { - "id": 76709, - "name": "_proposalSupport", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76680, - "src": "28096:16:129", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_ProposalSupport_$74781_memory_ptr_$dyn_memory_ptr", - "typeString": "struct StrategyStruct.ProposalSupport memory[] memory" - } - }, - "id": 76711, - "indexExpression": { - "id": 76710, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76688, - "src": "28113:1:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "28096:19:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ProposalSupport_$74781_memory_ptr", - "typeString": "struct StrategyStruct.ProposalSupport memory" - } - }, - "id": 76712, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "28116:10:129", - "memberName": "proposalId", - "nodeType": "MemberAccess", - "referencedDeclaration": 74778, - "src": "28096:30:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "28075:51:129" - }, - { - "condition": { - "id": 76717, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "28144:27:129", - "subExpression": { - "arguments": [ - { - "id": 76715, - "name": "proposalId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76708, - "src": "28160:10:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 76714, - "name": "proposalExists", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76656, - "src": "28145:14:129", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) view returns (bool)" - } - }, - "id": 76716, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "28145:26:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 76723, - "nodeType": "IfStatement", - "src": "28140:167:129", - "trueBody": { - "id": 76722, - "nodeType": "Block", - "src": "28173:134:129", - "statements": [ - { - "errorCall": { - "arguments": [ - { - "id": 76719, - "name": "proposalId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76708, - "src": "28216:10:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 76718, - "name": "ProposalNotInList", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74868, - "src": "28198:17:129", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$_t_uint256_$returns$__$", - "typeString": "function (uint256) pure" - } - }, - "id": 76720, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "28198:29:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 76721, - "nodeType": "RevertStatement", - "src": "28191:36:129" - } - ] - } - }, - { - "expression": { - "id": 76729, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 76724, - "name": "deltaSupportSum", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76684, - "src": "28320:15:129", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "expression": { - "baseExpression": { - "id": 76725, - "name": "_proposalSupport", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76680, - "src": "28339:16:129", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_ProposalSupport_$74781_memory_ptr_$dyn_memory_ptr", - "typeString": "struct StrategyStruct.ProposalSupport memory[] memory" - } - }, - "id": 76727, - "indexExpression": { - "id": 76726, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76688, - "src": "28356:1:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "28339:19:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ProposalSupport_$74781_memory_ptr", - "typeString": "struct StrategyStruct.ProposalSupport memory" - } - }, - "id": 76728, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "28359:12:129", - "memberName": "deltaSupport", - "nodeType": "MemberAccess", - "referencedDeclaration": 74780, - "src": "28339:32:129", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - }, - "src": "28320:51:129", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - }, - "id": 76730, - "nodeType": "ExpressionStatement", - "src": "28320:51:129" - } - ] - }, - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 76694, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 76691, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76688, - "src": "27772:1:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "expression": { - "id": 76692, - "name": "_proposalSupport", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76680, - "src": "27776:16:129", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_ProposalSupport_$74781_memory_ptr_$dyn_memory_ptr", - "typeString": "struct StrategyStruct.ProposalSupport memory[] memory" - } - }, - "id": 76693, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "27793:6:129", - "memberName": "length", - "nodeType": "MemberAccess", - "src": "27776:23:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "27772:27:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 76732, - "initializationExpression": { - "assignments": [ - 76688 - ], - "declarations": [ - { - "constant": false, - "id": 76688, - "mutability": "mutable", - "name": "i", - "nameLocation": "27765:1:129", - "nodeType": "VariableDeclaration", - "scope": 76732, - "src": "27757:9:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 76687, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "27757:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 76690, - "initialValue": { - "hexValue": "30", - "id": 76689, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "27769:1:129", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "27757:13:129" - }, - "loopExpression": { - "expression": { - "id": 76696, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "27801:3:129", - "subExpression": { - "id": 76695, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76688, - "src": "27801:1:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 76697, - "nodeType": "ExpressionStatement", - "src": "27801:3:129" - }, - "nodeType": "ForStatement", - "src": "27752:630:129" - }, - { - "assignments": [ - 76734 - ], - "declarations": [ - { - "constant": false, - "id": 76734, - "mutability": "mutable", - "name": "newTotalVotingSupport", - "nameLocation": "28486:21:129", - "nodeType": "VariableDeclaration", - "scope": 76769, - "src": "28478:29:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 76733, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "28478:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 76741, - "initialValue": { - "arguments": [ - { - "arguments": [ - { - "id": 76737, - "name": "_sender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76676, - "src": "28544:7:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 76736, - "name": "getTotalVoterStakePct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76604, - "src": "28522:21:129", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view returns (uint256)" - } - }, - "id": 76738, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "28522:30:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 76739, - "name": "deltaSupportSum", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76684, - "src": "28554:15:129", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - ], - "id": 76735, - "name": "_applyDelta", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77092, - "src": "28510:11:129", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_int256_$returns$_t_uint256_$", - "typeString": "function (uint256,int256) pure returns (uint256)" - } - }, - "id": 76740, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "28510:60:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "28478:92:129" - }, - { - "assignments": [ - 76743 - ], - "declarations": [ - { - "constant": false, - "id": 76743, - "mutability": "mutable", - "name": "participantBalance", - "nameLocation": "28660:18:129", - "nodeType": "VariableDeclaration", - "scope": 76769, - "src": "28652:26:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 76742, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "28652:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 76752, - "initialValue": { - "arguments": [ - { - "id": 76746, - "name": "_sender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76676, - "src": "28724:7:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "arguments": [ - { - "id": 76749, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "28741:4:129", - "typeDescriptions": { - "typeIdentifier": "t_contract$_CVStrategy_$77611", - "typeString": "contract CVStrategy" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_CVStrategy_$77611", - "typeString": "contract CVStrategy" - } - ], - "id": 76748, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "28733:7:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 76747, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "28733:7:129", - "typeDescriptions": {} - } - }, - "id": 76750, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "28733:13:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "id": 76744, - "name": "registryCommunity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75014, - "src": "28681:17:129", - "typeDescriptions": { - "typeIdentifier": "t_contract$_RegistryCommunity_$83082", - "typeString": "contract RegistryCommunity" - } - }, - "id": 76745, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "28699:24:129", - "memberName": "getMemberPowerInStrategy", - "nodeType": "MemberAccess", - "referencedDeclaration": 82423, - "src": "28681:42:129", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$", - "typeString": "function (address,address) view external returns (uint256)" - } - }, - "id": 76751, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "28681:66:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "28652:95:129" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 76755, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 76753, - "name": "newTotalVotingSupport", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76734, - "src": "28913:21:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "id": 76754, - "name": "participantBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76743, - "src": "28937:18:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "28913:42:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 76762, - "nodeType": "IfStatement", - "src": "28909:147:129", - "trueBody": { - "id": 76761, - "nodeType": "Block", - "src": "28957:99:129", - "statements": [ - { - "errorCall": { - "arguments": [ - { - "id": 76757, - "name": "newTotalVotingSupport", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76734, - "src": "29003:21:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 76758, - "name": "participantBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76743, - "src": "29026:18:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 76756, - "name": "NotEnoughPointsToSupport", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74856, - "src": "28978:24:129", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (uint256,uint256) pure" - } - }, - "id": 76759, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "28978:67:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 76760, - "nodeType": "RevertStatement", - "src": "28971:74:129" - } - ] - } - }, - { - "expression": { - "id": 76767, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "id": 76763, - "name": "totalVoterStakePct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75026, - "src": "29066:18:129", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 76765, - "indexExpression": { - "id": 76764, - "name": "_sender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76676, - "src": "29085:7:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "29066:27:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 76766, - "name": "newTotalVotingSupport", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76734, - "src": "29096:21:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "29066:51:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 76768, - "nodeType": "ExpressionStatement", - "src": "29066:51:129" - } - ] - }, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_check_before_addSupport", - "nameLocation": "27585:24:129", - "parameters": { - "id": 76681, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 76676, - "mutability": "mutable", - "name": "_sender", - "nameLocation": "27618:7:129", - "nodeType": "VariableDeclaration", - "scope": 76770, - "src": "27610:15:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 76675, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "27610:7:129", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 76680, - "mutability": "mutable", - "name": "_proposalSupport", - "nameLocation": "27667:16:129", - "nodeType": "VariableDeclaration", - "scope": 76770, - "src": "27627:56:129", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_ProposalSupport_$74781_memory_ptr_$dyn_memory_ptr", - "typeString": "struct StrategyStruct.ProposalSupport[]" - }, - "typeName": { - "baseType": { - "id": 76678, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 76677, - "name": "StrategyStruct.ProposalSupport", - "nameLocations": [ - "27627:14:129", - "27642:15:129" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 74781, - "src": "27627:30:129" - }, - "referencedDeclaration": 74781, - "src": "27627:30:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ProposalSupport_$74781_storage_ptr", - "typeString": "struct StrategyStruct.ProposalSupport" - } - }, - "id": 76679, - "nodeType": "ArrayTypeName", - "src": "27627:32:129", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_ProposalSupport_$74781_storage_$dyn_storage_ptr", - "typeString": "struct StrategyStruct.ProposalSupport[]" - } - }, - "visibility": "internal" - } - ], - "src": "27609:75:129" - }, - "returnParameters": { - "id": 76682, - "nodeType": "ParameterList", - "parameters": [], - "src": "27706:0:129" - }, - "scope": 77611, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "id": 77057, - "nodeType": "FunctionDefinition", - "src": "29130:3479:129", - "nodes": [], - "body": { - "id": 77056, - "nodeType": "Block", - "src": "29235:3374:129", - "nodes": [], - "statements": [ - { - "assignments": [ - 76783 - ], - "declarations": [ - { - "constant": false, - "id": 76783, - "mutability": "mutable", - "name": "proposalsIds", - "nameLocation": "29262:12:129", - "nodeType": "VariableDeclaration", - "scope": 77056, - "src": "29245:29:129", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 76781, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "29245:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 76782, - "nodeType": "ArrayTypeName", - "src": "29245:9:129", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "visibility": "internal" - } - ], - "id": 76784, - "nodeType": "VariableDeclarationStatement", - "src": "29245:29:129" - }, - { - "body": { - "id": 77054, - "nodeType": "Block", - "src": "29338:3265:129", - "statements": [ - { - "assignments": [ - 76797 - ], - "declarations": [ - { - "constant": false, - "id": 76797, - "mutability": "mutable", - "name": "proposalId", - "nameLocation": "29360:10:129", - "nodeType": "VariableDeclaration", - "scope": 77054, - "src": "29352:18:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 76796, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "29352:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 76802, - "initialValue": { - "expression": { - "baseExpression": { - "id": 76798, - "name": "_proposalSupport", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76776, - "src": "29373:16:129", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_ProposalSupport_$74781_memory_ptr_$dyn_memory_ptr", - "typeString": "struct StrategyStruct.ProposalSupport memory[] memory" - } - }, - "id": 76800, - "indexExpression": { - "id": 76799, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76786, - "src": "29390:1:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "29373:19:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ProposalSupport_$74781_memory_ptr", - "typeString": "struct StrategyStruct.ProposalSupport memory" - } - }, - "id": 76801, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "29393:10:129", - "memberName": "proposalId", - "nodeType": "MemberAccess", - "referencedDeclaration": 74778, - "src": "29373:30:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "29352:51:129" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 76806, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 76803, - "name": "proposalsIds", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76783, - "src": "29476:12:129", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 76804, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "29489:6:129", - "memberName": "length", - "nodeType": "MemberAccess", - "src": "29476:19:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "hexValue": "30", - "id": 76805, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "29499:1:129", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "29476:24:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 76905, - "nodeType": "Block", - "src": "29628:764:129", - "statements": [ - { - "assignments": [ - 76823 - ], - "declarations": [ - { - "constant": false, - "id": 76823, - "mutability": "mutable", - "name": "exist", - "nameLocation": "29651:5:129", - "nodeType": "VariableDeclaration", - "scope": 76905, - "src": "29646:10:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 76822, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "29646:4:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "id": 76825, - "initialValue": { - "hexValue": "66616c7365", - "id": 76824, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "29659:5:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "nodeType": "VariableDeclarationStatement", - "src": "29646:18:129" - }, - { - "body": { - "id": 76853, - "nodeType": "Block", - "src": "29732:268:129", - "statements": [ - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 76841, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "baseExpression": { - "id": 76837, - "name": "proposalsIds", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76783, - "src": "29783:12:129", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 76839, - "indexExpression": { - "id": 76838, - "name": "j", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76827, - "src": "29796:1:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "29783:15:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "id": 76840, - "name": "proposalId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76797, - "src": "29802:10:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "29783:29:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 76852, - "nodeType": "IfStatement", - "src": "29779:203:129", - "trueBody": { - "id": 76851, - "nodeType": "Block", - "src": "29814:168:129", - "statements": [ - { - "expression": { - "id": 76844, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 76842, - "name": "exist", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76823, - "src": "29840:5:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "hexValue": "74727565", - "id": 76843, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "29848:4:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "29840:12:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 76845, - "nodeType": "ExpressionStatement", - "src": "29840:12:129" - }, - { - "errorCall": { - "arguments": [ - { - "id": 76847, - "name": "proposalId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76797, - "src": "29911:10:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 76848, - "name": "j", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76827, - "src": "29923:1:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 76846, - "name": "ProposalSupportDuplicated", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74874, - "src": "29885:25:129", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (uint256,uint256) pure" - } - }, - "id": 76849, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "29885:40:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 76850, - "nodeType": "RevertStatement", - "src": "29878:47:129" - } - ] - } - } - ] - }, - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 76833, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 76830, - "name": "j", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76827, - "src": "29702:1:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "expression": { - "id": 76831, - "name": "proposalsIds", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76783, - "src": "29706:12:129", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 76832, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "29719:6:129", - "memberName": "length", - "nodeType": "MemberAccess", - "src": "29706:19:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "29702:23:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 76854, - "initializationExpression": { - "assignments": [ - 76827 - ], - "declarations": [ - { - "constant": false, - "id": 76827, - "mutability": "mutable", - "name": "j", - "nameLocation": "29695:1:129", - "nodeType": "VariableDeclaration", - "scope": 76854, - "src": "29687:9:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 76826, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "29687:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 76829, - "initialValue": { - "hexValue": "30", - "id": 76828, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "29699:1:129", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "29687:13:129" - }, - "loopExpression": { - "expression": { - "id": 76835, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "29727:3:129", - "subExpression": { - "id": 76834, - "name": "j", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76827, - "src": "29727:1:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 76836, - "nodeType": "ExpressionStatement", - "src": "29727:3:129" - }, - "nodeType": "ForStatement", - "src": "29682:318:129" - }, - { - "condition": { - "id": 76856, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "30021:6:129", - "subExpression": { - "id": 76855, - "name": "exist", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76823, - "src": "30022:5:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 76904, - "nodeType": "IfStatement", - "src": "30017:361:129", - "trueBody": { - "id": 76903, - "nodeType": "Block", - "src": "30029:349:129", - "statements": [ - { - "assignments": [ - 76861 - ], - "declarations": [ - { - "constant": false, - "id": 76861, - "mutability": "mutable", - "name": "temp", - "nameLocation": "30068:4:129", - "nodeType": "VariableDeclaration", - "scope": 76903, - "src": "30051:21:129", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 76859, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "30051:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 76860, - "nodeType": "ArrayTypeName", - "src": "30051:9:129", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "visibility": "internal" - } - ], - "id": 76870, - "initialValue": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 76868, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 76865, - "name": "proposalsIds", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76783, - "src": "30089:12:129", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 76866, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "30102:6:129", - "memberName": "length", - "nodeType": "MemberAccess", - "src": "30089:19:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "hexValue": "31", - "id": 76867, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "30111:1:129", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "30089:23:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 76864, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "30075:13:129", - "typeDescriptions": { - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "function (uint256) pure returns (uint256[] memory)" - }, - "typeName": { - "baseType": { - "id": 76862, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "30079:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 76863, - "nodeType": "ArrayTypeName", - "src": "30079:9:129", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - } - }, - "id": 76869, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "30075:38:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "30051:62:129" - }, - { - "body": { - "id": 76890, - "nodeType": "Block", - "src": "30185:74:129", - "statements": [ - { - "expression": { - "id": 76888, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "id": 76882, - "name": "temp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76861, - "src": "30211:4:129", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 76884, - "indexExpression": { - "id": 76883, - "name": "j", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76872, - "src": "30216:1:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "30211:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "baseExpression": { - "id": 76885, - "name": "proposalsIds", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76783, - "src": "30221:12:129", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 76887, - "indexExpression": { - "id": 76886, - "name": "j", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76872, - "src": "30234:1:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "30221:15:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "30211:25:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 76889, - "nodeType": "ExpressionStatement", - "src": "30211:25:129" - } - ] - }, - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 76878, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 76875, - "name": "j", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76872, - "src": "30155:1:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "expression": { - "id": 76876, - "name": "proposalsIds", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76783, - "src": "30159:12:129", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 76877, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "30172:6:129", - "memberName": "length", - "nodeType": "MemberAccess", - "src": "30159:19:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "30155:23:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 76891, - "initializationExpression": { - "assignments": [ - 76872 - ], - "declarations": [ - { - "constant": false, - "id": 76872, - "mutability": "mutable", - "name": "j", - "nameLocation": "30148:1:129", - "nodeType": "VariableDeclaration", - "scope": 76891, - "src": "30140:9:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 76871, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "30140:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 76874, - "initialValue": { - "hexValue": "30", - "id": 76873, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "30152:1:129", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "30140:13:129" - }, - "loopExpression": { - "expression": { - "id": 76880, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "30180:3:129", - "subExpression": { - "id": 76879, - "name": "j", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76872, - "src": "30180:1:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 76881, - "nodeType": "ExpressionStatement", - "src": "30180:3:129" - }, - "nodeType": "ForStatement", - "src": "30135:124:129" - }, - { - "expression": { - "id": 76897, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "id": 76892, - "name": "temp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76861, - "src": "30280:4:129", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 76895, - "indexExpression": { - "expression": { - "id": 76893, - "name": "proposalsIds", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76783, - "src": "30285:12:129", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 76894, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "30298:6:129", - "memberName": "length", - "nodeType": "MemberAccess", - "src": "30285:19:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "30280:25:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 76896, - "name": "proposalId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76797, - "src": "30308:10:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "30280:38:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 76898, - "nodeType": "ExpressionStatement", - "src": "30280:38:129" - }, - { - "expression": { - "id": 76901, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 76899, - "name": "proposalsIds", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76783, - "src": "30340:12:129", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 76900, - "name": "temp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76861, - "src": "30355:4:129", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "src": "30340:19:129", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 76902, - "nodeType": "ExpressionStatement", - "src": "30340:19:129" - } - ] - } - } - ] - }, - "id": 76906, - "nodeType": "IfStatement", - "src": "29472:920:129", - "trueBody": { - "id": 76821, - "nodeType": "Block", - "src": "29502:120:129", - "statements": [ - { - "expression": { - "id": 76813, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 76807, - "name": "proposalsIds", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76783, - "src": "29520:12:129", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "hexValue": "31", - "id": 76811, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "29549:1:129", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - } - ], - "id": 76810, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "29535:13:129", - "typeDescriptions": { - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "function (uint256) pure returns (uint256[] memory)" - }, - "typeName": { - "baseType": { - "id": 76808, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "29539:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 76809, - "nodeType": "ArrayTypeName", - "src": "29539:9:129", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - } - }, - "id": 76812, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "29535:16:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "src": "29520:31:129", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 76814, - "nodeType": "ExpressionStatement", - "src": "29520:31:129" - }, - { - "expression": { - "id": 76819, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "id": 76815, - "name": "proposalsIds", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76783, - "src": "29569:12:129", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 76817, - "indexExpression": { - "hexValue": "30", - "id": 76816, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "29582:1:129", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "29569:15:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 76818, - "name": "proposalId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76797, - "src": "29587:10:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "29569:28:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 76820, - "nodeType": "ExpressionStatement", - "src": "29569:28:129" - } - ] - } - }, - { - "assignments": [ - 76908 - ], - "declarations": [ - { - "constant": false, - "id": 76908, - "mutability": "mutable", - "name": "delta", - "nameLocation": "30412:5:129", - "nodeType": "VariableDeclaration", - "scope": 77054, - "src": "30405:12:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - }, - "typeName": { - "id": 76907, - "name": "int256", - "nodeType": "ElementaryTypeName", - "src": "30405:6:129", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - }, - "visibility": "internal" - } - ], - "id": 76913, - "initialValue": { - "expression": { - "baseExpression": { - "id": 76909, - "name": "_proposalSupport", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76776, - "src": "30420:16:129", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_ProposalSupport_$74781_memory_ptr_$dyn_memory_ptr", - "typeString": "struct StrategyStruct.ProposalSupport memory[] memory" - } - }, - "id": 76911, - "indexExpression": { - "id": 76910, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76786, - "src": "30437:1:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "30420:19:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ProposalSupport_$74781_memory_ptr", - "typeString": "struct StrategyStruct.ProposalSupport memory" - } - }, - "id": 76912, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "30440:12:129", - "memberName": "deltaSupport", - "nodeType": "MemberAccess", - "referencedDeclaration": 74780, - "src": "30420:32:129", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "30405:47:129" - }, - { - "assignments": [ - 76918 - ], - "declarations": [ - { - "constant": false, - "id": 76918, - "mutability": "mutable", - "name": "proposal", - "nameLocation": "30499:8:129", - "nodeType": "VariableDeclaration", - "scope": 77054, - "src": "30467:40:129", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal" - }, - "typeName": { - "id": 76917, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 76916, - "name": "StrategyStruct.Proposal", - "nameLocations": [ - "30467:14:129", - "30482:8:129" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 74776, - "src": "30467:23:129" - }, - "referencedDeclaration": 74776, - "src": "30467:23:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal" - } - }, - "visibility": "internal" - } - ], - "id": 76922, - "initialValue": { - "baseExpression": { - "id": 76919, - "name": "proposals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75022, - "src": "30510:9:129", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Proposal_$74776_storage_$", - "typeString": "mapping(uint256 => struct StrategyStruct.Proposal storage ref)" - } - }, - "id": 76921, - "indexExpression": { - "id": 76920, - "name": "proposalId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76797, - "src": "30520:10:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "30510:21:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage", - "typeString": "struct StrategyStruct.Proposal storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "30467:64:129" - }, - { - "assignments": [ - 76924 - ], - "declarations": [ - { - "constant": false, - "id": 76924, - "mutability": "mutable", - "name": "previousStakedPoints", - "nameLocation": "30641:20:129", - "nodeType": "VariableDeclaration", - "scope": 77054, - "src": "30633:28:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 76923, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "30633:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 76929, - "initialValue": { - "baseExpression": { - "expression": { - "id": 76925, - "name": "proposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76918, - "src": "30664:8:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal storage pointer" - } - }, - "id": 76926, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "30673:17:129", - "memberName": "voterStakedPoints", - "nodeType": "MemberAccess", - "referencedDeclaration": 74772, - "src": "30664:26:129", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 76928, - "indexExpression": { - "id": 76927, - "name": "_sender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76772, - "src": "30691:7:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "30664:35:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "30633:66:129" - }, - { - "assignments": [ - 76931 - ], - "declarations": [ - { - "constant": false, - "id": 76931, - "mutability": "mutable", - "name": "stakedPoints", - "nameLocation": "30872:12:129", - "nodeType": "VariableDeclaration", - "scope": 77054, - "src": "30864:20:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 76930, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "30864:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 76936, - "initialValue": { - "arguments": [ - { - "id": 76933, - "name": "previousStakedPoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76924, - "src": "30899:20:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 76934, - "name": "delta", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76908, - "src": "30921:5:129", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - ], - "id": 76932, - "name": "_applyDelta", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77092, - "src": "30887:11:129", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_int256_$returns$_t_uint256_$", - "typeString": "function (uint256,int256) pure returns (uint256)" - } - }, - "id": 76935, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "30887:40:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "30864:63:129" - }, - { - "expression": { - "id": 76943, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "expression": { - "id": 76937, - "name": "proposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76918, - "src": "31062:8:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal storage pointer" - } - }, - "id": 76940, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "31071:17:129", - "memberName": "voterStakedPoints", - "nodeType": "MemberAccess", - "referencedDeclaration": 74772, - "src": "31062:26:129", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 76941, - "indexExpression": { - "id": 76939, - "name": "_sender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76772, - "src": "31089:7:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "31062:35:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 76942, - "name": "stakedPoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76931, - "src": "31100:12:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "31062:50:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 76944, - "nodeType": "ExpressionStatement", - "src": "31062:50:129" - }, - { - "assignments": [ - 76946 - ], - "declarations": [ - { - "constant": false, - "id": 76946, - "mutability": "mutable", - "name": "hasProposal", - "nameLocation": "31351:11:129", - "nodeType": "VariableDeclaration", - "scope": 77054, - "src": "31346:16:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 76945, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "31346:4:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "id": 76948, - "initialValue": { - "hexValue": "66616c7365", - "id": 76947, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "31365:5:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "nodeType": "VariableDeclarationStatement", - "src": "31346:24:129" - }, - { - "body": { - "id": 76977, - "nodeType": "Block", - "src": "31451:179:129", - "statements": [ - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 76969, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "baseExpression": { - "baseExpression": { - "id": 76962, - "name": "voterStakedProposals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75031, - "src": "31473:20:129", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$", - "typeString": "mapping(address => uint256[] storage ref)" - } - }, - "id": 76964, - "indexExpression": { - "id": 76963, - "name": "_sender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76772, - "src": "31494:7:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "31473:29:129", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - } - }, - "id": 76966, - "indexExpression": { - "id": 76965, - "name": "k", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76950, - "src": "31503:1:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "31473:32:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "expression": { - "id": 76967, - "name": "proposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76918, - "src": "31509:8:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal storage pointer" - } - }, - "id": 76968, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "31518:10:129", - "memberName": "proposalId", - "nodeType": "MemberAccess", - "referencedDeclaration": 74751, - "src": "31509:19:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "31473:55:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 76976, - "nodeType": "IfStatement", - "src": "31469:147:129", - "trueBody": { - "id": 76975, - "nodeType": "Block", - "src": "31530:86:129", - "statements": [ - { - "expression": { - "id": 76972, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 76970, - "name": "hasProposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76946, - "src": "31552:11:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "hexValue": "74727565", - "id": 76971, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "31566:4:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "31552:18:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 76973, - "nodeType": "ExpressionStatement", - "src": "31552:18:129" - }, - { - "id": 76974, - "nodeType": "Break", - "src": "31592:5:129" - } - ] - } - } - ] - }, - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 76958, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 76953, - "name": "k", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76950, - "src": "31404:1:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "expression": { - "baseExpression": { - "id": 76954, - "name": "voterStakedProposals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75031, - "src": "31408:20:129", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$", - "typeString": "mapping(address => uint256[] storage ref)" - } - }, - "id": 76956, - "indexExpression": { - "id": 76955, - "name": "_sender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76772, - "src": "31429:7:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "31408:29:129", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - } - }, - "id": 76957, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "31438:6:129", - "memberName": "length", - "nodeType": "MemberAccess", - "src": "31408:36:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "31404:40:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 76978, - "initializationExpression": { - "assignments": [ - 76950 - ], - "declarations": [ - { - "constant": false, - "id": 76950, - "mutability": "mutable", - "name": "k", - "nameLocation": "31397:1:129", - "nodeType": "VariableDeclaration", - "scope": 76978, - "src": "31389:9:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 76949, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "31389:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 76952, - "initialValue": { - "hexValue": "30", - "id": 76951, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "31401:1:129", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "31389:13:129" - }, - "loopExpression": { - "expression": { - "id": 76960, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "31446:3:129", - "subExpression": { - "id": 76959, - "name": "k", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76950, - "src": "31446:1:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 76961, - "nodeType": "ExpressionStatement", - "src": "31446:3:129" - }, - "nodeType": "ForStatement", - "src": "31384:246:129" - }, - { - "condition": { - "id": 76980, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "31647:12:129", - "subExpression": { - "id": 76979, - "name": "hasProposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76946, - "src": "31648:11:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 76990, - "nodeType": "IfStatement", - "src": "31643:106:129", - "trueBody": { - "id": 76989, - "nodeType": "Block", - "src": "31661:88:129", - "statements": [ - { - "expression": { - "arguments": [ - { - "expression": { - "id": 76985, - "name": "proposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76918, - "src": "31714:8:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal storage pointer" - } - }, - "id": 76986, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "31723:10:129", - "memberName": "proposalId", - "nodeType": "MemberAccess", - "referencedDeclaration": 74751, - "src": "31714:19:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "baseExpression": { - "id": 76981, - "name": "voterStakedProposals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75031, - "src": "31679:20:129", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$", - "typeString": "mapping(address => uint256[] storage ref)" - } - }, - "id": 76983, - "indexExpression": { - "id": 76982, - "name": "_sender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76772, - "src": "31700:7:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "31679:29:129", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - } - }, - "id": 76984, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "31709:4:129", - "memberName": "push", - "nodeType": "MemberAccess", - "src": "31679:34:129", - "typeDescriptions": { - "typeIdentifier": "t_function_arraypush_nonpayable$_t_array$_t_uint256_$dyn_storage_ptr_$_t_uint256_$returns$__$attached_to$_t_array$_t_uint256_$dyn_storage_ptr_$", - "typeString": "function (uint256[] storage pointer,uint256)" - } - }, - "id": 76987, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "31679:55:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 76988, - "nodeType": "ExpressionStatement", - "src": "31679:55:129" - } - ] - } - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 76993, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 76991, - "name": "previousStakedPoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76924, - "src": "31904:20:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "id": 76992, - "name": "stakedPoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76931, - "src": "31928:12:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "31904:36:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 77023, - "nodeType": "Block", - "src": "32109:161:129", - "statements": [ - { - "expression": { - "id": 77013, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 77009, - "name": "totalStaked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74995, - "src": "32127:11:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "-=", - "rightHandSide": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 77012, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 77010, - "name": "previousStakedPoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76924, - "src": "32142:20:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "id": 77011, - "name": "stakedPoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76931, - "src": "32165:12:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "32142:35:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "32127:50:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 77014, - "nodeType": "ExpressionStatement", - "src": "32127:50:129" - }, - { - "expression": { - "id": 77021, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "expression": { - "id": 77015, - "name": "proposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76918, - "src": "32195:8:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal storage pointer" - } - }, - "id": 77017, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberLocation": "32204:12:129", - "memberName": "stakedAmount", - "nodeType": "MemberAccess", - "referencedDeclaration": 74755, - "src": "32195:21:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "-=", - "rightHandSide": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 77020, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 77018, - "name": "previousStakedPoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76924, - "src": "32220:20:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "id": 77019, - "name": "stakedPoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76931, - "src": "32243:12:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "32220:35:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "32195:60:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 77022, - "nodeType": "ExpressionStatement", - "src": "32195:60:129" - } - ] - }, - "id": 77024, - "nodeType": "IfStatement", - "src": "31900:370:129", - "trueBody": { - "id": 77008, - "nodeType": "Block", - "src": "31942:161:129", - "statements": [ - { - "expression": { - "id": 76998, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 76994, - "name": "totalStaked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74995, - "src": "31960:11:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 76997, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 76995, - "name": "stakedPoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76931, - "src": "31975:12:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "id": 76996, - "name": "previousStakedPoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76924, - "src": "31990:20:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "31975:35:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "31960:50:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 76999, - "nodeType": "ExpressionStatement", - "src": "31960:50:129" - }, - { - "expression": { - "id": 77006, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "expression": { - "id": 77000, - "name": "proposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76918, - "src": "32028:8:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal storage pointer" - } - }, - "id": 77002, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberLocation": "32037:12:129", - "memberName": "stakedAmount", - "nodeType": "MemberAccess", - "referencedDeclaration": 74755, - "src": "32028:21:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 77005, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 77003, - "name": "stakedPoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76931, - "src": "32053:12:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "id": 77004, - "name": "previousStakedPoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76924, - "src": "32068:20:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "32053:35:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "32028:60:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 77007, - "nodeType": "ExpressionStatement", - "src": "32028:60:129" - } - ] - } - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 77028, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 77025, - "name": "proposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76918, - "src": "32287:8:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal storage pointer" - } - }, - "id": 77026, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "32296:9:129", - "memberName": "blockLast", - "nodeType": "MemberAccess", - "referencedDeclaration": 74765, - "src": "32287:18:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "hexValue": "30", - "id": 77027, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "32309:1:129", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "32287:23:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 77052, - "nodeType": "Block", - "src": "32384:209:129", - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 77038, - "name": "proposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76918, - "src": "32429:8:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal storage pointer" - } - }, - { - "id": 77039, - "name": "previousStakedPoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76924, - "src": "32439:20:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal storage pointer" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 77037, - "name": "_calculateAndSetConviction", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77385, - "src": "32402:26:129", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Proposal_$74776_storage_ptr_$_t_uint256_$returns$__$", - "typeString": "function (struct StrategyStruct.Proposal storage pointer,uint256)" - } - }, - "id": 77040, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "32402:58:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 77041, - "nodeType": "ExpressionStatement", - "src": "32402:58:129" - }, - { - "eventCall": { - "arguments": [ - { - "id": 77043, - "name": "_sender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76772, - "src": "32496:7:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 77044, - "name": "proposalId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76797, - "src": "32505:10:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 77045, - "name": "stakedPoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76931, - "src": "32517:12:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "expression": { - "id": 77046, - "name": "proposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76918, - "src": "32531:8:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal storage pointer" - } - }, - "id": 77047, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "32540:12:129", - "memberName": "stakedAmount", - "nodeType": "MemberAccess", - "referencedDeclaration": 74755, - "src": "32531:21:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "expression": { - "id": 77048, - "name": "proposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76918, - "src": "32554:8:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal storage pointer" - } - }, - "id": 77049, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "32563:14:129", - "memberName": "convictionLast", - "nodeType": "MemberAccess", - "referencedDeclaration": 74757, - "src": "32554:23:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 77042, - "name": "SupportAdded", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74943, - "src": "32483:12:129", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256,uint256,uint256,uint256)" - } - }, - "id": 77050, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "32483:95:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 77051, - "nodeType": "EmitStatement", - "src": "32478:100:129" - } - ] - }, - "id": 77053, - "nodeType": "IfStatement", - "src": "32283:310:129", - "trueBody": { - "id": 77036, - "nodeType": "Block", - "src": "32312:66:129", - "statements": [ - { - "expression": { - "id": 77034, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "expression": { - "id": 77029, - "name": "proposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76918, - "src": "32330:8:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal storage pointer" - } - }, - "id": 77031, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberLocation": "32339:9:129", - "memberName": "blockLast", - "nodeType": "MemberAccess", - "referencedDeclaration": 74765, - "src": "32330:18:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "expression": { - "id": 77032, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "32351:5:129", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 77033, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "32357:6:129", - "memberName": "number", - "nodeType": "MemberAccess", - "src": "32351:12:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "32330:33:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 77035, - "nodeType": "ExpressionStatement", - "src": "32330:33:129" - } - ] - } - } - ] - }, - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 76792, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 76789, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76786, - "src": "29304:1:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "expression": { - "id": 76790, - "name": "_proposalSupport", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76776, - "src": "29308:16:129", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_ProposalSupport_$74781_memory_ptr_$dyn_memory_ptr", - "typeString": "struct StrategyStruct.ProposalSupport memory[] memory" - } - }, - "id": 76791, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "29325:6:129", - "memberName": "length", - "nodeType": "MemberAccess", - "src": "29308:23:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "29304:27:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 77055, - "initializationExpression": { - "assignments": [ - 76786 - ], - "declarations": [ - { - "constant": false, - "id": 76786, - "mutability": "mutable", - "name": "i", - "nameLocation": "29297:1:129", - "nodeType": "VariableDeclaration", - "scope": 77055, - "src": "29289:9:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 76785, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "29289:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 76788, - "initialValue": { - "hexValue": "30", - "id": 76787, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "29301:1:129", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "29289:13:129" - }, - "loopExpression": { - "expression": { - "id": 76794, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "29333:3:129", - "subExpression": { - "id": 76793, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76786, - "src": "29333:1:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 76795, - "nodeType": "ExpressionStatement", - "src": "29333:3:129" - }, - "nodeType": "ForStatement", - "src": "29284:3319:129" - } - ] - }, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_addSupport", - "nameLocation": "29139:11:129", - "parameters": { - "id": 76777, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 76772, - "mutability": "mutable", - "name": "_sender", - "nameLocation": "29159:7:129", - "nodeType": "VariableDeclaration", - "scope": 77057, - "src": "29151:15:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 76771, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "29151:7:129", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 76776, - "mutability": "mutable", - "name": "_proposalSupport", - "nameLocation": "29208:16:129", - "nodeType": "VariableDeclaration", - "scope": 77057, - "src": "29168:56:129", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_ProposalSupport_$74781_memory_ptr_$dyn_memory_ptr", - "typeString": "struct StrategyStruct.ProposalSupport[]" - }, - "typeName": { - "baseType": { - "id": 76774, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 76773, - "name": "StrategyStruct.ProposalSupport", - "nameLocations": [ - "29168:14:129", - "29183:15:129" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 74781, - "src": "29168:30:129" - }, - "referencedDeclaration": 74781, - "src": "29168:30:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ProposalSupport_$74781_storage_ptr", - "typeString": "struct StrategyStruct.ProposalSupport" - } - }, - "id": 76775, - "nodeType": "ArrayTypeName", - "src": "29168:32:129", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_ProposalSupport_$74781_storage_$dyn_storage_ptr", - "typeString": "struct StrategyStruct.ProposalSupport[]" - } - }, - "visibility": "internal" - } - ], - "src": "29150:75:129" - }, - "returnParameters": { - "id": 76778, - "nodeType": "ParameterList", - "parameters": [], - "src": "29235:0:129" - }, - "scope": 77611, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "id": 77092, - "nodeType": "FunctionDefinition", - "src": "32615:276:129", - "nodes": [], - "body": { - "id": 77091, - "nodeType": "Block", - "src": "32701:190:129", - "nodes": [], - "statements": [ - { - "assignments": [ - 77067 - ], - "declarations": [ - { - "constant": false, - "id": 77067, - "mutability": "mutable", - "name": "result", - "nameLocation": "32718:6:129", - "nodeType": "VariableDeclaration", - "scope": 77091, - "src": "32711:13:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - }, - "typeName": { - "id": 77066, - "name": "int256", - "nodeType": "ElementaryTypeName", - "src": "32711:6:129", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - }, - "visibility": "internal" - } - ], - "id": 77074, - "initialValue": { - "commonType": { - "typeIdentifier": "t_int256", - "typeString": "int256" - }, - "id": 77073, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "arguments": [ - { - "id": 77070, - "name": "_support", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77059, - "src": "32734:8:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 77069, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "32727:6:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_int256_$", - "typeString": "type(int256)" - }, - "typeName": { - "id": 77068, - "name": "int256", - "nodeType": "ElementaryTypeName", - "src": "32727:6:129", - "typeDescriptions": {} - } - }, - "id": 77071, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "32727:16:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "id": 77072, - "name": "_delta", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77061, - "src": "32746:6:129", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - }, - "src": "32727:25:129", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "32711:41:129" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_int256", - "typeString": "int256" - }, - "id": 77077, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 77075, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77067, - "src": "32767:6:129", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "hexValue": "30", - "id": 77076, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "32776:1:129", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "32767:10:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 77085, - "nodeType": "IfStatement", - "src": "32763:90:129", - "trueBody": { - "id": 77084, - "nodeType": "Block", - "src": "32779:74:129", - "statements": [ - { - "errorCall": { - "arguments": [ - { - "id": 77079, - "name": "_support", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77059, - "src": "32817:8:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 77080, - "name": "_delta", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77061, - "src": "32827:6:129", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - }, - { - "id": 77081, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77067, - "src": "32835:6:129", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_int256", - "typeString": "int256" - }, - { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - ], - "id": 77078, - "name": "SupportUnderflow", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74846, - "src": "32800:16:129", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$_t_uint256_$_t_int256_$_t_int256_$returns$__$", - "typeString": "function (uint256,int256,int256) pure" - } - }, - "id": 77082, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "32800:42:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 77083, - "nodeType": "RevertStatement", - "src": "32793:49:129" - } - ] - } - }, - { - "expression": { - "arguments": [ - { - "id": 77088, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77067, - "src": "32877:6:129", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - ], - "id": 77087, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "32869:7:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 77086, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "32869:7:129", - "typeDescriptions": {} - } - }, - "id": 77089, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "32869:15:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 77065, - "id": 77090, - "nodeType": "Return", - "src": "32862:22:129" - } - ] - }, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_applyDelta", - "nameLocation": "32624:11:129", - "parameters": { - "id": 77062, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 77059, - "mutability": "mutable", - "name": "_support", - "nameLocation": "32644:8:129", - "nodeType": "VariableDeclaration", - "scope": 77092, - "src": "32636:16:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 77058, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "32636:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 77061, - "mutability": "mutable", - "name": "_delta", - "nameLocation": "32661:6:129", - "nodeType": "VariableDeclaration", - "scope": 77092, - "src": "32654:13:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - }, - "typeName": { - "id": 77060, - "name": "int256", - "nodeType": "ElementaryTypeName", - "src": "32654:6:129", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - }, - "visibility": "internal" - } - ], - "src": "32635:33:129" - }, - "returnParameters": { - "id": 77065, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 77064, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 77092, - "src": "32692:7:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 77063, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "32692:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "32691:9:129" - }, - "scope": 77611, - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "id": 77148, - "nodeType": "FunctionDefinition", - "src": "33308:1145:129", - "nodes": [], - "body": { - "id": 77147, - "nodeType": "Block", - "src": "33455:998:129", - "nodes": [], - "statements": [ - { - "assignments": [ - 77105 - ], - "declarations": [ - { - "constant": false, - "id": 77105, - "mutability": "mutable", - "name": "t", - "nameLocation": "33473:1:129", - "nodeType": "VariableDeclaration", - "scope": 77147, - "src": "33465:9:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 77104, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "33465:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 77107, - "initialValue": { - "id": 77106, - "name": "_timePassed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77095, - "src": "33477:11:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "33465:23:129" - }, - { - "assignments": [ - 77109 - ], - "declarations": [ - { - "constant": false, - "id": 77109, - "mutability": "mutable", - "name": "atTWO_128", - "nameLocation": "33811:9:129", - "nodeType": "VariableDeclaration", - "scope": 77147, - "src": "33803:17:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 77108, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "33803:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 77119, - "initialValue": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 77116, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 77113, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 77111, - "name": "decay", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74986, - "src": "33829:5:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<<", - "rightExpression": { - "hexValue": "313238", - "id": 77112, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "33838:3:129", - "typeDescriptions": { - "typeIdentifier": "t_rational_128_by_1", - "typeString": "int_const 128" - }, - "value": "128" - }, - "src": "33829:12:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 77114, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "33828:14:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "id": 77115, - "name": "D", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74972, - "src": "33845:1:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "33828:18:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 77117, - "name": "t", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77105, - "src": "33848:1:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 77110, - "name": "_pow", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77336, - "src": "33823:4:129", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 77118, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "33823:27:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "33803:47:129" - }, - { - "expression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 77145, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 77142, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 77139, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 77122, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 77120, - "name": "atTWO_128", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77109, - "src": "34346:9:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "id": 77121, - "name": "_lastConv", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77097, - "src": "34358:9:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "34346:21:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 77123, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "34345:23:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 77137, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 77131, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 77126, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 77124, - "name": "_oldAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77099, - "src": "34373:10:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "id": 77125, - "name": "D", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74972, - "src": "34386:1:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "34373:14:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 77129, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 77127, - "name": "TWO_128", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74975, - "src": "34391:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "id": 77128, - "name": "atTWO_128", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77109, - "src": "34401:9:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "34391:19:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 77130, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "34390:21:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "34373:38:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 77132, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "34372:40:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 77135, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 77133, - "name": "D", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74972, - "src": "34416:1:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "id": 77134, - "name": "decay", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74986, - "src": "34420:5:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "34416:9:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 77136, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "34415:11:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "34372:54:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 77138, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "34371:56:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "34345:82:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 77140, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "34344:84:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "id": 77141, - "name": "TWO_127", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74978, - "src": "34431:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "34344:94:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 77143, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "34343:96:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "hexValue": "313238", - "id": 77144, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "34443:3:129", - "typeDescriptions": { - "typeIdentifier": "t_rational_128_by_1", - "typeString": "int_const 128" - }, - "value": "128" - }, - "src": "34343:103:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 77103, - "id": 77146, - "nodeType": "Return", - "src": "34336:110:129" - } - ] - }, - "documentation": { - "id": 77093, - "nodeType": "StructuredDocumentation", - "src": "32897:406:129", - "text": " @dev Conviction formula: a^t * y(0) + x * (1 - a^t) / (1 - a)\n Solidity implementation: y = (2^128 * a^t * y0 + x * D * (2^128 - 2^128 * a^t) / (D - aD) + 2^127) / 2^128\n @param _timePassed Number of blocks since last conviction record\n @param _lastConv Last conviction record\n @param _oldAmount Amount of tokens staked until now\n @return Current conviction" - }, - "functionSelector": "346db8cb", - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "calculateConviction", - "nameLocation": "33317:19:129", - "parameters": { - "id": 77100, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 77095, - "mutability": "mutable", - "name": "_timePassed", - "nameLocation": "33345:11:129", - "nodeType": "VariableDeclaration", - "scope": 77148, - "src": "33337:19:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 77094, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "33337:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 77097, - "mutability": "mutable", - "name": "_lastConv", - "nameLocation": "33366:9:129", - "nodeType": "VariableDeclaration", - "scope": 77148, - "src": "33358:17:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 77096, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "33358:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 77099, - "mutability": "mutable", - "name": "_oldAmount", - "nameLocation": "33385:10:129", - "nodeType": "VariableDeclaration", - "scope": 77148, - "src": "33377:18:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 77098, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "33377:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "33336:60:129" - }, - "returnParameters": { - "id": 77103, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 77102, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 77148, - "src": "33442:7:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 77101, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "33442:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "33441:9:129" - }, - "scope": 77611, - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "id": 77236, - "nodeType": "FunctionDefinition", - "src": "35034:1482:129", - "nodes": [], - "body": { - "id": 77235, - "nodeType": "Block", - "src": "35129:1387:129", - "nodes": [], - "statements": [ - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 77158, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 77156, - "name": "poolAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3343, - "src": "35263:10:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "hexValue": "30", - "id": 77157, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "35277:1:129", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "35263:15:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 77163, - "nodeType": "IfStatement", - "src": "35259:66:129", - "trueBody": { - "id": 77162, - "nodeType": "Block", - "src": "35280:45:129", - "statements": [ - { - "errorCall": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 77159, - "name": "PoolIsEmpty", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74824, - "src": "35301:11:129", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 77160, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "35301:13:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 77161, - "nodeType": "RevertStatement", - "src": "35294:20:129" - } - ] - } - }, - { - "condition": { - "arguments": [ - { - "id": 77165, - "name": "_requestedAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77151, - "src": "35781:16:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 77164, - "name": "_isOverMaxRatio", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76674, - "src": "35765:15:129", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) view returns (bool)" - } - }, - "id": 77166, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "35765:33:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 77171, - "nodeType": "IfStatement", - "src": "35761:91:129", - "trueBody": { - "id": 77170, - "nodeType": "Block", - "src": "35800:52:129", - "statements": [ - { - "errorCall": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 77167, - "name": "AmountOverMaxRatio", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74832, - "src": "35821:18:129", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 77168, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "35821:20:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 77169, - "nodeType": "RevertStatement", - "src": "35814:27:129" - } - ] - } - }, - { - "assignments": [ - 77173 - ], - "declarations": [ - { - "constant": false, - "id": 77173, - "mutability": "mutable", - "name": "denom", - "nameLocation": "36008:5:129", - "nodeType": "VariableDeclaration", - "scope": 77235, - "src": "36000:13:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 77172, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "36000:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 77191, - "initialValue": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 77190, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 77181, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 77178, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 77174, - "name": "maxRatio", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74988, - "src": "36017:8:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_rational_18446744073709551616_by_1", - "typeString": "int_const 18446744073709551616" - }, - "id": 77177, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "hexValue": "32", - "id": 77175, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "36028:1:129", - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "hexValue": "3634", - "id": 77176, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "36033:2:129", - "typeDescriptions": { - "typeIdentifier": "t_rational_64_by_1", - "typeString": "int_const 64" - }, - "value": "64" - }, - "src": "36028:7:129", - "typeDescriptions": { - "typeIdentifier": "t_rational_18446744073709551616_by_1", - "typeString": "int_const 18446744073709551616" - } - }, - "src": "36017:18:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 77179, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "36016:20:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "id": 77180, - "name": "D", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74972, - "src": "36039:1:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "36016:24:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 77189, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 77186, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 77182, - "name": "_requestedAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77151, - "src": "36044:16:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_rational_18446744073709551616_by_1", - "typeString": "int_const 18446744073709551616" - }, - "id": 77185, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "hexValue": "32", - "id": 77183, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "36063:1:129", - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "hexValue": "3634", - "id": 77184, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "36068:2:129", - "typeDescriptions": { - "typeIdentifier": "t_rational_64_by_1", - "typeString": "int_const 64" - }, - "value": "64" - }, - "src": "36063:7:129", - "typeDescriptions": { - "typeIdentifier": "t_rational_18446744073709551616_by_1", - "typeString": "int_const 18446744073709551616" - } - }, - "src": "36044:26:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 77187, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "36043:28:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "id": 77188, - "name": "poolAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3343, - "src": "36074:10:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "36043:41:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "36016:68:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "36000:84:129" - }, - { - "expression": { - "id": 77224, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 77192, - "name": "_threshold", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77154, - "src": "36094:10:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 77223, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 77220, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 77216, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 77210, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 77207, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 77198, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 77195, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 77193, - "name": "weight", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74990, - "src": "36126:6:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<<", - "rightExpression": { - "hexValue": "313238", - "id": 77194, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "36136:3:129", - "typeDescriptions": { - "typeIdentifier": "t_rational_128_by_1", - "typeString": "int_const 128" - }, - "value": "128" - }, - "src": "36126:13:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 77196, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "36125:15:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "id": 77197, - "name": "D", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74972, - "src": "36143:1:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "36125:19:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 77199, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "36124:21:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 77205, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 77202, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 77200, - "name": "denom", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77173, - "src": "36150:5:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "id": 77201, - "name": "denom", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77173, - "src": "36158:5:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "36150:13:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 77203, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "36149:15:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "hexValue": "3634", - "id": 77204, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "36168:2:129", - "typeDescriptions": { - "typeIdentifier": "t_rational_64_by_1", - "typeString": "int_const 64" - }, - "value": "64" - }, - "src": "36149:21:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 77206, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "36148:23:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "36124:47:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 77208, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "36123:49:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "id": 77209, - "name": "D", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74972, - "src": "36175:1:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "36123:53:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 77211, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "36122:55:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 77214, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 77212, - "name": "D", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74972, - "src": "36181:1:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "id": 77213, - "name": "decay", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74986, - "src": "36185:5:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "36181:9:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 77215, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "36180:11:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "36122:69:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 77217, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "36121:71:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 77218, - "name": "totalEffectiveActivePoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77344, - "src": "36195:26:129", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", - "typeString": "function () view returns (uint256)" - } - }, - "id": 77219, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "36195:28:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "36121:102:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 77221, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "36107:126:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "hexValue": "3634", - "id": 77222, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "36237:2:129", - "typeDescriptions": { - "typeIdentifier": "t_rational_64_by_1", - "typeString": "int_const 64" - }, - "value": "64" - }, - "src": "36107:132:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "36094:145:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 77225, - "nodeType": "ExpressionStatement", - "src": "36094:145:129" - }, - { - "expression": { - "id": 77233, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 77226, - "name": "_threshold", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77154, - "src": "36429:10:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 77229, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 77227, - "name": "_threshold", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77154, - "src": "36442:10:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "id": 77228, - "name": "_minThresholdPoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75000, - "src": "36455:19:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "36442:32:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "id": 77231, - "name": "_minThresholdPoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75000, - "src": "36490:19:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 77232, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "36442:67:129", - "trueExpression": { - "id": 77230, - "name": "_threshold", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77154, - "src": "36477:10:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "36429:80:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 77234, - "nodeType": "ExpressionStatement", - "src": "36429:80:129" - } - ] - }, - "documentation": { - "id": 77149, - "nodeType": "StructuredDocumentation", - "src": "34459:570:129", - "text": " @dev Formula: ρ * totalStaked / (1 - a) / (β - requestedAmount / total)**2\n For the Solidity implementation we amplify ρ and β and simplify the formula:\n weight = ρ * D\n maxRatio = β * D\n decay = a * D\n threshold = weight * totalStaked * D ** 2 * funds ** 2 / (D - decay) / (maxRatio * funds - requestedAmount * D) ** 2\n @param _requestedAmount Requested amount of tokens on certain proposal\n @return _threshold Threshold a proposal's conviction should surpass in order to be able to\n executed it." - }, - "functionSelector": "59a5db8b", - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "calculateThreshold", - "nameLocation": "35043:18:129", - "parameters": { - "id": 77152, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 77151, - "mutability": "mutable", - "name": "_requestedAmount", - "nameLocation": "35070:16:129", - "nodeType": "VariableDeclaration", - "scope": 77236, - "src": "35062:24:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 77150, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "35062:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "35061:26:129" - }, - "returnParameters": { - "id": 77155, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 77154, - "mutability": "mutable", - "name": "_threshold", - "nameLocation": "35117:10:129", - "nodeType": "VariableDeclaration", - "scope": 77236, - "src": "35109:18:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 77153, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "35109:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "35108:20:129" - }, - "scope": 77611, - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "id": 77271, - "nodeType": "FunctionDefinition", - "src": "36777:269:129", - "nodes": [], - "body": { - "id": 77270, - "nodeType": "Block", - "src": "36855:191:129", - "nodes": [], - "statements": [ - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 77249, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 77247, - "name": "_a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77239, - "src": "36873:2:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "id": 77248, - "name": "TWO_128", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74975, - "src": "36879:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "36873:13:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "5f612073686f756c64206265206c657373207468616e206f7220657175616c20746f20325e313238", - "id": 77250, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "36888:42:129", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_44e2d05298e19dba9341288d7967f4ffbb5a083f725e2470963d4d2d80484153", - "typeString": "literal_string \"_a should be less than or equal to 2^128\"" - }, - "value": "_a should be less than or equal to 2^128" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_44e2d05298e19dba9341288d7967f4ffbb5a083f725e2470963d4d2d80484153", - "typeString": "literal_string \"_a should be less than or equal to 2^128\"" - } - ], - "id": 77246, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "36865:7:129", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 77251, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "36865:66:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 77252, - "nodeType": "ExpressionStatement", - "src": "36865:66:129" - }, - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 77256, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 77254, - "name": "_b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77241, - "src": "36949:2:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "id": 77255, - "name": "TWO_128", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74975, - "src": "36954:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "36949:12:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "5f622073686f756c64206265206c657373207468616e20325e313238", - "id": 77257, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "36963:30:129", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_94029ed39d36fd1673853e0d61636cb1f54d05801d9baceb39b21e0f4420d664", - "typeString": "literal_string \"_b should be less than 2^128\"" - }, - "value": "_b should be less than 2^128" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_94029ed39d36fd1673853e0d61636cb1f54d05801d9baceb39b21e0f4420d664", - "typeString": "literal_string \"_b should be less than 2^128\"" - } - ], - "id": 77253, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "36941:7:129", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 77258, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "36941:53:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 77259, - "nodeType": "ExpressionStatement", - "src": "36941:53:129" - }, - { - "expression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 77268, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 77265, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 77262, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 77260, - "name": "_a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77239, - "src": "37013:2:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "id": 77261, - "name": "_b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77241, - "src": "37018:2:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "37013:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 77263, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "37012:9:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "id": 77264, - "name": "TWO_127", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74978, - "src": "37024:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "37012:19:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 77266, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "37011:21:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "hexValue": "313238", - "id": 77267, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "37036:3:129", - "typeDescriptions": { - "typeIdentifier": "t_rational_128_by_1", - "typeString": "int_const 128" - }, - "value": "128" - }, - "src": "37011:28:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 77245, - "id": 77269, - "nodeType": "Return", - "src": "37004:35:129" - } - ] - }, - "documentation": { - "id": 77237, - "nodeType": "StructuredDocumentation", - "src": "36522:250:129", - "text": " Multiply _a by _b / 2^128. Parameter _a should be less than or equal to\n 2^128 and parameter _b should be less than 2^128.\n @param _a left argument\n @param _b right argument\n @return _result _a * _b / 2^128" - }, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_mul", - "nameLocation": "36786:4:129", - "parameters": { - "id": 77242, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 77239, - "mutability": "mutable", - "name": "_a", - "nameLocation": "36799:2:129", - "nodeType": "VariableDeclaration", - "scope": 77271, - "src": "36791:10:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 77238, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "36791:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 77241, - "mutability": "mutable", - "name": "_b", - "nameLocation": "36811:2:129", - "nodeType": "VariableDeclaration", - "scope": 77271, - "src": "36803:10:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 77240, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "36803:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "36790:24:129" - }, - "returnParameters": { - "id": 77245, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 77244, - "mutability": "mutable", - "name": "_result", - "nameLocation": "36846:7:129", - "nodeType": "VariableDeclaration", - "scope": 77271, - "src": "36838:15:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 77243, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "36838:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "36837:17:129" - }, - "scope": 77611, - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "id": 77336, - "nodeType": "FunctionDefinition", - "src": "37268:447:129", - "nodes": [], - "body": { - "id": 77335, - "nodeType": "Block", - "src": "37346:369:129", - "nodes": [], - "statements": [ - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 77284, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 77282, - "name": "_a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77274, - "src": "37364:2:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "id": 77283, - "name": "TWO_128", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74975, - "src": "37369:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "37364:12:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "5f612073686f756c64206265206c657373207468616e20325e313238", - "id": 77285, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "37378:30:129", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_8cb59667c527f8a0ca0170161b6ece5e9864e8aa2d080a486f0167056517515f", - "typeString": "literal_string \"_a should be less than 2^128\"" - }, - "value": "_a should be less than 2^128" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_8cb59667c527f8a0ca0170161b6ece5e9864e8aa2d080a486f0167056517515f", - "typeString": "literal_string \"_a should be less than 2^128\"" - } - ], - "id": 77281, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "37356:7:129", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 77286, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "37356:53:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 77287, - "nodeType": "ExpressionStatement", - "src": "37356:53:129" - }, - { - "assignments": [ - 77289 - ], - "declarations": [ - { - "constant": false, - "id": 77289, - "mutability": "mutable", - "name": "a", - "nameLocation": "37427:1:129", - "nodeType": "VariableDeclaration", - "scope": 77335, - "src": "37419:9:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 77288, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "37419:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 77291, - "initialValue": { - "id": 77290, - "name": "_a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77274, - "src": "37431:2:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "37419:14:129" - }, - { - "assignments": [ - 77293 - ], - "declarations": [ - { - "constant": false, - "id": 77293, - "mutability": "mutable", - "name": "b", - "nameLocation": "37451:1:129", - "nodeType": "VariableDeclaration", - "scope": 77335, - "src": "37443:9:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 77292, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "37443:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 77295, - "initialValue": { - "id": 77294, - "name": "_b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77276, - "src": "37455:2:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "37443:14:129" - }, - { - "expression": { - "id": 77298, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 77296, - "name": "_result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77279, - "src": "37467:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 77297, - "name": "TWO_128", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74975, - "src": "37477:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "37467:17:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 77299, - "nodeType": "ExpressionStatement", - "src": "37467:17:129" - }, - { - "body": { - "id": 77333, - "nodeType": "Block", - "src": "37508:201:129", - "statements": [ - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 77307, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 77305, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 77303, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77293, - "src": "37526:1:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "&", - "rightExpression": { - "hexValue": "31", - "id": 77304, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "37530:1:129", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "37526:5:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "hexValue": "30", - "id": 77306, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "37535:1:129", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "37526:10:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 77331, - "nodeType": "Block", - "src": "37616:83:129", - "statements": [ - { - "expression": { - "id": 77325, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 77320, - "name": "_result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77279, - "src": "37634:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "id": 77322, - "name": "_result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77279, - "src": "37649:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 77323, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77289, - "src": "37658:1:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 77321, - "name": "_mul", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77271, - "src": "37644:4:129", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 77324, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "37644:16:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "37634:26:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 77326, - "nodeType": "ExpressionStatement", - "src": "37634:26:129" - }, - { - "expression": { - "id": 77329, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 77327, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77293, - "src": "37678:1:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "-=", - "rightHandSide": { - "hexValue": "31", - "id": 77328, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "37683:1:129", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "37678:6:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 77330, - "nodeType": "ExpressionStatement", - "src": "37678:6:129" - } - ] - }, - "id": 77332, - "nodeType": "IfStatement", - "src": "37522:177:129", - "trueBody": { - "id": 77319, - "nodeType": "Block", - "src": "37538:72:129", - "statements": [ - { - "expression": { - "id": 77313, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 77308, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77289, - "src": "37556:1:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "id": 77310, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77289, - "src": "37565:1:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 77311, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77289, - "src": "37568:1:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 77309, - "name": "_mul", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77271, - "src": "37560:4:129", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 77312, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "37560:10:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "37556:14:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 77314, - "nodeType": "ExpressionStatement", - "src": "37556:14:129" - }, - { - "expression": { - "id": 77317, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 77315, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77293, - "src": "37588:1:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": ">>=", - "rightHandSide": { - "hexValue": "31", - "id": 77316, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "37594:1:129", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "37588:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 77318, - "nodeType": "ExpressionStatement", - "src": "37588:7:129" - } - ] - } - } - ] - }, - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 77302, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 77300, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77293, - "src": "37501:1:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "hexValue": "30", - "id": 77301, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "37505:1:129", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "37501:5:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 77334, - "nodeType": "WhileStatement", - "src": "37494:215:129" - } - ] - }, - "documentation": { - "id": 77272, - "nodeType": "StructuredDocumentation", - "src": "37052:211:129", - "text": " Calculate (_a / 2^128)^_b * 2^128. Parameter _a should be less than 2^128.\n @param _a left argument\n @param _b right argument\n @return _result (_a / 2^128)^_b * 2^128" - }, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_pow", - "nameLocation": "37277:4:129", - "parameters": { - "id": 77277, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 77274, - "mutability": "mutable", - "name": "_a", - "nameLocation": "37290:2:129", - "nodeType": "VariableDeclaration", - "scope": 77336, - "src": "37282:10:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 77273, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "37282:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 77276, - "mutability": "mutable", - "name": "_b", - "nameLocation": "37302:2:129", - "nodeType": "VariableDeclaration", - "scope": 77336, - "src": "37294:10:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 77275, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "37294:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "37281:24:129" - }, - "returnParameters": { - "id": 77280, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 77279, - "mutability": "mutable", - "name": "_result", - "nameLocation": "37337:7:129", - "nodeType": "VariableDeclaration", - "scope": 77336, - "src": "37329:15:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 77278, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "37329:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "37328:17:129" - }, - "scope": 77611, - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "id": 77344, - "nodeType": "FunctionDefinition", - "src": "37721:112:129", - "nodes": [], - "body": { - "id": 77343, - "nodeType": "Block", - "src": "37789:44:129", - "nodes": [], - "statements": [ - { - "expression": { - "id": 77341, - "name": "totalPointsActivated", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74997, - "src": "37806:20:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 77340, - "id": 77342, - "nodeType": "Return", - "src": "37799:27:129" - } - ] - }, - "functionSelector": "d1e36232", - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "totalEffectiveActivePoints", - "nameLocation": "37730:26:129", - "parameters": { - "id": 77337, - "nodeType": "ParameterList", - "parameters": [], - "src": "37756:2:129" - }, - "returnParameters": { - "id": 77340, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 77339, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 77344, - "src": "37780:7:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 77338, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "37780:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "37779:9:129" - }, - "scope": 77611, - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "id": 77385, - "nodeType": "FunctionDefinition", - "src": "38023:396:129", - "nodes": [], - "body": { - "id": 77384, - "nodeType": "Block", - "src": "38131:288:129", - "nodes": [], - "statements": [ - { - "assignments": [ - 77354, - 77356 - ], - "declarations": [ - { - "constant": false, - "id": 77354, - "mutability": "mutable", - "name": "conviction", - "nameLocation": "38150:10:129", - "nodeType": "VariableDeclaration", - "scope": 77384, - "src": "38142:18:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 77353, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "38142:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 77356, - "mutability": "mutable", - "name": "blockNumber", - "nameLocation": "38170:11:129", - "nodeType": "VariableDeclaration", - "scope": 77384, - "src": "38162:19:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 77355, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "38162:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 77361, - "initialValue": { - "arguments": [ - { - "id": 77358, - "name": "_proposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77348, - "src": "38219:9:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal storage pointer" - } - }, - { - "id": 77359, - "name": "_oldStaked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77350, - "src": "38230:10:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal storage pointer" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 77357, - "name": "_checkBlockAndCalculateConviction", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77432, - "src": "38185:33:129", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Proposal_$74776_storage_ptr_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", - "typeString": "function (struct StrategyStruct.Proposal storage pointer,uint256) view returns (uint256,uint256)" - } - }, - "id": 77360, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "38185:56:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "38141:100:129" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 77368, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 77364, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 77362, - "name": "conviction", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77354, - "src": "38255:10:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "hexValue": "30", - "id": 77363, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "38269:1:129", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "38255:15:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 77367, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 77365, - "name": "blockNumber", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77356, - "src": "38274:11:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "hexValue": "30", - "id": 77366, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "38289:1:129", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "38274:16:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "38255:35:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 77371, - "nodeType": "IfStatement", - "src": "38251:72:129", - "trueBody": { - "id": 77370, - "nodeType": "Block", - "src": "38292:31:129", - "statements": [ - { - "functionReturnParameters": 77352, - "id": 77369, - "nodeType": "Return", - "src": "38306:7:129" - } - ] - } - }, - { - "expression": { - "id": 77376, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "expression": { - "id": 77372, - "name": "_proposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77348, - "src": "38332:9:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal storage pointer" - } - }, - "id": 77374, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberLocation": "38342:9:129", - "memberName": "blockLast", - "nodeType": "MemberAccess", - "referencedDeclaration": 74765, - "src": "38332:19:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 77375, - "name": "blockNumber", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77356, - "src": "38354:11:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "38332:33:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 77377, - "nodeType": "ExpressionStatement", - "src": "38332:33:129" - }, - { - "expression": { - "id": 77382, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "expression": { - "id": 77378, - "name": "_proposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77348, - "src": "38375:9:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal storage pointer" - } - }, - "id": 77380, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberLocation": "38385:14:129", - "memberName": "convictionLast", - "nodeType": "MemberAccess", - "referencedDeclaration": 74757, - "src": "38375:24:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 77381, - "name": "conviction", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77354, - "src": "38402:10:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "38375:37:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 77383, - "nodeType": "ExpressionStatement", - "src": "38375:37:129" - } - ] - }, - "documentation": { - "id": 77345, - "nodeType": "StructuredDocumentation", - "src": "37839:179:129", - "text": " @dev Calculate conviction and store it on the proposal\n @param _proposal Proposal\n @param _oldStaked Amount of tokens staked on a proposal until now" - }, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_calculateAndSetConviction", - "nameLocation": "38032:26:129", - "parameters": { - "id": 77351, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 77348, - "mutability": "mutable", - "name": "_proposal", - "nameLocation": "38091:9:129", - "nodeType": "VariableDeclaration", - "scope": 77385, - "src": "38059:41:129", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal" - }, - "typeName": { - "id": 77347, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 77346, - "name": "StrategyStruct.Proposal", - "nameLocations": [ - "38059:14:129", - "38074:8:129" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 74776, - "src": "38059:23:129" - }, - "referencedDeclaration": 74776, - "src": "38059:23:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 77350, - "mutability": "mutable", - "name": "_oldStaked", - "nameLocation": "38110:10:129", - "nodeType": "VariableDeclaration", - "scope": 77385, - "src": "38102:18:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 77349, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "38102:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "38058:63:129" - }, - "returnParameters": { - "id": 77352, - "nodeType": "ParameterList", - "parameters": [], - "src": "38131:0:129" - }, - "scope": 77611, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "id": 77432, - "nodeType": "FunctionDefinition", - "src": "38425:719:129", - "nodes": [], - "body": { - "id": 77431, - "nodeType": "Block", - "src": "38623:521:129", - "nodes": [], - "statements": [ - { - "expression": { - "id": 77400, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 77397, - "name": "blockNumber", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77395, - "src": "38633:11:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "expression": { - "id": 77398, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "38647:5:129", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 77399, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "38653:6:129", - "memberName": "number", - "nodeType": "MemberAccess", - "src": "38647:12:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "38633:26:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 77401, - "nodeType": "ExpressionStatement", - "src": "38633:26:129" - }, - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 77406, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 77403, - "name": "_proposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77388, - "src": "38676:9:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal storage pointer" - } - }, - "id": 77404, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "38686:9:129", - "memberName": "blockLast", - "nodeType": "MemberAccess", - "referencedDeclaration": 74765, - "src": "38676:19:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "id": 77405, - "name": "blockNumber", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77395, - "src": "38699:11:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "38676:34:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 77402, - "name": "assert", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -3, - "src": "38669:6:129", - "typeDescriptions": { - "typeIdentifier": "t_function_assert_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 77407, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "38669:42:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 77408, - "nodeType": "ExpressionStatement", - "src": "38669:42:129" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 77412, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 77409, - "name": "_proposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77388, - "src": "38725:9:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal storage pointer" - } - }, - "id": 77410, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "38735:9:129", - "memberName": "blockLast", - "nodeType": "MemberAccess", - "referencedDeclaration": 74765, - "src": "38725:19:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "id": 77411, - "name": "blockNumber", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77395, - "src": "38748:11:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "38725:34:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 77418, - "nodeType": "IfStatement", - "src": "38721:173:129", - "trueBody": { - "id": 77417, - "nodeType": "Block", - "src": "38761:133:129", - "statements": [ - { - "expression": { - "components": [ - { - "hexValue": "30", - "id": 77413, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "38849:1:129", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - { - "hexValue": "30", - "id": 77414, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "38852:1:129", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "id": 77415, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "38848:6:129", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_rational_0_by_1_$_t_rational_0_by_1_$", - "typeString": "tuple(int_const 0,int_const 0)" - } - }, - "functionReturnParameters": 77396, - "id": 77416, - "nodeType": "Return", - "src": "38841:13:129" - } - ] - } - }, - { - "expression": { - "id": 77429, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 77419, - "name": "conviction", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77393, - "src": "38947:10:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 77424, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 77421, - "name": "blockNumber", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77395, - "src": "38993:11:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "expression": { - "id": 77422, - "name": "_proposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77388, - "src": "39007:9:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal storage pointer" - } - }, - "id": 77423, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "39017:9:129", - "memberName": "blockLast", - "nodeType": "MemberAccess", - "referencedDeclaration": 74765, - "src": "39007:19:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "38993:33:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "expression": { - "id": 77425, - "name": "_proposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77388, - "src": "39079:9:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal storage pointer" - } - }, - "id": 77426, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "39089:14:129", - "memberName": "convictionLast", - "nodeType": "MemberAccess", - "referencedDeclaration": 74757, - "src": "39079:24:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 77427, - "name": "_oldStaked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77390, - "src": "39117:10:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 77420, - "name": "calculateConviction", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77148, - "src": "38960:19:129", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256) view returns (uint256)" - } - }, - "id": 77428, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "38960:177:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "38947:190:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 77430, - "nodeType": "ExpressionStatement", - "src": "38947:190:129" - } - ] - }, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_checkBlockAndCalculateConviction", - "nameLocation": "38434:33:129", - "parameters": { - "id": 77391, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 77388, - "mutability": "mutable", - "name": "_proposal", - "nameLocation": "38500:9:129", - "nodeType": "VariableDeclaration", - "scope": 77432, - "src": "38468:41:129", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal" - }, - "typeName": { - "id": 77387, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 77386, - "name": "StrategyStruct.Proposal", - "nameLocations": [ - "38468:14:129", - "38483:8:129" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 74776, - "src": "38468:23:129" - }, - "referencedDeclaration": 74776, - "src": "38468:23:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 77390, - "mutability": "mutable", - "name": "_oldStaked", - "nameLocation": "38519:10:129", - "nodeType": "VariableDeclaration", - "scope": 77432, - "src": "38511:18:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 77389, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "38511:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "38467:63:129" - }, - "returnParameters": { - "id": 77396, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 77393, - "mutability": "mutable", - "name": "conviction", - "nameLocation": "38586:10:129", - "nodeType": "VariableDeclaration", - "scope": 77432, - "src": "38578:18:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 77392, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "38578:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 77395, - "mutability": "mutable", - "name": "blockNumber", - "nameLocation": "38606:11:129", - "nodeType": "VariableDeclaration", - "scope": 77432, - "src": "38598:19:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 77394, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "38598:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "38577:41:129" - }, - "scope": 77611, - "stateMutability": "view", - "virtual": false, - "visibility": "internal" - }, - { - "id": 77480, - "nodeType": "FunctionDefinition", - "src": "39150:520:129", - "nodes": [], - "body": { - "id": 77479, - "nodeType": "Block", - "src": "39229:441:129", - "nodes": [], - "statements": [ - { - "assignments": [ - 77443 - ], - "declarations": [ - { - "constant": false, - "id": 77443, - "mutability": "mutable", - "name": "proposal", - "nameLocation": "39271:8:129", - "nodeType": "VariableDeclaration", - "scope": 77479, - "src": "39239:40:129", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal" - }, - "typeName": { - "id": 77442, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 77441, - "name": "StrategyStruct.Proposal", - "nameLocations": [ - "39239:14:129", - "39254:8:129" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 74776, - "src": "39239:23:129" - }, - "referencedDeclaration": 74776, - "src": "39239:23:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal" - } - }, - "visibility": "internal" - } - ], - "id": 77447, - "initialValue": { - "baseExpression": { - "id": 77444, - "name": "proposals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75022, - "src": "39282:9:129", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Proposal_$74776_storage_$", - "typeString": "mapping(uint256 => struct StrategyStruct.Proposal storage ref)" - } - }, - "id": 77446, - "indexExpression": { - "id": 77445, - "name": "proposalId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77434, - "src": "39292:10:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "39282:21:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage", - "typeString": "struct StrategyStruct.Proposal storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "39239:64:129" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 77451, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 77448, - "name": "proposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77443, - "src": "39318:8:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal storage pointer" - } - }, - "id": 77449, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "39327:10:129", - "memberName": "proposalId", - "nodeType": "MemberAccess", - "referencedDeclaration": 74751, - "src": "39318:19:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "id": 77450, - "name": "proposalId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77434, - "src": "39341:10:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "39318:33:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 77457, - "nodeType": "IfStatement", - "src": "39314:100:129", - "trueBody": { - "id": 77456, - "nodeType": "Block", - "src": "39353:61:129", - "statements": [ - { - "errorCall": { - "arguments": [ - { - "id": 77453, - "name": "proposalId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77434, - "src": "39392:10:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 77452, - "name": "ProposalNotInList", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74868, - "src": "39374:17:129", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$_t_uint256_$returns$__$", - "typeString": "function (uint256) pure" - } - }, - "id": 77454, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "39374:29:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 77455, - "nodeType": "RevertStatement", - "src": "39367:36:129" - } - ] - } - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_enum$_ProposalStatus_$74749", - "typeString": "enum StrategyStruct.ProposalStatus" - }, - "id": 77463, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 77458, - "name": "proposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77443, - "src": "39428:8:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal storage pointer" - } - }, - "id": 77459, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "39437:14:129", - "memberName": "proposalStatus", - "nodeType": "MemberAccess", - "referencedDeclaration": 74768, - "src": "39428:23:129", - "typeDescriptions": { - "typeIdentifier": "t_enum$_ProposalStatus_$74749", - "typeString": "enum StrategyStruct.ProposalStatus" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "expression": { - "expression": { - "id": 77460, - "name": "StrategyStruct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74807, - "src": "39455:14:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_StrategyStruct_$74807_$", - "typeString": "type(library StrategyStruct)" - } - }, - "id": 77461, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "39470:14:129", - "memberName": "ProposalStatus", - "nodeType": "MemberAccess", - "referencedDeclaration": 74749, - "src": "39455:29:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_ProposalStatus_$74749_$", - "typeString": "type(enum StrategyStruct.ProposalStatus)" - } - }, - "id": 77462, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "39485:6:129", - "memberName": "Active", - "nodeType": "MemberAccess", - "referencedDeclaration": 74745, - "src": "39455:36:129", - "typeDescriptions": { - "typeIdentifier": "t_enum$_ProposalStatus_$74749", - "typeString": "enum StrategyStruct.ProposalStatus" - } - }, - "src": "39428:63:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 77469, - "nodeType": "IfStatement", - "src": "39424:130:129", - "trueBody": { - "id": 77468, - "nodeType": "Block", - "src": "39493:61:129", - "statements": [ - { - "errorCall": { - "arguments": [ - { - "id": 77465, - "name": "proposalId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77434, - "src": "39532:10:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 77464, - "name": "ProposalNotActive", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74864, - "src": "39514:17:129", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$_t_uint256_$returns$__$", - "typeString": "function (uint256) pure" - } - }, - "id": 77466, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "39514:29:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 77467, - "nodeType": "RevertStatement", - "src": "39507:36:129" - } - ] - } - }, - { - "expression": { - "arguments": [ - { - "id": 77471, - "name": "proposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77443, - "src": "39591:8:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal storage pointer" - } - }, - { - "expression": { - "id": 77472, - "name": "proposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77443, - "src": "39601:8:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal storage pointer" - } - }, - "id": 77473, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "39610:12:129", - "memberName": "stakedAmount", - "nodeType": "MemberAccess", - "referencedDeclaration": 74755, - "src": "39601:21:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal storage pointer" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 77470, - "name": "_calculateAndSetConviction", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77385, - "src": "39564:26:129", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Proposal_$74776_storage_ptr_$_t_uint256_$returns$__$", - "typeString": "function (struct StrategyStruct.Proposal storage pointer,uint256)" - } - }, - "id": 77474, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "39564:59:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 77475, - "nodeType": "ExpressionStatement", - "src": "39564:59:129" - }, - { - "expression": { - "expression": { - "id": 77476, - "name": "proposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77443, - "src": "39640:8:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal storage pointer" - } - }, - "id": 77477, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "39649:14:129", - "memberName": "convictionLast", - "nodeType": "MemberAccess", - "referencedDeclaration": 74757, - "src": "39640:23:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 77438, - "id": 77478, - "nodeType": "Return", - "src": "39633:30:129" - } - ] - }, - "functionSelector": "1aa91a9e", - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "updateProposalConviction", - "nameLocation": "39159:24:129", - "parameters": { - "id": 77435, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 77434, - "mutability": "mutable", - "name": "proposalId", - "nameLocation": "39192:10:129", - "nodeType": "VariableDeclaration", - "scope": 77480, - "src": "39184:18:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 77433, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "39184:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "39183:20:129" - }, - "returnParameters": { - "id": 77438, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 77437, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 77480, - "src": "39220:7:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 77436, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "39220:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "39219:9:129" - }, - "scope": 77611, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "id": 77499, - "nodeType": "FunctionDefinition", - "src": "39676:124:129", - "nodes": [], - "body": { - "id": 77498, - "nodeType": "Block", - "src": "39748:52:129", - "nodes": [], - "statements": [ - { - "expression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 77495, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 77489, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 77487, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77482, - "src": "39767:6:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "id": 77488, - "name": "D", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74972, - "src": "39776:1:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "39767:10:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 77490, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "39766:12:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 77493, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 77491, - "name": "D", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74972, - "src": "39782:1:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "id": 77492, - "name": "decay", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74986, - "src": "39786:5:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "39782:9:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 77494, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "39781:11:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "39766:26:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 77496, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "39765:28:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 77486, - "id": 77497, - "nodeType": "Return", - "src": "39758:35:129" - } - ] - }, - "functionSelector": "950559d7", - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getMaxConviction", - "nameLocation": "39685:16:129", - "parameters": { - "id": 77483, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 77482, - "mutability": "mutable", - "name": "amount", - "nameLocation": "39710:6:129", - "nodeType": "VariableDeclaration", - "scope": 77499, - "src": "39702:14:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 77481, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "39702:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "39701:16:129" - }, - "returnParameters": { - "id": 77486, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 77485, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 77499, - "src": "39739:7:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 77484, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "39739:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "39738:9:129" - }, - "scope": 77611, - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "id": 77517, - "nodeType": "FunctionDefinition", - "src": "39806:137:129", - "nodes": [], - "body": { - "id": 77516, - "nodeType": "Block", - "src": "39877:66:129", - "nodes": [], - "statements": [ - { - "expression": { - "id": 77510, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 77508, - "name": "decay", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74986, - "src": "39887:5:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 77509, - "name": "_decay", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77501, - "src": "39895:6:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "39887:14:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 77511, - "nodeType": "ExpressionStatement", - "src": "39887:14:129" - }, - { - "eventCall": { - "arguments": [ - { - "id": 77513, - "name": "_decay", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77501, - "src": "39929:6:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 77512, - "name": "DecayUpdated", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74951, - "src": "39916:12:129", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 77514, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "39916:20:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 77515, - "nodeType": "EmitStatement", - "src": "39911:25:129" - } - ] - }, - "functionSelector": "69fa25c4", - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": [ - { - "expression": { - "id": 77504, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "39865:3:129", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 77505, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "39869:6:129", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "39865:10:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "id": 77506, - "kind": "modifierInvocation", - "modifierName": { - "id": 77503, - "name": "onlyPoolManager", - "nameLocations": [ - "39849:15:129" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 3386, - "src": "39849:15:129" - }, - "nodeType": "ModifierInvocation", - "src": "39849:27:129" - } - ], - "name": "setDecay", - "nameLocation": "39815:8:129", - "parameters": { - "id": 77502, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 77501, - "mutability": "mutable", - "name": "_decay", - "nameLocation": "39832:6:129", - "nodeType": "VariableDeclaration", - "scope": 77517, - "src": "39824:14:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 77500, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "39824:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "39823:16:129" - }, - "returnParameters": { - "id": 77507, - "nodeType": "ParameterList", - "parameters": [], - "src": "39877:0:129" - }, - "scope": 77611, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "id": 77535, - "nodeType": "FunctionDefinition", - "src": "39949:155:129", - "nodes": [], - "body": { - "id": 77534, - "nodeType": "Block", - "src": "40026:78:129", - "nodes": [], - "statements": [ - { - "expression": { - "id": 77528, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 77526, - "name": "maxRatio", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74988, - "src": "40036:8:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 77527, - "name": "_maxRatio", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77519, - "src": "40047:9:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "40036:20:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 77529, - "nodeType": "ExpressionStatement", - "src": "40036:20:129" - }, - { - "eventCall": { - "arguments": [ - { - "id": 77531, - "name": "_maxRatio", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77519, - "src": "40087:9:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 77530, - "name": "MaxRatioUpdated", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74955, - "src": "40071:15:129", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 77532, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "40071:26:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 77533, - "nodeType": "EmitStatement", - "src": "40066:31:129" - } - ] - }, - "functionSelector": "11f22ae3", - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": [ - { - "expression": { - "id": 77522, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "40014:3:129", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 77523, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "40018:6:129", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "40014:10:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "id": 77524, - "kind": "modifierInvocation", - "modifierName": { - "id": 77521, - "name": "onlyPoolManager", - "nameLocations": [ - "39998:15:129" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 3386, - "src": "39998:15:129" - }, - "nodeType": "ModifierInvocation", - "src": "39998:27:129" - } - ], - "name": "setMaxRatio", - "nameLocation": "39958:11:129", - "parameters": { - "id": 77520, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 77519, - "mutability": "mutable", - "name": "_maxRatio", - "nameLocation": "39978:9:129", - "nodeType": "VariableDeclaration", - "scope": 77535, - "src": "39970:17:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 77518, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "39970:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "39969:19:129" - }, - "returnParameters": { - "id": 77525, - "nodeType": "ParameterList", - "parameters": [], - "src": "40026:0:129" - }, - "scope": 77611, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "id": 77553, - "nodeType": "FunctionDefinition", - "src": "40110:143:129", - "nodes": [], - "body": { - "id": 77552, - "nodeType": "Block", - "src": "40183:70:129", - "nodes": [], - "statements": [ - { - "expression": { - "id": 77546, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 77544, - "name": "weight", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74990, - "src": "40193:6:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 77545, - "name": "_weight", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77537, - "src": "40202:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "40193:16:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 77547, - "nodeType": "ExpressionStatement", - "src": "40193:16:129" - }, - { - "eventCall": { - "arguments": [ - { - "id": 77549, - "name": "_weight", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77537, - "src": "40238:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 77548, - "name": "WeightUpdated", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74959, - "src": "40224:13:129", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 77550, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "40224:22:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 77551, - "nodeType": "EmitStatement", - "src": "40219:27:129" - } - ] - }, - "functionSelector": "fc1711f2", - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": [ - { - "expression": { - "id": 77540, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "40171:3:129", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 77541, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "40175:6:129", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "40171:10:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "id": 77542, - "kind": "modifierInvocation", - "modifierName": { - "id": 77539, - "name": "onlyPoolManager", - "nameLocations": [ - "40155:15:129" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 3386, - "src": "40155:15:129" - }, - "nodeType": "ModifierInvocation", - "src": "40155:27:129" - } - ], - "name": "setWeight", - "nameLocation": "40119:9:129", - "parameters": { - "id": 77538, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 77537, - "mutability": "mutable", - "name": "_weight", - "nameLocation": "40137:7:129", - "nodeType": "VariableDeclaration", - "scope": 77553, - "src": "40129:15:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 77536, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "40129:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "40128:17:129" - }, - "returnParameters": { - "id": 77543, - "nodeType": "ParameterList", - "parameters": [], - "src": "40183:0:129" - }, - "scope": 77611, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "id": 77573, - "nodeType": "FunctionDefinition", - "src": "40259:219:129", - "nodes": [], - "body": { - "id": 77572, - "nodeType": "Block", - "src": "40354:124:129", - "nodes": [], - "statements": [ - { - "expression": { - "id": 77566, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 77562, - "name": "registryCommunity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75014, - "src": "40364:17:129", - "typeDescriptions": { - "typeIdentifier": "t_contract$_RegistryCommunity_$83082", - "typeString": "contract RegistryCommunity" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "id": 77564, - "name": "_registryCommunity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77555, - "src": "40402:18:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 77563, - "name": "RegistryCommunity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 83082, - "src": "40384:17:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_RegistryCommunity_$83082_$", - "typeString": "type(contract RegistryCommunity)" - } - }, - "id": 77565, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "40384:37:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_RegistryCommunity_$83082", - "typeString": "contract RegistryCommunity" - } - }, - "src": "40364:57:129", - "typeDescriptions": { - "typeIdentifier": "t_contract$_RegistryCommunity_$83082", - "typeString": "contract RegistryCommunity" - } - }, - "id": 77567, - "nodeType": "ExpressionStatement", - "src": "40364:57:129" - }, - { - "eventCall": { - "arguments": [ - { - "id": 77569, - "name": "_registryCommunity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77555, - "src": "40452:18:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 77568, - "name": "RegistryUpdated", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74963, - "src": "40436:15:129", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$", - "typeString": "function (address)" - } - }, - "id": 77570, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "40436:35:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 77571, - "nodeType": "EmitStatement", - "src": "40431:40:129" - } - ] - }, - "functionSelector": "058aca44", - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": [ - { - "expression": { - "id": 77558, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "40342:3:129", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 77559, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "40346:6:129", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "40342:10:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "id": 77560, - "kind": "modifierInvocation", - "modifierName": { - "id": 77557, - "name": "onlyPoolManager", - "nameLocations": [ - "40326:15:129" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 3386, - "src": "40326:15:129" - }, - "nodeType": "ModifierInvocation", - "src": "40326:27:129" - } - ], - "name": "setRegistryCommunity", - "nameLocation": "40268:20:129", - "parameters": { - "id": 77556, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 77555, - "mutability": "mutable", - "name": "_registryCommunity", - "nameLocation": "40297:18:129", - "nodeType": "VariableDeclaration", - "scope": 77573, - "src": "40289:26:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 77554, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "40289:7:129", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "40288:28:129" - }, - "returnParameters": { - "id": 77561, - "nodeType": "ParameterList", - "parameters": [], - "src": "40354:0:129" - }, - "scope": 77611, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "id": 77592, - "nodeType": "FunctionDefinition", - "src": "40484:237:129", - "nodes": [], - "body": { - "id": 77591, - "nodeType": "Block", - "src": "40581:140:129", - "nodes": [], - "statements": [ - { - "eventCall": { - "arguments": [ - { - "id": 77583, - "name": "_minThresholdPoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75000, - "src": "40622:19:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 77584, - "name": "minThresholdPoints_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77575, - "src": "40643:19:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 77582, - "name": "MinThresholdPointsUpdated", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74969, - "src": "40596:25:129", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (uint256,uint256)" - } - }, - "id": 77585, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "40596:67:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 77586, - "nodeType": "EmitStatement", - "src": "40591:72:129" - }, - { - "expression": { - "id": 77589, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 77587, - "name": "_minThresholdPoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75000, - "src": "40673:19:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 77588, - "name": "minThresholdPoints_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77575, - "src": "40695:19:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "40673:41:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 77590, - "nodeType": "ExpressionStatement", - "src": "40673:41:129" - } - ] - }, - "functionSelector": "2cefadbb", - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": [ - { - "expression": { - "id": 77578, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "40569:3:129", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 77579, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "40573:6:129", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "40569:10:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "id": 77580, - "kind": "modifierInvocation", - "modifierName": { - "id": 77577, - "name": "onlyPoolManager", - "nameLocations": [ - "40553:15:129" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 3386, - "src": "40553:15:129" - }, - "nodeType": "ModifierInvocation", - "src": "40553:27:129" - } - ], - "name": "setMinThresholdPoints", - "nameLocation": "40493:21:129", - "parameters": { - "id": 77576, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 77575, - "mutability": "mutable", - "name": "minThresholdPoints_", - "nameLocation": "40523:19:129", - "nodeType": "VariableDeclaration", - "scope": 77592, - "src": "40515:27:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 77574, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "40515:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "40514:29:129" - }, - "returnParameters": { - "id": 77581, - "nodeType": "ParameterList", - "parameters": [], - "src": "40581:0:129" - }, - "scope": 77611, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "id": 77610, - "nodeType": "FunctionDefinition", - "src": "40727:170:129", - "nodes": [], - "body": { - "id": 77609, - "nodeType": "Block", - "src": "40798:99:129", - "nodes": [], - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 77600, - "name": "_sybilScorer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77594, - "src": "40827:12:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 77599, - "name": "_revertZeroAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75256, - "src": "40808:18:129", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_address_$returns$__$", - "typeString": "function (address) pure" - } - }, - "id": 77601, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "40808:32:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 77602, - "nodeType": "ExpressionStatement", - "src": "40808:32:129" - }, - { - "expression": { - "id": 77607, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 77603, - "name": "sybilScorer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75017, - "src": "40850:11:129", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ISybilScorer_$80667", - "typeString": "contract ISybilScorer" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "id": 77605, - "name": "_sybilScorer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77594, - "src": "40877:12:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 77604, - "name": "ISybilScorer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 80667, - "src": "40864:12:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ISybilScorer_$80667_$", - "typeString": "type(contract ISybilScorer)" - } - }, - "id": 77606, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "40864:26:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_ISybilScorer_$80667", - "typeString": "contract ISybilScorer" - } - }, - "src": "40850:40:129", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ISybilScorer_$80667", - "typeString": "contract ISybilScorer" - } - }, - "id": 77608, - "nodeType": "ExpressionStatement", - "src": "40850:40:129" - } - ] - }, - "functionSelector": "ac1ed7b9", - "implemented": true, - "kind": "function", - "modifiers": [ - { - "id": 77597, - "kind": "modifierInvocation", - "modifierName": { - "id": 77596, - "name": "onlyCouncilSafe", - "nameLocations": [ - "40782:15:129" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 75050, - "src": "40782:15:129" - }, - "nodeType": "ModifierInvocation", - "src": "40782:15:129" - } - ], - "name": "setSybilScorer", - "nameLocation": "40736:14:129", - "parameters": { - "id": 77595, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 77594, - "mutability": "mutable", - "name": "_sybilScorer", - "nameLocation": "40759:12:129", - "nodeType": "VariableDeclaration", - "scope": 77610, - "src": "40751:20:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 77593, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "40751:7:129", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "40750:22:129" - }, - "returnParameters": { - "id": 77598, - "nodeType": "ParameterList", - "parameters": [], - "src": "40798:0:129" - }, - "scope": 77611, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "abstract": false, - "baseContracts": [ - { - "baseName": { - "id": 74808, - "name": "BaseStrategy", - "nameLocations": [ - "2810:12:129" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 3923, - "src": "2810:12:129" - }, - "id": 74809, - "nodeType": "InheritanceSpecifier", - "src": "2810:12:129" - }, - { - "baseName": { - "id": 74810, - "name": "IPointStrategy", - "nameLocations": [ - "2824:14:129" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 74722, - "src": "2824:14:129" - }, - "id": 74811, - "nodeType": "InheritanceSpecifier", - "src": "2824:14:129" - }, - { - "baseName": { - "id": 74812, - "name": "ERC165", - "nameLocations": [ - "2840:6:129" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 58266, - "src": "2840:6:129" - }, - "id": 74813, - "nodeType": "InheritanceSpecifier", - "src": "2840:6:129" - } - ], - "canonicalName": "CVStrategy", - "contractDependencies": [], - "contractKind": "contract", - "fullyImplemented": true, - "linearizedBaseContracts": [ - 77611, - 58266, - 58472, - 74722, - 3923, - 3089, - 3317, - 3106, - 2969 - ], - "name": "CVStrategy", - "nameLocation": "2796:10:129", - "scope": 77612, - "usedErrors": [ - 3008, - 3011, - 3014, - 3017, - 3020, - 3023, - 3026, - 3029, - 3032, - 3035, - 3038, - 3041, - 3044, - 3047, - 3050, - 3053, - 3056, - 3059, - 3062, - 3065, - 3068, - 3071, - 3074, - 3079, - 3082, - 3085, - 3088, - 3117, - 74818, - 74820, - 74822, - 74824, - 74826, - 74828, - 74830, - 74832, - 74834, - 74836, - 74838, - 74846, - 74848, - 74850, - 74856, - 74858, - 74860, - 74864, - 74868, - 74874, - 74876, - 74878, - 74886, - 74888, - 74890 - ] - } - ], - "license": "AGPL-3.0-only" - }, - "id": 129 -} \ No newline at end of file +{"abi":[{"type":"function","name":"deactivatePoints","inputs":[{"name":"_member","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"decreasePower","inputs":[{"name":"_member","type":"address","internalType":"address"},{"name":"_amountToUntake","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"getPointSystem","inputs":[],"outputs":[{"name":"","type":"uint8","internalType":"enum StrategyStruct.PointSystem"}],"stateMutability":"nonpayable"},{"type":"function","name":"increasePower","inputs":[{"name":"_member","type":"address","internalType":"address"},{"name":"_amountToStake","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"deactivatePoints(address)":"6453d9c4","decreasePower(address,uint256)":"2ed04b2b","getPointSystem()":"c3292171","increasePower(address,uint256)":"782aadff"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"}],\"name\":\"deactivatePoints\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amountToUntake\",\"type\":\"uint256\"}],\"name\":\"decreasePower\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getPointSystem\",\"outputs\":[{\"internalType\":\"enum StrategyStruct.PointSystem\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amountToStake\",\"type\":\"uint256\"}],\"name\":\"increasePower\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"pkg/contracts/src/CVStrategy.sol\":\"IPointStrategy\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1000},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":eas-proxy/=lib/allo-v2/lib/eas-proxy/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":hedgey-vesting/=lib/allo-v2/lib/hedgey-vesting/contracts/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-contracts/=lib/safe-contracts/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":superfluid-protocol-monorepo/=lib/allo-v2/lib/superfluid-protocol-monorepo/packages/solidity-semantic-money/src/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"]},\"sources\":{\"lib/allo-v2/contracts/core/interfaces/IAllo.sol\":{\"keccak256\":\"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7\",\"dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1\"]},\"lib/allo-v2/contracts/core/interfaces/IRegistry.sol\":{\"keccak256\":\"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e\",\"dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA\"]},\"lib/allo-v2/contracts/core/interfaces/IStrategy.sol\":{\"keccak256\":\"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487\",\"dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH\"]},\"lib/allo-v2/contracts/core/libraries/Clone.sol\":{\"keccak256\":\"0xc348b24b7d8a98c4faa5f2aa37ce9264a74f81dbdef1a9bae2eaa125585c3c7e\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://1335b3ec59ec7e3d12ea7c90b3aa56f4c26e0d44d342f54412933be9d4f16067\",\"dweb:/ipfs/QmXNFo2wCyq9cpvfgbdHvBUQecThFSEoUnMuZNS6WinDrr\"]},\"lib/allo-v2/contracts/core/libraries/Errors.sol\":{\"keccak256\":\"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf\",\"dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA\"]},\"lib/allo-v2/contracts/core/libraries/Metadata.sol\":{\"keccak256\":\"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c\",\"dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn\"]},\"lib/allo-v2/contracts/core/libraries/Native.sol\":{\"keccak256\":\"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a\",\"dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv\"]},\"lib/allo-v2/contracts/core/libraries/Transfer.sol\":{\"keccak256\":\"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11\",\"dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5\"]},\"lib/allo-v2/contracts/strategies/BaseStrategy.sol\":{\"keccak256\":\"0x3f1382dc6c35d50545e327e7ed6016f2bd752357d446bd698014073f0b812873\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://99500abcd617fa43f6dde49e2c7802821ceaf54a65a8055cbbf2695ecd107974\",\"dweb:/ipfs/QmUktZkWuu3GCMEijY1fqt7NMy7BzpTvEtcmpB1fuoa7zt\"]},\"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol\":{\"keccak256\":\"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298\",\"dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol\":{\"keccak256\":\"0x3d98edeb5d5be8410fca707b73dabe7544d1dd11e35b73dd907c473fe43cc3ae\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1a3fa9fc3aec149b8ad0dd8895277ab11e9244e9d2b7adc8404b22de974fc964\",\"dweb:/ipfs/QmRggzxs1WjuvGJSAKb2Nw5r7P3VDMefCWKTbkNPKRkv2j\"]},\"lib/openzeppelin-contracts/contracts/access/AccessControl.sol\":{\"keccak256\":\"0x0dd6e52cb394d7f5abe5dca2d4908a6be40417914720932de757de34a99ab87f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://dc117ce50ea746cab6b97ed1a1facee17a715ae0cb95d67b943dacbaf15176fb\",\"dweb:/ipfs/QmYRZ2UGNYwsHwfNu7Wjr8L2j1LBZ1mKv6NvbwgterYMXc\"]},\"lib/openzeppelin-contracts/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0x59ce320a585d7e1f163cd70390a0ef2ff9cec832e2aa544293a00692465a7a57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb2c137c343ef0c4c7ce7b18c1d108afdc9d315a04e48307288d2d05adcbde3a\",\"dweb:/ipfs/QmUxhrAQM3MM3FF5j7AtcXLXguWCJBHJ14BRdVtuoQc8Fh\"]},\"lib/openzeppelin-contracts/contracts/access/Ownable.sol\":{\"keccak256\":\"0xba43b97fba0d32eb4254f6a5a297b39a19a247082a02d6e69349e071e2946218\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fc980984badf3984b6303b377711220e067722bbd6a135b24669ff5069ef9f32\",\"dweb:/ipfs/QmPHXMSXj99XjSVM21YsY6aNtLLjLVXDbyN76J5HQYvvrz\"]},\"lib/openzeppelin-contracts/contracts/security/ReentrancyGuard.sol\":{\"keccak256\":\"0xa535a5df777d44e945dd24aa43a11e44b024140fc340ad0dfe42acf4002aade1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://41319e7f621f2dc3733511332c4fd032f8e32ad2aa7fd6f665c19741d9941a34\",\"dweb:/ipfs/QmcYR3bd862GD1Bc7jwrU9bGxrhUu5na1oP964bDCu2id1\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15\",\"dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5\",\"dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd\",\"dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol\":{\"keccak256\":\"0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a\",\"dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0x909d608c2db6eb165ca178c81289a07ed2e118e444d0025b2a85c97d0b44a4fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://656cda26512ddd7373c2d5551c8fae759fc30f05b10f0fc2e738e9274199dbd4\",\"dweb:/ipfs/QmTSArSzQRFbQmHgq7U1PZXnsDFhvDZhKVu9CzMG4yo6Lx\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"lib/openzeppelin-contracts/contracts/utils/Strings.sol\":{\"keccak256\":\"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f\",\"dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol\":{\"keccak256\":\"0x5a08ad61f4e82b8a3323562661a86fb10b10190848073fdc13d4ac43710ffba5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6f7bb74cf88fd88daa34e118bc6e363381d05044f34f391d39a10c0c9dac3ebd\",\"dweb:/ipfs/QmNbQ3v8v4zuDtg7VeLAbdhAm3tCzUodNoDZZ8ekmCHWZX\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]},\"pkg/contracts/src/CVStrategy.sol\":{\"keccak256\":\"0x132bcf17470960e380d841159d9389985d609aaae1c9a657c78902f7871da957\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://84e905bf392579b44f33fff8586431b940e110b2210854cf487321cc92061705\",\"dweb:/ipfs/QmQpvszYu8RbrXmUFLifSodQzV8LAqazk1fzXNARGc5sBT\"]},\"pkg/contracts/src/ISybilScorer.sol\":{\"keccak256\":\"0x0e25fbb8497ac3c969d80c9032362d45e56c0a45dc9ba3dff6a8a704571f38ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0dff90ebae6e7131a5300fcaf525bc2ab0ae90fcd13f277d7b7b6939eeb8b7eb\",\"dweb:/ipfs/QmYGkYqpUVrBWoNY6f3CtwrrVQFWSvnJfpu68t95f6AkBY\"]},\"pkg/contracts/src/RegistryCommunity.sol\":{\"keccak256\":\"0xc735f4d2635149f2db9bff291da56e08c3c312d9eb1b767b8a1e3e51584d5734\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://247b33b78abface6a7e2da38174386de9b543f6a27e8340e26d854bff57184a3\",\"dweb:/ipfs/QmedNdqkqeboGzz9w868uGf7KnXUaYZe6i1YcdUPPkJnnf\"]},\"pkg/contracts/src/RegistryFactory.sol\":{\"keccak256\":\"0x888b7f5eb1079f90ccfa0b41d8a970bffd8d4d469f9b31917a58279b358dbda5\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://af25fd783de00adf01d1c7caa572801fed0d474306a43b862535b08e65ec10c6\",\"dweb:/ipfs/Qmeb2nEaMQLV86y1CYAAV2c6BYpBDTbpLuC1SigeNjdqLo\"]},\"pkg/contracts/src/interfaces/ISafe.sol\":{\"keccak256\":\"0x878a210809bb684c42157a10f3f90350a67d0a4863f130499942b06f0f2c9143\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://fa2d71bd427c3415e98a2ee15ff673f3cc61c17f14d7087c5eedc83b55f6b0ef\",\"dweb:/ipfs/QmesVSmJQQzi6ys1cvhQFCJyDXchb736mT5bXks4Yp6Cbj\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"_member","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"deactivatePoints"},{"inputs":[{"internalType":"address","name":"_member","type":"address"},{"internalType":"uint256","name":"_amountToUntake","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"decreasePower","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"getPointSystem","outputs":[{"internalType":"enum StrategyStruct.PointSystem","name":"","type":"uint8"}]},{"inputs":[{"internalType":"address","name":"_member","type":"address"},{"internalType":"uint256","name":"_amountToStake","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"increasePower","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","eas-proxy/=lib/allo-v2/lib/eas-proxy/contracts/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","hedgey-vesting/=lib/allo-v2/lib/hedgey-vesting/contracts/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-contracts/=lib/safe-contracts/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","superfluid-protocol-monorepo/=lib/allo-v2/lib/superfluid-protocol-monorepo/packages/solidity-semantic-money/src/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":1000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"pkg/contracts/src/CVStrategy.sol":"IPointStrategy"},"evmVersion":"paris","libraries":{}},"sources":{"lib/allo-v2/contracts/core/interfaces/IAllo.sol":{"keccak256":"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce","urls":["bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7","dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/interfaces/IRegistry.sol":{"keccak256":"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f","urls":["bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e","dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA"],"license":"MIT"},"lib/allo-v2/contracts/core/interfaces/IStrategy.sol":{"keccak256":"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23","urls":["bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487","dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Clone.sol":{"keccak256":"0xc348b24b7d8a98c4faa5f2aa37ce9264a74f81dbdef1a9bae2eaa125585c3c7e","urls":["bzz-raw://1335b3ec59ec7e3d12ea7c90b3aa56f4c26e0d44d342f54412933be9d4f16067","dweb:/ipfs/QmXNFo2wCyq9cpvfgbdHvBUQecThFSEoUnMuZNS6WinDrr"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Errors.sol":{"keccak256":"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15","urls":["bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf","dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Metadata.sol":{"keccak256":"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44","urls":["bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c","dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Native.sol":{"keccak256":"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5","urls":["bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a","dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Transfer.sol":{"keccak256":"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286","urls":["bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11","dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/strategies/BaseStrategy.sol":{"keccak256":"0x3f1382dc6c35d50545e327e7ed6016f2bd752357d446bd698014073f0b812873","urls":["bzz-raw://99500abcd617fa43f6dde49e2c7802821ceaf54a65a8055cbbf2695ecd107974","dweb:/ipfs/QmUktZkWuu3GCMEijY1fqt7NMy7BzpTvEtcmpB1fuoa7zt"],"license":"AGPL-3.0-only"},"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol":{"keccak256":"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624","urls":["bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298","dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt"],"license":"MIT"},"lib/forge-std/src/console.sol":{"keccak256":"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba","urls":["bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70","dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol":{"keccak256":"0x3d98edeb5d5be8410fca707b73dabe7544d1dd11e35b73dd907c473fe43cc3ae","urls":["bzz-raw://1a3fa9fc3aec149b8ad0dd8895277ab11e9244e9d2b7adc8404b22de974fc964","dweb:/ipfs/QmRggzxs1WjuvGJSAKb2Nw5r7P3VDMefCWKTbkNPKRkv2j"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/access/AccessControl.sol":{"keccak256":"0x0dd6e52cb394d7f5abe5dca2d4908a6be40417914720932de757de34a99ab87f","urls":["bzz-raw://dc117ce50ea746cab6b97ed1a1facee17a715ae0cb95d67b943dacbaf15176fb","dweb:/ipfs/QmYRZ2UGNYwsHwfNu7Wjr8L2j1LBZ1mKv6NvbwgterYMXc"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/access/IAccessControl.sol":{"keccak256":"0x59ce320a585d7e1f163cd70390a0ef2ff9cec832e2aa544293a00692465a7a57","urls":["bzz-raw://bb2c137c343ef0c4c7ce7b18c1d108afdc9d315a04e48307288d2d05adcbde3a","dweb:/ipfs/QmUxhrAQM3MM3FF5j7AtcXLXguWCJBHJ14BRdVtuoQc8Fh"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/access/Ownable.sol":{"keccak256":"0xba43b97fba0d32eb4254f6a5a297b39a19a247082a02d6e69349e071e2946218","urls":["bzz-raw://fc980984badf3984b6303b377711220e067722bbd6a135b24669ff5069ef9f32","dweb:/ipfs/QmPHXMSXj99XjSVM21YsY6aNtLLjLVXDbyN76J5HQYvvrz"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/security/ReentrancyGuard.sol":{"keccak256":"0xa535a5df777d44e945dd24aa43a11e44b024140fc340ad0dfe42acf4002aade1","urls":["bzz-raw://41319e7f621f2dc3733511332c4fd032f8e32ad2aa7fd6f665c19741d9941a34","dweb:/ipfs/QmcYR3bd862GD1Bc7jwrU9bGxrhUu5na1oP964bDCu2id1"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol":{"keccak256":"0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c","urls":["bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15","dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305","urls":["bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5","dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol":{"keccak256":"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca","urls":["bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd","dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol":{"keccak256":"0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a","urls":["bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a","dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol":{"keccak256":"0x909d608c2db6eb165ca178c81289a07ed2e118e444d0025b2a85c97d0b44a4fa","urls":["bzz-raw://656cda26512ddd7373c2d5551c8fae759fc30f05b10f0fc2e738e9274199dbd4","dweb:/ipfs/QmTSArSzQRFbQmHgq7U1PZXnsDFhvDZhKVu9CzMG4yo6Lx"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Address.sol":{"keccak256":"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa","urls":["bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931","dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Context.sol":{"keccak256":"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7","urls":["bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92","dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Strings.sol":{"keccak256":"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0","urls":["bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f","dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol":{"keccak256":"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b","urls":["bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d","dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol":{"keccak256":"0x5a08ad61f4e82b8a3323562661a86fb10b10190848073fdc13d4ac43710ffba5","urls":["bzz-raw://6f7bb74cf88fd88daa34e118bc6e363381d05044f34f391d39a10c0c9dac3ebd","dweb:/ipfs/QmNbQ3v8v4zuDtg7VeLAbdhAm3tCzUodNoDZZ8ekmCHWZX"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/Math.sol":{"keccak256":"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3","urls":["bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c","dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol":{"keccak256":"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc","urls":["bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7","dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6"],"license":"MIT"},"pkg/contracts/src/CVStrategy.sol":{"keccak256":"0x132bcf17470960e380d841159d9389985d609aaae1c9a657c78902f7871da957","urls":["bzz-raw://84e905bf392579b44f33fff8586431b940e110b2210854cf487321cc92061705","dweb:/ipfs/QmQpvszYu8RbrXmUFLifSodQzV8LAqazk1fzXNARGc5sBT"],"license":"AGPL-3.0-only"},"pkg/contracts/src/ISybilScorer.sol":{"keccak256":"0x0e25fbb8497ac3c969d80c9032362d45e56c0a45dc9ba3dff6a8a704571f38ea","urls":["bzz-raw://0dff90ebae6e7131a5300fcaf525bc2ab0ae90fcd13f277d7b7b6939eeb8b7eb","dweb:/ipfs/QmYGkYqpUVrBWoNY6f3CtwrrVQFWSvnJfpu68t95f6AkBY"],"license":"MIT"},"pkg/contracts/src/RegistryCommunity.sol":{"keccak256":"0xc735f4d2635149f2db9bff291da56e08c3c312d9eb1b767b8a1e3e51584d5734","urls":["bzz-raw://247b33b78abface6a7e2da38174386de9b543f6a27e8340e26d854bff57184a3","dweb:/ipfs/QmedNdqkqeboGzz9w868uGf7KnXUaYZe6i1YcdUPPkJnnf"],"license":"AGPL-3.0-only"},"pkg/contracts/src/RegistryFactory.sol":{"keccak256":"0x888b7f5eb1079f90ccfa0b41d8a970bffd8d4d469f9b31917a58279b358dbda5","urls":["bzz-raw://af25fd783de00adf01d1c7caa572801fed0d474306a43b862535b08e65ec10c6","dweb:/ipfs/Qmeb2nEaMQLV86y1CYAAV2c6BYpBDTbpLuC1SigeNjdqLo"],"license":"AGPL-3.0-only"},"pkg/contracts/src/interfaces/ISafe.sol":{"keccak256":"0x878a210809bb684c42157a10f3f90350a67d0a4863f130499942b06f0f2c9143","urls":["bzz-raw://fa2d71bd427c3415e98a2ee15ff673f3cc61c17f14d7087c5eedc83b55f6b0ef","dweb:/ipfs/QmesVSmJQQzi6ys1cvhQFCJyDXchb736mT5bXks4Yp6Cbj"],"license":"LGPL-3.0-only"}},"version":1},"storageLayout":{"storage":[],"types":{}},"ast":{"absolutePath":"pkg/contracts/src/CVStrategy.sol","id":77612,"exportedSymbols":{"BaseStrategy":[3923],"CVStrategy":[77611],"ERC165":[58266],"ERC20":[56991],"IAllo":[2610],"IERC165":[58472],"IPointStrategy":[74722],"ISybilScorer":[80667],"Math":[59338],"Metadata":[3098],"PassportData":[80585],"RegistryCommunity":[83082],"StrategyStruct":[74807],"console":[29549]},"nodeType":"SourceUnit","src":"42:40858:129","nodes":[{"id":74674,"nodeType":"PragmaDirective","src":"42:24:129","nodes":[],"literals":["solidity","^","0.8",".19"]},{"id":74677,"nodeType":"ImportDirective","src":"68:82:129","nodes":[],"absolutePath":"lib/allo-v2/contracts/strategies/BaseStrategy.sol","file":"allo-v2-contracts/strategies/BaseStrategy.sol","nameLocation":"-1:-1:-1","scope":77612,"sourceUnit":3924,"symbolAliases":[{"foreign":{"id":74675,"name":"BaseStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3923,"src":"76:12:129","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":74676,"name":"IAllo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2610,"src":"90:5:129","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":74680,"nodeType":"ImportDirective","src":"152:68:129","nodes":[],"absolutePath":"pkg/contracts/src/RegistryCommunity.sol","file":"./RegistryCommunity.sol","nameLocation":"-1:-1:-1","scope":77612,"sourceUnit":83083,"symbolAliases":[{"foreign":{"id":74678,"name":"RegistryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83082,"src":"160:17:129","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":74679,"name":"Metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3098,"src":"179:8:129","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":74683,"nodeType":"ImportDirective","src":"221:87:129","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol","file":"@openzeppelin/contracts/utils/introspection/ERC165.sol","nameLocation":"-1:-1:-1","scope":77612,"sourceUnit":58267,"symbolAliases":[{"foreign":{"id":74681,"name":"ERC165","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58266,"src":"229:6:129","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":74682,"name":"IERC165","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58472,"src":"237:7:129","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":74685,"nodeType":"ImportDirective","src":"309:68:129","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol","file":"@openzeppelin/contracts/token/ERC20/ERC20.sol","nameLocation":"-1:-1:-1","scope":77612,"sourceUnit":56992,"symbolAliases":[{"foreign":{"id":74684,"name":"ERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56991,"src":"317:5:129","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":74687,"nodeType":"ImportDirective","src":"379:46:129","nodes":[],"absolutePath":"lib/forge-std/src/console.sol","file":"forge-std/console.sol","nameLocation":"-1:-1:-1","scope":77612,"sourceUnit":29550,"symbolAliases":[{"foreign":{"id":74686,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29549,"src":"387:7:129","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":74689,"nodeType":"ImportDirective","src":"427:65:129","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/utils/math/Math.sol","file":"@openzeppelin/contracts/utils/math/Math.sol","nameLocation":"-1:-1:-1","scope":77612,"sourceUnit":59339,"symbolAliases":[{"foreign":{"id":74688,"name":"Math","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59338,"src":"435:4:129","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":74692,"nodeType":"ImportDirective","src":"493:62:129","nodes":[],"absolutePath":"pkg/contracts/src/ISybilScorer.sol","file":"./ISybilScorer.sol","nameLocation":"-1:-1:-1","scope":77612,"sourceUnit":80668,"symbolAliases":[{"foreign":{"id":74690,"name":"ISybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80667,"src":"501:12:129","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":74691,"name":"PassportData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80585,"src":"515:12:129","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":74722,"nodeType":"ContractDefinition","src":"557:355:129","nodes":[{"id":74697,"nodeType":"FunctionDefinition","src":"588:52:129","nodes":[],"functionSelector":"6453d9c4","implemented":false,"kind":"function","modifiers":[],"name":"deactivatePoints","nameLocation":"597:16:129","parameters":{"id":74695,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74694,"mutability":"mutable","name":"_member","nameLocation":"622:7:129","nodeType":"VariableDeclaration","scope":74697,"src":"614:15:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74693,"name":"address","nodeType":"ElementaryTypeName","src":"614:7:129","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"613:17:129"},"returnParameters":{"id":74696,"nodeType":"ParameterList","parameters":[],"src":"639:0:129"},"scope":74722,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":74706,"nodeType":"FunctionDefinition","src":"645:91:129","nodes":[],"functionSelector":"782aadff","implemented":false,"kind":"function","modifiers":[],"name":"increasePower","nameLocation":"654:13:129","parameters":{"id":74702,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74699,"mutability":"mutable","name":"_member","nameLocation":"676:7:129","nodeType":"VariableDeclaration","scope":74706,"src":"668:15:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74698,"name":"address","nodeType":"ElementaryTypeName","src":"668:7:129","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":74701,"mutability":"mutable","name":"_amountToStake","nameLocation":"693:14:129","nodeType":"VariableDeclaration","scope":74706,"src":"685:22:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74700,"name":"uint256","nodeType":"ElementaryTypeName","src":"685:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"667:41:129"},"returnParameters":{"id":74705,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74704,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":74706,"src":"727:7:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74703,"name":"uint256","nodeType":"ElementaryTypeName","src":"727:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"726:9:129"},"scope":74722,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":74715,"nodeType":"FunctionDefinition","src":"741:92:129","nodes":[],"functionSelector":"2ed04b2b","implemented":false,"kind":"function","modifiers":[],"name":"decreasePower","nameLocation":"750:13:129","parameters":{"id":74711,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74708,"mutability":"mutable","name":"_member","nameLocation":"772:7:129","nodeType":"VariableDeclaration","scope":74715,"src":"764:15:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74707,"name":"address","nodeType":"ElementaryTypeName","src":"764:7:129","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":74710,"mutability":"mutable","name":"_amountToUntake","nameLocation":"789:15:129","nodeType":"VariableDeclaration","scope":74715,"src":"781:23:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74709,"name":"uint256","nodeType":"ElementaryTypeName","src":"781:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"763:42:129"},"returnParameters":{"id":74714,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74713,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":74715,"src":"824:7:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74712,"name":"uint256","nodeType":"ElementaryTypeName","src":"824:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"823:9:129"},"scope":74722,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":74721,"nodeType":"FunctionDefinition","src":"838:72:129","nodes":[],"functionSelector":"c3292171","implemented":false,"kind":"function","modifiers":[],"name":"getPointSystem","nameLocation":"847:14:129","parameters":{"id":74716,"nodeType":"ParameterList","parameters":[],"src":"861:2:129"},"returnParameters":{"id":74720,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74719,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":74721,"src":"882:26:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$74731","typeString":"enum StrategyStruct.PointSystem"},"typeName":{"id":74718,"nodeType":"UserDefinedTypeName","pathNode":{"id":74717,"name":"StrategyStruct.PointSystem","nameLocations":["882:14:129","897:11:129"],"nodeType":"IdentifierPath","referencedDeclaration":74731,"src":"882:26:129"},"referencedDeclaration":74731,"src":"882:26:129","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$74731","typeString":"enum StrategyStruct.PointSystem"}},"visibility":"internal"}],"src":"881:28:129"},"scope":74722,"stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"IPointStrategy","contractDependencies":[],"contractKind":"interface","fullyImplemented":false,"linearizedBaseContracts":[74722],"name":"IPointStrategy","nameLocation":"567:14:129","scope":77612,"usedErrors":[]},{"id":74807,"nodeType":"ContractDefinition","src":"914:1871:129","nodes":[{"id":74726,"nodeType":"EnumDefinition","src":"943:79:129","nodes":[],"canonicalName":"StrategyStruct.ProposalType","members":[{"id":74723,"name":"Signaling","nameLocation":"971:9:129","nodeType":"EnumValue","src":"971:9:129"},{"id":74724,"name":"Funding","nameLocation":"990:7:129","nodeType":"EnumValue","src":"990:7:129"},{"id":74725,"name":"Streaming","nameLocation":"1007:9:129","nodeType":"EnumValue","src":"1007:9:129"}],"name":"ProposalType","nameLocation":"948:12:129"},{"id":74731,"nodeType":"EnumDefinition","src":"1028:92:129","nodes":[],"canonicalName":"StrategyStruct.PointSystem","members":[{"id":74727,"name":"Fixed","nameLocation":"1055:5:129","nodeType":"EnumValue","src":"1055:5:129"},{"id":74728,"name":"Capped","nameLocation":"1070:6:129","nodeType":"EnumValue","src":"1070:6:129"},{"id":74729,"name":"Unlimited","nameLocation":"1086:9:129","nodeType":"EnumValue","src":"1086:9:129"},{"id":74730,"name":"Quadratic","nameLocation":"1105:9:129","nodeType":"EnumValue","src":"1105:9:129"}],"name":"PointSystem","nameLocation":"1033:11:129"},{"id":74743,"nodeType":"StructDefinition","src":"1126:243:129","nodes":[],"canonicalName":"StrategyStruct.CreateProposal","members":[{"constant":false,"id":74733,"mutability":"mutable","name":"poolId","nameLocation":"1197:6:129","nodeType":"VariableDeclaration","scope":74743,"src":"1189:14:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74732,"name":"uint256","nodeType":"ElementaryTypeName","src":"1189:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74735,"mutability":"mutable","name":"beneficiary","nameLocation":"1221:11:129","nodeType":"VariableDeclaration","scope":74743,"src":"1213:19:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74734,"name":"address","nodeType":"ElementaryTypeName","src":"1213:7:129","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":74737,"mutability":"mutable","name":"amountRequested","nameLocation":"1288:15:129","nodeType":"VariableDeclaration","scope":74743,"src":"1280:23:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74736,"name":"uint256","nodeType":"ElementaryTypeName","src":"1280:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74739,"mutability":"mutable","name":"requestedToken","nameLocation":"1321:14:129","nodeType":"VariableDeclaration","scope":74743,"src":"1313:22:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74738,"name":"address","nodeType":"ElementaryTypeName","src":"1313:7:129","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":74742,"mutability":"mutable","name":"metadata","nameLocation":"1354:8:129","nodeType":"VariableDeclaration","scope":74743,"src":"1345:17:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"},"typeName":{"id":74741,"nodeType":"UserDefinedTypeName","pathNode":{"id":74740,"name":"Metadata","nameLocations":["1345:8:129"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"1345:8:129"},"referencedDeclaration":3098,"src":"1345:8:129","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"}],"name":"CreateProposal","nameLocation":"1133:14:129","scope":74807,"visibility":"public"},{"id":74749,"nodeType":"EnumDefinition","src":"1375:289:129","nodes":[],"canonicalName":"StrategyStruct.ProposalStatus","members":[{"id":74744,"name":"Inactive","nameLocation":"1405:8:129","nodeType":"EnumValue","src":"1405:8:129"},{"id":74745,"name":"Active","nameLocation":"1435:6:129","nodeType":"EnumValue","src":"1435:6:129"},{"id":74746,"name":"Paused","nameLocation":"1498:6:129","nodeType":"EnumValue","src":"1498:6:129"},{"id":74747,"name":"Cancelled","nameLocation":"1563:9:129","nodeType":"EnumValue","src":"1563:9:129"},{"id":74748,"name":"Executed","nameLocation":"1616:8:129","nodeType":"EnumValue","src":"1616:8:129"}],"name":"ProposalStatus","nameLocation":"1380:14:129"},{"id":74776,"nodeType":"StructDefinition","src":"1670:405:129","nodes":[],"canonicalName":"StrategyStruct.Proposal","members":[{"constant":false,"id":74751,"mutability":"mutable","name":"proposalId","nameLocation":"1704:10:129","nodeType":"VariableDeclaration","scope":74776,"src":"1696:18:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74750,"name":"uint256","nodeType":"ElementaryTypeName","src":"1696:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74753,"mutability":"mutable","name":"requestedAmount","nameLocation":"1732:15:129","nodeType":"VariableDeclaration","scope":74776,"src":"1724:23:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74752,"name":"uint256","nodeType":"ElementaryTypeName","src":"1724:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74755,"mutability":"mutable","name":"stakedAmount","nameLocation":"1765:12:129","nodeType":"VariableDeclaration","scope":74776,"src":"1757:20:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74754,"name":"uint256","nodeType":"ElementaryTypeName","src":"1757:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74757,"mutability":"mutable","name":"convictionLast","nameLocation":"1795:14:129","nodeType":"VariableDeclaration","scope":74776,"src":"1787:22:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74756,"name":"uint256","nodeType":"ElementaryTypeName","src":"1787:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74759,"mutability":"mutable","name":"beneficiary","nameLocation":"1827:11:129","nodeType":"VariableDeclaration","scope":74776,"src":"1819:19:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74758,"name":"address","nodeType":"ElementaryTypeName","src":"1819:7:129","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":74761,"mutability":"mutable","name":"submitter","nameLocation":"1856:9:129","nodeType":"VariableDeclaration","scope":74776,"src":"1848:17:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74760,"name":"address","nodeType":"ElementaryTypeName","src":"1848:7:129","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":74763,"mutability":"mutable","name":"requestedToken","nameLocation":"1883:14:129","nodeType":"VariableDeclaration","scope":74776,"src":"1875:22:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74762,"name":"address","nodeType":"ElementaryTypeName","src":"1875:7:129","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":74765,"mutability":"mutable","name":"blockLast","nameLocation":"1915:9:129","nodeType":"VariableDeclaration","scope":74776,"src":"1907:17:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74764,"name":"uint256","nodeType":"ElementaryTypeName","src":"1907:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74768,"mutability":"mutable","name":"proposalStatus","nameLocation":"1949:14:129","nodeType":"VariableDeclaration","scope":74776,"src":"1934:29:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$74749","typeString":"enum StrategyStruct.ProposalStatus"},"typeName":{"id":74767,"nodeType":"UserDefinedTypeName","pathNode":{"id":74766,"name":"ProposalStatus","nameLocations":["1934:14:129"],"nodeType":"IdentifierPath","referencedDeclaration":74749,"src":"1934:14:129"},"referencedDeclaration":74749,"src":"1934:14:129","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$74749","typeString":"enum StrategyStruct.ProposalStatus"}},"visibility":"internal"},{"constant":false,"id":74772,"mutability":"mutable","name":"voterStakedPoints","nameLocation":"2001:17:129","nodeType":"VariableDeclaration","scope":74776,"src":"1973:45:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"typeName":{"id":74771,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":74769,"name":"address","nodeType":"ElementaryTypeName","src":"1981:7:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"1973:27:129","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":74770,"name":"uint256","nodeType":"ElementaryTypeName","src":"1992:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"internal"},{"constant":false,"id":74775,"mutability":"mutable","name":"metadata","nameLocation":"2060:8:129","nodeType":"VariableDeclaration","scope":74776,"src":"2051:17:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"},"typeName":{"id":74774,"nodeType":"UserDefinedTypeName","pathNode":{"id":74773,"name":"Metadata","nameLocations":["2051:8:129"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"2051:8:129"},"referencedDeclaration":3098,"src":"2051:8:129","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"}],"name":"Proposal","nameLocation":"1677:8:129","scope":74807,"visibility":"public"},{"id":74781,"nodeType":"StructDefinition","src":"2081:126:129","nodes":[],"canonicalName":"StrategyStruct.ProposalSupport","members":[{"constant":false,"id":74778,"mutability":"mutable","name":"proposalId","nameLocation":"2122:10:129","nodeType":"VariableDeclaration","scope":74781,"src":"2114:18:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74777,"name":"uint256","nodeType":"ElementaryTypeName","src":"2114:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74780,"mutability":"mutable","name":"deltaSupport","nameLocation":"2149:12:129","nodeType":"VariableDeclaration","scope":74781,"src":"2142:19:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":74779,"name":"int256","nodeType":"ElementaryTypeName","src":"2142:6:129","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"name":"ProposalSupport","nameLocation":"2088:15:129","scope":74807,"visibility":"public"},{"id":74784,"nodeType":"StructDefinition","src":"2213:89:129","nodes":[],"canonicalName":"StrategyStruct.PointSystemConfig","members":[{"constant":false,"id":74783,"mutability":"mutable","name":"maxAmount","nameLocation":"2286:9:129","nodeType":"VariableDeclaration","scope":74784,"src":"2278:17:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74782,"name":"uint256","nodeType":"ElementaryTypeName","src":"2278:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"PointSystemConfig","nameLocation":"2220:17:129","scope":74807,"visibility":"public"},{"id":74806,"nodeType":"StructDefinition","src":"2308:475:129","nodes":[],"canonicalName":"StrategyStruct.InitializeParams","members":[{"constant":false,"id":74786,"mutability":"mutable","name":"registryCommunity","nameLocation":"2350:17:129","nodeType":"VariableDeclaration","scope":74806,"src":"2342:25:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74785,"name":"address","nodeType":"ElementaryTypeName","src":"2342:7:129","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":74788,"mutability":"mutable","name":"decay","nameLocation":"2414:5:129","nodeType":"VariableDeclaration","scope":74806,"src":"2406:13:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74787,"name":"uint256","nodeType":"ElementaryTypeName","src":"2406:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74790,"mutability":"mutable","name":"maxRatio","nameLocation":"2484:8:129","nodeType":"VariableDeclaration","scope":74806,"src":"2476:16:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74789,"name":"uint256","nodeType":"ElementaryTypeName","src":"2476:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74792,"mutability":"mutable","name":"weight","nameLocation":"2538:6:129","nodeType":"VariableDeclaration","scope":74806,"src":"2530:14:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74791,"name":"uint256","nodeType":"ElementaryTypeName","src":"2530:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74794,"mutability":"mutable","name":"minThresholdPoints","nameLocation":"2562:18:129","nodeType":"VariableDeclaration","scope":74806,"src":"2554:26:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74793,"name":"uint256","nodeType":"ElementaryTypeName","src":"2554:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74797,"mutability":"mutable","name":"proposalType","nameLocation":"2628:12:129","nodeType":"VariableDeclaration","scope":74806,"src":"2615:25:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$74726","typeString":"enum StrategyStruct.ProposalType"},"typeName":{"id":74796,"nodeType":"UserDefinedTypeName","pathNode":{"id":74795,"name":"ProposalType","nameLocations":["2615:12:129"],"nodeType":"IdentifierPath","referencedDeclaration":74726,"src":"2615:12:129"},"referencedDeclaration":74726,"src":"2615:12:129","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$74726","typeString":"enum StrategyStruct.ProposalType"}},"visibility":"internal"},{"constant":false,"id":74800,"mutability":"mutable","name":"pointSystem","nameLocation":"2697:11:129","nodeType":"VariableDeclaration","scope":74806,"src":"2685:23:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$74731","typeString":"enum StrategyStruct.PointSystem"},"typeName":{"id":74799,"nodeType":"UserDefinedTypeName","pathNode":{"id":74798,"name":"PointSystem","nameLocations":["2685:11:129"],"nodeType":"IdentifierPath","referencedDeclaration":74731,"src":"2685:11:129"},"referencedDeclaration":74731,"src":"2685:11:129","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$74731","typeString":"enum StrategyStruct.PointSystem"}},"visibility":"internal"},{"constant":false,"id":74803,"mutability":"mutable","name":"pointConfig","nameLocation":"2736:11:129","nodeType":"VariableDeclaration","scope":74806,"src":"2718:29:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$74784_storage_ptr","typeString":"struct StrategyStruct.PointSystemConfig"},"typeName":{"id":74802,"nodeType":"UserDefinedTypeName","pathNode":{"id":74801,"name":"PointSystemConfig","nameLocations":["2718:17:129"],"nodeType":"IdentifierPath","referencedDeclaration":74784,"src":"2718:17:129"},"referencedDeclaration":74784,"src":"2718:17:129","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$74784_storage_ptr","typeString":"struct StrategyStruct.PointSystemConfig"}},"visibility":"internal"},{"constant":false,"id":74805,"mutability":"mutable","name":"sybilScorer","nameLocation":"2765:11:129","nodeType":"VariableDeclaration","scope":74806,"src":"2757:19:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74804,"name":"address","nodeType":"ElementaryTypeName","src":"2757:7:129","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"name":"InitializeParams","nameLocation":"2315:16:129","scope":74807,"visibility":"public"}],"abstract":false,"baseContracts":[],"canonicalName":"StrategyStruct","contractDependencies":[],"contractKind":"library","fullyImplemented":true,"linearizedBaseContracts":[74807],"name":"StrategyStruct","nameLocation":"922:14:129","scope":77612,"usedErrors":[]},{"id":77611,"nodeType":"ContractDefinition","src":"2787:38112:129","nodes":[{"id":74816,"nodeType":"UsingForDirective","src":"2853:23:129","nodes":[],"global":false,"libraryName":{"id":74814,"name":"Math","nameLocations":["2859:4:129"],"nodeType":"IdentifierPath","referencedDeclaration":59338,"src":"2859:4:129"},"typeName":{"id":74815,"name":"uint256","nodeType":"ElementaryTypeName","src":"2868:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},{"id":74818,"nodeType":"ErrorDefinition","src":"3047:25:129","nodes":[],"errorSelector":"d1f28288","name":"UserCannotBeZero","nameLocation":"3053:16:129","parameters":{"id":74817,"nodeType":"ParameterList","parameters":[],"src":"3069:2:129"}},{"id":74820,"nodeType":"ErrorDefinition","src":"3091:26:129","nodes":[],"errorSelector":"6a5cfb6d","name":"UserNotInRegistry","nameLocation":"3097:17:129","parameters":{"id":74819,"nodeType":"ParameterList","parameters":[],"src":"3114:2:129"}},{"id":74822,"nodeType":"ErrorDefinition","src":"3135:23:129","nodes":[],"errorSelector":"5fccb67f","name":"UserIsInactive","nameLocation":"3141:14:129","parameters":{"id":74821,"nodeType":"ParameterList","parameters":[],"src":"3155:2:129"}},{"id":74824,"nodeType":"ErrorDefinition","src":"3177:20:129","nodes":[],"errorSelector":"ed4421ad","name":"PoolIsEmpty","nameLocation":"3183:11:129","parameters":{"id":74823,"nodeType":"ParameterList","parameters":[],"src":"3194:2:129"}},{"id":74826,"nodeType":"ErrorDefinition","src":"3216:23:129","nodes":[],"errorSelector":"d6234725","name":"NotImplemented","nameLocation":"3222:14:129","parameters":{"id":74825,"nodeType":"ParameterList","parameters":[],"src":"3236:2:129"}},{"id":74828,"nodeType":"ErrorDefinition","src":"3257:26:129","nodes":[],"errorSelector":"596a094c","name":"TokenCannotBeZero","nameLocation":"3263:17:129","parameters":{"id":74827,"nodeType":"ParameterList","parameters":[],"src":"3280:2:129"}},{"id":74830,"nodeType":"ErrorDefinition","src":"3301:24:129","nodes":[],"errorSelector":"a29c4986","name":"TokenNotAllowed","nameLocation":"3307:15:129","parameters":{"id":74829,"nodeType":"ParameterList","parameters":[],"src":"3322:2:129"}},{"id":74832,"nodeType":"ErrorDefinition","src":"3344:27:129","nodes":[],"errorSelector":"3bf5ca14","name":"AmountOverMaxRatio","nameLocation":"3350:18:129","parameters":{"id":74831,"nodeType":"ParameterList","parameters":[],"src":"3368:2:129"}},{"id":74834,"nodeType":"ErrorDefinition","src":"3390:27:129","nodes":[],"errorSelector":"4e791786","name":"PoolIdCannotBeZero","nameLocation":"3396:18:129","parameters":{"id":74833,"nodeType":"ParameterList","parameters":[],"src":"3414:2:129"}},{"id":74836,"nodeType":"ErrorDefinition","src":"3435:28:129","nodes":[],"errorSelector":"e622e040","name":"AddressCannotBeZero","nameLocation":"3441:19:129","parameters":{"id":74835,"nodeType":"ParameterList","parameters":[],"src":"3460:2:129"}},{"id":74838,"nodeType":"ErrorDefinition","src":"3481:29:129","nodes":[],"errorSelector":"5df4b1ef","name":"RegistryCannotBeZero","nameLocation":"3487:20:129","parameters":{"id":74837,"nodeType":"ParameterList","parameters":[],"src":"3507:2:129"}},{"id":74846,"nodeType":"ErrorDefinition","src":"3529:72:129","nodes":[],"errorSelector":"3bbc7142","name":"SupportUnderflow","nameLocation":"3535:16:129","parameters":{"id":74845,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74840,"mutability":"mutable","name":"_support","nameLocation":"3560:8:129","nodeType":"VariableDeclaration","scope":74846,"src":"3552:16:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74839,"name":"uint256","nodeType":"ElementaryTypeName","src":"3552:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74842,"mutability":"mutable","name":"_delta","nameLocation":"3577:6:129","nodeType":"VariableDeclaration","scope":74846,"src":"3570:13:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":74841,"name":"int256","nodeType":"ElementaryTypeName","src":"3570:6:129","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":74844,"mutability":"mutable","name":"_result","nameLocation":"3592:7:129","nodeType":"VariableDeclaration","scope":74846,"src":"3585:14:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":74843,"name":"int256","nodeType":"ElementaryTypeName","src":"3585:6:129","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"3551:49:129"}},{"id":74848,"nodeType":"ErrorDefinition","src":"3620:25:129","nodes":[],"errorSelector":"8402b474","name":"MaxPointsReached","nameLocation":"3626:16:129","parameters":{"id":74847,"nodeType":"ParameterList","parameters":[],"src":"3642:2:129"}},{"id":74850,"nodeType":"ErrorDefinition","src":"3664:32:129","nodes":[],"errorSelector":"573c3e93","name":"CantIncreaseFixedSystem","nameLocation":"3670:23:129","parameters":{"id":74849,"nodeType":"ParameterList","parameters":[],"src":"3693:2:129"}},{"id":74856,"nodeType":"ErrorDefinition","src":"3715:77:129","nodes":[],"errorSelector":"d64182fe","name":"NotEnoughPointsToSupport","nameLocation":"3721:24:129","parameters":{"id":74855,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74852,"mutability":"mutable","name":"pointsSupport","nameLocation":"3754:13:129","nodeType":"VariableDeclaration","scope":74856,"src":"3746:21:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74851,"name":"uint256","nodeType":"ElementaryTypeName","src":"3746:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74854,"mutability":"mutable","name":"pointsBalance","nameLocation":"3777:13:129","nodeType":"VariableDeclaration","scope":74856,"src":"3769:21:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74853,"name":"uint256","nodeType":"ElementaryTypeName","src":"3769:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3745:46:129"}},{"id":74858,"nodeType":"ErrorDefinition","src":"3812:28:129","nodes":[],"errorSelector":"c5f7c4c0","name":"ProposalDataIsEmpty","nameLocation":"3818:19:129","parameters":{"id":74857,"nodeType":"ParameterList","parameters":[],"src":"3837:2:129"}},{"id":74860,"nodeType":"ErrorDefinition","src":"3858:31:129","nodes":[],"errorSelector":"f881a10d","name":"ProposalIdCannotBeZero","nameLocation":"3864:22:129","parameters":{"id":74859,"nodeType":"ParameterList","parameters":[],"src":"3886:2:129"}},{"id":74864,"nodeType":"ErrorDefinition","src":"3907:45:129","nodes":[],"errorSelector":"44980d8f","name":"ProposalNotActive","nameLocation":"3913:17:129","parameters":{"id":74863,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74862,"mutability":"mutable","name":"_proposalId","nameLocation":"3939:11:129","nodeType":"VariableDeclaration","scope":74864,"src":"3931:19:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74861,"name":"uint256","nodeType":"ElementaryTypeName","src":"3931:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3930:21:129"}},{"id":74868,"nodeType":"ErrorDefinition","src":"3971:45:129","nodes":[],"errorSelector":"c1d17bef","name":"ProposalNotInList","nameLocation":"3977:17:129","parameters":{"id":74867,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74866,"mutability":"mutable","name":"_proposalId","nameLocation":"4003:11:129","nodeType":"VariableDeclaration","scope":74868,"src":"3995:19:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74865,"name":"uint256","nodeType":"ElementaryTypeName","src":"3995:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3994:21:129"}},{"id":74874,"nodeType":"ErrorDefinition","src":"4035:68:129","nodes":[],"errorSelector":"adebb154","name":"ProposalSupportDuplicated","nameLocation":"4041:25:129","parameters":{"id":74873,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74870,"mutability":"mutable","name":"_proposalId","nameLocation":"4075:11:129","nodeType":"VariableDeclaration","scope":74874,"src":"4067:19:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74869,"name":"uint256","nodeType":"ElementaryTypeName","src":"4067:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74872,"mutability":"mutable","name":"index","nameLocation":"4096:5:129","nodeType":"VariableDeclaration","scope":74874,"src":"4088:13:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74871,"name":"uint256","nodeType":"ElementaryTypeName","src":"4088:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4066:36:129"}},{"id":74876,"nodeType":"ErrorDefinition","src":"4121:40:129","nodes":[],"errorSelector":"cce79308","name":"ConvictionUnderMinimumThreshold","nameLocation":"4127:31:129","parameters":{"id":74875,"nodeType":"ParameterList","parameters":[],"src":"4158:2:129"}},{"id":74878,"nodeType":"ErrorDefinition","src":"4180:29:129","nodes":[],"errorSelector":"af0916a2","name":"OnlyCommunityAllowed","nameLocation":"4186:20:129","parameters":{"id":74877,"nodeType":"ParameterList","parameters":[],"src":"4206:2:129"}},{"id":74886,"nodeType":"ErrorDefinition","src":"4228:94:129","nodes":[],"errorSelector":"5863b0b6","name":"PoolAmountNotEnough","nameLocation":"4234:19:129","parameters":{"id":74885,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74880,"mutability":"mutable","name":"_proposalId","nameLocation":"4262:11:129","nodeType":"VariableDeclaration","scope":74886,"src":"4254:19:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74879,"name":"uint256","nodeType":"ElementaryTypeName","src":"4254:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74882,"mutability":"mutable","name":"_requestedAmount","nameLocation":"4283:16:129","nodeType":"VariableDeclaration","scope":74886,"src":"4275:24:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74881,"name":"uint256","nodeType":"ElementaryTypeName","src":"4275:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74884,"mutability":"mutable","name":"_poolAmount","nameLocation":"4309:11:129","nodeType":"VariableDeclaration","scope":74886,"src":"4301:19:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74883,"name":"uint256","nodeType":"ElementaryTypeName","src":"4301:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4253:68:129"}},{"id":74888,"nodeType":"ErrorDefinition","src":"4340:24:129","nodes":[],"errorSelector":"e860ec7e","name":"OnlyCouncilSafe","nameLocation":"4346:15:129","parameters":{"id":74887,"nodeType":"ParameterList","parameters":[],"src":"4361:2:129"}},{"id":74890,"nodeType":"ErrorDefinition","src":"4369:32:129","nodes":[],"errorSelector":"5b96b588","name":"UserCannotExecuteAction","nameLocation":"4375:23:129","parameters":{"id":74889,"nodeType":"ParameterList","parameters":[],"src":"4398:2:129"}},{"id":74897,"nodeType":"EventDefinition","src":"4573:74:129","nodes":[],"anonymous":false,"eventSelector":"4ebdec05fb64815e553aeaf3976ef8112dd79760a459bee3ac7d1659ab2c4e04","name":"InitializedCV","nameLocation":"4579:13:129","parameters":{"id":74896,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74892,"indexed":false,"mutability":"mutable","name":"poolId","nameLocation":"4601:6:129","nodeType":"VariableDeclaration","scope":74897,"src":"4593:14:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74891,"name":"uint256","nodeType":"ElementaryTypeName","src":"4593:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74895,"indexed":false,"mutability":"mutable","name":"data","nameLocation":"4641:4:129","nodeType":"VariableDeclaration","scope":74897,"src":"4609:36:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$74806_memory_ptr","typeString":"struct StrategyStruct.InitializeParams"},"typeName":{"id":74894,"nodeType":"UserDefinedTypeName","pathNode":{"id":74893,"name":"StrategyStruct.InitializeParams","nameLocations":["4609:14:129","4624:16:129"],"nodeType":"IdentifierPath","referencedDeclaration":74806,"src":"4609:31:129"},"referencedDeclaration":74806,"src":"4609:31:129","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$74806_storage_ptr","typeString":"struct StrategyStruct.InitializeParams"}},"visibility":"internal"}],"src":"4592:54:129"}},{"id":74905,"nodeType":"EventDefinition","src":"4652:75:129","nodes":[],"anonymous":false,"eventSelector":"a7932e9c92f31e1ed56b29d00bbe669a97484dc24de28dd9c8c0429df7f35847","name":"Distributed","nameLocation":"4658:11:129","parameters":{"id":74904,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74899,"indexed":false,"mutability":"mutable","name":"proposalId","nameLocation":"4678:10:129","nodeType":"VariableDeclaration","scope":74905,"src":"4670:18:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74898,"name":"uint256","nodeType":"ElementaryTypeName","src":"4670:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74901,"indexed":false,"mutability":"mutable","name":"beneficiary","nameLocation":"4698:11:129","nodeType":"VariableDeclaration","scope":74905,"src":"4690:19:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74900,"name":"address","nodeType":"ElementaryTypeName","src":"4690:7:129","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":74903,"indexed":false,"mutability":"mutable","name":"amount","nameLocation":"4719:6:129","nodeType":"VariableDeclaration","scope":74905,"src":"4711:14:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74902,"name":"uint256","nodeType":"ElementaryTypeName","src":"4711:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4669:57:129"}},{"id":74911,"nodeType":"EventDefinition","src":"4732:58:129","nodes":[],"anonymous":false,"eventSelector":"fcf3b1aa65a464cef2889608f99e8b8c0f680a4be6c2acb9d961c536a5a9294b","name":"ProposalCreated","nameLocation":"4738:15:129","parameters":{"id":74910,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74907,"indexed":false,"mutability":"mutable","name":"poolId","nameLocation":"4762:6:129","nodeType":"VariableDeclaration","scope":74911,"src":"4754:14:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74906,"name":"uint256","nodeType":"ElementaryTypeName","src":"4754:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74909,"indexed":false,"mutability":"mutable","name":"proposalId","nameLocation":"4778:10:129","nodeType":"VariableDeclaration","scope":74911,"src":"4770:18:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74908,"name":"uint256","nodeType":"ElementaryTypeName","src":"4770:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4753:36:129"}},{"id":74915,"nodeType":"EventDefinition","src":"4795:42:129","nodes":[],"anonymous":false,"eventSelector":"46aeb5d8770fc4474bc2dfa118fd2595f7fb33ce2cbce6f4e5a3dabfe0f76339","name":"PoolAmountIncreased","nameLocation":"4801:19:129","parameters":{"id":74914,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74913,"indexed":false,"mutability":"mutable","name":"amount","nameLocation":"4829:6:129","nodeType":"VariableDeclaration","scope":74915,"src":"4821:14:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74912,"name":"uint256","nodeType":"ElementaryTypeName","src":"4821:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4820:16:129"}},{"id":74923,"nodeType":"EventDefinition","src":"4842:85:129","nodes":[],"anonymous":false,"eventSelector":"0b9150e1e54346ed3fa36b977cd5d65dca5a649c737c3174a26bddaadd47667a","name":"PowerIncreased","nameLocation":"4848:14:129","parameters":{"id":74922,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74917,"indexed":false,"mutability":"mutable","name":"member","nameLocation":"4871:6:129","nodeType":"VariableDeclaration","scope":74923,"src":"4863:14:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74916,"name":"address","nodeType":"ElementaryTypeName","src":"4863:7:129","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":74919,"indexed":false,"mutability":"mutable","name":"tokensStaked","nameLocation":"4887:12:129","nodeType":"VariableDeclaration","scope":74923,"src":"4879:20:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74918,"name":"uint256","nodeType":"ElementaryTypeName","src":"4879:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74921,"indexed":false,"mutability":"mutable","name":"pointsToIncrease","nameLocation":"4909:16:129","nodeType":"VariableDeclaration","scope":74923,"src":"4901:24:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74920,"name":"uint256","nodeType":"ElementaryTypeName","src":"4901:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4862:64:129"}},{"id":74931,"nodeType":"EventDefinition","src":"4932:87:129","nodes":[],"anonymous":false,"eventSelector":"70b752f3fadb6ac131c0ece847fcbb6994ec56ed6411595710fd9b29c6ac6cc1","name":"PowerDecreased","nameLocation":"4938:14:129","parameters":{"id":74930,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74925,"indexed":false,"mutability":"mutable","name":"member","nameLocation":"4961:6:129","nodeType":"VariableDeclaration","scope":74931,"src":"4953:14:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74924,"name":"address","nodeType":"ElementaryTypeName","src":"4953:7:129","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":74927,"indexed":false,"mutability":"mutable","name":"tokensUnStaked","nameLocation":"4977:14:129","nodeType":"VariableDeclaration","scope":74931,"src":"4969:22:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74926,"name":"uint256","nodeType":"ElementaryTypeName","src":"4969:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74929,"indexed":false,"mutability":"mutable","name":"pointsToDecrease","nameLocation":"5001:16:129","nodeType":"VariableDeclaration","scope":74931,"src":"4993:24:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74928,"name":"uint256","nodeType":"ElementaryTypeName","src":"4993:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4952:66:129"}},{"id":74943,"nodeType":"EventDefinition","src":"5024:134:129","nodes":[],"anonymous":false,"eventSelector":"0227f642ddcf2042ceaeafadb9d540f432072c00cd4862881667168dcc14710f","name":"SupportAdded","nameLocation":"5030:12:129","parameters":{"id":74942,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74933,"indexed":false,"mutability":"mutable","name":"from","nameLocation":"5060:4:129","nodeType":"VariableDeclaration","scope":74943,"src":"5052:12:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74932,"name":"address","nodeType":"ElementaryTypeName","src":"5052:7:129","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":74935,"indexed":false,"mutability":"mutable","name":"proposalId","nameLocation":"5074:10:129","nodeType":"VariableDeclaration","scope":74943,"src":"5066:18:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74934,"name":"uint256","nodeType":"ElementaryTypeName","src":"5066:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74937,"indexed":false,"mutability":"mutable","name":"amount","nameLocation":"5094:6:129","nodeType":"VariableDeclaration","scope":74943,"src":"5086:14:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74936,"name":"uint256","nodeType":"ElementaryTypeName","src":"5086:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74939,"indexed":false,"mutability":"mutable","name":"totalStakedAmount","nameLocation":"5110:17:129","nodeType":"VariableDeclaration","scope":74943,"src":"5102:25:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74938,"name":"uint256","nodeType":"ElementaryTypeName","src":"5102:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74941,"indexed":false,"mutability":"mutable","name":"convictionLast","nameLocation":"5137:14:129","nodeType":"VariableDeclaration","scope":74943,"src":"5129:22:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74940,"name":"uint256","nodeType":"ElementaryTypeName","src":"5129:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5042:115:129"}},{"id":74947,"nodeType":"EventDefinition","src":"5163:40:129","nodes":[],"anonymous":false,"eventSelector":"1468da654b37bb3631011c1917d02e0db437d519918858d40b38b5e980ca033b","name":"PointsDeactivated","nameLocation":"5169:17:129","parameters":{"id":74946,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74945,"indexed":false,"mutability":"mutable","name":"member","nameLocation":"5195:6:129","nodeType":"VariableDeclaration","scope":74947,"src":"5187:14:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74944,"name":"address","nodeType":"ElementaryTypeName","src":"5187:7:129","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5186:16:129"}},{"id":74951,"nodeType":"EventDefinition","src":"5208:34:129","nodes":[],"anonymous":false,"eventSelector":"592dcd55d60d892e7fcb3ba105013312e99691cd59f91e15f83cb67cb5a505f2","name":"DecayUpdated","nameLocation":"5214:12:129","parameters":{"id":74950,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74949,"indexed":false,"mutability":"mutable","name":"decay","nameLocation":"5235:5:129","nodeType":"VariableDeclaration","scope":74951,"src":"5227:13:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74948,"name":"uint256","nodeType":"ElementaryTypeName","src":"5227:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5226:15:129"}},{"id":74955,"nodeType":"EventDefinition","src":"5247:40:129","nodes":[],"anonymous":false,"eventSelector":"08e39b387d1f739ce0d2553bb31822392e3f67c62c6c0a215120ab4a6841a8ab","name":"MaxRatioUpdated","nameLocation":"5253:15:129","parameters":{"id":74954,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74953,"indexed":false,"mutability":"mutable","name":"maxRatio","nameLocation":"5277:8:129","nodeType":"VariableDeclaration","scope":74955,"src":"5269:16:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74952,"name":"uint256","nodeType":"ElementaryTypeName","src":"5269:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5268:18:129"}},{"id":74959,"nodeType":"EventDefinition","src":"5292:36:129","nodes":[],"anonymous":false,"eventSelector":"30ee8206062f283e56a0af2b02138016bf7442ded26ad68a92a18a9dd246fb49","name":"WeightUpdated","nameLocation":"5298:13:129","parameters":{"id":74958,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74957,"indexed":false,"mutability":"mutable","name":"weight","nameLocation":"5320:6:129","nodeType":"VariableDeclaration","scope":74959,"src":"5312:14:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74956,"name":"uint256","nodeType":"ElementaryTypeName","src":"5312:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5311:16:129"}},{"id":74963,"nodeType":"EventDefinition","src":"5333:49:129","nodes":[],"anonymous":false,"eventSelector":"d6ceddf6d2a22f21c7c81675c518004eff43bc5c8a6fc32a0b748e69d58671cd","name":"RegistryUpdated","nameLocation":"5339:15:129","parameters":{"id":74962,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74961,"indexed":false,"mutability":"mutable","name":"registryCommunity","nameLocation":"5363:17:129","nodeType":"VariableDeclaration","scope":74963,"src":"5355:25:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74960,"name":"address","nodeType":"ElementaryTypeName","src":"5355:7:129","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5354:27:129"}},{"id":74969,"nodeType":"EventDefinition","src":"5387:76:129","nodes":[],"anonymous":false,"eventSelector":"056aedca4e334b6c4bea48715fb0de644811b740894de57a0380d3eb90f2805b","name":"MinThresholdPointsUpdated","nameLocation":"5393:25:129","parameters":{"id":74968,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74965,"indexed":false,"mutability":"mutable","name":"before","nameLocation":"5427:6:129","nodeType":"VariableDeclaration","scope":74969,"src":"5419:14:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74964,"name":"uint256","nodeType":"ElementaryTypeName","src":"5419:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74967,"indexed":false,"mutability":"mutable","name":"minThresholdPoints","nameLocation":"5443:18:129","nodeType":"VariableDeclaration","scope":74969,"src":"5435:26:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74966,"name":"uint256","nodeType":"ElementaryTypeName","src":"5435:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5418:44:129"}},{"id":74972,"nodeType":"VariableDeclaration","src":"5837:36:129","nodes":[],"constant":true,"functionSelector":"0f529ba2","mutability":"constant","name":"D","nameLocation":"5861:1:129","scope":77611,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74970,"name":"uint256","nodeType":"ElementaryTypeName","src":"5837:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3130303030303030","id":74971,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5865:8:129","typeDescriptions":{"typeIdentifier":"t_rational_10000000_by_1","typeString":"int_const 10000000"},"value":"10000000"},"visibility":"public"},{"id":74975,"nodeType":"VariableDeclaration","src":"5887:70:129","nodes":[],"constant":true,"mutability":"constant","name":"TWO_128","nameLocation":"5912:7:129","scope":77611,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74973,"name":"uint256","nodeType":"ElementaryTypeName","src":"5887:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3078313030303030303030303030303030303030303030303030303030303030303030","id":74974,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5922:35:129","typeDescriptions":{"typeIdentifier":"t_rational_340282366920938463463374607431768211456_by_1","typeString":"int_const 3402...(31 digits omitted)...1456"},"value":"0x100000000000000000000000000000000"},"visibility":"private"},{"id":74978,"nodeType":"VariableDeclaration","src":"5973:69:129","nodes":[],"constant":true,"mutability":"constant","name":"TWO_127","nameLocation":"5998:7:129","scope":77611,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74976,"name":"uint256","nodeType":"ElementaryTypeName","src":"5973:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"30783830303030303030303030303030303030303030303030303030303030303030","id":74977,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6008:34:129","typeDescriptions":{"typeIdentifier":"t_rational_170141183460469231731687303715884105728_by_1","typeString":"int_const 1701...(31 digits omitted)...5728"},"value":"0x80000000000000000000000000000000"},"visibility":"private"},{"id":74981,"nodeType":"VariableDeclaration","src":"6058:53:129","nodes":[],"constant":true,"mutability":"constant","name":"TWO_64","nameLocation":"6083:6:129","scope":77611,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74979,"name":"uint256","nodeType":"ElementaryTypeName","src":"6058:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"30783130303030303030303030303030303030","id":74980,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6092:19:129","typeDescriptions":{"typeIdentifier":"t_rational_18446744073709551616_by_1","typeString":"int_const 18446744073709551616"},"value":"0x10000000000000000"},"visibility":"private"},{"id":74984,"nodeType":"VariableDeclaration","src":"6126:49:129","nodes":[],"constant":true,"functionSelector":"406244d8","mutability":"constant","name":"MAX_STAKED_PROPOSALS","nameLocation":"6150:20:129","scope":77611,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74982,"name":"uint256","nodeType":"ElementaryTypeName","src":"6126:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3130","id":74983,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6173:2:129","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"visibility":"public"},{"id":74986,"nodeType":"VariableDeclaration","src":"6303:20:129","nodes":[],"constant":false,"functionSelector":"54fac919","mutability":"mutable","name":"decay","nameLocation":"6318:5:129","scope":77611,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74985,"name":"uint256","nodeType":"ElementaryTypeName","src":"6303:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"id":74988,"nodeType":"VariableDeclaration","src":"6329:23:129","nodes":[],"constant":false,"functionSelector":"76365af7","mutability":"mutable","name":"maxRatio","nameLocation":"6344:8:129","scope":77611,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74987,"name":"uint256","nodeType":"ElementaryTypeName","src":"6329:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"id":74990,"nodeType":"VariableDeclaration","src":"6358:21:129","nodes":[],"constant":false,"functionSelector":"a1aab33f","mutability":"mutable","name":"weight","nameLocation":"6373:6:129","scope":77611,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74989,"name":"uint256","nodeType":"ElementaryTypeName","src":"6358:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"id":74993,"nodeType":"VariableDeclaration","src":"6385:34:129","nodes":[],"constant":false,"functionSelector":"0c0512e9","mutability":"mutable","name":"proposalCounter","nameLocation":"6400:15:129","scope":77611,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74991,"name":"uint256","nodeType":"ElementaryTypeName","src":"6385:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"30","id":74992,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6418:1:129","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"visibility":"public"},{"id":74995,"nodeType":"VariableDeclaration","src":"6425:26:129","nodes":[],"constant":false,"functionSelector":"817b1cd2","mutability":"mutable","name":"totalStaked","nameLocation":"6440:11:129","scope":77611,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74994,"name":"uint256","nodeType":"ElementaryTypeName","src":"6425:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"id":74997,"nodeType":"VariableDeclaration","src":"6457:35:129","nodes":[],"constant":false,"functionSelector":"aba9ffee","mutability":"mutable","name":"totalPointsActivated","nameLocation":"6472:20:129","scope":77611,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74996,"name":"uint256","nodeType":"ElementaryTypeName","src":"6457:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"id":75000,"nodeType":"VariableDeclaration","src":"6498:38:129","nodes":[],"constant":false,"functionSelector":"7c6570ba","mutability":"mutable","name":"_minThresholdPoints","nameLocation":"6513:19:129","scope":77611,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74998,"name":"uint256","nodeType":"ElementaryTypeName","src":"6498:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"30","id":74999,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6535:1:129","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"visibility":"public"},{"id":75002,"nodeType":"VariableDeclaration","src":"6577:47:129","nodes":[],"constant":false,"mutability":"mutable","name":"surpressStateMutabilityWarning","nameLocation":"6594:30:129","scope":77611,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75001,"name":"uint256","nodeType":"ElementaryTypeName","src":"6577:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"id":75005,"nodeType":"VariableDeclaration","src":"6709:47:129","nodes":[],"constant":false,"functionSelector":"351d9f96","mutability":"mutable","name":"proposalType","nameLocation":"6744:12:129","scope":77611,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$74726","typeString":"enum StrategyStruct.ProposalType"},"typeName":{"id":75004,"nodeType":"UserDefinedTypeName","pathNode":{"id":75003,"name":"StrategyStruct.ProposalType","nameLocations":["6709:14:129","6724:12:129"],"nodeType":"IdentifierPath","referencedDeclaration":74726,"src":"6709:27:129"},"referencedDeclaration":74726,"src":"6709:27:129","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$74726","typeString":"enum StrategyStruct.ProposalType"}},"visibility":"public"},{"id":75008,"nodeType":"VariableDeclaration","src":"6815:45:129","nodes":[],"constant":false,"functionSelector":"2dbd6fdd","mutability":"mutable","name":"pointSystem","nameLocation":"6849:11:129","scope":77611,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$74731","typeString":"enum StrategyStruct.PointSystem"},"typeName":{"id":75007,"nodeType":"UserDefinedTypeName","pathNode":{"id":75006,"name":"StrategyStruct.PointSystem","nameLocations":["6815:14:129","6830:11:129"],"nodeType":"IdentifierPath","referencedDeclaration":74731,"src":"6815:26:129"},"referencedDeclaration":74731,"src":"6815:26:129","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$74731","typeString":"enum StrategyStruct.PointSystem"}},"visibility":"public"},{"id":75011,"nodeType":"VariableDeclaration","src":"6866:51:129","nodes":[],"constant":false,"functionSelector":"a47ff7e5","mutability":"mutable","name":"pointConfig","nameLocation":"6906:11:129","scope":77611,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$74784_storage","typeString":"struct StrategyStruct.PointSystemConfig"},"typeName":{"id":75010,"nodeType":"UserDefinedTypeName","pathNode":{"id":75009,"name":"StrategyStruct.PointSystemConfig","nameLocations":["6866:14:129","6881:17:129"],"nodeType":"IdentifierPath","referencedDeclaration":74784,"src":"6866:32:129"},"referencedDeclaration":74784,"src":"6866:32:129","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$74784_storage_ptr","typeString":"struct StrategyStruct.PointSystemConfig"}},"visibility":"public"},{"id":75014,"nodeType":"VariableDeclaration","src":"6950:42:129","nodes":[],"constant":false,"functionSelector":"6003e414","mutability":"mutable","name":"registryCommunity","nameLocation":"6975:17:129","scope":77611,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunity_$83082","typeString":"contract RegistryCommunity"},"typeName":{"id":75013,"nodeType":"UserDefinedTypeName","pathNode":{"id":75012,"name":"RegistryCommunity","nameLocations":["6950:17:129"],"nodeType":"IdentifierPath","referencedDeclaration":83082,"src":"6950:17:129"},"referencedDeclaration":83082,"src":"6950:17:129","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunity_$83082","typeString":"contract RegistryCommunity"}},"visibility":"public"},{"id":75017,"nodeType":"VariableDeclaration","src":"6998:31:129","nodes":[],"constant":false,"functionSelector":"b6c61f31","mutability":"mutable","name":"sybilScorer","nameLocation":"7018:11:129","scope":77611,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$80667","typeString":"contract ISybilScorer"},"typeName":{"id":75016,"nodeType":"UserDefinedTypeName","pathNode":{"id":75015,"name":"ISybilScorer","nameLocations":["6998:12:129"],"nodeType":"IdentifierPath","referencedDeclaration":80667,"src":"6998:12:129"},"referencedDeclaration":80667,"src":"6998:12:129","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$80667","typeString":"contract ISybilScorer"}},"visibility":"public"},{"id":75022,"nodeType":"VariableDeclaration","src":"7096:60:129","nodes":[],"constant":false,"functionSelector":"013cf08b","mutability":"mutable","name":"proposals","nameLocation":"7147:9:129","scope":77611,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$74776_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal)"},"typeName":{"id":75021,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":75018,"name":"uint256","nodeType":"ElementaryTypeName","src":"7104:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"7096:43:129","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$74776_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":75020,"nodeType":"UserDefinedTypeName","pathNode":{"id":75019,"name":"StrategyStruct.Proposal","nameLocations":["7115:14:129","7130:8:129"],"nodeType":"IdentifierPath","referencedDeclaration":74776,"src":"7115:23:129"},"referencedDeclaration":74776,"src":"7115:23:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal"}}},"visibility":"public"},{"id":75026,"nodeType":"VariableDeclaration","src":"7212:53:129","nodes":[],"constant":false,"functionSelector":"5db64b99","mutability":"mutable","name":"totalVoterStakePct","nameLocation":"7247:18:129","scope":77611,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"typeName":{"id":75025,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":75023,"name":"address","nodeType":"ElementaryTypeName","src":"7220:7:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"7212:27:129","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":75024,"name":"uint256","nodeType":"ElementaryTypeName","src":"7231:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"public"},{"id":75031,"nodeType":"VariableDeclaration","src":"7303:57:129","nodes":[],"constant":false,"functionSelector":"868c57b8","mutability":"mutable","name":"voterStakedProposals","nameLocation":"7340:20:129","scope":77611,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$","typeString":"mapping(address => uint256[])"},"typeName":{"id":75030,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":75027,"name":"address","nodeType":"ElementaryTypeName","src":"7311:7:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"7303:29:129","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$","typeString":"mapping(address => uint256[])"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"baseType":{"id":75028,"name":"uint256","nodeType":"ElementaryTypeName","src":"7322:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":75029,"nodeType":"ArrayTypeName","src":"7322:9:129","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}}},"visibility":"public"},{"id":75050,"nodeType":"ModifierDefinition","src":"7399:184:129","nodes":[],"body":{"id":75049,"nodeType":"Block","src":"7426:157:129","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":75041,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":75033,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"7440:3:129","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":75034,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7444:6:129","memberName":"sender","nodeType":"MemberAccess","src":"7440:10:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":75037,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75014,"src":"7462:17:129","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunity_$83082","typeString":"contract RegistryCommunity"}},"id":75038,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7480:11:129","memberName":"councilSafe","nodeType":"MemberAccess","referencedDeclaration":81542,"src":"7462:29:129","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_contract$_ISafe_$85665_$","typeString":"function () view external returns (contract ISafe)"}},"id":75039,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7462:31:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ISafe_$85665","typeString":"contract ISafe"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ISafe_$85665","typeString":"contract ISafe"}],"id":75036,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7454:7:129","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":75035,"name":"address","nodeType":"ElementaryTypeName","src":"7454:7:129","typeDescriptions":{}}},"id":75040,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7454:40:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"7440:54:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":75047,"nodeType":"Block","src":"7528:49:129","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":75044,"name":"OnlyCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74888,"src":"7549:15:129","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":75045,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7549:17:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75046,"nodeType":"RevertStatement","src":"7542:24:129"}]},"id":75048,"nodeType":"IfStatement","src":"7436:141:129","trueBody":{"id":75043,"nodeType":"Block","src":"7496:26:129","statements":[{"id":75042,"nodeType":"PlaceholderStatement","src":"7510:1:129"}]}}]},"name":"onlyCouncilSafe","nameLocation":"7408:15:129","parameters":{"id":75032,"nodeType":"ParameterList","parameters":[],"src":"7423:2:129"},"virtual":false,"visibility":"internal"},{"id":75063,"nodeType":"FunctionDefinition","src":"7754:72:129","nodes":[],"body":{"id":75062,"nodeType":"Block","src":"7824:2:129","nodes":[],"statements":[]},"implemented":true,"kind":"constructor","modifiers":[{"arguments":[{"arguments":[{"id":75057,"name":"_allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75052,"src":"7802:5:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":75056,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7794:7:129","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":75055,"name":"address","nodeType":"ElementaryTypeName","src":"7794:7:129","typeDescriptions":{}}},"id":75058,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7794:14:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"43565374726174656779","id":75059,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7810:12:129","typeDescriptions":{"typeIdentifier":"t_stringliteral_5f43243e98d2b877d41079bf899c9372a6b91af5be3180830de9d43f93117b2e","typeString":"literal_string \"CVStrategy\""},"value":"CVStrategy"}],"id":75060,"kind":"baseConstructorSpecifier","modifierName":{"id":75054,"name":"BaseStrategy","nameLocations":["7781:12:129"],"nodeType":"IdentifierPath","referencedDeclaration":3923,"src":"7781:12:129"},"nodeType":"ModifierInvocation","src":"7781:42:129"}],"name":"","nameLocation":"-1:-1:-1","parameters":{"id":75053,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75052,"mutability":"mutable","name":"_allo","nameLocation":"7774:5:129","nodeType":"VariableDeclaration","scope":75063,"src":"7766:13:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":75051,"name":"address","nodeType":"ElementaryTypeName","src":"7766:7:129","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"7765:15:129"},"returnParameters":{"id":75061,"nodeType":"ParameterList","parameters":[],"src":"7824:0:129"},"scope":77611,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":75154,"nodeType":"FunctionDefinition","src":"7832:740:129","nodes":[],"body":{"id":75153,"nodeType":"Block","src":"7898:674:129","nodes":[],"statements":[{"expression":{"arguments":[{"id":75071,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75065,"src":"7928:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":75070,"name":"__BaseStrategy_init","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3503,"src":"7908:19:129","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":75072,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7908:28:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75073,"nodeType":"ExpressionStatement","src":"7908:28:129"},{"assignments":[75078],"declarations":[{"constant":false,"id":75078,"mutability":"mutable","name":"ip","nameLocation":"7985:2:129","nodeType":"VariableDeclaration","scope":75153,"src":"7946:41:129","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$74806_memory_ptr","typeString":"struct StrategyStruct.InitializeParams"},"typeName":{"id":75077,"nodeType":"UserDefinedTypeName","pathNode":{"id":75076,"name":"StrategyStruct.InitializeParams","nameLocations":["7946:14:129","7961:16:129"],"nodeType":"IdentifierPath","referencedDeclaration":74806,"src":"7946:31:129"},"referencedDeclaration":74806,"src":"7946:31:129","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$74806_storage_ptr","typeString":"struct StrategyStruct.InitializeParams"}},"visibility":"internal"}],"id":75086,"initialValue":{"arguments":[{"id":75081,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75067,"src":"8001:5:129","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"expression":{"id":75082,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74807,"src":"8009:14:129","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$74807_$","typeString":"type(library StrategyStruct)"}},"id":75083,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8024:16:129","memberName":"InitializeParams","nodeType":"MemberAccess","referencedDeclaration":74806,"src":"8009:31:129","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_InitializeParams_$74806_storage_ptr_$","typeString":"type(struct StrategyStruct.InitializeParams storage pointer)"}}],"id":75084,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"8008:33:129","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_InitializeParams_$74806_storage_ptr_$","typeString":"type(struct StrategyStruct.InitializeParams storage pointer)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_struct$_InitializeParams_$74806_storage_ptr_$","typeString":"type(struct StrategyStruct.InitializeParams storage pointer)"}],"expression":{"id":75079,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"7990:3:129","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":75080,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7994:6:129","memberName":"decode","nodeType":"MemberAccess","src":"7990:10:129","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":75085,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7990:52:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$74806_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"nodeType":"VariableDeclarationStatement","src":"7946:96:129"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":75093,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":75087,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75078,"src":"8057:2:129","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$74806_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":75088,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8060:17:129","memberName":"registryCommunity","nodeType":"MemberAccess","referencedDeclaration":74786,"src":"8057:20:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":75091,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8089:1:129","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":75090,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8081:7:129","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":75089,"name":"address","nodeType":"ElementaryTypeName","src":"8081:7:129","typeDescriptions":{}}},"id":75092,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8081:10:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"8057:34:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75098,"nodeType":"IfStatement","src":"8053:94:129","trueBody":{"id":75097,"nodeType":"Block","src":"8093:54:129","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":75094,"name":"RegistryCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74838,"src":"8114:20:129","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":75095,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8114:22:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75096,"nodeType":"RevertStatement","src":"8107:29:129"}]}},{"expression":{"id":75104,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":75099,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75014,"src":"8157:17:129","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunity_$83082","typeString":"contract RegistryCommunity"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":75101,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75078,"src":"8195:2:129","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$74806_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":75102,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8198:17:129","memberName":"registryCommunity","nodeType":"MemberAccess","referencedDeclaration":74786,"src":"8195:20:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":75100,"name":"RegistryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83082,"src":"8177:17:129","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_RegistryCommunity_$83082_$","typeString":"type(contract RegistryCommunity)"}},"id":75103,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8177:39:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunity_$83082","typeString":"contract RegistryCommunity"}},"src":"8157:59:129","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunity_$83082","typeString":"contract RegistryCommunity"}},"id":75105,"nodeType":"ExpressionStatement","src":"8157:59:129"},{"expression":{"id":75109,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":75106,"name":"decay","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74986,"src":"8226:5:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":75107,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75078,"src":"8234:2:129","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$74806_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":75108,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8237:5:129","memberName":"decay","nodeType":"MemberAccess","referencedDeclaration":74788,"src":"8234:8:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8226:16:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":75110,"nodeType":"ExpressionStatement","src":"8226:16:129"},{"expression":{"id":75114,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":75111,"name":"maxRatio","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74988,"src":"8252:8:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":75112,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75078,"src":"8263:2:129","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$74806_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":75113,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8266:8:129","memberName":"maxRatio","nodeType":"MemberAccess","referencedDeclaration":74790,"src":"8263:11:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8252:22:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":75115,"nodeType":"ExpressionStatement","src":"8252:22:129"},{"expression":{"id":75119,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":75116,"name":"weight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74990,"src":"8284:6:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":75117,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75078,"src":"8293:2:129","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$74806_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":75118,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8296:6:129","memberName":"weight","nodeType":"MemberAccess","referencedDeclaration":74792,"src":"8293:9:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8284:18:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":75120,"nodeType":"ExpressionStatement","src":"8284:18:129"},{"expression":{"id":75124,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":75121,"name":"proposalType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75005,"src":"8312:12:129","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$74726","typeString":"enum StrategyStruct.ProposalType"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":75122,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75078,"src":"8327:2:129","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$74806_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":75123,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8330:12:129","memberName":"proposalType","nodeType":"MemberAccess","referencedDeclaration":74797,"src":"8327:15:129","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$74726","typeString":"enum StrategyStruct.ProposalType"}},"src":"8312:30:129","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$74726","typeString":"enum StrategyStruct.ProposalType"}},"id":75125,"nodeType":"ExpressionStatement","src":"8312:30:129"},{"expression":{"id":75129,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":75126,"name":"pointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75008,"src":"8352:11:129","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$74731","typeString":"enum StrategyStruct.PointSystem"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":75127,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75078,"src":"8366:2:129","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$74806_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":75128,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8369:11:129","memberName":"pointSystem","nodeType":"MemberAccess","referencedDeclaration":74800,"src":"8366:14:129","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$74731","typeString":"enum StrategyStruct.PointSystem"}},"src":"8352:28:129","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$74731","typeString":"enum StrategyStruct.PointSystem"}},"id":75130,"nodeType":"ExpressionStatement","src":"8352:28:129"},{"expression":{"id":75134,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":75131,"name":"pointConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75011,"src":"8390:11:129","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$74784_storage","typeString":"struct StrategyStruct.PointSystemConfig storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":75132,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75078,"src":"8404:2:129","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$74806_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":75133,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8407:11:129","memberName":"pointConfig","nodeType":"MemberAccess","referencedDeclaration":74803,"src":"8404:14:129","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$74784_memory_ptr","typeString":"struct StrategyStruct.PointSystemConfig memory"}},"src":"8390:28:129","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$74784_storage","typeString":"struct StrategyStruct.PointSystemConfig storage ref"}},"id":75135,"nodeType":"ExpressionStatement","src":"8390:28:129"},{"expression":{"id":75139,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":75136,"name":"_minThresholdPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75000,"src":"8428:19:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":75137,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75078,"src":"8450:2:129","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$74806_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":75138,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8453:18:129","memberName":"minThresholdPoints","nodeType":"MemberAccess","referencedDeclaration":74794,"src":"8450:21:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8428:43:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":75140,"nodeType":"ExpressionStatement","src":"8428:43:129"},{"expression":{"id":75146,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":75141,"name":"sybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75017,"src":"8481:11:129","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$80667","typeString":"contract ISybilScorer"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":75143,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75078,"src":"8508:2:129","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$74806_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":75144,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8511:11:129","memberName":"sybilScorer","nodeType":"MemberAccess","referencedDeclaration":74805,"src":"8508:14:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":75142,"name":"ISybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80667,"src":"8495:12:129","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ISybilScorer_$80667_$","typeString":"type(contract ISybilScorer)"}},"id":75145,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8495:28:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$80667","typeString":"contract ISybilScorer"}},"src":"8481:42:129","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$80667","typeString":"contract ISybilScorer"}},"id":75147,"nodeType":"ExpressionStatement","src":"8481:42:129"},{"eventCall":{"arguments":[{"id":75149,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75065,"src":"8553:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":75150,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75078,"src":"8562:2:129","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$74806_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_struct$_InitializeParams_$74806_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}],"id":75148,"name":"InitializedCV","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74897,"src":"8539:13:129","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_struct$_InitializeParams_$74806_memory_ptr_$returns$__$","typeString":"function (uint256,struct StrategyStruct.InitializeParams memory)"}},"id":75151,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8539:26:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75152,"nodeType":"EmitStatement","src":"8534:31:129"}]},"baseFunctions":[2939],"functionSelector":"edd146cc","implemented":true,"kind":"function","modifiers":[],"name":"initialize","nameLocation":"7841:10:129","parameters":{"id":75068,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75065,"mutability":"mutable","name":"_poolId","nameLocation":"7860:7:129","nodeType":"VariableDeclaration","scope":75154,"src":"7852:15:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75064,"name":"uint256","nodeType":"ElementaryTypeName","src":"7852:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":75067,"mutability":"mutable","name":"_data","nameLocation":"7882:5:129","nodeType":"VariableDeclaration","scope":75154,"src":"7869:18:129","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":75066,"name":"bytes","nodeType":"ElementaryTypeName","src":"7869:5:129","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"7851:37:129"},"returnParameters":{"id":75069,"nodeType":"ParameterList","parameters":[],"src":"7898:0:129"},"scope":77611,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":75158,"nodeType":"FunctionDefinition","src":"8743:83:129","nodes":[],"body":{"id":75157,"nodeType":"Block","src":"8771:55:129","nodes":[],"statements":[]},"implemented":true,"kind":"fallback","modifiers":[],"name":"","nameLocation":"-1:-1:-1","parameters":{"id":75155,"nodeType":"ParameterList","parameters":[],"src":"8751:2:129"},"returnParameters":{"id":75156,"nodeType":"ParameterList","parameters":[],"src":"8771:0:129"},"scope":77611,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":75162,"nodeType":"FunctionDefinition","src":"8832:135:129","nodes":[],"body":{"id":75161,"nodeType":"Block","src":"8859:108:129","nodes":[],"statements":[]},"implemented":true,"kind":"receive","modifiers":[],"name":"","nameLocation":"-1:-1:-1","parameters":{"id":75159,"nodeType":"ParameterList","parameters":[],"src":"8839:2:129"},"returnParameters":{"id":75160,"nodeType":"ParameterList","parameters":[],"src":"8859:0:129"},"scope":77611,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":75183,"nodeType":"FunctionDefinition","src":"8973:202:129","nodes":[],"body":{"id":75182,"nodeType":"Block","src":"9064:111:129","nodes":[],"statements":[{"expression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":75180,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"id":75175,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":75170,"name":"interfaceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75164,"src":"9081:11:129","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"arguments":[{"id":75172,"name":"IPointStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74722,"src":"9101:14:129","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IPointStrategy_$74722_$","typeString":"type(contract IPointStrategy)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_contract$_IPointStrategy_$74722_$","typeString":"type(contract IPointStrategy)"}],"id":75171,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"9096:4:129","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":75173,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9096:20:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_contract$_IPointStrategy_$74722","typeString":"type(contract IPointStrategy)"}},"id":75174,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"9117:11:129","memberName":"interfaceId","nodeType":"MemberAccess","src":"9096:32:129","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"src":"9081:47:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"arguments":[{"id":75178,"name":"interfaceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75164,"src":"9156:11:129","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":75176,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"9132:5:129","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_CVStrategy_$77611_$","typeString":"type(contract super CVStrategy)"}},"id":75177,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9138:17:129","memberName":"supportsInterface","nodeType":"MemberAccess","referencedDeclaration":58265,"src":"9132:23:129","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes4_$returns$_t_bool_$","typeString":"function (bytes4) view returns (bool)"}},"id":75179,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9132:36:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"9081:87:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":75169,"id":75181,"nodeType":"Return","src":"9074:94:129"}]},"baseFunctions":[58265],"functionSelector":"01ffc9a7","implemented":true,"kind":"function","modifiers":[],"name":"supportsInterface","nameLocation":"8982:17:129","overrides":{"id":75166,"nodeType":"OverrideSpecifier","overrides":[],"src":"9040:8:129"},"parameters":{"id":75165,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75164,"mutability":"mutable","name":"interfaceId","nameLocation":"9007:11:129","nodeType":"VariableDeclaration","scope":75183,"src":"9000:18:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":75163,"name":"bytes4","nodeType":"ElementaryTypeName","src":"9000:6:129","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"8999:20:129"},"returnParameters":{"id":75169,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75168,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":75183,"src":"9058:4:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":75167,"name":"bool","nodeType":"ElementaryTypeName","src":"9058:4:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"9057:6:129"},"scope":77611,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":75224,"nodeType":"FunctionDefinition","src":"9346:377:129","nodes":[],"body":{"id":75223,"nodeType":"Block","src":"9405:318:129","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":75193,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":75188,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75185,"src":"9419:7:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":75191,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9438:1:129","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":75190,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9430:7:129","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":75189,"name":"address","nodeType":"ElementaryTypeName","src":"9430:7:129","typeDescriptions":{}}},"id":75192,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9430:10:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"9419:21:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75198,"nodeType":"IfStatement","src":"9415:77:129","trueBody":{"id":75197,"nodeType":"Block","src":"9442:50:129","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":75194,"name":"UserCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74818,"src":"9463:16:129","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":75195,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9463:18:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75196,"nodeType":"RevertStatement","src":"9456:25:129"}]}},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":75207,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":75201,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75014,"src":"9513:17:129","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunity_$83082","typeString":"contract RegistryCommunity"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryCommunity_$83082","typeString":"contract RegistryCommunity"}],"id":75200,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9505:7:129","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":75199,"name":"address","nodeType":"ElementaryTypeName","src":"9505:7:129","typeDescriptions":{}}},"id":75202,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9505:26:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":75205,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9543:1:129","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":75204,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9535:7:129","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":75203,"name":"address","nodeType":"ElementaryTypeName","src":"9535:7:129","typeDescriptions":{}}},"id":75206,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9535:10:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"9505:40:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75212,"nodeType":"IfStatement","src":"9501:100:129","trueBody":{"id":75211,"nodeType":"Block","src":"9547:54:129","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":75208,"name":"RegistryCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74838,"src":"9568:20:129","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":75209,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9568:22:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75210,"nodeType":"RevertStatement","src":"9561:29:129"}]}},{"condition":{"id":75217,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"9614:36:129","subExpression":{"arguments":[{"id":75215,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75185,"src":"9642:7:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":75213,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75014,"src":"9615:17:129","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunity_$83082","typeString":"contract RegistryCommunity"}},"id":75214,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9633:8:129","memberName":"isMember","nodeType":"MemberAccess","referencedDeclaration":82663,"src":"9615:26:129","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view external returns (bool)"}},"id":75216,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9615:35:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75222,"nodeType":"IfStatement","src":"9610:93:129","trueBody":{"id":75221,"nodeType":"Block","src":"9652:51:129","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":75218,"name":"UserNotInRegistry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74820,"src":"9673:17:129","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":75219,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9673:19:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75220,"nodeType":"RevertStatement","src":"9666:26:129"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"checkSenderIsMember","nameLocation":"9355:19:129","parameters":{"id":75186,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75185,"mutability":"mutable","name":"_sender","nameLocation":"9383:7:129","nodeType":"VariableDeclaration","scope":75224,"src":"9375:15:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":75184,"name":"address","nodeType":"ElementaryTypeName","src":"9375:7:129","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"9374:17:129"},"returnParameters":{"id":75187,"nodeType":"ParameterList","parameters":[],"src":"9405:0:129"},"scope":77611,"stateMutability":"view","virtual":false,"visibility":"private"},{"id":75240,"nodeType":"FunctionDefinition","src":"9729:162:129","nodes":[],"body":{"id":75239,"nodeType":"Block","src":"9775:116:129","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":75233,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":75227,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"9789:3:129","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":75228,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9793:6:129","memberName":"sender","nodeType":"MemberAccess","src":"9789:10:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"id":75231,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75014,"src":"9811:17:129","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunity_$83082","typeString":"contract RegistryCommunity"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryCommunity_$83082","typeString":"contract RegistryCommunity"}],"id":75230,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9803:7:129","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":75229,"name":"address","nodeType":"ElementaryTypeName","src":"9803:7:129","typeDescriptions":{}}},"id":75232,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9803:26:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"9789:40:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75238,"nodeType":"IfStatement","src":"9785:100:129","trueBody":{"id":75237,"nodeType":"Block","src":"9831:54:129","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":75234,"name":"OnlyCommunityAllowed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74878,"src":"9852:20:129","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":75235,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9852:22:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75236,"nodeType":"RevertStatement","src":"9845:29:129"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"onlyRegistryCommunity","nameLocation":"9738:21:129","parameters":{"id":75225,"nodeType":"ParameterList","parameters":[],"src":"9759:2:129"},"returnParameters":{"id":75226,"nodeType":"ParameterList","parameters":[],"src":"9775:0:129"},"scope":77611,"stateMutability":"view","virtual":false,"visibility":"private"},{"id":75256,"nodeType":"FunctionDefinition","src":"9897:133:129","nodes":[],"body":{"id":75255,"nodeType":"Block","src":"9957:73:129","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":75250,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":75245,"name":"_address","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75242,"src":"9971:8:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":75248,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9991:1:129","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":75247,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9983:7:129","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":75246,"name":"address","nodeType":"ElementaryTypeName","src":"9983:7:129","typeDescriptions":{}}},"id":75249,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9983:10:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"9971:22:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75254,"nodeType":"IfStatement","src":"9967:56:129","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":75251,"name":"AddressCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74836,"src":"10002:19:129","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":75252,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10002:21:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75253,"nodeType":"RevertStatement","src":"9995:28:129"}}]},"implemented":true,"kind":"function","modifiers":[],"name":"_revertZeroAddress","nameLocation":"9906:18:129","parameters":{"id":75243,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75242,"mutability":"mutable","name":"_address","nameLocation":"9933:8:129","nodeType":"VariableDeclaration","scope":75256,"src":"9925:16:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":75241,"name":"address","nodeType":"ElementaryTypeName","src":"9925:7:129","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"9924:18:129"},"returnParameters":{"id":75244,"nodeType":"ParameterList","parameters":[],"src":"9957:0:129"},"scope":77611,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":75286,"nodeType":"FunctionDefinition","src":"10036:230:129","nodes":[],"body":{"id":75285,"nodeType":"Block","src":"10107:159:129","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":75271,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":75265,"name":"sybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75017,"src":"10129:11:129","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$80667","typeString":"contract ISybilScorer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ISybilScorer_$80667","typeString":"contract ISybilScorer"}],"id":75264,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10121:7:129","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":75263,"name":"address","nodeType":"ElementaryTypeName","src":"10121:7:129","typeDescriptions":{}}},"id":75266,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10121:20:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":75269,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10153:1:129","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":75268,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10145:7:129","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":75267,"name":"address","nodeType":"ElementaryTypeName","src":"10145:7:129","typeDescriptions":{}}},"id":75270,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10145:10:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"10121:34:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75275,"nodeType":"IfStatement","src":"10117:76:129","trueBody":{"id":75274,"nodeType":"Block","src":"10157:36:129","statements":[{"expression":{"hexValue":"74727565","id":75272,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"10178:4:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":75262,"id":75273,"nodeType":"Return","src":"10171:11:129"}]}},{"expression":{"arguments":[{"id":75278,"name":"_user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75258,"src":"10238:5:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":75281,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"10253:4:129","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$77611","typeString":"contract CVStrategy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategy_$77611","typeString":"contract CVStrategy"}],"id":75280,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10245:7:129","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":75279,"name":"address","nodeType":"ElementaryTypeName","src":"10245:7:129","typeDescriptions":{}}},"id":75282,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10245:13:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":75276,"name":"sybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75017,"src":"10209:11:129","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$80667","typeString":"contract ISybilScorer"}},"id":75277,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10221:16:129","memberName":"canExecuteAction","nodeType":"MemberAccess","referencedDeclaration":80624,"src":"10209:28:129","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_bool_$","typeString":"function (address,address) view external returns (bool)"}},"id":75283,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10209:50:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":75262,"id":75284,"nodeType":"Return","src":"10202:57:129"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_canExecuteAction","nameLocation":"10045:17:129","parameters":{"id":75259,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75258,"mutability":"mutable","name":"_user","nameLocation":"10071:5:129","nodeType":"VariableDeclaration","scope":75286,"src":"10063:13:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":75257,"name":"address","nodeType":"ElementaryTypeName","src":"10063:7:129","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"10062:15:129"},"returnParameters":{"id":75262,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75261,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":75286,"src":"10101:4:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":75260,"name":"bool","nodeType":"ElementaryTypeName","src":"10101:4:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"10100:6:129"},"scope":77611,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":75470,"nodeType":"FunctionDefinition","src":"10592:2045:129","nodes":[],"body":{"id":75469,"nodeType":"Block","src":"10693:1944:129","nodes":[],"statements":[{"condition":{"id":75299,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"10707:27:129","subExpression":{"arguments":[{"id":75297,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75290,"src":"10726:7:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":75296,"name":"_canExecuteAction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75286,"src":"10708:17:129","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":75298,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10708:26:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75304,"nodeType":"IfStatement","src":"10703:90:129","trueBody":{"id":75303,"nodeType":"Block","src":"10736:57:129","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":75300,"name":"UserCannotExecuteAction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74890,"src":"10757:23:129","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":75301,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10757:25:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75302,"nodeType":"RevertStatement","src":"10750:32:129"}]}},{"expression":{"id":75305,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75288,"src":"10847:5:129","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":75306,"nodeType":"ExpressionStatement","src":"10847:5:129"},{"assignments":[75311],"declarations":[{"constant":false,"id":75311,"mutability":"mutable","name":"proposal","nameLocation":"10899:8:129","nodeType":"VariableDeclaration","scope":75469,"src":"10862:45:129","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$74743_memory_ptr","typeString":"struct StrategyStruct.CreateProposal"},"typeName":{"id":75310,"nodeType":"UserDefinedTypeName","pathNode":{"id":75309,"name":"StrategyStruct.CreateProposal","nameLocations":["10862:14:129","10877:14:129"],"nodeType":"IdentifierPath","referencedDeclaration":74743,"src":"10862:29:129"},"referencedDeclaration":74743,"src":"10862:29:129","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$74743_storage_ptr","typeString":"struct StrategyStruct.CreateProposal"}},"visibility":"internal"}],"id":75319,"initialValue":{"arguments":[{"id":75314,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75288,"src":"10921:5:129","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"expression":{"id":75315,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74807,"src":"10929:14:129","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$74807_$","typeString":"type(library StrategyStruct)"}},"id":75316,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10944:14:129","memberName":"CreateProposal","nodeType":"MemberAccess","referencedDeclaration":74743,"src":"10929:29:129","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_CreateProposal_$74743_storage_ptr_$","typeString":"type(struct StrategyStruct.CreateProposal storage pointer)"}}],"id":75317,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"10928:31:129","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_CreateProposal_$74743_storage_ptr_$","typeString":"type(struct StrategyStruct.CreateProposal storage pointer)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_struct$_CreateProposal_$74743_storage_ptr_$","typeString":"type(struct StrategyStruct.CreateProposal storage pointer)"}],"expression":{"id":75312,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"10910:3:129","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":75313,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"10914:6:129","memberName":"decode","nodeType":"MemberAccess","src":"10910:10:129","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":75318,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10910:50:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$74743_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"nodeType":"VariableDeclarationStatement","src":"10862:98:129"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75323,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":75320,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75311,"src":"11075:8:129","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$74743_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":75321,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11084:6:129","memberName":"poolId","nodeType":"MemberAccess","referencedDeclaration":74733,"src":"11075:15:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":75322,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11094:1:129","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"11075:20:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75328,"nodeType":"IfStatement","src":"11071:78:129","trueBody":{"id":75327,"nodeType":"Block","src":"11097:52:129","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":75324,"name":"PoolIdCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74834,"src":"11118:18:129","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":75325,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11118:20:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75326,"nodeType":"RevertStatement","src":"11111:27:129"}]}},{"condition":{"commonType":{"typeIdentifier":"t_enum$_ProposalType_$74726","typeString":"enum StrategyStruct.ProposalType"},"id":75333,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":75329,"name":"proposalType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75005,"src":"11225:12:129","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$74726","typeString":"enum StrategyStruct.ProposalType"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":75330,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74807,"src":"11241:14:129","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$74807_$","typeString":"type(library StrategyStruct)"}},"id":75331,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11256:12:129","memberName":"ProposalType","nodeType":"MemberAccess","referencedDeclaration":74726,"src":"11241:27:129","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalType_$74726_$","typeString":"type(enum StrategyStruct.ProposalType)"}},"id":75332,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"11269:7:129","memberName":"Funding","nodeType":"MemberAccess","referencedDeclaration":74724,"src":"11241:35:129","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$74726","typeString":"enum StrategyStruct.ProposalType"}},"src":"11225:51:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75380,"nodeType":"IfStatement","src":"11221:722:129","trueBody":{"id":75379,"nodeType":"Block","src":"11278:665:129","statements":[{"expression":{"arguments":[{"expression":{"id":75335,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75311,"src":"11311:8:129","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$74743_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":75336,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11320:11:129","memberName":"beneficiary","nodeType":"MemberAccess","referencedDeclaration":74735,"src":"11311:20:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":75334,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75256,"src":"11292:18:129","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":75337,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11292:40:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75338,"nodeType":"ExpressionStatement","src":"11292:40:129"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":75345,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":75339,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75311,"src":"11398:8:129","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$74743_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":75340,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11407:14:129","memberName":"requestedToken","nodeType":"MemberAccess","referencedDeclaration":74739,"src":"11398:23:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":75343,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11433:1:129","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":75342,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11425:7:129","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":75341,"name":"address","nodeType":"ElementaryTypeName","src":"11425:7:129","typeDescriptions":{}}},"id":75344,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11425:10:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"11398:37:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75350,"nodeType":"IfStatement","src":"11394:102:129","trueBody":{"id":75349,"nodeType":"Block","src":"11437:59:129","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":75346,"name":"TokenCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74828,"src":"11462:17:129","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":75347,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11462:19:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75348,"nodeType":"RevertStatement","src":"11455:26:129"}]}},{"assignments":[75352],"declarations":[{"constant":false,"id":75352,"mutability":"mutable","name":"poolToken","nameLocation":"11517:9:129","nodeType":"VariableDeclaration","scope":75379,"src":"11509:17:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":75351,"name":"address","nodeType":"ElementaryTypeName","src":"11509:7:129","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":75360,"initialValue":{"expression":{"arguments":[{"id":75357,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3341,"src":"11552:6:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":75353,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"11529:4:129","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$77611","typeString":"contract CVStrategy"}},"id":75354,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11534:7:129","memberName":"getAllo","nodeType":"MemberAccess","referencedDeclaration":3421,"src":"11529:12:129","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_contract$_IAllo_$2610_$","typeString":"function () view external returns (contract IAllo)"}},"id":75355,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11529:14:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IAllo_$2610","typeString":"contract IAllo"}},"id":75356,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11544:7:129","memberName":"getPool","nodeType":"MemberAccess","referencedDeclaration":2603,"src":"11529:22:129","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_struct$_Pool_$2319_memory_ptr_$","typeString":"function (uint256) view external returns (struct IAllo.Pool memory)"}},"id":75358,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11529:30:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"id":75359,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11560:5:129","memberName":"token","nodeType":"MemberAccess","referencedDeclaration":2311,"src":"11529:36:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"11509:56:129"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":75364,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":75361,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75311,"src":"11583:8:129","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$74743_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":75362,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11592:14:129","memberName":"requestedToken","nodeType":"MemberAccess","referencedDeclaration":74739,"src":"11583:23:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":75363,"name":"poolToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75352,"src":"11610:9:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"11583:36:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75369,"nodeType":"IfStatement","src":"11579:234:129","trueBody":{"id":75368,"nodeType":"Block","src":"11621:192:129","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":75365,"name":"TokenNotAllowed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74830,"src":"11781:15:129","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":75366,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11781:17:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75367,"nodeType":"RevertStatement","src":"11774:24:129"}]}},{"condition":{"arguments":[{"expression":{"id":75371,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75311,"src":"11846:8:129","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$74743_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":75372,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11855:15:129","memberName":"amountRequested","nodeType":"MemberAccess","referencedDeclaration":74737,"src":"11846:24:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":75370,"name":"_isOverMaxRatio","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76674,"src":"11830:15:129","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view returns (bool)"}},"id":75373,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11830:41:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75378,"nodeType":"IfStatement","src":"11826:107:129","trueBody":{"id":75377,"nodeType":"Block","src":"11873:60:129","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":75374,"name":"AmountOverMaxRatio","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74832,"src":"11898:18:129","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":75375,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11898:20:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75376,"nodeType":"RevertStatement","src":"11891:27:129"}]}}]}},{"assignments":[75382],"declarations":[{"constant":false,"id":75382,"mutability":"mutable","name":"proposalId","nameLocation":"11960:10:129","nodeType":"VariableDeclaration","scope":75469,"src":"11952:18:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75381,"name":"uint256","nodeType":"ElementaryTypeName","src":"11952:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":75385,"initialValue":{"id":75384,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":true,"src":"11973:17:129","subExpression":{"id":75383,"name":"proposalCounter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74993,"src":"11975:15:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"11952:38:129"},{"assignments":[75390],"declarations":[{"constant":false,"id":75390,"mutability":"mutable","name":"p","nameLocation":"12032:1:129","nodeType":"VariableDeclaration","scope":75469,"src":"12000:33:129","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":75389,"nodeType":"UserDefinedTypeName","pathNode":{"id":75388,"name":"StrategyStruct.Proposal","nameLocations":["12000:14:129","12015:8:129"],"nodeType":"IdentifierPath","referencedDeclaration":74776,"src":"12000:23:129"},"referencedDeclaration":74776,"src":"12000:23:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":75394,"initialValue":{"baseExpression":{"id":75391,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75022,"src":"12036:9:129","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$74776_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":75393,"indexExpression":{"id":75392,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75382,"src":"12046:10:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"12036:21:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"12000:57:129"},{"expression":{"id":75399,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":75395,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75390,"src":"12068:1:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75397,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"12070:10:129","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":74751,"src":"12068:12:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":75398,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75382,"src":"12083:10:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"12068:25:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":75400,"nodeType":"ExpressionStatement","src":"12068:25:129"},{"expression":{"id":75405,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":75401,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75390,"src":"12103:1:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75403,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"12105:9:129","memberName":"submitter","nodeType":"MemberAccess","referencedDeclaration":74761,"src":"12103:11:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":75404,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75290,"src":"12117:7:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"12103:21:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":75406,"nodeType":"ExpressionStatement","src":"12103:21:129"},{"expression":{"id":75412,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":75407,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75390,"src":"12134:1:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75409,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"12136:11:129","memberName":"beneficiary","nodeType":"MemberAccess","referencedDeclaration":74759,"src":"12134:13:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":75410,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75311,"src":"12150:8:129","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$74743_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":75411,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12159:11:129","memberName":"beneficiary","nodeType":"MemberAccess","referencedDeclaration":74735,"src":"12150:20:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"12134:36:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":75413,"nodeType":"ExpressionStatement","src":"12134:36:129"},{"expression":{"id":75419,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":75414,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75390,"src":"12180:1:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75416,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"12182:14:129","memberName":"requestedToken","nodeType":"MemberAccess","referencedDeclaration":74763,"src":"12180:16:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":75417,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75311,"src":"12199:8:129","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$74743_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":75418,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12208:14:129","memberName":"requestedToken","nodeType":"MemberAccess","referencedDeclaration":74739,"src":"12199:23:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"12180:42:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":75420,"nodeType":"ExpressionStatement","src":"12180:42:129"},{"expression":{"id":75426,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":75421,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75390,"src":"12232:1:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75423,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"12234:15:129","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":74753,"src":"12232:17:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":75424,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75311,"src":"12252:8:129","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$74743_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":75425,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12261:15:129","memberName":"amountRequested","nodeType":"MemberAccess","referencedDeclaration":74737,"src":"12252:24:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"12232:44:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":75427,"nodeType":"ExpressionStatement","src":"12232:44:129"},{"expression":{"id":75434,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":75428,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75390,"src":"12337:1:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75430,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"12339:14:129","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":74768,"src":"12337:16:129","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$74749","typeString":"enum StrategyStruct.ProposalStatus"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"expression":{"id":75431,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74807,"src":"12356:14:129","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$74807_$","typeString":"type(library StrategyStruct)"}},"id":75432,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12371:14:129","memberName":"ProposalStatus","nodeType":"MemberAccess","referencedDeclaration":74749,"src":"12356:29:129","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$74749_$","typeString":"type(enum StrategyStruct.ProposalStatus)"}},"id":75433,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"12386:6:129","memberName":"Active","nodeType":"MemberAccess","referencedDeclaration":74745,"src":"12356:36:129","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$74749","typeString":"enum StrategyStruct.ProposalStatus"}},"src":"12337:55:129","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$74749","typeString":"enum StrategyStruct.ProposalStatus"}},"id":75435,"nodeType":"ExpressionStatement","src":"12337:55:129"},{"expression":{"id":75441,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":75436,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75390,"src":"12402:1:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75438,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"12404:9:129","memberName":"blockLast","nodeType":"MemberAccess","referencedDeclaration":74765,"src":"12402:11:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":75439,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"12416:5:129","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":75440,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12422:6:129","memberName":"number","nodeType":"MemberAccess","src":"12416:12:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"12402:26:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":75442,"nodeType":"ExpressionStatement","src":"12402:26:129"},{"expression":{"id":75447,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":75443,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75390,"src":"12438:1:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75445,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"12440:14:129","memberName":"convictionLast","nodeType":"MemberAccess","referencedDeclaration":74757,"src":"12438:16:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"30","id":75446,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12457:1:129","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"12438:20:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":75448,"nodeType":"ExpressionStatement","src":"12438:20:129"},{"expression":{"id":75454,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":75449,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75390,"src":"12504:1:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75451,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"12506:8:129","memberName":"metadata","nodeType":"MemberAccess","referencedDeclaration":74775,"src":"12504:10:129","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage","typeString":"struct Metadata storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":75452,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75311,"src":"12517:8:129","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$74743_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":75453,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12526:8:129","memberName":"metadata","nodeType":"MemberAccess","referencedDeclaration":74742,"src":"12517:17:129","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}},"src":"12504:30:129","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage","typeString":"struct Metadata storage ref"}},"id":75455,"nodeType":"ExpressionStatement","src":"12504:30:129"},{"eventCall":{"arguments":[{"id":75457,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3341,"src":"12566:6:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":75458,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75382,"src":"12574:10:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":75456,"name":"ProposalCreated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74911,"src":"12550:15:129","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":75459,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12550:35:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75460,"nodeType":"EmitStatement","src":"12545:40:129"},{"expression":{"arguments":[{"arguments":[{"id":75465,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75382,"src":"12618:10:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":75464,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12610:7:129","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":75463,"name":"uint160","nodeType":"ElementaryTypeName","src":"12610:7:129","typeDescriptions":{}}},"id":75466,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12610:19:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":75462,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12602:7:129","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":75461,"name":"address","nodeType":"ElementaryTypeName","src":"12602:7:129","typeDescriptions":{}}},"id":75467,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12602:28:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":75295,"id":75468,"nodeType":"Return","src":"12595:35:129"}]},"baseFunctions":[3809],"implemented":true,"kind":"function","modifiers":[],"name":"_registerRecipient","nameLocation":"10601:18:129","overrides":{"id":75292,"nodeType":"OverrideSpecifier","overrides":[],"src":"10666:8:129"},"parameters":{"id":75291,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75288,"mutability":"mutable","name":"_data","nameLocation":"10633:5:129","nodeType":"VariableDeclaration","scope":75470,"src":"10620:18:129","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":75287,"name":"bytes","nodeType":"ElementaryTypeName","src":"10620:5:129","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":75290,"mutability":"mutable","name":"_sender","nameLocation":"10648:7:129","nodeType":"VariableDeclaration","scope":75470,"src":"10640:15:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":75289,"name":"address","nodeType":"ElementaryTypeName","src":"10640:7:129","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"10619:37:129"},"returnParameters":{"id":75295,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75294,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":75470,"src":"10684:7:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":75293,"name":"address","nodeType":"ElementaryTypeName","src":"10684:7:129","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"10683:9:129"},"scope":77611,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":75509,"nodeType":"FunctionDefinition","src":"12643:351:129","nodes":[],"body":{"id":75508,"nodeType":"Block","src":"12678:316:129","nodes":[],"statements":[{"assignments":[75474],"declarations":[{"constant":false,"id":75474,"mutability":"mutable","name":"member","nameLocation":"12696:6:129","nodeType":"VariableDeclaration","scope":75508,"src":"12688:14:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":75473,"name":"address","nodeType":"ElementaryTypeName","src":"12688:7:129","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":75477,"initialValue":{"expression":{"id":75475,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"12705:3:129","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":75476,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12709:6:129","memberName":"sender","nodeType":"MemberAccess","src":"12705:10:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"12688:27:129"},{"condition":{"id":75481,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"12729:26:129","subExpression":{"arguments":[{"id":75479,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75474,"src":"12748:6:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":75478,"name":"_canExecuteAction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75286,"src":"12730:17:129","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":75480,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12730:25:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75486,"nodeType":"IfStatement","src":"12725:89:129","trueBody":{"id":75485,"nodeType":"Block","src":"12757:57:129","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":75482,"name":"UserCannotExecuteAction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74890,"src":"12778:23:129","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":75483,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12778:25:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75484,"nodeType":"RevertStatement","src":"12771:32:129"}]}},{"expression":{"arguments":[{"id":75490,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75474,"src":"12866:6:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":75493,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"12882:4:129","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$77611","typeString":"contract CVStrategy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategy_$77611","typeString":"contract CVStrategy"}],"id":75492,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12874:7:129","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":75491,"name":"address","nodeType":"ElementaryTypeName","src":"12874:7:129","typeDescriptions":{}}},"id":75494,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12874:13:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":75487,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75014,"src":"12823:17:129","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunity_$83082","typeString":"contract RegistryCommunity"}},"id":75489,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12841:24:129","memberName":"activateMemberInStrategy","nodeType":"MemberAccess","referencedDeclaration":82041,"src":"12823:42:129","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address) external"}},"id":75495,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12823:65:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75496,"nodeType":"ExpressionStatement","src":"12823:65:129"},{"expression":{"id":75506,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":75497,"name":"totalPointsActivated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74997,"src":"12898:20:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"arguments":[{"id":75500,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75474,"src":"12965:6:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":75503,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"12981:4:129","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$77611","typeString":"contract CVStrategy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategy_$77611","typeString":"contract CVStrategy"}],"id":75502,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12973:7:129","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":75501,"name":"address","nodeType":"ElementaryTypeName","src":"12973:7:129","typeDescriptions":{}}},"id":75504,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12973:13:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":75498,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75014,"src":"12922:17:129","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunity_$83082","typeString":"contract RegistryCommunity"}},"id":75499,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12940:24:129","memberName":"getMemberPowerInStrategy","nodeType":"MemberAccess","referencedDeclaration":82423,"src":"12922:42:129","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view external returns (uint256)"}},"id":75505,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12922:65:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"12898:89:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":75507,"nodeType":"ExpressionStatement","src":"12898:89:129"}]},"functionSelector":"814516ad","implemented":true,"kind":"function","modifiers":[],"name":"activatePoints","nameLocation":"12652:14:129","parameters":{"id":75471,"nodeType":"ParameterList","parameters":[],"src":"12666:2:129"},"returnParameters":{"id":75472,"nodeType":"ParameterList","parameters":[],"src":"12678:0:129"},"scope":77611,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":75518,"nodeType":"FunctionDefinition","src":"13000:81:129","nodes":[],"body":{"id":75517,"nodeType":"Block","src":"13035:46:129","nodes":[],"statements":[{"expression":{"arguments":[{"expression":{"id":75513,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"13063:3:129","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":75514,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13067:6:129","memberName":"sender","nodeType":"MemberAccess","src":"13063:10:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":75512,"name":"_deactivatePoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75566,"src":"13045:17:129","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":75515,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13045:29:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75516,"nodeType":"ExpressionStatement","src":"13045:29:129"}]},"functionSelector":"1ddf1e23","implemented":true,"kind":"function","modifiers":[],"name":"deactivatePoints","nameLocation":"13009:16:129","parameters":{"id":75510,"nodeType":"ParameterList","parameters":[],"src":"13025:2:129"},"returnParameters":{"id":75511,"nodeType":"ParameterList","parameters":[],"src":"13035:0:129"},"scope":77611,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":75531,"nodeType":"FunctionDefinition","src":"13087:128:129","nodes":[],"body":{"id":75530,"nodeType":"Block","src":"13139:76:129","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":75523,"name":"onlyRegistryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75240,"src":"13149:21:129","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":75524,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13149:23:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75525,"nodeType":"ExpressionStatement","src":"13149:23:129"},{"expression":{"arguments":[{"id":75527,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75520,"src":"13200:7:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":75526,"name":"_deactivatePoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75566,"src":"13182:17:129","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":75528,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13182:26:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75529,"nodeType":"ExpressionStatement","src":"13182:26:129"}]},"baseFunctions":[74697],"functionSelector":"6453d9c4","implemented":true,"kind":"function","modifiers":[],"name":"deactivatePoints","nameLocation":"13096:16:129","parameters":{"id":75521,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75520,"mutability":"mutable","name":"_member","nameLocation":"13121:7:129","nodeType":"VariableDeclaration","scope":75531,"src":"13113:15:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":75519,"name":"address","nodeType":"ElementaryTypeName","src":"13113:7:129","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"13112:17:129"},"returnParameters":{"id":75522,"nodeType":"ParameterList","parameters":[],"src":"13139:0:129"},"scope":77611,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":75566,"nodeType":"FunctionDefinition","src":"13221:351:129","nodes":[],"body":{"id":75565,"nodeType":"Block","src":"13274:298:129","nodes":[],"statements":[{"expression":{"id":75545,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":75536,"name":"totalPointsActivated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74997,"src":"13284:20:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"arguments":[{"id":75539,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75533,"src":"13351:7:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":75542,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"13368:4:129","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$77611","typeString":"contract CVStrategy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategy_$77611","typeString":"contract CVStrategy"}],"id":75541,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13360:7:129","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":75540,"name":"address","nodeType":"ElementaryTypeName","src":"13360:7:129","typeDescriptions":{}}},"id":75543,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13360:13:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":75537,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75014,"src":"13308:17:129","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunity_$83082","typeString":"contract RegistryCommunity"}},"id":75538,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13326:24:129","memberName":"getMemberPowerInStrategy","nodeType":"MemberAccess","referencedDeclaration":82423,"src":"13308:42:129","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view external returns (uint256)"}},"id":75544,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13308:66:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"13284:90:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":75546,"nodeType":"ExpressionStatement","src":"13284:90:129"},{"expression":{"arguments":[{"id":75550,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75533,"src":"13429:7:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":75553,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"13446:4:129","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$77611","typeString":"contract CVStrategy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategy_$77611","typeString":"contract CVStrategy"}],"id":75552,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13438:7:129","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":75551,"name":"address","nodeType":"ElementaryTypeName","src":"13438:7:129","typeDescriptions":{}}},"id":75554,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13438:13:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":75547,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75014,"src":"13384:17:129","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunity_$83082","typeString":"contract RegistryCommunity"}},"id":75549,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13402:26:129","memberName":"deactivateMemberInStrategy","nodeType":"MemberAccess","referencedDeclaration":82100,"src":"13384:44:129","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address) external"}},"id":75555,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13384:68:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75556,"nodeType":"ExpressionStatement","src":"13384:68:129"},{"expression":{"arguments":[{"id":75558,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75533,"src":"13516:7:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":75557,"name":"withdraw","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76468,"src":"13507:8:129","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":75559,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13507:17:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75560,"nodeType":"ExpressionStatement","src":"13507:17:129"},{"eventCall":{"arguments":[{"id":75562,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75533,"src":"13557:7:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":75561,"name":"PointsDeactivated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74947,"src":"13539:17:129","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":75563,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13539:26:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75564,"nodeType":"EmitStatement","src":"13534:31:129"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_deactivatePoints","nameLocation":"13230:17:129","parameters":{"id":75534,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75533,"mutability":"mutable","name":"_member","nameLocation":"13256:7:129","nodeType":"VariableDeclaration","scope":75566,"src":"13248:15:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":75532,"name":"address","nodeType":"ElementaryTypeName","src":"13248:7:129","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"13247:17:129"},"returnParameters":{"id":75535,"nodeType":"ParameterList","parameters":[],"src":"13274:0:129"},"scope":77611,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":75659,"nodeType":"FunctionDefinition","src":"13578:1012:129","nodes":[],"body":{"id":75658,"nodeType":"Block","src":"13669:921:129","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":75575,"name":"onlyRegistryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75240,"src":"13679:21:129","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":75576,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13679:23:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75577,"nodeType":"ExpressionStatement","src":"13679:23:129"},{"condition":{"id":75581,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"13716:27:129","subExpression":{"arguments":[{"id":75579,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75568,"src":"13735:7:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":75578,"name":"_canExecuteAction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75286,"src":"13717:17:129","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":75580,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13717:26:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75586,"nodeType":"IfStatement","src":"13712:90:129","trueBody":{"id":75585,"nodeType":"Block","src":"13745:57:129","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":75582,"name":"UserCannotExecuteAction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74890,"src":"13766:23:129","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":75583,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13766:25:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75584,"nodeType":"RevertStatement","src":"13759:32:129"}]}},{"assignments":[75588],"declarations":[{"constant":false,"id":75588,"mutability":"mutable","name":"pointsToIncrease","nameLocation":"13819:16:129","nodeType":"VariableDeclaration","scope":75658,"src":"13811:24:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75587,"name":"uint256","nodeType":"ElementaryTypeName","src":"13811:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":75590,"initialValue":{"hexValue":"30","id":75589,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13838:1:129","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"13811:28:129"},{"condition":{"commonType":{"typeIdentifier":"t_enum$_PointSystem_$74731","typeString":"enum StrategyStruct.PointSystem"},"id":75595,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":75591,"name":"pointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75008,"src":"13853:11:129","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$74731","typeString":"enum StrategyStruct.PointSystem"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":75592,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74807,"src":"13868:14:129","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$74807_$","typeString":"type(library StrategyStruct)"}},"id":75593,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13883:11:129","memberName":"PointSystem","nodeType":"MemberAccess","referencedDeclaration":74731,"src":"13868:26:129","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_PointSystem_$74731_$","typeString":"type(enum StrategyStruct.PointSystem)"}},"id":75594,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"13895:9:129","memberName":"Unlimited","nodeType":"MemberAccess","referencedDeclaration":74729,"src":"13868:36:129","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$74731","typeString":"enum StrategyStruct.PointSystem"}},"src":"13853:51:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_enum$_PointSystem_$74731","typeString":"enum StrategyStruct.PointSystem"},"id":75607,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":75603,"name":"pointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75008,"src":"13998:11:129","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$74731","typeString":"enum StrategyStruct.PointSystem"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":75604,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74807,"src":"14013:14:129","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$74807_$","typeString":"type(library StrategyStruct)"}},"id":75605,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14028:11:129","memberName":"PointSystem","nodeType":"MemberAccess","referencedDeclaration":74731,"src":"14013:26:129","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_PointSystem_$74731_$","typeString":"type(enum StrategyStruct.PointSystem)"}},"id":75606,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"14040:6:129","memberName":"Capped","nodeType":"MemberAccess","referencedDeclaration":74728,"src":"14013:33:129","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$74731","typeString":"enum StrategyStruct.PointSystem"}},"src":"13998:48:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_enum$_PointSystem_$74731","typeString":"enum StrategyStruct.PointSystem"},"id":75620,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":75616,"name":"pointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75008,"src":"14146:11:129","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$74731","typeString":"enum StrategyStruct.PointSystem"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":75617,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74807,"src":"14161:14:129","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$74807_$","typeString":"type(library StrategyStruct)"}},"id":75618,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14176:11:129","memberName":"PointSystem","nodeType":"MemberAccess","referencedDeclaration":74731,"src":"14161:26:129","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_PointSystem_$74731_$","typeString":"type(enum StrategyStruct.PointSystem)"}},"id":75619,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"14188:9:129","memberName":"Quadratic","nodeType":"MemberAccess","referencedDeclaration":74730,"src":"14161:36:129","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$74731","typeString":"enum StrategyStruct.PointSystem"}},"src":"14146:51:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75629,"nodeType":"IfStatement","src":"14142:148:129","trueBody":{"id":75628,"nodeType":"Block","src":"14199:91:129","statements":[{"expression":{"id":75626,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":75621,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75588,"src":"14213:16:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":75623,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75568,"src":"14255:7:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":75624,"name":"_amountToStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75570,"src":"14264:14:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":75622,"name":"increasePowerQuadratic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75872,"src":"14232:22:129","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256) view returns (uint256)"}},"id":75625,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14232:47:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"14213:66:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":75627,"nodeType":"ExpressionStatement","src":"14213:66:129"}]}},"id":75630,"nodeType":"IfStatement","src":"13994:296:129","trueBody":{"id":75615,"nodeType":"Block","src":"14048:88:129","statements":[{"expression":{"id":75613,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":75608,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75588,"src":"14062:16:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":75610,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75568,"src":"14101:7:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":75611,"name":"_amountToStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75570,"src":"14110:14:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":75609,"name":"increasePowerCapped","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75788,"src":"14081:19:129","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256) view returns (uint256)"}},"id":75612,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14081:44:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"14062:63:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":75614,"nodeType":"ExpressionStatement","src":"14062:63:129"}]}},"id":75631,"nodeType":"IfStatement","src":"13849:441:129","trueBody":{"id":75602,"nodeType":"Block","src":"13906:82:129","statements":[{"expression":{"id":75600,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":75596,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75588,"src":"13920:16:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":75598,"name":"_amountToStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75570,"src":"13962:14:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":75597,"name":"increasePowerUnlimited","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75725,"src":"13939:22:129","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":75599,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13939:38:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"13920:57:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":75601,"nodeType":"ExpressionStatement","src":"13920:57:129"}]}},{"assignments":[75633],"declarations":[{"constant":false,"id":75633,"mutability":"mutable","name":"isActivated","nameLocation":"14304:11:129","nodeType":"VariableDeclaration","scope":75658,"src":"14299:16:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":75632,"name":"bool","nodeType":"ElementaryTypeName","src":"14299:4:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":75642,"initialValue":{"arguments":[{"id":75636,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75568,"src":"14364:7:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":75639,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"14381:4:129","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$77611","typeString":"contract CVStrategy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategy_$77611","typeString":"contract CVStrategy"}],"id":75638,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"14373:7:129","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":75637,"name":"address","nodeType":"ElementaryTypeName","src":"14373:7:129","typeDescriptions":{}}},"id":75640,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14373:13:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":75634,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75014,"src":"14318:17:129","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunity_$83082","typeString":"contract RegistryCommunity"}},"id":75635,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14336:27:129","memberName":"memberActivatedInStrategies","nodeType":"MemberAccess","referencedDeclaration":81575,"src":"14318:45:129","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_bool_$","typeString":"function (address,address) view external returns (bool)"}},"id":75641,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14318:69:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"VariableDeclarationStatement","src":"14299:88:129"},{"condition":{"id":75643,"name":"isActivated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75633,"src":"14401:11:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75649,"nodeType":"IfStatement","src":"14397:82:129","trueBody":{"id":75648,"nodeType":"Block","src":"14414:65:129","statements":[{"expression":{"id":75646,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":75644,"name":"totalPointsActivated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74997,"src":"14428:20:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"id":75645,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75588,"src":"14452:16:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"14428:40:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":75647,"nodeType":"ExpressionStatement","src":"14428:40:129"}]}},{"eventCall":{"arguments":[{"id":75651,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75568,"src":"14508:7:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":75652,"name":"_amountToStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75570,"src":"14517:14:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":75653,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75588,"src":"14533:16:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":75650,"name":"PowerIncreased","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74923,"src":"14493:14:129","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (address,uint256,uint256)"}},"id":75654,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14493:57:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75655,"nodeType":"EmitStatement","src":"14488:62:129"},{"expression":{"id":75656,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75588,"src":"14567:16:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":75574,"id":75657,"nodeType":"Return","src":"14560:23:129"}]},"baseFunctions":[74706],"functionSelector":"782aadff","implemented":true,"kind":"function","modifiers":[],"name":"increasePower","nameLocation":"13587:13:129","parameters":{"id":75571,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75568,"mutability":"mutable","name":"_member","nameLocation":"13609:7:129","nodeType":"VariableDeclaration","scope":75659,"src":"13601:15:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":75567,"name":"address","nodeType":"ElementaryTypeName","src":"13601:7:129","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":75570,"mutability":"mutable","name":"_amountToStake","nameLocation":"13626:14:129","nodeType":"VariableDeclaration","scope":75659,"src":"13618:22:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75569,"name":"uint256","nodeType":"ElementaryTypeName","src":"13618:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13600:41:129"},"returnParameters":{"id":75574,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75573,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":75659,"src":"13660:7:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75572,"name":"uint256","nodeType":"ElementaryTypeName","src":"13660:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13659:9:129"},"scope":77611,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":75715,"nodeType":"FunctionDefinition","src":"14596:681:129","nodes":[],"body":{"id":75714,"nodeType":"Block","src":"14689:588:129","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":75668,"name":"onlyRegistryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75240,"src":"14699:21:129","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":75669,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14699:23:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75670,"nodeType":"ExpressionStatement","src":"14699:23:129"},{"assignments":[75672],"declarations":[{"constant":false,"id":75672,"mutability":"mutable","name":"pointsToDecrease","nameLocation":"14786:16:129","nodeType":"VariableDeclaration","scope":75714,"src":"14778:24:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75671,"name":"uint256","nodeType":"ElementaryTypeName","src":"14778:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":75674,"initialValue":{"hexValue":"30","id":75673,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14805:1:129","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"14778:28:129"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":75685,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_enum$_PointSystem_$74731","typeString":"enum StrategyStruct.PointSystem"},"id":75679,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":75675,"name":"pointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75008,"src":"14820:11:129","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$74731","typeString":"enum StrategyStruct.PointSystem"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":75676,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74807,"src":"14835:14:129","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$74807_$","typeString":"type(library StrategyStruct)"}},"id":75677,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14850:11:129","memberName":"PointSystem","nodeType":"MemberAccess","referencedDeclaration":74731,"src":"14835:26:129","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_PointSystem_$74731_$","typeString":"type(enum StrategyStruct.PointSystem)"}},"id":75678,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"14862:9:129","memberName":"Unlimited","nodeType":"MemberAccess","referencedDeclaration":74729,"src":"14835:36:129","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$74731","typeString":"enum StrategyStruct.PointSystem"}},"src":"14820:51:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_enum$_PointSystem_$74731","typeString":"enum StrategyStruct.PointSystem"},"id":75684,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":75680,"name":"pointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75008,"src":"14875:11:129","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$74731","typeString":"enum StrategyStruct.PointSystem"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":75681,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74807,"src":"14890:14:129","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$74807_$","typeString":"type(library StrategyStruct)"}},"id":75682,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14905:11:129","memberName":"PointSystem","nodeType":"MemberAccess","referencedDeclaration":74731,"src":"14890:26:129","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_PointSystem_$74731_$","typeString":"type(enum StrategyStruct.PointSystem)"}},"id":75683,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"14917:6:129","memberName":"Capped","nodeType":"MemberAccess","referencedDeclaration":74728,"src":"14890:33:129","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$74731","typeString":"enum StrategyStruct.PointSystem"}},"src":"14875:48:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"14820:103:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":75700,"nodeType":"Block","src":"15021:93:129","statements":[{"expression":{"id":75698,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":75693,"name":"pointsToDecrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75672,"src":"15035:16:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":75695,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75661,"src":"15077:7:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":75696,"name":"_amountToUnstake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75663,"src":"15086:16:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":75694,"name":"decreasePowerQuadratic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75976,"src":"15054:22:129","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256) view returns (uint256)"}},"id":75697,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15054:49:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"15035:68:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":75699,"nodeType":"ExpressionStatement","src":"15035:68:129"}]},"id":75701,"nodeType":"IfStatement","src":"14816:298:129","trueBody":{"id":75692,"nodeType":"Block","src":"14925:90:129","statements":[{"expression":{"id":75690,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":75686,"name":"pointsToDecrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75672,"src":"14939:16:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":75688,"name":"_amountToUnstake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75663,"src":"14987:16:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":75687,"name":"decreasePowerCappedUnlimited","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75882,"src":"14958:28:129","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":75689,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14958:46:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"14939:65:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":75691,"nodeType":"ExpressionStatement","src":"14939:65:129"}]}},{"expression":{"id":75704,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":75702,"name":"totalPointsActivated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74997,"src":"15123:20:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"id":75703,"name":"pointsToDecrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75672,"src":"15147:16:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"15123:40:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":75705,"nodeType":"ExpressionStatement","src":"15123:40:129"},{"eventCall":{"arguments":[{"id":75707,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75661,"src":"15193:7:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":75708,"name":"_amountToUnstake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75663,"src":"15202:16:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":75709,"name":"pointsToDecrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75672,"src":"15220:16:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":75706,"name":"PowerDecreased","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74931,"src":"15178:14:129","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (address,uint256,uint256)"}},"id":75710,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15178:59:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75711,"nodeType":"EmitStatement","src":"15173:64:129"},{"expression":{"id":75712,"name":"pointsToDecrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75672,"src":"15254:16:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":75667,"id":75713,"nodeType":"Return","src":"15247:23:129"}]},"baseFunctions":[74715],"functionSelector":"2ed04b2b","implemented":true,"kind":"function","modifiers":[],"name":"decreasePower","nameLocation":"14605:13:129","parameters":{"id":75664,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75661,"mutability":"mutable","name":"_member","nameLocation":"14627:7:129","nodeType":"VariableDeclaration","scope":75715,"src":"14619:15:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":75660,"name":"address","nodeType":"ElementaryTypeName","src":"14619:7:129","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":75663,"mutability":"mutable","name":"_amountToUnstake","nameLocation":"14644:16:129","nodeType":"VariableDeclaration","scope":75715,"src":"14636:24:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75662,"name":"uint256","nodeType":"ElementaryTypeName","src":"14636:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"14618:43:129"},"returnParameters":{"id":75667,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75666,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":75715,"src":"14680:7:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75665,"name":"uint256","nodeType":"ElementaryTypeName","src":"14680:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"14679:9:129"},"scope":77611,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":75725,"nodeType":"FunctionDefinition","src":"15283:126:129","nodes":[],"body":{"id":75724,"nodeType":"Block","src":"15371:38:129","nodes":[],"statements":[{"expression":{"id":75722,"name":"_amountToStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75717,"src":"15388:14:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":75721,"id":75723,"nodeType":"Return","src":"15381:21:129"}]},"implemented":true,"kind":"function","modifiers":[],"name":"increasePowerUnlimited","nameLocation":"15292:22:129","parameters":{"id":75718,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75717,"mutability":"mutable","name":"_amountToStake","nameLocation":"15323:14:129","nodeType":"VariableDeclaration","scope":75725,"src":"15315:22:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75716,"name":"uint256","nodeType":"ElementaryTypeName","src":"15315:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15314:24:129"},"returnParameters":{"id":75721,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75720,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":75725,"src":"15362:7:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75719,"name":"uint256","nodeType":"ElementaryTypeName","src":"15362:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15361:9:129"},"scope":77611,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":75788,"nodeType":"FunctionDefinition","src":"15415:615:129","nodes":[],"body":{"id":75787,"nodeType":"Block","src":"15517:513:129","nodes":[],"statements":[{"assignments":[75735],"declarations":[{"constant":false,"id":75735,"mutability":"mutable","name":"pointsToIncrease","nameLocation":"15535:16:129","nodeType":"VariableDeclaration","scope":75787,"src":"15527:24:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75734,"name":"uint256","nodeType":"ElementaryTypeName","src":"15527:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":75737,"initialValue":{"id":75736,"name":"_amountToStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75729,"src":"15554:14:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"15527:41:129"},{"expression":{"arguments":[{"hexValue":"504f494e545320544f20494e435245415345","id":75741,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"15590:20:129","typeDescriptions":{"typeIdentifier":"t_stringliteral_ef3d3d59430373ce7e3d099486636fe73635f3082757c009fe2ef0b043a4ebb1","typeString":"literal_string \"POINTS TO INCREASE\""},"value":"POINTS TO INCREASE"},{"id":75742,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75735,"src":"15612:16:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ef3d3d59430373ce7e3d099486636fe73635f3082757c009fe2ef0b043a4ebb1","typeString":"literal_string \"POINTS TO INCREASE\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":75738,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29549,"src":"15578:7:129","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$29549_$","typeString":"type(library console)"}},"id":75740,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15586:3:129","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":22193,"src":"15578:11:129","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":75743,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15578:51:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75744,"nodeType":"ExpressionStatement","src":"15578:51:129"},{"assignments":[75746],"declarations":[{"constant":false,"id":75746,"mutability":"mutable","name":"memberPower","nameLocation":"15647:11:129","nodeType":"VariableDeclaration","scope":75787,"src":"15639:19:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75745,"name":"uint256","nodeType":"ElementaryTypeName","src":"15639:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":75755,"initialValue":{"arguments":[{"id":75749,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75727,"src":"15704:7:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":75752,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"15721:4:129","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$77611","typeString":"contract CVStrategy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategy_$77611","typeString":"contract CVStrategy"}],"id":75751,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"15713:7:129","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":75750,"name":"address","nodeType":"ElementaryTypeName","src":"15713:7:129","typeDescriptions":{}}},"id":75753,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15713:13:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":75747,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75014,"src":"15661:17:129","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunity_$83082","typeString":"contract RegistryCommunity"}},"id":75748,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15679:24:129","memberName":"getMemberPowerInStrategy","nodeType":"MemberAccess","referencedDeclaration":82423,"src":"15661:42:129","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view external returns (uint256)"}},"id":75754,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15661:66:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"15639:88:129"},{"expression":{"arguments":[{"hexValue":"4d454d424552504f574552","id":75759,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"15749:13:129","typeDescriptions":{"typeIdentifier":"t_stringliteral_d53146c44856b98b9530413c868d7a3bea9675ba78d0918c9dbfa4f905f5c3e8","typeString":"literal_string \"MEMBERPOWER\""},"value":"MEMBERPOWER"},{"id":75760,"name":"memberPower","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75746,"src":"15764:11:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_d53146c44856b98b9530413c868d7a3bea9675ba78d0918c9dbfa4f905f5c3e8","typeString":"literal_string \"MEMBERPOWER\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":75756,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29549,"src":"15737:7:129","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$29549_$","typeString":"type(library console)"}},"id":75758,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15745:3:129","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":22193,"src":"15737:11:129","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":75761,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15737:39:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75762,"nodeType":"ExpressionStatement","src":"15737:39:129"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75768,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75765,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":75763,"name":"memberPower","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75746,"src":"15790:11:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":75764,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75735,"src":"15804:16:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"15790:30:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"expression":{"id":75766,"name":"pointConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75011,"src":"15823:11:129","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$74784_storage","typeString":"struct StrategyStruct.PointSystemConfig storage ref"}},"id":75767,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15835:9:129","memberName":"maxAmount","nodeType":"MemberAccess","referencedDeclaration":74783,"src":"15823:21:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"15790:54:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75777,"nodeType":"IfStatement","src":"15786:139:129","trueBody":{"id":75776,"nodeType":"Block","src":"15846:79:129","statements":[{"expression":{"id":75774,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":75769,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75735,"src":"15860:16:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75773,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":75770,"name":"pointConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75011,"src":"15879:11:129","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$74784_storage","typeString":"struct StrategyStruct.PointSystemConfig storage ref"}},"id":75771,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15891:9:129","memberName":"maxAmount","nodeType":"MemberAccess","referencedDeclaration":74783,"src":"15879:21:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":75772,"name":"memberPower","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75746,"src":"15903:11:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"15879:35:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"15860:54:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":75775,"nodeType":"ExpressionStatement","src":"15860:54:129"}]}},{"expression":{"arguments":[{"hexValue":"504f494e545320544f20494e43524541534520454e44","id":75781,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"15946:24:129","typeDescriptions":{"typeIdentifier":"t_stringliteral_7339ba314bb001e1fd9993d42999dceed278cc5b138b69398be73c13fb666826","typeString":"literal_string \"POINTS TO INCREASE END\""},"value":"POINTS TO INCREASE END"},{"id":75782,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75735,"src":"15972:16:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_7339ba314bb001e1fd9993d42999dceed278cc5b138b69398be73c13fb666826","typeString":"literal_string \"POINTS TO INCREASE END\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":75778,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29549,"src":"15934:7:129","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$29549_$","typeString":"type(library console)"}},"id":75780,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15942:3:129","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":22193,"src":"15934:11:129","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":75783,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15934:55:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75784,"nodeType":"ExpressionStatement","src":"15934:55:129"},{"expression":{"id":75785,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75735,"src":"16007:16:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":75733,"id":75786,"nodeType":"Return","src":"16000:23:129"}]},"implemented":true,"kind":"function","modifiers":[],"name":"increasePowerCapped","nameLocation":"15424:19:129","parameters":{"id":75730,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75727,"mutability":"mutable","name":"_member","nameLocation":"15452:7:129","nodeType":"VariableDeclaration","scope":75788,"src":"15444:15:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":75726,"name":"address","nodeType":"ElementaryTypeName","src":"15444:7:129","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":75729,"mutability":"mutable","name":"_amountToStake","nameLocation":"15469:14:129","nodeType":"VariableDeclaration","scope":75788,"src":"15461:22:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75728,"name":"uint256","nodeType":"ElementaryTypeName","src":"15461:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15443:41:129"},"returnParameters":{"id":75733,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75732,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":75788,"src":"15508:7:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75731,"name":"uint256","nodeType":"ElementaryTypeName","src":"15508:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15507:9:129"},"scope":77611,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":75872,"nodeType":"FunctionDefinition","src":"16036:730:129","nodes":[],"body":{"id":75871,"nodeType":"Block","src":"16141:625:129","nodes":[],"statements":[{"assignments":[75798],"declarations":[{"constant":false,"id":75798,"mutability":"mutable","name":"totalStake","nameLocation":"16159:10:129","nodeType":"VariableDeclaration","scope":75871,"src":"16151:18:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75797,"name":"uint256","nodeType":"ElementaryTypeName","src":"16151:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":75805,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75804,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":75801,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75790,"src":"16212:7:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":75799,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75014,"src":"16172:17:129","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunity_$83082","typeString":"contract RegistryCommunity"}},"id":75800,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16190:21:129","memberName":"getMemberStakedAmount","nodeType":"MemberAccess","referencedDeclaration":82436,"src":"16172:39:129","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":75802,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16172:48:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":75803,"name":"_amountToStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75792,"src":"16223:14:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16172:65:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"16151:86:129"},{"assignments":[75807],"declarations":[{"constant":false,"id":75807,"mutability":"mutable","name":"decimal","nameLocation":"16256:7:129","nodeType":"VariableDeclaration","scope":75871,"src":"16248:15:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75806,"name":"uint256","nodeType":"ElementaryTypeName","src":"16248:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":75809,"initialValue":{"hexValue":"3138","id":75808,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16266:2:129","typeDescriptions":{"typeIdentifier":"t_rational_18_by_1","typeString":"int_const 18"},"value":"18"},"nodeType":"VariableDeclarationStatement","src":"16248:20:129"},{"clauses":[{"block":{"id":75830,"nodeType":"Block","src":"16366:52:129","statements":[{"expression":{"id":75828,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":75823,"name":"decimal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75807,"src":"16380:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":75826,"name":"_decimal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75821,"src":"16398:8:129","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint8","typeString":"uint8"}],"id":75825,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16390:7:129","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":75824,"name":"uint256","nodeType":"ElementaryTypeName","src":"16390:7:129","typeDescriptions":{}}},"id":75827,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16390:17:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16380:27:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":75829,"nodeType":"ExpressionStatement","src":"16380:27:129"}]},"errorName":"","id":75831,"nodeType":"TryCatchClause","parameters":{"id":75822,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75821,"mutability":"mutable","name":"_decimal","nameLocation":"16356:8:129","nodeType":"VariableDeclaration","scope":75831,"src":"16350:14:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":75820,"name":"uint8","nodeType":"ElementaryTypeName","src":"16350:5:129","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"16349:16:129"},"src":"16341:77:129"},{"block":{"id":75838,"nodeType":"Block","src":"16425:61:129","statements":[{"expression":{"arguments":[{"hexValue":"4572726f722067657474696e6720646563696d616c","id":75835,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"16451:23:129","typeDescriptions":{"typeIdentifier":"t_stringliteral_add5b7e354bcd4eb0c69c8b5bd8a8dca27c903f694ea26b234a6605e7f62de4d","typeString":"literal_string \"Error getting decimal\""},"value":"Error getting decimal"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_add5b7e354bcd4eb0c69c8b5bd8a8dca27c903f694ea26b234a6605e7f62de4d","typeString":"literal_string \"Error getting decimal\""}],"expression":{"id":75832,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29549,"src":"16439:7:129","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$29549_$","typeString":"type(library console)"}},"id":75834,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16447:3:129","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":22080,"src":"16439:11:129","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) view"}},"id":75836,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16439:36:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75837,"nodeType":"ExpressionStatement","src":"16439:36:129"}]},"errorName":"","id":75839,"nodeType":"TryCatchClause","src":"16419:67:129"}],"externalCall":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":75813,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75014,"src":"16296:17:129","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunity_$83082","typeString":"contract RegistryCommunity"}},"id":75814,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16314:11:129","memberName":"gardenToken","nodeType":"MemberAccess","referencedDeclaration":81539,"src":"16296:29:129","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_contract$_IERC20_$57069_$","typeString":"function () view external returns (contract IERC20)"}},"id":75815,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16296:31:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$57069","typeString":"contract IERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$57069","typeString":"contract IERC20"}],"id":75812,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16288:7:129","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":75811,"name":"address","nodeType":"ElementaryTypeName","src":"16288:7:129","typeDescriptions":{}}},"id":75816,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16288:40:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":75810,"name":"ERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56991,"src":"16282:5:129","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ERC20_$56991_$","typeString":"type(contract ERC20)"}},"id":75817,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16282:47:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ERC20_$56991","typeString":"contract ERC20"}},"id":75818,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16330:8:129","memberName":"decimals","nodeType":"MemberAccess","referencedDeclaration":56479,"src":"16282:56:129","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint8_$","typeString":"function () view external returns (uint8)"}},"id":75819,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16282:58:129","tryCall":true,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":75840,"nodeType":"TryStatement","src":"16278:208:129"},{"assignments":[75842],"declarations":[{"constant":false,"id":75842,"mutability":"mutable","name":"newTotalPoints","nameLocation":"16503:14:129","nodeType":"VariableDeclaration","scope":75871,"src":"16495:22:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75841,"name":"uint256","nodeType":"ElementaryTypeName","src":"16495:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":75851,"initialValue":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75849,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":75845,"name":"totalStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75798,"src":"16530:10:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75848,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":75846,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16543:2:129","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"id":75847,"name":"decimal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75807,"src":"16549:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16543:13:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16530:26:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":75843,"name":"Math","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59338,"src":"16520:4:129","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Math_$59338_$","typeString":"type(library Math)"}},"id":75844,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16525:4:129","memberName":"sqrt","nodeType":"MemberAccess","referencedDeclaration":58842,"src":"16520:9:129","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":75850,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16520:37:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"16495:62:129"},{"assignments":[75853],"declarations":[{"constant":false,"id":75853,"mutability":"mutable","name":"currentPoints","nameLocation":"16575:13:129","nodeType":"VariableDeclaration","scope":75871,"src":"16567:21:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75852,"name":"uint256","nodeType":"ElementaryTypeName","src":"16567:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":75862,"initialValue":{"arguments":[{"id":75856,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75790,"src":"16634:7:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":75859,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"16651:4:129","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$77611","typeString":"contract CVStrategy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategy_$77611","typeString":"contract CVStrategy"}],"id":75858,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16643:7:129","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":75857,"name":"address","nodeType":"ElementaryTypeName","src":"16643:7:129","typeDescriptions":{}}},"id":75860,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16643:13:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":75854,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75014,"src":"16591:17:129","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunity_$83082","typeString":"contract RegistryCommunity"}},"id":75855,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16609:24:129","memberName":"getMemberPowerInStrategy","nodeType":"MemberAccess","referencedDeclaration":82423,"src":"16591:42:129","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view external returns (uint256)"}},"id":75861,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16591:66:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"16567:90:129"},{"assignments":[75864],"declarations":[{"constant":false,"id":75864,"mutability":"mutable","name":"pointsToIncrease","nameLocation":"16676:16:129","nodeType":"VariableDeclaration","scope":75871,"src":"16668:24:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75863,"name":"uint256","nodeType":"ElementaryTypeName","src":"16668:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":75868,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75867,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":75865,"name":"newTotalPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75842,"src":"16695:14:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":75866,"name":"currentPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75853,"src":"16712:13:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16695:30:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"16668:57:129"},{"expression":{"id":75869,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75864,"src":"16743:16:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":75796,"id":75870,"nodeType":"Return","src":"16736:23:129"}]},"implemented":true,"kind":"function","modifiers":[],"name":"increasePowerQuadratic","nameLocation":"16045:22:129","parameters":{"id":75793,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75790,"mutability":"mutable","name":"_member","nameLocation":"16076:7:129","nodeType":"VariableDeclaration","scope":75872,"src":"16068:15:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":75789,"name":"address","nodeType":"ElementaryTypeName","src":"16068:7:129","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":75792,"mutability":"mutable","name":"_amountToStake","nameLocation":"16093:14:129","nodeType":"VariableDeclaration","scope":75872,"src":"16085:22:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75791,"name":"uint256","nodeType":"ElementaryTypeName","src":"16085:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"16067:41:129"},"returnParameters":{"id":75796,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75795,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":75872,"src":"16132:7:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75794,"name":"uint256","nodeType":"ElementaryTypeName","src":"16132:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"16131:9:129"},"scope":77611,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":75882,"nodeType":"FunctionDefinition","src":"16772:136:129","nodes":[],"body":{"id":75881,"nodeType":"Block","src":"16868:40:129","nodes":[],"statements":[{"expression":{"id":75879,"name":"_amountToUnstake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75874,"src":"16885:16:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":75878,"id":75880,"nodeType":"Return","src":"16878:23:129"}]},"implemented":true,"kind":"function","modifiers":[],"name":"decreasePowerCappedUnlimited","nameLocation":"16781:28:129","parameters":{"id":75875,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75874,"mutability":"mutable","name":"_amountToUnstake","nameLocation":"16818:16:129","nodeType":"VariableDeclaration","scope":75882,"src":"16810:24:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75873,"name":"uint256","nodeType":"ElementaryTypeName","src":"16810:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"16809:26:129"},"returnParameters":{"id":75878,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75877,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":75882,"src":"16859:7:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75876,"name":"uint256","nodeType":"ElementaryTypeName","src":"16859:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"16858:9:129"},"scope":77611,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":75976,"nodeType":"FunctionDefinition","src":"16914:802:129","nodes":[],"body":{"id":75975,"nodeType":"Block","src":"17021:695:129","nodes":[],"statements":[{"assignments":[75892],"declarations":[{"constant":false,"id":75892,"mutability":"mutable","name":"decimal","nameLocation":"17039:7:129","nodeType":"VariableDeclaration","scope":75975,"src":"17031:15:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75891,"name":"uint256","nodeType":"ElementaryTypeName","src":"17031:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":75894,"initialValue":{"hexValue":"3138","id":75893,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17049:2:129","typeDescriptions":{"typeIdentifier":"t_rational_18_by_1","typeString":"int_const 18"},"value":"18"},"nodeType":"VariableDeclarationStatement","src":"17031:20:129"},{"clauses":[{"block":{"id":75915,"nodeType":"Block","src":"17149:52:129","statements":[{"expression":{"id":75913,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":75908,"name":"decimal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75892,"src":"17163:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":75911,"name":"_decimal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75906,"src":"17181:8:129","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint8","typeString":"uint8"}],"id":75910,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"17173:7:129","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":75909,"name":"uint256","nodeType":"ElementaryTypeName","src":"17173:7:129","typeDescriptions":{}}},"id":75912,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17173:17:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17163:27:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":75914,"nodeType":"ExpressionStatement","src":"17163:27:129"}]},"errorName":"","id":75916,"nodeType":"TryCatchClause","parameters":{"id":75907,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75906,"mutability":"mutable","name":"_decimal","nameLocation":"17139:8:129","nodeType":"VariableDeclaration","scope":75916,"src":"17133:14:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":75905,"name":"uint8","nodeType":"ElementaryTypeName","src":"17133:5:129","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"17132:16:129"},"src":"17124:77:129"},{"block":{"id":75923,"nodeType":"Block","src":"17208:61:129","statements":[{"expression":{"arguments":[{"hexValue":"4572726f722067657474696e6720646563696d616c","id":75920,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"17234:23:129","typeDescriptions":{"typeIdentifier":"t_stringliteral_add5b7e354bcd4eb0c69c8b5bd8a8dca27c903f694ea26b234a6605e7f62de4d","typeString":"literal_string \"Error getting decimal\""},"value":"Error getting decimal"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_add5b7e354bcd4eb0c69c8b5bd8a8dca27c903f694ea26b234a6605e7f62de4d","typeString":"literal_string \"Error getting decimal\""}],"expression":{"id":75917,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29549,"src":"17222:7:129","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$29549_$","typeString":"type(library console)"}},"id":75919,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17230:3:129","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":22080,"src":"17222:11:129","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) view"}},"id":75921,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17222:36:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75922,"nodeType":"ExpressionStatement","src":"17222:36:129"}]},"errorName":"","id":75924,"nodeType":"TryCatchClause","src":"17202:67:129"}],"externalCall":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":75898,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75014,"src":"17079:17:129","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunity_$83082","typeString":"contract RegistryCommunity"}},"id":75899,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17097:11:129","memberName":"gardenToken","nodeType":"MemberAccess","referencedDeclaration":81539,"src":"17079:29:129","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_contract$_IERC20_$57069_$","typeString":"function () view external returns (contract IERC20)"}},"id":75900,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17079:31:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$57069","typeString":"contract IERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$57069","typeString":"contract IERC20"}],"id":75897,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"17071:7:129","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":75896,"name":"address","nodeType":"ElementaryTypeName","src":"17071:7:129","typeDescriptions":{}}},"id":75901,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17071:40:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":75895,"name":"ERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56991,"src":"17065:5:129","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ERC20_$56991_$","typeString":"type(contract ERC20)"}},"id":75902,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17065:47:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ERC20_$56991","typeString":"contract ERC20"}},"id":75903,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17113:8:129","memberName":"decimals","nodeType":"MemberAccess","referencedDeclaration":56479,"src":"17065:56:129","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint8_$","typeString":"function () view external returns (uint8)"}},"id":75904,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17065:58:129","tryCall":true,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":75925,"nodeType":"TryStatement","src":"17061:208:129"},{"expression":{"arguments":[{"hexValue":"5f616d6f756e74546f556e7374616b65","id":75929,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"17290:18:129","typeDescriptions":{"typeIdentifier":"t_stringliteral_dc5364d7a51b187c038e40e987076ae6dd611b7a72008e9d9acc88e3a526f2c2","typeString":"literal_string \"_amountToUnstake\""},"value":"_amountToUnstake"},{"id":75930,"name":"_amountToUnstake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75886,"src":"17310:16:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_dc5364d7a51b187c038e40e987076ae6dd611b7a72008e9d9acc88e3a526f2c2","typeString":"literal_string \"_amountToUnstake\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":75926,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29549,"src":"17278:7:129","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$29549_$","typeString":"type(library console)"}},"id":75928,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17286:3:129","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":22193,"src":"17278:11:129","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":75931,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17278:49:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75932,"nodeType":"ExpressionStatement","src":"17278:49:129"},{"assignments":[75934],"declarations":[{"constant":false,"id":75934,"mutability":"mutable","name":"newTotalStake","nameLocation":"17345:13:129","nodeType":"VariableDeclaration","scope":75975,"src":"17337:21:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75933,"name":"uint256","nodeType":"ElementaryTypeName","src":"17337:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":75941,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75940,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":75937,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75884,"src":"17401:7:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":75935,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75014,"src":"17361:17:129","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunity_$83082","typeString":"contract RegistryCommunity"}},"id":75936,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17379:21:129","memberName":"getMemberStakedAmount","nodeType":"MemberAccess","referencedDeclaration":82436,"src":"17361:39:129","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":75938,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17361:48:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":75939,"name":"_amountToUnstake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75886,"src":"17412:16:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17361:67:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"17337:91:129"},{"expression":{"arguments":[{"hexValue":"6e6577546f74616c5374616b65","id":75945,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"17450:15:129","typeDescriptions":{"typeIdentifier":"t_stringliteral_e1d5e8d6d05577c9c30b6029c3158dfad77d5a239a04e4529b5b98f0ce2f7a79","typeString":"literal_string \"newTotalStake\""},"value":"newTotalStake"},{"id":75946,"name":"newTotalStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75934,"src":"17467:13:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e1d5e8d6d05577c9c30b6029c3158dfad77d5a239a04e4529b5b98f0ce2f7a79","typeString":"literal_string \"newTotalStake\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":75942,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29549,"src":"17438:7:129","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$29549_$","typeString":"type(library console)"}},"id":75944,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17446:3:129","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":22193,"src":"17438:11:129","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":75947,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17438:43:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75948,"nodeType":"ExpressionStatement","src":"17438:43:129"},{"assignments":[75950],"declarations":[{"constant":false,"id":75950,"mutability":"mutable","name":"newTotalPoints","nameLocation":"17499:14:129","nodeType":"VariableDeclaration","scope":75975,"src":"17491:22:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75949,"name":"uint256","nodeType":"ElementaryTypeName","src":"17491:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":75959,"initialValue":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75957,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":75953,"name":"newTotalStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75934,"src":"17526:13:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75956,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":75954,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17542:2:129","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"id":75955,"name":"decimal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75892,"src":"17548:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17542:13:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17526:29:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":75951,"name":"Math","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59338,"src":"17516:4:129","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Math_$59338_$","typeString":"type(library Math)"}},"id":75952,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17521:4:129","memberName":"sqrt","nodeType":"MemberAccess","referencedDeclaration":58842,"src":"17516:9:129","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":75958,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17516:40:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"17491:65:129"},{"assignments":[75961],"declarations":[{"constant":false,"id":75961,"mutability":"mutable","name":"pointsToDecrease","nameLocation":"17574:16:129","nodeType":"VariableDeclaration","scope":75975,"src":"17566:24:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75960,"name":"uint256","nodeType":"ElementaryTypeName","src":"17566:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":75972,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75971,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":75964,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75884,"src":"17636:7:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":75967,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"17653:4:129","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$77611","typeString":"contract CVStrategy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategy_$77611","typeString":"contract CVStrategy"}],"id":75966,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"17645:7:129","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":75965,"name":"address","nodeType":"ElementaryTypeName","src":"17645:7:129","typeDescriptions":{}}},"id":75968,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17645:13:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":75962,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75014,"src":"17593:17:129","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunity_$83082","typeString":"contract RegistryCommunity"}},"id":75963,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17611:24:129","memberName":"getMemberPowerInStrategy","nodeType":"MemberAccess","referencedDeclaration":82423,"src":"17593:42:129","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view external returns (uint256)"}},"id":75969,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17593:66:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":75970,"name":"newTotalPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75950,"src":"17662:14:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17593:83:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"17566:110:129"},{"expression":{"id":75973,"name":"pointsToDecrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75961,"src":"17693:16:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":75890,"id":75974,"nodeType":"Return","src":"17686:23:129"}]},"implemented":true,"kind":"function","modifiers":[],"name":"decreasePowerQuadratic","nameLocation":"16923:22:129","parameters":{"id":75887,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75884,"mutability":"mutable","name":"_member","nameLocation":"16954:7:129","nodeType":"VariableDeclaration","scope":75976,"src":"16946:15:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":75883,"name":"address","nodeType":"ElementaryTypeName","src":"16946:7:129","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":75886,"mutability":"mutable","name":"_amountToUnstake","nameLocation":"16971:16:129","nodeType":"VariableDeclaration","scope":75976,"src":"16963:24:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75885,"name":"uint256","nodeType":"ElementaryTypeName","src":"16963:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"16945:43:129"},"returnParameters":{"id":75890,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75889,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":75976,"src":"17012:7:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75888,"name":"uint256","nodeType":"ElementaryTypeName","src":"17012:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"17011:9:129"},"scope":77611,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":75985,"nodeType":"FunctionDefinition","src":"17722:99:129","nodes":[],"body":{"id":75984,"nodeType":"Block","src":"17776:45:129","nodes":[],"statements":[{"expression":{"expression":{"id":75981,"name":"pointConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75011,"src":"17793:11:129","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$74784_storage","typeString":"struct StrategyStruct.PointSystemConfig storage ref"}},"id":75982,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"17805:9:129","memberName":"maxAmount","nodeType":"MemberAccess","referencedDeclaration":74783,"src":"17793:21:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":75980,"id":75983,"nodeType":"Return","src":"17786:28:129"}]},"functionSelector":"0ba95909","implemented":true,"kind":"function","modifiers":[],"name":"getMaxAmount","nameLocation":"17731:12:129","parameters":{"id":75977,"nodeType":"ParameterList","parameters":[],"src":"17743:2:129"},"returnParameters":{"id":75980,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75979,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":75985,"src":"17767:7:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75978,"name":"uint256","nodeType":"ElementaryTypeName","src":"17767:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"17766:9:129"},"scope":77611,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":75994,"nodeType":"FunctionDefinition","src":"17827:110:129","nodes":[],"body":{"id":75993,"nodeType":"Block","src":"17902:35:129","nodes":[],"statements":[{"expression":{"id":75991,"name":"pointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75008,"src":"17919:11:129","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$74731","typeString":"enum StrategyStruct.PointSystem"}},"functionReturnParameters":75990,"id":75992,"nodeType":"Return","src":"17912:18:129"}]},"baseFunctions":[74721],"functionSelector":"c3292171","implemented":true,"kind":"function","modifiers":[],"name":"getPointSystem","nameLocation":"17836:14:129","parameters":{"id":75986,"nodeType":"ParameterList","parameters":[],"src":"17850:2:129"},"returnParameters":{"id":75990,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75989,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":75994,"src":"17874:26:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$74731","typeString":"enum StrategyStruct.PointSystem"},"typeName":{"id":75988,"nodeType":"UserDefinedTypeName","pathNode":{"id":75987,"name":"StrategyStruct.PointSystem","nameLocations":["17874:14:129","17889:11:129"],"nodeType":"IdentifierPath","referencedDeclaration":74731,"src":"17874:26:129"},"referencedDeclaration":74731,"src":"17874:26:129","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$74731","typeString":"enum StrategyStruct.PointSystem"}},"visibility":"internal"}],"src":"17873:28:129"},"scope":77611,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":76005,"nodeType":"FunctionDefinition","src":"18053:226:129","nodes":[],"body":{"id":76004,"nodeType":"Block","src":"18131:148:129","nodes":[],"statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":76001,"name":"NotImplemented","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74826,"src":"18196:14:129","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":76002,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18196:16:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":76003,"nodeType":"RevertStatement","src":"18189:23:129"}]},"functionSelector":"e33add93","implemented":true,"kind":"function","modifiers":[],"name":"supportProposal","nameLocation":"18062:15:129","parameters":{"id":75999,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75998,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":76005,"src":"18078:39:129","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$74781_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport[]"},"typeName":{"baseType":{"id":75996,"nodeType":"UserDefinedTypeName","pathNode":{"id":75995,"name":"StrategyStruct.ProposalSupport","nameLocations":["18078:14:129","18093:15:129"],"nodeType":"IdentifierPath","referencedDeclaration":74781,"src":"18078:30:129"},"referencedDeclaration":74781,"src":"18078:30:129","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$74781_storage_ptr","typeString":"struct StrategyStruct.ProposalSupport"}},"id":75997,"nodeType":"ArrayTypeName","src":"18078:32:129","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$74781_storage_$dyn_storage_ptr","typeString":"struct StrategyStruct.ProposalSupport[]"}},"visibility":"internal"}],"src":"18077:41:129"},"returnParameters":{"id":76000,"nodeType":"ParameterList","parameters":[],"src":"18131:0:129"},"scope":77611,"stateMutability":"pure","virtual":false,"visibility":"public"},{"id":76070,"nodeType":"FunctionDefinition","src":"18425:604:129","nodes":[],"body":{"id":76069,"nodeType":"Block","src":"18499:530:129","nodes":[],"statements":[{"expression":{"arguments":[{"id":76014,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76009,"src":"18529:7:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":76013,"name":"checkSenderIsMember","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75224,"src":"18509:19:129","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$__$","typeString":"function (address) view"}},"id":76015,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18509:28:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":76016,"nodeType":"ExpressionStatement","src":"18509:28:129"},{"condition":{"id":76020,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"18551:27:129","subExpression":{"arguments":[{"id":76018,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76009,"src":"18570:7:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":76017,"name":"_canExecuteAction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75286,"src":"18552:17:129","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":76019,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18552:26:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":76025,"nodeType":"IfStatement","src":"18547:90:129","trueBody":{"id":76024,"nodeType":"Block","src":"18580:57:129","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":76021,"name":"UserCannotExecuteAction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74890,"src":"18601:23:129","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":76022,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18601:25:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":76023,"nodeType":"RevertStatement","src":"18594:32:129"}]}},{"assignments":[76027],"declarations":[{"constant":false,"id":76027,"mutability":"mutable","name":"isMemberActivatedPoints","nameLocation":"18651:23:129","nodeType":"VariableDeclaration","scope":76069,"src":"18646:28:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":76026,"name":"bool","nodeType":"ElementaryTypeName","src":"18646:4:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":76036,"initialValue":{"arguments":[{"id":76030,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76009,"src":"18723:7:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":76033,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"18740:4:129","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$77611","typeString":"contract CVStrategy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategy_$77611","typeString":"contract CVStrategy"}],"id":76032,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"18732:7:129","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":76031,"name":"address","nodeType":"ElementaryTypeName","src":"18732:7:129","typeDescriptions":{}}},"id":76034,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18732:13:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":76028,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75014,"src":"18677:17:129","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunity_$83082","typeString":"contract RegistryCommunity"}},"id":76029,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18695:27:129","memberName":"memberActivatedInStrategies","nodeType":"MemberAccess","referencedDeclaration":81575,"src":"18677:45:129","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_bool_$","typeString":"function (address,address) view external returns (bool)"}},"id":76035,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18677:69:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"VariableDeclarationStatement","src":"18646:100:129"},{"condition":{"id":76038,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"18760:24:129","subExpression":{"id":76037,"name":"isMemberActivatedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76027,"src":"18761:23:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":76043,"nodeType":"IfStatement","src":"18756:78:129","trueBody":{"id":76042,"nodeType":"Block","src":"18786:48:129","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":76039,"name":"UserIsInactive","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74822,"src":"18807:14:129","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":76040,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18807:16:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":76041,"nodeType":"RevertStatement","src":"18800:23:129"}]}},{"assignments":[76049],"declarations":[{"constant":false,"id":76049,"mutability":"mutable","name":"pv","nameLocation":"18883:2:129","nodeType":"VariableDeclaration","scope":76069,"src":"18843:42:129","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$74781_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport[]"},"typeName":{"baseType":{"id":76047,"nodeType":"UserDefinedTypeName","pathNode":{"id":76046,"name":"StrategyStruct.ProposalSupport","nameLocations":["18843:14:129","18858:15:129"],"nodeType":"IdentifierPath","referencedDeclaration":74781,"src":"18843:30:129"},"referencedDeclaration":74781,"src":"18843:30:129","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$74781_storage_ptr","typeString":"struct StrategyStruct.ProposalSupport"}},"id":76048,"nodeType":"ArrayTypeName","src":"18843:32:129","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$74781_storage_$dyn_storage_ptr","typeString":"struct StrategyStruct.ProposalSupport[]"}},"visibility":"internal"}],"id":76058,"initialValue":{"arguments":[{"id":76052,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76007,"src":"18899:5:129","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"baseExpression":{"expression":{"id":76053,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74807,"src":"18907:14:129","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$74807_$","typeString":"type(library StrategyStruct)"}},"id":76054,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18922:15:129","memberName":"ProposalSupport","nodeType":"MemberAccess","referencedDeclaration":74781,"src":"18907:30:129","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ProposalSupport_$74781_storage_ptr_$","typeString":"type(struct StrategyStruct.ProposalSupport storage pointer)"}},"id":76055,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"18907:32:129","typeDescriptions":{"typeIdentifier":"t_type$_t_array$_t_struct$_ProposalSupport_$74781_memory_ptr_$dyn_memory_ptr_$","typeString":"type(struct StrategyStruct.ProposalSupport memory[] memory)"}}],"id":76056,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"18906:34:129","typeDescriptions":{"typeIdentifier":"t_type$_t_array$_t_struct$_ProposalSupport_$74781_memory_ptr_$dyn_memory_ptr_$","typeString":"type(struct StrategyStruct.ProposalSupport memory[] memory)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_array$_t_struct$_ProposalSupport_$74781_memory_ptr_$dyn_memory_ptr_$","typeString":"type(struct StrategyStruct.ProposalSupport memory[] memory)"}],"expression":{"id":76050,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"18888:3:129","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":76051,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"18892:6:129","memberName":"decode","nodeType":"MemberAccess","src":"18888:10:129","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":76057,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18888:53:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$74781_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"18843:98:129"},{"expression":{"arguments":[{"id":76060,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76009,"src":"18976:7:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":76061,"name":"pv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76049,"src":"18985:2:129","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$74781_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$74781_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}],"id":76059,"name":"_check_before_addSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76770,"src":"18951:24:129","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_array$_t_struct$_ProposalSupport_$74781_memory_ptr_$dyn_memory_ptr_$returns$__$","typeString":"function (address,struct StrategyStruct.ProposalSupport memory[] memory)"}},"id":76062,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18951:37:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":76063,"nodeType":"ExpressionStatement","src":"18951:37:129"},{"expression":{"arguments":[{"id":76065,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76009,"src":"19010:7:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":76066,"name":"pv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76049,"src":"19019:2:129","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$74781_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$74781_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}],"id":76064,"name":"_addSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77057,"src":"18998:11:129","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_array$_t_struct$_ProposalSupport_$74781_memory_ptr_$dyn_memory_ptr_$returns$__$","typeString":"function (address,struct StrategyStruct.ProposalSupport memory[] memory)"}},"id":76067,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18998:24:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":76068,"nodeType":"ExpressionStatement","src":"18998:24:129"}]},"baseFunctions":[3817],"implemented":true,"kind":"function","modifiers":[],"name":"_allocate","nameLocation":"18434:9:129","overrides":{"id":76011,"nodeType":"OverrideSpecifier","overrides":[],"src":"18490:8:129"},"parameters":{"id":76010,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76007,"mutability":"mutable","name":"_data","nameLocation":"18457:5:129","nodeType":"VariableDeclaration","scope":76070,"src":"18444:18:129","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":76006,"name":"bytes","nodeType":"ElementaryTypeName","src":"18444:5:129","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":76009,"mutability":"mutable","name":"_sender","nameLocation":"18472:7:129","nodeType":"VariableDeclaration","scope":76070,"src":"18464:15:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":76008,"name":"address","nodeType":"ElementaryTypeName","src":"18464:7:129","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"18443:37:129"},"returnParameters":{"id":76012,"nodeType":"ParameterList","parameters":[],"src":"18499:0:129"},"scope":77611,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":76226,"nodeType":"FunctionDefinition","src":"19285:1756:129","nodes":[],"body":{"id":76225,"nodeType":"Block","src":"19371:1670:129","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":76084,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":76081,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76075,"src":"19464:5:129","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":76082,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19470:6:129","memberName":"length","nodeType":"MemberAccess","src":"19464:12:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"hexValue":"30","id":76083,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"19480:1:129","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"19464:17:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":76089,"nodeType":"IfStatement","src":"19460:76:129","trueBody":{"id":76088,"nodeType":"Block","src":"19483:53:129","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":76085,"name":"ProposalDataIsEmpty","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74858,"src":"19504:19:129","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":76086,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19504:21:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":76087,"nodeType":"RevertStatement","src":"19497:28:129"}]}},{"assignments":[76091],"declarations":[{"constant":false,"id":76091,"mutability":"mutable","name":"proposalId","nameLocation":"19554:10:129","nodeType":"VariableDeclaration","scope":76225,"src":"19546:18:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76090,"name":"uint256","nodeType":"ElementaryTypeName","src":"19546:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":76099,"initialValue":{"arguments":[{"id":76094,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76075,"src":"19578:5:129","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":76096,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"19586:7:129","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":76095,"name":"uint256","nodeType":"ElementaryTypeName","src":"19586:7:129","typeDescriptions":{}}}],"id":76097,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"19585:9:129","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}],"expression":{"id":76092,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"19567:3:129","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":76093,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"19571:6:129","memberName":"decode","nodeType":"MemberAccess","src":"19567:10:129","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":76098,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19567:28:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"19546:49:129"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":76102,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":76100,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76091,"src":"19610:10:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":76101,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"19624:1:129","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"19610:15:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":76107,"nodeType":"IfStatement","src":"19606:77:129","trueBody":{"id":76106,"nodeType":"Block","src":"19627:56:129","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":76103,"name":"ProposalIdCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74860,"src":"19648:22:129","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":76104,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19648:24:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":76105,"nodeType":"RevertStatement","src":"19641:31:129"}]}},{"assignments":[76112],"declarations":[{"constant":false,"id":76112,"mutability":"mutable","name":"proposal","nameLocation":"19724:8:129","nodeType":"VariableDeclaration","scope":76225,"src":"19692:40:129","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":76111,"nodeType":"UserDefinedTypeName","pathNode":{"id":76110,"name":"StrategyStruct.Proposal","nameLocations":["19692:14:129","19707:8:129"],"nodeType":"IdentifierPath","referencedDeclaration":74776,"src":"19692:23:129"},"referencedDeclaration":74776,"src":"19692:23:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":76116,"initialValue":{"baseExpression":{"id":76113,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75022,"src":"19735:9:129","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$74776_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":76115,"indexExpression":{"id":76114,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76091,"src":"19745:10:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"19735:21:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"19692:64:129"},{"condition":{"commonType":{"typeIdentifier":"t_enum$_ProposalType_$74726","typeString":"enum StrategyStruct.ProposalType"},"id":76121,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":76117,"name":"proposalType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75005,"src":"19771:12:129","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$74726","typeString":"enum StrategyStruct.ProposalType"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":76118,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74807,"src":"19787:14:129","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$74807_$","typeString":"type(library StrategyStruct)"}},"id":76119,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19802:12:129","memberName":"ProposalType","nodeType":"MemberAccess","referencedDeclaration":74726,"src":"19787:27:129","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalType_$74726_$","typeString":"type(enum StrategyStruct.ProposalType)"}},"id":76120,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"19815:7:129","memberName":"Funding","nodeType":"MemberAccess","referencedDeclaration":74724,"src":"19787:35:129","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$74726","typeString":"enum StrategyStruct.ProposalType"}},"src":"19771:51:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":76224,"nodeType":"IfStatement","src":"19767:1208:129","trueBody":{"id":76223,"nodeType":"Block","src":"19824:1151:129","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":76125,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":76122,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76112,"src":"19842:8:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":76123,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"19851:10:129","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":74751,"src":"19842:19:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":76124,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76091,"src":"19865:10:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"19842:33:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":76131,"nodeType":"IfStatement","src":"19838:108:129","trueBody":{"id":76130,"nodeType":"Block","src":"19877:69:129","statements":[{"errorCall":{"arguments":[{"id":76127,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76091,"src":"19920:10:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":76126,"name":"ProposalNotInList","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74868,"src":"19902:17:129","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":76128,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19902:29:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":76129,"nodeType":"RevertStatement","src":"19895:36:129"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":76135,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":76132,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76112,"src":"19964:8:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":76133,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"19973:15:129","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":74753,"src":"19964:24:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":76134,"name":"poolAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3343,"src":"19991:10:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"19964:37:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":76144,"nodeType":"IfStatement","src":"19960:152:129","trueBody":{"id":76143,"nodeType":"Block","src":"20003:109:129","statements":[{"errorCall":{"arguments":[{"id":76137,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76091,"src":"20048:10:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":76138,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76112,"src":"20060:8:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":76139,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"20069:15:129","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":74753,"src":"20060:24:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":76140,"name":"poolAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3343,"src":"20086:10:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":76136,"name":"PoolAmountNotEnough","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74886,"src":"20028:19:129","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256,uint256) pure"}},"id":76141,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20028:69:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":76142,"nodeType":"RevertStatement","src":"20021:76:129"}]}},{"condition":{"commonType":{"typeIdentifier":"t_enum$_ProposalStatus_$74749","typeString":"enum StrategyStruct.ProposalStatus"},"id":76150,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":76145,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76112,"src":"20130:8:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":76146,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"20139:14:129","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":74768,"src":"20130:23:129","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$74749","typeString":"enum StrategyStruct.ProposalStatus"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"expression":{"id":76147,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74807,"src":"20157:14:129","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$74807_$","typeString":"type(library StrategyStruct)"}},"id":76148,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20172:14:129","memberName":"ProposalStatus","nodeType":"MemberAccess","referencedDeclaration":74749,"src":"20157:29:129","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$74749_$","typeString":"type(enum StrategyStruct.ProposalStatus)"}},"id":76149,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"20187:6:129","memberName":"Active","nodeType":"MemberAccess","referencedDeclaration":74745,"src":"20157:36:129","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$74749","typeString":"enum StrategyStruct.ProposalStatus"}},"src":"20130:63:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":76156,"nodeType":"IfStatement","src":"20126:138:129","trueBody":{"id":76155,"nodeType":"Block","src":"20195:69:129","statements":[{"errorCall":{"arguments":[{"id":76152,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76091,"src":"20238:10:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":76151,"name":"ProposalNotActive","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74864,"src":"20220:17:129","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":76153,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20220:29:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":76154,"nodeType":"RevertStatement","src":"20213:36:129"}]}},{"assignments":[76158],"declarations":[{"constant":false,"id":76158,"mutability":"mutable","name":"convictionLast","nameLocation":"20286:14:129","nodeType":"VariableDeclaration","scope":76223,"src":"20278:22:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76157,"name":"uint256","nodeType":"ElementaryTypeName","src":"20278:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":76162,"initialValue":{"arguments":[{"id":76160,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76091,"src":"20328:10:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":76159,"name":"updateProposalConviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77480,"src":"20303:24:129","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) returns (uint256)"}},"id":76161,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20303:36:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"20278:61:129"},{"assignments":[76164],"declarations":[{"constant":false,"id":76164,"mutability":"mutable","name":"threshold","nameLocation":"20361:9:129","nodeType":"VariableDeclaration","scope":76223,"src":"20353:17:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76163,"name":"uint256","nodeType":"ElementaryTypeName","src":"20353:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":76169,"initialValue":{"arguments":[{"expression":{"id":76166,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76112,"src":"20392:8:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":76167,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"20401:15:129","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":74753,"src":"20392:24:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":76165,"name":"calculateThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77236,"src":"20373:18:129","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":76168,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20373:44:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"20353:64:129"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":76177,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":76172,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":76170,"name":"convictionLast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76158,"src":"20436:14:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":76171,"name":"threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76164,"src":"20453:9:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20436:26:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":76176,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":76173,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76112,"src":"20466:8:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":76174,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"20475:15:129","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":74753,"src":"20466:24:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":76175,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20493:1:129","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"20466:28:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"20436:58:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":76182,"nodeType":"IfStatement","src":"20432:137:129","trueBody":{"id":76181,"nodeType":"Block","src":"20496:73:129","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":76178,"name":"ConvictionUnderMinimumThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74876,"src":"20521:31:129","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":76179,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20521:33:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":76180,"nodeType":"RevertStatement","src":"20514:40:129"}]}},{"assignments":[76187],"declarations":[{"constant":false,"id":76187,"mutability":"mutable","name":"pool","nameLocation":"20601:4:129","nodeType":"VariableDeclaration","scope":76223,"src":"20583:22:129","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool"},"typeName":{"id":76186,"nodeType":"UserDefinedTypeName","pathNode":{"id":76185,"name":"IAllo.Pool","nameLocations":["20583:5:129","20589:4:129"],"nodeType":"IdentifierPath","referencedDeclaration":2319,"src":"20583:10:129"},"referencedDeclaration":2319,"src":"20583:10:129","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool"}},"visibility":"internal"}],"id":76192,"initialValue":{"arguments":[{"id":76190,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3341,"src":"20621:6:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":76188,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3335,"src":"20608:4:129","typeDescriptions":{"typeIdentifier":"t_contract$_IAllo_$2610","typeString":"contract IAllo"}},"id":76189,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20613:7:129","memberName":"getPool","nodeType":"MemberAccess","referencedDeclaration":2603,"src":"20608:12:129","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_struct$_Pool_$2319_memory_ptr_$","typeString":"function (uint256) view external returns (struct IAllo.Pool memory)"}},"id":76191,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20608:20:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"nodeType":"VariableDeclarationStatement","src":"20583:45:129"},{"expression":{"id":76196,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":76193,"name":"poolAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3343,"src":"20643:10:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"expression":{"id":76194,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76112,"src":"20657:8:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":76195,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"20666:15:129","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":74753,"src":"20657:24:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20643:38:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":76197,"nodeType":"ExpressionStatement","src":"20643:38:129"},{"expression":{"arguments":[{"expression":{"id":76199,"name":"pool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76187,"src":"20719:4:129","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"id":76200,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"20724:5:129","memberName":"token","nodeType":"MemberAccess","referencedDeclaration":2311,"src":"20719:10:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":76201,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76112,"src":"20731:8:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":76202,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"20740:11:129","memberName":"beneficiary","nodeType":"MemberAccess","referencedDeclaration":74759,"src":"20731:20:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":76203,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76112,"src":"20753:8:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":76204,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"20762:15:129","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":74753,"src":"20753:24:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":76198,"name":"_transferAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3287,"src":"20703:15:129","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":76205,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20703:75:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":76206,"nodeType":"ExpressionStatement","src":"20703:75:129"},{"expression":{"id":76213,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":76207,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76112,"src":"20809:8:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":76209,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"20818:14:129","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":74768,"src":"20809:23:129","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$74749","typeString":"enum StrategyStruct.ProposalStatus"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"expression":{"id":76210,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74807,"src":"20835:14:129","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$74807_$","typeString":"type(library StrategyStruct)"}},"id":76211,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20850:14:129","memberName":"ProposalStatus","nodeType":"MemberAccess","referencedDeclaration":74749,"src":"20835:29:129","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$74749_$","typeString":"type(enum StrategyStruct.ProposalStatus)"}},"id":76212,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"20865:8:129","memberName":"Executed","nodeType":"MemberAccess","referencedDeclaration":74748,"src":"20835:38:129","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$74749","typeString":"enum StrategyStruct.ProposalStatus"}},"src":"20809:64:129","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$74749","typeString":"enum StrategyStruct.ProposalStatus"}},"id":76214,"nodeType":"ExpressionStatement","src":"20809:64:129"},{"eventCall":{"arguments":[{"id":76216,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76091,"src":"20905:10:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":76217,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76112,"src":"20917:8:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":76218,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"20926:11:129","memberName":"beneficiary","nodeType":"MemberAccess","referencedDeclaration":74759,"src":"20917:20:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":76219,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76112,"src":"20939:8:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":76220,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"20948:15:129","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":74753,"src":"20939:24:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":76215,"name":"Distributed","nodeType":"Identifier","overloadedDeclarations":[74905,2858],"referencedDeclaration":74905,"src":"20893:11:129","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_address_$_t_uint256_$returns$__$","typeString":"function (uint256,address,uint256)"}},"id":76221,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20893:71:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":76222,"nodeType":"EmitStatement","src":"20888:76:129"}]}}]},"baseFunctions":[3828],"implemented":true,"kind":"function","modifiers":[],"name":"_distribute","nameLocation":"19294:11:129","overrides":{"id":76079,"nodeType":"OverrideSpecifier","overrides":[],"src":"19362:8:129"},"parameters":{"id":76078,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76073,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":76226,"src":"19306:16:129","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":76071,"name":"address","nodeType":"ElementaryTypeName","src":"19306:7:129","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":76072,"nodeType":"ArrayTypeName","src":"19306:9:129","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":76075,"mutability":"mutable","name":"_data","nameLocation":"19337:5:129","nodeType":"VariableDeclaration","scope":76226,"src":"19324:18:129","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":76074,"name":"bytes","nodeType":"ElementaryTypeName","src":"19324:5:129","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":76077,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":76226,"src":"19344:7:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":76076,"name":"address","nodeType":"ElementaryTypeName","src":"19344:7:129","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"19305:47:129"},"returnParameters":{"id":76080,"nodeType":"ParameterList","parameters":[],"src":"19371:0:129"},"scope":77611,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":76280,"nodeType":"FunctionDefinition","src":"21047:735:129","nodes":[],"body":{"id":76279,"nodeType":"Block","src":"21136:646:129","nodes":[],"statements":[{"assignments":[76237],"declarations":[{"constant":false,"id":76237,"mutability":"mutable","name":"proposal","nameLocation":"21178:8:129","nodeType":"VariableDeclaration","scope":76279,"src":"21146:40:129","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":76236,"nodeType":"UserDefinedTypeName","pathNode":{"id":76235,"name":"StrategyStruct.Proposal","nameLocations":["21146:14:129","21161:8:129"],"nodeType":"IdentifierPath","referencedDeclaration":74776,"src":"21146:23:129"},"referencedDeclaration":74776,"src":"21146:23:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":76241,"initialValue":{"baseExpression":{"id":76238,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75022,"src":"21189:9:129","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$74776_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":76240,"indexExpression":{"id":76239,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76228,"src":"21199:10:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"21189:21:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"21146:64:129"},{"assignments":[76243,76245],"declarations":[{"constant":false,"id":76243,"mutability":"mutable","name":"convictionLast","nameLocation":"21304:14:129","nodeType":"VariableDeclaration","scope":76279,"src":"21296:22:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76242,"name":"uint256","nodeType":"ElementaryTypeName","src":"21296:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":76245,"mutability":"mutable","name":"blockNumber","nameLocation":"21328:11:129","nodeType":"VariableDeclaration","scope":76279,"src":"21320:19:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76244,"name":"uint256","nodeType":"ElementaryTypeName","src":"21320:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":76251,"initialValue":{"arguments":[{"id":76247,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76237,"src":"21389:8:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},{"expression":{"id":76248,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76237,"src":"21399:8:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":76249,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"21408:12:129","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":74755,"src":"21399:21:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":76246,"name":"_checkBlockAndCalculateConviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77432,"src":"21355:33:129","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Proposal_$74776_storage_ptr_$_t_uint256_$returns$_t_uint256_$_t_uint256_$","typeString":"function (struct StrategyStruct.Proposal storage pointer,uint256) view returns (uint256,uint256)"}},"id":76250,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21355:66:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_uint256_$","typeString":"tuple(uint256,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"21295:126:129"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":76258,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":76254,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":76252,"name":"convictionLast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76243,"src":"21436:14:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":76253,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21454:1:129","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"21436:19:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":76257,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":76255,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76245,"src":"21459:11:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":76256,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21474:1:129","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"21459:16:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"21436:39:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":76265,"nodeType":"IfStatement","src":"21432:110:129","trueBody":{"id":76264,"nodeType":"Block","src":"21477:65:129","statements":[{"expression":{"id":76262,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":76259,"name":"convictionLast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76243,"src":"21491:14:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":76260,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76237,"src":"21508:8:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":76261,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"21517:14:129","memberName":"convictionLast","nodeType":"MemberAccess","referencedDeclaration":74757,"src":"21508:23:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"21491:40:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":76263,"nodeType":"ExpressionStatement","src":"21491:40:129"}]}},{"assignments":[76267],"declarations":[{"constant":false,"id":76267,"mutability":"mutable","name":"threshold","nameLocation":"21559:9:129","nodeType":"VariableDeclaration","scope":76279,"src":"21551:17:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76266,"name":"uint256","nodeType":"ElementaryTypeName","src":"21551:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":76272,"initialValue":{"arguments":[{"expression":{"id":76269,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76237,"src":"21590:8:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":76270,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"21599:15:129","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":74753,"src":"21590:24:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":76268,"name":"calculateThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77236,"src":"21571:18:129","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":76271,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21571:44:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"21551:64:129"},{"expression":{"id":76277,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":76273,"name":"canBeExecuted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76231,"src":"21732:13:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":76276,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":76274,"name":"convictionLast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76243,"src":"21748:14:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":76275,"name":"threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76267,"src":"21766:9:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"21748:27:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"21732:43:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":76278,"nodeType":"ExpressionStatement","src":"21732:43:129"}]},"functionSelector":"824ea8ed","implemented":true,"kind":"function","modifiers":[],"name":"canExecuteProposal","nameLocation":"21056:18:129","parameters":{"id":76229,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76228,"mutability":"mutable","name":"proposalId","nameLocation":"21083:10:129","nodeType":"VariableDeclaration","scope":76280,"src":"21075:18:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76227,"name":"uint256","nodeType":"ElementaryTypeName","src":"21075:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"21074:20:129"},"returnParameters":{"id":76232,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76231,"mutability":"mutable","name":"canBeExecuted","nameLocation":"21121:13:129","nodeType":"VariableDeclaration","scope":76280,"src":"21116:18:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":76230,"name":"bool","nodeType":"ElementaryTypeName","src":"21116:4:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"21115:20:129"},"scope":77611,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":76302,"nodeType":"FunctionDefinition","src":"22072:220:129","nodes":[],"body":{"id":76301,"nodeType":"Block","src":"22163:129:129","nodes":[],"statements":[{"expression":{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":76294,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":76289,"name":"_recipientId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76282,"src":"22223:12:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":76292,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22247:1:129","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":76291,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"22239:7:129","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":76290,"name":"address","nodeType":"ElementaryTypeName","src":"22239:7:129","typeDescriptions":{}}},"id":76293,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22239:10:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"22223:26:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"expression":{"id":76297,"name":"Status","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2815,"src":"22270:6:129","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_Status_$2815_$","typeString":"type(enum IStrategy.Status)"}},"id":76298,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"22277:8:129","memberName":"Accepted","nodeType":"MemberAccess","referencedDeclaration":2810,"src":"22270:15:129","typeDescriptions":{"typeIdentifier":"t_enum$_Status_$2815","typeString":"enum IStrategy.Status"}},"id":76299,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"22223:62:129","trueExpression":{"expression":{"id":76295,"name":"Status","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2815,"src":"22252:6:129","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_Status_$2815_$","typeString":"type(enum IStrategy.Status)"}},"id":76296,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"22259:8:129","memberName":"Rejected","nodeType":"MemberAccess","referencedDeclaration":2811,"src":"22252:15:129","typeDescriptions":{"typeIdentifier":"t_enum$_Status_$2815","typeString":"enum IStrategy.Status"}},"typeDescriptions":{"typeIdentifier":"t_enum$_Status_$2815","typeString":"enum IStrategy.Status"}},"functionReturnParameters":76288,"id":76300,"nodeType":"Return","src":"22216:69:129"}]},"baseFunctions":[3848],"implemented":true,"kind":"function","modifiers":[],"name":"_getRecipientStatus","nameLocation":"22081:19:129","overrides":{"id":76284,"nodeType":"OverrideSpecifier","overrides":[],"src":"22137:8:129"},"parameters":{"id":76283,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76282,"mutability":"mutable","name":"_recipientId","nameLocation":"22109:12:129","nodeType":"VariableDeclaration","scope":76302,"src":"22101:20:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":76281,"name":"address","nodeType":"ElementaryTypeName","src":"22101:7:129","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"22100:22:129"},"returnParameters":{"id":76288,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76287,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":76302,"src":"22155:6:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_Status_$2815","typeString":"enum IStrategy.Status"},"typeName":{"id":76286,"nodeType":"UserDefinedTypeName","pathNode":{"id":76285,"name":"Status","nameLocations":["22155:6:129"],"nodeType":"IdentifierPath","referencedDeclaration":2815,"src":"22155:6:129"},"referencedDeclaration":2815,"src":"22155:6:129","typeDescriptions":{"typeIdentifier":"t_enum$_Status_$2815","typeString":"enum IStrategy.Status"}},"visibility":"internal"}],"src":"22154:8:129"},"scope":77611,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":76321,"nodeType":"FunctionDefinition","src":"22421:288:129","nodes":[],"body":{"id":76320,"nodeType":"Block","src":"22531:178:129","nodes":[],"statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":76317,"name":"NotImplemented","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74826,"src":"22591:14:129","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":76318,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22591:16:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":76319,"nodeType":"RevertStatement","src":"22584:23:129"}]},"baseFunctions":[3687],"documentation":{"id":76303,"nodeType":"StructuredDocumentation","src":"22298:118:129","text":"@return Input the values you would send to distribute(), get the amounts each recipient in the array would receive"},"functionSelector":"b2b878d0","implemented":true,"kind":"function","modifiers":[],"name":"getPayouts","nameLocation":"22430:10:129","overrides":{"id":76311,"nodeType":"OverrideSpecifier","overrides":[],"src":"22489:8:129"},"parameters":{"id":76310,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76306,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":76321,"src":"22441:16:129","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":76304,"name":"address","nodeType":"ElementaryTypeName","src":"22441:7:129","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":76305,"nodeType":"ArrayTypeName","src":"22441:9:129","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":76309,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":76321,"src":"22459:14:129","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":76307,"name":"bytes","nodeType":"ElementaryTypeName","src":"22459:5:129","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":76308,"nodeType":"ArrayTypeName","src":"22459:7:129","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"22440:34:129"},"returnParameters":{"id":76316,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76315,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":76321,"src":"22507:22:129","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_PayoutSummary_$2820_memory_ptr_$dyn_memory_ptr","typeString":"struct IStrategy.PayoutSummary[]"},"typeName":{"baseType":{"id":76313,"nodeType":"UserDefinedTypeName","pathNode":{"id":76312,"name":"PayoutSummary","nameLocations":["22507:13:129"],"nodeType":"IdentifierPath","referencedDeclaration":2820,"src":"22507:13:129"},"referencedDeclaration":2820,"src":"22507:13:129","typeDescriptions":{"typeIdentifier":"t_struct$_PayoutSummary_$2820_storage_ptr","typeString":"struct IStrategy.PayoutSummary"}},"id":76314,"nodeType":"ArrayTypeName","src":"22507:15:129","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_PayoutSummary_$2820_storage_$dyn_storage_ptr","typeString":"struct IStrategy.PayoutSummary[]"}},"visibility":"internal"}],"src":"22506:24:129"},"scope":77611,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":76340,"nodeType":"FunctionDefinition","src":"22715:264:129","nodes":[],"body":{"id":76339,"nodeType":"Block","src":"22867:112:129","nodes":[],"statements":[{"expression":{"id":76332,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76325,"src":"22920:5:129","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":76333,"nodeType":"ExpressionStatement","src":"22920:5:129"},{"expression":{"arguments":[{"id":76335,"name":"_recipientId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76323,"src":"22956:12:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":76336,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22970:1:129","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":76334,"name":"PayoutSummary","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2820,"src":"22942:13:129","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_PayoutSummary_$2820_storage_ptr_$","typeString":"type(struct IStrategy.PayoutSummary storage pointer)"}},"id":76337,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22942:30:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_PayoutSummary_$2820_memory_ptr","typeString":"struct IStrategy.PayoutSummary memory"}},"functionReturnParameters":76331,"id":76338,"nodeType":"Return","src":"22935:37:129"}]},"baseFunctions":[3839],"implemented":true,"kind":"function","modifiers":[],"name":"_getPayout","nameLocation":"22724:10:129","overrides":{"id":76327,"nodeType":"OverrideSpecifier","overrides":[],"src":"22815:8:129"},"parameters":{"id":76326,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76323,"mutability":"mutable","name":"_recipientId","nameLocation":"22743:12:129","nodeType":"VariableDeclaration","scope":76340,"src":"22735:20:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":76322,"name":"address","nodeType":"ElementaryTypeName","src":"22735:7:129","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":76325,"mutability":"mutable","name":"_data","nameLocation":"22770:5:129","nodeType":"VariableDeclaration","scope":76340,"src":"22757:18:129","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":76324,"name":"bytes","nodeType":"ElementaryTypeName","src":"22757:5:129","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"22734:42:129"},"returnParameters":{"id":76331,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76330,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":76340,"src":"22841:20:129","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_PayoutSummary_$2820_memory_ptr","typeString":"struct IStrategy.PayoutSummary"},"typeName":{"id":76329,"nodeType":"UserDefinedTypeName","pathNode":{"id":76328,"name":"PayoutSummary","nameLocations":["22841:13:129"],"nodeType":"IdentifierPath","referencedDeclaration":2820,"src":"22841:13:129"},"referencedDeclaration":2820,"src":"22841:13:129","typeDescriptions":{"typeIdentifier":"t_struct$_PayoutSummary_$2820_storage_ptr","typeString":"struct IStrategy.PayoutSummary"}},"visibility":"internal"}],"src":"22840:22:129"},"scope":77611,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":76351,"nodeType":"FunctionDefinition","src":"22985:127:129","nodes":[],"body":{"id":76350,"nodeType":"Block","src":"23062:50:129","nodes":[],"statements":[{"eventCall":{"arguments":[{"id":76347,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76342,"src":"23097:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":76346,"name":"PoolAmountIncreased","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74915,"src":"23077:19:129","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":76348,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23077:28:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":76349,"nodeType":"EmitStatement","src":"23072:33:129"}]},"baseFunctions":[3862],"implemented":true,"kind":"function","modifiers":[],"name":"_afterIncreasePoolAmount","nameLocation":"22994:24:129","overrides":{"id":76344,"nodeType":"OverrideSpecifier","overrides":[],"src":"23053:8:129"},"parameters":{"id":76343,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76342,"mutability":"mutable","name":"_amount","nameLocation":"23027:7:129","nodeType":"VariableDeclaration","scope":76351,"src":"23019:15:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76341,"name":"uint256","nodeType":"ElementaryTypeName","src":"23019:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"23018:17:129"},"returnParameters":{"id":76345,"nodeType":"ParameterList","parameters":[],"src":"23062:0:129"},"scope":77611,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":76370,"nodeType":"FunctionDefinition","src":"23207:191:129","nodes":[],"body":{"id":76369,"nodeType":"Block","src":"23292:106:129","nodes":[],"statements":[{"expression":{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":76364,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":76359,"name":"_allocator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76353,"src":"23352:10:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":76362,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"23374:1:129","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":76361,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"23366:7:129","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":76360,"name":"address","nodeType":"ElementaryTypeName","src":"23366:7:129","typeDescriptions":{}}},"id":76363,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23366:10:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"23352:24:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"hexValue":"74727565","id":76366,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"23387:4:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"id":76367,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"23352:39:129","trueExpression":{"hexValue":"66616c7365","id":76365,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"23379:5:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":76358,"id":76368,"nodeType":"Return","src":"23345:46:129"}]},"baseFunctions":[3799],"implemented":true,"kind":"function","modifiers":[],"name":"_isValidAllocator","nameLocation":"23216:17:129","overrides":{"id":76355,"nodeType":"OverrideSpecifier","overrides":[],"src":"23268:8:129"},"parameters":{"id":76354,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76353,"mutability":"mutable","name":"_allocator","nameLocation":"23242:10:129","nodeType":"VariableDeclaration","scope":76370,"src":"23234:18:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":76352,"name":"address","nodeType":"ElementaryTypeName","src":"23234:7:129","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"23233:20:129"},"returnParameters":{"id":76358,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76357,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":76370,"src":"23286:4:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":76356,"name":"bool","nodeType":"ElementaryTypeName","src":"23286:4:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"23285:6:129"},"scope":77611,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":76380,"nodeType":"FunctionDefinition","src":"23404:86:129","nodes":[],"body":{"id":76379,"nodeType":"Block","src":"23450:40:129","nodes":[],"statements":[{"expression":{"arguments":[{"id":76376,"name":"_active","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76372,"src":"23475:7:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":76375,"name":"_setPoolActive","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3782,"src":"23460:14:129","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bool_$returns$__$","typeString":"function (bool)"}},"id":76377,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23460:23:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":76378,"nodeType":"ExpressionStatement","src":"23460:23:129"}]},"functionSelector":"b5f620ce","implemented":true,"kind":"function","modifiers":[],"name":"setPoolActive","nameLocation":"23413:13:129","parameters":{"id":76373,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76372,"mutability":"mutable","name":"_active","nameLocation":"23432:7:129","nodeType":"VariableDeclaration","scope":76380,"src":"23427:12:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":76371,"name":"bool","nodeType":"ElementaryTypeName","src":"23427:4:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"23426:14:129"},"returnParameters":{"id":76374,"nodeType":"ParameterList","parameters":[],"src":"23450:0:129"},"scope":77611,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":76468,"nodeType":"FunctionDefinition","src":"23496:836:129","nodes":[],"body":{"id":76467,"nodeType":"Block","src":"23540:792:129","nodes":[],"statements":[{"assignments":[76389],"declarations":[{"constant":false,"id":76389,"mutability":"mutable","name":"proposalsIds","nameLocation":"23615:12:129","nodeType":"VariableDeclaration","scope":76467,"src":"23598:29:129","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":76387,"name":"uint256","nodeType":"ElementaryTypeName","src":"23598:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":76388,"nodeType":"ArrayTypeName","src":"23598:9:129","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"id":76393,"initialValue":{"baseExpression":{"id":76390,"name":"voterStakedProposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75031,"src":"23630:20:129","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$","typeString":"mapping(address => uint256[] storage ref)"}},"id":76392,"indexExpression":{"id":76391,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76382,"src":"23651:7:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"23630:29:129","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage","typeString":"uint256[] storage ref"}},"nodeType":"VariableDeclarationStatement","src":"23598:61:129"},{"body":{"id":76465,"nodeType":"Block","src":"23719:607:129","statements":[{"assignments":[76406],"declarations":[{"constant":false,"id":76406,"mutability":"mutable","name":"proposalId","nameLocation":"23741:10:129","nodeType":"VariableDeclaration","scope":76465,"src":"23733:18:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76405,"name":"uint256","nodeType":"ElementaryTypeName","src":"23733:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":76410,"initialValue":{"baseExpression":{"id":76407,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76389,"src":"23754:12:129","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":76409,"indexExpression":{"id":76408,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76395,"src":"23767:1:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"23754:15:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"23733:36:129"},{"assignments":[76415],"declarations":[{"constant":false,"id":76415,"mutability":"mutable","name":"proposal","nameLocation":"23815:8:129","nodeType":"VariableDeclaration","scope":76465,"src":"23783:40:129","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":76414,"nodeType":"UserDefinedTypeName","pathNode":{"id":76413,"name":"StrategyStruct.Proposal","nameLocations":["23783:14:129","23798:8:129"],"nodeType":"IdentifierPath","referencedDeclaration":74776,"src":"23783:23:129"},"referencedDeclaration":74776,"src":"23783:23:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":76419,"initialValue":{"baseExpression":{"id":76416,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75022,"src":"23826:9:129","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$74776_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":76418,"indexExpression":{"id":76417,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76406,"src":"23836:10:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"23826:21:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"23783:64:129"},{"condition":{"arguments":[{"id":76421,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76406,"src":"23880:10:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":76420,"name":"proposalExists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76656,"src":"23865:14:129","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view returns (bool)"}},"id":76422,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23865:26:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":76464,"nodeType":"IfStatement","src":"23861:455:129","trueBody":{"id":76463,"nodeType":"Block","src":"23893:423:129","statements":[{"assignments":[76424],"declarations":[{"constant":false,"id":76424,"mutability":"mutable","name":"stakedPoints","nameLocation":"23919:12:129","nodeType":"VariableDeclaration","scope":76463,"src":"23911:20:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76423,"name":"uint256","nodeType":"ElementaryTypeName","src":"23911:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":76429,"initialValue":{"baseExpression":{"expression":{"id":76425,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76415,"src":"23934:8:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":76426,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"23943:17:129","memberName":"voterStakedPoints","nodeType":"MemberAccess","referencedDeclaration":74772,"src":"23934:26:129","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":76428,"indexExpression":{"id":76427,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76382,"src":"23961:7:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"23934:35:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"23911:58:129"},{"expression":{"id":76436,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":76430,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76415,"src":"23987:8:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":76433,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"23996:17:129","memberName":"voterStakedPoints","nodeType":"MemberAccess","referencedDeclaration":74772,"src":"23987:26:129","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":76434,"indexExpression":{"id":76432,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76382,"src":"24014:7:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"23987:35:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"30","id":76435,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"24025:1:129","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"23987:39:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":76437,"nodeType":"ExpressionStatement","src":"23987:39:129"},{"expression":{"id":76442,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":76438,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76415,"src":"24044:8:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":76440,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"24053:12:129","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":74755,"src":"24044:21:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"id":76441,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76424,"src":"24069:12:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"24044:37:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":76443,"nodeType":"ExpressionStatement","src":"24044:37:129"},{"expression":{"id":76446,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":76444,"name":"totalStaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74995,"src":"24099:11:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"id":76445,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76424,"src":"24114:12:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"24099:27:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":76447,"nodeType":"ExpressionStatement","src":"24099:27:129"},{"expression":{"arguments":[{"id":76449,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76415,"src":"24171:8:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},{"id":76450,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76424,"src":"24181:12:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":76448,"name":"_calculateAndSetConviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77385,"src":"24144:26:129","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_Proposal_$74776_storage_ptr_$_t_uint256_$returns$__$","typeString":"function (struct StrategyStruct.Proposal storage pointer,uint256)"}},"id":76451,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24144:50:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":76452,"nodeType":"ExpressionStatement","src":"24144:50:129"},{"eventCall":{"arguments":[{"id":76454,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76382,"src":"24230:7:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":76455,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76406,"src":"24239:10:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":76456,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"24251:1:129","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"expression":{"id":76457,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76415,"src":"24254:8:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":76458,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24263:12:129","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":74755,"src":"24254:21:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":76459,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76415,"src":"24277:8:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":76460,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24286:14:129","memberName":"convictionLast","nodeType":"MemberAccess","referencedDeclaration":74757,"src":"24277:23:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":76453,"name":"SupportAdded","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74943,"src":"24217:12:129","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (address,uint256,uint256,uint256,uint256)"}},"id":76461,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24217:84:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":76462,"nodeType":"EmitStatement","src":"24212:89:129"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":76401,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":76398,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76395,"src":"23689:1:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":76399,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76389,"src":"23693:12:129","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":76400,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23706:6:129","memberName":"length","nodeType":"MemberAccess","src":"23693:19:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"23689:23:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":76466,"initializationExpression":{"assignments":[76395],"declarations":[{"constant":false,"id":76395,"mutability":"mutable","name":"i","nameLocation":"23682:1:129","nodeType":"VariableDeclaration","scope":76466,"src":"23674:9:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76394,"name":"uint256","nodeType":"ElementaryTypeName","src":"23674:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":76397,"initialValue":{"hexValue":"30","id":76396,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"23686:1:129","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"23674:13:129"},"loopExpression":{"expression":{"id":76403,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"23714:3:129","subExpression":{"id":76402,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76395,"src":"23714:1:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":76404,"nodeType":"ExpressionStatement","src":"23714:3:129"},"nodeType":"ForStatement","src":"23669:657:129"}]},"implemented":true,"kind":"function","modifiers":[],"name":"withdraw","nameLocation":"23505:8:129","parameters":{"id":76383,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76382,"mutability":"mutable","name":"_member","nameLocation":"23522:7:129","nodeType":"VariableDeclaration","scope":76468,"src":"23514:15:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":76381,"name":"address","nodeType":"ElementaryTypeName","src":"23514:7:129","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"23513:17:129"},"returnParameters":{"id":76384,"nodeType":"ParameterList","parameters":[],"src":"23540:0:129"},"scope":77611,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":76542,"nodeType":"FunctionDefinition","src":"24894:1038:129","nodes":[],"body":{"id":76541,"nodeType":"Block","src":"25363:569:129","nodes":[],"statements":[{"assignments":[76499],"declarations":[{"constant":false,"id":76499,"mutability":"mutable","name":"proposal","nameLocation":"25405:8:129","nodeType":"VariableDeclaration","scope":76541,"src":"25373:40:129","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":76498,"nodeType":"UserDefinedTypeName","pathNode":{"id":76497,"name":"StrategyStruct.Proposal","nameLocations":["25373:14:129","25388:8:129"],"nodeType":"IdentifierPath","referencedDeclaration":74776,"src":"25373:23:129"},"referencedDeclaration":74776,"src":"25373:23:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":76503,"initialValue":{"baseExpression":{"id":76500,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75022,"src":"25416:9:129","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$74776_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":76502,"indexExpression":{"id":76501,"name":"_proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76471,"src":"25426:11:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"25416:22:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"25373:65:129"},{"expression":{"id":76515,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":76504,"name":"threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76491,"src":"25449:9:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":76508,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":76505,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76499,"src":"25461:8:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":76506,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"25470:15:129","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":74753,"src":"25461:24:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":76507,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25489:1:129","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"25461:29:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"arguments":[{"expression":{"id":76511,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76499,"src":"25516:8:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":76512,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"25525:15:129","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":74753,"src":"25516:24:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":76510,"name":"calculateThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77236,"src":"25497:18:129","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":76513,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25497:44:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":76514,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"25461:80:129","trueExpression":{"hexValue":"30","id":76509,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25493:1:129","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"25449:92:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":76516,"nodeType":"ExpressionStatement","src":"25449:92:129"},{"expression":{"components":[{"expression":{"id":76517,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76499,"src":"25572:8:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":76518,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"25581:9:129","memberName":"submitter","nodeType":"MemberAccess","referencedDeclaration":74761,"src":"25572:18:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":76519,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76499,"src":"25604:8:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":76520,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"25613:11:129","memberName":"beneficiary","nodeType":"MemberAccess","referencedDeclaration":74759,"src":"25604:20:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":76521,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76499,"src":"25638:8:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":76522,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"25647:14:129","memberName":"requestedToken","nodeType":"MemberAccess","referencedDeclaration":74763,"src":"25638:23:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":76523,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76499,"src":"25675:8:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":76524,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"25684:15:129","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":74753,"src":"25675:24:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":76525,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76499,"src":"25713:8:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":76526,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"25722:12:129","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":74755,"src":"25713:21:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":76527,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76499,"src":"25748:8:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":76528,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"25757:14:129","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":74768,"src":"25748:23:129","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$74749","typeString":"enum StrategyStruct.ProposalStatus"}},{"expression":{"id":76529,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76499,"src":"25785:8:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":76530,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"25794:9:129","memberName":"blockLast","nodeType":"MemberAccess","referencedDeclaration":74765,"src":"25785:18:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":76531,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76499,"src":"25817:8:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":76532,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"25826:14:129","memberName":"convictionLast","nodeType":"MemberAccess","referencedDeclaration":74757,"src":"25817:23:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":76533,"name":"threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76491,"src":"25854:9:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"baseExpression":{"expression":{"id":76534,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76499,"src":"25877:8:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":76535,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"25886:17:129","memberName":"voterStakedPoints","nodeType":"MemberAccess","referencedDeclaration":74772,"src":"25877:26:129","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":76538,"indexExpression":{"expression":{"id":76536,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"25904:3:129","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":76537,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"25908:6:129","memberName":"sender","nodeType":"MemberAccess","src":"25904:10:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"25877:38:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":76539,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"25558:367:129","typeDescriptions":{"typeIdentifier":"t_tuple$_t_address_$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_enum$_ProposalStatus_$74749_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$","typeString":"tuple(address,address,address,uint256,uint256,enum StrategyStruct.ProposalStatus,uint256,uint256,uint256,uint256)"}},"functionReturnParameters":76494,"id":76540,"nodeType":"Return","src":"25551:374:129"}]},"documentation":{"id":76469,"nodeType":"StructuredDocumentation","src":"24338:551:129","text":" @dev Get proposal details\n @param _proposalId Proposal id\n @return submitter Proposal submitter\n @return beneficiary Proposal beneficiary\n @return requestedToken Proposal requested token\n @return requestedAmount Proposal requested amount\n @return stakedAmount Proposal staked points\n @return proposalStatus Proposal status\n @return blockLast Last block when conviction was calculated\n @return convictionLast Last conviction calculated\n @return threshold Proposal threshold"},"functionSelector":"c7f758a8","implemented":true,"kind":"function","modifiers":[],"name":"getProposal","nameLocation":"24903:11:129","parameters":{"id":76472,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76471,"mutability":"mutable","name":"_proposalId","nameLocation":"24923:11:129","nodeType":"VariableDeclaration","scope":76542,"src":"24915:19:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76470,"name":"uint256","nodeType":"ElementaryTypeName","src":"24915:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"24914:21:129"},"returnParameters":{"id":76494,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76474,"mutability":"mutable","name":"submitter","nameLocation":"25004:9:129","nodeType":"VariableDeclaration","scope":76542,"src":"24996:17:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":76473,"name":"address","nodeType":"ElementaryTypeName","src":"24996:7:129","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":76476,"mutability":"mutable","name":"beneficiary","nameLocation":"25035:11:129","nodeType":"VariableDeclaration","scope":76542,"src":"25027:19:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":76475,"name":"address","nodeType":"ElementaryTypeName","src":"25027:7:129","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":76478,"mutability":"mutable","name":"requestedToken","nameLocation":"25068:14:129","nodeType":"VariableDeclaration","scope":76542,"src":"25060:22:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":76477,"name":"address","nodeType":"ElementaryTypeName","src":"25060:7:129","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":76480,"mutability":"mutable","name":"requestedAmount","nameLocation":"25104:15:129","nodeType":"VariableDeclaration","scope":76542,"src":"25096:23:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76479,"name":"uint256","nodeType":"ElementaryTypeName","src":"25096:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":76482,"mutability":"mutable","name":"stakedAmount","nameLocation":"25141:12:129","nodeType":"VariableDeclaration","scope":76542,"src":"25133:20:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76481,"name":"uint256","nodeType":"ElementaryTypeName","src":"25133:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":76485,"mutability":"mutable","name":"proposalStatus","nameLocation":"25197:14:129","nodeType":"VariableDeclaration","scope":76542,"src":"25167:44:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$74749","typeString":"enum StrategyStruct.ProposalStatus"},"typeName":{"id":76484,"nodeType":"UserDefinedTypeName","pathNode":{"id":76483,"name":"StrategyStruct.ProposalStatus","nameLocations":["25167:14:129","25182:14:129"],"nodeType":"IdentifierPath","referencedDeclaration":74749,"src":"25167:29:129"},"referencedDeclaration":74749,"src":"25167:29:129","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$74749","typeString":"enum StrategyStruct.ProposalStatus"}},"visibility":"internal"},{"constant":false,"id":76487,"mutability":"mutable","name":"blockLast","nameLocation":"25233:9:129","nodeType":"VariableDeclaration","scope":76542,"src":"25225:17:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76486,"name":"uint256","nodeType":"ElementaryTypeName","src":"25225:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":76489,"mutability":"mutable","name":"convictionLast","nameLocation":"25264:14:129","nodeType":"VariableDeclaration","scope":76542,"src":"25256:22:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76488,"name":"uint256","nodeType":"ElementaryTypeName","src":"25256:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":76491,"mutability":"mutable","name":"threshold","nameLocation":"25300:9:129","nodeType":"VariableDeclaration","scope":76542,"src":"25292:17:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76490,"name":"uint256","nodeType":"ElementaryTypeName","src":"25292:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":76493,"mutability":"mutable","name":"voterStakedPoints","nameLocation":"25331:17:129","nodeType":"VariableDeclaration","scope":76542,"src":"25323:25:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76492,"name":"uint256","nodeType":"ElementaryTypeName","src":"25323:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"24982:376:129"},"scope":77611,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":76563,"nodeType":"FunctionDefinition","src":"25938:198:129","nodes":[],"body":{"id":76562,"nodeType":"Block","src":"26020:116:129","nodes":[],"statements":[{"assignments":[76554],"declarations":[{"constant":false,"id":76554,"mutability":"mutable","name":"proposal","nameLocation":"26062:8:129","nodeType":"VariableDeclaration","scope":76562,"src":"26030:40:129","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":76553,"nodeType":"UserDefinedTypeName","pathNode":{"id":76552,"name":"StrategyStruct.Proposal","nameLocations":["26030:14:129","26045:8:129"],"nodeType":"IdentifierPath","referencedDeclaration":74776,"src":"26030:23:129"},"referencedDeclaration":74776,"src":"26030:23:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":76558,"initialValue":{"baseExpression":{"id":76555,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75022,"src":"26073:9:129","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$74776_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":76557,"indexExpression":{"id":76556,"name":"_proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76544,"src":"26083:11:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"26073:22:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"26030:65:129"},{"expression":{"expression":{"id":76559,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76554,"src":"26112:8:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":76560,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"26121:8:129","memberName":"metadata","nodeType":"MemberAccess","referencedDeclaration":74775,"src":"26112:17:129","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage","typeString":"struct Metadata storage ref"}},"functionReturnParameters":76549,"id":76561,"nodeType":"Return","src":"26105:24:129"}]},"functionSelector":"a574cea4","implemented":true,"kind":"function","modifiers":[],"name":"getMetadata","nameLocation":"25947:11:129","parameters":{"id":76545,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76544,"mutability":"mutable","name":"_proposalId","nameLocation":"25967:11:129","nodeType":"VariableDeclaration","scope":76563,"src":"25959:19:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76543,"name":"uint256","nodeType":"ElementaryTypeName","src":"25959:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"25958:21:129"},"returnParameters":{"id":76549,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76548,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":76563,"src":"26003:15:129","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata"},"typeName":{"id":76547,"nodeType":"UserDefinedTypeName","pathNode":{"id":76546,"name":"Metadata","nameLocations":["26003:8:129"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"26003:8:129"},"referencedDeclaration":3098,"src":"26003:8:129","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"}],"src":"26002:17:129"},"scope":77611,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":76579,"nodeType":"FunctionDefinition","src":"26337:176:129","nodes":[],"body":{"id":76578,"nodeType":"Block","src":"26437:76:129","nodes":[],"statements":[{"expression":{"arguments":[{"id":76574,"name":"_proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76566,"src":"26486:11:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":76575,"name":"_voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76568,"src":"26499:6:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"id":76573,"name":"_internal_getProposalVoterStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76621,"src":"26454:31:129","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_address_$returns$_t_uint256_$","typeString":"function (uint256,address) view returns (uint256)"}},"id":76576,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26454:52:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":76572,"id":76577,"nodeType":"Return","src":"26447:59:129"}]},"documentation":{"id":76564,"nodeType":"StructuredDocumentation","src":"26142:190:129","text":" @notice Get stake of voter `_voter` on proposal #`_proposalId`\n @param _proposalId Proposal id\n @param _voter Voter address\n @return Proposal voter stake"},"functionSelector":"e0dd2c38","implemented":true,"kind":"function","modifiers":[],"name":"getProposalVoterStake","nameLocation":"26346:21:129","parameters":{"id":76569,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76566,"mutability":"mutable","name":"_proposalId","nameLocation":"26376:11:129","nodeType":"VariableDeclaration","scope":76579,"src":"26368:19:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76565,"name":"uint256","nodeType":"ElementaryTypeName","src":"26368:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":76568,"mutability":"mutable","name":"_voter","nameLocation":"26397:6:129","nodeType":"VariableDeclaration","scope":76579,"src":"26389:14:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":76567,"name":"address","nodeType":"ElementaryTypeName","src":"26389:7:129","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"26367:37:129"},"returnParameters":{"id":76572,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76571,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":76579,"src":"26428:7:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76570,"name":"uint256","nodeType":"ElementaryTypeName","src":"26428:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"26427:9:129"},"scope":77611,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":76592,"nodeType":"FunctionDefinition","src":"26519:145:129","nodes":[],"body":{"id":76591,"nodeType":"Block","src":"26605:59:129","nodes":[],"statements":[{"expression":{"expression":{"baseExpression":{"id":76586,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75022,"src":"26622:9:129","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$74776_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":76588,"indexExpression":{"id":76587,"name":"_proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76581,"src":"26632:11:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"26622:22:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"id":76589,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"26645:12:129","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":74755,"src":"26622:35:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":76585,"id":76590,"nodeType":"Return","src":"26615:42:129"}]},"functionSelector":"dc96ff2d","implemented":true,"kind":"function","modifiers":[],"name":"getProposalStakedAmount","nameLocation":"26528:23:129","parameters":{"id":76582,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76581,"mutability":"mutable","name":"_proposalId","nameLocation":"26560:11:129","nodeType":"VariableDeclaration","scope":76592,"src":"26552:19:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76580,"name":"uint256","nodeType":"ElementaryTypeName","src":"26552:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"26551:21:129"},"returnParameters":{"id":76585,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76584,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":76592,"src":"26596:7:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76583,"name":"uint256","nodeType":"ElementaryTypeName","src":"26596:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"26595:9:129"},"scope":77611,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":76604,"nodeType":"FunctionDefinition","src":"26733:127:129","nodes":[],"body":{"id":76603,"nodeType":"Block","src":"26810:50:129","nodes":[],"statements":[{"expression":{"baseExpression":{"id":76599,"name":"totalVoterStakePct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75026,"src":"26827:18:129","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":76601,"indexExpression":{"id":76600,"name":"_voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76594,"src":"26846:6:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"26827:26:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":76598,"id":76602,"nodeType":"Return","src":"26820:33:129"}]},"functionSelector":"bcc5b93b","implemented":true,"kind":"function","modifiers":[],"name":"getTotalVoterStakePct","nameLocation":"26742:21:129","parameters":{"id":76595,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76594,"mutability":"mutable","name":"_voter","nameLocation":"26772:6:129","nodeType":"VariableDeclaration","scope":76604,"src":"26764:14:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":76593,"name":"address","nodeType":"ElementaryTypeName","src":"26764:7:129","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"26763:16:129"},"returnParameters":{"id":76598,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76597,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":76604,"src":"26801:7:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76596,"name":"uint256","nodeType":"ElementaryTypeName","src":"26801:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"26800:9:129"},"scope":77611,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":76621,"nodeType":"FunctionDefinition","src":"26866:182:129","nodes":[],"body":{"id":76620,"nodeType":"Block","src":"26976:72:129","nodes":[],"statements":[{"expression":{"baseExpression":{"expression":{"baseExpression":{"id":76613,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75022,"src":"26993:9:129","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$74776_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":76615,"indexExpression":{"id":76614,"name":"_proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76606,"src":"27003:11:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"26993:22:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"id":76616,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"27016:17:129","memberName":"voterStakedPoints","nodeType":"MemberAccess","referencedDeclaration":74772,"src":"26993:40:129","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":76618,"indexExpression":{"id":76617,"name":"_voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76608,"src":"27034:6:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"26993:48:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":76612,"id":76619,"nodeType":"Return","src":"26986:55:129"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_internal_getProposalVoterStake","nameLocation":"26875:31:129","parameters":{"id":76609,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76606,"mutability":"mutable","name":"_proposalId","nameLocation":"26915:11:129","nodeType":"VariableDeclaration","scope":76621,"src":"26907:19:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76605,"name":"uint256","nodeType":"ElementaryTypeName","src":"26907:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":76608,"mutability":"mutable","name":"_voter","nameLocation":"26936:6:129","nodeType":"VariableDeclaration","scope":76621,"src":"26928:14:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":76607,"name":"address","nodeType":"ElementaryTypeName","src":"26928:7:129","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"26906:37:129"},"returnParameters":{"id":76612,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76611,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":76621,"src":"26967:7:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76610,"name":"uint256","nodeType":"ElementaryTypeName","src":"26967:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"26966:9:129"},"scope":77611,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":76631,"nodeType":"FunctionDefinition","src":"27054:145:129","nodes":[],"body":{"id":76630,"nodeType":"Block","src":"27118:81:129","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":76626,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75014,"src":"27135:17:129","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunity_$83082","typeString":"contract RegistryCommunity"}},"id":76627,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"27153:20:129","memberName":"getBasisStakedAmount","nodeType":"MemberAccess","referencedDeclaration":82879,"src":"27135:38:129","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint256_$","typeString":"function () view external returns (uint256)"}},"id":76628,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27135:40:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":76625,"id":76629,"nodeType":"Return","src":"27128:47:129"}]},"implemented":true,"kind":"function","modifiers":[],"name":"getBasisStakedAmount","nameLocation":"27063:20:129","parameters":{"id":76622,"nodeType":"ParameterList","parameters":[],"src":"27083:2:129"},"returnParameters":{"id":76625,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76624,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":76631,"src":"27109:7:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76623,"name":"uint256","nodeType":"ElementaryTypeName","src":"27109:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"27108:9:129"},"scope":77611,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":76656,"nodeType":"FunctionDefinition","src":"27205:185:129","nodes":[],"body":{"id":76655,"nodeType":"Block","src":"27279:111:129","nodes":[],"statements":[{"expression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":76653,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":76643,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":76638,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75022,"src":"27296:9:129","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$74776_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":76640,"indexExpression":{"id":76639,"name":"_proposalID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76633,"src":"27306:11:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"27296:22:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"id":76641,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"27319:10:129","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":74751,"src":"27296:33:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":76642,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"27332:1:129","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"27296:37:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":76652,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":76644,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75022,"src":"27337:9:129","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$74776_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":76646,"indexExpression":{"id":76645,"name":"_proposalID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76633,"src":"27347:11:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"27337:22:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"id":76647,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"27360:9:129","memberName":"submitter","nodeType":"MemberAccess","referencedDeclaration":74761,"src":"27337:32:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":76650,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"27381:1:129","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":76649,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"27373:7:129","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":76648,"name":"address","nodeType":"ElementaryTypeName","src":"27373:7:129","typeDescriptions":{}}},"id":76651,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27373:10:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"27337:46:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"27296:87:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":76637,"id":76654,"nodeType":"Return","src":"27289:94:129"}]},"implemented":true,"kind":"function","modifiers":[],"name":"proposalExists","nameLocation":"27214:14:129","parameters":{"id":76634,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76633,"mutability":"mutable","name":"_proposalID","nameLocation":"27237:11:129","nodeType":"VariableDeclaration","scope":76656,"src":"27229:19:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76632,"name":"uint256","nodeType":"ElementaryTypeName","src":"27229:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"27228:21:129"},"returnParameters":{"id":76637,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76636,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":76656,"src":"27273:4:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":76635,"name":"bool","nodeType":"ElementaryTypeName","src":"27273:4:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"27272:6:129"},"scope":77611,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":76674,"nodeType":"FunctionDefinition","src":"27396:174:129","nodes":[],"body":{"id":76673,"nodeType":"Block","src":"27491:79:129","nodes":[],"statements":[{"expression":{"id":76671,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":76663,"name":"isOverMaxRatio","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76661,"src":"27501:14:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":76670,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":76666,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":76664,"name":"maxRatio","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74988,"src":"27518:8:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":76665,"name":"poolAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3343,"src":"27529:10:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"27518:21:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":76669,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":76667,"name":"_requestedAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76658,"src":"27543:16:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":76668,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74972,"src":"27562:1:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"27543:20:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"27518:45:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"27501:62:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":76672,"nodeType":"ExpressionStatement","src":"27501:62:129"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_isOverMaxRatio","nameLocation":"27405:15:129","parameters":{"id":76659,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76658,"mutability":"mutable","name":"_requestedAmount","nameLocation":"27429:16:129","nodeType":"VariableDeclaration","scope":76674,"src":"27421:24:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76657,"name":"uint256","nodeType":"ElementaryTypeName","src":"27421:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"27420:26:129"},"returnParameters":{"id":76662,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76661,"mutability":"mutable","name":"isOverMaxRatio","nameLocation":"27475:14:129","nodeType":"VariableDeclaration","scope":76674,"src":"27470:19:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":76660,"name":"bool","nodeType":"ElementaryTypeName","src":"27470:4:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"27469:21:129"},"scope":77611,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":76770,"nodeType":"FunctionDefinition","src":"27576:1548:129","nodes":[],"body":{"id":76769,"nodeType":"Block","src":"27706:1418:129","nodes":[],"statements":[{"assignments":[76684],"declarations":[{"constant":false,"id":76684,"mutability":"mutable","name":"deltaSupportSum","nameLocation":"27723:15:129","nodeType":"VariableDeclaration","scope":76769,"src":"27716:22:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":76683,"name":"int256","nodeType":"ElementaryTypeName","src":"27716:6:129","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"id":76686,"initialValue":{"hexValue":"30","id":76685,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"27741:1:129","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"27716:26:129"},{"body":{"id":76731,"nodeType":"Block","src":"27806:576:129","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":76703,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":76698,"name":"_proposalSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76680,"src":"27879:16:129","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$74781_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}},"id":76700,"indexExpression":{"id":76699,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76688,"src":"27896:1:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"27879:19:129","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$74781_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory"}},"id":76701,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"27899:10:129","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":74778,"src":"27879:30:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":76702,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"27913:1:129","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"27879:35:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":76706,"nodeType":"IfStatement","src":"27875:187:129","trueBody":{"id":76705,"nodeType":"Block","src":"27916:146:129","statements":[{"id":76704,"nodeType":"Continue","src":"28039:8:129"}]}},{"assignments":[76708],"declarations":[{"constant":false,"id":76708,"mutability":"mutable","name":"proposalId","nameLocation":"28083:10:129","nodeType":"VariableDeclaration","scope":76731,"src":"28075:18:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76707,"name":"uint256","nodeType":"ElementaryTypeName","src":"28075:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":76713,"initialValue":{"expression":{"baseExpression":{"id":76709,"name":"_proposalSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76680,"src":"28096:16:129","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$74781_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}},"id":76711,"indexExpression":{"id":76710,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76688,"src":"28113:1:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"28096:19:129","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$74781_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory"}},"id":76712,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"28116:10:129","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":74778,"src":"28096:30:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"28075:51:129"},{"condition":{"id":76717,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"28144:27:129","subExpression":{"arguments":[{"id":76715,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76708,"src":"28160:10:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":76714,"name":"proposalExists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76656,"src":"28145:14:129","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view returns (bool)"}},"id":76716,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28145:26:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":76723,"nodeType":"IfStatement","src":"28140:167:129","trueBody":{"id":76722,"nodeType":"Block","src":"28173:134:129","statements":[{"errorCall":{"arguments":[{"id":76719,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76708,"src":"28216:10:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":76718,"name":"ProposalNotInList","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74868,"src":"28198:17:129","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":76720,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28198:29:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":76721,"nodeType":"RevertStatement","src":"28191:36:129"}]}},{"expression":{"id":76729,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":76724,"name":"deltaSupportSum","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76684,"src":"28320:15:129","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"expression":{"baseExpression":{"id":76725,"name":"_proposalSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76680,"src":"28339:16:129","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$74781_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}},"id":76727,"indexExpression":{"id":76726,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76688,"src":"28356:1:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"28339:19:129","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$74781_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory"}},"id":76728,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"28359:12:129","memberName":"deltaSupport","nodeType":"MemberAccess","referencedDeclaration":74780,"src":"28339:32:129","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"28320:51:129","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":76730,"nodeType":"ExpressionStatement","src":"28320:51:129"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":76694,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":76691,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76688,"src":"27772:1:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":76692,"name":"_proposalSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76680,"src":"27776:16:129","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$74781_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}},"id":76693,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"27793:6:129","memberName":"length","nodeType":"MemberAccess","src":"27776:23:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"27772:27:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":76732,"initializationExpression":{"assignments":[76688],"declarations":[{"constant":false,"id":76688,"mutability":"mutable","name":"i","nameLocation":"27765:1:129","nodeType":"VariableDeclaration","scope":76732,"src":"27757:9:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76687,"name":"uint256","nodeType":"ElementaryTypeName","src":"27757:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":76690,"initialValue":{"hexValue":"30","id":76689,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"27769:1:129","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"27757:13:129"},"loopExpression":{"expression":{"id":76696,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"27801:3:129","subExpression":{"id":76695,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76688,"src":"27801:1:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":76697,"nodeType":"ExpressionStatement","src":"27801:3:129"},"nodeType":"ForStatement","src":"27752:630:129"},{"assignments":[76734],"declarations":[{"constant":false,"id":76734,"mutability":"mutable","name":"newTotalVotingSupport","nameLocation":"28486:21:129","nodeType":"VariableDeclaration","scope":76769,"src":"28478:29:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76733,"name":"uint256","nodeType":"ElementaryTypeName","src":"28478:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":76741,"initialValue":{"arguments":[{"arguments":[{"id":76737,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76676,"src":"28544:7:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":76736,"name":"getTotalVoterStakePct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76604,"src":"28522:21:129","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view returns (uint256)"}},"id":76738,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28522:30:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":76739,"name":"deltaSupportSum","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76684,"src":"28554:15:129","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":76735,"name":"_applyDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77092,"src":"28510:11:129","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_int256_$returns$_t_uint256_$","typeString":"function (uint256,int256) pure returns (uint256)"}},"id":76740,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28510:60:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"28478:92:129"},{"assignments":[76743],"declarations":[{"constant":false,"id":76743,"mutability":"mutable","name":"participantBalance","nameLocation":"28660:18:129","nodeType":"VariableDeclaration","scope":76769,"src":"28652:26:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76742,"name":"uint256","nodeType":"ElementaryTypeName","src":"28652:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":76752,"initialValue":{"arguments":[{"id":76746,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76676,"src":"28724:7:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":76749,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"28741:4:129","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$77611","typeString":"contract CVStrategy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategy_$77611","typeString":"contract CVStrategy"}],"id":76748,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"28733:7:129","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":76747,"name":"address","nodeType":"ElementaryTypeName","src":"28733:7:129","typeDescriptions":{}}},"id":76750,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28733:13:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":76744,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75014,"src":"28681:17:129","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunity_$83082","typeString":"contract RegistryCommunity"}},"id":76745,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"28699:24:129","memberName":"getMemberPowerInStrategy","nodeType":"MemberAccess","referencedDeclaration":82423,"src":"28681:42:129","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view external returns (uint256)"}},"id":76751,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28681:66:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"28652:95:129"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":76755,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":76753,"name":"newTotalVotingSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76734,"src":"28913:21:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":76754,"name":"participantBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76743,"src":"28937:18:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"28913:42:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":76762,"nodeType":"IfStatement","src":"28909:147:129","trueBody":{"id":76761,"nodeType":"Block","src":"28957:99:129","statements":[{"errorCall":{"arguments":[{"id":76757,"name":"newTotalVotingSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76734,"src":"29003:21:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":76758,"name":"participantBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76743,"src":"29026:18:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":76756,"name":"NotEnoughPointsToSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74856,"src":"28978:24:129","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":76759,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28978:67:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":76760,"nodeType":"RevertStatement","src":"28971:74:129"}]}},{"expression":{"id":76767,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":76763,"name":"totalVoterStakePct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75026,"src":"29066:18:129","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":76765,"indexExpression":{"id":76764,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76676,"src":"29085:7:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"29066:27:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":76766,"name":"newTotalVotingSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76734,"src":"29096:21:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"29066:51:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":76768,"nodeType":"ExpressionStatement","src":"29066:51:129"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_check_before_addSupport","nameLocation":"27585:24:129","parameters":{"id":76681,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76676,"mutability":"mutable","name":"_sender","nameLocation":"27618:7:129","nodeType":"VariableDeclaration","scope":76770,"src":"27610:15:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":76675,"name":"address","nodeType":"ElementaryTypeName","src":"27610:7:129","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":76680,"mutability":"mutable","name":"_proposalSupport","nameLocation":"27667:16:129","nodeType":"VariableDeclaration","scope":76770,"src":"27627:56:129","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$74781_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport[]"},"typeName":{"baseType":{"id":76678,"nodeType":"UserDefinedTypeName","pathNode":{"id":76677,"name":"StrategyStruct.ProposalSupport","nameLocations":["27627:14:129","27642:15:129"],"nodeType":"IdentifierPath","referencedDeclaration":74781,"src":"27627:30:129"},"referencedDeclaration":74781,"src":"27627:30:129","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$74781_storage_ptr","typeString":"struct StrategyStruct.ProposalSupport"}},"id":76679,"nodeType":"ArrayTypeName","src":"27627:32:129","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$74781_storage_$dyn_storage_ptr","typeString":"struct StrategyStruct.ProposalSupport[]"}},"visibility":"internal"}],"src":"27609:75:129"},"returnParameters":{"id":76682,"nodeType":"ParameterList","parameters":[],"src":"27706:0:129"},"scope":77611,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":77057,"nodeType":"FunctionDefinition","src":"29130:3479:129","nodes":[],"body":{"id":77056,"nodeType":"Block","src":"29235:3374:129","nodes":[],"statements":[{"assignments":[76783],"declarations":[{"constant":false,"id":76783,"mutability":"mutable","name":"proposalsIds","nameLocation":"29262:12:129","nodeType":"VariableDeclaration","scope":77056,"src":"29245:29:129","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":76781,"name":"uint256","nodeType":"ElementaryTypeName","src":"29245:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":76782,"nodeType":"ArrayTypeName","src":"29245:9:129","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"id":76784,"nodeType":"VariableDeclarationStatement","src":"29245:29:129"},{"body":{"id":77054,"nodeType":"Block","src":"29338:3265:129","statements":[{"assignments":[76797],"declarations":[{"constant":false,"id":76797,"mutability":"mutable","name":"proposalId","nameLocation":"29360:10:129","nodeType":"VariableDeclaration","scope":77054,"src":"29352:18:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76796,"name":"uint256","nodeType":"ElementaryTypeName","src":"29352:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":76802,"initialValue":{"expression":{"baseExpression":{"id":76798,"name":"_proposalSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76776,"src":"29373:16:129","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$74781_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}},"id":76800,"indexExpression":{"id":76799,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76786,"src":"29390:1:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"29373:19:129","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$74781_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory"}},"id":76801,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"29393:10:129","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":74778,"src":"29373:30:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"29352:51:129"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":76806,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":76803,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76783,"src":"29476:12:129","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":76804,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"29489:6:129","memberName":"length","nodeType":"MemberAccess","src":"29476:19:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":76805,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29499:1:129","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"29476:24:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":76905,"nodeType":"Block","src":"29628:764:129","statements":[{"assignments":[76823],"declarations":[{"constant":false,"id":76823,"mutability":"mutable","name":"exist","nameLocation":"29651:5:129","nodeType":"VariableDeclaration","scope":76905,"src":"29646:10:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":76822,"name":"bool","nodeType":"ElementaryTypeName","src":"29646:4:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":76825,"initialValue":{"hexValue":"66616c7365","id":76824,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"29659:5:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"nodeType":"VariableDeclarationStatement","src":"29646:18:129"},{"body":{"id":76853,"nodeType":"Block","src":"29732:268:129","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":76841,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"id":76837,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76783,"src":"29783:12:129","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":76839,"indexExpression":{"id":76838,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76827,"src":"29796:1:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"29783:15:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":76840,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76797,"src":"29802:10:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"29783:29:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":76852,"nodeType":"IfStatement","src":"29779:203:129","trueBody":{"id":76851,"nodeType":"Block","src":"29814:168:129","statements":[{"expression":{"id":76844,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":76842,"name":"exist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76823,"src":"29840:5:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":76843,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"29848:4:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"29840:12:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":76845,"nodeType":"ExpressionStatement","src":"29840:12:129"},{"errorCall":{"arguments":[{"id":76847,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76797,"src":"29911:10:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":76848,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76827,"src":"29923:1:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":76846,"name":"ProposalSupportDuplicated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74874,"src":"29885:25:129","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":76849,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29885:40:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":76850,"nodeType":"RevertStatement","src":"29878:47:129"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":76833,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":76830,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76827,"src":"29702:1:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":76831,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76783,"src":"29706:12:129","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":76832,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"29719:6:129","memberName":"length","nodeType":"MemberAccess","src":"29706:19:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"29702:23:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":76854,"initializationExpression":{"assignments":[76827],"declarations":[{"constant":false,"id":76827,"mutability":"mutable","name":"j","nameLocation":"29695:1:129","nodeType":"VariableDeclaration","scope":76854,"src":"29687:9:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76826,"name":"uint256","nodeType":"ElementaryTypeName","src":"29687:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":76829,"initialValue":{"hexValue":"30","id":76828,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29699:1:129","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"29687:13:129"},"loopExpression":{"expression":{"id":76835,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"29727:3:129","subExpression":{"id":76834,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76827,"src":"29727:1:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":76836,"nodeType":"ExpressionStatement","src":"29727:3:129"},"nodeType":"ForStatement","src":"29682:318:129"},{"condition":{"id":76856,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"30021:6:129","subExpression":{"id":76855,"name":"exist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76823,"src":"30022:5:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":76904,"nodeType":"IfStatement","src":"30017:361:129","trueBody":{"id":76903,"nodeType":"Block","src":"30029:349:129","statements":[{"assignments":[76861],"declarations":[{"constant":false,"id":76861,"mutability":"mutable","name":"temp","nameLocation":"30068:4:129","nodeType":"VariableDeclaration","scope":76903,"src":"30051:21:129","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":76859,"name":"uint256","nodeType":"ElementaryTypeName","src":"30051:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":76860,"nodeType":"ArrayTypeName","src":"30051:9:129","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"id":76870,"initialValue":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":76868,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":76865,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76783,"src":"30089:12:129","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":76866,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30102:6:129","memberName":"length","nodeType":"MemberAccess","src":"30089:19:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"31","id":76867,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"30111:1:129","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"30089:23:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":76864,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"30075:13:129","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (uint256[] memory)"},"typeName":{"baseType":{"id":76862,"name":"uint256","nodeType":"ElementaryTypeName","src":"30079:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":76863,"nodeType":"ArrayTypeName","src":"30079:9:129","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}}},"id":76869,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30075:38:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"nodeType":"VariableDeclarationStatement","src":"30051:62:129"},{"body":{"id":76890,"nodeType":"Block","src":"30185:74:129","statements":[{"expression":{"id":76888,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":76882,"name":"temp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76861,"src":"30211:4:129","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":76884,"indexExpression":{"id":76883,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76872,"src":"30216:1:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"30211:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"baseExpression":{"id":76885,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76783,"src":"30221:12:129","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":76887,"indexExpression":{"id":76886,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76872,"src":"30234:1:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"30221:15:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"30211:25:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":76889,"nodeType":"ExpressionStatement","src":"30211:25:129"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":76878,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":76875,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76872,"src":"30155:1:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":76876,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76783,"src":"30159:12:129","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":76877,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30172:6:129","memberName":"length","nodeType":"MemberAccess","src":"30159:19:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"30155:23:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":76891,"initializationExpression":{"assignments":[76872],"declarations":[{"constant":false,"id":76872,"mutability":"mutable","name":"j","nameLocation":"30148:1:129","nodeType":"VariableDeclaration","scope":76891,"src":"30140:9:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76871,"name":"uint256","nodeType":"ElementaryTypeName","src":"30140:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":76874,"initialValue":{"hexValue":"30","id":76873,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"30152:1:129","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"30140:13:129"},"loopExpression":{"expression":{"id":76880,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"30180:3:129","subExpression":{"id":76879,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76872,"src":"30180:1:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":76881,"nodeType":"ExpressionStatement","src":"30180:3:129"},"nodeType":"ForStatement","src":"30135:124:129"},{"expression":{"id":76897,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":76892,"name":"temp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76861,"src":"30280:4:129","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":76895,"indexExpression":{"expression":{"id":76893,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76783,"src":"30285:12:129","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":76894,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30298:6:129","memberName":"length","nodeType":"MemberAccess","src":"30285:19:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"30280:25:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":76896,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76797,"src":"30308:10:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"30280:38:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":76898,"nodeType":"ExpressionStatement","src":"30280:38:129"},{"expression":{"id":76901,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":76899,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76783,"src":"30340:12:129","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":76900,"name":"temp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76861,"src":"30355:4:129","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"src":"30340:19:129","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":76902,"nodeType":"ExpressionStatement","src":"30340:19:129"}]}}]},"id":76906,"nodeType":"IfStatement","src":"29472:920:129","trueBody":{"id":76821,"nodeType":"Block","src":"29502:120:129","statements":[{"expression":{"id":76813,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":76807,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76783,"src":"29520:12:129","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"31","id":76811,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29549:1:129","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":76810,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"29535:13:129","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (uint256[] memory)"},"typeName":{"baseType":{"id":76808,"name":"uint256","nodeType":"ElementaryTypeName","src":"29539:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":76809,"nodeType":"ArrayTypeName","src":"29539:9:129","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}}},"id":76812,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29535:16:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"src":"29520:31:129","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":76814,"nodeType":"ExpressionStatement","src":"29520:31:129"},{"expression":{"id":76819,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":76815,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76783,"src":"29569:12:129","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":76817,"indexExpression":{"hexValue":"30","id":76816,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29582:1:129","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"29569:15:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":76818,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76797,"src":"29587:10:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"29569:28:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":76820,"nodeType":"ExpressionStatement","src":"29569:28:129"}]}},{"assignments":[76908],"declarations":[{"constant":false,"id":76908,"mutability":"mutable","name":"delta","nameLocation":"30412:5:129","nodeType":"VariableDeclaration","scope":77054,"src":"30405:12:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":76907,"name":"int256","nodeType":"ElementaryTypeName","src":"30405:6:129","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"id":76913,"initialValue":{"expression":{"baseExpression":{"id":76909,"name":"_proposalSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76776,"src":"30420:16:129","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$74781_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}},"id":76911,"indexExpression":{"id":76910,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76786,"src":"30437:1:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"30420:19:129","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$74781_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory"}},"id":76912,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30440:12:129","memberName":"deltaSupport","nodeType":"MemberAccess","referencedDeclaration":74780,"src":"30420:32:129","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"VariableDeclarationStatement","src":"30405:47:129"},{"assignments":[76918],"declarations":[{"constant":false,"id":76918,"mutability":"mutable","name":"proposal","nameLocation":"30499:8:129","nodeType":"VariableDeclaration","scope":77054,"src":"30467:40:129","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":76917,"nodeType":"UserDefinedTypeName","pathNode":{"id":76916,"name":"StrategyStruct.Proposal","nameLocations":["30467:14:129","30482:8:129"],"nodeType":"IdentifierPath","referencedDeclaration":74776,"src":"30467:23:129"},"referencedDeclaration":74776,"src":"30467:23:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":76922,"initialValue":{"baseExpression":{"id":76919,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75022,"src":"30510:9:129","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$74776_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":76921,"indexExpression":{"id":76920,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76797,"src":"30520:10:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"30510:21:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"30467:64:129"},{"assignments":[76924],"declarations":[{"constant":false,"id":76924,"mutability":"mutable","name":"previousStakedPoints","nameLocation":"30641:20:129","nodeType":"VariableDeclaration","scope":77054,"src":"30633:28:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76923,"name":"uint256","nodeType":"ElementaryTypeName","src":"30633:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":76929,"initialValue":{"baseExpression":{"expression":{"id":76925,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76918,"src":"30664:8:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":76926,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30673:17:129","memberName":"voterStakedPoints","nodeType":"MemberAccess","referencedDeclaration":74772,"src":"30664:26:129","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":76928,"indexExpression":{"id":76927,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76772,"src":"30691:7:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"30664:35:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"30633:66:129"},{"assignments":[76931],"declarations":[{"constant":false,"id":76931,"mutability":"mutable","name":"stakedPoints","nameLocation":"30872:12:129","nodeType":"VariableDeclaration","scope":77054,"src":"30864:20:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76930,"name":"uint256","nodeType":"ElementaryTypeName","src":"30864:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":76936,"initialValue":{"arguments":[{"id":76933,"name":"previousStakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76924,"src":"30899:20:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":76934,"name":"delta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76908,"src":"30921:5:129","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":76932,"name":"_applyDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77092,"src":"30887:11:129","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_int256_$returns$_t_uint256_$","typeString":"function (uint256,int256) pure returns (uint256)"}},"id":76935,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30887:40:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"30864:63:129"},{"expression":{"id":76943,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":76937,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76918,"src":"31062:8:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":76940,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"31071:17:129","memberName":"voterStakedPoints","nodeType":"MemberAccess","referencedDeclaration":74772,"src":"31062:26:129","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":76941,"indexExpression":{"id":76939,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76772,"src":"31089:7:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"31062:35:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":76942,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76931,"src":"31100:12:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"31062:50:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":76944,"nodeType":"ExpressionStatement","src":"31062:50:129"},{"assignments":[76946],"declarations":[{"constant":false,"id":76946,"mutability":"mutable","name":"hasProposal","nameLocation":"31351:11:129","nodeType":"VariableDeclaration","scope":77054,"src":"31346:16:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":76945,"name":"bool","nodeType":"ElementaryTypeName","src":"31346:4:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":76948,"initialValue":{"hexValue":"66616c7365","id":76947,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"31365:5:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"nodeType":"VariableDeclarationStatement","src":"31346:24:129"},{"body":{"id":76977,"nodeType":"Block","src":"31451:179:129","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":76969,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"baseExpression":{"id":76962,"name":"voterStakedProposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75031,"src":"31473:20:129","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$","typeString":"mapping(address => uint256[] storage ref)"}},"id":76964,"indexExpression":{"id":76963,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76772,"src":"31494:7:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"31473:29:129","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage","typeString":"uint256[] storage ref"}},"id":76966,"indexExpression":{"id":76965,"name":"k","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76950,"src":"31503:1:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"31473:32:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":76967,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76918,"src":"31509:8:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":76968,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"31518:10:129","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":74751,"src":"31509:19:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"31473:55:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":76976,"nodeType":"IfStatement","src":"31469:147:129","trueBody":{"id":76975,"nodeType":"Block","src":"31530:86:129","statements":[{"expression":{"id":76972,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":76970,"name":"hasProposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76946,"src":"31552:11:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":76971,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"31566:4:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"31552:18:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":76973,"nodeType":"ExpressionStatement","src":"31552:18:129"},{"id":76974,"nodeType":"Break","src":"31592:5:129"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":76958,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":76953,"name":"k","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76950,"src":"31404:1:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"baseExpression":{"id":76954,"name":"voterStakedProposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75031,"src":"31408:20:129","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$","typeString":"mapping(address => uint256[] storage ref)"}},"id":76956,"indexExpression":{"id":76955,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76772,"src":"31429:7:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"31408:29:129","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage","typeString":"uint256[] storage ref"}},"id":76957,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"31438:6:129","memberName":"length","nodeType":"MemberAccess","src":"31408:36:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"31404:40:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":76978,"initializationExpression":{"assignments":[76950],"declarations":[{"constant":false,"id":76950,"mutability":"mutable","name":"k","nameLocation":"31397:1:129","nodeType":"VariableDeclaration","scope":76978,"src":"31389:9:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76949,"name":"uint256","nodeType":"ElementaryTypeName","src":"31389:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":76952,"initialValue":{"hexValue":"30","id":76951,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"31401:1:129","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"31389:13:129"},"loopExpression":{"expression":{"id":76960,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"31446:3:129","subExpression":{"id":76959,"name":"k","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76950,"src":"31446:1:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":76961,"nodeType":"ExpressionStatement","src":"31446:3:129"},"nodeType":"ForStatement","src":"31384:246:129"},{"condition":{"id":76980,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"31647:12:129","subExpression":{"id":76979,"name":"hasProposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76946,"src":"31648:11:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":76990,"nodeType":"IfStatement","src":"31643:106:129","trueBody":{"id":76989,"nodeType":"Block","src":"31661:88:129","statements":[{"expression":{"arguments":[{"expression":{"id":76985,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76918,"src":"31714:8:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":76986,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"31723:10:129","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":74751,"src":"31714:19:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"baseExpression":{"id":76981,"name":"voterStakedProposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75031,"src":"31679:20:129","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$","typeString":"mapping(address => uint256[] storage ref)"}},"id":76983,"indexExpression":{"id":76982,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76772,"src":"31700:7:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"31679:29:129","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage","typeString":"uint256[] storage ref"}},"id":76984,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"31709:4:129","memberName":"push","nodeType":"MemberAccess","src":"31679:34:129","typeDescriptions":{"typeIdentifier":"t_function_arraypush_nonpayable$_t_array$_t_uint256_$dyn_storage_ptr_$_t_uint256_$returns$__$attached_to$_t_array$_t_uint256_$dyn_storage_ptr_$","typeString":"function (uint256[] storage pointer,uint256)"}},"id":76987,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31679:55:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":76988,"nodeType":"ExpressionStatement","src":"31679:55:129"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":76993,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":76991,"name":"previousStakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76924,"src":"31904:20:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"id":76992,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76931,"src":"31928:12:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"31904:36:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":77023,"nodeType":"Block","src":"32109:161:129","statements":[{"expression":{"id":77013,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":77009,"name":"totalStaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74995,"src":"32127:11:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":77012,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":77010,"name":"previousStakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76924,"src":"32142:20:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":77011,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76931,"src":"32165:12:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"32142:35:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"32127:50:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":77014,"nodeType":"ExpressionStatement","src":"32127:50:129"},{"expression":{"id":77021,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":77015,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76918,"src":"32195:8:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":77017,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"32204:12:129","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":74755,"src":"32195:21:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":77020,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":77018,"name":"previousStakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76924,"src":"32220:20:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":77019,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76931,"src":"32243:12:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"32220:35:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"32195:60:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":77022,"nodeType":"ExpressionStatement","src":"32195:60:129"}]},"id":77024,"nodeType":"IfStatement","src":"31900:370:129","trueBody":{"id":77008,"nodeType":"Block","src":"31942:161:129","statements":[{"expression":{"id":76998,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":76994,"name":"totalStaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74995,"src":"31960:11:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":76997,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":76995,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76931,"src":"31975:12:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":76996,"name":"previousStakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76924,"src":"31990:20:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"31975:35:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"31960:50:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":76999,"nodeType":"ExpressionStatement","src":"31960:50:129"},{"expression":{"id":77006,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":77000,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76918,"src":"32028:8:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":77002,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"32037:12:129","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":74755,"src":"32028:21:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":77005,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":77003,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76931,"src":"32053:12:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":77004,"name":"previousStakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76924,"src":"32068:20:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"32053:35:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"32028:60:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":77007,"nodeType":"ExpressionStatement","src":"32028:60:129"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":77028,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":77025,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76918,"src":"32287:8:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":77026,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"32296:9:129","memberName":"blockLast","nodeType":"MemberAccess","referencedDeclaration":74765,"src":"32287:18:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":77027,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"32309:1:129","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"32287:23:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":77052,"nodeType":"Block","src":"32384:209:129","statements":[{"expression":{"arguments":[{"id":77038,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76918,"src":"32429:8:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},{"id":77039,"name":"previousStakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76924,"src":"32439:20:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":77037,"name":"_calculateAndSetConviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77385,"src":"32402:26:129","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_Proposal_$74776_storage_ptr_$_t_uint256_$returns$__$","typeString":"function (struct StrategyStruct.Proposal storage pointer,uint256)"}},"id":77040,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32402:58:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":77041,"nodeType":"ExpressionStatement","src":"32402:58:129"},{"eventCall":{"arguments":[{"id":77043,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76772,"src":"32496:7:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":77044,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76797,"src":"32505:10:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":77045,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76931,"src":"32517:12:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":77046,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76918,"src":"32531:8:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":77047,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"32540:12:129","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":74755,"src":"32531:21:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":77048,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76918,"src":"32554:8:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":77049,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"32563:14:129","memberName":"convictionLast","nodeType":"MemberAccess","referencedDeclaration":74757,"src":"32554:23:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":77042,"name":"SupportAdded","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74943,"src":"32483:12:129","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (address,uint256,uint256,uint256,uint256)"}},"id":77050,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32483:95:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":77051,"nodeType":"EmitStatement","src":"32478:100:129"}]},"id":77053,"nodeType":"IfStatement","src":"32283:310:129","trueBody":{"id":77036,"nodeType":"Block","src":"32312:66:129","statements":[{"expression":{"id":77034,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":77029,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76918,"src":"32330:8:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":77031,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"32339:9:129","memberName":"blockLast","nodeType":"MemberAccess","referencedDeclaration":74765,"src":"32330:18:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":77032,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"32351:5:129","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":77033,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"32357:6:129","memberName":"number","nodeType":"MemberAccess","src":"32351:12:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"32330:33:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":77035,"nodeType":"ExpressionStatement","src":"32330:33:129"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":76792,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":76789,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76786,"src":"29304:1:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":76790,"name":"_proposalSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76776,"src":"29308:16:129","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$74781_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}},"id":76791,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"29325:6:129","memberName":"length","nodeType":"MemberAccess","src":"29308:23:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"29304:27:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":77055,"initializationExpression":{"assignments":[76786],"declarations":[{"constant":false,"id":76786,"mutability":"mutable","name":"i","nameLocation":"29297:1:129","nodeType":"VariableDeclaration","scope":77055,"src":"29289:9:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76785,"name":"uint256","nodeType":"ElementaryTypeName","src":"29289:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":76788,"initialValue":{"hexValue":"30","id":76787,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29301:1:129","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"29289:13:129"},"loopExpression":{"expression":{"id":76794,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"29333:3:129","subExpression":{"id":76793,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76786,"src":"29333:1:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":76795,"nodeType":"ExpressionStatement","src":"29333:3:129"},"nodeType":"ForStatement","src":"29284:3319:129"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_addSupport","nameLocation":"29139:11:129","parameters":{"id":76777,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76772,"mutability":"mutable","name":"_sender","nameLocation":"29159:7:129","nodeType":"VariableDeclaration","scope":77057,"src":"29151:15:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":76771,"name":"address","nodeType":"ElementaryTypeName","src":"29151:7:129","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":76776,"mutability":"mutable","name":"_proposalSupport","nameLocation":"29208:16:129","nodeType":"VariableDeclaration","scope":77057,"src":"29168:56:129","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$74781_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport[]"},"typeName":{"baseType":{"id":76774,"nodeType":"UserDefinedTypeName","pathNode":{"id":76773,"name":"StrategyStruct.ProposalSupport","nameLocations":["29168:14:129","29183:15:129"],"nodeType":"IdentifierPath","referencedDeclaration":74781,"src":"29168:30:129"},"referencedDeclaration":74781,"src":"29168:30:129","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$74781_storage_ptr","typeString":"struct StrategyStruct.ProposalSupport"}},"id":76775,"nodeType":"ArrayTypeName","src":"29168:32:129","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$74781_storage_$dyn_storage_ptr","typeString":"struct StrategyStruct.ProposalSupport[]"}},"visibility":"internal"}],"src":"29150:75:129"},"returnParameters":{"id":76778,"nodeType":"ParameterList","parameters":[],"src":"29235:0:129"},"scope":77611,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":77092,"nodeType":"FunctionDefinition","src":"32615:276:129","nodes":[],"body":{"id":77091,"nodeType":"Block","src":"32701:190:129","nodes":[],"statements":[{"assignments":[77067],"declarations":[{"constant":false,"id":77067,"mutability":"mutable","name":"result","nameLocation":"32718:6:129","nodeType":"VariableDeclaration","scope":77091,"src":"32711:13:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":77066,"name":"int256","nodeType":"ElementaryTypeName","src":"32711:6:129","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"id":77074,"initialValue":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":77073,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":77070,"name":"_support","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77059,"src":"32734:8:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":77069,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"32727:6:129","typeDescriptions":{"typeIdentifier":"t_type$_t_int256_$","typeString":"type(int256)"},"typeName":{"id":77068,"name":"int256","nodeType":"ElementaryTypeName","src":"32727:6:129","typeDescriptions":{}}},"id":77071,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32727:16:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":77072,"name":"_delta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77061,"src":"32746:6:129","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"32727:25:129","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"VariableDeclarationStatement","src":"32711:41:129"},{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":77077,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":77075,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77067,"src":"32767:6:129","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"hexValue":"30","id":77076,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"32776:1:129","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"32767:10:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":77085,"nodeType":"IfStatement","src":"32763:90:129","trueBody":{"id":77084,"nodeType":"Block","src":"32779:74:129","statements":[{"errorCall":{"arguments":[{"id":77079,"name":"_support","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77059,"src":"32817:8:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":77080,"name":"_delta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77061,"src":"32827:6:129","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":77081,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77067,"src":"32835:6:129","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":77078,"name":"SupportUnderflow","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74846,"src":"32800:16:129","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_int256_$_t_int256_$returns$__$","typeString":"function (uint256,int256,int256) pure"}},"id":77082,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32800:42:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":77083,"nodeType":"RevertStatement","src":"32793:49:129"}]}},{"expression":{"arguments":[{"id":77088,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77067,"src":"32877:6:129","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":77087,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"32869:7:129","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":77086,"name":"uint256","nodeType":"ElementaryTypeName","src":"32869:7:129","typeDescriptions":{}}},"id":77089,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32869:15:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":77065,"id":77090,"nodeType":"Return","src":"32862:22:129"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_applyDelta","nameLocation":"32624:11:129","parameters":{"id":77062,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77059,"mutability":"mutable","name":"_support","nameLocation":"32644:8:129","nodeType":"VariableDeclaration","scope":77092,"src":"32636:16:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77058,"name":"uint256","nodeType":"ElementaryTypeName","src":"32636:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":77061,"mutability":"mutable","name":"_delta","nameLocation":"32661:6:129","nodeType":"VariableDeclaration","scope":77092,"src":"32654:13:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":77060,"name":"int256","nodeType":"ElementaryTypeName","src":"32654:6:129","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"32635:33:129"},"returnParameters":{"id":77065,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77064,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":77092,"src":"32692:7:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77063,"name":"uint256","nodeType":"ElementaryTypeName","src":"32692:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"32691:9:129"},"scope":77611,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":77148,"nodeType":"FunctionDefinition","src":"33308:1145:129","nodes":[],"body":{"id":77147,"nodeType":"Block","src":"33455:998:129","nodes":[],"statements":[{"assignments":[77105],"declarations":[{"constant":false,"id":77105,"mutability":"mutable","name":"t","nameLocation":"33473:1:129","nodeType":"VariableDeclaration","scope":77147,"src":"33465:9:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77104,"name":"uint256","nodeType":"ElementaryTypeName","src":"33465:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":77107,"initialValue":{"id":77106,"name":"_timePassed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77095,"src":"33477:11:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"33465:23:129"},{"assignments":[77109],"declarations":[{"constant":false,"id":77109,"mutability":"mutable","name":"atTWO_128","nameLocation":"33811:9:129","nodeType":"VariableDeclaration","scope":77147,"src":"33803:17:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77108,"name":"uint256","nodeType":"ElementaryTypeName","src":"33803:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":77119,"initialValue":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":77116,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":77113,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":77111,"name":"decay","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74986,"src":"33829:5:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"313238","id":77112,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"33838:3:129","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"33829:12:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":77114,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"33828:14:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":77115,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74972,"src":"33845:1:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"33828:18:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":77117,"name":"t","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77105,"src":"33848:1:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":77110,"name":"_pow","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77336,"src":"33823:4:129","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":77118,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33823:27:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"33803:47:129"},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":77145,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":77142,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":77139,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":77122,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":77120,"name":"atTWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77109,"src":"34346:9:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":77121,"name":"_lastConv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77097,"src":"34358:9:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"34346:21:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":77123,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"34345:23:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":77137,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":77131,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":77126,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":77124,"name":"_oldAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77099,"src":"34373:10:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":77125,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74972,"src":"34386:1:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"34373:14:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":77129,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":77127,"name":"TWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74975,"src":"34391:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":77128,"name":"atTWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77109,"src":"34401:9:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"34391:19:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":77130,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"34390:21:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"34373:38:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":77132,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"34372:40:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":77135,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":77133,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74972,"src":"34416:1:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":77134,"name":"decay","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74986,"src":"34420:5:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"34416:9:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":77136,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"34415:11:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"34372:54:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":77138,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"34371:56:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"34345:82:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":77140,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"34344:84:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":77141,"name":"TWO_127","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74978,"src":"34431:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"34344:94:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":77143,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"34343:96:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"313238","id":77144,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"34443:3:129","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"34343:103:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":77103,"id":77146,"nodeType":"Return","src":"34336:110:129"}]},"documentation":{"id":77093,"nodeType":"StructuredDocumentation","src":"32897:406:129","text":" @dev Conviction formula: a^t * y(0) + x * (1 - a^t) / (1 - a)\n Solidity implementation: y = (2^128 * a^t * y0 + x * D * (2^128 - 2^128 * a^t) / (D - aD) + 2^127) / 2^128\n @param _timePassed Number of blocks since last conviction record\n @param _lastConv Last conviction record\n @param _oldAmount Amount of tokens staked until now\n @return Current conviction"},"functionSelector":"346db8cb","implemented":true,"kind":"function","modifiers":[],"name":"calculateConviction","nameLocation":"33317:19:129","parameters":{"id":77100,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77095,"mutability":"mutable","name":"_timePassed","nameLocation":"33345:11:129","nodeType":"VariableDeclaration","scope":77148,"src":"33337:19:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77094,"name":"uint256","nodeType":"ElementaryTypeName","src":"33337:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":77097,"mutability":"mutable","name":"_lastConv","nameLocation":"33366:9:129","nodeType":"VariableDeclaration","scope":77148,"src":"33358:17:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77096,"name":"uint256","nodeType":"ElementaryTypeName","src":"33358:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":77099,"mutability":"mutable","name":"_oldAmount","nameLocation":"33385:10:129","nodeType":"VariableDeclaration","scope":77148,"src":"33377:18:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77098,"name":"uint256","nodeType":"ElementaryTypeName","src":"33377:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"33336:60:129"},"returnParameters":{"id":77103,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77102,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":77148,"src":"33442:7:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77101,"name":"uint256","nodeType":"ElementaryTypeName","src":"33442:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"33441:9:129"},"scope":77611,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":77236,"nodeType":"FunctionDefinition","src":"35034:1482:129","nodes":[],"body":{"id":77235,"nodeType":"Block","src":"35129:1387:129","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":77158,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":77156,"name":"poolAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3343,"src":"35263:10:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"hexValue":"30","id":77157,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"35277:1:129","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"35263:15:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":77163,"nodeType":"IfStatement","src":"35259:66:129","trueBody":{"id":77162,"nodeType":"Block","src":"35280:45:129","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":77159,"name":"PoolIsEmpty","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74824,"src":"35301:11:129","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":77160,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35301:13:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":77161,"nodeType":"RevertStatement","src":"35294:20:129"}]}},{"condition":{"arguments":[{"id":77165,"name":"_requestedAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77151,"src":"35781:16:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":77164,"name":"_isOverMaxRatio","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76674,"src":"35765:15:129","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view returns (bool)"}},"id":77166,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35765:33:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":77171,"nodeType":"IfStatement","src":"35761:91:129","trueBody":{"id":77170,"nodeType":"Block","src":"35800:52:129","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":77167,"name":"AmountOverMaxRatio","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74832,"src":"35821:18:129","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":77168,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35821:20:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":77169,"nodeType":"RevertStatement","src":"35814:27:129"}]}},{"assignments":[77173],"declarations":[{"constant":false,"id":77173,"mutability":"mutable","name":"denom","nameLocation":"36008:5:129","nodeType":"VariableDeclaration","scope":77235,"src":"36000:13:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77172,"name":"uint256","nodeType":"ElementaryTypeName","src":"36000:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":77191,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":77190,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":77181,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":77178,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":77174,"name":"maxRatio","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74988,"src":"36017:8:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"commonType":{"typeIdentifier":"t_rational_18446744073709551616_by_1","typeString":"int_const 18446744073709551616"},"id":77177,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"32","id":77175,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"36028:1:129","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"3634","id":77176,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"36033:2:129","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"36028:7:129","typeDescriptions":{"typeIdentifier":"t_rational_18446744073709551616_by_1","typeString":"int_const 18446744073709551616"}},"src":"36017:18:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":77179,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"36016:20:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":77180,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74972,"src":"36039:1:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"36016:24:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":77189,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":77186,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":77182,"name":"_requestedAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77151,"src":"36044:16:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"commonType":{"typeIdentifier":"t_rational_18446744073709551616_by_1","typeString":"int_const 18446744073709551616"},"id":77185,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"32","id":77183,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"36063:1:129","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"3634","id":77184,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"36068:2:129","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"36063:7:129","typeDescriptions":{"typeIdentifier":"t_rational_18446744073709551616_by_1","typeString":"int_const 18446744073709551616"}},"src":"36044:26:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":77187,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"36043:28:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":77188,"name":"poolAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3343,"src":"36074:10:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"36043:41:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"36016:68:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"36000:84:129"},{"expression":{"id":77224,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":77192,"name":"_threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77154,"src":"36094:10:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":77223,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":77220,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":77216,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":77210,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":77207,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":77198,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":77195,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":77193,"name":"weight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74990,"src":"36126:6:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"313238","id":77194,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"36136:3:129","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"36126:13:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":77196,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"36125:15:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":77197,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74972,"src":"36143:1:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"36125:19:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":77199,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"36124:21:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":77205,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":77202,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":77200,"name":"denom","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77173,"src":"36150:5:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":77201,"name":"denom","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77173,"src":"36158:5:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"36150:13:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":77203,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"36149:15:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"3634","id":77204,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"36168:2:129","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"36149:21:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":77206,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"36148:23:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"36124:47:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":77208,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"36123:49:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":77209,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74972,"src":"36175:1:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"36123:53:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":77211,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"36122:55:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":77214,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":77212,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74972,"src":"36181:1:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":77213,"name":"decay","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74986,"src":"36185:5:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"36181:9:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":77215,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"36180:11:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"36122:69:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":77217,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"36121:71:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":77218,"name":"totalEffectiveActivePoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77344,"src":"36195:26:129","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint256_$","typeString":"function () view returns (uint256)"}},"id":77219,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36195:28:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"36121:102:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":77221,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"36107:126:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"3634","id":77222,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"36237:2:129","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"36107:132:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"36094:145:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":77225,"nodeType":"ExpressionStatement","src":"36094:145:129"},{"expression":{"id":77233,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":77226,"name":"_threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77154,"src":"36429:10:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":77229,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":77227,"name":"_threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77154,"src":"36442:10:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":77228,"name":"_minThresholdPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75000,"src":"36455:19:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"36442:32:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"id":77231,"name":"_minThresholdPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75000,"src":"36490:19:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":77232,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"36442:67:129","trueExpression":{"id":77230,"name":"_threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77154,"src":"36477:10:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"36429:80:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":77234,"nodeType":"ExpressionStatement","src":"36429:80:129"}]},"documentation":{"id":77149,"nodeType":"StructuredDocumentation","src":"34459:570:129","text":" @dev Formula: ρ * totalStaked / (1 - a) / (β - requestedAmount / total)**2\n For the Solidity implementation we amplify ρ and β and simplify the formula:\n weight = ρ * D\n maxRatio = β * D\n decay = a * D\n threshold = weight * totalStaked * D ** 2 * funds ** 2 / (D - decay) / (maxRatio * funds - requestedAmount * D) ** 2\n @param _requestedAmount Requested amount of tokens on certain proposal\n @return _threshold Threshold a proposal's conviction should surpass in order to be able to\n executed it."},"functionSelector":"59a5db8b","implemented":true,"kind":"function","modifiers":[],"name":"calculateThreshold","nameLocation":"35043:18:129","parameters":{"id":77152,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77151,"mutability":"mutable","name":"_requestedAmount","nameLocation":"35070:16:129","nodeType":"VariableDeclaration","scope":77236,"src":"35062:24:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77150,"name":"uint256","nodeType":"ElementaryTypeName","src":"35062:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"35061:26:129"},"returnParameters":{"id":77155,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77154,"mutability":"mutable","name":"_threshold","nameLocation":"35117:10:129","nodeType":"VariableDeclaration","scope":77236,"src":"35109:18:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77153,"name":"uint256","nodeType":"ElementaryTypeName","src":"35109:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"35108:20:129"},"scope":77611,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":77271,"nodeType":"FunctionDefinition","src":"36777:269:129","nodes":[],"body":{"id":77270,"nodeType":"Block","src":"36855:191:129","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":77249,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":77247,"name":"_a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77239,"src":"36873:2:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"id":77248,"name":"TWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74975,"src":"36879:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"36873:13:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5f612073686f756c64206265206c657373207468616e206f7220657175616c20746f20325e313238","id":77250,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"36888:42:129","typeDescriptions":{"typeIdentifier":"t_stringliteral_44e2d05298e19dba9341288d7967f4ffbb5a083f725e2470963d4d2d80484153","typeString":"literal_string \"_a should be less than or equal to 2^128\""},"value":"_a should be less than or equal to 2^128"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_44e2d05298e19dba9341288d7967f4ffbb5a083f725e2470963d4d2d80484153","typeString":"literal_string \"_a should be less than or equal to 2^128\""}],"id":77246,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"36865:7:129","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":77251,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36865:66:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":77252,"nodeType":"ExpressionStatement","src":"36865:66:129"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":77256,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":77254,"name":"_b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77241,"src":"36949:2:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":77255,"name":"TWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74975,"src":"36954:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"36949:12:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5f622073686f756c64206265206c657373207468616e20325e313238","id":77257,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"36963:30:129","typeDescriptions":{"typeIdentifier":"t_stringliteral_94029ed39d36fd1673853e0d61636cb1f54d05801d9baceb39b21e0f4420d664","typeString":"literal_string \"_b should be less than 2^128\""},"value":"_b should be less than 2^128"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_94029ed39d36fd1673853e0d61636cb1f54d05801d9baceb39b21e0f4420d664","typeString":"literal_string \"_b should be less than 2^128\""}],"id":77253,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"36941:7:129","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":77258,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36941:53:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":77259,"nodeType":"ExpressionStatement","src":"36941:53:129"},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":77268,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":77265,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":77262,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":77260,"name":"_a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77239,"src":"37013:2:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":77261,"name":"_b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77241,"src":"37018:2:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"37013:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":77263,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"37012:9:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":77264,"name":"TWO_127","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74978,"src":"37024:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"37012:19:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":77266,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"37011:21:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"313238","id":77267,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"37036:3:129","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"37011:28:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":77245,"id":77269,"nodeType":"Return","src":"37004:35:129"}]},"documentation":{"id":77237,"nodeType":"StructuredDocumentation","src":"36522:250:129","text":" Multiply _a by _b / 2^128. Parameter _a should be less than or equal to\n 2^128 and parameter _b should be less than 2^128.\n @param _a left argument\n @param _b right argument\n @return _result _a * _b / 2^128"},"implemented":true,"kind":"function","modifiers":[],"name":"_mul","nameLocation":"36786:4:129","parameters":{"id":77242,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77239,"mutability":"mutable","name":"_a","nameLocation":"36799:2:129","nodeType":"VariableDeclaration","scope":77271,"src":"36791:10:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77238,"name":"uint256","nodeType":"ElementaryTypeName","src":"36791:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":77241,"mutability":"mutable","name":"_b","nameLocation":"36811:2:129","nodeType":"VariableDeclaration","scope":77271,"src":"36803:10:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77240,"name":"uint256","nodeType":"ElementaryTypeName","src":"36803:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"36790:24:129"},"returnParameters":{"id":77245,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77244,"mutability":"mutable","name":"_result","nameLocation":"36846:7:129","nodeType":"VariableDeclaration","scope":77271,"src":"36838:15:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77243,"name":"uint256","nodeType":"ElementaryTypeName","src":"36838:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"36837:17:129"},"scope":77611,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":77336,"nodeType":"FunctionDefinition","src":"37268:447:129","nodes":[],"body":{"id":77335,"nodeType":"Block","src":"37346:369:129","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":77284,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":77282,"name":"_a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77274,"src":"37364:2:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":77283,"name":"TWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74975,"src":"37369:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"37364:12:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5f612073686f756c64206265206c657373207468616e20325e313238","id":77285,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"37378:30:129","typeDescriptions":{"typeIdentifier":"t_stringliteral_8cb59667c527f8a0ca0170161b6ece5e9864e8aa2d080a486f0167056517515f","typeString":"literal_string \"_a should be less than 2^128\""},"value":"_a should be less than 2^128"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_8cb59667c527f8a0ca0170161b6ece5e9864e8aa2d080a486f0167056517515f","typeString":"literal_string \"_a should be less than 2^128\""}],"id":77281,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"37356:7:129","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":77286,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37356:53:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":77287,"nodeType":"ExpressionStatement","src":"37356:53:129"},{"assignments":[77289],"declarations":[{"constant":false,"id":77289,"mutability":"mutable","name":"a","nameLocation":"37427:1:129","nodeType":"VariableDeclaration","scope":77335,"src":"37419:9:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77288,"name":"uint256","nodeType":"ElementaryTypeName","src":"37419:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":77291,"initialValue":{"id":77290,"name":"_a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77274,"src":"37431:2:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"37419:14:129"},{"assignments":[77293],"declarations":[{"constant":false,"id":77293,"mutability":"mutable","name":"b","nameLocation":"37451:1:129","nodeType":"VariableDeclaration","scope":77335,"src":"37443:9:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77292,"name":"uint256","nodeType":"ElementaryTypeName","src":"37443:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":77295,"initialValue":{"id":77294,"name":"_b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77276,"src":"37455:2:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"37443:14:129"},{"expression":{"id":77298,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":77296,"name":"_result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77279,"src":"37467:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":77297,"name":"TWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74975,"src":"37477:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"37467:17:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":77299,"nodeType":"ExpressionStatement","src":"37467:17:129"},{"body":{"id":77333,"nodeType":"Block","src":"37508:201:129","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":77307,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":77305,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":77303,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77293,"src":"37526:1:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"hexValue":"31","id":77304,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"37530:1:129","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"37526:5:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":77306,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"37535:1:129","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"37526:10:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":77331,"nodeType":"Block","src":"37616:83:129","statements":[{"expression":{"id":77325,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":77320,"name":"_result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77279,"src":"37634:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":77322,"name":"_result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77279,"src":"37649:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":77323,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77289,"src":"37658:1:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":77321,"name":"_mul","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77271,"src":"37644:4:129","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":77324,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37644:16:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"37634:26:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":77326,"nodeType":"ExpressionStatement","src":"37634:26:129"},{"expression":{"id":77329,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":77327,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77293,"src":"37678:1:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"hexValue":"31","id":77328,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"37683:1:129","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"37678:6:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":77330,"nodeType":"ExpressionStatement","src":"37678:6:129"}]},"id":77332,"nodeType":"IfStatement","src":"37522:177:129","trueBody":{"id":77319,"nodeType":"Block","src":"37538:72:129","statements":[{"expression":{"id":77313,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":77308,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77289,"src":"37556:1:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":77310,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77289,"src":"37565:1:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":77311,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77289,"src":"37568:1:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":77309,"name":"_mul","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77271,"src":"37560:4:129","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":77312,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37560:10:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"37556:14:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":77314,"nodeType":"ExpressionStatement","src":"37556:14:129"},{"expression":{"id":77317,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":77315,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77293,"src":"37588:1:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":">>=","rightHandSide":{"hexValue":"31","id":77316,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"37594:1:129","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"37588:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":77318,"nodeType":"ExpressionStatement","src":"37588:7:129"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":77302,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":77300,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77293,"src":"37501:1:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":77301,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"37505:1:129","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"37501:5:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":77334,"nodeType":"WhileStatement","src":"37494:215:129"}]},"documentation":{"id":77272,"nodeType":"StructuredDocumentation","src":"37052:211:129","text":" Calculate (_a / 2^128)^_b * 2^128. Parameter _a should be less than 2^128.\n @param _a left argument\n @param _b right argument\n @return _result (_a / 2^128)^_b * 2^128"},"implemented":true,"kind":"function","modifiers":[],"name":"_pow","nameLocation":"37277:4:129","parameters":{"id":77277,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77274,"mutability":"mutable","name":"_a","nameLocation":"37290:2:129","nodeType":"VariableDeclaration","scope":77336,"src":"37282:10:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77273,"name":"uint256","nodeType":"ElementaryTypeName","src":"37282:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":77276,"mutability":"mutable","name":"_b","nameLocation":"37302:2:129","nodeType":"VariableDeclaration","scope":77336,"src":"37294:10:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77275,"name":"uint256","nodeType":"ElementaryTypeName","src":"37294:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"37281:24:129"},"returnParameters":{"id":77280,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77279,"mutability":"mutable","name":"_result","nameLocation":"37337:7:129","nodeType":"VariableDeclaration","scope":77336,"src":"37329:15:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77278,"name":"uint256","nodeType":"ElementaryTypeName","src":"37329:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"37328:17:129"},"scope":77611,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":77344,"nodeType":"FunctionDefinition","src":"37721:112:129","nodes":[],"body":{"id":77343,"nodeType":"Block","src":"37789:44:129","nodes":[],"statements":[{"expression":{"id":77341,"name":"totalPointsActivated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74997,"src":"37806:20:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":77340,"id":77342,"nodeType":"Return","src":"37799:27:129"}]},"functionSelector":"d1e36232","implemented":true,"kind":"function","modifiers":[],"name":"totalEffectiveActivePoints","nameLocation":"37730:26:129","parameters":{"id":77337,"nodeType":"ParameterList","parameters":[],"src":"37756:2:129"},"returnParameters":{"id":77340,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77339,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":77344,"src":"37780:7:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77338,"name":"uint256","nodeType":"ElementaryTypeName","src":"37780:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"37779:9:129"},"scope":77611,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":77385,"nodeType":"FunctionDefinition","src":"38023:396:129","nodes":[],"body":{"id":77384,"nodeType":"Block","src":"38131:288:129","nodes":[],"statements":[{"assignments":[77354,77356],"declarations":[{"constant":false,"id":77354,"mutability":"mutable","name":"conviction","nameLocation":"38150:10:129","nodeType":"VariableDeclaration","scope":77384,"src":"38142:18:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77353,"name":"uint256","nodeType":"ElementaryTypeName","src":"38142:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":77356,"mutability":"mutable","name":"blockNumber","nameLocation":"38170:11:129","nodeType":"VariableDeclaration","scope":77384,"src":"38162:19:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77355,"name":"uint256","nodeType":"ElementaryTypeName","src":"38162:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":77361,"initialValue":{"arguments":[{"id":77358,"name":"_proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77348,"src":"38219:9:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},{"id":77359,"name":"_oldStaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77350,"src":"38230:10:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":77357,"name":"_checkBlockAndCalculateConviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77432,"src":"38185:33:129","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Proposal_$74776_storage_ptr_$_t_uint256_$returns$_t_uint256_$_t_uint256_$","typeString":"function (struct StrategyStruct.Proposal storage pointer,uint256) view returns (uint256,uint256)"}},"id":77360,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38185:56:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_uint256_$","typeString":"tuple(uint256,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"38141:100:129"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":77368,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":77364,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":77362,"name":"conviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77354,"src":"38255:10:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":77363,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"38269:1:129","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"38255:15:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":77367,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":77365,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77356,"src":"38274:11:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":77366,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"38289:1:129","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"38274:16:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"38255:35:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":77371,"nodeType":"IfStatement","src":"38251:72:129","trueBody":{"id":77370,"nodeType":"Block","src":"38292:31:129","statements":[{"functionReturnParameters":77352,"id":77369,"nodeType":"Return","src":"38306:7:129"}]}},{"expression":{"id":77376,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":77372,"name":"_proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77348,"src":"38332:9:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":77374,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"38342:9:129","memberName":"blockLast","nodeType":"MemberAccess","referencedDeclaration":74765,"src":"38332:19:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":77375,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77356,"src":"38354:11:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"38332:33:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":77377,"nodeType":"ExpressionStatement","src":"38332:33:129"},{"expression":{"id":77382,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":77378,"name":"_proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77348,"src":"38375:9:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":77380,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"38385:14:129","memberName":"convictionLast","nodeType":"MemberAccess","referencedDeclaration":74757,"src":"38375:24:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":77381,"name":"conviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77354,"src":"38402:10:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"38375:37:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":77383,"nodeType":"ExpressionStatement","src":"38375:37:129"}]},"documentation":{"id":77345,"nodeType":"StructuredDocumentation","src":"37839:179:129","text":" @dev Calculate conviction and store it on the proposal\n @param _proposal Proposal\n @param _oldStaked Amount of tokens staked on a proposal until now"},"implemented":true,"kind":"function","modifiers":[],"name":"_calculateAndSetConviction","nameLocation":"38032:26:129","parameters":{"id":77351,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77348,"mutability":"mutable","name":"_proposal","nameLocation":"38091:9:129","nodeType":"VariableDeclaration","scope":77385,"src":"38059:41:129","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":77347,"nodeType":"UserDefinedTypeName","pathNode":{"id":77346,"name":"StrategyStruct.Proposal","nameLocations":["38059:14:129","38074:8:129"],"nodeType":"IdentifierPath","referencedDeclaration":74776,"src":"38059:23:129"},"referencedDeclaration":74776,"src":"38059:23:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"},{"constant":false,"id":77350,"mutability":"mutable","name":"_oldStaked","nameLocation":"38110:10:129","nodeType":"VariableDeclaration","scope":77385,"src":"38102:18:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77349,"name":"uint256","nodeType":"ElementaryTypeName","src":"38102:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"38058:63:129"},"returnParameters":{"id":77352,"nodeType":"ParameterList","parameters":[],"src":"38131:0:129"},"scope":77611,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":77432,"nodeType":"FunctionDefinition","src":"38425:719:129","nodes":[],"body":{"id":77431,"nodeType":"Block","src":"38623:521:129","nodes":[],"statements":[{"expression":{"id":77400,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":77397,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77395,"src":"38633:11:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":77398,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"38647:5:129","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":77399,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"38653:6:129","memberName":"number","nodeType":"MemberAccess","src":"38647:12:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"38633:26:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":77401,"nodeType":"ExpressionStatement","src":"38633:26:129"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":77406,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":77403,"name":"_proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77388,"src":"38676:9:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":77404,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"38686:9:129","memberName":"blockLast","nodeType":"MemberAccess","referencedDeclaration":74765,"src":"38676:19:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"id":77405,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77395,"src":"38699:11:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"38676:34:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":77402,"name":"assert","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-3,"src":"38669:6:129","typeDescriptions":{"typeIdentifier":"t_function_assert_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":77407,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38669:42:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":77408,"nodeType":"ExpressionStatement","src":"38669:42:129"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":77412,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":77409,"name":"_proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77388,"src":"38725:9:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":77410,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"38735:9:129","memberName":"blockLast","nodeType":"MemberAccess","referencedDeclaration":74765,"src":"38725:19:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":77411,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77395,"src":"38748:11:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"38725:34:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":77418,"nodeType":"IfStatement","src":"38721:173:129","trueBody":{"id":77417,"nodeType":"Block","src":"38761:133:129","statements":[{"expression":{"components":[{"hexValue":"30","id":77413,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"38849:1:129","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":77414,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"38852:1:129","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"id":77415,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"38848:6:129","typeDescriptions":{"typeIdentifier":"t_tuple$_t_rational_0_by_1_$_t_rational_0_by_1_$","typeString":"tuple(int_const 0,int_const 0)"}},"functionReturnParameters":77396,"id":77416,"nodeType":"Return","src":"38841:13:129"}]}},{"expression":{"id":77429,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":77419,"name":"conviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77393,"src":"38947:10:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":77424,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":77421,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77395,"src":"38993:11:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"expression":{"id":77422,"name":"_proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77388,"src":"39007:9:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":77423,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"39017:9:129","memberName":"blockLast","nodeType":"MemberAccess","referencedDeclaration":74765,"src":"39007:19:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"38993:33:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":77425,"name":"_proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77388,"src":"39079:9:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":77426,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"39089:14:129","memberName":"convictionLast","nodeType":"MemberAccess","referencedDeclaration":74757,"src":"39079:24:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":77427,"name":"_oldStaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77390,"src":"39117:10:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":77420,"name":"calculateConviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77148,"src":"38960:19:129","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256,uint256) view returns (uint256)"}},"id":77428,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38960:177:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"38947:190:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":77430,"nodeType":"ExpressionStatement","src":"38947:190:129"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_checkBlockAndCalculateConviction","nameLocation":"38434:33:129","parameters":{"id":77391,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77388,"mutability":"mutable","name":"_proposal","nameLocation":"38500:9:129","nodeType":"VariableDeclaration","scope":77432,"src":"38468:41:129","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":77387,"nodeType":"UserDefinedTypeName","pathNode":{"id":77386,"name":"StrategyStruct.Proposal","nameLocations":["38468:14:129","38483:8:129"],"nodeType":"IdentifierPath","referencedDeclaration":74776,"src":"38468:23:129"},"referencedDeclaration":74776,"src":"38468:23:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"},{"constant":false,"id":77390,"mutability":"mutable","name":"_oldStaked","nameLocation":"38519:10:129","nodeType":"VariableDeclaration","scope":77432,"src":"38511:18:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77389,"name":"uint256","nodeType":"ElementaryTypeName","src":"38511:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"38467:63:129"},"returnParameters":{"id":77396,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77393,"mutability":"mutable","name":"conviction","nameLocation":"38586:10:129","nodeType":"VariableDeclaration","scope":77432,"src":"38578:18:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77392,"name":"uint256","nodeType":"ElementaryTypeName","src":"38578:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":77395,"mutability":"mutable","name":"blockNumber","nameLocation":"38606:11:129","nodeType":"VariableDeclaration","scope":77432,"src":"38598:19:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77394,"name":"uint256","nodeType":"ElementaryTypeName","src":"38598:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"38577:41:129"},"scope":77611,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":77480,"nodeType":"FunctionDefinition","src":"39150:520:129","nodes":[],"body":{"id":77479,"nodeType":"Block","src":"39229:441:129","nodes":[],"statements":[{"assignments":[77443],"declarations":[{"constant":false,"id":77443,"mutability":"mutable","name":"proposal","nameLocation":"39271:8:129","nodeType":"VariableDeclaration","scope":77479,"src":"39239:40:129","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":77442,"nodeType":"UserDefinedTypeName","pathNode":{"id":77441,"name":"StrategyStruct.Proposal","nameLocations":["39239:14:129","39254:8:129"],"nodeType":"IdentifierPath","referencedDeclaration":74776,"src":"39239:23:129"},"referencedDeclaration":74776,"src":"39239:23:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":77447,"initialValue":{"baseExpression":{"id":77444,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75022,"src":"39282:9:129","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$74776_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":77446,"indexExpression":{"id":77445,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77434,"src":"39292:10:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"39282:21:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"39239:64:129"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":77451,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":77448,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77443,"src":"39318:8:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":77449,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"39327:10:129","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":74751,"src":"39318:19:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":77450,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77434,"src":"39341:10:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"39318:33:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":77457,"nodeType":"IfStatement","src":"39314:100:129","trueBody":{"id":77456,"nodeType":"Block","src":"39353:61:129","statements":[{"errorCall":{"arguments":[{"id":77453,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77434,"src":"39392:10:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":77452,"name":"ProposalNotInList","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74868,"src":"39374:17:129","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":77454,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"39374:29:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":77455,"nodeType":"RevertStatement","src":"39367:36:129"}]}},{"condition":{"commonType":{"typeIdentifier":"t_enum$_ProposalStatus_$74749","typeString":"enum StrategyStruct.ProposalStatus"},"id":77463,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":77458,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77443,"src":"39428:8:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":77459,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"39437:14:129","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":74768,"src":"39428:23:129","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$74749","typeString":"enum StrategyStruct.ProposalStatus"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"expression":{"id":77460,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74807,"src":"39455:14:129","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$74807_$","typeString":"type(library StrategyStruct)"}},"id":77461,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"39470:14:129","memberName":"ProposalStatus","nodeType":"MemberAccess","referencedDeclaration":74749,"src":"39455:29:129","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$74749_$","typeString":"type(enum StrategyStruct.ProposalStatus)"}},"id":77462,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"39485:6:129","memberName":"Active","nodeType":"MemberAccess","referencedDeclaration":74745,"src":"39455:36:129","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$74749","typeString":"enum StrategyStruct.ProposalStatus"}},"src":"39428:63:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":77469,"nodeType":"IfStatement","src":"39424:130:129","trueBody":{"id":77468,"nodeType":"Block","src":"39493:61:129","statements":[{"errorCall":{"arguments":[{"id":77465,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77434,"src":"39532:10:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":77464,"name":"ProposalNotActive","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74864,"src":"39514:17:129","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":77466,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"39514:29:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":77467,"nodeType":"RevertStatement","src":"39507:36:129"}]}},{"expression":{"arguments":[{"id":77471,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77443,"src":"39591:8:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},{"expression":{"id":77472,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77443,"src":"39601:8:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":77473,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"39610:12:129","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":74755,"src":"39601:21:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":77470,"name":"_calculateAndSetConviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77385,"src":"39564:26:129","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_Proposal_$74776_storage_ptr_$_t_uint256_$returns$__$","typeString":"function (struct StrategyStruct.Proposal storage pointer,uint256)"}},"id":77474,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"39564:59:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":77475,"nodeType":"ExpressionStatement","src":"39564:59:129"},{"expression":{"expression":{"id":77476,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77443,"src":"39640:8:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":77477,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"39649:14:129","memberName":"convictionLast","nodeType":"MemberAccess","referencedDeclaration":74757,"src":"39640:23:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":77438,"id":77478,"nodeType":"Return","src":"39633:30:129"}]},"functionSelector":"1aa91a9e","implemented":true,"kind":"function","modifiers":[],"name":"updateProposalConviction","nameLocation":"39159:24:129","parameters":{"id":77435,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77434,"mutability":"mutable","name":"proposalId","nameLocation":"39192:10:129","nodeType":"VariableDeclaration","scope":77480,"src":"39184:18:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77433,"name":"uint256","nodeType":"ElementaryTypeName","src":"39184:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"39183:20:129"},"returnParameters":{"id":77438,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77437,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":77480,"src":"39220:7:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77436,"name":"uint256","nodeType":"ElementaryTypeName","src":"39220:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"39219:9:129"},"scope":77611,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":77499,"nodeType":"FunctionDefinition","src":"39676:124:129","nodes":[],"body":{"id":77498,"nodeType":"Block","src":"39748:52:129","nodes":[],"statements":[{"expression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":77495,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":77489,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":77487,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77482,"src":"39767:6:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":77488,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74972,"src":"39776:1:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"39767:10:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":77490,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"39766:12:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":77493,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":77491,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74972,"src":"39782:1:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":77492,"name":"decay","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74986,"src":"39786:5:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"39782:9:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":77494,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"39781:11:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"39766:26:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":77496,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"39765:28:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":77486,"id":77497,"nodeType":"Return","src":"39758:35:129"}]},"functionSelector":"950559d7","implemented":true,"kind":"function","modifiers":[],"name":"getMaxConviction","nameLocation":"39685:16:129","parameters":{"id":77483,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77482,"mutability":"mutable","name":"amount","nameLocation":"39710:6:129","nodeType":"VariableDeclaration","scope":77499,"src":"39702:14:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77481,"name":"uint256","nodeType":"ElementaryTypeName","src":"39702:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"39701:16:129"},"returnParameters":{"id":77486,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77485,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":77499,"src":"39739:7:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77484,"name":"uint256","nodeType":"ElementaryTypeName","src":"39739:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"39738:9:129"},"scope":77611,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":77517,"nodeType":"FunctionDefinition","src":"39806:137:129","nodes":[],"body":{"id":77516,"nodeType":"Block","src":"39877:66:129","nodes":[],"statements":[{"expression":{"id":77510,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":77508,"name":"decay","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74986,"src":"39887:5:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":77509,"name":"_decay","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77501,"src":"39895:6:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"39887:14:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":77511,"nodeType":"ExpressionStatement","src":"39887:14:129"},{"eventCall":{"arguments":[{"id":77513,"name":"_decay","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77501,"src":"39929:6:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":77512,"name":"DecayUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74951,"src":"39916:12:129","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":77514,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"39916:20:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":77515,"nodeType":"EmitStatement","src":"39911:25:129"}]},"functionSelector":"69fa25c4","implemented":true,"kind":"function","modifiers":[{"arguments":[{"expression":{"id":77504,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"39865:3:129","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":77505,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"39869:6:129","memberName":"sender","nodeType":"MemberAccess","src":"39865:10:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"id":77506,"kind":"modifierInvocation","modifierName":{"id":77503,"name":"onlyPoolManager","nameLocations":["39849:15:129"],"nodeType":"IdentifierPath","referencedDeclaration":3386,"src":"39849:15:129"},"nodeType":"ModifierInvocation","src":"39849:27:129"}],"name":"setDecay","nameLocation":"39815:8:129","parameters":{"id":77502,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77501,"mutability":"mutable","name":"_decay","nameLocation":"39832:6:129","nodeType":"VariableDeclaration","scope":77517,"src":"39824:14:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77500,"name":"uint256","nodeType":"ElementaryTypeName","src":"39824:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"39823:16:129"},"returnParameters":{"id":77507,"nodeType":"ParameterList","parameters":[],"src":"39877:0:129"},"scope":77611,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":77535,"nodeType":"FunctionDefinition","src":"39949:155:129","nodes":[],"body":{"id":77534,"nodeType":"Block","src":"40026:78:129","nodes":[],"statements":[{"expression":{"id":77528,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":77526,"name":"maxRatio","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74988,"src":"40036:8:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":77527,"name":"_maxRatio","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77519,"src":"40047:9:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"40036:20:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":77529,"nodeType":"ExpressionStatement","src":"40036:20:129"},{"eventCall":{"arguments":[{"id":77531,"name":"_maxRatio","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77519,"src":"40087:9:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":77530,"name":"MaxRatioUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74955,"src":"40071:15:129","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":77532,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"40071:26:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":77533,"nodeType":"EmitStatement","src":"40066:31:129"}]},"functionSelector":"11f22ae3","implemented":true,"kind":"function","modifiers":[{"arguments":[{"expression":{"id":77522,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"40014:3:129","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":77523,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"40018:6:129","memberName":"sender","nodeType":"MemberAccess","src":"40014:10:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"id":77524,"kind":"modifierInvocation","modifierName":{"id":77521,"name":"onlyPoolManager","nameLocations":["39998:15:129"],"nodeType":"IdentifierPath","referencedDeclaration":3386,"src":"39998:15:129"},"nodeType":"ModifierInvocation","src":"39998:27:129"}],"name":"setMaxRatio","nameLocation":"39958:11:129","parameters":{"id":77520,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77519,"mutability":"mutable","name":"_maxRatio","nameLocation":"39978:9:129","nodeType":"VariableDeclaration","scope":77535,"src":"39970:17:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77518,"name":"uint256","nodeType":"ElementaryTypeName","src":"39970:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"39969:19:129"},"returnParameters":{"id":77525,"nodeType":"ParameterList","parameters":[],"src":"40026:0:129"},"scope":77611,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":77553,"nodeType":"FunctionDefinition","src":"40110:143:129","nodes":[],"body":{"id":77552,"nodeType":"Block","src":"40183:70:129","nodes":[],"statements":[{"expression":{"id":77546,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":77544,"name":"weight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74990,"src":"40193:6:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":77545,"name":"_weight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77537,"src":"40202:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"40193:16:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":77547,"nodeType":"ExpressionStatement","src":"40193:16:129"},{"eventCall":{"arguments":[{"id":77549,"name":"_weight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77537,"src":"40238:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":77548,"name":"WeightUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74959,"src":"40224:13:129","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":77550,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"40224:22:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":77551,"nodeType":"EmitStatement","src":"40219:27:129"}]},"functionSelector":"fc1711f2","implemented":true,"kind":"function","modifiers":[{"arguments":[{"expression":{"id":77540,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"40171:3:129","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":77541,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"40175:6:129","memberName":"sender","nodeType":"MemberAccess","src":"40171:10:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"id":77542,"kind":"modifierInvocation","modifierName":{"id":77539,"name":"onlyPoolManager","nameLocations":["40155:15:129"],"nodeType":"IdentifierPath","referencedDeclaration":3386,"src":"40155:15:129"},"nodeType":"ModifierInvocation","src":"40155:27:129"}],"name":"setWeight","nameLocation":"40119:9:129","parameters":{"id":77538,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77537,"mutability":"mutable","name":"_weight","nameLocation":"40137:7:129","nodeType":"VariableDeclaration","scope":77553,"src":"40129:15:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77536,"name":"uint256","nodeType":"ElementaryTypeName","src":"40129:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"40128:17:129"},"returnParameters":{"id":77543,"nodeType":"ParameterList","parameters":[],"src":"40183:0:129"},"scope":77611,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":77573,"nodeType":"FunctionDefinition","src":"40259:219:129","nodes":[],"body":{"id":77572,"nodeType":"Block","src":"40354:124:129","nodes":[],"statements":[{"expression":{"id":77566,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":77562,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75014,"src":"40364:17:129","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunity_$83082","typeString":"contract RegistryCommunity"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":77564,"name":"_registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77555,"src":"40402:18:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":77563,"name":"RegistryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83082,"src":"40384:17:129","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_RegistryCommunity_$83082_$","typeString":"type(contract RegistryCommunity)"}},"id":77565,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"40384:37:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunity_$83082","typeString":"contract RegistryCommunity"}},"src":"40364:57:129","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunity_$83082","typeString":"contract RegistryCommunity"}},"id":77567,"nodeType":"ExpressionStatement","src":"40364:57:129"},{"eventCall":{"arguments":[{"id":77569,"name":"_registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77555,"src":"40452:18:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":77568,"name":"RegistryUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74963,"src":"40436:15:129","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":77570,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"40436:35:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":77571,"nodeType":"EmitStatement","src":"40431:40:129"}]},"functionSelector":"058aca44","implemented":true,"kind":"function","modifiers":[{"arguments":[{"expression":{"id":77558,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"40342:3:129","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":77559,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"40346:6:129","memberName":"sender","nodeType":"MemberAccess","src":"40342:10:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"id":77560,"kind":"modifierInvocation","modifierName":{"id":77557,"name":"onlyPoolManager","nameLocations":["40326:15:129"],"nodeType":"IdentifierPath","referencedDeclaration":3386,"src":"40326:15:129"},"nodeType":"ModifierInvocation","src":"40326:27:129"}],"name":"setRegistryCommunity","nameLocation":"40268:20:129","parameters":{"id":77556,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77555,"mutability":"mutable","name":"_registryCommunity","nameLocation":"40297:18:129","nodeType":"VariableDeclaration","scope":77573,"src":"40289:26:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":77554,"name":"address","nodeType":"ElementaryTypeName","src":"40289:7:129","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"40288:28:129"},"returnParameters":{"id":77561,"nodeType":"ParameterList","parameters":[],"src":"40354:0:129"},"scope":77611,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":77592,"nodeType":"FunctionDefinition","src":"40484:237:129","nodes":[],"body":{"id":77591,"nodeType":"Block","src":"40581:140:129","nodes":[],"statements":[{"eventCall":{"arguments":[{"id":77583,"name":"_minThresholdPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75000,"src":"40622:19:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":77584,"name":"minThresholdPoints_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77575,"src":"40643:19:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":77582,"name":"MinThresholdPointsUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74969,"src":"40596:25:129","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":77585,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"40596:67:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":77586,"nodeType":"EmitStatement","src":"40591:72:129"},{"expression":{"id":77589,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":77587,"name":"_minThresholdPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75000,"src":"40673:19:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":77588,"name":"minThresholdPoints_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77575,"src":"40695:19:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"40673:41:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":77590,"nodeType":"ExpressionStatement","src":"40673:41:129"}]},"functionSelector":"2cefadbb","implemented":true,"kind":"function","modifiers":[{"arguments":[{"expression":{"id":77578,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"40569:3:129","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":77579,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"40573:6:129","memberName":"sender","nodeType":"MemberAccess","src":"40569:10:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"id":77580,"kind":"modifierInvocation","modifierName":{"id":77577,"name":"onlyPoolManager","nameLocations":["40553:15:129"],"nodeType":"IdentifierPath","referencedDeclaration":3386,"src":"40553:15:129"},"nodeType":"ModifierInvocation","src":"40553:27:129"}],"name":"setMinThresholdPoints","nameLocation":"40493:21:129","parameters":{"id":77576,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77575,"mutability":"mutable","name":"minThresholdPoints_","nameLocation":"40523:19:129","nodeType":"VariableDeclaration","scope":77592,"src":"40515:27:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77574,"name":"uint256","nodeType":"ElementaryTypeName","src":"40515:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"40514:29:129"},"returnParameters":{"id":77581,"nodeType":"ParameterList","parameters":[],"src":"40581:0:129"},"scope":77611,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":77610,"nodeType":"FunctionDefinition","src":"40727:170:129","nodes":[],"body":{"id":77609,"nodeType":"Block","src":"40798:99:129","nodes":[],"statements":[{"expression":{"arguments":[{"id":77600,"name":"_sybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77594,"src":"40827:12:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":77599,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75256,"src":"40808:18:129","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":77601,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"40808:32:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":77602,"nodeType":"ExpressionStatement","src":"40808:32:129"},{"expression":{"id":77607,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":77603,"name":"sybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75017,"src":"40850:11:129","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$80667","typeString":"contract ISybilScorer"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":77605,"name":"_sybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77594,"src":"40877:12:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":77604,"name":"ISybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80667,"src":"40864:12:129","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ISybilScorer_$80667_$","typeString":"type(contract ISybilScorer)"}},"id":77606,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"40864:26:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$80667","typeString":"contract ISybilScorer"}},"src":"40850:40:129","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$80667","typeString":"contract ISybilScorer"}},"id":77608,"nodeType":"ExpressionStatement","src":"40850:40:129"}]},"functionSelector":"ac1ed7b9","implemented":true,"kind":"function","modifiers":[{"id":77597,"kind":"modifierInvocation","modifierName":{"id":77596,"name":"onlyCouncilSafe","nameLocations":["40782:15:129"],"nodeType":"IdentifierPath","referencedDeclaration":75050,"src":"40782:15:129"},"nodeType":"ModifierInvocation","src":"40782:15:129"}],"name":"setSybilScorer","nameLocation":"40736:14:129","parameters":{"id":77595,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77594,"mutability":"mutable","name":"_sybilScorer","nameLocation":"40759:12:129","nodeType":"VariableDeclaration","scope":77610,"src":"40751:20:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":77593,"name":"address","nodeType":"ElementaryTypeName","src":"40751:7:129","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"40750:22:129"},"returnParameters":{"id":77598,"nodeType":"ParameterList","parameters":[],"src":"40798:0:129"},"scope":77611,"stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[{"baseName":{"id":74808,"name":"BaseStrategy","nameLocations":["2810:12:129"],"nodeType":"IdentifierPath","referencedDeclaration":3923,"src":"2810:12:129"},"id":74809,"nodeType":"InheritanceSpecifier","src":"2810:12:129"},{"baseName":{"id":74810,"name":"IPointStrategy","nameLocations":["2824:14:129"],"nodeType":"IdentifierPath","referencedDeclaration":74722,"src":"2824:14:129"},"id":74811,"nodeType":"InheritanceSpecifier","src":"2824:14:129"},{"baseName":{"id":74812,"name":"ERC165","nameLocations":["2840:6:129"],"nodeType":"IdentifierPath","referencedDeclaration":58266,"src":"2840:6:129"},"id":74813,"nodeType":"InheritanceSpecifier","src":"2840:6:129"}],"canonicalName":"CVStrategy","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[77611,58266,58472,74722,3923,3089,3317,3106,2969],"name":"CVStrategy","nameLocation":"2796:10:129","scope":77612,"usedErrors":[3008,3011,3014,3017,3020,3023,3026,3029,3032,3035,3038,3041,3044,3047,3050,3053,3056,3059,3062,3065,3068,3071,3074,3079,3082,3085,3088,3117,74818,74820,74822,74824,74826,74828,74830,74832,74834,74836,74838,74846,74848,74850,74856,74858,74860,74864,74868,74874,74876,74878,74886,74888,74890]}],"license":"AGPL-3.0-only"},"id":129} \ No newline at end of file diff --git a/pkg/contracts/out/CVStrategy.sol/StrategyStruct.json b/pkg/contracts/out/CVStrategy.sol/StrategyStruct.json index 334d60ed2..010b233ba 100644 --- a/pkg/contracts/out/CVStrategy.sol/StrategyStruct.json +++ b/pkg/contracts/out/CVStrategy.sol/StrategyStruct.json @@ -1,36878 +1 @@ -{ - "abi": [], - "bytecode": { - "object": "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220816fbd49c6dd3f56713f1a31f79ace4abfebd58816ca32f321c1facf9a1485b664736f6c63430008130033", - "sourceMap": "914:1871:129:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;914:1871:129;;;;;;;;;;;;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220816fbd49c6dd3f56713f1a31f79ace4abfebd58816ca32f321c1facf9a1485b664736f6c63430008130033", - "sourceMap": "914:1871:129:-:0;;;;;;;;", - "linkReferences": {} - }, - "methodIdentifiers": {}, - "rawMetadata": "{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"pkg/contracts/src/CVStrategy.sol\":\"StrategyStruct\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1000},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-contracts/=lib/safe-contracts/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"]},\"sources\":{\"lib/allo-v2/contracts/core/interfaces/IAllo.sol\":{\"keccak256\":\"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7\",\"dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1\"]},\"lib/allo-v2/contracts/core/interfaces/IRegistry.sol\":{\"keccak256\":\"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e\",\"dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA\"]},\"lib/allo-v2/contracts/core/interfaces/IStrategy.sol\":{\"keccak256\":\"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487\",\"dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH\"]},\"lib/allo-v2/contracts/core/libraries/Clone.sol\":{\"keccak256\":\"0xc348b24b7d8a98c4faa5f2aa37ce9264a74f81dbdef1a9bae2eaa125585c3c7e\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://1335b3ec59ec7e3d12ea7c90b3aa56f4c26e0d44d342f54412933be9d4f16067\",\"dweb:/ipfs/QmXNFo2wCyq9cpvfgbdHvBUQecThFSEoUnMuZNS6WinDrr\"]},\"lib/allo-v2/contracts/core/libraries/Errors.sol\":{\"keccak256\":\"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf\",\"dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA\"]},\"lib/allo-v2/contracts/core/libraries/Metadata.sol\":{\"keccak256\":\"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c\",\"dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn\"]},\"lib/allo-v2/contracts/core/libraries/Native.sol\":{\"keccak256\":\"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a\",\"dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv\"]},\"lib/allo-v2/contracts/core/libraries/Transfer.sol\":{\"keccak256\":\"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11\",\"dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5\"]},\"lib/allo-v2/contracts/strategies/BaseStrategy.sol\":{\"keccak256\":\"0x3f1382dc6c35d50545e327e7ed6016f2bd752357d446bd698014073f0b812873\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://99500abcd617fa43f6dde49e2c7802821ceaf54a65a8055cbbf2695ecd107974\",\"dweb:/ipfs/QmUktZkWuu3GCMEijY1fqt7NMy7BzpTvEtcmpB1fuoa7zt\"]},\"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol\":{\"keccak256\":\"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298\",\"dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol\":{\"keccak256\":\"0x5a55d1b148a0cb4183f1e09ceaff87bd2d828440f2f5dc01dfe03eb29e7c88ec\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3f9278bdda788763efbe569da77fc24feff36e871779e2da69f74ea5f8bfacf\",\"dweb:/ipfs/QmZF9cH4rfazmwKT55p3tZyzh9QGghNyss81f46d6yVXap\"]},\"lib/openzeppelin-contracts/contracts/access/AccessControl.sol\":{\"keccak256\":\"0x0dd6e52cb394d7f5abe5dca2d4908a6be40417914720932de757de34a99ab87f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://dc117ce50ea746cab6b97ed1a1facee17a715ae0cb95d67b943dacbaf15176fb\",\"dweb:/ipfs/QmYRZ2UGNYwsHwfNu7Wjr8L2j1LBZ1mKv6NvbwgterYMXc\"]},\"lib/openzeppelin-contracts/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0x59ce320a585d7e1f163cd70390a0ef2ff9cec832e2aa544293a00692465a7a57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb2c137c343ef0c4c7ce7b18c1d108afdc9d315a04e48307288d2d05adcbde3a\",\"dweb:/ipfs/QmUxhrAQM3MM3FF5j7AtcXLXguWCJBHJ14BRdVtuoQc8Fh\"]},\"lib/openzeppelin-contracts/contracts/access/Ownable.sol\":{\"keccak256\":\"0xba43b97fba0d32eb4254f6a5a297b39a19a247082a02d6e69349e071e2946218\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fc980984badf3984b6303b377711220e067722bbd6a135b24669ff5069ef9f32\",\"dweb:/ipfs/QmPHXMSXj99XjSVM21YsY6aNtLLjLVXDbyN76J5HQYvvrz\"]},\"lib/openzeppelin-contracts/contracts/security/ReentrancyGuard.sol\":{\"keccak256\":\"0xa535a5df777d44e945dd24aa43a11e44b024140fc340ad0dfe42acf4002aade1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://41319e7f621f2dc3733511332c4fd032f8e32ad2aa7fd6f665c19741d9941a34\",\"dweb:/ipfs/QmcYR3bd862GD1Bc7jwrU9bGxrhUu5na1oP964bDCu2id1\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15\",\"dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5\",\"dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd\",\"dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol\":{\"keccak256\":\"0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a\",\"dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0x909d608c2db6eb165ca178c81289a07ed2e118e444d0025b2a85c97d0b44a4fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://656cda26512ddd7373c2d5551c8fae759fc30f05b10f0fc2e738e9274199dbd4\",\"dweb:/ipfs/QmTSArSzQRFbQmHgq7U1PZXnsDFhvDZhKVu9CzMG4yo6Lx\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"lib/openzeppelin-contracts/contracts/utils/Strings.sol\":{\"keccak256\":\"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f\",\"dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol\":{\"keccak256\":\"0x5a08ad61f4e82b8a3323562661a86fb10b10190848073fdc13d4ac43710ffba5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6f7bb74cf88fd88daa34e118bc6e363381d05044f34f391d39a10c0c9dac3ebd\",\"dweb:/ipfs/QmNbQ3v8v4zuDtg7VeLAbdhAm3tCzUodNoDZZ8ekmCHWZX\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]},\"pkg/contracts/src/CVStrategy.sol\":{\"keccak256\":\"0x132bcf17470960e380d841159d9389985d609aaae1c9a657c78902f7871da957\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://84e905bf392579b44f33fff8586431b940e110b2210854cf487321cc92061705\",\"dweb:/ipfs/QmQpvszYu8RbrXmUFLifSodQzV8LAqazk1fzXNARGc5sBT\"]},\"pkg/contracts/src/ISybilScorer.sol\":{\"keccak256\":\"0x0e25fbb8497ac3c969d80c9032362d45e56c0a45dc9ba3dff6a8a704571f38ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0dff90ebae6e7131a5300fcaf525bc2ab0ae90fcd13f277d7b7b6939eeb8b7eb\",\"dweb:/ipfs/QmYGkYqpUVrBWoNY6f3CtwrrVQFWSvnJfpu68t95f6AkBY\"]},\"pkg/contracts/src/RegistryCommunity.sol\":{\"keccak256\":\"0xc735f4d2635149f2db9bff291da56e08c3c312d9eb1b767b8a1e3e51584d5734\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://247b33b78abface6a7e2da38174386de9b543f6a27e8340e26d854bff57184a3\",\"dweb:/ipfs/QmedNdqkqeboGzz9w868uGf7KnXUaYZe6i1YcdUPPkJnnf\"]},\"pkg/contracts/src/RegistryFactory.sol\":{\"keccak256\":\"0x888b7f5eb1079f90ccfa0b41d8a970bffd8d4d469f9b31917a58279b358dbda5\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://af25fd783de00adf01d1c7caa572801fed0d474306a43b862535b08e65ec10c6\",\"dweb:/ipfs/Qmeb2nEaMQLV86y1CYAAV2c6BYpBDTbpLuC1SigeNjdqLo\"]},\"pkg/contracts/src/interfaces/ISafe.sol\":{\"keccak256\":\"0x878a210809bb684c42157a10f3f90350a67d0a4863f130499942b06f0f2c9143\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://fa2d71bd427c3415e98a2ee15ff673f3cc61c17f14d7087c5eedc83b55f6b0ef\",\"dweb:/ipfs/QmesVSmJQQzi6ys1cvhQFCJyDXchb736mT5bXks4Yp6Cbj\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.8.19+commit.7dd6d404" - }, - "language": "Solidity", - "output": { - "abi": [], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - "@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/", - "@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/", - "@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/", - "@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/", - "@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/", - "@sablier/v2-core/=lib/allo-v2/lib/v2-core/", - "ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/", - "allo-v2-contracts/=lib/allo-v2/contracts/", - "allo-v2-test/=lib/allo-v2/test/", - "allo-v2/=lib/allo-v2/", - "ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/", - "eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/", - "erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/", - "forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/", - "forge-std/=lib/forge-std/src/", - "hats-protocol/=lib/allo-v2/lib/hats-protocol/", - "openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/", - "openzeppelin-contracts/=lib/openzeppelin-contracts/", - "openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/", - "openzeppelin/=lib/openzeppelin-contracts/contracts/", - "permit2/=lib/allo-v2/lib/permit2/", - "prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/", - "prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/", - "safe-contracts/=lib/safe-contracts/", - "solady/=lib/allo-v2/lib/solady/", - "solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/", - "solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/", - "solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/", - "solmate/=lib/allo-v2/lib/permit2/lib/solmate/", - "utils/=lib/allo-v2/lib/hats-protocol/lib/utils/", - "v2-core/=lib/allo-v2/lib/v2-core/" - ], - "optimizer": { - "enabled": true, - "runs": 1000 - }, - "metadata": { - "bytecodeHash": "ipfs" - }, - "compilationTarget": { - "pkg/contracts/src/CVStrategy.sol": "StrategyStruct" - }, - "evmVersion": "paris", - "libraries": {} - }, - "sources": { - "lib/allo-v2/contracts/core/interfaces/IAllo.sol": { - "keccak256": "0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce", - "urls": [ - "bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7", - "dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1" - ], - "license": "AGPL-3.0-only" - }, - "lib/allo-v2/contracts/core/interfaces/IRegistry.sol": { - "keccak256": "0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f", - "urls": [ - "bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e", - "dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA" - ], - "license": "MIT" - }, - "lib/allo-v2/contracts/core/interfaces/IStrategy.sol": { - "keccak256": "0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23", - "urls": [ - "bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487", - "dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH" - ], - "license": "AGPL-3.0-only" - }, - "lib/allo-v2/contracts/core/libraries/Clone.sol": { - "keccak256": "0xc348b24b7d8a98c4faa5f2aa37ce9264a74f81dbdef1a9bae2eaa125585c3c7e", - "urls": [ - "bzz-raw://1335b3ec59ec7e3d12ea7c90b3aa56f4c26e0d44d342f54412933be9d4f16067", - "dweb:/ipfs/QmXNFo2wCyq9cpvfgbdHvBUQecThFSEoUnMuZNS6WinDrr" - ], - "license": "AGPL-3.0-only" - }, - "lib/allo-v2/contracts/core/libraries/Errors.sol": { - "keccak256": "0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15", - "urls": [ - "bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf", - "dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA" - ], - "license": "AGPL-3.0-only" - }, - "lib/allo-v2/contracts/core/libraries/Metadata.sol": { - "keccak256": "0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44", - "urls": [ - "bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c", - "dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn" - ], - "license": "AGPL-3.0-only" - }, - "lib/allo-v2/contracts/core/libraries/Native.sol": { - "keccak256": "0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5", - "urls": [ - "bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a", - "dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv" - ], - "license": "AGPL-3.0-only" - }, - "lib/allo-v2/contracts/core/libraries/Transfer.sol": { - "keccak256": "0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286", - "urls": [ - "bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11", - "dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5" - ], - "license": "AGPL-3.0-only" - }, - "lib/allo-v2/contracts/strategies/BaseStrategy.sol": { - "keccak256": "0x3f1382dc6c35d50545e327e7ed6016f2bd752357d446bd698014073f0b812873", - "urls": [ - "bzz-raw://99500abcd617fa43f6dde49e2c7802821ceaf54a65a8055cbbf2695ecd107974", - "dweb:/ipfs/QmUktZkWuu3GCMEijY1fqt7NMy7BzpTvEtcmpB1fuoa7zt" - ], - "license": "AGPL-3.0-only" - }, - "lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol": { - "keccak256": "0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624", - "urls": [ - "bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298", - "dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt" - ], - "license": "MIT" - }, - "lib/forge-std/src/console.sol": { - "keccak256": "0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba", - "urls": [ - "bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70", - "dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol": { - "keccak256": "0x5a55d1b148a0cb4183f1e09ceaff87bd2d828440f2f5dc01dfe03eb29e7c88ec", - "urls": [ - "bzz-raw://b3f9278bdda788763efbe569da77fc24feff36e871779e2da69f74ea5f8bfacf", - "dweb:/ipfs/QmZF9cH4rfazmwKT55p3tZyzh9QGghNyss81f46d6yVXap" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/access/AccessControl.sol": { - "keccak256": "0x0dd6e52cb394d7f5abe5dca2d4908a6be40417914720932de757de34a99ab87f", - "urls": [ - "bzz-raw://dc117ce50ea746cab6b97ed1a1facee17a715ae0cb95d67b943dacbaf15176fb", - "dweb:/ipfs/QmYRZ2UGNYwsHwfNu7Wjr8L2j1LBZ1mKv6NvbwgterYMXc" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/access/IAccessControl.sol": { - "keccak256": "0x59ce320a585d7e1f163cd70390a0ef2ff9cec832e2aa544293a00692465a7a57", - "urls": [ - "bzz-raw://bb2c137c343ef0c4c7ce7b18c1d108afdc9d315a04e48307288d2d05adcbde3a", - "dweb:/ipfs/QmUxhrAQM3MM3FF5j7AtcXLXguWCJBHJ14BRdVtuoQc8Fh" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/access/Ownable.sol": { - "keccak256": "0xba43b97fba0d32eb4254f6a5a297b39a19a247082a02d6e69349e071e2946218", - "urls": [ - "bzz-raw://fc980984badf3984b6303b377711220e067722bbd6a135b24669ff5069ef9f32", - "dweb:/ipfs/QmPHXMSXj99XjSVM21YsY6aNtLLjLVXDbyN76J5HQYvvrz" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/security/ReentrancyGuard.sol": { - "keccak256": "0xa535a5df777d44e945dd24aa43a11e44b024140fc340ad0dfe42acf4002aade1", - "urls": [ - "bzz-raw://41319e7f621f2dc3733511332c4fd032f8e32ad2aa7fd6f665c19741d9941a34", - "dweb:/ipfs/QmcYR3bd862GD1Bc7jwrU9bGxrhUu5na1oP964bDCu2id1" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol": { - "keccak256": "0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c", - "urls": [ - "bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15", - "dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol": { - "keccak256": "0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305", - "urls": [ - "bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5", - "dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol": { - "keccak256": "0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca", - "urls": [ - "bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd", - "dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol": { - "keccak256": "0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a", - "urls": [ - "bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a", - "dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol": { - "keccak256": "0x909d608c2db6eb165ca178c81289a07ed2e118e444d0025b2a85c97d0b44a4fa", - "urls": [ - "bzz-raw://656cda26512ddd7373c2d5551c8fae759fc30f05b10f0fc2e738e9274199dbd4", - "dweb:/ipfs/QmTSArSzQRFbQmHgq7U1PZXnsDFhvDZhKVu9CzMG4yo6Lx" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/utils/Address.sol": { - "keccak256": "0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa", - "urls": [ - "bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931", - "dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/utils/Context.sol": { - "keccak256": "0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7", - "urls": [ - "bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92", - "dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/utils/Strings.sol": { - "keccak256": "0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0", - "urls": [ - "bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f", - "dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol": { - "keccak256": "0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b", - "urls": [ - "bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d", - "dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol": { - "keccak256": "0x5a08ad61f4e82b8a3323562661a86fb10b10190848073fdc13d4ac43710ffba5", - "urls": [ - "bzz-raw://6f7bb74cf88fd88daa34e118bc6e363381d05044f34f391d39a10c0c9dac3ebd", - "dweb:/ipfs/QmNbQ3v8v4zuDtg7VeLAbdhAm3tCzUodNoDZZ8ekmCHWZX" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol": { - "keccak256": "0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1", - "urls": [ - "bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f", - "dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/utils/math/Math.sol": { - "keccak256": "0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3", - "urls": [ - "bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c", - "dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol": { - "keccak256": "0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc", - "urls": [ - "bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7", - "dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6" - ], - "license": "MIT" - }, - "pkg/contracts/src/CVStrategy.sol": { - "keccak256": "0x132bcf17470960e380d841159d9389985d609aaae1c9a657c78902f7871da957", - "urls": [ - "bzz-raw://84e905bf392579b44f33fff8586431b940e110b2210854cf487321cc92061705", - "dweb:/ipfs/QmQpvszYu8RbrXmUFLifSodQzV8LAqazk1fzXNARGc5sBT" - ], - "license": "AGPL-3.0-only" - }, - "pkg/contracts/src/ISybilScorer.sol": { - "keccak256": "0x0e25fbb8497ac3c969d80c9032362d45e56c0a45dc9ba3dff6a8a704571f38ea", - "urls": [ - "bzz-raw://0dff90ebae6e7131a5300fcaf525bc2ab0ae90fcd13f277d7b7b6939eeb8b7eb", - "dweb:/ipfs/QmYGkYqpUVrBWoNY6f3CtwrrVQFWSvnJfpu68t95f6AkBY" - ], - "license": "MIT" - }, - "pkg/contracts/src/RegistryCommunity.sol": { - "keccak256": "0xc735f4d2635149f2db9bff291da56e08c3c312d9eb1b767b8a1e3e51584d5734", - "urls": [ - "bzz-raw://247b33b78abface6a7e2da38174386de9b543f6a27e8340e26d854bff57184a3", - "dweb:/ipfs/QmedNdqkqeboGzz9w868uGf7KnXUaYZe6i1YcdUPPkJnnf" - ], - "license": "AGPL-3.0-only" - }, - "pkg/contracts/src/RegistryFactory.sol": { - "keccak256": "0x888b7f5eb1079f90ccfa0b41d8a970bffd8d4d469f9b31917a58279b358dbda5", - "urls": [ - "bzz-raw://af25fd783de00adf01d1c7caa572801fed0d474306a43b862535b08e65ec10c6", - "dweb:/ipfs/Qmeb2nEaMQLV86y1CYAAV2c6BYpBDTbpLuC1SigeNjdqLo" - ], - "license": "AGPL-3.0-only" - }, - "pkg/contracts/src/interfaces/ISafe.sol": { - "keccak256": "0x878a210809bb684c42157a10f3f90350a67d0a4863f130499942b06f0f2c9143", - "urls": [ - "bzz-raw://fa2d71bd427c3415e98a2ee15ff673f3cc61c17f14d7087c5eedc83b55f6b0ef", - "dweb:/ipfs/QmesVSmJQQzi6ys1cvhQFCJyDXchb736mT5bXks4Yp6Cbj" - ], - "license": "LGPL-3.0-only" - } - }, - "version": 1 - }, - "storageLayout": { - "storage": [], - "types": {} - }, - "ast": { - "absolutePath": "pkg/contracts/src/CVStrategy.sol", - "id": 77612, - "exportedSymbols": { - "BaseStrategy": [ - 3923 - ], - "CVStrategy": [ - 77611 - ], - "ERC165": [ - 58266 - ], - "ERC20": [ - 56991 - ], - "IAllo": [ - 2610 - ], - "IERC165": [ - 58472 - ], - "IPointStrategy": [ - 74722 - ], - "ISybilScorer": [ - 80667 - ], - "Math": [ - 59338 - ], - "Metadata": [ - 3098 - ], - "PassportData": [ - 80585 - ], - "RegistryCommunity": [ - 83082 - ], - "StrategyStruct": [ - 74807 - ], - "console": [ - 29549 - ] - }, - "nodeType": "SourceUnit", - "src": "42:40858:129", - "nodes": [ - { - "id": 74674, - "nodeType": "PragmaDirective", - "src": "42:24:129", - "nodes": [], - "literals": [ - "solidity", - "^", - "0.8", - ".19" - ] - }, - { - "id": 74677, - "nodeType": "ImportDirective", - "src": "68:82:129", - "nodes": [], - "absolutePath": "lib/allo-v2/contracts/strategies/BaseStrategy.sol", - "file": "allo-v2-contracts/strategies/BaseStrategy.sol", - "nameLocation": "-1:-1:-1", - "scope": 77612, - "sourceUnit": 3924, - "symbolAliases": [ - { - "foreign": { - "id": 74675, - "name": "BaseStrategy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3923, - "src": "76:12:129", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - }, - { - "foreign": { - "id": 74676, - "name": "IAllo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2610, - "src": "90:5:129", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - } - ], - "unitAlias": "" - }, - { - "id": 74680, - "nodeType": "ImportDirective", - "src": "152:68:129", - "nodes": [], - "absolutePath": "pkg/contracts/src/RegistryCommunity.sol", - "file": "./RegistryCommunity.sol", - "nameLocation": "-1:-1:-1", - "scope": 77612, - "sourceUnit": 83083, - "symbolAliases": [ - { - "foreign": { - "id": 74678, - "name": "RegistryCommunity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 83082, - "src": "160:17:129", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - }, - { - "foreign": { - "id": 74679, - "name": "Metadata", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3098, - "src": "179:8:129", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - } - ], - "unitAlias": "" - }, - { - "id": 74683, - "nodeType": "ImportDirective", - "src": "221:87:129", - "nodes": [], - "absolutePath": "lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol", - "file": "@openzeppelin/contracts/utils/introspection/ERC165.sol", - "nameLocation": "-1:-1:-1", - "scope": 77612, - "sourceUnit": 58267, - "symbolAliases": [ - { - "foreign": { - "id": 74681, - "name": "ERC165", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 58266, - "src": "229:6:129", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - }, - { - "foreign": { - "id": 74682, - "name": "IERC165", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 58472, - "src": "237:7:129", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - } - ], - "unitAlias": "" - }, - { - "id": 74685, - "nodeType": "ImportDirective", - "src": "309:68:129", - "nodes": [], - "absolutePath": "lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol", - "file": "@openzeppelin/contracts/token/ERC20/ERC20.sol", - "nameLocation": "-1:-1:-1", - "scope": 77612, - "sourceUnit": 56992, - "symbolAliases": [ - { - "foreign": { - "id": 74684, - "name": "ERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 56991, - "src": "317:5:129", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - } - ], - "unitAlias": "" - }, - { - "id": 74687, - "nodeType": "ImportDirective", - "src": "379:46:129", - "nodes": [], - "absolutePath": "lib/forge-std/src/console.sol", - "file": "forge-std/console.sol", - "nameLocation": "-1:-1:-1", - "scope": 77612, - "sourceUnit": 29550, - "symbolAliases": [ - { - "foreign": { - "id": 74686, - "name": "console", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29549, - "src": "387:7:129", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - } - ], - "unitAlias": "" - }, - { - "id": 74689, - "nodeType": "ImportDirective", - "src": "427:65:129", - "nodes": [], - "absolutePath": "lib/openzeppelin-contracts/contracts/utils/math/Math.sol", - "file": "@openzeppelin/contracts/utils/math/Math.sol", - "nameLocation": "-1:-1:-1", - "scope": 77612, - "sourceUnit": 59339, - "symbolAliases": [ - { - "foreign": { - "id": 74688, - "name": "Math", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 59338, - "src": "435:4:129", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - } - ], - "unitAlias": "" - }, - { - "id": 74692, - "nodeType": "ImportDirective", - "src": "493:62:129", - "nodes": [], - "absolutePath": "pkg/contracts/src/ISybilScorer.sol", - "file": "./ISybilScorer.sol", - "nameLocation": "-1:-1:-1", - "scope": 77612, - "sourceUnit": 80668, - "symbolAliases": [ - { - "foreign": { - "id": 74690, - "name": "ISybilScorer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 80667, - "src": "501:12:129", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - }, - { - "foreign": { - "id": 74691, - "name": "PassportData", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 80585, - "src": "515:12:129", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - } - ], - "unitAlias": "" - }, - { - "id": 74722, - "nodeType": "ContractDefinition", - "src": "557:355:129", - "nodes": [ - { - "id": 74697, - "nodeType": "FunctionDefinition", - "src": "588:52:129", - "nodes": [], - "functionSelector": "6453d9c4", - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "deactivatePoints", - "nameLocation": "597:16:129", - "parameters": { - "id": 74695, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 74694, - "mutability": "mutable", - "name": "_member", - "nameLocation": "622:7:129", - "nodeType": "VariableDeclaration", - "scope": 74697, - "src": "614:15:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 74693, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "614:7:129", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "613:17:129" - }, - "returnParameters": { - "id": 74696, - "nodeType": "ParameterList", - "parameters": [], - "src": "639:0:129" - }, - "scope": 74722, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "id": 74706, - "nodeType": "FunctionDefinition", - "src": "645:91:129", - "nodes": [], - "functionSelector": "782aadff", - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "increasePower", - "nameLocation": "654:13:129", - "parameters": { - "id": 74702, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 74699, - "mutability": "mutable", - "name": "_member", - "nameLocation": "676:7:129", - "nodeType": "VariableDeclaration", - "scope": 74706, - "src": "668:15:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 74698, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "668:7:129", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 74701, - "mutability": "mutable", - "name": "_amountToStake", - "nameLocation": "693:14:129", - "nodeType": "VariableDeclaration", - "scope": 74706, - "src": "685:22:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74700, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "685:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "667:41:129" - }, - "returnParameters": { - "id": 74705, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 74704, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 74706, - "src": "727:7:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74703, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "727:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "726:9:129" - }, - "scope": 74722, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "id": 74715, - "nodeType": "FunctionDefinition", - "src": "741:92:129", - "nodes": [], - "functionSelector": "2ed04b2b", - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "decreasePower", - "nameLocation": "750:13:129", - "parameters": { - "id": 74711, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 74708, - "mutability": "mutable", - "name": "_member", - "nameLocation": "772:7:129", - "nodeType": "VariableDeclaration", - "scope": 74715, - "src": "764:15:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 74707, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "764:7:129", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 74710, - "mutability": "mutable", - "name": "_amountToUntake", - "nameLocation": "789:15:129", - "nodeType": "VariableDeclaration", - "scope": 74715, - "src": "781:23:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74709, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "781:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "763:42:129" - }, - "returnParameters": { - "id": 74714, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 74713, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 74715, - "src": "824:7:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74712, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "824:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "823:9:129" - }, - "scope": 74722, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "id": 74721, - "nodeType": "FunctionDefinition", - "src": "838:72:129", - "nodes": [], - "functionSelector": "c3292171", - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "getPointSystem", - "nameLocation": "847:14:129", - "parameters": { - "id": 74716, - "nodeType": "ParameterList", - "parameters": [], - "src": "861:2:129" - }, - "returnParameters": { - "id": 74720, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 74719, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 74721, - "src": "882:26:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_enum$_PointSystem_$74731", - "typeString": "enum StrategyStruct.PointSystem" - }, - "typeName": { - "id": 74718, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 74717, - "name": "StrategyStruct.PointSystem", - "nameLocations": [ - "882:14:129", - "897:11:129" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 74731, - "src": "882:26:129" - }, - "referencedDeclaration": 74731, - "src": "882:26:129", - "typeDescriptions": { - "typeIdentifier": "t_enum$_PointSystem_$74731", - "typeString": "enum StrategyStruct.PointSystem" - } - }, - "visibility": "internal" - } - ], - "src": "881:28:129" - }, - "scope": 74722, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "abstract": false, - "baseContracts": [], - "canonicalName": "IPointStrategy", - "contractDependencies": [], - "contractKind": "interface", - "fullyImplemented": false, - "linearizedBaseContracts": [ - 74722 - ], - "name": "IPointStrategy", - "nameLocation": "567:14:129", - "scope": 77612, - "usedErrors": [] - }, - { - "id": 74807, - "nodeType": "ContractDefinition", - "src": "914:1871:129", - "nodes": [ - { - "id": 74726, - "nodeType": "EnumDefinition", - "src": "943:79:129", - "nodes": [], - "canonicalName": "StrategyStruct.ProposalType", - "members": [ - { - "id": 74723, - "name": "Signaling", - "nameLocation": "971:9:129", - "nodeType": "EnumValue", - "src": "971:9:129" - }, - { - "id": 74724, - "name": "Funding", - "nameLocation": "990:7:129", - "nodeType": "EnumValue", - "src": "990:7:129" - }, - { - "id": 74725, - "name": "Streaming", - "nameLocation": "1007:9:129", - "nodeType": "EnumValue", - "src": "1007:9:129" - } - ], - "name": "ProposalType", - "nameLocation": "948:12:129" - }, - { - "id": 74731, - "nodeType": "EnumDefinition", - "src": "1028:92:129", - "nodes": [], - "canonicalName": "StrategyStruct.PointSystem", - "members": [ - { - "id": 74727, - "name": "Fixed", - "nameLocation": "1055:5:129", - "nodeType": "EnumValue", - "src": "1055:5:129" - }, - { - "id": 74728, - "name": "Capped", - "nameLocation": "1070:6:129", - "nodeType": "EnumValue", - "src": "1070:6:129" - }, - { - "id": 74729, - "name": "Unlimited", - "nameLocation": "1086:9:129", - "nodeType": "EnumValue", - "src": "1086:9:129" - }, - { - "id": 74730, - "name": "Quadratic", - "nameLocation": "1105:9:129", - "nodeType": "EnumValue", - "src": "1105:9:129" - } - ], - "name": "PointSystem", - "nameLocation": "1033:11:129" - }, - { - "id": 74743, - "nodeType": "StructDefinition", - "src": "1126:243:129", - "nodes": [], - "canonicalName": "StrategyStruct.CreateProposal", - "members": [ - { - "constant": false, - "id": 74733, - "mutability": "mutable", - "name": "poolId", - "nameLocation": "1197:6:129", - "nodeType": "VariableDeclaration", - "scope": 74743, - "src": "1189:14:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74732, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1189:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 74735, - "mutability": "mutable", - "name": "beneficiary", - "nameLocation": "1221:11:129", - "nodeType": "VariableDeclaration", - "scope": 74743, - "src": "1213:19:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 74734, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1213:7:129", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 74737, - "mutability": "mutable", - "name": "amountRequested", - "nameLocation": "1288:15:129", - "nodeType": "VariableDeclaration", - "scope": 74743, - "src": "1280:23:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74736, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1280:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 74739, - "mutability": "mutable", - "name": "requestedToken", - "nameLocation": "1321:14:129", - "nodeType": "VariableDeclaration", - "scope": 74743, - "src": "1313:22:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 74738, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1313:7:129", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 74742, - "mutability": "mutable", - "name": "metadata", - "nameLocation": "1354:8:129", - "nodeType": "VariableDeclaration", - "scope": 74743, - "src": "1345:17:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Metadata_$3098_storage_ptr", - "typeString": "struct Metadata" - }, - "typeName": { - "id": 74741, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 74740, - "name": "Metadata", - "nameLocations": [ - "1345:8:129" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 3098, - "src": "1345:8:129" - }, - "referencedDeclaration": 3098, - "src": "1345:8:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Metadata_$3098_storage_ptr", - "typeString": "struct Metadata" - } - }, - "visibility": "internal" - } - ], - "name": "CreateProposal", - "nameLocation": "1133:14:129", - "scope": 74807, - "visibility": "public" - }, - { - "id": 74749, - "nodeType": "EnumDefinition", - "src": "1375:289:129", - "nodes": [], - "canonicalName": "StrategyStruct.ProposalStatus", - "members": [ - { - "id": 74744, - "name": "Inactive", - "nameLocation": "1405:8:129", - "nodeType": "EnumValue", - "src": "1405:8:129" - }, - { - "id": 74745, - "name": "Active", - "nameLocation": "1435:6:129", - "nodeType": "EnumValue", - "src": "1435:6:129" - }, - { - "id": 74746, - "name": "Paused", - "nameLocation": "1498:6:129", - "nodeType": "EnumValue", - "src": "1498:6:129" - }, - { - "id": 74747, - "name": "Cancelled", - "nameLocation": "1563:9:129", - "nodeType": "EnumValue", - "src": "1563:9:129" - }, - { - "id": 74748, - "name": "Executed", - "nameLocation": "1616:8:129", - "nodeType": "EnumValue", - "src": "1616:8:129" - } - ], - "name": "ProposalStatus", - "nameLocation": "1380:14:129" - }, - { - "id": 74776, - "nodeType": "StructDefinition", - "src": "1670:405:129", - "nodes": [], - "canonicalName": "StrategyStruct.Proposal", - "members": [ - { - "constant": false, - "id": 74751, - "mutability": "mutable", - "name": "proposalId", - "nameLocation": "1704:10:129", - "nodeType": "VariableDeclaration", - "scope": 74776, - "src": "1696:18:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74750, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1696:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 74753, - "mutability": "mutable", - "name": "requestedAmount", - "nameLocation": "1732:15:129", - "nodeType": "VariableDeclaration", - "scope": 74776, - "src": "1724:23:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74752, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1724:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 74755, - "mutability": "mutable", - "name": "stakedAmount", - "nameLocation": "1765:12:129", - "nodeType": "VariableDeclaration", - "scope": 74776, - "src": "1757:20:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74754, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1757:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 74757, - "mutability": "mutable", - "name": "convictionLast", - "nameLocation": "1795:14:129", - "nodeType": "VariableDeclaration", - "scope": 74776, - "src": "1787:22:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74756, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1787:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 74759, - "mutability": "mutable", - "name": "beneficiary", - "nameLocation": "1827:11:129", - "nodeType": "VariableDeclaration", - "scope": 74776, - "src": "1819:19:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 74758, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1819:7:129", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 74761, - "mutability": "mutable", - "name": "submitter", - "nameLocation": "1856:9:129", - "nodeType": "VariableDeclaration", - "scope": 74776, - "src": "1848:17:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 74760, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1848:7:129", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 74763, - "mutability": "mutable", - "name": "requestedToken", - "nameLocation": "1883:14:129", - "nodeType": "VariableDeclaration", - "scope": 74776, - "src": "1875:22:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 74762, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1875:7:129", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 74765, - "mutability": "mutable", - "name": "blockLast", - "nameLocation": "1915:9:129", - "nodeType": "VariableDeclaration", - "scope": 74776, - "src": "1907:17:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74764, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1907:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 74768, - "mutability": "mutable", - "name": "proposalStatus", - "nameLocation": "1949:14:129", - "nodeType": "VariableDeclaration", - "scope": 74776, - "src": "1934:29:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_enum$_ProposalStatus_$74749", - "typeString": "enum StrategyStruct.ProposalStatus" - }, - "typeName": { - "id": 74767, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 74766, - "name": "ProposalStatus", - "nameLocations": [ - "1934:14:129" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 74749, - "src": "1934:14:129" - }, - "referencedDeclaration": 74749, - "src": "1934:14:129", - "typeDescriptions": { - "typeIdentifier": "t_enum$_ProposalStatus_$74749", - "typeString": "enum StrategyStruct.ProposalStatus" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 74772, - "mutability": "mutable", - "name": "voterStakedPoints", - "nameLocation": "2001:17:129", - "nodeType": "VariableDeclaration", - "scope": 74776, - "src": "1973:45:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "typeName": { - "id": 74771, - "keyName": "", - "keyNameLocation": "-1:-1:-1", - "keyType": { - "id": 74769, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1981:7:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "1973:27:129", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueName": "", - "valueNameLocation": "-1:-1:-1", - "valueType": { - "id": 74770, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1992:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 74775, - "mutability": "mutable", - "name": "metadata", - "nameLocation": "2060:8:129", - "nodeType": "VariableDeclaration", - "scope": 74776, - "src": "2051:17:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Metadata_$3098_storage_ptr", - "typeString": "struct Metadata" - }, - "typeName": { - "id": 74774, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 74773, - "name": "Metadata", - "nameLocations": [ - "2051:8:129" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 3098, - "src": "2051:8:129" - }, - "referencedDeclaration": 3098, - "src": "2051:8:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Metadata_$3098_storage_ptr", - "typeString": "struct Metadata" - } - }, - "visibility": "internal" - } - ], - "name": "Proposal", - "nameLocation": "1677:8:129", - "scope": 74807, - "visibility": "public" - }, - { - "id": 74781, - "nodeType": "StructDefinition", - "src": "2081:126:129", - "nodes": [], - "canonicalName": "StrategyStruct.ProposalSupport", - "members": [ - { - "constant": false, - "id": 74778, - "mutability": "mutable", - "name": "proposalId", - "nameLocation": "2122:10:129", - "nodeType": "VariableDeclaration", - "scope": 74781, - "src": "2114:18:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74777, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2114:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 74780, - "mutability": "mutable", - "name": "deltaSupport", - "nameLocation": "2149:12:129", - "nodeType": "VariableDeclaration", - "scope": 74781, - "src": "2142:19:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - }, - "typeName": { - "id": 74779, - "name": "int256", - "nodeType": "ElementaryTypeName", - "src": "2142:6:129", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - }, - "visibility": "internal" - } - ], - "name": "ProposalSupport", - "nameLocation": "2088:15:129", - "scope": 74807, - "visibility": "public" - }, - { - "id": 74784, - "nodeType": "StructDefinition", - "src": "2213:89:129", - "nodes": [], - "canonicalName": "StrategyStruct.PointSystemConfig", - "members": [ - { - "constant": false, - "id": 74783, - "mutability": "mutable", - "name": "maxAmount", - "nameLocation": "2286:9:129", - "nodeType": "VariableDeclaration", - "scope": 74784, - "src": "2278:17:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74782, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2278:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "name": "PointSystemConfig", - "nameLocation": "2220:17:129", - "scope": 74807, - "visibility": "public" - }, - { - "id": 74806, - "nodeType": "StructDefinition", - "src": "2308:475:129", - "nodes": [], - "canonicalName": "StrategyStruct.InitializeParams", - "members": [ - { - "constant": false, - "id": 74786, - "mutability": "mutable", - "name": "registryCommunity", - "nameLocation": "2350:17:129", - "nodeType": "VariableDeclaration", - "scope": 74806, - "src": "2342:25:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 74785, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2342:7:129", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 74788, - "mutability": "mutable", - "name": "decay", - "nameLocation": "2414:5:129", - "nodeType": "VariableDeclaration", - "scope": 74806, - "src": "2406:13:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74787, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2406:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 74790, - "mutability": "mutable", - "name": "maxRatio", - "nameLocation": "2484:8:129", - "nodeType": "VariableDeclaration", - "scope": 74806, - "src": "2476:16:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74789, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2476:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 74792, - "mutability": "mutable", - "name": "weight", - "nameLocation": "2538:6:129", - "nodeType": "VariableDeclaration", - "scope": 74806, - "src": "2530:14:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74791, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2530:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 74794, - "mutability": "mutable", - "name": "minThresholdPoints", - "nameLocation": "2562:18:129", - "nodeType": "VariableDeclaration", - "scope": 74806, - "src": "2554:26:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74793, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2554:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 74797, - "mutability": "mutable", - "name": "proposalType", - "nameLocation": "2628:12:129", - "nodeType": "VariableDeclaration", - "scope": 74806, - "src": "2615:25:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_enum$_ProposalType_$74726", - "typeString": "enum StrategyStruct.ProposalType" - }, - "typeName": { - "id": 74796, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 74795, - "name": "ProposalType", - "nameLocations": [ - "2615:12:129" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 74726, - "src": "2615:12:129" - }, - "referencedDeclaration": 74726, - "src": "2615:12:129", - "typeDescriptions": { - "typeIdentifier": "t_enum$_ProposalType_$74726", - "typeString": "enum StrategyStruct.ProposalType" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 74800, - "mutability": "mutable", - "name": "pointSystem", - "nameLocation": "2697:11:129", - "nodeType": "VariableDeclaration", - "scope": 74806, - "src": "2685:23:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_enum$_PointSystem_$74731", - "typeString": "enum StrategyStruct.PointSystem" - }, - "typeName": { - "id": 74799, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 74798, - "name": "PointSystem", - "nameLocations": [ - "2685:11:129" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 74731, - "src": "2685:11:129" - }, - "referencedDeclaration": 74731, - "src": "2685:11:129", - "typeDescriptions": { - "typeIdentifier": "t_enum$_PointSystem_$74731", - "typeString": "enum StrategyStruct.PointSystem" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 74803, - "mutability": "mutable", - "name": "pointConfig", - "nameLocation": "2736:11:129", - "nodeType": "VariableDeclaration", - "scope": 74806, - "src": "2718:29:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PointSystemConfig_$74784_storage_ptr", - "typeString": "struct StrategyStruct.PointSystemConfig" - }, - "typeName": { - "id": 74802, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 74801, - "name": "PointSystemConfig", - "nameLocations": [ - "2718:17:129" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 74784, - "src": "2718:17:129" - }, - "referencedDeclaration": 74784, - "src": "2718:17:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PointSystemConfig_$74784_storage_ptr", - "typeString": "struct StrategyStruct.PointSystemConfig" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 74805, - "mutability": "mutable", - "name": "sybilScorer", - "nameLocation": "2765:11:129", - "nodeType": "VariableDeclaration", - "scope": 74806, - "src": "2757:19:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 74804, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2757:7:129", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "name": "InitializeParams", - "nameLocation": "2315:16:129", - "scope": 74807, - "visibility": "public" - } - ], - "abstract": false, - "baseContracts": [], - "canonicalName": "StrategyStruct", - "contractDependencies": [], - "contractKind": "library", - "fullyImplemented": true, - "linearizedBaseContracts": [ - 74807 - ], - "name": "StrategyStruct", - "nameLocation": "922:14:129", - "scope": 77612, - "usedErrors": [] - }, - { - "id": 77611, - "nodeType": "ContractDefinition", - "src": "2787:38112:129", - "nodes": [ - { - "id": 74816, - "nodeType": "UsingForDirective", - "src": "2853:23:129", - "nodes": [], - "global": false, - "libraryName": { - "id": 74814, - "name": "Math", - "nameLocations": [ - "2859:4:129" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 59338, - "src": "2859:4:129" - }, - "typeName": { - "id": 74815, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2868:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "id": 74818, - "nodeType": "ErrorDefinition", - "src": "3047:25:129", - "nodes": [], - "errorSelector": "d1f28288", - "name": "UserCannotBeZero", - "nameLocation": "3053:16:129", - "parameters": { - "id": 74817, - "nodeType": "ParameterList", - "parameters": [], - "src": "3069:2:129" - } - }, - { - "id": 74820, - "nodeType": "ErrorDefinition", - "src": "3091:26:129", - "nodes": [], - "errorSelector": "6a5cfb6d", - "name": "UserNotInRegistry", - "nameLocation": "3097:17:129", - "parameters": { - "id": 74819, - "nodeType": "ParameterList", - "parameters": [], - "src": "3114:2:129" - } - }, - { - "id": 74822, - "nodeType": "ErrorDefinition", - "src": "3135:23:129", - "nodes": [], - "errorSelector": "5fccb67f", - "name": "UserIsInactive", - "nameLocation": "3141:14:129", - "parameters": { - "id": 74821, - "nodeType": "ParameterList", - "parameters": [], - "src": "3155:2:129" - } - }, - { - "id": 74824, - "nodeType": "ErrorDefinition", - "src": "3177:20:129", - "nodes": [], - "errorSelector": "ed4421ad", - "name": "PoolIsEmpty", - "nameLocation": "3183:11:129", - "parameters": { - "id": 74823, - "nodeType": "ParameterList", - "parameters": [], - "src": "3194:2:129" - } - }, - { - "id": 74826, - "nodeType": "ErrorDefinition", - "src": "3216:23:129", - "nodes": [], - "errorSelector": "d6234725", - "name": "NotImplemented", - "nameLocation": "3222:14:129", - "parameters": { - "id": 74825, - "nodeType": "ParameterList", - "parameters": [], - "src": "3236:2:129" - } - }, - { - "id": 74828, - "nodeType": "ErrorDefinition", - "src": "3257:26:129", - "nodes": [], - "errorSelector": "596a094c", - "name": "TokenCannotBeZero", - "nameLocation": "3263:17:129", - "parameters": { - "id": 74827, - "nodeType": "ParameterList", - "parameters": [], - "src": "3280:2:129" - } - }, - { - "id": 74830, - "nodeType": "ErrorDefinition", - "src": "3301:24:129", - "nodes": [], - "errorSelector": "a29c4986", - "name": "TokenNotAllowed", - "nameLocation": "3307:15:129", - "parameters": { - "id": 74829, - "nodeType": "ParameterList", - "parameters": [], - "src": "3322:2:129" - } - }, - { - "id": 74832, - "nodeType": "ErrorDefinition", - "src": "3344:27:129", - "nodes": [], - "errorSelector": "3bf5ca14", - "name": "AmountOverMaxRatio", - "nameLocation": "3350:18:129", - "parameters": { - "id": 74831, - "nodeType": "ParameterList", - "parameters": [], - "src": "3368:2:129" - } - }, - { - "id": 74834, - "nodeType": "ErrorDefinition", - "src": "3390:27:129", - "nodes": [], - "errorSelector": "4e791786", - "name": "PoolIdCannotBeZero", - "nameLocation": "3396:18:129", - "parameters": { - "id": 74833, - "nodeType": "ParameterList", - "parameters": [], - "src": "3414:2:129" - } - }, - { - "id": 74836, - "nodeType": "ErrorDefinition", - "src": "3435:28:129", - "nodes": [], - "errorSelector": "e622e040", - "name": "AddressCannotBeZero", - "nameLocation": "3441:19:129", - "parameters": { - "id": 74835, - "nodeType": "ParameterList", - "parameters": [], - "src": "3460:2:129" - } - }, - { - "id": 74838, - "nodeType": "ErrorDefinition", - "src": "3481:29:129", - "nodes": [], - "errorSelector": "5df4b1ef", - "name": "RegistryCannotBeZero", - "nameLocation": "3487:20:129", - "parameters": { - "id": 74837, - "nodeType": "ParameterList", - "parameters": [], - "src": "3507:2:129" - } - }, - { - "id": 74846, - "nodeType": "ErrorDefinition", - "src": "3529:72:129", - "nodes": [], - "errorSelector": "3bbc7142", - "name": "SupportUnderflow", - "nameLocation": "3535:16:129", - "parameters": { - "id": 74845, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 74840, - "mutability": "mutable", - "name": "_support", - "nameLocation": "3560:8:129", - "nodeType": "VariableDeclaration", - "scope": 74846, - "src": "3552:16:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74839, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3552:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 74842, - "mutability": "mutable", - "name": "_delta", - "nameLocation": "3577:6:129", - "nodeType": "VariableDeclaration", - "scope": 74846, - "src": "3570:13:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - }, - "typeName": { - "id": 74841, - "name": "int256", - "nodeType": "ElementaryTypeName", - "src": "3570:6:129", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 74844, - "mutability": "mutable", - "name": "_result", - "nameLocation": "3592:7:129", - "nodeType": "VariableDeclaration", - "scope": 74846, - "src": "3585:14:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - }, - "typeName": { - "id": 74843, - "name": "int256", - "nodeType": "ElementaryTypeName", - "src": "3585:6:129", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - }, - "visibility": "internal" - } - ], - "src": "3551:49:129" - } - }, - { - "id": 74848, - "nodeType": "ErrorDefinition", - "src": "3620:25:129", - "nodes": [], - "errorSelector": "8402b474", - "name": "MaxPointsReached", - "nameLocation": "3626:16:129", - "parameters": { - "id": 74847, - "nodeType": "ParameterList", - "parameters": [], - "src": "3642:2:129" - } - }, - { - "id": 74850, - "nodeType": "ErrorDefinition", - "src": "3664:32:129", - "nodes": [], - "errorSelector": "573c3e93", - "name": "CantIncreaseFixedSystem", - "nameLocation": "3670:23:129", - "parameters": { - "id": 74849, - "nodeType": "ParameterList", - "parameters": [], - "src": "3693:2:129" - } - }, - { - "id": 74856, - "nodeType": "ErrorDefinition", - "src": "3715:77:129", - "nodes": [], - "errorSelector": "d64182fe", - "name": "NotEnoughPointsToSupport", - "nameLocation": "3721:24:129", - "parameters": { - "id": 74855, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 74852, - "mutability": "mutable", - "name": "pointsSupport", - "nameLocation": "3754:13:129", - "nodeType": "VariableDeclaration", - "scope": 74856, - "src": "3746:21:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74851, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3746:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 74854, - "mutability": "mutable", - "name": "pointsBalance", - "nameLocation": "3777:13:129", - "nodeType": "VariableDeclaration", - "scope": 74856, - "src": "3769:21:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74853, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3769:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "3745:46:129" - } - }, - { - "id": 74858, - "nodeType": "ErrorDefinition", - "src": "3812:28:129", - "nodes": [], - "errorSelector": "c5f7c4c0", - "name": "ProposalDataIsEmpty", - "nameLocation": "3818:19:129", - "parameters": { - "id": 74857, - "nodeType": "ParameterList", - "parameters": [], - "src": "3837:2:129" - } - }, - { - "id": 74860, - "nodeType": "ErrorDefinition", - "src": "3858:31:129", - "nodes": [], - "errorSelector": "f881a10d", - "name": "ProposalIdCannotBeZero", - "nameLocation": "3864:22:129", - "parameters": { - "id": 74859, - "nodeType": "ParameterList", - "parameters": [], - "src": "3886:2:129" - } - }, - { - "id": 74864, - "nodeType": "ErrorDefinition", - "src": "3907:45:129", - "nodes": [], - "errorSelector": "44980d8f", - "name": "ProposalNotActive", - "nameLocation": "3913:17:129", - "parameters": { - "id": 74863, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 74862, - "mutability": "mutable", - "name": "_proposalId", - "nameLocation": "3939:11:129", - "nodeType": "VariableDeclaration", - "scope": 74864, - "src": "3931:19:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74861, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3931:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "3930:21:129" - } - }, - { - "id": 74868, - "nodeType": "ErrorDefinition", - "src": "3971:45:129", - "nodes": [], - "errorSelector": "c1d17bef", - "name": "ProposalNotInList", - "nameLocation": "3977:17:129", - "parameters": { - "id": 74867, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 74866, - "mutability": "mutable", - "name": "_proposalId", - "nameLocation": "4003:11:129", - "nodeType": "VariableDeclaration", - "scope": 74868, - "src": "3995:19:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74865, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3995:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "3994:21:129" - } - }, - { - "id": 74874, - "nodeType": "ErrorDefinition", - "src": "4035:68:129", - "nodes": [], - "errorSelector": "adebb154", - "name": "ProposalSupportDuplicated", - "nameLocation": "4041:25:129", - "parameters": { - "id": 74873, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 74870, - "mutability": "mutable", - "name": "_proposalId", - "nameLocation": "4075:11:129", - "nodeType": "VariableDeclaration", - "scope": 74874, - "src": "4067:19:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74869, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4067:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 74872, - "mutability": "mutable", - "name": "index", - "nameLocation": "4096:5:129", - "nodeType": "VariableDeclaration", - "scope": 74874, - "src": "4088:13:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74871, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4088:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "4066:36:129" - } - }, - { - "id": 74876, - "nodeType": "ErrorDefinition", - "src": "4121:40:129", - "nodes": [], - "errorSelector": "cce79308", - "name": "ConvictionUnderMinimumThreshold", - "nameLocation": "4127:31:129", - "parameters": { - "id": 74875, - "nodeType": "ParameterList", - "parameters": [], - "src": "4158:2:129" - } - }, - { - "id": 74878, - "nodeType": "ErrorDefinition", - "src": "4180:29:129", - "nodes": [], - "errorSelector": "af0916a2", - "name": "OnlyCommunityAllowed", - "nameLocation": "4186:20:129", - "parameters": { - "id": 74877, - "nodeType": "ParameterList", - "parameters": [], - "src": "4206:2:129" - } - }, - { - "id": 74886, - "nodeType": "ErrorDefinition", - "src": "4228:94:129", - "nodes": [], - "errorSelector": "5863b0b6", - "name": "PoolAmountNotEnough", - "nameLocation": "4234:19:129", - "parameters": { - "id": 74885, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 74880, - "mutability": "mutable", - "name": "_proposalId", - "nameLocation": "4262:11:129", - "nodeType": "VariableDeclaration", - "scope": 74886, - "src": "4254:19:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74879, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4254:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 74882, - "mutability": "mutable", - "name": "_requestedAmount", - "nameLocation": "4283:16:129", - "nodeType": "VariableDeclaration", - "scope": 74886, - "src": "4275:24:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74881, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4275:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 74884, - "mutability": "mutable", - "name": "_poolAmount", - "nameLocation": "4309:11:129", - "nodeType": "VariableDeclaration", - "scope": 74886, - "src": "4301:19:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74883, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4301:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "4253:68:129" - } - }, - { - "id": 74888, - "nodeType": "ErrorDefinition", - "src": "4340:24:129", - "nodes": [], - "errorSelector": "e860ec7e", - "name": "OnlyCouncilSafe", - "nameLocation": "4346:15:129", - "parameters": { - "id": 74887, - "nodeType": "ParameterList", - "parameters": [], - "src": "4361:2:129" - } - }, - { - "id": 74890, - "nodeType": "ErrorDefinition", - "src": "4369:32:129", - "nodes": [], - "errorSelector": "5b96b588", - "name": "UserCannotExecuteAction", - "nameLocation": "4375:23:129", - "parameters": { - "id": 74889, - "nodeType": "ParameterList", - "parameters": [], - "src": "4398:2:129" - } - }, - { - "id": 74897, - "nodeType": "EventDefinition", - "src": "4573:74:129", - "nodes": [], - "anonymous": false, - "eventSelector": "4ebdec05fb64815e553aeaf3976ef8112dd79760a459bee3ac7d1659ab2c4e04", - "name": "InitializedCV", - "nameLocation": "4579:13:129", - "parameters": { - "id": 74896, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 74892, - "indexed": false, - "mutability": "mutable", - "name": "poolId", - "nameLocation": "4601:6:129", - "nodeType": "VariableDeclaration", - "scope": 74897, - "src": "4593:14:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74891, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4593:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 74895, - "indexed": false, - "mutability": "mutable", - "name": "data", - "nameLocation": "4641:4:129", - "nodeType": "VariableDeclaration", - "scope": 74897, - "src": "4609:36:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_struct$_InitializeParams_$74806_memory_ptr", - "typeString": "struct StrategyStruct.InitializeParams" - }, - "typeName": { - "id": 74894, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 74893, - "name": "StrategyStruct.InitializeParams", - "nameLocations": [ - "4609:14:129", - "4624:16:129" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 74806, - "src": "4609:31:129" - }, - "referencedDeclaration": 74806, - "src": "4609:31:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_InitializeParams_$74806_storage_ptr", - "typeString": "struct StrategyStruct.InitializeParams" - } - }, - "visibility": "internal" - } - ], - "src": "4592:54:129" - } - }, - { - "id": 74905, - "nodeType": "EventDefinition", - "src": "4652:75:129", - "nodes": [], - "anonymous": false, - "eventSelector": "a7932e9c92f31e1ed56b29d00bbe669a97484dc24de28dd9c8c0429df7f35847", - "name": "Distributed", - "nameLocation": "4658:11:129", - "parameters": { - "id": 74904, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 74899, - "indexed": false, - "mutability": "mutable", - "name": "proposalId", - "nameLocation": "4678:10:129", - "nodeType": "VariableDeclaration", - "scope": 74905, - "src": "4670:18:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74898, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4670:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 74901, - "indexed": false, - "mutability": "mutable", - "name": "beneficiary", - "nameLocation": "4698:11:129", - "nodeType": "VariableDeclaration", - "scope": 74905, - "src": "4690:19:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 74900, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4690:7:129", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 74903, - "indexed": false, - "mutability": "mutable", - "name": "amount", - "nameLocation": "4719:6:129", - "nodeType": "VariableDeclaration", - "scope": 74905, - "src": "4711:14:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74902, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4711:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "4669:57:129" - } - }, - { - "id": 74911, - "nodeType": "EventDefinition", - "src": "4732:58:129", - "nodes": [], - "anonymous": false, - "eventSelector": "fcf3b1aa65a464cef2889608f99e8b8c0f680a4be6c2acb9d961c536a5a9294b", - "name": "ProposalCreated", - "nameLocation": "4738:15:129", - "parameters": { - "id": 74910, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 74907, - "indexed": false, - "mutability": "mutable", - "name": "poolId", - "nameLocation": "4762:6:129", - "nodeType": "VariableDeclaration", - "scope": 74911, - "src": "4754:14:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74906, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4754:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 74909, - "indexed": false, - "mutability": "mutable", - "name": "proposalId", - "nameLocation": "4778:10:129", - "nodeType": "VariableDeclaration", - "scope": 74911, - "src": "4770:18:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74908, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4770:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "4753:36:129" - } - }, - { - "id": 74915, - "nodeType": "EventDefinition", - "src": "4795:42:129", - "nodes": [], - "anonymous": false, - "eventSelector": "46aeb5d8770fc4474bc2dfa118fd2595f7fb33ce2cbce6f4e5a3dabfe0f76339", - "name": "PoolAmountIncreased", - "nameLocation": "4801:19:129", - "parameters": { - "id": 74914, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 74913, - "indexed": false, - "mutability": "mutable", - "name": "amount", - "nameLocation": "4829:6:129", - "nodeType": "VariableDeclaration", - "scope": 74915, - "src": "4821:14:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74912, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4821:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "4820:16:129" - } - }, - { - "id": 74923, - "nodeType": "EventDefinition", - "src": "4842:85:129", - "nodes": [], - "anonymous": false, - "eventSelector": "0b9150e1e54346ed3fa36b977cd5d65dca5a649c737c3174a26bddaadd47667a", - "name": "PowerIncreased", - "nameLocation": "4848:14:129", - "parameters": { - "id": 74922, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 74917, - "indexed": false, - "mutability": "mutable", - "name": "member", - "nameLocation": "4871:6:129", - "nodeType": "VariableDeclaration", - "scope": 74923, - "src": "4863:14:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 74916, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4863:7:129", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 74919, - "indexed": false, - "mutability": "mutable", - "name": "tokensStaked", - "nameLocation": "4887:12:129", - "nodeType": "VariableDeclaration", - "scope": 74923, - "src": "4879:20:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74918, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4879:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 74921, - "indexed": false, - "mutability": "mutable", - "name": "pointsToIncrease", - "nameLocation": "4909:16:129", - "nodeType": "VariableDeclaration", - "scope": 74923, - "src": "4901:24:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74920, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4901:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "4862:64:129" - } - }, - { - "id": 74931, - "nodeType": "EventDefinition", - "src": "4932:87:129", - "nodes": [], - "anonymous": false, - "eventSelector": "70b752f3fadb6ac131c0ece847fcbb6994ec56ed6411595710fd9b29c6ac6cc1", - "name": "PowerDecreased", - "nameLocation": "4938:14:129", - "parameters": { - "id": 74930, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 74925, - "indexed": false, - "mutability": "mutable", - "name": "member", - "nameLocation": "4961:6:129", - "nodeType": "VariableDeclaration", - "scope": 74931, - "src": "4953:14:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 74924, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4953:7:129", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 74927, - "indexed": false, - "mutability": "mutable", - "name": "tokensUnStaked", - "nameLocation": "4977:14:129", - "nodeType": "VariableDeclaration", - "scope": 74931, - "src": "4969:22:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74926, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4969:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 74929, - "indexed": false, - "mutability": "mutable", - "name": "pointsToDecrease", - "nameLocation": "5001:16:129", - "nodeType": "VariableDeclaration", - "scope": 74931, - "src": "4993:24:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74928, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4993:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "4952:66:129" - } - }, - { - "id": 74943, - "nodeType": "EventDefinition", - "src": "5024:134:129", - "nodes": [], - "anonymous": false, - "eventSelector": "0227f642ddcf2042ceaeafadb9d540f432072c00cd4862881667168dcc14710f", - "name": "SupportAdded", - "nameLocation": "5030:12:129", - "parameters": { - "id": 74942, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 74933, - "indexed": false, - "mutability": "mutable", - "name": "from", - "nameLocation": "5060:4:129", - "nodeType": "VariableDeclaration", - "scope": 74943, - "src": "5052:12:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 74932, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5052:7:129", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 74935, - "indexed": false, - "mutability": "mutable", - "name": "proposalId", - "nameLocation": "5074:10:129", - "nodeType": "VariableDeclaration", - "scope": 74943, - "src": "5066:18:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74934, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5066:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 74937, - "indexed": false, - "mutability": "mutable", - "name": "amount", - "nameLocation": "5094:6:129", - "nodeType": "VariableDeclaration", - "scope": 74943, - "src": "5086:14:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74936, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5086:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 74939, - "indexed": false, - "mutability": "mutable", - "name": "totalStakedAmount", - "nameLocation": "5110:17:129", - "nodeType": "VariableDeclaration", - "scope": 74943, - "src": "5102:25:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74938, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5102:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 74941, - "indexed": false, - "mutability": "mutable", - "name": "convictionLast", - "nameLocation": "5137:14:129", - "nodeType": "VariableDeclaration", - "scope": 74943, - "src": "5129:22:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74940, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5129:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "5042:115:129" - } - }, - { - "id": 74947, - "nodeType": "EventDefinition", - "src": "5163:40:129", - "nodes": [], - "anonymous": false, - "eventSelector": "1468da654b37bb3631011c1917d02e0db437d519918858d40b38b5e980ca033b", - "name": "PointsDeactivated", - "nameLocation": "5169:17:129", - "parameters": { - "id": 74946, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 74945, - "indexed": false, - "mutability": "mutable", - "name": "member", - "nameLocation": "5195:6:129", - "nodeType": "VariableDeclaration", - "scope": 74947, - "src": "5187:14:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 74944, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5187:7:129", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "5186:16:129" - } - }, - { - "id": 74951, - "nodeType": "EventDefinition", - "src": "5208:34:129", - "nodes": [], - "anonymous": false, - "eventSelector": "592dcd55d60d892e7fcb3ba105013312e99691cd59f91e15f83cb67cb5a505f2", - "name": "DecayUpdated", - "nameLocation": "5214:12:129", - "parameters": { - "id": 74950, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 74949, - "indexed": false, - "mutability": "mutable", - "name": "decay", - "nameLocation": "5235:5:129", - "nodeType": "VariableDeclaration", - "scope": 74951, - "src": "5227:13:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74948, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5227:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "5226:15:129" - } - }, - { - "id": 74955, - "nodeType": "EventDefinition", - "src": "5247:40:129", - "nodes": [], - "anonymous": false, - "eventSelector": "08e39b387d1f739ce0d2553bb31822392e3f67c62c6c0a215120ab4a6841a8ab", - "name": "MaxRatioUpdated", - "nameLocation": "5253:15:129", - "parameters": { - "id": 74954, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 74953, - "indexed": false, - "mutability": "mutable", - "name": "maxRatio", - "nameLocation": "5277:8:129", - "nodeType": "VariableDeclaration", - "scope": 74955, - "src": "5269:16:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74952, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5269:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "5268:18:129" - } - }, - { - "id": 74959, - "nodeType": "EventDefinition", - "src": "5292:36:129", - "nodes": [], - "anonymous": false, - "eventSelector": "30ee8206062f283e56a0af2b02138016bf7442ded26ad68a92a18a9dd246fb49", - "name": "WeightUpdated", - "nameLocation": "5298:13:129", - "parameters": { - "id": 74958, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 74957, - "indexed": false, - "mutability": "mutable", - "name": "weight", - "nameLocation": "5320:6:129", - "nodeType": "VariableDeclaration", - "scope": 74959, - "src": "5312:14:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74956, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5312:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "5311:16:129" - } - }, - { - "id": 74963, - "nodeType": "EventDefinition", - "src": "5333:49:129", - "nodes": [], - "anonymous": false, - "eventSelector": "d6ceddf6d2a22f21c7c81675c518004eff43bc5c8a6fc32a0b748e69d58671cd", - "name": "RegistryUpdated", - "nameLocation": "5339:15:129", - "parameters": { - "id": 74962, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 74961, - "indexed": false, - "mutability": "mutable", - "name": "registryCommunity", - "nameLocation": "5363:17:129", - "nodeType": "VariableDeclaration", - "scope": 74963, - "src": "5355:25:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 74960, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5355:7:129", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "5354:27:129" - } - }, - { - "id": 74969, - "nodeType": "EventDefinition", - "src": "5387:76:129", - "nodes": [], - "anonymous": false, - "eventSelector": "056aedca4e334b6c4bea48715fb0de644811b740894de57a0380d3eb90f2805b", - "name": "MinThresholdPointsUpdated", - "nameLocation": "5393:25:129", - "parameters": { - "id": 74968, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 74965, - "indexed": false, - "mutability": "mutable", - "name": "before", - "nameLocation": "5427:6:129", - "nodeType": "VariableDeclaration", - "scope": 74969, - "src": "5419:14:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74964, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5419:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 74967, - "indexed": false, - "mutability": "mutable", - "name": "minThresholdPoints", - "nameLocation": "5443:18:129", - "nodeType": "VariableDeclaration", - "scope": 74969, - "src": "5435:26:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74966, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5435:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "5418:44:129" - } - }, - { - "id": 74972, - "nodeType": "VariableDeclaration", - "src": "5837:36:129", - "nodes": [], - "constant": true, - "functionSelector": "0f529ba2", - "mutability": "constant", - "name": "D", - "nameLocation": "5861:1:129", - "scope": 77611, - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74970, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5837:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "hexValue": "3130303030303030", - "id": 74971, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5865:8:129", - "typeDescriptions": { - "typeIdentifier": "t_rational_10000000_by_1", - "typeString": "int_const 10000000" - }, - "value": "10000000" - }, - "visibility": "public" - }, - { - "id": 74975, - "nodeType": "VariableDeclaration", - "src": "5887:70:129", - "nodes": [], - "constant": true, - "mutability": "constant", - "name": "TWO_128", - "nameLocation": "5912:7:129", - "scope": 77611, - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74973, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5887:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "hexValue": "3078313030303030303030303030303030303030303030303030303030303030303030", - "id": 74974, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5922:35:129", - "typeDescriptions": { - "typeIdentifier": "t_rational_340282366920938463463374607431768211456_by_1", - "typeString": "int_const 3402...(31 digits omitted)...1456" - }, - "value": "0x100000000000000000000000000000000" - }, - "visibility": "private" - }, - { - "id": 74978, - "nodeType": "VariableDeclaration", - "src": "5973:69:129", - "nodes": [], - "constant": true, - "mutability": "constant", - "name": "TWO_127", - "nameLocation": "5998:7:129", - "scope": 77611, - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74976, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5973:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "hexValue": "30783830303030303030303030303030303030303030303030303030303030303030", - "id": 74977, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6008:34:129", - "typeDescriptions": { - "typeIdentifier": "t_rational_170141183460469231731687303715884105728_by_1", - "typeString": "int_const 1701...(31 digits omitted)...5728" - }, - "value": "0x80000000000000000000000000000000" - }, - "visibility": "private" - }, - { - "id": 74981, - "nodeType": "VariableDeclaration", - "src": "6058:53:129", - "nodes": [], - "constant": true, - "mutability": "constant", - "name": "TWO_64", - "nameLocation": "6083:6:129", - "scope": 77611, - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74979, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6058:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "hexValue": "30783130303030303030303030303030303030", - "id": 74980, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6092:19:129", - "typeDescriptions": { - "typeIdentifier": "t_rational_18446744073709551616_by_1", - "typeString": "int_const 18446744073709551616" - }, - "value": "0x10000000000000000" - }, - "visibility": "private" - }, - { - "id": 74984, - "nodeType": "VariableDeclaration", - "src": "6126:49:129", - "nodes": [], - "constant": true, - "functionSelector": "406244d8", - "mutability": "constant", - "name": "MAX_STAKED_PROPOSALS", - "nameLocation": "6150:20:129", - "scope": 77611, - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74982, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6126:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "hexValue": "3130", - "id": 74983, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6173:2:129", - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - "visibility": "public" - }, - { - "id": 74986, - "nodeType": "VariableDeclaration", - "src": "6303:20:129", - "nodes": [], - "constant": false, - "functionSelector": "54fac919", - "mutability": "mutable", - "name": "decay", - "nameLocation": "6318:5:129", - "scope": 77611, - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74985, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6303:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "public" - }, - { - "id": 74988, - "nodeType": "VariableDeclaration", - "src": "6329:23:129", - "nodes": [], - "constant": false, - "functionSelector": "76365af7", - "mutability": "mutable", - "name": "maxRatio", - "nameLocation": "6344:8:129", - "scope": 77611, - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74987, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6329:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "public" - }, - { - "id": 74990, - "nodeType": "VariableDeclaration", - "src": "6358:21:129", - "nodes": [], - "constant": false, - "functionSelector": "a1aab33f", - "mutability": "mutable", - "name": "weight", - "nameLocation": "6373:6:129", - "scope": 77611, - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74989, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6358:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "public" - }, - { - "id": 74993, - "nodeType": "VariableDeclaration", - "src": "6385:34:129", - "nodes": [], - "constant": false, - "functionSelector": "0c0512e9", - "mutability": "mutable", - "name": "proposalCounter", - "nameLocation": "6400:15:129", - "scope": 77611, - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74991, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6385:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "hexValue": "30", - "id": 74992, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6418:1:129", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "visibility": "public" - }, - { - "id": 74995, - "nodeType": "VariableDeclaration", - "src": "6425:26:129", - "nodes": [], - "constant": false, - "functionSelector": "817b1cd2", - "mutability": "mutable", - "name": "totalStaked", - "nameLocation": "6440:11:129", - "scope": 77611, - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74994, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6425:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "public" - }, - { - "id": 74997, - "nodeType": "VariableDeclaration", - "src": "6457:35:129", - "nodes": [], - "constant": false, - "functionSelector": "aba9ffee", - "mutability": "mutable", - "name": "totalPointsActivated", - "nameLocation": "6472:20:129", - "scope": 77611, - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74996, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6457:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "public" - }, - { - "id": 75000, - "nodeType": "VariableDeclaration", - "src": "6498:38:129", - "nodes": [], - "constant": false, - "functionSelector": "7c6570ba", - "mutability": "mutable", - "name": "_minThresholdPoints", - "nameLocation": "6513:19:129", - "scope": 77611, - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 74998, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6498:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "hexValue": "30", - "id": 74999, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6535:1:129", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "visibility": "public" - }, - { - "id": 75002, - "nodeType": "VariableDeclaration", - "src": "6577:47:129", - "nodes": [], - "constant": false, - "mutability": "mutable", - "name": "surpressStateMutabilityWarning", - "nameLocation": "6594:30:129", - "scope": 77611, - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 75001, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6577:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "id": 75005, - "nodeType": "VariableDeclaration", - "src": "6709:47:129", - "nodes": [], - "constant": false, - "functionSelector": "351d9f96", - "mutability": "mutable", - "name": "proposalType", - "nameLocation": "6744:12:129", - "scope": 77611, - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_enum$_ProposalType_$74726", - "typeString": "enum StrategyStruct.ProposalType" - }, - "typeName": { - "id": 75004, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 75003, - "name": "StrategyStruct.ProposalType", - "nameLocations": [ - "6709:14:129", - "6724:12:129" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 74726, - "src": "6709:27:129" - }, - "referencedDeclaration": 74726, - "src": "6709:27:129", - "typeDescriptions": { - "typeIdentifier": "t_enum$_ProposalType_$74726", - "typeString": "enum StrategyStruct.ProposalType" - } - }, - "visibility": "public" - }, - { - "id": 75008, - "nodeType": "VariableDeclaration", - "src": "6815:45:129", - "nodes": [], - "constant": false, - "functionSelector": "2dbd6fdd", - "mutability": "mutable", - "name": "pointSystem", - "nameLocation": "6849:11:129", - "scope": 77611, - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_enum$_PointSystem_$74731", - "typeString": "enum StrategyStruct.PointSystem" - }, - "typeName": { - "id": 75007, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 75006, - "name": "StrategyStruct.PointSystem", - "nameLocations": [ - "6815:14:129", - "6830:11:129" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 74731, - "src": "6815:26:129" - }, - "referencedDeclaration": 74731, - "src": "6815:26:129", - "typeDescriptions": { - "typeIdentifier": "t_enum$_PointSystem_$74731", - "typeString": "enum StrategyStruct.PointSystem" - } - }, - "visibility": "public" - }, - { - "id": 75011, - "nodeType": "VariableDeclaration", - "src": "6866:51:129", - "nodes": [], - "constant": false, - "functionSelector": "a47ff7e5", - "mutability": "mutable", - "name": "pointConfig", - "nameLocation": "6906:11:129", - "scope": 77611, - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PointSystemConfig_$74784_storage", - "typeString": "struct StrategyStruct.PointSystemConfig" - }, - "typeName": { - "id": 75010, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 75009, - "name": "StrategyStruct.PointSystemConfig", - "nameLocations": [ - "6866:14:129", - "6881:17:129" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 74784, - "src": "6866:32:129" - }, - "referencedDeclaration": 74784, - "src": "6866:32:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PointSystemConfig_$74784_storage_ptr", - "typeString": "struct StrategyStruct.PointSystemConfig" - } - }, - "visibility": "public" - }, - { - "id": 75014, - "nodeType": "VariableDeclaration", - "src": "6950:42:129", - "nodes": [], - "constant": false, - "functionSelector": "6003e414", - "mutability": "mutable", - "name": "registryCommunity", - "nameLocation": "6975:17:129", - "scope": 77611, - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_RegistryCommunity_$83082", - "typeString": "contract RegistryCommunity" - }, - "typeName": { - "id": 75013, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 75012, - "name": "RegistryCommunity", - "nameLocations": [ - "6950:17:129" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 83082, - "src": "6950:17:129" - }, - "referencedDeclaration": 83082, - "src": "6950:17:129", - "typeDescriptions": { - "typeIdentifier": "t_contract$_RegistryCommunity_$83082", - "typeString": "contract RegistryCommunity" - } - }, - "visibility": "public" - }, - { - "id": 75017, - "nodeType": "VariableDeclaration", - "src": "6998:31:129", - "nodes": [], - "constant": false, - "functionSelector": "b6c61f31", - "mutability": "mutable", - "name": "sybilScorer", - "nameLocation": "7018:11:129", - "scope": 77611, - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ISybilScorer_$80667", - "typeString": "contract ISybilScorer" - }, - "typeName": { - "id": 75016, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 75015, - "name": "ISybilScorer", - "nameLocations": [ - "6998:12:129" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 80667, - "src": "6998:12:129" - }, - "referencedDeclaration": 80667, - "src": "6998:12:129", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ISybilScorer_$80667", - "typeString": "contract ISybilScorer" - } - }, - "visibility": "public" - }, - { - "id": 75022, - "nodeType": "VariableDeclaration", - "src": "7096:60:129", - "nodes": [], - "constant": false, - "functionSelector": "013cf08b", - "mutability": "mutable", - "name": "proposals", - "nameLocation": "7147:9:129", - "scope": 77611, - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Proposal_$74776_storage_$", - "typeString": "mapping(uint256 => struct StrategyStruct.Proposal)" - }, - "typeName": { - "id": 75021, - "keyName": "", - "keyNameLocation": "-1:-1:-1", - "keyType": { - "id": 75018, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7104:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Mapping", - "src": "7096:43:129", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Proposal_$74776_storage_$", - "typeString": "mapping(uint256 => struct StrategyStruct.Proposal)" - }, - "valueName": "", - "valueNameLocation": "-1:-1:-1", - "valueType": { - "id": 75020, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 75019, - "name": "StrategyStruct.Proposal", - "nameLocations": [ - "7115:14:129", - "7130:8:129" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 74776, - "src": "7115:23:129" - }, - "referencedDeclaration": 74776, - "src": "7115:23:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal" - } - } - }, - "visibility": "public" - }, - { - "id": 75026, - "nodeType": "VariableDeclaration", - "src": "7212:53:129", - "nodes": [], - "constant": false, - "functionSelector": "5db64b99", - "mutability": "mutable", - "name": "totalVoterStakePct", - "nameLocation": "7247:18:129", - "scope": 77611, - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "typeName": { - "id": 75025, - "keyName": "", - "keyNameLocation": "-1:-1:-1", - "keyType": { - "id": 75023, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7220:7:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "7212:27:129", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueName": "", - "valueNameLocation": "-1:-1:-1", - "valueType": { - "id": 75024, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7231:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "visibility": "public" - }, - { - "id": 75031, - "nodeType": "VariableDeclaration", - "src": "7303:57:129", - "nodes": [], - "constant": false, - "functionSelector": "868c57b8", - "mutability": "mutable", - "name": "voterStakedProposals", - "nameLocation": "7340:20:129", - "scope": 77611, - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$", - "typeString": "mapping(address => uint256[])" - }, - "typeName": { - "id": 75030, - "keyName": "", - "keyNameLocation": "-1:-1:-1", - "keyType": { - "id": 75027, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7311:7:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "7303:29:129", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$", - "typeString": "mapping(address => uint256[])" - }, - "valueName": "", - "valueNameLocation": "-1:-1:-1", - "valueType": { - "baseType": { - "id": 75028, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7322:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 75029, - "nodeType": "ArrayTypeName", - "src": "7322:9:129", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - } - }, - "visibility": "public" - }, - { - "id": 75050, - "nodeType": "ModifierDefinition", - "src": "7399:184:129", - "nodes": [], - "body": { - "id": 75049, - "nodeType": "Block", - "src": "7426:157:129", - "nodes": [], - "statements": [ - { - "condition": { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 75041, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 75033, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "7440:3:129", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 75034, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "7444:6:129", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "7440:10:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "arguments": [ - { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "id": 75037, - "name": "registryCommunity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75014, - "src": "7462:17:129", - "typeDescriptions": { - "typeIdentifier": "t_contract$_RegistryCommunity_$83082", - "typeString": "contract RegistryCommunity" - } - }, - "id": 75038, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "7480:11:129", - "memberName": "councilSafe", - "nodeType": "MemberAccess", - "referencedDeclaration": 81542, - "src": "7462:29:129", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_contract$_ISafe_$85665_$", - "typeString": "function () view external returns (contract ISafe)" - } - }, - "id": 75039, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "7462:31:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_ISafe_$85665", - "typeString": "contract ISafe" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_ISafe_$85665", - "typeString": "contract ISafe" - } - ], - "id": 75036, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "7454:7:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 75035, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7454:7:129", - "typeDescriptions": {} - } - }, - "id": 75040, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "7454:40:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "7440:54:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 75047, - "nodeType": "Block", - "src": "7528:49:129", - "statements": [ - { - "errorCall": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 75044, - "name": "OnlyCouncilSafe", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74888, - "src": "7549:15:129", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 75045, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "7549:17:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 75046, - "nodeType": "RevertStatement", - "src": "7542:24:129" - } - ] - }, - "id": 75048, - "nodeType": "IfStatement", - "src": "7436:141:129", - "trueBody": { - "id": 75043, - "nodeType": "Block", - "src": "7496:26:129", - "statements": [ - { - "id": 75042, - "nodeType": "PlaceholderStatement", - "src": "7510:1:129" - } - ] - } - } - ] - }, - "name": "onlyCouncilSafe", - "nameLocation": "7408:15:129", - "parameters": { - "id": 75032, - "nodeType": "ParameterList", - "parameters": [], - "src": "7423:2:129" - }, - "virtual": false, - "visibility": "internal" - }, - { - "id": 75063, - "nodeType": "FunctionDefinition", - "src": "7754:72:129", - "nodes": [], - "body": { - "id": 75062, - "nodeType": "Block", - "src": "7824:2:129", - "nodes": [], - "statements": [] - }, - "implemented": true, - "kind": "constructor", - "modifiers": [ - { - "arguments": [ - { - "arguments": [ - { - "id": 75057, - "name": "_allo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75052, - "src": "7802:5:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 75056, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "7794:7:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 75055, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7794:7:129", - "typeDescriptions": {} - } - }, - "id": 75058, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "7794:14:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "hexValue": "43565374726174656779", - "id": 75059, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7810:12:129", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_5f43243e98d2b877d41079bf899c9372a6b91af5be3180830de9d43f93117b2e", - "typeString": "literal_string \"CVStrategy\"" - }, - "value": "CVStrategy" - } - ], - "id": 75060, - "kind": "baseConstructorSpecifier", - "modifierName": { - "id": 75054, - "name": "BaseStrategy", - "nameLocations": [ - "7781:12:129" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 3923, - "src": "7781:12:129" - }, - "nodeType": "ModifierInvocation", - "src": "7781:42:129" - } - ], - "name": "", - "nameLocation": "-1:-1:-1", - "parameters": { - "id": 75053, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 75052, - "mutability": "mutable", - "name": "_allo", - "nameLocation": "7774:5:129", - "nodeType": "VariableDeclaration", - "scope": 75063, - "src": "7766:13:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 75051, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7766:7:129", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "7765:15:129" - }, - "returnParameters": { - "id": 75061, - "nodeType": "ParameterList", - "parameters": [], - "src": "7824:0:129" - }, - "scope": 77611, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "id": 75154, - "nodeType": "FunctionDefinition", - "src": "7832:740:129", - "nodes": [], - "body": { - "id": 75153, - "nodeType": "Block", - "src": "7898:674:129", - "nodes": [], - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 75071, - "name": "_poolId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75065, - "src": "7928:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 75070, - "name": "__BaseStrategy_init", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3503, - "src": "7908:19:129", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 75072, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "7908:28:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 75073, - "nodeType": "ExpressionStatement", - "src": "7908:28:129" - }, - { - "assignments": [ - 75078 - ], - "declarations": [ - { - "constant": false, - "id": 75078, - "mutability": "mutable", - "name": "ip", - "nameLocation": "7985:2:129", - "nodeType": "VariableDeclaration", - "scope": 75153, - "src": "7946:41:129", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_InitializeParams_$74806_memory_ptr", - "typeString": "struct StrategyStruct.InitializeParams" - }, - "typeName": { - "id": 75077, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 75076, - "name": "StrategyStruct.InitializeParams", - "nameLocations": [ - "7946:14:129", - "7961:16:129" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 74806, - "src": "7946:31:129" - }, - "referencedDeclaration": 74806, - "src": "7946:31:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_InitializeParams_$74806_storage_ptr", - "typeString": "struct StrategyStruct.InitializeParams" - } - }, - "visibility": "internal" - } - ], - "id": 75086, - "initialValue": { - "arguments": [ - { - "id": 75081, - "name": "_data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75067, - "src": "8001:5:129", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "components": [ - { - "expression": { - "id": 75082, - "name": "StrategyStruct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74807, - "src": "8009:14:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_StrategyStruct_$74807_$", - "typeString": "type(library StrategyStruct)" - } - }, - "id": 75083, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "8024:16:129", - "memberName": "InitializeParams", - "nodeType": "MemberAccess", - "referencedDeclaration": 74806, - "src": "8009:31:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_InitializeParams_$74806_storage_ptr_$", - "typeString": "type(struct StrategyStruct.InitializeParams storage pointer)" - } - } - ], - "id": 75084, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "8008:33:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_InitializeParams_$74806_storage_ptr_$", - "typeString": "type(struct StrategyStruct.InitializeParams storage pointer)" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_type$_t_struct$_InitializeParams_$74806_storage_ptr_$", - "typeString": "type(struct StrategyStruct.InitializeParams storage pointer)" - } - ], - "expression": { - "id": 75079, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "7990:3:129", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 75080, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "7994:6:129", - "memberName": "decode", - "nodeType": "MemberAccess", - "src": "7990:10:129", - "typeDescriptions": { - "typeIdentifier": "t_function_abidecode_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 75085, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "7990:52:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_struct$_InitializeParams_$74806_memory_ptr", - "typeString": "struct StrategyStruct.InitializeParams memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "7946:96:129" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 75093, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 75087, - "name": "ip", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75078, - "src": "8057:2:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_InitializeParams_$74806_memory_ptr", - "typeString": "struct StrategyStruct.InitializeParams memory" - } - }, - "id": 75088, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "8060:17:129", - "memberName": "registryCommunity", - "nodeType": "MemberAccess", - "referencedDeclaration": 74786, - "src": "8057:20:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "arguments": [ - { - "hexValue": "30", - "id": 75091, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8089:1:129", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 75090, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "8081:7:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 75089, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8081:7:129", - "typeDescriptions": {} - } - }, - "id": 75092, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "8081:10:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "8057:34:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 75098, - "nodeType": "IfStatement", - "src": "8053:94:129", - "trueBody": { - "id": 75097, - "nodeType": "Block", - "src": "8093:54:129", - "statements": [ - { - "errorCall": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 75094, - "name": "RegistryCannotBeZero", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74838, - "src": "8114:20:129", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 75095, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "8114:22:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 75096, - "nodeType": "RevertStatement", - "src": "8107:29:129" - } - ] - } - }, - { - "expression": { - "id": 75104, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 75099, - "name": "registryCommunity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75014, - "src": "8157:17:129", - "typeDescriptions": { - "typeIdentifier": "t_contract$_RegistryCommunity_$83082", - "typeString": "contract RegistryCommunity" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "expression": { - "id": 75101, - "name": "ip", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75078, - "src": "8195:2:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_InitializeParams_$74806_memory_ptr", - "typeString": "struct StrategyStruct.InitializeParams memory" - } - }, - "id": 75102, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "8198:17:129", - "memberName": "registryCommunity", - "nodeType": "MemberAccess", - "referencedDeclaration": 74786, - "src": "8195:20:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 75100, - "name": "RegistryCommunity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 83082, - "src": "8177:17:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_RegistryCommunity_$83082_$", - "typeString": "type(contract RegistryCommunity)" - } - }, - "id": 75103, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "8177:39:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_RegistryCommunity_$83082", - "typeString": "contract RegistryCommunity" - } - }, - "src": "8157:59:129", - "typeDescriptions": { - "typeIdentifier": "t_contract$_RegistryCommunity_$83082", - "typeString": "contract RegistryCommunity" - } - }, - "id": 75105, - "nodeType": "ExpressionStatement", - "src": "8157:59:129" - }, - { - "expression": { - "id": 75109, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 75106, - "name": "decay", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74986, - "src": "8226:5:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "expression": { - "id": 75107, - "name": "ip", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75078, - "src": "8234:2:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_InitializeParams_$74806_memory_ptr", - "typeString": "struct StrategyStruct.InitializeParams memory" - } - }, - "id": 75108, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "8237:5:129", - "memberName": "decay", - "nodeType": "MemberAccess", - "referencedDeclaration": 74788, - "src": "8234:8:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8226:16:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 75110, - "nodeType": "ExpressionStatement", - "src": "8226:16:129" - }, - { - "expression": { - "id": 75114, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 75111, - "name": "maxRatio", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74988, - "src": "8252:8:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "expression": { - "id": 75112, - "name": "ip", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75078, - "src": "8263:2:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_InitializeParams_$74806_memory_ptr", - "typeString": "struct StrategyStruct.InitializeParams memory" - } - }, - "id": 75113, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "8266:8:129", - "memberName": "maxRatio", - "nodeType": "MemberAccess", - "referencedDeclaration": 74790, - "src": "8263:11:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8252:22:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 75115, - "nodeType": "ExpressionStatement", - "src": "8252:22:129" - }, - { - "expression": { - "id": 75119, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 75116, - "name": "weight", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74990, - "src": "8284:6:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "expression": { - "id": 75117, - "name": "ip", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75078, - "src": "8293:2:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_InitializeParams_$74806_memory_ptr", - "typeString": "struct StrategyStruct.InitializeParams memory" - } - }, - "id": 75118, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "8296:6:129", - "memberName": "weight", - "nodeType": "MemberAccess", - "referencedDeclaration": 74792, - "src": "8293:9:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8284:18:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 75120, - "nodeType": "ExpressionStatement", - "src": "8284:18:129" - }, - { - "expression": { - "id": 75124, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 75121, - "name": "proposalType", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75005, - "src": "8312:12:129", - "typeDescriptions": { - "typeIdentifier": "t_enum$_ProposalType_$74726", - "typeString": "enum StrategyStruct.ProposalType" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "expression": { - "id": 75122, - "name": "ip", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75078, - "src": "8327:2:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_InitializeParams_$74806_memory_ptr", - "typeString": "struct StrategyStruct.InitializeParams memory" - } - }, - "id": 75123, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "8330:12:129", - "memberName": "proposalType", - "nodeType": "MemberAccess", - "referencedDeclaration": 74797, - "src": "8327:15:129", - "typeDescriptions": { - "typeIdentifier": "t_enum$_ProposalType_$74726", - "typeString": "enum StrategyStruct.ProposalType" - } - }, - "src": "8312:30:129", - "typeDescriptions": { - "typeIdentifier": "t_enum$_ProposalType_$74726", - "typeString": "enum StrategyStruct.ProposalType" - } - }, - "id": 75125, - "nodeType": "ExpressionStatement", - "src": "8312:30:129" - }, - { - "expression": { - "id": 75129, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 75126, - "name": "pointSystem", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75008, - "src": "8352:11:129", - "typeDescriptions": { - "typeIdentifier": "t_enum$_PointSystem_$74731", - "typeString": "enum StrategyStruct.PointSystem" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "expression": { - "id": 75127, - "name": "ip", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75078, - "src": "8366:2:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_InitializeParams_$74806_memory_ptr", - "typeString": "struct StrategyStruct.InitializeParams memory" - } - }, - "id": 75128, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "8369:11:129", - "memberName": "pointSystem", - "nodeType": "MemberAccess", - "referencedDeclaration": 74800, - "src": "8366:14:129", - "typeDescriptions": { - "typeIdentifier": "t_enum$_PointSystem_$74731", - "typeString": "enum StrategyStruct.PointSystem" - } - }, - "src": "8352:28:129", - "typeDescriptions": { - "typeIdentifier": "t_enum$_PointSystem_$74731", - "typeString": "enum StrategyStruct.PointSystem" - } - }, - "id": 75130, - "nodeType": "ExpressionStatement", - "src": "8352:28:129" - }, - { - "expression": { - "id": 75134, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 75131, - "name": "pointConfig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75011, - "src": "8390:11:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PointSystemConfig_$74784_storage", - "typeString": "struct StrategyStruct.PointSystemConfig storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "expression": { - "id": 75132, - "name": "ip", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75078, - "src": "8404:2:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_InitializeParams_$74806_memory_ptr", - "typeString": "struct StrategyStruct.InitializeParams memory" - } - }, - "id": 75133, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "8407:11:129", - "memberName": "pointConfig", - "nodeType": "MemberAccess", - "referencedDeclaration": 74803, - "src": "8404:14:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PointSystemConfig_$74784_memory_ptr", - "typeString": "struct StrategyStruct.PointSystemConfig memory" - } - }, - "src": "8390:28:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PointSystemConfig_$74784_storage", - "typeString": "struct StrategyStruct.PointSystemConfig storage ref" - } - }, - "id": 75135, - "nodeType": "ExpressionStatement", - "src": "8390:28:129" - }, - { - "expression": { - "id": 75139, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 75136, - "name": "_minThresholdPoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75000, - "src": "8428:19:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "expression": { - "id": 75137, - "name": "ip", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75078, - "src": "8450:2:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_InitializeParams_$74806_memory_ptr", - "typeString": "struct StrategyStruct.InitializeParams memory" - } - }, - "id": 75138, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "8453:18:129", - "memberName": "minThresholdPoints", - "nodeType": "MemberAccess", - "referencedDeclaration": 74794, - "src": "8450:21:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8428:43:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 75140, - "nodeType": "ExpressionStatement", - "src": "8428:43:129" - }, - { - "expression": { - "id": 75146, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 75141, - "name": "sybilScorer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75017, - "src": "8481:11:129", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ISybilScorer_$80667", - "typeString": "contract ISybilScorer" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "expression": { - "id": 75143, - "name": "ip", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75078, - "src": "8508:2:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_InitializeParams_$74806_memory_ptr", - "typeString": "struct StrategyStruct.InitializeParams memory" - } - }, - "id": 75144, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "8511:11:129", - "memberName": "sybilScorer", - "nodeType": "MemberAccess", - "referencedDeclaration": 74805, - "src": "8508:14:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 75142, - "name": "ISybilScorer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 80667, - "src": "8495:12:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ISybilScorer_$80667_$", - "typeString": "type(contract ISybilScorer)" - } - }, - "id": 75145, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "8495:28:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_ISybilScorer_$80667", - "typeString": "contract ISybilScorer" - } - }, - "src": "8481:42:129", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ISybilScorer_$80667", - "typeString": "contract ISybilScorer" - } - }, - "id": 75147, - "nodeType": "ExpressionStatement", - "src": "8481:42:129" - }, - { - "eventCall": { - "arguments": [ - { - "id": 75149, - "name": "_poolId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75065, - "src": "8553:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 75150, - "name": "ip", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75078, - "src": "8562:2:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_InitializeParams_$74806_memory_ptr", - "typeString": "struct StrategyStruct.InitializeParams memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_struct$_InitializeParams_$74806_memory_ptr", - "typeString": "struct StrategyStruct.InitializeParams memory" - } - ], - "id": 75148, - "name": "InitializedCV", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74897, - "src": "8539:13:129", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_struct$_InitializeParams_$74806_memory_ptr_$returns$__$", - "typeString": "function (uint256,struct StrategyStruct.InitializeParams memory)" - } - }, - "id": 75151, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "8539:26:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 75152, - "nodeType": "EmitStatement", - "src": "8534:31:129" - } - ] - }, - "baseFunctions": [ - 2939 - ], - "functionSelector": "edd146cc", - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "initialize", - "nameLocation": "7841:10:129", - "parameters": { - "id": 75068, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 75065, - "mutability": "mutable", - "name": "_poolId", - "nameLocation": "7860:7:129", - "nodeType": "VariableDeclaration", - "scope": 75154, - "src": "7852:15:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 75064, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7852:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 75067, - "mutability": "mutable", - "name": "_data", - "nameLocation": "7882:5:129", - "nodeType": "VariableDeclaration", - "scope": 75154, - "src": "7869:18:129", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 75066, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "7869:5:129", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "src": "7851:37:129" - }, - "returnParameters": { - "id": 75069, - "nodeType": "ParameterList", - "parameters": [], - "src": "7898:0:129" - }, - "scope": 77611, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "id": 75158, - "nodeType": "FunctionDefinition", - "src": "8743:83:129", - "nodes": [], - "body": { - "id": 75157, - "nodeType": "Block", - "src": "8771:55:129", - "nodes": [], - "statements": [] - }, - "implemented": true, - "kind": "fallback", - "modifiers": [], - "name": "", - "nameLocation": "-1:-1:-1", - "parameters": { - "id": 75155, - "nodeType": "ParameterList", - "parameters": [], - "src": "8751:2:129" - }, - "returnParameters": { - "id": 75156, - "nodeType": "ParameterList", - "parameters": [], - "src": "8771:0:129" - }, - "scope": 77611, - "stateMutability": "payable", - "virtual": false, - "visibility": "external" - }, - { - "id": 75162, - "nodeType": "FunctionDefinition", - "src": "8832:135:129", - "nodes": [], - "body": { - "id": 75161, - "nodeType": "Block", - "src": "8859:108:129", - "nodes": [], - "statements": [] - }, - "implemented": true, - "kind": "receive", - "modifiers": [], - "name": "", - "nameLocation": "-1:-1:-1", - "parameters": { - "id": 75159, - "nodeType": "ParameterList", - "parameters": [], - "src": "8839:2:129" - }, - "returnParameters": { - "id": 75160, - "nodeType": "ParameterList", - "parameters": [], - "src": "8859:0:129" - }, - "scope": 77611, - "stateMutability": "payable", - "virtual": false, - "visibility": "external" - }, - { - "id": 75183, - "nodeType": "FunctionDefinition", - "src": "8973:202:129", - "nodes": [], - "body": { - "id": 75182, - "nodeType": "Block", - "src": "9064:111:129", - "nodes": [], - "statements": [ - { - "expression": { - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 75180, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "id": 75175, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 75170, - "name": "interfaceId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75164, - "src": "9081:11:129", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "expression": { - "arguments": [ - { - "id": 75172, - "name": "IPointStrategy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74722, - "src": "9101:14:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IPointStrategy_$74722_$", - "typeString": "type(contract IPointStrategy)" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_type$_t_contract$_IPointStrategy_$74722_$", - "typeString": "type(contract IPointStrategy)" - } - ], - "id": 75171, - "name": "type", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -27, - "src": "9096:4:129", - "typeDescriptions": { - "typeIdentifier": "t_function_metatype_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 75173, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "9096:20:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_magic_meta_type_t_contract$_IPointStrategy_$74722", - "typeString": "type(contract IPointStrategy)" - } - }, - "id": 75174, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "9117:11:129", - "memberName": "interfaceId", - "nodeType": "MemberAccess", - "src": "9096:32:129", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "src": "9081:47:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "arguments": [ - { - "id": 75178, - "name": "interfaceId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75164, - "src": "9156:11:129", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - ], - "expression": { - "id": 75176, - "name": "super", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -25, - "src": "9132:5:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_super$_CVStrategy_$77611_$", - "typeString": "type(contract super CVStrategy)" - } - }, - "id": 75177, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "9138:17:129", - "memberName": "supportsInterface", - "nodeType": "MemberAccess", - "referencedDeclaration": 58265, - "src": "9132:23:129", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_bytes4_$returns$_t_bool_$", - "typeString": "function (bytes4) view returns (bool)" - } - }, - "id": 75179, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "9132:36:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "9081:87:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 75169, - "id": 75181, - "nodeType": "Return", - "src": "9074:94:129" - } - ] - }, - "baseFunctions": [ - 58265 - ], - "functionSelector": "01ffc9a7", - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "supportsInterface", - "nameLocation": "8982:17:129", - "overrides": { - "id": 75166, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "9040:8:129" - }, - "parameters": { - "id": 75165, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 75164, - "mutability": "mutable", - "name": "interfaceId", - "nameLocation": "9007:11:129", - "nodeType": "VariableDeclaration", - "scope": 75183, - "src": "9000:18:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 75163, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "9000:6:129", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "visibility": "internal" - } - ], - "src": "8999:20:129" - }, - "returnParameters": { - "id": 75169, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 75168, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 75183, - "src": "9058:4:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 75167, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "9058:4:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "9057:6:129" - }, - "scope": 77611, - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "id": 75224, - "nodeType": "FunctionDefinition", - "src": "9346:377:129", - "nodes": [], - "body": { - "id": 75223, - "nodeType": "Block", - "src": "9405:318:129", - "nodes": [], - "statements": [ - { - "condition": { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 75193, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 75188, - "name": "_sender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75185, - "src": "9419:7:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "arguments": [ - { - "hexValue": "30", - "id": 75191, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9438:1:129", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 75190, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "9430:7:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 75189, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9430:7:129", - "typeDescriptions": {} - } - }, - "id": 75192, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "9430:10:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "9419:21:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 75198, - "nodeType": "IfStatement", - "src": "9415:77:129", - "trueBody": { - "id": 75197, - "nodeType": "Block", - "src": "9442:50:129", - "statements": [ - { - "errorCall": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 75194, - "name": "UserCannotBeZero", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74818, - "src": "9463:16:129", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 75195, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "9463:18:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 75196, - "nodeType": "RevertStatement", - "src": "9456:25:129" - } - ] - } - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 75207, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "arguments": [ - { - "id": 75201, - "name": "registryCommunity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75014, - "src": "9513:17:129", - "typeDescriptions": { - "typeIdentifier": "t_contract$_RegistryCommunity_$83082", - "typeString": "contract RegistryCommunity" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_RegistryCommunity_$83082", - "typeString": "contract RegistryCommunity" - } - ], - "id": 75200, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "9505:7:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 75199, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9505:7:129", - "typeDescriptions": {} - } - }, - "id": 75202, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "9505:26:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "arguments": [ - { - "hexValue": "30", - "id": 75205, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9543:1:129", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 75204, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "9535:7:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 75203, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9535:7:129", - "typeDescriptions": {} - } - }, - "id": 75206, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "9535:10:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "9505:40:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 75212, - "nodeType": "IfStatement", - "src": "9501:100:129", - "trueBody": { - "id": 75211, - "nodeType": "Block", - "src": "9547:54:129", - "statements": [ - { - "errorCall": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 75208, - "name": "RegistryCannotBeZero", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74838, - "src": "9568:20:129", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 75209, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "9568:22:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 75210, - "nodeType": "RevertStatement", - "src": "9561:29:129" - } - ] - } - }, - { - "condition": { - "id": 75217, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "9614:36:129", - "subExpression": { - "arguments": [ - { - "id": 75215, - "name": "_sender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75185, - "src": "9642:7:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "id": 75213, - "name": "registryCommunity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75014, - "src": "9615:17:129", - "typeDescriptions": { - "typeIdentifier": "t_contract$_RegistryCommunity_$83082", - "typeString": "contract RegistryCommunity" - } - }, - "id": 75214, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "9633:8:129", - "memberName": "isMember", - "nodeType": "MemberAccess", - "referencedDeclaration": 82663, - "src": "9615:26:129", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_bool_$", - "typeString": "function (address) view external returns (bool)" - } - }, - "id": 75216, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "9615:35:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 75222, - "nodeType": "IfStatement", - "src": "9610:93:129", - "trueBody": { - "id": 75221, - "nodeType": "Block", - "src": "9652:51:129", - "statements": [ - { - "errorCall": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 75218, - "name": "UserNotInRegistry", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74820, - "src": "9673:17:129", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 75219, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "9673:19:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 75220, - "nodeType": "RevertStatement", - "src": "9666:26:129" - } - ] - } - } - ] - }, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "checkSenderIsMember", - "nameLocation": "9355:19:129", - "parameters": { - "id": 75186, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 75185, - "mutability": "mutable", - "name": "_sender", - "nameLocation": "9383:7:129", - "nodeType": "VariableDeclaration", - "scope": 75224, - "src": "9375:15:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 75184, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9375:7:129", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "9374:17:129" - }, - "returnParameters": { - "id": 75187, - "nodeType": "ParameterList", - "parameters": [], - "src": "9405:0:129" - }, - "scope": 77611, - "stateMutability": "view", - "virtual": false, - "visibility": "private" - }, - { - "id": 75240, - "nodeType": "FunctionDefinition", - "src": "9729:162:129", - "nodes": [], - "body": { - "id": 75239, - "nodeType": "Block", - "src": "9775:116:129", - "nodes": [], - "statements": [ - { - "condition": { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 75233, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 75227, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "9789:3:129", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 75228, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "9793:6:129", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "9789:10:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "arguments": [ - { - "id": 75231, - "name": "registryCommunity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75014, - "src": "9811:17:129", - "typeDescriptions": { - "typeIdentifier": "t_contract$_RegistryCommunity_$83082", - "typeString": "contract RegistryCommunity" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_RegistryCommunity_$83082", - "typeString": "contract RegistryCommunity" - } - ], - "id": 75230, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "9803:7:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 75229, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9803:7:129", - "typeDescriptions": {} - } - }, - "id": 75232, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "9803:26:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "9789:40:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 75238, - "nodeType": "IfStatement", - "src": "9785:100:129", - "trueBody": { - "id": 75237, - "nodeType": "Block", - "src": "9831:54:129", - "statements": [ - { - "errorCall": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 75234, - "name": "OnlyCommunityAllowed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74878, - "src": "9852:20:129", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 75235, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "9852:22:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 75236, - "nodeType": "RevertStatement", - "src": "9845:29:129" - } - ] - } - } - ] - }, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "onlyRegistryCommunity", - "nameLocation": "9738:21:129", - "parameters": { - "id": 75225, - "nodeType": "ParameterList", - "parameters": [], - "src": "9759:2:129" - }, - "returnParameters": { - "id": 75226, - "nodeType": "ParameterList", - "parameters": [], - "src": "9775:0:129" - }, - "scope": 77611, - "stateMutability": "view", - "virtual": false, - "visibility": "private" - }, - { - "id": 75256, - "nodeType": "FunctionDefinition", - "src": "9897:133:129", - "nodes": [], - "body": { - "id": 75255, - "nodeType": "Block", - "src": "9957:73:129", - "nodes": [], - "statements": [ - { - "condition": { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 75250, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 75245, - "name": "_address", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75242, - "src": "9971:8:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "arguments": [ - { - "hexValue": "30", - "id": 75248, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9991:1:129", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 75247, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "9983:7:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 75246, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9983:7:129", - "typeDescriptions": {} - } - }, - "id": 75249, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "9983:10:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "9971:22:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 75254, - "nodeType": "IfStatement", - "src": "9967:56:129", - "trueBody": { - "errorCall": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 75251, - "name": "AddressCannotBeZero", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74836, - "src": "10002:19:129", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 75252, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "10002:21:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 75253, - "nodeType": "RevertStatement", - "src": "9995:28:129" - } - } - ] - }, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_revertZeroAddress", - "nameLocation": "9906:18:129", - "parameters": { - "id": 75243, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 75242, - "mutability": "mutable", - "name": "_address", - "nameLocation": "9933:8:129", - "nodeType": "VariableDeclaration", - "scope": 75256, - "src": "9925:16:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 75241, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9925:7:129", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "9924:18:129" - }, - "returnParameters": { - "id": 75244, - "nodeType": "ParameterList", - "parameters": [], - "src": "9957:0:129" - }, - "scope": 77611, - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "id": 75286, - "nodeType": "FunctionDefinition", - "src": "10036:230:129", - "nodes": [], - "body": { - "id": 75285, - "nodeType": "Block", - "src": "10107:159:129", - "nodes": [], - "statements": [ - { - "condition": { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 75271, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "arguments": [ - { - "id": 75265, - "name": "sybilScorer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75017, - "src": "10129:11:129", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ISybilScorer_$80667", - "typeString": "contract ISybilScorer" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_ISybilScorer_$80667", - "typeString": "contract ISybilScorer" - } - ], - "id": 75264, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "10121:7:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 75263, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10121:7:129", - "typeDescriptions": {} - } - }, - "id": 75266, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "10121:20:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "arguments": [ - { - "hexValue": "30", - "id": 75269, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10153:1:129", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 75268, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "10145:7:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 75267, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10145:7:129", - "typeDescriptions": {} - } - }, - "id": 75270, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "10145:10:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "10121:34:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 75275, - "nodeType": "IfStatement", - "src": "10117:76:129", - "trueBody": { - "id": 75274, - "nodeType": "Block", - "src": "10157:36:129", - "statements": [ - { - "expression": { - "hexValue": "74727565", - "id": 75272, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10178:4:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 75262, - "id": 75273, - "nodeType": "Return", - "src": "10171:11:129" - } - ] - } - }, - { - "expression": { - "arguments": [ - { - "id": 75278, - "name": "_user", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75258, - "src": "10238:5:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "arguments": [ - { - "id": 75281, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "10253:4:129", - "typeDescriptions": { - "typeIdentifier": "t_contract$_CVStrategy_$77611", - "typeString": "contract CVStrategy" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_CVStrategy_$77611", - "typeString": "contract CVStrategy" - } - ], - "id": 75280, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "10245:7:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 75279, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10245:7:129", - "typeDescriptions": {} - } - }, - "id": 75282, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "10245:13:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "id": 75276, - "name": "sybilScorer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75017, - "src": "10209:11:129", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ISybilScorer_$80667", - "typeString": "contract ISybilScorer" - } - }, - "id": 75277, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "10221:16:129", - "memberName": "canExecuteAction", - "nodeType": "MemberAccess", - "referencedDeclaration": 80624, - "src": "10209:28:129", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$_t_address_$returns$_t_bool_$", - "typeString": "function (address,address) view external returns (bool)" - } - }, - "id": 75283, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "10209:50:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 75262, - "id": 75284, - "nodeType": "Return", - "src": "10202:57:129" - } - ] - }, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_canExecuteAction", - "nameLocation": "10045:17:129", - "parameters": { - "id": 75259, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 75258, - "mutability": "mutable", - "name": "_user", - "nameLocation": "10071:5:129", - "nodeType": "VariableDeclaration", - "scope": 75286, - "src": "10063:13:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 75257, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10063:7:129", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "10062:15:129" - }, - "returnParameters": { - "id": 75262, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 75261, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 75286, - "src": "10101:4:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 75260, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "10101:4:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "10100:6:129" - }, - "scope": 77611, - "stateMutability": "view", - "virtual": false, - "visibility": "internal" - }, - { - "id": 75470, - "nodeType": "FunctionDefinition", - "src": "10592:2045:129", - "nodes": [], - "body": { - "id": 75469, - "nodeType": "Block", - "src": "10693:1944:129", - "nodes": [], - "statements": [ - { - "condition": { - "id": 75299, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "10707:27:129", - "subExpression": { - "arguments": [ - { - "id": 75297, - "name": "_sender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75290, - "src": "10726:7:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 75296, - "name": "_canExecuteAction", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75286, - "src": "10708:17:129", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", - "typeString": "function (address) view returns (bool)" - } - }, - "id": 75298, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "10708:26:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 75304, - "nodeType": "IfStatement", - "src": "10703:90:129", - "trueBody": { - "id": 75303, - "nodeType": "Block", - "src": "10736:57:129", - "statements": [ - { - "errorCall": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 75300, - "name": "UserCannotExecuteAction", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74890, - "src": "10757:23:129", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 75301, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "10757:25:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 75302, - "nodeType": "RevertStatement", - "src": "10750:32:129" - } - ] - } - }, - { - "expression": { - "id": 75305, - "name": "_data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75288, - "src": "10847:5:129", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 75306, - "nodeType": "ExpressionStatement", - "src": "10847:5:129" - }, - { - "assignments": [ - 75311 - ], - "declarations": [ - { - "constant": false, - "id": 75311, - "mutability": "mutable", - "name": "proposal", - "nameLocation": "10899:8:129", - "nodeType": "VariableDeclaration", - "scope": 75469, - "src": "10862:45:129", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_CreateProposal_$74743_memory_ptr", - "typeString": "struct StrategyStruct.CreateProposal" - }, - "typeName": { - "id": 75310, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 75309, - "name": "StrategyStruct.CreateProposal", - "nameLocations": [ - "10862:14:129", - "10877:14:129" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 74743, - "src": "10862:29:129" - }, - "referencedDeclaration": 74743, - "src": "10862:29:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_CreateProposal_$74743_storage_ptr", - "typeString": "struct StrategyStruct.CreateProposal" - } - }, - "visibility": "internal" - } - ], - "id": 75319, - "initialValue": { - "arguments": [ - { - "id": 75314, - "name": "_data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75288, - "src": "10921:5:129", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "components": [ - { - "expression": { - "id": 75315, - "name": "StrategyStruct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74807, - "src": "10929:14:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_StrategyStruct_$74807_$", - "typeString": "type(library StrategyStruct)" - } - }, - "id": 75316, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "10944:14:129", - "memberName": "CreateProposal", - "nodeType": "MemberAccess", - "referencedDeclaration": 74743, - "src": "10929:29:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_CreateProposal_$74743_storage_ptr_$", - "typeString": "type(struct StrategyStruct.CreateProposal storage pointer)" - } - } - ], - "id": 75317, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "10928:31:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_CreateProposal_$74743_storage_ptr_$", - "typeString": "type(struct StrategyStruct.CreateProposal storage pointer)" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_type$_t_struct$_CreateProposal_$74743_storage_ptr_$", - "typeString": "type(struct StrategyStruct.CreateProposal storage pointer)" - } - ], - "expression": { - "id": 75312, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "10910:3:129", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 75313, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "10914:6:129", - "memberName": "decode", - "nodeType": "MemberAccess", - "src": "10910:10:129", - "typeDescriptions": { - "typeIdentifier": "t_function_abidecode_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 75318, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "10910:50:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_struct$_CreateProposal_$74743_memory_ptr", - "typeString": "struct StrategyStruct.CreateProposal memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "10862:98:129" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 75323, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 75320, - "name": "proposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75311, - "src": "11075:8:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_CreateProposal_$74743_memory_ptr", - "typeString": "struct StrategyStruct.CreateProposal memory" - } - }, - "id": 75321, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "11084:6:129", - "memberName": "poolId", - "nodeType": "MemberAccess", - "referencedDeclaration": 74733, - "src": "11075:15:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "hexValue": "30", - "id": 75322, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11094:1:129", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "11075:20:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 75328, - "nodeType": "IfStatement", - "src": "11071:78:129", - "trueBody": { - "id": 75327, - "nodeType": "Block", - "src": "11097:52:129", - "statements": [ - { - "errorCall": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 75324, - "name": "PoolIdCannotBeZero", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74834, - "src": "11118:18:129", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 75325, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "11118:20:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 75326, - "nodeType": "RevertStatement", - "src": "11111:27:129" - } - ] - } - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_enum$_ProposalType_$74726", - "typeString": "enum StrategyStruct.ProposalType" - }, - "id": 75333, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 75329, - "name": "proposalType", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75005, - "src": "11225:12:129", - "typeDescriptions": { - "typeIdentifier": "t_enum$_ProposalType_$74726", - "typeString": "enum StrategyStruct.ProposalType" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "expression": { - "expression": { - "id": 75330, - "name": "StrategyStruct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74807, - "src": "11241:14:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_StrategyStruct_$74807_$", - "typeString": "type(library StrategyStruct)" - } - }, - "id": 75331, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "11256:12:129", - "memberName": "ProposalType", - "nodeType": "MemberAccess", - "referencedDeclaration": 74726, - "src": "11241:27:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_ProposalType_$74726_$", - "typeString": "type(enum StrategyStruct.ProposalType)" - } - }, - "id": 75332, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "11269:7:129", - "memberName": "Funding", - "nodeType": "MemberAccess", - "referencedDeclaration": 74724, - "src": "11241:35:129", - "typeDescriptions": { - "typeIdentifier": "t_enum$_ProposalType_$74726", - "typeString": "enum StrategyStruct.ProposalType" - } - }, - "src": "11225:51:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 75380, - "nodeType": "IfStatement", - "src": "11221:722:129", - "trueBody": { - "id": 75379, - "nodeType": "Block", - "src": "11278:665:129", - "statements": [ - { - "expression": { - "arguments": [ - { - "expression": { - "id": 75335, - "name": "proposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75311, - "src": "11311:8:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_CreateProposal_$74743_memory_ptr", - "typeString": "struct StrategyStruct.CreateProposal memory" - } - }, - "id": 75336, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "11320:11:129", - "memberName": "beneficiary", - "nodeType": "MemberAccess", - "referencedDeclaration": 74735, - "src": "11311:20:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 75334, - "name": "_revertZeroAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75256, - "src": "11292:18:129", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_address_$returns$__$", - "typeString": "function (address) pure" - } - }, - "id": 75337, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "11292:40:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 75338, - "nodeType": "ExpressionStatement", - "src": "11292:40:129" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 75345, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 75339, - "name": "proposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75311, - "src": "11398:8:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_CreateProposal_$74743_memory_ptr", - "typeString": "struct StrategyStruct.CreateProposal memory" - } - }, - "id": 75340, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "11407:14:129", - "memberName": "requestedToken", - "nodeType": "MemberAccess", - "referencedDeclaration": 74739, - "src": "11398:23:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "arguments": [ - { - "hexValue": "30", - "id": 75343, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11433:1:129", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 75342, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "11425:7:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 75341, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "11425:7:129", - "typeDescriptions": {} - } - }, - "id": 75344, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "11425:10:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "11398:37:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 75350, - "nodeType": "IfStatement", - "src": "11394:102:129", - "trueBody": { - "id": 75349, - "nodeType": "Block", - "src": "11437:59:129", - "statements": [ - { - "errorCall": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 75346, - "name": "TokenCannotBeZero", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74828, - "src": "11462:17:129", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 75347, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "11462:19:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 75348, - "nodeType": "RevertStatement", - "src": "11455:26:129" - } - ] - } - }, - { - "assignments": [ - 75352 - ], - "declarations": [ - { - "constant": false, - "id": 75352, - "mutability": "mutable", - "name": "poolToken", - "nameLocation": "11517:9:129", - "nodeType": "VariableDeclaration", - "scope": 75379, - "src": "11509:17:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 75351, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "11509:7:129", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "id": 75360, - "initialValue": { - "expression": { - "arguments": [ - { - "id": 75357, - "name": "poolId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3341, - "src": "11552:6:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "id": 75353, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "11529:4:129", - "typeDescriptions": { - "typeIdentifier": "t_contract$_CVStrategy_$77611", - "typeString": "contract CVStrategy" - } - }, - "id": 75354, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "11534:7:129", - "memberName": "getAllo", - "nodeType": "MemberAccess", - "referencedDeclaration": 3421, - "src": "11529:12:129", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_contract$_IAllo_$2610_$", - "typeString": "function () view external returns (contract IAllo)" - } - }, - "id": 75355, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "11529:14:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IAllo_$2610", - "typeString": "contract IAllo" - } - }, - "id": 75356, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "11544:7:129", - "memberName": "getPool", - "nodeType": "MemberAccess", - "referencedDeclaration": 2603, - "src": "11529:22:129", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_struct$_Pool_$2319_memory_ptr_$", - "typeString": "function (uint256) view external returns (struct IAllo.Pool memory)" - } - }, - "id": 75358, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "11529:30:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pool_$2319_memory_ptr", - "typeString": "struct IAllo.Pool memory" - } - }, - "id": 75359, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "11560:5:129", - "memberName": "token", - "nodeType": "MemberAccess", - "referencedDeclaration": 2311, - "src": "11529:36:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "11509:56:129" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 75364, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 75361, - "name": "proposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75311, - "src": "11583:8:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_CreateProposal_$74743_memory_ptr", - "typeString": "struct StrategyStruct.CreateProposal memory" - } - }, - "id": 75362, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "11592:14:129", - "memberName": "requestedToken", - "nodeType": "MemberAccess", - "referencedDeclaration": 74739, - "src": "11583:23:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "id": 75363, - "name": "poolToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75352, - "src": "11610:9:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "11583:36:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 75369, - "nodeType": "IfStatement", - "src": "11579:234:129", - "trueBody": { - "id": 75368, - "nodeType": "Block", - "src": "11621:192:129", - "statements": [ - { - "errorCall": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 75365, - "name": "TokenNotAllowed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74830, - "src": "11781:15:129", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 75366, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "11781:17:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 75367, - "nodeType": "RevertStatement", - "src": "11774:24:129" - } - ] - } - }, - { - "condition": { - "arguments": [ - { - "expression": { - "id": 75371, - "name": "proposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75311, - "src": "11846:8:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_CreateProposal_$74743_memory_ptr", - "typeString": "struct StrategyStruct.CreateProposal memory" - } - }, - "id": 75372, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "11855:15:129", - "memberName": "amountRequested", - "nodeType": "MemberAccess", - "referencedDeclaration": 74737, - "src": "11846:24:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 75370, - "name": "_isOverMaxRatio", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76674, - "src": "11830:15:129", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) view returns (bool)" - } - }, - "id": 75373, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "11830:41:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 75378, - "nodeType": "IfStatement", - "src": "11826:107:129", - "trueBody": { - "id": 75377, - "nodeType": "Block", - "src": "11873:60:129", - "statements": [ - { - "errorCall": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 75374, - "name": "AmountOverMaxRatio", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74832, - "src": "11898:18:129", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 75375, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "11898:20:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 75376, - "nodeType": "RevertStatement", - "src": "11891:27:129" - } - ] - } - } - ] - } - }, - { - "assignments": [ - 75382 - ], - "declarations": [ - { - "constant": false, - "id": 75382, - "mutability": "mutable", - "name": "proposalId", - "nameLocation": "11960:10:129", - "nodeType": "VariableDeclaration", - "scope": 75469, - "src": "11952:18:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 75381, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11952:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 75385, - "initialValue": { - "id": 75384, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": true, - "src": "11973:17:129", - "subExpression": { - "id": 75383, - "name": "proposalCounter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74993, - "src": "11975:15:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "11952:38:129" - }, - { - "assignments": [ - 75390 - ], - "declarations": [ - { - "constant": false, - "id": 75390, - "mutability": "mutable", - "name": "p", - "nameLocation": "12032:1:129", - "nodeType": "VariableDeclaration", - "scope": 75469, - "src": "12000:33:129", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal" - }, - "typeName": { - "id": 75389, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 75388, - "name": "StrategyStruct.Proposal", - "nameLocations": [ - "12000:14:129", - "12015:8:129" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 74776, - "src": "12000:23:129" - }, - "referencedDeclaration": 74776, - "src": "12000:23:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal" - } - }, - "visibility": "internal" - } - ], - "id": 75394, - "initialValue": { - "baseExpression": { - "id": 75391, - "name": "proposals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75022, - "src": "12036:9:129", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Proposal_$74776_storage_$", - "typeString": "mapping(uint256 => struct StrategyStruct.Proposal storage ref)" - } - }, - "id": 75393, - "indexExpression": { - "id": 75392, - "name": "proposalId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75382, - "src": "12046:10:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "12036:21:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage", - "typeString": "struct StrategyStruct.Proposal storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "12000:57:129" - }, - { - "expression": { - "id": 75399, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "expression": { - "id": 75395, - "name": "p", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75390, - "src": "12068:1:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal storage pointer" - } - }, - "id": 75397, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberLocation": "12070:10:129", - "memberName": "proposalId", - "nodeType": "MemberAccess", - "referencedDeclaration": 74751, - "src": "12068:12:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 75398, - "name": "proposalId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75382, - "src": "12083:10:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "12068:25:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 75400, - "nodeType": "ExpressionStatement", - "src": "12068:25:129" - }, - { - "expression": { - "id": 75405, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "expression": { - "id": 75401, - "name": "p", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75390, - "src": "12103:1:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal storage pointer" - } - }, - "id": 75403, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberLocation": "12105:9:129", - "memberName": "submitter", - "nodeType": "MemberAccess", - "referencedDeclaration": 74761, - "src": "12103:11:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 75404, - "name": "_sender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75290, - "src": "12117:7:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "12103:21:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 75406, - "nodeType": "ExpressionStatement", - "src": "12103:21:129" - }, - { - "expression": { - "id": 75412, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "expression": { - "id": 75407, - "name": "p", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75390, - "src": "12134:1:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal storage pointer" - } - }, - "id": 75409, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberLocation": "12136:11:129", - "memberName": "beneficiary", - "nodeType": "MemberAccess", - "referencedDeclaration": 74759, - "src": "12134:13:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "expression": { - "id": 75410, - "name": "proposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75311, - "src": "12150:8:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_CreateProposal_$74743_memory_ptr", - "typeString": "struct StrategyStruct.CreateProposal memory" - } - }, - "id": 75411, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "12159:11:129", - "memberName": "beneficiary", - "nodeType": "MemberAccess", - "referencedDeclaration": 74735, - "src": "12150:20:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "12134:36:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 75413, - "nodeType": "ExpressionStatement", - "src": "12134:36:129" - }, - { - "expression": { - "id": 75419, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "expression": { - "id": 75414, - "name": "p", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75390, - "src": "12180:1:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal storage pointer" - } - }, - "id": 75416, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberLocation": "12182:14:129", - "memberName": "requestedToken", - "nodeType": "MemberAccess", - "referencedDeclaration": 74763, - "src": "12180:16:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "expression": { - "id": 75417, - "name": "proposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75311, - "src": "12199:8:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_CreateProposal_$74743_memory_ptr", - "typeString": "struct StrategyStruct.CreateProposal memory" - } - }, - "id": 75418, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "12208:14:129", - "memberName": "requestedToken", - "nodeType": "MemberAccess", - "referencedDeclaration": 74739, - "src": "12199:23:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "12180:42:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 75420, - "nodeType": "ExpressionStatement", - "src": "12180:42:129" - }, - { - "expression": { - "id": 75426, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "expression": { - "id": 75421, - "name": "p", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75390, - "src": "12232:1:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal storage pointer" - } - }, - "id": 75423, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberLocation": "12234:15:129", - "memberName": "requestedAmount", - "nodeType": "MemberAccess", - "referencedDeclaration": 74753, - "src": "12232:17:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "expression": { - "id": 75424, - "name": "proposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75311, - "src": "12252:8:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_CreateProposal_$74743_memory_ptr", - "typeString": "struct StrategyStruct.CreateProposal memory" - } - }, - "id": 75425, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "12261:15:129", - "memberName": "amountRequested", - "nodeType": "MemberAccess", - "referencedDeclaration": 74737, - "src": "12252:24:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "12232:44:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 75427, - "nodeType": "ExpressionStatement", - "src": "12232:44:129" - }, - { - "expression": { - "id": 75434, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "expression": { - "id": 75428, - "name": "p", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75390, - "src": "12337:1:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal storage pointer" - } - }, - "id": 75430, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberLocation": "12339:14:129", - "memberName": "proposalStatus", - "nodeType": "MemberAccess", - "referencedDeclaration": 74768, - "src": "12337:16:129", - "typeDescriptions": { - "typeIdentifier": "t_enum$_ProposalStatus_$74749", - "typeString": "enum StrategyStruct.ProposalStatus" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "expression": { - "expression": { - "id": 75431, - "name": "StrategyStruct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74807, - "src": "12356:14:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_StrategyStruct_$74807_$", - "typeString": "type(library StrategyStruct)" - } - }, - "id": 75432, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "12371:14:129", - "memberName": "ProposalStatus", - "nodeType": "MemberAccess", - "referencedDeclaration": 74749, - "src": "12356:29:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_ProposalStatus_$74749_$", - "typeString": "type(enum StrategyStruct.ProposalStatus)" - } - }, - "id": 75433, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "12386:6:129", - "memberName": "Active", - "nodeType": "MemberAccess", - "referencedDeclaration": 74745, - "src": "12356:36:129", - "typeDescriptions": { - "typeIdentifier": "t_enum$_ProposalStatus_$74749", - "typeString": "enum StrategyStruct.ProposalStatus" - } - }, - "src": "12337:55:129", - "typeDescriptions": { - "typeIdentifier": "t_enum$_ProposalStatus_$74749", - "typeString": "enum StrategyStruct.ProposalStatus" - } - }, - "id": 75435, - "nodeType": "ExpressionStatement", - "src": "12337:55:129" - }, - { - "expression": { - "id": 75441, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "expression": { - "id": 75436, - "name": "p", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75390, - "src": "12402:1:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal storage pointer" - } - }, - "id": 75438, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberLocation": "12404:9:129", - "memberName": "blockLast", - "nodeType": "MemberAccess", - "referencedDeclaration": 74765, - "src": "12402:11:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "expression": { - "id": 75439, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "12416:5:129", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 75440, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "12422:6:129", - "memberName": "number", - "nodeType": "MemberAccess", - "src": "12416:12:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "12402:26:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 75442, - "nodeType": "ExpressionStatement", - "src": "12402:26:129" - }, - { - "expression": { - "id": 75447, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "expression": { - "id": 75443, - "name": "p", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75390, - "src": "12438:1:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal storage pointer" - } - }, - "id": 75445, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberLocation": "12440:14:129", - "memberName": "convictionLast", - "nodeType": "MemberAccess", - "referencedDeclaration": 74757, - "src": "12438:16:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "hexValue": "30", - "id": 75446, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12457:1:129", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "12438:20:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 75448, - "nodeType": "ExpressionStatement", - "src": "12438:20:129" - }, - { - "expression": { - "id": 75454, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "expression": { - "id": 75449, - "name": "p", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75390, - "src": "12504:1:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal storage pointer" - } - }, - "id": 75451, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberLocation": "12506:8:129", - "memberName": "metadata", - "nodeType": "MemberAccess", - "referencedDeclaration": 74775, - "src": "12504:10:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Metadata_$3098_storage", - "typeString": "struct Metadata storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "expression": { - "id": 75452, - "name": "proposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75311, - "src": "12517:8:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_CreateProposal_$74743_memory_ptr", - "typeString": "struct StrategyStruct.CreateProposal memory" - } - }, - "id": 75453, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "12526:8:129", - "memberName": "metadata", - "nodeType": "MemberAccess", - "referencedDeclaration": 74742, - "src": "12517:17:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Metadata_$3098_memory_ptr", - "typeString": "struct Metadata memory" - } - }, - "src": "12504:30:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Metadata_$3098_storage", - "typeString": "struct Metadata storage ref" - } - }, - "id": 75455, - "nodeType": "ExpressionStatement", - "src": "12504:30:129" - }, - { - "eventCall": { - "arguments": [ - { - "id": 75457, - "name": "poolId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3341, - "src": "12566:6:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 75458, - "name": "proposalId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75382, - "src": "12574:10:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 75456, - "name": "ProposalCreated", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74911, - "src": "12550:15:129", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (uint256,uint256)" - } - }, - "id": 75459, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "12550:35:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 75460, - "nodeType": "EmitStatement", - "src": "12545:40:129" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "id": 75465, - "name": "proposalId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75382, - "src": "12618:10:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 75464, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "12610:7:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint160_$", - "typeString": "type(uint160)" - }, - "typeName": { - "id": 75463, - "name": "uint160", - "nodeType": "ElementaryTypeName", - "src": "12610:7:129", - "typeDescriptions": {} - } - }, - "id": 75466, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "12610:19:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint160", - "typeString": "uint160" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint160", - "typeString": "uint160" - } - ], - "id": 75462, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "12602:7:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 75461, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12602:7:129", - "typeDescriptions": {} - } - }, - "id": 75467, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "12602:28:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "functionReturnParameters": 75295, - "id": 75468, - "nodeType": "Return", - "src": "12595:35:129" - } - ] - }, - "baseFunctions": [ - 3809 - ], - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_registerRecipient", - "nameLocation": "10601:18:129", - "overrides": { - "id": 75292, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "10666:8:129" - }, - "parameters": { - "id": 75291, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 75288, - "mutability": "mutable", - "name": "_data", - "nameLocation": "10633:5:129", - "nodeType": "VariableDeclaration", - "scope": 75470, - "src": "10620:18:129", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 75287, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "10620:5:129", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 75290, - "mutability": "mutable", - "name": "_sender", - "nameLocation": "10648:7:129", - "nodeType": "VariableDeclaration", - "scope": 75470, - "src": "10640:15:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 75289, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10640:7:129", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "10619:37:129" - }, - "returnParameters": { - "id": 75295, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 75294, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 75470, - "src": "10684:7:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 75293, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10684:7:129", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "10683:9:129" - }, - "scope": 77611, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "id": 75509, - "nodeType": "FunctionDefinition", - "src": "12643:351:129", - "nodes": [], - "body": { - "id": 75508, - "nodeType": "Block", - "src": "12678:316:129", - "nodes": [], - "statements": [ - { - "assignments": [ - 75474 - ], - "declarations": [ - { - "constant": false, - "id": 75474, - "mutability": "mutable", - "name": "member", - "nameLocation": "12696:6:129", - "nodeType": "VariableDeclaration", - "scope": 75508, - "src": "12688:14:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 75473, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12688:7:129", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "id": 75477, - "initialValue": { - "expression": { - "id": 75475, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "12705:3:129", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 75476, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "12709:6:129", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "12705:10:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "12688:27:129" - }, - { - "condition": { - "id": 75481, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "12729:26:129", - "subExpression": { - "arguments": [ - { - "id": 75479, - "name": "member", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75474, - "src": "12748:6:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 75478, - "name": "_canExecuteAction", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75286, - "src": "12730:17:129", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", - "typeString": "function (address) view returns (bool)" - } - }, - "id": 75480, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "12730:25:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 75486, - "nodeType": "IfStatement", - "src": "12725:89:129", - "trueBody": { - "id": 75485, - "nodeType": "Block", - "src": "12757:57:129", - "statements": [ - { - "errorCall": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 75482, - "name": "UserCannotExecuteAction", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74890, - "src": "12778:23:129", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 75483, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "12778:25:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 75484, - "nodeType": "RevertStatement", - "src": "12771:32:129" - } - ] - } - }, - { - "expression": { - "arguments": [ - { - "id": 75490, - "name": "member", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75474, - "src": "12866:6:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "arguments": [ - { - "id": 75493, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "12882:4:129", - "typeDescriptions": { - "typeIdentifier": "t_contract$_CVStrategy_$77611", - "typeString": "contract CVStrategy" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_CVStrategy_$77611", - "typeString": "contract CVStrategy" - } - ], - "id": 75492, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "12874:7:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 75491, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12874:7:129", - "typeDescriptions": {} - } - }, - "id": 75494, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "12874:13:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "id": 75487, - "name": "registryCommunity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75014, - "src": "12823:17:129", - "typeDescriptions": { - "typeIdentifier": "t_contract$_RegistryCommunity_$83082", - "typeString": "contract RegistryCommunity" - } - }, - "id": 75489, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "12841:24:129", - "memberName": "activateMemberInStrategy", - "nodeType": "MemberAccess", - "referencedDeclaration": 82041, - "src": "12823:42:129", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$returns$__$", - "typeString": "function (address,address) external" - } - }, - "id": 75495, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "12823:65:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 75496, - "nodeType": "ExpressionStatement", - "src": "12823:65:129" - }, - { - "expression": { - "id": 75506, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 75497, - "name": "totalPointsActivated", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74997, - "src": "12898:20:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "arguments": [ - { - "id": 75500, - "name": "member", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75474, - "src": "12965:6:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "arguments": [ - { - "id": 75503, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "12981:4:129", - "typeDescriptions": { - "typeIdentifier": "t_contract$_CVStrategy_$77611", - "typeString": "contract CVStrategy" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_CVStrategy_$77611", - "typeString": "contract CVStrategy" - } - ], - "id": 75502, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "12973:7:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 75501, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12973:7:129", - "typeDescriptions": {} - } - }, - "id": 75504, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "12973:13:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "id": 75498, - "name": "registryCommunity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75014, - "src": "12922:17:129", - "typeDescriptions": { - "typeIdentifier": "t_contract$_RegistryCommunity_$83082", - "typeString": "contract RegistryCommunity" - } - }, - "id": 75499, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "12940:24:129", - "memberName": "getMemberPowerInStrategy", - "nodeType": "MemberAccess", - "referencedDeclaration": 82423, - "src": "12922:42:129", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$", - "typeString": "function (address,address) view external returns (uint256)" - } - }, - "id": 75505, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "12922:65:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "12898:89:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 75507, - "nodeType": "ExpressionStatement", - "src": "12898:89:129" - } - ] - }, - "functionSelector": "814516ad", - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "activatePoints", - "nameLocation": "12652:14:129", - "parameters": { - "id": 75471, - "nodeType": "ParameterList", - "parameters": [], - "src": "12666:2:129" - }, - "returnParameters": { - "id": 75472, - "nodeType": "ParameterList", - "parameters": [], - "src": "12678:0:129" - }, - "scope": 77611, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "id": 75518, - "nodeType": "FunctionDefinition", - "src": "13000:81:129", - "nodes": [], - "body": { - "id": 75517, - "nodeType": "Block", - "src": "13035:46:129", - "nodes": [], - "statements": [ - { - "expression": { - "arguments": [ - { - "expression": { - "id": 75513, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "13063:3:129", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 75514, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "13067:6:129", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "13063:10:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 75512, - "name": "_deactivatePoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75566, - "src": "13045:17:129", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", - "typeString": "function (address)" - } - }, - "id": 75515, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "13045:29:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 75516, - "nodeType": "ExpressionStatement", - "src": "13045:29:129" - } - ] - }, - "functionSelector": "1ddf1e23", - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "deactivatePoints", - "nameLocation": "13009:16:129", - "parameters": { - "id": 75510, - "nodeType": "ParameterList", - "parameters": [], - "src": "13025:2:129" - }, - "returnParameters": { - "id": 75511, - "nodeType": "ParameterList", - "parameters": [], - "src": "13035:0:129" - }, - "scope": 77611, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "id": 75531, - "nodeType": "FunctionDefinition", - "src": "13087:128:129", - "nodes": [], - "body": { - "id": 75530, - "nodeType": "Block", - "src": "13139:76:129", - "nodes": [], - "statements": [ - { - "expression": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 75523, - "name": "onlyRegistryCommunity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75240, - "src": "13149:21:129", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$__$", - "typeString": "function () view" - } - }, - "id": 75524, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "13149:23:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 75525, - "nodeType": "ExpressionStatement", - "src": "13149:23:129" - }, - { - "expression": { - "arguments": [ - { - "id": 75527, - "name": "_member", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75520, - "src": "13200:7:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 75526, - "name": "_deactivatePoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75566, - "src": "13182:17:129", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", - "typeString": "function (address)" - } - }, - "id": 75528, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "13182:26:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 75529, - "nodeType": "ExpressionStatement", - "src": "13182:26:129" - } - ] - }, - "baseFunctions": [ - 74697 - ], - "functionSelector": "6453d9c4", - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "deactivatePoints", - "nameLocation": "13096:16:129", - "parameters": { - "id": 75521, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 75520, - "mutability": "mutable", - "name": "_member", - "nameLocation": "13121:7:129", - "nodeType": "VariableDeclaration", - "scope": 75531, - "src": "13113:15:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 75519, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "13113:7:129", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "13112:17:129" - }, - "returnParameters": { - "id": 75522, - "nodeType": "ParameterList", - "parameters": [], - "src": "13139:0:129" - }, - "scope": 77611, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "id": 75566, - "nodeType": "FunctionDefinition", - "src": "13221:351:129", - "nodes": [], - "body": { - "id": 75565, - "nodeType": "Block", - "src": "13274:298:129", - "nodes": [], - "statements": [ - { - "expression": { - "id": 75545, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 75536, - "name": "totalPointsActivated", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74997, - "src": "13284:20:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "-=", - "rightHandSide": { - "arguments": [ - { - "id": 75539, - "name": "_member", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75533, - "src": "13351:7:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "arguments": [ - { - "id": 75542, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "13368:4:129", - "typeDescriptions": { - "typeIdentifier": "t_contract$_CVStrategy_$77611", - "typeString": "contract CVStrategy" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_CVStrategy_$77611", - "typeString": "contract CVStrategy" - } - ], - "id": 75541, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "13360:7:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 75540, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "13360:7:129", - "typeDescriptions": {} - } - }, - "id": 75543, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "13360:13:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "id": 75537, - "name": "registryCommunity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75014, - "src": "13308:17:129", - "typeDescriptions": { - "typeIdentifier": "t_contract$_RegistryCommunity_$83082", - "typeString": "contract RegistryCommunity" - } - }, - "id": 75538, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "13326:24:129", - "memberName": "getMemberPowerInStrategy", - "nodeType": "MemberAccess", - "referencedDeclaration": 82423, - "src": "13308:42:129", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$", - "typeString": "function (address,address) view external returns (uint256)" - } - }, - "id": 75544, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "13308:66:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "13284:90:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 75546, - "nodeType": "ExpressionStatement", - "src": "13284:90:129" - }, - { - "expression": { - "arguments": [ - { - "id": 75550, - "name": "_member", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75533, - "src": "13429:7:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "arguments": [ - { - "id": 75553, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "13446:4:129", - "typeDescriptions": { - "typeIdentifier": "t_contract$_CVStrategy_$77611", - "typeString": "contract CVStrategy" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_CVStrategy_$77611", - "typeString": "contract CVStrategy" - } - ], - "id": 75552, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "13438:7:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 75551, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "13438:7:129", - "typeDescriptions": {} - } - }, - "id": 75554, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "13438:13:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "id": 75547, - "name": "registryCommunity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75014, - "src": "13384:17:129", - "typeDescriptions": { - "typeIdentifier": "t_contract$_RegistryCommunity_$83082", - "typeString": "contract RegistryCommunity" - } - }, - "id": 75549, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "13402:26:129", - "memberName": "deactivateMemberInStrategy", - "nodeType": "MemberAccess", - "referencedDeclaration": 82100, - "src": "13384:44:129", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$returns$__$", - "typeString": "function (address,address) external" - } - }, - "id": 75555, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "13384:68:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 75556, - "nodeType": "ExpressionStatement", - "src": "13384:68:129" - }, - { - "expression": { - "arguments": [ - { - "id": 75558, - "name": "_member", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75533, - "src": "13516:7:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 75557, - "name": "withdraw", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76468, - "src": "13507:8:129", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", - "typeString": "function (address)" - } - }, - "id": 75559, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "13507:17:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 75560, - "nodeType": "ExpressionStatement", - "src": "13507:17:129" - }, - { - "eventCall": { - "arguments": [ - { - "id": 75562, - "name": "_member", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75533, - "src": "13557:7:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 75561, - "name": "PointsDeactivated", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74947, - "src": "13539:17:129", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$", - "typeString": "function (address)" - } - }, - "id": 75563, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "13539:26:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 75564, - "nodeType": "EmitStatement", - "src": "13534:31:129" - } - ] - }, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_deactivatePoints", - "nameLocation": "13230:17:129", - "parameters": { - "id": 75534, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 75533, - "mutability": "mutable", - "name": "_member", - "nameLocation": "13256:7:129", - "nodeType": "VariableDeclaration", - "scope": 75566, - "src": "13248:15:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 75532, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "13248:7:129", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "13247:17:129" - }, - "returnParameters": { - "id": 75535, - "nodeType": "ParameterList", - "parameters": [], - "src": "13274:0:129" - }, - "scope": 77611, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "id": 75659, - "nodeType": "FunctionDefinition", - "src": "13578:1012:129", - "nodes": [], - "body": { - "id": 75658, - "nodeType": "Block", - "src": "13669:921:129", - "nodes": [], - "statements": [ - { - "expression": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 75575, - "name": "onlyRegistryCommunity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75240, - "src": "13679:21:129", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$__$", - "typeString": "function () view" - } - }, - "id": 75576, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "13679:23:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 75577, - "nodeType": "ExpressionStatement", - "src": "13679:23:129" - }, - { - "condition": { - "id": 75581, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "13716:27:129", - "subExpression": { - "arguments": [ - { - "id": 75579, - "name": "_member", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75568, - "src": "13735:7:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 75578, - "name": "_canExecuteAction", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75286, - "src": "13717:17:129", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", - "typeString": "function (address) view returns (bool)" - } - }, - "id": 75580, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "13717:26:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 75586, - "nodeType": "IfStatement", - "src": "13712:90:129", - "trueBody": { - "id": 75585, - "nodeType": "Block", - "src": "13745:57:129", - "statements": [ - { - "errorCall": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 75582, - "name": "UserCannotExecuteAction", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74890, - "src": "13766:23:129", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 75583, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "13766:25:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 75584, - "nodeType": "RevertStatement", - "src": "13759:32:129" - } - ] - } - }, - { - "assignments": [ - 75588 - ], - "declarations": [ - { - "constant": false, - "id": 75588, - "mutability": "mutable", - "name": "pointsToIncrease", - "nameLocation": "13819:16:129", - "nodeType": "VariableDeclaration", - "scope": 75658, - "src": "13811:24:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 75587, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13811:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 75590, - "initialValue": { - "hexValue": "30", - "id": 75589, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13838:1:129", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "13811:28:129" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_enum$_PointSystem_$74731", - "typeString": "enum StrategyStruct.PointSystem" - }, - "id": 75595, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 75591, - "name": "pointSystem", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75008, - "src": "13853:11:129", - "typeDescriptions": { - "typeIdentifier": "t_enum$_PointSystem_$74731", - "typeString": "enum StrategyStruct.PointSystem" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "expression": { - "expression": { - "id": 75592, - "name": "StrategyStruct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74807, - "src": "13868:14:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_StrategyStruct_$74807_$", - "typeString": "type(library StrategyStruct)" - } - }, - "id": 75593, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "13883:11:129", - "memberName": "PointSystem", - "nodeType": "MemberAccess", - "referencedDeclaration": 74731, - "src": "13868:26:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_PointSystem_$74731_$", - "typeString": "type(enum StrategyStruct.PointSystem)" - } - }, - "id": 75594, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "13895:9:129", - "memberName": "Unlimited", - "nodeType": "MemberAccess", - "referencedDeclaration": 74729, - "src": "13868:36:129", - "typeDescriptions": { - "typeIdentifier": "t_enum$_PointSystem_$74731", - "typeString": "enum StrategyStruct.PointSystem" - } - }, - "src": "13853:51:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "condition": { - "commonType": { - "typeIdentifier": "t_enum$_PointSystem_$74731", - "typeString": "enum StrategyStruct.PointSystem" - }, - "id": 75607, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 75603, - "name": "pointSystem", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75008, - "src": "13998:11:129", - "typeDescriptions": { - "typeIdentifier": "t_enum$_PointSystem_$74731", - "typeString": "enum StrategyStruct.PointSystem" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "expression": { - "expression": { - "id": 75604, - "name": "StrategyStruct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74807, - "src": "14013:14:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_StrategyStruct_$74807_$", - "typeString": "type(library StrategyStruct)" - } - }, - "id": 75605, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "14028:11:129", - "memberName": "PointSystem", - "nodeType": "MemberAccess", - "referencedDeclaration": 74731, - "src": "14013:26:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_PointSystem_$74731_$", - "typeString": "type(enum StrategyStruct.PointSystem)" - } - }, - "id": 75606, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "14040:6:129", - "memberName": "Capped", - "nodeType": "MemberAccess", - "referencedDeclaration": 74728, - "src": "14013:33:129", - "typeDescriptions": { - "typeIdentifier": "t_enum$_PointSystem_$74731", - "typeString": "enum StrategyStruct.PointSystem" - } - }, - "src": "13998:48:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "condition": { - "commonType": { - "typeIdentifier": "t_enum$_PointSystem_$74731", - "typeString": "enum StrategyStruct.PointSystem" - }, - "id": 75620, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 75616, - "name": "pointSystem", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75008, - "src": "14146:11:129", - "typeDescriptions": { - "typeIdentifier": "t_enum$_PointSystem_$74731", - "typeString": "enum StrategyStruct.PointSystem" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "expression": { - "expression": { - "id": 75617, - "name": "StrategyStruct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74807, - "src": "14161:14:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_StrategyStruct_$74807_$", - "typeString": "type(library StrategyStruct)" - } - }, - "id": 75618, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "14176:11:129", - "memberName": "PointSystem", - "nodeType": "MemberAccess", - "referencedDeclaration": 74731, - "src": "14161:26:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_PointSystem_$74731_$", - "typeString": "type(enum StrategyStruct.PointSystem)" - } - }, - "id": 75619, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "14188:9:129", - "memberName": "Quadratic", - "nodeType": "MemberAccess", - "referencedDeclaration": 74730, - "src": "14161:36:129", - "typeDescriptions": { - "typeIdentifier": "t_enum$_PointSystem_$74731", - "typeString": "enum StrategyStruct.PointSystem" - } - }, - "src": "14146:51:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 75629, - "nodeType": "IfStatement", - "src": "14142:148:129", - "trueBody": { - "id": 75628, - "nodeType": "Block", - "src": "14199:91:129", - "statements": [ - { - "expression": { - "id": 75626, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 75621, - "name": "pointsToIncrease", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75588, - "src": "14213:16:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "id": 75623, - "name": "_member", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75568, - "src": "14255:7:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 75624, - "name": "_amountToStake", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75570, - "src": "14264:14:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 75622, - "name": "increasePowerQuadratic", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75872, - "src": "14232:22:129", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (address,uint256) view returns (uint256)" - } - }, - "id": 75625, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "14232:47:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "14213:66:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 75627, - "nodeType": "ExpressionStatement", - "src": "14213:66:129" - } - ] - } - }, - "id": 75630, - "nodeType": "IfStatement", - "src": "13994:296:129", - "trueBody": { - "id": 75615, - "nodeType": "Block", - "src": "14048:88:129", - "statements": [ - { - "expression": { - "id": 75613, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 75608, - "name": "pointsToIncrease", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75588, - "src": "14062:16:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "id": 75610, - "name": "_member", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75568, - "src": "14101:7:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 75611, - "name": "_amountToStake", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75570, - "src": "14110:14:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 75609, - "name": "increasePowerCapped", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75788, - "src": "14081:19:129", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (address,uint256) view returns (uint256)" - } - }, - "id": 75612, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "14081:44:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "14062:63:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 75614, - "nodeType": "ExpressionStatement", - "src": "14062:63:129" - } - ] - } - }, - "id": 75631, - "nodeType": "IfStatement", - "src": "13849:441:129", - "trueBody": { - "id": 75602, - "nodeType": "Block", - "src": "13906:82:129", - "statements": [ - { - "expression": { - "id": 75600, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 75596, - "name": "pointsToIncrease", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75588, - "src": "13920:16:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "id": 75598, - "name": "_amountToStake", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75570, - "src": "13962:14:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 75597, - "name": "increasePowerUnlimited", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75725, - "src": "13939:22:129", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - } - }, - "id": 75599, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "13939:38:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "13920:57:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 75601, - "nodeType": "ExpressionStatement", - "src": "13920:57:129" - } - ] - } - }, - { - "assignments": [ - 75633 - ], - "declarations": [ - { - "constant": false, - "id": 75633, - "mutability": "mutable", - "name": "isActivated", - "nameLocation": "14304:11:129", - "nodeType": "VariableDeclaration", - "scope": 75658, - "src": "14299:16:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 75632, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "14299:4:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "id": 75642, - "initialValue": { - "arguments": [ - { - "id": 75636, - "name": "_member", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75568, - "src": "14364:7:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "arguments": [ - { - "id": 75639, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "14381:4:129", - "typeDescriptions": { - "typeIdentifier": "t_contract$_CVStrategy_$77611", - "typeString": "contract CVStrategy" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_CVStrategy_$77611", - "typeString": "contract CVStrategy" - } - ], - "id": 75638, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "14373:7:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 75637, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "14373:7:129", - "typeDescriptions": {} - } - }, - "id": 75640, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "14373:13:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "id": 75634, - "name": "registryCommunity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75014, - "src": "14318:17:129", - "typeDescriptions": { - "typeIdentifier": "t_contract$_RegistryCommunity_$83082", - "typeString": "contract RegistryCommunity" - } - }, - "id": 75635, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "14336:27:129", - "memberName": "memberActivatedInStrategies", - "nodeType": "MemberAccess", - "referencedDeclaration": 81575, - "src": "14318:45:129", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$_t_address_$returns$_t_bool_$", - "typeString": "function (address,address) view external returns (bool)" - } - }, - "id": 75641, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "14318:69:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "14299:88:129" - }, - { - "condition": { - "id": 75643, - "name": "isActivated", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75633, - "src": "14401:11:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 75649, - "nodeType": "IfStatement", - "src": "14397:82:129", - "trueBody": { - "id": 75648, - "nodeType": "Block", - "src": "14414:65:129", - "statements": [ - { - "expression": { - "id": 75646, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 75644, - "name": "totalPointsActivated", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74997, - "src": "14428:20:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "id": 75645, - "name": "pointsToIncrease", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75588, - "src": "14452:16:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "14428:40:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 75647, - "nodeType": "ExpressionStatement", - "src": "14428:40:129" - } - ] - } - }, - { - "eventCall": { - "arguments": [ - { - "id": 75651, - "name": "_member", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75568, - "src": "14508:7:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 75652, - "name": "_amountToStake", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75570, - "src": "14517:14:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 75653, - "name": "pointsToIncrease", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75588, - "src": "14533:16:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 75650, - "name": "PowerIncreased", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74923, - "src": "14493:14:129", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256,uint256)" - } - }, - "id": 75654, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "14493:57:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 75655, - "nodeType": "EmitStatement", - "src": "14488:62:129" - }, - { - "expression": { - "id": 75656, - "name": "pointsToIncrease", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75588, - "src": "14567:16:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 75574, - "id": 75657, - "nodeType": "Return", - "src": "14560:23:129" - } - ] - }, - "baseFunctions": [ - 74706 - ], - "functionSelector": "782aadff", - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "increasePower", - "nameLocation": "13587:13:129", - "parameters": { - "id": 75571, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 75568, - "mutability": "mutable", - "name": "_member", - "nameLocation": "13609:7:129", - "nodeType": "VariableDeclaration", - "scope": 75659, - "src": "13601:15:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 75567, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "13601:7:129", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 75570, - "mutability": "mutable", - "name": "_amountToStake", - "nameLocation": "13626:14:129", - "nodeType": "VariableDeclaration", - "scope": 75659, - "src": "13618:22:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 75569, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13618:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "13600:41:129" - }, - "returnParameters": { - "id": 75574, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 75573, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 75659, - "src": "13660:7:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 75572, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13660:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "13659:9:129" - }, - "scope": 77611, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "id": 75715, - "nodeType": "FunctionDefinition", - "src": "14596:681:129", - "nodes": [], - "body": { - "id": 75714, - "nodeType": "Block", - "src": "14689:588:129", - "nodes": [], - "statements": [ - { - "expression": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 75668, - "name": "onlyRegistryCommunity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75240, - "src": "14699:21:129", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$__$", - "typeString": "function () view" - } - }, - "id": 75669, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "14699:23:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 75670, - "nodeType": "ExpressionStatement", - "src": "14699:23:129" - }, - { - "assignments": [ - 75672 - ], - "declarations": [ - { - "constant": false, - "id": 75672, - "mutability": "mutable", - "name": "pointsToDecrease", - "nameLocation": "14786:16:129", - "nodeType": "VariableDeclaration", - "scope": 75714, - "src": "14778:24:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 75671, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14778:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 75674, - "initialValue": { - "hexValue": "30", - "id": 75673, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14805:1:129", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "14778:28:129" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 75685, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_enum$_PointSystem_$74731", - "typeString": "enum StrategyStruct.PointSystem" - }, - "id": 75679, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 75675, - "name": "pointSystem", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75008, - "src": "14820:11:129", - "typeDescriptions": { - "typeIdentifier": "t_enum$_PointSystem_$74731", - "typeString": "enum StrategyStruct.PointSystem" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "expression": { - "expression": { - "id": 75676, - "name": "StrategyStruct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74807, - "src": "14835:14:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_StrategyStruct_$74807_$", - "typeString": "type(library StrategyStruct)" - } - }, - "id": 75677, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "14850:11:129", - "memberName": "PointSystem", - "nodeType": "MemberAccess", - "referencedDeclaration": 74731, - "src": "14835:26:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_PointSystem_$74731_$", - "typeString": "type(enum StrategyStruct.PointSystem)" - } - }, - "id": 75678, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "14862:9:129", - "memberName": "Unlimited", - "nodeType": "MemberAccess", - "referencedDeclaration": 74729, - "src": "14835:36:129", - "typeDescriptions": { - "typeIdentifier": "t_enum$_PointSystem_$74731", - "typeString": "enum StrategyStruct.PointSystem" - } - }, - "src": "14820:51:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_enum$_PointSystem_$74731", - "typeString": "enum StrategyStruct.PointSystem" - }, - "id": 75684, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 75680, - "name": "pointSystem", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75008, - "src": "14875:11:129", - "typeDescriptions": { - "typeIdentifier": "t_enum$_PointSystem_$74731", - "typeString": "enum StrategyStruct.PointSystem" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "expression": { - "expression": { - "id": 75681, - "name": "StrategyStruct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74807, - "src": "14890:14:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_StrategyStruct_$74807_$", - "typeString": "type(library StrategyStruct)" - } - }, - "id": 75682, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "14905:11:129", - "memberName": "PointSystem", - "nodeType": "MemberAccess", - "referencedDeclaration": 74731, - "src": "14890:26:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_PointSystem_$74731_$", - "typeString": "type(enum StrategyStruct.PointSystem)" - } - }, - "id": 75683, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "14917:6:129", - "memberName": "Capped", - "nodeType": "MemberAccess", - "referencedDeclaration": 74728, - "src": "14890:33:129", - "typeDescriptions": { - "typeIdentifier": "t_enum$_PointSystem_$74731", - "typeString": "enum StrategyStruct.PointSystem" - } - }, - "src": "14875:48:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "14820:103:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 75700, - "nodeType": "Block", - "src": "15021:93:129", - "statements": [ - { - "expression": { - "id": 75698, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 75693, - "name": "pointsToDecrease", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75672, - "src": "15035:16:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "id": 75695, - "name": "_member", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75661, - "src": "15077:7:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 75696, - "name": "_amountToUnstake", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75663, - "src": "15086:16:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 75694, - "name": "decreasePowerQuadratic", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75976, - "src": "15054:22:129", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (address,uint256) view returns (uint256)" - } - }, - "id": 75697, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "15054:49:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15035:68:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 75699, - "nodeType": "ExpressionStatement", - "src": "15035:68:129" - } - ] - }, - "id": 75701, - "nodeType": "IfStatement", - "src": "14816:298:129", - "trueBody": { - "id": 75692, - "nodeType": "Block", - "src": "14925:90:129", - "statements": [ - { - "expression": { - "id": 75690, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 75686, - "name": "pointsToDecrease", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75672, - "src": "14939:16:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "id": 75688, - "name": "_amountToUnstake", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75663, - "src": "14987:16:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 75687, - "name": "decreasePowerCappedUnlimited", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75882, - "src": "14958:28:129", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - } - }, - "id": 75689, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "14958:46:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "14939:65:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 75691, - "nodeType": "ExpressionStatement", - "src": "14939:65:129" - } - ] - } - }, - { - "expression": { - "id": 75704, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 75702, - "name": "totalPointsActivated", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74997, - "src": "15123:20:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "-=", - "rightHandSide": { - "id": 75703, - "name": "pointsToDecrease", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75672, - "src": "15147:16:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15123:40:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 75705, - "nodeType": "ExpressionStatement", - "src": "15123:40:129" - }, - { - "eventCall": { - "arguments": [ - { - "id": 75707, - "name": "_member", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75661, - "src": "15193:7:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 75708, - "name": "_amountToUnstake", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75663, - "src": "15202:16:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 75709, - "name": "pointsToDecrease", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75672, - "src": "15220:16:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 75706, - "name": "PowerDecreased", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74931, - "src": "15178:14:129", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256,uint256)" - } - }, - "id": 75710, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "15178:59:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 75711, - "nodeType": "EmitStatement", - "src": "15173:64:129" - }, - { - "expression": { - "id": 75712, - "name": "pointsToDecrease", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75672, - "src": "15254:16:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 75667, - "id": 75713, - "nodeType": "Return", - "src": "15247:23:129" - } - ] - }, - "baseFunctions": [ - 74715 - ], - "functionSelector": "2ed04b2b", - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "decreasePower", - "nameLocation": "14605:13:129", - "parameters": { - "id": 75664, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 75661, - "mutability": "mutable", - "name": "_member", - "nameLocation": "14627:7:129", - "nodeType": "VariableDeclaration", - "scope": 75715, - "src": "14619:15:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 75660, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "14619:7:129", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 75663, - "mutability": "mutable", - "name": "_amountToUnstake", - "nameLocation": "14644:16:129", - "nodeType": "VariableDeclaration", - "scope": 75715, - "src": "14636:24:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 75662, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14636:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "14618:43:129" - }, - "returnParameters": { - "id": 75667, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 75666, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 75715, - "src": "14680:7:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 75665, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14680:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "14679:9:129" - }, - "scope": 77611, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "id": 75725, - "nodeType": "FunctionDefinition", - "src": "15283:126:129", - "nodes": [], - "body": { - "id": 75724, - "nodeType": "Block", - "src": "15371:38:129", - "nodes": [], - "statements": [ - { - "expression": { - "id": 75722, - "name": "_amountToStake", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75717, - "src": "15388:14:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 75721, - "id": 75723, - "nodeType": "Return", - "src": "15381:21:129" - } - ] - }, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "increasePowerUnlimited", - "nameLocation": "15292:22:129", - "parameters": { - "id": 75718, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 75717, - "mutability": "mutable", - "name": "_amountToStake", - "nameLocation": "15323:14:129", - "nodeType": "VariableDeclaration", - "scope": 75725, - "src": "15315:22:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 75716, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15315:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "15314:24:129" - }, - "returnParameters": { - "id": 75721, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 75720, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 75725, - "src": "15362:7:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 75719, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15362:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "15361:9:129" - }, - "scope": 77611, - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "id": 75788, - "nodeType": "FunctionDefinition", - "src": "15415:615:129", - "nodes": [], - "body": { - "id": 75787, - "nodeType": "Block", - "src": "15517:513:129", - "nodes": [], - "statements": [ - { - "assignments": [ - 75735 - ], - "declarations": [ - { - "constant": false, - "id": 75735, - "mutability": "mutable", - "name": "pointsToIncrease", - "nameLocation": "15535:16:129", - "nodeType": "VariableDeclaration", - "scope": 75787, - "src": "15527:24:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 75734, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15527:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 75737, - "initialValue": { - "id": 75736, - "name": "_amountToStake", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75729, - "src": "15554:14:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15527:41:129" - }, - { - "expression": { - "arguments": [ - { - "hexValue": "504f494e545320544f20494e435245415345", - "id": 75741, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15590:20:129", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_ef3d3d59430373ce7e3d099486636fe73635f3082757c009fe2ef0b043a4ebb1", - "typeString": "literal_string \"POINTS TO INCREASE\"" - }, - "value": "POINTS TO INCREASE" - }, - { - "id": 75742, - "name": "pointsToIncrease", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75735, - "src": "15612:16:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_ef3d3d59430373ce7e3d099486636fe73635f3082757c009fe2ef0b043a4ebb1", - "typeString": "literal_string \"POINTS TO INCREASE\"" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 75738, - "name": "console", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29549, - "src": "15578:7:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_console_$29549_$", - "typeString": "type(library console)" - } - }, - "id": 75740, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "15586:3:129", - "memberName": "log", - "nodeType": "MemberAccess", - "referencedDeclaration": 22193, - "src": "15578:11:129", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$", - "typeString": "function (string memory,uint256) view" - } - }, - "id": 75743, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "15578:51:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 75744, - "nodeType": "ExpressionStatement", - "src": "15578:51:129" - }, - { - "assignments": [ - 75746 - ], - "declarations": [ - { - "constant": false, - "id": 75746, - "mutability": "mutable", - "name": "memberPower", - "nameLocation": "15647:11:129", - "nodeType": "VariableDeclaration", - "scope": 75787, - "src": "15639:19:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 75745, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15639:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 75755, - "initialValue": { - "arguments": [ - { - "id": 75749, - "name": "_member", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75727, - "src": "15704:7:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "arguments": [ - { - "id": 75752, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "15721:4:129", - "typeDescriptions": { - "typeIdentifier": "t_contract$_CVStrategy_$77611", - "typeString": "contract CVStrategy" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_CVStrategy_$77611", - "typeString": "contract CVStrategy" - } - ], - "id": 75751, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "15713:7:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 75750, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "15713:7:129", - "typeDescriptions": {} - } - }, - "id": 75753, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "15713:13:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "id": 75747, - "name": "registryCommunity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75014, - "src": "15661:17:129", - "typeDescriptions": { - "typeIdentifier": "t_contract$_RegistryCommunity_$83082", - "typeString": "contract RegistryCommunity" - } - }, - "id": 75748, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "15679:24:129", - "memberName": "getMemberPowerInStrategy", - "nodeType": "MemberAccess", - "referencedDeclaration": 82423, - "src": "15661:42:129", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$", - "typeString": "function (address,address) view external returns (uint256)" - } - }, - "id": 75754, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "15661:66:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15639:88:129" - }, - { - "expression": { - "arguments": [ - { - "hexValue": "4d454d424552504f574552", - "id": 75759, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15749:13:129", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_d53146c44856b98b9530413c868d7a3bea9675ba78d0918c9dbfa4f905f5c3e8", - "typeString": "literal_string \"MEMBERPOWER\"" - }, - "value": "MEMBERPOWER" - }, - { - "id": 75760, - "name": "memberPower", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75746, - "src": "15764:11:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_d53146c44856b98b9530413c868d7a3bea9675ba78d0918c9dbfa4f905f5c3e8", - "typeString": "literal_string \"MEMBERPOWER\"" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 75756, - "name": "console", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29549, - "src": "15737:7:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_console_$29549_$", - "typeString": "type(library console)" - } - }, - "id": 75758, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "15745:3:129", - "memberName": "log", - "nodeType": "MemberAccess", - "referencedDeclaration": 22193, - "src": "15737:11:129", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$", - "typeString": "function (string memory,uint256) view" - } - }, - "id": 75761, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "15737:39:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 75762, - "nodeType": "ExpressionStatement", - "src": "15737:39:129" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 75768, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 75765, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 75763, - "name": "memberPower", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75746, - "src": "15790:11:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "id": 75764, - "name": "pointsToIncrease", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75735, - "src": "15804:16:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15790:30:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "expression": { - "id": 75766, - "name": "pointConfig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75011, - "src": "15823:11:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PointSystemConfig_$74784_storage", - "typeString": "struct StrategyStruct.PointSystemConfig storage ref" - } - }, - "id": 75767, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "15835:9:129", - "memberName": "maxAmount", - "nodeType": "MemberAccess", - "referencedDeclaration": 74783, - "src": "15823:21:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15790:54:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 75777, - "nodeType": "IfStatement", - "src": "15786:139:129", - "trueBody": { - "id": 75776, - "nodeType": "Block", - "src": "15846:79:129", - "statements": [ - { - "expression": { - "id": 75774, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 75769, - "name": "pointsToIncrease", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75735, - "src": "15860:16:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 75773, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 75770, - "name": "pointConfig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75011, - "src": "15879:11:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PointSystemConfig_$74784_storage", - "typeString": "struct StrategyStruct.PointSystemConfig storage ref" - } - }, - "id": 75771, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "15891:9:129", - "memberName": "maxAmount", - "nodeType": "MemberAccess", - "referencedDeclaration": 74783, - "src": "15879:21:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "id": 75772, - "name": "memberPower", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75746, - "src": "15903:11:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15879:35:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15860:54:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 75775, - "nodeType": "ExpressionStatement", - "src": "15860:54:129" - } - ] - } - }, - { - "expression": { - "arguments": [ - { - "hexValue": "504f494e545320544f20494e43524541534520454e44", - "id": 75781, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15946:24:129", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_7339ba314bb001e1fd9993d42999dceed278cc5b138b69398be73c13fb666826", - "typeString": "literal_string \"POINTS TO INCREASE END\"" - }, - "value": "POINTS TO INCREASE END" - }, - { - "id": 75782, - "name": "pointsToIncrease", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75735, - "src": "15972:16:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_7339ba314bb001e1fd9993d42999dceed278cc5b138b69398be73c13fb666826", - "typeString": "literal_string \"POINTS TO INCREASE END\"" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 75778, - "name": "console", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29549, - "src": "15934:7:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_console_$29549_$", - "typeString": "type(library console)" - } - }, - "id": 75780, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "15942:3:129", - "memberName": "log", - "nodeType": "MemberAccess", - "referencedDeclaration": 22193, - "src": "15934:11:129", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$", - "typeString": "function (string memory,uint256) view" - } - }, - "id": 75783, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "15934:55:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 75784, - "nodeType": "ExpressionStatement", - "src": "15934:55:129" - }, - { - "expression": { - "id": 75785, - "name": "pointsToIncrease", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75735, - "src": "16007:16:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 75733, - "id": 75786, - "nodeType": "Return", - "src": "16000:23:129" - } - ] - }, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "increasePowerCapped", - "nameLocation": "15424:19:129", - "parameters": { - "id": 75730, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 75727, - "mutability": "mutable", - "name": "_member", - "nameLocation": "15452:7:129", - "nodeType": "VariableDeclaration", - "scope": 75788, - "src": "15444:15:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 75726, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "15444:7:129", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 75729, - "mutability": "mutable", - "name": "_amountToStake", - "nameLocation": "15469:14:129", - "nodeType": "VariableDeclaration", - "scope": 75788, - "src": "15461:22:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 75728, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15461:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "15443:41:129" - }, - "returnParameters": { - "id": 75733, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 75732, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 75788, - "src": "15508:7:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 75731, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15508:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "15507:9:129" - }, - "scope": 77611, - "stateMutability": "view", - "virtual": false, - "visibility": "internal" - }, - { - "id": 75872, - "nodeType": "FunctionDefinition", - "src": "16036:730:129", - "nodes": [], - "body": { - "id": 75871, - "nodeType": "Block", - "src": "16141:625:129", - "nodes": [], - "statements": [ - { - "assignments": [ - 75798 - ], - "declarations": [ - { - "constant": false, - "id": 75798, - "mutability": "mutable", - "name": "totalStake", - "nameLocation": "16159:10:129", - "nodeType": "VariableDeclaration", - "scope": 75871, - "src": "16151:18:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 75797, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16151:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 75805, - "initialValue": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 75804, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "arguments": [ - { - "id": 75801, - "name": "_member", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75790, - "src": "16212:7:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "id": 75799, - "name": "registryCommunity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75014, - "src": "16172:17:129", - "typeDescriptions": { - "typeIdentifier": "t_contract$_RegistryCommunity_$83082", - "typeString": "contract RegistryCommunity" - } - }, - "id": 75800, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "16190:21:129", - "memberName": "getMemberStakedAmount", - "nodeType": "MemberAccess", - "referencedDeclaration": 82436, - "src": "16172:39:129", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 75802, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "16172:48:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "id": 75803, - "name": "_amountToStake", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75792, - "src": "16223:14:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "16172:65:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "16151:86:129" - }, - { - "assignments": [ - 75807 - ], - "declarations": [ - { - "constant": false, - "id": 75807, - "mutability": "mutable", - "name": "decimal", - "nameLocation": "16256:7:129", - "nodeType": "VariableDeclaration", - "scope": 75871, - "src": "16248:15:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 75806, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16248:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 75809, - "initialValue": { - "hexValue": "3138", - "id": 75808, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "16266:2:129", - "typeDescriptions": { - "typeIdentifier": "t_rational_18_by_1", - "typeString": "int_const 18" - }, - "value": "18" - }, - "nodeType": "VariableDeclarationStatement", - "src": "16248:20:129" - }, - { - "clauses": [ - { - "block": { - "id": 75830, - "nodeType": "Block", - "src": "16366:52:129", - "statements": [ - { - "expression": { - "id": 75828, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 75823, - "name": "decimal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75807, - "src": "16380:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "id": 75826, - "name": "_decimal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75821, - "src": "16398:8:129", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - ], - "id": 75825, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "16390:7:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 75824, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16390:7:129", - "typeDescriptions": {} - } - }, - "id": 75827, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "16390:17:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "16380:27:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 75829, - "nodeType": "ExpressionStatement", - "src": "16380:27:129" - } - ] - }, - "errorName": "", - "id": 75831, - "nodeType": "TryCatchClause", - "parameters": { - "id": 75822, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 75821, - "mutability": "mutable", - "name": "_decimal", - "nameLocation": "16356:8:129", - "nodeType": "VariableDeclaration", - "scope": 75831, - "src": "16350:14:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 75820, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "16350:5:129", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "visibility": "internal" - } - ], - "src": "16349:16:129" - }, - "src": "16341:77:129" - }, - { - "block": { - "id": 75838, - "nodeType": "Block", - "src": "16425:61:129", - "statements": [ - { - "expression": { - "arguments": [ - { - "hexValue": "4572726f722067657474696e6720646563696d616c", - "id": 75835, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "16451:23:129", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_add5b7e354bcd4eb0c69c8b5bd8a8dca27c903f694ea26b234a6605e7f62de4d", - "typeString": "literal_string \"Error getting decimal\"" - }, - "value": "Error getting decimal" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_add5b7e354bcd4eb0c69c8b5bd8a8dca27c903f694ea26b234a6605e7f62de4d", - "typeString": "literal_string \"Error getting decimal\"" - } - ], - "expression": { - "id": 75832, - "name": "console", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29549, - "src": "16439:7:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_console_$29549_$", - "typeString": "type(library console)" - } - }, - "id": 75834, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "16447:3:129", - "memberName": "log", - "nodeType": "MemberAccess", - "referencedDeclaration": 22080, - "src": "16439:11:129", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_string_memory_ptr_$returns$__$", - "typeString": "function (string memory) view" - } - }, - "id": 75836, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "16439:36:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 75837, - "nodeType": "ExpressionStatement", - "src": "16439:36:129" - } - ] - }, - "errorName": "", - "id": 75839, - "nodeType": "TryCatchClause", - "src": "16419:67:129" - } - ], - "externalCall": { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "arguments": [ - { - "arguments": [ - { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "id": 75813, - "name": "registryCommunity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75014, - "src": "16296:17:129", - "typeDescriptions": { - "typeIdentifier": "t_contract$_RegistryCommunity_$83082", - "typeString": "contract RegistryCommunity" - } - }, - "id": 75814, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "16314:11:129", - "memberName": "gardenToken", - "nodeType": "MemberAccess", - "referencedDeclaration": 81539, - "src": "16296:29:129", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_contract$_IERC20_$57069_$", - "typeString": "function () view external returns (contract IERC20)" - } - }, - "id": 75815, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "16296:31:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$57069", - "typeString": "contract IERC20" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_IERC20_$57069", - "typeString": "contract IERC20" - } - ], - "id": 75812, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "16288:7:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 75811, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "16288:7:129", - "typeDescriptions": {} - } - }, - "id": 75816, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "16288:40:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 75810, - "name": "ERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 56991, - "src": "16282:5:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC20_$56991_$", - "typeString": "type(contract ERC20)" - } - }, - "id": 75817, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "16282:47:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$56991", - "typeString": "contract ERC20" - } - }, - "id": 75818, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "16330:8:129", - "memberName": "decimals", - "nodeType": "MemberAccess", - "referencedDeclaration": 56479, - "src": "16282:56:129", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_uint8_$", - "typeString": "function () view external returns (uint8)" - } - }, - "id": 75819, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "16282:58:129", - "tryCall": true, - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "id": 75840, - "nodeType": "TryStatement", - "src": "16278:208:129" - }, - { - "assignments": [ - 75842 - ], - "declarations": [ - { - "constant": false, - "id": 75842, - "mutability": "mutable", - "name": "newTotalPoints", - "nameLocation": "16503:14:129", - "nodeType": "VariableDeclaration", - "scope": 75871, - "src": "16495:22:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 75841, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16495:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 75851, - "initialValue": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 75849, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 75845, - "name": "totalStake", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75798, - "src": "16530:10:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 75848, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "hexValue": "3130", - "id": 75846, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "16543:2:129", - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "id": 75847, - "name": "decimal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75807, - "src": "16549:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "16543:13:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "16530:26:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 75843, - "name": "Math", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 59338, - "src": "16520:4:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Math_$59338_$", - "typeString": "type(library Math)" - } - }, - "id": 75844, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "16525:4:129", - "memberName": "sqrt", - "nodeType": "MemberAccess", - "referencedDeclaration": 58842, - "src": "16520:9:129", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - } - }, - "id": 75850, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "16520:37:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "16495:62:129" - }, - { - "assignments": [ - 75853 - ], - "declarations": [ - { - "constant": false, - "id": 75853, - "mutability": "mutable", - "name": "currentPoints", - "nameLocation": "16575:13:129", - "nodeType": "VariableDeclaration", - "scope": 75871, - "src": "16567:21:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 75852, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16567:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 75862, - "initialValue": { - "arguments": [ - { - "id": 75856, - "name": "_member", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75790, - "src": "16634:7:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "arguments": [ - { - "id": 75859, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "16651:4:129", - "typeDescriptions": { - "typeIdentifier": "t_contract$_CVStrategy_$77611", - "typeString": "contract CVStrategy" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_CVStrategy_$77611", - "typeString": "contract CVStrategy" - } - ], - "id": 75858, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "16643:7:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 75857, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "16643:7:129", - "typeDescriptions": {} - } - }, - "id": 75860, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "16643:13:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "id": 75854, - "name": "registryCommunity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75014, - "src": "16591:17:129", - "typeDescriptions": { - "typeIdentifier": "t_contract$_RegistryCommunity_$83082", - "typeString": "contract RegistryCommunity" - } - }, - "id": 75855, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "16609:24:129", - "memberName": "getMemberPowerInStrategy", - "nodeType": "MemberAccess", - "referencedDeclaration": 82423, - "src": "16591:42:129", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$", - "typeString": "function (address,address) view external returns (uint256)" - } - }, - "id": 75861, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "16591:66:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "16567:90:129" - }, - { - "assignments": [ - 75864 - ], - "declarations": [ - { - "constant": false, - "id": 75864, - "mutability": "mutable", - "name": "pointsToIncrease", - "nameLocation": "16676:16:129", - "nodeType": "VariableDeclaration", - "scope": 75871, - "src": "16668:24:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 75863, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16668:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 75868, - "initialValue": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 75867, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 75865, - "name": "newTotalPoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75842, - "src": "16695:14:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "id": 75866, - "name": "currentPoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75853, - "src": "16712:13:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "16695:30:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "16668:57:129" - }, - { - "expression": { - "id": 75869, - "name": "pointsToIncrease", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75864, - "src": "16743:16:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 75796, - "id": 75870, - "nodeType": "Return", - "src": "16736:23:129" - } - ] - }, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "increasePowerQuadratic", - "nameLocation": "16045:22:129", - "parameters": { - "id": 75793, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 75790, - "mutability": "mutable", - "name": "_member", - "nameLocation": "16076:7:129", - "nodeType": "VariableDeclaration", - "scope": 75872, - "src": "16068:15:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 75789, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "16068:7:129", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 75792, - "mutability": "mutable", - "name": "_amountToStake", - "nameLocation": "16093:14:129", - "nodeType": "VariableDeclaration", - "scope": 75872, - "src": "16085:22:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 75791, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16085:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "16067:41:129" - }, - "returnParameters": { - "id": 75796, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 75795, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 75872, - "src": "16132:7:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 75794, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16132:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "16131:9:129" - }, - "scope": 77611, - "stateMutability": "view", - "virtual": false, - "visibility": "internal" - }, - { - "id": 75882, - "nodeType": "FunctionDefinition", - "src": "16772:136:129", - "nodes": [], - "body": { - "id": 75881, - "nodeType": "Block", - "src": "16868:40:129", - "nodes": [], - "statements": [ - { - "expression": { - "id": 75879, - "name": "_amountToUnstake", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75874, - "src": "16885:16:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 75878, - "id": 75880, - "nodeType": "Return", - "src": "16878:23:129" - } - ] - }, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "decreasePowerCappedUnlimited", - "nameLocation": "16781:28:129", - "parameters": { - "id": 75875, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 75874, - "mutability": "mutable", - "name": "_amountToUnstake", - "nameLocation": "16818:16:129", - "nodeType": "VariableDeclaration", - "scope": 75882, - "src": "16810:24:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 75873, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16810:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "16809:26:129" - }, - "returnParameters": { - "id": 75878, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 75877, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 75882, - "src": "16859:7:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 75876, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16859:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "16858:9:129" - }, - "scope": 77611, - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "id": 75976, - "nodeType": "FunctionDefinition", - "src": "16914:802:129", - "nodes": [], - "body": { - "id": 75975, - "nodeType": "Block", - "src": "17021:695:129", - "nodes": [], - "statements": [ - { - "assignments": [ - 75892 - ], - "declarations": [ - { - "constant": false, - "id": 75892, - "mutability": "mutable", - "name": "decimal", - "nameLocation": "17039:7:129", - "nodeType": "VariableDeclaration", - "scope": 75975, - "src": "17031:15:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 75891, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17031:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 75894, - "initialValue": { - "hexValue": "3138", - "id": 75893, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "17049:2:129", - "typeDescriptions": { - "typeIdentifier": "t_rational_18_by_1", - "typeString": "int_const 18" - }, - "value": "18" - }, - "nodeType": "VariableDeclarationStatement", - "src": "17031:20:129" - }, - { - "clauses": [ - { - "block": { - "id": 75915, - "nodeType": "Block", - "src": "17149:52:129", - "statements": [ - { - "expression": { - "id": 75913, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 75908, - "name": "decimal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75892, - "src": "17163:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "id": 75911, - "name": "_decimal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75906, - "src": "17181:8:129", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - ], - "id": 75910, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "17173:7:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 75909, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17173:7:129", - "typeDescriptions": {} - } - }, - "id": 75912, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "17173:17:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17163:27:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 75914, - "nodeType": "ExpressionStatement", - "src": "17163:27:129" - } - ] - }, - "errorName": "", - "id": 75916, - "nodeType": "TryCatchClause", - "parameters": { - "id": 75907, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 75906, - "mutability": "mutable", - "name": "_decimal", - "nameLocation": "17139:8:129", - "nodeType": "VariableDeclaration", - "scope": 75916, - "src": "17133:14:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 75905, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "17133:5:129", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "visibility": "internal" - } - ], - "src": "17132:16:129" - }, - "src": "17124:77:129" - }, - { - "block": { - "id": 75923, - "nodeType": "Block", - "src": "17208:61:129", - "statements": [ - { - "expression": { - "arguments": [ - { - "hexValue": "4572726f722067657474696e6720646563696d616c", - "id": 75920, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "17234:23:129", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_add5b7e354bcd4eb0c69c8b5bd8a8dca27c903f694ea26b234a6605e7f62de4d", - "typeString": "literal_string \"Error getting decimal\"" - }, - "value": "Error getting decimal" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_add5b7e354bcd4eb0c69c8b5bd8a8dca27c903f694ea26b234a6605e7f62de4d", - "typeString": "literal_string \"Error getting decimal\"" - } - ], - "expression": { - "id": 75917, - "name": "console", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29549, - "src": "17222:7:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_console_$29549_$", - "typeString": "type(library console)" - } - }, - "id": 75919, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "17230:3:129", - "memberName": "log", - "nodeType": "MemberAccess", - "referencedDeclaration": 22080, - "src": "17222:11:129", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_string_memory_ptr_$returns$__$", - "typeString": "function (string memory) view" - } - }, - "id": 75921, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "17222:36:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 75922, - "nodeType": "ExpressionStatement", - "src": "17222:36:129" - } - ] - }, - "errorName": "", - "id": 75924, - "nodeType": "TryCatchClause", - "src": "17202:67:129" - } - ], - "externalCall": { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "arguments": [ - { - "arguments": [ - { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "id": 75898, - "name": "registryCommunity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75014, - "src": "17079:17:129", - "typeDescriptions": { - "typeIdentifier": "t_contract$_RegistryCommunity_$83082", - "typeString": "contract RegistryCommunity" - } - }, - "id": 75899, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "17097:11:129", - "memberName": "gardenToken", - "nodeType": "MemberAccess", - "referencedDeclaration": 81539, - "src": "17079:29:129", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_contract$_IERC20_$57069_$", - "typeString": "function () view external returns (contract IERC20)" - } - }, - "id": 75900, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "17079:31:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$57069", - "typeString": "contract IERC20" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_IERC20_$57069", - "typeString": "contract IERC20" - } - ], - "id": 75897, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "17071:7:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 75896, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "17071:7:129", - "typeDescriptions": {} - } - }, - "id": 75901, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "17071:40:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 75895, - "name": "ERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 56991, - "src": "17065:5:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC20_$56991_$", - "typeString": "type(contract ERC20)" - } - }, - "id": 75902, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "17065:47:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$56991", - "typeString": "contract ERC20" - } - }, - "id": 75903, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "17113:8:129", - "memberName": "decimals", - "nodeType": "MemberAccess", - "referencedDeclaration": 56479, - "src": "17065:56:129", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_uint8_$", - "typeString": "function () view external returns (uint8)" - } - }, - "id": 75904, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "17065:58:129", - "tryCall": true, - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "id": 75925, - "nodeType": "TryStatement", - "src": "17061:208:129" - }, - { - "expression": { - "arguments": [ - { - "hexValue": "5f616d6f756e74546f556e7374616b65", - "id": 75929, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "17290:18:129", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_dc5364d7a51b187c038e40e987076ae6dd611b7a72008e9d9acc88e3a526f2c2", - "typeString": "literal_string \"_amountToUnstake\"" - }, - "value": "_amountToUnstake" - }, - { - "id": 75930, - "name": "_amountToUnstake", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75886, - "src": "17310:16:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_dc5364d7a51b187c038e40e987076ae6dd611b7a72008e9d9acc88e3a526f2c2", - "typeString": "literal_string \"_amountToUnstake\"" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 75926, - "name": "console", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29549, - "src": "17278:7:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_console_$29549_$", - "typeString": "type(library console)" - } - }, - "id": 75928, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "17286:3:129", - "memberName": "log", - "nodeType": "MemberAccess", - "referencedDeclaration": 22193, - "src": "17278:11:129", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$", - "typeString": "function (string memory,uint256) view" - } - }, - "id": 75931, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "17278:49:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 75932, - "nodeType": "ExpressionStatement", - "src": "17278:49:129" - }, - { - "assignments": [ - 75934 - ], - "declarations": [ - { - "constant": false, - "id": 75934, - "mutability": "mutable", - "name": "newTotalStake", - "nameLocation": "17345:13:129", - "nodeType": "VariableDeclaration", - "scope": 75975, - "src": "17337:21:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 75933, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17337:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 75941, - "initialValue": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 75940, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "arguments": [ - { - "id": 75937, - "name": "_member", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75884, - "src": "17401:7:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "id": 75935, - "name": "registryCommunity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75014, - "src": "17361:17:129", - "typeDescriptions": { - "typeIdentifier": "t_contract$_RegistryCommunity_$83082", - "typeString": "contract RegistryCommunity" - } - }, - "id": 75936, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "17379:21:129", - "memberName": "getMemberStakedAmount", - "nodeType": "MemberAccess", - "referencedDeclaration": 82436, - "src": "17361:39:129", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 75938, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "17361:48:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "id": 75939, - "name": "_amountToUnstake", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75886, - "src": "17412:16:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17361:67:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "17337:91:129" - }, - { - "expression": { - "arguments": [ - { - "hexValue": "6e6577546f74616c5374616b65", - "id": 75945, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "17450:15:129", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_e1d5e8d6d05577c9c30b6029c3158dfad77d5a239a04e4529b5b98f0ce2f7a79", - "typeString": "literal_string \"newTotalStake\"" - }, - "value": "newTotalStake" - }, - { - "id": 75946, - "name": "newTotalStake", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75934, - "src": "17467:13:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_e1d5e8d6d05577c9c30b6029c3158dfad77d5a239a04e4529b5b98f0ce2f7a79", - "typeString": "literal_string \"newTotalStake\"" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 75942, - "name": "console", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29549, - "src": "17438:7:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_console_$29549_$", - "typeString": "type(library console)" - } - }, - "id": 75944, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "17446:3:129", - "memberName": "log", - "nodeType": "MemberAccess", - "referencedDeclaration": 22193, - "src": "17438:11:129", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$", - "typeString": "function (string memory,uint256) view" - } - }, - "id": 75947, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "17438:43:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 75948, - "nodeType": "ExpressionStatement", - "src": "17438:43:129" - }, - { - "assignments": [ - 75950 - ], - "declarations": [ - { - "constant": false, - "id": 75950, - "mutability": "mutable", - "name": "newTotalPoints", - "nameLocation": "17499:14:129", - "nodeType": "VariableDeclaration", - "scope": 75975, - "src": "17491:22:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 75949, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17491:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 75959, - "initialValue": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 75957, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 75953, - "name": "newTotalStake", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75934, - "src": "17526:13:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 75956, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "hexValue": "3130", - "id": 75954, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "17542:2:129", - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "id": 75955, - "name": "decimal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75892, - "src": "17548:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17542:13:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17526:29:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 75951, - "name": "Math", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 59338, - "src": "17516:4:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Math_$59338_$", - "typeString": "type(library Math)" - } - }, - "id": 75952, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "17521:4:129", - "memberName": "sqrt", - "nodeType": "MemberAccess", - "referencedDeclaration": 58842, - "src": "17516:9:129", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - } - }, - "id": 75958, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "17516:40:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "17491:65:129" - }, - { - "assignments": [ - 75961 - ], - "declarations": [ - { - "constant": false, - "id": 75961, - "mutability": "mutable", - "name": "pointsToDecrease", - "nameLocation": "17574:16:129", - "nodeType": "VariableDeclaration", - "scope": 75975, - "src": "17566:24:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 75960, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17566:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 75972, - "initialValue": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 75971, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "arguments": [ - { - "id": 75964, - "name": "_member", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75884, - "src": "17636:7:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "arguments": [ - { - "id": 75967, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "17653:4:129", - "typeDescriptions": { - "typeIdentifier": "t_contract$_CVStrategy_$77611", - "typeString": "contract CVStrategy" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_CVStrategy_$77611", - "typeString": "contract CVStrategy" - } - ], - "id": 75966, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "17645:7:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 75965, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "17645:7:129", - "typeDescriptions": {} - } - }, - "id": 75968, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "17645:13:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "id": 75962, - "name": "registryCommunity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75014, - "src": "17593:17:129", - "typeDescriptions": { - "typeIdentifier": "t_contract$_RegistryCommunity_$83082", - "typeString": "contract RegistryCommunity" - } - }, - "id": 75963, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "17611:24:129", - "memberName": "getMemberPowerInStrategy", - "nodeType": "MemberAccess", - "referencedDeclaration": 82423, - "src": "17593:42:129", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$", - "typeString": "function (address,address) view external returns (uint256)" - } - }, - "id": 75969, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "17593:66:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "id": 75970, - "name": "newTotalPoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75950, - "src": "17662:14:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17593:83:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "17566:110:129" - }, - { - "expression": { - "id": 75973, - "name": "pointsToDecrease", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75961, - "src": "17693:16:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 75890, - "id": 75974, - "nodeType": "Return", - "src": "17686:23:129" - } - ] - }, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "decreasePowerQuadratic", - "nameLocation": "16923:22:129", - "parameters": { - "id": 75887, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 75884, - "mutability": "mutable", - "name": "_member", - "nameLocation": "16954:7:129", - "nodeType": "VariableDeclaration", - "scope": 75976, - "src": "16946:15:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 75883, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "16946:7:129", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 75886, - "mutability": "mutable", - "name": "_amountToUnstake", - "nameLocation": "16971:16:129", - "nodeType": "VariableDeclaration", - "scope": 75976, - "src": "16963:24:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 75885, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16963:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "16945:43:129" - }, - "returnParameters": { - "id": 75890, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 75889, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 75976, - "src": "17012:7:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 75888, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17012:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "17011:9:129" - }, - "scope": 77611, - "stateMutability": "view", - "virtual": false, - "visibility": "internal" - }, - { - "id": 75985, - "nodeType": "FunctionDefinition", - "src": "17722:99:129", - "nodes": [], - "body": { - "id": 75984, - "nodeType": "Block", - "src": "17776:45:129", - "nodes": [], - "statements": [ - { - "expression": { - "expression": { - "id": 75981, - "name": "pointConfig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75011, - "src": "17793:11:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PointSystemConfig_$74784_storage", - "typeString": "struct StrategyStruct.PointSystemConfig storage ref" - } - }, - "id": 75982, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "17805:9:129", - "memberName": "maxAmount", - "nodeType": "MemberAccess", - "referencedDeclaration": 74783, - "src": "17793:21:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 75980, - "id": 75983, - "nodeType": "Return", - "src": "17786:28:129" - } - ] - }, - "functionSelector": "0ba95909", - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getMaxAmount", - "nameLocation": "17731:12:129", - "parameters": { - "id": 75977, - "nodeType": "ParameterList", - "parameters": [], - "src": "17743:2:129" - }, - "returnParameters": { - "id": 75980, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 75979, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 75985, - "src": "17767:7:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 75978, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17767:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "17766:9:129" - }, - "scope": 77611, - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "id": 75994, - "nodeType": "FunctionDefinition", - "src": "17827:110:129", - "nodes": [], - "body": { - "id": 75993, - "nodeType": "Block", - "src": "17902:35:129", - "nodes": [], - "statements": [ - { - "expression": { - "id": 75991, - "name": "pointSystem", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75008, - "src": "17919:11:129", - "typeDescriptions": { - "typeIdentifier": "t_enum$_PointSystem_$74731", - "typeString": "enum StrategyStruct.PointSystem" - } - }, - "functionReturnParameters": 75990, - "id": 75992, - "nodeType": "Return", - "src": "17912:18:129" - } - ] - }, - "baseFunctions": [ - 74721 - ], - "functionSelector": "c3292171", - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getPointSystem", - "nameLocation": "17836:14:129", - "parameters": { - "id": 75986, - "nodeType": "ParameterList", - "parameters": [], - "src": "17850:2:129" - }, - "returnParameters": { - "id": 75990, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 75989, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 75994, - "src": "17874:26:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_enum$_PointSystem_$74731", - "typeString": "enum StrategyStruct.PointSystem" - }, - "typeName": { - "id": 75988, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 75987, - "name": "StrategyStruct.PointSystem", - "nameLocations": [ - "17874:14:129", - "17889:11:129" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 74731, - "src": "17874:26:129" - }, - "referencedDeclaration": 74731, - "src": "17874:26:129", - "typeDescriptions": { - "typeIdentifier": "t_enum$_PointSystem_$74731", - "typeString": "enum StrategyStruct.PointSystem" - } - }, - "visibility": "internal" - } - ], - "src": "17873:28:129" - }, - "scope": 77611, - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "id": 76005, - "nodeType": "FunctionDefinition", - "src": "18053:226:129", - "nodes": [], - "body": { - "id": 76004, - "nodeType": "Block", - "src": "18131:148:129", - "nodes": [], - "statements": [ - { - "errorCall": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 76001, - "name": "NotImplemented", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74826, - "src": "18196:14:129", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 76002, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "18196:16:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 76003, - "nodeType": "RevertStatement", - "src": "18189:23:129" - } - ] - }, - "functionSelector": "e33add93", - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "supportProposal", - "nameLocation": "18062:15:129", - "parameters": { - "id": 75999, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 75998, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 76005, - "src": "18078:39:129", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_ProposalSupport_$74781_memory_ptr_$dyn_memory_ptr", - "typeString": "struct StrategyStruct.ProposalSupport[]" - }, - "typeName": { - "baseType": { - "id": 75996, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 75995, - "name": "StrategyStruct.ProposalSupport", - "nameLocations": [ - "18078:14:129", - "18093:15:129" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 74781, - "src": "18078:30:129" - }, - "referencedDeclaration": 74781, - "src": "18078:30:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ProposalSupport_$74781_storage_ptr", - "typeString": "struct StrategyStruct.ProposalSupport" - } - }, - "id": 75997, - "nodeType": "ArrayTypeName", - "src": "18078:32:129", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_ProposalSupport_$74781_storage_$dyn_storage_ptr", - "typeString": "struct StrategyStruct.ProposalSupport[]" - } - }, - "visibility": "internal" - } - ], - "src": "18077:41:129" - }, - "returnParameters": { - "id": 76000, - "nodeType": "ParameterList", - "parameters": [], - "src": "18131:0:129" - }, - "scope": 77611, - "stateMutability": "pure", - "virtual": false, - "visibility": "public" - }, - { - "id": 76070, - "nodeType": "FunctionDefinition", - "src": "18425:604:129", - "nodes": [], - "body": { - "id": 76069, - "nodeType": "Block", - "src": "18499:530:129", - "nodes": [], - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 76014, - "name": "_sender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76009, - "src": "18529:7:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 76013, - "name": "checkSenderIsMember", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75224, - "src": "18509:19:129", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$__$", - "typeString": "function (address) view" - } - }, - "id": 76015, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "18509:28:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 76016, - "nodeType": "ExpressionStatement", - "src": "18509:28:129" - }, - { - "condition": { - "id": 76020, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "18551:27:129", - "subExpression": { - "arguments": [ - { - "id": 76018, - "name": "_sender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76009, - "src": "18570:7:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 76017, - "name": "_canExecuteAction", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75286, - "src": "18552:17:129", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", - "typeString": "function (address) view returns (bool)" - } - }, - "id": 76019, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "18552:26:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 76025, - "nodeType": "IfStatement", - "src": "18547:90:129", - "trueBody": { - "id": 76024, - "nodeType": "Block", - "src": "18580:57:129", - "statements": [ - { - "errorCall": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 76021, - "name": "UserCannotExecuteAction", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74890, - "src": "18601:23:129", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 76022, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "18601:25:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 76023, - "nodeType": "RevertStatement", - "src": "18594:32:129" - } - ] - } - }, - { - "assignments": [ - 76027 - ], - "declarations": [ - { - "constant": false, - "id": 76027, - "mutability": "mutable", - "name": "isMemberActivatedPoints", - "nameLocation": "18651:23:129", - "nodeType": "VariableDeclaration", - "scope": 76069, - "src": "18646:28:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 76026, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "18646:4:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "id": 76036, - "initialValue": { - "arguments": [ - { - "id": 76030, - "name": "_sender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76009, - "src": "18723:7:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "arguments": [ - { - "id": 76033, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "18740:4:129", - "typeDescriptions": { - "typeIdentifier": "t_contract$_CVStrategy_$77611", - "typeString": "contract CVStrategy" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_CVStrategy_$77611", - "typeString": "contract CVStrategy" - } - ], - "id": 76032, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "18732:7:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 76031, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "18732:7:129", - "typeDescriptions": {} - } - }, - "id": 76034, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "18732:13:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "id": 76028, - "name": "registryCommunity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75014, - "src": "18677:17:129", - "typeDescriptions": { - "typeIdentifier": "t_contract$_RegistryCommunity_$83082", - "typeString": "contract RegistryCommunity" - } - }, - "id": 76029, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "18695:27:129", - "memberName": "memberActivatedInStrategies", - "nodeType": "MemberAccess", - "referencedDeclaration": 81575, - "src": "18677:45:129", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$_t_address_$returns$_t_bool_$", - "typeString": "function (address,address) view external returns (bool)" - } - }, - "id": 76035, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "18677:69:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "18646:100:129" - }, - { - "condition": { - "id": 76038, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "18760:24:129", - "subExpression": { - "id": 76037, - "name": "isMemberActivatedPoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76027, - "src": "18761:23:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 76043, - "nodeType": "IfStatement", - "src": "18756:78:129", - "trueBody": { - "id": 76042, - "nodeType": "Block", - "src": "18786:48:129", - "statements": [ - { - "errorCall": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 76039, - "name": "UserIsInactive", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74822, - "src": "18807:14:129", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 76040, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "18807:16:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 76041, - "nodeType": "RevertStatement", - "src": "18800:23:129" - } - ] - } - }, - { - "assignments": [ - 76049 - ], - "declarations": [ - { - "constant": false, - "id": 76049, - "mutability": "mutable", - "name": "pv", - "nameLocation": "18883:2:129", - "nodeType": "VariableDeclaration", - "scope": 76069, - "src": "18843:42:129", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_ProposalSupport_$74781_memory_ptr_$dyn_memory_ptr", - "typeString": "struct StrategyStruct.ProposalSupport[]" - }, - "typeName": { - "baseType": { - "id": 76047, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 76046, - "name": "StrategyStruct.ProposalSupport", - "nameLocations": [ - "18843:14:129", - "18858:15:129" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 74781, - "src": "18843:30:129" - }, - "referencedDeclaration": 74781, - "src": "18843:30:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ProposalSupport_$74781_storage_ptr", - "typeString": "struct StrategyStruct.ProposalSupport" - } - }, - "id": 76048, - "nodeType": "ArrayTypeName", - "src": "18843:32:129", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_ProposalSupport_$74781_storage_$dyn_storage_ptr", - "typeString": "struct StrategyStruct.ProposalSupport[]" - } - }, - "visibility": "internal" - } - ], - "id": 76058, - "initialValue": { - "arguments": [ - { - "id": 76052, - "name": "_data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76007, - "src": "18899:5:129", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "components": [ - { - "baseExpression": { - "expression": { - "id": 76053, - "name": "StrategyStruct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74807, - "src": "18907:14:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_StrategyStruct_$74807_$", - "typeString": "type(library StrategyStruct)" - } - }, - "id": 76054, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "18922:15:129", - "memberName": "ProposalSupport", - "nodeType": "MemberAccess", - "referencedDeclaration": 74781, - "src": "18907:30:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_ProposalSupport_$74781_storage_ptr_$", - "typeString": "type(struct StrategyStruct.ProposalSupport storage pointer)" - } - }, - "id": 76055, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "18907:32:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_array$_t_struct$_ProposalSupport_$74781_memory_ptr_$dyn_memory_ptr_$", - "typeString": "type(struct StrategyStruct.ProposalSupport memory[] memory)" - } - } - ], - "id": 76056, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "18906:34:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_array$_t_struct$_ProposalSupport_$74781_memory_ptr_$dyn_memory_ptr_$", - "typeString": "type(struct StrategyStruct.ProposalSupport memory[] memory)" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_type$_t_array$_t_struct$_ProposalSupport_$74781_memory_ptr_$dyn_memory_ptr_$", - "typeString": "type(struct StrategyStruct.ProposalSupport memory[] memory)" - } - ], - "expression": { - "id": 76050, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "18888:3:129", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 76051, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "18892:6:129", - "memberName": "decode", - "nodeType": "MemberAccess", - "src": "18888:10:129", - "typeDescriptions": { - "typeIdentifier": "t_function_abidecode_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 76057, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "18888:53:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_ProposalSupport_$74781_memory_ptr_$dyn_memory_ptr", - "typeString": "struct StrategyStruct.ProposalSupport memory[] memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "18843:98:129" - }, - { - "expression": { - "arguments": [ - { - "id": 76060, - "name": "_sender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76009, - "src": "18976:7:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 76061, - "name": "pv", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76049, - "src": "18985:2:129", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_ProposalSupport_$74781_memory_ptr_$dyn_memory_ptr", - "typeString": "struct StrategyStruct.ProposalSupport memory[] memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_array$_t_struct$_ProposalSupport_$74781_memory_ptr_$dyn_memory_ptr", - "typeString": "struct StrategyStruct.ProposalSupport memory[] memory" - } - ], - "id": 76059, - "name": "_check_before_addSupport", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76770, - "src": "18951:24:129", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_array$_t_struct$_ProposalSupport_$74781_memory_ptr_$dyn_memory_ptr_$returns$__$", - "typeString": "function (address,struct StrategyStruct.ProposalSupport memory[] memory)" - } - }, - "id": 76062, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "18951:37:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 76063, - "nodeType": "ExpressionStatement", - "src": "18951:37:129" - }, - { - "expression": { - "arguments": [ - { - "id": 76065, - "name": "_sender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76009, - "src": "19010:7:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 76066, - "name": "pv", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76049, - "src": "19019:2:129", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_ProposalSupport_$74781_memory_ptr_$dyn_memory_ptr", - "typeString": "struct StrategyStruct.ProposalSupport memory[] memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_array$_t_struct$_ProposalSupport_$74781_memory_ptr_$dyn_memory_ptr", - "typeString": "struct StrategyStruct.ProposalSupport memory[] memory" - } - ], - "id": 76064, - "name": "_addSupport", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77057, - "src": "18998:11:129", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_array$_t_struct$_ProposalSupport_$74781_memory_ptr_$dyn_memory_ptr_$returns$__$", - "typeString": "function (address,struct StrategyStruct.ProposalSupport memory[] memory)" - } - }, - "id": 76067, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "18998:24:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 76068, - "nodeType": "ExpressionStatement", - "src": "18998:24:129" - } - ] - }, - "baseFunctions": [ - 3817 - ], - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_allocate", - "nameLocation": "18434:9:129", - "overrides": { - "id": 76011, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "18490:8:129" - }, - "parameters": { - "id": 76010, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 76007, - "mutability": "mutable", - "name": "_data", - "nameLocation": "18457:5:129", - "nodeType": "VariableDeclaration", - "scope": 76070, - "src": "18444:18:129", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 76006, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "18444:5:129", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 76009, - "mutability": "mutable", - "name": "_sender", - "nameLocation": "18472:7:129", - "nodeType": "VariableDeclaration", - "scope": 76070, - "src": "18464:15:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 76008, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "18464:7:129", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "18443:37:129" - }, - "returnParameters": { - "id": 76012, - "nodeType": "ParameterList", - "parameters": [], - "src": "18499:0:129" - }, - "scope": 77611, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "id": 76226, - "nodeType": "FunctionDefinition", - "src": "19285:1756:129", - "nodes": [], - "body": { - "id": 76225, - "nodeType": "Block", - "src": "19371:1670:129", - "nodes": [], - "statements": [ - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 76084, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 76081, - "name": "_data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76075, - "src": "19464:5:129", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 76082, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "19470:6:129", - "memberName": "length", - "nodeType": "MemberAccess", - "src": "19464:12:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "hexValue": "30", - "id": 76083, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "19480:1:129", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "19464:17:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 76089, - "nodeType": "IfStatement", - "src": "19460:76:129", - "trueBody": { - "id": 76088, - "nodeType": "Block", - "src": "19483:53:129", - "statements": [ - { - "errorCall": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 76085, - "name": "ProposalDataIsEmpty", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74858, - "src": "19504:19:129", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 76086, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "19504:21:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 76087, - "nodeType": "RevertStatement", - "src": "19497:28:129" - } - ] - } - }, - { - "assignments": [ - 76091 - ], - "declarations": [ - { - "constant": false, - "id": 76091, - "mutability": "mutable", - "name": "proposalId", - "nameLocation": "19554:10:129", - "nodeType": "VariableDeclaration", - "scope": 76225, - "src": "19546:18:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 76090, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "19546:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 76099, - "initialValue": { - "arguments": [ - { - "id": 76094, - "name": "_data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76075, - "src": "19578:5:129", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "components": [ - { - "id": 76096, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "19586:7:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 76095, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "19586:7:129", - "typeDescriptions": {} - } - } - ], - "id": 76097, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "19585:9:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - } - ], - "expression": { - "id": 76092, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "19567:3:129", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 76093, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "19571:6:129", - "memberName": "decode", - "nodeType": "MemberAccess", - "src": "19567:10:129", - "typeDescriptions": { - "typeIdentifier": "t_function_abidecode_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 76098, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "19567:28:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "19546:49:129" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 76102, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 76100, - "name": "proposalId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76091, - "src": "19610:10:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "hexValue": "30", - "id": 76101, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "19624:1:129", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "19610:15:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 76107, - "nodeType": "IfStatement", - "src": "19606:77:129", - "trueBody": { - "id": 76106, - "nodeType": "Block", - "src": "19627:56:129", - "statements": [ - { - "errorCall": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 76103, - "name": "ProposalIdCannotBeZero", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74860, - "src": "19648:22:129", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 76104, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "19648:24:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 76105, - "nodeType": "RevertStatement", - "src": "19641:31:129" - } - ] - } - }, - { - "assignments": [ - 76112 - ], - "declarations": [ - { - "constant": false, - "id": 76112, - "mutability": "mutable", - "name": "proposal", - "nameLocation": "19724:8:129", - "nodeType": "VariableDeclaration", - "scope": 76225, - "src": "19692:40:129", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal" - }, - "typeName": { - "id": 76111, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 76110, - "name": "StrategyStruct.Proposal", - "nameLocations": [ - "19692:14:129", - "19707:8:129" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 74776, - "src": "19692:23:129" - }, - "referencedDeclaration": 74776, - "src": "19692:23:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal" - } - }, - "visibility": "internal" - } - ], - "id": 76116, - "initialValue": { - "baseExpression": { - "id": 76113, - "name": "proposals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75022, - "src": "19735:9:129", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Proposal_$74776_storage_$", - "typeString": "mapping(uint256 => struct StrategyStruct.Proposal storage ref)" - } - }, - "id": 76115, - "indexExpression": { - "id": 76114, - "name": "proposalId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76091, - "src": "19745:10:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "19735:21:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage", - "typeString": "struct StrategyStruct.Proposal storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "19692:64:129" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_enum$_ProposalType_$74726", - "typeString": "enum StrategyStruct.ProposalType" - }, - "id": 76121, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 76117, - "name": "proposalType", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75005, - "src": "19771:12:129", - "typeDescriptions": { - "typeIdentifier": "t_enum$_ProposalType_$74726", - "typeString": "enum StrategyStruct.ProposalType" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "expression": { - "expression": { - "id": 76118, - "name": "StrategyStruct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74807, - "src": "19787:14:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_StrategyStruct_$74807_$", - "typeString": "type(library StrategyStruct)" - } - }, - "id": 76119, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "19802:12:129", - "memberName": "ProposalType", - "nodeType": "MemberAccess", - "referencedDeclaration": 74726, - "src": "19787:27:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_ProposalType_$74726_$", - "typeString": "type(enum StrategyStruct.ProposalType)" - } - }, - "id": 76120, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "19815:7:129", - "memberName": "Funding", - "nodeType": "MemberAccess", - "referencedDeclaration": 74724, - "src": "19787:35:129", - "typeDescriptions": { - "typeIdentifier": "t_enum$_ProposalType_$74726", - "typeString": "enum StrategyStruct.ProposalType" - } - }, - "src": "19771:51:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 76224, - "nodeType": "IfStatement", - "src": "19767:1208:129", - "trueBody": { - "id": 76223, - "nodeType": "Block", - "src": "19824:1151:129", - "statements": [ - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 76125, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 76122, - "name": "proposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76112, - "src": "19842:8:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal storage pointer" - } - }, - "id": 76123, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "19851:10:129", - "memberName": "proposalId", - "nodeType": "MemberAccess", - "referencedDeclaration": 74751, - "src": "19842:19:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "id": 76124, - "name": "proposalId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76091, - "src": "19865:10:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "19842:33:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 76131, - "nodeType": "IfStatement", - "src": "19838:108:129", - "trueBody": { - "id": 76130, - "nodeType": "Block", - "src": "19877:69:129", - "statements": [ - { - "errorCall": { - "arguments": [ - { - "id": 76127, - "name": "proposalId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76091, - "src": "19920:10:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 76126, - "name": "ProposalNotInList", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74868, - "src": "19902:17:129", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$_t_uint256_$returns$__$", - "typeString": "function (uint256) pure" - } - }, - "id": 76128, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "19902:29:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 76129, - "nodeType": "RevertStatement", - "src": "19895:36:129" - } - ] - } - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 76135, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 76132, - "name": "proposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76112, - "src": "19964:8:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal storage pointer" - } - }, - "id": 76133, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "19973:15:129", - "memberName": "requestedAmount", - "nodeType": "MemberAccess", - "referencedDeclaration": 74753, - "src": "19964:24:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "id": 76134, - "name": "poolAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3343, - "src": "19991:10:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "19964:37:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 76144, - "nodeType": "IfStatement", - "src": "19960:152:129", - "trueBody": { - "id": 76143, - "nodeType": "Block", - "src": "20003:109:129", - "statements": [ - { - "errorCall": { - "arguments": [ - { - "id": 76137, - "name": "proposalId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76091, - "src": "20048:10:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "expression": { - "id": 76138, - "name": "proposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76112, - "src": "20060:8:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal storage pointer" - } - }, - "id": 76139, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "20069:15:129", - "memberName": "requestedAmount", - "nodeType": "MemberAccess", - "referencedDeclaration": 74753, - "src": "20060:24:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 76140, - "name": "poolAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3343, - "src": "20086:10:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 76136, - "name": "PoolAmountNotEnough", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74886, - "src": "20028:19:129", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (uint256,uint256,uint256) pure" - } - }, - "id": 76141, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "20028:69:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 76142, - "nodeType": "RevertStatement", - "src": "20021:76:129" - } - ] - } - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_enum$_ProposalStatus_$74749", - "typeString": "enum StrategyStruct.ProposalStatus" - }, - "id": 76150, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 76145, - "name": "proposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76112, - "src": "20130:8:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal storage pointer" - } - }, - "id": 76146, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "20139:14:129", - "memberName": "proposalStatus", - "nodeType": "MemberAccess", - "referencedDeclaration": 74768, - "src": "20130:23:129", - "typeDescriptions": { - "typeIdentifier": "t_enum$_ProposalStatus_$74749", - "typeString": "enum StrategyStruct.ProposalStatus" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "expression": { - "expression": { - "id": 76147, - "name": "StrategyStruct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74807, - "src": "20157:14:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_StrategyStruct_$74807_$", - "typeString": "type(library StrategyStruct)" - } - }, - "id": 76148, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "20172:14:129", - "memberName": "ProposalStatus", - "nodeType": "MemberAccess", - "referencedDeclaration": 74749, - "src": "20157:29:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_ProposalStatus_$74749_$", - "typeString": "type(enum StrategyStruct.ProposalStatus)" - } - }, - "id": 76149, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "20187:6:129", - "memberName": "Active", - "nodeType": "MemberAccess", - "referencedDeclaration": 74745, - "src": "20157:36:129", - "typeDescriptions": { - "typeIdentifier": "t_enum$_ProposalStatus_$74749", - "typeString": "enum StrategyStruct.ProposalStatus" - } - }, - "src": "20130:63:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 76156, - "nodeType": "IfStatement", - "src": "20126:138:129", - "trueBody": { - "id": 76155, - "nodeType": "Block", - "src": "20195:69:129", - "statements": [ - { - "errorCall": { - "arguments": [ - { - "id": 76152, - "name": "proposalId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76091, - "src": "20238:10:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 76151, - "name": "ProposalNotActive", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74864, - "src": "20220:17:129", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$_t_uint256_$returns$__$", - "typeString": "function (uint256) pure" - } - }, - "id": 76153, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "20220:29:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 76154, - "nodeType": "RevertStatement", - "src": "20213:36:129" - } - ] - } - }, - { - "assignments": [ - 76158 - ], - "declarations": [ - { - "constant": false, - "id": 76158, - "mutability": "mutable", - "name": "convictionLast", - "nameLocation": "20286:14:129", - "nodeType": "VariableDeclaration", - "scope": 76223, - "src": "20278:22:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 76157, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "20278:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 76162, - "initialValue": { - "arguments": [ - { - "id": 76160, - "name": "proposalId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76091, - "src": "20328:10:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 76159, - "name": "updateProposalConviction", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77480, - "src": "20303:24:129", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) returns (uint256)" - } - }, - "id": 76161, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "20303:36:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "20278:61:129" - }, - { - "assignments": [ - 76164 - ], - "declarations": [ - { - "constant": false, - "id": 76164, - "mutability": "mutable", - "name": "threshold", - "nameLocation": "20361:9:129", - "nodeType": "VariableDeclaration", - "scope": 76223, - "src": "20353:17:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 76163, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "20353:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 76169, - "initialValue": { - "arguments": [ - { - "expression": { - "id": 76166, - "name": "proposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76112, - "src": "20392:8:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal storage pointer" - } - }, - "id": 76167, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "20401:15:129", - "memberName": "requestedAmount", - "nodeType": "MemberAccess", - "referencedDeclaration": 74753, - "src": "20392:24:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 76165, - "name": "calculateThreshold", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77236, - "src": "20373:18:129", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) view returns (uint256)" - } - }, - "id": 76168, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "20373:44:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "20353:64:129" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 76177, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 76172, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 76170, - "name": "convictionLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76158, - "src": "20436:14:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "id": 76171, - "name": "threshold", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76164, - "src": "20453:9:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20436:26:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 76176, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 76173, - "name": "proposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76112, - "src": "20466:8:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal storage pointer" - } - }, - "id": 76174, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "20475:15:129", - "memberName": "requestedAmount", - "nodeType": "MemberAccess", - "referencedDeclaration": 74753, - "src": "20466:24:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "hexValue": "30", - "id": 76175, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20493:1:129", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "20466:28:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "20436:58:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 76182, - "nodeType": "IfStatement", - "src": "20432:137:129", - "trueBody": { - "id": 76181, - "nodeType": "Block", - "src": "20496:73:129", - "statements": [ - { - "errorCall": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 76178, - "name": "ConvictionUnderMinimumThreshold", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74876, - "src": "20521:31:129", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 76179, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "20521:33:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 76180, - "nodeType": "RevertStatement", - "src": "20514:40:129" - } - ] - } - }, - { - "assignments": [ - 76187 - ], - "declarations": [ - { - "constant": false, - "id": 76187, - "mutability": "mutable", - "name": "pool", - "nameLocation": "20601:4:129", - "nodeType": "VariableDeclaration", - "scope": 76223, - "src": "20583:22:129", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pool_$2319_memory_ptr", - "typeString": "struct IAllo.Pool" - }, - "typeName": { - "id": 76186, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 76185, - "name": "IAllo.Pool", - "nameLocations": [ - "20583:5:129", - "20589:4:129" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 2319, - "src": "20583:10:129" - }, - "referencedDeclaration": 2319, - "src": "20583:10:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pool_$2319_storage_ptr", - "typeString": "struct IAllo.Pool" - } - }, - "visibility": "internal" - } - ], - "id": 76192, - "initialValue": { - "arguments": [ - { - "id": 76190, - "name": "poolId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3341, - "src": "20621:6:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 76188, - "name": "allo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3335, - "src": "20608:4:129", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IAllo_$2610", - "typeString": "contract IAllo" - } - }, - "id": 76189, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "20613:7:129", - "memberName": "getPool", - "nodeType": "MemberAccess", - "referencedDeclaration": 2603, - "src": "20608:12:129", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_struct$_Pool_$2319_memory_ptr_$", - "typeString": "function (uint256) view external returns (struct IAllo.Pool memory)" - } - }, - "id": 76191, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "20608:20:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pool_$2319_memory_ptr", - "typeString": "struct IAllo.Pool memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "20583:45:129" - }, - { - "expression": { - "id": 76196, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 76193, - "name": "poolAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3343, - "src": "20643:10:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "-=", - "rightHandSide": { - "expression": { - "id": 76194, - "name": "proposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76112, - "src": "20657:8:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal storage pointer" - } - }, - "id": 76195, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "20666:15:129", - "memberName": "requestedAmount", - "nodeType": "MemberAccess", - "referencedDeclaration": 74753, - "src": "20657:24:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20643:38:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 76197, - "nodeType": "ExpressionStatement", - "src": "20643:38:129" - }, - { - "expression": { - "arguments": [ - { - "expression": { - "id": 76199, - "name": "pool", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76187, - "src": "20719:4:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pool_$2319_memory_ptr", - "typeString": "struct IAllo.Pool memory" - } - }, - "id": 76200, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "20724:5:129", - "memberName": "token", - "nodeType": "MemberAccess", - "referencedDeclaration": 2311, - "src": "20719:10:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "expression": { - "id": 76201, - "name": "proposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76112, - "src": "20731:8:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal storage pointer" - } - }, - "id": 76202, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "20740:11:129", - "memberName": "beneficiary", - "nodeType": "MemberAccess", - "referencedDeclaration": 74759, - "src": "20731:20:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "expression": { - "id": 76203, - "name": "proposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76112, - "src": "20753:8:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal storage pointer" - } - }, - "id": 76204, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "20762:15:129", - "memberName": "requestedAmount", - "nodeType": "MemberAccess", - "referencedDeclaration": 74753, - "src": "20753:24:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 76198, - "name": "_transferAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3287, - "src": "20703:15:129", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 76205, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "20703:75:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 76206, - "nodeType": "ExpressionStatement", - "src": "20703:75:129" - }, - { - "expression": { - "id": 76213, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "expression": { - "id": 76207, - "name": "proposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76112, - "src": "20809:8:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal storage pointer" - } - }, - "id": 76209, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberLocation": "20818:14:129", - "memberName": "proposalStatus", - "nodeType": "MemberAccess", - "referencedDeclaration": 74768, - "src": "20809:23:129", - "typeDescriptions": { - "typeIdentifier": "t_enum$_ProposalStatus_$74749", - "typeString": "enum StrategyStruct.ProposalStatus" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "expression": { - "expression": { - "id": 76210, - "name": "StrategyStruct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74807, - "src": "20835:14:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_StrategyStruct_$74807_$", - "typeString": "type(library StrategyStruct)" - } - }, - "id": 76211, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "20850:14:129", - "memberName": "ProposalStatus", - "nodeType": "MemberAccess", - "referencedDeclaration": 74749, - "src": "20835:29:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_ProposalStatus_$74749_$", - "typeString": "type(enum StrategyStruct.ProposalStatus)" - } - }, - "id": 76212, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "20865:8:129", - "memberName": "Executed", - "nodeType": "MemberAccess", - "referencedDeclaration": 74748, - "src": "20835:38:129", - "typeDescriptions": { - "typeIdentifier": "t_enum$_ProposalStatus_$74749", - "typeString": "enum StrategyStruct.ProposalStatus" - } - }, - "src": "20809:64:129", - "typeDescriptions": { - "typeIdentifier": "t_enum$_ProposalStatus_$74749", - "typeString": "enum StrategyStruct.ProposalStatus" - } - }, - "id": 76214, - "nodeType": "ExpressionStatement", - "src": "20809:64:129" - }, - { - "eventCall": { - "arguments": [ - { - "id": 76216, - "name": "proposalId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76091, - "src": "20905:10:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "expression": { - "id": 76217, - "name": "proposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76112, - "src": "20917:8:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal storage pointer" - } - }, - "id": 76218, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "20926:11:129", - "memberName": "beneficiary", - "nodeType": "MemberAccess", - "referencedDeclaration": 74759, - "src": "20917:20:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "expression": { - "id": 76219, - "name": "proposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76112, - "src": "20939:8:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal storage pointer" - } - }, - "id": 76220, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "20948:15:129", - "memberName": "requestedAmount", - "nodeType": "MemberAccess", - "referencedDeclaration": 74753, - "src": "20939:24:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 76215, - "name": "Distributed", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 74905, - 2858 - ], - "referencedDeclaration": 74905, - "src": "20893:11:129", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (uint256,address,uint256)" - } - }, - "id": 76221, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "20893:71:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 76222, - "nodeType": "EmitStatement", - "src": "20888:76:129" - } - ] - } - } - ] - }, - "baseFunctions": [ - 3828 - ], - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_distribute", - "nameLocation": "19294:11:129", - "overrides": { - "id": 76079, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "19362:8:129" - }, - "parameters": { - "id": 76078, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 76073, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 76226, - "src": "19306:16:129", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 76071, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "19306:7:129", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 76072, - "nodeType": "ArrayTypeName", - "src": "19306:9:129", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 76075, - "mutability": "mutable", - "name": "_data", - "nameLocation": "19337:5:129", - "nodeType": "VariableDeclaration", - "scope": 76226, - "src": "19324:18:129", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 76074, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "19324:5:129", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 76077, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 76226, - "src": "19344:7:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 76076, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "19344:7:129", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "19305:47:129" - }, - "returnParameters": { - "id": 76080, - "nodeType": "ParameterList", - "parameters": [], - "src": "19371:0:129" - }, - "scope": 77611, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "id": 76280, - "nodeType": "FunctionDefinition", - "src": "21047:735:129", - "nodes": [], - "body": { - "id": 76279, - "nodeType": "Block", - "src": "21136:646:129", - "nodes": [], - "statements": [ - { - "assignments": [ - 76237 - ], - "declarations": [ - { - "constant": false, - "id": 76237, - "mutability": "mutable", - "name": "proposal", - "nameLocation": "21178:8:129", - "nodeType": "VariableDeclaration", - "scope": 76279, - "src": "21146:40:129", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal" - }, - "typeName": { - "id": 76236, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 76235, - "name": "StrategyStruct.Proposal", - "nameLocations": [ - "21146:14:129", - "21161:8:129" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 74776, - "src": "21146:23:129" - }, - "referencedDeclaration": 74776, - "src": "21146:23:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal" - } - }, - "visibility": "internal" - } - ], - "id": 76241, - "initialValue": { - "baseExpression": { - "id": 76238, - "name": "proposals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75022, - "src": "21189:9:129", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Proposal_$74776_storage_$", - "typeString": "mapping(uint256 => struct StrategyStruct.Proposal storage ref)" - } - }, - "id": 76240, - "indexExpression": { - "id": 76239, - "name": "proposalId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76228, - "src": "21199:10:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "21189:21:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage", - "typeString": "struct StrategyStruct.Proposal storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "21146:64:129" - }, - { - "assignments": [ - 76243, - 76245 - ], - "declarations": [ - { - "constant": false, - "id": 76243, - "mutability": "mutable", - "name": "convictionLast", - "nameLocation": "21304:14:129", - "nodeType": "VariableDeclaration", - "scope": 76279, - "src": "21296:22:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 76242, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "21296:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 76245, - "mutability": "mutable", - "name": "blockNumber", - "nameLocation": "21328:11:129", - "nodeType": "VariableDeclaration", - "scope": 76279, - "src": "21320:19:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 76244, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "21320:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 76251, - "initialValue": { - "arguments": [ - { - "id": 76247, - "name": "proposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76237, - "src": "21389:8:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal storage pointer" - } - }, - { - "expression": { - "id": 76248, - "name": "proposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76237, - "src": "21399:8:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal storage pointer" - } - }, - "id": 76249, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "21408:12:129", - "memberName": "stakedAmount", - "nodeType": "MemberAccess", - "referencedDeclaration": 74755, - "src": "21399:21:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal storage pointer" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 76246, - "name": "_checkBlockAndCalculateConviction", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77432, - "src": "21355:33:129", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Proposal_$74776_storage_ptr_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", - "typeString": "function (struct StrategyStruct.Proposal storage pointer,uint256) view returns (uint256,uint256)" - } - }, - "id": 76250, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "21355:66:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "21295:126:129" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 76258, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 76254, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 76252, - "name": "convictionLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76243, - "src": "21436:14:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "hexValue": "30", - "id": 76253, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "21454:1:129", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "21436:19:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 76257, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 76255, - "name": "blockNumber", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76245, - "src": "21459:11:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "hexValue": "30", - "id": 76256, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "21474:1:129", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "21459:16:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "21436:39:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 76265, - "nodeType": "IfStatement", - "src": "21432:110:129", - "trueBody": { - "id": 76264, - "nodeType": "Block", - "src": "21477:65:129", - "statements": [ - { - "expression": { - "id": 76262, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 76259, - "name": "convictionLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76243, - "src": "21491:14:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "expression": { - "id": 76260, - "name": "proposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76237, - "src": "21508:8:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal storage pointer" - } - }, - "id": 76261, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "21517:14:129", - "memberName": "convictionLast", - "nodeType": "MemberAccess", - "referencedDeclaration": 74757, - "src": "21508:23:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "21491:40:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 76263, - "nodeType": "ExpressionStatement", - "src": "21491:40:129" - } - ] - } - }, - { - "assignments": [ - 76267 - ], - "declarations": [ - { - "constant": false, - "id": 76267, - "mutability": "mutable", - "name": "threshold", - "nameLocation": "21559:9:129", - "nodeType": "VariableDeclaration", - "scope": 76279, - "src": "21551:17:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 76266, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "21551:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 76272, - "initialValue": { - "arguments": [ - { - "expression": { - "id": 76269, - "name": "proposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76237, - "src": "21590:8:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal storage pointer" - } - }, - "id": 76270, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "21599:15:129", - "memberName": "requestedAmount", - "nodeType": "MemberAccess", - "referencedDeclaration": 74753, - "src": "21590:24:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 76268, - "name": "calculateThreshold", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77236, - "src": "21571:18:129", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) view returns (uint256)" - } - }, - "id": 76271, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "21571:44:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "21551:64:129" - }, - { - "expression": { - "id": 76277, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 76273, - "name": "canBeExecuted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76231, - "src": "21732:13:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 76276, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 76274, - "name": "convictionLast", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76243, - "src": "21748:14:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "id": 76275, - "name": "threshold", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76267, - "src": "21766:9:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "21748:27:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "21732:43:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 76278, - "nodeType": "ExpressionStatement", - "src": "21732:43:129" - } - ] - }, - "functionSelector": "824ea8ed", - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "canExecuteProposal", - "nameLocation": "21056:18:129", - "parameters": { - "id": 76229, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 76228, - "mutability": "mutable", - "name": "proposalId", - "nameLocation": "21083:10:129", - "nodeType": "VariableDeclaration", - "scope": 76280, - "src": "21075:18:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 76227, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "21075:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "21074:20:129" - }, - "returnParameters": { - "id": 76232, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 76231, - "mutability": "mutable", - "name": "canBeExecuted", - "nameLocation": "21121:13:129", - "nodeType": "VariableDeclaration", - "scope": 76280, - "src": "21116:18:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 76230, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "21116:4:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "21115:20:129" - }, - "scope": 77611, - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "id": 76302, - "nodeType": "FunctionDefinition", - "src": "22072:220:129", - "nodes": [], - "body": { - "id": 76301, - "nodeType": "Block", - "src": "22163:129:129", - "nodes": [], - "statements": [ - { - "expression": { - "condition": { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 76294, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 76289, - "name": "_recipientId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76282, - "src": "22223:12:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "arguments": [ - { - "hexValue": "30", - "id": 76292, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "22247:1:129", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 76291, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "22239:7:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 76290, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "22239:7:129", - "typeDescriptions": {} - } - }, - "id": 76293, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "22239:10:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "22223:26:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "expression": { - "id": 76297, - "name": "Status", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2815, - "src": "22270:6:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_Status_$2815_$", - "typeString": "type(enum IStrategy.Status)" - } - }, - "id": 76298, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "22277:8:129", - "memberName": "Accepted", - "nodeType": "MemberAccess", - "referencedDeclaration": 2810, - "src": "22270:15:129", - "typeDescriptions": { - "typeIdentifier": "t_enum$_Status_$2815", - "typeString": "enum IStrategy.Status" - } - }, - "id": 76299, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "22223:62:129", - "trueExpression": { - "expression": { - "id": 76295, - "name": "Status", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2815, - "src": "22252:6:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_Status_$2815_$", - "typeString": "type(enum IStrategy.Status)" - } - }, - "id": 76296, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "22259:8:129", - "memberName": "Rejected", - "nodeType": "MemberAccess", - "referencedDeclaration": 2811, - "src": "22252:15:129", - "typeDescriptions": { - "typeIdentifier": "t_enum$_Status_$2815", - "typeString": "enum IStrategy.Status" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_enum$_Status_$2815", - "typeString": "enum IStrategy.Status" - } - }, - "functionReturnParameters": 76288, - "id": 76300, - "nodeType": "Return", - "src": "22216:69:129" - } - ] - }, - "baseFunctions": [ - 3848 - ], - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_getRecipientStatus", - "nameLocation": "22081:19:129", - "overrides": { - "id": 76284, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "22137:8:129" - }, - "parameters": { - "id": 76283, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 76282, - "mutability": "mutable", - "name": "_recipientId", - "nameLocation": "22109:12:129", - "nodeType": "VariableDeclaration", - "scope": 76302, - "src": "22101:20:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 76281, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "22101:7:129", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "22100:22:129" - }, - "returnParameters": { - "id": 76288, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 76287, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 76302, - "src": "22155:6:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_enum$_Status_$2815", - "typeString": "enum IStrategy.Status" - }, - "typeName": { - "id": 76286, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 76285, - "name": "Status", - "nameLocations": [ - "22155:6:129" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 2815, - "src": "22155:6:129" - }, - "referencedDeclaration": 2815, - "src": "22155:6:129", - "typeDescriptions": { - "typeIdentifier": "t_enum$_Status_$2815", - "typeString": "enum IStrategy.Status" - } - }, - "visibility": "internal" - } - ], - "src": "22154:8:129" - }, - "scope": 77611, - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "id": 76321, - "nodeType": "FunctionDefinition", - "src": "22421:288:129", - "nodes": [], - "body": { - "id": 76320, - "nodeType": "Block", - "src": "22531:178:129", - "nodes": [], - "statements": [ - { - "errorCall": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 76317, - "name": "NotImplemented", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74826, - "src": "22591:14:129", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 76318, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "22591:16:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 76319, - "nodeType": "RevertStatement", - "src": "22584:23:129" - } - ] - }, - "baseFunctions": [ - 3687 - ], - "documentation": { - "id": 76303, - "nodeType": "StructuredDocumentation", - "src": "22298:118:129", - "text": "@return Input the values you would send to distribute(), get the amounts each recipient in the array would receive" - }, - "functionSelector": "b2b878d0", - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getPayouts", - "nameLocation": "22430:10:129", - "overrides": { - "id": 76311, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "22489:8:129" - }, - "parameters": { - "id": 76310, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 76306, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 76321, - "src": "22441:16:129", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 76304, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "22441:7:129", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 76305, - "nodeType": "ArrayTypeName", - "src": "22441:9:129", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 76309, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 76321, - "src": "22459:14:129", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", - "typeString": "bytes[]" - }, - "typeName": { - "baseType": { - "id": 76307, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "22459:5:129", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "id": 76308, - "nodeType": "ArrayTypeName", - "src": "22459:7:129", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bytes_storage_$dyn_storage_ptr", - "typeString": "bytes[]" - } - }, - "visibility": "internal" - } - ], - "src": "22440:34:129" - }, - "returnParameters": { - "id": 76316, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 76315, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 76321, - "src": "22507:22:129", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_PayoutSummary_$2820_memory_ptr_$dyn_memory_ptr", - "typeString": "struct IStrategy.PayoutSummary[]" - }, - "typeName": { - "baseType": { - "id": 76313, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 76312, - "name": "PayoutSummary", - "nameLocations": [ - "22507:13:129" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 2820, - "src": "22507:13:129" - }, - "referencedDeclaration": 2820, - "src": "22507:13:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PayoutSummary_$2820_storage_ptr", - "typeString": "struct IStrategy.PayoutSummary" - } - }, - "id": 76314, - "nodeType": "ArrayTypeName", - "src": "22507:15:129", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_PayoutSummary_$2820_storage_$dyn_storage_ptr", - "typeString": "struct IStrategy.PayoutSummary[]" - } - }, - "visibility": "internal" - } - ], - "src": "22506:24:129" - }, - "scope": 77611, - "stateMutability": "pure", - "virtual": false, - "visibility": "external" - }, - { - "id": 76340, - "nodeType": "FunctionDefinition", - "src": "22715:264:129", - "nodes": [], - "body": { - "id": 76339, - "nodeType": "Block", - "src": "22867:112:129", - "nodes": [], - "statements": [ - { - "expression": { - "id": 76332, - "name": "_data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76325, - "src": "22920:5:129", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 76333, - "nodeType": "ExpressionStatement", - "src": "22920:5:129" - }, - { - "expression": { - "arguments": [ - { - "id": 76335, - "name": "_recipientId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76323, - "src": "22956:12:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "hexValue": "30", - "id": 76336, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "22970:1:129", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 76334, - "name": "PayoutSummary", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2820, - "src": "22942:13:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_PayoutSummary_$2820_storage_ptr_$", - "typeString": "type(struct IStrategy.PayoutSummary storage pointer)" - } - }, - "id": 76337, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "structConstructorCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "22942:30:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_struct$_PayoutSummary_$2820_memory_ptr", - "typeString": "struct IStrategy.PayoutSummary memory" - } - }, - "functionReturnParameters": 76331, - "id": 76338, - "nodeType": "Return", - "src": "22935:37:129" - } - ] - }, - "baseFunctions": [ - 3839 - ], - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_getPayout", - "nameLocation": "22724:10:129", - "overrides": { - "id": 76327, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "22815:8:129" - }, - "parameters": { - "id": 76326, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 76323, - "mutability": "mutable", - "name": "_recipientId", - "nameLocation": "22743:12:129", - "nodeType": "VariableDeclaration", - "scope": 76340, - "src": "22735:20:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 76322, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "22735:7:129", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 76325, - "mutability": "mutable", - "name": "_data", - "nameLocation": "22770:5:129", - "nodeType": "VariableDeclaration", - "scope": 76340, - "src": "22757:18:129", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 76324, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "22757:5:129", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "src": "22734:42:129" - }, - "returnParameters": { - "id": 76331, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 76330, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 76340, - "src": "22841:20:129", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PayoutSummary_$2820_memory_ptr", - "typeString": "struct IStrategy.PayoutSummary" - }, - "typeName": { - "id": 76329, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 76328, - "name": "PayoutSummary", - "nameLocations": [ - "22841:13:129" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 2820, - "src": "22841:13:129" - }, - "referencedDeclaration": 2820, - "src": "22841:13:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PayoutSummary_$2820_storage_ptr", - "typeString": "struct IStrategy.PayoutSummary" - } - }, - "visibility": "internal" - } - ], - "src": "22840:22:129" - }, - "scope": 77611, - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "id": 76351, - "nodeType": "FunctionDefinition", - "src": "22985:127:129", - "nodes": [], - "body": { - "id": 76350, - "nodeType": "Block", - "src": "23062:50:129", - "nodes": [], - "statements": [ - { - "eventCall": { - "arguments": [ - { - "id": 76347, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76342, - "src": "23097:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 76346, - "name": "PoolAmountIncreased", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74915, - "src": "23077:19:129", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 76348, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "23077:28:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 76349, - "nodeType": "EmitStatement", - "src": "23072:33:129" - } - ] - }, - "baseFunctions": [ - 3862 - ], - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_afterIncreasePoolAmount", - "nameLocation": "22994:24:129", - "overrides": { - "id": 76344, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "23053:8:129" - }, - "parameters": { - "id": 76343, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 76342, - "mutability": "mutable", - "name": "_amount", - "nameLocation": "23027:7:129", - "nodeType": "VariableDeclaration", - "scope": 76351, - "src": "23019:15:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 76341, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "23019:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "23018:17:129" - }, - "returnParameters": { - "id": 76345, - "nodeType": "ParameterList", - "parameters": [], - "src": "23062:0:129" - }, - "scope": 77611, - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - }, - { - "id": 76370, - "nodeType": "FunctionDefinition", - "src": "23207:191:129", - "nodes": [], - "body": { - "id": 76369, - "nodeType": "Block", - "src": "23292:106:129", - "nodes": [], - "statements": [ - { - "expression": { - "condition": { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 76364, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 76359, - "name": "_allocator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76353, - "src": "23352:10:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "arguments": [ - { - "hexValue": "30", - "id": 76362, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "23374:1:129", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 76361, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "23366:7:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 76360, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "23366:7:129", - "typeDescriptions": {} - } - }, - "id": 76363, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "23366:10:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "23352:24:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "hexValue": "74727565", - "id": 76366, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "23387:4:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "id": 76367, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "23352:39:129", - "trueExpression": { - "hexValue": "66616c7365", - "id": 76365, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "23379:5:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 76358, - "id": 76368, - "nodeType": "Return", - "src": "23345:46:129" - } - ] - }, - "baseFunctions": [ - 3799 - ], - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_isValidAllocator", - "nameLocation": "23216:17:129", - "overrides": { - "id": 76355, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "23268:8:129" - }, - "parameters": { - "id": 76354, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 76353, - "mutability": "mutable", - "name": "_allocator", - "nameLocation": "23242:10:129", - "nodeType": "VariableDeclaration", - "scope": 76370, - "src": "23234:18:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 76352, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "23234:7:129", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "23233:20:129" - }, - "returnParameters": { - "id": 76358, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 76357, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 76370, - "src": "23286:4:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 76356, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "23286:4:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "23285:6:129" - }, - "scope": 77611, - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "id": 76380, - "nodeType": "FunctionDefinition", - "src": "23404:86:129", - "nodes": [], - "body": { - "id": 76379, - "nodeType": "Block", - "src": "23450:40:129", - "nodes": [], - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 76376, - "name": "_active", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76372, - "src": "23475:7:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 76375, - "name": "_setPoolActive", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3782, - "src": "23460:14:129", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bool_$returns$__$", - "typeString": "function (bool)" - } - }, - "id": 76377, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "23460:23:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 76378, - "nodeType": "ExpressionStatement", - "src": "23460:23:129" - } - ] - }, - "functionSelector": "b5f620ce", - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "setPoolActive", - "nameLocation": "23413:13:129", - "parameters": { - "id": 76373, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 76372, - "mutability": "mutable", - "name": "_active", - "nameLocation": "23432:7:129", - "nodeType": "VariableDeclaration", - "scope": 76380, - "src": "23427:12:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 76371, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "23427:4:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "23426:14:129" - }, - "returnParameters": { - "id": 76374, - "nodeType": "ParameterList", - "parameters": [], - "src": "23450:0:129" - }, - "scope": 77611, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "id": 76468, - "nodeType": "FunctionDefinition", - "src": "23496:836:129", - "nodes": [], - "body": { - "id": 76467, - "nodeType": "Block", - "src": "23540:792:129", - "nodes": [], - "statements": [ - { - "assignments": [ - 76389 - ], - "declarations": [ - { - "constant": false, - "id": 76389, - "mutability": "mutable", - "name": "proposalsIds", - "nameLocation": "23615:12:129", - "nodeType": "VariableDeclaration", - "scope": 76467, - "src": "23598:29:129", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 76387, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "23598:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 76388, - "nodeType": "ArrayTypeName", - "src": "23598:9:129", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "visibility": "internal" - } - ], - "id": 76393, - "initialValue": { - "baseExpression": { - "id": 76390, - "name": "voterStakedProposals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75031, - "src": "23630:20:129", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$", - "typeString": "mapping(address => uint256[] storage ref)" - } - }, - "id": 76392, - "indexExpression": { - "id": 76391, - "name": "_member", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76382, - "src": "23651:7:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "23630:29:129", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "23598:61:129" - }, - { - "body": { - "id": 76465, - "nodeType": "Block", - "src": "23719:607:129", - "statements": [ - { - "assignments": [ - 76406 - ], - "declarations": [ - { - "constant": false, - "id": 76406, - "mutability": "mutable", - "name": "proposalId", - "nameLocation": "23741:10:129", - "nodeType": "VariableDeclaration", - "scope": 76465, - "src": "23733:18:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 76405, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "23733:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 76410, - "initialValue": { - "baseExpression": { - "id": 76407, - "name": "proposalsIds", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76389, - "src": "23754:12:129", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 76409, - "indexExpression": { - "id": 76408, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76395, - "src": "23767:1:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "23754:15:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "23733:36:129" - }, - { - "assignments": [ - 76415 - ], - "declarations": [ - { - "constant": false, - "id": 76415, - "mutability": "mutable", - "name": "proposal", - "nameLocation": "23815:8:129", - "nodeType": "VariableDeclaration", - "scope": 76465, - "src": "23783:40:129", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal" - }, - "typeName": { - "id": 76414, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 76413, - "name": "StrategyStruct.Proposal", - "nameLocations": [ - "23783:14:129", - "23798:8:129" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 74776, - "src": "23783:23:129" - }, - "referencedDeclaration": 74776, - "src": "23783:23:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal" - } - }, - "visibility": "internal" - } - ], - "id": 76419, - "initialValue": { - "baseExpression": { - "id": 76416, - "name": "proposals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75022, - "src": "23826:9:129", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Proposal_$74776_storage_$", - "typeString": "mapping(uint256 => struct StrategyStruct.Proposal storage ref)" - } - }, - "id": 76418, - "indexExpression": { - "id": 76417, - "name": "proposalId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76406, - "src": "23836:10:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "23826:21:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage", - "typeString": "struct StrategyStruct.Proposal storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "23783:64:129" - }, - { - "condition": { - "arguments": [ - { - "id": 76421, - "name": "proposalId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76406, - "src": "23880:10:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 76420, - "name": "proposalExists", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76656, - "src": "23865:14:129", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) view returns (bool)" - } - }, - "id": 76422, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "23865:26:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 76464, - "nodeType": "IfStatement", - "src": "23861:455:129", - "trueBody": { - "id": 76463, - "nodeType": "Block", - "src": "23893:423:129", - "statements": [ - { - "assignments": [ - 76424 - ], - "declarations": [ - { - "constant": false, - "id": 76424, - "mutability": "mutable", - "name": "stakedPoints", - "nameLocation": "23919:12:129", - "nodeType": "VariableDeclaration", - "scope": 76463, - "src": "23911:20:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 76423, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "23911:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 76429, - "initialValue": { - "baseExpression": { - "expression": { - "id": 76425, - "name": "proposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76415, - "src": "23934:8:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal storage pointer" - } - }, - "id": 76426, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "23943:17:129", - "memberName": "voterStakedPoints", - "nodeType": "MemberAccess", - "referencedDeclaration": 74772, - "src": "23934:26:129", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 76428, - "indexExpression": { - "id": 76427, - "name": "_member", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76382, - "src": "23961:7:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "23934:35:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "23911:58:129" - }, - { - "expression": { - "id": 76436, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "expression": { - "id": 76430, - "name": "proposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76415, - "src": "23987:8:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal storage pointer" - } - }, - "id": 76433, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "23996:17:129", - "memberName": "voterStakedPoints", - "nodeType": "MemberAccess", - "referencedDeclaration": 74772, - "src": "23987:26:129", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 76434, - "indexExpression": { - "id": 76432, - "name": "_member", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76382, - "src": "24014:7:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "23987:35:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "hexValue": "30", - "id": 76435, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "24025:1:129", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "23987:39:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 76437, - "nodeType": "ExpressionStatement", - "src": "23987:39:129" - }, - { - "expression": { - "id": 76442, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "expression": { - "id": 76438, - "name": "proposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76415, - "src": "24044:8:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal storage pointer" - } - }, - "id": 76440, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberLocation": "24053:12:129", - "memberName": "stakedAmount", - "nodeType": "MemberAccess", - "referencedDeclaration": 74755, - "src": "24044:21:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "-=", - "rightHandSide": { - "id": 76441, - "name": "stakedPoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76424, - "src": "24069:12:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "24044:37:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 76443, - "nodeType": "ExpressionStatement", - "src": "24044:37:129" - }, - { - "expression": { - "id": 76446, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 76444, - "name": "totalStaked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74995, - "src": "24099:11:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "-=", - "rightHandSide": { - "id": 76445, - "name": "stakedPoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76424, - "src": "24114:12:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "24099:27:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 76447, - "nodeType": "ExpressionStatement", - "src": "24099:27:129" - }, - { - "expression": { - "arguments": [ - { - "id": 76449, - "name": "proposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76415, - "src": "24171:8:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal storage pointer" - } - }, - { - "id": 76450, - "name": "stakedPoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76424, - "src": "24181:12:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal storage pointer" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 76448, - "name": "_calculateAndSetConviction", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77385, - "src": "24144:26:129", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Proposal_$74776_storage_ptr_$_t_uint256_$returns$__$", - "typeString": "function (struct StrategyStruct.Proposal storage pointer,uint256)" - } - }, - "id": 76451, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "24144:50:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 76452, - "nodeType": "ExpressionStatement", - "src": "24144:50:129" - }, - { - "eventCall": { - "arguments": [ - { - "id": 76454, - "name": "_member", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76382, - "src": "24230:7:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 76455, - "name": "proposalId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76406, - "src": "24239:10:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "hexValue": "30", - "id": 76456, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "24251:1:129", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - { - "expression": { - "id": 76457, - "name": "proposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76415, - "src": "24254:8:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal storage pointer" - } - }, - "id": 76458, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "24263:12:129", - "memberName": "stakedAmount", - "nodeType": "MemberAccess", - "referencedDeclaration": 74755, - "src": "24254:21:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "expression": { - "id": 76459, - "name": "proposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76415, - "src": "24277:8:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal storage pointer" - } - }, - "id": 76460, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "24286:14:129", - "memberName": "convictionLast", - "nodeType": "MemberAccess", - "referencedDeclaration": 74757, - "src": "24277:23:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 76453, - "name": "SupportAdded", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74943, - "src": "24217:12:129", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256,uint256,uint256,uint256)" - } - }, - "id": 76461, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "24217:84:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 76462, - "nodeType": "EmitStatement", - "src": "24212:89:129" - } - ] - } - } - ] - }, - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 76401, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 76398, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76395, - "src": "23689:1:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "expression": { - "id": 76399, - "name": "proposalsIds", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76389, - "src": "23693:12:129", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 76400, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "23706:6:129", - "memberName": "length", - "nodeType": "MemberAccess", - "src": "23693:19:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "23689:23:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 76466, - "initializationExpression": { - "assignments": [ - 76395 - ], - "declarations": [ - { - "constant": false, - "id": 76395, - "mutability": "mutable", - "name": "i", - "nameLocation": "23682:1:129", - "nodeType": "VariableDeclaration", - "scope": 76466, - "src": "23674:9:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 76394, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "23674:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 76397, - "initialValue": { - "hexValue": "30", - "id": 76396, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "23686:1:129", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "23674:13:129" - }, - "loopExpression": { - "expression": { - "id": 76403, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "23714:3:129", - "subExpression": { - "id": 76402, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76395, - "src": "23714:1:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 76404, - "nodeType": "ExpressionStatement", - "src": "23714:3:129" - }, - "nodeType": "ForStatement", - "src": "23669:657:129" - } - ] - }, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "withdraw", - "nameLocation": "23505:8:129", - "parameters": { - "id": 76383, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 76382, - "mutability": "mutable", - "name": "_member", - "nameLocation": "23522:7:129", - "nodeType": "VariableDeclaration", - "scope": 76468, - "src": "23514:15:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 76381, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "23514:7:129", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "23513:17:129" - }, - "returnParameters": { - "id": 76384, - "nodeType": "ParameterList", - "parameters": [], - "src": "23540:0:129" - }, - "scope": 77611, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "id": 76542, - "nodeType": "FunctionDefinition", - "src": "24894:1038:129", - "nodes": [], - "body": { - "id": 76541, - "nodeType": "Block", - "src": "25363:569:129", - "nodes": [], - "statements": [ - { - "assignments": [ - 76499 - ], - "declarations": [ - { - "constant": false, - "id": 76499, - "mutability": "mutable", - "name": "proposal", - "nameLocation": "25405:8:129", - "nodeType": "VariableDeclaration", - "scope": 76541, - "src": "25373:40:129", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal" - }, - "typeName": { - "id": 76498, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 76497, - "name": "StrategyStruct.Proposal", - "nameLocations": [ - "25373:14:129", - "25388:8:129" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 74776, - "src": "25373:23:129" - }, - "referencedDeclaration": 74776, - "src": "25373:23:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal" - } - }, - "visibility": "internal" - } - ], - "id": 76503, - "initialValue": { - "baseExpression": { - "id": 76500, - "name": "proposals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75022, - "src": "25416:9:129", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Proposal_$74776_storage_$", - "typeString": "mapping(uint256 => struct StrategyStruct.Proposal storage ref)" - } - }, - "id": 76502, - "indexExpression": { - "id": 76501, - "name": "_proposalId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76471, - "src": "25426:11:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "25416:22:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage", - "typeString": "struct StrategyStruct.Proposal storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "25373:65:129" - }, - { - "expression": { - "id": 76515, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 76504, - "name": "threshold", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76491, - "src": "25449:9:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 76508, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 76505, - "name": "proposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76499, - "src": "25461:8:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal storage pointer" - } - }, - "id": 76506, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "25470:15:129", - "memberName": "requestedAmount", - "nodeType": "MemberAccess", - "referencedDeclaration": 74753, - "src": "25461:24:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "hexValue": "30", - "id": 76507, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "25489:1:129", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "25461:29:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "arguments": [ - { - "expression": { - "id": 76511, - "name": "proposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76499, - "src": "25516:8:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal storage pointer" - } - }, - "id": 76512, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "25525:15:129", - "memberName": "requestedAmount", - "nodeType": "MemberAccess", - "referencedDeclaration": 74753, - "src": "25516:24:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 76510, - "name": "calculateThreshold", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77236, - "src": "25497:18:129", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) view returns (uint256)" - } - }, - "id": 76513, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "25497:44:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 76514, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "25461:80:129", - "trueExpression": { - "hexValue": "30", - "id": 76509, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "25493:1:129", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "25449:92:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 76516, - "nodeType": "ExpressionStatement", - "src": "25449:92:129" - }, - { - "expression": { - "components": [ - { - "expression": { - "id": 76517, - "name": "proposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76499, - "src": "25572:8:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal storage pointer" - } - }, - "id": 76518, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "25581:9:129", - "memberName": "submitter", - "nodeType": "MemberAccess", - "referencedDeclaration": 74761, - "src": "25572:18:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "expression": { - "id": 76519, - "name": "proposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76499, - "src": "25604:8:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal storage pointer" - } - }, - "id": 76520, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "25613:11:129", - "memberName": "beneficiary", - "nodeType": "MemberAccess", - "referencedDeclaration": 74759, - "src": "25604:20:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "expression": { - "id": 76521, - "name": "proposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76499, - "src": "25638:8:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal storage pointer" - } - }, - "id": 76522, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "25647:14:129", - "memberName": "requestedToken", - "nodeType": "MemberAccess", - "referencedDeclaration": 74763, - "src": "25638:23:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "expression": { - "id": 76523, - "name": "proposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76499, - "src": "25675:8:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal storage pointer" - } - }, - "id": 76524, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "25684:15:129", - "memberName": "requestedAmount", - "nodeType": "MemberAccess", - "referencedDeclaration": 74753, - "src": "25675:24:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "expression": { - "id": 76525, - "name": "proposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76499, - "src": "25713:8:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal storage pointer" - } - }, - "id": 76526, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "25722:12:129", - "memberName": "stakedAmount", - "nodeType": "MemberAccess", - "referencedDeclaration": 74755, - "src": "25713:21:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "expression": { - "id": 76527, - "name": "proposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76499, - "src": "25748:8:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal storage pointer" - } - }, - "id": 76528, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "25757:14:129", - "memberName": "proposalStatus", - "nodeType": "MemberAccess", - "referencedDeclaration": 74768, - "src": "25748:23:129", - "typeDescriptions": { - "typeIdentifier": "t_enum$_ProposalStatus_$74749", - "typeString": "enum StrategyStruct.ProposalStatus" - } - }, - { - "expression": { - "id": 76529, - "name": "proposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76499, - "src": "25785:8:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal storage pointer" - } - }, - "id": 76530, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "25794:9:129", - "memberName": "blockLast", - "nodeType": "MemberAccess", - "referencedDeclaration": 74765, - "src": "25785:18:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "expression": { - "id": 76531, - "name": "proposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76499, - "src": "25817:8:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal storage pointer" - } - }, - "id": 76532, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "25826:14:129", - "memberName": "convictionLast", - "nodeType": "MemberAccess", - "referencedDeclaration": 74757, - "src": "25817:23:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 76533, - "name": "threshold", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76491, - "src": "25854:9:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "baseExpression": { - "expression": { - "id": 76534, - "name": "proposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76499, - "src": "25877:8:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal storage pointer" - } - }, - "id": 76535, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "25886:17:129", - "memberName": "voterStakedPoints", - "nodeType": "MemberAccess", - "referencedDeclaration": 74772, - "src": "25877:26:129", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 76538, - "indexExpression": { - "expression": { - "id": 76536, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "25904:3:129", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 76537, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "25908:6:129", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "25904:10:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "25877:38:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 76539, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "25558:367:129", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_address_$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_enum$_ProposalStatus_$74749_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$", - "typeString": "tuple(address,address,address,uint256,uint256,enum StrategyStruct.ProposalStatus,uint256,uint256,uint256,uint256)" - } - }, - "functionReturnParameters": 76494, - "id": 76540, - "nodeType": "Return", - "src": "25551:374:129" - } - ] - }, - "documentation": { - "id": 76469, - "nodeType": "StructuredDocumentation", - "src": "24338:551:129", - "text": " @dev Get proposal details\n @param _proposalId Proposal id\n @return submitter Proposal submitter\n @return beneficiary Proposal beneficiary\n @return requestedToken Proposal requested token\n @return requestedAmount Proposal requested amount\n @return stakedAmount Proposal staked points\n @return proposalStatus Proposal status\n @return blockLast Last block when conviction was calculated\n @return convictionLast Last conviction calculated\n @return threshold Proposal threshold" - }, - "functionSelector": "c7f758a8", - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getProposal", - "nameLocation": "24903:11:129", - "parameters": { - "id": 76472, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 76471, - "mutability": "mutable", - "name": "_proposalId", - "nameLocation": "24923:11:129", - "nodeType": "VariableDeclaration", - "scope": 76542, - "src": "24915:19:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 76470, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "24915:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "24914:21:129" - }, - "returnParameters": { - "id": 76494, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 76474, - "mutability": "mutable", - "name": "submitter", - "nameLocation": "25004:9:129", - "nodeType": "VariableDeclaration", - "scope": 76542, - "src": "24996:17:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 76473, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "24996:7:129", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 76476, - "mutability": "mutable", - "name": "beneficiary", - "nameLocation": "25035:11:129", - "nodeType": "VariableDeclaration", - "scope": 76542, - "src": "25027:19:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 76475, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "25027:7:129", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 76478, - "mutability": "mutable", - "name": "requestedToken", - "nameLocation": "25068:14:129", - "nodeType": "VariableDeclaration", - "scope": 76542, - "src": "25060:22:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 76477, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "25060:7:129", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 76480, - "mutability": "mutable", - "name": "requestedAmount", - "nameLocation": "25104:15:129", - "nodeType": "VariableDeclaration", - "scope": 76542, - "src": "25096:23:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 76479, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "25096:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 76482, - "mutability": "mutable", - "name": "stakedAmount", - "nameLocation": "25141:12:129", - "nodeType": "VariableDeclaration", - "scope": 76542, - "src": "25133:20:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 76481, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "25133:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 76485, - "mutability": "mutable", - "name": "proposalStatus", - "nameLocation": "25197:14:129", - "nodeType": "VariableDeclaration", - "scope": 76542, - "src": "25167:44:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_enum$_ProposalStatus_$74749", - "typeString": "enum StrategyStruct.ProposalStatus" - }, - "typeName": { - "id": 76484, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 76483, - "name": "StrategyStruct.ProposalStatus", - "nameLocations": [ - "25167:14:129", - "25182:14:129" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 74749, - "src": "25167:29:129" - }, - "referencedDeclaration": 74749, - "src": "25167:29:129", - "typeDescriptions": { - "typeIdentifier": "t_enum$_ProposalStatus_$74749", - "typeString": "enum StrategyStruct.ProposalStatus" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 76487, - "mutability": "mutable", - "name": "blockLast", - "nameLocation": "25233:9:129", - "nodeType": "VariableDeclaration", - "scope": 76542, - "src": "25225:17:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 76486, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "25225:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 76489, - "mutability": "mutable", - "name": "convictionLast", - "nameLocation": "25264:14:129", - "nodeType": "VariableDeclaration", - "scope": 76542, - "src": "25256:22:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 76488, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "25256:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 76491, - "mutability": "mutable", - "name": "threshold", - "nameLocation": "25300:9:129", - "nodeType": "VariableDeclaration", - "scope": 76542, - "src": "25292:17:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 76490, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "25292:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 76493, - "mutability": "mutable", - "name": "voterStakedPoints", - "nameLocation": "25331:17:129", - "nodeType": "VariableDeclaration", - "scope": 76542, - "src": "25323:25:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 76492, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "25323:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "24982:376:129" - }, - "scope": 77611, - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "id": 76563, - "nodeType": "FunctionDefinition", - "src": "25938:198:129", - "nodes": [], - "body": { - "id": 76562, - "nodeType": "Block", - "src": "26020:116:129", - "nodes": [], - "statements": [ - { - "assignments": [ - 76554 - ], - "declarations": [ - { - "constant": false, - "id": 76554, - "mutability": "mutable", - "name": "proposal", - "nameLocation": "26062:8:129", - "nodeType": "VariableDeclaration", - "scope": 76562, - "src": "26030:40:129", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal" - }, - "typeName": { - "id": 76553, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 76552, - "name": "StrategyStruct.Proposal", - "nameLocations": [ - "26030:14:129", - "26045:8:129" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 74776, - "src": "26030:23:129" - }, - "referencedDeclaration": 74776, - "src": "26030:23:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal" - } - }, - "visibility": "internal" - } - ], - "id": 76558, - "initialValue": { - "baseExpression": { - "id": 76555, - "name": "proposals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75022, - "src": "26073:9:129", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Proposal_$74776_storage_$", - "typeString": "mapping(uint256 => struct StrategyStruct.Proposal storage ref)" - } - }, - "id": 76557, - "indexExpression": { - "id": 76556, - "name": "_proposalId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76544, - "src": "26083:11:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "26073:22:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage", - "typeString": "struct StrategyStruct.Proposal storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "26030:65:129" - }, - { - "expression": { - "expression": { - "id": 76559, - "name": "proposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76554, - "src": "26112:8:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal storage pointer" - } - }, - "id": 76560, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "26121:8:129", - "memberName": "metadata", - "nodeType": "MemberAccess", - "referencedDeclaration": 74775, - "src": "26112:17:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Metadata_$3098_storage", - "typeString": "struct Metadata storage ref" - } - }, - "functionReturnParameters": 76549, - "id": 76561, - "nodeType": "Return", - "src": "26105:24:129" - } - ] - }, - "functionSelector": "a574cea4", - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getMetadata", - "nameLocation": "25947:11:129", - "parameters": { - "id": 76545, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 76544, - "mutability": "mutable", - "name": "_proposalId", - "nameLocation": "25967:11:129", - "nodeType": "VariableDeclaration", - "scope": 76563, - "src": "25959:19:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 76543, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "25959:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "25958:21:129" - }, - "returnParameters": { - "id": 76549, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 76548, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 76563, - "src": "26003:15:129", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Metadata_$3098_memory_ptr", - "typeString": "struct Metadata" - }, - "typeName": { - "id": 76547, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 76546, - "name": "Metadata", - "nameLocations": [ - "26003:8:129" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 3098, - "src": "26003:8:129" - }, - "referencedDeclaration": 3098, - "src": "26003:8:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Metadata_$3098_storage_ptr", - "typeString": "struct Metadata" - } - }, - "visibility": "internal" - } - ], - "src": "26002:17:129" - }, - "scope": 77611, - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "id": 76579, - "nodeType": "FunctionDefinition", - "src": "26337:176:129", - "nodes": [], - "body": { - "id": 76578, - "nodeType": "Block", - "src": "26437:76:129", - "nodes": [], - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 76574, - "name": "_proposalId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76566, - "src": "26486:11:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 76575, - "name": "_voter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76568, - "src": "26499:6:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 76573, - "name": "_internal_getProposalVoterStake", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76621, - "src": "26454:31:129", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_address_$returns$_t_uint256_$", - "typeString": "function (uint256,address) view returns (uint256)" - } - }, - "id": 76576, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "26454:52:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 76572, - "id": 76577, - "nodeType": "Return", - "src": "26447:59:129" - } - ] - }, - "documentation": { - "id": 76564, - "nodeType": "StructuredDocumentation", - "src": "26142:190:129", - "text": " @notice Get stake of voter `_voter` on proposal #`_proposalId`\n @param _proposalId Proposal id\n @param _voter Voter address\n @return Proposal voter stake" - }, - "functionSelector": "e0dd2c38", - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getProposalVoterStake", - "nameLocation": "26346:21:129", - "parameters": { - "id": 76569, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 76566, - "mutability": "mutable", - "name": "_proposalId", - "nameLocation": "26376:11:129", - "nodeType": "VariableDeclaration", - "scope": 76579, - "src": "26368:19:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 76565, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "26368:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 76568, - "mutability": "mutable", - "name": "_voter", - "nameLocation": "26397:6:129", - "nodeType": "VariableDeclaration", - "scope": 76579, - "src": "26389:14:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 76567, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "26389:7:129", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "26367:37:129" - }, - "returnParameters": { - "id": 76572, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 76571, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 76579, - "src": "26428:7:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 76570, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "26428:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "26427:9:129" - }, - "scope": 77611, - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "id": 76592, - "nodeType": "FunctionDefinition", - "src": "26519:145:129", - "nodes": [], - "body": { - "id": 76591, - "nodeType": "Block", - "src": "26605:59:129", - "nodes": [], - "statements": [ - { - "expression": { - "expression": { - "baseExpression": { - "id": 76586, - "name": "proposals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75022, - "src": "26622:9:129", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Proposal_$74776_storage_$", - "typeString": "mapping(uint256 => struct StrategyStruct.Proposal storage ref)" - } - }, - "id": 76588, - "indexExpression": { - "id": 76587, - "name": "_proposalId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76581, - "src": "26632:11:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "26622:22:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage", - "typeString": "struct StrategyStruct.Proposal storage ref" - } - }, - "id": 76589, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "26645:12:129", - "memberName": "stakedAmount", - "nodeType": "MemberAccess", - "referencedDeclaration": 74755, - "src": "26622:35:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 76585, - "id": 76590, - "nodeType": "Return", - "src": "26615:42:129" - } - ] - }, - "functionSelector": "dc96ff2d", - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getProposalStakedAmount", - "nameLocation": "26528:23:129", - "parameters": { - "id": 76582, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 76581, - "mutability": "mutable", - "name": "_proposalId", - "nameLocation": "26560:11:129", - "nodeType": "VariableDeclaration", - "scope": 76592, - "src": "26552:19:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 76580, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "26552:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "26551:21:129" - }, - "returnParameters": { - "id": 76585, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 76584, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 76592, - "src": "26596:7:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 76583, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "26596:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "26595:9:129" - }, - "scope": 77611, - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "id": 76604, - "nodeType": "FunctionDefinition", - "src": "26733:127:129", - "nodes": [], - "body": { - "id": 76603, - "nodeType": "Block", - "src": "26810:50:129", - "nodes": [], - "statements": [ - { - "expression": { - "baseExpression": { - "id": 76599, - "name": "totalVoterStakePct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75026, - "src": "26827:18:129", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 76601, - "indexExpression": { - "id": 76600, - "name": "_voter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76594, - "src": "26846:6:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "26827:26:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 76598, - "id": 76602, - "nodeType": "Return", - "src": "26820:33:129" - } - ] - }, - "functionSelector": "bcc5b93b", - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getTotalVoterStakePct", - "nameLocation": "26742:21:129", - "parameters": { - "id": 76595, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 76594, - "mutability": "mutable", - "name": "_voter", - "nameLocation": "26772:6:129", - "nodeType": "VariableDeclaration", - "scope": 76604, - "src": "26764:14:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 76593, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "26764:7:129", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "26763:16:129" - }, - "returnParameters": { - "id": 76598, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 76597, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 76604, - "src": "26801:7:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 76596, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "26801:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "26800:9:129" - }, - "scope": 77611, - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "id": 76621, - "nodeType": "FunctionDefinition", - "src": "26866:182:129", - "nodes": [], - "body": { - "id": 76620, - "nodeType": "Block", - "src": "26976:72:129", - "nodes": [], - "statements": [ - { - "expression": { - "baseExpression": { - "expression": { - "baseExpression": { - "id": 76613, - "name": "proposals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75022, - "src": "26993:9:129", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Proposal_$74776_storage_$", - "typeString": "mapping(uint256 => struct StrategyStruct.Proposal storage ref)" - } - }, - "id": 76615, - "indexExpression": { - "id": 76614, - "name": "_proposalId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76606, - "src": "27003:11:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "26993:22:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage", - "typeString": "struct StrategyStruct.Proposal storage ref" - } - }, - "id": 76616, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "27016:17:129", - "memberName": "voterStakedPoints", - "nodeType": "MemberAccess", - "referencedDeclaration": 74772, - "src": "26993:40:129", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 76618, - "indexExpression": { - "id": 76617, - "name": "_voter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76608, - "src": "27034:6:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "26993:48:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 76612, - "id": 76619, - "nodeType": "Return", - "src": "26986:55:129" - } - ] - }, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_internal_getProposalVoterStake", - "nameLocation": "26875:31:129", - "parameters": { - "id": 76609, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 76606, - "mutability": "mutable", - "name": "_proposalId", - "nameLocation": "26915:11:129", - "nodeType": "VariableDeclaration", - "scope": 76621, - "src": "26907:19:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 76605, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "26907:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 76608, - "mutability": "mutable", - "name": "_voter", - "nameLocation": "26936:6:129", - "nodeType": "VariableDeclaration", - "scope": 76621, - "src": "26928:14:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 76607, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "26928:7:129", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "26906:37:129" - }, - "returnParameters": { - "id": 76612, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 76611, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 76621, - "src": "26967:7:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 76610, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "26967:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "26966:9:129" - }, - "scope": 77611, - "stateMutability": "view", - "virtual": false, - "visibility": "internal" - }, - { - "id": 76631, - "nodeType": "FunctionDefinition", - "src": "27054:145:129", - "nodes": [], - "body": { - "id": 76630, - "nodeType": "Block", - "src": "27118:81:129", - "nodes": [], - "statements": [ - { - "expression": { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "id": 76626, - "name": "registryCommunity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75014, - "src": "27135:17:129", - "typeDescriptions": { - "typeIdentifier": "t_contract$_RegistryCommunity_$83082", - "typeString": "contract RegistryCommunity" - } - }, - "id": 76627, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "27153:20:129", - "memberName": "getBasisStakedAmount", - "nodeType": "MemberAccess", - "referencedDeclaration": 82879, - "src": "27135:38:129", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", - "typeString": "function () view external returns (uint256)" - } - }, - "id": 76628, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "27135:40:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 76625, - "id": 76629, - "nodeType": "Return", - "src": "27128:47:129" - } - ] - }, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getBasisStakedAmount", - "nameLocation": "27063:20:129", - "parameters": { - "id": 76622, - "nodeType": "ParameterList", - "parameters": [], - "src": "27083:2:129" - }, - "returnParameters": { - "id": 76625, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 76624, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 76631, - "src": "27109:7:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 76623, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "27109:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "27108:9:129" - }, - "scope": 77611, - "stateMutability": "view", - "virtual": false, - "visibility": "internal" - }, - { - "id": 76656, - "nodeType": "FunctionDefinition", - "src": "27205:185:129", - "nodes": [], - "body": { - "id": 76655, - "nodeType": "Block", - "src": "27279:111:129", - "nodes": [], - "statements": [ - { - "expression": { - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 76653, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 76643, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "baseExpression": { - "id": 76638, - "name": "proposals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75022, - "src": "27296:9:129", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Proposal_$74776_storage_$", - "typeString": "mapping(uint256 => struct StrategyStruct.Proposal storage ref)" - } - }, - "id": 76640, - "indexExpression": { - "id": 76639, - "name": "_proposalID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76633, - "src": "27306:11:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "27296:22:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage", - "typeString": "struct StrategyStruct.Proposal storage ref" - } - }, - "id": 76641, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "27319:10:129", - "memberName": "proposalId", - "nodeType": "MemberAccess", - "referencedDeclaration": 74751, - "src": "27296:33:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "hexValue": "30", - "id": 76642, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "27332:1:129", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "27296:37:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 76652, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "baseExpression": { - "id": 76644, - "name": "proposals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75022, - "src": "27337:9:129", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Proposal_$74776_storage_$", - "typeString": "mapping(uint256 => struct StrategyStruct.Proposal storage ref)" - } - }, - "id": 76646, - "indexExpression": { - "id": 76645, - "name": "_proposalID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76633, - "src": "27347:11:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "27337:22:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage", - "typeString": "struct StrategyStruct.Proposal storage ref" - } - }, - "id": 76647, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "27360:9:129", - "memberName": "submitter", - "nodeType": "MemberAccess", - "referencedDeclaration": 74761, - "src": "27337:32:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "arguments": [ - { - "hexValue": "30", - "id": 76650, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "27381:1:129", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 76649, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "27373:7:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 76648, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "27373:7:129", - "typeDescriptions": {} - } - }, - "id": 76651, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "27373:10:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "27337:46:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "27296:87:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 76637, - "id": 76654, - "nodeType": "Return", - "src": "27289:94:129" - } - ] - }, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "proposalExists", - "nameLocation": "27214:14:129", - "parameters": { - "id": 76634, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 76633, - "mutability": "mutable", - "name": "_proposalID", - "nameLocation": "27237:11:129", - "nodeType": "VariableDeclaration", - "scope": 76656, - "src": "27229:19:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 76632, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "27229:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "27228:21:129" - }, - "returnParameters": { - "id": 76637, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 76636, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 76656, - "src": "27273:4:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 76635, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "27273:4:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "27272:6:129" - }, - "scope": 77611, - "stateMutability": "view", - "virtual": false, - "visibility": "internal" - }, - { - "id": 76674, - "nodeType": "FunctionDefinition", - "src": "27396:174:129", - "nodes": [], - "body": { - "id": 76673, - "nodeType": "Block", - "src": "27491:79:129", - "nodes": [], - "statements": [ - { - "expression": { - "id": 76671, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 76663, - "name": "isOverMaxRatio", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76661, - "src": "27501:14:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 76670, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 76666, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 76664, - "name": "maxRatio", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74988, - "src": "27518:8:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "id": 76665, - "name": "poolAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3343, - "src": "27529:10:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "27518:21:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 76669, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 76667, - "name": "_requestedAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76658, - "src": "27543:16:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "id": 76668, - "name": "D", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74972, - "src": "27562:1:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "27543:20:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "27518:45:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "27501:62:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 76672, - "nodeType": "ExpressionStatement", - "src": "27501:62:129" - } - ] - }, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_isOverMaxRatio", - "nameLocation": "27405:15:129", - "parameters": { - "id": 76659, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 76658, - "mutability": "mutable", - "name": "_requestedAmount", - "nameLocation": "27429:16:129", - "nodeType": "VariableDeclaration", - "scope": 76674, - "src": "27421:24:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 76657, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "27421:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "27420:26:129" - }, - "returnParameters": { - "id": 76662, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 76661, - "mutability": "mutable", - "name": "isOverMaxRatio", - "nameLocation": "27475:14:129", - "nodeType": "VariableDeclaration", - "scope": 76674, - "src": "27470:19:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 76660, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "27470:4:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "27469:21:129" - }, - "scope": 77611, - "stateMutability": "view", - "virtual": false, - "visibility": "internal" - }, - { - "id": 76770, - "nodeType": "FunctionDefinition", - "src": "27576:1548:129", - "nodes": [], - "body": { - "id": 76769, - "nodeType": "Block", - "src": "27706:1418:129", - "nodes": [], - "statements": [ - { - "assignments": [ - 76684 - ], - "declarations": [ - { - "constant": false, - "id": 76684, - "mutability": "mutable", - "name": "deltaSupportSum", - "nameLocation": "27723:15:129", - "nodeType": "VariableDeclaration", - "scope": 76769, - "src": "27716:22:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - }, - "typeName": { - "id": 76683, - "name": "int256", - "nodeType": "ElementaryTypeName", - "src": "27716:6:129", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - }, - "visibility": "internal" - } - ], - "id": 76686, - "initialValue": { - "hexValue": "30", - "id": 76685, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "27741:1:129", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "27716:26:129" - }, - { - "body": { - "id": 76731, - "nodeType": "Block", - "src": "27806:576:129", - "statements": [ - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 76703, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "baseExpression": { - "id": 76698, - "name": "_proposalSupport", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76680, - "src": "27879:16:129", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_ProposalSupport_$74781_memory_ptr_$dyn_memory_ptr", - "typeString": "struct StrategyStruct.ProposalSupport memory[] memory" - } - }, - "id": 76700, - "indexExpression": { - "id": 76699, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76688, - "src": "27896:1:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "27879:19:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ProposalSupport_$74781_memory_ptr", - "typeString": "struct StrategyStruct.ProposalSupport memory" - } - }, - "id": 76701, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "27899:10:129", - "memberName": "proposalId", - "nodeType": "MemberAccess", - "referencedDeclaration": 74778, - "src": "27879:30:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "hexValue": "30", - "id": 76702, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "27913:1:129", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "27879:35:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 76706, - "nodeType": "IfStatement", - "src": "27875:187:129", - "trueBody": { - "id": 76705, - "nodeType": "Block", - "src": "27916:146:129", - "statements": [ - { - "id": 76704, - "nodeType": "Continue", - "src": "28039:8:129" - } - ] - } - }, - { - "assignments": [ - 76708 - ], - "declarations": [ - { - "constant": false, - "id": 76708, - "mutability": "mutable", - "name": "proposalId", - "nameLocation": "28083:10:129", - "nodeType": "VariableDeclaration", - "scope": 76731, - "src": "28075:18:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 76707, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "28075:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 76713, - "initialValue": { - "expression": { - "baseExpression": { - "id": 76709, - "name": "_proposalSupport", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76680, - "src": "28096:16:129", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_ProposalSupport_$74781_memory_ptr_$dyn_memory_ptr", - "typeString": "struct StrategyStruct.ProposalSupport memory[] memory" - } - }, - "id": 76711, - "indexExpression": { - "id": 76710, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76688, - "src": "28113:1:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "28096:19:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ProposalSupport_$74781_memory_ptr", - "typeString": "struct StrategyStruct.ProposalSupport memory" - } - }, - "id": 76712, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "28116:10:129", - "memberName": "proposalId", - "nodeType": "MemberAccess", - "referencedDeclaration": 74778, - "src": "28096:30:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "28075:51:129" - }, - { - "condition": { - "id": 76717, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "28144:27:129", - "subExpression": { - "arguments": [ - { - "id": 76715, - "name": "proposalId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76708, - "src": "28160:10:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 76714, - "name": "proposalExists", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76656, - "src": "28145:14:129", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) view returns (bool)" - } - }, - "id": 76716, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "28145:26:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 76723, - "nodeType": "IfStatement", - "src": "28140:167:129", - "trueBody": { - "id": 76722, - "nodeType": "Block", - "src": "28173:134:129", - "statements": [ - { - "errorCall": { - "arguments": [ - { - "id": 76719, - "name": "proposalId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76708, - "src": "28216:10:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 76718, - "name": "ProposalNotInList", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74868, - "src": "28198:17:129", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$_t_uint256_$returns$__$", - "typeString": "function (uint256) pure" - } - }, - "id": 76720, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "28198:29:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 76721, - "nodeType": "RevertStatement", - "src": "28191:36:129" - } - ] - } - }, - { - "expression": { - "id": 76729, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 76724, - "name": "deltaSupportSum", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76684, - "src": "28320:15:129", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "expression": { - "baseExpression": { - "id": 76725, - "name": "_proposalSupport", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76680, - "src": "28339:16:129", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_ProposalSupport_$74781_memory_ptr_$dyn_memory_ptr", - "typeString": "struct StrategyStruct.ProposalSupport memory[] memory" - } - }, - "id": 76727, - "indexExpression": { - "id": 76726, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76688, - "src": "28356:1:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "28339:19:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ProposalSupport_$74781_memory_ptr", - "typeString": "struct StrategyStruct.ProposalSupport memory" - } - }, - "id": 76728, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "28359:12:129", - "memberName": "deltaSupport", - "nodeType": "MemberAccess", - "referencedDeclaration": 74780, - "src": "28339:32:129", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - }, - "src": "28320:51:129", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - }, - "id": 76730, - "nodeType": "ExpressionStatement", - "src": "28320:51:129" - } - ] - }, - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 76694, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 76691, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76688, - "src": "27772:1:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "expression": { - "id": 76692, - "name": "_proposalSupport", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76680, - "src": "27776:16:129", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_ProposalSupport_$74781_memory_ptr_$dyn_memory_ptr", - "typeString": "struct StrategyStruct.ProposalSupport memory[] memory" - } - }, - "id": 76693, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "27793:6:129", - "memberName": "length", - "nodeType": "MemberAccess", - "src": "27776:23:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "27772:27:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 76732, - "initializationExpression": { - "assignments": [ - 76688 - ], - "declarations": [ - { - "constant": false, - "id": 76688, - "mutability": "mutable", - "name": "i", - "nameLocation": "27765:1:129", - "nodeType": "VariableDeclaration", - "scope": 76732, - "src": "27757:9:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 76687, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "27757:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 76690, - "initialValue": { - "hexValue": "30", - "id": 76689, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "27769:1:129", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "27757:13:129" - }, - "loopExpression": { - "expression": { - "id": 76696, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "27801:3:129", - "subExpression": { - "id": 76695, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76688, - "src": "27801:1:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 76697, - "nodeType": "ExpressionStatement", - "src": "27801:3:129" - }, - "nodeType": "ForStatement", - "src": "27752:630:129" - }, - { - "assignments": [ - 76734 - ], - "declarations": [ - { - "constant": false, - "id": 76734, - "mutability": "mutable", - "name": "newTotalVotingSupport", - "nameLocation": "28486:21:129", - "nodeType": "VariableDeclaration", - "scope": 76769, - "src": "28478:29:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 76733, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "28478:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 76741, - "initialValue": { - "arguments": [ - { - "arguments": [ - { - "id": 76737, - "name": "_sender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76676, - "src": "28544:7:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 76736, - "name": "getTotalVoterStakePct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76604, - "src": "28522:21:129", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view returns (uint256)" - } - }, - "id": 76738, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "28522:30:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 76739, - "name": "deltaSupportSum", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76684, - "src": "28554:15:129", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - ], - "id": 76735, - "name": "_applyDelta", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77092, - "src": "28510:11:129", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_int256_$returns$_t_uint256_$", - "typeString": "function (uint256,int256) pure returns (uint256)" - } - }, - "id": 76740, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "28510:60:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "28478:92:129" - }, - { - "assignments": [ - 76743 - ], - "declarations": [ - { - "constant": false, - "id": 76743, - "mutability": "mutable", - "name": "participantBalance", - "nameLocation": "28660:18:129", - "nodeType": "VariableDeclaration", - "scope": 76769, - "src": "28652:26:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 76742, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "28652:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 76752, - "initialValue": { - "arguments": [ - { - "id": 76746, - "name": "_sender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76676, - "src": "28724:7:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "arguments": [ - { - "id": 76749, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "28741:4:129", - "typeDescriptions": { - "typeIdentifier": "t_contract$_CVStrategy_$77611", - "typeString": "contract CVStrategy" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_CVStrategy_$77611", - "typeString": "contract CVStrategy" - } - ], - "id": 76748, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "28733:7:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 76747, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "28733:7:129", - "typeDescriptions": {} - } - }, - "id": 76750, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "28733:13:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "id": 76744, - "name": "registryCommunity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75014, - "src": "28681:17:129", - "typeDescriptions": { - "typeIdentifier": "t_contract$_RegistryCommunity_$83082", - "typeString": "contract RegistryCommunity" - } - }, - "id": 76745, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "28699:24:129", - "memberName": "getMemberPowerInStrategy", - "nodeType": "MemberAccess", - "referencedDeclaration": 82423, - "src": "28681:42:129", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$", - "typeString": "function (address,address) view external returns (uint256)" - } - }, - "id": 76751, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "28681:66:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "28652:95:129" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 76755, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 76753, - "name": "newTotalVotingSupport", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76734, - "src": "28913:21:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "id": 76754, - "name": "participantBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76743, - "src": "28937:18:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "28913:42:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 76762, - "nodeType": "IfStatement", - "src": "28909:147:129", - "trueBody": { - "id": 76761, - "nodeType": "Block", - "src": "28957:99:129", - "statements": [ - { - "errorCall": { - "arguments": [ - { - "id": 76757, - "name": "newTotalVotingSupport", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76734, - "src": "29003:21:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 76758, - "name": "participantBalance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76743, - "src": "29026:18:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 76756, - "name": "NotEnoughPointsToSupport", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74856, - "src": "28978:24:129", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (uint256,uint256) pure" - } - }, - "id": 76759, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "28978:67:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 76760, - "nodeType": "RevertStatement", - "src": "28971:74:129" - } - ] - } - }, - { - "expression": { - "id": 76767, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "id": 76763, - "name": "totalVoterStakePct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75026, - "src": "29066:18:129", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 76765, - "indexExpression": { - "id": 76764, - "name": "_sender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76676, - "src": "29085:7:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "29066:27:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 76766, - "name": "newTotalVotingSupport", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76734, - "src": "29096:21:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "29066:51:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 76768, - "nodeType": "ExpressionStatement", - "src": "29066:51:129" - } - ] - }, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_check_before_addSupport", - "nameLocation": "27585:24:129", - "parameters": { - "id": 76681, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 76676, - "mutability": "mutable", - "name": "_sender", - "nameLocation": "27618:7:129", - "nodeType": "VariableDeclaration", - "scope": 76770, - "src": "27610:15:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 76675, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "27610:7:129", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 76680, - "mutability": "mutable", - "name": "_proposalSupport", - "nameLocation": "27667:16:129", - "nodeType": "VariableDeclaration", - "scope": 76770, - "src": "27627:56:129", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_ProposalSupport_$74781_memory_ptr_$dyn_memory_ptr", - "typeString": "struct StrategyStruct.ProposalSupport[]" - }, - "typeName": { - "baseType": { - "id": 76678, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 76677, - "name": "StrategyStruct.ProposalSupport", - "nameLocations": [ - "27627:14:129", - "27642:15:129" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 74781, - "src": "27627:30:129" - }, - "referencedDeclaration": 74781, - "src": "27627:30:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ProposalSupport_$74781_storage_ptr", - "typeString": "struct StrategyStruct.ProposalSupport" - } - }, - "id": 76679, - "nodeType": "ArrayTypeName", - "src": "27627:32:129", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_ProposalSupport_$74781_storage_$dyn_storage_ptr", - "typeString": "struct StrategyStruct.ProposalSupport[]" - } - }, - "visibility": "internal" - } - ], - "src": "27609:75:129" - }, - "returnParameters": { - "id": 76682, - "nodeType": "ParameterList", - "parameters": [], - "src": "27706:0:129" - }, - "scope": 77611, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "id": 77057, - "nodeType": "FunctionDefinition", - "src": "29130:3479:129", - "nodes": [], - "body": { - "id": 77056, - "nodeType": "Block", - "src": "29235:3374:129", - "nodes": [], - "statements": [ - { - "assignments": [ - 76783 - ], - "declarations": [ - { - "constant": false, - "id": 76783, - "mutability": "mutable", - "name": "proposalsIds", - "nameLocation": "29262:12:129", - "nodeType": "VariableDeclaration", - "scope": 77056, - "src": "29245:29:129", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 76781, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "29245:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 76782, - "nodeType": "ArrayTypeName", - "src": "29245:9:129", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "visibility": "internal" - } - ], - "id": 76784, - "nodeType": "VariableDeclarationStatement", - "src": "29245:29:129" - }, - { - "body": { - "id": 77054, - "nodeType": "Block", - "src": "29338:3265:129", - "statements": [ - { - "assignments": [ - 76797 - ], - "declarations": [ - { - "constant": false, - "id": 76797, - "mutability": "mutable", - "name": "proposalId", - "nameLocation": "29360:10:129", - "nodeType": "VariableDeclaration", - "scope": 77054, - "src": "29352:18:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 76796, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "29352:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 76802, - "initialValue": { - "expression": { - "baseExpression": { - "id": 76798, - "name": "_proposalSupport", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76776, - "src": "29373:16:129", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_ProposalSupport_$74781_memory_ptr_$dyn_memory_ptr", - "typeString": "struct StrategyStruct.ProposalSupport memory[] memory" - } - }, - "id": 76800, - "indexExpression": { - "id": 76799, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76786, - "src": "29390:1:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "29373:19:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ProposalSupport_$74781_memory_ptr", - "typeString": "struct StrategyStruct.ProposalSupport memory" - } - }, - "id": 76801, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "29393:10:129", - "memberName": "proposalId", - "nodeType": "MemberAccess", - "referencedDeclaration": 74778, - "src": "29373:30:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "29352:51:129" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 76806, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 76803, - "name": "proposalsIds", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76783, - "src": "29476:12:129", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 76804, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "29489:6:129", - "memberName": "length", - "nodeType": "MemberAccess", - "src": "29476:19:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "hexValue": "30", - "id": 76805, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "29499:1:129", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "29476:24:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 76905, - "nodeType": "Block", - "src": "29628:764:129", - "statements": [ - { - "assignments": [ - 76823 - ], - "declarations": [ - { - "constant": false, - "id": 76823, - "mutability": "mutable", - "name": "exist", - "nameLocation": "29651:5:129", - "nodeType": "VariableDeclaration", - "scope": 76905, - "src": "29646:10:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 76822, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "29646:4:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "id": 76825, - "initialValue": { - "hexValue": "66616c7365", - "id": 76824, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "29659:5:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "nodeType": "VariableDeclarationStatement", - "src": "29646:18:129" - }, - { - "body": { - "id": 76853, - "nodeType": "Block", - "src": "29732:268:129", - "statements": [ - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 76841, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "baseExpression": { - "id": 76837, - "name": "proposalsIds", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76783, - "src": "29783:12:129", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 76839, - "indexExpression": { - "id": 76838, - "name": "j", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76827, - "src": "29796:1:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "29783:15:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "id": 76840, - "name": "proposalId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76797, - "src": "29802:10:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "29783:29:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 76852, - "nodeType": "IfStatement", - "src": "29779:203:129", - "trueBody": { - "id": 76851, - "nodeType": "Block", - "src": "29814:168:129", - "statements": [ - { - "expression": { - "id": 76844, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 76842, - "name": "exist", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76823, - "src": "29840:5:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "hexValue": "74727565", - "id": 76843, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "29848:4:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "29840:12:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 76845, - "nodeType": "ExpressionStatement", - "src": "29840:12:129" - }, - { - "errorCall": { - "arguments": [ - { - "id": 76847, - "name": "proposalId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76797, - "src": "29911:10:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 76848, - "name": "j", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76827, - "src": "29923:1:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 76846, - "name": "ProposalSupportDuplicated", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74874, - "src": "29885:25:129", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (uint256,uint256) pure" - } - }, - "id": 76849, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "29885:40:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 76850, - "nodeType": "RevertStatement", - "src": "29878:47:129" - } - ] - } - } - ] - }, - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 76833, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 76830, - "name": "j", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76827, - "src": "29702:1:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "expression": { - "id": 76831, - "name": "proposalsIds", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76783, - "src": "29706:12:129", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 76832, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "29719:6:129", - "memberName": "length", - "nodeType": "MemberAccess", - "src": "29706:19:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "29702:23:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 76854, - "initializationExpression": { - "assignments": [ - 76827 - ], - "declarations": [ - { - "constant": false, - "id": 76827, - "mutability": "mutable", - "name": "j", - "nameLocation": "29695:1:129", - "nodeType": "VariableDeclaration", - "scope": 76854, - "src": "29687:9:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 76826, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "29687:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 76829, - "initialValue": { - "hexValue": "30", - "id": 76828, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "29699:1:129", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "29687:13:129" - }, - "loopExpression": { - "expression": { - "id": 76835, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "29727:3:129", - "subExpression": { - "id": 76834, - "name": "j", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76827, - "src": "29727:1:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 76836, - "nodeType": "ExpressionStatement", - "src": "29727:3:129" - }, - "nodeType": "ForStatement", - "src": "29682:318:129" - }, - { - "condition": { - "id": 76856, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "30021:6:129", - "subExpression": { - "id": 76855, - "name": "exist", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76823, - "src": "30022:5:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 76904, - "nodeType": "IfStatement", - "src": "30017:361:129", - "trueBody": { - "id": 76903, - "nodeType": "Block", - "src": "30029:349:129", - "statements": [ - { - "assignments": [ - 76861 - ], - "declarations": [ - { - "constant": false, - "id": 76861, - "mutability": "mutable", - "name": "temp", - "nameLocation": "30068:4:129", - "nodeType": "VariableDeclaration", - "scope": 76903, - "src": "30051:21:129", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 76859, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "30051:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 76860, - "nodeType": "ArrayTypeName", - "src": "30051:9:129", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "visibility": "internal" - } - ], - "id": 76870, - "initialValue": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 76868, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 76865, - "name": "proposalsIds", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76783, - "src": "30089:12:129", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 76866, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "30102:6:129", - "memberName": "length", - "nodeType": "MemberAccess", - "src": "30089:19:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "hexValue": "31", - "id": 76867, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "30111:1:129", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "30089:23:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 76864, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "30075:13:129", - "typeDescriptions": { - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "function (uint256) pure returns (uint256[] memory)" - }, - "typeName": { - "baseType": { - "id": 76862, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "30079:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 76863, - "nodeType": "ArrayTypeName", - "src": "30079:9:129", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - } - }, - "id": 76869, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "30075:38:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "30051:62:129" - }, - { - "body": { - "id": 76890, - "nodeType": "Block", - "src": "30185:74:129", - "statements": [ - { - "expression": { - "id": 76888, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "id": 76882, - "name": "temp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76861, - "src": "30211:4:129", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 76884, - "indexExpression": { - "id": 76883, - "name": "j", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76872, - "src": "30216:1:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "30211:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "baseExpression": { - "id": 76885, - "name": "proposalsIds", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76783, - "src": "30221:12:129", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 76887, - "indexExpression": { - "id": 76886, - "name": "j", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76872, - "src": "30234:1:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "30221:15:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "30211:25:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 76889, - "nodeType": "ExpressionStatement", - "src": "30211:25:129" - } - ] - }, - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 76878, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 76875, - "name": "j", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76872, - "src": "30155:1:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "expression": { - "id": 76876, - "name": "proposalsIds", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76783, - "src": "30159:12:129", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 76877, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "30172:6:129", - "memberName": "length", - "nodeType": "MemberAccess", - "src": "30159:19:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "30155:23:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 76891, - "initializationExpression": { - "assignments": [ - 76872 - ], - "declarations": [ - { - "constant": false, - "id": 76872, - "mutability": "mutable", - "name": "j", - "nameLocation": "30148:1:129", - "nodeType": "VariableDeclaration", - "scope": 76891, - "src": "30140:9:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 76871, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "30140:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 76874, - "initialValue": { - "hexValue": "30", - "id": 76873, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "30152:1:129", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "30140:13:129" - }, - "loopExpression": { - "expression": { - "id": 76880, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "30180:3:129", - "subExpression": { - "id": 76879, - "name": "j", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76872, - "src": "30180:1:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 76881, - "nodeType": "ExpressionStatement", - "src": "30180:3:129" - }, - "nodeType": "ForStatement", - "src": "30135:124:129" - }, - { - "expression": { - "id": 76897, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "id": 76892, - "name": "temp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76861, - "src": "30280:4:129", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 76895, - "indexExpression": { - "expression": { - "id": 76893, - "name": "proposalsIds", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76783, - "src": "30285:12:129", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 76894, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "30298:6:129", - "memberName": "length", - "nodeType": "MemberAccess", - "src": "30285:19:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "30280:25:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 76896, - "name": "proposalId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76797, - "src": "30308:10:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "30280:38:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 76898, - "nodeType": "ExpressionStatement", - "src": "30280:38:129" - }, - { - "expression": { - "id": 76901, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 76899, - "name": "proposalsIds", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76783, - "src": "30340:12:129", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 76900, - "name": "temp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76861, - "src": "30355:4:129", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "src": "30340:19:129", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 76902, - "nodeType": "ExpressionStatement", - "src": "30340:19:129" - } - ] - } - } - ] - }, - "id": 76906, - "nodeType": "IfStatement", - "src": "29472:920:129", - "trueBody": { - "id": 76821, - "nodeType": "Block", - "src": "29502:120:129", - "statements": [ - { - "expression": { - "id": 76813, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 76807, - "name": "proposalsIds", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76783, - "src": "29520:12:129", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "hexValue": "31", - "id": 76811, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "29549:1:129", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - } - ], - "id": 76810, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "29535:13:129", - "typeDescriptions": { - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "function (uint256) pure returns (uint256[] memory)" - }, - "typeName": { - "baseType": { - "id": 76808, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "29539:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 76809, - "nodeType": "ArrayTypeName", - "src": "29539:9:129", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - } - }, - "id": 76812, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "29535:16:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "src": "29520:31:129", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 76814, - "nodeType": "ExpressionStatement", - "src": "29520:31:129" - }, - { - "expression": { - "id": 76819, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "id": 76815, - "name": "proposalsIds", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76783, - "src": "29569:12:129", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 76817, - "indexExpression": { - "hexValue": "30", - "id": 76816, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "29582:1:129", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "29569:15:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 76818, - "name": "proposalId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76797, - "src": "29587:10:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "29569:28:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 76820, - "nodeType": "ExpressionStatement", - "src": "29569:28:129" - } - ] - } - }, - { - "assignments": [ - 76908 - ], - "declarations": [ - { - "constant": false, - "id": 76908, - "mutability": "mutable", - "name": "delta", - "nameLocation": "30412:5:129", - "nodeType": "VariableDeclaration", - "scope": 77054, - "src": "30405:12:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - }, - "typeName": { - "id": 76907, - "name": "int256", - "nodeType": "ElementaryTypeName", - "src": "30405:6:129", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - }, - "visibility": "internal" - } - ], - "id": 76913, - "initialValue": { - "expression": { - "baseExpression": { - "id": 76909, - "name": "_proposalSupport", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76776, - "src": "30420:16:129", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_ProposalSupport_$74781_memory_ptr_$dyn_memory_ptr", - "typeString": "struct StrategyStruct.ProposalSupport memory[] memory" - } - }, - "id": 76911, - "indexExpression": { - "id": 76910, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76786, - "src": "30437:1:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "30420:19:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ProposalSupport_$74781_memory_ptr", - "typeString": "struct StrategyStruct.ProposalSupport memory" - } - }, - "id": 76912, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "30440:12:129", - "memberName": "deltaSupport", - "nodeType": "MemberAccess", - "referencedDeclaration": 74780, - "src": "30420:32:129", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "30405:47:129" - }, - { - "assignments": [ - 76918 - ], - "declarations": [ - { - "constant": false, - "id": 76918, - "mutability": "mutable", - "name": "proposal", - "nameLocation": "30499:8:129", - "nodeType": "VariableDeclaration", - "scope": 77054, - "src": "30467:40:129", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal" - }, - "typeName": { - "id": 76917, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 76916, - "name": "StrategyStruct.Proposal", - "nameLocations": [ - "30467:14:129", - "30482:8:129" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 74776, - "src": "30467:23:129" - }, - "referencedDeclaration": 74776, - "src": "30467:23:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal" - } - }, - "visibility": "internal" - } - ], - "id": 76922, - "initialValue": { - "baseExpression": { - "id": 76919, - "name": "proposals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75022, - "src": "30510:9:129", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Proposal_$74776_storage_$", - "typeString": "mapping(uint256 => struct StrategyStruct.Proposal storage ref)" - } - }, - "id": 76921, - "indexExpression": { - "id": 76920, - "name": "proposalId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76797, - "src": "30520:10:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "30510:21:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage", - "typeString": "struct StrategyStruct.Proposal storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "30467:64:129" - }, - { - "assignments": [ - 76924 - ], - "declarations": [ - { - "constant": false, - "id": 76924, - "mutability": "mutable", - "name": "previousStakedPoints", - "nameLocation": "30641:20:129", - "nodeType": "VariableDeclaration", - "scope": 77054, - "src": "30633:28:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 76923, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "30633:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 76929, - "initialValue": { - "baseExpression": { - "expression": { - "id": 76925, - "name": "proposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76918, - "src": "30664:8:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal storage pointer" - } - }, - "id": 76926, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "30673:17:129", - "memberName": "voterStakedPoints", - "nodeType": "MemberAccess", - "referencedDeclaration": 74772, - "src": "30664:26:129", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 76928, - "indexExpression": { - "id": 76927, - "name": "_sender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76772, - "src": "30691:7:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "30664:35:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "30633:66:129" - }, - { - "assignments": [ - 76931 - ], - "declarations": [ - { - "constant": false, - "id": 76931, - "mutability": "mutable", - "name": "stakedPoints", - "nameLocation": "30872:12:129", - "nodeType": "VariableDeclaration", - "scope": 77054, - "src": "30864:20:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 76930, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "30864:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 76936, - "initialValue": { - "arguments": [ - { - "id": 76933, - "name": "previousStakedPoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76924, - "src": "30899:20:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 76934, - "name": "delta", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76908, - "src": "30921:5:129", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - ], - "id": 76932, - "name": "_applyDelta", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77092, - "src": "30887:11:129", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_int256_$returns$_t_uint256_$", - "typeString": "function (uint256,int256) pure returns (uint256)" - } - }, - "id": 76935, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "30887:40:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "30864:63:129" - }, - { - "expression": { - "id": 76943, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "expression": { - "id": 76937, - "name": "proposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76918, - "src": "31062:8:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal storage pointer" - } - }, - "id": 76940, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "31071:17:129", - "memberName": "voterStakedPoints", - "nodeType": "MemberAccess", - "referencedDeclaration": 74772, - "src": "31062:26:129", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 76941, - "indexExpression": { - "id": 76939, - "name": "_sender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76772, - "src": "31089:7:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "31062:35:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 76942, - "name": "stakedPoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76931, - "src": "31100:12:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "31062:50:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 76944, - "nodeType": "ExpressionStatement", - "src": "31062:50:129" - }, - { - "assignments": [ - 76946 - ], - "declarations": [ - { - "constant": false, - "id": 76946, - "mutability": "mutable", - "name": "hasProposal", - "nameLocation": "31351:11:129", - "nodeType": "VariableDeclaration", - "scope": 77054, - "src": "31346:16:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 76945, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "31346:4:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "id": 76948, - "initialValue": { - "hexValue": "66616c7365", - "id": 76947, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "31365:5:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "nodeType": "VariableDeclarationStatement", - "src": "31346:24:129" - }, - { - "body": { - "id": 76977, - "nodeType": "Block", - "src": "31451:179:129", - "statements": [ - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 76969, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "baseExpression": { - "baseExpression": { - "id": 76962, - "name": "voterStakedProposals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75031, - "src": "31473:20:129", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$", - "typeString": "mapping(address => uint256[] storage ref)" - } - }, - "id": 76964, - "indexExpression": { - "id": 76963, - "name": "_sender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76772, - "src": "31494:7:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "31473:29:129", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - } - }, - "id": 76966, - "indexExpression": { - "id": 76965, - "name": "k", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76950, - "src": "31503:1:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "31473:32:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "expression": { - "id": 76967, - "name": "proposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76918, - "src": "31509:8:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal storage pointer" - } - }, - "id": 76968, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "31518:10:129", - "memberName": "proposalId", - "nodeType": "MemberAccess", - "referencedDeclaration": 74751, - "src": "31509:19:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "31473:55:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 76976, - "nodeType": "IfStatement", - "src": "31469:147:129", - "trueBody": { - "id": 76975, - "nodeType": "Block", - "src": "31530:86:129", - "statements": [ - { - "expression": { - "id": 76972, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 76970, - "name": "hasProposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76946, - "src": "31552:11:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "hexValue": "74727565", - "id": 76971, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "31566:4:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "31552:18:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 76973, - "nodeType": "ExpressionStatement", - "src": "31552:18:129" - }, - { - "id": 76974, - "nodeType": "Break", - "src": "31592:5:129" - } - ] - } - } - ] - }, - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 76958, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 76953, - "name": "k", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76950, - "src": "31404:1:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "expression": { - "baseExpression": { - "id": 76954, - "name": "voterStakedProposals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75031, - "src": "31408:20:129", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$", - "typeString": "mapping(address => uint256[] storage ref)" - } - }, - "id": 76956, - "indexExpression": { - "id": 76955, - "name": "_sender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76772, - "src": "31429:7:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "31408:29:129", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - } - }, - "id": 76957, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "31438:6:129", - "memberName": "length", - "nodeType": "MemberAccess", - "src": "31408:36:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "31404:40:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 76978, - "initializationExpression": { - "assignments": [ - 76950 - ], - "declarations": [ - { - "constant": false, - "id": 76950, - "mutability": "mutable", - "name": "k", - "nameLocation": "31397:1:129", - "nodeType": "VariableDeclaration", - "scope": 76978, - "src": "31389:9:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 76949, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "31389:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 76952, - "initialValue": { - "hexValue": "30", - "id": 76951, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "31401:1:129", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "31389:13:129" - }, - "loopExpression": { - "expression": { - "id": 76960, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "31446:3:129", - "subExpression": { - "id": 76959, - "name": "k", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76950, - "src": "31446:1:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 76961, - "nodeType": "ExpressionStatement", - "src": "31446:3:129" - }, - "nodeType": "ForStatement", - "src": "31384:246:129" - }, - { - "condition": { - "id": 76980, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "31647:12:129", - "subExpression": { - "id": 76979, - "name": "hasProposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76946, - "src": "31648:11:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 76990, - "nodeType": "IfStatement", - "src": "31643:106:129", - "trueBody": { - "id": 76989, - "nodeType": "Block", - "src": "31661:88:129", - "statements": [ - { - "expression": { - "arguments": [ - { - "expression": { - "id": 76985, - "name": "proposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76918, - "src": "31714:8:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal storage pointer" - } - }, - "id": 76986, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "31723:10:129", - "memberName": "proposalId", - "nodeType": "MemberAccess", - "referencedDeclaration": 74751, - "src": "31714:19:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "baseExpression": { - "id": 76981, - "name": "voterStakedProposals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75031, - "src": "31679:20:129", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$", - "typeString": "mapping(address => uint256[] storage ref)" - } - }, - "id": 76983, - "indexExpression": { - "id": 76982, - "name": "_sender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76772, - "src": "31700:7:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "31679:29:129", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - } - }, - "id": 76984, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "31709:4:129", - "memberName": "push", - "nodeType": "MemberAccess", - "src": "31679:34:129", - "typeDescriptions": { - "typeIdentifier": "t_function_arraypush_nonpayable$_t_array$_t_uint256_$dyn_storage_ptr_$_t_uint256_$returns$__$attached_to$_t_array$_t_uint256_$dyn_storage_ptr_$", - "typeString": "function (uint256[] storage pointer,uint256)" - } - }, - "id": 76987, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "31679:55:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 76988, - "nodeType": "ExpressionStatement", - "src": "31679:55:129" - } - ] - } - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 76993, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 76991, - "name": "previousStakedPoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76924, - "src": "31904:20:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "id": 76992, - "name": "stakedPoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76931, - "src": "31928:12:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "31904:36:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 77023, - "nodeType": "Block", - "src": "32109:161:129", - "statements": [ - { - "expression": { - "id": 77013, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 77009, - "name": "totalStaked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74995, - "src": "32127:11:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "-=", - "rightHandSide": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 77012, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 77010, - "name": "previousStakedPoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76924, - "src": "32142:20:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "id": 77011, - "name": "stakedPoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76931, - "src": "32165:12:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "32142:35:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "32127:50:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 77014, - "nodeType": "ExpressionStatement", - "src": "32127:50:129" - }, - { - "expression": { - "id": 77021, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "expression": { - "id": 77015, - "name": "proposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76918, - "src": "32195:8:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal storage pointer" - } - }, - "id": 77017, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberLocation": "32204:12:129", - "memberName": "stakedAmount", - "nodeType": "MemberAccess", - "referencedDeclaration": 74755, - "src": "32195:21:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "-=", - "rightHandSide": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 77020, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 77018, - "name": "previousStakedPoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76924, - "src": "32220:20:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "id": 77019, - "name": "stakedPoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76931, - "src": "32243:12:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "32220:35:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "32195:60:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 77022, - "nodeType": "ExpressionStatement", - "src": "32195:60:129" - } - ] - }, - "id": 77024, - "nodeType": "IfStatement", - "src": "31900:370:129", - "trueBody": { - "id": 77008, - "nodeType": "Block", - "src": "31942:161:129", - "statements": [ - { - "expression": { - "id": 76998, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 76994, - "name": "totalStaked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74995, - "src": "31960:11:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 76997, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 76995, - "name": "stakedPoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76931, - "src": "31975:12:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "id": 76996, - "name": "previousStakedPoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76924, - "src": "31990:20:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "31975:35:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "31960:50:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 76999, - "nodeType": "ExpressionStatement", - "src": "31960:50:129" - }, - { - "expression": { - "id": 77006, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "expression": { - "id": 77000, - "name": "proposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76918, - "src": "32028:8:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal storage pointer" - } - }, - "id": 77002, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberLocation": "32037:12:129", - "memberName": "stakedAmount", - "nodeType": "MemberAccess", - "referencedDeclaration": 74755, - "src": "32028:21:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 77005, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 77003, - "name": "stakedPoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76931, - "src": "32053:12:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "id": 77004, - "name": "previousStakedPoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76924, - "src": "32068:20:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "32053:35:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "32028:60:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 77007, - "nodeType": "ExpressionStatement", - "src": "32028:60:129" - } - ] - } - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 77028, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 77025, - "name": "proposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76918, - "src": "32287:8:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal storage pointer" - } - }, - "id": 77026, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "32296:9:129", - "memberName": "blockLast", - "nodeType": "MemberAccess", - "referencedDeclaration": 74765, - "src": "32287:18:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "hexValue": "30", - "id": 77027, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "32309:1:129", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "32287:23:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 77052, - "nodeType": "Block", - "src": "32384:209:129", - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 77038, - "name": "proposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76918, - "src": "32429:8:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal storage pointer" - } - }, - { - "id": 77039, - "name": "previousStakedPoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76924, - "src": "32439:20:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal storage pointer" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 77037, - "name": "_calculateAndSetConviction", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77385, - "src": "32402:26:129", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Proposal_$74776_storage_ptr_$_t_uint256_$returns$__$", - "typeString": "function (struct StrategyStruct.Proposal storage pointer,uint256)" - } - }, - "id": 77040, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "32402:58:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 77041, - "nodeType": "ExpressionStatement", - "src": "32402:58:129" - }, - { - "eventCall": { - "arguments": [ - { - "id": 77043, - "name": "_sender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76772, - "src": "32496:7:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 77044, - "name": "proposalId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76797, - "src": "32505:10:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 77045, - "name": "stakedPoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76931, - "src": "32517:12:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "expression": { - "id": 77046, - "name": "proposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76918, - "src": "32531:8:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal storage pointer" - } - }, - "id": 77047, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "32540:12:129", - "memberName": "stakedAmount", - "nodeType": "MemberAccess", - "referencedDeclaration": 74755, - "src": "32531:21:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "expression": { - "id": 77048, - "name": "proposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76918, - "src": "32554:8:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal storage pointer" - } - }, - "id": 77049, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "32563:14:129", - "memberName": "convictionLast", - "nodeType": "MemberAccess", - "referencedDeclaration": 74757, - "src": "32554:23:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 77042, - "name": "SupportAdded", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74943, - "src": "32483:12:129", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256,uint256,uint256,uint256)" - } - }, - "id": 77050, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "32483:95:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 77051, - "nodeType": "EmitStatement", - "src": "32478:100:129" - } - ] - }, - "id": 77053, - "nodeType": "IfStatement", - "src": "32283:310:129", - "trueBody": { - "id": 77036, - "nodeType": "Block", - "src": "32312:66:129", - "statements": [ - { - "expression": { - "id": 77034, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "expression": { - "id": 77029, - "name": "proposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76918, - "src": "32330:8:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal storage pointer" - } - }, - "id": 77031, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberLocation": "32339:9:129", - "memberName": "blockLast", - "nodeType": "MemberAccess", - "referencedDeclaration": 74765, - "src": "32330:18:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "expression": { - "id": 77032, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "32351:5:129", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 77033, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "32357:6:129", - "memberName": "number", - "nodeType": "MemberAccess", - "src": "32351:12:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "32330:33:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 77035, - "nodeType": "ExpressionStatement", - "src": "32330:33:129" - } - ] - } - } - ] - }, - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 76792, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 76789, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76786, - "src": "29304:1:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "expression": { - "id": 76790, - "name": "_proposalSupport", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76776, - "src": "29308:16:129", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_ProposalSupport_$74781_memory_ptr_$dyn_memory_ptr", - "typeString": "struct StrategyStruct.ProposalSupport memory[] memory" - } - }, - "id": 76791, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "29325:6:129", - "memberName": "length", - "nodeType": "MemberAccess", - "src": "29308:23:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "29304:27:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 77055, - "initializationExpression": { - "assignments": [ - 76786 - ], - "declarations": [ - { - "constant": false, - "id": 76786, - "mutability": "mutable", - "name": "i", - "nameLocation": "29297:1:129", - "nodeType": "VariableDeclaration", - "scope": 77055, - "src": "29289:9:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 76785, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "29289:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 76788, - "initialValue": { - "hexValue": "30", - "id": 76787, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "29301:1:129", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "29289:13:129" - }, - "loopExpression": { - "expression": { - "id": 76794, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "29333:3:129", - "subExpression": { - "id": 76793, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76786, - "src": "29333:1:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 76795, - "nodeType": "ExpressionStatement", - "src": "29333:3:129" - }, - "nodeType": "ForStatement", - "src": "29284:3319:129" - } - ] - }, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_addSupport", - "nameLocation": "29139:11:129", - "parameters": { - "id": 76777, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 76772, - "mutability": "mutable", - "name": "_sender", - "nameLocation": "29159:7:129", - "nodeType": "VariableDeclaration", - "scope": 77057, - "src": "29151:15:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 76771, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "29151:7:129", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 76776, - "mutability": "mutable", - "name": "_proposalSupport", - "nameLocation": "29208:16:129", - "nodeType": "VariableDeclaration", - "scope": 77057, - "src": "29168:56:129", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_ProposalSupport_$74781_memory_ptr_$dyn_memory_ptr", - "typeString": "struct StrategyStruct.ProposalSupport[]" - }, - "typeName": { - "baseType": { - "id": 76774, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 76773, - "name": "StrategyStruct.ProposalSupport", - "nameLocations": [ - "29168:14:129", - "29183:15:129" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 74781, - "src": "29168:30:129" - }, - "referencedDeclaration": 74781, - "src": "29168:30:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ProposalSupport_$74781_storage_ptr", - "typeString": "struct StrategyStruct.ProposalSupport" - } - }, - "id": 76775, - "nodeType": "ArrayTypeName", - "src": "29168:32:129", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_ProposalSupport_$74781_storage_$dyn_storage_ptr", - "typeString": "struct StrategyStruct.ProposalSupport[]" - } - }, - "visibility": "internal" - } - ], - "src": "29150:75:129" - }, - "returnParameters": { - "id": 76778, - "nodeType": "ParameterList", - "parameters": [], - "src": "29235:0:129" - }, - "scope": 77611, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "id": 77092, - "nodeType": "FunctionDefinition", - "src": "32615:276:129", - "nodes": [], - "body": { - "id": 77091, - "nodeType": "Block", - "src": "32701:190:129", - "nodes": [], - "statements": [ - { - "assignments": [ - 77067 - ], - "declarations": [ - { - "constant": false, - "id": 77067, - "mutability": "mutable", - "name": "result", - "nameLocation": "32718:6:129", - "nodeType": "VariableDeclaration", - "scope": 77091, - "src": "32711:13:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - }, - "typeName": { - "id": 77066, - "name": "int256", - "nodeType": "ElementaryTypeName", - "src": "32711:6:129", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - }, - "visibility": "internal" - } - ], - "id": 77074, - "initialValue": { - "commonType": { - "typeIdentifier": "t_int256", - "typeString": "int256" - }, - "id": 77073, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "arguments": [ - { - "id": 77070, - "name": "_support", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77059, - "src": "32734:8:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 77069, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "32727:6:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_int256_$", - "typeString": "type(int256)" - }, - "typeName": { - "id": 77068, - "name": "int256", - "nodeType": "ElementaryTypeName", - "src": "32727:6:129", - "typeDescriptions": {} - } - }, - "id": 77071, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "32727:16:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "id": 77072, - "name": "_delta", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77061, - "src": "32746:6:129", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - }, - "src": "32727:25:129", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "32711:41:129" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_int256", - "typeString": "int256" - }, - "id": 77077, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 77075, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77067, - "src": "32767:6:129", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "hexValue": "30", - "id": 77076, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "32776:1:129", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "32767:10:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 77085, - "nodeType": "IfStatement", - "src": "32763:90:129", - "trueBody": { - "id": 77084, - "nodeType": "Block", - "src": "32779:74:129", - "statements": [ - { - "errorCall": { - "arguments": [ - { - "id": 77079, - "name": "_support", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77059, - "src": "32817:8:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 77080, - "name": "_delta", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77061, - "src": "32827:6:129", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - }, - { - "id": 77081, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77067, - "src": "32835:6:129", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_int256", - "typeString": "int256" - }, - { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - ], - "id": 77078, - "name": "SupportUnderflow", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74846, - "src": "32800:16:129", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$_t_uint256_$_t_int256_$_t_int256_$returns$__$", - "typeString": "function (uint256,int256,int256) pure" - } - }, - "id": 77082, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "32800:42:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 77083, - "nodeType": "RevertStatement", - "src": "32793:49:129" - } - ] - } - }, - { - "expression": { - "arguments": [ - { - "id": 77088, - "name": "result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77067, - "src": "32877:6:129", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - ], - "id": 77087, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "32869:7:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 77086, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "32869:7:129", - "typeDescriptions": {} - } - }, - "id": 77089, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "32869:15:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 77065, - "id": 77090, - "nodeType": "Return", - "src": "32862:22:129" - } - ] - }, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_applyDelta", - "nameLocation": "32624:11:129", - "parameters": { - "id": 77062, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 77059, - "mutability": "mutable", - "name": "_support", - "nameLocation": "32644:8:129", - "nodeType": "VariableDeclaration", - "scope": 77092, - "src": "32636:16:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 77058, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "32636:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 77061, - "mutability": "mutable", - "name": "_delta", - "nameLocation": "32661:6:129", - "nodeType": "VariableDeclaration", - "scope": 77092, - "src": "32654:13:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - }, - "typeName": { - "id": 77060, - "name": "int256", - "nodeType": "ElementaryTypeName", - "src": "32654:6:129", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - }, - "visibility": "internal" - } - ], - "src": "32635:33:129" - }, - "returnParameters": { - "id": 77065, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 77064, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 77092, - "src": "32692:7:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 77063, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "32692:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "32691:9:129" - }, - "scope": 77611, - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "id": 77148, - "nodeType": "FunctionDefinition", - "src": "33308:1145:129", - "nodes": [], - "body": { - "id": 77147, - "nodeType": "Block", - "src": "33455:998:129", - "nodes": [], - "statements": [ - { - "assignments": [ - 77105 - ], - "declarations": [ - { - "constant": false, - "id": 77105, - "mutability": "mutable", - "name": "t", - "nameLocation": "33473:1:129", - "nodeType": "VariableDeclaration", - "scope": 77147, - "src": "33465:9:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 77104, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "33465:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 77107, - "initialValue": { - "id": 77106, - "name": "_timePassed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77095, - "src": "33477:11:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "33465:23:129" - }, - { - "assignments": [ - 77109 - ], - "declarations": [ - { - "constant": false, - "id": 77109, - "mutability": "mutable", - "name": "atTWO_128", - "nameLocation": "33811:9:129", - "nodeType": "VariableDeclaration", - "scope": 77147, - "src": "33803:17:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 77108, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "33803:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 77119, - "initialValue": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 77116, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 77113, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 77111, - "name": "decay", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74986, - "src": "33829:5:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<<", - "rightExpression": { - "hexValue": "313238", - "id": 77112, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "33838:3:129", - "typeDescriptions": { - "typeIdentifier": "t_rational_128_by_1", - "typeString": "int_const 128" - }, - "value": "128" - }, - "src": "33829:12:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 77114, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "33828:14:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "id": 77115, - "name": "D", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74972, - "src": "33845:1:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "33828:18:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 77117, - "name": "t", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77105, - "src": "33848:1:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 77110, - "name": "_pow", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77336, - "src": "33823:4:129", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 77118, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "33823:27:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "33803:47:129" - }, - { - "expression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 77145, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 77142, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 77139, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 77122, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 77120, - "name": "atTWO_128", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77109, - "src": "34346:9:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "id": 77121, - "name": "_lastConv", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77097, - "src": "34358:9:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "34346:21:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 77123, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "34345:23:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 77137, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 77131, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 77126, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 77124, - "name": "_oldAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77099, - "src": "34373:10:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "id": 77125, - "name": "D", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74972, - "src": "34386:1:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "34373:14:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 77129, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 77127, - "name": "TWO_128", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74975, - "src": "34391:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "id": 77128, - "name": "atTWO_128", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77109, - "src": "34401:9:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "34391:19:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 77130, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "34390:21:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "34373:38:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 77132, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "34372:40:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 77135, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 77133, - "name": "D", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74972, - "src": "34416:1:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "id": 77134, - "name": "decay", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74986, - "src": "34420:5:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "34416:9:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 77136, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "34415:11:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "34372:54:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 77138, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "34371:56:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "34345:82:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 77140, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "34344:84:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "id": 77141, - "name": "TWO_127", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74978, - "src": "34431:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "34344:94:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 77143, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "34343:96:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "hexValue": "313238", - "id": 77144, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "34443:3:129", - "typeDescriptions": { - "typeIdentifier": "t_rational_128_by_1", - "typeString": "int_const 128" - }, - "value": "128" - }, - "src": "34343:103:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 77103, - "id": 77146, - "nodeType": "Return", - "src": "34336:110:129" - } - ] - }, - "documentation": { - "id": 77093, - "nodeType": "StructuredDocumentation", - "src": "32897:406:129", - "text": " @dev Conviction formula: a^t * y(0) + x * (1 - a^t) / (1 - a)\n Solidity implementation: y = (2^128 * a^t * y0 + x * D * (2^128 - 2^128 * a^t) / (D - aD) + 2^127) / 2^128\n @param _timePassed Number of blocks since last conviction record\n @param _lastConv Last conviction record\n @param _oldAmount Amount of tokens staked until now\n @return Current conviction" - }, - "functionSelector": "346db8cb", - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "calculateConviction", - "nameLocation": "33317:19:129", - "parameters": { - "id": 77100, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 77095, - "mutability": "mutable", - "name": "_timePassed", - "nameLocation": "33345:11:129", - "nodeType": "VariableDeclaration", - "scope": 77148, - "src": "33337:19:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 77094, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "33337:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 77097, - "mutability": "mutable", - "name": "_lastConv", - "nameLocation": "33366:9:129", - "nodeType": "VariableDeclaration", - "scope": 77148, - "src": "33358:17:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 77096, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "33358:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 77099, - "mutability": "mutable", - "name": "_oldAmount", - "nameLocation": "33385:10:129", - "nodeType": "VariableDeclaration", - "scope": 77148, - "src": "33377:18:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 77098, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "33377:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "33336:60:129" - }, - "returnParameters": { - "id": 77103, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 77102, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 77148, - "src": "33442:7:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 77101, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "33442:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "33441:9:129" - }, - "scope": 77611, - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "id": 77236, - "nodeType": "FunctionDefinition", - "src": "35034:1482:129", - "nodes": [], - "body": { - "id": 77235, - "nodeType": "Block", - "src": "35129:1387:129", - "nodes": [], - "statements": [ - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 77158, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 77156, - "name": "poolAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3343, - "src": "35263:10:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "hexValue": "30", - "id": 77157, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "35277:1:129", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "35263:15:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 77163, - "nodeType": "IfStatement", - "src": "35259:66:129", - "trueBody": { - "id": 77162, - "nodeType": "Block", - "src": "35280:45:129", - "statements": [ - { - "errorCall": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 77159, - "name": "PoolIsEmpty", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74824, - "src": "35301:11:129", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 77160, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "35301:13:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 77161, - "nodeType": "RevertStatement", - "src": "35294:20:129" - } - ] - } - }, - { - "condition": { - "arguments": [ - { - "id": 77165, - "name": "_requestedAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77151, - "src": "35781:16:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 77164, - "name": "_isOverMaxRatio", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 76674, - "src": "35765:15:129", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) view returns (bool)" - } - }, - "id": 77166, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "35765:33:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 77171, - "nodeType": "IfStatement", - "src": "35761:91:129", - "trueBody": { - "id": 77170, - "nodeType": "Block", - "src": "35800:52:129", - "statements": [ - { - "errorCall": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 77167, - "name": "AmountOverMaxRatio", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74832, - "src": "35821:18:129", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 77168, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "35821:20:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 77169, - "nodeType": "RevertStatement", - "src": "35814:27:129" - } - ] - } - }, - { - "assignments": [ - 77173 - ], - "declarations": [ - { - "constant": false, - "id": 77173, - "mutability": "mutable", - "name": "denom", - "nameLocation": "36008:5:129", - "nodeType": "VariableDeclaration", - "scope": 77235, - "src": "36000:13:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 77172, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "36000:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 77191, - "initialValue": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 77190, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 77181, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 77178, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 77174, - "name": "maxRatio", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74988, - "src": "36017:8:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_rational_18446744073709551616_by_1", - "typeString": "int_const 18446744073709551616" - }, - "id": 77177, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "hexValue": "32", - "id": 77175, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "36028:1:129", - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "hexValue": "3634", - "id": 77176, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "36033:2:129", - "typeDescriptions": { - "typeIdentifier": "t_rational_64_by_1", - "typeString": "int_const 64" - }, - "value": "64" - }, - "src": "36028:7:129", - "typeDescriptions": { - "typeIdentifier": "t_rational_18446744073709551616_by_1", - "typeString": "int_const 18446744073709551616" - } - }, - "src": "36017:18:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 77179, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "36016:20:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "id": 77180, - "name": "D", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74972, - "src": "36039:1:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "36016:24:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 77189, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 77186, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 77182, - "name": "_requestedAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77151, - "src": "36044:16:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_rational_18446744073709551616_by_1", - "typeString": "int_const 18446744073709551616" - }, - "id": 77185, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "hexValue": "32", - "id": 77183, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "36063:1:129", - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "hexValue": "3634", - "id": 77184, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "36068:2:129", - "typeDescriptions": { - "typeIdentifier": "t_rational_64_by_1", - "typeString": "int_const 64" - }, - "value": "64" - }, - "src": "36063:7:129", - "typeDescriptions": { - "typeIdentifier": "t_rational_18446744073709551616_by_1", - "typeString": "int_const 18446744073709551616" - } - }, - "src": "36044:26:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 77187, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "36043:28:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "id": 77188, - "name": "poolAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3343, - "src": "36074:10:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "36043:41:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "36016:68:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "36000:84:129" - }, - { - "expression": { - "id": 77224, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 77192, - "name": "_threshold", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77154, - "src": "36094:10:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 77223, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 77220, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 77216, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 77210, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 77207, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 77198, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 77195, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 77193, - "name": "weight", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74990, - "src": "36126:6:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<<", - "rightExpression": { - "hexValue": "313238", - "id": 77194, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "36136:3:129", - "typeDescriptions": { - "typeIdentifier": "t_rational_128_by_1", - "typeString": "int_const 128" - }, - "value": "128" - }, - "src": "36126:13:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 77196, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "36125:15:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "id": 77197, - "name": "D", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74972, - "src": "36143:1:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "36125:19:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 77199, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "36124:21:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 77205, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 77202, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 77200, - "name": "denom", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77173, - "src": "36150:5:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "id": 77201, - "name": "denom", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77173, - "src": "36158:5:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "36150:13:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 77203, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "36149:15:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "hexValue": "3634", - "id": 77204, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "36168:2:129", - "typeDescriptions": { - "typeIdentifier": "t_rational_64_by_1", - "typeString": "int_const 64" - }, - "value": "64" - }, - "src": "36149:21:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 77206, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "36148:23:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "36124:47:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 77208, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "36123:49:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "id": 77209, - "name": "D", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74972, - "src": "36175:1:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "36123:53:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 77211, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "36122:55:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 77214, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 77212, - "name": "D", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74972, - "src": "36181:1:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "id": 77213, - "name": "decay", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74986, - "src": "36185:5:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "36181:9:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 77215, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "36180:11:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "36122:69:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 77217, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "36121:71:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 77218, - "name": "totalEffectiveActivePoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77344, - "src": "36195:26:129", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", - "typeString": "function () view returns (uint256)" - } - }, - "id": 77219, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "36195:28:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "36121:102:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 77221, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "36107:126:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "hexValue": "3634", - "id": 77222, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "36237:2:129", - "typeDescriptions": { - "typeIdentifier": "t_rational_64_by_1", - "typeString": "int_const 64" - }, - "value": "64" - }, - "src": "36107:132:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "36094:145:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 77225, - "nodeType": "ExpressionStatement", - "src": "36094:145:129" - }, - { - "expression": { - "id": 77233, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 77226, - "name": "_threshold", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77154, - "src": "36429:10:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 77229, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 77227, - "name": "_threshold", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77154, - "src": "36442:10:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "id": 77228, - "name": "_minThresholdPoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75000, - "src": "36455:19:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "36442:32:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "id": 77231, - "name": "_minThresholdPoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75000, - "src": "36490:19:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 77232, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "36442:67:129", - "trueExpression": { - "id": 77230, - "name": "_threshold", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77154, - "src": "36477:10:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "36429:80:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 77234, - "nodeType": "ExpressionStatement", - "src": "36429:80:129" - } - ] - }, - "documentation": { - "id": 77149, - "nodeType": "StructuredDocumentation", - "src": "34459:570:129", - "text": " @dev Formula: ρ * totalStaked / (1 - a) / (β - requestedAmount / total)**2\n For the Solidity implementation we amplify ρ and β and simplify the formula:\n weight = ρ * D\n maxRatio = β * D\n decay = a * D\n threshold = weight * totalStaked * D ** 2 * funds ** 2 / (D - decay) / (maxRatio * funds - requestedAmount * D) ** 2\n @param _requestedAmount Requested amount of tokens on certain proposal\n @return _threshold Threshold a proposal's conviction should surpass in order to be able to\n executed it." - }, - "functionSelector": "59a5db8b", - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "calculateThreshold", - "nameLocation": "35043:18:129", - "parameters": { - "id": 77152, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 77151, - "mutability": "mutable", - "name": "_requestedAmount", - "nameLocation": "35070:16:129", - "nodeType": "VariableDeclaration", - "scope": 77236, - "src": "35062:24:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 77150, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "35062:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "35061:26:129" - }, - "returnParameters": { - "id": 77155, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 77154, - "mutability": "mutable", - "name": "_threshold", - "nameLocation": "35117:10:129", - "nodeType": "VariableDeclaration", - "scope": 77236, - "src": "35109:18:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 77153, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "35109:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "35108:20:129" - }, - "scope": 77611, - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "id": 77271, - "nodeType": "FunctionDefinition", - "src": "36777:269:129", - "nodes": [], - "body": { - "id": 77270, - "nodeType": "Block", - "src": "36855:191:129", - "nodes": [], - "statements": [ - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 77249, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 77247, - "name": "_a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77239, - "src": "36873:2:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "id": 77248, - "name": "TWO_128", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74975, - "src": "36879:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "36873:13:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "5f612073686f756c64206265206c657373207468616e206f7220657175616c20746f20325e313238", - "id": 77250, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "36888:42:129", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_44e2d05298e19dba9341288d7967f4ffbb5a083f725e2470963d4d2d80484153", - "typeString": "literal_string \"_a should be less than or equal to 2^128\"" - }, - "value": "_a should be less than or equal to 2^128" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_44e2d05298e19dba9341288d7967f4ffbb5a083f725e2470963d4d2d80484153", - "typeString": "literal_string \"_a should be less than or equal to 2^128\"" - } - ], - "id": 77246, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "36865:7:129", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 77251, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "36865:66:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 77252, - "nodeType": "ExpressionStatement", - "src": "36865:66:129" - }, - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 77256, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 77254, - "name": "_b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77241, - "src": "36949:2:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "id": 77255, - "name": "TWO_128", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74975, - "src": "36954:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "36949:12:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "5f622073686f756c64206265206c657373207468616e20325e313238", - "id": 77257, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "36963:30:129", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_94029ed39d36fd1673853e0d61636cb1f54d05801d9baceb39b21e0f4420d664", - "typeString": "literal_string \"_b should be less than 2^128\"" - }, - "value": "_b should be less than 2^128" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_94029ed39d36fd1673853e0d61636cb1f54d05801d9baceb39b21e0f4420d664", - "typeString": "literal_string \"_b should be less than 2^128\"" - } - ], - "id": 77253, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "36941:7:129", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 77258, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "36941:53:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 77259, - "nodeType": "ExpressionStatement", - "src": "36941:53:129" - }, - { - "expression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 77268, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 77265, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 77262, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 77260, - "name": "_a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77239, - "src": "37013:2:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "id": 77261, - "name": "_b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77241, - "src": "37018:2:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "37013:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 77263, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "37012:9:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "id": 77264, - "name": "TWO_127", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74978, - "src": "37024:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "37012:19:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 77266, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "37011:21:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "hexValue": "313238", - "id": 77267, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "37036:3:129", - "typeDescriptions": { - "typeIdentifier": "t_rational_128_by_1", - "typeString": "int_const 128" - }, - "value": "128" - }, - "src": "37011:28:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 77245, - "id": 77269, - "nodeType": "Return", - "src": "37004:35:129" - } - ] - }, - "documentation": { - "id": 77237, - "nodeType": "StructuredDocumentation", - "src": "36522:250:129", - "text": " Multiply _a by _b / 2^128. Parameter _a should be less than or equal to\n 2^128 and parameter _b should be less than 2^128.\n @param _a left argument\n @param _b right argument\n @return _result _a * _b / 2^128" - }, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_mul", - "nameLocation": "36786:4:129", - "parameters": { - "id": 77242, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 77239, - "mutability": "mutable", - "name": "_a", - "nameLocation": "36799:2:129", - "nodeType": "VariableDeclaration", - "scope": 77271, - "src": "36791:10:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 77238, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "36791:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 77241, - "mutability": "mutable", - "name": "_b", - "nameLocation": "36811:2:129", - "nodeType": "VariableDeclaration", - "scope": 77271, - "src": "36803:10:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 77240, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "36803:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "36790:24:129" - }, - "returnParameters": { - "id": 77245, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 77244, - "mutability": "mutable", - "name": "_result", - "nameLocation": "36846:7:129", - "nodeType": "VariableDeclaration", - "scope": 77271, - "src": "36838:15:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 77243, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "36838:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "36837:17:129" - }, - "scope": 77611, - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "id": 77336, - "nodeType": "FunctionDefinition", - "src": "37268:447:129", - "nodes": [], - "body": { - "id": 77335, - "nodeType": "Block", - "src": "37346:369:129", - "nodes": [], - "statements": [ - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 77284, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 77282, - "name": "_a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77274, - "src": "37364:2:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "id": 77283, - "name": "TWO_128", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74975, - "src": "37369:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "37364:12:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "5f612073686f756c64206265206c657373207468616e20325e313238", - "id": 77285, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "37378:30:129", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_8cb59667c527f8a0ca0170161b6ece5e9864e8aa2d080a486f0167056517515f", - "typeString": "literal_string \"_a should be less than 2^128\"" - }, - "value": "_a should be less than 2^128" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_8cb59667c527f8a0ca0170161b6ece5e9864e8aa2d080a486f0167056517515f", - "typeString": "literal_string \"_a should be less than 2^128\"" - } - ], - "id": 77281, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "37356:7:129", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 77286, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "37356:53:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 77287, - "nodeType": "ExpressionStatement", - "src": "37356:53:129" - }, - { - "assignments": [ - 77289 - ], - "declarations": [ - { - "constant": false, - "id": 77289, - "mutability": "mutable", - "name": "a", - "nameLocation": "37427:1:129", - "nodeType": "VariableDeclaration", - "scope": 77335, - "src": "37419:9:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 77288, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "37419:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 77291, - "initialValue": { - "id": 77290, - "name": "_a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77274, - "src": "37431:2:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "37419:14:129" - }, - { - "assignments": [ - 77293 - ], - "declarations": [ - { - "constant": false, - "id": 77293, - "mutability": "mutable", - "name": "b", - "nameLocation": "37451:1:129", - "nodeType": "VariableDeclaration", - "scope": 77335, - "src": "37443:9:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 77292, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "37443:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 77295, - "initialValue": { - "id": 77294, - "name": "_b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77276, - "src": "37455:2:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "37443:14:129" - }, - { - "expression": { - "id": 77298, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 77296, - "name": "_result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77279, - "src": "37467:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 77297, - "name": "TWO_128", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74975, - "src": "37477:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "37467:17:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 77299, - "nodeType": "ExpressionStatement", - "src": "37467:17:129" - }, - { - "body": { - "id": 77333, - "nodeType": "Block", - "src": "37508:201:129", - "statements": [ - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 77307, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 77305, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 77303, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77293, - "src": "37526:1:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "&", - "rightExpression": { - "hexValue": "31", - "id": 77304, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "37530:1:129", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "37526:5:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "hexValue": "30", - "id": 77306, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "37535:1:129", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "37526:10:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 77331, - "nodeType": "Block", - "src": "37616:83:129", - "statements": [ - { - "expression": { - "id": 77325, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 77320, - "name": "_result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77279, - "src": "37634:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "id": 77322, - "name": "_result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77279, - "src": "37649:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 77323, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77289, - "src": "37658:1:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 77321, - "name": "_mul", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77271, - "src": "37644:4:129", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 77324, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "37644:16:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "37634:26:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 77326, - "nodeType": "ExpressionStatement", - "src": "37634:26:129" - }, - { - "expression": { - "id": 77329, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 77327, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77293, - "src": "37678:1:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "-=", - "rightHandSide": { - "hexValue": "31", - "id": 77328, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "37683:1:129", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "37678:6:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 77330, - "nodeType": "ExpressionStatement", - "src": "37678:6:129" - } - ] - }, - "id": 77332, - "nodeType": "IfStatement", - "src": "37522:177:129", - "trueBody": { - "id": 77319, - "nodeType": "Block", - "src": "37538:72:129", - "statements": [ - { - "expression": { - "id": 77313, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 77308, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77289, - "src": "37556:1:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "id": 77310, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77289, - "src": "37565:1:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 77311, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77289, - "src": "37568:1:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 77309, - "name": "_mul", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77271, - "src": "37560:4:129", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 77312, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "37560:10:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "37556:14:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 77314, - "nodeType": "ExpressionStatement", - "src": "37556:14:129" - }, - { - "expression": { - "id": 77317, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 77315, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77293, - "src": "37588:1:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": ">>=", - "rightHandSide": { - "hexValue": "31", - "id": 77316, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "37594:1:129", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "37588:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 77318, - "nodeType": "ExpressionStatement", - "src": "37588:7:129" - } - ] - } - } - ] - }, - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 77302, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 77300, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77293, - "src": "37501:1:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "hexValue": "30", - "id": 77301, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "37505:1:129", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "37501:5:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 77334, - "nodeType": "WhileStatement", - "src": "37494:215:129" - } - ] - }, - "documentation": { - "id": 77272, - "nodeType": "StructuredDocumentation", - "src": "37052:211:129", - "text": " Calculate (_a / 2^128)^_b * 2^128. Parameter _a should be less than 2^128.\n @param _a left argument\n @param _b right argument\n @return _result (_a / 2^128)^_b * 2^128" - }, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_pow", - "nameLocation": "37277:4:129", - "parameters": { - "id": 77277, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 77274, - "mutability": "mutable", - "name": "_a", - "nameLocation": "37290:2:129", - "nodeType": "VariableDeclaration", - "scope": 77336, - "src": "37282:10:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 77273, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "37282:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 77276, - "mutability": "mutable", - "name": "_b", - "nameLocation": "37302:2:129", - "nodeType": "VariableDeclaration", - "scope": 77336, - "src": "37294:10:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 77275, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "37294:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "37281:24:129" - }, - "returnParameters": { - "id": 77280, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 77279, - "mutability": "mutable", - "name": "_result", - "nameLocation": "37337:7:129", - "nodeType": "VariableDeclaration", - "scope": 77336, - "src": "37329:15:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 77278, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "37329:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "37328:17:129" - }, - "scope": 77611, - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "id": 77344, - "nodeType": "FunctionDefinition", - "src": "37721:112:129", - "nodes": [], - "body": { - "id": 77343, - "nodeType": "Block", - "src": "37789:44:129", - "nodes": [], - "statements": [ - { - "expression": { - "id": 77341, - "name": "totalPointsActivated", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74997, - "src": "37806:20:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 77340, - "id": 77342, - "nodeType": "Return", - "src": "37799:27:129" - } - ] - }, - "functionSelector": "d1e36232", - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "totalEffectiveActivePoints", - "nameLocation": "37730:26:129", - "parameters": { - "id": 77337, - "nodeType": "ParameterList", - "parameters": [], - "src": "37756:2:129" - }, - "returnParameters": { - "id": 77340, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 77339, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 77344, - "src": "37780:7:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 77338, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "37780:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "37779:9:129" - }, - "scope": 77611, - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "id": 77385, - "nodeType": "FunctionDefinition", - "src": "38023:396:129", - "nodes": [], - "body": { - "id": 77384, - "nodeType": "Block", - "src": "38131:288:129", - "nodes": [], - "statements": [ - { - "assignments": [ - 77354, - 77356 - ], - "declarations": [ - { - "constant": false, - "id": 77354, - "mutability": "mutable", - "name": "conviction", - "nameLocation": "38150:10:129", - "nodeType": "VariableDeclaration", - "scope": 77384, - "src": "38142:18:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 77353, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "38142:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 77356, - "mutability": "mutable", - "name": "blockNumber", - "nameLocation": "38170:11:129", - "nodeType": "VariableDeclaration", - "scope": 77384, - "src": "38162:19:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 77355, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "38162:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 77361, - "initialValue": { - "arguments": [ - { - "id": 77358, - "name": "_proposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77348, - "src": "38219:9:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal storage pointer" - } - }, - { - "id": 77359, - "name": "_oldStaked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77350, - "src": "38230:10:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal storage pointer" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 77357, - "name": "_checkBlockAndCalculateConviction", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77432, - "src": "38185:33:129", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Proposal_$74776_storage_ptr_$_t_uint256_$returns$_t_uint256_$_t_uint256_$", - "typeString": "function (struct StrategyStruct.Proposal storage pointer,uint256) view returns (uint256,uint256)" - } - }, - "id": 77360, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "38185:56:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "38141:100:129" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 77368, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 77364, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 77362, - "name": "conviction", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77354, - "src": "38255:10:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "hexValue": "30", - "id": 77363, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "38269:1:129", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "38255:15:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 77367, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 77365, - "name": "blockNumber", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77356, - "src": "38274:11:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "hexValue": "30", - "id": 77366, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "38289:1:129", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "38274:16:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "38255:35:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 77371, - "nodeType": "IfStatement", - "src": "38251:72:129", - "trueBody": { - "id": 77370, - "nodeType": "Block", - "src": "38292:31:129", - "statements": [ - { - "functionReturnParameters": 77352, - "id": 77369, - "nodeType": "Return", - "src": "38306:7:129" - } - ] - } - }, - { - "expression": { - "id": 77376, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "expression": { - "id": 77372, - "name": "_proposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77348, - "src": "38332:9:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal storage pointer" - } - }, - "id": 77374, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberLocation": "38342:9:129", - "memberName": "blockLast", - "nodeType": "MemberAccess", - "referencedDeclaration": 74765, - "src": "38332:19:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 77375, - "name": "blockNumber", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77356, - "src": "38354:11:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "38332:33:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 77377, - "nodeType": "ExpressionStatement", - "src": "38332:33:129" - }, - { - "expression": { - "id": 77382, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "expression": { - "id": 77378, - "name": "_proposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77348, - "src": "38375:9:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal storage pointer" - } - }, - "id": 77380, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberLocation": "38385:14:129", - "memberName": "convictionLast", - "nodeType": "MemberAccess", - "referencedDeclaration": 74757, - "src": "38375:24:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 77381, - "name": "conviction", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77354, - "src": "38402:10:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "38375:37:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 77383, - "nodeType": "ExpressionStatement", - "src": "38375:37:129" - } - ] - }, - "documentation": { - "id": 77345, - "nodeType": "StructuredDocumentation", - "src": "37839:179:129", - "text": " @dev Calculate conviction and store it on the proposal\n @param _proposal Proposal\n @param _oldStaked Amount of tokens staked on a proposal until now" - }, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_calculateAndSetConviction", - "nameLocation": "38032:26:129", - "parameters": { - "id": 77351, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 77348, - "mutability": "mutable", - "name": "_proposal", - "nameLocation": "38091:9:129", - "nodeType": "VariableDeclaration", - "scope": 77385, - "src": "38059:41:129", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal" - }, - "typeName": { - "id": 77347, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 77346, - "name": "StrategyStruct.Proposal", - "nameLocations": [ - "38059:14:129", - "38074:8:129" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 74776, - "src": "38059:23:129" - }, - "referencedDeclaration": 74776, - "src": "38059:23:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 77350, - "mutability": "mutable", - "name": "_oldStaked", - "nameLocation": "38110:10:129", - "nodeType": "VariableDeclaration", - "scope": 77385, - "src": "38102:18:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 77349, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "38102:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "38058:63:129" - }, - "returnParameters": { - "id": 77352, - "nodeType": "ParameterList", - "parameters": [], - "src": "38131:0:129" - }, - "scope": 77611, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "id": 77432, - "nodeType": "FunctionDefinition", - "src": "38425:719:129", - "nodes": [], - "body": { - "id": 77431, - "nodeType": "Block", - "src": "38623:521:129", - "nodes": [], - "statements": [ - { - "expression": { - "id": 77400, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 77397, - "name": "blockNumber", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77395, - "src": "38633:11:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "expression": { - "id": 77398, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "38647:5:129", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 77399, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "38653:6:129", - "memberName": "number", - "nodeType": "MemberAccess", - "src": "38647:12:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "38633:26:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 77401, - "nodeType": "ExpressionStatement", - "src": "38633:26:129" - }, - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 77406, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 77403, - "name": "_proposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77388, - "src": "38676:9:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal storage pointer" - } - }, - "id": 77404, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "38686:9:129", - "memberName": "blockLast", - "nodeType": "MemberAccess", - "referencedDeclaration": 74765, - "src": "38676:19:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "id": 77405, - "name": "blockNumber", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77395, - "src": "38699:11:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "38676:34:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 77402, - "name": "assert", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -3, - "src": "38669:6:129", - "typeDescriptions": { - "typeIdentifier": "t_function_assert_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 77407, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "38669:42:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 77408, - "nodeType": "ExpressionStatement", - "src": "38669:42:129" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 77412, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 77409, - "name": "_proposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77388, - "src": "38725:9:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal storage pointer" - } - }, - "id": 77410, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "38735:9:129", - "memberName": "blockLast", - "nodeType": "MemberAccess", - "referencedDeclaration": 74765, - "src": "38725:19:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "id": 77411, - "name": "blockNumber", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77395, - "src": "38748:11:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "38725:34:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 77418, - "nodeType": "IfStatement", - "src": "38721:173:129", - "trueBody": { - "id": 77417, - "nodeType": "Block", - "src": "38761:133:129", - "statements": [ - { - "expression": { - "components": [ - { - "hexValue": "30", - "id": 77413, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "38849:1:129", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - { - "hexValue": "30", - "id": 77414, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "38852:1:129", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "id": 77415, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "38848:6:129", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_rational_0_by_1_$_t_rational_0_by_1_$", - "typeString": "tuple(int_const 0,int_const 0)" - } - }, - "functionReturnParameters": 77396, - "id": 77416, - "nodeType": "Return", - "src": "38841:13:129" - } - ] - } - }, - { - "expression": { - "id": 77429, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 77419, - "name": "conviction", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77393, - "src": "38947:10:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 77424, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 77421, - "name": "blockNumber", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77395, - "src": "38993:11:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "expression": { - "id": 77422, - "name": "_proposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77388, - "src": "39007:9:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal storage pointer" - } - }, - "id": 77423, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "39017:9:129", - "memberName": "blockLast", - "nodeType": "MemberAccess", - "referencedDeclaration": 74765, - "src": "39007:19:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "38993:33:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "expression": { - "id": 77425, - "name": "_proposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77388, - "src": "39079:9:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal storage pointer" - } - }, - "id": 77426, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "39089:14:129", - "memberName": "convictionLast", - "nodeType": "MemberAccess", - "referencedDeclaration": 74757, - "src": "39079:24:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 77427, - "name": "_oldStaked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77390, - "src": "39117:10:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 77420, - "name": "calculateConviction", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77148, - "src": "38960:19:129", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256) view returns (uint256)" - } - }, - "id": 77428, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "38960:177:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "38947:190:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 77430, - "nodeType": "ExpressionStatement", - "src": "38947:190:129" - } - ] - }, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_checkBlockAndCalculateConviction", - "nameLocation": "38434:33:129", - "parameters": { - "id": 77391, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 77388, - "mutability": "mutable", - "name": "_proposal", - "nameLocation": "38500:9:129", - "nodeType": "VariableDeclaration", - "scope": 77432, - "src": "38468:41:129", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal" - }, - "typeName": { - "id": 77387, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 77386, - "name": "StrategyStruct.Proposal", - "nameLocations": [ - "38468:14:129", - "38483:8:129" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 74776, - "src": "38468:23:129" - }, - "referencedDeclaration": 74776, - "src": "38468:23:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 77390, - "mutability": "mutable", - "name": "_oldStaked", - "nameLocation": "38519:10:129", - "nodeType": "VariableDeclaration", - "scope": 77432, - "src": "38511:18:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 77389, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "38511:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "38467:63:129" - }, - "returnParameters": { - "id": 77396, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 77393, - "mutability": "mutable", - "name": "conviction", - "nameLocation": "38586:10:129", - "nodeType": "VariableDeclaration", - "scope": 77432, - "src": "38578:18:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 77392, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "38578:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 77395, - "mutability": "mutable", - "name": "blockNumber", - "nameLocation": "38606:11:129", - "nodeType": "VariableDeclaration", - "scope": 77432, - "src": "38598:19:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 77394, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "38598:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "38577:41:129" - }, - "scope": 77611, - "stateMutability": "view", - "virtual": false, - "visibility": "internal" - }, - { - "id": 77480, - "nodeType": "FunctionDefinition", - "src": "39150:520:129", - "nodes": [], - "body": { - "id": 77479, - "nodeType": "Block", - "src": "39229:441:129", - "nodes": [], - "statements": [ - { - "assignments": [ - 77443 - ], - "declarations": [ - { - "constant": false, - "id": 77443, - "mutability": "mutable", - "name": "proposal", - "nameLocation": "39271:8:129", - "nodeType": "VariableDeclaration", - "scope": 77479, - "src": "39239:40:129", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal" - }, - "typeName": { - "id": 77442, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 77441, - "name": "StrategyStruct.Proposal", - "nameLocations": [ - "39239:14:129", - "39254:8:129" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 74776, - "src": "39239:23:129" - }, - "referencedDeclaration": 74776, - "src": "39239:23:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal" - } - }, - "visibility": "internal" - } - ], - "id": 77447, - "initialValue": { - "baseExpression": { - "id": 77444, - "name": "proposals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75022, - "src": "39282:9:129", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Proposal_$74776_storage_$", - "typeString": "mapping(uint256 => struct StrategyStruct.Proposal storage ref)" - } - }, - "id": 77446, - "indexExpression": { - "id": 77445, - "name": "proposalId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77434, - "src": "39292:10:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "39282:21:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage", - "typeString": "struct StrategyStruct.Proposal storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "39239:64:129" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 77451, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 77448, - "name": "proposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77443, - "src": "39318:8:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal storage pointer" - } - }, - "id": 77449, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "39327:10:129", - "memberName": "proposalId", - "nodeType": "MemberAccess", - "referencedDeclaration": 74751, - "src": "39318:19:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "id": 77450, - "name": "proposalId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77434, - "src": "39341:10:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "39318:33:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 77457, - "nodeType": "IfStatement", - "src": "39314:100:129", - "trueBody": { - "id": 77456, - "nodeType": "Block", - "src": "39353:61:129", - "statements": [ - { - "errorCall": { - "arguments": [ - { - "id": 77453, - "name": "proposalId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77434, - "src": "39392:10:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 77452, - "name": "ProposalNotInList", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74868, - "src": "39374:17:129", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$_t_uint256_$returns$__$", - "typeString": "function (uint256) pure" - } - }, - "id": 77454, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "39374:29:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 77455, - "nodeType": "RevertStatement", - "src": "39367:36:129" - } - ] - } - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_enum$_ProposalStatus_$74749", - "typeString": "enum StrategyStruct.ProposalStatus" - }, - "id": 77463, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 77458, - "name": "proposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77443, - "src": "39428:8:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal storage pointer" - } - }, - "id": 77459, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "39437:14:129", - "memberName": "proposalStatus", - "nodeType": "MemberAccess", - "referencedDeclaration": 74768, - "src": "39428:23:129", - "typeDescriptions": { - "typeIdentifier": "t_enum$_ProposalStatus_$74749", - "typeString": "enum StrategyStruct.ProposalStatus" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "expression": { - "expression": { - "id": 77460, - "name": "StrategyStruct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74807, - "src": "39455:14:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_StrategyStruct_$74807_$", - "typeString": "type(library StrategyStruct)" - } - }, - "id": 77461, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "39470:14:129", - "memberName": "ProposalStatus", - "nodeType": "MemberAccess", - "referencedDeclaration": 74749, - "src": "39455:29:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_ProposalStatus_$74749_$", - "typeString": "type(enum StrategyStruct.ProposalStatus)" - } - }, - "id": 77462, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "39485:6:129", - "memberName": "Active", - "nodeType": "MemberAccess", - "referencedDeclaration": 74745, - "src": "39455:36:129", - "typeDescriptions": { - "typeIdentifier": "t_enum$_ProposalStatus_$74749", - "typeString": "enum StrategyStruct.ProposalStatus" - } - }, - "src": "39428:63:129", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 77469, - "nodeType": "IfStatement", - "src": "39424:130:129", - "trueBody": { - "id": 77468, - "nodeType": "Block", - "src": "39493:61:129", - "statements": [ - { - "errorCall": { - "arguments": [ - { - "id": 77465, - "name": "proposalId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77434, - "src": "39532:10:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 77464, - "name": "ProposalNotActive", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74864, - "src": "39514:17:129", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$_t_uint256_$returns$__$", - "typeString": "function (uint256) pure" - } - }, - "id": 77466, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "39514:29:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 77467, - "nodeType": "RevertStatement", - "src": "39507:36:129" - } - ] - } - }, - { - "expression": { - "arguments": [ - { - "id": 77471, - "name": "proposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77443, - "src": "39591:8:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal storage pointer" - } - }, - { - "expression": { - "id": 77472, - "name": "proposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77443, - "src": "39601:8:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal storage pointer" - } - }, - "id": 77473, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "39610:12:129", - "memberName": "stakedAmount", - "nodeType": "MemberAccess", - "referencedDeclaration": 74755, - "src": "39601:21:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal storage pointer" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 77470, - "name": "_calculateAndSetConviction", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77385, - "src": "39564:26:129", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Proposal_$74776_storage_ptr_$_t_uint256_$returns$__$", - "typeString": "function (struct StrategyStruct.Proposal storage pointer,uint256)" - } - }, - "id": 77474, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "39564:59:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 77475, - "nodeType": "ExpressionStatement", - "src": "39564:59:129" - }, - { - "expression": { - "expression": { - "id": 77476, - "name": "proposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77443, - "src": "39640:8:129", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$74776_storage_ptr", - "typeString": "struct StrategyStruct.Proposal storage pointer" - } - }, - "id": 77477, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "39649:14:129", - "memberName": "convictionLast", - "nodeType": "MemberAccess", - "referencedDeclaration": 74757, - "src": "39640:23:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 77438, - "id": 77478, - "nodeType": "Return", - "src": "39633:30:129" - } - ] - }, - "functionSelector": "1aa91a9e", - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "updateProposalConviction", - "nameLocation": "39159:24:129", - "parameters": { - "id": 77435, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 77434, - "mutability": "mutable", - "name": "proposalId", - "nameLocation": "39192:10:129", - "nodeType": "VariableDeclaration", - "scope": 77480, - "src": "39184:18:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 77433, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "39184:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "39183:20:129" - }, - "returnParameters": { - "id": 77438, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 77437, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 77480, - "src": "39220:7:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 77436, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "39220:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "39219:9:129" - }, - "scope": 77611, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "id": 77499, - "nodeType": "FunctionDefinition", - "src": "39676:124:129", - "nodes": [], - "body": { - "id": 77498, - "nodeType": "Block", - "src": "39748:52:129", - "nodes": [], - "statements": [ - { - "expression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 77495, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 77489, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 77487, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77482, - "src": "39767:6:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "id": 77488, - "name": "D", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74972, - "src": "39776:1:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "39767:10:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 77490, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "39766:12:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 77493, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 77491, - "name": "D", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74972, - "src": "39782:1:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "id": 77492, - "name": "decay", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74986, - "src": "39786:5:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "39782:9:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 77494, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "39781:11:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "39766:26:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 77496, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "39765:28:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 77486, - "id": 77497, - "nodeType": "Return", - "src": "39758:35:129" - } - ] - }, - "functionSelector": "950559d7", - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getMaxConviction", - "nameLocation": "39685:16:129", - "parameters": { - "id": 77483, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 77482, - "mutability": "mutable", - "name": "amount", - "nameLocation": "39710:6:129", - "nodeType": "VariableDeclaration", - "scope": 77499, - "src": "39702:14:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 77481, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "39702:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "39701:16:129" - }, - "returnParameters": { - "id": 77486, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 77485, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 77499, - "src": "39739:7:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 77484, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "39739:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "39738:9:129" - }, - "scope": 77611, - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "id": 77517, - "nodeType": "FunctionDefinition", - "src": "39806:137:129", - "nodes": [], - "body": { - "id": 77516, - "nodeType": "Block", - "src": "39877:66:129", - "nodes": [], - "statements": [ - { - "expression": { - "id": 77510, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 77508, - "name": "decay", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74986, - "src": "39887:5:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 77509, - "name": "_decay", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77501, - "src": "39895:6:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "39887:14:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 77511, - "nodeType": "ExpressionStatement", - "src": "39887:14:129" - }, - { - "eventCall": { - "arguments": [ - { - "id": 77513, - "name": "_decay", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77501, - "src": "39929:6:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 77512, - "name": "DecayUpdated", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74951, - "src": "39916:12:129", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 77514, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "39916:20:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 77515, - "nodeType": "EmitStatement", - "src": "39911:25:129" - } - ] - }, - "functionSelector": "69fa25c4", - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": [ - { - "expression": { - "id": 77504, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "39865:3:129", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 77505, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "39869:6:129", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "39865:10:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "id": 77506, - "kind": "modifierInvocation", - "modifierName": { - "id": 77503, - "name": "onlyPoolManager", - "nameLocations": [ - "39849:15:129" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 3386, - "src": "39849:15:129" - }, - "nodeType": "ModifierInvocation", - "src": "39849:27:129" - } - ], - "name": "setDecay", - "nameLocation": "39815:8:129", - "parameters": { - "id": 77502, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 77501, - "mutability": "mutable", - "name": "_decay", - "nameLocation": "39832:6:129", - "nodeType": "VariableDeclaration", - "scope": 77517, - "src": "39824:14:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 77500, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "39824:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "39823:16:129" - }, - "returnParameters": { - "id": 77507, - "nodeType": "ParameterList", - "parameters": [], - "src": "39877:0:129" - }, - "scope": 77611, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "id": 77535, - "nodeType": "FunctionDefinition", - "src": "39949:155:129", - "nodes": [], - "body": { - "id": 77534, - "nodeType": "Block", - "src": "40026:78:129", - "nodes": [], - "statements": [ - { - "expression": { - "id": 77528, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 77526, - "name": "maxRatio", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74988, - "src": "40036:8:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 77527, - "name": "_maxRatio", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77519, - "src": "40047:9:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "40036:20:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 77529, - "nodeType": "ExpressionStatement", - "src": "40036:20:129" - }, - { - "eventCall": { - "arguments": [ - { - "id": 77531, - "name": "_maxRatio", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77519, - "src": "40087:9:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 77530, - "name": "MaxRatioUpdated", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74955, - "src": "40071:15:129", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 77532, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "40071:26:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 77533, - "nodeType": "EmitStatement", - "src": "40066:31:129" - } - ] - }, - "functionSelector": "11f22ae3", - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": [ - { - "expression": { - "id": 77522, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "40014:3:129", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 77523, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "40018:6:129", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "40014:10:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "id": 77524, - "kind": "modifierInvocation", - "modifierName": { - "id": 77521, - "name": "onlyPoolManager", - "nameLocations": [ - "39998:15:129" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 3386, - "src": "39998:15:129" - }, - "nodeType": "ModifierInvocation", - "src": "39998:27:129" - } - ], - "name": "setMaxRatio", - "nameLocation": "39958:11:129", - "parameters": { - "id": 77520, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 77519, - "mutability": "mutable", - "name": "_maxRatio", - "nameLocation": "39978:9:129", - "nodeType": "VariableDeclaration", - "scope": 77535, - "src": "39970:17:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 77518, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "39970:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "39969:19:129" - }, - "returnParameters": { - "id": 77525, - "nodeType": "ParameterList", - "parameters": [], - "src": "40026:0:129" - }, - "scope": 77611, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "id": 77553, - "nodeType": "FunctionDefinition", - "src": "40110:143:129", - "nodes": [], - "body": { - "id": 77552, - "nodeType": "Block", - "src": "40183:70:129", - "nodes": [], - "statements": [ - { - "expression": { - "id": 77546, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 77544, - "name": "weight", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74990, - "src": "40193:6:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 77545, - "name": "_weight", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77537, - "src": "40202:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "40193:16:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 77547, - "nodeType": "ExpressionStatement", - "src": "40193:16:129" - }, - { - "eventCall": { - "arguments": [ - { - "id": 77549, - "name": "_weight", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77537, - "src": "40238:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 77548, - "name": "WeightUpdated", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74959, - "src": "40224:13:129", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 77550, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "40224:22:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 77551, - "nodeType": "EmitStatement", - "src": "40219:27:129" - } - ] - }, - "functionSelector": "fc1711f2", - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": [ - { - "expression": { - "id": 77540, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "40171:3:129", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 77541, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "40175:6:129", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "40171:10:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "id": 77542, - "kind": "modifierInvocation", - "modifierName": { - "id": 77539, - "name": "onlyPoolManager", - "nameLocations": [ - "40155:15:129" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 3386, - "src": "40155:15:129" - }, - "nodeType": "ModifierInvocation", - "src": "40155:27:129" - } - ], - "name": "setWeight", - "nameLocation": "40119:9:129", - "parameters": { - "id": 77538, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 77537, - "mutability": "mutable", - "name": "_weight", - "nameLocation": "40137:7:129", - "nodeType": "VariableDeclaration", - "scope": 77553, - "src": "40129:15:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 77536, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "40129:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "40128:17:129" - }, - "returnParameters": { - "id": 77543, - "nodeType": "ParameterList", - "parameters": [], - "src": "40183:0:129" - }, - "scope": 77611, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "id": 77573, - "nodeType": "FunctionDefinition", - "src": "40259:219:129", - "nodes": [], - "body": { - "id": 77572, - "nodeType": "Block", - "src": "40354:124:129", - "nodes": [], - "statements": [ - { - "expression": { - "id": 77566, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 77562, - "name": "registryCommunity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75014, - "src": "40364:17:129", - "typeDescriptions": { - "typeIdentifier": "t_contract$_RegistryCommunity_$83082", - "typeString": "contract RegistryCommunity" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "id": 77564, - "name": "_registryCommunity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77555, - "src": "40402:18:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 77563, - "name": "RegistryCommunity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 83082, - "src": "40384:17:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_RegistryCommunity_$83082_$", - "typeString": "type(contract RegistryCommunity)" - } - }, - "id": 77565, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "40384:37:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_RegistryCommunity_$83082", - "typeString": "contract RegistryCommunity" - } - }, - "src": "40364:57:129", - "typeDescriptions": { - "typeIdentifier": "t_contract$_RegistryCommunity_$83082", - "typeString": "contract RegistryCommunity" - } - }, - "id": 77567, - "nodeType": "ExpressionStatement", - "src": "40364:57:129" - }, - { - "eventCall": { - "arguments": [ - { - "id": 77569, - "name": "_registryCommunity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77555, - "src": "40452:18:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 77568, - "name": "RegistryUpdated", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74963, - "src": "40436:15:129", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$", - "typeString": "function (address)" - } - }, - "id": 77570, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "40436:35:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 77571, - "nodeType": "EmitStatement", - "src": "40431:40:129" - } - ] - }, - "functionSelector": "058aca44", - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": [ - { - "expression": { - "id": 77558, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "40342:3:129", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 77559, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "40346:6:129", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "40342:10:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "id": 77560, - "kind": "modifierInvocation", - "modifierName": { - "id": 77557, - "name": "onlyPoolManager", - "nameLocations": [ - "40326:15:129" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 3386, - "src": "40326:15:129" - }, - "nodeType": "ModifierInvocation", - "src": "40326:27:129" - } - ], - "name": "setRegistryCommunity", - "nameLocation": "40268:20:129", - "parameters": { - "id": 77556, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 77555, - "mutability": "mutable", - "name": "_registryCommunity", - "nameLocation": "40297:18:129", - "nodeType": "VariableDeclaration", - "scope": 77573, - "src": "40289:26:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 77554, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "40289:7:129", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "40288:28:129" - }, - "returnParameters": { - "id": 77561, - "nodeType": "ParameterList", - "parameters": [], - "src": "40354:0:129" - }, - "scope": 77611, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "id": 77592, - "nodeType": "FunctionDefinition", - "src": "40484:237:129", - "nodes": [], - "body": { - "id": 77591, - "nodeType": "Block", - "src": "40581:140:129", - "nodes": [], - "statements": [ - { - "eventCall": { - "arguments": [ - { - "id": 77583, - "name": "_minThresholdPoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75000, - "src": "40622:19:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 77584, - "name": "minThresholdPoints_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77575, - "src": "40643:19:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 77582, - "name": "MinThresholdPointsUpdated", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74969, - "src": "40596:25:129", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (uint256,uint256)" - } - }, - "id": 77585, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "40596:67:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 77586, - "nodeType": "EmitStatement", - "src": "40591:72:129" - }, - { - "expression": { - "id": 77589, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 77587, - "name": "_minThresholdPoints", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75000, - "src": "40673:19:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 77588, - "name": "minThresholdPoints_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77575, - "src": "40695:19:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "40673:41:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 77590, - "nodeType": "ExpressionStatement", - "src": "40673:41:129" - } - ] - }, - "functionSelector": "2cefadbb", - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": [ - { - "expression": { - "id": 77578, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "40569:3:129", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 77579, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "40573:6:129", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "40569:10:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "id": 77580, - "kind": "modifierInvocation", - "modifierName": { - "id": 77577, - "name": "onlyPoolManager", - "nameLocations": [ - "40553:15:129" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 3386, - "src": "40553:15:129" - }, - "nodeType": "ModifierInvocation", - "src": "40553:27:129" - } - ], - "name": "setMinThresholdPoints", - "nameLocation": "40493:21:129", - "parameters": { - "id": 77576, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 77575, - "mutability": "mutable", - "name": "minThresholdPoints_", - "nameLocation": "40523:19:129", - "nodeType": "VariableDeclaration", - "scope": 77592, - "src": "40515:27:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 77574, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "40515:7:129", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "40514:29:129" - }, - "returnParameters": { - "id": 77581, - "nodeType": "ParameterList", - "parameters": [], - "src": "40581:0:129" - }, - "scope": 77611, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "id": 77610, - "nodeType": "FunctionDefinition", - "src": "40727:170:129", - "nodes": [], - "body": { - "id": 77609, - "nodeType": "Block", - "src": "40798:99:129", - "nodes": [], - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 77600, - "name": "_sybilScorer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77594, - "src": "40827:12:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 77599, - "name": "_revertZeroAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75256, - "src": "40808:18:129", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_address_$returns$__$", - "typeString": "function (address) pure" - } - }, - "id": 77601, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "40808:32:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 77602, - "nodeType": "ExpressionStatement", - "src": "40808:32:129" - }, - { - "expression": { - "id": 77607, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 77603, - "name": "sybilScorer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 75017, - "src": "40850:11:129", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ISybilScorer_$80667", - "typeString": "contract ISybilScorer" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "id": 77605, - "name": "_sybilScorer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77594, - "src": "40877:12:129", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 77604, - "name": "ISybilScorer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 80667, - "src": "40864:12:129", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ISybilScorer_$80667_$", - "typeString": "type(contract ISybilScorer)" - } - }, - "id": 77606, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "40864:26:129", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_ISybilScorer_$80667", - "typeString": "contract ISybilScorer" - } - }, - "src": "40850:40:129", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ISybilScorer_$80667", - "typeString": "contract ISybilScorer" - } - }, - "id": 77608, - "nodeType": "ExpressionStatement", - "src": "40850:40:129" - } - ] - }, - "functionSelector": "ac1ed7b9", - "implemented": true, - "kind": "function", - "modifiers": [ - { - "id": 77597, - "kind": "modifierInvocation", - "modifierName": { - "id": 77596, - "name": "onlyCouncilSafe", - "nameLocations": [ - "40782:15:129" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 75050, - "src": "40782:15:129" - }, - "nodeType": "ModifierInvocation", - "src": "40782:15:129" - } - ], - "name": "setSybilScorer", - "nameLocation": "40736:14:129", - "parameters": { - "id": 77595, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 77594, - "mutability": "mutable", - "name": "_sybilScorer", - "nameLocation": "40759:12:129", - "nodeType": "VariableDeclaration", - "scope": 77610, - "src": "40751:20:129", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 77593, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "40751:7:129", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "40750:22:129" - }, - "returnParameters": { - "id": 77598, - "nodeType": "ParameterList", - "parameters": [], - "src": "40798:0:129" - }, - "scope": 77611, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "abstract": false, - "baseContracts": [ - { - "baseName": { - "id": 74808, - "name": "BaseStrategy", - "nameLocations": [ - "2810:12:129" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 3923, - "src": "2810:12:129" - }, - "id": 74809, - "nodeType": "InheritanceSpecifier", - "src": "2810:12:129" - }, - { - "baseName": { - "id": 74810, - "name": "IPointStrategy", - "nameLocations": [ - "2824:14:129" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 74722, - "src": "2824:14:129" - }, - "id": 74811, - "nodeType": "InheritanceSpecifier", - "src": "2824:14:129" - }, - { - "baseName": { - "id": 74812, - "name": "ERC165", - "nameLocations": [ - "2840:6:129" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 58266, - "src": "2840:6:129" - }, - "id": 74813, - "nodeType": "InheritanceSpecifier", - "src": "2840:6:129" - } - ], - "canonicalName": "CVStrategy", - "contractDependencies": [], - "contractKind": "contract", - "fullyImplemented": true, - "linearizedBaseContracts": [ - 77611, - 58266, - 58472, - 74722, - 3923, - 3089, - 3317, - 3106, - 2969 - ], - "name": "CVStrategy", - "nameLocation": "2796:10:129", - "scope": 77612, - "usedErrors": [ - 3008, - 3011, - 3014, - 3017, - 3020, - 3023, - 3026, - 3029, - 3032, - 3035, - 3038, - 3041, - 3044, - 3047, - 3050, - 3053, - 3056, - 3059, - 3062, - 3065, - 3068, - 3071, - 3074, - 3079, - 3082, - 3085, - 3088, - 3117, - 74818, - 74820, - 74822, - 74824, - 74826, - 74828, - 74830, - 74832, - 74834, - 74836, - 74838, - 74846, - 74848, - 74850, - 74856, - 74858, - 74860, - 74864, - 74868, - 74874, - 74876, - 74878, - 74886, - 74888, - 74890 - ] - } - ], - "license": "AGPL-3.0-only" - }, - "id": 129 -} \ No newline at end of file +{"abi":[],"bytecode":{"object":"0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220ef25be35a18695d58f5935c5a25030235127d7b40e056b9b768f41958429c31a64736f6c63430008130033","sourceMap":"914:1871:129:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;914:1871:129;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220ef25be35a18695d58f5935c5a25030235127d7b40e056b9b768f41958429c31a64736f6c63430008130033","sourceMap":"914:1871:129:-:0;;;;;;;;","linkReferences":{}},"methodIdentifiers":{},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"pkg/contracts/src/CVStrategy.sol\":\"StrategyStruct\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1000},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":eas-proxy/=lib/allo-v2/lib/eas-proxy/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":hedgey-vesting/=lib/allo-v2/lib/hedgey-vesting/contracts/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-contracts/=lib/safe-contracts/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":superfluid-protocol-monorepo/=lib/allo-v2/lib/superfluid-protocol-monorepo/packages/solidity-semantic-money/src/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"]},\"sources\":{\"lib/allo-v2/contracts/core/interfaces/IAllo.sol\":{\"keccak256\":\"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7\",\"dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1\"]},\"lib/allo-v2/contracts/core/interfaces/IRegistry.sol\":{\"keccak256\":\"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e\",\"dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA\"]},\"lib/allo-v2/contracts/core/interfaces/IStrategy.sol\":{\"keccak256\":\"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487\",\"dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH\"]},\"lib/allo-v2/contracts/core/libraries/Clone.sol\":{\"keccak256\":\"0xc348b24b7d8a98c4faa5f2aa37ce9264a74f81dbdef1a9bae2eaa125585c3c7e\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://1335b3ec59ec7e3d12ea7c90b3aa56f4c26e0d44d342f54412933be9d4f16067\",\"dweb:/ipfs/QmXNFo2wCyq9cpvfgbdHvBUQecThFSEoUnMuZNS6WinDrr\"]},\"lib/allo-v2/contracts/core/libraries/Errors.sol\":{\"keccak256\":\"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf\",\"dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA\"]},\"lib/allo-v2/contracts/core/libraries/Metadata.sol\":{\"keccak256\":\"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c\",\"dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn\"]},\"lib/allo-v2/contracts/core/libraries/Native.sol\":{\"keccak256\":\"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a\",\"dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv\"]},\"lib/allo-v2/contracts/core/libraries/Transfer.sol\":{\"keccak256\":\"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11\",\"dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5\"]},\"lib/allo-v2/contracts/strategies/BaseStrategy.sol\":{\"keccak256\":\"0x3f1382dc6c35d50545e327e7ed6016f2bd752357d446bd698014073f0b812873\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://99500abcd617fa43f6dde49e2c7802821ceaf54a65a8055cbbf2695ecd107974\",\"dweb:/ipfs/QmUktZkWuu3GCMEijY1fqt7NMy7BzpTvEtcmpB1fuoa7zt\"]},\"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol\":{\"keccak256\":\"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298\",\"dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol\":{\"keccak256\":\"0x3d98edeb5d5be8410fca707b73dabe7544d1dd11e35b73dd907c473fe43cc3ae\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1a3fa9fc3aec149b8ad0dd8895277ab11e9244e9d2b7adc8404b22de974fc964\",\"dweb:/ipfs/QmRggzxs1WjuvGJSAKb2Nw5r7P3VDMefCWKTbkNPKRkv2j\"]},\"lib/openzeppelin-contracts/contracts/access/AccessControl.sol\":{\"keccak256\":\"0x0dd6e52cb394d7f5abe5dca2d4908a6be40417914720932de757de34a99ab87f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://dc117ce50ea746cab6b97ed1a1facee17a715ae0cb95d67b943dacbaf15176fb\",\"dweb:/ipfs/QmYRZ2UGNYwsHwfNu7Wjr8L2j1LBZ1mKv6NvbwgterYMXc\"]},\"lib/openzeppelin-contracts/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0x59ce320a585d7e1f163cd70390a0ef2ff9cec832e2aa544293a00692465a7a57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb2c137c343ef0c4c7ce7b18c1d108afdc9d315a04e48307288d2d05adcbde3a\",\"dweb:/ipfs/QmUxhrAQM3MM3FF5j7AtcXLXguWCJBHJ14BRdVtuoQc8Fh\"]},\"lib/openzeppelin-contracts/contracts/access/Ownable.sol\":{\"keccak256\":\"0xba43b97fba0d32eb4254f6a5a297b39a19a247082a02d6e69349e071e2946218\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fc980984badf3984b6303b377711220e067722bbd6a135b24669ff5069ef9f32\",\"dweb:/ipfs/QmPHXMSXj99XjSVM21YsY6aNtLLjLVXDbyN76J5HQYvvrz\"]},\"lib/openzeppelin-contracts/contracts/security/ReentrancyGuard.sol\":{\"keccak256\":\"0xa535a5df777d44e945dd24aa43a11e44b024140fc340ad0dfe42acf4002aade1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://41319e7f621f2dc3733511332c4fd032f8e32ad2aa7fd6f665c19741d9941a34\",\"dweb:/ipfs/QmcYR3bd862GD1Bc7jwrU9bGxrhUu5na1oP964bDCu2id1\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15\",\"dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5\",\"dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd\",\"dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol\":{\"keccak256\":\"0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a\",\"dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0x909d608c2db6eb165ca178c81289a07ed2e118e444d0025b2a85c97d0b44a4fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://656cda26512ddd7373c2d5551c8fae759fc30f05b10f0fc2e738e9274199dbd4\",\"dweb:/ipfs/QmTSArSzQRFbQmHgq7U1PZXnsDFhvDZhKVu9CzMG4yo6Lx\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"lib/openzeppelin-contracts/contracts/utils/Strings.sol\":{\"keccak256\":\"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f\",\"dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol\":{\"keccak256\":\"0x5a08ad61f4e82b8a3323562661a86fb10b10190848073fdc13d4ac43710ffba5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6f7bb74cf88fd88daa34e118bc6e363381d05044f34f391d39a10c0c9dac3ebd\",\"dweb:/ipfs/QmNbQ3v8v4zuDtg7VeLAbdhAm3tCzUodNoDZZ8ekmCHWZX\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]},\"pkg/contracts/src/CVStrategy.sol\":{\"keccak256\":\"0x132bcf17470960e380d841159d9389985d609aaae1c9a657c78902f7871da957\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://84e905bf392579b44f33fff8586431b940e110b2210854cf487321cc92061705\",\"dweb:/ipfs/QmQpvszYu8RbrXmUFLifSodQzV8LAqazk1fzXNARGc5sBT\"]},\"pkg/contracts/src/ISybilScorer.sol\":{\"keccak256\":\"0x0e25fbb8497ac3c969d80c9032362d45e56c0a45dc9ba3dff6a8a704571f38ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0dff90ebae6e7131a5300fcaf525bc2ab0ae90fcd13f277d7b7b6939eeb8b7eb\",\"dweb:/ipfs/QmYGkYqpUVrBWoNY6f3CtwrrVQFWSvnJfpu68t95f6AkBY\"]},\"pkg/contracts/src/RegistryCommunity.sol\":{\"keccak256\":\"0xc735f4d2635149f2db9bff291da56e08c3c312d9eb1b767b8a1e3e51584d5734\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://247b33b78abface6a7e2da38174386de9b543f6a27e8340e26d854bff57184a3\",\"dweb:/ipfs/QmedNdqkqeboGzz9w868uGf7KnXUaYZe6i1YcdUPPkJnnf\"]},\"pkg/contracts/src/RegistryFactory.sol\":{\"keccak256\":\"0x888b7f5eb1079f90ccfa0b41d8a970bffd8d4d469f9b31917a58279b358dbda5\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://af25fd783de00adf01d1c7caa572801fed0d474306a43b862535b08e65ec10c6\",\"dweb:/ipfs/Qmeb2nEaMQLV86y1CYAAV2c6BYpBDTbpLuC1SigeNjdqLo\"]},\"pkg/contracts/src/interfaces/ISafe.sol\":{\"keccak256\":\"0x878a210809bb684c42157a10f3f90350a67d0a4863f130499942b06f0f2c9143\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://fa2d71bd427c3415e98a2ee15ff673f3cc61c17f14d7087c5eedc83b55f6b0ef\",\"dweb:/ipfs/QmesVSmJQQzi6ys1cvhQFCJyDXchb736mT5bXks4Yp6Cbj\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","eas-proxy/=lib/allo-v2/lib/eas-proxy/contracts/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","hedgey-vesting/=lib/allo-v2/lib/hedgey-vesting/contracts/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-contracts/=lib/safe-contracts/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","superfluid-protocol-monorepo/=lib/allo-v2/lib/superfluid-protocol-monorepo/packages/solidity-semantic-money/src/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":1000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"pkg/contracts/src/CVStrategy.sol":"StrategyStruct"},"evmVersion":"paris","libraries":{}},"sources":{"lib/allo-v2/contracts/core/interfaces/IAllo.sol":{"keccak256":"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce","urls":["bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7","dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/interfaces/IRegistry.sol":{"keccak256":"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f","urls":["bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e","dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA"],"license":"MIT"},"lib/allo-v2/contracts/core/interfaces/IStrategy.sol":{"keccak256":"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23","urls":["bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487","dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Clone.sol":{"keccak256":"0xc348b24b7d8a98c4faa5f2aa37ce9264a74f81dbdef1a9bae2eaa125585c3c7e","urls":["bzz-raw://1335b3ec59ec7e3d12ea7c90b3aa56f4c26e0d44d342f54412933be9d4f16067","dweb:/ipfs/QmXNFo2wCyq9cpvfgbdHvBUQecThFSEoUnMuZNS6WinDrr"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Errors.sol":{"keccak256":"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15","urls":["bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf","dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Metadata.sol":{"keccak256":"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44","urls":["bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c","dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Native.sol":{"keccak256":"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5","urls":["bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a","dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Transfer.sol":{"keccak256":"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286","urls":["bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11","dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/strategies/BaseStrategy.sol":{"keccak256":"0x3f1382dc6c35d50545e327e7ed6016f2bd752357d446bd698014073f0b812873","urls":["bzz-raw://99500abcd617fa43f6dde49e2c7802821ceaf54a65a8055cbbf2695ecd107974","dweb:/ipfs/QmUktZkWuu3GCMEijY1fqt7NMy7BzpTvEtcmpB1fuoa7zt"],"license":"AGPL-3.0-only"},"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol":{"keccak256":"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624","urls":["bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298","dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt"],"license":"MIT"},"lib/forge-std/src/console.sol":{"keccak256":"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba","urls":["bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70","dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol":{"keccak256":"0x3d98edeb5d5be8410fca707b73dabe7544d1dd11e35b73dd907c473fe43cc3ae","urls":["bzz-raw://1a3fa9fc3aec149b8ad0dd8895277ab11e9244e9d2b7adc8404b22de974fc964","dweb:/ipfs/QmRggzxs1WjuvGJSAKb2Nw5r7P3VDMefCWKTbkNPKRkv2j"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/access/AccessControl.sol":{"keccak256":"0x0dd6e52cb394d7f5abe5dca2d4908a6be40417914720932de757de34a99ab87f","urls":["bzz-raw://dc117ce50ea746cab6b97ed1a1facee17a715ae0cb95d67b943dacbaf15176fb","dweb:/ipfs/QmYRZ2UGNYwsHwfNu7Wjr8L2j1LBZ1mKv6NvbwgterYMXc"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/access/IAccessControl.sol":{"keccak256":"0x59ce320a585d7e1f163cd70390a0ef2ff9cec832e2aa544293a00692465a7a57","urls":["bzz-raw://bb2c137c343ef0c4c7ce7b18c1d108afdc9d315a04e48307288d2d05adcbde3a","dweb:/ipfs/QmUxhrAQM3MM3FF5j7AtcXLXguWCJBHJ14BRdVtuoQc8Fh"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/access/Ownable.sol":{"keccak256":"0xba43b97fba0d32eb4254f6a5a297b39a19a247082a02d6e69349e071e2946218","urls":["bzz-raw://fc980984badf3984b6303b377711220e067722bbd6a135b24669ff5069ef9f32","dweb:/ipfs/QmPHXMSXj99XjSVM21YsY6aNtLLjLVXDbyN76J5HQYvvrz"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/security/ReentrancyGuard.sol":{"keccak256":"0xa535a5df777d44e945dd24aa43a11e44b024140fc340ad0dfe42acf4002aade1","urls":["bzz-raw://41319e7f621f2dc3733511332c4fd032f8e32ad2aa7fd6f665c19741d9941a34","dweb:/ipfs/QmcYR3bd862GD1Bc7jwrU9bGxrhUu5na1oP964bDCu2id1"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol":{"keccak256":"0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c","urls":["bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15","dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305","urls":["bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5","dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol":{"keccak256":"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca","urls":["bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd","dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol":{"keccak256":"0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a","urls":["bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a","dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol":{"keccak256":"0x909d608c2db6eb165ca178c81289a07ed2e118e444d0025b2a85c97d0b44a4fa","urls":["bzz-raw://656cda26512ddd7373c2d5551c8fae759fc30f05b10f0fc2e738e9274199dbd4","dweb:/ipfs/QmTSArSzQRFbQmHgq7U1PZXnsDFhvDZhKVu9CzMG4yo6Lx"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Address.sol":{"keccak256":"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa","urls":["bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931","dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Context.sol":{"keccak256":"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7","urls":["bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92","dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Strings.sol":{"keccak256":"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0","urls":["bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f","dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol":{"keccak256":"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b","urls":["bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d","dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol":{"keccak256":"0x5a08ad61f4e82b8a3323562661a86fb10b10190848073fdc13d4ac43710ffba5","urls":["bzz-raw://6f7bb74cf88fd88daa34e118bc6e363381d05044f34f391d39a10c0c9dac3ebd","dweb:/ipfs/QmNbQ3v8v4zuDtg7VeLAbdhAm3tCzUodNoDZZ8ekmCHWZX"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/Math.sol":{"keccak256":"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3","urls":["bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c","dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol":{"keccak256":"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc","urls":["bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7","dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6"],"license":"MIT"},"pkg/contracts/src/CVStrategy.sol":{"keccak256":"0x132bcf17470960e380d841159d9389985d609aaae1c9a657c78902f7871da957","urls":["bzz-raw://84e905bf392579b44f33fff8586431b940e110b2210854cf487321cc92061705","dweb:/ipfs/QmQpvszYu8RbrXmUFLifSodQzV8LAqazk1fzXNARGc5sBT"],"license":"AGPL-3.0-only"},"pkg/contracts/src/ISybilScorer.sol":{"keccak256":"0x0e25fbb8497ac3c969d80c9032362d45e56c0a45dc9ba3dff6a8a704571f38ea","urls":["bzz-raw://0dff90ebae6e7131a5300fcaf525bc2ab0ae90fcd13f277d7b7b6939eeb8b7eb","dweb:/ipfs/QmYGkYqpUVrBWoNY6f3CtwrrVQFWSvnJfpu68t95f6AkBY"],"license":"MIT"},"pkg/contracts/src/RegistryCommunity.sol":{"keccak256":"0xc735f4d2635149f2db9bff291da56e08c3c312d9eb1b767b8a1e3e51584d5734","urls":["bzz-raw://247b33b78abface6a7e2da38174386de9b543f6a27e8340e26d854bff57184a3","dweb:/ipfs/QmedNdqkqeboGzz9w868uGf7KnXUaYZe6i1YcdUPPkJnnf"],"license":"AGPL-3.0-only"},"pkg/contracts/src/RegistryFactory.sol":{"keccak256":"0x888b7f5eb1079f90ccfa0b41d8a970bffd8d4d469f9b31917a58279b358dbda5","urls":["bzz-raw://af25fd783de00adf01d1c7caa572801fed0d474306a43b862535b08e65ec10c6","dweb:/ipfs/Qmeb2nEaMQLV86y1CYAAV2c6BYpBDTbpLuC1SigeNjdqLo"],"license":"AGPL-3.0-only"},"pkg/contracts/src/interfaces/ISafe.sol":{"keccak256":"0x878a210809bb684c42157a10f3f90350a67d0a4863f130499942b06f0f2c9143","urls":["bzz-raw://fa2d71bd427c3415e98a2ee15ff673f3cc61c17f14d7087c5eedc83b55f6b0ef","dweb:/ipfs/QmesVSmJQQzi6ys1cvhQFCJyDXchb736mT5bXks4Yp6Cbj"],"license":"LGPL-3.0-only"}},"version":1},"storageLayout":{"storage":[],"types":{}},"ast":{"absolutePath":"pkg/contracts/src/CVStrategy.sol","id":77612,"exportedSymbols":{"BaseStrategy":[3923],"CVStrategy":[77611],"ERC165":[58266],"ERC20":[56991],"IAllo":[2610],"IERC165":[58472],"IPointStrategy":[74722],"ISybilScorer":[80667],"Math":[59338],"Metadata":[3098],"PassportData":[80585],"RegistryCommunity":[83082],"StrategyStruct":[74807],"console":[29549]},"nodeType":"SourceUnit","src":"42:40858:129","nodes":[{"id":74674,"nodeType":"PragmaDirective","src":"42:24:129","nodes":[],"literals":["solidity","^","0.8",".19"]},{"id":74677,"nodeType":"ImportDirective","src":"68:82:129","nodes":[],"absolutePath":"lib/allo-v2/contracts/strategies/BaseStrategy.sol","file":"allo-v2-contracts/strategies/BaseStrategy.sol","nameLocation":"-1:-1:-1","scope":77612,"sourceUnit":3924,"symbolAliases":[{"foreign":{"id":74675,"name":"BaseStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3923,"src":"76:12:129","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":74676,"name":"IAllo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2610,"src":"90:5:129","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":74680,"nodeType":"ImportDirective","src":"152:68:129","nodes":[],"absolutePath":"pkg/contracts/src/RegistryCommunity.sol","file":"./RegistryCommunity.sol","nameLocation":"-1:-1:-1","scope":77612,"sourceUnit":83083,"symbolAliases":[{"foreign":{"id":74678,"name":"RegistryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83082,"src":"160:17:129","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":74679,"name":"Metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3098,"src":"179:8:129","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":74683,"nodeType":"ImportDirective","src":"221:87:129","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol","file":"@openzeppelin/contracts/utils/introspection/ERC165.sol","nameLocation":"-1:-1:-1","scope":77612,"sourceUnit":58267,"symbolAliases":[{"foreign":{"id":74681,"name":"ERC165","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58266,"src":"229:6:129","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":74682,"name":"IERC165","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58472,"src":"237:7:129","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":74685,"nodeType":"ImportDirective","src":"309:68:129","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol","file":"@openzeppelin/contracts/token/ERC20/ERC20.sol","nameLocation":"-1:-1:-1","scope":77612,"sourceUnit":56992,"symbolAliases":[{"foreign":{"id":74684,"name":"ERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56991,"src":"317:5:129","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":74687,"nodeType":"ImportDirective","src":"379:46:129","nodes":[],"absolutePath":"lib/forge-std/src/console.sol","file":"forge-std/console.sol","nameLocation":"-1:-1:-1","scope":77612,"sourceUnit":29550,"symbolAliases":[{"foreign":{"id":74686,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29549,"src":"387:7:129","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":74689,"nodeType":"ImportDirective","src":"427:65:129","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/utils/math/Math.sol","file":"@openzeppelin/contracts/utils/math/Math.sol","nameLocation":"-1:-1:-1","scope":77612,"sourceUnit":59339,"symbolAliases":[{"foreign":{"id":74688,"name":"Math","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59338,"src":"435:4:129","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":74692,"nodeType":"ImportDirective","src":"493:62:129","nodes":[],"absolutePath":"pkg/contracts/src/ISybilScorer.sol","file":"./ISybilScorer.sol","nameLocation":"-1:-1:-1","scope":77612,"sourceUnit":80668,"symbolAliases":[{"foreign":{"id":74690,"name":"ISybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80667,"src":"501:12:129","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":74691,"name":"PassportData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80585,"src":"515:12:129","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":74722,"nodeType":"ContractDefinition","src":"557:355:129","nodes":[{"id":74697,"nodeType":"FunctionDefinition","src":"588:52:129","nodes":[],"functionSelector":"6453d9c4","implemented":false,"kind":"function","modifiers":[],"name":"deactivatePoints","nameLocation":"597:16:129","parameters":{"id":74695,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74694,"mutability":"mutable","name":"_member","nameLocation":"622:7:129","nodeType":"VariableDeclaration","scope":74697,"src":"614:15:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74693,"name":"address","nodeType":"ElementaryTypeName","src":"614:7:129","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"613:17:129"},"returnParameters":{"id":74696,"nodeType":"ParameterList","parameters":[],"src":"639:0:129"},"scope":74722,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":74706,"nodeType":"FunctionDefinition","src":"645:91:129","nodes":[],"functionSelector":"782aadff","implemented":false,"kind":"function","modifiers":[],"name":"increasePower","nameLocation":"654:13:129","parameters":{"id":74702,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74699,"mutability":"mutable","name":"_member","nameLocation":"676:7:129","nodeType":"VariableDeclaration","scope":74706,"src":"668:15:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74698,"name":"address","nodeType":"ElementaryTypeName","src":"668:7:129","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":74701,"mutability":"mutable","name":"_amountToStake","nameLocation":"693:14:129","nodeType":"VariableDeclaration","scope":74706,"src":"685:22:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74700,"name":"uint256","nodeType":"ElementaryTypeName","src":"685:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"667:41:129"},"returnParameters":{"id":74705,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74704,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":74706,"src":"727:7:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74703,"name":"uint256","nodeType":"ElementaryTypeName","src":"727:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"726:9:129"},"scope":74722,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":74715,"nodeType":"FunctionDefinition","src":"741:92:129","nodes":[],"functionSelector":"2ed04b2b","implemented":false,"kind":"function","modifiers":[],"name":"decreasePower","nameLocation":"750:13:129","parameters":{"id":74711,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74708,"mutability":"mutable","name":"_member","nameLocation":"772:7:129","nodeType":"VariableDeclaration","scope":74715,"src":"764:15:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74707,"name":"address","nodeType":"ElementaryTypeName","src":"764:7:129","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":74710,"mutability":"mutable","name":"_amountToUntake","nameLocation":"789:15:129","nodeType":"VariableDeclaration","scope":74715,"src":"781:23:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74709,"name":"uint256","nodeType":"ElementaryTypeName","src":"781:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"763:42:129"},"returnParameters":{"id":74714,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74713,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":74715,"src":"824:7:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74712,"name":"uint256","nodeType":"ElementaryTypeName","src":"824:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"823:9:129"},"scope":74722,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":74721,"nodeType":"FunctionDefinition","src":"838:72:129","nodes":[],"functionSelector":"c3292171","implemented":false,"kind":"function","modifiers":[],"name":"getPointSystem","nameLocation":"847:14:129","parameters":{"id":74716,"nodeType":"ParameterList","parameters":[],"src":"861:2:129"},"returnParameters":{"id":74720,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74719,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":74721,"src":"882:26:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$74731","typeString":"enum StrategyStruct.PointSystem"},"typeName":{"id":74718,"nodeType":"UserDefinedTypeName","pathNode":{"id":74717,"name":"StrategyStruct.PointSystem","nameLocations":["882:14:129","897:11:129"],"nodeType":"IdentifierPath","referencedDeclaration":74731,"src":"882:26:129"},"referencedDeclaration":74731,"src":"882:26:129","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$74731","typeString":"enum StrategyStruct.PointSystem"}},"visibility":"internal"}],"src":"881:28:129"},"scope":74722,"stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"IPointStrategy","contractDependencies":[],"contractKind":"interface","fullyImplemented":false,"linearizedBaseContracts":[74722],"name":"IPointStrategy","nameLocation":"567:14:129","scope":77612,"usedErrors":[]},{"id":74807,"nodeType":"ContractDefinition","src":"914:1871:129","nodes":[{"id":74726,"nodeType":"EnumDefinition","src":"943:79:129","nodes":[],"canonicalName":"StrategyStruct.ProposalType","members":[{"id":74723,"name":"Signaling","nameLocation":"971:9:129","nodeType":"EnumValue","src":"971:9:129"},{"id":74724,"name":"Funding","nameLocation":"990:7:129","nodeType":"EnumValue","src":"990:7:129"},{"id":74725,"name":"Streaming","nameLocation":"1007:9:129","nodeType":"EnumValue","src":"1007:9:129"}],"name":"ProposalType","nameLocation":"948:12:129"},{"id":74731,"nodeType":"EnumDefinition","src":"1028:92:129","nodes":[],"canonicalName":"StrategyStruct.PointSystem","members":[{"id":74727,"name":"Fixed","nameLocation":"1055:5:129","nodeType":"EnumValue","src":"1055:5:129"},{"id":74728,"name":"Capped","nameLocation":"1070:6:129","nodeType":"EnumValue","src":"1070:6:129"},{"id":74729,"name":"Unlimited","nameLocation":"1086:9:129","nodeType":"EnumValue","src":"1086:9:129"},{"id":74730,"name":"Quadratic","nameLocation":"1105:9:129","nodeType":"EnumValue","src":"1105:9:129"}],"name":"PointSystem","nameLocation":"1033:11:129"},{"id":74743,"nodeType":"StructDefinition","src":"1126:243:129","nodes":[],"canonicalName":"StrategyStruct.CreateProposal","members":[{"constant":false,"id":74733,"mutability":"mutable","name":"poolId","nameLocation":"1197:6:129","nodeType":"VariableDeclaration","scope":74743,"src":"1189:14:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74732,"name":"uint256","nodeType":"ElementaryTypeName","src":"1189:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74735,"mutability":"mutable","name":"beneficiary","nameLocation":"1221:11:129","nodeType":"VariableDeclaration","scope":74743,"src":"1213:19:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74734,"name":"address","nodeType":"ElementaryTypeName","src":"1213:7:129","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":74737,"mutability":"mutable","name":"amountRequested","nameLocation":"1288:15:129","nodeType":"VariableDeclaration","scope":74743,"src":"1280:23:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74736,"name":"uint256","nodeType":"ElementaryTypeName","src":"1280:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74739,"mutability":"mutable","name":"requestedToken","nameLocation":"1321:14:129","nodeType":"VariableDeclaration","scope":74743,"src":"1313:22:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74738,"name":"address","nodeType":"ElementaryTypeName","src":"1313:7:129","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":74742,"mutability":"mutable","name":"metadata","nameLocation":"1354:8:129","nodeType":"VariableDeclaration","scope":74743,"src":"1345:17:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"},"typeName":{"id":74741,"nodeType":"UserDefinedTypeName","pathNode":{"id":74740,"name":"Metadata","nameLocations":["1345:8:129"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"1345:8:129"},"referencedDeclaration":3098,"src":"1345:8:129","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"}],"name":"CreateProposal","nameLocation":"1133:14:129","scope":74807,"visibility":"public"},{"id":74749,"nodeType":"EnumDefinition","src":"1375:289:129","nodes":[],"canonicalName":"StrategyStruct.ProposalStatus","members":[{"id":74744,"name":"Inactive","nameLocation":"1405:8:129","nodeType":"EnumValue","src":"1405:8:129"},{"id":74745,"name":"Active","nameLocation":"1435:6:129","nodeType":"EnumValue","src":"1435:6:129"},{"id":74746,"name":"Paused","nameLocation":"1498:6:129","nodeType":"EnumValue","src":"1498:6:129"},{"id":74747,"name":"Cancelled","nameLocation":"1563:9:129","nodeType":"EnumValue","src":"1563:9:129"},{"id":74748,"name":"Executed","nameLocation":"1616:8:129","nodeType":"EnumValue","src":"1616:8:129"}],"name":"ProposalStatus","nameLocation":"1380:14:129"},{"id":74776,"nodeType":"StructDefinition","src":"1670:405:129","nodes":[],"canonicalName":"StrategyStruct.Proposal","members":[{"constant":false,"id":74751,"mutability":"mutable","name":"proposalId","nameLocation":"1704:10:129","nodeType":"VariableDeclaration","scope":74776,"src":"1696:18:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74750,"name":"uint256","nodeType":"ElementaryTypeName","src":"1696:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74753,"mutability":"mutable","name":"requestedAmount","nameLocation":"1732:15:129","nodeType":"VariableDeclaration","scope":74776,"src":"1724:23:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74752,"name":"uint256","nodeType":"ElementaryTypeName","src":"1724:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74755,"mutability":"mutable","name":"stakedAmount","nameLocation":"1765:12:129","nodeType":"VariableDeclaration","scope":74776,"src":"1757:20:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74754,"name":"uint256","nodeType":"ElementaryTypeName","src":"1757:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74757,"mutability":"mutable","name":"convictionLast","nameLocation":"1795:14:129","nodeType":"VariableDeclaration","scope":74776,"src":"1787:22:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74756,"name":"uint256","nodeType":"ElementaryTypeName","src":"1787:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74759,"mutability":"mutable","name":"beneficiary","nameLocation":"1827:11:129","nodeType":"VariableDeclaration","scope":74776,"src":"1819:19:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74758,"name":"address","nodeType":"ElementaryTypeName","src":"1819:7:129","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":74761,"mutability":"mutable","name":"submitter","nameLocation":"1856:9:129","nodeType":"VariableDeclaration","scope":74776,"src":"1848:17:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74760,"name":"address","nodeType":"ElementaryTypeName","src":"1848:7:129","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":74763,"mutability":"mutable","name":"requestedToken","nameLocation":"1883:14:129","nodeType":"VariableDeclaration","scope":74776,"src":"1875:22:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74762,"name":"address","nodeType":"ElementaryTypeName","src":"1875:7:129","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":74765,"mutability":"mutable","name":"blockLast","nameLocation":"1915:9:129","nodeType":"VariableDeclaration","scope":74776,"src":"1907:17:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74764,"name":"uint256","nodeType":"ElementaryTypeName","src":"1907:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74768,"mutability":"mutable","name":"proposalStatus","nameLocation":"1949:14:129","nodeType":"VariableDeclaration","scope":74776,"src":"1934:29:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$74749","typeString":"enum StrategyStruct.ProposalStatus"},"typeName":{"id":74767,"nodeType":"UserDefinedTypeName","pathNode":{"id":74766,"name":"ProposalStatus","nameLocations":["1934:14:129"],"nodeType":"IdentifierPath","referencedDeclaration":74749,"src":"1934:14:129"},"referencedDeclaration":74749,"src":"1934:14:129","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$74749","typeString":"enum StrategyStruct.ProposalStatus"}},"visibility":"internal"},{"constant":false,"id":74772,"mutability":"mutable","name":"voterStakedPoints","nameLocation":"2001:17:129","nodeType":"VariableDeclaration","scope":74776,"src":"1973:45:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"typeName":{"id":74771,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":74769,"name":"address","nodeType":"ElementaryTypeName","src":"1981:7:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"1973:27:129","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":74770,"name":"uint256","nodeType":"ElementaryTypeName","src":"1992:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"internal"},{"constant":false,"id":74775,"mutability":"mutable","name":"metadata","nameLocation":"2060:8:129","nodeType":"VariableDeclaration","scope":74776,"src":"2051:17:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"},"typeName":{"id":74774,"nodeType":"UserDefinedTypeName","pathNode":{"id":74773,"name":"Metadata","nameLocations":["2051:8:129"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"2051:8:129"},"referencedDeclaration":3098,"src":"2051:8:129","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"}],"name":"Proposal","nameLocation":"1677:8:129","scope":74807,"visibility":"public"},{"id":74781,"nodeType":"StructDefinition","src":"2081:126:129","nodes":[],"canonicalName":"StrategyStruct.ProposalSupport","members":[{"constant":false,"id":74778,"mutability":"mutable","name":"proposalId","nameLocation":"2122:10:129","nodeType":"VariableDeclaration","scope":74781,"src":"2114:18:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74777,"name":"uint256","nodeType":"ElementaryTypeName","src":"2114:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74780,"mutability":"mutable","name":"deltaSupport","nameLocation":"2149:12:129","nodeType":"VariableDeclaration","scope":74781,"src":"2142:19:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":74779,"name":"int256","nodeType":"ElementaryTypeName","src":"2142:6:129","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"name":"ProposalSupport","nameLocation":"2088:15:129","scope":74807,"visibility":"public"},{"id":74784,"nodeType":"StructDefinition","src":"2213:89:129","nodes":[],"canonicalName":"StrategyStruct.PointSystemConfig","members":[{"constant":false,"id":74783,"mutability":"mutable","name":"maxAmount","nameLocation":"2286:9:129","nodeType":"VariableDeclaration","scope":74784,"src":"2278:17:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74782,"name":"uint256","nodeType":"ElementaryTypeName","src":"2278:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"PointSystemConfig","nameLocation":"2220:17:129","scope":74807,"visibility":"public"},{"id":74806,"nodeType":"StructDefinition","src":"2308:475:129","nodes":[],"canonicalName":"StrategyStruct.InitializeParams","members":[{"constant":false,"id":74786,"mutability":"mutable","name":"registryCommunity","nameLocation":"2350:17:129","nodeType":"VariableDeclaration","scope":74806,"src":"2342:25:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74785,"name":"address","nodeType":"ElementaryTypeName","src":"2342:7:129","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":74788,"mutability":"mutable","name":"decay","nameLocation":"2414:5:129","nodeType":"VariableDeclaration","scope":74806,"src":"2406:13:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74787,"name":"uint256","nodeType":"ElementaryTypeName","src":"2406:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74790,"mutability":"mutable","name":"maxRatio","nameLocation":"2484:8:129","nodeType":"VariableDeclaration","scope":74806,"src":"2476:16:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74789,"name":"uint256","nodeType":"ElementaryTypeName","src":"2476:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74792,"mutability":"mutable","name":"weight","nameLocation":"2538:6:129","nodeType":"VariableDeclaration","scope":74806,"src":"2530:14:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74791,"name":"uint256","nodeType":"ElementaryTypeName","src":"2530:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74794,"mutability":"mutable","name":"minThresholdPoints","nameLocation":"2562:18:129","nodeType":"VariableDeclaration","scope":74806,"src":"2554:26:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74793,"name":"uint256","nodeType":"ElementaryTypeName","src":"2554:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74797,"mutability":"mutable","name":"proposalType","nameLocation":"2628:12:129","nodeType":"VariableDeclaration","scope":74806,"src":"2615:25:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$74726","typeString":"enum StrategyStruct.ProposalType"},"typeName":{"id":74796,"nodeType":"UserDefinedTypeName","pathNode":{"id":74795,"name":"ProposalType","nameLocations":["2615:12:129"],"nodeType":"IdentifierPath","referencedDeclaration":74726,"src":"2615:12:129"},"referencedDeclaration":74726,"src":"2615:12:129","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$74726","typeString":"enum StrategyStruct.ProposalType"}},"visibility":"internal"},{"constant":false,"id":74800,"mutability":"mutable","name":"pointSystem","nameLocation":"2697:11:129","nodeType":"VariableDeclaration","scope":74806,"src":"2685:23:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$74731","typeString":"enum StrategyStruct.PointSystem"},"typeName":{"id":74799,"nodeType":"UserDefinedTypeName","pathNode":{"id":74798,"name":"PointSystem","nameLocations":["2685:11:129"],"nodeType":"IdentifierPath","referencedDeclaration":74731,"src":"2685:11:129"},"referencedDeclaration":74731,"src":"2685:11:129","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$74731","typeString":"enum StrategyStruct.PointSystem"}},"visibility":"internal"},{"constant":false,"id":74803,"mutability":"mutable","name":"pointConfig","nameLocation":"2736:11:129","nodeType":"VariableDeclaration","scope":74806,"src":"2718:29:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$74784_storage_ptr","typeString":"struct StrategyStruct.PointSystemConfig"},"typeName":{"id":74802,"nodeType":"UserDefinedTypeName","pathNode":{"id":74801,"name":"PointSystemConfig","nameLocations":["2718:17:129"],"nodeType":"IdentifierPath","referencedDeclaration":74784,"src":"2718:17:129"},"referencedDeclaration":74784,"src":"2718:17:129","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$74784_storage_ptr","typeString":"struct StrategyStruct.PointSystemConfig"}},"visibility":"internal"},{"constant":false,"id":74805,"mutability":"mutable","name":"sybilScorer","nameLocation":"2765:11:129","nodeType":"VariableDeclaration","scope":74806,"src":"2757:19:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74804,"name":"address","nodeType":"ElementaryTypeName","src":"2757:7:129","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"name":"InitializeParams","nameLocation":"2315:16:129","scope":74807,"visibility":"public"}],"abstract":false,"baseContracts":[],"canonicalName":"StrategyStruct","contractDependencies":[],"contractKind":"library","fullyImplemented":true,"linearizedBaseContracts":[74807],"name":"StrategyStruct","nameLocation":"922:14:129","scope":77612,"usedErrors":[]},{"id":77611,"nodeType":"ContractDefinition","src":"2787:38112:129","nodes":[{"id":74816,"nodeType":"UsingForDirective","src":"2853:23:129","nodes":[],"global":false,"libraryName":{"id":74814,"name":"Math","nameLocations":["2859:4:129"],"nodeType":"IdentifierPath","referencedDeclaration":59338,"src":"2859:4:129"},"typeName":{"id":74815,"name":"uint256","nodeType":"ElementaryTypeName","src":"2868:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},{"id":74818,"nodeType":"ErrorDefinition","src":"3047:25:129","nodes":[],"errorSelector":"d1f28288","name":"UserCannotBeZero","nameLocation":"3053:16:129","parameters":{"id":74817,"nodeType":"ParameterList","parameters":[],"src":"3069:2:129"}},{"id":74820,"nodeType":"ErrorDefinition","src":"3091:26:129","nodes":[],"errorSelector":"6a5cfb6d","name":"UserNotInRegistry","nameLocation":"3097:17:129","parameters":{"id":74819,"nodeType":"ParameterList","parameters":[],"src":"3114:2:129"}},{"id":74822,"nodeType":"ErrorDefinition","src":"3135:23:129","nodes":[],"errorSelector":"5fccb67f","name":"UserIsInactive","nameLocation":"3141:14:129","parameters":{"id":74821,"nodeType":"ParameterList","parameters":[],"src":"3155:2:129"}},{"id":74824,"nodeType":"ErrorDefinition","src":"3177:20:129","nodes":[],"errorSelector":"ed4421ad","name":"PoolIsEmpty","nameLocation":"3183:11:129","parameters":{"id":74823,"nodeType":"ParameterList","parameters":[],"src":"3194:2:129"}},{"id":74826,"nodeType":"ErrorDefinition","src":"3216:23:129","nodes":[],"errorSelector":"d6234725","name":"NotImplemented","nameLocation":"3222:14:129","parameters":{"id":74825,"nodeType":"ParameterList","parameters":[],"src":"3236:2:129"}},{"id":74828,"nodeType":"ErrorDefinition","src":"3257:26:129","nodes":[],"errorSelector":"596a094c","name":"TokenCannotBeZero","nameLocation":"3263:17:129","parameters":{"id":74827,"nodeType":"ParameterList","parameters":[],"src":"3280:2:129"}},{"id":74830,"nodeType":"ErrorDefinition","src":"3301:24:129","nodes":[],"errorSelector":"a29c4986","name":"TokenNotAllowed","nameLocation":"3307:15:129","parameters":{"id":74829,"nodeType":"ParameterList","parameters":[],"src":"3322:2:129"}},{"id":74832,"nodeType":"ErrorDefinition","src":"3344:27:129","nodes":[],"errorSelector":"3bf5ca14","name":"AmountOverMaxRatio","nameLocation":"3350:18:129","parameters":{"id":74831,"nodeType":"ParameterList","parameters":[],"src":"3368:2:129"}},{"id":74834,"nodeType":"ErrorDefinition","src":"3390:27:129","nodes":[],"errorSelector":"4e791786","name":"PoolIdCannotBeZero","nameLocation":"3396:18:129","parameters":{"id":74833,"nodeType":"ParameterList","parameters":[],"src":"3414:2:129"}},{"id":74836,"nodeType":"ErrorDefinition","src":"3435:28:129","nodes":[],"errorSelector":"e622e040","name":"AddressCannotBeZero","nameLocation":"3441:19:129","parameters":{"id":74835,"nodeType":"ParameterList","parameters":[],"src":"3460:2:129"}},{"id":74838,"nodeType":"ErrorDefinition","src":"3481:29:129","nodes":[],"errorSelector":"5df4b1ef","name":"RegistryCannotBeZero","nameLocation":"3487:20:129","parameters":{"id":74837,"nodeType":"ParameterList","parameters":[],"src":"3507:2:129"}},{"id":74846,"nodeType":"ErrorDefinition","src":"3529:72:129","nodes":[],"errorSelector":"3bbc7142","name":"SupportUnderflow","nameLocation":"3535:16:129","parameters":{"id":74845,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74840,"mutability":"mutable","name":"_support","nameLocation":"3560:8:129","nodeType":"VariableDeclaration","scope":74846,"src":"3552:16:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74839,"name":"uint256","nodeType":"ElementaryTypeName","src":"3552:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74842,"mutability":"mutable","name":"_delta","nameLocation":"3577:6:129","nodeType":"VariableDeclaration","scope":74846,"src":"3570:13:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":74841,"name":"int256","nodeType":"ElementaryTypeName","src":"3570:6:129","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":74844,"mutability":"mutable","name":"_result","nameLocation":"3592:7:129","nodeType":"VariableDeclaration","scope":74846,"src":"3585:14:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":74843,"name":"int256","nodeType":"ElementaryTypeName","src":"3585:6:129","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"3551:49:129"}},{"id":74848,"nodeType":"ErrorDefinition","src":"3620:25:129","nodes":[],"errorSelector":"8402b474","name":"MaxPointsReached","nameLocation":"3626:16:129","parameters":{"id":74847,"nodeType":"ParameterList","parameters":[],"src":"3642:2:129"}},{"id":74850,"nodeType":"ErrorDefinition","src":"3664:32:129","nodes":[],"errorSelector":"573c3e93","name":"CantIncreaseFixedSystem","nameLocation":"3670:23:129","parameters":{"id":74849,"nodeType":"ParameterList","parameters":[],"src":"3693:2:129"}},{"id":74856,"nodeType":"ErrorDefinition","src":"3715:77:129","nodes":[],"errorSelector":"d64182fe","name":"NotEnoughPointsToSupport","nameLocation":"3721:24:129","parameters":{"id":74855,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74852,"mutability":"mutable","name":"pointsSupport","nameLocation":"3754:13:129","nodeType":"VariableDeclaration","scope":74856,"src":"3746:21:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74851,"name":"uint256","nodeType":"ElementaryTypeName","src":"3746:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74854,"mutability":"mutable","name":"pointsBalance","nameLocation":"3777:13:129","nodeType":"VariableDeclaration","scope":74856,"src":"3769:21:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74853,"name":"uint256","nodeType":"ElementaryTypeName","src":"3769:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3745:46:129"}},{"id":74858,"nodeType":"ErrorDefinition","src":"3812:28:129","nodes":[],"errorSelector":"c5f7c4c0","name":"ProposalDataIsEmpty","nameLocation":"3818:19:129","parameters":{"id":74857,"nodeType":"ParameterList","parameters":[],"src":"3837:2:129"}},{"id":74860,"nodeType":"ErrorDefinition","src":"3858:31:129","nodes":[],"errorSelector":"f881a10d","name":"ProposalIdCannotBeZero","nameLocation":"3864:22:129","parameters":{"id":74859,"nodeType":"ParameterList","parameters":[],"src":"3886:2:129"}},{"id":74864,"nodeType":"ErrorDefinition","src":"3907:45:129","nodes":[],"errorSelector":"44980d8f","name":"ProposalNotActive","nameLocation":"3913:17:129","parameters":{"id":74863,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74862,"mutability":"mutable","name":"_proposalId","nameLocation":"3939:11:129","nodeType":"VariableDeclaration","scope":74864,"src":"3931:19:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74861,"name":"uint256","nodeType":"ElementaryTypeName","src":"3931:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3930:21:129"}},{"id":74868,"nodeType":"ErrorDefinition","src":"3971:45:129","nodes":[],"errorSelector":"c1d17bef","name":"ProposalNotInList","nameLocation":"3977:17:129","parameters":{"id":74867,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74866,"mutability":"mutable","name":"_proposalId","nameLocation":"4003:11:129","nodeType":"VariableDeclaration","scope":74868,"src":"3995:19:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74865,"name":"uint256","nodeType":"ElementaryTypeName","src":"3995:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3994:21:129"}},{"id":74874,"nodeType":"ErrorDefinition","src":"4035:68:129","nodes":[],"errorSelector":"adebb154","name":"ProposalSupportDuplicated","nameLocation":"4041:25:129","parameters":{"id":74873,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74870,"mutability":"mutable","name":"_proposalId","nameLocation":"4075:11:129","nodeType":"VariableDeclaration","scope":74874,"src":"4067:19:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74869,"name":"uint256","nodeType":"ElementaryTypeName","src":"4067:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74872,"mutability":"mutable","name":"index","nameLocation":"4096:5:129","nodeType":"VariableDeclaration","scope":74874,"src":"4088:13:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74871,"name":"uint256","nodeType":"ElementaryTypeName","src":"4088:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4066:36:129"}},{"id":74876,"nodeType":"ErrorDefinition","src":"4121:40:129","nodes":[],"errorSelector":"cce79308","name":"ConvictionUnderMinimumThreshold","nameLocation":"4127:31:129","parameters":{"id":74875,"nodeType":"ParameterList","parameters":[],"src":"4158:2:129"}},{"id":74878,"nodeType":"ErrorDefinition","src":"4180:29:129","nodes":[],"errorSelector":"af0916a2","name":"OnlyCommunityAllowed","nameLocation":"4186:20:129","parameters":{"id":74877,"nodeType":"ParameterList","parameters":[],"src":"4206:2:129"}},{"id":74886,"nodeType":"ErrorDefinition","src":"4228:94:129","nodes":[],"errorSelector":"5863b0b6","name":"PoolAmountNotEnough","nameLocation":"4234:19:129","parameters":{"id":74885,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74880,"mutability":"mutable","name":"_proposalId","nameLocation":"4262:11:129","nodeType":"VariableDeclaration","scope":74886,"src":"4254:19:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74879,"name":"uint256","nodeType":"ElementaryTypeName","src":"4254:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74882,"mutability":"mutable","name":"_requestedAmount","nameLocation":"4283:16:129","nodeType":"VariableDeclaration","scope":74886,"src":"4275:24:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74881,"name":"uint256","nodeType":"ElementaryTypeName","src":"4275:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74884,"mutability":"mutable","name":"_poolAmount","nameLocation":"4309:11:129","nodeType":"VariableDeclaration","scope":74886,"src":"4301:19:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74883,"name":"uint256","nodeType":"ElementaryTypeName","src":"4301:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4253:68:129"}},{"id":74888,"nodeType":"ErrorDefinition","src":"4340:24:129","nodes":[],"errorSelector":"e860ec7e","name":"OnlyCouncilSafe","nameLocation":"4346:15:129","parameters":{"id":74887,"nodeType":"ParameterList","parameters":[],"src":"4361:2:129"}},{"id":74890,"nodeType":"ErrorDefinition","src":"4369:32:129","nodes":[],"errorSelector":"5b96b588","name":"UserCannotExecuteAction","nameLocation":"4375:23:129","parameters":{"id":74889,"nodeType":"ParameterList","parameters":[],"src":"4398:2:129"}},{"id":74897,"nodeType":"EventDefinition","src":"4573:74:129","nodes":[],"anonymous":false,"eventSelector":"4ebdec05fb64815e553aeaf3976ef8112dd79760a459bee3ac7d1659ab2c4e04","name":"InitializedCV","nameLocation":"4579:13:129","parameters":{"id":74896,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74892,"indexed":false,"mutability":"mutable","name":"poolId","nameLocation":"4601:6:129","nodeType":"VariableDeclaration","scope":74897,"src":"4593:14:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74891,"name":"uint256","nodeType":"ElementaryTypeName","src":"4593:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74895,"indexed":false,"mutability":"mutable","name":"data","nameLocation":"4641:4:129","nodeType":"VariableDeclaration","scope":74897,"src":"4609:36:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$74806_memory_ptr","typeString":"struct StrategyStruct.InitializeParams"},"typeName":{"id":74894,"nodeType":"UserDefinedTypeName","pathNode":{"id":74893,"name":"StrategyStruct.InitializeParams","nameLocations":["4609:14:129","4624:16:129"],"nodeType":"IdentifierPath","referencedDeclaration":74806,"src":"4609:31:129"},"referencedDeclaration":74806,"src":"4609:31:129","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$74806_storage_ptr","typeString":"struct StrategyStruct.InitializeParams"}},"visibility":"internal"}],"src":"4592:54:129"}},{"id":74905,"nodeType":"EventDefinition","src":"4652:75:129","nodes":[],"anonymous":false,"eventSelector":"a7932e9c92f31e1ed56b29d00bbe669a97484dc24de28dd9c8c0429df7f35847","name":"Distributed","nameLocation":"4658:11:129","parameters":{"id":74904,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74899,"indexed":false,"mutability":"mutable","name":"proposalId","nameLocation":"4678:10:129","nodeType":"VariableDeclaration","scope":74905,"src":"4670:18:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74898,"name":"uint256","nodeType":"ElementaryTypeName","src":"4670:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74901,"indexed":false,"mutability":"mutable","name":"beneficiary","nameLocation":"4698:11:129","nodeType":"VariableDeclaration","scope":74905,"src":"4690:19:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74900,"name":"address","nodeType":"ElementaryTypeName","src":"4690:7:129","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":74903,"indexed":false,"mutability":"mutable","name":"amount","nameLocation":"4719:6:129","nodeType":"VariableDeclaration","scope":74905,"src":"4711:14:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74902,"name":"uint256","nodeType":"ElementaryTypeName","src":"4711:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4669:57:129"}},{"id":74911,"nodeType":"EventDefinition","src":"4732:58:129","nodes":[],"anonymous":false,"eventSelector":"fcf3b1aa65a464cef2889608f99e8b8c0f680a4be6c2acb9d961c536a5a9294b","name":"ProposalCreated","nameLocation":"4738:15:129","parameters":{"id":74910,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74907,"indexed":false,"mutability":"mutable","name":"poolId","nameLocation":"4762:6:129","nodeType":"VariableDeclaration","scope":74911,"src":"4754:14:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74906,"name":"uint256","nodeType":"ElementaryTypeName","src":"4754:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74909,"indexed":false,"mutability":"mutable","name":"proposalId","nameLocation":"4778:10:129","nodeType":"VariableDeclaration","scope":74911,"src":"4770:18:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74908,"name":"uint256","nodeType":"ElementaryTypeName","src":"4770:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4753:36:129"}},{"id":74915,"nodeType":"EventDefinition","src":"4795:42:129","nodes":[],"anonymous":false,"eventSelector":"46aeb5d8770fc4474bc2dfa118fd2595f7fb33ce2cbce6f4e5a3dabfe0f76339","name":"PoolAmountIncreased","nameLocation":"4801:19:129","parameters":{"id":74914,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74913,"indexed":false,"mutability":"mutable","name":"amount","nameLocation":"4829:6:129","nodeType":"VariableDeclaration","scope":74915,"src":"4821:14:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74912,"name":"uint256","nodeType":"ElementaryTypeName","src":"4821:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4820:16:129"}},{"id":74923,"nodeType":"EventDefinition","src":"4842:85:129","nodes":[],"anonymous":false,"eventSelector":"0b9150e1e54346ed3fa36b977cd5d65dca5a649c737c3174a26bddaadd47667a","name":"PowerIncreased","nameLocation":"4848:14:129","parameters":{"id":74922,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74917,"indexed":false,"mutability":"mutable","name":"member","nameLocation":"4871:6:129","nodeType":"VariableDeclaration","scope":74923,"src":"4863:14:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74916,"name":"address","nodeType":"ElementaryTypeName","src":"4863:7:129","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":74919,"indexed":false,"mutability":"mutable","name":"tokensStaked","nameLocation":"4887:12:129","nodeType":"VariableDeclaration","scope":74923,"src":"4879:20:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74918,"name":"uint256","nodeType":"ElementaryTypeName","src":"4879:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74921,"indexed":false,"mutability":"mutable","name":"pointsToIncrease","nameLocation":"4909:16:129","nodeType":"VariableDeclaration","scope":74923,"src":"4901:24:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74920,"name":"uint256","nodeType":"ElementaryTypeName","src":"4901:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4862:64:129"}},{"id":74931,"nodeType":"EventDefinition","src":"4932:87:129","nodes":[],"anonymous":false,"eventSelector":"70b752f3fadb6ac131c0ece847fcbb6994ec56ed6411595710fd9b29c6ac6cc1","name":"PowerDecreased","nameLocation":"4938:14:129","parameters":{"id":74930,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74925,"indexed":false,"mutability":"mutable","name":"member","nameLocation":"4961:6:129","nodeType":"VariableDeclaration","scope":74931,"src":"4953:14:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74924,"name":"address","nodeType":"ElementaryTypeName","src":"4953:7:129","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":74927,"indexed":false,"mutability":"mutable","name":"tokensUnStaked","nameLocation":"4977:14:129","nodeType":"VariableDeclaration","scope":74931,"src":"4969:22:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74926,"name":"uint256","nodeType":"ElementaryTypeName","src":"4969:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74929,"indexed":false,"mutability":"mutable","name":"pointsToDecrease","nameLocation":"5001:16:129","nodeType":"VariableDeclaration","scope":74931,"src":"4993:24:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74928,"name":"uint256","nodeType":"ElementaryTypeName","src":"4993:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4952:66:129"}},{"id":74943,"nodeType":"EventDefinition","src":"5024:134:129","nodes":[],"anonymous":false,"eventSelector":"0227f642ddcf2042ceaeafadb9d540f432072c00cd4862881667168dcc14710f","name":"SupportAdded","nameLocation":"5030:12:129","parameters":{"id":74942,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74933,"indexed":false,"mutability":"mutable","name":"from","nameLocation":"5060:4:129","nodeType":"VariableDeclaration","scope":74943,"src":"5052:12:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74932,"name":"address","nodeType":"ElementaryTypeName","src":"5052:7:129","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":74935,"indexed":false,"mutability":"mutable","name":"proposalId","nameLocation":"5074:10:129","nodeType":"VariableDeclaration","scope":74943,"src":"5066:18:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74934,"name":"uint256","nodeType":"ElementaryTypeName","src":"5066:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74937,"indexed":false,"mutability":"mutable","name":"amount","nameLocation":"5094:6:129","nodeType":"VariableDeclaration","scope":74943,"src":"5086:14:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74936,"name":"uint256","nodeType":"ElementaryTypeName","src":"5086:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74939,"indexed":false,"mutability":"mutable","name":"totalStakedAmount","nameLocation":"5110:17:129","nodeType":"VariableDeclaration","scope":74943,"src":"5102:25:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74938,"name":"uint256","nodeType":"ElementaryTypeName","src":"5102:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74941,"indexed":false,"mutability":"mutable","name":"convictionLast","nameLocation":"5137:14:129","nodeType":"VariableDeclaration","scope":74943,"src":"5129:22:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74940,"name":"uint256","nodeType":"ElementaryTypeName","src":"5129:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5042:115:129"}},{"id":74947,"nodeType":"EventDefinition","src":"5163:40:129","nodes":[],"anonymous":false,"eventSelector":"1468da654b37bb3631011c1917d02e0db437d519918858d40b38b5e980ca033b","name":"PointsDeactivated","nameLocation":"5169:17:129","parameters":{"id":74946,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74945,"indexed":false,"mutability":"mutable","name":"member","nameLocation":"5195:6:129","nodeType":"VariableDeclaration","scope":74947,"src":"5187:14:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74944,"name":"address","nodeType":"ElementaryTypeName","src":"5187:7:129","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5186:16:129"}},{"id":74951,"nodeType":"EventDefinition","src":"5208:34:129","nodes":[],"anonymous":false,"eventSelector":"592dcd55d60d892e7fcb3ba105013312e99691cd59f91e15f83cb67cb5a505f2","name":"DecayUpdated","nameLocation":"5214:12:129","parameters":{"id":74950,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74949,"indexed":false,"mutability":"mutable","name":"decay","nameLocation":"5235:5:129","nodeType":"VariableDeclaration","scope":74951,"src":"5227:13:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74948,"name":"uint256","nodeType":"ElementaryTypeName","src":"5227:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5226:15:129"}},{"id":74955,"nodeType":"EventDefinition","src":"5247:40:129","nodes":[],"anonymous":false,"eventSelector":"08e39b387d1f739ce0d2553bb31822392e3f67c62c6c0a215120ab4a6841a8ab","name":"MaxRatioUpdated","nameLocation":"5253:15:129","parameters":{"id":74954,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74953,"indexed":false,"mutability":"mutable","name":"maxRatio","nameLocation":"5277:8:129","nodeType":"VariableDeclaration","scope":74955,"src":"5269:16:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74952,"name":"uint256","nodeType":"ElementaryTypeName","src":"5269:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5268:18:129"}},{"id":74959,"nodeType":"EventDefinition","src":"5292:36:129","nodes":[],"anonymous":false,"eventSelector":"30ee8206062f283e56a0af2b02138016bf7442ded26ad68a92a18a9dd246fb49","name":"WeightUpdated","nameLocation":"5298:13:129","parameters":{"id":74958,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74957,"indexed":false,"mutability":"mutable","name":"weight","nameLocation":"5320:6:129","nodeType":"VariableDeclaration","scope":74959,"src":"5312:14:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74956,"name":"uint256","nodeType":"ElementaryTypeName","src":"5312:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5311:16:129"}},{"id":74963,"nodeType":"EventDefinition","src":"5333:49:129","nodes":[],"anonymous":false,"eventSelector":"d6ceddf6d2a22f21c7c81675c518004eff43bc5c8a6fc32a0b748e69d58671cd","name":"RegistryUpdated","nameLocation":"5339:15:129","parameters":{"id":74962,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74961,"indexed":false,"mutability":"mutable","name":"registryCommunity","nameLocation":"5363:17:129","nodeType":"VariableDeclaration","scope":74963,"src":"5355:25:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74960,"name":"address","nodeType":"ElementaryTypeName","src":"5355:7:129","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5354:27:129"}},{"id":74969,"nodeType":"EventDefinition","src":"5387:76:129","nodes":[],"anonymous":false,"eventSelector":"056aedca4e334b6c4bea48715fb0de644811b740894de57a0380d3eb90f2805b","name":"MinThresholdPointsUpdated","nameLocation":"5393:25:129","parameters":{"id":74968,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74965,"indexed":false,"mutability":"mutable","name":"before","nameLocation":"5427:6:129","nodeType":"VariableDeclaration","scope":74969,"src":"5419:14:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74964,"name":"uint256","nodeType":"ElementaryTypeName","src":"5419:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74967,"indexed":false,"mutability":"mutable","name":"minThresholdPoints","nameLocation":"5443:18:129","nodeType":"VariableDeclaration","scope":74969,"src":"5435:26:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74966,"name":"uint256","nodeType":"ElementaryTypeName","src":"5435:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5418:44:129"}},{"id":74972,"nodeType":"VariableDeclaration","src":"5837:36:129","nodes":[],"constant":true,"functionSelector":"0f529ba2","mutability":"constant","name":"D","nameLocation":"5861:1:129","scope":77611,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74970,"name":"uint256","nodeType":"ElementaryTypeName","src":"5837:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3130303030303030","id":74971,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5865:8:129","typeDescriptions":{"typeIdentifier":"t_rational_10000000_by_1","typeString":"int_const 10000000"},"value":"10000000"},"visibility":"public"},{"id":74975,"nodeType":"VariableDeclaration","src":"5887:70:129","nodes":[],"constant":true,"mutability":"constant","name":"TWO_128","nameLocation":"5912:7:129","scope":77611,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74973,"name":"uint256","nodeType":"ElementaryTypeName","src":"5887:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3078313030303030303030303030303030303030303030303030303030303030303030","id":74974,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5922:35:129","typeDescriptions":{"typeIdentifier":"t_rational_340282366920938463463374607431768211456_by_1","typeString":"int_const 3402...(31 digits omitted)...1456"},"value":"0x100000000000000000000000000000000"},"visibility":"private"},{"id":74978,"nodeType":"VariableDeclaration","src":"5973:69:129","nodes":[],"constant":true,"mutability":"constant","name":"TWO_127","nameLocation":"5998:7:129","scope":77611,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74976,"name":"uint256","nodeType":"ElementaryTypeName","src":"5973:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"30783830303030303030303030303030303030303030303030303030303030303030","id":74977,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6008:34:129","typeDescriptions":{"typeIdentifier":"t_rational_170141183460469231731687303715884105728_by_1","typeString":"int_const 1701...(31 digits omitted)...5728"},"value":"0x80000000000000000000000000000000"},"visibility":"private"},{"id":74981,"nodeType":"VariableDeclaration","src":"6058:53:129","nodes":[],"constant":true,"mutability":"constant","name":"TWO_64","nameLocation":"6083:6:129","scope":77611,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74979,"name":"uint256","nodeType":"ElementaryTypeName","src":"6058:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"30783130303030303030303030303030303030","id":74980,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6092:19:129","typeDescriptions":{"typeIdentifier":"t_rational_18446744073709551616_by_1","typeString":"int_const 18446744073709551616"},"value":"0x10000000000000000"},"visibility":"private"},{"id":74984,"nodeType":"VariableDeclaration","src":"6126:49:129","nodes":[],"constant":true,"functionSelector":"406244d8","mutability":"constant","name":"MAX_STAKED_PROPOSALS","nameLocation":"6150:20:129","scope":77611,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74982,"name":"uint256","nodeType":"ElementaryTypeName","src":"6126:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3130","id":74983,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6173:2:129","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"visibility":"public"},{"id":74986,"nodeType":"VariableDeclaration","src":"6303:20:129","nodes":[],"constant":false,"functionSelector":"54fac919","mutability":"mutable","name":"decay","nameLocation":"6318:5:129","scope":77611,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74985,"name":"uint256","nodeType":"ElementaryTypeName","src":"6303:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"id":74988,"nodeType":"VariableDeclaration","src":"6329:23:129","nodes":[],"constant":false,"functionSelector":"76365af7","mutability":"mutable","name":"maxRatio","nameLocation":"6344:8:129","scope":77611,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74987,"name":"uint256","nodeType":"ElementaryTypeName","src":"6329:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"id":74990,"nodeType":"VariableDeclaration","src":"6358:21:129","nodes":[],"constant":false,"functionSelector":"a1aab33f","mutability":"mutable","name":"weight","nameLocation":"6373:6:129","scope":77611,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74989,"name":"uint256","nodeType":"ElementaryTypeName","src":"6358:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"id":74993,"nodeType":"VariableDeclaration","src":"6385:34:129","nodes":[],"constant":false,"functionSelector":"0c0512e9","mutability":"mutable","name":"proposalCounter","nameLocation":"6400:15:129","scope":77611,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74991,"name":"uint256","nodeType":"ElementaryTypeName","src":"6385:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"30","id":74992,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6418:1:129","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"visibility":"public"},{"id":74995,"nodeType":"VariableDeclaration","src":"6425:26:129","nodes":[],"constant":false,"functionSelector":"817b1cd2","mutability":"mutable","name":"totalStaked","nameLocation":"6440:11:129","scope":77611,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74994,"name":"uint256","nodeType":"ElementaryTypeName","src":"6425:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"id":74997,"nodeType":"VariableDeclaration","src":"6457:35:129","nodes":[],"constant":false,"functionSelector":"aba9ffee","mutability":"mutable","name":"totalPointsActivated","nameLocation":"6472:20:129","scope":77611,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74996,"name":"uint256","nodeType":"ElementaryTypeName","src":"6457:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"id":75000,"nodeType":"VariableDeclaration","src":"6498:38:129","nodes":[],"constant":false,"functionSelector":"7c6570ba","mutability":"mutable","name":"_minThresholdPoints","nameLocation":"6513:19:129","scope":77611,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74998,"name":"uint256","nodeType":"ElementaryTypeName","src":"6498:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"30","id":74999,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6535:1:129","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"visibility":"public"},{"id":75002,"nodeType":"VariableDeclaration","src":"6577:47:129","nodes":[],"constant":false,"mutability":"mutable","name":"surpressStateMutabilityWarning","nameLocation":"6594:30:129","scope":77611,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75001,"name":"uint256","nodeType":"ElementaryTypeName","src":"6577:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"id":75005,"nodeType":"VariableDeclaration","src":"6709:47:129","nodes":[],"constant":false,"functionSelector":"351d9f96","mutability":"mutable","name":"proposalType","nameLocation":"6744:12:129","scope":77611,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$74726","typeString":"enum StrategyStruct.ProposalType"},"typeName":{"id":75004,"nodeType":"UserDefinedTypeName","pathNode":{"id":75003,"name":"StrategyStruct.ProposalType","nameLocations":["6709:14:129","6724:12:129"],"nodeType":"IdentifierPath","referencedDeclaration":74726,"src":"6709:27:129"},"referencedDeclaration":74726,"src":"6709:27:129","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$74726","typeString":"enum StrategyStruct.ProposalType"}},"visibility":"public"},{"id":75008,"nodeType":"VariableDeclaration","src":"6815:45:129","nodes":[],"constant":false,"functionSelector":"2dbd6fdd","mutability":"mutable","name":"pointSystem","nameLocation":"6849:11:129","scope":77611,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$74731","typeString":"enum StrategyStruct.PointSystem"},"typeName":{"id":75007,"nodeType":"UserDefinedTypeName","pathNode":{"id":75006,"name":"StrategyStruct.PointSystem","nameLocations":["6815:14:129","6830:11:129"],"nodeType":"IdentifierPath","referencedDeclaration":74731,"src":"6815:26:129"},"referencedDeclaration":74731,"src":"6815:26:129","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$74731","typeString":"enum StrategyStruct.PointSystem"}},"visibility":"public"},{"id":75011,"nodeType":"VariableDeclaration","src":"6866:51:129","nodes":[],"constant":false,"functionSelector":"a47ff7e5","mutability":"mutable","name":"pointConfig","nameLocation":"6906:11:129","scope":77611,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$74784_storage","typeString":"struct StrategyStruct.PointSystemConfig"},"typeName":{"id":75010,"nodeType":"UserDefinedTypeName","pathNode":{"id":75009,"name":"StrategyStruct.PointSystemConfig","nameLocations":["6866:14:129","6881:17:129"],"nodeType":"IdentifierPath","referencedDeclaration":74784,"src":"6866:32:129"},"referencedDeclaration":74784,"src":"6866:32:129","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$74784_storage_ptr","typeString":"struct StrategyStruct.PointSystemConfig"}},"visibility":"public"},{"id":75014,"nodeType":"VariableDeclaration","src":"6950:42:129","nodes":[],"constant":false,"functionSelector":"6003e414","mutability":"mutable","name":"registryCommunity","nameLocation":"6975:17:129","scope":77611,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunity_$83082","typeString":"contract RegistryCommunity"},"typeName":{"id":75013,"nodeType":"UserDefinedTypeName","pathNode":{"id":75012,"name":"RegistryCommunity","nameLocations":["6950:17:129"],"nodeType":"IdentifierPath","referencedDeclaration":83082,"src":"6950:17:129"},"referencedDeclaration":83082,"src":"6950:17:129","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunity_$83082","typeString":"contract RegistryCommunity"}},"visibility":"public"},{"id":75017,"nodeType":"VariableDeclaration","src":"6998:31:129","nodes":[],"constant":false,"functionSelector":"b6c61f31","mutability":"mutable","name":"sybilScorer","nameLocation":"7018:11:129","scope":77611,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$80667","typeString":"contract ISybilScorer"},"typeName":{"id":75016,"nodeType":"UserDefinedTypeName","pathNode":{"id":75015,"name":"ISybilScorer","nameLocations":["6998:12:129"],"nodeType":"IdentifierPath","referencedDeclaration":80667,"src":"6998:12:129"},"referencedDeclaration":80667,"src":"6998:12:129","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$80667","typeString":"contract ISybilScorer"}},"visibility":"public"},{"id":75022,"nodeType":"VariableDeclaration","src":"7096:60:129","nodes":[],"constant":false,"functionSelector":"013cf08b","mutability":"mutable","name":"proposals","nameLocation":"7147:9:129","scope":77611,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$74776_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal)"},"typeName":{"id":75021,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":75018,"name":"uint256","nodeType":"ElementaryTypeName","src":"7104:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"7096:43:129","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$74776_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":75020,"nodeType":"UserDefinedTypeName","pathNode":{"id":75019,"name":"StrategyStruct.Proposal","nameLocations":["7115:14:129","7130:8:129"],"nodeType":"IdentifierPath","referencedDeclaration":74776,"src":"7115:23:129"},"referencedDeclaration":74776,"src":"7115:23:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal"}}},"visibility":"public"},{"id":75026,"nodeType":"VariableDeclaration","src":"7212:53:129","nodes":[],"constant":false,"functionSelector":"5db64b99","mutability":"mutable","name":"totalVoterStakePct","nameLocation":"7247:18:129","scope":77611,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"typeName":{"id":75025,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":75023,"name":"address","nodeType":"ElementaryTypeName","src":"7220:7:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"7212:27:129","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":75024,"name":"uint256","nodeType":"ElementaryTypeName","src":"7231:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"public"},{"id":75031,"nodeType":"VariableDeclaration","src":"7303:57:129","nodes":[],"constant":false,"functionSelector":"868c57b8","mutability":"mutable","name":"voterStakedProposals","nameLocation":"7340:20:129","scope":77611,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$","typeString":"mapping(address => uint256[])"},"typeName":{"id":75030,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":75027,"name":"address","nodeType":"ElementaryTypeName","src":"7311:7:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"7303:29:129","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$","typeString":"mapping(address => uint256[])"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"baseType":{"id":75028,"name":"uint256","nodeType":"ElementaryTypeName","src":"7322:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":75029,"nodeType":"ArrayTypeName","src":"7322:9:129","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}}},"visibility":"public"},{"id":75050,"nodeType":"ModifierDefinition","src":"7399:184:129","nodes":[],"body":{"id":75049,"nodeType":"Block","src":"7426:157:129","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":75041,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":75033,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"7440:3:129","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":75034,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7444:6:129","memberName":"sender","nodeType":"MemberAccess","src":"7440:10:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":75037,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75014,"src":"7462:17:129","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunity_$83082","typeString":"contract RegistryCommunity"}},"id":75038,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7480:11:129","memberName":"councilSafe","nodeType":"MemberAccess","referencedDeclaration":81542,"src":"7462:29:129","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_contract$_ISafe_$85665_$","typeString":"function () view external returns (contract ISafe)"}},"id":75039,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7462:31:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ISafe_$85665","typeString":"contract ISafe"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ISafe_$85665","typeString":"contract ISafe"}],"id":75036,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7454:7:129","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":75035,"name":"address","nodeType":"ElementaryTypeName","src":"7454:7:129","typeDescriptions":{}}},"id":75040,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7454:40:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"7440:54:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":75047,"nodeType":"Block","src":"7528:49:129","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":75044,"name":"OnlyCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74888,"src":"7549:15:129","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":75045,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7549:17:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75046,"nodeType":"RevertStatement","src":"7542:24:129"}]},"id":75048,"nodeType":"IfStatement","src":"7436:141:129","trueBody":{"id":75043,"nodeType":"Block","src":"7496:26:129","statements":[{"id":75042,"nodeType":"PlaceholderStatement","src":"7510:1:129"}]}}]},"name":"onlyCouncilSafe","nameLocation":"7408:15:129","parameters":{"id":75032,"nodeType":"ParameterList","parameters":[],"src":"7423:2:129"},"virtual":false,"visibility":"internal"},{"id":75063,"nodeType":"FunctionDefinition","src":"7754:72:129","nodes":[],"body":{"id":75062,"nodeType":"Block","src":"7824:2:129","nodes":[],"statements":[]},"implemented":true,"kind":"constructor","modifiers":[{"arguments":[{"arguments":[{"id":75057,"name":"_allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75052,"src":"7802:5:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":75056,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7794:7:129","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":75055,"name":"address","nodeType":"ElementaryTypeName","src":"7794:7:129","typeDescriptions":{}}},"id":75058,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7794:14:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"43565374726174656779","id":75059,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7810:12:129","typeDescriptions":{"typeIdentifier":"t_stringliteral_5f43243e98d2b877d41079bf899c9372a6b91af5be3180830de9d43f93117b2e","typeString":"literal_string \"CVStrategy\""},"value":"CVStrategy"}],"id":75060,"kind":"baseConstructorSpecifier","modifierName":{"id":75054,"name":"BaseStrategy","nameLocations":["7781:12:129"],"nodeType":"IdentifierPath","referencedDeclaration":3923,"src":"7781:12:129"},"nodeType":"ModifierInvocation","src":"7781:42:129"}],"name":"","nameLocation":"-1:-1:-1","parameters":{"id":75053,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75052,"mutability":"mutable","name":"_allo","nameLocation":"7774:5:129","nodeType":"VariableDeclaration","scope":75063,"src":"7766:13:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":75051,"name":"address","nodeType":"ElementaryTypeName","src":"7766:7:129","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"7765:15:129"},"returnParameters":{"id":75061,"nodeType":"ParameterList","parameters":[],"src":"7824:0:129"},"scope":77611,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":75154,"nodeType":"FunctionDefinition","src":"7832:740:129","nodes":[],"body":{"id":75153,"nodeType":"Block","src":"7898:674:129","nodes":[],"statements":[{"expression":{"arguments":[{"id":75071,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75065,"src":"7928:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":75070,"name":"__BaseStrategy_init","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3503,"src":"7908:19:129","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":75072,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7908:28:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75073,"nodeType":"ExpressionStatement","src":"7908:28:129"},{"assignments":[75078],"declarations":[{"constant":false,"id":75078,"mutability":"mutable","name":"ip","nameLocation":"7985:2:129","nodeType":"VariableDeclaration","scope":75153,"src":"7946:41:129","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$74806_memory_ptr","typeString":"struct StrategyStruct.InitializeParams"},"typeName":{"id":75077,"nodeType":"UserDefinedTypeName","pathNode":{"id":75076,"name":"StrategyStruct.InitializeParams","nameLocations":["7946:14:129","7961:16:129"],"nodeType":"IdentifierPath","referencedDeclaration":74806,"src":"7946:31:129"},"referencedDeclaration":74806,"src":"7946:31:129","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$74806_storage_ptr","typeString":"struct StrategyStruct.InitializeParams"}},"visibility":"internal"}],"id":75086,"initialValue":{"arguments":[{"id":75081,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75067,"src":"8001:5:129","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"expression":{"id":75082,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74807,"src":"8009:14:129","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$74807_$","typeString":"type(library StrategyStruct)"}},"id":75083,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8024:16:129","memberName":"InitializeParams","nodeType":"MemberAccess","referencedDeclaration":74806,"src":"8009:31:129","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_InitializeParams_$74806_storage_ptr_$","typeString":"type(struct StrategyStruct.InitializeParams storage pointer)"}}],"id":75084,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"8008:33:129","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_InitializeParams_$74806_storage_ptr_$","typeString":"type(struct StrategyStruct.InitializeParams storage pointer)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_struct$_InitializeParams_$74806_storage_ptr_$","typeString":"type(struct StrategyStruct.InitializeParams storage pointer)"}],"expression":{"id":75079,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"7990:3:129","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":75080,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7994:6:129","memberName":"decode","nodeType":"MemberAccess","src":"7990:10:129","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":75085,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7990:52:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$74806_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"nodeType":"VariableDeclarationStatement","src":"7946:96:129"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":75093,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":75087,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75078,"src":"8057:2:129","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$74806_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":75088,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8060:17:129","memberName":"registryCommunity","nodeType":"MemberAccess","referencedDeclaration":74786,"src":"8057:20:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":75091,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8089:1:129","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":75090,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8081:7:129","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":75089,"name":"address","nodeType":"ElementaryTypeName","src":"8081:7:129","typeDescriptions":{}}},"id":75092,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8081:10:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"8057:34:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75098,"nodeType":"IfStatement","src":"8053:94:129","trueBody":{"id":75097,"nodeType":"Block","src":"8093:54:129","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":75094,"name":"RegistryCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74838,"src":"8114:20:129","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":75095,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8114:22:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75096,"nodeType":"RevertStatement","src":"8107:29:129"}]}},{"expression":{"id":75104,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":75099,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75014,"src":"8157:17:129","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunity_$83082","typeString":"contract RegistryCommunity"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":75101,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75078,"src":"8195:2:129","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$74806_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":75102,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8198:17:129","memberName":"registryCommunity","nodeType":"MemberAccess","referencedDeclaration":74786,"src":"8195:20:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":75100,"name":"RegistryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83082,"src":"8177:17:129","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_RegistryCommunity_$83082_$","typeString":"type(contract RegistryCommunity)"}},"id":75103,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8177:39:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunity_$83082","typeString":"contract RegistryCommunity"}},"src":"8157:59:129","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunity_$83082","typeString":"contract RegistryCommunity"}},"id":75105,"nodeType":"ExpressionStatement","src":"8157:59:129"},{"expression":{"id":75109,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":75106,"name":"decay","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74986,"src":"8226:5:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":75107,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75078,"src":"8234:2:129","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$74806_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":75108,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8237:5:129","memberName":"decay","nodeType":"MemberAccess","referencedDeclaration":74788,"src":"8234:8:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8226:16:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":75110,"nodeType":"ExpressionStatement","src":"8226:16:129"},{"expression":{"id":75114,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":75111,"name":"maxRatio","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74988,"src":"8252:8:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":75112,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75078,"src":"8263:2:129","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$74806_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":75113,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8266:8:129","memberName":"maxRatio","nodeType":"MemberAccess","referencedDeclaration":74790,"src":"8263:11:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8252:22:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":75115,"nodeType":"ExpressionStatement","src":"8252:22:129"},{"expression":{"id":75119,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":75116,"name":"weight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74990,"src":"8284:6:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":75117,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75078,"src":"8293:2:129","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$74806_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":75118,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8296:6:129","memberName":"weight","nodeType":"MemberAccess","referencedDeclaration":74792,"src":"8293:9:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8284:18:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":75120,"nodeType":"ExpressionStatement","src":"8284:18:129"},{"expression":{"id":75124,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":75121,"name":"proposalType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75005,"src":"8312:12:129","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$74726","typeString":"enum StrategyStruct.ProposalType"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":75122,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75078,"src":"8327:2:129","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$74806_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":75123,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8330:12:129","memberName":"proposalType","nodeType":"MemberAccess","referencedDeclaration":74797,"src":"8327:15:129","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$74726","typeString":"enum StrategyStruct.ProposalType"}},"src":"8312:30:129","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$74726","typeString":"enum StrategyStruct.ProposalType"}},"id":75125,"nodeType":"ExpressionStatement","src":"8312:30:129"},{"expression":{"id":75129,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":75126,"name":"pointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75008,"src":"8352:11:129","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$74731","typeString":"enum StrategyStruct.PointSystem"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":75127,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75078,"src":"8366:2:129","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$74806_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":75128,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8369:11:129","memberName":"pointSystem","nodeType":"MemberAccess","referencedDeclaration":74800,"src":"8366:14:129","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$74731","typeString":"enum StrategyStruct.PointSystem"}},"src":"8352:28:129","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$74731","typeString":"enum StrategyStruct.PointSystem"}},"id":75130,"nodeType":"ExpressionStatement","src":"8352:28:129"},{"expression":{"id":75134,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":75131,"name":"pointConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75011,"src":"8390:11:129","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$74784_storage","typeString":"struct StrategyStruct.PointSystemConfig storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":75132,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75078,"src":"8404:2:129","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$74806_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":75133,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8407:11:129","memberName":"pointConfig","nodeType":"MemberAccess","referencedDeclaration":74803,"src":"8404:14:129","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$74784_memory_ptr","typeString":"struct StrategyStruct.PointSystemConfig memory"}},"src":"8390:28:129","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$74784_storage","typeString":"struct StrategyStruct.PointSystemConfig storage ref"}},"id":75135,"nodeType":"ExpressionStatement","src":"8390:28:129"},{"expression":{"id":75139,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":75136,"name":"_minThresholdPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75000,"src":"8428:19:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":75137,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75078,"src":"8450:2:129","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$74806_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":75138,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8453:18:129","memberName":"minThresholdPoints","nodeType":"MemberAccess","referencedDeclaration":74794,"src":"8450:21:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8428:43:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":75140,"nodeType":"ExpressionStatement","src":"8428:43:129"},{"expression":{"id":75146,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":75141,"name":"sybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75017,"src":"8481:11:129","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$80667","typeString":"contract ISybilScorer"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":75143,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75078,"src":"8508:2:129","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$74806_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":75144,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8511:11:129","memberName":"sybilScorer","nodeType":"MemberAccess","referencedDeclaration":74805,"src":"8508:14:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":75142,"name":"ISybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80667,"src":"8495:12:129","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ISybilScorer_$80667_$","typeString":"type(contract ISybilScorer)"}},"id":75145,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8495:28:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$80667","typeString":"contract ISybilScorer"}},"src":"8481:42:129","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$80667","typeString":"contract ISybilScorer"}},"id":75147,"nodeType":"ExpressionStatement","src":"8481:42:129"},{"eventCall":{"arguments":[{"id":75149,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75065,"src":"8553:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":75150,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75078,"src":"8562:2:129","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$74806_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_struct$_InitializeParams_$74806_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}],"id":75148,"name":"InitializedCV","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74897,"src":"8539:13:129","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_struct$_InitializeParams_$74806_memory_ptr_$returns$__$","typeString":"function (uint256,struct StrategyStruct.InitializeParams memory)"}},"id":75151,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8539:26:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75152,"nodeType":"EmitStatement","src":"8534:31:129"}]},"baseFunctions":[2939],"functionSelector":"edd146cc","implemented":true,"kind":"function","modifiers":[],"name":"initialize","nameLocation":"7841:10:129","parameters":{"id":75068,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75065,"mutability":"mutable","name":"_poolId","nameLocation":"7860:7:129","nodeType":"VariableDeclaration","scope":75154,"src":"7852:15:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75064,"name":"uint256","nodeType":"ElementaryTypeName","src":"7852:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":75067,"mutability":"mutable","name":"_data","nameLocation":"7882:5:129","nodeType":"VariableDeclaration","scope":75154,"src":"7869:18:129","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":75066,"name":"bytes","nodeType":"ElementaryTypeName","src":"7869:5:129","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"7851:37:129"},"returnParameters":{"id":75069,"nodeType":"ParameterList","parameters":[],"src":"7898:0:129"},"scope":77611,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":75158,"nodeType":"FunctionDefinition","src":"8743:83:129","nodes":[],"body":{"id":75157,"nodeType":"Block","src":"8771:55:129","nodes":[],"statements":[]},"implemented":true,"kind":"fallback","modifiers":[],"name":"","nameLocation":"-1:-1:-1","parameters":{"id":75155,"nodeType":"ParameterList","parameters":[],"src":"8751:2:129"},"returnParameters":{"id":75156,"nodeType":"ParameterList","parameters":[],"src":"8771:0:129"},"scope":77611,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":75162,"nodeType":"FunctionDefinition","src":"8832:135:129","nodes":[],"body":{"id":75161,"nodeType":"Block","src":"8859:108:129","nodes":[],"statements":[]},"implemented":true,"kind":"receive","modifiers":[],"name":"","nameLocation":"-1:-1:-1","parameters":{"id":75159,"nodeType":"ParameterList","parameters":[],"src":"8839:2:129"},"returnParameters":{"id":75160,"nodeType":"ParameterList","parameters":[],"src":"8859:0:129"},"scope":77611,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":75183,"nodeType":"FunctionDefinition","src":"8973:202:129","nodes":[],"body":{"id":75182,"nodeType":"Block","src":"9064:111:129","nodes":[],"statements":[{"expression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":75180,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"id":75175,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":75170,"name":"interfaceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75164,"src":"9081:11:129","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"arguments":[{"id":75172,"name":"IPointStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74722,"src":"9101:14:129","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IPointStrategy_$74722_$","typeString":"type(contract IPointStrategy)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_contract$_IPointStrategy_$74722_$","typeString":"type(contract IPointStrategy)"}],"id":75171,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"9096:4:129","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":75173,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9096:20:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_contract$_IPointStrategy_$74722","typeString":"type(contract IPointStrategy)"}},"id":75174,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"9117:11:129","memberName":"interfaceId","nodeType":"MemberAccess","src":"9096:32:129","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"src":"9081:47:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"arguments":[{"id":75178,"name":"interfaceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75164,"src":"9156:11:129","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":75176,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"9132:5:129","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_CVStrategy_$77611_$","typeString":"type(contract super CVStrategy)"}},"id":75177,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9138:17:129","memberName":"supportsInterface","nodeType":"MemberAccess","referencedDeclaration":58265,"src":"9132:23:129","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes4_$returns$_t_bool_$","typeString":"function (bytes4) view returns (bool)"}},"id":75179,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9132:36:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"9081:87:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":75169,"id":75181,"nodeType":"Return","src":"9074:94:129"}]},"baseFunctions":[58265],"functionSelector":"01ffc9a7","implemented":true,"kind":"function","modifiers":[],"name":"supportsInterface","nameLocation":"8982:17:129","overrides":{"id":75166,"nodeType":"OverrideSpecifier","overrides":[],"src":"9040:8:129"},"parameters":{"id":75165,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75164,"mutability":"mutable","name":"interfaceId","nameLocation":"9007:11:129","nodeType":"VariableDeclaration","scope":75183,"src":"9000:18:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":75163,"name":"bytes4","nodeType":"ElementaryTypeName","src":"9000:6:129","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"8999:20:129"},"returnParameters":{"id":75169,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75168,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":75183,"src":"9058:4:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":75167,"name":"bool","nodeType":"ElementaryTypeName","src":"9058:4:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"9057:6:129"},"scope":77611,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":75224,"nodeType":"FunctionDefinition","src":"9346:377:129","nodes":[],"body":{"id":75223,"nodeType":"Block","src":"9405:318:129","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":75193,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":75188,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75185,"src":"9419:7:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":75191,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9438:1:129","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":75190,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9430:7:129","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":75189,"name":"address","nodeType":"ElementaryTypeName","src":"9430:7:129","typeDescriptions":{}}},"id":75192,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9430:10:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"9419:21:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75198,"nodeType":"IfStatement","src":"9415:77:129","trueBody":{"id":75197,"nodeType":"Block","src":"9442:50:129","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":75194,"name":"UserCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74818,"src":"9463:16:129","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":75195,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9463:18:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75196,"nodeType":"RevertStatement","src":"9456:25:129"}]}},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":75207,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":75201,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75014,"src":"9513:17:129","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunity_$83082","typeString":"contract RegistryCommunity"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryCommunity_$83082","typeString":"contract RegistryCommunity"}],"id":75200,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9505:7:129","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":75199,"name":"address","nodeType":"ElementaryTypeName","src":"9505:7:129","typeDescriptions":{}}},"id":75202,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9505:26:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":75205,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9543:1:129","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":75204,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9535:7:129","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":75203,"name":"address","nodeType":"ElementaryTypeName","src":"9535:7:129","typeDescriptions":{}}},"id":75206,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9535:10:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"9505:40:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75212,"nodeType":"IfStatement","src":"9501:100:129","trueBody":{"id":75211,"nodeType":"Block","src":"9547:54:129","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":75208,"name":"RegistryCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74838,"src":"9568:20:129","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":75209,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9568:22:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75210,"nodeType":"RevertStatement","src":"9561:29:129"}]}},{"condition":{"id":75217,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"9614:36:129","subExpression":{"arguments":[{"id":75215,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75185,"src":"9642:7:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":75213,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75014,"src":"9615:17:129","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunity_$83082","typeString":"contract RegistryCommunity"}},"id":75214,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9633:8:129","memberName":"isMember","nodeType":"MemberAccess","referencedDeclaration":82663,"src":"9615:26:129","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view external returns (bool)"}},"id":75216,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9615:35:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75222,"nodeType":"IfStatement","src":"9610:93:129","trueBody":{"id":75221,"nodeType":"Block","src":"9652:51:129","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":75218,"name":"UserNotInRegistry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74820,"src":"9673:17:129","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":75219,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9673:19:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75220,"nodeType":"RevertStatement","src":"9666:26:129"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"checkSenderIsMember","nameLocation":"9355:19:129","parameters":{"id":75186,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75185,"mutability":"mutable","name":"_sender","nameLocation":"9383:7:129","nodeType":"VariableDeclaration","scope":75224,"src":"9375:15:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":75184,"name":"address","nodeType":"ElementaryTypeName","src":"9375:7:129","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"9374:17:129"},"returnParameters":{"id":75187,"nodeType":"ParameterList","parameters":[],"src":"9405:0:129"},"scope":77611,"stateMutability":"view","virtual":false,"visibility":"private"},{"id":75240,"nodeType":"FunctionDefinition","src":"9729:162:129","nodes":[],"body":{"id":75239,"nodeType":"Block","src":"9775:116:129","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":75233,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":75227,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"9789:3:129","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":75228,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9793:6:129","memberName":"sender","nodeType":"MemberAccess","src":"9789:10:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"id":75231,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75014,"src":"9811:17:129","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunity_$83082","typeString":"contract RegistryCommunity"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryCommunity_$83082","typeString":"contract RegistryCommunity"}],"id":75230,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9803:7:129","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":75229,"name":"address","nodeType":"ElementaryTypeName","src":"9803:7:129","typeDescriptions":{}}},"id":75232,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9803:26:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"9789:40:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75238,"nodeType":"IfStatement","src":"9785:100:129","trueBody":{"id":75237,"nodeType":"Block","src":"9831:54:129","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":75234,"name":"OnlyCommunityAllowed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74878,"src":"9852:20:129","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":75235,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9852:22:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75236,"nodeType":"RevertStatement","src":"9845:29:129"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"onlyRegistryCommunity","nameLocation":"9738:21:129","parameters":{"id":75225,"nodeType":"ParameterList","parameters":[],"src":"9759:2:129"},"returnParameters":{"id":75226,"nodeType":"ParameterList","parameters":[],"src":"9775:0:129"},"scope":77611,"stateMutability":"view","virtual":false,"visibility":"private"},{"id":75256,"nodeType":"FunctionDefinition","src":"9897:133:129","nodes":[],"body":{"id":75255,"nodeType":"Block","src":"9957:73:129","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":75250,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":75245,"name":"_address","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75242,"src":"9971:8:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":75248,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9991:1:129","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":75247,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9983:7:129","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":75246,"name":"address","nodeType":"ElementaryTypeName","src":"9983:7:129","typeDescriptions":{}}},"id":75249,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9983:10:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"9971:22:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75254,"nodeType":"IfStatement","src":"9967:56:129","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":75251,"name":"AddressCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74836,"src":"10002:19:129","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":75252,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10002:21:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75253,"nodeType":"RevertStatement","src":"9995:28:129"}}]},"implemented":true,"kind":"function","modifiers":[],"name":"_revertZeroAddress","nameLocation":"9906:18:129","parameters":{"id":75243,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75242,"mutability":"mutable","name":"_address","nameLocation":"9933:8:129","nodeType":"VariableDeclaration","scope":75256,"src":"9925:16:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":75241,"name":"address","nodeType":"ElementaryTypeName","src":"9925:7:129","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"9924:18:129"},"returnParameters":{"id":75244,"nodeType":"ParameterList","parameters":[],"src":"9957:0:129"},"scope":77611,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":75286,"nodeType":"FunctionDefinition","src":"10036:230:129","nodes":[],"body":{"id":75285,"nodeType":"Block","src":"10107:159:129","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":75271,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":75265,"name":"sybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75017,"src":"10129:11:129","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$80667","typeString":"contract ISybilScorer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ISybilScorer_$80667","typeString":"contract ISybilScorer"}],"id":75264,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10121:7:129","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":75263,"name":"address","nodeType":"ElementaryTypeName","src":"10121:7:129","typeDescriptions":{}}},"id":75266,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10121:20:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":75269,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10153:1:129","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":75268,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10145:7:129","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":75267,"name":"address","nodeType":"ElementaryTypeName","src":"10145:7:129","typeDescriptions":{}}},"id":75270,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10145:10:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"10121:34:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75275,"nodeType":"IfStatement","src":"10117:76:129","trueBody":{"id":75274,"nodeType":"Block","src":"10157:36:129","statements":[{"expression":{"hexValue":"74727565","id":75272,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"10178:4:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":75262,"id":75273,"nodeType":"Return","src":"10171:11:129"}]}},{"expression":{"arguments":[{"id":75278,"name":"_user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75258,"src":"10238:5:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":75281,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"10253:4:129","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$77611","typeString":"contract CVStrategy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategy_$77611","typeString":"contract CVStrategy"}],"id":75280,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10245:7:129","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":75279,"name":"address","nodeType":"ElementaryTypeName","src":"10245:7:129","typeDescriptions":{}}},"id":75282,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10245:13:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":75276,"name":"sybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75017,"src":"10209:11:129","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$80667","typeString":"contract ISybilScorer"}},"id":75277,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10221:16:129","memberName":"canExecuteAction","nodeType":"MemberAccess","referencedDeclaration":80624,"src":"10209:28:129","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_bool_$","typeString":"function (address,address) view external returns (bool)"}},"id":75283,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10209:50:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":75262,"id":75284,"nodeType":"Return","src":"10202:57:129"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_canExecuteAction","nameLocation":"10045:17:129","parameters":{"id":75259,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75258,"mutability":"mutable","name":"_user","nameLocation":"10071:5:129","nodeType":"VariableDeclaration","scope":75286,"src":"10063:13:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":75257,"name":"address","nodeType":"ElementaryTypeName","src":"10063:7:129","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"10062:15:129"},"returnParameters":{"id":75262,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75261,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":75286,"src":"10101:4:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":75260,"name":"bool","nodeType":"ElementaryTypeName","src":"10101:4:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"10100:6:129"},"scope":77611,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":75470,"nodeType":"FunctionDefinition","src":"10592:2045:129","nodes":[],"body":{"id":75469,"nodeType":"Block","src":"10693:1944:129","nodes":[],"statements":[{"condition":{"id":75299,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"10707:27:129","subExpression":{"arguments":[{"id":75297,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75290,"src":"10726:7:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":75296,"name":"_canExecuteAction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75286,"src":"10708:17:129","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":75298,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10708:26:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75304,"nodeType":"IfStatement","src":"10703:90:129","trueBody":{"id":75303,"nodeType":"Block","src":"10736:57:129","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":75300,"name":"UserCannotExecuteAction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74890,"src":"10757:23:129","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":75301,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10757:25:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75302,"nodeType":"RevertStatement","src":"10750:32:129"}]}},{"expression":{"id":75305,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75288,"src":"10847:5:129","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":75306,"nodeType":"ExpressionStatement","src":"10847:5:129"},{"assignments":[75311],"declarations":[{"constant":false,"id":75311,"mutability":"mutable","name":"proposal","nameLocation":"10899:8:129","nodeType":"VariableDeclaration","scope":75469,"src":"10862:45:129","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$74743_memory_ptr","typeString":"struct StrategyStruct.CreateProposal"},"typeName":{"id":75310,"nodeType":"UserDefinedTypeName","pathNode":{"id":75309,"name":"StrategyStruct.CreateProposal","nameLocations":["10862:14:129","10877:14:129"],"nodeType":"IdentifierPath","referencedDeclaration":74743,"src":"10862:29:129"},"referencedDeclaration":74743,"src":"10862:29:129","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$74743_storage_ptr","typeString":"struct StrategyStruct.CreateProposal"}},"visibility":"internal"}],"id":75319,"initialValue":{"arguments":[{"id":75314,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75288,"src":"10921:5:129","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"expression":{"id":75315,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74807,"src":"10929:14:129","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$74807_$","typeString":"type(library StrategyStruct)"}},"id":75316,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10944:14:129","memberName":"CreateProposal","nodeType":"MemberAccess","referencedDeclaration":74743,"src":"10929:29:129","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_CreateProposal_$74743_storage_ptr_$","typeString":"type(struct StrategyStruct.CreateProposal storage pointer)"}}],"id":75317,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"10928:31:129","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_CreateProposal_$74743_storage_ptr_$","typeString":"type(struct StrategyStruct.CreateProposal storage pointer)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_struct$_CreateProposal_$74743_storage_ptr_$","typeString":"type(struct StrategyStruct.CreateProposal storage pointer)"}],"expression":{"id":75312,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"10910:3:129","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":75313,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"10914:6:129","memberName":"decode","nodeType":"MemberAccess","src":"10910:10:129","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":75318,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10910:50:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$74743_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"nodeType":"VariableDeclarationStatement","src":"10862:98:129"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75323,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":75320,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75311,"src":"11075:8:129","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$74743_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":75321,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11084:6:129","memberName":"poolId","nodeType":"MemberAccess","referencedDeclaration":74733,"src":"11075:15:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":75322,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11094:1:129","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"11075:20:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75328,"nodeType":"IfStatement","src":"11071:78:129","trueBody":{"id":75327,"nodeType":"Block","src":"11097:52:129","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":75324,"name":"PoolIdCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74834,"src":"11118:18:129","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":75325,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11118:20:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75326,"nodeType":"RevertStatement","src":"11111:27:129"}]}},{"condition":{"commonType":{"typeIdentifier":"t_enum$_ProposalType_$74726","typeString":"enum StrategyStruct.ProposalType"},"id":75333,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":75329,"name":"proposalType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75005,"src":"11225:12:129","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$74726","typeString":"enum StrategyStruct.ProposalType"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":75330,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74807,"src":"11241:14:129","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$74807_$","typeString":"type(library StrategyStruct)"}},"id":75331,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11256:12:129","memberName":"ProposalType","nodeType":"MemberAccess","referencedDeclaration":74726,"src":"11241:27:129","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalType_$74726_$","typeString":"type(enum StrategyStruct.ProposalType)"}},"id":75332,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"11269:7:129","memberName":"Funding","nodeType":"MemberAccess","referencedDeclaration":74724,"src":"11241:35:129","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$74726","typeString":"enum StrategyStruct.ProposalType"}},"src":"11225:51:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75380,"nodeType":"IfStatement","src":"11221:722:129","trueBody":{"id":75379,"nodeType":"Block","src":"11278:665:129","statements":[{"expression":{"arguments":[{"expression":{"id":75335,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75311,"src":"11311:8:129","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$74743_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":75336,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11320:11:129","memberName":"beneficiary","nodeType":"MemberAccess","referencedDeclaration":74735,"src":"11311:20:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":75334,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75256,"src":"11292:18:129","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":75337,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11292:40:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75338,"nodeType":"ExpressionStatement","src":"11292:40:129"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":75345,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":75339,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75311,"src":"11398:8:129","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$74743_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":75340,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11407:14:129","memberName":"requestedToken","nodeType":"MemberAccess","referencedDeclaration":74739,"src":"11398:23:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":75343,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11433:1:129","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":75342,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11425:7:129","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":75341,"name":"address","nodeType":"ElementaryTypeName","src":"11425:7:129","typeDescriptions":{}}},"id":75344,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11425:10:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"11398:37:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75350,"nodeType":"IfStatement","src":"11394:102:129","trueBody":{"id":75349,"nodeType":"Block","src":"11437:59:129","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":75346,"name":"TokenCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74828,"src":"11462:17:129","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":75347,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11462:19:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75348,"nodeType":"RevertStatement","src":"11455:26:129"}]}},{"assignments":[75352],"declarations":[{"constant":false,"id":75352,"mutability":"mutable","name":"poolToken","nameLocation":"11517:9:129","nodeType":"VariableDeclaration","scope":75379,"src":"11509:17:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":75351,"name":"address","nodeType":"ElementaryTypeName","src":"11509:7:129","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":75360,"initialValue":{"expression":{"arguments":[{"id":75357,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3341,"src":"11552:6:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":75353,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"11529:4:129","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$77611","typeString":"contract CVStrategy"}},"id":75354,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11534:7:129","memberName":"getAllo","nodeType":"MemberAccess","referencedDeclaration":3421,"src":"11529:12:129","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_contract$_IAllo_$2610_$","typeString":"function () view external returns (contract IAllo)"}},"id":75355,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11529:14:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IAllo_$2610","typeString":"contract IAllo"}},"id":75356,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11544:7:129","memberName":"getPool","nodeType":"MemberAccess","referencedDeclaration":2603,"src":"11529:22:129","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_struct$_Pool_$2319_memory_ptr_$","typeString":"function (uint256) view external returns (struct IAllo.Pool memory)"}},"id":75358,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11529:30:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"id":75359,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11560:5:129","memberName":"token","nodeType":"MemberAccess","referencedDeclaration":2311,"src":"11529:36:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"11509:56:129"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":75364,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":75361,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75311,"src":"11583:8:129","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$74743_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":75362,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11592:14:129","memberName":"requestedToken","nodeType":"MemberAccess","referencedDeclaration":74739,"src":"11583:23:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":75363,"name":"poolToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75352,"src":"11610:9:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"11583:36:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75369,"nodeType":"IfStatement","src":"11579:234:129","trueBody":{"id":75368,"nodeType":"Block","src":"11621:192:129","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":75365,"name":"TokenNotAllowed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74830,"src":"11781:15:129","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":75366,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11781:17:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75367,"nodeType":"RevertStatement","src":"11774:24:129"}]}},{"condition":{"arguments":[{"expression":{"id":75371,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75311,"src":"11846:8:129","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$74743_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":75372,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11855:15:129","memberName":"amountRequested","nodeType":"MemberAccess","referencedDeclaration":74737,"src":"11846:24:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":75370,"name":"_isOverMaxRatio","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76674,"src":"11830:15:129","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view returns (bool)"}},"id":75373,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11830:41:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75378,"nodeType":"IfStatement","src":"11826:107:129","trueBody":{"id":75377,"nodeType":"Block","src":"11873:60:129","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":75374,"name":"AmountOverMaxRatio","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74832,"src":"11898:18:129","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":75375,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11898:20:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75376,"nodeType":"RevertStatement","src":"11891:27:129"}]}}]}},{"assignments":[75382],"declarations":[{"constant":false,"id":75382,"mutability":"mutable","name":"proposalId","nameLocation":"11960:10:129","nodeType":"VariableDeclaration","scope":75469,"src":"11952:18:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75381,"name":"uint256","nodeType":"ElementaryTypeName","src":"11952:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":75385,"initialValue":{"id":75384,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":true,"src":"11973:17:129","subExpression":{"id":75383,"name":"proposalCounter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74993,"src":"11975:15:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"11952:38:129"},{"assignments":[75390],"declarations":[{"constant":false,"id":75390,"mutability":"mutable","name":"p","nameLocation":"12032:1:129","nodeType":"VariableDeclaration","scope":75469,"src":"12000:33:129","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":75389,"nodeType":"UserDefinedTypeName","pathNode":{"id":75388,"name":"StrategyStruct.Proposal","nameLocations":["12000:14:129","12015:8:129"],"nodeType":"IdentifierPath","referencedDeclaration":74776,"src":"12000:23:129"},"referencedDeclaration":74776,"src":"12000:23:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":75394,"initialValue":{"baseExpression":{"id":75391,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75022,"src":"12036:9:129","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$74776_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":75393,"indexExpression":{"id":75392,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75382,"src":"12046:10:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"12036:21:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"12000:57:129"},{"expression":{"id":75399,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":75395,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75390,"src":"12068:1:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75397,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"12070:10:129","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":74751,"src":"12068:12:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":75398,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75382,"src":"12083:10:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"12068:25:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":75400,"nodeType":"ExpressionStatement","src":"12068:25:129"},{"expression":{"id":75405,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":75401,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75390,"src":"12103:1:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75403,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"12105:9:129","memberName":"submitter","nodeType":"MemberAccess","referencedDeclaration":74761,"src":"12103:11:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":75404,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75290,"src":"12117:7:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"12103:21:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":75406,"nodeType":"ExpressionStatement","src":"12103:21:129"},{"expression":{"id":75412,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":75407,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75390,"src":"12134:1:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75409,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"12136:11:129","memberName":"beneficiary","nodeType":"MemberAccess","referencedDeclaration":74759,"src":"12134:13:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":75410,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75311,"src":"12150:8:129","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$74743_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":75411,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12159:11:129","memberName":"beneficiary","nodeType":"MemberAccess","referencedDeclaration":74735,"src":"12150:20:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"12134:36:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":75413,"nodeType":"ExpressionStatement","src":"12134:36:129"},{"expression":{"id":75419,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":75414,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75390,"src":"12180:1:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75416,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"12182:14:129","memberName":"requestedToken","nodeType":"MemberAccess","referencedDeclaration":74763,"src":"12180:16:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":75417,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75311,"src":"12199:8:129","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$74743_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":75418,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12208:14:129","memberName":"requestedToken","nodeType":"MemberAccess","referencedDeclaration":74739,"src":"12199:23:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"12180:42:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":75420,"nodeType":"ExpressionStatement","src":"12180:42:129"},{"expression":{"id":75426,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":75421,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75390,"src":"12232:1:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75423,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"12234:15:129","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":74753,"src":"12232:17:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":75424,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75311,"src":"12252:8:129","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$74743_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":75425,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12261:15:129","memberName":"amountRequested","nodeType":"MemberAccess","referencedDeclaration":74737,"src":"12252:24:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"12232:44:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":75427,"nodeType":"ExpressionStatement","src":"12232:44:129"},{"expression":{"id":75434,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":75428,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75390,"src":"12337:1:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75430,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"12339:14:129","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":74768,"src":"12337:16:129","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$74749","typeString":"enum StrategyStruct.ProposalStatus"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"expression":{"id":75431,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74807,"src":"12356:14:129","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$74807_$","typeString":"type(library StrategyStruct)"}},"id":75432,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12371:14:129","memberName":"ProposalStatus","nodeType":"MemberAccess","referencedDeclaration":74749,"src":"12356:29:129","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$74749_$","typeString":"type(enum StrategyStruct.ProposalStatus)"}},"id":75433,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"12386:6:129","memberName":"Active","nodeType":"MemberAccess","referencedDeclaration":74745,"src":"12356:36:129","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$74749","typeString":"enum StrategyStruct.ProposalStatus"}},"src":"12337:55:129","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$74749","typeString":"enum StrategyStruct.ProposalStatus"}},"id":75435,"nodeType":"ExpressionStatement","src":"12337:55:129"},{"expression":{"id":75441,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":75436,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75390,"src":"12402:1:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75438,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"12404:9:129","memberName":"blockLast","nodeType":"MemberAccess","referencedDeclaration":74765,"src":"12402:11:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":75439,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"12416:5:129","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":75440,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12422:6:129","memberName":"number","nodeType":"MemberAccess","src":"12416:12:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"12402:26:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":75442,"nodeType":"ExpressionStatement","src":"12402:26:129"},{"expression":{"id":75447,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":75443,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75390,"src":"12438:1:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75445,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"12440:14:129","memberName":"convictionLast","nodeType":"MemberAccess","referencedDeclaration":74757,"src":"12438:16:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"30","id":75446,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12457:1:129","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"12438:20:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":75448,"nodeType":"ExpressionStatement","src":"12438:20:129"},{"expression":{"id":75454,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":75449,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75390,"src":"12504:1:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":75451,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"12506:8:129","memberName":"metadata","nodeType":"MemberAccess","referencedDeclaration":74775,"src":"12504:10:129","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage","typeString":"struct Metadata storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":75452,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75311,"src":"12517:8:129","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$74743_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":75453,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12526:8:129","memberName":"metadata","nodeType":"MemberAccess","referencedDeclaration":74742,"src":"12517:17:129","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}},"src":"12504:30:129","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage","typeString":"struct Metadata storage ref"}},"id":75455,"nodeType":"ExpressionStatement","src":"12504:30:129"},{"eventCall":{"arguments":[{"id":75457,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3341,"src":"12566:6:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":75458,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75382,"src":"12574:10:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":75456,"name":"ProposalCreated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74911,"src":"12550:15:129","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":75459,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12550:35:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75460,"nodeType":"EmitStatement","src":"12545:40:129"},{"expression":{"arguments":[{"arguments":[{"id":75465,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75382,"src":"12618:10:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":75464,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12610:7:129","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":75463,"name":"uint160","nodeType":"ElementaryTypeName","src":"12610:7:129","typeDescriptions":{}}},"id":75466,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12610:19:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":75462,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12602:7:129","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":75461,"name":"address","nodeType":"ElementaryTypeName","src":"12602:7:129","typeDescriptions":{}}},"id":75467,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12602:28:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":75295,"id":75468,"nodeType":"Return","src":"12595:35:129"}]},"baseFunctions":[3809],"implemented":true,"kind":"function","modifiers":[],"name":"_registerRecipient","nameLocation":"10601:18:129","overrides":{"id":75292,"nodeType":"OverrideSpecifier","overrides":[],"src":"10666:8:129"},"parameters":{"id":75291,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75288,"mutability":"mutable","name":"_data","nameLocation":"10633:5:129","nodeType":"VariableDeclaration","scope":75470,"src":"10620:18:129","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":75287,"name":"bytes","nodeType":"ElementaryTypeName","src":"10620:5:129","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":75290,"mutability":"mutable","name":"_sender","nameLocation":"10648:7:129","nodeType":"VariableDeclaration","scope":75470,"src":"10640:15:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":75289,"name":"address","nodeType":"ElementaryTypeName","src":"10640:7:129","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"10619:37:129"},"returnParameters":{"id":75295,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75294,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":75470,"src":"10684:7:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":75293,"name":"address","nodeType":"ElementaryTypeName","src":"10684:7:129","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"10683:9:129"},"scope":77611,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":75509,"nodeType":"FunctionDefinition","src":"12643:351:129","nodes":[],"body":{"id":75508,"nodeType":"Block","src":"12678:316:129","nodes":[],"statements":[{"assignments":[75474],"declarations":[{"constant":false,"id":75474,"mutability":"mutable","name":"member","nameLocation":"12696:6:129","nodeType":"VariableDeclaration","scope":75508,"src":"12688:14:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":75473,"name":"address","nodeType":"ElementaryTypeName","src":"12688:7:129","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":75477,"initialValue":{"expression":{"id":75475,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"12705:3:129","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":75476,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12709:6:129","memberName":"sender","nodeType":"MemberAccess","src":"12705:10:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"12688:27:129"},{"condition":{"id":75481,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"12729:26:129","subExpression":{"arguments":[{"id":75479,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75474,"src":"12748:6:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":75478,"name":"_canExecuteAction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75286,"src":"12730:17:129","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":75480,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12730:25:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75486,"nodeType":"IfStatement","src":"12725:89:129","trueBody":{"id":75485,"nodeType":"Block","src":"12757:57:129","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":75482,"name":"UserCannotExecuteAction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74890,"src":"12778:23:129","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":75483,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12778:25:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75484,"nodeType":"RevertStatement","src":"12771:32:129"}]}},{"expression":{"arguments":[{"id":75490,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75474,"src":"12866:6:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":75493,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"12882:4:129","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$77611","typeString":"contract CVStrategy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategy_$77611","typeString":"contract CVStrategy"}],"id":75492,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12874:7:129","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":75491,"name":"address","nodeType":"ElementaryTypeName","src":"12874:7:129","typeDescriptions":{}}},"id":75494,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12874:13:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":75487,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75014,"src":"12823:17:129","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunity_$83082","typeString":"contract RegistryCommunity"}},"id":75489,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12841:24:129","memberName":"activateMemberInStrategy","nodeType":"MemberAccess","referencedDeclaration":82041,"src":"12823:42:129","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address) external"}},"id":75495,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12823:65:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75496,"nodeType":"ExpressionStatement","src":"12823:65:129"},{"expression":{"id":75506,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":75497,"name":"totalPointsActivated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74997,"src":"12898:20:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"arguments":[{"id":75500,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75474,"src":"12965:6:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":75503,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"12981:4:129","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$77611","typeString":"contract CVStrategy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategy_$77611","typeString":"contract CVStrategy"}],"id":75502,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12973:7:129","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":75501,"name":"address","nodeType":"ElementaryTypeName","src":"12973:7:129","typeDescriptions":{}}},"id":75504,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12973:13:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":75498,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75014,"src":"12922:17:129","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunity_$83082","typeString":"contract RegistryCommunity"}},"id":75499,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12940:24:129","memberName":"getMemberPowerInStrategy","nodeType":"MemberAccess","referencedDeclaration":82423,"src":"12922:42:129","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view external returns (uint256)"}},"id":75505,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12922:65:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"12898:89:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":75507,"nodeType":"ExpressionStatement","src":"12898:89:129"}]},"functionSelector":"814516ad","implemented":true,"kind":"function","modifiers":[],"name":"activatePoints","nameLocation":"12652:14:129","parameters":{"id":75471,"nodeType":"ParameterList","parameters":[],"src":"12666:2:129"},"returnParameters":{"id":75472,"nodeType":"ParameterList","parameters":[],"src":"12678:0:129"},"scope":77611,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":75518,"nodeType":"FunctionDefinition","src":"13000:81:129","nodes":[],"body":{"id":75517,"nodeType":"Block","src":"13035:46:129","nodes":[],"statements":[{"expression":{"arguments":[{"expression":{"id":75513,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"13063:3:129","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":75514,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13067:6:129","memberName":"sender","nodeType":"MemberAccess","src":"13063:10:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":75512,"name":"_deactivatePoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75566,"src":"13045:17:129","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":75515,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13045:29:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75516,"nodeType":"ExpressionStatement","src":"13045:29:129"}]},"functionSelector":"1ddf1e23","implemented":true,"kind":"function","modifiers":[],"name":"deactivatePoints","nameLocation":"13009:16:129","parameters":{"id":75510,"nodeType":"ParameterList","parameters":[],"src":"13025:2:129"},"returnParameters":{"id":75511,"nodeType":"ParameterList","parameters":[],"src":"13035:0:129"},"scope":77611,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":75531,"nodeType":"FunctionDefinition","src":"13087:128:129","nodes":[],"body":{"id":75530,"nodeType":"Block","src":"13139:76:129","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":75523,"name":"onlyRegistryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75240,"src":"13149:21:129","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":75524,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13149:23:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75525,"nodeType":"ExpressionStatement","src":"13149:23:129"},{"expression":{"arguments":[{"id":75527,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75520,"src":"13200:7:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":75526,"name":"_deactivatePoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75566,"src":"13182:17:129","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":75528,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13182:26:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75529,"nodeType":"ExpressionStatement","src":"13182:26:129"}]},"baseFunctions":[74697],"functionSelector":"6453d9c4","implemented":true,"kind":"function","modifiers":[],"name":"deactivatePoints","nameLocation":"13096:16:129","parameters":{"id":75521,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75520,"mutability":"mutable","name":"_member","nameLocation":"13121:7:129","nodeType":"VariableDeclaration","scope":75531,"src":"13113:15:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":75519,"name":"address","nodeType":"ElementaryTypeName","src":"13113:7:129","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"13112:17:129"},"returnParameters":{"id":75522,"nodeType":"ParameterList","parameters":[],"src":"13139:0:129"},"scope":77611,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":75566,"nodeType":"FunctionDefinition","src":"13221:351:129","nodes":[],"body":{"id":75565,"nodeType":"Block","src":"13274:298:129","nodes":[],"statements":[{"expression":{"id":75545,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":75536,"name":"totalPointsActivated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74997,"src":"13284:20:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"arguments":[{"id":75539,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75533,"src":"13351:7:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":75542,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"13368:4:129","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$77611","typeString":"contract CVStrategy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategy_$77611","typeString":"contract CVStrategy"}],"id":75541,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13360:7:129","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":75540,"name":"address","nodeType":"ElementaryTypeName","src":"13360:7:129","typeDescriptions":{}}},"id":75543,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13360:13:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":75537,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75014,"src":"13308:17:129","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunity_$83082","typeString":"contract RegistryCommunity"}},"id":75538,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13326:24:129","memberName":"getMemberPowerInStrategy","nodeType":"MemberAccess","referencedDeclaration":82423,"src":"13308:42:129","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view external returns (uint256)"}},"id":75544,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13308:66:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"13284:90:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":75546,"nodeType":"ExpressionStatement","src":"13284:90:129"},{"expression":{"arguments":[{"id":75550,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75533,"src":"13429:7:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":75553,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"13446:4:129","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$77611","typeString":"contract CVStrategy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategy_$77611","typeString":"contract CVStrategy"}],"id":75552,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13438:7:129","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":75551,"name":"address","nodeType":"ElementaryTypeName","src":"13438:7:129","typeDescriptions":{}}},"id":75554,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13438:13:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":75547,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75014,"src":"13384:17:129","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunity_$83082","typeString":"contract RegistryCommunity"}},"id":75549,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13402:26:129","memberName":"deactivateMemberInStrategy","nodeType":"MemberAccess","referencedDeclaration":82100,"src":"13384:44:129","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address) external"}},"id":75555,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13384:68:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75556,"nodeType":"ExpressionStatement","src":"13384:68:129"},{"expression":{"arguments":[{"id":75558,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75533,"src":"13516:7:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":75557,"name":"withdraw","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76468,"src":"13507:8:129","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":75559,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13507:17:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75560,"nodeType":"ExpressionStatement","src":"13507:17:129"},{"eventCall":{"arguments":[{"id":75562,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75533,"src":"13557:7:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":75561,"name":"PointsDeactivated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74947,"src":"13539:17:129","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":75563,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13539:26:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75564,"nodeType":"EmitStatement","src":"13534:31:129"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_deactivatePoints","nameLocation":"13230:17:129","parameters":{"id":75534,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75533,"mutability":"mutable","name":"_member","nameLocation":"13256:7:129","nodeType":"VariableDeclaration","scope":75566,"src":"13248:15:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":75532,"name":"address","nodeType":"ElementaryTypeName","src":"13248:7:129","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"13247:17:129"},"returnParameters":{"id":75535,"nodeType":"ParameterList","parameters":[],"src":"13274:0:129"},"scope":77611,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":75659,"nodeType":"FunctionDefinition","src":"13578:1012:129","nodes":[],"body":{"id":75658,"nodeType":"Block","src":"13669:921:129","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":75575,"name":"onlyRegistryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75240,"src":"13679:21:129","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":75576,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13679:23:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75577,"nodeType":"ExpressionStatement","src":"13679:23:129"},{"condition":{"id":75581,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"13716:27:129","subExpression":{"arguments":[{"id":75579,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75568,"src":"13735:7:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":75578,"name":"_canExecuteAction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75286,"src":"13717:17:129","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":75580,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13717:26:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75586,"nodeType":"IfStatement","src":"13712:90:129","trueBody":{"id":75585,"nodeType":"Block","src":"13745:57:129","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":75582,"name":"UserCannotExecuteAction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74890,"src":"13766:23:129","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":75583,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13766:25:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75584,"nodeType":"RevertStatement","src":"13759:32:129"}]}},{"assignments":[75588],"declarations":[{"constant":false,"id":75588,"mutability":"mutable","name":"pointsToIncrease","nameLocation":"13819:16:129","nodeType":"VariableDeclaration","scope":75658,"src":"13811:24:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75587,"name":"uint256","nodeType":"ElementaryTypeName","src":"13811:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":75590,"initialValue":{"hexValue":"30","id":75589,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13838:1:129","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"13811:28:129"},{"condition":{"commonType":{"typeIdentifier":"t_enum$_PointSystem_$74731","typeString":"enum StrategyStruct.PointSystem"},"id":75595,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":75591,"name":"pointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75008,"src":"13853:11:129","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$74731","typeString":"enum StrategyStruct.PointSystem"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":75592,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74807,"src":"13868:14:129","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$74807_$","typeString":"type(library StrategyStruct)"}},"id":75593,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13883:11:129","memberName":"PointSystem","nodeType":"MemberAccess","referencedDeclaration":74731,"src":"13868:26:129","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_PointSystem_$74731_$","typeString":"type(enum StrategyStruct.PointSystem)"}},"id":75594,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"13895:9:129","memberName":"Unlimited","nodeType":"MemberAccess","referencedDeclaration":74729,"src":"13868:36:129","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$74731","typeString":"enum StrategyStruct.PointSystem"}},"src":"13853:51:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_enum$_PointSystem_$74731","typeString":"enum StrategyStruct.PointSystem"},"id":75607,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":75603,"name":"pointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75008,"src":"13998:11:129","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$74731","typeString":"enum StrategyStruct.PointSystem"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":75604,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74807,"src":"14013:14:129","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$74807_$","typeString":"type(library StrategyStruct)"}},"id":75605,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14028:11:129","memberName":"PointSystem","nodeType":"MemberAccess","referencedDeclaration":74731,"src":"14013:26:129","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_PointSystem_$74731_$","typeString":"type(enum StrategyStruct.PointSystem)"}},"id":75606,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"14040:6:129","memberName":"Capped","nodeType":"MemberAccess","referencedDeclaration":74728,"src":"14013:33:129","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$74731","typeString":"enum StrategyStruct.PointSystem"}},"src":"13998:48:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_enum$_PointSystem_$74731","typeString":"enum StrategyStruct.PointSystem"},"id":75620,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":75616,"name":"pointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75008,"src":"14146:11:129","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$74731","typeString":"enum StrategyStruct.PointSystem"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":75617,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74807,"src":"14161:14:129","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$74807_$","typeString":"type(library StrategyStruct)"}},"id":75618,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14176:11:129","memberName":"PointSystem","nodeType":"MemberAccess","referencedDeclaration":74731,"src":"14161:26:129","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_PointSystem_$74731_$","typeString":"type(enum StrategyStruct.PointSystem)"}},"id":75619,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"14188:9:129","memberName":"Quadratic","nodeType":"MemberAccess","referencedDeclaration":74730,"src":"14161:36:129","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$74731","typeString":"enum StrategyStruct.PointSystem"}},"src":"14146:51:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75629,"nodeType":"IfStatement","src":"14142:148:129","trueBody":{"id":75628,"nodeType":"Block","src":"14199:91:129","statements":[{"expression":{"id":75626,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":75621,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75588,"src":"14213:16:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":75623,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75568,"src":"14255:7:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":75624,"name":"_amountToStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75570,"src":"14264:14:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":75622,"name":"increasePowerQuadratic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75872,"src":"14232:22:129","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256) view returns (uint256)"}},"id":75625,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14232:47:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"14213:66:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":75627,"nodeType":"ExpressionStatement","src":"14213:66:129"}]}},"id":75630,"nodeType":"IfStatement","src":"13994:296:129","trueBody":{"id":75615,"nodeType":"Block","src":"14048:88:129","statements":[{"expression":{"id":75613,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":75608,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75588,"src":"14062:16:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":75610,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75568,"src":"14101:7:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":75611,"name":"_amountToStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75570,"src":"14110:14:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":75609,"name":"increasePowerCapped","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75788,"src":"14081:19:129","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256) view returns (uint256)"}},"id":75612,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14081:44:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"14062:63:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":75614,"nodeType":"ExpressionStatement","src":"14062:63:129"}]}},"id":75631,"nodeType":"IfStatement","src":"13849:441:129","trueBody":{"id":75602,"nodeType":"Block","src":"13906:82:129","statements":[{"expression":{"id":75600,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":75596,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75588,"src":"13920:16:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":75598,"name":"_amountToStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75570,"src":"13962:14:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":75597,"name":"increasePowerUnlimited","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75725,"src":"13939:22:129","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":75599,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13939:38:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"13920:57:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":75601,"nodeType":"ExpressionStatement","src":"13920:57:129"}]}},{"assignments":[75633],"declarations":[{"constant":false,"id":75633,"mutability":"mutable","name":"isActivated","nameLocation":"14304:11:129","nodeType":"VariableDeclaration","scope":75658,"src":"14299:16:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":75632,"name":"bool","nodeType":"ElementaryTypeName","src":"14299:4:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":75642,"initialValue":{"arguments":[{"id":75636,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75568,"src":"14364:7:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":75639,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"14381:4:129","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$77611","typeString":"contract CVStrategy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategy_$77611","typeString":"contract CVStrategy"}],"id":75638,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"14373:7:129","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":75637,"name":"address","nodeType":"ElementaryTypeName","src":"14373:7:129","typeDescriptions":{}}},"id":75640,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14373:13:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":75634,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75014,"src":"14318:17:129","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunity_$83082","typeString":"contract RegistryCommunity"}},"id":75635,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14336:27:129","memberName":"memberActivatedInStrategies","nodeType":"MemberAccess","referencedDeclaration":81575,"src":"14318:45:129","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_bool_$","typeString":"function (address,address) view external returns (bool)"}},"id":75641,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14318:69:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"VariableDeclarationStatement","src":"14299:88:129"},{"condition":{"id":75643,"name":"isActivated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75633,"src":"14401:11:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75649,"nodeType":"IfStatement","src":"14397:82:129","trueBody":{"id":75648,"nodeType":"Block","src":"14414:65:129","statements":[{"expression":{"id":75646,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":75644,"name":"totalPointsActivated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74997,"src":"14428:20:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"id":75645,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75588,"src":"14452:16:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"14428:40:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":75647,"nodeType":"ExpressionStatement","src":"14428:40:129"}]}},{"eventCall":{"arguments":[{"id":75651,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75568,"src":"14508:7:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":75652,"name":"_amountToStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75570,"src":"14517:14:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":75653,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75588,"src":"14533:16:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":75650,"name":"PowerIncreased","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74923,"src":"14493:14:129","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (address,uint256,uint256)"}},"id":75654,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14493:57:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75655,"nodeType":"EmitStatement","src":"14488:62:129"},{"expression":{"id":75656,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75588,"src":"14567:16:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":75574,"id":75657,"nodeType":"Return","src":"14560:23:129"}]},"baseFunctions":[74706],"functionSelector":"782aadff","implemented":true,"kind":"function","modifiers":[],"name":"increasePower","nameLocation":"13587:13:129","parameters":{"id":75571,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75568,"mutability":"mutable","name":"_member","nameLocation":"13609:7:129","nodeType":"VariableDeclaration","scope":75659,"src":"13601:15:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":75567,"name":"address","nodeType":"ElementaryTypeName","src":"13601:7:129","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":75570,"mutability":"mutable","name":"_amountToStake","nameLocation":"13626:14:129","nodeType":"VariableDeclaration","scope":75659,"src":"13618:22:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75569,"name":"uint256","nodeType":"ElementaryTypeName","src":"13618:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13600:41:129"},"returnParameters":{"id":75574,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75573,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":75659,"src":"13660:7:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75572,"name":"uint256","nodeType":"ElementaryTypeName","src":"13660:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13659:9:129"},"scope":77611,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":75715,"nodeType":"FunctionDefinition","src":"14596:681:129","nodes":[],"body":{"id":75714,"nodeType":"Block","src":"14689:588:129","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":75668,"name":"onlyRegistryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75240,"src":"14699:21:129","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":75669,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14699:23:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75670,"nodeType":"ExpressionStatement","src":"14699:23:129"},{"assignments":[75672],"declarations":[{"constant":false,"id":75672,"mutability":"mutable","name":"pointsToDecrease","nameLocation":"14786:16:129","nodeType":"VariableDeclaration","scope":75714,"src":"14778:24:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75671,"name":"uint256","nodeType":"ElementaryTypeName","src":"14778:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":75674,"initialValue":{"hexValue":"30","id":75673,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14805:1:129","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"14778:28:129"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":75685,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_enum$_PointSystem_$74731","typeString":"enum StrategyStruct.PointSystem"},"id":75679,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":75675,"name":"pointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75008,"src":"14820:11:129","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$74731","typeString":"enum StrategyStruct.PointSystem"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":75676,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74807,"src":"14835:14:129","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$74807_$","typeString":"type(library StrategyStruct)"}},"id":75677,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14850:11:129","memberName":"PointSystem","nodeType":"MemberAccess","referencedDeclaration":74731,"src":"14835:26:129","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_PointSystem_$74731_$","typeString":"type(enum StrategyStruct.PointSystem)"}},"id":75678,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"14862:9:129","memberName":"Unlimited","nodeType":"MemberAccess","referencedDeclaration":74729,"src":"14835:36:129","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$74731","typeString":"enum StrategyStruct.PointSystem"}},"src":"14820:51:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_enum$_PointSystem_$74731","typeString":"enum StrategyStruct.PointSystem"},"id":75684,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":75680,"name":"pointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75008,"src":"14875:11:129","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$74731","typeString":"enum StrategyStruct.PointSystem"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":75681,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74807,"src":"14890:14:129","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$74807_$","typeString":"type(library StrategyStruct)"}},"id":75682,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14905:11:129","memberName":"PointSystem","nodeType":"MemberAccess","referencedDeclaration":74731,"src":"14890:26:129","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_PointSystem_$74731_$","typeString":"type(enum StrategyStruct.PointSystem)"}},"id":75683,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"14917:6:129","memberName":"Capped","nodeType":"MemberAccess","referencedDeclaration":74728,"src":"14890:33:129","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$74731","typeString":"enum StrategyStruct.PointSystem"}},"src":"14875:48:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"14820:103:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":75700,"nodeType":"Block","src":"15021:93:129","statements":[{"expression":{"id":75698,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":75693,"name":"pointsToDecrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75672,"src":"15035:16:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":75695,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75661,"src":"15077:7:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":75696,"name":"_amountToUnstake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75663,"src":"15086:16:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":75694,"name":"decreasePowerQuadratic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75976,"src":"15054:22:129","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256) view returns (uint256)"}},"id":75697,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15054:49:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"15035:68:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":75699,"nodeType":"ExpressionStatement","src":"15035:68:129"}]},"id":75701,"nodeType":"IfStatement","src":"14816:298:129","trueBody":{"id":75692,"nodeType":"Block","src":"14925:90:129","statements":[{"expression":{"id":75690,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":75686,"name":"pointsToDecrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75672,"src":"14939:16:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":75688,"name":"_amountToUnstake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75663,"src":"14987:16:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":75687,"name":"decreasePowerCappedUnlimited","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75882,"src":"14958:28:129","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":75689,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14958:46:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"14939:65:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":75691,"nodeType":"ExpressionStatement","src":"14939:65:129"}]}},{"expression":{"id":75704,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":75702,"name":"totalPointsActivated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74997,"src":"15123:20:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"id":75703,"name":"pointsToDecrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75672,"src":"15147:16:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"15123:40:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":75705,"nodeType":"ExpressionStatement","src":"15123:40:129"},{"eventCall":{"arguments":[{"id":75707,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75661,"src":"15193:7:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":75708,"name":"_amountToUnstake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75663,"src":"15202:16:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":75709,"name":"pointsToDecrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75672,"src":"15220:16:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":75706,"name":"PowerDecreased","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74931,"src":"15178:14:129","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (address,uint256,uint256)"}},"id":75710,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15178:59:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75711,"nodeType":"EmitStatement","src":"15173:64:129"},{"expression":{"id":75712,"name":"pointsToDecrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75672,"src":"15254:16:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":75667,"id":75713,"nodeType":"Return","src":"15247:23:129"}]},"baseFunctions":[74715],"functionSelector":"2ed04b2b","implemented":true,"kind":"function","modifiers":[],"name":"decreasePower","nameLocation":"14605:13:129","parameters":{"id":75664,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75661,"mutability":"mutable","name":"_member","nameLocation":"14627:7:129","nodeType":"VariableDeclaration","scope":75715,"src":"14619:15:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":75660,"name":"address","nodeType":"ElementaryTypeName","src":"14619:7:129","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":75663,"mutability":"mutable","name":"_amountToUnstake","nameLocation":"14644:16:129","nodeType":"VariableDeclaration","scope":75715,"src":"14636:24:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75662,"name":"uint256","nodeType":"ElementaryTypeName","src":"14636:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"14618:43:129"},"returnParameters":{"id":75667,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75666,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":75715,"src":"14680:7:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75665,"name":"uint256","nodeType":"ElementaryTypeName","src":"14680:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"14679:9:129"},"scope":77611,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":75725,"nodeType":"FunctionDefinition","src":"15283:126:129","nodes":[],"body":{"id":75724,"nodeType":"Block","src":"15371:38:129","nodes":[],"statements":[{"expression":{"id":75722,"name":"_amountToStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75717,"src":"15388:14:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":75721,"id":75723,"nodeType":"Return","src":"15381:21:129"}]},"implemented":true,"kind":"function","modifiers":[],"name":"increasePowerUnlimited","nameLocation":"15292:22:129","parameters":{"id":75718,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75717,"mutability":"mutable","name":"_amountToStake","nameLocation":"15323:14:129","nodeType":"VariableDeclaration","scope":75725,"src":"15315:22:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75716,"name":"uint256","nodeType":"ElementaryTypeName","src":"15315:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15314:24:129"},"returnParameters":{"id":75721,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75720,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":75725,"src":"15362:7:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75719,"name":"uint256","nodeType":"ElementaryTypeName","src":"15362:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15361:9:129"},"scope":77611,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":75788,"nodeType":"FunctionDefinition","src":"15415:615:129","nodes":[],"body":{"id":75787,"nodeType":"Block","src":"15517:513:129","nodes":[],"statements":[{"assignments":[75735],"declarations":[{"constant":false,"id":75735,"mutability":"mutable","name":"pointsToIncrease","nameLocation":"15535:16:129","nodeType":"VariableDeclaration","scope":75787,"src":"15527:24:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75734,"name":"uint256","nodeType":"ElementaryTypeName","src":"15527:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":75737,"initialValue":{"id":75736,"name":"_amountToStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75729,"src":"15554:14:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"15527:41:129"},{"expression":{"arguments":[{"hexValue":"504f494e545320544f20494e435245415345","id":75741,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"15590:20:129","typeDescriptions":{"typeIdentifier":"t_stringliteral_ef3d3d59430373ce7e3d099486636fe73635f3082757c009fe2ef0b043a4ebb1","typeString":"literal_string \"POINTS TO INCREASE\""},"value":"POINTS TO INCREASE"},{"id":75742,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75735,"src":"15612:16:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ef3d3d59430373ce7e3d099486636fe73635f3082757c009fe2ef0b043a4ebb1","typeString":"literal_string \"POINTS TO INCREASE\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":75738,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29549,"src":"15578:7:129","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$29549_$","typeString":"type(library console)"}},"id":75740,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15586:3:129","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":22193,"src":"15578:11:129","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":75743,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15578:51:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75744,"nodeType":"ExpressionStatement","src":"15578:51:129"},{"assignments":[75746],"declarations":[{"constant":false,"id":75746,"mutability":"mutable","name":"memberPower","nameLocation":"15647:11:129","nodeType":"VariableDeclaration","scope":75787,"src":"15639:19:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75745,"name":"uint256","nodeType":"ElementaryTypeName","src":"15639:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":75755,"initialValue":{"arguments":[{"id":75749,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75727,"src":"15704:7:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":75752,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"15721:4:129","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$77611","typeString":"contract CVStrategy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategy_$77611","typeString":"contract CVStrategy"}],"id":75751,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"15713:7:129","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":75750,"name":"address","nodeType":"ElementaryTypeName","src":"15713:7:129","typeDescriptions":{}}},"id":75753,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15713:13:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":75747,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75014,"src":"15661:17:129","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunity_$83082","typeString":"contract RegistryCommunity"}},"id":75748,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15679:24:129","memberName":"getMemberPowerInStrategy","nodeType":"MemberAccess","referencedDeclaration":82423,"src":"15661:42:129","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view external returns (uint256)"}},"id":75754,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15661:66:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"15639:88:129"},{"expression":{"arguments":[{"hexValue":"4d454d424552504f574552","id":75759,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"15749:13:129","typeDescriptions":{"typeIdentifier":"t_stringliteral_d53146c44856b98b9530413c868d7a3bea9675ba78d0918c9dbfa4f905f5c3e8","typeString":"literal_string \"MEMBERPOWER\""},"value":"MEMBERPOWER"},{"id":75760,"name":"memberPower","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75746,"src":"15764:11:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_d53146c44856b98b9530413c868d7a3bea9675ba78d0918c9dbfa4f905f5c3e8","typeString":"literal_string \"MEMBERPOWER\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":75756,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29549,"src":"15737:7:129","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$29549_$","typeString":"type(library console)"}},"id":75758,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15745:3:129","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":22193,"src":"15737:11:129","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":75761,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15737:39:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75762,"nodeType":"ExpressionStatement","src":"15737:39:129"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75768,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75765,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":75763,"name":"memberPower","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75746,"src":"15790:11:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":75764,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75735,"src":"15804:16:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"15790:30:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"expression":{"id":75766,"name":"pointConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75011,"src":"15823:11:129","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$74784_storage","typeString":"struct StrategyStruct.PointSystemConfig storage ref"}},"id":75767,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15835:9:129","memberName":"maxAmount","nodeType":"MemberAccess","referencedDeclaration":74783,"src":"15823:21:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"15790:54:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75777,"nodeType":"IfStatement","src":"15786:139:129","trueBody":{"id":75776,"nodeType":"Block","src":"15846:79:129","statements":[{"expression":{"id":75774,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":75769,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75735,"src":"15860:16:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75773,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":75770,"name":"pointConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75011,"src":"15879:11:129","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$74784_storage","typeString":"struct StrategyStruct.PointSystemConfig storage ref"}},"id":75771,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15891:9:129","memberName":"maxAmount","nodeType":"MemberAccess","referencedDeclaration":74783,"src":"15879:21:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":75772,"name":"memberPower","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75746,"src":"15903:11:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"15879:35:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"15860:54:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":75775,"nodeType":"ExpressionStatement","src":"15860:54:129"}]}},{"expression":{"arguments":[{"hexValue":"504f494e545320544f20494e43524541534520454e44","id":75781,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"15946:24:129","typeDescriptions":{"typeIdentifier":"t_stringliteral_7339ba314bb001e1fd9993d42999dceed278cc5b138b69398be73c13fb666826","typeString":"literal_string \"POINTS TO INCREASE END\""},"value":"POINTS TO INCREASE END"},{"id":75782,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75735,"src":"15972:16:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_7339ba314bb001e1fd9993d42999dceed278cc5b138b69398be73c13fb666826","typeString":"literal_string \"POINTS TO INCREASE END\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":75778,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29549,"src":"15934:7:129","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$29549_$","typeString":"type(library console)"}},"id":75780,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15942:3:129","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":22193,"src":"15934:11:129","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":75783,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15934:55:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75784,"nodeType":"ExpressionStatement","src":"15934:55:129"},{"expression":{"id":75785,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75735,"src":"16007:16:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":75733,"id":75786,"nodeType":"Return","src":"16000:23:129"}]},"implemented":true,"kind":"function","modifiers":[],"name":"increasePowerCapped","nameLocation":"15424:19:129","parameters":{"id":75730,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75727,"mutability":"mutable","name":"_member","nameLocation":"15452:7:129","nodeType":"VariableDeclaration","scope":75788,"src":"15444:15:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":75726,"name":"address","nodeType":"ElementaryTypeName","src":"15444:7:129","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":75729,"mutability":"mutable","name":"_amountToStake","nameLocation":"15469:14:129","nodeType":"VariableDeclaration","scope":75788,"src":"15461:22:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75728,"name":"uint256","nodeType":"ElementaryTypeName","src":"15461:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15443:41:129"},"returnParameters":{"id":75733,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75732,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":75788,"src":"15508:7:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75731,"name":"uint256","nodeType":"ElementaryTypeName","src":"15508:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15507:9:129"},"scope":77611,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":75872,"nodeType":"FunctionDefinition","src":"16036:730:129","nodes":[],"body":{"id":75871,"nodeType":"Block","src":"16141:625:129","nodes":[],"statements":[{"assignments":[75798],"declarations":[{"constant":false,"id":75798,"mutability":"mutable","name":"totalStake","nameLocation":"16159:10:129","nodeType":"VariableDeclaration","scope":75871,"src":"16151:18:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75797,"name":"uint256","nodeType":"ElementaryTypeName","src":"16151:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":75805,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75804,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":75801,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75790,"src":"16212:7:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":75799,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75014,"src":"16172:17:129","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunity_$83082","typeString":"contract RegistryCommunity"}},"id":75800,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16190:21:129","memberName":"getMemberStakedAmount","nodeType":"MemberAccess","referencedDeclaration":82436,"src":"16172:39:129","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":75802,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16172:48:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":75803,"name":"_amountToStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75792,"src":"16223:14:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16172:65:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"16151:86:129"},{"assignments":[75807],"declarations":[{"constant":false,"id":75807,"mutability":"mutable","name":"decimal","nameLocation":"16256:7:129","nodeType":"VariableDeclaration","scope":75871,"src":"16248:15:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75806,"name":"uint256","nodeType":"ElementaryTypeName","src":"16248:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":75809,"initialValue":{"hexValue":"3138","id":75808,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16266:2:129","typeDescriptions":{"typeIdentifier":"t_rational_18_by_1","typeString":"int_const 18"},"value":"18"},"nodeType":"VariableDeclarationStatement","src":"16248:20:129"},{"clauses":[{"block":{"id":75830,"nodeType":"Block","src":"16366:52:129","statements":[{"expression":{"id":75828,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":75823,"name":"decimal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75807,"src":"16380:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":75826,"name":"_decimal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75821,"src":"16398:8:129","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint8","typeString":"uint8"}],"id":75825,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16390:7:129","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":75824,"name":"uint256","nodeType":"ElementaryTypeName","src":"16390:7:129","typeDescriptions":{}}},"id":75827,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16390:17:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16380:27:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":75829,"nodeType":"ExpressionStatement","src":"16380:27:129"}]},"errorName":"","id":75831,"nodeType":"TryCatchClause","parameters":{"id":75822,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75821,"mutability":"mutable","name":"_decimal","nameLocation":"16356:8:129","nodeType":"VariableDeclaration","scope":75831,"src":"16350:14:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":75820,"name":"uint8","nodeType":"ElementaryTypeName","src":"16350:5:129","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"16349:16:129"},"src":"16341:77:129"},{"block":{"id":75838,"nodeType":"Block","src":"16425:61:129","statements":[{"expression":{"arguments":[{"hexValue":"4572726f722067657474696e6720646563696d616c","id":75835,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"16451:23:129","typeDescriptions":{"typeIdentifier":"t_stringliteral_add5b7e354bcd4eb0c69c8b5bd8a8dca27c903f694ea26b234a6605e7f62de4d","typeString":"literal_string \"Error getting decimal\""},"value":"Error getting decimal"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_add5b7e354bcd4eb0c69c8b5bd8a8dca27c903f694ea26b234a6605e7f62de4d","typeString":"literal_string \"Error getting decimal\""}],"expression":{"id":75832,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29549,"src":"16439:7:129","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$29549_$","typeString":"type(library console)"}},"id":75834,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16447:3:129","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":22080,"src":"16439:11:129","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) view"}},"id":75836,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16439:36:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75837,"nodeType":"ExpressionStatement","src":"16439:36:129"}]},"errorName":"","id":75839,"nodeType":"TryCatchClause","src":"16419:67:129"}],"externalCall":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":75813,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75014,"src":"16296:17:129","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunity_$83082","typeString":"contract RegistryCommunity"}},"id":75814,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16314:11:129","memberName":"gardenToken","nodeType":"MemberAccess","referencedDeclaration":81539,"src":"16296:29:129","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_contract$_IERC20_$57069_$","typeString":"function () view external returns (contract IERC20)"}},"id":75815,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16296:31:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$57069","typeString":"contract IERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$57069","typeString":"contract IERC20"}],"id":75812,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16288:7:129","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":75811,"name":"address","nodeType":"ElementaryTypeName","src":"16288:7:129","typeDescriptions":{}}},"id":75816,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16288:40:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":75810,"name":"ERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56991,"src":"16282:5:129","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ERC20_$56991_$","typeString":"type(contract ERC20)"}},"id":75817,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16282:47:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ERC20_$56991","typeString":"contract ERC20"}},"id":75818,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16330:8:129","memberName":"decimals","nodeType":"MemberAccess","referencedDeclaration":56479,"src":"16282:56:129","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint8_$","typeString":"function () view external returns (uint8)"}},"id":75819,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16282:58:129","tryCall":true,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":75840,"nodeType":"TryStatement","src":"16278:208:129"},{"assignments":[75842],"declarations":[{"constant":false,"id":75842,"mutability":"mutable","name":"newTotalPoints","nameLocation":"16503:14:129","nodeType":"VariableDeclaration","scope":75871,"src":"16495:22:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75841,"name":"uint256","nodeType":"ElementaryTypeName","src":"16495:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":75851,"initialValue":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75849,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":75845,"name":"totalStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75798,"src":"16530:10:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75848,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":75846,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16543:2:129","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"id":75847,"name":"decimal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75807,"src":"16549:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16543:13:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16530:26:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":75843,"name":"Math","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59338,"src":"16520:4:129","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Math_$59338_$","typeString":"type(library Math)"}},"id":75844,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16525:4:129","memberName":"sqrt","nodeType":"MemberAccess","referencedDeclaration":58842,"src":"16520:9:129","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":75850,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16520:37:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"16495:62:129"},{"assignments":[75853],"declarations":[{"constant":false,"id":75853,"mutability":"mutable","name":"currentPoints","nameLocation":"16575:13:129","nodeType":"VariableDeclaration","scope":75871,"src":"16567:21:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75852,"name":"uint256","nodeType":"ElementaryTypeName","src":"16567:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":75862,"initialValue":{"arguments":[{"id":75856,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75790,"src":"16634:7:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":75859,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"16651:4:129","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$77611","typeString":"contract CVStrategy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategy_$77611","typeString":"contract CVStrategy"}],"id":75858,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16643:7:129","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":75857,"name":"address","nodeType":"ElementaryTypeName","src":"16643:7:129","typeDescriptions":{}}},"id":75860,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16643:13:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":75854,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75014,"src":"16591:17:129","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunity_$83082","typeString":"contract RegistryCommunity"}},"id":75855,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16609:24:129","memberName":"getMemberPowerInStrategy","nodeType":"MemberAccess","referencedDeclaration":82423,"src":"16591:42:129","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view external returns (uint256)"}},"id":75861,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16591:66:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"16567:90:129"},{"assignments":[75864],"declarations":[{"constant":false,"id":75864,"mutability":"mutable","name":"pointsToIncrease","nameLocation":"16676:16:129","nodeType":"VariableDeclaration","scope":75871,"src":"16668:24:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75863,"name":"uint256","nodeType":"ElementaryTypeName","src":"16668:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":75868,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75867,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":75865,"name":"newTotalPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75842,"src":"16695:14:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":75866,"name":"currentPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75853,"src":"16712:13:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16695:30:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"16668:57:129"},{"expression":{"id":75869,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75864,"src":"16743:16:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":75796,"id":75870,"nodeType":"Return","src":"16736:23:129"}]},"implemented":true,"kind":"function","modifiers":[],"name":"increasePowerQuadratic","nameLocation":"16045:22:129","parameters":{"id":75793,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75790,"mutability":"mutable","name":"_member","nameLocation":"16076:7:129","nodeType":"VariableDeclaration","scope":75872,"src":"16068:15:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":75789,"name":"address","nodeType":"ElementaryTypeName","src":"16068:7:129","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":75792,"mutability":"mutable","name":"_amountToStake","nameLocation":"16093:14:129","nodeType":"VariableDeclaration","scope":75872,"src":"16085:22:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75791,"name":"uint256","nodeType":"ElementaryTypeName","src":"16085:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"16067:41:129"},"returnParameters":{"id":75796,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75795,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":75872,"src":"16132:7:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75794,"name":"uint256","nodeType":"ElementaryTypeName","src":"16132:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"16131:9:129"},"scope":77611,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":75882,"nodeType":"FunctionDefinition","src":"16772:136:129","nodes":[],"body":{"id":75881,"nodeType":"Block","src":"16868:40:129","nodes":[],"statements":[{"expression":{"id":75879,"name":"_amountToUnstake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75874,"src":"16885:16:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":75878,"id":75880,"nodeType":"Return","src":"16878:23:129"}]},"implemented":true,"kind":"function","modifiers":[],"name":"decreasePowerCappedUnlimited","nameLocation":"16781:28:129","parameters":{"id":75875,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75874,"mutability":"mutable","name":"_amountToUnstake","nameLocation":"16818:16:129","nodeType":"VariableDeclaration","scope":75882,"src":"16810:24:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75873,"name":"uint256","nodeType":"ElementaryTypeName","src":"16810:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"16809:26:129"},"returnParameters":{"id":75878,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75877,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":75882,"src":"16859:7:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75876,"name":"uint256","nodeType":"ElementaryTypeName","src":"16859:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"16858:9:129"},"scope":77611,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":75976,"nodeType":"FunctionDefinition","src":"16914:802:129","nodes":[],"body":{"id":75975,"nodeType":"Block","src":"17021:695:129","nodes":[],"statements":[{"assignments":[75892],"declarations":[{"constant":false,"id":75892,"mutability":"mutable","name":"decimal","nameLocation":"17039:7:129","nodeType":"VariableDeclaration","scope":75975,"src":"17031:15:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75891,"name":"uint256","nodeType":"ElementaryTypeName","src":"17031:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":75894,"initialValue":{"hexValue":"3138","id":75893,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17049:2:129","typeDescriptions":{"typeIdentifier":"t_rational_18_by_1","typeString":"int_const 18"},"value":"18"},"nodeType":"VariableDeclarationStatement","src":"17031:20:129"},{"clauses":[{"block":{"id":75915,"nodeType":"Block","src":"17149:52:129","statements":[{"expression":{"id":75913,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":75908,"name":"decimal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75892,"src":"17163:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":75911,"name":"_decimal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75906,"src":"17181:8:129","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint8","typeString":"uint8"}],"id":75910,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"17173:7:129","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":75909,"name":"uint256","nodeType":"ElementaryTypeName","src":"17173:7:129","typeDescriptions":{}}},"id":75912,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17173:17:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17163:27:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":75914,"nodeType":"ExpressionStatement","src":"17163:27:129"}]},"errorName":"","id":75916,"nodeType":"TryCatchClause","parameters":{"id":75907,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75906,"mutability":"mutable","name":"_decimal","nameLocation":"17139:8:129","nodeType":"VariableDeclaration","scope":75916,"src":"17133:14:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":75905,"name":"uint8","nodeType":"ElementaryTypeName","src":"17133:5:129","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"17132:16:129"},"src":"17124:77:129"},{"block":{"id":75923,"nodeType":"Block","src":"17208:61:129","statements":[{"expression":{"arguments":[{"hexValue":"4572726f722067657474696e6720646563696d616c","id":75920,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"17234:23:129","typeDescriptions":{"typeIdentifier":"t_stringliteral_add5b7e354bcd4eb0c69c8b5bd8a8dca27c903f694ea26b234a6605e7f62de4d","typeString":"literal_string \"Error getting decimal\""},"value":"Error getting decimal"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_add5b7e354bcd4eb0c69c8b5bd8a8dca27c903f694ea26b234a6605e7f62de4d","typeString":"literal_string \"Error getting decimal\""}],"expression":{"id":75917,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29549,"src":"17222:7:129","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$29549_$","typeString":"type(library console)"}},"id":75919,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17230:3:129","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":22080,"src":"17222:11:129","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) view"}},"id":75921,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17222:36:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75922,"nodeType":"ExpressionStatement","src":"17222:36:129"}]},"errorName":"","id":75924,"nodeType":"TryCatchClause","src":"17202:67:129"}],"externalCall":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":75898,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75014,"src":"17079:17:129","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunity_$83082","typeString":"contract RegistryCommunity"}},"id":75899,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17097:11:129","memberName":"gardenToken","nodeType":"MemberAccess","referencedDeclaration":81539,"src":"17079:29:129","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_contract$_IERC20_$57069_$","typeString":"function () view external returns (contract IERC20)"}},"id":75900,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17079:31:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$57069","typeString":"contract IERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$57069","typeString":"contract IERC20"}],"id":75897,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"17071:7:129","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":75896,"name":"address","nodeType":"ElementaryTypeName","src":"17071:7:129","typeDescriptions":{}}},"id":75901,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17071:40:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":75895,"name":"ERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56991,"src":"17065:5:129","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ERC20_$56991_$","typeString":"type(contract ERC20)"}},"id":75902,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17065:47:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ERC20_$56991","typeString":"contract ERC20"}},"id":75903,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17113:8:129","memberName":"decimals","nodeType":"MemberAccess","referencedDeclaration":56479,"src":"17065:56:129","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint8_$","typeString":"function () view external returns (uint8)"}},"id":75904,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17065:58:129","tryCall":true,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":75925,"nodeType":"TryStatement","src":"17061:208:129"},{"expression":{"arguments":[{"hexValue":"5f616d6f756e74546f556e7374616b65","id":75929,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"17290:18:129","typeDescriptions":{"typeIdentifier":"t_stringliteral_dc5364d7a51b187c038e40e987076ae6dd611b7a72008e9d9acc88e3a526f2c2","typeString":"literal_string \"_amountToUnstake\""},"value":"_amountToUnstake"},{"id":75930,"name":"_amountToUnstake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75886,"src":"17310:16:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_dc5364d7a51b187c038e40e987076ae6dd611b7a72008e9d9acc88e3a526f2c2","typeString":"literal_string \"_amountToUnstake\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":75926,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29549,"src":"17278:7:129","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$29549_$","typeString":"type(library console)"}},"id":75928,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17286:3:129","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":22193,"src":"17278:11:129","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":75931,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17278:49:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75932,"nodeType":"ExpressionStatement","src":"17278:49:129"},{"assignments":[75934],"declarations":[{"constant":false,"id":75934,"mutability":"mutable","name":"newTotalStake","nameLocation":"17345:13:129","nodeType":"VariableDeclaration","scope":75975,"src":"17337:21:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75933,"name":"uint256","nodeType":"ElementaryTypeName","src":"17337:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":75941,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75940,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":75937,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75884,"src":"17401:7:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":75935,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75014,"src":"17361:17:129","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunity_$83082","typeString":"contract RegistryCommunity"}},"id":75936,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17379:21:129","memberName":"getMemberStakedAmount","nodeType":"MemberAccess","referencedDeclaration":82436,"src":"17361:39:129","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":75938,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17361:48:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":75939,"name":"_amountToUnstake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75886,"src":"17412:16:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17361:67:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"17337:91:129"},{"expression":{"arguments":[{"hexValue":"6e6577546f74616c5374616b65","id":75945,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"17450:15:129","typeDescriptions":{"typeIdentifier":"t_stringliteral_e1d5e8d6d05577c9c30b6029c3158dfad77d5a239a04e4529b5b98f0ce2f7a79","typeString":"literal_string \"newTotalStake\""},"value":"newTotalStake"},{"id":75946,"name":"newTotalStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75934,"src":"17467:13:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e1d5e8d6d05577c9c30b6029c3158dfad77d5a239a04e4529b5b98f0ce2f7a79","typeString":"literal_string \"newTotalStake\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":75942,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29549,"src":"17438:7:129","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$29549_$","typeString":"type(library console)"}},"id":75944,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17446:3:129","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":22193,"src":"17438:11:129","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":75947,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17438:43:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75948,"nodeType":"ExpressionStatement","src":"17438:43:129"},{"assignments":[75950],"declarations":[{"constant":false,"id":75950,"mutability":"mutable","name":"newTotalPoints","nameLocation":"17499:14:129","nodeType":"VariableDeclaration","scope":75975,"src":"17491:22:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75949,"name":"uint256","nodeType":"ElementaryTypeName","src":"17491:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":75959,"initialValue":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75957,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":75953,"name":"newTotalStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75934,"src":"17526:13:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75956,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":75954,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17542:2:129","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"id":75955,"name":"decimal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75892,"src":"17548:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17542:13:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17526:29:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":75951,"name":"Math","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59338,"src":"17516:4:129","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Math_$59338_$","typeString":"type(library Math)"}},"id":75952,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17521:4:129","memberName":"sqrt","nodeType":"MemberAccess","referencedDeclaration":58842,"src":"17516:9:129","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":75958,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17516:40:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"17491:65:129"},{"assignments":[75961],"declarations":[{"constant":false,"id":75961,"mutability":"mutable","name":"pointsToDecrease","nameLocation":"17574:16:129","nodeType":"VariableDeclaration","scope":75975,"src":"17566:24:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75960,"name":"uint256","nodeType":"ElementaryTypeName","src":"17566:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":75972,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75971,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":75964,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75884,"src":"17636:7:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":75967,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"17653:4:129","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$77611","typeString":"contract CVStrategy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategy_$77611","typeString":"contract CVStrategy"}],"id":75966,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"17645:7:129","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":75965,"name":"address","nodeType":"ElementaryTypeName","src":"17645:7:129","typeDescriptions":{}}},"id":75968,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17645:13:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":75962,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75014,"src":"17593:17:129","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunity_$83082","typeString":"contract RegistryCommunity"}},"id":75963,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17611:24:129","memberName":"getMemberPowerInStrategy","nodeType":"MemberAccess","referencedDeclaration":82423,"src":"17593:42:129","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view external returns (uint256)"}},"id":75969,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17593:66:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":75970,"name":"newTotalPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75950,"src":"17662:14:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17593:83:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"17566:110:129"},{"expression":{"id":75973,"name":"pointsToDecrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75961,"src":"17693:16:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":75890,"id":75974,"nodeType":"Return","src":"17686:23:129"}]},"implemented":true,"kind":"function","modifiers":[],"name":"decreasePowerQuadratic","nameLocation":"16923:22:129","parameters":{"id":75887,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75884,"mutability":"mutable","name":"_member","nameLocation":"16954:7:129","nodeType":"VariableDeclaration","scope":75976,"src":"16946:15:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":75883,"name":"address","nodeType":"ElementaryTypeName","src":"16946:7:129","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":75886,"mutability":"mutable","name":"_amountToUnstake","nameLocation":"16971:16:129","nodeType":"VariableDeclaration","scope":75976,"src":"16963:24:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75885,"name":"uint256","nodeType":"ElementaryTypeName","src":"16963:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"16945:43:129"},"returnParameters":{"id":75890,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75889,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":75976,"src":"17012:7:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75888,"name":"uint256","nodeType":"ElementaryTypeName","src":"17012:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"17011:9:129"},"scope":77611,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":75985,"nodeType":"FunctionDefinition","src":"17722:99:129","nodes":[],"body":{"id":75984,"nodeType":"Block","src":"17776:45:129","nodes":[],"statements":[{"expression":{"expression":{"id":75981,"name":"pointConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75011,"src":"17793:11:129","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$74784_storage","typeString":"struct StrategyStruct.PointSystemConfig storage ref"}},"id":75982,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"17805:9:129","memberName":"maxAmount","nodeType":"MemberAccess","referencedDeclaration":74783,"src":"17793:21:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":75980,"id":75983,"nodeType":"Return","src":"17786:28:129"}]},"functionSelector":"0ba95909","implemented":true,"kind":"function","modifiers":[],"name":"getMaxAmount","nameLocation":"17731:12:129","parameters":{"id":75977,"nodeType":"ParameterList","parameters":[],"src":"17743:2:129"},"returnParameters":{"id":75980,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75979,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":75985,"src":"17767:7:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75978,"name":"uint256","nodeType":"ElementaryTypeName","src":"17767:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"17766:9:129"},"scope":77611,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":75994,"nodeType":"FunctionDefinition","src":"17827:110:129","nodes":[],"body":{"id":75993,"nodeType":"Block","src":"17902:35:129","nodes":[],"statements":[{"expression":{"id":75991,"name":"pointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75008,"src":"17919:11:129","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$74731","typeString":"enum StrategyStruct.PointSystem"}},"functionReturnParameters":75990,"id":75992,"nodeType":"Return","src":"17912:18:129"}]},"baseFunctions":[74721],"functionSelector":"c3292171","implemented":true,"kind":"function","modifiers":[],"name":"getPointSystem","nameLocation":"17836:14:129","parameters":{"id":75986,"nodeType":"ParameterList","parameters":[],"src":"17850:2:129"},"returnParameters":{"id":75990,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75989,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":75994,"src":"17874:26:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$74731","typeString":"enum StrategyStruct.PointSystem"},"typeName":{"id":75988,"nodeType":"UserDefinedTypeName","pathNode":{"id":75987,"name":"StrategyStruct.PointSystem","nameLocations":["17874:14:129","17889:11:129"],"nodeType":"IdentifierPath","referencedDeclaration":74731,"src":"17874:26:129"},"referencedDeclaration":74731,"src":"17874:26:129","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$74731","typeString":"enum StrategyStruct.PointSystem"}},"visibility":"internal"}],"src":"17873:28:129"},"scope":77611,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":76005,"nodeType":"FunctionDefinition","src":"18053:226:129","nodes":[],"body":{"id":76004,"nodeType":"Block","src":"18131:148:129","nodes":[],"statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":76001,"name":"NotImplemented","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74826,"src":"18196:14:129","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":76002,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18196:16:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":76003,"nodeType":"RevertStatement","src":"18189:23:129"}]},"functionSelector":"e33add93","implemented":true,"kind":"function","modifiers":[],"name":"supportProposal","nameLocation":"18062:15:129","parameters":{"id":75999,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75998,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":76005,"src":"18078:39:129","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$74781_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport[]"},"typeName":{"baseType":{"id":75996,"nodeType":"UserDefinedTypeName","pathNode":{"id":75995,"name":"StrategyStruct.ProposalSupport","nameLocations":["18078:14:129","18093:15:129"],"nodeType":"IdentifierPath","referencedDeclaration":74781,"src":"18078:30:129"},"referencedDeclaration":74781,"src":"18078:30:129","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$74781_storage_ptr","typeString":"struct StrategyStruct.ProposalSupport"}},"id":75997,"nodeType":"ArrayTypeName","src":"18078:32:129","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$74781_storage_$dyn_storage_ptr","typeString":"struct StrategyStruct.ProposalSupport[]"}},"visibility":"internal"}],"src":"18077:41:129"},"returnParameters":{"id":76000,"nodeType":"ParameterList","parameters":[],"src":"18131:0:129"},"scope":77611,"stateMutability":"pure","virtual":false,"visibility":"public"},{"id":76070,"nodeType":"FunctionDefinition","src":"18425:604:129","nodes":[],"body":{"id":76069,"nodeType":"Block","src":"18499:530:129","nodes":[],"statements":[{"expression":{"arguments":[{"id":76014,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76009,"src":"18529:7:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":76013,"name":"checkSenderIsMember","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75224,"src":"18509:19:129","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$__$","typeString":"function (address) view"}},"id":76015,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18509:28:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":76016,"nodeType":"ExpressionStatement","src":"18509:28:129"},{"condition":{"id":76020,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"18551:27:129","subExpression":{"arguments":[{"id":76018,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76009,"src":"18570:7:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":76017,"name":"_canExecuteAction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75286,"src":"18552:17:129","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":76019,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18552:26:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":76025,"nodeType":"IfStatement","src":"18547:90:129","trueBody":{"id":76024,"nodeType":"Block","src":"18580:57:129","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":76021,"name":"UserCannotExecuteAction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74890,"src":"18601:23:129","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":76022,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18601:25:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":76023,"nodeType":"RevertStatement","src":"18594:32:129"}]}},{"assignments":[76027],"declarations":[{"constant":false,"id":76027,"mutability":"mutable","name":"isMemberActivatedPoints","nameLocation":"18651:23:129","nodeType":"VariableDeclaration","scope":76069,"src":"18646:28:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":76026,"name":"bool","nodeType":"ElementaryTypeName","src":"18646:4:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":76036,"initialValue":{"arguments":[{"id":76030,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76009,"src":"18723:7:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":76033,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"18740:4:129","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$77611","typeString":"contract CVStrategy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategy_$77611","typeString":"contract CVStrategy"}],"id":76032,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"18732:7:129","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":76031,"name":"address","nodeType":"ElementaryTypeName","src":"18732:7:129","typeDescriptions":{}}},"id":76034,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18732:13:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":76028,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75014,"src":"18677:17:129","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunity_$83082","typeString":"contract RegistryCommunity"}},"id":76029,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18695:27:129","memberName":"memberActivatedInStrategies","nodeType":"MemberAccess","referencedDeclaration":81575,"src":"18677:45:129","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_bool_$","typeString":"function (address,address) view external returns (bool)"}},"id":76035,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18677:69:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"VariableDeclarationStatement","src":"18646:100:129"},{"condition":{"id":76038,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"18760:24:129","subExpression":{"id":76037,"name":"isMemberActivatedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76027,"src":"18761:23:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":76043,"nodeType":"IfStatement","src":"18756:78:129","trueBody":{"id":76042,"nodeType":"Block","src":"18786:48:129","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":76039,"name":"UserIsInactive","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74822,"src":"18807:14:129","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":76040,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18807:16:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":76041,"nodeType":"RevertStatement","src":"18800:23:129"}]}},{"assignments":[76049],"declarations":[{"constant":false,"id":76049,"mutability":"mutable","name":"pv","nameLocation":"18883:2:129","nodeType":"VariableDeclaration","scope":76069,"src":"18843:42:129","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$74781_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport[]"},"typeName":{"baseType":{"id":76047,"nodeType":"UserDefinedTypeName","pathNode":{"id":76046,"name":"StrategyStruct.ProposalSupport","nameLocations":["18843:14:129","18858:15:129"],"nodeType":"IdentifierPath","referencedDeclaration":74781,"src":"18843:30:129"},"referencedDeclaration":74781,"src":"18843:30:129","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$74781_storage_ptr","typeString":"struct StrategyStruct.ProposalSupport"}},"id":76048,"nodeType":"ArrayTypeName","src":"18843:32:129","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$74781_storage_$dyn_storage_ptr","typeString":"struct StrategyStruct.ProposalSupport[]"}},"visibility":"internal"}],"id":76058,"initialValue":{"arguments":[{"id":76052,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76007,"src":"18899:5:129","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"baseExpression":{"expression":{"id":76053,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74807,"src":"18907:14:129","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$74807_$","typeString":"type(library StrategyStruct)"}},"id":76054,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18922:15:129","memberName":"ProposalSupport","nodeType":"MemberAccess","referencedDeclaration":74781,"src":"18907:30:129","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ProposalSupport_$74781_storage_ptr_$","typeString":"type(struct StrategyStruct.ProposalSupport storage pointer)"}},"id":76055,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"18907:32:129","typeDescriptions":{"typeIdentifier":"t_type$_t_array$_t_struct$_ProposalSupport_$74781_memory_ptr_$dyn_memory_ptr_$","typeString":"type(struct StrategyStruct.ProposalSupport memory[] memory)"}}],"id":76056,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"18906:34:129","typeDescriptions":{"typeIdentifier":"t_type$_t_array$_t_struct$_ProposalSupport_$74781_memory_ptr_$dyn_memory_ptr_$","typeString":"type(struct StrategyStruct.ProposalSupport memory[] memory)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_array$_t_struct$_ProposalSupport_$74781_memory_ptr_$dyn_memory_ptr_$","typeString":"type(struct StrategyStruct.ProposalSupport memory[] memory)"}],"expression":{"id":76050,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"18888:3:129","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":76051,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"18892:6:129","memberName":"decode","nodeType":"MemberAccess","src":"18888:10:129","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":76057,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18888:53:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$74781_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"18843:98:129"},{"expression":{"arguments":[{"id":76060,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76009,"src":"18976:7:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":76061,"name":"pv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76049,"src":"18985:2:129","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$74781_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$74781_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}],"id":76059,"name":"_check_before_addSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76770,"src":"18951:24:129","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_array$_t_struct$_ProposalSupport_$74781_memory_ptr_$dyn_memory_ptr_$returns$__$","typeString":"function (address,struct StrategyStruct.ProposalSupport memory[] memory)"}},"id":76062,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18951:37:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":76063,"nodeType":"ExpressionStatement","src":"18951:37:129"},{"expression":{"arguments":[{"id":76065,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76009,"src":"19010:7:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":76066,"name":"pv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76049,"src":"19019:2:129","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$74781_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$74781_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}],"id":76064,"name":"_addSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77057,"src":"18998:11:129","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_array$_t_struct$_ProposalSupport_$74781_memory_ptr_$dyn_memory_ptr_$returns$__$","typeString":"function (address,struct StrategyStruct.ProposalSupport memory[] memory)"}},"id":76067,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18998:24:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":76068,"nodeType":"ExpressionStatement","src":"18998:24:129"}]},"baseFunctions":[3817],"implemented":true,"kind":"function","modifiers":[],"name":"_allocate","nameLocation":"18434:9:129","overrides":{"id":76011,"nodeType":"OverrideSpecifier","overrides":[],"src":"18490:8:129"},"parameters":{"id":76010,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76007,"mutability":"mutable","name":"_data","nameLocation":"18457:5:129","nodeType":"VariableDeclaration","scope":76070,"src":"18444:18:129","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":76006,"name":"bytes","nodeType":"ElementaryTypeName","src":"18444:5:129","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":76009,"mutability":"mutable","name":"_sender","nameLocation":"18472:7:129","nodeType":"VariableDeclaration","scope":76070,"src":"18464:15:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":76008,"name":"address","nodeType":"ElementaryTypeName","src":"18464:7:129","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"18443:37:129"},"returnParameters":{"id":76012,"nodeType":"ParameterList","parameters":[],"src":"18499:0:129"},"scope":77611,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":76226,"nodeType":"FunctionDefinition","src":"19285:1756:129","nodes":[],"body":{"id":76225,"nodeType":"Block","src":"19371:1670:129","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":76084,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":76081,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76075,"src":"19464:5:129","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":76082,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19470:6:129","memberName":"length","nodeType":"MemberAccess","src":"19464:12:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"hexValue":"30","id":76083,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"19480:1:129","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"19464:17:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":76089,"nodeType":"IfStatement","src":"19460:76:129","trueBody":{"id":76088,"nodeType":"Block","src":"19483:53:129","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":76085,"name":"ProposalDataIsEmpty","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74858,"src":"19504:19:129","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":76086,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19504:21:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":76087,"nodeType":"RevertStatement","src":"19497:28:129"}]}},{"assignments":[76091],"declarations":[{"constant":false,"id":76091,"mutability":"mutable","name":"proposalId","nameLocation":"19554:10:129","nodeType":"VariableDeclaration","scope":76225,"src":"19546:18:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76090,"name":"uint256","nodeType":"ElementaryTypeName","src":"19546:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":76099,"initialValue":{"arguments":[{"id":76094,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76075,"src":"19578:5:129","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":76096,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"19586:7:129","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":76095,"name":"uint256","nodeType":"ElementaryTypeName","src":"19586:7:129","typeDescriptions":{}}}],"id":76097,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"19585:9:129","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}],"expression":{"id":76092,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"19567:3:129","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":76093,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"19571:6:129","memberName":"decode","nodeType":"MemberAccess","src":"19567:10:129","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":76098,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19567:28:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"19546:49:129"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":76102,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":76100,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76091,"src":"19610:10:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":76101,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"19624:1:129","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"19610:15:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":76107,"nodeType":"IfStatement","src":"19606:77:129","trueBody":{"id":76106,"nodeType":"Block","src":"19627:56:129","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":76103,"name":"ProposalIdCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74860,"src":"19648:22:129","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":76104,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19648:24:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":76105,"nodeType":"RevertStatement","src":"19641:31:129"}]}},{"assignments":[76112],"declarations":[{"constant":false,"id":76112,"mutability":"mutable","name":"proposal","nameLocation":"19724:8:129","nodeType":"VariableDeclaration","scope":76225,"src":"19692:40:129","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":76111,"nodeType":"UserDefinedTypeName","pathNode":{"id":76110,"name":"StrategyStruct.Proposal","nameLocations":["19692:14:129","19707:8:129"],"nodeType":"IdentifierPath","referencedDeclaration":74776,"src":"19692:23:129"},"referencedDeclaration":74776,"src":"19692:23:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":76116,"initialValue":{"baseExpression":{"id":76113,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75022,"src":"19735:9:129","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$74776_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":76115,"indexExpression":{"id":76114,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76091,"src":"19745:10:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"19735:21:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"19692:64:129"},{"condition":{"commonType":{"typeIdentifier":"t_enum$_ProposalType_$74726","typeString":"enum StrategyStruct.ProposalType"},"id":76121,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":76117,"name":"proposalType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75005,"src":"19771:12:129","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$74726","typeString":"enum StrategyStruct.ProposalType"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":76118,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74807,"src":"19787:14:129","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$74807_$","typeString":"type(library StrategyStruct)"}},"id":76119,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19802:12:129","memberName":"ProposalType","nodeType":"MemberAccess","referencedDeclaration":74726,"src":"19787:27:129","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalType_$74726_$","typeString":"type(enum StrategyStruct.ProposalType)"}},"id":76120,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"19815:7:129","memberName":"Funding","nodeType":"MemberAccess","referencedDeclaration":74724,"src":"19787:35:129","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$74726","typeString":"enum StrategyStruct.ProposalType"}},"src":"19771:51:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":76224,"nodeType":"IfStatement","src":"19767:1208:129","trueBody":{"id":76223,"nodeType":"Block","src":"19824:1151:129","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":76125,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":76122,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76112,"src":"19842:8:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":76123,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"19851:10:129","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":74751,"src":"19842:19:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":76124,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76091,"src":"19865:10:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"19842:33:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":76131,"nodeType":"IfStatement","src":"19838:108:129","trueBody":{"id":76130,"nodeType":"Block","src":"19877:69:129","statements":[{"errorCall":{"arguments":[{"id":76127,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76091,"src":"19920:10:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":76126,"name":"ProposalNotInList","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74868,"src":"19902:17:129","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":76128,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19902:29:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":76129,"nodeType":"RevertStatement","src":"19895:36:129"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":76135,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":76132,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76112,"src":"19964:8:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":76133,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"19973:15:129","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":74753,"src":"19964:24:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":76134,"name":"poolAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3343,"src":"19991:10:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"19964:37:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":76144,"nodeType":"IfStatement","src":"19960:152:129","trueBody":{"id":76143,"nodeType":"Block","src":"20003:109:129","statements":[{"errorCall":{"arguments":[{"id":76137,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76091,"src":"20048:10:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":76138,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76112,"src":"20060:8:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":76139,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"20069:15:129","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":74753,"src":"20060:24:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":76140,"name":"poolAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3343,"src":"20086:10:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":76136,"name":"PoolAmountNotEnough","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74886,"src":"20028:19:129","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256,uint256) pure"}},"id":76141,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20028:69:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":76142,"nodeType":"RevertStatement","src":"20021:76:129"}]}},{"condition":{"commonType":{"typeIdentifier":"t_enum$_ProposalStatus_$74749","typeString":"enum StrategyStruct.ProposalStatus"},"id":76150,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":76145,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76112,"src":"20130:8:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":76146,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"20139:14:129","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":74768,"src":"20130:23:129","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$74749","typeString":"enum StrategyStruct.ProposalStatus"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"expression":{"id":76147,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74807,"src":"20157:14:129","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$74807_$","typeString":"type(library StrategyStruct)"}},"id":76148,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20172:14:129","memberName":"ProposalStatus","nodeType":"MemberAccess","referencedDeclaration":74749,"src":"20157:29:129","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$74749_$","typeString":"type(enum StrategyStruct.ProposalStatus)"}},"id":76149,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"20187:6:129","memberName":"Active","nodeType":"MemberAccess","referencedDeclaration":74745,"src":"20157:36:129","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$74749","typeString":"enum StrategyStruct.ProposalStatus"}},"src":"20130:63:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":76156,"nodeType":"IfStatement","src":"20126:138:129","trueBody":{"id":76155,"nodeType":"Block","src":"20195:69:129","statements":[{"errorCall":{"arguments":[{"id":76152,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76091,"src":"20238:10:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":76151,"name":"ProposalNotActive","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74864,"src":"20220:17:129","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":76153,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20220:29:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":76154,"nodeType":"RevertStatement","src":"20213:36:129"}]}},{"assignments":[76158],"declarations":[{"constant":false,"id":76158,"mutability":"mutable","name":"convictionLast","nameLocation":"20286:14:129","nodeType":"VariableDeclaration","scope":76223,"src":"20278:22:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76157,"name":"uint256","nodeType":"ElementaryTypeName","src":"20278:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":76162,"initialValue":{"arguments":[{"id":76160,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76091,"src":"20328:10:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":76159,"name":"updateProposalConviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77480,"src":"20303:24:129","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) returns (uint256)"}},"id":76161,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20303:36:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"20278:61:129"},{"assignments":[76164],"declarations":[{"constant":false,"id":76164,"mutability":"mutable","name":"threshold","nameLocation":"20361:9:129","nodeType":"VariableDeclaration","scope":76223,"src":"20353:17:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76163,"name":"uint256","nodeType":"ElementaryTypeName","src":"20353:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":76169,"initialValue":{"arguments":[{"expression":{"id":76166,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76112,"src":"20392:8:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":76167,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"20401:15:129","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":74753,"src":"20392:24:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":76165,"name":"calculateThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77236,"src":"20373:18:129","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":76168,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20373:44:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"20353:64:129"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":76177,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":76172,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":76170,"name":"convictionLast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76158,"src":"20436:14:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":76171,"name":"threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76164,"src":"20453:9:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20436:26:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":76176,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":76173,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76112,"src":"20466:8:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":76174,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"20475:15:129","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":74753,"src":"20466:24:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":76175,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20493:1:129","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"20466:28:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"20436:58:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":76182,"nodeType":"IfStatement","src":"20432:137:129","trueBody":{"id":76181,"nodeType":"Block","src":"20496:73:129","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":76178,"name":"ConvictionUnderMinimumThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74876,"src":"20521:31:129","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":76179,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20521:33:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":76180,"nodeType":"RevertStatement","src":"20514:40:129"}]}},{"assignments":[76187],"declarations":[{"constant":false,"id":76187,"mutability":"mutable","name":"pool","nameLocation":"20601:4:129","nodeType":"VariableDeclaration","scope":76223,"src":"20583:22:129","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool"},"typeName":{"id":76186,"nodeType":"UserDefinedTypeName","pathNode":{"id":76185,"name":"IAllo.Pool","nameLocations":["20583:5:129","20589:4:129"],"nodeType":"IdentifierPath","referencedDeclaration":2319,"src":"20583:10:129"},"referencedDeclaration":2319,"src":"20583:10:129","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool"}},"visibility":"internal"}],"id":76192,"initialValue":{"arguments":[{"id":76190,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3341,"src":"20621:6:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":76188,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3335,"src":"20608:4:129","typeDescriptions":{"typeIdentifier":"t_contract$_IAllo_$2610","typeString":"contract IAllo"}},"id":76189,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20613:7:129","memberName":"getPool","nodeType":"MemberAccess","referencedDeclaration":2603,"src":"20608:12:129","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_struct$_Pool_$2319_memory_ptr_$","typeString":"function (uint256) view external returns (struct IAllo.Pool memory)"}},"id":76191,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20608:20:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"nodeType":"VariableDeclarationStatement","src":"20583:45:129"},{"expression":{"id":76196,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":76193,"name":"poolAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3343,"src":"20643:10:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"expression":{"id":76194,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76112,"src":"20657:8:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":76195,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"20666:15:129","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":74753,"src":"20657:24:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20643:38:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":76197,"nodeType":"ExpressionStatement","src":"20643:38:129"},{"expression":{"arguments":[{"expression":{"id":76199,"name":"pool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76187,"src":"20719:4:129","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"id":76200,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"20724:5:129","memberName":"token","nodeType":"MemberAccess","referencedDeclaration":2311,"src":"20719:10:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":76201,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76112,"src":"20731:8:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":76202,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"20740:11:129","memberName":"beneficiary","nodeType":"MemberAccess","referencedDeclaration":74759,"src":"20731:20:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":76203,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76112,"src":"20753:8:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":76204,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"20762:15:129","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":74753,"src":"20753:24:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":76198,"name":"_transferAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3287,"src":"20703:15:129","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":76205,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20703:75:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":76206,"nodeType":"ExpressionStatement","src":"20703:75:129"},{"expression":{"id":76213,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":76207,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76112,"src":"20809:8:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":76209,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"20818:14:129","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":74768,"src":"20809:23:129","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$74749","typeString":"enum StrategyStruct.ProposalStatus"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"expression":{"id":76210,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74807,"src":"20835:14:129","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$74807_$","typeString":"type(library StrategyStruct)"}},"id":76211,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20850:14:129","memberName":"ProposalStatus","nodeType":"MemberAccess","referencedDeclaration":74749,"src":"20835:29:129","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$74749_$","typeString":"type(enum StrategyStruct.ProposalStatus)"}},"id":76212,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"20865:8:129","memberName":"Executed","nodeType":"MemberAccess","referencedDeclaration":74748,"src":"20835:38:129","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$74749","typeString":"enum StrategyStruct.ProposalStatus"}},"src":"20809:64:129","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$74749","typeString":"enum StrategyStruct.ProposalStatus"}},"id":76214,"nodeType":"ExpressionStatement","src":"20809:64:129"},{"eventCall":{"arguments":[{"id":76216,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76091,"src":"20905:10:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":76217,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76112,"src":"20917:8:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":76218,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"20926:11:129","memberName":"beneficiary","nodeType":"MemberAccess","referencedDeclaration":74759,"src":"20917:20:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":76219,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76112,"src":"20939:8:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":76220,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"20948:15:129","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":74753,"src":"20939:24:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":76215,"name":"Distributed","nodeType":"Identifier","overloadedDeclarations":[74905,2858],"referencedDeclaration":74905,"src":"20893:11:129","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_address_$_t_uint256_$returns$__$","typeString":"function (uint256,address,uint256)"}},"id":76221,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20893:71:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":76222,"nodeType":"EmitStatement","src":"20888:76:129"}]}}]},"baseFunctions":[3828],"implemented":true,"kind":"function","modifiers":[],"name":"_distribute","nameLocation":"19294:11:129","overrides":{"id":76079,"nodeType":"OverrideSpecifier","overrides":[],"src":"19362:8:129"},"parameters":{"id":76078,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76073,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":76226,"src":"19306:16:129","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":76071,"name":"address","nodeType":"ElementaryTypeName","src":"19306:7:129","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":76072,"nodeType":"ArrayTypeName","src":"19306:9:129","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":76075,"mutability":"mutable","name":"_data","nameLocation":"19337:5:129","nodeType":"VariableDeclaration","scope":76226,"src":"19324:18:129","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":76074,"name":"bytes","nodeType":"ElementaryTypeName","src":"19324:5:129","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":76077,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":76226,"src":"19344:7:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":76076,"name":"address","nodeType":"ElementaryTypeName","src":"19344:7:129","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"19305:47:129"},"returnParameters":{"id":76080,"nodeType":"ParameterList","parameters":[],"src":"19371:0:129"},"scope":77611,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":76280,"nodeType":"FunctionDefinition","src":"21047:735:129","nodes":[],"body":{"id":76279,"nodeType":"Block","src":"21136:646:129","nodes":[],"statements":[{"assignments":[76237],"declarations":[{"constant":false,"id":76237,"mutability":"mutable","name":"proposal","nameLocation":"21178:8:129","nodeType":"VariableDeclaration","scope":76279,"src":"21146:40:129","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":76236,"nodeType":"UserDefinedTypeName","pathNode":{"id":76235,"name":"StrategyStruct.Proposal","nameLocations":["21146:14:129","21161:8:129"],"nodeType":"IdentifierPath","referencedDeclaration":74776,"src":"21146:23:129"},"referencedDeclaration":74776,"src":"21146:23:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":76241,"initialValue":{"baseExpression":{"id":76238,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75022,"src":"21189:9:129","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$74776_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":76240,"indexExpression":{"id":76239,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76228,"src":"21199:10:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"21189:21:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"21146:64:129"},{"assignments":[76243,76245],"declarations":[{"constant":false,"id":76243,"mutability":"mutable","name":"convictionLast","nameLocation":"21304:14:129","nodeType":"VariableDeclaration","scope":76279,"src":"21296:22:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76242,"name":"uint256","nodeType":"ElementaryTypeName","src":"21296:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":76245,"mutability":"mutable","name":"blockNumber","nameLocation":"21328:11:129","nodeType":"VariableDeclaration","scope":76279,"src":"21320:19:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76244,"name":"uint256","nodeType":"ElementaryTypeName","src":"21320:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":76251,"initialValue":{"arguments":[{"id":76247,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76237,"src":"21389:8:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},{"expression":{"id":76248,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76237,"src":"21399:8:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":76249,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"21408:12:129","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":74755,"src":"21399:21:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":76246,"name":"_checkBlockAndCalculateConviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77432,"src":"21355:33:129","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Proposal_$74776_storage_ptr_$_t_uint256_$returns$_t_uint256_$_t_uint256_$","typeString":"function (struct StrategyStruct.Proposal storage pointer,uint256) view returns (uint256,uint256)"}},"id":76250,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21355:66:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_uint256_$","typeString":"tuple(uint256,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"21295:126:129"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":76258,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":76254,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":76252,"name":"convictionLast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76243,"src":"21436:14:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":76253,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21454:1:129","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"21436:19:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":76257,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":76255,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76245,"src":"21459:11:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":76256,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21474:1:129","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"21459:16:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"21436:39:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":76265,"nodeType":"IfStatement","src":"21432:110:129","trueBody":{"id":76264,"nodeType":"Block","src":"21477:65:129","statements":[{"expression":{"id":76262,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":76259,"name":"convictionLast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76243,"src":"21491:14:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":76260,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76237,"src":"21508:8:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":76261,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"21517:14:129","memberName":"convictionLast","nodeType":"MemberAccess","referencedDeclaration":74757,"src":"21508:23:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"21491:40:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":76263,"nodeType":"ExpressionStatement","src":"21491:40:129"}]}},{"assignments":[76267],"declarations":[{"constant":false,"id":76267,"mutability":"mutable","name":"threshold","nameLocation":"21559:9:129","nodeType":"VariableDeclaration","scope":76279,"src":"21551:17:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76266,"name":"uint256","nodeType":"ElementaryTypeName","src":"21551:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":76272,"initialValue":{"arguments":[{"expression":{"id":76269,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76237,"src":"21590:8:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":76270,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"21599:15:129","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":74753,"src":"21590:24:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":76268,"name":"calculateThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77236,"src":"21571:18:129","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":76271,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21571:44:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"21551:64:129"},{"expression":{"id":76277,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":76273,"name":"canBeExecuted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76231,"src":"21732:13:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":76276,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":76274,"name":"convictionLast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76243,"src":"21748:14:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":76275,"name":"threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76267,"src":"21766:9:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"21748:27:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"21732:43:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":76278,"nodeType":"ExpressionStatement","src":"21732:43:129"}]},"functionSelector":"824ea8ed","implemented":true,"kind":"function","modifiers":[],"name":"canExecuteProposal","nameLocation":"21056:18:129","parameters":{"id":76229,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76228,"mutability":"mutable","name":"proposalId","nameLocation":"21083:10:129","nodeType":"VariableDeclaration","scope":76280,"src":"21075:18:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76227,"name":"uint256","nodeType":"ElementaryTypeName","src":"21075:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"21074:20:129"},"returnParameters":{"id":76232,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76231,"mutability":"mutable","name":"canBeExecuted","nameLocation":"21121:13:129","nodeType":"VariableDeclaration","scope":76280,"src":"21116:18:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":76230,"name":"bool","nodeType":"ElementaryTypeName","src":"21116:4:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"21115:20:129"},"scope":77611,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":76302,"nodeType":"FunctionDefinition","src":"22072:220:129","nodes":[],"body":{"id":76301,"nodeType":"Block","src":"22163:129:129","nodes":[],"statements":[{"expression":{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":76294,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":76289,"name":"_recipientId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76282,"src":"22223:12:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":76292,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22247:1:129","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":76291,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"22239:7:129","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":76290,"name":"address","nodeType":"ElementaryTypeName","src":"22239:7:129","typeDescriptions":{}}},"id":76293,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22239:10:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"22223:26:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"expression":{"id":76297,"name":"Status","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2815,"src":"22270:6:129","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_Status_$2815_$","typeString":"type(enum IStrategy.Status)"}},"id":76298,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"22277:8:129","memberName":"Accepted","nodeType":"MemberAccess","referencedDeclaration":2810,"src":"22270:15:129","typeDescriptions":{"typeIdentifier":"t_enum$_Status_$2815","typeString":"enum IStrategy.Status"}},"id":76299,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"22223:62:129","trueExpression":{"expression":{"id":76295,"name":"Status","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2815,"src":"22252:6:129","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_Status_$2815_$","typeString":"type(enum IStrategy.Status)"}},"id":76296,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"22259:8:129","memberName":"Rejected","nodeType":"MemberAccess","referencedDeclaration":2811,"src":"22252:15:129","typeDescriptions":{"typeIdentifier":"t_enum$_Status_$2815","typeString":"enum IStrategy.Status"}},"typeDescriptions":{"typeIdentifier":"t_enum$_Status_$2815","typeString":"enum IStrategy.Status"}},"functionReturnParameters":76288,"id":76300,"nodeType":"Return","src":"22216:69:129"}]},"baseFunctions":[3848],"implemented":true,"kind":"function","modifiers":[],"name":"_getRecipientStatus","nameLocation":"22081:19:129","overrides":{"id":76284,"nodeType":"OverrideSpecifier","overrides":[],"src":"22137:8:129"},"parameters":{"id":76283,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76282,"mutability":"mutable","name":"_recipientId","nameLocation":"22109:12:129","nodeType":"VariableDeclaration","scope":76302,"src":"22101:20:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":76281,"name":"address","nodeType":"ElementaryTypeName","src":"22101:7:129","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"22100:22:129"},"returnParameters":{"id":76288,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76287,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":76302,"src":"22155:6:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_Status_$2815","typeString":"enum IStrategy.Status"},"typeName":{"id":76286,"nodeType":"UserDefinedTypeName","pathNode":{"id":76285,"name":"Status","nameLocations":["22155:6:129"],"nodeType":"IdentifierPath","referencedDeclaration":2815,"src":"22155:6:129"},"referencedDeclaration":2815,"src":"22155:6:129","typeDescriptions":{"typeIdentifier":"t_enum$_Status_$2815","typeString":"enum IStrategy.Status"}},"visibility":"internal"}],"src":"22154:8:129"},"scope":77611,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":76321,"nodeType":"FunctionDefinition","src":"22421:288:129","nodes":[],"body":{"id":76320,"nodeType":"Block","src":"22531:178:129","nodes":[],"statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":76317,"name":"NotImplemented","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74826,"src":"22591:14:129","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":76318,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22591:16:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":76319,"nodeType":"RevertStatement","src":"22584:23:129"}]},"baseFunctions":[3687],"documentation":{"id":76303,"nodeType":"StructuredDocumentation","src":"22298:118:129","text":"@return Input the values you would send to distribute(), get the amounts each recipient in the array would receive"},"functionSelector":"b2b878d0","implemented":true,"kind":"function","modifiers":[],"name":"getPayouts","nameLocation":"22430:10:129","overrides":{"id":76311,"nodeType":"OverrideSpecifier","overrides":[],"src":"22489:8:129"},"parameters":{"id":76310,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76306,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":76321,"src":"22441:16:129","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":76304,"name":"address","nodeType":"ElementaryTypeName","src":"22441:7:129","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":76305,"nodeType":"ArrayTypeName","src":"22441:9:129","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":76309,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":76321,"src":"22459:14:129","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":76307,"name":"bytes","nodeType":"ElementaryTypeName","src":"22459:5:129","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":76308,"nodeType":"ArrayTypeName","src":"22459:7:129","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"22440:34:129"},"returnParameters":{"id":76316,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76315,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":76321,"src":"22507:22:129","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_PayoutSummary_$2820_memory_ptr_$dyn_memory_ptr","typeString":"struct IStrategy.PayoutSummary[]"},"typeName":{"baseType":{"id":76313,"nodeType":"UserDefinedTypeName","pathNode":{"id":76312,"name":"PayoutSummary","nameLocations":["22507:13:129"],"nodeType":"IdentifierPath","referencedDeclaration":2820,"src":"22507:13:129"},"referencedDeclaration":2820,"src":"22507:13:129","typeDescriptions":{"typeIdentifier":"t_struct$_PayoutSummary_$2820_storage_ptr","typeString":"struct IStrategy.PayoutSummary"}},"id":76314,"nodeType":"ArrayTypeName","src":"22507:15:129","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_PayoutSummary_$2820_storage_$dyn_storage_ptr","typeString":"struct IStrategy.PayoutSummary[]"}},"visibility":"internal"}],"src":"22506:24:129"},"scope":77611,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":76340,"nodeType":"FunctionDefinition","src":"22715:264:129","nodes":[],"body":{"id":76339,"nodeType":"Block","src":"22867:112:129","nodes":[],"statements":[{"expression":{"id":76332,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76325,"src":"22920:5:129","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":76333,"nodeType":"ExpressionStatement","src":"22920:5:129"},{"expression":{"arguments":[{"id":76335,"name":"_recipientId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76323,"src":"22956:12:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":76336,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22970:1:129","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":76334,"name":"PayoutSummary","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2820,"src":"22942:13:129","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_PayoutSummary_$2820_storage_ptr_$","typeString":"type(struct IStrategy.PayoutSummary storage pointer)"}},"id":76337,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22942:30:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_PayoutSummary_$2820_memory_ptr","typeString":"struct IStrategy.PayoutSummary memory"}},"functionReturnParameters":76331,"id":76338,"nodeType":"Return","src":"22935:37:129"}]},"baseFunctions":[3839],"implemented":true,"kind":"function","modifiers":[],"name":"_getPayout","nameLocation":"22724:10:129","overrides":{"id":76327,"nodeType":"OverrideSpecifier","overrides":[],"src":"22815:8:129"},"parameters":{"id":76326,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76323,"mutability":"mutable","name":"_recipientId","nameLocation":"22743:12:129","nodeType":"VariableDeclaration","scope":76340,"src":"22735:20:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":76322,"name":"address","nodeType":"ElementaryTypeName","src":"22735:7:129","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":76325,"mutability":"mutable","name":"_data","nameLocation":"22770:5:129","nodeType":"VariableDeclaration","scope":76340,"src":"22757:18:129","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":76324,"name":"bytes","nodeType":"ElementaryTypeName","src":"22757:5:129","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"22734:42:129"},"returnParameters":{"id":76331,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76330,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":76340,"src":"22841:20:129","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_PayoutSummary_$2820_memory_ptr","typeString":"struct IStrategy.PayoutSummary"},"typeName":{"id":76329,"nodeType":"UserDefinedTypeName","pathNode":{"id":76328,"name":"PayoutSummary","nameLocations":["22841:13:129"],"nodeType":"IdentifierPath","referencedDeclaration":2820,"src":"22841:13:129"},"referencedDeclaration":2820,"src":"22841:13:129","typeDescriptions":{"typeIdentifier":"t_struct$_PayoutSummary_$2820_storage_ptr","typeString":"struct IStrategy.PayoutSummary"}},"visibility":"internal"}],"src":"22840:22:129"},"scope":77611,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":76351,"nodeType":"FunctionDefinition","src":"22985:127:129","nodes":[],"body":{"id":76350,"nodeType":"Block","src":"23062:50:129","nodes":[],"statements":[{"eventCall":{"arguments":[{"id":76347,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76342,"src":"23097:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":76346,"name":"PoolAmountIncreased","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74915,"src":"23077:19:129","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":76348,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23077:28:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":76349,"nodeType":"EmitStatement","src":"23072:33:129"}]},"baseFunctions":[3862],"implemented":true,"kind":"function","modifiers":[],"name":"_afterIncreasePoolAmount","nameLocation":"22994:24:129","overrides":{"id":76344,"nodeType":"OverrideSpecifier","overrides":[],"src":"23053:8:129"},"parameters":{"id":76343,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76342,"mutability":"mutable","name":"_amount","nameLocation":"23027:7:129","nodeType":"VariableDeclaration","scope":76351,"src":"23019:15:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76341,"name":"uint256","nodeType":"ElementaryTypeName","src":"23019:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"23018:17:129"},"returnParameters":{"id":76345,"nodeType":"ParameterList","parameters":[],"src":"23062:0:129"},"scope":77611,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":76370,"nodeType":"FunctionDefinition","src":"23207:191:129","nodes":[],"body":{"id":76369,"nodeType":"Block","src":"23292:106:129","nodes":[],"statements":[{"expression":{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":76364,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":76359,"name":"_allocator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76353,"src":"23352:10:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":76362,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"23374:1:129","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":76361,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"23366:7:129","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":76360,"name":"address","nodeType":"ElementaryTypeName","src":"23366:7:129","typeDescriptions":{}}},"id":76363,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23366:10:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"23352:24:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"hexValue":"74727565","id":76366,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"23387:4:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"id":76367,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"23352:39:129","trueExpression":{"hexValue":"66616c7365","id":76365,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"23379:5:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":76358,"id":76368,"nodeType":"Return","src":"23345:46:129"}]},"baseFunctions":[3799],"implemented":true,"kind":"function","modifiers":[],"name":"_isValidAllocator","nameLocation":"23216:17:129","overrides":{"id":76355,"nodeType":"OverrideSpecifier","overrides":[],"src":"23268:8:129"},"parameters":{"id":76354,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76353,"mutability":"mutable","name":"_allocator","nameLocation":"23242:10:129","nodeType":"VariableDeclaration","scope":76370,"src":"23234:18:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":76352,"name":"address","nodeType":"ElementaryTypeName","src":"23234:7:129","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"23233:20:129"},"returnParameters":{"id":76358,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76357,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":76370,"src":"23286:4:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":76356,"name":"bool","nodeType":"ElementaryTypeName","src":"23286:4:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"23285:6:129"},"scope":77611,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":76380,"nodeType":"FunctionDefinition","src":"23404:86:129","nodes":[],"body":{"id":76379,"nodeType":"Block","src":"23450:40:129","nodes":[],"statements":[{"expression":{"arguments":[{"id":76376,"name":"_active","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76372,"src":"23475:7:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":76375,"name":"_setPoolActive","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3782,"src":"23460:14:129","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bool_$returns$__$","typeString":"function (bool)"}},"id":76377,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23460:23:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":76378,"nodeType":"ExpressionStatement","src":"23460:23:129"}]},"functionSelector":"b5f620ce","implemented":true,"kind":"function","modifiers":[],"name":"setPoolActive","nameLocation":"23413:13:129","parameters":{"id":76373,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76372,"mutability":"mutable","name":"_active","nameLocation":"23432:7:129","nodeType":"VariableDeclaration","scope":76380,"src":"23427:12:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":76371,"name":"bool","nodeType":"ElementaryTypeName","src":"23427:4:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"23426:14:129"},"returnParameters":{"id":76374,"nodeType":"ParameterList","parameters":[],"src":"23450:0:129"},"scope":77611,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":76468,"nodeType":"FunctionDefinition","src":"23496:836:129","nodes":[],"body":{"id":76467,"nodeType":"Block","src":"23540:792:129","nodes":[],"statements":[{"assignments":[76389],"declarations":[{"constant":false,"id":76389,"mutability":"mutable","name":"proposalsIds","nameLocation":"23615:12:129","nodeType":"VariableDeclaration","scope":76467,"src":"23598:29:129","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":76387,"name":"uint256","nodeType":"ElementaryTypeName","src":"23598:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":76388,"nodeType":"ArrayTypeName","src":"23598:9:129","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"id":76393,"initialValue":{"baseExpression":{"id":76390,"name":"voterStakedProposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75031,"src":"23630:20:129","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$","typeString":"mapping(address => uint256[] storage ref)"}},"id":76392,"indexExpression":{"id":76391,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76382,"src":"23651:7:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"23630:29:129","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage","typeString":"uint256[] storage ref"}},"nodeType":"VariableDeclarationStatement","src":"23598:61:129"},{"body":{"id":76465,"nodeType":"Block","src":"23719:607:129","statements":[{"assignments":[76406],"declarations":[{"constant":false,"id":76406,"mutability":"mutable","name":"proposalId","nameLocation":"23741:10:129","nodeType":"VariableDeclaration","scope":76465,"src":"23733:18:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76405,"name":"uint256","nodeType":"ElementaryTypeName","src":"23733:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":76410,"initialValue":{"baseExpression":{"id":76407,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76389,"src":"23754:12:129","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":76409,"indexExpression":{"id":76408,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76395,"src":"23767:1:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"23754:15:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"23733:36:129"},{"assignments":[76415],"declarations":[{"constant":false,"id":76415,"mutability":"mutable","name":"proposal","nameLocation":"23815:8:129","nodeType":"VariableDeclaration","scope":76465,"src":"23783:40:129","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":76414,"nodeType":"UserDefinedTypeName","pathNode":{"id":76413,"name":"StrategyStruct.Proposal","nameLocations":["23783:14:129","23798:8:129"],"nodeType":"IdentifierPath","referencedDeclaration":74776,"src":"23783:23:129"},"referencedDeclaration":74776,"src":"23783:23:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":76419,"initialValue":{"baseExpression":{"id":76416,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75022,"src":"23826:9:129","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$74776_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":76418,"indexExpression":{"id":76417,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76406,"src":"23836:10:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"23826:21:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"23783:64:129"},{"condition":{"arguments":[{"id":76421,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76406,"src":"23880:10:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":76420,"name":"proposalExists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76656,"src":"23865:14:129","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view returns (bool)"}},"id":76422,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23865:26:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":76464,"nodeType":"IfStatement","src":"23861:455:129","trueBody":{"id":76463,"nodeType":"Block","src":"23893:423:129","statements":[{"assignments":[76424],"declarations":[{"constant":false,"id":76424,"mutability":"mutable","name":"stakedPoints","nameLocation":"23919:12:129","nodeType":"VariableDeclaration","scope":76463,"src":"23911:20:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76423,"name":"uint256","nodeType":"ElementaryTypeName","src":"23911:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":76429,"initialValue":{"baseExpression":{"expression":{"id":76425,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76415,"src":"23934:8:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":76426,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"23943:17:129","memberName":"voterStakedPoints","nodeType":"MemberAccess","referencedDeclaration":74772,"src":"23934:26:129","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":76428,"indexExpression":{"id":76427,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76382,"src":"23961:7:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"23934:35:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"23911:58:129"},{"expression":{"id":76436,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":76430,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76415,"src":"23987:8:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":76433,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"23996:17:129","memberName":"voterStakedPoints","nodeType":"MemberAccess","referencedDeclaration":74772,"src":"23987:26:129","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":76434,"indexExpression":{"id":76432,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76382,"src":"24014:7:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"23987:35:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"30","id":76435,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"24025:1:129","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"23987:39:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":76437,"nodeType":"ExpressionStatement","src":"23987:39:129"},{"expression":{"id":76442,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":76438,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76415,"src":"24044:8:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":76440,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"24053:12:129","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":74755,"src":"24044:21:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"id":76441,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76424,"src":"24069:12:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"24044:37:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":76443,"nodeType":"ExpressionStatement","src":"24044:37:129"},{"expression":{"id":76446,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":76444,"name":"totalStaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74995,"src":"24099:11:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"id":76445,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76424,"src":"24114:12:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"24099:27:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":76447,"nodeType":"ExpressionStatement","src":"24099:27:129"},{"expression":{"arguments":[{"id":76449,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76415,"src":"24171:8:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},{"id":76450,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76424,"src":"24181:12:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":76448,"name":"_calculateAndSetConviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77385,"src":"24144:26:129","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_Proposal_$74776_storage_ptr_$_t_uint256_$returns$__$","typeString":"function (struct StrategyStruct.Proposal storage pointer,uint256)"}},"id":76451,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24144:50:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":76452,"nodeType":"ExpressionStatement","src":"24144:50:129"},{"eventCall":{"arguments":[{"id":76454,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76382,"src":"24230:7:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":76455,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76406,"src":"24239:10:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":76456,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"24251:1:129","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"expression":{"id":76457,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76415,"src":"24254:8:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":76458,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24263:12:129","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":74755,"src":"24254:21:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":76459,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76415,"src":"24277:8:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":76460,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24286:14:129","memberName":"convictionLast","nodeType":"MemberAccess","referencedDeclaration":74757,"src":"24277:23:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":76453,"name":"SupportAdded","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74943,"src":"24217:12:129","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (address,uint256,uint256,uint256,uint256)"}},"id":76461,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24217:84:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":76462,"nodeType":"EmitStatement","src":"24212:89:129"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":76401,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":76398,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76395,"src":"23689:1:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":76399,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76389,"src":"23693:12:129","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":76400,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23706:6:129","memberName":"length","nodeType":"MemberAccess","src":"23693:19:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"23689:23:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":76466,"initializationExpression":{"assignments":[76395],"declarations":[{"constant":false,"id":76395,"mutability":"mutable","name":"i","nameLocation":"23682:1:129","nodeType":"VariableDeclaration","scope":76466,"src":"23674:9:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76394,"name":"uint256","nodeType":"ElementaryTypeName","src":"23674:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":76397,"initialValue":{"hexValue":"30","id":76396,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"23686:1:129","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"23674:13:129"},"loopExpression":{"expression":{"id":76403,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"23714:3:129","subExpression":{"id":76402,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76395,"src":"23714:1:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":76404,"nodeType":"ExpressionStatement","src":"23714:3:129"},"nodeType":"ForStatement","src":"23669:657:129"}]},"implemented":true,"kind":"function","modifiers":[],"name":"withdraw","nameLocation":"23505:8:129","parameters":{"id":76383,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76382,"mutability":"mutable","name":"_member","nameLocation":"23522:7:129","nodeType":"VariableDeclaration","scope":76468,"src":"23514:15:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":76381,"name":"address","nodeType":"ElementaryTypeName","src":"23514:7:129","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"23513:17:129"},"returnParameters":{"id":76384,"nodeType":"ParameterList","parameters":[],"src":"23540:0:129"},"scope":77611,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":76542,"nodeType":"FunctionDefinition","src":"24894:1038:129","nodes":[],"body":{"id":76541,"nodeType":"Block","src":"25363:569:129","nodes":[],"statements":[{"assignments":[76499],"declarations":[{"constant":false,"id":76499,"mutability":"mutable","name":"proposal","nameLocation":"25405:8:129","nodeType":"VariableDeclaration","scope":76541,"src":"25373:40:129","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":76498,"nodeType":"UserDefinedTypeName","pathNode":{"id":76497,"name":"StrategyStruct.Proposal","nameLocations":["25373:14:129","25388:8:129"],"nodeType":"IdentifierPath","referencedDeclaration":74776,"src":"25373:23:129"},"referencedDeclaration":74776,"src":"25373:23:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":76503,"initialValue":{"baseExpression":{"id":76500,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75022,"src":"25416:9:129","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$74776_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":76502,"indexExpression":{"id":76501,"name":"_proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76471,"src":"25426:11:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"25416:22:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"25373:65:129"},{"expression":{"id":76515,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":76504,"name":"threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76491,"src":"25449:9:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":76508,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":76505,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76499,"src":"25461:8:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":76506,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"25470:15:129","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":74753,"src":"25461:24:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":76507,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25489:1:129","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"25461:29:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"arguments":[{"expression":{"id":76511,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76499,"src":"25516:8:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":76512,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"25525:15:129","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":74753,"src":"25516:24:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":76510,"name":"calculateThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77236,"src":"25497:18:129","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":76513,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25497:44:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":76514,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"25461:80:129","trueExpression":{"hexValue":"30","id":76509,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25493:1:129","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"25449:92:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":76516,"nodeType":"ExpressionStatement","src":"25449:92:129"},{"expression":{"components":[{"expression":{"id":76517,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76499,"src":"25572:8:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":76518,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"25581:9:129","memberName":"submitter","nodeType":"MemberAccess","referencedDeclaration":74761,"src":"25572:18:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":76519,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76499,"src":"25604:8:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":76520,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"25613:11:129","memberName":"beneficiary","nodeType":"MemberAccess","referencedDeclaration":74759,"src":"25604:20:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":76521,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76499,"src":"25638:8:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":76522,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"25647:14:129","memberName":"requestedToken","nodeType":"MemberAccess","referencedDeclaration":74763,"src":"25638:23:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":76523,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76499,"src":"25675:8:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":76524,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"25684:15:129","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":74753,"src":"25675:24:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":76525,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76499,"src":"25713:8:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":76526,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"25722:12:129","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":74755,"src":"25713:21:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":76527,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76499,"src":"25748:8:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":76528,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"25757:14:129","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":74768,"src":"25748:23:129","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$74749","typeString":"enum StrategyStruct.ProposalStatus"}},{"expression":{"id":76529,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76499,"src":"25785:8:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":76530,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"25794:9:129","memberName":"blockLast","nodeType":"MemberAccess","referencedDeclaration":74765,"src":"25785:18:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":76531,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76499,"src":"25817:8:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":76532,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"25826:14:129","memberName":"convictionLast","nodeType":"MemberAccess","referencedDeclaration":74757,"src":"25817:23:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":76533,"name":"threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76491,"src":"25854:9:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"baseExpression":{"expression":{"id":76534,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76499,"src":"25877:8:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":76535,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"25886:17:129","memberName":"voterStakedPoints","nodeType":"MemberAccess","referencedDeclaration":74772,"src":"25877:26:129","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":76538,"indexExpression":{"expression":{"id":76536,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"25904:3:129","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":76537,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"25908:6:129","memberName":"sender","nodeType":"MemberAccess","src":"25904:10:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"25877:38:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":76539,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"25558:367:129","typeDescriptions":{"typeIdentifier":"t_tuple$_t_address_$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_enum$_ProposalStatus_$74749_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$","typeString":"tuple(address,address,address,uint256,uint256,enum StrategyStruct.ProposalStatus,uint256,uint256,uint256,uint256)"}},"functionReturnParameters":76494,"id":76540,"nodeType":"Return","src":"25551:374:129"}]},"documentation":{"id":76469,"nodeType":"StructuredDocumentation","src":"24338:551:129","text":" @dev Get proposal details\n @param _proposalId Proposal id\n @return submitter Proposal submitter\n @return beneficiary Proposal beneficiary\n @return requestedToken Proposal requested token\n @return requestedAmount Proposal requested amount\n @return stakedAmount Proposal staked points\n @return proposalStatus Proposal status\n @return blockLast Last block when conviction was calculated\n @return convictionLast Last conviction calculated\n @return threshold Proposal threshold"},"functionSelector":"c7f758a8","implemented":true,"kind":"function","modifiers":[],"name":"getProposal","nameLocation":"24903:11:129","parameters":{"id":76472,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76471,"mutability":"mutable","name":"_proposalId","nameLocation":"24923:11:129","nodeType":"VariableDeclaration","scope":76542,"src":"24915:19:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76470,"name":"uint256","nodeType":"ElementaryTypeName","src":"24915:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"24914:21:129"},"returnParameters":{"id":76494,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76474,"mutability":"mutable","name":"submitter","nameLocation":"25004:9:129","nodeType":"VariableDeclaration","scope":76542,"src":"24996:17:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":76473,"name":"address","nodeType":"ElementaryTypeName","src":"24996:7:129","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":76476,"mutability":"mutable","name":"beneficiary","nameLocation":"25035:11:129","nodeType":"VariableDeclaration","scope":76542,"src":"25027:19:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":76475,"name":"address","nodeType":"ElementaryTypeName","src":"25027:7:129","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":76478,"mutability":"mutable","name":"requestedToken","nameLocation":"25068:14:129","nodeType":"VariableDeclaration","scope":76542,"src":"25060:22:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":76477,"name":"address","nodeType":"ElementaryTypeName","src":"25060:7:129","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":76480,"mutability":"mutable","name":"requestedAmount","nameLocation":"25104:15:129","nodeType":"VariableDeclaration","scope":76542,"src":"25096:23:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76479,"name":"uint256","nodeType":"ElementaryTypeName","src":"25096:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":76482,"mutability":"mutable","name":"stakedAmount","nameLocation":"25141:12:129","nodeType":"VariableDeclaration","scope":76542,"src":"25133:20:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76481,"name":"uint256","nodeType":"ElementaryTypeName","src":"25133:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":76485,"mutability":"mutable","name":"proposalStatus","nameLocation":"25197:14:129","nodeType":"VariableDeclaration","scope":76542,"src":"25167:44:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$74749","typeString":"enum StrategyStruct.ProposalStatus"},"typeName":{"id":76484,"nodeType":"UserDefinedTypeName","pathNode":{"id":76483,"name":"StrategyStruct.ProposalStatus","nameLocations":["25167:14:129","25182:14:129"],"nodeType":"IdentifierPath","referencedDeclaration":74749,"src":"25167:29:129"},"referencedDeclaration":74749,"src":"25167:29:129","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$74749","typeString":"enum StrategyStruct.ProposalStatus"}},"visibility":"internal"},{"constant":false,"id":76487,"mutability":"mutable","name":"blockLast","nameLocation":"25233:9:129","nodeType":"VariableDeclaration","scope":76542,"src":"25225:17:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76486,"name":"uint256","nodeType":"ElementaryTypeName","src":"25225:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":76489,"mutability":"mutable","name":"convictionLast","nameLocation":"25264:14:129","nodeType":"VariableDeclaration","scope":76542,"src":"25256:22:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76488,"name":"uint256","nodeType":"ElementaryTypeName","src":"25256:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":76491,"mutability":"mutable","name":"threshold","nameLocation":"25300:9:129","nodeType":"VariableDeclaration","scope":76542,"src":"25292:17:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76490,"name":"uint256","nodeType":"ElementaryTypeName","src":"25292:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":76493,"mutability":"mutable","name":"voterStakedPoints","nameLocation":"25331:17:129","nodeType":"VariableDeclaration","scope":76542,"src":"25323:25:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76492,"name":"uint256","nodeType":"ElementaryTypeName","src":"25323:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"24982:376:129"},"scope":77611,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":76563,"nodeType":"FunctionDefinition","src":"25938:198:129","nodes":[],"body":{"id":76562,"nodeType":"Block","src":"26020:116:129","nodes":[],"statements":[{"assignments":[76554],"declarations":[{"constant":false,"id":76554,"mutability":"mutable","name":"proposal","nameLocation":"26062:8:129","nodeType":"VariableDeclaration","scope":76562,"src":"26030:40:129","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":76553,"nodeType":"UserDefinedTypeName","pathNode":{"id":76552,"name":"StrategyStruct.Proposal","nameLocations":["26030:14:129","26045:8:129"],"nodeType":"IdentifierPath","referencedDeclaration":74776,"src":"26030:23:129"},"referencedDeclaration":74776,"src":"26030:23:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":76558,"initialValue":{"baseExpression":{"id":76555,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75022,"src":"26073:9:129","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$74776_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":76557,"indexExpression":{"id":76556,"name":"_proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76544,"src":"26083:11:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"26073:22:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"26030:65:129"},{"expression":{"expression":{"id":76559,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76554,"src":"26112:8:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":76560,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"26121:8:129","memberName":"metadata","nodeType":"MemberAccess","referencedDeclaration":74775,"src":"26112:17:129","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage","typeString":"struct Metadata storage ref"}},"functionReturnParameters":76549,"id":76561,"nodeType":"Return","src":"26105:24:129"}]},"functionSelector":"a574cea4","implemented":true,"kind":"function","modifiers":[],"name":"getMetadata","nameLocation":"25947:11:129","parameters":{"id":76545,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76544,"mutability":"mutable","name":"_proposalId","nameLocation":"25967:11:129","nodeType":"VariableDeclaration","scope":76563,"src":"25959:19:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76543,"name":"uint256","nodeType":"ElementaryTypeName","src":"25959:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"25958:21:129"},"returnParameters":{"id":76549,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76548,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":76563,"src":"26003:15:129","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata"},"typeName":{"id":76547,"nodeType":"UserDefinedTypeName","pathNode":{"id":76546,"name":"Metadata","nameLocations":["26003:8:129"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"26003:8:129"},"referencedDeclaration":3098,"src":"26003:8:129","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"}],"src":"26002:17:129"},"scope":77611,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":76579,"nodeType":"FunctionDefinition","src":"26337:176:129","nodes":[],"body":{"id":76578,"nodeType":"Block","src":"26437:76:129","nodes":[],"statements":[{"expression":{"arguments":[{"id":76574,"name":"_proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76566,"src":"26486:11:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":76575,"name":"_voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76568,"src":"26499:6:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"id":76573,"name":"_internal_getProposalVoterStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76621,"src":"26454:31:129","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_address_$returns$_t_uint256_$","typeString":"function (uint256,address) view returns (uint256)"}},"id":76576,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26454:52:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":76572,"id":76577,"nodeType":"Return","src":"26447:59:129"}]},"documentation":{"id":76564,"nodeType":"StructuredDocumentation","src":"26142:190:129","text":" @notice Get stake of voter `_voter` on proposal #`_proposalId`\n @param _proposalId Proposal id\n @param _voter Voter address\n @return Proposal voter stake"},"functionSelector":"e0dd2c38","implemented":true,"kind":"function","modifiers":[],"name":"getProposalVoterStake","nameLocation":"26346:21:129","parameters":{"id":76569,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76566,"mutability":"mutable","name":"_proposalId","nameLocation":"26376:11:129","nodeType":"VariableDeclaration","scope":76579,"src":"26368:19:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76565,"name":"uint256","nodeType":"ElementaryTypeName","src":"26368:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":76568,"mutability":"mutable","name":"_voter","nameLocation":"26397:6:129","nodeType":"VariableDeclaration","scope":76579,"src":"26389:14:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":76567,"name":"address","nodeType":"ElementaryTypeName","src":"26389:7:129","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"26367:37:129"},"returnParameters":{"id":76572,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76571,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":76579,"src":"26428:7:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76570,"name":"uint256","nodeType":"ElementaryTypeName","src":"26428:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"26427:9:129"},"scope":77611,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":76592,"nodeType":"FunctionDefinition","src":"26519:145:129","nodes":[],"body":{"id":76591,"nodeType":"Block","src":"26605:59:129","nodes":[],"statements":[{"expression":{"expression":{"baseExpression":{"id":76586,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75022,"src":"26622:9:129","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$74776_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":76588,"indexExpression":{"id":76587,"name":"_proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76581,"src":"26632:11:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"26622:22:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"id":76589,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"26645:12:129","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":74755,"src":"26622:35:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":76585,"id":76590,"nodeType":"Return","src":"26615:42:129"}]},"functionSelector":"dc96ff2d","implemented":true,"kind":"function","modifiers":[],"name":"getProposalStakedAmount","nameLocation":"26528:23:129","parameters":{"id":76582,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76581,"mutability":"mutable","name":"_proposalId","nameLocation":"26560:11:129","nodeType":"VariableDeclaration","scope":76592,"src":"26552:19:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76580,"name":"uint256","nodeType":"ElementaryTypeName","src":"26552:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"26551:21:129"},"returnParameters":{"id":76585,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76584,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":76592,"src":"26596:7:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76583,"name":"uint256","nodeType":"ElementaryTypeName","src":"26596:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"26595:9:129"},"scope":77611,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":76604,"nodeType":"FunctionDefinition","src":"26733:127:129","nodes":[],"body":{"id":76603,"nodeType":"Block","src":"26810:50:129","nodes":[],"statements":[{"expression":{"baseExpression":{"id":76599,"name":"totalVoterStakePct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75026,"src":"26827:18:129","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":76601,"indexExpression":{"id":76600,"name":"_voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76594,"src":"26846:6:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"26827:26:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":76598,"id":76602,"nodeType":"Return","src":"26820:33:129"}]},"functionSelector":"bcc5b93b","implemented":true,"kind":"function","modifiers":[],"name":"getTotalVoterStakePct","nameLocation":"26742:21:129","parameters":{"id":76595,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76594,"mutability":"mutable","name":"_voter","nameLocation":"26772:6:129","nodeType":"VariableDeclaration","scope":76604,"src":"26764:14:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":76593,"name":"address","nodeType":"ElementaryTypeName","src":"26764:7:129","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"26763:16:129"},"returnParameters":{"id":76598,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76597,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":76604,"src":"26801:7:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76596,"name":"uint256","nodeType":"ElementaryTypeName","src":"26801:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"26800:9:129"},"scope":77611,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":76621,"nodeType":"FunctionDefinition","src":"26866:182:129","nodes":[],"body":{"id":76620,"nodeType":"Block","src":"26976:72:129","nodes":[],"statements":[{"expression":{"baseExpression":{"expression":{"baseExpression":{"id":76613,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75022,"src":"26993:9:129","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$74776_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":76615,"indexExpression":{"id":76614,"name":"_proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76606,"src":"27003:11:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"26993:22:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"id":76616,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"27016:17:129","memberName":"voterStakedPoints","nodeType":"MemberAccess","referencedDeclaration":74772,"src":"26993:40:129","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":76618,"indexExpression":{"id":76617,"name":"_voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76608,"src":"27034:6:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"26993:48:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":76612,"id":76619,"nodeType":"Return","src":"26986:55:129"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_internal_getProposalVoterStake","nameLocation":"26875:31:129","parameters":{"id":76609,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76606,"mutability":"mutable","name":"_proposalId","nameLocation":"26915:11:129","nodeType":"VariableDeclaration","scope":76621,"src":"26907:19:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76605,"name":"uint256","nodeType":"ElementaryTypeName","src":"26907:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":76608,"mutability":"mutable","name":"_voter","nameLocation":"26936:6:129","nodeType":"VariableDeclaration","scope":76621,"src":"26928:14:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":76607,"name":"address","nodeType":"ElementaryTypeName","src":"26928:7:129","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"26906:37:129"},"returnParameters":{"id":76612,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76611,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":76621,"src":"26967:7:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76610,"name":"uint256","nodeType":"ElementaryTypeName","src":"26967:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"26966:9:129"},"scope":77611,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":76631,"nodeType":"FunctionDefinition","src":"27054:145:129","nodes":[],"body":{"id":76630,"nodeType":"Block","src":"27118:81:129","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":76626,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75014,"src":"27135:17:129","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunity_$83082","typeString":"contract RegistryCommunity"}},"id":76627,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"27153:20:129","memberName":"getBasisStakedAmount","nodeType":"MemberAccess","referencedDeclaration":82879,"src":"27135:38:129","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint256_$","typeString":"function () view external returns (uint256)"}},"id":76628,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27135:40:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":76625,"id":76629,"nodeType":"Return","src":"27128:47:129"}]},"implemented":true,"kind":"function","modifiers":[],"name":"getBasisStakedAmount","nameLocation":"27063:20:129","parameters":{"id":76622,"nodeType":"ParameterList","parameters":[],"src":"27083:2:129"},"returnParameters":{"id":76625,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76624,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":76631,"src":"27109:7:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76623,"name":"uint256","nodeType":"ElementaryTypeName","src":"27109:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"27108:9:129"},"scope":77611,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":76656,"nodeType":"FunctionDefinition","src":"27205:185:129","nodes":[],"body":{"id":76655,"nodeType":"Block","src":"27279:111:129","nodes":[],"statements":[{"expression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":76653,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":76643,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":76638,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75022,"src":"27296:9:129","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$74776_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":76640,"indexExpression":{"id":76639,"name":"_proposalID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76633,"src":"27306:11:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"27296:22:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"id":76641,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"27319:10:129","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":74751,"src":"27296:33:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":76642,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"27332:1:129","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"27296:37:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":76652,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":76644,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75022,"src":"27337:9:129","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$74776_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":76646,"indexExpression":{"id":76645,"name":"_proposalID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76633,"src":"27347:11:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"27337:22:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"id":76647,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"27360:9:129","memberName":"submitter","nodeType":"MemberAccess","referencedDeclaration":74761,"src":"27337:32:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":76650,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"27381:1:129","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":76649,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"27373:7:129","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":76648,"name":"address","nodeType":"ElementaryTypeName","src":"27373:7:129","typeDescriptions":{}}},"id":76651,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27373:10:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"27337:46:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"27296:87:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":76637,"id":76654,"nodeType":"Return","src":"27289:94:129"}]},"implemented":true,"kind":"function","modifiers":[],"name":"proposalExists","nameLocation":"27214:14:129","parameters":{"id":76634,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76633,"mutability":"mutable","name":"_proposalID","nameLocation":"27237:11:129","nodeType":"VariableDeclaration","scope":76656,"src":"27229:19:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76632,"name":"uint256","nodeType":"ElementaryTypeName","src":"27229:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"27228:21:129"},"returnParameters":{"id":76637,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76636,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":76656,"src":"27273:4:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":76635,"name":"bool","nodeType":"ElementaryTypeName","src":"27273:4:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"27272:6:129"},"scope":77611,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":76674,"nodeType":"FunctionDefinition","src":"27396:174:129","nodes":[],"body":{"id":76673,"nodeType":"Block","src":"27491:79:129","nodes":[],"statements":[{"expression":{"id":76671,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":76663,"name":"isOverMaxRatio","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76661,"src":"27501:14:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":76670,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":76666,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":76664,"name":"maxRatio","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74988,"src":"27518:8:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":76665,"name":"poolAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3343,"src":"27529:10:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"27518:21:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":76669,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":76667,"name":"_requestedAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76658,"src":"27543:16:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":76668,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74972,"src":"27562:1:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"27543:20:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"27518:45:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"27501:62:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":76672,"nodeType":"ExpressionStatement","src":"27501:62:129"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_isOverMaxRatio","nameLocation":"27405:15:129","parameters":{"id":76659,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76658,"mutability":"mutable","name":"_requestedAmount","nameLocation":"27429:16:129","nodeType":"VariableDeclaration","scope":76674,"src":"27421:24:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76657,"name":"uint256","nodeType":"ElementaryTypeName","src":"27421:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"27420:26:129"},"returnParameters":{"id":76662,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76661,"mutability":"mutable","name":"isOverMaxRatio","nameLocation":"27475:14:129","nodeType":"VariableDeclaration","scope":76674,"src":"27470:19:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":76660,"name":"bool","nodeType":"ElementaryTypeName","src":"27470:4:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"27469:21:129"},"scope":77611,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":76770,"nodeType":"FunctionDefinition","src":"27576:1548:129","nodes":[],"body":{"id":76769,"nodeType":"Block","src":"27706:1418:129","nodes":[],"statements":[{"assignments":[76684],"declarations":[{"constant":false,"id":76684,"mutability":"mutable","name":"deltaSupportSum","nameLocation":"27723:15:129","nodeType":"VariableDeclaration","scope":76769,"src":"27716:22:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":76683,"name":"int256","nodeType":"ElementaryTypeName","src":"27716:6:129","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"id":76686,"initialValue":{"hexValue":"30","id":76685,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"27741:1:129","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"27716:26:129"},{"body":{"id":76731,"nodeType":"Block","src":"27806:576:129","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":76703,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":76698,"name":"_proposalSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76680,"src":"27879:16:129","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$74781_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}},"id":76700,"indexExpression":{"id":76699,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76688,"src":"27896:1:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"27879:19:129","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$74781_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory"}},"id":76701,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"27899:10:129","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":74778,"src":"27879:30:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":76702,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"27913:1:129","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"27879:35:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":76706,"nodeType":"IfStatement","src":"27875:187:129","trueBody":{"id":76705,"nodeType":"Block","src":"27916:146:129","statements":[{"id":76704,"nodeType":"Continue","src":"28039:8:129"}]}},{"assignments":[76708],"declarations":[{"constant":false,"id":76708,"mutability":"mutable","name":"proposalId","nameLocation":"28083:10:129","nodeType":"VariableDeclaration","scope":76731,"src":"28075:18:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76707,"name":"uint256","nodeType":"ElementaryTypeName","src":"28075:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":76713,"initialValue":{"expression":{"baseExpression":{"id":76709,"name":"_proposalSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76680,"src":"28096:16:129","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$74781_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}},"id":76711,"indexExpression":{"id":76710,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76688,"src":"28113:1:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"28096:19:129","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$74781_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory"}},"id":76712,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"28116:10:129","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":74778,"src":"28096:30:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"28075:51:129"},{"condition":{"id":76717,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"28144:27:129","subExpression":{"arguments":[{"id":76715,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76708,"src":"28160:10:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":76714,"name":"proposalExists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76656,"src":"28145:14:129","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view returns (bool)"}},"id":76716,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28145:26:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":76723,"nodeType":"IfStatement","src":"28140:167:129","trueBody":{"id":76722,"nodeType":"Block","src":"28173:134:129","statements":[{"errorCall":{"arguments":[{"id":76719,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76708,"src":"28216:10:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":76718,"name":"ProposalNotInList","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74868,"src":"28198:17:129","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":76720,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28198:29:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":76721,"nodeType":"RevertStatement","src":"28191:36:129"}]}},{"expression":{"id":76729,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":76724,"name":"deltaSupportSum","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76684,"src":"28320:15:129","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"expression":{"baseExpression":{"id":76725,"name":"_proposalSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76680,"src":"28339:16:129","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$74781_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}},"id":76727,"indexExpression":{"id":76726,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76688,"src":"28356:1:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"28339:19:129","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$74781_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory"}},"id":76728,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"28359:12:129","memberName":"deltaSupport","nodeType":"MemberAccess","referencedDeclaration":74780,"src":"28339:32:129","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"28320:51:129","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":76730,"nodeType":"ExpressionStatement","src":"28320:51:129"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":76694,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":76691,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76688,"src":"27772:1:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":76692,"name":"_proposalSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76680,"src":"27776:16:129","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$74781_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}},"id":76693,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"27793:6:129","memberName":"length","nodeType":"MemberAccess","src":"27776:23:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"27772:27:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":76732,"initializationExpression":{"assignments":[76688],"declarations":[{"constant":false,"id":76688,"mutability":"mutable","name":"i","nameLocation":"27765:1:129","nodeType":"VariableDeclaration","scope":76732,"src":"27757:9:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76687,"name":"uint256","nodeType":"ElementaryTypeName","src":"27757:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":76690,"initialValue":{"hexValue":"30","id":76689,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"27769:1:129","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"27757:13:129"},"loopExpression":{"expression":{"id":76696,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"27801:3:129","subExpression":{"id":76695,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76688,"src":"27801:1:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":76697,"nodeType":"ExpressionStatement","src":"27801:3:129"},"nodeType":"ForStatement","src":"27752:630:129"},{"assignments":[76734],"declarations":[{"constant":false,"id":76734,"mutability":"mutable","name":"newTotalVotingSupport","nameLocation":"28486:21:129","nodeType":"VariableDeclaration","scope":76769,"src":"28478:29:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76733,"name":"uint256","nodeType":"ElementaryTypeName","src":"28478:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":76741,"initialValue":{"arguments":[{"arguments":[{"id":76737,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76676,"src":"28544:7:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":76736,"name":"getTotalVoterStakePct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76604,"src":"28522:21:129","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view returns (uint256)"}},"id":76738,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28522:30:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":76739,"name":"deltaSupportSum","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76684,"src":"28554:15:129","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":76735,"name":"_applyDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77092,"src":"28510:11:129","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_int256_$returns$_t_uint256_$","typeString":"function (uint256,int256) pure returns (uint256)"}},"id":76740,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28510:60:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"28478:92:129"},{"assignments":[76743],"declarations":[{"constant":false,"id":76743,"mutability":"mutable","name":"participantBalance","nameLocation":"28660:18:129","nodeType":"VariableDeclaration","scope":76769,"src":"28652:26:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76742,"name":"uint256","nodeType":"ElementaryTypeName","src":"28652:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":76752,"initialValue":{"arguments":[{"id":76746,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76676,"src":"28724:7:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":76749,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"28741:4:129","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$77611","typeString":"contract CVStrategy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategy_$77611","typeString":"contract CVStrategy"}],"id":76748,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"28733:7:129","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":76747,"name":"address","nodeType":"ElementaryTypeName","src":"28733:7:129","typeDescriptions":{}}},"id":76750,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28733:13:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":76744,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75014,"src":"28681:17:129","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunity_$83082","typeString":"contract RegistryCommunity"}},"id":76745,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"28699:24:129","memberName":"getMemberPowerInStrategy","nodeType":"MemberAccess","referencedDeclaration":82423,"src":"28681:42:129","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view external returns (uint256)"}},"id":76751,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28681:66:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"28652:95:129"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":76755,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":76753,"name":"newTotalVotingSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76734,"src":"28913:21:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":76754,"name":"participantBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76743,"src":"28937:18:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"28913:42:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":76762,"nodeType":"IfStatement","src":"28909:147:129","trueBody":{"id":76761,"nodeType":"Block","src":"28957:99:129","statements":[{"errorCall":{"arguments":[{"id":76757,"name":"newTotalVotingSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76734,"src":"29003:21:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":76758,"name":"participantBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76743,"src":"29026:18:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":76756,"name":"NotEnoughPointsToSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74856,"src":"28978:24:129","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":76759,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28978:67:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":76760,"nodeType":"RevertStatement","src":"28971:74:129"}]}},{"expression":{"id":76767,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":76763,"name":"totalVoterStakePct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75026,"src":"29066:18:129","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":76765,"indexExpression":{"id":76764,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76676,"src":"29085:7:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"29066:27:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":76766,"name":"newTotalVotingSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76734,"src":"29096:21:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"29066:51:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":76768,"nodeType":"ExpressionStatement","src":"29066:51:129"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_check_before_addSupport","nameLocation":"27585:24:129","parameters":{"id":76681,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76676,"mutability":"mutable","name":"_sender","nameLocation":"27618:7:129","nodeType":"VariableDeclaration","scope":76770,"src":"27610:15:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":76675,"name":"address","nodeType":"ElementaryTypeName","src":"27610:7:129","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":76680,"mutability":"mutable","name":"_proposalSupport","nameLocation":"27667:16:129","nodeType":"VariableDeclaration","scope":76770,"src":"27627:56:129","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$74781_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport[]"},"typeName":{"baseType":{"id":76678,"nodeType":"UserDefinedTypeName","pathNode":{"id":76677,"name":"StrategyStruct.ProposalSupport","nameLocations":["27627:14:129","27642:15:129"],"nodeType":"IdentifierPath","referencedDeclaration":74781,"src":"27627:30:129"},"referencedDeclaration":74781,"src":"27627:30:129","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$74781_storage_ptr","typeString":"struct StrategyStruct.ProposalSupport"}},"id":76679,"nodeType":"ArrayTypeName","src":"27627:32:129","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$74781_storage_$dyn_storage_ptr","typeString":"struct StrategyStruct.ProposalSupport[]"}},"visibility":"internal"}],"src":"27609:75:129"},"returnParameters":{"id":76682,"nodeType":"ParameterList","parameters":[],"src":"27706:0:129"},"scope":77611,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":77057,"nodeType":"FunctionDefinition","src":"29130:3479:129","nodes":[],"body":{"id":77056,"nodeType":"Block","src":"29235:3374:129","nodes":[],"statements":[{"assignments":[76783],"declarations":[{"constant":false,"id":76783,"mutability":"mutable","name":"proposalsIds","nameLocation":"29262:12:129","nodeType":"VariableDeclaration","scope":77056,"src":"29245:29:129","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":76781,"name":"uint256","nodeType":"ElementaryTypeName","src":"29245:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":76782,"nodeType":"ArrayTypeName","src":"29245:9:129","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"id":76784,"nodeType":"VariableDeclarationStatement","src":"29245:29:129"},{"body":{"id":77054,"nodeType":"Block","src":"29338:3265:129","statements":[{"assignments":[76797],"declarations":[{"constant":false,"id":76797,"mutability":"mutable","name":"proposalId","nameLocation":"29360:10:129","nodeType":"VariableDeclaration","scope":77054,"src":"29352:18:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76796,"name":"uint256","nodeType":"ElementaryTypeName","src":"29352:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":76802,"initialValue":{"expression":{"baseExpression":{"id":76798,"name":"_proposalSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76776,"src":"29373:16:129","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$74781_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}},"id":76800,"indexExpression":{"id":76799,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76786,"src":"29390:1:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"29373:19:129","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$74781_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory"}},"id":76801,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"29393:10:129","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":74778,"src":"29373:30:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"29352:51:129"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":76806,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":76803,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76783,"src":"29476:12:129","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":76804,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"29489:6:129","memberName":"length","nodeType":"MemberAccess","src":"29476:19:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":76805,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29499:1:129","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"29476:24:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":76905,"nodeType":"Block","src":"29628:764:129","statements":[{"assignments":[76823],"declarations":[{"constant":false,"id":76823,"mutability":"mutable","name":"exist","nameLocation":"29651:5:129","nodeType":"VariableDeclaration","scope":76905,"src":"29646:10:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":76822,"name":"bool","nodeType":"ElementaryTypeName","src":"29646:4:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":76825,"initialValue":{"hexValue":"66616c7365","id":76824,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"29659:5:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"nodeType":"VariableDeclarationStatement","src":"29646:18:129"},{"body":{"id":76853,"nodeType":"Block","src":"29732:268:129","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":76841,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"id":76837,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76783,"src":"29783:12:129","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":76839,"indexExpression":{"id":76838,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76827,"src":"29796:1:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"29783:15:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":76840,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76797,"src":"29802:10:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"29783:29:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":76852,"nodeType":"IfStatement","src":"29779:203:129","trueBody":{"id":76851,"nodeType":"Block","src":"29814:168:129","statements":[{"expression":{"id":76844,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":76842,"name":"exist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76823,"src":"29840:5:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":76843,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"29848:4:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"29840:12:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":76845,"nodeType":"ExpressionStatement","src":"29840:12:129"},{"errorCall":{"arguments":[{"id":76847,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76797,"src":"29911:10:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":76848,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76827,"src":"29923:1:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":76846,"name":"ProposalSupportDuplicated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74874,"src":"29885:25:129","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":76849,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29885:40:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":76850,"nodeType":"RevertStatement","src":"29878:47:129"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":76833,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":76830,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76827,"src":"29702:1:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":76831,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76783,"src":"29706:12:129","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":76832,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"29719:6:129","memberName":"length","nodeType":"MemberAccess","src":"29706:19:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"29702:23:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":76854,"initializationExpression":{"assignments":[76827],"declarations":[{"constant":false,"id":76827,"mutability":"mutable","name":"j","nameLocation":"29695:1:129","nodeType":"VariableDeclaration","scope":76854,"src":"29687:9:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76826,"name":"uint256","nodeType":"ElementaryTypeName","src":"29687:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":76829,"initialValue":{"hexValue":"30","id":76828,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29699:1:129","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"29687:13:129"},"loopExpression":{"expression":{"id":76835,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"29727:3:129","subExpression":{"id":76834,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76827,"src":"29727:1:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":76836,"nodeType":"ExpressionStatement","src":"29727:3:129"},"nodeType":"ForStatement","src":"29682:318:129"},{"condition":{"id":76856,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"30021:6:129","subExpression":{"id":76855,"name":"exist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76823,"src":"30022:5:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":76904,"nodeType":"IfStatement","src":"30017:361:129","trueBody":{"id":76903,"nodeType":"Block","src":"30029:349:129","statements":[{"assignments":[76861],"declarations":[{"constant":false,"id":76861,"mutability":"mutable","name":"temp","nameLocation":"30068:4:129","nodeType":"VariableDeclaration","scope":76903,"src":"30051:21:129","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":76859,"name":"uint256","nodeType":"ElementaryTypeName","src":"30051:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":76860,"nodeType":"ArrayTypeName","src":"30051:9:129","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"id":76870,"initialValue":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":76868,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":76865,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76783,"src":"30089:12:129","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":76866,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30102:6:129","memberName":"length","nodeType":"MemberAccess","src":"30089:19:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"31","id":76867,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"30111:1:129","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"30089:23:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":76864,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"30075:13:129","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (uint256[] memory)"},"typeName":{"baseType":{"id":76862,"name":"uint256","nodeType":"ElementaryTypeName","src":"30079:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":76863,"nodeType":"ArrayTypeName","src":"30079:9:129","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}}},"id":76869,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30075:38:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"nodeType":"VariableDeclarationStatement","src":"30051:62:129"},{"body":{"id":76890,"nodeType":"Block","src":"30185:74:129","statements":[{"expression":{"id":76888,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":76882,"name":"temp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76861,"src":"30211:4:129","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":76884,"indexExpression":{"id":76883,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76872,"src":"30216:1:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"30211:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"baseExpression":{"id":76885,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76783,"src":"30221:12:129","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":76887,"indexExpression":{"id":76886,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76872,"src":"30234:1:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"30221:15:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"30211:25:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":76889,"nodeType":"ExpressionStatement","src":"30211:25:129"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":76878,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":76875,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76872,"src":"30155:1:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":76876,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76783,"src":"30159:12:129","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":76877,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30172:6:129","memberName":"length","nodeType":"MemberAccess","src":"30159:19:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"30155:23:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":76891,"initializationExpression":{"assignments":[76872],"declarations":[{"constant":false,"id":76872,"mutability":"mutable","name":"j","nameLocation":"30148:1:129","nodeType":"VariableDeclaration","scope":76891,"src":"30140:9:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76871,"name":"uint256","nodeType":"ElementaryTypeName","src":"30140:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":76874,"initialValue":{"hexValue":"30","id":76873,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"30152:1:129","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"30140:13:129"},"loopExpression":{"expression":{"id":76880,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"30180:3:129","subExpression":{"id":76879,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76872,"src":"30180:1:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":76881,"nodeType":"ExpressionStatement","src":"30180:3:129"},"nodeType":"ForStatement","src":"30135:124:129"},{"expression":{"id":76897,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":76892,"name":"temp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76861,"src":"30280:4:129","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":76895,"indexExpression":{"expression":{"id":76893,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76783,"src":"30285:12:129","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":76894,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30298:6:129","memberName":"length","nodeType":"MemberAccess","src":"30285:19:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"30280:25:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":76896,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76797,"src":"30308:10:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"30280:38:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":76898,"nodeType":"ExpressionStatement","src":"30280:38:129"},{"expression":{"id":76901,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":76899,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76783,"src":"30340:12:129","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":76900,"name":"temp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76861,"src":"30355:4:129","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"src":"30340:19:129","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":76902,"nodeType":"ExpressionStatement","src":"30340:19:129"}]}}]},"id":76906,"nodeType":"IfStatement","src":"29472:920:129","trueBody":{"id":76821,"nodeType":"Block","src":"29502:120:129","statements":[{"expression":{"id":76813,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":76807,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76783,"src":"29520:12:129","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"31","id":76811,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29549:1:129","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":76810,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"29535:13:129","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (uint256[] memory)"},"typeName":{"baseType":{"id":76808,"name":"uint256","nodeType":"ElementaryTypeName","src":"29539:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":76809,"nodeType":"ArrayTypeName","src":"29539:9:129","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}}},"id":76812,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29535:16:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"src":"29520:31:129","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":76814,"nodeType":"ExpressionStatement","src":"29520:31:129"},{"expression":{"id":76819,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":76815,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76783,"src":"29569:12:129","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":76817,"indexExpression":{"hexValue":"30","id":76816,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29582:1:129","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"29569:15:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":76818,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76797,"src":"29587:10:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"29569:28:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":76820,"nodeType":"ExpressionStatement","src":"29569:28:129"}]}},{"assignments":[76908],"declarations":[{"constant":false,"id":76908,"mutability":"mutable","name":"delta","nameLocation":"30412:5:129","nodeType":"VariableDeclaration","scope":77054,"src":"30405:12:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":76907,"name":"int256","nodeType":"ElementaryTypeName","src":"30405:6:129","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"id":76913,"initialValue":{"expression":{"baseExpression":{"id":76909,"name":"_proposalSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76776,"src":"30420:16:129","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$74781_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}},"id":76911,"indexExpression":{"id":76910,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76786,"src":"30437:1:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"30420:19:129","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$74781_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory"}},"id":76912,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30440:12:129","memberName":"deltaSupport","nodeType":"MemberAccess","referencedDeclaration":74780,"src":"30420:32:129","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"VariableDeclarationStatement","src":"30405:47:129"},{"assignments":[76918],"declarations":[{"constant":false,"id":76918,"mutability":"mutable","name":"proposal","nameLocation":"30499:8:129","nodeType":"VariableDeclaration","scope":77054,"src":"30467:40:129","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":76917,"nodeType":"UserDefinedTypeName","pathNode":{"id":76916,"name":"StrategyStruct.Proposal","nameLocations":["30467:14:129","30482:8:129"],"nodeType":"IdentifierPath","referencedDeclaration":74776,"src":"30467:23:129"},"referencedDeclaration":74776,"src":"30467:23:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":76922,"initialValue":{"baseExpression":{"id":76919,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75022,"src":"30510:9:129","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$74776_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":76921,"indexExpression":{"id":76920,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76797,"src":"30520:10:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"30510:21:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"30467:64:129"},{"assignments":[76924],"declarations":[{"constant":false,"id":76924,"mutability":"mutable","name":"previousStakedPoints","nameLocation":"30641:20:129","nodeType":"VariableDeclaration","scope":77054,"src":"30633:28:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76923,"name":"uint256","nodeType":"ElementaryTypeName","src":"30633:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":76929,"initialValue":{"baseExpression":{"expression":{"id":76925,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76918,"src":"30664:8:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":76926,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30673:17:129","memberName":"voterStakedPoints","nodeType":"MemberAccess","referencedDeclaration":74772,"src":"30664:26:129","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":76928,"indexExpression":{"id":76927,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76772,"src":"30691:7:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"30664:35:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"30633:66:129"},{"assignments":[76931],"declarations":[{"constant":false,"id":76931,"mutability":"mutable","name":"stakedPoints","nameLocation":"30872:12:129","nodeType":"VariableDeclaration","scope":77054,"src":"30864:20:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76930,"name":"uint256","nodeType":"ElementaryTypeName","src":"30864:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":76936,"initialValue":{"arguments":[{"id":76933,"name":"previousStakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76924,"src":"30899:20:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":76934,"name":"delta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76908,"src":"30921:5:129","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":76932,"name":"_applyDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77092,"src":"30887:11:129","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_int256_$returns$_t_uint256_$","typeString":"function (uint256,int256) pure returns (uint256)"}},"id":76935,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30887:40:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"30864:63:129"},{"expression":{"id":76943,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":76937,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76918,"src":"31062:8:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":76940,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"31071:17:129","memberName":"voterStakedPoints","nodeType":"MemberAccess","referencedDeclaration":74772,"src":"31062:26:129","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":76941,"indexExpression":{"id":76939,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76772,"src":"31089:7:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"31062:35:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":76942,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76931,"src":"31100:12:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"31062:50:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":76944,"nodeType":"ExpressionStatement","src":"31062:50:129"},{"assignments":[76946],"declarations":[{"constant":false,"id":76946,"mutability":"mutable","name":"hasProposal","nameLocation":"31351:11:129","nodeType":"VariableDeclaration","scope":77054,"src":"31346:16:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":76945,"name":"bool","nodeType":"ElementaryTypeName","src":"31346:4:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":76948,"initialValue":{"hexValue":"66616c7365","id":76947,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"31365:5:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"nodeType":"VariableDeclarationStatement","src":"31346:24:129"},{"body":{"id":76977,"nodeType":"Block","src":"31451:179:129","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":76969,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"baseExpression":{"id":76962,"name":"voterStakedProposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75031,"src":"31473:20:129","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$","typeString":"mapping(address => uint256[] storage ref)"}},"id":76964,"indexExpression":{"id":76963,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76772,"src":"31494:7:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"31473:29:129","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage","typeString":"uint256[] storage ref"}},"id":76966,"indexExpression":{"id":76965,"name":"k","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76950,"src":"31503:1:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"31473:32:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":76967,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76918,"src":"31509:8:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":76968,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"31518:10:129","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":74751,"src":"31509:19:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"31473:55:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":76976,"nodeType":"IfStatement","src":"31469:147:129","trueBody":{"id":76975,"nodeType":"Block","src":"31530:86:129","statements":[{"expression":{"id":76972,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":76970,"name":"hasProposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76946,"src":"31552:11:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":76971,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"31566:4:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"31552:18:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":76973,"nodeType":"ExpressionStatement","src":"31552:18:129"},{"id":76974,"nodeType":"Break","src":"31592:5:129"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":76958,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":76953,"name":"k","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76950,"src":"31404:1:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"baseExpression":{"id":76954,"name":"voterStakedProposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75031,"src":"31408:20:129","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$","typeString":"mapping(address => uint256[] storage ref)"}},"id":76956,"indexExpression":{"id":76955,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76772,"src":"31429:7:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"31408:29:129","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage","typeString":"uint256[] storage ref"}},"id":76957,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"31438:6:129","memberName":"length","nodeType":"MemberAccess","src":"31408:36:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"31404:40:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":76978,"initializationExpression":{"assignments":[76950],"declarations":[{"constant":false,"id":76950,"mutability":"mutable","name":"k","nameLocation":"31397:1:129","nodeType":"VariableDeclaration","scope":76978,"src":"31389:9:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76949,"name":"uint256","nodeType":"ElementaryTypeName","src":"31389:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":76952,"initialValue":{"hexValue":"30","id":76951,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"31401:1:129","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"31389:13:129"},"loopExpression":{"expression":{"id":76960,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"31446:3:129","subExpression":{"id":76959,"name":"k","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76950,"src":"31446:1:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":76961,"nodeType":"ExpressionStatement","src":"31446:3:129"},"nodeType":"ForStatement","src":"31384:246:129"},{"condition":{"id":76980,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"31647:12:129","subExpression":{"id":76979,"name":"hasProposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76946,"src":"31648:11:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":76990,"nodeType":"IfStatement","src":"31643:106:129","trueBody":{"id":76989,"nodeType":"Block","src":"31661:88:129","statements":[{"expression":{"arguments":[{"expression":{"id":76985,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76918,"src":"31714:8:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":76986,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"31723:10:129","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":74751,"src":"31714:19:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"baseExpression":{"id":76981,"name":"voterStakedProposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75031,"src":"31679:20:129","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$","typeString":"mapping(address => uint256[] storage ref)"}},"id":76983,"indexExpression":{"id":76982,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76772,"src":"31700:7:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"31679:29:129","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage","typeString":"uint256[] storage ref"}},"id":76984,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"31709:4:129","memberName":"push","nodeType":"MemberAccess","src":"31679:34:129","typeDescriptions":{"typeIdentifier":"t_function_arraypush_nonpayable$_t_array$_t_uint256_$dyn_storage_ptr_$_t_uint256_$returns$__$attached_to$_t_array$_t_uint256_$dyn_storage_ptr_$","typeString":"function (uint256[] storage pointer,uint256)"}},"id":76987,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31679:55:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":76988,"nodeType":"ExpressionStatement","src":"31679:55:129"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":76993,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":76991,"name":"previousStakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76924,"src":"31904:20:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"id":76992,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76931,"src":"31928:12:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"31904:36:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":77023,"nodeType":"Block","src":"32109:161:129","statements":[{"expression":{"id":77013,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":77009,"name":"totalStaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74995,"src":"32127:11:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":77012,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":77010,"name":"previousStakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76924,"src":"32142:20:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":77011,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76931,"src":"32165:12:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"32142:35:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"32127:50:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":77014,"nodeType":"ExpressionStatement","src":"32127:50:129"},{"expression":{"id":77021,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":77015,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76918,"src":"32195:8:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":77017,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"32204:12:129","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":74755,"src":"32195:21:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":77020,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":77018,"name":"previousStakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76924,"src":"32220:20:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":77019,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76931,"src":"32243:12:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"32220:35:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"32195:60:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":77022,"nodeType":"ExpressionStatement","src":"32195:60:129"}]},"id":77024,"nodeType":"IfStatement","src":"31900:370:129","trueBody":{"id":77008,"nodeType":"Block","src":"31942:161:129","statements":[{"expression":{"id":76998,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":76994,"name":"totalStaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74995,"src":"31960:11:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":76997,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":76995,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76931,"src":"31975:12:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":76996,"name":"previousStakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76924,"src":"31990:20:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"31975:35:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"31960:50:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":76999,"nodeType":"ExpressionStatement","src":"31960:50:129"},{"expression":{"id":77006,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":77000,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76918,"src":"32028:8:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":77002,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"32037:12:129","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":74755,"src":"32028:21:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":77005,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":77003,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76931,"src":"32053:12:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":77004,"name":"previousStakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76924,"src":"32068:20:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"32053:35:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"32028:60:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":77007,"nodeType":"ExpressionStatement","src":"32028:60:129"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":77028,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":77025,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76918,"src":"32287:8:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":77026,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"32296:9:129","memberName":"blockLast","nodeType":"MemberAccess","referencedDeclaration":74765,"src":"32287:18:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":77027,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"32309:1:129","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"32287:23:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":77052,"nodeType":"Block","src":"32384:209:129","statements":[{"expression":{"arguments":[{"id":77038,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76918,"src":"32429:8:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},{"id":77039,"name":"previousStakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76924,"src":"32439:20:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":77037,"name":"_calculateAndSetConviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77385,"src":"32402:26:129","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_Proposal_$74776_storage_ptr_$_t_uint256_$returns$__$","typeString":"function (struct StrategyStruct.Proposal storage pointer,uint256)"}},"id":77040,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32402:58:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":77041,"nodeType":"ExpressionStatement","src":"32402:58:129"},{"eventCall":{"arguments":[{"id":77043,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76772,"src":"32496:7:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":77044,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76797,"src":"32505:10:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":77045,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76931,"src":"32517:12:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":77046,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76918,"src":"32531:8:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":77047,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"32540:12:129","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":74755,"src":"32531:21:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":77048,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76918,"src":"32554:8:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":77049,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"32563:14:129","memberName":"convictionLast","nodeType":"MemberAccess","referencedDeclaration":74757,"src":"32554:23:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":77042,"name":"SupportAdded","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74943,"src":"32483:12:129","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (address,uint256,uint256,uint256,uint256)"}},"id":77050,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32483:95:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":77051,"nodeType":"EmitStatement","src":"32478:100:129"}]},"id":77053,"nodeType":"IfStatement","src":"32283:310:129","trueBody":{"id":77036,"nodeType":"Block","src":"32312:66:129","statements":[{"expression":{"id":77034,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":77029,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76918,"src":"32330:8:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":77031,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"32339:9:129","memberName":"blockLast","nodeType":"MemberAccess","referencedDeclaration":74765,"src":"32330:18:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":77032,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"32351:5:129","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":77033,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"32357:6:129","memberName":"number","nodeType":"MemberAccess","src":"32351:12:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"32330:33:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":77035,"nodeType":"ExpressionStatement","src":"32330:33:129"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":76792,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":76789,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76786,"src":"29304:1:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":76790,"name":"_proposalSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76776,"src":"29308:16:129","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$74781_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}},"id":76791,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"29325:6:129","memberName":"length","nodeType":"MemberAccess","src":"29308:23:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"29304:27:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":77055,"initializationExpression":{"assignments":[76786],"declarations":[{"constant":false,"id":76786,"mutability":"mutable","name":"i","nameLocation":"29297:1:129","nodeType":"VariableDeclaration","scope":77055,"src":"29289:9:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76785,"name":"uint256","nodeType":"ElementaryTypeName","src":"29289:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":76788,"initialValue":{"hexValue":"30","id":76787,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29301:1:129","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"29289:13:129"},"loopExpression":{"expression":{"id":76794,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"29333:3:129","subExpression":{"id":76793,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76786,"src":"29333:1:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":76795,"nodeType":"ExpressionStatement","src":"29333:3:129"},"nodeType":"ForStatement","src":"29284:3319:129"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_addSupport","nameLocation":"29139:11:129","parameters":{"id":76777,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76772,"mutability":"mutable","name":"_sender","nameLocation":"29159:7:129","nodeType":"VariableDeclaration","scope":77057,"src":"29151:15:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":76771,"name":"address","nodeType":"ElementaryTypeName","src":"29151:7:129","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":76776,"mutability":"mutable","name":"_proposalSupport","nameLocation":"29208:16:129","nodeType":"VariableDeclaration","scope":77057,"src":"29168:56:129","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$74781_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport[]"},"typeName":{"baseType":{"id":76774,"nodeType":"UserDefinedTypeName","pathNode":{"id":76773,"name":"StrategyStruct.ProposalSupport","nameLocations":["29168:14:129","29183:15:129"],"nodeType":"IdentifierPath","referencedDeclaration":74781,"src":"29168:30:129"},"referencedDeclaration":74781,"src":"29168:30:129","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$74781_storage_ptr","typeString":"struct StrategyStruct.ProposalSupport"}},"id":76775,"nodeType":"ArrayTypeName","src":"29168:32:129","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$74781_storage_$dyn_storage_ptr","typeString":"struct StrategyStruct.ProposalSupport[]"}},"visibility":"internal"}],"src":"29150:75:129"},"returnParameters":{"id":76778,"nodeType":"ParameterList","parameters":[],"src":"29235:0:129"},"scope":77611,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":77092,"nodeType":"FunctionDefinition","src":"32615:276:129","nodes":[],"body":{"id":77091,"nodeType":"Block","src":"32701:190:129","nodes":[],"statements":[{"assignments":[77067],"declarations":[{"constant":false,"id":77067,"mutability":"mutable","name":"result","nameLocation":"32718:6:129","nodeType":"VariableDeclaration","scope":77091,"src":"32711:13:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":77066,"name":"int256","nodeType":"ElementaryTypeName","src":"32711:6:129","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"id":77074,"initialValue":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":77073,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":77070,"name":"_support","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77059,"src":"32734:8:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":77069,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"32727:6:129","typeDescriptions":{"typeIdentifier":"t_type$_t_int256_$","typeString":"type(int256)"},"typeName":{"id":77068,"name":"int256","nodeType":"ElementaryTypeName","src":"32727:6:129","typeDescriptions":{}}},"id":77071,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32727:16:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":77072,"name":"_delta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77061,"src":"32746:6:129","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"32727:25:129","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"VariableDeclarationStatement","src":"32711:41:129"},{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":77077,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":77075,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77067,"src":"32767:6:129","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"hexValue":"30","id":77076,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"32776:1:129","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"32767:10:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":77085,"nodeType":"IfStatement","src":"32763:90:129","trueBody":{"id":77084,"nodeType":"Block","src":"32779:74:129","statements":[{"errorCall":{"arguments":[{"id":77079,"name":"_support","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77059,"src":"32817:8:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":77080,"name":"_delta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77061,"src":"32827:6:129","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":77081,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77067,"src":"32835:6:129","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":77078,"name":"SupportUnderflow","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74846,"src":"32800:16:129","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_int256_$_t_int256_$returns$__$","typeString":"function (uint256,int256,int256) pure"}},"id":77082,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32800:42:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":77083,"nodeType":"RevertStatement","src":"32793:49:129"}]}},{"expression":{"arguments":[{"id":77088,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77067,"src":"32877:6:129","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":77087,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"32869:7:129","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":77086,"name":"uint256","nodeType":"ElementaryTypeName","src":"32869:7:129","typeDescriptions":{}}},"id":77089,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32869:15:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":77065,"id":77090,"nodeType":"Return","src":"32862:22:129"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_applyDelta","nameLocation":"32624:11:129","parameters":{"id":77062,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77059,"mutability":"mutable","name":"_support","nameLocation":"32644:8:129","nodeType":"VariableDeclaration","scope":77092,"src":"32636:16:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77058,"name":"uint256","nodeType":"ElementaryTypeName","src":"32636:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":77061,"mutability":"mutable","name":"_delta","nameLocation":"32661:6:129","nodeType":"VariableDeclaration","scope":77092,"src":"32654:13:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":77060,"name":"int256","nodeType":"ElementaryTypeName","src":"32654:6:129","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"32635:33:129"},"returnParameters":{"id":77065,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77064,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":77092,"src":"32692:7:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77063,"name":"uint256","nodeType":"ElementaryTypeName","src":"32692:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"32691:9:129"},"scope":77611,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":77148,"nodeType":"FunctionDefinition","src":"33308:1145:129","nodes":[],"body":{"id":77147,"nodeType":"Block","src":"33455:998:129","nodes":[],"statements":[{"assignments":[77105],"declarations":[{"constant":false,"id":77105,"mutability":"mutable","name":"t","nameLocation":"33473:1:129","nodeType":"VariableDeclaration","scope":77147,"src":"33465:9:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77104,"name":"uint256","nodeType":"ElementaryTypeName","src":"33465:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":77107,"initialValue":{"id":77106,"name":"_timePassed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77095,"src":"33477:11:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"33465:23:129"},{"assignments":[77109],"declarations":[{"constant":false,"id":77109,"mutability":"mutable","name":"atTWO_128","nameLocation":"33811:9:129","nodeType":"VariableDeclaration","scope":77147,"src":"33803:17:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77108,"name":"uint256","nodeType":"ElementaryTypeName","src":"33803:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":77119,"initialValue":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":77116,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":77113,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":77111,"name":"decay","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74986,"src":"33829:5:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"313238","id":77112,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"33838:3:129","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"33829:12:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":77114,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"33828:14:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":77115,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74972,"src":"33845:1:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"33828:18:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":77117,"name":"t","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77105,"src":"33848:1:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":77110,"name":"_pow","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77336,"src":"33823:4:129","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":77118,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33823:27:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"33803:47:129"},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":77145,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":77142,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":77139,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":77122,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":77120,"name":"atTWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77109,"src":"34346:9:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":77121,"name":"_lastConv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77097,"src":"34358:9:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"34346:21:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":77123,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"34345:23:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":77137,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":77131,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":77126,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":77124,"name":"_oldAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77099,"src":"34373:10:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":77125,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74972,"src":"34386:1:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"34373:14:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":77129,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":77127,"name":"TWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74975,"src":"34391:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":77128,"name":"atTWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77109,"src":"34401:9:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"34391:19:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":77130,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"34390:21:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"34373:38:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":77132,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"34372:40:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":77135,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":77133,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74972,"src":"34416:1:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":77134,"name":"decay","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74986,"src":"34420:5:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"34416:9:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":77136,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"34415:11:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"34372:54:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":77138,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"34371:56:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"34345:82:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":77140,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"34344:84:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":77141,"name":"TWO_127","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74978,"src":"34431:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"34344:94:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":77143,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"34343:96:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"313238","id":77144,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"34443:3:129","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"34343:103:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":77103,"id":77146,"nodeType":"Return","src":"34336:110:129"}]},"documentation":{"id":77093,"nodeType":"StructuredDocumentation","src":"32897:406:129","text":" @dev Conviction formula: a^t * y(0) + x * (1 - a^t) / (1 - a)\n Solidity implementation: y = (2^128 * a^t * y0 + x * D * (2^128 - 2^128 * a^t) / (D - aD) + 2^127) / 2^128\n @param _timePassed Number of blocks since last conviction record\n @param _lastConv Last conviction record\n @param _oldAmount Amount of tokens staked until now\n @return Current conviction"},"functionSelector":"346db8cb","implemented":true,"kind":"function","modifiers":[],"name":"calculateConviction","nameLocation":"33317:19:129","parameters":{"id":77100,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77095,"mutability":"mutable","name":"_timePassed","nameLocation":"33345:11:129","nodeType":"VariableDeclaration","scope":77148,"src":"33337:19:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77094,"name":"uint256","nodeType":"ElementaryTypeName","src":"33337:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":77097,"mutability":"mutable","name":"_lastConv","nameLocation":"33366:9:129","nodeType":"VariableDeclaration","scope":77148,"src":"33358:17:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77096,"name":"uint256","nodeType":"ElementaryTypeName","src":"33358:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":77099,"mutability":"mutable","name":"_oldAmount","nameLocation":"33385:10:129","nodeType":"VariableDeclaration","scope":77148,"src":"33377:18:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77098,"name":"uint256","nodeType":"ElementaryTypeName","src":"33377:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"33336:60:129"},"returnParameters":{"id":77103,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77102,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":77148,"src":"33442:7:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77101,"name":"uint256","nodeType":"ElementaryTypeName","src":"33442:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"33441:9:129"},"scope":77611,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":77236,"nodeType":"FunctionDefinition","src":"35034:1482:129","nodes":[],"body":{"id":77235,"nodeType":"Block","src":"35129:1387:129","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":77158,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":77156,"name":"poolAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3343,"src":"35263:10:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"hexValue":"30","id":77157,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"35277:1:129","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"35263:15:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":77163,"nodeType":"IfStatement","src":"35259:66:129","trueBody":{"id":77162,"nodeType":"Block","src":"35280:45:129","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":77159,"name":"PoolIsEmpty","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74824,"src":"35301:11:129","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":77160,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35301:13:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":77161,"nodeType":"RevertStatement","src":"35294:20:129"}]}},{"condition":{"arguments":[{"id":77165,"name":"_requestedAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77151,"src":"35781:16:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":77164,"name":"_isOverMaxRatio","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76674,"src":"35765:15:129","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view returns (bool)"}},"id":77166,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35765:33:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":77171,"nodeType":"IfStatement","src":"35761:91:129","trueBody":{"id":77170,"nodeType":"Block","src":"35800:52:129","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":77167,"name":"AmountOverMaxRatio","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74832,"src":"35821:18:129","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":77168,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35821:20:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":77169,"nodeType":"RevertStatement","src":"35814:27:129"}]}},{"assignments":[77173],"declarations":[{"constant":false,"id":77173,"mutability":"mutable","name":"denom","nameLocation":"36008:5:129","nodeType":"VariableDeclaration","scope":77235,"src":"36000:13:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77172,"name":"uint256","nodeType":"ElementaryTypeName","src":"36000:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":77191,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":77190,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":77181,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":77178,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":77174,"name":"maxRatio","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74988,"src":"36017:8:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"commonType":{"typeIdentifier":"t_rational_18446744073709551616_by_1","typeString":"int_const 18446744073709551616"},"id":77177,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"32","id":77175,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"36028:1:129","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"3634","id":77176,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"36033:2:129","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"36028:7:129","typeDescriptions":{"typeIdentifier":"t_rational_18446744073709551616_by_1","typeString":"int_const 18446744073709551616"}},"src":"36017:18:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":77179,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"36016:20:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":77180,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74972,"src":"36039:1:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"36016:24:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":77189,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":77186,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":77182,"name":"_requestedAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77151,"src":"36044:16:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"commonType":{"typeIdentifier":"t_rational_18446744073709551616_by_1","typeString":"int_const 18446744073709551616"},"id":77185,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"32","id":77183,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"36063:1:129","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"3634","id":77184,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"36068:2:129","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"36063:7:129","typeDescriptions":{"typeIdentifier":"t_rational_18446744073709551616_by_1","typeString":"int_const 18446744073709551616"}},"src":"36044:26:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":77187,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"36043:28:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":77188,"name":"poolAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3343,"src":"36074:10:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"36043:41:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"36016:68:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"36000:84:129"},{"expression":{"id":77224,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":77192,"name":"_threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77154,"src":"36094:10:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":77223,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":77220,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":77216,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":77210,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":77207,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":77198,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":77195,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":77193,"name":"weight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74990,"src":"36126:6:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"313238","id":77194,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"36136:3:129","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"36126:13:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":77196,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"36125:15:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":77197,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74972,"src":"36143:1:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"36125:19:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":77199,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"36124:21:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":77205,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":77202,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":77200,"name":"denom","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77173,"src":"36150:5:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":77201,"name":"denom","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77173,"src":"36158:5:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"36150:13:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":77203,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"36149:15:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"3634","id":77204,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"36168:2:129","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"36149:21:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":77206,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"36148:23:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"36124:47:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":77208,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"36123:49:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":77209,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74972,"src":"36175:1:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"36123:53:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":77211,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"36122:55:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":77214,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":77212,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74972,"src":"36181:1:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":77213,"name":"decay","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74986,"src":"36185:5:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"36181:9:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":77215,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"36180:11:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"36122:69:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":77217,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"36121:71:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":77218,"name":"totalEffectiveActivePoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77344,"src":"36195:26:129","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint256_$","typeString":"function () view returns (uint256)"}},"id":77219,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36195:28:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"36121:102:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":77221,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"36107:126:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"3634","id":77222,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"36237:2:129","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"36107:132:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"36094:145:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":77225,"nodeType":"ExpressionStatement","src":"36094:145:129"},{"expression":{"id":77233,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":77226,"name":"_threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77154,"src":"36429:10:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":77229,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":77227,"name":"_threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77154,"src":"36442:10:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":77228,"name":"_minThresholdPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75000,"src":"36455:19:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"36442:32:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"id":77231,"name":"_minThresholdPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75000,"src":"36490:19:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":77232,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"36442:67:129","trueExpression":{"id":77230,"name":"_threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77154,"src":"36477:10:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"36429:80:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":77234,"nodeType":"ExpressionStatement","src":"36429:80:129"}]},"documentation":{"id":77149,"nodeType":"StructuredDocumentation","src":"34459:570:129","text":" @dev Formula: ρ * totalStaked / (1 - a) / (β - requestedAmount / total)**2\n For the Solidity implementation we amplify ρ and β and simplify the formula:\n weight = ρ * D\n maxRatio = β * D\n decay = a * D\n threshold = weight * totalStaked * D ** 2 * funds ** 2 / (D - decay) / (maxRatio * funds - requestedAmount * D) ** 2\n @param _requestedAmount Requested amount of tokens on certain proposal\n @return _threshold Threshold a proposal's conviction should surpass in order to be able to\n executed it."},"functionSelector":"59a5db8b","implemented":true,"kind":"function","modifiers":[],"name":"calculateThreshold","nameLocation":"35043:18:129","parameters":{"id":77152,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77151,"mutability":"mutable","name":"_requestedAmount","nameLocation":"35070:16:129","nodeType":"VariableDeclaration","scope":77236,"src":"35062:24:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77150,"name":"uint256","nodeType":"ElementaryTypeName","src":"35062:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"35061:26:129"},"returnParameters":{"id":77155,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77154,"mutability":"mutable","name":"_threshold","nameLocation":"35117:10:129","nodeType":"VariableDeclaration","scope":77236,"src":"35109:18:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77153,"name":"uint256","nodeType":"ElementaryTypeName","src":"35109:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"35108:20:129"},"scope":77611,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":77271,"nodeType":"FunctionDefinition","src":"36777:269:129","nodes":[],"body":{"id":77270,"nodeType":"Block","src":"36855:191:129","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":77249,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":77247,"name":"_a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77239,"src":"36873:2:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"id":77248,"name":"TWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74975,"src":"36879:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"36873:13:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5f612073686f756c64206265206c657373207468616e206f7220657175616c20746f20325e313238","id":77250,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"36888:42:129","typeDescriptions":{"typeIdentifier":"t_stringliteral_44e2d05298e19dba9341288d7967f4ffbb5a083f725e2470963d4d2d80484153","typeString":"literal_string \"_a should be less than or equal to 2^128\""},"value":"_a should be less than or equal to 2^128"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_44e2d05298e19dba9341288d7967f4ffbb5a083f725e2470963d4d2d80484153","typeString":"literal_string \"_a should be less than or equal to 2^128\""}],"id":77246,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"36865:7:129","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":77251,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36865:66:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":77252,"nodeType":"ExpressionStatement","src":"36865:66:129"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":77256,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":77254,"name":"_b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77241,"src":"36949:2:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":77255,"name":"TWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74975,"src":"36954:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"36949:12:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5f622073686f756c64206265206c657373207468616e20325e313238","id":77257,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"36963:30:129","typeDescriptions":{"typeIdentifier":"t_stringliteral_94029ed39d36fd1673853e0d61636cb1f54d05801d9baceb39b21e0f4420d664","typeString":"literal_string \"_b should be less than 2^128\""},"value":"_b should be less than 2^128"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_94029ed39d36fd1673853e0d61636cb1f54d05801d9baceb39b21e0f4420d664","typeString":"literal_string \"_b should be less than 2^128\""}],"id":77253,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"36941:7:129","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":77258,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36941:53:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":77259,"nodeType":"ExpressionStatement","src":"36941:53:129"},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":77268,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":77265,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":77262,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":77260,"name":"_a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77239,"src":"37013:2:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":77261,"name":"_b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77241,"src":"37018:2:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"37013:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":77263,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"37012:9:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":77264,"name":"TWO_127","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74978,"src":"37024:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"37012:19:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":77266,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"37011:21:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"313238","id":77267,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"37036:3:129","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"37011:28:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":77245,"id":77269,"nodeType":"Return","src":"37004:35:129"}]},"documentation":{"id":77237,"nodeType":"StructuredDocumentation","src":"36522:250:129","text":" Multiply _a by _b / 2^128. Parameter _a should be less than or equal to\n 2^128 and parameter _b should be less than 2^128.\n @param _a left argument\n @param _b right argument\n @return _result _a * _b / 2^128"},"implemented":true,"kind":"function","modifiers":[],"name":"_mul","nameLocation":"36786:4:129","parameters":{"id":77242,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77239,"mutability":"mutable","name":"_a","nameLocation":"36799:2:129","nodeType":"VariableDeclaration","scope":77271,"src":"36791:10:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77238,"name":"uint256","nodeType":"ElementaryTypeName","src":"36791:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":77241,"mutability":"mutable","name":"_b","nameLocation":"36811:2:129","nodeType":"VariableDeclaration","scope":77271,"src":"36803:10:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77240,"name":"uint256","nodeType":"ElementaryTypeName","src":"36803:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"36790:24:129"},"returnParameters":{"id":77245,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77244,"mutability":"mutable","name":"_result","nameLocation":"36846:7:129","nodeType":"VariableDeclaration","scope":77271,"src":"36838:15:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77243,"name":"uint256","nodeType":"ElementaryTypeName","src":"36838:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"36837:17:129"},"scope":77611,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":77336,"nodeType":"FunctionDefinition","src":"37268:447:129","nodes":[],"body":{"id":77335,"nodeType":"Block","src":"37346:369:129","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":77284,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":77282,"name":"_a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77274,"src":"37364:2:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":77283,"name":"TWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74975,"src":"37369:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"37364:12:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5f612073686f756c64206265206c657373207468616e20325e313238","id":77285,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"37378:30:129","typeDescriptions":{"typeIdentifier":"t_stringliteral_8cb59667c527f8a0ca0170161b6ece5e9864e8aa2d080a486f0167056517515f","typeString":"literal_string \"_a should be less than 2^128\""},"value":"_a should be less than 2^128"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_8cb59667c527f8a0ca0170161b6ece5e9864e8aa2d080a486f0167056517515f","typeString":"literal_string \"_a should be less than 2^128\""}],"id":77281,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"37356:7:129","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":77286,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37356:53:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":77287,"nodeType":"ExpressionStatement","src":"37356:53:129"},{"assignments":[77289],"declarations":[{"constant":false,"id":77289,"mutability":"mutable","name":"a","nameLocation":"37427:1:129","nodeType":"VariableDeclaration","scope":77335,"src":"37419:9:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77288,"name":"uint256","nodeType":"ElementaryTypeName","src":"37419:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":77291,"initialValue":{"id":77290,"name":"_a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77274,"src":"37431:2:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"37419:14:129"},{"assignments":[77293],"declarations":[{"constant":false,"id":77293,"mutability":"mutable","name":"b","nameLocation":"37451:1:129","nodeType":"VariableDeclaration","scope":77335,"src":"37443:9:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77292,"name":"uint256","nodeType":"ElementaryTypeName","src":"37443:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":77295,"initialValue":{"id":77294,"name":"_b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77276,"src":"37455:2:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"37443:14:129"},{"expression":{"id":77298,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":77296,"name":"_result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77279,"src":"37467:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":77297,"name":"TWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74975,"src":"37477:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"37467:17:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":77299,"nodeType":"ExpressionStatement","src":"37467:17:129"},{"body":{"id":77333,"nodeType":"Block","src":"37508:201:129","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":77307,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":77305,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":77303,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77293,"src":"37526:1:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"hexValue":"31","id":77304,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"37530:1:129","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"37526:5:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":77306,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"37535:1:129","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"37526:10:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":77331,"nodeType":"Block","src":"37616:83:129","statements":[{"expression":{"id":77325,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":77320,"name":"_result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77279,"src":"37634:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":77322,"name":"_result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77279,"src":"37649:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":77323,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77289,"src":"37658:1:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":77321,"name":"_mul","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77271,"src":"37644:4:129","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":77324,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37644:16:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"37634:26:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":77326,"nodeType":"ExpressionStatement","src":"37634:26:129"},{"expression":{"id":77329,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":77327,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77293,"src":"37678:1:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"hexValue":"31","id":77328,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"37683:1:129","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"37678:6:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":77330,"nodeType":"ExpressionStatement","src":"37678:6:129"}]},"id":77332,"nodeType":"IfStatement","src":"37522:177:129","trueBody":{"id":77319,"nodeType":"Block","src":"37538:72:129","statements":[{"expression":{"id":77313,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":77308,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77289,"src":"37556:1:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":77310,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77289,"src":"37565:1:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":77311,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77289,"src":"37568:1:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":77309,"name":"_mul","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77271,"src":"37560:4:129","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":77312,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37560:10:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"37556:14:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":77314,"nodeType":"ExpressionStatement","src":"37556:14:129"},{"expression":{"id":77317,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":77315,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77293,"src":"37588:1:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":">>=","rightHandSide":{"hexValue":"31","id":77316,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"37594:1:129","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"37588:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":77318,"nodeType":"ExpressionStatement","src":"37588:7:129"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":77302,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":77300,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77293,"src":"37501:1:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":77301,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"37505:1:129","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"37501:5:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":77334,"nodeType":"WhileStatement","src":"37494:215:129"}]},"documentation":{"id":77272,"nodeType":"StructuredDocumentation","src":"37052:211:129","text":" Calculate (_a / 2^128)^_b * 2^128. Parameter _a should be less than 2^128.\n @param _a left argument\n @param _b right argument\n @return _result (_a / 2^128)^_b * 2^128"},"implemented":true,"kind":"function","modifiers":[],"name":"_pow","nameLocation":"37277:4:129","parameters":{"id":77277,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77274,"mutability":"mutable","name":"_a","nameLocation":"37290:2:129","nodeType":"VariableDeclaration","scope":77336,"src":"37282:10:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77273,"name":"uint256","nodeType":"ElementaryTypeName","src":"37282:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":77276,"mutability":"mutable","name":"_b","nameLocation":"37302:2:129","nodeType":"VariableDeclaration","scope":77336,"src":"37294:10:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77275,"name":"uint256","nodeType":"ElementaryTypeName","src":"37294:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"37281:24:129"},"returnParameters":{"id":77280,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77279,"mutability":"mutable","name":"_result","nameLocation":"37337:7:129","nodeType":"VariableDeclaration","scope":77336,"src":"37329:15:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77278,"name":"uint256","nodeType":"ElementaryTypeName","src":"37329:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"37328:17:129"},"scope":77611,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":77344,"nodeType":"FunctionDefinition","src":"37721:112:129","nodes":[],"body":{"id":77343,"nodeType":"Block","src":"37789:44:129","nodes":[],"statements":[{"expression":{"id":77341,"name":"totalPointsActivated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74997,"src":"37806:20:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":77340,"id":77342,"nodeType":"Return","src":"37799:27:129"}]},"functionSelector":"d1e36232","implemented":true,"kind":"function","modifiers":[],"name":"totalEffectiveActivePoints","nameLocation":"37730:26:129","parameters":{"id":77337,"nodeType":"ParameterList","parameters":[],"src":"37756:2:129"},"returnParameters":{"id":77340,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77339,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":77344,"src":"37780:7:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77338,"name":"uint256","nodeType":"ElementaryTypeName","src":"37780:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"37779:9:129"},"scope":77611,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":77385,"nodeType":"FunctionDefinition","src":"38023:396:129","nodes":[],"body":{"id":77384,"nodeType":"Block","src":"38131:288:129","nodes":[],"statements":[{"assignments":[77354,77356],"declarations":[{"constant":false,"id":77354,"mutability":"mutable","name":"conviction","nameLocation":"38150:10:129","nodeType":"VariableDeclaration","scope":77384,"src":"38142:18:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77353,"name":"uint256","nodeType":"ElementaryTypeName","src":"38142:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":77356,"mutability":"mutable","name":"blockNumber","nameLocation":"38170:11:129","nodeType":"VariableDeclaration","scope":77384,"src":"38162:19:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77355,"name":"uint256","nodeType":"ElementaryTypeName","src":"38162:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":77361,"initialValue":{"arguments":[{"id":77358,"name":"_proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77348,"src":"38219:9:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},{"id":77359,"name":"_oldStaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77350,"src":"38230:10:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":77357,"name":"_checkBlockAndCalculateConviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77432,"src":"38185:33:129","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Proposal_$74776_storage_ptr_$_t_uint256_$returns$_t_uint256_$_t_uint256_$","typeString":"function (struct StrategyStruct.Proposal storage pointer,uint256) view returns (uint256,uint256)"}},"id":77360,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38185:56:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_uint256_$","typeString":"tuple(uint256,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"38141:100:129"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":77368,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":77364,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":77362,"name":"conviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77354,"src":"38255:10:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":77363,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"38269:1:129","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"38255:15:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":77367,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":77365,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77356,"src":"38274:11:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":77366,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"38289:1:129","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"38274:16:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"38255:35:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":77371,"nodeType":"IfStatement","src":"38251:72:129","trueBody":{"id":77370,"nodeType":"Block","src":"38292:31:129","statements":[{"functionReturnParameters":77352,"id":77369,"nodeType":"Return","src":"38306:7:129"}]}},{"expression":{"id":77376,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":77372,"name":"_proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77348,"src":"38332:9:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":77374,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"38342:9:129","memberName":"blockLast","nodeType":"MemberAccess","referencedDeclaration":74765,"src":"38332:19:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":77375,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77356,"src":"38354:11:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"38332:33:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":77377,"nodeType":"ExpressionStatement","src":"38332:33:129"},{"expression":{"id":77382,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":77378,"name":"_proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77348,"src":"38375:9:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":77380,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"38385:14:129","memberName":"convictionLast","nodeType":"MemberAccess","referencedDeclaration":74757,"src":"38375:24:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":77381,"name":"conviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77354,"src":"38402:10:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"38375:37:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":77383,"nodeType":"ExpressionStatement","src":"38375:37:129"}]},"documentation":{"id":77345,"nodeType":"StructuredDocumentation","src":"37839:179:129","text":" @dev Calculate conviction and store it on the proposal\n @param _proposal Proposal\n @param _oldStaked Amount of tokens staked on a proposal until now"},"implemented":true,"kind":"function","modifiers":[],"name":"_calculateAndSetConviction","nameLocation":"38032:26:129","parameters":{"id":77351,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77348,"mutability":"mutable","name":"_proposal","nameLocation":"38091:9:129","nodeType":"VariableDeclaration","scope":77385,"src":"38059:41:129","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":77347,"nodeType":"UserDefinedTypeName","pathNode":{"id":77346,"name":"StrategyStruct.Proposal","nameLocations":["38059:14:129","38074:8:129"],"nodeType":"IdentifierPath","referencedDeclaration":74776,"src":"38059:23:129"},"referencedDeclaration":74776,"src":"38059:23:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"},{"constant":false,"id":77350,"mutability":"mutable","name":"_oldStaked","nameLocation":"38110:10:129","nodeType":"VariableDeclaration","scope":77385,"src":"38102:18:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77349,"name":"uint256","nodeType":"ElementaryTypeName","src":"38102:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"38058:63:129"},"returnParameters":{"id":77352,"nodeType":"ParameterList","parameters":[],"src":"38131:0:129"},"scope":77611,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":77432,"nodeType":"FunctionDefinition","src":"38425:719:129","nodes":[],"body":{"id":77431,"nodeType":"Block","src":"38623:521:129","nodes":[],"statements":[{"expression":{"id":77400,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":77397,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77395,"src":"38633:11:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":77398,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"38647:5:129","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":77399,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"38653:6:129","memberName":"number","nodeType":"MemberAccess","src":"38647:12:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"38633:26:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":77401,"nodeType":"ExpressionStatement","src":"38633:26:129"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":77406,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":77403,"name":"_proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77388,"src":"38676:9:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":77404,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"38686:9:129","memberName":"blockLast","nodeType":"MemberAccess","referencedDeclaration":74765,"src":"38676:19:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"id":77405,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77395,"src":"38699:11:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"38676:34:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":77402,"name":"assert","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-3,"src":"38669:6:129","typeDescriptions":{"typeIdentifier":"t_function_assert_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":77407,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38669:42:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":77408,"nodeType":"ExpressionStatement","src":"38669:42:129"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":77412,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":77409,"name":"_proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77388,"src":"38725:9:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":77410,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"38735:9:129","memberName":"blockLast","nodeType":"MemberAccess","referencedDeclaration":74765,"src":"38725:19:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":77411,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77395,"src":"38748:11:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"38725:34:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":77418,"nodeType":"IfStatement","src":"38721:173:129","trueBody":{"id":77417,"nodeType":"Block","src":"38761:133:129","statements":[{"expression":{"components":[{"hexValue":"30","id":77413,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"38849:1:129","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":77414,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"38852:1:129","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"id":77415,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"38848:6:129","typeDescriptions":{"typeIdentifier":"t_tuple$_t_rational_0_by_1_$_t_rational_0_by_1_$","typeString":"tuple(int_const 0,int_const 0)"}},"functionReturnParameters":77396,"id":77416,"nodeType":"Return","src":"38841:13:129"}]}},{"expression":{"id":77429,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":77419,"name":"conviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77393,"src":"38947:10:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":77424,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":77421,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77395,"src":"38993:11:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"expression":{"id":77422,"name":"_proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77388,"src":"39007:9:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":77423,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"39017:9:129","memberName":"blockLast","nodeType":"MemberAccess","referencedDeclaration":74765,"src":"39007:19:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"38993:33:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":77425,"name":"_proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77388,"src":"39079:9:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":77426,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"39089:14:129","memberName":"convictionLast","nodeType":"MemberAccess","referencedDeclaration":74757,"src":"39079:24:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":77427,"name":"_oldStaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77390,"src":"39117:10:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":77420,"name":"calculateConviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77148,"src":"38960:19:129","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256,uint256) view returns (uint256)"}},"id":77428,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38960:177:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"38947:190:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":77430,"nodeType":"ExpressionStatement","src":"38947:190:129"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_checkBlockAndCalculateConviction","nameLocation":"38434:33:129","parameters":{"id":77391,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77388,"mutability":"mutable","name":"_proposal","nameLocation":"38500:9:129","nodeType":"VariableDeclaration","scope":77432,"src":"38468:41:129","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":77387,"nodeType":"UserDefinedTypeName","pathNode":{"id":77386,"name":"StrategyStruct.Proposal","nameLocations":["38468:14:129","38483:8:129"],"nodeType":"IdentifierPath","referencedDeclaration":74776,"src":"38468:23:129"},"referencedDeclaration":74776,"src":"38468:23:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"},{"constant":false,"id":77390,"mutability":"mutable","name":"_oldStaked","nameLocation":"38519:10:129","nodeType":"VariableDeclaration","scope":77432,"src":"38511:18:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77389,"name":"uint256","nodeType":"ElementaryTypeName","src":"38511:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"38467:63:129"},"returnParameters":{"id":77396,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77393,"mutability":"mutable","name":"conviction","nameLocation":"38586:10:129","nodeType":"VariableDeclaration","scope":77432,"src":"38578:18:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77392,"name":"uint256","nodeType":"ElementaryTypeName","src":"38578:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":77395,"mutability":"mutable","name":"blockNumber","nameLocation":"38606:11:129","nodeType":"VariableDeclaration","scope":77432,"src":"38598:19:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77394,"name":"uint256","nodeType":"ElementaryTypeName","src":"38598:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"38577:41:129"},"scope":77611,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":77480,"nodeType":"FunctionDefinition","src":"39150:520:129","nodes":[],"body":{"id":77479,"nodeType":"Block","src":"39229:441:129","nodes":[],"statements":[{"assignments":[77443],"declarations":[{"constant":false,"id":77443,"mutability":"mutable","name":"proposal","nameLocation":"39271:8:129","nodeType":"VariableDeclaration","scope":77479,"src":"39239:40:129","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":77442,"nodeType":"UserDefinedTypeName","pathNode":{"id":77441,"name":"StrategyStruct.Proposal","nameLocations":["39239:14:129","39254:8:129"],"nodeType":"IdentifierPath","referencedDeclaration":74776,"src":"39239:23:129"},"referencedDeclaration":74776,"src":"39239:23:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":77447,"initialValue":{"baseExpression":{"id":77444,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75022,"src":"39282:9:129","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$74776_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":77446,"indexExpression":{"id":77445,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77434,"src":"39292:10:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"39282:21:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"39239:64:129"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":77451,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":77448,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77443,"src":"39318:8:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":77449,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"39327:10:129","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":74751,"src":"39318:19:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":77450,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77434,"src":"39341:10:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"39318:33:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":77457,"nodeType":"IfStatement","src":"39314:100:129","trueBody":{"id":77456,"nodeType":"Block","src":"39353:61:129","statements":[{"errorCall":{"arguments":[{"id":77453,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77434,"src":"39392:10:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":77452,"name":"ProposalNotInList","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74868,"src":"39374:17:129","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":77454,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"39374:29:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":77455,"nodeType":"RevertStatement","src":"39367:36:129"}]}},{"condition":{"commonType":{"typeIdentifier":"t_enum$_ProposalStatus_$74749","typeString":"enum StrategyStruct.ProposalStatus"},"id":77463,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":77458,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77443,"src":"39428:8:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":77459,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"39437:14:129","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":74768,"src":"39428:23:129","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$74749","typeString":"enum StrategyStruct.ProposalStatus"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"expression":{"id":77460,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74807,"src":"39455:14:129","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$74807_$","typeString":"type(library StrategyStruct)"}},"id":77461,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"39470:14:129","memberName":"ProposalStatus","nodeType":"MemberAccess","referencedDeclaration":74749,"src":"39455:29:129","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$74749_$","typeString":"type(enum StrategyStruct.ProposalStatus)"}},"id":77462,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"39485:6:129","memberName":"Active","nodeType":"MemberAccess","referencedDeclaration":74745,"src":"39455:36:129","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$74749","typeString":"enum StrategyStruct.ProposalStatus"}},"src":"39428:63:129","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":77469,"nodeType":"IfStatement","src":"39424:130:129","trueBody":{"id":77468,"nodeType":"Block","src":"39493:61:129","statements":[{"errorCall":{"arguments":[{"id":77465,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77434,"src":"39532:10:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":77464,"name":"ProposalNotActive","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74864,"src":"39514:17:129","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":77466,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"39514:29:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":77467,"nodeType":"RevertStatement","src":"39507:36:129"}]}},{"expression":{"arguments":[{"id":77471,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77443,"src":"39591:8:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},{"expression":{"id":77472,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77443,"src":"39601:8:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":77473,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"39610:12:129","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":74755,"src":"39601:21:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":77470,"name":"_calculateAndSetConviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77385,"src":"39564:26:129","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_Proposal_$74776_storage_ptr_$_t_uint256_$returns$__$","typeString":"function (struct StrategyStruct.Proposal storage pointer,uint256)"}},"id":77474,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"39564:59:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":77475,"nodeType":"ExpressionStatement","src":"39564:59:129"},{"expression":{"expression":{"id":77476,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77443,"src":"39640:8:129","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$74776_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":77477,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"39649:14:129","memberName":"convictionLast","nodeType":"MemberAccess","referencedDeclaration":74757,"src":"39640:23:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":77438,"id":77478,"nodeType":"Return","src":"39633:30:129"}]},"functionSelector":"1aa91a9e","implemented":true,"kind":"function","modifiers":[],"name":"updateProposalConviction","nameLocation":"39159:24:129","parameters":{"id":77435,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77434,"mutability":"mutable","name":"proposalId","nameLocation":"39192:10:129","nodeType":"VariableDeclaration","scope":77480,"src":"39184:18:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77433,"name":"uint256","nodeType":"ElementaryTypeName","src":"39184:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"39183:20:129"},"returnParameters":{"id":77438,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77437,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":77480,"src":"39220:7:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77436,"name":"uint256","nodeType":"ElementaryTypeName","src":"39220:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"39219:9:129"},"scope":77611,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":77499,"nodeType":"FunctionDefinition","src":"39676:124:129","nodes":[],"body":{"id":77498,"nodeType":"Block","src":"39748:52:129","nodes":[],"statements":[{"expression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":77495,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":77489,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":77487,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77482,"src":"39767:6:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":77488,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74972,"src":"39776:1:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"39767:10:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":77490,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"39766:12:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":77493,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":77491,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74972,"src":"39782:1:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":77492,"name":"decay","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74986,"src":"39786:5:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"39782:9:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":77494,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"39781:11:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"39766:26:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":77496,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"39765:28:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":77486,"id":77497,"nodeType":"Return","src":"39758:35:129"}]},"functionSelector":"950559d7","implemented":true,"kind":"function","modifiers":[],"name":"getMaxConviction","nameLocation":"39685:16:129","parameters":{"id":77483,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77482,"mutability":"mutable","name":"amount","nameLocation":"39710:6:129","nodeType":"VariableDeclaration","scope":77499,"src":"39702:14:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77481,"name":"uint256","nodeType":"ElementaryTypeName","src":"39702:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"39701:16:129"},"returnParameters":{"id":77486,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77485,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":77499,"src":"39739:7:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77484,"name":"uint256","nodeType":"ElementaryTypeName","src":"39739:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"39738:9:129"},"scope":77611,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":77517,"nodeType":"FunctionDefinition","src":"39806:137:129","nodes":[],"body":{"id":77516,"nodeType":"Block","src":"39877:66:129","nodes":[],"statements":[{"expression":{"id":77510,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":77508,"name":"decay","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74986,"src":"39887:5:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":77509,"name":"_decay","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77501,"src":"39895:6:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"39887:14:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":77511,"nodeType":"ExpressionStatement","src":"39887:14:129"},{"eventCall":{"arguments":[{"id":77513,"name":"_decay","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77501,"src":"39929:6:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":77512,"name":"DecayUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74951,"src":"39916:12:129","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":77514,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"39916:20:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":77515,"nodeType":"EmitStatement","src":"39911:25:129"}]},"functionSelector":"69fa25c4","implemented":true,"kind":"function","modifiers":[{"arguments":[{"expression":{"id":77504,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"39865:3:129","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":77505,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"39869:6:129","memberName":"sender","nodeType":"MemberAccess","src":"39865:10:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"id":77506,"kind":"modifierInvocation","modifierName":{"id":77503,"name":"onlyPoolManager","nameLocations":["39849:15:129"],"nodeType":"IdentifierPath","referencedDeclaration":3386,"src":"39849:15:129"},"nodeType":"ModifierInvocation","src":"39849:27:129"}],"name":"setDecay","nameLocation":"39815:8:129","parameters":{"id":77502,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77501,"mutability":"mutable","name":"_decay","nameLocation":"39832:6:129","nodeType":"VariableDeclaration","scope":77517,"src":"39824:14:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77500,"name":"uint256","nodeType":"ElementaryTypeName","src":"39824:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"39823:16:129"},"returnParameters":{"id":77507,"nodeType":"ParameterList","parameters":[],"src":"39877:0:129"},"scope":77611,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":77535,"nodeType":"FunctionDefinition","src":"39949:155:129","nodes":[],"body":{"id":77534,"nodeType":"Block","src":"40026:78:129","nodes":[],"statements":[{"expression":{"id":77528,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":77526,"name":"maxRatio","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74988,"src":"40036:8:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":77527,"name":"_maxRatio","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77519,"src":"40047:9:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"40036:20:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":77529,"nodeType":"ExpressionStatement","src":"40036:20:129"},{"eventCall":{"arguments":[{"id":77531,"name":"_maxRatio","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77519,"src":"40087:9:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":77530,"name":"MaxRatioUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74955,"src":"40071:15:129","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":77532,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"40071:26:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":77533,"nodeType":"EmitStatement","src":"40066:31:129"}]},"functionSelector":"11f22ae3","implemented":true,"kind":"function","modifiers":[{"arguments":[{"expression":{"id":77522,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"40014:3:129","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":77523,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"40018:6:129","memberName":"sender","nodeType":"MemberAccess","src":"40014:10:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"id":77524,"kind":"modifierInvocation","modifierName":{"id":77521,"name":"onlyPoolManager","nameLocations":["39998:15:129"],"nodeType":"IdentifierPath","referencedDeclaration":3386,"src":"39998:15:129"},"nodeType":"ModifierInvocation","src":"39998:27:129"}],"name":"setMaxRatio","nameLocation":"39958:11:129","parameters":{"id":77520,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77519,"mutability":"mutable","name":"_maxRatio","nameLocation":"39978:9:129","nodeType":"VariableDeclaration","scope":77535,"src":"39970:17:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77518,"name":"uint256","nodeType":"ElementaryTypeName","src":"39970:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"39969:19:129"},"returnParameters":{"id":77525,"nodeType":"ParameterList","parameters":[],"src":"40026:0:129"},"scope":77611,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":77553,"nodeType":"FunctionDefinition","src":"40110:143:129","nodes":[],"body":{"id":77552,"nodeType":"Block","src":"40183:70:129","nodes":[],"statements":[{"expression":{"id":77546,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":77544,"name":"weight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74990,"src":"40193:6:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":77545,"name":"_weight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77537,"src":"40202:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"40193:16:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":77547,"nodeType":"ExpressionStatement","src":"40193:16:129"},{"eventCall":{"arguments":[{"id":77549,"name":"_weight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77537,"src":"40238:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":77548,"name":"WeightUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74959,"src":"40224:13:129","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":77550,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"40224:22:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":77551,"nodeType":"EmitStatement","src":"40219:27:129"}]},"functionSelector":"fc1711f2","implemented":true,"kind":"function","modifiers":[{"arguments":[{"expression":{"id":77540,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"40171:3:129","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":77541,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"40175:6:129","memberName":"sender","nodeType":"MemberAccess","src":"40171:10:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"id":77542,"kind":"modifierInvocation","modifierName":{"id":77539,"name":"onlyPoolManager","nameLocations":["40155:15:129"],"nodeType":"IdentifierPath","referencedDeclaration":3386,"src":"40155:15:129"},"nodeType":"ModifierInvocation","src":"40155:27:129"}],"name":"setWeight","nameLocation":"40119:9:129","parameters":{"id":77538,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77537,"mutability":"mutable","name":"_weight","nameLocation":"40137:7:129","nodeType":"VariableDeclaration","scope":77553,"src":"40129:15:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77536,"name":"uint256","nodeType":"ElementaryTypeName","src":"40129:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"40128:17:129"},"returnParameters":{"id":77543,"nodeType":"ParameterList","parameters":[],"src":"40183:0:129"},"scope":77611,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":77573,"nodeType":"FunctionDefinition","src":"40259:219:129","nodes":[],"body":{"id":77572,"nodeType":"Block","src":"40354:124:129","nodes":[],"statements":[{"expression":{"id":77566,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":77562,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75014,"src":"40364:17:129","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunity_$83082","typeString":"contract RegistryCommunity"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":77564,"name":"_registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77555,"src":"40402:18:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":77563,"name":"RegistryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83082,"src":"40384:17:129","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_RegistryCommunity_$83082_$","typeString":"type(contract RegistryCommunity)"}},"id":77565,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"40384:37:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunity_$83082","typeString":"contract RegistryCommunity"}},"src":"40364:57:129","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunity_$83082","typeString":"contract RegistryCommunity"}},"id":77567,"nodeType":"ExpressionStatement","src":"40364:57:129"},{"eventCall":{"arguments":[{"id":77569,"name":"_registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77555,"src":"40452:18:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":77568,"name":"RegistryUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74963,"src":"40436:15:129","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":77570,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"40436:35:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":77571,"nodeType":"EmitStatement","src":"40431:40:129"}]},"functionSelector":"058aca44","implemented":true,"kind":"function","modifiers":[{"arguments":[{"expression":{"id":77558,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"40342:3:129","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":77559,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"40346:6:129","memberName":"sender","nodeType":"MemberAccess","src":"40342:10:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"id":77560,"kind":"modifierInvocation","modifierName":{"id":77557,"name":"onlyPoolManager","nameLocations":["40326:15:129"],"nodeType":"IdentifierPath","referencedDeclaration":3386,"src":"40326:15:129"},"nodeType":"ModifierInvocation","src":"40326:27:129"}],"name":"setRegistryCommunity","nameLocation":"40268:20:129","parameters":{"id":77556,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77555,"mutability":"mutable","name":"_registryCommunity","nameLocation":"40297:18:129","nodeType":"VariableDeclaration","scope":77573,"src":"40289:26:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":77554,"name":"address","nodeType":"ElementaryTypeName","src":"40289:7:129","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"40288:28:129"},"returnParameters":{"id":77561,"nodeType":"ParameterList","parameters":[],"src":"40354:0:129"},"scope":77611,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":77592,"nodeType":"FunctionDefinition","src":"40484:237:129","nodes":[],"body":{"id":77591,"nodeType":"Block","src":"40581:140:129","nodes":[],"statements":[{"eventCall":{"arguments":[{"id":77583,"name":"_minThresholdPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75000,"src":"40622:19:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":77584,"name":"minThresholdPoints_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77575,"src":"40643:19:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":77582,"name":"MinThresholdPointsUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74969,"src":"40596:25:129","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":77585,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"40596:67:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":77586,"nodeType":"EmitStatement","src":"40591:72:129"},{"expression":{"id":77589,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":77587,"name":"_minThresholdPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75000,"src":"40673:19:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":77588,"name":"minThresholdPoints_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77575,"src":"40695:19:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"40673:41:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":77590,"nodeType":"ExpressionStatement","src":"40673:41:129"}]},"functionSelector":"2cefadbb","implemented":true,"kind":"function","modifiers":[{"arguments":[{"expression":{"id":77578,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"40569:3:129","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":77579,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"40573:6:129","memberName":"sender","nodeType":"MemberAccess","src":"40569:10:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"id":77580,"kind":"modifierInvocation","modifierName":{"id":77577,"name":"onlyPoolManager","nameLocations":["40553:15:129"],"nodeType":"IdentifierPath","referencedDeclaration":3386,"src":"40553:15:129"},"nodeType":"ModifierInvocation","src":"40553:27:129"}],"name":"setMinThresholdPoints","nameLocation":"40493:21:129","parameters":{"id":77576,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77575,"mutability":"mutable","name":"minThresholdPoints_","nameLocation":"40523:19:129","nodeType":"VariableDeclaration","scope":77592,"src":"40515:27:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77574,"name":"uint256","nodeType":"ElementaryTypeName","src":"40515:7:129","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"40514:29:129"},"returnParameters":{"id":77581,"nodeType":"ParameterList","parameters":[],"src":"40581:0:129"},"scope":77611,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":77610,"nodeType":"FunctionDefinition","src":"40727:170:129","nodes":[],"body":{"id":77609,"nodeType":"Block","src":"40798:99:129","nodes":[],"statements":[{"expression":{"arguments":[{"id":77600,"name":"_sybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77594,"src":"40827:12:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":77599,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75256,"src":"40808:18:129","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":77601,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"40808:32:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":77602,"nodeType":"ExpressionStatement","src":"40808:32:129"},{"expression":{"id":77607,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":77603,"name":"sybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75017,"src":"40850:11:129","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$80667","typeString":"contract ISybilScorer"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":77605,"name":"_sybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77594,"src":"40877:12:129","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":77604,"name":"ISybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80667,"src":"40864:12:129","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ISybilScorer_$80667_$","typeString":"type(contract ISybilScorer)"}},"id":77606,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"40864:26:129","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$80667","typeString":"contract ISybilScorer"}},"src":"40850:40:129","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$80667","typeString":"contract ISybilScorer"}},"id":77608,"nodeType":"ExpressionStatement","src":"40850:40:129"}]},"functionSelector":"ac1ed7b9","implemented":true,"kind":"function","modifiers":[{"id":77597,"kind":"modifierInvocation","modifierName":{"id":77596,"name":"onlyCouncilSafe","nameLocations":["40782:15:129"],"nodeType":"IdentifierPath","referencedDeclaration":75050,"src":"40782:15:129"},"nodeType":"ModifierInvocation","src":"40782:15:129"}],"name":"setSybilScorer","nameLocation":"40736:14:129","parameters":{"id":77595,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77594,"mutability":"mutable","name":"_sybilScorer","nameLocation":"40759:12:129","nodeType":"VariableDeclaration","scope":77610,"src":"40751:20:129","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":77593,"name":"address","nodeType":"ElementaryTypeName","src":"40751:7:129","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"40750:22:129"},"returnParameters":{"id":77598,"nodeType":"ParameterList","parameters":[],"src":"40798:0:129"},"scope":77611,"stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[{"baseName":{"id":74808,"name":"BaseStrategy","nameLocations":["2810:12:129"],"nodeType":"IdentifierPath","referencedDeclaration":3923,"src":"2810:12:129"},"id":74809,"nodeType":"InheritanceSpecifier","src":"2810:12:129"},{"baseName":{"id":74810,"name":"IPointStrategy","nameLocations":["2824:14:129"],"nodeType":"IdentifierPath","referencedDeclaration":74722,"src":"2824:14:129"},"id":74811,"nodeType":"InheritanceSpecifier","src":"2824:14:129"},{"baseName":{"id":74812,"name":"ERC165","nameLocations":["2840:6:129"],"nodeType":"IdentifierPath","referencedDeclaration":58266,"src":"2840:6:129"},"id":74813,"nodeType":"InheritanceSpecifier","src":"2840:6:129"}],"canonicalName":"CVStrategy","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[77611,58266,58472,74722,3923,3089,3317,3106,2969],"name":"CVStrategy","nameLocation":"2796:10:129","scope":77612,"usedErrors":[3008,3011,3014,3017,3020,3023,3026,3029,3032,3035,3038,3041,3044,3047,3050,3053,3056,3059,3062,3065,3068,3071,3074,3079,3082,3085,3088,3117,74818,74820,74822,74824,74826,74828,74830,74832,74834,74836,74838,74846,74848,74850,74856,74858,74860,74864,74868,74874,74876,74878,74886,74888,74890]}],"license":"AGPL-3.0-only"},"id":129} \ No newline at end of file diff --git a/pkg/contracts/out/CVStrategyHelpers.sol/CVStrategyHelpers.json b/pkg/contracts/out/CVStrategyHelpers.sol/CVStrategyHelpers.json index e244750c1..9e3f88cf0 100644 --- a/pkg/contracts/out/CVStrategyHelpers.sol/CVStrategyHelpers.json +++ b/pkg/contracts/out/CVStrategyHelpers.sol/CVStrategyHelpers.json @@ -1,8907 +1 @@ -{ - "abi": [ - { - "type": "function", - "name": "DECIMALS", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "NATIVE", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "PERCENTAGE_SCALE", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "_calculateConviction", - "inputs": [ - { - "name": "_timePassed", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_lastConv", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_oldAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "decay", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "allo_owner", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "allo_treasury", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address payable" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "createPool", - "inputs": [ - { - "name": "allo", - "type": "address", - "internalType": "contract Allo" - }, - { - "name": "strategy", - "type": "address", - "internalType": "address" - }, - { - "name": "registryCommunity", - "type": "address", - "internalType": "address" - }, - { - "name": "registry", - "type": "address", - "internalType": "contract IRegistry" - }, - { - "name": "token", - "type": "address", - "internalType": "address" - }, - { - "name": "proposalType", - "type": "uint8", - "internalType": "enum StrategyStruct.ProposalType" - }, - { - "name": "pointSystem", - "type": "uint8", - "internalType": "enum StrategyStruct.PointSystem" - } - ], - "outputs": [ - { - "name": "poolId", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "createPool", - "inputs": [ - { - "name": "allo", - "type": "address", - "internalType": "contract Allo" - }, - { - "name": "strategy", - "type": "address", - "internalType": "address" - }, - { - "name": "registryCommunity", - "type": "address", - "internalType": "address" - }, - { - "name": "registry", - "type": "address", - "internalType": "contract IRegistry" - }, - { - "name": "token", - "type": "address", - "internalType": "address" - }, - { - "name": "proposalType", - "type": "uint8", - "internalType": "enum StrategyStruct.ProposalType" - }, - { - "name": "pointSystem", - "type": "uint8", - "internalType": "enum StrategyStruct.PointSystem" - }, - { - "name": "pointConfig", - "type": "tuple", - "internalType": "struct StrategyStruct.PointSystemConfig", - "components": [ - { - "name": "maxAmount", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "outputs": [ - { - "name": "poolId", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "getParams", - "inputs": [ - { - "name": "registryCommunity", - "type": "address", - "internalType": "address" - }, - { - "name": "proposalType", - "type": "uint8", - "internalType": "enum StrategyStruct.ProposalType" - }, - { - "name": "pointSystem", - "type": "uint8", - "internalType": "enum StrategyStruct.PointSystem" - }, - { - "name": "pointConfig", - "type": "tuple", - "internalType": "struct StrategyStruct.PointSystemConfig", - "components": [ - { - "name": "maxAmount", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "outputs": [ - { - "name": "params", - "type": "tuple", - "internalType": "struct StrategyStruct.InitializeParams", - "components": [ - { - "name": "registryCommunity", - "type": "address", - "internalType": "address" - }, - { - "name": "decay", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "maxRatio", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "weight", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minThresholdPoints", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "proposalType", - "type": "uint8", - "internalType": "enum StrategyStruct.ProposalType" - }, - { - "name": "pointSystem", - "type": "uint8", - "internalType": "enum StrategyStruct.PointSystem" - }, - { - "name": "pointConfig", - "type": "tuple", - "internalType": "struct StrategyStruct.PointSystemConfig", - "components": [ - { - "name": "maxAmount", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "name": "sybilScorer", - "type": "address", - "internalType": "address" - } - ] - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "local", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "metadata", - "inputs": [], - "outputs": [ - { - "name": "protocol", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "pointer", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "no_recipient", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "nullProfile_member1", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "nullProfile_member2", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "nullProfile_members", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address[]", - "internalType": "address[]" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "nullProfile_notAMember", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "nullProfile_owner", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "pure" - }, - { - "type": "function", - "name": "poolProfile_id1", - "inputs": [ - { - "name": "registry", - "type": "address", - "internalType": "contract IRegistry" - }, - { - "name": "pool_admin", - "type": "address", - "internalType": "address" - }, - { - "name": "pool_managers", - "type": "address[]", - "internalType": "address[]" - } - ], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "pool_admin", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "pool_manager1", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "pool_manager2", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "pool_managers", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address[]", - "internalType": "address[]" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "pool_notAManager", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "profile1_member1", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "profile1_member2", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "profile1_members", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address[]", - "internalType": "address[]" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "profile1_notAMember", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "profile1_owner", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "profile2_member1", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "profile2_member2", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "profile2_members", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address[]", - "internalType": "address[]" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "profile2_notAMember", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "profile2_owner", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "randomAddress", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "recipient", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "recipient1", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "recipient2", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "recipientAddress", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "registry_owner", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - } - ], - "bytecode": { - "object": "0x60016080908152610120604052602e60c081815260a09162001dfe60e0399052805160099081556020820151600a906200003a9082620000f6565b5050503480156200004a57600080fd5b50620001c2565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806200007c57607f821691505b6020821081036200009d57634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620000f157600081815260208120601f850160051c81016020861015620000cc5750805b601f850160051c820191505b81811015620000ed57828155600101620000d8565b5050505b505050565b81516001600160401b0381111562000112576200011262000051565b6200012a8162000123845462000067565b84620000a3565b602080601f831160018114620001625760008415620001495750858301515b600019600386901b1c1916600185901b178555620000ed565b600085815260208120601f198616915b82811015620001935788860151825594840194600190910190840162000172565b5085821015620001b25787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b611c2c80620001d26000396000f3fe608060405234801561001057600080fd5b50600436106102ac5760003560e01c8063770b2e661161017b578063aa3744bd116100d8578063da4bf0871161008c578063e99ce91111610071578063e99ce91114610445578063ed62303a14610458578063ef0d790f1461046b57600080fd5b8063da4bf08714610435578063dac4eb161461043d57600080fd5b8063d1f2cd88116100bd578063d1f2cd8814610412578063d5bee9f51461041a578063d8c12dc21461042257600080fd5b8063aa3744bd14610402578063d1e82b581461040a57600080fd5b80638c7408c41161012f5780638e3c2493116101145780638e3c2493146103d7578063a0cf0aea146103df578063a407c67a146103fa57600080fd5b80638c7408c4146102ec5780638e0d1a50146103cf57600080fd5b80637b2edf32116101605780637b2edf32146103bf5780637cbe79ed146103c7578063829e423f146102ec57600080fd5b8063770b2e661461039757806379e62d0d146103b757600080fd5b8063392f37e91161022957806366d003ac116101dd57806370a32944116101c257806370a329441461038757806374d9284e146102ec578063759c9a861461038f57600080fd5b806366d003ac146103775780636a38dd0a1461037f57600080fd5b80634bf4ba211161020e5780634bf4ba2114610352578063587c1243146103675780635aff59991461036f57600080fd5b8063392f37e9146103335780633f26479e1461034957600080fd5b8063174eedde116102805780631e7bcb2e116102655780631e7bcb2e146102fb5780632e0f26251461030357806337d1c4041461032057600080fd5b8063174eedde146102ec5780631b96dce6146102f357600080fd5b8062b1fad7146102b1578063030e4006146102d65780630688b135146102de5780630f166ad4146102e6575b600080fd5b6102b9610473565b6040516001600160a01b0390911681526020015b60405180910390f35b6102b96104b8565b6102b96104f8565b306102b9565b60006102b9565b6102b9610538565b6102b9610578565b610312670de0b6b3a764000081565b6040519081526020016102cd565b61031261032e366004611459565b6105b8565b61033b6106a2565b6040516102cd929190611582565b61031261271081565b61035a610739565b6040516102cd91906115e7565b6102b961075c565b6102b961079c565b6102b96107dc565b6102b961081c565b61035a61085c565b6102b96108f4565b6103aa6103a5366004611664565b610934565b6040516102cd91906116e7565b61035a610a0f565b6102b9610a77565b6102b9610ab7565b6102b9610af7565b6102b9610b37565b6102b973eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b61035a610b77565b6102b9610bdf565b6102b9610c1f565b6102b9610c5f565b6102b9610c9f565b610312610430366004611781565b610cdf565b6102b9610d0c565b6102b9610d4c565b610312610453366004611813565b610d8c565b610312610466366004611845565b610e26565b6102b9611029565b60006104b36040518060400160405280600d81526020017f706f6f6c5f6d616e616765723100000000000000000000000000000000000000815250611065565b905090565b60006104b36040518060400160405280601381526020017f70726f66696c65315f6e6f74414d656d62657200000000000000000000000000815250611065565b60006104b36040518060400160405280600a81526020017f726563697069656e743200000000000000000000000000000000000000000000815250611065565b60006104b36040518060400160405280600e81526020017f70726f66696c65325f6f776e6572000000000000000000000000000000000000815250611065565b60006104b36040518060400160405280601081526020017f70726f66696c65315f6d656d6265723100000000000000000000000000000000815250611065565b600b54600090610697576040805180820182526001815281518083018352600c81527f506f6f6c50726f66696c6531000000000000000000000000000000000000000060208281019190915282015290517f3a92f65f0000000000000000000000000000000000000000000000000000000081526001600160a01b03861691633a92f65f9161065091600291889088906004016118e9565b6020604051808303816000875af115801561066f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106939190611979565b600b555b50600b549392505050565b60098054600a80549192916106b690611992565b80601f01602080910402602001604051908101604052809291908181526020018280546106e290611992565b801561072f5780601f106107045761010080835404028352916020019161072f565b820191906000526020600020905b81548152906001019060200180831161071257829003601f168201915b5050505050905082565b604080516002808252606080830184529260208301908036833701905050905090565b60006104b36040518060400160405280601081526020017f70726f66696c65325f6d656d6265723100000000000000000000000000000000815250611065565b60006104b36040518060400160405280601081526020017f726563697069656e744164647265737300000000000000000000000000000000815250611065565b60006104b36040518060400160405280600981526020017f726563697069656e740000000000000000000000000000000000000000000000815250611065565b60006104b36040518060400160405280600d81526020017f706f6f6c5f6d616e616765723200000000000000000000000000000000000000815250611065565b60408051600280825260608083018452926000929190602083019080368337019050509050610889610578565b8160008151811061089c5761089c6119cc565b60200260200101906001600160a01b031690816001600160a01b0316815250506108c4610a77565b816001815181106108d7576108d76119cc565b6001600160a01b0390921660209283029190910190910152919050565b60006104b36040518060400160405280600c81526020017f6e6f5f726563697069656e740000000000000000000000000000000000000000815250611065565b61093c611380565b61094d670de0a46bc207d800611077565b60208201526109636702c68af0bb140000611077565b604082015261097866038d7ea4c68000611077565b60608201526001600160a01b038516815260a0810184600281111561099f5761099f6116bd565b908160028111156109b2576109b26116bd565b90525060c081018360038111156109cb576109cb6116bd565b908160038111156109de576109de6116bd565b9052508151600003610a00576109fd670de0b6b3a764000060c86119f8565b82525b60e08101919091529392505050565b60408051600280825260608083018452926000929190602083019080368337019050509050610a3c610473565b81600081518110610a4f57610a4f6119cc565b60200260200101906001600160a01b031690816001600160a01b0316815250506108c461081c565b60006104b36040518060400160405280601081526020017f70726f66696c65315f6d656d6265723200000000000000000000000000000000815250611065565b60006104b36040518060400160405280600a81526020017f616c6c6f5f6f776e657200000000000000000000000000000000000000000000815250611065565b60006104b36040518060400160405280600a81526020017f706f6f6c5f61646d696e00000000000000000000000000000000000000000000815250611065565b60006104b36040518060400160405280601081526020017f70726f66696c65325f6d656d6265723200000000000000000000000000000000815250611065565b60408051600280825260608083018452926000929190602083019080368337019050509050610ba461075c565b81600081518110610bb757610bb76119cc565b60200260200101906001600160a01b031690816001600160a01b0316815250506108c4610b37565b60006104b36040518060400160405280600a81526020017f726563697069656e743100000000000000000000000000000000000000000000815250611065565b60006104b36040518060400160405280601081526020017f706f6f6c5f6e6f74414d616e6167657200000000000000000000000000000000815250611065565b60006104b36040518060400160405280600e81526020017f70726f66696c65315f6f776e6572000000000000000000000000000000000000815250611065565b60006104b36040518060400160405280600b81526020017f72616e646f6d2063686164000000000000000000000000000000000000000000815250611065565b6000610d008888888888888860405180602001604052806000815250610e26565b98975050505050505050565b60006104b36040518060400160405280600d81526020017f616c6c6f5f747265617375727900000000000000000000000000000000000000815250611065565b60006104b36040518060400160405280600e81526020017f72656769737472795f6f776e6572000000000000000000000000000000000000815250611065565b60008481610daa610da462989680608087901b611a0f565b8361108e565b905060806f80000000000000000000000000000000610dcc8662989680611a31565b610dda84600160801b611a31565b610de7629896808a6119f8565b610df191906119f8565b610dfb9190611a0f565b610e0589856119f8565b610e0f9190611a44565b610e199190611a44565b901c979650505050505050565b600080610e3588868686610934565b60408051600280825260608201835292935060009290916020830190803683370190505090503081600081518110610e6f57610e6f6119cc565b60200260200101906001600160a01b031690816001600160a01b0316815250503381600181518110610ea357610ea36119cc565b6001600160a01b03928316602091820292909201015273eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee90881615610ed95750865b8b6001600160a01b031663e1007d4a610efa8b610ef4610af7565b866105b8565b8d86604051602001610f0c91906116e7565b6040516020818303038152906040528560006009896040518863ffffffff1660e01b8152600401610f439796959493929190611a57565b6020604051808303816000875af1158015610f62573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f869190611979565b9350866002811115610f9a57610f9a6116bd565b8b6001600160a01b031663351d9f966040518163ffffffff1660e01b8152600401602060405180830381865afa158015610fd8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ffc9190611b68565b600281111561100d5761100d6116bd565b1461101a5761101a611b85565b50505098975050505050505050565b60006104b36040518060400160405280601381526020017f70726f66696c65325f6e6f74414d656d626572000000000000000000000000008152505b60006110708261113c565b5092915050565b600061108864174876e80083611a0f565b92915050565b6000600160801b83106110e85760405162461bcd60e51b815260206004820152601c60248201527f5f612073686f756c64206265206c657373207468616e20325e3132380000000060448201526064015b60405180910390fd5b50600160801b82825b801561113457806001166000036111165761110c8283611281565b915060011c6110f1565b6111208383611281565b925061112d600182611a31565b90506110f1565b505092915050565b600080826040516020016111509190611b9b565b60408051808303601f190181529082905280516020909101207fffa18649000000000000000000000000000000000000000000000000000000008252600482018190529150737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ffa1864990602401602060405180830381865afa1580156111d1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111f59190611bb7565b6040517fc657c718000000000000000000000000000000000000000000000000000000008152909250737109709ecfa91a80626ff3989d68f67f5b1dd12d9063c657c7189061124a9085908790600401611bd4565b600060405180830381600087803b15801561126457600080fd5b505af1158015611278573d6000803e3d6000fd5b50505050915091565b6000600160801b8311156112fd5760405162461bcd60e51b815260206004820152602860248201527f5f612073686f756c64206265206c657373207468616e206f7220657175616c2060448201527f746f20325e31323800000000000000000000000000000000000000000000000060648201526084016110df565b600160801b82106113505760405162461bcd60e51b815260206004820152601c60248201527f5f622073686f756c64206265206c657373207468616e20325e3132380000000060448201526064016110df565b60806f8000000000000000000000000000000061136d84866119f8565b6113779190611a44565b901c9392505050565b60405180610120016040528060006001600160a01b0316815260200160008152602001600081526020016000815260200160008152602001600060028111156113cb576113cb6116bd565b8152602001600081526020016113ed6040518060200160405280600081525090565b8152600060209091015290565b6001600160a01b038116811461140f57600080fd5b50565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff8111828210171561145157611451611412565b604052919050565b60008060006060848603121561146e57600080fd5b8335611479816113fa565b925060208481013561148a816113fa565b9250604085013567ffffffffffffffff808211156114a757600080fd5b818701915087601f8301126114bb57600080fd5b8135818111156114cd576114cd611412565b8060051b91506114de848301611428565b818152918301840191848101908a8411156114f857600080fd5b938501935b838510156115225784359250611512836113fa565b82825293850193908501906114fd565b8096505050505050509250925092565b60005b8381101561154d578181015183820152602001611535565b50506000910152565b6000815180845261156e816020860160208601611532565b601f01601f19169290920160200192915050565b82815260406020820152600061159b6040830184611556565b949350505050565b600081518084526020808501945080840160005b838110156115dc5781516001600160a01b0316875295820195908201906001016115b7565b509495945050505050565b6020815260006115fa60208301846115a3565b9392505050565b6003811061140f57600080fd5b80356004811061161d57600080fd5b919050565b60006020828403121561163457600080fd5b6040516020810181811067ffffffffffffffff8211171561165757611657611412565b6040529135825250919050565b6000806000806080858703121561167a57600080fd5b8435611685816113fa565b9350602085013561169581611601565b92506116a36040860161160e565b91506116b28660608701611622565b905092959194509250565b634e487b7160e01b600052602160045260246000fd5b600481106116e3576116e36116bd565b9052565b6000610120820190506001600160a01b0383511682526020830151602083015260408301516040830152606083015160608301526080830151608083015260a08301516003811061173a5761173a6116bd565b8060a08401525060c083015161175360c08401826116d3565b5060e083015161176660e0840182519052565b50610100838101516001600160a01b03811684830152611134565b600080600080600080600060e0888a03121561179c57600080fd5b87356117a7816113fa565b965060208801356117b7816113fa565b955060408801356117c7816113fa565b945060608801356117d7816113fa565b935060808801356117e7816113fa565b925060a08801356117f781611601565b915061180560c0890161160e565b905092959891949750929550565b6000806000806080858703121561182957600080fd5b5050823594602084013594506040840135936060013592509050565b600080600080600080600080610100898b03121561186257600080fd5b883561186d816113fa565b9750602089013561187d816113fa565b9650604089013561188d816113fa565b9550606089013561189d816113fa565b945060808901356118ad816113fa565b935060a08901356118bd81611601565b92506118cb60c08a0161160e565b91506118da8a60e08b01611622565b90509295985092959890939650565b84815260a06020820152600e60a08201527f506f6f6c2050726f66696c65203100000000000000000000000000000000000060c082015260e06040820152835160e082015260006020850151604061010084015261194b610120840182611556565b90506001600160a01b0385166060840152828103608084015261196e81856115a3565b979650505050505050565b60006020828403121561198b57600080fd5b5051919050565b600181811c908216806119a657607f821691505b6020821081036119c657634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b8082028115828204841417611088576110886119e2565b600082611a2c57634e487b7160e01b600052601260045260246000fd5b500490565b81810381811115611088576110886119e2565b80820180821115611088576110886119e2565b878152600060206001600160a01b03808a168285015260e06040850152611a8160e085018a611556565b818916606086015287608086015284810360a08601528654815260019150818701604084830152600081548181861c905085821680611ac157607f821691505b8782108103611ade57634e487b7160e01b84526022600452602484fd5b60408601829052606086019550808015611aff5760018114611b1557611b40565b60ff198416875282151560051b87019450611b40565b60008681526020902060005b84811015611b3a57815489820152908901908a01611b21565b88019550505b5050505086810360c0880152611b5681896115a3565b9e9d5050505050505050505050505050565b600060208284031215611b7a57600080fd5b81516115fa81611601565b634e487b7160e01b600052600160045260246000fd5b60008251611bad818460208701611532565b9190910192915050565b600060208284031215611bc957600080fd5b81516115fa816113fa565b6001600160a01b038316815260406020820152600061159b604083018461155656fea2646970667358221220300b2c7dba1f594beea61f804ec89e4a7f3928760c930b9e4c914712049c11b364736f6c63430008130033516d57347a464c464a524e374a3637457a4e6d64433272324d397532694a44686132666a3547656536684a7a5359", - "sourceMap": "679:1:141:-:0;579:5347;659:82;;;;579:5347;659:82;;;;;;;;;;;;;632:109;;;;;;;;;;;;;;;;:::i;:::-;;;;579:5347;;;;;;;;;;;;14:127:151;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:380;225:1;221:12;;;;268;;;289:61;;343:4;335:6;331:17;321:27;;289:61;396:2;388:6;385:14;365:18;362:38;359:161;;442:10;437:3;433:20;430:1;423:31;477:4;474:1;467:15;505:4;502:1;495:15;359:161;;146:380;;;:::o;657:545::-;759:2;754:3;751:11;748:448;;;795:1;820:5;816:2;809:17;865:4;861:2;851:19;935:2;923:10;919:19;916:1;912:27;906:4;902:38;971:4;959:10;956:20;953:47;;;-1:-1:-1;994:4:151;953:47;1049:2;1044:3;1040:12;1037:1;1033:20;1027:4;1023:31;1013:41;;1104:82;1122:2;1115:5;1112:13;1104:82;;;1167:17;;;1148:1;1137:13;1104:82;;;1108:3;;;748:448;657:545;;;:::o;1378:1352::-;1498:10;;-1:-1:-1;;;;;1520:30:151;;1517:56;;;1553:18;;:::i;:::-;1582:97;1672:6;1632:38;1664:4;1658:11;1632:38;:::i;:::-;1626:4;1582:97;:::i;:::-;1734:4;;1798:2;1787:14;;1815:1;1810:663;;;;2517:1;2534:6;2531:89;;;-1:-1:-1;2586:19:151;;;2580:26;2531:89;-1:-1:-1;;1335:1:151;1331:11;;;1327:24;1323:29;1313:40;1359:1;1355:11;;;1310:57;2633:81;;1780:944;;1810:663;604:1;597:14;;;641:4;628:18;;-1:-1:-1;;1846:20:151;;;1964:236;1978:7;1975:1;1972:14;1964:236;;;2067:19;;;2061:26;2046:42;;2159:27;;;;2127:1;2115:14;;;;1994:19;;1964:236;;;1968:3;2228:6;2219:7;2216:19;2213:201;;;2289:19;;;2283:26;-1:-1:-1;;2372:1:151;2368:14;;;2384:3;2364:24;2360:37;2356:42;2341:58;2326:74;;2213:201;-1:-1:-1;;;;;2460:1:151;2444:14;;;2440:22;2427:36;;-1:-1:-1;1378:1352:151:o;:::-;579:5347:141;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x608060405234801561001057600080fd5b50600436106102ac5760003560e01c8063770b2e661161017b578063aa3744bd116100d8578063da4bf0871161008c578063e99ce91111610071578063e99ce91114610445578063ed62303a14610458578063ef0d790f1461046b57600080fd5b8063da4bf08714610435578063dac4eb161461043d57600080fd5b8063d1f2cd88116100bd578063d1f2cd8814610412578063d5bee9f51461041a578063d8c12dc21461042257600080fd5b8063aa3744bd14610402578063d1e82b581461040a57600080fd5b80638c7408c41161012f5780638e3c2493116101145780638e3c2493146103d7578063a0cf0aea146103df578063a407c67a146103fa57600080fd5b80638c7408c4146102ec5780638e0d1a50146103cf57600080fd5b80637b2edf32116101605780637b2edf32146103bf5780637cbe79ed146103c7578063829e423f146102ec57600080fd5b8063770b2e661461039757806379e62d0d146103b757600080fd5b8063392f37e91161022957806366d003ac116101dd57806370a32944116101c257806370a329441461038757806374d9284e146102ec578063759c9a861461038f57600080fd5b806366d003ac146103775780636a38dd0a1461037f57600080fd5b80634bf4ba211161020e5780634bf4ba2114610352578063587c1243146103675780635aff59991461036f57600080fd5b8063392f37e9146103335780633f26479e1461034957600080fd5b8063174eedde116102805780631e7bcb2e116102655780631e7bcb2e146102fb5780632e0f26251461030357806337d1c4041461032057600080fd5b8063174eedde146102ec5780631b96dce6146102f357600080fd5b8062b1fad7146102b1578063030e4006146102d65780630688b135146102de5780630f166ad4146102e6575b600080fd5b6102b9610473565b6040516001600160a01b0390911681526020015b60405180910390f35b6102b96104b8565b6102b96104f8565b306102b9565b60006102b9565b6102b9610538565b6102b9610578565b610312670de0b6b3a764000081565b6040519081526020016102cd565b61031261032e366004611459565b6105b8565b61033b6106a2565b6040516102cd929190611582565b61031261271081565b61035a610739565b6040516102cd91906115e7565b6102b961075c565b6102b961079c565b6102b96107dc565b6102b961081c565b61035a61085c565b6102b96108f4565b6103aa6103a5366004611664565b610934565b6040516102cd91906116e7565b61035a610a0f565b6102b9610a77565b6102b9610ab7565b6102b9610af7565b6102b9610b37565b6102b973eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b61035a610b77565b6102b9610bdf565b6102b9610c1f565b6102b9610c5f565b6102b9610c9f565b610312610430366004611781565b610cdf565b6102b9610d0c565b6102b9610d4c565b610312610453366004611813565b610d8c565b610312610466366004611845565b610e26565b6102b9611029565b60006104b36040518060400160405280600d81526020017f706f6f6c5f6d616e616765723100000000000000000000000000000000000000815250611065565b905090565b60006104b36040518060400160405280601381526020017f70726f66696c65315f6e6f74414d656d62657200000000000000000000000000815250611065565b60006104b36040518060400160405280600a81526020017f726563697069656e743200000000000000000000000000000000000000000000815250611065565b60006104b36040518060400160405280600e81526020017f70726f66696c65325f6f776e6572000000000000000000000000000000000000815250611065565b60006104b36040518060400160405280601081526020017f70726f66696c65315f6d656d6265723100000000000000000000000000000000815250611065565b600b54600090610697576040805180820182526001815281518083018352600c81527f506f6f6c50726f66696c6531000000000000000000000000000000000000000060208281019190915282015290517f3a92f65f0000000000000000000000000000000000000000000000000000000081526001600160a01b03861691633a92f65f9161065091600291889088906004016118e9565b6020604051808303816000875af115801561066f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106939190611979565b600b555b50600b549392505050565b60098054600a80549192916106b690611992565b80601f01602080910402602001604051908101604052809291908181526020018280546106e290611992565b801561072f5780601f106107045761010080835404028352916020019161072f565b820191906000526020600020905b81548152906001019060200180831161071257829003601f168201915b5050505050905082565b604080516002808252606080830184529260208301908036833701905050905090565b60006104b36040518060400160405280601081526020017f70726f66696c65325f6d656d6265723100000000000000000000000000000000815250611065565b60006104b36040518060400160405280601081526020017f726563697069656e744164647265737300000000000000000000000000000000815250611065565b60006104b36040518060400160405280600981526020017f726563697069656e740000000000000000000000000000000000000000000000815250611065565b60006104b36040518060400160405280600d81526020017f706f6f6c5f6d616e616765723200000000000000000000000000000000000000815250611065565b60408051600280825260608083018452926000929190602083019080368337019050509050610889610578565b8160008151811061089c5761089c6119cc565b60200260200101906001600160a01b031690816001600160a01b0316815250506108c4610a77565b816001815181106108d7576108d76119cc565b6001600160a01b0390921660209283029190910190910152919050565b60006104b36040518060400160405280600c81526020017f6e6f5f726563697069656e740000000000000000000000000000000000000000815250611065565b61093c611380565b61094d670de0a46bc207d800611077565b60208201526109636702c68af0bb140000611077565b604082015261097866038d7ea4c68000611077565b60608201526001600160a01b038516815260a0810184600281111561099f5761099f6116bd565b908160028111156109b2576109b26116bd565b90525060c081018360038111156109cb576109cb6116bd565b908160038111156109de576109de6116bd565b9052508151600003610a00576109fd670de0b6b3a764000060c86119f8565b82525b60e08101919091529392505050565b60408051600280825260608083018452926000929190602083019080368337019050509050610a3c610473565b81600081518110610a4f57610a4f6119cc565b60200260200101906001600160a01b031690816001600160a01b0316815250506108c461081c565b60006104b36040518060400160405280601081526020017f70726f66696c65315f6d656d6265723200000000000000000000000000000000815250611065565b60006104b36040518060400160405280600a81526020017f616c6c6f5f6f776e657200000000000000000000000000000000000000000000815250611065565b60006104b36040518060400160405280600a81526020017f706f6f6c5f61646d696e00000000000000000000000000000000000000000000815250611065565b60006104b36040518060400160405280601081526020017f70726f66696c65325f6d656d6265723200000000000000000000000000000000815250611065565b60408051600280825260608083018452926000929190602083019080368337019050509050610ba461075c565b81600081518110610bb757610bb76119cc565b60200260200101906001600160a01b031690816001600160a01b0316815250506108c4610b37565b60006104b36040518060400160405280600a81526020017f726563697069656e743100000000000000000000000000000000000000000000815250611065565b60006104b36040518060400160405280601081526020017f706f6f6c5f6e6f74414d616e6167657200000000000000000000000000000000815250611065565b60006104b36040518060400160405280600e81526020017f70726f66696c65315f6f776e6572000000000000000000000000000000000000815250611065565b60006104b36040518060400160405280600b81526020017f72616e646f6d2063686164000000000000000000000000000000000000000000815250611065565b6000610d008888888888888860405180602001604052806000815250610e26565b98975050505050505050565b60006104b36040518060400160405280600d81526020017f616c6c6f5f747265617375727900000000000000000000000000000000000000815250611065565b60006104b36040518060400160405280600e81526020017f72656769737472795f6f776e6572000000000000000000000000000000000000815250611065565b60008481610daa610da462989680608087901b611a0f565b8361108e565b905060806f80000000000000000000000000000000610dcc8662989680611a31565b610dda84600160801b611a31565b610de7629896808a6119f8565b610df191906119f8565b610dfb9190611a0f565b610e0589856119f8565b610e0f9190611a44565b610e199190611a44565b901c979650505050505050565b600080610e3588868686610934565b60408051600280825260608201835292935060009290916020830190803683370190505090503081600081518110610e6f57610e6f6119cc565b60200260200101906001600160a01b031690816001600160a01b0316815250503381600181518110610ea357610ea36119cc565b6001600160a01b03928316602091820292909201015273eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee90881615610ed95750865b8b6001600160a01b031663e1007d4a610efa8b610ef4610af7565b866105b8565b8d86604051602001610f0c91906116e7565b6040516020818303038152906040528560006009896040518863ffffffff1660e01b8152600401610f439796959493929190611a57565b6020604051808303816000875af1158015610f62573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f869190611979565b9350866002811115610f9a57610f9a6116bd565b8b6001600160a01b031663351d9f966040518163ffffffff1660e01b8152600401602060405180830381865afa158015610fd8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ffc9190611b68565b600281111561100d5761100d6116bd565b1461101a5761101a611b85565b50505098975050505050505050565b60006104b36040518060400160405280601381526020017f70726f66696c65325f6e6f74414d656d626572000000000000000000000000008152505b60006110708261113c565b5092915050565b600061108864174876e80083611a0f565b92915050565b6000600160801b83106110e85760405162461bcd60e51b815260206004820152601c60248201527f5f612073686f756c64206265206c657373207468616e20325e3132380000000060448201526064015b60405180910390fd5b50600160801b82825b801561113457806001166000036111165761110c8283611281565b915060011c6110f1565b6111208383611281565b925061112d600182611a31565b90506110f1565b505092915050565b600080826040516020016111509190611b9b565b60408051808303601f190181529082905280516020909101207fffa18649000000000000000000000000000000000000000000000000000000008252600482018190529150737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ffa1864990602401602060405180830381865afa1580156111d1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111f59190611bb7565b6040517fc657c718000000000000000000000000000000000000000000000000000000008152909250737109709ecfa91a80626ff3989d68f67f5b1dd12d9063c657c7189061124a9085908790600401611bd4565b600060405180830381600087803b15801561126457600080fd5b505af1158015611278573d6000803e3d6000fd5b50505050915091565b6000600160801b8311156112fd5760405162461bcd60e51b815260206004820152602860248201527f5f612073686f756c64206265206c657373207468616e206f7220657175616c2060448201527f746f20325e31323800000000000000000000000000000000000000000000000060648201526084016110df565b600160801b82106113505760405162461bcd60e51b815260206004820152601c60248201527f5f622073686f756c64206265206c657373207468616e20325e3132380000000060448201526064016110df565b60806f8000000000000000000000000000000061136d84866119f8565b6113779190611a44565b901c9392505050565b60405180610120016040528060006001600160a01b0316815260200160008152602001600081526020016000815260200160008152602001600060028111156113cb576113cb6116bd565b8152602001600081526020016113ed6040518060200160405280600081525090565b8152600060209091015290565b6001600160a01b038116811461140f57600080fd5b50565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff8111828210171561145157611451611412565b604052919050565b60008060006060848603121561146e57600080fd5b8335611479816113fa565b925060208481013561148a816113fa565b9250604085013567ffffffffffffffff808211156114a757600080fd5b818701915087601f8301126114bb57600080fd5b8135818111156114cd576114cd611412565b8060051b91506114de848301611428565b818152918301840191848101908a8411156114f857600080fd5b938501935b838510156115225784359250611512836113fa565b82825293850193908501906114fd565b8096505050505050509250925092565b60005b8381101561154d578181015183820152602001611535565b50506000910152565b6000815180845261156e816020860160208601611532565b601f01601f19169290920160200192915050565b82815260406020820152600061159b6040830184611556565b949350505050565b600081518084526020808501945080840160005b838110156115dc5781516001600160a01b0316875295820195908201906001016115b7565b509495945050505050565b6020815260006115fa60208301846115a3565b9392505050565b6003811061140f57600080fd5b80356004811061161d57600080fd5b919050565b60006020828403121561163457600080fd5b6040516020810181811067ffffffffffffffff8211171561165757611657611412565b6040529135825250919050565b6000806000806080858703121561167a57600080fd5b8435611685816113fa565b9350602085013561169581611601565b92506116a36040860161160e565b91506116b28660608701611622565b905092959194509250565b634e487b7160e01b600052602160045260246000fd5b600481106116e3576116e36116bd565b9052565b6000610120820190506001600160a01b0383511682526020830151602083015260408301516040830152606083015160608301526080830151608083015260a08301516003811061173a5761173a6116bd565b8060a08401525060c083015161175360c08401826116d3565b5060e083015161176660e0840182519052565b50610100838101516001600160a01b03811684830152611134565b600080600080600080600060e0888a03121561179c57600080fd5b87356117a7816113fa565b965060208801356117b7816113fa565b955060408801356117c7816113fa565b945060608801356117d7816113fa565b935060808801356117e7816113fa565b925060a08801356117f781611601565b915061180560c0890161160e565b905092959891949750929550565b6000806000806080858703121561182957600080fd5b5050823594602084013594506040840135936060013592509050565b600080600080600080600080610100898b03121561186257600080fd5b883561186d816113fa565b9750602089013561187d816113fa565b9650604089013561188d816113fa565b9550606089013561189d816113fa565b945060808901356118ad816113fa565b935060a08901356118bd81611601565b92506118cb60c08a0161160e565b91506118da8a60e08b01611622565b90509295985092959890939650565b84815260a06020820152600e60a08201527f506f6f6c2050726f66696c65203100000000000000000000000000000000000060c082015260e06040820152835160e082015260006020850151604061010084015261194b610120840182611556565b90506001600160a01b0385166060840152828103608084015261196e81856115a3565b979650505050505050565b60006020828403121561198b57600080fd5b5051919050565b600181811c908216806119a657607f821691505b6020821081036119c657634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b8082028115828204841417611088576110886119e2565b600082611a2c57634e487b7160e01b600052601260045260246000fd5b500490565b81810381811115611088576110886119e2565b80820180821115611088576110886119e2565b878152600060206001600160a01b03808a168285015260e06040850152611a8160e085018a611556565b818916606086015287608086015284810360a08601528654815260019150818701604084830152600081548181861c905085821680611ac157607f821691505b8782108103611ade57634e487b7160e01b84526022600452602484fd5b60408601829052606086019550808015611aff5760018114611b1557611b40565b60ff198416875282151560051b87019450611b40565b60008681526020902060005b84811015611b3a57815489820152908901908a01611b21565b88019550505b5050505086810360c0880152611b5681896115a3565b9e9d5050505050505050505050505050565b600060208284031215611b7a57600080fd5b81516115fa81611601565b634e487b7160e01b600052600160045260246000fd5b60008251611bad818460208701611532565b9190910192915050565b600060208284031215611bc957600080fd5b81516115fa816113fa565b6001600160a01b038316815260406020820152600061159b604083018461155656fea2646970667358221220300b2c7dba1f594beea61f804ec89e4a7f3928760c930b9e4c914712049c11b364736f6c63430008130033", - "sourceMap": "579:5347:141:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1763:107:15;;;:::i;:::-;;;-1:-1:-1;;;;;310:55:151;;;292:74;;280:2;265:18;1763:107:15;;;;;;;;2429:119;;;:::i;4045:101::-;;;:::i;226:92::-;306:4;226:92;;905:138;968:7;905:138;;3126:109;;;:::i;2554:113::-;;;:::i;770:43:141:-;;805:8;770:43;;;;;523:25:151;;;511:2;496:18;770:43:141;377:177:151;1164:437:141;;;;;;:::i;:::-;;:::i;632:109::-;;;:::i;:::-;;;;;;;;:::i;819:50::-;;862:7;819:50;;1331:118:15;;;:::i;:::-;;;;;;;:::i;3366:113::-;;;:::i;4257:::-;;;:::i;4152:99::-;;;:::i;1876:107::-;;;:::i;2792:241::-;;;:::i;4376:105::-;;;:::i;1607:1088:141:-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;1989:232:15:-;;;:::i;2673:113::-;;;:::i;439:101::-;;;:::i;1537:::-;;;:::i;3485:113::-;;;:::i;4412:75:9:-;;4445:42;4412:75;;3604:241:15;;;:::i;3938:101::-;;;:::i;1644:113::-;;;:::i;2314:109::-;;;:::i;4571:105::-;;;:::i;4149:543:141:-;;;;;;:::i;:::-;;:::i;546:124:15:-;;;:::i;324:109::-;;;:::i;5546:378:141:-;;;;;;:::i;:::-;;:::i;2701:1442::-;;;;;;:::i;:::-;;:::i;3241:119:15:-;;;:::i;1763:107::-;1812:7;1838:25;;;;;;;;;;;;;;;;;;:8;:25::i;:::-;1831:32;;1763:107;:::o;2429:119::-;2484:7;2510:31;;;;;;;;;;;;;;;;;;:8;:31::i;4045:101::-;4091:7;4117:22;;;;;;;;;;;;;;;;;;:8;:22::i;3126:109::-;3176:7;3202:26;;;;;;;;;;;;;;;;;;:8;:26::i;2554:113::-;2606:7;2632:28;;;;;;;;;;;;;;;;;;:8;:28::i;1164:437:141:-;1336:16;;1309:7;;1332:230;;1462:48;;;;;;;;1482:1;1462:48;;;;;;;;;;;;;;;;;;;;;;;;1401:150;;;;;-1:-1:-1;;;;;1401:22:141;;;;;:150;;1441:1;;1512:10;;1524:13;;1401:150;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1382:16;:169;1332:230;-1:-1:-1;1578:16:141;;1164:437;;;;;:::o;632:109::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;1331:118:15:-;1426:16;;;1440:1;1426:16;;;1391;1426;;;;;1391;1426;;;;;;;;;;-1:-1:-1;1426:16:15;1419:23;;1331:118;:::o;3366:113::-;3418:7;3444:28;;;;;;;;;;;;;;;;;;:8;:28::i;4257:113::-;4309:7;4335:28;;;;;;;;;;;;;;;;;;:8;:28::i;4152:99::-;4197:7;4223:21;;;;;;;;;;;;;;;;;;:8;:21::i;1876:107::-;1925:7;1951:25;;;;;;;;;;;;;;;;;;:8;:25::i;2792:241::-;2900:16;;;2914:1;2900:16;;;2844;2900;;;;;2844;2872:25;;2900:16;2914:1;2900:16;;;;;;;;;;-1:-1:-1;2900:16:15;2872:44;;2940:18;:16;:18::i;:::-;2926:8;2935:1;2926:11;;;;;;;;:::i;:::-;;;;;;:32;-1:-1:-1;;;;;2926:32:15;;;-1:-1:-1;;;;;2926:32:15;;;;;2982:18;:16;:18::i;:::-;2968:8;2977:1;2968:11;;;;;;;;:::i;:::-;-1:-1:-1;;;;;2968:32:15;;;:11;;;;;;;;;;;:32;3018:8;2792:241;-1:-1:-1;2792:241:15:o;4376:105::-;4424:7;4450:24;;;;;;;;;;;;;;;;;;:8;:24::i;1607:1088:141:-;1847:45;;:::i;:::-;1970:30;1984:15;1970:13;:30::i;:::-;1955:12;;;:45;2117:24;2131:9;2117:13;:24::i;:::-;2099:15;;;:42;2186:26;2200:11;2186:13;:26::i;:::-;2170:13;;;:42;-1:-1:-1;;;;;2309:44:141;;;;2363:19;;;2385:12;2363:34;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;2407:18:141;;;2428:11;2407:32;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;2454:21:141;;;:26;2450:197;;2622:14;805:8;2622:3;:14;:::i;:::-;2598:38;;2450:197;2656:18;;;:32;;;;:6;1607:1088;-1:-1:-1;;;1607:1088:141:o;1989:232:15:-;2094:16;;;2108:1;2094:16;;;2038;2094;;;;;2038;2066:25;;2094:16;2108:1;2094:16;;;;;;;;;;-1:-1:-1;2094:16:15;2066:44;;2134:15;:13;:15::i;:::-;2120:8;2129:1;2120:11;;;;;;;;:::i;:::-;;;;;;:29;-1:-1:-1;;;;;2120:29:15;;;-1:-1:-1;;;;;2120:29:15;;;;;2173:15;:13;:15::i;2673:113::-;2725:7;2751:28;;;;;;;;;;;;;;;;;;:8;:28::i;439:101::-;485:7;511:22;;;;;;;;;;;;;;;;;;:8;:22::i;1537:101::-;1583:7;1609:22;;;;;;;;;;;;;;;;;;:8;:22::i;3485:113::-;3537:7;3563:28;;;;;;;;;;;;;;;;;;:8;:28::i;3604:241::-;3712:16;;;3726:1;3712:16;;;3656;3712;;;;;3656;3684:25;;3712:16;3726:1;3712:16;;;;;;;;;;-1:-1:-1;3712:16:15;3684:44;;3752:18;:16;:18::i;:::-;3738:8;3747:1;3738:11;;;;;;;;:::i;:::-;;;;;;:32;-1:-1:-1;;;;;3738:32:15;;;-1:-1:-1;;;;;3738:32:15;;;;;3794:18;:16;:18::i;3938:101::-;3984:7;4010:22;;;;;;;;;;;;;;;;;;:8;:22::i;1644:113::-;1696:7;1722:28;;;;;;;;;;;;;;;;;;:8;:28::i;2314:109::-;2364:7;2390:26;;;;;;;;;;;;;;;;;;:8;:26::i;4571:105::-;4620:7;4646:23;;;;;;;;;;;;;;;;;;:8;:23::i;4149:543:141:-;4420:14;4453:232;4477:4;4495:8;4517:17;4548:8;4570:5;4589:12;4615:11;4640:35;;;;;;;;4673:1;4640:35;;;4453:10;:232::i;:::-;4446:239;4149:543;-1:-1:-1;;;;;;;;4149:543:141:o;546:124:15:-;595:15;637:25;;;;;;;;;;;;;;;;;;:8;:25::i;324:109::-;374:7;400:26;;;;;;;;;;;;;;;;;;:8;:26::i;5546:378:141:-;5696:7;5731:11;5696:7;5772:27;5777:18;1046:7;5787:3;5778:12;;;5777:18;:::i;:::-;5797:1;5772:4;:27::i;:::-;5752:47;-1:-1:-1;5914:3:141;952:8;5887:9;5891:5;1046:7;5887:9;:::i;:::-;5863:19;5873:9;-1:-1:-1;;;5863:19:141;:::i;:::-;5845:14;1046:7;5845:10;:14;:::i;:::-;:38;;;;:::i;:::-;:52;;;;:::i;:::-;5819:21;5831:9;5819;:21;:::i;:::-;5818:80;;;;:::i;:::-;5817:92;;;;:::i;:::-;5816:101;;;5546:378;-1:-1:-1;;;;;;;5546:378:141:o;2701:1442::-;3033:14;3110:45;3170:68;3180:17;3199:12;3213:11;3226;3170:9;:68::i;:::-;3283:16;;;3297:1;3283:16;;;;;;;;3110:128;;-1:-1:-1;3249:31:141;;3283:16;;;;;;;;;;;;-1:-1:-1;3283:16:141;3249:50;;3337:4;3309:14;3324:1;3309:17;;;;;;;;:::i;:::-;;;;;;:33;-1:-1:-1;;;;;3309:33:141;;;-1:-1:-1;;;;;3309:33:141;;;;;3380:10;3352:14;3367:1;3352:17;;;;;;;;:::i;:::-;-1:-1:-1;;;;;3352:39:141;;;:17;;;;;;;;;:39;4445:42:9;;3678:19:141;;;3674:64;;-1:-1:-1;3722:5:141;3674:64;3756:4;-1:-1:-1;;;;;3756:33:141;;3844:55;3860:8;3870:12;:10;:12::i;:::-;3884:14;3844:15;:55::i;:::-;3921:8;3955:6;3944:18;;;;;;;;:::i;:::-;;;;;;;;;;;;;3976:6;3996:1;4011:8;4033:14;3756:301;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3747:310;;4123:12;4075:60;;;;;;;;:::i;:::-;4094:8;-1:-1:-1;;;;;4075:42:141;;:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:60;;;;;;;;:::i;:::-;;4068:68;;;;:::i;:::-;3049:1094;;;2701:1442;;;;;;;;;;:::o;3241:119:15:-;3296:7;3322:31;;;;;;;;;;;;;;;;;;20439:125:24;20503:12;20537:20;20552:4;20537:14;:20::i;:::-;-1:-1:-1;20527:30:24;20439:125;-1:-1:-1;;20439:125:24:o;4698:114:141:-;4761:7;4787:18;4797:8;4787:7;:18;:::i;:::-;4780:25;4698:114;-1:-1:-1;;4698:114:141:o;5093:447::-;5154:15;-1:-1:-1;;;5189:2:141;:12;5181:53;;;;-1:-1:-1;;;5181:53:141;;16438:2:151;5181:53:141;;;16420:21:151;16477:2;16457:18;;;16450:30;16516;16496:18;;;16489:58;16564:18;;5181:53:141;;;;;;;;;-1:-1:-1;;;;5256:2:141;5280;5319:215;5326:5;;5319:215;;5351:1;5355;5351:5;5360:1;5351:10;5347:177;;5385:10;5390:1;5393;5385:4;:10::i;:::-;5381:14;-1:-1:-1;5419:1:141;5413:7;5319:215;;5347:177;5469:16;5474:7;5483:1;5469:4;:16::i;:::-;5459:26;-1:-1:-1;5503:6:141;5508:1;5503:6;;:::i;:::-;;;5319:215;;;5171:369;;5093:447;;;;:::o;20158:242:24:-;20228:12;20242:18;20320:4;20303:22;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;20303:22:24;;;;;;;20293:33;;20303:22;20293:33;;;;20344:19;;;;;;523:25:151;;;20293:33:24;-1:-1:-1;20344:7:24;;;;496:18:151;;20344:19:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;20373:20;;;;;20337:26;;-1:-1:-1;20373:8:24;;;;:20;;20337:26;;20388:4;;20373:20;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20158:242;;;:::o;4818:269:141:-;4879:15;-1:-1:-1;;;4914:2:141;:13;;4906:66;;;;-1:-1:-1;;;4906:66:141;;17701:2:151;4906:66:141;;;17683:21:151;17740:2;17720:18;;;17713:30;17779:34;17759:18;;;17752:62;17850:10;17830:18;;;17823:38;17878:19;;4906:66:141;17499:404:151;4906:66:141;-1:-1:-1;;;4990:2:141;:12;4982:53;;;;-1:-1:-1;;;4982:53:141;;18110:2:151;4982:53:141;;;18092:21:151;18149:2;18129:18;;;18122:30;18188;18168:18;;;18161:58;18236:18;;4982:53:141;17908:352:151;4982:53:141;5077:3;952:8;5054:7;5059:2;5054;:7;:::i;:::-;5053:19;;;;:::i;:::-;5052:28;;;4818:269;-1:-1:-1;;;4818:269:141:o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;559:165:151:-;-1:-1:-1;;;;;649:5:151;645:54;638:5;635:65;625:93;;714:1;711;704:12;625:93;559:165;:::o;729:184::-;-1:-1:-1;;;778:1:151;771:88;878:4;875:1;868:15;902:4;899:1;892:15;918:275;989:2;983:9;1054:2;1035:13;;-1:-1:-1;;1031:27:151;1019:40;;1089:18;1074:34;;1110:22;;;1071:62;1068:88;;;1136:18;;:::i;:::-;1172:2;1165:22;918:275;;-1:-1:-1;918:275:151:o;1198:1354::-;1318:6;1326;1334;1387:2;1375:9;1366:7;1362:23;1358:32;1355:52;;;1403:1;1400;1393:12;1355:52;1442:9;1429:23;1461:42;1497:5;1461:42;:::i;:::-;1522:5;-1:-1:-1;1546:2:151;1585:18;;;1572:32;1613:44;1572:32;1613:44;:::i;:::-;1676:7;-1:-1:-1;1734:2:151;1719:18;;1706:32;1757:18;1787:14;;;1784:34;;;1814:1;1811;1804:12;1784:34;1852:6;1841:9;1837:22;1827:32;;1897:7;1890:4;1886:2;1882:13;1878:27;1868:55;;1919:1;1916;1909:12;1868:55;1955:2;1942:16;1977:2;1973;1970:10;1967:36;;;1983:18;;:::i;:::-;2029:2;2026:1;2022:10;2012:20;;2052:28;2076:2;2072;2068:11;2052:28;:::i;:::-;2114:15;;;2184:11;;;2180:20;;;2145:12;;;;2212:19;;;2209:39;;;2244:1;2241;2234:12;2209:39;2268:11;;;;2288:234;2304:6;2299:3;2296:15;2288:234;;;2386:3;2373:17;2358:32;;2403:44;2439:7;2403:44;:::i;:::-;2460:20;;;2321:12;;;;2500;;;;2288:234;;;2541:5;2531:15;;;;;;;;1198:1354;;;;;:::o;2894:250::-;2979:1;2989:113;3003:6;3000:1;2997:13;2989:113;;;3079:11;;;3073:18;3060:11;;;3053:39;3025:2;3018:10;2989:113;;;-1:-1:-1;;3136:1:151;3118:16;;3111:27;2894:250::o;3149:271::-;3191:3;3229:5;3223:12;3256:6;3251:3;3244:19;3272:76;3341:6;3334:4;3329:3;3325:14;3318:4;3311:5;3307:16;3272:76;:::i;:::-;3402:2;3381:15;-1:-1:-1;;3377:29:151;3368:39;;;;3409:4;3364:50;;3149:271;-1:-1:-1;;3149:271:151:o;3425:291::-;3602:6;3591:9;3584:25;3645:2;3640;3629:9;3625:18;3618:30;3565:4;3665:45;3706:2;3695:9;3691:18;3683:6;3665:45;:::i;:::-;3657:53;3425:291;-1:-1:-1;;;;3425:291:151:o;3721:484::-;3774:3;3812:5;3806:12;3839:6;3834:3;3827:19;3865:4;3894:2;3889:3;3885:12;3878:19;;3931:2;3924:5;3920:14;3952:1;3962:218;3976:6;3973:1;3970:13;3962:218;;;4041:13;;-1:-1:-1;;;;;4037:62:151;4025:75;;4120:12;;;;4155:15;;;;3998:1;3991:9;3962:218;;;-1:-1:-1;4196:3:151;;3721:484;-1:-1:-1;;;;;3721:484:151:o;4210:261::-;4389:2;4378:9;4371:21;4352:4;4409:56;4461:2;4450:9;4446:18;4438:6;4409:56;:::i;:::-;4401:64;4210:261;-1:-1:-1;;;4210:261:151:o;4476:111::-;4561:1;4554:5;4551:12;4541:40;;4577:1;4574;4567:12;4592:152;4669:20;;4718:1;4708:12;;4698:40;;4734:1;4731;4724:12;4698:40;4592:152;;;:::o;4749:416::-;4813:5;4861:4;4849:9;4844:3;4840:19;4836:30;4833:50;;;4879:1;4876;4869:12;4833:50;4912:2;4906:9;4954:4;4946:6;4942:17;5025:6;5013:10;5010:22;4989:18;4977:10;4974:34;4971:62;4968:88;;;5036:18;;:::i;:::-;5072:2;5065:22;5135:23;;5120:39;;-1:-1:-1;5105:6:151;4749:416;-1:-1:-1;4749:416:151:o;5170:664::-;5327:6;5335;5343;5351;5404:3;5392:9;5383:7;5379:23;5375:33;5372:53;;;5421:1;5418;5411:12;5372:53;5460:9;5447:23;5479:42;5515:5;5479:42;:::i;:::-;5540:5;-1:-1:-1;5597:2:151;5582:18;;5569:32;5610:43;5569:32;5610:43;:::i;:::-;5672:7;-1:-1:-1;5698:47:151;5741:2;5726:18;;5698:47;:::i;:::-;5688:57;;5764:64;5820:7;5815:2;5804:9;5800:18;5764:64;:::i;:::-;5754:74;;5170:664;;;;;;;:::o;5839:184::-;-1:-1:-1;;;5888:1:151;5881:88;5988:4;5985:1;5978:15;6012:4;6009:1;6002:15;6028:142;6111:1;6104:5;6101:12;6091:46;;6117:18;;:::i;:::-;6146;;6028:142::o;6270:1129::-;6432:4;6474:3;6463:9;6459:19;6451:27;;-1:-1:-1;;;;;6515:6:151;6509:13;6505:62;6494:9;6487:81;6624:4;6616:6;6612:17;6606:24;6599:4;6588:9;6584:20;6577:54;6687:4;6679:6;6675:17;6669:24;6662:4;6651:9;6647:20;6640:54;6750:4;6742:6;6738:17;6732:24;6725:4;6714:9;6710:20;6703:54;6813:4;6805:6;6801:17;6795:24;6788:4;6777:9;6773:20;6766:54;6867:4;6859:6;6855:17;6849:24;6909:1;6895:12;6892:19;6882:53;;6915:18;;:::i;:::-;6973:12;6966:4;6955:9;6951:20;6944:42;;7035:4;7027:6;7023:17;7017:24;7050:65;7109:4;7098:9;7094:20;7078:14;7050:65;:::i;:::-;;7164:4;7156:6;7152:17;7146:24;7179:73;7246:4;7235:9;7231:20;7215:14;6250:12;6238:25;;6175:90;7179:73;-1:-1:-1;7271:6:151;7314:15;;;7308:22;-1:-1:-1;;;;;80:54:151;;7374:18;;;68:67;7339:54;14:127;7404:1170;7583:6;7591;7599;7607;7615;7623;7631;7684:3;7672:9;7663:7;7659:23;7655:33;7652:53;;;7701:1;7698;7691:12;7652:53;7740:9;7727:23;7759:42;7795:5;7759:42;:::i;:::-;7820:5;-1:-1:-1;7877:2:151;7862:18;;7849:32;7890:44;7849:32;7890:44;:::i;:::-;7953:7;-1:-1:-1;8012:2:151;7997:18;;7984:32;8025:44;7984:32;8025:44;:::i;:::-;8088:7;-1:-1:-1;8147:2:151;8132:18;;8119:32;8160:44;8119:32;8160:44;:::i;:::-;8223:7;-1:-1:-1;8282:3:151;8267:19;;8254:33;8296:44;8254:33;8296:44;:::i;:::-;8359:7;-1:-1:-1;8418:3:151;8403:19;;8390:33;8432:43;8390:33;8432:43;:::i;:::-;8494:7;-1:-1:-1;8520:48:151;8563:3;8548:19;;8520:48;:::i;:::-;8510:58;;7404:1170;;;;;;;;;;:::o;8826:385::-;8912:6;8920;8928;8936;8989:3;8977:9;8968:7;8964:23;8960:33;8957:53;;;9006:1;9003;8996:12;8957:53;-1:-1:-1;;9029:23:151;;;9099:2;9084:18;;9071:32;;-1:-1:-1;9150:2:151;9135:18;;9122:32;;9201:2;9186:18;9173:32;;-1:-1:-1;8826:385:151;-1:-1:-1;8826:385:151:o;9216:1307::-;9440:6;9448;9456;9464;9472;9480;9488;9496;9549:3;9537:9;9528:7;9524:23;9520:33;9517:53;;;9566:1;9563;9556:12;9517:53;9605:9;9592:23;9624:42;9660:5;9624:42;:::i;:::-;9685:5;-1:-1:-1;9742:2:151;9727:18;;9714:32;9755:44;9714:32;9755:44;:::i;:::-;9818:7;-1:-1:-1;9877:2:151;9862:18;;9849:32;9890:44;9849:32;9890:44;:::i;:::-;9953:7;-1:-1:-1;10012:2:151;9997:18;;9984:32;10025:44;9984:32;10025:44;:::i;:::-;10088:7;-1:-1:-1;10147:3:151;10132:19;;10119:33;10161:44;10119:33;10161:44;:::i;:::-;10224:7;-1:-1:-1;10283:3:151;10268:19;;10255:33;10297:43;10255:33;10297:43;:::i;:::-;10359:7;-1:-1:-1;10385:48:151;10428:3;10413:19;;10385:48;:::i;:::-;10375:58;;10452:65;10509:7;10503:3;10492:9;10488:19;10452:65;:::i;:::-;10442:75;;9216:1307;;;;;;;;;;;:::o;10528:1032::-;10952:6;10941:9;10934:25;10995:3;10990:2;10979:9;10975:18;10968:31;11036:2;11030:3;11019:9;11015:19;11008:31;11076:16;11070:3;11059:9;11055:19;11048:45;11129:3;11124:2;11113:9;11109:18;11102:31;11176:6;11170:13;11164:3;11153:9;11149:19;11142:42;10915:4;11231:2;11223:6;11219:15;11213:22;11272:2;11266:3;11255:9;11251:19;11244:31;11295:52;11342:3;11331:9;11327:19;11313:12;11295:52;:::i;:::-;11284:63;;-1:-1:-1;;;;;11387:6:151;11383:55;11378:2;11367:9;11363:18;11356:83;11485:9;11480:3;11476:19;11470:3;11459:9;11455:19;11448:48;11513:41;11550:3;11542:6;11513:41;:::i;:::-;11505:49;10528:1032;-1:-1:-1;;;;;;;10528:1032:151:o;11565:184::-;11635:6;11688:2;11676:9;11667:7;11663:23;11659:32;11656:52;;;11704:1;11701;11694:12;11656:52;-1:-1:-1;11727:16:151;;11565:184;-1:-1:-1;11565:184:151:o;11754:437::-;11833:1;11829:12;;;;11876;;;11897:61;;11951:4;11943:6;11939:17;11929:27;;11897:61;12004:2;11996:6;11993:14;11973:18;11970:38;11967:218;;-1:-1:-1;;;12038:1:151;12031:88;12142:4;12139:1;12132:15;12170:4;12167:1;12160:15;11967:218;;11754:437;;;:::o;12196:184::-;-1:-1:-1;;;12245:1:151;12238:88;12345:4;12342:1;12335:15;12369:4;12366:1;12359:15;12385:184;-1:-1:-1;;;12434:1:151;12427:88;12534:4;12531:1;12524:15;12558:4;12555:1;12548:15;12574:168;12647:9;;;12678;;12695:15;;;12689:22;;12675:37;12665:71;;12716:18;;:::i;12747:274::-;12787:1;12813;12803:189;;-1:-1:-1;;;12845:1:151;12838:88;12949:4;12946:1;12939:15;12977:4;12974:1;12967:15;12803:189;-1:-1:-1;13006:9:151;;12747:274::o;13026:128::-;13093:9;;;13114:11;;;13111:37;;;13128:18;;:::i;13159:125::-;13224:9;;;13245:10;;;13242:36;;;13258:18;;:::i;13415:2154::-;13837:6;13826:9;13819:25;13800:4;13863:2;-1:-1:-1;;;;;13974:2:151;13966:6;13962:15;13957:2;13946:9;13942:18;13935:43;14014:3;14009:2;13998:9;13994:18;13987:31;14041:46;14082:3;14071:9;14067:19;14059:6;14041:46;:::i;:::-;14135:2;14127:6;14123:15;14118:2;14107:9;14103:18;14096:43;14176:6;14170:3;14159:9;14155:19;14148:35;14232:9;14224:6;14220:22;14214:3;14203:9;14199:19;14192:51;14273:6;14267:13;14259:6;14252:29;14300:4;14290:14;;14345:2;14337:6;14333:15;14381:2;14376;14368:6;14364:15;14357:27;14404:1;14437:12;14431:19;14473:3;14503:9;14499:2;14495:18;14485:28;;14563:2;14552:9;14548:18;14585;14575:61;;14629:4;14621:6;14617:17;14607:27;;14575:61;14682:2;14674:6;14671:14;14651:18;14648:38;14645:222;;-1:-1:-1;;;14716:3:151;14709:90;14822:4;14819:1;14812:15;14852:4;14847:3;14840:17;14645:222;14935:2;14923:15;;2826:19;;;2869:14;;;14876:71;-1:-1:-1;14963:18:151;14990:128;;;;15132:1;15127:321;;;;14956:492;;14990:128;-1:-1:-1;;15023:24:151;;15011:37;;15091:14;;15084:22;15081:1;15077:30;15068:40;;;-1:-1:-1;14990:128:151;;15127:321;13362:1;13355:14;;;13399:4;13386:18;;15228:1;15242:165;15256:6;15253:1;15250:13;15242:165;;;15334:14;;15321:11;;;15314:35;15377:16;;;;15271:10;;15242:165;;;15427:11;;;-1:-1:-1;;14956:492:151;;;;;15494:9;15489:3;15485:19;15479:3;15468:9;15464:19;15457:48;15522:41;15559:3;15551:6;15522:41;:::i;:::-;15514:49;13415:2154;-1:-1:-1;;;;;;;;;;;;;;13415:2154:151:o;15763:279::-;15851:6;15904:2;15892:9;15883:7;15879:23;15875:32;15872:52;;;15920:1;15917;15910:12;15872:52;15952:9;15946:16;15971:41;16006:5;15971:41;:::i;16047:184::-;-1:-1:-1;;;16096:1:151;16089:88;16196:4;16193:1;16186:15;16220:4;16217:1;16210:15;16593:289;16724:3;16762:6;16756:13;16778:66;16837:6;16832:3;16825:4;16817:6;16813:17;16778:66;:::i;:::-;16860:16;;;;;16593:289;-1:-1:-1;;16593:289:151:o;16887:262::-;16957:6;17010:2;16998:9;16989:7;16985:23;16981:32;16978:52;;;17026:1;17023;17016:12;16978:52;17058:9;17052:16;17077:42;17113:5;17077:42;:::i;17154:340::-;-1:-1:-1;;;;;17335:6:151;17331:55;17320:9;17313:74;17423:2;17418;17407:9;17403:18;17396:30;17294:4;17443:45;17484:2;17473:9;17469:18;17461:6;17443:45;:::i", - "linkReferences": {} - }, - "methodIdentifiers": { - "DECIMALS()": "2e0f2625", - "NATIVE()": "a0cf0aea", - "PERCENTAGE_SCALE()": "3f26479e", - "_calculateConviction(uint256,uint256,uint256,uint256)": "e99ce911", - "allo_owner()": "7cbe79ed", - "allo_treasury()": "da4bf087", - "createPool(address,address,address,address,address,uint8,uint8)": "d8c12dc2", - "createPool(address,address,address,address,address,uint8,uint8,(uint256))": "ed62303a", - "getParams(address,uint8,uint8,(uint256))": "770b2e66", - "local()": "0f166ad4", - "metadata()": "392f37e9", - "no_recipient()": "759c9a86", - "nullProfile_member1()": "829e423f", - "nullProfile_member2()": "8c7408c4", - "nullProfile_members()": "4bf4ba21", - "nullProfile_notAMember()": "174eedde", - "nullProfile_owner()": "74d9284e", - "poolProfile_id1(address,address,address[])": "37d1c404", - "pool_admin()": "8e0d1a50", - "pool_manager1()": "00b1fad7", - "pool_manager2()": "6a38dd0a", - "pool_managers()": "79e62d0d", - "pool_notAManager()": "d1e82b58", - "profile1_member1()": "1e7bcb2e", - "profile1_member2()": "7b2edf32", - "profile1_members()": "70a32944", - "profile1_notAMember()": "030e4006", - "profile1_owner()": "d1f2cd88", - "profile2_member1()": "587c1243", - "profile2_member2()": "8e3c2493", - "profile2_members()": "a407c67a", - "profile2_notAMember()": "ef0d790f", - "profile2_owner()": "1b96dce6", - "randomAddress()": "d5bee9f5", - "recipient()": "66d003ac", - "recipient1()": "aa3744bd", - "recipient2()": "0688b135", - "recipientAddress()": "5aff5999", - "registry_owner()": "dac4eb16" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"DECIMALS\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"NATIVE\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"PERCENTAGE_SCALE\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_timePassed\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_lastConv\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_oldAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decay\",\"type\":\"uint256\"}],\"name\":\"_calculateConviction\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"allo_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"allo_treasury\",\"outputs\":[{\"internalType\":\"address payable\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract Allo\",\"name\":\"allo\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"strategy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"registryCommunity\",\"type\":\"address\"},{\"internalType\":\"contract IRegistry\",\"name\":\"registry\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"enum StrategyStruct.ProposalType\",\"name\":\"proposalType\",\"type\":\"uint8\"},{\"internalType\":\"enum StrategyStruct.PointSystem\",\"name\":\"pointSystem\",\"type\":\"uint8\"}],\"name\":\"createPool\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract Allo\",\"name\":\"allo\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"strategy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"registryCommunity\",\"type\":\"address\"},{\"internalType\":\"contract IRegistry\",\"name\":\"registry\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"enum StrategyStruct.ProposalType\",\"name\":\"proposalType\",\"type\":\"uint8\"},{\"internalType\":\"enum StrategyStruct.PointSystem\",\"name\":\"pointSystem\",\"type\":\"uint8\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"maxAmount\",\"type\":\"uint256\"}],\"internalType\":\"struct StrategyStruct.PointSystemConfig\",\"name\":\"pointConfig\",\"type\":\"tuple\"}],\"name\":\"createPool\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"registryCommunity\",\"type\":\"address\"},{\"internalType\":\"enum StrategyStruct.ProposalType\",\"name\":\"proposalType\",\"type\":\"uint8\"},{\"internalType\":\"enum StrategyStruct.PointSystem\",\"name\":\"pointSystem\",\"type\":\"uint8\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"maxAmount\",\"type\":\"uint256\"}],\"internalType\":\"struct StrategyStruct.PointSystemConfig\",\"name\":\"pointConfig\",\"type\":\"tuple\"}],\"name\":\"getParams\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"registryCommunity\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"decay\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxRatio\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"weight\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"minThresholdPoints\",\"type\":\"uint256\"},{\"internalType\":\"enum StrategyStruct.ProposalType\",\"name\":\"proposalType\",\"type\":\"uint8\"},{\"internalType\":\"enum StrategyStruct.PointSystem\",\"name\":\"pointSystem\",\"type\":\"uint8\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"maxAmount\",\"type\":\"uint256\"}],\"internalType\":\"struct StrategyStruct.PointSystemConfig\",\"name\":\"pointConfig\",\"type\":\"tuple\"},{\"internalType\":\"address\",\"name\":\"sybilScorer\",\"type\":\"address\"}],\"internalType\":\"struct StrategyStruct.InitializeParams\",\"name\":\"params\",\"type\":\"tuple\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"local\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"metadata\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"no_recipient\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_member1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_member2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_members\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_notAMember\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IRegistry\",\"name\":\"registry\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"pool_admin\",\"type\":\"address\"},{\"internalType\":\"address[]\",\"name\":\"pool_managers\",\"type\":\"address[]\"}],\"name\":\"poolProfile_id1\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_admin\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_manager1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_manager2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_managers\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_notAManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_member1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_member2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_members\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_notAMember\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_member1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_member2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_members\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_notAMember\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"randomAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"recipient\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"recipient1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"recipient2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"recipientAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"registry_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"NATIVE()\":{\"notice\":\"Address of the native token\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"pkg/contracts/test/CVStrategyHelpers.sol\":\"CVStrategyHelpers\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1000},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-contracts/=lib/safe-contracts/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"]},\"sources\":{\"lib/allo-v2/contracts/core/Allo.sol\":{\"keccak256\":\"0x6eadd7d37d010ad736e5b9fd25bd2083e430757d72b5873357cd7ee41d7fc21a\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://add326fecd1aac73bf91e634a9b11ab9a19b99a73616e44d5c79261bfbfb3a7c\",\"dweb:/ipfs/QmTF7WYUpSTF6EPWtB6CW9BPJAjWeZDtNjWGME4VHrarZd\"]},\"lib/allo-v2/contracts/core/interfaces/IAllo.sol\":{\"keccak256\":\"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7\",\"dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1\"]},\"lib/allo-v2/contracts/core/interfaces/IRegistry.sol\":{\"keccak256\":\"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e\",\"dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA\"]},\"lib/allo-v2/contracts/core/interfaces/IStrategy.sol\":{\"keccak256\":\"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487\",\"dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH\"]},\"lib/allo-v2/contracts/core/libraries/Clone.sol\":{\"keccak256\":\"0xc348b24b7d8a98c4faa5f2aa37ce9264a74f81dbdef1a9bae2eaa125585c3c7e\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://1335b3ec59ec7e3d12ea7c90b3aa56f4c26e0d44d342f54412933be9d4f16067\",\"dweb:/ipfs/QmXNFo2wCyq9cpvfgbdHvBUQecThFSEoUnMuZNS6WinDrr\"]},\"lib/allo-v2/contracts/core/libraries/Errors.sol\":{\"keccak256\":\"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf\",\"dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA\"]},\"lib/allo-v2/contracts/core/libraries/Metadata.sol\":{\"keccak256\":\"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c\",\"dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn\"]},\"lib/allo-v2/contracts/core/libraries/Native.sol\":{\"keccak256\":\"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a\",\"dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv\"]},\"lib/allo-v2/contracts/core/libraries/Transfer.sol\":{\"keccak256\":\"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11\",\"dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5\"]},\"lib/allo-v2/contracts/strategies/BaseStrategy.sol\":{\"keccak256\":\"0x3f1382dc6c35d50545e327e7ed6016f2bd752357d446bd698014073f0b812873\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://99500abcd617fa43f6dde49e2c7802821ceaf54a65a8055cbbf2695ecd107974\",\"dweb:/ipfs/QmUktZkWuu3GCMEijY1fqt7NMy7BzpTvEtcmpB1fuoa7zt\"]},\"lib/allo-v2/lib/solady/src/auth/Ownable.sol\":{\"keccak256\":\"0xd916b6ca098f26e08eff367c6fc1853956839d8d1c9d2df715784b6dec99889b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a9d8137ec1f5fb4210fbebeafa002f5b9cab28579445bd8281c56862e63aa30\",\"dweb:/ipfs/QmPLBcT1JkBKa4jK6qNficwZx2uGG4MetPNErJArdX6G61\"]},\"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol\":{\"keccak256\":\"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298\",\"dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt\"]},\"lib/allo-v2/test/foundry/shared/Accounts.sol\":{\"keccak256\":\"0x47c754ab744c6c9894aaff23cfbbe44bc30879a53fbbe8d36b1fee26137f2e3a\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://8e457b7adaf1ea79cc707e8a3e2989855f51ff98ebc1947b3239d7d410d5a07b\",\"dweb:/ipfs/QmSXASZ4u435D29T4UzKuh6kd8vLSrbSSgZzjnnhfwyv1m\"]},\"lib/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0xb72f3519e0bf7d31df5d68557525f4fc55d861c3fb3b0f7793144ef7c94cbeb7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f3456d0f78e6f61203fa7871ba2df0d35925f10db3baee14be623ce2a35b84e2\",\"dweb:/ipfs/QmWE6QQSBvJifHMraisBTrf1x4WCwrDoTPLX8UKajTiApc\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0x651d84d948832f0ef45686417aa68ffb871378fa788a4123dbf37844903c66f3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ff20f5ac9de3dc3ba86b1bf1f2723174e82ce3499ad67cb0ccfa7d28baeee678\",\"dweb:/ipfs/QmRZkUFKz7AmF7yk6o317sk822HHhGVPXZQgX8G4LfYfft\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x51fec240abc6dd23e0ee6de7c65106379aef732cad6c4ae5df6b55db886e7456\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://a47d9c0a9876e7f9e411843b994a741d4ac1a87d8459ffc3c56359de691ddc1a\",\"dweb:/ipfs/QmQiFN9b3Y2azrD1RBfAKEuAG3YeJkMzA2DGzgEE9kMeEK\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]},\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0x954646445d1014c3cd85c7918f5e7adeeca5ee44b68c00bafa237e597a4e35ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://516fa3be52da4763147175bfba4be0aa011fadbb0c1afb01f97265bd4cee7973\",\"dweb:/ipfs/QmdixAyMJefx7qePChgdxcBH5MxhmN7vsqPuPLx3CgrVmF\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0xc8710577334e8d0799ae2b2a731b1924a7bddd64319da9787ddd2dc69bdd1ce5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b83b7afa4d2372da3ba5402fb10860a105c35d79812c60dc61007be2afc17618\",\"dweb:/ipfs/QmYX9xPmbNVSKXrepKiUZiG5oL3SdzFp9a4kqspxX1sEUx\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol\":{\"keccak256\":\"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c\",\"dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol\":{\"keccak256\":\"0x5a55d1b148a0cb4183f1e09ceaff87bd2d828440f2f5dc01dfe03eb29e7c88ec\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3f9278bdda788763efbe569da77fc24feff36e871779e2da69f74ea5f8bfacf\",\"dweb:/ipfs/QmZF9cH4rfazmwKT55p3tZyzh9QGghNyss81f46d6yVXap\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e\",\"dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol\":{\"keccak256\":\"0x2025ccf05f6f1f2fd4e078e552836f525a1864e3854ed555047cd732320ab29b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d27f4b23c2dee42394aebaf42bf238285230f472dfd3282a39c3f000ec28214f\",\"dweb:/ipfs/QmQa3DnvccwdWJeWrjgXPnFMTWbzWQWR39hVqC7eEwo2PC\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/IERC20Upgradeable.sol\":{\"keccak256\":\"0x0e1f0f5f62f67a881cd1a9597acbc0a5e4071f3c2c10449a183b922ae7272e3f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c25f742ff154998d19a669e2508c3597b363e123ce9144cd0fcf6521229f401f\",\"dweb:/ipfs/QmQXRuFzStEWqeEPbhQU6cAg9PaSowxJVo4PDKyRod7dco\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b\",\"dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95\",\"dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol\":{\"keccak256\":\"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a\",\"dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0xd90d7723512df65ae417adaf0801042940f0dabd60039ceeaffe34aa5b238da1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1b13befeb3413749292f9fb229de1c7a509a5ce2c8047d9094fc004ca9d3af89\",\"dweb:/ipfs/QmRzJ2hZSwRtMejHUZAYTPRKgZsnfb112Fno9Jf3EiDfwA\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol\":{\"keccak256\":\"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758\",\"dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol\":{\"keccak256\":\"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91\",\"dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol\":{\"keccak256\":\"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4\",\"dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z\"]},\"lib/openzeppelin-contracts/contracts/access/AccessControl.sol\":{\"keccak256\":\"0x0dd6e52cb394d7f5abe5dca2d4908a6be40417914720932de757de34a99ab87f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://dc117ce50ea746cab6b97ed1a1facee17a715ae0cb95d67b943dacbaf15176fb\",\"dweb:/ipfs/QmYRZ2UGNYwsHwfNu7Wjr8L2j1LBZ1mKv6NvbwgterYMXc\"]},\"lib/openzeppelin-contracts/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0x59ce320a585d7e1f163cd70390a0ef2ff9cec832e2aa544293a00692465a7a57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb2c137c343ef0c4c7ce7b18c1d108afdc9d315a04e48307288d2d05adcbde3a\",\"dweb:/ipfs/QmUxhrAQM3MM3FF5j7AtcXLXguWCJBHJ14BRdVtuoQc8Fh\"]},\"lib/openzeppelin-contracts/contracts/access/Ownable.sol\":{\"keccak256\":\"0xba43b97fba0d32eb4254f6a5a297b39a19a247082a02d6e69349e071e2946218\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fc980984badf3984b6303b377711220e067722bbd6a135b24669ff5069ef9f32\",\"dweb:/ipfs/QmPHXMSXj99XjSVM21YsY6aNtLLjLVXDbyN76J5HQYvvrz\"]},\"lib/openzeppelin-contracts/contracts/security/ReentrancyGuard.sol\":{\"keccak256\":\"0xa535a5df777d44e945dd24aa43a11e44b024140fc340ad0dfe42acf4002aade1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://41319e7f621f2dc3733511332c4fd032f8e32ad2aa7fd6f665c19741d9941a34\",\"dweb:/ipfs/QmcYR3bd862GD1Bc7jwrU9bGxrhUu5na1oP964bDCu2id1\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15\",\"dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5\",\"dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd\",\"dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol\":{\"keccak256\":\"0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a\",\"dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0x909d608c2db6eb165ca178c81289a07ed2e118e444d0025b2a85c97d0b44a4fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://656cda26512ddd7373c2d5551c8fae759fc30f05b10f0fc2e738e9274199dbd4\",\"dweb:/ipfs/QmTSArSzQRFbQmHgq7U1PZXnsDFhvDZhKVu9CzMG4yo6Lx\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"lib/openzeppelin-contracts/contracts/utils/Strings.sol\":{\"keccak256\":\"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f\",\"dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol\":{\"keccak256\":\"0x5a08ad61f4e82b8a3323562661a86fb10b10190848073fdc13d4ac43710ffba5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6f7bb74cf88fd88daa34e118bc6e363381d05044f34f391d39a10c0c9dac3ebd\",\"dweb:/ipfs/QmNbQ3v8v4zuDtg7VeLAbdhAm3tCzUodNoDZZ8ekmCHWZX\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]},\"pkg/contracts/src/CVStrategy.sol\":{\"keccak256\":\"0x132bcf17470960e380d841159d9389985d609aaae1c9a657c78902f7871da957\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://84e905bf392579b44f33fff8586431b940e110b2210854cf487321cc92061705\",\"dweb:/ipfs/QmQpvszYu8RbrXmUFLifSodQzV8LAqazk1fzXNARGc5sBT\"]},\"pkg/contracts/src/ISybilScorer.sol\":{\"keccak256\":\"0x0e25fbb8497ac3c969d80c9032362d45e56c0a45dc9ba3dff6a8a704571f38ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0dff90ebae6e7131a5300fcaf525bc2ab0ae90fcd13f277d7b7b6939eeb8b7eb\",\"dweb:/ipfs/QmYGkYqpUVrBWoNY6f3CtwrrVQFWSvnJfpu68t95f6AkBY\"]},\"pkg/contracts/src/RegistryCommunity.sol\":{\"keccak256\":\"0xc735f4d2635149f2db9bff291da56e08c3c312d9eb1b767b8a1e3e51584d5734\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://247b33b78abface6a7e2da38174386de9b543f6a27e8340e26d854bff57184a3\",\"dweb:/ipfs/QmedNdqkqeboGzz9w868uGf7KnXUaYZe6i1YcdUPPkJnnf\"]},\"pkg/contracts/src/RegistryFactory.sol\":{\"keccak256\":\"0x888b7f5eb1079f90ccfa0b41d8a970bffd8d4d469f9b31917a58279b358dbda5\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://af25fd783de00adf01d1c7caa572801fed0d474306a43b862535b08e65ec10c6\",\"dweb:/ipfs/Qmeb2nEaMQLV86y1CYAAV2c6BYpBDTbpLuC1SigeNjdqLo\"]},\"pkg/contracts/src/interfaces/ISafe.sol\":{\"keccak256\":\"0x878a210809bb684c42157a10f3f90350a67d0a4863f130499942b06f0f2c9143\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://fa2d71bd427c3415e98a2ee15ff673f3cc61c17f14d7087c5eedc83b55f6b0ef\",\"dweb:/ipfs/QmesVSmJQQzi6ys1cvhQFCJyDXchb736mT5bXks4Yp6Cbj\"]},\"pkg/contracts/test/CVStrategyHelpers.sol\":{\"keccak256\":\"0xcae356371a1370cd43bbabbe3f711ec3e83948d3703695699032edf9a44caaf0\",\"license\":\"AGPL-3.0-or-later\",\"urls\":[\"bzz-raw://bc97e105625a34e4599d606d8fc63b8a9774d2faccd19ca64ffaa5373788f7a3\",\"dweb:/ipfs/QmVwkhJA3qdd5nJ4dj2jBvik8eWtFkczfuajyskRqTsM8Z\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.8.19+commit.7dd6d404" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "DECIMALS", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "NATIVE", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "PERCENTAGE_SCALE", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_timePassed", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_lastConv", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_oldAmount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "decay", - "type": "uint256" - } - ], - "stateMutability": "pure", - "type": "function", - "name": "_calculateConviction", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "function", - "name": "allo_owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "function", - "name": "allo_treasury", - "outputs": [ - { - "internalType": "address payable", - "name": "", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "contract Allo", - "name": "allo", - "type": "address" - }, - { - "internalType": "address", - "name": "strategy", - "type": "address" - }, - { - "internalType": "address", - "name": "registryCommunity", - "type": "address" - }, - { - "internalType": "contract IRegistry", - "name": "registry", - "type": "address" - }, - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "enum StrategyStruct.ProposalType", - "name": "proposalType", - "type": "uint8" - }, - { - "internalType": "enum StrategyStruct.PointSystem", - "name": "pointSystem", - "type": "uint8" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "createPool", - "outputs": [ - { - "internalType": "uint256", - "name": "poolId", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "contract Allo", - "name": "allo", - "type": "address" - }, - { - "internalType": "address", - "name": "strategy", - "type": "address" - }, - { - "internalType": "address", - "name": "registryCommunity", - "type": "address" - }, - { - "internalType": "contract IRegistry", - "name": "registry", - "type": "address" - }, - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "enum StrategyStruct.ProposalType", - "name": "proposalType", - "type": "uint8" - }, - { - "internalType": "enum StrategyStruct.PointSystem", - "name": "pointSystem", - "type": "uint8" - }, - { - "internalType": "struct StrategyStruct.PointSystemConfig", - "name": "pointConfig", - "type": "tuple", - "components": [ - { - "internalType": "uint256", - "name": "maxAmount", - "type": "uint256" - } - ] - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "createPool", - "outputs": [ - { - "internalType": "uint256", - "name": "poolId", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "registryCommunity", - "type": "address" - }, - { - "internalType": "enum StrategyStruct.ProposalType", - "name": "proposalType", - "type": "uint8" - }, - { - "internalType": "enum StrategyStruct.PointSystem", - "name": "pointSystem", - "type": "uint8" - }, - { - "internalType": "struct StrategyStruct.PointSystemConfig", - "name": "pointConfig", - "type": "tuple", - "components": [ - { - "internalType": "uint256", - "name": "maxAmount", - "type": "uint256" - } - ] - } - ], - "stateMutability": "pure", - "type": "function", - "name": "getParams", - "outputs": [ - { - "internalType": "struct StrategyStruct.InitializeParams", - "name": "params", - "type": "tuple", - "components": [ - { - "internalType": "address", - "name": "registryCommunity", - "type": "address" - }, - { - "internalType": "uint256", - "name": "decay", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "maxRatio", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "weight", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "minThresholdPoints", - "type": "uint256" - }, - { - "internalType": "enum StrategyStruct.ProposalType", - "name": "proposalType", - "type": "uint8" - }, - { - "internalType": "enum StrategyStruct.PointSystem", - "name": "pointSystem", - "type": "uint8" - }, - { - "internalType": "struct StrategyStruct.PointSystemConfig", - "name": "pointConfig", - "type": "tuple", - "components": [ - { - "internalType": "uint256", - "name": "maxAmount", - "type": "uint256" - } - ] - }, - { - "internalType": "address", - "name": "sybilScorer", - "type": "address" - } - ] - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "local", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "metadata", - "outputs": [ - { - "internalType": "uint256", - "name": "protocol", - "type": "uint256" - }, - { - "internalType": "string", - "name": "pointer", - "type": "string" - } - ] - }, - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "function", - "name": "no_recipient", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "pure", - "type": "function", - "name": "nullProfile_member1", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "pure", - "type": "function", - "name": "nullProfile_member2", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "pure", - "type": "function", - "name": "nullProfile_members", - "outputs": [ - { - "internalType": "address[]", - "name": "", - "type": "address[]" - } - ] - }, - { - "inputs": [], - "stateMutability": "pure", - "type": "function", - "name": "nullProfile_notAMember", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "pure", - "type": "function", - "name": "nullProfile_owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "contract IRegistry", - "name": "registry", - "type": "address" - }, - { - "internalType": "address", - "name": "pool_admin", - "type": "address" - }, - { - "internalType": "address[]", - "name": "pool_managers", - "type": "address[]" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "poolProfile_id1", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ] - }, - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "function", - "name": "pool_admin", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "function", - "name": "pool_manager1", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "function", - "name": "pool_manager2", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "function", - "name": "pool_managers", - "outputs": [ - { - "internalType": "address[]", - "name": "", - "type": "address[]" - } - ] - }, - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "function", - "name": "pool_notAManager", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "function", - "name": "profile1_member1", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "function", - "name": "profile1_member2", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "function", - "name": "profile1_members", - "outputs": [ - { - "internalType": "address[]", - "name": "", - "type": "address[]" - } - ] - }, - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "function", - "name": "profile1_notAMember", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "function", - "name": "profile1_owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "function", - "name": "profile2_member1", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "function", - "name": "profile2_member2", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "function", - "name": "profile2_members", - "outputs": [ - { - "internalType": "address[]", - "name": "", - "type": "address[]" - } - ] - }, - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "function", - "name": "profile2_notAMember", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "function", - "name": "profile2_owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "function", - "name": "randomAddress", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "function", - "name": "recipient", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "function", - "name": "recipient1", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "function", - "name": "recipient2", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "function", - "name": "recipientAddress", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "function", - "name": "registry_owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": { - "NATIVE()": { - "notice": "Address of the native token" - } - }, - "version": 1 - } - }, - "settings": { - "remappings": [ - "@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/", - "@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/", - "@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/", - "@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/", - "@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/", - "@sablier/v2-core/=lib/allo-v2/lib/v2-core/", - "ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/", - "allo-v2-contracts/=lib/allo-v2/contracts/", - "allo-v2-test/=lib/allo-v2/test/", - "allo-v2/=lib/allo-v2/", - "ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/", - "eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/", - "erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/", - "forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/", - "forge-std/=lib/forge-std/src/", - "hats-protocol/=lib/allo-v2/lib/hats-protocol/", - "openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/", - "openzeppelin-contracts/=lib/openzeppelin-contracts/", - "openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/", - "openzeppelin/=lib/openzeppelin-contracts/contracts/", - "permit2/=lib/allo-v2/lib/permit2/", - "prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/", - "prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/", - "safe-contracts/=lib/safe-contracts/", - "solady/=lib/allo-v2/lib/solady/", - "solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/", - "solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/", - "solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/", - "solmate/=lib/allo-v2/lib/permit2/lib/solmate/", - "utils/=lib/allo-v2/lib/hats-protocol/lib/utils/", - "v2-core/=lib/allo-v2/lib/v2-core/" - ], - "optimizer": { - "enabled": true, - "runs": 1000 - }, - "metadata": { - "bytecodeHash": "ipfs" - }, - "compilationTarget": { - "pkg/contracts/test/CVStrategyHelpers.sol": "CVStrategyHelpers" - }, - "evmVersion": "paris", - "libraries": {} - }, - "sources": { - "lib/allo-v2/contracts/core/Allo.sol": { - "keccak256": "0x6eadd7d37d010ad736e5b9fd25bd2083e430757d72b5873357cd7ee41d7fc21a", - "urls": [ - "bzz-raw://add326fecd1aac73bf91e634a9b11ab9a19b99a73616e44d5c79261bfbfb3a7c", - "dweb:/ipfs/QmTF7WYUpSTF6EPWtB6CW9BPJAjWeZDtNjWGME4VHrarZd" - ], - "license": "AGPL-3.0-only" - }, - "lib/allo-v2/contracts/core/interfaces/IAllo.sol": { - "keccak256": "0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce", - "urls": [ - "bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7", - "dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1" - ], - "license": "AGPL-3.0-only" - }, - "lib/allo-v2/contracts/core/interfaces/IRegistry.sol": { - "keccak256": "0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f", - "urls": [ - "bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e", - "dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA" - ], - "license": "MIT" - }, - "lib/allo-v2/contracts/core/interfaces/IStrategy.sol": { - "keccak256": "0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23", - "urls": [ - "bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487", - "dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH" - ], - "license": "AGPL-3.0-only" - }, - "lib/allo-v2/contracts/core/libraries/Clone.sol": { - "keccak256": "0xc348b24b7d8a98c4faa5f2aa37ce9264a74f81dbdef1a9bae2eaa125585c3c7e", - "urls": [ - "bzz-raw://1335b3ec59ec7e3d12ea7c90b3aa56f4c26e0d44d342f54412933be9d4f16067", - "dweb:/ipfs/QmXNFo2wCyq9cpvfgbdHvBUQecThFSEoUnMuZNS6WinDrr" - ], - "license": "AGPL-3.0-only" - }, - "lib/allo-v2/contracts/core/libraries/Errors.sol": { - "keccak256": "0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15", - "urls": [ - "bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf", - "dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA" - ], - "license": "AGPL-3.0-only" - }, - "lib/allo-v2/contracts/core/libraries/Metadata.sol": { - "keccak256": "0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44", - "urls": [ - "bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c", - "dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn" - ], - "license": "AGPL-3.0-only" - }, - "lib/allo-v2/contracts/core/libraries/Native.sol": { - "keccak256": "0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5", - "urls": [ - "bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a", - "dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv" - ], - "license": "AGPL-3.0-only" - }, - "lib/allo-v2/contracts/core/libraries/Transfer.sol": { - "keccak256": "0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286", - "urls": [ - "bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11", - "dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5" - ], - "license": "AGPL-3.0-only" - }, - "lib/allo-v2/contracts/strategies/BaseStrategy.sol": { - "keccak256": "0x3f1382dc6c35d50545e327e7ed6016f2bd752357d446bd698014073f0b812873", - "urls": [ - "bzz-raw://99500abcd617fa43f6dde49e2c7802821ceaf54a65a8055cbbf2695ecd107974", - "dweb:/ipfs/QmUktZkWuu3GCMEijY1fqt7NMy7BzpTvEtcmpB1fuoa7zt" - ], - "license": "AGPL-3.0-only" - }, - "lib/allo-v2/lib/solady/src/auth/Ownable.sol": { - "keccak256": "0xd916b6ca098f26e08eff367c6fc1853956839d8d1c9d2df715784b6dec99889b", - "urls": [ - "bzz-raw://7a9d8137ec1f5fb4210fbebeafa002f5b9cab28579445bd8281c56862e63aa30", - "dweb:/ipfs/QmPLBcT1JkBKa4jK6qNficwZx2uGG4MetPNErJArdX6G61" - ], - "license": "MIT" - }, - "lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol": { - "keccak256": "0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624", - "urls": [ - "bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298", - "dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt" - ], - "license": "MIT" - }, - "lib/allo-v2/test/foundry/shared/Accounts.sol": { - "keccak256": "0x47c754ab744c6c9894aaff23cfbbe44bc30879a53fbbe8d36b1fee26137f2e3a", - "urls": [ - "bzz-raw://8e457b7adaf1ea79cc707e8a3e2989855f51ff98ebc1947b3239d7d410d5a07b", - "dweb:/ipfs/QmSXASZ4u435D29T4UzKuh6kd8vLSrbSSgZzjnnhfwyv1m" - ], - "license": "AGPL-3.0-only" - }, - "lib/forge-std/src/StdCheats.sol": { - "keccak256": "0xb72f3519e0bf7d31df5d68557525f4fc55d861c3fb3b0f7793144ef7c94cbeb7", - "urls": [ - "bzz-raw://f3456d0f78e6f61203fa7871ba2df0d35925f10db3baee14be623ce2a35b84e2", - "dweb:/ipfs/QmWE6QQSBvJifHMraisBTrf1x4WCwrDoTPLX8UKajTiApc" - ], - "license": "MIT" - }, - "lib/forge-std/src/StdStorage.sol": { - "keccak256": "0x651d84d948832f0ef45686417aa68ffb871378fa788a4123dbf37844903c66f3", - "urls": [ - "bzz-raw://ff20f5ac9de3dc3ba86b1bf1f2723174e82ce3499ad67cb0ccfa7d28baeee678", - "dweb:/ipfs/QmRZkUFKz7AmF7yk6o317sk822HHhGVPXZQgX8G4LfYfft" - ], - "license": "MIT" - }, - "lib/forge-std/src/Vm.sol": { - "keccak256": "0x51fec240abc6dd23e0ee6de7c65106379aef732cad6c4ae5df6b55db886e7456", - "urls": [ - "bzz-raw://a47d9c0a9876e7f9e411843b994a741d4ac1a87d8459ffc3c56359de691ddc1a", - "dweb:/ipfs/QmQiFN9b3Y2azrD1RBfAKEuAG3YeJkMzA2DGzgEE9kMeEK" - ], - "license": "MIT OR Apache-2.0" - }, - "lib/forge-std/src/console.sol": { - "keccak256": "0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba", - "urls": [ - "bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70", - "dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec" - ], - "license": "MIT" - }, - "lib/forge-std/src/console2.sol": { - "keccak256": "0x954646445d1014c3cd85c7918f5e7adeeca5ee44b68c00bafa237e597a4e35ea", - "urls": [ - "bzz-raw://516fa3be52da4763147175bfba4be0aa011fadbb0c1afb01f97265bd4cee7973", - "dweb:/ipfs/QmdixAyMJefx7qePChgdxcBH5MxhmN7vsqPuPLx3CgrVmF" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol": { - "keccak256": "0xc8710577334e8d0799ae2b2a731b1924a7bddd64319da9787ddd2dc69bdd1ce5", - "urls": [ - "bzz-raw://b83b7afa4d2372da3ba5402fb10860a105c35d79812c60dc61007be2afc17618", - "dweb:/ipfs/QmYX9xPmbNVSKXrepKiUZiG5oL3SdzFp9a4kqspxX1sEUx" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol": { - "keccak256": "0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa", - "urls": [ - "bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c", - "dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol": { - "keccak256": "0x5a55d1b148a0cb4183f1e09ceaff87bd2d828440f2f5dc01dfe03eb29e7c88ec", - "urls": [ - "bzz-raw://b3f9278bdda788763efbe569da77fc24feff36e871779e2da69f74ea5f8bfacf", - "dweb:/ipfs/QmZF9cH4rfazmwKT55p3tZyzh9QGghNyss81f46d6yVXap" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol": { - "keccak256": "0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794", - "urls": [ - "bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e", - "dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol": { - "keccak256": "0x2025ccf05f6f1f2fd4e078e552836f525a1864e3854ed555047cd732320ab29b", - "urls": [ - "bzz-raw://d27f4b23c2dee42394aebaf42bf238285230f472dfd3282a39c3f000ec28214f", - "dweb:/ipfs/QmQa3DnvccwdWJeWrjgXPnFMTWbzWQWR39hVqC7eEwo2PC" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/IERC20Upgradeable.sol": { - "keccak256": "0x0e1f0f5f62f67a881cd1a9597acbc0a5e4071f3c2c10449a183b922ae7272e3f", - "urls": [ - "bzz-raw://c25f742ff154998d19a669e2508c3597b363e123ce9144cd0fcf6521229f401f", - "dweb:/ipfs/QmQXRuFzStEWqeEPbhQU6cAg9PaSowxJVo4PDKyRod7dco" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol": { - "keccak256": "0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422", - "urls": [ - "bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b", - "dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol": { - "keccak256": "0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef", - "urls": [ - "bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95", - "dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol": { - "keccak256": "0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb", - "urls": [ - "bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a", - "dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol": { - "keccak256": "0xd90d7723512df65ae417adaf0801042940f0dabd60039ceeaffe34aa5b238da1", - "urls": [ - "bzz-raw://1b13befeb3413749292f9fb229de1c7a509a5ce2c8047d9094fc004ca9d3af89", - "dweb:/ipfs/QmRzJ2hZSwRtMejHUZAYTPRKgZsnfb112Fno9Jf3EiDfwA" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol": { - "keccak256": "0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09", - "urls": [ - "bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758", - "dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol": { - "keccak256": "0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e", - "urls": [ - "bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91", - "dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol": { - "keccak256": "0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a", - "urls": [ - "bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4", - "dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/access/AccessControl.sol": { - "keccak256": "0x0dd6e52cb394d7f5abe5dca2d4908a6be40417914720932de757de34a99ab87f", - "urls": [ - "bzz-raw://dc117ce50ea746cab6b97ed1a1facee17a715ae0cb95d67b943dacbaf15176fb", - "dweb:/ipfs/QmYRZ2UGNYwsHwfNu7Wjr8L2j1LBZ1mKv6NvbwgterYMXc" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/access/IAccessControl.sol": { - "keccak256": "0x59ce320a585d7e1f163cd70390a0ef2ff9cec832e2aa544293a00692465a7a57", - "urls": [ - "bzz-raw://bb2c137c343ef0c4c7ce7b18c1d108afdc9d315a04e48307288d2d05adcbde3a", - "dweb:/ipfs/QmUxhrAQM3MM3FF5j7AtcXLXguWCJBHJ14BRdVtuoQc8Fh" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/access/Ownable.sol": { - "keccak256": "0xba43b97fba0d32eb4254f6a5a297b39a19a247082a02d6e69349e071e2946218", - "urls": [ - "bzz-raw://fc980984badf3984b6303b377711220e067722bbd6a135b24669ff5069ef9f32", - "dweb:/ipfs/QmPHXMSXj99XjSVM21YsY6aNtLLjLVXDbyN76J5HQYvvrz" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/security/ReentrancyGuard.sol": { - "keccak256": "0xa535a5df777d44e945dd24aa43a11e44b024140fc340ad0dfe42acf4002aade1", - "urls": [ - "bzz-raw://41319e7f621f2dc3733511332c4fd032f8e32ad2aa7fd6f665c19741d9941a34", - "dweb:/ipfs/QmcYR3bd862GD1Bc7jwrU9bGxrhUu5na1oP964bDCu2id1" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol": { - "keccak256": "0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c", - "urls": [ - "bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15", - "dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol": { - "keccak256": "0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305", - "urls": [ - "bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5", - "dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol": { - "keccak256": "0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca", - "urls": [ - "bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd", - "dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol": { - "keccak256": "0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a", - "urls": [ - "bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a", - "dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol": { - "keccak256": "0x909d608c2db6eb165ca178c81289a07ed2e118e444d0025b2a85c97d0b44a4fa", - "urls": [ - "bzz-raw://656cda26512ddd7373c2d5551c8fae759fc30f05b10f0fc2e738e9274199dbd4", - "dweb:/ipfs/QmTSArSzQRFbQmHgq7U1PZXnsDFhvDZhKVu9CzMG4yo6Lx" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/utils/Address.sol": { - "keccak256": "0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa", - "urls": [ - "bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931", - "dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/utils/Context.sol": { - "keccak256": "0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7", - "urls": [ - "bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92", - "dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/utils/Strings.sol": { - "keccak256": "0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0", - "urls": [ - "bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f", - "dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol": { - "keccak256": "0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b", - "urls": [ - "bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d", - "dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol": { - "keccak256": "0x5a08ad61f4e82b8a3323562661a86fb10b10190848073fdc13d4ac43710ffba5", - "urls": [ - "bzz-raw://6f7bb74cf88fd88daa34e118bc6e363381d05044f34f391d39a10c0c9dac3ebd", - "dweb:/ipfs/QmNbQ3v8v4zuDtg7VeLAbdhAm3tCzUodNoDZZ8ekmCHWZX" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol": { - "keccak256": "0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1", - "urls": [ - "bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f", - "dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/utils/math/Math.sol": { - "keccak256": "0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3", - "urls": [ - "bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c", - "dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol": { - "keccak256": "0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc", - "urls": [ - "bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7", - "dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6" - ], - "license": "MIT" - }, - "pkg/contracts/src/CVStrategy.sol": { - "keccak256": "0x132bcf17470960e380d841159d9389985d609aaae1c9a657c78902f7871da957", - "urls": [ - "bzz-raw://84e905bf392579b44f33fff8586431b940e110b2210854cf487321cc92061705", - "dweb:/ipfs/QmQpvszYu8RbrXmUFLifSodQzV8LAqazk1fzXNARGc5sBT" - ], - "license": "AGPL-3.0-only" - }, - "pkg/contracts/src/ISybilScorer.sol": { - "keccak256": "0x0e25fbb8497ac3c969d80c9032362d45e56c0a45dc9ba3dff6a8a704571f38ea", - "urls": [ - "bzz-raw://0dff90ebae6e7131a5300fcaf525bc2ab0ae90fcd13f277d7b7b6939eeb8b7eb", - "dweb:/ipfs/QmYGkYqpUVrBWoNY6f3CtwrrVQFWSvnJfpu68t95f6AkBY" - ], - "license": "MIT" - }, - "pkg/contracts/src/RegistryCommunity.sol": { - "keccak256": "0xc735f4d2635149f2db9bff291da56e08c3c312d9eb1b767b8a1e3e51584d5734", - "urls": [ - "bzz-raw://247b33b78abface6a7e2da38174386de9b543f6a27e8340e26d854bff57184a3", - "dweb:/ipfs/QmedNdqkqeboGzz9w868uGf7KnXUaYZe6i1YcdUPPkJnnf" - ], - "license": "AGPL-3.0-only" - }, - "pkg/contracts/src/RegistryFactory.sol": { - "keccak256": "0x888b7f5eb1079f90ccfa0b41d8a970bffd8d4d469f9b31917a58279b358dbda5", - "urls": [ - "bzz-raw://af25fd783de00adf01d1c7caa572801fed0d474306a43b862535b08e65ec10c6", - "dweb:/ipfs/Qmeb2nEaMQLV86y1CYAAV2c6BYpBDTbpLuC1SigeNjdqLo" - ], - "license": "AGPL-3.0-only" - }, - "pkg/contracts/src/interfaces/ISafe.sol": { - "keccak256": "0x878a210809bb684c42157a10f3f90350a67d0a4863f130499942b06f0f2c9143", - "urls": [ - "bzz-raw://fa2d71bd427c3415e98a2ee15ff673f3cc61c17f14d7087c5eedc83b55f6b0ef", - "dweb:/ipfs/QmesVSmJQQzi6ys1cvhQFCJyDXchb736mT5bXks4Yp6Cbj" - ], - "license": "LGPL-3.0-only" - }, - "pkg/contracts/test/CVStrategyHelpers.sol": { - "keccak256": "0xcae356371a1370cd43bbabbe3f711ec3e83948d3703695699032edf9a44caaf0", - "urls": [ - "bzz-raw://bc97e105625a34e4599d606d8fc63b8a9774d2faccd19ca64ffaa5373788f7a3", - "dweb:/ipfs/QmVwkhJA3qdd5nJ4dj2jBvik8eWtFkczfuajyskRqTsM8Z" - ], - "license": "AGPL-3.0-or-later" - } - }, - "version": 1 - }, - "storageLayout": { - "storage": [ - { - "astId": 9317, - "contract": "pkg/contracts/test/CVStrategyHelpers.sol:CVStrategyHelpers", - "label": "gasMeteringOff", - "offset": 0, - "slot": "0", - "type": "t_bool" - }, - { - "astId": 11354, - "contract": "pkg/contracts/test/CVStrategyHelpers.sol:CVStrategyHelpers", - "label": "stdstore", - "offset": 0, - "slot": "1", - "type": "t_struct(StdStorage)13235_storage" - }, - { - "astId": 88572, - "contract": "pkg/contracts/test/CVStrategyHelpers.sol:CVStrategyHelpers", - "label": "metadata", - "offset": 0, - "slot": "9", - "type": "t_struct(Metadata)3098_storage" - }, - { - "astId": 88584, - "contract": "pkg/contracts/test/CVStrategyHelpers.sol:CVStrategyHelpers", - "label": "_poolProfileId1_", - "offset": 0, - "slot": "11", - "type": "t_bytes32" - } - ], - "types": { - "t_address": { - "encoding": "inplace", - "label": "address", - "numberOfBytes": "20" - }, - "t_array(t_bytes32)dyn_storage": { - "encoding": "dynamic_array", - "label": "bytes32[]", - "numberOfBytes": "32", - "base": "t_bytes32" - }, - "t_bool": { - "encoding": "inplace", - "label": "bool", - "numberOfBytes": "1" - }, - "t_bytes32": { - "encoding": "inplace", - "label": "bytes32", - "numberOfBytes": "32" - }, - "t_bytes4": { - "encoding": "inplace", - "label": "bytes4", - "numberOfBytes": "4" - }, - "t_bytes_storage": { - "encoding": "bytes", - "label": "bytes", - "numberOfBytes": "32" - }, - "t_mapping(t_address,t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)13210_storage)))": { - "encoding": "mapping", - "key": "t_address", - "label": "mapping(address => mapping(bytes4 => mapping(bytes32 => struct FindData)))", - "numberOfBytes": "32", - "value": "t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)13210_storage))" - }, - "t_mapping(t_bytes32,t_struct(FindData)13210_storage)": { - "encoding": "mapping", - "key": "t_bytes32", - "label": "mapping(bytes32 => struct FindData)", - "numberOfBytes": "32", - "value": "t_struct(FindData)13210_storage" - }, - "t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)13210_storage))": { - "encoding": "mapping", - "key": "t_bytes4", - "label": "mapping(bytes4 => mapping(bytes32 => struct FindData))", - "numberOfBytes": "32", - "value": "t_mapping(t_bytes32,t_struct(FindData)13210_storage)" - }, - "t_string_storage": { - "encoding": "bytes", - "label": "string", - "numberOfBytes": "32" - }, - "t_struct(FindData)13210_storage": { - "encoding": "inplace", - "label": "struct FindData", - "numberOfBytes": "128", - "members": [ - { - "astId": 13203, - "contract": "pkg/contracts/test/CVStrategyHelpers.sol:CVStrategyHelpers", - "label": "slot", - "offset": 0, - "slot": "0", - "type": "t_uint256" - }, - { - "astId": 13205, - "contract": "pkg/contracts/test/CVStrategyHelpers.sol:CVStrategyHelpers", - "label": "offsetLeft", - "offset": 0, - "slot": "1", - "type": "t_uint256" - }, - { - "astId": 13207, - "contract": "pkg/contracts/test/CVStrategyHelpers.sol:CVStrategyHelpers", - "label": "offsetRight", - "offset": 0, - "slot": "2", - "type": "t_uint256" - }, - { - "astId": 13209, - "contract": "pkg/contracts/test/CVStrategyHelpers.sol:CVStrategyHelpers", - "label": "found", - "offset": 0, - "slot": "3", - "type": "t_bool" - } - ] - }, - "t_struct(Metadata)3098_storage": { - "encoding": "inplace", - "label": "struct Metadata", - "numberOfBytes": "64", - "members": [ - { - "astId": 3094, - "contract": "pkg/contracts/test/CVStrategyHelpers.sol:CVStrategyHelpers", - "label": "protocol", - "offset": 0, - "slot": "0", - "type": "t_uint256" - }, - { - "astId": 3097, - "contract": "pkg/contracts/test/CVStrategyHelpers.sol:CVStrategyHelpers", - "label": "pointer", - "offset": 0, - "slot": "1", - "type": "t_string_storage" - } - ] - }, - "t_struct(StdStorage)13235_storage": { - "encoding": "inplace", - "label": "struct StdStorage", - "numberOfBytes": "256", - "members": [ - { - "astId": 13219, - "contract": "pkg/contracts/test/CVStrategyHelpers.sol:CVStrategyHelpers", - "label": "finds", - "offset": 0, - "slot": "0", - "type": "t_mapping(t_address,t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)13210_storage)))" - }, - { - "astId": 13222, - "contract": "pkg/contracts/test/CVStrategyHelpers.sol:CVStrategyHelpers", - "label": "_keys", - "offset": 0, - "slot": "1", - "type": "t_array(t_bytes32)dyn_storage" - }, - { - "astId": 13224, - "contract": "pkg/contracts/test/CVStrategyHelpers.sol:CVStrategyHelpers", - "label": "_sig", - "offset": 0, - "slot": "2", - "type": "t_bytes4" - }, - { - "astId": 13226, - "contract": "pkg/contracts/test/CVStrategyHelpers.sol:CVStrategyHelpers", - "label": "_depth", - "offset": 0, - "slot": "3", - "type": "t_uint256" - }, - { - "astId": 13228, - "contract": "pkg/contracts/test/CVStrategyHelpers.sol:CVStrategyHelpers", - "label": "_target", - "offset": 0, - "slot": "4", - "type": "t_address" - }, - { - "astId": 13230, - "contract": "pkg/contracts/test/CVStrategyHelpers.sol:CVStrategyHelpers", - "label": "_set", - "offset": 0, - "slot": "5", - "type": "t_bytes32" - }, - { - "astId": 13232, - "contract": "pkg/contracts/test/CVStrategyHelpers.sol:CVStrategyHelpers", - "label": "_enable_packed_slots", - "offset": 0, - "slot": "6", - "type": "t_bool" - }, - { - "astId": 13234, - "contract": "pkg/contracts/test/CVStrategyHelpers.sol:CVStrategyHelpers", - "label": "_calldata", - "offset": 0, - "slot": "7", - "type": "t_bytes_storage" - } - ] - }, - "t_uint256": { - "encoding": "inplace", - "label": "uint256", - "numberOfBytes": "32" - } - } - }, - "ast": { - "absolutePath": "pkg/contracts/test/CVStrategyHelpers.sol", - "id": 89047, - "exportedSymbols": { - "Accounts": [ - 5026 - ], - "Allo": [ - 1390 - ], - "CVStrategy": [ - 77611 - ], - "CVStrategyHelpers": [ - 89046 - ], - "IRegistry": [ - 2802 - ], - "Metadata": [ - 3098 - ], - "Native": [ - 3106 - ], - "StrategyStruct": [ - 74807 - ], - "console": [ - 29549 - ] - }, - "nodeType": "SourceUnit", - "src": "46:5881:141", - "nodes": [ - { - "id": 88547, - "nodeType": "PragmaDirective", - "src": "46:24:141", - "nodes": [], - "literals": [ - "solidity", - "^", - "0.8", - ".19" - ] - }, - { - "id": 88548, - "nodeType": "ImportDirective", - "src": "72:31:141", - "nodes": [], - "absolutePath": "lib/forge-std/src/console.sol", - "file": "forge-std/console.sol", - "nameLocation": "-1:-1:-1", - "scope": 89047, - "sourceUnit": 29550, - "symbolAliases": [], - "unitAlias": "" - }, - { - "id": 88550, - "nodeType": "ImportDirective", - "src": "104:53:141", - "nodes": [], - "absolutePath": "lib/allo-v2/contracts/core/Allo.sol", - "file": "allo-v2-contracts/core/Allo.sol", - "nameLocation": "-1:-1:-1", - "scope": 89047, - "sourceUnit": 1391, - "symbolAliases": [ - { - "foreign": { - "id": 88549, - "name": "Allo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1390, - "src": "112:4:141", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - } - ], - "unitAlias": "" - }, - { - "id": 88552, - "nodeType": "ImportDirective", - "src": "158:71:141", - "nodes": [], - "absolutePath": "lib/allo-v2/contracts/core/libraries/Metadata.sol", - "file": "allo-v2-contracts/core/libraries/Metadata.sol", - "nameLocation": "-1:-1:-1", - "scope": 89047, - "sourceUnit": 3099, - "symbolAliases": [ - { - "foreign": { - "id": 88551, - "name": "Metadata", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3098, - "src": "166:8:141", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - } - ], - "unitAlias": "" - }, - { - "id": 88555, - "nodeType": "ImportDirective", - "src": "301:65:141", - "nodes": [], - "absolutePath": "pkg/contracts/src/CVStrategy.sol", - "file": "../src/CVStrategy.sol", - "nameLocation": "-1:-1:-1", - "scope": 89047, - "sourceUnit": 77612, - "symbolAliases": [ - { - "foreign": { - "id": 88553, - "name": "CVStrategy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77611, - "src": "309:10:141", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - }, - { - "foreign": { - "id": 88554, - "name": "StrategyStruct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74807, - "src": "321:14:141", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - } - ], - "unitAlias": "" - }, - { - "id": 88557, - "nodeType": "ImportDirective", - "src": "367:67:141", - "nodes": [], - "absolutePath": "lib/allo-v2/contracts/core/libraries/Native.sol", - "file": "allo-v2-contracts/core/libraries/Native.sol", - "nameLocation": "-1:-1:-1", - "scope": 89047, - "sourceUnit": 3107, - "symbolAliases": [ - { - "foreign": { - "id": 88556, - "name": "Native", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3106, - "src": "375:6:141", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - } - ], - "unitAlias": "" - }, - { - "id": 88559, - "nodeType": "ImportDirective", - "src": "435:74:141", - "nodes": [], - "absolutePath": "lib/allo-v2/contracts/core/interfaces/IRegistry.sol", - "file": "allo-v2-contracts/core/interfaces/IRegistry.sol", - "nameLocation": "-1:-1:-1", - "scope": 89047, - "sourceUnit": 2803, - "symbolAliases": [ - { - "foreign": { - "id": 88558, - "name": "IRegistry", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2802, - "src": "443:9:141", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - } - ], - "unitAlias": "" - }, - { - "id": 88561, - "nodeType": "ImportDirective", - "src": "511:66:141", - "nodes": [], - "absolutePath": "lib/allo-v2/test/foundry/shared/Accounts.sol", - "file": "allo-v2-test/foundry/shared/Accounts.sol", - "nameLocation": "-1:-1:-1", - "scope": 89047, - "sourceUnit": 5027, - "symbolAliases": [ - { - "foreign": { - "id": 88560, - "name": "Accounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5026, - "src": "519:8:141", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - } - ], - "unitAlias": "" - }, - { - "id": 89046, - "nodeType": "ContractDefinition", - "src": "579:5347:141", - "nodes": [ - { - "id": 88572, - "nodeType": "VariableDeclaration", - "src": "632:109:141", - "nodes": [], - "constant": false, - "functionSelector": "392f37e9", - "mutability": "mutable", - "name": "metadata", - "nameLocation": "648:8:141", - "scope": 89046, - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Metadata_$3098_storage", - "typeString": "struct Metadata" - }, - "typeName": { - "id": 88567, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 88566, - "name": "Metadata", - "nameLocations": [ - "632:8:141" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 3098, - "src": "632:8:141" - }, - "referencedDeclaration": 3098, - "src": "632:8:141", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Metadata_$3098_storage_ptr", - "typeString": "struct Metadata" - } - }, - "value": { - "arguments": [ - { - "hexValue": "31", - "id": 88569, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "679:1:141", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - { - "hexValue": "516d57347a464c464a524e374a3637457a4e6d64433272324d397532694a44686132666a3547656536684a7a5359", - "id": 88570, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "691:48:141", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_5132d0078161e899617508f56f10fe912a54664090fbe8853f8693be238f8d30", - "typeString": "literal_string \"QmW4zFLFJRN7J67EzNmdC2r2M9u2iJDha2fj5Gee6hJzSY\"" - }, - "value": "QmW4zFLFJRN7J67EzNmdC2r2M9u2iJDha2fj5Gee6hJzSY" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - { - "typeIdentifier": "t_stringliteral_5132d0078161e899617508f56f10fe912a54664090fbe8853f8693be238f8d30", - "typeString": "literal_string \"QmW4zFLFJRN7J67EzNmdC2r2M9u2iJDha2fj5Gee6hJzSY\"" - } - ], - "id": 88568, - "name": "Metadata", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3098, - "src": "659:8:141", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_Metadata_$3098_storage_ptr_$", - "typeString": "type(struct Metadata storage pointer)" - } - }, - "id": 88571, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "structConstructorCall", - "lValueRequested": false, - "nameLocations": [ - "669:8:141", - "682:7:141" - ], - "names": [ - "protocol", - "pointer" - ], - "nodeType": "FunctionCall", - "src": "659:82:141", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_struct$_Metadata_$3098_memory_ptr", - "typeString": "struct Metadata memory" - } - }, - "visibility": "public" - }, - { - "id": 88577, - "nodeType": "VariableDeclaration", - "src": "770:43:141", - "nodes": [], - "constant": true, - "functionSelector": "2e0f2625", - "mutability": "constant", - "name": "DECIMALS", - "nameLocation": "794:8:141", - "scope": 89046, - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 88573, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "770:7:141", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "commonType": { - "typeIdentifier": "t_rational_1000000000000000000_by_1", - "typeString": "int_const 1000000000000000000" - }, - "id": 88576, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "hexValue": "3130", - "id": 88574, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "805:2:141", - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "hexValue": "3138", - "id": 88575, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "811:2:141", - "typeDescriptions": { - "typeIdentifier": "t_rational_18_by_1", - "typeString": "int_const 18" - }, - "value": "18" - }, - "src": "805:8:141", - "typeDescriptions": { - "typeIdentifier": "t_rational_1000000000000000000_by_1", - "typeString": "int_const 1000000000000000000" - } - }, - "visibility": "public" - }, - { - "id": 88582, - "nodeType": "VariableDeclaration", - "src": "819:50:141", - "nodes": [], - "constant": true, - "functionSelector": "3f26479e", - "mutability": "constant", - "name": "PERCENTAGE_SCALE", - "nameLocation": "843:16:141", - "scope": 89046, - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 88578, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "819:7:141", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "commonType": { - "typeIdentifier": "t_rational_10000_by_1", - "typeString": "int_const 10000" - }, - "id": 88581, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "hexValue": "3130", - "id": 88579, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "862:2:141", - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "hexValue": "34", - "id": 88580, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "868:1:141", - "typeDescriptions": { - "typeIdentifier": "t_rational_4_by_1", - "typeString": "int_const 4" - }, - "value": "4" - }, - "src": "862:7:141", - "typeDescriptions": { - "typeIdentifier": "t_rational_10000_by_1", - "typeString": "int_const 10000" - } - }, - "visibility": "public" - }, - { - "id": 88584, - "nodeType": "VariableDeclaration", - "src": "876:33:141", - "nodes": [], - "constant": false, - "mutability": "mutable", - "name": "_poolProfileId1_", - "nameLocation": "893:16:141", - "scope": 89046, - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 88583, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "876:7:141", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "id": 88589, - "nodeType": "VariableDeclaration", - "src": "916:44:141", - "nodes": [], - "constant": true, - "mutability": "constant", - "name": "TWO_127", - "nameLocation": "942:7:141", - "scope": 89046, - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 88585, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "916:7:141", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "commonType": { - "typeIdentifier": "t_rational_170141183460469231731687303715884105728_by_1", - "typeString": "int_const 1701...(31 digits omitted)...5728" - }, - "id": 88588, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "hexValue": "32", - "id": 88586, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "952:1:141", - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "hexValue": "313237", - "id": 88587, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "957:3:141", - "typeDescriptions": { - "typeIdentifier": "t_rational_127_by_1", - "typeString": "int_const 127" - }, - "value": "127" - }, - "src": "952:8:141", - "typeDescriptions": { - "typeIdentifier": "t_rational_170141183460469231731687303715884105728_by_1", - "typeString": "int_const 1701...(31 digits omitted)...5728" - } - }, - "visibility": "internal" - }, - { - "id": 88594, - "nodeType": "VariableDeclaration", - "src": "966:44:141", - "nodes": [], - "constant": true, - "mutability": "constant", - "name": "TWO_128", - "nameLocation": "992:7:141", - "scope": 89046, - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 88590, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "966:7:141", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "commonType": { - "typeIdentifier": "t_rational_340282366920938463463374607431768211456_by_1", - "typeString": "int_const 3402...(31 digits omitted)...1456" - }, - "id": 88593, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "hexValue": "32", - "id": 88591, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1002:1:141", - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "hexValue": "313238", - "id": 88592, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1007:3:141", - "typeDescriptions": { - "typeIdentifier": "t_rational_128_by_1", - "typeString": "int_const 128" - }, - "value": "128" - }, - "src": "1002:8:141", - "typeDescriptions": { - "typeIdentifier": "t_rational_340282366920938463463374607431768211456_by_1", - "typeString": "int_const 3402...(31 digits omitted)...1456" - } - }, - "visibility": "internal" - }, - { - "id": 88599, - "nodeType": "VariableDeclaration", - "src": "1016:37:141", - "nodes": [], - "constant": true, - "mutability": "constant", - "name": "D", - "nameLocation": "1042:1:141", - "scope": 89046, - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 88595, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1016:7:141", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "commonType": { - "typeIdentifier": "t_rational_10000000_by_1", - "typeString": "int_const 10000000" - }, - "id": 88598, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "hexValue": "3130", - "id": 88596, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1046:2:141", - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "hexValue": "37", - "id": 88597, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1052:1:141", - "typeDescriptions": { - "typeIdentifier": "t_rational_7_by_1", - "typeString": "int_const 7" - }, - "value": "7" - }, - "src": "1046:7:141", - "typeDescriptions": { - "typeIdentifier": "t_rational_10000000_by_1", - "typeString": "int_const 10000000" - } - }, - "visibility": "internal" - }, - { - "id": 88637, - "nodeType": "FunctionDefinition", - "src": "1164:437:141", - "nodes": [], - "body": { - "id": 88636, - "nodeType": "Block", - "src": "1322:279:141", - "nodes": [], - "statements": [ - { - "condition": { - "commonType": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "id": 88617, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 88612, - "name": "_poolProfileId1_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 88584, - "src": "1336:16:141", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "arguments": [ - { - "hexValue": "30", - "id": 88615, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1364:1:141", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 88614, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1356:7:141", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes32_$", - "typeString": "type(bytes32)" - }, - "typeName": { - "id": 88613, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1356:7:141", - "typeDescriptions": {} - } - }, - "id": 88616, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "1356:10:141", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "src": "1336:30:141", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 88633, - "nodeType": "IfStatement", - "src": "1332:230:141", - "trueBody": { - "id": 88632, - "nodeType": "Block", - "src": "1368:194:141", - "statements": [ - { - "expression": { - "id": 88630, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 88618, - "name": "_poolProfileId1_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 88584, - "src": "1382:16:141", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "hexValue": "32", - "id": 88621, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1441:1:141", - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - { - "hexValue": "506f6f6c2050726f66696c652031", - "id": 88622, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1444:16:141", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_cfdb29660678cfa126d648cb1a4f5ce763c1e1204e820590687579a35d4b28f4", - "typeString": "literal_string \"Pool Profile 1\"" - }, - "value": "Pool Profile 1" - }, - { - "arguments": [ - { - "hexValue": "31", - "id": 88624, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1482:1:141", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - { - "hexValue": "506f6f6c50726f66696c6531", - "id": 88625, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1494:14:141", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_f67171f94b553bc18f3436392ab5b1a6c6075d142911addaba07f9932e807028", - "typeString": "literal_string \"PoolProfile1\"" - }, - "value": "PoolProfile1" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - { - "typeIdentifier": "t_stringliteral_f67171f94b553bc18f3436392ab5b1a6c6075d142911addaba07f9932e807028", - "typeString": "literal_string \"PoolProfile1\"" - } - ], - "id": 88623, - "name": "Metadata", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3098, - "src": "1462:8:141", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_Metadata_$3098_storage_ptr_$", - "typeString": "type(struct Metadata storage pointer)" - } - }, - "id": 88626, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "structConstructorCall", - "lValueRequested": false, - "nameLocations": [ - "1472:8:141", - "1485:7:141" - ], - "names": [ - "protocol", - "pointer" - ], - "nodeType": "FunctionCall", - "src": "1462:48:141", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_struct$_Metadata_$3098_memory_ptr", - "typeString": "struct Metadata memory" - } - }, - { - "id": 88627, - "name": "pool_admin", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 88604, - "src": "1512:10:141", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 88628, - "name": "pool_managers", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 88607, - "src": "1524:13:141", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - { - "typeIdentifier": "t_stringliteral_cfdb29660678cfa126d648cb1a4f5ce763c1e1204e820590687579a35d4b28f4", - "typeString": "literal_string \"Pool Profile 1\"" - }, - { - "typeIdentifier": "t_struct$_Metadata_$3098_memory_ptr", - "typeString": "struct Metadata memory" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - ], - "expression": { - "id": 88619, - "name": "registry", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 88602, - "src": "1401:8:141", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IRegistry_$2802", - "typeString": "contract IRegistry" - } - }, - "id": 88620, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "1410:13:141", - "memberName": "createProfile", - "nodeType": "MemberAccess", - "referencedDeclaration": 2742, - "src": "1401:22:141", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$_t_string_memory_ptr_$_t_struct$_Metadata_$3098_memory_ptr_$_t_address_$_t_array$_t_address_$dyn_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (uint256,string memory,struct Metadata memory,address,address[] memory) external returns (bytes32)" - } - }, - "id": 88629, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "1401:150:141", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "src": "1382:169:141", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "id": 88631, - "nodeType": "ExpressionStatement", - "src": "1382:169:141" - } - ] - } - }, - { - "expression": { - "id": 88634, - "name": "_poolProfileId1_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 88584, - "src": "1578:16:141", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "functionReturnParameters": 88611, - "id": 88635, - "nodeType": "Return", - "src": "1571:23:141" - } - ] - }, - "functionSelector": "37d1c404", - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "poolProfile_id1", - "nameLocation": "1173:15:141", - "parameters": { - "id": 88608, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 88602, - "mutability": "mutable", - "name": "registry", - "nameLocation": "1199:8:141", - "nodeType": "VariableDeclaration", - "scope": 88637, - "src": "1189:18:141", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IRegistry_$2802", - "typeString": "contract IRegistry" - }, - "typeName": { - "id": 88601, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 88600, - "name": "IRegistry", - "nameLocations": [ - "1189:9:141" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 2802, - "src": "1189:9:141" - }, - "referencedDeclaration": 2802, - "src": "1189:9:141", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IRegistry_$2802", - "typeString": "contract IRegistry" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 88604, - "mutability": "mutable", - "name": "pool_admin", - "nameLocation": "1217:10:141", - "nodeType": "VariableDeclaration", - "scope": 88637, - "src": "1209:18:141", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 88603, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1209:7:141", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 88607, - "mutability": "mutable", - "name": "pool_managers", - "nameLocation": "1246:13:141", - "nodeType": "VariableDeclaration", - "scope": 88637, - "src": "1229:30:141", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 88605, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1229:7:141", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 88606, - "nodeType": "ArrayTypeName", - "src": "1229:9:141", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "visibility": "internal" - } - ], - "src": "1188:72:141" - }, - "returnParameters": { - "id": 88611, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 88610, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 88637, - "src": "1309:7:141", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 88609, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1309:7:141", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "src": "1308:9:141" - }, - "scope": 89046, - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "public" - }, - { - "id": 88717, - "nodeType": "FunctionDefinition", - "src": "1607:1088:141", - "nodes": [], - "body": { - "id": 88716, - "nodeType": "Block", - "src": "1894:801:141", - "nodes": [], - "statements": [ - { - "expression": { - "id": 88660, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "expression": { - "id": 88654, - "name": "params", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 88652, - "src": "1955:6:141", - "typeDescriptions": { - "typeIdentifier": "t_struct$_InitializeParams_$74806_memory_ptr", - "typeString": "struct StrategyStruct.InitializeParams memory" - } - }, - "id": 88656, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberLocation": "1962:5:141", - "memberName": "decay", - "nodeType": "MemberAccess", - "referencedDeclaration": 74788, - "src": "1955:12:141", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "hexValue": "302e39393939373939", - "id": 88658, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1984:15:141", - "subdenomination": "ether", - "typeDescriptions": { - "typeIdentifier": "t_rational_999979900000000000_by_1", - "typeString": "int_const 999979900000000000" - }, - "value": "0.9999799" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_999979900000000000_by_1", - "typeString": "int_const 999979900000000000" - } - ], - "id": 88657, - "name": "_etherToFloat", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 88891, - "src": "1970:13:141", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - } - }, - "id": 88659, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "1970:30:141", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1955:45:141", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 88661, - "nodeType": "ExpressionStatement", - "src": "1955:45:141" - }, - { - "expression": { - "id": 88668, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "expression": { - "id": 88662, - "name": "params", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 88652, - "src": "2099:6:141", - "typeDescriptions": { - "typeIdentifier": "t_struct$_InitializeParams_$74806_memory_ptr", - "typeString": "struct StrategyStruct.InitializeParams memory" - } - }, - "id": 88664, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberLocation": "2106:8:141", - "memberName": "maxRatio", - "nodeType": "MemberAccess", - "referencedDeclaration": 74790, - "src": "2099:15:141", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "hexValue": "302e32", - "id": 88666, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2131:9:141", - "subdenomination": "ether", - "typeDescriptions": { - "typeIdentifier": "t_rational_200000000000000000_by_1", - "typeString": "int_const 200000000000000000" - }, - "value": "0.2" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_200000000000000000_by_1", - "typeString": "int_const 200000000000000000" - } - ], - "id": 88665, - "name": "_etherToFloat", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 88891, - "src": "2117:13:141", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - } - }, - "id": 88667, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2117:24:141", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2099:42:141", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 88669, - "nodeType": "ExpressionStatement", - "src": "2099:42:141" - }, - { - "expression": { - "id": 88676, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "expression": { - "id": 88670, - "name": "params", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 88652, - "src": "2170:6:141", - "typeDescriptions": { - "typeIdentifier": "t_struct$_InitializeParams_$74806_memory_ptr", - "typeString": "struct StrategyStruct.InitializeParams memory" - } - }, - "id": 88672, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberLocation": "2177:6:141", - "memberName": "weight", - "nodeType": "MemberAccess", - "referencedDeclaration": 74792, - "src": "2170:13:141", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "hexValue": "302e303031", - "id": 88674, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2200:11:141", - "subdenomination": "ether", - "typeDescriptions": { - "typeIdentifier": "t_rational_1000000000000000_by_1", - "typeString": "int_const 1000000000000000" - }, - "value": "0.001" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_1000000000000000_by_1", - "typeString": "int_const 1000000000000000" - } - ], - "id": 88673, - "name": "_etherToFloat", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 88891, - "src": "2186:13:141", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) pure returns (uint256)" - } - }, - "id": 88675, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2186:26:141", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2170:42:141", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 88677, - "nodeType": "ExpressionStatement", - "src": "2170:42:141" - }, - { - "expression": { - "id": 88682, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "expression": { - "id": 88678, - "name": "params", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 88652, - "src": "2309:6:141", - "typeDescriptions": { - "typeIdentifier": "t_struct$_InitializeParams_$74806_memory_ptr", - "typeString": "struct StrategyStruct.InitializeParams memory" - } - }, - "id": 88680, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberLocation": "2316:17:141", - "memberName": "registryCommunity", - "nodeType": "MemberAccess", - "referencedDeclaration": 74786, - "src": "2309:24:141", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 88681, - "name": "registryCommunity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 88639, - "src": "2336:17:141", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "2309:44:141", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 88683, - "nodeType": "ExpressionStatement", - "src": "2309:44:141" - }, - { - "expression": { - "id": 88688, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "expression": { - "id": 88684, - "name": "params", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 88652, - "src": "2363:6:141", - "typeDescriptions": { - "typeIdentifier": "t_struct$_InitializeParams_$74806_memory_ptr", - "typeString": "struct StrategyStruct.InitializeParams memory" - } - }, - "id": 88686, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberLocation": "2370:12:141", - "memberName": "proposalType", - "nodeType": "MemberAccess", - "referencedDeclaration": 74797, - "src": "2363:19:141", - "typeDescriptions": { - "typeIdentifier": "t_enum$_ProposalType_$74726", - "typeString": "enum StrategyStruct.ProposalType" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 88687, - "name": "proposalType", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 88642, - "src": "2385:12:141", - "typeDescriptions": { - "typeIdentifier": "t_enum$_ProposalType_$74726", - "typeString": "enum StrategyStruct.ProposalType" - } - }, - "src": "2363:34:141", - "typeDescriptions": { - "typeIdentifier": "t_enum$_ProposalType_$74726", - "typeString": "enum StrategyStruct.ProposalType" - } - }, - "id": 88689, - "nodeType": "ExpressionStatement", - "src": "2363:34:141" - }, - { - "expression": { - "id": 88694, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "expression": { - "id": 88690, - "name": "params", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 88652, - "src": "2407:6:141", - "typeDescriptions": { - "typeIdentifier": "t_struct$_InitializeParams_$74806_memory_ptr", - "typeString": "struct StrategyStruct.InitializeParams memory" - } - }, - "id": 88692, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberLocation": "2414:11:141", - "memberName": "pointSystem", - "nodeType": "MemberAccess", - "referencedDeclaration": 74800, - "src": "2407:18:141", - "typeDescriptions": { - "typeIdentifier": "t_enum$_PointSystem_$74731", - "typeString": "enum StrategyStruct.PointSystem" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 88693, - "name": "pointSystem", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 88645, - "src": "2428:11:141", - "typeDescriptions": { - "typeIdentifier": "t_enum$_PointSystem_$74731", - "typeString": "enum StrategyStruct.PointSystem" - } - }, - "src": "2407:32:141", - "typeDescriptions": { - "typeIdentifier": "t_enum$_PointSystem_$74731", - "typeString": "enum StrategyStruct.PointSystem" - } - }, - "id": 88695, - "nodeType": "ExpressionStatement", - "src": "2407:32:141" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 88699, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 88696, - "name": "pointConfig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 88648, - "src": "2454:11:141", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PointSystemConfig_$74784_memory_ptr", - "typeString": "struct StrategyStruct.PointSystemConfig memory" - } - }, - "id": 88697, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "2466:9:141", - "memberName": "maxAmount", - "nodeType": "MemberAccess", - "referencedDeclaration": 74783, - "src": "2454:21:141", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "hexValue": "30", - "id": 88698, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2479:1:141", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "2454:26:141", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 88709, - "nodeType": "IfStatement", - "src": "2450:197:141", - "trueBody": { - "id": 88708, - "nodeType": "Block", - "src": "2482:165:141", - "statements": [ - { - "expression": { - "id": 88706, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "expression": { - "id": 88700, - "name": "pointConfig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 88648, - "src": "2598:11:141", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PointSystemConfig_$74784_memory_ptr", - "typeString": "struct StrategyStruct.PointSystemConfig memory" - } - }, - "id": 88702, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberLocation": "2610:9:141", - "memberName": "maxAmount", - "nodeType": "MemberAccess", - "referencedDeclaration": 74783, - "src": "2598:21:141", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 88705, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "hexValue": "323030", - "id": 88703, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2622:3:141", - "typeDescriptions": { - "typeIdentifier": "t_rational_200_by_1", - "typeString": "int_const 200" - }, - "value": "200" - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "id": 88704, - "name": "DECIMALS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 88577, - "src": "2628:8:141", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2622:14:141", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2598:38:141", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 88707, - "nodeType": "ExpressionStatement", - "src": "2598:38:141" - } - ] - } - }, - { - "expression": { - "id": 88714, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "expression": { - "id": 88710, - "name": "params", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 88652, - "src": "2656:6:141", - "typeDescriptions": { - "typeIdentifier": "t_struct$_InitializeParams_$74806_memory_ptr", - "typeString": "struct StrategyStruct.InitializeParams memory" - } - }, - "id": 88712, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberLocation": "2663:11:141", - "memberName": "pointConfig", - "nodeType": "MemberAccess", - "referencedDeclaration": 74803, - "src": "2656:18:141", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PointSystemConfig_$74784_memory_ptr", - "typeString": "struct StrategyStruct.PointSystemConfig memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 88713, - "name": "pointConfig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 88648, - "src": "2677:11:141", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PointSystemConfig_$74784_memory_ptr", - "typeString": "struct StrategyStruct.PointSystemConfig memory" - } - }, - "src": "2656:32:141", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PointSystemConfig_$74784_memory_ptr", - "typeString": "struct StrategyStruct.PointSystemConfig memory" - } - }, - "id": 88715, - "nodeType": "ExpressionStatement", - "src": "2656:32:141" - } - ] - }, - "functionSelector": "770b2e66", - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getParams", - "nameLocation": "1616:9:141", - "parameters": { - "id": 88649, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 88639, - "mutability": "mutable", - "name": "registryCommunity", - "nameLocation": "1643:17:141", - "nodeType": "VariableDeclaration", - "scope": 88717, - "src": "1635:25:141", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 88638, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1635:7:141", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 88642, - "mutability": "mutable", - "name": "proposalType", - "nameLocation": "1698:12:141", - "nodeType": "VariableDeclaration", - "scope": 88717, - "src": "1670:40:141", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_enum$_ProposalType_$74726", - "typeString": "enum StrategyStruct.ProposalType" - }, - "typeName": { - "id": 88641, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 88640, - "name": "StrategyStruct.ProposalType", - "nameLocations": [ - "1670:14:141", - "1685:12:141" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 74726, - "src": "1670:27:141" - }, - "referencedDeclaration": 74726, - "src": "1670:27:141", - "typeDescriptions": { - "typeIdentifier": "t_enum$_ProposalType_$74726", - "typeString": "enum StrategyStruct.ProposalType" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 88645, - "mutability": "mutable", - "name": "pointSystem", - "nameLocation": "1747:11:141", - "nodeType": "VariableDeclaration", - "scope": 88717, - "src": "1720:38:141", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_enum$_PointSystem_$74731", - "typeString": "enum StrategyStruct.PointSystem" - }, - "typeName": { - "id": 88644, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 88643, - "name": "StrategyStruct.PointSystem", - "nameLocations": [ - "1720:14:141", - "1735:11:141" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 74731, - "src": "1720:26:141" - }, - "referencedDeclaration": 74731, - "src": "1720:26:141", - "typeDescriptions": { - "typeIdentifier": "t_enum$_PointSystem_$74731", - "typeString": "enum StrategyStruct.PointSystem" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 88648, - "mutability": "mutable", - "name": "pointConfig", - "nameLocation": "1808:11:141", - "nodeType": "VariableDeclaration", - "scope": 88717, - "src": "1768:51:141", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PointSystemConfig_$74784_memory_ptr", - "typeString": "struct StrategyStruct.PointSystemConfig" - }, - "typeName": { - "id": 88647, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 88646, - "name": "StrategyStruct.PointSystemConfig", - "nameLocations": [ - "1768:14:141", - "1783:17:141" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 74784, - "src": "1768:32:141" - }, - "referencedDeclaration": 74784, - "src": "1768:32:141", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PointSystemConfig_$74784_storage_ptr", - "typeString": "struct StrategyStruct.PointSystemConfig" - } - }, - "visibility": "internal" - } - ], - "src": "1625:200:141" - }, - "returnParameters": { - "id": 88653, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 88652, - "mutability": "mutable", - "name": "params", - "nameLocation": "1886:6:141", - "nodeType": "VariableDeclaration", - "scope": 88717, - "src": "1847:45:141", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_InitializeParams_$74806_memory_ptr", - "typeString": "struct StrategyStruct.InitializeParams" - }, - "typeName": { - "id": 88651, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 88650, - "name": "StrategyStruct.InitializeParams", - "nameLocations": [ - "1847:14:141", - "1862:16:141" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 74806, - "src": "1847:31:141" - }, - "referencedDeclaration": 74806, - "src": "1847:31:141", - "typeDescriptions": { - "typeIdentifier": "t_struct$_InitializeParams_$74806_storage_ptr", - "typeString": "struct StrategyStruct.InitializeParams" - } - }, - "visibility": "internal" - } - ], - "src": "1846:47:141" - }, - "scope": 89046, - "stateMutability": "pure", - "virtual": false, - "visibility": "public" - }, - { - "id": 88839, - "nodeType": "FunctionDefinition", - "src": "2701:1442:141", - "nodes": [], - "body": { - "id": 88838, - "nodeType": "Block", - "src": "3049:1094:141", - "nodes": [], - "statements": [ - { - "assignments": [ - 88747 - ], - "declarations": [ - { - "constant": false, - "id": 88747, - "mutability": "mutable", - "name": "params", - "nameLocation": "3149:6:141", - "nodeType": "VariableDeclaration", - "scope": 88838, - "src": "3110:45:141", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_InitializeParams_$74806_memory_ptr", - "typeString": "struct StrategyStruct.InitializeParams" - }, - "typeName": { - "id": 88746, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 88745, - "name": "StrategyStruct.InitializeParams", - "nameLocations": [ - "3110:14:141", - "3125:16:141" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 74806, - "src": "3110:31:141" - }, - "referencedDeclaration": 74806, - "src": "3110:31:141", - "typeDescriptions": { - "typeIdentifier": "t_struct$_InitializeParams_$74806_storage_ptr", - "typeString": "struct StrategyStruct.InitializeParams" - } - }, - "visibility": "internal" - } - ], - "id": 88754, - "initialValue": { - "arguments": [ - { - "id": 88749, - "name": "registryCommunity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 88724, - "src": "3180:17:141", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 88750, - "name": "proposalType", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 88732, - "src": "3199:12:141", - "typeDescriptions": { - "typeIdentifier": "t_enum$_ProposalType_$74726", - "typeString": "enum StrategyStruct.ProposalType" - } - }, - { - "id": 88751, - "name": "pointSystem", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 88735, - "src": "3213:11:141", - "typeDescriptions": { - "typeIdentifier": "t_enum$_PointSystem_$74731", - "typeString": "enum StrategyStruct.PointSystem" - } - }, - { - "id": 88752, - "name": "pointConfig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 88738, - "src": "3226:11:141", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PointSystemConfig_$74784_memory_ptr", - "typeString": "struct StrategyStruct.PointSystemConfig memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_enum$_ProposalType_$74726", - "typeString": "enum StrategyStruct.ProposalType" - }, - { - "typeIdentifier": "t_enum$_PointSystem_$74731", - "typeString": "enum StrategyStruct.PointSystem" - }, - { - "typeIdentifier": "t_struct$_PointSystemConfig_$74784_memory_ptr", - "typeString": "struct StrategyStruct.PointSystemConfig memory" - } - ], - "id": 88748, - "name": "getParams", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 88717, - "src": "3170:9:141", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_address_$_t_enum$_ProposalType_$74726_$_t_enum$_PointSystem_$74731_$_t_struct$_PointSystemConfig_$74784_memory_ptr_$returns$_t_struct$_InitializeParams_$74806_memory_ptr_$", - "typeString": "function (address,enum StrategyStruct.ProposalType,enum StrategyStruct.PointSystem,struct StrategyStruct.PointSystemConfig memory) pure returns (struct StrategyStruct.InitializeParams memory)" - } - }, - "id": 88753, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "3170:68:141", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_struct$_InitializeParams_$74806_memory_ptr", - "typeString": "struct StrategyStruct.InitializeParams memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "3110:128:141" - }, - { - "assignments": [ - 88759 - ], - "declarations": [ - { - "constant": false, - "id": 88759, - "mutability": "mutable", - "name": "_pool_managers", - "nameLocation": "3266:14:141", - "nodeType": "VariableDeclaration", - "scope": 88838, - "src": "3249:31:141", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 88757, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3249:7:141", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 88758, - "nodeType": "ArrayTypeName", - "src": "3249:9:141", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "visibility": "internal" - } - ], - "id": 88765, - "initialValue": { - "arguments": [ - { - "hexValue": "32", - "id": 88763, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3297:1:141", - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - } - ], - "id": 88762, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "3283:13:141", - "typeDescriptions": { - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_address_$dyn_memory_ptr_$", - "typeString": "function (uint256) pure returns (address[] memory)" - }, - "typeName": { - "baseType": { - "id": 88760, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3287:7:141", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 88761, - "nodeType": "ArrayTypeName", - "src": "3287:9:141", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - } - }, - "id": 88764, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "3283:16:141", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "3249:50:141" - }, - { - "expression": { - "id": 88773, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "id": 88766, - "name": "_pool_managers", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 88759, - "src": "3309:14:141", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 88768, - "indexExpression": { - "hexValue": "30", - "id": 88767, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3324:1:141", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "3309:17:141", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "id": 88771, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "3337:4:141", - "typeDescriptions": { - "typeIdentifier": "t_contract$_CVStrategyHelpers_$89046", - "typeString": "contract CVStrategyHelpers" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_CVStrategyHelpers_$89046", - "typeString": "contract CVStrategyHelpers" - } - ], - "id": 88770, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "3329:7:141", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 88769, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3329:7:141", - "typeDescriptions": {} - } - }, - "id": 88772, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "3329:13:141", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "3309:33:141", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 88774, - "nodeType": "ExpressionStatement", - "src": "3309:33:141" - }, - { - "expression": { - "id": 88783, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "id": 88775, - "name": "_pool_managers", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 88759, - "src": "3352:14:141", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 88777, - "indexExpression": { - "hexValue": "31", - "id": 88776, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3367:1:141", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "3352:17:141", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "expression": { - "id": 88780, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "3380:3:141", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 88781, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "3384:6:141", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "3380:10:141", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 88779, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "3372:7:141", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 88778, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3372:7:141", - "typeDescriptions": {} - } - }, - "id": 88782, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "3372:19:141", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "3352:39:141", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 88784, - "nodeType": "ExpressionStatement", - "src": "3352:39:141" - }, - { - "assignments": [ - 88786 - ], - "declarations": [ - { - "constant": false, - "id": 88786, - "mutability": "mutable", - "name": "_token", - "nameLocation": "3649:6:141", - "nodeType": "VariableDeclaration", - "scope": 88838, - "src": "3641:14:141", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 88785, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3641:7:141", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "id": 88788, - "initialValue": { - "id": 88787, - "name": "NATIVE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3105, - "src": "3658:6:141", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "3641:23:141" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 88794, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 88789, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 88729, - "src": "3678:5:141", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "arguments": [ - { - "hexValue": "30", - "id": 88792, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3695:1:141", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 88791, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "3687:7:141", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 88790, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3687:7:141", - "typeDescriptions": {} - } - }, - "id": 88793, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "3687:10:141", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "3678:19:141", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 88800, - "nodeType": "IfStatement", - "src": "3674:64:141", - "trueBody": { - "id": 88799, - "nodeType": "Block", - "src": "3699:39:141", - "statements": [ - { - "expression": { - "id": 88797, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 88795, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 88786, - "src": "3713:6:141", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 88796, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 88729, - "src": "3722:5:141", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "3713:14:141", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 88798, - "nodeType": "ExpressionStatement", - "src": "3713:14:141" - } - ] - } - }, - { - "expression": { - "id": 88823, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 88801, - "name": "poolId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 88741, - "src": "3747:6:141", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "arguments": [ - { - "id": 88805, - "name": "registry", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 88727, - "src": "3860:8:141", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IRegistry_$2802", - "typeString": "contract IRegistry" - } - }, - { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 88806, - "name": "pool_admin", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4753, - "src": "3870:10:141", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$__$returns$_t_address_$", - "typeString": "function () returns (address)" - } - }, - "id": 88807, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "3870:12:141", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 88808, - "name": "_pool_managers", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 88759, - "src": "3884:14:141", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_IRegistry_$2802", - "typeString": "contract IRegistry" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - ], - "id": 88804, - "name": "poolProfile_id1", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 88637, - "src": "3844:15:141", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IRegistry_$2802_$_t_address_$_t_array$_t_address_$dyn_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (contract IRegistry,address,address[] memory) returns (bytes32)" - } - }, - "id": 88809, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "3844:55:141", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "arguments": [ - { - "id": 88812, - "name": "strategy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 88722, - "src": "3921:8:141", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 88811, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "3913:7:141", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 88810, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3913:7:141", - "typeDescriptions": {} - } - }, - "id": 88813, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "3913:17:141", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "arguments": [ - { - "id": 88816, - "name": "params", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 88747, - "src": "3955:6:141", - "typeDescriptions": { - "typeIdentifier": "t_struct$_InitializeParams_$74806_memory_ptr", - "typeString": "struct StrategyStruct.InitializeParams memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_InitializeParams_$74806_memory_ptr", - "typeString": "struct StrategyStruct.InitializeParams memory" - } - ], - "expression": { - "id": 88814, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "3944:3:141", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 88815, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "3948:6:141", - "memberName": "encode", - "nodeType": "MemberAccess", - "src": "3944:10:141", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 88817, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "3944:18:141", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "id": 88818, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 88786, - "src": "3976:6:141", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "hexValue": "30", - "id": 88819, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3996:1:141", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - { - "id": 88820, - "name": "metadata", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 88572, - "src": "4011:8:141", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Metadata_$3098_storage", - "typeString": "struct Metadata storage ref" - } - }, - { - "id": 88821, - "name": "_pool_managers", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 88759, - "src": "4033:14:141", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - { - "typeIdentifier": "t_struct$_Metadata_$3098_storage", - "typeString": "struct Metadata storage ref" - }, - { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - ], - "expression": { - "id": 88802, - "name": "allo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 88720, - "src": "3756:4:141", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Allo_$1390", - "typeString": "contract Allo" - } - }, - "id": 88803, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "3761:28:141", - "memberName": "createPoolWithCustomStrategy", - "nodeType": "MemberAccess", - "referencedDeclaration": 175, - "src": "3756:33:141", - "typeDescriptions": { - "typeIdentifier": "t_function_external_payable$_t_bytes32_$_t_address_$_t_bytes_memory_ptr_$_t_address_$_t_uint256_$_t_struct$_Metadata_$3098_memory_ptr_$_t_array$_t_address_$dyn_memory_ptr_$returns$_t_uint256_$", - "typeString": "function (bytes32,address,bytes memory,address,uint256,struct Metadata memory,address[] memory) payable external returns (uint256)" - } - }, - "id": 88822, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "3756:301:141", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3747:310:141", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 88824, - "nodeType": "ExpressionStatement", - "src": "3747:310:141" - }, - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_enum$_ProposalType_$74726", - "typeString": "enum StrategyStruct.ProposalType" - }, - "id": 88835, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "arguments": [ - { - "arguments": [ - { - "id": 88829, - "name": "strategy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 88722, - "src": "4094:8:141", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 88828, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "4086:8:141", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_payable_$", - "typeString": "type(address payable)" - }, - "typeName": { - "id": 88827, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4086:8:141", - "stateMutability": "payable", - "typeDescriptions": {} - } - }, - "id": 88830, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "4086:17:141", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 88826, - "name": "CVStrategy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77611, - "src": "4075:10:141", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_CVStrategy_$77611_$", - "typeString": "type(contract CVStrategy)" - } - }, - "id": 88831, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "4075:29:141", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_CVStrategy_$77611", - "typeString": "contract CVStrategy" - } - }, - "id": 88832, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "4105:12:141", - "memberName": "proposalType", - "nodeType": "MemberAccess", - "referencedDeclaration": 75005, - "src": "4075:42:141", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_enum$_ProposalType_$74726_$", - "typeString": "function () view external returns (enum StrategyStruct.ProposalType)" - } - }, - "id": 88833, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "4075:44:141", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_enum$_ProposalType_$74726", - "typeString": "enum StrategyStruct.ProposalType" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "id": 88834, - "name": "proposalType", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 88732, - "src": "4123:12:141", - "typeDescriptions": { - "typeIdentifier": "t_enum$_ProposalType_$74726", - "typeString": "enum StrategyStruct.ProposalType" - } - }, - "src": "4075:60:141", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 88825, - "name": "assert", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -3, - "src": "4068:6:141", - "typeDescriptions": { - "typeIdentifier": "t_function_assert_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 88836, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "4068:68:141", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 88837, - "nodeType": "ExpressionStatement", - "src": "4068:68:141" - } - ] - }, - "functionSelector": "ed62303a", - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "createPool", - "nameLocation": "2710:10:141", - "parameters": { - "id": 88739, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 88720, - "mutability": "mutable", - "name": "allo", - "nameLocation": "2735:4:141", - "nodeType": "VariableDeclaration", - "scope": 88839, - "src": "2730:9:141", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Allo_$1390", - "typeString": "contract Allo" - }, - "typeName": { - "id": 88719, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 88718, - "name": "Allo", - "nameLocations": [ - "2730:4:141" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 1390, - "src": "2730:4:141" - }, - "referencedDeclaration": 1390, - "src": "2730:4:141", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Allo_$1390", - "typeString": "contract Allo" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 88722, - "mutability": "mutable", - "name": "strategy", - "nameLocation": "2757:8:141", - "nodeType": "VariableDeclaration", - "scope": 88839, - "src": "2749:16:141", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 88721, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2749:7:141", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 88724, - "mutability": "mutable", - "name": "registryCommunity", - "nameLocation": "2783:17:141", - "nodeType": "VariableDeclaration", - "scope": 88839, - "src": "2775:25:141", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 88723, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2775:7:141", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 88727, - "mutability": "mutable", - "name": "registry", - "nameLocation": "2820:8:141", - "nodeType": "VariableDeclaration", - "scope": 88839, - "src": "2810:18:141", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IRegistry_$2802", - "typeString": "contract IRegistry" - }, - "typeName": { - "id": 88726, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 88725, - "name": "IRegistry", - "nameLocations": [ - "2810:9:141" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 2802, - "src": "2810:9:141" - }, - "referencedDeclaration": 2802, - "src": "2810:9:141", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IRegistry_$2802", - "typeString": "contract IRegistry" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 88729, - "mutability": "mutable", - "name": "token", - "nameLocation": "2846:5:141", - "nodeType": "VariableDeclaration", - "scope": 88839, - "src": "2838:13:141", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 88728, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2838:7:141", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 88732, - "mutability": "mutable", - "name": "proposalType", - "nameLocation": "2889:12:141", - "nodeType": "VariableDeclaration", - "scope": 88839, - "src": "2861:40:141", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_enum$_ProposalType_$74726", - "typeString": "enum StrategyStruct.ProposalType" - }, - "typeName": { - "id": 88731, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 88730, - "name": "StrategyStruct.ProposalType", - "nameLocations": [ - "2861:14:141", - "2876:12:141" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 74726, - "src": "2861:27:141" - }, - "referencedDeclaration": 74726, - "src": "2861:27:141", - "typeDescriptions": { - "typeIdentifier": "t_enum$_ProposalType_$74726", - "typeString": "enum StrategyStruct.ProposalType" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 88735, - "mutability": "mutable", - "name": "pointSystem", - "nameLocation": "2938:11:141", - "nodeType": "VariableDeclaration", - "scope": 88839, - "src": "2911:38:141", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_enum$_PointSystem_$74731", - "typeString": "enum StrategyStruct.PointSystem" - }, - "typeName": { - "id": 88734, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 88733, - "name": "StrategyStruct.PointSystem", - "nameLocations": [ - "2911:14:141", - "2926:11:141" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 74731, - "src": "2911:26:141" - }, - "referencedDeclaration": 74731, - "src": "2911:26:141", - "typeDescriptions": { - "typeIdentifier": "t_enum$_PointSystem_$74731", - "typeString": "enum StrategyStruct.PointSystem" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 88738, - "mutability": "mutable", - "name": "pointConfig", - "nameLocation": "2999:11:141", - "nodeType": "VariableDeclaration", - "scope": 88839, - "src": "2959:51:141", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PointSystemConfig_$74784_memory_ptr", - "typeString": "struct StrategyStruct.PointSystemConfig" - }, - "typeName": { - "id": 88737, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 88736, - "name": "StrategyStruct.PointSystemConfig", - "nameLocations": [ - "2959:14:141", - "2974:17:141" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 74784, - "src": "2959:32:141" - }, - "referencedDeclaration": 74784, - "src": "2959:32:141", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PointSystemConfig_$74784_storage_ptr", - "typeString": "struct StrategyStruct.PointSystemConfig" - } - }, - "visibility": "internal" - } - ], - "src": "2720:296:141" - }, - "returnParameters": { - "id": 88742, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 88741, - "mutability": "mutable", - "name": "poolId", - "nameLocation": "3041:6:141", - "nodeType": "VariableDeclaration", - "scope": 88839, - "src": "3033:14:141", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 88740, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3033:7:141", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "3032:16:141" - }, - "scope": 89046, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "id": 88877, - "nodeType": "FunctionDefinition", - "src": "4149:543:141", - "nodes": [], - "body": { - "id": 88876, - "nodeType": "Block", - "src": "4436:256:141", - "nodes": [], - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 88863, - "name": "allo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 88842, - "src": "4477:4:141", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Allo_$1390", - "typeString": "contract Allo" - } - }, - { - "id": 88864, - "name": "strategy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 88844, - "src": "4495:8:141", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 88865, - "name": "registryCommunity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 88846, - "src": "4517:17:141", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 88866, - "name": "registry", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 88849, - "src": "4548:8:141", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IRegistry_$2802", - "typeString": "contract IRegistry" - } - }, - { - "id": 88867, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 88851, - "src": "4570:5:141", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 88868, - "name": "proposalType", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 88854, - "src": "4589:12:141", - "typeDescriptions": { - "typeIdentifier": "t_enum$_ProposalType_$74726", - "typeString": "enum StrategyStruct.ProposalType" - } - }, - { - "id": 88869, - "name": "pointSystem", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 88857, - "src": "4615:11:141", - "typeDescriptions": { - "typeIdentifier": "t_enum$_PointSystem_$74731", - "typeString": "enum StrategyStruct.PointSystem" - } - }, - { - "arguments": [ - { - "hexValue": "30", - "id": 88872, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4673:1:141", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "expression": { - "id": 88870, - "name": "StrategyStruct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74807, - "src": "4640:14:141", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_StrategyStruct_$74807_$", - "typeString": "type(library StrategyStruct)" - } - }, - "id": 88871, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "4655:17:141", - "memberName": "PointSystemConfig", - "nodeType": "MemberAccess", - "referencedDeclaration": 74784, - "src": "4640:32:141", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_PointSystemConfig_$74784_storage_ptr_$", - "typeString": "type(struct StrategyStruct.PointSystemConfig storage pointer)" - } - }, - "id": 88873, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "structConstructorCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "4640:35:141", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_struct$_PointSystemConfig_$74784_memory_ptr", - "typeString": "struct StrategyStruct.PointSystemConfig memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Allo_$1390", - "typeString": "contract Allo" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_contract$_IRegistry_$2802", - "typeString": "contract IRegistry" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_enum$_ProposalType_$74726", - "typeString": "enum StrategyStruct.ProposalType" - }, - { - "typeIdentifier": "t_enum$_PointSystem_$74731", - "typeString": "enum StrategyStruct.PointSystem" - }, - { - "typeIdentifier": "t_struct$_PointSystemConfig_$74784_memory_ptr", - "typeString": "struct StrategyStruct.PointSystemConfig memory" - } - ], - "id": 88862, - "name": "createPool", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 88839, - 88877 - ], - "referencedDeclaration": 88839, - "src": "4453:10:141", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_Allo_$1390_$_t_address_$_t_address_$_t_contract$_IRegistry_$2802_$_t_address_$_t_enum$_ProposalType_$74726_$_t_enum$_PointSystem_$74731_$_t_struct$_PointSystemConfig_$74784_memory_ptr_$returns$_t_uint256_$", - "typeString": "function (contract Allo,address,address,contract IRegistry,address,enum StrategyStruct.ProposalType,enum StrategyStruct.PointSystem,struct StrategyStruct.PointSystemConfig memory) returns (uint256)" - } - }, - "id": 88874, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "4453:232:141", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 88861, - "id": 88875, - "nodeType": "Return", - "src": "4446:239:141" - } - ] - }, - "functionSelector": "d8c12dc2", - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "createPool", - "nameLocation": "4158:10:141", - "parameters": { - "id": 88858, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 88842, - "mutability": "mutable", - "name": "allo", - "nameLocation": "4183:4:141", - "nodeType": "VariableDeclaration", - "scope": 88877, - "src": "4178:9:141", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Allo_$1390", - "typeString": "contract Allo" - }, - "typeName": { - "id": 88841, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 88840, - "name": "Allo", - "nameLocations": [ - "4178:4:141" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 1390, - "src": "4178:4:141" - }, - "referencedDeclaration": 1390, - "src": "4178:4:141", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Allo_$1390", - "typeString": "contract Allo" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 88844, - "mutability": "mutable", - "name": "strategy", - "nameLocation": "4205:8:141", - "nodeType": "VariableDeclaration", - "scope": 88877, - "src": "4197:16:141", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 88843, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4197:7:141", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 88846, - "mutability": "mutable", - "name": "registryCommunity", - "nameLocation": "4231:17:141", - "nodeType": "VariableDeclaration", - "scope": 88877, - "src": "4223:25:141", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 88845, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4223:7:141", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 88849, - "mutability": "mutable", - "name": "registry", - "nameLocation": "4268:8:141", - "nodeType": "VariableDeclaration", - "scope": 88877, - "src": "4258:18:141", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IRegistry_$2802", - "typeString": "contract IRegistry" - }, - "typeName": { - "id": 88848, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 88847, - "name": "IRegistry", - "nameLocations": [ - "4258:9:141" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 2802, - "src": "4258:9:141" - }, - "referencedDeclaration": 2802, - "src": "4258:9:141", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IRegistry_$2802", - "typeString": "contract IRegistry" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 88851, - "mutability": "mutable", - "name": "token", - "nameLocation": "4294:5:141", - "nodeType": "VariableDeclaration", - "scope": 88877, - "src": "4286:13:141", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 88850, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4286:7:141", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 88854, - "mutability": "mutable", - "name": "proposalType", - "nameLocation": "4337:12:141", - "nodeType": "VariableDeclaration", - "scope": 88877, - "src": "4309:40:141", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_enum$_ProposalType_$74726", - "typeString": "enum StrategyStruct.ProposalType" - }, - "typeName": { - "id": 88853, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 88852, - "name": "StrategyStruct.ProposalType", - "nameLocations": [ - "4309:14:141", - "4324:12:141" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 74726, - "src": "4309:27:141" - }, - "referencedDeclaration": 74726, - "src": "4309:27:141", - "typeDescriptions": { - "typeIdentifier": "t_enum$_ProposalType_$74726", - "typeString": "enum StrategyStruct.ProposalType" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 88857, - "mutability": "mutable", - "name": "pointSystem", - "nameLocation": "4386:11:141", - "nodeType": "VariableDeclaration", - "scope": 88877, - "src": "4359:38:141", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_enum$_PointSystem_$74731", - "typeString": "enum StrategyStruct.PointSystem" - }, - "typeName": { - "id": 88856, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 88855, - "name": "StrategyStruct.PointSystem", - "nameLocations": [ - "4359:14:141", - "4374:11:141" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 74731, - "src": "4359:26:141" - }, - "referencedDeclaration": 74731, - "src": "4359:26:141", - "typeDescriptions": { - "typeIdentifier": "t_enum$_PointSystem_$74731", - "typeString": "enum StrategyStruct.PointSystem" - } - }, - "visibility": "internal" - } - ], - "src": "4168:235:141" - }, - "returnParameters": { - "id": 88861, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 88860, - "mutability": "mutable", - "name": "poolId", - "nameLocation": "4428:6:141", - "nodeType": "VariableDeclaration", - "scope": 88877, - "src": "4420:14:141", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 88859, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4420:7:141", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "4419:16:141" - }, - "scope": 89046, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "id": 88891, - "nodeType": "FunctionDefinition", - "src": "4698:114:141", - "nodes": [], - "body": { - "id": 88890, - "nodeType": "Block", - "src": "4770:42:141", - "nodes": [], - "statements": [ - { - "expression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 88888, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 88884, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 88879, - "src": "4787:7:141", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_rational_100000000000_by_1", - "typeString": "int_const 100000000000" - }, - "id": 88887, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "hexValue": "3130", - "id": 88885, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4797:2:141", - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "hexValue": "3131", - "id": 88886, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4803:2:141", - "typeDescriptions": { - "typeIdentifier": "t_rational_11_by_1", - "typeString": "int_const 11" - }, - "value": "11" - }, - "src": "4797:8:141", - "typeDescriptions": { - "typeIdentifier": "t_rational_100000000000_by_1", - "typeString": "int_const 100000000000" - } - }, - "src": "4787:18:141", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 88883, - "id": 88889, - "nodeType": "Return", - "src": "4780:25:141" - } - ] - }, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_etherToFloat", - "nameLocation": "4707:13:141", - "parameters": { - "id": 88880, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 88879, - "mutability": "mutable", - "name": "_amount", - "nameLocation": "4729:7:141", - "nodeType": "VariableDeclaration", - "scope": 88891, - "src": "4721:15:141", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 88878, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4721:7:141", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "4720:17:141" - }, - "returnParameters": { - "id": 88883, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 88882, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 88891, - "src": "4761:7:141", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 88881, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4761:7:141", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "4760:9:141" - }, - "scope": 89046, - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "id": 88925, - "nodeType": "FunctionDefinition", - "src": "4818:269:141", - "nodes": [], - "body": { - "id": 88924, - "nodeType": "Block", - "src": "4896:191:141", - "nodes": [], - "statements": [ - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 88903, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 88901, - "name": "_a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 88893, - "src": "4914:2:141", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "id": 88902, - "name": "TWO_128", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 88594, - "src": "4920:7:141", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4914:13:141", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "5f612073686f756c64206265206c657373207468616e206f7220657175616c20746f20325e313238", - "id": 88904, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4929:42:141", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_44e2d05298e19dba9341288d7967f4ffbb5a083f725e2470963d4d2d80484153", - "typeString": "literal_string \"_a should be less than or equal to 2^128\"" - }, - "value": "_a should be less than or equal to 2^128" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_44e2d05298e19dba9341288d7967f4ffbb5a083f725e2470963d4d2d80484153", - "typeString": "literal_string \"_a should be less than or equal to 2^128\"" - } - ], - "id": 88900, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "4906:7:141", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 88905, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "4906:66:141", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 88906, - "nodeType": "ExpressionStatement", - "src": "4906:66:141" - }, - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 88910, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 88908, - "name": "_b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 88895, - "src": "4990:2:141", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "id": 88909, - "name": "TWO_128", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 88594, - "src": "4995:7:141", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4990:12:141", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "5f622073686f756c64206265206c657373207468616e20325e313238", - "id": 88911, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5004:30:141", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_94029ed39d36fd1673853e0d61636cb1f54d05801d9baceb39b21e0f4420d664", - "typeString": "literal_string \"_b should be less than 2^128\"" - }, - "value": "_b should be less than 2^128" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_94029ed39d36fd1673853e0d61636cb1f54d05801d9baceb39b21e0f4420d664", - "typeString": "literal_string \"_b should be less than 2^128\"" - } - ], - "id": 88907, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "4982:7:141", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 88912, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "4982:53:141", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 88913, - "nodeType": "ExpressionStatement", - "src": "4982:53:141" - }, - { - "expression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 88922, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 88919, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 88916, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 88914, - "name": "_a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 88893, - "src": "5054:2:141", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "id": 88915, - "name": "_b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 88895, - "src": "5059:2:141", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5054:7:141", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 88917, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "5053:9:141", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "id": 88918, - "name": "TWO_127", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 88589, - "src": "5065:7:141", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5053:19:141", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 88920, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "5052:21:141", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "hexValue": "313238", - "id": 88921, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5077:3:141", - "typeDescriptions": { - "typeIdentifier": "t_rational_128_by_1", - "typeString": "int_const 128" - }, - "value": "128" - }, - "src": "5052:28:141", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 88899, - "id": 88923, - "nodeType": "Return", - "src": "5045:35:141" - } - ] - }, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_mul", - "nameLocation": "4827:4:141", - "parameters": { - "id": 88896, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 88893, - "mutability": "mutable", - "name": "_a", - "nameLocation": "4840:2:141", - "nodeType": "VariableDeclaration", - "scope": 88925, - "src": "4832:10:141", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 88892, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4832:7:141", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 88895, - "mutability": "mutable", - "name": "_b", - "nameLocation": "4852:2:141", - "nodeType": "VariableDeclaration", - "scope": 88925, - "src": "4844:10:141", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 88894, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4844:7:141", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "4831:24:141" - }, - "returnParameters": { - "id": 88899, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 88898, - "mutability": "mutable", - "name": "_result", - "nameLocation": "4887:7:141", - "nodeType": "VariableDeclaration", - "scope": 88925, - "src": "4879:15:141", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 88897, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4879:7:141", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "4878:17:141" - }, - "scope": 89046, - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "id": 88989, - "nodeType": "FunctionDefinition", - "src": "5093:447:141", - "nodes": [], - "body": { - "id": 88988, - "nodeType": "Block", - "src": "5171:369:141", - "nodes": [], - "statements": [ - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 88937, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 88935, - "name": "_a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 88927, - "src": "5189:2:141", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "id": 88936, - "name": "TWO_128", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 88594, - "src": "5194:7:141", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5189:12:141", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "5f612073686f756c64206265206c657373207468616e20325e313238", - "id": 88938, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5203:30:141", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_8cb59667c527f8a0ca0170161b6ece5e9864e8aa2d080a486f0167056517515f", - "typeString": "literal_string \"_a should be less than 2^128\"" - }, - "value": "_a should be less than 2^128" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_8cb59667c527f8a0ca0170161b6ece5e9864e8aa2d080a486f0167056517515f", - "typeString": "literal_string \"_a should be less than 2^128\"" - } - ], - "id": 88934, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "5181:7:141", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 88939, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "5181:53:141", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 88940, - "nodeType": "ExpressionStatement", - "src": "5181:53:141" - }, - { - "assignments": [ - 88942 - ], - "declarations": [ - { - "constant": false, - "id": 88942, - "mutability": "mutable", - "name": "a", - "nameLocation": "5252:1:141", - "nodeType": "VariableDeclaration", - "scope": 88988, - "src": "5244:9:141", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 88941, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5244:7:141", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 88944, - "initialValue": { - "id": 88943, - "name": "_a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 88927, - "src": "5256:2:141", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5244:14:141" - }, - { - "assignments": [ - 88946 - ], - "declarations": [ - { - "constant": false, - "id": 88946, - "mutability": "mutable", - "name": "b", - "nameLocation": "5276:1:141", - "nodeType": "VariableDeclaration", - "scope": 88988, - "src": "5268:9:141", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 88945, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5268:7:141", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 88948, - "initialValue": { - "id": 88947, - "name": "_b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 88929, - "src": "5280:2:141", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5268:14:141" - }, - { - "expression": { - "id": 88951, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 88949, - "name": "_result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 88932, - "src": "5292:7:141", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 88950, - "name": "TWO_128", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 88594, - "src": "5302:7:141", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5292:17:141", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 88952, - "nodeType": "ExpressionStatement", - "src": "5292:17:141" - }, - { - "body": { - "id": 88986, - "nodeType": "Block", - "src": "5333:201:141", - "statements": [ - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 88960, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 88958, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 88956, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 88946, - "src": "5351:1:141", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "&", - "rightExpression": { - "hexValue": "31", - "id": 88957, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5355:1:141", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "5351:5:141", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "hexValue": "30", - "id": 88959, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5360:1:141", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "5351:10:141", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 88984, - "nodeType": "Block", - "src": "5441:83:141", - "statements": [ - { - "expression": { - "id": 88978, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 88973, - "name": "_result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 88932, - "src": "5459:7:141", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "id": 88975, - "name": "_result", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 88932, - "src": "5474:7:141", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 88976, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 88942, - "src": "5483:1:141", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 88974, - "name": "_mul", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 88925, - "src": "5469:4:141", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 88977, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "5469:16:141", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5459:26:141", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 88979, - "nodeType": "ExpressionStatement", - "src": "5459:26:141" - }, - { - "expression": { - "id": 88982, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 88980, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 88946, - "src": "5503:1:141", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "-=", - "rightHandSide": { - "hexValue": "31", - "id": 88981, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5508:1:141", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "5503:6:141", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 88983, - "nodeType": "ExpressionStatement", - "src": "5503:6:141" - } - ] - }, - "id": 88985, - "nodeType": "IfStatement", - "src": "5347:177:141", - "trueBody": { - "id": 88972, - "nodeType": "Block", - "src": "5363:72:141", - "statements": [ - { - "expression": { - "id": 88966, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 88961, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 88942, - "src": "5381:1:141", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "id": 88963, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 88942, - "src": "5390:1:141", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 88964, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 88942, - "src": "5393:1:141", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 88962, - "name": "_mul", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 88925, - "src": "5385:4:141", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 88965, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "5385:10:141", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5381:14:141", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 88967, - "nodeType": "ExpressionStatement", - "src": "5381:14:141" - }, - { - "expression": { - "id": 88970, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 88968, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 88946, - "src": "5413:1:141", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": ">>=", - "rightHandSide": { - "hexValue": "31", - "id": 88969, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5419:1:141", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "5413:7:141", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 88971, - "nodeType": "ExpressionStatement", - "src": "5413:7:141" - } - ] - } - } - ] - }, - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 88955, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 88953, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 88946, - "src": "5326:1:141", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "hexValue": "30", - "id": 88954, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5330:1:141", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "5326:5:141", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 88987, - "nodeType": "WhileStatement", - "src": "5319:215:141" - } - ] - }, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_pow", - "nameLocation": "5102:4:141", - "parameters": { - "id": 88930, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 88927, - "mutability": "mutable", - "name": "_a", - "nameLocation": "5115:2:141", - "nodeType": "VariableDeclaration", - "scope": 88989, - "src": "5107:10:141", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 88926, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5107:7:141", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 88929, - "mutability": "mutable", - "name": "_b", - "nameLocation": "5127:2:141", - "nodeType": "VariableDeclaration", - "scope": 88989, - "src": "5119:10:141", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 88928, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5119:7:141", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "5106:24:141" - }, - "returnParameters": { - "id": 88933, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 88932, - "mutability": "mutable", - "name": "_result", - "nameLocation": "5162:7:141", - "nodeType": "VariableDeclaration", - "scope": 88989, - "src": "5154:15:141", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 88931, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5154:7:141", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "5153:17:141" - }, - "scope": 89046, - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "id": 89045, - "nodeType": "FunctionDefinition", - "src": "5546:378:141", - "nodes": [], - "body": { - "id": 89044, - "nodeType": "Block", - "src": "5709:215:141", - "nodes": [], - "statements": [ - { - "assignments": [ - 89003 - ], - "declarations": [ - { - "constant": false, - "id": 89003, - "mutability": "mutable", - "name": "t", - "nameLocation": "5727:1:141", - "nodeType": "VariableDeclaration", - "scope": 89044, - "src": "5719:9:141", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 89002, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5719:7:141", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 89005, - "initialValue": { - "id": 89004, - "name": "_timePassed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 88991, - "src": "5731:11:141", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5719:23:141" - }, - { - "assignments": [ - 89007 - ], - "declarations": [ - { - "constant": false, - "id": 89007, - "mutability": "mutable", - "name": "atTWO_128", - "nameLocation": "5760:9:141", - "nodeType": "VariableDeclaration", - "scope": 89044, - "src": "5752:17:141", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 89006, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5752:7:141", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 89017, - "initialValue": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 89014, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 89011, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 89009, - "name": "decay", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 88997, - "src": "5778:5:141", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<<", - "rightExpression": { - "hexValue": "313238", - "id": 89010, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5787:3:141", - "typeDescriptions": { - "typeIdentifier": "t_rational_128_by_1", - "typeString": "int_const 128" - }, - "value": "128" - }, - "src": "5778:12:141", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 89012, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "5777:14:141", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "id": 89013, - "name": "D", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 88599, - "src": "5794:1:141", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5777:18:141", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 89015, - "name": "t", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 89003, - "src": "5797:1:141", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 89008, - "name": "_pow", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 88989, - "src": "5772:4:141", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 89016, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "5772:27:141", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5752:47:141" - }, - { - "expression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 89042, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 89039, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 89036, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 89020, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 89018, - "name": "atTWO_128", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 89007, - "src": "5819:9:141", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "id": 89019, - "name": "_lastConv", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 88993, - "src": "5831:9:141", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5819:21:141", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 89021, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "5818:23:141", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 89034, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 89029, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 89024, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 89022, - "name": "_oldAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 88995, - "src": "5845:10:141", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "id": 89023, - "name": "D", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 88599, - "src": "5858:1:141", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5845:14:141", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 89027, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 89025, - "name": "TWO_128", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 88594, - "src": "5863:7:141", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "id": 89026, - "name": "atTWO_128", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 89007, - "src": "5873:9:141", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5863:19:141", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 89028, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "5862:21:141", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5845:38:141", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 89032, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 89030, - "name": "D", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 88599, - "src": "5887:1:141", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "id": 89031, - "name": "decay", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 88997, - "src": "5891:5:141", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5887:9:141", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 89033, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "5886:11:141", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5845:52:141", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 89035, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "5844:54:141", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5818:80:141", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 89037, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "5817:82:141", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "id": 89038, - "name": "TWO_127", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 88589, - "src": "5902:7:141", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5817:92:141", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 89040, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "5816:94:141", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">>", - "rightExpression": { - "hexValue": "313238", - "id": 89041, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5914:3:141", - "typeDescriptions": { - "typeIdentifier": "t_rational_128_by_1", - "typeString": "int_const 128" - }, - "value": "128" - }, - "src": "5816:101:141", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 89001, - "id": 89043, - "nodeType": "Return", - "src": "5809:108:141" - } - ] - }, - "functionSelector": "e99ce911", - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_calculateConviction", - "nameLocation": "5555:20:141", - "parameters": { - "id": 88998, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 88991, - "mutability": "mutable", - "name": "_timePassed", - "nameLocation": "5584:11:141", - "nodeType": "VariableDeclaration", - "scope": 89045, - "src": "5576:19:141", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 88990, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5576:7:141", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 88993, - "mutability": "mutable", - "name": "_lastConv", - "nameLocation": "5605:9:141", - "nodeType": "VariableDeclaration", - "scope": 89045, - "src": "5597:17:141", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 88992, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5597:7:141", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 88995, - "mutability": "mutable", - "name": "_oldAmount", - "nameLocation": "5624:10:141", - "nodeType": "VariableDeclaration", - "scope": 89045, - "src": "5616:18:141", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 88994, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5616:7:141", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 88997, - "mutability": "mutable", - "name": "decay", - "nameLocation": "5644:5:141", - "nodeType": "VariableDeclaration", - "scope": 89045, - "src": "5636:13:141", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 88996, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5636:7:141", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "5575:75:141" - }, - "returnParameters": { - "id": 89001, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 89000, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 89045, - "src": "5696:7:141", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 88999, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5696:7:141", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "5695:9:141" - }, - "scope": 89046, - "stateMutability": "pure", - "virtual": false, - "visibility": "public" - } - ], - "abstract": false, - "baseContracts": [ - { - "baseName": { - "id": 88562, - "name": "Native", - "nameLocations": [ - "609:6:141" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 3106, - "src": "609:6:141" - }, - "id": 88563, - "nodeType": "InheritanceSpecifier", - "src": "609:6:141" - }, - { - "baseName": { - "id": 88564, - "name": "Accounts", - "nameLocations": [ - "617:8:141" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 5026, - "src": "617:8:141" - }, - "id": 88565, - "nodeType": "InheritanceSpecifier", - "src": "617:8:141" - } - ], - "canonicalName": "CVStrategyHelpers", - "contractDependencies": [], - "contractKind": "contract", - "fullyImplemented": true, - "linearizedBaseContracts": [ - 89046, - 5026, - 12138, - 11345, - 3106 - ], - "name": "CVStrategyHelpers", - "nameLocation": "588:17:141", - "scope": 89047, - "usedErrors": [] - } - ], - "license": "AGPL-3.0-or-later" - }, - "id": 141 -} \ No newline at end of file +{"abi":[{"type":"function","name":"DECIMALS","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"NATIVE","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"PERCENTAGE_SCALE","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"_calculateConviction","inputs":[{"name":"_timePassed","type":"uint256","internalType":"uint256"},{"name":"_lastConv","type":"uint256","internalType":"uint256"},{"name":"_oldAmount","type":"uint256","internalType":"uint256"},{"name":"decay","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"allo_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"allo_treasury","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address payable"}],"stateMutability":"nonpayable"},{"type":"function","name":"createPool","inputs":[{"name":"allo","type":"address","internalType":"contract Allo"},{"name":"strategy","type":"address","internalType":"address"},{"name":"registryCommunity","type":"address","internalType":"address"},{"name":"registry","type":"address","internalType":"contract IRegistry"},{"name":"token","type":"address","internalType":"address"},{"name":"proposalType","type":"uint8","internalType":"enum StrategyStruct.ProposalType"},{"name":"pointSystem","type":"uint8","internalType":"enum StrategyStruct.PointSystem"}],"outputs":[{"name":"poolId","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"createPool","inputs":[{"name":"allo","type":"address","internalType":"contract Allo"},{"name":"strategy","type":"address","internalType":"address"},{"name":"registryCommunity","type":"address","internalType":"address"},{"name":"registry","type":"address","internalType":"contract IRegistry"},{"name":"token","type":"address","internalType":"address"},{"name":"proposalType","type":"uint8","internalType":"enum StrategyStruct.ProposalType"},{"name":"pointSystem","type":"uint8","internalType":"enum StrategyStruct.PointSystem"},{"name":"pointConfig","type":"tuple","internalType":"struct StrategyStruct.PointSystemConfig","components":[{"name":"maxAmount","type":"uint256","internalType":"uint256"}]}],"outputs":[{"name":"poolId","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"getParams","inputs":[{"name":"registryCommunity","type":"address","internalType":"address"},{"name":"proposalType","type":"uint8","internalType":"enum StrategyStruct.ProposalType"},{"name":"pointSystem","type":"uint8","internalType":"enum StrategyStruct.PointSystem"},{"name":"pointConfig","type":"tuple","internalType":"struct StrategyStruct.PointSystemConfig","components":[{"name":"maxAmount","type":"uint256","internalType":"uint256"}]}],"outputs":[{"name":"params","type":"tuple","internalType":"struct StrategyStruct.InitializeParams","components":[{"name":"registryCommunity","type":"address","internalType":"address"},{"name":"decay","type":"uint256","internalType":"uint256"},{"name":"maxRatio","type":"uint256","internalType":"uint256"},{"name":"weight","type":"uint256","internalType":"uint256"},{"name":"minThresholdPoints","type":"uint256","internalType":"uint256"},{"name":"proposalType","type":"uint8","internalType":"enum StrategyStruct.ProposalType"},{"name":"pointSystem","type":"uint8","internalType":"enum StrategyStruct.PointSystem"},{"name":"pointConfig","type":"tuple","internalType":"struct StrategyStruct.PointSystemConfig","components":[{"name":"maxAmount","type":"uint256","internalType":"uint256"}]},{"name":"sybilScorer","type":"address","internalType":"address"}]}],"stateMutability":"pure"},{"type":"function","name":"local","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"metadata","inputs":[],"outputs":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"no_recipient","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"nullProfile_member1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"nullProfile_member2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"nullProfile_members","inputs":[],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"pure"},{"type":"function","name":"nullProfile_notAMember","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"nullProfile_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"poolProfile_id1","inputs":[{"name":"registry","type":"address","internalType":"contract IRegistry"},{"name":"pool_admin","type":"address","internalType":"address"},{"name":"pool_managers","type":"address[]","internalType":"address[]"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"nonpayable"},{"type":"function","name":"pool_admin","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"pool_manager1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"pool_manager2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"pool_managers","inputs":[],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"pool_notAManager","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile1_member1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile1_member2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile1_members","inputs":[],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile1_notAMember","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile1_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile2_member1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile2_member2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile2_members","inputs":[],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile2_notAMember","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile2_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"randomAddress","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"recipient","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"recipient1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"recipient2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"recipientAddress","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"registry_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"}],"bytecode":{"object":"0x60016080908152610120604052602e60c081815260a09162001dfe60e0399052805160099081556020820151600a906200003a9082620000f6565b5050503480156200004a57600080fd5b50620001c2565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806200007c57607f821691505b6020821081036200009d57634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620000f157600081815260208120601f850160051c81016020861015620000cc5750805b601f850160051c820191505b81811015620000ed57828155600101620000d8565b5050505b505050565b81516001600160401b0381111562000112576200011262000051565b6200012a8162000123845462000067565b84620000a3565b602080601f831160018114620001625760008415620001495750858301515b600019600386901b1c1916600185901b178555620000ed565b600085815260208120601f198616915b82811015620001935788860151825594840194600190910190840162000172565b5085821015620001b25787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b611c2c80620001d26000396000f3fe608060405234801561001057600080fd5b50600436106102ac5760003560e01c8063770b2e661161017b578063aa3744bd116100d8578063da4bf0871161008c578063e99ce91111610071578063e99ce91114610445578063ed62303a14610458578063ef0d790f1461046b57600080fd5b8063da4bf08714610435578063dac4eb161461043d57600080fd5b8063d1f2cd88116100bd578063d1f2cd8814610412578063d5bee9f51461041a578063d8c12dc21461042257600080fd5b8063aa3744bd14610402578063d1e82b581461040a57600080fd5b80638c7408c41161012f5780638e3c2493116101145780638e3c2493146103d7578063a0cf0aea146103df578063a407c67a146103fa57600080fd5b80638c7408c4146102ec5780638e0d1a50146103cf57600080fd5b80637b2edf32116101605780637b2edf32146103bf5780637cbe79ed146103c7578063829e423f146102ec57600080fd5b8063770b2e661461039757806379e62d0d146103b757600080fd5b8063392f37e91161022957806366d003ac116101dd57806370a32944116101c257806370a329441461038757806374d9284e146102ec578063759c9a861461038f57600080fd5b806366d003ac146103775780636a38dd0a1461037f57600080fd5b80634bf4ba211161020e5780634bf4ba2114610352578063587c1243146103675780635aff59991461036f57600080fd5b8063392f37e9146103335780633f26479e1461034957600080fd5b8063174eedde116102805780631e7bcb2e116102655780631e7bcb2e146102fb5780632e0f26251461030357806337d1c4041461032057600080fd5b8063174eedde146102ec5780631b96dce6146102f357600080fd5b8062b1fad7146102b1578063030e4006146102d65780630688b135146102de5780630f166ad4146102e6575b600080fd5b6102b9610473565b6040516001600160a01b0390911681526020015b60405180910390f35b6102b96104b8565b6102b96104f8565b306102b9565b60006102b9565b6102b9610538565b6102b9610578565b610312670de0b6b3a764000081565b6040519081526020016102cd565b61031261032e366004611459565b6105b8565b61033b6106a2565b6040516102cd929190611582565b61031261271081565b61035a610739565b6040516102cd91906115e7565b6102b961075c565b6102b961079c565b6102b96107dc565b6102b961081c565b61035a61085c565b6102b96108f4565b6103aa6103a5366004611664565b610934565b6040516102cd91906116e7565b61035a610a0f565b6102b9610a77565b6102b9610ab7565b6102b9610af7565b6102b9610b37565b6102b973eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b61035a610b77565b6102b9610bdf565b6102b9610c1f565b6102b9610c5f565b6102b9610c9f565b610312610430366004611781565b610cdf565b6102b9610d0c565b6102b9610d4c565b610312610453366004611813565b610d8c565b610312610466366004611845565b610e26565b6102b9611029565b60006104b36040518060400160405280600d81526020017f706f6f6c5f6d616e616765723100000000000000000000000000000000000000815250611065565b905090565b60006104b36040518060400160405280601381526020017f70726f66696c65315f6e6f74414d656d62657200000000000000000000000000815250611065565b60006104b36040518060400160405280600a81526020017f726563697069656e743200000000000000000000000000000000000000000000815250611065565b60006104b36040518060400160405280600e81526020017f70726f66696c65325f6f776e6572000000000000000000000000000000000000815250611065565b60006104b36040518060400160405280601081526020017f70726f66696c65315f6d656d6265723100000000000000000000000000000000815250611065565b600b54600090610697576040805180820182526001815281518083018352600c81527f506f6f6c50726f66696c6531000000000000000000000000000000000000000060208281019190915282015290517f3a92f65f0000000000000000000000000000000000000000000000000000000081526001600160a01b03861691633a92f65f9161065091600291889088906004016118e9565b6020604051808303816000875af115801561066f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106939190611979565b600b555b50600b549392505050565b60098054600a80549192916106b690611992565b80601f01602080910402602001604051908101604052809291908181526020018280546106e290611992565b801561072f5780601f106107045761010080835404028352916020019161072f565b820191906000526020600020905b81548152906001019060200180831161071257829003601f168201915b5050505050905082565b604080516002808252606080830184529260208301908036833701905050905090565b60006104b36040518060400160405280601081526020017f70726f66696c65325f6d656d6265723100000000000000000000000000000000815250611065565b60006104b36040518060400160405280601081526020017f726563697069656e744164647265737300000000000000000000000000000000815250611065565b60006104b36040518060400160405280600981526020017f726563697069656e740000000000000000000000000000000000000000000000815250611065565b60006104b36040518060400160405280600d81526020017f706f6f6c5f6d616e616765723200000000000000000000000000000000000000815250611065565b60408051600280825260608083018452926000929190602083019080368337019050509050610889610578565b8160008151811061089c5761089c6119cc565b60200260200101906001600160a01b031690816001600160a01b0316815250506108c4610a77565b816001815181106108d7576108d76119cc565b6001600160a01b0390921660209283029190910190910152919050565b60006104b36040518060400160405280600c81526020017f6e6f5f726563697069656e740000000000000000000000000000000000000000815250611065565b61093c611380565b61094d670de0a46bc207d800611077565b60208201526109636702c68af0bb140000611077565b604082015261097866038d7ea4c68000611077565b60608201526001600160a01b038516815260a0810184600281111561099f5761099f6116bd565b908160028111156109b2576109b26116bd565b90525060c081018360038111156109cb576109cb6116bd565b908160038111156109de576109de6116bd565b9052508151600003610a00576109fd670de0b6b3a764000060c86119f8565b82525b60e08101919091529392505050565b60408051600280825260608083018452926000929190602083019080368337019050509050610a3c610473565b81600081518110610a4f57610a4f6119cc565b60200260200101906001600160a01b031690816001600160a01b0316815250506108c461081c565b60006104b36040518060400160405280601081526020017f70726f66696c65315f6d656d6265723200000000000000000000000000000000815250611065565b60006104b36040518060400160405280600a81526020017f616c6c6f5f6f776e657200000000000000000000000000000000000000000000815250611065565b60006104b36040518060400160405280600a81526020017f706f6f6c5f61646d696e00000000000000000000000000000000000000000000815250611065565b60006104b36040518060400160405280601081526020017f70726f66696c65325f6d656d6265723200000000000000000000000000000000815250611065565b60408051600280825260608083018452926000929190602083019080368337019050509050610ba461075c565b81600081518110610bb757610bb76119cc565b60200260200101906001600160a01b031690816001600160a01b0316815250506108c4610b37565b60006104b36040518060400160405280600a81526020017f726563697069656e743100000000000000000000000000000000000000000000815250611065565b60006104b36040518060400160405280601081526020017f706f6f6c5f6e6f74414d616e6167657200000000000000000000000000000000815250611065565b60006104b36040518060400160405280600e81526020017f70726f66696c65315f6f776e6572000000000000000000000000000000000000815250611065565b60006104b36040518060400160405280600b81526020017f72616e646f6d2063686164000000000000000000000000000000000000000000815250611065565b6000610d008888888888888860405180602001604052806000815250610e26565b98975050505050505050565b60006104b36040518060400160405280600d81526020017f616c6c6f5f747265617375727900000000000000000000000000000000000000815250611065565b60006104b36040518060400160405280600e81526020017f72656769737472795f6f776e6572000000000000000000000000000000000000815250611065565b60008481610daa610da462989680608087901b611a0f565b8361108e565b905060806f80000000000000000000000000000000610dcc8662989680611a31565b610dda84600160801b611a31565b610de7629896808a6119f8565b610df191906119f8565b610dfb9190611a0f565b610e0589856119f8565b610e0f9190611a44565b610e199190611a44565b901c979650505050505050565b600080610e3588868686610934565b60408051600280825260608201835292935060009290916020830190803683370190505090503081600081518110610e6f57610e6f6119cc565b60200260200101906001600160a01b031690816001600160a01b0316815250503381600181518110610ea357610ea36119cc565b6001600160a01b03928316602091820292909201015273eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee90881615610ed95750865b8b6001600160a01b031663e1007d4a610efa8b610ef4610af7565b866105b8565b8d86604051602001610f0c91906116e7565b6040516020818303038152906040528560006009896040518863ffffffff1660e01b8152600401610f439796959493929190611a57565b6020604051808303816000875af1158015610f62573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f869190611979565b9350866002811115610f9a57610f9a6116bd565b8b6001600160a01b031663351d9f966040518163ffffffff1660e01b8152600401602060405180830381865afa158015610fd8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ffc9190611b68565b600281111561100d5761100d6116bd565b1461101a5761101a611b85565b50505098975050505050505050565b60006104b36040518060400160405280601381526020017f70726f66696c65325f6e6f74414d656d626572000000000000000000000000008152505b60006110708261113c565b5092915050565b600061108864174876e80083611a0f565b92915050565b6000600160801b83106110e85760405162461bcd60e51b815260206004820152601c60248201527f5f612073686f756c64206265206c657373207468616e20325e3132380000000060448201526064015b60405180910390fd5b50600160801b82825b801561113457806001166000036111165761110c8283611281565b915060011c6110f1565b6111208383611281565b925061112d600182611a31565b90506110f1565b505092915050565b600080826040516020016111509190611b9b565b60408051808303601f190181529082905280516020909101207fffa18649000000000000000000000000000000000000000000000000000000008252600482018190529150737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ffa1864990602401602060405180830381865afa1580156111d1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111f59190611bb7565b6040517fc657c718000000000000000000000000000000000000000000000000000000008152909250737109709ecfa91a80626ff3989d68f67f5b1dd12d9063c657c7189061124a9085908790600401611bd4565b600060405180830381600087803b15801561126457600080fd5b505af1158015611278573d6000803e3d6000fd5b50505050915091565b6000600160801b8311156112fd5760405162461bcd60e51b815260206004820152602860248201527f5f612073686f756c64206265206c657373207468616e206f7220657175616c2060448201527f746f20325e31323800000000000000000000000000000000000000000000000060648201526084016110df565b600160801b82106113505760405162461bcd60e51b815260206004820152601c60248201527f5f622073686f756c64206265206c657373207468616e20325e3132380000000060448201526064016110df565b60806f8000000000000000000000000000000061136d84866119f8565b6113779190611a44565b901c9392505050565b60405180610120016040528060006001600160a01b0316815260200160008152602001600081526020016000815260200160008152602001600060028111156113cb576113cb6116bd565b8152602001600081526020016113ed6040518060200160405280600081525090565b8152600060209091015290565b6001600160a01b038116811461140f57600080fd5b50565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff8111828210171561145157611451611412565b604052919050565b60008060006060848603121561146e57600080fd5b8335611479816113fa565b925060208481013561148a816113fa565b9250604085013567ffffffffffffffff808211156114a757600080fd5b818701915087601f8301126114bb57600080fd5b8135818111156114cd576114cd611412565b8060051b91506114de848301611428565b818152918301840191848101908a8411156114f857600080fd5b938501935b838510156115225784359250611512836113fa565b82825293850193908501906114fd565b8096505050505050509250925092565b60005b8381101561154d578181015183820152602001611535565b50506000910152565b6000815180845261156e816020860160208601611532565b601f01601f19169290920160200192915050565b82815260406020820152600061159b6040830184611556565b949350505050565b600081518084526020808501945080840160005b838110156115dc5781516001600160a01b0316875295820195908201906001016115b7565b509495945050505050565b6020815260006115fa60208301846115a3565b9392505050565b6003811061140f57600080fd5b80356004811061161d57600080fd5b919050565b60006020828403121561163457600080fd5b6040516020810181811067ffffffffffffffff8211171561165757611657611412565b6040529135825250919050565b6000806000806080858703121561167a57600080fd5b8435611685816113fa565b9350602085013561169581611601565b92506116a36040860161160e565b91506116b28660608701611622565b905092959194509250565b634e487b7160e01b600052602160045260246000fd5b600481106116e3576116e36116bd565b9052565b6000610120820190506001600160a01b0383511682526020830151602083015260408301516040830152606083015160608301526080830151608083015260a08301516003811061173a5761173a6116bd565b8060a08401525060c083015161175360c08401826116d3565b5060e083015161176660e0840182519052565b50610100838101516001600160a01b03811684830152611134565b600080600080600080600060e0888a03121561179c57600080fd5b87356117a7816113fa565b965060208801356117b7816113fa565b955060408801356117c7816113fa565b945060608801356117d7816113fa565b935060808801356117e7816113fa565b925060a08801356117f781611601565b915061180560c0890161160e565b905092959891949750929550565b6000806000806080858703121561182957600080fd5b5050823594602084013594506040840135936060013592509050565b600080600080600080600080610100898b03121561186257600080fd5b883561186d816113fa565b9750602089013561187d816113fa565b9650604089013561188d816113fa565b9550606089013561189d816113fa565b945060808901356118ad816113fa565b935060a08901356118bd81611601565b92506118cb60c08a0161160e565b91506118da8a60e08b01611622565b90509295985092959890939650565b84815260a06020820152600e60a08201527f506f6f6c2050726f66696c65203100000000000000000000000000000000000060c082015260e06040820152835160e082015260006020850151604061010084015261194b610120840182611556565b90506001600160a01b0385166060840152828103608084015261196e81856115a3565b979650505050505050565b60006020828403121561198b57600080fd5b5051919050565b600181811c908216806119a657607f821691505b6020821081036119c657634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b8082028115828204841417611088576110886119e2565b600082611a2c57634e487b7160e01b600052601260045260246000fd5b500490565b81810381811115611088576110886119e2565b80820180821115611088576110886119e2565b878152600060206001600160a01b03808a168285015260e06040850152611a8160e085018a611556565b818916606086015287608086015284810360a08601528654815260019150818701604084830152600081548181861c905085821680611ac157607f821691505b8782108103611ade57634e487b7160e01b84526022600452602484fd5b60408601829052606086019550808015611aff5760018114611b1557611b40565b60ff198416875282151560051b87019450611b40565b60008681526020902060005b84811015611b3a57815489820152908901908a01611b21565b88019550505b5050505086810360c0880152611b5681896115a3565b9e9d5050505050505050505050505050565b600060208284031215611b7a57600080fd5b81516115fa81611601565b634e487b7160e01b600052600160045260246000fd5b60008251611bad818460208701611532565b9190910192915050565b600060208284031215611bc957600080fd5b81516115fa816113fa565b6001600160a01b038316815260406020820152600061159b604083018461155656fea26469706673582212200d3c034ac2b652938a76465bbc258109554de6f46ce0a03a9611ddd02228cad664736f6c63430008130033516d57347a464c464a524e374a3637457a4e6d64433272324d397532694a44686132666a3547656536684a7a5359","sourceMap":"679:1:141:-:0;579:5347;659:82;;;;579:5347;659:82;;;;;;;;;;;;;632:109;;;;;;;;;;;;;;;;:::i;:::-;;;;579:5347;;;;;;;;;;;;14:127:151;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:380;225:1;221:12;;;;268;;;289:61;;343:4;335:6;331:17;321:27;;289:61;396:2;388:6;385:14;365:18;362:38;359:161;;442:10;437:3;433:20;430:1;423:31;477:4;474:1;467:15;505:4;502:1;495:15;359:161;;146:380;;;:::o;657:545::-;759:2;754:3;751:11;748:448;;;795:1;820:5;816:2;809:17;865:4;861:2;851:19;935:2;923:10;919:19;916:1;912:27;906:4;902:38;971:4;959:10;956:20;953:47;;;-1:-1:-1;994:4:151;953:47;1049:2;1044:3;1040:12;1037:1;1033:20;1027:4;1023:31;1013:41;;1104:82;1122:2;1115:5;1112:13;1104:82;;;1167:17;;;1148:1;1137:13;1104:82;;;1108:3;;;748:448;657:545;;;:::o;1378:1352::-;1498:10;;-1:-1:-1;;;;;1520:30:151;;1517:56;;;1553:18;;:::i;:::-;1582:97;1672:6;1632:38;1664:4;1658:11;1632:38;:::i;:::-;1626:4;1582:97;:::i;:::-;1734:4;;1798:2;1787:14;;1815:1;1810:663;;;;2517:1;2534:6;2531:89;;;-1:-1:-1;2586:19:151;;;2580:26;2531:89;-1:-1:-1;;1335:1:151;1331:11;;;1327:24;1323:29;1313:40;1359:1;1355:11;;;1310:57;2633:81;;1780:944;;1810:663;604:1;597:14;;;641:4;628:18;;-1:-1:-1;;1846:20:151;;;1964:236;1978:7;1975:1;1972:14;1964:236;;;2067:19;;;2061:26;2046:42;;2159:27;;;;2127:1;2115:14;;;;1994:19;;1964:236;;;1968:3;2228:6;2219:7;2216:19;2213:201;;;2289:19;;;2283:26;-1:-1:-1;;2372:1:151;2368:14;;;2384:3;2364:24;2360:37;2356:42;2341:58;2326:74;;2213:201;-1:-1:-1;;;;;2460:1:151;2444:14;;;2440:22;2427:36;;-1:-1:-1;1378:1352:151:o;:::-;579:5347:141;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b50600436106102ac5760003560e01c8063770b2e661161017b578063aa3744bd116100d8578063da4bf0871161008c578063e99ce91111610071578063e99ce91114610445578063ed62303a14610458578063ef0d790f1461046b57600080fd5b8063da4bf08714610435578063dac4eb161461043d57600080fd5b8063d1f2cd88116100bd578063d1f2cd8814610412578063d5bee9f51461041a578063d8c12dc21461042257600080fd5b8063aa3744bd14610402578063d1e82b581461040a57600080fd5b80638c7408c41161012f5780638e3c2493116101145780638e3c2493146103d7578063a0cf0aea146103df578063a407c67a146103fa57600080fd5b80638c7408c4146102ec5780638e0d1a50146103cf57600080fd5b80637b2edf32116101605780637b2edf32146103bf5780637cbe79ed146103c7578063829e423f146102ec57600080fd5b8063770b2e661461039757806379e62d0d146103b757600080fd5b8063392f37e91161022957806366d003ac116101dd57806370a32944116101c257806370a329441461038757806374d9284e146102ec578063759c9a861461038f57600080fd5b806366d003ac146103775780636a38dd0a1461037f57600080fd5b80634bf4ba211161020e5780634bf4ba2114610352578063587c1243146103675780635aff59991461036f57600080fd5b8063392f37e9146103335780633f26479e1461034957600080fd5b8063174eedde116102805780631e7bcb2e116102655780631e7bcb2e146102fb5780632e0f26251461030357806337d1c4041461032057600080fd5b8063174eedde146102ec5780631b96dce6146102f357600080fd5b8062b1fad7146102b1578063030e4006146102d65780630688b135146102de5780630f166ad4146102e6575b600080fd5b6102b9610473565b6040516001600160a01b0390911681526020015b60405180910390f35b6102b96104b8565b6102b96104f8565b306102b9565b60006102b9565b6102b9610538565b6102b9610578565b610312670de0b6b3a764000081565b6040519081526020016102cd565b61031261032e366004611459565b6105b8565b61033b6106a2565b6040516102cd929190611582565b61031261271081565b61035a610739565b6040516102cd91906115e7565b6102b961075c565b6102b961079c565b6102b96107dc565b6102b961081c565b61035a61085c565b6102b96108f4565b6103aa6103a5366004611664565b610934565b6040516102cd91906116e7565b61035a610a0f565b6102b9610a77565b6102b9610ab7565b6102b9610af7565b6102b9610b37565b6102b973eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b61035a610b77565b6102b9610bdf565b6102b9610c1f565b6102b9610c5f565b6102b9610c9f565b610312610430366004611781565b610cdf565b6102b9610d0c565b6102b9610d4c565b610312610453366004611813565b610d8c565b610312610466366004611845565b610e26565b6102b9611029565b60006104b36040518060400160405280600d81526020017f706f6f6c5f6d616e616765723100000000000000000000000000000000000000815250611065565b905090565b60006104b36040518060400160405280601381526020017f70726f66696c65315f6e6f74414d656d62657200000000000000000000000000815250611065565b60006104b36040518060400160405280600a81526020017f726563697069656e743200000000000000000000000000000000000000000000815250611065565b60006104b36040518060400160405280600e81526020017f70726f66696c65325f6f776e6572000000000000000000000000000000000000815250611065565b60006104b36040518060400160405280601081526020017f70726f66696c65315f6d656d6265723100000000000000000000000000000000815250611065565b600b54600090610697576040805180820182526001815281518083018352600c81527f506f6f6c50726f66696c6531000000000000000000000000000000000000000060208281019190915282015290517f3a92f65f0000000000000000000000000000000000000000000000000000000081526001600160a01b03861691633a92f65f9161065091600291889088906004016118e9565b6020604051808303816000875af115801561066f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106939190611979565b600b555b50600b549392505050565b60098054600a80549192916106b690611992565b80601f01602080910402602001604051908101604052809291908181526020018280546106e290611992565b801561072f5780601f106107045761010080835404028352916020019161072f565b820191906000526020600020905b81548152906001019060200180831161071257829003601f168201915b5050505050905082565b604080516002808252606080830184529260208301908036833701905050905090565b60006104b36040518060400160405280601081526020017f70726f66696c65325f6d656d6265723100000000000000000000000000000000815250611065565b60006104b36040518060400160405280601081526020017f726563697069656e744164647265737300000000000000000000000000000000815250611065565b60006104b36040518060400160405280600981526020017f726563697069656e740000000000000000000000000000000000000000000000815250611065565b60006104b36040518060400160405280600d81526020017f706f6f6c5f6d616e616765723200000000000000000000000000000000000000815250611065565b60408051600280825260608083018452926000929190602083019080368337019050509050610889610578565b8160008151811061089c5761089c6119cc565b60200260200101906001600160a01b031690816001600160a01b0316815250506108c4610a77565b816001815181106108d7576108d76119cc565b6001600160a01b0390921660209283029190910190910152919050565b60006104b36040518060400160405280600c81526020017f6e6f5f726563697069656e740000000000000000000000000000000000000000815250611065565b61093c611380565b61094d670de0a46bc207d800611077565b60208201526109636702c68af0bb140000611077565b604082015261097866038d7ea4c68000611077565b60608201526001600160a01b038516815260a0810184600281111561099f5761099f6116bd565b908160028111156109b2576109b26116bd565b90525060c081018360038111156109cb576109cb6116bd565b908160038111156109de576109de6116bd565b9052508151600003610a00576109fd670de0b6b3a764000060c86119f8565b82525b60e08101919091529392505050565b60408051600280825260608083018452926000929190602083019080368337019050509050610a3c610473565b81600081518110610a4f57610a4f6119cc565b60200260200101906001600160a01b031690816001600160a01b0316815250506108c461081c565b60006104b36040518060400160405280601081526020017f70726f66696c65315f6d656d6265723200000000000000000000000000000000815250611065565b60006104b36040518060400160405280600a81526020017f616c6c6f5f6f776e657200000000000000000000000000000000000000000000815250611065565b60006104b36040518060400160405280600a81526020017f706f6f6c5f61646d696e00000000000000000000000000000000000000000000815250611065565b60006104b36040518060400160405280601081526020017f70726f66696c65325f6d656d6265723200000000000000000000000000000000815250611065565b60408051600280825260608083018452926000929190602083019080368337019050509050610ba461075c565b81600081518110610bb757610bb76119cc565b60200260200101906001600160a01b031690816001600160a01b0316815250506108c4610b37565b60006104b36040518060400160405280600a81526020017f726563697069656e743100000000000000000000000000000000000000000000815250611065565b60006104b36040518060400160405280601081526020017f706f6f6c5f6e6f74414d616e6167657200000000000000000000000000000000815250611065565b60006104b36040518060400160405280600e81526020017f70726f66696c65315f6f776e6572000000000000000000000000000000000000815250611065565b60006104b36040518060400160405280600b81526020017f72616e646f6d2063686164000000000000000000000000000000000000000000815250611065565b6000610d008888888888888860405180602001604052806000815250610e26565b98975050505050505050565b60006104b36040518060400160405280600d81526020017f616c6c6f5f747265617375727900000000000000000000000000000000000000815250611065565b60006104b36040518060400160405280600e81526020017f72656769737472795f6f776e6572000000000000000000000000000000000000815250611065565b60008481610daa610da462989680608087901b611a0f565b8361108e565b905060806f80000000000000000000000000000000610dcc8662989680611a31565b610dda84600160801b611a31565b610de7629896808a6119f8565b610df191906119f8565b610dfb9190611a0f565b610e0589856119f8565b610e0f9190611a44565b610e199190611a44565b901c979650505050505050565b600080610e3588868686610934565b60408051600280825260608201835292935060009290916020830190803683370190505090503081600081518110610e6f57610e6f6119cc565b60200260200101906001600160a01b031690816001600160a01b0316815250503381600181518110610ea357610ea36119cc565b6001600160a01b03928316602091820292909201015273eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee90881615610ed95750865b8b6001600160a01b031663e1007d4a610efa8b610ef4610af7565b866105b8565b8d86604051602001610f0c91906116e7565b6040516020818303038152906040528560006009896040518863ffffffff1660e01b8152600401610f439796959493929190611a57565b6020604051808303816000875af1158015610f62573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f869190611979565b9350866002811115610f9a57610f9a6116bd565b8b6001600160a01b031663351d9f966040518163ffffffff1660e01b8152600401602060405180830381865afa158015610fd8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ffc9190611b68565b600281111561100d5761100d6116bd565b1461101a5761101a611b85565b50505098975050505050505050565b60006104b36040518060400160405280601381526020017f70726f66696c65325f6e6f74414d656d626572000000000000000000000000008152505b60006110708261113c565b5092915050565b600061108864174876e80083611a0f565b92915050565b6000600160801b83106110e85760405162461bcd60e51b815260206004820152601c60248201527f5f612073686f756c64206265206c657373207468616e20325e3132380000000060448201526064015b60405180910390fd5b50600160801b82825b801561113457806001166000036111165761110c8283611281565b915060011c6110f1565b6111208383611281565b925061112d600182611a31565b90506110f1565b505092915050565b600080826040516020016111509190611b9b565b60408051808303601f190181529082905280516020909101207fffa18649000000000000000000000000000000000000000000000000000000008252600482018190529150737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ffa1864990602401602060405180830381865afa1580156111d1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111f59190611bb7565b6040517fc657c718000000000000000000000000000000000000000000000000000000008152909250737109709ecfa91a80626ff3989d68f67f5b1dd12d9063c657c7189061124a9085908790600401611bd4565b600060405180830381600087803b15801561126457600080fd5b505af1158015611278573d6000803e3d6000fd5b50505050915091565b6000600160801b8311156112fd5760405162461bcd60e51b815260206004820152602860248201527f5f612073686f756c64206265206c657373207468616e206f7220657175616c2060448201527f746f20325e31323800000000000000000000000000000000000000000000000060648201526084016110df565b600160801b82106113505760405162461bcd60e51b815260206004820152601c60248201527f5f622073686f756c64206265206c657373207468616e20325e3132380000000060448201526064016110df565b60806f8000000000000000000000000000000061136d84866119f8565b6113779190611a44565b901c9392505050565b60405180610120016040528060006001600160a01b0316815260200160008152602001600081526020016000815260200160008152602001600060028111156113cb576113cb6116bd565b8152602001600081526020016113ed6040518060200160405280600081525090565b8152600060209091015290565b6001600160a01b038116811461140f57600080fd5b50565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff8111828210171561145157611451611412565b604052919050565b60008060006060848603121561146e57600080fd5b8335611479816113fa565b925060208481013561148a816113fa565b9250604085013567ffffffffffffffff808211156114a757600080fd5b818701915087601f8301126114bb57600080fd5b8135818111156114cd576114cd611412565b8060051b91506114de848301611428565b818152918301840191848101908a8411156114f857600080fd5b938501935b838510156115225784359250611512836113fa565b82825293850193908501906114fd565b8096505050505050509250925092565b60005b8381101561154d578181015183820152602001611535565b50506000910152565b6000815180845261156e816020860160208601611532565b601f01601f19169290920160200192915050565b82815260406020820152600061159b6040830184611556565b949350505050565b600081518084526020808501945080840160005b838110156115dc5781516001600160a01b0316875295820195908201906001016115b7565b509495945050505050565b6020815260006115fa60208301846115a3565b9392505050565b6003811061140f57600080fd5b80356004811061161d57600080fd5b919050565b60006020828403121561163457600080fd5b6040516020810181811067ffffffffffffffff8211171561165757611657611412565b6040529135825250919050565b6000806000806080858703121561167a57600080fd5b8435611685816113fa565b9350602085013561169581611601565b92506116a36040860161160e565b91506116b28660608701611622565b905092959194509250565b634e487b7160e01b600052602160045260246000fd5b600481106116e3576116e36116bd565b9052565b6000610120820190506001600160a01b0383511682526020830151602083015260408301516040830152606083015160608301526080830151608083015260a08301516003811061173a5761173a6116bd565b8060a08401525060c083015161175360c08401826116d3565b5060e083015161176660e0840182519052565b50610100838101516001600160a01b03811684830152611134565b600080600080600080600060e0888a03121561179c57600080fd5b87356117a7816113fa565b965060208801356117b7816113fa565b955060408801356117c7816113fa565b945060608801356117d7816113fa565b935060808801356117e7816113fa565b925060a08801356117f781611601565b915061180560c0890161160e565b905092959891949750929550565b6000806000806080858703121561182957600080fd5b5050823594602084013594506040840135936060013592509050565b600080600080600080600080610100898b03121561186257600080fd5b883561186d816113fa565b9750602089013561187d816113fa565b9650604089013561188d816113fa565b9550606089013561189d816113fa565b945060808901356118ad816113fa565b935060a08901356118bd81611601565b92506118cb60c08a0161160e565b91506118da8a60e08b01611622565b90509295985092959890939650565b84815260a06020820152600e60a08201527f506f6f6c2050726f66696c65203100000000000000000000000000000000000060c082015260e06040820152835160e082015260006020850151604061010084015261194b610120840182611556565b90506001600160a01b0385166060840152828103608084015261196e81856115a3565b979650505050505050565b60006020828403121561198b57600080fd5b5051919050565b600181811c908216806119a657607f821691505b6020821081036119c657634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b8082028115828204841417611088576110886119e2565b600082611a2c57634e487b7160e01b600052601260045260246000fd5b500490565b81810381811115611088576110886119e2565b80820180821115611088576110886119e2565b878152600060206001600160a01b03808a168285015260e06040850152611a8160e085018a611556565b818916606086015287608086015284810360a08601528654815260019150818701604084830152600081548181861c905085821680611ac157607f821691505b8782108103611ade57634e487b7160e01b84526022600452602484fd5b60408601829052606086019550808015611aff5760018114611b1557611b40565b60ff198416875282151560051b87019450611b40565b60008681526020902060005b84811015611b3a57815489820152908901908a01611b21565b88019550505b5050505086810360c0880152611b5681896115a3565b9e9d5050505050505050505050505050565b600060208284031215611b7a57600080fd5b81516115fa81611601565b634e487b7160e01b600052600160045260246000fd5b60008251611bad818460208701611532565b9190910192915050565b600060208284031215611bc957600080fd5b81516115fa816113fa565b6001600160a01b038316815260406020820152600061159b604083018461155656fea26469706673582212200d3c034ac2b652938a76465bbc258109554de6f46ce0a03a9611ddd02228cad664736f6c63430008130033","sourceMap":"579:5347:141:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1763:107:15;;;:::i;:::-;;;-1:-1:-1;;;;;310:55:151;;;292:74;;280:2;265:18;1763:107:15;;;;;;;;2429:119;;;:::i;4045:101::-;;;:::i;226:92::-;306:4;226:92;;905:138;968:7;905:138;;3126:109;;;:::i;2554:113::-;;;:::i;770:43:141:-;;805:8;770:43;;;;;523:25:151;;;511:2;496:18;770:43:141;377:177:151;1164:437:141;;;;;;:::i;:::-;;:::i;632:109::-;;;:::i;:::-;;;;;;;;:::i;819:50::-;;862:7;819:50;;1331:118:15;;;:::i;:::-;;;;;;;:::i;3366:113::-;;;:::i;4257:::-;;;:::i;4152:99::-;;;:::i;1876:107::-;;;:::i;2792:241::-;;;:::i;4376:105::-;;;:::i;1607:1088:141:-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;1989:232:15:-;;;:::i;2673:113::-;;;:::i;439:101::-;;;:::i;1537:::-;;;:::i;3485:113::-;;;:::i;4412:75:9:-;;4445:42;4412:75;;3604:241:15;;;:::i;3938:101::-;;;:::i;1644:113::-;;;:::i;2314:109::-;;;:::i;4571:105::-;;;:::i;4149:543:141:-;;;;;;:::i;:::-;;:::i;546:124:15:-;;;:::i;324:109::-;;;:::i;5546:378:141:-;;;;;;:::i;:::-;;:::i;2701:1442::-;;;;;;:::i;:::-;;:::i;3241:119:15:-;;;:::i;1763:107::-;1812:7;1838:25;;;;;;;;;;;;;;;;;;:8;:25::i;:::-;1831:32;;1763:107;:::o;2429:119::-;2484:7;2510:31;;;;;;;;;;;;;;;;;;:8;:31::i;4045:101::-;4091:7;4117:22;;;;;;;;;;;;;;;;;;:8;:22::i;3126:109::-;3176:7;3202:26;;;;;;;;;;;;;;;;;;:8;:26::i;2554:113::-;2606:7;2632:28;;;;;;;;;;;;;;;;;;:8;:28::i;1164:437:141:-;1336:16;;1309:7;;1332:230;;1462:48;;;;;;;;1482:1;1462:48;;;;;;;;;;;;;;;;;;;;;;;;1401:150;;;;;-1:-1:-1;;;;;1401:22:141;;;;;:150;;1441:1;;1512:10;;1524:13;;1401:150;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1382:16;:169;1332:230;-1:-1:-1;1578:16:141;;1164:437;;;;;:::o;632:109::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;1331:118:15:-;1426:16;;;1440:1;1426:16;;;1391;1426;;;;;1391;1426;;;;;;;;;;-1:-1:-1;1426:16:15;1419:23;;1331:118;:::o;3366:113::-;3418:7;3444:28;;;;;;;;;;;;;;;;;;:8;:28::i;4257:113::-;4309:7;4335:28;;;;;;;;;;;;;;;;;;:8;:28::i;4152:99::-;4197:7;4223:21;;;;;;;;;;;;;;;;;;:8;:21::i;1876:107::-;1925:7;1951:25;;;;;;;;;;;;;;;;;;:8;:25::i;2792:241::-;2900:16;;;2914:1;2900:16;;;2844;2900;;;;;2844;2872:25;;2900:16;2914:1;2900:16;;;;;;;;;;-1:-1:-1;2900:16:15;2872:44;;2940:18;:16;:18::i;:::-;2926:8;2935:1;2926:11;;;;;;;;:::i;:::-;;;;;;:32;-1:-1:-1;;;;;2926:32:15;;;-1:-1:-1;;;;;2926:32:15;;;;;2982:18;:16;:18::i;:::-;2968:8;2977:1;2968:11;;;;;;;;:::i;:::-;-1:-1:-1;;;;;2968:32:15;;;:11;;;;;;;;;;;:32;3018:8;2792:241;-1:-1:-1;2792:241:15:o;4376:105::-;4424:7;4450:24;;;;;;;;;;;;;;;;;;:8;:24::i;1607:1088:141:-;1847:45;;:::i;:::-;1970:30;1984:15;1970:13;:30::i;:::-;1955:12;;;:45;2117:24;2131:9;2117:13;:24::i;:::-;2099:15;;;:42;2186:26;2200:11;2186:13;:26::i;:::-;2170:13;;;:42;-1:-1:-1;;;;;2309:44:141;;;;2363:19;;;2385:12;2363:34;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;2407:18:141;;;2428:11;2407:32;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;2454:21:141;;;:26;2450:197;;2622:14;805:8;2622:3;:14;:::i;:::-;2598:38;;2450:197;2656:18;;;:32;;;;:6;1607:1088;-1:-1:-1;;;1607:1088:141:o;1989:232:15:-;2094:16;;;2108:1;2094:16;;;2038;2094;;;;;2038;2066:25;;2094:16;2108:1;2094:16;;;;;;;;;;-1:-1:-1;2094:16:15;2066:44;;2134:15;:13;:15::i;:::-;2120:8;2129:1;2120:11;;;;;;;;:::i;:::-;;;;;;:29;-1:-1:-1;;;;;2120:29:15;;;-1:-1:-1;;;;;2120:29:15;;;;;2173:15;:13;:15::i;2673:113::-;2725:7;2751:28;;;;;;;;;;;;;;;;;;:8;:28::i;439:101::-;485:7;511:22;;;;;;;;;;;;;;;;;;:8;:22::i;1537:101::-;1583:7;1609:22;;;;;;;;;;;;;;;;;;:8;:22::i;3485:113::-;3537:7;3563:28;;;;;;;;;;;;;;;;;;:8;:28::i;3604:241::-;3712:16;;;3726:1;3712:16;;;3656;3712;;;;;3656;3684:25;;3712:16;3726:1;3712:16;;;;;;;;;;-1:-1:-1;3712:16:15;3684:44;;3752:18;:16;:18::i;:::-;3738:8;3747:1;3738:11;;;;;;;;:::i;:::-;;;;;;:32;-1:-1:-1;;;;;3738:32:15;;;-1:-1:-1;;;;;3738:32:15;;;;;3794:18;:16;:18::i;3938:101::-;3984:7;4010:22;;;;;;;;;;;;;;;;;;:8;:22::i;1644:113::-;1696:7;1722:28;;;;;;;;;;;;;;;;;;:8;:28::i;2314:109::-;2364:7;2390:26;;;;;;;;;;;;;;;;;;:8;:26::i;4571:105::-;4620:7;4646:23;;;;;;;;;;;;;;;;;;:8;:23::i;4149:543:141:-;4420:14;4453:232;4477:4;4495:8;4517:17;4548:8;4570:5;4589:12;4615:11;4640:35;;;;;;;;4673:1;4640:35;;;4453:10;:232::i;:::-;4446:239;4149:543;-1:-1:-1;;;;;;;;4149:543:141:o;546:124:15:-;595:15;637:25;;;;;;;;;;;;;;;;;;:8;:25::i;324:109::-;374:7;400:26;;;;;;;;;;;;;;;;;;:8;:26::i;5546:378:141:-;5696:7;5731:11;5696:7;5772:27;5777:18;1046:7;5787:3;5778:12;;;5777:18;:::i;:::-;5797:1;5772:4;:27::i;:::-;5752:47;-1:-1:-1;5914:3:141;952:8;5887:9;5891:5;1046:7;5887:9;:::i;:::-;5863:19;5873:9;-1:-1:-1;;;5863:19:141;:::i;:::-;5845:14;1046:7;5845:10;:14;:::i;:::-;:38;;;;:::i;:::-;:52;;;;:::i;:::-;5819:21;5831:9;5819;:21;:::i;:::-;5818:80;;;;:::i;:::-;5817:92;;;;:::i;:::-;5816:101;;;5546:378;-1:-1:-1;;;;;;;5546:378:141:o;2701:1442::-;3033:14;3110:45;3170:68;3180:17;3199:12;3213:11;3226;3170:9;:68::i;:::-;3283:16;;;3297:1;3283:16;;;;;;;;3110:128;;-1:-1:-1;3249:31:141;;3283:16;;;;;;;;;;;;-1:-1:-1;3283:16:141;3249:50;;3337:4;3309:14;3324:1;3309:17;;;;;;;;:::i;:::-;;;;;;:33;-1:-1:-1;;;;;3309:33:141;;;-1:-1:-1;;;;;3309:33:141;;;;;3380:10;3352:14;3367:1;3352:17;;;;;;;;:::i;:::-;-1:-1:-1;;;;;3352:39:141;;;:17;;;;;;;;;:39;4445:42:9;;3678:19:141;;;3674:64;;-1:-1:-1;3722:5:141;3674:64;3756:4;-1:-1:-1;;;;;3756:33:141;;3844:55;3860:8;3870:12;:10;:12::i;:::-;3884:14;3844:15;:55::i;:::-;3921:8;3955:6;3944:18;;;;;;;;:::i;:::-;;;;;;;;;;;;;3976:6;3996:1;4011:8;4033:14;3756:301;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3747:310;;4123:12;4075:60;;;;;;;;:::i;:::-;4094:8;-1:-1:-1;;;;;4075:42:141;;:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:60;;;;;;;;:::i;:::-;;4068:68;;;;:::i;:::-;3049:1094;;;2701:1442;;;;;;;;;;:::o;3241:119:15:-;3296:7;3322:31;;;;;;;;;;;;;;;;;;20439:125:24;20503:12;20537:20;20552:4;20537:14;:20::i;:::-;-1:-1:-1;20527:30:24;20439:125;-1:-1:-1;;20439:125:24:o;4698:114:141:-;4761:7;4787:18;4797:8;4787:7;:18;:::i;:::-;4780:25;4698:114;-1:-1:-1;;4698:114:141:o;5093:447::-;5154:15;-1:-1:-1;;;5189:2:141;:12;5181:53;;;;-1:-1:-1;;;5181:53:141;;16438:2:151;5181:53:141;;;16420:21:151;16477:2;16457:18;;;16450:30;16516;16496:18;;;16489:58;16564:18;;5181:53:141;;;;;;;;;-1:-1:-1;;;;5256:2:141;5280;5319:215;5326:5;;5319:215;;5351:1;5355;5351:5;5360:1;5351:10;5347:177;;5385:10;5390:1;5393;5385:4;:10::i;:::-;5381:14;-1:-1:-1;5419:1:141;5413:7;5319:215;;5347:177;5469:16;5474:7;5483:1;5469:4;:16::i;:::-;5459:26;-1:-1:-1;5503:6:141;5508:1;5503:6;;:::i;:::-;;;5319:215;;;5171:369;;5093:447;;;;:::o;20158:242:24:-;20228:12;20242:18;20320:4;20303:22;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;20303:22:24;;;;;;;20293:33;;20303:22;20293:33;;;;20344:19;;;;;;523:25:151;;;20293:33:24;-1:-1:-1;20344:7:24;;;;496:18:151;;20344:19:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;20373:20;;;;;20337:26;;-1:-1:-1;20373:8:24;;;;:20;;20337:26;;20388:4;;20373:20;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20158:242;;;:::o;4818:269:141:-;4879:15;-1:-1:-1;;;4914:2:141;:13;;4906:66;;;;-1:-1:-1;;;4906:66:141;;17701:2:151;4906:66:141;;;17683:21:151;17740:2;17720:18;;;17713:30;17779:34;17759:18;;;17752:62;17850:10;17830:18;;;17823:38;17878:19;;4906:66:141;17499:404:151;4906:66:141;-1:-1:-1;;;4990:2:141;:12;4982:53;;;;-1:-1:-1;;;4982:53:141;;18110:2:151;4982:53:141;;;18092:21:151;18149:2;18129:18;;;18122:30;18188;18168:18;;;18161:58;18236:18;;4982:53:141;17908:352:151;4982:53:141;5077:3;952:8;5054:7;5059:2;5054;:7;:::i;:::-;5053:19;;;;:::i;:::-;5052:28;;;4818:269;-1:-1:-1;;;4818:269:141:o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;559:165:151:-;-1:-1:-1;;;;;649:5:151;645:54;638:5;635:65;625:93;;714:1;711;704:12;625:93;559:165;:::o;729:184::-;-1:-1:-1;;;778:1:151;771:88;878:4;875:1;868:15;902:4;899:1;892:15;918:275;989:2;983:9;1054:2;1035:13;;-1:-1:-1;;1031:27:151;1019:40;;1089:18;1074:34;;1110:22;;;1071:62;1068:88;;;1136:18;;:::i;:::-;1172:2;1165:22;918:275;;-1:-1:-1;918:275:151:o;1198:1354::-;1318:6;1326;1334;1387:2;1375:9;1366:7;1362:23;1358:32;1355:52;;;1403:1;1400;1393:12;1355:52;1442:9;1429:23;1461:42;1497:5;1461:42;:::i;:::-;1522:5;-1:-1:-1;1546:2:151;1585:18;;;1572:32;1613:44;1572:32;1613:44;:::i;:::-;1676:7;-1:-1:-1;1734:2:151;1719:18;;1706:32;1757:18;1787:14;;;1784:34;;;1814:1;1811;1804:12;1784:34;1852:6;1841:9;1837:22;1827:32;;1897:7;1890:4;1886:2;1882:13;1878:27;1868:55;;1919:1;1916;1909:12;1868:55;1955:2;1942:16;1977:2;1973;1970:10;1967:36;;;1983:18;;:::i;:::-;2029:2;2026:1;2022:10;2012:20;;2052:28;2076:2;2072;2068:11;2052:28;:::i;:::-;2114:15;;;2184:11;;;2180:20;;;2145:12;;;;2212:19;;;2209:39;;;2244:1;2241;2234:12;2209:39;2268:11;;;;2288:234;2304:6;2299:3;2296:15;2288:234;;;2386:3;2373:17;2358:32;;2403:44;2439:7;2403:44;:::i;:::-;2460:20;;;2321:12;;;;2500;;;;2288:234;;;2541:5;2531:15;;;;;;;;1198:1354;;;;;:::o;2894:250::-;2979:1;2989:113;3003:6;3000:1;2997:13;2989:113;;;3079:11;;;3073:18;3060:11;;;3053:39;3025:2;3018:10;2989:113;;;-1:-1:-1;;3136:1:151;3118:16;;3111:27;2894:250::o;3149:271::-;3191:3;3229:5;3223:12;3256:6;3251:3;3244:19;3272:76;3341:6;3334:4;3329:3;3325:14;3318:4;3311:5;3307:16;3272:76;:::i;:::-;3402:2;3381:15;-1:-1:-1;;3377:29:151;3368:39;;;;3409:4;3364:50;;3149:271;-1:-1:-1;;3149:271:151:o;3425:291::-;3602:6;3591:9;3584:25;3645:2;3640;3629:9;3625:18;3618:30;3565:4;3665:45;3706:2;3695:9;3691:18;3683:6;3665:45;:::i;:::-;3657:53;3425:291;-1:-1:-1;;;;3425:291:151:o;3721:484::-;3774:3;3812:5;3806:12;3839:6;3834:3;3827:19;3865:4;3894:2;3889:3;3885:12;3878:19;;3931:2;3924:5;3920:14;3952:1;3962:218;3976:6;3973:1;3970:13;3962:218;;;4041:13;;-1:-1:-1;;;;;4037:62:151;4025:75;;4120:12;;;;4155:15;;;;3998:1;3991:9;3962:218;;;-1:-1:-1;4196:3:151;;3721:484;-1:-1:-1;;;;;3721:484:151:o;4210:261::-;4389:2;4378:9;4371:21;4352:4;4409:56;4461:2;4450:9;4446:18;4438:6;4409:56;:::i;:::-;4401:64;4210:261;-1:-1:-1;;;4210:261:151:o;4476:111::-;4561:1;4554:5;4551:12;4541:40;;4577:1;4574;4567:12;4592:152;4669:20;;4718:1;4708:12;;4698:40;;4734:1;4731;4724:12;4698:40;4592:152;;;:::o;4749:416::-;4813:5;4861:4;4849:9;4844:3;4840:19;4836:30;4833:50;;;4879:1;4876;4869:12;4833:50;4912:2;4906:9;4954:4;4946:6;4942:17;5025:6;5013:10;5010:22;4989:18;4977:10;4974:34;4971:62;4968:88;;;5036:18;;:::i;:::-;5072:2;5065:22;5135:23;;5120:39;;-1:-1:-1;5105:6:151;4749:416;-1:-1:-1;4749:416:151:o;5170:664::-;5327:6;5335;5343;5351;5404:3;5392:9;5383:7;5379:23;5375:33;5372:53;;;5421:1;5418;5411:12;5372:53;5460:9;5447:23;5479:42;5515:5;5479:42;:::i;:::-;5540:5;-1:-1:-1;5597:2:151;5582:18;;5569:32;5610:43;5569:32;5610:43;:::i;:::-;5672:7;-1:-1:-1;5698:47:151;5741:2;5726:18;;5698:47;:::i;:::-;5688:57;;5764:64;5820:7;5815:2;5804:9;5800:18;5764:64;:::i;:::-;5754:74;;5170:664;;;;;;;:::o;5839:184::-;-1:-1:-1;;;5888:1:151;5881:88;5988:4;5985:1;5978:15;6012:4;6009:1;6002:15;6028:142;6111:1;6104:5;6101:12;6091:46;;6117:18;;:::i;:::-;6146;;6028:142::o;6270:1129::-;6432:4;6474:3;6463:9;6459:19;6451:27;;-1:-1:-1;;;;;6515:6:151;6509:13;6505:62;6494:9;6487:81;6624:4;6616:6;6612:17;6606:24;6599:4;6588:9;6584:20;6577:54;6687:4;6679:6;6675:17;6669:24;6662:4;6651:9;6647:20;6640:54;6750:4;6742:6;6738:17;6732:24;6725:4;6714:9;6710:20;6703:54;6813:4;6805:6;6801:17;6795:24;6788:4;6777:9;6773:20;6766:54;6867:4;6859:6;6855:17;6849:24;6909:1;6895:12;6892:19;6882:53;;6915:18;;:::i;:::-;6973:12;6966:4;6955:9;6951:20;6944:42;;7035:4;7027:6;7023:17;7017:24;7050:65;7109:4;7098:9;7094:20;7078:14;7050:65;:::i;:::-;;7164:4;7156:6;7152:17;7146:24;7179:73;7246:4;7235:9;7231:20;7215:14;6250:12;6238:25;;6175:90;7179:73;-1:-1:-1;7271:6:151;7314:15;;;7308:22;-1:-1:-1;;;;;80:54:151;;7374:18;;;68:67;7339:54;14:127;7404:1170;7583:6;7591;7599;7607;7615;7623;7631;7684:3;7672:9;7663:7;7659:23;7655:33;7652:53;;;7701:1;7698;7691:12;7652:53;7740:9;7727:23;7759:42;7795:5;7759:42;:::i;:::-;7820:5;-1:-1:-1;7877:2:151;7862:18;;7849:32;7890:44;7849:32;7890:44;:::i;:::-;7953:7;-1:-1:-1;8012:2:151;7997:18;;7984:32;8025:44;7984:32;8025:44;:::i;:::-;8088:7;-1:-1:-1;8147:2:151;8132:18;;8119:32;8160:44;8119:32;8160:44;:::i;:::-;8223:7;-1:-1:-1;8282:3:151;8267:19;;8254:33;8296:44;8254:33;8296:44;:::i;:::-;8359:7;-1:-1:-1;8418:3:151;8403:19;;8390:33;8432:43;8390:33;8432:43;:::i;:::-;8494:7;-1:-1:-1;8520:48:151;8563:3;8548:19;;8520:48;:::i;:::-;8510:58;;7404:1170;;;;;;;;;;:::o;8826:385::-;8912:6;8920;8928;8936;8989:3;8977:9;8968:7;8964:23;8960:33;8957:53;;;9006:1;9003;8996:12;8957:53;-1:-1:-1;;9029:23:151;;;9099:2;9084:18;;9071:32;;-1:-1:-1;9150:2:151;9135:18;;9122:32;;9201:2;9186:18;9173:32;;-1:-1:-1;8826:385:151;-1:-1:-1;8826:385:151:o;9216:1307::-;9440:6;9448;9456;9464;9472;9480;9488;9496;9549:3;9537:9;9528:7;9524:23;9520:33;9517:53;;;9566:1;9563;9556:12;9517:53;9605:9;9592:23;9624:42;9660:5;9624:42;:::i;:::-;9685:5;-1:-1:-1;9742:2:151;9727:18;;9714:32;9755:44;9714:32;9755:44;:::i;:::-;9818:7;-1:-1:-1;9877:2:151;9862:18;;9849:32;9890:44;9849:32;9890:44;:::i;:::-;9953:7;-1:-1:-1;10012:2:151;9997:18;;9984:32;10025:44;9984:32;10025:44;:::i;:::-;10088:7;-1:-1:-1;10147:3:151;10132:19;;10119:33;10161:44;10119:33;10161:44;:::i;:::-;10224:7;-1:-1:-1;10283:3:151;10268:19;;10255:33;10297:43;10255:33;10297:43;:::i;:::-;10359:7;-1:-1:-1;10385:48:151;10428:3;10413:19;;10385:48;:::i;:::-;10375:58;;10452:65;10509:7;10503:3;10492:9;10488:19;10452:65;:::i;:::-;10442:75;;9216:1307;;;;;;;;;;;:::o;10528:1032::-;10952:6;10941:9;10934:25;10995:3;10990:2;10979:9;10975:18;10968:31;11036:2;11030:3;11019:9;11015:19;11008:31;11076:16;11070:3;11059:9;11055:19;11048:45;11129:3;11124:2;11113:9;11109:18;11102:31;11176:6;11170:13;11164:3;11153:9;11149:19;11142:42;10915:4;11231:2;11223:6;11219:15;11213:22;11272:2;11266:3;11255:9;11251:19;11244:31;11295:52;11342:3;11331:9;11327:19;11313:12;11295:52;:::i;:::-;11284:63;;-1:-1:-1;;;;;11387:6:151;11383:55;11378:2;11367:9;11363:18;11356:83;11485:9;11480:3;11476:19;11470:3;11459:9;11455:19;11448:48;11513:41;11550:3;11542:6;11513:41;:::i;:::-;11505:49;10528:1032;-1:-1:-1;;;;;;;10528:1032:151:o;11565:184::-;11635:6;11688:2;11676:9;11667:7;11663:23;11659:32;11656:52;;;11704:1;11701;11694:12;11656:52;-1:-1:-1;11727:16:151;;11565:184;-1:-1:-1;11565:184:151:o;11754:437::-;11833:1;11829:12;;;;11876;;;11897:61;;11951:4;11943:6;11939:17;11929:27;;11897:61;12004:2;11996:6;11993:14;11973:18;11970:38;11967:218;;-1:-1:-1;;;12038:1:151;12031:88;12142:4;12139:1;12132:15;12170:4;12167:1;12160:15;11967:218;;11754:437;;;:::o;12196:184::-;-1:-1:-1;;;12245:1:151;12238:88;12345:4;12342:1;12335:15;12369:4;12366:1;12359:15;12385:184;-1:-1:-1;;;12434:1:151;12427:88;12534:4;12531:1;12524:15;12558:4;12555:1;12548:15;12574:168;12647:9;;;12678;;12695:15;;;12689:22;;12675:37;12665:71;;12716:18;;:::i;12747:274::-;12787:1;12813;12803:189;;-1:-1:-1;;;12845:1:151;12838:88;12949:4;12946:1;12939:15;12977:4;12974:1;12967:15;12803:189;-1:-1:-1;13006:9:151;;12747:274::o;13026:128::-;13093:9;;;13114:11;;;13111:37;;;13128:18;;:::i;13159:125::-;13224:9;;;13245:10;;;13242:36;;;13258:18;;:::i;13415:2154::-;13837:6;13826:9;13819:25;13800:4;13863:2;-1:-1:-1;;;;;13974:2:151;13966:6;13962:15;13957:2;13946:9;13942:18;13935:43;14014:3;14009:2;13998:9;13994:18;13987:31;14041:46;14082:3;14071:9;14067:19;14059:6;14041:46;:::i;:::-;14135:2;14127:6;14123:15;14118:2;14107:9;14103:18;14096:43;14176:6;14170:3;14159:9;14155:19;14148:35;14232:9;14224:6;14220:22;14214:3;14203:9;14199:19;14192:51;14273:6;14267:13;14259:6;14252:29;14300:4;14290:14;;14345:2;14337:6;14333:15;14381:2;14376;14368:6;14364:15;14357:27;14404:1;14437:12;14431:19;14473:3;14503:9;14499:2;14495:18;14485:28;;14563:2;14552:9;14548:18;14585;14575:61;;14629:4;14621:6;14617:17;14607:27;;14575:61;14682:2;14674:6;14671:14;14651:18;14648:38;14645:222;;-1:-1:-1;;;14716:3:151;14709:90;14822:4;14819:1;14812:15;14852:4;14847:3;14840:17;14645:222;14935:2;14923:15;;2826:19;;;2869:14;;;14876:71;-1:-1:-1;14963:18:151;14990:128;;;;15132:1;15127:321;;;;14956:492;;14990:128;-1:-1:-1;;15023:24:151;;15011:37;;15091:14;;15084:22;15081:1;15077:30;15068:40;;;-1:-1:-1;14990:128:151;;15127:321;13362:1;13355:14;;;13399:4;13386:18;;15228:1;15242:165;15256:6;15253:1;15250:13;15242:165;;;15334:14;;15321:11;;;15314:35;15377:16;;;;15271:10;;15242:165;;;15427:11;;;-1:-1:-1;;14956:492:151;;;;;15494:9;15489:3;15485:19;15479:3;15468:9;15464:19;15457:48;15522:41;15559:3;15551:6;15522:41;:::i;:::-;15514:49;13415:2154;-1:-1:-1;;;;;;;;;;;;;;13415:2154:151:o;15763:279::-;15851:6;15904:2;15892:9;15883:7;15879:23;15875:32;15872:52;;;15920:1;15917;15910:12;15872:52;15952:9;15946:16;15971:41;16006:5;15971:41;:::i;16047:184::-;-1:-1:-1;;;16096:1:151;16089:88;16196:4;16193:1;16186:15;16220:4;16217:1;16210:15;16593:289;16724:3;16762:6;16756:13;16778:66;16837:6;16832:3;16825:4;16817:6;16813:17;16778:66;:::i;:::-;16860:16;;;;;16593:289;-1:-1:-1;;16593:289:151:o;16887:262::-;16957:6;17010:2;16998:9;16989:7;16985:23;16981:32;16978:52;;;17026:1;17023;17016:12;16978:52;17058:9;17052:16;17077:42;17113:5;17077:42;:::i;17154:340::-;-1:-1:-1;;;;;17335:6:151;17331:55;17320:9;17313:74;17423:2;17418;17407:9;17403:18;17396:30;17294:4;17443:45;17484:2;17473:9;17469:18;17461:6;17443:45;:::i","linkReferences":{}},"methodIdentifiers":{"DECIMALS()":"2e0f2625","NATIVE()":"a0cf0aea","PERCENTAGE_SCALE()":"3f26479e","_calculateConviction(uint256,uint256,uint256,uint256)":"e99ce911","allo_owner()":"7cbe79ed","allo_treasury()":"da4bf087","createPool(address,address,address,address,address,uint8,uint8)":"d8c12dc2","createPool(address,address,address,address,address,uint8,uint8,(uint256))":"ed62303a","getParams(address,uint8,uint8,(uint256))":"770b2e66","local()":"0f166ad4","metadata()":"392f37e9","no_recipient()":"759c9a86","nullProfile_member1()":"829e423f","nullProfile_member2()":"8c7408c4","nullProfile_members()":"4bf4ba21","nullProfile_notAMember()":"174eedde","nullProfile_owner()":"74d9284e","poolProfile_id1(address,address,address[])":"37d1c404","pool_admin()":"8e0d1a50","pool_manager1()":"00b1fad7","pool_manager2()":"6a38dd0a","pool_managers()":"79e62d0d","pool_notAManager()":"d1e82b58","profile1_member1()":"1e7bcb2e","profile1_member2()":"7b2edf32","profile1_members()":"70a32944","profile1_notAMember()":"030e4006","profile1_owner()":"d1f2cd88","profile2_member1()":"587c1243","profile2_member2()":"8e3c2493","profile2_members()":"a407c67a","profile2_notAMember()":"ef0d790f","profile2_owner()":"1b96dce6","randomAddress()":"d5bee9f5","recipient()":"66d003ac","recipient1()":"aa3744bd","recipient2()":"0688b135","recipientAddress()":"5aff5999","registry_owner()":"dac4eb16"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"DECIMALS\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"NATIVE\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"PERCENTAGE_SCALE\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_timePassed\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_lastConv\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_oldAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decay\",\"type\":\"uint256\"}],\"name\":\"_calculateConviction\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"allo_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"allo_treasury\",\"outputs\":[{\"internalType\":\"address payable\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract Allo\",\"name\":\"allo\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"strategy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"registryCommunity\",\"type\":\"address\"},{\"internalType\":\"contract IRegistry\",\"name\":\"registry\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"enum StrategyStruct.ProposalType\",\"name\":\"proposalType\",\"type\":\"uint8\"},{\"internalType\":\"enum StrategyStruct.PointSystem\",\"name\":\"pointSystem\",\"type\":\"uint8\"}],\"name\":\"createPool\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract Allo\",\"name\":\"allo\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"strategy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"registryCommunity\",\"type\":\"address\"},{\"internalType\":\"contract IRegistry\",\"name\":\"registry\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"enum StrategyStruct.ProposalType\",\"name\":\"proposalType\",\"type\":\"uint8\"},{\"internalType\":\"enum StrategyStruct.PointSystem\",\"name\":\"pointSystem\",\"type\":\"uint8\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"maxAmount\",\"type\":\"uint256\"}],\"internalType\":\"struct StrategyStruct.PointSystemConfig\",\"name\":\"pointConfig\",\"type\":\"tuple\"}],\"name\":\"createPool\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"registryCommunity\",\"type\":\"address\"},{\"internalType\":\"enum StrategyStruct.ProposalType\",\"name\":\"proposalType\",\"type\":\"uint8\"},{\"internalType\":\"enum StrategyStruct.PointSystem\",\"name\":\"pointSystem\",\"type\":\"uint8\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"maxAmount\",\"type\":\"uint256\"}],\"internalType\":\"struct StrategyStruct.PointSystemConfig\",\"name\":\"pointConfig\",\"type\":\"tuple\"}],\"name\":\"getParams\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"registryCommunity\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"decay\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxRatio\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"weight\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"minThresholdPoints\",\"type\":\"uint256\"},{\"internalType\":\"enum StrategyStruct.ProposalType\",\"name\":\"proposalType\",\"type\":\"uint8\"},{\"internalType\":\"enum StrategyStruct.PointSystem\",\"name\":\"pointSystem\",\"type\":\"uint8\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"maxAmount\",\"type\":\"uint256\"}],\"internalType\":\"struct StrategyStruct.PointSystemConfig\",\"name\":\"pointConfig\",\"type\":\"tuple\"},{\"internalType\":\"address\",\"name\":\"sybilScorer\",\"type\":\"address\"}],\"internalType\":\"struct StrategyStruct.InitializeParams\",\"name\":\"params\",\"type\":\"tuple\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"local\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"metadata\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"no_recipient\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_member1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_member2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_members\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_notAMember\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IRegistry\",\"name\":\"registry\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"pool_admin\",\"type\":\"address\"},{\"internalType\":\"address[]\",\"name\":\"pool_managers\",\"type\":\"address[]\"}],\"name\":\"poolProfile_id1\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_admin\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_manager1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_manager2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_managers\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_notAManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_member1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_member2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_members\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_notAMember\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_member1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_member2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_members\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_notAMember\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"randomAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"recipient\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"recipient1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"recipient2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"recipientAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"registry_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"NATIVE()\":{\"notice\":\"Address of the native token\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"pkg/contracts/test/CVStrategyHelpers.sol\":\"CVStrategyHelpers\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1000},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":eas-proxy/=lib/allo-v2/lib/eas-proxy/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":hedgey-vesting/=lib/allo-v2/lib/hedgey-vesting/contracts/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-contracts/=lib/safe-contracts/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":superfluid-protocol-monorepo/=lib/allo-v2/lib/superfluid-protocol-monorepo/packages/solidity-semantic-money/src/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"]},\"sources\":{\"lib/allo-v2/contracts/core/Allo.sol\":{\"keccak256\":\"0x6eadd7d37d010ad736e5b9fd25bd2083e430757d72b5873357cd7ee41d7fc21a\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://add326fecd1aac73bf91e634a9b11ab9a19b99a73616e44d5c79261bfbfb3a7c\",\"dweb:/ipfs/QmTF7WYUpSTF6EPWtB6CW9BPJAjWeZDtNjWGME4VHrarZd\"]},\"lib/allo-v2/contracts/core/interfaces/IAllo.sol\":{\"keccak256\":\"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7\",\"dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1\"]},\"lib/allo-v2/contracts/core/interfaces/IRegistry.sol\":{\"keccak256\":\"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e\",\"dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA\"]},\"lib/allo-v2/contracts/core/interfaces/IStrategy.sol\":{\"keccak256\":\"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487\",\"dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH\"]},\"lib/allo-v2/contracts/core/libraries/Clone.sol\":{\"keccak256\":\"0xc348b24b7d8a98c4faa5f2aa37ce9264a74f81dbdef1a9bae2eaa125585c3c7e\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://1335b3ec59ec7e3d12ea7c90b3aa56f4c26e0d44d342f54412933be9d4f16067\",\"dweb:/ipfs/QmXNFo2wCyq9cpvfgbdHvBUQecThFSEoUnMuZNS6WinDrr\"]},\"lib/allo-v2/contracts/core/libraries/Errors.sol\":{\"keccak256\":\"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf\",\"dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA\"]},\"lib/allo-v2/contracts/core/libraries/Metadata.sol\":{\"keccak256\":\"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c\",\"dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn\"]},\"lib/allo-v2/contracts/core/libraries/Native.sol\":{\"keccak256\":\"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a\",\"dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv\"]},\"lib/allo-v2/contracts/core/libraries/Transfer.sol\":{\"keccak256\":\"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11\",\"dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5\"]},\"lib/allo-v2/contracts/strategies/BaseStrategy.sol\":{\"keccak256\":\"0x3f1382dc6c35d50545e327e7ed6016f2bd752357d446bd698014073f0b812873\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://99500abcd617fa43f6dde49e2c7802821ceaf54a65a8055cbbf2695ecd107974\",\"dweb:/ipfs/QmUktZkWuu3GCMEijY1fqt7NMy7BzpTvEtcmpB1fuoa7zt\"]},\"lib/allo-v2/lib/solady/src/auth/Ownable.sol\":{\"keccak256\":\"0xd916b6ca098f26e08eff367c6fc1853956839d8d1c9d2df715784b6dec99889b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a9d8137ec1f5fb4210fbebeafa002f5b9cab28579445bd8281c56862e63aa30\",\"dweb:/ipfs/QmPLBcT1JkBKa4jK6qNficwZx2uGG4MetPNErJArdX6G61\"]},\"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol\":{\"keccak256\":\"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298\",\"dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt\"]},\"lib/allo-v2/test/foundry/shared/Accounts.sol\":{\"keccak256\":\"0x47c754ab744c6c9894aaff23cfbbe44bc30879a53fbbe8d36b1fee26137f2e3a\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://8e457b7adaf1ea79cc707e8a3e2989855f51ff98ebc1947b3239d7d410d5a07b\",\"dweb:/ipfs/QmSXASZ4u435D29T4UzKuh6kd8vLSrbSSgZzjnnhfwyv1m\"]},\"lib/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0xb72f3519e0bf7d31df5d68557525f4fc55d861c3fb3b0f7793144ef7c94cbeb7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f3456d0f78e6f61203fa7871ba2df0d35925f10db3baee14be623ce2a35b84e2\",\"dweb:/ipfs/QmWE6QQSBvJifHMraisBTrf1x4WCwrDoTPLX8UKajTiApc\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0x651d84d948832f0ef45686417aa68ffb871378fa788a4123dbf37844903c66f3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ff20f5ac9de3dc3ba86b1bf1f2723174e82ce3499ad67cb0ccfa7d28baeee678\",\"dweb:/ipfs/QmRZkUFKz7AmF7yk6o317sk822HHhGVPXZQgX8G4LfYfft\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x51fec240abc6dd23e0ee6de7c65106379aef732cad6c4ae5df6b55db886e7456\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://a47d9c0a9876e7f9e411843b994a741d4ac1a87d8459ffc3c56359de691ddc1a\",\"dweb:/ipfs/QmQiFN9b3Y2azrD1RBfAKEuAG3YeJkMzA2DGzgEE9kMeEK\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]},\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0x954646445d1014c3cd85c7918f5e7adeeca5ee44b68c00bafa237e597a4e35ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://516fa3be52da4763147175bfba4be0aa011fadbb0c1afb01f97265bd4cee7973\",\"dweb:/ipfs/QmdixAyMJefx7qePChgdxcBH5MxhmN7vsqPuPLx3CgrVmF\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0xc8710577334e8d0799ae2b2a731b1924a7bddd64319da9787ddd2dc69bdd1ce5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b83b7afa4d2372da3ba5402fb10860a105c35d79812c60dc61007be2afc17618\",\"dweb:/ipfs/QmYX9xPmbNVSKXrepKiUZiG5oL3SdzFp9a4kqspxX1sEUx\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol\":{\"keccak256\":\"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c\",\"dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol\":{\"keccak256\":\"0x3d98edeb5d5be8410fca707b73dabe7544d1dd11e35b73dd907c473fe43cc3ae\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1a3fa9fc3aec149b8ad0dd8895277ab11e9244e9d2b7adc8404b22de974fc964\",\"dweb:/ipfs/QmRggzxs1WjuvGJSAKb2Nw5r7P3VDMefCWKTbkNPKRkv2j\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e\",\"dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol\":{\"keccak256\":\"0x2025ccf05f6f1f2fd4e078e552836f525a1864e3854ed555047cd732320ab29b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d27f4b23c2dee42394aebaf42bf238285230f472dfd3282a39c3f000ec28214f\",\"dweb:/ipfs/QmQa3DnvccwdWJeWrjgXPnFMTWbzWQWR39hVqC7eEwo2PC\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/IERC20Upgradeable.sol\":{\"keccak256\":\"0x0e1f0f5f62f67a881cd1a9597acbc0a5e4071f3c2c10449a183b922ae7272e3f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c25f742ff154998d19a669e2508c3597b363e123ce9144cd0fcf6521229f401f\",\"dweb:/ipfs/QmQXRuFzStEWqeEPbhQU6cAg9PaSowxJVo4PDKyRod7dco\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b\",\"dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95\",\"dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol\":{\"keccak256\":\"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a\",\"dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0xd90d7723512df65ae417adaf0801042940f0dabd60039ceeaffe34aa5b238da1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1b13befeb3413749292f9fb229de1c7a509a5ce2c8047d9094fc004ca9d3af89\",\"dweb:/ipfs/QmRzJ2hZSwRtMejHUZAYTPRKgZsnfb112Fno9Jf3EiDfwA\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol\":{\"keccak256\":\"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758\",\"dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol\":{\"keccak256\":\"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91\",\"dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol\":{\"keccak256\":\"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4\",\"dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z\"]},\"lib/openzeppelin-contracts/contracts/access/AccessControl.sol\":{\"keccak256\":\"0x0dd6e52cb394d7f5abe5dca2d4908a6be40417914720932de757de34a99ab87f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://dc117ce50ea746cab6b97ed1a1facee17a715ae0cb95d67b943dacbaf15176fb\",\"dweb:/ipfs/QmYRZ2UGNYwsHwfNu7Wjr8L2j1LBZ1mKv6NvbwgterYMXc\"]},\"lib/openzeppelin-contracts/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0x59ce320a585d7e1f163cd70390a0ef2ff9cec832e2aa544293a00692465a7a57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb2c137c343ef0c4c7ce7b18c1d108afdc9d315a04e48307288d2d05adcbde3a\",\"dweb:/ipfs/QmUxhrAQM3MM3FF5j7AtcXLXguWCJBHJ14BRdVtuoQc8Fh\"]},\"lib/openzeppelin-contracts/contracts/access/Ownable.sol\":{\"keccak256\":\"0xba43b97fba0d32eb4254f6a5a297b39a19a247082a02d6e69349e071e2946218\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fc980984badf3984b6303b377711220e067722bbd6a135b24669ff5069ef9f32\",\"dweb:/ipfs/QmPHXMSXj99XjSVM21YsY6aNtLLjLVXDbyN76J5HQYvvrz\"]},\"lib/openzeppelin-contracts/contracts/security/ReentrancyGuard.sol\":{\"keccak256\":\"0xa535a5df777d44e945dd24aa43a11e44b024140fc340ad0dfe42acf4002aade1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://41319e7f621f2dc3733511332c4fd032f8e32ad2aa7fd6f665c19741d9941a34\",\"dweb:/ipfs/QmcYR3bd862GD1Bc7jwrU9bGxrhUu5na1oP964bDCu2id1\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15\",\"dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5\",\"dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd\",\"dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol\":{\"keccak256\":\"0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a\",\"dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0x909d608c2db6eb165ca178c81289a07ed2e118e444d0025b2a85c97d0b44a4fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://656cda26512ddd7373c2d5551c8fae759fc30f05b10f0fc2e738e9274199dbd4\",\"dweb:/ipfs/QmTSArSzQRFbQmHgq7U1PZXnsDFhvDZhKVu9CzMG4yo6Lx\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"lib/openzeppelin-contracts/contracts/utils/Strings.sol\":{\"keccak256\":\"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f\",\"dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol\":{\"keccak256\":\"0x5a08ad61f4e82b8a3323562661a86fb10b10190848073fdc13d4ac43710ffba5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6f7bb74cf88fd88daa34e118bc6e363381d05044f34f391d39a10c0c9dac3ebd\",\"dweb:/ipfs/QmNbQ3v8v4zuDtg7VeLAbdhAm3tCzUodNoDZZ8ekmCHWZX\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]},\"pkg/contracts/src/CVStrategy.sol\":{\"keccak256\":\"0x132bcf17470960e380d841159d9389985d609aaae1c9a657c78902f7871da957\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://84e905bf392579b44f33fff8586431b940e110b2210854cf487321cc92061705\",\"dweb:/ipfs/QmQpvszYu8RbrXmUFLifSodQzV8LAqazk1fzXNARGc5sBT\"]},\"pkg/contracts/src/ISybilScorer.sol\":{\"keccak256\":\"0x0e25fbb8497ac3c969d80c9032362d45e56c0a45dc9ba3dff6a8a704571f38ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0dff90ebae6e7131a5300fcaf525bc2ab0ae90fcd13f277d7b7b6939eeb8b7eb\",\"dweb:/ipfs/QmYGkYqpUVrBWoNY6f3CtwrrVQFWSvnJfpu68t95f6AkBY\"]},\"pkg/contracts/src/RegistryCommunity.sol\":{\"keccak256\":\"0xc735f4d2635149f2db9bff291da56e08c3c312d9eb1b767b8a1e3e51584d5734\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://247b33b78abface6a7e2da38174386de9b543f6a27e8340e26d854bff57184a3\",\"dweb:/ipfs/QmedNdqkqeboGzz9w868uGf7KnXUaYZe6i1YcdUPPkJnnf\"]},\"pkg/contracts/src/RegistryFactory.sol\":{\"keccak256\":\"0x888b7f5eb1079f90ccfa0b41d8a970bffd8d4d469f9b31917a58279b358dbda5\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://af25fd783de00adf01d1c7caa572801fed0d474306a43b862535b08e65ec10c6\",\"dweb:/ipfs/Qmeb2nEaMQLV86y1CYAAV2c6BYpBDTbpLuC1SigeNjdqLo\"]},\"pkg/contracts/src/interfaces/ISafe.sol\":{\"keccak256\":\"0x878a210809bb684c42157a10f3f90350a67d0a4863f130499942b06f0f2c9143\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://fa2d71bd427c3415e98a2ee15ff673f3cc61c17f14d7087c5eedc83b55f6b0ef\",\"dweb:/ipfs/QmesVSmJQQzi6ys1cvhQFCJyDXchb736mT5bXks4Yp6Cbj\"]},\"pkg/contracts/test/CVStrategyHelpers.sol\":{\"keccak256\":\"0xcae356371a1370cd43bbabbe3f711ec3e83948d3703695699032edf9a44caaf0\",\"license\":\"AGPL-3.0-or-later\",\"urls\":[\"bzz-raw://bc97e105625a34e4599d606d8fc63b8a9774d2faccd19ca64ffaa5373788f7a3\",\"dweb:/ipfs/QmVwkhJA3qdd5nJ4dj2jBvik8eWtFkczfuajyskRqTsM8Z\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[],"stateMutability":"view","type":"function","name":"DECIMALS","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"NATIVE","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"PERCENTAGE_SCALE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"_timePassed","type":"uint256"},{"internalType":"uint256","name":"_lastConv","type":"uint256"},{"internalType":"uint256","name":"_oldAmount","type":"uint256"},{"internalType":"uint256","name":"decay","type":"uint256"}],"stateMutability":"pure","type":"function","name":"_calculateConviction","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"allo_owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"allo_treasury","outputs":[{"internalType":"address payable","name":"","type":"address"}]},{"inputs":[{"internalType":"contract Allo","name":"allo","type":"address"},{"internalType":"address","name":"strategy","type":"address"},{"internalType":"address","name":"registryCommunity","type":"address"},{"internalType":"contract IRegistry","name":"registry","type":"address"},{"internalType":"address","name":"token","type":"address"},{"internalType":"enum StrategyStruct.ProposalType","name":"proposalType","type":"uint8"},{"internalType":"enum StrategyStruct.PointSystem","name":"pointSystem","type":"uint8"}],"stateMutability":"nonpayable","type":"function","name":"createPool","outputs":[{"internalType":"uint256","name":"poolId","type":"uint256"}]},{"inputs":[{"internalType":"contract Allo","name":"allo","type":"address"},{"internalType":"address","name":"strategy","type":"address"},{"internalType":"address","name":"registryCommunity","type":"address"},{"internalType":"contract IRegistry","name":"registry","type":"address"},{"internalType":"address","name":"token","type":"address"},{"internalType":"enum StrategyStruct.ProposalType","name":"proposalType","type":"uint8"},{"internalType":"enum StrategyStruct.PointSystem","name":"pointSystem","type":"uint8"},{"internalType":"struct StrategyStruct.PointSystemConfig","name":"pointConfig","type":"tuple","components":[{"internalType":"uint256","name":"maxAmount","type":"uint256"}]}],"stateMutability":"nonpayable","type":"function","name":"createPool","outputs":[{"internalType":"uint256","name":"poolId","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"registryCommunity","type":"address"},{"internalType":"enum StrategyStruct.ProposalType","name":"proposalType","type":"uint8"},{"internalType":"enum StrategyStruct.PointSystem","name":"pointSystem","type":"uint8"},{"internalType":"struct StrategyStruct.PointSystemConfig","name":"pointConfig","type":"tuple","components":[{"internalType":"uint256","name":"maxAmount","type":"uint256"}]}],"stateMutability":"pure","type":"function","name":"getParams","outputs":[{"internalType":"struct StrategyStruct.InitializeParams","name":"params","type":"tuple","components":[{"internalType":"address","name":"registryCommunity","type":"address"},{"internalType":"uint256","name":"decay","type":"uint256"},{"internalType":"uint256","name":"maxRatio","type":"uint256"},{"internalType":"uint256","name":"weight","type":"uint256"},{"internalType":"uint256","name":"minThresholdPoints","type":"uint256"},{"internalType":"enum StrategyStruct.ProposalType","name":"proposalType","type":"uint8"},{"internalType":"enum StrategyStruct.PointSystem","name":"pointSystem","type":"uint8"},{"internalType":"struct StrategyStruct.PointSystemConfig","name":"pointConfig","type":"tuple","components":[{"internalType":"uint256","name":"maxAmount","type":"uint256"}]},{"internalType":"address","name":"sybilScorer","type":"address"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"local","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"metadata","outputs":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"no_recipient","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"nullProfile_member1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"nullProfile_member2","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"nullProfile_members","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"nullProfile_notAMember","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"nullProfile_owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"contract IRegistry","name":"registry","type":"address"},{"internalType":"address","name":"pool_admin","type":"address"},{"internalType":"address[]","name":"pool_managers","type":"address[]"}],"stateMutability":"nonpayable","type":"function","name":"poolProfile_id1","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pool_admin","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pool_manager1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pool_manager2","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pool_managers","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pool_notAManager","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile1_member1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile1_member2","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile1_members","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile1_notAMember","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile1_owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile2_member1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile2_member2","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile2_members","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile2_notAMember","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile2_owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"randomAddress","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"recipient","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"recipient1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"recipient2","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"recipientAddress","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"registry_owner","outputs":[{"internalType":"address","name":"","type":"address"}]}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{"NATIVE()":{"notice":"Address of the native token"}},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","eas-proxy/=lib/allo-v2/lib/eas-proxy/contracts/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","hedgey-vesting/=lib/allo-v2/lib/hedgey-vesting/contracts/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-contracts/=lib/safe-contracts/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","superfluid-protocol-monorepo/=lib/allo-v2/lib/superfluid-protocol-monorepo/packages/solidity-semantic-money/src/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":1000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"pkg/contracts/test/CVStrategyHelpers.sol":"CVStrategyHelpers"},"evmVersion":"paris","libraries":{}},"sources":{"lib/allo-v2/contracts/core/Allo.sol":{"keccak256":"0x6eadd7d37d010ad736e5b9fd25bd2083e430757d72b5873357cd7ee41d7fc21a","urls":["bzz-raw://add326fecd1aac73bf91e634a9b11ab9a19b99a73616e44d5c79261bfbfb3a7c","dweb:/ipfs/QmTF7WYUpSTF6EPWtB6CW9BPJAjWeZDtNjWGME4VHrarZd"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/interfaces/IAllo.sol":{"keccak256":"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce","urls":["bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7","dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/interfaces/IRegistry.sol":{"keccak256":"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f","urls":["bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e","dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA"],"license":"MIT"},"lib/allo-v2/contracts/core/interfaces/IStrategy.sol":{"keccak256":"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23","urls":["bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487","dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Clone.sol":{"keccak256":"0xc348b24b7d8a98c4faa5f2aa37ce9264a74f81dbdef1a9bae2eaa125585c3c7e","urls":["bzz-raw://1335b3ec59ec7e3d12ea7c90b3aa56f4c26e0d44d342f54412933be9d4f16067","dweb:/ipfs/QmXNFo2wCyq9cpvfgbdHvBUQecThFSEoUnMuZNS6WinDrr"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Errors.sol":{"keccak256":"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15","urls":["bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf","dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Metadata.sol":{"keccak256":"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44","urls":["bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c","dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Native.sol":{"keccak256":"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5","urls":["bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a","dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Transfer.sol":{"keccak256":"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286","urls":["bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11","dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/strategies/BaseStrategy.sol":{"keccak256":"0x3f1382dc6c35d50545e327e7ed6016f2bd752357d446bd698014073f0b812873","urls":["bzz-raw://99500abcd617fa43f6dde49e2c7802821ceaf54a65a8055cbbf2695ecd107974","dweb:/ipfs/QmUktZkWuu3GCMEijY1fqt7NMy7BzpTvEtcmpB1fuoa7zt"],"license":"AGPL-3.0-only"},"lib/allo-v2/lib/solady/src/auth/Ownable.sol":{"keccak256":"0xd916b6ca098f26e08eff367c6fc1853956839d8d1c9d2df715784b6dec99889b","urls":["bzz-raw://7a9d8137ec1f5fb4210fbebeafa002f5b9cab28579445bd8281c56862e63aa30","dweb:/ipfs/QmPLBcT1JkBKa4jK6qNficwZx2uGG4MetPNErJArdX6G61"],"license":"MIT"},"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol":{"keccak256":"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624","urls":["bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298","dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt"],"license":"MIT"},"lib/allo-v2/test/foundry/shared/Accounts.sol":{"keccak256":"0x47c754ab744c6c9894aaff23cfbbe44bc30879a53fbbe8d36b1fee26137f2e3a","urls":["bzz-raw://8e457b7adaf1ea79cc707e8a3e2989855f51ff98ebc1947b3239d7d410d5a07b","dweb:/ipfs/QmSXASZ4u435D29T4UzKuh6kd8vLSrbSSgZzjnnhfwyv1m"],"license":"AGPL-3.0-only"},"lib/forge-std/src/StdCheats.sol":{"keccak256":"0xb72f3519e0bf7d31df5d68557525f4fc55d861c3fb3b0f7793144ef7c94cbeb7","urls":["bzz-raw://f3456d0f78e6f61203fa7871ba2df0d35925f10db3baee14be623ce2a35b84e2","dweb:/ipfs/QmWE6QQSBvJifHMraisBTrf1x4WCwrDoTPLX8UKajTiApc"],"license":"MIT"},"lib/forge-std/src/StdStorage.sol":{"keccak256":"0x651d84d948832f0ef45686417aa68ffb871378fa788a4123dbf37844903c66f3","urls":["bzz-raw://ff20f5ac9de3dc3ba86b1bf1f2723174e82ce3499ad67cb0ccfa7d28baeee678","dweb:/ipfs/QmRZkUFKz7AmF7yk6o317sk822HHhGVPXZQgX8G4LfYfft"],"license":"MIT"},"lib/forge-std/src/Vm.sol":{"keccak256":"0x51fec240abc6dd23e0ee6de7c65106379aef732cad6c4ae5df6b55db886e7456","urls":["bzz-raw://a47d9c0a9876e7f9e411843b994a741d4ac1a87d8459ffc3c56359de691ddc1a","dweb:/ipfs/QmQiFN9b3Y2azrD1RBfAKEuAG3YeJkMzA2DGzgEE9kMeEK"],"license":"MIT OR Apache-2.0"},"lib/forge-std/src/console.sol":{"keccak256":"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba","urls":["bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70","dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec"],"license":"MIT"},"lib/forge-std/src/console2.sol":{"keccak256":"0x954646445d1014c3cd85c7918f5e7adeeca5ee44b68c00bafa237e597a4e35ea","urls":["bzz-raw://516fa3be52da4763147175bfba4be0aa011fadbb0c1afb01f97265bd4cee7973","dweb:/ipfs/QmdixAyMJefx7qePChgdxcBH5MxhmN7vsqPuPLx3CgrVmF"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol":{"keccak256":"0xc8710577334e8d0799ae2b2a731b1924a7bddd64319da9787ddd2dc69bdd1ce5","urls":["bzz-raw://b83b7afa4d2372da3ba5402fb10860a105c35d79812c60dc61007be2afc17618","dweb:/ipfs/QmYX9xPmbNVSKXrepKiUZiG5oL3SdzFp9a4kqspxX1sEUx"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol":{"keccak256":"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa","urls":["bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c","dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol":{"keccak256":"0x3d98edeb5d5be8410fca707b73dabe7544d1dd11e35b73dd907c473fe43cc3ae","urls":["bzz-raw://1a3fa9fc3aec149b8ad0dd8895277ab11e9244e9d2b7adc8404b22de974fc964","dweb:/ipfs/QmRggzxs1WjuvGJSAKb2Nw5r7P3VDMefCWKTbkNPKRkv2j"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794","urls":["bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e","dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol":{"keccak256":"0x2025ccf05f6f1f2fd4e078e552836f525a1864e3854ed555047cd732320ab29b","urls":["bzz-raw://d27f4b23c2dee42394aebaf42bf238285230f472dfd3282a39c3f000ec28214f","dweb:/ipfs/QmQa3DnvccwdWJeWrjgXPnFMTWbzWQWR39hVqC7eEwo2PC"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/IERC20Upgradeable.sol":{"keccak256":"0x0e1f0f5f62f67a881cd1a9597acbc0a5e4071f3c2c10449a183b922ae7272e3f","urls":["bzz-raw://c25f742ff154998d19a669e2508c3597b363e123ce9144cd0fcf6521229f401f","dweb:/ipfs/QmQXRuFzStEWqeEPbhQU6cAg9PaSowxJVo4PDKyRod7dco"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol":{"keccak256":"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422","urls":["bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b","dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef","urls":["bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95","dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol":{"keccak256":"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb","urls":["bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a","dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol":{"keccak256":"0xd90d7723512df65ae417adaf0801042940f0dabd60039ceeaffe34aa5b238da1","urls":["bzz-raw://1b13befeb3413749292f9fb229de1c7a509a5ce2c8047d9094fc004ca9d3af89","dweb:/ipfs/QmRzJ2hZSwRtMejHUZAYTPRKgZsnfb112Fno9Jf3EiDfwA"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol":{"keccak256":"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09","urls":["bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758","dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol":{"keccak256":"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e","urls":["bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91","dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol":{"keccak256":"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a","urls":["bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4","dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/access/AccessControl.sol":{"keccak256":"0x0dd6e52cb394d7f5abe5dca2d4908a6be40417914720932de757de34a99ab87f","urls":["bzz-raw://dc117ce50ea746cab6b97ed1a1facee17a715ae0cb95d67b943dacbaf15176fb","dweb:/ipfs/QmYRZ2UGNYwsHwfNu7Wjr8L2j1LBZ1mKv6NvbwgterYMXc"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/access/IAccessControl.sol":{"keccak256":"0x59ce320a585d7e1f163cd70390a0ef2ff9cec832e2aa544293a00692465a7a57","urls":["bzz-raw://bb2c137c343ef0c4c7ce7b18c1d108afdc9d315a04e48307288d2d05adcbde3a","dweb:/ipfs/QmUxhrAQM3MM3FF5j7AtcXLXguWCJBHJ14BRdVtuoQc8Fh"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/access/Ownable.sol":{"keccak256":"0xba43b97fba0d32eb4254f6a5a297b39a19a247082a02d6e69349e071e2946218","urls":["bzz-raw://fc980984badf3984b6303b377711220e067722bbd6a135b24669ff5069ef9f32","dweb:/ipfs/QmPHXMSXj99XjSVM21YsY6aNtLLjLVXDbyN76J5HQYvvrz"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/security/ReentrancyGuard.sol":{"keccak256":"0xa535a5df777d44e945dd24aa43a11e44b024140fc340ad0dfe42acf4002aade1","urls":["bzz-raw://41319e7f621f2dc3733511332c4fd032f8e32ad2aa7fd6f665c19741d9941a34","dweb:/ipfs/QmcYR3bd862GD1Bc7jwrU9bGxrhUu5na1oP964bDCu2id1"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol":{"keccak256":"0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c","urls":["bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15","dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305","urls":["bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5","dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol":{"keccak256":"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca","urls":["bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd","dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol":{"keccak256":"0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a","urls":["bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a","dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol":{"keccak256":"0x909d608c2db6eb165ca178c81289a07ed2e118e444d0025b2a85c97d0b44a4fa","urls":["bzz-raw://656cda26512ddd7373c2d5551c8fae759fc30f05b10f0fc2e738e9274199dbd4","dweb:/ipfs/QmTSArSzQRFbQmHgq7U1PZXnsDFhvDZhKVu9CzMG4yo6Lx"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Address.sol":{"keccak256":"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa","urls":["bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931","dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Context.sol":{"keccak256":"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7","urls":["bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92","dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Strings.sol":{"keccak256":"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0","urls":["bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f","dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol":{"keccak256":"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b","urls":["bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d","dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol":{"keccak256":"0x5a08ad61f4e82b8a3323562661a86fb10b10190848073fdc13d4ac43710ffba5","urls":["bzz-raw://6f7bb74cf88fd88daa34e118bc6e363381d05044f34f391d39a10c0c9dac3ebd","dweb:/ipfs/QmNbQ3v8v4zuDtg7VeLAbdhAm3tCzUodNoDZZ8ekmCHWZX"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/Math.sol":{"keccak256":"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3","urls":["bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c","dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol":{"keccak256":"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc","urls":["bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7","dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6"],"license":"MIT"},"pkg/contracts/src/CVStrategy.sol":{"keccak256":"0x132bcf17470960e380d841159d9389985d609aaae1c9a657c78902f7871da957","urls":["bzz-raw://84e905bf392579b44f33fff8586431b940e110b2210854cf487321cc92061705","dweb:/ipfs/QmQpvszYu8RbrXmUFLifSodQzV8LAqazk1fzXNARGc5sBT"],"license":"AGPL-3.0-only"},"pkg/contracts/src/ISybilScorer.sol":{"keccak256":"0x0e25fbb8497ac3c969d80c9032362d45e56c0a45dc9ba3dff6a8a704571f38ea","urls":["bzz-raw://0dff90ebae6e7131a5300fcaf525bc2ab0ae90fcd13f277d7b7b6939eeb8b7eb","dweb:/ipfs/QmYGkYqpUVrBWoNY6f3CtwrrVQFWSvnJfpu68t95f6AkBY"],"license":"MIT"},"pkg/contracts/src/RegistryCommunity.sol":{"keccak256":"0xc735f4d2635149f2db9bff291da56e08c3c312d9eb1b767b8a1e3e51584d5734","urls":["bzz-raw://247b33b78abface6a7e2da38174386de9b543f6a27e8340e26d854bff57184a3","dweb:/ipfs/QmedNdqkqeboGzz9w868uGf7KnXUaYZe6i1YcdUPPkJnnf"],"license":"AGPL-3.0-only"},"pkg/contracts/src/RegistryFactory.sol":{"keccak256":"0x888b7f5eb1079f90ccfa0b41d8a970bffd8d4d469f9b31917a58279b358dbda5","urls":["bzz-raw://af25fd783de00adf01d1c7caa572801fed0d474306a43b862535b08e65ec10c6","dweb:/ipfs/Qmeb2nEaMQLV86y1CYAAV2c6BYpBDTbpLuC1SigeNjdqLo"],"license":"AGPL-3.0-only"},"pkg/contracts/src/interfaces/ISafe.sol":{"keccak256":"0x878a210809bb684c42157a10f3f90350a67d0a4863f130499942b06f0f2c9143","urls":["bzz-raw://fa2d71bd427c3415e98a2ee15ff673f3cc61c17f14d7087c5eedc83b55f6b0ef","dweb:/ipfs/QmesVSmJQQzi6ys1cvhQFCJyDXchb736mT5bXks4Yp6Cbj"],"license":"LGPL-3.0-only"},"pkg/contracts/test/CVStrategyHelpers.sol":{"keccak256":"0xcae356371a1370cd43bbabbe3f711ec3e83948d3703695699032edf9a44caaf0","urls":["bzz-raw://bc97e105625a34e4599d606d8fc63b8a9774d2faccd19ca64ffaa5373788f7a3","dweb:/ipfs/QmVwkhJA3qdd5nJ4dj2jBvik8eWtFkczfuajyskRqTsM8Z"],"license":"AGPL-3.0-or-later"}},"version":1},"storageLayout":{"storage":[{"astId":9317,"contract":"pkg/contracts/test/CVStrategyHelpers.sol:CVStrategyHelpers","label":"gasMeteringOff","offset":0,"slot":"0","type":"t_bool"},{"astId":11354,"contract":"pkg/contracts/test/CVStrategyHelpers.sol:CVStrategyHelpers","label":"stdstore","offset":0,"slot":"1","type":"t_struct(StdStorage)13235_storage"},{"astId":88572,"contract":"pkg/contracts/test/CVStrategyHelpers.sol:CVStrategyHelpers","label":"metadata","offset":0,"slot":"9","type":"t_struct(Metadata)3098_storage"},{"astId":88584,"contract":"pkg/contracts/test/CVStrategyHelpers.sol:CVStrategyHelpers","label":"_poolProfileId1_","offset":0,"slot":"11","type":"t_bytes32"}],"types":{"t_address":{"encoding":"inplace","label":"address","numberOfBytes":"20"},"t_array(t_bytes32)dyn_storage":{"encoding":"dynamic_array","label":"bytes32[]","numberOfBytes":"32","base":"t_bytes32"},"t_bool":{"encoding":"inplace","label":"bool","numberOfBytes":"1"},"t_bytes32":{"encoding":"inplace","label":"bytes32","numberOfBytes":"32"},"t_bytes4":{"encoding":"inplace","label":"bytes4","numberOfBytes":"4"},"t_bytes_storage":{"encoding":"bytes","label":"bytes","numberOfBytes":"32"},"t_mapping(t_address,t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)13210_storage)))":{"encoding":"mapping","key":"t_address","label":"mapping(address => mapping(bytes4 => mapping(bytes32 => struct FindData)))","numberOfBytes":"32","value":"t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)13210_storage))"},"t_mapping(t_bytes32,t_struct(FindData)13210_storage)":{"encoding":"mapping","key":"t_bytes32","label":"mapping(bytes32 => struct FindData)","numberOfBytes":"32","value":"t_struct(FindData)13210_storage"},"t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)13210_storage))":{"encoding":"mapping","key":"t_bytes4","label":"mapping(bytes4 => mapping(bytes32 => struct FindData))","numberOfBytes":"32","value":"t_mapping(t_bytes32,t_struct(FindData)13210_storage)"},"t_string_storage":{"encoding":"bytes","label":"string","numberOfBytes":"32"},"t_struct(FindData)13210_storage":{"encoding":"inplace","label":"struct FindData","numberOfBytes":"128","members":[{"astId":13203,"contract":"pkg/contracts/test/CVStrategyHelpers.sol:CVStrategyHelpers","label":"slot","offset":0,"slot":"0","type":"t_uint256"},{"astId":13205,"contract":"pkg/contracts/test/CVStrategyHelpers.sol:CVStrategyHelpers","label":"offsetLeft","offset":0,"slot":"1","type":"t_uint256"},{"astId":13207,"contract":"pkg/contracts/test/CVStrategyHelpers.sol:CVStrategyHelpers","label":"offsetRight","offset":0,"slot":"2","type":"t_uint256"},{"astId":13209,"contract":"pkg/contracts/test/CVStrategyHelpers.sol:CVStrategyHelpers","label":"found","offset":0,"slot":"3","type":"t_bool"}]},"t_struct(Metadata)3098_storage":{"encoding":"inplace","label":"struct Metadata","numberOfBytes":"64","members":[{"astId":3094,"contract":"pkg/contracts/test/CVStrategyHelpers.sol:CVStrategyHelpers","label":"protocol","offset":0,"slot":"0","type":"t_uint256"},{"astId":3097,"contract":"pkg/contracts/test/CVStrategyHelpers.sol:CVStrategyHelpers","label":"pointer","offset":0,"slot":"1","type":"t_string_storage"}]},"t_struct(StdStorage)13235_storage":{"encoding":"inplace","label":"struct StdStorage","numberOfBytes":"256","members":[{"astId":13219,"contract":"pkg/contracts/test/CVStrategyHelpers.sol:CVStrategyHelpers","label":"finds","offset":0,"slot":"0","type":"t_mapping(t_address,t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)13210_storage)))"},{"astId":13222,"contract":"pkg/contracts/test/CVStrategyHelpers.sol:CVStrategyHelpers","label":"_keys","offset":0,"slot":"1","type":"t_array(t_bytes32)dyn_storage"},{"astId":13224,"contract":"pkg/contracts/test/CVStrategyHelpers.sol:CVStrategyHelpers","label":"_sig","offset":0,"slot":"2","type":"t_bytes4"},{"astId":13226,"contract":"pkg/contracts/test/CVStrategyHelpers.sol:CVStrategyHelpers","label":"_depth","offset":0,"slot":"3","type":"t_uint256"},{"astId":13228,"contract":"pkg/contracts/test/CVStrategyHelpers.sol:CVStrategyHelpers","label":"_target","offset":0,"slot":"4","type":"t_address"},{"astId":13230,"contract":"pkg/contracts/test/CVStrategyHelpers.sol:CVStrategyHelpers","label":"_set","offset":0,"slot":"5","type":"t_bytes32"},{"astId":13232,"contract":"pkg/contracts/test/CVStrategyHelpers.sol:CVStrategyHelpers","label":"_enable_packed_slots","offset":0,"slot":"6","type":"t_bool"},{"astId":13234,"contract":"pkg/contracts/test/CVStrategyHelpers.sol:CVStrategyHelpers","label":"_calldata","offset":0,"slot":"7","type":"t_bytes_storage"}]},"t_uint256":{"encoding":"inplace","label":"uint256","numberOfBytes":"32"}}},"ast":{"absolutePath":"pkg/contracts/test/CVStrategyHelpers.sol","id":89047,"exportedSymbols":{"Accounts":[5026],"Allo":[1390],"CVStrategy":[77611],"CVStrategyHelpers":[89046],"IRegistry":[2802],"Metadata":[3098],"Native":[3106],"StrategyStruct":[74807],"console":[29549]},"nodeType":"SourceUnit","src":"46:5881:141","nodes":[{"id":88547,"nodeType":"PragmaDirective","src":"46:24:141","nodes":[],"literals":["solidity","^","0.8",".19"]},{"id":88548,"nodeType":"ImportDirective","src":"72:31:141","nodes":[],"absolutePath":"lib/forge-std/src/console.sol","file":"forge-std/console.sol","nameLocation":"-1:-1:-1","scope":89047,"sourceUnit":29550,"symbolAliases":[],"unitAlias":""},{"id":88550,"nodeType":"ImportDirective","src":"104:53:141","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/Allo.sol","file":"allo-v2-contracts/core/Allo.sol","nameLocation":"-1:-1:-1","scope":89047,"sourceUnit":1391,"symbolAliases":[{"foreign":{"id":88549,"name":"Allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1390,"src":"112:4:141","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":88552,"nodeType":"ImportDirective","src":"158:71:141","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/libraries/Metadata.sol","file":"allo-v2-contracts/core/libraries/Metadata.sol","nameLocation":"-1:-1:-1","scope":89047,"sourceUnit":3099,"symbolAliases":[{"foreign":{"id":88551,"name":"Metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3098,"src":"166:8:141","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":88555,"nodeType":"ImportDirective","src":"301:65:141","nodes":[],"absolutePath":"pkg/contracts/src/CVStrategy.sol","file":"../src/CVStrategy.sol","nameLocation":"-1:-1:-1","scope":89047,"sourceUnit":77612,"symbolAliases":[{"foreign":{"id":88553,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77611,"src":"309:10:141","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":88554,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74807,"src":"321:14:141","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":88557,"nodeType":"ImportDirective","src":"367:67:141","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/libraries/Native.sol","file":"allo-v2-contracts/core/libraries/Native.sol","nameLocation":"-1:-1:-1","scope":89047,"sourceUnit":3107,"symbolAliases":[{"foreign":{"id":88556,"name":"Native","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3106,"src":"375:6:141","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":88559,"nodeType":"ImportDirective","src":"435:74:141","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/interfaces/IRegistry.sol","file":"allo-v2-contracts/core/interfaces/IRegistry.sol","nameLocation":"-1:-1:-1","scope":89047,"sourceUnit":2803,"symbolAliases":[{"foreign":{"id":88558,"name":"IRegistry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2802,"src":"443:9:141","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":88561,"nodeType":"ImportDirective","src":"511:66:141","nodes":[],"absolutePath":"lib/allo-v2/test/foundry/shared/Accounts.sol","file":"allo-v2-test/foundry/shared/Accounts.sol","nameLocation":"-1:-1:-1","scope":89047,"sourceUnit":5027,"symbolAliases":[{"foreign":{"id":88560,"name":"Accounts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5026,"src":"519:8:141","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":89046,"nodeType":"ContractDefinition","src":"579:5347:141","nodes":[{"id":88572,"nodeType":"VariableDeclaration","src":"632:109:141","nodes":[],"constant":false,"functionSelector":"392f37e9","mutability":"mutable","name":"metadata","nameLocation":"648:8:141","scope":89046,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage","typeString":"struct Metadata"},"typeName":{"id":88567,"nodeType":"UserDefinedTypeName","pathNode":{"id":88566,"name":"Metadata","nameLocations":["632:8:141"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"632:8:141"},"referencedDeclaration":3098,"src":"632:8:141","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"value":{"arguments":[{"hexValue":"31","id":88569,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"679:1:141","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"hexValue":"516d57347a464c464a524e374a3637457a4e6d64433272324d397532694a44686132666a3547656536684a7a5359","id":88570,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"691:48:141","typeDescriptions":{"typeIdentifier":"t_stringliteral_5132d0078161e899617508f56f10fe912a54664090fbe8853f8693be238f8d30","typeString":"literal_string \"QmW4zFLFJRN7J67EzNmdC2r2M9u2iJDha2fj5Gee6hJzSY\""},"value":"QmW4zFLFJRN7J67EzNmdC2r2M9u2iJDha2fj5Gee6hJzSY"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_stringliteral_5132d0078161e899617508f56f10fe912a54664090fbe8853f8693be238f8d30","typeString":"literal_string \"QmW4zFLFJRN7J67EzNmdC2r2M9u2iJDha2fj5Gee6hJzSY\""}],"id":88568,"name":"Metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3098,"src":"659:8:141","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Metadata_$3098_storage_ptr_$","typeString":"type(struct Metadata storage pointer)"}},"id":88571,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["669:8:141","682:7:141"],"names":["protocol","pointer"],"nodeType":"FunctionCall","src":"659:82:141","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}},"visibility":"public"},{"id":88577,"nodeType":"VariableDeclaration","src":"770:43:141","nodes":[],"constant":true,"functionSelector":"2e0f2625","mutability":"constant","name":"DECIMALS","nameLocation":"794:8:141","scope":89046,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":88573,"name":"uint256","nodeType":"ElementaryTypeName","src":"770:7:141","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"commonType":{"typeIdentifier":"t_rational_1000000000000000000_by_1","typeString":"int_const 1000000000000000000"},"id":88576,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":88574,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"805:2:141","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"3138","id":88575,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"811:2:141","typeDescriptions":{"typeIdentifier":"t_rational_18_by_1","typeString":"int_const 18"},"value":"18"},"src":"805:8:141","typeDescriptions":{"typeIdentifier":"t_rational_1000000000000000000_by_1","typeString":"int_const 1000000000000000000"}},"visibility":"public"},{"id":88582,"nodeType":"VariableDeclaration","src":"819:50:141","nodes":[],"constant":true,"functionSelector":"3f26479e","mutability":"constant","name":"PERCENTAGE_SCALE","nameLocation":"843:16:141","scope":89046,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":88578,"name":"uint256","nodeType":"ElementaryTypeName","src":"819:7:141","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"commonType":{"typeIdentifier":"t_rational_10000_by_1","typeString":"int_const 10000"},"id":88581,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":88579,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"862:2:141","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"34","id":88580,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"868:1:141","typeDescriptions":{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},"value":"4"},"src":"862:7:141","typeDescriptions":{"typeIdentifier":"t_rational_10000_by_1","typeString":"int_const 10000"}},"visibility":"public"},{"id":88584,"nodeType":"VariableDeclaration","src":"876:33:141","nodes":[],"constant":false,"mutability":"mutable","name":"_poolProfileId1_","nameLocation":"893:16:141","scope":89046,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":88583,"name":"bytes32","nodeType":"ElementaryTypeName","src":"876:7:141","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"id":88589,"nodeType":"VariableDeclaration","src":"916:44:141","nodes":[],"constant":true,"mutability":"constant","name":"TWO_127","nameLocation":"942:7:141","scope":89046,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":88585,"name":"uint256","nodeType":"ElementaryTypeName","src":"916:7:141","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"commonType":{"typeIdentifier":"t_rational_170141183460469231731687303715884105728_by_1","typeString":"int_const 1701...(31 digits omitted)...5728"},"id":88588,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"32","id":88586,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"952:1:141","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"313237","id":88587,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"957:3:141","typeDescriptions":{"typeIdentifier":"t_rational_127_by_1","typeString":"int_const 127"},"value":"127"},"src":"952:8:141","typeDescriptions":{"typeIdentifier":"t_rational_170141183460469231731687303715884105728_by_1","typeString":"int_const 1701...(31 digits omitted)...5728"}},"visibility":"internal"},{"id":88594,"nodeType":"VariableDeclaration","src":"966:44:141","nodes":[],"constant":true,"mutability":"constant","name":"TWO_128","nameLocation":"992:7:141","scope":89046,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":88590,"name":"uint256","nodeType":"ElementaryTypeName","src":"966:7:141","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"commonType":{"typeIdentifier":"t_rational_340282366920938463463374607431768211456_by_1","typeString":"int_const 3402...(31 digits omitted)...1456"},"id":88593,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"32","id":88591,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1002:1:141","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"313238","id":88592,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1007:3:141","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"1002:8:141","typeDescriptions":{"typeIdentifier":"t_rational_340282366920938463463374607431768211456_by_1","typeString":"int_const 3402...(31 digits omitted)...1456"}},"visibility":"internal"},{"id":88599,"nodeType":"VariableDeclaration","src":"1016:37:141","nodes":[],"constant":true,"mutability":"constant","name":"D","nameLocation":"1042:1:141","scope":89046,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":88595,"name":"uint256","nodeType":"ElementaryTypeName","src":"1016:7:141","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"commonType":{"typeIdentifier":"t_rational_10000000_by_1","typeString":"int_const 10000000"},"id":88598,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":88596,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1046:2:141","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"37","id":88597,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1052:1:141","typeDescriptions":{"typeIdentifier":"t_rational_7_by_1","typeString":"int_const 7"},"value":"7"},"src":"1046:7:141","typeDescriptions":{"typeIdentifier":"t_rational_10000000_by_1","typeString":"int_const 10000000"}},"visibility":"internal"},{"id":88637,"nodeType":"FunctionDefinition","src":"1164:437:141","nodes":[],"body":{"id":88636,"nodeType":"Block","src":"1322:279:141","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":88617,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":88612,"name":"_poolProfileId1_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88584,"src":"1336:16:141","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":88615,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1364:1:141","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":88614,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1356:7:141","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":88613,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1356:7:141","typeDescriptions":{}}},"id":88616,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1356:10:141","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"1336:30:141","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":88633,"nodeType":"IfStatement","src":"1332:230:141","trueBody":{"id":88632,"nodeType":"Block","src":"1368:194:141","statements":[{"expression":{"id":88630,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":88618,"name":"_poolProfileId1_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88584,"src":"1382:16:141","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"32","id":88621,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1441:1:141","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},{"hexValue":"506f6f6c2050726f66696c652031","id":88622,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1444:16:141","typeDescriptions":{"typeIdentifier":"t_stringliteral_cfdb29660678cfa126d648cb1a4f5ce763c1e1204e820590687579a35d4b28f4","typeString":"literal_string \"Pool Profile 1\""},"value":"Pool Profile 1"},{"arguments":[{"hexValue":"31","id":88624,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1482:1:141","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"hexValue":"506f6f6c50726f66696c6531","id":88625,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1494:14:141","typeDescriptions":{"typeIdentifier":"t_stringliteral_f67171f94b553bc18f3436392ab5b1a6c6075d142911addaba07f9932e807028","typeString":"literal_string \"PoolProfile1\""},"value":"PoolProfile1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_stringliteral_f67171f94b553bc18f3436392ab5b1a6c6075d142911addaba07f9932e807028","typeString":"literal_string \"PoolProfile1\""}],"id":88623,"name":"Metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3098,"src":"1462:8:141","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Metadata_$3098_storage_ptr_$","typeString":"type(struct Metadata storage pointer)"}},"id":88626,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["1472:8:141","1485:7:141"],"names":["protocol","pointer"],"nodeType":"FunctionCall","src":"1462:48:141","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}},{"id":88627,"name":"pool_admin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88604,"src":"1512:10:141","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":88628,"name":"pool_managers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88607,"src":"1524:13:141","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},{"typeIdentifier":"t_stringliteral_cfdb29660678cfa126d648cb1a4f5ce763c1e1204e820590687579a35d4b28f4","typeString":"literal_string \"Pool Profile 1\""},{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}],"expression":{"id":88619,"name":"registry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88602,"src":"1401:8:141","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"}},"id":88620,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1410:13:141","memberName":"createProfile","nodeType":"MemberAccess","referencedDeclaration":2742,"src":"1401:22:141","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_string_memory_ptr_$_t_struct$_Metadata_$3098_memory_ptr_$_t_address_$_t_array$_t_address_$dyn_memory_ptr_$returns$_t_bytes32_$","typeString":"function (uint256,string memory,struct Metadata memory,address,address[] memory) external returns (bytes32)"}},"id":88629,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1401:150:141","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"1382:169:141","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":88631,"nodeType":"ExpressionStatement","src":"1382:169:141"}]}},{"expression":{"id":88634,"name":"_poolProfileId1_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88584,"src":"1578:16:141","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":88611,"id":88635,"nodeType":"Return","src":"1571:23:141"}]},"functionSelector":"37d1c404","implemented":true,"kind":"function","modifiers":[],"name":"poolProfile_id1","nameLocation":"1173:15:141","parameters":{"id":88608,"nodeType":"ParameterList","parameters":[{"constant":false,"id":88602,"mutability":"mutable","name":"registry","nameLocation":"1199:8:141","nodeType":"VariableDeclaration","scope":88637,"src":"1189:18:141","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"},"typeName":{"id":88601,"nodeType":"UserDefinedTypeName","pathNode":{"id":88600,"name":"IRegistry","nameLocations":["1189:9:141"],"nodeType":"IdentifierPath","referencedDeclaration":2802,"src":"1189:9:141"},"referencedDeclaration":2802,"src":"1189:9:141","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"}},"visibility":"internal"},{"constant":false,"id":88604,"mutability":"mutable","name":"pool_admin","nameLocation":"1217:10:141","nodeType":"VariableDeclaration","scope":88637,"src":"1209:18:141","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":88603,"name":"address","nodeType":"ElementaryTypeName","src":"1209:7:141","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":88607,"mutability":"mutable","name":"pool_managers","nameLocation":"1246:13:141","nodeType":"VariableDeclaration","scope":88637,"src":"1229:30:141","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":88605,"name":"address","nodeType":"ElementaryTypeName","src":"1229:7:141","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":88606,"nodeType":"ArrayTypeName","src":"1229:9:141","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"1188:72:141"},"returnParameters":{"id":88611,"nodeType":"ParameterList","parameters":[{"constant":false,"id":88610,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":88637,"src":"1309:7:141","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":88609,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1309:7:141","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"1308:9:141"},"scope":89046,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":88717,"nodeType":"FunctionDefinition","src":"1607:1088:141","nodes":[],"body":{"id":88716,"nodeType":"Block","src":"1894:801:141","nodes":[],"statements":[{"expression":{"id":88660,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":88654,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88652,"src":"1955:6:141","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$74806_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":88656,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"1962:5:141","memberName":"decay","nodeType":"MemberAccess","referencedDeclaration":74788,"src":"1955:12:141","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"302e39393939373939","id":88658,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1984:15:141","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_999979900000000000_by_1","typeString":"int_const 999979900000000000"},"value":"0.9999799"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_999979900000000000_by_1","typeString":"int_const 999979900000000000"}],"id":88657,"name":"_etherToFloat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88891,"src":"1970:13:141","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":88659,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1970:30:141","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1955:45:141","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":88661,"nodeType":"ExpressionStatement","src":"1955:45:141"},{"expression":{"id":88668,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":88662,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88652,"src":"2099:6:141","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$74806_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":88664,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"2106:8:141","memberName":"maxRatio","nodeType":"MemberAccess","referencedDeclaration":74790,"src":"2099:15:141","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"302e32","id":88666,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2131:9:141","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_200000000000000000_by_1","typeString":"int_const 200000000000000000"},"value":"0.2"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_200000000000000000_by_1","typeString":"int_const 200000000000000000"}],"id":88665,"name":"_etherToFloat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88891,"src":"2117:13:141","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":88667,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2117:24:141","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2099:42:141","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":88669,"nodeType":"ExpressionStatement","src":"2099:42:141"},{"expression":{"id":88676,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":88670,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88652,"src":"2170:6:141","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$74806_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":88672,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"2177:6:141","memberName":"weight","nodeType":"MemberAccess","referencedDeclaration":74792,"src":"2170:13:141","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"302e303031","id":88674,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2200:11:141","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_1000000000000000_by_1","typeString":"int_const 1000000000000000"},"value":"0.001"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1000000000000000_by_1","typeString":"int_const 1000000000000000"}],"id":88673,"name":"_etherToFloat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88891,"src":"2186:13:141","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":88675,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2186:26:141","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2170:42:141","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":88677,"nodeType":"ExpressionStatement","src":"2170:42:141"},{"expression":{"id":88682,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":88678,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88652,"src":"2309:6:141","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$74806_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":88680,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"2316:17:141","memberName":"registryCommunity","nodeType":"MemberAccess","referencedDeclaration":74786,"src":"2309:24:141","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":88681,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88639,"src":"2336:17:141","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"2309:44:141","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":88683,"nodeType":"ExpressionStatement","src":"2309:44:141"},{"expression":{"id":88688,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":88684,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88652,"src":"2363:6:141","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$74806_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":88686,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"2370:12:141","memberName":"proposalType","nodeType":"MemberAccess","referencedDeclaration":74797,"src":"2363:19:141","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$74726","typeString":"enum StrategyStruct.ProposalType"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":88687,"name":"proposalType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88642,"src":"2385:12:141","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$74726","typeString":"enum StrategyStruct.ProposalType"}},"src":"2363:34:141","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$74726","typeString":"enum StrategyStruct.ProposalType"}},"id":88689,"nodeType":"ExpressionStatement","src":"2363:34:141"},{"expression":{"id":88694,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":88690,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88652,"src":"2407:6:141","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$74806_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":88692,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"2414:11:141","memberName":"pointSystem","nodeType":"MemberAccess","referencedDeclaration":74800,"src":"2407:18:141","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$74731","typeString":"enum StrategyStruct.PointSystem"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":88693,"name":"pointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88645,"src":"2428:11:141","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$74731","typeString":"enum StrategyStruct.PointSystem"}},"src":"2407:32:141","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$74731","typeString":"enum StrategyStruct.PointSystem"}},"id":88695,"nodeType":"ExpressionStatement","src":"2407:32:141"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":88699,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":88696,"name":"pointConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88648,"src":"2454:11:141","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$74784_memory_ptr","typeString":"struct StrategyStruct.PointSystemConfig memory"}},"id":88697,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2466:9:141","memberName":"maxAmount","nodeType":"MemberAccess","referencedDeclaration":74783,"src":"2454:21:141","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":88698,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2479:1:141","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"2454:26:141","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":88709,"nodeType":"IfStatement","src":"2450:197:141","trueBody":{"id":88708,"nodeType":"Block","src":"2482:165:141","statements":[{"expression":{"id":88706,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":88700,"name":"pointConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88648,"src":"2598:11:141","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$74784_memory_ptr","typeString":"struct StrategyStruct.PointSystemConfig memory"}},"id":88702,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"2610:9:141","memberName":"maxAmount","nodeType":"MemberAccess","referencedDeclaration":74783,"src":"2598:21:141","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":88705,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"323030","id":88703,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2622:3:141","typeDescriptions":{"typeIdentifier":"t_rational_200_by_1","typeString":"int_const 200"},"value":"200"},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":88704,"name":"DECIMALS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88577,"src":"2628:8:141","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2622:14:141","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2598:38:141","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":88707,"nodeType":"ExpressionStatement","src":"2598:38:141"}]}},{"expression":{"id":88714,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":88710,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88652,"src":"2656:6:141","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$74806_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":88712,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"2663:11:141","memberName":"pointConfig","nodeType":"MemberAccess","referencedDeclaration":74803,"src":"2656:18:141","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$74784_memory_ptr","typeString":"struct StrategyStruct.PointSystemConfig memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":88713,"name":"pointConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88648,"src":"2677:11:141","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$74784_memory_ptr","typeString":"struct StrategyStruct.PointSystemConfig memory"}},"src":"2656:32:141","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$74784_memory_ptr","typeString":"struct StrategyStruct.PointSystemConfig memory"}},"id":88715,"nodeType":"ExpressionStatement","src":"2656:32:141"}]},"functionSelector":"770b2e66","implemented":true,"kind":"function","modifiers":[],"name":"getParams","nameLocation":"1616:9:141","parameters":{"id":88649,"nodeType":"ParameterList","parameters":[{"constant":false,"id":88639,"mutability":"mutable","name":"registryCommunity","nameLocation":"1643:17:141","nodeType":"VariableDeclaration","scope":88717,"src":"1635:25:141","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":88638,"name":"address","nodeType":"ElementaryTypeName","src":"1635:7:141","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":88642,"mutability":"mutable","name":"proposalType","nameLocation":"1698:12:141","nodeType":"VariableDeclaration","scope":88717,"src":"1670:40:141","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$74726","typeString":"enum StrategyStruct.ProposalType"},"typeName":{"id":88641,"nodeType":"UserDefinedTypeName","pathNode":{"id":88640,"name":"StrategyStruct.ProposalType","nameLocations":["1670:14:141","1685:12:141"],"nodeType":"IdentifierPath","referencedDeclaration":74726,"src":"1670:27:141"},"referencedDeclaration":74726,"src":"1670:27:141","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$74726","typeString":"enum StrategyStruct.ProposalType"}},"visibility":"internal"},{"constant":false,"id":88645,"mutability":"mutable","name":"pointSystem","nameLocation":"1747:11:141","nodeType":"VariableDeclaration","scope":88717,"src":"1720:38:141","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$74731","typeString":"enum StrategyStruct.PointSystem"},"typeName":{"id":88644,"nodeType":"UserDefinedTypeName","pathNode":{"id":88643,"name":"StrategyStruct.PointSystem","nameLocations":["1720:14:141","1735:11:141"],"nodeType":"IdentifierPath","referencedDeclaration":74731,"src":"1720:26:141"},"referencedDeclaration":74731,"src":"1720:26:141","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$74731","typeString":"enum StrategyStruct.PointSystem"}},"visibility":"internal"},{"constant":false,"id":88648,"mutability":"mutable","name":"pointConfig","nameLocation":"1808:11:141","nodeType":"VariableDeclaration","scope":88717,"src":"1768:51:141","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$74784_memory_ptr","typeString":"struct StrategyStruct.PointSystemConfig"},"typeName":{"id":88647,"nodeType":"UserDefinedTypeName","pathNode":{"id":88646,"name":"StrategyStruct.PointSystemConfig","nameLocations":["1768:14:141","1783:17:141"],"nodeType":"IdentifierPath","referencedDeclaration":74784,"src":"1768:32:141"},"referencedDeclaration":74784,"src":"1768:32:141","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$74784_storage_ptr","typeString":"struct StrategyStruct.PointSystemConfig"}},"visibility":"internal"}],"src":"1625:200:141"},"returnParameters":{"id":88653,"nodeType":"ParameterList","parameters":[{"constant":false,"id":88652,"mutability":"mutable","name":"params","nameLocation":"1886:6:141","nodeType":"VariableDeclaration","scope":88717,"src":"1847:45:141","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$74806_memory_ptr","typeString":"struct StrategyStruct.InitializeParams"},"typeName":{"id":88651,"nodeType":"UserDefinedTypeName","pathNode":{"id":88650,"name":"StrategyStruct.InitializeParams","nameLocations":["1847:14:141","1862:16:141"],"nodeType":"IdentifierPath","referencedDeclaration":74806,"src":"1847:31:141"},"referencedDeclaration":74806,"src":"1847:31:141","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$74806_storage_ptr","typeString":"struct StrategyStruct.InitializeParams"}},"visibility":"internal"}],"src":"1846:47:141"},"scope":89046,"stateMutability":"pure","virtual":false,"visibility":"public"},{"id":88839,"nodeType":"FunctionDefinition","src":"2701:1442:141","nodes":[],"body":{"id":88838,"nodeType":"Block","src":"3049:1094:141","nodes":[],"statements":[{"assignments":[88747],"declarations":[{"constant":false,"id":88747,"mutability":"mutable","name":"params","nameLocation":"3149:6:141","nodeType":"VariableDeclaration","scope":88838,"src":"3110:45:141","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$74806_memory_ptr","typeString":"struct StrategyStruct.InitializeParams"},"typeName":{"id":88746,"nodeType":"UserDefinedTypeName","pathNode":{"id":88745,"name":"StrategyStruct.InitializeParams","nameLocations":["3110:14:141","3125:16:141"],"nodeType":"IdentifierPath","referencedDeclaration":74806,"src":"3110:31:141"},"referencedDeclaration":74806,"src":"3110:31:141","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$74806_storage_ptr","typeString":"struct StrategyStruct.InitializeParams"}},"visibility":"internal"}],"id":88754,"initialValue":{"arguments":[{"id":88749,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88724,"src":"3180:17:141","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":88750,"name":"proposalType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88732,"src":"3199:12:141","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$74726","typeString":"enum StrategyStruct.ProposalType"}},{"id":88751,"name":"pointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88735,"src":"3213:11:141","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$74731","typeString":"enum StrategyStruct.PointSystem"}},{"id":88752,"name":"pointConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88738,"src":"3226:11:141","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$74784_memory_ptr","typeString":"struct StrategyStruct.PointSystemConfig memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_enum$_ProposalType_$74726","typeString":"enum StrategyStruct.ProposalType"},{"typeIdentifier":"t_enum$_PointSystem_$74731","typeString":"enum StrategyStruct.PointSystem"},{"typeIdentifier":"t_struct$_PointSystemConfig_$74784_memory_ptr","typeString":"struct StrategyStruct.PointSystemConfig memory"}],"id":88748,"name":"getParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88717,"src":"3170:9:141","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$_t_enum$_ProposalType_$74726_$_t_enum$_PointSystem_$74731_$_t_struct$_PointSystemConfig_$74784_memory_ptr_$returns$_t_struct$_InitializeParams_$74806_memory_ptr_$","typeString":"function (address,enum StrategyStruct.ProposalType,enum StrategyStruct.PointSystem,struct StrategyStruct.PointSystemConfig memory) pure returns (struct StrategyStruct.InitializeParams memory)"}},"id":88753,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3170:68:141","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$74806_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"nodeType":"VariableDeclarationStatement","src":"3110:128:141"},{"assignments":[88759],"declarations":[{"constant":false,"id":88759,"mutability":"mutable","name":"_pool_managers","nameLocation":"3266:14:141","nodeType":"VariableDeclaration","scope":88838,"src":"3249:31:141","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":88757,"name":"address","nodeType":"ElementaryTypeName","src":"3249:7:141","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":88758,"nodeType":"ArrayTypeName","src":"3249:9:141","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"id":88765,"initialValue":{"arguments":[{"hexValue":"32","id":88763,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3297:1:141","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"}],"id":88762,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"3283:13:141","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_address_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (address[] memory)"},"typeName":{"baseType":{"id":88760,"name":"address","nodeType":"ElementaryTypeName","src":"3287:7:141","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":88761,"nodeType":"ArrayTypeName","src":"3287:9:141","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}}},"id":88764,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3283:16:141","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"nodeType":"VariableDeclarationStatement","src":"3249:50:141"},{"expression":{"id":88773,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":88766,"name":"_pool_managers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88759,"src":"3309:14:141","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":88768,"indexExpression":{"hexValue":"30","id":88767,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3324:1:141","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3309:17:141","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":88771,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"3337:4:141","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyHelpers_$89046","typeString":"contract CVStrategyHelpers"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyHelpers_$89046","typeString":"contract CVStrategyHelpers"}],"id":88770,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3329:7:141","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":88769,"name":"address","nodeType":"ElementaryTypeName","src":"3329:7:141","typeDescriptions":{}}},"id":88772,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3329:13:141","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3309:33:141","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":88774,"nodeType":"ExpressionStatement","src":"3309:33:141"},{"expression":{"id":88783,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":88775,"name":"_pool_managers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88759,"src":"3352:14:141","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":88777,"indexExpression":{"hexValue":"31","id":88776,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3367:1:141","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3352:17:141","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":88780,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"3380:3:141","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":88781,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3384:6:141","memberName":"sender","nodeType":"MemberAccess","src":"3380:10:141","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":88779,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3372:7:141","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":88778,"name":"address","nodeType":"ElementaryTypeName","src":"3372:7:141","typeDescriptions":{}}},"id":88782,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3372:19:141","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3352:39:141","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":88784,"nodeType":"ExpressionStatement","src":"3352:39:141"},{"assignments":[88786],"declarations":[{"constant":false,"id":88786,"mutability":"mutable","name":"_token","nameLocation":"3649:6:141","nodeType":"VariableDeclaration","scope":88838,"src":"3641:14:141","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":88785,"name":"address","nodeType":"ElementaryTypeName","src":"3641:7:141","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":88788,"initialValue":{"id":88787,"name":"NATIVE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3105,"src":"3658:6:141","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"3641:23:141"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":88794,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":88789,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88729,"src":"3678:5:141","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":88792,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3695:1:141","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":88791,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3687:7:141","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":88790,"name":"address","nodeType":"ElementaryTypeName","src":"3687:7:141","typeDescriptions":{}}},"id":88793,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3687:10:141","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3678:19:141","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":88800,"nodeType":"IfStatement","src":"3674:64:141","trueBody":{"id":88799,"nodeType":"Block","src":"3699:39:141","statements":[{"expression":{"id":88797,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":88795,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88786,"src":"3713:6:141","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":88796,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88729,"src":"3722:5:141","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3713:14:141","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":88798,"nodeType":"ExpressionStatement","src":"3713:14:141"}]}},{"expression":{"id":88823,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":88801,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88741,"src":"3747:6:141","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":88805,"name":"registry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88727,"src":"3860:8:141","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"}},{"arguments":[],"expression":{"argumentTypes":[],"id":88806,"name":"pool_admin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4753,"src":"3870:10:141","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":88807,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3870:12:141","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":88808,"name":"_pool_managers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88759,"src":"3884:14:141","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}],"id":88804,"name":"poolProfile_id1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88637,"src":"3844:15:141","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IRegistry_$2802_$_t_address_$_t_array$_t_address_$dyn_memory_ptr_$returns$_t_bytes32_$","typeString":"function (contract IRegistry,address,address[] memory) returns (bytes32)"}},"id":88809,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3844:55:141","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"id":88812,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88722,"src":"3921:8:141","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":88811,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3913:7:141","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":88810,"name":"address","nodeType":"ElementaryTypeName","src":"3913:7:141","typeDescriptions":{}}},"id":88813,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3913:17:141","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":88816,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88747,"src":"3955:6:141","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$74806_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_InitializeParams_$74806_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}],"expression":{"id":88814,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3944:3:141","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":88815,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3948:6:141","memberName":"encode","nodeType":"MemberAccess","src":"3944:10:141","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":88817,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3944:18:141","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":88818,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88786,"src":"3976:6:141","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":88819,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3996:1:141","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"id":88820,"name":"metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88572,"src":"4011:8:141","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage","typeString":"struct Metadata storage ref"}},{"id":88821,"name":"_pool_managers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88759,"src":"4033:14:141","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_struct$_Metadata_$3098_storage","typeString":"struct Metadata storage ref"},{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}],"expression":{"id":88802,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88720,"src":"3756:4:141","typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":88803,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3761:28:141","memberName":"createPoolWithCustomStrategy","nodeType":"MemberAccess","referencedDeclaration":175,"src":"3756:33:141","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_bytes32_$_t_address_$_t_bytes_memory_ptr_$_t_address_$_t_uint256_$_t_struct$_Metadata_$3098_memory_ptr_$_t_array$_t_address_$dyn_memory_ptr_$returns$_t_uint256_$","typeString":"function (bytes32,address,bytes memory,address,uint256,struct Metadata memory,address[] memory) payable external returns (uint256)"}},"id":88822,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3756:301:141","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3747:310:141","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":88824,"nodeType":"ExpressionStatement","src":"3747:310:141"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_enum$_ProposalType_$74726","typeString":"enum StrategyStruct.ProposalType"},"id":88835,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[{"arguments":[{"id":88829,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88722,"src":"4094:8:141","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":88828,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4086:8:141","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":88827,"name":"address","nodeType":"ElementaryTypeName","src":"4086:8:141","stateMutability":"payable","typeDescriptions":{}}},"id":88830,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4086:17:141","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":88826,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77611,"src":"4075:10:141","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategy_$77611_$","typeString":"type(contract CVStrategy)"}},"id":88831,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4075:29:141","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategy_$77611","typeString":"contract CVStrategy"}},"id":88832,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4105:12:141","memberName":"proposalType","nodeType":"MemberAccess","referencedDeclaration":75005,"src":"4075:42:141","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_enum$_ProposalType_$74726_$","typeString":"function () view external returns (enum StrategyStruct.ProposalType)"}},"id":88833,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4075:44:141","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$74726","typeString":"enum StrategyStruct.ProposalType"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":88834,"name":"proposalType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88732,"src":"4123:12:141","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$74726","typeString":"enum StrategyStruct.ProposalType"}},"src":"4075:60:141","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":88825,"name":"assert","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-3,"src":"4068:6:141","typeDescriptions":{"typeIdentifier":"t_function_assert_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":88836,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4068:68:141","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":88837,"nodeType":"ExpressionStatement","src":"4068:68:141"}]},"functionSelector":"ed62303a","implemented":true,"kind":"function","modifiers":[],"name":"createPool","nameLocation":"2710:10:141","parameters":{"id":88739,"nodeType":"ParameterList","parameters":[{"constant":false,"id":88720,"mutability":"mutable","name":"allo","nameLocation":"2735:4:141","nodeType":"VariableDeclaration","scope":88839,"src":"2730:9:141","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"},"typeName":{"id":88719,"nodeType":"UserDefinedTypeName","pathNode":{"id":88718,"name":"Allo","nameLocations":["2730:4:141"],"nodeType":"IdentifierPath","referencedDeclaration":1390,"src":"2730:4:141"},"referencedDeclaration":1390,"src":"2730:4:141","typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"visibility":"internal"},{"constant":false,"id":88722,"mutability":"mutable","name":"strategy","nameLocation":"2757:8:141","nodeType":"VariableDeclaration","scope":88839,"src":"2749:16:141","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":88721,"name":"address","nodeType":"ElementaryTypeName","src":"2749:7:141","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":88724,"mutability":"mutable","name":"registryCommunity","nameLocation":"2783:17:141","nodeType":"VariableDeclaration","scope":88839,"src":"2775:25:141","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":88723,"name":"address","nodeType":"ElementaryTypeName","src":"2775:7:141","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":88727,"mutability":"mutable","name":"registry","nameLocation":"2820:8:141","nodeType":"VariableDeclaration","scope":88839,"src":"2810:18:141","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"},"typeName":{"id":88726,"nodeType":"UserDefinedTypeName","pathNode":{"id":88725,"name":"IRegistry","nameLocations":["2810:9:141"],"nodeType":"IdentifierPath","referencedDeclaration":2802,"src":"2810:9:141"},"referencedDeclaration":2802,"src":"2810:9:141","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"}},"visibility":"internal"},{"constant":false,"id":88729,"mutability":"mutable","name":"token","nameLocation":"2846:5:141","nodeType":"VariableDeclaration","scope":88839,"src":"2838:13:141","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":88728,"name":"address","nodeType":"ElementaryTypeName","src":"2838:7:141","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":88732,"mutability":"mutable","name":"proposalType","nameLocation":"2889:12:141","nodeType":"VariableDeclaration","scope":88839,"src":"2861:40:141","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$74726","typeString":"enum StrategyStruct.ProposalType"},"typeName":{"id":88731,"nodeType":"UserDefinedTypeName","pathNode":{"id":88730,"name":"StrategyStruct.ProposalType","nameLocations":["2861:14:141","2876:12:141"],"nodeType":"IdentifierPath","referencedDeclaration":74726,"src":"2861:27:141"},"referencedDeclaration":74726,"src":"2861:27:141","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$74726","typeString":"enum StrategyStruct.ProposalType"}},"visibility":"internal"},{"constant":false,"id":88735,"mutability":"mutable","name":"pointSystem","nameLocation":"2938:11:141","nodeType":"VariableDeclaration","scope":88839,"src":"2911:38:141","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$74731","typeString":"enum StrategyStruct.PointSystem"},"typeName":{"id":88734,"nodeType":"UserDefinedTypeName","pathNode":{"id":88733,"name":"StrategyStruct.PointSystem","nameLocations":["2911:14:141","2926:11:141"],"nodeType":"IdentifierPath","referencedDeclaration":74731,"src":"2911:26:141"},"referencedDeclaration":74731,"src":"2911:26:141","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$74731","typeString":"enum StrategyStruct.PointSystem"}},"visibility":"internal"},{"constant":false,"id":88738,"mutability":"mutable","name":"pointConfig","nameLocation":"2999:11:141","nodeType":"VariableDeclaration","scope":88839,"src":"2959:51:141","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$74784_memory_ptr","typeString":"struct StrategyStruct.PointSystemConfig"},"typeName":{"id":88737,"nodeType":"UserDefinedTypeName","pathNode":{"id":88736,"name":"StrategyStruct.PointSystemConfig","nameLocations":["2959:14:141","2974:17:141"],"nodeType":"IdentifierPath","referencedDeclaration":74784,"src":"2959:32:141"},"referencedDeclaration":74784,"src":"2959:32:141","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$74784_storage_ptr","typeString":"struct StrategyStruct.PointSystemConfig"}},"visibility":"internal"}],"src":"2720:296:141"},"returnParameters":{"id":88742,"nodeType":"ParameterList","parameters":[{"constant":false,"id":88741,"mutability":"mutable","name":"poolId","nameLocation":"3041:6:141","nodeType":"VariableDeclaration","scope":88839,"src":"3033:14:141","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":88740,"name":"uint256","nodeType":"ElementaryTypeName","src":"3033:7:141","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3032:16:141"},"scope":89046,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":88877,"nodeType":"FunctionDefinition","src":"4149:543:141","nodes":[],"body":{"id":88876,"nodeType":"Block","src":"4436:256:141","nodes":[],"statements":[{"expression":{"arguments":[{"id":88863,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88842,"src":"4477:4:141","typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},{"id":88864,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88844,"src":"4495:8:141","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":88865,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88846,"src":"4517:17:141","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":88866,"name":"registry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88849,"src":"4548:8:141","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"}},{"id":88867,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88851,"src":"4570:5:141","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":88868,"name":"proposalType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88854,"src":"4589:12:141","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$74726","typeString":"enum StrategyStruct.ProposalType"}},{"id":88869,"name":"pointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88857,"src":"4615:11:141","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$74731","typeString":"enum StrategyStruct.PointSystem"}},{"arguments":[{"hexValue":"30","id":88872,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4673:1:141","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"expression":{"id":88870,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74807,"src":"4640:14:141","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$74807_$","typeString":"type(library StrategyStruct)"}},"id":88871,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4655:17:141","memberName":"PointSystemConfig","nodeType":"MemberAccess","referencedDeclaration":74784,"src":"4640:32:141","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_PointSystemConfig_$74784_storage_ptr_$","typeString":"type(struct StrategyStruct.PointSystemConfig storage pointer)"}},"id":88873,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4640:35:141","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$74784_memory_ptr","typeString":"struct StrategyStruct.PointSystemConfig memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_enum$_ProposalType_$74726","typeString":"enum StrategyStruct.ProposalType"},{"typeIdentifier":"t_enum$_PointSystem_$74731","typeString":"enum StrategyStruct.PointSystem"},{"typeIdentifier":"t_struct$_PointSystemConfig_$74784_memory_ptr","typeString":"struct StrategyStruct.PointSystemConfig memory"}],"id":88862,"name":"createPool","nodeType":"Identifier","overloadedDeclarations":[88839,88877],"referencedDeclaration":88839,"src":"4453:10:141","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_Allo_$1390_$_t_address_$_t_address_$_t_contract$_IRegistry_$2802_$_t_address_$_t_enum$_ProposalType_$74726_$_t_enum$_PointSystem_$74731_$_t_struct$_PointSystemConfig_$74784_memory_ptr_$returns$_t_uint256_$","typeString":"function (contract Allo,address,address,contract IRegistry,address,enum StrategyStruct.ProposalType,enum StrategyStruct.PointSystem,struct StrategyStruct.PointSystemConfig memory) returns (uint256)"}},"id":88874,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4453:232:141","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":88861,"id":88875,"nodeType":"Return","src":"4446:239:141"}]},"functionSelector":"d8c12dc2","implemented":true,"kind":"function","modifiers":[],"name":"createPool","nameLocation":"4158:10:141","parameters":{"id":88858,"nodeType":"ParameterList","parameters":[{"constant":false,"id":88842,"mutability":"mutable","name":"allo","nameLocation":"4183:4:141","nodeType":"VariableDeclaration","scope":88877,"src":"4178:9:141","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"},"typeName":{"id":88841,"nodeType":"UserDefinedTypeName","pathNode":{"id":88840,"name":"Allo","nameLocations":["4178:4:141"],"nodeType":"IdentifierPath","referencedDeclaration":1390,"src":"4178:4:141"},"referencedDeclaration":1390,"src":"4178:4:141","typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"visibility":"internal"},{"constant":false,"id":88844,"mutability":"mutable","name":"strategy","nameLocation":"4205:8:141","nodeType":"VariableDeclaration","scope":88877,"src":"4197:16:141","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":88843,"name":"address","nodeType":"ElementaryTypeName","src":"4197:7:141","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":88846,"mutability":"mutable","name":"registryCommunity","nameLocation":"4231:17:141","nodeType":"VariableDeclaration","scope":88877,"src":"4223:25:141","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":88845,"name":"address","nodeType":"ElementaryTypeName","src":"4223:7:141","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":88849,"mutability":"mutable","name":"registry","nameLocation":"4268:8:141","nodeType":"VariableDeclaration","scope":88877,"src":"4258:18:141","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"},"typeName":{"id":88848,"nodeType":"UserDefinedTypeName","pathNode":{"id":88847,"name":"IRegistry","nameLocations":["4258:9:141"],"nodeType":"IdentifierPath","referencedDeclaration":2802,"src":"4258:9:141"},"referencedDeclaration":2802,"src":"4258:9:141","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"}},"visibility":"internal"},{"constant":false,"id":88851,"mutability":"mutable","name":"token","nameLocation":"4294:5:141","nodeType":"VariableDeclaration","scope":88877,"src":"4286:13:141","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":88850,"name":"address","nodeType":"ElementaryTypeName","src":"4286:7:141","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":88854,"mutability":"mutable","name":"proposalType","nameLocation":"4337:12:141","nodeType":"VariableDeclaration","scope":88877,"src":"4309:40:141","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$74726","typeString":"enum StrategyStruct.ProposalType"},"typeName":{"id":88853,"nodeType":"UserDefinedTypeName","pathNode":{"id":88852,"name":"StrategyStruct.ProposalType","nameLocations":["4309:14:141","4324:12:141"],"nodeType":"IdentifierPath","referencedDeclaration":74726,"src":"4309:27:141"},"referencedDeclaration":74726,"src":"4309:27:141","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$74726","typeString":"enum StrategyStruct.ProposalType"}},"visibility":"internal"},{"constant":false,"id":88857,"mutability":"mutable","name":"pointSystem","nameLocation":"4386:11:141","nodeType":"VariableDeclaration","scope":88877,"src":"4359:38:141","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$74731","typeString":"enum StrategyStruct.PointSystem"},"typeName":{"id":88856,"nodeType":"UserDefinedTypeName","pathNode":{"id":88855,"name":"StrategyStruct.PointSystem","nameLocations":["4359:14:141","4374:11:141"],"nodeType":"IdentifierPath","referencedDeclaration":74731,"src":"4359:26:141"},"referencedDeclaration":74731,"src":"4359:26:141","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$74731","typeString":"enum StrategyStruct.PointSystem"}},"visibility":"internal"}],"src":"4168:235:141"},"returnParameters":{"id":88861,"nodeType":"ParameterList","parameters":[{"constant":false,"id":88860,"mutability":"mutable","name":"poolId","nameLocation":"4428:6:141","nodeType":"VariableDeclaration","scope":88877,"src":"4420:14:141","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":88859,"name":"uint256","nodeType":"ElementaryTypeName","src":"4420:7:141","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4419:16:141"},"scope":89046,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":88891,"nodeType":"FunctionDefinition","src":"4698:114:141","nodes":[],"body":{"id":88890,"nodeType":"Block","src":"4770:42:141","nodes":[],"statements":[{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":88888,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":88884,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88879,"src":"4787:7:141","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"commonType":{"typeIdentifier":"t_rational_100000000000_by_1","typeString":"int_const 100000000000"},"id":88887,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":88885,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4797:2:141","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"3131","id":88886,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4803:2:141","typeDescriptions":{"typeIdentifier":"t_rational_11_by_1","typeString":"int_const 11"},"value":"11"},"src":"4797:8:141","typeDescriptions":{"typeIdentifier":"t_rational_100000000000_by_1","typeString":"int_const 100000000000"}},"src":"4787:18:141","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":88883,"id":88889,"nodeType":"Return","src":"4780:25:141"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_etherToFloat","nameLocation":"4707:13:141","parameters":{"id":88880,"nodeType":"ParameterList","parameters":[{"constant":false,"id":88879,"mutability":"mutable","name":"_amount","nameLocation":"4729:7:141","nodeType":"VariableDeclaration","scope":88891,"src":"4721:15:141","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":88878,"name":"uint256","nodeType":"ElementaryTypeName","src":"4721:7:141","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4720:17:141"},"returnParameters":{"id":88883,"nodeType":"ParameterList","parameters":[{"constant":false,"id":88882,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":88891,"src":"4761:7:141","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":88881,"name":"uint256","nodeType":"ElementaryTypeName","src":"4761:7:141","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4760:9:141"},"scope":89046,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":88925,"nodeType":"FunctionDefinition","src":"4818:269:141","nodes":[],"body":{"id":88924,"nodeType":"Block","src":"4896:191:141","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":88903,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":88901,"name":"_a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88893,"src":"4914:2:141","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"id":88902,"name":"TWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88594,"src":"4920:7:141","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4914:13:141","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5f612073686f756c64206265206c657373207468616e206f7220657175616c20746f20325e313238","id":88904,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4929:42:141","typeDescriptions":{"typeIdentifier":"t_stringliteral_44e2d05298e19dba9341288d7967f4ffbb5a083f725e2470963d4d2d80484153","typeString":"literal_string \"_a should be less than or equal to 2^128\""},"value":"_a should be less than or equal to 2^128"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_44e2d05298e19dba9341288d7967f4ffbb5a083f725e2470963d4d2d80484153","typeString":"literal_string \"_a should be less than or equal to 2^128\""}],"id":88900,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"4906:7:141","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":88905,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4906:66:141","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":88906,"nodeType":"ExpressionStatement","src":"4906:66:141"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":88910,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":88908,"name":"_b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88895,"src":"4990:2:141","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":88909,"name":"TWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88594,"src":"4995:7:141","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4990:12:141","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5f622073686f756c64206265206c657373207468616e20325e313238","id":88911,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5004:30:141","typeDescriptions":{"typeIdentifier":"t_stringliteral_94029ed39d36fd1673853e0d61636cb1f54d05801d9baceb39b21e0f4420d664","typeString":"literal_string \"_b should be less than 2^128\""},"value":"_b should be less than 2^128"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_94029ed39d36fd1673853e0d61636cb1f54d05801d9baceb39b21e0f4420d664","typeString":"literal_string \"_b should be less than 2^128\""}],"id":88907,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"4982:7:141","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":88912,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4982:53:141","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":88913,"nodeType":"ExpressionStatement","src":"4982:53:141"},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":88922,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":88919,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":88916,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":88914,"name":"_a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88893,"src":"5054:2:141","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":88915,"name":"_b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88895,"src":"5059:2:141","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5054:7:141","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":88917,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"5053:9:141","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":88918,"name":"TWO_127","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88589,"src":"5065:7:141","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5053:19:141","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":88920,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"5052:21:141","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"313238","id":88921,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5077:3:141","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"5052:28:141","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":88899,"id":88923,"nodeType":"Return","src":"5045:35:141"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_mul","nameLocation":"4827:4:141","parameters":{"id":88896,"nodeType":"ParameterList","parameters":[{"constant":false,"id":88893,"mutability":"mutable","name":"_a","nameLocation":"4840:2:141","nodeType":"VariableDeclaration","scope":88925,"src":"4832:10:141","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":88892,"name":"uint256","nodeType":"ElementaryTypeName","src":"4832:7:141","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":88895,"mutability":"mutable","name":"_b","nameLocation":"4852:2:141","nodeType":"VariableDeclaration","scope":88925,"src":"4844:10:141","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":88894,"name":"uint256","nodeType":"ElementaryTypeName","src":"4844:7:141","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4831:24:141"},"returnParameters":{"id":88899,"nodeType":"ParameterList","parameters":[{"constant":false,"id":88898,"mutability":"mutable","name":"_result","nameLocation":"4887:7:141","nodeType":"VariableDeclaration","scope":88925,"src":"4879:15:141","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":88897,"name":"uint256","nodeType":"ElementaryTypeName","src":"4879:7:141","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4878:17:141"},"scope":89046,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":88989,"nodeType":"FunctionDefinition","src":"5093:447:141","nodes":[],"body":{"id":88988,"nodeType":"Block","src":"5171:369:141","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":88937,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":88935,"name":"_a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88927,"src":"5189:2:141","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":88936,"name":"TWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88594,"src":"5194:7:141","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5189:12:141","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5f612073686f756c64206265206c657373207468616e20325e313238","id":88938,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5203:30:141","typeDescriptions":{"typeIdentifier":"t_stringliteral_8cb59667c527f8a0ca0170161b6ece5e9864e8aa2d080a486f0167056517515f","typeString":"literal_string \"_a should be less than 2^128\""},"value":"_a should be less than 2^128"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_8cb59667c527f8a0ca0170161b6ece5e9864e8aa2d080a486f0167056517515f","typeString":"literal_string \"_a should be less than 2^128\""}],"id":88934,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"5181:7:141","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":88939,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5181:53:141","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":88940,"nodeType":"ExpressionStatement","src":"5181:53:141"},{"assignments":[88942],"declarations":[{"constant":false,"id":88942,"mutability":"mutable","name":"a","nameLocation":"5252:1:141","nodeType":"VariableDeclaration","scope":88988,"src":"5244:9:141","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":88941,"name":"uint256","nodeType":"ElementaryTypeName","src":"5244:7:141","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":88944,"initialValue":{"id":88943,"name":"_a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88927,"src":"5256:2:141","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"5244:14:141"},{"assignments":[88946],"declarations":[{"constant":false,"id":88946,"mutability":"mutable","name":"b","nameLocation":"5276:1:141","nodeType":"VariableDeclaration","scope":88988,"src":"5268:9:141","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":88945,"name":"uint256","nodeType":"ElementaryTypeName","src":"5268:7:141","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":88948,"initialValue":{"id":88947,"name":"_b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88929,"src":"5280:2:141","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"5268:14:141"},{"expression":{"id":88951,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":88949,"name":"_result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88932,"src":"5292:7:141","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":88950,"name":"TWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88594,"src":"5302:7:141","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5292:17:141","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":88952,"nodeType":"ExpressionStatement","src":"5292:17:141"},{"body":{"id":88986,"nodeType":"Block","src":"5333:201:141","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":88960,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":88958,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":88956,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88946,"src":"5351:1:141","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"hexValue":"31","id":88957,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5355:1:141","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"5351:5:141","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":88959,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5360:1:141","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"5351:10:141","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":88984,"nodeType":"Block","src":"5441:83:141","statements":[{"expression":{"id":88978,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":88973,"name":"_result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88932,"src":"5459:7:141","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":88975,"name":"_result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88932,"src":"5474:7:141","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":88976,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88942,"src":"5483:1:141","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":88974,"name":"_mul","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88925,"src":"5469:4:141","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":88977,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5469:16:141","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5459:26:141","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":88979,"nodeType":"ExpressionStatement","src":"5459:26:141"},{"expression":{"id":88982,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":88980,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88946,"src":"5503:1:141","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"hexValue":"31","id":88981,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5508:1:141","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"5503:6:141","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":88983,"nodeType":"ExpressionStatement","src":"5503:6:141"}]},"id":88985,"nodeType":"IfStatement","src":"5347:177:141","trueBody":{"id":88972,"nodeType":"Block","src":"5363:72:141","statements":[{"expression":{"id":88966,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":88961,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88942,"src":"5381:1:141","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":88963,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88942,"src":"5390:1:141","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":88964,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88942,"src":"5393:1:141","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":88962,"name":"_mul","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88925,"src":"5385:4:141","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":88965,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5385:10:141","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5381:14:141","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":88967,"nodeType":"ExpressionStatement","src":"5381:14:141"},{"expression":{"id":88970,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":88968,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88946,"src":"5413:1:141","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":">>=","rightHandSide":{"hexValue":"31","id":88969,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5419:1:141","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"5413:7:141","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":88971,"nodeType":"ExpressionStatement","src":"5413:7:141"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":88955,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":88953,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88946,"src":"5326:1:141","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":88954,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5330:1:141","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"5326:5:141","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":88987,"nodeType":"WhileStatement","src":"5319:215:141"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_pow","nameLocation":"5102:4:141","parameters":{"id":88930,"nodeType":"ParameterList","parameters":[{"constant":false,"id":88927,"mutability":"mutable","name":"_a","nameLocation":"5115:2:141","nodeType":"VariableDeclaration","scope":88989,"src":"5107:10:141","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":88926,"name":"uint256","nodeType":"ElementaryTypeName","src":"5107:7:141","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":88929,"mutability":"mutable","name":"_b","nameLocation":"5127:2:141","nodeType":"VariableDeclaration","scope":88989,"src":"5119:10:141","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":88928,"name":"uint256","nodeType":"ElementaryTypeName","src":"5119:7:141","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5106:24:141"},"returnParameters":{"id":88933,"nodeType":"ParameterList","parameters":[{"constant":false,"id":88932,"mutability":"mutable","name":"_result","nameLocation":"5162:7:141","nodeType":"VariableDeclaration","scope":88989,"src":"5154:15:141","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":88931,"name":"uint256","nodeType":"ElementaryTypeName","src":"5154:7:141","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5153:17:141"},"scope":89046,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":89045,"nodeType":"FunctionDefinition","src":"5546:378:141","nodes":[],"body":{"id":89044,"nodeType":"Block","src":"5709:215:141","nodes":[],"statements":[{"assignments":[89003],"declarations":[{"constant":false,"id":89003,"mutability":"mutable","name":"t","nameLocation":"5727:1:141","nodeType":"VariableDeclaration","scope":89044,"src":"5719:9:141","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":89002,"name":"uint256","nodeType":"ElementaryTypeName","src":"5719:7:141","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":89005,"initialValue":{"id":89004,"name":"_timePassed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88991,"src":"5731:11:141","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"5719:23:141"},{"assignments":[89007],"declarations":[{"constant":false,"id":89007,"mutability":"mutable","name":"atTWO_128","nameLocation":"5760:9:141","nodeType":"VariableDeclaration","scope":89044,"src":"5752:17:141","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":89006,"name":"uint256","nodeType":"ElementaryTypeName","src":"5752:7:141","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":89017,"initialValue":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":89014,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":89011,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":89009,"name":"decay","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88997,"src":"5778:5:141","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"313238","id":89010,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5787:3:141","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"5778:12:141","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":89012,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"5777:14:141","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":89013,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88599,"src":"5794:1:141","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5777:18:141","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":89015,"name":"t","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89003,"src":"5797:1:141","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":89008,"name":"_pow","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88989,"src":"5772:4:141","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":89016,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5772:27:141","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"5752:47:141"},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":89042,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":89039,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":89036,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":89020,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":89018,"name":"atTWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89007,"src":"5819:9:141","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":89019,"name":"_lastConv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88993,"src":"5831:9:141","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5819:21:141","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":89021,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"5818:23:141","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":89034,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":89029,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":89024,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":89022,"name":"_oldAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88995,"src":"5845:10:141","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":89023,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88599,"src":"5858:1:141","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5845:14:141","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":89027,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":89025,"name":"TWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88594,"src":"5863:7:141","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":89026,"name":"atTWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89007,"src":"5873:9:141","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5863:19:141","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":89028,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"5862:21:141","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5845:38:141","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":89032,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":89030,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88599,"src":"5887:1:141","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":89031,"name":"decay","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88997,"src":"5891:5:141","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5887:9:141","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":89033,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"5886:11:141","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5845:52:141","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":89035,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"5844:54:141","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5818:80:141","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":89037,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"5817:82:141","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":89038,"name":"TWO_127","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88589,"src":"5902:7:141","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5817:92:141","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":89040,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"5816:94:141","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"313238","id":89041,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5914:3:141","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"5816:101:141","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":89001,"id":89043,"nodeType":"Return","src":"5809:108:141"}]},"functionSelector":"e99ce911","implemented":true,"kind":"function","modifiers":[],"name":"_calculateConviction","nameLocation":"5555:20:141","parameters":{"id":88998,"nodeType":"ParameterList","parameters":[{"constant":false,"id":88991,"mutability":"mutable","name":"_timePassed","nameLocation":"5584:11:141","nodeType":"VariableDeclaration","scope":89045,"src":"5576:19:141","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":88990,"name":"uint256","nodeType":"ElementaryTypeName","src":"5576:7:141","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":88993,"mutability":"mutable","name":"_lastConv","nameLocation":"5605:9:141","nodeType":"VariableDeclaration","scope":89045,"src":"5597:17:141","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":88992,"name":"uint256","nodeType":"ElementaryTypeName","src":"5597:7:141","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":88995,"mutability":"mutable","name":"_oldAmount","nameLocation":"5624:10:141","nodeType":"VariableDeclaration","scope":89045,"src":"5616:18:141","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":88994,"name":"uint256","nodeType":"ElementaryTypeName","src":"5616:7:141","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":88997,"mutability":"mutable","name":"decay","nameLocation":"5644:5:141","nodeType":"VariableDeclaration","scope":89045,"src":"5636:13:141","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":88996,"name":"uint256","nodeType":"ElementaryTypeName","src":"5636:7:141","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5575:75:141"},"returnParameters":{"id":89001,"nodeType":"ParameterList","parameters":[{"constant":false,"id":89000,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":89045,"src":"5696:7:141","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":88999,"name":"uint256","nodeType":"ElementaryTypeName","src":"5696:7:141","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5695:9:141"},"scope":89046,"stateMutability":"pure","virtual":false,"visibility":"public"}],"abstract":false,"baseContracts":[{"baseName":{"id":88562,"name":"Native","nameLocations":["609:6:141"],"nodeType":"IdentifierPath","referencedDeclaration":3106,"src":"609:6:141"},"id":88563,"nodeType":"InheritanceSpecifier","src":"609:6:141"},{"baseName":{"id":88564,"name":"Accounts","nameLocations":["617:8:141"],"nodeType":"IdentifierPath","referencedDeclaration":5026,"src":"617:8:141"},"id":88565,"nodeType":"InheritanceSpecifier","src":"617:8:141"}],"canonicalName":"CVStrategyHelpers","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[89046,5026,12138,11345,3106],"name":"CVStrategyHelpers","nameLocation":"588:17:141","scope":89047,"usedErrors":[]}],"license":"AGPL-3.0-or-later"},"id":141} \ No newline at end of file diff --git a/pkg/contracts/out/CVStrategyHelpersV0_0.sol/CVStrategyHelpersV0_0.json b/pkg/contracts/out/CVStrategyHelpersV0_0.sol/CVStrategyHelpersV0_0.json index 90247da81..b7a990c4e 100644 --- a/pkg/contracts/out/CVStrategyHelpersV0_0.sol/CVStrategyHelpersV0_0.json +++ b/pkg/contracts/out/CVStrategyHelpersV0_0.sol/CVStrategyHelpersV0_0.json @@ -1 +1 @@ -{"abi":[{"type":"function","name":"DECIMALS","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"NATIVE","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"PERCENTAGE_SCALE","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"_calculateConviction","inputs":[{"name":"_timePassed","type":"uint256","internalType":"uint256"},{"name":"_lastConv","type":"uint256","internalType":"uint256"},{"name":"_oldAmount","type":"uint256","internalType":"uint256"},{"name":"decay","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"allo_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"allo_treasury","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address payable"}],"stateMutability":"nonpayable"},{"type":"function","name":"createPool","inputs":[{"name":"allo","type":"address","internalType":"contract Allo"},{"name":"strategy","type":"address","internalType":"address"},{"name":"registryCommunity","type":"address","internalType":"address"},{"name":"registry","type":"address","internalType":"contract IRegistry"},{"name":"token","type":"address","internalType":"address"},{"name":"proposalType","type":"uint8","internalType":"enum StrategyStruct.ProposalType"},{"name":"pointSystem","type":"uint8","internalType":"enum StrategyStruct.PointSystem"}],"outputs":[{"name":"poolId","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"createPool","inputs":[{"name":"allo","type":"address","internalType":"contract Allo"},{"name":"strategy","type":"address","internalType":"address"},{"name":"registryCommunity","type":"address","internalType":"address"},{"name":"registry","type":"address","internalType":"contract IRegistry"},{"name":"token","type":"address","internalType":"address"},{"name":"proposalType","type":"uint8","internalType":"enum StrategyStruct.ProposalType"},{"name":"pointSystem","type":"uint8","internalType":"enum StrategyStruct.PointSystem"},{"name":"pointConfig","type":"tuple","internalType":"struct StrategyStruct.PointSystemConfig","components":[{"name":"maxAmount","type":"uint256","internalType":"uint256"}]}],"outputs":[{"name":"poolId","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"getParams","inputs":[{"name":"registryCommunity","type":"address","internalType":"address"},{"name":"proposalType","type":"uint8","internalType":"enum StrategyStruct.ProposalType"},{"name":"pointSystem","type":"uint8","internalType":"enum StrategyStruct.PointSystem"},{"name":"pointConfig","type":"tuple","internalType":"struct StrategyStruct.PointSystemConfig","components":[{"name":"maxAmount","type":"uint256","internalType":"uint256"}]}],"outputs":[{"name":"params","type":"tuple","internalType":"struct StrategyStruct.InitializeParams","components":[{"name":"registryCommunity","type":"address","internalType":"address"},{"name":"decay","type":"uint256","internalType":"uint256"},{"name":"maxRatio","type":"uint256","internalType":"uint256"},{"name":"weight","type":"uint256","internalType":"uint256"},{"name":"minThresholdPoints","type":"uint256","internalType":"uint256"},{"name":"proposalType","type":"uint8","internalType":"enum StrategyStruct.ProposalType"},{"name":"pointSystem","type":"uint8","internalType":"enum StrategyStruct.PointSystem"},{"name":"pointConfig","type":"tuple","internalType":"struct StrategyStruct.PointSystemConfig","components":[{"name":"maxAmount","type":"uint256","internalType":"uint256"}]},{"name":"sybilScorer","type":"address","internalType":"address"}]}],"stateMutability":"pure"},{"type":"function","name":"local","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"metadata","inputs":[],"outputs":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"no_recipient","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"nullProfile_member1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"nullProfile_member2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"nullProfile_members","inputs":[],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"pure"},{"type":"function","name":"nullProfile_notAMember","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"nullProfile_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"poolProfile_id1","inputs":[{"name":"registry","type":"address","internalType":"contract IRegistry"},{"name":"pool_admin","type":"address","internalType":"address"},{"name":"pool_managers","type":"address[]","internalType":"address[]"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"nonpayable"},{"type":"function","name":"pool_admin","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"pool_manager1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"pool_manager2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"pool_managers","inputs":[],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"pool_notAManager","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile1_member1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile1_member2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile1_members","inputs":[],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile1_notAMember","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile1_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile2_member1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile2_member2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile2_members","inputs":[],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile2_notAMember","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile2_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"randomAddress","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"recipient","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"recipient1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"recipient2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"recipientAddress","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"registry_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"}],"bytecode":{"object":"0x60016080908152610120604052602e60c081815260a09162001dfe60e0399052805160099081556020820151600a906200003a9082620000f6565b5050503480156200004a57600080fd5b50620001c2565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806200007c57607f821691505b6020821081036200009d57634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620000f157600081815260208120601f850160051c81016020861015620000cc5750805b601f850160051c820191505b81811015620000ed57828155600101620000d8565b5050505b505050565b81516001600160401b0381111562000112576200011262000051565b6200012a8162000123845462000067565b84620000a3565b602080601f831160018114620001625760008415620001495750858301515b600019600386901b1c1916600185901b178555620000ed565b600085815260208120601f198616915b82811015620001935788860151825594840194600190910190840162000172565b5085821015620001b25787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b611c2c80620001d26000396000f3fe608060405234801561001057600080fd5b50600436106102ac5760003560e01c8063770b2e661161017b578063aa3744bd116100d8578063da4bf0871161008c578063e99ce91111610071578063e99ce91114610445578063ed62303a14610458578063ef0d790f1461046b57600080fd5b8063da4bf08714610435578063dac4eb161461043d57600080fd5b8063d1f2cd88116100bd578063d1f2cd8814610412578063d5bee9f51461041a578063d8c12dc21461042257600080fd5b8063aa3744bd14610402578063d1e82b581461040a57600080fd5b80638c7408c41161012f5780638e3c2493116101145780638e3c2493146103d7578063a0cf0aea146103df578063a407c67a146103fa57600080fd5b80638c7408c4146102ec5780638e0d1a50146103cf57600080fd5b80637b2edf32116101605780637b2edf32146103bf5780637cbe79ed146103c7578063829e423f146102ec57600080fd5b8063770b2e661461039757806379e62d0d146103b757600080fd5b8063392f37e91161022957806366d003ac116101dd57806370a32944116101c257806370a329441461038757806374d9284e146102ec578063759c9a861461038f57600080fd5b806366d003ac146103775780636a38dd0a1461037f57600080fd5b80634bf4ba211161020e5780634bf4ba2114610352578063587c1243146103675780635aff59991461036f57600080fd5b8063392f37e9146103335780633f26479e1461034957600080fd5b8063174eedde116102805780631e7bcb2e116102655780631e7bcb2e146102fb5780632e0f26251461030357806337d1c4041461032057600080fd5b8063174eedde146102ec5780631b96dce6146102f357600080fd5b8062b1fad7146102b1578063030e4006146102d65780630688b135146102de5780630f166ad4146102e6575b600080fd5b6102b9610473565b6040516001600160a01b0390911681526020015b60405180910390f35b6102b96104b8565b6102b96104f8565b306102b9565b60006102b9565b6102b9610538565b6102b9610578565b610312670de0b6b3a764000081565b6040519081526020016102cd565b61031261032e366004611459565b6105b8565b61033b6106a2565b6040516102cd929190611582565b61031261271081565b61035a610739565b6040516102cd91906115e7565b6102b961075c565b6102b961079c565b6102b96107dc565b6102b961081c565b61035a61085c565b6102b96108f4565b6103aa6103a5366004611664565b610934565b6040516102cd91906116e7565b61035a610a0f565b6102b9610a77565b6102b9610ab7565b6102b9610af7565b6102b9610b37565b6102b973eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b61035a610b77565b6102b9610bdf565b6102b9610c1f565b6102b9610c5f565b6102b9610c9f565b610312610430366004611781565b610cdf565b6102b9610d0c565b6102b9610d4c565b610312610453366004611813565b610d8c565b610312610466366004611845565b610e26565b6102b9611029565b60006104b36040518060400160405280600d81526020017f706f6f6c5f6d616e616765723100000000000000000000000000000000000000815250611065565b905090565b60006104b36040518060400160405280601381526020017f70726f66696c65315f6e6f74414d656d62657200000000000000000000000000815250611065565b60006104b36040518060400160405280600a81526020017f726563697069656e743200000000000000000000000000000000000000000000815250611065565b60006104b36040518060400160405280600e81526020017f70726f66696c65325f6f776e6572000000000000000000000000000000000000815250611065565b60006104b36040518060400160405280601081526020017f70726f66696c65315f6d656d6265723100000000000000000000000000000000815250611065565b600b54600090610697576040805180820182526001815281518083018352600c81527f506f6f6c50726f66696c6531000000000000000000000000000000000000000060208281019190915282015290517f3a92f65f0000000000000000000000000000000000000000000000000000000081526001600160a01b03861691633a92f65f9161065091600291889088906004016118e9565b6020604051808303816000875af115801561066f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106939190611979565b600b555b50600b549392505050565b60098054600a80549192916106b690611992565b80601f01602080910402602001604051908101604052809291908181526020018280546106e290611992565b801561072f5780601f106107045761010080835404028352916020019161072f565b820191906000526020600020905b81548152906001019060200180831161071257829003601f168201915b5050505050905082565b604080516002808252606080830184529260208301908036833701905050905090565b60006104b36040518060400160405280601081526020017f70726f66696c65325f6d656d6265723100000000000000000000000000000000815250611065565b60006104b36040518060400160405280601081526020017f726563697069656e744164647265737300000000000000000000000000000000815250611065565b60006104b36040518060400160405280600981526020017f726563697069656e740000000000000000000000000000000000000000000000815250611065565b60006104b36040518060400160405280600d81526020017f706f6f6c5f6d616e616765723200000000000000000000000000000000000000815250611065565b60408051600280825260608083018452926000929190602083019080368337019050509050610889610578565b8160008151811061089c5761089c6119cc565b60200260200101906001600160a01b031690816001600160a01b0316815250506108c4610a77565b816001815181106108d7576108d76119cc565b6001600160a01b0390921660209283029190910190910152919050565b60006104b36040518060400160405280600c81526020017f6e6f5f726563697069656e740000000000000000000000000000000000000000815250611065565b61093c611380565b61094d670de0a46bc207d800611077565b60208201526109636702c68af0bb140000611077565b604082015261097866038d7ea4c68000611077565b60608201526001600160a01b038516815260a0810184600281111561099f5761099f6116bd565b908160028111156109b2576109b26116bd565b90525060c081018360038111156109cb576109cb6116bd565b908160038111156109de576109de6116bd565b9052508151600003610a00576109fd670de0b6b3a764000060c86119f8565b82525b60e08101919091529392505050565b60408051600280825260608083018452926000929190602083019080368337019050509050610a3c610473565b81600081518110610a4f57610a4f6119cc565b60200260200101906001600160a01b031690816001600160a01b0316815250506108c461081c565b60006104b36040518060400160405280601081526020017f70726f66696c65315f6d656d6265723200000000000000000000000000000000815250611065565b60006104b36040518060400160405280600a81526020017f616c6c6f5f6f776e657200000000000000000000000000000000000000000000815250611065565b60006104b36040518060400160405280600a81526020017f706f6f6c5f61646d696e00000000000000000000000000000000000000000000815250611065565b60006104b36040518060400160405280601081526020017f70726f66696c65325f6d656d6265723200000000000000000000000000000000815250611065565b60408051600280825260608083018452926000929190602083019080368337019050509050610ba461075c565b81600081518110610bb757610bb76119cc565b60200260200101906001600160a01b031690816001600160a01b0316815250506108c4610b37565b60006104b36040518060400160405280600a81526020017f726563697069656e743100000000000000000000000000000000000000000000815250611065565b60006104b36040518060400160405280601081526020017f706f6f6c5f6e6f74414d616e6167657200000000000000000000000000000000815250611065565b60006104b36040518060400160405280600e81526020017f70726f66696c65315f6f776e6572000000000000000000000000000000000000815250611065565b60006104b36040518060400160405280600b81526020017f72616e646f6d2063686164000000000000000000000000000000000000000000815250611065565b6000610d008888888888888860405180602001604052806000815250610e26565b98975050505050505050565b60006104b36040518060400160405280600d81526020017f616c6c6f5f747265617375727900000000000000000000000000000000000000815250611065565b60006104b36040518060400160405280600e81526020017f72656769737472795f6f776e6572000000000000000000000000000000000000815250611065565b60008481610daa610da462989680608087901b611a0f565b8361108e565b905060806f80000000000000000000000000000000610dcc8662989680611a31565b610dda84600160801b611a31565b610de7629896808a6119f8565b610df191906119f8565b610dfb9190611a0f565b610e0589856119f8565b610e0f9190611a44565b610e199190611a44565b901c979650505050505050565b600080610e3588868686610934565b60408051600280825260608201835292935060009290916020830190803683370190505090503081600081518110610e6f57610e6f6119cc565b60200260200101906001600160a01b031690816001600160a01b0316815250503381600181518110610ea357610ea36119cc565b6001600160a01b03928316602091820292909201015273eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee90881615610ed95750865b8b6001600160a01b031663e1007d4a610efa8b610ef4610af7565b866105b8565b8d86604051602001610f0c91906116e7565b6040516020818303038152906040528560006009896040518863ffffffff1660e01b8152600401610f439796959493929190611a57565b6020604051808303816000875af1158015610f62573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f869190611979565b9350866002811115610f9a57610f9a6116bd565b8b6001600160a01b031663351d9f966040518163ffffffff1660e01b8152600401602060405180830381865afa158015610fd8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ffc9190611b68565b600281111561100d5761100d6116bd565b1461101a5761101a611b85565b50505098975050505050505050565b60006104b36040518060400160405280601381526020017f70726f66696c65325f6e6f74414d656d626572000000000000000000000000008152505b60006110708261113c565b5092915050565b600061108864174876e80083611a0f565b92915050565b6000600160801b83106110e85760405162461bcd60e51b815260206004820152601c60248201527f5f612073686f756c64206265206c657373207468616e20325e3132380000000060448201526064015b60405180910390fd5b50600160801b82825b801561113457806001166000036111165761110c8283611281565b915060011c6110f1565b6111208383611281565b925061112d600182611a31565b90506110f1565b505092915050565b600080826040516020016111509190611b9b565b60408051808303601f190181529082905280516020909101207fffa18649000000000000000000000000000000000000000000000000000000008252600482018190529150737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ffa1864990602401602060405180830381865afa1580156111d1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111f59190611bb7565b6040517fc657c718000000000000000000000000000000000000000000000000000000008152909250737109709ecfa91a80626ff3989d68f67f5b1dd12d9063c657c7189061124a9085908790600401611bd4565b600060405180830381600087803b15801561126457600080fd5b505af1158015611278573d6000803e3d6000fd5b50505050915091565b6000600160801b8311156112fd5760405162461bcd60e51b815260206004820152602860248201527f5f612073686f756c64206265206c657373207468616e206f7220657175616c2060448201527f746f20325e31323800000000000000000000000000000000000000000000000060648201526084016110df565b600160801b82106113505760405162461bcd60e51b815260206004820152601c60248201527f5f622073686f756c64206265206c657373207468616e20325e3132380000000060448201526064016110df565b60806f8000000000000000000000000000000061136d84866119f8565b6113779190611a44565b901c9392505050565b60405180610120016040528060006001600160a01b0316815260200160008152602001600081526020016000815260200160008152602001600060028111156113cb576113cb6116bd565b8152602001600081526020016113ed6040518060200160405280600081525090565b8152600060209091015290565b6001600160a01b038116811461140f57600080fd5b50565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff8111828210171561145157611451611412565b604052919050565b60008060006060848603121561146e57600080fd5b8335611479816113fa565b925060208481013561148a816113fa565b9250604085013567ffffffffffffffff808211156114a757600080fd5b818701915087601f8301126114bb57600080fd5b8135818111156114cd576114cd611412565b8060051b91506114de848301611428565b818152918301840191848101908a8411156114f857600080fd5b938501935b838510156115225784359250611512836113fa565b82825293850193908501906114fd565b8096505050505050509250925092565b60005b8381101561154d578181015183820152602001611535565b50506000910152565b6000815180845261156e816020860160208601611532565b601f01601f19169290920160200192915050565b82815260406020820152600061159b6040830184611556565b949350505050565b600081518084526020808501945080840160005b838110156115dc5781516001600160a01b0316875295820195908201906001016115b7565b509495945050505050565b6020815260006115fa60208301846115a3565b9392505050565b6003811061140f57600080fd5b80356004811061161d57600080fd5b919050565b60006020828403121561163457600080fd5b6040516020810181811067ffffffffffffffff8211171561165757611657611412565b6040529135825250919050565b6000806000806080858703121561167a57600080fd5b8435611685816113fa565b9350602085013561169581611601565b92506116a36040860161160e565b91506116b28660608701611622565b905092959194509250565b634e487b7160e01b600052602160045260246000fd5b600481106116e3576116e36116bd565b9052565b6000610120820190506001600160a01b0383511682526020830151602083015260408301516040830152606083015160608301526080830151608083015260a08301516003811061173a5761173a6116bd565b8060a08401525060c083015161175360c08401826116d3565b5060e083015161176660e0840182519052565b50610100838101516001600160a01b03811684830152611134565b600080600080600080600060e0888a03121561179c57600080fd5b87356117a7816113fa565b965060208801356117b7816113fa565b955060408801356117c7816113fa565b945060608801356117d7816113fa565b935060808801356117e7816113fa565b925060a08801356117f781611601565b915061180560c0890161160e565b905092959891949750929550565b6000806000806080858703121561182957600080fd5b5050823594602084013594506040840135936060013592509050565b600080600080600080600080610100898b03121561186257600080fd5b883561186d816113fa565b9750602089013561187d816113fa565b9650604089013561188d816113fa565b9550606089013561189d816113fa565b945060808901356118ad816113fa565b935060a08901356118bd81611601565b92506118cb60c08a0161160e565b91506118da8a60e08b01611622565b90509295985092959890939650565b84815260a06020820152600e60a08201527f506f6f6c2050726f66696c65203100000000000000000000000000000000000060c082015260e06040820152835160e082015260006020850151604061010084015261194b610120840182611556565b90506001600160a01b0385166060840152828103608084015261196e81856115a3565b979650505050505050565b60006020828403121561198b57600080fd5b5051919050565b600181811c908216806119a657607f821691505b6020821081036119c657634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b8082028115828204841417611088576110886119e2565b600082611a2c57634e487b7160e01b600052601260045260246000fd5b500490565b81810381811115611088576110886119e2565b80820180821115611088576110886119e2565b878152600060206001600160a01b03808a168285015260e06040850152611a8160e085018a611556565b818916606086015287608086015284810360a08601528654815260019150818701604084830152600081548181861c905085821680611ac157607f821691505b8782108103611ade57634e487b7160e01b84526022600452602484fd5b60408601829052606086019550808015611aff5760018114611b1557611b40565b60ff198416875282151560051b87019450611b40565b60008681526020902060005b84811015611b3a57815489820152908901908a01611b21565b88019550505b5050505086810360c0880152611b5681896115a3565b9e9d5050505050505050505050505050565b600060208284031215611b7a57600080fd5b81516115fa81611601565b634e487b7160e01b600052600160045260246000fd5b60008251611bad818460208701611532565b9190910192915050565b600060208284031215611bc957600080fd5b81516115fa816113fa565b6001600160a01b038316815260406020820152600061159b604083018461155656fea26469706673582212207c3dbf216ea9dc02f8a5789d349cf307c1e4dff1cc61b624fac541984b9c551064736f6c63430008130033516d57347a464c464a524e374a3637457a4e6d64433272324d397532694a44686132666a3547656536684a7a5359","sourceMap":"691:1:142:-:0;587:5355;671:82;;;;587:5355;671:82;;;;;;;;;;;;;644:109;;;;;;;;;;;;;;;;:::i;:::-;;;;587:5355;;;;;;;;;;;;14:127:151;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:380;225:1;221:12;;;;268;;;289:61;;343:4;335:6;331:17;321:27;;289:61;396:2;388:6;385:14;365:18;362:38;359:161;;442:10;437:3;433:20;430:1;423:31;477:4;474:1;467:15;505:4;502:1;495:15;359:161;;146:380;;;:::o;657:545::-;759:2;754:3;751:11;748:448;;;795:1;820:5;816:2;809:17;865:4;861:2;851:19;935:2;923:10;919:19;916:1;912:27;906:4;902:38;971:4;959:10;956:20;953:47;;;-1:-1:-1;994:4:151;953:47;1049:2;1044:3;1040:12;1037:1;1033:20;1027:4;1023:31;1013:41;;1104:82;1122:2;1115:5;1112:13;1104:82;;;1167:17;;;1148:1;1137:13;1104:82;;;1108:3;;;748:448;657:545;;;:::o;1378:1352::-;1498:10;;-1:-1:-1;;;;;1520:30:151;;1517:56;;;1553:18;;:::i;:::-;1582:97;1672:6;1632:38;1664:4;1658:11;1632:38;:::i;:::-;1626:4;1582:97;:::i;:::-;1734:4;;1798:2;1787:14;;1815:1;1810:663;;;;2517:1;2534:6;2531:89;;;-1:-1:-1;2586:19:151;;;2580:26;2531:89;-1:-1:-1;;1335:1:151;1331:11;;;1327:24;1323:29;1313:40;1359:1;1355:11;;;1310:57;2633:81;;1780:944;;1810:663;604:1;597:14;;;641:4;628:18;;-1:-1:-1;;1846:20:151;;;1964:236;1978:7;1975:1;1972:14;1964:236;;;2067:19;;;2061:26;2046:42;;2159:27;;;;2127:1;2115:14;;;;1994:19;;1964:236;;;1968:3;2228:6;2219:7;2216:19;2213:201;;;2289:19;;;2283:26;-1:-1:-1;;2372:1:151;2368:14;;;2384:3;2364:24;2360:37;2356:42;2341:58;2326:74;;2213:201;-1:-1:-1;;;;;2460:1:151;2444:14;;;2440:22;2427:36;;-1:-1:-1;1378:1352:151:o;:::-;587:5355:142;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b50600436106102ac5760003560e01c8063770b2e661161017b578063aa3744bd116100d8578063da4bf0871161008c578063e99ce91111610071578063e99ce91114610445578063ed62303a14610458578063ef0d790f1461046b57600080fd5b8063da4bf08714610435578063dac4eb161461043d57600080fd5b8063d1f2cd88116100bd578063d1f2cd8814610412578063d5bee9f51461041a578063d8c12dc21461042257600080fd5b8063aa3744bd14610402578063d1e82b581461040a57600080fd5b80638c7408c41161012f5780638e3c2493116101145780638e3c2493146103d7578063a0cf0aea146103df578063a407c67a146103fa57600080fd5b80638c7408c4146102ec5780638e0d1a50146103cf57600080fd5b80637b2edf32116101605780637b2edf32146103bf5780637cbe79ed146103c7578063829e423f146102ec57600080fd5b8063770b2e661461039757806379e62d0d146103b757600080fd5b8063392f37e91161022957806366d003ac116101dd57806370a32944116101c257806370a329441461038757806374d9284e146102ec578063759c9a861461038f57600080fd5b806366d003ac146103775780636a38dd0a1461037f57600080fd5b80634bf4ba211161020e5780634bf4ba2114610352578063587c1243146103675780635aff59991461036f57600080fd5b8063392f37e9146103335780633f26479e1461034957600080fd5b8063174eedde116102805780631e7bcb2e116102655780631e7bcb2e146102fb5780632e0f26251461030357806337d1c4041461032057600080fd5b8063174eedde146102ec5780631b96dce6146102f357600080fd5b8062b1fad7146102b1578063030e4006146102d65780630688b135146102de5780630f166ad4146102e6575b600080fd5b6102b9610473565b6040516001600160a01b0390911681526020015b60405180910390f35b6102b96104b8565b6102b96104f8565b306102b9565b60006102b9565b6102b9610538565b6102b9610578565b610312670de0b6b3a764000081565b6040519081526020016102cd565b61031261032e366004611459565b6105b8565b61033b6106a2565b6040516102cd929190611582565b61031261271081565b61035a610739565b6040516102cd91906115e7565b6102b961075c565b6102b961079c565b6102b96107dc565b6102b961081c565b61035a61085c565b6102b96108f4565b6103aa6103a5366004611664565b610934565b6040516102cd91906116e7565b61035a610a0f565b6102b9610a77565b6102b9610ab7565b6102b9610af7565b6102b9610b37565b6102b973eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b61035a610b77565b6102b9610bdf565b6102b9610c1f565b6102b9610c5f565b6102b9610c9f565b610312610430366004611781565b610cdf565b6102b9610d0c565b6102b9610d4c565b610312610453366004611813565b610d8c565b610312610466366004611845565b610e26565b6102b9611029565b60006104b36040518060400160405280600d81526020017f706f6f6c5f6d616e616765723100000000000000000000000000000000000000815250611065565b905090565b60006104b36040518060400160405280601381526020017f70726f66696c65315f6e6f74414d656d62657200000000000000000000000000815250611065565b60006104b36040518060400160405280600a81526020017f726563697069656e743200000000000000000000000000000000000000000000815250611065565b60006104b36040518060400160405280600e81526020017f70726f66696c65325f6f776e6572000000000000000000000000000000000000815250611065565b60006104b36040518060400160405280601081526020017f70726f66696c65315f6d656d6265723100000000000000000000000000000000815250611065565b600b54600090610697576040805180820182526001815281518083018352600c81527f506f6f6c50726f66696c6531000000000000000000000000000000000000000060208281019190915282015290517f3a92f65f0000000000000000000000000000000000000000000000000000000081526001600160a01b03861691633a92f65f9161065091600291889088906004016118e9565b6020604051808303816000875af115801561066f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106939190611979565b600b555b50600b549392505050565b60098054600a80549192916106b690611992565b80601f01602080910402602001604051908101604052809291908181526020018280546106e290611992565b801561072f5780601f106107045761010080835404028352916020019161072f565b820191906000526020600020905b81548152906001019060200180831161071257829003601f168201915b5050505050905082565b604080516002808252606080830184529260208301908036833701905050905090565b60006104b36040518060400160405280601081526020017f70726f66696c65325f6d656d6265723100000000000000000000000000000000815250611065565b60006104b36040518060400160405280601081526020017f726563697069656e744164647265737300000000000000000000000000000000815250611065565b60006104b36040518060400160405280600981526020017f726563697069656e740000000000000000000000000000000000000000000000815250611065565b60006104b36040518060400160405280600d81526020017f706f6f6c5f6d616e616765723200000000000000000000000000000000000000815250611065565b60408051600280825260608083018452926000929190602083019080368337019050509050610889610578565b8160008151811061089c5761089c6119cc565b60200260200101906001600160a01b031690816001600160a01b0316815250506108c4610a77565b816001815181106108d7576108d76119cc565b6001600160a01b0390921660209283029190910190910152919050565b60006104b36040518060400160405280600c81526020017f6e6f5f726563697069656e740000000000000000000000000000000000000000815250611065565b61093c611380565b61094d670de0a46bc207d800611077565b60208201526109636702c68af0bb140000611077565b604082015261097866038d7ea4c68000611077565b60608201526001600160a01b038516815260a0810184600281111561099f5761099f6116bd565b908160028111156109b2576109b26116bd565b90525060c081018360038111156109cb576109cb6116bd565b908160038111156109de576109de6116bd565b9052508151600003610a00576109fd670de0b6b3a764000060c86119f8565b82525b60e08101919091529392505050565b60408051600280825260608083018452926000929190602083019080368337019050509050610a3c610473565b81600081518110610a4f57610a4f6119cc565b60200260200101906001600160a01b031690816001600160a01b0316815250506108c461081c565b60006104b36040518060400160405280601081526020017f70726f66696c65315f6d656d6265723200000000000000000000000000000000815250611065565b60006104b36040518060400160405280600a81526020017f616c6c6f5f6f776e657200000000000000000000000000000000000000000000815250611065565b60006104b36040518060400160405280600a81526020017f706f6f6c5f61646d696e00000000000000000000000000000000000000000000815250611065565b60006104b36040518060400160405280601081526020017f70726f66696c65325f6d656d6265723200000000000000000000000000000000815250611065565b60408051600280825260608083018452926000929190602083019080368337019050509050610ba461075c565b81600081518110610bb757610bb76119cc565b60200260200101906001600160a01b031690816001600160a01b0316815250506108c4610b37565b60006104b36040518060400160405280600a81526020017f726563697069656e743100000000000000000000000000000000000000000000815250611065565b60006104b36040518060400160405280601081526020017f706f6f6c5f6e6f74414d616e6167657200000000000000000000000000000000815250611065565b60006104b36040518060400160405280600e81526020017f70726f66696c65315f6f776e6572000000000000000000000000000000000000815250611065565b60006104b36040518060400160405280600b81526020017f72616e646f6d2063686164000000000000000000000000000000000000000000815250611065565b6000610d008888888888888860405180602001604052806000815250610e26565b98975050505050505050565b60006104b36040518060400160405280600d81526020017f616c6c6f5f747265617375727900000000000000000000000000000000000000815250611065565b60006104b36040518060400160405280600e81526020017f72656769737472795f6f776e6572000000000000000000000000000000000000815250611065565b60008481610daa610da462989680608087901b611a0f565b8361108e565b905060806f80000000000000000000000000000000610dcc8662989680611a31565b610dda84600160801b611a31565b610de7629896808a6119f8565b610df191906119f8565b610dfb9190611a0f565b610e0589856119f8565b610e0f9190611a44565b610e199190611a44565b901c979650505050505050565b600080610e3588868686610934565b60408051600280825260608201835292935060009290916020830190803683370190505090503081600081518110610e6f57610e6f6119cc565b60200260200101906001600160a01b031690816001600160a01b0316815250503381600181518110610ea357610ea36119cc565b6001600160a01b03928316602091820292909201015273eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee90881615610ed95750865b8b6001600160a01b031663e1007d4a610efa8b610ef4610af7565b866105b8565b8d86604051602001610f0c91906116e7565b6040516020818303038152906040528560006009896040518863ffffffff1660e01b8152600401610f439796959493929190611a57565b6020604051808303816000875af1158015610f62573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f869190611979565b9350866002811115610f9a57610f9a6116bd565b8b6001600160a01b031663351d9f966040518163ffffffff1660e01b8152600401602060405180830381865afa158015610fd8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ffc9190611b68565b600281111561100d5761100d6116bd565b1461101a5761101a611b85565b50505098975050505050505050565b60006104b36040518060400160405280601381526020017f70726f66696c65325f6e6f74414d656d626572000000000000000000000000008152505b60006110708261113c565b5092915050565b600061108864174876e80083611a0f565b92915050565b6000600160801b83106110e85760405162461bcd60e51b815260206004820152601c60248201527f5f612073686f756c64206265206c657373207468616e20325e3132380000000060448201526064015b60405180910390fd5b50600160801b82825b801561113457806001166000036111165761110c8283611281565b915060011c6110f1565b6111208383611281565b925061112d600182611a31565b90506110f1565b505092915050565b600080826040516020016111509190611b9b565b60408051808303601f190181529082905280516020909101207fffa18649000000000000000000000000000000000000000000000000000000008252600482018190529150737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ffa1864990602401602060405180830381865afa1580156111d1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111f59190611bb7565b6040517fc657c718000000000000000000000000000000000000000000000000000000008152909250737109709ecfa91a80626ff3989d68f67f5b1dd12d9063c657c7189061124a9085908790600401611bd4565b600060405180830381600087803b15801561126457600080fd5b505af1158015611278573d6000803e3d6000fd5b50505050915091565b6000600160801b8311156112fd5760405162461bcd60e51b815260206004820152602860248201527f5f612073686f756c64206265206c657373207468616e206f7220657175616c2060448201527f746f20325e31323800000000000000000000000000000000000000000000000060648201526084016110df565b600160801b82106113505760405162461bcd60e51b815260206004820152601c60248201527f5f622073686f756c64206265206c657373207468616e20325e3132380000000060448201526064016110df565b60806f8000000000000000000000000000000061136d84866119f8565b6113779190611a44565b901c9392505050565b60405180610120016040528060006001600160a01b0316815260200160008152602001600081526020016000815260200160008152602001600060028111156113cb576113cb6116bd565b8152602001600081526020016113ed6040518060200160405280600081525090565b8152600060209091015290565b6001600160a01b038116811461140f57600080fd5b50565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff8111828210171561145157611451611412565b604052919050565b60008060006060848603121561146e57600080fd5b8335611479816113fa565b925060208481013561148a816113fa565b9250604085013567ffffffffffffffff808211156114a757600080fd5b818701915087601f8301126114bb57600080fd5b8135818111156114cd576114cd611412565b8060051b91506114de848301611428565b818152918301840191848101908a8411156114f857600080fd5b938501935b838510156115225784359250611512836113fa565b82825293850193908501906114fd565b8096505050505050509250925092565b60005b8381101561154d578181015183820152602001611535565b50506000910152565b6000815180845261156e816020860160208601611532565b601f01601f19169290920160200192915050565b82815260406020820152600061159b6040830184611556565b949350505050565b600081518084526020808501945080840160005b838110156115dc5781516001600160a01b0316875295820195908201906001016115b7565b509495945050505050565b6020815260006115fa60208301846115a3565b9392505050565b6003811061140f57600080fd5b80356004811061161d57600080fd5b919050565b60006020828403121561163457600080fd5b6040516020810181811067ffffffffffffffff8211171561165757611657611412565b6040529135825250919050565b6000806000806080858703121561167a57600080fd5b8435611685816113fa565b9350602085013561169581611601565b92506116a36040860161160e565b91506116b28660608701611622565b905092959194509250565b634e487b7160e01b600052602160045260246000fd5b600481106116e3576116e36116bd565b9052565b6000610120820190506001600160a01b0383511682526020830151602083015260408301516040830152606083015160608301526080830151608083015260a08301516003811061173a5761173a6116bd565b8060a08401525060c083015161175360c08401826116d3565b5060e083015161176660e0840182519052565b50610100838101516001600160a01b03811684830152611134565b600080600080600080600060e0888a03121561179c57600080fd5b87356117a7816113fa565b965060208801356117b7816113fa565b955060408801356117c7816113fa565b945060608801356117d7816113fa565b935060808801356117e7816113fa565b925060a08801356117f781611601565b915061180560c0890161160e565b905092959891949750929550565b6000806000806080858703121561182957600080fd5b5050823594602084013594506040840135936060013592509050565b600080600080600080600080610100898b03121561186257600080fd5b883561186d816113fa565b9750602089013561187d816113fa565b9650604089013561188d816113fa565b9550606089013561189d816113fa565b945060808901356118ad816113fa565b935060a08901356118bd81611601565b92506118cb60c08a0161160e565b91506118da8a60e08b01611622565b90509295985092959890939650565b84815260a06020820152600e60a08201527f506f6f6c2050726f66696c65203100000000000000000000000000000000000060c082015260e06040820152835160e082015260006020850151604061010084015261194b610120840182611556565b90506001600160a01b0385166060840152828103608084015261196e81856115a3565b979650505050505050565b60006020828403121561198b57600080fd5b5051919050565b600181811c908216806119a657607f821691505b6020821081036119c657634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b8082028115828204841417611088576110886119e2565b600082611a2c57634e487b7160e01b600052601260045260246000fd5b500490565b81810381811115611088576110886119e2565b80820180821115611088576110886119e2565b878152600060206001600160a01b03808a168285015260e06040850152611a8160e085018a611556565b818916606086015287608086015284810360a08601528654815260019150818701604084830152600081548181861c905085821680611ac157607f821691505b8782108103611ade57634e487b7160e01b84526022600452602484fd5b60408601829052606086019550808015611aff5760018114611b1557611b40565b60ff198416875282151560051b87019450611b40565b60008681526020902060005b84811015611b3a57815489820152908901908a01611b21565b88019550505b5050505086810360c0880152611b5681896115a3565b9e9d5050505050505050505050505050565b600060208284031215611b7a57600080fd5b81516115fa81611601565b634e487b7160e01b600052600160045260246000fd5b60008251611bad818460208701611532565b9190910192915050565b600060208284031215611bc957600080fd5b81516115fa816113fa565b6001600160a01b038316815260406020820152600061159b604083018461155656fea26469706673582212207c3dbf216ea9dc02f8a5789d349cf307c1e4dff1cc61b624fac541984b9c551064736f6c63430008130033","sourceMap":"587:5355:142:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1763:107:15;;;:::i;:::-;;;-1:-1:-1;;;;;310:55:151;;;292:74;;280:2;265:18;1763:107:15;;;;;;;;2429:119;;;:::i;4045:101::-;;;:::i;226:92::-;306:4;226:92;;905:138;968:7;905:138;;3126:109;;;:::i;2554:113::-;;;:::i;782:43:142:-;;817:8;782:43;;;;;523:25:151;;;511:2;496:18;782:43:142;377:177:151;1176:437:142;;;;;;:::i;:::-;;:::i;644:109::-;;;:::i;:::-;;;;;;;;:::i;831:50::-;;874:7;831:50;;1331:118:15;;;:::i;:::-;;;;;;;:::i;3366:113::-;;;:::i;4257:::-;;;:::i;4152:99::-;;;:::i;1876:107::-;;;:::i;2792:241::-;;;:::i;4376:105::-;;;:::i;1619:1088:142:-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;1989:232:15:-;;;:::i;2673:113::-;;;:::i;439:101::-;;;:::i;1537:::-;;;:::i;3485:113::-;;;:::i;4412:75:9:-;;4445:42;4412:75;;3604:241:15;;;:::i;3938:101::-;;;:::i;1644:113::-;;;:::i;2314:109::-;;;:::i;4571:105::-;;;:::i;4165:543:142:-;;;;;;:::i;:::-;;:::i;546:124:15:-;;;:::i;324:109::-;;;:::i;5562:378:142:-;;;;;;:::i;:::-;;:::i;2713:1446::-;;;;;;:::i;:::-;;:::i;3241:119:15:-;;;:::i;1763:107::-;1812:7;1838:25;;;;;;;;;;;;;;;;;;:8;:25::i;:::-;1831:32;;1763:107;:::o;2429:119::-;2484:7;2510:31;;;;;;;;;;;;;;;;;;:8;:31::i;4045:101::-;4091:7;4117:22;;;;;;;;;;;;;;;;;;:8;:22::i;3126:109::-;3176:7;3202:26;;;;;;;;;;;;;;;;;;:8;:26::i;2554:113::-;2606:7;2632:28;;;;;;;;;;;;;;;;;;:8;:28::i;1176:437:142:-;1348:16;;1321:7;;1344:230;;1474:48;;;;;;;;1494:1;1474:48;;;;;;;;;;;;;;;;;;;;;;;;1413:150;;;;;-1:-1:-1;;;;;1413:22:142;;;;;:150;;1453:1;;1524:10;;1536:13;;1413:150;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1394:16;:169;1344:230;-1:-1:-1;1590:16:142;;1176:437;;;;;:::o;644:109::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;1331:118:15:-;1426:16;;;1440:1;1426:16;;;1391;1426;;;;;1391;1426;;;;;;;;;;-1:-1:-1;1426:16:15;1419:23;;1331:118;:::o;3366:113::-;3418:7;3444:28;;;;;;;;;;;;;;;;;;:8;:28::i;4257:113::-;4309:7;4335:28;;;;;;;;;;;;;;;;;;:8;:28::i;4152:99::-;4197:7;4223:21;;;;;;;;;;;;;;;;;;:8;:21::i;1876:107::-;1925:7;1951:25;;;;;;;;;;;;;;;;;;:8;:25::i;2792:241::-;2900:16;;;2914:1;2900:16;;;2844;2900;;;;;2844;2872:25;;2900:16;2914:1;2900:16;;;;;;;;;;-1:-1:-1;2900:16:15;2872:44;;2940:18;:16;:18::i;:::-;2926:8;2935:1;2926:11;;;;;;;;:::i;:::-;;;;;;:32;-1:-1:-1;;;;;2926:32:15;;;-1:-1:-1;;;;;2926:32:15;;;;;2982:18;:16;:18::i;:::-;2968:8;2977:1;2968:11;;;;;;;;:::i;:::-;-1:-1:-1;;;;;2968:32:15;;;:11;;;;;;;;;;;:32;3018:8;2792:241;-1:-1:-1;2792:241:15:o;4376:105::-;4424:7;4450:24;;;;;;;;;;;;;;;;;;:8;:24::i;1619:1088:142:-;1859:45;;:::i;:::-;1982:30;1996:15;1982:13;:30::i;:::-;1967:12;;;:45;2129:24;2143:9;2129:13;:24::i;:::-;2111:15;;;:42;2198:26;2212:11;2198:13;:26::i;:::-;2182:13;;;:42;-1:-1:-1;;;;;2321:44:142;;;;2375:19;;;2397:12;2375:34;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;2419:18:142;;;2440:11;2419:32;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;2466:21:142;;;:26;2462:197;;2634:14;817:8;2634:3;:14;:::i;:::-;2610:38;;2462:197;2668:18;;;:32;;;;:6;1619:1088;-1:-1:-1;;;1619:1088:142:o;1989:232:15:-;2094:16;;;2108:1;2094:16;;;2038;2094;;;;;2038;2066:25;;2094:16;2108:1;2094:16;;;;;;;;;;-1:-1:-1;2094:16:15;2066:44;;2134:15;:13;:15::i;:::-;2120:8;2129:1;2120:11;;;;;;;;:::i;:::-;;;;;;:29;-1:-1:-1;;;;;2120:29:15;;;-1:-1:-1;;;;;2120:29:15;;;;;2173:15;:13;:15::i;2673:113::-;2725:7;2751:28;;;;;;;;;;;;;;;;;;:8;:28::i;439:101::-;485:7;511:22;;;;;;;;;;;;;;;;;;:8;:22::i;1537:101::-;1583:7;1609:22;;;;;;;;;;;;;;;;;;:8;:22::i;3485:113::-;3537:7;3563:28;;;;;;;;;;;;;;;;;;:8;:28::i;3604:241::-;3712:16;;;3726:1;3712:16;;;3656;3712;;;;;3656;3684:25;;3712:16;3726:1;3712:16;;;;;;;;;;-1:-1:-1;3712:16:15;3684:44;;3752:18;:16;:18::i;:::-;3738:8;3747:1;3738:11;;;;;;;;:::i;:::-;;;;;;:32;-1:-1:-1;;;;;3738:32:15;;;-1:-1:-1;;;;;3738:32:15;;;;;3794:18;:16;:18::i;3938:101::-;3984:7;4010:22;;;;;;;;;;;;;;;;;;:8;:22::i;1644:113::-;1696:7;1722:28;;;;;;;;;;;;;;;;;;:8;:28::i;2314:109::-;2364:7;2390:26;;;;;;;;;;;;;;;;;;:8;:26::i;4571:105::-;4620:7;4646:23;;;;;;;;;;;;;;;;;;:8;:23::i;4165:543:142:-;4436:14;4469:232;4493:4;4511:8;4533:17;4564:8;4586:5;4605:12;4631:11;4656:35;;;;;;;;4689:1;4656:35;;;4469:10;:232::i;:::-;4462:239;4165:543;-1:-1:-1;;;;;;;;4165:543:142:o;546:124:15:-;595:15;637:25;;;;;;;;;;;;;;;;;;:8;:25::i;324:109::-;374:7;400:26;;;;;;;;;;;;;;;;;;:8;:26::i;5562:378:142:-;5712:7;5747:11;5712:7;5788:27;5793:18;1058:7;5803:3;5794:12;;;5793:18;:::i;:::-;5813:1;5788:4;:27::i;:::-;5768:47;-1:-1:-1;5930:3:142;964:8;5903:9;5907:5;1058:7;5903:9;:::i;:::-;5879:19;5889:9;-1:-1:-1;;;5879:19:142;:::i;:::-;5861:14;1058:7;5861:10;:14;:::i;:::-;:38;;;;:::i;:::-;:52;;;;:::i;:::-;5835:21;5847:9;5835;:21;:::i;:::-;5834:80;;;;:::i;:::-;5833:92;;;;:::i;:::-;5832:101;;;5562:378;-1:-1:-1;;;;;;;5562:378:142:o;2713:1446::-;3045:14;3122:45;3182:68;3192:17;3211:12;3225:11;3238;3182:9;:68::i;:::-;3295:16;;;3309:1;3295:16;;;;;;;;3122:128;;-1:-1:-1;3261:31:142;;3295:16;;;;;;;;;;;;-1:-1:-1;3295:16:142;3261:50;;3349:4;3321:14;3336:1;3321:17;;;;;;;;:::i;:::-;;;;;;:33;-1:-1:-1;;;;;3321:33:142;;;-1:-1:-1;;;;;3321:33:142;;;;;3392:10;3364:14;3379:1;3364:17;;;;;;;;:::i;:::-;-1:-1:-1;;;;;3364:39:142;;;:17;;;;;;;;;:39;4445:42:9;;3690:19:142;;;3686:64;;-1:-1:-1;3734:5:142;3686:64;3768:4;-1:-1:-1;;;;;3768:33:142;;3856:55;3872:8;3882:12;:10;:12::i;:::-;3896:14;3856:15;:55::i;:::-;3933:8;3967:6;3956:18;;;;;;;;:::i;:::-;;;;;;;;;;;;;3988:6;4008:1;4023:8;4045:14;3768:301;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3759:310;;4139:12;4087:64;;;;;;;;:::i;:::-;4110:8;-1:-1:-1;;;;;4087:46:142;;:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:64;;;;;;;;:::i;:::-;;4080:72;;;;:::i;:::-;3061:1098;;;2713:1446;;;;;;;;;;:::o;3241:119:15:-;3296:7;3322:31;;;;;;;;;;;;;;;;;;20439:125:24;20503:12;20537:20;20552:4;20537:14;:20::i;:::-;-1:-1:-1;20527:30:24;20439:125;-1:-1:-1;;20439:125:24:o;4714:114:142:-;4777:7;4803:18;4813:8;4803:7;:18;:::i;:::-;4796:25;4714:114;-1:-1:-1;;4714:114:142:o;5109:447::-;5170:15;-1:-1:-1;;;5205:2:142;:12;5197:53;;;;-1:-1:-1;;;5197:53:142;;16438:2:151;5197:53:142;;;16420:21:151;16477:2;16457:18;;;16450:30;16516;16496:18;;;16489:58;16564:18;;5197:53:142;;;;;;;;;-1:-1:-1;;;;5272:2:142;5296;5335:215;5342:5;;5335:215;;5367:1;5371;5367:5;5376:1;5367:10;5363:177;;5401:10;5406:1;5409;5401:4;:10::i;:::-;5397:14;-1:-1:-1;5435:1:142;5429:7;5335:215;;5363:177;5485:16;5490:7;5499:1;5485:4;:16::i;:::-;5475:26;-1:-1:-1;5519:6:142;5524:1;5519:6;;:::i;:::-;;;5335:215;;;5187:369;;5109:447;;;;:::o;20158:242:24:-;20228:12;20242:18;20320:4;20303:22;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;20303:22:24;;;;;;;20293:33;;20303:22;20293:33;;;;20344:19;;;;;;523:25:151;;;20293:33:24;-1:-1:-1;20344:7:24;;;;496:18:151;;20344:19:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;20373:20;;;;;20337:26;;-1:-1:-1;20373:8:24;;;;:20;;20337:26;;20388:4;;20373:20;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20158:242;;;:::o;4834:269:142:-;4895:15;-1:-1:-1;;;4930:2:142;:13;;4922:66;;;;-1:-1:-1;;;4922:66:142;;17701:2:151;4922:66:142;;;17683:21:151;17740:2;17720:18;;;17713:30;17779:34;17759:18;;;17752:62;17850:10;17830:18;;;17823:38;17878:19;;4922:66:142;17499:404:151;4922:66:142;-1:-1:-1;;;5006:2:142;:12;4998:53;;;;-1:-1:-1;;;4998:53:142;;18110:2:151;4998:53:142;;;18092:21:151;18149:2;18129:18;;;18122:30;18188;18168:18;;;18161:58;18236:18;;4998:53:142;17908:352:151;4998:53:142;5093:3;964:8;5070:7;5075:2;5070;:7;:::i;:::-;5069:19;;;;:::i;:::-;5068:28;;;4834:269;-1:-1:-1;;;4834:269:142:o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;559:165:151:-;-1:-1:-1;;;;;649:5:151;645:54;638:5;635:65;625:93;;714:1;711;704:12;625:93;559:165;:::o;729:184::-;-1:-1:-1;;;778:1:151;771:88;878:4;875:1;868:15;902:4;899:1;892:15;918:275;989:2;983:9;1054:2;1035:13;;-1:-1:-1;;1031:27:151;1019:40;;1089:18;1074:34;;1110:22;;;1071:62;1068:88;;;1136:18;;:::i;:::-;1172:2;1165:22;918:275;;-1:-1:-1;918:275:151:o;1198:1354::-;1318:6;1326;1334;1387:2;1375:9;1366:7;1362:23;1358:32;1355:52;;;1403:1;1400;1393:12;1355:52;1442:9;1429:23;1461:42;1497:5;1461:42;:::i;:::-;1522:5;-1:-1:-1;1546:2:151;1585:18;;;1572:32;1613:44;1572:32;1613:44;:::i;:::-;1676:7;-1:-1:-1;1734:2:151;1719:18;;1706:32;1757:18;1787:14;;;1784:34;;;1814:1;1811;1804:12;1784:34;1852:6;1841:9;1837:22;1827:32;;1897:7;1890:4;1886:2;1882:13;1878:27;1868:55;;1919:1;1916;1909:12;1868:55;1955:2;1942:16;1977:2;1973;1970:10;1967:36;;;1983:18;;:::i;:::-;2029:2;2026:1;2022:10;2012:20;;2052:28;2076:2;2072;2068:11;2052:28;:::i;:::-;2114:15;;;2184:11;;;2180:20;;;2145:12;;;;2212:19;;;2209:39;;;2244:1;2241;2234:12;2209:39;2268:11;;;;2288:234;2304:6;2299:3;2296:15;2288:234;;;2386:3;2373:17;2358:32;;2403:44;2439:7;2403:44;:::i;:::-;2460:20;;;2321:12;;;;2500;;;;2288:234;;;2541:5;2531:15;;;;;;;;1198:1354;;;;;:::o;2894:250::-;2979:1;2989:113;3003:6;3000:1;2997:13;2989:113;;;3079:11;;;3073:18;3060:11;;;3053:39;3025:2;3018:10;2989:113;;;-1:-1:-1;;3136:1:151;3118:16;;3111:27;2894:250::o;3149:271::-;3191:3;3229:5;3223:12;3256:6;3251:3;3244:19;3272:76;3341:6;3334:4;3329:3;3325:14;3318:4;3311:5;3307:16;3272:76;:::i;:::-;3402:2;3381:15;-1:-1:-1;;3377:29:151;3368:39;;;;3409:4;3364:50;;3149:271;-1:-1:-1;;3149:271:151:o;3425:291::-;3602:6;3591:9;3584:25;3645:2;3640;3629:9;3625:18;3618:30;3565:4;3665:45;3706:2;3695:9;3691:18;3683:6;3665:45;:::i;:::-;3657:53;3425:291;-1:-1:-1;;;;3425:291:151:o;3721:484::-;3774:3;3812:5;3806:12;3839:6;3834:3;3827:19;3865:4;3894:2;3889:3;3885:12;3878:19;;3931:2;3924:5;3920:14;3952:1;3962:218;3976:6;3973:1;3970:13;3962:218;;;4041:13;;-1:-1:-1;;;;;4037:62:151;4025:75;;4120:12;;;;4155:15;;;;3998:1;3991:9;3962:218;;;-1:-1:-1;4196:3:151;;3721:484;-1:-1:-1;;;;;3721:484:151:o;4210:261::-;4389:2;4378:9;4371:21;4352:4;4409:56;4461:2;4450:9;4446:18;4438:6;4409:56;:::i;:::-;4401:64;4210:261;-1:-1:-1;;;4210:261:151:o;4476:111::-;4561:1;4554:5;4551:12;4541:40;;4577:1;4574;4567:12;4592:152;4669:20;;4718:1;4708:12;;4698:40;;4734:1;4731;4724:12;4698:40;4592:152;;;:::o;4749:416::-;4813:5;4861:4;4849:9;4844:3;4840:19;4836:30;4833:50;;;4879:1;4876;4869:12;4833:50;4912:2;4906:9;4954:4;4946:6;4942:17;5025:6;5013:10;5010:22;4989:18;4977:10;4974:34;4971:62;4968:88;;;5036:18;;:::i;:::-;5072:2;5065:22;5135:23;;5120:39;;-1:-1:-1;5105:6:151;4749:416;-1:-1:-1;4749:416:151:o;5170:664::-;5327:6;5335;5343;5351;5404:3;5392:9;5383:7;5379:23;5375:33;5372:53;;;5421:1;5418;5411:12;5372:53;5460:9;5447:23;5479:42;5515:5;5479:42;:::i;:::-;5540:5;-1:-1:-1;5597:2:151;5582:18;;5569:32;5610:43;5569:32;5610:43;:::i;:::-;5672:7;-1:-1:-1;5698:47:151;5741:2;5726:18;;5698:47;:::i;:::-;5688:57;;5764:64;5820:7;5815:2;5804:9;5800:18;5764:64;:::i;:::-;5754:74;;5170:664;;;;;;;:::o;5839:184::-;-1:-1:-1;;;5888:1:151;5881:88;5988:4;5985:1;5978:15;6012:4;6009:1;6002:15;6028:142;6111:1;6104:5;6101:12;6091:46;;6117:18;;:::i;:::-;6146;;6028:142::o;6270:1129::-;6432:4;6474:3;6463:9;6459:19;6451:27;;-1:-1:-1;;;;;6515:6:151;6509:13;6505:62;6494:9;6487:81;6624:4;6616:6;6612:17;6606:24;6599:4;6588:9;6584:20;6577:54;6687:4;6679:6;6675:17;6669:24;6662:4;6651:9;6647:20;6640:54;6750:4;6742:6;6738:17;6732:24;6725:4;6714:9;6710:20;6703:54;6813:4;6805:6;6801:17;6795:24;6788:4;6777:9;6773:20;6766:54;6867:4;6859:6;6855:17;6849:24;6909:1;6895:12;6892:19;6882:53;;6915:18;;:::i;:::-;6973:12;6966:4;6955:9;6951:20;6944:42;;7035:4;7027:6;7023:17;7017:24;7050:65;7109:4;7098:9;7094:20;7078:14;7050:65;:::i;:::-;;7164:4;7156:6;7152:17;7146:24;7179:73;7246:4;7235:9;7231:20;7215:14;6250:12;6238:25;;6175:90;7179:73;-1:-1:-1;7271:6:151;7314:15;;;7308:22;-1:-1:-1;;;;;80:54:151;;7374:18;;;68:67;7339:54;14:127;7404:1170;7583:6;7591;7599;7607;7615;7623;7631;7684:3;7672:9;7663:7;7659:23;7655:33;7652:53;;;7701:1;7698;7691:12;7652:53;7740:9;7727:23;7759:42;7795:5;7759:42;:::i;:::-;7820:5;-1:-1:-1;7877:2:151;7862:18;;7849:32;7890:44;7849:32;7890:44;:::i;:::-;7953:7;-1:-1:-1;8012:2:151;7997:18;;7984:32;8025:44;7984:32;8025:44;:::i;:::-;8088:7;-1:-1:-1;8147:2:151;8132:18;;8119:32;8160:44;8119:32;8160:44;:::i;:::-;8223:7;-1:-1:-1;8282:3:151;8267:19;;8254:33;8296:44;8254:33;8296:44;:::i;:::-;8359:7;-1:-1:-1;8418:3:151;8403:19;;8390:33;8432:43;8390:33;8432:43;:::i;:::-;8494:7;-1:-1:-1;8520:48:151;8563:3;8548:19;;8520:48;:::i;:::-;8510:58;;7404:1170;;;;;;;;;;:::o;8826:385::-;8912:6;8920;8928;8936;8989:3;8977:9;8968:7;8964:23;8960:33;8957:53;;;9006:1;9003;8996:12;8957:53;-1:-1:-1;;9029:23:151;;;9099:2;9084:18;;9071:32;;-1:-1:-1;9150:2:151;9135:18;;9122:32;;9201:2;9186:18;9173:32;;-1:-1:-1;8826:385:151;-1:-1:-1;8826:385:151:o;9216:1307::-;9440:6;9448;9456;9464;9472;9480;9488;9496;9549:3;9537:9;9528:7;9524:23;9520:33;9517:53;;;9566:1;9563;9556:12;9517:53;9605:9;9592:23;9624:42;9660:5;9624:42;:::i;:::-;9685:5;-1:-1:-1;9742:2:151;9727:18;;9714:32;9755:44;9714:32;9755:44;:::i;:::-;9818:7;-1:-1:-1;9877:2:151;9862:18;;9849:32;9890:44;9849:32;9890:44;:::i;:::-;9953:7;-1:-1:-1;10012:2:151;9997:18;;9984:32;10025:44;9984:32;10025:44;:::i;:::-;10088:7;-1:-1:-1;10147:3:151;10132:19;;10119:33;10161:44;10119:33;10161:44;:::i;:::-;10224:7;-1:-1:-1;10283:3:151;10268:19;;10255:33;10297:43;10255:33;10297:43;:::i;:::-;10359:7;-1:-1:-1;10385:48:151;10428:3;10413:19;;10385:48;:::i;:::-;10375:58;;10452:65;10509:7;10503:3;10492:9;10488:19;10452:65;:::i;:::-;10442:75;;9216:1307;;;;;;;;;;;:::o;10528:1032::-;10952:6;10941:9;10934:25;10995:3;10990:2;10979:9;10975:18;10968:31;11036:2;11030:3;11019:9;11015:19;11008:31;11076:16;11070:3;11059:9;11055:19;11048:45;11129:3;11124:2;11113:9;11109:18;11102:31;11176:6;11170:13;11164:3;11153:9;11149:19;11142:42;10915:4;11231:2;11223:6;11219:15;11213:22;11272:2;11266:3;11255:9;11251:19;11244:31;11295:52;11342:3;11331:9;11327:19;11313:12;11295:52;:::i;:::-;11284:63;;-1:-1:-1;;;;;11387:6:151;11383:55;11378:2;11367:9;11363:18;11356:83;11485:9;11480:3;11476:19;11470:3;11459:9;11455:19;11448:48;11513:41;11550:3;11542:6;11513:41;:::i;:::-;11505:49;10528:1032;-1:-1:-1;;;;;;;10528:1032:151:o;11565:184::-;11635:6;11688:2;11676:9;11667:7;11663:23;11659:32;11656:52;;;11704:1;11701;11694:12;11656:52;-1:-1:-1;11727:16:151;;11565:184;-1:-1:-1;11565:184:151:o;11754:437::-;11833:1;11829:12;;;;11876;;;11897:61;;11951:4;11943:6;11939:17;11929:27;;11897:61;12004:2;11996:6;11993:14;11973:18;11970:38;11967:218;;-1:-1:-1;;;12038:1:151;12031:88;12142:4;12139:1;12132:15;12170:4;12167:1;12160:15;11967:218;;11754:437;;;:::o;12196:184::-;-1:-1:-1;;;12245:1:151;12238:88;12345:4;12342:1;12335:15;12369:4;12366:1;12359:15;12385:184;-1:-1:-1;;;12434:1:151;12427:88;12534:4;12531:1;12524:15;12558:4;12555:1;12548:15;12574:168;12647:9;;;12678;;12695:15;;;12689:22;;12675:37;12665:71;;12716:18;;:::i;12747:274::-;12787:1;12813;12803:189;;-1:-1:-1;;;12845:1:151;12838:88;12949:4;12946:1;12939:15;12977:4;12974:1;12967:15;12803:189;-1:-1:-1;13006:9:151;;12747:274::o;13026:128::-;13093:9;;;13114:11;;;13111:37;;;13128:18;;:::i;13159:125::-;13224:9;;;13245:10;;;13242:36;;;13258:18;;:::i;13415:2154::-;13837:6;13826:9;13819:25;13800:4;13863:2;-1:-1:-1;;;;;13974:2:151;13966:6;13962:15;13957:2;13946:9;13942:18;13935:43;14014:3;14009:2;13998:9;13994:18;13987:31;14041:46;14082:3;14071:9;14067:19;14059:6;14041:46;:::i;:::-;14135:2;14127:6;14123:15;14118:2;14107:9;14103:18;14096:43;14176:6;14170:3;14159:9;14155:19;14148:35;14232:9;14224:6;14220:22;14214:3;14203:9;14199:19;14192:51;14273:6;14267:13;14259:6;14252:29;14300:4;14290:14;;14345:2;14337:6;14333:15;14381:2;14376;14368:6;14364:15;14357:27;14404:1;14437:12;14431:19;14473:3;14503:9;14499:2;14495:18;14485:28;;14563:2;14552:9;14548:18;14585;14575:61;;14629:4;14621:6;14617:17;14607:27;;14575:61;14682:2;14674:6;14671:14;14651:18;14648:38;14645:222;;-1:-1:-1;;;14716:3:151;14709:90;14822:4;14819:1;14812:15;14852:4;14847:3;14840:17;14645:222;14935:2;14923:15;;2826:19;;;2869:14;;;14876:71;-1:-1:-1;14963:18:151;14990:128;;;;15132:1;15127:321;;;;14956:492;;14990:128;-1:-1:-1;;15023:24:151;;15011:37;;15091:14;;15084:22;15081:1;15077:30;15068:40;;;-1:-1:-1;14990:128:151;;15127:321;13362:1;13355:14;;;13399:4;13386:18;;15228:1;15242:165;15256:6;15253:1;15250:13;15242:165;;;15334:14;;15321:11;;;15314:35;15377:16;;;;15271:10;;15242:165;;;15427:11;;;-1:-1:-1;;14956:492:151;;;;;15494:9;15489:3;15485:19;15479:3;15468:9;15464:19;15457:48;15522:41;15559:3;15551:6;15522:41;:::i;:::-;15514:49;13415:2154;-1:-1:-1;;;;;;;;;;;;;;13415:2154:151:o;15763:279::-;15851:6;15904:2;15892:9;15883:7;15879:23;15875:32;15872:52;;;15920:1;15917;15910:12;15872:52;15952:9;15946:16;15971:41;16006:5;15971:41;:::i;16047:184::-;-1:-1:-1;;;16096:1:151;16089:88;16196:4;16193:1;16186:15;16220:4;16217:1;16210:15;16593:289;16724:3;16762:6;16756:13;16778:66;16837:6;16832:3;16825:4;16817:6;16813:17;16778:66;:::i;:::-;16860:16;;;;;16593:289;-1:-1:-1;;16593:289:151:o;16887:262::-;16957:6;17010:2;16998:9;16989:7;16985:23;16981:32;16978:52;;;17026:1;17023;17016:12;16978:52;17058:9;17052:16;17077:42;17113:5;17077:42;:::i;17154:340::-;-1:-1:-1;;;;;17335:6:151;17331:55;17320:9;17313:74;17423:2;17418;17407:9;17403:18;17396:30;17294:4;17443:45;17484:2;17473:9;17469:18;17461:6;17443:45;:::i","linkReferences":{}},"methodIdentifiers":{"DECIMALS()":"2e0f2625","NATIVE()":"a0cf0aea","PERCENTAGE_SCALE()":"3f26479e","_calculateConviction(uint256,uint256,uint256,uint256)":"e99ce911","allo_owner()":"7cbe79ed","allo_treasury()":"da4bf087","createPool(address,address,address,address,address,uint8,uint8)":"d8c12dc2","createPool(address,address,address,address,address,uint8,uint8,(uint256))":"ed62303a","getParams(address,uint8,uint8,(uint256))":"770b2e66","local()":"0f166ad4","metadata()":"392f37e9","no_recipient()":"759c9a86","nullProfile_member1()":"829e423f","nullProfile_member2()":"8c7408c4","nullProfile_members()":"4bf4ba21","nullProfile_notAMember()":"174eedde","nullProfile_owner()":"74d9284e","poolProfile_id1(address,address,address[])":"37d1c404","pool_admin()":"8e0d1a50","pool_manager1()":"00b1fad7","pool_manager2()":"6a38dd0a","pool_managers()":"79e62d0d","pool_notAManager()":"d1e82b58","profile1_member1()":"1e7bcb2e","profile1_member2()":"7b2edf32","profile1_members()":"70a32944","profile1_notAMember()":"030e4006","profile1_owner()":"d1f2cd88","profile2_member1()":"587c1243","profile2_member2()":"8e3c2493","profile2_members()":"a407c67a","profile2_notAMember()":"ef0d790f","profile2_owner()":"1b96dce6","randomAddress()":"d5bee9f5","recipient()":"66d003ac","recipient1()":"aa3744bd","recipient2()":"0688b135","recipientAddress()":"5aff5999","registry_owner()":"dac4eb16"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"DECIMALS\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"NATIVE\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"PERCENTAGE_SCALE\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_timePassed\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_lastConv\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_oldAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decay\",\"type\":\"uint256\"}],\"name\":\"_calculateConviction\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"allo_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"allo_treasury\",\"outputs\":[{\"internalType\":\"address payable\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract Allo\",\"name\":\"allo\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"strategy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"registryCommunity\",\"type\":\"address\"},{\"internalType\":\"contract IRegistry\",\"name\":\"registry\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"enum StrategyStruct.ProposalType\",\"name\":\"proposalType\",\"type\":\"uint8\"},{\"internalType\":\"enum StrategyStruct.PointSystem\",\"name\":\"pointSystem\",\"type\":\"uint8\"}],\"name\":\"createPool\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract Allo\",\"name\":\"allo\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"strategy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"registryCommunity\",\"type\":\"address\"},{\"internalType\":\"contract IRegistry\",\"name\":\"registry\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"enum StrategyStruct.ProposalType\",\"name\":\"proposalType\",\"type\":\"uint8\"},{\"internalType\":\"enum StrategyStruct.PointSystem\",\"name\":\"pointSystem\",\"type\":\"uint8\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"maxAmount\",\"type\":\"uint256\"}],\"internalType\":\"struct StrategyStruct.PointSystemConfig\",\"name\":\"pointConfig\",\"type\":\"tuple\"}],\"name\":\"createPool\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"registryCommunity\",\"type\":\"address\"},{\"internalType\":\"enum StrategyStruct.ProposalType\",\"name\":\"proposalType\",\"type\":\"uint8\"},{\"internalType\":\"enum StrategyStruct.PointSystem\",\"name\":\"pointSystem\",\"type\":\"uint8\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"maxAmount\",\"type\":\"uint256\"}],\"internalType\":\"struct StrategyStruct.PointSystemConfig\",\"name\":\"pointConfig\",\"type\":\"tuple\"}],\"name\":\"getParams\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"registryCommunity\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"decay\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxRatio\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"weight\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"minThresholdPoints\",\"type\":\"uint256\"},{\"internalType\":\"enum StrategyStruct.ProposalType\",\"name\":\"proposalType\",\"type\":\"uint8\"},{\"internalType\":\"enum StrategyStruct.PointSystem\",\"name\":\"pointSystem\",\"type\":\"uint8\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"maxAmount\",\"type\":\"uint256\"}],\"internalType\":\"struct StrategyStruct.PointSystemConfig\",\"name\":\"pointConfig\",\"type\":\"tuple\"},{\"internalType\":\"address\",\"name\":\"sybilScorer\",\"type\":\"address\"}],\"internalType\":\"struct StrategyStruct.InitializeParams\",\"name\":\"params\",\"type\":\"tuple\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"local\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"metadata\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"no_recipient\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_member1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_member2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_members\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_notAMember\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IRegistry\",\"name\":\"registry\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"pool_admin\",\"type\":\"address\"},{\"internalType\":\"address[]\",\"name\":\"pool_managers\",\"type\":\"address[]\"}],\"name\":\"poolProfile_id1\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_admin\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_manager1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_manager2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_managers\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_notAManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_member1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_member2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_members\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_notAMember\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_member1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_member2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_members\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_notAMember\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"randomAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"recipient\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"recipient1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"recipient2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"recipientAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"registry_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"NATIVE()\":{\"notice\":\"Address of the native token\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"pkg/contracts/test/CVStrategyHelpersV0_0.sol\":\"CVStrategyHelpersV0_0\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1000},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-contracts/=lib/safe-contracts/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"]},\"sources\":{\"lib/allo-v2/contracts/core/Allo.sol\":{\"keccak256\":\"0x6eadd7d37d010ad736e5b9fd25bd2083e430757d72b5873357cd7ee41d7fc21a\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://add326fecd1aac73bf91e634a9b11ab9a19b99a73616e44d5c79261bfbfb3a7c\",\"dweb:/ipfs/QmTF7WYUpSTF6EPWtB6CW9BPJAjWeZDtNjWGME4VHrarZd\"]},\"lib/allo-v2/contracts/core/interfaces/IAllo.sol\":{\"keccak256\":\"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7\",\"dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1\"]},\"lib/allo-v2/contracts/core/interfaces/IRegistry.sol\":{\"keccak256\":\"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e\",\"dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA\"]},\"lib/allo-v2/contracts/core/interfaces/IStrategy.sol\":{\"keccak256\":\"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487\",\"dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH\"]},\"lib/allo-v2/contracts/core/libraries/Clone.sol\":{\"keccak256\":\"0xc348b24b7d8a98c4faa5f2aa37ce9264a74f81dbdef1a9bae2eaa125585c3c7e\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://1335b3ec59ec7e3d12ea7c90b3aa56f4c26e0d44d342f54412933be9d4f16067\",\"dweb:/ipfs/QmXNFo2wCyq9cpvfgbdHvBUQecThFSEoUnMuZNS6WinDrr\"]},\"lib/allo-v2/contracts/core/libraries/Errors.sol\":{\"keccak256\":\"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf\",\"dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA\"]},\"lib/allo-v2/contracts/core/libraries/Metadata.sol\":{\"keccak256\":\"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c\",\"dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn\"]},\"lib/allo-v2/contracts/core/libraries/Native.sol\":{\"keccak256\":\"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a\",\"dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv\"]},\"lib/allo-v2/contracts/core/libraries/Transfer.sol\":{\"keccak256\":\"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11\",\"dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5\"]},\"lib/allo-v2/contracts/strategies/BaseStrategy.sol\":{\"keccak256\":\"0x3f1382dc6c35d50545e327e7ed6016f2bd752357d446bd698014073f0b812873\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://99500abcd617fa43f6dde49e2c7802821ceaf54a65a8055cbbf2695ecd107974\",\"dweb:/ipfs/QmUktZkWuu3GCMEijY1fqt7NMy7BzpTvEtcmpB1fuoa7zt\"]},\"lib/allo-v2/lib/solady/src/auth/Ownable.sol\":{\"keccak256\":\"0xd916b6ca098f26e08eff367c6fc1853956839d8d1c9d2df715784b6dec99889b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a9d8137ec1f5fb4210fbebeafa002f5b9cab28579445bd8281c56862e63aa30\",\"dweb:/ipfs/QmPLBcT1JkBKa4jK6qNficwZx2uGG4MetPNErJArdX6G61\"]},\"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol\":{\"keccak256\":\"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298\",\"dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt\"]},\"lib/allo-v2/test/foundry/shared/Accounts.sol\":{\"keccak256\":\"0x47c754ab744c6c9894aaff23cfbbe44bc30879a53fbbe8d36b1fee26137f2e3a\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://8e457b7adaf1ea79cc707e8a3e2989855f51ff98ebc1947b3239d7d410d5a07b\",\"dweb:/ipfs/QmSXASZ4u435D29T4UzKuh6kd8vLSrbSSgZzjnnhfwyv1m\"]},\"lib/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0xb72f3519e0bf7d31df5d68557525f4fc55d861c3fb3b0f7793144ef7c94cbeb7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f3456d0f78e6f61203fa7871ba2df0d35925f10db3baee14be623ce2a35b84e2\",\"dweb:/ipfs/QmWE6QQSBvJifHMraisBTrf1x4WCwrDoTPLX8UKajTiApc\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0x651d84d948832f0ef45686417aa68ffb871378fa788a4123dbf37844903c66f3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ff20f5ac9de3dc3ba86b1bf1f2723174e82ce3499ad67cb0ccfa7d28baeee678\",\"dweb:/ipfs/QmRZkUFKz7AmF7yk6o317sk822HHhGVPXZQgX8G4LfYfft\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x51fec240abc6dd23e0ee6de7c65106379aef732cad6c4ae5df6b55db886e7456\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://a47d9c0a9876e7f9e411843b994a741d4ac1a87d8459ffc3c56359de691ddc1a\",\"dweb:/ipfs/QmQiFN9b3Y2azrD1RBfAKEuAG3YeJkMzA2DGzgEE9kMeEK\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]},\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0x954646445d1014c3cd85c7918f5e7adeeca5ee44b68c00bafa237e597a4e35ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://516fa3be52da4763147175bfba4be0aa011fadbb0c1afb01f97265bd4cee7973\",\"dweb:/ipfs/QmdixAyMJefx7qePChgdxcBH5MxhmN7vsqPuPLx3CgrVmF\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0xc8710577334e8d0799ae2b2a731b1924a7bddd64319da9787ddd2dc69bdd1ce5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b83b7afa4d2372da3ba5402fb10860a105c35d79812c60dc61007be2afc17618\",\"dweb:/ipfs/QmYX9xPmbNVSKXrepKiUZiG5oL3SdzFp9a4kqspxX1sEUx\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol\":{\"keccak256\":\"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c\",\"dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol\":{\"keccak256\":\"0x359a1ab89b46b9aba7bcad3fb651924baf4893d15153049b9976b0fc9be1358e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e89863421b4014b96a4b62be76eb3b9f0a8afe9684664a6f389124c0964bfe5c\",\"dweb:/ipfs/Qmbk7xr1irpDuU1WdxXgxELBXxs61rHhCgod7heVcvFx16\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol\":{\"keccak256\":\"0x5a55d1b148a0cb4183f1e09ceaff87bd2d828440f2f5dc01dfe03eb29e7c88ec\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3f9278bdda788763efbe569da77fc24feff36e871779e2da69f74ea5f8bfacf\",\"dweb:/ipfs/QmZF9cH4rfazmwKT55p3tZyzh9QGghNyss81f46d6yVXap\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e\",\"dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol\":{\"keccak256\":\"0x2025ccf05f6f1f2fd4e078e552836f525a1864e3854ed555047cd732320ab29b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d27f4b23c2dee42394aebaf42bf238285230f472dfd3282a39c3f000ec28214f\",\"dweb:/ipfs/QmQa3DnvccwdWJeWrjgXPnFMTWbzWQWR39hVqC7eEwo2PC\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/IERC20Upgradeable.sol\":{\"keccak256\":\"0x0e1f0f5f62f67a881cd1a9597acbc0a5e4071f3c2c10449a183b922ae7272e3f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c25f742ff154998d19a669e2508c3597b363e123ce9144cd0fcf6521229f401f\",\"dweb:/ipfs/QmQXRuFzStEWqeEPbhQU6cAg9PaSowxJVo4PDKyRod7dco\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b\",\"dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95\",\"dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol\":{\"keccak256\":\"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a\",\"dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0xd90d7723512df65ae417adaf0801042940f0dabd60039ceeaffe34aa5b238da1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1b13befeb3413749292f9fb229de1c7a509a5ce2c8047d9094fc004ca9d3af89\",\"dweb:/ipfs/QmRzJ2hZSwRtMejHUZAYTPRKgZsnfb112Fno9Jf3EiDfwA\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol\":{\"keccak256\":\"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758\",\"dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol\":{\"keccak256\":\"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91\",\"dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol\":{\"keccak256\":\"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4\",\"dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z\"]},\"lib/openzeppelin-contracts/contracts/access/AccessControl.sol\":{\"keccak256\":\"0x0dd6e52cb394d7f5abe5dca2d4908a6be40417914720932de757de34a99ab87f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://dc117ce50ea746cab6b97ed1a1facee17a715ae0cb95d67b943dacbaf15176fb\",\"dweb:/ipfs/QmYRZ2UGNYwsHwfNu7Wjr8L2j1LBZ1mKv6NvbwgterYMXc\"]},\"lib/openzeppelin-contracts/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0x59ce320a585d7e1f163cd70390a0ef2ff9cec832e2aa544293a00692465a7a57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb2c137c343ef0c4c7ce7b18c1d108afdc9d315a04e48307288d2d05adcbde3a\",\"dweb:/ipfs/QmUxhrAQM3MM3FF5j7AtcXLXguWCJBHJ14BRdVtuoQc8Fh\"]},\"lib/openzeppelin-contracts/contracts/access/Ownable.sol\":{\"keccak256\":\"0xba43b97fba0d32eb4254f6a5a297b39a19a247082a02d6e69349e071e2946218\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fc980984badf3984b6303b377711220e067722bbd6a135b24669ff5069ef9f32\",\"dweb:/ipfs/QmPHXMSXj99XjSVM21YsY6aNtLLjLVXDbyN76J5HQYvvrz\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol\":{\"keccak256\":\"0x3cbef5ebc24b415252e2f8c0c9254555d30d9f085603b4b80d9b5ed20ab87e90\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e8fa670c3bdce78e642cc6ae11c4cb38b133499cdce5e1990a9979d424703263\",\"dweb:/ipfs/QmVxeCUk4jL2pXQyhsoNJwyU874wRufS2WvGe8TgPKPqhE\"]},\"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol\":{\"keccak256\":\"0x1d4afe6cb24200cc4545eed814ecf5847277dfe5d613a1707aad5fceecebcfff\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://383fb7b8181016ac5ccf07bc9cdb7c1b5045ea36e2cc4df52bcbf20396fc7688\",\"dweb:/ipfs/QmYJ7Cg4WmE3rR8KGQxjUCXFfTH6TcwZ2Z1f6tPrq7jHFr\"]},\"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol\":{\"keccak256\":\"0xa2b22da3032e50b55f95ec1d13336102d675f341167aa76db571ef7f8bb7975d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96b6d77a20bebd4eb06b801d3d020c7e82be13bd535cb0d0a6b7181c51dab5d5\",\"dweb:/ipfs/QmPUR9Cv9jNFdQX6PtBfaBW1ZCnKwiu65R2VD5kbdanDyn\"]},\"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Upgrade.sol\":{\"keccak256\":\"0x3b21ae06bf5957f73fa16754b0669c77b7abd8ba6c072d35c3281d446fdb86c2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2db8e18505e86e02526847005d7287a33e397ed7fb9eaba3fd4a4a197add16e2\",\"dweb:/ipfs/QmW9BSuKTzHWHBNSHF4L8XfVuU1uJrP2vLg84YtBd8mL82\"]},\"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol\":{\"keccak256\":\"0xc130fe33f1b2132158531a87734153293f6d07bc263ff4ac90e85da9c82c0e27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8831721b6f4cc26534d190f9f1631c3f59c9ff38efdd911f85e0882b8e360472\",\"dweb:/ipfs/QmQZnLErZNStirSQ13ZNWQgvEYUtGE5tXYwn4QUPaVUfPN\"]},\"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0xd50a3421ac379ccb1be435fa646d66a65c986b4924f0849839f08692f39dde61\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ada1e030c0231db8d143b44ce92b4d1158eedb087880cad6d8cc7bd7ebe7b354\",\"dweb:/ipfs/QmWZ2NHZweRpz1U9GF6R1h65ri76dnX7fNxLBeM2t5N5Ce\"]},\"lib/openzeppelin-contracts/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x3d6069be9b4c01fb81840fb9c2c4dc58dd6a6a4aafaa2c6837de8699574d84c6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://720d6bb56ea0c4ef781c0bd65c5bd0541f5a46100163b2587170f97658d2deed\",\"dweb:/ipfs/QmTS2biLVPrv8CeeXCaKmkFxonMiRvc1LxiYBRYDAJHQUS\"]},\"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol\":{\"keccak256\":\"0xc6619957bcc6641fe8984bfaf9ff11a9e4b97d8149c0495f608f9a2416d7c5cf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://543be67f7fa43b1b932637c1c7f12035f0f4b0f7ee2bd3c33841186f79c165c1\",\"dweb:/ipfs/QmSBPM2UVKbmJqWfD9i6hSiqbaE8TV4TSqfuiivziRRLKM\"]},\"lib/openzeppelin-contracts/contracts/security/ReentrancyGuard.sol\":{\"keccak256\":\"0xa535a5df777d44e945dd24aa43a11e44b024140fc340ad0dfe42acf4002aade1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://41319e7f621f2dc3733511332c4fd032f8e32ad2aa7fd6f665c19741d9941a34\",\"dweb:/ipfs/QmcYR3bd862GD1Bc7jwrU9bGxrhUu5na1oP964bDCu2id1\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15\",\"dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5\",\"dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd\",\"dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol\":{\"keccak256\":\"0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a\",\"dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0x909d608c2db6eb165ca178c81289a07ed2e118e444d0025b2a85c97d0b44a4fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://656cda26512ddd7373c2d5551c8fae759fc30f05b10f0fc2e738e9274199dbd4\",\"dweb:/ipfs/QmTSArSzQRFbQmHgq7U1PZXnsDFhvDZhKVu9CzMG4yo6Lx\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xf09e68aa0dc6722a25bc46490e8d48ed864466d17313b8a0b254c36b54e49899\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e26daf81e2252dc1fe1ce0e4b55c2eb7c6d1ee84ae6558d1a9554432ea1d32da\",\"dweb:/ipfs/Qmb1UANWiWq5pCKbmHSu772hd4nt374dVaghGmwSVNuk8Q\"]},\"lib/openzeppelin-contracts/contracts/utils/Strings.sol\":{\"keccak256\":\"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f\",\"dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol\":{\"keccak256\":\"0x5a08ad61f4e82b8a3323562661a86fb10b10190848073fdc13d4ac43710ffba5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6f7bb74cf88fd88daa34e118bc6e363381d05044f34f391d39a10c0c9dac3ebd\",\"dweb:/ipfs/QmNbQ3v8v4zuDtg7VeLAbdhAm3tCzUodNoDZZ8ekmCHWZX\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]},\"lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/src/strings.sol\":{\"keccak256\":\"0x42cad11a7033f2fe05dd68611d2304407a620ac985b91edf29d5868cfe196223\",\"urls\":[\"bzz-raw://3cbc2333234e1f00eab5e57c4bcaf5115661e5e066a17c70af587a0a96f24669\",\"dweb:/ipfs/QmPHvStqcvZL46LW5N2ExTwAaqNhRCcmAX66aR6oE1WDar\"]},\"lib/openzeppelin-foundry-upgrades/src/Defender.sol\":{\"keccak256\":\"0x2114e4d70d53b36e8cec54ba11ff78d9f38a466ec3504c76c7f26101a7cff37f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://58f4d9bc58646e7631b263cdb8ef260e6818e9f716036d81d1c18218c9557a23\",\"dweb:/ipfs/QmS18L4R4gPtay9eQBcR28DnwmBkGSWsiCFwm2tXc3BkHL\"]},\"lib/openzeppelin-foundry-upgrades/src/LegacyUpgrades.sol\":{\"keccak256\":\"0x8436719f73c76efadaa16cd719d088f698ea3591595dfdf2c15fd66f3e203197\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ac8d0e55defe124adcc3845348602d6528b00b7dc5f7abf9e1b245d0cea9b55e\",\"dweb:/ipfs/QmaPBoG89Bd2btJZW5kjXx7zXo6KhAdeTuMq5xo431M8xq\"]},\"lib/openzeppelin-foundry-upgrades/src/Options.sol\":{\"keccak256\":\"0xa5414683d6b219b28e75ecaab3d00a305dfaf4d970389a88992275c8072ce8ac\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1dbfd566ba318f2b740159c28e4511c84c9d76fcc293ae17c9b1a87b3ea16c9\",\"dweb:/ipfs/QmcyxPoeBdzA9iHEgd76xKhaQ8HKfpV4owdSv6127MmveT\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Core.sol\":{\"keccak256\":\"0x37073df20d2b5fbb0a873e6b2dd76c23e23455d1c2d2ba57d2f0998201a4251d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://79d507647ea48d93371341684cf4199d55ed799db9d3489bc016f53990d2ff7c\",\"dweb:/ipfs/QmQWgXiYcPcwNcrkTHb72WtHd4xPcXfRUMfBrhkDHgr2ut\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/DefenderDeploy.sol\":{\"keccak256\":\"0x868ffdaf5d185fee103fc4581385392b47c209a5cfd2aec01f0307dbc0101d73\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://76e51bf69a4d0b5d1d9cfa7efa442bdcf9d713966563432ef8fdd00ec959a25e\",\"dweb:/ipfs/QmTHkdvMnqmEvus7zbmHhPkWk3fM9SW2Jq8gnyBLwVJtxG\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Utils.sol\":{\"keccak256\":\"0x4de002af810f6a5fe26a6381e0ead3331735bd0059434a22df75e17c177b5f87\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af32ff07f606e530a53030db141a75af144cfe065a6543939d412018c6159540\",\"dweb:/ipfs/QmbfTB92Zd8VQHW61g9dx1CvGgSL5SCoZDLrvJfnR7Ctio\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Versions.sol\":{\"keccak256\":\"0xf1a1441c18a296853509e9b1d18be794ed3de836caea49d6948b5e9ac566e8c6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6f3463514235bd875ecacf45f95cac64aa650dd38d05c15fe1f4203b6b5733bd\",\"dweb:/ipfs/Qmcbhmw9NPkG8MqiVsQ4qUupeQFCRgyBDKuoUwohwa8EP3\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IProxyAdmin.sol\":{\"keccak256\":\"0xf5e514595089f8959da130507086e7388602a71ce60575d141e7d892dfbddbfc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9b41366e2823ccc8cb42304496d761b3df80946d17384634a61afd7139495c91\",\"dweb:/ipfs/QmZE2nRMxax1NPj63ifemKdScGJzKNWi7BCGudjFLsUz1y\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableBeacon.sol\":{\"keccak256\":\"0xa8d7bffdd26eb763e459650c83f247b54af79800c2df52ad05878f238fc1c2f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ed47f1e53e5eb7d48fed60a414755641fca8fa0e713fd503b2597227da78a2f\",\"dweb:/ipfs/QmQr8A5wddHdhQNauFShXxRkPcuVVpVsYpq846WhmFC8Tv\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableProxy.sol\":{\"keccak256\":\"0x781b564b90bba0c0e8e12fb66b1c910f42d369db469f2e88592b4cff29de99a5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://45fcab02a43fde934445b88e905aba3f58a70b75dd6ee6eb86a3d593424aeb03\",\"dweb:/ipfs/QmXmhAgrctaYUDLoTRgUjwD4deoXu1E2QT1kftVGcVa56j\"]},\"pkg/contracts/src/BaseStrategyUpgradeable.sol\":{\"keccak256\":\"0xe059f9e1a262a4713e230a6025c3356681bb5f3c8013b87bc579bae93aa66c20\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://37e879664b08005b9544457cf89bce77e38b6a25639566df7366b9e5968c815e\",\"dweb:/ipfs/QmYgNRqZfYUPbWgcHUHghTcpqjVmT9v4HfkfPdEF64fYe5\"]},\"pkg/contracts/src/CVStrategy.sol\":{\"keccak256\":\"0x132bcf17470960e380d841159d9389985d609aaae1c9a657c78902f7871da957\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://84e905bf392579b44f33fff8586431b940e110b2210854cf487321cc92061705\",\"dweb:/ipfs/QmQpvszYu8RbrXmUFLifSodQzV8LAqazk1fzXNARGc5sBT\"]},\"pkg/contracts/src/CVStrategyV0_0.sol\":{\"keccak256\":\"0x79d01b399c8d735923dfa26b8dacba6200a861202dd6fb1c7711241285439d2d\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://e7ea0014e25a729d6d688620658df81a179a8c2380ae0bc4c78668cd486adb04\",\"dweb:/ipfs/QmdPM8JpFXeqBxQgkRzM1inzCT2rkRxnpoSrFk8DauDpNf\"]},\"pkg/contracts/src/ISybilScorer.sol\":{\"keccak256\":\"0x0e25fbb8497ac3c969d80c9032362d45e56c0a45dc9ba3dff6a8a704571f38ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0dff90ebae6e7131a5300fcaf525bc2ab0ae90fcd13f277d7b7b6939eeb8b7eb\",\"dweb:/ipfs/QmYGkYqpUVrBWoNY6f3CtwrrVQFWSvnJfpu68t95f6AkBY\"]},\"pkg/contracts/src/RegistryCommunity.sol\":{\"keccak256\":\"0xc735f4d2635149f2db9bff291da56e08c3c312d9eb1b767b8a1e3e51584d5734\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://247b33b78abface6a7e2da38174386de9b543f6a27e8340e26d854bff57184a3\",\"dweb:/ipfs/QmedNdqkqeboGzz9w868uGf7KnXUaYZe6i1YcdUPPkJnnf\"]},\"pkg/contracts/src/RegistryCommunityV0_0.sol\":{\"keccak256\":\"0x6525c857f7baff606e87bbc2878f3606923997a444eb500aa15018c676c972a9\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://89d2af9f470c8d7431ff6b1981b7bf46520f719d68da38ab3ca065496a6297d8\",\"dweb:/ipfs/QmceJHX57HbnBXVfmhtRPmnApUQy5QSWTybgq6g37vCxEN\"]},\"pkg/contracts/src/RegistryFactory.sol\":{\"keccak256\":\"0x888b7f5eb1079f90ccfa0b41d8a970bffd8d4d469f9b31917a58279b358dbda5\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://af25fd783de00adf01d1c7caa572801fed0d474306a43b862535b08e65ec10c6\",\"dweb:/ipfs/Qmeb2nEaMQLV86y1CYAAV2c6BYpBDTbpLuC1SigeNjdqLo\"]},\"pkg/contracts/src/interfaces/FAllo.sol\":{\"keccak256\":\"0x32f38cb4400a07a99ae68a9beb91e5649886487172fd50561da6763464efc437\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://cb4f0cee2f3fbede7be5e8e1d7ee8034086359cd07b9dab49c4a991388e5c458\",\"dweb:/ipfs/QmS26kA8cZ9shWwxcbF17Kes8L7Jgw85EQVydDmwb34mjM\"]},\"pkg/contracts/src/interfaces/ISafe.sol\":{\"keccak256\":\"0x878a210809bb684c42157a10f3f90350a67d0a4863f130499942b06f0f2c9143\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://fa2d71bd427c3415e98a2ee15ff673f3cc61c17f14d7087c5eedc83b55f6b0ef\",\"dweb:/ipfs/QmesVSmJQQzi6ys1cvhQFCJyDXchb736mT5bXks4Yp6Cbj\"]},\"pkg/contracts/test/CVStrategyHelpersV0_0.sol\":{\"keccak256\":\"0xe5f190162fad17403c945d71a1fadc8c63ba33df5e280596e3d9bb2f81050e61\",\"license\":\"AGPL-3.0-or-later\",\"urls\":[\"bzz-raw://601f3d87fc5abee624e09c69cac3f23ae94bc1e0b5f9311c322db60f56afe826\",\"dweb:/ipfs/QmRYsi62SGcKcazYAjZfCFz9EAnXcquVz1YMz5gzit1kvo\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[],"stateMutability":"view","type":"function","name":"DECIMALS","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"NATIVE","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"PERCENTAGE_SCALE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"_timePassed","type":"uint256"},{"internalType":"uint256","name":"_lastConv","type":"uint256"},{"internalType":"uint256","name":"_oldAmount","type":"uint256"},{"internalType":"uint256","name":"decay","type":"uint256"}],"stateMutability":"pure","type":"function","name":"_calculateConviction","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"allo_owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"allo_treasury","outputs":[{"internalType":"address payable","name":"","type":"address"}]},{"inputs":[{"internalType":"contract Allo","name":"allo","type":"address"},{"internalType":"address","name":"strategy","type":"address"},{"internalType":"address","name":"registryCommunity","type":"address"},{"internalType":"contract IRegistry","name":"registry","type":"address"},{"internalType":"address","name":"token","type":"address"},{"internalType":"enum StrategyStruct.ProposalType","name":"proposalType","type":"uint8"},{"internalType":"enum StrategyStruct.PointSystem","name":"pointSystem","type":"uint8"}],"stateMutability":"nonpayable","type":"function","name":"createPool","outputs":[{"internalType":"uint256","name":"poolId","type":"uint256"}]},{"inputs":[{"internalType":"contract Allo","name":"allo","type":"address"},{"internalType":"address","name":"strategy","type":"address"},{"internalType":"address","name":"registryCommunity","type":"address"},{"internalType":"contract IRegistry","name":"registry","type":"address"},{"internalType":"address","name":"token","type":"address"},{"internalType":"enum StrategyStruct.ProposalType","name":"proposalType","type":"uint8"},{"internalType":"enum StrategyStruct.PointSystem","name":"pointSystem","type":"uint8"},{"internalType":"struct StrategyStruct.PointSystemConfig","name":"pointConfig","type":"tuple","components":[{"internalType":"uint256","name":"maxAmount","type":"uint256"}]}],"stateMutability":"nonpayable","type":"function","name":"createPool","outputs":[{"internalType":"uint256","name":"poolId","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"registryCommunity","type":"address"},{"internalType":"enum StrategyStruct.ProposalType","name":"proposalType","type":"uint8"},{"internalType":"enum StrategyStruct.PointSystem","name":"pointSystem","type":"uint8"},{"internalType":"struct StrategyStruct.PointSystemConfig","name":"pointConfig","type":"tuple","components":[{"internalType":"uint256","name":"maxAmount","type":"uint256"}]}],"stateMutability":"pure","type":"function","name":"getParams","outputs":[{"internalType":"struct StrategyStruct.InitializeParams","name":"params","type":"tuple","components":[{"internalType":"address","name":"registryCommunity","type":"address"},{"internalType":"uint256","name":"decay","type":"uint256"},{"internalType":"uint256","name":"maxRatio","type":"uint256"},{"internalType":"uint256","name":"weight","type":"uint256"},{"internalType":"uint256","name":"minThresholdPoints","type":"uint256"},{"internalType":"enum StrategyStruct.ProposalType","name":"proposalType","type":"uint8"},{"internalType":"enum StrategyStruct.PointSystem","name":"pointSystem","type":"uint8"},{"internalType":"struct StrategyStruct.PointSystemConfig","name":"pointConfig","type":"tuple","components":[{"internalType":"uint256","name":"maxAmount","type":"uint256"}]},{"internalType":"address","name":"sybilScorer","type":"address"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"local","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"metadata","outputs":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"no_recipient","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"nullProfile_member1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"nullProfile_member2","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"nullProfile_members","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"nullProfile_notAMember","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"nullProfile_owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"contract IRegistry","name":"registry","type":"address"},{"internalType":"address","name":"pool_admin","type":"address"},{"internalType":"address[]","name":"pool_managers","type":"address[]"}],"stateMutability":"nonpayable","type":"function","name":"poolProfile_id1","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pool_admin","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pool_manager1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pool_manager2","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pool_managers","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pool_notAManager","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile1_member1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile1_member2","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile1_members","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile1_notAMember","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile1_owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile2_member1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile2_member2","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile2_members","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile2_notAMember","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile2_owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"randomAddress","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"recipient","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"recipient1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"recipient2","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"recipientAddress","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"registry_owner","outputs":[{"internalType":"address","name":"","type":"address"}]}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{"NATIVE()":{"notice":"Address of the native token"}},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-contracts/=lib/safe-contracts/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":1000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"pkg/contracts/test/CVStrategyHelpersV0_0.sol":"CVStrategyHelpersV0_0"},"evmVersion":"paris","libraries":{}},"sources":{"lib/allo-v2/contracts/core/Allo.sol":{"keccak256":"0x6eadd7d37d010ad736e5b9fd25bd2083e430757d72b5873357cd7ee41d7fc21a","urls":["bzz-raw://add326fecd1aac73bf91e634a9b11ab9a19b99a73616e44d5c79261bfbfb3a7c","dweb:/ipfs/QmTF7WYUpSTF6EPWtB6CW9BPJAjWeZDtNjWGME4VHrarZd"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/interfaces/IAllo.sol":{"keccak256":"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce","urls":["bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7","dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/interfaces/IRegistry.sol":{"keccak256":"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f","urls":["bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e","dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA"],"license":"MIT"},"lib/allo-v2/contracts/core/interfaces/IStrategy.sol":{"keccak256":"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23","urls":["bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487","dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Clone.sol":{"keccak256":"0xc348b24b7d8a98c4faa5f2aa37ce9264a74f81dbdef1a9bae2eaa125585c3c7e","urls":["bzz-raw://1335b3ec59ec7e3d12ea7c90b3aa56f4c26e0d44d342f54412933be9d4f16067","dweb:/ipfs/QmXNFo2wCyq9cpvfgbdHvBUQecThFSEoUnMuZNS6WinDrr"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Errors.sol":{"keccak256":"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15","urls":["bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf","dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Metadata.sol":{"keccak256":"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44","urls":["bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c","dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Native.sol":{"keccak256":"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5","urls":["bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a","dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Transfer.sol":{"keccak256":"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286","urls":["bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11","dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/strategies/BaseStrategy.sol":{"keccak256":"0x3f1382dc6c35d50545e327e7ed6016f2bd752357d446bd698014073f0b812873","urls":["bzz-raw://99500abcd617fa43f6dde49e2c7802821ceaf54a65a8055cbbf2695ecd107974","dweb:/ipfs/QmUktZkWuu3GCMEijY1fqt7NMy7BzpTvEtcmpB1fuoa7zt"],"license":"AGPL-3.0-only"},"lib/allo-v2/lib/solady/src/auth/Ownable.sol":{"keccak256":"0xd916b6ca098f26e08eff367c6fc1853956839d8d1c9d2df715784b6dec99889b","urls":["bzz-raw://7a9d8137ec1f5fb4210fbebeafa002f5b9cab28579445bd8281c56862e63aa30","dweb:/ipfs/QmPLBcT1JkBKa4jK6qNficwZx2uGG4MetPNErJArdX6G61"],"license":"MIT"},"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol":{"keccak256":"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624","urls":["bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298","dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt"],"license":"MIT"},"lib/allo-v2/test/foundry/shared/Accounts.sol":{"keccak256":"0x47c754ab744c6c9894aaff23cfbbe44bc30879a53fbbe8d36b1fee26137f2e3a","urls":["bzz-raw://8e457b7adaf1ea79cc707e8a3e2989855f51ff98ebc1947b3239d7d410d5a07b","dweb:/ipfs/QmSXASZ4u435D29T4UzKuh6kd8vLSrbSSgZzjnnhfwyv1m"],"license":"AGPL-3.0-only"},"lib/forge-std/src/StdCheats.sol":{"keccak256":"0xb72f3519e0bf7d31df5d68557525f4fc55d861c3fb3b0f7793144ef7c94cbeb7","urls":["bzz-raw://f3456d0f78e6f61203fa7871ba2df0d35925f10db3baee14be623ce2a35b84e2","dweb:/ipfs/QmWE6QQSBvJifHMraisBTrf1x4WCwrDoTPLX8UKajTiApc"],"license":"MIT"},"lib/forge-std/src/StdStorage.sol":{"keccak256":"0x651d84d948832f0ef45686417aa68ffb871378fa788a4123dbf37844903c66f3","urls":["bzz-raw://ff20f5ac9de3dc3ba86b1bf1f2723174e82ce3499ad67cb0ccfa7d28baeee678","dweb:/ipfs/QmRZkUFKz7AmF7yk6o317sk822HHhGVPXZQgX8G4LfYfft"],"license":"MIT"},"lib/forge-std/src/Vm.sol":{"keccak256":"0x51fec240abc6dd23e0ee6de7c65106379aef732cad6c4ae5df6b55db886e7456","urls":["bzz-raw://a47d9c0a9876e7f9e411843b994a741d4ac1a87d8459ffc3c56359de691ddc1a","dweb:/ipfs/QmQiFN9b3Y2azrD1RBfAKEuAG3YeJkMzA2DGzgEE9kMeEK"],"license":"MIT OR Apache-2.0"},"lib/forge-std/src/console.sol":{"keccak256":"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba","urls":["bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70","dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec"],"license":"MIT"},"lib/forge-std/src/console2.sol":{"keccak256":"0x954646445d1014c3cd85c7918f5e7adeeca5ee44b68c00bafa237e597a4e35ea","urls":["bzz-raw://516fa3be52da4763147175bfba4be0aa011fadbb0c1afb01f97265bd4cee7973","dweb:/ipfs/QmdixAyMJefx7qePChgdxcBH5MxhmN7vsqPuPLx3CgrVmF"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol":{"keccak256":"0xc8710577334e8d0799ae2b2a731b1924a7bddd64319da9787ddd2dc69bdd1ce5","urls":["bzz-raw://b83b7afa4d2372da3ba5402fb10860a105c35d79812c60dc61007be2afc17618","dweb:/ipfs/QmYX9xPmbNVSKXrepKiUZiG5oL3SdzFp9a4kqspxX1sEUx"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol":{"keccak256":"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa","urls":["bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c","dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol":{"keccak256":"0x359a1ab89b46b9aba7bcad3fb651924baf4893d15153049b9976b0fc9be1358e","urls":["bzz-raw://e89863421b4014b96a4b62be76eb3b9f0a8afe9684664a6f389124c0964bfe5c","dweb:/ipfs/Qmbk7xr1irpDuU1WdxXgxELBXxs61rHhCgod7heVcvFx16"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol":{"keccak256":"0x5a55d1b148a0cb4183f1e09ceaff87bd2d828440f2f5dc01dfe03eb29e7c88ec","urls":["bzz-raw://b3f9278bdda788763efbe569da77fc24feff36e871779e2da69f74ea5f8bfacf","dweb:/ipfs/QmZF9cH4rfazmwKT55p3tZyzh9QGghNyss81f46d6yVXap"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794","urls":["bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e","dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol":{"keccak256":"0x2025ccf05f6f1f2fd4e078e552836f525a1864e3854ed555047cd732320ab29b","urls":["bzz-raw://d27f4b23c2dee42394aebaf42bf238285230f472dfd3282a39c3f000ec28214f","dweb:/ipfs/QmQa3DnvccwdWJeWrjgXPnFMTWbzWQWR39hVqC7eEwo2PC"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/IERC20Upgradeable.sol":{"keccak256":"0x0e1f0f5f62f67a881cd1a9597acbc0a5e4071f3c2c10449a183b922ae7272e3f","urls":["bzz-raw://c25f742ff154998d19a669e2508c3597b363e123ce9144cd0fcf6521229f401f","dweb:/ipfs/QmQXRuFzStEWqeEPbhQU6cAg9PaSowxJVo4PDKyRod7dco"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol":{"keccak256":"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422","urls":["bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b","dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef","urls":["bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95","dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol":{"keccak256":"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb","urls":["bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a","dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol":{"keccak256":"0xd90d7723512df65ae417adaf0801042940f0dabd60039ceeaffe34aa5b238da1","urls":["bzz-raw://1b13befeb3413749292f9fb229de1c7a509a5ce2c8047d9094fc004ca9d3af89","dweb:/ipfs/QmRzJ2hZSwRtMejHUZAYTPRKgZsnfb112Fno9Jf3EiDfwA"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol":{"keccak256":"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09","urls":["bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758","dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol":{"keccak256":"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e","urls":["bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91","dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol":{"keccak256":"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a","urls":["bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4","dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/access/AccessControl.sol":{"keccak256":"0x0dd6e52cb394d7f5abe5dca2d4908a6be40417914720932de757de34a99ab87f","urls":["bzz-raw://dc117ce50ea746cab6b97ed1a1facee17a715ae0cb95d67b943dacbaf15176fb","dweb:/ipfs/QmYRZ2UGNYwsHwfNu7Wjr8L2j1LBZ1mKv6NvbwgterYMXc"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/access/IAccessControl.sol":{"keccak256":"0x59ce320a585d7e1f163cd70390a0ef2ff9cec832e2aa544293a00692465a7a57","urls":["bzz-raw://bb2c137c343ef0c4c7ce7b18c1d108afdc9d315a04e48307288d2d05adcbde3a","dweb:/ipfs/QmUxhrAQM3MM3FF5j7AtcXLXguWCJBHJ14BRdVtuoQc8Fh"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/access/Ownable.sol":{"keccak256":"0xba43b97fba0d32eb4254f6a5a297b39a19a247082a02d6e69349e071e2946218","urls":["bzz-raw://fc980984badf3984b6303b377711220e067722bbd6a135b24669ff5069ef9f32","dweb:/ipfs/QmPHXMSXj99XjSVM21YsY6aNtLLjLVXDbyN76J5HQYvvrz"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol":{"keccak256":"0x3cbef5ebc24b415252e2f8c0c9254555d30d9f085603b4b80d9b5ed20ab87e90","urls":["bzz-raw://e8fa670c3bdce78e642cc6ae11c4cb38b133499cdce5e1990a9979d424703263","dweb:/ipfs/QmVxeCUk4jL2pXQyhsoNJwyU874wRufS2WvGe8TgPKPqhE"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol":{"keccak256":"0x1d4afe6cb24200cc4545eed814ecf5847277dfe5d613a1707aad5fceecebcfff","urls":["bzz-raw://383fb7b8181016ac5ccf07bc9cdb7c1b5045ea36e2cc4df52bcbf20396fc7688","dweb:/ipfs/QmYJ7Cg4WmE3rR8KGQxjUCXFfTH6TcwZ2Z1f6tPrq7jHFr"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol":{"keccak256":"0xa2b22da3032e50b55f95ec1d13336102d675f341167aa76db571ef7f8bb7975d","urls":["bzz-raw://96b6d77a20bebd4eb06b801d3d020c7e82be13bd535cb0d0a6b7181c51dab5d5","dweb:/ipfs/QmPUR9Cv9jNFdQX6PtBfaBW1ZCnKwiu65R2VD5kbdanDyn"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Upgrade.sol":{"keccak256":"0x3b21ae06bf5957f73fa16754b0669c77b7abd8ba6c072d35c3281d446fdb86c2","urls":["bzz-raw://2db8e18505e86e02526847005d7287a33e397ed7fb9eaba3fd4a4a197add16e2","dweb:/ipfs/QmW9BSuKTzHWHBNSHF4L8XfVuU1uJrP2vLg84YtBd8mL82"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol":{"keccak256":"0xc130fe33f1b2132158531a87734153293f6d07bc263ff4ac90e85da9c82c0e27","urls":["bzz-raw://8831721b6f4cc26534d190f9f1631c3f59c9ff38efdd911f85e0882b8e360472","dweb:/ipfs/QmQZnLErZNStirSQ13ZNWQgvEYUtGE5tXYwn4QUPaVUfPN"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol":{"keccak256":"0xd50a3421ac379ccb1be435fa646d66a65c986b4924f0849839f08692f39dde61","urls":["bzz-raw://ada1e030c0231db8d143b44ce92b4d1158eedb087880cad6d8cc7bd7ebe7b354","dweb:/ipfs/QmWZ2NHZweRpz1U9GF6R1h65ri76dnX7fNxLBeM2t5N5Ce"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x3d6069be9b4c01fb81840fb9c2c4dc58dd6a6a4aafaa2c6837de8699574d84c6","urls":["bzz-raw://720d6bb56ea0c4ef781c0bd65c5bd0541f5a46100163b2587170f97658d2deed","dweb:/ipfs/QmTS2biLVPrv8CeeXCaKmkFxonMiRvc1LxiYBRYDAJHQUS"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol":{"keccak256":"0xc6619957bcc6641fe8984bfaf9ff11a9e4b97d8149c0495f608f9a2416d7c5cf","urls":["bzz-raw://543be67f7fa43b1b932637c1c7f12035f0f4b0f7ee2bd3c33841186f79c165c1","dweb:/ipfs/QmSBPM2UVKbmJqWfD9i6hSiqbaE8TV4TSqfuiivziRRLKM"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/security/ReentrancyGuard.sol":{"keccak256":"0xa535a5df777d44e945dd24aa43a11e44b024140fc340ad0dfe42acf4002aade1","urls":["bzz-raw://41319e7f621f2dc3733511332c4fd032f8e32ad2aa7fd6f665c19741d9941a34","dweb:/ipfs/QmcYR3bd862GD1Bc7jwrU9bGxrhUu5na1oP964bDCu2id1"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol":{"keccak256":"0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c","urls":["bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15","dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305","urls":["bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5","dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol":{"keccak256":"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca","urls":["bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd","dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol":{"keccak256":"0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a","urls":["bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a","dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol":{"keccak256":"0x909d608c2db6eb165ca178c81289a07ed2e118e444d0025b2a85c97d0b44a4fa","urls":["bzz-raw://656cda26512ddd7373c2d5551c8fae759fc30f05b10f0fc2e738e9274199dbd4","dweb:/ipfs/QmTSArSzQRFbQmHgq7U1PZXnsDFhvDZhKVu9CzMG4yo6Lx"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Address.sol":{"keccak256":"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa","urls":["bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931","dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Context.sol":{"keccak256":"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7","urls":["bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92","dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol":{"keccak256":"0xf09e68aa0dc6722a25bc46490e8d48ed864466d17313b8a0b254c36b54e49899","urls":["bzz-raw://e26daf81e2252dc1fe1ce0e4b55c2eb7c6d1ee84ae6558d1a9554432ea1d32da","dweb:/ipfs/Qmb1UANWiWq5pCKbmHSu772hd4nt374dVaghGmwSVNuk8Q"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Strings.sol":{"keccak256":"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0","urls":["bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f","dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol":{"keccak256":"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b","urls":["bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d","dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol":{"keccak256":"0x5a08ad61f4e82b8a3323562661a86fb10b10190848073fdc13d4ac43710ffba5","urls":["bzz-raw://6f7bb74cf88fd88daa34e118bc6e363381d05044f34f391d39a10c0c9dac3ebd","dweb:/ipfs/QmNbQ3v8v4zuDtg7VeLAbdhAm3tCzUodNoDZZ8ekmCHWZX"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/Math.sol":{"keccak256":"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3","urls":["bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c","dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol":{"keccak256":"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc","urls":["bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7","dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/src/strings.sol":{"keccak256":"0x42cad11a7033f2fe05dd68611d2304407a620ac985b91edf29d5868cfe196223","urls":["bzz-raw://3cbc2333234e1f00eab5e57c4bcaf5115661e5e066a17c70af587a0a96f24669","dweb:/ipfs/QmPHvStqcvZL46LW5N2ExTwAaqNhRCcmAX66aR6oE1WDar"],"license":null},"lib/openzeppelin-foundry-upgrades/src/Defender.sol":{"keccak256":"0x2114e4d70d53b36e8cec54ba11ff78d9f38a466ec3504c76c7f26101a7cff37f","urls":["bzz-raw://58f4d9bc58646e7631b263cdb8ef260e6818e9f716036d81d1c18218c9557a23","dweb:/ipfs/QmS18L4R4gPtay9eQBcR28DnwmBkGSWsiCFwm2tXc3BkHL"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/LegacyUpgrades.sol":{"keccak256":"0x8436719f73c76efadaa16cd719d088f698ea3591595dfdf2c15fd66f3e203197","urls":["bzz-raw://ac8d0e55defe124adcc3845348602d6528b00b7dc5f7abf9e1b245d0cea9b55e","dweb:/ipfs/QmaPBoG89Bd2btJZW5kjXx7zXo6KhAdeTuMq5xo431M8xq"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/Options.sol":{"keccak256":"0xa5414683d6b219b28e75ecaab3d00a305dfaf4d970389a88992275c8072ce8ac","urls":["bzz-raw://b1dbfd566ba318f2b740159c28e4511c84c9d76fcc293ae17c9b1a87b3ea16c9","dweb:/ipfs/QmcyxPoeBdzA9iHEgd76xKhaQ8HKfpV4owdSv6127MmveT"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Core.sol":{"keccak256":"0x37073df20d2b5fbb0a873e6b2dd76c23e23455d1c2d2ba57d2f0998201a4251d","urls":["bzz-raw://79d507647ea48d93371341684cf4199d55ed799db9d3489bc016f53990d2ff7c","dweb:/ipfs/QmQWgXiYcPcwNcrkTHb72WtHd4xPcXfRUMfBrhkDHgr2ut"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/DefenderDeploy.sol":{"keccak256":"0x868ffdaf5d185fee103fc4581385392b47c209a5cfd2aec01f0307dbc0101d73","urls":["bzz-raw://76e51bf69a4d0b5d1d9cfa7efa442bdcf9d713966563432ef8fdd00ec959a25e","dweb:/ipfs/QmTHkdvMnqmEvus7zbmHhPkWk3fM9SW2Jq8gnyBLwVJtxG"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Utils.sol":{"keccak256":"0x4de002af810f6a5fe26a6381e0ead3331735bd0059434a22df75e17c177b5f87","urls":["bzz-raw://af32ff07f606e530a53030db141a75af144cfe065a6543939d412018c6159540","dweb:/ipfs/QmbfTB92Zd8VQHW61g9dx1CvGgSL5SCoZDLrvJfnR7Ctio"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Versions.sol":{"keccak256":"0xf1a1441c18a296853509e9b1d18be794ed3de836caea49d6948b5e9ac566e8c6","urls":["bzz-raw://6f3463514235bd875ecacf45f95cac64aa650dd38d05c15fe1f4203b6b5733bd","dweb:/ipfs/Qmcbhmw9NPkG8MqiVsQ4qUupeQFCRgyBDKuoUwohwa8EP3"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IProxyAdmin.sol":{"keccak256":"0xf5e514595089f8959da130507086e7388602a71ce60575d141e7d892dfbddbfc","urls":["bzz-raw://9b41366e2823ccc8cb42304496d761b3df80946d17384634a61afd7139495c91","dweb:/ipfs/QmZE2nRMxax1NPj63ifemKdScGJzKNWi7BCGudjFLsUz1y"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableBeacon.sol":{"keccak256":"0xa8d7bffdd26eb763e459650c83f247b54af79800c2df52ad05878f238fc1c2f8","urls":["bzz-raw://8ed47f1e53e5eb7d48fed60a414755641fca8fa0e713fd503b2597227da78a2f","dweb:/ipfs/QmQr8A5wddHdhQNauFShXxRkPcuVVpVsYpq846WhmFC8Tv"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableProxy.sol":{"keccak256":"0x781b564b90bba0c0e8e12fb66b1c910f42d369db469f2e88592b4cff29de99a5","urls":["bzz-raw://45fcab02a43fde934445b88e905aba3f58a70b75dd6ee6eb86a3d593424aeb03","dweb:/ipfs/QmXmhAgrctaYUDLoTRgUjwD4deoXu1E2QT1kftVGcVa56j"],"license":"MIT"},"pkg/contracts/src/BaseStrategyUpgradeable.sol":{"keccak256":"0xe059f9e1a262a4713e230a6025c3356681bb5f3c8013b87bc579bae93aa66c20","urls":["bzz-raw://37e879664b08005b9544457cf89bce77e38b6a25639566df7366b9e5968c815e","dweb:/ipfs/QmYgNRqZfYUPbWgcHUHghTcpqjVmT9v4HfkfPdEF64fYe5"],"license":"AGPL-3.0-only"},"pkg/contracts/src/CVStrategy.sol":{"keccak256":"0x132bcf17470960e380d841159d9389985d609aaae1c9a657c78902f7871da957","urls":["bzz-raw://84e905bf392579b44f33fff8586431b940e110b2210854cf487321cc92061705","dweb:/ipfs/QmQpvszYu8RbrXmUFLifSodQzV8LAqazk1fzXNARGc5sBT"],"license":"AGPL-3.0-only"},"pkg/contracts/src/CVStrategyV0_0.sol":{"keccak256":"0x79d01b399c8d735923dfa26b8dacba6200a861202dd6fb1c7711241285439d2d","urls":["bzz-raw://e7ea0014e25a729d6d688620658df81a179a8c2380ae0bc4c78668cd486adb04","dweb:/ipfs/QmdPM8JpFXeqBxQgkRzM1inzCT2rkRxnpoSrFk8DauDpNf"],"license":"AGPL-3.0-only"},"pkg/contracts/src/ISybilScorer.sol":{"keccak256":"0x0e25fbb8497ac3c969d80c9032362d45e56c0a45dc9ba3dff6a8a704571f38ea","urls":["bzz-raw://0dff90ebae6e7131a5300fcaf525bc2ab0ae90fcd13f277d7b7b6939eeb8b7eb","dweb:/ipfs/QmYGkYqpUVrBWoNY6f3CtwrrVQFWSvnJfpu68t95f6AkBY"],"license":"MIT"},"pkg/contracts/src/RegistryCommunity.sol":{"keccak256":"0xc735f4d2635149f2db9bff291da56e08c3c312d9eb1b767b8a1e3e51584d5734","urls":["bzz-raw://247b33b78abface6a7e2da38174386de9b543f6a27e8340e26d854bff57184a3","dweb:/ipfs/QmedNdqkqeboGzz9w868uGf7KnXUaYZe6i1YcdUPPkJnnf"],"license":"AGPL-3.0-only"},"pkg/contracts/src/RegistryCommunityV0_0.sol":{"keccak256":"0x6525c857f7baff606e87bbc2878f3606923997a444eb500aa15018c676c972a9","urls":["bzz-raw://89d2af9f470c8d7431ff6b1981b7bf46520f719d68da38ab3ca065496a6297d8","dweb:/ipfs/QmceJHX57HbnBXVfmhtRPmnApUQy5QSWTybgq6g37vCxEN"],"license":"AGPL-3.0-only"},"pkg/contracts/src/RegistryFactory.sol":{"keccak256":"0x888b7f5eb1079f90ccfa0b41d8a970bffd8d4d469f9b31917a58279b358dbda5","urls":["bzz-raw://af25fd783de00adf01d1c7caa572801fed0d474306a43b862535b08e65ec10c6","dweb:/ipfs/Qmeb2nEaMQLV86y1CYAAV2c6BYpBDTbpLuC1SigeNjdqLo"],"license":"AGPL-3.0-only"},"pkg/contracts/src/interfaces/FAllo.sol":{"keccak256":"0x32f38cb4400a07a99ae68a9beb91e5649886487172fd50561da6763464efc437","urls":["bzz-raw://cb4f0cee2f3fbede7be5e8e1d7ee8034086359cd07b9dab49c4a991388e5c458","dweb:/ipfs/QmS26kA8cZ9shWwxcbF17Kes8L7Jgw85EQVydDmwb34mjM"],"license":"AGPL-3.0-only"},"pkg/contracts/src/interfaces/ISafe.sol":{"keccak256":"0x878a210809bb684c42157a10f3f90350a67d0a4863f130499942b06f0f2c9143","urls":["bzz-raw://fa2d71bd427c3415e98a2ee15ff673f3cc61c17f14d7087c5eedc83b55f6b0ef","dweb:/ipfs/QmesVSmJQQzi6ys1cvhQFCJyDXchb736mT5bXks4Yp6Cbj"],"license":"LGPL-3.0-only"},"pkg/contracts/test/CVStrategyHelpersV0_0.sol":{"keccak256":"0xe5f190162fad17403c945d71a1fadc8c63ba33df5e280596e3d9bb2f81050e61","urls":["bzz-raw://601f3d87fc5abee624e09c69cac3f23ae94bc1e0b5f9311c322db60f56afe826","dweb:/ipfs/QmRYsi62SGcKcazYAjZfCFz9EAnXcquVz1YMz5gzit1kvo"],"license":"AGPL-3.0-or-later"}},"version":1},"storageLayout":{"storage":[{"astId":9317,"contract":"pkg/contracts/test/CVStrategyHelpersV0_0.sol:CVStrategyHelpersV0_0","label":"gasMeteringOff","offset":0,"slot":"0","type":"t_bool"},{"astId":11354,"contract":"pkg/contracts/test/CVStrategyHelpersV0_0.sol:CVStrategyHelpersV0_0","label":"stdstore","offset":0,"slot":"1","type":"t_struct(StdStorage)13235_storage"},{"astId":89073,"contract":"pkg/contracts/test/CVStrategyHelpersV0_0.sol:CVStrategyHelpersV0_0","label":"metadata","offset":0,"slot":"9","type":"t_struct(Metadata)3098_storage"},{"astId":89085,"contract":"pkg/contracts/test/CVStrategyHelpersV0_0.sol:CVStrategyHelpersV0_0","label":"_poolProfileId1_","offset":0,"slot":"11","type":"t_bytes32"}],"types":{"t_address":{"encoding":"inplace","label":"address","numberOfBytes":"20"},"t_array(t_bytes32)dyn_storage":{"encoding":"dynamic_array","label":"bytes32[]","numberOfBytes":"32","base":"t_bytes32"},"t_bool":{"encoding":"inplace","label":"bool","numberOfBytes":"1"},"t_bytes32":{"encoding":"inplace","label":"bytes32","numberOfBytes":"32"},"t_bytes4":{"encoding":"inplace","label":"bytes4","numberOfBytes":"4"},"t_bytes_storage":{"encoding":"bytes","label":"bytes","numberOfBytes":"32"},"t_mapping(t_address,t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)13210_storage)))":{"encoding":"mapping","key":"t_address","label":"mapping(address => mapping(bytes4 => mapping(bytes32 => struct FindData)))","numberOfBytes":"32","value":"t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)13210_storage))"},"t_mapping(t_bytes32,t_struct(FindData)13210_storage)":{"encoding":"mapping","key":"t_bytes32","label":"mapping(bytes32 => struct FindData)","numberOfBytes":"32","value":"t_struct(FindData)13210_storage"},"t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)13210_storage))":{"encoding":"mapping","key":"t_bytes4","label":"mapping(bytes4 => mapping(bytes32 => struct FindData))","numberOfBytes":"32","value":"t_mapping(t_bytes32,t_struct(FindData)13210_storage)"},"t_string_storage":{"encoding":"bytes","label":"string","numberOfBytes":"32"},"t_struct(FindData)13210_storage":{"encoding":"inplace","label":"struct FindData","numberOfBytes":"128","members":[{"astId":13203,"contract":"pkg/contracts/test/CVStrategyHelpersV0_0.sol:CVStrategyHelpersV0_0","label":"slot","offset":0,"slot":"0","type":"t_uint256"},{"astId":13205,"contract":"pkg/contracts/test/CVStrategyHelpersV0_0.sol:CVStrategyHelpersV0_0","label":"offsetLeft","offset":0,"slot":"1","type":"t_uint256"},{"astId":13207,"contract":"pkg/contracts/test/CVStrategyHelpersV0_0.sol:CVStrategyHelpersV0_0","label":"offsetRight","offset":0,"slot":"2","type":"t_uint256"},{"astId":13209,"contract":"pkg/contracts/test/CVStrategyHelpersV0_0.sol:CVStrategyHelpersV0_0","label":"found","offset":0,"slot":"3","type":"t_bool"}]},"t_struct(Metadata)3098_storage":{"encoding":"inplace","label":"struct Metadata","numberOfBytes":"64","members":[{"astId":3094,"contract":"pkg/contracts/test/CVStrategyHelpersV0_0.sol:CVStrategyHelpersV0_0","label":"protocol","offset":0,"slot":"0","type":"t_uint256"},{"astId":3097,"contract":"pkg/contracts/test/CVStrategyHelpersV0_0.sol:CVStrategyHelpersV0_0","label":"pointer","offset":0,"slot":"1","type":"t_string_storage"}]},"t_struct(StdStorage)13235_storage":{"encoding":"inplace","label":"struct StdStorage","numberOfBytes":"256","members":[{"astId":13219,"contract":"pkg/contracts/test/CVStrategyHelpersV0_0.sol:CVStrategyHelpersV0_0","label":"finds","offset":0,"slot":"0","type":"t_mapping(t_address,t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)13210_storage)))"},{"astId":13222,"contract":"pkg/contracts/test/CVStrategyHelpersV0_0.sol:CVStrategyHelpersV0_0","label":"_keys","offset":0,"slot":"1","type":"t_array(t_bytes32)dyn_storage"},{"astId":13224,"contract":"pkg/contracts/test/CVStrategyHelpersV0_0.sol:CVStrategyHelpersV0_0","label":"_sig","offset":0,"slot":"2","type":"t_bytes4"},{"astId":13226,"contract":"pkg/contracts/test/CVStrategyHelpersV0_0.sol:CVStrategyHelpersV0_0","label":"_depth","offset":0,"slot":"3","type":"t_uint256"},{"astId":13228,"contract":"pkg/contracts/test/CVStrategyHelpersV0_0.sol:CVStrategyHelpersV0_0","label":"_target","offset":0,"slot":"4","type":"t_address"},{"astId":13230,"contract":"pkg/contracts/test/CVStrategyHelpersV0_0.sol:CVStrategyHelpersV0_0","label":"_set","offset":0,"slot":"5","type":"t_bytes32"},{"astId":13232,"contract":"pkg/contracts/test/CVStrategyHelpersV0_0.sol:CVStrategyHelpersV0_0","label":"_enable_packed_slots","offset":0,"slot":"6","type":"t_bool"},{"astId":13234,"contract":"pkg/contracts/test/CVStrategyHelpersV0_0.sol:CVStrategyHelpersV0_0","label":"_calldata","offset":0,"slot":"7","type":"t_bytes_storage"}]},"t_uint256":{"encoding":"inplace","label":"uint256","numberOfBytes":"32"}}},"ast":{"absolutePath":"pkg/contracts/test/CVStrategyHelpersV0_0.sol","id":89548,"exportedSymbols":{"Accounts":[5026],"Allo":[1390],"CVStrategyHelpersV0_0":[89547],"CVStrategyV0_0":[80578],"IRegistry":[2802],"Metadata":[3098],"Native":[3106],"StrategyStruct":[77752],"console":[29549]},"nodeType":"SourceUnit","src":"46:5897:142","nodes":[{"id":89048,"nodeType":"PragmaDirective","src":"46:24:142","nodes":[],"literals":["solidity","^","0.8",".19"]},{"id":89049,"nodeType":"ImportDirective","src":"72:31:142","nodes":[],"absolutePath":"lib/forge-std/src/console.sol","file":"forge-std/console.sol","nameLocation":"-1:-1:-1","scope":89548,"sourceUnit":29550,"symbolAliases":[],"unitAlias":""},{"id":89051,"nodeType":"ImportDirective","src":"104:53:142","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/Allo.sol","file":"allo-v2-contracts/core/Allo.sol","nameLocation":"-1:-1:-1","scope":89548,"sourceUnit":1391,"symbolAliases":[{"foreign":{"id":89050,"name":"Allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1390,"src":"112:4:142","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":89053,"nodeType":"ImportDirective","src":"158:71:142","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/libraries/Metadata.sol","file":"allo-v2-contracts/core/libraries/Metadata.sol","nameLocation":"-1:-1:-1","scope":89548,"sourceUnit":3099,"symbolAliases":[{"foreign":{"id":89052,"name":"Metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3098,"src":"166:8:142","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":89056,"nodeType":"ImportDirective","src":"301:73:142","nodes":[],"absolutePath":"pkg/contracts/src/CVStrategyV0_0.sol","file":"../src/CVStrategyV0_0.sol","nameLocation":"-1:-1:-1","scope":89548,"sourceUnit":80579,"symbolAliases":[{"foreign":{"id":89054,"name":"CVStrategyV0_0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80578,"src":"309:14:142","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":89055,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77752,"src":"325:14:142","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":89058,"nodeType":"ImportDirective","src":"375:67:142","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/libraries/Native.sol","file":"allo-v2-contracts/core/libraries/Native.sol","nameLocation":"-1:-1:-1","scope":89548,"sourceUnit":3107,"symbolAliases":[{"foreign":{"id":89057,"name":"Native","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3106,"src":"383:6:142","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":89060,"nodeType":"ImportDirective","src":"443:74:142","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/interfaces/IRegistry.sol","file":"allo-v2-contracts/core/interfaces/IRegistry.sol","nameLocation":"-1:-1:-1","scope":89548,"sourceUnit":2803,"symbolAliases":[{"foreign":{"id":89059,"name":"IRegistry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2802,"src":"451:9:142","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":89062,"nodeType":"ImportDirective","src":"519:66:142","nodes":[],"absolutePath":"lib/allo-v2/test/foundry/shared/Accounts.sol","file":"allo-v2-test/foundry/shared/Accounts.sol","nameLocation":"-1:-1:-1","scope":89548,"sourceUnit":5027,"symbolAliases":[{"foreign":{"id":89061,"name":"Accounts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5026,"src":"527:8:142","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":89547,"nodeType":"ContractDefinition","src":"587:5355:142","nodes":[{"id":89073,"nodeType":"VariableDeclaration","src":"644:109:142","nodes":[],"constant":false,"functionSelector":"392f37e9","mutability":"mutable","name":"metadata","nameLocation":"660:8:142","scope":89547,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage","typeString":"struct Metadata"},"typeName":{"id":89068,"nodeType":"UserDefinedTypeName","pathNode":{"id":89067,"name":"Metadata","nameLocations":["644:8:142"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"644:8:142"},"referencedDeclaration":3098,"src":"644:8:142","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"value":{"arguments":[{"hexValue":"31","id":89070,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"691:1:142","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"hexValue":"516d57347a464c464a524e374a3637457a4e6d64433272324d397532694a44686132666a3547656536684a7a5359","id":89071,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"703:48:142","typeDescriptions":{"typeIdentifier":"t_stringliteral_5132d0078161e899617508f56f10fe912a54664090fbe8853f8693be238f8d30","typeString":"literal_string \"QmW4zFLFJRN7J67EzNmdC2r2M9u2iJDha2fj5Gee6hJzSY\""},"value":"QmW4zFLFJRN7J67EzNmdC2r2M9u2iJDha2fj5Gee6hJzSY"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_stringliteral_5132d0078161e899617508f56f10fe912a54664090fbe8853f8693be238f8d30","typeString":"literal_string \"QmW4zFLFJRN7J67EzNmdC2r2M9u2iJDha2fj5Gee6hJzSY\""}],"id":89069,"name":"Metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3098,"src":"671:8:142","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Metadata_$3098_storage_ptr_$","typeString":"type(struct Metadata storage pointer)"}},"id":89072,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["681:8:142","694:7:142"],"names":["protocol","pointer"],"nodeType":"FunctionCall","src":"671:82:142","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}},"visibility":"public"},{"id":89078,"nodeType":"VariableDeclaration","src":"782:43:142","nodes":[],"constant":true,"functionSelector":"2e0f2625","mutability":"constant","name":"DECIMALS","nameLocation":"806:8:142","scope":89547,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":89074,"name":"uint256","nodeType":"ElementaryTypeName","src":"782:7:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"commonType":{"typeIdentifier":"t_rational_1000000000000000000_by_1","typeString":"int_const 1000000000000000000"},"id":89077,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":89075,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"817:2:142","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"3138","id":89076,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"823:2:142","typeDescriptions":{"typeIdentifier":"t_rational_18_by_1","typeString":"int_const 18"},"value":"18"},"src":"817:8:142","typeDescriptions":{"typeIdentifier":"t_rational_1000000000000000000_by_1","typeString":"int_const 1000000000000000000"}},"visibility":"public"},{"id":89083,"nodeType":"VariableDeclaration","src":"831:50:142","nodes":[],"constant":true,"functionSelector":"3f26479e","mutability":"constant","name":"PERCENTAGE_SCALE","nameLocation":"855:16:142","scope":89547,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":89079,"name":"uint256","nodeType":"ElementaryTypeName","src":"831:7:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"commonType":{"typeIdentifier":"t_rational_10000_by_1","typeString":"int_const 10000"},"id":89082,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":89080,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"874:2:142","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"34","id":89081,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"880:1:142","typeDescriptions":{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},"value":"4"},"src":"874:7:142","typeDescriptions":{"typeIdentifier":"t_rational_10000_by_1","typeString":"int_const 10000"}},"visibility":"public"},{"id":89085,"nodeType":"VariableDeclaration","src":"888:33:142","nodes":[],"constant":false,"mutability":"mutable","name":"_poolProfileId1_","nameLocation":"905:16:142","scope":89547,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":89084,"name":"bytes32","nodeType":"ElementaryTypeName","src":"888:7:142","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"id":89090,"nodeType":"VariableDeclaration","src":"928:44:142","nodes":[],"constant":true,"mutability":"constant","name":"TWO_127","nameLocation":"954:7:142","scope":89547,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":89086,"name":"uint256","nodeType":"ElementaryTypeName","src":"928:7:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"commonType":{"typeIdentifier":"t_rational_170141183460469231731687303715884105728_by_1","typeString":"int_const 1701...(31 digits omitted)...5728"},"id":89089,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"32","id":89087,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"964:1:142","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"313237","id":89088,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"969:3:142","typeDescriptions":{"typeIdentifier":"t_rational_127_by_1","typeString":"int_const 127"},"value":"127"},"src":"964:8:142","typeDescriptions":{"typeIdentifier":"t_rational_170141183460469231731687303715884105728_by_1","typeString":"int_const 1701...(31 digits omitted)...5728"}},"visibility":"internal"},{"id":89095,"nodeType":"VariableDeclaration","src":"978:44:142","nodes":[],"constant":true,"mutability":"constant","name":"TWO_128","nameLocation":"1004:7:142","scope":89547,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":89091,"name":"uint256","nodeType":"ElementaryTypeName","src":"978:7:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"commonType":{"typeIdentifier":"t_rational_340282366920938463463374607431768211456_by_1","typeString":"int_const 3402...(31 digits omitted)...1456"},"id":89094,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"32","id":89092,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1014:1:142","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"313238","id":89093,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1019:3:142","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"1014:8:142","typeDescriptions":{"typeIdentifier":"t_rational_340282366920938463463374607431768211456_by_1","typeString":"int_const 3402...(31 digits omitted)...1456"}},"visibility":"internal"},{"id":89100,"nodeType":"VariableDeclaration","src":"1028:37:142","nodes":[],"constant":true,"mutability":"constant","name":"D","nameLocation":"1054:1:142","scope":89547,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":89096,"name":"uint256","nodeType":"ElementaryTypeName","src":"1028:7:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"commonType":{"typeIdentifier":"t_rational_10000000_by_1","typeString":"int_const 10000000"},"id":89099,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":89097,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1058:2:142","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"37","id":89098,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1064:1:142","typeDescriptions":{"typeIdentifier":"t_rational_7_by_1","typeString":"int_const 7"},"value":"7"},"src":"1058:7:142","typeDescriptions":{"typeIdentifier":"t_rational_10000000_by_1","typeString":"int_const 10000000"}},"visibility":"internal"},{"id":89138,"nodeType":"FunctionDefinition","src":"1176:437:142","nodes":[],"body":{"id":89137,"nodeType":"Block","src":"1334:279:142","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":89118,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":89113,"name":"_poolProfileId1_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89085,"src":"1348:16:142","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":89116,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1376:1:142","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":89115,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1368:7:142","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":89114,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1368:7:142","typeDescriptions":{}}},"id":89117,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1368:10:142","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"1348:30:142","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":89134,"nodeType":"IfStatement","src":"1344:230:142","trueBody":{"id":89133,"nodeType":"Block","src":"1380:194:142","statements":[{"expression":{"id":89131,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":89119,"name":"_poolProfileId1_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89085,"src":"1394:16:142","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"32","id":89122,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1453:1:142","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},{"hexValue":"506f6f6c2050726f66696c652031","id":89123,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1456:16:142","typeDescriptions":{"typeIdentifier":"t_stringliteral_cfdb29660678cfa126d648cb1a4f5ce763c1e1204e820590687579a35d4b28f4","typeString":"literal_string \"Pool Profile 1\""},"value":"Pool Profile 1"},{"arguments":[{"hexValue":"31","id":89125,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1494:1:142","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"hexValue":"506f6f6c50726f66696c6531","id":89126,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1506:14:142","typeDescriptions":{"typeIdentifier":"t_stringliteral_f67171f94b553bc18f3436392ab5b1a6c6075d142911addaba07f9932e807028","typeString":"literal_string \"PoolProfile1\""},"value":"PoolProfile1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_stringliteral_f67171f94b553bc18f3436392ab5b1a6c6075d142911addaba07f9932e807028","typeString":"literal_string \"PoolProfile1\""}],"id":89124,"name":"Metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3098,"src":"1474:8:142","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Metadata_$3098_storage_ptr_$","typeString":"type(struct Metadata storage pointer)"}},"id":89127,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["1484:8:142","1497:7:142"],"names":["protocol","pointer"],"nodeType":"FunctionCall","src":"1474:48:142","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}},{"id":89128,"name":"pool_admin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89105,"src":"1524:10:142","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":89129,"name":"pool_managers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89108,"src":"1536:13:142","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},{"typeIdentifier":"t_stringliteral_cfdb29660678cfa126d648cb1a4f5ce763c1e1204e820590687579a35d4b28f4","typeString":"literal_string \"Pool Profile 1\""},{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}],"expression":{"id":89120,"name":"registry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89103,"src":"1413:8:142","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"}},"id":89121,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1422:13:142","memberName":"createProfile","nodeType":"MemberAccess","referencedDeclaration":2742,"src":"1413:22:142","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_string_memory_ptr_$_t_struct$_Metadata_$3098_memory_ptr_$_t_address_$_t_array$_t_address_$dyn_memory_ptr_$returns$_t_bytes32_$","typeString":"function (uint256,string memory,struct Metadata memory,address,address[] memory) external returns (bytes32)"}},"id":89130,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1413:150:142","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"1394:169:142","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":89132,"nodeType":"ExpressionStatement","src":"1394:169:142"}]}},{"expression":{"id":89135,"name":"_poolProfileId1_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89085,"src":"1590:16:142","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":89112,"id":89136,"nodeType":"Return","src":"1583:23:142"}]},"functionSelector":"37d1c404","implemented":true,"kind":"function","modifiers":[],"name":"poolProfile_id1","nameLocation":"1185:15:142","parameters":{"id":89109,"nodeType":"ParameterList","parameters":[{"constant":false,"id":89103,"mutability":"mutable","name":"registry","nameLocation":"1211:8:142","nodeType":"VariableDeclaration","scope":89138,"src":"1201:18:142","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"},"typeName":{"id":89102,"nodeType":"UserDefinedTypeName","pathNode":{"id":89101,"name":"IRegistry","nameLocations":["1201:9:142"],"nodeType":"IdentifierPath","referencedDeclaration":2802,"src":"1201:9:142"},"referencedDeclaration":2802,"src":"1201:9:142","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"}},"visibility":"internal"},{"constant":false,"id":89105,"mutability":"mutable","name":"pool_admin","nameLocation":"1229:10:142","nodeType":"VariableDeclaration","scope":89138,"src":"1221:18:142","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":89104,"name":"address","nodeType":"ElementaryTypeName","src":"1221:7:142","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":89108,"mutability":"mutable","name":"pool_managers","nameLocation":"1258:13:142","nodeType":"VariableDeclaration","scope":89138,"src":"1241:30:142","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":89106,"name":"address","nodeType":"ElementaryTypeName","src":"1241:7:142","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":89107,"nodeType":"ArrayTypeName","src":"1241:9:142","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"1200:72:142"},"returnParameters":{"id":89112,"nodeType":"ParameterList","parameters":[{"constant":false,"id":89111,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":89138,"src":"1321:7:142","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":89110,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1321:7:142","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"1320:9:142"},"scope":89547,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":89218,"nodeType":"FunctionDefinition","src":"1619:1088:142","nodes":[],"body":{"id":89217,"nodeType":"Block","src":"1906:801:142","nodes":[],"statements":[{"expression":{"id":89161,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":89155,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89153,"src":"1967:6:142","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$77751_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":89157,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"1974:5:142","memberName":"decay","nodeType":"MemberAccess","referencedDeclaration":77733,"src":"1967:12:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"302e39393939373939","id":89159,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1996:15:142","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_999979900000000000_by_1","typeString":"int_const 999979900000000000"},"value":"0.9999799"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_999979900000000000_by_1","typeString":"int_const 999979900000000000"}],"id":89158,"name":"_etherToFloat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89392,"src":"1982:13:142","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":89160,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1982:30:142","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1967:45:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":89162,"nodeType":"ExpressionStatement","src":"1967:45:142"},{"expression":{"id":89169,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":89163,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89153,"src":"2111:6:142","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$77751_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":89165,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"2118:8:142","memberName":"maxRatio","nodeType":"MemberAccess","referencedDeclaration":77735,"src":"2111:15:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"302e32","id":89167,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2143:9:142","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_200000000000000000_by_1","typeString":"int_const 200000000000000000"},"value":"0.2"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_200000000000000000_by_1","typeString":"int_const 200000000000000000"}],"id":89166,"name":"_etherToFloat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89392,"src":"2129:13:142","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":89168,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2129:24:142","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2111:42:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":89170,"nodeType":"ExpressionStatement","src":"2111:42:142"},{"expression":{"id":89177,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":89171,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89153,"src":"2182:6:142","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$77751_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":89173,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"2189:6:142","memberName":"weight","nodeType":"MemberAccess","referencedDeclaration":77737,"src":"2182:13:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"302e303031","id":89175,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2212:11:142","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_1000000000000000_by_1","typeString":"int_const 1000000000000000"},"value":"0.001"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1000000000000000_by_1","typeString":"int_const 1000000000000000"}],"id":89174,"name":"_etherToFloat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89392,"src":"2198:13:142","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":89176,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2198:26:142","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2182:42:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":89178,"nodeType":"ExpressionStatement","src":"2182:42:142"},{"expression":{"id":89183,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":89179,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89153,"src":"2321:6:142","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$77751_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":89181,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"2328:17:142","memberName":"registryCommunity","nodeType":"MemberAccess","referencedDeclaration":77731,"src":"2321:24:142","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":89182,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89140,"src":"2348:17:142","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"2321:44:142","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":89184,"nodeType":"ExpressionStatement","src":"2321:44:142"},{"expression":{"id":89189,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":89185,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89153,"src":"2375:6:142","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$77751_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":89187,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"2382:12:142","memberName":"proposalType","nodeType":"MemberAccess","referencedDeclaration":77742,"src":"2375:19:142","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$77671","typeString":"enum StrategyStruct.ProposalType"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":89188,"name":"proposalType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89143,"src":"2397:12:142","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$77671","typeString":"enum StrategyStruct.ProposalType"}},"src":"2375:34:142","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$77671","typeString":"enum StrategyStruct.ProposalType"}},"id":89190,"nodeType":"ExpressionStatement","src":"2375:34:142"},{"expression":{"id":89195,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":89191,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89153,"src":"2419:6:142","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$77751_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":89193,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"2426:11:142","memberName":"pointSystem","nodeType":"MemberAccess","referencedDeclaration":77745,"src":"2419:18:142","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$77676","typeString":"enum StrategyStruct.PointSystem"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":89194,"name":"pointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89146,"src":"2440:11:142","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$77676","typeString":"enum StrategyStruct.PointSystem"}},"src":"2419:32:142","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$77676","typeString":"enum StrategyStruct.PointSystem"}},"id":89196,"nodeType":"ExpressionStatement","src":"2419:32:142"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":89200,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":89197,"name":"pointConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89149,"src":"2466:11:142","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$77729_memory_ptr","typeString":"struct StrategyStruct.PointSystemConfig memory"}},"id":89198,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2478:9:142","memberName":"maxAmount","nodeType":"MemberAccess","referencedDeclaration":77728,"src":"2466:21:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":89199,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2491:1:142","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"2466:26:142","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":89210,"nodeType":"IfStatement","src":"2462:197:142","trueBody":{"id":89209,"nodeType":"Block","src":"2494:165:142","statements":[{"expression":{"id":89207,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":89201,"name":"pointConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89149,"src":"2610:11:142","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$77729_memory_ptr","typeString":"struct StrategyStruct.PointSystemConfig memory"}},"id":89203,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"2622:9:142","memberName":"maxAmount","nodeType":"MemberAccess","referencedDeclaration":77728,"src":"2610:21:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":89206,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"323030","id":89204,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2634:3:142","typeDescriptions":{"typeIdentifier":"t_rational_200_by_1","typeString":"int_const 200"},"value":"200"},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":89205,"name":"DECIMALS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89078,"src":"2640:8:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2634:14:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2610:38:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":89208,"nodeType":"ExpressionStatement","src":"2610:38:142"}]}},{"expression":{"id":89215,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":89211,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89153,"src":"2668:6:142","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$77751_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":89213,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"2675:11:142","memberName":"pointConfig","nodeType":"MemberAccess","referencedDeclaration":77748,"src":"2668:18:142","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$77729_memory_ptr","typeString":"struct StrategyStruct.PointSystemConfig memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":89214,"name":"pointConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89149,"src":"2689:11:142","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$77729_memory_ptr","typeString":"struct StrategyStruct.PointSystemConfig memory"}},"src":"2668:32:142","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$77729_memory_ptr","typeString":"struct StrategyStruct.PointSystemConfig memory"}},"id":89216,"nodeType":"ExpressionStatement","src":"2668:32:142"}]},"functionSelector":"770b2e66","implemented":true,"kind":"function","modifiers":[],"name":"getParams","nameLocation":"1628:9:142","parameters":{"id":89150,"nodeType":"ParameterList","parameters":[{"constant":false,"id":89140,"mutability":"mutable","name":"registryCommunity","nameLocation":"1655:17:142","nodeType":"VariableDeclaration","scope":89218,"src":"1647:25:142","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":89139,"name":"address","nodeType":"ElementaryTypeName","src":"1647:7:142","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":89143,"mutability":"mutable","name":"proposalType","nameLocation":"1710:12:142","nodeType":"VariableDeclaration","scope":89218,"src":"1682:40:142","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$77671","typeString":"enum StrategyStruct.ProposalType"},"typeName":{"id":89142,"nodeType":"UserDefinedTypeName","pathNode":{"id":89141,"name":"StrategyStruct.ProposalType","nameLocations":["1682:14:142","1697:12:142"],"nodeType":"IdentifierPath","referencedDeclaration":77671,"src":"1682:27:142"},"referencedDeclaration":77671,"src":"1682:27:142","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$77671","typeString":"enum StrategyStruct.ProposalType"}},"visibility":"internal"},{"constant":false,"id":89146,"mutability":"mutable","name":"pointSystem","nameLocation":"1759:11:142","nodeType":"VariableDeclaration","scope":89218,"src":"1732:38:142","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$77676","typeString":"enum StrategyStruct.PointSystem"},"typeName":{"id":89145,"nodeType":"UserDefinedTypeName","pathNode":{"id":89144,"name":"StrategyStruct.PointSystem","nameLocations":["1732:14:142","1747:11:142"],"nodeType":"IdentifierPath","referencedDeclaration":77676,"src":"1732:26:142"},"referencedDeclaration":77676,"src":"1732:26:142","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$77676","typeString":"enum StrategyStruct.PointSystem"}},"visibility":"internal"},{"constant":false,"id":89149,"mutability":"mutable","name":"pointConfig","nameLocation":"1820:11:142","nodeType":"VariableDeclaration","scope":89218,"src":"1780:51:142","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$77729_memory_ptr","typeString":"struct StrategyStruct.PointSystemConfig"},"typeName":{"id":89148,"nodeType":"UserDefinedTypeName","pathNode":{"id":89147,"name":"StrategyStruct.PointSystemConfig","nameLocations":["1780:14:142","1795:17:142"],"nodeType":"IdentifierPath","referencedDeclaration":77729,"src":"1780:32:142"},"referencedDeclaration":77729,"src":"1780:32:142","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$77729_storage_ptr","typeString":"struct StrategyStruct.PointSystemConfig"}},"visibility":"internal"}],"src":"1637:200:142"},"returnParameters":{"id":89154,"nodeType":"ParameterList","parameters":[{"constant":false,"id":89153,"mutability":"mutable","name":"params","nameLocation":"1898:6:142","nodeType":"VariableDeclaration","scope":89218,"src":"1859:45:142","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$77751_memory_ptr","typeString":"struct StrategyStruct.InitializeParams"},"typeName":{"id":89152,"nodeType":"UserDefinedTypeName","pathNode":{"id":89151,"name":"StrategyStruct.InitializeParams","nameLocations":["1859:14:142","1874:16:142"],"nodeType":"IdentifierPath","referencedDeclaration":77751,"src":"1859:31:142"},"referencedDeclaration":77751,"src":"1859:31:142","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$77751_storage_ptr","typeString":"struct StrategyStruct.InitializeParams"}},"visibility":"internal"}],"src":"1858:47:142"},"scope":89547,"stateMutability":"pure","virtual":false,"visibility":"public"},{"id":89340,"nodeType":"FunctionDefinition","src":"2713:1446:142","nodes":[],"body":{"id":89339,"nodeType":"Block","src":"3061:1098:142","nodes":[],"statements":[{"assignments":[89248],"declarations":[{"constant":false,"id":89248,"mutability":"mutable","name":"params","nameLocation":"3161:6:142","nodeType":"VariableDeclaration","scope":89339,"src":"3122:45:142","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$77751_memory_ptr","typeString":"struct StrategyStruct.InitializeParams"},"typeName":{"id":89247,"nodeType":"UserDefinedTypeName","pathNode":{"id":89246,"name":"StrategyStruct.InitializeParams","nameLocations":["3122:14:142","3137:16:142"],"nodeType":"IdentifierPath","referencedDeclaration":77751,"src":"3122:31:142"},"referencedDeclaration":77751,"src":"3122:31:142","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$77751_storage_ptr","typeString":"struct StrategyStruct.InitializeParams"}},"visibility":"internal"}],"id":89255,"initialValue":{"arguments":[{"id":89250,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89225,"src":"3192:17:142","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":89251,"name":"proposalType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89233,"src":"3211:12:142","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$77671","typeString":"enum StrategyStruct.ProposalType"}},{"id":89252,"name":"pointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89236,"src":"3225:11:142","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$77676","typeString":"enum StrategyStruct.PointSystem"}},{"id":89253,"name":"pointConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89239,"src":"3238:11:142","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$77729_memory_ptr","typeString":"struct StrategyStruct.PointSystemConfig memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_enum$_ProposalType_$77671","typeString":"enum StrategyStruct.ProposalType"},{"typeIdentifier":"t_enum$_PointSystem_$77676","typeString":"enum StrategyStruct.PointSystem"},{"typeIdentifier":"t_struct$_PointSystemConfig_$77729_memory_ptr","typeString":"struct StrategyStruct.PointSystemConfig memory"}],"id":89249,"name":"getParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89218,"src":"3182:9:142","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$_t_enum$_ProposalType_$77671_$_t_enum$_PointSystem_$77676_$_t_struct$_PointSystemConfig_$77729_memory_ptr_$returns$_t_struct$_InitializeParams_$77751_memory_ptr_$","typeString":"function (address,enum StrategyStruct.ProposalType,enum StrategyStruct.PointSystem,struct StrategyStruct.PointSystemConfig memory) pure returns (struct StrategyStruct.InitializeParams memory)"}},"id":89254,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3182:68:142","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$77751_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"nodeType":"VariableDeclarationStatement","src":"3122:128:142"},{"assignments":[89260],"declarations":[{"constant":false,"id":89260,"mutability":"mutable","name":"_pool_managers","nameLocation":"3278:14:142","nodeType":"VariableDeclaration","scope":89339,"src":"3261:31:142","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":89258,"name":"address","nodeType":"ElementaryTypeName","src":"3261:7:142","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":89259,"nodeType":"ArrayTypeName","src":"3261:9:142","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"id":89266,"initialValue":{"arguments":[{"hexValue":"32","id":89264,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3309:1:142","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"}],"id":89263,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"3295:13:142","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_address_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (address[] memory)"},"typeName":{"baseType":{"id":89261,"name":"address","nodeType":"ElementaryTypeName","src":"3299:7:142","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":89262,"nodeType":"ArrayTypeName","src":"3299:9:142","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}}},"id":89265,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3295:16:142","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"nodeType":"VariableDeclarationStatement","src":"3261:50:142"},{"expression":{"id":89274,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":89267,"name":"_pool_managers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89260,"src":"3321:14:142","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":89269,"indexExpression":{"hexValue":"30","id":89268,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3336:1:142","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3321:17:142","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":89272,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"3349:4:142","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyHelpersV0_0_$89547","typeString":"contract CVStrategyHelpersV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyHelpersV0_0_$89547","typeString":"contract CVStrategyHelpersV0_0"}],"id":89271,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3341:7:142","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":89270,"name":"address","nodeType":"ElementaryTypeName","src":"3341:7:142","typeDescriptions":{}}},"id":89273,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3341:13:142","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3321:33:142","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":89275,"nodeType":"ExpressionStatement","src":"3321:33:142"},{"expression":{"id":89284,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":89276,"name":"_pool_managers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89260,"src":"3364:14:142","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":89278,"indexExpression":{"hexValue":"31","id":89277,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3379:1:142","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3364:17:142","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":89281,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"3392:3:142","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":89282,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3396:6:142","memberName":"sender","nodeType":"MemberAccess","src":"3392:10:142","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":89280,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3384:7:142","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":89279,"name":"address","nodeType":"ElementaryTypeName","src":"3384:7:142","typeDescriptions":{}}},"id":89283,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3384:19:142","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3364:39:142","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":89285,"nodeType":"ExpressionStatement","src":"3364:39:142"},{"assignments":[89287],"declarations":[{"constant":false,"id":89287,"mutability":"mutable","name":"_token","nameLocation":"3661:6:142","nodeType":"VariableDeclaration","scope":89339,"src":"3653:14:142","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":89286,"name":"address","nodeType":"ElementaryTypeName","src":"3653:7:142","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":89289,"initialValue":{"id":89288,"name":"NATIVE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3105,"src":"3670:6:142","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"3653:23:142"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":89295,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":89290,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89230,"src":"3690:5:142","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":89293,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3707:1:142","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":89292,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3699:7:142","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":89291,"name":"address","nodeType":"ElementaryTypeName","src":"3699:7:142","typeDescriptions":{}}},"id":89294,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3699:10:142","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3690:19:142","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":89301,"nodeType":"IfStatement","src":"3686:64:142","trueBody":{"id":89300,"nodeType":"Block","src":"3711:39:142","statements":[{"expression":{"id":89298,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":89296,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89287,"src":"3725:6:142","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":89297,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89230,"src":"3734:5:142","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3725:14:142","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":89299,"nodeType":"ExpressionStatement","src":"3725:14:142"}]}},{"expression":{"id":89324,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":89302,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89242,"src":"3759:6:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":89306,"name":"registry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89228,"src":"3872:8:142","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"}},{"arguments":[],"expression":{"argumentTypes":[],"id":89307,"name":"pool_admin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4753,"src":"3882:10:142","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":89308,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3882:12:142","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":89309,"name":"_pool_managers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89260,"src":"3896:14:142","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}],"id":89305,"name":"poolProfile_id1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89138,"src":"3856:15:142","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IRegistry_$2802_$_t_address_$_t_array$_t_address_$dyn_memory_ptr_$returns$_t_bytes32_$","typeString":"function (contract IRegistry,address,address[] memory) returns (bytes32)"}},"id":89310,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3856:55:142","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"id":89313,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89223,"src":"3933:8:142","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":89312,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3925:7:142","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":89311,"name":"address","nodeType":"ElementaryTypeName","src":"3925:7:142","typeDescriptions":{}}},"id":89314,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3925:17:142","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":89317,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89248,"src":"3967:6:142","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$77751_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_InitializeParams_$77751_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}],"expression":{"id":89315,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3956:3:142","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":89316,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3960:6:142","memberName":"encode","nodeType":"MemberAccess","src":"3956:10:142","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":89318,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3956:18:142","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":89319,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89287,"src":"3988:6:142","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":89320,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4008:1:142","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"id":89321,"name":"metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89073,"src":"4023:8:142","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage","typeString":"struct Metadata storage ref"}},{"id":89322,"name":"_pool_managers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89260,"src":"4045:14:142","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_struct$_Metadata_$3098_storage","typeString":"struct Metadata storage ref"},{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}],"expression":{"id":89303,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89221,"src":"3768:4:142","typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":89304,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3773:28:142","memberName":"createPoolWithCustomStrategy","nodeType":"MemberAccess","referencedDeclaration":175,"src":"3768:33:142","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_bytes32_$_t_address_$_t_bytes_memory_ptr_$_t_address_$_t_uint256_$_t_struct$_Metadata_$3098_memory_ptr_$_t_array$_t_address_$dyn_memory_ptr_$returns$_t_uint256_$","typeString":"function (bytes32,address,bytes memory,address,uint256,struct Metadata memory,address[] memory) payable external returns (uint256)"}},"id":89323,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3768:301:142","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3759:310:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":89325,"nodeType":"ExpressionStatement","src":"3759:310:142"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_enum$_ProposalType_$77671","typeString":"enum StrategyStruct.ProposalType"},"id":89336,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[{"arguments":[{"id":89330,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89223,"src":"4110:8:142","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":89329,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4102:8:142","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":89328,"name":"address","nodeType":"ElementaryTypeName","src":"4102:8:142","stateMutability":"payable","typeDescriptions":{}}},"id":89331,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4102:17:142","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":89327,"name":"CVStrategyV0_0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80578,"src":"4087:14:142","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategyV0_0_$80578_$","typeString":"type(contract CVStrategyV0_0)"}},"id":89332,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4087:33:142","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$80578","typeString":"contract CVStrategyV0_0"}},"id":89333,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4121:12:142","memberName":"proposalType","nodeType":"MemberAccess","referencedDeclaration":77952,"src":"4087:46:142","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_enum$_ProposalType_$77671_$","typeString":"function () view external returns (enum StrategyStruct.ProposalType)"}},"id":89334,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4087:48:142","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$77671","typeString":"enum StrategyStruct.ProposalType"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":89335,"name":"proposalType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89233,"src":"4139:12:142","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$77671","typeString":"enum StrategyStruct.ProposalType"}},"src":"4087:64:142","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":89326,"name":"assert","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-3,"src":"4080:6:142","typeDescriptions":{"typeIdentifier":"t_function_assert_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":89337,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4080:72:142","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":89338,"nodeType":"ExpressionStatement","src":"4080:72:142"}]},"functionSelector":"ed62303a","implemented":true,"kind":"function","modifiers":[],"name":"createPool","nameLocation":"2722:10:142","parameters":{"id":89240,"nodeType":"ParameterList","parameters":[{"constant":false,"id":89221,"mutability":"mutable","name":"allo","nameLocation":"2747:4:142","nodeType":"VariableDeclaration","scope":89340,"src":"2742:9:142","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"},"typeName":{"id":89220,"nodeType":"UserDefinedTypeName","pathNode":{"id":89219,"name":"Allo","nameLocations":["2742:4:142"],"nodeType":"IdentifierPath","referencedDeclaration":1390,"src":"2742:4:142"},"referencedDeclaration":1390,"src":"2742:4:142","typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"visibility":"internal"},{"constant":false,"id":89223,"mutability":"mutable","name":"strategy","nameLocation":"2769:8:142","nodeType":"VariableDeclaration","scope":89340,"src":"2761:16:142","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":89222,"name":"address","nodeType":"ElementaryTypeName","src":"2761:7:142","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":89225,"mutability":"mutable","name":"registryCommunity","nameLocation":"2795:17:142","nodeType":"VariableDeclaration","scope":89340,"src":"2787:25:142","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":89224,"name":"address","nodeType":"ElementaryTypeName","src":"2787:7:142","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":89228,"mutability":"mutable","name":"registry","nameLocation":"2832:8:142","nodeType":"VariableDeclaration","scope":89340,"src":"2822:18:142","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"},"typeName":{"id":89227,"nodeType":"UserDefinedTypeName","pathNode":{"id":89226,"name":"IRegistry","nameLocations":["2822:9:142"],"nodeType":"IdentifierPath","referencedDeclaration":2802,"src":"2822:9:142"},"referencedDeclaration":2802,"src":"2822:9:142","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"}},"visibility":"internal"},{"constant":false,"id":89230,"mutability":"mutable","name":"token","nameLocation":"2858:5:142","nodeType":"VariableDeclaration","scope":89340,"src":"2850:13:142","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":89229,"name":"address","nodeType":"ElementaryTypeName","src":"2850:7:142","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":89233,"mutability":"mutable","name":"proposalType","nameLocation":"2901:12:142","nodeType":"VariableDeclaration","scope":89340,"src":"2873:40:142","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$77671","typeString":"enum StrategyStruct.ProposalType"},"typeName":{"id":89232,"nodeType":"UserDefinedTypeName","pathNode":{"id":89231,"name":"StrategyStruct.ProposalType","nameLocations":["2873:14:142","2888:12:142"],"nodeType":"IdentifierPath","referencedDeclaration":77671,"src":"2873:27:142"},"referencedDeclaration":77671,"src":"2873:27:142","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$77671","typeString":"enum StrategyStruct.ProposalType"}},"visibility":"internal"},{"constant":false,"id":89236,"mutability":"mutable","name":"pointSystem","nameLocation":"2950:11:142","nodeType":"VariableDeclaration","scope":89340,"src":"2923:38:142","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$77676","typeString":"enum StrategyStruct.PointSystem"},"typeName":{"id":89235,"nodeType":"UserDefinedTypeName","pathNode":{"id":89234,"name":"StrategyStruct.PointSystem","nameLocations":["2923:14:142","2938:11:142"],"nodeType":"IdentifierPath","referencedDeclaration":77676,"src":"2923:26:142"},"referencedDeclaration":77676,"src":"2923:26:142","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$77676","typeString":"enum StrategyStruct.PointSystem"}},"visibility":"internal"},{"constant":false,"id":89239,"mutability":"mutable","name":"pointConfig","nameLocation":"3011:11:142","nodeType":"VariableDeclaration","scope":89340,"src":"2971:51:142","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$77729_memory_ptr","typeString":"struct StrategyStruct.PointSystemConfig"},"typeName":{"id":89238,"nodeType":"UserDefinedTypeName","pathNode":{"id":89237,"name":"StrategyStruct.PointSystemConfig","nameLocations":["2971:14:142","2986:17:142"],"nodeType":"IdentifierPath","referencedDeclaration":77729,"src":"2971:32:142"},"referencedDeclaration":77729,"src":"2971:32:142","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$77729_storage_ptr","typeString":"struct StrategyStruct.PointSystemConfig"}},"visibility":"internal"}],"src":"2732:296:142"},"returnParameters":{"id":89243,"nodeType":"ParameterList","parameters":[{"constant":false,"id":89242,"mutability":"mutable","name":"poolId","nameLocation":"3053:6:142","nodeType":"VariableDeclaration","scope":89340,"src":"3045:14:142","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":89241,"name":"uint256","nodeType":"ElementaryTypeName","src":"3045:7:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3044:16:142"},"scope":89547,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":89378,"nodeType":"FunctionDefinition","src":"4165:543:142","nodes":[],"body":{"id":89377,"nodeType":"Block","src":"4452:256:142","nodes":[],"statements":[{"expression":{"arguments":[{"id":89364,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89343,"src":"4493:4:142","typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},{"id":89365,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89345,"src":"4511:8:142","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":89366,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89347,"src":"4533:17:142","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":89367,"name":"registry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89350,"src":"4564:8:142","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"}},{"id":89368,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89352,"src":"4586:5:142","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":89369,"name":"proposalType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89355,"src":"4605:12:142","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$77671","typeString":"enum StrategyStruct.ProposalType"}},{"id":89370,"name":"pointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89358,"src":"4631:11:142","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$77676","typeString":"enum StrategyStruct.PointSystem"}},{"arguments":[{"hexValue":"30","id":89373,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4689:1:142","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"expression":{"id":89371,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77752,"src":"4656:14:142","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$77752_$","typeString":"type(library StrategyStruct)"}},"id":89372,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4671:17:142","memberName":"PointSystemConfig","nodeType":"MemberAccess","referencedDeclaration":77729,"src":"4656:32:142","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_PointSystemConfig_$77729_storage_ptr_$","typeString":"type(struct StrategyStruct.PointSystemConfig storage pointer)"}},"id":89374,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4656:35:142","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$77729_memory_ptr","typeString":"struct StrategyStruct.PointSystemConfig memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_enum$_ProposalType_$77671","typeString":"enum StrategyStruct.ProposalType"},{"typeIdentifier":"t_enum$_PointSystem_$77676","typeString":"enum StrategyStruct.PointSystem"},{"typeIdentifier":"t_struct$_PointSystemConfig_$77729_memory_ptr","typeString":"struct StrategyStruct.PointSystemConfig memory"}],"id":89363,"name":"createPool","nodeType":"Identifier","overloadedDeclarations":[89340,89378],"referencedDeclaration":89340,"src":"4469:10:142","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_Allo_$1390_$_t_address_$_t_address_$_t_contract$_IRegistry_$2802_$_t_address_$_t_enum$_ProposalType_$77671_$_t_enum$_PointSystem_$77676_$_t_struct$_PointSystemConfig_$77729_memory_ptr_$returns$_t_uint256_$","typeString":"function (contract Allo,address,address,contract IRegistry,address,enum StrategyStruct.ProposalType,enum StrategyStruct.PointSystem,struct StrategyStruct.PointSystemConfig memory) returns (uint256)"}},"id":89375,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4469:232:142","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":89362,"id":89376,"nodeType":"Return","src":"4462:239:142"}]},"functionSelector":"d8c12dc2","implemented":true,"kind":"function","modifiers":[],"name":"createPool","nameLocation":"4174:10:142","parameters":{"id":89359,"nodeType":"ParameterList","parameters":[{"constant":false,"id":89343,"mutability":"mutable","name":"allo","nameLocation":"4199:4:142","nodeType":"VariableDeclaration","scope":89378,"src":"4194:9:142","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"},"typeName":{"id":89342,"nodeType":"UserDefinedTypeName","pathNode":{"id":89341,"name":"Allo","nameLocations":["4194:4:142"],"nodeType":"IdentifierPath","referencedDeclaration":1390,"src":"4194:4:142"},"referencedDeclaration":1390,"src":"4194:4:142","typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"visibility":"internal"},{"constant":false,"id":89345,"mutability":"mutable","name":"strategy","nameLocation":"4221:8:142","nodeType":"VariableDeclaration","scope":89378,"src":"4213:16:142","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":89344,"name":"address","nodeType":"ElementaryTypeName","src":"4213:7:142","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":89347,"mutability":"mutable","name":"registryCommunity","nameLocation":"4247:17:142","nodeType":"VariableDeclaration","scope":89378,"src":"4239:25:142","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":89346,"name":"address","nodeType":"ElementaryTypeName","src":"4239:7:142","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":89350,"mutability":"mutable","name":"registry","nameLocation":"4284:8:142","nodeType":"VariableDeclaration","scope":89378,"src":"4274:18:142","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"},"typeName":{"id":89349,"nodeType":"UserDefinedTypeName","pathNode":{"id":89348,"name":"IRegistry","nameLocations":["4274:9:142"],"nodeType":"IdentifierPath","referencedDeclaration":2802,"src":"4274:9:142"},"referencedDeclaration":2802,"src":"4274:9:142","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"}},"visibility":"internal"},{"constant":false,"id":89352,"mutability":"mutable","name":"token","nameLocation":"4310:5:142","nodeType":"VariableDeclaration","scope":89378,"src":"4302:13:142","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":89351,"name":"address","nodeType":"ElementaryTypeName","src":"4302:7:142","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":89355,"mutability":"mutable","name":"proposalType","nameLocation":"4353:12:142","nodeType":"VariableDeclaration","scope":89378,"src":"4325:40:142","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$77671","typeString":"enum StrategyStruct.ProposalType"},"typeName":{"id":89354,"nodeType":"UserDefinedTypeName","pathNode":{"id":89353,"name":"StrategyStruct.ProposalType","nameLocations":["4325:14:142","4340:12:142"],"nodeType":"IdentifierPath","referencedDeclaration":77671,"src":"4325:27:142"},"referencedDeclaration":77671,"src":"4325:27:142","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$77671","typeString":"enum StrategyStruct.ProposalType"}},"visibility":"internal"},{"constant":false,"id":89358,"mutability":"mutable","name":"pointSystem","nameLocation":"4402:11:142","nodeType":"VariableDeclaration","scope":89378,"src":"4375:38:142","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$77676","typeString":"enum StrategyStruct.PointSystem"},"typeName":{"id":89357,"nodeType":"UserDefinedTypeName","pathNode":{"id":89356,"name":"StrategyStruct.PointSystem","nameLocations":["4375:14:142","4390:11:142"],"nodeType":"IdentifierPath","referencedDeclaration":77676,"src":"4375:26:142"},"referencedDeclaration":77676,"src":"4375:26:142","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$77676","typeString":"enum StrategyStruct.PointSystem"}},"visibility":"internal"}],"src":"4184:235:142"},"returnParameters":{"id":89362,"nodeType":"ParameterList","parameters":[{"constant":false,"id":89361,"mutability":"mutable","name":"poolId","nameLocation":"4444:6:142","nodeType":"VariableDeclaration","scope":89378,"src":"4436:14:142","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":89360,"name":"uint256","nodeType":"ElementaryTypeName","src":"4436:7:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4435:16:142"},"scope":89547,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":89392,"nodeType":"FunctionDefinition","src":"4714:114:142","nodes":[],"body":{"id":89391,"nodeType":"Block","src":"4786:42:142","nodes":[],"statements":[{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":89389,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":89385,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89380,"src":"4803:7:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"commonType":{"typeIdentifier":"t_rational_100000000000_by_1","typeString":"int_const 100000000000"},"id":89388,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":89386,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4813:2:142","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"3131","id":89387,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4819:2:142","typeDescriptions":{"typeIdentifier":"t_rational_11_by_1","typeString":"int_const 11"},"value":"11"},"src":"4813:8:142","typeDescriptions":{"typeIdentifier":"t_rational_100000000000_by_1","typeString":"int_const 100000000000"}},"src":"4803:18:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":89384,"id":89390,"nodeType":"Return","src":"4796:25:142"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_etherToFloat","nameLocation":"4723:13:142","parameters":{"id":89381,"nodeType":"ParameterList","parameters":[{"constant":false,"id":89380,"mutability":"mutable","name":"_amount","nameLocation":"4745:7:142","nodeType":"VariableDeclaration","scope":89392,"src":"4737:15:142","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":89379,"name":"uint256","nodeType":"ElementaryTypeName","src":"4737:7:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4736:17:142"},"returnParameters":{"id":89384,"nodeType":"ParameterList","parameters":[{"constant":false,"id":89383,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":89392,"src":"4777:7:142","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":89382,"name":"uint256","nodeType":"ElementaryTypeName","src":"4777:7:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4776:9:142"},"scope":89547,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":89426,"nodeType":"FunctionDefinition","src":"4834:269:142","nodes":[],"body":{"id":89425,"nodeType":"Block","src":"4912:191:142","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":89404,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":89402,"name":"_a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89394,"src":"4930:2:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"id":89403,"name":"TWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89095,"src":"4936:7:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4930:13:142","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5f612073686f756c64206265206c657373207468616e206f7220657175616c20746f20325e313238","id":89405,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4945:42:142","typeDescriptions":{"typeIdentifier":"t_stringliteral_44e2d05298e19dba9341288d7967f4ffbb5a083f725e2470963d4d2d80484153","typeString":"literal_string \"_a should be less than or equal to 2^128\""},"value":"_a should be less than or equal to 2^128"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_44e2d05298e19dba9341288d7967f4ffbb5a083f725e2470963d4d2d80484153","typeString":"literal_string \"_a should be less than or equal to 2^128\""}],"id":89401,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"4922:7:142","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":89406,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4922:66:142","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":89407,"nodeType":"ExpressionStatement","src":"4922:66:142"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":89411,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":89409,"name":"_b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89396,"src":"5006:2:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":89410,"name":"TWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89095,"src":"5011:7:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5006:12:142","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5f622073686f756c64206265206c657373207468616e20325e313238","id":89412,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5020:30:142","typeDescriptions":{"typeIdentifier":"t_stringliteral_94029ed39d36fd1673853e0d61636cb1f54d05801d9baceb39b21e0f4420d664","typeString":"literal_string \"_b should be less than 2^128\""},"value":"_b should be less than 2^128"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_94029ed39d36fd1673853e0d61636cb1f54d05801d9baceb39b21e0f4420d664","typeString":"literal_string \"_b should be less than 2^128\""}],"id":89408,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"4998:7:142","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":89413,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4998:53:142","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":89414,"nodeType":"ExpressionStatement","src":"4998:53:142"},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":89423,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":89420,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":89417,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":89415,"name":"_a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89394,"src":"5070:2:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":89416,"name":"_b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89396,"src":"5075:2:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5070:7:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":89418,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"5069:9:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":89419,"name":"TWO_127","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89090,"src":"5081:7:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5069:19:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":89421,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"5068:21:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"313238","id":89422,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5093:3:142","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"5068:28:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":89400,"id":89424,"nodeType":"Return","src":"5061:35:142"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_mul","nameLocation":"4843:4:142","parameters":{"id":89397,"nodeType":"ParameterList","parameters":[{"constant":false,"id":89394,"mutability":"mutable","name":"_a","nameLocation":"4856:2:142","nodeType":"VariableDeclaration","scope":89426,"src":"4848:10:142","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":89393,"name":"uint256","nodeType":"ElementaryTypeName","src":"4848:7:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":89396,"mutability":"mutable","name":"_b","nameLocation":"4868:2:142","nodeType":"VariableDeclaration","scope":89426,"src":"4860:10:142","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":89395,"name":"uint256","nodeType":"ElementaryTypeName","src":"4860:7:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4847:24:142"},"returnParameters":{"id":89400,"nodeType":"ParameterList","parameters":[{"constant":false,"id":89399,"mutability":"mutable","name":"_result","nameLocation":"4903:7:142","nodeType":"VariableDeclaration","scope":89426,"src":"4895:15:142","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":89398,"name":"uint256","nodeType":"ElementaryTypeName","src":"4895:7:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4894:17:142"},"scope":89547,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":89490,"nodeType":"FunctionDefinition","src":"5109:447:142","nodes":[],"body":{"id":89489,"nodeType":"Block","src":"5187:369:142","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":89438,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":89436,"name":"_a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89428,"src":"5205:2:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":89437,"name":"TWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89095,"src":"5210:7:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5205:12:142","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5f612073686f756c64206265206c657373207468616e20325e313238","id":89439,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5219:30:142","typeDescriptions":{"typeIdentifier":"t_stringliteral_8cb59667c527f8a0ca0170161b6ece5e9864e8aa2d080a486f0167056517515f","typeString":"literal_string \"_a should be less than 2^128\""},"value":"_a should be less than 2^128"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_8cb59667c527f8a0ca0170161b6ece5e9864e8aa2d080a486f0167056517515f","typeString":"literal_string \"_a should be less than 2^128\""}],"id":89435,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"5197:7:142","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":89440,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5197:53:142","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":89441,"nodeType":"ExpressionStatement","src":"5197:53:142"},{"assignments":[89443],"declarations":[{"constant":false,"id":89443,"mutability":"mutable","name":"a","nameLocation":"5268:1:142","nodeType":"VariableDeclaration","scope":89489,"src":"5260:9:142","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":89442,"name":"uint256","nodeType":"ElementaryTypeName","src":"5260:7:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":89445,"initialValue":{"id":89444,"name":"_a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89428,"src":"5272:2:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"5260:14:142"},{"assignments":[89447],"declarations":[{"constant":false,"id":89447,"mutability":"mutable","name":"b","nameLocation":"5292:1:142","nodeType":"VariableDeclaration","scope":89489,"src":"5284:9:142","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":89446,"name":"uint256","nodeType":"ElementaryTypeName","src":"5284:7:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":89449,"initialValue":{"id":89448,"name":"_b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89430,"src":"5296:2:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"5284:14:142"},{"expression":{"id":89452,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":89450,"name":"_result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89433,"src":"5308:7:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":89451,"name":"TWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89095,"src":"5318:7:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5308:17:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":89453,"nodeType":"ExpressionStatement","src":"5308:17:142"},{"body":{"id":89487,"nodeType":"Block","src":"5349:201:142","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":89461,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":89459,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":89457,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89447,"src":"5367:1:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"hexValue":"31","id":89458,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5371:1:142","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"5367:5:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":89460,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5376:1:142","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"5367:10:142","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":89485,"nodeType":"Block","src":"5457:83:142","statements":[{"expression":{"id":89479,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":89474,"name":"_result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89433,"src":"5475:7:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":89476,"name":"_result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89433,"src":"5490:7:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":89477,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89443,"src":"5499:1:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":89475,"name":"_mul","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89426,"src":"5485:4:142","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":89478,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5485:16:142","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5475:26:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":89480,"nodeType":"ExpressionStatement","src":"5475:26:142"},{"expression":{"id":89483,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":89481,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89447,"src":"5519:1:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"hexValue":"31","id":89482,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5524:1:142","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"5519:6:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":89484,"nodeType":"ExpressionStatement","src":"5519:6:142"}]},"id":89486,"nodeType":"IfStatement","src":"5363:177:142","trueBody":{"id":89473,"nodeType":"Block","src":"5379:72:142","statements":[{"expression":{"id":89467,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":89462,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89443,"src":"5397:1:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":89464,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89443,"src":"5406:1:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":89465,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89443,"src":"5409:1:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":89463,"name":"_mul","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89426,"src":"5401:4:142","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":89466,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5401:10:142","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5397:14:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":89468,"nodeType":"ExpressionStatement","src":"5397:14:142"},{"expression":{"id":89471,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":89469,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89447,"src":"5429:1:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":">>=","rightHandSide":{"hexValue":"31","id":89470,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5435:1:142","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"5429:7:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":89472,"nodeType":"ExpressionStatement","src":"5429:7:142"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":89456,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":89454,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89447,"src":"5342:1:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":89455,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5346:1:142","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"5342:5:142","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":89488,"nodeType":"WhileStatement","src":"5335:215:142"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_pow","nameLocation":"5118:4:142","parameters":{"id":89431,"nodeType":"ParameterList","parameters":[{"constant":false,"id":89428,"mutability":"mutable","name":"_a","nameLocation":"5131:2:142","nodeType":"VariableDeclaration","scope":89490,"src":"5123:10:142","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":89427,"name":"uint256","nodeType":"ElementaryTypeName","src":"5123:7:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":89430,"mutability":"mutable","name":"_b","nameLocation":"5143:2:142","nodeType":"VariableDeclaration","scope":89490,"src":"5135:10:142","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":89429,"name":"uint256","nodeType":"ElementaryTypeName","src":"5135:7:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5122:24:142"},"returnParameters":{"id":89434,"nodeType":"ParameterList","parameters":[{"constant":false,"id":89433,"mutability":"mutable","name":"_result","nameLocation":"5178:7:142","nodeType":"VariableDeclaration","scope":89490,"src":"5170:15:142","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":89432,"name":"uint256","nodeType":"ElementaryTypeName","src":"5170:7:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5169:17:142"},"scope":89547,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":89546,"nodeType":"FunctionDefinition","src":"5562:378:142","nodes":[],"body":{"id":89545,"nodeType":"Block","src":"5725:215:142","nodes":[],"statements":[{"assignments":[89504],"declarations":[{"constant":false,"id":89504,"mutability":"mutable","name":"t","nameLocation":"5743:1:142","nodeType":"VariableDeclaration","scope":89545,"src":"5735:9:142","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":89503,"name":"uint256","nodeType":"ElementaryTypeName","src":"5735:7:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":89506,"initialValue":{"id":89505,"name":"_timePassed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89492,"src":"5747:11:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"5735:23:142"},{"assignments":[89508],"declarations":[{"constant":false,"id":89508,"mutability":"mutable","name":"atTWO_128","nameLocation":"5776:9:142","nodeType":"VariableDeclaration","scope":89545,"src":"5768:17:142","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":89507,"name":"uint256","nodeType":"ElementaryTypeName","src":"5768:7:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":89518,"initialValue":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":89515,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":89512,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":89510,"name":"decay","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89498,"src":"5794:5:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"313238","id":89511,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5803:3:142","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"5794:12:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":89513,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"5793:14:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":89514,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89100,"src":"5810:1:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5793:18:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":89516,"name":"t","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89504,"src":"5813:1:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":89509,"name":"_pow","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89490,"src":"5788:4:142","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":89517,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5788:27:142","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"5768:47:142"},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":89543,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":89540,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":89537,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":89521,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":89519,"name":"atTWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89508,"src":"5835:9:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":89520,"name":"_lastConv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89494,"src":"5847:9:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5835:21:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":89522,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"5834:23:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":89535,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":89530,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":89525,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":89523,"name":"_oldAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89496,"src":"5861:10:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":89524,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89100,"src":"5874:1:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5861:14:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":89528,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":89526,"name":"TWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89095,"src":"5879:7:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":89527,"name":"atTWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89508,"src":"5889:9:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5879:19:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":89529,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"5878:21:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5861:38:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":89533,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":89531,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89100,"src":"5903:1:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":89532,"name":"decay","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89498,"src":"5907:5:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5903:9:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":89534,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"5902:11:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5861:52:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":89536,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"5860:54:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5834:80:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":89538,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"5833:82:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":89539,"name":"TWO_127","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89090,"src":"5918:7:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5833:92:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":89541,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"5832:94:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"313238","id":89542,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5930:3:142","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"5832:101:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":89502,"id":89544,"nodeType":"Return","src":"5825:108:142"}]},"functionSelector":"e99ce911","implemented":true,"kind":"function","modifiers":[],"name":"_calculateConviction","nameLocation":"5571:20:142","parameters":{"id":89499,"nodeType":"ParameterList","parameters":[{"constant":false,"id":89492,"mutability":"mutable","name":"_timePassed","nameLocation":"5600:11:142","nodeType":"VariableDeclaration","scope":89546,"src":"5592:19:142","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":89491,"name":"uint256","nodeType":"ElementaryTypeName","src":"5592:7:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":89494,"mutability":"mutable","name":"_lastConv","nameLocation":"5621:9:142","nodeType":"VariableDeclaration","scope":89546,"src":"5613:17:142","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":89493,"name":"uint256","nodeType":"ElementaryTypeName","src":"5613:7:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":89496,"mutability":"mutable","name":"_oldAmount","nameLocation":"5640:10:142","nodeType":"VariableDeclaration","scope":89546,"src":"5632:18:142","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":89495,"name":"uint256","nodeType":"ElementaryTypeName","src":"5632:7:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":89498,"mutability":"mutable","name":"decay","nameLocation":"5660:5:142","nodeType":"VariableDeclaration","scope":89546,"src":"5652:13:142","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":89497,"name":"uint256","nodeType":"ElementaryTypeName","src":"5652:7:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5591:75:142"},"returnParameters":{"id":89502,"nodeType":"ParameterList","parameters":[{"constant":false,"id":89501,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":89546,"src":"5712:7:142","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":89500,"name":"uint256","nodeType":"ElementaryTypeName","src":"5712:7:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5711:9:142"},"scope":89547,"stateMutability":"pure","virtual":false,"visibility":"public"}],"abstract":false,"baseContracts":[{"baseName":{"id":89063,"name":"Native","nameLocations":["621:6:142"],"nodeType":"IdentifierPath","referencedDeclaration":3106,"src":"621:6:142"},"id":89064,"nodeType":"InheritanceSpecifier","src":"621:6:142"},{"baseName":{"id":89065,"name":"Accounts","nameLocations":["629:8:142"],"nodeType":"IdentifierPath","referencedDeclaration":5026,"src":"629:8:142"},"id":89066,"nodeType":"InheritanceSpecifier","src":"629:8:142"}],"canonicalName":"CVStrategyHelpersV0_0","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[89547,5026,12138,11345,3106],"name":"CVStrategyHelpersV0_0","nameLocation":"596:21:142","scope":89548,"usedErrors":[]}],"license":"AGPL-3.0-or-later"},"id":142} \ No newline at end of file +{"abi":[{"type":"function","name":"DECIMALS","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"NATIVE","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"PERCENTAGE_SCALE","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"_calculateConviction","inputs":[{"name":"_timePassed","type":"uint256","internalType":"uint256"},{"name":"_lastConv","type":"uint256","internalType":"uint256"},{"name":"_oldAmount","type":"uint256","internalType":"uint256"},{"name":"decay","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"allo_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"allo_treasury","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address payable"}],"stateMutability":"nonpayable"},{"type":"function","name":"createPool","inputs":[{"name":"allo","type":"address","internalType":"contract Allo"},{"name":"strategy","type":"address","internalType":"address"},{"name":"registryCommunity","type":"address","internalType":"address"},{"name":"registry","type":"address","internalType":"contract IRegistry"},{"name":"token","type":"address","internalType":"address"},{"name":"proposalType","type":"uint8","internalType":"enum StrategyStruct.ProposalType"},{"name":"pointSystem","type":"uint8","internalType":"enum StrategyStruct.PointSystem"}],"outputs":[{"name":"poolId","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"createPool","inputs":[{"name":"allo","type":"address","internalType":"contract Allo"},{"name":"strategy","type":"address","internalType":"address"},{"name":"registryCommunity","type":"address","internalType":"address"},{"name":"registry","type":"address","internalType":"contract IRegistry"},{"name":"token","type":"address","internalType":"address"},{"name":"proposalType","type":"uint8","internalType":"enum StrategyStruct.ProposalType"},{"name":"pointSystem","type":"uint8","internalType":"enum StrategyStruct.PointSystem"},{"name":"pointConfig","type":"tuple","internalType":"struct StrategyStruct.PointSystemConfig","components":[{"name":"maxAmount","type":"uint256","internalType":"uint256"}]}],"outputs":[{"name":"poolId","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"getParams","inputs":[{"name":"registryCommunity","type":"address","internalType":"address"},{"name":"proposalType","type":"uint8","internalType":"enum StrategyStruct.ProposalType"},{"name":"pointSystem","type":"uint8","internalType":"enum StrategyStruct.PointSystem"},{"name":"pointConfig","type":"tuple","internalType":"struct StrategyStruct.PointSystemConfig","components":[{"name":"maxAmount","type":"uint256","internalType":"uint256"}]}],"outputs":[{"name":"params","type":"tuple","internalType":"struct StrategyStruct.InitializeParams","components":[{"name":"registryCommunity","type":"address","internalType":"address"},{"name":"decay","type":"uint256","internalType":"uint256"},{"name":"maxRatio","type":"uint256","internalType":"uint256"},{"name":"weight","type":"uint256","internalType":"uint256"},{"name":"minThresholdPoints","type":"uint256","internalType":"uint256"},{"name":"proposalType","type":"uint8","internalType":"enum StrategyStruct.ProposalType"},{"name":"pointSystem","type":"uint8","internalType":"enum StrategyStruct.PointSystem"},{"name":"pointConfig","type":"tuple","internalType":"struct StrategyStruct.PointSystemConfig","components":[{"name":"maxAmount","type":"uint256","internalType":"uint256"}]},{"name":"sybilScorer","type":"address","internalType":"address"}]}],"stateMutability":"pure"},{"type":"function","name":"local","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"metadata","inputs":[],"outputs":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"no_recipient","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"nullProfile_member1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"nullProfile_member2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"nullProfile_members","inputs":[],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"pure"},{"type":"function","name":"nullProfile_notAMember","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"nullProfile_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"poolProfile_id1","inputs":[{"name":"registry","type":"address","internalType":"contract IRegistry"},{"name":"pool_admin","type":"address","internalType":"address"},{"name":"pool_managers","type":"address[]","internalType":"address[]"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"nonpayable"},{"type":"function","name":"pool_admin","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"pool_manager1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"pool_manager2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"pool_managers","inputs":[],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"pool_notAManager","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile1_member1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile1_member2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile1_members","inputs":[],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile1_notAMember","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile1_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile2_member1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile2_member2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile2_members","inputs":[],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile2_notAMember","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile2_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"randomAddress","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"recipient","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"recipient1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"recipient2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"recipientAddress","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"registry_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"}],"bytecode":{"object":"0x60016080908152610120604052602e60c081815260a09162001dfe60e0399052805160099081556020820151600a906200003a9082620000f6565b5050503480156200004a57600080fd5b50620001c2565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806200007c57607f821691505b6020821081036200009d57634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620000f157600081815260208120601f850160051c81016020861015620000cc5750805b601f850160051c820191505b81811015620000ed57828155600101620000d8565b5050505b505050565b81516001600160401b0381111562000112576200011262000051565b6200012a8162000123845462000067565b84620000a3565b602080601f831160018114620001625760008415620001495750858301515b600019600386901b1c1916600185901b178555620000ed565b600085815260208120601f198616915b82811015620001935788860151825594840194600190910190840162000172565b5085821015620001b25787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b611c2c80620001d26000396000f3fe608060405234801561001057600080fd5b50600436106102ac5760003560e01c8063770b2e661161017b578063aa3744bd116100d8578063da4bf0871161008c578063e99ce91111610071578063e99ce91114610445578063ed62303a14610458578063ef0d790f1461046b57600080fd5b8063da4bf08714610435578063dac4eb161461043d57600080fd5b8063d1f2cd88116100bd578063d1f2cd8814610412578063d5bee9f51461041a578063d8c12dc21461042257600080fd5b8063aa3744bd14610402578063d1e82b581461040a57600080fd5b80638c7408c41161012f5780638e3c2493116101145780638e3c2493146103d7578063a0cf0aea146103df578063a407c67a146103fa57600080fd5b80638c7408c4146102ec5780638e0d1a50146103cf57600080fd5b80637b2edf32116101605780637b2edf32146103bf5780637cbe79ed146103c7578063829e423f146102ec57600080fd5b8063770b2e661461039757806379e62d0d146103b757600080fd5b8063392f37e91161022957806366d003ac116101dd57806370a32944116101c257806370a329441461038757806374d9284e146102ec578063759c9a861461038f57600080fd5b806366d003ac146103775780636a38dd0a1461037f57600080fd5b80634bf4ba211161020e5780634bf4ba2114610352578063587c1243146103675780635aff59991461036f57600080fd5b8063392f37e9146103335780633f26479e1461034957600080fd5b8063174eedde116102805780631e7bcb2e116102655780631e7bcb2e146102fb5780632e0f26251461030357806337d1c4041461032057600080fd5b8063174eedde146102ec5780631b96dce6146102f357600080fd5b8062b1fad7146102b1578063030e4006146102d65780630688b135146102de5780630f166ad4146102e6575b600080fd5b6102b9610473565b6040516001600160a01b0390911681526020015b60405180910390f35b6102b96104b8565b6102b96104f8565b306102b9565b60006102b9565b6102b9610538565b6102b9610578565b610312670de0b6b3a764000081565b6040519081526020016102cd565b61031261032e366004611459565b6105b8565b61033b6106a2565b6040516102cd929190611582565b61031261271081565b61035a610739565b6040516102cd91906115e7565b6102b961075c565b6102b961079c565b6102b96107dc565b6102b961081c565b61035a61085c565b6102b96108f4565b6103aa6103a5366004611664565b610934565b6040516102cd91906116e7565b61035a610a0f565b6102b9610a77565b6102b9610ab7565b6102b9610af7565b6102b9610b37565b6102b973eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b61035a610b77565b6102b9610bdf565b6102b9610c1f565b6102b9610c5f565b6102b9610c9f565b610312610430366004611781565b610cdf565b6102b9610d0c565b6102b9610d4c565b610312610453366004611813565b610d8c565b610312610466366004611845565b610e26565b6102b9611029565b60006104b36040518060400160405280600d81526020017f706f6f6c5f6d616e616765723100000000000000000000000000000000000000815250611065565b905090565b60006104b36040518060400160405280601381526020017f70726f66696c65315f6e6f74414d656d62657200000000000000000000000000815250611065565b60006104b36040518060400160405280600a81526020017f726563697069656e743200000000000000000000000000000000000000000000815250611065565b60006104b36040518060400160405280600e81526020017f70726f66696c65325f6f776e6572000000000000000000000000000000000000815250611065565b60006104b36040518060400160405280601081526020017f70726f66696c65315f6d656d6265723100000000000000000000000000000000815250611065565b600b54600090610697576040805180820182526001815281518083018352600c81527f506f6f6c50726f66696c6531000000000000000000000000000000000000000060208281019190915282015290517f3a92f65f0000000000000000000000000000000000000000000000000000000081526001600160a01b03861691633a92f65f9161065091600291889088906004016118e9565b6020604051808303816000875af115801561066f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106939190611979565b600b555b50600b549392505050565b60098054600a80549192916106b690611992565b80601f01602080910402602001604051908101604052809291908181526020018280546106e290611992565b801561072f5780601f106107045761010080835404028352916020019161072f565b820191906000526020600020905b81548152906001019060200180831161071257829003601f168201915b5050505050905082565b604080516002808252606080830184529260208301908036833701905050905090565b60006104b36040518060400160405280601081526020017f70726f66696c65325f6d656d6265723100000000000000000000000000000000815250611065565b60006104b36040518060400160405280601081526020017f726563697069656e744164647265737300000000000000000000000000000000815250611065565b60006104b36040518060400160405280600981526020017f726563697069656e740000000000000000000000000000000000000000000000815250611065565b60006104b36040518060400160405280600d81526020017f706f6f6c5f6d616e616765723200000000000000000000000000000000000000815250611065565b60408051600280825260608083018452926000929190602083019080368337019050509050610889610578565b8160008151811061089c5761089c6119cc565b60200260200101906001600160a01b031690816001600160a01b0316815250506108c4610a77565b816001815181106108d7576108d76119cc565b6001600160a01b0390921660209283029190910190910152919050565b60006104b36040518060400160405280600c81526020017f6e6f5f726563697069656e740000000000000000000000000000000000000000815250611065565b61093c611380565b61094d670de0a46bc207d800611077565b60208201526109636702c68af0bb140000611077565b604082015261097866038d7ea4c68000611077565b60608201526001600160a01b038516815260a0810184600281111561099f5761099f6116bd565b908160028111156109b2576109b26116bd565b90525060c081018360038111156109cb576109cb6116bd565b908160038111156109de576109de6116bd565b9052508151600003610a00576109fd670de0b6b3a764000060c86119f8565b82525b60e08101919091529392505050565b60408051600280825260608083018452926000929190602083019080368337019050509050610a3c610473565b81600081518110610a4f57610a4f6119cc565b60200260200101906001600160a01b031690816001600160a01b0316815250506108c461081c565b60006104b36040518060400160405280601081526020017f70726f66696c65315f6d656d6265723200000000000000000000000000000000815250611065565b60006104b36040518060400160405280600a81526020017f616c6c6f5f6f776e657200000000000000000000000000000000000000000000815250611065565b60006104b36040518060400160405280600a81526020017f706f6f6c5f61646d696e00000000000000000000000000000000000000000000815250611065565b60006104b36040518060400160405280601081526020017f70726f66696c65325f6d656d6265723200000000000000000000000000000000815250611065565b60408051600280825260608083018452926000929190602083019080368337019050509050610ba461075c565b81600081518110610bb757610bb76119cc565b60200260200101906001600160a01b031690816001600160a01b0316815250506108c4610b37565b60006104b36040518060400160405280600a81526020017f726563697069656e743100000000000000000000000000000000000000000000815250611065565b60006104b36040518060400160405280601081526020017f706f6f6c5f6e6f74414d616e6167657200000000000000000000000000000000815250611065565b60006104b36040518060400160405280600e81526020017f70726f66696c65315f6f776e6572000000000000000000000000000000000000815250611065565b60006104b36040518060400160405280600b81526020017f72616e646f6d2063686164000000000000000000000000000000000000000000815250611065565b6000610d008888888888888860405180602001604052806000815250610e26565b98975050505050505050565b60006104b36040518060400160405280600d81526020017f616c6c6f5f747265617375727900000000000000000000000000000000000000815250611065565b60006104b36040518060400160405280600e81526020017f72656769737472795f6f776e6572000000000000000000000000000000000000815250611065565b60008481610daa610da462989680608087901b611a0f565b8361108e565b905060806f80000000000000000000000000000000610dcc8662989680611a31565b610dda84600160801b611a31565b610de7629896808a6119f8565b610df191906119f8565b610dfb9190611a0f565b610e0589856119f8565b610e0f9190611a44565b610e199190611a44565b901c979650505050505050565b600080610e3588868686610934565b60408051600280825260608201835292935060009290916020830190803683370190505090503081600081518110610e6f57610e6f6119cc565b60200260200101906001600160a01b031690816001600160a01b0316815250503381600181518110610ea357610ea36119cc565b6001600160a01b03928316602091820292909201015273eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee90881615610ed95750865b8b6001600160a01b031663e1007d4a610efa8b610ef4610af7565b866105b8565b8d86604051602001610f0c91906116e7565b6040516020818303038152906040528560006009896040518863ffffffff1660e01b8152600401610f439796959493929190611a57565b6020604051808303816000875af1158015610f62573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f869190611979565b9350866002811115610f9a57610f9a6116bd565b8b6001600160a01b031663351d9f966040518163ffffffff1660e01b8152600401602060405180830381865afa158015610fd8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ffc9190611b68565b600281111561100d5761100d6116bd565b1461101a5761101a611b85565b50505098975050505050505050565b60006104b36040518060400160405280601381526020017f70726f66696c65325f6e6f74414d656d626572000000000000000000000000008152505b60006110708261113c565b5092915050565b600061108864174876e80083611a0f565b92915050565b6000600160801b83106110e85760405162461bcd60e51b815260206004820152601c60248201527f5f612073686f756c64206265206c657373207468616e20325e3132380000000060448201526064015b60405180910390fd5b50600160801b82825b801561113457806001166000036111165761110c8283611281565b915060011c6110f1565b6111208383611281565b925061112d600182611a31565b90506110f1565b505092915050565b600080826040516020016111509190611b9b565b60408051808303601f190181529082905280516020909101207fffa18649000000000000000000000000000000000000000000000000000000008252600482018190529150737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ffa1864990602401602060405180830381865afa1580156111d1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111f59190611bb7565b6040517fc657c718000000000000000000000000000000000000000000000000000000008152909250737109709ecfa91a80626ff3989d68f67f5b1dd12d9063c657c7189061124a9085908790600401611bd4565b600060405180830381600087803b15801561126457600080fd5b505af1158015611278573d6000803e3d6000fd5b50505050915091565b6000600160801b8311156112fd5760405162461bcd60e51b815260206004820152602860248201527f5f612073686f756c64206265206c657373207468616e206f7220657175616c2060448201527f746f20325e31323800000000000000000000000000000000000000000000000060648201526084016110df565b600160801b82106113505760405162461bcd60e51b815260206004820152601c60248201527f5f622073686f756c64206265206c657373207468616e20325e3132380000000060448201526064016110df565b60806f8000000000000000000000000000000061136d84866119f8565b6113779190611a44565b901c9392505050565b60405180610120016040528060006001600160a01b0316815260200160008152602001600081526020016000815260200160008152602001600060028111156113cb576113cb6116bd565b8152602001600081526020016113ed6040518060200160405280600081525090565b8152600060209091015290565b6001600160a01b038116811461140f57600080fd5b50565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff8111828210171561145157611451611412565b604052919050565b60008060006060848603121561146e57600080fd5b8335611479816113fa565b925060208481013561148a816113fa565b9250604085013567ffffffffffffffff808211156114a757600080fd5b818701915087601f8301126114bb57600080fd5b8135818111156114cd576114cd611412565b8060051b91506114de848301611428565b818152918301840191848101908a8411156114f857600080fd5b938501935b838510156115225784359250611512836113fa565b82825293850193908501906114fd565b8096505050505050509250925092565b60005b8381101561154d578181015183820152602001611535565b50506000910152565b6000815180845261156e816020860160208601611532565b601f01601f19169290920160200192915050565b82815260406020820152600061159b6040830184611556565b949350505050565b600081518084526020808501945080840160005b838110156115dc5781516001600160a01b0316875295820195908201906001016115b7565b509495945050505050565b6020815260006115fa60208301846115a3565b9392505050565b6003811061140f57600080fd5b80356004811061161d57600080fd5b919050565b60006020828403121561163457600080fd5b6040516020810181811067ffffffffffffffff8211171561165757611657611412565b6040529135825250919050565b6000806000806080858703121561167a57600080fd5b8435611685816113fa565b9350602085013561169581611601565b92506116a36040860161160e565b91506116b28660608701611622565b905092959194509250565b634e487b7160e01b600052602160045260246000fd5b600481106116e3576116e36116bd565b9052565b6000610120820190506001600160a01b0383511682526020830151602083015260408301516040830152606083015160608301526080830151608083015260a08301516003811061173a5761173a6116bd565b8060a08401525060c083015161175360c08401826116d3565b5060e083015161176660e0840182519052565b50610100838101516001600160a01b03811684830152611134565b600080600080600080600060e0888a03121561179c57600080fd5b87356117a7816113fa565b965060208801356117b7816113fa565b955060408801356117c7816113fa565b945060608801356117d7816113fa565b935060808801356117e7816113fa565b925060a08801356117f781611601565b915061180560c0890161160e565b905092959891949750929550565b6000806000806080858703121561182957600080fd5b5050823594602084013594506040840135936060013592509050565b600080600080600080600080610100898b03121561186257600080fd5b883561186d816113fa565b9750602089013561187d816113fa565b9650604089013561188d816113fa565b9550606089013561189d816113fa565b945060808901356118ad816113fa565b935060a08901356118bd81611601565b92506118cb60c08a0161160e565b91506118da8a60e08b01611622565b90509295985092959890939650565b84815260a06020820152600e60a08201527f506f6f6c2050726f66696c65203100000000000000000000000000000000000060c082015260e06040820152835160e082015260006020850151604061010084015261194b610120840182611556565b90506001600160a01b0385166060840152828103608084015261196e81856115a3565b979650505050505050565b60006020828403121561198b57600080fd5b5051919050565b600181811c908216806119a657607f821691505b6020821081036119c657634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b8082028115828204841417611088576110886119e2565b600082611a2c57634e487b7160e01b600052601260045260246000fd5b500490565b81810381811115611088576110886119e2565b80820180821115611088576110886119e2565b878152600060206001600160a01b03808a168285015260e06040850152611a8160e085018a611556565b818916606086015287608086015284810360a08601528654815260019150818701604084830152600081548181861c905085821680611ac157607f821691505b8782108103611ade57634e487b7160e01b84526022600452602484fd5b60408601829052606086019550808015611aff5760018114611b1557611b40565b60ff198416875282151560051b87019450611b40565b60008681526020902060005b84811015611b3a57815489820152908901908a01611b21565b88019550505b5050505086810360c0880152611b5681896115a3565b9e9d5050505050505050505050505050565b600060208284031215611b7a57600080fd5b81516115fa81611601565b634e487b7160e01b600052600160045260246000fd5b60008251611bad818460208701611532565b9190910192915050565b600060208284031215611bc957600080fd5b81516115fa816113fa565b6001600160a01b038316815260406020820152600061159b604083018461155656fea264697066735822122026ca2d3f9c5d7e972aaff8010e9eec7955a5080cd851a34e3188b74538f3bec664736f6c63430008130033516d57347a464c464a524e374a3637457a4e6d64433272324d397532694a44686132666a3547656536684a7a5359","sourceMap":"691:1:142:-:0;587:5355;671:82;;;;587:5355;671:82;;;;;;;;;;;;;644:109;;;;;;;;;;;;;;;;:::i;:::-;;;;587:5355;;;;;;;;;;;;14:127:151;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:380;225:1;221:12;;;;268;;;289:61;;343:4;335:6;331:17;321:27;;289:61;396:2;388:6;385:14;365:18;362:38;359:161;;442:10;437:3;433:20;430:1;423:31;477:4;474:1;467:15;505:4;502:1;495:15;359:161;;146:380;;;:::o;657:545::-;759:2;754:3;751:11;748:448;;;795:1;820:5;816:2;809:17;865:4;861:2;851:19;935:2;923:10;919:19;916:1;912:27;906:4;902:38;971:4;959:10;956:20;953:47;;;-1:-1:-1;994:4:151;953:47;1049:2;1044:3;1040:12;1037:1;1033:20;1027:4;1023:31;1013:41;;1104:82;1122:2;1115:5;1112:13;1104:82;;;1167:17;;;1148:1;1137:13;1104:82;;;1108:3;;;748:448;657:545;;;:::o;1378:1352::-;1498:10;;-1:-1:-1;;;;;1520:30:151;;1517:56;;;1553:18;;:::i;:::-;1582:97;1672:6;1632:38;1664:4;1658:11;1632:38;:::i;:::-;1626:4;1582:97;:::i;:::-;1734:4;;1798:2;1787:14;;1815:1;1810:663;;;;2517:1;2534:6;2531:89;;;-1:-1:-1;2586:19:151;;;2580:26;2531:89;-1:-1:-1;;1335:1:151;1331:11;;;1327:24;1323:29;1313:40;1359:1;1355:11;;;1310:57;2633:81;;1780:944;;1810:663;604:1;597:14;;;641:4;628:18;;-1:-1:-1;;1846:20:151;;;1964:236;1978:7;1975:1;1972:14;1964:236;;;2067:19;;;2061:26;2046:42;;2159:27;;;;2127:1;2115:14;;;;1994:19;;1964:236;;;1968:3;2228:6;2219:7;2216:19;2213:201;;;2289:19;;;2283:26;-1:-1:-1;;2372:1:151;2368:14;;;2384:3;2364:24;2360:37;2356:42;2341:58;2326:74;;2213:201;-1:-1:-1;;;;;2460:1:151;2444:14;;;2440:22;2427:36;;-1:-1:-1;1378:1352:151:o;:::-;587:5355:142;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b50600436106102ac5760003560e01c8063770b2e661161017b578063aa3744bd116100d8578063da4bf0871161008c578063e99ce91111610071578063e99ce91114610445578063ed62303a14610458578063ef0d790f1461046b57600080fd5b8063da4bf08714610435578063dac4eb161461043d57600080fd5b8063d1f2cd88116100bd578063d1f2cd8814610412578063d5bee9f51461041a578063d8c12dc21461042257600080fd5b8063aa3744bd14610402578063d1e82b581461040a57600080fd5b80638c7408c41161012f5780638e3c2493116101145780638e3c2493146103d7578063a0cf0aea146103df578063a407c67a146103fa57600080fd5b80638c7408c4146102ec5780638e0d1a50146103cf57600080fd5b80637b2edf32116101605780637b2edf32146103bf5780637cbe79ed146103c7578063829e423f146102ec57600080fd5b8063770b2e661461039757806379e62d0d146103b757600080fd5b8063392f37e91161022957806366d003ac116101dd57806370a32944116101c257806370a329441461038757806374d9284e146102ec578063759c9a861461038f57600080fd5b806366d003ac146103775780636a38dd0a1461037f57600080fd5b80634bf4ba211161020e5780634bf4ba2114610352578063587c1243146103675780635aff59991461036f57600080fd5b8063392f37e9146103335780633f26479e1461034957600080fd5b8063174eedde116102805780631e7bcb2e116102655780631e7bcb2e146102fb5780632e0f26251461030357806337d1c4041461032057600080fd5b8063174eedde146102ec5780631b96dce6146102f357600080fd5b8062b1fad7146102b1578063030e4006146102d65780630688b135146102de5780630f166ad4146102e6575b600080fd5b6102b9610473565b6040516001600160a01b0390911681526020015b60405180910390f35b6102b96104b8565b6102b96104f8565b306102b9565b60006102b9565b6102b9610538565b6102b9610578565b610312670de0b6b3a764000081565b6040519081526020016102cd565b61031261032e366004611459565b6105b8565b61033b6106a2565b6040516102cd929190611582565b61031261271081565b61035a610739565b6040516102cd91906115e7565b6102b961075c565b6102b961079c565b6102b96107dc565b6102b961081c565b61035a61085c565b6102b96108f4565b6103aa6103a5366004611664565b610934565b6040516102cd91906116e7565b61035a610a0f565b6102b9610a77565b6102b9610ab7565b6102b9610af7565b6102b9610b37565b6102b973eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b61035a610b77565b6102b9610bdf565b6102b9610c1f565b6102b9610c5f565b6102b9610c9f565b610312610430366004611781565b610cdf565b6102b9610d0c565b6102b9610d4c565b610312610453366004611813565b610d8c565b610312610466366004611845565b610e26565b6102b9611029565b60006104b36040518060400160405280600d81526020017f706f6f6c5f6d616e616765723100000000000000000000000000000000000000815250611065565b905090565b60006104b36040518060400160405280601381526020017f70726f66696c65315f6e6f74414d656d62657200000000000000000000000000815250611065565b60006104b36040518060400160405280600a81526020017f726563697069656e743200000000000000000000000000000000000000000000815250611065565b60006104b36040518060400160405280600e81526020017f70726f66696c65325f6f776e6572000000000000000000000000000000000000815250611065565b60006104b36040518060400160405280601081526020017f70726f66696c65315f6d656d6265723100000000000000000000000000000000815250611065565b600b54600090610697576040805180820182526001815281518083018352600c81527f506f6f6c50726f66696c6531000000000000000000000000000000000000000060208281019190915282015290517f3a92f65f0000000000000000000000000000000000000000000000000000000081526001600160a01b03861691633a92f65f9161065091600291889088906004016118e9565b6020604051808303816000875af115801561066f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106939190611979565b600b555b50600b549392505050565b60098054600a80549192916106b690611992565b80601f01602080910402602001604051908101604052809291908181526020018280546106e290611992565b801561072f5780601f106107045761010080835404028352916020019161072f565b820191906000526020600020905b81548152906001019060200180831161071257829003601f168201915b5050505050905082565b604080516002808252606080830184529260208301908036833701905050905090565b60006104b36040518060400160405280601081526020017f70726f66696c65325f6d656d6265723100000000000000000000000000000000815250611065565b60006104b36040518060400160405280601081526020017f726563697069656e744164647265737300000000000000000000000000000000815250611065565b60006104b36040518060400160405280600981526020017f726563697069656e740000000000000000000000000000000000000000000000815250611065565b60006104b36040518060400160405280600d81526020017f706f6f6c5f6d616e616765723200000000000000000000000000000000000000815250611065565b60408051600280825260608083018452926000929190602083019080368337019050509050610889610578565b8160008151811061089c5761089c6119cc565b60200260200101906001600160a01b031690816001600160a01b0316815250506108c4610a77565b816001815181106108d7576108d76119cc565b6001600160a01b0390921660209283029190910190910152919050565b60006104b36040518060400160405280600c81526020017f6e6f5f726563697069656e740000000000000000000000000000000000000000815250611065565b61093c611380565b61094d670de0a46bc207d800611077565b60208201526109636702c68af0bb140000611077565b604082015261097866038d7ea4c68000611077565b60608201526001600160a01b038516815260a0810184600281111561099f5761099f6116bd565b908160028111156109b2576109b26116bd565b90525060c081018360038111156109cb576109cb6116bd565b908160038111156109de576109de6116bd565b9052508151600003610a00576109fd670de0b6b3a764000060c86119f8565b82525b60e08101919091529392505050565b60408051600280825260608083018452926000929190602083019080368337019050509050610a3c610473565b81600081518110610a4f57610a4f6119cc565b60200260200101906001600160a01b031690816001600160a01b0316815250506108c461081c565b60006104b36040518060400160405280601081526020017f70726f66696c65315f6d656d6265723200000000000000000000000000000000815250611065565b60006104b36040518060400160405280600a81526020017f616c6c6f5f6f776e657200000000000000000000000000000000000000000000815250611065565b60006104b36040518060400160405280600a81526020017f706f6f6c5f61646d696e00000000000000000000000000000000000000000000815250611065565b60006104b36040518060400160405280601081526020017f70726f66696c65325f6d656d6265723200000000000000000000000000000000815250611065565b60408051600280825260608083018452926000929190602083019080368337019050509050610ba461075c565b81600081518110610bb757610bb76119cc565b60200260200101906001600160a01b031690816001600160a01b0316815250506108c4610b37565b60006104b36040518060400160405280600a81526020017f726563697069656e743100000000000000000000000000000000000000000000815250611065565b60006104b36040518060400160405280601081526020017f706f6f6c5f6e6f74414d616e6167657200000000000000000000000000000000815250611065565b60006104b36040518060400160405280600e81526020017f70726f66696c65315f6f776e6572000000000000000000000000000000000000815250611065565b60006104b36040518060400160405280600b81526020017f72616e646f6d2063686164000000000000000000000000000000000000000000815250611065565b6000610d008888888888888860405180602001604052806000815250610e26565b98975050505050505050565b60006104b36040518060400160405280600d81526020017f616c6c6f5f747265617375727900000000000000000000000000000000000000815250611065565b60006104b36040518060400160405280600e81526020017f72656769737472795f6f776e6572000000000000000000000000000000000000815250611065565b60008481610daa610da462989680608087901b611a0f565b8361108e565b905060806f80000000000000000000000000000000610dcc8662989680611a31565b610dda84600160801b611a31565b610de7629896808a6119f8565b610df191906119f8565b610dfb9190611a0f565b610e0589856119f8565b610e0f9190611a44565b610e199190611a44565b901c979650505050505050565b600080610e3588868686610934565b60408051600280825260608201835292935060009290916020830190803683370190505090503081600081518110610e6f57610e6f6119cc565b60200260200101906001600160a01b031690816001600160a01b0316815250503381600181518110610ea357610ea36119cc565b6001600160a01b03928316602091820292909201015273eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee90881615610ed95750865b8b6001600160a01b031663e1007d4a610efa8b610ef4610af7565b866105b8565b8d86604051602001610f0c91906116e7565b6040516020818303038152906040528560006009896040518863ffffffff1660e01b8152600401610f439796959493929190611a57565b6020604051808303816000875af1158015610f62573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f869190611979565b9350866002811115610f9a57610f9a6116bd565b8b6001600160a01b031663351d9f966040518163ffffffff1660e01b8152600401602060405180830381865afa158015610fd8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ffc9190611b68565b600281111561100d5761100d6116bd565b1461101a5761101a611b85565b50505098975050505050505050565b60006104b36040518060400160405280601381526020017f70726f66696c65325f6e6f74414d656d626572000000000000000000000000008152505b60006110708261113c565b5092915050565b600061108864174876e80083611a0f565b92915050565b6000600160801b83106110e85760405162461bcd60e51b815260206004820152601c60248201527f5f612073686f756c64206265206c657373207468616e20325e3132380000000060448201526064015b60405180910390fd5b50600160801b82825b801561113457806001166000036111165761110c8283611281565b915060011c6110f1565b6111208383611281565b925061112d600182611a31565b90506110f1565b505092915050565b600080826040516020016111509190611b9b565b60408051808303601f190181529082905280516020909101207fffa18649000000000000000000000000000000000000000000000000000000008252600482018190529150737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ffa1864990602401602060405180830381865afa1580156111d1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111f59190611bb7565b6040517fc657c718000000000000000000000000000000000000000000000000000000008152909250737109709ecfa91a80626ff3989d68f67f5b1dd12d9063c657c7189061124a9085908790600401611bd4565b600060405180830381600087803b15801561126457600080fd5b505af1158015611278573d6000803e3d6000fd5b50505050915091565b6000600160801b8311156112fd5760405162461bcd60e51b815260206004820152602860248201527f5f612073686f756c64206265206c657373207468616e206f7220657175616c2060448201527f746f20325e31323800000000000000000000000000000000000000000000000060648201526084016110df565b600160801b82106113505760405162461bcd60e51b815260206004820152601c60248201527f5f622073686f756c64206265206c657373207468616e20325e3132380000000060448201526064016110df565b60806f8000000000000000000000000000000061136d84866119f8565b6113779190611a44565b901c9392505050565b60405180610120016040528060006001600160a01b0316815260200160008152602001600081526020016000815260200160008152602001600060028111156113cb576113cb6116bd565b8152602001600081526020016113ed6040518060200160405280600081525090565b8152600060209091015290565b6001600160a01b038116811461140f57600080fd5b50565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff8111828210171561145157611451611412565b604052919050565b60008060006060848603121561146e57600080fd5b8335611479816113fa565b925060208481013561148a816113fa565b9250604085013567ffffffffffffffff808211156114a757600080fd5b818701915087601f8301126114bb57600080fd5b8135818111156114cd576114cd611412565b8060051b91506114de848301611428565b818152918301840191848101908a8411156114f857600080fd5b938501935b838510156115225784359250611512836113fa565b82825293850193908501906114fd565b8096505050505050509250925092565b60005b8381101561154d578181015183820152602001611535565b50506000910152565b6000815180845261156e816020860160208601611532565b601f01601f19169290920160200192915050565b82815260406020820152600061159b6040830184611556565b949350505050565b600081518084526020808501945080840160005b838110156115dc5781516001600160a01b0316875295820195908201906001016115b7565b509495945050505050565b6020815260006115fa60208301846115a3565b9392505050565b6003811061140f57600080fd5b80356004811061161d57600080fd5b919050565b60006020828403121561163457600080fd5b6040516020810181811067ffffffffffffffff8211171561165757611657611412565b6040529135825250919050565b6000806000806080858703121561167a57600080fd5b8435611685816113fa565b9350602085013561169581611601565b92506116a36040860161160e565b91506116b28660608701611622565b905092959194509250565b634e487b7160e01b600052602160045260246000fd5b600481106116e3576116e36116bd565b9052565b6000610120820190506001600160a01b0383511682526020830151602083015260408301516040830152606083015160608301526080830151608083015260a08301516003811061173a5761173a6116bd565b8060a08401525060c083015161175360c08401826116d3565b5060e083015161176660e0840182519052565b50610100838101516001600160a01b03811684830152611134565b600080600080600080600060e0888a03121561179c57600080fd5b87356117a7816113fa565b965060208801356117b7816113fa565b955060408801356117c7816113fa565b945060608801356117d7816113fa565b935060808801356117e7816113fa565b925060a08801356117f781611601565b915061180560c0890161160e565b905092959891949750929550565b6000806000806080858703121561182957600080fd5b5050823594602084013594506040840135936060013592509050565b600080600080600080600080610100898b03121561186257600080fd5b883561186d816113fa565b9750602089013561187d816113fa565b9650604089013561188d816113fa565b9550606089013561189d816113fa565b945060808901356118ad816113fa565b935060a08901356118bd81611601565b92506118cb60c08a0161160e565b91506118da8a60e08b01611622565b90509295985092959890939650565b84815260a06020820152600e60a08201527f506f6f6c2050726f66696c65203100000000000000000000000000000000000060c082015260e06040820152835160e082015260006020850151604061010084015261194b610120840182611556565b90506001600160a01b0385166060840152828103608084015261196e81856115a3565b979650505050505050565b60006020828403121561198b57600080fd5b5051919050565b600181811c908216806119a657607f821691505b6020821081036119c657634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b8082028115828204841417611088576110886119e2565b600082611a2c57634e487b7160e01b600052601260045260246000fd5b500490565b81810381811115611088576110886119e2565b80820180821115611088576110886119e2565b878152600060206001600160a01b03808a168285015260e06040850152611a8160e085018a611556565b818916606086015287608086015284810360a08601528654815260019150818701604084830152600081548181861c905085821680611ac157607f821691505b8782108103611ade57634e487b7160e01b84526022600452602484fd5b60408601829052606086019550808015611aff5760018114611b1557611b40565b60ff198416875282151560051b87019450611b40565b60008681526020902060005b84811015611b3a57815489820152908901908a01611b21565b88019550505b5050505086810360c0880152611b5681896115a3565b9e9d5050505050505050505050505050565b600060208284031215611b7a57600080fd5b81516115fa81611601565b634e487b7160e01b600052600160045260246000fd5b60008251611bad818460208701611532565b9190910192915050565b600060208284031215611bc957600080fd5b81516115fa816113fa565b6001600160a01b038316815260406020820152600061159b604083018461155656fea264697066735822122026ca2d3f9c5d7e972aaff8010e9eec7955a5080cd851a34e3188b74538f3bec664736f6c63430008130033","sourceMap":"587:5355:142:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1763:107:15;;;:::i;:::-;;;-1:-1:-1;;;;;310:55:151;;;292:74;;280:2;265:18;1763:107:15;;;;;;;;2429:119;;;:::i;4045:101::-;;;:::i;226:92::-;306:4;226:92;;905:138;968:7;905:138;;3126:109;;;:::i;2554:113::-;;;:::i;782:43:142:-;;817:8;782:43;;;;;523:25:151;;;511:2;496:18;782:43:142;377:177:151;1176:437:142;;;;;;:::i;:::-;;:::i;644:109::-;;;:::i;:::-;;;;;;;;:::i;831:50::-;;874:7;831:50;;1331:118:15;;;:::i;:::-;;;;;;;:::i;3366:113::-;;;:::i;4257:::-;;;:::i;4152:99::-;;;:::i;1876:107::-;;;:::i;2792:241::-;;;:::i;4376:105::-;;;:::i;1619:1088:142:-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;1989:232:15:-;;;:::i;2673:113::-;;;:::i;439:101::-;;;:::i;1537:::-;;;:::i;3485:113::-;;;:::i;4412:75:9:-;;4445:42;4412:75;;3604:241:15;;;:::i;3938:101::-;;;:::i;1644:113::-;;;:::i;2314:109::-;;;:::i;4571:105::-;;;:::i;4165:543:142:-;;;;;;:::i;:::-;;:::i;546:124:15:-;;;:::i;324:109::-;;;:::i;5562:378:142:-;;;;;;:::i;:::-;;:::i;2713:1446::-;;;;;;:::i;:::-;;:::i;3241:119:15:-;;;:::i;1763:107::-;1812:7;1838:25;;;;;;;;;;;;;;;;;;:8;:25::i;:::-;1831:32;;1763:107;:::o;2429:119::-;2484:7;2510:31;;;;;;;;;;;;;;;;;;:8;:31::i;4045:101::-;4091:7;4117:22;;;;;;;;;;;;;;;;;;:8;:22::i;3126:109::-;3176:7;3202:26;;;;;;;;;;;;;;;;;;:8;:26::i;2554:113::-;2606:7;2632:28;;;;;;;;;;;;;;;;;;:8;:28::i;1176:437:142:-;1348:16;;1321:7;;1344:230;;1474:48;;;;;;;;1494:1;1474:48;;;;;;;;;;;;;;;;;;;;;;;;1413:150;;;;;-1:-1:-1;;;;;1413:22:142;;;;;:150;;1453:1;;1524:10;;1536:13;;1413:150;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1394:16;:169;1344:230;-1:-1:-1;1590:16:142;;1176:437;;;;;:::o;644:109::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;1331:118:15:-;1426:16;;;1440:1;1426:16;;;1391;1426;;;;;1391;1426;;;;;;;;;;-1:-1:-1;1426:16:15;1419:23;;1331:118;:::o;3366:113::-;3418:7;3444:28;;;;;;;;;;;;;;;;;;:8;:28::i;4257:113::-;4309:7;4335:28;;;;;;;;;;;;;;;;;;:8;:28::i;4152:99::-;4197:7;4223:21;;;;;;;;;;;;;;;;;;:8;:21::i;1876:107::-;1925:7;1951:25;;;;;;;;;;;;;;;;;;:8;:25::i;2792:241::-;2900:16;;;2914:1;2900:16;;;2844;2900;;;;;2844;2872:25;;2900:16;2914:1;2900:16;;;;;;;;;;-1:-1:-1;2900:16:15;2872:44;;2940:18;:16;:18::i;:::-;2926:8;2935:1;2926:11;;;;;;;;:::i;:::-;;;;;;:32;-1:-1:-1;;;;;2926:32:15;;;-1:-1:-1;;;;;2926:32:15;;;;;2982:18;:16;:18::i;:::-;2968:8;2977:1;2968:11;;;;;;;;:::i;:::-;-1:-1:-1;;;;;2968:32:15;;;:11;;;;;;;;;;;:32;3018:8;2792:241;-1:-1:-1;2792:241:15:o;4376:105::-;4424:7;4450:24;;;;;;;;;;;;;;;;;;:8;:24::i;1619:1088:142:-;1859:45;;:::i;:::-;1982:30;1996:15;1982:13;:30::i;:::-;1967:12;;;:45;2129:24;2143:9;2129:13;:24::i;:::-;2111:15;;;:42;2198:26;2212:11;2198:13;:26::i;:::-;2182:13;;;:42;-1:-1:-1;;;;;2321:44:142;;;;2375:19;;;2397:12;2375:34;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;2419:18:142;;;2440:11;2419:32;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;2466:21:142;;;:26;2462:197;;2634:14;817:8;2634:3;:14;:::i;:::-;2610:38;;2462:197;2668:18;;;:32;;;;:6;1619:1088;-1:-1:-1;;;1619:1088:142:o;1989:232:15:-;2094:16;;;2108:1;2094:16;;;2038;2094;;;;;2038;2066:25;;2094:16;2108:1;2094:16;;;;;;;;;;-1:-1:-1;2094:16:15;2066:44;;2134:15;:13;:15::i;:::-;2120:8;2129:1;2120:11;;;;;;;;:::i;:::-;;;;;;:29;-1:-1:-1;;;;;2120:29:15;;;-1:-1:-1;;;;;2120:29:15;;;;;2173:15;:13;:15::i;2673:113::-;2725:7;2751:28;;;;;;;;;;;;;;;;;;:8;:28::i;439:101::-;485:7;511:22;;;;;;;;;;;;;;;;;;:8;:22::i;1537:101::-;1583:7;1609:22;;;;;;;;;;;;;;;;;;:8;:22::i;3485:113::-;3537:7;3563:28;;;;;;;;;;;;;;;;;;:8;:28::i;3604:241::-;3712:16;;;3726:1;3712:16;;;3656;3712;;;;;3656;3684:25;;3712:16;3726:1;3712:16;;;;;;;;;;-1:-1:-1;3712:16:15;3684:44;;3752:18;:16;:18::i;:::-;3738:8;3747:1;3738:11;;;;;;;;:::i;:::-;;;;;;:32;-1:-1:-1;;;;;3738:32:15;;;-1:-1:-1;;;;;3738:32:15;;;;;3794:18;:16;:18::i;3938:101::-;3984:7;4010:22;;;;;;;;;;;;;;;;;;:8;:22::i;1644:113::-;1696:7;1722:28;;;;;;;;;;;;;;;;;;:8;:28::i;2314:109::-;2364:7;2390:26;;;;;;;;;;;;;;;;;;:8;:26::i;4571:105::-;4620:7;4646:23;;;;;;;;;;;;;;;;;;:8;:23::i;4165:543:142:-;4436:14;4469:232;4493:4;4511:8;4533:17;4564:8;4586:5;4605:12;4631:11;4656:35;;;;;;;;4689:1;4656:35;;;4469:10;:232::i;:::-;4462:239;4165:543;-1:-1:-1;;;;;;;;4165:543:142:o;546:124:15:-;595:15;637:25;;;;;;;;;;;;;;;;;;:8;:25::i;324:109::-;374:7;400:26;;;;;;;;;;;;;;;;;;:8;:26::i;5562:378:142:-;5712:7;5747:11;5712:7;5788:27;5793:18;1058:7;5803:3;5794:12;;;5793:18;:::i;:::-;5813:1;5788:4;:27::i;:::-;5768:47;-1:-1:-1;5930:3:142;964:8;5903:9;5907:5;1058:7;5903:9;:::i;:::-;5879:19;5889:9;-1:-1:-1;;;5879:19:142;:::i;:::-;5861:14;1058:7;5861:10;:14;:::i;:::-;:38;;;;:::i;:::-;:52;;;;:::i;:::-;5835:21;5847:9;5835;:21;:::i;:::-;5834:80;;;;:::i;:::-;5833:92;;;;:::i;:::-;5832:101;;;5562:378;-1:-1:-1;;;;;;;5562:378:142:o;2713:1446::-;3045:14;3122:45;3182:68;3192:17;3211:12;3225:11;3238;3182:9;:68::i;:::-;3295:16;;;3309:1;3295:16;;;;;;;;3122:128;;-1:-1:-1;3261:31:142;;3295:16;;;;;;;;;;;;-1:-1:-1;3295:16:142;3261:50;;3349:4;3321:14;3336:1;3321:17;;;;;;;;:::i;:::-;;;;;;:33;-1:-1:-1;;;;;3321:33:142;;;-1:-1:-1;;;;;3321:33:142;;;;;3392:10;3364:14;3379:1;3364:17;;;;;;;;:::i;:::-;-1:-1:-1;;;;;3364:39:142;;;:17;;;;;;;;;:39;4445:42:9;;3690:19:142;;;3686:64;;-1:-1:-1;3734:5:142;3686:64;3768:4;-1:-1:-1;;;;;3768:33:142;;3856:55;3872:8;3882:12;:10;:12::i;:::-;3896:14;3856:15;:55::i;:::-;3933:8;3967:6;3956:18;;;;;;;;:::i;:::-;;;;;;;;;;;;;3988:6;4008:1;4023:8;4045:14;3768:301;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3759:310;;4139:12;4087:64;;;;;;;;:::i;:::-;4110:8;-1:-1:-1;;;;;4087:46:142;;:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:64;;;;;;;;:::i;:::-;;4080:72;;;;:::i;:::-;3061:1098;;;2713:1446;;;;;;;;;;:::o;3241:119:15:-;3296:7;3322:31;;;;;;;;;;;;;;;;;;20439:125:24;20503:12;20537:20;20552:4;20537:14;:20::i;:::-;-1:-1:-1;20527:30:24;20439:125;-1:-1:-1;;20439:125:24:o;4714:114:142:-;4777:7;4803:18;4813:8;4803:7;:18;:::i;:::-;4796:25;4714:114;-1:-1:-1;;4714:114:142:o;5109:447::-;5170:15;-1:-1:-1;;;5205:2:142;:12;5197:53;;;;-1:-1:-1;;;5197:53:142;;16438:2:151;5197:53:142;;;16420:21:151;16477:2;16457:18;;;16450:30;16516;16496:18;;;16489:58;16564:18;;5197:53:142;;;;;;;;;-1:-1:-1;;;;5272:2:142;5296;5335:215;5342:5;;5335:215;;5367:1;5371;5367:5;5376:1;5367:10;5363:177;;5401:10;5406:1;5409;5401:4;:10::i;:::-;5397:14;-1:-1:-1;5435:1:142;5429:7;5335:215;;5363:177;5485:16;5490:7;5499:1;5485:4;:16::i;:::-;5475:26;-1:-1:-1;5519:6:142;5524:1;5519:6;;:::i;:::-;;;5335:215;;;5187:369;;5109:447;;;;:::o;20158:242:24:-;20228:12;20242:18;20320:4;20303:22;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;20303:22:24;;;;;;;20293:33;;20303:22;20293:33;;;;20344:19;;;;;;523:25:151;;;20293:33:24;-1:-1:-1;20344:7:24;;;;496:18:151;;20344:19:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;20373:20;;;;;20337:26;;-1:-1:-1;20373:8:24;;;;:20;;20337:26;;20388:4;;20373:20;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20158:242;;;:::o;4834:269:142:-;4895:15;-1:-1:-1;;;4930:2:142;:13;;4922:66;;;;-1:-1:-1;;;4922:66:142;;17701:2:151;4922:66:142;;;17683:21:151;17740:2;17720:18;;;17713:30;17779:34;17759:18;;;17752:62;17850:10;17830:18;;;17823:38;17878:19;;4922:66:142;17499:404:151;4922:66:142;-1:-1:-1;;;5006:2:142;:12;4998:53;;;;-1:-1:-1;;;4998:53:142;;18110:2:151;4998:53:142;;;18092:21:151;18149:2;18129:18;;;18122:30;18188;18168:18;;;18161:58;18236:18;;4998:53:142;17908:352:151;4998:53:142;5093:3;964:8;5070:7;5075:2;5070;:7;:::i;:::-;5069:19;;;;:::i;:::-;5068:28;;;4834:269;-1:-1:-1;;;4834:269:142:o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;559:165:151:-;-1:-1:-1;;;;;649:5:151;645:54;638:5;635:65;625:93;;714:1;711;704:12;625:93;559:165;:::o;729:184::-;-1:-1:-1;;;778:1:151;771:88;878:4;875:1;868:15;902:4;899:1;892:15;918:275;989:2;983:9;1054:2;1035:13;;-1:-1:-1;;1031:27:151;1019:40;;1089:18;1074:34;;1110:22;;;1071:62;1068:88;;;1136:18;;:::i;:::-;1172:2;1165:22;918:275;;-1:-1:-1;918:275:151:o;1198:1354::-;1318:6;1326;1334;1387:2;1375:9;1366:7;1362:23;1358:32;1355:52;;;1403:1;1400;1393:12;1355:52;1442:9;1429:23;1461:42;1497:5;1461:42;:::i;:::-;1522:5;-1:-1:-1;1546:2:151;1585:18;;;1572:32;1613:44;1572:32;1613:44;:::i;:::-;1676:7;-1:-1:-1;1734:2:151;1719:18;;1706:32;1757:18;1787:14;;;1784:34;;;1814:1;1811;1804:12;1784:34;1852:6;1841:9;1837:22;1827:32;;1897:7;1890:4;1886:2;1882:13;1878:27;1868:55;;1919:1;1916;1909:12;1868:55;1955:2;1942:16;1977:2;1973;1970:10;1967:36;;;1983:18;;:::i;:::-;2029:2;2026:1;2022:10;2012:20;;2052:28;2076:2;2072;2068:11;2052:28;:::i;:::-;2114:15;;;2184:11;;;2180:20;;;2145:12;;;;2212:19;;;2209:39;;;2244:1;2241;2234:12;2209:39;2268:11;;;;2288:234;2304:6;2299:3;2296:15;2288:234;;;2386:3;2373:17;2358:32;;2403:44;2439:7;2403:44;:::i;:::-;2460:20;;;2321:12;;;;2500;;;;2288:234;;;2541:5;2531:15;;;;;;;;1198:1354;;;;;:::o;2894:250::-;2979:1;2989:113;3003:6;3000:1;2997:13;2989:113;;;3079:11;;;3073:18;3060:11;;;3053:39;3025:2;3018:10;2989:113;;;-1:-1:-1;;3136:1:151;3118:16;;3111:27;2894:250::o;3149:271::-;3191:3;3229:5;3223:12;3256:6;3251:3;3244:19;3272:76;3341:6;3334:4;3329:3;3325:14;3318:4;3311:5;3307:16;3272:76;:::i;:::-;3402:2;3381:15;-1:-1:-1;;3377:29:151;3368:39;;;;3409:4;3364:50;;3149:271;-1:-1:-1;;3149:271:151:o;3425:291::-;3602:6;3591:9;3584:25;3645:2;3640;3629:9;3625:18;3618:30;3565:4;3665:45;3706:2;3695:9;3691:18;3683:6;3665:45;:::i;:::-;3657:53;3425:291;-1:-1:-1;;;;3425:291:151:o;3721:484::-;3774:3;3812:5;3806:12;3839:6;3834:3;3827:19;3865:4;3894:2;3889:3;3885:12;3878:19;;3931:2;3924:5;3920:14;3952:1;3962:218;3976:6;3973:1;3970:13;3962:218;;;4041:13;;-1:-1:-1;;;;;4037:62:151;4025:75;;4120:12;;;;4155:15;;;;3998:1;3991:9;3962:218;;;-1:-1:-1;4196:3:151;;3721:484;-1:-1:-1;;;;;3721:484:151:o;4210:261::-;4389:2;4378:9;4371:21;4352:4;4409:56;4461:2;4450:9;4446:18;4438:6;4409:56;:::i;:::-;4401:64;4210:261;-1:-1:-1;;;4210:261:151:o;4476:111::-;4561:1;4554:5;4551:12;4541:40;;4577:1;4574;4567:12;4592:152;4669:20;;4718:1;4708:12;;4698:40;;4734:1;4731;4724:12;4698:40;4592:152;;;:::o;4749:416::-;4813:5;4861:4;4849:9;4844:3;4840:19;4836:30;4833:50;;;4879:1;4876;4869:12;4833:50;4912:2;4906:9;4954:4;4946:6;4942:17;5025:6;5013:10;5010:22;4989:18;4977:10;4974:34;4971:62;4968:88;;;5036:18;;:::i;:::-;5072:2;5065:22;5135:23;;5120:39;;-1:-1:-1;5105:6:151;4749:416;-1:-1:-1;4749:416:151:o;5170:664::-;5327:6;5335;5343;5351;5404:3;5392:9;5383:7;5379:23;5375:33;5372:53;;;5421:1;5418;5411:12;5372:53;5460:9;5447:23;5479:42;5515:5;5479:42;:::i;:::-;5540:5;-1:-1:-1;5597:2:151;5582:18;;5569:32;5610:43;5569:32;5610:43;:::i;:::-;5672:7;-1:-1:-1;5698:47:151;5741:2;5726:18;;5698:47;:::i;:::-;5688:57;;5764:64;5820:7;5815:2;5804:9;5800:18;5764:64;:::i;:::-;5754:74;;5170:664;;;;;;;:::o;5839:184::-;-1:-1:-1;;;5888:1:151;5881:88;5988:4;5985:1;5978:15;6012:4;6009:1;6002:15;6028:142;6111:1;6104:5;6101:12;6091:46;;6117:18;;:::i;:::-;6146;;6028:142::o;6270:1129::-;6432:4;6474:3;6463:9;6459:19;6451:27;;-1:-1:-1;;;;;6515:6:151;6509:13;6505:62;6494:9;6487:81;6624:4;6616:6;6612:17;6606:24;6599:4;6588:9;6584:20;6577:54;6687:4;6679:6;6675:17;6669:24;6662:4;6651:9;6647:20;6640:54;6750:4;6742:6;6738:17;6732:24;6725:4;6714:9;6710:20;6703:54;6813:4;6805:6;6801:17;6795:24;6788:4;6777:9;6773:20;6766:54;6867:4;6859:6;6855:17;6849:24;6909:1;6895:12;6892:19;6882:53;;6915:18;;:::i;:::-;6973:12;6966:4;6955:9;6951:20;6944:42;;7035:4;7027:6;7023:17;7017:24;7050:65;7109:4;7098:9;7094:20;7078:14;7050:65;:::i;:::-;;7164:4;7156:6;7152:17;7146:24;7179:73;7246:4;7235:9;7231:20;7215:14;6250:12;6238:25;;6175:90;7179:73;-1:-1:-1;7271:6:151;7314:15;;;7308:22;-1:-1:-1;;;;;80:54:151;;7374:18;;;68:67;7339:54;14:127;7404:1170;7583:6;7591;7599;7607;7615;7623;7631;7684:3;7672:9;7663:7;7659:23;7655:33;7652:53;;;7701:1;7698;7691:12;7652:53;7740:9;7727:23;7759:42;7795:5;7759:42;:::i;:::-;7820:5;-1:-1:-1;7877:2:151;7862:18;;7849:32;7890:44;7849:32;7890:44;:::i;:::-;7953:7;-1:-1:-1;8012:2:151;7997:18;;7984:32;8025:44;7984:32;8025:44;:::i;:::-;8088:7;-1:-1:-1;8147:2:151;8132:18;;8119:32;8160:44;8119:32;8160:44;:::i;:::-;8223:7;-1:-1:-1;8282:3:151;8267:19;;8254:33;8296:44;8254:33;8296:44;:::i;:::-;8359:7;-1:-1:-1;8418:3:151;8403:19;;8390:33;8432:43;8390:33;8432:43;:::i;:::-;8494:7;-1:-1:-1;8520:48:151;8563:3;8548:19;;8520:48;:::i;:::-;8510:58;;7404:1170;;;;;;;;;;:::o;8826:385::-;8912:6;8920;8928;8936;8989:3;8977:9;8968:7;8964:23;8960:33;8957:53;;;9006:1;9003;8996:12;8957:53;-1:-1:-1;;9029:23:151;;;9099:2;9084:18;;9071:32;;-1:-1:-1;9150:2:151;9135:18;;9122:32;;9201:2;9186:18;9173:32;;-1:-1:-1;8826:385:151;-1:-1:-1;8826:385:151:o;9216:1307::-;9440:6;9448;9456;9464;9472;9480;9488;9496;9549:3;9537:9;9528:7;9524:23;9520:33;9517:53;;;9566:1;9563;9556:12;9517:53;9605:9;9592:23;9624:42;9660:5;9624:42;:::i;:::-;9685:5;-1:-1:-1;9742:2:151;9727:18;;9714:32;9755:44;9714:32;9755:44;:::i;:::-;9818:7;-1:-1:-1;9877:2:151;9862:18;;9849:32;9890:44;9849:32;9890:44;:::i;:::-;9953:7;-1:-1:-1;10012:2:151;9997:18;;9984:32;10025:44;9984:32;10025:44;:::i;:::-;10088:7;-1:-1:-1;10147:3:151;10132:19;;10119:33;10161:44;10119:33;10161:44;:::i;:::-;10224:7;-1:-1:-1;10283:3:151;10268:19;;10255:33;10297:43;10255:33;10297:43;:::i;:::-;10359:7;-1:-1:-1;10385:48:151;10428:3;10413:19;;10385:48;:::i;:::-;10375:58;;10452:65;10509:7;10503:3;10492:9;10488:19;10452:65;:::i;:::-;10442:75;;9216:1307;;;;;;;;;;;:::o;10528:1032::-;10952:6;10941:9;10934:25;10995:3;10990:2;10979:9;10975:18;10968:31;11036:2;11030:3;11019:9;11015:19;11008:31;11076:16;11070:3;11059:9;11055:19;11048:45;11129:3;11124:2;11113:9;11109:18;11102:31;11176:6;11170:13;11164:3;11153:9;11149:19;11142:42;10915:4;11231:2;11223:6;11219:15;11213:22;11272:2;11266:3;11255:9;11251:19;11244:31;11295:52;11342:3;11331:9;11327:19;11313:12;11295:52;:::i;:::-;11284:63;;-1:-1:-1;;;;;11387:6:151;11383:55;11378:2;11367:9;11363:18;11356:83;11485:9;11480:3;11476:19;11470:3;11459:9;11455:19;11448:48;11513:41;11550:3;11542:6;11513:41;:::i;:::-;11505:49;10528:1032;-1:-1:-1;;;;;;;10528:1032:151:o;11565:184::-;11635:6;11688:2;11676:9;11667:7;11663:23;11659:32;11656:52;;;11704:1;11701;11694:12;11656:52;-1:-1:-1;11727:16:151;;11565:184;-1:-1:-1;11565:184:151:o;11754:437::-;11833:1;11829:12;;;;11876;;;11897:61;;11951:4;11943:6;11939:17;11929:27;;11897:61;12004:2;11996:6;11993:14;11973:18;11970:38;11967:218;;-1:-1:-1;;;12038:1:151;12031:88;12142:4;12139:1;12132:15;12170:4;12167:1;12160:15;11967:218;;11754:437;;;:::o;12196:184::-;-1:-1:-1;;;12245:1:151;12238:88;12345:4;12342:1;12335:15;12369:4;12366:1;12359:15;12385:184;-1:-1:-1;;;12434:1:151;12427:88;12534:4;12531:1;12524:15;12558:4;12555:1;12548:15;12574:168;12647:9;;;12678;;12695:15;;;12689:22;;12675:37;12665:71;;12716:18;;:::i;12747:274::-;12787:1;12813;12803:189;;-1:-1:-1;;;12845:1:151;12838:88;12949:4;12946:1;12939:15;12977:4;12974:1;12967:15;12803:189;-1:-1:-1;13006:9:151;;12747:274::o;13026:128::-;13093:9;;;13114:11;;;13111:37;;;13128:18;;:::i;13159:125::-;13224:9;;;13245:10;;;13242:36;;;13258:18;;:::i;13415:2154::-;13837:6;13826:9;13819:25;13800:4;13863:2;-1:-1:-1;;;;;13974:2:151;13966:6;13962:15;13957:2;13946:9;13942:18;13935:43;14014:3;14009:2;13998:9;13994:18;13987:31;14041:46;14082:3;14071:9;14067:19;14059:6;14041:46;:::i;:::-;14135:2;14127:6;14123:15;14118:2;14107:9;14103:18;14096:43;14176:6;14170:3;14159:9;14155:19;14148:35;14232:9;14224:6;14220:22;14214:3;14203:9;14199:19;14192:51;14273:6;14267:13;14259:6;14252:29;14300:4;14290:14;;14345:2;14337:6;14333:15;14381:2;14376;14368:6;14364:15;14357:27;14404:1;14437:12;14431:19;14473:3;14503:9;14499:2;14495:18;14485:28;;14563:2;14552:9;14548:18;14585;14575:61;;14629:4;14621:6;14617:17;14607:27;;14575:61;14682:2;14674:6;14671:14;14651:18;14648:38;14645:222;;-1:-1:-1;;;14716:3:151;14709:90;14822:4;14819:1;14812:15;14852:4;14847:3;14840:17;14645:222;14935:2;14923:15;;2826:19;;;2869:14;;;14876:71;-1:-1:-1;14963:18:151;14990:128;;;;15132:1;15127:321;;;;14956:492;;14990:128;-1:-1:-1;;15023:24:151;;15011:37;;15091:14;;15084:22;15081:1;15077:30;15068:40;;;-1:-1:-1;14990:128:151;;15127:321;13362:1;13355:14;;;13399:4;13386:18;;15228:1;15242:165;15256:6;15253:1;15250:13;15242:165;;;15334:14;;15321:11;;;15314:35;15377:16;;;;15271:10;;15242:165;;;15427:11;;;-1:-1:-1;;14956:492:151;;;;;15494:9;15489:3;15485:19;15479:3;15468:9;15464:19;15457:48;15522:41;15559:3;15551:6;15522:41;:::i;:::-;15514:49;13415:2154;-1:-1:-1;;;;;;;;;;;;;;13415:2154:151:o;15763:279::-;15851:6;15904:2;15892:9;15883:7;15879:23;15875:32;15872:52;;;15920:1;15917;15910:12;15872:52;15952:9;15946:16;15971:41;16006:5;15971:41;:::i;16047:184::-;-1:-1:-1;;;16096:1:151;16089:88;16196:4;16193:1;16186:15;16220:4;16217:1;16210:15;16593:289;16724:3;16762:6;16756:13;16778:66;16837:6;16832:3;16825:4;16817:6;16813:17;16778:66;:::i;:::-;16860:16;;;;;16593:289;-1:-1:-1;;16593:289:151:o;16887:262::-;16957:6;17010:2;16998:9;16989:7;16985:23;16981:32;16978:52;;;17026:1;17023;17016:12;16978:52;17058:9;17052:16;17077:42;17113:5;17077:42;:::i;17154:340::-;-1:-1:-1;;;;;17335:6:151;17331:55;17320:9;17313:74;17423:2;17418;17407:9;17403:18;17396:30;17294:4;17443:45;17484:2;17473:9;17469:18;17461:6;17443:45;:::i","linkReferences":{}},"methodIdentifiers":{"DECIMALS()":"2e0f2625","NATIVE()":"a0cf0aea","PERCENTAGE_SCALE()":"3f26479e","_calculateConviction(uint256,uint256,uint256,uint256)":"e99ce911","allo_owner()":"7cbe79ed","allo_treasury()":"da4bf087","createPool(address,address,address,address,address,uint8,uint8)":"d8c12dc2","createPool(address,address,address,address,address,uint8,uint8,(uint256))":"ed62303a","getParams(address,uint8,uint8,(uint256))":"770b2e66","local()":"0f166ad4","metadata()":"392f37e9","no_recipient()":"759c9a86","nullProfile_member1()":"829e423f","nullProfile_member2()":"8c7408c4","nullProfile_members()":"4bf4ba21","nullProfile_notAMember()":"174eedde","nullProfile_owner()":"74d9284e","poolProfile_id1(address,address,address[])":"37d1c404","pool_admin()":"8e0d1a50","pool_manager1()":"00b1fad7","pool_manager2()":"6a38dd0a","pool_managers()":"79e62d0d","pool_notAManager()":"d1e82b58","profile1_member1()":"1e7bcb2e","profile1_member2()":"7b2edf32","profile1_members()":"70a32944","profile1_notAMember()":"030e4006","profile1_owner()":"d1f2cd88","profile2_member1()":"587c1243","profile2_member2()":"8e3c2493","profile2_members()":"a407c67a","profile2_notAMember()":"ef0d790f","profile2_owner()":"1b96dce6","randomAddress()":"d5bee9f5","recipient()":"66d003ac","recipient1()":"aa3744bd","recipient2()":"0688b135","recipientAddress()":"5aff5999","registry_owner()":"dac4eb16"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"DECIMALS\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"NATIVE\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"PERCENTAGE_SCALE\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_timePassed\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_lastConv\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_oldAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decay\",\"type\":\"uint256\"}],\"name\":\"_calculateConviction\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"allo_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"allo_treasury\",\"outputs\":[{\"internalType\":\"address payable\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract Allo\",\"name\":\"allo\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"strategy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"registryCommunity\",\"type\":\"address\"},{\"internalType\":\"contract IRegistry\",\"name\":\"registry\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"enum StrategyStruct.ProposalType\",\"name\":\"proposalType\",\"type\":\"uint8\"},{\"internalType\":\"enum StrategyStruct.PointSystem\",\"name\":\"pointSystem\",\"type\":\"uint8\"}],\"name\":\"createPool\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract Allo\",\"name\":\"allo\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"strategy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"registryCommunity\",\"type\":\"address\"},{\"internalType\":\"contract IRegistry\",\"name\":\"registry\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"enum StrategyStruct.ProposalType\",\"name\":\"proposalType\",\"type\":\"uint8\"},{\"internalType\":\"enum StrategyStruct.PointSystem\",\"name\":\"pointSystem\",\"type\":\"uint8\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"maxAmount\",\"type\":\"uint256\"}],\"internalType\":\"struct StrategyStruct.PointSystemConfig\",\"name\":\"pointConfig\",\"type\":\"tuple\"}],\"name\":\"createPool\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"registryCommunity\",\"type\":\"address\"},{\"internalType\":\"enum StrategyStruct.ProposalType\",\"name\":\"proposalType\",\"type\":\"uint8\"},{\"internalType\":\"enum StrategyStruct.PointSystem\",\"name\":\"pointSystem\",\"type\":\"uint8\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"maxAmount\",\"type\":\"uint256\"}],\"internalType\":\"struct StrategyStruct.PointSystemConfig\",\"name\":\"pointConfig\",\"type\":\"tuple\"}],\"name\":\"getParams\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"registryCommunity\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"decay\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxRatio\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"weight\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"minThresholdPoints\",\"type\":\"uint256\"},{\"internalType\":\"enum StrategyStruct.ProposalType\",\"name\":\"proposalType\",\"type\":\"uint8\"},{\"internalType\":\"enum StrategyStruct.PointSystem\",\"name\":\"pointSystem\",\"type\":\"uint8\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"maxAmount\",\"type\":\"uint256\"}],\"internalType\":\"struct StrategyStruct.PointSystemConfig\",\"name\":\"pointConfig\",\"type\":\"tuple\"},{\"internalType\":\"address\",\"name\":\"sybilScorer\",\"type\":\"address\"}],\"internalType\":\"struct StrategyStruct.InitializeParams\",\"name\":\"params\",\"type\":\"tuple\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"local\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"metadata\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"no_recipient\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_member1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_member2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_members\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_notAMember\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IRegistry\",\"name\":\"registry\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"pool_admin\",\"type\":\"address\"},{\"internalType\":\"address[]\",\"name\":\"pool_managers\",\"type\":\"address[]\"}],\"name\":\"poolProfile_id1\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_admin\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_manager1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_manager2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_managers\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_notAManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_member1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_member2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_members\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_notAMember\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_member1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_member2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_members\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_notAMember\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"randomAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"recipient\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"recipient1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"recipient2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"recipientAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"registry_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"NATIVE()\":{\"notice\":\"Address of the native token\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"pkg/contracts/test/CVStrategyHelpersV0_0.sol\":\"CVStrategyHelpersV0_0\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1000},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":eas-proxy/=lib/allo-v2/lib/eas-proxy/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":hedgey-vesting/=lib/allo-v2/lib/hedgey-vesting/contracts/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-contracts/=lib/safe-contracts/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":superfluid-protocol-monorepo/=lib/allo-v2/lib/superfluid-protocol-monorepo/packages/solidity-semantic-money/src/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"]},\"sources\":{\"lib/allo-v2/contracts/core/Allo.sol\":{\"keccak256\":\"0x6eadd7d37d010ad736e5b9fd25bd2083e430757d72b5873357cd7ee41d7fc21a\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://add326fecd1aac73bf91e634a9b11ab9a19b99a73616e44d5c79261bfbfb3a7c\",\"dweb:/ipfs/QmTF7WYUpSTF6EPWtB6CW9BPJAjWeZDtNjWGME4VHrarZd\"]},\"lib/allo-v2/contracts/core/interfaces/IAllo.sol\":{\"keccak256\":\"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7\",\"dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1\"]},\"lib/allo-v2/contracts/core/interfaces/IRegistry.sol\":{\"keccak256\":\"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e\",\"dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA\"]},\"lib/allo-v2/contracts/core/interfaces/IStrategy.sol\":{\"keccak256\":\"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487\",\"dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH\"]},\"lib/allo-v2/contracts/core/libraries/Clone.sol\":{\"keccak256\":\"0xc348b24b7d8a98c4faa5f2aa37ce9264a74f81dbdef1a9bae2eaa125585c3c7e\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://1335b3ec59ec7e3d12ea7c90b3aa56f4c26e0d44d342f54412933be9d4f16067\",\"dweb:/ipfs/QmXNFo2wCyq9cpvfgbdHvBUQecThFSEoUnMuZNS6WinDrr\"]},\"lib/allo-v2/contracts/core/libraries/Errors.sol\":{\"keccak256\":\"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf\",\"dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA\"]},\"lib/allo-v2/contracts/core/libraries/Metadata.sol\":{\"keccak256\":\"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c\",\"dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn\"]},\"lib/allo-v2/contracts/core/libraries/Native.sol\":{\"keccak256\":\"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a\",\"dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv\"]},\"lib/allo-v2/contracts/core/libraries/Transfer.sol\":{\"keccak256\":\"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11\",\"dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5\"]},\"lib/allo-v2/contracts/strategies/BaseStrategy.sol\":{\"keccak256\":\"0x3f1382dc6c35d50545e327e7ed6016f2bd752357d446bd698014073f0b812873\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://99500abcd617fa43f6dde49e2c7802821ceaf54a65a8055cbbf2695ecd107974\",\"dweb:/ipfs/QmUktZkWuu3GCMEijY1fqt7NMy7BzpTvEtcmpB1fuoa7zt\"]},\"lib/allo-v2/lib/solady/src/auth/Ownable.sol\":{\"keccak256\":\"0xd916b6ca098f26e08eff367c6fc1853956839d8d1c9d2df715784b6dec99889b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a9d8137ec1f5fb4210fbebeafa002f5b9cab28579445bd8281c56862e63aa30\",\"dweb:/ipfs/QmPLBcT1JkBKa4jK6qNficwZx2uGG4MetPNErJArdX6G61\"]},\"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol\":{\"keccak256\":\"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298\",\"dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt\"]},\"lib/allo-v2/test/foundry/shared/Accounts.sol\":{\"keccak256\":\"0x47c754ab744c6c9894aaff23cfbbe44bc30879a53fbbe8d36b1fee26137f2e3a\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://8e457b7adaf1ea79cc707e8a3e2989855f51ff98ebc1947b3239d7d410d5a07b\",\"dweb:/ipfs/QmSXASZ4u435D29T4UzKuh6kd8vLSrbSSgZzjnnhfwyv1m\"]},\"lib/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0xb72f3519e0bf7d31df5d68557525f4fc55d861c3fb3b0f7793144ef7c94cbeb7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f3456d0f78e6f61203fa7871ba2df0d35925f10db3baee14be623ce2a35b84e2\",\"dweb:/ipfs/QmWE6QQSBvJifHMraisBTrf1x4WCwrDoTPLX8UKajTiApc\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0x651d84d948832f0ef45686417aa68ffb871378fa788a4123dbf37844903c66f3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ff20f5ac9de3dc3ba86b1bf1f2723174e82ce3499ad67cb0ccfa7d28baeee678\",\"dweb:/ipfs/QmRZkUFKz7AmF7yk6o317sk822HHhGVPXZQgX8G4LfYfft\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x51fec240abc6dd23e0ee6de7c65106379aef732cad6c4ae5df6b55db886e7456\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://a47d9c0a9876e7f9e411843b994a741d4ac1a87d8459ffc3c56359de691ddc1a\",\"dweb:/ipfs/QmQiFN9b3Y2azrD1RBfAKEuAG3YeJkMzA2DGzgEE9kMeEK\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]},\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0x954646445d1014c3cd85c7918f5e7adeeca5ee44b68c00bafa237e597a4e35ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://516fa3be52da4763147175bfba4be0aa011fadbb0c1afb01f97265bd4cee7973\",\"dweb:/ipfs/QmdixAyMJefx7qePChgdxcBH5MxhmN7vsqPuPLx3CgrVmF\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0xc8710577334e8d0799ae2b2a731b1924a7bddd64319da9787ddd2dc69bdd1ce5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b83b7afa4d2372da3ba5402fb10860a105c35d79812c60dc61007be2afc17618\",\"dweb:/ipfs/QmYX9xPmbNVSKXrepKiUZiG5oL3SdzFp9a4kqspxX1sEUx\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol\":{\"keccak256\":\"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c\",\"dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol\":{\"keccak256\":\"0x359a1ab89b46b9aba7bcad3fb651924baf4893d15153049b9976b0fc9be1358e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e89863421b4014b96a4b62be76eb3b9f0a8afe9684664a6f389124c0964bfe5c\",\"dweb:/ipfs/Qmbk7xr1irpDuU1WdxXgxELBXxs61rHhCgod7heVcvFx16\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol\":{\"keccak256\":\"0x3d98edeb5d5be8410fca707b73dabe7544d1dd11e35b73dd907c473fe43cc3ae\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1a3fa9fc3aec149b8ad0dd8895277ab11e9244e9d2b7adc8404b22de974fc964\",\"dweb:/ipfs/QmRggzxs1WjuvGJSAKb2Nw5r7P3VDMefCWKTbkNPKRkv2j\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e\",\"dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol\":{\"keccak256\":\"0x2025ccf05f6f1f2fd4e078e552836f525a1864e3854ed555047cd732320ab29b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d27f4b23c2dee42394aebaf42bf238285230f472dfd3282a39c3f000ec28214f\",\"dweb:/ipfs/QmQa3DnvccwdWJeWrjgXPnFMTWbzWQWR39hVqC7eEwo2PC\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/IERC20Upgradeable.sol\":{\"keccak256\":\"0x0e1f0f5f62f67a881cd1a9597acbc0a5e4071f3c2c10449a183b922ae7272e3f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c25f742ff154998d19a669e2508c3597b363e123ce9144cd0fcf6521229f401f\",\"dweb:/ipfs/QmQXRuFzStEWqeEPbhQU6cAg9PaSowxJVo4PDKyRod7dco\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b\",\"dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95\",\"dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol\":{\"keccak256\":\"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a\",\"dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0xd90d7723512df65ae417adaf0801042940f0dabd60039ceeaffe34aa5b238da1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1b13befeb3413749292f9fb229de1c7a509a5ce2c8047d9094fc004ca9d3af89\",\"dweb:/ipfs/QmRzJ2hZSwRtMejHUZAYTPRKgZsnfb112Fno9Jf3EiDfwA\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol\":{\"keccak256\":\"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758\",\"dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol\":{\"keccak256\":\"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91\",\"dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol\":{\"keccak256\":\"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4\",\"dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z\"]},\"lib/openzeppelin-contracts/contracts/access/AccessControl.sol\":{\"keccak256\":\"0x0dd6e52cb394d7f5abe5dca2d4908a6be40417914720932de757de34a99ab87f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://dc117ce50ea746cab6b97ed1a1facee17a715ae0cb95d67b943dacbaf15176fb\",\"dweb:/ipfs/QmYRZ2UGNYwsHwfNu7Wjr8L2j1LBZ1mKv6NvbwgterYMXc\"]},\"lib/openzeppelin-contracts/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0x59ce320a585d7e1f163cd70390a0ef2ff9cec832e2aa544293a00692465a7a57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb2c137c343ef0c4c7ce7b18c1d108afdc9d315a04e48307288d2d05adcbde3a\",\"dweb:/ipfs/QmUxhrAQM3MM3FF5j7AtcXLXguWCJBHJ14BRdVtuoQc8Fh\"]},\"lib/openzeppelin-contracts/contracts/access/Ownable.sol\":{\"keccak256\":\"0xba43b97fba0d32eb4254f6a5a297b39a19a247082a02d6e69349e071e2946218\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fc980984badf3984b6303b377711220e067722bbd6a135b24669ff5069ef9f32\",\"dweb:/ipfs/QmPHXMSXj99XjSVM21YsY6aNtLLjLVXDbyN76J5HQYvvrz\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol\":{\"keccak256\":\"0x3cbef5ebc24b415252e2f8c0c9254555d30d9f085603b4b80d9b5ed20ab87e90\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e8fa670c3bdce78e642cc6ae11c4cb38b133499cdce5e1990a9979d424703263\",\"dweb:/ipfs/QmVxeCUk4jL2pXQyhsoNJwyU874wRufS2WvGe8TgPKPqhE\"]},\"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol\":{\"keccak256\":\"0x1d4afe6cb24200cc4545eed814ecf5847277dfe5d613a1707aad5fceecebcfff\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://383fb7b8181016ac5ccf07bc9cdb7c1b5045ea36e2cc4df52bcbf20396fc7688\",\"dweb:/ipfs/QmYJ7Cg4WmE3rR8KGQxjUCXFfTH6TcwZ2Z1f6tPrq7jHFr\"]},\"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol\":{\"keccak256\":\"0xa2b22da3032e50b55f95ec1d13336102d675f341167aa76db571ef7f8bb7975d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96b6d77a20bebd4eb06b801d3d020c7e82be13bd535cb0d0a6b7181c51dab5d5\",\"dweb:/ipfs/QmPUR9Cv9jNFdQX6PtBfaBW1ZCnKwiu65R2VD5kbdanDyn\"]},\"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Upgrade.sol\":{\"keccak256\":\"0x3b21ae06bf5957f73fa16754b0669c77b7abd8ba6c072d35c3281d446fdb86c2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2db8e18505e86e02526847005d7287a33e397ed7fb9eaba3fd4a4a197add16e2\",\"dweb:/ipfs/QmW9BSuKTzHWHBNSHF4L8XfVuU1uJrP2vLg84YtBd8mL82\"]},\"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol\":{\"keccak256\":\"0xc130fe33f1b2132158531a87734153293f6d07bc263ff4ac90e85da9c82c0e27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8831721b6f4cc26534d190f9f1631c3f59c9ff38efdd911f85e0882b8e360472\",\"dweb:/ipfs/QmQZnLErZNStirSQ13ZNWQgvEYUtGE5tXYwn4QUPaVUfPN\"]},\"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0xd50a3421ac379ccb1be435fa646d66a65c986b4924f0849839f08692f39dde61\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ada1e030c0231db8d143b44ce92b4d1158eedb087880cad6d8cc7bd7ebe7b354\",\"dweb:/ipfs/QmWZ2NHZweRpz1U9GF6R1h65ri76dnX7fNxLBeM2t5N5Ce\"]},\"lib/openzeppelin-contracts/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x3d6069be9b4c01fb81840fb9c2c4dc58dd6a6a4aafaa2c6837de8699574d84c6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://720d6bb56ea0c4ef781c0bd65c5bd0541f5a46100163b2587170f97658d2deed\",\"dweb:/ipfs/QmTS2biLVPrv8CeeXCaKmkFxonMiRvc1LxiYBRYDAJHQUS\"]},\"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol\":{\"keccak256\":\"0xc6619957bcc6641fe8984bfaf9ff11a9e4b97d8149c0495f608f9a2416d7c5cf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://543be67f7fa43b1b932637c1c7f12035f0f4b0f7ee2bd3c33841186f79c165c1\",\"dweb:/ipfs/QmSBPM2UVKbmJqWfD9i6hSiqbaE8TV4TSqfuiivziRRLKM\"]},\"lib/openzeppelin-contracts/contracts/security/ReentrancyGuard.sol\":{\"keccak256\":\"0xa535a5df777d44e945dd24aa43a11e44b024140fc340ad0dfe42acf4002aade1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://41319e7f621f2dc3733511332c4fd032f8e32ad2aa7fd6f665c19741d9941a34\",\"dweb:/ipfs/QmcYR3bd862GD1Bc7jwrU9bGxrhUu5na1oP964bDCu2id1\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15\",\"dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5\",\"dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd\",\"dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol\":{\"keccak256\":\"0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a\",\"dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0x909d608c2db6eb165ca178c81289a07ed2e118e444d0025b2a85c97d0b44a4fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://656cda26512ddd7373c2d5551c8fae759fc30f05b10f0fc2e738e9274199dbd4\",\"dweb:/ipfs/QmTSArSzQRFbQmHgq7U1PZXnsDFhvDZhKVu9CzMG4yo6Lx\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xf09e68aa0dc6722a25bc46490e8d48ed864466d17313b8a0b254c36b54e49899\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e26daf81e2252dc1fe1ce0e4b55c2eb7c6d1ee84ae6558d1a9554432ea1d32da\",\"dweb:/ipfs/Qmb1UANWiWq5pCKbmHSu772hd4nt374dVaghGmwSVNuk8Q\"]},\"lib/openzeppelin-contracts/contracts/utils/Strings.sol\":{\"keccak256\":\"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f\",\"dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol\":{\"keccak256\":\"0x5a08ad61f4e82b8a3323562661a86fb10b10190848073fdc13d4ac43710ffba5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6f7bb74cf88fd88daa34e118bc6e363381d05044f34f391d39a10c0c9dac3ebd\",\"dweb:/ipfs/QmNbQ3v8v4zuDtg7VeLAbdhAm3tCzUodNoDZZ8ekmCHWZX\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]},\"lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/src/strings.sol\":{\"keccak256\":\"0x42cad11a7033f2fe05dd68611d2304407a620ac985b91edf29d5868cfe196223\",\"urls\":[\"bzz-raw://3cbc2333234e1f00eab5e57c4bcaf5115661e5e066a17c70af587a0a96f24669\",\"dweb:/ipfs/QmPHvStqcvZL46LW5N2ExTwAaqNhRCcmAX66aR6oE1WDar\"]},\"lib/openzeppelin-foundry-upgrades/src/Defender.sol\":{\"keccak256\":\"0x2114e4d70d53b36e8cec54ba11ff78d9f38a466ec3504c76c7f26101a7cff37f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://58f4d9bc58646e7631b263cdb8ef260e6818e9f716036d81d1c18218c9557a23\",\"dweb:/ipfs/QmS18L4R4gPtay9eQBcR28DnwmBkGSWsiCFwm2tXc3BkHL\"]},\"lib/openzeppelin-foundry-upgrades/src/LegacyUpgrades.sol\":{\"keccak256\":\"0x8436719f73c76efadaa16cd719d088f698ea3591595dfdf2c15fd66f3e203197\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ac8d0e55defe124adcc3845348602d6528b00b7dc5f7abf9e1b245d0cea9b55e\",\"dweb:/ipfs/QmaPBoG89Bd2btJZW5kjXx7zXo6KhAdeTuMq5xo431M8xq\"]},\"lib/openzeppelin-foundry-upgrades/src/Options.sol\":{\"keccak256\":\"0xa5414683d6b219b28e75ecaab3d00a305dfaf4d970389a88992275c8072ce8ac\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1dbfd566ba318f2b740159c28e4511c84c9d76fcc293ae17c9b1a87b3ea16c9\",\"dweb:/ipfs/QmcyxPoeBdzA9iHEgd76xKhaQ8HKfpV4owdSv6127MmveT\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Core.sol\":{\"keccak256\":\"0x37073df20d2b5fbb0a873e6b2dd76c23e23455d1c2d2ba57d2f0998201a4251d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://79d507647ea48d93371341684cf4199d55ed799db9d3489bc016f53990d2ff7c\",\"dweb:/ipfs/QmQWgXiYcPcwNcrkTHb72WtHd4xPcXfRUMfBrhkDHgr2ut\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/DefenderDeploy.sol\":{\"keccak256\":\"0x868ffdaf5d185fee103fc4581385392b47c209a5cfd2aec01f0307dbc0101d73\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://76e51bf69a4d0b5d1d9cfa7efa442bdcf9d713966563432ef8fdd00ec959a25e\",\"dweb:/ipfs/QmTHkdvMnqmEvus7zbmHhPkWk3fM9SW2Jq8gnyBLwVJtxG\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Utils.sol\":{\"keccak256\":\"0x4de002af810f6a5fe26a6381e0ead3331735bd0059434a22df75e17c177b5f87\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af32ff07f606e530a53030db141a75af144cfe065a6543939d412018c6159540\",\"dweb:/ipfs/QmbfTB92Zd8VQHW61g9dx1CvGgSL5SCoZDLrvJfnR7Ctio\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Versions.sol\":{\"keccak256\":\"0xf1a1441c18a296853509e9b1d18be794ed3de836caea49d6948b5e9ac566e8c6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6f3463514235bd875ecacf45f95cac64aa650dd38d05c15fe1f4203b6b5733bd\",\"dweb:/ipfs/Qmcbhmw9NPkG8MqiVsQ4qUupeQFCRgyBDKuoUwohwa8EP3\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IProxyAdmin.sol\":{\"keccak256\":\"0xf5e514595089f8959da130507086e7388602a71ce60575d141e7d892dfbddbfc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9b41366e2823ccc8cb42304496d761b3df80946d17384634a61afd7139495c91\",\"dweb:/ipfs/QmZE2nRMxax1NPj63ifemKdScGJzKNWi7BCGudjFLsUz1y\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableBeacon.sol\":{\"keccak256\":\"0xa8d7bffdd26eb763e459650c83f247b54af79800c2df52ad05878f238fc1c2f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ed47f1e53e5eb7d48fed60a414755641fca8fa0e713fd503b2597227da78a2f\",\"dweb:/ipfs/QmQr8A5wddHdhQNauFShXxRkPcuVVpVsYpq846WhmFC8Tv\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableProxy.sol\":{\"keccak256\":\"0x781b564b90bba0c0e8e12fb66b1c910f42d369db469f2e88592b4cff29de99a5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://45fcab02a43fde934445b88e905aba3f58a70b75dd6ee6eb86a3d593424aeb03\",\"dweb:/ipfs/QmXmhAgrctaYUDLoTRgUjwD4deoXu1E2QT1kftVGcVa56j\"]},\"pkg/contracts/src/BaseStrategyUpgradeable.sol\":{\"keccak256\":\"0xe059f9e1a262a4713e230a6025c3356681bb5f3c8013b87bc579bae93aa66c20\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://37e879664b08005b9544457cf89bce77e38b6a25639566df7366b9e5968c815e\",\"dweb:/ipfs/QmYgNRqZfYUPbWgcHUHghTcpqjVmT9v4HfkfPdEF64fYe5\"]},\"pkg/contracts/src/CVStrategy.sol\":{\"keccak256\":\"0x132bcf17470960e380d841159d9389985d609aaae1c9a657c78902f7871da957\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://84e905bf392579b44f33fff8586431b940e110b2210854cf487321cc92061705\",\"dweb:/ipfs/QmQpvszYu8RbrXmUFLifSodQzV8LAqazk1fzXNARGc5sBT\"]},\"pkg/contracts/src/CVStrategyV0_0.sol\":{\"keccak256\":\"0x79d01b399c8d735923dfa26b8dacba6200a861202dd6fb1c7711241285439d2d\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://e7ea0014e25a729d6d688620658df81a179a8c2380ae0bc4c78668cd486adb04\",\"dweb:/ipfs/QmdPM8JpFXeqBxQgkRzM1inzCT2rkRxnpoSrFk8DauDpNf\"]},\"pkg/contracts/src/ISybilScorer.sol\":{\"keccak256\":\"0x0e25fbb8497ac3c969d80c9032362d45e56c0a45dc9ba3dff6a8a704571f38ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0dff90ebae6e7131a5300fcaf525bc2ab0ae90fcd13f277d7b7b6939eeb8b7eb\",\"dweb:/ipfs/QmYGkYqpUVrBWoNY6f3CtwrrVQFWSvnJfpu68t95f6AkBY\"]},\"pkg/contracts/src/RegistryCommunity.sol\":{\"keccak256\":\"0xc735f4d2635149f2db9bff291da56e08c3c312d9eb1b767b8a1e3e51584d5734\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://247b33b78abface6a7e2da38174386de9b543f6a27e8340e26d854bff57184a3\",\"dweb:/ipfs/QmedNdqkqeboGzz9w868uGf7KnXUaYZe6i1YcdUPPkJnnf\"]},\"pkg/contracts/src/RegistryCommunityV0_0.sol\":{\"keccak256\":\"0x6525c857f7baff606e87bbc2878f3606923997a444eb500aa15018c676c972a9\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://89d2af9f470c8d7431ff6b1981b7bf46520f719d68da38ab3ca065496a6297d8\",\"dweb:/ipfs/QmceJHX57HbnBXVfmhtRPmnApUQy5QSWTybgq6g37vCxEN\"]},\"pkg/contracts/src/RegistryFactory.sol\":{\"keccak256\":\"0x888b7f5eb1079f90ccfa0b41d8a970bffd8d4d469f9b31917a58279b358dbda5\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://af25fd783de00adf01d1c7caa572801fed0d474306a43b862535b08e65ec10c6\",\"dweb:/ipfs/Qmeb2nEaMQLV86y1CYAAV2c6BYpBDTbpLuC1SigeNjdqLo\"]},\"pkg/contracts/src/interfaces/FAllo.sol\":{\"keccak256\":\"0x32f38cb4400a07a99ae68a9beb91e5649886487172fd50561da6763464efc437\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://cb4f0cee2f3fbede7be5e8e1d7ee8034086359cd07b9dab49c4a991388e5c458\",\"dweb:/ipfs/QmS26kA8cZ9shWwxcbF17Kes8L7Jgw85EQVydDmwb34mjM\"]},\"pkg/contracts/src/interfaces/ISafe.sol\":{\"keccak256\":\"0x878a210809bb684c42157a10f3f90350a67d0a4863f130499942b06f0f2c9143\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://fa2d71bd427c3415e98a2ee15ff673f3cc61c17f14d7087c5eedc83b55f6b0ef\",\"dweb:/ipfs/QmesVSmJQQzi6ys1cvhQFCJyDXchb736mT5bXks4Yp6Cbj\"]},\"pkg/contracts/test/CVStrategyHelpersV0_0.sol\":{\"keccak256\":\"0xe5f190162fad17403c945d71a1fadc8c63ba33df5e280596e3d9bb2f81050e61\",\"license\":\"AGPL-3.0-or-later\",\"urls\":[\"bzz-raw://601f3d87fc5abee624e09c69cac3f23ae94bc1e0b5f9311c322db60f56afe826\",\"dweb:/ipfs/QmRYsi62SGcKcazYAjZfCFz9EAnXcquVz1YMz5gzit1kvo\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[],"stateMutability":"view","type":"function","name":"DECIMALS","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"NATIVE","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"PERCENTAGE_SCALE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"_timePassed","type":"uint256"},{"internalType":"uint256","name":"_lastConv","type":"uint256"},{"internalType":"uint256","name":"_oldAmount","type":"uint256"},{"internalType":"uint256","name":"decay","type":"uint256"}],"stateMutability":"pure","type":"function","name":"_calculateConviction","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"allo_owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"allo_treasury","outputs":[{"internalType":"address payable","name":"","type":"address"}]},{"inputs":[{"internalType":"contract Allo","name":"allo","type":"address"},{"internalType":"address","name":"strategy","type":"address"},{"internalType":"address","name":"registryCommunity","type":"address"},{"internalType":"contract IRegistry","name":"registry","type":"address"},{"internalType":"address","name":"token","type":"address"},{"internalType":"enum StrategyStruct.ProposalType","name":"proposalType","type":"uint8"},{"internalType":"enum StrategyStruct.PointSystem","name":"pointSystem","type":"uint8"}],"stateMutability":"nonpayable","type":"function","name":"createPool","outputs":[{"internalType":"uint256","name":"poolId","type":"uint256"}]},{"inputs":[{"internalType":"contract Allo","name":"allo","type":"address"},{"internalType":"address","name":"strategy","type":"address"},{"internalType":"address","name":"registryCommunity","type":"address"},{"internalType":"contract IRegistry","name":"registry","type":"address"},{"internalType":"address","name":"token","type":"address"},{"internalType":"enum StrategyStruct.ProposalType","name":"proposalType","type":"uint8"},{"internalType":"enum StrategyStruct.PointSystem","name":"pointSystem","type":"uint8"},{"internalType":"struct StrategyStruct.PointSystemConfig","name":"pointConfig","type":"tuple","components":[{"internalType":"uint256","name":"maxAmount","type":"uint256"}]}],"stateMutability":"nonpayable","type":"function","name":"createPool","outputs":[{"internalType":"uint256","name":"poolId","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"registryCommunity","type":"address"},{"internalType":"enum StrategyStruct.ProposalType","name":"proposalType","type":"uint8"},{"internalType":"enum StrategyStruct.PointSystem","name":"pointSystem","type":"uint8"},{"internalType":"struct StrategyStruct.PointSystemConfig","name":"pointConfig","type":"tuple","components":[{"internalType":"uint256","name":"maxAmount","type":"uint256"}]}],"stateMutability":"pure","type":"function","name":"getParams","outputs":[{"internalType":"struct StrategyStruct.InitializeParams","name":"params","type":"tuple","components":[{"internalType":"address","name":"registryCommunity","type":"address"},{"internalType":"uint256","name":"decay","type":"uint256"},{"internalType":"uint256","name":"maxRatio","type":"uint256"},{"internalType":"uint256","name":"weight","type":"uint256"},{"internalType":"uint256","name":"minThresholdPoints","type":"uint256"},{"internalType":"enum StrategyStruct.ProposalType","name":"proposalType","type":"uint8"},{"internalType":"enum StrategyStruct.PointSystem","name":"pointSystem","type":"uint8"},{"internalType":"struct StrategyStruct.PointSystemConfig","name":"pointConfig","type":"tuple","components":[{"internalType":"uint256","name":"maxAmount","type":"uint256"}]},{"internalType":"address","name":"sybilScorer","type":"address"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"local","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"metadata","outputs":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"no_recipient","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"nullProfile_member1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"nullProfile_member2","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"nullProfile_members","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"nullProfile_notAMember","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"nullProfile_owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"contract IRegistry","name":"registry","type":"address"},{"internalType":"address","name":"pool_admin","type":"address"},{"internalType":"address[]","name":"pool_managers","type":"address[]"}],"stateMutability":"nonpayable","type":"function","name":"poolProfile_id1","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pool_admin","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pool_manager1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pool_manager2","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pool_managers","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pool_notAManager","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile1_member1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile1_member2","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile1_members","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile1_notAMember","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile1_owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile2_member1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile2_member2","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile2_members","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile2_notAMember","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile2_owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"randomAddress","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"recipient","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"recipient1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"recipient2","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"recipientAddress","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"registry_owner","outputs":[{"internalType":"address","name":"","type":"address"}]}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{"NATIVE()":{"notice":"Address of the native token"}},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","eas-proxy/=lib/allo-v2/lib/eas-proxy/contracts/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","hedgey-vesting/=lib/allo-v2/lib/hedgey-vesting/contracts/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-contracts/=lib/safe-contracts/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","superfluid-protocol-monorepo/=lib/allo-v2/lib/superfluid-protocol-monorepo/packages/solidity-semantic-money/src/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":1000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"pkg/contracts/test/CVStrategyHelpersV0_0.sol":"CVStrategyHelpersV0_0"},"evmVersion":"paris","libraries":{}},"sources":{"lib/allo-v2/contracts/core/Allo.sol":{"keccak256":"0x6eadd7d37d010ad736e5b9fd25bd2083e430757d72b5873357cd7ee41d7fc21a","urls":["bzz-raw://add326fecd1aac73bf91e634a9b11ab9a19b99a73616e44d5c79261bfbfb3a7c","dweb:/ipfs/QmTF7WYUpSTF6EPWtB6CW9BPJAjWeZDtNjWGME4VHrarZd"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/interfaces/IAllo.sol":{"keccak256":"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce","urls":["bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7","dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/interfaces/IRegistry.sol":{"keccak256":"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f","urls":["bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e","dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA"],"license":"MIT"},"lib/allo-v2/contracts/core/interfaces/IStrategy.sol":{"keccak256":"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23","urls":["bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487","dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Clone.sol":{"keccak256":"0xc348b24b7d8a98c4faa5f2aa37ce9264a74f81dbdef1a9bae2eaa125585c3c7e","urls":["bzz-raw://1335b3ec59ec7e3d12ea7c90b3aa56f4c26e0d44d342f54412933be9d4f16067","dweb:/ipfs/QmXNFo2wCyq9cpvfgbdHvBUQecThFSEoUnMuZNS6WinDrr"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Errors.sol":{"keccak256":"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15","urls":["bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf","dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Metadata.sol":{"keccak256":"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44","urls":["bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c","dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Native.sol":{"keccak256":"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5","urls":["bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a","dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Transfer.sol":{"keccak256":"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286","urls":["bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11","dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/strategies/BaseStrategy.sol":{"keccak256":"0x3f1382dc6c35d50545e327e7ed6016f2bd752357d446bd698014073f0b812873","urls":["bzz-raw://99500abcd617fa43f6dde49e2c7802821ceaf54a65a8055cbbf2695ecd107974","dweb:/ipfs/QmUktZkWuu3GCMEijY1fqt7NMy7BzpTvEtcmpB1fuoa7zt"],"license":"AGPL-3.0-only"},"lib/allo-v2/lib/solady/src/auth/Ownable.sol":{"keccak256":"0xd916b6ca098f26e08eff367c6fc1853956839d8d1c9d2df715784b6dec99889b","urls":["bzz-raw://7a9d8137ec1f5fb4210fbebeafa002f5b9cab28579445bd8281c56862e63aa30","dweb:/ipfs/QmPLBcT1JkBKa4jK6qNficwZx2uGG4MetPNErJArdX6G61"],"license":"MIT"},"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol":{"keccak256":"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624","urls":["bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298","dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt"],"license":"MIT"},"lib/allo-v2/test/foundry/shared/Accounts.sol":{"keccak256":"0x47c754ab744c6c9894aaff23cfbbe44bc30879a53fbbe8d36b1fee26137f2e3a","urls":["bzz-raw://8e457b7adaf1ea79cc707e8a3e2989855f51ff98ebc1947b3239d7d410d5a07b","dweb:/ipfs/QmSXASZ4u435D29T4UzKuh6kd8vLSrbSSgZzjnnhfwyv1m"],"license":"AGPL-3.0-only"},"lib/forge-std/src/StdCheats.sol":{"keccak256":"0xb72f3519e0bf7d31df5d68557525f4fc55d861c3fb3b0f7793144ef7c94cbeb7","urls":["bzz-raw://f3456d0f78e6f61203fa7871ba2df0d35925f10db3baee14be623ce2a35b84e2","dweb:/ipfs/QmWE6QQSBvJifHMraisBTrf1x4WCwrDoTPLX8UKajTiApc"],"license":"MIT"},"lib/forge-std/src/StdStorage.sol":{"keccak256":"0x651d84d948832f0ef45686417aa68ffb871378fa788a4123dbf37844903c66f3","urls":["bzz-raw://ff20f5ac9de3dc3ba86b1bf1f2723174e82ce3499ad67cb0ccfa7d28baeee678","dweb:/ipfs/QmRZkUFKz7AmF7yk6o317sk822HHhGVPXZQgX8G4LfYfft"],"license":"MIT"},"lib/forge-std/src/Vm.sol":{"keccak256":"0x51fec240abc6dd23e0ee6de7c65106379aef732cad6c4ae5df6b55db886e7456","urls":["bzz-raw://a47d9c0a9876e7f9e411843b994a741d4ac1a87d8459ffc3c56359de691ddc1a","dweb:/ipfs/QmQiFN9b3Y2azrD1RBfAKEuAG3YeJkMzA2DGzgEE9kMeEK"],"license":"MIT OR Apache-2.0"},"lib/forge-std/src/console.sol":{"keccak256":"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba","urls":["bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70","dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec"],"license":"MIT"},"lib/forge-std/src/console2.sol":{"keccak256":"0x954646445d1014c3cd85c7918f5e7adeeca5ee44b68c00bafa237e597a4e35ea","urls":["bzz-raw://516fa3be52da4763147175bfba4be0aa011fadbb0c1afb01f97265bd4cee7973","dweb:/ipfs/QmdixAyMJefx7qePChgdxcBH5MxhmN7vsqPuPLx3CgrVmF"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol":{"keccak256":"0xc8710577334e8d0799ae2b2a731b1924a7bddd64319da9787ddd2dc69bdd1ce5","urls":["bzz-raw://b83b7afa4d2372da3ba5402fb10860a105c35d79812c60dc61007be2afc17618","dweb:/ipfs/QmYX9xPmbNVSKXrepKiUZiG5oL3SdzFp9a4kqspxX1sEUx"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol":{"keccak256":"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa","urls":["bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c","dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol":{"keccak256":"0x359a1ab89b46b9aba7bcad3fb651924baf4893d15153049b9976b0fc9be1358e","urls":["bzz-raw://e89863421b4014b96a4b62be76eb3b9f0a8afe9684664a6f389124c0964bfe5c","dweb:/ipfs/Qmbk7xr1irpDuU1WdxXgxELBXxs61rHhCgod7heVcvFx16"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol":{"keccak256":"0x3d98edeb5d5be8410fca707b73dabe7544d1dd11e35b73dd907c473fe43cc3ae","urls":["bzz-raw://1a3fa9fc3aec149b8ad0dd8895277ab11e9244e9d2b7adc8404b22de974fc964","dweb:/ipfs/QmRggzxs1WjuvGJSAKb2Nw5r7P3VDMefCWKTbkNPKRkv2j"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794","urls":["bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e","dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol":{"keccak256":"0x2025ccf05f6f1f2fd4e078e552836f525a1864e3854ed555047cd732320ab29b","urls":["bzz-raw://d27f4b23c2dee42394aebaf42bf238285230f472dfd3282a39c3f000ec28214f","dweb:/ipfs/QmQa3DnvccwdWJeWrjgXPnFMTWbzWQWR39hVqC7eEwo2PC"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/IERC20Upgradeable.sol":{"keccak256":"0x0e1f0f5f62f67a881cd1a9597acbc0a5e4071f3c2c10449a183b922ae7272e3f","urls":["bzz-raw://c25f742ff154998d19a669e2508c3597b363e123ce9144cd0fcf6521229f401f","dweb:/ipfs/QmQXRuFzStEWqeEPbhQU6cAg9PaSowxJVo4PDKyRod7dco"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol":{"keccak256":"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422","urls":["bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b","dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef","urls":["bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95","dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol":{"keccak256":"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb","urls":["bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a","dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol":{"keccak256":"0xd90d7723512df65ae417adaf0801042940f0dabd60039ceeaffe34aa5b238da1","urls":["bzz-raw://1b13befeb3413749292f9fb229de1c7a509a5ce2c8047d9094fc004ca9d3af89","dweb:/ipfs/QmRzJ2hZSwRtMejHUZAYTPRKgZsnfb112Fno9Jf3EiDfwA"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol":{"keccak256":"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09","urls":["bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758","dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol":{"keccak256":"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e","urls":["bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91","dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol":{"keccak256":"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a","urls":["bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4","dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/access/AccessControl.sol":{"keccak256":"0x0dd6e52cb394d7f5abe5dca2d4908a6be40417914720932de757de34a99ab87f","urls":["bzz-raw://dc117ce50ea746cab6b97ed1a1facee17a715ae0cb95d67b943dacbaf15176fb","dweb:/ipfs/QmYRZ2UGNYwsHwfNu7Wjr8L2j1LBZ1mKv6NvbwgterYMXc"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/access/IAccessControl.sol":{"keccak256":"0x59ce320a585d7e1f163cd70390a0ef2ff9cec832e2aa544293a00692465a7a57","urls":["bzz-raw://bb2c137c343ef0c4c7ce7b18c1d108afdc9d315a04e48307288d2d05adcbde3a","dweb:/ipfs/QmUxhrAQM3MM3FF5j7AtcXLXguWCJBHJ14BRdVtuoQc8Fh"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/access/Ownable.sol":{"keccak256":"0xba43b97fba0d32eb4254f6a5a297b39a19a247082a02d6e69349e071e2946218","urls":["bzz-raw://fc980984badf3984b6303b377711220e067722bbd6a135b24669ff5069ef9f32","dweb:/ipfs/QmPHXMSXj99XjSVM21YsY6aNtLLjLVXDbyN76J5HQYvvrz"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol":{"keccak256":"0x3cbef5ebc24b415252e2f8c0c9254555d30d9f085603b4b80d9b5ed20ab87e90","urls":["bzz-raw://e8fa670c3bdce78e642cc6ae11c4cb38b133499cdce5e1990a9979d424703263","dweb:/ipfs/QmVxeCUk4jL2pXQyhsoNJwyU874wRufS2WvGe8TgPKPqhE"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol":{"keccak256":"0x1d4afe6cb24200cc4545eed814ecf5847277dfe5d613a1707aad5fceecebcfff","urls":["bzz-raw://383fb7b8181016ac5ccf07bc9cdb7c1b5045ea36e2cc4df52bcbf20396fc7688","dweb:/ipfs/QmYJ7Cg4WmE3rR8KGQxjUCXFfTH6TcwZ2Z1f6tPrq7jHFr"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol":{"keccak256":"0xa2b22da3032e50b55f95ec1d13336102d675f341167aa76db571ef7f8bb7975d","urls":["bzz-raw://96b6d77a20bebd4eb06b801d3d020c7e82be13bd535cb0d0a6b7181c51dab5d5","dweb:/ipfs/QmPUR9Cv9jNFdQX6PtBfaBW1ZCnKwiu65R2VD5kbdanDyn"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Upgrade.sol":{"keccak256":"0x3b21ae06bf5957f73fa16754b0669c77b7abd8ba6c072d35c3281d446fdb86c2","urls":["bzz-raw://2db8e18505e86e02526847005d7287a33e397ed7fb9eaba3fd4a4a197add16e2","dweb:/ipfs/QmW9BSuKTzHWHBNSHF4L8XfVuU1uJrP2vLg84YtBd8mL82"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol":{"keccak256":"0xc130fe33f1b2132158531a87734153293f6d07bc263ff4ac90e85da9c82c0e27","urls":["bzz-raw://8831721b6f4cc26534d190f9f1631c3f59c9ff38efdd911f85e0882b8e360472","dweb:/ipfs/QmQZnLErZNStirSQ13ZNWQgvEYUtGE5tXYwn4QUPaVUfPN"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol":{"keccak256":"0xd50a3421ac379ccb1be435fa646d66a65c986b4924f0849839f08692f39dde61","urls":["bzz-raw://ada1e030c0231db8d143b44ce92b4d1158eedb087880cad6d8cc7bd7ebe7b354","dweb:/ipfs/QmWZ2NHZweRpz1U9GF6R1h65ri76dnX7fNxLBeM2t5N5Ce"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x3d6069be9b4c01fb81840fb9c2c4dc58dd6a6a4aafaa2c6837de8699574d84c6","urls":["bzz-raw://720d6bb56ea0c4ef781c0bd65c5bd0541f5a46100163b2587170f97658d2deed","dweb:/ipfs/QmTS2biLVPrv8CeeXCaKmkFxonMiRvc1LxiYBRYDAJHQUS"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol":{"keccak256":"0xc6619957bcc6641fe8984bfaf9ff11a9e4b97d8149c0495f608f9a2416d7c5cf","urls":["bzz-raw://543be67f7fa43b1b932637c1c7f12035f0f4b0f7ee2bd3c33841186f79c165c1","dweb:/ipfs/QmSBPM2UVKbmJqWfD9i6hSiqbaE8TV4TSqfuiivziRRLKM"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/security/ReentrancyGuard.sol":{"keccak256":"0xa535a5df777d44e945dd24aa43a11e44b024140fc340ad0dfe42acf4002aade1","urls":["bzz-raw://41319e7f621f2dc3733511332c4fd032f8e32ad2aa7fd6f665c19741d9941a34","dweb:/ipfs/QmcYR3bd862GD1Bc7jwrU9bGxrhUu5na1oP964bDCu2id1"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol":{"keccak256":"0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c","urls":["bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15","dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305","urls":["bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5","dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol":{"keccak256":"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca","urls":["bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd","dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol":{"keccak256":"0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a","urls":["bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a","dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol":{"keccak256":"0x909d608c2db6eb165ca178c81289a07ed2e118e444d0025b2a85c97d0b44a4fa","urls":["bzz-raw://656cda26512ddd7373c2d5551c8fae759fc30f05b10f0fc2e738e9274199dbd4","dweb:/ipfs/QmTSArSzQRFbQmHgq7U1PZXnsDFhvDZhKVu9CzMG4yo6Lx"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Address.sol":{"keccak256":"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa","urls":["bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931","dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Context.sol":{"keccak256":"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7","urls":["bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92","dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol":{"keccak256":"0xf09e68aa0dc6722a25bc46490e8d48ed864466d17313b8a0b254c36b54e49899","urls":["bzz-raw://e26daf81e2252dc1fe1ce0e4b55c2eb7c6d1ee84ae6558d1a9554432ea1d32da","dweb:/ipfs/Qmb1UANWiWq5pCKbmHSu772hd4nt374dVaghGmwSVNuk8Q"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Strings.sol":{"keccak256":"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0","urls":["bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f","dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol":{"keccak256":"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b","urls":["bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d","dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol":{"keccak256":"0x5a08ad61f4e82b8a3323562661a86fb10b10190848073fdc13d4ac43710ffba5","urls":["bzz-raw://6f7bb74cf88fd88daa34e118bc6e363381d05044f34f391d39a10c0c9dac3ebd","dweb:/ipfs/QmNbQ3v8v4zuDtg7VeLAbdhAm3tCzUodNoDZZ8ekmCHWZX"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/Math.sol":{"keccak256":"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3","urls":["bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c","dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol":{"keccak256":"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc","urls":["bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7","dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/src/strings.sol":{"keccak256":"0x42cad11a7033f2fe05dd68611d2304407a620ac985b91edf29d5868cfe196223","urls":["bzz-raw://3cbc2333234e1f00eab5e57c4bcaf5115661e5e066a17c70af587a0a96f24669","dweb:/ipfs/QmPHvStqcvZL46LW5N2ExTwAaqNhRCcmAX66aR6oE1WDar"],"license":null},"lib/openzeppelin-foundry-upgrades/src/Defender.sol":{"keccak256":"0x2114e4d70d53b36e8cec54ba11ff78d9f38a466ec3504c76c7f26101a7cff37f","urls":["bzz-raw://58f4d9bc58646e7631b263cdb8ef260e6818e9f716036d81d1c18218c9557a23","dweb:/ipfs/QmS18L4R4gPtay9eQBcR28DnwmBkGSWsiCFwm2tXc3BkHL"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/LegacyUpgrades.sol":{"keccak256":"0x8436719f73c76efadaa16cd719d088f698ea3591595dfdf2c15fd66f3e203197","urls":["bzz-raw://ac8d0e55defe124adcc3845348602d6528b00b7dc5f7abf9e1b245d0cea9b55e","dweb:/ipfs/QmaPBoG89Bd2btJZW5kjXx7zXo6KhAdeTuMq5xo431M8xq"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/Options.sol":{"keccak256":"0xa5414683d6b219b28e75ecaab3d00a305dfaf4d970389a88992275c8072ce8ac","urls":["bzz-raw://b1dbfd566ba318f2b740159c28e4511c84c9d76fcc293ae17c9b1a87b3ea16c9","dweb:/ipfs/QmcyxPoeBdzA9iHEgd76xKhaQ8HKfpV4owdSv6127MmveT"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Core.sol":{"keccak256":"0x37073df20d2b5fbb0a873e6b2dd76c23e23455d1c2d2ba57d2f0998201a4251d","urls":["bzz-raw://79d507647ea48d93371341684cf4199d55ed799db9d3489bc016f53990d2ff7c","dweb:/ipfs/QmQWgXiYcPcwNcrkTHb72WtHd4xPcXfRUMfBrhkDHgr2ut"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/DefenderDeploy.sol":{"keccak256":"0x868ffdaf5d185fee103fc4581385392b47c209a5cfd2aec01f0307dbc0101d73","urls":["bzz-raw://76e51bf69a4d0b5d1d9cfa7efa442bdcf9d713966563432ef8fdd00ec959a25e","dweb:/ipfs/QmTHkdvMnqmEvus7zbmHhPkWk3fM9SW2Jq8gnyBLwVJtxG"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Utils.sol":{"keccak256":"0x4de002af810f6a5fe26a6381e0ead3331735bd0059434a22df75e17c177b5f87","urls":["bzz-raw://af32ff07f606e530a53030db141a75af144cfe065a6543939d412018c6159540","dweb:/ipfs/QmbfTB92Zd8VQHW61g9dx1CvGgSL5SCoZDLrvJfnR7Ctio"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Versions.sol":{"keccak256":"0xf1a1441c18a296853509e9b1d18be794ed3de836caea49d6948b5e9ac566e8c6","urls":["bzz-raw://6f3463514235bd875ecacf45f95cac64aa650dd38d05c15fe1f4203b6b5733bd","dweb:/ipfs/Qmcbhmw9NPkG8MqiVsQ4qUupeQFCRgyBDKuoUwohwa8EP3"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IProxyAdmin.sol":{"keccak256":"0xf5e514595089f8959da130507086e7388602a71ce60575d141e7d892dfbddbfc","urls":["bzz-raw://9b41366e2823ccc8cb42304496d761b3df80946d17384634a61afd7139495c91","dweb:/ipfs/QmZE2nRMxax1NPj63ifemKdScGJzKNWi7BCGudjFLsUz1y"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableBeacon.sol":{"keccak256":"0xa8d7bffdd26eb763e459650c83f247b54af79800c2df52ad05878f238fc1c2f8","urls":["bzz-raw://8ed47f1e53e5eb7d48fed60a414755641fca8fa0e713fd503b2597227da78a2f","dweb:/ipfs/QmQr8A5wddHdhQNauFShXxRkPcuVVpVsYpq846WhmFC8Tv"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableProxy.sol":{"keccak256":"0x781b564b90bba0c0e8e12fb66b1c910f42d369db469f2e88592b4cff29de99a5","urls":["bzz-raw://45fcab02a43fde934445b88e905aba3f58a70b75dd6ee6eb86a3d593424aeb03","dweb:/ipfs/QmXmhAgrctaYUDLoTRgUjwD4deoXu1E2QT1kftVGcVa56j"],"license":"MIT"},"pkg/contracts/src/BaseStrategyUpgradeable.sol":{"keccak256":"0xe059f9e1a262a4713e230a6025c3356681bb5f3c8013b87bc579bae93aa66c20","urls":["bzz-raw://37e879664b08005b9544457cf89bce77e38b6a25639566df7366b9e5968c815e","dweb:/ipfs/QmYgNRqZfYUPbWgcHUHghTcpqjVmT9v4HfkfPdEF64fYe5"],"license":"AGPL-3.0-only"},"pkg/contracts/src/CVStrategy.sol":{"keccak256":"0x132bcf17470960e380d841159d9389985d609aaae1c9a657c78902f7871da957","urls":["bzz-raw://84e905bf392579b44f33fff8586431b940e110b2210854cf487321cc92061705","dweb:/ipfs/QmQpvszYu8RbrXmUFLifSodQzV8LAqazk1fzXNARGc5sBT"],"license":"AGPL-3.0-only"},"pkg/contracts/src/CVStrategyV0_0.sol":{"keccak256":"0x79d01b399c8d735923dfa26b8dacba6200a861202dd6fb1c7711241285439d2d","urls":["bzz-raw://e7ea0014e25a729d6d688620658df81a179a8c2380ae0bc4c78668cd486adb04","dweb:/ipfs/QmdPM8JpFXeqBxQgkRzM1inzCT2rkRxnpoSrFk8DauDpNf"],"license":"AGPL-3.0-only"},"pkg/contracts/src/ISybilScorer.sol":{"keccak256":"0x0e25fbb8497ac3c969d80c9032362d45e56c0a45dc9ba3dff6a8a704571f38ea","urls":["bzz-raw://0dff90ebae6e7131a5300fcaf525bc2ab0ae90fcd13f277d7b7b6939eeb8b7eb","dweb:/ipfs/QmYGkYqpUVrBWoNY6f3CtwrrVQFWSvnJfpu68t95f6AkBY"],"license":"MIT"},"pkg/contracts/src/RegistryCommunity.sol":{"keccak256":"0xc735f4d2635149f2db9bff291da56e08c3c312d9eb1b767b8a1e3e51584d5734","urls":["bzz-raw://247b33b78abface6a7e2da38174386de9b543f6a27e8340e26d854bff57184a3","dweb:/ipfs/QmedNdqkqeboGzz9w868uGf7KnXUaYZe6i1YcdUPPkJnnf"],"license":"AGPL-3.0-only"},"pkg/contracts/src/RegistryCommunityV0_0.sol":{"keccak256":"0x6525c857f7baff606e87bbc2878f3606923997a444eb500aa15018c676c972a9","urls":["bzz-raw://89d2af9f470c8d7431ff6b1981b7bf46520f719d68da38ab3ca065496a6297d8","dweb:/ipfs/QmceJHX57HbnBXVfmhtRPmnApUQy5QSWTybgq6g37vCxEN"],"license":"AGPL-3.0-only"},"pkg/contracts/src/RegistryFactory.sol":{"keccak256":"0x888b7f5eb1079f90ccfa0b41d8a970bffd8d4d469f9b31917a58279b358dbda5","urls":["bzz-raw://af25fd783de00adf01d1c7caa572801fed0d474306a43b862535b08e65ec10c6","dweb:/ipfs/Qmeb2nEaMQLV86y1CYAAV2c6BYpBDTbpLuC1SigeNjdqLo"],"license":"AGPL-3.0-only"},"pkg/contracts/src/interfaces/FAllo.sol":{"keccak256":"0x32f38cb4400a07a99ae68a9beb91e5649886487172fd50561da6763464efc437","urls":["bzz-raw://cb4f0cee2f3fbede7be5e8e1d7ee8034086359cd07b9dab49c4a991388e5c458","dweb:/ipfs/QmS26kA8cZ9shWwxcbF17Kes8L7Jgw85EQVydDmwb34mjM"],"license":"AGPL-3.0-only"},"pkg/contracts/src/interfaces/ISafe.sol":{"keccak256":"0x878a210809bb684c42157a10f3f90350a67d0a4863f130499942b06f0f2c9143","urls":["bzz-raw://fa2d71bd427c3415e98a2ee15ff673f3cc61c17f14d7087c5eedc83b55f6b0ef","dweb:/ipfs/QmesVSmJQQzi6ys1cvhQFCJyDXchb736mT5bXks4Yp6Cbj"],"license":"LGPL-3.0-only"},"pkg/contracts/test/CVStrategyHelpersV0_0.sol":{"keccak256":"0xe5f190162fad17403c945d71a1fadc8c63ba33df5e280596e3d9bb2f81050e61","urls":["bzz-raw://601f3d87fc5abee624e09c69cac3f23ae94bc1e0b5f9311c322db60f56afe826","dweb:/ipfs/QmRYsi62SGcKcazYAjZfCFz9EAnXcquVz1YMz5gzit1kvo"],"license":"AGPL-3.0-or-later"}},"version":1},"storageLayout":{"storage":[{"astId":9317,"contract":"pkg/contracts/test/CVStrategyHelpersV0_0.sol:CVStrategyHelpersV0_0","label":"gasMeteringOff","offset":0,"slot":"0","type":"t_bool"},{"astId":11354,"contract":"pkg/contracts/test/CVStrategyHelpersV0_0.sol:CVStrategyHelpersV0_0","label":"stdstore","offset":0,"slot":"1","type":"t_struct(StdStorage)13235_storage"},{"astId":89073,"contract":"pkg/contracts/test/CVStrategyHelpersV0_0.sol:CVStrategyHelpersV0_0","label":"metadata","offset":0,"slot":"9","type":"t_struct(Metadata)3098_storage"},{"astId":89085,"contract":"pkg/contracts/test/CVStrategyHelpersV0_0.sol:CVStrategyHelpersV0_0","label":"_poolProfileId1_","offset":0,"slot":"11","type":"t_bytes32"}],"types":{"t_address":{"encoding":"inplace","label":"address","numberOfBytes":"20"},"t_array(t_bytes32)dyn_storage":{"encoding":"dynamic_array","label":"bytes32[]","numberOfBytes":"32","base":"t_bytes32"},"t_bool":{"encoding":"inplace","label":"bool","numberOfBytes":"1"},"t_bytes32":{"encoding":"inplace","label":"bytes32","numberOfBytes":"32"},"t_bytes4":{"encoding":"inplace","label":"bytes4","numberOfBytes":"4"},"t_bytes_storage":{"encoding":"bytes","label":"bytes","numberOfBytes":"32"},"t_mapping(t_address,t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)13210_storage)))":{"encoding":"mapping","key":"t_address","label":"mapping(address => mapping(bytes4 => mapping(bytes32 => struct FindData)))","numberOfBytes":"32","value":"t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)13210_storage))"},"t_mapping(t_bytes32,t_struct(FindData)13210_storage)":{"encoding":"mapping","key":"t_bytes32","label":"mapping(bytes32 => struct FindData)","numberOfBytes":"32","value":"t_struct(FindData)13210_storage"},"t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)13210_storage))":{"encoding":"mapping","key":"t_bytes4","label":"mapping(bytes4 => mapping(bytes32 => struct FindData))","numberOfBytes":"32","value":"t_mapping(t_bytes32,t_struct(FindData)13210_storage)"},"t_string_storage":{"encoding":"bytes","label":"string","numberOfBytes":"32"},"t_struct(FindData)13210_storage":{"encoding":"inplace","label":"struct FindData","numberOfBytes":"128","members":[{"astId":13203,"contract":"pkg/contracts/test/CVStrategyHelpersV0_0.sol:CVStrategyHelpersV0_0","label":"slot","offset":0,"slot":"0","type":"t_uint256"},{"astId":13205,"contract":"pkg/contracts/test/CVStrategyHelpersV0_0.sol:CVStrategyHelpersV0_0","label":"offsetLeft","offset":0,"slot":"1","type":"t_uint256"},{"astId":13207,"contract":"pkg/contracts/test/CVStrategyHelpersV0_0.sol:CVStrategyHelpersV0_0","label":"offsetRight","offset":0,"slot":"2","type":"t_uint256"},{"astId":13209,"contract":"pkg/contracts/test/CVStrategyHelpersV0_0.sol:CVStrategyHelpersV0_0","label":"found","offset":0,"slot":"3","type":"t_bool"}]},"t_struct(Metadata)3098_storage":{"encoding":"inplace","label":"struct Metadata","numberOfBytes":"64","members":[{"astId":3094,"contract":"pkg/contracts/test/CVStrategyHelpersV0_0.sol:CVStrategyHelpersV0_0","label":"protocol","offset":0,"slot":"0","type":"t_uint256"},{"astId":3097,"contract":"pkg/contracts/test/CVStrategyHelpersV0_0.sol:CVStrategyHelpersV0_0","label":"pointer","offset":0,"slot":"1","type":"t_string_storage"}]},"t_struct(StdStorage)13235_storage":{"encoding":"inplace","label":"struct StdStorage","numberOfBytes":"256","members":[{"astId":13219,"contract":"pkg/contracts/test/CVStrategyHelpersV0_0.sol:CVStrategyHelpersV0_0","label":"finds","offset":0,"slot":"0","type":"t_mapping(t_address,t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)13210_storage)))"},{"astId":13222,"contract":"pkg/contracts/test/CVStrategyHelpersV0_0.sol:CVStrategyHelpersV0_0","label":"_keys","offset":0,"slot":"1","type":"t_array(t_bytes32)dyn_storage"},{"astId":13224,"contract":"pkg/contracts/test/CVStrategyHelpersV0_0.sol:CVStrategyHelpersV0_0","label":"_sig","offset":0,"slot":"2","type":"t_bytes4"},{"astId":13226,"contract":"pkg/contracts/test/CVStrategyHelpersV0_0.sol:CVStrategyHelpersV0_0","label":"_depth","offset":0,"slot":"3","type":"t_uint256"},{"astId":13228,"contract":"pkg/contracts/test/CVStrategyHelpersV0_0.sol:CVStrategyHelpersV0_0","label":"_target","offset":0,"slot":"4","type":"t_address"},{"astId":13230,"contract":"pkg/contracts/test/CVStrategyHelpersV0_0.sol:CVStrategyHelpersV0_0","label":"_set","offset":0,"slot":"5","type":"t_bytes32"},{"astId":13232,"contract":"pkg/contracts/test/CVStrategyHelpersV0_0.sol:CVStrategyHelpersV0_0","label":"_enable_packed_slots","offset":0,"slot":"6","type":"t_bool"},{"astId":13234,"contract":"pkg/contracts/test/CVStrategyHelpersV0_0.sol:CVStrategyHelpersV0_0","label":"_calldata","offset":0,"slot":"7","type":"t_bytes_storage"}]},"t_uint256":{"encoding":"inplace","label":"uint256","numberOfBytes":"32"}}},"ast":{"absolutePath":"pkg/contracts/test/CVStrategyHelpersV0_0.sol","id":89548,"exportedSymbols":{"Accounts":[5026],"Allo":[1390],"CVStrategyHelpersV0_0":[89547],"CVStrategyV0_0":[80578],"IRegistry":[2802],"Metadata":[3098],"Native":[3106],"StrategyStruct":[77752],"console":[29549]},"nodeType":"SourceUnit","src":"46:5897:142","nodes":[{"id":89048,"nodeType":"PragmaDirective","src":"46:24:142","nodes":[],"literals":["solidity","^","0.8",".19"]},{"id":89049,"nodeType":"ImportDirective","src":"72:31:142","nodes":[],"absolutePath":"lib/forge-std/src/console.sol","file":"forge-std/console.sol","nameLocation":"-1:-1:-1","scope":89548,"sourceUnit":29550,"symbolAliases":[],"unitAlias":""},{"id":89051,"nodeType":"ImportDirective","src":"104:53:142","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/Allo.sol","file":"allo-v2-contracts/core/Allo.sol","nameLocation":"-1:-1:-1","scope":89548,"sourceUnit":1391,"symbolAliases":[{"foreign":{"id":89050,"name":"Allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1390,"src":"112:4:142","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":89053,"nodeType":"ImportDirective","src":"158:71:142","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/libraries/Metadata.sol","file":"allo-v2-contracts/core/libraries/Metadata.sol","nameLocation":"-1:-1:-1","scope":89548,"sourceUnit":3099,"symbolAliases":[{"foreign":{"id":89052,"name":"Metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3098,"src":"166:8:142","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":89056,"nodeType":"ImportDirective","src":"301:73:142","nodes":[],"absolutePath":"pkg/contracts/src/CVStrategyV0_0.sol","file":"../src/CVStrategyV0_0.sol","nameLocation":"-1:-1:-1","scope":89548,"sourceUnit":80579,"symbolAliases":[{"foreign":{"id":89054,"name":"CVStrategyV0_0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80578,"src":"309:14:142","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":89055,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77752,"src":"325:14:142","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":89058,"nodeType":"ImportDirective","src":"375:67:142","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/libraries/Native.sol","file":"allo-v2-contracts/core/libraries/Native.sol","nameLocation":"-1:-1:-1","scope":89548,"sourceUnit":3107,"symbolAliases":[{"foreign":{"id":89057,"name":"Native","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3106,"src":"383:6:142","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":89060,"nodeType":"ImportDirective","src":"443:74:142","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/interfaces/IRegistry.sol","file":"allo-v2-contracts/core/interfaces/IRegistry.sol","nameLocation":"-1:-1:-1","scope":89548,"sourceUnit":2803,"symbolAliases":[{"foreign":{"id":89059,"name":"IRegistry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2802,"src":"451:9:142","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":89062,"nodeType":"ImportDirective","src":"519:66:142","nodes":[],"absolutePath":"lib/allo-v2/test/foundry/shared/Accounts.sol","file":"allo-v2-test/foundry/shared/Accounts.sol","nameLocation":"-1:-1:-1","scope":89548,"sourceUnit":5027,"symbolAliases":[{"foreign":{"id":89061,"name":"Accounts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5026,"src":"527:8:142","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":89547,"nodeType":"ContractDefinition","src":"587:5355:142","nodes":[{"id":89073,"nodeType":"VariableDeclaration","src":"644:109:142","nodes":[],"constant":false,"functionSelector":"392f37e9","mutability":"mutable","name":"metadata","nameLocation":"660:8:142","scope":89547,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage","typeString":"struct Metadata"},"typeName":{"id":89068,"nodeType":"UserDefinedTypeName","pathNode":{"id":89067,"name":"Metadata","nameLocations":["644:8:142"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"644:8:142"},"referencedDeclaration":3098,"src":"644:8:142","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"value":{"arguments":[{"hexValue":"31","id":89070,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"691:1:142","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"hexValue":"516d57347a464c464a524e374a3637457a4e6d64433272324d397532694a44686132666a3547656536684a7a5359","id":89071,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"703:48:142","typeDescriptions":{"typeIdentifier":"t_stringliteral_5132d0078161e899617508f56f10fe912a54664090fbe8853f8693be238f8d30","typeString":"literal_string \"QmW4zFLFJRN7J67EzNmdC2r2M9u2iJDha2fj5Gee6hJzSY\""},"value":"QmW4zFLFJRN7J67EzNmdC2r2M9u2iJDha2fj5Gee6hJzSY"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_stringliteral_5132d0078161e899617508f56f10fe912a54664090fbe8853f8693be238f8d30","typeString":"literal_string \"QmW4zFLFJRN7J67EzNmdC2r2M9u2iJDha2fj5Gee6hJzSY\""}],"id":89069,"name":"Metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3098,"src":"671:8:142","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Metadata_$3098_storage_ptr_$","typeString":"type(struct Metadata storage pointer)"}},"id":89072,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["681:8:142","694:7:142"],"names":["protocol","pointer"],"nodeType":"FunctionCall","src":"671:82:142","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}},"visibility":"public"},{"id":89078,"nodeType":"VariableDeclaration","src":"782:43:142","nodes":[],"constant":true,"functionSelector":"2e0f2625","mutability":"constant","name":"DECIMALS","nameLocation":"806:8:142","scope":89547,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":89074,"name":"uint256","nodeType":"ElementaryTypeName","src":"782:7:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"commonType":{"typeIdentifier":"t_rational_1000000000000000000_by_1","typeString":"int_const 1000000000000000000"},"id":89077,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":89075,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"817:2:142","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"3138","id":89076,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"823:2:142","typeDescriptions":{"typeIdentifier":"t_rational_18_by_1","typeString":"int_const 18"},"value":"18"},"src":"817:8:142","typeDescriptions":{"typeIdentifier":"t_rational_1000000000000000000_by_1","typeString":"int_const 1000000000000000000"}},"visibility":"public"},{"id":89083,"nodeType":"VariableDeclaration","src":"831:50:142","nodes":[],"constant":true,"functionSelector":"3f26479e","mutability":"constant","name":"PERCENTAGE_SCALE","nameLocation":"855:16:142","scope":89547,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":89079,"name":"uint256","nodeType":"ElementaryTypeName","src":"831:7:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"commonType":{"typeIdentifier":"t_rational_10000_by_1","typeString":"int_const 10000"},"id":89082,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":89080,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"874:2:142","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"34","id":89081,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"880:1:142","typeDescriptions":{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},"value":"4"},"src":"874:7:142","typeDescriptions":{"typeIdentifier":"t_rational_10000_by_1","typeString":"int_const 10000"}},"visibility":"public"},{"id":89085,"nodeType":"VariableDeclaration","src":"888:33:142","nodes":[],"constant":false,"mutability":"mutable","name":"_poolProfileId1_","nameLocation":"905:16:142","scope":89547,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":89084,"name":"bytes32","nodeType":"ElementaryTypeName","src":"888:7:142","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"id":89090,"nodeType":"VariableDeclaration","src":"928:44:142","nodes":[],"constant":true,"mutability":"constant","name":"TWO_127","nameLocation":"954:7:142","scope":89547,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":89086,"name":"uint256","nodeType":"ElementaryTypeName","src":"928:7:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"commonType":{"typeIdentifier":"t_rational_170141183460469231731687303715884105728_by_1","typeString":"int_const 1701...(31 digits omitted)...5728"},"id":89089,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"32","id":89087,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"964:1:142","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"313237","id":89088,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"969:3:142","typeDescriptions":{"typeIdentifier":"t_rational_127_by_1","typeString":"int_const 127"},"value":"127"},"src":"964:8:142","typeDescriptions":{"typeIdentifier":"t_rational_170141183460469231731687303715884105728_by_1","typeString":"int_const 1701...(31 digits omitted)...5728"}},"visibility":"internal"},{"id":89095,"nodeType":"VariableDeclaration","src":"978:44:142","nodes":[],"constant":true,"mutability":"constant","name":"TWO_128","nameLocation":"1004:7:142","scope":89547,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":89091,"name":"uint256","nodeType":"ElementaryTypeName","src":"978:7:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"commonType":{"typeIdentifier":"t_rational_340282366920938463463374607431768211456_by_1","typeString":"int_const 3402...(31 digits omitted)...1456"},"id":89094,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"32","id":89092,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1014:1:142","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"313238","id":89093,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1019:3:142","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"1014:8:142","typeDescriptions":{"typeIdentifier":"t_rational_340282366920938463463374607431768211456_by_1","typeString":"int_const 3402...(31 digits omitted)...1456"}},"visibility":"internal"},{"id":89100,"nodeType":"VariableDeclaration","src":"1028:37:142","nodes":[],"constant":true,"mutability":"constant","name":"D","nameLocation":"1054:1:142","scope":89547,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":89096,"name":"uint256","nodeType":"ElementaryTypeName","src":"1028:7:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"commonType":{"typeIdentifier":"t_rational_10000000_by_1","typeString":"int_const 10000000"},"id":89099,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":89097,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1058:2:142","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"37","id":89098,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1064:1:142","typeDescriptions":{"typeIdentifier":"t_rational_7_by_1","typeString":"int_const 7"},"value":"7"},"src":"1058:7:142","typeDescriptions":{"typeIdentifier":"t_rational_10000000_by_1","typeString":"int_const 10000000"}},"visibility":"internal"},{"id":89138,"nodeType":"FunctionDefinition","src":"1176:437:142","nodes":[],"body":{"id":89137,"nodeType":"Block","src":"1334:279:142","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":89118,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":89113,"name":"_poolProfileId1_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89085,"src":"1348:16:142","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":89116,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1376:1:142","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":89115,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1368:7:142","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":89114,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1368:7:142","typeDescriptions":{}}},"id":89117,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1368:10:142","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"1348:30:142","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":89134,"nodeType":"IfStatement","src":"1344:230:142","trueBody":{"id":89133,"nodeType":"Block","src":"1380:194:142","statements":[{"expression":{"id":89131,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":89119,"name":"_poolProfileId1_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89085,"src":"1394:16:142","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"32","id":89122,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1453:1:142","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},{"hexValue":"506f6f6c2050726f66696c652031","id":89123,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1456:16:142","typeDescriptions":{"typeIdentifier":"t_stringliteral_cfdb29660678cfa126d648cb1a4f5ce763c1e1204e820590687579a35d4b28f4","typeString":"literal_string \"Pool Profile 1\""},"value":"Pool Profile 1"},{"arguments":[{"hexValue":"31","id":89125,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1494:1:142","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"hexValue":"506f6f6c50726f66696c6531","id":89126,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1506:14:142","typeDescriptions":{"typeIdentifier":"t_stringliteral_f67171f94b553bc18f3436392ab5b1a6c6075d142911addaba07f9932e807028","typeString":"literal_string \"PoolProfile1\""},"value":"PoolProfile1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_stringliteral_f67171f94b553bc18f3436392ab5b1a6c6075d142911addaba07f9932e807028","typeString":"literal_string \"PoolProfile1\""}],"id":89124,"name":"Metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3098,"src":"1474:8:142","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Metadata_$3098_storage_ptr_$","typeString":"type(struct Metadata storage pointer)"}},"id":89127,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["1484:8:142","1497:7:142"],"names":["protocol","pointer"],"nodeType":"FunctionCall","src":"1474:48:142","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}},{"id":89128,"name":"pool_admin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89105,"src":"1524:10:142","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":89129,"name":"pool_managers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89108,"src":"1536:13:142","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},{"typeIdentifier":"t_stringliteral_cfdb29660678cfa126d648cb1a4f5ce763c1e1204e820590687579a35d4b28f4","typeString":"literal_string \"Pool Profile 1\""},{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}],"expression":{"id":89120,"name":"registry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89103,"src":"1413:8:142","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"}},"id":89121,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1422:13:142","memberName":"createProfile","nodeType":"MemberAccess","referencedDeclaration":2742,"src":"1413:22:142","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_string_memory_ptr_$_t_struct$_Metadata_$3098_memory_ptr_$_t_address_$_t_array$_t_address_$dyn_memory_ptr_$returns$_t_bytes32_$","typeString":"function (uint256,string memory,struct Metadata memory,address,address[] memory) external returns (bytes32)"}},"id":89130,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1413:150:142","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"1394:169:142","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":89132,"nodeType":"ExpressionStatement","src":"1394:169:142"}]}},{"expression":{"id":89135,"name":"_poolProfileId1_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89085,"src":"1590:16:142","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":89112,"id":89136,"nodeType":"Return","src":"1583:23:142"}]},"functionSelector":"37d1c404","implemented":true,"kind":"function","modifiers":[],"name":"poolProfile_id1","nameLocation":"1185:15:142","parameters":{"id":89109,"nodeType":"ParameterList","parameters":[{"constant":false,"id":89103,"mutability":"mutable","name":"registry","nameLocation":"1211:8:142","nodeType":"VariableDeclaration","scope":89138,"src":"1201:18:142","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"},"typeName":{"id":89102,"nodeType":"UserDefinedTypeName","pathNode":{"id":89101,"name":"IRegistry","nameLocations":["1201:9:142"],"nodeType":"IdentifierPath","referencedDeclaration":2802,"src":"1201:9:142"},"referencedDeclaration":2802,"src":"1201:9:142","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"}},"visibility":"internal"},{"constant":false,"id":89105,"mutability":"mutable","name":"pool_admin","nameLocation":"1229:10:142","nodeType":"VariableDeclaration","scope":89138,"src":"1221:18:142","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":89104,"name":"address","nodeType":"ElementaryTypeName","src":"1221:7:142","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":89108,"mutability":"mutable","name":"pool_managers","nameLocation":"1258:13:142","nodeType":"VariableDeclaration","scope":89138,"src":"1241:30:142","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":89106,"name":"address","nodeType":"ElementaryTypeName","src":"1241:7:142","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":89107,"nodeType":"ArrayTypeName","src":"1241:9:142","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"1200:72:142"},"returnParameters":{"id":89112,"nodeType":"ParameterList","parameters":[{"constant":false,"id":89111,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":89138,"src":"1321:7:142","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":89110,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1321:7:142","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"1320:9:142"},"scope":89547,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":89218,"nodeType":"FunctionDefinition","src":"1619:1088:142","nodes":[],"body":{"id":89217,"nodeType":"Block","src":"1906:801:142","nodes":[],"statements":[{"expression":{"id":89161,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":89155,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89153,"src":"1967:6:142","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$77751_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":89157,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"1974:5:142","memberName":"decay","nodeType":"MemberAccess","referencedDeclaration":77733,"src":"1967:12:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"302e39393939373939","id":89159,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1996:15:142","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_999979900000000000_by_1","typeString":"int_const 999979900000000000"},"value":"0.9999799"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_999979900000000000_by_1","typeString":"int_const 999979900000000000"}],"id":89158,"name":"_etherToFloat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89392,"src":"1982:13:142","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":89160,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1982:30:142","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1967:45:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":89162,"nodeType":"ExpressionStatement","src":"1967:45:142"},{"expression":{"id":89169,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":89163,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89153,"src":"2111:6:142","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$77751_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":89165,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"2118:8:142","memberName":"maxRatio","nodeType":"MemberAccess","referencedDeclaration":77735,"src":"2111:15:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"302e32","id":89167,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2143:9:142","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_200000000000000000_by_1","typeString":"int_const 200000000000000000"},"value":"0.2"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_200000000000000000_by_1","typeString":"int_const 200000000000000000"}],"id":89166,"name":"_etherToFloat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89392,"src":"2129:13:142","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":89168,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2129:24:142","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2111:42:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":89170,"nodeType":"ExpressionStatement","src":"2111:42:142"},{"expression":{"id":89177,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":89171,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89153,"src":"2182:6:142","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$77751_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":89173,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"2189:6:142","memberName":"weight","nodeType":"MemberAccess","referencedDeclaration":77737,"src":"2182:13:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"302e303031","id":89175,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2212:11:142","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_1000000000000000_by_1","typeString":"int_const 1000000000000000"},"value":"0.001"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1000000000000000_by_1","typeString":"int_const 1000000000000000"}],"id":89174,"name":"_etherToFloat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89392,"src":"2198:13:142","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":89176,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2198:26:142","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2182:42:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":89178,"nodeType":"ExpressionStatement","src":"2182:42:142"},{"expression":{"id":89183,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":89179,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89153,"src":"2321:6:142","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$77751_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":89181,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"2328:17:142","memberName":"registryCommunity","nodeType":"MemberAccess","referencedDeclaration":77731,"src":"2321:24:142","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":89182,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89140,"src":"2348:17:142","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"2321:44:142","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":89184,"nodeType":"ExpressionStatement","src":"2321:44:142"},{"expression":{"id":89189,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":89185,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89153,"src":"2375:6:142","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$77751_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":89187,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"2382:12:142","memberName":"proposalType","nodeType":"MemberAccess","referencedDeclaration":77742,"src":"2375:19:142","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$77671","typeString":"enum StrategyStruct.ProposalType"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":89188,"name":"proposalType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89143,"src":"2397:12:142","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$77671","typeString":"enum StrategyStruct.ProposalType"}},"src":"2375:34:142","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$77671","typeString":"enum StrategyStruct.ProposalType"}},"id":89190,"nodeType":"ExpressionStatement","src":"2375:34:142"},{"expression":{"id":89195,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":89191,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89153,"src":"2419:6:142","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$77751_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":89193,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"2426:11:142","memberName":"pointSystem","nodeType":"MemberAccess","referencedDeclaration":77745,"src":"2419:18:142","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$77676","typeString":"enum StrategyStruct.PointSystem"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":89194,"name":"pointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89146,"src":"2440:11:142","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$77676","typeString":"enum StrategyStruct.PointSystem"}},"src":"2419:32:142","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$77676","typeString":"enum StrategyStruct.PointSystem"}},"id":89196,"nodeType":"ExpressionStatement","src":"2419:32:142"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":89200,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":89197,"name":"pointConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89149,"src":"2466:11:142","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$77729_memory_ptr","typeString":"struct StrategyStruct.PointSystemConfig memory"}},"id":89198,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2478:9:142","memberName":"maxAmount","nodeType":"MemberAccess","referencedDeclaration":77728,"src":"2466:21:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":89199,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2491:1:142","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"2466:26:142","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":89210,"nodeType":"IfStatement","src":"2462:197:142","trueBody":{"id":89209,"nodeType":"Block","src":"2494:165:142","statements":[{"expression":{"id":89207,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":89201,"name":"pointConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89149,"src":"2610:11:142","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$77729_memory_ptr","typeString":"struct StrategyStruct.PointSystemConfig memory"}},"id":89203,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"2622:9:142","memberName":"maxAmount","nodeType":"MemberAccess","referencedDeclaration":77728,"src":"2610:21:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":89206,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"323030","id":89204,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2634:3:142","typeDescriptions":{"typeIdentifier":"t_rational_200_by_1","typeString":"int_const 200"},"value":"200"},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":89205,"name":"DECIMALS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89078,"src":"2640:8:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2634:14:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2610:38:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":89208,"nodeType":"ExpressionStatement","src":"2610:38:142"}]}},{"expression":{"id":89215,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":89211,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89153,"src":"2668:6:142","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$77751_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":89213,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"2675:11:142","memberName":"pointConfig","nodeType":"MemberAccess","referencedDeclaration":77748,"src":"2668:18:142","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$77729_memory_ptr","typeString":"struct StrategyStruct.PointSystemConfig memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":89214,"name":"pointConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89149,"src":"2689:11:142","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$77729_memory_ptr","typeString":"struct StrategyStruct.PointSystemConfig memory"}},"src":"2668:32:142","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$77729_memory_ptr","typeString":"struct StrategyStruct.PointSystemConfig memory"}},"id":89216,"nodeType":"ExpressionStatement","src":"2668:32:142"}]},"functionSelector":"770b2e66","implemented":true,"kind":"function","modifiers":[],"name":"getParams","nameLocation":"1628:9:142","parameters":{"id":89150,"nodeType":"ParameterList","parameters":[{"constant":false,"id":89140,"mutability":"mutable","name":"registryCommunity","nameLocation":"1655:17:142","nodeType":"VariableDeclaration","scope":89218,"src":"1647:25:142","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":89139,"name":"address","nodeType":"ElementaryTypeName","src":"1647:7:142","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":89143,"mutability":"mutable","name":"proposalType","nameLocation":"1710:12:142","nodeType":"VariableDeclaration","scope":89218,"src":"1682:40:142","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$77671","typeString":"enum StrategyStruct.ProposalType"},"typeName":{"id":89142,"nodeType":"UserDefinedTypeName","pathNode":{"id":89141,"name":"StrategyStruct.ProposalType","nameLocations":["1682:14:142","1697:12:142"],"nodeType":"IdentifierPath","referencedDeclaration":77671,"src":"1682:27:142"},"referencedDeclaration":77671,"src":"1682:27:142","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$77671","typeString":"enum StrategyStruct.ProposalType"}},"visibility":"internal"},{"constant":false,"id":89146,"mutability":"mutable","name":"pointSystem","nameLocation":"1759:11:142","nodeType":"VariableDeclaration","scope":89218,"src":"1732:38:142","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$77676","typeString":"enum StrategyStruct.PointSystem"},"typeName":{"id":89145,"nodeType":"UserDefinedTypeName","pathNode":{"id":89144,"name":"StrategyStruct.PointSystem","nameLocations":["1732:14:142","1747:11:142"],"nodeType":"IdentifierPath","referencedDeclaration":77676,"src":"1732:26:142"},"referencedDeclaration":77676,"src":"1732:26:142","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$77676","typeString":"enum StrategyStruct.PointSystem"}},"visibility":"internal"},{"constant":false,"id":89149,"mutability":"mutable","name":"pointConfig","nameLocation":"1820:11:142","nodeType":"VariableDeclaration","scope":89218,"src":"1780:51:142","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$77729_memory_ptr","typeString":"struct StrategyStruct.PointSystemConfig"},"typeName":{"id":89148,"nodeType":"UserDefinedTypeName","pathNode":{"id":89147,"name":"StrategyStruct.PointSystemConfig","nameLocations":["1780:14:142","1795:17:142"],"nodeType":"IdentifierPath","referencedDeclaration":77729,"src":"1780:32:142"},"referencedDeclaration":77729,"src":"1780:32:142","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$77729_storage_ptr","typeString":"struct StrategyStruct.PointSystemConfig"}},"visibility":"internal"}],"src":"1637:200:142"},"returnParameters":{"id":89154,"nodeType":"ParameterList","parameters":[{"constant":false,"id":89153,"mutability":"mutable","name":"params","nameLocation":"1898:6:142","nodeType":"VariableDeclaration","scope":89218,"src":"1859:45:142","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$77751_memory_ptr","typeString":"struct StrategyStruct.InitializeParams"},"typeName":{"id":89152,"nodeType":"UserDefinedTypeName","pathNode":{"id":89151,"name":"StrategyStruct.InitializeParams","nameLocations":["1859:14:142","1874:16:142"],"nodeType":"IdentifierPath","referencedDeclaration":77751,"src":"1859:31:142"},"referencedDeclaration":77751,"src":"1859:31:142","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$77751_storage_ptr","typeString":"struct StrategyStruct.InitializeParams"}},"visibility":"internal"}],"src":"1858:47:142"},"scope":89547,"stateMutability":"pure","virtual":false,"visibility":"public"},{"id":89340,"nodeType":"FunctionDefinition","src":"2713:1446:142","nodes":[],"body":{"id":89339,"nodeType":"Block","src":"3061:1098:142","nodes":[],"statements":[{"assignments":[89248],"declarations":[{"constant":false,"id":89248,"mutability":"mutable","name":"params","nameLocation":"3161:6:142","nodeType":"VariableDeclaration","scope":89339,"src":"3122:45:142","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$77751_memory_ptr","typeString":"struct StrategyStruct.InitializeParams"},"typeName":{"id":89247,"nodeType":"UserDefinedTypeName","pathNode":{"id":89246,"name":"StrategyStruct.InitializeParams","nameLocations":["3122:14:142","3137:16:142"],"nodeType":"IdentifierPath","referencedDeclaration":77751,"src":"3122:31:142"},"referencedDeclaration":77751,"src":"3122:31:142","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$77751_storage_ptr","typeString":"struct StrategyStruct.InitializeParams"}},"visibility":"internal"}],"id":89255,"initialValue":{"arguments":[{"id":89250,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89225,"src":"3192:17:142","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":89251,"name":"proposalType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89233,"src":"3211:12:142","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$77671","typeString":"enum StrategyStruct.ProposalType"}},{"id":89252,"name":"pointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89236,"src":"3225:11:142","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$77676","typeString":"enum StrategyStruct.PointSystem"}},{"id":89253,"name":"pointConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89239,"src":"3238:11:142","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$77729_memory_ptr","typeString":"struct StrategyStruct.PointSystemConfig memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_enum$_ProposalType_$77671","typeString":"enum StrategyStruct.ProposalType"},{"typeIdentifier":"t_enum$_PointSystem_$77676","typeString":"enum StrategyStruct.PointSystem"},{"typeIdentifier":"t_struct$_PointSystemConfig_$77729_memory_ptr","typeString":"struct StrategyStruct.PointSystemConfig memory"}],"id":89249,"name":"getParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89218,"src":"3182:9:142","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$_t_enum$_ProposalType_$77671_$_t_enum$_PointSystem_$77676_$_t_struct$_PointSystemConfig_$77729_memory_ptr_$returns$_t_struct$_InitializeParams_$77751_memory_ptr_$","typeString":"function (address,enum StrategyStruct.ProposalType,enum StrategyStruct.PointSystem,struct StrategyStruct.PointSystemConfig memory) pure returns (struct StrategyStruct.InitializeParams memory)"}},"id":89254,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3182:68:142","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$77751_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"nodeType":"VariableDeclarationStatement","src":"3122:128:142"},{"assignments":[89260],"declarations":[{"constant":false,"id":89260,"mutability":"mutable","name":"_pool_managers","nameLocation":"3278:14:142","nodeType":"VariableDeclaration","scope":89339,"src":"3261:31:142","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":89258,"name":"address","nodeType":"ElementaryTypeName","src":"3261:7:142","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":89259,"nodeType":"ArrayTypeName","src":"3261:9:142","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"id":89266,"initialValue":{"arguments":[{"hexValue":"32","id":89264,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3309:1:142","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"}],"id":89263,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"3295:13:142","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_address_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (address[] memory)"},"typeName":{"baseType":{"id":89261,"name":"address","nodeType":"ElementaryTypeName","src":"3299:7:142","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":89262,"nodeType":"ArrayTypeName","src":"3299:9:142","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}}},"id":89265,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3295:16:142","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"nodeType":"VariableDeclarationStatement","src":"3261:50:142"},{"expression":{"id":89274,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":89267,"name":"_pool_managers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89260,"src":"3321:14:142","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":89269,"indexExpression":{"hexValue":"30","id":89268,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3336:1:142","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3321:17:142","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":89272,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"3349:4:142","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyHelpersV0_0_$89547","typeString":"contract CVStrategyHelpersV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyHelpersV0_0_$89547","typeString":"contract CVStrategyHelpersV0_0"}],"id":89271,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3341:7:142","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":89270,"name":"address","nodeType":"ElementaryTypeName","src":"3341:7:142","typeDescriptions":{}}},"id":89273,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3341:13:142","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3321:33:142","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":89275,"nodeType":"ExpressionStatement","src":"3321:33:142"},{"expression":{"id":89284,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":89276,"name":"_pool_managers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89260,"src":"3364:14:142","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":89278,"indexExpression":{"hexValue":"31","id":89277,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3379:1:142","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3364:17:142","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":89281,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"3392:3:142","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":89282,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3396:6:142","memberName":"sender","nodeType":"MemberAccess","src":"3392:10:142","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":89280,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3384:7:142","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":89279,"name":"address","nodeType":"ElementaryTypeName","src":"3384:7:142","typeDescriptions":{}}},"id":89283,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3384:19:142","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3364:39:142","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":89285,"nodeType":"ExpressionStatement","src":"3364:39:142"},{"assignments":[89287],"declarations":[{"constant":false,"id":89287,"mutability":"mutable","name":"_token","nameLocation":"3661:6:142","nodeType":"VariableDeclaration","scope":89339,"src":"3653:14:142","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":89286,"name":"address","nodeType":"ElementaryTypeName","src":"3653:7:142","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":89289,"initialValue":{"id":89288,"name":"NATIVE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3105,"src":"3670:6:142","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"3653:23:142"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":89295,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":89290,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89230,"src":"3690:5:142","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":89293,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3707:1:142","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":89292,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3699:7:142","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":89291,"name":"address","nodeType":"ElementaryTypeName","src":"3699:7:142","typeDescriptions":{}}},"id":89294,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3699:10:142","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3690:19:142","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":89301,"nodeType":"IfStatement","src":"3686:64:142","trueBody":{"id":89300,"nodeType":"Block","src":"3711:39:142","statements":[{"expression":{"id":89298,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":89296,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89287,"src":"3725:6:142","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":89297,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89230,"src":"3734:5:142","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3725:14:142","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":89299,"nodeType":"ExpressionStatement","src":"3725:14:142"}]}},{"expression":{"id":89324,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":89302,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89242,"src":"3759:6:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":89306,"name":"registry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89228,"src":"3872:8:142","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"}},{"arguments":[],"expression":{"argumentTypes":[],"id":89307,"name":"pool_admin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4753,"src":"3882:10:142","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":89308,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3882:12:142","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":89309,"name":"_pool_managers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89260,"src":"3896:14:142","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}],"id":89305,"name":"poolProfile_id1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89138,"src":"3856:15:142","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IRegistry_$2802_$_t_address_$_t_array$_t_address_$dyn_memory_ptr_$returns$_t_bytes32_$","typeString":"function (contract IRegistry,address,address[] memory) returns (bytes32)"}},"id":89310,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3856:55:142","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"id":89313,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89223,"src":"3933:8:142","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":89312,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3925:7:142","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":89311,"name":"address","nodeType":"ElementaryTypeName","src":"3925:7:142","typeDescriptions":{}}},"id":89314,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3925:17:142","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":89317,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89248,"src":"3967:6:142","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$77751_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_InitializeParams_$77751_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}],"expression":{"id":89315,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3956:3:142","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":89316,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3960:6:142","memberName":"encode","nodeType":"MemberAccess","src":"3956:10:142","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":89318,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3956:18:142","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":89319,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89287,"src":"3988:6:142","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":89320,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4008:1:142","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"id":89321,"name":"metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89073,"src":"4023:8:142","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage","typeString":"struct Metadata storage ref"}},{"id":89322,"name":"_pool_managers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89260,"src":"4045:14:142","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_struct$_Metadata_$3098_storage","typeString":"struct Metadata storage ref"},{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}],"expression":{"id":89303,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89221,"src":"3768:4:142","typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"id":89304,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3773:28:142","memberName":"createPoolWithCustomStrategy","nodeType":"MemberAccess","referencedDeclaration":175,"src":"3768:33:142","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_bytes32_$_t_address_$_t_bytes_memory_ptr_$_t_address_$_t_uint256_$_t_struct$_Metadata_$3098_memory_ptr_$_t_array$_t_address_$dyn_memory_ptr_$returns$_t_uint256_$","typeString":"function (bytes32,address,bytes memory,address,uint256,struct Metadata memory,address[] memory) payable external returns (uint256)"}},"id":89323,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3768:301:142","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3759:310:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":89325,"nodeType":"ExpressionStatement","src":"3759:310:142"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_enum$_ProposalType_$77671","typeString":"enum StrategyStruct.ProposalType"},"id":89336,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[{"arguments":[{"id":89330,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89223,"src":"4110:8:142","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":89329,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4102:8:142","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":89328,"name":"address","nodeType":"ElementaryTypeName","src":"4102:8:142","stateMutability":"payable","typeDescriptions":{}}},"id":89331,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4102:17:142","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":89327,"name":"CVStrategyV0_0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80578,"src":"4087:14:142","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategyV0_0_$80578_$","typeString":"type(contract CVStrategyV0_0)"}},"id":89332,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4087:33:142","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$80578","typeString":"contract CVStrategyV0_0"}},"id":89333,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4121:12:142","memberName":"proposalType","nodeType":"MemberAccess","referencedDeclaration":77952,"src":"4087:46:142","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_enum$_ProposalType_$77671_$","typeString":"function () view external returns (enum StrategyStruct.ProposalType)"}},"id":89334,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4087:48:142","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$77671","typeString":"enum StrategyStruct.ProposalType"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":89335,"name":"proposalType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89233,"src":"4139:12:142","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$77671","typeString":"enum StrategyStruct.ProposalType"}},"src":"4087:64:142","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":89326,"name":"assert","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-3,"src":"4080:6:142","typeDescriptions":{"typeIdentifier":"t_function_assert_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":89337,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4080:72:142","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":89338,"nodeType":"ExpressionStatement","src":"4080:72:142"}]},"functionSelector":"ed62303a","implemented":true,"kind":"function","modifiers":[],"name":"createPool","nameLocation":"2722:10:142","parameters":{"id":89240,"nodeType":"ParameterList","parameters":[{"constant":false,"id":89221,"mutability":"mutable","name":"allo","nameLocation":"2747:4:142","nodeType":"VariableDeclaration","scope":89340,"src":"2742:9:142","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"},"typeName":{"id":89220,"nodeType":"UserDefinedTypeName","pathNode":{"id":89219,"name":"Allo","nameLocations":["2742:4:142"],"nodeType":"IdentifierPath","referencedDeclaration":1390,"src":"2742:4:142"},"referencedDeclaration":1390,"src":"2742:4:142","typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"visibility":"internal"},{"constant":false,"id":89223,"mutability":"mutable","name":"strategy","nameLocation":"2769:8:142","nodeType":"VariableDeclaration","scope":89340,"src":"2761:16:142","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":89222,"name":"address","nodeType":"ElementaryTypeName","src":"2761:7:142","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":89225,"mutability":"mutable","name":"registryCommunity","nameLocation":"2795:17:142","nodeType":"VariableDeclaration","scope":89340,"src":"2787:25:142","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":89224,"name":"address","nodeType":"ElementaryTypeName","src":"2787:7:142","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":89228,"mutability":"mutable","name":"registry","nameLocation":"2832:8:142","nodeType":"VariableDeclaration","scope":89340,"src":"2822:18:142","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"},"typeName":{"id":89227,"nodeType":"UserDefinedTypeName","pathNode":{"id":89226,"name":"IRegistry","nameLocations":["2822:9:142"],"nodeType":"IdentifierPath","referencedDeclaration":2802,"src":"2822:9:142"},"referencedDeclaration":2802,"src":"2822:9:142","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"}},"visibility":"internal"},{"constant":false,"id":89230,"mutability":"mutable","name":"token","nameLocation":"2858:5:142","nodeType":"VariableDeclaration","scope":89340,"src":"2850:13:142","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":89229,"name":"address","nodeType":"ElementaryTypeName","src":"2850:7:142","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":89233,"mutability":"mutable","name":"proposalType","nameLocation":"2901:12:142","nodeType":"VariableDeclaration","scope":89340,"src":"2873:40:142","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$77671","typeString":"enum StrategyStruct.ProposalType"},"typeName":{"id":89232,"nodeType":"UserDefinedTypeName","pathNode":{"id":89231,"name":"StrategyStruct.ProposalType","nameLocations":["2873:14:142","2888:12:142"],"nodeType":"IdentifierPath","referencedDeclaration":77671,"src":"2873:27:142"},"referencedDeclaration":77671,"src":"2873:27:142","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$77671","typeString":"enum StrategyStruct.ProposalType"}},"visibility":"internal"},{"constant":false,"id":89236,"mutability":"mutable","name":"pointSystem","nameLocation":"2950:11:142","nodeType":"VariableDeclaration","scope":89340,"src":"2923:38:142","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$77676","typeString":"enum StrategyStruct.PointSystem"},"typeName":{"id":89235,"nodeType":"UserDefinedTypeName","pathNode":{"id":89234,"name":"StrategyStruct.PointSystem","nameLocations":["2923:14:142","2938:11:142"],"nodeType":"IdentifierPath","referencedDeclaration":77676,"src":"2923:26:142"},"referencedDeclaration":77676,"src":"2923:26:142","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$77676","typeString":"enum StrategyStruct.PointSystem"}},"visibility":"internal"},{"constant":false,"id":89239,"mutability":"mutable","name":"pointConfig","nameLocation":"3011:11:142","nodeType":"VariableDeclaration","scope":89340,"src":"2971:51:142","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$77729_memory_ptr","typeString":"struct StrategyStruct.PointSystemConfig"},"typeName":{"id":89238,"nodeType":"UserDefinedTypeName","pathNode":{"id":89237,"name":"StrategyStruct.PointSystemConfig","nameLocations":["2971:14:142","2986:17:142"],"nodeType":"IdentifierPath","referencedDeclaration":77729,"src":"2971:32:142"},"referencedDeclaration":77729,"src":"2971:32:142","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$77729_storage_ptr","typeString":"struct StrategyStruct.PointSystemConfig"}},"visibility":"internal"}],"src":"2732:296:142"},"returnParameters":{"id":89243,"nodeType":"ParameterList","parameters":[{"constant":false,"id":89242,"mutability":"mutable","name":"poolId","nameLocation":"3053:6:142","nodeType":"VariableDeclaration","scope":89340,"src":"3045:14:142","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":89241,"name":"uint256","nodeType":"ElementaryTypeName","src":"3045:7:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3044:16:142"},"scope":89547,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":89378,"nodeType":"FunctionDefinition","src":"4165:543:142","nodes":[],"body":{"id":89377,"nodeType":"Block","src":"4452:256:142","nodes":[],"statements":[{"expression":{"arguments":[{"id":89364,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89343,"src":"4493:4:142","typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},{"id":89365,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89345,"src":"4511:8:142","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":89366,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89347,"src":"4533:17:142","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":89367,"name":"registry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89350,"src":"4564:8:142","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"}},{"id":89368,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89352,"src":"4586:5:142","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":89369,"name":"proposalType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89355,"src":"4605:12:142","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$77671","typeString":"enum StrategyStruct.ProposalType"}},{"id":89370,"name":"pointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89358,"src":"4631:11:142","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$77676","typeString":"enum StrategyStruct.PointSystem"}},{"arguments":[{"hexValue":"30","id":89373,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4689:1:142","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"expression":{"id":89371,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77752,"src":"4656:14:142","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$77752_$","typeString":"type(library StrategyStruct)"}},"id":89372,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4671:17:142","memberName":"PointSystemConfig","nodeType":"MemberAccess","referencedDeclaration":77729,"src":"4656:32:142","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_PointSystemConfig_$77729_storage_ptr_$","typeString":"type(struct StrategyStruct.PointSystemConfig storage pointer)"}},"id":89374,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4656:35:142","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$77729_memory_ptr","typeString":"struct StrategyStruct.PointSystemConfig memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_enum$_ProposalType_$77671","typeString":"enum StrategyStruct.ProposalType"},{"typeIdentifier":"t_enum$_PointSystem_$77676","typeString":"enum StrategyStruct.PointSystem"},{"typeIdentifier":"t_struct$_PointSystemConfig_$77729_memory_ptr","typeString":"struct StrategyStruct.PointSystemConfig memory"}],"id":89363,"name":"createPool","nodeType":"Identifier","overloadedDeclarations":[89340,89378],"referencedDeclaration":89340,"src":"4469:10:142","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_Allo_$1390_$_t_address_$_t_address_$_t_contract$_IRegistry_$2802_$_t_address_$_t_enum$_ProposalType_$77671_$_t_enum$_PointSystem_$77676_$_t_struct$_PointSystemConfig_$77729_memory_ptr_$returns$_t_uint256_$","typeString":"function (contract Allo,address,address,contract IRegistry,address,enum StrategyStruct.ProposalType,enum StrategyStruct.PointSystem,struct StrategyStruct.PointSystemConfig memory) returns (uint256)"}},"id":89375,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4469:232:142","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":89362,"id":89376,"nodeType":"Return","src":"4462:239:142"}]},"functionSelector":"d8c12dc2","implemented":true,"kind":"function","modifiers":[],"name":"createPool","nameLocation":"4174:10:142","parameters":{"id":89359,"nodeType":"ParameterList","parameters":[{"constant":false,"id":89343,"mutability":"mutable","name":"allo","nameLocation":"4199:4:142","nodeType":"VariableDeclaration","scope":89378,"src":"4194:9:142","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"},"typeName":{"id":89342,"nodeType":"UserDefinedTypeName","pathNode":{"id":89341,"name":"Allo","nameLocations":["4194:4:142"],"nodeType":"IdentifierPath","referencedDeclaration":1390,"src":"4194:4:142"},"referencedDeclaration":1390,"src":"4194:4:142","typeDescriptions":{"typeIdentifier":"t_contract$_Allo_$1390","typeString":"contract Allo"}},"visibility":"internal"},{"constant":false,"id":89345,"mutability":"mutable","name":"strategy","nameLocation":"4221:8:142","nodeType":"VariableDeclaration","scope":89378,"src":"4213:16:142","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":89344,"name":"address","nodeType":"ElementaryTypeName","src":"4213:7:142","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":89347,"mutability":"mutable","name":"registryCommunity","nameLocation":"4247:17:142","nodeType":"VariableDeclaration","scope":89378,"src":"4239:25:142","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":89346,"name":"address","nodeType":"ElementaryTypeName","src":"4239:7:142","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":89350,"mutability":"mutable","name":"registry","nameLocation":"4284:8:142","nodeType":"VariableDeclaration","scope":89378,"src":"4274:18:142","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"},"typeName":{"id":89349,"nodeType":"UserDefinedTypeName","pathNode":{"id":89348,"name":"IRegistry","nameLocations":["4274:9:142"],"nodeType":"IdentifierPath","referencedDeclaration":2802,"src":"4274:9:142"},"referencedDeclaration":2802,"src":"4274:9:142","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"}},"visibility":"internal"},{"constant":false,"id":89352,"mutability":"mutable","name":"token","nameLocation":"4310:5:142","nodeType":"VariableDeclaration","scope":89378,"src":"4302:13:142","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":89351,"name":"address","nodeType":"ElementaryTypeName","src":"4302:7:142","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":89355,"mutability":"mutable","name":"proposalType","nameLocation":"4353:12:142","nodeType":"VariableDeclaration","scope":89378,"src":"4325:40:142","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$77671","typeString":"enum StrategyStruct.ProposalType"},"typeName":{"id":89354,"nodeType":"UserDefinedTypeName","pathNode":{"id":89353,"name":"StrategyStruct.ProposalType","nameLocations":["4325:14:142","4340:12:142"],"nodeType":"IdentifierPath","referencedDeclaration":77671,"src":"4325:27:142"},"referencedDeclaration":77671,"src":"4325:27:142","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$77671","typeString":"enum StrategyStruct.ProposalType"}},"visibility":"internal"},{"constant":false,"id":89358,"mutability":"mutable","name":"pointSystem","nameLocation":"4402:11:142","nodeType":"VariableDeclaration","scope":89378,"src":"4375:38:142","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$77676","typeString":"enum StrategyStruct.PointSystem"},"typeName":{"id":89357,"nodeType":"UserDefinedTypeName","pathNode":{"id":89356,"name":"StrategyStruct.PointSystem","nameLocations":["4375:14:142","4390:11:142"],"nodeType":"IdentifierPath","referencedDeclaration":77676,"src":"4375:26:142"},"referencedDeclaration":77676,"src":"4375:26:142","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$77676","typeString":"enum StrategyStruct.PointSystem"}},"visibility":"internal"}],"src":"4184:235:142"},"returnParameters":{"id":89362,"nodeType":"ParameterList","parameters":[{"constant":false,"id":89361,"mutability":"mutable","name":"poolId","nameLocation":"4444:6:142","nodeType":"VariableDeclaration","scope":89378,"src":"4436:14:142","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":89360,"name":"uint256","nodeType":"ElementaryTypeName","src":"4436:7:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4435:16:142"},"scope":89547,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":89392,"nodeType":"FunctionDefinition","src":"4714:114:142","nodes":[],"body":{"id":89391,"nodeType":"Block","src":"4786:42:142","nodes":[],"statements":[{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":89389,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":89385,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89380,"src":"4803:7:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"commonType":{"typeIdentifier":"t_rational_100000000000_by_1","typeString":"int_const 100000000000"},"id":89388,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":89386,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4813:2:142","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"3131","id":89387,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4819:2:142","typeDescriptions":{"typeIdentifier":"t_rational_11_by_1","typeString":"int_const 11"},"value":"11"},"src":"4813:8:142","typeDescriptions":{"typeIdentifier":"t_rational_100000000000_by_1","typeString":"int_const 100000000000"}},"src":"4803:18:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":89384,"id":89390,"nodeType":"Return","src":"4796:25:142"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_etherToFloat","nameLocation":"4723:13:142","parameters":{"id":89381,"nodeType":"ParameterList","parameters":[{"constant":false,"id":89380,"mutability":"mutable","name":"_amount","nameLocation":"4745:7:142","nodeType":"VariableDeclaration","scope":89392,"src":"4737:15:142","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":89379,"name":"uint256","nodeType":"ElementaryTypeName","src":"4737:7:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4736:17:142"},"returnParameters":{"id":89384,"nodeType":"ParameterList","parameters":[{"constant":false,"id":89383,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":89392,"src":"4777:7:142","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":89382,"name":"uint256","nodeType":"ElementaryTypeName","src":"4777:7:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4776:9:142"},"scope":89547,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":89426,"nodeType":"FunctionDefinition","src":"4834:269:142","nodes":[],"body":{"id":89425,"nodeType":"Block","src":"4912:191:142","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":89404,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":89402,"name":"_a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89394,"src":"4930:2:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"id":89403,"name":"TWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89095,"src":"4936:7:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4930:13:142","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5f612073686f756c64206265206c657373207468616e206f7220657175616c20746f20325e313238","id":89405,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4945:42:142","typeDescriptions":{"typeIdentifier":"t_stringliteral_44e2d05298e19dba9341288d7967f4ffbb5a083f725e2470963d4d2d80484153","typeString":"literal_string \"_a should be less than or equal to 2^128\""},"value":"_a should be less than or equal to 2^128"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_44e2d05298e19dba9341288d7967f4ffbb5a083f725e2470963d4d2d80484153","typeString":"literal_string \"_a should be less than or equal to 2^128\""}],"id":89401,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"4922:7:142","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":89406,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4922:66:142","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":89407,"nodeType":"ExpressionStatement","src":"4922:66:142"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":89411,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":89409,"name":"_b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89396,"src":"5006:2:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":89410,"name":"TWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89095,"src":"5011:7:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5006:12:142","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5f622073686f756c64206265206c657373207468616e20325e313238","id":89412,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5020:30:142","typeDescriptions":{"typeIdentifier":"t_stringliteral_94029ed39d36fd1673853e0d61636cb1f54d05801d9baceb39b21e0f4420d664","typeString":"literal_string \"_b should be less than 2^128\""},"value":"_b should be less than 2^128"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_94029ed39d36fd1673853e0d61636cb1f54d05801d9baceb39b21e0f4420d664","typeString":"literal_string \"_b should be less than 2^128\""}],"id":89408,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"4998:7:142","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":89413,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4998:53:142","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":89414,"nodeType":"ExpressionStatement","src":"4998:53:142"},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":89423,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":89420,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":89417,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":89415,"name":"_a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89394,"src":"5070:2:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":89416,"name":"_b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89396,"src":"5075:2:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5070:7:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":89418,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"5069:9:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":89419,"name":"TWO_127","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89090,"src":"5081:7:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5069:19:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":89421,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"5068:21:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"313238","id":89422,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5093:3:142","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"5068:28:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":89400,"id":89424,"nodeType":"Return","src":"5061:35:142"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_mul","nameLocation":"4843:4:142","parameters":{"id":89397,"nodeType":"ParameterList","parameters":[{"constant":false,"id":89394,"mutability":"mutable","name":"_a","nameLocation":"4856:2:142","nodeType":"VariableDeclaration","scope":89426,"src":"4848:10:142","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":89393,"name":"uint256","nodeType":"ElementaryTypeName","src":"4848:7:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":89396,"mutability":"mutable","name":"_b","nameLocation":"4868:2:142","nodeType":"VariableDeclaration","scope":89426,"src":"4860:10:142","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":89395,"name":"uint256","nodeType":"ElementaryTypeName","src":"4860:7:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4847:24:142"},"returnParameters":{"id":89400,"nodeType":"ParameterList","parameters":[{"constant":false,"id":89399,"mutability":"mutable","name":"_result","nameLocation":"4903:7:142","nodeType":"VariableDeclaration","scope":89426,"src":"4895:15:142","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":89398,"name":"uint256","nodeType":"ElementaryTypeName","src":"4895:7:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4894:17:142"},"scope":89547,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":89490,"nodeType":"FunctionDefinition","src":"5109:447:142","nodes":[],"body":{"id":89489,"nodeType":"Block","src":"5187:369:142","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":89438,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":89436,"name":"_a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89428,"src":"5205:2:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":89437,"name":"TWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89095,"src":"5210:7:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5205:12:142","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5f612073686f756c64206265206c657373207468616e20325e313238","id":89439,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5219:30:142","typeDescriptions":{"typeIdentifier":"t_stringliteral_8cb59667c527f8a0ca0170161b6ece5e9864e8aa2d080a486f0167056517515f","typeString":"literal_string \"_a should be less than 2^128\""},"value":"_a should be less than 2^128"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_8cb59667c527f8a0ca0170161b6ece5e9864e8aa2d080a486f0167056517515f","typeString":"literal_string \"_a should be less than 2^128\""}],"id":89435,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"5197:7:142","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":89440,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5197:53:142","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":89441,"nodeType":"ExpressionStatement","src":"5197:53:142"},{"assignments":[89443],"declarations":[{"constant":false,"id":89443,"mutability":"mutable","name":"a","nameLocation":"5268:1:142","nodeType":"VariableDeclaration","scope":89489,"src":"5260:9:142","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":89442,"name":"uint256","nodeType":"ElementaryTypeName","src":"5260:7:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":89445,"initialValue":{"id":89444,"name":"_a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89428,"src":"5272:2:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"5260:14:142"},{"assignments":[89447],"declarations":[{"constant":false,"id":89447,"mutability":"mutable","name":"b","nameLocation":"5292:1:142","nodeType":"VariableDeclaration","scope":89489,"src":"5284:9:142","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":89446,"name":"uint256","nodeType":"ElementaryTypeName","src":"5284:7:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":89449,"initialValue":{"id":89448,"name":"_b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89430,"src":"5296:2:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"5284:14:142"},{"expression":{"id":89452,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":89450,"name":"_result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89433,"src":"5308:7:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":89451,"name":"TWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89095,"src":"5318:7:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5308:17:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":89453,"nodeType":"ExpressionStatement","src":"5308:17:142"},{"body":{"id":89487,"nodeType":"Block","src":"5349:201:142","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":89461,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":89459,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":89457,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89447,"src":"5367:1:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"hexValue":"31","id":89458,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5371:1:142","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"5367:5:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":89460,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5376:1:142","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"5367:10:142","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":89485,"nodeType":"Block","src":"5457:83:142","statements":[{"expression":{"id":89479,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":89474,"name":"_result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89433,"src":"5475:7:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":89476,"name":"_result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89433,"src":"5490:7:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":89477,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89443,"src":"5499:1:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":89475,"name":"_mul","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89426,"src":"5485:4:142","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":89478,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5485:16:142","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5475:26:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":89480,"nodeType":"ExpressionStatement","src":"5475:26:142"},{"expression":{"id":89483,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":89481,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89447,"src":"5519:1:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"hexValue":"31","id":89482,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5524:1:142","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"5519:6:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":89484,"nodeType":"ExpressionStatement","src":"5519:6:142"}]},"id":89486,"nodeType":"IfStatement","src":"5363:177:142","trueBody":{"id":89473,"nodeType":"Block","src":"5379:72:142","statements":[{"expression":{"id":89467,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":89462,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89443,"src":"5397:1:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":89464,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89443,"src":"5406:1:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":89465,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89443,"src":"5409:1:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":89463,"name":"_mul","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89426,"src":"5401:4:142","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":89466,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5401:10:142","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5397:14:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":89468,"nodeType":"ExpressionStatement","src":"5397:14:142"},{"expression":{"id":89471,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":89469,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89447,"src":"5429:1:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":">>=","rightHandSide":{"hexValue":"31","id":89470,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5435:1:142","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"5429:7:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":89472,"nodeType":"ExpressionStatement","src":"5429:7:142"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":89456,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":89454,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89447,"src":"5342:1:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":89455,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5346:1:142","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"5342:5:142","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":89488,"nodeType":"WhileStatement","src":"5335:215:142"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_pow","nameLocation":"5118:4:142","parameters":{"id":89431,"nodeType":"ParameterList","parameters":[{"constant":false,"id":89428,"mutability":"mutable","name":"_a","nameLocation":"5131:2:142","nodeType":"VariableDeclaration","scope":89490,"src":"5123:10:142","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":89427,"name":"uint256","nodeType":"ElementaryTypeName","src":"5123:7:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":89430,"mutability":"mutable","name":"_b","nameLocation":"5143:2:142","nodeType":"VariableDeclaration","scope":89490,"src":"5135:10:142","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":89429,"name":"uint256","nodeType":"ElementaryTypeName","src":"5135:7:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5122:24:142"},"returnParameters":{"id":89434,"nodeType":"ParameterList","parameters":[{"constant":false,"id":89433,"mutability":"mutable","name":"_result","nameLocation":"5178:7:142","nodeType":"VariableDeclaration","scope":89490,"src":"5170:15:142","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":89432,"name":"uint256","nodeType":"ElementaryTypeName","src":"5170:7:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5169:17:142"},"scope":89547,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":89546,"nodeType":"FunctionDefinition","src":"5562:378:142","nodes":[],"body":{"id":89545,"nodeType":"Block","src":"5725:215:142","nodes":[],"statements":[{"assignments":[89504],"declarations":[{"constant":false,"id":89504,"mutability":"mutable","name":"t","nameLocation":"5743:1:142","nodeType":"VariableDeclaration","scope":89545,"src":"5735:9:142","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":89503,"name":"uint256","nodeType":"ElementaryTypeName","src":"5735:7:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":89506,"initialValue":{"id":89505,"name":"_timePassed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89492,"src":"5747:11:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"5735:23:142"},{"assignments":[89508],"declarations":[{"constant":false,"id":89508,"mutability":"mutable","name":"atTWO_128","nameLocation":"5776:9:142","nodeType":"VariableDeclaration","scope":89545,"src":"5768:17:142","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":89507,"name":"uint256","nodeType":"ElementaryTypeName","src":"5768:7:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":89518,"initialValue":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":89515,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":89512,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":89510,"name":"decay","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89498,"src":"5794:5:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"313238","id":89511,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5803:3:142","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"5794:12:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":89513,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"5793:14:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":89514,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89100,"src":"5810:1:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5793:18:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":89516,"name":"t","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89504,"src":"5813:1:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":89509,"name":"_pow","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89490,"src":"5788:4:142","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":89517,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5788:27:142","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"5768:47:142"},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":89543,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":89540,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":89537,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":89521,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":89519,"name":"atTWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89508,"src":"5835:9:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":89520,"name":"_lastConv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89494,"src":"5847:9:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5835:21:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":89522,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"5834:23:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":89535,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":89530,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":89525,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":89523,"name":"_oldAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89496,"src":"5861:10:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":89524,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89100,"src":"5874:1:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5861:14:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":89528,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":89526,"name":"TWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89095,"src":"5879:7:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":89527,"name":"atTWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89508,"src":"5889:9:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5879:19:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":89529,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"5878:21:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5861:38:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":89533,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":89531,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89100,"src":"5903:1:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":89532,"name":"decay","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89498,"src":"5907:5:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5903:9:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":89534,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"5902:11:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5861:52:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":89536,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"5860:54:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5834:80:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":89538,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"5833:82:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":89539,"name":"TWO_127","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89090,"src":"5918:7:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5833:92:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":89541,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"5832:94:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"313238","id":89542,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5930:3:142","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"5832:101:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":89502,"id":89544,"nodeType":"Return","src":"5825:108:142"}]},"functionSelector":"e99ce911","implemented":true,"kind":"function","modifiers":[],"name":"_calculateConviction","nameLocation":"5571:20:142","parameters":{"id":89499,"nodeType":"ParameterList","parameters":[{"constant":false,"id":89492,"mutability":"mutable","name":"_timePassed","nameLocation":"5600:11:142","nodeType":"VariableDeclaration","scope":89546,"src":"5592:19:142","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":89491,"name":"uint256","nodeType":"ElementaryTypeName","src":"5592:7:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":89494,"mutability":"mutable","name":"_lastConv","nameLocation":"5621:9:142","nodeType":"VariableDeclaration","scope":89546,"src":"5613:17:142","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":89493,"name":"uint256","nodeType":"ElementaryTypeName","src":"5613:7:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":89496,"mutability":"mutable","name":"_oldAmount","nameLocation":"5640:10:142","nodeType":"VariableDeclaration","scope":89546,"src":"5632:18:142","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":89495,"name":"uint256","nodeType":"ElementaryTypeName","src":"5632:7:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":89498,"mutability":"mutable","name":"decay","nameLocation":"5660:5:142","nodeType":"VariableDeclaration","scope":89546,"src":"5652:13:142","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":89497,"name":"uint256","nodeType":"ElementaryTypeName","src":"5652:7:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5591:75:142"},"returnParameters":{"id":89502,"nodeType":"ParameterList","parameters":[{"constant":false,"id":89501,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":89546,"src":"5712:7:142","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":89500,"name":"uint256","nodeType":"ElementaryTypeName","src":"5712:7:142","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5711:9:142"},"scope":89547,"stateMutability":"pure","virtual":false,"visibility":"public"}],"abstract":false,"baseContracts":[{"baseName":{"id":89063,"name":"Native","nameLocations":["621:6:142"],"nodeType":"IdentifierPath","referencedDeclaration":3106,"src":"621:6:142"},"id":89064,"nodeType":"InheritanceSpecifier","src":"621:6:142"},{"baseName":{"id":89065,"name":"Accounts","nameLocations":["629:8:142"],"nodeType":"IdentifierPath","referencedDeclaration":5026,"src":"629:8:142"},"id":89066,"nodeType":"InheritanceSpecifier","src":"629:8:142"}],"canonicalName":"CVStrategyHelpersV0_0","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[89547,5026,12138,11345,3106],"name":"CVStrategyHelpersV0_0","nameLocation":"596:21:142","scope":89548,"usedErrors":[]}],"license":"AGPL-3.0-or-later"},"id":142} \ No newline at end of file diff --git a/pkg/contracts/out/CVStrategyV0_0.sol/CVStrategyV0_0.json b/pkg/contracts/out/CVStrategyV0_0.sol/CVStrategyV0_0.json index e32f2ed13..cac956619 100644 --- a/pkg/contracts/out/CVStrategyV0_0.sol/CVStrategyV0_0.json +++ b/pkg/contracts/out/CVStrategyV0_0.sol/CVStrategyV0_0.json @@ -1 +1 @@ -{"abi":[{"type":"fallback","stateMutability":"payable"},{"type":"receive","stateMutability":"payable"},{"type":"function","name":"D","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"MAX_STAKED_PROPOSALS","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"NATIVE","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"_minThresholdPoints","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"activatePoints","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"allocate","inputs":[{"name":"_data","type":"bytes","internalType":"bytes"},{"name":"_sender","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"calculateConviction","inputs":[{"name":"_timePassed","type":"uint256","internalType":"uint256"},{"name":"_lastConv","type":"uint256","internalType":"uint256"},{"name":"_oldAmount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"calculateThreshold","inputs":[{"name":"_requestedAmount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"_threshold","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"canExecuteProposal","inputs":[{"name":"proposalId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"canBeExecuted","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"deactivatePoints","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"deactivatePoints","inputs":[{"name":"_member","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"decay","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"decreasePower","inputs":[{"name":"_member","type":"address","internalType":"address"},{"name":"_amountToUnstake","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"distribute","inputs":[{"name":"_recipientIds","type":"address[]","internalType":"address[]"},{"name":"_data","type":"bytes","internalType":"bytes"},{"name":"_sender","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"getAllo","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IAllo"}],"stateMutability":"view"},{"type":"function","name":"getMaxAmount","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getMaxConviction","inputs":[{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getMetadata","inputs":[{"name":"_proposalId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]}],"stateMutability":"view"},{"type":"function","name":"getPayouts","inputs":[{"name":"","type":"address[]","internalType":"address[]"},{"name":"","type":"bytes[]","internalType":"bytes[]"}],"outputs":[{"name":"","type":"tuple[]","internalType":"struct IStrategy.PayoutSummary[]","components":[{"name":"recipientAddress","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}]}],"stateMutability":"pure"},{"type":"function","name":"getPointSystem","inputs":[],"outputs":[{"name":"","type":"uint8","internalType":"enum StrategyStruct.PointSystem"}],"stateMutability":"view"},{"type":"function","name":"getPoolAmount","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getPoolId","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getProposal","inputs":[{"name":"_proposalId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"submitter","type":"address","internalType":"address"},{"name":"beneficiary","type":"address","internalType":"address"},{"name":"requestedToken","type":"address","internalType":"address"},{"name":"requestedAmount","type":"uint256","internalType":"uint256"},{"name":"stakedAmount","type":"uint256","internalType":"uint256"},{"name":"proposalStatus","type":"uint8","internalType":"enum StrategyStruct.ProposalStatus"},{"name":"blockLast","type":"uint256","internalType":"uint256"},{"name":"convictionLast","type":"uint256","internalType":"uint256"},{"name":"threshold","type":"uint256","internalType":"uint256"},{"name":"voterStakedPoints","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getProposalStakedAmount","inputs":[{"name":"_proposalId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getProposalVoterStake","inputs":[{"name":"_proposalId","type":"uint256","internalType":"uint256"},{"name":"_voter","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getRecipientStatus","inputs":[{"name":"_recipientId","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint8","internalType":"enum IStrategy.Status"}],"stateMutability":"view"},{"type":"function","name":"getStrategyId","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"getTotalVoterStakePct","inputs":[{"name":"_voter","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"increasePoolAmount","inputs":[{"name":"_amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"increasePower","inputs":[{"name":"_member","type":"address","internalType":"address"},{"name":"_amountToStake","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"init","inputs":[{"name":"_allo","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"init","inputs":[{"name":"_allo","type":"address","internalType":"address"},{"name":"_name","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"initialize","inputs":[{"name":"_poolId","type":"uint256","internalType":"uint256"},{"name":"_data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"isPoolActive","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isValidAllocator","inputs":[{"name":"_allocator","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"maxRatio","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"pointConfig","inputs":[],"outputs":[{"name":"maxAmount","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"pointSystem","inputs":[],"outputs":[{"name":"","type":"uint8","internalType":"enum StrategyStruct.PointSystem"}],"stateMutability":"view"},{"type":"function","name":"proposalCounter","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"proposalType","inputs":[],"outputs":[{"name":"","type":"uint8","internalType":"enum StrategyStruct.ProposalType"}],"stateMutability":"view"},{"type":"function","name":"proposals","inputs":[{"name":"","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"proposalId","type":"uint256","internalType":"uint256"},{"name":"requestedAmount","type":"uint256","internalType":"uint256"},{"name":"stakedAmount","type":"uint256","internalType":"uint256"},{"name":"convictionLast","type":"uint256","internalType":"uint256"},{"name":"beneficiary","type":"address","internalType":"address"},{"name":"submitter","type":"address","internalType":"address"},{"name":"requestedToken","type":"address","internalType":"address"},{"name":"blockLast","type":"uint256","internalType":"uint256"},{"name":"proposalStatus","type":"uint8","internalType":"enum StrategyStruct.ProposalStatus"},{"name":"metadata","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]}],"stateMutability":"view"},{"type":"function","name":"proxiableUUID","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"registerRecipient","inputs":[{"name":"_data","type":"bytes","internalType":"bytes"},{"name":"_sender","type":"address","internalType":"address"}],"outputs":[{"name":"recipientId","type":"address","internalType":"address"}],"stateMutability":"payable"},{"type":"function","name":"registryCommunity","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract RegistryCommunityV0_0"}],"stateMutability":"view"},{"type":"function","name":"renounceOwnership","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setDecay","inputs":[{"name":"_decay","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setMaxRatio","inputs":[{"name":"_maxRatio","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setMinThresholdPoints","inputs":[{"name":"minThresholdPoints_","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setPoolActive","inputs":[{"name":"_active","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setRegistryCommunity","inputs":[{"name":"_registryCommunity","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setSybilScorer","inputs":[{"name":"_sybilScorer","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setWeight","inputs":[{"name":"_weight","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"supportProposal","inputs":[{"name":"","type":"tuple[]","internalType":"struct StrategyStruct.ProposalSupport[]","components":[{"name":"proposalId","type":"uint256","internalType":"uint256"},{"name":"deltaSupport","type":"int256","internalType":"int256"}]}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"sybilScorer","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract ISybilScorer"}],"stateMutability":"view"},{"type":"function","name":"totalEffectiveActivePoints","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"totalPointsActivated","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"totalStaked","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"totalVoterStakePct","inputs":[{"name":"","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"transferOwnership","inputs":[{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"updateProposalConviction","inputs":[{"name":"proposalId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"upgradeTo","inputs":[{"name":"newImplementation","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"upgradeToAndCall","inputs":[{"name":"newImplementation","type":"address","internalType":"address"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"voterStakedProposals","inputs":[{"name":"","type":"address","internalType":"address"},{"name":"","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"weight","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"event","name":"AdminChanged","inputs":[{"name":"previousAdmin","type":"address","indexed":false,"internalType":"address"},{"name":"newAdmin","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Allocated","inputs":[{"name":"recipientId","type":"address","indexed":true,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"token","type":"address","indexed":false,"internalType":"address"},{"name":"sender","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"BeaconUpgraded","inputs":[{"name":"beacon","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"DecayUpdated","inputs":[{"name":"decay","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Distributed","inputs":[{"name":"proposalId","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"beneficiary","type":"address","indexed":false,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Distributed","inputs":[{"name":"recipientId","type":"address","indexed":true,"internalType":"address"},{"name":"recipientAddress","type":"address","indexed":false,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"sender","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Initialized","inputs":[{"name":"poolId","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"data","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint8","indexed":false,"internalType":"uint8"}],"anonymous":false},{"type":"event","name":"InitializedCV","inputs":[{"name":"poolId","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"data","type":"tuple","indexed":false,"internalType":"struct StrategyStruct.InitializeParams","components":[{"name":"registryCommunity","type":"address","internalType":"address"},{"name":"decay","type":"uint256","internalType":"uint256"},{"name":"maxRatio","type":"uint256","internalType":"uint256"},{"name":"weight","type":"uint256","internalType":"uint256"},{"name":"minThresholdPoints","type":"uint256","internalType":"uint256"},{"name":"proposalType","type":"uint8","internalType":"enum StrategyStruct.ProposalType"},{"name":"pointSystem","type":"uint8","internalType":"enum StrategyStruct.PointSystem"},{"name":"pointConfig","type":"tuple","internalType":"struct StrategyStruct.PointSystemConfig","components":[{"name":"maxAmount","type":"uint256","internalType":"uint256"}]},{"name":"sybilScorer","type":"address","internalType":"address"}]}],"anonymous":false},{"type":"event","name":"MaxRatioUpdated","inputs":[{"name":"maxRatio","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"MinThresholdPointsUpdated","inputs":[{"name":"before","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"minThresholdPoints","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"previousOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"PointsDeactivated","inputs":[{"name":"member","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"PoolActive","inputs":[{"name":"active","type":"bool","indexed":false,"internalType":"bool"}],"anonymous":false},{"type":"event","name":"PoolAmountIncreased","inputs":[{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"PowerDecreased","inputs":[{"name":"member","type":"address","indexed":false,"internalType":"address"},{"name":"tokensUnStaked","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"pointsToDecrease","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"PowerIncreased","inputs":[{"name":"member","type":"address","indexed":false,"internalType":"address"},{"name":"tokensStaked","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"pointsToIncrease","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"ProposalCreated","inputs":[{"name":"poolId","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"proposalId","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Registered","inputs":[{"name":"recipientId","type":"address","indexed":true,"internalType":"address"},{"name":"data","type":"bytes","indexed":false,"internalType":"bytes"},{"name":"sender","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"RegistryUpdated","inputs":[{"name":"registryCommunity","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"SupportAdded","inputs":[{"name":"from","type":"address","indexed":false,"internalType":"address"},{"name":"proposalId","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"totalStakedAmount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"convictionLast","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Upgraded","inputs":[{"name":"implementation","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"WeightUpdated","inputs":[{"name":"weight","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"error","name":"ALLOCATION_ACTIVE","inputs":[]},{"type":"error","name":"ALLOCATION_NOT_ACTIVE","inputs":[]},{"type":"error","name":"ALLOCATION_NOT_ENDED","inputs":[]},{"type":"error","name":"ALREADY_INITIALIZED","inputs":[]},{"type":"error","name":"AMOUNT_MISMATCH","inputs":[]},{"type":"error","name":"ANCHOR_ERROR","inputs":[]},{"type":"error","name":"ARRAY_MISMATCH","inputs":[]},{"type":"error","name":"AddressCannotBeZero","inputs":[]},{"type":"error","name":"AmountOverMaxRatio","inputs":[]},{"type":"error","name":"CantIncreaseFixedSystem","inputs":[]},{"type":"error","name":"ConvictionUnderMinimumThreshold","inputs":[]},{"type":"error","name":"INVALID","inputs":[]},{"type":"error","name":"INVALID_ADDRESS","inputs":[]},{"type":"error","name":"INVALID_FEE","inputs":[]},{"type":"error","name":"INVALID_METADATA","inputs":[]},{"type":"error","name":"INVALID_REGISTRATION","inputs":[]},{"type":"error","name":"IS_APPROVED_STRATEGY","inputs":[]},{"type":"error","name":"MISMATCH","inputs":[]},{"type":"error","name":"MaxPointsReached","inputs":[]},{"type":"error","name":"NONCE_NOT_AVAILABLE","inputs":[]},{"type":"error","name":"NOT_APPROVED_STRATEGY","inputs":[]},{"type":"error","name":"NOT_ENOUGH_FUNDS","inputs":[]},{"type":"error","name":"NOT_IMPLEMENTED","inputs":[]},{"type":"error","name":"NOT_INITIALIZED","inputs":[]},{"type":"error","name":"NOT_PENDING_OWNER","inputs":[]},{"type":"error","name":"NotEnoughPointsToSupport","inputs":[{"name":"pointsSupport","type":"uint256","internalType":"uint256"},{"name":"pointsBalance","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"NotImplemented","inputs":[]},{"type":"error","name":"OnlyCommunityAllowed","inputs":[]},{"type":"error","name":"OnlyCouncilSafe","inputs":[]},{"type":"error","name":"POOL_ACTIVE","inputs":[]},{"type":"error","name":"POOL_INACTIVE","inputs":[]},{"type":"error","name":"PoolAmountNotEnough","inputs":[{"name":"_proposalId","type":"uint256","internalType":"uint256"},{"name":"_requestedAmount","type":"uint256","internalType":"uint256"},{"name":"_poolAmount","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"PoolIdCannotBeZero","inputs":[]},{"type":"error","name":"PoolIsEmpty","inputs":[]},{"type":"error","name":"ProposalDataIsEmpty","inputs":[]},{"type":"error","name":"ProposalIdCannotBeZero","inputs":[]},{"type":"error","name":"ProposalNotActive","inputs":[{"name":"_proposalId","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"ProposalNotInList","inputs":[{"name":"_proposalId","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"ProposalSupportDuplicated","inputs":[{"name":"_proposalId","type":"uint256","internalType":"uint256"},{"name":"index","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"RECIPIENT_ALREADY_ACCEPTED","inputs":[]},{"type":"error","name":"RECIPIENT_ERROR","inputs":[{"name":"recipientId","type":"address","internalType":"address"}]},{"type":"error","name":"RECIPIENT_NOT_ACCEPTED","inputs":[]},{"type":"error","name":"REGISTRATION_NOT_ACTIVE","inputs":[]},{"type":"error","name":"RegistryCannotBeZero","inputs":[]},{"type":"error","name":"SupportUnderflow","inputs":[{"name":"_support","type":"uint256","internalType":"uint256"},{"name":"_delta","type":"int256","internalType":"int256"},{"name":"_result","type":"int256","internalType":"int256"}]},{"type":"error","name":"TokenCannotBeZero","inputs":[]},{"type":"error","name":"TokenNotAllowed","inputs":[]},{"type":"error","name":"UNAUTHORIZED","inputs":[]},{"type":"error","name":"UserCannotBeZero","inputs":[]},{"type":"error","name":"UserCannotExecuteAction","inputs":[]},{"type":"error","name":"UserIsInactive","inputs":[]},{"type":"error","name":"UserNotInRegistry","inputs":[]},{"type":"error","name":"ZERO_ADDRESS","inputs":[]}],"bytecode":{"object":"0x60a0604052306080526000606d81905560705534801561001e57600080fd5b506080516159136200005760003960008181611231015281816112b6015281816113b70152818161143c015261152201526159136000f3fe6080604052600436106103c75760003560e01c806376365af7116101f2578063b5f620ce11610119578063e0dd2c38116100b2578063ef2920fc11610084578063f321b3051161006c578063f321b30514610b89578063f5b0dfb714610ba9578063fc1711f214610bc957005b8063ef2920fc14610b56578063f2fde38b14610b6957005b8063e0dd2c3814610ac9578063e33add9314610ae9578063eb11af9314610b09578063edd146cc14610b3657005b8063c7f758a8116100eb578063c7f758a814610a39578063d1e3623214610a6f578063dc96ff2d14610a84578063df868ed314610ab457005b8063b5f620ce146109a6578063b6c61f31146109c6578063bcc5b93b146109e6578063c329217114610a1c57005b8063950559d71161018b578063a574cea41161015d578063a574cea414610916578063aba9ffee14610943578063ac1ed7b914610959578063b2b878d01461097957005b8063950559d7146108a1578063a0cf0aea146108c1578063a1aab33f146108e9578063a47ff7e5146108ff57005b8063817b1cd2116101c4578063817b1cd21461082d578063824ea8ed14610843578063868c57b8146108635780638da5cb5b1461088357005b806376365af7146107cc578063782aadff146107e25780637c6570ba14610802578063814516ad1461081857005b8063346db8cb116102ee5780634f1ef286116102875780635db64b99116102595780636453d9c4116102415780636453d9c41461077757806369fa25c414610797578063715018a6146107b757005b80635db64b991461072a5780636003e4141461075757005b80634f1ef286146106cc57806352d1902d146106df57806354fac919146106f457806359a5db8b1461070a57005b8063406244d8116102c0578063406244d81461066d57806342fda9c7146106825780634ab4ba42146106975780634d31d087146106ac57005b8063346db8cb146105f1578063351d9f96146106115780633659cfe61461063857806338fff2d01461065857005b806315cc481e116103605780632bbe0cae116103325780632bbe0cae146105725780632cefadbb146105855780632dbd6fdd146105a55780632ed04b2b146105d157005b806315cc481e146104eb57806319ab453c1461051d5780631aa91a9e1461053d5780631ddf1e231461055d57005b80630ba95909116103995780630ba959091461047f5780630c0512e91461049e5780630f529ba2146104b457806311f22ae3146104cb57005b8063013cf08b146103d057806301ffc9a71461040f578063058aca441461043f5780630a6f0ee91461045f57005b366103ce57005b005b3480156103dc57600080fd5b506103f06103eb36600461481d565b610be9565b6040516104069a999897969594939291906148cf565b60405180910390f35b34801561041b57600080fd5b5061042f61042a366004614942565b610cf7565b6040519015158152602001610406565b34801561044b57600080fd5b506103ce61045a366004614999565b610d90565b34801561046b57600080fd5b506103ce61047a366004614ba9565b610df0565b34801561048b57600080fd5b506073545b604051908152602001610406565b3480156104aa57600080fd5b50610490606d5481565b3480156104c057600080fd5b506104906298968081565b3480156104d757600080fd5b506103ce6104e636600461481d565b610e10565b3480156104f757600080fd5b506065546001600160a01b03165b6040516001600160a01b039091168152602001610406565b34801561052957600080fd5b506103ce610538366004614999565b610e4f565b34801561054957600080fd5b5061049061055836600461481d565b610fb0565b34801561056957600080fd5b506103ce611036565b610505610580366004614c21565b611041565b34801561059157600080fd5b506103ce6105a036600461481d565b611064565b3480156105b157600080fd5b506072546105c490610100900460ff1681565b6040516104069190614c83565b3480156105dd57600080fd5b506104906105ec366004614c91565b6110b0565b3480156105fd57600080fd5b5061049061060c366004614cbd565b611182565b34801561061d57600080fd5b5060725461062b9060ff1681565b6040516104069190614cf9565b34801561064457600080fd5b506103ce610653366004614999565b611227565b34801561066457600080fd5b50606854610490565b34801561067957600080fd5b50610490600a81565b34801561068e57600080fd5b50606654610490565b3480156106a357600080fd5b50606954610490565b3480156106b857600080fd5b5061042f6106c7366004614999565b6113a2565b6103ce6106da366004614d07565b6113ad565b3480156106eb57600080fd5b50610490611515565b34801561070057600080fd5b50610490606a5481565b34801561071657600080fd5b5061049061072536600461481d565b6115da565b34801561073657600080fd5b50610490610745366004614999565b60776020526000908152604090205481565b34801561076357600080fd5b50607454610505906001600160a01b031681565b34801561078357600080fd5b506103ce610792366004614999565b611717565b3480156107a357600080fd5b506103ce6107b236600461481d565b611728565b3480156107c357600080fd5b506103ce611767565b3480156107d857600080fd5b50610490606b5481565b3480156107ee57600080fd5b506104906107fd366004614c91565b611779565b34801561080e57600080fd5b5061049060705481565b34801561082457600080fd5b506103ce61191b565b34801561083957600080fd5b50610490606e5481565b34801561084f57600080fd5b5061042f61085e36600461481d565b611a4d565b34801561086f57600080fd5b5061049061087e366004614c91565b611aaa565b34801561088f57600080fd5b506033546001600160a01b0316610505565b3480156108ad57600080fd5b506104906108bc36600461481d565b611adb565b3480156108cd57600080fd5b5061050573eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b3480156108f557600080fd5b50610490606c5481565b34801561090b57600080fd5b506073546104909081565b34801561092257600080fd5b5061093661093136600461481d565b611b05565b6040516104069190614d57565b34801561094f57600080fd5b50610490606f5481565b34801561096557600080fd5b506103ce610974366004614999565b611be4565b34801561098557600080fd5b50610999610994366004614d6a565b611cc5565b6040516104069190614e3f565b3480156109b257600080fd5b506103ce6109c1366004614ea5565b611ce0565b3480156109d257600080fd5b50607554610505906001600160a01b031681565b3480156109f257600080fd5b50610490610a01366004614999565b6001600160a01b031660009081526077602052604090205490565b348015610a2857600080fd5b50607254610100900460ff166105c4565b348015610a4557600080fd5b50610a59610a5436600461481d565b611ce9565b6040516104069a99989796959493929190614ec2565b348015610a7b57600080fd5b50606f54610490565b348015610a9057600080fd5b50610490610a9f36600461481d565b60009081526076602052604090206002015490565b348015610ac057600080fd5b5061042f611deb565b348015610ad557600080fd5b50610490610ae4366004614f27565b611dfe565b348015610af557600080fd5b506103ce610b04366004614f4c565b611e29565b348015610b1557600080fd5b50610b29610b24366004614999565b611e42565b6040516104069190614ff7565b348015610b4257600080fd5b506103ce610b51366004615011565b611e4d565b6103ce610b64366004614c21565b611f9b565b348015610b7557600080fd5b506103ce610b84366004614999565b611fb5565b348015610b9557600080fd5b506103ce610ba4366004615042565b612042565b348015610bb557600080fd5b506103ce610bc436600461481d565b61208d565b348015610bd557600080fd5b506103ce610be436600461481d565b6120b6565b6076602090815260009182526040918290208054600182015460028301546003840154600485015460058601546006870154600788015460088901548b51808d01909c52600a8a0180548d52600b8b0180549a9d999c989b979a6001600160a01b039788169a968816999790951697939660ff9093169593949192840191610c709061509c565b80601f0160208091040260200160405190810160405280929190818152602001828054610c9c9061509c565b8015610ce95780601f10610cbe57610100808354040283529160200191610ce9565b820191906000526020600020905b815481529060010190602001808311610ccc57829003601f168201915b50505050508152505090508a565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167ff1801e61000000000000000000000000000000000000000000000000000000001480610d8a57507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b33610d9a816120f5565b607480546001600160a01b0319166001600160a01b0384169081179091556040519081527fd6ceddf6d2a22f21c7c81675c518004eff43bc5c8a6fc32a0b748e69d58671cd906020015b60405180910390a15050565b610df86121a4565b610e006121cf565b610e0b83838361220b565b505050565b33610e1a816120f5565b606b8290556040518281527f08e39b387d1f739ce0d2553bb31822392e3f67c62c6c0a215120ab4a6841a8ab90602001610de4565b600054610100900460ff1615808015610e6f5750600054600160ff909116105b80610e895750303b158015610e89575060005460ff166001145b610f005760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084015b60405180910390fd5b6000805460ff191660011790558015610f23576000805461ff0019166101001790555b610f62826040518060400160405280600a81526020017f4356537472617465677900000000000000000000000000000000000000000000815250612042565b610f6a61251f565b8015610fac576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249890602001610de4565b5050565b600081815260766020526040812080548314610fe25760405163c1d17bef60e01b815260048101849052602401610ef7565b6001600882015460ff166004811115610ffd57610ffd614836565b1461101e576040516344980d8f60e01b815260048101849052602401610ef7565b61102c818260020154612592565b6003015492915050565b61103f336125cd565b565b600061104b6121a4565b6110536121cf565b61105d838361271e565b9392505050565b3361106e816120f5565b60705460408051918252602082018490527f056aedca4e334b6c4bea48715fb0de644811b740894de57a0380d3eb90f2805b910160405180910390a150607055565b60006110ba612a70565b60006002607254610100900460ff1660038111156110da576110da614836565b148061110157506001607254610100900460ff1660038111156110ff576110ff614836565b145b1561110d57508161111a565b6111178484612ab4565b90505b80606f600082825461112c91906150e6565b9091555050604080516001600160a01b0386168152602081018590529081018290527f70b752f3fadb6ac131c0ece847fcbb6994ec56ed6411595710fd9b29c6ac6cc19060600160405180910390a19392505050565b60008084905060006111a8629896806080606a54901b6111a2919061510f565b83612d78565b905060806f80000000000000000000000000000000606a54629896806111ce91906150e6565b6111dc84600160801b6150e6565b6111e96298968089615131565b6111f39190615131565b6111fd919061510f565b6112078885615131565b6112119190615148565b61121b9190615148565b901c9695505050505050565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036112b45760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b19195b1959d85d1958d85b1b60a21b6064820152608401610ef7565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661130f7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b6001600160a01b03161461137a5760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b6163746976652070726f787960a01b6064820152608401610ef7565b61138381612e21565b6040805160008082526020820190925261139f91839190612e29565b50565b6000610d8a82612fc9565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016300361143a5760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b19195b1959d85d1958d85b1b60a21b6064820152608401610ef7565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166114957f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b6001600160a01b0316146115005760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b6163746976652070726f787960a01b6064820152608401610ef7565b61150982612e21565b610fac82826001612e29565b6000306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146115b55760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c00000000000000006064820152608401610ef7565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc90565b60008060695411611617576040517fed4421ad00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61162082612fe9565b1561163e57604051630efd728560e21b815260040160405180910390fd5b6069546000906116578468010000000000000000615131565b611661919061510f565b62989680606b546801000000000000000061167c9190615131565b611686919061510f565b61169091906150e6565b9050604061169d606f5490565b606a546116ad90629896806150e6565b6298968060406116bd8680615131565b901c629896806080606c54901b6116d4919061510f565b6116de919061510f565b6116e89190615131565b6116f2919061510f565b6116fc9190615131565b901c915060705482116117115760705461105d565b50919050565b61171f612a70565b61139f816125cd565b33611732816120f5565b606a8290556040518281527f592dcd55d60d892e7fcb3ba105013312e99691cd59f91e15f83cb67cb5a505f290602001610de4565b61176f613010565b61103f600061306a565b6000611783612a70565b61178c836130bc565b6117a957604051630b72d6b160e31b815260040160405180910390fd5b60006002607254610100900460ff1660038111156117c9576117c9614836565b036117d757825b9050611834565b6001607254610100900460ff1660038111156117f5576117f5614836565b03611804576117d08484613164565b6003607254610100900460ff16600381111561182257611822614836565b036118345761183184846132ca565b90505b60745460405163011de97360e61b81526001600160a01b038681166004830152306024830152600092169063477a5cc090604401602060405180830381865afa158015611885573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118a9919061515b565b905080156118c95781606f60008282546118c39190615148565b90915550505b604080516001600160a01b0387168152602081018690529081018390527f0b9150e1e54346ed3fa36b977cd5d65dca5a649c737c3174a26bddaadd47667a9060600160405180910390a1509392505050565b33611925816130bc565b61194257604051630b72d6b160e31b815260040160405180910390fd5b6074546040517f0d4a8b490000000000000000000000000000000000000000000000000000000081526001600160a01b03838116600483015230602483015290911690630d4a8b4990604401600060405180830381600087803b1580156119a857600080fd5b505af11580156119bc573d6000803e3d6000fd5b5050607454604051637817ee4f60e01b81526001600160a01b0385811660048301523060248301529091169250637817ee4f9150604401602060405180830381865afa158015611a10573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a349190615178565b606f6000828254611a459190615148565b909155505050565b6000818152607660205260408120600281015482908190611a6f908490613511565b91509150816000148015611a81575080155b15611a8e57826003015491505b6000611a9d84600101546115da565b9092101595945050505050565b60786020528160005260406000208181548110611ac657600080fd5b90600052602060002001600091509150505481565b6000606a5462989680611aee91906150e6565b611afb6298968084615131565b610d8a919061510f565b604080518082019091526000815260606020820152600060766000848152602001908152602001600020905080600a0160405180604001604052908160008201548152602001600182018054611b5a9061509c565b80601f0160208091040260200160405190810160405280929190818152602001828054611b869061509c565b8015611bd35780601f10611ba857610100808354040283529160200191611bd3565b820191906000526020600020905b815481529060010190602001808311611bb657829003601f168201915b505050505081525050915050919050565b607460009054906101000a90046001600160a01b03166001600160a01b0316636c53db9a6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611c37573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c5b9190615191565b6001600160a01b03163303611c9357611c7381613569565b607580546001600160a01b0383166001600160a01b031990911617905550565b6040517fe860ec7e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b606060405163d623472560e01b815260040160405180910390fd5b61139f816135a9565b6000806000806000806000806000806000607660008d815260200190815260200160002090508060010154600014611d2d57611d2881600101546115da565b611d30565b60005b92508060050160009054906101000a90046001600160a01b03168160040160009054906101000a90046001600160a01b03168260060160009054906101000a90046001600160a01b0316836001015484600201548560080160009054906101000a900460ff16866007015487600301548a896009016000336001600160a01b03166001600160a01b03168152602001908152602001600020549a509a509a509a509a509a509a509a509a509a50509193959799509193959799565b6000611df960675460ff1690565b905090565b60008281526076602090815260408083206001600160a01b038516845260090190915281205461105d565b60405163d623472560e01b815260040160405180910390fd5b6000610d8a826135ea565b611e556121a4565b611e5e8261360a565b600081806020019051810190611e74919061521e565b80519091506001600160a01b0316611e9f57604051635df4b1ef60e01b815260040160405180910390fd5b8051607480546001600160a01b0319166001600160a01b039092169190911790556020810151606a556040810151606b556060810151606c5560a08101516072805460ff19166001836002811115611ef957611ef9614836565b021790555060c08101516072805461ff001916610100836003811115611f2157611f21614836565b021790555060e0810151516073556080810151607055610100810151607580546001600160a01b0319166001600160a01b039092169190911790556040517f4ebdec05fb64815e553aeaf3976ef8112dd79760a459bee3ac7d1659ab2c4e0490611f8e90859084906152b9565b60405180910390a1505050565b611fa36121a4565b611fab6121cf565b610fac828261368b565b611fbd613010565b6001600160a01b0381166120395760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610ef7565b61139f8161306a565b606580546001600160a01b0319166001600160a01b03841617905560405161206e90829060200161534c565b60408051601f1981840301815291905280516020909101206066555050565b6120956121a4565b80606960008282546120a79190615148565b9091555061139f90508161379a565b336120c0816120f5565b606c8290556040518281527f30ee8206062f283e56a0af2b02138016bf7442ded26ad68a92a18a9dd246fb4990602001610de4565b6065546068546040517f29e40d4b00000000000000000000000000000000000000000000000000000000815260048101919091526001600160a01b038381166024830152909116906329e40d4b90604401602060405180830381865afa158015612163573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612187919061515b565b61139f5760405163075fd2b160e01b815260040160405180910390fd5b6065546001600160a01b0316331461103f5760405163075fd2b160e01b815260040160405180910390fd5b60685460000361103f576040517f3da3f98c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000825111612246576040517fc5f7c4c000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008280602001905181019061225c9190615178565b905080600003612298576040517ff881a10d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000818152607660205260409020600160725460ff1660028111156122bf576122bf614836565b0361251857805482146122e85760405163c1d17bef60e01b815260048101839052602401610ef7565b606954816001015411156123405760018101546069546040517f5863b0b60000000000000000000000000000000000000000000000000000000081526004810185905260248101929092526044820152606401610ef7565b6001600882015460ff16600481111561235b5761235b614836565b1461237c576040516344980d8f60e01b815260048101839052602401610ef7565b600061238783610fb0565b9050600061239883600101546115da565b905080821080156123ad575060008360010154115b156123e4576040517fcce7930800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6065546068546040517f068bcd8d00000000000000000000000000000000000000000000000000000000815260048101919091526000916001600160a01b03169063068bcd8d90602401600060405180830381865afa15801561244b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261247391908101906153ec565b905083600101546069600082825461248b91906150e6565b90915550506040810151600485015460018601546124b392916001600160a01b0316906137ca565b60088401805460ff191660049081179091558401546001850154604080518881526001600160a01b0390931660208401528201527fa7932e9c92f31e1ed56b29d00bbe669a97484dc24de28dd9c8c0429df7f358479060600160405180910390a15050505b5050505050565b600054610100900460ff1661258a5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401610ef7565b61103f61380f565b60008061259f8484613511565b915091508160001480156125b1575080155b156125bc5750505050565b600784015560039092019190915550565b607454604051637817ee4f60e01b81526001600160a01b03838116600483015230602483015290911690637817ee4f90604401602060405180830381865afa15801561261d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126419190615178565b606f600082825461265291906150e6565b90915550506074546040517f22bcf9990000000000000000000000000000000000000000000000000000000081526001600160a01b038381166004830152306024830152909116906322bcf99990604401600060405180830381600087803b1580156126bd57600080fd5b505af11580156126d1573d6000803e3d6000fd5b505050506126de81613883565b6040516001600160a01b03821681527f1468da654b37bb3631011c1917d02e0db437d519918858d40b38b5e980ca033b906020015b60405180910390a150565b6000612729826130bc565b61274657604051630b72d6b160e31b815260040160405180910390fd5b60008380602001905181019061275c91906154a0565b805190915060000361279a576040517f4e79178600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600160725460ff1660028111156127b3576127b3614836565b03612963576127c58160200151613569565b60608101516001600160a01b0316612809576040517f596a094c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000306001600160a01b03166315cc481e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612849573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061286d9190615191565b6001600160a01b031663068bcd8d6068546040518263ffffffff1660e01b815260040161289c91815260200190565b600060405180830381865afa1580156128b9573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526128e191908101906153ec565b604001519050806001600160a01b031682606001516001600160a01b031614612936576040517fa29c498600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6129438260400151612fe9565b1561296157604051630efd728560e21b815260040160405180910390fd5b505b6000606d6000815461297490615547565b918290555060008181526076602090815260408083208481556005810180546001600160a01b038b81166001600160a01b0319928316179092558885015160048401805491841691831691909117905560608901516006840180549190931691161790559086015160018083019190915560088201805460ff19169091179055436007820155600381019290925560808501518051600a8401908155918101519394509192600b840190612a2890826155ae565b505060685460408051918252602082018590527ffcf3b1aa65a464cef2889608f99e8b8c0f680a4be6c2acb9d961c536a5a9294b92500160405180910390a150949350505050565b6074546001600160a01b0316331461103f576040517faf0916a200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b607454604080516336d8759760e21b815290516000926012926001600160a01b039091169163db61d65c916004808201926020929091908290030181865afa158015612b04573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612b289190615191565b6001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015612b81575060408051601f3d908101601f19168201909252612b7e9181019061566e565b60015b612bc857612bc36040518060400160405280601581526020017f4572726f722067657474696e6720646563696d616c0000000000000000000000815250613a10565b612bce565b60ff1690505b612c0d6040518060400160405280601081526020017f5f616d6f756e74546f556e7374616b650000000000000000000000000000000081525084613a81565b6074546040516316308e2560e11b81526001600160a01b0386811660048301526000928692911690632c611c4a90602401602060405180830381865afa158015612c5b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612c7f9190615178565b612c8991906150e6565b9050612cca6040518060400160405280600d81526020017f6e6577546f74616c5374616b650000000000000000000000000000000000000081525082613a81565b6000612ce9612cda84600a615775565b612ce49084615131565b613af4565b607454604051637817ee4f60e01b81526001600160a01b03898116600483015230602483015292935060009284921690637817ee4f90604401602060405180830381865afa158015612d3f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612d639190615178565b612d6d91906150e6565b979650505050505050565b6000600160801b8310612dcd5760405162461bcd60e51b815260206004820152601c60248201527f5f612073686f756c64206265206c657373207468616e20325e313238000000006044820152606401610ef7565b50600160801b82825b8015612e195780600116600003612dfb57612df18283613bdc565b915060011c612dd6565b612e058383613bdc565b9250612e126001826150e6565b9050612dd6565b505092915050565b61139f613010565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615612e5c57610e0b83613cdb565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015612eb6575060408051601f3d908101601f19168201909252612eb391810190615178565b60015b612f285760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201527f6f6e206973206e6f7420555550530000000000000000000000000000000000006064820152608401610ef7565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8114612fbd5760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f7860448201527f6961626c655555494400000000000000000000000000000000000000000000006064820152608401610ef7565b50610e0b838383613d99565b60006001600160a01b03821615612fe1576001610d8a565b600092915050565b6000612ff86298968083615131565b606954606b546130089190615131565b111592915050565b6033546001600160a01b0316331461103f5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610ef7565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6075546000906001600160a01b03166130d757506001919050565b6075546040517f42a987a00000000000000000000000000000000000000000000000000000000081526001600160a01b038481166004830152306024830152909116906342a987a090604401602060405180830381865afa158015613140573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d8a919061515b565b6000808290506131a96040518060400160405280601281526020017f504f494e545320544f20494e435245415345000000000000000000000000000081525082613a81565b607454604051637817ee4f60e01b81526001600160a01b0386811660048301523060248301526000921690637817ee4f90604401602060405180830381865afa1580156131fa573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061321e9190615178565b905061325f6040518060400160405280600b81526020017f4d454d424552504f57455200000000000000000000000000000000000000000081525082613a81565b60735461326c8383615148565b1115613283576073546132809082906150e6565b91505b6132c26040518060400160405280601681526020017f504f494e545320544f20494e43524541534520454e440000000000000000000081525083613a81565b509392505050565b6074546040516316308e2560e11b81526001600160a01b0384811660048301526000928392859290911690632c611c4a90602401602060405180830381865afa15801561331b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061333f9190615178565b6133499190615148565b607454604080516336d8759760e21b815290519293506012926001600160a01b039092169163db61d65c916004808201926020929091908290030181865afa158015613399573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906133bd9190615191565b6001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015613416575060408051601f3d908101601f191682019092526134139181019061566e565b60015b61345d576134586040518060400160405280601581526020017f4572726f722067657474696e6720646563696d616c0000000000000000000000815250613a10565b613463565b60ff1690505b600061347d61347383600a615775565b612ce49085615131565b607454604051637817ee4f60e01b81526001600160a01b03898116600483015230602483015292935060009290911690637817ee4f90604401602060405180830381865afa1580156134d3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906134f79190615178565b9050600061350582846150e6565b98975050505050505050565b600080439050808460070154111561352b5761352b615781565b8084600701540361354157506000905080613562565b61355f84600701548261355491906150e6565b856003015485611182565b91505b9250929050565b6001600160a01b03811661139f576040517fe622e04000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6067805460ff19168215159081179091556040519081527fd94c9bc4d43c51d8dc345a016d8e3d994432fac68e72832e4cf3a616bd8efae090602001612713565b60006001600160a01b03821615613602576002610d8a565b600392915050565b6136126121a4565b6068541561364c576040517f439a74c900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80600003613686576040517f7fcce2a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b606855565b61369481613dbe565b61369d816130bc565b6136ba57604051630b72d6b160e31b815260040160405180910390fd5b60745460405163011de97360e61b81526001600160a01b038381166004830152306024830152600092169063477a5cc090604401602060405180830381865afa15801561370b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061372f919061515b565b905080613768576040517f5fccb67f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008380602001905181019061377e9190615797565b905061378a8382613ee4565b61379483826140a7565b50505050565b6040518181527f46aeb5d8770fc4474bc2dfa118fd2595f7fb33ce2cbce6f4e5a3dabfe0f7633990602001612713565b7fffffffffffffffffffffffff11111111111111111111111111111111111111126001600160a01b0384160161380457610e0b82826144cb565b610e0b8383836144e7565b600054610100900460ff1661387a5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401610ef7565b61103f3361306a565b6001600160a01b0381166000908152607860209081526040808320805482518185028101850190935280835291929091908301828280156138e357602002820191906000526020600020905b8154815260200190600101908083116138cf575b5050505050905060005b8151811015610e0b57600082828151811061390a5761390a615842565b60200260200101519050600060766000838152602001908152602001600020905061393482614536565b156139fb576001600160a01b038516600090815260098201602052604081208054908290556002830180549192839261396e9084906150e6565b9250508190555080606e600082825461398791906150e6565b9091555061399790508282612592565b60028201546003830154604080516001600160a01b038a1681526020810187905260008183015260608101939093526080830191909152517f0227f642ddcf2042ceaeafadb9d540f432072c00cd4862881667168dcc14710f9181900360a00190a1505b50508080613a0890615547565b9150506138ed565b61139f81604051602401613a24919061534c565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f41304fac0000000000000000000000000000000000000000000000000000000017905261456f565b610fac8282604051602401613a97929190615858565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f9710a9d00000000000000000000000000000000000000000000000000000000017905261456f565b600081600003613b0657506000919050565b60006001613b1384614590565b901c6001901b90506001818481613b2c57613b2c6150f9565b048201901c90506001818481613b4457613b446150f9565b048201901c90506001818481613b5c57613b5c6150f9565b048201901c90506001818481613b7457613b746150f9565b048201901c90506001818481613b8c57613b8c6150f9565b048201901c90506001818481613ba457613ba46150f9565b048201901c90506001818481613bbc57613bbc6150f9565b048201901c905061105d81828581613bd657613bd66150f9565b04614624565b6000600160801b831115613c585760405162461bcd60e51b815260206004820152602860248201527f5f612073686f756c64206265206c657373207468616e206f7220657175616c2060448201527f746f20325e3132380000000000000000000000000000000000000000000000006064820152608401610ef7565b600160801b8210613cab5760405162461bcd60e51b815260206004820152601c60248201527f5f622073686f756c64206265206c657373207468616e20325e313238000000006044820152606401610ef7565b60806f80000000000000000000000000000000613cc88486615131565b613cd29190615148565b901c9392505050565b6001600160a01b0381163b613d585760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201527f6f74206120636f6e7472616374000000000000000000000000000000000000006064820152608401610ef7565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b613da28361463a565b600082511180613daf5750805b15610e0b57613794838361467a565b6001600160a01b038116613dfe576040517fd1f2828800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6074546001600160a01b0316613e2757604051635df4b1ef60e01b815260040160405180910390fd5b6074546040517fa230c5240000000000000000000000000000000000000000000000000000000081526001600160a01b0383811660048301529091169063a230c52490602401602060405180830381865afa158015613e8a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613eae919061515b565b61139f576040517f6a5cfb6d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000805b8251811015613fa157828181518110613f0357613f03615842565b60200260200101516000015160000315613f8f576000838281518110613f2b57613f2b615842565b6020026020010151600001519050613f4281614536565b613f625760405163c1d17bef60e01b815260048101829052602401610ef7565b838281518110613f7457613f74615842565b60200260200101516020015183613f8b919061587a565b9250505b80613f9981615547565b915050613ee8565b506001600160a01b038316600090815260776020526040812054613fc5908361469f565b607454604051637817ee4f60e01b81526001600160a01b03878116600483015230602483015292935060009290911690637817ee4f90604401602060405180830381865afa15801561401b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061403f9190615178565b905080821115614085576040517fd64182fe0000000000000000000000000000000000000000000000000000000081526004810183905260248101829052604401610ef7565b506001600160a01b039093166000908152607760205260409020929092555050565b606060005b82518110156137945760008382815181106140c9576140c9615842565b60200260200101516000015190508251600003614125576040805160018082528183019092529060208083019080368337019050509250808360008151811061411457614114615842565b602002602001018181525050614278565b6000805b84518110156141a4578285828151811061414557614145615842565b602002602001015103614192576040517fadebb154000000000000000000000000000000000000000000000000000000008152600481018490526024810182905260019250604401610ef7565b8061419c81615547565b915050614129565b5080614276576000845160016141ba9190615148565b67ffffffffffffffff8111156141d2576141d26149b6565b6040519080825280602002602001820160405280156141fb578160200160208202803683370190505b50905060005b85518110156142535785818151811061421c5761421c615842565b602002602001015182828151811061423657614236615842565b60209081029190910101528061424b81615547565b915050614201565b50828186518151811061426857614268615842565b602090810291909101015293505b505b600084838151811061428c5761428c615842565b60209081029190910181015181015160008481526076835260408082206001600160a01b038b168352600981019094528120549193506142cc828561469f565b6001600160a01b038a1660009081526009850160205260408120829055909150805b6001600160a01b038b166000908152607860205260409020548110156143655784546001600160a01b038c16600090815260786020526040902080548390811061433a5761433a615842565b9060005260206000200154036143535760019150614365565b8061435d81615547565b9150506142ee565b508061439b576001600160a01b038a16600090815260786020908152604082208654815460018101835591845291909220909101555b8183116143eb576143ac83836150e6565b606e60008282546143bd9190615148565b909155506143cd905083836150e6565b8460020160008282546143e09190615148565b9091555061442f9050565b6143f582846150e6565b606e600082825461440691906150e6565b90915550614416905082846150e6565b84600201600082825461442991906150e6565b90915550505b8360070154600003614446574360078501556144b2565b6144508484612592565b60028401546003850154604080516001600160a01b038e168152602081018a9052908101859052606081019290925260808201527f0227f642ddcf2042ceaeafadb9d540f432072c00cd4862881667168dcc14710f9060a00160405180910390a15b50505050505080806144c390615547565b9150506140ac565b60008060008084865af1610fac5763b12d13eb6000526004601cfd5b81601452806034526fa9059cbb00000000000000000000000060005260206000604460106000875af13d15600160005114171661452c576390b8ec186000526004601cfd5b6000603452505050565b60008181526076602052604081205415801590610d8a5750506000908152607660205260409020600501546001600160a01b0316151590565b80516a636f6e736f6c652e6c6f67602083016000808483855afa5050505050565b600080608083901c156145a557608092831c92015b604083901c156145b757604092831c92015b602083901c156145c957602092831c92015b601083901c156145db57601092831c92015b600883901c156145ed57600892831c92015b600483901c156145ff57600492831c92015b600283901c1561461157600292831c92015b600183901c15610d8a5760010192915050565b6000818310614633578161105d565b5090919050565b61464381613cdb565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b606061105d83836040518060600160405280602781526020016158b7602791396146fa565b6000806146ac838561587a565b9050600081121561105d576040517f3bbc7142000000000000000000000000000000000000000000000000000000008152600481018590526024810184905260448101829052606401610ef7565b6060600080856001600160a01b031685604051614717919061589a565b600060405180830381855af49150503d8060008114614752576040519150601f19603f3d011682016040523d82523d6000602084013e614757565b606091505b509150915061476886838387614772565b9695505050505050565b606083156147e15782516000036147da576001600160a01b0385163b6147da5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610ef7565b50816147eb565b6147eb83836147f3565b949350505050565b8151156148035781518083602001fd5b8060405162461bcd60e51b8152600401610ef7919061534c565b60006020828403121561482f57600080fd5b5035919050565b634e487b7160e01b600052602160045260246000fd5b6005811061485c5761485c614836565b9052565b60005b8381101561487b578181015183820152602001614863565b50506000910152565b6000815180845261489c816020860160208601614860565b601f01601f19169290920160200192915050565b8051825260006020820151604060208501526147eb6040850182614884565b60006101408c83528b60208401528a60408401528960608401526001600160a01b03808a16608085015280891660a085015280881660c0850152508560e084015261491e61010084018661484c565b80610120840152614931818401856148b0565b9d9c50505050505050505050505050565b60006020828403121561495457600080fd5b81357fffffffff000000000000000000000000000000000000000000000000000000008116811461105d57600080fd5b6001600160a01b038116811461139f57600080fd5b6000602082840312156149ab57600080fd5b813561105d81614984565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff811182821017156149ef576149ef6149b6565b60405290565b604051610120810167ffffffffffffffff811182821017156149ef576149ef6149b6565b60405160c0810167ffffffffffffffff811182821017156149ef576149ef6149b6565b60405160a0810167ffffffffffffffff811182821017156149ef576149ef6149b6565b604051601f8201601f1916810167ffffffffffffffff81118282101715614a8857614a886149b6565b604052919050565b600067ffffffffffffffff821115614aaa57614aaa6149b6565b5060051b60200190565b600082601f830112614ac557600080fd5b81356020614ada614ad583614a90565b614a5f565b82815260059290921b84018101918181019086841115614af957600080fd5b8286015b84811015614b1d578035614b1081614984565b8352918301918301614afd565b509695505050505050565b600067ffffffffffffffff821115614b4257614b426149b6565b50601f01601f191660200190565b6000614b5e614ad584614b28565b9050828152838383011115614b7257600080fd5b828260208301376000602084830101529392505050565b600082601f830112614b9a57600080fd5b61105d83833560208501614b50565b600080600060608486031215614bbe57600080fd5b833567ffffffffffffffff80821115614bd657600080fd5b614be287838801614ab4565b94506020860135915080821115614bf857600080fd5b50614c0586828701614b89565b9250506040840135614c1681614984565b809150509250925092565b60008060408385031215614c3457600080fd5b823567ffffffffffffffff811115614c4b57600080fd5b614c5785828601614b89565b9250506020830135614c6881614984565b809150509250929050565b6004811061485c5761485c614836565b60208101610d8a8284614c73565b60008060408385031215614ca457600080fd5b8235614caf81614984565b946020939093013593505050565b600080600060608486031215614cd257600080fd5b505081359360208301359350604090920135919050565b6003811061485c5761485c614836565b60208101610d8a8284614ce9565b60008060408385031215614d1a57600080fd5b8235614d2581614984565b9150602083013567ffffffffffffffff811115614d4157600080fd5b614d4d85828601614b89565b9150509250929050565b60208152600061105d60208301846148b0565b60008060408385031215614d7d57600080fd5b823567ffffffffffffffff80821115614d9557600080fd5b614da186838701614ab4565b9350602091508185013581811115614db857600080fd5b8501601f81018713614dc957600080fd5b8035614dd7614ad582614a90565b81815260059190911b82018401908481019089831115614df657600080fd5b8584015b83811015614e2e57803586811115614e125760008081fd5b614e208c8983890101614b89565b845250918601918601614dfa565b508096505050505050509250929050565b602080825282518282018190526000919060409081850190868401855b82811015614e8a57815180516001600160a01b03168552860151868501529284019290850190600101614e5c565b5091979650505050505050565b801515811461139f57600080fd5b600060208284031215614eb757600080fd5b813561105d81614e97565b6001600160a01b038b811682528a811660208301528916604082015260608101889052608081018790526101408101614efe60a083018861484c565b8560c08301528460e083015283610100830152826101208301529b9a5050505050505050505050565b60008060408385031215614f3a57600080fd5b823591506020830135614c6881614984565b60006020808385031215614f5f57600080fd5b823567ffffffffffffffff811115614f7657600080fd5b8301601f81018513614f8757600080fd5b8035614f95614ad582614a90565b81815260069190911b82018301908381019087831115614fb457600080fd5b928401925b82841015612d6d5760408489031215614fd25760008081fd5b614fda6149cc565b843581528585013586820152825260409093019290840190614fb9565b602081016007831061500b5761500b614836565b91905290565b6000806040838503121561502457600080fd5b82359150602083013567ffffffffffffffff811115614d4157600080fd5b6000806040838503121561505557600080fd5b823561506081614984565b9150602083013567ffffffffffffffff81111561507c57600080fd5b8301601f8101851361508d57600080fd5b614d4d85823560208401614b50565b600181811c908216806150b057607f821691505b60208210810361171157634e487b7160e01b600052602260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b81810381811115610d8a57610d8a6150d0565b634e487b7160e01b600052601260045260246000fd5b60008261512c57634e487b7160e01b600052601260045260246000fd5b500490565b8082028115828204841417610d8a57610d8a6150d0565b80820180821115610d8a57610d8a6150d0565b60006020828403121561516d57600080fd5b815161105d81614e97565b60006020828403121561518a57600080fd5b5051919050565b6000602082840312156151a357600080fd5b815161105d81614984565b80516151b981614984565b919050565b8051600381106151b957600080fd5b8051600481106151b957600080fd5b6000602082840312156151ee57600080fd5b6040516020810181811067ffffffffffffffff82111715615211576152116149b6565b6040529151825250919050565b6000610120828403121561523157600080fd5b6152396149f5565b615242836151ae565b81526020830151602082015260408301516040820152606083015160608201526080830151608082015261527860a084016151be565b60a082015261528960c084016151cd565b60c082015261529b8460e085016151dc565b60e08201526101006152ae8185016151ae565b908201529392505050565b6000610140820190508382526001600160a01b038351166020830152602083015160408301526040830151606083015260608301516080830152608083015160a083015260a083015161530f60c0840182614ce9565b5060c083015161532260e0840182614c73565b5060e08301515161010083810191909152909201516001600160a01b031661012090910152919050565b60208152600061105d6020830184614884565b60006040828403121561537157600080fd5b6153796149cc565b905081518152602082015167ffffffffffffffff81111561539957600080fd5b8201601f810184136153aa57600080fd5b80516153b8614ad582614b28565b8181528560208385010111156153cd57600080fd5b6153de826020830160208601614860565b602084015250909392505050565b6000602082840312156153fe57600080fd5b815167ffffffffffffffff8082111561541657600080fd5b9083019060c0828603121561542a57600080fd5b615432614a19565b82518152602083015161544481614984565b6020820152604083015161545781614984565b604082015260608301518281111561546e57600080fd5b61547a8782860161535f565b6060830152506080830151608082015260a083015160a082015280935050505092915050565b6000602082840312156154b257600080fd5b815167ffffffffffffffff808211156154ca57600080fd5b9083019060a082860312156154de57600080fd5b6154e6614a3c565b8251815260208301516154f881614984565b602082015260408381015190820152606083015161551581614984565b606082015260808301518281111561552c57600080fd5b6155388782860161535f565b60808301525095945050505050565b600060018201615559576155596150d0565b5060010190565b601f821115610e0b57600081815260208120601f850160051c810160208610156155875750805b601f850160051c820191505b818110156155a657828155600101615593565b505050505050565b815167ffffffffffffffff8111156155c8576155c86149b6565b6155dc816155d6845461509c565b84615560565b602080601f83116001811461561157600084156155f95750858301515b600019600386901b1c1916600185901b1785556155a6565b600085815260208120601f198616915b8281101561564057888601518255948401946001909101908401615621565b508582101561565e5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60006020828403121561568057600080fd5b815160ff8116811461105d57600080fd5b600181815b808511156156cc5781600019048211156156b2576156b26150d0565b808516156156bf57918102915b93841c9390800290615696565b509250929050565b6000826156e357506001610d8a565b816156f057506000610d8a565b816001811461570657600281146157105761572c565b6001915050610d8a565b60ff841115615721576157216150d0565b50506001821b610d8a565b5060208310610133831016604e8410600b841016171561574f575081810a610d8a565b6157598383615691565b806000190482111561576d5761576d6150d0565b029392505050565b600061105d83836156d4565b634e487b7160e01b600052600160045260246000fd5b600060208083850312156157aa57600080fd5b825167ffffffffffffffff8111156157c157600080fd5b8301601f810185136157d257600080fd5b80516157e0614ad582614a90565b81815260069190911b820183019083810190878311156157ff57600080fd5b928401925b82841015612d6d576040848903121561581d5760008081fd5b6158256149cc565b845181528585015186820152825260409093019290840190615804565b634e487b7160e01b600052603260045260246000fd5b60408152600061586b6040830185614884565b90508260208301529392505050565b8082018281126000831280158216821582161715612e1957612e196150d0565b600082516158ac818460208701614860565b919091019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a264697066735822122049b3231cbecd6db9d79eb7e6e0aa3bb1452345bd067dee068696bdb771968c2d64736f6c63430008130033","sourceMap":"3067:38512:130:-:0;;;1088:4:68;1045:48;;6733:1:130;6700:34;;;;6813:38;;3067:38512;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x6080604052600436106103c75760003560e01c806376365af7116101f2578063b5f620ce11610119578063e0dd2c38116100b2578063ef2920fc11610084578063f321b3051161006c578063f321b30514610b89578063f5b0dfb714610ba9578063fc1711f214610bc957005b8063ef2920fc14610b56578063f2fde38b14610b6957005b8063e0dd2c3814610ac9578063e33add9314610ae9578063eb11af9314610b09578063edd146cc14610b3657005b8063c7f758a8116100eb578063c7f758a814610a39578063d1e3623214610a6f578063dc96ff2d14610a84578063df868ed314610ab457005b8063b5f620ce146109a6578063b6c61f31146109c6578063bcc5b93b146109e6578063c329217114610a1c57005b8063950559d71161018b578063a574cea41161015d578063a574cea414610916578063aba9ffee14610943578063ac1ed7b914610959578063b2b878d01461097957005b8063950559d7146108a1578063a0cf0aea146108c1578063a1aab33f146108e9578063a47ff7e5146108ff57005b8063817b1cd2116101c4578063817b1cd21461082d578063824ea8ed14610843578063868c57b8146108635780638da5cb5b1461088357005b806376365af7146107cc578063782aadff146107e25780637c6570ba14610802578063814516ad1461081857005b8063346db8cb116102ee5780634f1ef286116102875780635db64b99116102595780636453d9c4116102415780636453d9c41461077757806369fa25c414610797578063715018a6146107b757005b80635db64b991461072a5780636003e4141461075757005b80634f1ef286146106cc57806352d1902d146106df57806354fac919146106f457806359a5db8b1461070a57005b8063406244d8116102c0578063406244d81461066d57806342fda9c7146106825780634ab4ba42146106975780634d31d087146106ac57005b8063346db8cb146105f1578063351d9f96146106115780633659cfe61461063857806338fff2d01461065857005b806315cc481e116103605780632bbe0cae116103325780632bbe0cae146105725780632cefadbb146105855780632dbd6fdd146105a55780632ed04b2b146105d157005b806315cc481e146104eb57806319ab453c1461051d5780631aa91a9e1461053d5780631ddf1e231461055d57005b80630ba95909116103995780630ba959091461047f5780630c0512e91461049e5780630f529ba2146104b457806311f22ae3146104cb57005b8063013cf08b146103d057806301ffc9a71461040f578063058aca441461043f5780630a6f0ee91461045f57005b366103ce57005b005b3480156103dc57600080fd5b506103f06103eb36600461481d565b610be9565b6040516104069a999897969594939291906148cf565b60405180910390f35b34801561041b57600080fd5b5061042f61042a366004614942565b610cf7565b6040519015158152602001610406565b34801561044b57600080fd5b506103ce61045a366004614999565b610d90565b34801561046b57600080fd5b506103ce61047a366004614ba9565b610df0565b34801561048b57600080fd5b506073545b604051908152602001610406565b3480156104aa57600080fd5b50610490606d5481565b3480156104c057600080fd5b506104906298968081565b3480156104d757600080fd5b506103ce6104e636600461481d565b610e10565b3480156104f757600080fd5b506065546001600160a01b03165b6040516001600160a01b039091168152602001610406565b34801561052957600080fd5b506103ce610538366004614999565b610e4f565b34801561054957600080fd5b5061049061055836600461481d565b610fb0565b34801561056957600080fd5b506103ce611036565b610505610580366004614c21565b611041565b34801561059157600080fd5b506103ce6105a036600461481d565b611064565b3480156105b157600080fd5b506072546105c490610100900460ff1681565b6040516104069190614c83565b3480156105dd57600080fd5b506104906105ec366004614c91565b6110b0565b3480156105fd57600080fd5b5061049061060c366004614cbd565b611182565b34801561061d57600080fd5b5060725461062b9060ff1681565b6040516104069190614cf9565b34801561064457600080fd5b506103ce610653366004614999565b611227565b34801561066457600080fd5b50606854610490565b34801561067957600080fd5b50610490600a81565b34801561068e57600080fd5b50606654610490565b3480156106a357600080fd5b50606954610490565b3480156106b857600080fd5b5061042f6106c7366004614999565b6113a2565b6103ce6106da366004614d07565b6113ad565b3480156106eb57600080fd5b50610490611515565b34801561070057600080fd5b50610490606a5481565b34801561071657600080fd5b5061049061072536600461481d565b6115da565b34801561073657600080fd5b50610490610745366004614999565b60776020526000908152604090205481565b34801561076357600080fd5b50607454610505906001600160a01b031681565b34801561078357600080fd5b506103ce610792366004614999565b611717565b3480156107a357600080fd5b506103ce6107b236600461481d565b611728565b3480156107c357600080fd5b506103ce611767565b3480156107d857600080fd5b50610490606b5481565b3480156107ee57600080fd5b506104906107fd366004614c91565b611779565b34801561080e57600080fd5b5061049060705481565b34801561082457600080fd5b506103ce61191b565b34801561083957600080fd5b50610490606e5481565b34801561084f57600080fd5b5061042f61085e36600461481d565b611a4d565b34801561086f57600080fd5b5061049061087e366004614c91565b611aaa565b34801561088f57600080fd5b506033546001600160a01b0316610505565b3480156108ad57600080fd5b506104906108bc36600461481d565b611adb565b3480156108cd57600080fd5b5061050573eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b3480156108f557600080fd5b50610490606c5481565b34801561090b57600080fd5b506073546104909081565b34801561092257600080fd5b5061093661093136600461481d565b611b05565b6040516104069190614d57565b34801561094f57600080fd5b50610490606f5481565b34801561096557600080fd5b506103ce610974366004614999565b611be4565b34801561098557600080fd5b50610999610994366004614d6a565b611cc5565b6040516104069190614e3f565b3480156109b257600080fd5b506103ce6109c1366004614ea5565b611ce0565b3480156109d257600080fd5b50607554610505906001600160a01b031681565b3480156109f257600080fd5b50610490610a01366004614999565b6001600160a01b031660009081526077602052604090205490565b348015610a2857600080fd5b50607254610100900460ff166105c4565b348015610a4557600080fd5b50610a59610a5436600461481d565b611ce9565b6040516104069a99989796959493929190614ec2565b348015610a7b57600080fd5b50606f54610490565b348015610a9057600080fd5b50610490610a9f36600461481d565b60009081526076602052604090206002015490565b348015610ac057600080fd5b5061042f611deb565b348015610ad557600080fd5b50610490610ae4366004614f27565b611dfe565b348015610af557600080fd5b506103ce610b04366004614f4c565b611e29565b348015610b1557600080fd5b50610b29610b24366004614999565b611e42565b6040516104069190614ff7565b348015610b4257600080fd5b506103ce610b51366004615011565b611e4d565b6103ce610b64366004614c21565b611f9b565b348015610b7557600080fd5b506103ce610b84366004614999565b611fb5565b348015610b9557600080fd5b506103ce610ba4366004615042565b612042565b348015610bb557600080fd5b506103ce610bc436600461481d565b61208d565b348015610bd557600080fd5b506103ce610be436600461481d565b6120b6565b6076602090815260009182526040918290208054600182015460028301546003840154600485015460058601546006870154600788015460088901548b51808d01909c52600a8a0180548d52600b8b0180549a9d999c989b979a6001600160a01b039788169a968816999790951697939660ff9093169593949192840191610c709061509c565b80601f0160208091040260200160405190810160405280929190818152602001828054610c9c9061509c565b8015610ce95780601f10610cbe57610100808354040283529160200191610ce9565b820191906000526020600020905b815481529060010190602001808311610ccc57829003601f168201915b50505050508152505090508a565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167ff1801e61000000000000000000000000000000000000000000000000000000001480610d8a57507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b33610d9a816120f5565b607480546001600160a01b0319166001600160a01b0384169081179091556040519081527fd6ceddf6d2a22f21c7c81675c518004eff43bc5c8a6fc32a0b748e69d58671cd906020015b60405180910390a15050565b610df86121a4565b610e006121cf565b610e0b83838361220b565b505050565b33610e1a816120f5565b606b8290556040518281527f08e39b387d1f739ce0d2553bb31822392e3f67c62c6c0a215120ab4a6841a8ab90602001610de4565b600054610100900460ff1615808015610e6f5750600054600160ff909116105b80610e895750303b158015610e89575060005460ff166001145b610f005760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084015b60405180910390fd5b6000805460ff191660011790558015610f23576000805461ff0019166101001790555b610f62826040518060400160405280600a81526020017f4356537472617465677900000000000000000000000000000000000000000000815250612042565b610f6a61251f565b8015610fac576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249890602001610de4565b5050565b600081815260766020526040812080548314610fe25760405163c1d17bef60e01b815260048101849052602401610ef7565b6001600882015460ff166004811115610ffd57610ffd614836565b1461101e576040516344980d8f60e01b815260048101849052602401610ef7565b61102c818260020154612592565b6003015492915050565b61103f336125cd565b565b600061104b6121a4565b6110536121cf565b61105d838361271e565b9392505050565b3361106e816120f5565b60705460408051918252602082018490527f056aedca4e334b6c4bea48715fb0de644811b740894de57a0380d3eb90f2805b910160405180910390a150607055565b60006110ba612a70565b60006002607254610100900460ff1660038111156110da576110da614836565b148061110157506001607254610100900460ff1660038111156110ff576110ff614836565b145b1561110d57508161111a565b6111178484612ab4565b90505b80606f600082825461112c91906150e6565b9091555050604080516001600160a01b0386168152602081018590529081018290527f70b752f3fadb6ac131c0ece847fcbb6994ec56ed6411595710fd9b29c6ac6cc19060600160405180910390a19392505050565b60008084905060006111a8629896806080606a54901b6111a2919061510f565b83612d78565b905060806f80000000000000000000000000000000606a54629896806111ce91906150e6565b6111dc84600160801b6150e6565b6111e96298968089615131565b6111f39190615131565b6111fd919061510f565b6112078885615131565b6112119190615148565b61121b9190615148565b901c9695505050505050565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036112b45760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b19195b1959d85d1958d85b1b60a21b6064820152608401610ef7565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661130f7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b6001600160a01b03161461137a5760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b6163746976652070726f787960a01b6064820152608401610ef7565b61138381612e21565b6040805160008082526020820190925261139f91839190612e29565b50565b6000610d8a82612fc9565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016300361143a5760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b19195b1959d85d1958d85b1b60a21b6064820152608401610ef7565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166114957f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b6001600160a01b0316146115005760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b6163746976652070726f787960a01b6064820152608401610ef7565b61150982612e21565b610fac82826001612e29565b6000306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146115b55760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c00000000000000006064820152608401610ef7565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc90565b60008060695411611617576040517fed4421ad00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61162082612fe9565b1561163e57604051630efd728560e21b815260040160405180910390fd5b6069546000906116578468010000000000000000615131565b611661919061510f565b62989680606b546801000000000000000061167c9190615131565b611686919061510f565b61169091906150e6565b9050604061169d606f5490565b606a546116ad90629896806150e6565b6298968060406116bd8680615131565b901c629896806080606c54901b6116d4919061510f565b6116de919061510f565b6116e89190615131565b6116f2919061510f565b6116fc9190615131565b901c915060705482116117115760705461105d565b50919050565b61171f612a70565b61139f816125cd565b33611732816120f5565b606a8290556040518281527f592dcd55d60d892e7fcb3ba105013312e99691cd59f91e15f83cb67cb5a505f290602001610de4565b61176f613010565b61103f600061306a565b6000611783612a70565b61178c836130bc565b6117a957604051630b72d6b160e31b815260040160405180910390fd5b60006002607254610100900460ff1660038111156117c9576117c9614836565b036117d757825b9050611834565b6001607254610100900460ff1660038111156117f5576117f5614836565b03611804576117d08484613164565b6003607254610100900460ff16600381111561182257611822614836565b036118345761183184846132ca565b90505b60745460405163011de97360e61b81526001600160a01b038681166004830152306024830152600092169063477a5cc090604401602060405180830381865afa158015611885573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118a9919061515b565b905080156118c95781606f60008282546118c39190615148565b90915550505b604080516001600160a01b0387168152602081018690529081018390527f0b9150e1e54346ed3fa36b977cd5d65dca5a649c737c3174a26bddaadd47667a9060600160405180910390a1509392505050565b33611925816130bc565b61194257604051630b72d6b160e31b815260040160405180910390fd5b6074546040517f0d4a8b490000000000000000000000000000000000000000000000000000000081526001600160a01b03838116600483015230602483015290911690630d4a8b4990604401600060405180830381600087803b1580156119a857600080fd5b505af11580156119bc573d6000803e3d6000fd5b5050607454604051637817ee4f60e01b81526001600160a01b0385811660048301523060248301529091169250637817ee4f9150604401602060405180830381865afa158015611a10573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a349190615178565b606f6000828254611a459190615148565b909155505050565b6000818152607660205260408120600281015482908190611a6f908490613511565b91509150816000148015611a81575080155b15611a8e57826003015491505b6000611a9d84600101546115da565b9092101595945050505050565b60786020528160005260406000208181548110611ac657600080fd5b90600052602060002001600091509150505481565b6000606a5462989680611aee91906150e6565b611afb6298968084615131565b610d8a919061510f565b604080518082019091526000815260606020820152600060766000848152602001908152602001600020905080600a0160405180604001604052908160008201548152602001600182018054611b5a9061509c565b80601f0160208091040260200160405190810160405280929190818152602001828054611b869061509c565b8015611bd35780601f10611ba857610100808354040283529160200191611bd3565b820191906000526020600020905b815481529060010190602001808311611bb657829003601f168201915b505050505081525050915050919050565b607460009054906101000a90046001600160a01b03166001600160a01b0316636c53db9a6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611c37573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c5b9190615191565b6001600160a01b03163303611c9357611c7381613569565b607580546001600160a01b0383166001600160a01b031990911617905550565b6040517fe860ec7e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b606060405163d623472560e01b815260040160405180910390fd5b61139f816135a9565b6000806000806000806000806000806000607660008d815260200190815260200160002090508060010154600014611d2d57611d2881600101546115da565b611d30565b60005b92508060050160009054906101000a90046001600160a01b03168160040160009054906101000a90046001600160a01b03168260060160009054906101000a90046001600160a01b0316836001015484600201548560080160009054906101000a900460ff16866007015487600301548a896009016000336001600160a01b03166001600160a01b03168152602001908152602001600020549a509a509a509a509a509a509a509a509a509a50509193959799509193959799565b6000611df960675460ff1690565b905090565b60008281526076602090815260408083206001600160a01b038516845260090190915281205461105d565b60405163d623472560e01b815260040160405180910390fd5b6000610d8a826135ea565b611e556121a4565b611e5e8261360a565b600081806020019051810190611e74919061521e565b80519091506001600160a01b0316611e9f57604051635df4b1ef60e01b815260040160405180910390fd5b8051607480546001600160a01b0319166001600160a01b039092169190911790556020810151606a556040810151606b556060810151606c5560a08101516072805460ff19166001836002811115611ef957611ef9614836565b021790555060c08101516072805461ff001916610100836003811115611f2157611f21614836565b021790555060e0810151516073556080810151607055610100810151607580546001600160a01b0319166001600160a01b039092169190911790556040517f4ebdec05fb64815e553aeaf3976ef8112dd79760a459bee3ac7d1659ab2c4e0490611f8e90859084906152b9565b60405180910390a1505050565b611fa36121a4565b611fab6121cf565b610fac828261368b565b611fbd613010565b6001600160a01b0381166120395760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610ef7565b61139f8161306a565b606580546001600160a01b0319166001600160a01b03841617905560405161206e90829060200161534c565b60408051601f1981840301815291905280516020909101206066555050565b6120956121a4565b80606960008282546120a79190615148565b9091555061139f90508161379a565b336120c0816120f5565b606c8290556040518281527f30ee8206062f283e56a0af2b02138016bf7442ded26ad68a92a18a9dd246fb4990602001610de4565b6065546068546040517f29e40d4b00000000000000000000000000000000000000000000000000000000815260048101919091526001600160a01b038381166024830152909116906329e40d4b90604401602060405180830381865afa158015612163573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612187919061515b565b61139f5760405163075fd2b160e01b815260040160405180910390fd5b6065546001600160a01b0316331461103f5760405163075fd2b160e01b815260040160405180910390fd5b60685460000361103f576040517f3da3f98c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000825111612246576040517fc5f7c4c000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008280602001905181019061225c9190615178565b905080600003612298576040517ff881a10d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000818152607660205260409020600160725460ff1660028111156122bf576122bf614836565b0361251857805482146122e85760405163c1d17bef60e01b815260048101839052602401610ef7565b606954816001015411156123405760018101546069546040517f5863b0b60000000000000000000000000000000000000000000000000000000081526004810185905260248101929092526044820152606401610ef7565b6001600882015460ff16600481111561235b5761235b614836565b1461237c576040516344980d8f60e01b815260048101839052602401610ef7565b600061238783610fb0565b9050600061239883600101546115da565b905080821080156123ad575060008360010154115b156123e4576040517fcce7930800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6065546068546040517f068bcd8d00000000000000000000000000000000000000000000000000000000815260048101919091526000916001600160a01b03169063068bcd8d90602401600060405180830381865afa15801561244b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261247391908101906153ec565b905083600101546069600082825461248b91906150e6565b90915550506040810151600485015460018601546124b392916001600160a01b0316906137ca565b60088401805460ff191660049081179091558401546001850154604080518881526001600160a01b0390931660208401528201527fa7932e9c92f31e1ed56b29d00bbe669a97484dc24de28dd9c8c0429df7f358479060600160405180910390a15050505b5050505050565b600054610100900460ff1661258a5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401610ef7565b61103f61380f565b60008061259f8484613511565b915091508160001480156125b1575080155b156125bc5750505050565b600784015560039092019190915550565b607454604051637817ee4f60e01b81526001600160a01b03838116600483015230602483015290911690637817ee4f90604401602060405180830381865afa15801561261d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126419190615178565b606f600082825461265291906150e6565b90915550506074546040517f22bcf9990000000000000000000000000000000000000000000000000000000081526001600160a01b038381166004830152306024830152909116906322bcf99990604401600060405180830381600087803b1580156126bd57600080fd5b505af11580156126d1573d6000803e3d6000fd5b505050506126de81613883565b6040516001600160a01b03821681527f1468da654b37bb3631011c1917d02e0db437d519918858d40b38b5e980ca033b906020015b60405180910390a150565b6000612729826130bc565b61274657604051630b72d6b160e31b815260040160405180910390fd5b60008380602001905181019061275c91906154a0565b805190915060000361279a576040517f4e79178600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600160725460ff1660028111156127b3576127b3614836565b03612963576127c58160200151613569565b60608101516001600160a01b0316612809576040517f596a094c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000306001600160a01b03166315cc481e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612849573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061286d9190615191565b6001600160a01b031663068bcd8d6068546040518263ffffffff1660e01b815260040161289c91815260200190565b600060405180830381865afa1580156128b9573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526128e191908101906153ec565b604001519050806001600160a01b031682606001516001600160a01b031614612936576040517fa29c498600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6129438260400151612fe9565b1561296157604051630efd728560e21b815260040160405180910390fd5b505b6000606d6000815461297490615547565b918290555060008181526076602090815260408083208481556005810180546001600160a01b038b81166001600160a01b0319928316179092558885015160048401805491841691831691909117905560608901516006840180549190931691161790559086015160018083019190915560088201805460ff19169091179055436007820155600381019290925560808501518051600a8401908155918101519394509192600b840190612a2890826155ae565b505060685460408051918252602082018590527ffcf3b1aa65a464cef2889608f99e8b8c0f680a4be6c2acb9d961c536a5a9294b92500160405180910390a150949350505050565b6074546001600160a01b0316331461103f576040517faf0916a200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b607454604080516336d8759760e21b815290516000926012926001600160a01b039091169163db61d65c916004808201926020929091908290030181865afa158015612b04573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612b289190615191565b6001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015612b81575060408051601f3d908101601f19168201909252612b7e9181019061566e565b60015b612bc857612bc36040518060400160405280601581526020017f4572726f722067657474696e6720646563696d616c0000000000000000000000815250613a10565b612bce565b60ff1690505b612c0d6040518060400160405280601081526020017f5f616d6f756e74546f556e7374616b650000000000000000000000000000000081525084613a81565b6074546040516316308e2560e11b81526001600160a01b0386811660048301526000928692911690632c611c4a90602401602060405180830381865afa158015612c5b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612c7f9190615178565b612c8991906150e6565b9050612cca6040518060400160405280600d81526020017f6e6577546f74616c5374616b650000000000000000000000000000000000000081525082613a81565b6000612ce9612cda84600a615775565b612ce49084615131565b613af4565b607454604051637817ee4f60e01b81526001600160a01b03898116600483015230602483015292935060009284921690637817ee4f90604401602060405180830381865afa158015612d3f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612d639190615178565b612d6d91906150e6565b979650505050505050565b6000600160801b8310612dcd5760405162461bcd60e51b815260206004820152601c60248201527f5f612073686f756c64206265206c657373207468616e20325e313238000000006044820152606401610ef7565b50600160801b82825b8015612e195780600116600003612dfb57612df18283613bdc565b915060011c612dd6565b612e058383613bdc565b9250612e126001826150e6565b9050612dd6565b505092915050565b61139f613010565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615612e5c57610e0b83613cdb565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015612eb6575060408051601f3d908101601f19168201909252612eb391810190615178565b60015b612f285760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201527f6f6e206973206e6f7420555550530000000000000000000000000000000000006064820152608401610ef7565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8114612fbd5760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f7860448201527f6961626c655555494400000000000000000000000000000000000000000000006064820152608401610ef7565b50610e0b838383613d99565b60006001600160a01b03821615612fe1576001610d8a565b600092915050565b6000612ff86298968083615131565b606954606b546130089190615131565b111592915050565b6033546001600160a01b0316331461103f5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610ef7565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6075546000906001600160a01b03166130d757506001919050565b6075546040517f42a987a00000000000000000000000000000000000000000000000000000000081526001600160a01b038481166004830152306024830152909116906342a987a090604401602060405180830381865afa158015613140573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d8a919061515b565b6000808290506131a96040518060400160405280601281526020017f504f494e545320544f20494e435245415345000000000000000000000000000081525082613a81565b607454604051637817ee4f60e01b81526001600160a01b0386811660048301523060248301526000921690637817ee4f90604401602060405180830381865afa1580156131fa573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061321e9190615178565b905061325f6040518060400160405280600b81526020017f4d454d424552504f57455200000000000000000000000000000000000000000081525082613a81565b60735461326c8383615148565b1115613283576073546132809082906150e6565b91505b6132c26040518060400160405280601681526020017f504f494e545320544f20494e43524541534520454e440000000000000000000081525083613a81565b509392505050565b6074546040516316308e2560e11b81526001600160a01b0384811660048301526000928392859290911690632c611c4a90602401602060405180830381865afa15801561331b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061333f9190615178565b6133499190615148565b607454604080516336d8759760e21b815290519293506012926001600160a01b039092169163db61d65c916004808201926020929091908290030181865afa158015613399573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906133bd9190615191565b6001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015613416575060408051601f3d908101601f191682019092526134139181019061566e565b60015b61345d576134586040518060400160405280601581526020017f4572726f722067657474696e6720646563696d616c0000000000000000000000815250613a10565b613463565b60ff1690505b600061347d61347383600a615775565b612ce49085615131565b607454604051637817ee4f60e01b81526001600160a01b03898116600483015230602483015292935060009290911690637817ee4f90604401602060405180830381865afa1580156134d3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906134f79190615178565b9050600061350582846150e6565b98975050505050505050565b600080439050808460070154111561352b5761352b615781565b8084600701540361354157506000905080613562565b61355f84600701548261355491906150e6565b856003015485611182565b91505b9250929050565b6001600160a01b03811661139f576040517fe622e04000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6067805460ff19168215159081179091556040519081527fd94c9bc4d43c51d8dc345a016d8e3d994432fac68e72832e4cf3a616bd8efae090602001612713565b60006001600160a01b03821615613602576002610d8a565b600392915050565b6136126121a4565b6068541561364c576040517f439a74c900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80600003613686576040517f7fcce2a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b606855565b61369481613dbe565b61369d816130bc565b6136ba57604051630b72d6b160e31b815260040160405180910390fd5b60745460405163011de97360e61b81526001600160a01b038381166004830152306024830152600092169063477a5cc090604401602060405180830381865afa15801561370b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061372f919061515b565b905080613768576040517f5fccb67f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008380602001905181019061377e9190615797565b905061378a8382613ee4565b61379483826140a7565b50505050565b6040518181527f46aeb5d8770fc4474bc2dfa118fd2595f7fb33ce2cbce6f4e5a3dabfe0f7633990602001612713565b7fffffffffffffffffffffffff11111111111111111111111111111111111111126001600160a01b0384160161380457610e0b82826144cb565b610e0b8383836144e7565b600054610100900460ff1661387a5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401610ef7565b61103f3361306a565b6001600160a01b0381166000908152607860209081526040808320805482518185028101850190935280835291929091908301828280156138e357602002820191906000526020600020905b8154815260200190600101908083116138cf575b5050505050905060005b8151811015610e0b57600082828151811061390a5761390a615842565b60200260200101519050600060766000838152602001908152602001600020905061393482614536565b156139fb576001600160a01b038516600090815260098201602052604081208054908290556002830180549192839261396e9084906150e6565b9250508190555080606e600082825461398791906150e6565b9091555061399790508282612592565b60028201546003830154604080516001600160a01b038a1681526020810187905260008183015260608101939093526080830191909152517f0227f642ddcf2042ceaeafadb9d540f432072c00cd4862881667168dcc14710f9181900360a00190a1505b50508080613a0890615547565b9150506138ed565b61139f81604051602401613a24919061534c565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f41304fac0000000000000000000000000000000000000000000000000000000017905261456f565b610fac8282604051602401613a97929190615858565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f9710a9d00000000000000000000000000000000000000000000000000000000017905261456f565b600081600003613b0657506000919050565b60006001613b1384614590565b901c6001901b90506001818481613b2c57613b2c6150f9565b048201901c90506001818481613b4457613b446150f9565b048201901c90506001818481613b5c57613b5c6150f9565b048201901c90506001818481613b7457613b746150f9565b048201901c90506001818481613b8c57613b8c6150f9565b048201901c90506001818481613ba457613ba46150f9565b048201901c90506001818481613bbc57613bbc6150f9565b048201901c905061105d81828581613bd657613bd66150f9565b04614624565b6000600160801b831115613c585760405162461bcd60e51b815260206004820152602860248201527f5f612073686f756c64206265206c657373207468616e206f7220657175616c2060448201527f746f20325e3132380000000000000000000000000000000000000000000000006064820152608401610ef7565b600160801b8210613cab5760405162461bcd60e51b815260206004820152601c60248201527f5f622073686f756c64206265206c657373207468616e20325e313238000000006044820152606401610ef7565b60806f80000000000000000000000000000000613cc88486615131565b613cd29190615148565b901c9392505050565b6001600160a01b0381163b613d585760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201527f6f74206120636f6e7472616374000000000000000000000000000000000000006064820152608401610ef7565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b613da28361463a565b600082511180613daf5750805b15610e0b57613794838361467a565b6001600160a01b038116613dfe576040517fd1f2828800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6074546001600160a01b0316613e2757604051635df4b1ef60e01b815260040160405180910390fd5b6074546040517fa230c5240000000000000000000000000000000000000000000000000000000081526001600160a01b0383811660048301529091169063a230c52490602401602060405180830381865afa158015613e8a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613eae919061515b565b61139f576040517f6a5cfb6d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000805b8251811015613fa157828181518110613f0357613f03615842565b60200260200101516000015160000315613f8f576000838281518110613f2b57613f2b615842565b6020026020010151600001519050613f4281614536565b613f625760405163c1d17bef60e01b815260048101829052602401610ef7565b838281518110613f7457613f74615842565b60200260200101516020015183613f8b919061587a565b9250505b80613f9981615547565b915050613ee8565b506001600160a01b038316600090815260776020526040812054613fc5908361469f565b607454604051637817ee4f60e01b81526001600160a01b03878116600483015230602483015292935060009290911690637817ee4f90604401602060405180830381865afa15801561401b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061403f9190615178565b905080821115614085576040517fd64182fe0000000000000000000000000000000000000000000000000000000081526004810183905260248101829052604401610ef7565b506001600160a01b039093166000908152607760205260409020929092555050565b606060005b82518110156137945760008382815181106140c9576140c9615842565b60200260200101516000015190508251600003614125576040805160018082528183019092529060208083019080368337019050509250808360008151811061411457614114615842565b602002602001018181525050614278565b6000805b84518110156141a4578285828151811061414557614145615842565b602002602001015103614192576040517fadebb154000000000000000000000000000000000000000000000000000000008152600481018490526024810182905260019250604401610ef7565b8061419c81615547565b915050614129565b5080614276576000845160016141ba9190615148565b67ffffffffffffffff8111156141d2576141d26149b6565b6040519080825280602002602001820160405280156141fb578160200160208202803683370190505b50905060005b85518110156142535785818151811061421c5761421c615842565b602002602001015182828151811061423657614236615842565b60209081029190910101528061424b81615547565b915050614201565b50828186518151811061426857614268615842565b602090810291909101015293505b505b600084838151811061428c5761428c615842565b60209081029190910181015181015160008481526076835260408082206001600160a01b038b168352600981019094528120549193506142cc828561469f565b6001600160a01b038a1660009081526009850160205260408120829055909150805b6001600160a01b038b166000908152607860205260409020548110156143655784546001600160a01b038c16600090815260786020526040902080548390811061433a5761433a615842565b9060005260206000200154036143535760019150614365565b8061435d81615547565b9150506142ee565b508061439b576001600160a01b038a16600090815260786020908152604082208654815460018101835591845291909220909101555b8183116143eb576143ac83836150e6565b606e60008282546143bd9190615148565b909155506143cd905083836150e6565b8460020160008282546143e09190615148565b9091555061442f9050565b6143f582846150e6565b606e600082825461440691906150e6565b90915550614416905082846150e6565b84600201600082825461442991906150e6565b90915550505b8360070154600003614446574360078501556144b2565b6144508484612592565b60028401546003850154604080516001600160a01b038e168152602081018a9052908101859052606081019290925260808201527f0227f642ddcf2042ceaeafadb9d540f432072c00cd4862881667168dcc14710f9060a00160405180910390a15b50505050505080806144c390615547565b9150506140ac565b60008060008084865af1610fac5763b12d13eb6000526004601cfd5b81601452806034526fa9059cbb00000000000000000000000060005260206000604460106000875af13d15600160005114171661452c576390b8ec186000526004601cfd5b6000603452505050565b60008181526076602052604081205415801590610d8a5750506000908152607660205260409020600501546001600160a01b0316151590565b80516a636f6e736f6c652e6c6f67602083016000808483855afa5050505050565b600080608083901c156145a557608092831c92015b604083901c156145b757604092831c92015b602083901c156145c957602092831c92015b601083901c156145db57601092831c92015b600883901c156145ed57600892831c92015b600483901c156145ff57600492831c92015b600283901c1561461157600292831c92015b600183901c15610d8a5760010192915050565b6000818310614633578161105d565b5090919050565b61464381613cdb565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b606061105d83836040518060600160405280602781526020016158b7602791396146fa565b6000806146ac838561587a565b9050600081121561105d576040517f3bbc7142000000000000000000000000000000000000000000000000000000008152600481018590526024810184905260448101829052606401610ef7565b6060600080856001600160a01b031685604051614717919061589a565b600060405180830381855af49150503d8060008114614752576040519150601f19603f3d011682016040523d82523d6000602084013e614757565b606091505b509150915061476886838387614772565b9695505050505050565b606083156147e15782516000036147da576001600160a01b0385163b6147da5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610ef7565b50816147eb565b6147eb83836147f3565b949350505050565b8151156148035781518083602001fd5b8060405162461bcd60e51b8152600401610ef7919061534c565b60006020828403121561482f57600080fd5b5035919050565b634e487b7160e01b600052602160045260246000fd5b6005811061485c5761485c614836565b9052565b60005b8381101561487b578181015183820152602001614863565b50506000910152565b6000815180845261489c816020860160208601614860565b601f01601f19169290920160200192915050565b8051825260006020820151604060208501526147eb6040850182614884565b60006101408c83528b60208401528a60408401528960608401526001600160a01b03808a16608085015280891660a085015280881660c0850152508560e084015261491e61010084018661484c565b80610120840152614931818401856148b0565b9d9c50505050505050505050505050565b60006020828403121561495457600080fd5b81357fffffffff000000000000000000000000000000000000000000000000000000008116811461105d57600080fd5b6001600160a01b038116811461139f57600080fd5b6000602082840312156149ab57600080fd5b813561105d81614984565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff811182821017156149ef576149ef6149b6565b60405290565b604051610120810167ffffffffffffffff811182821017156149ef576149ef6149b6565b60405160c0810167ffffffffffffffff811182821017156149ef576149ef6149b6565b60405160a0810167ffffffffffffffff811182821017156149ef576149ef6149b6565b604051601f8201601f1916810167ffffffffffffffff81118282101715614a8857614a886149b6565b604052919050565b600067ffffffffffffffff821115614aaa57614aaa6149b6565b5060051b60200190565b600082601f830112614ac557600080fd5b81356020614ada614ad583614a90565b614a5f565b82815260059290921b84018101918181019086841115614af957600080fd5b8286015b84811015614b1d578035614b1081614984565b8352918301918301614afd565b509695505050505050565b600067ffffffffffffffff821115614b4257614b426149b6565b50601f01601f191660200190565b6000614b5e614ad584614b28565b9050828152838383011115614b7257600080fd5b828260208301376000602084830101529392505050565b600082601f830112614b9a57600080fd5b61105d83833560208501614b50565b600080600060608486031215614bbe57600080fd5b833567ffffffffffffffff80821115614bd657600080fd5b614be287838801614ab4565b94506020860135915080821115614bf857600080fd5b50614c0586828701614b89565b9250506040840135614c1681614984565b809150509250925092565b60008060408385031215614c3457600080fd5b823567ffffffffffffffff811115614c4b57600080fd5b614c5785828601614b89565b9250506020830135614c6881614984565b809150509250929050565b6004811061485c5761485c614836565b60208101610d8a8284614c73565b60008060408385031215614ca457600080fd5b8235614caf81614984565b946020939093013593505050565b600080600060608486031215614cd257600080fd5b505081359360208301359350604090920135919050565b6003811061485c5761485c614836565b60208101610d8a8284614ce9565b60008060408385031215614d1a57600080fd5b8235614d2581614984565b9150602083013567ffffffffffffffff811115614d4157600080fd5b614d4d85828601614b89565b9150509250929050565b60208152600061105d60208301846148b0565b60008060408385031215614d7d57600080fd5b823567ffffffffffffffff80821115614d9557600080fd5b614da186838701614ab4565b9350602091508185013581811115614db857600080fd5b8501601f81018713614dc957600080fd5b8035614dd7614ad582614a90565b81815260059190911b82018401908481019089831115614df657600080fd5b8584015b83811015614e2e57803586811115614e125760008081fd5b614e208c8983890101614b89565b845250918601918601614dfa565b508096505050505050509250929050565b602080825282518282018190526000919060409081850190868401855b82811015614e8a57815180516001600160a01b03168552860151868501529284019290850190600101614e5c565b5091979650505050505050565b801515811461139f57600080fd5b600060208284031215614eb757600080fd5b813561105d81614e97565b6001600160a01b038b811682528a811660208301528916604082015260608101889052608081018790526101408101614efe60a083018861484c565b8560c08301528460e083015283610100830152826101208301529b9a5050505050505050505050565b60008060408385031215614f3a57600080fd5b823591506020830135614c6881614984565b60006020808385031215614f5f57600080fd5b823567ffffffffffffffff811115614f7657600080fd5b8301601f81018513614f8757600080fd5b8035614f95614ad582614a90565b81815260069190911b82018301908381019087831115614fb457600080fd5b928401925b82841015612d6d5760408489031215614fd25760008081fd5b614fda6149cc565b843581528585013586820152825260409093019290840190614fb9565b602081016007831061500b5761500b614836565b91905290565b6000806040838503121561502457600080fd5b82359150602083013567ffffffffffffffff811115614d4157600080fd5b6000806040838503121561505557600080fd5b823561506081614984565b9150602083013567ffffffffffffffff81111561507c57600080fd5b8301601f8101851361508d57600080fd5b614d4d85823560208401614b50565b600181811c908216806150b057607f821691505b60208210810361171157634e487b7160e01b600052602260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b81810381811115610d8a57610d8a6150d0565b634e487b7160e01b600052601260045260246000fd5b60008261512c57634e487b7160e01b600052601260045260246000fd5b500490565b8082028115828204841417610d8a57610d8a6150d0565b80820180821115610d8a57610d8a6150d0565b60006020828403121561516d57600080fd5b815161105d81614e97565b60006020828403121561518a57600080fd5b5051919050565b6000602082840312156151a357600080fd5b815161105d81614984565b80516151b981614984565b919050565b8051600381106151b957600080fd5b8051600481106151b957600080fd5b6000602082840312156151ee57600080fd5b6040516020810181811067ffffffffffffffff82111715615211576152116149b6565b6040529151825250919050565b6000610120828403121561523157600080fd5b6152396149f5565b615242836151ae565b81526020830151602082015260408301516040820152606083015160608201526080830151608082015261527860a084016151be565b60a082015261528960c084016151cd565b60c082015261529b8460e085016151dc565b60e08201526101006152ae8185016151ae565b908201529392505050565b6000610140820190508382526001600160a01b038351166020830152602083015160408301526040830151606083015260608301516080830152608083015160a083015260a083015161530f60c0840182614ce9565b5060c083015161532260e0840182614c73565b5060e08301515161010083810191909152909201516001600160a01b031661012090910152919050565b60208152600061105d6020830184614884565b60006040828403121561537157600080fd5b6153796149cc565b905081518152602082015167ffffffffffffffff81111561539957600080fd5b8201601f810184136153aa57600080fd5b80516153b8614ad582614b28565b8181528560208385010111156153cd57600080fd5b6153de826020830160208601614860565b602084015250909392505050565b6000602082840312156153fe57600080fd5b815167ffffffffffffffff8082111561541657600080fd5b9083019060c0828603121561542a57600080fd5b615432614a19565b82518152602083015161544481614984565b6020820152604083015161545781614984565b604082015260608301518281111561546e57600080fd5b61547a8782860161535f565b6060830152506080830151608082015260a083015160a082015280935050505092915050565b6000602082840312156154b257600080fd5b815167ffffffffffffffff808211156154ca57600080fd5b9083019060a082860312156154de57600080fd5b6154e6614a3c565b8251815260208301516154f881614984565b602082015260408381015190820152606083015161551581614984565b606082015260808301518281111561552c57600080fd5b6155388782860161535f565b60808301525095945050505050565b600060018201615559576155596150d0565b5060010190565b601f821115610e0b57600081815260208120601f850160051c810160208610156155875750805b601f850160051c820191505b818110156155a657828155600101615593565b505050505050565b815167ffffffffffffffff8111156155c8576155c86149b6565b6155dc816155d6845461509c565b84615560565b602080601f83116001811461561157600084156155f95750858301515b600019600386901b1c1916600185901b1785556155a6565b600085815260208120601f198616915b8281101561564057888601518255948401946001909101908401615621565b508582101561565e5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60006020828403121561568057600080fd5b815160ff8116811461105d57600080fd5b600181815b808511156156cc5781600019048211156156b2576156b26150d0565b808516156156bf57918102915b93841c9390800290615696565b509250929050565b6000826156e357506001610d8a565b816156f057506000610d8a565b816001811461570657600281146157105761572c565b6001915050610d8a565b60ff841115615721576157216150d0565b50506001821b610d8a565b5060208310610133831016604e8410600b841016171561574f575081810a610d8a565b6157598383615691565b806000190482111561576d5761576d6150d0565b029392505050565b600061105d83836156d4565b634e487b7160e01b600052600160045260246000fd5b600060208083850312156157aa57600080fd5b825167ffffffffffffffff8111156157c157600080fd5b8301601f810185136157d257600080fd5b80516157e0614ad582614a90565b81815260069190911b820183019083810190878311156157ff57600080fd5b928401925b82841015612d6d576040848903121561581d5760008081fd5b6158256149cc565b845181528585015186820152825260409093019290840190615804565b634e487b7160e01b600052603260045260246000fd5b60408152600061586b6040830185614884565b90508260208301529392505050565b8082018281126000831280158216821582161715612e1957612e196150d0565b600082516158ac818460208701614860565b919091019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a264697066735822122049b3231cbecd6db9d79eb7e6e0aa3bb1452345bd067dee068696bdb771968c2d64736f6c63430008130033","sourceMap":"3067:38512:130:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7415:60;;;;;;;;;;-1:-1:-1;7415:60:130;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;9454:202;;;;;;;;;;-1:-1:-1;9454:202:130;;;;;:::i;:::-;;:::i;:::-;;;3023:14:151;;3016:22;2998:41;;2986:2;2971:18;9454:202:130;2858:187:151;40831:223:130;;;;;;;;;;-1:-1:-1;40831:223:130;;;;;:::i;:::-;;:::i;7290:325:128:-;;;;;;;;;;-1:-1:-1;7290:325:128;;;;;:::i;:::-;;:::i;18248:99:130:-;;;;;;;;;;-1:-1:-1;18319:11:130;:21;18248:99;;;7505:25:151;;;7493:2;7478:18;18248:99:130;7359:177:151;6700:34:130;;;;;;;;;;;;;;;;6152:36;;;;;;;;;;;;6180:8;6152:36;;40521:155;;;;;;;;;;-1:-1:-1;40521:155:130;;;;;:::i;:::-;;:::i;3330:86:128:-;;;;;;;;;;-1:-1:-1;3405:4:128;;-1:-1:-1;;;;;3405:4:128;3330:86;;;-1:-1:-1;;;;;7719:55:151;;;7701:74;;7689:2;7674:18;3330:86:128;7541:240:151;8154:132:130;;;;;;;;;;-1:-1:-1;8154:132:130;;;;;:::i;:::-;;:::i;39722:520::-;;;;;;;;;;-1:-1:-1;39722:520:130;;;;;:::i;:::-;;:::i;13481:81::-;;;;;;;;;;;;;:::i;6014:344:128:-;;;;;;:::i;:::-;;:::i;41060:237:130:-;;;;;;;;;;-1:-1:-1;41060:237:130;;;;;:::i;:::-;;:::i;7130:45::-;;;;;;;;;;-1:-1:-1;7130:45:130;;;;;;;;;;;;;;;;;;:::i;15122:681::-;;;;;;;;;;-1:-1:-1;15122:681:130;;;;;:::i;:::-;;:::i;33880:1145::-;;;;;;;;;;-1:-1:-1;33880:1145:130;;;;;:::i;:::-;;:::i;7024:47::-;;;;;;;;;;-1:-1:-1;7024:47:130;;;;;;;;;;;;;;;:::i;3143:195:68:-;;;;;;;;;;-1:-1:-1;3143:195:68;;;;;:::i;:::-;;:::i;3498:92:128:-;;;;;;;;;;-1:-1:-1;3577:6:128;;3498:92;;6441:49:130;;;;;;;;;;;;6488:2;6441:49;;3680:100:128;;;;;;;;;;-1:-1:-1;3763:10:128;;3680:100;;3871:108;;;;;;;;;;-1:-1:-1;3962:10:128;;3871:108;;8980:145;;;;;;;;;;-1:-1:-1;8980:145:128;;;;;:::i;:::-;;:::i;3657:220:68:-;;;;;;:::i;:::-;;:::i;2762:131::-;;;;;;;;;;;;;:::i;6618:20:130:-;;;;;;;;;;;;;;;;35606:1482;;;;;;;;;;-1:-1:-1;35606:1482:130;;;;;:::i;:::-;;:::i;7531:53::-;;;;;;;;;;-1:-1:-1;7531:53:130;;;;;:::i;:::-;;;;;;;;;;;;;;7265:46;;;;;;;;;;-1:-1:-1;7265:46:130;;;;-1:-1:-1;;;;;7265:46:130;;;13568:128;;;;;;;;;;-1:-1:-1;13568:128:130;;;;;:::i;:::-;;:::i;40378:137::-;;;;;;;;;;-1:-1:-1;40378:137:130;;;;;:::i;:::-;;:::i;2085:101:46:-;;;;;;;;;;;;;:::i;6644:23:130:-;;;;;;;;;;;;;;;;14059:1057;;;;;;;;;;-1:-1:-1;14059:1057:130;;;;;:::i;:::-;;:::i;6813:38::-;;;;;;;;;;;;;;;;13124:351;;;;;;;;;;;;;:::i;6740:26::-;;;;;;;;;;;;;;;;21619:735;;;;;;;;;;-1:-1:-1;21619:735:130;;;;;:::i;:::-;;:::i;7622:57::-;;;;;;;;;;-1:-1:-1;7622:57:130;;;;;:::i;:::-;;:::i;1462:85:46:-;;;;;;;;;;-1:-1:-1;1534:6:46;;-1:-1:-1;;;;;1534:6:46;1462:85;;40248:124:130;;;;;;;;;;-1:-1:-1;40248:124:130;;;;;:::i;:::-;;:::i;4412:75:9:-;;;;;;;;;;;;4445:42;4412:75;;6673:21:130;;;;;;;;;;;;;;;;7181:51;;;;;;;;;;-1:-1:-1;7181:51:130;;;;;;26510:198;;;;;;;;;;-1:-1:-1;26510:198:130;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;6772:35::-;;;;;;;;;;;;;;;;41303:170;;;;;;;;;;-1:-1:-1;41303:170:130;;;;;:::i;:::-;;:::i;22993:288::-;;;;;;;;;;-1:-1:-1;22993:288:130;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;23976:86::-;;;;;;;;;;-1:-1:-1;23976:86:130;;;;;:::i;:::-;;:::i;7317:31::-;;;;;;;;;;-1:-1:-1;7317:31:130;;;;-1:-1:-1;;;;;7317:31:130;;;27305:127;;;;;;;;;;-1:-1:-1;27305:127:130;;;;;:::i;:::-;-1:-1:-1;;;;;27399:26:130;27373:7;27399:26;;;:18;:26;;;;;;;27305:127;18353:110;;;;;;;;;;-1:-1:-1;18445:11:130;;;;;;;18353:110;;25466:1038;;;;;;;;;;-1:-1:-1;25466:1038:130;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;;;;;:::i;38293:112::-;;;;;;;;;;-1:-1:-1;38378:20:130;;38293:112;;27091:145;;;;;;;;;;-1:-1:-1;27091:145:130;;;;;:::i;:::-;27168:7;27194:22;;;:9;:22;;;;;:35;;;;27091:145;4111:101:128;;;;;;;;;;;;;:::i;26909:176:130:-;;;;;;;;;;-1:-1:-1;26909:176:130;;;;;:::i;:::-;;:::i;18579:226::-;;;;;;;;;;-1:-1:-1;18579:226:130;;;;;:::i;:::-;;:::i;4368:146:128:-;;;;;;;;;;-1:-1:-1;4368:146:128;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;8292:761:130:-;;;;;;;;;;-1:-1:-1;8292:761:130;;;;;:::i;:::-;;:::i;6677:220:128:-;;;;;;:::i;:::-;;:::i;2335:198:46:-;;;;;;;;;;-1:-1:-1;2335:198:46;;;;;:::i;:::-;;:::i;1559:152:128:-;;;;;;;;;;-1:-1:-1;1559:152:128;;;;;:::i;:::-;;:::i;5401:197::-;;;;;;;;;;-1:-1:-1;5401:197:128;;;;;:::i;:::-;;:::i;40682:143:130:-;;;;;;;;;;-1:-1:-1;40682:143:130;;;;;:::i;:::-;;:::i;7415:60::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7415:60:130;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;9454:202::-;9539:4;9562:47;;;9577:32;9562:47;;:87;;-1:-1:-1;952:25:84;937:40;;;;9613:36:130;9555:94;9454:202;-1:-1:-1;;9454:202:130:o;40831:223::-;40914:10;2499:30:128;2521:7;2499:21;:30::i;:::-;40936:17:130::1;:61:::0;;-1:-1:-1;;;;;;40936:61:130::1;-1:-1:-1::0;;;;;40936:61:130;::::1;::::0;;::::1;::::0;;;41012:35:::1;::::0;7701:74:151;;;41012:35:130::1;::::0;7689:2:151;7674:18;41012:35:130::1;;;;;;;;40831:223:::0;;:::o;7290:325:128:-;2205:16;:14;:16::i;:::-;3077:23:::1;:21;:23::i;:::-;7509:42:::2;7521:13;7536:5;7543:7;7509:11;:42::i;:::-;7290:325:::0;;;:::o;40521:155:130:-;40586:10;2499:30:128;2521:7;2499:21;:30::i;:::-;40608:8:130::1;:20:::0;;;40643:26:::1;::::0;7505:25:151;;;40643:26:130::1;::::0;7493:2:151;7478:18;40643:26:130::1;7359:177:151::0;8154:132:130;3279:19:48;3302:13;;;;;;3301:14;;3347:34;;;;-1:-1:-1;3365:12:48;;3380:1;3365:12;;;;:16;3347:34;3346:108;;;-1:-1:-1;3426:4:48;1713:19:51;:23;;;3387:66:48;;-1:-1:-1;3436:12:48;;;;;:17;3387:66;3325:201;;;;-1:-1:-1;;;3325:201:48;;18218:2:151;3325:201:48;;;18200:21:151;18257:2;18237:18;;;18230:30;18296:34;18276:18;;;18269:62;18367:16;18347:18;;;18340:44;18401:19;;3325:201:48;;;;;;;;;3536:12;:16;;-1:-1:-1;;3536:16:48;3551:1;3536:16;;;3562:65;;;;3596:13;:20;;-1:-1:-1;;3596:20:48;;;;;3562:65;8222:31:130::1;8233:5;8222:31;;;;;;;;;;;;;;;;::::0;:10:::1;:31::i;:::-;8263:16;:14;:16::i;:::-;3651:14:48::0;3647:99;;;3697:5;3681:21;;-1:-1:-1;;3681:21:48;;;3721:14;;-1:-1:-1;18583:36:151;;3721:14:48;;18571:2:151;18556:18;3721:14:48;18431:194:151;3647:99:48;3269:483;8154:132:130;:::o;39722:520::-;39792:7;39854:21;;;:9;:21;;;;;39890:19;;:33;;39886:100;;39946:29;;-1:-1:-1;;;39946:29:130;;;;;7505:25:151;;;7478:18;;39946:29:130;7359:177:151;39886:100:130;40027:36;40000:23;;;;;;:63;;;;;;;;:::i;:::-;;39996:130;;40086:29;;-1:-1:-1;;;40086:29:130;;;;;7505:25:151;;;7478:18;;40086:29:130;7359:177:151;39996:130:130;40136:59;40163:8;40173;:21;;;40136:26;:59::i;:::-;40212:23;;;;39722:520;-1:-1:-1;;39722:520:130:o;13481:81::-;13526:29;13544:10;13526:17;:29::i;:::-;13481:81::o;6014:344:128:-;6169:19;2205:16;:14;:16::i;:::-;3077:23:::1;:21;:23::i;:::-;6268:34:::2;6287:5;6294:7;6268:18;:34::i;:::-;6254:48:::0;6014:344;-1:-1:-1;;;6014:344:128:o;41060:237:130:-;41145:10;2499:30:128;2521:7;2499:21;:30::i;:::-;41198:19:130::1;::::0;41172:67:::1;::::0;;18804:25:151;;;18860:2;18845:18;;18838:34;;;41172:67:130::1;::::0;18777:18:151;41172:67:130::1;;;;;;;-1:-1:-1::0;41249:19:130::1;:41:::0;41060:237::o;15122:681::-;15206:7;15225:23;:21;:23::i;:::-;15304:24;15361:36;15346:11;;;;;;;:51;;;;;;;;:::i;:::-;;:103;;;-1:-1:-1;15416:33:130;15401:11;;;;;;;:48;;;;;;;;:::i;:::-;;15346:103;15342:298;;;-1:-1:-1;15513:16:130;15342:298;;;15580:49;15603:7;15612:16;15580:22;:49::i;:::-;15561:68;;15342:298;15673:16;15649:20;;:40;;;;;;;:::i;:::-;;;;-1:-1:-1;;15704:59:130;;;-1:-1:-1;;;;;19425:55:151;;19407:74;;19512:2;19497:18;;19490:34;;;19540:18;;;19533:34;;;15704:59:130;;19395:2:151;19380:18;15704:59:130;;;;;;;15780:16;15122:681;-1:-1:-1;;;15122:681:130:o;33880:1145::-;34014:7;34037:9;34049:11;34037:23;;34375:17;34395:27;6180:8;34410:3;34401:5;;:12;;34400:18;;;;:::i;:::-;34420:1;34395:4;:27::i;:::-;34375:47;;35015:3;6323:34;34992:5;;6180:8;34988:9;;;;:::i;:::-;34963:19;34973:9;-1:-1:-1;;;34963:19:130;:::i;:::-;34945:14;6180:8;34945:10;:14;:::i;:::-;:38;;;;:::i;:::-;34944:54;;;;:::i;:::-;34918:21;34930:9;34918;:21;:::i;:::-;34917:82;;;;:::i;:::-;34916:94;;;;:::i;:::-;34915:103;;;33880:1145;-1:-1:-1;;;;;;33880:1145:130:o;3143:195:68:-;-1:-1:-1;;;;;1654:6:68;1637:23;1645:4;1637:23;1629:80;;;;-1:-1:-1;;;1629:80:68;;20551:2:151;1629:80:68;;;20533:21:151;20590:2;20570:18;;;20563:30;20629:34;20609:18;;;20602:62;-1:-1:-1;;;20680:18:151;;;20673:42;20732:19;;1629:80:68;20349:408:151;1629:80:68;1751:6;-1:-1:-1;;;;;1727:30:68;:20;1030:66:64;1254:54;-1:-1:-1;;;;;1254:54:64;;1175:140;1727:20:68;-1:-1:-1;;;;;1727:30:68;;1719:87;;;;-1:-1:-1;;;1719:87:68;;20964:2:151;1719:87:68;;;20946:21:151;21003:2;20983:18;;;20976:30;21042:34;21022:18;;;21015:62;-1:-1:-1;;;21093:18:151;;;21086:42;21145:19;;1719:87:68;20762:408:151;1719:87:68;3224:36:::1;3242:17;3224;:36::i;:::-;3311:12;::::0;;3321:1:::1;3311:12:::0;;;::::1;::::0;::::1;::::0;;;3270:61:::1;::::0;3292:17;;3311:12;3270:21:::1;:61::i;:::-;3143:195:::0;:::o;8980:145:128:-;9066:4;9089:29;9107:10;9089:17;:29::i;3657:220:68:-;-1:-1:-1;;;;;1654:6:68;1637:23;1645:4;1637:23;1629:80;;;;-1:-1:-1;;;1629:80:68;;20551:2:151;1629:80:68;;;20533:21:151;20590:2;20570:18;;;20563:30;20629:34;20609:18;;;20602:62;-1:-1:-1;;;20680:18:151;;;20673:42;20732:19;;1629:80:68;20349:408:151;1629:80:68;1751:6;-1:-1:-1;;;;;1727:30:68;:20;1030:66:64;1254:54;-1:-1:-1;;;;;1254:54:64;;1175:140;1727:20:68;-1:-1:-1;;;;;1727:30:68;;1719:87;;;;-1:-1:-1;;;1719:87:68;;20964:2:151;1719:87:68;;;20946:21:151;21003:2;20983:18;;;20976:30;21042:34;21022:18;;;21015:62;-1:-1:-1;;;21093:18:151;;;21086:42;21145:19;;1719:87:68;20762:408:151;1719:87:68;3772:36:::1;3790:17;3772;:36::i;:::-;3818:52;3840:17;3859:4;3865;3818:21;:52::i;2762:131::-:0;2840:7;2080:4;-1:-1:-1;;;;;2089:6:68;2072:23;;2064:92;;;;-1:-1:-1;;;2064:92:68;;21377:2:151;2064:92:68;;;21359:21:151;21416:2;21396:18;;;21389:30;21455:34;21435:18;;;21428:62;21526:26;21506:18;;;21499:54;21570:19;;2064:92:68;21175:420:151;2064:92:68;-1:-1:-1;1030:66:64::1;2762:131:68::0;:::o;35606:1482:130:-;35681:18;35849:1;35835:10;;:15;35831:66;;35873:13;;;;;;;;;;;;;;35831:66;36337:33;36353:16;36337:15;:33::i;:::-;36333:91;;;36393:20;;-1:-1:-1;;;36393:20:130;;;;;;;;;;;36333:91;36646:10;;36572:13;;36616:26;:16;36635:7;36616:26;:::i;:::-;36615:41;;;;:::i;:::-;6180:8;36589;;36600:7;36589:18;;;;:::i;:::-;36588:24;;;;:::i;:::-;:68;;;;:::i;:::-;36572:84;;36809:2;36767:28;38378:20;;;38293:112;36767:28;36757:5;;36753:9;;6180:8;36753:9;:::i;:::-;6180:8;36740:2;36722:13;36730:5;;36722:13;:::i;:::-;36721:21;;6180:8;36708:3;36698:6;;:13;;36697:19;;;;:::i;:::-;36696:47;;;;:::i;:::-;36695:53;;;;:::i;:::-;36694:69;;;;:::i;:::-;36693:102;;;;:::i;:::-;36679:132;;36666:145;;37027:19;;37014:10;:32;:67;;37062:19;;37014:67;;;-1:-1:-1;37049:10:130;37001:80;-1:-1:-1;35606:1482:130:o;13568:128::-;13630:23;:21;:23::i;:::-;13663:26;13681:7;13663:17;:26::i;40378:137::-;40437:10;2499:30:128;2521:7;2499:21;:30::i;:::-;40459:5:130::1;:14:::0;;;40488:20:::1;::::0;7505:25:151;;;40488:20:130::1;::::0;7493:2:151;7478:18;40488:20:130::1;7359:177:151::0;2085:101:46;1355:13;:11;:13::i;:::-;2149:30:::1;2176:1;2149:18;:30::i;14059:1057:130:-:0;14141:7;14205:23;:21;:23::i;:::-;14243:26;14261:7;14243:17;:26::i;:::-;14238:90;;14292:25;;-1:-1:-1;;;14292:25:130;;;;;;;;;;;14238:90;14337:24;14394:36;14379:11;;;;;;;:51;;;;;;;;:::i;:::-;;14375:441;;14488:14;14465:38;14446:57;;14375:441;;;14539:33;14524:11;;;;;;;:48;;;;;;;;:::i;:::-;;14520:296;;14607:44;14627:7;14636:14;14607:19;:44::i;14520:296::-;14687:36;14672:11;;;;;;;:51;;;;;;;;:::i;:::-;;14668:148;;14758:47;14781:7;14790:14;14758:22;:47::i;:::-;14739:66;;14668:148;14844:17;;:69;;-1:-1:-1;;;14844:69:130;;-1:-1:-1;;;;;21853:15:151;;;14844:69:130;;;21835:34:151;14907:4:130;21885:18:151;;;21878:43;14825:16:130;;14844:17;;:45;;21747:18:151;;14844:69:130;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14825:88;;14927:11;14923:82;;;14978:16;14954:20;;:40;;;;;;;:::i;:::-;;;;-1:-1:-1;;14923:82:130;15019:57;;;-1:-1:-1;;;;;19425:55:151;;19407:74;;19512:2;19497:18;;19490:34;;;19540:18;;;19533:34;;;15019:57:130;;19395:2:151;19380:18;15019:57:130;;;;;;;-1:-1:-1;15093:16:130;14059:1057;-1:-1:-1;;;14059:1057:130:o;13124:351::-;13186:10;13211:25;13186:10;13211:17;:25::i;:::-;13206:89;;13259:25;;-1:-1:-1;;;13259:25:130;;;;;;;;;;;13206:89;13304:17;;:65;;;;;-1:-1:-1;;;;;21853:15:151;;;13304:65:130;;;21835:34:151;13363:4:130;21885:18:151;;;21878:43;13304:17:130;;;;:42;;21747:18:151;;13304:65:130;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;13403:17:130;;:65;;-1:-1:-1;;;13403:65:130;;-1:-1:-1;;;;;21853:15:151;;;13403:65:130;;;21835:34:151;13462:4:130;21885:18:151;;;21878:43;13403:17:130;;;;-1:-1:-1;13403:42:130;;-1:-1:-1;21747:18:151;;13403:65:130;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13379:20;;:89;;;;;;;:::i;:::-;;;;-1:-1:-1;;;13124:351:130:o;21619:735::-;21688:18;21761:21;;;:9;:21;;;;;21971;;;;21688:18;;;;21927:66;;21761:21;;21927:33;:66::i;:::-;21867:126;;;;22008:14;22026:1;22008:19;:39;;;;-1:-1:-1;22031:16:130;;22008:39;22004:110;;;22080:8;:23;;;22063:40;;22004:110;22123:17;22143:44;22162:8;:24;;;22143:18;:44::i;:::-;22320:27;;;;;21619:735;-1:-1:-1;;;;;21619:735:130:o;7622:57::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;40248:124::-;40311:7;40358:5;;6180:8;40354:9;;;;:::i;:::-;40339:10;6180:8;40339:6;:10;:::i;:::-;40338:26;;;;:::i;26510:198::-;-1:-1:-1;;;;;;;;;;;;;;;;;26602:40:130;26645:9;:22;26655:11;26645:22;;;;;;;;;;;26602:65;;26684:8;:17;;26677:24;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;26510:198;;;:::o;41303:170::-;7781:17;;;;;;;;;-1:-1:-1;;;;;7781:17:130;-1:-1:-1;;;;;7781:29:130;;:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;7759:54:130;:10;:54;7755:141;;41384:32:::1;41403:12;41384:18;:32::i;:::-;41426:11;:40:::0;;-1:-1:-1;;;;;41426:40:130;::::1;-1:-1:-1::0;;;;;;41426:40:130;;::::1;;::::0;;3143:195:68;:::o;7755:141:130:-;7868:17;;;;;;;;;;;;;;22993:288;23079:22;23163:16;;-1:-1:-1;;;23163:16:130;;;;;;;;;;;23976:86;24032:23;24047:7;24032:14;:23::i;25466:1038::-;25568:17;25599:19;25632:22;25668:23;25705:20;25739:44;25797:17;25828:22;25864:17;25895:25;25945:40;25988:9;:22;25998:11;25988:22;;;;;;;;;;;25945:65;;26033:8;:24;;;26061:1;26033:29;:80;;26069:44;26088:8;:24;;;26069:18;:44::i;:::-;26033:80;;;26065:1;26033:80;26021:92;;26144:8;:18;;;;;;;;;;-1:-1:-1;;;;;26144:18:130;26176:8;:20;;;;;;;;;;-1:-1:-1;;;;;26176:20:130;26210:8;:23;;;;;;;;;;-1:-1:-1;;;;;26210:23:130;26247:8;:24;;;26285:8;:21;;;26320:8;:23;;;;;;;;;;;;26357:8;:18;;;26389:8;:23;;;26426:9;26449:8;:26;;:38;26476:10;-1:-1:-1;;;;;26449:38:130;-1:-1:-1;;;;;26449:38:130;;;;;;;;;;;;;26123:374;;;;;;;;;;;;;;;;;;;;;25466:1038;;;;;;;;;;;:::o;4111:101:128:-;4167:4;4190:15;11064:10;;;;;10985:96;4190:15;4183:22;;4111:101;:::o;26909:176:130:-;27000:7;27565:22;;;:9;:22;;;;;;;;-1:-1:-1;;;;;27565:48:130;;;;:40;;:48;;;;;;27026:52;27438:182;18579:226;18722:16;;-1:-1:-1;;;18722:16:130;;;;;;;;;;;4368:146:128;4449:6;4474:33;4494:12;4474:19;:33::i;8292:761:130:-;2205:16:128;:14;:16::i;:::-;8385:28:130::1;8405:7;8385:19;:28::i;:::-;8423:41;8478:5;8467:52;;;;;;;;;;;;:::i;:::-;8534:20:::0;;8423:96;;-1:-1:-1;;;;;;8534:34:130::1;8530:94;;8591:22;;-1:-1:-1::0;;;8591:22:130::1;;;;;;;;;;;8530:94;8676:20:::0;;8634:17:::1;:63:::0;;-1:-1:-1;;;;;;8634:63:130::1;-1:-1:-1::0;;;;;8634:63:130;;::::1;::::0;;;::::1;::::0;;8715:8:::1;::::0;::::1;::::0;8707:5:::1;:16:::0;8744:11:::1;::::0;::::1;::::0;8733:8:::1;:22:::0;8774:9:::1;::::0;::::1;::::0;8765:6:::1;:18:::0;8808:15:::1;::::0;::::1;::::0;8793:12:::1;:30:::0;;-1:-1:-1;;8793:30:130::1;-1:-1:-1::0;8808:15:130;8793:30:::1;::::0;::::1;;;;;;:::i;:::-;;;::::0;;-1:-1:-1;8847:14:130::1;::::0;::::1;::::0;8833:11:::1;:28:::0;;-1:-1:-1;;8833:28:130::1;;8847:14:::0;8833:28:::1;::::0;::::1;;;;;;:::i;:::-;;;::::0;;-1:-1:-1;8885:14:130::1;::::0;::::1;::::0;8871:28;:11:::1;:28:::0;8931:21:::1;::::0;::::1;::::0;8909:19:::1;:43:::0;8989:14:::1;::::0;::::1;::::0;8962:11:::1;:42:::0;;-1:-1:-1;;;;;;8962:42:130::1;-1:-1:-1::0;;;;;8962:42:130;;::::1;::::0;;;::::1;::::0;;9020:26:::1;::::0;::::1;::::0;::::1;::::0;9034:7;;8885:14;;9020:26:::1;:::i;:::-;;;;;;;;8375:678;8292:761:::0;;:::o;6677:220:128:-;2205:16;:14;:16::i;:::-;3077:23:::1;:21;:23::i;:::-;6825:25:::2;6835:5;6842:7;6825:9;:25::i;2335:198:46:-:0;1355:13;:11;:13::i;:::-;-1:-1:-1;;;;;2423:22:46;::::1;2415:73;;;::::0;-1:-1:-1;;;2415:73:46;;25813:2:151;2415:73:46::1;::::0;::::1;25795:21:151::0;25852:2;25832:18;;;25825:30;25891:34;25871:18;;;25864:62;25962:8;25942:18;;;25935:36;25988:19;;2415:73:46::1;25611:402:151::0;2415:73:46::1;2498:28;2517:8;2498:18;:28::i;1559:152:128:-:0;1634:4;:19;;-1:-1:-1;;;;;;1634:19:128;-1:-1:-1;;;;;1634:19:128;;;;;1686:17;;;;1697:5;;1686:17;;;:::i;:::-;;;;-1:-1:-1;;1686:17:128;;;;;;;;;1676:28;;1686:17;1676:28;;;;1663:10;:41;-1:-1:-1;;1559:152:128:o;5401:197::-;2205:16;:14;:16::i;:::-;5541:7:::1;5527:10;;:21;;;;;;;:::i;:::-;::::0;;;-1:-1:-1;5558:33:128::1;::::0;-1:-1:-1;5583:7:128;5558:24:::1;:33::i;40682:143:130:-:0;40743:10;2499:30:128;2521:7;2499:21;:30::i;:::-;40765:6:130::1;:16:::0;;;40796:22:::1;::::0;7505:25:151;;;40796:22:130::1;::::0;7493:2:151;7478:18;40796:22:130::1;7359:177:151::0;9707:142:128;9784:4;;9803:6;;9784:35;;;;;;;;26417:25:151;;;;-1:-1:-1;;;;;26478:55:151;;;26458:18;;;26451:83;9784:4:128;;;;:18;;26390::151;;9784:35:128;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9779:63;;9828:14;;-1:-1:-1;;;9828:14:128;;;;;;;;;;;9399:111;9475:4;;-1:-1:-1;;;;;9475:4:128;9453:10;:27;9449:54;;9489:14;;-1:-1:-1;;;9489:14:128;;;;;;;;;;;10356:105;10417:6;;10427:1;10417:11;10413:41;;10437:17;;;;;;;;;;;;;;19857:1756:130;20052:1;20036:5;:12;:17;20032:76;;20076:21;;;;;;;;;;;;;;20032:76;20118:18;20150:5;20139:28;;;;;;;;;;;;:::i;:::-;20118:49;;20182:10;20196:1;20182:15;20178:77;;20220:24;;;;;;;;;;;;;;20178:77;20264:40;20307:21;;;:9;:21;;;;;20359:35;20343:12;;;;:51;;;;;;;;:::i;:::-;;20339:1208;;20414:19;;:33;;20410:108;;20474:29;;-1:-1:-1;;;20474:29:130;;;;;7505:25:151;;;7478:18;;20474:29:130;7359:177:151;20410:108:130;20563:10;;20536:8;:24;;;:37;20532:152;;;20632:24;;;;20658:10;;20600:69;;;;;;;;26747:25:151;;;26788:18;;;26781:34;;;;26831:18;;;26824:34;26720:18;;20600:69:130;26545:319:151;20532:152:130;20729:36;20702:23;;;;;;:63;;;;;;;;:::i;:::-;;20698:138;;20792:29;;-1:-1:-1;;;20792:29:130;;;;;7505:25:151;;;7478:18;;20792:29:130;7359:177:151;20698:138:130;20850:22;20875:36;20900:10;20875:24;:36::i;:::-;20850:61;;20925:17;20945:44;20964:8;:24;;;20945:18;:44::i;:::-;20925:64;;21025:9;21008:14;:26;:58;;;;;21065:1;21038:8;:24;;;:28;21008:58;21004:137;;;21093:33;;;;;;;;;;;;;;21004:137;21180:4;;21193:6;;21180:20;;;;;;;;7505:25:151;;;;21155:22:130;;-1:-1:-1;;;;;21180:4:130;;:12;;7478:18:151;;21180:20:130;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;21180:20:130;;;;;;;;;;;;:::i;:::-;21155:45;;21229:8;:24;;;21215:10;;:38;;;;;;;:::i;:::-;;;;-1:-1:-1;;21291:10:130;;;;21303:20;;;;;21325:24;;;21275:75;;21291:10;-1:-1:-1;;;;;21303:20:130;;21275:15;:75::i;:::-;21381:23;;;:64;;-1:-1:-1;;21381:64:130;21407:38;21381:64;;;;;;21489:20;;;21381:64;21511:24;;;21465:71;;;28835:25:151;;;-1:-1:-1;;;;;21489:20:130;;;28891:2:151;28876:18;;28869:83;28968:18;;28961:34;21465:71:130;;28823:2:151;28808:18;21465:71:130;;;;;;;20396:1151;;;20339:1208;19943:1670;;19857:1756;;;:::o;1024:95:46:-;5374:13:48;;;;;;;5366:69;;;;-1:-1:-1;;;5366:69:48;;29208:2:151;5366:69:48;;;29190:21:151;29247:2;29227:18;;;29220:30;29286:34;29266:18;;;29259:62;-1:-1:-1;;;29337:18:151;;;29330:41;29388:19;;5366:69:48;29006:407:151;5366:69:48;1086:26:46::1;:24;:26::i;38595:396:130:-:0;38714:18;38734:19;38757:56;38791:9;38802:10;38757:33;:56::i;:::-;38713:100;;;;38827:10;38841:1;38827:15;:35;;;;-1:-1:-1;38846:16:130;;38827:35;38823:72;;;38878:7;;38595:396;;:::o;38823:72::-;38904:19;;;:33;38947:24;;;;:37;;;;-1:-1:-1;38595:396:130:o;13702:351::-;13789:17;;:66;;-1:-1:-1;;;13789:66:130;;-1:-1:-1;;;;;21853:15:151;;;13789:66:130;;;21835:34:151;13849:4:130;21885:18:151;;;21878:43;13789:17:130;;;;:42;;21747:18:151;;13789:66:130;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13765:20;;:90;;;;;;;:::i;:::-;;;;-1:-1:-1;;13865:17:130;;:68;;;;;-1:-1:-1;;;;;21853:15:151;;;13865:68:130;;;21835:34:151;13927:4:130;21885:18:151;;;21878:43;13865:17:130;;;;:44;;21747:18:151;;13865:68:130;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13988:17;13997:7;13988:8;:17::i;:::-;14020:26;;-1:-1:-1;;;;;7719:55:151;;7701:74;;14020:26:130;;7689:2:151;7674:18;14020:26:130;;;;;;;;13702:351;:::o;11073:2045::-;11165:7;11189:26;11207:7;11189:17;:26::i;:::-;11184:90;;11238:25;;-1:-1:-1;;;11238:25:130;;;;;;;;;;;11184:90;11343:45;11402:5;11391:50;;;;;;;;;;;;:::i;:::-;11556:15;;11343:98;;-1:-1:-1;11556:15:130;:20;11552:78;;11599:20;;;;;;;;;;;;;;11552:78;11722:35;11706:12;;;;:51;;;;;;;;:::i;:::-;;11702:722;;11773:40;11792:8;:20;;;11773:18;:40::i;:::-;11879:23;;;;-1:-1:-1;;;;;11879:37:130;11875:102;;11943:19;;;;;;;;;;;;;;11875:102;11990:17;12010:4;-1:-1:-1;;;;;12010:12:130;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;12010:22:130;;12033:6;;12010:30;;;;;;;;;;;;;7505:25:151;;7493:2;7478:18;;7359:177;12010:30:130;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;12010:30:130;;;;;;;;;;;;:::i;:::-;:36;;;11990:56;;12091:9;-1:-1:-1;;;;;12064:36:130;:8;:23;;;-1:-1:-1;;;;;12064:36:130;;12060:234;;12262:17;;;;;;;;;;;;;;12060:234;12311:41;12327:8;:24;;;12311:15;:41::i;:::-;12307:107;;;12379:20;;-1:-1:-1;;;12379:20:130;;;;;;;;;;;12307:107;11759:665;11702:722;12433:18;12456:15;;12454:17;;;;;:::i;:::-;;;;;-1:-1:-1;12481:33:130;12517:21;;;:9;:21;;;;;;;;12549:25;;;12584:11;;;:21;;-1:-1:-1;;;;;12584:21:130;;;-1:-1:-1;;;;;;12584:21:130;;;;;;;12631:20;;;;12615:13;;;:36;;;;;;;;;;;;;;12680:23;;;;12661:16;;;:42;;;;;;;;;;;12733:24;;;;-1:-1:-1;12713:17:130;;;:44;;;;12818:16;;;:55;;-1:-1:-1;;12818:55:130;;;;;;12897:12;12883:11;;;:26;-1:-1:-1;12919:16:130;;:20;;;;12998:17;;;;12985:30;;:10;;;:30;;;;;;;12454:17;;-1:-1:-1;12517:21:130;;12985:30;;;;;;;;:::i;:::-;-1:-1:-1;;13047:6:130;;13031:35;;;18804:25:151;;;18860:2;18845:18;;18838:34;;;13031:35:130;;-1:-1:-1;18777:18:151;13031:35:130;;;;;;;-1:-1:-1;13099:10:130;11073:2045;-1:-1:-1;;;;11073:2045:130:o;10210:162::-;10292:17;;-1:-1:-1;;;;;10292:17:130;10270:10;:40;10266:100;;10333:22;;;;;;;;;;;;;;17440:802;17605:17;;:31;;;-1:-1:-1;;;17605:31:130;;;;17538:7;;17575:2;;-1:-1:-1;;;;;17605:17:130;;;;:29;;:31;;;;;;;;;;;;;;;:17;:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;17591:56:130;;:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;17591:58:130;;;;;;;;-1:-1:-1;;17591:58:130;;;;;;;;;;;;:::i;:::-;;;17587:208;;17748:36;;;;;;;;;;;;;;;;;;:11;:36::i;:::-;17587:208;;;17699:17;;;-1:-1:-1;17587:208:130;17804:49;;;;;;;;;;;;;;;;;;17836:16;17804:11;:49::i;:::-;17887:17;;:48;;-1:-1:-1;;;17887:48:130;;-1:-1:-1;;;;;7719:55:151;;;17887:48:130;;;7701:74:151;17863:21:130;;17938:16;;17887:17;;;:39;;7674:18:151;;17887:48:130;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:67;;;;:::i;:::-;17863:91;;17964:43;;;;;;;;;;;;;;;;;;17993:13;17964:11;:43::i;:::-;18017:22;18042:40;18068:13;18074:7;18068:2;:13;:::i;:::-;18052:29;;:13;:29;:::i;:::-;18042:9;:40::i;:::-;18119:17;;:66;;-1:-1:-1;;;18119:66:130;;-1:-1:-1;;;;;21853:15:151;;;18119:66:130;;;21835:34:151;18179:4:130;21885:18:151;;;21878:43;18017:65:130;;-1:-1:-1;18092:24:130;;18017:65;;18119:17;;:42;;21747:18:151;;18119:66:130;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:83;;;;:::i;:::-;18092:110;17440:802;-1:-1:-1;;;;;;;17440:802:130:o;37840:447::-;37901:15;-1:-1:-1;;;37936:2:130;:12;37928:53;;;;-1:-1:-1;;;37928:53:130;;35149:2:151;37928:53:130;;;35131:21:151;35188:2;35168:18;;;35161:30;35227;35207:18;;;35200:58;35275:18;;37928:53:130;34947:352:151;37928:53:130;-1:-1:-1;;;;38003:2:130;38027;38066:215;38073:5;;38066:215;;38098:1;38102;38098:5;38107:1;38098:10;38094:177;;38132:10;38137:1;38140;38132:4;:10::i;:::-;38128:14;-1:-1:-1;38166:1:130;38160:7;38066:215;;38094:177;38216:16;38221:7;38230:1;38216:4;:16::i;:::-;38206:26;-1:-1:-1;38250:6:130;38255:1;38250:6;;:::i;:::-;;;38066:215;;;37918:369;;37840:447;;;;:::o;41479:66::-;1355:13:46;:11;:13::i;2494:922:64:-;689:66;2910:48;;;2906:504;;;2974:37;2993:17;2974:18;:37::i;2906:504::-;3064:17;-1:-1:-1;;;;;3046:50:64;;:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3046:52:64;;;;;;;;-1:-1:-1;;3046:52:64;;;;;;;;;;;;:::i;:::-;;;3042:291;;3262:56;;-1:-1:-1;;;3262:56:64;;35695:2:151;3262:56:64;;;35677:21:151;35734:2;35714:18;;;35707:30;35773:34;35753:18;;;35746:62;35844:16;35824:18;;;35817:44;35878:19;;3262:56:64;35493:410:151;3042:291:64;1030:66;3148:28;;3140:82;;;;-1:-1:-1;;;3140:82:64;;36110:2:151;3140:82:64;;;36092:21:151;36149:2;36129:18;;;36122:30;36188:34;36168:18;;;36161:62;36259:11;36239:18;;;36232:39;36288:19;;3140:82:64;35908:405:151;3140:82:64;3099:138;3346:53;3364:17;3383:4;3389:9;3346:17;:53::i;23779:191:130:-;23858:4;-1:-1:-1;;;;;23924:24:130;;;:39;;23959:4;23924:39;;;23951:5;23917:46;23779:191;-1:-1:-1;;23779:191:130:o;27968:174::-;28042:19;28115:20;6180:8;28115:16;:20;:::i;:::-;28101:10;;28090:8;;:21;;;;:::i;:::-;:45;;;27968:174;-1:-1:-1;;27968:174:130:o;1620:130:46:-;1534:6;;-1:-1:-1;;;;;1534:6:46;965:10:52;1683:23:46;1675:68;;;;-1:-1:-1;;;1675:68:46;;36520:2:151;1675:68:46;;;36502:21:151;;;36539:18;;;36532:30;36598:34;36578:18;;;36571:62;36650:18;;1675:68:46;36318:356:151;2687:187:46;2779:6;;;-1:-1:-1;;;;;2795:17:46;;;-1:-1:-1;;;;;;2795:17:46;;;;;;;2827:40;;2779:6;;;2795:17;2779:6;;2827:40;;2760:16;;2827:40;2750:124;2687:187;:::o;10517:230:130:-;10610:11;;10582:4;;-1:-1:-1;;;;;10610:11:130;10598:76;;-1:-1:-1;10659:4:130;;10517:230;-1:-1:-1;10517:230:130:o;10598:76::-;10690:11;;:50;;;;;-1:-1:-1;;;;;21853:15:151;;;10690:50:130;;;21835:34:151;10734:4:130;21885:18:151;;;21878:43;10690:11:130;;;;:28;;21747:18:151;;10690:50:130;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;15941:615::-;16034:7;16053:24;16080:14;16053:41;;16104:51;;;;;;;;;;;;;;;;;;16138:16;16104:11;:51::i;:::-;16187:17;;:66;;-1:-1:-1;;;16187:66:130;;-1:-1:-1;;;;;21853:15:151;;;16187:66:130;;;21835:34:151;16247:4:130;21885:18:151;;;21878:43;16165:19:130;;16187:17;;:42;;21747:18:151;;16187:66:130;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;16165:88;;16263:39;;;;;;;;;;;;;;;;;;16290:11;16263;:39::i;:::-;16349:11;:21;16316:30;16330:16;16316:11;:30;:::i;:::-;:54;16312:139;;;16405:11;:21;:35;;16429:11;;16405:35;:::i;:::-;16386:54;;16312:139;16460:55;;;;;;;;;;;;;;;;;;16498:16;16460:11;:55::i;:::-;-1:-1:-1;16533:16:130;15941:615;-1:-1:-1;;;15941:615:130:o;16562:730::-;16698:17;;:48;;-1:-1:-1;;;16698:48:130;;-1:-1:-1;;;;;7719:55:151;;;16698:48:130;;;7701:74:151;16658:7:130;;;;16749:14;;16698:17;;;;:39;;7674:18:151;;16698:48:130;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:65;;;;:::i;:::-;16822:17;;:31;;;-1:-1:-1;;;16822:31:130;;;;16677:86;;-1:-1:-1;16792:2:130;;-1:-1:-1;;;;;16822:17:130;;;;:29;;:31;;;;;;;;;;;;;;;:17;:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;16808:56:130;;:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;16808:58:130;;;;;;;;-1:-1:-1;;16808:58:130;;;;;;;;;;;;:::i;:::-;;;16804:208;;16965:36;;;;;;;;;;;;;;;;;;:11;:36::i;:::-;16804:208;;;16916:17;;;-1:-1:-1;16804:208:130;17021:22;17046:37;17069:13;17075:7;17069:2;:13;:::i;:::-;17056:26;;:10;:26;:::i;17046:37::-;17117:17;;:66;;-1:-1:-1;;;17117:66:130;;-1:-1:-1;;;;;21853:15:151;;;17117:66:130;;;21835:34:151;17177:4:130;21885:18:151;;;21878:43;17021:62:130;;-1:-1:-1;17093:21:130;;17117:17;;;;:42;;21747:18:151;;17117:66:130;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;17093:90;-1:-1:-1;17194:24:130;17221:30;17093:90;17221:14;:30;:::i;:::-;17194:57;16562:730;-1:-1:-1;;;;;;;;16562:730:130:o;38997:719::-;39150:18;39170:19;39219:12;39205:26;;39271:11;39248:9;:19;;;:34;;39241:42;;;;:::i;:::-;39320:11;39297:9;:19;;;:34;39293:173;;-1:-1:-1;39421:1:130;;-1:-1:-1;39421:1:130;39413:13;;39293:173;39532:177;39579:9;:19;;;39565:11;:33;;;;:::i;:::-;39651:9;:24;;;39689:10;39532:19;:177::i;:::-;39519:190;;38997:719;;;;;;:::o;10378:133::-;-1:-1:-1;;;;;10452:22:130;;10448:56;;10483:21;;;;;;;;;;;;;;10701:118:128;10758:10;:20;;-1:-1:-1;;10758:20:128;;;;;;;;;;10793:19;;2998:41:151;;;10793:19:128;;2986:2:151;2971:18;10793:19:128;2858:187:151;22644:220:130;22727:6;-1:-1:-1;;;;;22795:26:130;;;:62;;22842:15;22795:62;;;22824:15;22788:69;22644:220;-1:-1:-1;;22644:220:130:o;4814:390:128:-;2205:16;:14;:16::i;:::-;5013:6:::1;::::0;:11;5009:45:::1;;5033:21;;;;;;;;;;;;;;5009:45;5141:7;5152:1;5141:12:::0;5137:34:::1;;5162:9;;;;;;;;;;;;;;5137:34;5181:6;:16:::0;4814:390::o;18951:650:130:-;19035:28;19055:7;19035:19;:28::i;:::-;19078:26;19096:7;19078:17;:26::i;:::-;19073:90;;19127:25;;-1:-1:-1;;;19127:25:130;;;;;;;;;;;19073:90;19249:17;;:69;;-1:-1:-1;;;19249:69:130;;-1:-1:-1;;;;;21853:15:151;;;19249:69:130;;;21835:34:151;19312:4:130;21885:18:151;;;21878:43;19218:28:130;;19249:17;;:45;;21747:18:151;;19249:69:130;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;19218:100;;19333:23;19328:78;;19379:16;;;;;;;;;;;;;;19328:78;19415:42;19471:5;19460:53;;;;;;;;;;;;:::i;:::-;19415:98;;19523:37;19548:7;19557:2;19523:24;:37::i;:::-;19570:24;19582:7;19591:2;19570:11;:24::i;:::-;19025:576;;18951:650;;:::o;23557:127::-;23649:28;;7505:25:151;;;23649:28:130;;7493:2:151;7478:18;23649:28:130;7359:177:151;6721:269:10;6815:16;-1:-1:-1;;;;;6815:16:10;;;6811:173;;6847:45;6879:3;6884:7;6847:31;:45::i;6811:173::-;6923:50;6952:6;6960:3;6965:7;6923:28;:50::i;1125:111:46:-;5374:13:48;;;;;;;5366:69;;;;-1:-1:-1;;;5366:69:48;;29208:2:151;5366:69:48;;;29190:21:151;29247:2;29227:18;;;29220:30;29286:34;29266:18;;;29259:62;-1:-1:-1;;;29337:18:151;;;29330:41;29388:19;;5366:69:48;29006:407:151;5366:69:48;1197:32:46::1;965:10:52::0;1197:18:46::1;:32::i;24068:836:130:-:0;-1:-1:-1;;;;;24202:29:130;;24170;24202;;;:20;:29;;;;;;;;24170:61;;;;;;;;;;;;;;;;;;;24202:29;;24170:61;;;24202:29;24170:61;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;24246:9;24241:657;24265:12;:19;24261:1;:23;24241:657;;;24305:18;24326:12;24339:1;24326:15;;;;;;;;:::i;:::-;;;;;;;24305:36;;24355:40;24398:9;:21;24408:10;24398:21;;;;;;;;;;;24355:64;;24437:26;24452:10;24437:14;:26::i;:::-;24433:455;;;-1:-1:-1;;;;;24506:35:130;;24483:20;24506:35;;;:26;;;:35;;;;;;;24559:39;;;;24616:21;;;:37;;24506:35;;;;24616:37;;24506:35;;24616:37;:::i;:::-;;;;;;;;24686:12;24671:11;;:27;;;;;;;:::i;:::-;;;;-1:-1:-1;24716:50:130;;-1:-1:-1;24743:8:130;24753:12;24716:26;:50::i;:::-;24826:21;;;;24849:23;;;;24789:84;;;-1:-1:-1;;;;;38532:55:151;;38514:74;;38619:2;38604:18;;38597:34;;;-1:-1:-1;38647:18:151;;;38640:34;38705:2;38690:18;;38683:34;;;;38748:3;38733:19;;38726:35;;;;24789:84:130;;;;;;38501:3:151;24789:84:130;;;24465:423;24433:455;24291:607;;24286:3;;;;;:::i;:::-;;;;24241:657;;5630:121:35;5685:59;5740:2;5701:42;;;;;;;;:::i;:::-;;;;-1:-1:-1;;5701:42:35;;;;;;;;;;;;;;;;;;;;5685:15;:59::i;6548:139::-;6612:68;6672:2;6676;6628:51;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;6628:51:35;;;;;;;;;;;;;;;;;;;;6612:15;:68::i;6530:1642:87:-;6578:7;6601:1;6606;6601:6;6597:45;;-1:-1:-1;6630:1:87;;6530:1642;-1:-1:-1;6530:1642:87:o;6597:45::-;7321:14;7355:1;7344:7;7349:1;7344:4;:7::i;:::-;:12;;7338:1;:19;;7321:36;;7816:1;7805:6;7801:1;:10;;;;;:::i;:::-;;7792:6;:19;7791:26;;7782:35;;7865:1;7854:6;7850:1;:10;;;;;:::i;:::-;;7841:6;:19;7840:26;;7831:35;;7914:1;7903:6;7899:1;:10;;;;;:::i;:::-;;7890:6;:19;7889:26;;7880:35;;7963:1;7952:6;7948:1;:10;;;;;:::i;:::-;;7939:6;:19;7938:26;;7929:35;;8012:1;8001:6;7997:1;:10;;;;;:::i;:::-;;7988:6;:19;7987:26;;7978:35;;8061:1;8050:6;8046:1;:10;;;;;:::i;:::-;;8037:6;:19;8036:26;;8027:35;;8110:1;8099:6;8095:1;:10;;;;;:::i;:::-;;8086:6;:19;8085:26;;8076:35;;8132:23;8136:6;8148;8144:1;:10;;;;;:::i;:::-;;8132:3;:23::i;37349:269:130:-;37410:15;-1:-1:-1;;;37445:2:130;:13;;37437:66;;;;-1:-1:-1;;;37437:66:130;;39270:2:151;37437:66:130;;;39252:21:151;39309:2;39289:18;;;39282:30;39348:34;39328:18;;;39321:62;39419:10;39399:18;;;39392:38;39447:19;;37437:66:130;39068:404:151;37437:66:130;-1:-1:-1;;;37521:2:130;:12;37513:53;;;;-1:-1:-1;;;37513:53:130;;39679:2:151;37513:53:130;;;39661:21:151;39718:2;39698:18;;;39691:30;39757;39737:18;;;39730:58;39805:18;;37513:53:130;39477:352:151;37513:53:130;37608:3;6323:34;37585:7;37590:2;37585;:7;:::i;:::-;37584:19;;;;:::i;:::-;37583:28;;;37349:269;-1:-1:-1;;;37349:269:130:o;1406:259:64:-;-1:-1:-1;;;;;1713:19:51;;;1479:95:64;;;;-1:-1:-1;;;1479:95:64;;40036:2:151;1479:95:64;;;40018:21:151;40075:2;40055:18;;;40048:30;40114:34;40094:18;;;40087:62;40185:15;40165:18;;;40158:43;40218:19;;1479:95:64;39834:409:151;1479:95:64;1030:66;1584:74;;-1:-1:-1;;;;;;1584:74:64;-1:-1:-1;;;;;1584:74:64;;;;;;;;;;1406:259::o;2057:265::-;2165:29;2176:17;2165:10;:29::i;:::-;2222:1;2208:4;:11;:15;:28;;;;2227:9;2208:28;2204:112;;;2252:53;2281:17;2300:4;2252:28;:53::i;9827:377:130:-;-1:-1:-1;;;;;9900:21:130;;9896:77;;9944:18;;;;;;;;;;;;;;9896:77;9994:17;;-1:-1:-1;;;;;9994:17:130;9982:100;;10049:22;;-1:-1:-1;;;10049:22:130;;;;;;;;;;;9982:100;10096:17;;:35;;;;;-1:-1:-1;;;;;7719:55:151;;;10096:35:130;;;7701:74:151;10096:17:130;;;;:26;;7674:18:151;;10096:35:130;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10091:93;;10154:19;;;;;;;;;;;;;;28148:1548;28288:22;28329:9;28324:630;28348:16;:23;28344:1;:27;28324:630;;;28451:16;28468:1;28451:19;;;;;;;;:::i;:::-;;;;;;;:30;;;28485:1;28451:35;28447:187;28611:8;28447:187;28647:18;28668:16;28685:1;28668:19;;;;;;;;:::i;:::-;;;;;;;:30;;;28647:51;;28717:26;28732:10;28717:14;:26::i;:::-;28712:167;;28770:29;;-1:-1:-1;;;28770:29:130;;;;;7505:25:151;;;7478:18;;28770:29:130;7359:177:151;28712:167:130;28911:16;28928:1;28911:19;;;;;;;;:::i;:::-;;;;;;;:32;;;28892:51;;;;;:::i;:::-;;;28378:576;28324:630;28373:3;;;;:::i;:::-;;;;28324:630;;;-1:-1:-1;;;;;;27399:26:130;;29050:29;27399:26;;;:18;:26;;;;;;29082:60;;29126:15;29082:11;:60::i;:::-;29253:17;;:66;;-1:-1:-1;;;29253:66:130;;-1:-1:-1;;;;;21853:15:151;;;29253:66:130;;;21835:34:151;29313:4:130;21885:18:151;;;21878:43;29050:92:130;;-1:-1:-1;29224:26:130;;29253:17;;;;:42;;21747:18:151;;29253:66:130;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;29224:95;;29509:18;29485:21;:42;29481:147;;;29550:67;;;;;;;;18804:25:151;;;18845:18;;;18838:34;;;18777:18;;29550:67:130;18630:248:151;29481:147:130;-1:-1:-1;;;;;;29638:27:130;;;;;;;:18;:27;;;;;:51;;;;-1:-1:-1;;28148:1548:130:o;29702:3479::-;29817:29;29861:9;29856:3319;29880:16;:23;29876:1;:27;29856:3319;;;29924:18;29945:16;29962:1;29945:19;;;;;;;;:::i;:::-;;;;;;;:30;;;29924:51;;30048:12;:19;30071:1;30048:24;30044:920;;30107:16;;;30121:1;30107:16;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;30107:16:130;30092:31;;30159:10;30141:12;30154:1;30141:15;;;;;;;;:::i;:::-;;;;;;:28;;;;;30044:920;;;30218:10;30259:9;30254:318;30278:12;:19;30274:1;:23;30254:318;;;30374:10;30355:12;30368:1;30355:15;;;;;;;;:::i;:::-;;;;;;;:29;30351:203;;30457:40;;;;;;;;18804:25:151;;;18845:18;;;18838:34;;;30420:4:130;;-1:-1:-1;18777:18:151;;30457:40:130;18630:248:151;30351:203:130;30299:3;;;;:::i;:::-;;;;30254:318;;;;30594:5;30589:361;;30623:21;30661:12;:19;30683:1;30661:23;;;;:::i;:::-;30647:38;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;30647:38:130;;30623:62;;30712:9;30707:124;30731:12;:19;30727:1;:23;30707:124;;;30793:12;30806:1;30793:15;;;;;;;;:::i;:::-;;;;;;;30783:4;30788:1;30783:7;;;;;;;;:::i;:::-;;;;;;;;;;:25;30752:3;;;;:::i;:::-;;;;30707:124;;;;30880:10;30852:4;30857:12;:19;30852:25;;;;;;;;:::i;:::-;;;;;;;;;;:38;30927:4;-1:-1:-1;30589:361:130;30200:764;30044:920;30977:12;30992:16;31009:1;30992:19;;;;;;;;:::i;:::-;;;;;;;;;;;;:32;;;31039:40;31082:21;;;:9;:21;;;;;;-1:-1:-1;;;;;31236:35:130;;;;:26;;;:35;;;;;;30992:32;;-1:-1:-1;31459:40:130;31236:35;30992:32;31459:11;:40::i;:::-;-1:-1:-1;;;;;31634:35:130;;;;;;:26;;;:35;;;;;:50;;;31436:63;;-1:-1:-1;31634:35:130;31956:246;-1:-1:-1;;;;;31980:29:130;;;;;;:20;:29;;;;;:36;31976:40;;31956:246;;;32081:19;;-1:-1:-1;;;;;32045:29:130;;32081:19;32045:29;;;:20;:29;;;;;:32;;32075:1;;32045:32;;;;;;:::i;:::-;;;;;;;;;:55;32041:147;;32138:4;32124:18;;32164:5;;32041:147;32018:3;;;;:::i;:::-;;;;31956:246;;;;32220:11;32215:106;;-1:-1:-1;;;;;32251:29:130;;;;;;:20;:29;;;;;;;32286:19;;32251:55;;;;;;;;;;;;;;;;;;32215:106;32500:12;32476:20;:36;32472:370;;32547:35;32562:20;32547:12;:35;:::i;:::-;32532:11;;:50;;;;;;;:::i;:::-;;;;-1:-1:-1;32625:35:130;;-1:-1:-1;32640:20:130;32625:12;:35;:::i;:::-;32600:8;:21;;;:60;;;;;;;:::i;:::-;;;;-1:-1:-1;32472:370:130;;-1:-1:-1;32472:370:130;;32714:35;32737:12;32714:20;:35;:::i;:::-;32699:11;;:50;;;;;;;:::i;:::-;;;;-1:-1:-1;32792:35:130;;-1:-1:-1;32815:12:130;32792:20;:35;:::i;:::-;32767:8;:21;;;:60;;;;;;;:::i;:::-;;;;-1:-1:-1;;32472:370:130;32859:8;:18;;;32881:1;32859:23;32855:310;;32923:12;32902:18;;;:33;32855:310;;;32974:58;33001:8;33011:20;32974:26;:58::i;:::-;33103:21;;;;33126:23;;;;33055:95;;;-1:-1:-1;;;;;38532:55:151;;38514:74;;38619:2;38604:18;;38597:34;;;38647:18;;;38640:34;;;38705:2;38690:18;;38683:34;;;;38748:3;38733:19;;38726:35;33055:95:130;;38501:3:151;38486:19;33055:95:130;;;;;;;32855:310;29910:3265;;;;;;29905:3;;;;;:::i;:::-;;;;29856:3319;;2455:490:14;2711:4;2705;2699;2693;2685:6;2681:2;2674:5;2669:47;2659:270;;2822:10;2816:4;2809:24;2910:4;2904;2897:18;11454:1189;11617:2;11611:4;11604:16;11674:6;11668:4;11661:20;11814:34;11808:4;11801:48;12272:4;12266;12260;12254;12251:1;12244:5;12237;12232:45;12192:16;12185:24;12181:1;12174:4;12168:11;12165:18;12162:48;11890:405;11863:655;;12411:10;12405:4;12398:24;12499:4;12493;12486:18;11863:655;12625:1;12619:4;12612:15;11454:1189;;;:::o;27777:185:130:-;27845:4;27868:22;;;:9;:22;;;;;:33;:37;;;;:87;;-1:-1:-1;;27953:1:130;27909:22;;;:9;:22;;;;;:32;;;-1:-1:-1;;;;;27909:32:130;:46;;;27777:185::o;181:376:35:-;275:14;;131:42;448:2;435:16;;251:21;;275:14;435:16;131:42;484:5;473:68;464:77;;401:150;;181:376;:::o;8633:983:87:-;8685:7;;8769:3;8760:12;;;:16;8756:99;;8806:3;8796:13;;;;8827;8756:99;8881:2;8872:11;;;:15;8868:96;;8917:2;8907:12;;;;8937;8868:96;8990:2;8981:11;;;:15;8977:96;;9026:2;9016:12;;;;9046;8977:96;9099:2;9090:11;;;:15;9086:96;;9135:2;9125:12;;;;9155;9086:96;9208:1;9199:10;;;:14;9195:93;;9243:1;9233:11;;;;9262;9195:93;9314:1;9305:10;;;:14;9301:93;;9349:1;9339:11;;;;9368;9301:93;9420:1;9411:10;;;:14;9407:93;;9455:1;9445:11;;;;9474;9407:93;9526:1;9517:10;;;:14;9513:64;;9561:1;9551:11;9603:6;8633:983;-1:-1:-1;;8633:983:87:o;588:104::-;646:7;676:1;672;:5;:13;;684:1;672:13;;;-1:-1:-1;680:1:87;;588:104;-1:-1:-1;588:104:87:o;1771:152:64:-;1837:37;1856:17;1837:18;:37::i;:::-;1889:27;;-1:-1:-1;;;;;1889:27:64;;;;;;;;1771:152;:::o;6674:198:80:-;6757:12;6788:77;6809:6;6817:4;6788:77;;;;;;;;;;;;;;;;;:20;:77::i;33187:276:130:-;33264:7;;33299:25;33318:6;33306:8;33299:25;:::i;:::-;33283:41;;33348:1;33339:6;:10;33335:90;;;33372:42;;;;;;;;26747:25:151;;;26788:18;;;26781:34;;;26831:18;;;26824:34;;;26720:18;;33372:42:130;26545:319:151;7058:325:80;7199:12;7224;7238:23;7265:6;-1:-1:-1;;;;;7265:19:80;7285:4;7265:25;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7223:67;;;;7307:69;7334:6;7342:7;7351:10;7363:12;7307:26;:69::i;:::-;7300:76;7058:325;-1:-1:-1;;;;;;7058:325:80:o;7671:628::-;7851:12;7879:7;7875:418;;;7906:10;:17;7927:1;7906:22;7902:286;;-1:-1:-1;;;;;1713:19:51;;;8113:60:80;;;;-1:-1:-1;;;8113:60:80;;41800:2:151;8113:60:80;;;41782:21:151;41839:2;41819:18;;;41812:30;41878:31;41858:18;;;41851:59;41927:18;;8113:60:80;41598:353:151;8113:60:80;-1:-1:-1;8208:10:80;8201:17;;7875:418;8249:33;8257:10;8269:12;8249:7;:33::i;:::-;7671:628;;;;;;:::o;8821:540::-;8980:17;;:21;8976:379;;9208:10;9202:17;9264:15;9251:10;9247:2;9243:19;9236:44;8976:379;9331:12;9324:20;;-1:-1:-1;;;9324:20:80;;;;;;;;:::i;14:180:151:-;73:6;126:2;114:9;105:7;101:23;97:32;94:52;;;142:1;139;132:12;94:52;-1:-1:-1;165:23:151;;14:180;-1:-1:-1;14:180:151:o;331:184::-;-1:-1:-1;;;380:1:151;373:88;480:4;477:1;470:15;504:4;501:1;494:15;520:145;606:1;599:5;596:12;586:46;;612:18;;:::i;:::-;641;;520:145::o;670:250::-;755:1;765:113;779:6;776:1;773:13;765:113;;;855:11;;;849:18;836:11;;;829:39;801:2;794:10;765:113;;;-1:-1:-1;;912:1:151;894:16;;887:27;670:250::o;925:271::-;967:3;1005:5;999:12;1032:6;1027:3;1020:19;1048:76;1117:6;1110:4;1105:3;1101:14;1094:4;1087:5;1083:16;1048:76;:::i;:::-;1178:2;1157:15;-1:-1:-1;;1153:29:151;1144:39;;;;1185:4;1140:50;;925:271;-1:-1:-1;;925:271:151:o;1201:252::-;1288:5;1282:12;1277:3;1270:25;1252:3;1341:4;1334:5;1330:16;1324:23;1379:4;1372;1367:3;1363:14;1356:28;1400:47;1441:4;1436:3;1432:14;1418:12;1400:47;:::i;1458:1058::-;1872:4;1901:3;1931:6;1920:9;1913:25;1974:6;1969:2;1958:9;1954:18;1947:34;2017:6;2012:2;2001:9;1997:18;1990:34;2060:6;2055:2;2044:9;2040:18;2033:34;-1:-1:-1;;;;;2177:2:151;2169:6;2165:15;2159:3;2148:9;2144:19;2137:44;2230:2;2222:6;2218:15;2212:3;2201:9;2197:19;2190:44;2283:2;2275:6;2271:15;2265:3;2254:9;2250:19;2243:44;;2324:6;2318:3;2307:9;2303:19;2296:35;2340:59;2394:3;2383:9;2379:19;2371:6;2340:59;:::i;:::-;2436:2;2430:3;2419:9;2415:19;2408:31;2456:54;2506:2;2495:9;2491:18;2483:6;2456:54;:::i;:::-;2448:62;1458:1058;-1:-1:-1;;;;;;;;;;;;;1458:1058:151:o;2521:332::-;2579:6;2632:2;2620:9;2611:7;2607:23;2603:32;2600:52;;;2648:1;2645;2638:12;2600:52;2687:9;2674:23;2737:66;2730:5;2726:78;2719:5;2716:89;2706:117;;2819:1;2816;2809:12;3050:154;-1:-1:-1;;;;;3129:5:151;3125:54;3118:5;3115:65;3105:93;;3194:1;3191;3184:12;3209:247;3268:6;3321:2;3309:9;3300:7;3296:23;3292:32;3289:52;;;3337:1;3334;3327:12;3289:52;3376:9;3363:23;3395:31;3420:5;3395:31;:::i;3461:184::-;-1:-1:-1;;;3510:1:151;3503:88;3610:4;3607:1;3600:15;3634:4;3631:1;3624:15;3650:257;3722:4;3716:11;;;3754:17;;3801:18;3786:34;;3822:22;;;3783:62;3780:88;;;3848:18;;:::i;:::-;3884:4;3877:24;3650:257;:::o;3912:252::-;3984:2;3978:9;4026:3;4014:16;;4060:18;4045:34;;4081:22;;;4042:62;4039:88;;;4107:18;;:::i;4169:253::-;4241:2;4235:9;4283:4;4271:17;;4318:18;4303:34;;4339:22;;;4300:62;4297:88;;;4365:18;;:::i;4427:253::-;4499:2;4493:9;4541:4;4529:17;;4576:18;4561:34;;4597:22;;;4558:62;4555:88;;;4623:18;;:::i;4685:275::-;4756:2;4750:9;4821:2;4802:13;;-1:-1:-1;;4798:27:151;4786:40;;4856:18;4841:34;;4877:22;;;4838:62;4835:88;;;4903:18;;:::i;:::-;4939:2;4932:22;4685:275;;-1:-1:-1;4685:275:151:o;4965:183::-;5025:4;5058:18;5050:6;5047:30;5044:56;;;5080:18;;:::i;:::-;-1:-1:-1;5125:1:151;5121:14;5137:4;5117:25;;4965:183::o;5153:737::-;5207:5;5260:3;5253:4;5245:6;5241:17;5237:27;5227:55;;5278:1;5275;5268:12;5227:55;5314:6;5301:20;5340:4;5364:60;5380:43;5420:2;5380:43;:::i;:::-;5364:60;:::i;:::-;5458:15;;;5544:1;5540:10;;;;5528:23;;5524:32;;;5489:12;;;;5568:15;;;5565:35;;;5596:1;5593;5586:12;5565:35;5632:2;5624:6;5620:15;5644:217;5660:6;5655:3;5652:15;5644:217;;;5740:3;5727:17;5757:31;5782:5;5757:31;:::i;:::-;5801:18;;5839:12;;;;5677;;5644:217;;;-1:-1:-1;5879:5:151;5153:737;-1:-1:-1;;;;;;5153:737:151:o;5895:186::-;5943:4;5976:18;5968:6;5965:30;5962:56;;;5998:18;;:::i;:::-;-1:-1:-1;6064:2:151;6043:15;-1:-1:-1;;6039:29:151;6070:4;6035:40;;5895:186::o;6086:336::-;6150:5;6179:52;6195:35;6223:6;6195:35;:::i;6179:52::-;6170:61;;6254:6;6247:5;6240:21;6294:3;6285:6;6280:3;6276:16;6273:25;6270:45;;;6311:1;6308;6301:12;6270:45;6360:6;6355:3;6348:4;6341:5;6337:16;6324:43;6414:1;6407:4;6398:6;6391:5;6387:18;6383:29;6376:40;6086:336;;;;;:::o;6427:220::-;6469:5;6522:3;6515:4;6507:6;6503:17;6499:27;6489:55;;6540:1;6537;6530:12;6489:55;6562:79;6637:3;6628:6;6615:20;6608:4;6600:6;6596:17;6562:79;:::i;6652:702::-;6763:6;6771;6779;6832:2;6820:9;6811:7;6807:23;6803:32;6800:52;;;6848:1;6845;6838:12;6800:52;6888:9;6875:23;6917:18;6958:2;6950:6;6947:14;6944:34;;;6974:1;6971;6964:12;6944:34;6997:61;7050:7;7041:6;7030:9;7026:22;6997:61;:::i;:::-;6987:71;;7111:2;7100:9;7096:18;7083:32;7067:48;;7140:2;7130:8;7127:16;7124:36;;;7156:1;7153;7146:12;7124:36;;7179:51;7222:7;7211:8;7200:9;7196:24;7179:51;:::i;:::-;7169:61;;;7280:2;7269:9;7265:18;7252:32;7293:31;7318:5;7293:31;:::i;:::-;7343:5;7333:15;;;6652:702;;;;;:::o;7786:455::-;7863:6;7871;7924:2;7912:9;7903:7;7899:23;7895:32;7892:52;;;7940:1;7937;7930:12;7892:52;7980:9;7967:23;8013:18;8005:6;8002:30;7999:50;;;8045:1;8042;8035:12;7999:50;8068:49;8109:7;8100:6;8089:9;8085:22;8068:49;:::i;:::-;8058:59;;;8167:2;8156:9;8152:18;8139:32;8180:31;8205:5;8180:31;:::i;:::-;8230:5;8220:15;;;7786:455;;;;;:::o;8477:142::-;8560:1;8553:5;8550:12;8540:46;;8566:18;;:::i;8624:213::-;8773:2;8758:18;;8785:46;8762:9;8813:6;8785:46;:::i;8842:315::-;8910:6;8918;8971:2;8959:9;8950:7;8946:23;8942:32;8939:52;;;8987:1;8984;8977:12;8939:52;9026:9;9013:23;9045:31;9070:5;9045:31;:::i;:::-;9095:5;9147:2;9132:18;;;;9119:32;;-1:-1:-1;;;8842:315:151:o;9162:316::-;9239:6;9247;9255;9308:2;9296:9;9287:7;9283:23;9279:32;9276:52;;;9324:1;9321;9314:12;9276:52;-1:-1:-1;;9347:23:151;;;9417:2;9402:18;;9389:32;;-1:-1:-1;9468:2:151;9453:18;;;9440:32;;9162:316;-1:-1:-1;9162:316:151:o;9483:143::-;9567:1;9560:5;9557:12;9547:46;;9573:18;;:::i;9631:215::-;9781:2;9766:18;;9793:47;9770:9;9822:6;9793:47;:::i;10033:455::-;10110:6;10118;10171:2;10159:9;10150:7;10146:23;10142:32;10139:52;;;10187:1;10184;10177:12;10139:52;10226:9;10213:23;10245:31;10270:5;10245:31;:::i;:::-;10295:5;-1:-1:-1;10351:2:151;10336:18;;10323:32;10378:18;10367:30;;10364:50;;;10410:1;10407;10400:12;10364:50;10433:49;10474:7;10465:6;10454:9;10450:22;10433:49;:::i;:::-;10423:59;;;10033:455;;;;;:::o;10755:261::-;10936:2;10925:9;10918:21;10899:4;10956:54;11006:2;10995:9;10991:18;10983:6;10956:54;:::i;11021:1357::-;11148:6;11156;11209:2;11197:9;11188:7;11184:23;11180:32;11177:52;;;11225:1;11222;11215:12;11177:52;11265:9;11252:23;11294:18;11335:2;11327:6;11324:14;11321:34;;;11351:1;11348;11341:12;11321:34;11374:61;11427:7;11418:6;11407:9;11403:22;11374:61;:::i;:::-;11364:71;;11454:2;11444:12;;11509:2;11498:9;11494:18;11481:32;11538:2;11528:8;11525:16;11522:36;;;11554:1;11551;11544:12;11522:36;11577:24;;11632:4;11624:13;;11620:27;-1:-1:-1;11610:55:151;;11661:1;11658;11651:12;11610:55;11697:2;11684:16;11720:60;11736:43;11776:2;11736:43;:::i;11720:60::-;11814:15;;;11896:1;11892:10;;;;11884:19;;11880:28;;;11845:12;;;;11920:19;;;11917:39;;;11952:1;11949;11942:12;11917:39;11984:2;11980;11976:11;11996:352;12012:6;12007:3;12004:15;11996:352;;;12098:3;12085:17;12134:2;12121:11;12118:19;12115:109;;;12178:1;12207:2;12203;12196:14;12115:109;12249:56;12297:7;12292:2;12278:11;12274:2;12270:20;12266:29;12249:56;:::i;:::-;12237:69;;-1:-1:-1;12326:12:151;;;;12029;;11996:352;;;12000:3;12367:5;12357:15;;;;;;;;11021:1357;;;;;:::o;12383:849::-;12616:2;12668:21;;;12738:13;;12641:18;;;12760:22;;;12587:4;;12616:2;12801;;12819:18;;;;12860:15;;;12587:4;12903:303;12917:6;12914:1;12911:13;12903:303;;;12976:13;;13018:9;;-1:-1:-1;;;;;13014:58:151;13002:71;;13113:11;;13107:18;13093:12;;;13086:40;13146:12;;;;13181:15;;;;12939:1;12932:9;12903:303;;;-1:-1:-1;13223:3:151;;12383:849;-1:-1:-1;;;;;;;12383:849:151:o;13237:118::-;13323:5;13316:13;13309:21;13302:5;13299:32;13289:60;;13345:1;13342;13335:12;13360:241;13416:6;13469:2;13457:9;13448:7;13444:23;13440:32;13437:52;;;13485:1;13482;13475:12;13437:52;13524:9;13511:23;13543:28;13565:5;13543:28;:::i;13859:953::-;-1:-1:-1;;;;;14355:15:151;;;14337:34;;14407:15;;;14402:2;14387:18;;14380:43;14459:15;;14454:2;14439:18;;14432:43;14506:2;14491:18;;14484:34;;;14549:3;14534:19;;14527:35;;;14263:3;14248:19;;14571:59;14625:3;14610:19;;14602:6;14571:59;:::i;:::-;14667:6;14661:3;14650:9;14646:19;14639:35;14711:6;14705:3;14694:9;14690:19;14683:35;14755:6;14749:3;14738:9;14734:19;14727:35;14799:6;14793:3;14782:9;14778:19;14771:35;13859:953;;;;;;;;;;;;;:::o;14817:315::-;14885:6;14893;14946:2;14934:9;14925:7;14921:23;14917:32;14914:52;;;14962:1;14959;14952:12;14914:52;14998:9;14985:23;14975:33;;15058:2;15047:9;15043:18;15030:32;15071:31;15096:5;15071:31;:::i;15137:1202::-;15255:6;15286:2;15329;15317:9;15308:7;15304:23;15300:32;15297:52;;;15345:1;15342;15335:12;15297:52;15385:9;15372:23;15418:18;15410:6;15407:30;15404:50;;;15450:1;15447;15440:12;15404:50;15473:22;;15526:4;15518:13;;15514:27;-1:-1:-1;15504:55:151;;15555:1;15552;15545:12;15504:55;15591:2;15578:16;15614:60;15630:43;15670:2;15630:43;:::i;15614:60::-;15708:15;;;15790:1;15786:10;;;;15778:19;;15774:28;;;15739:12;;;;15814:19;;;15811:39;;;15846:1;15843;15836:12;15811:39;15870:11;;;;15890:419;15906:6;15901:3;15898:15;15890:419;;;15988:4;15982:3;15973:7;15969:17;15965:28;15962:118;;;16034:1;16063:2;16059;16052:14;15962:118;16106:22;;:::i;:::-;16155:17;;16141:32;;16222:12;;;16209:26;16193:14;;;16186:50;16249:18;;15932:4;15923:14;;;;16287:12;;;;15890:419;;16344:242;16487:2;16472:18;;16520:1;16509:13;;16499:47;;16526:18;;:::i;:::-;16555:25;;;16344:242;:::o;16591:388::-;16668:6;16676;16729:2;16717:9;16708:7;16704:23;16700:32;16697:52;;;16745:1;16742;16735:12;16697:52;16781:9;16768:23;16758:33;;16842:2;16831:9;16827:18;16814:32;16869:18;16861:6;16858:30;16855:50;;;16901:1;16898;16891:12;16984:585;17062:6;17070;17123:2;17111:9;17102:7;17098:23;17094:32;17091:52;;;17139:1;17136;17129:12;17091:52;17178:9;17165:23;17197:31;17222:5;17197:31;:::i;:::-;17247:5;-1:-1:-1;17303:2:151;17288:18;;17275:32;17330:18;17319:30;;17316:50;;;17362:1;17359;17352:12;17316:50;17385:22;;17438:4;17430:13;;17426:27;-1:-1:-1;17416:55:151;;17467:1;17464;17457:12;17416:55;17490:73;17555:7;17550:2;17537:16;17532:2;17528;17524:11;17490:73;:::i;17574:437::-;17653:1;17649:12;;;;17696;;;17717:61;;17771:4;17763:6;17759:17;17749:27;;17717:61;17824:2;17816:6;17813:14;17793:18;17790:38;17787:218;;-1:-1:-1;;;17858:1:151;17851:88;17962:4;17959:1;17952:15;17990:4;17987:1;17980:15;18883:184;-1:-1:-1;;;18932:1:151;18925:88;19032:4;19029:1;19022:15;19056:4;19053:1;19046:15;19072:128;19139:9;;;19160:11;;;19157:37;;;19174:18;;:::i;19578:184::-;-1:-1:-1;;;19627:1:151;19620:88;19727:4;19724:1;19717:15;19751:4;19748:1;19741:15;19767:274;19807:1;19833;19823:189;;-1:-1:-1;;;19865:1:151;19858:88;19969:4;19966:1;19959:15;19997:4;19994:1;19987:15;19823:189;-1:-1:-1;20026:9:151;;19767:274::o;20046:168::-;20119:9;;;20150;;20167:15;;;20161:22;;20147:37;20137:71;;20188:18;;:::i;20219:125::-;20284:9;;;20305:10;;;20302:36;;;20318:18;;:::i;21932:245::-;21999:6;22052:2;22040:9;22031:7;22027:23;22023:32;22020:52;;;22068:1;22065;22058:12;22020:52;22100:9;22094:16;22119:28;22141:5;22119:28;:::i;22182:184::-;22252:6;22305:2;22293:9;22284:7;22280:23;22276:32;22273:52;;;22321:1;22318;22311:12;22273:52;-1:-1:-1;22344:16:151;;22182:184;-1:-1:-1;22182:184:151:o;22371:266::-;22456:6;22509:2;22497:9;22488:7;22484:23;22480:32;22477:52;;;22525:1;22522;22515:12;22477:52;22557:9;22551:16;22576:31;22601:5;22576:31;:::i;22642:138::-;22721:13;;22743:31;22721:13;22743:31;:::i;:::-;22642:138;;;:::o;22785:157::-;22874:13;;22916:1;22906:12;;22896:40;;22932:1;22929;22922:12;22947:156;23035:13;;23077:1;23067:12;;23057:40;;23093:1;23090;23083:12;23108:420;23183:5;23231:4;23219:9;23214:3;23210:19;23206:30;23203:50;;;23249:1;23246;23239:12;23203:50;23282:2;23276:9;23324:4;23316:6;23312:17;23395:6;23383:10;23380:22;23359:18;23347:10;23344:34;23341:62;23338:88;;;23406:18;;:::i;:::-;23442:2;23435:22;23505:16;;23490:32;;-1:-1:-1;23475:6:151;23108:420;-1:-1:-1;23108:420:151:o;23533:952::-;23638:6;23691:3;23679:9;23670:7;23666:23;23662:33;23659:53;;;23708:1;23705;23698:12;23659:53;23734:22;;:::i;:::-;23779:40;23809:9;23779:40;:::i;:::-;23772:5;23765:55;23873:2;23862:9;23858:18;23852:25;23847:2;23840:5;23836:14;23829:49;23931:2;23920:9;23916:18;23910:25;23905:2;23898:5;23894:14;23887:49;23989:2;23978:9;23974:18;23968:25;23963:2;23956:5;23952:14;23945:49;24048:3;24037:9;24033:19;24027:26;24021:3;24014:5;24010:15;24003:51;24087:60;24142:3;24131:9;24127:19;24087:60;:::i;:::-;24081:3;24074:5;24070:15;24063:85;24181:59;24235:3;24224:9;24220:19;24181:59;:::i;:::-;24175:3;24168:5;24164:15;24157:84;24274:76;24342:7;24336:3;24325:9;24321:19;24274:76;:::i;:::-;24268:3;24261:5;24257:15;24250:101;24370:3;24405:49;24450:2;24439:9;24435:18;24405:49;:::i;:::-;24389:14;;;24382:73;24393:5;23533:952;-1:-1:-1;;;23533:952:151:o;24490:1116::-;24680:4;24722:3;24711:9;24707:19;24699:27;;24753:6;24742:9;24735:25;-1:-1:-1;;;;;24806:6:151;24800:13;24796:62;24791:2;24780:9;24776:18;24769:90;24913:2;24905:6;24901:15;24895:22;24890:2;24879:9;24875:18;24868:50;24972:2;24964:6;24960:15;24954:22;24949:2;24938:9;24934:18;24927:50;25032:2;25024:6;25020:15;25014:22;25008:3;24997:9;24993:19;24986:51;25092:3;25084:6;25080:16;25074:23;25068:3;25057:9;25053:19;25046:52;25145:3;25137:6;25133:16;25127:23;25159:63;25217:3;25206:9;25202:19;25188:12;25159:63;:::i;:::-;;25271:3;25263:6;25259:16;25253:23;25285:64;25344:3;25333:9;25329:19;25313:14;25285:64;:::i;:::-;-1:-1:-1;25398:3:151;25386:16;;25380:23;25461:21;25422:3;25441:18;;;25434:49;;;;25520:15;;;25514:22;-1:-1:-1;;;;;265:54:151;25595:3;25580:19;;;253:67;24490:1116;;-1:-1:-1;24490:1116:151:o;26018:220::-;26167:2;26156:9;26149:21;26130:4;26187:45;26228:2;26217:9;26213:18;26205:6;26187:45;:::i;26869:726::-;26935:5;26983:4;26971:9;26966:3;26962:19;26958:30;26955:50;;;27001:1;26998;26991:12;26955:50;27023:22;;:::i;:::-;27014:31;;27074:9;27068:16;27061:5;27054:31;27129:2;27118:9;27114:18;27108:25;27156:18;27148:6;27145:30;27142:50;;;27188:1;27185;27178:12;27142:50;27211:22;;27264:4;27256:13;;27252:23;-1:-1:-1;27242:51:151;;27289:1;27286;27279:12;27242:51;27318:2;27312:9;27343:48;27359:31;27387:2;27359:31;:::i;27343:48::-;27414:2;27407:5;27400:17;27454:3;27449:2;27444;27440;27436:11;27432:20;27429:29;27426:49;;;27471:1;27468;27461:12;27426:49;27484:67;27548:2;27543;27536:5;27532:14;27527:2;27523;27519:11;27484:67;:::i;:::-;27578:2;27567:14;;27560:29;-1:-1:-1;27571:5:151;;26869:726;-1:-1:-1;;;26869:726:151:o;27600:1028::-;27692:6;27745:2;27733:9;27724:7;27720:23;27716:32;27713:52;;;27761:1;27758;27751:12;27713:52;27794:9;27788:16;27823:18;27864:2;27856:6;27853:14;27850:34;;;27880:1;27877;27870:12;27850:34;27903:22;;;;27959:4;27941:16;;;27937:27;27934:47;;;27977:1;27974;27967:12;27934:47;28003:22;;:::i;:::-;28054:2;28048:9;28041:5;28034:24;28096:2;28092;28088:11;28082:18;28109:33;28134:7;28109:33;:::i;:::-;28169:2;28158:14;;28151:31;28220:2;28212:11;;28206:18;28233:33;28206:18;28233:33;:::i;:::-;28293:2;28282:14;;28275:31;28345:2;28337:11;;28331:18;28361:16;;;28358:36;;;28390:1;28387;28380:12;28358:36;28426:65;28483:7;28472:8;28468:2;28464:17;28426:65;:::i;:::-;28421:2;28414:5;28410:14;28403:89;;28539:3;28535:2;28531:12;28525:19;28519:3;28512:5;28508:15;28501:44;28592:3;28588:2;28584:12;28578:19;28572:3;28565:5;28561:15;28554:44;28617:5;28607:15;;;;;27600:1028;;;;:::o;29418:986::-;29521:6;29574:2;29562:9;29553:7;29549:23;29545:32;29542:52;;;29590:1;29587;29580:12;29542:52;29623:9;29617:16;29652:18;29693:2;29685:6;29682:14;29679:34;;;29709:1;29706;29699:12;29679:34;29732:22;;;;29788:4;29770:16;;;29766:27;29763:47;;;29806:1;29803;29796:12;29763:47;29832:22;;:::i;:::-;29883:2;29877:9;29870:5;29863:24;29925:2;29921;29917:11;29911:18;29938:33;29963:7;29938:33;:::i;:::-;29998:2;29987:14;;29980:31;30057:2;30049:11;;;30043:18;30027:14;;;30020:42;30100:2;30092:11;;30086:18;30113:33;30086:18;30113:33;:::i;:::-;30173:2;30162:14;;30155:31;30225:3;30217:12;;30211:19;30242:16;;;30239:36;;;30271:1;30268;30261:12;30239:36;30308:65;30365:7;30354:8;30350:2;30346:17;30308:65;:::i;:::-;30302:3;30291:15;;30284:90;-1:-1:-1;30295:5:151;29418:986;-1:-1:-1;;;;;29418:986:151:o;30679:135::-;30718:3;30739:17;;;30736:43;;30759:18;;:::i;:::-;-1:-1:-1;30806:1:151;30795:13;;30679:135::o;30945:545::-;31047:2;31042:3;31039:11;31036:448;;;31083:1;31108:5;31104:2;31097:17;31153:4;31149:2;31139:19;31223:2;31211:10;31207:19;31204:1;31200:27;31194:4;31190:38;31259:4;31247:10;31244:20;31241:47;;;-1:-1:-1;31282:4:151;31241:47;31337:2;31332:3;31328:12;31325:1;31321:20;31315:4;31311:31;31301:41;;31392:82;31410:2;31403:5;31400:13;31392:82;;;31455:17;;;31436:1;31425:13;31392:82;;;31396:3;;;30945:545;;;:::o;31666:1352::-;31792:3;31786:10;31819:18;31811:6;31808:30;31805:56;;;31841:18;;:::i;:::-;31870:97;31960:6;31920:38;31952:4;31946:11;31920:38;:::i;:::-;31914:4;31870:97;:::i;:::-;32022:4;;32086:2;32075:14;;32103:1;32098:663;;;;32805:1;32822:6;32819:89;;;-1:-1:-1;32874:19:151;;;32868:26;32819:89;-1:-1:-1;;31623:1:151;31619:11;;;31615:24;31611:29;31601:40;31647:1;31643:11;;;31598:57;32921:81;;32068:944;;32098:663;30892:1;30885:14;;;30929:4;30916:18;;-1:-1:-1;;32134:20:151;;;32252:236;32266:7;32263:1;32260:14;32252:236;;;32355:19;;;32349:26;32334:42;;32447:27;;;;32415:1;32403:14;;;;32282:19;;32252:236;;;32256:3;32516:6;32507:7;32504:19;32501:201;;;32577:19;;;32571:26;-1:-1:-1;;32660:1:151;32656:14;;;32672:3;32652:24;32648:37;32644:42;32629:58;32614:74;;32501:201;-1:-1:-1;;;;;32748:1:151;32732:14;;;32728:22;32715:36;;-1:-1:-1;31666:1352:151:o;33295:273::-;33363:6;33416:2;33404:9;33395:7;33391:23;33387:32;33384:52;;;33432:1;33429;33422:12;33384:52;33464:9;33458:16;33514:4;33507:5;33503:16;33496:5;33493:27;33483:55;;33534:1;33531;33524:12;33573:422;33662:1;33705:5;33662:1;33719:270;33740:7;33730:8;33727:21;33719:270;;;33799:4;33795:1;33791:6;33787:17;33781:4;33778:27;33775:53;;;33808:18;;:::i;:::-;33858:7;33848:8;33844:22;33841:55;;;33878:16;;;;33841:55;33957:22;;;;33917:15;;;;33719:270;;;33723:3;33573:422;;;;;:::o;34000:806::-;34049:5;34079:8;34069:80;;-1:-1:-1;34120:1:151;34134:5;;34069:80;34168:4;34158:76;;-1:-1:-1;34205:1:151;34219:5;;34158:76;34250:4;34268:1;34263:59;;;;34336:1;34331:130;;;;34243:218;;34263:59;34293:1;34284:10;;34307:5;;;34331:130;34368:3;34358:8;34355:17;34352:43;;;34375:18;;:::i;:::-;-1:-1:-1;;34431:1:151;34417:16;;34446:5;;34243:218;;34545:2;34535:8;34532:16;34526:3;34520:4;34517:13;34513:36;34507:2;34497:8;34494:16;34489:2;34483:4;34480:12;34476:35;34473:77;34470:159;;;-1:-1:-1;34582:19:151;;;34614:5;;34470:159;34661:34;34686:8;34680:4;34661:34;:::i;:::-;34731:6;34727:1;34723:6;34719:19;34710:7;34707:32;34704:58;;;34742:18;;:::i;:::-;34780:20;;34000:806;-1:-1:-1;;;34000:806:151:o;34811:131::-;34871:5;34900:36;34927:8;34921:4;34900:36;:::i;36679:184::-;-1:-1:-1;;;36728:1:151;36721:88;36828:4;36825:1;36818:15;36852:4;36849:1;36842:15;36868:1185;36997:6;37028:2;37071;37059:9;37050:7;37046:23;37042:32;37039:52;;;37087:1;37084;37077:12;37039:52;37120:9;37114:16;37153:18;37145:6;37142:30;37139:50;;;37185:1;37182;37175:12;37139:50;37208:22;;37261:4;37253:13;;37249:27;-1:-1:-1;37239:55:151;;37290:1;37287;37280:12;37239:55;37319:2;37313:9;37342:60;37358:43;37398:2;37358:43;:::i;37342:60::-;37436:15;;;37518:1;37514:10;;;;37506:19;;37502:28;;;37467:12;;;;37542:19;;;37539:39;;;37574:1;37571;37564:12;37539:39;37598:11;;;;37618:405;37634:6;37629:3;37626:15;37618:405;;;37716:4;37710:3;37701:7;37697:17;37693:28;37690:118;;;37762:1;37791:2;37787;37780:14;37690:118;37834:22;;:::i;:::-;37883:10;;37869:25;;37936:12;;;37930:19;37914:14;;;37907:43;37963:18;;37660:4;37651:14;;;;38001:12;;;;37618:405;;38058:184;-1:-1:-1;;;38107:1:151;38100:88;38207:4;38204:1;38197:15;38231:4;38228:1;38221:15;38772:291;38949:2;38938:9;38931:21;38912:4;38969:45;39010:2;38999:9;38995:18;38987:6;38969:45;:::i;:::-;38961:53;;39050:6;39045:2;39034:9;39030:18;39023:34;38772:291;;;;;:::o;40248:216::-;40312:9;;;40340:11;;;40287:3;40370:9;;40398:10;;40394:19;;40423:10;;40415:19;;40391:44;40388:70;;;40438:18;;:::i;41306:287::-;41435:3;41473:6;41467:13;41489:66;41548:6;41543:3;41536:4;41528:6;41524:17;41489:66;:::i;:::-;41571:16;;;;;41306:287;-1:-1:-1;;41306:287:151:o","linkReferences":{},"immutableReferences":{"56113":[{"start":4657,"length":32},{"start":4790,"length":32},{"start":5047,"length":32},{"start":5180,"length":32},{"start":5410,"length":32}]}},"methodIdentifiers":{"D()":"0f529ba2","MAX_STAKED_PROPOSALS()":"406244d8","NATIVE()":"a0cf0aea","_minThresholdPoints()":"7c6570ba","activatePoints()":"814516ad","allocate(bytes,address)":"ef2920fc","calculateConviction(uint256,uint256,uint256)":"346db8cb","calculateThreshold(uint256)":"59a5db8b","canExecuteProposal(uint256)":"824ea8ed","deactivatePoints()":"1ddf1e23","deactivatePoints(address)":"6453d9c4","decay()":"54fac919","decreasePower(address,uint256)":"2ed04b2b","distribute(address[],bytes,address)":"0a6f0ee9","getAllo()":"15cc481e","getMaxAmount()":"0ba95909","getMaxConviction(uint256)":"950559d7","getMetadata(uint256)":"a574cea4","getPayouts(address[],bytes[])":"b2b878d0","getPointSystem()":"c3292171","getPoolAmount()":"4ab4ba42","getPoolId()":"38fff2d0","getProposal(uint256)":"c7f758a8","getProposalStakedAmount(uint256)":"dc96ff2d","getProposalVoterStake(uint256,address)":"e0dd2c38","getRecipientStatus(address)":"eb11af93","getStrategyId()":"42fda9c7","getTotalVoterStakePct(address)":"bcc5b93b","increasePoolAmount(uint256)":"f5b0dfb7","increasePower(address,uint256)":"782aadff","init(address)":"19ab453c","init(address,string)":"f321b305","initialize(uint256,bytes)":"edd146cc","isPoolActive()":"df868ed3","isValidAllocator(address)":"4d31d087","maxRatio()":"76365af7","owner()":"8da5cb5b","pointConfig()":"a47ff7e5","pointSystem()":"2dbd6fdd","proposalCounter()":"0c0512e9","proposalType()":"351d9f96","proposals(uint256)":"013cf08b","proxiableUUID()":"52d1902d","registerRecipient(bytes,address)":"2bbe0cae","registryCommunity()":"6003e414","renounceOwnership()":"715018a6","setDecay(uint256)":"69fa25c4","setMaxRatio(uint256)":"11f22ae3","setMinThresholdPoints(uint256)":"2cefadbb","setPoolActive(bool)":"b5f620ce","setRegistryCommunity(address)":"058aca44","setSybilScorer(address)":"ac1ed7b9","setWeight(uint256)":"fc1711f2","supportProposal((uint256,int256)[])":"e33add93","supportsInterface(bytes4)":"01ffc9a7","sybilScorer()":"b6c61f31","totalEffectiveActivePoints()":"d1e36232","totalPointsActivated()":"aba9ffee","totalStaked()":"817b1cd2","totalVoterStakePct(address)":"5db64b99","transferOwnership(address)":"f2fde38b","updateProposalConviction(uint256)":"1aa91a9e","upgradeTo(address)":"3659cfe6","upgradeToAndCall(address,bytes)":"4f1ef286","voterStakedProposals(address,uint256)":"868c57b8","weight()":"a1aab33f"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"ALLOCATION_ACTIVE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ALLOCATION_NOT_ACTIVE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ALLOCATION_NOT_ENDED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ALREADY_INITIALIZED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"AMOUNT_MISMATCH\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ANCHOR_ERROR\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ARRAY_MISMATCH\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"AddressCannotBeZero\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"AmountOverMaxRatio\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"CantIncreaseFixedSystem\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ConvictionUnderMinimumThreshold\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID_ADDRESS\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID_FEE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID_METADATA\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID_REGISTRATION\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"IS_APPROVED_STRATEGY\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"MISMATCH\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"MaxPointsReached\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NONCE_NOT_AVAILABLE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NOT_APPROVED_STRATEGY\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NOT_ENOUGH_FUNDS\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NOT_IMPLEMENTED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NOT_INITIALIZED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NOT_PENDING_OWNER\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"pointsSupport\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"pointsBalance\",\"type\":\"uint256\"}],\"name\":\"NotEnoughPointsToSupport\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotImplemented\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"OnlyCommunityAllowed\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"OnlyCouncilSafe\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"POOL_ACTIVE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"POOL_INACTIVE\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_proposalId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_requestedAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_poolAmount\",\"type\":\"uint256\"}],\"name\":\"PoolAmountNotEnough\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"PoolIdCannotBeZero\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"PoolIsEmpty\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ProposalDataIsEmpty\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ProposalIdCannotBeZero\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_proposalId\",\"type\":\"uint256\"}],\"name\":\"ProposalNotActive\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_proposalId\",\"type\":\"uint256\"}],\"name\":\"ProposalNotInList\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_proposalId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"ProposalSupportDuplicated\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"RECIPIENT_ALREADY_ACCEPTED\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"recipientId\",\"type\":\"address\"}],\"name\":\"RECIPIENT_ERROR\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"RECIPIENT_NOT_ACCEPTED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"REGISTRATION_NOT_ACTIVE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"RegistryCannotBeZero\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_support\",\"type\":\"uint256\"},{\"internalType\":\"int256\",\"name\":\"_delta\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"_result\",\"type\":\"int256\"}],\"name\":\"SupportUnderflow\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TokenCannotBeZero\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TokenNotAllowed\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UNAUTHORIZED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UserCannotBeZero\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UserCannotExecuteAction\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UserIsInactive\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UserNotInRegistry\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ZERO_ADDRESS\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"previousAdmin\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"newAdmin\",\"type\":\"address\"}],\"name\":\"AdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"recipientId\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"Allocated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"beacon\",\"type\":\"address\"}],\"name\":\"BeaconUpgraded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decay\",\"type\":\"uint256\"}],\"name\":\"DecayUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"beneficiary\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"Distributed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"recipientId\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"recipientAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"Distributed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"version\",\"type\":\"uint8\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"registryCommunity\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"decay\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxRatio\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"weight\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"minThresholdPoints\",\"type\":\"uint256\"},{\"internalType\":\"enum StrategyStruct.ProposalType\",\"name\":\"proposalType\",\"type\":\"uint8\"},{\"internalType\":\"enum StrategyStruct.PointSystem\",\"name\":\"pointSystem\",\"type\":\"uint8\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"maxAmount\",\"type\":\"uint256\"}],\"internalType\":\"struct StrategyStruct.PointSystemConfig\",\"name\":\"pointConfig\",\"type\":\"tuple\"},{\"internalType\":\"address\",\"name\":\"sybilScorer\",\"type\":\"address\"}],\"indexed\":false,\"internalType\":\"struct StrategyStruct.InitializeParams\",\"name\":\"data\",\"type\":\"tuple\"}],\"name\":\"InitializedCV\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"maxRatio\",\"type\":\"uint256\"}],\"name\":\"MaxRatioUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"before\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"minThresholdPoints\",\"type\":\"uint256\"}],\"name\":\"MinThresholdPointsUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"member\",\"type\":\"address\"}],\"name\":\"PointsDeactivated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"active\",\"type\":\"bool\"}],\"name\":\"PoolActive\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"PoolAmountIncreased\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"member\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"tokensUnStaked\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"pointsToDecrease\",\"type\":\"uint256\"}],\"name\":\"PowerDecreased\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"member\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"tokensStaked\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"pointsToIncrease\",\"type\":\"uint256\"}],\"name\":\"PowerIncreased\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"ProposalCreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"recipientId\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"Registered\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"registryCommunity\",\"type\":\"address\"}],\"name\":\"RegistryUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"totalStakedAmount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"convictionLast\",\"type\":\"uint256\"}],\"name\":\"SupportAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"Upgraded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"weight\",\"type\":\"uint256\"}],\"name\":\"WeightUpdated\",\"type\":\"event\"},{\"stateMutability\":\"payable\",\"type\":\"fallback\"},{\"inputs\":[],\"name\":\"D\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"MAX_STAKED_PROPOSALS\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"NATIVE\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_minThresholdPoints\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"activatePoints\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"},{\"internalType\":\"address\",\"name\":\"_sender\",\"type\":\"address\"}],\"name\":\"allocate\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_timePassed\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_lastConv\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_oldAmount\",\"type\":\"uint256\"}],\"name\":\"calculateConviction\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_requestedAmount\",\"type\":\"uint256\"}],\"name\":\"calculateThreshold\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"_threshold\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"canExecuteProposal\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"canBeExecuted\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"deactivatePoints\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"}],\"name\":\"deactivatePoints\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decay\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amountToUnstake\",\"type\":\"uint256\"}],\"name\":\"decreasePower\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"_recipientIds\",\"type\":\"address[]\"},{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"},{\"internalType\":\"address\",\"name\":\"_sender\",\"type\":\"address\"}],\"name\":\"distribute\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getAllo\",\"outputs\":[{\"internalType\":\"contract IAllo\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getMaxAmount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"getMaxConviction\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_proposalId\",\"type\":\"uint256\"}],\"name\":\"getMetadata\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"},{\"internalType\":\"bytes[]\",\"name\":\"\",\"type\":\"bytes[]\"}],\"name\":\"getPayouts\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"recipientAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"internalType\":\"struct IStrategy.PayoutSummary[]\",\"name\":\"\",\"type\":\"tuple[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getPointSystem\",\"outputs\":[{\"internalType\":\"enum StrategyStruct.PointSystem\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getPoolAmount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getPoolId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_proposalId\",\"type\":\"uint256\"}],\"name\":\"getProposal\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"submitter\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"beneficiary\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"requestedToken\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"requestedAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"stakedAmount\",\"type\":\"uint256\"},{\"internalType\":\"enum StrategyStruct.ProposalStatus\",\"name\":\"proposalStatus\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"blockLast\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"convictionLast\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"threshold\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"voterStakedPoints\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_proposalId\",\"type\":\"uint256\"}],\"name\":\"getProposalStakedAmount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_proposalId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_voter\",\"type\":\"address\"}],\"name\":\"getProposalVoterStake\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_recipientId\",\"type\":\"address\"}],\"name\":\"getRecipientStatus\",\"outputs\":[{\"internalType\":\"enum IStrategy.Status\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getStrategyId\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_voter\",\"type\":\"address\"}],\"name\":\"getTotalVoterStakePct\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"increasePoolAmount\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amountToStake\",\"type\":\"uint256\"}],\"name\":\"increasePower\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_allo\",\"type\":\"address\"}],\"name\":\"init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_allo\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"_name\",\"type\":\"string\"}],\"name\":\"init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_poolId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"isPoolActive\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_allocator\",\"type\":\"address\"}],\"name\":\"isValidAllocator\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"maxRatio\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pointConfig\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"maxAmount\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pointSystem\",\"outputs\":[{\"internalType\":\"enum StrategyStruct.PointSystem\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proposalCounter\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proposalType\",\"outputs\":[{\"internalType\":\"enum StrategyStruct.ProposalType\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"proposals\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"requestedAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"stakedAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"convictionLast\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"beneficiary\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"submitter\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"requestedToken\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"blockLast\",\"type\":\"uint256\"},{\"internalType\":\"enum StrategyStruct.ProposalStatus\",\"name\":\"proposalStatus\",\"type\":\"uint8\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"metadata\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proxiableUUID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"},{\"internalType\":\"address\",\"name\":\"_sender\",\"type\":\"address\"}],\"name\":\"registerRecipient\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"recipientId\",\"type\":\"address\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"registryCommunity\",\"outputs\":[{\"internalType\":\"contract RegistryCommunityV0_0\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_decay\",\"type\":\"uint256\"}],\"name\":\"setDecay\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_maxRatio\",\"type\":\"uint256\"}],\"name\":\"setMaxRatio\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"minThresholdPoints_\",\"type\":\"uint256\"}],\"name\":\"setMinThresholdPoints\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"_active\",\"type\":\"bool\"}],\"name\":\"setPoolActive\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_registryCommunity\",\"type\":\"address\"}],\"name\":\"setRegistryCommunity\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_sybilScorer\",\"type\":\"address\"}],\"name\":\"setSybilScorer\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_weight\",\"type\":\"uint256\"}],\"name\":\"setWeight\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"int256\",\"name\":\"deltaSupport\",\"type\":\"int256\"}],\"internalType\":\"struct StrategyStruct.ProposalSupport[]\",\"name\":\"\",\"type\":\"tuple[]\"}],\"name\":\"supportProposal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"sybilScorer\",\"outputs\":[{\"internalType\":\"contract ISybilScorer\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalEffectiveActivePoints\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalPointsActivated\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalStaked\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"totalVoterStakePct\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"updateProposalConviction\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"}],\"name\":\"upgradeTo\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"upgradeToAndCall\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"voterStakedProposals\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"weight\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"stateMutability\":\"payable\",\"type\":\"receive\"}],\"devdoc\":{\"errors\":{\"ANCHOR_ERROR()\":[{\"details\":\"Thrown if the anchor creation fails\"}],\"NONCE_NOT_AVAILABLE()\":[{\"details\":\"Thrown when the nonce passed has been used or not available\"}],\"NOT_PENDING_OWNER()\":[{\"details\":\"Thrown when the 'msg.sender' is not the pending owner on ownership transfer\"}]},\"events\":{\"AdminChanged(address,address)\":{\"details\":\"Emitted when the admin account has changed.\"},\"Allocated(address,uint256,address,address)\":{\"params\":{\"amount\":\"The amount allocated\",\"recipientId\":\"The ID of the recipient\",\"token\":\"The token allocated\"}},\"BeaconUpgraded(address)\":{\"details\":\"Emitted when the beacon is changed.\"},\"Distributed(address,address,uint256,address)\":{\"params\":{\"amount\":\"The amount distributed\",\"recipientAddress\":\"The recipient\",\"recipientId\":\"The ID of the recipient\",\"sender\":\"The sender\"}},\"Initialized(uint256,bytes)\":{\"params\":{\"data\":\"The data passed to the 'initialize' function\",\"poolId\":\"The ID of the pool\"}},\"Initialized(uint8)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"PoolActive(bool)\":{\"params\":{\"active\":\"The status of the pool\"}},\"Registered(address,bytes,address)\":{\"params\":{\"data\":\"The data passed to the 'registerRecipient' function\",\"recipientId\":\"The ID of the recipient\",\"sender\":\"The sender\"}},\"Upgraded(address)\":{\"details\":\"Emitted when the implementation is upgraded.\"}},\"kind\":\"dev\",\"methods\":{\"allocate(bytes,address)\":{\"details\":\"The encoded '_data' will be determined by the strategy implementation. Only 'Allo' contract can call this when it is initialized.\",\"params\":{\"_data\":\"The data to use to allocate to the recipient\",\"_sender\":\"The address of the sender\"}},\"calculateConviction(uint256,uint256,uint256)\":{\"details\":\"Conviction formula: a^t * y(0) + x * (1 - a^t) / (1 - a) Solidity implementation: y = (2^128 * a^t * y0 + x * D * (2^128 - 2^128 * a^t) / (D - aD) + 2^127) / 2^128\",\"params\":{\"_lastConv\":\"Last conviction record\",\"_oldAmount\":\"Amount of tokens staked until now\",\"_timePassed\":\"Number of blocks since last conviction record\"},\"returns\":{\"_0\":\"Current conviction\"}},\"calculateThreshold(uint256)\":{\"details\":\"Formula: \\u03c1 * totalStaked / (1 - a) / (\\u03b2 - requestedAmount / total)**2 For the Solidity implementation we amplify \\u03c1 and \\u03b2 and simplify the formula: weight = \\u03c1 * D maxRatio = \\u03b2 * D decay = a * D threshold = weight * totalStaked * D ** 2 * funds ** 2 / (D - decay) / (maxRatio * funds - requestedAmount * D) ** 2\",\"params\":{\"_requestedAmount\":\"Requested amount of tokens on certain proposal\"},\"returns\":{\"_threshold\":\"Threshold a proposal's conviction should surpass in order to be able to executed it.\"}},\"distribute(address[],bytes,address)\":{\"details\":\"The encoded '_data' will be determined by the strategy implementation. Only 'Allo' contract can call this when it is initialized.\",\"params\":{\"_data\":\"The data to use to distribute to the recipients\",\"_recipientIds\":\"The IDs of the recipients\",\"_sender\":\"The address of the sender\"}},\"getAllo()\":{\"returns\":{\"_0\":\"The Allo contract\"}},\"getPayouts(address[],bytes[])\":{\"returns\":{\"_0\":\"Input the values you would send to distribute(), get the amounts each recipient in the array would receive\"}},\"getPoolAmount()\":{\"returns\":{\"_0\":\"The balance of the pool\"}},\"getPoolId()\":{\"returns\":{\"_0\":\"The ID of the pool\"}},\"getProposal(uint256)\":{\"details\":\"Get proposal details\",\"params\":{\"_proposalId\":\"Proposal id\"},\"returns\":{\"beneficiary\":\"Proposal beneficiary\",\"blockLast\":\"Last block when conviction was calculated\",\"convictionLast\":\"Last conviction calculated\",\"proposalStatus\":\"Proposal status\",\"requestedAmount\":\"Proposal requested amount\",\"requestedToken\":\"Proposal requested token\",\"stakedAmount\":\"Proposal staked points\",\"submitter\":\"Proposal submitter\",\"threshold\":\"Proposal threshold\"}},\"getProposalVoterStake(uint256,address)\":{\"params\":{\"_proposalId\":\"Proposal id\",\"_voter\":\"Voter address\"},\"returns\":{\"_0\":\"Proposal voter stake\"}},\"getRecipientStatus(address)\":{\"params\":{\"_recipientId\":\"The ID of the recipient\"},\"returns\":{\"_0\":\"The status of the recipient\"}},\"getStrategyId()\":{\"returns\":{\"_0\":\"The ID of the strategy\"}},\"increasePoolAmount(uint256)\":{\"details\":\"Increases the 'poolAmount' by '_amount'. Only 'Allo' contract can call this.\",\"params\":{\"_amount\":\"The amount to increase the pool by\"}},\"init(address,string)\":{\"params\":{\"_allo\":\"Address of the Allo contract.\"}},\"initialize(uint256,bytes)\":{\"params\":{\"_data\":\"The encoded data\",\"_poolId\":\"The ID of the pool\"}},\"isPoolActive()\":{\"returns\":{\"_0\":\"'true' if the pool is active, otherwise 'false'\"}},\"isValidAllocator(address)\":{\"details\":\"How the allocator is determined is up to the strategy implementation.\",\"params\":{\"_allocator\":\"The address to check if it is a valid allocator for the strategy.\"},\"returns\":{\"_0\":\"'true' if the address is a valid allocator, 'false' otherwise\"}},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"proxiableUUID()\":{\"details\":\"Implementation of the ERC1822 {proxiableUUID} function. This returns the storage slot used by the implementation. It is used to validate the implementation's compatibility when performing an upgrade. IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this function revert if invoked through a proxy. This is guaranteed by the `notDelegated` modifier.\"},\"registerRecipient(bytes,address)\":{\"details\":\"Registers a recipient and returns the ID of the recipient. The encoded '_data' will be determined by the strategy implementation. Only 'Allo' contract can call this when it is initialized.\",\"params\":{\"_data\":\"The data to use to register the recipient\",\"_sender\":\"The address of the sender\"},\"returns\":{\"recipientId\":\"The recipientId\"}},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"},\"upgradeTo(address)\":{\"custom:oz-upgrades-unsafe-allow-reachable\":\"delegatecall\",\"details\":\"Upgrade the implementation of the proxy to `newImplementation`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event.\"},\"upgradeToAndCall(address,bytes)\":{\"custom:oz-upgrades-unsafe-allow-reachable\":\"delegatecall\",\"details\":\"Upgrade the implementation of the proxy to `newImplementation`, and subsequently execute the function call encoded in `data`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event.\"}},\"version\":1},\"userdoc\":{\"errors\":{\"ALLOCATION_ACTIVE()\":[{\"notice\":\"Thrown when the allocation is active.\"}],\"ALLOCATION_NOT_ACTIVE()\":[{\"notice\":\"Thrown when the allocation is not active.\"}],\"ALLOCATION_NOT_ENDED()\":[{\"notice\":\"Thrown when the allocation is not ended.\"}],\"ALREADY_INITIALIZED()\":[{\"notice\":\"Thrown when data is already intialized\"}],\"AMOUNT_MISMATCH()\":[{\"notice\":\"Thrown when the amount of tokens sent does not match the amount of tokens expected\"}],\"ARRAY_MISMATCH()\":[{\"notice\":\"Thrown when two arrays length are not equal\"}],\"INVALID()\":[{\"notice\":\"Thrown as a general error when input / data is invalid\"}],\"INVALID_ADDRESS()\":[{\"notice\":\"Thrown when an invalid address is used\"}],\"INVALID_FEE()\":[{\"notice\":\"Thrown when the fee is below 1e18 which is the fee percentage denominator\"}],\"INVALID_METADATA()\":[{\"notice\":\"Thrown when the metadata is invalid.\"}],\"INVALID_REGISTRATION()\":[{\"notice\":\"Thrown when the registration is invalid.\"}],\"IS_APPROVED_STRATEGY()\":[{\"notice\":\"Thrown when the strategy is approved and should be cloned\"}],\"MISMATCH()\":[{\"notice\":\"Thrown when mismatch in decoding data\"}],\"NOT_APPROVED_STRATEGY()\":[{\"notice\":\"Thrown when the strategy is not approved\"}],\"NOT_ENOUGH_FUNDS()\":[{\"notice\":\"Thrown when not enough funds are available\"}],\"NOT_IMPLEMENTED()\":[{\"notice\":\"Thrown when the function is not implemented\"}],\"NOT_INITIALIZED()\":[{\"notice\":\"Thrown when data is yet to be initialized\"}],\"POOL_ACTIVE()\":[{\"notice\":\"Thrown when a pool is already active\"}],\"POOL_INACTIVE()\":[{\"notice\":\"Thrown when a pool is inactive\"}],\"RECIPIENT_ALREADY_ACCEPTED()\":[{\"notice\":\"Thrown when recipient is already accepted.\"}],\"RECIPIENT_ERROR(address)\":[{\"notice\":\"Thrown when there is an error in recipient.\"}],\"RECIPIENT_NOT_ACCEPTED()\":[{\"notice\":\"Thrown when the recipient is not accepted.\"}],\"REGISTRATION_NOT_ACTIVE()\":[{\"notice\":\"Thrown when registration is not active.\"}],\"UNAUTHORIZED()\":[{\"notice\":\"Thrown when user is not authorized\"}],\"ZERO_ADDRESS()\":[{\"notice\":\"Thrown when address is the zero address\"}]},\"events\":{\"Allocated(address,uint256,address,address)\":{\"notice\":\"Emitted when a recipient is allocated to.\"},\"Distributed(address,address,uint256,address)\":{\"notice\":\"Emitted when tokens are distributed.\"},\"Initialized(uint256,bytes)\":{\"notice\":\"Emitted when strategy is initialized.\"},\"PoolActive(bool)\":{\"notice\":\"Emitted when pool is set to active status.\"},\"Registered(address,bytes,address)\":{\"notice\":\"Emitted when a recipient is registered.\"}},\"kind\":\"user\",\"methods\":{\"NATIVE()\":{\"notice\":\"Address of the native token\"},\"allocate(bytes,address)\":{\"notice\":\"Allocates to a recipient.\"},\"distribute(address[],bytes,address)\":{\"notice\":\"Distributes funds (tokens) to recipients.\"},\"getAllo()\":{\"notice\":\"Getter for the 'Allo' contract.\"},\"getPoolAmount()\":{\"notice\":\"Getter for the 'poolAmount'.\"},\"getPoolId()\":{\"notice\":\"Getter for the 'poolId'.\"},\"getProposalVoterStake(uint256,address)\":{\"notice\":\"Get stake of voter `_voter` on proposal #`_proposalId`\"},\"getRecipientStatus(address)\":{\"notice\":\"Getter for the status of a recipient.\"},\"getStrategyId()\":{\"notice\":\"Getter for the 'strategyId'.\"},\"increasePoolAmount(uint256)\":{\"notice\":\"Increases the pool amount.\"},\"init(address,string)\":{\"notice\":\"Constructor to set the Allo contract and \\\"strategyId'.\"},\"initialize(uint256,bytes)\":{\"notice\":\"@dev The default BaseStrategy version will not use the data if a strategy wants to use it, they will overwrite it, use it, and then call super.initialize().\"},\"isPoolActive()\":{\"notice\":\"Getter for whether or not the pool is active.\"},\"isValidAllocator(address)\":{\"notice\":\"Checks if the '_allocator' is a valid allocator.\"},\"registerRecipient(bytes,address)\":{\"notice\":\"Registers a recipient.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"pkg/contracts/src/CVStrategyV0_0.sol\":\"CVStrategyV0_0\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1000},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-contracts/=lib/safe-contracts/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"]},\"sources\":{\"lib/allo-v2/contracts/core/interfaces/IAllo.sol\":{\"keccak256\":\"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7\",\"dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1\"]},\"lib/allo-v2/contracts/core/interfaces/IRegistry.sol\":{\"keccak256\":\"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e\",\"dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA\"]},\"lib/allo-v2/contracts/core/interfaces/IStrategy.sol\":{\"keccak256\":\"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487\",\"dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH\"]},\"lib/allo-v2/contracts/core/libraries/Clone.sol\":{\"keccak256\":\"0xc348b24b7d8a98c4faa5f2aa37ce9264a74f81dbdef1a9bae2eaa125585c3c7e\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://1335b3ec59ec7e3d12ea7c90b3aa56f4c26e0d44d342f54412933be9d4f16067\",\"dweb:/ipfs/QmXNFo2wCyq9cpvfgbdHvBUQecThFSEoUnMuZNS6WinDrr\"]},\"lib/allo-v2/contracts/core/libraries/Errors.sol\":{\"keccak256\":\"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf\",\"dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA\"]},\"lib/allo-v2/contracts/core/libraries/Metadata.sol\":{\"keccak256\":\"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c\",\"dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn\"]},\"lib/allo-v2/contracts/core/libraries/Native.sol\":{\"keccak256\":\"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a\",\"dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv\"]},\"lib/allo-v2/contracts/core/libraries/Transfer.sol\":{\"keccak256\":\"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11\",\"dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5\"]},\"lib/allo-v2/contracts/strategies/BaseStrategy.sol\":{\"keccak256\":\"0x3f1382dc6c35d50545e327e7ed6016f2bd752357d446bd698014073f0b812873\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://99500abcd617fa43f6dde49e2c7802821ceaf54a65a8055cbbf2695ecd107974\",\"dweb:/ipfs/QmUktZkWuu3GCMEijY1fqt7NMy7BzpTvEtcmpB1fuoa7zt\"]},\"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol\":{\"keccak256\":\"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298\",\"dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x51fec240abc6dd23e0ee6de7c65106379aef732cad6c4ae5df6b55db886e7456\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://a47d9c0a9876e7f9e411843b994a741d4ac1a87d8459ffc3c56359de691ddc1a\",\"dweb:/ipfs/QmQiFN9b3Y2azrD1RBfAKEuAG3YeJkMzA2DGzgEE9kMeEK\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0xc8710577334e8d0799ae2b2a731b1924a7bddd64319da9787ddd2dc69bdd1ce5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b83b7afa4d2372da3ba5402fb10860a105c35d79812c60dc61007be2afc17618\",\"dweb:/ipfs/QmYX9xPmbNVSKXrepKiUZiG5oL3SdzFp9a4kqspxX1sEUx\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol\":{\"keccak256\":\"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c\",\"dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol\":{\"keccak256\":\"0x359a1ab89b46b9aba7bcad3fb651924baf4893d15153049b9976b0fc9be1358e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e89863421b4014b96a4b62be76eb3b9f0a8afe9684664a6f389124c0964bfe5c\",\"dweb:/ipfs/Qmbk7xr1irpDuU1WdxXgxELBXxs61rHhCgod7heVcvFx16\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol\":{\"keccak256\":\"0x5a55d1b148a0cb4183f1e09ceaff87bd2d828440f2f5dc01dfe03eb29e7c88ec\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3f9278bdda788763efbe569da77fc24feff36e871779e2da69f74ea5f8bfacf\",\"dweb:/ipfs/QmZF9cH4rfazmwKT55p3tZyzh9QGghNyss81f46d6yVXap\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e\",\"dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol\":{\"keccak256\":\"0x2025ccf05f6f1f2fd4e078e552836f525a1864e3854ed555047cd732320ab29b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d27f4b23c2dee42394aebaf42bf238285230f472dfd3282a39c3f000ec28214f\",\"dweb:/ipfs/QmQa3DnvccwdWJeWrjgXPnFMTWbzWQWR39hVqC7eEwo2PC\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b\",\"dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95\",\"dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol\":{\"keccak256\":\"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a\",\"dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0xd90d7723512df65ae417adaf0801042940f0dabd60039ceeaffe34aa5b238da1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1b13befeb3413749292f9fb229de1c7a509a5ce2c8047d9094fc004ca9d3af89\",\"dweb:/ipfs/QmRzJ2hZSwRtMejHUZAYTPRKgZsnfb112Fno9Jf3EiDfwA\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol\":{\"keccak256\":\"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758\",\"dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol\":{\"keccak256\":\"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91\",\"dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol\":{\"keccak256\":\"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4\",\"dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z\"]},\"lib/openzeppelin-contracts/contracts/access/AccessControl.sol\":{\"keccak256\":\"0x0dd6e52cb394d7f5abe5dca2d4908a6be40417914720932de757de34a99ab87f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://dc117ce50ea746cab6b97ed1a1facee17a715ae0cb95d67b943dacbaf15176fb\",\"dweb:/ipfs/QmYRZ2UGNYwsHwfNu7Wjr8L2j1LBZ1mKv6NvbwgterYMXc\"]},\"lib/openzeppelin-contracts/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0x59ce320a585d7e1f163cd70390a0ef2ff9cec832e2aa544293a00692465a7a57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb2c137c343ef0c4c7ce7b18c1d108afdc9d315a04e48307288d2d05adcbde3a\",\"dweb:/ipfs/QmUxhrAQM3MM3FF5j7AtcXLXguWCJBHJ14BRdVtuoQc8Fh\"]},\"lib/openzeppelin-contracts/contracts/access/Ownable.sol\":{\"keccak256\":\"0xba43b97fba0d32eb4254f6a5a297b39a19a247082a02d6e69349e071e2946218\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fc980984badf3984b6303b377711220e067722bbd6a135b24669ff5069ef9f32\",\"dweb:/ipfs/QmPHXMSXj99XjSVM21YsY6aNtLLjLVXDbyN76J5HQYvvrz\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol\":{\"keccak256\":\"0x3cbef5ebc24b415252e2f8c0c9254555d30d9f085603b4b80d9b5ed20ab87e90\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e8fa670c3bdce78e642cc6ae11c4cb38b133499cdce5e1990a9979d424703263\",\"dweb:/ipfs/QmVxeCUk4jL2pXQyhsoNJwyU874wRufS2WvGe8TgPKPqhE\"]},\"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol\":{\"keccak256\":\"0x1d4afe6cb24200cc4545eed814ecf5847277dfe5d613a1707aad5fceecebcfff\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://383fb7b8181016ac5ccf07bc9cdb7c1b5045ea36e2cc4df52bcbf20396fc7688\",\"dweb:/ipfs/QmYJ7Cg4WmE3rR8KGQxjUCXFfTH6TcwZ2Z1f6tPrq7jHFr\"]},\"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol\":{\"keccak256\":\"0xa2b22da3032e50b55f95ec1d13336102d675f341167aa76db571ef7f8bb7975d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96b6d77a20bebd4eb06b801d3d020c7e82be13bd535cb0d0a6b7181c51dab5d5\",\"dweb:/ipfs/QmPUR9Cv9jNFdQX6PtBfaBW1ZCnKwiu65R2VD5kbdanDyn\"]},\"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Upgrade.sol\":{\"keccak256\":\"0x3b21ae06bf5957f73fa16754b0669c77b7abd8ba6c072d35c3281d446fdb86c2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2db8e18505e86e02526847005d7287a33e397ed7fb9eaba3fd4a4a197add16e2\",\"dweb:/ipfs/QmW9BSuKTzHWHBNSHF4L8XfVuU1uJrP2vLg84YtBd8mL82\"]},\"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol\":{\"keccak256\":\"0xc130fe33f1b2132158531a87734153293f6d07bc263ff4ac90e85da9c82c0e27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8831721b6f4cc26534d190f9f1631c3f59c9ff38efdd911f85e0882b8e360472\",\"dweb:/ipfs/QmQZnLErZNStirSQ13ZNWQgvEYUtGE5tXYwn4QUPaVUfPN\"]},\"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0xd50a3421ac379ccb1be435fa646d66a65c986b4924f0849839f08692f39dde61\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ada1e030c0231db8d143b44ce92b4d1158eedb087880cad6d8cc7bd7ebe7b354\",\"dweb:/ipfs/QmWZ2NHZweRpz1U9GF6R1h65ri76dnX7fNxLBeM2t5N5Ce\"]},\"lib/openzeppelin-contracts/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x3d6069be9b4c01fb81840fb9c2c4dc58dd6a6a4aafaa2c6837de8699574d84c6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://720d6bb56ea0c4ef781c0bd65c5bd0541f5a46100163b2587170f97658d2deed\",\"dweb:/ipfs/QmTS2biLVPrv8CeeXCaKmkFxonMiRvc1LxiYBRYDAJHQUS\"]},\"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol\":{\"keccak256\":\"0xc6619957bcc6641fe8984bfaf9ff11a9e4b97d8149c0495f608f9a2416d7c5cf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://543be67f7fa43b1b932637c1c7f12035f0f4b0f7ee2bd3c33841186f79c165c1\",\"dweb:/ipfs/QmSBPM2UVKbmJqWfD9i6hSiqbaE8TV4TSqfuiivziRRLKM\"]},\"lib/openzeppelin-contracts/contracts/security/ReentrancyGuard.sol\":{\"keccak256\":\"0xa535a5df777d44e945dd24aa43a11e44b024140fc340ad0dfe42acf4002aade1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://41319e7f621f2dc3733511332c4fd032f8e32ad2aa7fd6f665c19741d9941a34\",\"dweb:/ipfs/QmcYR3bd862GD1Bc7jwrU9bGxrhUu5na1oP964bDCu2id1\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15\",\"dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5\",\"dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd\",\"dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol\":{\"keccak256\":\"0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a\",\"dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0x909d608c2db6eb165ca178c81289a07ed2e118e444d0025b2a85c97d0b44a4fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://656cda26512ddd7373c2d5551c8fae759fc30f05b10f0fc2e738e9274199dbd4\",\"dweb:/ipfs/QmTSArSzQRFbQmHgq7U1PZXnsDFhvDZhKVu9CzMG4yo6Lx\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xf09e68aa0dc6722a25bc46490e8d48ed864466d17313b8a0b254c36b54e49899\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e26daf81e2252dc1fe1ce0e4b55c2eb7c6d1ee84ae6558d1a9554432ea1d32da\",\"dweb:/ipfs/Qmb1UANWiWq5pCKbmHSu772hd4nt374dVaghGmwSVNuk8Q\"]},\"lib/openzeppelin-contracts/contracts/utils/Strings.sol\":{\"keccak256\":\"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f\",\"dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol\":{\"keccak256\":\"0x5a08ad61f4e82b8a3323562661a86fb10b10190848073fdc13d4ac43710ffba5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6f7bb74cf88fd88daa34e118bc6e363381d05044f34f391d39a10c0c9dac3ebd\",\"dweb:/ipfs/QmNbQ3v8v4zuDtg7VeLAbdhAm3tCzUodNoDZZ8ekmCHWZX\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]},\"lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/src/strings.sol\":{\"keccak256\":\"0x42cad11a7033f2fe05dd68611d2304407a620ac985b91edf29d5868cfe196223\",\"urls\":[\"bzz-raw://3cbc2333234e1f00eab5e57c4bcaf5115661e5e066a17c70af587a0a96f24669\",\"dweb:/ipfs/QmPHvStqcvZL46LW5N2ExTwAaqNhRCcmAX66aR6oE1WDar\"]},\"lib/openzeppelin-foundry-upgrades/src/Defender.sol\":{\"keccak256\":\"0x2114e4d70d53b36e8cec54ba11ff78d9f38a466ec3504c76c7f26101a7cff37f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://58f4d9bc58646e7631b263cdb8ef260e6818e9f716036d81d1c18218c9557a23\",\"dweb:/ipfs/QmS18L4R4gPtay9eQBcR28DnwmBkGSWsiCFwm2tXc3BkHL\"]},\"lib/openzeppelin-foundry-upgrades/src/LegacyUpgrades.sol\":{\"keccak256\":\"0x8436719f73c76efadaa16cd719d088f698ea3591595dfdf2c15fd66f3e203197\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ac8d0e55defe124adcc3845348602d6528b00b7dc5f7abf9e1b245d0cea9b55e\",\"dweb:/ipfs/QmaPBoG89Bd2btJZW5kjXx7zXo6KhAdeTuMq5xo431M8xq\"]},\"lib/openzeppelin-foundry-upgrades/src/Options.sol\":{\"keccak256\":\"0xa5414683d6b219b28e75ecaab3d00a305dfaf4d970389a88992275c8072ce8ac\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1dbfd566ba318f2b740159c28e4511c84c9d76fcc293ae17c9b1a87b3ea16c9\",\"dweb:/ipfs/QmcyxPoeBdzA9iHEgd76xKhaQ8HKfpV4owdSv6127MmveT\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Core.sol\":{\"keccak256\":\"0x37073df20d2b5fbb0a873e6b2dd76c23e23455d1c2d2ba57d2f0998201a4251d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://79d507647ea48d93371341684cf4199d55ed799db9d3489bc016f53990d2ff7c\",\"dweb:/ipfs/QmQWgXiYcPcwNcrkTHb72WtHd4xPcXfRUMfBrhkDHgr2ut\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/DefenderDeploy.sol\":{\"keccak256\":\"0x868ffdaf5d185fee103fc4581385392b47c209a5cfd2aec01f0307dbc0101d73\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://76e51bf69a4d0b5d1d9cfa7efa442bdcf9d713966563432ef8fdd00ec959a25e\",\"dweb:/ipfs/QmTHkdvMnqmEvus7zbmHhPkWk3fM9SW2Jq8gnyBLwVJtxG\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Utils.sol\":{\"keccak256\":\"0x4de002af810f6a5fe26a6381e0ead3331735bd0059434a22df75e17c177b5f87\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af32ff07f606e530a53030db141a75af144cfe065a6543939d412018c6159540\",\"dweb:/ipfs/QmbfTB92Zd8VQHW61g9dx1CvGgSL5SCoZDLrvJfnR7Ctio\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Versions.sol\":{\"keccak256\":\"0xf1a1441c18a296853509e9b1d18be794ed3de836caea49d6948b5e9ac566e8c6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6f3463514235bd875ecacf45f95cac64aa650dd38d05c15fe1f4203b6b5733bd\",\"dweb:/ipfs/Qmcbhmw9NPkG8MqiVsQ4qUupeQFCRgyBDKuoUwohwa8EP3\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IProxyAdmin.sol\":{\"keccak256\":\"0xf5e514595089f8959da130507086e7388602a71ce60575d141e7d892dfbddbfc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9b41366e2823ccc8cb42304496d761b3df80946d17384634a61afd7139495c91\",\"dweb:/ipfs/QmZE2nRMxax1NPj63ifemKdScGJzKNWi7BCGudjFLsUz1y\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableBeacon.sol\":{\"keccak256\":\"0xa8d7bffdd26eb763e459650c83f247b54af79800c2df52ad05878f238fc1c2f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ed47f1e53e5eb7d48fed60a414755641fca8fa0e713fd503b2597227da78a2f\",\"dweb:/ipfs/QmQr8A5wddHdhQNauFShXxRkPcuVVpVsYpq846WhmFC8Tv\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableProxy.sol\":{\"keccak256\":\"0x781b564b90bba0c0e8e12fb66b1c910f42d369db469f2e88592b4cff29de99a5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://45fcab02a43fde934445b88e905aba3f58a70b75dd6ee6eb86a3d593424aeb03\",\"dweb:/ipfs/QmXmhAgrctaYUDLoTRgUjwD4deoXu1E2QT1kftVGcVa56j\"]},\"pkg/contracts/src/BaseStrategyUpgradeable.sol\":{\"keccak256\":\"0xe059f9e1a262a4713e230a6025c3356681bb5f3c8013b87bc579bae93aa66c20\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://37e879664b08005b9544457cf89bce77e38b6a25639566df7366b9e5968c815e\",\"dweb:/ipfs/QmYgNRqZfYUPbWgcHUHghTcpqjVmT9v4HfkfPdEF64fYe5\"]},\"pkg/contracts/src/CVStrategy.sol\":{\"keccak256\":\"0x132bcf17470960e380d841159d9389985d609aaae1c9a657c78902f7871da957\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://84e905bf392579b44f33fff8586431b940e110b2210854cf487321cc92061705\",\"dweb:/ipfs/QmQpvszYu8RbrXmUFLifSodQzV8LAqazk1fzXNARGc5sBT\"]},\"pkg/contracts/src/CVStrategyV0_0.sol\":{\"keccak256\":\"0x79d01b399c8d735923dfa26b8dacba6200a861202dd6fb1c7711241285439d2d\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://e7ea0014e25a729d6d688620658df81a179a8c2380ae0bc4c78668cd486adb04\",\"dweb:/ipfs/QmdPM8JpFXeqBxQgkRzM1inzCT2rkRxnpoSrFk8DauDpNf\"]},\"pkg/contracts/src/ISybilScorer.sol\":{\"keccak256\":\"0x0e25fbb8497ac3c969d80c9032362d45e56c0a45dc9ba3dff6a8a704571f38ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0dff90ebae6e7131a5300fcaf525bc2ab0ae90fcd13f277d7b7b6939eeb8b7eb\",\"dweb:/ipfs/QmYGkYqpUVrBWoNY6f3CtwrrVQFWSvnJfpu68t95f6AkBY\"]},\"pkg/contracts/src/RegistryCommunity.sol\":{\"keccak256\":\"0xc735f4d2635149f2db9bff291da56e08c3c312d9eb1b767b8a1e3e51584d5734\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://247b33b78abface6a7e2da38174386de9b543f6a27e8340e26d854bff57184a3\",\"dweb:/ipfs/QmedNdqkqeboGzz9w868uGf7KnXUaYZe6i1YcdUPPkJnnf\"]},\"pkg/contracts/src/RegistryCommunityV0_0.sol\":{\"keccak256\":\"0x6525c857f7baff606e87bbc2878f3606923997a444eb500aa15018c676c972a9\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://89d2af9f470c8d7431ff6b1981b7bf46520f719d68da38ab3ca065496a6297d8\",\"dweb:/ipfs/QmceJHX57HbnBXVfmhtRPmnApUQy5QSWTybgq6g37vCxEN\"]},\"pkg/contracts/src/RegistryFactory.sol\":{\"keccak256\":\"0x888b7f5eb1079f90ccfa0b41d8a970bffd8d4d469f9b31917a58279b358dbda5\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://af25fd783de00adf01d1c7caa572801fed0d474306a43b862535b08e65ec10c6\",\"dweb:/ipfs/Qmeb2nEaMQLV86y1CYAAV2c6BYpBDTbpLuC1SigeNjdqLo\"]},\"pkg/contracts/src/interfaces/FAllo.sol\":{\"keccak256\":\"0x32f38cb4400a07a99ae68a9beb91e5649886487172fd50561da6763464efc437\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://cb4f0cee2f3fbede7be5e8e1d7ee8034086359cd07b9dab49c4a991388e5c458\",\"dweb:/ipfs/QmS26kA8cZ9shWwxcbF17Kes8L7Jgw85EQVydDmwb34mjM\"]},\"pkg/contracts/src/interfaces/ISafe.sol\":{\"keccak256\":\"0x878a210809bb684c42157a10f3f90350a67d0a4863f130499942b06f0f2c9143\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://fa2d71bd427c3415e98a2ee15ff673f3cc61c17f14d7087c5eedc83b55f6b0ef\",\"dweb:/ipfs/QmesVSmJQQzi6ys1cvhQFCJyDXchb736mT5bXks4Yp6Cbj\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[],"type":"error","name":"ALLOCATION_ACTIVE"},{"inputs":[],"type":"error","name":"ALLOCATION_NOT_ACTIVE"},{"inputs":[],"type":"error","name":"ALLOCATION_NOT_ENDED"},{"inputs":[],"type":"error","name":"ALREADY_INITIALIZED"},{"inputs":[],"type":"error","name":"AMOUNT_MISMATCH"},{"inputs":[],"type":"error","name":"ANCHOR_ERROR"},{"inputs":[],"type":"error","name":"ARRAY_MISMATCH"},{"inputs":[],"type":"error","name":"AddressCannotBeZero"},{"inputs":[],"type":"error","name":"AmountOverMaxRatio"},{"inputs":[],"type":"error","name":"CantIncreaseFixedSystem"},{"inputs":[],"type":"error","name":"ConvictionUnderMinimumThreshold"},{"inputs":[],"type":"error","name":"INVALID"},{"inputs":[],"type":"error","name":"INVALID_ADDRESS"},{"inputs":[],"type":"error","name":"INVALID_FEE"},{"inputs":[],"type":"error","name":"INVALID_METADATA"},{"inputs":[],"type":"error","name":"INVALID_REGISTRATION"},{"inputs":[],"type":"error","name":"IS_APPROVED_STRATEGY"},{"inputs":[],"type":"error","name":"MISMATCH"},{"inputs":[],"type":"error","name":"MaxPointsReached"},{"inputs":[],"type":"error","name":"NONCE_NOT_AVAILABLE"},{"inputs":[],"type":"error","name":"NOT_APPROVED_STRATEGY"},{"inputs":[],"type":"error","name":"NOT_ENOUGH_FUNDS"},{"inputs":[],"type":"error","name":"NOT_IMPLEMENTED"},{"inputs":[],"type":"error","name":"NOT_INITIALIZED"},{"inputs":[],"type":"error","name":"NOT_PENDING_OWNER"},{"inputs":[{"internalType":"uint256","name":"pointsSupport","type":"uint256"},{"internalType":"uint256","name":"pointsBalance","type":"uint256"}],"type":"error","name":"NotEnoughPointsToSupport"},{"inputs":[],"type":"error","name":"NotImplemented"},{"inputs":[],"type":"error","name":"OnlyCommunityAllowed"},{"inputs":[],"type":"error","name":"OnlyCouncilSafe"},{"inputs":[],"type":"error","name":"POOL_ACTIVE"},{"inputs":[],"type":"error","name":"POOL_INACTIVE"},{"inputs":[{"internalType":"uint256","name":"_proposalId","type":"uint256"},{"internalType":"uint256","name":"_requestedAmount","type":"uint256"},{"internalType":"uint256","name":"_poolAmount","type":"uint256"}],"type":"error","name":"PoolAmountNotEnough"},{"inputs":[],"type":"error","name":"PoolIdCannotBeZero"},{"inputs":[],"type":"error","name":"PoolIsEmpty"},{"inputs":[],"type":"error","name":"ProposalDataIsEmpty"},{"inputs":[],"type":"error","name":"ProposalIdCannotBeZero"},{"inputs":[{"internalType":"uint256","name":"_proposalId","type":"uint256"}],"type":"error","name":"ProposalNotActive"},{"inputs":[{"internalType":"uint256","name":"_proposalId","type":"uint256"}],"type":"error","name":"ProposalNotInList"},{"inputs":[{"internalType":"uint256","name":"_proposalId","type":"uint256"},{"internalType":"uint256","name":"index","type":"uint256"}],"type":"error","name":"ProposalSupportDuplicated"},{"inputs":[],"type":"error","name":"RECIPIENT_ALREADY_ACCEPTED"},{"inputs":[{"internalType":"address","name":"recipientId","type":"address"}],"type":"error","name":"RECIPIENT_ERROR"},{"inputs":[],"type":"error","name":"RECIPIENT_NOT_ACCEPTED"},{"inputs":[],"type":"error","name":"REGISTRATION_NOT_ACTIVE"},{"inputs":[],"type":"error","name":"RegistryCannotBeZero"},{"inputs":[{"internalType":"uint256","name":"_support","type":"uint256"},{"internalType":"int256","name":"_delta","type":"int256"},{"internalType":"int256","name":"_result","type":"int256"}],"type":"error","name":"SupportUnderflow"},{"inputs":[],"type":"error","name":"TokenCannotBeZero"},{"inputs":[],"type":"error","name":"TokenNotAllowed"},{"inputs":[],"type":"error","name":"UNAUTHORIZED"},{"inputs":[],"type":"error","name":"UserCannotBeZero"},{"inputs":[],"type":"error","name":"UserCannotExecuteAction"},{"inputs":[],"type":"error","name":"UserIsInactive"},{"inputs":[],"type":"error","name":"UserNotInRegistry"},{"inputs":[],"type":"error","name":"ZERO_ADDRESS"},{"inputs":[{"internalType":"address","name":"previousAdmin","type":"address","indexed":false},{"internalType":"address","name":"newAdmin","type":"address","indexed":false}],"type":"event","name":"AdminChanged","anonymous":false},{"inputs":[{"internalType":"address","name":"recipientId","type":"address","indexed":true},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false},{"internalType":"address","name":"token","type":"address","indexed":false},{"internalType":"address","name":"sender","type":"address","indexed":false}],"type":"event","name":"Allocated","anonymous":false},{"inputs":[{"internalType":"address","name":"beacon","type":"address","indexed":true}],"type":"event","name":"BeaconUpgraded","anonymous":false},{"inputs":[{"internalType":"uint256","name":"decay","type":"uint256","indexed":false}],"type":"event","name":"DecayUpdated","anonymous":false},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256","indexed":false},{"internalType":"address","name":"beneficiary","type":"address","indexed":false},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false}],"type":"event","name":"Distributed","anonymous":false},{"inputs":[{"internalType":"address","name":"recipientId","type":"address","indexed":true},{"internalType":"address","name":"recipientAddress","type":"address","indexed":false},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false},{"internalType":"address","name":"sender","type":"address","indexed":false}],"type":"event","name":"Distributed","anonymous":false},{"inputs":[{"internalType":"uint256","name":"poolId","type":"uint256","indexed":false},{"internalType":"bytes","name":"data","type":"bytes","indexed":false}],"type":"event","name":"Initialized","anonymous":false},{"inputs":[{"internalType":"uint8","name":"version","type":"uint8","indexed":false}],"type":"event","name":"Initialized","anonymous":false},{"inputs":[{"internalType":"uint256","name":"poolId","type":"uint256","indexed":false},{"internalType":"struct StrategyStruct.InitializeParams","name":"data","type":"tuple","components":[{"internalType":"address","name":"registryCommunity","type":"address"},{"internalType":"uint256","name":"decay","type":"uint256"},{"internalType":"uint256","name":"maxRatio","type":"uint256"},{"internalType":"uint256","name":"weight","type":"uint256"},{"internalType":"uint256","name":"minThresholdPoints","type":"uint256"},{"internalType":"enum StrategyStruct.ProposalType","name":"proposalType","type":"uint8"},{"internalType":"enum StrategyStruct.PointSystem","name":"pointSystem","type":"uint8"},{"internalType":"struct StrategyStruct.PointSystemConfig","name":"pointConfig","type":"tuple","components":[{"internalType":"uint256","name":"maxAmount","type":"uint256"}]},{"internalType":"address","name":"sybilScorer","type":"address"}],"indexed":false}],"type":"event","name":"InitializedCV","anonymous":false},{"inputs":[{"internalType":"uint256","name":"maxRatio","type":"uint256","indexed":false}],"type":"event","name":"MaxRatioUpdated","anonymous":false},{"inputs":[{"internalType":"uint256","name":"before","type":"uint256","indexed":false},{"internalType":"uint256","name":"minThresholdPoints","type":"uint256","indexed":false}],"type":"event","name":"MinThresholdPointsUpdated","anonymous":false},{"inputs":[{"internalType":"address","name":"previousOwner","type":"address","indexed":true},{"internalType":"address","name":"newOwner","type":"address","indexed":true}],"type":"event","name":"OwnershipTransferred","anonymous":false},{"inputs":[{"internalType":"address","name":"member","type":"address","indexed":false}],"type":"event","name":"PointsDeactivated","anonymous":false},{"inputs":[{"internalType":"bool","name":"active","type":"bool","indexed":false}],"type":"event","name":"PoolActive","anonymous":false},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256","indexed":false}],"type":"event","name":"PoolAmountIncreased","anonymous":false},{"inputs":[{"internalType":"address","name":"member","type":"address","indexed":false},{"internalType":"uint256","name":"tokensUnStaked","type":"uint256","indexed":false},{"internalType":"uint256","name":"pointsToDecrease","type":"uint256","indexed":false}],"type":"event","name":"PowerDecreased","anonymous":false},{"inputs":[{"internalType":"address","name":"member","type":"address","indexed":false},{"internalType":"uint256","name":"tokensStaked","type":"uint256","indexed":false},{"internalType":"uint256","name":"pointsToIncrease","type":"uint256","indexed":false}],"type":"event","name":"PowerIncreased","anonymous":false},{"inputs":[{"internalType":"uint256","name":"poolId","type":"uint256","indexed":false},{"internalType":"uint256","name":"proposalId","type":"uint256","indexed":false}],"type":"event","name":"ProposalCreated","anonymous":false},{"inputs":[{"internalType":"address","name":"recipientId","type":"address","indexed":true},{"internalType":"bytes","name":"data","type":"bytes","indexed":false},{"internalType":"address","name":"sender","type":"address","indexed":false}],"type":"event","name":"Registered","anonymous":false},{"inputs":[{"internalType":"address","name":"registryCommunity","type":"address","indexed":false}],"type":"event","name":"RegistryUpdated","anonymous":false},{"inputs":[{"internalType":"address","name":"from","type":"address","indexed":false},{"internalType":"uint256","name":"proposalId","type":"uint256","indexed":false},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false},{"internalType":"uint256","name":"totalStakedAmount","type":"uint256","indexed":false},{"internalType":"uint256","name":"convictionLast","type":"uint256","indexed":false}],"type":"event","name":"SupportAdded","anonymous":false},{"inputs":[{"internalType":"address","name":"implementation","type":"address","indexed":true}],"type":"event","name":"Upgraded","anonymous":false},{"inputs":[{"internalType":"uint256","name":"weight","type":"uint256","indexed":false}],"type":"event","name":"WeightUpdated","anonymous":false},{"inputs":[],"stateMutability":"payable","type":"fallback"},{"inputs":[],"stateMutability":"view","type":"function","name":"D","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"MAX_STAKED_PROPOSALS","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"NATIVE","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_minThresholdPoints","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"activatePoints"},{"inputs":[{"internalType":"bytes","name":"_data","type":"bytes"},{"internalType":"address","name":"_sender","type":"address"}],"stateMutability":"payable","type":"function","name":"allocate"},{"inputs":[{"internalType":"uint256","name":"_timePassed","type":"uint256"},{"internalType":"uint256","name":"_lastConv","type":"uint256"},{"internalType":"uint256","name":"_oldAmount","type":"uint256"}],"stateMutability":"view","type":"function","name":"calculateConviction","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"_requestedAmount","type":"uint256"}],"stateMutability":"view","type":"function","name":"calculateThreshold","outputs":[{"internalType":"uint256","name":"_threshold","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"stateMutability":"view","type":"function","name":"canExecuteProposal","outputs":[{"internalType":"bool","name":"canBeExecuted","type":"bool"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"deactivatePoints"},{"inputs":[{"internalType":"address","name":"_member","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"deactivatePoints"},{"inputs":[],"stateMutability":"view","type":"function","name":"decay","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"_member","type":"address"},{"internalType":"uint256","name":"_amountToUnstake","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"decreasePower","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address[]","name":"_recipientIds","type":"address[]"},{"internalType":"bytes","name":"_data","type":"bytes"},{"internalType":"address","name":"_sender","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"distribute"},{"inputs":[],"stateMutability":"view","type":"function","name":"getAllo","outputs":[{"internalType":"contract IAllo","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getMaxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"view","type":"function","name":"getMaxConviction","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"_proposalId","type":"uint256"}],"stateMutability":"view","type":"function","name":"getMetadata","outputs":[{"internalType":"struct Metadata","name":"","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]}]},{"inputs":[{"internalType":"address[]","name":"","type":"address[]"},{"internalType":"bytes[]","name":"","type":"bytes[]"}],"stateMutability":"pure","type":"function","name":"getPayouts","outputs":[{"internalType":"struct IStrategy.PayoutSummary[]","name":"","type":"tuple[]","components":[{"internalType":"address","name":"recipientAddress","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getPointSystem","outputs":[{"internalType":"enum StrategyStruct.PointSystem","name":"","type":"uint8"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getPoolAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getPoolId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"_proposalId","type":"uint256"}],"stateMutability":"view","type":"function","name":"getProposal","outputs":[{"internalType":"address","name":"submitter","type":"address"},{"internalType":"address","name":"beneficiary","type":"address"},{"internalType":"address","name":"requestedToken","type":"address"},{"internalType":"uint256","name":"requestedAmount","type":"uint256"},{"internalType":"uint256","name":"stakedAmount","type":"uint256"},{"internalType":"enum StrategyStruct.ProposalStatus","name":"proposalStatus","type":"uint8"},{"internalType":"uint256","name":"blockLast","type":"uint256"},{"internalType":"uint256","name":"convictionLast","type":"uint256"},{"internalType":"uint256","name":"threshold","type":"uint256"},{"internalType":"uint256","name":"voterStakedPoints","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"_proposalId","type":"uint256"}],"stateMutability":"view","type":"function","name":"getProposalStakedAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"_proposalId","type":"uint256"},{"internalType":"address","name":"_voter","type":"address"}],"stateMutability":"view","type":"function","name":"getProposalVoterStake","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"_recipientId","type":"address"}],"stateMutability":"view","type":"function","name":"getRecipientStatus","outputs":[{"internalType":"enum IStrategy.Status","name":"","type":"uint8"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getStrategyId","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"address","name":"_voter","type":"address"}],"stateMutability":"view","type":"function","name":"getTotalVoterStakePct","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"increasePoolAmount"},{"inputs":[{"internalType":"address","name":"_member","type":"address"},{"internalType":"uint256","name":"_amountToStake","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"increasePower","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"_allo","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"init"},{"inputs":[{"internalType":"address","name":"_allo","type":"address"},{"internalType":"string","name":"_name","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"init"},{"inputs":[{"internalType":"uint256","name":"_poolId","type":"uint256"},{"internalType":"bytes","name":"_data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[],"stateMutability":"view","type":"function","name":"isPoolActive","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"_allocator","type":"address"}],"stateMutability":"view","type":"function","name":"isValidAllocator","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"maxRatio","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"pointConfig","outputs":[{"internalType":"uint256","name":"maxAmount","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"pointSystem","outputs":[{"internalType":"enum StrategyStruct.PointSystem","name":"","type":"uint8"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"proposalCounter","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"proposalType","outputs":[{"internalType":"enum StrategyStruct.ProposalType","name":"","type":"uint8"}]},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function","name":"proposals","outputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"uint256","name":"requestedAmount","type":"uint256"},{"internalType":"uint256","name":"stakedAmount","type":"uint256"},{"internalType":"uint256","name":"convictionLast","type":"uint256"},{"internalType":"address","name":"beneficiary","type":"address"},{"internalType":"address","name":"submitter","type":"address"},{"internalType":"address","name":"requestedToken","type":"address"},{"internalType":"uint256","name":"blockLast","type":"uint256"},{"internalType":"enum StrategyStruct.ProposalStatus","name":"proposalStatus","type":"uint8"},{"internalType":"struct Metadata","name":"metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"proxiableUUID","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"bytes","name":"_data","type":"bytes"},{"internalType":"address","name":"_sender","type":"address"}],"stateMutability":"payable","type":"function","name":"registerRecipient","outputs":[{"internalType":"address","name":"recipientId","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"registryCommunity","outputs":[{"internalType":"contract RegistryCommunityV0_0","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"renounceOwnership"},{"inputs":[{"internalType":"uint256","name":"_decay","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"setDecay"},{"inputs":[{"internalType":"uint256","name":"_maxRatio","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"setMaxRatio"},{"inputs":[{"internalType":"uint256","name":"minThresholdPoints_","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"setMinThresholdPoints"},{"inputs":[{"internalType":"bool","name":"_active","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"setPoolActive"},{"inputs":[{"internalType":"address","name":"_registryCommunity","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setRegistryCommunity"},{"inputs":[{"internalType":"address","name":"_sybilScorer","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setSybilScorer"},{"inputs":[{"internalType":"uint256","name":"_weight","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"setWeight"},{"inputs":[{"internalType":"struct StrategyStruct.ProposalSupport[]","name":"","type":"tuple[]","components":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"int256","name":"deltaSupport","type":"int256"}]}],"stateMutability":"pure","type":"function","name":"supportProposal"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"stateMutability":"view","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"sybilScorer","outputs":[{"internalType":"contract ISybilScorer","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"totalEffectiveActivePoints","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"totalPointsActivated","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"totalStaked","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function","name":"totalVoterStakePct","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transferOwnership"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"updateProposalConviction","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"upgradeTo"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"payable","type":"function","name":"upgradeToAndCall"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function","name":"voterStakedProposals","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"weight","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"payable","type":"receive"}],"devdoc":{"kind":"dev","methods":{"allocate(bytes,address)":{"details":"The encoded '_data' will be determined by the strategy implementation. Only 'Allo' contract can call this when it is initialized.","params":{"_data":"The data to use to allocate to the recipient","_sender":"The address of the sender"}},"calculateConviction(uint256,uint256,uint256)":{"details":"Conviction formula: a^t * y(0) + x * (1 - a^t) / (1 - a) Solidity implementation: y = (2^128 * a^t * y0 + x * D * (2^128 - 2^128 * a^t) / (D - aD) + 2^127) / 2^128","params":{"_lastConv":"Last conviction record","_oldAmount":"Amount of tokens staked until now","_timePassed":"Number of blocks since last conviction record"},"returns":{"_0":"Current conviction"}},"calculateThreshold(uint256)":{"details":"Formula: ρ * totalStaked / (1 - a) / (β - requestedAmount / total)**2 For the Solidity implementation we amplify ρ and β and simplify the formula: weight = ρ * D maxRatio = β * D decay = a * D threshold = weight * totalStaked * D ** 2 * funds ** 2 / (D - decay) / (maxRatio * funds - requestedAmount * D) ** 2","params":{"_requestedAmount":"Requested amount of tokens on certain proposal"},"returns":{"_threshold":"Threshold a proposal's conviction should surpass in order to be able to executed it."}},"distribute(address[],bytes,address)":{"details":"The encoded '_data' will be determined by the strategy implementation. Only 'Allo' contract can call this when it is initialized.","params":{"_data":"The data to use to distribute to the recipients","_recipientIds":"The IDs of the recipients","_sender":"The address of the sender"}},"getAllo()":{"returns":{"_0":"The Allo contract"}},"getPayouts(address[],bytes[])":{"returns":{"_0":"Input the values you would send to distribute(), get the amounts each recipient in the array would receive"}},"getPoolAmount()":{"returns":{"_0":"The balance of the pool"}},"getPoolId()":{"returns":{"_0":"The ID of the pool"}},"getProposal(uint256)":{"details":"Get proposal details","params":{"_proposalId":"Proposal id"},"returns":{"beneficiary":"Proposal beneficiary","blockLast":"Last block when conviction was calculated","convictionLast":"Last conviction calculated","proposalStatus":"Proposal status","requestedAmount":"Proposal requested amount","requestedToken":"Proposal requested token","stakedAmount":"Proposal staked points","submitter":"Proposal submitter","threshold":"Proposal threshold"}},"getProposalVoterStake(uint256,address)":{"params":{"_proposalId":"Proposal id","_voter":"Voter address"},"returns":{"_0":"Proposal voter stake"}},"getRecipientStatus(address)":{"params":{"_recipientId":"The ID of the recipient"},"returns":{"_0":"The status of the recipient"}},"getStrategyId()":{"returns":{"_0":"The ID of the strategy"}},"increasePoolAmount(uint256)":{"details":"Increases the 'poolAmount' by '_amount'. Only 'Allo' contract can call this.","params":{"_amount":"The amount to increase the pool by"}},"init(address,string)":{"params":{"_allo":"Address of the Allo contract."}},"initialize(uint256,bytes)":{"params":{"_data":"The encoded data","_poolId":"The ID of the pool"}},"isPoolActive()":{"returns":{"_0":"'true' if the pool is active, otherwise 'false'"}},"isValidAllocator(address)":{"details":"How the allocator is determined is up to the strategy implementation.","params":{"_allocator":"The address to check if it is a valid allocator for the strategy."},"returns":{"_0":"'true' if the address is a valid allocator, 'false' otherwise"}},"owner()":{"details":"Returns the address of the current owner."},"proxiableUUID()":{"details":"Implementation of the ERC1822 {proxiableUUID} function. This returns the storage slot used by the implementation. It is used to validate the implementation's compatibility when performing an upgrade. IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this function revert if invoked through a proxy. This is guaranteed by the `notDelegated` modifier."},"registerRecipient(bytes,address)":{"details":"Registers a recipient and returns the ID of the recipient. The encoded '_data' will be determined by the strategy implementation. Only 'Allo' contract can call this when it is initialized.","params":{"_data":"The data to use to register the recipient","_sender":"The address of the sender"},"returns":{"recipientId":"The recipientId"}},"renounceOwnership()":{"details":"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner."},"supportsInterface(bytes4)":{"details":"See {IERC165-supportsInterface}."},"transferOwnership(address)":{"details":"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner."},"upgradeTo(address)":{"custom:oz-upgrades-unsafe-allow-reachable":"delegatecall","details":"Upgrade the implementation of the proxy to `newImplementation`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event."},"upgradeToAndCall(address,bytes)":{"custom:oz-upgrades-unsafe-allow-reachable":"delegatecall","details":"Upgrade the implementation of the proxy to `newImplementation`, and subsequently execute the function call encoded in `data`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event."}},"version":1},"userdoc":{"kind":"user","methods":{"NATIVE()":{"notice":"Address of the native token"},"allocate(bytes,address)":{"notice":"Allocates to a recipient."},"distribute(address[],bytes,address)":{"notice":"Distributes funds (tokens) to recipients."},"getAllo()":{"notice":"Getter for the 'Allo' contract."},"getPoolAmount()":{"notice":"Getter for the 'poolAmount'."},"getPoolId()":{"notice":"Getter for the 'poolId'."},"getProposalVoterStake(uint256,address)":{"notice":"Get stake of voter `_voter` on proposal #`_proposalId`"},"getRecipientStatus(address)":{"notice":"Getter for the status of a recipient."},"getStrategyId()":{"notice":"Getter for the 'strategyId'."},"increasePoolAmount(uint256)":{"notice":"Increases the pool amount."},"init(address,string)":{"notice":"Constructor to set the Allo contract and \"strategyId'."},"initialize(uint256,bytes)":{"notice":"@dev The default BaseStrategy version will not use the data if a strategy wants to use it, they will overwrite it, use it, and then call super.initialize()."},"isPoolActive()":{"notice":"Getter for whether or not the pool is active."},"isValidAllocator(address)":{"notice":"Checks if the '_allocator' is a valid allocator."},"registerRecipient(bytes,address)":{"notice":"Registers a recipient."}},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-contracts/=lib/safe-contracts/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":1000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"pkg/contracts/src/CVStrategyV0_0.sol":"CVStrategyV0_0"},"evmVersion":"paris","libraries":{}},"sources":{"lib/allo-v2/contracts/core/interfaces/IAllo.sol":{"keccak256":"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce","urls":["bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7","dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/interfaces/IRegistry.sol":{"keccak256":"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f","urls":["bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e","dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA"],"license":"MIT"},"lib/allo-v2/contracts/core/interfaces/IStrategy.sol":{"keccak256":"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23","urls":["bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487","dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Clone.sol":{"keccak256":"0xc348b24b7d8a98c4faa5f2aa37ce9264a74f81dbdef1a9bae2eaa125585c3c7e","urls":["bzz-raw://1335b3ec59ec7e3d12ea7c90b3aa56f4c26e0d44d342f54412933be9d4f16067","dweb:/ipfs/QmXNFo2wCyq9cpvfgbdHvBUQecThFSEoUnMuZNS6WinDrr"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Errors.sol":{"keccak256":"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15","urls":["bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf","dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Metadata.sol":{"keccak256":"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44","urls":["bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c","dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Native.sol":{"keccak256":"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5","urls":["bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a","dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Transfer.sol":{"keccak256":"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286","urls":["bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11","dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/strategies/BaseStrategy.sol":{"keccak256":"0x3f1382dc6c35d50545e327e7ed6016f2bd752357d446bd698014073f0b812873","urls":["bzz-raw://99500abcd617fa43f6dde49e2c7802821ceaf54a65a8055cbbf2695ecd107974","dweb:/ipfs/QmUktZkWuu3GCMEijY1fqt7NMy7BzpTvEtcmpB1fuoa7zt"],"license":"AGPL-3.0-only"},"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol":{"keccak256":"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624","urls":["bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298","dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt"],"license":"MIT"},"lib/forge-std/src/Vm.sol":{"keccak256":"0x51fec240abc6dd23e0ee6de7c65106379aef732cad6c4ae5df6b55db886e7456","urls":["bzz-raw://a47d9c0a9876e7f9e411843b994a741d4ac1a87d8459ffc3c56359de691ddc1a","dweb:/ipfs/QmQiFN9b3Y2azrD1RBfAKEuAG3YeJkMzA2DGzgEE9kMeEK"],"license":"MIT OR Apache-2.0"},"lib/forge-std/src/console.sol":{"keccak256":"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba","urls":["bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70","dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol":{"keccak256":"0xc8710577334e8d0799ae2b2a731b1924a7bddd64319da9787ddd2dc69bdd1ce5","urls":["bzz-raw://b83b7afa4d2372da3ba5402fb10860a105c35d79812c60dc61007be2afc17618","dweb:/ipfs/QmYX9xPmbNVSKXrepKiUZiG5oL3SdzFp9a4kqspxX1sEUx"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol":{"keccak256":"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa","urls":["bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c","dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol":{"keccak256":"0x359a1ab89b46b9aba7bcad3fb651924baf4893d15153049b9976b0fc9be1358e","urls":["bzz-raw://e89863421b4014b96a4b62be76eb3b9f0a8afe9684664a6f389124c0964bfe5c","dweb:/ipfs/Qmbk7xr1irpDuU1WdxXgxELBXxs61rHhCgod7heVcvFx16"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol":{"keccak256":"0x5a55d1b148a0cb4183f1e09ceaff87bd2d828440f2f5dc01dfe03eb29e7c88ec","urls":["bzz-raw://b3f9278bdda788763efbe569da77fc24feff36e871779e2da69f74ea5f8bfacf","dweb:/ipfs/QmZF9cH4rfazmwKT55p3tZyzh9QGghNyss81f46d6yVXap"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794","urls":["bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e","dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol":{"keccak256":"0x2025ccf05f6f1f2fd4e078e552836f525a1864e3854ed555047cd732320ab29b","urls":["bzz-raw://d27f4b23c2dee42394aebaf42bf238285230f472dfd3282a39c3f000ec28214f","dweb:/ipfs/QmQa3DnvccwdWJeWrjgXPnFMTWbzWQWR39hVqC7eEwo2PC"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol":{"keccak256":"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422","urls":["bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b","dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef","urls":["bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95","dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol":{"keccak256":"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb","urls":["bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a","dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol":{"keccak256":"0xd90d7723512df65ae417adaf0801042940f0dabd60039ceeaffe34aa5b238da1","urls":["bzz-raw://1b13befeb3413749292f9fb229de1c7a509a5ce2c8047d9094fc004ca9d3af89","dweb:/ipfs/QmRzJ2hZSwRtMejHUZAYTPRKgZsnfb112Fno9Jf3EiDfwA"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol":{"keccak256":"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09","urls":["bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758","dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol":{"keccak256":"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e","urls":["bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91","dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol":{"keccak256":"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a","urls":["bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4","dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/access/AccessControl.sol":{"keccak256":"0x0dd6e52cb394d7f5abe5dca2d4908a6be40417914720932de757de34a99ab87f","urls":["bzz-raw://dc117ce50ea746cab6b97ed1a1facee17a715ae0cb95d67b943dacbaf15176fb","dweb:/ipfs/QmYRZ2UGNYwsHwfNu7Wjr8L2j1LBZ1mKv6NvbwgterYMXc"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/access/IAccessControl.sol":{"keccak256":"0x59ce320a585d7e1f163cd70390a0ef2ff9cec832e2aa544293a00692465a7a57","urls":["bzz-raw://bb2c137c343ef0c4c7ce7b18c1d108afdc9d315a04e48307288d2d05adcbde3a","dweb:/ipfs/QmUxhrAQM3MM3FF5j7AtcXLXguWCJBHJ14BRdVtuoQc8Fh"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/access/Ownable.sol":{"keccak256":"0xba43b97fba0d32eb4254f6a5a297b39a19a247082a02d6e69349e071e2946218","urls":["bzz-raw://fc980984badf3984b6303b377711220e067722bbd6a135b24669ff5069ef9f32","dweb:/ipfs/QmPHXMSXj99XjSVM21YsY6aNtLLjLVXDbyN76J5HQYvvrz"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol":{"keccak256":"0x3cbef5ebc24b415252e2f8c0c9254555d30d9f085603b4b80d9b5ed20ab87e90","urls":["bzz-raw://e8fa670c3bdce78e642cc6ae11c4cb38b133499cdce5e1990a9979d424703263","dweb:/ipfs/QmVxeCUk4jL2pXQyhsoNJwyU874wRufS2WvGe8TgPKPqhE"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol":{"keccak256":"0x1d4afe6cb24200cc4545eed814ecf5847277dfe5d613a1707aad5fceecebcfff","urls":["bzz-raw://383fb7b8181016ac5ccf07bc9cdb7c1b5045ea36e2cc4df52bcbf20396fc7688","dweb:/ipfs/QmYJ7Cg4WmE3rR8KGQxjUCXFfTH6TcwZ2Z1f6tPrq7jHFr"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol":{"keccak256":"0xa2b22da3032e50b55f95ec1d13336102d675f341167aa76db571ef7f8bb7975d","urls":["bzz-raw://96b6d77a20bebd4eb06b801d3d020c7e82be13bd535cb0d0a6b7181c51dab5d5","dweb:/ipfs/QmPUR9Cv9jNFdQX6PtBfaBW1ZCnKwiu65R2VD5kbdanDyn"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Upgrade.sol":{"keccak256":"0x3b21ae06bf5957f73fa16754b0669c77b7abd8ba6c072d35c3281d446fdb86c2","urls":["bzz-raw://2db8e18505e86e02526847005d7287a33e397ed7fb9eaba3fd4a4a197add16e2","dweb:/ipfs/QmW9BSuKTzHWHBNSHF4L8XfVuU1uJrP2vLg84YtBd8mL82"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol":{"keccak256":"0xc130fe33f1b2132158531a87734153293f6d07bc263ff4ac90e85da9c82c0e27","urls":["bzz-raw://8831721b6f4cc26534d190f9f1631c3f59c9ff38efdd911f85e0882b8e360472","dweb:/ipfs/QmQZnLErZNStirSQ13ZNWQgvEYUtGE5tXYwn4QUPaVUfPN"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol":{"keccak256":"0xd50a3421ac379ccb1be435fa646d66a65c986b4924f0849839f08692f39dde61","urls":["bzz-raw://ada1e030c0231db8d143b44ce92b4d1158eedb087880cad6d8cc7bd7ebe7b354","dweb:/ipfs/QmWZ2NHZweRpz1U9GF6R1h65ri76dnX7fNxLBeM2t5N5Ce"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x3d6069be9b4c01fb81840fb9c2c4dc58dd6a6a4aafaa2c6837de8699574d84c6","urls":["bzz-raw://720d6bb56ea0c4ef781c0bd65c5bd0541f5a46100163b2587170f97658d2deed","dweb:/ipfs/QmTS2biLVPrv8CeeXCaKmkFxonMiRvc1LxiYBRYDAJHQUS"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol":{"keccak256":"0xc6619957bcc6641fe8984bfaf9ff11a9e4b97d8149c0495f608f9a2416d7c5cf","urls":["bzz-raw://543be67f7fa43b1b932637c1c7f12035f0f4b0f7ee2bd3c33841186f79c165c1","dweb:/ipfs/QmSBPM2UVKbmJqWfD9i6hSiqbaE8TV4TSqfuiivziRRLKM"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/security/ReentrancyGuard.sol":{"keccak256":"0xa535a5df777d44e945dd24aa43a11e44b024140fc340ad0dfe42acf4002aade1","urls":["bzz-raw://41319e7f621f2dc3733511332c4fd032f8e32ad2aa7fd6f665c19741d9941a34","dweb:/ipfs/QmcYR3bd862GD1Bc7jwrU9bGxrhUu5na1oP964bDCu2id1"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol":{"keccak256":"0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c","urls":["bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15","dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305","urls":["bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5","dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol":{"keccak256":"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca","urls":["bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd","dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol":{"keccak256":"0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a","urls":["bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a","dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol":{"keccak256":"0x909d608c2db6eb165ca178c81289a07ed2e118e444d0025b2a85c97d0b44a4fa","urls":["bzz-raw://656cda26512ddd7373c2d5551c8fae759fc30f05b10f0fc2e738e9274199dbd4","dweb:/ipfs/QmTSArSzQRFbQmHgq7U1PZXnsDFhvDZhKVu9CzMG4yo6Lx"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Address.sol":{"keccak256":"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa","urls":["bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931","dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Context.sol":{"keccak256":"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7","urls":["bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92","dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol":{"keccak256":"0xf09e68aa0dc6722a25bc46490e8d48ed864466d17313b8a0b254c36b54e49899","urls":["bzz-raw://e26daf81e2252dc1fe1ce0e4b55c2eb7c6d1ee84ae6558d1a9554432ea1d32da","dweb:/ipfs/Qmb1UANWiWq5pCKbmHSu772hd4nt374dVaghGmwSVNuk8Q"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Strings.sol":{"keccak256":"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0","urls":["bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f","dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol":{"keccak256":"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b","urls":["bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d","dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol":{"keccak256":"0x5a08ad61f4e82b8a3323562661a86fb10b10190848073fdc13d4ac43710ffba5","urls":["bzz-raw://6f7bb74cf88fd88daa34e118bc6e363381d05044f34f391d39a10c0c9dac3ebd","dweb:/ipfs/QmNbQ3v8v4zuDtg7VeLAbdhAm3tCzUodNoDZZ8ekmCHWZX"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/Math.sol":{"keccak256":"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3","urls":["bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c","dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol":{"keccak256":"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc","urls":["bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7","dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/src/strings.sol":{"keccak256":"0x42cad11a7033f2fe05dd68611d2304407a620ac985b91edf29d5868cfe196223","urls":["bzz-raw://3cbc2333234e1f00eab5e57c4bcaf5115661e5e066a17c70af587a0a96f24669","dweb:/ipfs/QmPHvStqcvZL46LW5N2ExTwAaqNhRCcmAX66aR6oE1WDar"],"license":null},"lib/openzeppelin-foundry-upgrades/src/Defender.sol":{"keccak256":"0x2114e4d70d53b36e8cec54ba11ff78d9f38a466ec3504c76c7f26101a7cff37f","urls":["bzz-raw://58f4d9bc58646e7631b263cdb8ef260e6818e9f716036d81d1c18218c9557a23","dweb:/ipfs/QmS18L4R4gPtay9eQBcR28DnwmBkGSWsiCFwm2tXc3BkHL"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/LegacyUpgrades.sol":{"keccak256":"0x8436719f73c76efadaa16cd719d088f698ea3591595dfdf2c15fd66f3e203197","urls":["bzz-raw://ac8d0e55defe124adcc3845348602d6528b00b7dc5f7abf9e1b245d0cea9b55e","dweb:/ipfs/QmaPBoG89Bd2btJZW5kjXx7zXo6KhAdeTuMq5xo431M8xq"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/Options.sol":{"keccak256":"0xa5414683d6b219b28e75ecaab3d00a305dfaf4d970389a88992275c8072ce8ac","urls":["bzz-raw://b1dbfd566ba318f2b740159c28e4511c84c9d76fcc293ae17c9b1a87b3ea16c9","dweb:/ipfs/QmcyxPoeBdzA9iHEgd76xKhaQ8HKfpV4owdSv6127MmveT"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Core.sol":{"keccak256":"0x37073df20d2b5fbb0a873e6b2dd76c23e23455d1c2d2ba57d2f0998201a4251d","urls":["bzz-raw://79d507647ea48d93371341684cf4199d55ed799db9d3489bc016f53990d2ff7c","dweb:/ipfs/QmQWgXiYcPcwNcrkTHb72WtHd4xPcXfRUMfBrhkDHgr2ut"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/DefenderDeploy.sol":{"keccak256":"0x868ffdaf5d185fee103fc4581385392b47c209a5cfd2aec01f0307dbc0101d73","urls":["bzz-raw://76e51bf69a4d0b5d1d9cfa7efa442bdcf9d713966563432ef8fdd00ec959a25e","dweb:/ipfs/QmTHkdvMnqmEvus7zbmHhPkWk3fM9SW2Jq8gnyBLwVJtxG"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Utils.sol":{"keccak256":"0x4de002af810f6a5fe26a6381e0ead3331735bd0059434a22df75e17c177b5f87","urls":["bzz-raw://af32ff07f606e530a53030db141a75af144cfe065a6543939d412018c6159540","dweb:/ipfs/QmbfTB92Zd8VQHW61g9dx1CvGgSL5SCoZDLrvJfnR7Ctio"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Versions.sol":{"keccak256":"0xf1a1441c18a296853509e9b1d18be794ed3de836caea49d6948b5e9ac566e8c6","urls":["bzz-raw://6f3463514235bd875ecacf45f95cac64aa650dd38d05c15fe1f4203b6b5733bd","dweb:/ipfs/Qmcbhmw9NPkG8MqiVsQ4qUupeQFCRgyBDKuoUwohwa8EP3"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IProxyAdmin.sol":{"keccak256":"0xf5e514595089f8959da130507086e7388602a71ce60575d141e7d892dfbddbfc","urls":["bzz-raw://9b41366e2823ccc8cb42304496d761b3df80946d17384634a61afd7139495c91","dweb:/ipfs/QmZE2nRMxax1NPj63ifemKdScGJzKNWi7BCGudjFLsUz1y"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableBeacon.sol":{"keccak256":"0xa8d7bffdd26eb763e459650c83f247b54af79800c2df52ad05878f238fc1c2f8","urls":["bzz-raw://8ed47f1e53e5eb7d48fed60a414755641fca8fa0e713fd503b2597227da78a2f","dweb:/ipfs/QmQr8A5wddHdhQNauFShXxRkPcuVVpVsYpq846WhmFC8Tv"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableProxy.sol":{"keccak256":"0x781b564b90bba0c0e8e12fb66b1c910f42d369db469f2e88592b4cff29de99a5","urls":["bzz-raw://45fcab02a43fde934445b88e905aba3f58a70b75dd6ee6eb86a3d593424aeb03","dweb:/ipfs/QmXmhAgrctaYUDLoTRgUjwD4deoXu1E2QT1kftVGcVa56j"],"license":"MIT"},"pkg/contracts/src/BaseStrategyUpgradeable.sol":{"keccak256":"0xe059f9e1a262a4713e230a6025c3356681bb5f3c8013b87bc579bae93aa66c20","urls":["bzz-raw://37e879664b08005b9544457cf89bce77e38b6a25639566df7366b9e5968c815e","dweb:/ipfs/QmYgNRqZfYUPbWgcHUHghTcpqjVmT9v4HfkfPdEF64fYe5"],"license":"AGPL-3.0-only"},"pkg/contracts/src/CVStrategy.sol":{"keccak256":"0x132bcf17470960e380d841159d9389985d609aaae1c9a657c78902f7871da957","urls":["bzz-raw://84e905bf392579b44f33fff8586431b940e110b2210854cf487321cc92061705","dweb:/ipfs/QmQpvszYu8RbrXmUFLifSodQzV8LAqazk1fzXNARGc5sBT"],"license":"AGPL-3.0-only"},"pkg/contracts/src/CVStrategyV0_0.sol":{"keccak256":"0x79d01b399c8d735923dfa26b8dacba6200a861202dd6fb1c7711241285439d2d","urls":["bzz-raw://e7ea0014e25a729d6d688620658df81a179a8c2380ae0bc4c78668cd486adb04","dweb:/ipfs/QmdPM8JpFXeqBxQgkRzM1inzCT2rkRxnpoSrFk8DauDpNf"],"license":"AGPL-3.0-only"},"pkg/contracts/src/ISybilScorer.sol":{"keccak256":"0x0e25fbb8497ac3c969d80c9032362d45e56c0a45dc9ba3dff6a8a704571f38ea","urls":["bzz-raw://0dff90ebae6e7131a5300fcaf525bc2ab0ae90fcd13f277d7b7b6939eeb8b7eb","dweb:/ipfs/QmYGkYqpUVrBWoNY6f3CtwrrVQFWSvnJfpu68t95f6AkBY"],"license":"MIT"},"pkg/contracts/src/RegistryCommunity.sol":{"keccak256":"0xc735f4d2635149f2db9bff291da56e08c3c312d9eb1b767b8a1e3e51584d5734","urls":["bzz-raw://247b33b78abface6a7e2da38174386de9b543f6a27e8340e26d854bff57184a3","dweb:/ipfs/QmedNdqkqeboGzz9w868uGf7KnXUaYZe6i1YcdUPPkJnnf"],"license":"AGPL-3.0-only"},"pkg/contracts/src/RegistryCommunityV0_0.sol":{"keccak256":"0x6525c857f7baff606e87bbc2878f3606923997a444eb500aa15018c676c972a9","urls":["bzz-raw://89d2af9f470c8d7431ff6b1981b7bf46520f719d68da38ab3ca065496a6297d8","dweb:/ipfs/QmceJHX57HbnBXVfmhtRPmnApUQy5QSWTybgq6g37vCxEN"],"license":"AGPL-3.0-only"},"pkg/contracts/src/RegistryFactory.sol":{"keccak256":"0x888b7f5eb1079f90ccfa0b41d8a970bffd8d4d469f9b31917a58279b358dbda5","urls":["bzz-raw://af25fd783de00adf01d1c7caa572801fed0d474306a43b862535b08e65ec10c6","dweb:/ipfs/Qmeb2nEaMQLV86y1CYAAV2c6BYpBDTbpLuC1SigeNjdqLo"],"license":"AGPL-3.0-only"},"pkg/contracts/src/interfaces/FAllo.sol":{"keccak256":"0x32f38cb4400a07a99ae68a9beb91e5649886487172fd50561da6763464efc437","urls":["bzz-raw://cb4f0cee2f3fbede7be5e8e1d7ee8034086359cd07b9dab49c4a991388e5c458","dweb:/ipfs/QmS26kA8cZ9shWwxcbF17Kes8L7Jgw85EQVydDmwb34mjM"],"license":"AGPL-3.0-only"},"pkg/contracts/src/interfaces/ISafe.sol":{"keccak256":"0x878a210809bb684c42157a10f3f90350a67d0a4863f130499942b06f0f2c9143","urls":["bzz-raw://fa2d71bd427c3415e98a2ee15ff673f3cc61c17f14d7087c5eedc83b55f6b0ef","dweb:/ipfs/QmesVSmJQQzi6ys1cvhQFCJyDXchb736mT5bXks4Yp6Cbj"],"license":"LGPL-3.0-only"}},"version":1},"storageLayout":{"storage":[{"astId":53029,"contract":"pkg/contracts/src/CVStrategyV0_0.sol:CVStrategyV0_0","label":"_initialized","offset":0,"slot":"0","type":"t_uint8"},{"astId":53032,"contract":"pkg/contracts/src/CVStrategyV0_0.sol:CVStrategyV0_0","label":"_initializing","offset":1,"slot":"0","type":"t_bool"},{"astId":53734,"contract":"pkg/contracts/src/CVStrategyV0_0.sol:CVStrategyV0_0","label":"__gap","offset":0,"slot":"1","type":"t_array(t_uint256)50_storage"},{"astId":52821,"contract":"pkg/contracts/src/CVStrategyV0_0.sol:CVStrategyV0_0","label":"_owner","offset":0,"slot":"51","type":"t_address"},{"astId":52941,"contract":"pkg/contracts/src/CVStrategyV0_0.sol:CVStrategyV0_0","label":"__gap","offset":0,"slot":"52","type":"t_array(t_uint256)49_storage"},{"astId":74084,"contract":"pkg/contracts/src/CVStrategyV0_0.sol:CVStrategyV0_0","label":"allo","offset":0,"slot":"101","type":"t_contract(IAllo)2610"},{"astId":74086,"contract":"pkg/contracts/src/CVStrategyV0_0.sol:CVStrategyV0_0","label":"strategyId","offset":0,"slot":"102","type":"t_bytes32"},{"astId":74088,"contract":"pkg/contracts/src/CVStrategyV0_0.sol:CVStrategyV0_0","label":"poolActive","offset":0,"slot":"103","type":"t_bool"},{"astId":74090,"contract":"pkg/contracts/src/CVStrategyV0_0.sol:CVStrategyV0_0","label":"poolId","offset":0,"slot":"104","type":"t_uint256"},{"astId":74092,"contract":"pkg/contracts/src/CVStrategyV0_0.sol:CVStrategyV0_0","label":"poolAmount","offset":0,"slot":"105","type":"t_uint256"},{"astId":77933,"contract":"pkg/contracts/src/CVStrategyV0_0.sol:CVStrategyV0_0","label":"decay","offset":0,"slot":"106","type":"t_uint256"},{"astId":77935,"contract":"pkg/contracts/src/CVStrategyV0_0.sol:CVStrategyV0_0","label":"maxRatio","offset":0,"slot":"107","type":"t_uint256"},{"astId":77937,"contract":"pkg/contracts/src/CVStrategyV0_0.sol:CVStrategyV0_0","label":"weight","offset":0,"slot":"108","type":"t_uint256"},{"astId":77940,"contract":"pkg/contracts/src/CVStrategyV0_0.sol:CVStrategyV0_0","label":"proposalCounter","offset":0,"slot":"109","type":"t_uint256"},{"astId":77942,"contract":"pkg/contracts/src/CVStrategyV0_0.sol:CVStrategyV0_0","label":"totalStaked","offset":0,"slot":"110","type":"t_uint256"},{"astId":77944,"contract":"pkg/contracts/src/CVStrategyV0_0.sol:CVStrategyV0_0","label":"totalPointsActivated","offset":0,"slot":"111","type":"t_uint256"},{"astId":77947,"contract":"pkg/contracts/src/CVStrategyV0_0.sol:CVStrategyV0_0","label":"_minThresholdPoints","offset":0,"slot":"112","type":"t_uint256"},{"astId":77949,"contract":"pkg/contracts/src/CVStrategyV0_0.sol:CVStrategyV0_0","label":"surpressStateMutabilityWarning","offset":0,"slot":"113","type":"t_uint256"},{"astId":77952,"contract":"pkg/contracts/src/CVStrategyV0_0.sol:CVStrategyV0_0","label":"proposalType","offset":0,"slot":"114","type":"t_enum(ProposalType)77671"},{"astId":77955,"contract":"pkg/contracts/src/CVStrategyV0_0.sol:CVStrategyV0_0","label":"pointSystem","offset":1,"slot":"114","type":"t_enum(PointSystem)77676"},{"astId":77958,"contract":"pkg/contracts/src/CVStrategyV0_0.sol:CVStrategyV0_0","label":"pointConfig","offset":0,"slot":"115","type":"t_struct(PointSystemConfig)77729_storage"},{"astId":77961,"contract":"pkg/contracts/src/CVStrategyV0_0.sol:CVStrategyV0_0","label":"registryCommunity","offset":0,"slot":"116","type":"t_contract(RegistryCommunityV0_0)85047"},{"astId":77964,"contract":"pkg/contracts/src/CVStrategyV0_0.sol:CVStrategyV0_0","label":"sybilScorer","offset":0,"slot":"117","type":"t_contract(ISybilScorer)80667"},{"astId":77969,"contract":"pkg/contracts/src/CVStrategyV0_0.sol:CVStrategyV0_0","label":"proposals","offset":0,"slot":"118","type":"t_mapping(t_uint256,t_struct(Proposal)77721_storage)"},{"astId":77973,"contract":"pkg/contracts/src/CVStrategyV0_0.sol:CVStrategyV0_0","label":"totalVoterStakePct","offset":0,"slot":"119","type":"t_mapping(t_address,t_uint256)"},{"astId":77978,"contract":"pkg/contracts/src/CVStrategyV0_0.sol:CVStrategyV0_0","label":"voterStakedProposals","offset":0,"slot":"120","type":"t_mapping(t_address,t_array(t_uint256)dyn_storage)"},{"astId":80577,"contract":"pkg/contracts/src/CVStrategyV0_0.sol:CVStrategyV0_0","label":"__gap","offset":0,"slot":"121","type":"t_array(t_uint256)50_storage"}],"types":{"t_address":{"encoding":"inplace","label":"address","numberOfBytes":"20"},"t_array(t_uint256)49_storage":{"encoding":"inplace","label":"uint256[49]","numberOfBytes":"1568","base":"t_uint256"},"t_array(t_uint256)50_storage":{"encoding":"inplace","label":"uint256[50]","numberOfBytes":"1600","base":"t_uint256"},"t_array(t_uint256)dyn_storage":{"encoding":"dynamic_array","label":"uint256[]","numberOfBytes":"32","base":"t_uint256"},"t_bool":{"encoding":"inplace","label":"bool","numberOfBytes":"1"},"t_bytes32":{"encoding":"inplace","label":"bytes32","numberOfBytes":"32"},"t_contract(IAllo)2610":{"encoding":"inplace","label":"contract IAllo","numberOfBytes":"20"},"t_contract(ISybilScorer)80667":{"encoding":"inplace","label":"contract ISybilScorer","numberOfBytes":"20"},"t_contract(RegistryCommunityV0_0)85047":{"encoding":"inplace","label":"contract RegistryCommunityV0_0","numberOfBytes":"20"},"t_enum(PointSystem)77676":{"encoding":"inplace","label":"enum StrategyStruct.PointSystem","numberOfBytes":"1"},"t_enum(ProposalStatus)77694":{"encoding":"inplace","label":"enum StrategyStruct.ProposalStatus","numberOfBytes":"1"},"t_enum(ProposalType)77671":{"encoding":"inplace","label":"enum StrategyStruct.ProposalType","numberOfBytes":"1"},"t_mapping(t_address,t_array(t_uint256)dyn_storage)":{"encoding":"mapping","key":"t_address","label":"mapping(address => uint256[])","numberOfBytes":"32","value":"t_array(t_uint256)dyn_storage"},"t_mapping(t_address,t_uint256)":{"encoding":"mapping","key":"t_address","label":"mapping(address => uint256)","numberOfBytes":"32","value":"t_uint256"},"t_mapping(t_uint256,t_struct(Proposal)77721_storage)":{"encoding":"mapping","key":"t_uint256","label":"mapping(uint256 => struct StrategyStruct.Proposal)","numberOfBytes":"32","value":"t_struct(Proposal)77721_storage"},"t_string_storage":{"encoding":"bytes","label":"string","numberOfBytes":"32"},"t_struct(Metadata)3098_storage":{"encoding":"inplace","label":"struct Metadata","numberOfBytes":"64","members":[{"astId":3094,"contract":"pkg/contracts/src/CVStrategyV0_0.sol:CVStrategyV0_0","label":"protocol","offset":0,"slot":"0","type":"t_uint256"},{"astId":3097,"contract":"pkg/contracts/src/CVStrategyV0_0.sol:CVStrategyV0_0","label":"pointer","offset":0,"slot":"1","type":"t_string_storage"}]},"t_struct(PointSystemConfig)77729_storage":{"encoding":"inplace","label":"struct StrategyStruct.PointSystemConfig","numberOfBytes":"32","members":[{"astId":77728,"contract":"pkg/contracts/src/CVStrategyV0_0.sol:CVStrategyV0_0","label":"maxAmount","offset":0,"slot":"0","type":"t_uint256"}]},"t_struct(Proposal)77721_storage":{"encoding":"inplace","label":"struct StrategyStruct.Proposal","numberOfBytes":"384","members":[{"astId":77696,"contract":"pkg/contracts/src/CVStrategyV0_0.sol:CVStrategyV0_0","label":"proposalId","offset":0,"slot":"0","type":"t_uint256"},{"astId":77698,"contract":"pkg/contracts/src/CVStrategyV0_0.sol:CVStrategyV0_0","label":"requestedAmount","offset":0,"slot":"1","type":"t_uint256"},{"astId":77700,"contract":"pkg/contracts/src/CVStrategyV0_0.sol:CVStrategyV0_0","label":"stakedAmount","offset":0,"slot":"2","type":"t_uint256"},{"astId":77702,"contract":"pkg/contracts/src/CVStrategyV0_0.sol:CVStrategyV0_0","label":"convictionLast","offset":0,"slot":"3","type":"t_uint256"},{"astId":77704,"contract":"pkg/contracts/src/CVStrategyV0_0.sol:CVStrategyV0_0","label":"beneficiary","offset":0,"slot":"4","type":"t_address"},{"astId":77706,"contract":"pkg/contracts/src/CVStrategyV0_0.sol:CVStrategyV0_0","label":"submitter","offset":0,"slot":"5","type":"t_address"},{"astId":77708,"contract":"pkg/contracts/src/CVStrategyV0_0.sol:CVStrategyV0_0","label":"requestedToken","offset":0,"slot":"6","type":"t_address"},{"astId":77710,"contract":"pkg/contracts/src/CVStrategyV0_0.sol:CVStrategyV0_0","label":"blockLast","offset":0,"slot":"7","type":"t_uint256"},{"astId":77713,"contract":"pkg/contracts/src/CVStrategyV0_0.sol:CVStrategyV0_0","label":"proposalStatus","offset":0,"slot":"8","type":"t_enum(ProposalStatus)77694"},{"astId":77717,"contract":"pkg/contracts/src/CVStrategyV0_0.sol:CVStrategyV0_0","label":"voterStakedPoints","offset":0,"slot":"9","type":"t_mapping(t_address,t_uint256)"},{"astId":77720,"contract":"pkg/contracts/src/CVStrategyV0_0.sol:CVStrategyV0_0","label":"metadata","offset":0,"slot":"10","type":"t_struct(Metadata)3098_storage"}]},"t_uint256":{"encoding":"inplace","label":"uint256","numberOfBytes":"32"},"t_uint8":{"encoding":"inplace","label":"uint8","numberOfBytes":"1"}}},"ast":{"absolutePath":"pkg/contracts/src/CVStrategyV0_0.sol","id":80579,"exportedSymbols":{"BaseStrategy":[3923],"BaseStrategyUpgradeable":[74672],"CVStrategyV0_0":[80578],"ERC165":[58266],"ERC20":[56991],"IAllo":[2610],"IERC165":[58472],"IPointStrategy":[77667],"ISybilScorer":[80667],"Math":[59338],"Metadata":[3098],"OwnableUpgradeable":[52942],"PassportData":[80585],"RegistryCommunityV0_0":[85047],"StrategyStruct":[77752],"UUPSUpgradeable":[56213],"console":[29549]},"nodeType":"SourceUnit","src":"42:41538:130","nodes":[{"id":77613,"nodeType":"PragmaDirective","src":"42:24:130","nodes":[],"literals":["solidity","^","0.8",".19"]},{"id":77616,"nodeType":"ImportDirective","src":"68:82:130","nodes":[],"absolutePath":"lib/allo-v2/contracts/strategies/BaseStrategy.sol","file":"allo-v2-contracts/strategies/BaseStrategy.sol","nameLocation":"-1:-1:-1","scope":80579,"sourceUnit":3924,"symbolAliases":[{"foreign":{"id":77614,"name":"BaseStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3923,"src":"76:12:130","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":77615,"name":"IAllo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2610,"src":"90:5:130","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":77619,"nodeType":"ImportDirective","src":"152:76:130","nodes":[],"absolutePath":"pkg/contracts/src/RegistryCommunityV0_0.sol","file":"./RegistryCommunityV0_0.sol","nameLocation":"-1:-1:-1","scope":80579,"sourceUnit":85048,"symbolAliases":[{"foreign":{"id":77617,"name":"RegistryCommunityV0_0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85047,"src":"160:21:130","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":77618,"name":"Metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3098,"src":"183:8:130","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":77622,"nodeType":"ImportDirective","src":"229:87:130","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol","file":"@openzeppelin/contracts/utils/introspection/ERC165.sol","nameLocation":"-1:-1:-1","scope":80579,"sourceUnit":58267,"symbolAliases":[{"foreign":{"id":77620,"name":"ERC165","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58266,"src":"237:6:130","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":77621,"name":"IERC165","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58472,"src":"245:7:130","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":77624,"nodeType":"ImportDirective","src":"317:68:130","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol","file":"@openzeppelin/contracts/token/ERC20/ERC20.sol","nameLocation":"-1:-1:-1","scope":80579,"sourceUnit":56992,"symbolAliases":[{"foreign":{"id":77623,"name":"ERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56991,"src":"325:5:130","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":77626,"nodeType":"ImportDirective","src":"387:46:130","nodes":[],"absolutePath":"lib/forge-std/src/console.sol","file":"forge-std/console.sol","nameLocation":"-1:-1:-1","scope":80579,"sourceUnit":29550,"symbolAliases":[{"foreign":{"id":77625,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29549,"src":"395:7:130","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":77628,"nodeType":"ImportDirective","src":"435:65:130","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/utils/math/Math.sol","file":"@openzeppelin/contracts/utils/math/Math.sol","nameLocation":"-1:-1:-1","scope":80579,"sourceUnit":59339,"symbolAliases":[{"foreign":{"id":77627,"name":"Math","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59338,"src":"443:4:130","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":77631,"nodeType":"ImportDirective","src":"501:62:130","nodes":[],"absolutePath":"pkg/contracts/src/ISybilScorer.sol","file":"./ISybilScorer.sol","nameLocation":"-1:-1:-1","scope":80579,"sourceUnit":80668,"symbolAliases":[{"foreign":{"id":77629,"name":"ISybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80667,"src":"509:12:130","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":77630,"name":"PassportData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80585,"src":"523:12:130","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":77633,"nodeType":"ImportDirective","src":"565:88:130","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol","file":"@openzeppelin/contracts/proxy/utils/UUPSUpgradeable.sol","nameLocation":"-1:-1:-1","scope":80579,"sourceUnit":56214,"symbolAliases":[{"foreign":{"id":77632,"name":"UUPSUpgradeable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56213,"src":"573:15:130","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":77635,"nodeType":"ImportDirective","src":"654:110:130","nodes":[],"absolutePath":"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol","file":"openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol","nameLocation":"-1:-1:-1","scope":80579,"sourceUnit":52943,"symbolAliases":[{"foreign":{"id":77634,"name":"OwnableUpgradeable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52942,"src":"662:18:130","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":77637,"nodeType":"ImportDirective","src":"765:70:130","nodes":[],"absolutePath":"pkg/contracts/src/BaseStrategyUpgradeable.sol","file":"./BaseStrategyUpgradeable.sol","nameLocation":"-1:-1:-1","scope":80579,"sourceUnit":74673,"symbolAliases":[{"foreign":{"id":77636,"name":"BaseStrategyUpgradeable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74672,"src":"773:23:130","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":77667,"nodeType":"ContractDefinition","src":"837:355:130","nodes":[{"id":77642,"nodeType":"FunctionDefinition","src":"868:52:130","nodes":[],"functionSelector":"6453d9c4","implemented":false,"kind":"function","modifiers":[],"name":"deactivatePoints","nameLocation":"877:16:130","parameters":{"id":77640,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77639,"mutability":"mutable","name":"_member","nameLocation":"902:7:130","nodeType":"VariableDeclaration","scope":77642,"src":"894:15:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":77638,"name":"address","nodeType":"ElementaryTypeName","src":"894:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"893:17:130"},"returnParameters":{"id":77641,"nodeType":"ParameterList","parameters":[],"src":"919:0:130"},"scope":77667,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":77651,"nodeType":"FunctionDefinition","src":"925:91:130","nodes":[],"functionSelector":"782aadff","implemented":false,"kind":"function","modifiers":[],"name":"increasePower","nameLocation":"934:13:130","parameters":{"id":77647,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77644,"mutability":"mutable","name":"_member","nameLocation":"956:7:130","nodeType":"VariableDeclaration","scope":77651,"src":"948:15:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":77643,"name":"address","nodeType":"ElementaryTypeName","src":"948:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":77646,"mutability":"mutable","name":"_amountToStake","nameLocation":"973:14:130","nodeType":"VariableDeclaration","scope":77651,"src":"965:22:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77645,"name":"uint256","nodeType":"ElementaryTypeName","src":"965:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"947:41:130"},"returnParameters":{"id":77650,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77649,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":77651,"src":"1007:7:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77648,"name":"uint256","nodeType":"ElementaryTypeName","src":"1007:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1006:9:130"},"scope":77667,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":77660,"nodeType":"FunctionDefinition","src":"1021:92:130","nodes":[],"functionSelector":"2ed04b2b","implemented":false,"kind":"function","modifiers":[],"name":"decreasePower","nameLocation":"1030:13:130","parameters":{"id":77656,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77653,"mutability":"mutable","name":"_member","nameLocation":"1052:7:130","nodeType":"VariableDeclaration","scope":77660,"src":"1044:15:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":77652,"name":"address","nodeType":"ElementaryTypeName","src":"1044:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":77655,"mutability":"mutable","name":"_amountToUntake","nameLocation":"1069:15:130","nodeType":"VariableDeclaration","scope":77660,"src":"1061:23:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77654,"name":"uint256","nodeType":"ElementaryTypeName","src":"1061:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1043:42:130"},"returnParameters":{"id":77659,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77658,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":77660,"src":"1104:7:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77657,"name":"uint256","nodeType":"ElementaryTypeName","src":"1104:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1103:9:130"},"scope":77667,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":77666,"nodeType":"FunctionDefinition","src":"1118:72:130","nodes":[],"functionSelector":"c3292171","implemented":false,"kind":"function","modifiers":[],"name":"getPointSystem","nameLocation":"1127:14:130","parameters":{"id":77661,"nodeType":"ParameterList","parameters":[],"src":"1141:2:130"},"returnParameters":{"id":77665,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77664,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":77666,"src":"1162:26:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$77676","typeString":"enum StrategyStruct.PointSystem"},"typeName":{"id":77663,"nodeType":"UserDefinedTypeName","pathNode":{"id":77662,"name":"StrategyStruct.PointSystem","nameLocations":["1162:14:130","1177:11:130"],"nodeType":"IdentifierPath","referencedDeclaration":77676,"src":"1162:26:130"},"referencedDeclaration":77676,"src":"1162:26:130","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$77676","typeString":"enum StrategyStruct.PointSystem"}},"visibility":"internal"}],"src":"1161:28:130"},"scope":77667,"stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"IPointStrategy","contractDependencies":[],"contractKind":"interface","fullyImplemented":false,"linearizedBaseContracts":[77667],"name":"IPointStrategy","nameLocation":"847:14:130","scope":80579,"usedErrors":[]},{"id":77752,"nodeType":"ContractDefinition","src":"1194:1871:130","nodes":[{"id":77671,"nodeType":"EnumDefinition","src":"1223:79:130","nodes":[],"canonicalName":"StrategyStruct.ProposalType","members":[{"id":77668,"name":"Signaling","nameLocation":"1251:9:130","nodeType":"EnumValue","src":"1251:9:130"},{"id":77669,"name":"Funding","nameLocation":"1270:7:130","nodeType":"EnumValue","src":"1270:7:130"},{"id":77670,"name":"Streaming","nameLocation":"1287:9:130","nodeType":"EnumValue","src":"1287:9:130"}],"name":"ProposalType","nameLocation":"1228:12:130"},{"id":77676,"nodeType":"EnumDefinition","src":"1308:92:130","nodes":[],"canonicalName":"StrategyStruct.PointSystem","members":[{"id":77672,"name":"Fixed","nameLocation":"1335:5:130","nodeType":"EnumValue","src":"1335:5:130"},{"id":77673,"name":"Capped","nameLocation":"1350:6:130","nodeType":"EnumValue","src":"1350:6:130"},{"id":77674,"name":"Unlimited","nameLocation":"1366:9:130","nodeType":"EnumValue","src":"1366:9:130"},{"id":77675,"name":"Quadratic","nameLocation":"1385:9:130","nodeType":"EnumValue","src":"1385:9:130"}],"name":"PointSystem","nameLocation":"1313:11:130"},{"id":77688,"nodeType":"StructDefinition","src":"1406:243:130","nodes":[],"canonicalName":"StrategyStruct.CreateProposal","members":[{"constant":false,"id":77678,"mutability":"mutable","name":"poolId","nameLocation":"1477:6:130","nodeType":"VariableDeclaration","scope":77688,"src":"1469:14:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77677,"name":"uint256","nodeType":"ElementaryTypeName","src":"1469:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":77680,"mutability":"mutable","name":"beneficiary","nameLocation":"1501:11:130","nodeType":"VariableDeclaration","scope":77688,"src":"1493:19:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":77679,"name":"address","nodeType":"ElementaryTypeName","src":"1493:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":77682,"mutability":"mutable","name":"amountRequested","nameLocation":"1568:15:130","nodeType":"VariableDeclaration","scope":77688,"src":"1560:23:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77681,"name":"uint256","nodeType":"ElementaryTypeName","src":"1560:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":77684,"mutability":"mutable","name":"requestedToken","nameLocation":"1601:14:130","nodeType":"VariableDeclaration","scope":77688,"src":"1593:22:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":77683,"name":"address","nodeType":"ElementaryTypeName","src":"1593:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":77687,"mutability":"mutable","name":"metadata","nameLocation":"1634:8:130","nodeType":"VariableDeclaration","scope":77688,"src":"1625:17:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"},"typeName":{"id":77686,"nodeType":"UserDefinedTypeName","pathNode":{"id":77685,"name":"Metadata","nameLocations":["1625:8:130"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"1625:8:130"},"referencedDeclaration":3098,"src":"1625:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"}],"name":"CreateProposal","nameLocation":"1413:14:130","scope":77752,"visibility":"public"},{"id":77694,"nodeType":"EnumDefinition","src":"1655:289:130","nodes":[],"canonicalName":"StrategyStruct.ProposalStatus","members":[{"id":77689,"name":"Inactive","nameLocation":"1685:8:130","nodeType":"EnumValue","src":"1685:8:130"},{"id":77690,"name":"Active","nameLocation":"1715:6:130","nodeType":"EnumValue","src":"1715:6:130"},{"id":77691,"name":"Paused","nameLocation":"1778:6:130","nodeType":"EnumValue","src":"1778:6:130"},{"id":77692,"name":"Cancelled","nameLocation":"1843:9:130","nodeType":"EnumValue","src":"1843:9:130"},{"id":77693,"name":"Executed","nameLocation":"1896:8:130","nodeType":"EnumValue","src":"1896:8:130"}],"name":"ProposalStatus","nameLocation":"1660:14:130"},{"id":77721,"nodeType":"StructDefinition","src":"1950:405:130","nodes":[],"canonicalName":"StrategyStruct.Proposal","members":[{"constant":false,"id":77696,"mutability":"mutable","name":"proposalId","nameLocation":"1984:10:130","nodeType":"VariableDeclaration","scope":77721,"src":"1976:18:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77695,"name":"uint256","nodeType":"ElementaryTypeName","src":"1976:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":77698,"mutability":"mutable","name":"requestedAmount","nameLocation":"2012:15:130","nodeType":"VariableDeclaration","scope":77721,"src":"2004:23:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77697,"name":"uint256","nodeType":"ElementaryTypeName","src":"2004:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":77700,"mutability":"mutable","name":"stakedAmount","nameLocation":"2045:12:130","nodeType":"VariableDeclaration","scope":77721,"src":"2037:20:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77699,"name":"uint256","nodeType":"ElementaryTypeName","src":"2037:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":77702,"mutability":"mutable","name":"convictionLast","nameLocation":"2075:14:130","nodeType":"VariableDeclaration","scope":77721,"src":"2067:22:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77701,"name":"uint256","nodeType":"ElementaryTypeName","src":"2067:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":77704,"mutability":"mutable","name":"beneficiary","nameLocation":"2107:11:130","nodeType":"VariableDeclaration","scope":77721,"src":"2099:19:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":77703,"name":"address","nodeType":"ElementaryTypeName","src":"2099:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":77706,"mutability":"mutable","name":"submitter","nameLocation":"2136:9:130","nodeType":"VariableDeclaration","scope":77721,"src":"2128:17:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":77705,"name":"address","nodeType":"ElementaryTypeName","src":"2128:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":77708,"mutability":"mutable","name":"requestedToken","nameLocation":"2163:14:130","nodeType":"VariableDeclaration","scope":77721,"src":"2155:22:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":77707,"name":"address","nodeType":"ElementaryTypeName","src":"2155:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":77710,"mutability":"mutable","name":"blockLast","nameLocation":"2195:9:130","nodeType":"VariableDeclaration","scope":77721,"src":"2187:17:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77709,"name":"uint256","nodeType":"ElementaryTypeName","src":"2187:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":77713,"mutability":"mutable","name":"proposalStatus","nameLocation":"2229:14:130","nodeType":"VariableDeclaration","scope":77721,"src":"2214:29:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$77694","typeString":"enum StrategyStruct.ProposalStatus"},"typeName":{"id":77712,"nodeType":"UserDefinedTypeName","pathNode":{"id":77711,"name":"ProposalStatus","nameLocations":["2214:14:130"],"nodeType":"IdentifierPath","referencedDeclaration":77694,"src":"2214:14:130"},"referencedDeclaration":77694,"src":"2214:14:130","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$77694","typeString":"enum StrategyStruct.ProposalStatus"}},"visibility":"internal"},{"constant":false,"id":77717,"mutability":"mutable","name":"voterStakedPoints","nameLocation":"2281:17:130","nodeType":"VariableDeclaration","scope":77721,"src":"2253:45:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"typeName":{"id":77716,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":77714,"name":"address","nodeType":"ElementaryTypeName","src":"2261:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"2253:27:130","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":77715,"name":"uint256","nodeType":"ElementaryTypeName","src":"2272:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"internal"},{"constant":false,"id":77720,"mutability":"mutable","name":"metadata","nameLocation":"2340:8:130","nodeType":"VariableDeclaration","scope":77721,"src":"2331:17:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"},"typeName":{"id":77719,"nodeType":"UserDefinedTypeName","pathNode":{"id":77718,"name":"Metadata","nameLocations":["2331:8:130"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"2331:8:130"},"referencedDeclaration":3098,"src":"2331:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"}],"name":"Proposal","nameLocation":"1957:8:130","scope":77752,"visibility":"public"},{"id":77726,"nodeType":"StructDefinition","src":"2361:126:130","nodes":[],"canonicalName":"StrategyStruct.ProposalSupport","members":[{"constant":false,"id":77723,"mutability":"mutable","name":"proposalId","nameLocation":"2402:10:130","nodeType":"VariableDeclaration","scope":77726,"src":"2394:18:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77722,"name":"uint256","nodeType":"ElementaryTypeName","src":"2394:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":77725,"mutability":"mutable","name":"deltaSupport","nameLocation":"2429:12:130","nodeType":"VariableDeclaration","scope":77726,"src":"2422:19:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":77724,"name":"int256","nodeType":"ElementaryTypeName","src":"2422:6:130","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"name":"ProposalSupport","nameLocation":"2368:15:130","scope":77752,"visibility":"public"},{"id":77729,"nodeType":"StructDefinition","src":"2493:89:130","nodes":[],"canonicalName":"StrategyStruct.PointSystemConfig","members":[{"constant":false,"id":77728,"mutability":"mutable","name":"maxAmount","nameLocation":"2566:9:130","nodeType":"VariableDeclaration","scope":77729,"src":"2558:17:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77727,"name":"uint256","nodeType":"ElementaryTypeName","src":"2558:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"PointSystemConfig","nameLocation":"2500:17:130","scope":77752,"visibility":"public"},{"id":77751,"nodeType":"StructDefinition","src":"2588:475:130","nodes":[],"canonicalName":"StrategyStruct.InitializeParams","members":[{"constant":false,"id":77731,"mutability":"mutable","name":"registryCommunity","nameLocation":"2630:17:130","nodeType":"VariableDeclaration","scope":77751,"src":"2622:25:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":77730,"name":"address","nodeType":"ElementaryTypeName","src":"2622:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":77733,"mutability":"mutable","name":"decay","nameLocation":"2694:5:130","nodeType":"VariableDeclaration","scope":77751,"src":"2686:13:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77732,"name":"uint256","nodeType":"ElementaryTypeName","src":"2686:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":77735,"mutability":"mutable","name":"maxRatio","nameLocation":"2764:8:130","nodeType":"VariableDeclaration","scope":77751,"src":"2756:16:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77734,"name":"uint256","nodeType":"ElementaryTypeName","src":"2756:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":77737,"mutability":"mutable","name":"weight","nameLocation":"2818:6:130","nodeType":"VariableDeclaration","scope":77751,"src":"2810:14:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77736,"name":"uint256","nodeType":"ElementaryTypeName","src":"2810:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":77739,"mutability":"mutable","name":"minThresholdPoints","nameLocation":"2842:18:130","nodeType":"VariableDeclaration","scope":77751,"src":"2834:26:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77738,"name":"uint256","nodeType":"ElementaryTypeName","src":"2834:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":77742,"mutability":"mutable","name":"proposalType","nameLocation":"2908:12:130","nodeType":"VariableDeclaration","scope":77751,"src":"2895:25:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$77671","typeString":"enum StrategyStruct.ProposalType"},"typeName":{"id":77741,"nodeType":"UserDefinedTypeName","pathNode":{"id":77740,"name":"ProposalType","nameLocations":["2895:12:130"],"nodeType":"IdentifierPath","referencedDeclaration":77671,"src":"2895:12:130"},"referencedDeclaration":77671,"src":"2895:12:130","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$77671","typeString":"enum StrategyStruct.ProposalType"}},"visibility":"internal"},{"constant":false,"id":77745,"mutability":"mutable","name":"pointSystem","nameLocation":"2977:11:130","nodeType":"VariableDeclaration","scope":77751,"src":"2965:23:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$77676","typeString":"enum StrategyStruct.PointSystem"},"typeName":{"id":77744,"nodeType":"UserDefinedTypeName","pathNode":{"id":77743,"name":"PointSystem","nameLocations":["2965:11:130"],"nodeType":"IdentifierPath","referencedDeclaration":77676,"src":"2965:11:130"},"referencedDeclaration":77676,"src":"2965:11:130","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$77676","typeString":"enum StrategyStruct.PointSystem"}},"visibility":"internal"},{"constant":false,"id":77748,"mutability":"mutable","name":"pointConfig","nameLocation":"3016:11:130","nodeType":"VariableDeclaration","scope":77751,"src":"2998:29:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$77729_storage_ptr","typeString":"struct StrategyStruct.PointSystemConfig"},"typeName":{"id":77747,"nodeType":"UserDefinedTypeName","pathNode":{"id":77746,"name":"PointSystemConfig","nameLocations":["2998:17:130"],"nodeType":"IdentifierPath","referencedDeclaration":77729,"src":"2998:17:130"},"referencedDeclaration":77729,"src":"2998:17:130","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$77729_storage_ptr","typeString":"struct StrategyStruct.PointSystemConfig"}},"visibility":"internal"},{"constant":false,"id":77750,"mutability":"mutable","name":"sybilScorer","nameLocation":"3045:11:130","nodeType":"VariableDeclaration","scope":77751,"src":"3037:19:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":77749,"name":"address","nodeType":"ElementaryTypeName","src":"3037:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"name":"InitializeParams","nameLocation":"2595:16:130","scope":77752,"visibility":"public"}],"abstract":false,"baseContracts":[],"canonicalName":"StrategyStruct","contractDependencies":[],"contractKind":"library","fullyImplemented":true,"linearizedBaseContracts":[77752],"name":"StrategyStruct","nameLocation":"1202:14:130","scope":80579,"usedErrors":[]},{"id":80578,"nodeType":"ContractDefinition","src":"3067:38512:130","nodes":[{"id":77763,"nodeType":"UsingForDirective","src":"3168:23:130","nodes":[],"global":false,"libraryName":{"id":77761,"name":"Math","nameLocations":["3174:4:130"],"nodeType":"IdentifierPath","referencedDeclaration":59338,"src":"3174:4:130"},"typeName":{"id":77762,"name":"uint256","nodeType":"ElementaryTypeName","src":"3183:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},{"id":77765,"nodeType":"ErrorDefinition","src":"3362:25:130","nodes":[],"errorSelector":"d1f28288","name":"UserCannotBeZero","nameLocation":"3368:16:130","parameters":{"id":77764,"nodeType":"ParameterList","parameters":[],"src":"3384:2:130"}},{"id":77767,"nodeType":"ErrorDefinition","src":"3406:26:130","nodes":[],"errorSelector":"6a5cfb6d","name":"UserNotInRegistry","nameLocation":"3412:17:130","parameters":{"id":77766,"nodeType":"ParameterList","parameters":[],"src":"3429:2:130"}},{"id":77769,"nodeType":"ErrorDefinition","src":"3450:23:130","nodes":[],"errorSelector":"5fccb67f","name":"UserIsInactive","nameLocation":"3456:14:130","parameters":{"id":77768,"nodeType":"ParameterList","parameters":[],"src":"3470:2:130"}},{"id":77771,"nodeType":"ErrorDefinition","src":"3492:20:130","nodes":[],"errorSelector":"ed4421ad","name":"PoolIsEmpty","nameLocation":"3498:11:130","parameters":{"id":77770,"nodeType":"ParameterList","parameters":[],"src":"3509:2:130"}},{"id":77773,"nodeType":"ErrorDefinition","src":"3531:23:130","nodes":[],"errorSelector":"d6234725","name":"NotImplemented","nameLocation":"3537:14:130","parameters":{"id":77772,"nodeType":"ParameterList","parameters":[],"src":"3551:2:130"}},{"id":77775,"nodeType":"ErrorDefinition","src":"3572:26:130","nodes":[],"errorSelector":"596a094c","name":"TokenCannotBeZero","nameLocation":"3578:17:130","parameters":{"id":77774,"nodeType":"ParameterList","parameters":[],"src":"3595:2:130"}},{"id":77777,"nodeType":"ErrorDefinition","src":"3616:24:130","nodes":[],"errorSelector":"a29c4986","name":"TokenNotAllowed","nameLocation":"3622:15:130","parameters":{"id":77776,"nodeType":"ParameterList","parameters":[],"src":"3637:2:130"}},{"id":77779,"nodeType":"ErrorDefinition","src":"3659:27:130","nodes":[],"errorSelector":"3bf5ca14","name":"AmountOverMaxRatio","nameLocation":"3665:18:130","parameters":{"id":77778,"nodeType":"ParameterList","parameters":[],"src":"3683:2:130"}},{"id":77781,"nodeType":"ErrorDefinition","src":"3705:27:130","nodes":[],"errorSelector":"4e791786","name":"PoolIdCannotBeZero","nameLocation":"3711:18:130","parameters":{"id":77780,"nodeType":"ParameterList","parameters":[],"src":"3729:2:130"}},{"id":77783,"nodeType":"ErrorDefinition","src":"3750:28:130","nodes":[],"errorSelector":"e622e040","name":"AddressCannotBeZero","nameLocation":"3756:19:130","parameters":{"id":77782,"nodeType":"ParameterList","parameters":[],"src":"3775:2:130"}},{"id":77785,"nodeType":"ErrorDefinition","src":"3796:29:130","nodes":[],"errorSelector":"5df4b1ef","name":"RegistryCannotBeZero","nameLocation":"3802:20:130","parameters":{"id":77784,"nodeType":"ParameterList","parameters":[],"src":"3822:2:130"}},{"id":77793,"nodeType":"ErrorDefinition","src":"3844:72:130","nodes":[],"errorSelector":"3bbc7142","name":"SupportUnderflow","nameLocation":"3850:16:130","parameters":{"id":77792,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77787,"mutability":"mutable","name":"_support","nameLocation":"3875:8:130","nodeType":"VariableDeclaration","scope":77793,"src":"3867:16:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77786,"name":"uint256","nodeType":"ElementaryTypeName","src":"3867:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":77789,"mutability":"mutable","name":"_delta","nameLocation":"3892:6:130","nodeType":"VariableDeclaration","scope":77793,"src":"3885:13:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":77788,"name":"int256","nodeType":"ElementaryTypeName","src":"3885:6:130","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":77791,"mutability":"mutable","name":"_result","nameLocation":"3907:7:130","nodeType":"VariableDeclaration","scope":77793,"src":"3900:14:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":77790,"name":"int256","nodeType":"ElementaryTypeName","src":"3900:6:130","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"3866:49:130"}},{"id":77795,"nodeType":"ErrorDefinition","src":"3935:25:130","nodes":[],"errorSelector":"8402b474","name":"MaxPointsReached","nameLocation":"3941:16:130","parameters":{"id":77794,"nodeType":"ParameterList","parameters":[],"src":"3957:2:130"}},{"id":77797,"nodeType":"ErrorDefinition","src":"3979:32:130","nodes":[],"errorSelector":"573c3e93","name":"CantIncreaseFixedSystem","nameLocation":"3985:23:130","parameters":{"id":77796,"nodeType":"ParameterList","parameters":[],"src":"4008:2:130"}},{"id":77803,"nodeType":"ErrorDefinition","src":"4030:77:130","nodes":[],"errorSelector":"d64182fe","name":"NotEnoughPointsToSupport","nameLocation":"4036:24:130","parameters":{"id":77802,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77799,"mutability":"mutable","name":"pointsSupport","nameLocation":"4069:13:130","nodeType":"VariableDeclaration","scope":77803,"src":"4061:21:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77798,"name":"uint256","nodeType":"ElementaryTypeName","src":"4061:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":77801,"mutability":"mutable","name":"pointsBalance","nameLocation":"4092:13:130","nodeType":"VariableDeclaration","scope":77803,"src":"4084:21:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77800,"name":"uint256","nodeType":"ElementaryTypeName","src":"4084:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4060:46:130"}},{"id":77805,"nodeType":"ErrorDefinition","src":"4127:28:130","nodes":[],"errorSelector":"c5f7c4c0","name":"ProposalDataIsEmpty","nameLocation":"4133:19:130","parameters":{"id":77804,"nodeType":"ParameterList","parameters":[],"src":"4152:2:130"}},{"id":77807,"nodeType":"ErrorDefinition","src":"4173:31:130","nodes":[],"errorSelector":"f881a10d","name":"ProposalIdCannotBeZero","nameLocation":"4179:22:130","parameters":{"id":77806,"nodeType":"ParameterList","parameters":[],"src":"4201:2:130"}},{"id":77811,"nodeType":"ErrorDefinition","src":"4222:45:130","nodes":[],"errorSelector":"44980d8f","name":"ProposalNotActive","nameLocation":"4228:17:130","parameters":{"id":77810,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77809,"mutability":"mutable","name":"_proposalId","nameLocation":"4254:11:130","nodeType":"VariableDeclaration","scope":77811,"src":"4246:19:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77808,"name":"uint256","nodeType":"ElementaryTypeName","src":"4246:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4245:21:130"}},{"id":77815,"nodeType":"ErrorDefinition","src":"4286:45:130","nodes":[],"errorSelector":"c1d17bef","name":"ProposalNotInList","nameLocation":"4292:17:130","parameters":{"id":77814,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77813,"mutability":"mutable","name":"_proposalId","nameLocation":"4318:11:130","nodeType":"VariableDeclaration","scope":77815,"src":"4310:19:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77812,"name":"uint256","nodeType":"ElementaryTypeName","src":"4310:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4309:21:130"}},{"id":77821,"nodeType":"ErrorDefinition","src":"4350:68:130","nodes":[],"errorSelector":"adebb154","name":"ProposalSupportDuplicated","nameLocation":"4356:25:130","parameters":{"id":77820,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77817,"mutability":"mutable","name":"_proposalId","nameLocation":"4390:11:130","nodeType":"VariableDeclaration","scope":77821,"src":"4382:19:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77816,"name":"uint256","nodeType":"ElementaryTypeName","src":"4382:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":77819,"mutability":"mutable","name":"index","nameLocation":"4411:5:130","nodeType":"VariableDeclaration","scope":77821,"src":"4403:13:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77818,"name":"uint256","nodeType":"ElementaryTypeName","src":"4403:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4381:36:130"}},{"id":77823,"nodeType":"ErrorDefinition","src":"4436:40:130","nodes":[],"errorSelector":"cce79308","name":"ConvictionUnderMinimumThreshold","nameLocation":"4442:31:130","parameters":{"id":77822,"nodeType":"ParameterList","parameters":[],"src":"4473:2:130"}},{"id":77825,"nodeType":"ErrorDefinition","src":"4495:29:130","nodes":[],"errorSelector":"af0916a2","name":"OnlyCommunityAllowed","nameLocation":"4501:20:130","parameters":{"id":77824,"nodeType":"ParameterList","parameters":[],"src":"4521:2:130"}},{"id":77833,"nodeType":"ErrorDefinition","src":"4543:94:130","nodes":[],"errorSelector":"5863b0b6","name":"PoolAmountNotEnough","nameLocation":"4549:19:130","parameters":{"id":77832,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77827,"mutability":"mutable","name":"_proposalId","nameLocation":"4577:11:130","nodeType":"VariableDeclaration","scope":77833,"src":"4569:19:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77826,"name":"uint256","nodeType":"ElementaryTypeName","src":"4569:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":77829,"mutability":"mutable","name":"_requestedAmount","nameLocation":"4598:16:130","nodeType":"VariableDeclaration","scope":77833,"src":"4590:24:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77828,"name":"uint256","nodeType":"ElementaryTypeName","src":"4590:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":77831,"mutability":"mutable","name":"_poolAmount","nameLocation":"4624:11:130","nodeType":"VariableDeclaration","scope":77833,"src":"4616:19:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77830,"name":"uint256","nodeType":"ElementaryTypeName","src":"4616:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4568:68:130"}},{"id":77835,"nodeType":"ErrorDefinition","src":"4655:24:130","nodes":[],"errorSelector":"e860ec7e","name":"OnlyCouncilSafe","nameLocation":"4661:15:130","parameters":{"id":77834,"nodeType":"ParameterList","parameters":[],"src":"4676:2:130"}},{"id":77837,"nodeType":"ErrorDefinition","src":"4684:32:130","nodes":[],"errorSelector":"5b96b588","name":"UserCannotExecuteAction","nameLocation":"4690:23:130","parameters":{"id":77836,"nodeType":"ParameterList","parameters":[],"src":"4713:2:130"}},{"id":77844,"nodeType":"EventDefinition","src":"4888:74:130","nodes":[],"anonymous":false,"eventSelector":"4ebdec05fb64815e553aeaf3976ef8112dd79760a459bee3ac7d1659ab2c4e04","name":"InitializedCV","nameLocation":"4894:13:130","parameters":{"id":77843,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77839,"indexed":false,"mutability":"mutable","name":"poolId","nameLocation":"4916:6:130","nodeType":"VariableDeclaration","scope":77844,"src":"4908:14:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77838,"name":"uint256","nodeType":"ElementaryTypeName","src":"4908:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":77842,"indexed":false,"mutability":"mutable","name":"data","nameLocation":"4956:4:130","nodeType":"VariableDeclaration","scope":77844,"src":"4924:36:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$77751_memory_ptr","typeString":"struct StrategyStruct.InitializeParams"},"typeName":{"id":77841,"nodeType":"UserDefinedTypeName","pathNode":{"id":77840,"name":"StrategyStruct.InitializeParams","nameLocations":["4924:14:130","4939:16:130"],"nodeType":"IdentifierPath","referencedDeclaration":77751,"src":"4924:31:130"},"referencedDeclaration":77751,"src":"4924:31:130","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$77751_storage_ptr","typeString":"struct StrategyStruct.InitializeParams"}},"visibility":"internal"}],"src":"4907:54:130"}},{"id":77852,"nodeType":"EventDefinition","src":"4967:75:130","nodes":[],"anonymous":false,"eventSelector":"a7932e9c92f31e1ed56b29d00bbe669a97484dc24de28dd9c8c0429df7f35847","name":"Distributed","nameLocation":"4973:11:130","parameters":{"id":77851,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77846,"indexed":false,"mutability":"mutable","name":"proposalId","nameLocation":"4993:10:130","nodeType":"VariableDeclaration","scope":77852,"src":"4985:18:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77845,"name":"uint256","nodeType":"ElementaryTypeName","src":"4985:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":77848,"indexed":false,"mutability":"mutable","name":"beneficiary","nameLocation":"5013:11:130","nodeType":"VariableDeclaration","scope":77852,"src":"5005:19:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":77847,"name":"address","nodeType":"ElementaryTypeName","src":"5005:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":77850,"indexed":false,"mutability":"mutable","name":"amount","nameLocation":"5034:6:130","nodeType":"VariableDeclaration","scope":77852,"src":"5026:14:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77849,"name":"uint256","nodeType":"ElementaryTypeName","src":"5026:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4984:57:130"}},{"id":77858,"nodeType":"EventDefinition","src":"5047:58:130","nodes":[],"anonymous":false,"eventSelector":"fcf3b1aa65a464cef2889608f99e8b8c0f680a4be6c2acb9d961c536a5a9294b","name":"ProposalCreated","nameLocation":"5053:15:130","parameters":{"id":77857,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77854,"indexed":false,"mutability":"mutable","name":"poolId","nameLocation":"5077:6:130","nodeType":"VariableDeclaration","scope":77858,"src":"5069:14:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77853,"name":"uint256","nodeType":"ElementaryTypeName","src":"5069:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":77856,"indexed":false,"mutability":"mutable","name":"proposalId","nameLocation":"5093:10:130","nodeType":"VariableDeclaration","scope":77858,"src":"5085:18:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77855,"name":"uint256","nodeType":"ElementaryTypeName","src":"5085:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5068:36:130"}},{"id":77862,"nodeType":"EventDefinition","src":"5110:42:130","nodes":[],"anonymous":false,"eventSelector":"46aeb5d8770fc4474bc2dfa118fd2595f7fb33ce2cbce6f4e5a3dabfe0f76339","name":"PoolAmountIncreased","nameLocation":"5116:19:130","parameters":{"id":77861,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77860,"indexed":false,"mutability":"mutable","name":"amount","nameLocation":"5144:6:130","nodeType":"VariableDeclaration","scope":77862,"src":"5136:14:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77859,"name":"uint256","nodeType":"ElementaryTypeName","src":"5136:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5135:16:130"}},{"id":77870,"nodeType":"EventDefinition","src":"5157:85:130","nodes":[],"anonymous":false,"eventSelector":"0b9150e1e54346ed3fa36b977cd5d65dca5a649c737c3174a26bddaadd47667a","name":"PowerIncreased","nameLocation":"5163:14:130","parameters":{"id":77869,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77864,"indexed":false,"mutability":"mutable","name":"member","nameLocation":"5186:6:130","nodeType":"VariableDeclaration","scope":77870,"src":"5178:14:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":77863,"name":"address","nodeType":"ElementaryTypeName","src":"5178:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":77866,"indexed":false,"mutability":"mutable","name":"tokensStaked","nameLocation":"5202:12:130","nodeType":"VariableDeclaration","scope":77870,"src":"5194:20:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77865,"name":"uint256","nodeType":"ElementaryTypeName","src":"5194:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":77868,"indexed":false,"mutability":"mutable","name":"pointsToIncrease","nameLocation":"5224:16:130","nodeType":"VariableDeclaration","scope":77870,"src":"5216:24:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77867,"name":"uint256","nodeType":"ElementaryTypeName","src":"5216:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5177:64:130"}},{"id":77878,"nodeType":"EventDefinition","src":"5247:87:130","nodes":[],"anonymous":false,"eventSelector":"70b752f3fadb6ac131c0ece847fcbb6994ec56ed6411595710fd9b29c6ac6cc1","name":"PowerDecreased","nameLocation":"5253:14:130","parameters":{"id":77877,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77872,"indexed":false,"mutability":"mutable","name":"member","nameLocation":"5276:6:130","nodeType":"VariableDeclaration","scope":77878,"src":"5268:14:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":77871,"name":"address","nodeType":"ElementaryTypeName","src":"5268:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":77874,"indexed":false,"mutability":"mutable","name":"tokensUnStaked","nameLocation":"5292:14:130","nodeType":"VariableDeclaration","scope":77878,"src":"5284:22:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77873,"name":"uint256","nodeType":"ElementaryTypeName","src":"5284:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":77876,"indexed":false,"mutability":"mutable","name":"pointsToDecrease","nameLocation":"5316:16:130","nodeType":"VariableDeclaration","scope":77878,"src":"5308:24:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77875,"name":"uint256","nodeType":"ElementaryTypeName","src":"5308:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5267:66:130"}},{"id":77890,"nodeType":"EventDefinition","src":"5339:134:130","nodes":[],"anonymous":false,"eventSelector":"0227f642ddcf2042ceaeafadb9d540f432072c00cd4862881667168dcc14710f","name":"SupportAdded","nameLocation":"5345:12:130","parameters":{"id":77889,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77880,"indexed":false,"mutability":"mutable","name":"from","nameLocation":"5375:4:130","nodeType":"VariableDeclaration","scope":77890,"src":"5367:12:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":77879,"name":"address","nodeType":"ElementaryTypeName","src":"5367:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":77882,"indexed":false,"mutability":"mutable","name":"proposalId","nameLocation":"5389:10:130","nodeType":"VariableDeclaration","scope":77890,"src":"5381:18:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77881,"name":"uint256","nodeType":"ElementaryTypeName","src":"5381:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":77884,"indexed":false,"mutability":"mutable","name":"amount","nameLocation":"5409:6:130","nodeType":"VariableDeclaration","scope":77890,"src":"5401:14:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77883,"name":"uint256","nodeType":"ElementaryTypeName","src":"5401:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":77886,"indexed":false,"mutability":"mutable","name":"totalStakedAmount","nameLocation":"5425:17:130","nodeType":"VariableDeclaration","scope":77890,"src":"5417:25:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77885,"name":"uint256","nodeType":"ElementaryTypeName","src":"5417:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":77888,"indexed":false,"mutability":"mutable","name":"convictionLast","nameLocation":"5452:14:130","nodeType":"VariableDeclaration","scope":77890,"src":"5444:22:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77887,"name":"uint256","nodeType":"ElementaryTypeName","src":"5444:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5357:115:130"}},{"id":77894,"nodeType":"EventDefinition","src":"5478:40:130","nodes":[],"anonymous":false,"eventSelector":"1468da654b37bb3631011c1917d02e0db437d519918858d40b38b5e980ca033b","name":"PointsDeactivated","nameLocation":"5484:17:130","parameters":{"id":77893,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77892,"indexed":false,"mutability":"mutable","name":"member","nameLocation":"5510:6:130","nodeType":"VariableDeclaration","scope":77894,"src":"5502:14:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":77891,"name":"address","nodeType":"ElementaryTypeName","src":"5502:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5501:16:130"}},{"id":77898,"nodeType":"EventDefinition","src":"5523:34:130","nodes":[],"anonymous":false,"eventSelector":"592dcd55d60d892e7fcb3ba105013312e99691cd59f91e15f83cb67cb5a505f2","name":"DecayUpdated","nameLocation":"5529:12:130","parameters":{"id":77897,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77896,"indexed":false,"mutability":"mutable","name":"decay","nameLocation":"5550:5:130","nodeType":"VariableDeclaration","scope":77898,"src":"5542:13:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77895,"name":"uint256","nodeType":"ElementaryTypeName","src":"5542:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5541:15:130"}},{"id":77902,"nodeType":"EventDefinition","src":"5562:40:130","nodes":[],"anonymous":false,"eventSelector":"08e39b387d1f739ce0d2553bb31822392e3f67c62c6c0a215120ab4a6841a8ab","name":"MaxRatioUpdated","nameLocation":"5568:15:130","parameters":{"id":77901,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77900,"indexed":false,"mutability":"mutable","name":"maxRatio","nameLocation":"5592:8:130","nodeType":"VariableDeclaration","scope":77902,"src":"5584:16:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77899,"name":"uint256","nodeType":"ElementaryTypeName","src":"5584:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5583:18:130"}},{"id":77906,"nodeType":"EventDefinition","src":"5607:36:130","nodes":[],"anonymous":false,"eventSelector":"30ee8206062f283e56a0af2b02138016bf7442ded26ad68a92a18a9dd246fb49","name":"WeightUpdated","nameLocation":"5613:13:130","parameters":{"id":77905,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77904,"indexed":false,"mutability":"mutable","name":"weight","nameLocation":"5635:6:130","nodeType":"VariableDeclaration","scope":77906,"src":"5627:14:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77903,"name":"uint256","nodeType":"ElementaryTypeName","src":"5627:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5626:16:130"}},{"id":77910,"nodeType":"EventDefinition","src":"5648:49:130","nodes":[],"anonymous":false,"eventSelector":"d6ceddf6d2a22f21c7c81675c518004eff43bc5c8a6fc32a0b748e69d58671cd","name":"RegistryUpdated","nameLocation":"5654:15:130","parameters":{"id":77909,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77908,"indexed":false,"mutability":"mutable","name":"registryCommunity","nameLocation":"5678:17:130","nodeType":"VariableDeclaration","scope":77910,"src":"5670:25:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":77907,"name":"address","nodeType":"ElementaryTypeName","src":"5670:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5669:27:130"}},{"id":77916,"nodeType":"EventDefinition","src":"5702:76:130","nodes":[],"anonymous":false,"eventSelector":"056aedca4e334b6c4bea48715fb0de644811b740894de57a0380d3eb90f2805b","name":"MinThresholdPointsUpdated","nameLocation":"5708:25:130","parameters":{"id":77915,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77912,"indexed":false,"mutability":"mutable","name":"before","nameLocation":"5742:6:130","nodeType":"VariableDeclaration","scope":77916,"src":"5734:14:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77911,"name":"uint256","nodeType":"ElementaryTypeName","src":"5734:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":77914,"indexed":false,"mutability":"mutable","name":"minThresholdPoints","nameLocation":"5758:18:130","nodeType":"VariableDeclaration","scope":77916,"src":"5750:26:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77913,"name":"uint256","nodeType":"ElementaryTypeName","src":"5750:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5733:44:130"}},{"id":77919,"nodeType":"VariableDeclaration","src":"6152:36:130","nodes":[],"constant":true,"functionSelector":"0f529ba2","mutability":"constant","name":"D","nameLocation":"6176:1:130","scope":80578,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77917,"name":"uint256","nodeType":"ElementaryTypeName","src":"6152:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3130303030303030","id":77918,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6180:8:130","typeDescriptions":{"typeIdentifier":"t_rational_10000000_by_1","typeString":"int_const 10000000"},"value":"10000000"},"visibility":"public"},{"id":77922,"nodeType":"VariableDeclaration","src":"6202:70:130","nodes":[],"constant":true,"mutability":"constant","name":"TWO_128","nameLocation":"6227:7:130","scope":80578,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77920,"name":"uint256","nodeType":"ElementaryTypeName","src":"6202:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3078313030303030303030303030303030303030303030303030303030303030303030","id":77921,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6237:35:130","typeDescriptions":{"typeIdentifier":"t_rational_340282366920938463463374607431768211456_by_1","typeString":"int_const 3402...(31 digits omitted)...1456"},"value":"0x100000000000000000000000000000000"},"visibility":"private"},{"id":77925,"nodeType":"VariableDeclaration","src":"6288:69:130","nodes":[],"constant":true,"mutability":"constant","name":"TWO_127","nameLocation":"6313:7:130","scope":80578,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77923,"name":"uint256","nodeType":"ElementaryTypeName","src":"6288:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"30783830303030303030303030303030303030303030303030303030303030303030","id":77924,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6323:34:130","typeDescriptions":{"typeIdentifier":"t_rational_170141183460469231731687303715884105728_by_1","typeString":"int_const 1701...(31 digits omitted)...5728"},"value":"0x80000000000000000000000000000000"},"visibility":"private"},{"id":77928,"nodeType":"VariableDeclaration","src":"6373:53:130","nodes":[],"constant":true,"mutability":"constant","name":"TWO_64","nameLocation":"6398:6:130","scope":80578,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77926,"name":"uint256","nodeType":"ElementaryTypeName","src":"6373:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"30783130303030303030303030303030303030","id":77927,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6407:19:130","typeDescriptions":{"typeIdentifier":"t_rational_18446744073709551616_by_1","typeString":"int_const 18446744073709551616"},"value":"0x10000000000000000"},"visibility":"private"},{"id":77931,"nodeType":"VariableDeclaration","src":"6441:49:130","nodes":[],"constant":true,"functionSelector":"406244d8","mutability":"constant","name":"MAX_STAKED_PROPOSALS","nameLocation":"6465:20:130","scope":80578,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77929,"name":"uint256","nodeType":"ElementaryTypeName","src":"6441:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3130","id":77930,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6488:2:130","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"visibility":"public"},{"id":77933,"nodeType":"VariableDeclaration","src":"6618:20:130","nodes":[],"constant":false,"functionSelector":"54fac919","mutability":"mutable","name":"decay","nameLocation":"6633:5:130","scope":80578,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77932,"name":"uint256","nodeType":"ElementaryTypeName","src":"6618:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"id":77935,"nodeType":"VariableDeclaration","src":"6644:23:130","nodes":[],"constant":false,"functionSelector":"76365af7","mutability":"mutable","name":"maxRatio","nameLocation":"6659:8:130","scope":80578,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77934,"name":"uint256","nodeType":"ElementaryTypeName","src":"6644:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"id":77937,"nodeType":"VariableDeclaration","src":"6673:21:130","nodes":[],"constant":false,"functionSelector":"a1aab33f","mutability":"mutable","name":"weight","nameLocation":"6688:6:130","scope":80578,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77936,"name":"uint256","nodeType":"ElementaryTypeName","src":"6673:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"id":77940,"nodeType":"VariableDeclaration","src":"6700:34:130","nodes":[],"constant":false,"functionSelector":"0c0512e9","mutability":"mutable","name":"proposalCounter","nameLocation":"6715:15:130","scope":80578,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77938,"name":"uint256","nodeType":"ElementaryTypeName","src":"6700:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"30","id":77939,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6733:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"visibility":"public"},{"id":77942,"nodeType":"VariableDeclaration","src":"6740:26:130","nodes":[],"constant":false,"functionSelector":"817b1cd2","mutability":"mutable","name":"totalStaked","nameLocation":"6755:11:130","scope":80578,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77941,"name":"uint256","nodeType":"ElementaryTypeName","src":"6740:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"id":77944,"nodeType":"VariableDeclaration","src":"6772:35:130","nodes":[],"constant":false,"functionSelector":"aba9ffee","mutability":"mutable","name":"totalPointsActivated","nameLocation":"6787:20:130","scope":80578,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77943,"name":"uint256","nodeType":"ElementaryTypeName","src":"6772:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"id":77947,"nodeType":"VariableDeclaration","src":"6813:38:130","nodes":[],"constant":false,"functionSelector":"7c6570ba","mutability":"mutable","name":"_minThresholdPoints","nameLocation":"6828:19:130","scope":80578,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77945,"name":"uint256","nodeType":"ElementaryTypeName","src":"6813:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"30","id":77946,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6850:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"visibility":"public"},{"id":77949,"nodeType":"VariableDeclaration","src":"6892:47:130","nodes":[],"constant":false,"mutability":"mutable","name":"surpressStateMutabilityWarning","nameLocation":"6909:30:130","scope":80578,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77948,"name":"uint256","nodeType":"ElementaryTypeName","src":"6892:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"id":77952,"nodeType":"VariableDeclaration","src":"7024:47:130","nodes":[],"constant":false,"functionSelector":"351d9f96","mutability":"mutable","name":"proposalType","nameLocation":"7059:12:130","scope":80578,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$77671","typeString":"enum StrategyStruct.ProposalType"},"typeName":{"id":77951,"nodeType":"UserDefinedTypeName","pathNode":{"id":77950,"name":"StrategyStruct.ProposalType","nameLocations":["7024:14:130","7039:12:130"],"nodeType":"IdentifierPath","referencedDeclaration":77671,"src":"7024:27:130"},"referencedDeclaration":77671,"src":"7024:27:130","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$77671","typeString":"enum StrategyStruct.ProposalType"}},"visibility":"public"},{"id":77955,"nodeType":"VariableDeclaration","src":"7130:45:130","nodes":[],"constant":false,"functionSelector":"2dbd6fdd","mutability":"mutable","name":"pointSystem","nameLocation":"7164:11:130","scope":80578,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$77676","typeString":"enum StrategyStruct.PointSystem"},"typeName":{"id":77954,"nodeType":"UserDefinedTypeName","pathNode":{"id":77953,"name":"StrategyStruct.PointSystem","nameLocations":["7130:14:130","7145:11:130"],"nodeType":"IdentifierPath","referencedDeclaration":77676,"src":"7130:26:130"},"referencedDeclaration":77676,"src":"7130:26:130","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$77676","typeString":"enum StrategyStruct.PointSystem"}},"visibility":"public"},{"id":77958,"nodeType":"VariableDeclaration","src":"7181:51:130","nodes":[],"constant":false,"functionSelector":"a47ff7e5","mutability":"mutable","name":"pointConfig","nameLocation":"7221:11:130","scope":80578,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$77729_storage","typeString":"struct StrategyStruct.PointSystemConfig"},"typeName":{"id":77957,"nodeType":"UserDefinedTypeName","pathNode":{"id":77956,"name":"StrategyStruct.PointSystemConfig","nameLocations":["7181:14:130","7196:17:130"],"nodeType":"IdentifierPath","referencedDeclaration":77729,"src":"7181:32:130"},"referencedDeclaration":77729,"src":"7181:32:130","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$77729_storage_ptr","typeString":"struct StrategyStruct.PointSystemConfig"}},"visibility":"public"},{"id":77961,"nodeType":"VariableDeclaration","src":"7265:46:130","nodes":[],"constant":false,"functionSelector":"6003e414","mutability":"mutable","name":"registryCommunity","nameLocation":"7294:17:130","scope":80578,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"},"typeName":{"id":77960,"nodeType":"UserDefinedTypeName","pathNode":{"id":77959,"name":"RegistryCommunityV0_0","nameLocations":["7265:21:130"],"nodeType":"IdentifierPath","referencedDeclaration":85047,"src":"7265:21:130"},"referencedDeclaration":85047,"src":"7265:21:130","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"}},"visibility":"public"},{"id":77964,"nodeType":"VariableDeclaration","src":"7317:31:130","nodes":[],"constant":false,"functionSelector":"b6c61f31","mutability":"mutable","name":"sybilScorer","nameLocation":"7337:11:130","scope":80578,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$80667","typeString":"contract ISybilScorer"},"typeName":{"id":77963,"nodeType":"UserDefinedTypeName","pathNode":{"id":77962,"name":"ISybilScorer","nameLocations":["7317:12:130"],"nodeType":"IdentifierPath","referencedDeclaration":80667,"src":"7317:12:130"},"referencedDeclaration":80667,"src":"7317:12:130","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$80667","typeString":"contract ISybilScorer"}},"visibility":"public"},{"id":77969,"nodeType":"VariableDeclaration","src":"7415:60:130","nodes":[],"constant":false,"functionSelector":"013cf08b","mutability":"mutable","name":"proposals","nameLocation":"7466:9:130","scope":80578,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$77721_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal)"},"typeName":{"id":77968,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":77965,"name":"uint256","nodeType":"ElementaryTypeName","src":"7423:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"7415:43:130","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$77721_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":77967,"nodeType":"UserDefinedTypeName","pathNode":{"id":77966,"name":"StrategyStruct.Proposal","nameLocations":["7434:14:130","7449:8:130"],"nodeType":"IdentifierPath","referencedDeclaration":77721,"src":"7434:23:130"},"referencedDeclaration":77721,"src":"7434:23:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal"}}},"visibility":"public"},{"id":77973,"nodeType":"VariableDeclaration","src":"7531:53:130","nodes":[],"constant":false,"functionSelector":"5db64b99","mutability":"mutable","name":"totalVoterStakePct","nameLocation":"7566:18:130","scope":80578,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"typeName":{"id":77972,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":77970,"name":"address","nodeType":"ElementaryTypeName","src":"7539:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"7531:27:130","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":77971,"name":"uint256","nodeType":"ElementaryTypeName","src":"7550:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"public"},{"id":77978,"nodeType":"VariableDeclaration","src":"7622:57:130","nodes":[],"constant":false,"functionSelector":"868c57b8","mutability":"mutable","name":"voterStakedProposals","nameLocation":"7659:20:130","scope":80578,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$","typeString":"mapping(address => uint256[])"},"typeName":{"id":77977,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":77974,"name":"address","nodeType":"ElementaryTypeName","src":"7630:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"7622:29:130","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$","typeString":"mapping(address => uint256[])"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"baseType":{"id":77975,"name":"uint256","nodeType":"ElementaryTypeName","src":"7641:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":77976,"nodeType":"ArrayTypeName","src":"7641:9:130","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}}},"visibility":"public"},{"id":77997,"nodeType":"ModifierDefinition","src":"7718:184:130","nodes":[],"body":{"id":77996,"nodeType":"Block","src":"7745:157:130","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":77988,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":77980,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"7759:3:130","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":77981,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7763:6:130","memberName":"sender","nodeType":"MemberAccess","src":"7759:10:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":77984,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77961,"src":"7781:17:130","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"}},"id":77985,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7799:11:130","memberName":"councilSafe","nodeType":"MemberAccess","referencedDeclaration":83193,"src":"7781:29:130","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_contract$_ISafe_$85665_$","typeString":"function () view external returns (contract ISafe)"}},"id":77986,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7781:31:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ISafe_$85665","typeString":"contract ISafe"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ISafe_$85665","typeString":"contract ISafe"}],"id":77983,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7773:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":77982,"name":"address","nodeType":"ElementaryTypeName","src":"7773:7:130","typeDescriptions":{}}},"id":77987,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7773:40:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"7759:54:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":77994,"nodeType":"Block","src":"7847:49:130","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":77991,"name":"OnlyCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77835,"src":"7868:15:130","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":77992,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7868:17:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":77993,"nodeType":"RevertStatement","src":"7861:24:130"}]},"id":77995,"nodeType":"IfStatement","src":"7755:141:130","trueBody":{"id":77990,"nodeType":"Block","src":"7815:26:130","statements":[{"id":77989,"nodeType":"PlaceholderStatement","src":"7829:1:130"}]}}]},"name":"onlyCouncilSafe","nameLocation":"7727:15:130","parameters":{"id":77979,"nodeType":"ParameterList","parameters":[],"src":"7742:2:130"},"virtual":false,"visibility":"internal"},{"id":78015,"nodeType":"FunctionDefinition","src":"8154:132:130","nodes":[],"body":{"id":78014,"nodeType":"Block","src":"8212:74:130","nodes":[],"statements":[{"expression":{"arguments":[{"id":78007,"name":"_allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77999,"src":"8233:5:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"43565374726174656779","id":78008,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8240:12:130","typeDescriptions":{"typeIdentifier":"t_stringliteral_5f43243e98d2b877d41079bf899c9372a6b91af5be3180830de9d43f93117b2e","typeString":"literal_string \"CVStrategy\""},"value":"CVStrategy"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_stringliteral_5f43243e98d2b877d41079bf899c9372a6b91af5be3180830de9d43f93117b2e","typeString":"literal_string \"CVStrategy\""}],"expression":{"id":78004,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"8222:5:130","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_CVStrategyV0_0_$80578_$","typeString":"type(contract super CVStrategyV0_0)"}},"id":78006,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8228:4:130","memberName":"init","nodeType":"MemberAccess","referencedDeclaration":74116,"src":"8222:10:130","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_string_memory_ptr_$returns$__$","typeString":"function (address,string memory)"}},"id":78009,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8222:31:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78010,"nodeType":"ExpressionStatement","src":"8222:31:130"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":78011,"name":"__Ownable_init","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52837,"src":"8263:14:130","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":78012,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8263:16:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78013,"nodeType":"ExpressionStatement","src":"8263:16:130"}]},"functionSelector":"19ab453c","implemented":true,"kind":"function","modifiers":[{"id":78002,"kind":"modifierInvocation","modifierName":{"id":78001,"name":"initializer","nameLocations":["8200:11:130"],"nodeType":"IdentifierPath","referencedDeclaration":53093,"src":"8200:11:130"},"nodeType":"ModifierInvocation","src":"8200:11:130"}],"name":"init","nameLocation":"8163:4:130","parameters":{"id":78000,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77999,"mutability":"mutable","name":"_allo","nameLocation":"8176:5:130","nodeType":"VariableDeclaration","scope":78015,"src":"8168:13:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":77998,"name":"address","nodeType":"ElementaryTypeName","src":"8168:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"8167:15:130"},"returnParameters":{"id":78003,"nodeType":"ParameterList","parameters":[],"src":"8212:0:130"},"scope":80578,"stateMutability":"nonpayable","virtual":true,"visibility":"external"},{"id":78108,"nodeType":"FunctionDefinition","src":"8292:761:130","nodes":[],"body":{"id":78107,"nodeType":"Block","src":"8375:678:130","nodes":[],"statements":[{"expression":{"arguments":[{"id":78025,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78017,"src":"8405:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":78024,"name":"__BaseStrategy_init","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74252,"src":"8385:19:130","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":78026,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8385:28:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78027,"nodeType":"ExpressionStatement","src":"8385:28:130"},{"assignments":[78032],"declarations":[{"constant":false,"id":78032,"mutability":"mutable","name":"ip","nameLocation":"8462:2:130","nodeType":"VariableDeclaration","scope":78107,"src":"8423:41:130","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$77751_memory_ptr","typeString":"struct StrategyStruct.InitializeParams"},"typeName":{"id":78031,"nodeType":"UserDefinedTypeName","pathNode":{"id":78030,"name":"StrategyStruct.InitializeParams","nameLocations":["8423:14:130","8438:16:130"],"nodeType":"IdentifierPath","referencedDeclaration":77751,"src":"8423:31:130"},"referencedDeclaration":77751,"src":"8423:31:130","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$77751_storage_ptr","typeString":"struct StrategyStruct.InitializeParams"}},"visibility":"internal"}],"id":78040,"initialValue":{"arguments":[{"id":78035,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78019,"src":"8478:5:130","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"expression":{"id":78036,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77752,"src":"8486:14:130","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$77752_$","typeString":"type(library StrategyStruct)"}},"id":78037,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8501:16:130","memberName":"InitializeParams","nodeType":"MemberAccess","referencedDeclaration":77751,"src":"8486:31:130","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_InitializeParams_$77751_storage_ptr_$","typeString":"type(struct StrategyStruct.InitializeParams storage pointer)"}}],"id":78038,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"8485:33:130","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_InitializeParams_$77751_storage_ptr_$","typeString":"type(struct StrategyStruct.InitializeParams storage pointer)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_struct$_InitializeParams_$77751_storage_ptr_$","typeString":"type(struct StrategyStruct.InitializeParams storage pointer)"}],"expression":{"id":78033,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"8467:3:130","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":78034,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8471:6:130","memberName":"decode","nodeType":"MemberAccess","src":"8467:10:130","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":78039,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8467:52:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$77751_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"nodeType":"VariableDeclarationStatement","src":"8423:96:130"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":78047,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":78041,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78032,"src":"8534:2:130","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$77751_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":78042,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8537:17:130","memberName":"registryCommunity","nodeType":"MemberAccess","referencedDeclaration":77731,"src":"8534:20:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":78045,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8566:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":78044,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8558:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":78043,"name":"address","nodeType":"ElementaryTypeName","src":"8558:7:130","typeDescriptions":{}}},"id":78046,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8558:10:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"8534:34:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":78052,"nodeType":"IfStatement","src":"8530:94:130","trueBody":{"id":78051,"nodeType":"Block","src":"8570:54:130","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":78048,"name":"RegistryCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77785,"src":"8591:20:130","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":78049,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8591:22:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78050,"nodeType":"RevertStatement","src":"8584:29:130"}]}},{"expression":{"id":78058,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":78053,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77961,"src":"8634:17:130","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":78055,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78032,"src":"8676:2:130","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$77751_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":78056,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8679:17:130","memberName":"registryCommunity","nodeType":"MemberAccess","referencedDeclaration":77731,"src":"8676:20:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":78054,"name":"RegistryCommunityV0_0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85047,"src":"8654:21:130","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_RegistryCommunityV0_0_$85047_$","typeString":"type(contract RegistryCommunityV0_0)"}},"id":78057,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8654:43:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"}},"src":"8634:63:130","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"}},"id":78059,"nodeType":"ExpressionStatement","src":"8634:63:130"},{"expression":{"id":78063,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":78060,"name":"decay","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77933,"src":"8707:5:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":78061,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78032,"src":"8715:2:130","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$77751_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":78062,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8718:5:130","memberName":"decay","nodeType":"MemberAccess","referencedDeclaration":77733,"src":"8715:8:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8707:16:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":78064,"nodeType":"ExpressionStatement","src":"8707:16:130"},{"expression":{"id":78068,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":78065,"name":"maxRatio","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77935,"src":"8733:8:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":78066,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78032,"src":"8744:2:130","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$77751_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":78067,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8747:8:130","memberName":"maxRatio","nodeType":"MemberAccess","referencedDeclaration":77735,"src":"8744:11:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8733:22:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":78069,"nodeType":"ExpressionStatement","src":"8733:22:130"},{"expression":{"id":78073,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":78070,"name":"weight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77937,"src":"8765:6:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":78071,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78032,"src":"8774:2:130","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$77751_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":78072,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8777:6:130","memberName":"weight","nodeType":"MemberAccess","referencedDeclaration":77737,"src":"8774:9:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8765:18:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":78074,"nodeType":"ExpressionStatement","src":"8765:18:130"},{"expression":{"id":78078,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":78075,"name":"proposalType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77952,"src":"8793:12:130","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$77671","typeString":"enum StrategyStruct.ProposalType"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":78076,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78032,"src":"8808:2:130","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$77751_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":78077,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8811:12:130","memberName":"proposalType","nodeType":"MemberAccess","referencedDeclaration":77742,"src":"8808:15:130","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$77671","typeString":"enum StrategyStruct.ProposalType"}},"src":"8793:30:130","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$77671","typeString":"enum StrategyStruct.ProposalType"}},"id":78079,"nodeType":"ExpressionStatement","src":"8793:30:130"},{"expression":{"id":78083,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":78080,"name":"pointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77955,"src":"8833:11:130","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$77676","typeString":"enum StrategyStruct.PointSystem"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":78081,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78032,"src":"8847:2:130","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$77751_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":78082,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8850:11:130","memberName":"pointSystem","nodeType":"MemberAccess","referencedDeclaration":77745,"src":"8847:14:130","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$77676","typeString":"enum StrategyStruct.PointSystem"}},"src":"8833:28:130","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$77676","typeString":"enum StrategyStruct.PointSystem"}},"id":78084,"nodeType":"ExpressionStatement","src":"8833:28:130"},{"expression":{"id":78088,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":78085,"name":"pointConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77958,"src":"8871:11:130","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$77729_storage","typeString":"struct StrategyStruct.PointSystemConfig storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":78086,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78032,"src":"8885:2:130","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$77751_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":78087,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8888:11:130","memberName":"pointConfig","nodeType":"MemberAccess","referencedDeclaration":77748,"src":"8885:14:130","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$77729_memory_ptr","typeString":"struct StrategyStruct.PointSystemConfig memory"}},"src":"8871:28:130","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$77729_storage","typeString":"struct StrategyStruct.PointSystemConfig storage ref"}},"id":78089,"nodeType":"ExpressionStatement","src":"8871:28:130"},{"expression":{"id":78093,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":78090,"name":"_minThresholdPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77947,"src":"8909:19:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":78091,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78032,"src":"8931:2:130","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$77751_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":78092,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8934:18:130","memberName":"minThresholdPoints","nodeType":"MemberAccess","referencedDeclaration":77739,"src":"8931:21:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8909:43:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":78094,"nodeType":"ExpressionStatement","src":"8909:43:130"},{"expression":{"id":78100,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":78095,"name":"sybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77964,"src":"8962:11:130","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$80667","typeString":"contract ISybilScorer"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":78097,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78032,"src":"8989:2:130","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$77751_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":78098,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8992:11:130","memberName":"sybilScorer","nodeType":"MemberAccess","referencedDeclaration":77750,"src":"8989:14:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":78096,"name":"ISybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80667,"src":"8976:12:130","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ISybilScorer_$80667_$","typeString":"type(contract ISybilScorer)"}},"id":78099,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8976:28:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$80667","typeString":"contract ISybilScorer"}},"src":"8962:42:130","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$80667","typeString":"contract ISybilScorer"}},"id":78101,"nodeType":"ExpressionStatement","src":"8962:42:130"},{"eventCall":{"arguments":[{"id":78103,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78017,"src":"9034:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":78104,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78032,"src":"9043:2:130","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$77751_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_struct$_InitializeParams_$77751_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}],"id":78102,"name":"InitializedCV","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77844,"src":"9020:13:130","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_struct$_InitializeParams_$77751_memory_ptr_$returns$__$","typeString":"function (uint256,struct StrategyStruct.InitializeParams memory)"}},"id":78105,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9020:26:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78106,"nodeType":"EmitStatement","src":"9015:31:130"}]},"baseFunctions":[2939],"functionSelector":"edd146cc","implemented":true,"kind":"function","modifiers":[{"id":78022,"kind":"modifierInvocation","modifierName":{"id":78021,"name":"onlyAllo","nameLocations":["8366:8:130"],"nodeType":"IdentifierPath","referencedDeclaration":74124,"src":"8366:8:130"},"nodeType":"ModifierInvocation","src":"8366:8:130"}],"name":"initialize","nameLocation":"8301:10:130","parameters":{"id":78020,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78017,"mutability":"mutable","name":"_poolId","nameLocation":"8320:7:130","nodeType":"VariableDeclaration","scope":78108,"src":"8312:15:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78016,"name":"uint256","nodeType":"ElementaryTypeName","src":"8312:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":78019,"mutability":"mutable","name":"_data","nameLocation":"8342:5:130","nodeType":"VariableDeclaration","scope":78108,"src":"8329:18:130","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":78018,"name":"bytes","nodeType":"ElementaryTypeName","src":"8329:5:130","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"8311:37:130"},"returnParameters":{"id":78023,"nodeType":"ParameterList","parameters":[],"src":"8375:0:130"},"scope":80578,"stateMutability":"nonpayable","virtual":true,"visibility":"external"},{"id":78112,"nodeType":"FunctionDefinition","src":"9224:83:130","nodes":[],"body":{"id":78111,"nodeType":"Block","src":"9252:55:130","nodes":[],"statements":[]},"implemented":true,"kind":"fallback","modifiers":[],"name":"","nameLocation":"-1:-1:-1","parameters":{"id":78109,"nodeType":"ParameterList","parameters":[],"src":"9232:2:130"},"returnParameters":{"id":78110,"nodeType":"ParameterList","parameters":[],"src":"9252:0:130"},"scope":80578,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":78116,"nodeType":"FunctionDefinition","src":"9313:135:130","nodes":[],"body":{"id":78115,"nodeType":"Block","src":"9340:108:130","nodes":[],"statements":[]},"implemented":true,"kind":"receive","modifiers":[],"name":"","nameLocation":"-1:-1:-1","parameters":{"id":78113,"nodeType":"ParameterList","parameters":[],"src":"9320:2:130"},"returnParameters":{"id":78114,"nodeType":"ParameterList","parameters":[],"src":"9340:0:130"},"scope":80578,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":78137,"nodeType":"FunctionDefinition","src":"9454:202:130","nodes":[],"body":{"id":78136,"nodeType":"Block","src":"9545:111:130","nodes":[],"statements":[{"expression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":78134,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"id":78129,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":78124,"name":"interfaceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78118,"src":"9562:11:130","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"arguments":[{"id":78126,"name":"IPointStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77667,"src":"9582:14:130","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IPointStrategy_$77667_$","typeString":"type(contract IPointStrategy)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_contract$_IPointStrategy_$77667_$","typeString":"type(contract IPointStrategy)"}],"id":78125,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"9577:4:130","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":78127,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9577:20:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_contract$_IPointStrategy_$77667","typeString":"type(contract IPointStrategy)"}},"id":78128,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"9598:11:130","memberName":"interfaceId","nodeType":"MemberAccess","src":"9577:32:130","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"src":"9562:47:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"arguments":[{"id":78132,"name":"interfaceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78118,"src":"9637:11:130","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":78130,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"9613:5:130","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_CVStrategyV0_0_$80578_$","typeString":"type(contract super CVStrategyV0_0)"}},"id":78131,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9619:17:130","memberName":"supportsInterface","nodeType":"MemberAccess","referencedDeclaration":58265,"src":"9613:23:130","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes4_$returns$_t_bool_$","typeString":"function (bytes4) view returns (bool)"}},"id":78133,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9613:36:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"9562:87:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":78123,"id":78135,"nodeType":"Return","src":"9555:94:130"}]},"baseFunctions":[58265],"functionSelector":"01ffc9a7","implemented":true,"kind":"function","modifiers":[],"name":"supportsInterface","nameLocation":"9463:17:130","overrides":{"id":78120,"nodeType":"OverrideSpecifier","overrides":[],"src":"9521:8:130"},"parameters":{"id":78119,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78118,"mutability":"mutable","name":"interfaceId","nameLocation":"9488:11:130","nodeType":"VariableDeclaration","scope":78137,"src":"9481:18:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":78117,"name":"bytes4","nodeType":"ElementaryTypeName","src":"9481:6:130","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"9480:20:130"},"returnParameters":{"id":78123,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78122,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":78137,"src":"9539:4:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":78121,"name":"bool","nodeType":"ElementaryTypeName","src":"9539:4:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"9538:6:130"},"scope":80578,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":78178,"nodeType":"FunctionDefinition","src":"9827:377:130","nodes":[],"body":{"id":78177,"nodeType":"Block","src":"9886:318:130","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":78147,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":78142,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78139,"src":"9900:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":78145,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9919:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":78144,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9911:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":78143,"name":"address","nodeType":"ElementaryTypeName","src":"9911:7:130","typeDescriptions":{}}},"id":78146,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9911:10:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"9900:21:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":78152,"nodeType":"IfStatement","src":"9896:77:130","trueBody":{"id":78151,"nodeType":"Block","src":"9923:50:130","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":78148,"name":"UserCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77765,"src":"9944:16:130","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":78149,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9944:18:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78150,"nodeType":"RevertStatement","src":"9937:25:130"}]}},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":78161,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":78155,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77961,"src":"9994:17:130","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"}],"id":78154,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9986:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":78153,"name":"address","nodeType":"ElementaryTypeName","src":"9986:7:130","typeDescriptions":{}}},"id":78156,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9986:26:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":78159,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10024:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":78158,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10016:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":78157,"name":"address","nodeType":"ElementaryTypeName","src":"10016:7:130","typeDescriptions":{}}},"id":78160,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10016:10:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"9986:40:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":78166,"nodeType":"IfStatement","src":"9982:100:130","trueBody":{"id":78165,"nodeType":"Block","src":"10028:54:130","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":78162,"name":"RegistryCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77785,"src":"10049:20:130","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":78163,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10049:22:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78164,"nodeType":"RevertStatement","src":"10042:29:130"}]}},{"condition":{"id":78171,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"10095:36:130","subExpression":{"arguments":[{"id":78169,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78139,"src":"10123:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":78167,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77961,"src":"10096:17:130","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"}},"id":78168,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10114:8:130","memberName":"isMember","nodeType":"MemberAccess","referencedDeclaration":84615,"src":"10096:26:130","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view external returns (bool)"}},"id":78170,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10096:35:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":78176,"nodeType":"IfStatement","src":"10091:93:130","trueBody":{"id":78175,"nodeType":"Block","src":"10133:51:130","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":78172,"name":"UserNotInRegistry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77767,"src":"10154:17:130","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":78173,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10154:19:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78174,"nodeType":"RevertStatement","src":"10147:26:130"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"checkSenderIsMember","nameLocation":"9836:19:130","parameters":{"id":78140,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78139,"mutability":"mutable","name":"_sender","nameLocation":"9864:7:130","nodeType":"VariableDeclaration","scope":78178,"src":"9856:15:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":78138,"name":"address","nodeType":"ElementaryTypeName","src":"9856:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"9855:17:130"},"returnParameters":{"id":78141,"nodeType":"ParameterList","parameters":[],"src":"9886:0:130"},"scope":80578,"stateMutability":"view","virtual":false,"visibility":"private"},{"id":78194,"nodeType":"FunctionDefinition","src":"10210:162:130","nodes":[],"body":{"id":78193,"nodeType":"Block","src":"10256:116:130","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":78187,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":78181,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"10270:3:130","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":78182,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10274:6:130","memberName":"sender","nodeType":"MemberAccess","src":"10270:10:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"id":78185,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77961,"src":"10292:17:130","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"}],"id":78184,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10284:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":78183,"name":"address","nodeType":"ElementaryTypeName","src":"10284:7:130","typeDescriptions":{}}},"id":78186,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10284:26:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"10270:40:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":78192,"nodeType":"IfStatement","src":"10266:100:130","trueBody":{"id":78191,"nodeType":"Block","src":"10312:54:130","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":78188,"name":"OnlyCommunityAllowed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77825,"src":"10333:20:130","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":78189,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10333:22:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78190,"nodeType":"RevertStatement","src":"10326:29:130"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"onlyRegistryCommunity","nameLocation":"10219:21:130","parameters":{"id":78179,"nodeType":"ParameterList","parameters":[],"src":"10240:2:130"},"returnParameters":{"id":78180,"nodeType":"ParameterList","parameters":[],"src":"10256:0:130"},"scope":80578,"stateMutability":"view","virtual":false,"visibility":"private"},{"id":78210,"nodeType":"FunctionDefinition","src":"10378:133:130","nodes":[],"body":{"id":78209,"nodeType":"Block","src":"10438:73:130","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":78204,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":78199,"name":"_address","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78196,"src":"10452:8:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":78202,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10472:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":78201,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10464:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":78200,"name":"address","nodeType":"ElementaryTypeName","src":"10464:7:130","typeDescriptions":{}}},"id":78203,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10464:10:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"10452:22:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":78208,"nodeType":"IfStatement","src":"10448:56:130","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":78205,"name":"AddressCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77783,"src":"10483:19:130","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":78206,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10483:21:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78207,"nodeType":"RevertStatement","src":"10476:28:130"}}]},"implemented":true,"kind":"function","modifiers":[],"name":"_revertZeroAddress","nameLocation":"10387:18:130","parameters":{"id":78197,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78196,"mutability":"mutable","name":"_address","nameLocation":"10414:8:130","nodeType":"VariableDeclaration","scope":78210,"src":"10406:16:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":78195,"name":"address","nodeType":"ElementaryTypeName","src":"10406:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"10405:18:130"},"returnParameters":{"id":78198,"nodeType":"ParameterList","parameters":[],"src":"10438:0:130"},"scope":80578,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":78240,"nodeType":"FunctionDefinition","src":"10517:230:130","nodes":[],"body":{"id":78239,"nodeType":"Block","src":"10588:159:130","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":78225,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":78219,"name":"sybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77964,"src":"10610:11:130","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$80667","typeString":"contract ISybilScorer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ISybilScorer_$80667","typeString":"contract ISybilScorer"}],"id":78218,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10602:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":78217,"name":"address","nodeType":"ElementaryTypeName","src":"10602:7:130","typeDescriptions":{}}},"id":78220,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10602:20:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":78223,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10634:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":78222,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10626:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":78221,"name":"address","nodeType":"ElementaryTypeName","src":"10626:7:130","typeDescriptions":{}}},"id":78224,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10626:10:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"10602:34:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":78229,"nodeType":"IfStatement","src":"10598:76:130","trueBody":{"id":78228,"nodeType":"Block","src":"10638:36:130","statements":[{"expression":{"hexValue":"74727565","id":78226,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"10659:4:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":78216,"id":78227,"nodeType":"Return","src":"10652:11:130"}]}},{"expression":{"arguments":[{"id":78232,"name":"_user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78212,"src":"10719:5:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":78235,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"10734:4:130","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$80578","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$80578","typeString":"contract CVStrategyV0_0"}],"id":78234,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10726:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":78233,"name":"address","nodeType":"ElementaryTypeName","src":"10726:7:130","typeDescriptions":{}}},"id":78236,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10726:13:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":78230,"name":"sybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77964,"src":"10690:11:130","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$80667","typeString":"contract ISybilScorer"}},"id":78231,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10702:16:130","memberName":"canExecuteAction","nodeType":"MemberAccess","referencedDeclaration":80624,"src":"10690:28:130","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_bool_$","typeString":"function (address,address) view external returns (bool)"}},"id":78237,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10690:50:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":78216,"id":78238,"nodeType":"Return","src":"10683:57:130"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_canExecuteAction","nameLocation":"10526:17:130","parameters":{"id":78213,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78212,"mutability":"mutable","name":"_user","nameLocation":"10552:5:130","nodeType":"VariableDeclaration","scope":78240,"src":"10544:13:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":78211,"name":"address","nodeType":"ElementaryTypeName","src":"10544:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"10543:15:130"},"returnParameters":{"id":78216,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78215,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":78240,"src":"10582:4:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":78214,"name":"bool","nodeType":"ElementaryTypeName","src":"10582:4:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"10581:6:130"},"scope":80578,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":78424,"nodeType":"FunctionDefinition","src":"11073:2045:130","nodes":[],"body":{"id":78423,"nodeType":"Block","src":"11174:1944:130","nodes":[],"statements":[{"condition":{"id":78253,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"11188:27:130","subExpression":{"arguments":[{"id":78251,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78244,"src":"11207:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":78250,"name":"_canExecuteAction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78240,"src":"11189:17:130","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":78252,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11189:26:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":78258,"nodeType":"IfStatement","src":"11184:90:130","trueBody":{"id":78257,"nodeType":"Block","src":"11217:57:130","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":78254,"name":"UserCannotExecuteAction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77837,"src":"11238:23:130","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":78255,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11238:25:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78256,"nodeType":"RevertStatement","src":"11231:32:130"}]}},{"expression":{"id":78259,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78242,"src":"11328:5:130","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":78260,"nodeType":"ExpressionStatement","src":"11328:5:130"},{"assignments":[78265],"declarations":[{"constant":false,"id":78265,"mutability":"mutable","name":"proposal","nameLocation":"11380:8:130","nodeType":"VariableDeclaration","scope":78423,"src":"11343:45:130","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$77688_memory_ptr","typeString":"struct StrategyStruct.CreateProposal"},"typeName":{"id":78264,"nodeType":"UserDefinedTypeName","pathNode":{"id":78263,"name":"StrategyStruct.CreateProposal","nameLocations":["11343:14:130","11358:14:130"],"nodeType":"IdentifierPath","referencedDeclaration":77688,"src":"11343:29:130"},"referencedDeclaration":77688,"src":"11343:29:130","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$77688_storage_ptr","typeString":"struct StrategyStruct.CreateProposal"}},"visibility":"internal"}],"id":78273,"initialValue":{"arguments":[{"id":78268,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78242,"src":"11402:5:130","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"expression":{"id":78269,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77752,"src":"11410:14:130","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$77752_$","typeString":"type(library StrategyStruct)"}},"id":78270,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11425:14:130","memberName":"CreateProposal","nodeType":"MemberAccess","referencedDeclaration":77688,"src":"11410:29:130","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_CreateProposal_$77688_storage_ptr_$","typeString":"type(struct StrategyStruct.CreateProposal storage pointer)"}}],"id":78271,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"11409:31:130","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_CreateProposal_$77688_storage_ptr_$","typeString":"type(struct StrategyStruct.CreateProposal storage pointer)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_struct$_CreateProposal_$77688_storage_ptr_$","typeString":"type(struct StrategyStruct.CreateProposal storage pointer)"}],"expression":{"id":78266,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"11391:3:130","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":78267,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"11395:6:130","memberName":"decode","nodeType":"MemberAccess","src":"11391:10:130","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":78272,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11391:50:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$77688_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"nodeType":"VariableDeclarationStatement","src":"11343:98:130"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":78277,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":78274,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78265,"src":"11556:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$77688_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":78275,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11565:6:130","memberName":"poolId","nodeType":"MemberAccess","referencedDeclaration":77678,"src":"11556:15:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":78276,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11575:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"11556:20:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":78282,"nodeType":"IfStatement","src":"11552:78:130","trueBody":{"id":78281,"nodeType":"Block","src":"11578:52:130","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":78278,"name":"PoolIdCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77781,"src":"11599:18:130","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":78279,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11599:20:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78280,"nodeType":"RevertStatement","src":"11592:27:130"}]}},{"condition":{"commonType":{"typeIdentifier":"t_enum$_ProposalType_$77671","typeString":"enum StrategyStruct.ProposalType"},"id":78287,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":78283,"name":"proposalType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77952,"src":"11706:12:130","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$77671","typeString":"enum StrategyStruct.ProposalType"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":78284,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77752,"src":"11722:14:130","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$77752_$","typeString":"type(library StrategyStruct)"}},"id":78285,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11737:12:130","memberName":"ProposalType","nodeType":"MemberAccess","referencedDeclaration":77671,"src":"11722:27:130","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalType_$77671_$","typeString":"type(enum StrategyStruct.ProposalType)"}},"id":78286,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"11750:7:130","memberName":"Funding","nodeType":"MemberAccess","referencedDeclaration":77669,"src":"11722:35:130","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$77671","typeString":"enum StrategyStruct.ProposalType"}},"src":"11706:51:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":78334,"nodeType":"IfStatement","src":"11702:722:130","trueBody":{"id":78333,"nodeType":"Block","src":"11759:665:130","statements":[{"expression":{"arguments":[{"expression":{"id":78289,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78265,"src":"11792:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$77688_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":78290,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11801:11:130","memberName":"beneficiary","nodeType":"MemberAccess","referencedDeclaration":77680,"src":"11792:20:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":78288,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78210,"src":"11773:18:130","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":78291,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11773:40:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78292,"nodeType":"ExpressionStatement","src":"11773:40:130"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":78299,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":78293,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78265,"src":"11879:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$77688_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":78294,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11888:14:130","memberName":"requestedToken","nodeType":"MemberAccess","referencedDeclaration":77684,"src":"11879:23:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":78297,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11914:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":78296,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11906:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":78295,"name":"address","nodeType":"ElementaryTypeName","src":"11906:7:130","typeDescriptions":{}}},"id":78298,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11906:10:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"11879:37:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":78304,"nodeType":"IfStatement","src":"11875:102:130","trueBody":{"id":78303,"nodeType":"Block","src":"11918:59:130","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":78300,"name":"TokenCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77775,"src":"11943:17:130","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":78301,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11943:19:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78302,"nodeType":"RevertStatement","src":"11936:26:130"}]}},{"assignments":[78306],"declarations":[{"constant":false,"id":78306,"mutability":"mutable","name":"poolToken","nameLocation":"11998:9:130","nodeType":"VariableDeclaration","scope":78333,"src":"11990:17:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":78305,"name":"address","nodeType":"ElementaryTypeName","src":"11990:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":78314,"initialValue":{"expression":{"arguments":[{"id":78311,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74090,"src":"12033:6:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":78307,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"12010:4:130","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$80578","typeString":"contract CVStrategyV0_0"}},"id":78308,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12015:7:130","memberName":"getAllo","nodeType":"MemberAccess","referencedDeclaration":74170,"src":"12010:12:130","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_contract$_IAllo_$2610_$","typeString":"function () view external returns (contract IAllo)"}},"id":78309,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12010:14:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IAllo_$2610","typeString":"contract IAllo"}},"id":78310,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12025:7:130","memberName":"getPool","nodeType":"MemberAccess","referencedDeclaration":2603,"src":"12010:22:130","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_struct$_Pool_$2319_memory_ptr_$","typeString":"function (uint256) view external returns (struct IAllo.Pool memory)"}},"id":78312,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12010:30:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"id":78313,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12041:5:130","memberName":"token","nodeType":"MemberAccess","referencedDeclaration":2311,"src":"12010:36:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"11990:56:130"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":78318,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":78315,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78265,"src":"12064:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$77688_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":78316,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12073:14:130","memberName":"requestedToken","nodeType":"MemberAccess","referencedDeclaration":77684,"src":"12064:23:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":78317,"name":"poolToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78306,"src":"12091:9:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"12064:36:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":78323,"nodeType":"IfStatement","src":"12060:234:130","trueBody":{"id":78322,"nodeType":"Block","src":"12102:192:130","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":78319,"name":"TokenNotAllowed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77777,"src":"12262:15:130","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":78320,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12262:17:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78321,"nodeType":"RevertStatement","src":"12255:24:130"}]}},{"condition":{"arguments":[{"expression":{"id":78325,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78265,"src":"12327:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$77688_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":78326,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12336:15:130","memberName":"amountRequested","nodeType":"MemberAccess","referencedDeclaration":77682,"src":"12327:24:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":78324,"name":"_isOverMaxRatio","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79628,"src":"12311:15:130","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view returns (bool)"}},"id":78327,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12311:41:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":78332,"nodeType":"IfStatement","src":"12307:107:130","trueBody":{"id":78331,"nodeType":"Block","src":"12354:60:130","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":78328,"name":"AmountOverMaxRatio","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77779,"src":"12379:18:130","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":78329,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12379:20:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78330,"nodeType":"RevertStatement","src":"12372:27:130"}]}}]}},{"assignments":[78336],"declarations":[{"constant":false,"id":78336,"mutability":"mutable","name":"proposalId","nameLocation":"12441:10:130","nodeType":"VariableDeclaration","scope":78423,"src":"12433:18:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78335,"name":"uint256","nodeType":"ElementaryTypeName","src":"12433:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":78339,"initialValue":{"id":78338,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":true,"src":"12454:17:130","subExpression":{"id":78337,"name":"proposalCounter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77940,"src":"12456:15:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"12433:38:130"},{"assignments":[78344],"declarations":[{"constant":false,"id":78344,"mutability":"mutable","name":"p","nameLocation":"12513:1:130","nodeType":"VariableDeclaration","scope":78423,"src":"12481:33:130","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":78343,"nodeType":"UserDefinedTypeName","pathNode":{"id":78342,"name":"StrategyStruct.Proposal","nameLocations":["12481:14:130","12496:8:130"],"nodeType":"IdentifierPath","referencedDeclaration":77721,"src":"12481:23:130"},"referencedDeclaration":77721,"src":"12481:23:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":78348,"initialValue":{"baseExpression":{"id":78345,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77969,"src":"12517:9:130","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$77721_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":78347,"indexExpression":{"id":78346,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78336,"src":"12527:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"12517:21:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"12481:57:130"},{"expression":{"id":78353,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":78349,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78344,"src":"12549:1:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":78351,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"12551:10:130","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":77696,"src":"12549:12:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":78352,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78336,"src":"12564:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"12549:25:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":78354,"nodeType":"ExpressionStatement","src":"12549:25:130"},{"expression":{"id":78359,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":78355,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78344,"src":"12584:1:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":78357,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"12586:9:130","memberName":"submitter","nodeType":"MemberAccess","referencedDeclaration":77706,"src":"12584:11:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":78358,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78244,"src":"12598:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"12584:21:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":78360,"nodeType":"ExpressionStatement","src":"12584:21:130"},{"expression":{"id":78366,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":78361,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78344,"src":"12615:1:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":78363,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"12617:11:130","memberName":"beneficiary","nodeType":"MemberAccess","referencedDeclaration":77704,"src":"12615:13:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":78364,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78265,"src":"12631:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$77688_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":78365,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12640:11:130","memberName":"beneficiary","nodeType":"MemberAccess","referencedDeclaration":77680,"src":"12631:20:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"12615:36:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":78367,"nodeType":"ExpressionStatement","src":"12615:36:130"},{"expression":{"id":78373,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":78368,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78344,"src":"12661:1:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":78370,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"12663:14:130","memberName":"requestedToken","nodeType":"MemberAccess","referencedDeclaration":77708,"src":"12661:16:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":78371,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78265,"src":"12680:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$77688_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":78372,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12689:14:130","memberName":"requestedToken","nodeType":"MemberAccess","referencedDeclaration":77684,"src":"12680:23:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"12661:42:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":78374,"nodeType":"ExpressionStatement","src":"12661:42:130"},{"expression":{"id":78380,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":78375,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78344,"src":"12713:1:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":78377,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"12715:15:130","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":77698,"src":"12713:17:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":78378,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78265,"src":"12733:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$77688_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":78379,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12742:15:130","memberName":"amountRequested","nodeType":"MemberAccess","referencedDeclaration":77682,"src":"12733:24:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"12713:44:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":78381,"nodeType":"ExpressionStatement","src":"12713:44:130"},{"expression":{"id":78388,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":78382,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78344,"src":"12818:1:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":78384,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"12820:14:130","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":77713,"src":"12818:16:130","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$77694","typeString":"enum StrategyStruct.ProposalStatus"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"expression":{"id":78385,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77752,"src":"12837:14:130","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$77752_$","typeString":"type(library StrategyStruct)"}},"id":78386,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12852:14:130","memberName":"ProposalStatus","nodeType":"MemberAccess","referencedDeclaration":77694,"src":"12837:29:130","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$77694_$","typeString":"type(enum StrategyStruct.ProposalStatus)"}},"id":78387,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"12867:6:130","memberName":"Active","nodeType":"MemberAccess","referencedDeclaration":77690,"src":"12837:36:130","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$77694","typeString":"enum StrategyStruct.ProposalStatus"}},"src":"12818:55:130","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$77694","typeString":"enum StrategyStruct.ProposalStatus"}},"id":78389,"nodeType":"ExpressionStatement","src":"12818:55:130"},{"expression":{"id":78395,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":78390,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78344,"src":"12883:1:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":78392,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"12885:9:130","memberName":"blockLast","nodeType":"MemberAccess","referencedDeclaration":77710,"src":"12883:11:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":78393,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"12897:5:130","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":78394,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12903:6:130","memberName":"number","nodeType":"MemberAccess","src":"12897:12:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"12883:26:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":78396,"nodeType":"ExpressionStatement","src":"12883:26:130"},{"expression":{"id":78401,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":78397,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78344,"src":"12919:1:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":78399,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"12921:14:130","memberName":"convictionLast","nodeType":"MemberAccess","referencedDeclaration":77702,"src":"12919:16:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"30","id":78400,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12938:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"12919:20:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":78402,"nodeType":"ExpressionStatement","src":"12919:20:130"},{"expression":{"id":78408,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":78403,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78344,"src":"12985:1:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":78405,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"12987:8:130","memberName":"metadata","nodeType":"MemberAccess","referencedDeclaration":77720,"src":"12985:10:130","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage","typeString":"struct Metadata storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":78406,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78265,"src":"12998:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$77688_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":78407,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"13007:8:130","memberName":"metadata","nodeType":"MemberAccess","referencedDeclaration":77687,"src":"12998:17:130","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}},"src":"12985:30:130","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage","typeString":"struct Metadata storage ref"}},"id":78409,"nodeType":"ExpressionStatement","src":"12985:30:130"},{"eventCall":{"arguments":[{"id":78411,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74090,"src":"13047:6:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":78412,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78336,"src":"13055:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":78410,"name":"ProposalCreated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77858,"src":"13031:15:130","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":78413,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13031:35:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78414,"nodeType":"EmitStatement","src":"13026:40:130"},{"expression":{"arguments":[{"arguments":[{"id":78419,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78336,"src":"13099:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":78418,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13091:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":78417,"name":"uint160","nodeType":"ElementaryTypeName","src":"13091:7:130","typeDescriptions":{}}},"id":78420,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13091:19:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":78416,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13083:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":78415,"name":"address","nodeType":"ElementaryTypeName","src":"13083:7:130","typeDescriptions":{}}},"id":78421,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13083:28:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":78249,"id":78422,"nodeType":"Return","src":"13076:35:130"}]},"baseFunctions":[74558],"implemented":true,"kind":"function","modifiers":[],"name":"_registerRecipient","nameLocation":"11082:18:130","overrides":{"id":78246,"nodeType":"OverrideSpecifier","overrides":[],"src":"11147:8:130"},"parameters":{"id":78245,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78242,"mutability":"mutable","name":"_data","nameLocation":"11114:5:130","nodeType":"VariableDeclaration","scope":78424,"src":"11101:18:130","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":78241,"name":"bytes","nodeType":"ElementaryTypeName","src":"11101:5:130","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":78244,"mutability":"mutable","name":"_sender","nameLocation":"11129:7:130","nodeType":"VariableDeclaration","scope":78424,"src":"11121:15:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":78243,"name":"address","nodeType":"ElementaryTypeName","src":"11121:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"11100:37:130"},"returnParameters":{"id":78249,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78248,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":78424,"src":"11165:7:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":78247,"name":"address","nodeType":"ElementaryTypeName","src":"11165:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"11164:9:130"},"scope":80578,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":78463,"nodeType":"FunctionDefinition","src":"13124:351:130","nodes":[],"body":{"id":78462,"nodeType":"Block","src":"13159:316:130","nodes":[],"statements":[{"assignments":[78428],"declarations":[{"constant":false,"id":78428,"mutability":"mutable","name":"member","nameLocation":"13177:6:130","nodeType":"VariableDeclaration","scope":78462,"src":"13169:14:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":78427,"name":"address","nodeType":"ElementaryTypeName","src":"13169:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":78431,"initialValue":{"expression":{"id":78429,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"13186:3:130","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":78430,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13190:6:130","memberName":"sender","nodeType":"MemberAccess","src":"13186:10:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"13169:27:130"},{"condition":{"id":78435,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"13210:26:130","subExpression":{"arguments":[{"id":78433,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78428,"src":"13229:6:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":78432,"name":"_canExecuteAction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78240,"src":"13211:17:130","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":78434,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13211:25:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":78440,"nodeType":"IfStatement","src":"13206:89:130","trueBody":{"id":78439,"nodeType":"Block","src":"13238:57:130","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":78436,"name":"UserCannotExecuteAction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77837,"src":"13259:23:130","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":78437,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13259:25:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78438,"nodeType":"RevertStatement","src":"13252:32:130"}]}},{"expression":{"arguments":[{"id":78444,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78428,"src":"13347:6:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":78447,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"13363:4:130","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$80578","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$80578","typeString":"contract CVStrategyV0_0"}],"id":78446,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13355:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":78445,"name":"address","nodeType":"ElementaryTypeName","src":"13355:7:130","typeDescriptions":{}}},"id":78448,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13355:13:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":78441,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77961,"src":"13304:17:130","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"}},"id":78443,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13322:24:130","memberName":"activateMemberInStrategy","nodeType":"MemberAccess","referencedDeclaration":83993,"src":"13304:42:130","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address) external"}},"id":78449,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13304:65:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78450,"nodeType":"ExpressionStatement","src":"13304:65:130"},{"expression":{"id":78460,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":78451,"name":"totalPointsActivated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77944,"src":"13379:20:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"arguments":[{"id":78454,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78428,"src":"13446:6:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":78457,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"13462:4:130","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$80578","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$80578","typeString":"contract CVStrategyV0_0"}],"id":78456,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13454:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":78455,"name":"address","nodeType":"ElementaryTypeName","src":"13454:7:130","typeDescriptions":{}}},"id":78458,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13454:13:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":78452,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77961,"src":"13403:17:130","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"}},"id":78453,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13421:24:130","memberName":"getMemberPowerInStrategy","nodeType":"MemberAccess","referencedDeclaration":84375,"src":"13403:42:130","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view external returns (uint256)"}},"id":78459,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13403:65:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"13379:89:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":78461,"nodeType":"ExpressionStatement","src":"13379:89:130"}]},"functionSelector":"814516ad","implemented":true,"kind":"function","modifiers":[],"name":"activatePoints","nameLocation":"13133:14:130","parameters":{"id":78425,"nodeType":"ParameterList","parameters":[],"src":"13147:2:130"},"returnParameters":{"id":78426,"nodeType":"ParameterList","parameters":[],"src":"13159:0:130"},"scope":80578,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":78472,"nodeType":"FunctionDefinition","src":"13481:81:130","nodes":[],"body":{"id":78471,"nodeType":"Block","src":"13516:46:130","nodes":[],"statements":[{"expression":{"arguments":[{"expression":{"id":78467,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"13544:3:130","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":78468,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13548:6:130","memberName":"sender","nodeType":"MemberAccess","src":"13544:10:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":78466,"name":"_deactivatePoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78520,"src":"13526:17:130","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":78469,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13526:29:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78470,"nodeType":"ExpressionStatement","src":"13526:29:130"}]},"functionSelector":"1ddf1e23","implemented":true,"kind":"function","modifiers":[],"name":"deactivatePoints","nameLocation":"13490:16:130","parameters":{"id":78464,"nodeType":"ParameterList","parameters":[],"src":"13506:2:130"},"returnParameters":{"id":78465,"nodeType":"ParameterList","parameters":[],"src":"13516:0:130"},"scope":80578,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":78485,"nodeType":"FunctionDefinition","src":"13568:128:130","nodes":[],"body":{"id":78484,"nodeType":"Block","src":"13620:76:130","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":78477,"name":"onlyRegistryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78194,"src":"13630:21:130","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":78478,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13630:23:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78479,"nodeType":"ExpressionStatement","src":"13630:23:130"},{"expression":{"arguments":[{"id":78481,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78474,"src":"13681:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":78480,"name":"_deactivatePoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78520,"src":"13663:17:130","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":78482,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13663:26:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78483,"nodeType":"ExpressionStatement","src":"13663:26:130"}]},"baseFunctions":[77642],"functionSelector":"6453d9c4","implemented":true,"kind":"function","modifiers":[],"name":"deactivatePoints","nameLocation":"13577:16:130","parameters":{"id":78475,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78474,"mutability":"mutable","name":"_member","nameLocation":"13602:7:130","nodeType":"VariableDeclaration","scope":78485,"src":"13594:15:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":78473,"name":"address","nodeType":"ElementaryTypeName","src":"13594:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"13593:17:130"},"returnParameters":{"id":78476,"nodeType":"ParameterList","parameters":[],"src":"13620:0:130"},"scope":80578,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":78520,"nodeType":"FunctionDefinition","src":"13702:351:130","nodes":[],"body":{"id":78519,"nodeType":"Block","src":"13755:298:130","nodes":[],"statements":[{"expression":{"id":78499,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":78490,"name":"totalPointsActivated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77944,"src":"13765:20:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"arguments":[{"id":78493,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78487,"src":"13832:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":78496,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"13849:4:130","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$80578","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$80578","typeString":"contract CVStrategyV0_0"}],"id":78495,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13841:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":78494,"name":"address","nodeType":"ElementaryTypeName","src":"13841:7:130","typeDescriptions":{}}},"id":78497,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13841:13:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":78491,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77961,"src":"13789:17:130","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"}},"id":78492,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13807:24:130","memberName":"getMemberPowerInStrategy","nodeType":"MemberAccess","referencedDeclaration":84375,"src":"13789:42:130","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view external returns (uint256)"}},"id":78498,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13789:66:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"13765:90:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":78500,"nodeType":"ExpressionStatement","src":"13765:90:130"},{"expression":{"arguments":[{"id":78504,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78487,"src":"13910:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":78507,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"13927:4:130","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$80578","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$80578","typeString":"contract CVStrategyV0_0"}],"id":78506,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13919:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":78505,"name":"address","nodeType":"ElementaryTypeName","src":"13919:7:130","typeDescriptions":{}}},"id":78508,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13919:13:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":78501,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77961,"src":"13865:17:130","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"}},"id":78503,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13883:26:130","memberName":"deactivateMemberInStrategy","nodeType":"MemberAccess","referencedDeclaration":84052,"src":"13865:44:130","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address) external"}},"id":78509,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13865:68:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78510,"nodeType":"ExpressionStatement","src":"13865:68:130"},{"expression":{"arguments":[{"id":78512,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78487,"src":"13997:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":78511,"name":"withdraw","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79422,"src":"13988:8:130","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":78513,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13988:17:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78514,"nodeType":"ExpressionStatement","src":"13988:17:130"},{"eventCall":{"arguments":[{"id":78516,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78487,"src":"14038:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":78515,"name":"PointsDeactivated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77894,"src":"14020:17:130","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":78517,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14020:26:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78518,"nodeType":"EmitStatement","src":"14015:31:130"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_deactivatePoints","nameLocation":"13711:17:130","parameters":{"id":78488,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78487,"mutability":"mutable","name":"_member","nameLocation":"13737:7:130","nodeType":"VariableDeclaration","scope":78520,"src":"13729:15:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":78486,"name":"address","nodeType":"ElementaryTypeName","src":"13729:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"13728:17:130"},"returnParameters":{"id":78489,"nodeType":"ParameterList","parameters":[],"src":"13755:0:130"},"scope":80578,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":78613,"nodeType":"FunctionDefinition","src":"14059:1057:130","nodes":[],"body":{"id":78612,"nodeType":"Block","src":"14150:966:130","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":78529,"name":"onlyRegistryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78194,"src":"14205:21:130","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":78530,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14205:23:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78531,"nodeType":"ExpressionStatement","src":"14205:23:130"},{"condition":{"id":78535,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"14242:27:130","subExpression":{"arguments":[{"id":78533,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78522,"src":"14261:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":78532,"name":"_canExecuteAction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78240,"src":"14243:17:130","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":78534,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14243:26:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":78540,"nodeType":"IfStatement","src":"14238:90:130","trueBody":{"id":78539,"nodeType":"Block","src":"14271:57:130","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":78536,"name":"UserCannotExecuteAction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77837,"src":"14292:23:130","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":78537,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14292:25:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78538,"nodeType":"RevertStatement","src":"14285:32:130"}]}},{"assignments":[78542],"declarations":[{"constant":false,"id":78542,"mutability":"mutable","name":"pointsToIncrease","nameLocation":"14345:16:130","nodeType":"VariableDeclaration","scope":78612,"src":"14337:24:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78541,"name":"uint256","nodeType":"ElementaryTypeName","src":"14337:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":78544,"initialValue":{"hexValue":"30","id":78543,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14364:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"14337:28:130"},{"condition":{"commonType":{"typeIdentifier":"t_enum$_PointSystem_$77676","typeString":"enum StrategyStruct.PointSystem"},"id":78549,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":78545,"name":"pointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77955,"src":"14379:11:130","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$77676","typeString":"enum StrategyStruct.PointSystem"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":78546,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77752,"src":"14394:14:130","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$77752_$","typeString":"type(library StrategyStruct)"}},"id":78547,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14409:11:130","memberName":"PointSystem","nodeType":"MemberAccess","referencedDeclaration":77676,"src":"14394:26:130","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_PointSystem_$77676_$","typeString":"type(enum StrategyStruct.PointSystem)"}},"id":78548,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"14421:9:130","memberName":"Unlimited","nodeType":"MemberAccess","referencedDeclaration":77674,"src":"14394:36:130","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$77676","typeString":"enum StrategyStruct.PointSystem"}},"src":"14379:51:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_enum$_PointSystem_$77676","typeString":"enum StrategyStruct.PointSystem"},"id":78561,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":78557,"name":"pointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77955,"src":"14524:11:130","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$77676","typeString":"enum StrategyStruct.PointSystem"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":78558,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77752,"src":"14539:14:130","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$77752_$","typeString":"type(library StrategyStruct)"}},"id":78559,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14554:11:130","memberName":"PointSystem","nodeType":"MemberAccess","referencedDeclaration":77676,"src":"14539:26:130","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_PointSystem_$77676_$","typeString":"type(enum StrategyStruct.PointSystem)"}},"id":78560,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"14566:6:130","memberName":"Capped","nodeType":"MemberAccess","referencedDeclaration":77673,"src":"14539:33:130","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$77676","typeString":"enum StrategyStruct.PointSystem"}},"src":"14524:48:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_enum$_PointSystem_$77676","typeString":"enum StrategyStruct.PointSystem"},"id":78574,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":78570,"name":"pointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77955,"src":"14672:11:130","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$77676","typeString":"enum StrategyStruct.PointSystem"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":78571,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77752,"src":"14687:14:130","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$77752_$","typeString":"type(library StrategyStruct)"}},"id":78572,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14702:11:130","memberName":"PointSystem","nodeType":"MemberAccess","referencedDeclaration":77676,"src":"14687:26:130","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_PointSystem_$77676_$","typeString":"type(enum StrategyStruct.PointSystem)"}},"id":78573,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"14714:9:130","memberName":"Quadratic","nodeType":"MemberAccess","referencedDeclaration":77675,"src":"14687:36:130","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$77676","typeString":"enum StrategyStruct.PointSystem"}},"src":"14672:51:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":78583,"nodeType":"IfStatement","src":"14668:148:130","trueBody":{"id":78582,"nodeType":"Block","src":"14725:91:130","statements":[{"expression":{"id":78580,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":78575,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78542,"src":"14739:16:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":78577,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78522,"src":"14781:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":78578,"name":"_amountToStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78524,"src":"14790:14:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":78576,"name":"increasePowerQuadratic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78826,"src":"14758:22:130","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256) view returns (uint256)"}},"id":78579,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14758:47:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"14739:66:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":78581,"nodeType":"ExpressionStatement","src":"14739:66:130"}]}},"id":78584,"nodeType":"IfStatement","src":"14520:296:130","trueBody":{"id":78569,"nodeType":"Block","src":"14574:88:130","statements":[{"expression":{"id":78567,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":78562,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78542,"src":"14588:16:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":78564,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78522,"src":"14627:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":78565,"name":"_amountToStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78524,"src":"14636:14:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":78563,"name":"increasePowerCapped","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78742,"src":"14607:19:130","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256) view returns (uint256)"}},"id":78566,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14607:44:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"14588:63:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":78568,"nodeType":"ExpressionStatement","src":"14588:63:130"}]}},"id":78585,"nodeType":"IfStatement","src":"14375:441:130","trueBody":{"id":78556,"nodeType":"Block","src":"14432:82:130","statements":[{"expression":{"id":78554,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":78550,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78542,"src":"14446:16:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":78552,"name":"_amountToStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78524,"src":"14488:14:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":78551,"name":"increasePowerUnlimited","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78679,"src":"14465:22:130","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":78553,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14465:38:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"14446:57:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":78555,"nodeType":"ExpressionStatement","src":"14446:57:130"}]}},{"assignments":[78587],"declarations":[{"constant":false,"id":78587,"mutability":"mutable","name":"isActivated","nameLocation":"14830:11:130","nodeType":"VariableDeclaration","scope":78612,"src":"14825:16:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":78586,"name":"bool","nodeType":"ElementaryTypeName","src":"14825:4:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":78596,"initialValue":{"arguments":[{"id":78590,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78522,"src":"14890:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":78593,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"14907:4:130","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$80578","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$80578","typeString":"contract CVStrategyV0_0"}],"id":78592,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"14899:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":78591,"name":"address","nodeType":"ElementaryTypeName","src":"14899:7:130","typeDescriptions":{}}},"id":78594,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14899:13:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":78588,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77961,"src":"14844:17:130","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"}},"id":78589,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14862:27:130","memberName":"memberActivatedInStrategies","nodeType":"MemberAccess","referencedDeclaration":83234,"src":"14844:45:130","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_bool_$","typeString":"function (address,address) view external returns (bool)"}},"id":78595,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14844:69:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"VariableDeclarationStatement","src":"14825:88:130"},{"condition":{"id":78597,"name":"isActivated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78587,"src":"14927:11:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":78603,"nodeType":"IfStatement","src":"14923:82:130","trueBody":{"id":78602,"nodeType":"Block","src":"14940:65:130","statements":[{"expression":{"id":78600,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":78598,"name":"totalPointsActivated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77944,"src":"14954:20:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"id":78599,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78542,"src":"14978:16:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"14954:40:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":78601,"nodeType":"ExpressionStatement","src":"14954:40:130"}]}},{"eventCall":{"arguments":[{"id":78605,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78522,"src":"15034:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":78606,"name":"_amountToStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78524,"src":"15043:14:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":78607,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78542,"src":"15059:16:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":78604,"name":"PowerIncreased","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77870,"src":"15019:14:130","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (address,uint256,uint256)"}},"id":78608,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15019:57:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78609,"nodeType":"EmitStatement","src":"15014:62:130"},{"expression":{"id":78610,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78542,"src":"15093:16:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":78528,"id":78611,"nodeType":"Return","src":"15086:23:130"}]},"baseFunctions":[77651],"functionSelector":"782aadff","implemented":true,"kind":"function","modifiers":[],"name":"increasePower","nameLocation":"14068:13:130","parameters":{"id":78525,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78522,"mutability":"mutable","name":"_member","nameLocation":"14090:7:130","nodeType":"VariableDeclaration","scope":78613,"src":"14082:15:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":78521,"name":"address","nodeType":"ElementaryTypeName","src":"14082:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":78524,"mutability":"mutable","name":"_amountToStake","nameLocation":"14107:14:130","nodeType":"VariableDeclaration","scope":78613,"src":"14099:22:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78523,"name":"uint256","nodeType":"ElementaryTypeName","src":"14099:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"14081:41:130"},"returnParameters":{"id":78528,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78527,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":78613,"src":"14141:7:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78526,"name":"uint256","nodeType":"ElementaryTypeName","src":"14141:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"14140:9:130"},"scope":80578,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":78669,"nodeType":"FunctionDefinition","src":"15122:681:130","nodes":[],"body":{"id":78668,"nodeType":"Block","src":"15215:588:130","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":78622,"name":"onlyRegistryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78194,"src":"15225:21:130","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":78623,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15225:23:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78624,"nodeType":"ExpressionStatement","src":"15225:23:130"},{"assignments":[78626],"declarations":[{"constant":false,"id":78626,"mutability":"mutable","name":"pointsToDecrease","nameLocation":"15312:16:130","nodeType":"VariableDeclaration","scope":78668,"src":"15304:24:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78625,"name":"uint256","nodeType":"ElementaryTypeName","src":"15304:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":78628,"initialValue":{"hexValue":"30","id":78627,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15331:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"15304:28:130"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":78639,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_enum$_PointSystem_$77676","typeString":"enum StrategyStruct.PointSystem"},"id":78633,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":78629,"name":"pointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77955,"src":"15346:11:130","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$77676","typeString":"enum StrategyStruct.PointSystem"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":78630,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77752,"src":"15361:14:130","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$77752_$","typeString":"type(library StrategyStruct)"}},"id":78631,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15376:11:130","memberName":"PointSystem","nodeType":"MemberAccess","referencedDeclaration":77676,"src":"15361:26:130","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_PointSystem_$77676_$","typeString":"type(enum StrategyStruct.PointSystem)"}},"id":78632,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"15388:9:130","memberName":"Unlimited","nodeType":"MemberAccess","referencedDeclaration":77674,"src":"15361:36:130","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$77676","typeString":"enum StrategyStruct.PointSystem"}},"src":"15346:51:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_enum$_PointSystem_$77676","typeString":"enum StrategyStruct.PointSystem"},"id":78638,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":78634,"name":"pointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77955,"src":"15401:11:130","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$77676","typeString":"enum StrategyStruct.PointSystem"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":78635,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77752,"src":"15416:14:130","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$77752_$","typeString":"type(library StrategyStruct)"}},"id":78636,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15431:11:130","memberName":"PointSystem","nodeType":"MemberAccess","referencedDeclaration":77676,"src":"15416:26:130","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_PointSystem_$77676_$","typeString":"type(enum StrategyStruct.PointSystem)"}},"id":78637,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"15443:6:130","memberName":"Capped","nodeType":"MemberAccess","referencedDeclaration":77673,"src":"15416:33:130","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$77676","typeString":"enum StrategyStruct.PointSystem"}},"src":"15401:48:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"15346:103:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":78654,"nodeType":"Block","src":"15547:93:130","statements":[{"expression":{"id":78652,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":78647,"name":"pointsToDecrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78626,"src":"15561:16:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":78649,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78615,"src":"15603:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":78650,"name":"_amountToUnstake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78617,"src":"15612:16:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":78648,"name":"decreasePowerQuadratic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78930,"src":"15580:22:130","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256) view returns (uint256)"}},"id":78651,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15580:49:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"15561:68:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":78653,"nodeType":"ExpressionStatement","src":"15561:68:130"}]},"id":78655,"nodeType":"IfStatement","src":"15342:298:130","trueBody":{"id":78646,"nodeType":"Block","src":"15451:90:130","statements":[{"expression":{"id":78644,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":78640,"name":"pointsToDecrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78626,"src":"15465:16:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":78642,"name":"_amountToUnstake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78617,"src":"15513:16:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":78641,"name":"decreasePowerCappedUnlimited","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78836,"src":"15484:28:130","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":78643,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15484:46:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"15465:65:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":78645,"nodeType":"ExpressionStatement","src":"15465:65:130"}]}},{"expression":{"id":78658,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":78656,"name":"totalPointsActivated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77944,"src":"15649:20:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"id":78657,"name":"pointsToDecrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78626,"src":"15673:16:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"15649:40:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":78659,"nodeType":"ExpressionStatement","src":"15649:40:130"},{"eventCall":{"arguments":[{"id":78661,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78615,"src":"15719:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":78662,"name":"_amountToUnstake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78617,"src":"15728:16:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":78663,"name":"pointsToDecrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78626,"src":"15746:16:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":78660,"name":"PowerDecreased","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77878,"src":"15704:14:130","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (address,uint256,uint256)"}},"id":78664,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15704:59:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78665,"nodeType":"EmitStatement","src":"15699:64:130"},{"expression":{"id":78666,"name":"pointsToDecrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78626,"src":"15780:16:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":78621,"id":78667,"nodeType":"Return","src":"15773:23:130"}]},"baseFunctions":[77660],"functionSelector":"2ed04b2b","implemented":true,"kind":"function","modifiers":[],"name":"decreasePower","nameLocation":"15131:13:130","parameters":{"id":78618,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78615,"mutability":"mutable","name":"_member","nameLocation":"15153:7:130","nodeType":"VariableDeclaration","scope":78669,"src":"15145:15:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":78614,"name":"address","nodeType":"ElementaryTypeName","src":"15145:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":78617,"mutability":"mutable","name":"_amountToUnstake","nameLocation":"15170:16:130","nodeType":"VariableDeclaration","scope":78669,"src":"15162:24:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78616,"name":"uint256","nodeType":"ElementaryTypeName","src":"15162:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15144:43:130"},"returnParameters":{"id":78621,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78620,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":78669,"src":"15206:7:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78619,"name":"uint256","nodeType":"ElementaryTypeName","src":"15206:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15205:9:130"},"scope":80578,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":78679,"nodeType":"FunctionDefinition","src":"15809:126:130","nodes":[],"body":{"id":78678,"nodeType":"Block","src":"15897:38:130","nodes":[],"statements":[{"expression":{"id":78676,"name":"_amountToStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78671,"src":"15914:14:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":78675,"id":78677,"nodeType":"Return","src":"15907:21:130"}]},"implemented":true,"kind":"function","modifiers":[],"name":"increasePowerUnlimited","nameLocation":"15818:22:130","parameters":{"id":78672,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78671,"mutability":"mutable","name":"_amountToStake","nameLocation":"15849:14:130","nodeType":"VariableDeclaration","scope":78679,"src":"15841:22:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78670,"name":"uint256","nodeType":"ElementaryTypeName","src":"15841:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15840:24:130"},"returnParameters":{"id":78675,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78674,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":78679,"src":"15888:7:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78673,"name":"uint256","nodeType":"ElementaryTypeName","src":"15888:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15887:9:130"},"scope":80578,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":78742,"nodeType":"FunctionDefinition","src":"15941:615:130","nodes":[],"body":{"id":78741,"nodeType":"Block","src":"16043:513:130","nodes":[],"statements":[{"assignments":[78689],"declarations":[{"constant":false,"id":78689,"mutability":"mutable","name":"pointsToIncrease","nameLocation":"16061:16:130","nodeType":"VariableDeclaration","scope":78741,"src":"16053:24:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78688,"name":"uint256","nodeType":"ElementaryTypeName","src":"16053:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":78691,"initialValue":{"id":78690,"name":"_amountToStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78683,"src":"16080:14:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"16053:41:130"},{"expression":{"arguments":[{"hexValue":"504f494e545320544f20494e435245415345","id":78695,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"16116:20:130","typeDescriptions":{"typeIdentifier":"t_stringliteral_ef3d3d59430373ce7e3d099486636fe73635f3082757c009fe2ef0b043a4ebb1","typeString":"literal_string \"POINTS TO INCREASE\""},"value":"POINTS TO INCREASE"},{"id":78696,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78689,"src":"16138:16:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ef3d3d59430373ce7e3d099486636fe73635f3082757c009fe2ef0b043a4ebb1","typeString":"literal_string \"POINTS TO INCREASE\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":78692,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29549,"src":"16104:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$29549_$","typeString":"type(library console)"}},"id":78694,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16112:3:130","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":22193,"src":"16104:11:130","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":78697,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16104:51:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78698,"nodeType":"ExpressionStatement","src":"16104:51:130"},{"assignments":[78700],"declarations":[{"constant":false,"id":78700,"mutability":"mutable","name":"memberPower","nameLocation":"16173:11:130","nodeType":"VariableDeclaration","scope":78741,"src":"16165:19:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78699,"name":"uint256","nodeType":"ElementaryTypeName","src":"16165:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":78709,"initialValue":{"arguments":[{"id":78703,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78681,"src":"16230:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":78706,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"16247:4:130","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$80578","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$80578","typeString":"contract CVStrategyV0_0"}],"id":78705,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16239:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":78704,"name":"address","nodeType":"ElementaryTypeName","src":"16239:7:130","typeDescriptions":{}}},"id":78707,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16239:13:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":78701,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77961,"src":"16187:17:130","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"}},"id":78702,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16205:24:130","memberName":"getMemberPowerInStrategy","nodeType":"MemberAccess","referencedDeclaration":84375,"src":"16187:42:130","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view external returns (uint256)"}},"id":78708,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16187:66:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"16165:88:130"},{"expression":{"arguments":[{"hexValue":"4d454d424552504f574552","id":78713,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"16275:13:130","typeDescriptions":{"typeIdentifier":"t_stringliteral_d53146c44856b98b9530413c868d7a3bea9675ba78d0918c9dbfa4f905f5c3e8","typeString":"literal_string \"MEMBERPOWER\""},"value":"MEMBERPOWER"},{"id":78714,"name":"memberPower","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78700,"src":"16290:11:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_d53146c44856b98b9530413c868d7a3bea9675ba78d0918c9dbfa4f905f5c3e8","typeString":"literal_string \"MEMBERPOWER\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":78710,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29549,"src":"16263:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$29549_$","typeString":"type(library console)"}},"id":78712,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16271:3:130","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":22193,"src":"16263:11:130","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":78715,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16263:39:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78716,"nodeType":"ExpressionStatement","src":"16263:39:130"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":78722,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":78719,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":78717,"name":"memberPower","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78700,"src":"16316:11:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":78718,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78689,"src":"16330:16:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16316:30:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"expression":{"id":78720,"name":"pointConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77958,"src":"16349:11:130","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$77729_storage","typeString":"struct StrategyStruct.PointSystemConfig storage ref"}},"id":78721,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"16361:9:130","memberName":"maxAmount","nodeType":"MemberAccess","referencedDeclaration":77728,"src":"16349:21:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16316:54:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":78731,"nodeType":"IfStatement","src":"16312:139:130","trueBody":{"id":78730,"nodeType":"Block","src":"16372:79:130","statements":[{"expression":{"id":78728,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":78723,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78689,"src":"16386:16:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":78727,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":78724,"name":"pointConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77958,"src":"16405:11:130","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$77729_storage","typeString":"struct StrategyStruct.PointSystemConfig storage ref"}},"id":78725,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"16417:9:130","memberName":"maxAmount","nodeType":"MemberAccess","referencedDeclaration":77728,"src":"16405:21:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":78726,"name":"memberPower","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78700,"src":"16429:11:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16405:35:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16386:54:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":78729,"nodeType":"ExpressionStatement","src":"16386:54:130"}]}},{"expression":{"arguments":[{"hexValue":"504f494e545320544f20494e43524541534520454e44","id":78735,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"16472:24:130","typeDescriptions":{"typeIdentifier":"t_stringliteral_7339ba314bb001e1fd9993d42999dceed278cc5b138b69398be73c13fb666826","typeString":"literal_string \"POINTS TO INCREASE END\""},"value":"POINTS TO INCREASE END"},{"id":78736,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78689,"src":"16498:16:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_7339ba314bb001e1fd9993d42999dceed278cc5b138b69398be73c13fb666826","typeString":"literal_string \"POINTS TO INCREASE END\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":78732,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29549,"src":"16460:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$29549_$","typeString":"type(library console)"}},"id":78734,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16468:3:130","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":22193,"src":"16460:11:130","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":78737,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16460:55:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78738,"nodeType":"ExpressionStatement","src":"16460:55:130"},{"expression":{"id":78739,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78689,"src":"16533:16:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":78687,"id":78740,"nodeType":"Return","src":"16526:23:130"}]},"implemented":true,"kind":"function","modifiers":[],"name":"increasePowerCapped","nameLocation":"15950:19:130","parameters":{"id":78684,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78681,"mutability":"mutable","name":"_member","nameLocation":"15978:7:130","nodeType":"VariableDeclaration","scope":78742,"src":"15970:15:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":78680,"name":"address","nodeType":"ElementaryTypeName","src":"15970:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":78683,"mutability":"mutable","name":"_amountToStake","nameLocation":"15995:14:130","nodeType":"VariableDeclaration","scope":78742,"src":"15987:22:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78682,"name":"uint256","nodeType":"ElementaryTypeName","src":"15987:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15969:41:130"},"returnParameters":{"id":78687,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78686,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":78742,"src":"16034:7:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78685,"name":"uint256","nodeType":"ElementaryTypeName","src":"16034:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"16033:9:130"},"scope":80578,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":78826,"nodeType":"FunctionDefinition","src":"16562:730:130","nodes":[],"body":{"id":78825,"nodeType":"Block","src":"16667:625:130","nodes":[],"statements":[{"assignments":[78752],"declarations":[{"constant":false,"id":78752,"mutability":"mutable","name":"totalStake","nameLocation":"16685:10:130","nodeType":"VariableDeclaration","scope":78825,"src":"16677:18:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78751,"name":"uint256","nodeType":"ElementaryTypeName","src":"16677:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":78759,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":78758,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":78755,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78744,"src":"16738:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":78753,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77961,"src":"16698:17:130","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"}},"id":78754,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16716:21:130","memberName":"getMemberStakedAmount","nodeType":"MemberAccess","referencedDeclaration":84388,"src":"16698:39:130","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":78756,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16698:48:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":78757,"name":"_amountToStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78746,"src":"16749:14:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16698:65:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"16677:86:130"},{"assignments":[78761],"declarations":[{"constant":false,"id":78761,"mutability":"mutable","name":"decimal","nameLocation":"16782:7:130","nodeType":"VariableDeclaration","scope":78825,"src":"16774:15:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78760,"name":"uint256","nodeType":"ElementaryTypeName","src":"16774:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":78763,"initialValue":{"hexValue":"3138","id":78762,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16792:2:130","typeDescriptions":{"typeIdentifier":"t_rational_18_by_1","typeString":"int_const 18"},"value":"18"},"nodeType":"VariableDeclarationStatement","src":"16774:20:130"},{"clauses":[{"block":{"id":78784,"nodeType":"Block","src":"16892:52:130","statements":[{"expression":{"id":78782,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":78777,"name":"decimal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78761,"src":"16906:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":78780,"name":"_decimal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78775,"src":"16924:8:130","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint8","typeString":"uint8"}],"id":78779,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16916:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":78778,"name":"uint256","nodeType":"ElementaryTypeName","src":"16916:7:130","typeDescriptions":{}}},"id":78781,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16916:17:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16906:27:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":78783,"nodeType":"ExpressionStatement","src":"16906:27:130"}]},"errorName":"","id":78785,"nodeType":"TryCatchClause","parameters":{"id":78776,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78775,"mutability":"mutable","name":"_decimal","nameLocation":"16882:8:130","nodeType":"VariableDeclaration","scope":78785,"src":"16876:14:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":78774,"name":"uint8","nodeType":"ElementaryTypeName","src":"16876:5:130","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"16875:16:130"},"src":"16867:77:130"},{"block":{"id":78792,"nodeType":"Block","src":"16951:61:130","statements":[{"expression":{"arguments":[{"hexValue":"4572726f722067657474696e6720646563696d616c","id":78789,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"16977:23:130","typeDescriptions":{"typeIdentifier":"t_stringliteral_add5b7e354bcd4eb0c69c8b5bd8a8dca27c903f694ea26b234a6605e7f62de4d","typeString":"literal_string \"Error getting decimal\""},"value":"Error getting decimal"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_add5b7e354bcd4eb0c69c8b5bd8a8dca27c903f694ea26b234a6605e7f62de4d","typeString":"literal_string \"Error getting decimal\""}],"expression":{"id":78786,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29549,"src":"16965:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$29549_$","typeString":"type(library console)"}},"id":78788,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16973:3:130","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":22080,"src":"16965:11:130","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) view"}},"id":78790,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16965:36:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78791,"nodeType":"ExpressionStatement","src":"16965:36:130"}]},"errorName":"","id":78793,"nodeType":"TryCatchClause","src":"16945:67:130"}],"externalCall":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":78767,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77961,"src":"16822:17:130","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"}},"id":78768,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16840:11:130","memberName":"gardenToken","nodeType":"MemberAccess","referencedDeclaration":83189,"src":"16822:29:130","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_contract$_IERC20_$57069_$","typeString":"function () view external returns (contract IERC20)"}},"id":78769,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16822:31:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$57069","typeString":"contract IERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$57069","typeString":"contract IERC20"}],"id":78766,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16814:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":78765,"name":"address","nodeType":"ElementaryTypeName","src":"16814:7:130","typeDescriptions":{}}},"id":78770,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16814:40:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":78764,"name":"ERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56991,"src":"16808:5:130","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ERC20_$56991_$","typeString":"type(contract ERC20)"}},"id":78771,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16808:47:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ERC20_$56991","typeString":"contract ERC20"}},"id":78772,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16856:8:130","memberName":"decimals","nodeType":"MemberAccess","referencedDeclaration":56479,"src":"16808:56:130","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint8_$","typeString":"function () view external returns (uint8)"}},"id":78773,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16808:58:130","tryCall":true,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":78794,"nodeType":"TryStatement","src":"16804:208:130"},{"assignments":[78796],"declarations":[{"constant":false,"id":78796,"mutability":"mutable","name":"newTotalPoints","nameLocation":"17029:14:130","nodeType":"VariableDeclaration","scope":78825,"src":"17021:22:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78795,"name":"uint256","nodeType":"ElementaryTypeName","src":"17021:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":78805,"initialValue":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":78803,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":78799,"name":"totalStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78752,"src":"17056:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":78802,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":78800,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17069:2:130","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"id":78801,"name":"decimal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78761,"src":"17075:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17069:13:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17056:26:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":78797,"name":"Math","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59338,"src":"17046:4:130","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Math_$59338_$","typeString":"type(library Math)"}},"id":78798,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17051:4:130","memberName":"sqrt","nodeType":"MemberAccess","referencedDeclaration":58842,"src":"17046:9:130","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":78804,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17046:37:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"17021:62:130"},{"assignments":[78807],"declarations":[{"constant":false,"id":78807,"mutability":"mutable","name":"currentPoints","nameLocation":"17101:13:130","nodeType":"VariableDeclaration","scope":78825,"src":"17093:21:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78806,"name":"uint256","nodeType":"ElementaryTypeName","src":"17093:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":78816,"initialValue":{"arguments":[{"id":78810,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78744,"src":"17160:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":78813,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"17177:4:130","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$80578","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$80578","typeString":"contract CVStrategyV0_0"}],"id":78812,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"17169:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":78811,"name":"address","nodeType":"ElementaryTypeName","src":"17169:7:130","typeDescriptions":{}}},"id":78814,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17169:13:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":78808,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77961,"src":"17117:17:130","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"}},"id":78809,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17135:24:130","memberName":"getMemberPowerInStrategy","nodeType":"MemberAccess","referencedDeclaration":84375,"src":"17117:42:130","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view external returns (uint256)"}},"id":78815,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17117:66:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"17093:90:130"},{"assignments":[78818],"declarations":[{"constant":false,"id":78818,"mutability":"mutable","name":"pointsToIncrease","nameLocation":"17202:16:130","nodeType":"VariableDeclaration","scope":78825,"src":"17194:24:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78817,"name":"uint256","nodeType":"ElementaryTypeName","src":"17194:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":78822,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":78821,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":78819,"name":"newTotalPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78796,"src":"17221:14:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":78820,"name":"currentPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78807,"src":"17238:13:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17221:30:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"17194:57:130"},{"expression":{"id":78823,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78818,"src":"17269:16:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":78750,"id":78824,"nodeType":"Return","src":"17262:23:130"}]},"implemented":true,"kind":"function","modifiers":[],"name":"increasePowerQuadratic","nameLocation":"16571:22:130","parameters":{"id":78747,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78744,"mutability":"mutable","name":"_member","nameLocation":"16602:7:130","nodeType":"VariableDeclaration","scope":78826,"src":"16594:15:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":78743,"name":"address","nodeType":"ElementaryTypeName","src":"16594:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":78746,"mutability":"mutable","name":"_amountToStake","nameLocation":"16619:14:130","nodeType":"VariableDeclaration","scope":78826,"src":"16611:22:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78745,"name":"uint256","nodeType":"ElementaryTypeName","src":"16611:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"16593:41:130"},"returnParameters":{"id":78750,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78749,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":78826,"src":"16658:7:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78748,"name":"uint256","nodeType":"ElementaryTypeName","src":"16658:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"16657:9:130"},"scope":80578,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":78836,"nodeType":"FunctionDefinition","src":"17298:136:130","nodes":[],"body":{"id":78835,"nodeType":"Block","src":"17394:40:130","nodes":[],"statements":[{"expression":{"id":78833,"name":"_amountToUnstake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78828,"src":"17411:16:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":78832,"id":78834,"nodeType":"Return","src":"17404:23:130"}]},"implemented":true,"kind":"function","modifiers":[],"name":"decreasePowerCappedUnlimited","nameLocation":"17307:28:130","parameters":{"id":78829,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78828,"mutability":"mutable","name":"_amountToUnstake","nameLocation":"17344:16:130","nodeType":"VariableDeclaration","scope":78836,"src":"17336:24:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78827,"name":"uint256","nodeType":"ElementaryTypeName","src":"17336:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"17335:26:130"},"returnParameters":{"id":78832,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78831,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":78836,"src":"17385:7:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78830,"name":"uint256","nodeType":"ElementaryTypeName","src":"17385:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"17384:9:130"},"scope":80578,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":78930,"nodeType":"FunctionDefinition","src":"17440:802:130","nodes":[],"body":{"id":78929,"nodeType":"Block","src":"17547:695:130","nodes":[],"statements":[{"assignments":[78846],"declarations":[{"constant":false,"id":78846,"mutability":"mutable","name":"decimal","nameLocation":"17565:7:130","nodeType":"VariableDeclaration","scope":78929,"src":"17557:15:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78845,"name":"uint256","nodeType":"ElementaryTypeName","src":"17557:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":78848,"initialValue":{"hexValue":"3138","id":78847,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17575:2:130","typeDescriptions":{"typeIdentifier":"t_rational_18_by_1","typeString":"int_const 18"},"value":"18"},"nodeType":"VariableDeclarationStatement","src":"17557:20:130"},{"clauses":[{"block":{"id":78869,"nodeType":"Block","src":"17675:52:130","statements":[{"expression":{"id":78867,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":78862,"name":"decimal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78846,"src":"17689:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":78865,"name":"_decimal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78860,"src":"17707:8:130","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint8","typeString":"uint8"}],"id":78864,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"17699:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":78863,"name":"uint256","nodeType":"ElementaryTypeName","src":"17699:7:130","typeDescriptions":{}}},"id":78866,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17699:17:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17689:27:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":78868,"nodeType":"ExpressionStatement","src":"17689:27:130"}]},"errorName":"","id":78870,"nodeType":"TryCatchClause","parameters":{"id":78861,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78860,"mutability":"mutable","name":"_decimal","nameLocation":"17665:8:130","nodeType":"VariableDeclaration","scope":78870,"src":"17659:14:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":78859,"name":"uint8","nodeType":"ElementaryTypeName","src":"17659:5:130","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"17658:16:130"},"src":"17650:77:130"},{"block":{"id":78877,"nodeType":"Block","src":"17734:61:130","statements":[{"expression":{"arguments":[{"hexValue":"4572726f722067657474696e6720646563696d616c","id":78874,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"17760:23:130","typeDescriptions":{"typeIdentifier":"t_stringliteral_add5b7e354bcd4eb0c69c8b5bd8a8dca27c903f694ea26b234a6605e7f62de4d","typeString":"literal_string \"Error getting decimal\""},"value":"Error getting decimal"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_add5b7e354bcd4eb0c69c8b5bd8a8dca27c903f694ea26b234a6605e7f62de4d","typeString":"literal_string \"Error getting decimal\""}],"expression":{"id":78871,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29549,"src":"17748:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$29549_$","typeString":"type(library console)"}},"id":78873,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17756:3:130","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":22080,"src":"17748:11:130","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) view"}},"id":78875,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17748:36:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78876,"nodeType":"ExpressionStatement","src":"17748:36:130"}]},"errorName":"","id":78878,"nodeType":"TryCatchClause","src":"17728:67:130"}],"externalCall":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":78852,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77961,"src":"17605:17:130","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"}},"id":78853,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17623:11:130","memberName":"gardenToken","nodeType":"MemberAccess","referencedDeclaration":83189,"src":"17605:29:130","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_contract$_IERC20_$57069_$","typeString":"function () view external returns (contract IERC20)"}},"id":78854,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17605:31:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$57069","typeString":"contract IERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$57069","typeString":"contract IERC20"}],"id":78851,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"17597:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":78850,"name":"address","nodeType":"ElementaryTypeName","src":"17597:7:130","typeDescriptions":{}}},"id":78855,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17597:40:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":78849,"name":"ERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56991,"src":"17591:5:130","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ERC20_$56991_$","typeString":"type(contract ERC20)"}},"id":78856,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17591:47:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ERC20_$56991","typeString":"contract ERC20"}},"id":78857,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17639:8:130","memberName":"decimals","nodeType":"MemberAccess","referencedDeclaration":56479,"src":"17591:56:130","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint8_$","typeString":"function () view external returns (uint8)"}},"id":78858,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17591:58:130","tryCall":true,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":78879,"nodeType":"TryStatement","src":"17587:208:130"},{"expression":{"arguments":[{"hexValue":"5f616d6f756e74546f556e7374616b65","id":78883,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"17816:18:130","typeDescriptions":{"typeIdentifier":"t_stringliteral_dc5364d7a51b187c038e40e987076ae6dd611b7a72008e9d9acc88e3a526f2c2","typeString":"literal_string \"_amountToUnstake\""},"value":"_amountToUnstake"},{"id":78884,"name":"_amountToUnstake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78840,"src":"17836:16:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_dc5364d7a51b187c038e40e987076ae6dd611b7a72008e9d9acc88e3a526f2c2","typeString":"literal_string \"_amountToUnstake\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":78880,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29549,"src":"17804:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$29549_$","typeString":"type(library console)"}},"id":78882,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17812:3:130","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":22193,"src":"17804:11:130","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":78885,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17804:49:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78886,"nodeType":"ExpressionStatement","src":"17804:49:130"},{"assignments":[78888],"declarations":[{"constant":false,"id":78888,"mutability":"mutable","name":"newTotalStake","nameLocation":"17871:13:130","nodeType":"VariableDeclaration","scope":78929,"src":"17863:21:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78887,"name":"uint256","nodeType":"ElementaryTypeName","src":"17863:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":78895,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":78894,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":78891,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78838,"src":"17927:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":78889,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77961,"src":"17887:17:130","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"}},"id":78890,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17905:21:130","memberName":"getMemberStakedAmount","nodeType":"MemberAccess","referencedDeclaration":84388,"src":"17887:39:130","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":78892,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17887:48:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":78893,"name":"_amountToUnstake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78840,"src":"17938:16:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17887:67:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"17863:91:130"},{"expression":{"arguments":[{"hexValue":"6e6577546f74616c5374616b65","id":78899,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"17976:15:130","typeDescriptions":{"typeIdentifier":"t_stringliteral_e1d5e8d6d05577c9c30b6029c3158dfad77d5a239a04e4529b5b98f0ce2f7a79","typeString":"literal_string \"newTotalStake\""},"value":"newTotalStake"},{"id":78900,"name":"newTotalStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78888,"src":"17993:13:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e1d5e8d6d05577c9c30b6029c3158dfad77d5a239a04e4529b5b98f0ce2f7a79","typeString":"literal_string \"newTotalStake\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":78896,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29549,"src":"17964:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$29549_$","typeString":"type(library console)"}},"id":78898,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17972:3:130","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":22193,"src":"17964:11:130","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":78901,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17964:43:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78902,"nodeType":"ExpressionStatement","src":"17964:43:130"},{"assignments":[78904],"declarations":[{"constant":false,"id":78904,"mutability":"mutable","name":"newTotalPoints","nameLocation":"18025:14:130","nodeType":"VariableDeclaration","scope":78929,"src":"18017:22:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78903,"name":"uint256","nodeType":"ElementaryTypeName","src":"18017:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":78913,"initialValue":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":78911,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":78907,"name":"newTotalStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78888,"src":"18052:13:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":78910,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":78908,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18068:2:130","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"id":78909,"name":"decimal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78846,"src":"18074:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"18068:13:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"18052:29:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":78905,"name":"Math","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59338,"src":"18042:4:130","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Math_$59338_$","typeString":"type(library Math)"}},"id":78906,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18047:4:130","memberName":"sqrt","nodeType":"MemberAccess","referencedDeclaration":58842,"src":"18042:9:130","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":78912,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18042:40:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"18017:65:130"},{"assignments":[78915],"declarations":[{"constant":false,"id":78915,"mutability":"mutable","name":"pointsToDecrease","nameLocation":"18100:16:130","nodeType":"VariableDeclaration","scope":78929,"src":"18092:24:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78914,"name":"uint256","nodeType":"ElementaryTypeName","src":"18092:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":78926,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":78925,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":78918,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78838,"src":"18162:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":78921,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"18179:4:130","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$80578","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$80578","typeString":"contract CVStrategyV0_0"}],"id":78920,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"18171:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":78919,"name":"address","nodeType":"ElementaryTypeName","src":"18171:7:130","typeDescriptions":{}}},"id":78922,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18171:13:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":78916,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77961,"src":"18119:17:130","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"}},"id":78917,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18137:24:130","memberName":"getMemberPowerInStrategy","nodeType":"MemberAccess","referencedDeclaration":84375,"src":"18119:42:130","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view external returns (uint256)"}},"id":78923,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18119:66:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":78924,"name":"newTotalPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78904,"src":"18188:14:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"18119:83:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"18092:110:130"},{"expression":{"id":78927,"name":"pointsToDecrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78915,"src":"18219:16:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":78844,"id":78928,"nodeType":"Return","src":"18212:23:130"}]},"implemented":true,"kind":"function","modifiers":[],"name":"decreasePowerQuadratic","nameLocation":"17449:22:130","parameters":{"id":78841,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78838,"mutability":"mutable","name":"_member","nameLocation":"17480:7:130","nodeType":"VariableDeclaration","scope":78930,"src":"17472:15:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":78837,"name":"address","nodeType":"ElementaryTypeName","src":"17472:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":78840,"mutability":"mutable","name":"_amountToUnstake","nameLocation":"17497:16:130","nodeType":"VariableDeclaration","scope":78930,"src":"17489:24:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78839,"name":"uint256","nodeType":"ElementaryTypeName","src":"17489:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"17471:43:130"},"returnParameters":{"id":78844,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78843,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":78930,"src":"17538:7:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78842,"name":"uint256","nodeType":"ElementaryTypeName","src":"17538:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"17537:9:130"},"scope":80578,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":78939,"nodeType":"FunctionDefinition","src":"18248:99:130","nodes":[],"body":{"id":78938,"nodeType":"Block","src":"18302:45:130","nodes":[],"statements":[{"expression":{"expression":{"id":78935,"name":"pointConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77958,"src":"18319:11:130","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$77729_storage","typeString":"struct StrategyStruct.PointSystemConfig storage ref"}},"id":78936,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"18331:9:130","memberName":"maxAmount","nodeType":"MemberAccess","referencedDeclaration":77728,"src":"18319:21:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":78934,"id":78937,"nodeType":"Return","src":"18312:28:130"}]},"functionSelector":"0ba95909","implemented":true,"kind":"function","modifiers":[],"name":"getMaxAmount","nameLocation":"18257:12:130","parameters":{"id":78931,"nodeType":"ParameterList","parameters":[],"src":"18269:2:130"},"returnParameters":{"id":78934,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78933,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":78939,"src":"18293:7:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78932,"name":"uint256","nodeType":"ElementaryTypeName","src":"18293:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"18292:9:130"},"scope":80578,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":78948,"nodeType":"FunctionDefinition","src":"18353:110:130","nodes":[],"body":{"id":78947,"nodeType":"Block","src":"18428:35:130","nodes":[],"statements":[{"expression":{"id":78945,"name":"pointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77955,"src":"18445:11:130","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$77676","typeString":"enum StrategyStruct.PointSystem"}},"functionReturnParameters":78944,"id":78946,"nodeType":"Return","src":"18438:18:130"}]},"baseFunctions":[77666],"functionSelector":"c3292171","implemented":true,"kind":"function","modifiers":[],"name":"getPointSystem","nameLocation":"18362:14:130","parameters":{"id":78940,"nodeType":"ParameterList","parameters":[],"src":"18376:2:130"},"returnParameters":{"id":78944,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78943,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":78948,"src":"18400:26:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$77676","typeString":"enum StrategyStruct.PointSystem"},"typeName":{"id":78942,"nodeType":"UserDefinedTypeName","pathNode":{"id":78941,"name":"StrategyStruct.PointSystem","nameLocations":["18400:14:130","18415:11:130"],"nodeType":"IdentifierPath","referencedDeclaration":77676,"src":"18400:26:130"},"referencedDeclaration":77676,"src":"18400:26:130","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$77676","typeString":"enum StrategyStruct.PointSystem"}},"visibility":"internal"}],"src":"18399:28:130"},"scope":80578,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":78959,"nodeType":"FunctionDefinition","src":"18579:226:130","nodes":[],"body":{"id":78958,"nodeType":"Block","src":"18657:148:130","nodes":[],"statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":78955,"name":"NotImplemented","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77773,"src":"18722:14:130","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":78956,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18722:16:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78957,"nodeType":"RevertStatement","src":"18715:23:130"}]},"functionSelector":"e33add93","implemented":true,"kind":"function","modifiers":[],"name":"supportProposal","nameLocation":"18588:15:130","parameters":{"id":78953,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78952,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":78959,"src":"18604:39:130","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$77726_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport[]"},"typeName":{"baseType":{"id":78950,"nodeType":"UserDefinedTypeName","pathNode":{"id":78949,"name":"StrategyStruct.ProposalSupport","nameLocations":["18604:14:130","18619:15:130"],"nodeType":"IdentifierPath","referencedDeclaration":77726,"src":"18604:30:130"},"referencedDeclaration":77726,"src":"18604:30:130","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$77726_storage_ptr","typeString":"struct StrategyStruct.ProposalSupport"}},"id":78951,"nodeType":"ArrayTypeName","src":"18604:32:130","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$77726_storage_$dyn_storage_ptr","typeString":"struct StrategyStruct.ProposalSupport[]"}},"visibility":"internal"}],"src":"18603:41:130"},"returnParameters":{"id":78954,"nodeType":"ParameterList","parameters":[],"src":"18657:0:130"},"scope":80578,"stateMutability":"pure","virtual":false,"visibility":"public"},{"id":79024,"nodeType":"FunctionDefinition","src":"18951:650:130","nodes":[],"body":{"id":79023,"nodeType":"Block","src":"19025:576:130","nodes":[],"statements":[{"expression":{"arguments":[{"id":78968,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78963,"src":"19055:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":78967,"name":"checkSenderIsMember","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78178,"src":"19035:19:130","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$__$","typeString":"function (address) view"}},"id":78969,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19035:28:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78970,"nodeType":"ExpressionStatement","src":"19035:28:130"},{"condition":{"id":78974,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"19077:27:130","subExpression":{"arguments":[{"id":78972,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78963,"src":"19096:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":78971,"name":"_canExecuteAction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78240,"src":"19078:17:130","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":78973,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19078:26:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":78979,"nodeType":"IfStatement","src":"19073:90:130","trueBody":{"id":78978,"nodeType":"Block","src":"19106:57:130","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":78975,"name":"UserCannotExecuteAction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77837,"src":"19127:23:130","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":78976,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19127:25:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78977,"nodeType":"RevertStatement","src":"19120:32:130"}]}},{"assignments":[78981],"declarations":[{"constant":false,"id":78981,"mutability":"mutable","name":"isMemberActivatedPoints","nameLocation":"19223:23:130","nodeType":"VariableDeclaration","scope":79023,"src":"19218:28:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":78980,"name":"bool","nodeType":"ElementaryTypeName","src":"19218:4:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":78990,"initialValue":{"arguments":[{"id":78984,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78963,"src":"19295:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":78987,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"19312:4:130","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$80578","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$80578","typeString":"contract CVStrategyV0_0"}],"id":78986,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"19304:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":78985,"name":"address","nodeType":"ElementaryTypeName","src":"19304:7:130","typeDescriptions":{}}},"id":78988,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19304:13:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":78982,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77961,"src":"19249:17:130","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"}},"id":78983,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19267:27:130","memberName":"memberActivatedInStrategies","nodeType":"MemberAccess","referencedDeclaration":83234,"src":"19249:45:130","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_bool_$","typeString":"function (address,address) view external returns (bool)"}},"id":78989,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19249:69:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"VariableDeclarationStatement","src":"19218:100:130"},{"condition":{"id":78992,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"19332:24:130","subExpression":{"id":78991,"name":"isMemberActivatedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78981,"src":"19333:23:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":78997,"nodeType":"IfStatement","src":"19328:78:130","trueBody":{"id":78996,"nodeType":"Block","src":"19358:48:130","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":78993,"name":"UserIsInactive","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77769,"src":"19379:14:130","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":78994,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19379:16:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78995,"nodeType":"RevertStatement","src":"19372:23:130"}]}},{"assignments":[79003],"declarations":[{"constant":false,"id":79003,"mutability":"mutable","name":"pv","nameLocation":"19455:2:130","nodeType":"VariableDeclaration","scope":79023,"src":"19415:42:130","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$77726_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport[]"},"typeName":{"baseType":{"id":79001,"nodeType":"UserDefinedTypeName","pathNode":{"id":79000,"name":"StrategyStruct.ProposalSupport","nameLocations":["19415:14:130","19430:15:130"],"nodeType":"IdentifierPath","referencedDeclaration":77726,"src":"19415:30:130"},"referencedDeclaration":77726,"src":"19415:30:130","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$77726_storage_ptr","typeString":"struct StrategyStruct.ProposalSupport"}},"id":79002,"nodeType":"ArrayTypeName","src":"19415:32:130","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$77726_storage_$dyn_storage_ptr","typeString":"struct StrategyStruct.ProposalSupport[]"}},"visibility":"internal"}],"id":79012,"initialValue":{"arguments":[{"id":79006,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78961,"src":"19471:5:130","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"baseExpression":{"expression":{"id":79007,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77752,"src":"19479:14:130","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$77752_$","typeString":"type(library StrategyStruct)"}},"id":79008,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19494:15:130","memberName":"ProposalSupport","nodeType":"MemberAccess","referencedDeclaration":77726,"src":"19479:30:130","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ProposalSupport_$77726_storage_ptr_$","typeString":"type(struct StrategyStruct.ProposalSupport storage pointer)"}},"id":79009,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"19479:32:130","typeDescriptions":{"typeIdentifier":"t_type$_t_array$_t_struct$_ProposalSupport_$77726_memory_ptr_$dyn_memory_ptr_$","typeString":"type(struct StrategyStruct.ProposalSupport memory[] memory)"}}],"id":79010,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"19478:34:130","typeDescriptions":{"typeIdentifier":"t_type$_t_array$_t_struct$_ProposalSupport_$77726_memory_ptr_$dyn_memory_ptr_$","typeString":"type(struct StrategyStruct.ProposalSupport memory[] memory)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_array$_t_struct$_ProposalSupport_$77726_memory_ptr_$dyn_memory_ptr_$","typeString":"type(struct StrategyStruct.ProposalSupport memory[] memory)"}],"expression":{"id":79004,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"19460:3:130","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":79005,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"19464:6:130","memberName":"decode","nodeType":"MemberAccess","src":"19460:10:130","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":79011,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19460:53:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$77726_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"19415:98:130"},{"expression":{"arguments":[{"id":79014,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78963,"src":"19548:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":79015,"name":"pv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79003,"src":"19557:2:130","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$77726_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$77726_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}],"id":79013,"name":"_check_before_addSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79724,"src":"19523:24:130","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_array$_t_struct$_ProposalSupport_$77726_memory_ptr_$dyn_memory_ptr_$returns$__$","typeString":"function (address,struct StrategyStruct.ProposalSupport memory[] memory)"}},"id":79016,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19523:37:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":79017,"nodeType":"ExpressionStatement","src":"19523:37:130"},{"expression":{"arguments":[{"id":79019,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78963,"src":"19582:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":79020,"name":"pv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79003,"src":"19591:2:130","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$77726_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$77726_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}],"id":79018,"name":"_addSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80011,"src":"19570:11:130","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_array$_t_struct$_ProposalSupport_$77726_memory_ptr_$dyn_memory_ptr_$returns$__$","typeString":"function (address,struct StrategyStruct.ProposalSupport memory[] memory)"}},"id":79021,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19570:24:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":79022,"nodeType":"ExpressionStatement","src":"19570:24:130"}]},"baseFunctions":[74566],"implemented":true,"kind":"function","modifiers":[],"name":"_allocate","nameLocation":"18960:9:130","overrides":{"id":78965,"nodeType":"OverrideSpecifier","overrides":[],"src":"19016:8:130"},"parameters":{"id":78964,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78961,"mutability":"mutable","name":"_data","nameLocation":"18983:5:130","nodeType":"VariableDeclaration","scope":79024,"src":"18970:18:130","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":78960,"name":"bytes","nodeType":"ElementaryTypeName","src":"18970:5:130","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":78963,"mutability":"mutable","name":"_sender","nameLocation":"18998:7:130","nodeType":"VariableDeclaration","scope":79024,"src":"18990:15:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":78962,"name":"address","nodeType":"ElementaryTypeName","src":"18990:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"18969:37:130"},"returnParameters":{"id":78966,"nodeType":"ParameterList","parameters":[],"src":"19025:0:130"},"scope":80578,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":79180,"nodeType":"FunctionDefinition","src":"19857:1756:130","nodes":[],"body":{"id":79179,"nodeType":"Block","src":"19943:1670:130","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79038,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":79035,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79029,"src":"20036:5:130","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":79036,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20042:6:130","memberName":"length","nodeType":"MemberAccess","src":"20036:12:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"hexValue":"30","id":79037,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20052:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"20036:17:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":79043,"nodeType":"IfStatement","src":"20032:76:130","trueBody":{"id":79042,"nodeType":"Block","src":"20055:53:130","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":79039,"name":"ProposalDataIsEmpty","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77805,"src":"20076:19:130","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":79040,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20076:21:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":79041,"nodeType":"RevertStatement","src":"20069:28:130"}]}},{"assignments":[79045],"declarations":[{"constant":false,"id":79045,"mutability":"mutable","name":"proposalId","nameLocation":"20126:10:130","nodeType":"VariableDeclaration","scope":79179,"src":"20118:18:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79044,"name":"uint256","nodeType":"ElementaryTypeName","src":"20118:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":79053,"initialValue":{"arguments":[{"id":79048,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79029,"src":"20150:5:130","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":79050,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"20158:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":79049,"name":"uint256","nodeType":"ElementaryTypeName","src":"20158:7:130","typeDescriptions":{}}}],"id":79051,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"20157:9:130","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}],"expression":{"id":79046,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"20139:3:130","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":79047,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"20143:6:130","memberName":"decode","nodeType":"MemberAccess","src":"20139:10:130","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":79052,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20139:28:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"20118:49:130"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79056,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":79054,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79045,"src":"20182:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":79055,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20196:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"20182:15:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":79061,"nodeType":"IfStatement","src":"20178:77:130","trueBody":{"id":79060,"nodeType":"Block","src":"20199:56:130","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":79057,"name":"ProposalIdCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77807,"src":"20220:22:130","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":79058,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20220:24:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":79059,"nodeType":"RevertStatement","src":"20213:31:130"}]}},{"assignments":[79066],"declarations":[{"constant":false,"id":79066,"mutability":"mutable","name":"proposal","nameLocation":"20296:8:130","nodeType":"VariableDeclaration","scope":79179,"src":"20264:40:130","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":79065,"nodeType":"UserDefinedTypeName","pathNode":{"id":79064,"name":"StrategyStruct.Proposal","nameLocations":["20264:14:130","20279:8:130"],"nodeType":"IdentifierPath","referencedDeclaration":77721,"src":"20264:23:130"},"referencedDeclaration":77721,"src":"20264:23:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":79070,"initialValue":{"baseExpression":{"id":79067,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77969,"src":"20307:9:130","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$77721_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":79069,"indexExpression":{"id":79068,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79045,"src":"20317:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"20307:21:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"20264:64:130"},{"condition":{"commonType":{"typeIdentifier":"t_enum$_ProposalType_$77671","typeString":"enum StrategyStruct.ProposalType"},"id":79075,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":79071,"name":"proposalType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77952,"src":"20343:12:130","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$77671","typeString":"enum StrategyStruct.ProposalType"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":79072,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77752,"src":"20359:14:130","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$77752_$","typeString":"type(library StrategyStruct)"}},"id":79073,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20374:12:130","memberName":"ProposalType","nodeType":"MemberAccess","referencedDeclaration":77671,"src":"20359:27:130","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalType_$77671_$","typeString":"type(enum StrategyStruct.ProposalType)"}},"id":79074,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"20387:7:130","memberName":"Funding","nodeType":"MemberAccess","referencedDeclaration":77669,"src":"20359:35:130","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$77671","typeString":"enum StrategyStruct.ProposalType"}},"src":"20343:51:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":79178,"nodeType":"IfStatement","src":"20339:1208:130","trueBody":{"id":79177,"nodeType":"Block","src":"20396:1151:130","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79079,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":79076,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79066,"src":"20414:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79077,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"20423:10:130","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":77696,"src":"20414:19:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":79078,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79045,"src":"20437:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20414:33:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":79085,"nodeType":"IfStatement","src":"20410:108:130","trueBody":{"id":79084,"nodeType":"Block","src":"20449:69:130","statements":[{"errorCall":{"arguments":[{"id":79081,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79045,"src":"20492:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":79080,"name":"ProposalNotInList","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77815,"src":"20474:17:130","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":79082,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20474:29:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":79083,"nodeType":"RevertStatement","src":"20467:36:130"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79089,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":79086,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79066,"src":"20536:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79087,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"20545:15:130","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":77698,"src":"20536:24:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":79088,"name":"poolAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74092,"src":"20563:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20536:37:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":79098,"nodeType":"IfStatement","src":"20532:152:130","trueBody":{"id":79097,"nodeType":"Block","src":"20575:109:130","statements":[{"errorCall":{"arguments":[{"id":79091,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79045,"src":"20620:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":79092,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79066,"src":"20632:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79093,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"20641:15:130","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":77698,"src":"20632:24:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":79094,"name":"poolAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74092,"src":"20658:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":79090,"name":"PoolAmountNotEnough","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77833,"src":"20600:19:130","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256,uint256) pure"}},"id":79095,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20600:69:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":79096,"nodeType":"RevertStatement","src":"20593:76:130"}]}},{"condition":{"commonType":{"typeIdentifier":"t_enum$_ProposalStatus_$77694","typeString":"enum StrategyStruct.ProposalStatus"},"id":79104,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":79099,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79066,"src":"20702:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79100,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"20711:14:130","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":77713,"src":"20702:23:130","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$77694","typeString":"enum StrategyStruct.ProposalStatus"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"expression":{"id":79101,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77752,"src":"20729:14:130","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$77752_$","typeString":"type(library StrategyStruct)"}},"id":79102,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20744:14:130","memberName":"ProposalStatus","nodeType":"MemberAccess","referencedDeclaration":77694,"src":"20729:29:130","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$77694_$","typeString":"type(enum StrategyStruct.ProposalStatus)"}},"id":79103,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"20759:6:130","memberName":"Active","nodeType":"MemberAccess","referencedDeclaration":77690,"src":"20729:36:130","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$77694","typeString":"enum StrategyStruct.ProposalStatus"}},"src":"20702:63:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":79110,"nodeType":"IfStatement","src":"20698:138:130","trueBody":{"id":79109,"nodeType":"Block","src":"20767:69:130","statements":[{"errorCall":{"arguments":[{"id":79106,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79045,"src":"20810:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":79105,"name":"ProposalNotActive","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77811,"src":"20792:17:130","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":79107,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20792:29:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":79108,"nodeType":"RevertStatement","src":"20785:36:130"}]}},{"assignments":[79112],"declarations":[{"constant":false,"id":79112,"mutability":"mutable","name":"convictionLast","nameLocation":"20858:14:130","nodeType":"VariableDeclaration","scope":79177,"src":"20850:22:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79111,"name":"uint256","nodeType":"ElementaryTypeName","src":"20850:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":79116,"initialValue":{"arguments":[{"id":79114,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79045,"src":"20900:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":79113,"name":"updateProposalConviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80434,"src":"20875:24:130","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) returns (uint256)"}},"id":79115,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20875:36:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"20850:61:130"},{"assignments":[79118],"declarations":[{"constant":false,"id":79118,"mutability":"mutable","name":"threshold","nameLocation":"20933:9:130","nodeType":"VariableDeclaration","scope":79177,"src":"20925:17:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79117,"name":"uint256","nodeType":"ElementaryTypeName","src":"20925:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":79123,"initialValue":{"arguments":[{"expression":{"id":79120,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79066,"src":"20964:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79121,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"20973:15:130","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":77698,"src":"20964:24:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":79119,"name":"calculateThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80190,"src":"20945:18:130","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":79122,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20945:44:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"20925:64:130"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":79131,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79126,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":79124,"name":"convictionLast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79112,"src":"21008:14:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":79125,"name":"threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79118,"src":"21025:9:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"21008:26:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79130,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":79127,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79066,"src":"21038:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79128,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"21047:15:130","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":77698,"src":"21038:24:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":79129,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21065:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"21038:28:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"21008:58:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":79136,"nodeType":"IfStatement","src":"21004:137:130","trueBody":{"id":79135,"nodeType":"Block","src":"21068:73:130","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":79132,"name":"ConvictionUnderMinimumThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77823,"src":"21093:31:130","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":79133,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21093:33:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":79134,"nodeType":"RevertStatement","src":"21086:40:130"}]}},{"assignments":[79141],"declarations":[{"constant":false,"id":79141,"mutability":"mutable","name":"pool","nameLocation":"21173:4:130","nodeType":"VariableDeclaration","scope":79177,"src":"21155:22:130","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool"},"typeName":{"id":79140,"nodeType":"UserDefinedTypeName","pathNode":{"id":79139,"name":"IAllo.Pool","nameLocations":["21155:5:130","21161:4:130"],"nodeType":"IdentifierPath","referencedDeclaration":2319,"src":"21155:10:130"},"referencedDeclaration":2319,"src":"21155:10:130","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool"}},"visibility":"internal"}],"id":79146,"initialValue":{"arguments":[{"id":79144,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74090,"src":"21193:6:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":79142,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74084,"src":"21180:4:130","typeDescriptions":{"typeIdentifier":"t_contract$_IAllo_$2610","typeString":"contract IAllo"}},"id":79143,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21185:7:130","memberName":"getPool","nodeType":"MemberAccess","referencedDeclaration":2603,"src":"21180:12:130","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_struct$_Pool_$2319_memory_ptr_$","typeString":"function (uint256) view external returns (struct IAllo.Pool memory)"}},"id":79145,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21180:20:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"nodeType":"VariableDeclarationStatement","src":"21155:45:130"},{"expression":{"id":79150,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":79147,"name":"poolAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74092,"src":"21215:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"expression":{"id":79148,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79066,"src":"21229:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79149,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"21238:15:130","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":77698,"src":"21229:24:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"21215:38:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79151,"nodeType":"ExpressionStatement","src":"21215:38:130"},{"expression":{"arguments":[{"expression":{"id":79153,"name":"pool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79141,"src":"21291:4:130","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"id":79154,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"21296:5:130","memberName":"token","nodeType":"MemberAccess","referencedDeclaration":2311,"src":"21291:10:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":79155,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79066,"src":"21303:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79156,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"21312:11:130","memberName":"beneficiary","nodeType":"MemberAccess","referencedDeclaration":77704,"src":"21303:20:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":79157,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79066,"src":"21325:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79158,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"21334:15:130","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":77698,"src":"21325:24:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":79152,"name":"_transferAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3287,"src":"21275:15:130","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":79159,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21275:75:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":79160,"nodeType":"ExpressionStatement","src":"21275:75:130"},{"expression":{"id":79167,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":79161,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79066,"src":"21381:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79163,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"21390:14:130","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":77713,"src":"21381:23:130","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$77694","typeString":"enum StrategyStruct.ProposalStatus"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"expression":{"id":79164,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77752,"src":"21407:14:130","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$77752_$","typeString":"type(library StrategyStruct)"}},"id":79165,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21422:14:130","memberName":"ProposalStatus","nodeType":"MemberAccess","referencedDeclaration":77694,"src":"21407:29:130","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$77694_$","typeString":"type(enum StrategyStruct.ProposalStatus)"}},"id":79166,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"21437:8:130","memberName":"Executed","nodeType":"MemberAccess","referencedDeclaration":77693,"src":"21407:38:130","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$77694","typeString":"enum StrategyStruct.ProposalStatus"}},"src":"21381:64:130","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$77694","typeString":"enum StrategyStruct.ProposalStatus"}},"id":79168,"nodeType":"ExpressionStatement","src":"21381:64:130"},{"eventCall":{"arguments":[{"id":79170,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79045,"src":"21477:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":79171,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79066,"src":"21489:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79172,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"21498:11:130","memberName":"beneficiary","nodeType":"MemberAccess","referencedDeclaration":77704,"src":"21489:20:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":79173,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79066,"src":"21511:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79174,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"21520:15:130","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":77698,"src":"21511:24:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":79169,"name":"Distributed","nodeType":"Identifier","overloadedDeclarations":[77852,2858],"referencedDeclaration":77852,"src":"21465:11:130","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_address_$_t_uint256_$returns$__$","typeString":"function (uint256,address,uint256)"}},"id":79175,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21465:71:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":79176,"nodeType":"EmitStatement","src":"21460:76:130"}]}}]},"baseFunctions":[74577],"implemented":true,"kind":"function","modifiers":[],"name":"_distribute","nameLocation":"19866:11:130","overrides":{"id":79033,"nodeType":"OverrideSpecifier","overrides":[],"src":"19934:8:130"},"parameters":{"id":79032,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79027,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":79180,"src":"19878:16:130","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":79025,"name":"address","nodeType":"ElementaryTypeName","src":"19878:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":79026,"nodeType":"ArrayTypeName","src":"19878:9:130","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":79029,"mutability":"mutable","name":"_data","nameLocation":"19909:5:130","nodeType":"VariableDeclaration","scope":79180,"src":"19896:18:130","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":79028,"name":"bytes","nodeType":"ElementaryTypeName","src":"19896:5:130","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":79031,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":79180,"src":"19916:7:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":79030,"name":"address","nodeType":"ElementaryTypeName","src":"19916:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"19877:47:130"},"returnParameters":{"id":79034,"nodeType":"ParameterList","parameters":[],"src":"19943:0:130"},"scope":80578,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":79234,"nodeType":"FunctionDefinition","src":"21619:735:130","nodes":[],"body":{"id":79233,"nodeType":"Block","src":"21708:646:130","nodes":[],"statements":[{"assignments":[79191],"declarations":[{"constant":false,"id":79191,"mutability":"mutable","name":"proposal","nameLocation":"21750:8:130","nodeType":"VariableDeclaration","scope":79233,"src":"21718:40:130","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":79190,"nodeType":"UserDefinedTypeName","pathNode":{"id":79189,"name":"StrategyStruct.Proposal","nameLocations":["21718:14:130","21733:8:130"],"nodeType":"IdentifierPath","referencedDeclaration":77721,"src":"21718:23:130"},"referencedDeclaration":77721,"src":"21718:23:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":79195,"initialValue":{"baseExpression":{"id":79192,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77969,"src":"21761:9:130","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$77721_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":79194,"indexExpression":{"id":79193,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79182,"src":"21771:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"21761:21:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"21718:64:130"},{"assignments":[79197,79199],"declarations":[{"constant":false,"id":79197,"mutability":"mutable","name":"convictionLast","nameLocation":"21876:14:130","nodeType":"VariableDeclaration","scope":79233,"src":"21868:22:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79196,"name":"uint256","nodeType":"ElementaryTypeName","src":"21868:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":79199,"mutability":"mutable","name":"blockNumber","nameLocation":"21900:11:130","nodeType":"VariableDeclaration","scope":79233,"src":"21892:19:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79198,"name":"uint256","nodeType":"ElementaryTypeName","src":"21892:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":79205,"initialValue":{"arguments":[{"id":79201,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79191,"src":"21961:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},{"expression":{"id":79202,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79191,"src":"21971:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79203,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"21980:12:130","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":77700,"src":"21971:21:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":79200,"name":"_checkBlockAndCalculateConviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80386,"src":"21927:33:130","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Proposal_$77721_storage_ptr_$_t_uint256_$returns$_t_uint256_$_t_uint256_$","typeString":"function (struct StrategyStruct.Proposal storage pointer,uint256) view returns (uint256,uint256)"}},"id":79204,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21927:66:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_uint256_$","typeString":"tuple(uint256,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"21867:126:130"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":79212,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79208,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":79206,"name":"convictionLast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79197,"src":"22008:14:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":79207,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22026:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"22008:19:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79211,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":79209,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79199,"src":"22031:11:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":79210,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22046:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"22031:16:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"22008:39:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":79219,"nodeType":"IfStatement","src":"22004:110:130","trueBody":{"id":79218,"nodeType":"Block","src":"22049:65:130","statements":[{"expression":{"id":79216,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":79213,"name":"convictionLast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79197,"src":"22063:14:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":79214,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79191,"src":"22080:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79215,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"22089:14:130","memberName":"convictionLast","nodeType":"MemberAccess","referencedDeclaration":77702,"src":"22080:23:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"22063:40:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79217,"nodeType":"ExpressionStatement","src":"22063:40:130"}]}},{"assignments":[79221],"declarations":[{"constant":false,"id":79221,"mutability":"mutable","name":"threshold","nameLocation":"22131:9:130","nodeType":"VariableDeclaration","scope":79233,"src":"22123:17:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79220,"name":"uint256","nodeType":"ElementaryTypeName","src":"22123:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":79226,"initialValue":{"arguments":[{"expression":{"id":79223,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79191,"src":"22162:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79224,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"22171:15:130","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":77698,"src":"22162:24:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":79222,"name":"calculateThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80190,"src":"22143:18:130","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":79225,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22143:44:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"22123:64:130"},{"expression":{"id":79231,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":79227,"name":"canBeExecuted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79185,"src":"22304:13:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79230,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":79228,"name":"convictionLast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79197,"src":"22320:14:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":79229,"name":"threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79221,"src":"22338:9:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"22320:27:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"22304:43:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":79232,"nodeType":"ExpressionStatement","src":"22304:43:130"}]},"functionSelector":"824ea8ed","implemented":true,"kind":"function","modifiers":[],"name":"canExecuteProposal","nameLocation":"21628:18:130","parameters":{"id":79183,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79182,"mutability":"mutable","name":"proposalId","nameLocation":"21655:10:130","nodeType":"VariableDeclaration","scope":79234,"src":"21647:18:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79181,"name":"uint256","nodeType":"ElementaryTypeName","src":"21647:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"21646:20:130"},"returnParameters":{"id":79186,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79185,"mutability":"mutable","name":"canBeExecuted","nameLocation":"21693:13:130","nodeType":"VariableDeclaration","scope":79234,"src":"21688:18:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":79184,"name":"bool","nodeType":"ElementaryTypeName","src":"21688:4:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"21687:20:130"},"scope":80578,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":79256,"nodeType":"FunctionDefinition","src":"22644:220:130","nodes":[],"body":{"id":79255,"nodeType":"Block","src":"22735:129:130","nodes":[],"statements":[{"expression":{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":79248,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":79243,"name":"_recipientId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79236,"src":"22795:12:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":79246,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22819:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":79245,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"22811:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":79244,"name":"address","nodeType":"ElementaryTypeName","src":"22811:7:130","typeDescriptions":{}}},"id":79247,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22811:10:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"22795:26:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"expression":{"id":79251,"name":"Status","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2815,"src":"22842:6:130","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_Status_$2815_$","typeString":"type(enum IStrategy.Status)"}},"id":79252,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"22849:8:130","memberName":"Accepted","nodeType":"MemberAccess","referencedDeclaration":2810,"src":"22842:15:130","typeDescriptions":{"typeIdentifier":"t_enum$_Status_$2815","typeString":"enum IStrategy.Status"}},"id":79253,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"22795:62:130","trueExpression":{"expression":{"id":79249,"name":"Status","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2815,"src":"22824:6:130","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_Status_$2815_$","typeString":"type(enum IStrategy.Status)"}},"id":79250,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"22831:8:130","memberName":"Rejected","nodeType":"MemberAccess","referencedDeclaration":2811,"src":"22824:15:130","typeDescriptions":{"typeIdentifier":"t_enum$_Status_$2815","typeString":"enum IStrategy.Status"}},"typeDescriptions":{"typeIdentifier":"t_enum$_Status_$2815","typeString":"enum IStrategy.Status"}},"functionReturnParameters":79242,"id":79254,"nodeType":"Return","src":"22788:69:130"}]},"baseFunctions":[74597],"implemented":true,"kind":"function","modifiers":[],"name":"_getRecipientStatus","nameLocation":"22653:19:130","overrides":{"id":79238,"nodeType":"OverrideSpecifier","overrides":[],"src":"22709:8:130"},"parameters":{"id":79237,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79236,"mutability":"mutable","name":"_recipientId","nameLocation":"22681:12:130","nodeType":"VariableDeclaration","scope":79256,"src":"22673:20:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":79235,"name":"address","nodeType":"ElementaryTypeName","src":"22673:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"22672:22:130"},"returnParameters":{"id":79242,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79241,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":79256,"src":"22727:6:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_Status_$2815","typeString":"enum IStrategy.Status"},"typeName":{"id":79240,"nodeType":"UserDefinedTypeName","pathNode":{"id":79239,"name":"Status","nameLocations":["22727:6:130"],"nodeType":"IdentifierPath","referencedDeclaration":2815,"src":"22727:6:130"},"referencedDeclaration":2815,"src":"22727:6:130","typeDescriptions":{"typeIdentifier":"t_enum$_Status_$2815","typeString":"enum IStrategy.Status"}},"visibility":"internal"}],"src":"22726:8:130"},"scope":80578,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":79275,"nodeType":"FunctionDefinition","src":"22993:288:130","nodes":[],"body":{"id":79274,"nodeType":"Block","src":"23103:178:130","nodes":[],"statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":79271,"name":"NotImplemented","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77773,"src":"23163:14:130","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":79272,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23163:16:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":79273,"nodeType":"RevertStatement","src":"23156:23:130"}]},"baseFunctions":[74436],"documentation":{"id":79257,"nodeType":"StructuredDocumentation","src":"22870:118:130","text":"@return Input the values you would send to distribute(), get the amounts each recipient in the array would receive"},"functionSelector":"b2b878d0","implemented":true,"kind":"function","modifiers":[],"name":"getPayouts","nameLocation":"23002:10:130","overrides":{"id":79265,"nodeType":"OverrideSpecifier","overrides":[],"src":"23061:8:130"},"parameters":{"id":79264,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79260,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":79275,"src":"23013:16:130","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":79258,"name":"address","nodeType":"ElementaryTypeName","src":"23013:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":79259,"nodeType":"ArrayTypeName","src":"23013:9:130","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":79263,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":79275,"src":"23031:14:130","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":79261,"name":"bytes","nodeType":"ElementaryTypeName","src":"23031:5:130","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":79262,"nodeType":"ArrayTypeName","src":"23031:7:130","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"23012:34:130"},"returnParameters":{"id":79270,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79269,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":79275,"src":"23079:22:130","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_PayoutSummary_$2820_memory_ptr_$dyn_memory_ptr","typeString":"struct IStrategy.PayoutSummary[]"},"typeName":{"baseType":{"id":79267,"nodeType":"UserDefinedTypeName","pathNode":{"id":79266,"name":"PayoutSummary","nameLocations":["23079:13:130"],"nodeType":"IdentifierPath","referencedDeclaration":2820,"src":"23079:13:130"},"referencedDeclaration":2820,"src":"23079:13:130","typeDescriptions":{"typeIdentifier":"t_struct$_PayoutSummary_$2820_storage_ptr","typeString":"struct IStrategy.PayoutSummary"}},"id":79268,"nodeType":"ArrayTypeName","src":"23079:15:130","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_PayoutSummary_$2820_storage_$dyn_storage_ptr","typeString":"struct IStrategy.PayoutSummary[]"}},"visibility":"internal"}],"src":"23078:24:130"},"scope":80578,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":79294,"nodeType":"FunctionDefinition","src":"23287:264:130","nodes":[],"body":{"id":79293,"nodeType":"Block","src":"23439:112:130","nodes":[],"statements":[{"expression":{"id":79286,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79279,"src":"23492:5:130","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":79287,"nodeType":"ExpressionStatement","src":"23492:5:130"},{"expression":{"arguments":[{"id":79289,"name":"_recipientId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79277,"src":"23528:12:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":79290,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"23542:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":79288,"name":"PayoutSummary","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2820,"src":"23514:13:130","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_PayoutSummary_$2820_storage_ptr_$","typeString":"type(struct IStrategy.PayoutSummary storage pointer)"}},"id":79291,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23514:30:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_PayoutSummary_$2820_memory_ptr","typeString":"struct IStrategy.PayoutSummary memory"}},"functionReturnParameters":79285,"id":79292,"nodeType":"Return","src":"23507:37:130"}]},"baseFunctions":[74588],"implemented":true,"kind":"function","modifiers":[],"name":"_getPayout","nameLocation":"23296:10:130","overrides":{"id":79281,"nodeType":"OverrideSpecifier","overrides":[],"src":"23387:8:130"},"parameters":{"id":79280,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79277,"mutability":"mutable","name":"_recipientId","nameLocation":"23315:12:130","nodeType":"VariableDeclaration","scope":79294,"src":"23307:20:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":79276,"name":"address","nodeType":"ElementaryTypeName","src":"23307:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":79279,"mutability":"mutable","name":"_data","nameLocation":"23342:5:130","nodeType":"VariableDeclaration","scope":79294,"src":"23329:18:130","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":79278,"name":"bytes","nodeType":"ElementaryTypeName","src":"23329:5:130","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"23306:42:130"},"returnParameters":{"id":79285,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79284,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":79294,"src":"23413:20:130","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_PayoutSummary_$2820_memory_ptr","typeString":"struct IStrategy.PayoutSummary"},"typeName":{"id":79283,"nodeType":"UserDefinedTypeName","pathNode":{"id":79282,"name":"PayoutSummary","nameLocations":["23413:13:130"],"nodeType":"IdentifierPath","referencedDeclaration":2820,"src":"23413:13:130"},"referencedDeclaration":2820,"src":"23413:13:130","typeDescriptions":{"typeIdentifier":"t_struct$_PayoutSummary_$2820_storage_ptr","typeString":"struct IStrategy.PayoutSummary"}},"visibility":"internal"}],"src":"23412:22:130"},"scope":80578,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":79305,"nodeType":"FunctionDefinition","src":"23557:127:130","nodes":[],"body":{"id":79304,"nodeType":"Block","src":"23634:50:130","nodes":[],"statements":[{"eventCall":{"arguments":[{"id":79301,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79296,"src":"23669:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":79300,"name":"PoolAmountIncreased","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77862,"src":"23649:19:130","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":79302,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23649:28:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":79303,"nodeType":"EmitStatement","src":"23644:33:130"}]},"baseFunctions":[74611],"implemented":true,"kind":"function","modifiers":[],"name":"_afterIncreasePoolAmount","nameLocation":"23566:24:130","overrides":{"id":79298,"nodeType":"OverrideSpecifier","overrides":[],"src":"23625:8:130"},"parameters":{"id":79297,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79296,"mutability":"mutable","name":"_amount","nameLocation":"23599:7:130","nodeType":"VariableDeclaration","scope":79305,"src":"23591:15:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79295,"name":"uint256","nodeType":"ElementaryTypeName","src":"23591:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"23590:17:130"},"returnParameters":{"id":79299,"nodeType":"ParameterList","parameters":[],"src":"23634:0:130"},"scope":80578,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":79324,"nodeType":"FunctionDefinition","src":"23779:191:130","nodes":[],"body":{"id":79323,"nodeType":"Block","src":"23864:106:130","nodes":[],"statements":[{"expression":{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":79318,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":79313,"name":"_allocator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79307,"src":"23924:10:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":79316,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"23946:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":79315,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"23938:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":79314,"name":"address","nodeType":"ElementaryTypeName","src":"23938:7:130","typeDescriptions":{}}},"id":79317,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23938:10:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"23924:24:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"hexValue":"74727565","id":79320,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"23959:4:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"id":79321,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"23924:39:130","trueExpression":{"hexValue":"66616c7365","id":79319,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"23951:5:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":79312,"id":79322,"nodeType":"Return","src":"23917:46:130"}]},"baseFunctions":[74548],"implemented":true,"kind":"function","modifiers":[],"name":"_isValidAllocator","nameLocation":"23788:17:130","overrides":{"id":79309,"nodeType":"OverrideSpecifier","overrides":[],"src":"23840:8:130"},"parameters":{"id":79308,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79307,"mutability":"mutable","name":"_allocator","nameLocation":"23814:10:130","nodeType":"VariableDeclaration","scope":79324,"src":"23806:18:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":79306,"name":"address","nodeType":"ElementaryTypeName","src":"23806:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"23805:20:130"},"returnParameters":{"id":79312,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79311,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":79324,"src":"23858:4:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":79310,"name":"bool","nodeType":"ElementaryTypeName","src":"23858:4:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"23857:6:130"},"scope":80578,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":79334,"nodeType":"FunctionDefinition","src":"23976:86:130","nodes":[],"body":{"id":79333,"nodeType":"Block","src":"24022:40:130","nodes":[],"statements":[{"expression":{"arguments":[{"id":79330,"name":"_active","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79326,"src":"24047:7:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":79329,"name":"_setPoolActive","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74531,"src":"24032:14:130","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bool_$returns$__$","typeString":"function (bool)"}},"id":79331,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24032:23:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":79332,"nodeType":"ExpressionStatement","src":"24032:23:130"}]},"functionSelector":"b5f620ce","implemented":true,"kind":"function","modifiers":[],"name":"setPoolActive","nameLocation":"23985:13:130","parameters":{"id":79327,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79326,"mutability":"mutable","name":"_active","nameLocation":"24004:7:130","nodeType":"VariableDeclaration","scope":79334,"src":"23999:12:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":79325,"name":"bool","nodeType":"ElementaryTypeName","src":"23999:4:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"23998:14:130"},"returnParameters":{"id":79328,"nodeType":"ParameterList","parameters":[],"src":"24022:0:130"},"scope":80578,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":79422,"nodeType":"FunctionDefinition","src":"24068:836:130","nodes":[],"body":{"id":79421,"nodeType":"Block","src":"24112:792:130","nodes":[],"statements":[{"assignments":[79343],"declarations":[{"constant":false,"id":79343,"mutability":"mutable","name":"proposalsIds","nameLocation":"24187:12:130","nodeType":"VariableDeclaration","scope":79421,"src":"24170:29:130","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":79341,"name":"uint256","nodeType":"ElementaryTypeName","src":"24170:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79342,"nodeType":"ArrayTypeName","src":"24170:9:130","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"id":79347,"initialValue":{"baseExpression":{"id":79344,"name":"voterStakedProposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77978,"src":"24202:20:130","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$","typeString":"mapping(address => uint256[] storage ref)"}},"id":79346,"indexExpression":{"id":79345,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79336,"src":"24223:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"24202:29:130","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage","typeString":"uint256[] storage ref"}},"nodeType":"VariableDeclarationStatement","src":"24170:61:130"},{"body":{"id":79419,"nodeType":"Block","src":"24291:607:130","statements":[{"assignments":[79360],"declarations":[{"constant":false,"id":79360,"mutability":"mutable","name":"proposalId","nameLocation":"24313:10:130","nodeType":"VariableDeclaration","scope":79419,"src":"24305:18:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79359,"name":"uint256","nodeType":"ElementaryTypeName","src":"24305:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":79364,"initialValue":{"baseExpression":{"id":79361,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79343,"src":"24326:12:130","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":79363,"indexExpression":{"id":79362,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79349,"src":"24339:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"24326:15:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"24305:36:130"},{"assignments":[79369],"declarations":[{"constant":false,"id":79369,"mutability":"mutable","name":"proposal","nameLocation":"24387:8:130","nodeType":"VariableDeclaration","scope":79419,"src":"24355:40:130","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":79368,"nodeType":"UserDefinedTypeName","pathNode":{"id":79367,"name":"StrategyStruct.Proposal","nameLocations":["24355:14:130","24370:8:130"],"nodeType":"IdentifierPath","referencedDeclaration":77721,"src":"24355:23:130"},"referencedDeclaration":77721,"src":"24355:23:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":79373,"initialValue":{"baseExpression":{"id":79370,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77969,"src":"24398:9:130","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$77721_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":79372,"indexExpression":{"id":79371,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79360,"src":"24408:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"24398:21:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"24355:64:130"},{"condition":{"arguments":[{"id":79375,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79360,"src":"24452:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":79374,"name":"proposalExists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79610,"src":"24437:14:130","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view returns (bool)"}},"id":79376,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24437:26:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":79418,"nodeType":"IfStatement","src":"24433:455:130","trueBody":{"id":79417,"nodeType":"Block","src":"24465:423:130","statements":[{"assignments":[79378],"declarations":[{"constant":false,"id":79378,"mutability":"mutable","name":"stakedPoints","nameLocation":"24491:12:130","nodeType":"VariableDeclaration","scope":79417,"src":"24483:20:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79377,"name":"uint256","nodeType":"ElementaryTypeName","src":"24483:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":79383,"initialValue":{"baseExpression":{"expression":{"id":79379,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79369,"src":"24506:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79380,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24515:17:130","memberName":"voterStakedPoints","nodeType":"MemberAccess","referencedDeclaration":77717,"src":"24506:26:130","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":79382,"indexExpression":{"id":79381,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79336,"src":"24533:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"24506:35:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"24483:58:130"},{"expression":{"id":79390,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":79384,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79369,"src":"24559:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79387,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24568:17:130","memberName":"voterStakedPoints","nodeType":"MemberAccess","referencedDeclaration":77717,"src":"24559:26:130","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":79388,"indexExpression":{"id":79386,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79336,"src":"24586:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"24559:35:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"30","id":79389,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"24597:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"24559:39:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79391,"nodeType":"ExpressionStatement","src":"24559:39:130"},{"expression":{"id":79396,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":79392,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79369,"src":"24616:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79394,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"24625:12:130","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":77700,"src":"24616:21:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"id":79395,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79378,"src":"24641:12:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"24616:37:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79397,"nodeType":"ExpressionStatement","src":"24616:37:130"},{"expression":{"id":79400,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":79398,"name":"totalStaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77942,"src":"24671:11:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"id":79399,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79378,"src":"24686:12:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"24671:27:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79401,"nodeType":"ExpressionStatement","src":"24671:27:130"},{"expression":{"arguments":[{"id":79403,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79369,"src":"24743:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},{"id":79404,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79378,"src":"24753:12:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":79402,"name":"_calculateAndSetConviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80339,"src":"24716:26:130","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_Proposal_$77721_storage_ptr_$_t_uint256_$returns$__$","typeString":"function (struct StrategyStruct.Proposal storage pointer,uint256)"}},"id":79405,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24716:50:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":79406,"nodeType":"ExpressionStatement","src":"24716:50:130"},{"eventCall":{"arguments":[{"id":79408,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79336,"src":"24802:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":79409,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79360,"src":"24811:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":79410,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"24823:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"expression":{"id":79411,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79369,"src":"24826:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79412,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24835:12:130","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":77700,"src":"24826:21:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":79413,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79369,"src":"24849:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79414,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24858:14:130","memberName":"convictionLast","nodeType":"MemberAccess","referencedDeclaration":77702,"src":"24849:23:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":79407,"name":"SupportAdded","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77890,"src":"24789:12:130","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (address,uint256,uint256,uint256,uint256)"}},"id":79415,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24789:84:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":79416,"nodeType":"EmitStatement","src":"24784:89:130"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79355,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":79352,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79349,"src":"24261:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":79353,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79343,"src":"24265:12:130","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":79354,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24278:6:130","memberName":"length","nodeType":"MemberAccess","src":"24265:19:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"24261:23:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":79420,"initializationExpression":{"assignments":[79349],"declarations":[{"constant":false,"id":79349,"mutability":"mutable","name":"i","nameLocation":"24254:1:130","nodeType":"VariableDeclaration","scope":79420,"src":"24246:9:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79348,"name":"uint256","nodeType":"ElementaryTypeName","src":"24246:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":79351,"initialValue":{"hexValue":"30","id":79350,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"24258:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"24246:13:130"},"loopExpression":{"expression":{"id":79357,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"24286:3:130","subExpression":{"id":79356,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79349,"src":"24286:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79358,"nodeType":"ExpressionStatement","src":"24286:3:130"},"nodeType":"ForStatement","src":"24241:657:130"}]},"implemented":true,"kind":"function","modifiers":[],"name":"withdraw","nameLocation":"24077:8:130","parameters":{"id":79337,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79336,"mutability":"mutable","name":"_member","nameLocation":"24094:7:130","nodeType":"VariableDeclaration","scope":79422,"src":"24086:15:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":79335,"name":"address","nodeType":"ElementaryTypeName","src":"24086:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"24085:17:130"},"returnParameters":{"id":79338,"nodeType":"ParameterList","parameters":[],"src":"24112:0:130"},"scope":80578,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":79496,"nodeType":"FunctionDefinition","src":"25466:1038:130","nodes":[],"body":{"id":79495,"nodeType":"Block","src":"25935:569:130","nodes":[],"statements":[{"assignments":[79453],"declarations":[{"constant":false,"id":79453,"mutability":"mutable","name":"proposal","nameLocation":"25977:8:130","nodeType":"VariableDeclaration","scope":79495,"src":"25945:40:130","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":79452,"nodeType":"UserDefinedTypeName","pathNode":{"id":79451,"name":"StrategyStruct.Proposal","nameLocations":["25945:14:130","25960:8:130"],"nodeType":"IdentifierPath","referencedDeclaration":77721,"src":"25945:23:130"},"referencedDeclaration":77721,"src":"25945:23:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":79457,"initialValue":{"baseExpression":{"id":79454,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77969,"src":"25988:9:130","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$77721_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":79456,"indexExpression":{"id":79455,"name":"_proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79425,"src":"25998:11:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"25988:22:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"25945:65:130"},{"expression":{"id":79469,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":79458,"name":"threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79445,"src":"26021:9:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79462,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":79459,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79453,"src":"26033:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79460,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"26042:15:130","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":77698,"src":"26033:24:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":79461,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"26061:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"26033:29:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"arguments":[{"expression":{"id":79465,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79453,"src":"26088:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79466,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"26097:15:130","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":77698,"src":"26088:24:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":79464,"name":"calculateThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80190,"src":"26069:18:130","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":79467,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26069:44:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79468,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"26033:80:130","trueExpression":{"hexValue":"30","id":79463,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"26065:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"26021:92:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79470,"nodeType":"ExpressionStatement","src":"26021:92:130"},{"expression":{"components":[{"expression":{"id":79471,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79453,"src":"26144:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79472,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"26153:9:130","memberName":"submitter","nodeType":"MemberAccess","referencedDeclaration":77706,"src":"26144:18:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":79473,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79453,"src":"26176:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79474,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"26185:11:130","memberName":"beneficiary","nodeType":"MemberAccess","referencedDeclaration":77704,"src":"26176:20:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":79475,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79453,"src":"26210:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79476,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"26219:14:130","memberName":"requestedToken","nodeType":"MemberAccess","referencedDeclaration":77708,"src":"26210:23:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":79477,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79453,"src":"26247:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79478,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"26256:15:130","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":77698,"src":"26247:24:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":79479,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79453,"src":"26285:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79480,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"26294:12:130","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":77700,"src":"26285:21:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":79481,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79453,"src":"26320:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79482,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"26329:14:130","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":77713,"src":"26320:23:130","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$77694","typeString":"enum StrategyStruct.ProposalStatus"}},{"expression":{"id":79483,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79453,"src":"26357:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79484,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"26366:9:130","memberName":"blockLast","nodeType":"MemberAccess","referencedDeclaration":77710,"src":"26357:18:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":79485,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79453,"src":"26389:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79486,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"26398:14:130","memberName":"convictionLast","nodeType":"MemberAccess","referencedDeclaration":77702,"src":"26389:23:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":79487,"name":"threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79445,"src":"26426:9:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"baseExpression":{"expression":{"id":79488,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79453,"src":"26449:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79489,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"26458:17:130","memberName":"voterStakedPoints","nodeType":"MemberAccess","referencedDeclaration":77717,"src":"26449:26:130","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":79492,"indexExpression":{"expression":{"id":79490,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"26476:3:130","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":79491,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"26480:6:130","memberName":"sender","nodeType":"MemberAccess","src":"26476:10:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"26449:38:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":79493,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"26130:367:130","typeDescriptions":{"typeIdentifier":"t_tuple$_t_address_$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_enum$_ProposalStatus_$77694_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$","typeString":"tuple(address,address,address,uint256,uint256,enum StrategyStruct.ProposalStatus,uint256,uint256,uint256,uint256)"}},"functionReturnParameters":79448,"id":79494,"nodeType":"Return","src":"26123:374:130"}]},"documentation":{"id":79423,"nodeType":"StructuredDocumentation","src":"24910:551:130","text":" @dev Get proposal details\n @param _proposalId Proposal id\n @return submitter Proposal submitter\n @return beneficiary Proposal beneficiary\n @return requestedToken Proposal requested token\n @return requestedAmount Proposal requested amount\n @return stakedAmount Proposal staked points\n @return proposalStatus Proposal status\n @return blockLast Last block when conviction was calculated\n @return convictionLast Last conviction calculated\n @return threshold Proposal threshold"},"functionSelector":"c7f758a8","implemented":true,"kind":"function","modifiers":[],"name":"getProposal","nameLocation":"25475:11:130","parameters":{"id":79426,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79425,"mutability":"mutable","name":"_proposalId","nameLocation":"25495:11:130","nodeType":"VariableDeclaration","scope":79496,"src":"25487:19:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79424,"name":"uint256","nodeType":"ElementaryTypeName","src":"25487:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"25486:21:130"},"returnParameters":{"id":79448,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79428,"mutability":"mutable","name":"submitter","nameLocation":"25576:9:130","nodeType":"VariableDeclaration","scope":79496,"src":"25568:17:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":79427,"name":"address","nodeType":"ElementaryTypeName","src":"25568:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":79430,"mutability":"mutable","name":"beneficiary","nameLocation":"25607:11:130","nodeType":"VariableDeclaration","scope":79496,"src":"25599:19:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":79429,"name":"address","nodeType":"ElementaryTypeName","src":"25599:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":79432,"mutability":"mutable","name":"requestedToken","nameLocation":"25640:14:130","nodeType":"VariableDeclaration","scope":79496,"src":"25632:22:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":79431,"name":"address","nodeType":"ElementaryTypeName","src":"25632:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":79434,"mutability":"mutable","name":"requestedAmount","nameLocation":"25676:15:130","nodeType":"VariableDeclaration","scope":79496,"src":"25668:23:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79433,"name":"uint256","nodeType":"ElementaryTypeName","src":"25668:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":79436,"mutability":"mutable","name":"stakedAmount","nameLocation":"25713:12:130","nodeType":"VariableDeclaration","scope":79496,"src":"25705:20:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79435,"name":"uint256","nodeType":"ElementaryTypeName","src":"25705:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":79439,"mutability":"mutable","name":"proposalStatus","nameLocation":"25769:14:130","nodeType":"VariableDeclaration","scope":79496,"src":"25739:44:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$77694","typeString":"enum StrategyStruct.ProposalStatus"},"typeName":{"id":79438,"nodeType":"UserDefinedTypeName","pathNode":{"id":79437,"name":"StrategyStruct.ProposalStatus","nameLocations":["25739:14:130","25754:14:130"],"nodeType":"IdentifierPath","referencedDeclaration":77694,"src":"25739:29:130"},"referencedDeclaration":77694,"src":"25739:29:130","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$77694","typeString":"enum StrategyStruct.ProposalStatus"}},"visibility":"internal"},{"constant":false,"id":79441,"mutability":"mutable","name":"blockLast","nameLocation":"25805:9:130","nodeType":"VariableDeclaration","scope":79496,"src":"25797:17:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79440,"name":"uint256","nodeType":"ElementaryTypeName","src":"25797:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":79443,"mutability":"mutable","name":"convictionLast","nameLocation":"25836:14:130","nodeType":"VariableDeclaration","scope":79496,"src":"25828:22:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79442,"name":"uint256","nodeType":"ElementaryTypeName","src":"25828:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":79445,"mutability":"mutable","name":"threshold","nameLocation":"25872:9:130","nodeType":"VariableDeclaration","scope":79496,"src":"25864:17:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79444,"name":"uint256","nodeType":"ElementaryTypeName","src":"25864:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":79447,"mutability":"mutable","name":"voterStakedPoints","nameLocation":"25903:17:130","nodeType":"VariableDeclaration","scope":79496,"src":"25895:25:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79446,"name":"uint256","nodeType":"ElementaryTypeName","src":"25895:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"25554:376:130"},"scope":80578,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":79517,"nodeType":"FunctionDefinition","src":"26510:198:130","nodes":[],"body":{"id":79516,"nodeType":"Block","src":"26592:116:130","nodes":[],"statements":[{"assignments":[79508],"declarations":[{"constant":false,"id":79508,"mutability":"mutable","name":"proposal","nameLocation":"26634:8:130","nodeType":"VariableDeclaration","scope":79516,"src":"26602:40:130","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":79507,"nodeType":"UserDefinedTypeName","pathNode":{"id":79506,"name":"StrategyStruct.Proposal","nameLocations":["26602:14:130","26617:8:130"],"nodeType":"IdentifierPath","referencedDeclaration":77721,"src":"26602:23:130"},"referencedDeclaration":77721,"src":"26602:23:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":79512,"initialValue":{"baseExpression":{"id":79509,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77969,"src":"26645:9:130","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$77721_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":79511,"indexExpression":{"id":79510,"name":"_proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79498,"src":"26655:11:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"26645:22:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"26602:65:130"},{"expression":{"expression":{"id":79513,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79508,"src":"26684:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79514,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"26693:8:130","memberName":"metadata","nodeType":"MemberAccess","referencedDeclaration":77720,"src":"26684:17:130","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage","typeString":"struct Metadata storage ref"}},"functionReturnParameters":79503,"id":79515,"nodeType":"Return","src":"26677:24:130"}]},"functionSelector":"a574cea4","implemented":true,"kind":"function","modifiers":[],"name":"getMetadata","nameLocation":"26519:11:130","parameters":{"id":79499,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79498,"mutability":"mutable","name":"_proposalId","nameLocation":"26539:11:130","nodeType":"VariableDeclaration","scope":79517,"src":"26531:19:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79497,"name":"uint256","nodeType":"ElementaryTypeName","src":"26531:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"26530:21:130"},"returnParameters":{"id":79503,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79502,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":79517,"src":"26575:15:130","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata"},"typeName":{"id":79501,"nodeType":"UserDefinedTypeName","pathNode":{"id":79500,"name":"Metadata","nameLocations":["26575:8:130"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"26575:8:130"},"referencedDeclaration":3098,"src":"26575:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"}],"src":"26574:17:130"},"scope":80578,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":79533,"nodeType":"FunctionDefinition","src":"26909:176:130","nodes":[],"body":{"id":79532,"nodeType":"Block","src":"27009:76:130","nodes":[],"statements":[{"expression":{"arguments":[{"id":79528,"name":"_proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79520,"src":"27058:11:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":79529,"name":"_voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79522,"src":"27071:6:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"id":79527,"name":"_internal_getProposalVoterStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79575,"src":"27026:31:130","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_address_$returns$_t_uint256_$","typeString":"function (uint256,address) view returns (uint256)"}},"id":79530,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27026:52:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":79526,"id":79531,"nodeType":"Return","src":"27019:59:130"}]},"documentation":{"id":79518,"nodeType":"StructuredDocumentation","src":"26714:190:130","text":" @notice Get stake of voter `_voter` on proposal #`_proposalId`\n @param _proposalId Proposal id\n @param _voter Voter address\n @return Proposal voter stake"},"functionSelector":"e0dd2c38","implemented":true,"kind":"function","modifiers":[],"name":"getProposalVoterStake","nameLocation":"26918:21:130","parameters":{"id":79523,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79520,"mutability":"mutable","name":"_proposalId","nameLocation":"26948:11:130","nodeType":"VariableDeclaration","scope":79533,"src":"26940:19:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79519,"name":"uint256","nodeType":"ElementaryTypeName","src":"26940:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":79522,"mutability":"mutable","name":"_voter","nameLocation":"26969:6:130","nodeType":"VariableDeclaration","scope":79533,"src":"26961:14:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":79521,"name":"address","nodeType":"ElementaryTypeName","src":"26961:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"26939:37:130"},"returnParameters":{"id":79526,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79525,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":79533,"src":"27000:7:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79524,"name":"uint256","nodeType":"ElementaryTypeName","src":"27000:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"26999:9:130"},"scope":80578,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":79546,"nodeType":"FunctionDefinition","src":"27091:145:130","nodes":[],"body":{"id":79545,"nodeType":"Block","src":"27177:59:130","nodes":[],"statements":[{"expression":{"expression":{"baseExpression":{"id":79540,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77969,"src":"27194:9:130","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$77721_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":79542,"indexExpression":{"id":79541,"name":"_proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79535,"src":"27204:11:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"27194:22:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"id":79543,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"27217:12:130","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":77700,"src":"27194:35:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":79539,"id":79544,"nodeType":"Return","src":"27187:42:130"}]},"functionSelector":"dc96ff2d","implemented":true,"kind":"function","modifiers":[],"name":"getProposalStakedAmount","nameLocation":"27100:23:130","parameters":{"id":79536,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79535,"mutability":"mutable","name":"_proposalId","nameLocation":"27132:11:130","nodeType":"VariableDeclaration","scope":79546,"src":"27124:19:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79534,"name":"uint256","nodeType":"ElementaryTypeName","src":"27124:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"27123:21:130"},"returnParameters":{"id":79539,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79538,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":79546,"src":"27168:7:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79537,"name":"uint256","nodeType":"ElementaryTypeName","src":"27168:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"27167:9:130"},"scope":80578,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":79558,"nodeType":"FunctionDefinition","src":"27305:127:130","nodes":[],"body":{"id":79557,"nodeType":"Block","src":"27382:50:130","nodes":[],"statements":[{"expression":{"baseExpression":{"id":79553,"name":"totalVoterStakePct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77973,"src":"27399:18:130","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":79555,"indexExpression":{"id":79554,"name":"_voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79548,"src":"27418:6:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"27399:26:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":79552,"id":79556,"nodeType":"Return","src":"27392:33:130"}]},"functionSelector":"bcc5b93b","implemented":true,"kind":"function","modifiers":[],"name":"getTotalVoterStakePct","nameLocation":"27314:21:130","parameters":{"id":79549,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79548,"mutability":"mutable","name":"_voter","nameLocation":"27344:6:130","nodeType":"VariableDeclaration","scope":79558,"src":"27336:14:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":79547,"name":"address","nodeType":"ElementaryTypeName","src":"27336:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"27335:16:130"},"returnParameters":{"id":79552,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79551,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":79558,"src":"27373:7:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79550,"name":"uint256","nodeType":"ElementaryTypeName","src":"27373:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"27372:9:130"},"scope":80578,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":79575,"nodeType":"FunctionDefinition","src":"27438:182:130","nodes":[],"body":{"id":79574,"nodeType":"Block","src":"27548:72:130","nodes":[],"statements":[{"expression":{"baseExpression":{"expression":{"baseExpression":{"id":79567,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77969,"src":"27565:9:130","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$77721_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":79569,"indexExpression":{"id":79568,"name":"_proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79560,"src":"27575:11:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"27565:22:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"id":79570,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"27588:17:130","memberName":"voterStakedPoints","nodeType":"MemberAccess","referencedDeclaration":77717,"src":"27565:40:130","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":79572,"indexExpression":{"id":79571,"name":"_voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79562,"src":"27606:6:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"27565:48:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":79566,"id":79573,"nodeType":"Return","src":"27558:55:130"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_internal_getProposalVoterStake","nameLocation":"27447:31:130","parameters":{"id":79563,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79560,"mutability":"mutable","name":"_proposalId","nameLocation":"27487:11:130","nodeType":"VariableDeclaration","scope":79575,"src":"27479:19:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79559,"name":"uint256","nodeType":"ElementaryTypeName","src":"27479:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":79562,"mutability":"mutable","name":"_voter","nameLocation":"27508:6:130","nodeType":"VariableDeclaration","scope":79575,"src":"27500:14:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":79561,"name":"address","nodeType":"ElementaryTypeName","src":"27500:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"27478:37:130"},"returnParameters":{"id":79566,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79565,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":79575,"src":"27539:7:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79564,"name":"uint256","nodeType":"ElementaryTypeName","src":"27539:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"27538:9:130"},"scope":80578,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":79585,"nodeType":"FunctionDefinition","src":"27626:145:130","nodes":[],"body":{"id":79584,"nodeType":"Block","src":"27690:81:130","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":79580,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77961,"src":"27707:17:130","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"}},"id":79581,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"27725:20:130","memberName":"getBasisStakedAmount","nodeType":"MemberAccess","referencedDeclaration":84831,"src":"27707:38:130","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint256_$","typeString":"function () view external returns (uint256)"}},"id":79582,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27707:40:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":79579,"id":79583,"nodeType":"Return","src":"27700:47:130"}]},"implemented":true,"kind":"function","modifiers":[],"name":"getBasisStakedAmount","nameLocation":"27635:20:130","parameters":{"id":79576,"nodeType":"ParameterList","parameters":[],"src":"27655:2:130"},"returnParameters":{"id":79579,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79578,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":79585,"src":"27681:7:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79577,"name":"uint256","nodeType":"ElementaryTypeName","src":"27681:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"27680:9:130"},"scope":80578,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":79610,"nodeType":"FunctionDefinition","src":"27777:185:130","nodes":[],"body":{"id":79609,"nodeType":"Block","src":"27851:111:130","nodes":[],"statements":[{"expression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":79607,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79597,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":79592,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77969,"src":"27868:9:130","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$77721_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":79594,"indexExpression":{"id":79593,"name":"_proposalID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79587,"src":"27878:11:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"27868:22:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"id":79595,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"27891:10:130","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":77696,"src":"27868:33:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":79596,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"27904:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"27868:37:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":79606,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":79598,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77969,"src":"27909:9:130","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$77721_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":79600,"indexExpression":{"id":79599,"name":"_proposalID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79587,"src":"27919:11:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"27909:22:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"id":79601,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"27932:9:130","memberName":"submitter","nodeType":"MemberAccess","referencedDeclaration":77706,"src":"27909:32:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":79604,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"27953:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":79603,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"27945:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":79602,"name":"address","nodeType":"ElementaryTypeName","src":"27945:7:130","typeDescriptions":{}}},"id":79605,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27945:10:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"27909:46:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"27868:87:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":79591,"id":79608,"nodeType":"Return","src":"27861:94:130"}]},"implemented":true,"kind":"function","modifiers":[],"name":"proposalExists","nameLocation":"27786:14:130","parameters":{"id":79588,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79587,"mutability":"mutable","name":"_proposalID","nameLocation":"27809:11:130","nodeType":"VariableDeclaration","scope":79610,"src":"27801:19:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79586,"name":"uint256","nodeType":"ElementaryTypeName","src":"27801:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"27800:21:130"},"returnParameters":{"id":79591,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79590,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":79610,"src":"27845:4:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":79589,"name":"bool","nodeType":"ElementaryTypeName","src":"27845:4:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"27844:6:130"},"scope":80578,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":79628,"nodeType":"FunctionDefinition","src":"27968:174:130","nodes":[],"body":{"id":79627,"nodeType":"Block","src":"28063:79:130","nodes":[],"statements":[{"expression":{"id":79625,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":79617,"name":"isOverMaxRatio","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79615,"src":"28073:14:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79624,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79620,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":79618,"name":"maxRatio","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77935,"src":"28090:8:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":79619,"name":"poolAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74092,"src":"28101:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"28090:21:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79623,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":79621,"name":"_requestedAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79612,"src":"28115:16:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":79622,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77919,"src":"28134:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"28115:20:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"28090:45:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"28073:62:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":79626,"nodeType":"ExpressionStatement","src":"28073:62:130"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_isOverMaxRatio","nameLocation":"27977:15:130","parameters":{"id":79613,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79612,"mutability":"mutable","name":"_requestedAmount","nameLocation":"28001:16:130","nodeType":"VariableDeclaration","scope":79628,"src":"27993:24:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79611,"name":"uint256","nodeType":"ElementaryTypeName","src":"27993:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"27992:26:130"},"returnParameters":{"id":79616,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79615,"mutability":"mutable","name":"isOverMaxRatio","nameLocation":"28047:14:130","nodeType":"VariableDeclaration","scope":79628,"src":"28042:19:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":79614,"name":"bool","nodeType":"ElementaryTypeName","src":"28042:4:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"28041:21:130"},"scope":80578,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":79724,"nodeType":"FunctionDefinition","src":"28148:1548:130","nodes":[],"body":{"id":79723,"nodeType":"Block","src":"28278:1418:130","nodes":[],"statements":[{"assignments":[79638],"declarations":[{"constant":false,"id":79638,"mutability":"mutable","name":"deltaSupportSum","nameLocation":"28295:15:130","nodeType":"VariableDeclaration","scope":79723,"src":"28288:22:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":79637,"name":"int256","nodeType":"ElementaryTypeName","src":"28288:6:130","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"id":79640,"initialValue":{"hexValue":"30","id":79639,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"28313:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"28288:26:130"},{"body":{"id":79685,"nodeType":"Block","src":"28378:576:130","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79657,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":79652,"name":"_proposalSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79634,"src":"28451:16:130","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$77726_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}},"id":79654,"indexExpression":{"id":79653,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79642,"src":"28468:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"28451:19:130","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$77726_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory"}},"id":79655,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"28471:10:130","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":77723,"src":"28451:30:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":79656,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"28485:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"28451:35:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":79660,"nodeType":"IfStatement","src":"28447:187:130","trueBody":{"id":79659,"nodeType":"Block","src":"28488:146:130","statements":[{"id":79658,"nodeType":"Continue","src":"28611:8:130"}]}},{"assignments":[79662],"declarations":[{"constant":false,"id":79662,"mutability":"mutable","name":"proposalId","nameLocation":"28655:10:130","nodeType":"VariableDeclaration","scope":79685,"src":"28647:18:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79661,"name":"uint256","nodeType":"ElementaryTypeName","src":"28647:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":79667,"initialValue":{"expression":{"baseExpression":{"id":79663,"name":"_proposalSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79634,"src":"28668:16:130","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$77726_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}},"id":79665,"indexExpression":{"id":79664,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79642,"src":"28685:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"28668:19:130","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$77726_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory"}},"id":79666,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"28688:10:130","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":77723,"src":"28668:30:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"28647:51:130"},{"condition":{"id":79671,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"28716:27:130","subExpression":{"arguments":[{"id":79669,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79662,"src":"28732:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":79668,"name":"proposalExists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79610,"src":"28717:14:130","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view returns (bool)"}},"id":79670,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28717:26:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":79677,"nodeType":"IfStatement","src":"28712:167:130","trueBody":{"id":79676,"nodeType":"Block","src":"28745:134:130","statements":[{"errorCall":{"arguments":[{"id":79673,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79662,"src":"28788:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":79672,"name":"ProposalNotInList","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77815,"src":"28770:17:130","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":79674,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28770:29:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":79675,"nodeType":"RevertStatement","src":"28763:36:130"}]}},{"expression":{"id":79683,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":79678,"name":"deltaSupportSum","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79638,"src":"28892:15:130","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"expression":{"baseExpression":{"id":79679,"name":"_proposalSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79634,"src":"28911:16:130","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$77726_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}},"id":79681,"indexExpression":{"id":79680,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79642,"src":"28928:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"28911:19:130","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$77726_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory"}},"id":79682,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"28931:12:130","memberName":"deltaSupport","nodeType":"MemberAccess","referencedDeclaration":77725,"src":"28911:32:130","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"28892:51:130","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":79684,"nodeType":"ExpressionStatement","src":"28892:51:130"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79648,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":79645,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79642,"src":"28344:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":79646,"name":"_proposalSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79634,"src":"28348:16:130","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$77726_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}},"id":79647,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"28365:6:130","memberName":"length","nodeType":"MemberAccess","src":"28348:23:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"28344:27:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":79686,"initializationExpression":{"assignments":[79642],"declarations":[{"constant":false,"id":79642,"mutability":"mutable","name":"i","nameLocation":"28337:1:130","nodeType":"VariableDeclaration","scope":79686,"src":"28329:9:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79641,"name":"uint256","nodeType":"ElementaryTypeName","src":"28329:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":79644,"initialValue":{"hexValue":"30","id":79643,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"28341:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"28329:13:130"},"loopExpression":{"expression":{"id":79650,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"28373:3:130","subExpression":{"id":79649,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79642,"src":"28373:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79651,"nodeType":"ExpressionStatement","src":"28373:3:130"},"nodeType":"ForStatement","src":"28324:630:130"},{"assignments":[79688],"declarations":[{"constant":false,"id":79688,"mutability":"mutable","name":"newTotalVotingSupport","nameLocation":"29058:21:130","nodeType":"VariableDeclaration","scope":79723,"src":"29050:29:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79687,"name":"uint256","nodeType":"ElementaryTypeName","src":"29050:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":79695,"initialValue":{"arguments":[{"arguments":[{"id":79691,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79630,"src":"29116:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":79690,"name":"getTotalVoterStakePct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79558,"src":"29094:21:130","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view returns (uint256)"}},"id":79692,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29094:30:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":79693,"name":"deltaSupportSum","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79638,"src":"29126:15:130","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":79689,"name":"_applyDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80046,"src":"29082:11:130","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_int256_$returns$_t_uint256_$","typeString":"function (uint256,int256) pure returns (uint256)"}},"id":79694,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29082:60:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"29050:92:130"},{"assignments":[79697],"declarations":[{"constant":false,"id":79697,"mutability":"mutable","name":"participantBalance","nameLocation":"29232:18:130","nodeType":"VariableDeclaration","scope":79723,"src":"29224:26:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79696,"name":"uint256","nodeType":"ElementaryTypeName","src":"29224:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":79706,"initialValue":{"arguments":[{"id":79700,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79630,"src":"29296:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":79703,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"29313:4:130","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$80578","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$80578","typeString":"contract CVStrategyV0_0"}],"id":79702,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"29305:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":79701,"name":"address","nodeType":"ElementaryTypeName","src":"29305:7:130","typeDescriptions":{}}},"id":79704,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29305:13:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":79698,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77961,"src":"29253:17:130","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"}},"id":79699,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"29271:24:130","memberName":"getMemberPowerInStrategy","nodeType":"MemberAccess","referencedDeclaration":84375,"src":"29253:42:130","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view external returns (uint256)"}},"id":79705,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29253:66:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"29224:95:130"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79709,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":79707,"name":"newTotalVotingSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79688,"src":"29485:21:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":79708,"name":"participantBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79697,"src":"29509:18:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"29485:42:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":79716,"nodeType":"IfStatement","src":"29481:147:130","trueBody":{"id":79715,"nodeType":"Block","src":"29529:99:130","statements":[{"errorCall":{"arguments":[{"id":79711,"name":"newTotalVotingSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79688,"src":"29575:21:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":79712,"name":"participantBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79697,"src":"29598:18:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":79710,"name":"NotEnoughPointsToSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77803,"src":"29550:24:130","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":79713,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29550:67:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":79714,"nodeType":"RevertStatement","src":"29543:74:130"}]}},{"expression":{"id":79721,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":79717,"name":"totalVoterStakePct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77973,"src":"29638:18:130","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":79719,"indexExpression":{"id":79718,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79630,"src":"29657:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"29638:27:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":79720,"name":"newTotalVotingSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79688,"src":"29668:21:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"29638:51:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79722,"nodeType":"ExpressionStatement","src":"29638:51:130"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_check_before_addSupport","nameLocation":"28157:24:130","parameters":{"id":79635,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79630,"mutability":"mutable","name":"_sender","nameLocation":"28190:7:130","nodeType":"VariableDeclaration","scope":79724,"src":"28182:15:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":79629,"name":"address","nodeType":"ElementaryTypeName","src":"28182:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":79634,"mutability":"mutable","name":"_proposalSupport","nameLocation":"28239:16:130","nodeType":"VariableDeclaration","scope":79724,"src":"28199:56:130","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$77726_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport[]"},"typeName":{"baseType":{"id":79632,"nodeType":"UserDefinedTypeName","pathNode":{"id":79631,"name":"StrategyStruct.ProposalSupport","nameLocations":["28199:14:130","28214:15:130"],"nodeType":"IdentifierPath","referencedDeclaration":77726,"src":"28199:30:130"},"referencedDeclaration":77726,"src":"28199:30:130","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$77726_storage_ptr","typeString":"struct StrategyStruct.ProposalSupport"}},"id":79633,"nodeType":"ArrayTypeName","src":"28199:32:130","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$77726_storage_$dyn_storage_ptr","typeString":"struct StrategyStruct.ProposalSupport[]"}},"visibility":"internal"}],"src":"28181:75:130"},"returnParameters":{"id":79636,"nodeType":"ParameterList","parameters":[],"src":"28278:0:130"},"scope":80578,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":80011,"nodeType":"FunctionDefinition","src":"29702:3479:130","nodes":[],"body":{"id":80010,"nodeType":"Block","src":"29807:3374:130","nodes":[],"statements":[{"assignments":[79737],"declarations":[{"constant":false,"id":79737,"mutability":"mutable","name":"proposalsIds","nameLocation":"29834:12:130","nodeType":"VariableDeclaration","scope":80010,"src":"29817:29:130","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":79735,"name":"uint256","nodeType":"ElementaryTypeName","src":"29817:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79736,"nodeType":"ArrayTypeName","src":"29817:9:130","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"id":79738,"nodeType":"VariableDeclarationStatement","src":"29817:29:130"},{"body":{"id":80008,"nodeType":"Block","src":"29910:3265:130","statements":[{"assignments":[79751],"declarations":[{"constant":false,"id":79751,"mutability":"mutable","name":"proposalId","nameLocation":"29932:10:130","nodeType":"VariableDeclaration","scope":80008,"src":"29924:18:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79750,"name":"uint256","nodeType":"ElementaryTypeName","src":"29924:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":79756,"initialValue":{"expression":{"baseExpression":{"id":79752,"name":"_proposalSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79730,"src":"29945:16:130","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$77726_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}},"id":79754,"indexExpression":{"id":79753,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79740,"src":"29962:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"29945:19:130","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$77726_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory"}},"id":79755,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"29965:10:130","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":77723,"src":"29945:30:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"29924:51:130"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79760,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":79757,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79737,"src":"30048:12:130","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":79758,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30061:6:130","memberName":"length","nodeType":"MemberAccess","src":"30048:19:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":79759,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"30071:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"30048:24:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":79859,"nodeType":"Block","src":"30200:764:130","statements":[{"assignments":[79777],"declarations":[{"constant":false,"id":79777,"mutability":"mutable","name":"exist","nameLocation":"30223:5:130","nodeType":"VariableDeclaration","scope":79859,"src":"30218:10:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":79776,"name":"bool","nodeType":"ElementaryTypeName","src":"30218:4:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":79779,"initialValue":{"hexValue":"66616c7365","id":79778,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"30231:5:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"nodeType":"VariableDeclarationStatement","src":"30218:18:130"},{"body":{"id":79807,"nodeType":"Block","src":"30304:268:130","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79795,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"id":79791,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79737,"src":"30355:12:130","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":79793,"indexExpression":{"id":79792,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79781,"src":"30368:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"30355:15:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":79794,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79751,"src":"30374:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"30355:29:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":79806,"nodeType":"IfStatement","src":"30351:203:130","trueBody":{"id":79805,"nodeType":"Block","src":"30386:168:130","statements":[{"expression":{"id":79798,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":79796,"name":"exist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79777,"src":"30412:5:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":79797,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"30420:4:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"30412:12:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":79799,"nodeType":"ExpressionStatement","src":"30412:12:130"},{"errorCall":{"arguments":[{"id":79801,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79751,"src":"30483:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":79802,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79781,"src":"30495:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":79800,"name":"ProposalSupportDuplicated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77821,"src":"30457:25:130","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":79803,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30457:40:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":79804,"nodeType":"RevertStatement","src":"30450:47:130"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79787,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":79784,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79781,"src":"30274:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":79785,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79737,"src":"30278:12:130","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":79786,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30291:6:130","memberName":"length","nodeType":"MemberAccess","src":"30278:19:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"30274:23:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":79808,"initializationExpression":{"assignments":[79781],"declarations":[{"constant":false,"id":79781,"mutability":"mutable","name":"j","nameLocation":"30267:1:130","nodeType":"VariableDeclaration","scope":79808,"src":"30259:9:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79780,"name":"uint256","nodeType":"ElementaryTypeName","src":"30259:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":79783,"initialValue":{"hexValue":"30","id":79782,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"30271:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"30259:13:130"},"loopExpression":{"expression":{"id":79789,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"30299:3:130","subExpression":{"id":79788,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79781,"src":"30299:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79790,"nodeType":"ExpressionStatement","src":"30299:3:130"},"nodeType":"ForStatement","src":"30254:318:130"},{"condition":{"id":79810,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"30593:6:130","subExpression":{"id":79809,"name":"exist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79777,"src":"30594:5:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":79858,"nodeType":"IfStatement","src":"30589:361:130","trueBody":{"id":79857,"nodeType":"Block","src":"30601:349:130","statements":[{"assignments":[79815],"declarations":[{"constant":false,"id":79815,"mutability":"mutable","name":"temp","nameLocation":"30640:4:130","nodeType":"VariableDeclaration","scope":79857,"src":"30623:21:130","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":79813,"name":"uint256","nodeType":"ElementaryTypeName","src":"30623:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79814,"nodeType":"ArrayTypeName","src":"30623:9:130","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"id":79824,"initialValue":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79822,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":79819,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79737,"src":"30661:12:130","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":79820,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30674:6:130","memberName":"length","nodeType":"MemberAccess","src":"30661:19:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"31","id":79821,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"30683:1:130","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"30661:23:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":79818,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"30647:13:130","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (uint256[] memory)"},"typeName":{"baseType":{"id":79816,"name":"uint256","nodeType":"ElementaryTypeName","src":"30651:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79817,"nodeType":"ArrayTypeName","src":"30651:9:130","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}}},"id":79823,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30647:38:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"nodeType":"VariableDeclarationStatement","src":"30623:62:130"},{"body":{"id":79844,"nodeType":"Block","src":"30757:74:130","statements":[{"expression":{"id":79842,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":79836,"name":"temp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79815,"src":"30783:4:130","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":79838,"indexExpression":{"id":79837,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79826,"src":"30788:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"30783:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"baseExpression":{"id":79839,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79737,"src":"30793:12:130","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":79841,"indexExpression":{"id":79840,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79826,"src":"30806:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"30793:15:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"30783:25:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79843,"nodeType":"ExpressionStatement","src":"30783:25:130"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79832,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":79829,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79826,"src":"30727:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":79830,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79737,"src":"30731:12:130","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":79831,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30744:6:130","memberName":"length","nodeType":"MemberAccess","src":"30731:19:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"30727:23:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":79845,"initializationExpression":{"assignments":[79826],"declarations":[{"constant":false,"id":79826,"mutability":"mutable","name":"j","nameLocation":"30720:1:130","nodeType":"VariableDeclaration","scope":79845,"src":"30712:9:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79825,"name":"uint256","nodeType":"ElementaryTypeName","src":"30712:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":79828,"initialValue":{"hexValue":"30","id":79827,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"30724:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"30712:13:130"},"loopExpression":{"expression":{"id":79834,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"30752:3:130","subExpression":{"id":79833,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79826,"src":"30752:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79835,"nodeType":"ExpressionStatement","src":"30752:3:130"},"nodeType":"ForStatement","src":"30707:124:130"},{"expression":{"id":79851,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":79846,"name":"temp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79815,"src":"30852:4:130","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":79849,"indexExpression":{"expression":{"id":79847,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79737,"src":"30857:12:130","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":79848,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30870:6:130","memberName":"length","nodeType":"MemberAccess","src":"30857:19:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"30852:25:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":79850,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79751,"src":"30880:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"30852:38:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79852,"nodeType":"ExpressionStatement","src":"30852:38:130"},{"expression":{"id":79855,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":79853,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79737,"src":"30912:12:130","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":79854,"name":"temp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79815,"src":"30927:4:130","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"src":"30912:19:130","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":79856,"nodeType":"ExpressionStatement","src":"30912:19:130"}]}}]},"id":79860,"nodeType":"IfStatement","src":"30044:920:130","trueBody":{"id":79775,"nodeType":"Block","src":"30074:120:130","statements":[{"expression":{"id":79767,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":79761,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79737,"src":"30092:12:130","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"31","id":79765,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"30121:1:130","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":79764,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"30107:13:130","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (uint256[] memory)"},"typeName":{"baseType":{"id":79762,"name":"uint256","nodeType":"ElementaryTypeName","src":"30111:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79763,"nodeType":"ArrayTypeName","src":"30111:9:130","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}}},"id":79766,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30107:16:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"src":"30092:31:130","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":79768,"nodeType":"ExpressionStatement","src":"30092:31:130"},{"expression":{"id":79773,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":79769,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79737,"src":"30141:12:130","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":79771,"indexExpression":{"hexValue":"30","id":79770,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"30154:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"30141:15:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":79772,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79751,"src":"30159:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"30141:28:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79774,"nodeType":"ExpressionStatement","src":"30141:28:130"}]}},{"assignments":[79862],"declarations":[{"constant":false,"id":79862,"mutability":"mutable","name":"delta","nameLocation":"30984:5:130","nodeType":"VariableDeclaration","scope":80008,"src":"30977:12:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":79861,"name":"int256","nodeType":"ElementaryTypeName","src":"30977:6:130","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"id":79867,"initialValue":{"expression":{"baseExpression":{"id":79863,"name":"_proposalSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79730,"src":"30992:16:130","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$77726_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}},"id":79865,"indexExpression":{"id":79864,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79740,"src":"31009:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"30992:19:130","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$77726_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory"}},"id":79866,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"31012:12:130","memberName":"deltaSupport","nodeType":"MemberAccess","referencedDeclaration":77725,"src":"30992:32:130","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"VariableDeclarationStatement","src":"30977:47:130"},{"assignments":[79872],"declarations":[{"constant":false,"id":79872,"mutability":"mutable","name":"proposal","nameLocation":"31071:8:130","nodeType":"VariableDeclaration","scope":80008,"src":"31039:40:130","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":79871,"nodeType":"UserDefinedTypeName","pathNode":{"id":79870,"name":"StrategyStruct.Proposal","nameLocations":["31039:14:130","31054:8:130"],"nodeType":"IdentifierPath","referencedDeclaration":77721,"src":"31039:23:130"},"referencedDeclaration":77721,"src":"31039:23:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":79876,"initialValue":{"baseExpression":{"id":79873,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77969,"src":"31082:9:130","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$77721_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":79875,"indexExpression":{"id":79874,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79751,"src":"31092:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"31082:21:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"31039:64:130"},{"assignments":[79878],"declarations":[{"constant":false,"id":79878,"mutability":"mutable","name":"previousStakedPoints","nameLocation":"31213:20:130","nodeType":"VariableDeclaration","scope":80008,"src":"31205:28:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79877,"name":"uint256","nodeType":"ElementaryTypeName","src":"31205:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":79883,"initialValue":{"baseExpression":{"expression":{"id":79879,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79872,"src":"31236:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79880,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"31245:17:130","memberName":"voterStakedPoints","nodeType":"MemberAccess","referencedDeclaration":77717,"src":"31236:26:130","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":79882,"indexExpression":{"id":79881,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79726,"src":"31263:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"31236:35:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"31205:66:130"},{"assignments":[79885],"declarations":[{"constant":false,"id":79885,"mutability":"mutable","name":"stakedPoints","nameLocation":"31444:12:130","nodeType":"VariableDeclaration","scope":80008,"src":"31436:20:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79884,"name":"uint256","nodeType":"ElementaryTypeName","src":"31436:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":79890,"initialValue":{"arguments":[{"id":79887,"name":"previousStakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79878,"src":"31471:20:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":79888,"name":"delta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79862,"src":"31493:5:130","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":79886,"name":"_applyDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80046,"src":"31459:11:130","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_int256_$returns$_t_uint256_$","typeString":"function (uint256,int256) pure returns (uint256)"}},"id":79889,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31459:40:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"31436:63:130"},{"expression":{"id":79897,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":79891,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79872,"src":"31634:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79894,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"31643:17:130","memberName":"voterStakedPoints","nodeType":"MemberAccess","referencedDeclaration":77717,"src":"31634:26:130","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":79895,"indexExpression":{"id":79893,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79726,"src":"31661:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"31634:35:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":79896,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79885,"src":"31672:12:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"31634:50:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79898,"nodeType":"ExpressionStatement","src":"31634:50:130"},{"assignments":[79900],"declarations":[{"constant":false,"id":79900,"mutability":"mutable","name":"hasProposal","nameLocation":"31923:11:130","nodeType":"VariableDeclaration","scope":80008,"src":"31918:16:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":79899,"name":"bool","nodeType":"ElementaryTypeName","src":"31918:4:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":79902,"initialValue":{"hexValue":"66616c7365","id":79901,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"31937:5:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"nodeType":"VariableDeclarationStatement","src":"31918:24:130"},{"body":{"id":79931,"nodeType":"Block","src":"32023:179:130","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79923,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"baseExpression":{"id":79916,"name":"voterStakedProposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77978,"src":"32045:20:130","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$","typeString":"mapping(address => uint256[] storage ref)"}},"id":79918,"indexExpression":{"id":79917,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79726,"src":"32066:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"32045:29:130","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage","typeString":"uint256[] storage ref"}},"id":79920,"indexExpression":{"id":79919,"name":"k","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79904,"src":"32075:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"32045:32:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":79921,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79872,"src":"32081:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79922,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"32090:10:130","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":77696,"src":"32081:19:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"32045:55:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":79930,"nodeType":"IfStatement","src":"32041:147:130","trueBody":{"id":79929,"nodeType":"Block","src":"32102:86:130","statements":[{"expression":{"id":79926,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":79924,"name":"hasProposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79900,"src":"32124:11:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":79925,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"32138:4:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"32124:18:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":79927,"nodeType":"ExpressionStatement","src":"32124:18:130"},{"id":79928,"nodeType":"Break","src":"32164:5:130"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79912,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":79907,"name":"k","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79904,"src":"31976:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"baseExpression":{"id":79908,"name":"voterStakedProposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77978,"src":"31980:20:130","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$","typeString":"mapping(address => uint256[] storage ref)"}},"id":79910,"indexExpression":{"id":79909,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79726,"src":"32001:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"31980:29:130","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage","typeString":"uint256[] storage ref"}},"id":79911,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"32010:6:130","memberName":"length","nodeType":"MemberAccess","src":"31980:36:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"31976:40:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":79932,"initializationExpression":{"assignments":[79904],"declarations":[{"constant":false,"id":79904,"mutability":"mutable","name":"k","nameLocation":"31969:1:130","nodeType":"VariableDeclaration","scope":79932,"src":"31961:9:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79903,"name":"uint256","nodeType":"ElementaryTypeName","src":"31961:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":79906,"initialValue":{"hexValue":"30","id":79905,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"31973:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"31961:13:130"},"loopExpression":{"expression":{"id":79914,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"32018:3:130","subExpression":{"id":79913,"name":"k","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79904,"src":"32018:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79915,"nodeType":"ExpressionStatement","src":"32018:3:130"},"nodeType":"ForStatement","src":"31956:246:130"},{"condition":{"id":79934,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"32219:12:130","subExpression":{"id":79933,"name":"hasProposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79900,"src":"32220:11:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":79944,"nodeType":"IfStatement","src":"32215:106:130","trueBody":{"id":79943,"nodeType":"Block","src":"32233:88:130","statements":[{"expression":{"arguments":[{"expression":{"id":79939,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79872,"src":"32286:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79940,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"32295:10:130","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":77696,"src":"32286:19:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"baseExpression":{"id":79935,"name":"voterStakedProposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77978,"src":"32251:20:130","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$","typeString":"mapping(address => uint256[] storage ref)"}},"id":79937,"indexExpression":{"id":79936,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79726,"src":"32272:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"32251:29:130","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage","typeString":"uint256[] storage ref"}},"id":79938,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"32281:4:130","memberName":"push","nodeType":"MemberAccess","src":"32251:34:130","typeDescriptions":{"typeIdentifier":"t_function_arraypush_nonpayable$_t_array$_t_uint256_$dyn_storage_ptr_$_t_uint256_$returns$__$attached_to$_t_array$_t_uint256_$dyn_storage_ptr_$","typeString":"function (uint256[] storage pointer,uint256)"}},"id":79941,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32251:55:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":79942,"nodeType":"ExpressionStatement","src":"32251:55:130"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79947,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":79945,"name":"previousStakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79878,"src":"32476:20:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"id":79946,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79885,"src":"32500:12:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"32476:36:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":79977,"nodeType":"Block","src":"32681:161:130","statements":[{"expression":{"id":79967,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":79963,"name":"totalStaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77942,"src":"32699:11:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79966,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":79964,"name":"previousStakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79878,"src":"32714:20:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":79965,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79885,"src":"32737:12:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"32714:35:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"32699:50:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79968,"nodeType":"ExpressionStatement","src":"32699:50:130"},{"expression":{"id":79975,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":79969,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79872,"src":"32767:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79971,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"32776:12:130","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":77700,"src":"32767:21:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79974,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":79972,"name":"previousStakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79878,"src":"32792:20:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":79973,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79885,"src":"32815:12:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"32792:35:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"32767:60:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79976,"nodeType":"ExpressionStatement","src":"32767:60:130"}]},"id":79978,"nodeType":"IfStatement","src":"32472:370:130","trueBody":{"id":79962,"nodeType":"Block","src":"32514:161:130","statements":[{"expression":{"id":79952,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":79948,"name":"totalStaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77942,"src":"32532:11:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79951,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":79949,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79885,"src":"32547:12:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":79950,"name":"previousStakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79878,"src":"32562:20:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"32547:35:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"32532:50:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79953,"nodeType":"ExpressionStatement","src":"32532:50:130"},{"expression":{"id":79960,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":79954,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79872,"src":"32600:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79956,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"32609:12:130","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":77700,"src":"32600:21:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79959,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":79957,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79885,"src":"32625:12:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":79958,"name":"previousStakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79878,"src":"32640:20:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"32625:35:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"32600:60:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79961,"nodeType":"ExpressionStatement","src":"32600:60:130"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79982,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":79979,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79872,"src":"32859:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79980,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"32868:9:130","memberName":"blockLast","nodeType":"MemberAccess","referencedDeclaration":77710,"src":"32859:18:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":79981,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"32881:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"32859:23:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":80006,"nodeType":"Block","src":"32956:209:130","statements":[{"expression":{"arguments":[{"id":79992,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79872,"src":"33001:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},{"id":79993,"name":"previousStakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79878,"src":"33011:20:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":79991,"name":"_calculateAndSetConviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80339,"src":"32974:26:130","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_Proposal_$77721_storage_ptr_$_t_uint256_$returns$__$","typeString":"function (struct StrategyStruct.Proposal storage pointer,uint256)"}},"id":79994,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32974:58:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":79995,"nodeType":"ExpressionStatement","src":"32974:58:130"},{"eventCall":{"arguments":[{"id":79997,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79726,"src":"33068:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":79998,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79751,"src":"33077:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":79999,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79885,"src":"33089:12:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":80000,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79872,"src":"33103:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":80001,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"33112:12:130","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":77700,"src":"33103:21:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":80002,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79872,"src":"33126:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":80003,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"33135:14:130","memberName":"convictionLast","nodeType":"MemberAccess","referencedDeclaration":77702,"src":"33126:23:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":79996,"name":"SupportAdded","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77890,"src":"33055:12:130","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (address,uint256,uint256,uint256,uint256)"}},"id":80004,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33055:95:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":80005,"nodeType":"EmitStatement","src":"33050:100:130"}]},"id":80007,"nodeType":"IfStatement","src":"32855:310:130","trueBody":{"id":79990,"nodeType":"Block","src":"32884:66:130","statements":[{"expression":{"id":79988,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":79983,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79872,"src":"32902:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79985,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"32911:9:130","memberName":"blockLast","nodeType":"MemberAccess","referencedDeclaration":77710,"src":"32902:18:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":79986,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"32923:5:130","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":79987,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"32929:6:130","memberName":"number","nodeType":"MemberAccess","src":"32923:12:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"32902:33:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79989,"nodeType":"ExpressionStatement","src":"32902:33:130"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79746,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":79743,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79740,"src":"29876:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":79744,"name":"_proposalSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79730,"src":"29880:16:130","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$77726_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}},"id":79745,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"29897:6:130","memberName":"length","nodeType":"MemberAccess","src":"29880:23:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"29876:27:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":80009,"initializationExpression":{"assignments":[79740],"declarations":[{"constant":false,"id":79740,"mutability":"mutable","name":"i","nameLocation":"29869:1:130","nodeType":"VariableDeclaration","scope":80009,"src":"29861:9:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79739,"name":"uint256","nodeType":"ElementaryTypeName","src":"29861:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":79742,"initialValue":{"hexValue":"30","id":79741,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29873:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"29861:13:130"},"loopExpression":{"expression":{"id":79748,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"29905:3:130","subExpression":{"id":79747,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79740,"src":"29905:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79749,"nodeType":"ExpressionStatement","src":"29905:3:130"},"nodeType":"ForStatement","src":"29856:3319:130"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_addSupport","nameLocation":"29711:11:130","parameters":{"id":79731,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79726,"mutability":"mutable","name":"_sender","nameLocation":"29731:7:130","nodeType":"VariableDeclaration","scope":80011,"src":"29723:15:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":79725,"name":"address","nodeType":"ElementaryTypeName","src":"29723:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":79730,"mutability":"mutable","name":"_proposalSupport","nameLocation":"29780:16:130","nodeType":"VariableDeclaration","scope":80011,"src":"29740:56:130","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$77726_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport[]"},"typeName":{"baseType":{"id":79728,"nodeType":"UserDefinedTypeName","pathNode":{"id":79727,"name":"StrategyStruct.ProposalSupport","nameLocations":["29740:14:130","29755:15:130"],"nodeType":"IdentifierPath","referencedDeclaration":77726,"src":"29740:30:130"},"referencedDeclaration":77726,"src":"29740:30:130","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$77726_storage_ptr","typeString":"struct StrategyStruct.ProposalSupport"}},"id":79729,"nodeType":"ArrayTypeName","src":"29740:32:130","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$77726_storage_$dyn_storage_ptr","typeString":"struct StrategyStruct.ProposalSupport[]"}},"visibility":"internal"}],"src":"29722:75:130"},"returnParameters":{"id":79732,"nodeType":"ParameterList","parameters":[],"src":"29807:0:130"},"scope":80578,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":80046,"nodeType":"FunctionDefinition","src":"33187:276:130","nodes":[],"body":{"id":80045,"nodeType":"Block","src":"33273:190:130","nodes":[],"statements":[{"assignments":[80021],"declarations":[{"constant":false,"id":80021,"mutability":"mutable","name":"result","nameLocation":"33290:6:130","nodeType":"VariableDeclaration","scope":80045,"src":"33283:13:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":80020,"name":"int256","nodeType":"ElementaryTypeName","src":"33283:6:130","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"id":80028,"initialValue":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":80027,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":80024,"name":"_support","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80013,"src":"33306:8:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":80023,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"33299:6:130","typeDescriptions":{"typeIdentifier":"t_type$_t_int256_$","typeString":"type(int256)"},"typeName":{"id":80022,"name":"int256","nodeType":"ElementaryTypeName","src":"33299:6:130","typeDescriptions":{}}},"id":80025,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33299:16:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":80026,"name":"_delta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80015,"src":"33318:6:130","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"33299:25:130","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"VariableDeclarationStatement","src":"33283:41:130"},{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":80031,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":80029,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80021,"src":"33339:6:130","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"hexValue":"30","id":80030,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"33348:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"33339:10:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":80039,"nodeType":"IfStatement","src":"33335:90:130","trueBody":{"id":80038,"nodeType":"Block","src":"33351:74:130","statements":[{"errorCall":{"arguments":[{"id":80033,"name":"_support","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80013,"src":"33389:8:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":80034,"name":"_delta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80015,"src":"33399:6:130","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":80035,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80021,"src":"33407:6:130","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":80032,"name":"SupportUnderflow","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77793,"src":"33372:16:130","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_int256_$_t_int256_$returns$__$","typeString":"function (uint256,int256,int256) pure"}},"id":80036,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33372:42:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":80037,"nodeType":"RevertStatement","src":"33365:49:130"}]}},{"expression":{"arguments":[{"id":80042,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80021,"src":"33449:6:130","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":80041,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"33441:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":80040,"name":"uint256","nodeType":"ElementaryTypeName","src":"33441:7:130","typeDescriptions":{}}},"id":80043,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33441:15:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":80019,"id":80044,"nodeType":"Return","src":"33434:22:130"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_applyDelta","nameLocation":"33196:11:130","parameters":{"id":80016,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80013,"mutability":"mutable","name":"_support","nameLocation":"33216:8:130","nodeType":"VariableDeclaration","scope":80046,"src":"33208:16:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80012,"name":"uint256","nodeType":"ElementaryTypeName","src":"33208:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":80015,"mutability":"mutable","name":"_delta","nameLocation":"33233:6:130","nodeType":"VariableDeclaration","scope":80046,"src":"33226:13:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":80014,"name":"int256","nodeType":"ElementaryTypeName","src":"33226:6:130","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"33207:33:130"},"returnParameters":{"id":80019,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80018,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":80046,"src":"33264:7:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80017,"name":"uint256","nodeType":"ElementaryTypeName","src":"33264:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"33263:9:130"},"scope":80578,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":80102,"nodeType":"FunctionDefinition","src":"33880:1145:130","nodes":[],"body":{"id":80101,"nodeType":"Block","src":"34027:998:130","nodes":[],"statements":[{"assignments":[80059],"declarations":[{"constant":false,"id":80059,"mutability":"mutable","name":"t","nameLocation":"34045:1:130","nodeType":"VariableDeclaration","scope":80101,"src":"34037:9:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80058,"name":"uint256","nodeType":"ElementaryTypeName","src":"34037:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":80061,"initialValue":{"id":80060,"name":"_timePassed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80049,"src":"34049:11:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"34037:23:130"},{"assignments":[80063],"declarations":[{"constant":false,"id":80063,"mutability":"mutable","name":"atTWO_128","nameLocation":"34383:9:130","nodeType":"VariableDeclaration","scope":80101,"src":"34375:17:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80062,"name":"uint256","nodeType":"ElementaryTypeName","src":"34375:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":80073,"initialValue":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80070,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80067,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":80065,"name":"decay","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77933,"src":"34401:5:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"313238","id":80066,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"34410:3:130","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"34401:12:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":80068,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"34400:14:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":80069,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77919,"src":"34417:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"34400:18:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":80071,"name":"t","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80059,"src":"34420:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":80064,"name":"_pow","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80290,"src":"34395:4:130","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":80072,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34395:27:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"34375:47:130"},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80099,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80096,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80093,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80076,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":80074,"name":"atTWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80063,"src":"34918:9:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":80075,"name":"_lastConv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80051,"src":"34930:9:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"34918:21:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":80077,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"34917:23:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80091,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80085,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80080,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":80078,"name":"_oldAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80053,"src":"34945:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":80079,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77919,"src":"34958:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"34945:14:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80083,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":80081,"name":"TWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77922,"src":"34963:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":80082,"name":"atTWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80063,"src":"34973:9:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"34963:19:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":80084,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"34962:21:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"34945:38:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":80086,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"34944:40:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80089,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":80087,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77919,"src":"34988:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":80088,"name":"decay","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77933,"src":"34992:5:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"34988:9:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":80090,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"34987:11:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"34944:54:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":80092,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"34943:56:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"34917:82:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":80094,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"34916:84:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":80095,"name":"TWO_127","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77925,"src":"35003:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"34916:94:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":80097,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"34915:96:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"313238","id":80098,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"35015:3:130","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"34915:103:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":80057,"id":80100,"nodeType":"Return","src":"34908:110:130"}]},"documentation":{"id":80047,"nodeType":"StructuredDocumentation","src":"33469:406:130","text":" @dev Conviction formula: a^t * y(0) + x * (1 - a^t) / (1 - a)\n Solidity implementation: y = (2^128 * a^t * y0 + x * D * (2^128 - 2^128 * a^t) / (D - aD) + 2^127) / 2^128\n @param _timePassed Number of blocks since last conviction record\n @param _lastConv Last conviction record\n @param _oldAmount Amount of tokens staked until now\n @return Current conviction"},"functionSelector":"346db8cb","implemented":true,"kind":"function","modifiers":[],"name":"calculateConviction","nameLocation":"33889:19:130","parameters":{"id":80054,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80049,"mutability":"mutable","name":"_timePassed","nameLocation":"33917:11:130","nodeType":"VariableDeclaration","scope":80102,"src":"33909:19:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80048,"name":"uint256","nodeType":"ElementaryTypeName","src":"33909:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":80051,"mutability":"mutable","name":"_lastConv","nameLocation":"33938:9:130","nodeType":"VariableDeclaration","scope":80102,"src":"33930:17:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80050,"name":"uint256","nodeType":"ElementaryTypeName","src":"33930:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":80053,"mutability":"mutable","name":"_oldAmount","nameLocation":"33957:10:130","nodeType":"VariableDeclaration","scope":80102,"src":"33949:18:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80052,"name":"uint256","nodeType":"ElementaryTypeName","src":"33949:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"33908:60:130"},"returnParameters":{"id":80057,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80056,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":80102,"src":"34014:7:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80055,"name":"uint256","nodeType":"ElementaryTypeName","src":"34014:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"34013:9:130"},"scope":80578,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":80190,"nodeType":"FunctionDefinition","src":"35606:1482:130","nodes":[],"body":{"id":80189,"nodeType":"Block","src":"35701:1387:130","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80112,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":80110,"name":"poolAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74092,"src":"35835:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"hexValue":"30","id":80111,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"35849:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"35835:15:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":80117,"nodeType":"IfStatement","src":"35831:66:130","trueBody":{"id":80116,"nodeType":"Block","src":"35852:45:130","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":80113,"name":"PoolIsEmpty","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77771,"src":"35873:11:130","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":80114,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35873:13:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":80115,"nodeType":"RevertStatement","src":"35866:20:130"}]}},{"condition":{"arguments":[{"id":80119,"name":"_requestedAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80105,"src":"36353:16:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":80118,"name":"_isOverMaxRatio","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79628,"src":"36337:15:130","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view returns (bool)"}},"id":80120,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36337:33:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":80125,"nodeType":"IfStatement","src":"36333:91:130","trueBody":{"id":80124,"nodeType":"Block","src":"36372:52:130","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":80121,"name":"AmountOverMaxRatio","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77779,"src":"36393:18:130","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":80122,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36393:20:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":80123,"nodeType":"RevertStatement","src":"36386:27:130"}]}},{"assignments":[80127],"declarations":[{"constant":false,"id":80127,"mutability":"mutable","name":"denom","nameLocation":"36580:5:130","nodeType":"VariableDeclaration","scope":80189,"src":"36572:13:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80126,"name":"uint256","nodeType":"ElementaryTypeName","src":"36572:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":80145,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80144,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80135,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80132,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":80128,"name":"maxRatio","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77935,"src":"36589:8:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"commonType":{"typeIdentifier":"t_rational_18446744073709551616_by_1","typeString":"int_const 18446744073709551616"},"id":80131,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"32","id":80129,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"36600:1:130","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"3634","id":80130,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"36605:2:130","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"36600:7:130","typeDescriptions":{"typeIdentifier":"t_rational_18446744073709551616_by_1","typeString":"int_const 18446744073709551616"}},"src":"36589:18:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":80133,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"36588:20:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":80134,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77919,"src":"36611:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"36588:24:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80143,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80140,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":80136,"name":"_requestedAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80105,"src":"36616:16:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"commonType":{"typeIdentifier":"t_rational_18446744073709551616_by_1","typeString":"int_const 18446744073709551616"},"id":80139,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"32","id":80137,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"36635:1:130","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"3634","id":80138,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"36640:2:130","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"36635:7:130","typeDescriptions":{"typeIdentifier":"t_rational_18446744073709551616_by_1","typeString":"int_const 18446744073709551616"}},"src":"36616:26:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":80141,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"36615:28:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":80142,"name":"poolAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74092,"src":"36646:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"36615:41:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"36588:68:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"36572:84:130"},{"expression":{"id":80178,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":80146,"name":"_threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80108,"src":"36666:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80177,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80174,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80170,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80164,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80161,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80152,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80149,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":80147,"name":"weight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77937,"src":"36698:6:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"313238","id":80148,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"36708:3:130","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"36698:13:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":80150,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"36697:15:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":80151,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77919,"src":"36715:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"36697:19:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":80153,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"36696:21:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80159,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80156,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":80154,"name":"denom","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80127,"src":"36722:5:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":80155,"name":"denom","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80127,"src":"36730:5:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"36722:13:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":80157,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"36721:15:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"3634","id":80158,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"36740:2:130","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"36721:21:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":80160,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"36720:23:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"36696:47:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":80162,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"36695:49:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":80163,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77919,"src":"36747:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"36695:53:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":80165,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"36694:55:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80168,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":80166,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77919,"src":"36753:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":80167,"name":"decay","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77933,"src":"36757:5:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"36753:9:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":80169,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"36752:11:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"36694:69:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":80171,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"36693:71:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":80172,"name":"totalEffectiveActivePoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80298,"src":"36767:26:130","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint256_$","typeString":"function () view returns (uint256)"}},"id":80173,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36767:28:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"36693:102:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":80175,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"36679:126:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"3634","id":80176,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"36809:2:130","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"36679:132:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"36666:145:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":80179,"nodeType":"ExpressionStatement","src":"36666:145:130"},{"expression":{"id":80187,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":80180,"name":"_threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80108,"src":"37001:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80183,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":80181,"name":"_threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80108,"src":"37014:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":80182,"name":"_minThresholdPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77947,"src":"37027:19:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"37014:32:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"id":80185,"name":"_minThresholdPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77947,"src":"37062:19:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":80186,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"37014:67:130","trueExpression":{"id":80184,"name":"_threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80108,"src":"37049:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"37001:80:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":80188,"nodeType":"ExpressionStatement","src":"37001:80:130"}]},"documentation":{"id":80103,"nodeType":"StructuredDocumentation","src":"35031:570:130","text":" @dev Formula: ρ * totalStaked / (1 - a) / (β - requestedAmount / total)**2\n For the Solidity implementation we amplify ρ and β and simplify the formula:\n weight = ρ * D\n maxRatio = β * D\n decay = a * D\n threshold = weight * totalStaked * D ** 2 * funds ** 2 / (D - decay) / (maxRatio * funds - requestedAmount * D) ** 2\n @param _requestedAmount Requested amount of tokens on certain proposal\n @return _threshold Threshold a proposal's conviction should surpass in order to be able to\n executed it."},"functionSelector":"59a5db8b","implemented":true,"kind":"function","modifiers":[],"name":"calculateThreshold","nameLocation":"35615:18:130","parameters":{"id":80106,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80105,"mutability":"mutable","name":"_requestedAmount","nameLocation":"35642:16:130","nodeType":"VariableDeclaration","scope":80190,"src":"35634:24:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80104,"name":"uint256","nodeType":"ElementaryTypeName","src":"35634:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"35633:26:130"},"returnParameters":{"id":80109,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80108,"mutability":"mutable","name":"_threshold","nameLocation":"35689:10:130","nodeType":"VariableDeclaration","scope":80190,"src":"35681:18:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80107,"name":"uint256","nodeType":"ElementaryTypeName","src":"35681:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"35680:20:130"},"scope":80578,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":80225,"nodeType":"FunctionDefinition","src":"37349:269:130","nodes":[],"body":{"id":80224,"nodeType":"Block","src":"37427:191:130","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80203,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":80201,"name":"_a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80193,"src":"37445:2:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"id":80202,"name":"TWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77922,"src":"37451:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"37445:13:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5f612073686f756c64206265206c657373207468616e206f7220657175616c20746f20325e313238","id":80204,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"37460:42:130","typeDescriptions":{"typeIdentifier":"t_stringliteral_44e2d05298e19dba9341288d7967f4ffbb5a083f725e2470963d4d2d80484153","typeString":"literal_string \"_a should be less than or equal to 2^128\""},"value":"_a should be less than or equal to 2^128"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_44e2d05298e19dba9341288d7967f4ffbb5a083f725e2470963d4d2d80484153","typeString":"literal_string \"_a should be less than or equal to 2^128\""}],"id":80200,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"37437:7:130","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":80205,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37437:66:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":80206,"nodeType":"ExpressionStatement","src":"37437:66:130"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80210,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":80208,"name":"_b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80195,"src":"37521:2:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":80209,"name":"TWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77922,"src":"37526:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"37521:12:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5f622073686f756c64206265206c657373207468616e20325e313238","id":80211,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"37535:30:130","typeDescriptions":{"typeIdentifier":"t_stringliteral_94029ed39d36fd1673853e0d61636cb1f54d05801d9baceb39b21e0f4420d664","typeString":"literal_string \"_b should be less than 2^128\""},"value":"_b should be less than 2^128"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_94029ed39d36fd1673853e0d61636cb1f54d05801d9baceb39b21e0f4420d664","typeString":"literal_string \"_b should be less than 2^128\""}],"id":80207,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"37513:7:130","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":80212,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37513:53:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":80213,"nodeType":"ExpressionStatement","src":"37513:53:130"},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80222,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80219,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80216,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":80214,"name":"_a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80193,"src":"37585:2:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":80215,"name":"_b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80195,"src":"37590:2:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"37585:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":80217,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"37584:9:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":80218,"name":"TWO_127","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77925,"src":"37596:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"37584:19:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":80220,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"37583:21:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"313238","id":80221,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"37608:3:130","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"37583:28:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":80199,"id":80223,"nodeType":"Return","src":"37576:35:130"}]},"documentation":{"id":80191,"nodeType":"StructuredDocumentation","src":"37094:250:130","text":" Multiply _a by _b / 2^128. Parameter _a should be less than or equal to\n 2^128 and parameter _b should be less than 2^128.\n @param _a left argument\n @param _b right argument\n @return _result _a * _b / 2^128"},"implemented":true,"kind":"function","modifiers":[],"name":"_mul","nameLocation":"37358:4:130","parameters":{"id":80196,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80193,"mutability":"mutable","name":"_a","nameLocation":"37371:2:130","nodeType":"VariableDeclaration","scope":80225,"src":"37363:10:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80192,"name":"uint256","nodeType":"ElementaryTypeName","src":"37363:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":80195,"mutability":"mutable","name":"_b","nameLocation":"37383:2:130","nodeType":"VariableDeclaration","scope":80225,"src":"37375:10:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80194,"name":"uint256","nodeType":"ElementaryTypeName","src":"37375:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"37362:24:130"},"returnParameters":{"id":80199,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80198,"mutability":"mutable","name":"_result","nameLocation":"37418:7:130","nodeType":"VariableDeclaration","scope":80225,"src":"37410:15:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80197,"name":"uint256","nodeType":"ElementaryTypeName","src":"37410:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"37409:17:130"},"scope":80578,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":80290,"nodeType":"FunctionDefinition","src":"37840:447:130","nodes":[],"body":{"id":80289,"nodeType":"Block","src":"37918:369:130","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80238,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":80236,"name":"_a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80228,"src":"37936:2:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":80237,"name":"TWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77922,"src":"37941:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"37936:12:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5f612073686f756c64206265206c657373207468616e20325e313238","id":80239,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"37950:30:130","typeDescriptions":{"typeIdentifier":"t_stringliteral_8cb59667c527f8a0ca0170161b6ece5e9864e8aa2d080a486f0167056517515f","typeString":"literal_string \"_a should be less than 2^128\""},"value":"_a should be less than 2^128"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_8cb59667c527f8a0ca0170161b6ece5e9864e8aa2d080a486f0167056517515f","typeString":"literal_string \"_a should be less than 2^128\""}],"id":80235,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"37928:7:130","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":80240,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37928:53:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":80241,"nodeType":"ExpressionStatement","src":"37928:53:130"},{"assignments":[80243],"declarations":[{"constant":false,"id":80243,"mutability":"mutable","name":"a","nameLocation":"37999:1:130","nodeType":"VariableDeclaration","scope":80289,"src":"37991:9:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80242,"name":"uint256","nodeType":"ElementaryTypeName","src":"37991:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":80245,"initialValue":{"id":80244,"name":"_a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80228,"src":"38003:2:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"37991:14:130"},{"assignments":[80247],"declarations":[{"constant":false,"id":80247,"mutability":"mutable","name":"b","nameLocation":"38023:1:130","nodeType":"VariableDeclaration","scope":80289,"src":"38015:9:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80246,"name":"uint256","nodeType":"ElementaryTypeName","src":"38015:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":80249,"initialValue":{"id":80248,"name":"_b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80230,"src":"38027:2:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"38015:14:130"},{"expression":{"id":80252,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":80250,"name":"_result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80233,"src":"38039:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":80251,"name":"TWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77922,"src":"38049:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"38039:17:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":80253,"nodeType":"ExpressionStatement","src":"38039:17:130"},{"body":{"id":80287,"nodeType":"Block","src":"38080:201:130","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80261,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80259,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":80257,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80247,"src":"38098:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"hexValue":"31","id":80258,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"38102:1:130","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"38098:5:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":80260,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"38107:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"38098:10:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":80285,"nodeType":"Block","src":"38188:83:130","statements":[{"expression":{"id":80279,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":80274,"name":"_result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80233,"src":"38206:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":80276,"name":"_result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80233,"src":"38221:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":80277,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80243,"src":"38230:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":80275,"name":"_mul","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80225,"src":"38216:4:130","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":80278,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38216:16:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"38206:26:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":80280,"nodeType":"ExpressionStatement","src":"38206:26:130"},{"expression":{"id":80283,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":80281,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80247,"src":"38250:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"hexValue":"31","id":80282,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"38255:1:130","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"38250:6:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":80284,"nodeType":"ExpressionStatement","src":"38250:6:130"}]},"id":80286,"nodeType":"IfStatement","src":"38094:177:130","trueBody":{"id":80273,"nodeType":"Block","src":"38110:72:130","statements":[{"expression":{"id":80267,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":80262,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80243,"src":"38128:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":80264,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80243,"src":"38137:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":80265,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80243,"src":"38140:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":80263,"name":"_mul","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80225,"src":"38132:4:130","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":80266,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38132:10:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"38128:14:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":80268,"nodeType":"ExpressionStatement","src":"38128:14:130"},{"expression":{"id":80271,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":80269,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80247,"src":"38160:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":">>=","rightHandSide":{"hexValue":"31","id":80270,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"38166:1:130","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"38160:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":80272,"nodeType":"ExpressionStatement","src":"38160:7:130"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80256,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":80254,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80247,"src":"38073:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":80255,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"38077:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"38073:5:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":80288,"nodeType":"WhileStatement","src":"38066:215:130"}]},"documentation":{"id":80226,"nodeType":"StructuredDocumentation","src":"37624:211:130","text":" Calculate (_a / 2^128)^_b * 2^128. Parameter _a should be less than 2^128.\n @param _a left argument\n @param _b right argument\n @return _result (_a / 2^128)^_b * 2^128"},"implemented":true,"kind":"function","modifiers":[],"name":"_pow","nameLocation":"37849:4:130","parameters":{"id":80231,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80228,"mutability":"mutable","name":"_a","nameLocation":"37862:2:130","nodeType":"VariableDeclaration","scope":80290,"src":"37854:10:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80227,"name":"uint256","nodeType":"ElementaryTypeName","src":"37854:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":80230,"mutability":"mutable","name":"_b","nameLocation":"37874:2:130","nodeType":"VariableDeclaration","scope":80290,"src":"37866:10:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80229,"name":"uint256","nodeType":"ElementaryTypeName","src":"37866:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"37853:24:130"},"returnParameters":{"id":80234,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80233,"mutability":"mutable","name":"_result","nameLocation":"37909:7:130","nodeType":"VariableDeclaration","scope":80290,"src":"37901:15:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80232,"name":"uint256","nodeType":"ElementaryTypeName","src":"37901:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"37900:17:130"},"scope":80578,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":80298,"nodeType":"FunctionDefinition","src":"38293:112:130","nodes":[],"body":{"id":80297,"nodeType":"Block","src":"38361:44:130","nodes":[],"statements":[{"expression":{"id":80295,"name":"totalPointsActivated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77944,"src":"38378:20:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":80294,"id":80296,"nodeType":"Return","src":"38371:27:130"}]},"functionSelector":"d1e36232","implemented":true,"kind":"function","modifiers":[],"name":"totalEffectiveActivePoints","nameLocation":"38302:26:130","parameters":{"id":80291,"nodeType":"ParameterList","parameters":[],"src":"38328:2:130"},"returnParameters":{"id":80294,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80293,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":80298,"src":"38352:7:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80292,"name":"uint256","nodeType":"ElementaryTypeName","src":"38352:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"38351:9:130"},"scope":80578,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":80339,"nodeType":"FunctionDefinition","src":"38595:396:130","nodes":[],"body":{"id":80338,"nodeType":"Block","src":"38703:288:130","nodes":[],"statements":[{"assignments":[80308,80310],"declarations":[{"constant":false,"id":80308,"mutability":"mutable","name":"conviction","nameLocation":"38722:10:130","nodeType":"VariableDeclaration","scope":80338,"src":"38714:18:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80307,"name":"uint256","nodeType":"ElementaryTypeName","src":"38714:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":80310,"mutability":"mutable","name":"blockNumber","nameLocation":"38742:11:130","nodeType":"VariableDeclaration","scope":80338,"src":"38734:19:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80309,"name":"uint256","nodeType":"ElementaryTypeName","src":"38734:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":80315,"initialValue":{"arguments":[{"id":80312,"name":"_proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80302,"src":"38791:9:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},{"id":80313,"name":"_oldStaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80304,"src":"38802:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":80311,"name":"_checkBlockAndCalculateConviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80386,"src":"38757:33:130","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Proposal_$77721_storage_ptr_$_t_uint256_$returns$_t_uint256_$_t_uint256_$","typeString":"function (struct StrategyStruct.Proposal storage pointer,uint256) view returns (uint256,uint256)"}},"id":80314,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38757:56:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_uint256_$","typeString":"tuple(uint256,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"38713:100:130"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":80322,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80318,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":80316,"name":"conviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80308,"src":"38827:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":80317,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"38841:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"38827:15:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80321,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":80319,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80310,"src":"38846:11:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":80320,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"38861:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"38846:16:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"38827:35:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":80325,"nodeType":"IfStatement","src":"38823:72:130","trueBody":{"id":80324,"nodeType":"Block","src":"38864:31:130","statements":[{"functionReturnParameters":80306,"id":80323,"nodeType":"Return","src":"38878:7:130"}]}},{"expression":{"id":80330,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":80326,"name":"_proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80302,"src":"38904:9:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":80328,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"38914:9:130","memberName":"blockLast","nodeType":"MemberAccess","referencedDeclaration":77710,"src":"38904:19:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":80329,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80310,"src":"38926:11:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"38904:33:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":80331,"nodeType":"ExpressionStatement","src":"38904:33:130"},{"expression":{"id":80336,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":80332,"name":"_proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80302,"src":"38947:9:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":80334,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"38957:14:130","memberName":"convictionLast","nodeType":"MemberAccess","referencedDeclaration":77702,"src":"38947:24:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":80335,"name":"conviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80308,"src":"38974:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"38947:37:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":80337,"nodeType":"ExpressionStatement","src":"38947:37:130"}]},"documentation":{"id":80299,"nodeType":"StructuredDocumentation","src":"38411:179:130","text":" @dev Calculate conviction and store it on the proposal\n @param _proposal Proposal\n @param _oldStaked Amount of tokens staked on a proposal until now"},"implemented":true,"kind":"function","modifiers":[],"name":"_calculateAndSetConviction","nameLocation":"38604:26:130","parameters":{"id":80305,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80302,"mutability":"mutable","name":"_proposal","nameLocation":"38663:9:130","nodeType":"VariableDeclaration","scope":80339,"src":"38631:41:130","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":80301,"nodeType":"UserDefinedTypeName","pathNode":{"id":80300,"name":"StrategyStruct.Proposal","nameLocations":["38631:14:130","38646:8:130"],"nodeType":"IdentifierPath","referencedDeclaration":77721,"src":"38631:23:130"},"referencedDeclaration":77721,"src":"38631:23:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"},{"constant":false,"id":80304,"mutability":"mutable","name":"_oldStaked","nameLocation":"38682:10:130","nodeType":"VariableDeclaration","scope":80339,"src":"38674:18:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80303,"name":"uint256","nodeType":"ElementaryTypeName","src":"38674:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"38630:63:130"},"returnParameters":{"id":80306,"nodeType":"ParameterList","parameters":[],"src":"38703:0:130"},"scope":80578,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":80386,"nodeType":"FunctionDefinition","src":"38997:719:130","nodes":[],"body":{"id":80385,"nodeType":"Block","src":"39195:521:130","nodes":[],"statements":[{"expression":{"id":80354,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":80351,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80349,"src":"39205:11:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":80352,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"39219:5:130","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":80353,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"39225:6:130","memberName":"number","nodeType":"MemberAccess","src":"39219:12:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"39205:26:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":80355,"nodeType":"ExpressionStatement","src":"39205:26:130"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80360,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":80357,"name":"_proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80342,"src":"39248:9:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":80358,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"39258:9:130","memberName":"blockLast","nodeType":"MemberAccess","referencedDeclaration":77710,"src":"39248:19:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"id":80359,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80349,"src":"39271:11:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"39248:34:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":80356,"name":"assert","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-3,"src":"39241:6:130","typeDescriptions":{"typeIdentifier":"t_function_assert_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":80361,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"39241:42:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":80362,"nodeType":"ExpressionStatement","src":"39241:42:130"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80366,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":80363,"name":"_proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80342,"src":"39297:9:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":80364,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"39307:9:130","memberName":"blockLast","nodeType":"MemberAccess","referencedDeclaration":77710,"src":"39297:19:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":80365,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80349,"src":"39320:11:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"39297:34:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":80372,"nodeType":"IfStatement","src":"39293:173:130","trueBody":{"id":80371,"nodeType":"Block","src":"39333:133:130","statements":[{"expression":{"components":[{"hexValue":"30","id":80367,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"39421:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":80368,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"39424:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"id":80369,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"39420:6:130","typeDescriptions":{"typeIdentifier":"t_tuple$_t_rational_0_by_1_$_t_rational_0_by_1_$","typeString":"tuple(int_const 0,int_const 0)"}},"functionReturnParameters":80350,"id":80370,"nodeType":"Return","src":"39413:13:130"}]}},{"expression":{"id":80383,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":80373,"name":"conviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80347,"src":"39519:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80378,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":80375,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80349,"src":"39565:11:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"expression":{"id":80376,"name":"_proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80342,"src":"39579:9:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":80377,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"39589:9:130","memberName":"blockLast","nodeType":"MemberAccess","referencedDeclaration":77710,"src":"39579:19:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"39565:33:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":80379,"name":"_proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80342,"src":"39651:9:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":80380,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"39661:14:130","memberName":"convictionLast","nodeType":"MemberAccess","referencedDeclaration":77702,"src":"39651:24:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":80381,"name":"_oldStaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80344,"src":"39689:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":80374,"name":"calculateConviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80102,"src":"39532:19:130","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256,uint256) view returns (uint256)"}},"id":80382,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"39532:177:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"39519:190:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":80384,"nodeType":"ExpressionStatement","src":"39519:190:130"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_checkBlockAndCalculateConviction","nameLocation":"39006:33:130","parameters":{"id":80345,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80342,"mutability":"mutable","name":"_proposal","nameLocation":"39072:9:130","nodeType":"VariableDeclaration","scope":80386,"src":"39040:41:130","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":80341,"nodeType":"UserDefinedTypeName","pathNode":{"id":80340,"name":"StrategyStruct.Proposal","nameLocations":["39040:14:130","39055:8:130"],"nodeType":"IdentifierPath","referencedDeclaration":77721,"src":"39040:23:130"},"referencedDeclaration":77721,"src":"39040:23:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"},{"constant":false,"id":80344,"mutability":"mutable","name":"_oldStaked","nameLocation":"39091:10:130","nodeType":"VariableDeclaration","scope":80386,"src":"39083:18:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80343,"name":"uint256","nodeType":"ElementaryTypeName","src":"39083:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"39039:63:130"},"returnParameters":{"id":80350,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80347,"mutability":"mutable","name":"conviction","nameLocation":"39158:10:130","nodeType":"VariableDeclaration","scope":80386,"src":"39150:18:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80346,"name":"uint256","nodeType":"ElementaryTypeName","src":"39150:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":80349,"mutability":"mutable","name":"blockNumber","nameLocation":"39178:11:130","nodeType":"VariableDeclaration","scope":80386,"src":"39170:19:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80348,"name":"uint256","nodeType":"ElementaryTypeName","src":"39170:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"39149:41:130"},"scope":80578,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":80434,"nodeType":"FunctionDefinition","src":"39722:520:130","nodes":[],"body":{"id":80433,"nodeType":"Block","src":"39801:441:130","nodes":[],"statements":[{"assignments":[80397],"declarations":[{"constant":false,"id":80397,"mutability":"mutable","name":"proposal","nameLocation":"39843:8:130","nodeType":"VariableDeclaration","scope":80433,"src":"39811:40:130","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":80396,"nodeType":"UserDefinedTypeName","pathNode":{"id":80395,"name":"StrategyStruct.Proposal","nameLocations":["39811:14:130","39826:8:130"],"nodeType":"IdentifierPath","referencedDeclaration":77721,"src":"39811:23:130"},"referencedDeclaration":77721,"src":"39811:23:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":80401,"initialValue":{"baseExpression":{"id":80398,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77969,"src":"39854:9:130","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$77721_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":80400,"indexExpression":{"id":80399,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80388,"src":"39864:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"39854:21:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"39811:64:130"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80405,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":80402,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80397,"src":"39890:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":80403,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"39899:10:130","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":77696,"src":"39890:19:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":80404,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80388,"src":"39913:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"39890:33:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":80411,"nodeType":"IfStatement","src":"39886:100:130","trueBody":{"id":80410,"nodeType":"Block","src":"39925:61:130","statements":[{"errorCall":{"arguments":[{"id":80407,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80388,"src":"39964:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":80406,"name":"ProposalNotInList","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77815,"src":"39946:17:130","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":80408,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"39946:29:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":80409,"nodeType":"RevertStatement","src":"39939:36:130"}]}},{"condition":{"commonType":{"typeIdentifier":"t_enum$_ProposalStatus_$77694","typeString":"enum StrategyStruct.ProposalStatus"},"id":80417,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":80412,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80397,"src":"40000:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":80413,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"40009:14:130","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":77713,"src":"40000:23:130","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$77694","typeString":"enum StrategyStruct.ProposalStatus"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"expression":{"id":80414,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77752,"src":"40027:14:130","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$77752_$","typeString":"type(library StrategyStruct)"}},"id":80415,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"40042:14:130","memberName":"ProposalStatus","nodeType":"MemberAccess","referencedDeclaration":77694,"src":"40027:29:130","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$77694_$","typeString":"type(enum StrategyStruct.ProposalStatus)"}},"id":80416,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"40057:6:130","memberName":"Active","nodeType":"MemberAccess","referencedDeclaration":77690,"src":"40027:36:130","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$77694","typeString":"enum StrategyStruct.ProposalStatus"}},"src":"40000:63:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":80423,"nodeType":"IfStatement","src":"39996:130:130","trueBody":{"id":80422,"nodeType":"Block","src":"40065:61:130","statements":[{"errorCall":{"arguments":[{"id":80419,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80388,"src":"40104:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":80418,"name":"ProposalNotActive","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77811,"src":"40086:17:130","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":80420,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"40086:29:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":80421,"nodeType":"RevertStatement","src":"40079:36:130"}]}},{"expression":{"arguments":[{"id":80425,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80397,"src":"40163:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},{"expression":{"id":80426,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80397,"src":"40173:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":80427,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"40182:12:130","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":77700,"src":"40173:21:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":80424,"name":"_calculateAndSetConviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80339,"src":"40136:26:130","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_Proposal_$77721_storage_ptr_$_t_uint256_$returns$__$","typeString":"function (struct StrategyStruct.Proposal storage pointer,uint256)"}},"id":80428,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"40136:59:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":80429,"nodeType":"ExpressionStatement","src":"40136:59:130"},{"expression":{"expression":{"id":80430,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80397,"src":"40212:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":80431,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"40221:14:130","memberName":"convictionLast","nodeType":"MemberAccess","referencedDeclaration":77702,"src":"40212:23:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":80392,"id":80432,"nodeType":"Return","src":"40205:30:130"}]},"functionSelector":"1aa91a9e","implemented":true,"kind":"function","modifiers":[],"name":"updateProposalConviction","nameLocation":"39731:24:130","parameters":{"id":80389,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80388,"mutability":"mutable","name":"proposalId","nameLocation":"39764:10:130","nodeType":"VariableDeclaration","scope":80434,"src":"39756:18:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80387,"name":"uint256","nodeType":"ElementaryTypeName","src":"39756:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"39755:20:130"},"returnParameters":{"id":80392,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80391,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":80434,"src":"39792:7:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80390,"name":"uint256","nodeType":"ElementaryTypeName","src":"39792:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"39791:9:130"},"scope":80578,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":80453,"nodeType":"FunctionDefinition","src":"40248:124:130","nodes":[],"body":{"id":80452,"nodeType":"Block","src":"40320:52:130","nodes":[],"statements":[{"expression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80449,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80443,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":80441,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80436,"src":"40339:6:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":80442,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77919,"src":"40348:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"40339:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":80444,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"40338:12:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80447,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":80445,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77919,"src":"40354:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":80446,"name":"decay","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77933,"src":"40358:5:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"40354:9:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":80448,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"40353:11:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"40338:26:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":80450,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"40337:28:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":80440,"id":80451,"nodeType":"Return","src":"40330:35:130"}]},"functionSelector":"950559d7","implemented":true,"kind":"function","modifiers":[],"name":"getMaxConviction","nameLocation":"40257:16:130","parameters":{"id":80437,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80436,"mutability":"mutable","name":"amount","nameLocation":"40282:6:130","nodeType":"VariableDeclaration","scope":80453,"src":"40274:14:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80435,"name":"uint256","nodeType":"ElementaryTypeName","src":"40274:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"40273:16:130"},"returnParameters":{"id":80440,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80439,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":80453,"src":"40311:7:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80438,"name":"uint256","nodeType":"ElementaryTypeName","src":"40311:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"40310:9:130"},"scope":80578,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":80471,"nodeType":"FunctionDefinition","src":"40378:137:130","nodes":[],"body":{"id":80470,"nodeType":"Block","src":"40449:66:130","nodes":[],"statements":[{"expression":{"id":80464,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":80462,"name":"decay","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77933,"src":"40459:5:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":80463,"name":"_decay","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80455,"src":"40467:6:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"40459:14:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":80465,"nodeType":"ExpressionStatement","src":"40459:14:130"},{"eventCall":{"arguments":[{"id":80467,"name":"_decay","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80455,"src":"40501:6:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":80466,"name":"DecayUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77898,"src":"40488:12:130","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":80468,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"40488:20:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":80469,"nodeType":"EmitStatement","src":"40483:25:130"}]},"functionSelector":"69fa25c4","implemented":true,"kind":"function","modifiers":[{"arguments":[{"expression":{"id":80458,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"40437:3:130","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":80459,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"40441:6:130","memberName":"sender","nodeType":"MemberAccess","src":"40437:10:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"id":80460,"kind":"modifierInvocation","modifierName":{"id":80457,"name":"onlyPoolManager","nameLocations":["40421:15:130"],"nodeType":"IdentifierPath","referencedDeclaration":74135,"src":"40421:15:130"},"nodeType":"ModifierInvocation","src":"40421:27:130"}],"name":"setDecay","nameLocation":"40387:8:130","parameters":{"id":80456,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80455,"mutability":"mutable","name":"_decay","nameLocation":"40404:6:130","nodeType":"VariableDeclaration","scope":80471,"src":"40396:14:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80454,"name":"uint256","nodeType":"ElementaryTypeName","src":"40396:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"40395:16:130"},"returnParameters":{"id":80461,"nodeType":"ParameterList","parameters":[],"src":"40449:0:130"},"scope":80578,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":80489,"nodeType":"FunctionDefinition","src":"40521:155:130","nodes":[],"body":{"id":80488,"nodeType":"Block","src":"40598:78:130","nodes":[],"statements":[{"expression":{"id":80482,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":80480,"name":"maxRatio","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77935,"src":"40608:8:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":80481,"name":"_maxRatio","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80473,"src":"40619:9:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"40608:20:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":80483,"nodeType":"ExpressionStatement","src":"40608:20:130"},{"eventCall":{"arguments":[{"id":80485,"name":"_maxRatio","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80473,"src":"40659:9:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":80484,"name":"MaxRatioUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77902,"src":"40643:15:130","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":80486,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"40643:26:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":80487,"nodeType":"EmitStatement","src":"40638:31:130"}]},"functionSelector":"11f22ae3","implemented":true,"kind":"function","modifiers":[{"arguments":[{"expression":{"id":80476,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"40586:3:130","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":80477,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"40590:6:130","memberName":"sender","nodeType":"MemberAccess","src":"40586:10:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"id":80478,"kind":"modifierInvocation","modifierName":{"id":80475,"name":"onlyPoolManager","nameLocations":["40570:15:130"],"nodeType":"IdentifierPath","referencedDeclaration":74135,"src":"40570:15:130"},"nodeType":"ModifierInvocation","src":"40570:27:130"}],"name":"setMaxRatio","nameLocation":"40530:11:130","parameters":{"id":80474,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80473,"mutability":"mutable","name":"_maxRatio","nameLocation":"40550:9:130","nodeType":"VariableDeclaration","scope":80489,"src":"40542:17:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80472,"name":"uint256","nodeType":"ElementaryTypeName","src":"40542:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"40541:19:130"},"returnParameters":{"id":80479,"nodeType":"ParameterList","parameters":[],"src":"40598:0:130"},"scope":80578,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":80507,"nodeType":"FunctionDefinition","src":"40682:143:130","nodes":[],"body":{"id":80506,"nodeType":"Block","src":"40755:70:130","nodes":[],"statements":[{"expression":{"id":80500,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":80498,"name":"weight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77937,"src":"40765:6:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":80499,"name":"_weight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80491,"src":"40774:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"40765:16:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":80501,"nodeType":"ExpressionStatement","src":"40765:16:130"},{"eventCall":{"arguments":[{"id":80503,"name":"_weight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80491,"src":"40810:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":80502,"name":"WeightUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77906,"src":"40796:13:130","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":80504,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"40796:22:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":80505,"nodeType":"EmitStatement","src":"40791:27:130"}]},"functionSelector":"fc1711f2","implemented":true,"kind":"function","modifiers":[{"arguments":[{"expression":{"id":80494,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"40743:3:130","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":80495,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"40747:6:130","memberName":"sender","nodeType":"MemberAccess","src":"40743:10:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"id":80496,"kind":"modifierInvocation","modifierName":{"id":80493,"name":"onlyPoolManager","nameLocations":["40727:15:130"],"nodeType":"IdentifierPath","referencedDeclaration":74135,"src":"40727:15:130"},"nodeType":"ModifierInvocation","src":"40727:27:130"}],"name":"setWeight","nameLocation":"40691:9:130","parameters":{"id":80492,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80491,"mutability":"mutable","name":"_weight","nameLocation":"40709:7:130","nodeType":"VariableDeclaration","scope":80507,"src":"40701:15:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80490,"name":"uint256","nodeType":"ElementaryTypeName","src":"40701:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"40700:17:130"},"returnParameters":{"id":80497,"nodeType":"ParameterList","parameters":[],"src":"40755:0:130"},"scope":80578,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":80527,"nodeType":"FunctionDefinition","src":"40831:223:130","nodes":[],"body":{"id":80526,"nodeType":"Block","src":"40926:128:130","nodes":[],"statements":[{"expression":{"id":80520,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":80516,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77961,"src":"40936:17:130","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":80518,"name":"_registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80509,"src":"40978:18:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":80517,"name":"RegistryCommunityV0_0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85047,"src":"40956:21:130","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_RegistryCommunityV0_0_$85047_$","typeString":"type(contract RegistryCommunityV0_0)"}},"id":80519,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"40956:41:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"}},"src":"40936:61:130","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"}},"id":80521,"nodeType":"ExpressionStatement","src":"40936:61:130"},{"eventCall":{"arguments":[{"id":80523,"name":"_registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80509,"src":"41028:18:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":80522,"name":"RegistryUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77910,"src":"41012:15:130","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":80524,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41012:35:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":80525,"nodeType":"EmitStatement","src":"41007:40:130"}]},"functionSelector":"058aca44","implemented":true,"kind":"function","modifiers":[{"arguments":[{"expression":{"id":80512,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"40914:3:130","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":80513,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"40918:6:130","memberName":"sender","nodeType":"MemberAccess","src":"40914:10:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"id":80514,"kind":"modifierInvocation","modifierName":{"id":80511,"name":"onlyPoolManager","nameLocations":["40898:15:130"],"nodeType":"IdentifierPath","referencedDeclaration":74135,"src":"40898:15:130"},"nodeType":"ModifierInvocation","src":"40898:27:130"}],"name":"setRegistryCommunity","nameLocation":"40840:20:130","parameters":{"id":80510,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80509,"mutability":"mutable","name":"_registryCommunity","nameLocation":"40869:18:130","nodeType":"VariableDeclaration","scope":80527,"src":"40861:26:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":80508,"name":"address","nodeType":"ElementaryTypeName","src":"40861:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"40860:28:130"},"returnParameters":{"id":80515,"nodeType":"ParameterList","parameters":[],"src":"40926:0:130"},"scope":80578,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":80546,"nodeType":"FunctionDefinition","src":"41060:237:130","nodes":[],"body":{"id":80545,"nodeType":"Block","src":"41157:140:130","nodes":[],"statements":[{"eventCall":{"arguments":[{"id":80537,"name":"_minThresholdPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77947,"src":"41198:19:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":80538,"name":"minThresholdPoints_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80529,"src":"41219:19:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":80536,"name":"MinThresholdPointsUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77916,"src":"41172:25:130","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":80539,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41172:67:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":80540,"nodeType":"EmitStatement","src":"41167:72:130"},{"expression":{"id":80543,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":80541,"name":"_minThresholdPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77947,"src":"41249:19:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":80542,"name":"minThresholdPoints_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80529,"src":"41271:19:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"41249:41:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":80544,"nodeType":"ExpressionStatement","src":"41249:41:130"}]},"functionSelector":"2cefadbb","implemented":true,"kind":"function","modifiers":[{"arguments":[{"expression":{"id":80532,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"41145:3:130","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":80533,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"41149:6:130","memberName":"sender","nodeType":"MemberAccess","src":"41145:10:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"id":80534,"kind":"modifierInvocation","modifierName":{"id":80531,"name":"onlyPoolManager","nameLocations":["41129:15:130"],"nodeType":"IdentifierPath","referencedDeclaration":74135,"src":"41129:15:130"},"nodeType":"ModifierInvocation","src":"41129:27:130"}],"name":"setMinThresholdPoints","nameLocation":"41069:21:130","parameters":{"id":80530,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80529,"mutability":"mutable","name":"minThresholdPoints_","nameLocation":"41099:19:130","nodeType":"VariableDeclaration","scope":80546,"src":"41091:27:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80528,"name":"uint256","nodeType":"ElementaryTypeName","src":"41091:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"41090:29:130"},"returnParameters":{"id":80535,"nodeType":"ParameterList","parameters":[],"src":"41157:0:130"},"scope":80578,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":80564,"nodeType":"FunctionDefinition","src":"41303:170:130","nodes":[],"body":{"id":80563,"nodeType":"Block","src":"41374:99:130","nodes":[],"statements":[{"expression":{"arguments":[{"id":80554,"name":"_sybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80548,"src":"41403:12:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":80553,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78210,"src":"41384:18:130","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":80555,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41384:32:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":80556,"nodeType":"ExpressionStatement","src":"41384:32:130"},{"expression":{"id":80561,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":80557,"name":"sybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77964,"src":"41426:11:130","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$80667","typeString":"contract ISybilScorer"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":80559,"name":"_sybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80548,"src":"41453:12:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":80558,"name":"ISybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80667,"src":"41440:12:130","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ISybilScorer_$80667_$","typeString":"type(contract ISybilScorer)"}},"id":80560,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41440:26:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$80667","typeString":"contract ISybilScorer"}},"src":"41426:40:130","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$80667","typeString":"contract ISybilScorer"}},"id":80562,"nodeType":"ExpressionStatement","src":"41426:40:130"}]},"functionSelector":"ac1ed7b9","implemented":true,"kind":"function","modifiers":[{"id":80551,"kind":"modifierInvocation","modifierName":{"id":80550,"name":"onlyCouncilSafe","nameLocations":["41358:15:130"],"nodeType":"IdentifierPath","referencedDeclaration":77997,"src":"41358:15:130"},"nodeType":"ModifierInvocation","src":"41358:15:130"}],"name":"setSybilScorer","nameLocation":"41312:14:130","parameters":{"id":80549,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80548,"mutability":"mutable","name":"_sybilScorer","nameLocation":"41335:12:130","nodeType":"VariableDeclaration","scope":80564,"src":"41327:20:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":80547,"name":"address","nodeType":"ElementaryTypeName","src":"41327:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"41326:22:130"},"returnParameters":{"id":80552,"nodeType":"ParameterList","parameters":[],"src":"41374:0:130"},"scope":80578,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":80573,"nodeType":"FunctionDefinition","src":"41479:66:130","nodes":[],"body":{"id":80572,"nodeType":"Block","src":"41543:2:130","nodes":[],"statements":[]},"baseFunctions":[56212],"implemented":true,"kind":"function","modifiers":[{"id":80570,"kind":"modifierInvocation","modifierName":{"id":80569,"name":"onlyOwner","nameLocations":["41533:9:130"],"nodeType":"IdentifierPath","referencedDeclaration":52856,"src":"41533:9:130"},"nodeType":"ModifierInvocation","src":"41533:9:130"}],"name":"_authorizeUpgrade","nameLocation":"41488:17:130","overrides":{"id":80568,"nodeType":"OverrideSpecifier","overrides":[],"src":"41524:8:130"},"parameters":{"id":80567,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80566,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":80573,"src":"41506:7:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":80565,"name":"address","nodeType":"ElementaryTypeName","src":"41506:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"41505:9:130"},"returnParameters":{"id":80571,"nodeType":"ParameterList","parameters":[],"src":"41543:0:130"},"scope":80578,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":80577,"nodeType":"VariableDeclaration","src":"41551:25:130","nodes":[],"constant":false,"mutability":"mutable","name":"__gap","nameLocation":"41571:5:130","scope":80578,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$50_storage","typeString":"uint256[50]"},"typeName":{"baseType":{"id":80574,"name":"uint256","nodeType":"ElementaryTypeName","src":"41551:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":80576,"length":{"hexValue":"3530","id":80575,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"41559:2:130","typeDescriptions":{"typeIdentifier":"t_rational_50_by_1","typeString":"int_const 50"},"value":"50"},"nodeType":"ArrayTypeName","src":"41551:11:130","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$50_storage_ptr","typeString":"uint256[50]"}},"visibility":"private"}],"abstract":false,"baseContracts":[{"baseName":{"id":77753,"name":"OwnableUpgradeable","nameLocations":["3094:18:130"],"nodeType":"IdentifierPath","referencedDeclaration":52942,"src":"3094:18:130"},"id":77754,"nodeType":"InheritanceSpecifier","src":"3094:18:130"},{"baseName":{"id":77755,"name":"BaseStrategyUpgradeable","nameLocations":["3114:23:130"],"nodeType":"IdentifierPath","referencedDeclaration":74672,"src":"3114:23:130"},"id":77756,"nodeType":"InheritanceSpecifier","src":"3114:23:130"},{"baseName":{"id":77757,"name":"IPointStrategy","nameLocations":["3139:14:130"],"nodeType":"IdentifierPath","referencedDeclaration":77667,"src":"3139:14:130"},"id":77758,"nodeType":"InheritanceSpecifier","src":"3139:14:130"},{"baseName":{"id":77759,"name":"ERC165","nameLocations":["3155:6:130"],"nodeType":"IdentifierPath","referencedDeclaration":58266,"src":"3155:6:130"},"id":77760,"nodeType":"InheritanceSpecifier","src":"3155:6:130"}],"canonicalName":"CVStrategyV0_0","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[80578,58266,58472,77667,74672,3089,3317,3106,2969,56213,55866,55515,55525,52942,53735,53191],"name":"CVStrategyV0_0","nameLocation":"3076:14:130","scope":80579,"usedErrors":[3008,3011,3014,3017,3020,3023,3026,3029,3032,3035,3038,3041,3044,3047,3050,3053,3056,3059,3062,3065,3068,3071,3074,3079,3082,3085,3088,3117,77765,77767,77769,77771,77773,77775,77777,77779,77781,77783,77785,77793,77795,77797,77803,77805,77807,77811,77815,77821,77823,77825,77833,77835,77837]}],"license":"AGPL-3.0-only"},"id":130} \ No newline at end of file +{"abi":[{"type":"fallback","stateMutability":"payable"},{"type":"receive","stateMutability":"payable"},{"type":"function","name":"D","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"MAX_STAKED_PROPOSALS","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"NATIVE","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"_minThresholdPoints","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"activatePoints","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"allocate","inputs":[{"name":"_data","type":"bytes","internalType":"bytes"},{"name":"_sender","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"calculateConviction","inputs":[{"name":"_timePassed","type":"uint256","internalType":"uint256"},{"name":"_lastConv","type":"uint256","internalType":"uint256"},{"name":"_oldAmount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"calculateThreshold","inputs":[{"name":"_requestedAmount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"_threshold","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"canExecuteProposal","inputs":[{"name":"proposalId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"canBeExecuted","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"deactivatePoints","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"deactivatePoints","inputs":[{"name":"_member","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"decay","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"decreasePower","inputs":[{"name":"_member","type":"address","internalType":"address"},{"name":"_amountToUnstake","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"distribute","inputs":[{"name":"_recipientIds","type":"address[]","internalType":"address[]"},{"name":"_data","type":"bytes","internalType":"bytes"},{"name":"_sender","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"getAllo","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IAllo"}],"stateMutability":"view"},{"type":"function","name":"getMaxAmount","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getMaxConviction","inputs":[{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getMetadata","inputs":[{"name":"_proposalId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]}],"stateMutability":"view"},{"type":"function","name":"getPayouts","inputs":[{"name":"","type":"address[]","internalType":"address[]"},{"name":"","type":"bytes[]","internalType":"bytes[]"}],"outputs":[{"name":"","type":"tuple[]","internalType":"struct IStrategy.PayoutSummary[]","components":[{"name":"recipientAddress","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}]}],"stateMutability":"pure"},{"type":"function","name":"getPointSystem","inputs":[],"outputs":[{"name":"","type":"uint8","internalType":"enum StrategyStruct.PointSystem"}],"stateMutability":"view"},{"type":"function","name":"getPoolAmount","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getPoolId","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getProposal","inputs":[{"name":"_proposalId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"submitter","type":"address","internalType":"address"},{"name":"beneficiary","type":"address","internalType":"address"},{"name":"requestedToken","type":"address","internalType":"address"},{"name":"requestedAmount","type":"uint256","internalType":"uint256"},{"name":"stakedAmount","type":"uint256","internalType":"uint256"},{"name":"proposalStatus","type":"uint8","internalType":"enum StrategyStruct.ProposalStatus"},{"name":"blockLast","type":"uint256","internalType":"uint256"},{"name":"convictionLast","type":"uint256","internalType":"uint256"},{"name":"threshold","type":"uint256","internalType":"uint256"},{"name":"voterStakedPoints","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getProposalStakedAmount","inputs":[{"name":"_proposalId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getProposalVoterStake","inputs":[{"name":"_proposalId","type":"uint256","internalType":"uint256"},{"name":"_voter","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getRecipientStatus","inputs":[{"name":"_recipientId","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint8","internalType":"enum IStrategy.Status"}],"stateMutability":"view"},{"type":"function","name":"getStrategyId","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"getTotalVoterStakePct","inputs":[{"name":"_voter","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"increasePoolAmount","inputs":[{"name":"_amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"increasePower","inputs":[{"name":"_member","type":"address","internalType":"address"},{"name":"_amountToStake","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"init","inputs":[{"name":"_allo","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"init","inputs":[{"name":"_allo","type":"address","internalType":"address"},{"name":"_name","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"initialize","inputs":[{"name":"_poolId","type":"uint256","internalType":"uint256"},{"name":"_data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"isPoolActive","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isValidAllocator","inputs":[{"name":"_allocator","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"maxRatio","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"pointConfig","inputs":[],"outputs":[{"name":"maxAmount","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"pointSystem","inputs":[],"outputs":[{"name":"","type":"uint8","internalType":"enum StrategyStruct.PointSystem"}],"stateMutability":"view"},{"type":"function","name":"proposalCounter","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"proposalType","inputs":[],"outputs":[{"name":"","type":"uint8","internalType":"enum StrategyStruct.ProposalType"}],"stateMutability":"view"},{"type":"function","name":"proposals","inputs":[{"name":"","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"proposalId","type":"uint256","internalType":"uint256"},{"name":"requestedAmount","type":"uint256","internalType":"uint256"},{"name":"stakedAmount","type":"uint256","internalType":"uint256"},{"name":"convictionLast","type":"uint256","internalType":"uint256"},{"name":"beneficiary","type":"address","internalType":"address"},{"name":"submitter","type":"address","internalType":"address"},{"name":"requestedToken","type":"address","internalType":"address"},{"name":"blockLast","type":"uint256","internalType":"uint256"},{"name":"proposalStatus","type":"uint8","internalType":"enum StrategyStruct.ProposalStatus"},{"name":"metadata","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]}],"stateMutability":"view"},{"type":"function","name":"proxiableUUID","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"registerRecipient","inputs":[{"name":"_data","type":"bytes","internalType":"bytes"},{"name":"_sender","type":"address","internalType":"address"}],"outputs":[{"name":"recipientId","type":"address","internalType":"address"}],"stateMutability":"payable"},{"type":"function","name":"registryCommunity","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract RegistryCommunityV0_0"}],"stateMutability":"view"},{"type":"function","name":"renounceOwnership","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setDecay","inputs":[{"name":"_decay","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setMaxRatio","inputs":[{"name":"_maxRatio","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setMinThresholdPoints","inputs":[{"name":"minThresholdPoints_","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setPoolActive","inputs":[{"name":"_active","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setRegistryCommunity","inputs":[{"name":"_registryCommunity","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setSybilScorer","inputs":[{"name":"_sybilScorer","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setWeight","inputs":[{"name":"_weight","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"supportProposal","inputs":[{"name":"","type":"tuple[]","internalType":"struct StrategyStruct.ProposalSupport[]","components":[{"name":"proposalId","type":"uint256","internalType":"uint256"},{"name":"deltaSupport","type":"int256","internalType":"int256"}]}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"sybilScorer","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract ISybilScorer"}],"stateMutability":"view"},{"type":"function","name":"totalEffectiveActivePoints","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"totalPointsActivated","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"totalStaked","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"totalVoterStakePct","inputs":[{"name":"","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"transferOwnership","inputs":[{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"updateProposalConviction","inputs":[{"name":"proposalId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"upgradeTo","inputs":[{"name":"newImplementation","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"upgradeToAndCall","inputs":[{"name":"newImplementation","type":"address","internalType":"address"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"voterStakedProposals","inputs":[{"name":"","type":"address","internalType":"address"},{"name":"","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"weight","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"event","name":"AdminChanged","inputs":[{"name":"previousAdmin","type":"address","indexed":false,"internalType":"address"},{"name":"newAdmin","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Allocated","inputs":[{"name":"recipientId","type":"address","indexed":true,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"token","type":"address","indexed":false,"internalType":"address"},{"name":"sender","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"BeaconUpgraded","inputs":[{"name":"beacon","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"DecayUpdated","inputs":[{"name":"decay","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Distributed","inputs":[{"name":"proposalId","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"beneficiary","type":"address","indexed":false,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Distributed","inputs":[{"name":"recipientId","type":"address","indexed":true,"internalType":"address"},{"name":"recipientAddress","type":"address","indexed":false,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"sender","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Initialized","inputs":[{"name":"poolId","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"data","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint8","indexed":false,"internalType":"uint8"}],"anonymous":false},{"type":"event","name":"InitializedCV","inputs":[{"name":"poolId","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"data","type":"tuple","indexed":false,"internalType":"struct StrategyStruct.InitializeParams","components":[{"name":"registryCommunity","type":"address","internalType":"address"},{"name":"decay","type":"uint256","internalType":"uint256"},{"name":"maxRatio","type":"uint256","internalType":"uint256"},{"name":"weight","type":"uint256","internalType":"uint256"},{"name":"minThresholdPoints","type":"uint256","internalType":"uint256"},{"name":"proposalType","type":"uint8","internalType":"enum StrategyStruct.ProposalType"},{"name":"pointSystem","type":"uint8","internalType":"enum StrategyStruct.PointSystem"},{"name":"pointConfig","type":"tuple","internalType":"struct StrategyStruct.PointSystemConfig","components":[{"name":"maxAmount","type":"uint256","internalType":"uint256"}]},{"name":"sybilScorer","type":"address","internalType":"address"}]}],"anonymous":false},{"type":"event","name":"MaxRatioUpdated","inputs":[{"name":"maxRatio","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"MinThresholdPointsUpdated","inputs":[{"name":"before","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"minThresholdPoints","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"previousOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"PointsDeactivated","inputs":[{"name":"member","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"PoolActive","inputs":[{"name":"active","type":"bool","indexed":false,"internalType":"bool"}],"anonymous":false},{"type":"event","name":"PoolAmountIncreased","inputs":[{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"PowerDecreased","inputs":[{"name":"member","type":"address","indexed":false,"internalType":"address"},{"name":"tokensUnStaked","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"pointsToDecrease","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"PowerIncreased","inputs":[{"name":"member","type":"address","indexed":false,"internalType":"address"},{"name":"tokensStaked","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"pointsToIncrease","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"ProposalCreated","inputs":[{"name":"poolId","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"proposalId","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Registered","inputs":[{"name":"recipientId","type":"address","indexed":true,"internalType":"address"},{"name":"data","type":"bytes","indexed":false,"internalType":"bytes"},{"name":"sender","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"RegistryUpdated","inputs":[{"name":"registryCommunity","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"SupportAdded","inputs":[{"name":"from","type":"address","indexed":false,"internalType":"address"},{"name":"proposalId","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"totalStakedAmount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"convictionLast","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Upgraded","inputs":[{"name":"implementation","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"WeightUpdated","inputs":[{"name":"weight","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"error","name":"ALLOCATION_ACTIVE","inputs":[]},{"type":"error","name":"ALLOCATION_NOT_ACTIVE","inputs":[]},{"type":"error","name":"ALLOCATION_NOT_ENDED","inputs":[]},{"type":"error","name":"ALREADY_INITIALIZED","inputs":[]},{"type":"error","name":"AMOUNT_MISMATCH","inputs":[]},{"type":"error","name":"ANCHOR_ERROR","inputs":[]},{"type":"error","name":"ARRAY_MISMATCH","inputs":[]},{"type":"error","name":"AddressCannotBeZero","inputs":[]},{"type":"error","name":"AmountOverMaxRatio","inputs":[]},{"type":"error","name":"CantIncreaseFixedSystem","inputs":[]},{"type":"error","name":"ConvictionUnderMinimumThreshold","inputs":[]},{"type":"error","name":"INVALID","inputs":[]},{"type":"error","name":"INVALID_ADDRESS","inputs":[]},{"type":"error","name":"INVALID_FEE","inputs":[]},{"type":"error","name":"INVALID_METADATA","inputs":[]},{"type":"error","name":"INVALID_REGISTRATION","inputs":[]},{"type":"error","name":"IS_APPROVED_STRATEGY","inputs":[]},{"type":"error","name":"MISMATCH","inputs":[]},{"type":"error","name":"MaxPointsReached","inputs":[]},{"type":"error","name":"NONCE_NOT_AVAILABLE","inputs":[]},{"type":"error","name":"NOT_APPROVED_STRATEGY","inputs":[]},{"type":"error","name":"NOT_ENOUGH_FUNDS","inputs":[]},{"type":"error","name":"NOT_IMPLEMENTED","inputs":[]},{"type":"error","name":"NOT_INITIALIZED","inputs":[]},{"type":"error","name":"NOT_PENDING_OWNER","inputs":[]},{"type":"error","name":"NotEnoughPointsToSupport","inputs":[{"name":"pointsSupport","type":"uint256","internalType":"uint256"},{"name":"pointsBalance","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"NotImplemented","inputs":[]},{"type":"error","name":"OnlyCommunityAllowed","inputs":[]},{"type":"error","name":"OnlyCouncilSafe","inputs":[]},{"type":"error","name":"POOL_ACTIVE","inputs":[]},{"type":"error","name":"POOL_INACTIVE","inputs":[]},{"type":"error","name":"PoolAmountNotEnough","inputs":[{"name":"_proposalId","type":"uint256","internalType":"uint256"},{"name":"_requestedAmount","type":"uint256","internalType":"uint256"},{"name":"_poolAmount","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"PoolIdCannotBeZero","inputs":[]},{"type":"error","name":"PoolIsEmpty","inputs":[]},{"type":"error","name":"ProposalDataIsEmpty","inputs":[]},{"type":"error","name":"ProposalIdCannotBeZero","inputs":[]},{"type":"error","name":"ProposalNotActive","inputs":[{"name":"_proposalId","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"ProposalNotInList","inputs":[{"name":"_proposalId","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"ProposalSupportDuplicated","inputs":[{"name":"_proposalId","type":"uint256","internalType":"uint256"},{"name":"index","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"RECIPIENT_ALREADY_ACCEPTED","inputs":[]},{"type":"error","name":"RECIPIENT_ERROR","inputs":[{"name":"recipientId","type":"address","internalType":"address"}]},{"type":"error","name":"RECIPIENT_NOT_ACCEPTED","inputs":[]},{"type":"error","name":"REGISTRATION_NOT_ACTIVE","inputs":[]},{"type":"error","name":"RegistryCannotBeZero","inputs":[]},{"type":"error","name":"SupportUnderflow","inputs":[{"name":"_support","type":"uint256","internalType":"uint256"},{"name":"_delta","type":"int256","internalType":"int256"},{"name":"_result","type":"int256","internalType":"int256"}]},{"type":"error","name":"TokenCannotBeZero","inputs":[]},{"type":"error","name":"TokenNotAllowed","inputs":[]},{"type":"error","name":"UNAUTHORIZED","inputs":[]},{"type":"error","name":"UserCannotBeZero","inputs":[]},{"type":"error","name":"UserCannotExecuteAction","inputs":[]},{"type":"error","name":"UserIsInactive","inputs":[]},{"type":"error","name":"UserNotInRegistry","inputs":[]},{"type":"error","name":"ZERO_ADDRESS","inputs":[]}],"bytecode":{"object":"0x60a0604052306080526000606d81905560705534801561001e57600080fd5b506080516159136200005760003960008181611231015281816112b6015281816113b70152818161143c015261152201526159136000f3fe6080604052600436106103c75760003560e01c806376365af7116101f2578063b5f620ce11610119578063e0dd2c38116100b2578063ef2920fc11610084578063f321b3051161006c578063f321b30514610b89578063f5b0dfb714610ba9578063fc1711f214610bc957005b8063ef2920fc14610b56578063f2fde38b14610b6957005b8063e0dd2c3814610ac9578063e33add9314610ae9578063eb11af9314610b09578063edd146cc14610b3657005b8063c7f758a8116100eb578063c7f758a814610a39578063d1e3623214610a6f578063dc96ff2d14610a84578063df868ed314610ab457005b8063b5f620ce146109a6578063b6c61f31146109c6578063bcc5b93b146109e6578063c329217114610a1c57005b8063950559d71161018b578063a574cea41161015d578063a574cea414610916578063aba9ffee14610943578063ac1ed7b914610959578063b2b878d01461097957005b8063950559d7146108a1578063a0cf0aea146108c1578063a1aab33f146108e9578063a47ff7e5146108ff57005b8063817b1cd2116101c4578063817b1cd21461082d578063824ea8ed14610843578063868c57b8146108635780638da5cb5b1461088357005b806376365af7146107cc578063782aadff146107e25780637c6570ba14610802578063814516ad1461081857005b8063346db8cb116102ee5780634f1ef286116102875780635db64b99116102595780636453d9c4116102415780636453d9c41461077757806369fa25c414610797578063715018a6146107b757005b80635db64b991461072a5780636003e4141461075757005b80634f1ef286146106cc57806352d1902d146106df57806354fac919146106f457806359a5db8b1461070a57005b8063406244d8116102c0578063406244d81461066d57806342fda9c7146106825780634ab4ba42146106975780634d31d087146106ac57005b8063346db8cb146105f1578063351d9f96146106115780633659cfe61461063857806338fff2d01461065857005b806315cc481e116103605780632bbe0cae116103325780632bbe0cae146105725780632cefadbb146105855780632dbd6fdd146105a55780632ed04b2b146105d157005b806315cc481e146104eb57806319ab453c1461051d5780631aa91a9e1461053d5780631ddf1e231461055d57005b80630ba95909116103995780630ba959091461047f5780630c0512e91461049e5780630f529ba2146104b457806311f22ae3146104cb57005b8063013cf08b146103d057806301ffc9a71461040f578063058aca441461043f5780630a6f0ee91461045f57005b366103ce57005b005b3480156103dc57600080fd5b506103f06103eb36600461481d565b610be9565b6040516104069a999897969594939291906148cf565b60405180910390f35b34801561041b57600080fd5b5061042f61042a366004614942565b610cf7565b6040519015158152602001610406565b34801561044b57600080fd5b506103ce61045a366004614999565b610d90565b34801561046b57600080fd5b506103ce61047a366004614ba9565b610df0565b34801561048b57600080fd5b506073545b604051908152602001610406565b3480156104aa57600080fd5b50610490606d5481565b3480156104c057600080fd5b506104906298968081565b3480156104d757600080fd5b506103ce6104e636600461481d565b610e10565b3480156104f757600080fd5b506065546001600160a01b03165b6040516001600160a01b039091168152602001610406565b34801561052957600080fd5b506103ce610538366004614999565b610e4f565b34801561054957600080fd5b5061049061055836600461481d565b610fb0565b34801561056957600080fd5b506103ce611036565b610505610580366004614c21565b611041565b34801561059157600080fd5b506103ce6105a036600461481d565b611064565b3480156105b157600080fd5b506072546105c490610100900460ff1681565b6040516104069190614c83565b3480156105dd57600080fd5b506104906105ec366004614c91565b6110b0565b3480156105fd57600080fd5b5061049061060c366004614cbd565b611182565b34801561061d57600080fd5b5060725461062b9060ff1681565b6040516104069190614cf9565b34801561064457600080fd5b506103ce610653366004614999565b611227565b34801561066457600080fd5b50606854610490565b34801561067957600080fd5b50610490600a81565b34801561068e57600080fd5b50606654610490565b3480156106a357600080fd5b50606954610490565b3480156106b857600080fd5b5061042f6106c7366004614999565b6113a2565b6103ce6106da366004614d07565b6113ad565b3480156106eb57600080fd5b50610490611515565b34801561070057600080fd5b50610490606a5481565b34801561071657600080fd5b5061049061072536600461481d565b6115da565b34801561073657600080fd5b50610490610745366004614999565b60776020526000908152604090205481565b34801561076357600080fd5b50607454610505906001600160a01b031681565b34801561078357600080fd5b506103ce610792366004614999565b611717565b3480156107a357600080fd5b506103ce6107b236600461481d565b611728565b3480156107c357600080fd5b506103ce611767565b3480156107d857600080fd5b50610490606b5481565b3480156107ee57600080fd5b506104906107fd366004614c91565b611779565b34801561080e57600080fd5b5061049060705481565b34801561082457600080fd5b506103ce61191b565b34801561083957600080fd5b50610490606e5481565b34801561084f57600080fd5b5061042f61085e36600461481d565b611a4d565b34801561086f57600080fd5b5061049061087e366004614c91565b611aaa565b34801561088f57600080fd5b506033546001600160a01b0316610505565b3480156108ad57600080fd5b506104906108bc36600461481d565b611adb565b3480156108cd57600080fd5b5061050573eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b3480156108f557600080fd5b50610490606c5481565b34801561090b57600080fd5b506073546104909081565b34801561092257600080fd5b5061093661093136600461481d565b611b05565b6040516104069190614d57565b34801561094f57600080fd5b50610490606f5481565b34801561096557600080fd5b506103ce610974366004614999565b611be4565b34801561098557600080fd5b50610999610994366004614d6a565b611cc5565b6040516104069190614e3f565b3480156109b257600080fd5b506103ce6109c1366004614ea5565b611ce0565b3480156109d257600080fd5b50607554610505906001600160a01b031681565b3480156109f257600080fd5b50610490610a01366004614999565b6001600160a01b031660009081526077602052604090205490565b348015610a2857600080fd5b50607254610100900460ff166105c4565b348015610a4557600080fd5b50610a59610a5436600461481d565b611ce9565b6040516104069a99989796959493929190614ec2565b348015610a7b57600080fd5b50606f54610490565b348015610a9057600080fd5b50610490610a9f36600461481d565b60009081526076602052604090206002015490565b348015610ac057600080fd5b5061042f611deb565b348015610ad557600080fd5b50610490610ae4366004614f27565b611dfe565b348015610af557600080fd5b506103ce610b04366004614f4c565b611e29565b348015610b1557600080fd5b50610b29610b24366004614999565b611e42565b6040516104069190614ff7565b348015610b4257600080fd5b506103ce610b51366004615011565b611e4d565b6103ce610b64366004614c21565b611f9b565b348015610b7557600080fd5b506103ce610b84366004614999565b611fb5565b348015610b9557600080fd5b506103ce610ba4366004615042565b612042565b348015610bb557600080fd5b506103ce610bc436600461481d565b61208d565b348015610bd557600080fd5b506103ce610be436600461481d565b6120b6565b6076602090815260009182526040918290208054600182015460028301546003840154600485015460058601546006870154600788015460088901548b51808d01909c52600a8a0180548d52600b8b0180549a9d999c989b979a6001600160a01b039788169a968816999790951697939660ff9093169593949192840191610c709061509c565b80601f0160208091040260200160405190810160405280929190818152602001828054610c9c9061509c565b8015610ce95780601f10610cbe57610100808354040283529160200191610ce9565b820191906000526020600020905b815481529060010190602001808311610ccc57829003601f168201915b50505050508152505090508a565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167ff1801e61000000000000000000000000000000000000000000000000000000001480610d8a57507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b33610d9a816120f5565b607480546001600160a01b0319166001600160a01b0384169081179091556040519081527fd6ceddf6d2a22f21c7c81675c518004eff43bc5c8a6fc32a0b748e69d58671cd906020015b60405180910390a15050565b610df86121a4565b610e006121cf565b610e0b83838361220b565b505050565b33610e1a816120f5565b606b8290556040518281527f08e39b387d1f739ce0d2553bb31822392e3f67c62c6c0a215120ab4a6841a8ab90602001610de4565b600054610100900460ff1615808015610e6f5750600054600160ff909116105b80610e895750303b158015610e89575060005460ff166001145b610f005760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084015b60405180910390fd5b6000805460ff191660011790558015610f23576000805461ff0019166101001790555b610f62826040518060400160405280600a81526020017f4356537472617465677900000000000000000000000000000000000000000000815250612042565b610f6a61251f565b8015610fac576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249890602001610de4565b5050565b600081815260766020526040812080548314610fe25760405163c1d17bef60e01b815260048101849052602401610ef7565b6001600882015460ff166004811115610ffd57610ffd614836565b1461101e576040516344980d8f60e01b815260048101849052602401610ef7565b61102c818260020154612592565b6003015492915050565b61103f336125cd565b565b600061104b6121a4565b6110536121cf565b61105d838361271e565b9392505050565b3361106e816120f5565b60705460408051918252602082018490527f056aedca4e334b6c4bea48715fb0de644811b740894de57a0380d3eb90f2805b910160405180910390a150607055565b60006110ba612a70565b60006002607254610100900460ff1660038111156110da576110da614836565b148061110157506001607254610100900460ff1660038111156110ff576110ff614836565b145b1561110d57508161111a565b6111178484612ab4565b90505b80606f600082825461112c91906150e6565b9091555050604080516001600160a01b0386168152602081018590529081018290527f70b752f3fadb6ac131c0ece847fcbb6994ec56ed6411595710fd9b29c6ac6cc19060600160405180910390a19392505050565b60008084905060006111a8629896806080606a54901b6111a2919061510f565b83612d78565b905060806f80000000000000000000000000000000606a54629896806111ce91906150e6565b6111dc84600160801b6150e6565b6111e96298968089615131565b6111f39190615131565b6111fd919061510f565b6112078885615131565b6112119190615148565b61121b9190615148565b901c9695505050505050565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036112b45760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b19195b1959d85d1958d85b1b60a21b6064820152608401610ef7565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661130f7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b6001600160a01b03161461137a5760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b6163746976652070726f787960a01b6064820152608401610ef7565b61138381612e21565b6040805160008082526020820190925261139f91839190612e29565b50565b6000610d8a82612fc9565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016300361143a5760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b19195b1959d85d1958d85b1b60a21b6064820152608401610ef7565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166114957f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b6001600160a01b0316146115005760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b6163746976652070726f787960a01b6064820152608401610ef7565b61150982612e21565b610fac82826001612e29565b6000306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146115b55760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c00000000000000006064820152608401610ef7565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc90565b60008060695411611617576040517fed4421ad00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61162082612fe9565b1561163e57604051630efd728560e21b815260040160405180910390fd5b6069546000906116578468010000000000000000615131565b611661919061510f565b62989680606b546801000000000000000061167c9190615131565b611686919061510f565b61169091906150e6565b9050604061169d606f5490565b606a546116ad90629896806150e6565b6298968060406116bd8680615131565b901c629896806080606c54901b6116d4919061510f565b6116de919061510f565b6116e89190615131565b6116f2919061510f565b6116fc9190615131565b901c915060705482116117115760705461105d565b50919050565b61171f612a70565b61139f816125cd565b33611732816120f5565b606a8290556040518281527f592dcd55d60d892e7fcb3ba105013312e99691cd59f91e15f83cb67cb5a505f290602001610de4565b61176f613010565b61103f600061306a565b6000611783612a70565b61178c836130bc565b6117a957604051630b72d6b160e31b815260040160405180910390fd5b60006002607254610100900460ff1660038111156117c9576117c9614836565b036117d757825b9050611834565b6001607254610100900460ff1660038111156117f5576117f5614836565b03611804576117d08484613164565b6003607254610100900460ff16600381111561182257611822614836565b036118345761183184846132ca565b90505b60745460405163011de97360e61b81526001600160a01b038681166004830152306024830152600092169063477a5cc090604401602060405180830381865afa158015611885573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118a9919061515b565b905080156118c95781606f60008282546118c39190615148565b90915550505b604080516001600160a01b0387168152602081018690529081018390527f0b9150e1e54346ed3fa36b977cd5d65dca5a649c737c3174a26bddaadd47667a9060600160405180910390a1509392505050565b33611925816130bc565b61194257604051630b72d6b160e31b815260040160405180910390fd5b6074546040517f0d4a8b490000000000000000000000000000000000000000000000000000000081526001600160a01b03838116600483015230602483015290911690630d4a8b4990604401600060405180830381600087803b1580156119a857600080fd5b505af11580156119bc573d6000803e3d6000fd5b5050607454604051637817ee4f60e01b81526001600160a01b0385811660048301523060248301529091169250637817ee4f9150604401602060405180830381865afa158015611a10573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a349190615178565b606f6000828254611a459190615148565b909155505050565b6000818152607660205260408120600281015482908190611a6f908490613511565b91509150816000148015611a81575080155b15611a8e57826003015491505b6000611a9d84600101546115da565b9092101595945050505050565b60786020528160005260406000208181548110611ac657600080fd5b90600052602060002001600091509150505481565b6000606a5462989680611aee91906150e6565b611afb6298968084615131565b610d8a919061510f565b604080518082019091526000815260606020820152600060766000848152602001908152602001600020905080600a0160405180604001604052908160008201548152602001600182018054611b5a9061509c565b80601f0160208091040260200160405190810160405280929190818152602001828054611b869061509c565b8015611bd35780601f10611ba857610100808354040283529160200191611bd3565b820191906000526020600020905b815481529060010190602001808311611bb657829003601f168201915b505050505081525050915050919050565b607460009054906101000a90046001600160a01b03166001600160a01b0316636c53db9a6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611c37573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c5b9190615191565b6001600160a01b03163303611c9357611c7381613569565b607580546001600160a01b0383166001600160a01b031990911617905550565b6040517fe860ec7e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b606060405163d623472560e01b815260040160405180910390fd5b61139f816135a9565b6000806000806000806000806000806000607660008d815260200190815260200160002090508060010154600014611d2d57611d2881600101546115da565b611d30565b60005b92508060050160009054906101000a90046001600160a01b03168160040160009054906101000a90046001600160a01b03168260060160009054906101000a90046001600160a01b0316836001015484600201548560080160009054906101000a900460ff16866007015487600301548a896009016000336001600160a01b03166001600160a01b03168152602001908152602001600020549a509a509a509a509a509a509a509a509a509a50509193959799509193959799565b6000611df960675460ff1690565b905090565b60008281526076602090815260408083206001600160a01b038516845260090190915281205461105d565b60405163d623472560e01b815260040160405180910390fd5b6000610d8a826135ea565b611e556121a4565b611e5e8261360a565b600081806020019051810190611e74919061521e565b80519091506001600160a01b0316611e9f57604051635df4b1ef60e01b815260040160405180910390fd5b8051607480546001600160a01b0319166001600160a01b039092169190911790556020810151606a556040810151606b556060810151606c5560a08101516072805460ff19166001836002811115611ef957611ef9614836565b021790555060c08101516072805461ff001916610100836003811115611f2157611f21614836565b021790555060e0810151516073556080810151607055610100810151607580546001600160a01b0319166001600160a01b039092169190911790556040517f4ebdec05fb64815e553aeaf3976ef8112dd79760a459bee3ac7d1659ab2c4e0490611f8e90859084906152b9565b60405180910390a1505050565b611fa36121a4565b611fab6121cf565b610fac828261368b565b611fbd613010565b6001600160a01b0381166120395760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610ef7565b61139f8161306a565b606580546001600160a01b0319166001600160a01b03841617905560405161206e90829060200161534c565b60408051601f1981840301815291905280516020909101206066555050565b6120956121a4565b80606960008282546120a79190615148565b9091555061139f90508161379a565b336120c0816120f5565b606c8290556040518281527f30ee8206062f283e56a0af2b02138016bf7442ded26ad68a92a18a9dd246fb4990602001610de4565b6065546068546040517f29e40d4b00000000000000000000000000000000000000000000000000000000815260048101919091526001600160a01b038381166024830152909116906329e40d4b90604401602060405180830381865afa158015612163573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612187919061515b565b61139f5760405163075fd2b160e01b815260040160405180910390fd5b6065546001600160a01b0316331461103f5760405163075fd2b160e01b815260040160405180910390fd5b60685460000361103f576040517f3da3f98c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000825111612246576040517fc5f7c4c000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008280602001905181019061225c9190615178565b905080600003612298576040517ff881a10d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000818152607660205260409020600160725460ff1660028111156122bf576122bf614836565b0361251857805482146122e85760405163c1d17bef60e01b815260048101839052602401610ef7565b606954816001015411156123405760018101546069546040517f5863b0b60000000000000000000000000000000000000000000000000000000081526004810185905260248101929092526044820152606401610ef7565b6001600882015460ff16600481111561235b5761235b614836565b1461237c576040516344980d8f60e01b815260048101839052602401610ef7565b600061238783610fb0565b9050600061239883600101546115da565b905080821080156123ad575060008360010154115b156123e4576040517fcce7930800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6065546068546040517f068bcd8d00000000000000000000000000000000000000000000000000000000815260048101919091526000916001600160a01b03169063068bcd8d90602401600060405180830381865afa15801561244b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261247391908101906153ec565b905083600101546069600082825461248b91906150e6565b90915550506040810151600485015460018601546124b392916001600160a01b0316906137ca565b60088401805460ff191660049081179091558401546001850154604080518881526001600160a01b0390931660208401528201527fa7932e9c92f31e1ed56b29d00bbe669a97484dc24de28dd9c8c0429df7f358479060600160405180910390a15050505b5050505050565b600054610100900460ff1661258a5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401610ef7565b61103f61380f565b60008061259f8484613511565b915091508160001480156125b1575080155b156125bc5750505050565b600784015560039092019190915550565b607454604051637817ee4f60e01b81526001600160a01b03838116600483015230602483015290911690637817ee4f90604401602060405180830381865afa15801561261d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126419190615178565b606f600082825461265291906150e6565b90915550506074546040517f22bcf9990000000000000000000000000000000000000000000000000000000081526001600160a01b038381166004830152306024830152909116906322bcf99990604401600060405180830381600087803b1580156126bd57600080fd5b505af11580156126d1573d6000803e3d6000fd5b505050506126de81613883565b6040516001600160a01b03821681527f1468da654b37bb3631011c1917d02e0db437d519918858d40b38b5e980ca033b906020015b60405180910390a150565b6000612729826130bc565b61274657604051630b72d6b160e31b815260040160405180910390fd5b60008380602001905181019061275c91906154a0565b805190915060000361279a576040517f4e79178600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600160725460ff1660028111156127b3576127b3614836565b03612963576127c58160200151613569565b60608101516001600160a01b0316612809576040517f596a094c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000306001600160a01b03166315cc481e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612849573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061286d9190615191565b6001600160a01b031663068bcd8d6068546040518263ffffffff1660e01b815260040161289c91815260200190565b600060405180830381865afa1580156128b9573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526128e191908101906153ec565b604001519050806001600160a01b031682606001516001600160a01b031614612936576040517fa29c498600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6129438260400151612fe9565b1561296157604051630efd728560e21b815260040160405180910390fd5b505b6000606d6000815461297490615547565b918290555060008181526076602090815260408083208481556005810180546001600160a01b038b81166001600160a01b0319928316179092558885015160048401805491841691831691909117905560608901516006840180549190931691161790559086015160018083019190915560088201805460ff19169091179055436007820155600381019290925560808501518051600a8401908155918101519394509192600b840190612a2890826155ae565b505060685460408051918252602082018590527ffcf3b1aa65a464cef2889608f99e8b8c0f680a4be6c2acb9d961c536a5a9294b92500160405180910390a150949350505050565b6074546001600160a01b0316331461103f576040517faf0916a200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b607454604080516336d8759760e21b815290516000926012926001600160a01b039091169163db61d65c916004808201926020929091908290030181865afa158015612b04573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612b289190615191565b6001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015612b81575060408051601f3d908101601f19168201909252612b7e9181019061566e565b60015b612bc857612bc36040518060400160405280601581526020017f4572726f722067657474696e6720646563696d616c0000000000000000000000815250613a10565b612bce565b60ff1690505b612c0d6040518060400160405280601081526020017f5f616d6f756e74546f556e7374616b650000000000000000000000000000000081525084613a81565b6074546040516316308e2560e11b81526001600160a01b0386811660048301526000928692911690632c611c4a90602401602060405180830381865afa158015612c5b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612c7f9190615178565b612c8991906150e6565b9050612cca6040518060400160405280600d81526020017f6e6577546f74616c5374616b650000000000000000000000000000000000000081525082613a81565b6000612ce9612cda84600a615775565b612ce49084615131565b613af4565b607454604051637817ee4f60e01b81526001600160a01b03898116600483015230602483015292935060009284921690637817ee4f90604401602060405180830381865afa158015612d3f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612d639190615178565b612d6d91906150e6565b979650505050505050565b6000600160801b8310612dcd5760405162461bcd60e51b815260206004820152601c60248201527f5f612073686f756c64206265206c657373207468616e20325e313238000000006044820152606401610ef7565b50600160801b82825b8015612e195780600116600003612dfb57612df18283613bdc565b915060011c612dd6565b612e058383613bdc565b9250612e126001826150e6565b9050612dd6565b505092915050565b61139f613010565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615612e5c57610e0b83613cdb565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015612eb6575060408051601f3d908101601f19168201909252612eb391810190615178565b60015b612f285760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201527f6f6e206973206e6f7420555550530000000000000000000000000000000000006064820152608401610ef7565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8114612fbd5760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f7860448201527f6961626c655555494400000000000000000000000000000000000000000000006064820152608401610ef7565b50610e0b838383613d99565b60006001600160a01b03821615612fe1576001610d8a565b600092915050565b6000612ff86298968083615131565b606954606b546130089190615131565b111592915050565b6033546001600160a01b0316331461103f5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610ef7565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6075546000906001600160a01b03166130d757506001919050565b6075546040517f42a987a00000000000000000000000000000000000000000000000000000000081526001600160a01b038481166004830152306024830152909116906342a987a090604401602060405180830381865afa158015613140573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d8a919061515b565b6000808290506131a96040518060400160405280601281526020017f504f494e545320544f20494e435245415345000000000000000000000000000081525082613a81565b607454604051637817ee4f60e01b81526001600160a01b0386811660048301523060248301526000921690637817ee4f90604401602060405180830381865afa1580156131fa573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061321e9190615178565b905061325f6040518060400160405280600b81526020017f4d454d424552504f57455200000000000000000000000000000000000000000081525082613a81565b60735461326c8383615148565b1115613283576073546132809082906150e6565b91505b6132c26040518060400160405280601681526020017f504f494e545320544f20494e43524541534520454e440000000000000000000081525083613a81565b509392505050565b6074546040516316308e2560e11b81526001600160a01b0384811660048301526000928392859290911690632c611c4a90602401602060405180830381865afa15801561331b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061333f9190615178565b6133499190615148565b607454604080516336d8759760e21b815290519293506012926001600160a01b039092169163db61d65c916004808201926020929091908290030181865afa158015613399573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906133bd9190615191565b6001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015613416575060408051601f3d908101601f191682019092526134139181019061566e565b60015b61345d576134586040518060400160405280601581526020017f4572726f722067657474696e6720646563696d616c0000000000000000000000815250613a10565b613463565b60ff1690505b600061347d61347383600a615775565b612ce49085615131565b607454604051637817ee4f60e01b81526001600160a01b03898116600483015230602483015292935060009290911690637817ee4f90604401602060405180830381865afa1580156134d3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906134f79190615178565b9050600061350582846150e6565b98975050505050505050565b600080439050808460070154111561352b5761352b615781565b8084600701540361354157506000905080613562565b61355f84600701548261355491906150e6565b856003015485611182565b91505b9250929050565b6001600160a01b03811661139f576040517fe622e04000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6067805460ff19168215159081179091556040519081527fd94c9bc4d43c51d8dc345a016d8e3d994432fac68e72832e4cf3a616bd8efae090602001612713565b60006001600160a01b03821615613602576002610d8a565b600392915050565b6136126121a4565b6068541561364c576040517f439a74c900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80600003613686576040517f7fcce2a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b606855565b61369481613dbe565b61369d816130bc565b6136ba57604051630b72d6b160e31b815260040160405180910390fd5b60745460405163011de97360e61b81526001600160a01b038381166004830152306024830152600092169063477a5cc090604401602060405180830381865afa15801561370b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061372f919061515b565b905080613768576040517f5fccb67f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008380602001905181019061377e9190615797565b905061378a8382613ee4565b61379483826140a7565b50505050565b6040518181527f46aeb5d8770fc4474bc2dfa118fd2595f7fb33ce2cbce6f4e5a3dabfe0f7633990602001612713565b7fffffffffffffffffffffffff11111111111111111111111111111111111111126001600160a01b0384160161380457610e0b82826144cb565b610e0b8383836144e7565b600054610100900460ff1661387a5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401610ef7565b61103f3361306a565b6001600160a01b0381166000908152607860209081526040808320805482518185028101850190935280835291929091908301828280156138e357602002820191906000526020600020905b8154815260200190600101908083116138cf575b5050505050905060005b8151811015610e0b57600082828151811061390a5761390a615842565b60200260200101519050600060766000838152602001908152602001600020905061393482614536565b156139fb576001600160a01b038516600090815260098201602052604081208054908290556002830180549192839261396e9084906150e6565b9250508190555080606e600082825461398791906150e6565b9091555061399790508282612592565b60028201546003830154604080516001600160a01b038a1681526020810187905260008183015260608101939093526080830191909152517f0227f642ddcf2042ceaeafadb9d540f432072c00cd4862881667168dcc14710f9181900360a00190a1505b50508080613a0890615547565b9150506138ed565b61139f81604051602401613a24919061534c565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f41304fac0000000000000000000000000000000000000000000000000000000017905261456f565b610fac8282604051602401613a97929190615858565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f9710a9d00000000000000000000000000000000000000000000000000000000017905261456f565b600081600003613b0657506000919050565b60006001613b1384614590565b901c6001901b90506001818481613b2c57613b2c6150f9565b048201901c90506001818481613b4457613b446150f9565b048201901c90506001818481613b5c57613b5c6150f9565b048201901c90506001818481613b7457613b746150f9565b048201901c90506001818481613b8c57613b8c6150f9565b048201901c90506001818481613ba457613ba46150f9565b048201901c90506001818481613bbc57613bbc6150f9565b048201901c905061105d81828581613bd657613bd66150f9565b04614624565b6000600160801b831115613c585760405162461bcd60e51b815260206004820152602860248201527f5f612073686f756c64206265206c657373207468616e206f7220657175616c2060448201527f746f20325e3132380000000000000000000000000000000000000000000000006064820152608401610ef7565b600160801b8210613cab5760405162461bcd60e51b815260206004820152601c60248201527f5f622073686f756c64206265206c657373207468616e20325e313238000000006044820152606401610ef7565b60806f80000000000000000000000000000000613cc88486615131565b613cd29190615148565b901c9392505050565b6001600160a01b0381163b613d585760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201527f6f74206120636f6e7472616374000000000000000000000000000000000000006064820152608401610ef7565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b613da28361463a565b600082511180613daf5750805b15610e0b57613794838361467a565b6001600160a01b038116613dfe576040517fd1f2828800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6074546001600160a01b0316613e2757604051635df4b1ef60e01b815260040160405180910390fd5b6074546040517fa230c5240000000000000000000000000000000000000000000000000000000081526001600160a01b0383811660048301529091169063a230c52490602401602060405180830381865afa158015613e8a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613eae919061515b565b61139f576040517f6a5cfb6d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000805b8251811015613fa157828181518110613f0357613f03615842565b60200260200101516000015160000315613f8f576000838281518110613f2b57613f2b615842565b6020026020010151600001519050613f4281614536565b613f625760405163c1d17bef60e01b815260048101829052602401610ef7565b838281518110613f7457613f74615842565b60200260200101516020015183613f8b919061587a565b9250505b80613f9981615547565b915050613ee8565b506001600160a01b038316600090815260776020526040812054613fc5908361469f565b607454604051637817ee4f60e01b81526001600160a01b03878116600483015230602483015292935060009290911690637817ee4f90604401602060405180830381865afa15801561401b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061403f9190615178565b905080821115614085576040517fd64182fe0000000000000000000000000000000000000000000000000000000081526004810183905260248101829052604401610ef7565b506001600160a01b039093166000908152607760205260409020929092555050565b606060005b82518110156137945760008382815181106140c9576140c9615842565b60200260200101516000015190508251600003614125576040805160018082528183019092529060208083019080368337019050509250808360008151811061411457614114615842565b602002602001018181525050614278565b6000805b84518110156141a4578285828151811061414557614145615842565b602002602001015103614192576040517fadebb154000000000000000000000000000000000000000000000000000000008152600481018490526024810182905260019250604401610ef7565b8061419c81615547565b915050614129565b5080614276576000845160016141ba9190615148565b67ffffffffffffffff8111156141d2576141d26149b6565b6040519080825280602002602001820160405280156141fb578160200160208202803683370190505b50905060005b85518110156142535785818151811061421c5761421c615842565b602002602001015182828151811061423657614236615842565b60209081029190910101528061424b81615547565b915050614201565b50828186518151811061426857614268615842565b602090810291909101015293505b505b600084838151811061428c5761428c615842565b60209081029190910181015181015160008481526076835260408082206001600160a01b038b168352600981019094528120549193506142cc828561469f565b6001600160a01b038a1660009081526009850160205260408120829055909150805b6001600160a01b038b166000908152607860205260409020548110156143655784546001600160a01b038c16600090815260786020526040902080548390811061433a5761433a615842565b9060005260206000200154036143535760019150614365565b8061435d81615547565b9150506142ee565b508061439b576001600160a01b038a16600090815260786020908152604082208654815460018101835591845291909220909101555b8183116143eb576143ac83836150e6565b606e60008282546143bd9190615148565b909155506143cd905083836150e6565b8460020160008282546143e09190615148565b9091555061442f9050565b6143f582846150e6565b606e600082825461440691906150e6565b90915550614416905082846150e6565b84600201600082825461442991906150e6565b90915550505b8360070154600003614446574360078501556144b2565b6144508484612592565b60028401546003850154604080516001600160a01b038e168152602081018a9052908101859052606081019290925260808201527f0227f642ddcf2042ceaeafadb9d540f432072c00cd4862881667168dcc14710f9060a00160405180910390a15b50505050505080806144c390615547565b9150506140ac565b60008060008084865af1610fac5763b12d13eb6000526004601cfd5b81601452806034526fa9059cbb00000000000000000000000060005260206000604460106000875af13d15600160005114171661452c576390b8ec186000526004601cfd5b6000603452505050565b60008181526076602052604081205415801590610d8a5750506000908152607660205260409020600501546001600160a01b0316151590565b80516a636f6e736f6c652e6c6f67602083016000808483855afa5050505050565b600080608083901c156145a557608092831c92015b604083901c156145b757604092831c92015b602083901c156145c957602092831c92015b601083901c156145db57601092831c92015b600883901c156145ed57600892831c92015b600483901c156145ff57600492831c92015b600283901c1561461157600292831c92015b600183901c15610d8a5760010192915050565b6000818310614633578161105d565b5090919050565b61464381613cdb565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b606061105d83836040518060600160405280602781526020016158b7602791396146fa565b6000806146ac838561587a565b9050600081121561105d576040517f3bbc7142000000000000000000000000000000000000000000000000000000008152600481018590526024810184905260448101829052606401610ef7565b6060600080856001600160a01b031685604051614717919061589a565b600060405180830381855af49150503d8060008114614752576040519150601f19603f3d011682016040523d82523d6000602084013e614757565b606091505b509150915061476886838387614772565b9695505050505050565b606083156147e15782516000036147da576001600160a01b0385163b6147da5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610ef7565b50816147eb565b6147eb83836147f3565b949350505050565b8151156148035781518083602001fd5b8060405162461bcd60e51b8152600401610ef7919061534c565b60006020828403121561482f57600080fd5b5035919050565b634e487b7160e01b600052602160045260246000fd5b6005811061485c5761485c614836565b9052565b60005b8381101561487b578181015183820152602001614863565b50506000910152565b6000815180845261489c816020860160208601614860565b601f01601f19169290920160200192915050565b8051825260006020820151604060208501526147eb6040850182614884565b60006101408c83528b60208401528a60408401528960608401526001600160a01b03808a16608085015280891660a085015280881660c0850152508560e084015261491e61010084018661484c565b80610120840152614931818401856148b0565b9d9c50505050505050505050505050565b60006020828403121561495457600080fd5b81357fffffffff000000000000000000000000000000000000000000000000000000008116811461105d57600080fd5b6001600160a01b038116811461139f57600080fd5b6000602082840312156149ab57600080fd5b813561105d81614984565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff811182821017156149ef576149ef6149b6565b60405290565b604051610120810167ffffffffffffffff811182821017156149ef576149ef6149b6565b60405160c0810167ffffffffffffffff811182821017156149ef576149ef6149b6565b60405160a0810167ffffffffffffffff811182821017156149ef576149ef6149b6565b604051601f8201601f1916810167ffffffffffffffff81118282101715614a8857614a886149b6565b604052919050565b600067ffffffffffffffff821115614aaa57614aaa6149b6565b5060051b60200190565b600082601f830112614ac557600080fd5b81356020614ada614ad583614a90565b614a5f565b82815260059290921b84018101918181019086841115614af957600080fd5b8286015b84811015614b1d578035614b1081614984565b8352918301918301614afd565b509695505050505050565b600067ffffffffffffffff821115614b4257614b426149b6565b50601f01601f191660200190565b6000614b5e614ad584614b28565b9050828152838383011115614b7257600080fd5b828260208301376000602084830101529392505050565b600082601f830112614b9a57600080fd5b61105d83833560208501614b50565b600080600060608486031215614bbe57600080fd5b833567ffffffffffffffff80821115614bd657600080fd5b614be287838801614ab4565b94506020860135915080821115614bf857600080fd5b50614c0586828701614b89565b9250506040840135614c1681614984565b809150509250925092565b60008060408385031215614c3457600080fd5b823567ffffffffffffffff811115614c4b57600080fd5b614c5785828601614b89565b9250506020830135614c6881614984565b809150509250929050565b6004811061485c5761485c614836565b60208101610d8a8284614c73565b60008060408385031215614ca457600080fd5b8235614caf81614984565b946020939093013593505050565b600080600060608486031215614cd257600080fd5b505081359360208301359350604090920135919050565b6003811061485c5761485c614836565b60208101610d8a8284614ce9565b60008060408385031215614d1a57600080fd5b8235614d2581614984565b9150602083013567ffffffffffffffff811115614d4157600080fd5b614d4d85828601614b89565b9150509250929050565b60208152600061105d60208301846148b0565b60008060408385031215614d7d57600080fd5b823567ffffffffffffffff80821115614d9557600080fd5b614da186838701614ab4565b9350602091508185013581811115614db857600080fd5b8501601f81018713614dc957600080fd5b8035614dd7614ad582614a90565b81815260059190911b82018401908481019089831115614df657600080fd5b8584015b83811015614e2e57803586811115614e125760008081fd5b614e208c8983890101614b89565b845250918601918601614dfa565b508096505050505050509250929050565b602080825282518282018190526000919060409081850190868401855b82811015614e8a57815180516001600160a01b03168552860151868501529284019290850190600101614e5c565b5091979650505050505050565b801515811461139f57600080fd5b600060208284031215614eb757600080fd5b813561105d81614e97565b6001600160a01b038b811682528a811660208301528916604082015260608101889052608081018790526101408101614efe60a083018861484c565b8560c08301528460e083015283610100830152826101208301529b9a5050505050505050505050565b60008060408385031215614f3a57600080fd5b823591506020830135614c6881614984565b60006020808385031215614f5f57600080fd5b823567ffffffffffffffff811115614f7657600080fd5b8301601f81018513614f8757600080fd5b8035614f95614ad582614a90565b81815260069190911b82018301908381019087831115614fb457600080fd5b928401925b82841015612d6d5760408489031215614fd25760008081fd5b614fda6149cc565b843581528585013586820152825260409093019290840190614fb9565b602081016007831061500b5761500b614836565b91905290565b6000806040838503121561502457600080fd5b82359150602083013567ffffffffffffffff811115614d4157600080fd5b6000806040838503121561505557600080fd5b823561506081614984565b9150602083013567ffffffffffffffff81111561507c57600080fd5b8301601f8101851361508d57600080fd5b614d4d85823560208401614b50565b600181811c908216806150b057607f821691505b60208210810361171157634e487b7160e01b600052602260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b81810381811115610d8a57610d8a6150d0565b634e487b7160e01b600052601260045260246000fd5b60008261512c57634e487b7160e01b600052601260045260246000fd5b500490565b8082028115828204841417610d8a57610d8a6150d0565b80820180821115610d8a57610d8a6150d0565b60006020828403121561516d57600080fd5b815161105d81614e97565b60006020828403121561518a57600080fd5b5051919050565b6000602082840312156151a357600080fd5b815161105d81614984565b80516151b981614984565b919050565b8051600381106151b957600080fd5b8051600481106151b957600080fd5b6000602082840312156151ee57600080fd5b6040516020810181811067ffffffffffffffff82111715615211576152116149b6565b6040529151825250919050565b6000610120828403121561523157600080fd5b6152396149f5565b615242836151ae565b81526020830151602082015260408301516040820152606083015160608201526080830151608082015261527860a084016151be565b60a082015261528960c084016151cd565b60c082015261529b8460e085016151dc565b60e08201526101006152ae8185016151ae565b908201529392505050565b6000610140820190508382526001600160a01b038351166020830152602083015160408301526040830151606083015260608301516080830152608083015160a083015260a083015161530f60c0840182614ce9565b5060c083015161532260e0840182614c73565b5060e08301515161010083810191909152909201516001600160a01b031661012090910152919050565b60208152600061105d6020830184614884565b60006040828403121561537157600080fd5b6153796149cc565b905081518152602082015167ffffffffffffffff81111561539957600080fd5b8201601f810184136153aa57600080fd5b80516153b8614ad582614b28565b8181528560208385010111156153cd57600080fd5b6153de826020830160208601614860565b602084015250909392505050565b6000602082840312156153fe57600080fd5b815167ffffffffffffffff8082111561541657600080fd5b9083019060c0828603121561542a57600080fd5b615432614a19565b82518152602083015161544481614984565b6020820152604083015161545781614984565b604082015260608301518281111561546e57600080fd5b61547a8782860161535f565b6060830152506080830151608082015260a083015160a082015280935050505092915050565b6000602082840312156154b257600080fd5b815167ffffffffffffffff808211156154ca57600080fd5b9083019060a082860312156154de57600080fd5b6154e6614a3c565b8251815260208301516154f881614984565b602082015260408381015190820152606083015161551581614984565b606082015260808301518281111561552c57600080fd5b6155388782860161535f565b60808301525095945050505050565b600060018201615559576155596150d0565b5060010190565b601f821115610e0b57600081815260208120601f850160051c810160208610156155875750805b601f850160051c820191505b818110156155a657828155600101615593565b505050505050565b815167ffffffffffffffff8111156155c8576155c86149b6565b6155dc816155d6845461509c565b84615560565b602080601f83116001811461561157600084156155f95750858301515b600019600386901b1c1916600185901b1785556155a6565b600085815260208120601f198616915b8281101561564057888601518255948401946001909101908401615621565b508582101561565e5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60006020828403121561568057600080fd5b815160ff8116811461105d57600080fd5b600181815b808511156156cc5781600019048211156156b2576156b26150d0565b808516156156bf57918102915b93841c9390800290615696565b509250929050565b6000826156e357506001610d8a565b816156f057506000610d8a565b816001811461570657600281146157105761572c565b6001915050610d8a565b60ff841115615721576157216150d0565b50506001821b610d8a565b5060208310610133831016604e8410600b841016171561574f575081810a610d8a565b6157598383615691565b806000190482111561576d5761576d6150d0565b029392505050565b600061105d83836156d4565b634e487b7160e01b600052600160045260246000fd5b600060208083850312156157aa57600080fd5b825167ffffffffffffffff8111156157c157600080fd5b8301601f810185136157d257600080fd5b80516157e0614ad582614a90565b81815260069190911b820183019083810190878311156157ff57600080fd5b928401925b82841015612d6d576040848903121561581d5760008081fd5b6158256149cc565b845181528585015186820152825260409093019290840190615804565b634e487b7160e01b600052603260045260246000fd5b60408152600061586b6040830185614884565b90508260208301529392505050565b8082018281126000831280158216821582161715612e1957612e196150d0565b600082516158ac818460208701614860565b919091019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220c48cc12d179438205fdfccfa347c3f7a42e1628b0464d75d22b5c73259d5a99664736f6c63430008130033","sourceMap":"3067:38512:130:-:0;;;1088:4:68;1045:48;;6733:1:130;6700:34;;;;6813:38;;3067:38512;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x6080604052600436106103c75760003560e01c806376365af7116101f2578063b5f620ce11610119578063e0dd2c38116100b2578063ef2920fc11610084578063f321b3051161006c578063f321b30514610b89578063f5b0dfb714610ba9578063fc1711f214610bc957005b8063ef2920fc14610b56578063f2fde38b14610b6957005b8063e0dd2c3814610ac9578063e33add9314610ae9578063eb11af9314610b09578063edd146cc14610b3657005b8063c7f758a8116100eb578063c7f758a814610a39578063d1e3623214610a6f578063dc96ff2d14610a84578063df868ed314610ab457005b8063b5f620ce146109a6578063b6c61f31146109c6578063bcc5b93b146109e6578063c329217114610a1c57005b8063950559d71161018b578063a574cea41161015d578063a574cea414610916578063aba9ffee14610943578063ac1ed7b914610959578063b2b878d01461097957005b8063950559d7146108a1578063a0cf0aea146108c1578063a1aab33f146108e9578063a47ff7e5146108ff57005b8063817b1cd2116101c4578063817b1cd21461082d578063824ea8ed14610843578063868c57b8146108635780638da5cb5b1461088357005b806376365af7146107cc578063782aadff146107e25780637c6570ba14610802578063814516ad1461081857005b8063346db8cb116102ee5780634f1ef286116102875780635db64b99116102595780636453d9c4116102415780636453d9c41461077757806369fa25c414610797578063715018a6146107b757005b80635db64b991461072a5780636003e4141461075757005b80634f1ef286146106cc57806352d1902d146106df57806354fac919146106f457806359a5db8b1461070a57005b8063406244d8116102c0578063406244d81461066d57806342fda9c7146106825780634ab4ba42146106975780634d31d087146106ac57005b8063346db8cb146105f1578063351d9f96146106115780633659cfe61461063857806338fff2d01461065857005b806315cc481e116103605780632bbe0cae116103325780632bbe0cae146105725780632cefadbb146105855780632dbd6fdd146105a55780632ed04b2b146105d157005b806315cc481e146104eb57806319ab453c1461051d5780631aa91a9e1461053d5780631ddf1e231461055d57005b80630ba95909116103995780630ba959091461047f5780630c0512e91461049e5780630f529ba2146104b457806311f22ae3146104cb57005b8063013cf08b146103d057806301ffc9a71461040f578063058aca441461043f5780630a6f0ee91461045f57005b366103ce57005b005b3480156103dc57600080fd5b506103f06103eb36600461481d565b610be9565b6040516104069a999897969594939291906148cf565b60405180910390f35b34801561041b57600080fd5b5061042f61042a366004614942565b610cf7565b6040519015158152602001610406565b34801561044b57600080fd5b506103ce61045a366004614999565b610d90565b34801561046b57600080fd5b506103ce61047a366004614ba9565b610df0565b34801561048b57600080fd5b506073545b604051908152602001610406565b3480156104aa57600080fd5b50610490606d5481565b3480156104c057600080fd5b506104906298968081565b3480156104d757600080fd5b506103ce6104e636600461481d565b610e10565b3480156104f757600080fd5b506065546001600160a01b03165b6040516001600160a01b039091168152602001610406565b34801561052957600080fd5b506103ce610538366004614999565b610e4f565b34801561054957600080fd5b5061049061055836600461481d565b610fb0565b34801561056957600080fd5b506103ce611036565b610505610580366004614c21565b611041565b34801561059157600080fd5b506103ce6105a036600461481d565b611064565b3480156105b157600080fd5b506072546105c490610100900460ff1681565b6040516104069190614c83565b3480156105dd57600080fd5b506104906105ec366004614c91565b6110b0565b3480156105fd57600080fd5b5061049061060c366004614cbd565b611182565b34801561061d57600080fd5b5060725461062b9060ff1681565b6040516104069190614cf9565b34801561064457600080fd5b506103ce610653366004614999565b611227565b34801561066457600080fd5b50606854610490565b34801561067957600080fd5b50610490600a81565b34801561068e57600080fd5b50606654610490565b3480156106a357600080fd5b50606954610490565b3480156106b857600080fd5b5061042f6106c7366004614999565b6113a2565b6103ce6106da366004614d07565b6113ad565b3480156106eb57600080fd5b50610490611515565b34801561070057600080fd5b50610490606a5481565b34801561071657600080fd5b5061049061072536600461481d565b6115da565b34801561073657600080fd5b50610490610745366004614999565b60776020526000908152604090205481565b34801561076357600080fd5b50607454610505906001600160a01b031681565b34801561078357600080fd5b506103ce610792366004614999565b611717565b3480156107a357600080fd5b506103ce6107b236600461481d565b611728565b3480156107c357600080fd5b506103ce611767565b3480156107d857600080fd5b50610490606b5481565b3480156107ee57600080fd5b506104906107fd366004614c91565b611779565b34801561080e57600080fd5b5061049060705481565b34801561082457600080fd5b506103ce61191b565b34801561083957600080fd5b50610490606e5481565b34801561084f57600080fd5b5061042f61085e36600461481d565b611a4d565b34801561086f57600080fd5b5061049061087e366004614c91565b611aaa565b34801561088f57600080fd5b506033546001600160a01b0316610505565b3480156108ad57600080fd5b506104906108bc36600461481d565b611adb565b3480156108cd57600080fd5b5061050573eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b3480156108f557600080fd5b50610490606c5481565b34801561090b57600080fd5b506073546104909081565b34801561092257600080fd5b5061093661093136600461481d565b611b05565b6040516104069190614d57565b34801561094f57600080fd5b50610490606f5481565b34801561096557600080fd5b506103ce610974366004614999565b611be4565b34801561098557600080fd5b50610999610994366004614d6a565b611cc5565b6040516104069190614e3f565b3480156109b257600080fd5b506103ce6109c1366004614ea5565b611ce0565b3480156109d257600080fd5b50607554610505906001600160a01b031681565b3480156109f257600080fd5b50610490610a01366004614999565b6001600160a01b031660009081526077602052604090205490565b348015610a2857600080fd5b50607254610100900460ff166105c4565b348015610a4557600080fd5b50610a59610a5436600461481d565b611ce9565b6040516104069a99989796959493929190614ec2565b348015610a7b57600080fd5b50606f54610490565b348015610a9057600080fd5b50610490610a9f36600461481d565b60009081526076602052604090206002015490565b348015610ac057600080fd5b5061042f611deb565b348015610ad557600080fd5b50610490610ae4366004614f27565b611dfe565b348015610af557600080fd5b506103ce610b04366004614f4c565b611e29565b348015610b1557600080fd5b50610b29610b24366004614999565b611e42565b6040516104069190614ff7565b348015610b4257600080fd5b506103ce610b51366004615011565b611e4d565b6103ce610b64366004614c21565b611f9b565b348015610b7557600080fd5b506103ce610b84366004614999565b611fb5565b348015610b9557600080fd5b506103ce610ba4366004615042565b612042565b348015610bb557600080fd5b506103ce610bc436600461481d565b61208d565b348015610bd557600080fd5b506103ce610be436600461481d565b6120b6565b6076602090815260009182526040918290208054600182015460028301546003840154600485015460058601546006870154600788015460088901548b51808d01909c52600a8a0180548d52600b8b0180549a9d999c989b979a6001600160a01b039788169a968816999790951697939660ff9093169593949192840191610c709061509c565b80601f0160208091040260200160405190810160405280929190818152602001828054610c9c9061509c565b8015610ce95780601f10610cbe57610100808354040283529160200191610ce9565b820191906000526020600020905b815481529060010190602001808311610ccc57829003601f168201915b50505050508152505090508a565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167ff1801e61000000000000000000000000000000000000000000000000000000001480610d8a57507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b33610d9a816120f5565b607480546001600160a01b0319166001600160a01b0384169081179091556040519081527fd6ceddf6d2a22f21c7c81675c518004eff43bc5c8a6fc32a0b748e69d58671cd906020015b60405180910390a15050565b610df86121a4565b610e006121cf565b610e0b83838361220b565b505050565b33610e1a816120f5565b606b8290556040518281527f08e39b387d1f739ce0d2553bb31822392e3f67c62c6c0a215120ab4a6841a8ab90602001610de4565b600054610100900460ff1615808015610e6f5750600054600160ff909116105b80610e895750303b158015610e89575060005460ff166001145b610f005760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084015b60405180910390fd5b6000805460ff191660011790558015610f23576000805461ff0019166101001790555b610f62826040518060400160405280600a81526020017f4356537472617465677900000000000000000000000000000000000000000000815250612042565b610f6a61251f565b8015610fac576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249890602001610de4565b5050565b600081815260766020526040812080548314610fe25760405163c1d17bef60e01b815260048101849052602401610ef7565b6001600882015460ff166004811115610ffd57610ffd614836565b1461101e576040516344980d8f60e01b815260048101849052602401610ef7565b61102c818260020154612592565b6003015492915050565b61103f336125cd565b565b600061104b6121a4565b6110536121cf565b61105d838361271e565b9392505050565b3361106e816120f5565b60705460408051918252602082018490527f056aedca4e334b6c4bea48715fb0de644811b740894de57a0380d3eb90f2805b910160405180910390a150607055565b60006110ba612a70565b60006002607254610100900460ff1660038111156110da576110da614836565b148061110157506001607254610100900460ff1660038111156110ff576110ff614836565b145b1561110d57508161111a565b6111178484612ab4565b90505b80606f600082825461112c91906150e6565b9091555050604080516001600160a01b0386168152602081018590529081018290527f70b752f3fadb6ac131c0ece847fcbb6994ec56ed6411595710fd9b29c6ac6cc19060600160405180910390a19392505050565b60008084905060006111a8629896806080606a54901b6111a2919061510f565b83612d78565b905060806f80000000000000000000000000000000606a54629896806111ce91906150e6565b6111dc84600160801b6150e6565b6111e96298968089615131565b6111f39190615131565b6111fd919061510f565b6112078885615131565b6112119190615148565b61121b9190615148565b901c9695505050505050565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036112b45760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b19195b1959d85d1958d85b1b60a21b6064820152608401610ef7565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661130f7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b6001600160a01b03161461137a5760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b6163746976652070726f787960a01b6064820152608401610ef7565b61138381612e21565b6040805160008082526020820190925261139f91839190612e29565b50565b6000610d8a82612fc9565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016300361143a5760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b19195b1959d85d1958d85b1b60a21b6064820152608401610ef7565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166114957f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b6001600160a01b0316146115005760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b6163746976652070726f787960a01b6064820152608401610ef7565b61150982612e21565b610fac82826001612e29565b6000306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146115b55760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c00000000000000006064820152608401610ef7565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc90565b60008060695411611617576040517fed4421ad00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61162082612fe9565b1561163e57604051630efd728560e21b815260040160405180910390fd5b6069546000906116578468010000000000000000615131565b611661919061510f565b62989680606b546801000000000000000061167c9190615131565b611686919061510f565b61169091906150e6565b9050604061169d606f5490565b606a546116ad90629896806150e6565b6298968060406116bd8680615131565b901c629896806080606c54901b6116d4919061510f565b6116de919061510f565b6116e89190615131565b6116f2919061510f565b6116fc9190615131565b901c915060705482116117115760705461105d565b50919050565b61171f612a70565b61139f816125cd565b33611732816120f5565b606a8290556040518281527f592dcd55d60d892e7fcb3ba105013312e99691cd59f91e15f83cb67cb5a505f290602001610de4565b61176f613010565b61103f600061306a565b6000611783612a70565b61178c836130bc565b6117a957604051630b72d6b160e31b815260040160405180910390fd5b60006002607254610100900460ff1660038111156117c9576117c9614836565b036117d757825b9050611834565b6001607254610100900460ff1660038111156117f5576117f5614836565b03611804576117d08484613164565b6003607254610100900460ff16600381111561182257611822614836565b036118345761183184846132ca565b90505b60745460405163011de97360e61b81526001600160a01b038681166004830152306024830152600092169063477a5cc090604401602060405180830381865afa158015611885573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118a9919061515b565b905080156118c95781606f60008282546118c39190615148565b90915550505b604080516001600160a01b0387168152602081018690529081018390527f0b9150e1e54346ed3fa36b977cd5d65dca5a649c737c3174a26bddaadd47667a9060600160405180910390a1509392505050565b33611925816130bc565b61194257604051630b72d6b160e31b815260040160405180910390fd5b6074546040517f0d4a8b490000000000000000000000000000000000000000000000000000000081526001600160a01b03838116600483015230602483015290911690630d4a8b4990604401600060405180830381600087803b1580156119a857600080fd5b505af11580156119bc573d6000803e3d6000fd5b5050607454604051637817ee4f60e01b81526001600160a01b0385811660048301523060248301529091169250637817ee4f9150604401602060405180830381865afa158015611a10573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a349190615178565b606f6000828254611a459190615148565b909155505050565b6000818152607660205260408120600281015482908190611a6f908490613511565b91509150816000148015611a81575080155b15611a8e57826003015491505b6000611a9d84600101546115da565b9092101595945050505050565b60786020528160005260406000208181548110611ac657600080fd5b90600052602060002001600091509150505481565b6000606a5462989680611aee91906150e6565b611afb6298968084615131565b610d8a919061510f565b604080518082019091526000815260606020820152600060766000848152602001908152602001600020905080600a0160405180604001604052908160008201548152602001600182018054611b5a9061509c565b80601f0160208091040260200160405190810160405280929190818152602001828054611b869061509c565b8015611bd35780601f10611ba857610100808354040283529160200191611bd3565b820191906000526020600020905b815481529060010190602001808311611bb657829003601f168201915b505050505081525050915050919050565b607460009054906101000a90046001600160a01b03166001600160a01b0316636c53db9a6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611c37573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c5b9190615191565b6001600160a01b03163303611c9357611c7381613569565b607580546001600160a01b0383166001600160a01b031990911617905550565b6040517fe860ec7e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b606060405163d623472560e01b815260040160405180910390fd5b61139f816135a9565b6000806000806000806000806000806000607660008d815260200190815260200160002090508060010154600014611d2d57611d2881600101546115da565b611d30565b60005b92508060050160009054906101000a90046001600160a01b03168160040160009054906101000a90046001600160a01b03168260060160009054906101000a90046001600160a01b0316836001015484600201548560080160009054906101000a900460ff16866007015487600301548a896009016000336001600160a01b03166001600160a01b03168152602001908152602001600020549a509a509a509a509a509a509a509a509a509a50509193959799509193959799565b6000611df960675460ff1690565b905090565b60008281526076602090815260408083206001600160a01b038516845260090190915281205461105d565b60405163d623472560e01b815260040160405180910390fd5b6000610d8a826135ea565b611e556121a4565b611e5e8261360a565b600081806020019051810190611e74919061521e565b80519091506001600160a01b0316611e9f57604051635df4b1ef60e01b815260040160405180910390fd5b8051607480546001600160a01b0319166001600160a01b039092169190911790556020810151606a556040810151606b556060810151606c5560a08101516072805460ff19166001836002811115611ef957611ef9614836565b021790555060c08101516072805461ff001916610100836003811115611f2157611f21614836565b021790555060e0810151516073556080810151607055610100810151607580546001600160a01b0319166001600160a01b039092169190911790556040517f4ebdec05fb64815e553aeaf3976ef8112dd79760a459bee3ac7d1659ab2c4e0490611f8e90859084906152b9565b60405180910390a1505050565b611fa36121a4565b611fab6121cf565b610fac828261368b565b611fbd613010565b6001600160a01b0381166120395760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610ef7565b61139f8161306a565b606580546001600160a01b0319166001600160a01b03841617905560405161206e90829060200161534c565b60408051601f1981840301815291905280516020909101206066555050565b6120956121a4565b80606960008282546120a79190615148565b9091555061139f90508161379a565b336120c0816120f5565b606c8290556040518281527f30ee8206062f283e56a0af2b02138016bf7442ded26ad68a92a18a9dd246fb4990602001610de4565b6065546068546040517f29e40d4b00000000000000000000000000000000000000000000000000000000815260048101919091526001600160a01b038381166024830152909116906329e40d4b90604401602060405180830381865afa158015612163573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612187919061515b565b61139f5760405163075fd2b160e01b815260040160405180910390fd5b6065546001600160a01b0316331461103f5760405163075fd2b160e01b815260040160405180910390fd5b60685460000361103f576040517f3da3f98c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000825111612246576040517fc5f7c4c000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008280602001905181019061225c9190615178565b905080600003612298576040517ff881a10d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000818152607660205260409020600160725460ff1660028111156122bf576122bf614836565b0361251857805482146122e85760405163c1d17bef60e01b815260048101839052602401610ef7565b606954816001015411156123405760018101546069546040517f5863b0b60000000000000000000000000000000000000000000000000000000081526004810185905260248101929092526044820152606401610ef7565b6001600882015460ff16600481111561235b5761235b614836565b1461237c576040516344980d8f60e01b815260048101839052602401610ef7565b600061238783610fb0565b9050600061239883600101546115da565b905080821080156123ad575060008360010154115b156123e4576040517fcce7930800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6065546068546040517f068bcd8d00000000000000000000000000000000000000000000000000000000815260048101919091526000916001600160a01b03169063068bcd8d90602401600060405180830381865afa15801561244b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261247391908101906153ec565b905083600101546069600082825461248b91906150e6565b90915550506040810151600485015460018601546124b392916001600160a01b0316906137ca565b60088401805460ff191660049081179091558401546001850154604080518881526001600160a01b0390931660208401528201527fa7932e9c92f31e1ed56b29d00bbe669a97484dc24de28dd9c8c0429df7f358479060600160405180910390a15050505b5050505050565b600054610100900460ff1661258a5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401610ef7565b61103f61380f565b60008061259f8484613511565b915091508160001480156125b1575080155b156125bc5750505050565b600784015560039092019190915550565b607454604051637817ee4f60e01b81526001600160a01b03838116600483015230602483015290911690637817ee4f90604401602060405180830381865afa15801561261d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126419190615178565b606f600082825461265291906150e6565b90915550506074546040517f22bcf9990000000000000000000000000000000000000000000000000000000081526001600160a01b038381166004830152306024830152909116906322bcf99990604401600060405180830381600087803b1580156126bd57600080fd5b505af11580156126d1573d6000803e3d6000fd5b505050506126de81613883565b6040516001600160a01b03821681527f1468da654b37bb3631011c1917d02e0db437d519918858d40b38b5e980ca033b906020015b60405180910390a150565b6000612729826130bc565b61274657604051630b72d6b160e31b815260040160405180910390fd5b60008380602001905181019061275c91906154a0565b805190915060000361279a576040517f4e79178600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600160725460ff1660028111156127b3576127b3614836565b03612963576127c58160200151613569565b60608101516001600160a01b0316612809576040517f596a094c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000306001600160a01b03166315cc481e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612849573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061286d9190615191565b6001600160a01b031663068bcd8d6068546040518263ffffffff1660e01b815260040161289c91815260200190565b600060405180830381865afa1580156128b9573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526128e191908101906153ec565b604001519050806001600160a01b031682606001516001600160a01b031614612936576040517fa29c498600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6129438260400151612fe9565b1561296157604051630efd728560e21b815260040160405180910390fd5b505b6000606d6000815461297490615547565b918290555060008181526076602090815260408083208481556005810180546001600160a01b038b81166001600160a01b0319928316179092558885015160048401805491841691831691909117905560608901516006840180549190931691161790559086015160018083019190915560088201805460ff19169091179055436007820155600381019290925560808501518051600a8401908155918101519394509192600b840190612a2890826155ae565b505060685460408051918252602082018590527ffcf3b1aa65a464cef2889608f99e8b8c0f680a4be6c2acb9d961c536a5a9294b92500160405180910390a150949350505050565b6074546001600160a01b0316331461103f576040517faf0916a200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b607454604080516336d8759760e21b815290516000926012926001600160a01b039091169163db61d65c916004808201926020929091908290030181865afa158015612b04573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612b289190615191565b6001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015612b81575060408051601f3d908101601f19168201909252612b7e9181019061566e565b60015b612bc857612bc36040518060400160405280601581526020017f4572726f722067657474696e6720646563696d616c0000000000000000000000815250613a10565b612bce565b60ff1690505b612c0d6040518060400160405280601081526020017f5f616d6f756e74546f556e7374616b650000000000000000000000000000000081525084613a81565b6074546040516316308e2560e11b81526001600160a01b0386811660048301526000928692911690632c611c4a90602401602060405180830381865afa158015612c5b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612c7f9190615178565b612c8991906150e6565b9050612cca6040518060400160405280600d81526020017f6e6577546f74616c5374616b650000000000000000000000000000000000000081525082613a81565b6000612ce9612cda84600a615775565b612ce49084615131565b613af4565b607454604051637817ee4f60e01b81526001600160a01b03898116600483015230602483015292935060009284921690637817ee4f90604401602060405180830381865afa158015612d3f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612d639190615178565b612d6d91906150e6565b979650505050505050565b6000600160801b8310612dcd5760405162461bcd60e51b815260206004820152601c60248201527f5f612073686f756c64206265206c657373207468616e20325e313238000000006044820152606401610ef7565b50600160801b82825b8015612e195780600116600003612dfb57612df18283613bdc565b915060011c612dd6565b612e058383613bdc565b9250612e126001826150e6565b9050612dd6565b505092915050565b61139f613010565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615612e5c57610e0b83613cdb565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015612eb6575060408051601f3d908101601f19168201909252612eb391810190615178565b60015b612f285760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201527f6f6e206973206e6f7420555550530000000000000000000000000000000000006064820152608401610ef7565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8114612fbd5760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f7860448201527f6961626c655555494400000000000000000000000000000000000000000000006064820152608401610ef7565b50610e0b838383613d99565b60006001600160a01b03821615612fe1576001610d8a565b600092915050565b6000612ff86298968083615131565b606954606b546130089190615131565b111592915050565b6033546001600160a01b0316331461103f5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610ef7565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6075546000906001600160a01b03166130d757506001919050565b6075546040517f42a987a00000000000000000000000000000000000000000000000000000000081526001600160a01b038481166004830152306024830152909116906342a987a090604401602060405180830381865afa158015613140573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d8a919061515b565b6000808290506131a96040518060400160405280601281526020017f504f494e545320544f20494e435245415345000000000000000000000000000081525082613a81565b607454604051637817ee4f60e01b81526001600160a01b0386811660048301523060248301526000921690637817ee4f90604401602060405180830381865afa1580156131fa573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061321e9190615178565b905061325f6040518060400160405280600b81526020017f4d454d424552504f57455200000000000000000000000000000000000000000081525082613a81565b60735461326c8383615148565b1115613283576073546132809082906150e6565b91505b6132c26040518060400160405280601681526020017f504f494e545320544f20494e43524541534520454e440000000000000000000081525083613a81565b509392505050565b6074546040516316308e2560e11b81526001600160a01b0384811660048301526000928392859290911690632c611c4a90602401602060405180830381865afa15801561331b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061333f9190615178565b6133499190615148565b607454604080516336d8759760e21b815290519293506012926001600160a01b039092169163db61d65c916004808201926020929091908290030181865afa158015613399573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906133bd9190615191565b6001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015613416575060408051601f3d908101601f191682019092526134139181019061566e565b60015b61345d576134586040518060400160405280601581526020017f4572726f722067657474696e6720646563696d616c0000000000000000000000815250613a10565b613463565b60ff1690505b600061347d61347383600a615775565b612ce49085615131565b607454604051637817ee4f60e01b81526001600160a01b03898116600483015230602483015292935060009290911690637817ee4f90604401602060405180830381865afa1580156134d3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906134f79190615178565b9050600061350582846150e6565b98975050505050505050565b600080439050808460070154111561352b5761352b615781565b8084600701540361354157506000905080613562565b61355f84600701548261355491906150e6565b856003015485611182565b91505b9250929050565b6001600160a01b03811661139f576040517fe622e04000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6067805460ff19168215159081179091556040519081527fd94c9bc4d43c51d8dc345a016d8e3d994432fac68e72832e4cf3a616bd8efae090602001612713565b60006001600160a01b03821615613602576002610d8a565b600392915050565b6136126121a4565b6068541561364c576040517f439a74c900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80600003613686576040517f7fcce2a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b606855565b61369481613dbe565b61369d816130bc565b6136ba57604051630b72d6b160e31b815260040160405180910390fd5b60745460405163011de97360e61b81526001600160a01b038381166004830152306024830152600092169063477a5cc090604401602060405180830381865afa15801561370b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061372f919061515b565b905080613768576040517f5fccb67f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008380602001905181019061377e9190615797565b905061378a8382613ee4565b61379483826140a7565b50505050565b6040518181527f46aeb5d8770fc4474bc2dfa118fd2595f7fb33ce2cbce6f4e5a3dabfe0f7633990602001612713565b7fffffffffffffffffffffffff11111111111111111111111111111111111111126001600160a01b0384160161380457610e0b82826144cb565b610e0b8383836144e7565b600054610100900460ff1661387a5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401610ef7565b61103f3361306a565b6001600160a01b0381166000908152607860209081526040808320805482518185028101850190935280835291929091908301828280156138e357602002820191906000526020600020905b8154815260200190600101908083116138cf575b5050505050905060005b8151811015610e0b57600082828151811061390a5761390a615842565b60200260200101519050600060766000838152602001908152602001600020905061393482614536565b156139fb576001600160a01b038516600090815260098201602052604081208054908290556002830180549192839261396e9084906150e6565b9250508190555080606e600082825461398791906150e6565b9091555061399790508282612592565b60028201546003830154604080516001600160a01b038a1681526020810187905260008183015260608101939093526080830191909152517f0227f642ddcf2042ceaeafadb9d540f432072c00cd4862881667168dcc14710f9181900360a00190a1505b50508080613a0890615547565b9150506138ed565b61139f81604051602401613a24919061534c565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f41304fac0000000000000000000000000000000000000000000000000000000017905261456f565b610fac8282604051602401613a97929190615858565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f9710a9d00000000000000000000000000000000000000000000000000000000017905261456f565b600081600003613b0657506000919050565b60006001613b1384614590565b901c6001901b90506001818481613b2c57613b2c6150f9565b048201901c90506001818481613b4457613b446150f9565b048201901c90506001818481613b5c57613b5c6150f9565b048201901c90506001818481613b7457613b746150f9565b048201901c90506001818481613b8c57613b8c6150f9565b048201901c90506001818481613ba457613ba46150f9565b048201901c90506001818481613bbc57613bbc6150f9565b048201901c905061105d81828581613bd657613bd66150f9565b04614624565b6000600160801b831115613c585760405162461bcd60e51b815260206004820152602860248201527f5f612073686f756c64206265206c657373207468616e206f7220657175616c2060448201527f746f20325e3132380000000000000000000000000000000000000000000000006064820152608401610ef7565b600160801b8210613cab5760405162461bcd60e51b815260206004820152601c60248201527f5f622073686f756c64206265206c657373207468616e20325e313238000000006044820152606401610ef7565b60806f80000000000000000000000000000000613cc88486615131565b613cd29190615148565b901c9392505050565b6001600160a01b0381163b613d585760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201527f6f74206120636f6e7472616374000000000000000000000000000000000000006064820152608401610ef7565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b613da28361463a565b600082511180613daf5750805b15610e0b57613794838361467a565b6001600160a01b038116613dfe576040517fd1f2828800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6074546001600160a01b0316613e2757604051635df4b1ef60e01b815260040160405180910390fd5b6074546040517fa230c5240000000000000000000000000000000000000000000000000000000081526001600160a01b0383811660048301529091169063a230c52490602401602060405180830381865afa158015613e8a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613eae919061515b565b61139f576040517f6a5cfb6d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000805b8251811015613fa157828181518110613f0357613f03615842565b60200260200101516000015160000315613f8f576000838281518110613f2b57613f2b615842565b6020026020010151600001519050613f4281614536565b613f625760405163c1d17bef60e01b815260048101829052602401610ef7565b838281518110613f7457613f74615842565b60200260200101516020015183613f8b919061587a565b9250505b80613f9981615547565b915050613ee8565b506001600160a01b038316600090815260776020526040812054613fc5908361469f565b607454604051637817ee4f60e01b81526001600160a01b03878116600483015230602483015292935060009290911690637817ee4f90604401602060405180830381865afa15801561401b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061403f9190615178565b905080821115614085576040517fd64182fe0000000000000000000000000000000000000000000000000000000081526004810183905260248101829052604401610ef7565b506001600160a01b039093166000908152607760205260409020929092555050565b606060005b82518110156137945760008382815181106140c9576140c9615842565b60200260200101516000015190508251600003614125576040805160018082528183019092529060208083019080368337019050509250808360008151811061411457614114615842565b602002602001018181525050614278565b6000805b84518110156141a4578285828151811061414557614145615842565b602002602001015103614192576040517fadebb154000000000000000000000000000000000000000000000000000000008152600481018490526024810182905260019250604401610ef7565b8061419c81615547565b915050614129565b5080614276576000845160016141ba9190615148565b67ffffffffffffffff8111156141d2576141d26149b6565b6040519080825280602002602001820160405280156141fb578160200160208202803683370190505b50905060005b85518110156142535785818151811061421c5761421c615842565b602002602001015182828151811061423657614236615842565b60209081029190910101528061424b81615547565b915050614201565b50828186518151811061426857614268615842565b602090810291909101015293505b505b600084838151811061428c5761428c615842565b60209081029190910181015181015160008481526076835260408082206001600160a01b038b168352600981019094528120549193506142cc828561469f565b6001600160a01b038a1660009081526009850160205260408120829055909150805b6001600160a01b038b166000908152607860205260409020548110156143655784546001600160a01b038c16600090815260786020526040902080548390811061433a5761433a615842565b9060005260206000200154036143535760019150614365565b8061435d81615547565b9150506142ee565b508061439b576001600160a01b038a16600090815260786020908152604082208654815460018101835591845291909220909101555b8183116143eb576143ac83836150e6565b606e60008282546143bd9190615148565b909155506143cd905083836150e6565b8460020160008282546143e09190615148565b9091555061442f9050565b6143f582846150e6565b606e600082825461440691906150e6565b90915550614416905082846150e6565b84600201600082825461442991906150e6565b90915550505b8360070154600003614446574360078501556144b2565b6144508484612592565b60028401546003850154604080516001600160a01b038e168152602081018a9052908101859052606081019290925260808201527f0227f642ddcf2042ceaeafadb9d540f432072c00cd4862881667168dcc14710f9060a00160405180910390a15b50505050505080806144c390615547565b9150506140ac565b60008060008084865af1610fac5763b12d13eb6000526004601cfd5b81601452806034526fa9059cbb00000000000000000000000060005260206000604460106000875af13d15600160005114171661452c576390b8ec186000526004601cfd5b6000603452505050565b60008181526076602052604081205415801590610d8a5750506000908152607660205260409020600501546001600160a01b0316151590565b80516a636f6e736f6c652e6c6f67602083016000808483855afa5050505050565b600080608083901c156145a557608092831c92015b604083901c156145b757604092831c92015b602083901c156145c957602092831c92015b601083901c156145db57601092831c92015b600883901c156145ed57600892831c92015b600483901c156145ff57600492831c92015b600283901c1561461157600292831c92015b600183901c15610d8a5760010192915050565b6000818310614633578161105d565b5090919050565b61464381613cdb565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b606061105d83836040518060600160405280602781526020016158b7602791396146fa565b6000806146ac838561587a565b9050600081121561105d576040517f3bbc7142000000000000000000000000000000000000000000000000000000008152600481018590526024810184905260448101829052606401610ef7565b6060600080856001600160a01b031685604051614717919061589a565b600060405180830381855af49150503d8060008114614752576040519150601f19603f3d011682016040523d82523d6000602084013e614757565b606091505b509150915061476886838387614772565b9695505050505050565b606083156147e15782516000036147da576001600160a01b0385163b6147da5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610ef7565b50816147eb565b6147eb83836147f3565b949350505050565b8151156148035781518083602001fd5b8060405162461bcd60e51b8152600401610ef7919061534c565b60006020828403121561482f57600080fd5b5035919050565b634e487b7160e01b600052602160045260246000fd5b6005811061485c5761485c614836565b9052565b60005b8381101561487b578181015183820152602001614863565b50506000910152565b6000815180845261489c816020860160208601614860565b601f01601f19169290920160200192915050565b8051825260006020820151604060208501526147eb6040850182614884565b60006101408c83528b60208401528a60408401528960608401526001600160a01b03808a16608085015280891660a085015280881660c0850152508560e084015261491e61010084018661484c565b80610120840152614931818401856148b0565b9d9c50505050505050505050505050565b60006020828403121561495457600080fd5b81357fffffffff000000000000000000000000000000000000000000000000000000008116811461105d57600080fd5b6001600160a01b038116811461139f57600080fd5b6000602082840312156149ab57600080fd5b813561105d81614984565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff811182821017156149ef576149ef6149b6565b60405290565b604051610120810167ffffffffffffffff811182821017156149ef576149ef6149b6565b60405160c0810167ffffffffffffffff811182821017156149ef576149ef6149b6565b60405160a0810167ffffffffffffffff811182821017156149ef576149ef6149b6565b604051601f8201601f1916810167ffffffffffffffff81118282101715614a8857614a886149b6565b604052919050565b600067ffffffffffffffff821115614aaa57614aaa6149b6565b5060051b60200190565b600082601f830112614ac557600080fd5b81356020614ada614ad583614a90565b614a5f565b82815260059290921b84018101918181019086841115614af957600080fd5b8286015b84811015614b1d578035614b1081614984565b8352918301918301614afd565b509695505050505050565b600067ffffffffffffffff821115614b4257614b426149b6565b50601f01601f191660200190565b6000614b5e614ad584614b28565b9050828152838383011115614b7257600080fd5b828260208301376000602084830101529392505050565b600082601f830112614b9a57600080fd5b61105d83833560208501614b50565b600080600060608486031215614bbe57600080fd5b833567ffffffffffffffff80821115614bd657600080fd5b614be287838801614ab4565b94506020860135915080821115614bf857600080fd5b50614c0586828701614b89565b9250506040840135614c1681614984565b809150509250925092565b60008060408385031215614c3457600080fd5b823567ffffffffffffffff811115614c4b57600080fd5b614c5785828601614b89565b9250506020830135614c6881614984565b809150509250929050565b6004811061485c5761485c614836565b60208101610d8a8284614c73565b60008060408385031215614ca457600080fd5b8235614caf81614984565b946020939093013593505050565b600080600060608486031215614cd257600080fd5b505081359360208301359350604090920135919050565b6003811061485c5761485c614836565b60208101610d8a8284614ce9565b60008060408385031215614d1a57600080fd5b8235614d2581614984565b9150602083013567ffffffffffffffff811115614d4157600080fd5b614d4d85828601614b89565b9150509250929050565b60208152600061105d60208301846148b0565b60008060408385031215614d7d57600080fd5b823567ffffffffffffffff80821115614d9557600080fd5b614da186838701614ab4565b9350602091508185013581811115614db857600080fd5b8501601f81018713614dc957600080fd5b8035614dd7614ad582614a90565b81815260059190911b82018401908481019089831115614df657600080fd5b8584015b83811015614e2e57803586811115614e125760008081fd5b614e208c8983890101614b89565b845250918601918601614dfa565b508096505050505050509250929050565b602080825282518282018190526000919060409081850190868401855b82811015614e8a57815180516001600160a01b03168552860151868501529284019290850190600101614e5c565b5091979650505050505050565b801515811461139f57600080fd5b600060208284031215614eb757600080fd5b813561105d81614e97565b6001600160a01b038b811682528a811660208301528916604082015260608101889052608081018790526101408101614efe60a083018861484c565b8560c08301528460e083015283610100830152826101208301529b9a5050505050505050505050565b60008060408385031215614f3a57600080fd5b823591506020830135614c6881614984565b60006020808385031215614f5f57600080fd5b823567ffffffffffffffff811115614f7657600080fd5b8301601f81018513614f8757600080fd5b8035614f95614ad582614a90565b81815260069190911b82018301908381019087831115614fb457600080fd5b928401925b82841015612d6d5760408489031215614fd25760008081fd5b614fda6149cc565b843581528585013586820152825260409093019290840190614fb9565b602081016007831061500b5761500b614836565b91905290565b6000806040838503121561502457600080fd5b82359150602083013567ffffffffffffffff811115614d4157600080fd5b6000806040838503121561505557600080fd5b823561506081614984565b9150602083013567ffffffffffffffff81111561507c57600080fd5b8301601f8101851361508d57600080fd5b614d4d85823560208401614b50565b600181811c908216806150b057607f821691505b60208210810361171157634e487b7160e01b600052602260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b81810381811115610d8a57610d8a6150d0565b634e487b7160e01b600052601260045260246000fd5b60008261512c57634e487b7160e01b600052601260045260246000fd5b500490565b8082028115828204841417610d8a57610d8a6150d0565b80820180821115610d8a57610d8a6150d0565b60006020828403121561516d57600080fd5b815161105d81614e97565b60006020828403121561518a57600080fd5b5051919050565b6000602082840312156151a357600080fd5b815161105d81614984565b80516151b981614984565b919050565b8051600381106151b957600080fd5b8051600481106151b957600080fd5b6000602082840312156151ee57600080fd5b6040516020810181811067ffffffffffffffff82111715615211576152116149b6565b6040529151825250919050565b6000610120828403121561523157600080fd5b6152396149f5565b615242836151ae565b81526020830151602082015260408301516040820152606083015160608201526080830151608082015261527860a084016151be565b60a082015261528960c084016151cd565b60c082015261529b8460e085016151dc565b60e08201526101006152ae8185016151ae565b908201529392505050565b6000610140820190508382526001600160a01b038351166020830152602083015160408301526040830151606083015260608301516080830152608083015160a083015260a083015161530f60c0840182614ce9565b5060c083015161532260e0840182614c73565b5060e08301515161010083810191909152909201516001600160a01b031661012090910152919050565b60208152600061105d6020830184614884565b60006040828403121561537157600080fd5b6153796149cc565b905081518152602082015167ffffffffffffffff81111561539957600080fd5b8201601f810184136153aa57600080fd5b80516153b8614ad582614b28565b8181528560208385010111156153cd57600080fd5b6153de826020830160208601614860565b602084015250909392505050565b6000602082840312156153fe57600080fd5b815167ffffffffffffffff8082111561541657600080fd5b9083019060c0828603121561542a57600080fd5b615432614a19565b82518152602083015161544481614984565b6020820152604083015161545781614984565b604082015260608301518281111561546e57600080fd5b61547a8782860161535f565b6060830152506080830151608082015260a083015160a082015280935050505092915050565b6000602082840312156154b257600080fd5b815167ffffffffffffffff808211156154ca57600080fd5b9083019060a082860312156154de57600080fd5b6154e6614a3c565b8251815260208301516154f881614984565b602082015260408381015190820152606083015161551581614984565b606082015260808301518281111561552c57600080fd5b6155388782860161535f565b60808301525095945050505050565b600060018201615559576155596150d0565b5060010190565b601f821115610e0b57600081815260208120601f850160051c810160208610156155875750805b601f850160051c820191505b818110156155a657828155600101615593565b505050505050565b815167ffffffffffffffff8111156155c8576155c86149b6565b6155dc816155d6845461509c565b84615560565b602080601f83116001811461561157600084156155f95750858301515b600019600386901b1c1916600185901b1785556155a6565b600085815260208120601f198616915b8281101561564057888601518255948401946001909101908401615621565b508582101561565e5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60006020828403121561568057600080fd5b815160ff8116811461105d57600080fd5b600181815b808511156156cc5781600019048211156156b2576156b26150d0565b808516156156bf57918102915b93841c9390800290615696565b509250929050565b6000826156e357506001610d8a565b816156f057506000610d8a565b816001811461570657600281146157105761572c565b6001915050610d8a565b60ff841115615721576157216150d0565b50506001821b610d8a565b5060208310610133831016604e8410600b841016171561574f575081810a610d8a565b6157598383615691565b806000190482111561576d5761576d6150d0565b029392505050565b600061105d83836156d4565b634e487b7160e01b600052600160045260246000fd5b600060208083850312156157aa57600080fd5b825167ffffffffffffffff8111156157c157600080fd5b8301601f810185136157d257600080fd5b80516157e0614ad582614a90565b81815260069190911b820183019083810190878311156157ff57600080fd5b928401925b82841015612d6d576040848903121561581d5760008081fd5b6158256149cc565b845181528585015186820152825260409093019290840190615804565b634e487b7160e01b600052603260045260246000fd5b60408152600061586b6040830185614884565b90508260208301529392505050565b8082018281126000831280158216821582161715612e1957612e196150d0565b600082516158ac818460208701614860565b919091019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220c48cc12d179438205fdfccfa347c3f7a42e1628b0464d75d22b5c73259d5a99664736f6c63430008130033","sourceMap":"3067:38512:130:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7415:60;;;;;;;;;;-1:-1:-1;7415:60:130;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;9454:202;;;;;;;;;;-1:-1:-1;9454:202:130;;;;;:::i;:::-;;:::i;:::-;;;3023:14:151;;3016:22;2998:41;;2986:2;2971:18;9454:202:130;2858:187:151;40831:223:130;;;;;;;;;;-1:-1:-1;40831:223:130;;;;;:::i;:::-;;:::i;7290:325:128:-;;;;;;;;;;-1:-1:-1;7290:325:128;;;;;:::i;:::-;;:::i;18248:99:130:-;;;;;;;;;;-1:-1:-1;18319:11:130;:21;18248:99;;;7505:25:151;;;7493:2;7478:18;18248:99:130;7359:177:151;6700:34:130;;;;;;;;;;;;;;;;6152:36;;;;;;;;;;;;6180:8;6152:36;;40521:155;;;;;;;;;;-1:-1:-1;40521:155:130;;;;;:::i;:::-;;:::i;3330:86:128:-;;;;;;;;;;-1:-1:-1;3405:4:128;;-1:-1:-1;;;;;3405:4:128;3330:86;;;-1:-1:-1;;;;;7719:55:151;;;7701:74;;7689:2;7674:18;3330:86:128;7541:240:151;8154:132:130;;;;;;;;;;-1:-1:-1;8154:132:130;;;;;:::i;:::-;;:::i;39722:520::-;;;;;;;;;;-1:-1:-1;39722:520:130;;;;;:::i;:::-;;:::i;13481:81::-;;;;;;;;;;;;;:::i;6014:344:128:-;;;;;;:::i;:::-;;:::i;41060:237:130:-;;;;;;;;;;-1:-1:-1;41060:237:130;;;;;:::i;:::-;;:::i;7130:45::-;;;;;;;;;;-1:-1:-1;7130:45:130;;;;;;;;;;;;;;;;;;:::i;15122:681::-;;;;;;;;;;-1:-1:-1;15122:681:130;;;;;:::i;:::-;;:::i;33880:1145::-;;;;;;;;;;-1:-1:-1;33880:1145:130;;;;;:::i;:::-;;:::i;7024:47::-;;;;;;;;;;-1:-1:-1;7024:47:130;;;;;;;;;;;;;;;:::i;3143:195:68:-;;;;;;;;;;-1:-1:-1;3143:195:68;;;;;:::i;:::-;;:::i;3498:92:128:-;;;;;;;;;;-1:-1:-1;3577:6:128;;3498:92;;6441:49:130;;;;;;;;;;;;6488:2;6441:49;;3680:100:128;;;;;;;;;;-1:-1:-1;3763:10:128;;3680:100;;3871:108;;;;;;;;;;-1:-1:-1;3962:10:128;;3871:108;;8980:145;;;;;;;;;;-1:-1:-1;8980:145:128;;;;;:::i;:::-;;:::i;3657:220:68:-;;;;;;:::i;:::-;;:::i;2762:131::-;;;;;;;;;;;;;:::i;6618:20:130:-;;;;;;;;;;;;;;;;35606:1482;;;;;;;;;;-1:-1:-1;35606:1482:130;;;;;:::i;:::-;;:::i;7531:53::-;;;;;;;;;;-1:-1:-1;7531:53:130;;;;;:::i;:::-;;;;;;;;;;;;;;7265:46;;;;;;;;;;-1:-1:-1;7265:46:130;;;;-1:-1:-1;;;;;7265:46:130;;;13568:128;;;;;;;;;;-1:-1:-1;13568:128:130;;;;;:::i;:::-;;:::i;40378:137::-;;;;;;;;;;-1:-1:-1;40378:137:130;;;;;:::i;:::-;;:::i;2085:101:46:-;;;;;;;;;;;;;:::i;6644:23:130:-;;;;;;;;;;;;;;;;14059:1057;;;;;;;;;;-1:-1:-1;14059:1057:130;;;;;:::i;:::-;;:::i;6813:38::-;;;;;;;;;;;;;;;;13124:351;;;;;;;;;;;;;:::i;6740:26::-;;;;;;;;;;;;;;;;21619:735;;;;;;;;;;-1:-1:-1;21619:735:130;;;;;:::i;:::-;;:::i;7622:57::-;;;;;;;;;;-1:-1:-1;7622:57:130;;;;;:::i;:::-;;:::i;1462:85:46:-;;;;;;;;;;-1:-1:-1;1534:6:46;;-1:-1:-1;;;;;1534:6:46;1462:85;;40248:124:130;;;;;;;;;;-1:-1:-1;40248:124:130;;;;;:::i;:::-;;:::i;4412:75:9:-;;;;;;;;;;;;4445:42;4412:75;;6673:21:130;;;;;;;;;;;;;;;;7181:51;;;;;;;;;;-1:-1:-1;7181:51:130;;;;;;26510:198;;;;;;;;;;-1:-1:-1;26510:198:130;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;6772:35::-;;;;;;;;;;;;;;;;41303:170;;;;;;;;;;-1:-1:-1;41303:170:130;;;;;:::i;:::-;;:::i;22993:288::-;;;;;;;;;;-1:-1:-1;22993:288:130;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;23976:86::-;;;;;;;;;;-1:-1:-1;23976:86:130;;;;;:::i;:::-;;:::i;7317:31::-;;;;;;;;;;-1:-1:-1;7317:31:130;;;;-1:-1:-1;;;;;7317:31:130;;;27305:127;;;;;;;;;;-1:-1:-1;27305:127:130;;;;;:::i;:::-;-1:-1:-1;;;;;27399:26:130;27373:7;27399:26;;;:18;:26;;;;;;;27305:127;18353:110;;;;;;;;;;-1:-1:-1;18445:11:130;;;;;;;18353:110;;25466:1038;;;;;;;;;;-1:-1:-1;25466:1038:130;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;;;;;:::i;38293:112::-;;;;;;;;;;-1:-1:-1;38378:20:130;;38293:112;;27091:145;;;;;;;;;;-1:-1:-1;27091:145:130;;;;;:::i;:::-;27168:7;27194:22;;;:9;:22;;;;;:35;;;;27091:145;4111:101:128;;;;;;;;;;;;;:::i;26909:176:130:-;;;;;;;;;;-1:-1:-1;26909:176:130;;;;;:::i;:::-;;:::i;18579:226::-;;;;;;;;;;-1:-1:-1;18579:226:130;;;;;:::i;:::-;;:::i;4368:146:128:-;;;;;;;;;;-1:-1:-1;4368:146:128;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;8292:761:130:-;;;;;;;;;;-1:-1:-1;8292:761:130;;;;;:::i;:::-;;:::i;6677:220:128:-;;;;;;:::i;:::-;;:::i;2335:198:46:-;;;;;;;;;;-1:-1:-1;2335:198:46;;;;;:::i;:::-;;:::i;1559:152:128:-;;;;;;;;;;-1:-1:-1;1559:152:128;;;;;:::i;:::-;;:::i;5401:197::-;;;;;;;;;;-1:-1:-1;5401:197:128;;;;;:::i;:::-;;:::i;40682:143:130:-;;;;;;;;;;-1:-1:-1;40682:143:130;;;;;:::i;:::-;;:::i;7415:60::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7415:60:130;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;9454:202::-;9539:4;9562:47;;;9577:32;9562:47;;:87;;-1:-1:-1;952:25:84;937:40;;;;9613:36:130;9555:94;9454:202;-1:-1:-1;;9454:202:130:o;40831:223::-;40914:10;2499:30:128;2521:7;2499:21;:30::i;:::-;40936:17:130::1;:61:::0;;-1:-1:-1;;;;;;40936:61:130::1;-1:-1:-1::0;;;;;40936:61:130;::::1;::::0;;::::1;::::0;;;41012:35:::1;::::0;7701:74:151;;;41012:35:130::1;::::0;7689:2:151;7674:18;41012:35:130::1;;;;;;;;40831:223:::0;;:::o;7290:325:128:-;2205:16;:14;:16::i;:::-;3077:23:::1;:21;:23::i;:::-;7509:42:::2;7521:13;7536:5;7543:7;7509:11;:42::i;:::-;7290:325:::0;;;:::o;40521:155:130:-;40586:10;2499:30:128;2521:7;2499:21;:30::i;:::-;40608:8:130::1;:20:::0;;;40643:26:::1;::::0;7505:25:151;;;40643:26:130::1;::::0;7493:2:151;7478:18;40643:26:130::1;7359:177:151::0;8154:132:130;3279:19:48;3302:13;;;;;;3301:14;;3347:34;;;;-1:-1:-1;3365:12:48;;3380:1;3365:12;;;;:16;3347:34;3346:108;;;-1:-1:-1;3426:4:48;1713:19:51;:23;;;3387:66:48;;-1:-1:-1;3436:12:48;;;;;:17;3387:66;3325:201;;;;-1:-1:-1;;;3325:201:48;;18218:2:151;3325:201:48;;;18200:21:151;18257:2;18237:18;;;18230:30;18296:34;18276:18;;;18269:62;18367:16;18347:18;;;18340:44;18401:19;;3325:201:48;;;;;;;;;3536:12;:16;;-1:-1:-1;;3536:16:48;3551:1;3536:16;;;3562:65;;;;3596:13;:20;;-1:-1:-1;;3596:20:48;;;;;3562:65;8222:31:130::1;8233:5;8222:31;;;;;;;;;;;;;;;;::::0;:10:::1;:31::i;:::-;8263:16;:14;:16::i;:::-;3651:14:48::0;3647:99;;;3697:5;3681:21;;-1:-1:-1;;3681:21:48;;;3721:14;;-1:-1:-1;18583:36:151;;3721:14:48;;18571:2:151;18556:18;3721:14:48;18431:194:151;3647:99:48;3269:483;8154:132:130;:::o;39722:520::-;39792:7;39854:21;;;:9;:21;;;;;39890:19;;:33;;39886:100;;39946:29;;-1:-1:-1;;;39946:29:130;;;;;7505:25:151;;;7478:18;;39946:29:130;7359:177:151;39886:100:130;40027:36;40000:23;;;;;;:63;;;;;;;;:::i;:::-;;39996:130;;40086:29;;-1:-1:-1;;;40086:29:130;;;;;7505:25:151;;;7478:18;;40086:29:130;7359:177:151;39996:130:130;40136:59;40163:8;40173;:21;;;40136:26;:59::i;:::-;40212:23;;;;39722:520;-1:-1:-1;;39722:520:130:o;13481:81::-;13526:29;13544:10;13526:17;:29::i;:::-;13481:81::o;6014:344:128:-;6169:19;2205:16;:14;:16::i;:::-;3077:23:::1;:21;:23::i;:::-;6268:34:::2;6287:5;6294:7;6268:18;:34::i;:::-;6254:48:::0;6014:344;-1:-1:-1;;;6014:344:128:o;41060:237:130:-;41145:10;2499:30:128;2521:7;2499:21;:30::i;:::-;41198:19:130::1;::::0;41172:67:::1;::::0;;18804:25:151;;;18860:2;18845:18;;18838:34;;;41172:67:130::1;::::0;18777:18:151;41172:67:130::1;;;;;;;-1:-1:-1::0;41249:19:130::1;:41:::0;41060:237::o;15122:681::-;15206:7;15225:23;:21;:23::i;:::-;15304:24;15361:36;15346:11;;;;;;;:51;;;;;;;;:::i;:::-;;:103;;;-1:-1:-1;15416:33:130;15401:11;;;;;;;:48;;;;;;;;:::i;:::-;;15346:103;15342:298;;;-1:-1:-1;15513:16:130;15342:298;;;15580:49;15603:7;15612:16;15580:22;:49::i;:::-;15561:68;;15342:298;15673:16;15649:20;;:40;;;;;;;:::i;:::-;;;;-1:-1:-1;;15704:59:130;;;-1:-1:-1;;;;;19425:55:151;;19407:74;;19512:2;19497:18;;19490:34;;;19540:18;;;19533:34;;;15704:59:130;;19395:2:151;19380:18;15704:59:130;;;;;;;15780:16;15122:681;-1:-1:-1;;;15122:681:130:o;33880:1145::-;34014:7;34037:9;34049:11;34037:23;;34375:17;34395:27;6180:8;34410:3;34401:5;;:12;;34400:18;;;;:::i;:::-;34420:1;34395:4;:27::i;:::-;34375:47;;35015:3;6323:34;34992:5;;6180:8;34988:9;;;;:::i;:::-;34963:19;34973:9;-1:-1:-1;;;34963:19:130;:::i;:::-;34945:14;6180:8;34945:10;:14;:::i;:::-;:38;;;;:::i;:::-;34944:54;;;;:::i;:::-;34918:21;34930:9;34918;:21;:::i;:::-;34917:82;;;;:::i;:::-;34916:94;;;;:::i;:::-;34915:103;;;33880:1145;-1:-1:-1;;;;;;33880:1145:130:o;3143:195:68:-;-1:-1:-1;;;;;1654:6:68;1637:23;1645:4;1637:23;1629:80;;;;-1:-1:-1;;;1629:80:68;;20551:2:151;1629:80:68;;;20533:21:151;20590:2;20570:18;;;20563:30;20629:34;20609:18;;;20602:62;-1:-1:-1;;;20680:18:151;;;20673:42;20732:19;;1629:80:68;20349:408:151;1629:80:68;1751:6;-1:-1:-1;;;;;1727:30:68;:20;1030:66:64;1254:54;-1:-1:-1;;;;;1254:54:64;;1175:140;1727:20:68;-1:-1:-1;;;;;1727:30:68;;1719:87;;;;-1:-1:-1;;;1719:87:68;;20964:2:151;1719:87:68;;;20946:21:151;21003:2;20983:18;;;20976:30;21042:34;21022:18;;;21015:62;-1:-1:-1;;;21093:18:151;;;21086:42;21145:19;;1719:87:68;20762:408:151;1719:87:68;3224:36:::1;3242:17;3224;:36::i;:::-;3311:12;::::0;;3321:1:::1;3311:12:::0;;;::::1;::::0;::::1;::::0;;;3270:61:::1;::::0;3292:17;;3311:12;3270:21:::1;:61::i;:::-;3143:195:::0;:::o;8980:145:128:-;9066:4;9089:29;9107:10;9089:17;:29::i;3657:220:68:-;-1:-1:-1;;;;;1654:6:68;1637:23;1645:4;1637:23;1629:80;;;;-1:-1:-1;;;1629:80:68;;20551:2:151;1629:80:68;;;20533:21:151;20590:2;20570:18;;;20563:30;20629:34;20609:18;;;20602:62;-1:-1:-1;;;20680:18:151;;;20673:42;20732:19;;1629:80:68;20349:408:151;1629:80:68;1751:6;-1:-1:-1;;;;;1727:30:68;:20;1030:66:64;1254:54;-1:-1:-1;;;;;1254:54:64;;1175:140;1727:20:68;-1:-1:-1;;;;;1727:30:68;;1719:87;;;;-1:-1:-1;;;1719:87:68;;20964:2:151;1719:87:68;;;20946:21:151;21003:2;20983:18;;;20976:30;21042:34;21022:18;;;21015:62;-1:-1:-1;;;21093:18:151;;;21086:42;21145:19;;1719:87:68;20762:408:151;1719:87:68;3772:36:::1;3790:17;3772;:36::i;:::-;3818:52;3840:17;3859:4;3865;3818:21;:52::i;2762:131::-:0;2840:7;2080:4;-1:-1:-1;;;;;2089:6:68;2072:23;;2064:92;;;;-1:-1:-1;;;2064:92:68;;21377:2:151;2064:92:68;;;21359:21:151;21416:2;21396:18;;;21389:30;21455:34;21435:18;;;21428:62;21526:26;21506:18;;;21499:54;21570:19;;2064:92:68;21175:420:151;2064:92:68;-1:-1:-1;1030:66:64::1;2762:131:68::0;:::o;35606:1482:130:-;35681:18;35849:1;35835:10;;:15;35831:66;;35873:13;;;;;;;;;;;;;;35831:66;36337:33;36353:16;36337:15;:33::i;:::-;36333:91;;;36393:20;;-1:-1:-1;;;36393:20:130;;;;;;;;;;;36333:91;36646:10;;36572:13;;36616:26;:16;36635:7;36616:26;:::i;:::-;36615:41;;;;:::i;:::-;6180:8;36589;;36600:7;36589:18;;;;:::i;:::-;36588:24;;;;:::i;:::-;:68;;;;:::i;:::-;36572:84;;36809:2;36767:28;38378:20;;;38293:112;36767:28;36757:5;;36753:9;;6180:8;36753:9;:::i;:::-;6180:8;36740:2;36722:13;36730:5;;36722:13;:::i;:::-;36721:21;;6180:8;36708:3;36698:6;;:13;;36697:19;;;;:::i;:::-;36696:47;;;;:::i;:::-;36695:53;;;;:::i;:::-;36694:69;;;;:::i;:::-;36693:102;;;;:::i;:::-;36679:132;;36666:145;;37027:19;;37014:10;:32;:67;;37062:19;;37014:67;;;-1:-1:-1;37049:10:130;37001:80;-1:-1:-1;35606:1482:130:o;13568:128::-;13630:23;:21;:23::i;:::-;13663:26;13681:7;13663:17;:26::i;40378:137::-;40437:10;2499:30:128;2521:7;2499:21;:30::i;:::-;40459:5:130::1;:14:::0;;;40488:20:::1;::::0;7505:25:151;;;40488:20:130::1;::::0;7493:2:151;7478:18;40488:20:130::1;7359:177:151::0;2085:101:46;1355:13;:11;:13::i;:::-;2149:30:::1;2176:1;2149:18;:30::i;14059:1057:130:-:0;14141:7;14205:23;:21;:23::i;:::-;14243:26;14261:7;14243:17;:26::i;:::-;14238:90;;14292:25;;-1:-1:-1;;;14292:25:130;;;;;;;;;;;14238:90;14337:24;14394:36;14379:11;;;;;;;:51;;;;;;;;:::i;:::-;;14375:441;;14488:14;14465:38;14446:57;;14375:441;;;14539:33;14524:11;;;;;;;:48;;;;;;;;:::i;:::-;;14520:296;;14607:44;14627:7;14636:14;14607:19;:44::i;14520:296::-;14687:36;14672:11;;;;;;;:51;;;;;;;;:::i;:::-;;14668:148;;14758:47;14781:7;14790:14;14758:22;:47::i;:::-;14739:66;;14668:148;14844:17;;:69;;-1:-1:-1;;;14844:69:130;;-1:-1:-1;;;;;21853:15:151;;;14844:69:130;;;21835:34:151;14907:4:130;21885:18:151;;;21878:43;14825:16:130;;14844:17;;:45;;21747:18:151;;14844:69:130;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14825:88;;14927:11;14923:82;;;14978:16;14954:20;;:40;;;;;;;:::i;:::-;;;;-1:-1:-1;;14923:82:130;15019:57;;;-1:-1:-1;;;;;19425:55:151;;19407:74;;19512:2;19497:18;;19490:34;;;19540:18;;;19533:34;;;15019:57:130;;19395:2:151;19380:18;15019:57:130;;;;;;;-1:-1:-1;15093:16:130;14059:1057;-1:-1:-1;;;14059:1057:130:o;13124:351::-;13186:10;13211:25;13186:10;13211:17;:25::i;:::-;13206:89;;13259:25;;-1:-1:-1;;;13259:25:130;;;;;;;;;;;13206:89;13304:17;;:65;;;;;-1:-1:-1;;;;;21853:15:151;;;13304:65:130;;;21835:34:151;13363:4:130;21885:18:151;;;21878:43;13304:17:130;;;;:42;;21747:18:151;;13304:65:130;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;13403:17:130;;:65;;-1:-1:-1;;;13403:65:130;;-1:-1:-1;;;;;21853:15:151;;;13403:65:130;;;21835:34:151;13462:4:130;21885:18:151;;;21878:43;13403:17:130;;;;-1:-1:-1;13403:42:130;;-1:-1:-1;21747:18:151;;13403:65:130;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13379:20;;:89;;;;;;;:::i;:::-;;;;-1:-1:-1;;;13124:351:130:o;21619:735::-;21688:18;21761:21;;;:9;:21;;;;;21971;;;;21688:18;;;;21927:66;;21761:21;;21927:33;:66::i;:::-;21867:126;;;;22008:14;22026:1;22008:19;:39;;;;-1:-1:-1;22031:16:130;;22008:39;22004:110;;;22080:8;:23;;;22063:40;;22004:110;22123:17;22143:44;22162:8;:24;;;22143:18;:44::i;:::-;22320:27;;;;;21619:735;-1:-1:-1;;;;;21619:735:130:o;7622:57::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;40248:124::-;40311:7;40358:5;;6180:8;40354:9;;;;:::i;:::-;40339:10;6180:8;40339:6;:10;:::i;:::-;40338:26;;;;:::i;26510:198::-;-1:-1:-1;;;;;;;;;;;;;;;;;26602:40:130;26645:9;:22;26655:11;26645:22;;;;;;;;;;;26602:65;;26684:8;:17;;26677:24;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;26510:198;;;:::o;41303:170::-;7781:17;;;;;;;;;-1:-1:-1;;;;;7781:17:130;-1:-1:-1;;;;;7781:29:130;;:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;7759:54:130;:10;:54;7755:141;;41384:32:::1;41403:12;41384:18;:32::i;:::-;41426:11;:40:::0;;-1:-1:-1;;;;;41426:40:130;::::1;-1:-1:-1::0;;;;;;41426:40:130;;::::1;;::::0;;3143:195:68;:::o;7755:141:130:-;7868:17;;;;;;;;;;;;;;22993:288;23079:22;23163:16;;-1:-1:-1;;;23163:16:130;;;;;;;;;;;23976:86;24032:23;24047:7;24032:14;:23::i;25466:1038::-;25568:17;25599:19;25632:22;25668:23;25705:20;25739:44;25797:17;25828:22;25864:17;25895:25;25945:40;25988:9;:22;25998:11;25988:22;;;;;;;;;;;25945:65;;26033:8;:24;;;26061:1;26033:29;:80;;26069:44;26088:8;:24;;;26069:18;:44::i;:::-;26033:80;;;26065:1;26033:80;26021:92;;26144:8;:18;;;;;;;;;;-1:-1:-1;;;;;26144:18:130;26176:8;:20;;;;;;;;;;-1:-1:-1;;;;;26176:20:130;26210:8;:23;;;;;;;;;;-1:-1:-1;;;;;26210:23:130;26247:8;:24;;;26285:8;:21;;;26320:8;:23;;;;;;;;;;;;26357:8;:18;;;26389:8;:23;;;26426:9;26449:8;:26;;:38;26476:10;-1:-1:-1;;;;;26449:38:130;-1:-1:-1;;;;;26449:38:130;;;;;;;;;;;;;26123:374;;;;;;;;;;;;;;;;;;;;;25466:1038;;;;;;;;;;;:::o;4111:101:128:-;4167:4;4190:15;11064:10;;;;;10985:96;4190:15;4183:22;;4111:101;:::o;26909:176:130:-;27000:7;27565:22;;;:9;:22;;;;;;;;-1:-1:-1;;;;;27565:48:130;;;;:40;;:48;;;;;;27026:52;27438:182;18579:226;18722:16;;-1:-1:-1;;;18722:16:130;;;;;;;;;;;4368:146:128;4449:6;4474:33;4494:12;4474:19;:33::i;8292:761:130:-;2205:16:128;:14;:16::i;:::-;8385:28:130::1;8405:7;8385:19;:28::i;:::-;8423:41;8478:5;8467:52;;;;;;;;;;;;:::i;:::-;8534:20:::0;;8423:96;;-1:-1:-1;;;;;;8534:34:130::1;8530:94;;8591:22;;-1:-1:-1::0;;;8591:22:130::1;;;;;;;;;;;8530:94;8676:20:::0;;8634:17:::1;:63:::0;;-1:-1:-1;;;;;;8634:63:130::1;-1:-1:-1::0;;;;;8634:63:130;;::::1;::::0;;;::::1;::::0;;8715:8:::1;::::0;::::1;::::0;8707:5:::1;:16:::0;8744:11:::1;::::0;::::1;::::0;8733:8:::1;:22:::0;8774:9:::1;::::0;::::1;::::0;8765:6:::1;:18:::0;8808:15:::1;::::0;::::1;::::0;8793:12:::1;:30:::0;;-1:-1:-1;;8793:30:130::1;-1:-1:-1::0;8808:15:130;8793:30:::1;::::0;::::1;;;;;;:::i;:::-;;;::::0;;-1:-1:-1;8847:14:130::1;::::0;::::1;::::0;8833:11:::1;:28:::0;;-1:-1:-1;;8833:28:130::1;;8847:14:::0;8833:28:::1;::::0;::::1;;;;;;:::i;:::-;;;::::0;;-1:-1:-1;8885:14:130::1;::::0;::::1;::::0;8871:28;:11:::1;:28:::0;8931:21:::1;::::0;::::1;::::0;8909:19:::1;:43:::0;8989:14:::1;::::0;::::1;::::0;8962:11:::1;:42:::0;;-1:-1:-1;;;;;;8962:42:130::1;-1:-1:-1::0;;;;;8962:42:130;;::::1;::::0;;;::::1;::::0;;9020:26:::1;::::0;::::1;::::0;::::1;::::0;9034:7;;8885:14;;9020:26:::1;:::i;:::-;;;;;;;;8375:678;8292:761:::0;;:::o;6677:220:128:-;2205:16;:14;:16::i;:::-;3077:23:::1;:21;:23::i;:::-;6825:25:::2;6835:5;6842:7;6825:9;:25::i;2335:198:46:-:0;1355:13;:11;:13::i;:::-;-1:-1:-1;;;;;2423:22:46;::::1;2415:73;;;::::0;-1:-1:-1;;;2415:73:46;;25813:2:151;2415:73:46::1;::::0;::::1;25795:21:151::0;25852:2;25832:18;;;25825:30;25891:34;25871:18;;;25864:62;25962:8;25942:18;;;25935:36;25988:19;;2415:73:46::1;25611:402:151::0;2415:73:46::1;2498:28;2517:8;2498:18;:28::i;1559:152:128:-:0;1634:4;:19;;-1:-1:-1;;;;;;1634:19:128;-1:-1:-1;;;;;1634:19:128;;;;;1686:17;;;;1697:5;;1686:17;;;:::i;:::-;;;;-1:-1:-1;;1686:17:128;;;;;;;;;1676:28;;1686:17;1676:28;;;;1663:10;:41;-1:-1:-1;;1559:152:128:o;5401:197::-;2205:16;:14;:16::i;:::-;5541:7:::1;5527:10;;:21;;;;;;;:::i;:::-;::::0;;;-1:-1:-1;5558:33:128::1;::::0;-1:-1:-1;5583:7:128;5558:24:::1;:33::i;40682:143:130:-:0;40743:10;2499:30:128;2521:7;2499:21;:30::i;:::-;40765:6:130::1;:16:::0;;;40796:22:::1;::::0;7505:25:151;;;40796:22:130::1;::::0;7493:2:151;7478:18;40796:22:130::1;7359:177:151::0;9707:142:128;9784:4;;9803:6;;9784:35;;;;;;;;26417:25:151;;;;-1:-1:-1;;;;;26478:55:151;;;26458:18;;;26451:83;9784:4:128;;;;:18;;26390::151;;9784:35:128;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9779:63;;9828:14;;-1:-1:-1;;;9828:14:128;;;;;;;;;;;9399:111;9475:4;;-1:-1:-1;;;;;9475:4:128;9453:10;:27;9449:54;;9489:14;;-1:-1:-1;;;9489:14:128;;;;;;;;;;;10356:105;10417:6;;10427:1;10417:11;10413:41;;10437:17;;;;;;;;;;;;;;19857:1756:130;20052:1;20036:5;:12;:17;20032:76;;20076:21;;;;;;;;;;;;;;20032:76;20118:18;20150:5;20139:28;;;;;;;;;;;;:::i;:::-;20118:49;;20182:10;20196:1;20182:15;20178:77;;20220:24;;;;;;;;;;;;;;20178:77;20264:40;20307:21;;;:9;:21;;;;;20359:35;20343:12;;;;:51;;;;;;;;:::i;:::-;;20339:1208;;20414:19;;:33;;20410:108;;20474:29;;-1:-1:-1;;;20474:29:130;;;;;7505:25:151;;;7478:18;;20474:29:130;7359:177:151;20410:108:130;20563:10;;20536:8;:24;;;:37;20532:152;;;20632:24;;;;20658:10;;20600:69;;;;;;;;26747:25:151;;;26788:18;;;26781:34;;;;26831:18;;;26824:34;26720:18;;20600:69:130;26545:319:151;20532:152:130;20729:36;20702:23;;;;;;:63;;;;;;;;:::i;:::-;;20698:138;;20792:29;;-1:-1:-1;;;20792:29:130;;;;;7505:25:151;;;7478:18;;20792:29:130;7359:177:151;20698:138:130;20850:22;20875:36;20900:10;20875:24;:36::i;:::-;20850:61;;20925:17;20945:44;20964:8;:24;;;20945:18;:44::i;:::-;20925:64;;21025:9;21008:14;:26;:58;;;;;21065:1;21038:8;:24;;;:28;21008:58;21004:137;;;21093:33;;;;;;;;;;;;;;21004:137;21180:4;;21193:6;;21180:20;;;;;;;;7505:25:151;;;;21155:22:130;;-1:-1:-1;;;;;21180:4:130;;:12;;7478:18:151;;21180:20:130;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;21180:20:130;;;;;;;;;;;;:::i;:::-;21155:45;;21229:8;:24;;;21215:10;;:38;;;;;;;:::i;:::-;;;;-1:-1:-1;;21291:10:130;;;;21303:20;;;;;21325:24;;;21275:75;;21291:10;-1:-1:-1;;;;;21303:20:130;;21275:15;:75::i;:::-;21381:23;;;:64;;-1:-1:-1;;21381:64:130;21407:38;21381:64;;;;;;21489:20;;;21381:64;21511:24;;;21465:71;;;28835:25:151;;;-1:-1:-1;;;;;21489:20:130;;;28891:2:151;28876:18;;28869:83;28968:18;;28961:34;21465:71:130;;28823:2:151;28808:18;21465:71:130;;;;;;;20396:1151;;;20339:1208;19943:1670;;19857:1756;;;:::o;1024:95:46:-;5374:13:48;;;;;;;5366:69;;;;-1:-1:-1;;;5366:69:48;;29208:2:151;5366:69:48;;;29190:21:151;29247:2;29227:18;;;29220:30;29286:34;29266:18;;;29259:62;-1:-1:-1;;;29337:18:151;;;29330:41;29388:19;;5366:69:48;29006:407:151;5366:69:48;1086:26:46::1;:24;:26::i;38595:396:130:-:0;38714:18;38734:19;38757:56;38791:9;38802:10;38757:33;:56::i;:::-;38713:100;;;;38827:10;38841:1;38827:15;:35;;;;-1:-1:-1;38846:16:130;;38827:35;38823:72;;;38878:7;;38595:396;;:::o;38823:72::-;38904:19;;;:33;38947:24;;;;:37;;;;-1:-1:-1;38595:396:130:o;13702:351::-;13789:17;;:66;;-1:-1:-1;;;13789:66:130;;-1:-1:-1;;;;;21853:15:151;;;13789:66:130;;;21835:34:151;13849:4:130;21885:18:151;;;21878:43;13789:17:130;;;;:42;;21747:18:151;;13789:66:130;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13765:20;;:90;;;;;;;:::i;:::-;;;;-1:-1:-1;;13865:17:130;;:68;;;;;-1:-1:-1;;;;;21853:15:151;;;13865:68:130;;;21835:34:151;13927:4:130;21885:18:151;;;21878:43;13865:17:130;;;;:44;;21747:18:151;;13865:68:130;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13988:17;13997:7;13988:8;:17::i;:::-;14020:26;;-1:-1:-1;;;;;7719:55:151;;7701:74;;14020:26:130;;7689:2:151;7674:18;14020:26:130;;;;;;;;13702:351;:::o;11073:2045::-;11165:7;11189:26;11207:7;11189:17;:26::i;:::-;11184:90;;11238:25;;-1:-1:-1;;;11238:25:130;;;;;;;;;;;11184:90;11343:45;11402:5;11391:50;;;;;;;;;;;;:::i;:::-;11556:15;;11343:98;;-1:-1:-1;11556:15:130;:20;11552:78;;11599:20;;;;;;;;;;;;;;11552:78;11722:35;11706:12;;;;:51;;;;;;;;:::i;:::-;;11702:722;;11773:40;11792:8;:20;;;11773:18;:40::i;:::-;11879:23;;;;-1:-1:-1;;;;;11879:37:130;11875:102;;11943:19;;;;;;;;;;;;;;11875:102;11990:17;12010:4;-1:-1:-1;;;;;12010:12:130;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;12010:22:130;;12033:6;;12010:30;;;;;;;;;;;;;7505:25:151;;7493:2;7478:18;;7359:177;12010:30:130;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;12010:30:130;;;;;;;;;;;;:::i;:::-;:36;;;11990:56;;12091:9;-1:-1:-1;;;;;12064:36:130;:8;:23;;;-1:-1:-1;;;;;12064:36:130;;12060:234;;12262:17;;;;;;;;;;;;;;12060:234;12311:41;12327:8;:24;;;12311:15;:41::i;:::-;12307:107;;;12379:20;;-1:-1:-1;;;12379:20:130;;;;;;;;;;;12307:107;11759:665;11702:722;12433:18;12456:15;;12454:17;;;;;:::i;:::-;;;;;-1:-1:-1;12481:33:130;12517:21;;;:9;:21;;;;;;;;12549:25;;;12584:11;;;:21;;-1:-1:-1;;;;;12584:21:130;;;-1:-1:-1;;;;;;12584:21:130;;;;;;;12631:20;;;;12615:13;;;:36;;;;;;;;;;;;;;12680:23;;;;12661:16;;;:42;;;;;;;;;;;12733:24;;;;-1:-1:-1;12713:17:130;;;:44;;;;12818:16;;;:55;;-1:-1:-1;;12818:55:130;;;;;;12897:12;12883:11;;;:26;-1:-1:-1;12919:16:130;;:20;;;;12998:17;;;;12985:30;;:10;;;:30;;;;;;;12454:17;;-1:-1:-1;12517:21:130;;12985:30;;;;;;;;:::i;:::-;-1:-1:-1;;13047:6:130;;13031:35;;;18804:25:151;;;18860:2;18845:18;;18838:34;;;13031:35:130;;-1:-1:-1;18777:18:151;13031:35:130;;;;;;;-1:-1:-1;13099:10:130;11073:2045;-1:-1:-1;;;;11073:2045:130:o;10210:162::-;10292:17;;-1:-1:-1;;;;;10292:17:130;10270:10;:40;10266:100;;10333:22;;;;;;;;;;;;;;17440:802;17605:17;;:31;;;-1:-1:-1;;;17605:31:130;;;;17538:7;;17575:2;;-1:-1:-1;;;;;17605:17:130;;;;:29;;:31;;;;;;;;;;;;;;;:17;:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;17591:56:130;;:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;17591:58:130;;;;;;;;-1:-1:-1;;17591:58:130;;;;;;;;;;;;:::i;:::-;;;17587:208;;17748:36;;;;;;;;;;;;;;;;;;:11;:36::i;:::-;17587:208;;;17699:17;;;-1:-1:-1;17587:208:130;17804:49;;;;;;;;;;;;;;;;;;17836:16;17804:11;:49::i;:::-;17887:17;;:48;;-1:-1:-1;;;17887:48:130;;-1:-1:-1;;;;;7719:55:151;;;17887:48:130;;;7701:74:151;17863:21:130;;17938:16;;17887:17;;;:39;;7674:18:151;;17887:48:130;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:67;;;;:::i;:::-;17863:91;;17964:43;;;;;;;;;;;;;;;;;;17993:13;17964:11;:43::i;:::-;18017:22;18042:40;18068:13;18074:7;18068:2;:13;:::i;:::-;18052:29;;:13;:29;:::i;:::-;18042:9;:40::i;:::-;18119:17;;:66;;-1:-1:-1;;;18119:66:130;;-1:-1:-1;;;;;21853:15:151;;;18119:66:130;;;21835:34:151;18179:4:130;21885:18:151;;;21878:43;18017:65:130;;-1:-1:-1;18092:24:130;;18017:65;;18119:17;;:42;;21747:18:151;;18119:66:130;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:83;;;;:::i;:::-;18092:110;17440:802;-1:-1:-1;;;;;;;17440:802:130:o;37840:447::-;37901:15;-1:-1:-1;;;37936:2:130;:12;37928:53;;;;-1:-1:-1;;;37928:53:130;;35149:2:151;37928:53:130;;;35131:21:151;35188:2;35168:18;;;35161:30;35227;35207:18;;;35200:58;35275:18;;37928:53:130;34947:352:151;37928:53:130;-1:-1:-1;;;;38003:2:130;38027;38066:215;38073:5;;38066:215;;38098:1;38102;38098:5;38107:1;38098:10;38094:177;;38132:10;38137:1;38140;38132:4;:10::i;:::-;38128:14;-1:-1:-1;38166:1:130;38160:7;38066:215;;38094:177;38216:16;38221:7;38230:1;38216:4;:16::i;:::-;38206:26;-1:-1:-1;38250:6:130;38255:1;38250:6;;:::i;:::-;;;38066:215;;;37918:369;;37840:447;;;;:::o;41479:66::-;1355:13:46;:11;:13::i;2494:922:64:-;689:66;2910:48;;;2906:504;;;2974:37;2993:17;2974:18;:37::i;2906:504::-;3064:17;-1:-1:-1;;;;;3046:50:64;;:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3046:52:64;;;;;;;;-1:-1:-1;;3046:52:64;;;;;;;;;;;;:::i;:::-;;;3042:291;;3262:56;;-1:-1:-1;;;3262:56:64;;35695:2:151;3262:56:64;;;35677:21:151;35734:2;35714:18;;;35707:30;35773:34;35753:18;;;35746:62;35844:16;35824:18;;;35817:44;35878:19;;3262:56:64;35493:410:151;3042:291:64;1030:66;3148:28;;3140:82;;;;-1:-1:-1;;;3140:82:64;;36110:2:151;3140:82:64;;;36092:21:151;36149:2;36129:18;;;36122:30;36188:34;36168:18;;;36161:62;36259:11;36239:18;;;36232:39;36288:19;;3140:82:64;35908:405:151;3140:82:64;3099:138;3346:53;3364:17;3383:4;3389:9;3346:17;:53::i;23779:191:130:-;23858:4;-1:-1:-1;;;;;23924:24:130;;;:39;;23959:4;23924:39;;;23951:5;23917:46;23779:191;-1:-1:-1;;23779:191:130:o;27968:174::-;28042:19;28115:20;6180:8;28115:16;:20;:::i;:::-;28101:10;;28090:8;;:21;;;;:::i;:::-;:45;;;27968:174;-1:-1:-1;;27968:174:130:o;1620:130:46:-;1534:6;;-1:-1:-1;;;;;1534:6:46;965:10:52;1683:23:46;1675:68;;;;-1:-1:-1;;;1675:68:46;;36520:2:151;1675:68:46;;;36502:21:151;;;36539:18;;;36532:30;36598:34;36578:18;;;36571:62;36650:18;;1675:68:46;36318:356:151;2687:187:46;2779:6;;;-1:-1:-1;;;;;2795:17:46;;;-1:-1:-1;;;;;;2795:17:46;;;;;;;2827:40;;2779:6;;;2795:17;2779:6;;2827:40;;2760:16;;2827:40;2750:124;2687:187;:::o;10517:230:130:-;10610:11;;10582:4;;-1:-1:-1;;;;;10610:11:130;10598:76;;-1:-1:-1;10659:4:130;;10517:230;-1:-1:-1;10517:230:130:o;10598:76::-;10690:11;;:50;;;;;-1:-1:-1;;;;;21853:15:151;;;10690:50:130;;;21835:34:151;10734:4:130;21885:18:151;;;21878:43;10690:11:130;;;;:28;;21747:18:151;;10690:50:130;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;15941:615::-;16034:7;16053:24;16080:14;16053:41;;16104:51;;;;;;;;;;;;;;;;;;16138:16;16104:11;:51::i;:::-;16187:17;;:66;;-1:-1:-1;;;16187:66:130;;-1:-1:-1;;;;;21853:15:151;;;16187:66:130;;;21835:34:151;16247:4:130;21885:18:151;;;21878:43;16165:19:130;;16187:17;;:42;;21747:18:151;;16187:66:130;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;16165:88;;16263:39;;;;;;;;;;;;;;;;;;16290:11;16263;:39::i;:::-;16349:11;:21;16316:30;16330:16;16316:11;:30;:::i;:::-;:54;16312:139;;;16405:11;:21;:35;;16429:11;;16405:35;:::i;:::-;16386:54;;16312:139;16460:55;;;;;;;;;;;;;;;;;;16498:16;16460:11;:55::i;:::-;-1:-1:-1;16533:16:130;15941:615;-1:-1:-1;;;15941:615:130:o;16562:730::-;16698:17;;:48;;-1:-1:-1;;;16698:48:130;;-1:-1:-1;;;;;7719:55:151;;;16698:48:130;;;7701:74:151;16658:7:130;;;;16749:14;;16698:17;;;;:39;;7674:18:151;;16698:48:130;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:65;;;;:::i;:::-;16822:17;;:31;;;-1:-1:-1;;;16822:31:130;;;;16677:86;;-1:-1:-1;16792:2:130;;-1:-1:-1;;;;;16822:17:130;;;;:29;;:31;;;;;;;;;;;;;;;:17;:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;16808:56:130;;:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;16808:58:130;;;;;;;;-1:-1:-1;;16808:58:130;;;;;;;;;;;;:::i;:::-;;;16804:208;;16965:36;;;;;;;;;;;;;;;;;;:11;:36::i;:::-;16804:208;;;16916:17;;;-1:-1:-1;16804:208:130;17021:22;17046:37;17069:13;17075:7;17069:2;:13;:::i;:::-;17056:26;;:10;:26;:::i;17046:37::-;17117:17;;:66;;-1:-1:-1;;;17117:66:130;;-1:-1:-1;;;;;21853:15:151;;;17117:66:130;;;21835:34:151;17177:4:130;21885:18:151;;;21878:43;17021:62:130;;-1:-1:-1;17093:21:130;;17117:17;;;;:42;;21747:18:151;;17117:66:130;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;17093:90;-1:-1:-1;17194:24:130;17221:30;17093:90;17221:14;:30;:::i;:::-;17194:57;16562:730;-1:-1:-1;;;;;;;;16562:730:130:o;38997:719::-;39150:18;39170:19;39219:12;39205:26;;39271:11;39248:9;:19;;;:34;;39241:42;;;;:::i;:::-;39320:11;39297:9;:19;;;:34;39293:173;;-1:-1:-1;39421:1:130;;-1:-1:-1;39421:1:130;39413:13;;39293:173;39532:177;39579:9;:19;;;39565:11;:33;;;;:::i;:::-;39651:9;:24;;;39689:10;39532:19;:177::i;:::-;39519:190;;38997:719;;;;;;:::o;10378:133::-;-1:-1:-1;;;;;10452:22:130;;10448:56;;10483:21;;;;;;;;;;;;;;10701:118:128;10758:10;:20;;-1:-1:-1;;10758:20:128;;;;;;;;;;10793:19;;2998:41:151;;;10793:19:128;;2986:2:151;2971:18;10793:19:128;2858:187:151;22644:220:130;22727:6;-1:-1:-1;;;;;22795:26:130;;;:62;;22842:15;22795:62;;;22824:15;22788:69;22644:220;-1:-1:-1;;22644:220:130:o;4814:390:128:-;2205:16;:14;:16::i;:::-;5013:6:::1;::::0;:11;5009:45:::1;;5033:21;;;;;;;;;;;;;;5009:45;5141:7;5152:1;5141:12:::0;5137:34:::1;;5162:9;;;;;;;;;;;;;;5137:34;5181:6;:16:::0;4814:390::o;18951:650:130:-;19035:28;19055:7;19035:19;:28::i;:::-;19078:26;19096:7;19078:17;:26::i;:::-;19073:90;;19127:25;;-1:-1:-1;;;19127:25:130;;;;;;;;;;;19073:90;19249:17;;:69;;-1:-1:-1;;;19249:69:130;;-1:-1:-1;;;;;21853:15:151;;;19249:69:130;;;21835:34:151;19312:4:130;21885:18:151;;;21878:43;19218:28:130;;19249:17;;:45;;21747:18:151;;19249:69:130;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;19218:100;;19333:23;19328:78;;19379:16;;;;;;;;;;;;;;19328:78;19415:42;19471:5;19460:53;;;;;;;;;;;;:::i;:::-;19415:98;;19523:37;19548:7;19557:2;19523:24;:37::i;:::-;19570:24;19582:7;19591:2;19570:11;:24::i;:::-;19025:576;;18951:650;;:::o;23557:127::-;23649:28;;7505:25:151;;;23649:28:130;;7493:2:151;7478:18;23649:28:130;7359:177:151;6721:269:10;6815:16;-1:-1:-1;;;;;6815:16:10;;;6811:173;;6847:45;6879:3;6884:7;6847:31;:45::i;6811:173::-;6923:50;6952:6;6960:3;6965:7;6923:28;:50::i;1125:111:46:-;5374:13:48;;;;;;;5366:69;;;;-1:-1:-1;;;5366:69:48;;29208:2:151;5366:69:48;;;29190:21:151;29247:2;29227:18;;;29220:30;29286:34;29266:18;;;29259:62;-1:-1:-1;;;29337:18:151;;;29330:41;29388:19;;5366:69:48;29006:407:151;5366:69:48;1197:32:46::1;965:10:52::0;1197:18:46::1;:32::i;24068:836:130:-:0;-1:-1:-1;;;;;24202:29:130;;24170;24202;;;:20;:29;;;;;;;;24170:61;;;;;;;;;;;;;;;;;;;24202:29;;24170:61;;;24202:29;24170:61;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;24246:9;24241:657;24265:12;:19;24261:1;:23;24241:657;;;24305:18;24326:12;24339:1;24326:15;;;;;;;;:::i;:::-;;;;;;;24305:36;;24355:40;24398:9;:21;24408:10;24398:21;;;;;;;;;;;24355:64;;24437:26;24452:10;24437:14;:26::i;:::-;24433:455;;;-1:-1:-1;;;;;24506:35:130;;24483:20;24506:35;;;:26;;;:35;;;;;;;24559:39;;;;24616:21;;;:37;;24506:35;;;;24616:37;;24506:35;;24616:37;:::i;:::-;;;;;;;;24686:12;24671:11;;:27;;;;;;;:::i;:::-;;;;-1:-1:-1;24716:50:130;;-1:-1:-1;24743:8:130;24753:12;24716:26;:50::i;:::-;24826:21;;;;24849:23;;;;24789:84;;;-1:-1:-1;;;;;38532:55:151;;38514:74;;38619:2;38604:18;;38597:34;;;-1:-1:-1;38647:18:151;;;38640:34;38705:2;38690:18;;38683:34;;;;38748:3;38733:19;;38726:35;;;;24789:84:130;;;;;;38501:3:151;24789:84:130;;;24465:423;24433:455;24291:607;;24286:3;;;;;:::i;:::-;;;;24241:657;;5630:121:35;5685:59;5740:2;5701:42;;;;;;;;:::i;:::-;;;;-1:-1:-1;;5701:42:35;;;;;;;;;;;;;;;;;;;;5685:15;:59::i;6548:139::-;6612:68;6672:2;6676;6628:51;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;6628:51:35;;;;;;;;;;;;;;;;;;;;6612:15;:68::i;6530:1642:87:-;6578:7;6601:1;6606;6601:6;6597:45;;-1:-1:-1;6630:1:87;;6530:1642;-1:-1:-1;6530:1642:87:o;6597:45::-;7321:14;7355:1;7344:7;7349:1;7344:4;:7::i;:::-;:12;;7338:1;:19;;7321:36;;7816:1;7805:6;7801:1;:10;;;;;:::i;:::-;;7792:6;:19;7791:26;;7782:35;;7865:1;7854:6;7850:1;:10;;;;;:::i;:::-;;7841:6;:19;7840:26;;7831:35;;7914:1;7903:6;7899:1;:10;;;;;:::i;:::-;;7890:6;:19;7889:26;;7880:35;;7963:1;7952:6;7948:1;:10;;;;;:::i;:::-;;7939:6;:19;7938:26;;7929:35;;8012:1;8001:6;7997:1;:10;;;;;:::i;:::-;;7988:6;:19;7987:26;;7978:35;;8061:1;8050:6;8046:1;:10;;;;;:::i;:::-;;8037:6;:19;8036:26;;8027:35;;8110:1;8099:6;8095:1;:10;;;;;:::i;:::-;;8086:6;:19;8085:26;;8076:35;;8132:23;8136:6;8148;8144:1;:10;;;;;:::i;:::-;;8132:3;:23::i;37349:269:130:-;37410:15;-1:-1:-1;;;37445:2:130;:13;;37437:66;;;;-1:-1:-1;;;37437:66:130;;39270:2:151;37437:66:130;;;39252:21:151;39309:2;39289:18;;;39282:30;39348:34;39328:18;;;39321:62;39419:10;39399:18;;;39392:38;39447:19;;37437:66:130;39068:404:151;37437:66:130;-1:-1:-1;;;37521:2:130;:12;37513:53;;;;-1:-1:-1;;;37513:53:130;;39679:2:151;37513:53:130;;;39661:21:151;39718:2;39698:18;;;39691:30;39757;39737:18;;;39730:58;39805:18;;37513:53:130;39477:352:151;37513:53:130;37608:3;6323:34;37585:7;37590:2;37585;:7;:::i;:::-;37584:19;;;;:::i;:::-;37583:28;;;37349:269;-1:-1:-1;;;37349:269:130:o;1406:259:64:-;-1:-1:-1;;;;;1713:19:51;;;1479:95:64;;;;-1:-1:-1;;;1479:95:64;;40036:2:151;1479:95:64;;;40018:21:151;40075:2;40055:18;;;40048:30;40114:34;40094:18;;;40087:62;40185:15;40165:18;;;40158:43;40218:19;;1479:95:64;39834:409:151;1479:95:64;1030:66;1584:74;;-1:-1:-1;;;;;;1584:74:64;-1:-1:-1;;;;;1584:74:64;;;;;;;;;;1406:259::o;2057:265::-;2165:29;2176:17;2165:10;:29::i;:::-;2222:1;2208:4;:11;:15;:28;;;;2227:9;2208:28;2204:112;;;2252:53;2281:17;2300:4;2252:28;:53::i;9827:377:130:-;-1:-1:-1;;;;;9900:21:130;;9896:77;;9944:18;;;;;;;;;;;;;;9896:77;9994:17;;-1:-1:-1;;;;;9994:17:130;9982:100;;10049:22;;-1:-1:-1;;;10049:22:130;;;;;;;;;;;9982:100;10096:17;;:35;;;;;-1:-1:-1;;;;;7719:55:151;;;10096:35:130;;;7701:74:151;10096:17:130;;;;:26;;7674:18:151;;10096:35:130;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10091:93;;10154:19;;;;;;;;;;;;;;28148:1548;28288:22;28329:9;28324:630;28348:16;:23;28344:1;:27;28324:630;;;28451:16;28468:1;28451:19;;;;;;;;:::i;:::-;;;;;;;:30;;;28485:1;28451:35;28447:187;28611:8;28447:187;28647:18;28668:16;28685:1;28668:19;;;;;;;;:::i;:::-;;;;;;;:30;;;28647:51;;28717:26;28732:10;28717:14;:26::i;:::-;28712:167;;28770:29;;-1:-1:-1;;;28770:29:130;;;;;7505:25:151;;;7478:18;;28770:29:130;7359:177:151;28712:167:130;28911:16;28928:1;28911:19;;;;;;;;:::i;:::-;;;;;;;:32;;;28892:51;;;;;:::i;:::-;;;28378:576;28324:630;28373:3;;;;:::i;:::-;;;;28324:630;;;-1:-1:-1;;;;;;27399:26:130;;29050:29;27399:26;;;:18;:26;;;;;;29082:60;;29126:15;29082:11;:60::i;:::-;29253:17;;:66;;-1:-1:-1;;;29253:66:130;;-1:-1:-1;;;;;21853:15:151;;;29253:66:130;;;21835:34:151;29313:4:130;21885:18:151;;;21878:43;29050:92:130;;-1:-1:-1;29224:26:130;;29253:17;;;;:42;;21747:18:151;;29253:66:130;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;29224:95;;29509:18;29485:21;:42;29481:147;;;29550:67;;;;;;;;18804:25:151;;;18845:18;;;18838:34;;;18777:18;;29550:67:130;18630:248:151;29481:147:130;-1:-1:-1;;;;;;29638:27:130;;;;;;;:18;:27;;;;;:51;;;;-1:-1:-1;;28148:1548:130:o;29702:3479::-;29817:29;29861:9;29856:3319;29880:16;:23;29876:1;:27;29856:3319;;;29924:18;29945:16;29962:1;29945:19;;;;;;;;:::i;:::-;;;;;;;:30;;;29924:51;;30048:12;:19;30071:1;30048:24;30044:920;;30107:16;;;30121:1;30107:16;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;30107:16:130;30092:31;;30159:10;30141:12;30154:1;30141:15;;;;;;;;:::i;:::-;;;;;;:28;;;;;30044:920;;;30218:10;30259:9;30254:318;30278:12;:19;30274:1;:23;30254:318;;;30374:10;30355:12;30368:1;30355:15;;;;;;;;:::i;:::-;;;;;;;:29;30351:203;;30457:40;;;;;;;;18804:25:151;;;18845:18;;;18838:34;;;30420:4:130;;-1:-1:-1;18777:18:151;;30457:40:130;18630:248:151;30351:203:130;30299:3;;;;:::i;:::-;;;;30254:318;;;;30594:5;30589:361;;30623:21;30661:12;:19;30683:1;30661:23;;;;:::i;:::-;30647:38;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;30647:38:130;;30623:62;;30712:9;30707:124;30731:12;:19;30727:1;:23;30707:124;;;30793:12;30806:1;30793:15;;;;;;;;:::i;:::-;;;;;;;30783:4;30788:1;30783:7;;;;;;;;:::i;:::-;;;;;;;;;;:25;30752:3;;;;:::i;:::-;;;;30707:124;;;;30880:10;30852:4;30857:12;:19;30852:25;;;;;;;;:::i;:::-;;;;;;;;;;:38;30927:4;-1:-1:-1;30589:361:130;30200:764;30044:920;30977:12;30992:16;31009:1;30992:19;;;;;;;;:::i;:::-;;;;;;;;;;;;:32;;;31039:40;31082:21;;;:9;:21;;;;;;-1:-1:-1;;;;;31236:35:130;;;;:26;;;:35;;;;;;30992:32;;-1:-1:-1;31459:40:130;31236:35;30992:32;31459:11;:40::i;:::-;-1:-1:-1;;;;;31634:35:130;;;;;;:26;;;:35;;;;;:50;;;31436:63;;-1:-1:-1;31634:35:130;31956:246;-1:-1:-1;;;;;31980:29:130;;;;;;:20;:29;;;;;:36;31976:40;;31956:246;;;32081:19;;-1:-1:-1;;;;;32045:29:130;;32081:19;32045:29;;;:20;:29;;;;;:32;;32075:1;;32045:32;;;;;;:::i;:::-;;;;;;;;;:55;32041:147;;32138:4;32124:18;;32164:5;;32041:147;32018:3;;;;:::i;:::-;;;;31956:246;;;;32220:11;32215:106;;-1:-1:-1;;;;;32251:29:130;;;;;;:20;:29;;;;;;;32286:19;;32251:55;;;;;;;;;;;;;;;;;;32215:106;32500:12;32476:20;:36;32472:370;;32547:35;32562:20;32547:12;:35;:::i;:::-;32532:11;;:50;;;;;;;:::i;:::-;;;;-1:-1:-1;32625:35:130;;-1:-1:-1;32640:20:130;32625:12;:35;:::i;:::-;32600:8;:21;;;:60;;;;;;;:::i;:::-;;;;-1:-1:-1;32472:370:130;;-1:-1:-1;32472:370:130;;32714:35;32737:12;32714:20;:35;:::i;:::-;32699:11;;:50;;;;;;;:::i;:::-;;;;-1:-1:-1;32792:35:130;;-1:-1:-1;32815:12:130;32792:20;:35;:::i;:::-;32767:8;:21;;;:60;;;;;;;:::i;:::-;;;;-1:-1:-1;;32472:370:130;32859:8;:18;;;32881:1;32859:23;32855:310;;32923:12;32902:18;;;:33;32855:310;;;32974:58;33001:8;33011:20;32974:26;:58::i;:::-;33103:21;;;;33126:23;;;;33055:95;;;-1:-1:-1;;;;;38532:55:151;;38514:74;;38619:2;38604:18;;38597:34;;;38647:18;;;38640:34;;;38705:2;38690:18;;38683:34;;;;38748:3;38733:19;;38726:35;33055:95:130;;38501:3:151;38486:19;33055:95:130;;;;;;;32855:310;29910:3265;;;;;;29905:3;;;;;:::i;:::-;;;;29856:3319;;2455:490:14;2711:4;2705;2699;2693;2685:6;2681:2;2674:5;2669:47;2659:270;;2822:10;2816:4;2809:24;2910:4;2904;2897:18;11454:1189;11617:2;11611:4;11604:16;11674:6;11668:4;11661:20;11814:34;11808:4;11801:48;12272:4;12266;12260;12254;12251:1;12244:5;12237;12232:45;12192:16;12185:24;12181:1;12174:4;12168:11;12165:18;12162:48;11890:405;11863:655;;12411:10;12405:4;12398:24;12499:4;12493;12486:18;11863:655;12625:1;12619:4;12612:15;11454:1189;;;:::o;27777:185:130:-;27845:4;27868:22;;;:9;:22;;;;;:33;:37;;;;:87;;-1:-1:-1;;27953:1:130;27909:22;;;:9;:22;;;;;:32;;;-1:-1:-1;;;;;27909:32:130;:46;;;27777:185::o;181:376:35:-;275:14;;131:42;448:2;435:16;;251:21;;275:14;435:16;131:42;484:5;473:68;464:77;;401:150;;181:376;:::o;8633:983:87:-;8685:7;;8769:3;8760:12;;;:16;8756:99;;8806:3;8796:13;;;;8827;8756:99;8881:2;8872:11;;;:15;8868:96;;8917:2;8907:12;;;;8937;8868:96;8990:2;8981:11;;;:15;8977:96;;9026:2;9016:12;;;;9046;8977:96;9099:2;9090:11;;;:15;9086:96;;9135:2;9125:12;;;;9155;9086:96;9208:1;9199:10;;;:14;9195:93;;9243:1;9233:11;;;;9262;9195:93;9314:1;9305:10;;;:14;9301:93;;9349:1;9339:11;;;;9368;9301:93;9420:1;9411:10;;;:14;9407:93;;9455:1;9445:11;;;;9474;9407:93;9526:1;9517:10;;;:14;9513:64;;9561:1;9551:11;9603:6;8633:983;-1:-1:-1;;8633:983:87:o;588:104::-;646:7;676:1;672;:5;:13;;684:1;672:13;;;-1:-1:-1;680:1:87;;588:104;-1:-1:-1;588:104:87:o;1771:152:64:-;1837:37;1856:17;1837:18;:37::i;:::-;1889:27;;-1:-1:-1;;;;;1889:27:64;;;;;;;;1771:152;:::o;6674:198:80:-;6757:12;6788:77;6809:6;6817:4;6788:77;;;;;;;;;;;;;;;;;:20;:77::i;33187:276:130:-;33264:7;;33299:25;33318:6;33306:8;33299:25;:::i;:::-;33283:41;;33348:1;33339:6;:10;33335:90;;;33372:42;;;;;;;;26747:25:151;;;26788:18;;;26781:34;;;26831:18;;;26824:34;;;26720:18;;33372:42:130;26545:319:151;7058:325:80;7199:12;7224;7238:23;7265:6;-1:-1:-1;;;;;7265:19:80;7285:4;7265:25;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7223:67;;;;7307:69;7334:6;7342:7;7351:10;7363:12;7307:26;:69::i;:::-;7300:76;7058:325;-1:-1:-1;;;;;;7058:325:80:o;7671:628::-;7851:12;7879:7;7875:418;;;7906:10;:17;7927:1;7906:22;7902:286;;-1:-1:-1;;;;;1713:19:51;;;8113:60:80;;;;-1:-1:-1;;;8113:60:80;;41800:2:151;8113:60:80;;;41782:21:151;41839:2;41819:18;;;41812:30;41878:31;41858:18;;;41851:59;41927:18;;8113:60:80;41598:353:151;8113:60:80;-1:-1:-1;8208:10:80;8201:17;;7875:418;8249:33;8257:10;8269:12;8249:7;:33::i;:::-;7671:628;;;;;;:::o;8821:540::-;8980:17;;:21;8976:379;;9208:10;9202:17;9264:15;9251:10;9247:2;9243:19;9236:44;8976:379;9331:12;9324:20;;-1:-1:-1;;;9324:20:80;;;;;;;;:::i;14:180:151:-;73:6;126:2;114:9;105:7;101:23;97:32;94:52;;;142:1;139;132:12;94:52;-1:-1:-1;165:23:151;;14:180;-1:-1:-1;14:180:151:o;331:184::-;-1:-1:-1;;;380:1:151;373:88;480:4;477:1;470:15;504:4;501:1;494:15;520:145;606:1;599:5;596:12;586:46;;612:18;;:::i;:::-;641;;520:145::o;670:250::-;755:1;765:113;779:6;776:1;773:13;765:113;;;855:11;;;849:18;836:11;;;829:39;801:2;794:10;765:113;;;-1:-1:-1;;912:1:151;894:16;;887:27;670:250::o;925:271::-;967:3;1005:5;999:12;1032:6;1027:3;1020:19;1048:76;1117:6;1110:4;1105:3;1101:14;1094:4;1087:5;1083:16;1048:76;:::i;:::-;1178:2;1157:15;-1:-1:-1;;1153:29:151;1144:39;;;;1185:4;1140:50;;925:271;-1:-1:-1;;925:271:151:o;1201:252::-;1288:5;1282:12;1277:3;1270:25;1252:3;1341:4;1334:5;1330:16;1324:23;1379:4;1372;1367:3;1363:14;1356:28;1400:47;1441:4;1436:3;1432:14;1418:12;1400:47;:::i;1458:1058::-;1872:4;1901:3;1931:6;1920:9;1913:25;1974:6;1969:2;1958:9;1954:18;1947:34;2017:6;2012:2;2001:9;1997:18;1990:34;2060:6;2055:2;2044:9;2040:18;2033:34;-1:-1:-1;;;;;2177:2:151;2169:6;2165:15;2159:3;2148:9;2144:19;2137:44;2230:2;2222:6;2218:15;2212:3;2201:9;2197:19;2190:44;2283:2;2275:6;2271:15;2265:3;2254:9;2250:19;2243:44;;2324:6;2318:3;2307:9;2303:19;2296:35;2340:59;2394:3;2383:9;2379:19;2371:6;2340:59;:::i;:::-;2436:2;2430:3;2419:9;2415:19;2408:31;2456:54;2506:2;2495:9;2491:18;2483:6;2456:54;:::i;:::-;2448:62;1458:1058;-1:-1:-1;;;;;;;;;;;;;1458:1058:151:o;2521:332::-;2579:6;2632:2;2620:9;2611:7;2607:23;2603:32;2600:52;;;2648:1;2645;2638:12;2600:52;2687:9;2674:23;2737:66;2730:5;2726:78;2719:5;2716:89;2706:117;;2819:1;2816;2809:12;3050:154;-1:-1:-1;;;;;3129:5:151;3125:54;3118:5;3115:65;3105:93;;3194:1;3191;3184:12;3209:247;3268:6;3321:2;3309:9;3300:7;3296:23;3292:32;3289:52;;;3337:1;3334;3327:12;3289:52;3376:9;3363:23;3395:31;3420:5;3395:31;:::i;3461:184::-;-1:-1:-1;;;3510:1:151;3503:88;3610:4;3607:1;3600:15;3634:4;3631:1;3624:15;3650:257;3722:4;3716:11;;;3754:17;;3801:18;3786:34;;3822:22;;;3783:62;3780:88;;;3848:18;;:::i;:::-;3884:4;3877:24;3650:257;:::o;3912:252::-;3984:2;3978:9;4026:3;4014:16;;4060:18;4045:34;;4081:22;;;4042:62;4039:88;;;4107:18;;:::i;4169:253::-;4241:2;4235:9;4283:4;4271:17;;4318:18;4303:34;;4339:22;;;4300:62;4297:88;;;4365:18;;:::i;4427:253::-;4499:2;4493:9;4541:4;4529:17;;4576:18;4561:34;;4597:22;;;4558:62;4555:88;;;4623:18;;:::i;4685:275::-;4756:2;4750:9;4821:2;4802:13;;-1:-1:-1;;4798:27:151;4786:40;;4856:18;4841:34;;4877:22;;;4838:62;4835:88;;;4903:18;;:::i;:::-;4939:2;4932:22;4685:275;;-1:-1:-1;4685:275:151:o;4965:183::-;5025:4;5058:18;5050:6;5047:30;5044:56;;;5080:18;;:::i;:::-;-1:-1:-1;5125:1:151;5121:14;5137:4;5117:25;;4965:183::o;5153:737::-;5207:5;5260:3;5253:4;5245:6;5241:17;5237:27;5227:55;;5278:1;5275;5268:12;5227:55;5314:6;5301:20;5340:4;5364:60;5380:43;5420:2;5380:43;:::i;:::-;5364:60;:::i;:::-;5458:15;;;5544:1;5540:10;;;;5528:23;;5524:32;;;5489:12;;;;5568:15;;;5565:35;;;5596:1;5593;5586:12;5565:35;5632:2;5624:6;5620:15;5644:217;5660:6;5655:3;5652:15;5644:217;;;5740:3;5727:17;5757:31;5782:5;5757:31;:::i;:::-;5801:18;;5839:12;;;;5677;;5644:217;;;-1:-1:-1;5879:5:151;5153:737;-1:-1:-1;;;;;;5153:737:151:o;5895:186::-;5943:4;5976:18;5968:6;5965:30;5962:56;;;5998:18;;:::i;:::-;-1:-1:-1;6064:2:151;6043:15;-1:-1:-1;;6039:29:151;6070:4;6035:40;;5895:186::o;6086:336::-;6150:5;6179:52;6195:35;6223:6;6195:35;:::i;6179:52::-;6170:61;;6254:6;6247:5;6240:21;6294:3;6285:6;6280:3;6276:16;6273:25;6270:45;;;6311:1;6308;6301:12;6270:45;6360:6;6355:3;6348:4;6341:5;6337:16;6324:43;6414:1;6407:4;6398:6;6391:5;6387:18;6383:29;6376:40;6086:336;;;;;:::o;6427:220::-;6469:5;6522:3;6515:4;6507:6;6503:17;6499:27;6489:55;;6540:1;6537;6530:12;6489:55;6562:79;6637:3;6628:6;6615:20;6608:4;6600:6;6596:17;6562:79;:::i;6652:702::-;6763:6;6771;6779;6832:2;6820:9;6811:7;6807:23;6803:32;6800:52;;;6848:1;6845;6838:12;6800:52;6888:9;6875:23;6917:18;6958:2;6950:6;6947:14;6944:34;;;6974:1;6971;6964:12;6944:34;6997:61;7050:7;7041:6;7030:9;7026:22;6997:61;:::i;:::-;6987:71;;7111:2;7100:9;7096:18;7083:32;7067:48;;7140:2;7130:8;7127:16;7124:36;;;7156:1;7153;7146:12;7124:36;;7179:51;7222:7;7211:8;7200:9;7196:24;7179:51;:::i;:::-;7169:61;;;7280:2;7269:9;7265:18;7252:32;7293:31;7318:5;7293:31;:::i;:::-;7343:5;7333:15;;;6652:702;;;;;:::o;7786:455::-;7863:6;7871;7924:2;7912:9;7903:7;7899:23;7895:32;7892:52;;;7940:1;7937;7930:12;7892:52;7980:9;7967:23;8013:18;8005:6;8002:30;7999:50;;;8045:1;8042;8035:12;7999:50;8068:49;8109:7;8100:6;8089:9;8085:22;8068:49;:::i;:::-;8058:59;;;8167:2;8156:9;8152:18;8139:32;8180:31;8205:5;8180:31;:::i;:::-;8230:5;8220:15;;;7786:455;;;;;:::o;8477:142::-;8560:1;8553:5;8550:12;8540:46;;8566:18;;:::i;8624:213::-;8773:2;8758:18;;8785:46;8762:9;8813:6;8785:46;:::i;8842:315::-;8910:6;8918;8971:2;8959:9;8950:7;8946:23;8942:32;8939:52;;;8987:1;8984;8977:12;8939:52;9026:9;9013:23;9045:31;9070:5;9045:31;:::i;:::-;9095:5;9147:2;9132:18;;;;9119:32;;-1:-1:-1;;;8842:315:151:o;9162:316::-;9239:6;9247;9255;9308:2;9296:9;9287:7;9283:23;9279:32;9276:52;;;9324:1;9321;9314:12;9276:52;-1:-1:-1;;9347:23:151;;;9417:2;9402:18;;9389:32;;-1:-1:-1;9468:2:151;9453:18;;;9440:32;;9162:316;-1:-1:-1;9162:316:151:o;9483:143::-;9567:1;9560:5;9557:12;9547:46;;9573:18;;:::i;9631:215::-;9781:2;9766:18;;9793:47;9770:9;9822:6;9793:47;:::i;10033:455::-;10110:6;10118;10171:2;10159:9;10150:7;10146:23;10142:32;10139:52;;;10187:1;10184;10177:12;10139:52;10226:9;10213:23;10245:31;10270:5;10245:31;:::i;:::-;10295:5;-1:-1:-1;10351:2:151;10336:18;;10323:32;10378:18;10367:30;;10364:50;;;10410:1;10407;10400:12;10364:50;10433:49;10474:7;10465:6;10454:9;10450:22;10433:49;:::i;:::-;10423:59;;;10033:455;;;;;:::o;10755:261::-;10936:2;10925:9;10918:21;10899:4;10956:54;11006:2;10995:9;10991:18;10983:6;10956:54;:::i;11021:1357::-;11148:6;11156;11209:2;11197:9;11188:7;11184:23;11180:32;11177:52;;;11225:1;11222;11215:12;11177:52;11265:9;11252:23;11294:18;11335:2;11327:6;11324:14;11321:34;;;11351:1;11348;11341:12;11321:34;11374:61;11427:7;11418:6;11407:9;11403:22;11374:61;:::i;:::-;11364:71;;11454:2;11444:12;;11509:2;11498:9;11494:18;11481:32;11538:2;11528:8;11525:16;11522:36;;;11554:1;11551;11544:12;11522:36;11577:24;;11632:4;11624:13;;11620:27;-1:-1:-1;11610:55:151;;11661:1;11658;11651:12;11610:55;11697:2;11684:16;11720:60;11736:43;11776:2;11736:43;:::i;11720:60::-;11814:15;;;11896:1;11892:10;;;;11884:19;;11880:28;;;11845:12;;;;11920:19;;;11917:39;;;11952:1;11949;11942:12;11917:39;11984:2;11980;11976:11;11996:352;12012:6;12007:3;12004:15;11996:352;;;12098:3;12085:17;12134:2;12121:11;12118:19;12115:109;;;12178:1;12207:2;12203;12196:14;12115:109;12249:56;12297:7;12292:2;12278:11;12274:2;12270:20;12266:29;12249:56;:::i;:::-;12237:69;;-1:-1:-1;12326:12:151;;;;12029;;11996:352;;;12000:3;12367:5;12357:15;;;;;;;;11021:1357;;;;;:::o;12383:849::-;12616:2;12668:21;;;12738:13;;12641:18;;;12760:22;;;12587:4;;12616:2;12801;;12819:18;;;;12860:15;;;12587:4;12903:303;12917:6;12914:1;12911:13;12903:303;;;12976:13;;13018:9;;-1:-1:-1;;;;;13014:58:151;13002:71;;13113:11;;13107:18;13093:12;;;13086:40;13146:12;;;;13181:15;;;;12939:1;12932:9;12903:303;;;-1:-1:-1;13223:3:151;;12383:849;-1:-1:-1;;;;;;;12383:849:151:o;13237:118::-;13323:5;13316:13;13309:21;13302:5;13299:32;13289:60;;13345:1;13342;13335:12;13360:241;13416:6;13469:2;13457:9;13448:7;13444:23;13440:32;13437:52;;;13485:1;13482;13475:12;13437:52;13524:9;13511:23;13543:28;13565:5;13543:28;:::i;13859:953::-;-1:-1:-1;;;;;14355:15:151;;;14337:34;;14407:15;;;14402:2;14387:18;;14380:43;14459:15;;14454:2;14439:18;;14432:43;14506:2;14491:18;;14484:34;;;14549:3;14534:19;;14527:35;;;14263:3;14248:19;;14571:59;14625:3;14610:19;;14602:6;14571:59;:::i;:::-;14667:6;14661:3;14650:9;14646:19;14639:35;14711:6;14705:3;14694:9;14690:19;14683:35;14755:6;14749:3;14738:9;14734:19;14727:35;14799:6;14793:3;14782:9;14778:19;14771:35;13859:953;;;;;;;;;;;;;:::o;14817:315::-;14885:6;14893;14946:2;14934:9;14925:7;14921:23;14917:32;14914:52;;;14962:1;14959;14952:12;14914:52;14998:9;14985:23;14975:33;;15058:2;15047:9;15043:18;15030:32;15071:31;15096:5;15071:31;:::i;15137:1202::-;15255:6;15286:2;15329;15317:9;15308:7;15304:23;15300:32;15297:52;;;15345:1;15342;15335:12;15297:52;15385:9;15372:23;15418:18;15410:6;15407:30;15404:50;;;15450:1;15447;15440:12;15404:50;15473:22;;15526:4;15518:13;;15514:27;-1:-1:-1;15504:55:151;;15555:1;15552;15545:12;15504:55;15591:2;15578:16;15614:60;15630:43;15670:2;15630:43;:::i;15614:60::-;15708:15;;;15790:1;15786:10;;;;15778:19;;15774:28;;;15739:12;;;;15814:19;;;15811:39;;;15846:1;15843;15836:12;15811:39;15870:11;;;;15890:419;15906:6;15901:3;15898:15;15890:419;;;15988:4;15982:3;15973:7;15969:17;15965:28;15962:118;;;16034:1;16063:2;16059;16052:14;15962:118;16106:22;;:::i;:::-;16155:17;;16141:32;;16222:12;;;16209:26;16193:14;;;16186:50;16249:18;;15932:4;15923:14;;;;16287:12;;;;15890:419;;16344:242;16487:2;16472:18;;16520:1;16509:13;;16499:47;;16526:18;;:::i;:::-;16555:25;;;16344:242;:::o;16591:388::-;16668:6;16676;16729:2;16717:9;16708:7;16704:23;16700:32;16697:52;;;16745:1;16742;16735:12;16697:52;16781:9;16768:23;16758:33;;16842:2;16831:9;16827:18;16814:32;16869:18;16861:6;16858:30;16855:50;;;16901:1;16898;16891:12;16984:585;17062:6;17070;17123:2;17111:9;17102:7;17098:23;17094:32;17091:52;;;17139:1;17136;17129:12;17091:52;17178:9;17165:23;17197:31;17222:5;17197:31;:::i;:::-;17247:5;-1:-1:-1;17303:2:151;17288:18;;17275:32;17330:18;17319:30;;17316:50;;;17362:1;17359;17352:12;17316:50;17385:22;;17438:4;17430:13;;17426:27;-1:-1:-1;17416:55:151;;17467:1;17464;17457:12;17416:55;17490:73;17555:7;17550:2;17537:16;17532:2;17528;17524:11;17490:73;:::i;17574:437::-;17653:1;17649:12;;;;17696;;;17717:61;;17771:4;17763:6;17759:17;17749:27;;17717:61;17824:2;17816:6;17813:14;17793:18;17790:38;17787:218;;-1:-1:-1;;;17858:1:151;17851:88;17962:4;17959:1;17952:15;17990:4;17987:1;17980:15;18883:184;-1:-1:-1;;;18932:1:151;18925:88;19032:4;19029:1;19022:15;19056:4;19053:1;19046:15;19072:128;19139:9;;;19160:11;;;19157:37;;;19174:18;;:::i;19578:184::-;-1:-1:-1;;;19627:1:151;19620:88;19727:4;19724:1;19717:15;19751:4;19748:1;19741:15;19767:274;19807:1;19833;19823:189;;-1:-1:-1;;;19865:1:151;19858:88;19969:4;19966:1;19959:15;19997:4;19994:1;19987:15;19823:189;-1:-1:-1;20026:9:151;;19767:274::o;20046:168::-;20119:9;;;20150;;20167:15;;;20161:22;;20147:37;20137:71;;20188:18;;:::i;20219:125::-;20284:9;;;20305:10;;;20302:36;;;20318:18;;:::i;21932:245::-;21999:6;22052:2;22040:9;22031:7;22027:23;22023:32;22020:52;;;22068:1;22065;22058:12;22020:52;22100:9;22094:16;22119:28;22141:5;22119:28;:::i;22182:184::-;22252:6;22305:2;22293:9;22284:7;22280:23;22276:32;22273:52;;;22321:1;22318;22311:12;22273:52;-1:-1:-1;22344:16:151;;22182:184;-1:-1:-1;22182:184:151:o;22371:266::-;22456:6;22509:2;22497:9;22488:7;22484:23;22480:32;22477:52;;;22525:1;22522;22515:12;22477:52;22557:9;22551:16;22576:31;22601:5;22576:31;:::i;22642:138::-;22721:13;;22743:31;22721:13;22743:31;:::i;:::-;22642:138;;;:::o;22785:157::-;22874:13;;22916:1;22906:12;;22896:40;;22932:1;22929;22922:12;22947:156;23035:13;;23077:1;23067:12;;23057:40;;23093:1;23090;23083:12;23108:420;23183:5;23231:4;23219:9;23214:3;23210:19;23206:30;23203:50;;;23249:1;23246;23239:12;23203:50;23282:2;23276:9;23324:4;23316:6;23312:17;23395:6;23383:10;23380:22;23359:18;23347:10;23344:34;23341:62;23338:88;;;23406:18;;:::i;:::-;23442:2;23435:22;23505:16;;23490:32;;-1:-1:-1;23475:6:151;23108:420;-1:-1:-1;23108:420:151:o;23533:952::-;23638:6;23691:3;23679:9;23670:7;23666:23;23662:33;23659:53;;;23708:1;23705;23698:12;23659:53;23734:22;;:::i;:::-;23779:40;23809:9;23779:40;:::i;:::-;23772:5;23765:55;23873:2;23862:9;23858:18;23852:25;23847:2;23840:5;23836:14;23829:49;23931:2;23920:9;23916:18;23910:25;23905:2;23898:5;23894:14;23887:49;23989:2;23978:9;23974:18;23968:25;23963:2;23956:5;23952:14;23945:49;24048:3;24037:9;24033:19;24027:26;24021:3;24014:5;24010:15;24003:51;24087:60;24142:3;24131:9;24127:19;24087:60;:::i;:::-;24081:3;24074:5;24070:15;24063:85;24181:59;24235:3;24224:9;24220:19;24181:59;:::i;:::-;24175:3;24168:5;24164:15;24157:84;24274:76;24342:7;24336:3;24325:9;24321:19;24274:76;:::i;:::-;24268:3;24261:5;24257:15;24250:101;24370:3;24405:49;24450:2;24439:9;24435:18;24405:49;:::i;:::-;24389:14;;;24382:73;24393:5;23533:952;-1:-1:-1;;;23533:952:151:o;24490:1116::-;24680:4;24722:3;24711:9;24707:19;24699:27;;24753:6;24742:9;24735:25;-1:-1:-1;;;;;24806:6:151;24800:13;24796:62;24791:2;24780:9;24776:18;24769:90;24913:2;24905:6;24901:15;24895:22;24890:2;24879:9;24875:18;24868:50;24972:2;24964:6;24960:15;24954:22;24949:2;24938:9;24934:18;24927:50;25032:2;25024:6;25020:15;25014:22;25008:3;24997:9;24993:19;24986:51;25092:3;25084:6;25080:16;25074:23;25068:3;25057:9;25053:19;25046:52;25145:3;25137:6;25133:16;25127:23;25159:63;25217:3;25206:9;25202:19;25188:12;25159:63;:::i;:::-;;25271:3;25263:6;25259:16;25253:23;25285:64;25344:3;25333:9;25329:19;25313:14;25285:64;:::i;:::-;-1:-1:-1;25398:3:151;25386:16;;25380:23;25461:21;25422:3;25441:18;;;25434:49;;;;25520:15;;;25514:22;-1:-1:-1;;;;;265:54:151;25595:3;25580:19;;;253:67;24490:1116;;-1:-1:-1;24490:1116:151:o;26018:220::-;26167:2;26156:9;26149:21;26130:4;26187:45;26228:2;26217:9;26213:18;26205:6;26187:45;:::i;26869:726::-;26935:5;26983:4;26971:9;26966:3;26962:19;26958:30;26955:50;;;27001:1;26998;26991:12;26955:50;27023:22;;:::i;:::-;27014:31;;27074:9;27068:16;27061:5;27054:31;27129:2;27118:9;27114:18;27108:25;27156:18;27148:6;27145:30;27142:50;;;27188:1;27185;27178:12;27142:50;27211:22;;27264:4;27256:13;;27252:23;-1:-1:-1;27242:51:151;;27289:1;27286;27279:12;27242:51;27318:2;27312:9;27343:48;27359:31;27387:2;27359:31;:::i;27343:48::-;27414:2;27407:5;27400:17;27454:3;27449:2;27444;27440;27436:11;27432:20;27429:29;27426:49;;;27471:1;27468;27461:12;27426:49;27484:67;27548:2;27543;27536:5;27532:14;27527:2;27523;27519:11;27484:67;:::i;:::-;27578:2;27567:14;;27560:29;-1:-1:-1;27571:5:151;;26869:726;-1:-1:-1;;;26869:726:151:o;27600:1028::-;27692:6;27745:2;27733:9;27724:7;27720:23;27716:32;27713:52;;;27761:1;27758;27751:12;27713:52;27794:9;27788:16;27823:18;27864:2;27856:6;27853:14;27850:34;;;27880:1;27877;27870:12;27850:34;27903:22;;;;27959:4;27941:16;;;27937:27;27934:47;;;27977:1;27974;27967:12;27934:47;28003:22;;:::i;:::-;28054:2;28048:9;28041:5;28034:24;28096:2;28092;28088:11;28082:18;28109:33;28134:7;28109:33;:::i;:::-;28169:2;28158:14;;28151:31;28220:2;28212:11;;28206:18;28233:33;28206:18;28233:33;:::i;:::-;28293:2;28282:14;;28275:31;28345:2;28337:11;;28331:18;28361:16;;;28358:36;;;28390:1;28387;28380:12;28358:36;28426:65;28483:7;28472:8;28468:2;28464:17;28426:65;:::i;:::-;28421:2;28414:5;28410:14;28403:89;;28539:3;28535:2;28531:12;28525:19;28519:3;28512:5;28508:15;28501:44;28592:3;28588:2;28584:12;28578:19;28572:3;28565:5;28561:15;28554:44;28617:5;28607:15;;;;;27600:1028;;;;:::o;29418:986::-;29521:6;29574:2;29562:9;29553:7;29549:23;29545:32;29542:52;;;29590:1;29587;29580:12;29542:52;29623:9;29617:16;29652:18;29693:2;29685:6;29682:14;29679:34;;;29709:1;29706;29699:12;29679:34;29732:22;;;;29788:4;29770:16;;;29766:27;29763:47;;;29806:1;29803;29796:12;29763:47;29832:22;;:::i;:::-;29883:2;29877:9;29870:5;29863:24;29925:2;29921;29917:11;29911:18;29938:33;29963:7;29938:33;:::i;:::-;29998:2;29987:14;;29980:31;30057:2;30049:11;;;30043:18;30027:14;;;30020:42;30100:2;30092:11;;30086:18;30113:33;30086:18;30113:33;:::i;:::-;30173:2;30162:14;;30155:31;30225:3;30217:12;;30211:19;30242:16;;;30239:36;;;30271:1;30268;30261:12;30239:36;30308:65;30365:7;30354:8;30350:2;30346:17;30308:65;:::i;:::-;30302:3;30291:15;;30284:90;-1:-1:-1;30295:5:151;29418:986;-1:-1:-1;;;;;29418:986:151:o;30679:135::-;30718:3;30739:17;;;30736:43;;30759:18;;:::i;:::-;-1:-1:-1;30806:1:151;30795:13;;30679:135::o;30945:545::-;31047:2;31042:3;31039:11;31036:448;;;31083:1;31108:5;31104:2;31097:17;31153:4;31149:2;31139:19;31223:2;31211:10;31207:19;31204:1;31200:27;31194:4;31190:38;31259:4;31247:10;31244:20;31241:47;;;-1:-1:-1;31282:4:151;31241:47;31337:2;31332:3;31328:12;31325:1;31321:20;31315:4;31311:31;31301:41;;31392:82;31410:2;31403:5;31400:13;31392:82;;;31455:17;;;31436:1;31425:13;31392:82;;;31396:3;;;30945:545;;;:::o;31666:1352::-;31792:3;31786:10;31819:18;31811:6;31808:30;31805:56;;;31841:18;;:::i;:::-;31870:97;31960:6;31920:38;31952:4;31946:11;31920:38;:::i;:::-;31914:4;31870:97;:::i;:::-;32022:4;;32086:2;32075:14;;32103:1;32098:663;;;;32805:1;32822:6;32819:89;;;-1:-1:-1;32874:19:151;;;32868:26;32819:89;-1:-1:-1;;31623:1:151;31619:11;;;31615:24;31611:29;31601:40;31647:1;31643:11;;;31598:57;32921:81;;32068:944;;32098:663;30892:1;30885:14;;;30929:4;30916:18;;-1:-1:-1;;32134:20:151;;;32252:236;32266:7;32263:1;32260:14;32252:236;;;32355:19;;;32349:26;32334:42;;32447:27;;;;32415:1;32403:14;;;;32282:19;;32252:236;;;32256:3;32516:6;32507:7;32504:19;32501:201;;;32577:19;;;32571:26;-1:-1:-1;;32660:1:151;32656:14;;;32672:3;32652:24;32648:37;32644:42;32629:58;32614:74;;32501:201;-1:-1:-1;;;;;32748:1:151;32732:14;;;32728:22;32715:36;;-1:-1:-1;31666:1352:151:o;33295:273::-;33363:6;33416:2;33404:9;33395:7;33391:23;33387:32;33384:52;;;33432:1;33429;33422:12;33384:52;33464:9;33458:16;33514:4;33507:5;33503:16;33496:5;33493:27;33483:55;;33534:1;33531;33524:12;33573:422;33662:1;33705:5;33662:1;33719:270;33740:7;33730:8;33727:21;33719:270;;;33799:4;33795:1;33791:6;33787:17;33781:4;33778:27;33775:53;;;33808:18;;:::i;:::-;33858:7;33848:8;33844:22;33841:55;;;33878:16;;;;33841:55;33957:22;;;;33917:15;;;;33719:270;;;33723:3;33573:422;;;;;:::o;34000:806::-;34049:5;34079:8;34069:80;;-1:-1:-1;34120:1:151;34134:5;;34069:80;34168:4;34158:76;;-1:-1:-1;34205:1:151;34219:5;;34158:76;34250:4;34268:1;34263:59;;;;34336:1;34331:130;;;;34243:218;;34263:59;34293:1;34284:10;;34307:5;;;34331:130;34368:3;34358:8;34355:17;34352:43;;;34375:18;;:::i;:::-;-1:-1:-1;;34431:1:151;34417:16;;34446:5;;34243:218;;34545:2;34535:8;34532:16;34526:3;34520:4;34517:13;34513:36;34507:2;34497:8;34494:16;34489:2;34483:4;34480:12;34476:35;34473:77;34470:159;;;-1:-1:-1;34582:19:151;;;34614:5;;34470:159;34661:34;34686:8;34680:4;34661:34;:::i;:::-;34731:6;34727:1;34723:6;34719:19;34710:7;34707:32;34704:58;;;34742:18;;:::i;:::-;34780:20;;34000:806;-1:-1:-1;;;34000:806:151:o;34811:131::-;34871:5;34900:36;34927:8;34921:4;34900:36;:::i;36679:184::-;-1:-1:-1;;;36728:1:151;36721:88;36828:4;36825:1;36818:15;36852:4;36849:1;36842:15;36868:1185;36997:6;37028:2;37071;37059:9;37050:7;37046:23;37042:32;37039:52;;;37087:1;37084;37077:12;37039:52;37120:9;37114:16;37153:18;37145:6;37142:30;37139:50;;;37185:1;37182;37175:12;37139:50;37208:22;;37261:4;37253:13;;37249:27;-1:-1:-1;37239:55:151;;37290:1;37287;37280:12;37239:55;37319:2;37313:9;37342:60;37358:43;37398:2;37358:43;:::i;37342:60::-;37436:15;;;37518:1;37514:10;;;;37506:19;;37502:28;;;37467:12;;;;37542:19;;;37539:39;;;37574:1;37571;37564:12;37539:39;37598:11;;;;37618:405;37634:6;37629:3;37626:15;37618:405;;;37716:4;37710:3;37701:7;37697:17;37693:28;37690:118;;;37762:1;37791:2;37787;37780:14;37690:118;37834:22;;:::i;:::-;37883:10;;37869:25;;37936:12;;;37930:19;37914:14;;;37907:43;37963:18;;37660:4;37651:14;;;;38001:12;;;;37618:405;;38058:184;-1:-1:-1;;;38107:1:151;38100:88;38207:4;38204:1;38197:15;38231:4;38228:1;38221:15;38772:291;38949:2;38938:9;38931:21;38912:4;38969:45;39010:2;38999:9;38995:18;38987:6;38969:45;:::i;:::-;38961:53;;39050:6;39045:2;39034:9;39030:18;39023:34;38772:291;;;;;:::o;40248:216::-;40312:9;;;40340:11;;;40287:3;40370:9;;40398:10;;40394:19;;40423:10;;40415:19;;40391:44;40388:70;;;40438:18;;:::i;41306:287::-;41435:3;41473:6;41467:13;41489:66;41548:6;41543:3;41536:4;41528:6;41524:17;41489:66;:::i;:::-;41571:16;;;;;41306:287;-1:-1:-1;;41306:287:151:o","linkReferences":{},"immutableReferences":{"56113":[{"start":4657,"length":32},{"start":4790,"length":32},{"start":5047,"length":32},{"start":5180,"length":32},{"start":5410,"length":32}]}},"methodIdentifiers":{"D()":"0f529ba2","MAX_STAKED_PROPOSALS()":"406244d8","NATIVE()":"a0cf0aea","_minThresholdPoints()":"7c6570ba","activatePoints()":"814516ad","allocate(bytes,address)":"ef2920fc","calculateConviction(uint256,uint256,uint256)":"346db8cb","calculateThreshold(uint256)":"59a5db8b","canExecuteProposal(uint256)":"824ea8ed","deactivatePoints()":"1ddf1e23","deactivatePoints(address)":"6453d9c4","decay()":"54fac919","decreasePower(address,uint256)":"2ed04b2b","distribute(address[],bytes,address)":"0a6f0ee9","getAllo()":"15cc481e","getMaxAmount()":"0ba95909","getMaxConviction(uint256)":"950559d7","getMetadata(uint256)":"a574cea4","getPayouts(address[],bytes[])":"b2b878d0","getPointSystem()":"c3292171","getPoolAmount()":"4ab4ba42","getPoolId()":"38fff2d0","getProposal(uint256)":"c7f758a8","getProposalStakedAmount(uint256)":"dc96ff2d","getProposalVoterStake(uint256,address)":"e0dd2c38","getRecipientStatus(address)":"eb11af93","getStrategyId()":"42fda9c7","getTotalVoterStakePct(address)":"bcc5b93b","increasePoolAmount(uint256)":"f5b0dfb7","increasePower(address,uint256)":"782aadff","init(address)":"19ab453c","init(address,string)":"f321b305","initialize(uint256,bytes)":"edd146cc","isPoolActive()":"df868ed3","isValidAllocator(address)":"4d31d087","maxRatio()":"76365af7","owner()":"8da5cb5b","pointConfig()":"a47ff7e5","pointSystem()":"2dbd6fdd","proposalCounter()":"0c0512e9","proposalType()":"351d9f96","proposals(uint256)":"013cf08b","proxiableUUID()":"52d1902d","registerRecipient(bytes,address)":"2bbe0cae","registryCommunity()":"6003e414","renounceOwnership()":"715018a6","setDecay(uint256)":"69fa25c4","setMaxRatio(uint256)":"11f22ae3","setMinThresholdPoints(uint256)":"2cefadbb","setPoolActive(bool)":"b5f620ce","setRegistryCommunity(address)":"058aca44","setSybilScorer(address)":"ac1ed7b9","setWeight(uint256)":"fc1711f2","supportProposal((uint256,int256)[])":"e33add93","supportsInterface(bytes4)":"01ffc9a7","sybilScorer()":"b6c61f31","totalEffectiveActivePoints()":"d1e36232","totalPointsActivated()":"aba9ffee","totalStaked()":"817b1cd2","totalVoterStakePct(address)":"5db64b99","transferOwnership(address)":"f2fde38b","updateProposalConviction(uint256)":"1aa91a9e","upgradeTo(address)":"3659cfe6","upgradeToAndCall(address,bytes)":"4f1ef286","voterStakedProposals(address,uint256)":"868c57b8","weight()":"a1aab33f"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"ALLOCATION_ACTIVE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ALLOCATION_NOT_ACTIVE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ALLOCATION_NOT_ENDED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ALREADY_INITIALIZED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"AMOUNT_MISMATCH\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ANCHOR_ERROR\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ARRAY_MISMATCH\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"AddressCannotBeZero\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"AmountOverMaxRatio\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"CantIncreaseFixedSystem\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ConvictionUnderMinimumThreshold\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID_ADDRESS\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID_FEE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID_METADATA\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID_REGISTRATION\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"IS_APPROVED_STRATEGY\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"MISMATCH\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"MaxPointsReached\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NONCE_NOT_AVAILABLE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NOT_APPROVED_STRATEGY\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NOT_ENOUGH_FUNDS\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NOT_IMPLEMENTED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NOT_INITIALIZED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NOT_PENDING_OWNER\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"pointsSupport\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"pointsBalance\",\"type\":\"uint256\"}],\"name\":\"NotEnoughPointsToSupport\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotImplemented\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"OnlyCommunityAllowed\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"OnlyCouncilSafe\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"POOL_ACTIVE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"POOL_INACTIVE\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_proposalId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_requestedAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_poolAmount\",\"type\":\"uint256\"}],\"name\":\"PoolAmountNotEnough\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"PoolIdCannotBeZero\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"PoolIsEmpty\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ProposalDataIsEmpty\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ProposalIdCannotBeZero\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_proposalId\",\"type\":\"uint256\"}],\"name\":\"ProposalNotActive\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_proposalId\",\"type\":\"uint256\"}],\"name\":\"ProposalNotInList\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_proposalId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"ProposalSupportDuplicated\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"RECIPIENT_ALREADY_ACCEPTED\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"recipientId\",\"type\":\"address\"}],\"name\":\"RECIPIENT_ERROR\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"RECIPIENT_NOT_ACCEPTED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"REGISTRATION_NOT_ACTIVE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"RegistryCannotBeZero\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_support\",\"type\":\"uint256\"},{\"internalType\":\"int256\",\"name\":\"_delta\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"_result\",\"type\":\"int256\"}],\"name\":\"SupportUnderflow\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TokenCannotBeZero\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TokenNotAllowed\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UNAUTHORIZED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UserCannotBeZero\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UserCannotExecuteAction\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UserIsInactive\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UserNotInRegistry\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ZERO_ADDRESS\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"previousAdmin\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"newAdmin\",\"type\":\"address\"}],\"name\":\"AdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"recipientId\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"Allocated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"beacon\",\"type\":\"address\"}],\"name\":\"BeaconUpgraded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decay\",\"type\":\"uint256\"}],\"name\":\"DecayUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"beneficiary\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"Distributed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"recipientId\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"recipientAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"Distributed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"version\",\"type\":\"uint8\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"registryCommunity\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"decay\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxRatio\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"weight\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"minThresholdPoints\",\"type\":\"uint256\"},{\"internalType\":\"enum StrategyStruct.ProposalType\",\"name\":\"proposalType\",\"type\":\"uint8\"},{\"internalType\":\"enum StrategyStruct.PointSystem\",\"name\":\"pointSystem\",\"type\":\"uint8\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"maxAmount\",\"type\":\"uint256\"}],\"internalType\":\"struct StrategyStruct.PointSystemConfig\",\"name\":\"pointConfig\",\"type\":\"tuple\"},{\"internalType\":\"address\",\"name\":\"sybilScorer\",\"type\":\"address\"}],\"indexed\":false,\"internalType\":\"struct StrategyStruct.InitializeParams\",\"name\":\"data\",\"type\":\"tuple\"}],\"name\":\"InitializedCV\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"maxRatio\",\"type\":\"uint256\"}],\"name\":\"MaxRatioUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"before\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"minThresholdPoints\",\"type\":\"uint256\"}],\"name\":\"MinThresholdPointsUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"member\",\"type\":\"address\"}],\"name\":\"PointsDeactivated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"active\",\"type\":\"bool\"}],\"name\":\"PoolActive\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"PoolAmountIncreased\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"member\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"tokensUnStaked\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"pointsToDecrease\",\"type\":\"uint256\"}],\"name\":\"PowerDecreased\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"member\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"tokensStaked\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"pointsToIncrease\",\"type\":\"uint256\"}],\"name\":\"PowerIncreased\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"ProposalCreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"recipientId\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"Registered\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"registryCommunity\",\"type\":\"address\"}],\"name\":\"RegistryUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"totalStakedAmount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"convictionLast\",\"type\":\"uint256\"}],\"name\":\"SupportAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"Upgraded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"weight\",\"type\":\"uint256\"}],\"name\":\"WeightUpdated\",\"type\":\"event\"},{\"stateMutability\":\"payable\",\"type\":\"fallback\"},{\"inputs\":[],\"name\":\"D\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"MAX_STAKED_PROPOSALS\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"NATIVE\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_minThresholdPoints\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"activatePoints\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"},{\"internalType\":\"address\",\"name\":\"_sender\",\"type\":\"address\"}],\"name\":\"allocate\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_timePassed\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_lastConv\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_oldAmount\",\"type\":\"uint256\"}],\"name\":\"calculateConviction\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_requestedAmount\",\"type\":\"uint256\"}],\"name\":\"calculateThreshold\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"_threshold\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"canExecuteProposal\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"canBeExecuted\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"deactivatePoints\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"}],\"name\":\"deactivatePoints\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decay\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amountToUnstake\",\"type\":\"uint256\"}],\"name\":\"decreasePower\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"_recipientIds\",\"type\":\"address[]\"},{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"},{\"internalType\":\"address\",\"name\":\"_sender\",\"type\":\"address\"}],\"name\":\"distribute\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getAllo\",\"outputs\":[{\"internalType\":\"contract IAllo\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getMaxAmount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"getMaxConviction\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_proposalId\",\"type\":\"uint256\"}],\"name\":\"getMetadata\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"},{\"internalType\":\"bytes[]\",\"name\":\"\",\"type\":\"bytes[]\"}],\"name\":\"getPayouts\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"recipientAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"internalType\":\"struct IStrategy.PayoutSummary[]\",\"name\":\"\",\"type\":\"tuple[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getPointSystem\",\"outputs\":[{\"internalType\":\"enum StrategyStruct.PointSystem\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getPoolAmount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getPoolId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_proposalId\",\"type\":\"uint256\"}],\"name\":\"getProposal\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"submitter\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"beneficiary\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"requestedToken\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"requestedAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"stakedAmount\",\"type\":\"uint256\"},{\"internalType\":\"enum StrategyStruct.ProposalStatus\",\"name\":\"proposalStatus\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"blockLast\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"convictionLast\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"threshold\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"voterStakedPoints\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_proposalId\",\"type\":\"uint256\"}],\"name\":\"getProposalStakedAmount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_proposalId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_voter\",\"type\":\"address\"}],\"name\":\"getProposalVoterStake\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_recipientId\",\"type\":\"address\"}],\"name\":\"getRecipientStatus\",\"outputs\":[{\"internalType\":\"enum IStrategy.Status\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getStrategyId\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_voter\",\"type\":\"address\"}],\"name\":\"getTotalVoterStakePct\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"increasePoolAmount\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amountToStake\",\"type\":\"uint256\"}],\"name\":\"increasePower\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_allo\",\"type\":\"address\"}],\"name\":\"init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_allo\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"_name\",\"type\":\"string\"}],\"name\":\"init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_poolId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"isPoolActive\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_allocator\",\"type\":\"address\"}],\"name\":\"isValidAllocator\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"maxRatio\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pointConfig\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"maxAmount\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pointSystem\",\"outputs\":[{\"internalType\":\"enum StrategyStruct.PointSystem\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proposalCounter\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proposalType\",\"outputs\":[{\"internalType\":\"enum StrategyStruct.ProposalType\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"proposals\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"requestedAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"stakedAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"convictionLast\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"beneficiary\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"submitter\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"requestedToken\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"blockLast\",\"type\":\"uint256\"},{\"internalType\":\"enum StrategyStruct.ProposalStatus\",\"name\":\"proposalStatus\",\"type\":\"uint8\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"metadata\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proxiableUUID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"},{\"internalType\":\"address\",\"name\":\"_sender\",\"type\":\"address\"}],\"name\":\"registerRecipient\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"recipientId\",\"type\":\"address\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"registryCommunity\",\"outputs\":[{\"internalType\":\"contract RegistryCommunityV0_0\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_decay\",\"type\":\"uint256\"}],\"name\":\"setDecay\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_maxRatio\",\"type\":\"uint256\"}],\"name\":\"setMaxRatio\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"minThresholdPoints_\",\"type\":\"uint256\"}],\"name\":\"setMinThresholdPoints\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"_active\",\"type\":\"bool\"}],\"name\":\"setPoolActive\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_registryCommunity\",\"type\":\"address\"}],\"name\":\"setRegistryCommunity\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_sybilScorer\",\"type\":\"address\"}],\"name\":\"setSybilScorer\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_weight\",\"type\":\"uint256\"}],\"name\":\"setWeight\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"int256\",\"name\":\"deltaSupport\",\"type\":\"int256\"}],\"internalType\":\"struct StrategyStruct.ProposalSupport[]\",\"name\":\"\",\"type\":\"tuple[]\"}],\"name\":\"supportProposal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"sybilScorer\",\"outputs\":[{\"internalType\":\"contract ISybilScorer\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalEffectiveActivePoints\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalPointsActivated\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalStaked\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"totalVoterStakePct\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"updateProposalConviction\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"}],\"name\":\"upgradeTo\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"upgradeToAndCall\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"voterStakedProposals\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"weight\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"stateMutability\":\"payable\",\"type\":\"receive\"}],\"devdoc\":{\"errors\":{\"ANCHOR_ERROR()\":[{\"details\":\"Thrown if the anchor creation fails\"}],\"NONCE_NOT_AVAILABLE()\":[{\"details\":\"Thrown when the nonce passed has been used or not available\"}],\"NOT_PENDING_OWNER()\":[{\"details\":\"Thrown when the 'msg.sender' is not the pending owner on ownership transfer\"}]},\"events\":{\"AdminChanged(address,address)\":{\"details\":\"Emitted when the admin account has changed.\"},\"Allocated(address,uint256,address,address)\":{\"params\":{\"amount\":\"The amount allocated\",\"recipientId\":\"The ID of the recipient\",\"token\":\"The token allocated\"}},\"BeaconUpgraded(address)\":{\"details\":\"Emitted when the beacon is changed.\"},\"Distributed(address,address,uint256,address)\":{\"params\":{\"amount\":\"The amount distributed\",\"recipientAddress\":\"The recipient\",\"recipientId\":\"The ID of the recipient\",\"sender\":\"The sender\"}},\"Initialized(uint256,bytes)\":{\"params\":{\"data\":\"The data passed to the 'initialize' function\",\"poolId\":\"The ID of the pool\"}},\"Initialized(uint8)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"PoolActive(bool)\":{\"params\":{\"active\":\"The status of the pool\"}},\"Registered(address,bytes,address)\":{\"params\":{\"data\":\"The data passed to the 'registerRecipient' function\",\"recipientId\":\"The ID of the recipient\",\"sender\":\"The sender\"}},\"Upgraded(address)\":{\"details\":\"Emitted when the implementation is upgraded.\"}},\"kind\":\"dev\",\"methods\":{\"allocate(bytes,address)\":{\"details\":\"The encoded '_data' will be determined by the strategy implementation. Only 'Allo' contract can call this when it is initialized.\",\"params\":{\"_data\":\"The data to use to allocate to the recipient\",\"_sender\":\"The address of the sender\"}},\"calculateConviction(uint256,uint256,uint256)\":{\"details\":\"Conviction formula: a^t * y(0) + x * (1 - a^t) / (1 - a) Solidity implementation: y = (2^128 * a^t * y0 + x * D * (2^128 - 2^128 * a^t) / (D - aD) + 2^127) / 2^128\",\"params\":{\"_lastConv\":\"Last conviction record\",\"_oldAmount\":\"Amount of tokens staked until now\",\"_timePassed\":\"Number of blocks since last conviction record\"},\"returns\":{\"_0\":\"Current conviction\"}},\"calculateThreshold(uint256)\":{\"details\":\"Formula: \\u03c1 * totalStaked / (1 - a) / (\\u03b2 - requestedAmount / total)**2 For the Solidity implementation we amplify \\u03c1 and \\u03b2 and simplify the formula: weight = \\u03c1 * D maxRatio = \\u03b2 * D decay = a * D threshold = weight * totalStaked * D ** 2 * funds ** 2 / (D - decay) / (maxRatio * funds - requestedAmount * D) ** 2\",\"params\":{\"_requestedAmount\":\"Requested amount of tokens on certain proposal\"},\"returns\":{\"_threshold\":\"Threshold a proposal's conviction should surpass in order to be able to executed it.\"}},\"distribute(address[],bytes,address)\":{\"details\":\"The encoded '_data' will be determined by the strategy implementation. Only 'Allo' contract can call this when it is initialized.\",\"params\":{\"_data\":\"The data to use to distribute to the recipients\",\"_recipientIds\":\"The IDs of the recipients\",\"_sender\":\"The address of the sender\"}},\"getAllo()\":{\"returns\":{\"_0\":\"The Allo contract\"}},\"getPayouts(address[],bytes[])\":{\"returns\":{\"_0\":\"Input the values you would send to distribute(), get the amounts each recipient in the array would receive\"}},\"getPoolAmount()\":{\"returns\":{\"_0\":\"The balance of the pool\"}},\"getPoolId()\":{\"returns\":{\"_0\":\"The ID of the pool\"}},\"getProposal(uint256)\":{\"details\":\"Get proposal details\",\"params\":{\"_proposalId\":\"Proposal id\"},\"returns\":{\"beneficiary\":\"Proposal beneficiary\",\"blockLast\":\"Last block when conviction was calculated\",\"convictionLast\":\"Last conviction calculated\",\"proposalStatus\":\"Proposal status\",\"requestedAmount\":\"Proposal requested amount\",\"requestedToken\":\"Proposal requested token\",\"stakedAmount\":\"Proposal staked points\",\"submitter\":\"Proposal submitter\",\"threshold\":\"Proposal threshold\"}},\"getProposalVoterStake(uint256,address)\":{\"params\":{\"_proposalId\":\"Proposal id\",\"_voter\":\"Voter address\"},\"returns\":{\"_0\":\"Proposal voter stake\"}},\"getRecipientStatus(address)\":{\"params\":{\"_recipientId\":\"The ID of the recipient\"},\"returns\":{\"_0\":\"The status of the recipient\"}},\"getStrategyId()\":{\"returns\":{\"_0\":\"The ID of the strategy\"}},\"increasePoolAmount(uint256)\":{\"details\":\"Increases the 'poolAmount' by '_amount'. Only 'Allo' contract can call this.\",\"params\":{\"_amount\":\"The amount to increase the pool by\"}},\"init(address,string)\":{\"params\":{\"_allo\":\"Address of the Allo contract.\"}},\"initialize(uint256,bytes)\":{\"params\":{\"_data\":\"The encoded data\",\"_poolId\":\"The ID of the pool\"}},\"isPoolActive()\":{\"returns\":{\"_0\":\"'true' if the pool is active, otherwise 'false'\"}},\"isValidAllocator(address)\":{\"details\":\"How the allocator is determined is up to the strategy implementation.\",\"params\":{\"_allocator\":\"The address to check if it is a valid allocator for the strategy.\"},\"returns\":{\"_0\":\"'true' if the address is a valid allocator, 'false' otherwise\"}},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"proxiableUUID()\":{\"details\":\"Implementation of the ERC1822 {proxiableUUID} function. This returns the storage slot used by the implementation. It is used to validate the implementation's compatibility when performing an upgrade. IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this function revert if invoked through a proxy. This is guaranteed by the `notDelegated` modifier.\"},\"registerRecipient(bytes,address)\":{\"details\":\"Registers a recipient and returns the ID of the recipient. The encoded '_data' will be determined by the strategy implementation. Only 'Allo' contract can call this when it is initialized.\",\"params\":{\"_data\":\"The data to use to register the recipient\",\"_sender\":\"The address of the sender\"},\"returns\":{\"recipientId\":\"The recipientId\"}},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"},\"upgradeTo(address)\":{\"custom:oz-upgrades-unsafe-allow-reachable\":\"delegatecall\",\"details\":\"Upgrade the implementation of the proxy to `newImplementation`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event.\"},\"upgradeToAndCall(address,bytes)\":{\"custom:oz-upgrades-unsafe-allow-reachable\":\"delegatecall\",\"details\":\"Upgrade the implementation of the proxy to `newImplementation`, and subsequently execute the function call encoded in `data`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event.\"}},\"version\":1},\"userdoc\":{\"errors\":{\"ALLOCATION_ACTIVE()\":[{\"notice\":\"Thrown when the allocation is active.\"}],\"ALLOCATION_NOT_ACTIVE()\":[{\"notice\":\"Thrown when the allocation is not active.\"}],\"ALLOCATION_NOT_ENDED()\":[{\"notice\":\"Thrown when the allocation is not ended.\"}],\"ALREADY_INITIALIZED()\":[{\"notice\":\"Thrown when data is already intialized\"}],\"AMOUNT_MISMATCH()\":[{\"notice\":\"Thrown when the amount of tokens sent does not match the amount of tokens expected\"}],\"ARRAY_MISMATCH()\":[{\"notice\":\"Thrown when two arrays length are not equal\"}],\"INVALID()\":[{\"notice\":\"Thrown as a general error when input / data is invalid\"}],\"INVALID_ADDRESS()\":[{\"notice\":\"Thrown when an invalid address is used\"}],\"INVALID_FEE()\":[{\"notice\":\"Thrown when the fee is below 1e18 which is the fee percentage denominator\"}],\"INVALID_METADATA()\":[{\"notice\":\"Thrown when the metadata is invalid.\"}],\"INVALID_REGISTRATION()\":[{\"notice\":\"Thrown when the registration is invalid.\"}],\"IS_APPROVED_STRATEGY()\":[{\"notice\":\"Thrown when the strategy is approved and should be cloned\"}],\"MISMATCH()\":[{\"notice\":\"Thrown when mismatch in decoding data\"}],\"NOT_APPROVED_STRATEGY()\":[{\"notice\":\"Thrown when the strategy is not approved\"}],\"NOT_ENOUGH_FUNDS()\":[{\"notice\":\"Thrown when not enough funds are available\"}],\"NOT_IMPLEMENTED()\":[{\"notice\":\"Thrown when the function is not implemented\"}],\"NOT_INITIALIZED()\":[{\"notice\":\"Thrown when data is yet to be initialized\"}],\"POOL_ACTIVE()\":[{\"notice\":\"Thrown when a pool is already active\"}],\"POOL_INACTIVE()\":[{\"notice\":\"Thrown when a pool is inactive\"}],\"RECIPIENT_ALREADY_ACCEPTED()\":[{\"notice\":\"Thrown when recipient is already accepted.\"}],\"RECIPIENT_ERROR(address)\":[{\"notice\":\"Thrown when there is an error in recipient.\"}],\"RECIPIENT_NOT_ACCEPTED()\":[{\"notice\":\"Thrown when the recipient is not accepted.\"}],\"REGISTRATION_NOT_ACTIVE()\":[{\"notice\":\"Thrown when registration is not active.\"}],\"UNAUTHORIZED()\":[{\"notice\":\"Thrown when user is not authorized\"}],\"ZERO_ADDRESS()\":[{\"notice\":\"Thrown when address is the zero address\"}]},\"events\":{\"Allocated(address,uint256,address,address)\":{\"notice\":\"Emitted when a recipient is allocated to.\"},\"Distributed(address,address,uint256,address)\":{\"notice\":\"Emitted when tokens are distributed.\"},\"Initialized(uint256,bytes)\":{\"notice\":\"Emitted when strategy is initialized.\"},\"PoolActive(bool)\":{\"notice\":\"Emitted when pool is set to active status.\"},\"Registered(address,bytes,address)\":{\"notice\":\"Emitted when a recipient is registered.\"}},\"kind\":\"user\",\"methods\":{\"NATIVE()\":{\"notice\":\"Address of the native token\"},\"allocate(bytes,address)\":{\"notice\":\"Allocates to a recipient.\"},\"distribute(address[],bytes,address)\":{\"notice\":\"Distributes funds (tokens) to recipients.\"},\"getAllo()\":{\"notice\":\"Getter for the 'Allo' contract.\"},\"getPoolAmount()\":{\"notice\":\"Getter for the 'poolAmount'.\"},\"getPoolId()\":{\"notice\":\"Getter for the 'poolId'.\"},\"getProposalVoterStake(uint256,address)\":{\"notice\":\"Get stake of voter `_voter` on proposal #`_proposalId`\"},\"getRecipientStatus(address)\":{\"notice\":\"Getter for the status of a recipient.\"},\"getStrategyId()\":{\"notice\":\"Getter for the 'strategyId'.\"},\"increasePoolAmount(uint256)\":{\"notice\":\"Increases the pool amount.\"},\"init(address,string)\":{\"notice\":\"Constructor to set the Allo contract and \\\"strategyId'.\"},\"initialize(uint256,bytes)\":{\"notice\":\"@dev The default BaseStrategy version will not use the data if a strategy wants to use it, they will overwrite it, use it, and then call super.initialize().\"},\"isPoolActive()\":{\"notice\":\"Getter for whether or not the pool is active.\"},\"isValidAllocator(address)\":{\"notice\":\"Checks if the '_allocator' is a valid allocator.\"},\"registerRecipient(bytes,address)\":{\"notice\":\"Registers a recipient.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"pkg/contracts/src/CVStrategyV0_0.sol\":\"CVStrategyV0_0\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1000},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":eas-proxy/=lib/allo-v2/lib/eas-proxy/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":hedgey-vesting/=lib/allo-v2/lib/hedgey-vesting/contracts/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-contracts/=lib/safe-contracts/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":superfluid-protocol-monorepo/=lib/allo-v2/lib/superfluid-protocol-monorepo/packages/solidity-semantic-money/src/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"]},\"sources\":{\"lib/allo-v2/contracts/core/interfaces/IAllo.sol\":{\"keccak256\":\"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7\",\"dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1\"]},\"lib/allo-v2/contracts/core/interfaces/IRegistry.sol\":{\"keccak256\":\"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e\",\"dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA\"]},\"lib/allo-v2/contracts/core/interfaces/IStrategy.sol\":{\"keccak256\":\"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487\",\"dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH\"]},\"lib/allo-v2/contracts/core/libraries/Clone.sol\":{\"keccak256\":\"0xc348b24b7d8a98c4faa5f2aa37ce9264a74f81dbdef1a9bae2eaa125585c3c7e\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://1335b3ec59ec7e3d12ea7c90b3aa56f4c26e0d44d342f54412933be9d4f16067\",\"dweb:/ipfs/QmXNFo2wCyq9cpvfgbdHvBUQecThFSEoUnMuZNS6WinDrr\"]},\"lib/allo-v2/contracts/core/libraries/Errors.sol\":{\"keccak256\":\"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf\",\"dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA\"]},\"lib/allo-v2/contracts/core/libraries/Metadata.sol\":{\"keccak256\":\"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c\",\"dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn\"]},\"lib/allo-v2/contracts/core/libraries/Native.sol\":{\"keccak256\":\"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a\",\"dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv\"]},\"lib/allo-v2/contracts/core/libraries/Transfer.sol\":{\"keccak256\":\"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11\",\"dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5\"]},\"lib/allo-v2/contracts/strategies/BaseStrategy.sol\":{\"keccak256\":\"0x3f1382dc6c35d50545e327e7ed6016f2bd752357d446bd698014073f0b812873\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://99500abcd617fa43f6dde49e2c7802821ceaf54a65a8055cbbf2695ecd107974\",\"dweb:/ipfs/QmUktZkWuu3GCMEijY1fqt7NMy7BzpTvEtcmpB1fuoa7zt\"]},\"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol\":{\"keccak256\":\"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298\",\"dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x51fec240abc6dd23e0ee6de7c65106379aef732cad6c4ae5df6b55db886e7456\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://a47d9c0a9876e7f9e411843b994a741d4ac1a87d8459ffc3c56359de691ddc1a\",\"dweb:/ipfs/QmQiFN9b3Y2azrD1RBfAKEuAG3YeJkMzA2DGzgEE9kMeEK\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0xc8710577334e8d0799ae2b2a731b1924a7bddd64319da9787ddd2dc69bdd1ce5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b83b7afa4d2372da3ba5402fb10860a105c35d79812c60dc61007be2afc17618\",\"dweb:/ipfs/QmYX9xPmbNVSKXrepKiUZiG5oL3SdzFp9a4kqspxX1sEUx\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol\":{\"keccak256\":\"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c\",\"dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol\":{\"keccak256\":\"0x359a1ab89b46b9aba7bcad3fb651924baf4893d15153049b9976b0fc9be1358e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e89863421b4014b96a4b62be76eb3b9f0a8afe9684664a6f389124c0964bfe5c\",\"dweb:/ipfs/Qmbk7xr1irpDuU1WdxXgxELBXxs61rHhCgod7heVcvFx16\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol\":{\"keccak256\":\"0x3d98edeb5d5be8410fca707b73dabe7544d1dd11e35b73dd907c473fe43cc3ae\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1a3fa9fc3aec149b8ad0dd8895277ab11e9244e9d2b7adc8404b22de974fc964\",\"dweb:/ipfs/QmRggzxs1WjuvGJSAKb2Nw5r7P3VDMefCWKTbkNPKRkv2j\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e\",\"dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol\":{\"keccak256\":\"0x2025ccf05f6f1f2fd4e078e552836f525a1864e3854ed555047cd732320ab29b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d27f4b23c2dee42394aebaf42bf238285230f472dfd3282a39c3f000ec28214f\",\"dweb:/ipfs/QmQa3DnvccwdWJeWrjgXPnFMTWbzWQWR39hVqC7eEwo2PC\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b\",\"dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95\",\"dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol\":{\"keccak256\":\"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a\",\"dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0xd90d7723512df65ae417adaf0801042940f0dabd60039ceeaffe34aa5b238da1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1b13befeb3413749292f9fb229de1c7a509a5ce2c8047d9094fc004ca9d3af89\",\"dweb:/ipfs/QmRzJ2hZSwRtMejHUZAYTPRKgZsnfb112Fno9Jf3EiDfwA\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol\":{\"keccak256\":\"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758\",\"dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol\":{\"keccak256\":\"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91\",\"dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol\":{\"keccak256\":\"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4\",\"dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z\"]},\"lib/openzeppelin-contracts/contracts/access/AccessControl.sol\":{\"keccak256\":\"0x0dd6e52cb394d7f5abe5dca2d4908a6be40417914720932de757de34a99ab87f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://dc117ce50ea746cab6b97ed1a1facee17a715ae0cb95d67b943dacbaf15176fb\",\"dweb:/ipfs/QmYRZ2UGNYwsHwfNu7Wjr8L2j1LBZ1mKv6NvbwgterYMXc\"]},\"lib/openzeppelin-contracts/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0x59ce320a585d7e1f163cd70390a0ef2ff9cec832e2aa544293a00692465a7a57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb2c137c343ef0c4c7ce7b18c1d108afdc9d315a04e48307288d2d05adcbde3a\",\"dweb:/ipfs/QmUxhrAQM3MM3FF5j7AtcXLXguWCJBHJ14BRdVtuoQc8Fh\"]},\"lib/openzeppelin-contracts/contracts/access/Ownable.sol\":{\"keccak256\":\"0xba43b97fba0d32eb4254f6a5a297b39a19a247082a02d6e69349e071e2946218\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fc980984badf3984b6303b377711220e067722bbd6a135b24669ff5069ef9f32\",\"dweb:/ipfs/QmPHXMSXj99XjSVM21YsY6aNtLLjLVXDbyN76J5HQYvvrz\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol\":{\"keccak256\":\"0x3cbef5ebc24b415252e2f8c0c9254555d30d9f085603b4b80d9b5ed20ab87e90\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e8fa670c3bdce78e642cc6ae11c4cb38b133499cdce5e1990a9979d424703263\",\"dweb:/ipfs/QmVxeCUk4jL2pXQyhsoNJwyU874wRufS2WvGe8TgPKPqhE\"]},\"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol\":{\"keccak256\":\"0x1d4afe6cb24200cc4545eed814ecf5847277dfe5d613a1707aad5fceecebcfff\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://383fb7b8181016ac5ccf07bc9cdb7c1b5045ea36e2cc4df52bcbf20396fc7688\",\"dweb:/ipfs/QmYJ7Cg4WmE3rR8KGQxjUCXFfTH6TcwZ2Z1f6tPrq7jHFr\"]},\"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol\":{\"keccak256\":\"0xa2b22da3032e50b55f95ec1d13336102d675f341167aa76db571ef7f8bb7975d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96b6d77a20bebd4eb06b801d3d020c7e82be13bd535cb0d0a6b7181c51dab5d5\",\"dweb:/ipfs/QmPUR9Cv9jNFdQX6PtBfaBW1ZCnKwiu65R2VD5kbdanDyn\"]},\"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Upgrade.sol\":{\"keccak256\":\"0x3b21ae06bf5957f73fa16754b0669c77b7abd8ba6c072d35c3281d446fdb86c2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2db8e18505e86e02526847005d7287a33e397ed7fb9eaba3fd4a4a197add16e2\",\"dweb:/ipfs/QmW9BSuKTzHWHBNSHF4L8XfVuU1uJrP2vLg84YtBd8mL82\"]},\"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol\":{\"keccak256\":\"0xc130fe33f1b2132158531a87734153293f6d07bc263ff4ac90e85da9c82c0e27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8831721b6f4cc26534d190f9f1631c3f59c9ff38efdd911f85e0882b8e360472\",\"dweb:/ipfs/QmQZnLErZNStirSQ13ZNWQgvEYUtGE5tXYwn4QUPaVUfPN\"]},\"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0xd50a3421ac379ccb1be435fa646d66a65c986b4924f0849839f08692f39dde61\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ada1e030c0231db8d143b44ce92b4d1158eedb087880cad6d8cc7bd7ebe7b354\",\"dweb:/ipfs/QmWZ2NHZweRpz1U9GF6R1h65ri76dnX7fNxLBeM2t5N5Ce\"]},\"lib/openzeppelin-contracts/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x3d6069be9b4c01fb81840fb9c2c4dc58dd6a6a4aafaa2c6837de8699574d84c6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://720d6bb56ea0c4ef781c0bd65c5bd0541f5a46100163b2587170f97658d2deed\",\"dweb:/ipfs/QmTS2biLVPrv8CeeXCaKmkFxonMiRvc1LxiYBRYDAJHQUS\"]},\"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol\":{\"keccak256\":\"0xc6619957bcc6641fe8984bfaf9ff11a9e4b97d8149c0495f608f9a2416d7c5cf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://543be67f7fa43b1b932637c1c7f12035f0f4b0f7ee2bd3c33841186f79c165c1\",\"dweb:/ipfs/QmSBPM2UVKbmJqWfD9i6hSiqbaE8TV4TSqfuiivziRRLKM\"]},\"lib/openzeppelin-contracts/contracts/security/ReentrancyGuard.sol\":{\"keccak256\":\"0xa535a5df777d44e945dd24aa43a11e44b024140fc340ad0dfe42acf4002aade1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://41319e7f621f2dc3733511332c4fd032f8e32ad2aa7fd6f665c19741d9941a34\",\"dweb:/ipfs/QmcYR3bd862GD1Bc7jwrU9bGxrhUu5na1oP964bDCu2id1\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15\",\"dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5\",\"dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd\",\"dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol\":{\"keccak256\":\"0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a\",\"dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0x909d608c2db6eb165ca178c81289a07ed2e118e444d0025b2a85c97d0b44a4fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://656cda26512ddd7373c2d5551c8fae759fc30f05b10f0fc2e738e9274199dbd4\",\"dweb:/ipfs/QmTSArSzQRFbQmHgq7U1PZXnsDFhvDZhKVu9CzMG4yo6Lx\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xf09e68aa0dc6722a25bc46490e8d48ed864466d17313b8a0b254c36b54e49899\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e26daf81e2252dc1fe1ce0e4b55c2eb7c6d1ee84ae6558d1a9554432ea1d32da\",\"dweb:/ipfs/Qmb1UANWiWq5pCKbmHSu772hd4nt374dVaghGmwSVNuk8Q\"]},\"lib/openzeppelin-contracts/contracts/utils/Strings.sol\":{\"keccak256\":\"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f\",\"dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol\":{\"keccak256\":\"0x5a08ad61f4e82b8a3323562661a86fb10b10190848073fdc13d4ac43710ffba5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6f7bb74cf88fd88daa34e118bc6e363381d05044f34f391d39a10c0c9dac3ebd\",\"dweb:/ipfs/QmNbQ3v8v4zuDtg7VeLAbdhAm3tCzUodNoDZZ8ekmCHWZX\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]},\"lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/src/strings.sol\":{\"keccak256\":\"0x42cad11a7033f2fe05dd68611d2304407a620ac985b91edf29d5868cfe196223\",\"urls\":[\"bzz-raw://3cbc2333234e1f00eab5e57c4bcaf5115661e5e066a17c70af587a0a96f24669\",\"dweb:/ipfs/QmPHvStqcvZL46LW5N2ExTwAaqNhRCcmAX66aR6oE1WDar\"]},\"lib/openzeppelin-foundry-upgrades/src/Defender.sol\":{\"keccak256\":\"0x2114e4d70d53b36e8cec54ba11ff78d9f38a466ec3504c76c7f26101a7cff37f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://58f4d9bc58646e7631b263cdb8ef260e6818e9f716036d81d1c18218c9557a23\",\"dweb:/ipfs/QmS18L4R4gPtay9eQBcR28DnwmBkGSWsiCFwm2tXc3BkHL\"]},\"lib/openzeppelin-foundry-upgrades/src/LegacyUpgrades.sol\":{\"keccak256\":\"0x8436719f73c76efadaa16cd719d088f698ea3591595dfdf2c15fd66f3e203197\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ac8d0e55defe124adcc3845348602d6528b00b7dc5f7abf9e1b245d0cea9b55e\",\"dweb:/ipfs/QmaPBoG89Bd2btJZW5kjXx7zXo6KhAdeTuMq5xo431M8xq\"]},\"lib/openzeppelin-foundry-upgrades/src/Options.sol\":{\"keccak256\":\"0xa5414683d6b219b28e75ecaab3d00a305dfaf4d970389a88992275c8072ce8ac\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1dbfd566ba318f2b740159c28e4511c84c9d76fcc293ae17c9b1a87b3ea16c9\",\"dweb:/ipfs/QmcyxPoeBdzA9iHEgd76xKhaQ8HKfpV4owdSv6127MmveT\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Core.sol\":{\"keccak256\":\"0x37073df20d2b5fbb0a873e6b2dd76c23e23455d1c2d2ba57d2f0998201a4251d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://79d507647ea48d93371341684cf4199d55ed799db9d3489bc016f53990d2ff7c\",\"dweb:/ipfs/QmQWgXiYcPcwNcrkTHb72WtHd4xPcXfRUMfBrhkDHgr2ut\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/DefenderDeploy.sol\":{\"keccak256\":\"0x868ffdaf5d185fee103fc4581385392b47c209a5cfd2aec01f0307dbc0101d73\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://76e51bf69a4d0b5d1d9cfa7efa442bdcf9d713966563432ef8fdd00ec959a25e\",\"dweb:/ipfs/QmTHkdvMnqmEvus7zbmHhPkWk3fM9SW2Jq8gnyBLwVJtxG\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Utils.sol\":{\"keccak256\":\"0x4de002af810f6a5fe26a6381e0ead3331735bd0059434a22df75e17c177b5f87\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af32ff07f606e530a53030db141a75af144cfe065a6543939d412018c6159540\",\"dweb:/ipfs/QmbfTB92Zd8VQHW61g9dx1CvGgSL5SCoZDLrvJfnR7Ctio\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Versions.sol\":{\"keccak256\":\"0xf1a1441c18a296853509e9b1d18be794ed3de836caea49d6948b5e9ac566e8c6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6f3463514235bd875ecacf45f95cac64aa650dd38d05c15fe1f4203b6b5733bd\",\"dweb:/ipfs/Qmcbhmw9NPkG8MqiVsQ4qUupeQFCRgyBDKuoUwohwa8EP3\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IProxyAdmin.sol\":{\"keccak256\":\"0xf5e514595089f8959da130507086e7388602a71ce60575d141e7d892dfbddbfc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9b41366e2823ccc8cb42304496d761b3df80946d17384634a61afd7139495c91\",\"dweb:/ipfs/QmZE2nRMxax1NPj63ifemKdScGJzKNWi7BCGudjFLsUz1y\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableBeacon.sol\":{\"keccak256\":\"0xa8d7bffdd26eb763e459650c83f247b54af79800c2df52ad05878f238fc1c2f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ed47f1e53e5eb7d48fed60a414755641fca8fa0e713fd503b2597227da78a2f\",\"dweb:/ipfs/QmQr8A5wddHdhQNauFShXxRkPcuVVpVsYpq846WhmFC8Tv\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableProxy.sol\":{\"keccak256\":\"0x781b564b90bba0c0e8e12fb66b1c910f42d369db469f2e88592b4cff29de99a5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://45fcab02a43fde934445b88e905aba3f58a70b75dd6ee6eb86a3d593424aeb03\",\"dweb:/ipfs/QmXmhAgrctaYUDLoTRgUjwD4deoXu1E2QT1kftVGcVa56j\"]},\"pkg/contracts/src/BaseStrategyUpgradeable.sol\":{\"keccak256\":\"0xe059f9e1a262a4713e230a6025c3356681bb5f3c8013b87bc579bae93aa66c20\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://37e879664b08005b9544457cf89bce77e38b6a25639566df7366b9e5968c815e\",\"dweb:/ipfs/QmYgNRqZfYUPbWgcHUHghTcpqjVmT9v4HfkfPdEF64fYe5\"]},\"pkg/contracts/src/CVStrategy.sol\":{\"keccak256\":\"0x132bcf17470960e380d841159d9389985d609aaae1c9a657c78902f7871da957\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://84e905bf392579b44f33fff8586431b940e110b2210854cf487321cc92061705\",\"dweb:/ipfs/QmQpvszYu8RbrXmUFLifSodQzV8LAqazk1fzXNARGc5sBT\"]},\"pkg/contracts/src/CVStrategyV0_0.sol\":{\"keccak256\":\"0x79d01b399c8d735923dfa26b8dacba6200a861202dd6fb1c7711241285439d2d\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://e7ea0014e25a729d6d688620658df81a179a8c2380ae0bc4c78668cd486adb04\",\"dweb:/ipfs/QmdPM8JpFXeqBxQgkRzM1inzCT2rkRxnpoSrFk8DauDpNf\"]},\"pkg/contracts/src/ISybilScorer.sol\":{\"keccak256\":\"0x0e25fbb8497ac3c969d80c9032362d45e56c0a45dc9ba3dff6a8a704571f38ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0dff90ebae6e7131a5300fcaf525bc2ab0ae90fcd13f277d7b7b6939eeb8b7eb\",\"dweb:/ipfs/QmYGkYqpUVrBWoNY6f3CtwrrVQFWSvnJfpu68t95f6AkBY\"]},\"pkg/contracts/src/RegistryCommunity.sol\":{\"keccak256\":\"0xc735f4d2635149f2db9bff291da56e08c3c312d9eb1b767b8a1e3e51584d5734\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://247b33b78abface6a7e2da38174386de9b543f6a27e8340e26d854bff57184a3\",\"dweb:/ipfs/QmedNdqkqeboGzz9w868uGf7KnXUaYZe6i1YcdUPPkJnnf\"]},\"pkg/contracts/src/RegistryCommunityV0_0.sol\":{\"keccak256\":\"0x6525c857f7baff606e87bbc2878f3606923997a444eb500aa15018c676c972a9\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://89d2af9f470c8d7431ff6b1981b7bf46520f719d68da38ab3ca065496a6297d8\",\"dweb:/ipfs/QmceJHX57HbnBXVfmhtRPmnApUQy5QSWTybgq6g37vCxEN\"]},\"pkg/contracts/src/RegistryFactory.sol\":{\"keccak256\":\"0x888b7f5eb1079f90ccfa0b41d8a970bffd8d4d469f9b31917a58279b358dbda5\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://af25fd783de00adf01d1c7caa572801fed0d474306a43b862535b08e65ec10c6\",\"dweb:/ipfs/Qmeb2nEaMQLV86y1CYAAV2c6BYpBDTbpLuC1SigeNjdqLo\"]},\"pkg/contracts/src/interfaces/FAllo.sol\":{\"keccak256\":\"0x32f38cb4400a07a99ae68a9beb91e5649886487172fd50561da6763464efc437\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://cb4f0cee2f3fbede7be5e8e1d7ee8034086359cd07b9dab49c4a991388e5c458\",\"dweb:/ipfs/QmS26kA8cZ9shWwxcbF17Kes8L7Jgw85EQVydDmwb34mjM\"]},\"pkg/contracts/src/interfaces/ISafe.sol\":{\"keccak256\":\"0x878a210809bb684c42157a10f3f90350a67d0a4863f130499942b06f0f2c9143\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://fa2d71bd427c3415e98a2ee15ff673f3cc61c17f14d7087c5eedc83b55f6b0ef\",\"dweb:/ipfs/QmesVSmJQQzi6ys1cvhQFCJyDXchb736mT5bXks4Yp6Cbj\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[],"type":"error","name":"ALLOCATION_ACTIVE"},{"inputs":[],"type":"error","name":"ALLOCATION_NOT_ACTIVE"},{"inputs":[],"type":"error","name":"ALLOCATION_NOT_ENDED"},{"inputs":[],"type":"error","name":"ALREADY_INITIALIZED"},{"inputs":[],"type":"error","name":"AMOUNT_MISMATCH"},{"inputs":[],"type":"error","name":"ANCHOR_ERROR"},{"inputs":[],"type":"error","name":"ARRAY_MISMATCH"},{"inputs":[],"type":"error","name":"AddressCannotBeZero"},{"inputs":[],"type":"error","name":"AmountOverMaxRatio"},{"inputs":[],"type":"error","name":"CantIncreaseFixedSystem"},{"inputs":[],"type":"error","name":"ConvictionUnderMinimumThreshold"},{"inputs":[],"type":"error","name":"INVALID"},{"inputs":[],"type":"error","name":"INVALID_ADDRESS"},{"inputs":[],"type":"error","name":"INVALID_FEE"},{"inputs":[],"type":"error","name":"INVALID_METADATA"},{"inputs":[],"type":"error","name":"INVALID_REGISTRATION"},{"inputs":[],"type":"error","name":"IS_APPROVED_STRATEGY"},{"inputs":[],"type":"error","name":"MISMATCH"},{"inputs":[],"type":"error","name":"MaxPointsReached"},{"inputs":[],"type":"error","name":"NONCE_NOT_AVAILABLE"},{"inputs":[],"type":"error","name":"NOT_APPROVED_STRATEGY"},{"inputs":[],"type":"error","name":"NOT_ENOUGH_FUNDS"},{"inputs":[],"type":"error","name":"NOT_IMPLEMENTED"},{"inputs":[],"type":"error","name":"NOT_INITIALIZED"},{"inputs":[],"type":"error","name":"NOT_PENDING_OWNER"},{"inputs":[{"internalType":"uint256","name":"pointsSupport","type":"uint256"},{"internalType":"uint256","name":"pointsBalance","type":"uint256"}],"type":"error","name":"NotEnoughPointsToSupport"},{"inputs":[],"type":"error","name":"NotImplemented"},{"inputs":[],"type":"error","name":"OnlyCommunityAllowed"},{"inputs":[],"type":"error","name":"OnlyCouncilSafe"},{"inputs":[],"type":"error","name":"POOL_ACTIVE"},{"inputs":[],"type":"error","name":"POOL_INACTIVE"},{"inputs":[{"internalType":"uint256","name":"_proposalId","type":"uint256"},{"internalType":"uint256","name":"_requestedAmount","type":"uint256"},{"internalType":"uint256","name":"_poolAmount","type":"uint256"}],"type":"error","name":"PoolAmountNotEnough"},{"inputs":[],"type":"error","name":"PoolIdCannotBeZero"},{"inputs":[],"type":"error","name":"PoolIsEmpty"},{"inputs":[],"type":"error","name":"ProposalDataIsEmpty"},{"inputs":[],"type":"error","name":"ProposalIdCannotBeZero"},{"inputs":[{"internalType":"uint256","name":"_proposalId","type":"uint256"}],"type":"error","name":"ProposalNotActive"},{"inputs":[{"internalType":"uint256","name":"_proposalId","type":"uint256"}],"type":"error","name":"ProposalNotInList"},{"inputs":[{"internalType":"uint256","name":"_proposalId","type":"uint256"},{"internalType":"uint256","name":"index","type":"uint256"}],"type":"error","name":"ProposalSupportDuplicated"},{"inputs":[],"type":"error","name":"RECIPIENT_ALREADY_ACCEPTED"},{"inputs":[{"internalType":"address","name":"recipientId","type":"address"}],"type":"error","name":"RECIPIENT_ERROR"},{"inputs":[],"type":"error","name":"RECIPIENT_NOT_ACCEPTED"},{"inputs":[],"type":"error","name":"REGISTRATION_NOT_ACTIVE"},{"inputs":[],"type":"error","name":"RegistryCannotBeZero"},{"inputs":[{"internalType":"uint256","name":"_support","type":"uint256"},{"internalType":"int256","name":"_delta","type":"int256"},{"internalType":"int256","name":"_result","type":"int256"}],"type":"error","name":"SupportUnderflow"},{"inputs":[],"type":"error","name":"TokenCannotBeZero"},{"inputs":[],"type":"error","name":"TokenNotAllowed"},{"inputs":[],"type":"error","name":"UNAUTHORIZED"},{"inputs":[],"type":"error","name":"UserCannotBeZero"},{"inputs":[],"type":"error","name":"UserCannotExecuteAction"},{"inputs":[],"type":"error","name":"UserIsInactive"},{"inputs":[],"type":"error","name":"UserNotInRegistry"},{"inputs":[],"type":"error","name":"ZERO_ADDRESS"},{"inputs":[{"internalType":"address","name":"previousAdmin","type":"address","indexed":false},{"internalType":"address","name":"newAdmin","type":"address","indexed":false}],"type":"event","name":"AdminChanged","anonymous":false},{"inputs":[{"internalType":"address","name":"recipientId","type":"address","indexed":true},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false},{"internalType":"address","name":"token","type":"address","indexed":false},{"internalType":"address","name":"sender","type":"address","indexed":false}],"type":"event","name":"Allocated","anonymous":false},{"inputs":[{"internalType":"address","name":"beacon","type":"address","indexed":true}],"type":"event","name":"BeaconUpgraded","anonymous":false},{"inputs":[{"internalType":"uint256","name":"decay","type":"uint256","indexed":false}],"type":"event","name":"DecayUpdated","anonymous":false},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256","indexed":false},{"internalType":"address","name":"beneficiary","type":"address","indexed":false},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false}],"type":"event","name":"Distributed","anonymous":false},{"inputs":[{"internalType":"address","name":"recipientId","type":"address","indexed":true},{"internalType":"address","name":"recipientAddress","type":"address","indexed":false},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false},{"internalType":"address","name":"sender","type":"address","indexed":false}],"type":"event","name":"Distributed","anonymous":false},{"inputs":[{"internalType":"uint256","name":"poolId","type":"uint256","indexed":false},{"internalType":"bytes","name":"data","type":"bytes","indexed":false}],"type":"event","name":"Initialized","anonymous":false},{"inputs":[{"internalType":"uint8","name":"version","type":"uint8","indexed":false}],"type":"event","name":"Initialized","anonymous":false},{"inputs":[{"internalType":"uint256","name":"poolId","type":"uint256","indexed":false},{"internalType":"struct StrategyStruct.InitializeParams","name":"data","type":"tuple","components":[{"internalType":"address","name":"registryCommunity","type":"address"},{"internalType":"uint256","name":"decay","type":"uint256"},{"internalType":"uint256","name":"maxRatio","type":"uint256"},{"internalType":"uint256","name":"weight","type":"uint256"},{"internalType":"uint256","name":"minThresholdPoints","type":"uint256"},{"internalType":"enum StrategyStruct.ProposalType","name":"proposalType","type":"uint8"},{"internalType":"enum StrategyStruct.PointSystem","name":"pointSystem","type":"uint8"},{"internalType":"struct StrategyStruct.PointSystemConfig","name":"pointConfig","type":"tuple","components":[{"internalType":"uint256","name":"maxAmount","type":"uint256"}]},{"internalType":"address","name":"sybilScorer","type":"address"}],"indexed":false}],"type":"event","name":"InitializedCV","anonymous":false},{"inputs":[{"internalType":"uint256","name":"maxRatio","type":"uint256","indexed":false}],"type":"event","name":"MaxRatioUpdated","anonymous":false},{"inputs":[{"internalType":"uint256","name":"before","type":"uint256","indexed":false},{"internalType":"uint256","name":"minThresholdPoints","type":"uint256","indexed":false}],"type":"event","name":"MinThresholdPointsUpdated","anonymous":false},{"inputs":[{"internalType":"address","name":"previousOwner","type":"address","indexed":true},{"internalType":"address","name":"newOwner","type":"address","indexed":true}],"type":"event","name":"OwnershipTransferred","anonymous":false},{"inputs":[{"internalType":"address","name":"member","type":"address","indexed":false}],"type":"event","name":"PointsDeactivated","anonymous":false},{"inputs":[{"internalType":"bool","name":"active","type":"bool","indexed":false}],"type":"event","name":"PoolActive","anonymous":false},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256","indexed":false}],"type":"event","name":"PoolAmountIncreased","anonymous":false},{"inputs":[{"internalType":"address","name":"member","type":"address","indexed":false},{"internalType":"uint256","name":"tokensUnStaked","type":"uint256","indexed":false},{"internalType":"uint256","name":"pointsToDecrease","type":"uint256","indexed":false}],"type":"event","name":"PowerDecreased","anonymous":false},{"inputs":[{"internalType":"address","name":"member","type":"address","indexed":false},{"internalType":"uint256","name":"tokensStaked","type":"uint256","indexed":false},{"internalType":"uint256","name":"pointsToIncrease","type":"uint256","indexed":false}],"type":"event","name":"PowerIncreased","anonymous":false},{"inputs":[{"internalType":"uint256","name":"poolId","type":"uint256","indexed":false},{"internalType":"uint256","name":"proposalId","type":"uint256","indexed":false}],"type":"event","name":"ProposalCreated","anonymous":false},{"inputs":[{"internalType":"address","name":"recipientId","type":"address","indexed":true},{"internalType":"bytes","name":"data","type":"bytes","indexed":false},{"internalType":"address","name":"sender","type":"address","indexed":false}],"type":"event","name":"Registered","anonymous":false},{"inputs":[{"internalType":"address","name":"registryCommunity","type":"address","indexed":false}],"type":"event","name":"RegistryUpdated","anonymous":false},{"inputs":[{"internalType":"address","name":"from","type":"address","indexed":false},{"internalType":"uint256","name":"proposalId","type":"uint256","indexed":false},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false},{"internalType":"uint256","name":"totalStakedAmount","type":"uint256","indexed":false},{"internalType":"uint256","name":"convictionLast","type":"uint256","indexed":false}],"type":"event","name":"SupportAdded","anonymous":false},{"inputs":[{"internalType":"address","name":"implementation","type":"address","indexed":true}],"type":"event","name":"Upgraded","anonymous":false},{"inputs":[{"internalType":"uint256","name":"weight","type":"uint256","indexed":false}],"type":"event","name":"WeightUpdated","anonymous":false},{"inputs":[],"stateMutability":"payable","type":"fallback"},{"inputs":[],"stateMutability":"view","type":"function","name":"D","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"MAX_STAKED_PROPOSALS","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"NATIVE","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_minThresholdPoints","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"activatePoints"},{"inputs":[{"internalType":"bytes","name":"_data","type":"bytes"},{"internalType":"address","name":"_sender","type":"address"}],"stateMutability":"payable","type":"function","name":"allocate"},{"inputs":[{"internalType":"uint256","name":"_timePassed","type":"uint256"},{"internalType":"uint256","name":"_lastConv","type":"uint256"},{"internalType":"uint256","name":"_oldAmount","type":"uint256"}],"stateMutability":"view","type":"function","name":"calculateConviction","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"_requestedAmount","type":"uint256"}],"stateMutability":"view","type":"function","name":"calculateThreshold","outputs":[{"internalType":"uint256","name":"_threshold","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"stateMutability":"view","type":"function","name":"canExecuteProposal","outputs":[{"internalType":"bool","name":"canBeExecuted","type":"bool"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"deactivatePoints"},{"inputs":[{"internalType":"address","name":"_member","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"deactivatePoints"},{"inputs":[],"stateMutability":"view","type":"function","name":"decay","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"_member","type":"address"},{"internalType":"uint256","name":"_amountToUnstake","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"decreasePower","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address[]","name":"_recipientIds","type":"address[]"},{"internalType":"bytes","name":"_data","type":"bytes"},{"internalType":"address","name":"_sender","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"distribute"},{"inputs":[],"stateMutability":"view","type":"function","name":"getAllo","outputs":[{"internalType":"contract IAllo","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getMaxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"view","type":"function","name":"getMaxConviction","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"_proposalId","type":"uint256"}],"stateMutability":"view","type":"function","name":"getMetadata","outputs":[{"internalType":"struct Metadata","name":"","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]}]},{"inputs":[{"internalType":"address[]","name":"","type":"address[]"},{"internalType":"bytes[]","name":"","type":"bytes[]"}],"stateMutability":"pure","type":"function","name":"getPayouts","outputs":[{"internalType":"struct IStrategy.PayoutSummary[]","name":"","type":"tuple[]","components":[{"internalType":"address","name":"recipientAddress","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getPointSystem","outputs":[{"internalType":"enum StrategyStruct.PointSystem","name":"","type":"uint8"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getPoolAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getPoolId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"_proposalId","type":"uint256"}],"stateMutability":"view","type":"function","name":"getProposal","outputs":[{"internalType":"address","name":"submitter","type":"address"},{"internalType":"address","name":"beneficiary","type":"address"},{"internalType":"address","name":"requestedToken","type":"address"},{"internalType":"uint256","name":"requestedAmount","type":"uint256"},{"internalType":"uint256","name":"stakedAmount","type":"uint256"},{"internalType":"enum StrategyStruct.ProposalStatus","name":"proposalStatus","type":"uint8"},{"internalType":"uint256","name":"blockLast","type":"uint256"},{"internalType":"uint256","name":"convictionLast","type":"uint256"},{"internalType":"uint256","name":"threshold","type":"uint256"},{"internalType":"uint256","name":"voterStakedPoints","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"_proposalId","type":"uint256"}],"stateMutability":"view","type":"function","name":"getProposalStakedAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"_proposalId","type":"uint256"},{"internalType":"address","name":"_voter","type":"address"}],"stateMutability":"view","type":"function","name":"getProposalVoterStake","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"_recipientId","type":"address"}],"stateMutability":"view","type":"function","name":"getRecipientStatus","outputs":[{"internalType":"enum IStrategy.Status","name":"","type":"uint8"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getStrategyId","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"address","name":"_voter","type":"address"}],"stateMutability":"view","type":"function","name":"getTotalVoterStakePct","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"increasePoolAmount"},{"inputs":[{"internalType":"address","name":"_member","type":"address"},{"internalType":"uint256","name":"_amountToStake","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"increasePower","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"_allo","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"init"},{"inputs":[{"internalType":"address","name":"_allo","type":"address"},{"internalType":"string","name":"_name","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"init"},{"inputs":[{"internalType":"uint256","name":"_poolId","type":"uint256"},{"internalType":"bytes","name":"_data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[],"stateMutability":"view","type":"function","name":"isPoolActive","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"_allocator","type":"address"}],"stateMutability":"view","type":"function","name":"isValidAllocator","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"maxRatio","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"pointConfig","outputs":[{"internalType":"uint256","name":"maxAmount","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"pointSystem","outputs":[{"internalType":"enum StrategyStruct.PointSystem","name":"","type":"uint8"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"proposalCounter","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"proposalType","outputs":[{"internalType":"enum StrategyStruct.ProposalType","name":"","type":"uint8"}]},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function","name":"proposals","outputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"uint256","name":"requestedAmount","type":"uint256"},{"internalType":"uint256","name":"stakedAmount","type":"uint256"},{"internalType":"uint256","name":"convictionLast","type":"uint256"},{"internalType":"address","name":"beneficiary","type":"address"},{"internalType":"address","name":"submitter","type":"address"},{"internalType":"address","name":"requestedToken","type":"address"},{"internalType":"uint256","name":"blockLast","type":"uint256"},{"internalType":"enum StrategyStruct.ProposalStatus","name":"proposalStatus","type":"uint8"},{"internalType":"struct Metadata","name":"metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"proxiableUUID","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"bytes","name":"_data","type":"bytes"},{"internalType":"address","name":"_sender","type":"address"}],"stateMutability":"payable","type":"function","name":"registerRecipient","outputs":[{"internalType":"address","name":"recipientId","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"registryCommunity","outputs":[{"internalType":"contract RegistryCommunityV0_0","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"renounceOwnership"},{"inputs":[{"internalType":"uint256","name":"_decay","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"setDecay"},{"inputs":[{"internalType":"uint256","name":"_maxRatio","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"setMaxRatio"},{"inputs":[{"internalType":"uint256","name":"minThresholdPoints_","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"setMinThresholdPoints"},{"inputs":[{"internalType":"bool","name":"_active","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"setPoolActive"},{"inputs":[{"internalType":"address","name":"_registryCommunity","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setRegistryCommunity"},{"inputs":[{"internalType":"address","name":"_sybilScorer","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setSybilScorer"},{"inputs":[{"internalType":"uint256","name":"_weight","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"setWeight"},{"inputs":[{"internalType":"struct StrategyStruct.ProposalSupport[]","name":"","type":"tuple[]","components":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"int256","name":"deltaSupport","type":"int256"}]}],"stateMutability":"pure","type":"function","name":"supportProposal"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"stateMutability":"view","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"sybilScorer","outputs":[{"internalType":"contract ISybilScorer","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"totalEffectiveActivePoints","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"totalPointsActivated","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"totalStaked","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function","name":"totalVoterStakePct","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transferOwnership"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"updateProposalConviction","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"upgradeTo"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"payable","type":"function","name":"upgradeToAndCall"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function","name":"voterStakedProposals","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"weight","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"payable","type":"receive"}],"devdoc":{"kind":"dev","methods":{"allocate(bytes,address)":{"details":"The encoded '_data' will be determined by the strategy implementation. Only 'Allo' contract can call this when it is initialized.","params":{"_data":"The data to use to allocate to the recipient","_sender":"The address of the sender"}},"calculateConviction(uint256,uint256,uint256)":{"details":"Conviction formula: a^t * y(0) + x * (1 - a^t) / (1 - a) Solidity implementation: y = (2^128 * a^t * y0 + x * D * (2^128 - 2^128 * a^t) / (D - aD) + 2^127) / 2^128","params":{"_lastConv":"Last conviction record","_oldAmount":"Amount of tokens staked until now","_timePassed":"Number of blocks since last conviction record"},"returns":{"_0":"Current conviction"}},"calculateThreshold(uint256)":{"details":"Formula: ρ * totalStaked / (1 - a) / (β - requestedAmount / total)**2 For the Solidity implementation we amplify ρ and β and simplify the formula: weight = ρ * D maxRatio = β * D decay = a * D threshold = weight * totalStaked * D ** 2 * funds ** 2 / (D - decay) / (maxRatio * funds - requestedAmount * D) ** 2","params":{"_requestedAmount":"Requested amount of tokens on certain proposal"},"returns":{"_threshold":"Threshold a proposal's conviction should surpass in order to be able to executed it."}},"distribute(address[],bytes,address)":{"details":"The encoded '_data' will be determined by the strategy implementation. Only 'Allo' contract can call this when it is initialized.","params":{"_data":"The data to use to distribute to the recipients","_recipientIds":"The IDs of the recipients","_sender":"The address of the sender"}},"getAllo()":{"returns":{"_0":"The Allo contract"}},"getPayouts(address[],bytes[])":{"returns":{"_0":"Input the values you would send to distribute(), get the amounts each recipient in the array would receive"}},"getPoolAmount()":{"returns":{"_0":"The balance of the pool"}},"getPoolId()":{"returns":{"_0":"The ID of the pool"}},"getProposal(uint256)":{"details":"Get proposal details","params":{"_proposalId":"Proposal id"},"returns":{"beneficiary":"Proposal beneficiary","blockLast":"Last block when conviction was calculated","convictionLast":"Last conviction calculated","proposalStatus":"Proposal status","requestedAmount":"Proposal requested amount","requestedToken":"Proposal requested token","stakedAmount":"Proposal staked points","submitter":"Proposal submitter","threshold":"Proposal threshold"}},"getProposalVoterStake(uint256,address)":{"params":{"_proposalId":"Proposal id","_voter":"Voter address"},"returns":{"_0":"Proposal voter stake"}},"getRecipientStatus(address)":{"params":{"_recipientId":"The ID of the recipient"},"returns":{"_0":"The status of the recipient"}},"getStrategyId()":{"returns":{"_0":"The ID of the strategy"}},"increasePoolAmount(uint256)":{"details":"Increases the 'poolAmount' by '_amount'. Only 'Allo' contract can call this.","params":{"_amount":"The amount to increase the pool by"}},"init(address,string)":{"params":{"_allo":"Address of the Allo contract."}},"initialize(uint256,bytes)":{"params":{"_data":"The encoded data","_poolId":"The ID of the pool"}},"isPoolActive()":{"returns":{"_0":"'true' if the pool is active, otherwise 'false'"}},"isValidAllocator(address)":{"details":"How the allocator is determined is up to the strategy implementation.","params":{"_allocator":"The address to check if it is a valid allocator for the strategy."},"returns":{"_0":"'true' if the address is a valid allocator, 'false' otherwise"}},"owner()":{"details":"Returns the address of the current owner."},"proxiableUUID()":{"details":"Implementation of the ERC1822 {proxiableUUID} function. This returns the storage slot used by the implementation. It is used to validate the implementation's compatibility when performing an upgrade. IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this function revert if invoked through a proxy. This is guaranteed by the `notDelegated` modifier."},"registerRecipient(bytes,address)":{"details":"Registers a recipient and returns the ID of the recipient. The encoded '_data' will be determined by the strategy implementation. Only 'Allo' contract can call this when it is initialized.","params":{"_data":"The data to use to register the recipient","_sender":"The address of the sender"},"returns":{"recipientId":"The recipientId"}},"renounceOwnership()":{"details":"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner."},"supportsInterface(bytes4)":{"details":"See {IERC165-supportsInterface}."},"transferOwnership(address)":{"details":"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner."},"upgradeTo(address)":{"custom:oz-upgrades-unsafe-allow-reachable":"delegatecall","details":"Upgrade the implementation of the proxy to `newImplementation`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event."},"upgradeToAndCall(address,bytes)":{"custom:oz-upgrades-unsafe-allow-reachable":"delegatecall","details":"Upgrade the implementation of the proxy to `newImplementation`, and subsequently execute the function call encoded in `data`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event."}},"version":1},"userdoc":{"kind":"user","methods":{"NATIVE()":{"notice":"Address of the native token"},"allocate(bytes,address)":{"notice":"Allocates to a recipient."},"distribute(address[],bytes,address)":{"notice":"Distributes funds (tokens) to recipients."},"getAllo()":{"notice":"Getter for the 'Allo' contract."},"getPoolAmount()":{"notice":"Getter for the 'poolAmount'."},"getPoolId()":{"notice":"Getter for the 'poolId'."},"getProposalVoterStake(uint256,address)":{"notice":"Get stake of voter `_voter` on proposal #`_proposalId`"},"getRecipientStatus(address)":{"notice":"Getter for the status of a recipient."},"getStrategyId()":{"notice":"Getter for the 'strategyId'."},"increasePoolAmount(uint256)":{"notice":"Increases the pool amount."},"init(address,string)":{"notice":"Constructor to set the Allo contract and \"strategyId'."},"initialize(uint256,bytes)":{"notice":"@dev The default BaseStrategy version will not use the data if a strategy wants to use it, they will overwrite it, use it, and then call super.initialize()."},"isPoolActive()":{"notice":"Getter for whether or not the pool is active."},"isValidAllocator(address)":{"notice":"Checks if the '_allocator' is a valid allocator."},"registerRecipient(bytes,address)":{"notice":"Registers a recipient."}},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","eas-proxy/=lib/allo-v2/lib/eas-proxy/contracts/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","hedgey-vesting/=lib/allo-v2/lib/hedgey-vesting/contracts/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-contracts/=lib/safe-contracts/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","superfluid-protocol-monorepo/=lib/allo-v2/lib/superfluid-protocol-monorepo/packages/solidity-semantic-money/src/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":1000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"pkg/contracts/src/CVStrategyV0_0.sol":"CVStrategyV0_0"},"evmVersion":"paris","libraries":{}},"sources":{"lib/allo-v2/contracts/core/interfaces/IAllo.sol":{"keccak256":"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce","urls":["bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7","dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/interfaces/IRegistry.sol":{"keccak256":"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f","urls":["bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e","dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA"],"license":"MIT"},"lib/allo-v2/contracts/core/interfaces/IStrategy.sol":{"keccak256":"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23","urls":["bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487","dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Clone.sol":{"keccak256":"0xc348b24b7d8a98c4faa5f2aa37ce9264a74f81dbdef1a9bae2eaa125585c3c7e","urls":["bzz-raw://1335b3ec59ec7e3d12ea7c90b3aa56f4c26e0d44d342f54412933be9d4f16067","dweb:/ipfs/QmXNFo2wCyq9cpvfgbdHvBUQecThFSEoUnMuZNS6WinDrr"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Errors.sol":{"keccak256":"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15","urls":["bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf","dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Metadata.sol":{"keccak256":"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44","urls":["bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c","dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Native.sol":{"keccak256":"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5","urls":["bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a","dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Transfer.sol":{"keccak256":"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286","urls":["bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11","dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/strategies/BaseStrategy.sol":{"keccak256":"0x3f1382dc6c35d50545e327e7ed6016f2bd752357d446bd698014073f0b812873","urls":["bzz-raw://99500abcd617fa43f6dde49e2c7802821ceaf54a65a8055cbbf2695ecd107974","dweb:/ipfs/QmUktZkWuu3GCMEijY1fqt7NMy7BzpTvEtcmpB1fuoa7zt"],"license":"AGPL-3.0-only"},"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol":{"keccak256":"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624","urls":["bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298","dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt"],"license":"MIT"},"lib/forge-std/src/Vm.sol":{"keccak256":"0x51fec240abc6dd23e0ee6de7c65106379aef732cad6c4ae5df6b55db886e7456","urls":["bzz-raw://a47d9c0a9876e7f9e411843b994a741d4ac1a87d8459ffc3c56359de691ddc1a","dweb:/ipfs/QmQiFN9b3Y2azrD1RBfAKEuAG3YeJkMzA2DGzgEE9kMeEK"],"license":"MIT OR Apache-2.0"},"lib/forge-std/src/console.sol":{"keccak256":"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba","urls":["bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70","dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol":{"keccak256":"0xc8710577334e8d0799ae2b2a731b1924a7bddd64319da9787ddd2dc69bdd1ce5","urls":["bzz-raw://b83b7afa4d2372da3ba5402fb10860a105c35d79812c60dc61007be2afc17618","dweb:/ipfs/QmYX9xPmbNVSKXrepKiUZiG5oL3SdzFp9a4kqspxX1sEUx"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol":{"keccak256":"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa","urls":["bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c","dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol":{"keccak256":"0x359a1ab89b46b9aba7bcad3fb651924baf4893d15153049b9976b0fc9be1358e","urls":["bzz-raw://e89863421b4014b96a4b62be76eb3b9f0a8afe9684664a6f389124c0964bfe5c","dweb:/ipfs/Qmbk7xr1irpDuU1WdxXgxELBXxs61rHhCgod7heVcvFx16"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol":{"keccak256":"0x3d98edeb5d5be8410fca707b73dabe7544d1dd11e35b73dd907c473fe43cc3ae","urls":["bzz-raw://1a3fa9fc3aec149b8ad0dd8895277ab11e9244e9d2b7adc8404b22de974fc964","dweb:/ipfs/QmRggzxs1WjuvGJSAKb2Nw5r7P3VDMefCWKTbkNPKRkv2j"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794","urls":["bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e","dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol":{"keccak256":"0x2025ccf05f6f1f2fd4e078e552836f525a1864e3854ed555047cd732320ab29b","urls":["bzz-raw://d27f4b23c2dee42394aebaf42bf238285230f472dfd3282a39c3f000ec28214f","dweb:/ipfs/QmQa3DnvccwdWJeWrjgXPnFMTWbzWQWR39hVqC7eEwo2PC"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol":{"keccak256":"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422","urls":["bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b","dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef","urls":["bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95","dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol":{"keccak256":"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb","urls":["bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a","dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol":{"keccak256":"0xd90d7723512df65ae417adaf0801042940f0dabd60039ceeaffe34aa5b238da1","urls":["bzz-raw://1b13befeb3413749292f9fb229de1c7a509a5ce2c8047d9094fc004ca9d3af89","dweb:/ipfs/QmRzJ2hZSwRtMejHUZAYTPRKgZsnfb112Fno9Jf3EiDfwA"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol":{"keccak256":"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09","urls":["bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758","dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol":{"keccak256":"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e","urls":["bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91","dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol":{"keccak256":"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a","urls":["bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4","dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/access/AccessControl.sol":{"keccak256":"0x0dd6e52cb394d7f5abe5dca2d4908a6be40417914720932de757de34a99ab87f","urls":["bzz-raw://dc117ce50ea746cab6b97ed1a1facee17a715ae0cb95d67b943dacbaf15176fb","dweb:/ipfs/QmYRZ2UGNYwsHwfNu7Wjr8L2j1LBZ1mKv6NvbwgterYMXc"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/access/IAccessControl.sol":{"keccak256":"0x59ce320a585d7e1f163cd70390a0ef2ff9cec832e2aa544293a00692465a7a57","urls":["bzz-raw://bb2c137c343ef0c4c7ce7b18c1d108afdc9d315a04e48307288d2d05adcbde3a","dweb:/ipfs/QmUxhrAQM3MM3FF5j7AtcXLXguWCJBHJ14BRdVtuoQc8Fh"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/access/Ownable.sol":{"keccak256":"0xba43b97fba0d32eb4254f6a5a297b39a19a247082a02d6e69349e071e2946218","urls":["bzz-raw://fc980984badf3984b6303b377711220e067722bbd6a135b24669ff5069ef9f32","dweb:/ipfs/QmPHXMSXj99XjSVM21YsY6aNtLLjLVXDbyN76J5HQYvvrz"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol":{"keccak256":"0x3cbef5ebc24b415252e2f8c0c9254555d30d9f085603b4b80d9b5ed20ab87e90","urls":["bzz-raw://e8fa670c3bdce78e642cc6ae11c4cb38b133499cdce5e1990a9979d424703263","dweb:/ipfs/QmVxeCUk4jL2pXQyhsoNJwyU874wRufS2WvGe8TgPKPqhE"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol":{"keccak256":"0x1d4afe6cb24200cc4545eed814ecf5847277dfe5d613a1707aad5fceecebcfff","urls":["bzz-raw://383fb7b8181016ac5ccf07bc9cdb7c1b5045ea36e2cc4df52bcbf20396fc7688","dweb:/ipfs/QmYJ7Cg4WmE3rR8KGQxjUCXFfTH6TcwZ2Z1f6tPrq7jHFr"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol":{"keccak256":"0xa2b22da3032e50b55f95ec1d13336102d675f341167aa76db571ef7f8bb7975d","urls":["bzz-raw://96b6d77a20bebd4eb06b801d3d020c7e82be13bd535cb0d0a6b7181c51dab5d5","dweb:/ipfs/QmPUR9Cv9jNFdQX6PtBfaBW1ZCnKwiu65R2VD5kbdanDyn"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Upgrade.sol":{"keccak256":"0x3b21ae06bf5957f73fa16754b0669c77b7abd8ba6c072d35c3281d446fdb86c2","urls":["bzz-raw://2db8e18505e86e02526847005d7287a33e397ed7fb9eaba3fd4a4a197add16e2","dweb:/ipfs/QmW9BSuKTzHWHBNSHF4L8XfVuU1uJrP2vLg84YtBd8mL82"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol":{"keccak256":"0xc130fe33f1b2132158531a87734153293f6d07bc263ff4ac90e85da9c82c0e27","urls":["bzz-raw://8831721b6f4cc26534d190f9f1631c3f59c9ff38efdd911f85e0882b8e360472","dweb:/ipfs/QmQZnLErZNStirSQ13ZNWQgvEYUtGE5tXYwn4QUPaVUfPN"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol":{"keccak256":"0xd50a3421ac379ccb1be435fa646d66a65c986b4924f0849839f08692f39dde61","urls":["bzz-raw://ada1e030c0231db8d143b44ce92b4d1158eedb087880cad6d8cc7bd7ebe7b354","dweb:/ipfs/QmWZ2NHZweRpz1U9GF6R1h65ri76dnX7fNxLBeM2t5N5Ce"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x3d6069be9b4c01fb81840fb9c2c4dc58dd6a6a4aafaa2c6837de8699574d84c6","urls":["bzz-raw://720d6bb56ea0c4ef781c0bd65c5bd0541f5a46100163b2587170f97658d2deed","dweb:/ipfs/QmTS2biLVPrv8CeeXCaKmkFxonMiRvc1LxiYBRYDAJHQUS"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol":{"keccak256":"0xc6619957bcc6641fe8984bfaf9ff11a9e4b97d8149c0495f608f9a2416d7c5cf","urls":["bzz-raw://543be67f7fa43b1b932637c1c7f12035f0f4b0f7ee2bd3c33841186f79c165c1","dweb:/ipfs/QmSBPM2UVKbmJqWfD9i6hSiqbaE8TV4TSqfuiivziRRLKM"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/security/ReentrancyGuard.sol":{"keccak256":"0xa535a5df777d44e945dd24aa43a11e44b024140fc340ad0dfe42acf4002aade1","urls":["bzz-raw://41319e7f621f2dc3733511332c4fd032f8e32ad2aa7fd6f665c19741d9941a34","dweb:/ipfs/QmcYR3bd862GD1Bc7jwrU9bGxrhUu5na1oP964bDCu2id1"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol":{"keccak256":"0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c","urls":["bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15","dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305","urls":["bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5","dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol":{"keccak256":"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca","urls":["bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd","dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol":{"keccak256":"0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a","urls":["bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a","dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol":{"keccak256":"0x909d608c2db6eb165ca178c81289a07ed2e118e444d0025b2a85c97d0b44a4fa","urls":["bzz-raw://656cda26512ddd7373c2d5551c8fae759fc30f05b10f0fc2e738e9274199dbd4","dweb:/ipfs/QmTSArSzQRFbQmHgq7U1PZXnsDFhvDZhKVu9CzMG4yo6Lx"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Address.sol":{"keccak256":"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa","urls":["bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931","dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Context.sol":{"keccak256":"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7","urls":["bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92","dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol":{"keccak256":"0xf09e68aa0dc6722a25bc46490e8d48ed864466d17313b8a0b254c36b54e49899","urls":["bzz-raw://e26daf81e2252dc1fe1ce0e4b55c2eb7c6d1ee84ae6558d1a9554432ea1d32da","dweb:/ipfs/Qmb1UANWiWq5pCKbmHSu772hd4nt374dVaghGmwSVNuk8Q"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Strings.sol":{"keccak256":"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0","urls":["bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f","dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol":{"keccak256":"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b","urls":["bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d","dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol":{"keccak256":"0x5a08ad61f4e82b8a3323562661a86fb10b10190848073fdc13d4ac43710ffba5","urls":["bzz-raw://6f7bb74cf88fd88daa34e118bc6e363381d05044f34f391d39a10c0c9dac3ebd","dweb:/ipfs/QmNbQ3v8v4zuDtg7VeLAbdhAm3tCzUodNoDZZ8ekmCHWZX"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/Math.sol":{"keccak256":"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3","urls":["bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c","dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol":{"keccak256":"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc","urls":["bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7","dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/src/strings.sol":{"keccak256":"0x42cad11a7033f2fe05dd68611d2304407a620ac985b91edf29d5868cfe196223","urls":["bzz-raw://3cbc2333234e1f00eab5e57c4bcaf5115661e5e066a17c70af587a0a96f24669","dweb:/ipfs/QmPHvStqcvZL46LW5N2ExTwAaqNhRCcmAX66aR6oE1WDar"],"license":null},"lib/openzeppelin-foundry-upgrades/src/Defender.sol":{"keccak256":"0x2114e4d70d53b36e8cec54ba11ff78d9f38a466ec3504c76c7f26101a7cff37f","urls":["bzz-raw://58f4d9bc58646e7631b263cdb8ef260e6818e9f716036d81d1c18218c9557a23","dweb:/ipfs/QmS18L4R4gPtay9eQBcR28DnwmBkGSWsiCFwm2tXc3BkHL"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/LegacyUpgrades.sol":{"keccak256":"0x8436719f73c76efadaa16cd719d088f698ea3591595dfdf2c15fd66f3e203197","urls":["bzz-raw://ac8d0e55defe124adcc3845348602d6528b00b7dc5f7abf9e1b245d0cea9b55e","dweb:/ipfs/QmaPBoG89Bd2btJZW5kjXx7zXo6KhAdeTuMq5xo431M8xq"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/Options.sol":{"keccak256":"0xa5414683d6b219b28e75ecaab3d00a305dfaf4d970389a88992275c8072ce8ac","urls":["bzz-raw://b1dbfd566ba318f2b740159c28e4511c84c9d76fcc293ae17c9b1a87b3ea16c9","dweb:/ipfs/QmcyxPoeBdzA9iHEgd76xKhaQ8HKfpV4owdSv6127MmveT"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Core.sol":{"keccak256":"0x37073df20d2b5fbb0a873e6b2dd76c23e23455d1c2d2ba57d2f0998201a4251d","urls":["bzz-raw://79d507647ea48d93371341684cf4199d55ed799db9d3489bc016f53990d2ff7c","dweb:/ipfs/QmQWgXiYcPcwNcrkTHb72WtHd4xPcXfRUMfBrhkDHgr2ut"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/DefenderDeploy.sol":{"keccak256":"0x868ffdaf5d185fee103fc4581385392b47c209a5cfd2aec01f0307dbc0101d73","urls":["bzz-raw://76e51bf69a4d0b5d1d9cfa7efa442bdcf9d713966563432ef8fdd00ec959a25e","dweb:/ipfs/QmTHkdvMnqmEvus7zbmHhPkWk3fM9SW2Jq8gnyBLwVJtxG"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Utils.sol":{"keccak256":"0x4de002af810f6a5fe26a6381e0ead3331735bd0059434a22df75e17c177b5f87","urls":["bzz-raw://af32ff07f606e530a53030db141a75af144cfe065a6543939d412018c6159540","dweb:/ipfs/QmbfTB92Zd8VQHW61g9dx1CvGgSL5SCoZDLrvJfnR7Ctio"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Versions.sol":{"keccak256":"0xf1a1441c18a296853509e9b1d18be794ed3de836caea49d6948b5e9ac566e8c6","urls":["bzz-raw://6f3463514235bd875ecacf45f95cac64aa650dd38d05c15fe1f4203b6b5733bd","dweb:/ipfs/Qmcbhmw9NPkG8MqiVsQ4qUupeQFCRgyBDKuoUwohwa8EP3"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IProxyAdmin.sol":{"keccak256":"0xf5e514595089f8959da130507086e7388602a71ce60575d141e7d892dfbddbfc","urls":["bzz-raw://9b41366e2823ccc8cb42304496d761b3df80946d17384634a61afd7139495c91","dweb:/ipfs/QmZE2nRMxax1NPj63ifemKdScGJzKNWi7BCGudjFLsUz1y"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableBeacon.sol":{"keccak256":"0xa8d7bffdd26eb763e459650c83f247b54af79800c2df52ad05878f238fc1c2f8","urls":["bzz-raw://8ed47f1e53e5eb7d48fed60a414755641fca8fa0e713fd503b2597227da78a2f","dweb:/ipfs/QmQr8A5wddHdhQNauFShXxRkPcuVVpVsYpq846WhmFC8Tv"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableProxy.sol":{"keccak256":"0x781b564b90bba0c0e8e12fb66b1c910f42d369db469f2e88592b4cff29de99a5","urls":["bzz-raw://45fcab02a43fde934445b88e905aba3f58a70b75dd6ee6eb86a3d593424aeb03","dweb:/ipfs/QmXmhAgrctaYUDLoTRgUjwD4deoXu1E2QT1kftVGcVa56j"],"license":"MIT"},"pkg/contracts/src/BaseStrategyUpgradeable.sol":{"keccak256":"0xe059f9e1a262a4713e230a6025c3356681bb5f3c8013b87bc579bae93aa66c20","urls":["bzz-raw://37e879664b08005b9544457cf89bce77e38b6a25639566df7366b9e5968c815e","dweb:/ipfs/QmYgNRqZfYUPbWgcHUHghTcpqjVmT9v4HfkfPdEF64fYe5"],"license":"AGPL-3.0-only"},"pkg/contracts/src/CVStrategy.sol":{"keccak256":"0x132bcf17470960e380d841159d9389985d609aaae1c9a657c78902f7871da957","urls":["bzz-raw://84e905bf392579b44f33fff8586431b940e110b2210854cf487321cc92061705","dweb:/ipfs/QmQpvszYu8RbrXmUFLifSodQzV8LAqazk1fzXNARGc5sBT"],"license":"AGPL-3.0-only"},"pkg/contracts/src/CVStrategyV0_0.sol":{"keccak256":"0x79d01b399c8d735923dfa26b8dacba6200a861202dd6fb1c7711241285439d2d","urls":["bzz-raw://e7ea0014e25a729d6d688620658df81a179a8c2380ae0bc4c78668cd486adb04","dweb:/ipfs/QmdPM8JpFXeqBxQgkRzM1inzCT2rkRxnpoSrFk8DauDpNf"],"license":"AGPL-3.0-only"},"pkg/contracts/src/ISybilScorer.sol":{"keccak256":"0x0e25fbb8497ac3c969d80c9032362d45e56c0a45dc9ba3dff6a8a704571f38ea","urls":["bzz-raw://0dff90ebae6e7131a5300fcaf525bc2ab0ae90fcd13f277d7b7b6939eeb8b7eb","dweb:/ipfs/QmYGkYqpUVrBWoNY6f3CtwrrVQFWSvnJfpu68t95f6AkBY"],"license":"MIT"},"pkg/contracts/src/RegistryCommunity.sol":{"keccak256":"0xc735f4d2635149f2db9bff291da56e08c3c312d9eb1b767b8a1e3e51584d5734","urls":["bzz-raw://247b33b78abface6a7e2da38174386de9b543f6a27e8340e26d854bff57184a3","dweb:/ipfs/QmedNdqkqeboGzz9w868uGf7KnXUaYZe6i1YcdUPPkJnnf"],"license":"AGPL-3.0-only"},"pkg/contracts/src/RegistryCommunityV0_0.sol":{"keccak256":"0x6525c857f7baff606e87bbc2878f3606923997a444eb500aa15018c676c972a9","urls":["bzz-raw://89d2af9f470c8d7431ff6b1981b7bf46520f719d68da38ab3ca065496a6297d8","dweb:/ipfs/QmceJHX57HbnBXVfmhtRPmnApUQy5QSWTybgq6g37vCxEN"],"license":"AGPL-3.0-only"},"pkg/contracts/src/RegistryFactory.sol":{"keccak256":"0x888b7f5eb1079f90ccfa0b41d8a970bffd8d4d469f9b31917a58279b358dbda5","urls":["bzz-raw://af25fd783de00adf01d1c7caa572801fed0d474306a43b862535b08e65ec10c6","dweb:/ipfs/Qmeb2nEaMQLV86y1CYAAV2c6BYpBDTbpLuC1SigeNjdqLo"],"license":"AGPL-3.0-only"},"pkg/contracts/src/interfaces/FAllo.sol":{"keccak256":"0x32f38cb4400a07a99ae68a9beb91e5649886487172fd50561da6763464efc437","urls":["bzz-raw://cb4f0cee2f3fbede7be5e8e1d7ee8034086359cd07b9dab49c4a991388e5c458","dweb:/ipfs/QmS26kA8cZ9shWwxcbF17Kes8L7Jgw85EQVydDmwb34mjM"],"license":"AGPL-3.0-only"},"pkg/contracts/src/interfaces/ISafe.sol":{"keccak256":"0x878a210809bb684c42157a10f3f90350a67d0a4863f130499942b06f0f2c9143","urls":["bzz-raw://fa2d71bd427c3415e98a2ee15ff673f3cc61c17f14d7087c5eedc83b55f6b0ef","dweb:/ipfs/QmesVSmJQQzi6ys1cvhQFCJyDXchb736mT5bXks4Yp6Cbj"],"license":"LGPL-3.0-only"}},"version":1},"storageLayout":{"storage":[{"astId":53029,"contract":"pkg/contracts/src/CVStrategyV0_0.sol:CVStrategyV0_0","label":"_initialized","offset":0,"slot":"0","type":"t_uint8"},{"astId":53032,"contract":"pkg/contracts/src/CVStrategyV0_0.sol:CVStrategyV0_0","label":"_initializing","offset":1,"slot":"0","type":"t_bool"},{"astId":53734,"contract":"pkg/contracts/src/CVStrategyV0_0.sol:CVStrategyV0_0","label":"__gap","offset":0,"slot":"1","type":"t_array(t_uint256)50_storage"},{"astId":52821,"contract":"pkg/contracts/src/CVStrategyV0_0.sol:CVStrategyV0_0","label":"_owner","offset":0,"slot":"51","type":"t_address"},{"astId":52941,"contract":"pkg/contracts/src/CVStrategyV0_0.sol:CVStrategyV0_0","label":"__gap","offset":0,"slot":"52","type":"t_array(t_uint256)49_storage"},{"astId":74084,"contract":"pkg/contracts/src/CVStrategyV0_0.sol:CVStrategyV0_0","label":"allo","offset":0,"slot":"101","type":"t_contract(IAllo)2610"},{"astId":74086,"contract":"pkg/contracts/src/CVStrategyV0_0.sol:CVStrategyV0_0","label":"strategyId","offset":0,"slot":"102","type":"t_bytes32"},{"astId":74088,"contract":"pkg/contracts/src/CVStrategyV0_0.sol:CVStrategyV0_0","label":"poolActive","offset":0,"slot":"103","type":"t_bool"},{"astId":74090,"contract":"pkg/contracts/src/CVStrategyV0_0.sol:CVStrategyV0_0","label":"poolId","offset":0,"slot":"104","type":"t_uint256"},{"astId":74092,"contract":"pkg/contracts/src/CVStrategyV0_0.sol:CVStrategyV0_0","label":"poolAmount","offset":0,"slot":"105","type":"t_uint256"},{"astId":77933,"contract":"pkg/contracts/src/CVStrategyV0_0.sol:CVStrategyV0_0","label":"decay","offset":0,"slot":"106","type":"t_uint256"},{"astId":77935,"contract":"pkg/contracts/src/CVStrategyV0_0.sol:CVStrategyV0_0","label":"maxRatio","offset":0,"slot":"107","type":"t_uint256"},{"astId":77937,"contract":"pkg/contracts/src/CVStrategyV0_0.sol:CVStrategyV0_0","label":"weight","offset":0,"slot":"108","type":"t_uint256"},{"astId":77940,"contract":"pkg/contracts/src/CVStrategyV0_0.sol:CVStrategyV0_0","label":"proposalCounter","offset":0,"slot":"109","type":"t_uint256"},{"astId":77942,"contract":"pkg/contracts/src/CVStrategyV0_0.sol:CVStrategyV0_0","label":"totalStaked","offset":0,"slot":"110","type":"t_uint256"},{"astId":77944,"contract":"pkg/contracts/src/CVStrategyV0_0.sol:CVStrategyV0_0","label":"totalPointsActivated","offset":0,"slot":"111","type":"t_uint256"},{"astId":77947,"contract":"pkg/contracts/src/CVStrategyV0_0.sol:CVStrategyV0_0","label":"_minThresholdPoints","offset":0,"slot":"112","type":"t_uint256"},{"astId":77949,"contract":"pkg/contracts/src/CVStrategyV0_0.sol:CVStrategyV0_0","label":"surpressStateMutabilityWarning","offset":0,"slot":"113","type":"t_uint256"},{"astId":77952,"contract":"pkg/contracts/src/CVStrategyV0_0.sol:CVStrategyV0_0","label":"proposalType","offset":0,"slot":"114","type":"t_enum(ProposalType)77671"},{"astId":77955,"contract":"pkg/contracts/src/CVStrategyV0_0.sol:CVStrategyV0_0","label":"pointSystem","offset":1,"slot":"114","type":"t_enum(PointSystem)77676"},{"astId":77958,"contract":"pkg/contracts/src/CVStrategyV0_0.sol:CVStrategyV0_0","label":"pointConfig","offset":0,"slot":"115","type":"t_struct(PointSystemConfig)77729_storage"},{"astId":77961,"contract":"pkg/contracts/src/CVStrategyV0_0.sol:CVStrategyV0_0","label":"registryCommunity","offset":0,"slot":"116","type":"t_contract(RegistryCommunityV0_0)85047"},{"astId":77964,"contract":"pkg/contracts/src/CVStrategyV0_0.sol:CVStrategyV0_0","label":"sybilScorer","offset":0,"slot":"117","type":"t_contract(ISybilScorer)80667"},{"astId":77969,"contract":"pkg/contracts/src/CVStrategyV0_0.sol:CVStrategyV0_0","label":"proposals","offset":0,"slot":"118","type":"t_mapping(t_uint256,t_struct(Proposal)77721_storage)"},{"astId":77973,"contract":"pkg/contracts/src/CVStrategyV0_0.sol:CVStrategyV0_0","label":"totalVoterStakePct","offset":0,"slot":"119","type":"t_mapping(t_address,t_uint256)"},{"astId":77978,"contract":"pkg/contracts/src/CVStrategyV0_0.sol:CVStrategyV0_0","label":"voterStakedProposals","offset":0,"slot":"120","type":"t_mapping(t_address,t_array(t_uint256)dyn_storage)"},{"astId":80577,"contract":"pkg/contracts/src/CVStrategyV0_0.sol:CVStrategyV0_0","label":"__gap","offset":0,"slot":"121","type":"t_array(t_uint256)50_storage"}],"types":{"t_address":{"encoding":"inplace","label":"address","numberOfBytes":"20"},"t_array(t_uint256)49_storage":{"encoding":"inplace","label":"uint256[49]","numberOfBytes":"1568","base":"t_uint256"},"t_array(t_uint256)50_storage":{"encoding":"inplace","label":"uint256[50]","numberOfBytes":"1600","base":"t_uint256"},"t_array(t_uint256)dyn_storage":{"encoding":"dynamic_array","label":"uint256[]","numberOfBytes":"32","base":"t_uint256"},"t_bool":{"encoding":"inplace","label":"bool","numberOfBytes":"1"},"t_bytes32":{"encoding":"inplace","label":"bytes32","numberOfBytes":"32"},"t_contract(IAllo)2610":{"encoding":"inplace","label":"contract IAllo","numberOfBytes":"20"},"t_contract(ISybilScorer)80667":{"encoding":"inplace","label":"contract ISybilScorer","numberOfBytes":"20"},"t_contract(RegistryCommunityV0_0)85047":{"encoding":"inplace","label":"contract RegistryCommunityV0_0","numberOfBytes":"20"},"t_enum(PointSystem)77676":{"encoding":"inplace","label":"enum StrategyStruct.PointSystem","numberOfBytes":"1"},"t_enum(ProposalStatus)77694":{"encoding":"inplace","label":"enum StrategyStruct.ProposalStatus","numberOfBytes":"1"},"t_enum(ProposalType)77671":{"encoding":"inplace","label":"enum StrategyStruct.ProposalType","numberOfBytes":"1"},"t_mapping(t_address,t_array(t_uint256)dyn_storage)":{"encoding":"mapping","key":"t_address","label":"mapping(address => uint256[])","numberOfBytes":"32","value":"t_array(t_uint256)dyn_storage"},"t_mapping(t_address,t_uint256)":{"encoding":"mapping","key":"t_address","label":"mapping(address => uint256)","numberOfBytes":"32","value":"t_uint256"},"t_mapping(t_uint256,t_struct(Proposal)77721_storage)":{"encoding":"mapping","key":"t_uint256","label":"mapping(uint256 => struct StrategyStruct.Proposal)","numberOfBytes":"32","value":"t_struct(Proposal)77721_storage"},"t_string_storage":{"encoding":"bytes","label":"string","numberOfBytes":"32"},"t_struct(Metadata)3098_storage":{"encoding":"inplace","label":"struct Metadata","numberOfBytes":"64","members":[{"astId":3094,"contract":"pkg/contracts/src/CVStrategyV0_0.sol:CVStrategyV0_0","label":"protocol","offset":0,"slot":"0","type":"t_uint256"},{"astId":3097,"contract":"pkg/contracts/src/CVStrategyV0_0.sol:CVStrategyV0_0","label":"pointer","offset":0,"slot":"1","type":"t_string_storage"}]},"t_struct(PointSystemConfig)77729_storage":{"encoding":"inplace","label":"struct StrategyStruct.PointSystemConfig","numberOfBytes":"32","members":[{"astId":77728,"contract":"pkg/contracts/src/CVStrategyV0_0.sol:CVStrategyV0_0","label":"maxAmount","offset":0,"slot":"0","type":"t_uint256"}]},"t_struct(Proposal)77721_storage":{"encoding":"inplace","label":"struct StrategyStruct.Proposal","numberOfBytes":"384","members":[{"astId":77696,"contract":"pkg/contracts/src/CVStrategyV0_0.sol:CVStrategyV0_0","label":"proposalId","offset":0,"slot":"0","type":"t_uint256"},{"astId":77698,"contract":"pkg/contracts/src/CVStrategyV0_0.sol:CVStrategyV0_0","label":"requestedAmount","offset":0,"slot":"1","type":"t_uint256"},{"astId":77700,"contract":"pkg/contracts/src/CVStrategyV0_0.sol:CVStrategyV0_0","label":"stakedAmount","offset":0,"slot":"2","type":"t_uint256"},{"astId":77702,"contract":"pkg/contracts/src/CVStrategyV0_0.sol:CVStrategyV0_0","label":"convictionLast","offset":0,"slot":"3","type":"t_uint256"},{"astId":77704,"contract":"pkg/contracts/src/CVStrategyV0_0.sol:CVStrategyV0_0","label":"beneficiary","offset":0,"slot":"4","type":"t_address"},{"astId":77706,"contract":"pkg/contracts/src/CVStrategyV0_0.sol:CVStrategyV0_0","label":"submitter","offset":0,"slot":"5","type":"t_address"},{"astId":77708,"contract":"pkg/contracts/src/CVStrategyV0_0.sol:CVStrategyV0_0","label":"requestedToken","offset":0,"slot":"6","type":"t_address"},{"astId":77710,"contract":"pkg/contracts/src/CVStrategyV0_0.sol:CVStrategyV0_0","label":"blockLast","offset":0,"slot":"7","type":"t_uint256"},{"astId":77713,"contract":"pkg/contracts/src/CVStrategyV0_0.sol:CVStrategyV0_0","label":"proposalStatus","offset":0,"slot":"8","type":"t_enum(ProposalStatus)77694"},{"astId":77717,"contract":"pkg/contracts/src/CVStrategyV0_0.sol:CVStrategyV0_0","label":"voterStakedPoints","offset":0,"slot":"9","type":"t_mapping(t_address,t_uint256)"},{"astId":77720,"contract":"pkg/contracts/src/CVStrategyV0_0.sol:CVStrategyV0_0","label":"metadata","offset":0,"slot":"10","type":"t_struct(Metadata)3098_storage"}]},"t_uint256":{"encoding":"inplace","label":"uint256","numberOfBytes":"32"},"t_uint8":{"encoding":"inplace","label":"uint8","numberOfBytes":"1"}}},"ast":{"absolutePath":"pkg/contracts/src/CVStrategyV0_0.sol","id":80579,"exportedSymbols":{"BaseStrategy":[3923],"BaseStrategyUpgradeable":[74672],"CVStrategyV0_0":[80578],"ERC165":[58266],"ERC20":[56991],"IAllo":[2610],"IERC165":[58472],"IPointStrategy":[77667],"ISybilScorer":[80667],"Math":[59338],"Metadata":[3098],"OwnableUpgradeable":[52942],"PassportData":[80585],"RegistryCommunityV0_0":[85047],"StrategyStruct":[77752],"UUPSUpgradeable":[56213],"console":[29549]},"nodeType":"SourceUnit","src":"42:41538:130","nodes":[{"id":77613,"nodeType":"PragmaDirective","src":"42:24:130","nodes":[],"literals":["solidity","^","0.8",".19"]},{"id":77616,"nodeType":"ImportDirective","src":"68:82:130","nodes":[],"absolutePath":"lib/allo-v2/contracts/strategies/BaseStrategy.sol","file":"allo-v2-contracts/strategies/BaseStrategy.sol","nameLocation":"-1:-1:-1","scope":80579,"sourceUnit":3924,"symbolAliases":[{"foreign":{"id":77614,"name":"BaseStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3923,"src":"76:12:130","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":77615,"name":"IAllo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2610,"src":"90:5:130","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":77619,"nodeType":"ImportDirective","src":"152:76:130","nodes":[],"absolutePath":"pkg/contracts/src/RegistryCommunityV0_0.sol","file":"./RegistryCommunityV0_0.sol","nameLocation":"-1:-1:-1","scope":80579,"sourceUnit":85048,"symbolAliases":[{"foreign":{"id":77617,"name":"RegistryCommunityV0_0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85047,"src":"160:21:130","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":77618,"name":"Metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3098,"src":"183:8:130","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":77622,"nodeType":"ImportDirective","src":"229:87:130","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol","file":"@openzeppelin/contracts/utils/introspection/ERC165.sol","nameLocation":"-1:-1:-1","scope":80579,"sourceUnit":58267,"symbolAliases":[{"foreign":{"id":77620,"name":"ERC165","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58266,"src":"237:6:130","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":77621,"name":"IERC165","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58472,"src":"245:7:130","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":77624,"nodeType":"ImportDirective","src":"317:68:130","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol","file":"@openzeppelin/contracts/token/ERC20/ERC20.sol","nameLocation":"-1:-1:-1","scope":80579,"sourceUnit":56992,"symbolAliases":[{"foreign":{"id":77623,"name":"ERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56991,"src":"325:5:130","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":77626,"nodeType":"ImportDirective","src":"387:46:130","nodes":[],"absolutePath":"lib/forge-std/src/console.sol","file":"forge-std/console.sol","nameLocation":"-1:-1:-1","scope":80579,"sourceUnit":29550,"symbolAliases":[{"foreign":{"id":77625,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29549,"src":"395:7:130","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":77628,"nodeType":"ImportDirective","src":"435:65:130","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/utils/math/Math.sol","file":"@openzeppelin/contracts/utils/math/Math.sol","nameLocation":"-1:-1:-1","scope":80579,"sourceUnit":59339,"symbolAliases":[{"foreign":{"id":77627,"name":"Math","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59338,"src":"443:4:130","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":77631,"nodeType":"ImportDirective","src":"501:62:130","nodes":[],"absolutePath":"pkg/contracts/src/ISybilScorer.sol","file":"./ISybilScorer.sol","nameLocation":"-1:-1:-1","scope":80579,"sourceUnit":80668,"symbolAliases":[{"foreign":{"id":77629,"name":"ISybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80667,"src":"509:12:130","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":77630,"name":"PassportData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80585,"src":"523:12:130","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":77633,"nodeType":"ImportDirective","src":"565:88:130","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol","file":"@openzeppelin/contracts/proxy/utils/UUPSUpgradeable.sol","nameLocation":"-1:-1:-1","scope":80579,"sourceUnit":56214,"symbolAliases":[{"foreign":{"id":77632,"name":"UUPSUpgradeable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56213,"src":"573:15:130","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":77635,"nodeType":"ImportDirective","src":"654:110:130","nodes":[],"absolutePath":"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol","file":"openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol","nameLocation":"-1:-1:-1","scope":80579,"sourceUnit":52943,"symbolAliases":[{"foreign":{"id":77634,"name":"OwnableUpgradeable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52942,"src":"662:18:130","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":77637,"nodeType":"ImportDirective","src":"765:70:130","nodes":[],"absolutePath":"pkg/contracts/src/BaseStrategyUpgradeable.sol","file":"./BaseStrategyUpgradeable.sol","nameLocation":"-1:-1:-1","scope":80579,"sourceUnit":74673,"symbolAliases":[{"foreign":{"id":77636,"name":"BaseStrategyUpgradeable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74672,"src":"773:23:130","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":77667,"nodeType":"ContractDefinition","src":"837:355:130","nodes":[{"id":77642,"nodeType":"FunctionDefinition","src":"868:52:130","nodes":[],"functionSelector":"6453d9c4","implemented":false,"kind":"function","modifiers":[],"name":"deactivatePoints","nameLocation":"877:16:130","parameters":{"id":77640,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77639,"mutability":"mutable","name":"_member","nameLocation":"902:7:130","nodeType":"VariableDeclaration","scope":77642,"src":"894:15:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":77638,"name":"address","nodeType":"ElementaryTypeName","src":"894:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"893:17:130"},"returnParameters":{"id":77641,"nodeType":"ParameterList","parameters":[],"src":"919:0:130"},"scope":77667,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":77651,"nodeType":"FunctionDefinition","src":"925:91:130","nodes":[],"functionSelector":"782aadff","implemented":false,"kind":"function","modifiers":[],"name":"increasePower","nameLocation":"934:13:130","parameters":{"id":77647,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77644,"mutability":"mutable","name":"_member","nameLocation":"956:7:130","nodeType":"VariableDeclaration","scope":77651,"src":"948:15:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":77643,"name":"address","nodeType":"ElementaryTypeName","src":"948:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":77646,"mutability":"mutable","name":"_amountToStake","nameLocation":"973:14:130","nodeType":"VariableDeclaration","scope":77651,"src":"965:22:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77645,"name":"uint256","nodeType":"ElementaryTypeName","src":"965:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"947:41:130"},"returnParameters":{"id":77650,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77649,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":77651,"src":"1007:7:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77648,"name":"uint256","nodeType":"ElementaryTypeName","src":"1007:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1006:9:130"},"scope":77667,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":77660,"nodeType":"FunctionDefinition","src":"1021:92:130","nodes":[],"functionSelector":"2ed04b2b","implemented":false,"kind":"function","modifiers":[],"name":"decreasePower","nameLocation":"1030:13:130","parameters":{"id":77656,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77653,"mutability":"mutable","name":"_member","nameLocation":"1052:7:130","nodeType":"VariableDeclaration","scope":77660,"src":"1044:15:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":77652,"name":"address","nodeType":"ElementaryTypeName","src":"1044:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":77655,"mutability":"mutable","name":"_amountToUntake","nameLocation":"1069:15:130","nodeType":"VariableDeclaration","scope":77660,"src":"1061:23:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77654,"name":"uint256","nodeType":"ElementaryTypeName","src":"1061:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1043:42:130"},"returnParameters":{"id":77659,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77658,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":77660,"src":"1104:7:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77657,"name":"uint256","nodeType":"ElementaryTypeName","src":"1104:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1103:9:130"},"scope":77667,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":77666,"nodeType":"FunctionDefinition","src":"1118:72:130","nodes":[],"functionSelector":"c3292171","implemented":false,"kind":"function","modifiers":[],"name":"getPointSystem","nameLocation":"1127:14:130","parameters":{"id":77661,"nodeType":"ParameterList","parameters":[],"src":"1141:2:130"},"returnParameters":{"id":77665,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77664,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":77666,"src":"1162:26:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$77676","typeString":"enum StrategyStruct.PointSystem"},"typeName":{"id":77663,"nodeType":"UserDefinedTypeName","pathNode":{"id":77662,"name":"StrategyStruct.PointSystem","nameLocations":["1162:14:130","1177:11:130"],"nodeType":"IdentifierPath","referencedDeclaration":77676,"src":"1162:26:130"},"referencedDeclaration":77676,"src":"1162:26:130","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$77676","typeString":"enum StrategyStruct.PointSystem"}},"visibility":"internal"}],"src":"1161:28:130"},"scope":77667,"stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"IPointStrategy","contractDependencies":[],"contractKind":"interface","fullyImplemented":false,"linearizedBaseContracts":[77667],"name":"IPointStrategy","nameLocation":"847:14:130","scope":80579,"usedErrors":[]},{"id":77752,"nodeType":"ContractDefinition","src":"1194:1871:130","nodes":[{"id":77671,"nodeType":"EnumDefinition","src":"1223:79:130","nodes":[],"canonicalName":"StrategyStruct.ProposalType","members":[{"id":77668,"name":"Signaling","nameLocation":"1251:9:130","nodeType":"EnumValue","src":"1251:9:130"},{"id":77669,"name":"Funding","nameLocation":"1270:7:130","nodeType":"EnumValue","src":"1270:7:130"},{"id":77670,"name":"Streaming","nameLocation":"1287:9:130","nodeType":"EnumValue","src":"1287:9:130"}],"name":"ProposalType","nameLocation":"1228:12:130"},{"id":77676,"nodeType":"EnumDefinition","src":"1308:92:130","nodes":[],"canonicalName":"StrategyStruct.PointSystem","members":[{"id":77672,"name":"Fixed","nameLocation":"1335:5:130","nodeType":"EnumValue","src":"1335:5:130"},{"id":77673,"name":"Capped","nameLocation":"1350:6:130","nodeType":"EnumValue","src":"1350:6:130"},{"id":77674,"name":"Unlimited","nameLocation":"1366:9:130","nodeType":"EnumValue","src":"1366:9:130"},{"id":77675,"name":"Quadratic","nameLocation":"1385:9:130","nodeType":"EnumValue","src":"1385:9:130"}],"name":"PointSystem","nameLocation":"1313:11:130"},{"id":77688,"nodeType":"StructDefinition","src":"1406:243:130","nodes":[],"canonicalName":"StrategyStruct.CreateProposal","members":[{"constant":false,"id":77678,"mutability":"mutable","name":"poolId","nameLocation":"1477:6:130","nodeType":"VariableDeclaration","scope":77688,"src":"1469:14:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77677,"name":"uint256","nodeType":"ElementaryTypeName","src":"1469:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":77680,"mutability":"mutable","name":"beneficiary","nameLocation":"1501:11:130","nodeType":"VariableDeclaration","scope":77688,"src":"1493:19:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":77679,"name":"address","nodeType":"ElementaryTypeName","src":"1493:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":77682,"mutability":"mutable","name":"amountRequested","nameLocation":"1568:15:130","nodeType":"VariableDeclaration","scope":77688,"src":"1560:23:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77681,"name":"uint256","nodeType":"ElementaryTypeName","src":"1560:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":77684,"mutability":"mutable","name":"requestedToken","nameLocation":"1601:14:130","nodeType":"VariableDeclaration","scope":77688,"src":"1593:22:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":77683,"name":"address","nodeType":"ElementaryTypeName","src":"1593:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":77687,"mutability":"mutable","name":"metadata","nameLocation":"1634:8:130","nodeType":"VariableDeclaration","scope":77688,"src":"1625:17:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"},"typeName":{"id":77686,"nodeType":"UserDefinedTypeName","pathNode":{"id":77685,"name":"Metadata","nameLocations":["1625:8:130"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"1625:8:130"},"referencedDeclaration":3098,"src":"1625:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"}],"name":"CreateProposal","nameLocation":"1413:14:130","scope":77752,"visibility":"public"},{"id":77694,"nodeType":"EnumDefinition","src":"1655:289:130","nodes":[],"canonicalName":"StrategyStruct.ProposalStatus","members":[{"id":77689,"name":"Inactive","nameLocation":"1685:8:130","nodeType":"EnumValue","src":"1685:8:130"},{"id":77690,"name":"Active","nameLocation":"1715:6:130","nodeType":"EnumValue","src":"1715:6:130"},{"id":77691,"name":"Paused","nameLocation":"1778:6:130","nodeType":"EnumValue","src":"1778:6:130"},{"id":77692,"name":"Cancelled","nameLocation":"1843:9:130","nodeType":"EnumValue","src":"1843:9:130"},{"id":77693,"name":"Executed","nameLocation":"1896:8:130","nodeType":"EnumValue","src":"1896:8:130"}],"name":"ProposalStatus","nameLocation":"1660:14:130"},{"id":77721,"nodeType":"StructDefinition","src":"1950:405:130","nodes":[],"canonicalName":"StrategyStruct.Proposal","members":[{"constant":false,"id":77696,"mutability":"mutable","name":"proposalId","nameLocation":"1984:10:130","nodeType":"VariableDeclaration","scope":77721,"src":"1976:18:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77695,"name":"uint256","nodeType":"ElementaryTypeName","src":"1976:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":77698,"mutability":"mutable","name":"requestedAmount","nameLocation":"2012:15:130","nodeType":"VariableDeclaration","scope":77721,"src":"2004:23:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77697,"name":"uint256","nodeType":"ElementaryTypeName","src":"2004:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":77700,"mutability":"mutable","name":"stakedAmount","nameLocation":"2045:12:130","nodeType":"VariableDeclaration","scope":77721,"src":"2037:20:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77699,"name":"uint256","nodeType":"ElementaryTypeName","src":"2037:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":77702,"mutability":"mutable","name":"convictionLast","nameLocation":"2075:14:130","nodeType":"VariableDeclaration","scope":77721,"src":"2067:22:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77701,"name":"uint256","nodeType":"ElementaryTypeName","src":"2067:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":77704,"mutability":"mutable","name":"beneficiary","nameLocation":"2107:11:130","nodeType":"VariableDeclaration","scope":77721,"src":"2099:19:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":77703,"name":"address","nodeType":"ElementaryTypeName","src":"2099:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":77706,"mutability":"mutable","name":"submitter","nameLocation":"2136:9:130","nodeType":"VariableDeclaration","scope":77721,"src":"2128:17:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":77705,"name":"address","nodeType":"ElementaryTypeName","src":"2128:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":77708,"mutability":"mutable","name":"requestedToken","nameLocation":"2163:14:130","nodeType":"VariableDeclaration","scope":77721,"src":"2155:22:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":77707,"name":"address","nodeType":"ElementaryTypeName","src":"2155:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":77710,"mutability":"mutable","name":"blockLast","nameLocation":"2195:9:130","nodeType":"VariableDeclaration","scope":77721,"src":"2187:17:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77709,"name":"uint256","nodeType":"ElementaryTypeName","src":"2187:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":77713,"mutability":"mutable","name":"proposalStatus","nameLocation":"2229:14:130","nodeType":"VariableDeclaration","scope":77721,"src":"2214:29:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$77694","typeString":"enum StrategyStruct.ProposalStatus"},"typeName":{"id":77712,"nodeType":"UserDefinedTypeName","pathNode":{"id":77711,"name":"ProposalStatus","nameLocations":["2214:14:130"],"nodeType":"IdentifierPath","referencedDeclaration":77694,"src":"2214:14:130"},"referencedDeclaration":77694,"src":"2214:14:130","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$77694","typeString":"enum StrategyStruct.ProposalStatus"}},"visibility":"internal"},{"constant":false,"id":77717,"mutability":"mutable","name":"voterStakedPoints","nameLocation":"2281:17:130","nodeType":"VariableDeclaration","scope":77721,"src":"2253:45:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"typeName":{"id":77716,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":77714,"name":"address","nodeType":"ElementaryTypeName","src":"2261:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"2253:27:130","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":77715,"name":"uint256","nodeType":"ElementaryTypeName","src":"2272:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"internal"},{"constant":false,"id":77720,"mutability":"mutable","name":"metadata","nameLocation":"2340:8:130","nodeType":"VariableDeclaration","scope":77721,"src":"2331:17:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"},"typeName":{"id":77719,"nodeType":"UserDefinedTypeName","pathNode":{"id":77718,"name":"Metadata","nameLocations":["2331:8:130"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"2331:8:130"},"referencedDeclaration":3098,"src":"2331:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"}],"name":"Proposal","nameLocation":"1957:8:130","scope":77752,"visibility":"public"},{"id":77726,"nodeType":"StructDefinition","src":"2361:126:130","nodes":[],"canonicalName":"StrategyStruct.ProposalSupport","members":[{"constant":false,"id":77723,"mutability":"mutable","name":"proposalId","nameLocation":"2402:10:130","nodeType":"VariableDeclaration","scope":77726,"src":"2394:18:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77722,"name":"uint256","nodeType":"ElementaryTypeName","src":"2394:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":77725,"mutability":"mutable","name":"deltaSupport","nameLocation":"2429:12:130","nodeType":"VariableDeclaration","scope":77726,"src":"2422:19:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":77724,"name":"int256","nodeType":"ElementaryTypeName","src":"2422:6:130","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"name":"ProposalSupport","nameLocation":"2368:15:130","scope":77752,"visibility":"public"},{"id":77729,"nodeType":"StructDefinition","src":"2493:89:130","nodes":[],"canonicalName":"StrategyStruct.PointSystemConfig","members":[{"constant":false,"id":77728,"mutability":"mutable","name":"maxAmount","nameLocation":"2566:9:130","nodeType":"VariableDeclaration","scope":77729,"src":"2558:17:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77727,"name":"uint256","nodeType":"ElementaryTypeName","src":"2558:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"PointSystemConfig","nameLocation":"2500:17:130","scope":77752,"visibility":"public"},{"id":77751,"nodeType":"StructDefinition","src":"2588:475:130","nodes":[],"canonicalName":"StrategyStruct.InitializeParams","members":[{"constant":false,"id":77731,"mutability":"mutable","name":"registryCommunity","nameLocation":"2630:17:130","nodeType":"VariableDeclaration","scope":77751,"src":"2622:25:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":77730,"name":"address","nodeType":"ElementaryTypeName","src":"2622:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":77733,"mutability":"mutable","name":"decay","nameLocation":"2694:5:130","nodeType":"VariableDeclaration","scope":77751,"src":"2686:13:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77732,"name":"uint256","nodeType":"ElementaryTypeName","src":"2686:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":77735,"mutability":"mutable","name":"maxRatio","nameLocation":"2764:8:130","nodeType":"VariableDeclaration","scope":77751,"src":"2756:16:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77734,"name":"uint256","nodeType":"ElementaryTypeName","src":"2756:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":77737,"mutability":"mutable","name":"weight","nameLocation":"2818:6:130","nodeType":"VariableDeclaration","scope":77751,"src":"2810:14:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77736,"name":"uint256","nodeType":"ElementaryTypeName","src":"2810:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":77739,"mutability":"mutable","name":"minThresholdPoints","nameLocation":"2842:18:130","nodeType":"VariableDeclaration","scope":77751,"src":"2834:26:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77738,"name":"uint256","nodeType":"ElementaryTypeName","src":"2834:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":77742,"mutability":"mutable","name":"proposalType","nameLocation":"2908:12:130","nodeType":"VariableDeclaration","scope":77751,"src":"2895:25:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$77671","typeString":"enum StrategyStruct.ProposalType"},"typeName":{"id":77741,"nodeType":"UserDefinedTypeName","pathNode":{"id":77740,"name":"ProposalType","nameLocations":["2895:12:130"],"nodeType":"IdentifierPath","referencedDeclaration":77671,"src":"2895:12:130"},"referencedDeclaration":77671,"src":"2895:12:130","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$77671","typeString":"enum StrategyStruct.ProposalType"}},"visibility":"internal"},{"constant":false,"id":77745,"mutability":"mutable","name":"pointSystem","nameLocation":"2977:11:130","nodeType":"VariableDeclaration","scope":77751,"src":"2965:23:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$77676","typeString":"enum StrategyStruct.PointSystem"},"typeName":{"id":77744,"nodeType":"UserDefinedTypeName","pathNode":{"id":77743,"name":"PointSystem","nameLocations":["2965:11:130"],"nodeType":"IdentifierPath","referencedDeclaration":77676,"src":"2965:11:130"},"referencedDeclaration":77676,"src":"2965:11:130","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$77676","typeString":"enum StrategyStruct.PointSystem"}},"visibility":"internal"},{"constant":false,"id":77748,"mutability":"mutable","name":"pointConfig","nameLocation":"3016:11:130","nodeType":"VariableDeclaration","scope":77751,"src":"2998:29:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$77729_storage_ptr","typeString":"struct StrategyStruct.PointSystemConfig"},"typeName":{"id":77747,"nodeType":"UserDefinedTypeName","pathNode":{"id":77746,"name":"PointSystemConfig","nameLocations":["2998:17:130"],"nodeType":"IdentifierPath","referencedDeclaration":77729,"src":"2998:17:130"},"referencedDeclaration":77729,"src":"2998:17:130","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$77729_storage_ptr","typeString":"struct StrategyStruct.PointSystemConfig"}},"visibility":"internal"},{"constant":false,"id":77750,"mutability":"mutable","name":"sybilScorer","nameLocation":"3045:11:130","nodeType":"VariableDeclaration","scope":77751,"src":"3037:19:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":77749,"name":"address","nodeType":"ElementaryTypeName","src":"3037:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"name":"InitializeParams","nameLocation":"2595:16:130","scope":77752,"visibility":"public"}],"abstract":false,"baseContracts":[],"canonicalName":"StrategyStruct","contractDependencies":[],"contractKind":"library","fullyImplemented":true,"linearizedBaseContracts":[77752],"name":"StrategyStruct","nameLocation":"1202:14:130","scope":80579,"usedErrors":[]},{"id":80578,"nodeType":"ContractDefinition","src":"3067:38512:130","nodes":[{"id":77763,"nodeType":"UsingForDirective","src":"3168:23:130","nodes":[],"global":false,"libraryName":{"id":77761,"name":"Math","nameLocations":["3174:4:130"],"nodeType":"IdentifierPath","referencedDeclaration":59338,"src":"3174:4:130"},"typeName":{"id":77762,"name":"uint256","nodeType":"ElementaryTypeName","src":"3183:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},{"id":77765,"nodeType":"ErrorDefinition","src":"3362:25:130","nodes":[],"errorSelector":"d1f28288","name":"UserCannotBeZero","nameLocation":"3368:16:130","parameters":{"id":77764,"nodeType":"ParameterList","parameters":[],"src":"3384:2:130"}},{"id":77767,"nodeType":"ErrorDefinition","src":"3406:26:130","nodes":[],"errorSelector":"6a5cfb6d","name":"UserNotInRegistry","nameLocation":"3412:17:130","parameters":{"id":77766,"nodeType":"ParameterList","parameters":[],"src":"3429:2:130"}},{"id":77769,"nodeType":"ErrorDefinition","src":"3450:23:130","nodes":[],"errorSelector":"5fccb67f","name":"UserIsInactive","nameLocation":"3456:14:130","parameters":{"id":77768,"nodeType":"ParameterList","parameters":[],"src":"3470:2:130"}},{"id":77771,"nodeType":"ErrorDefinition","src":"3492:20:130","nodes":[],"errorSelector":"ed4421ad","name":"PoolIsEmpty","nameLocation":"3498:11:130","parameters":{"id":77770,"nodeType":"ParameterList","parameters":[],"src":"3509:2:130"}},{"id":77773,"nodeType":"ErrorDefinition","src":"3531:23:130","nodes":[],"errorSelector":"d6234725","name":"NotImplemented","nameLocation":"3537:14:130","parameters":{"id":77772,"nodeType":"ParameterList","parameters":[],"src":"3551:2:130"}},{"id":77775,"nodeType":"ErrorDefinition","src":"3572:26:130","nodes":[],"errorSelector":"596a094c","name":"TokenCannotBeZero","nameLocation":"3578:17:130","parameters":{"id":77774,"nodeType":"ParameterList","parameters":[],"src":"3595:2:130"}},{"id":77777,"nodeType":"ErrorDefinition","src":"3616:24:130","nodes":[],"errorSelector":"a29c4986","name":"TokenNotAllowed","nameLocation":"3622:15:130","parameters":{"id":77776,"nodeType":"ParameterList","parameters":[],"src":"3637:2:130"}},{"id":77779,"nodeType":"ErrorDefinition","src":"3659:27:130","nodes":[],"errorSelector":"3bf5ca14","name":"AmountOverMaxRatio","nameLocation":"3665:18:130","parameters":{"id":77778,"nodeType":"ParameterList","parameters":[],"src":"3683:2:130"}},{"id":77781,"nodeType":"ErrorDefinition","src":"3705:27:130","nodes":[],"errorSelector":"4e791786","name":"PoolIdCannotBeZero","nameLocation":"3711:18:130","parameters":{"id":77780,"nodeType":"ParameterList","parameters":[],"src":"3729:2:130"}},{"id":77783,"nodeType":"ErrorDefinition","src":"3750:28:130","nodes":[],"errorSelector":"e622e040","name":"AddressCannotBeZero","nameLocation":"3756:19:130","parameters":{"id":77782,"nodeType":"ParameterList","parameters":[],"src":"3775:2:130"}},{"id":77785,"nodeType":"ErrorDefinition","src":"3796:29:130","nodes":[],"errorSelector":"5df4b1ef","name":"RegistryCannotBeZero","nameLocation":"3802:20:130","parameters":{"id":77784,"nodeType":"ParameterList","parameters":[],"src":"3822:2:130"}},{"id":77793,"nodeType":"ErrorDefinition","src":"3844:72:130","nodes":[],"errorSelector":"3bbc7142","name":"SupportUnderflow","nameLocation":"3850:16:130","parameters":{"id":77792,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77787,"mutability":"mutable","name":"_support","nameLocation":"3875:8:130","nodeType":"VariableDeclaration","scope":77793,"src":"3867:16:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77786,"name":"uint256","nodeType":"ElementaryTypeName","src":"3867:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":77789,"mutability":"mutable","name":"_delta","nameLocation":"3892:6:130","nodeType":"VariableDeclaration","scope":77793,"src":"3885:13:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":77788,"name":"int256","nodeType":"ElementaryTypeName","src":"3885:6:130","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":77791,"mutability":"mutable","name":"_result","nameLocation":"3907:7:130","nodeType":"VariableDeclaration","scope":77793,"src":"3900:14:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":77790,"name":"int256","nodeType":"ElementaryTypeName","src":"3900:6:130","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"3866:49:130"}},{"id":77795,"nodeType":"ErrorDefinition","src":"3935:25:130","nodes":[],"errorSelector":"8402b474","name":"MaxPointsReached","nameLocation":"3941:16:130","parameters":{"id":77794,"nodeType":"ParameterList","parameters":[],"src":"3957:2:130"}},{"id":77797,"nodeType":"ErrorDefinition","src":"3979:32:130","nodes":[],"errorSelector":"573c3e93","name":"CantIncreaseFixedSystem","nameLocation":"3985:23:130","parameters":{"id":77796,"nodeType":"ParameterList","parameters":[],"src":"4008:2:130"}},{"id":77803,"nodeType":"ErrorDefinition","src":"4030:77:130","nodes":[],"errorSelector":"d64182fe","name":"NotEnoughPointsToSupport","nameLocation":"4036:24:130","parameters":{"id":77802,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77799,"mutability":"mutable","name":"pointsSupport","nameLocation":"4069:13:130","nodeType":"VariableDeclaration","scope":77803,"src":"4061:21:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77798,"name":"uint256","nodeType":"ElementaryTypeName","src":"4061:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":77801,"mutability":"mutable","name":"pointsBalance","nameLocation":"4092:13:130","nodeType":"VariableDeclaration","scope":77803,"src":"4084:21:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77800,"name":"uint256","nodeType":"ElementaryTypeName","src":"4084:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4060:46:130"}},{"id":77805,"nodeType":"ErrorDefinition","src":"4127:28:130","nodes":[],"errorSelector":"c5f7c4c0","name":"ProposalDataIsEmpty","nameLocation":"4133:19:130","parameters":{"id":77804,"nodeType":"ParameterList","parameters":[],"src":"4152:2:130"}},{"id":77807,"nodeType":"ErrorDefinition","src":"4173:31:130","nodes":[],"errorSelector":"f881a10d","name":"ProposalIdCannotBeZero","nameLocation":"4179:22:130","parameters":{"id":77806,"nodeType":"ParameterList","parameters":[],"src":"4201:2:130"}},{"id":77811,"nodeType":"ErrorDefinition","src":"4222:45:130","nodes":[],"errorSelector":"44980d8f","name":"ProposalNotActive","nameLocation":"4228:17:130","parameters":{"id":77810,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77809,"mutability":"mutable","name":"_proposalId","nameLocation":"4254:11:130","nodeType":"VariableDeclaration","scope":77811,"src":"4246:19:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77808,"name":"uint256","nodeType":"ElementaryTypeName","src":"4246:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4245:21:130"}},{"id":77815,"nodeType":"ErrorDefinition","src":"4286:45:130","nodes":[],"errorSelector":"c1d17bef","name":"ProposalNotInList","nameLocation":"4292:17:130","parameters":{"id":77814,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77813,"mutability":"mutable","name":"_proposalId","nameLocation":"4318:11:130","nodeType":"VariableDeclaration","scope":77815,"src":"4310:19:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77812,"name":"uint256","nodeType":"ElementaryTypeName","src":"4310:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4309:21:130"}},{"id":77821,"nodeType":"ErrorDefinition","src":"4350:68:130","nodes":[],"errorSelector":"adebb154","name":"ProposalSupportDuplicated","nameLocation":"4356:25:130","parameters":{"id":77820,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77817,"mutability":"mutable","name":"_proposalId","nameLocation":"4390:11:130","nodeType":"VariableDeclaration","scope":77821,"src":"4382:19:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77816,"name":"uint256","nodeType":"ElementaryTypeName","src":"4382:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":77819,"mutability":"mutable","name":"index","nameLocation":"4411:5:130","nodeType":"VariableDeclaration","scope":77821,"src":"4403:13:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77818,"name":"uint256","nodeType":"ElementaryTypeName","src":"4403:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4381:36:130"}},{"id":77823,"nodeType":"ErrorDefinition","src":"4436:40:130","nodes":[],"errorSelector":"cce79308","name":"ConvictionUnderMinimumThreshold","nameLocation":"4442:31:130","parameters":{"id":77822,"nodeType":"ParameterList","parameters":[],"src":"4473:2:130"}},{"id":77825,"nodeType":"ErrorDefinition","src":"4495:29:130","nodes":[],"errorSelector":"af0916a2","name":"OnlyCommunityAllowed","nameLocation":"4501:20:130","parameters":{"id":77824,"nodeType":"ParameterList","parameters":[],"src":"4521:2:130"}},{"id":77833,"nodeType":"ErrorDefinition","src":"4543:94:130","nodes":[],"errorSelector":"5863b0b6","name":"PoolAmountNotEnough","nameLocation":"4549:19:130","parameters":{"id":77832,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77827,"mutability":"mutable","name":"_proposalId","nameLocation":"4577:11:130","nodeType":"VariableDeclaration","scope":77833,"src":"4569:19:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77826,"name":"uint256","nodeType":"ElementaryTypeName","src":"4569:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":77829,"mutability":"mutable","name":"_requestedAmount","nameLocation":"4598:16:130","nodeType":"VariableDeclaration","scope":77833,"src":"4590:24:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77828,"name":"uint256","nodeType":"ElementaryTypeName","src":"4590:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":77831,"mutability":"mutable","name":"_poolAmount","nameLocation":"4624:11:130","nodeType":"VariableDeclaration","scope":77833,"src":"4616:19:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77830,"name":"uint256","nodeType":"ElementaryTypeName","src":"4616:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4568:68:130"}},{"id":77835,"nodeType":"ErrorDefinition","src":"4655:24:130","nodes":[],"errorSelector":"e860ec7e","name":"OnlyCouncilSafe","nameLocation":"4661:15:130","parameters":{"id":77834,"nodeType":"ParameterList","parameters":[],"src":"4676:2:130"}},{"id":77837,"nodeType":"ErrorDefinition","src":"4684:32:130","nodes":[],"errorSelector":"5b96b588","name":"UserCannotExecuteAction","nameLocation":"4690:23:130","parameters":{"id":77836,"nodeType":"ParameterList","parameters":[],"src":"4713:2:130"}},{"id":77844,"nodeType":"EventDefinition","src":"4888:74:130","nodes":[],"anonymous":false,"eventSelector":"4ebdec05fb64815e553aeaf3976ef8112dd79760a459bee3ac7d1659ab2c4e04","name":"InitializedCV","nameLocation":"4894:13:130","parameters":{"id":77843,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77839,"indexed":false,"mutability":"mutable","name":"poolId","nameLocation":"4916:6:130","nodeType":"VariableDeclaration","scope":77844,"src":"4908:14:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77838,"name":"uint256","nodeType":"ElementaryTypeName","src":"4908:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":77842,"indexed":false,"mutability":"mutable","name":"data","nameLocation":"4956:4:130","nodeType":"VariableDeclaration","scope":77844,"src":"4924:36:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$77751_memory_ptr","typeString":"struct StrategyStruct.InitializeParams"},"typeName":{"id":77841,"nodeType":"UserDefinedTypeName","pathNode":{"id":77840,"name":"StrategyStruct.InitializeParams","nameLocations":["4924:14:130","4939:16:130"],"nodeType":"IdentifierPath","referencedDeclaration":77751,"src":"4924:31:130"},"referencedDeclaration":77751,"src":"4924:31:130","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$77751_storage_ptr","typeString":"struct StrategyStruct.InitializeParams"}},"visibility":"internal"}],"src":"4907:54:130"}},{"id":77852,"nodeType":"EventDefinition","src":"4967:75:130","nodes":[],"anonymous":false,"eventSelector":"a7932e9c92f31e1ed56b29d00bbe669a97484dc24de28dd9c8c0429df7f35847","name":"Distributed","nameLocation":"4973:11:130","parameters":{"id":77851,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77846,"indexed":false,"mutability":"mutable","name":"proposalId","nameLocation":"4993:10:130","nodeType":"VariableDeclaration","scope":77852,"src":"4985:18:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77845,"name":"uint256","nodeType":"ElementaryTypeName","src":"4985:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":77848,"indexed":false,"mutability":"mutable","name":"beneficiary","nameLocation":"5013:11:130","nodeType":"VariableDeclaration","scope":77852,"src":"5005:19:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":77847,"name":"address","nodeType":"ElementaryTypeName","src":"5005:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":77850,"indexed":false,"mutability":"mutable","name":"amount","nameLocation":"5034:6:130","nodeType":"VariableDeclaration","scope":77852,"src":"5026:14:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77849,"name":"uint256","nodeType":"ElementaryTypeName","src":"5026:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4984:57:130"}},{"id":77858,"nodeType":"EventDefinition","src":"5047:58:130","nodes":[],"anonymous":false,"eventSelector":"fcf3b1aa65a464cef2889608f99e8b8c0f680a4be6c2acb9d961c536a5a9294b","name":"ProposalCreated","nameLocation":"5053:15:130","parameters":{"id":77857,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77854,"indexed":false,"mutability":"mutable","name":"poolId","nameLocation":"5077:6:130","nodeType":"VariableDeclaration","scope":77858,"src":"5069:14:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77853,"name":"uint256","nodeType":"ElementaryTypeName","src":"5069:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":77856,"indexed":false,"mutability":"mutable","name":"proposalId","nameLocation":"5093:10:130","nodeType":"VariableDeclaration","scope":77858,"src":"5085:18:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77855,"name":"uint256","nodeType":"ElementaryTypeName","src":"5085:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5068:36:130"}},{"id":77862,"nodeType":"EventDefinition","src":"5110:42:130","nodes":[],"anonymous":false,"eventSelector":"46aeb5d8770fc4474bc2dfa118fd2595f7fb33ce2cbce6f4e5a3dabfe0f76339","name":"PoolAmountIncreased","nameLocation":"5116:19:130","parameters":{"id":77861,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77860,"indexed":false,"mutability":"mutable","name":"amount","nameLocation":"5144:6:130","nodeType":"VariableDeclaration","scope":77862,"src":"5136:14:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77859,"name":"uint256","nodeType":"ElementaryTypeName","src":"5136:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5135:16:130"}},{"id":77870,"nodeType":"EventDefinition","src":"5157:85:130","nodes":[],"anonymous":false,"eventSelector":"0b9150e1e54346ed3fa36b977cd5d65dca5a649c737c3174a26bddaadd47667a","name":"PowerIncreased","nameLocation":"5163:14:130","parameters":{"id":77869,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77864,"indexed":false,"mutability":"mutable","name":"member","nameLocation":"5186:6:130","nodeType":"VariableDeclaration","scope":77870,"src":"5178:14:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":77863,"name":"address","nodeType":"ElementaryTypeName","src":"5178:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":77866,"indexed":false,"mutability":"mutable","name":"tokensStaked","nameLocation":"5202:12:130","nodeType":"VariableDeclaration","scope":77870,"src":"5194:20:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77865,"name":"uint256","nodeType":"ElementaryTypeName","src":"5194:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":77868,"indexed":false,"mutability":"mutable","name":"pointsToIncrease","nameLocation":"5224:16:130","nodeType":"VariableDeclaration","scope":77870,"src":"5216:24:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77867,"name":"uint256","nodeType":"ElementaryTypeName","src":"5216:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5177:64:130"}},{"id":77878,"nodeType":"EventDefinition","src":"5247:87:130","nodes":[],"anonymous":false,"eventSelector":"70b752f3fadb6ac131c0ece847fcbb6994ec56ed6411595710fd9b29c6ac6cc1","name":"PowerDecreased","nameLocation":"5253:14:130","parameters":{"id":77877,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77872,"indexed":false,"mutability":"mutable","name":"member","nameLocation":"5276:6:130","nodeType":"VariableDeclaration","scope":77878,"src":"5268:14:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":77871,"name":"address","nodeType":"ElementaryTypeName","src":"5268:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":77874,"indexed":false,"mutability":"mutable","name":"tokensUnStaked","nameLocation":"5292:14:130","nodeType":"VariableDeclaration","scope":77878,"src":"5284:22:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77873,"name":"uint256","nodeType":"ElementaryTypeName","src":"5284:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":77876,"indexed":false,"mutability":"mutable","name":"pointsToDecrease","nameLocation":"5316:16:130","nodeType":"VariableDeclaration","scope":77878,"src":"5308:24:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77875,"name":"uint256","nodeType":"ElementaryTypeName","src":"5308:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5267:66:130"}},{"id":77890,"nodeType":"EventDefinition","src":"5339:134:130","nodes":[],"anonymous":false,"eventSelector":"0227f642ddcf2042ceaeafadb9d540f432072c00cd4862881667168dcc14710f","name":"SupportAdded","nameLocation":"5345:12:130","parameters":{"id":77889,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77880,"indexed":false,"mutability":"mutable","name":"from","nameLocation":"5375:4:130","nodeType":"VariableDeclaration","scope":77890,"src":"5367:12:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":77879,"name":"address","nodeType":"ElementaryTypeName","src":"5367:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":77882,"indexed":false,"mutability":"mutable","name":"proposalId","nameLocation":"5389:10:130","nodeType":"VariableDeclaration","scope":77890,"src":"5381:18:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77881,"name":"uint256","nodeType":"ElementaryTypeName","src":"5381:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":77884,"indexed":false,"mutability":"mutable","name":"amount","nameLocation":"5409:6:130","nodeType":"VariableDeclaration","scope":77890,"src":"5401:14:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77883,"name":"uint256","nodeType":"ElementaryTypeName","src":"5401:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":77886,"indexed":false,"mutability":"mutable","name":"totalStakedAmount","nameLocation":"5425:17:130","nodeType":"VariableDeclaration","scope":77890,"src":"5417:25:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77885,"name":"uint256","nodeType":"ElementaryTypeName","src":"5417:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":77888,"indexed":false,"mutability":"mutable","name":"convictionLast","nameLocation":"5452:14:130","nodeType":"VariableDeclaration","scope":77890,"src":"5444:22:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77887,"name":"uint256","nodeType":"ElementaryTypeName","src":"5444:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5357:115:130"}},{"id":77894,"nodeType":"EventDefinition","src":"5478:40:130","nodes":[],"anonymous":false,"eventSelector":"1468da654b37bb3631011c1917d02e0db437d519918858d40b38b5e980ca033b","name":"PointsDeactivated","nameLocation":"5484:17:130","parameters":{"id":77893,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77892,"indexed":false,"mutability":"mutable","name":"member","nameLocation":"5510:6:130","nodeType":"VariableDeclaration","scope":77894,"src":"5502:14:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":77891,"name":"address","nodeType":"ElementaryTypeName","src":"5502:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5501:16:130"}},{"id":77898,"nodeType":"EventDefinition","src":"5523:34:130","nodes":[],"anonymous":false,"eventSelector":"592dcd55d60d892e7fcb3ba105013312e99691cd59f91e15f83cb67cb5a505f2","name":"DecayUpdated","nameLocation":"5529:12:130","parameters":{"id":77897,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77896,"indexed":false,"mutability":"mutable","name":"decay","nameLocation":"5550:5:130","nodeType":"VariableDeclaration","scope":77898,"src":"5542:13:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77895,"name":"uint256","nodeType":"ElementaryTypeName","src":"5542:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5541:15:130"}},{"id":77902,"nodeType":"EventDefinition","src":"5562:40:130","nodes":[],"anonymous":false,"eventSelector":"08e39b387d1f739ce0d2553bb31822392e3f67c62c6c0a215120ab4a6841a8ab","name":"MaxRatioUpdated","nameLocation":"5568:15:130","parameters":{"id":77901,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77900,"indexed":false,"mutability":"mutable","name":"maxRatio","nameLocation":"5592:8:130","nodeType":"VariableDeclaration","scope":77902,"src":"5584:16:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77899,"name":"uint256","nodeType":"ElementaryTypeName","src":"5584:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5583:18:130"}},{"id":77906,"nodeType":"EventDefinition","src":"5607:36:130","nodes":[],"anonymous":false,"eventSelector":"30ee8206062f283e56a0af2b02138016bf7442ded26ad68a92a18a9dd246fb49","name":"WeightUpdated","nameLocation":"5613:13:130","parameters":{"id":77905,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77904,"indexed":false,"mutability":"mutable","name":"weight","nameLocation":"5635:6:130","nodeType":"VariableDeclaration","scope":77906,"src":"5627:14:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77903,"name":"uint256","nodeType":"ElementaryTypeName","src":"5627:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5626:16:130"}},{"id":77910,"nodeType":"EventDefinition","src":"5648:49:130","nodes":[],"anonymous":false,"eventSelector":"d6ceddf6d2a22f21c7c81675c518004eff43bc5c8a6fc32a0b748e69d58671cd","name":"RegistryUpdated","nameLocation":"5654:15:130","parameters":{"id":77909,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77908,"indexed":false,"mutability":"mutable","name":"registryCommunity","nameLocation":"5678:17:130","nodeType":"VariableDeclaration","scope":77910,"src":"5670:25:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":77907,"name":"address","nodeType":"ElementaryTypeName","src":"5670:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5669:27:130"}},{"id":77916,"nodeType":"EventDefinition","src":"5702:76:130","nodes":[],"anonymous":false,"eventSelector":"056aedca4e334b6c4bea48715fb0de644811b740894de57a0380d3eb90f2805b","name":"MinThresholdPointsUpdated","nameLocation":"5708:25:130","parameters":{"id":77915,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77912,"indexed":false,"mutability":"mutable","name":"before","nameLocation":"5742:6:130","nodeType":"VariableDeclaration","scope":77916,"src":"5734:14:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77911,"name":"uint256","nodeType":"ElementaryTypeName","src":"5734:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":77914,"indexed":false,"mutability":"mutable","name":"minThresholdPoints","nameLocation":"5758:18:130","nodeType":"VariableDeclaration","scope":77916,"src":"5750:26:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77913,"name":"uint256","nodeType":"ElementaryTypeName","src":"5750:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5733:44:130"}},{"id":77919,"nodeType":"VariableDeclaration","src":"6152:36:130","nodes":[],"constant":true,"functionSelector":"0f529ba2","mutability":"constant","name":"D","nameLocation":"6176:1:130","scope":80578,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77917,"name":"uint256","nodeType":"ElementaryTypeName","src":"6152:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3130303030303030","id":77918,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6180:8:130","typeDescriptions":{"typeIdentifier":"t_rational_10000000_by_1","typeString":"int_const 10000000"},"value":"10000000"},"visibility":"public"},{"id":77922,"nodeType":"VariableDeclaration","src":"6202:70:130","nodes":[],"constant":true,"mutability":"constant","name":"TWO_128","nameLocation":"6227:7:130","scope":80578,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77920,"name":"uint256","nodeType":"ElementaryTypeName","src":"6202:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3078313030303030303030303030303030303030303030303030303030303030303030","id":77921,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6237:35:130","typeDescriptions":{"typeIdentifier":"t_rational_340282366920938463463374607431768211456_by_1","typeString":"int_const 3402...(31 digits omitted)...1456"},"value":"0x100000000000000000000000000000000"},"visibility":"private"},{"id":77925,"nodeType":"VariableDeclaration","src":"6288:69:130","nodes":[],"constant":true,"mutability":"constant","name":"TWO_127","nameLocation":"6313:7:130","scope":80578,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77923,"name":"uint256","nodeType":"ElementaryTypeName","src":"6288:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"30783830303030303030303030303030303030303030303030303030303030303030","id":77924,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6323:34:130","typeDescriptions":{"typeIdentifier":"t_rational_170141183460469231731687303715884105728_by_1","typeString":"int_const 1701...(31 digits omitted)...5728"},"value":"0x80000000000000000000000000000000"},"visibility":"private"},{"id":77928,"nodeType":"VariableDeclaration","src":"6373:53:130","nodes":[],"constant":true,"mutability":"constant","name":"TWO_64","nameLocation":"6398:6:130","scope":80578,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77926,"name":"uint256","nodeType":"ElementaryTypeName","src":"6373:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"30783130303030303030303030303030303030","id":77927,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6407:19:130","typeDescriptions":{"typeIdentifier":"t_rational_18446744073709551616_by_1","typeString":"int_const 18446744073709551616"},"value":"0x10000000000000000"},"visibility":"private"},{"id":77931,"nodeType":"VariableDeclaration","src":"6441:49:130","nodes":[],"constant":true,"functionSelector":"406244d8","mutability":"constant","name":"MAX_STAKED_PROPOSALS","nameLocation":"6465:20:130","scope":80578,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77929,"name":"uint256","nodeType":"ElementaryTypeName","src":"6441:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3130","id":77930,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6488:2:130","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"visibility":"public"},{"id":77933,"nodeType":"VariableDeclaration","src":"6618:20:130","nodes":[],"constant":false,"functionSelector":"54fac919","mutability":"mutable","name":"decay","nameLocation":"6633:5:130","scope":80578,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77932,"name":"uint256","nodeType":"ElementaryTypeName","src":"6618:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"id":77935,"nodeType":"VariableDeclaration","src":"6644:23:130","nodes":[],"constant":false,"functionSelector":"76365af7","mutability":"mutable","name":"maxRatio","nameLocation":"6659:8:130","scope":80578,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77934,"name":"uint256","nodeType":"ElementaryTypeName","src":"6644:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"id":77937,"nodeType":"VariableDeclaration","src":"6673:21:130","nodes":[],"constant":false,"functionSelector":"a1aab33f","mutability":"mutable","name":"weight","nameLocation":"6688:6:130","scope":80578,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77936,"name":"uint256","nodeType":"ElementaryTypeName","src":"6673:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"id":77940,"nodeType":"VariableDeclaration","src":"6700:34:130","nodes":[],"constant":false,"functionSelector":"0c0512e9","mutability":"mutable","name":"proposalCounter","nameLocation":"6715:15:130","scope":80578,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77938,"name":"uint256","nodeType":"ElementaryTypeName","src":"6700:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"30","id":77939,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6733:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"visibility":"public"},{"id":77942,"nodeType":"VariableDeclaration","src":"6740:26:130","nodes":[],"constant":false,"functionSelector":"817b1cd2","mutability":"mutable","name":"totalStaked","nameLocation":"6755:11:130","scope":80578,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77941,"name":"uint256","nodeType":"ElementaryTypeName","src":"6740:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"id":77944,"nodeType":"VariableDeclaration","src":"6772:35:130","nodes":[],"constant":false,"functionSelector":"aba9ffee","mutability":"mutable","name":"totalPointsActivated","nameLocation":"6787:20:130","scope":80578,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77943,"name":"uint256","nodeType":"ElementaryTypeName","src":"6772:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"id":77947,"nodeType":"VariableDeclaration","src":"6813:38:130","nodes":[],"constant":false,"functionSelector":"7c6570ba","mutability":"mutable","name":"_minThresholdPoints","nameLocation":"6828:19:130","scope":80578,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77945,"name":"uint256","nodeType":"ElementaryTypeName","src":"6813:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"30","id":77946,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6850:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"visibility":"public"},{"id":77949,"nodeType":"VariableDeclaration","src":"6892:47:130","nodes":[],"constant":false,"mutability":"mutable","name":"surpressStateMutabilityWarning","nameLocation":"6909:30:130","scope":80578,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77948,"name":"uint256","nodeType":"ElementaryTypeName","src":"6892:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"id":77952,"nodeType":"VariableDeclaration","src":"7024:47:130","nodes":[],"constant":false,"functionSelector":"351d9f96","mutability":"mutable","name":"proposalType","nameLocation":"7059:12:130","scope":80578,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$77671","typeString":"enum StrategyStruct.ProposalType"},"typeName":{"id":77951,"nodeType":"UserDefinedTypeName","pathNode":{"id":77950,"name":"StrategyStruct.ProposalType","nameLocations":["7024:14:130","7039:12:130"],"nodeType":"IdentifierPath","referencedDeclaration":77671,"src":"7024:27:130"},"referencedDeclaration":77671,"src":"7024:27:130","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$77671","typeString":"enum StrategyStruct.ProposalType"}},"visibility":"public"},{"id":77955,"nodeType":"VariableDeclaration","src":"7130:45:130","nodes":[],"constant":false,"functionSelector":"2dbd6fdd","mutability":"mutable","name":"pointSystem","nameLocation":"7164:11:130","scope":80578,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$77676","typeString":"enum StrategyStruct.PointSystem"},"typeName":{"id":77954,"nodeType":"UserDefinedTypeName","pathNode":{"id":77953,"name":"StrategyStruct.PointSystem","nameLocations":["7130:14:130","7145:11:130"],"nodeType":"IdentifierPath","referencedDeclaration":77676,"src":"7130:26:130"},"referencedDeclaration":77676,"src":"7130:26:130","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$77676","typeString":"enum StrategyStruct.PointSystem"}},"visibility":"public"},{"id":77958,"nodeType":"VariableDeclaration","src":"7181:51:130","nodes":[],"constant":false,"functionSelector":"a47ff7e5","mutability":"mutable","name":"pointConfig","nameLocation":"7221:11:130","scope":80578,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$77729_storage","typeString":"struct StrategyStruct.PointSystemConfig"},"typeName":{"id":77957,"nodeType":"UserDefinedTypeName","pathNode":{"id":77956,"name":"StrategyStruct.PointSystemConfig","nameLocations":["7181:14:130","7196:17:130"],"nodeType":"IdentifierPath","referencedDeclaration":77729,"src":"7181:32:130"},"referencedDeclaration":77729,"src":"7181:32:130","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$77729_storage_ptr","typeString":"struct StrategyStruct.PointSystemConfig"}},"visibility":"public"},{"id":77961,"nodeType":"VariableDeclaration","src":"7265:46:130","nodes":[],"constant":false,"functionSelector":"6003e414","mutability":"mutable","name":"registryCommunity","nameLocation":"7294:17:130","scope":80578,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"},"typeName":{"id":77960,"nodeType":"UserDefinedTypeName","pathNode":{"id":77959,"name":"RegistryCommunityV0_0","nameLocations":["7265:21:130"],"nodeType":"IdentifierPath","referencedDeclaration":85047,"src":"7265:21:130"},"referencedDeclaration":85047,"src":"7265:21:130","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"}},"visibility":"public"},{"id":77964,"nodeType":"VariableDeclaration","src":"7317:31:130","nodes":[],"constant":false,"functionSelector":"b6c61f31","mutability":"mutable","name":"sybilScorer","nameLocation":"7337:11:130","scope":80578,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$80667","typeString":"contract ISybilScorer"},"typeName":{"id":77963,"nodeType":"UserDefinedTypeName","pathNode":{"id":77962,"name":"ISybilScorer","nameLocations":["7317:12:130"],"nodeType":"IdentifierPath","referencedDeclaration":80667,"src":"7317:12:130"},"referencedDeclaration":80667,"src":"7317:12:130","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$80667","typeString":"contract ISybilScorer"}},"visibility":"public"},{"id":77969,"nodeType":"VariableDeclaration","src":"7415:60:130","nodes":[],"constant":false,"functionSelector":"013cf08b","mutability":"mutable","name":"proposals","nameLocation":"7466:9:130","scope":80578,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$77721_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal)"},"typeName":{"id":77968,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":77965,"name":"uint256","nodeType":"ElementaryTypeName","src":"7423:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"7415:43:130","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$77721_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":77967,"nodeType":"UserDefinedTypeName","pathNode":{"id":77966,"name":"StrategyStruct.Proposal","nameLocations":["7434:14:130","7449:8:130"],"nodeType":"IdentifierPath","referencedDeclaration":77721,"src":"7434:23:130"},"referencedDeclaration":77721,"src":"7434:23:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal"}}},"visibility":"public"},{"id":77973,"nodeType":"VariableDeclaration","src":"7531:53:130","nodes":[],"constant":false,"functionSelector":"5db64b99","mutability":"mutable","name":"totalVoterStakePct","nameLocation":"7566:18:130","scope":80578,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"typeName":{"id":77972,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":77970,"name":"address","nodeType":"ElementaryTypeName","src":"7539:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"7531:27:130","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":77971,"name":"uint256","nodeType":"ElementaryTypeName","src":"7550:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"public"},{"id":77978,"nodeType":"VariableDeclaration","src":"7622:57:130","nodes":[],"constant":false,"functionSelector":"868c57b8","mutability":"mutable","name":"voterStakedProposals","nameLocation":"7659:20:130","scope":80578,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$","typeString":"mapping(address => uint256[])"},"typeName":{"id":77977,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":77974,"name":"address","nodeType":"ElementaryTypeName","src":"7630:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"7622:29:130","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$","typeString":"mapping(address => uint256[])"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"baseType":{"id":77975,"name":"uint256","nodeType":"ElementaryTypeName","src":"7641:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":77976,"nodeType":"ArrayTypeName","src":"7641:9:130","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}}},"visibility":"public"},{"id":77997,"nodeType":"ModifierDefinition","src":"7718:184:130","nodes":[],"body":{"id":77996,"nodeType":"Block","src":"7745:157:130","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":77988,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":77980,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"7759:3:130","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":77981,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7763:6:130","memberName":"sender","nodeType":"MemberAccess","src":"7759:10:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":77984,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77961,"src":"7781:17:130","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"}},"id":77985,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7799:11:130","memberName":"councilSafe","nodeType":"MemberAccess","referencedDeclaration":83193,"src":"7781:29:130","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_contract$_ISafe_$85665_$","typeString":"function () view external returns (contract ISafe)"}},"id":77986,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7781:31:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ISafe_$85665","typeString":"contract ISafe"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ISafe_$85665","typeString":"contract ISafe"}],"id":77983,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7773:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":77982,"name":"address","nodeType":"ElementaryTypeName","src":"7773:7:130","typeDescriptions":{}}},"id":77987,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7773:40:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"7759:54:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":77994,"nodeType":"Block","src":"7847:49:130","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":77991,"name":"OnlyCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77835,"src":"7868:15:130","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":77992,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7868:17:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":77993,"nodeType":"RevertStatement","src":"7861:24:130"}]},"id":77995,"nodeType":"IfStatement","src":"7755:141:130","trueBody":{"id":77990,"nodeType":"Block","src":"7815:26:130","statements":[{"id":77989,"nodeType":"PlaceholderStatement","src":"7829:1:130"}]}}]},"name":"onlyCouncilSafe","nameLocation":"7727:15:130","parameters":{"id":77979,"nodeType":"ParameterList","parameters":[],"src":"7742:2:130"},"virtual":false,"visibility":"internal"},{"id":78015,"nodeType":"FunctionDefinition","src":"8154:132:130","nodes":[],"body":{"id":78014,"nodeType":"Block","src":"8212:74:130","nodes":[],"statements":[{"expression":{"arguments":[{"id":78007,"name":"_allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77999,"src":"8233:5:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"43565374726174656779","id":78008,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8240:12:130","typeDescriptions":{"typeIdentifier":"t_stringliteral_5f43243e98d2b877d41079bf899c9372a6b91af5be3180830de9d43f93117b2e","typeString":"literal_string \"CVStrategy\""},"value":"CVStrategy"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_stringliteral_5f43243e98d2b877d41079bf899c9372a6b91af5be3180830de9d43f93117b2e","typeString":"literal_string \"CVStrategy\""}],"expression":{"id":78004,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"8222:5:130","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_CVStrategyV0_0_$80578_$","typeString":"type(contract super CVStrategyV0_0)"}},"id":78006,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8228:4:130","memberName":"init","nodeType":"MemberAccess","referencedDeclaration":74116,"src":"8222:10:130","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_string_memory_ptr_$returns$__$","typeString":"function (address,string memory)"}},"id":78009,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8222:31:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78010,"nodeType":"ExpressionStatement","src":"8222:31:130"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":78011,"name":"__Ownable_init","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52837,"src":"8263:14:130","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":78012,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8263:16:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78013,"nodeType":"ExpressionStatement","src":"8263:16:130"}]},"functionSelector":"19ab453c","implemented":true,"kind":"function","modifiers":[{"id":78002,"kind":"modifierInvocation","modifierName":{"id":78001,"name":"initializer","nameLocations":["8200:11:130"],"nodeType":"IdentifierPath","referencedDeclaration":53093,"src":"8200:11:130"},"nodeType":"ModifierInvocation","src":"8200:11:130"}],"name":"init","nameLocation":"8163:4:130","parameters":{"id":78000,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77999,"mutability":"mutable","name":"_allo","nameLocation":"8176:5:130","nodeType":"VariableDeclaration","scope":78015,"src":"8168:13:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":77998,"name":"address","nodeType":"ElementaryTypeName","src":"8168:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"8167:15:130"},"returnParameters":{"id":78003,"nodeType":"ParameterList","parameters":[],"src":"8212:0:130"},"scope":80578,"stateMutability":"nonpayable","virtual":true,"visibility":"external"},{"id":78108,"nodeType":"FunctionDefinition","src":"8292:761:130","nodes":[],"body":{"id":78107,"nodeType":"Block","src":"8375:678:130","nodes":[],"statements":[{"expression":{"arguments":[{"id":78025,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78017,"src":"8405:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":78024,"name":"__BaseStrategy_init","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74252,"src":"8385:19:130","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":78026,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8385:28:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78027,"nodeType":"ExpressionStatement","src":"8385:28:130"},{"assignments":[78032],"declarations":[{"constant":false,"id":78032,"mutability":"mutable","name":"ip","nameLocation":"8462:2:130","nodeType":"VariableDeclaration","scope":78107,"src":"8423:41:130","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$77751_memory_ptr","typeString":"struct StrategyStruct.InitializeParams"},"typeName":{"id":78031,"nodeType":"UserDefinedTypeName","pathNode":{"id":78030,"name":"StrategyStruct.InitializeParams","nameLocations":["8423:14:130","8438:16:130"],"nodeType":"IdentifierPath","referencedDeclaration":77751,"src":"8423:31:130"},"referencedDeclaration":77751,"src":"8423:31:130","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$77751_storage_ptr","typeString":"struct StrategyStruct.InitializeParams"}},"visibility":"internal"}],"id":78040,"initialValue":{"arguments":[{"id":78035,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78019,"src":"8478:5:130","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"expression":{"id":78036,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77752,"src":"8486:14:130","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$77752_$","typeString":"type(library StrategyStruct)"}},"id":78037,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8501:16:130","memberName":"InitializeParams","nodeType":"MemberAccess","referencedDeclaration":77751,"src":"8486:31:130","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_InitializeParams_$77751_storage_ptr_$","typeString":"type(struct StrategyStruct.InitializeParams storage pointer)"}}],"id":78038,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"8485:33:130","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_InitializeParams_$77751_storage_ptr_$","typeString":"type(struct StrategyStruct.InitializeParams storage pointer)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_struct$_InitializeParams_$77751_storage_ptr_$","typeString":"type(struct StrategyStruct.InitializeParams storage pointer)"}],"expression":{"id":78033,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"8467:3:130","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":78034,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8471:6:130","memberName":"decode","nodeType":"MemberAccess","src":"8467:10:130","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":78039,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8467:52:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$77751_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"nodeType":"VariableDeclarationStatement","src":"8423:96:130"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":78047,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":78041,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78032,"src":"8534:2:130","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$77751_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":78042,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8537:17:130","memberName":"registryCommunity","nodeType":"MemberAccess","referencedDeclaration":77731,"src":"8534:20:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":78045,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8566:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":78044,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8558:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":78043,"name":"address","nodeType":"ElementaryTypeName","src":"8558:7:130","typeDescriptions":{}}},"id":78046,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8558:10:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"8534:34:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":78052,"nodeType":"IfStatement","src":"8530:94:130","trueBody":{"id":78051,"nodeType":"Block","src":"8570:54:130","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":78048,"name":"RegistryCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77785,"src":"8591:20:130","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":78049,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8591:22:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78050,"nodeType":"RevertStatement","src":"8584:29:130"}]}},{"expression":{"id":78058,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":78053,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77961,"src":"8634:17:130","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":78055,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78032,"src":"8676:2:130","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$77751_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":78056,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8679:17:130","memberName":"registryCommunity","nodeType":"MemberAccess","referencedDeclaration":77731,"src":"8676:20:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":78054,"name":"RegistryCommunityV0_0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85047,"src":"8654:21:130","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_RegistryCommunityV0_0_$85047_$","typeString":"type(contract RegistryCommunityV0_0)"}},"id":78057,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8654:43:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"}},"src":"8634:63:130","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"}},"id":78059,"nodeType":"ExpressionStatement","src":"8634:63:130"},{"expression":{"id":78063,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":78060,"name":"decay","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77933,"src":"8707:5:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":78061,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78032,"src":"8715:2:130","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$77751_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":78062,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8718:5:130","memberName":"decay","nodeType":"MemberAccess","referencedDeclaration":77733,"src":"8715:8:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8707:16:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":78064,"nodeType":"ExpressionStatement","src":"8707:16:130"},{"expression":{"id":78068,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":78065,"name":"maxRatio","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77935,"src":"8733:8:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":78066,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78032,"src":"8744:2:130","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$77751_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":78067,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8747:8:130","memberName":"maxRatio","nodeType":"MemberAccess","referencedDeclaration":77735,"src":"8744:11:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8733:22:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":78069,"nodeType":"ExpressionStatement","src":"8733:22:130"},{"expression":{"id":78073,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":78070,"name":"weight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77937,"src":"8765:6:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":78071,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78032,"src":"8774:2:130","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$77751_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":78072,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8777:6:130","memberName":"weight","nodeType":"MemberAccess","referencedDeclaration":77737,"src":"8774:9:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8765:18:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":78074,"nodeType":"ExpressionStatement","src":"8765:18:130"},{"expression":{"id":78078,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":78075,"name":"proposalType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77952,"src":"8793:12:130","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$77671","typeString":"enum StrategyStruct.ProposalType"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":78076,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78032,"src":"8808:2:130","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$77751_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":78077,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8811:12:130","memberName":"proposalType","nodeType":"MemberAccess","referencedDeclaration":77742,"src":"8808:15:130","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$77671","typeString":"enum StrategyStruct.ProposalType"}},"src":"8793:30:130","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$77671","typeString":"enum StrategyStruct.ProposalType"}},"id":78079,"nodeType":"ExpressionStatement","src":"8793:30:130"},{"expression":{"id":78083,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":78080,"name":"pointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77955,"src":"8833:11:130","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$77676","typeString":"enum StrategyStruct.PointSystem"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":78081,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78032,"src":"8847:2:130","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$77751_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":78082,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8850:11:130","memberName":"pointSystem","nodeType":"MemberAccess","referencedDeclaration":77745,"src":"8847:14:130","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$77676","typeString":"enum StrategyStruct.PointSystem"}},"src":"8833:28:130","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$77676","typeString":"enum StrategyStruct.PointSystem"}},"id":78084,"nodeType":"ExpressionStatement","src":"8833:28:130"},{"expression":{"id":78088,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":78085,"name":"pointConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77958,"src":"8871:11:130","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$77729_storage","typeString":"struct StrategyStruct.PointSystemConfig storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":78086,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78032,"src":"8885:2:130","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$77751_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":78087,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8888:11:130","memberName":"pointConfig","nodeType":"MemberAccess","referencedDeclaration":77748,"src":"8885:14:130","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$77729_memory_ptr","typeString":"struct StrategyStruct.PointSystemConfig memory"}},"src":"8871:28:130","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$77729_storage","typeString":"struct StrategyStruct.PointSystemConfig storage ref"}},"id":78089,"nodeType":"ExpressionStatement","src":"8871:28:130"},{"expression":{"id":78093,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":78090,"name":"_minThresholdPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77947,"src":"8909:19:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":78091,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78032,"src":"8931:2:130","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$77751_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":78092,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8934:18:130","memberName":"minThresholdPoints","nodeType":"MemberAccess","referencedDeclaration":77739,"src":"8931:21:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8909:43:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":78094,"nodeType":"ExpressionStatement","src":"8909:43:130"},{"expression":{"id":78100,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":78095,"name":"sybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77964,"src":"8962:11:130","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$80667","typeString":"contract ISybilScorer"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":78097,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78032,"src":"8989:2:130","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$77751_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":78098,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8992:11:130","memberName":"sybilScorer","nodeType":"MemberAccess","referencedDeclaration":77750,"src":"8989:14:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":78096,"name":"ISybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80667,"src":"8976:12:130","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ISybilScorer_$80667_$","typeString":"type(contract ISybilScorer)"}},"id":78099,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8976:28:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$80667","typeString":"contract ISybilScorer"}},"src":"8962:42:130","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$80667","typeString":"contract ISybilScorer"}},"id":78101,"nodeType":"ExpressionStatement","src":"8962:42:130"},{"eventCall":{"arguments":[{"id":78103,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78017,"src":"9034:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":78104,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78032,"src":"9043:2:130","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$77751_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_struct$_InitializeParams_$77751_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}],"id":78102,"name":"InitializedCV","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77844,"src":"9020:13:130","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_struct$_InitializeParams_$77751_memory_ptr_$returns$__$","typeString":"function (uint256,struct StrategyStruct.InitializeParams memory)"}},"id":78105,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9020:26:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78106,"nodeType":"EmitStatement","src":"9015:31:130"}]},"baseFunctions":[2939],"functionSelector":"edd146cc","implemented":true,"kind":"function","modifiers":[{"id":78022,"kind":"modifierInvocation","modifierName":{"id":78021,"name":"onlyAllo","nameLocations":["8366:8:130"],"nodeType":"IdentifierPath","referencedDeclaration":74124,"src":"8366:8:130"},"nodeType":"ModifierInvocation","src":"8366:8:130"}],"name":"initialize","nameLocation":"8301:10:130","parameters":{"id":78020,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78017,"mutability":"mutable","name":"_poolId","nameLocation":"8320:7:130","nodeType":"VariableDeclaration","scope":78108,"src":"8312:15:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78016,"name":"uint256","nodeType":"ElementaryTypeName","src":"8312:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":78019,"mutability":"mutable","name":"_data","nameLocation":"8342:5:130","nodeType":"VariableDeclaration","scope":78108,"src":"8329:18:130","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":78018,"name":"bytes","nodeType":"ElementaryTypeName","src":"8329:5:130","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"8311:37:130"},"returnParameters":{"id":78023,"nodeType":"ParameterList","parameters":[],"src":"8375:0:130"},"scope":80578,"stateMutability":"nonpayable","virtual":true,"visibility":"external"},{"id":78112,"nodeType":"FunctionDefinition","src":"9224:83:130","nodes":[],"body":{"id":78111,"nodeType":"Block","src":"9252:55:130","nodes":[],"statements":[]},"implemented":true,"kind":"fallback","modifiers":[],"name":"","nameLocation":"-1:-1:-1","parameters":{"id":78109,"nodeType":"ParameterList","parameters":[],"src":"9232:2:130"},"returnParameters":{"id":78110,"nodeType":"ParameterList","parameters":[],"src":"9252:0:130"},"scope":80578,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":78116,"nodeType":"FunctionDefinition","src":"9313:135:130","nodes":[],"body":{"id":78115,"nodeType":"Block","src":"9340:108:130","nodes":[],"statements":[]},"implemented":true,"kind":"receive","modifiers":[],"name":"","nameLocation":"-1:-1:-1","parameters":{"id":78113,"nodeType":"ParameterList","parameters":[],"src":"9320:2:130"},"returnParameters":{"id":78114,"nodeType":"ParameterList","parameters":[],"src":"9340:0:130"},"scope":80578,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":78137,"nodeType":"FunctionDefinition","src":"9454:202:130","nodes":[],"body":{"id":78136,"nodeType":"Block","src":"9545:111:130","nodes":[],"statements":[{"expression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":78134,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"id":78129,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":78124,"name":"interfaceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78118,"src":"9562:11:130","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"arguments":[{"id":78126,"name":"IPointStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77667,"src":"9582:14:130","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IPointStrategy_$77667_$","typeString":"type(contract IPointStrategy)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_contract$_IPointStrategy_$77667_$","typeString":"type(contract IPointStrategy)"}],"id":78125,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"9577:4:130","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":78127,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9577:20:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_contract$_IPointStrategy_$77667","typeString":"type(contract IPointStrategy)"}},"id":78128,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"9598:11:130","memberName":"interfaceId","nodeType":"MemberAccess","src":"9577:32:130","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"src":"9562:47:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"arguments":[{"id":78132,"name":"interfaceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78118,"src":"9637:11:130","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":78130,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"9613:5:130","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_CVStrategyV0_0_$80578_$","typeString":"type(contract super CVStrategyV0_0)"}},"id":78131,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9619:17:130","memberName":"supportsInterface","nodeType":"MemberAccess","referencedDeclaration":58265,"src":"9613:23:130","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes4_$returns$_t_bool_$","typeString":"function (bytes4) view returns (bool)"}},"id":78133,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9613:36:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"9562:87:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":78123,"id":78135,"nodeType":"Return","src":"9555:94:130"}]},"baseFunctions":[58265],"functionSelector":"01ffc9a7","implemented":true,"kind":"function","modifiers":[],"name":"supportsInterface","nameLocation":"9463:17:130","overrides":{"id":78120,"nodeType":"OverrideSpecifier","overrides":[],"src":"9521:8:130"},"parameters":{"id":78119,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78118,"mutability":"mutable","name":"interfaceId","nameLocation":"9488:11:130","nodeType":"VariableDeclaration","scope":78137,"src":"9481:18:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":78117,"name":"bytes4","nodeType":"ElementaryTypeName","src":"9481:6:130","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"9480:20:130"},"returnParameters":{"id":78123,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78122,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":78137,"src":"9539:4:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":78121,"name":"bool","nodeType":"ElementaryTypeName","src":"9539:4:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"9538:6:130"},"scope":80578,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":78178,"nodeType":"FunctionDefinition","src":"9827:377:130","nodes":[],"body":{"id":78177,"nodeType":"Block","src":"9886:318:130","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":78147,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":78142,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78139,"src":"9900:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":78145,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9919:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":78144,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9911:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":78143,"name":"address","nodeType":"ElementaryTypeName","src":"9911:7:130","typeDescriptions":{}}},"id":78146,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9911:10:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"9900:21:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":78152,"nodeType":"IfStatement","src":"9896:77:130","trueBody":{"id":78151,"nodeType":"Block","src":"9923:50:130","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":78148,"name":"UserCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77765,"src":"9944:16:130","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":78149,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9944:18:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78150,"nodeType":"RevertStatement","src":"9937:25:130"}]}},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":78161,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":78155,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77961,"src":"9994:17:130","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"}],"id":78154,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9986:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":78153,"name":"address","nodeType":"ElementaryTypeName","src":"9986:7:130","typeDescriptions":{}}},"id":78156,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9986:26:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":78159,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10024:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":78158,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10016:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":78157,"name":"address","nodeType":"ElementaryTypeName","src":"10016:7:130","typeDescriptions":{}}},"id":78160,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10016:10:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"9986:40:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":78166,"nodeType":"IfStatement","src":"9982:100:130","trueBody":{"id":78165,"nodeType":"Block","src":"10028:54:130","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":78162,"name":"RegistryCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77785,"src":"10049:20:130","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":78163,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10049:22:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78164,"nodeType":"RevertStatement","src":"10042:29:130"}]}},{"condition":{"id":78171,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"10095:36:130","subExpression":{"arguments":[{"id":78169,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78139,"src":"10123:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":78167,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77961,"src":"10096:17:130","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"}},"id":78168,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10114:8:130","memberName":"isMember","nodeType":"MemberAccess","referencedDeclaration":84615,"src":"10096:26:130","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view external returns (bool)"}},"id":78170,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10096:35:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":78176,"nodeType":"IfStatement","src":"10091:93:130","trueBody":{"id":78175,"nodeType":"Block","src":"10133:51:130","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":78172,"name":"UserNotInRegistry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77767,"src":"10154:17:130","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":78173,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10154:19:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78174,"nodeType":"RevertStatement","src":"10147:26:130"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"checkSenderIsMember","nameLocation":"9836:19:130","parameters":{"id":78140,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78139,"mutability":"mutable","name":"_sender","nameLocation":"9864:7:130","nodeType":"VariableDeclaration","scope":78178,"src":"9856:15:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":78138,"name":"address","nodeType":"ElementaryTypeName","src":"9856:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"9855:17:130"},"returnParameters":{"id":78141,"nodeType":"ParameterList","parameters":[],"src":"9886:0:130"},"scope":80578,"stateMutability":"view","virtual":false,"visibility":"private"},{"id":78194,"nodeType":"FunctionDefinition","src":"10210:162:130","nodes":[],"body":{"id":78193,"nodeType":"Block","src":"10256:116:130","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":78187,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":78181,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"10270:3:130","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":78182,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10274:6:130","memberName":"sender","nodeType":"MemberAccess","src":"10270:10:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"id":78185,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77961,"src":"10292:17:130","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"}],"id":78184,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10284:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":78183,"name":"address","nodeType":"ElementaryTypeName","src":"10284:7:130","typeDescriptions":{}}},"id":78186,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10284:26:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"10270:40:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":78192,"nodeType":"IfStatement","src":"10266:100:130","trueBody":{"id":78191,"nodeType":"Block","src":"10312:54:130","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":78188,"name":"OnlyCommunityAllowed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77825,"src":"10333:20:130","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":78189,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10333:22:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78190,"nodeType":"RevertStatement","src":"10326:29:130"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"onlyRegistryCommunity","nameLocation":"10219:21:130","parameters":{"id":78179,"nodeType":"ParameterList","parameters":[],"src":"10240:2:130"},"returnParameters":{"id":78180,"nodeType":"ParameterList","parameters":[],"src":"10256:0:130"},"scope":80578,"stateMutability":"view","virtual":false,"visibility":"private"},{"id":78210,"nodeType":"FunctionDefinition","src":"10378:133:130","nodes":[],"body":{"id":78209,"nodeType":"Block","src":"10438:73:130","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":78204,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":78199,"name":"_address","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78196,"src":"10452:8:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":78202,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10472:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":78201,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10464:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":78200,"name":"address","nodeType":"ElementaryTypeName","src":"10464:7:130","typeDescriptions":{}}},"id":78203,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10464:10:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"10452:22:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":78208,"nodeType":"IfStatement","src":"10448:56:130","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":78205,"name":"AddressCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77783,"src":"10483:19:130","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":78206,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10483:21:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78207,"nodeType":"RevertStatement","src":"10476:28:130"}}]},"implemented":true,"kind":"function","modifiers":[],"name":"_revertZeroAddress","nameLocation":"10387:18:130","parameters":{"id":78197,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78196,"mutability":"mutable","name":"_address","nameLocation":"10414:8:130","nodeType":"VariableDeclaration","scope":78210,"src":"10406:16:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":78195,"name":"address","nodeType":"ElementaryTypeName","src":"10406:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"10405:18:130"},"returnParameters":{"id":78198,"nodeType":"ParameterList","parameters":[],"src":"10438:0:130"},"scope":80578,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":78240,"nodeType":"FunctionDefinition","src":"10517:230:130","nodes":[],"body":{"id":78239,"nodeType":"Block","src":"10588:159:130","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":78225,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":78219,"name":"sybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77964,"src":"10610:11:130","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$80667","typeString":"contract ISybilScorer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ISybilScorer_$80667","typeString":"contract ISybilScorer"}],"id":78218,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10602:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":78217,"name":"address","nodeType":"ElementaryTypeName","src":"10602:7:130","typeDescriptions":{}}},"id":78220,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10602:20:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":78223,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10634:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":78222,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10626:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":78221,"name":"address","nodeType":"ElementaryTypeName","src":"10626:7:130","typeDescriptions":{}}},"id":78224,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10626:10:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"10602:34:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":78229,"nodeType":"IfStatement","src":"10598:76:130","trueBody":{"id":78228,"nodeType":"Block","src":"10638:36:130","statements":[{"expression":{"hexValue":"74727565","id":78226,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"10659:4:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":78216,"id":78227,"nodeType":"Return","src":"10652:11:130"}]}},{"expression":{"arguments":[{"id":78232,"name":"_user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78212,"src":"10719:5:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":78235,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"10734:4:130","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$80578","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$80578","typeString":"contract CVStrategyV0_0"}],"id":78234,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10726:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":78233,"name":"address","nodeType":"ElementaryTypeName","src":"10726:7:130","typeDescriptions":{}}},"id":78236,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10726:13:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":78230,"name":"sybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77964,"src":"10690:11:130","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$80667","typeString":"contract ISybilScorer"}},"id":78231,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10702:16:130","memberName":"canExecuteAction","nodeType":"MemberAccess","referencedDeclaration":80624,"src":"10690:28:130","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_bool_$","typeString":"function (address,address) view external returns (bool)"}},"id":78237,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10690:50:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":78216,"id":78238,"nodeType":"Return","src":"10683:57:130"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_canExecuteAction","nameLocation":"10526:17:130","parameters":{"id":78213,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78212,"mutability":"mutable","name":"_user","nameLocation":"10552:5:130","nodeType":"VariableDeclaration","scope":78240,"src":"10544:13:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":78211,"name":"address","nodeType":"ElementaryTypeName","src":"10544:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"10543:15:130"},"returnParameters":{"id":78216,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78215,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":78240,"src":"10582:4:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":78214,"name":"bool","nodeType":"ElementaryTypeName","src":"10582:4:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"10581:6:130"},"scope":80578,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":78424,"nodeType":"FunctionDefinition","src":"11073:2045:130","nodes":[],"body":{"id":78423,"nodeType":"Block","src":"11174:1944:130","nodes":[],"statements":[{"condition":{"id":78253,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"11188:27:130","subExpression":{"arguments":[{"id":78251,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78244,"src":"11207:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":78250,"name":"_canExecuteAction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78240,"src":"11189:17:130","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":78252,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11189:26:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":78258,"nodeType":"IfStatement","src":"11184:90:130","trueBody":{"id":78257,"nodeType":"Block","src":"11217:57:130","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":78254,"name":"UserCannotExecuteAction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77837,"src":"11238:23:130","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":78255,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11238:25:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78256,"nodeType":"RevertStatement","src":"11231:32:130"}]}},{"expression":{"id":78259,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78242,"src":"11328:5:130","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":78260,"nodeType":"ExpressionStatement","src":"11328:5:130"},{"assignments":[78265],"declarations":[{"constant":false,"id":78265,"mutability":"mutable","name":"proposal","nameLocation":"11380:8:130","nodeType":"VariableDeclaration","scope":78423,"src":"11343:45:130","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$77688_memory_ptr","typeString":"struct StrategyStruct.CreateProposal"},"typeName":{"id":78264,"nodeType":"UserDefinedTypeName","pathNode":{"id":78263,"name":"StrategyStruct.CreateProposal","nameLocations":["11343:14:130","11358:14:130"],"nodeType":"IdentifierPath","referencedDeclaration":77688,"src":"11343:29:130"},"referencedDeclaration":77688,"src":"11343:29:130","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$77688_storage_ptr","typeString":"struct StrategyStruct.CreateProposal"}},"visibility":"internal"}],"id":78273,"initialValue":{"arguments":[{"id":78268,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78242,"src":"11402:5:130","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"expression":{"id":78269,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77752,"src":"11410:14:130","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$77752_$","typeString":"type(library StrategyStruct)"}},"id":78270,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11425:14:130","memberName":"CreateProposal","nodeType":"MemberAccess","referencedDeclaration":77688,"src":"11410:29:130","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_CreateProposal_$77688_storage_ptr_$","typeString":"type(struct StrategyStruct.CreateProposal storage pointer)"}}],"id":78271,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"11409:31:130","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_CreateProposal_$77688_storage_ptr_$","typeString":"type(struct StrategyStruct.CreateProposal storage pointer)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_struct$_CreateProposal_$77688_storage_ptr_$","typeString":"type(struct StrategyStruct.CreateProposal storage pointer)"}],"expression":{"id":78266,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"11391:3:130","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":78267,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"11395:6:130","memberName":"decode","nodeType":"MemberAccess","src":"11391:10:130","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":78272,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11391:50:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$77688_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"nodeType":"VariableDeclarationStatement","src":"11343:98:130"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":78277,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":78274,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78265,"src":"11556:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$77688_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":78275,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11565:6:130","memberName":"poolId","nodeType":"MemberAccess","referencedDeclaration":77678,"src":"11556:15:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":78276,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11575:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"11556:20:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":78282,"nodeType":"IfStatement","src":"11552:78:130","trueBody":{"id":78281,"nodeType":"Block","src":"11578:52:130","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":78278,"name":"PoolIdCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77781,"src":"11599:18:130","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":78279,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11599:20:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78280,"nodeType":"RevertStatement","src":"11592:27:130"}]}},{"condition":{"commonType":{"typeIdentifier":"t_enum$_ProposalType_$77671","typeString":"enum StrategyStruct.ProposalType"},"id":78287,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":78283,"name":"proposalType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77952,"src":"11706:12:130","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$77671","typeString":"enum StrategyStruct.ProposalType"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":78284,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77752,"src":"11722:14:130","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$77752_$","typeString":"type(library StrategyStruct)"}},"id":78285,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11737:12:130","memberName":"ProposalType","nodeType":"MemberAccess","referencedDeclaration":77671,"src":"11722:27:130","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalType_$77671_$","typeString":"type(enum StrategyStruct.ProposalType)"}},"id":78286,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"11750:7:130","memberName":"Funding","nodeType":"MemberAccess","referencedDeclaration":77669,"src":"11722:35:130","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$77671","typeString":"enum StrategyStruct.ProposalType"}},"src":"11706:51:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":78334,"nodeType":"IfStatement","src":"11702:722:130","trueBody":{"id":78333,"nodeType":"Block","src":"11759:665:130","statements":[{"expression":{"arguments":[{"expression":{"id":78289,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78265,"src":"11792:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$77688_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":78290,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11801:11:130","memberName":"beneficiary","nodeType":"MemberAccess","referencedDeclaration":77680,"src":"11792:20:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":78288,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78210,"src":"11773:18:130","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":78291,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11773:40:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78292,"nodeType":"ExpressionStatement","src":"11773:40:130"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":78299,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":78293,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78265,"src":"11879:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$77688_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":78294,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11888:14:130","memberName":"requestedToken","nodeType":"MemberAccess","referencedDeclaration":77684,"src":"11879:23:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":78297,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11914:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":78296,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11906:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":78295,"name":"address","nodeType":"ElementaryTypeName","src":"11906:7:130","typeDescriptions":{}}},"id":78298,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11906:10:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"11879:37:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":78304,"nodeType":"IfStatement","src":"11875:102:130","trueBody":{"id":78303,"nodeType":"Block","src":"11918:59:130","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":78300,"name":"TokenCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77775,"src":"11943:17:130","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":78301,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11943:19:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78302,"nodeType":"RevertStatement","src":"11936:26:130"}]}},{"assignments":[78306],"declarations":[{"constant":false,"id":78306,"mutability":"mutable","name":"poolToken","nameLocation":"11998:9:130","nodeType":"VariableDeclaration","scope":78333,"src":"11990:17:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":78305,"name":"address","nodeType":"ElementaryTypeName","src":"11990:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":78314,"initialValue":{"expression":{"arguments":[{"id":78311,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74090,"src":"12033:6:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":78307,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"12010:4:130","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$80578","typeString":"contract CVStrategyV0_0"}},"id":78308,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12015:7:130","memberName":"getAllo","nodeType":"MemberAccess","referencedDeclaration":74170,"src":"12010:12:130","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_contract$_IAllo_$2610_$","typeString":"function () view external returns (contract IAllo)"}},"id":78309,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12010:14:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IAllo_$2610","typeString":"contract IAllo"}},"id":78310,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12025:7:130","memberName":"getPool","nodeType":"MemberAccess","referencedDeclaration":2603,"src":"12010:22:130","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_struct$_Pool_$2319_memory_ptr_$","typeString":"function (uint256) view external returns (struct IAllo.Pool memory)"}},"id":78312,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12010:30:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"id":78313,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12041:5:130","memberName":"token","nodeType":"MemberAccess","referencedDeclaration":2311,"src":"12010:36:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"11990:56:130"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":78318,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":78315,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78265,"src":"12064:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$77688_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":78316,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12073:14:130","memberName":"requestedToken","nodeType":"MemberAccess","referencedDeclaration":77684,"src":"12064:23:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":78317,"name":"poolToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78306,"src":"12091:9:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"12064:36:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":78323,"nodeType":"IfStatement","src":"12060:234:130","trueBody":{"id":78322,"nodeType":"Block","src":"12102:192:130","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":78319,"name":"TokenNotAllowed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77777,"src":"12262:15:130","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":78320,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12262:17:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78321,"nodeType":"RevertStatement","src":"12255:24:130"}]}},{"condition":{"arguments":[{"expression":{"id":78325,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78265,"src":"12327:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$77688_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":78326,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12336:15:130","memberName":"amountRequested","nodeType":"MemberAccess","referencedDeclaration":77682,"src":"12327:24:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":78324,"name":"_isOverMaxRatio","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79628,"src":"12311:15:130","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view returns (bool)"}},"id":78327,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12311:41:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":78332,"nodeType":"IfStatement","src":"12307:107:130","trueBody":{"id":78331,"nodeType":"Block","src":"12354:60:130","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":78328,"name":"AmountOverMaxRatio","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77779,"src":"12379:18:130","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":78329,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12379:20:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78330,"nodeType":"RevertStatement","src":"12372:27:130"}]}}]}},{"assignments":[78336],"declarations":[{"constant":false,"id":78336,"mutability":"mutable","name":"proposalId","nameLocation":"12441:10:130","nodeType":"VariableDeclaration","scope":78423,"src":"12433:18:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78335,"name":"uint256","nodeType":"ElementaryTypeName","src":"12433:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":78339,"initialValue":{"id":78338,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":true,"src":"12454:17:130","subExpression":{"id":78337,"name":"proposalCounter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77940,"src":"12456:15:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"12433:38:130"},{"assignments":[78344],"declarations":[{"constant":false,"id":78344,"mutability":"mutable","name":"p","nameLocation":"12513:1:130","nodeType":"VariableDeclaration","scope":78423,"src":"12481:33:130","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":78343,"nodeType":"UserDefinedTypeName","pathNode":{"id":78342,"name":"StrategyStruct.Proposal","nameLocations":["12481:14:130","12496:8:130"],"nodeType":"IdentifierPath","referencedDeclaration":77721,"src":"12481:23:130"},"referencedDeclaration":77721,"src":"12481:23:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":78348,"initialValue":{"baseExpression":{"id":78345,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77969,"src":"12517:9:130","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$77721_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":78347,"indexExpression":{"id":78346,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78336,"src":"12527:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"12517:21:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"12481:57:130"},{"expression":{"id":78353,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":78349,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78344,"src":"12549:1:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":78351,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"12551:10:130","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":77696,"src":"12549:12:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":78352,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78336,"src":"12564:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"12549:25:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":78354,"nodeType":"ExpressionStatement","src":"12549:25:130"},{"expression":{"id":78359,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":78355,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78344,"src":"12584:1:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":78357,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"12586:9:130","memberName":"submitter","nodeType":"MemberAccess","referencedDeclaration":77706,"src":"12584:11:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":78358,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78244,"src":"12598:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"12584:21:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":78360,"nodeType":"ExpressionStatement","src":"12584:21:130"},{"expression":{"id":78366,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":78361,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78344,"src":"12615:1:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":78363,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"12617:11:130","memberName":"beneficiary","nodeType":"MemberAccess","referencedDeclaration":77704,"src":"12615:13:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":78364,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78265,"src":"12631:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$77688_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":78365,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12640:11:130","memberName":"beneficiary","nodeType":"MemberAccess","referencedDeclaration":77680,"src":"12631:20:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"12615:36:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":78367,"nodeType":"ExpressionStatement","src":"12615:36:130"},{"expression":{"id":78373,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":78368,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78344,"src":"12661:1:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":78370,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"12663:14:130","memberName":"requestedToken","nodeType":"MemberAccess","referencedDeclaration":77708,"src":"12661:16:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":78371,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78265,"src":"12680:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$77688_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":78372,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12689:14:130","memberName":"requestedToken","nodeType":"MemberAccess","referencedDeclaration":77684,"src":"12680:23:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"12661:42:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":78374,"nodeType":"ExpressionStatement","src":"12661:42:130"},{"expression":{"id":78380,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":78375,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78344,"src":"12713:1:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":78377,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"12715:15:130","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":77698,"src":"12713:17:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":78378,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78265,"src":"12733:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$77688_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":78379,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12742:15:130","memberName":"amountRequested","nodeType":"MemberAccess","referencedDeclaration":77682,"src":"12733:24:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"12713:44:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":78381,"nodeType":"ExpressionStatement","src":"12713:44:130"},{"expression":{"id":78388,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":78382,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78344,"src":"12818:1:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":78384,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"12820:14:130","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":77713,"src":"12818:16:130","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$77694","typeString":"enum StrategyStruct.ProposalStatus"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"expression":{"id":78385,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77752,"src":"12837:14:130","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$77752_$","typeString":"type(library StrategyStruct)"}},"id":78386,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12852:14:130","memberName":"ProposalStatus","nodeType":"MemberAccess","referencedDeclaration":77694,"src":"12837:29:130","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$77694_$","typeString":"type(enum StrategyStruct.ProposalStatus)"}},"id":78387,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"12867:6:130","memberName":"Active","nodeType":"MemberAccess","referencedDeclaration":77690,"src":"12837:36:130","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$77694","typeString":"enum StrategyStruct.ProposalStatus"}},"src":"12818:55:130","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$77694","typeString":"enum StrategyStruct.ProposalStatus"}},"id":78389,"nodeType":"ExpressionStatement","src":"12818:55:130"},{"expression":{"id":78395,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":78390,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78344,"src":"12883:1:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":78392,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"12885:9:130","memberName":"blockLast","nodeType":"MemberAccess","referencedDeclaration":77710,"src":"12883:11:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":78393,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"12897:5:130","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":78394,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12903:6:130","memberName":"number","nodeType":"MemberAccess","src":"12897:12:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"12883:26:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":78396,"nodeType":"ExpressionStatement","src":"12883:26:130"},{"expression":{"id":78401,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":78397,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78344,"src":"12919:1:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":78399,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"12921:14:130","memberName":"convictionLast","nodeType":"MemberAccess","referencedDeclaration":77702,"src":"12919:16:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"30","id":78400,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12938:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"12919:20:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":78402,"nodeType":"ExpressionStatement","src":"12919:20:130"},{"expression":{"id":78408,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":78403,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78344,"src":"12985:1:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":78405,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"12987:8:130","memberName":"metadata","nodeType":"MemberAccess","referencedDeclaration":77720,"src":"12985:10:130","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage","typeString":"struct Metadata storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":78406,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78265,"src":"12998:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$77688_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":78407,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"13007:8:130","memberName":"metadata","nodeType":"MemberAccess","referencedDeclaration":77687,"src":"12998:17:130","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}},"src":"12985:30:130","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage","typeString":"struct Metadata storage ref"}},"id":78409,"nodeType":"ExpressionStatement","src":"12985:30:130"},{"eventCall":{"arguments":[{"id":78411,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74090,"src":"13047:6:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":78412,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78336,"src":"13055:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":78410,"name":"ProposalCreated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77858,"src":"13031:15:130","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":78413,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13031:35:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78414,"nodeType":"EmitStatement","src":"13026:40:130"},{"expression":{"arguments":[{"arguments":[{"id":78419,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78336,"src":"13099:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":78418,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13091:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":78417,"name":"uint160","nodeType":"ElementaryTypeName","src":"13091:7:130","typeDescriptions":{}}},"id":78420,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13091:19:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":78416,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13083:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":78415,"name":"address","nodeType":"ElementaryTypeName","src":"13083:7:130","typeDescriptions":{}}},"id":78421,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13083:28:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":78249,"id":78422,"nodeType":"Return","src":"13076:35:130"}]},"baseFunctions":[74558],"implemented":true,"kind":"function","modifiers":[],"name":"_registerRecipient","nameLocation":"11082:18:130","overrides":{"id":78246,"nodeType":"OverrideSpecifier","overrides":[],"src":"11147:8:130"},"parameters":{"id":78245,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78242,"mutability":"mutable","name":"_data","nameLocation":"11114:5:130","nodeType":"VariableDeclaration","scope":78424,"src":"11101:18:130","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":78241,"name":"bytes","nodeType":"ElementaryTypeName","src":"11101:5:130","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":78244,"mutability":"mutable","name":"_sender","nameLocation":"11129:7:130","nodeType":"VariableDeclaration","scope":78424,"src":"11121:15:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":78243,"name":"address","nodeType":"ElementaryTypeName","src":"11121:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"11100:37:130"},"returnParameters":{"id":78249,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78248,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":78424,"src":"11165:7:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":78247,"name":"address","nodeType":"ElementaryTypeName","src":"11165:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"11164:9:130"},"scope":80578,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":78463,"nodeType":"FunctionDefinition","src":"13124:351:130","nodes":[],"body":{"id":78462,"nodeType":"Block","src":"13159:316:130","nodes":[],"statements":[{"assignments":[78428],"declarations":[{"constant":false,"id":78428,"mutability":"mutable","name":"member","nameLocation":"13177:6:130","nodeType":"VariableDeclaration","scope":78462,"src":"13169:14:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":78427,"name":"address","nodeType":"ElementaryTypeName","src":"13169:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":78431,"initialValue":{"expression":{"id":78429,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"13186:3:130","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":78430,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13190:6:130","memberName":"sender","nodeType":"MemberAccess","src":"13186:10:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"13169:27:130"},{"condition":{"id":78435,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"13210:26:130","subExpression":{"arguments":[{"id":78433,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78428,"src":"13229:6:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":78432,"name":"_canExecuteAction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78240,"src":"13211:17:130","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":78434,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13211:25:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":78440,"nodeType":"IfStatement","src":"13206:89:130","trueBody":{"id":78439,"nodeType":"Block","src":"13238:57:130","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":78436,"name":"UserCannotExecuteAction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77837,"src":"13259:23:130","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":78437,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13259:25:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78438,"nodeType":"RevertStatement","src":"13252:32:130"}]}},{"expression":{"arguments":[{"id":78444,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78428,"src":"13347:6:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":78447,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"13363:4:130","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$80578","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$80578","typeString":"contract CVStrategyV0_0"}],"id":78446,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13355:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":78445,"name":"address","nodeType":"ElementaryTypeName","src":"13355:7:130","typeDescriptions":{}}},"id":78448,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13355:13:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":78441,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77961,"src":"13304:17:130","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"}},"id":78443,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13322:24:130","memberName":"activateMemberInStrategy","nodeType":"MemberAccess","referencedDeclaration":83993,"src":"13304:42:130","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address) external"}},"id":78449,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13304:65:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78450,"nodeType":"ExpressionStatement","src":"13304:65:130"},{"expression":{"id":78460,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":78451,"name":"totalPointsActivated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77944,"src":"13379:20:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"arguments":[{"id":78454,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78428,"src":"13446:6:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":78457,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"13462:4:130","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$80578","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$80578","typeString":"contract CVStrategyV0_0"}],"id":78456,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13454:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":78455,"name":"address","nodeType":"ElementaryTypeName","src":"13454:7:130","typeDescriptions":{}}},"id":78458,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13454:13:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":78452,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77961,"src":"13403:17:130","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"}},"id":78453,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13421:24:130","memberName":"getMemberPowerInStrategy","nodeType":"MemberAccess","referencedDeclaration":84375,"src":"13403:42:130","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view external returns (uint256)"}},"id":78459,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13403:65:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"13379:89:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":78461,"nodeType":"ExpressionStatement","src":"13379:89:130"}]},"functionSelector":"814516ad","implemented":true,"kind":"function","modifiers":[],"name":"activatePoints","nameLocation":"13133:14:130","parameters":{"id":78425,"nodeType":"ParameterList","parameters":[],"src":"13147:2:130"},"returnParameters":{"id":78426,"nodeType":"ParameterList","parameters":[],"src":"13159:0:130"},"scope":80578,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":78472,"nodeType":"FunctionDefinition","src":"13481:81:130","nodes":[],"body":{"id":78471,"nodeType":"Block","src":"13516:46:130","nodes":[],"statements":[{"expression":{"arguments":[{"expression":{"id":78467,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"13544:3:130","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":78468,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13548:6:130","memberName":"sender","nodeType":"MemberAccess","src":"13544:10:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":78466,"name":"_deactivatePoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78520,"src":"13526:17:130","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":78469,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13526:29:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78470,"nodeType":"ExpressionStatement","src":"13526:29:130"}]},"functionSelector":"1ddf1e23","implemented":true,"kind":"function","modifiers":[],"name":"deactivatePoints","nameLocation":"13490:16:130","parameters":{"id":78464,"nodeType":"ParameterList","parameters":[],"src":"13506:2:130"},"returnParameters":{"id":78465,"nodeType":"ParameterList","parameters":[],"src":"13516:0:130"},"scope":80578,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":78485,"nodeType":"FunctionDefinition","src":"13568:128:130","nodes":[],"body":{"id":78484,"nodeType":"Block","src":"13620:76:130","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":78477,"name":"onlyRegistryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78194,"src":"13630:21:130","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":78478,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13630:23:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78479,"nodeType":"ExpressionStatement","src":"13630:23:130"},{"expression":{"arguments":[{"id":78481,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78474,"src":"13681:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":78480,"name":"_deactivatePoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78520,"src":"13663:17:130","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":78482,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13663:26:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78483,"nodeType":"ExpressionStatement","src":"13663:26:130"}]},"baseFunctions":[77642],"functionSelector":"6453d9c4","implemented":true,"kind":"function","modifiers":[],"name":"deactivatePoints","nameLocation":"13577:16:130","parameters":{"id":78475,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78474,"mutability":"mutable","name":"_member","nameLocation":"13602:7:130","nodeType":"VariableDeclaration","scope":78485,"src":"13594:15:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":78473,"name":"address","nodeType":"ElementaryTypeName","src":"13594:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"13593:17:130"},"returnParameters":{"id":78476,"nodeType":"ParameterList","parameters":[],"src":"13620:0:130"},"scope":80578,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":78520,"nodeType":"FunctionDefinition","src":"13702:351:130","nodes":[],"body":{"id":78519,"nodeType":"Block","src":"13755:298:130","nodes":[],"statements":[{"expression":{"id":78499,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":78490,"name":"totalPointsActivated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77944,"src":"13765:20:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"arguments":[{"id":78493,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78487,"src":"13832:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":78496,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"13849:4:130","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$80578","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$80578","typeString":"contract CVStrategyV0_0"}],"id":78495,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13841:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":78494,"name":"address","nodeType":"ElementaryTypeName","src":"13841:7:130","typeDescriptions":{}}},"id":78497,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13841:13:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":78491,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77961,"src":"13789:17:130","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"}},"id":78492,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13807:24:130","memberName":"getMemberPowerInStrategy","nodeType":"MemberAccess","referencedDeclaration":84375,"src":"13789:42:130","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view external returns (uint256)"}},"id":78498,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13789:66:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"13765:90:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":78500,"nodeType":"ExpressionStatement","src":"13765:90:130"},{"expression":{"arguments":[{"id":78504,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78487,"src":"13910:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":78507,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"13927:4:130","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$80578","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$80578","typeString":"contract CVStrategyV0_0"}],"id":78506,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13919:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":78505,"name":"address","nodeType":"ElementaryTypeName","src":"13919:7:130","typeDescriptions":{}}},"id":78508,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13919:13:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":78501,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77961,"src":"13865:17:130","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"}},"id":78503,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13883:26:130","memberName":"deactivateMemberInStrategy","nodeType":"MemberAccess","referencedDeclaration":84052,"src":"13865:44:130","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address) external"}},"id":78509,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13865:68:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78510,"nodeType":"ExpressionStatement","src":"13865:68:130"},{"expression":{"arguments":[{"id":78512,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78487,"src":"13997:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":78511,"name":"withdraw","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79422,"src":"13988:8:130","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":78513,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13988:17:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78514,"nodeType":"ExpressionStatement","src":"13988:17:130"},{"eventCall":{"arguments":[{"id":78516,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78487,"src":"14038:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":78515,"name":"PointsDeactivated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77894,"src":"14020:17:130","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":78517,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14020:26:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78518,"nodeType":"EmitStatement","src":"14015:31:130"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_deactivatePoints","nameLocation":"13711:17:130","parameters":{"id":78488,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78487,"mutability":"mutable","name":"_member","nameLocation":"13737:7:130","nodeType":"VariableDeclaration","scope":78520,"src":"13729:15:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":78486,"name":"address","nodeType":"ElementaryTypeName","src":"13729:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"13728:17:130"},"returnParameters":{"id":78489,"nodeType":"ParameterList","parameters":[],"src":"13755:0:130"},"scope":80578,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":78613,"nodeType":"FunctionDefinition","src":"14059:1057:130","nodes":[],"body":{"id":78612,"nodeType":"Block","src":"14150:966:130","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":78529,"name":"onlyRegistryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78194,"src":"14205:21:130","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":78530,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14205:23:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78531,"nodeType":"ExpressionStatement","src":"14205:23:130"},{"condition":{"id":78535,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"14242:27:130","subExpression":{"arguments":[{"id":78533,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78522,"src":"14261:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":78532,"name":"_canExecuteAction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78240,"src":"14243:17:130","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":78534,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14243:26:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":78540,"nodeType":"IfStatement","src":"14238:90:130","trueBody":{"id":78539,"nodeType":"Block","src":"14271:57:130","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":78536,"name":"UserCannotExecuteAction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77837,"src":"14292:23:130","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":78537,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14292:25:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78538,"nodeType":"RevertStatement","src":"14285:32:130"}]}},{"assignments":[78542],"declarations":[{"constant":false,"id":78542,"mutability":"mutable","name":"pointsToIncrease","nameLocation":"14345:16:130","nodeType":"VariableDeclaration","scope":78612,"src":"14337:24:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78541,"name":"uint256","nodeType":"ElementaryTypeName","src":"14337:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":78544,"initialValue":{"hexValue":"30","id":78543,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14364:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"14337:28:130"},{"condition":{"commonType":{"typeIdentifier":"t_enum$_PointSystem_$77676","typeString":"enum StrategyStruct.PointSystem"},"id":78549,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":78545,"name":"pointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77955,"src":"14379:11:130","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$77676","typeString":"enum StrategyStruct.PointSystem"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":78546,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77752,"src":"14394:14:130","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$77752_$","typeString":"type(library StrategyStruct)"}},"id":78547,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14409:11:130","memberName":"PointSystem","nodeType":"MemberAccess","referencedDeclaration":77676,"src":"14394:26:130","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_PointSystem_$77676_$","typeString":"type(enum StrategyStruct.PointSystem)"}},"id":78548,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"14421:9:130","memberName":"Unlimited","nodeType":"MemberAccess","referencedDeclaration":77674,"src":"14394:36:130","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$77676","typeString":"enum StrategyStruct.PointSystem"}},"src":"14379:51:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_enum$_PointSystem_$77676","typeString":"enum StrategyStruct.PointSystem"},"id":78561,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":78557,"name":"pointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77955,"src":"14524:11:130","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$77676","typeString":"enum StrategyStruct.PointSystem"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":78558,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77752,"src":"14539:14:130","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$77752_$","typeString":"type(library StrategyStruct)"}},"id":78559,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14554:11:130","memberName":"PointSystem","nodeType":"MemberAccess","referencedDeclaration":77676,"src":"14539:26:130","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_PointSystem_$77676_$","typeString":"type(enum StrategyStruct.PointSystem)"}},"id":78560,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"14566:6:130","memberName":"Capped","nodeType":"MemberAccess","referencedDeclaration":77673,"src":"14539:33:130","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$77676","typeString":"enum StrategyStruct.PointSystem"}},"src":"14524:48:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_enum$_PointSystem_$77676","typeString":"enum StrategyStruct.PointSystem"},"id":78574,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":78570,"name":"pointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77955,"src":"14672:11:130","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$77676","typeString":"enum StrategyStruct.PointSystem"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":78571,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77752,"src":"14687:14:130","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$77752_$","typeString":"type(library StrategyStruct)"}},"id":78572,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14702:11:130","memberName":"PointSystem","nodeType":"MemberAccess","referencedDeclaration":77676,"src":"14687:26:130","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_PointSystem_$77676_$","typeString":"type(enum StrategyStruct.PointSystem)"}},"id":78573,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"14714:9:130","memberName":"Quadratic","nodeType":"MemberAccess","referencedDeclaration":77675,"src":"14687:36:130","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$77676","typeString":"enum StrategyStruct.PointSystem"}},"src":"14672:51:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":78583,"nodeType":"IfStatement","src":"14668:148:130","trueBody":{"id":78582,"nodeType":"Block","src":"14725:91:130","statements":[{"expression":{"id":78580,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":78575,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78542,"src":"14739:16:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":78577,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78522,"src":"14781:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":78578,"name":"_amountToStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78524,"src":"14790:14:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":78576,"name":"increasePowerQuadratic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78826,"src":"14758:22:130","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256) view returns (uint256)"}},"id":78579,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14758:47:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"14739:66:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":78581,"nodeType":"ExpressionStatement","src":"14739:66:130"}]}},"id":78584,"nodeType":"IfStatement","src":"14520:296:130","trueBody":{"id":78569,"nodeType":"Block","src":"14574:88:130","statements":[{"expression":{"id":78567,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":78562,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78542,"src":"14588:16:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":78564,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78522,"src":"14627:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":78565,"name":"_amountToStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78524,"src":"14636:14:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":78563,"name":"increasePowerCapped","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78742,"src":"14607:19:130","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256) view returns (uint256)"}},"id":78566,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14607:44:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"14588:63:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":78568,"nodeType":"ExpressionStatement","src":"14588:63:130"}]}},"id":78585,"nodeType":"IfStatement","src":"14375:441:130","trueBody":{"id":78556,"nodeType":"Block","src":"14432:82:130","statements":[{"expression":{"id":78554,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":78550,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78542,"src":"14446:16:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":78552,"name":"_amountToStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78524,"src":"14488:14:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":78551,"name":"increasePowerUnlimited","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78679,"src":"14465:22:130","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":78553,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14465:38:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"14446:57:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":78555,"nodeType":"ExpressionStatement","src":"14446:57:130"}]}},{"assignments":[78587],"declarations":[{"constant":false,"id":78587,"mutability":"mutable","name":"isActivated","nameLocation":"14830:11:130","nodeType":"VariableDeclaration","scope":78612,"src":"14825:16:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":78586,"name":"bool","nodeType":"ElementaryTypeName","src":"14825:4:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":78596,"initialValue":{"arguments":[{"id":78590,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78522,"src":"14890:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":78593,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"14907:4:130","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$80578","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$80578","typeString":"contract CVStrategyV0_0"}],"id":78592,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"14899:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":78591,"name":"address","nodeType":"ElementaryTypeName","src":"14899:7:130","typeDescriptions":{}}},"id":78594,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14899:13:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":78588,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77961,"src":"14844:17:130","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"}},"id":78589,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14862:27:130","memberName":"memberActivatedInStrategies","nodeType":"MemberAccess","referencedDeclaration":83234,"src":"14844:45:130","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_bool_$","typeString":"function (address,address) view external returns (bool)"}},"id":78595,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14844:69:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"VariableDeclarationStatement","src":"14825:88:130"},{"condition":{"id":78597,"name":"isActivated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78587,"src":"14927:11:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":78603,"nodeType":"IfStatement","src":"14923:82:130","trueBody":{"id":78602,"nodeType":"Block","src":"14940:65:130","statements":[{"expression":{"id":78600,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":78598,"name":"totalPointsActivated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77944,"src":"14954:20:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"id":78599,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78542,"src":"14978:16:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"14954:40:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":78601,"nodeType":"ExpressionStatement","src":"14954:40:130"}]}},{"eventCall":{"arguments":[{"id":78605,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78522,"src":"15034:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":78606,"name":"_amountToStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78524,"src":"15043:14:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":78607,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78542,"src":"15059:16:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":78604,"name":"PowerIncreased","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77870,"src":"15019:14:130","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (address,uint256,uint256)"}},"id":78608,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15019:57:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78609,"nodeType":"EmitStatement","src":"15014:62:130"},{"expression":{"id":78610,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78542,"src":"15093:16:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":78528,"id":78611,"nodeType":"Return","src":"15086:23:130"}]},"baseFunctions":[77651],"functionSelector":"782aadff","implemented":true,"kind":"function","modifiers":[],"name":"increasePower","nameLocation":"14068:13:130","parameters":{"id":78525,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78522,"mutability":"mutable","name":"_member","nameLocation":"14090:7:130","nodeType":"VariableDeclaration","scope":78613,"src":"14082:15:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":78521,"name":"address","nodeType":"ElementaryTypeName","src":"14082:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":78524,"mutability":"mutable","name":"_amountToStake","nameLocation":"14107:14:130","nodeType":"VariableDeclaration","scope":78613,"src":"14099:22:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78523,"name":"uint256","nodeType":"ElementaryTypeName","src":"14099:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"14081:41:130"},"returnParameters":{"id":78528,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78527,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":78613,"src":"14141:7:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78526,"name":"uint256","nodeType":"ElementaryTypeName","src":"14141:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"14140:9:130"},"scope":80578,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":78669,"nodeType":"FunctionDefinition","src":"15122:681:130","nodes":[],"body":{"id":78668,"nodeType":"Block","src":"15215:588:130","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":78622,"name":"onlyRegistryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78194,"src":"15225:21:130","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":78623,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15225:23:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78624,"nodeType":"ExpressionStatement","src":"15225:23:130"},{"assignments":[78626],"declarations":[{"constant":false,"id":78626,"mutability":"mutable","name":"pointsToDecrease","nameLocation":"15312:16:130","nodeType":"VariableDeclaration","scope":78668,"src":"15304:24:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78625,"name":"uint256","nodeType":"ElementaryTypeName","src":"15304:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":78628,"initialValue":{"hexValue":"30","id":78627,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15331:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"15304:28:130"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":78639,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_enum$_PointSystem_$77676","typeString":"enum StrategyStruct.PointSystem"},"id":78633,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":78629,"name":"pointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77955,"src":"15346:11:130","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$77676","typeString":"enum StrategyStruct.PointSystem"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":78630,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77752,"src":"15361:14:130","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$77752_$","typeString":"type(library StrategyStruct)"}},"id":78631,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15376:11:130","memberName":"PointSystem","nodeType":"MemberAccess","referencedDeclaration":77676,"src":"15361:26:130","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_PointSystem_$77676_$","typeString":"type(enum StrategyStruct.PointSystem)"}},"id":78632,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"15388:9:130","memberName":"Unlimited","nodeType":"MemberAccess","referencedDeclaration":77674,"src":"15361:36:130","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$77676","typeString":"enum StrategyStruct.PointSystem"}},"src":"15346:51:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_enum$_PointSystem_$77676","typeString":"enum StrategyStruct.PointSystem"},"id":78638,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":78634,"name":"pointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77955,"src":"15401:11:130","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$77676","typeString":"enum StrategyStruct.PointSystem"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":78635,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77752,"src":"15416:14:130","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$77752_$","typeString":"type(library StrategyStruct)"}},"id":78636,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15431:11:130","memberName":"PointSystem","nodeType":"MemberAccess","referencedDeclaration":77676,"src":"15416:26:130","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_PointSystem_$77676_$","typeString":"type(enum StrategyStruct.PointSystem)"}},"id":78637,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"15443:6:130","memberName":"Capped","nodeType":"MemberAccess","referencedDeclaration":77673,"src":"15416:33:130","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$77676","typeString":"enum StrategyStruct.PointSystem"}},"src":"15401:48:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"15346:103:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":78654,"nodeType":"Block","src":"15547:93:130","statements":[{"expression":{"id":78652,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":78647,"name":"pointsToDecrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78626,"src":"15561:16:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":78649,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78615,"src":"15603:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":78650,"name":"_amountToUnstake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78617,"src":"15612:16:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":78648,"name":"decreasePowerQuadratic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78930,"src":"15580:22:130","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256) view returns (uint256)"}},"id":78651,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15580:49:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"15561:68:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":78653,"nodeType":"ExpressionStatement","src":"15561:68:130"}]},"id":78655,"nodeType":"IfStatement","src":"15342:298:130","trueBody":{"id":78646,"nodeType":"Block","src":"15451:90:130","statements":[{"expression":{"id":78644,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":78640,"name":"pointsToDecrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78626,"src":"15465:16:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":78642,"name":"_amountToUnstake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78617,"src":"15513:16:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":78641,"name":"decreasePowerCappedUnlimited","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78836,"src":"15484:28:130","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":78643,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15484:46:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"15465:65:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":78645,"nodeType":"ExpressionStatement","src":"15465:65:130"}]}},{"expression":{"id":78658,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":78656,"name":"totalPointsActivated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77944,"src":"15649:20:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"id":78657,"name":"pointsToDecrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78626,"src":"15673:16:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"15649:40:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":78659,"nodeType":"ExpressionStatement","src":"15649:40:130"},{"eventCall":{"arguments":[{"id":78661,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78615,"src":"15719:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":78662,"name":"_amountToUnstake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78617,"src":"15728:16:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":78663,"name":"pointsToDecrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78626,"src":"15746:16:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":78660,"name":"PowerDecreased","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77878,"src":"15704:14:130","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (address,uint256,uint256)"}},"id":78664,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15704:59:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78665,"nodeType":"EmitStatement","src":"15699:64:130"},{"expression":{"id":78666,"name":"pointsToDecrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78626,"src":"15780:16:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":78621,"id":78667,"nodeType":"Return","src":"15773:23:130"}]},"baseFunctions":[77660],"functionSelector":"2ed04b2b","implemented":true,"kind":"function","modifiers":[],"name":"decreasePower","nameLocation":"15131:13:130","parameters":{"id":78618,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78615,"mutability":"mutable","name":"_member","nameLocation":"15153:7:130","nodeType":"VariableDeclaration","scope":78669,"src":"15145:15:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":78614,"name":"address","nodeType":"ElementaryTypeName","src":"15145:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":78617,"mutability":"mutable","name":"_amountToUnstake","nameLocation":"15170:16:130","nodeType":"VariableDeclaration","scope":78669,"src":"15162:24:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78616,"name":"uint256","nodeType":"ElementaryTypeName","src":"15162:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15144:43:130"},"returnParameters":{"id":78621,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78620,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":78669,"src":"15206:7:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78619,"name":"uint256","nodeType":"ElementaryTypeName","src":"15206:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15205:9:130"},"scope":80578,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":78679,"nodeType":"FunctionDefinition","src":"15809:126:130","nodes":[],"body":{"id":78678,"nodeType":"Block","src":"15897:38:130","nodes":[],"statements":[{"expression":{"id":78676,"name":"_amountToStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78671,"src":"15914:14:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":78675,"id":78677,"nodeType":"Return","src":"15907:21:130"}]},"implemented":true,"kind":"function","modifiers":[],"name":"increasePowerUnlimited","nameLocation":"15818:22:130","parameters":{"id":78672,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78671,"mutability":"mutable","name":"_amountToStake","nameLocation":"15849:14:130","nodeType":"VariableDeclaration","scope":78679,"src":"15841:22:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78670,"name":"uint256","nodeType":"ElementaryTypeName","src":"15841:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15840:24:130"},"returnParameters":{"id":78675,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78674,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":78679,"src":"15888:7:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78673,"name":"uint256","nodeType":"ElementaryTypeName","src":"15888:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15887:9:130"},"scope":80578,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":78742,"nodeType":"FunctionDefinition","src":"15941:615:130","nodes":[],"body":{"id":78741,"nodeType":"Block","src":"16043:513:130","nodes":[],"statements":[{"assignments":[78689],"declarations":[{"constant":false,"id":78689,"mutability":"mutable","name":"pointsToIncrease","nameLocation":"16061:16:130","nodeType":"VariableDeclaration","scope":78741,"src":"16053:24:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78688,"name":"uint256","nodeType":"ElementaryTypeName","src":"16053:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":78691,"initialValue":{"id":78690,"name":"_amountToStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78683,"src":"16080:14:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"16053:41:130"},{"expression":{"arguments":[{"hexValue":"504f494e545320544f20494e435245415345","id":78695,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"16116:20:130","typeDescriptions":{"typeIdentifier":"t_stringliteral_ef3d3d59430373ce7e3d099486636fe73635f3082757c009fe2ef0b043a4ebb1","typeString":"literal_string \"POINTS TO INCREASE\""},"value":"POINTS TO INCREASE"},{"id":78696,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78689,"src":"16138:16:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ef3d3d59430373ce7e3d099486636fe73635f3082757c009fe2ef0b043a4ebb1","typeString":"literal_string \"POINTS TO INCREASE\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":78692,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29549,"src":"16104:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$29549_$","typeString":"type(library console)"}},"id":78694,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16112:3:130","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":22193,"src":"16104:11:130","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":78697,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16104:51:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78698,"nodeType":"ExpressionStatement","src":"16104:51:130"},{"assignments":[78700],"declarations":[{"constant":false,"id":78700,"mutability":"mutable","name":"memberPower","nameLocation":"16173:11:130","nodeType":"VariableDeclaration","scope":78741,"src":"16165:19:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78699,"name":"uint256","nodeType":"ElementaryTypeName","src":"16165:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":78709,"initialValue":{"arguments":[{"id":78703,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78681,"src":"16230:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":78706,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"16247:4:130","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$80578","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$80578","typeString":"contract CVStrategyV0_0"}],"id":78705,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16239:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":78704,"name":"address","nodeType":"ElementaryTypeName","src":"16239:7:130","typeDescriptions":{}}},"id":78707,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16239:13:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":78701,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77961,"src":"16187:17:130","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"}},"id":78702,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16205:24:130","memberName":"getMemberPowerInStrategy","nodeType":"MemberAccess","referencedDeclaration":84375,"src":"16187:42:130","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view external returns (uint256)"}},"id":78708,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16187:66:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"16165:88:130"},{"expression":{"arguments":[{"hexValue":"4d454d424552504f574552","id":78713,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"16275:13:130","typeDescriptions":{"typeIdentifier":"t_stringliteral_d53146c44856b98b9530413c868d7a3bea9675ba78d0918c9dbfa4f905f5c3e8","typeString":"literal_string \"MEMBERPOWER\""},"value":"MEMBERPOWER"},{"id":78714,"name":"memberPower","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78700,"src":"16290:11:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_d53146c44856b98b9530413c868d7a3bea9675ba78d0918c9dbfa4f905f5c3e8","typeString":"literal_string \"MEMBERPOWER\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":78710,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29549,"src":"16263:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$29549_$","typeString":"type(library console)"}},"id":78712,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16271:3:130","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":22193,"src":"16263:11:130","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":78715,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16263:39:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78716,"nodeType":"ExpressionStatement","src":"16263:39:130"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":78722,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":78719,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":78717,"name":"memberPower","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78700,"src":"16316:11:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":78718,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78689,"src":"16330:16:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16316:30:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"expression":{"id":78720,"name":"pointConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77958,"src":"16349:11:130","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$77729_storage","typeString":"struct StrategyStruct.PointSystemConfig storage ref"}},"id":78721,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"16361:9:130","memberName":"maxAmount","nodeType":"MemberAccess","referencedDeclaration":77728,"src":"16349:21:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16316:54:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":78731,"nodeType":"IfStatement","src":"16312:139:130","trueBody":{"id":78730,"nodeType":"Block","src":"16372:79:130","statements":[{"expression":{"id":78728,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":78723,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78689,"src":"16386:16:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":78727,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":78724,"name":"pointConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77958,"src":"16405:11:130","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$77729_storage","typeString":"struct StrategyStruct.PointSystemConfig storage ref"}},"id":78725,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"16417:9:130","memberName":"maxAmount","nodeType":"MemberAccess","referencedDeclaration":77728,"src":"16405:21:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":78726,"name":"memberPower","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78700,"src":"16429:11:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16405:35:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16386:54:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":78729,"nodeType":"ExpressionStatement","src":"16386:54:130"}]}},{"expression":{"arguments":[{"hexValue":"504f494e545320544f20494e43524541534520454e44","id":78735,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"16472:24:130","typeDescriptions":{"typeIdentifier":"t_stringliteral_7339ba314bb001e1fd9993d42999dceed278cc5b138b69398be73c13fb666826","typeString":"literal_string \"POINTS TO INCREASE END\""},"value":"POINTS TO INCREASE END"},{"id":78736,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78689,"src":"16498:16:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_7339ba314bb001e1fd9993d42999dceed278cc5b138b69398be73c13fb666826","typeString":"literal_string \"POINTS TO INCREASE END\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":78732,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29549,"src":"16460:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$29549_$","typeString":"type(library console)"}},"id":78734,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16468:3:130","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":22193,"src":"16460:11:130","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":78737,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16460:55:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78738,"nodeType":"ExpressionStatement","src":"16460:55:130"},{"expression":{"id":78739,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78689,"src":"16533:16:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":78687,"id":78740,"nodeType":"Return","src":"16526:23:130"}]},"implemented":true,"kind":"function","modifiers":[],"name":"increasePowerCapped","nameLocation":"15950:19:130","parameters":{"id":78684,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78681,"mutability":"mutable","name":"_member","nameLocation":"15978:7:130","nodeType":"VariableDeclaration","scope":78742,"src":"15970:15:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":78680,"name":"address","nodeType":"ElementaryTypeName","src":"15970:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":78683,"mutability":"mutable","name":"_amountToStake","nameLocation":"15995:14:130","nodeType":"VariableDeclaration","scope":78742,"src":"15987:22:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78682,"name":"uint256","nodeType":"ElementaryTypeName","src":"15987:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15969:41:130"},"returnParameters":{"id":78687,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78686,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":78742,"src":"16034:7:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78685,"name":"uint256","nodeType":"ElementaryTypeName","src":"16034:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"16033:9:130"},"scope":80578,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":78826,"nodeType":"FunctionDefinition","src":"16562:730:130","nodes":[],"body":{"id":78825,"nodeType":"Block","src":"16667:625:130","nodes":[],"statements":[{"assignments":[78752],"declarations":[{"constant":false,"id":78752,"mutability":"mutable","name":"totalStake","nameLocation":"16685:10:130","nodeType":"VariableDeclaration","scope":78825,"src":"16677:18:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78751,"name":"uint256","nodeType":"ElementaryTypeName","src":"16677:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":78759,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":78758,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":78755,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78744,"src":"16738:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":78753,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77961,"src":"16698:17:130","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"}},"id":78754,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16716:21:130","memberName":"getMemberStakedAmount","nodeType":"MemberAccess","referencedDeclaration":84388,"src":"16698:39:130","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":78756,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16698:48:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":78757,"name":"_amountToStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78746,"src":"16749:14:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16698:65:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"16677:86:130"},{"assignments":[78761],"declarations":[{"constant":false,"id":78761,"mutability":"mutable","name":"decimal","nameLocation":"16782:7:130","nodeType":"VariableDeclaration","scope":78825,"src":"16774:15:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78760,"name":"uint256","nodeType":"ElementaryTypeName","src":"16774:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":78763,"initialValue":{"hexValue":"3138","id":78762,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16792:2:130","typeDescriptions":{"typeIdentifier":"t_rational_18_by_1","typeString":"int_const 18"},"value":"18"},"nodeType":"VariableDeclarationStatement","src":"16774:20:130"},{"clauses":[{"block":{"id":78784,"nodeType":"Block","src":"16892:52:130","statements":[{"expression":{"id":78782,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":78777,"name":"decimal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78761,"src":"16906:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":78780,"name":"_decimal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78775,"src":"16924:8:130","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint8","typeString":"uint8"}],"id":78779,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16916:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":78778,"name":"uint256","nodeType":"ElementaryTypeName","src":"16916:7:130","typeDescriptions":{}}},"id":78781,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16916:17:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16906:27:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":78783,"nodeType":"ExpressionStatement","src":"16906:27:130"}]},"errorName":"","id":78785,"nodeType":"TryCatchClause","parameters":{"id":78776,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78775,"mutability":"mutable","name":"_decimal","nameLocation":"16882:8:130","nodeType":"VariableDeclaration","scope":78785,"src":"16876:14:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":78774,"name":"uint8","nodeType":"ElementaryTypeName","src":"16876:5:130","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"16875:16:130"},"src":"16867:77:130"},{"block":{"id":78792,"nodeType":"Block","src":"16951:61:130","statements":[{"expression":{"arguments":[{"hexValue":"4572726f722067657474696e6720646563696d616c","id":78789,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"16977:23:130","typeDescriptions":{"typeIdentifier":"t_stringliteral_add5b7e354bcd4eb0c69c8b5bd8a8dca27c903f694ea26b234a6605e7f62de4d","typeString":"literal_string \"Error getting decimal\""},"value":"Error getting decimal"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_add5b7e354bcd4eb0c69c8b5bd8a8dca27c903f694ea26b234a6605e7f62de4d","typeString":"literal_string \"Error getting decimal\""}],"expression":{"id":78786,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29549,"src":"16965:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$29549_$","typeString":"type(library console)"}},"id":78788,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16973:3:130","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":22080,"src":"16965:11:130","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) view"}},"id":78790,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16965:36:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78791,"nodeType":"ExpressionStatement","src":"16965:36:130"}]},"errorName":"","id":78793,"nodeType":"TryCatchClause","src":"16945:67:130"}],"externalCall":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":78767,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77961,"src":"16822:17:130","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"}},"id":78768,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16840:11:130","memberName":"gardenToken","nodeType":"MemberAccess","referencedDeclaration":83189,"src":"16822:29:130","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_contract$_IERC20_$57069_$","typeString":"function () view external returns (contract IERC20)"}},"id":78769,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16822:31:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$57069","typeString":"contract IERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$57069","typeString":"contract IERC20"}],"id":78766,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16814:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":78765,"name":"address","nodeType":"ElementaryTypeName","src":"16814:7:130","typeDescriptions":{}}},"id":78770,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16814:40:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":78764,"name":"ERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56991,"src":"16808:5:130","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ERC20_$56991_$","typeString":"type(contract ERC20)"}},"id":78771,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16808:47:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ERC20_$56991","typeString":"contract ERC20"}},"id":78772,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16856:8:130","memberName":"decimals","nodeType":"MemberAccess","referencedDeclaration":56479,"src":"16808:56:130","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint8_$","typeString":"function () view external returns (uint8)"}},"id":78773,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16808:58:130","tryCall":true,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":78794,"nodeType":"TryStatement","src":"16804:208:130"},{"assignments":[78796],"declarations":[{"constant":false,"id":78796,"mutability":"mutable","name":"newTotalPoints","nameLocation":"17029:14:130","nodeType":"VariableDeclaration","scope":78825,"src":"17021:22:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78795,"name":"uint256","nodeType":"ElementaryTypeName","src":"17021:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":78805,"initialValue":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":78803,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":78799,"name":"totalStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78752,"src":"17056:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":78802,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":78800,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17069:2:130","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"id":78801,"name":"decimal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78761,"src":"17075:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17069:13:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17056:26:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":78797,"name":"Math","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59338,"src":"17046:4:130","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Math_$59338_$","typeString":"type(library Math)"}},"id":78798,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17051:4:130","memberName":"sqrt","nodeType":"MemberAccess","referencedDeclaration":58842,"src":"17046:9:130","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":78804,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17046:37:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"17021:62:130"},{"assignments":[78807],"declarations":[{"constant":false,"id":78807,"mutability":"mutable","name":"currentPoints","nameLocation":"17101:13:130","nodeType":"VariableDeclaration","scope":78825,"src":"17093:21:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78806,"name":"uint256","nodeType":"ElementaryTypeName","src":"17093:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":78816,"initialValue":{"arguments":[{"id":78810,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78744,"src":"17160:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":78813,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"17177:4:130","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$80578","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$80578","typeString":"contract CVStrategyV0_0"}],"id":78812,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"17169:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":78811,"name":"address","nodeType":"ElementaryTypeName","src":"17169:7:130","typeDescriptions":{}}},"id":78814,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17169:13:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":78808,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77961,"src":"17117:17:130","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"}},"id":78809,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17135:24:130","memberName":"getMemberPowerInStrategy","nodeType":"MemberAccess","referencedDeclaration":84375,"src":"17117:42:130","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view external returns (uint256)"}},"id":78815,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17117:66:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"17093:90:130"},{"assignments":[78818],"declarations":[{"constant":false,"id":78818,"mutability":"mutable","name":"pointsToIncrease","nameLocation":"17202:16:130","nodeType":"VariableDeclaration","scope":78825,"src":"17194:24:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78817,"name":"uint256","nodeType":"ElementaryTypeName","src":"17194:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":78822,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":78821,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":78819,"name":"newTotalPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78796,"src":"17221:14:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":78820,"name":"currentPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78807,"src":"17238:13:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17221:30:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"17194:57:130"},{"expression":{"id":78823,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78818,"src":"17269:16:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":78750,"id":78824,"nodeType":"Return","src":"17262:23:130"}]},"implemented":true,"kind":"function","modifiers":[],"name":"increasePowerQuadratic","nameLocation":"16571:22:130","parameters":{"id":78747,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78744,"mutability":"mutable","name":"_member","nameLocation":"16602:7:130","nodeType":"VariableDeclaration","scope":78826,"src":"16594:15:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":78743,"name":"address","nodeType":"ElementaryTypeName","src":"16594:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":78746,"mutability":"mutable","name":"_amountToStake","nameLocation":"16619:14:130","nodeType":"VariableDeclaration","scope":78826,"src":"16611:22:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78745,"name":"uint256","nodeType":"ElementaryTypeName","src":"16611:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"16593:41:130"},"returnParameters":{"id":78750,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78749,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":78826,"src":"16658:7:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78748,"name":"uint256","nodeType":"ElementaryTypeName","src":"16658:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"16657:9:130"},"scope":80578,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":78836,"nodeType":"FunctionDefinition","src":"17298:136:130","nodes":[],"body":{"id":78835,"nodeType":"Block","src":"17394:40:130","nodes":[],"statements":[{"expression":{"id":78833,"name":"_amountToUnstake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78828,"src":"17411:16:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":78832,"id":78834,"nodeType":"Return","src":"17404:23:130"}]},"implemented":true,"kind":"function","modifiers":[],"name":"decreasePowerCappedUnlimited","nameLocation":"17307:28:130","parameters":{"id":78829,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78828,"mutability":"mutable","name":"_amountToUnstake","nameLocation":"17344:16:130","nodeType":"VariableDeclaration","scope":78836,"src":"17336:24:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78827,"name":"uint256","nodeType":"ElementaryTypeName","src":"17336:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"17335:26:130"},"returnParameters":{"id":78832,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78831,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":78836,"src":"17385:7:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78830,"name":"uint256","nodeType":"ElementaryTypeName","src":"17385:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"17384:9:130"},"scope":80578,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":78930,"nodeType":"FunctionDefinition","src":"17440:802:130","nodes":[],"body":{"id":78929,"nodeType":"Block","src":"17547:695:130","nodes":[],"statements":[{"assignments":[78846],"declarations":[{"constant":false,"id":78846,"mutability":"mutable","name":"decimal","nameLocation":"17565:7:130","nodeType":"VariableDeclaration","scope":78929,"src":"17557:15:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78845,"name":"uint256","nodeType":"ElementaryTypeName","src":"17557:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":78848,"initialValue":{"hexValue":"3138","id":78847,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17575:2:130","typeDescriptions":{"typeIdentifier":"t_rational_18_by_1","typeString":"int_const 18"},"value":"18"},"nodeType":"VariableDeclarationStatement","src":"17557:20:130"},{"clauses":[{"block":{"id":78869,"nodeType":"Block","src":"17675:52:130","statements":[{"expression":{"id":78867,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":78862,"name":"decimal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78846,"src":"17689:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":78865,"name":"_decimal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78860,"src":"17707:8:130","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint8","typeString":"uint8"}],"id":78864,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"17699:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":78863,"name":"uint256","nodeType":"ElementaryTypeName","src":"17699:7:130","typeDescriptions":{}}},"id":78866,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17699:17:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17689:27:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":78868,"nodeType":"ExpressionStatement","src":"17689:27:130"}]},"errorName":"","id":78870,"nodeType":"TryCatchClause","parameters":{"id":78861,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78860,"mutability":"mutable","name":"_decimal","nameLocation":"17665:8:130","nodeType":"VariableDeclaration","scope":78870,"src":"17659:14:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":78859,"name":"uint8","nodeType":"ElementaryTypeName","src":"17659:5:130","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"17658:16:130"},"src":"17650:77:130"},{"block":{"id":78877,"nodeType":"Block","src":"17734:61:130","statements":[{"expression":{"arguments":[{"hexValue":"4572726f722067657474696e6720646563696d616c","id":78874,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"17760:23:130","typeDescriptions":{"typeIdentifier":"t_stringliteral_add5b7e354bcd4eb0c69c8b5bd8a8dca27c903f694ea26b234a6605e7f62de4d","typeString":"literal_string \"Error getting decimal\""},"value":"Error getting decimal"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_add5b7e354bcd4eb0c69c8b5bd8a8dca27c903f694ea26b234a6605e7f62de4d","typeString":"literal_string \"Error getting decimal\""}],"expression":{"id":78871,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29549,"src":"17748:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$29549_$","typeString":"type(library console)"}},"id":78873,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17756:3:130","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":22080,"src":"17748:11:130","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) view"}},"id":78875,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17748:36:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78876,"nodeType":"ExpressionStatement","src":"17748:36:130"}]},"errorName":"","id":78878,"nodeType":"TryCatchClause","src":"17728:67:130"}],"externalCall":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":78852,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77961,"src":"17605:17:130","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"}},"id":78853,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17623:11:130","memberName":"gardenToken","nodeType":"MemberAccess","referencedDeclaration":83189,"src":"17605:29:130","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_contract$_IERC20_$57069_$","typeString":"function () view external returns (contract IERC20)"}},"id":78854,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17605:31:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$57069","typeString":"contract IERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$57069","typeString":"contract IERC20"}],"id":78851,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"17597:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":78850,"name":"address","nodeType":"ElementaryTypeName","src":"17597:7:130","typeDescriptions":{}}},"id":78855,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17597:40:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":78849,"name":"ERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56991,"src":"17591:5:130","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ERC20_$56991_$","typeString":"type(contract ERC20)"}},"id":78856,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17591:47:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ERC20_$56991","typeString":"contract ERC20"}},"id":78857,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17639:8:130","memberName":"decimals","nodeType":"MemberAccess","referencedDeclaration":56479,"src":"17591:56:130","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint8_$","typeString":"function () view external returns (uint8)"}},"id":78858,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17591:58:130","tryCall":true,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":78879,"nodeType":"TryStatement","src":"17587:208:130"},{"expression":{"arguments":[{"hexValue":"5f616d6f756e74546f556e7374616b65","id":78883,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"17816:18:130","typeDescriptions":{"typeIdentifier":"t_stringliteral_dc5364d7a51b187c038e40e987076ae6dd611b7a72008e9d9acc88e3a526f2c2","typeString":"literal_string \"_amountToUnstake\""},"value":"_amountToUnstake"},{"id":78884,"name":"_amountToUnstake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78840,"src":"17836:16:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_dc5364d7a51b187c038e40e987076ae6dd611b7a72008e9d9acc88e3a526f2c2","typeString":"literal_string \"_amountToUnstake\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":78880,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29549,"src":"17804:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$29549_$","typeString":"type(library console)"}},"id":78882,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17812:3:130","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":22193,"src":"17804:11:130","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":78885,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17804:49:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78886,"nodeType":"ExpressionStatement","src":"17804:49:130"},{"assignments":[78888],"declarations":[{"constant":false,"id":78888,"mutability":"mutable","name":"newTotalStake","nameLocation":"17871:13:130","nodeType":"VariableDeclaration","scope":78929,"src":"17863:21:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78887,"name":"uint256","nodeType":"ElementaryTypeName","src":"17863:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":78895,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":78894,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":78891,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78838,"src":"17927:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":78889,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77961,"src":"17887:17:130","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"}},"id":78890,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17905:21:130","memberName":"getMemberStakedAmount","nodeType":"MemberAccess","referencedDeclaration":84388,"src":"17887:39:130","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":78892,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17887:48:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":78893,"name":"_amountToUnstake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78840,"src":"17938:16:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17887:67:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"17863:91:130"},{"expression":{"arguments":[{"hexValue":"6e6577546f74616c5374616b65","id":78899,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"17976:15:130","typeDescriptions":{"typeIdentifier":"t_stringliteral_e1d5e8d6d05577c9c30b6029c3158dfad77d5a239a04e4529b5b98f0ce2f7a79","typeString":"literal_string \"newTotalStake\""},"value":"newTotalStake"},{"id":78900,"name":"newTotalStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78888,"src":"17993:13:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e1d5e8d6d05577c9c30b6029c3158dfad77d5a239a04e4529b5b98f0ce2f7a79","typeString":"literal_string \"newTotalStake\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":78896,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29549,"src":"17964:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$29549_$","typeString":"type(library console)"}},"id":78898,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17972:3:130","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":22193,"src":"17964:11:130","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":78901,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17964:43:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78902,"nodeType":"ExpressionStatement","src":"17964:43:130"},{"assignments":[78904],"declarations":[{"constant":false,"id":78904,"mutability":"mutable","name":"newTotalPoints","nameLocation":"18025:14:130","nodeType":"VariableDeclaration","scope":78929,"src":"18017:22:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78903,"name":"uint256","nodeType":"ElementaryTypeName","src":"18017:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":78913,"initialValue":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":78911,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":78907,"name":"newTotalStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78888,"src":"18052:13:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":78910,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":78908,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18068:2:130","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"id":78909,"name":"decimal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78846,"src":"18074:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"18068:13:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"18052:29:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":78905,"name":"Math","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59338,"src":"18042:4:130","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Math_$59338_$","typeString":"type(library Math)"}},"id":78906,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18047:4:130","memberName":"sqrt","nodeType":"MemberAccess","referencedDeclaration":58842,"src":"18042:9:130","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":78912,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18042:40:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"18017:65:130"},{"assignments":[78915],"declarations":[{"constant":false,"id":78915,"mutability":"mutable","name":"pointsToDecrease","nameLocation":"18100:16:130","nodeType":"VariableDeclaration","scope":78929,"src":"18092:24:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78914,"name":"uint256","nodeType":"ElementaryTypeName","src":"18092:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":78926,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":78925,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":78918,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78838,"src":"18162:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":78921,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"18179:4:130","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$80578","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$80578","typeString":"contract CVStrategyV0_0"}],"id":78920,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"18171:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":78919,"name":"address","nodeType":"ElementaryTypeName","src":"18171:7:130","typeDescriptions":{}}},"id":78922,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18171:13:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":78916,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77961,"src":"18119:17:130","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"}},"id":78917,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18137:24:130","memberName":"getMemberPowerInStrategy","nodeType":"MemberAccess","referencedDeclaration":84375,"src":"18119:42:130","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view external returns (uint256)"}},"id":78923,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18119:66:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":78924,"name":"newTotalPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78904,"src":"18188:14:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"18119:83:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"18092:110:130"},{"expression":{"id":78927,"name":"pointsToDecrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78915,"src":"18219:16:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":78844,"id":78928,"nodeType":"Return","src":"18212:23:130"}]},"implemented":true,"kind":"function","modifiers":[],"name":"decreasePowerQuadratic","nameLocation":"17449:22:130","parameters":{"id":78841,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78838,"mutability":"mutable","name":"_member","nameLocation":"17480:7:130","nodeType":"VariableDeclaration","scope":78930,"src":"17472:15:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":78837,"name":"address","nodeType":"ElementaryTypeName","src":"17472:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":78840,"mutability":"mutable","name":"_amountToUnstake","nameLocation":"17497:16:130","nodeType":"VariableDeclaration","scope":78930,"src":"17489:24:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78839,"name":"uint256","nodeType":"ElementaryTypeName","src":"17489:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"17471:43:130"},"returnParameters":{"id":78844,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78843,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":78930,"src":"17538:7:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78842,"name":"uint256","nodeType":"ElementaryTypeName","src":"17538:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"17537:9:130"},"scope":80578,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":78939,"nodeType":"FunctionDefinition","src":"18248:99:130","nodes":[],"body":{"id":78938,"nodeType":"Block","src":"18302:45:130","nodes":[],"statements":[{"expression":{"expression":{"id":78935,"name":"pointConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77958,"src":"18319:11:130","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$77729_storage","typeString":"struct StrategyStruct.PointSystemConfig storage ref"}},"id":78936,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"18331:9:130","memberName":"maxAmount","nodeType":"MemberAccess","referencedDeclaration":77728,"src":"18319:21:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":78934,"id":78937,"nodeType":"Return","src":"18312:28:130"}]},"functionSelector":"0ba95909","implemented":true,"kind":"function","modifiers":[],"name":"getMaxAmount","nameLocation":"18257:12:130","parameters":{"id":78931,"nodeType":"ParameterList","parameters":[],"src":"18269:2:130"},"returnParameters":{"id":78934,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78933,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":78939,"src":"18293:7:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78932,"name":"uint256","nodeType":"ElementaryTypeName","src":"18293:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"18292:9:130"},"scope":80578,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":78948,"nodeType":"FunctionDefinition","src":"18353:110:130","nodes":[],"body":{"id":78947,"nodeType":"Block","src":"18428:35:130","nodes":[],"statements":[{"expression":{"id":78945,"name":"pointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77955,"src":"18445:11:130","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$77676","typeString":"enum StrategyStruct.PointSystem"}},"functionReturnParameters":78944,"id":78946,"nodeType":"Return","src":"18438:18:130"}]},"baseFunctions":[77666],"functionSelector":"c3292171","implemented":true,"kind":"function","modifiers":[],"name":"getPointSystem","nameLocation":"18362:14:130","parameters":{"id":78940,"nodeType":"ParameterList","parameters":[],"src":"18376:2:130"},"returnParameters":{"id":78944,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78943,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":78948,"src":"18400:26:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$77676","typeString":"enum StrategyStruct.PointSystem"},"typeName":{"id":78942,"nodeType":"UserDefinedTypeName","pathNode":{"id":78941,"name":"StrategyStruct.PointSystem","nameLocations":["18400:14:130","18415:11:130"],"nodeType":"IdentifierPath","referencedDeclaration":77676,"src":"18400:26:130"},"referencedDeclaration":77676,"src":"18400:26:130","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$77676","typeString":"enum StrategyStruct.PointSystem"}},"visibility":"internal"}],"src":"18399:28:130"},"scope":80578,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":78959,"nodeType":"FunctionDefinition","src":"18579:226:130","nodes":[],"body":{"id":78958,"nodeType":"Block","src":"18657:148:130","nodes":[],"statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":78955,"name":"NotImplemented","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77773,"src":"18722:14:130","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":78956,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18722:16:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78957,"nodeType":"RevertStatement","src":"18715:23:130"}]},"functionSelector":"e33add93","implemented":true,"kind":"function","modifiers":[],"name":"supportProposal","nameLocation":"18588:15:130","parameters":{"id":78953,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78952,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":78959,"src":"18604:39:130","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$77726_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport[]"},"typeName":{"baseType":{"id":78950,"nodeType":"UserDefinedTypeName","pathNode":{"id":78949,"name":"StrategyStruct.ProposalSupport","nameLocations":["18604:14:130","18619:15:130"],"nodeType":"IdentifierPath","referencedDeclaration":77726,"src":"18604:30:130"},"referencedDeclaration":77726,"src":"18604:30:130","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$77726_storage_ptr","typeString":"struct StrategyStruct.ProposalSupport"}},"id":78951,"nodeType":"ArrayTypeName","src":"18604:32:130","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$77726_storage_$dyn_storage_ptr","typeString":"struct StrategyStruct.ProposalSupport[]"}},"visibility":"internal"}],"src":"18603:41:130"},"returnParameters":{"id":78954,"nodeType":"ParameterList","parameters":[],"src":"18657:0:130"},"scope":80578,"stateMutability":"pure","virtual":false,"visibility":"public"},{"id":79024,"nodeType":"FunctionDefinition","src":"18951:650:130","nodes":[],"body":{"id":79023,"nodeType":"Block","src":"19025:576:130","nodes":[],"statements":[{"expression":{"arguments":[{"id":78968,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78963,"src":"19055:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":78967,"name":"checkSenderIsMember","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78178,"src":"19035:19:130","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$__$","typeString":"function (address) view"}},"id":78969,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19035:28:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78970,"nodeType":"ExpressionStatement","src":"19035:28:130"},{"condition":{"id":78974,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"19077:27:130","subExpression":{"arguments":[{"id":78972,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78963,"src":"19096:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":78971,"name":"_canExecuteAction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78240,"src":"19078:17:130","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":78973,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19078:26:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":78979,"nodeType":"IfStatement","src":"19073:90:130","trueBody":{"id":78978,"nodeType":"Block","src":"19106:57:130","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":78975,"name":"UserCannotExecuteAction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77837,"src":"19127:23:130","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":78976,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19127:25:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78977,"nodeType":"RevertStatement","src":"19120:32:130"}]}},{"assignments":[78981],"declarations":[{"constant":false,"id":78981,"mutability":"mutable","name":"isMemberActivatedPoints","nameLocation":"19223:23:130","nodeType":"VariableDeclaration","scope":79023,"src":"19218:28:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":78980,"name":"bool","nodeType":"ElementaryTypeName","src":"19218:4:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":78990,"initialValue":{"arguments":[{"id":78984,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78963,"src":"19295:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":78987,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"19312:4:130","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$80578","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$80578","typeString":"contract CVStrategyV0_0"}],"id":78986,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"19304:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":78985,"name":"address","nodeType":"ElementaryTypeName","src":"19304:7:130","typeDescriptions":{}}},"id":78988,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19304:13:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":78982,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77961,"src":"19249:17:130","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"}},"id":78983,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19267:27:130","memberName":"memberActivatedInStrategies","nodeType":"MemberAccess","referencedDeclaration":83234,"src":"19249:45:130","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_bool_$","typeString":"function (address,address) view external returns (bool)"}},"id":78989,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19249:69:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"VariableDeclarationStatement","src":"19218:100:130"},{"condition":{"id":78992,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"19332:24:130","subExpression":{"id":78991,"name":"isMemberActivatedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78981,"src":"19333:23:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":78997,"nodeType":"IfStatement","src":"19328:78:130","trueBody":{"id":78996,"nodeType":"Block","src":"19358:48:130","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":78993,"name":"UserIsInactive","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77769,"src":"19379:14:130","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":78994,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19379:16:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78995,"nodeType":"RevertStatement","src":"19372:23:130"}]}},{"assignments":[79003],"declarations":[{"constant":false,"id":79003,"mutability":"mutable","name":"pv","nameLocation":"19455:2:130","nodeType":"VariableDeclaration","scope":79023,"src":"19415:42:130","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$77726_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport[]"},"typeName":{"baseType":{"id":79001,"nodeType":"UserDefinedTypeName","pathNode":{"id":79000,"name":"StrategyStruct.ProposalSupport","nameLocations":["19415:14:130","19430:15:130"],"nodeType":"IdentifierPath","referencedDeclaration":77726,"src":"19415:30:130"},"referencedDeclaration":77726,"src":"19415:30:130","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$77726_storage_ptr","typeString":"struct StrategyStruct.ProposalSupport"}},"id":79002,"nodeType":"ArrayTypeName","src":"19415:32:130","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$77726_storage_$dyn_storage_ptr","typeString":"struct StrategyStruct.ProposalSupport[]"}},"visibility":"internal"}],"id":79012,"initialValue":{"arguments":[{"id":79006,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78961,"src":"19471:5:130","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"baseExpression":{"expression":{"id":79007,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77752,"src":"19479:14:130","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$77752_$","typeString":"type(library StrategyStruct)"}},"id":79008,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19494:15:130","memberName":"ProposalSupport","nodeType":"MemberAccess","referencedDeclaration":77726,"src":"19479:30:130","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ProposalSupport_$77726_storage_ptr_$","typeString":"type(struct StrategyStruct.ProposalSupport storage pointer)"}},"id":79009,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"19479:32:130","typeDescriptions":{"typeIdentifier":"t_type$_t_array$_t_struct$_ProposalSupport_$77726_memory_ptr_$dyn_memory_ptr_$","typeString":"type(struct StrategyStruct.ProposalSupport memory[] memory)"}}],"id":79010,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"19478:34:130","typeDescriptions":{"typeIdentifier":"t_type$_t_array$_t_struct$_ProposalSupport_$77726_memory_ptr_$dyn_memory_ptr_$","typeString":"type(struct StrategyStruct.ProposalSupport memory[] memory)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_array$_t_struct$_ProposalSupport_$77726_memory_ptr_$dyn_memory_ptr_$","typeString":"type(struct StrategyStruct.ProposalSupport memory[] memory)"}],"expression":{"id":79004,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"19460:3:130","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":79005,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"19464:6:130","memberName":"decode","nodeType":"MemberAccess","src":"19460:10:130","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":79011,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19460:53:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$77726_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"19415:98:130"},{"expression":{"arguments":[{"id":79014,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78963,"src":"19548:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":79015,"name":"pv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79003,"src":"19557:2:130","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$77726_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$77726_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}],"id":79013,"name":"_check_before_addSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79724,"src":"19523:24:130","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_array$_t_struct$_ProposalSupport_$77726_memory_ptr_$dyn_memory_ptr_$returns$__$","typeString":"function (address,struct StrategyStruct.ProposalSupport memory[] memory)"}},"id":79016,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19523:37:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":79017,"nodeType":"ExpressionStatement","src":"19523:37:130"},{"expression":{"arguments":[{"id":79019,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78963,"src":"19582:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":79020,"name":"pv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79003,"src":"19591:2:130","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$77726_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$77726_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}],"id":79018,"name":"_addSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80011,"src":"19570:11:130","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_array$_t_struct$_ProposalSupport_$77726_memory_ptr_$dyn_memory_ptr_$returns$__$","typeString":"function (address,struct StrategyStruct.ProposalSupport memory[] memory)"}},"id":79021,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19570:24:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":79022,"nodeType":"ExpressionStatement","src":"19570:24:130"}]},"baseFunctions":[74566],"implemented":true,"kind":"function","modifiers":[],"name":"_allocate","nameLocation":"18960:9:130","overrides":{"id":78965,"nodeType":"OverrideSpecifier","overrides":[],"src":"19016:8:130"},"parameters":{"id":78964,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78961,"mutability":"mutable","name":"_data","nameLocation":"18983:5:130","nodeType":"VariableDeclaration","scope":79024,"src":"18970:18:130","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":78960,"name":"bytes","nodeType":"ElementaryTypeName","src":"18970:5:130","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":78963,"mutability":"mutable","name":"_sender","nameLocation":"18998:7:130","nodeType":"VariableDeclaration","scope":79024,"src":"18990:15:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":78962,"name":"address","nodeType":"ElementaryTypeName","src":"18990:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"18969:37:130"},"returnParameters":{"id":78966,"nodeType":"ParameterList","parameters":[],"src":"19025:0:130"},"scope":80578,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":79180,"nodeType":"FunctionDefinition","src":"19857:1756:130","nodes":[],"body":{"id":79179,"nodeType":"Block","src":"19943:1670:130","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79038,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":79035,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79029,"src":"20036:5:130","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":79036,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20042:6:130","memberName":"length","nodeType":"MemberAccess","src":"20036:12:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"hexValue":"30","id":79037,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20052:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"20036:17:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":79043,"nodeType":"IfStatement","src":"20032:76:130","trueBody":{"id":79042,"nodeType":"Block","src":"20055:53:130","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":79039,"name":"ProposalDataIsEmpty","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77805,"src":"20076:19:130","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":79040,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20076:21:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":79041,"nodeType":"RevertStatement","src":"20069:28:130"}]}},{"assignments":[79045],"declarations":[{"constant":false,"id":79045,"mutability":"mutable","name":"proposalId","nameLocation":"20126:10:130","nodeType":"VariableDeclaration","scope":79179,"src":"20118:18:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79044,"name":"uint256","nodeType":"ElementaryTypeName","src":"20118:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":79053,"initialValue":{"arguments":[{"id":79048,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79029,"src":"20150:5:130","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":79050,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"20158:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":79049,"name":"uint256","nodeType":"ElementaryTypeName","src":"20158:7:130","typeDescriptions":{}}}],"id":79051,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"20157:9:130","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}],"expression":{"id":79046,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"20139:3:130","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":79047,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"20143:6:130","memberName":"decode","nodeType":"MemberAccess","src":"20139:10:130","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":79052,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20139:28:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"20118:49:130"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79056,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":79054,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79045,"src":"20182:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":79055,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20196:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"20182:15:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":79061,"nodeType":"IfStatement","src":"20178:77:130","trueBody":{"id":79060,"nodeType":"Block","src":"20199:56:130","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":79057,"name":"ProposalIdCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77807,"src":"20220:22:130","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":79058,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20220:24:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":79059,"nodeType":"RevertStatement","src":"20213:31:130"}]}},{"assignments":[79066],"declarations":[{"constant":false,"id":79066,"mutability":"mutable","name":"proposal","nameLocation":"20296:8:130","nodeType":"VariableDeclaration","scope":79179,"src":"20264:40:130","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":79065,"nodeType":"UserDefinedTypeName","pathNode":{"id":79064,"name":"StrategyStruct.Proposal","nameLocations":["20264:14:130","20279:8:130"],"nodeType":"IdentifierPath","referencedDeclaration":77721,"src":"20264:23:130"},"referencedDeclaration":77721,"src":"20264:23:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":79070,"initialValue":{"baseExpression":{"id":79067,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77969,"src":"20307:9:130","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$77721_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":79069,"indexExpression":{"id":79068,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79045,"src":"20317:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"20307:21:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"20264:64:130"},{"condition":{"commonType":{"typeIdentifier":"t_enum$_ProposalType_$77671","typeString":"enum StrategyStruct.ProposalType"},"id":79075,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":79071,"name":"proposalType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77952,"src":"20343:12:130","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$77671","typeString":"enum StrategyStruct.ProposalType"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":79072,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77752,"src":"20359:14:130","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$77752_$","typeString":"type(library StrategyStruct)"}},"id":79073,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20374:12:130","memberName":"ProposalType","nodeType":"MemberAccess","referencedDeclaration":77671,"src":"20359:27:130","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalType_$77671_$","typeString":"type(enum StrategyStruct.ProposalType)"}},"id":79074,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"20387:7:130","memberName":"Funding","nodeType":"MemberAccess","referencedDeclaration":77669,"src":"20359:35:130","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$77671","typeString":"enum StrategyStruct.ProposalType"}},"src":"20343:51:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":79178,"nodeType":"IfStatement","src":"20339:1208:130","trueBody":{"id":79177,"nodeType":"Block","src":"20396:1151:130","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79079,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":79076,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79066,"src":"20414:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79077,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"20423:10:130","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":77696,"src":"20414:19:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":79078,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79045,"src":"20437:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20414:33:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":79085,"nodeType":"IfStatement","src":"20410:108:130","trueBody":{"id":79084,"nodeType":"Block","src":"20449:69:130","statements":[{"errorCall":{"arguments":[{"id":79081,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79045,"src":"20492:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":79080,"name":"ProposalNotInList","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77815,"src":"20474:17:130","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":79082,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20474:29:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":79083,"nodeType":"RevertStatement","src":"20467:36:130"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79089,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":79086,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79066,"src":"20536:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79087,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"20545:15:130","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":77698,"src":"20536:24:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":79088,"name":"poolAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74092,"src":"20563:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20536:37:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":79098,"nodeType":"IfStatement","src":"20532:152:130","trueBody":{"id":79097,"nodeType":"Block","src":"20575:109:130","statements":[{"errorCall":{"arguments":[{"id":79091,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79045,"src":"20620:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":79092,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79066,"src":"20632:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79093,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"20641:15:130","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":77698,"src":"20632:24:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":79094,"name":"poolAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74092,"src":"20658:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":79090,"name":"PoolAmountNotEnough","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77833,"src":"20600:19:130","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256,uint256) pure"}},"id":79095,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20600:69:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":79096,"nodeType":"RevertStatement","src":"20593:76:130"}]}},{"condition":{"commonType":{"typeIdentifier":"t_enum$_ProposalStatus_$77694","typeString":"enum StrategyStruct.ProposalStatus"},"id":79104,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":79099,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79066,"src":"20702:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79100,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"20711:14:130","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":77713,"src":"20702:23:130","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$77694","typeString":"enum StrategyStruct.ProposalStatus"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"expression":{"id":79101,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77752,"src":"20729:14:130","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$77752_$","typeString":"type(library StrategyStruct)"}},"id":79102,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20744:14:130","memberName":"ProposalStatus","nodeType":"MemberAccess","referencedDeclaration":77694,"src":"20729:29:130","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$77694_$","typeString":"type(enum StrategyStruct.ProposalStatus)"}},"id":79103,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"20759:6:130","memberName":"Active","nodeType":"MemberAccess","referencedDeclaration":77690,"src":"20729:36:130","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$77694","typeString":"enum StrategyStruct.ProposalStatus"}},"src":"20702:63:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":79110,"nodeType":"IfStatement","src":"20698:138:130","trueBody":{"id":79109,"nodeType":"Block","src":"20767:69:130","statements":[{"errorCall":{"arguments":[{"id":79106,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79045,"src":"20810:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":79105,"name":"ProposalNotActive","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77811,"src":"20792:17:130","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":79107,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20792:29:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":79108,"nodeType":"RevertStatement","src":"20785:36:130"}]}},{"assignments":[79112],"declarations":[{"constant":false,"id":79112,"mutability":"mutable","name":"convictionLast","nameLocation":"20858:14:130","nodeType":"VariableDeclaration","scope":79177,"src":"20850:22:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79111,"name":"uint256","nodeType":"ElementaryTypeName","src":"20850:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":79116,"initialValue":{"arguments":[{"id":79114,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79045,"src":"20900:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":79113,"name":"updateProposalConviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80434,"src":"20875:24:130","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) returns (uint256)"}},"id":79115,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20875:36:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"20850:61:130"},{"assignments":[79118],"declarations":[{"constant":false,"id":79118,"mutability":"mutable","name":"threshold","nameLocation":"20933:9:130","nodeType":"VariableDeclaration","scope":79177,"src":"20925:17:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79117,"name":"uint256","nodeType":"ElementaryTypeName","src":"20925:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":79123,"initialValue":{"arguments":[{"expression":{"id":79120,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79066,"src":"20964:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79121,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"20973:15:130","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":77698,"src":"20964:24:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":79119,"name":"calculateThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80190,"src":"20945:18:130","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":79122,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20945:44:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"20925:64:130"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":79131,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79126,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":79124,"name":"convictionLast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79112,"src":"21008:14:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":79125,"name":"threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79118,"src":"21025:9:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"21008:26:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79130,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":79127,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79066,"src":"21038:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79128,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"21047:15:130","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":77698,"src":"21038:24:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":79129,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21065:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"21038:28:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"21008:58:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":79136,"nodeType":"IfStatement","src":"21004:137:130","trueBody":{"id":79135,"nodeType":"Block","src":"21068:73:130","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":79132,"name":"ConvictionUnderMinimumThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77823,"src":"21093:31:130","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":79133,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21093:33:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":79134,"nodeType":"RevertStatement","src":"21086:40:130"}]}},{"assignments":[79141],"declarations":[{"constant":false,"id":79141,"mutability":"mutable","name":"pool","nameLocation":"21173:4:130","nodeType":"VariableDeclaration","scope":79177,"src":"21155:22:130","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool"},"typeName":{"id":79140,"nodeType":"UserDefinedTypeName","pathNode":{"id":79139,"name":"IAllo.Pool","nameLocations":["21155:5:130","21161:4:130"],"nodeType":"IdentifierPath","referencedDeclaration":2319,"src":"21155:10:130"},"referencedDeclaration":2319,"src":"21155:10:130","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool"}},"visibility":"internal"}],"id":79146,"initialValue":{"arguments":[{"id":79144,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74090,"src":"21193:6:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":79142,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74084,"src":"21180:4:130","typeDescriptions":{"typeIdentifier":"t_contract$_IAllo_$2610","typeString":"contract IAllo"}},"id":79143,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21185:7:130","memberName":"getPool","nodeType":"MemberAccess","referencedDeclaration":2603,"src":"21180:12:130","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_struct$_Pool_$2319_memory_ptr_$","typeString":"function (uint256) view external returns (struct IAllo.Pool memory)"}},"id":79145,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21180:20:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"nodeType":"VariableDeclarationStatement","src":"21155:45:130"},{"expression":{"id":79150,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":79147,"name":"poolAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74092,"src":"21215:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"expression":{"id":79148,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79066,"src":"21229:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79149,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"21238:15:130","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":77698,"src":"21229:24:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"21215:38:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79151,"nodeType":"ExpressionStatement","src":"21215:38:130"},{"expression":{"arguments":[{"expression":{"id":79153,"name":"pool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79141,"src":"21291:4:130","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"id":79154,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"21296:5:130","memberName":"token","nodeType":"MemberAccess","referencedDeclaration":2311,"src":"21291:10:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":79155,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79066,"src":"21303:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79156,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"21312:11:130","memberName":"beneficiary","nodeType":"MemberAccess","referencedDeclaration":77704,"src":"21303:20:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":79157,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79066,"src":"21325:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79158,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"21334:15:130","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":77698,"src":"21325:24:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":79152,"name":"_transferAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3287,"src":"21275:15:130","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":79159,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21275:75:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":79160,"nodeType":"ExpressionStatement","src":"21275:75:130"},{"expression":{"id":79167,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":79161,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79066,"src":"21381:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79163,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"21390:14:130","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":77713,"src":"21381:23:130","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$77694","typeString":"enum StrategyStruct.ProposalStatus"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"expression":{"id":79164,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77752,"src":"21407:14:130","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$77752_$","typeString":"type(library StrategyStruct)"}},"id":79165,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21422:14:130","memberName":"ProposalStatus","nodeType":"MemberAccess","referencedDeclaration":77694,"src":"21407:29:130","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$77694_$","typeString":"type(enum StrategyStruct.ProposalStatus)"}},"id":79166,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"21437:8:130","memberName":"Executed","nodeType":"MemberAccess","referencedDeclaration":77693,"src":"21407:38:130","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$77694","typeString":"enum StrategyStruct.ProposalStatus"}},"src":"21381:64:130","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$77694","typeString":"enum StrategyStruct.ProposalStatus"}},"id":79168,"nodeType":"ExpressionStatement","src":"21381:64:130"},{"eventCall":{"arguments":[{"id":79170,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79045,"src":"21477:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":79171,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79066,"src":"21489:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79172,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"21498:11:130","memberName":"beneficiary","nodeType":"MemberAccess","referencedDeclaration":77704,"src":"21489:20:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":79173,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79066,"src":"21511:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79174,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"21520:15:130","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":77698,"src":"21511:24:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":79169,"name":"Distributed","nodeType":"Identifier","overloadedDeclarations":[77852,2858],"referencedDeclaration":77852,"src":"21465:11:130","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_address_$_t_uint256_$returns$__$","typeString":"function (uint256,address,uint256)"}},"id":79175,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21465:71:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":79176,"nodeType":"EmitStatement","src":"21460:76:130"}]}}]},"baseFunctions":[74577],"implemented":true,"kind":"function","modifiers":[],"name":"_distribute","nameLocation":"19866:11:130","overrides":{"id":79033,"nodeType":"OverrideSpecifier","overrides":[],"src":"19934:8:130"},"parameters":{"id":79032,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79027,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":79180,"src":"19878:16:130","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":79025,"name":"address","nodeType":"ElementaryTypeName","src":"19878:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":79026,"nodeType":"ArrayTypeName","src":"19878:9:130","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":79029,"mutability":"mutable","name":"_data","nameLocation":"19909:5:130","nodeType":"VariableDeclaration","scope":79180,"src":"19896:18:130","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":79028,"name":"bytes","nodeType":"ElementaryTypeName","src":"19896:5:130","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":79031,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":79180,"src":"19916:7:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":79030,"name":"address","nodeType":"ElementaryTypeName","src":"19916:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"19877:47:130"},"returnParameters":{"id":79034,"nodeType":"ParameterList","parameters":[],"src":"19943:0:130"},"scope":80578,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":79234,"nodeType":"FunctionDefinition","src":"21619:735:130","nodes":[],"body":{"id":79233,"nodeType":"Block","src":"21708:646:130","nodes":[],"statements":[{"assignments":[79191],"declarations":[{"constant":false,"id":79191,"mutability":"mutable","name":"proposal","nameLocation":"21750:8:130","nodeType":"VariableDeclaration","scope":79233,"src":"21718:40:130","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":79190,"nodeType":"UserDefinedTypeName","pathNode":{"id":79189,"name":"StrategyStruct.Proposal","nameLocations":["21718:14:130","21733:8:130"],"nodeType":"IdentifierPath","referencedDeclaration":77721,"src":"21718:23:130"},"referencedDeclaration":77721,"src":"21718:23:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":79195,"initialValue":{"baseExpression":{"id":79192,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77969,"src":"21761:9:130","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$77721_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":79194,"indexExpression":{"id":79193,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79182,"src":"21771:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"21761:21:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"21718:64:130"},{"assignments":[79197,79199],"declarations":[{"constant":false,"id":79197,"mutability":"mutable","name":"convictionLast","nameLocation":"21876:14:130","nodeType":"VariableDeclaration","scope":79233,"src":"21868:22:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79196,"name":"uint256","nodeType":"ElementaryTypeName","src":"21868:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":79199,"mutability":"mutable","name":"blockNumber","nameLocation":"21900:11:130","nodeType":"VariableDeclaration","scope":79233,"src":"21892:19:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79198,"name":"uint256","nodeType":"ElementaryTypeName","src":"21892:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":79205,"initialValue":{"arguments":[{"id":79201,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79191,"src":"21961:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},{"expression":{"id":79202,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79191,"src":"21971:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79203,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"21980:12:130","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":77700,"src":"21971:21:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":79200,"name":"_checkBlockAndCalculateConviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80386,"src":"21927:33:130","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Proposal_$77721_storage_ptr_$_t_uint256_$returns$_t_uint256_$_t_uint256_$","typeString":"function (struct StrategyStruct.Proposal storage pointer,uint256) view returns (uint256,uint256)"}},"id":79204,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21927:66:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_uint256_$","typeString":"tuple(uint256,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"21867:126:130"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":79212,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79208,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":79206,"name":"convictionLast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79197,"src":"22008:14:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":79207,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22026:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"22008:19:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79211,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":79209,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79199,"src":"22031:11:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":79210,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22046:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"22031:16:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"22008:39:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":79219,"nodeType":"IfStatement","src":"22004:110:130","trueBody":{"id":79218,"nodeType":"Block","src":"22049:65:130","statements":[{"expression":{"id":79216,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":79213,"name":"convictionLast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79197,"src":"22063:14:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":79214,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79191,"src":"22080:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79215,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"22089:14:130","memberName":"convictionLast","nodeType":"MemberAccess","referencedDeclaration":77702,"src":"22080:23:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"22063:40:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79217,"nodeType":"ExpressionStatement","src":"22063:40:130"}]}},{"assignments":[79221],"declarations":[{"constant":false,"id":79221,"mutability":"mutable","name":"threshold","nameLocation":"22131:9:130","nodeType":"VariableDeclaration","scope":79233,"src":"22123:17:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79220,"name":"uint256","nodeType":"ElementaryTypeName","src":"22123:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":79226,"initialValue":{"arguments":[{"expression":{"id":79223,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79191,"src":"22162:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79224,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"22171:15:130","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":77698,"src":"22162:24:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":79222,"name":"calculateThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80190,"src":"22143:18:130","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":79225,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22143:44:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"22123:64:130"},{"expression":{"id":79231,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":79227,"name":"canBeExecuted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79185,"src":"22304:13:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79230,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":79228,"name":"convictionLast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79197,"src":"22320:14:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":79229,"name":"threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79221,"src":"22338:9:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"22320:27:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"22304:43:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":79232,"nodeType":"ExpressionStatement","src":"22304:43:130"}]},"functionSelector":"824ea8ed","implemented":true,"kind":"function","modifiers":[],"name":"canExecuteProposal","nameLocation":"21628:18:130","parameters":{"id":79183,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79182,"mutability":"mutable","name":"proposalId","nameLocation":"21655:10:130","nodeType":"VariableDeclaration","scope":79234,"src":"21647:18:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79181,"name":"uint256","nodeType":"ElementaryTypeName","src":"21647:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"21646:20:130"},"returnParameters":{"id":79186,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79185,"mutability":"mutable","name":"canBeExecuted","nameLocation":"21693:13:130","nodeType":"VariableDeclaration","scope":79234,"src":"21688:18:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":79184,"name":"bool","nodeType":"ElementaryTypeName","src":"21688:4:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"21687:20:130"},"scope":80578,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":79256,"nodeType":"FunctionDefinition","src":"22644:220:130","nodes":[],"body":{"id":79255,"nodeType":"Block","src":"22735:129:130","nodes":[],"statements":[{"expression":{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":79248,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":79243,"name":"_recipientId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79236,"src":"22795:12:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":79246,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22819:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":79245,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"22811:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":79244,"name":"address","nodeType":"ElementaryTypeName","src":"22811:7:130","typeDescriptions":{}}},"id":79247,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22811:10:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"22795:26:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"expression":{"id":79251,"name":"Status","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2815,"src":"22842:6:130","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_Status_$2815_$","typeString":"type(enum IStrategy.Status)"}},"id":79252,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"22849:8:130","memberName":"Accepted","nodeType":"MemberAccess","referencedDeclaration":2810,"src":"22842:15:130","typeDescriptions":{"typeIdentifier":"t_enum$_Status_$2815","typeString":"enum IStrategy.Status"}},"id":79253,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"22795:62:130","trueExpression":{"expression":{"id":79249,"name":"Status","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2815,"src":"22824:6:130","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_Status_$2815_$","typeString":"type(enum IStrategy.Status)"}},"id":79250,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"22831:8:130","memberName":"Rejected","nodeType":"MemberAccess","referencedDeclaration":2811,"src":"22824:15:130","typeDescriptions":{"typeIdentifier":"t_enum$_Status_$2815","typeString":"enum IStrategy.Status"}},"typeDescriptions":{"typeIdentifier":"t_enum$_Status_$2815","typeString":"enum IStrategy.Status"}},"functionReturnParameters":79242,"id":79254,"nodeType":"Return","src":"22788:69:130"}]},"baseFunctions":[74597],"implemented":true,"kind":"function","modifiers":[],"name":"_getRecipientStatus","nameLocation":"22653:19:130","overrides":{"id":79238,"nodeType":"OverrideSpecifier","overrides":[],"src":"22709:8:130"},"parameters":{"id":79237,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79236,"mutability":"mutable","name":"_recipientId","nameLocation":"22681:12:130","nodeType":"VariableDeclaration","scope":79256,"src":"22673:20:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":79235,"name":"address","nodeType":"ElementaryTypeName","src":"22673:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"22672:22:130"},"returnParameters":{"id":79242,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79241,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":79256,"src":"22727:6:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_Status_$2815","typeString":"enum IStrategy.Status"},"typeName":{"id":79240,"nodeType":"UserDefinedTypeName","pathNode":{"id":79239,"name":"Status","nameLocations":["22727:6:130"],"nodeType":"IdentifierPath","referencedDeclaration":2815,"src":"22727:6:130"},"referencedDeclaration":2815,"src":"22727:6:130","typeDescriptions":{"typeIdentifier":"t_enum$_Status_$2815","typeString":"enum IStrategy.Status"}},"visibility":"internal"}],"src":"22726:8:130"},"scope":80578,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":79275,"nodeType":"FunctionDefinition","src":"22993:288:130","nodes":[],"body":{"id":79274,"nodeType":"Block","src":"23103:178:130","nodes":[],"statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":79271,"name":"NotImplemented","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77773,"src":"23163:14:130","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":79272,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23163:16:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":79273,"nodeType":"RevertStatement","src":"23156:23:130"}]},"baseFunctions":[74436],"documentation":{"id":79257,"nodeType":"StructuredDocumentation","src":"22870:118:130","text":"@return Input the values you would send to distribute(), get the amounts each recipient in the array would receive"},"functionSelector":"b2b878d0","implemented":true,"kind":"function","modifiers":[],"name":"getPayouts","nameLocation":"23002:10:130","overrides":{"id":79265,"nodeType":"OverrideSpecifier","overrides":[],"src":"23061:8:130"},"parameters":{"id":79264,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79260,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":79275,"src":"23013:16:130","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":79258,"name":"address","nodeType":"ElementaryTypeName","src":"23013:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":79259,"nodeType":"ArrayTypeName","src":"23013:9:130","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":79263,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":79275,"src":"23031:14:130","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":79261,"name":"bytes","nodeType":"ElementaryTypeName","src":"23031:5:130","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":79262,"nodeType":"ArrayTypeName","src":"23031:7:130","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"23012:34:130"},"returnParameters":{"id":79270,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79269,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":79275,"src":"23079:22:130","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_PayoutSummary_$2820_memory_ptr_$dyn_memory_ptr","typeString":"struct IStrategy.PayoutSummary[]"},"typeName":{"baseType":{"id":79267,"nodeType":"UserDefinedTypeName","pathNode":{"id":79266,"name":"PayoutSummary","nameLocations":["23079:13:130"],"nodeType":"IdentifierPath","referencedDeclaration":2820,"src":"23079:13:130"},"referencedDeclaration":2820,"src":"23079:13:130","typeDescriptions":{"typeIdentifier":"t_struct$_PayoutSummary_$2820_storage_ptr","typeString":"struct IStrategy.PayoutSummary"}},"id":79268,"nodeType":"ArrayTypeName","src":"23079:15:130","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_PayoutSummary_$2820_storage_$dyn_storage_ptr","typeString":"struct IStrategy.PayoutSummary[]"}},"visibility":"internal"}],"src":"23078:24:130"},"scope":80578,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":79294,"nodeType":"FunctionDefinition","src":"23287:264:130","nodes":[],"body":{"id":79293,"nodeType":"Block","src":"23439:112:130","nodes":[],"statements":[{"expression":{"id":79286,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79279,"src":"23492:5:130","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":79287,"nodeType":"ExpressionStatement","src":"23492:5:130"},{"expression":{"arguments":[{"id":79289,"name":"_recipientId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79277,"src":"23528:12:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":79290,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"23542:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":79288,"name":"PayoutSummary","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2820,"src":"23514:13:130","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_PayoutSummary_$2820_storage_ptr_$","typeString":"type(struct IStrategy.PayoutSummary storage pointer)"}},"id":79291,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23514:30:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_PayoutSummary_$2820_memory_ptr","typeString":"struct IStrategy.PayoutSummary memory"}},"functionReturnParameters":79285,"id":79292,"nodeType":"Return","src":"23507:37:130"}]},"baseFunctions":[74588],"implemented":true,"kind":"function","modifiers":[],"name":"_getPayout","nameLocation":"23296:10:130","overrides":{"id":79281,"nodeType":"OverrideSpecifier","overrides":[],"src":"23387:8:130"},"parameters":{"id":79280,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79277,"mutability":"mutable","name":"_recipientId","nameLocation":"23315:12:130","nodeType":"VariableDeclaration","scope":79294,"src":"23307:20:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":79276,"name":"address","nodeType":"ElementaryTypeName","src":"23307:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":79279,"mutability":"mutable","name":"_data","nameLocation":"23342:5:130","nodeType":"VariableDeclaration","scope":79294,"src":"23329:18:130","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":79278,"name":"bytes","nodeType":"ElementaryTypeName","src":"23329:5:130","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"23306:42:130"},"returnParameters":{"id":79285,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79284,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":79294,"src":"23413:20:130","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_PayoutSummary_$2820_memory_ptr","typeString":"struct IStrategy.PayoutSummary"},"typeName":{"id":79283,"nodeType":"UserDefinedTypeName","pathNode":{"id":79282,"name":"PayoutSummary","nameLocations":["23413:13:130"],"nodeType":"IdentifierPath","referencedDeclaration":2820,"src":"23413:13:130"},"referencedDeclaration":2820,"src":"23413:13:130","typeDescriptions":{"typeIdentifier":"t_struct$_PayoutSummary_$2820_storage_ptr","typeString":"struct IStrategy.PayoutSummary"}},"visibility":"internal"}],"src":"23412:22:130"},"scope":80578,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":79305,"nodeType":"FunctionDefinition","src":"23557:127:130","nodes":[],"body":{"id":79304,"nodeType":"Block","src":"23634:50:130","nodes":[],"statements":[{"eventCall":{"arguments":[{"id":79301,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79296,"src":"23669:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":79300,"name":"PoolAmountIncreased","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77862,"src":"23649:19:130","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":79302,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23649:28:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":79303,"nodeType":"EmitStatement","src":"23644:33:130"}]},"baseFunctions":[74611],"implemented":true,"kind":"function","modifiers":[],"name":"_afterIncreasePoolAmount","nameLocation":"23566:24:130","overrides":{"id":79298,"nodeType":"OverrideSpecifier","overrides":[],"src":"23625:8:130"},"parameters":{"id":79297,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79296,"mutability":"mutable","name":"_amount","nameLocation":"23599:7:130","nodeType":"VariableDeclaration","scope":79305,"src":"23591:15:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79295,"name":"uint256","nodeType":"ElementaryTypeName","src":"23591:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"23590:17:130"},"returnParameters":{"id":79299,"nodeType":"ParameterList","parameters":[],"src":"23634:0:130"},"scope":80578,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":79324,"nodeType":"FunctionDefinition","src":"23779:191:130","nodes":[],"body":{"id":79323,"nodeType":"Block","src":"23864:106:130","nodes":[],"statements":[{"expression":{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":79318,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":79313,"name":"_allocator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79307,"src":"23924:10:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":79316,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"23946:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":79315,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"23938:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":79314,"name":"address","nodeType":"ElementaryTypeName","src":"23938:7:130","typeDescriptions":{}}},"id":79317,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23938:10:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"23924:24:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"hexValue":"74727565","id":79320,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"23959:4:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"id":79321,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"23924:39:130","trueExpression":{"hexValue":"66616c7365","id":79319,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"23951:5:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":79312,"id":79322,"nodeType":"Return","src":"23917:46:130"}]},"baseFunctions":[74548],"implemented":true,"kind":"function","modifiers":[],"name":"_isValidAllocator","nameLocation":"23788:17:130","overrides":{"id":79309,"nodeType":"OverrideSpecifier","overrides":[],"src":"23840:8:130"},"parameters":{"id":79308,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79307,"mutability":"mutable","name":"_allocator","nameLocation":"23814:10:130","nodeType":"VariableDeclaration","scope":79324,"src":"23806:18:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":79306,"name":"address","nodeType":"ElementaryTypeName","src":"23806:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"23805:20:130"},"returnParameters":{"id":79312,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79311,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":79324,"src":"23858:4:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":79310,"name":"bool","nodeType":"ElementaryTypeName","src":"23858:4:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"23857:6:130"},"scope":80578,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":79334,"nodeType":"FunctionDefinition","src":"23976:86:130","nodes":[],"body":{"id":79333,"nodeType":"Block","src":"24022:40:130","nodes":[],"statements":[{"expression":{"arguments":[{"id":79330,"name":"_active","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79326,"src":"24047:7:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":79329,"name":"_setPoolActive","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74531,"src":"24032:14:130","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bool_$returns$__$","typeString":"function (bool)"}},"id":79331,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24032:23:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":79332,"nodeType":"ExpressionStatement","src":"24032:23:130"}]},"functionSelector":"b5f620ce","implemented":true,"kind":"function","modifiers":[],"name":"setPoolActive","nameLocation":"23985:13:130","parameters":{"id":79327,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79326,"mutability":"mutable","name":"_active","nameLocation":"24004:7:130","nodeType":"VariableDeclaration","scope":79334,"src":"23999:12:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":79325,"name":"bool","nodeType":"ElementaryTypeName","src":"23999:4:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"23998:14:130"},"returnParameters":{"id":79328,"nodeType":"ParameterList","parameters":[],"src":"24022:0:130"},"scope":80578,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":79422,"nodeType":"FunctionDefinition","src":"24068:836:130","nodes":[],"body":{"id":79421,"nodeType":"Block","src":"24112:792:130","nodes":[],"statements":[{"assignments":[79343],"declarations":[{"constant":false,"id":79343,"mutability":"mutable","name":"proposalsIds","nameLocation":"24187:12:130","nodeType":"VariableDeclaration","scope":79421,"src":"24170:29:130","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":79341,"name":"uint256","nodeType":"ElementaryTypeName","src":"24170:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79342,"nodeType":"ArrayTypeName","src":"24170:9:130","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"id":79347,"initialValue":{"baseExpression":{"id":79344,"name":"voterStakedProposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77978,"src":"24202:20:130","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$","typeString":"mapping(address => uint256[] storage ref)"}},"id":79346,"indexExpression":{"id":79345,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79336,"src":"24223:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"24202:29:130","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage","typeString":"uint256[] storage ref"}},"nodeType":"VariableDeclarationStatement","src":"24170:61:130"},{"body":{"id":79419,"nodeType":"Block","src":"24291:607:130","statements":[{"assignments":[79360],"declarations":[{"constant":false,"id":79360,"mutability":"mutable","name":"proposalId","nameLocation":"24313:10:130","nodeType":"VariableDeclaration","scope":79419,"src":"24305:18:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79359,"name":"uint256","nodeType":"ElementaryTypeName","src":"24305:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":79364,"initialValue":{"baseExpression":{"id":79361,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79343,"src":"24326:12:130","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":79363,"indexExpression":{"id":79362,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79349,"src":"24339:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"24326:15:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"24305:36:130"},{"assignments":[79369],"declarations":[{"constant":false,"id":79369,"mutability":"mutable","name":"proposal","nameLocation":"24387:8:130","nodeType":"VariableDeclaration","scope":79419,"src":"24355:40:130","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":79368,"nodeType":"UserDefinedTypeName","pathNode":{"id":79367,"name":"StrategyStruct.Proposal","nameLocations":["24355:14:130","24370:8:130"],"nodeType":"IdentifierPath","referencedDeclaration":77721,"src":"24355:23:130"},"referencedDeclaration":77721,"src":"24355:23:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":79373,"initialValue":{"baseExpression":{"id":79370,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77969,"src":"24398:9:130","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$77721_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":79372,"indexExpression":{"id":79371,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79360,"src":"24408:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"24398:21:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"24355:64:130"},{"condition":{"arguments":[{"id":79375,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79360,"src":"24452:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":79374,"name":"proposalExists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79610,"src":"24437:14:130","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view returns (bool)"}},"id":79376,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24437:26:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":79418,"nodeType":"IfStatement","src":"24433:455:130","trueBody":{"id":79417,"nodeType":"Block","src":"24465:423:130","statements":[{"assignments":[79378],"declarations":[{"constant":false,"id":79378,"mutability":"mutable","name":"stakedPoints","nameLocation":"24491:12:130","nodeType":"VariableDeclaration","scope":79417,"src":"24483:20:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79377,"name":"uint256","nodeType":"ElementaryTypeName","src":"24483:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":79383,"initialValue":{"baseExpression":{"expression":{"id":79379,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79369,"src":"24506:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79380,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24515:17:130","memberName":"voterStakedPoints","nodeType":"MemberAccess","referencedDeclaration":77717,"src":"24506:26:130","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":79382,"indexExpression":{"id":79381,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79336,"src":"24533:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"24506:35:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"24483:58:130"},{"expression":{"id":79390,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":79384,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79369,"src":"24559:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79387,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24568:17:130","memberName":"voterStakedPoints","nodeType":"MemberAccess","referencedDeclaration":77717,"src":"24559:26:130","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":79388,"indexExpression":{"id":79386,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79336,"src":"24586:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"24559:35:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"30","id":79389,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"24597:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"24559:39:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79391,"nodeType":"ExpressionStatement","src":"24559:39:130"},{"expression":{"id":79396,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":79392,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79369,"src":"24616:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79394,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"24625:12:130","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":77700,"src":"24616:21:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"id":79395,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79378,"src":"24641:12:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"24616:37:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79397,"nodeType":"ExpressionStatement","src":"24616:37:130"},{"expression":{"id":79400,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":79398,"name":"totalStaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77942,"src":"24671:11:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"id":79399,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79378,"src":"24686:12:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"24671:27:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79401,"nodeType":"ExpressionStatement","src":"24671:27:130"},{"expression":{"arguments":[{"id":79403,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79369,"src":"24743:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},{"id":79404,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79378,"src":"24753:12:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":79402,"name":"_calculateAndSetConviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80339,"src":"24716:26:130","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_Proposal_$77721_storage_ptr_$_t_uint256_$returns$__$","typeString":"function (struct StrategyStruct.Proposal storage pointer,uint256)"}},"id":79405,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24716:50:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":79406,"nodeType":"ExpressionStatement","src":"24716:50:130"},{"eventCall":{"arguments":[{"id":79408,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79336,"src":"24802:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":79409,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79360,"src":"24811:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":79410,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"24823:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"expression":{"id":79411,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79369,"src":"24826:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79412,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24835:12:130","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":77700,"src":"24826:21:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":79413,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79369,"src":"24849:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79414,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24858:14:130","memberName":"convictionLast","nodeType":"MemberAccess","referencedDeclaration":77702,"src":"24849:23:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":79407,"name":"SupportAdded","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77890,"src":"24789:12:130","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (address,uint256,uint256,uint256,uint256)"}},"id":79415,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24789:84:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":79416,"nodeType":"EmitStatement","src":"24784:89:130"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79355,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":79352,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79349,"src":"24261:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":79353,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79343,"src":"24265:12:130","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":79354,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24278:6:130","memberName":"length","nodeType":"MemberAccess","src":"24265:19:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"24261:23:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":79420,"initializationExpression":{"assignments":[79349],"declarations":[{"constant":false,"id":79349,"mutability":"mutable","name":"i","nameLocation":"24254:1:130","nodeType":"VariableDeclaration","scope":79420,"src":"24246:9:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79348,"name":"uint256","nodeType":"ElementaryTypeName","src":"24246:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":79351,"initialValue":{"hexValue":"30","id":79350,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"24258:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"24246:13:130"},"loopExpression":{"expression":{"id":79357,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"24286:3:130","subExpression":{"id":79356,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79349,"src":"24286:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79358,"nodeType":"ExpressionStatement","src":"24286:3:130"},"nodeType":"ForStatement","src":"24241:657:130"}]},"implemented":true,"kind":"function","modifiers":[],"name":"withdraw","nameLocation":"24077:8:130","parameters":{"id":79337,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79336,"mutability":"mutable","name":"_member","nameLocation":"24094:7:130","nodeType":"VariableDeclaration","scope":79422,"src":"24086:15:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":79335,"name":"address","nodeType":"ElementaryTypeName","src":"24086:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"24085:17:130"},"returnParameters":{"id":79338,"nodeType":"ParameterList","parameters":[],"src":"24112:0:130"},"scope":80578,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":79496,"nodeType":"FunctionDefinition","src":"25466:1038:130","nodes":[],"body":{"id":79495,"nodeType":"Block","src":"25935:569:130","nodes":[],"statements":[{"assignments":[79453],"declarations":[{"constant":false,"id":79453,"mutability":"mutable","name":"proposal","nameLocation":"25977:8:130","nodeType":"VariableDeclaration","scope":79495,"src":"25945:40:130","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":79452,"nodeType":"UserDefinedTypeName","pathNode":{"id":79451,"name":"StrategyStruct.Proposal","nameLocations":["25945:14:130","25960:8:130"],"nodeType":"IdentifierPath","referencedDeclaration":77721,"src":"25945:23:130"},"referencedDeclaration":77721,"src":"25945:23:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":79457,"initialValue":{"baseExpression":{"id":79454,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77969,"src":"25988:9:130","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$77721_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":79456,"indexExpression":{"id":79455,"name":"_proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79425,"src":"25998:11:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"25988:22:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"25945:65:130"},{"expression":{"id":79469,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":79458,"name":"threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79445,"src":"26021:9:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79462,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":79459,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79453,"src":"26033:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79460,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"26042:15:130","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":77698,"src":"26033:24:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":79461,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"26061:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"26033:29:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"arguments":[{"expression":{"id":79465,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79453,"src":"26088:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79466,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"26097:15:130","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":77698,"src":"26088:24:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":79464,"name":"calculateThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80190,"src":"26069:18:130","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":79467,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26069:44:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79468,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"26033:80:130","trueExpression":{"hexValue":"30","id":79463,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"26065:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"26021:92:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79470,"nodeType":"ExpressionStatement","src":"26021:92:130"},{"expression":{"components":[{"expression":{"id":79471,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79453,"src":"26144:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79472,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"26153:9:130","memberName":"submitter","nodeType":"MemberAccess","referencedDeclaration":77706,"src":"26144:18:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":79473,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79453,"src":"26176:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79474,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"26185:11:130","memberName":"beneficiary","nodeType":"MemberAccess","referencedDeclaration":77704,"src":"26176:20:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":79475,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79453,"src":"26210:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79476,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"26219:14:130","memberName":"requestedToken","nodeType":"MemberAccess","referencedDeclaration":77708,"src":"26210:23:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":79477,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79453,"src":"26247:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79478,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"26256:15:130","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":77698,"src":"26247:24:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":79479,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79453,"src":"26285:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79480,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"26294:12:130","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":77700,"src":"26285:21:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":79481,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79453,"src":"26320:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79482,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"26329:14:130","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":77713,"src":"26320:23:130","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$77694","typeString":"enum StrategyStruct.ProposalStatus"}},{"expression":{"id":79483,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79453,"src":"26357:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79484,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"26366:9:130","memberName":"blockLast","nodeType":"MemberAccess","referencedDeclaration":77710,"src":"26357:18:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":79485,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79453,"src":"26389:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79486,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"26398:14:130","memberName":"convictionLast","nodeType":"MemberAccess","referencedDeclaration":77702,"src":"26389:23:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":79487,"name":"threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79445,"src":"26426:9:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"baseExpression":{"expression":{"id":79488,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79453,"src":"26449:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79489,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"26458:17:130","memberName":"voterStakedPoints","nodeType":"MemberAccess","referencedDeclaration":77717,"src":"26449:26:130","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":79492,"indexExpression":{"expression":{"id":79490,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"26476:3:130","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":79491,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"26480:6:130","memberName":"sender","nodeType":"MemberAccess","src":"26476:10:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"26449:38:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":79493,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"26130:367:130","typeDescriptions":{"typeIdentifier":"t_tuple$_t_address_$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_enum$_ProposalStatus_$77694_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$","typeString":"tuple(address,address,address,uint256,uint256,enum StrategyStruct.ProposalStatus,uint256,uint256,uint256,uint256)"}},"functionReturnParameters":79448,"id":79494,"nodeType":"Return","src":"26123:374:130"}]},"documentation":{"id":79423,"nodeType":"StructuredDocumentation","src":"24910:551:130","text":" @dev Get proposal details\n @param _proposalId Proposal id\n @return submitter Proposal submitter\n @return beneficiary Proposal beneficiary\n @return requestedToken Proposal requested token\n @return requestedAmount Proposal requested amount\n @return stakedAmount Proposal staked points\n @return proposalStatus Proposal status\n @return blockLast Last block when conviction was calculated\n @return convictionLast Last conviction calculated\n @return threshold Proposal threshold"},"functionSelector":"c7f758a8","implemented":true,"kind":"function","modifiers":[],"name":"getProposal","nameLocation":"25475:11:130","parameters":{"id":79426,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79425,"mutability":"mutable","name":"_proposalId","nameLocation":"25495:11:130","nodeType":"VariableDeclaration","scope":79496,"src":"25487:19:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79424,"name":"uint256","nodeType":"ElementaryTypeName","src":"25487:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"25486:21:130"},"returnParameters":{"id":79448,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79428,"mutability":"mutable","name":"submitter","nameLocation":"25576:9:130","nodeType":"VariableDeclaration","scope":79496,"src":"25568:17:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":79427,"name":"address","nodeType":"ElementaryTypeName","src":"25568:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":79430,"mutability":"mutable","name":"beneficiary","nameLocation":"25607:11:130","nodeType":"VariableDeclaration","scope":79496,"src":"25599:19:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":79429,"name":"address","nodeType":"ElementaryTypeName","src":"25599:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":79432,"mutability":"mutable","name":"requestedToken","nameLocation":"25640:14:130","nodeType":"VariableDeclaration","scope":79496,"src":"25632:22:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":79431,"name":"address","nodeType":"ElementaryTypeName","src":"25632:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":79434,"mutability":"mutable","name":"requestedAmount","nameLocation":"25676:15:130","nodeType":"VariableDeclaration","scope":79496,"src":"25668:23:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79433,"name":"uint256","nodeType":"ElementaryTypeName","src":"25668:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":79436,"mutability":"mutable","name":"stakedAmount","nameLocation":"25713:12:130","nodeType":"VariableDeclaration","scope":79496,"src":"25705:20:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79435,"name":"uint256","nodeType":"ElementaryTypeName","src":"25705:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":79439,"mutability":"mutable","name":"proposalStatus","nameLocation":"25769:14:130","nodeType":"VariableDeclaration","scope":79496,"src":"25739:44:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$77694","typeString":"enum StrategyStruct.ProposalStatus"},"typeName":{"id":79438,"nodeType":"UserDefinedTypeName","pathNode":{"id":79437,"name":"StrategyStruct.ProposalStatus","nameLocations":["25739:14:130","25754:14:130"],"nodeType":"IdentifierPath","referencedDeclaration":77694,"src":"25739:29:130"},"referencedDeclaration":77694,"src":"25739:29:130","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$77694","typeString":"enum StrategyStruct.ProposalStatus"}},"visibility":"internal"},{"constant":false,"id":79441,"mutability":"mutable","name":"blockLast","nameLocation":"25805:9:130","nodeType":"VariableDeclaration","scope":79496,"src":"25797:17:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79440,"name":"uint256","nodeType":"ElementaryTypeName","src":"25797:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":79443,"mutability":"mutable","name":"convictionLast","nameLocation":"25836:14:130","nodeType":"VariableDeclaration","scope":79496,"src":"25828:22:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79442,"name":"uint256","nodeType":"ElementaryTypeName","src":"25828:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":79445,"mutability":"mutable","name":"threshold","nameLocation":"25872:9:130","nodeType":"VariableDeclaration","scope":79496,"src":"25864:17:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79444,"name":"uint256","nodeType":"ElementaryTypeName","src":"25864:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":79447,"mutability":"mutable","name":"voterStakedPoints","nameLocation":"25903:17:130","nodeType":"VariableDeclaration","scope":79496,"src":"25895:25:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79446,"name":"uint256","nodeType":"ElementaryTypeName","src":"25895:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"25554:376:130"},"scope":80578,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":79517,"nodeType":"FunctionDefinition","src":"26510:198:130","nodes":[],"body":{"id":79516,"nodeType":"Block","src":"26592:116:130","nodes":[],"statements":[{"assignments":[79508],"declarations":[{"constant":false,"id":79508,"mutability":"mutable","name":"proposal","nameLocation":"26634:8:130","nodeType":"VariableDeclaration","scope":79516,"src":"26602:40:130","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":79507,"nodeType":"UserDefinedTypeName","pathNode":{"id":79506,"name":"StrategyStruct.Proposal","nameLocations":["26602:14:130","26617:8:130"],"nodeType":"IdentifierPath","referencedDeclaration":77721,"src":"26602:23:130"},"referencedDeclaration":77721,"src":"26602:23:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":79512,"initialValue":{"baseExpression":{"id":79509,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77969,"src":"26645:9:130","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$77721_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":79511,"indexExpression":{"id":79510,"name":"_proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79498,"src":"26655:11:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"26645:22:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"26602:65:130"},{"expression":{"expression":{"id":79513,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79508,"src":"26684:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79514,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"26693:8:130","memberName":"metadata","nodeType":"MemberAccess","referencedDeclaration":77720,"src":"26684:17:130","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage","typeString":"struct Metadata storage ref"}},"functionReturnParameters":79503,"id":79515,"nodeType":"Return","src":"26677:24:130"}]},"functionSelector":"a574cea4","implemented":true,"kind":"function","modifiers":[],"name":"getMetadata","nameLocation":"26519:11:130","parameters":{"id":79499,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79498,"mutability":"mutable","name":"_proposalId","nameLocation":"26539:11:130","nodeType":"VariableDeclaration","scope":79517,"src":"26531:19:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79497,"name":"uint256","nodeType":"ElementaryTypeName","src":"26531:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"26530:21:130"},"returnParameters":{"id":79503,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79502,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":79517,"src":"26575:15:130","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata"},"typeName":{"id":79501,"nodeType":"UserDefinedTypeName","pathNode":{"id":79500,"name":"Metadata","nameLocations":["26575:8:130"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"26575:8:130"},"referencedDeclaration":3098,"src":"26575:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"}],"src":"26574:17:130"},"scope":80578,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":79533,"nodeType":"FunctionDefinition","src":"26909:176:130","nodes":[],"body":{"id":79532,"nodeType":"Block","src":"27009:76:130","nodes":[],"statements":[{"expression":{"arguments":[{"id":79528,"name":"_proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79520,"src":"27058:11:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":79529,"name":"_voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79522,"src":"27071:6:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"id":79527,"name":"_internal_getProposalVoterStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79575,"src":"27026:31:130","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_address_$returns$_t_uint256_$","typeString":"function (uint256,address) view returns (uint256)"}},"id":79530,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27026:52:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":79526,"id":79531,"nodeType":"Return","src":"27019:59:130"}]},"documentation":{"id":79518,"nodeType":"StructuredDocumentation","src":"26714:190:130","text":" @notice Get stake of voter `_voter` on proposal #`_proposalId`\n @param _proposalId Proposal id\n @param _voter Voter address\n @return Proposal voter stake"},"functionSelector":"e0dd2c38","implemented":true,"kind":"function","modifiers":[],"name":"getProposalVoterStake","nameLocation":"26918:21:130","parameters":{"id":79523,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79520,"mutability":"mutable","name":"_proposalId","nameLocation":"26948:11:130","nodeType":"VariableDeclaration","scope":79533,"src":"26940:19:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79519,"name":"uint256","nodeType":"ElementaryTypeName","src":"26940:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":79522,"mutability":"mutable","name":"_voter","nameLocation":"26969:6:130","nodeType":"VariableDeclaration","scope":79533,"src":"26961:14:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":79521,"name":"address","nodeType":"ElementaryTypeName","src":"26961:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"26939:37:130"},"returnParameters":{"id":79526,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79525,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":79533,"src":"27000:7:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79524,"name":"uint256","nodeType":"ElementaryTypeName","src":"27000:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"26999:9:130"},"scope":80578,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":79546,"nodeType":"FunctionDefinition","src":"27091:145:130","nodes":[],"body":{"id":79545,"nodeType":"Block","src":"27177:59:130","nodes":[],"statements":[{"expression":{"expression":{"baseExpression":{"id":79540,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77969,"src":"27194:9:130","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$77721_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":79542,"indexExpression":{"id":79541,"name":"_proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79535,"src":"27204:11:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"27194:22:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"id":79543,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"27217:12:130","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":77700,"src":"27194:35:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":79539,"id":79544,"nodeType":"Return","src":"27187:42:130"}]},"functionSelector":"dc96ff2d","implemented":true,"kind":"function","modifiers":[],"name":"getProposalStakedAmount","nameLocation":"27100:23:130","parameters":{"id":79536,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79535,"mutability":"mutable","name":"_proposalId","nameLocation":"27132:11:130","nodeType":"VariableDeclaration","scope":79546,"src":"27124:19:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79534,"name":"uint256","nodeType":"ElementaryTypeName","src":"27124:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"27123:21:130"},"returnParameters":{"id":79539,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79538,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":79546,"src":"27168:7:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79537,"name":"uint256","nodeType":"ElementaryTypeName","src":"27168:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"27167:9:130"},"scope":80578,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":79558,"nodeType":"FunctionDefinition","src":"27305:127:130","nodes":[],"body":{"id":79557,"nodeType":"Block","src":"27382:50:130","nodes":[],"statements":[{"expression":{"baseExpression":{"id":79553,"name":"totalVoterStakePct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77973,"src":"27399:18:130","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":79555,"indexExpression":{"id":79554,"name":"_voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79548,"src":"27418:6:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"27399:26:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":79552,"id":79556,"nodeType":"Return","src":"27392:33:130"}]},"functionSelector":"bcc5b93b","implemented":true,"kind":"function","modifiers":[],"name":"getTotalVoterStakePct","nameLocation":"27314:21:130","parameters":{"id":79549,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79548,"mutability":"mutable","name":"_voter","nameLocation":"27344:6:130","nodeType":"VariableDeclaration","scope":79558,"src":"27336:14:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":79547,"name":"address","nodeType":"ElementaryTypeName","src":"27336:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"27335:16:130"},"returnParameters":{"id":79552,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79551,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":79558,"src":"27373:7:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79550,"name":"uint256","nodeType":"ElementaryTypeName","src":"27373:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"27372:9:130"},"scope":80578,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":79575,"nodeType":"FunctionDefinition","src":"27438:182:130","nodes":[],"body":{"id":79574,"nodeType":"Block","src":"27548:72:130","nodes":[],"statements":[{"expression":{"baseExpression":{"expression":{"baseExpression":{"id":79567,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77969,"src":"27565:9:130","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$77721_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":79569,"indexExpression":{"id":79568,"name":"_proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79560,"src":"27575:11:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"27565:22:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"id":79570,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"27588:17:130","memberName":"voterStakedPoints","nodeType":"MemberAccess","referencedDeclaration":77717,"src":"27565:40:130","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":79572,"indexExpression":{"id":79571,"name":"_voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79562,"src":"27606:6:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"27565:48:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":79566,"id":79573,"nodeType":"Return","src":"27558:55:130"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_internal_getProposalVoterStake","nameLocation":"27447:31:130","parameters":{"id":79563,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79560,"mutability":"mutable","name":"_proposalId","nameLocation":"27487:11:130","nodeType":"VariableDeclaration","scope":79575,"src":"27479:19:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79559,"name":"uint256","nodeType":"ElementaryTypeName","src":"27479:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":79562,"mutability":"mutable","name":"_voter","nameLocation":"27508:6:130","nodeType":"VariableDeclaration","scope":79575,"src":"27500:14:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":79561,"name":"address","nodeType":"ElementaryTypeName","src":"27500:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"27478:37:130"},"returnParameters":{"id":79566,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79565,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":79575,"src":"27539:7:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79564,"name":"uint256","nodeType":"ElementaryTypeName","src":"27539:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"27538:9:130"},"scope":80578,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":79585,"nodeType":"FunctionDefinition","src":"27626:145:130","nodes":[],"body":{"id":79584,"nodeType":"Block","src":"27690:81:130","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":79580,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77961,"src":"27707:17:130","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"}},"id":79581,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"27725:20:130","memberName":"getBasisStakedAmount","nodeType":"MemberAccess","referencedDeclaration":84831,"src":"27707:38:130","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint256_$","typeString":"function () view external returns (uint256)"}},"id":79582,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27707:40:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":79579,"id":79583,"nodeType":"Return","src":"27700:47:130"}]},"implemented":true,"kind":"function","modifiers":[],"name":"getBasisStakedAmount","nameLocation":"27635:20:130","parameters":{"id":79576,"nodeType":"ParameterList","parameters":[],"src":"27655:2:130"},"returnParameters":{"id":79579,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79578,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":79585,"src":"27681:7:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79577,"name":"uint256","nodeType":"ElementaryTypeName","src":"27681:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"27680:9:130"},"scope":80578,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":79610,"nodeType":"FunctionDefinition","src":"27777:185:130","nodes":[],"body":{"id":79609,"nodeType":"Block","src":"27851:111:130","nodes":[],"statements":[{"expression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":79607,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79597,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":79592,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77969,"src":"27868:9:130","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$77721_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":79594,"indexExpression":{"id":79593,"name":"_proposalID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79587,"src":"27878:11:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"27868:22:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"id":79595,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"27891:10:130","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":77696,"src":"27868:33:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":79596,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"27904:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"27868:37:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":79606,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":79598,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77969,"src":"27909:9:130","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$77721_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":79600,"indexExpression":{"id":79599,"name":"_proposalID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79587,"src":"27919:11:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"27909:22:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"id":79601,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"27932:9:130","memberName":"submitter","nodeType":"MemberAccess","referencedDeclaration":77706,"src":"27909:32:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":79604,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"27953:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":79603,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"27945:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":79602,"name":"address","nodeType":"ElementaryTypeName","src":"27945:7:130","typeDescriptions":{}}},"id":79605,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27945:10:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"27909:46:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"27868:87:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":79591,"id":79608,"nodeType":"Return","src":"27861:94:130"}]},"implemented":true,"kind":"function","modifiers":[],"name":"proposalExists","nameLocation":"27786:14:130","parameters":{"id":79588,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79587,"mutability":"mutable","name":"_proposalID","nameLocation":"27809:11:130","nodeType":"VariableDeclaration","scope":79610,"src":"27801:19:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79586,"name":"uint256","nodeType":"ElementaryTypeName","src":"27801:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"27800:21:130"},"returnParameters":{"id":79591,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79590,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":79610,"src":"27845:4:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":79589,"name":"bool","nodeType":"ElementaryTypeName","src":"27845:4:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"27844:6:130"},"scope":80578,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":79628,"nodeType":"FunctionDefinition","src":"27968:174:130","nodes":[],"body":{"id":79627,"nodeType":"Block","src":"28063:79:130","nodes":[],"statements":[{"expression":{"id":79625,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":79617,"name":"isOverMaxRatio","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79615,"src":"28073:14:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79624,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79620,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":79618,"name":"maxRatio","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77935,"src":"28090:8:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":79619,"name":"poolAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74092,"src":"28101:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"28090:21:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79623,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":79621,"name":"_requestedAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79612,"src":"28115:16:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":79622,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77919,"src":"28134:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"28115:20:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"28090:45:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"28073:62:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":79626,"nodeType":"ExpressionStatement","src":"28073:62:130"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_isOverMaxRatio","nameLocation":"27977:15:130","parameters":{"id":79613,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79612,"mutability":"mutable","name":"_requestedAmount","nameLocation":"28001:16:130","nodeType":"VariableDeclaration","scope":79628,"src":"27993:24:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79611,"name":"uint256","nodeType":"ElementaryTypeName","src":"27993:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"27992:26:130"},"returnParameters":{"id":79616,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79615,"mutability":"mutable","name":"isOverMaxRatio","nameLocation":"28047:14:130","nodeType":"VariableDeclaration","scope":79628,"src":"28042:19:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":79614,"name":"bool","nodeType":"ElementaryTypeName","src":"28042:4:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"28041:21:130"},"scope":80578,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":79724,"nodeType":"FunctionDefinition","src":"28148:1548:130","nodes":[],"body":{"id":79723,"nodeType":"Block","src":"28278:1418:130","nodes":[],"statements":[{"assignments":[79638],"declarations":[{"constant":false,"id":79638,"mutability":"mutable","name":"deltaSupportSum","nameLocation":"28295:15:130","nodeType":"VariableDeclaration","scope":79723,"src":"28288:22:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":79637,"name":"int256","nodeType":"ElementaryTypeName","src":"28288:6:130","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"id":79640,"initialValue":{"hexValue":"30","id":79639,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"28313:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"28288:26:130"},{"body":{"id":79685,"nodeType":"Block","src":"28378:576:130","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79657,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":79652,"name":"_proposalSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79634,"src":"28451:16:130","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$77726_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}},"id":79654,"indexExpression":{"id":79653,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79642,"src":"28468:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"28451:19:130","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$77726_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory"}},"id":79655,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"28471:10:130","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":77723,"src":"28451:30:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":79656,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"28485:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"28451:35:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":79660,"nodeType":"IfStatement","src":"28447:187:130","trueBody":{"id":79659,"nodeType":"Block","src":"28488:146:130","statements":[{"id":79658,"nodeType":"Continue","src":"28611:8:130"}]}},{"assignments":[79662],"declarations":[{"constant":false,"id":79662,"mutability":"mutable","name":"proposalId","nameLocation":"28655:10:130","nodeType":"VariableDeclaration","scope":79685,"src":"28647:18:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79661,"name":"uint256","nodeType":"ElementaryTypeName","src":"28647:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":79667,"initialValue":{"expression":{"baseExpression":{"id":79663,"name":"_proposalSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79634,"src":"28668:16:130","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$77726_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}},"id":79665,"indexExpression":{"id":79664,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79642,"src":"28685:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"28668:19:130","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$77726_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory"}},"id":79666,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"28688:10:130","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":77723,"src":"28668:30:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"28647:51:130"},{"condition":{"id":79671,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"28716:27:130","subExpression":{"arguments":[{"id":79669,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79662,"src":"28732:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":79668,"name":"proposalExists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79610,"src":"28717:14:130","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view returns (bool)"}},"id":79670,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28717:26:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":79677,"nodeType":"IfStatement","src":"28712:167:130","trueBody":{"id":79676,"nodeType":"Block","src":"28745:134:130","statements":[{"errorCall":{"arguments":[{"id":79673,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79662,"src":"28788:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":79672,"name":"ProposalNotInList","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77815,"src":"28770:17:130","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":79674,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28770:29:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":79675,"nodeType":"RevertStatement","src":"28763:36:130"}]}},{"expression":{"id":79683,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":79678,"name":"deltaSupportSum","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79638,"src":"28892:15:130","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"expression":{"baseExpression":{"id":79679,"name":"_proposalSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79634,"src":"28911:16:130","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$77726_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}},"id":79681,"indexExpression":{"id":79680,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79642,"src":"28928:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"28911:19:130","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$77726_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory"}},"id":79682,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"28931:12:130","memberName":"deltaSupport","nodeType":"MemberAccess","referencedDeclaration":77725,"src":"28911:32:130","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"28892:51:130","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":79684,"nodeType":"ExpressionStatement","src":"28892:51:130"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79648,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":79645,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79642,"src":"28344:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":79646,"name":"_proposalSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79634,"src":"28348:16:130","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$77726_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}},"id":79647,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"28365:6:130","memberName":"length","nodeType":"MemberAccess","src":"28348:23:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"28344:27:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":79686,"initializationExpression":{"assignments":[79642],"declarations":[{"constant":false,"id":79642,"mutability":"mutable","name":"i","nameLocation":"28337:1:130","nodeType":"VariableDeclaration","scope":79686,"src":"28329:9:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79641,"name":"uint256","nodeType":"ElementaryTypeName","src":"28329:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":79644,"initialValue":{"hexValue":"30","id":79643,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"28341:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"28329:13:130"},"loopExpression":{"expression":{"id":79650,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"28373:3:130","subExpression":{"id":79649,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79642,"src":"28373:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79651,"nodeType":"ExpressionStatement","src":"28373:3:130"},"nodeType":"ForStatement","src":"28324:630:130"},{"assignments":[79688],"declarations":[{"constant":false,"id":79688,"mutability":"mutable","name":"newTotalVotingSupport","nameLocation":"29058:21:130","nodeType":"VariableDeclaration","scope":79723,"src":"29050:29:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79687,"name":"uint256","nodeType":"ElementaryTypeName","src":"29050:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":79695,"initialValue":{"arguments":[{"arguments":[{"id":79691,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79630,"src":"29116:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":79690,"name":"getTotalVoterStakePct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79558,"src":"29094:21:130","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view returns (uint256)"}},"id":79692,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29094:30:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":79693,"name":"deltaSupportSum","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79638,"src":"29126:15:130","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":79689,"name":"_applyDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80046,"src":"29082:11:130","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_int256_$returns$_t_uint256_$","typeString":"function (uint256,int256) pure returns (uint256)"}},"id":79694,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29082:60:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"29050:92:130"},{"assignments":[79697],"declarations":[{"constant":false,"id":79697,"mutability":"mutable","name":"participantBalance","nameLocation":"29232:18:130","nodeType":"VariableDeclaration","scope":79723,"src":"29224:26:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79696,"name":"uint256","nodeType":"ElementaryTypeName","src":"29224:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":79706,"initialValue":{"arguments":[{"id":79700,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79630,"src":"29296:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":79703,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"29313:4:130","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$80578","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$80578","typeString":"contract CVStrategyV0_0"}],"id":79702,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"29305:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":79701,"name":"address","nodeType":"ElementaryTypeName","src":"29305:7:130","typeDescriptions":{}}},"id":79704,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29305:13:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":79698,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77961,"src":"29253:17:130","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"}},"id":79699,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"29271:24:130","memberName":"getMemberPowerInStrategy","nodeType":"MemberAccess","referencedDeclaration":84375,"src":"29253:42:130","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view external returns (uint256)"}},"id":79705,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29253:66:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"29224:95:130"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79709,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":79707,"name":"newTotalVotingSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79688,"src":"29485:21:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":79708,"name":"participantBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79697,"src":"29509:18:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"29485:42:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":79716,"nodeType":"IfStatement","src":"29481:147:130","trueBody":{"id":79715,"nodeType":"Block","src":"29529:99:130","statements":[{"errorCall":{"arguments":[{"id":79711,"name":"newTotalVotingSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79688,"src":"29575:21:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":79712,"name":"participantBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79697,"src":"29598:18:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":79710,"name":"NotEnoughPointsToSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77803,"src":"29550:24:130","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":79713,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29550:67:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":79714,"nodeType":"RevertStatement","src":"29543:74:130"}]}},{"expression":{"id":79721,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":79717,"name":"totalVoterStakePct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77973,"src":"29638:18:130","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":79719,"indexExpression":{"id":79718,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79630,"src":"29657:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"29638:27:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":79720,"name":"newTotalVotingSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79688,"src":"29668:21:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"29638:51:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79722,"nodeType":"ExpressionStatement","src":"29638:51:130"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_check_before_addSupport","nameLocation":"28157:24:130","parameters":{"id":79635,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79630,"mutability":"mutable","name":"_sender","nameLocation":"28190:7:130","nodeType":"VariableDeclaration","scope":79724,"src":"28182:15:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":79629,"name":"address","nodeType":"ElementaryTypeName","src":"28182:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":79634,"mutability":"mutable","name":"_proposalSupport","nameLocation":"28239:16:130","nodeType":"VariableDeclaration","scope":79724,"src":"28199:56:130","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$77726_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport[]"},"typeName":{"baseType":{"id":79632,"nodeType":"UserDefinedTypeName","pathNode":{"id":79631,"name":"StrategyStruct.ProposalSupport","nameLocations":["28199:14:130","28214:15:130"],"nodeType":"IdentifierPath","referencedDeclaration":77726,"src":"28199:30:130"},"referencedDeclaration":77726,"src":"28199:30:130","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$77726_storage_ptr","typeString":"struct StrategyStruct.ProposalSupport"}},"id":79633,"nodeType":"ArrayTypeName","src":"28199:32:130","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$77726_storage_$dyn_storage_ptr","typeString":"struct StrategyStruct.ProposalSupport[]"}},"visibility":"internal"}],"src":"28181:75:130"},"returnParameters":{"id":79636,"nodeType":"ParameterList","parameters":[],"src":"28278:0:130"},"scope":80578,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":80011,"nodeType":"FunctionDefinition","src":"29702:3479:130","nodes":[],"body":{"id":80010,"nodeType":"Block","src":"29807:3374:130","nodes":[],"statements":[{"assignments":[79737],"declarations":[{"constant":false,"id":79737,"mutability":"mutable","name":"proposalsIds","nameLocation":"29834:12:130","nodeType":"VariableDeclaration","scope":80010,"src":"29817:29:130","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":79735,"name":"uint256","nodeType":"ElementaryTypeName","src":"29817:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79736,"nodeType":"ArrayTypeName","src":"29817:9:130","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"id":79738,"nodeType":"VariableDeclarationStatement","src":"29817:29:130"},{"body":{"id":80008,"nodeType":"Block","src":"29910:3265:130","statements":[{"assignments":[79751],"declarations":[{"constant":false,"id":79751,"mutability":"mutable","name":"proposalId","nameLocation":"29932:10:130","nodeType":"VariableDeclaration","scope":80008,"src":"29924:18:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79750,"name":"uint256","nodeType":"ElementaryTypeName","src":"29924:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":79756,"initialValue":{"expression":{"baseExpression":{"id":79752,"name":"_proposalSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79730,"src":"29945:16:130","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$77726_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}},"id":79754,"indexExpression":{"id":79753,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79740,"src":"29962:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"29945:19:130","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$77726_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory"}},"id":79755,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"29965:10:130","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":77723,"src":"29945:30:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"29924:51:130"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79760,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":79757,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79737,"src":"30048:12:130","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":79758,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30061:6:130","memberName":"length","nodeType":"MemberAccess","src":"30048:19:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":79759,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"30071:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"30048:24:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":79859,"nodeType":"Block","src":"30200:764:130","statements":[{"assignments":[79777],"declarations":[{"constant":false,"id":79777,"mutability":"mutable","name":"exist","nameLocation":"30223:5:130","nodeType":"VariableDeclaration","scope":79859,"src":"30218:10:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":79776,"name":"bool","nodeType":"ElementaryTypeName","src":"30218:4:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":79779,"initialValue":{"hexValue":"66616c7365","id":79778,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"30231:5:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"nodeType":"VariableDeclarationStatement","src":"30218:18:130"},{"body":{"id":79807,"nodeType":"Block","src":"30304:268:130","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79795,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"id":79791,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79737,"src":"30355:12:130","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":79793,"indexExpression":{"id":79792,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79781,"src":"30368:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"30355:15:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":79794,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79751,"src":"30374:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"30355:29:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":79806,"nodeType":"IfStatement","src":"30351:203:130","trueBody":{"id":79805,"nodeType":"Block","src":"30386:168:130","statements":[{"expression":{"id":79798,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":79796,"name":"exist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79777,"src":"30412:5:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":79797,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"30420:4:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"30412:12:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":79799,"nodeType":"ExpressionStatement","src":"30412:12:130"},{"errorCall":{"arguments":[{"id":79801,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79751,"src":"30483:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":79802,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79781,"src":"30495:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":79800,"name":"ProposalSupportDuplicated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77821,"src":"30457:25:130","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":79803,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30457:40:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":79804,"nodeType":"RevertStatement","src":"30450:47:130"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79787,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":79784,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79781,"src":"30274:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":79785,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79737,"src":"30278:12:130","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":79786,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30291:6:130","memberName":"length","nodeType":"MemberAccess","src":"30278:19:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"30274:23:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":79808,"initializationExpression":{"assignments":[79781],"declarations":[{"constant":false,"id":79781,"mutability":"mutable","name":"j","nameLocation":"30267:1:130","nodeType":"VariableDeclaration","scope":79808,"src":"30259:9:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79780,"name":"uint256","nodeType":"ElementaryTypeName","src":"30259:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":79783,"initialValue":{"hexValue":"30","id":79782,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"30271:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"30259:13:130"},"loopExpression":{"expression":{"id":79789,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"30299:3:130","subExpression":{"id":79788,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79781,"src":"30299:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79790,"nodeType":"ExpressionStatement","src":"30299:3:130"},"nodeType":"ForStatement","src":"30254:318:130"},{"condition":{"id":79810,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"30593:6:130","subExpression":{"id":79809,"name":"exist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79777,"src":"30594:5:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":79858,"nodeType":"IfStatement","src":"30589:361:130","trueBody":{"id":79857,"nodeType":"Block","src":"30601:349:130","statements":[{"assignments":[79815],"declarations":[{"constant":false,"id":79815,"mutability":"mutable","name":"temp","nameLocation":"30640:4:130","nodeType":"VariableDeclaration","scope":79857,"src":"30623:21:130","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":79813,"name":"uint256","nodeType":"ElementaryTypeName","src":"30623:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79814,"nodeType":"ArrayTypeName","src":"30623:9:130","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"id":79824,"initialValue":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79822,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":79819,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79737,"src":"30661:12:130","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":79820,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30674:6:130","memberName":"length","nodeType":"MemberAccess","src":"30661:19:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"31","id":79821,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"30683:1:130","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"30661:23:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":79818,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"30647:13:130","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (uint256[] memory)"},"typeName":{"baseType":{"id":79816,"name":"uint256","nodeType":"ElementaryTypeName","src":"30651:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79817,"nodeType":"ArrayTypeName","src":"30651:9:130","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}}},"id":79823,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30647:38:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"nodeType":"VariableDeclarationStatement","src":"30623:62:130"},{"body":{"id":79844,"nodeType":"Block","src":"30757:74:130","statements":[{"expression":{"id":79842,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":79836,"name":"temp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79815,"src":"30783:4:130","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":79838,"indexExpression":{"id":79837,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79826,"src":"30788:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"30783:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"baseExpression":{"id":79839,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79737,"src":"30793:12:130","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":79841,"indexExpression":{"id":79840,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79826,"src":"30806:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"30793:15:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"30783:25:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79843,"nodeType":"ExpressionStatement","src":"30783:25:130"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79832,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":79829,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79826,"src":"30727:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":79830,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79737,"src":"30731:12:130","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":79831,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30744:6:130","memberName":"length","nodeType":"MemberAccess","src":"30731:19:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"30727:23:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":79845,"initializationExpression":{"assignments":[79826],"declarations":[{"constant":false,"id":79826,"mutability":"mutable","name":"j","nameLocation":"30720:1:130","nodeType":"VariableDeclaration","scope":79845,"src":"30712:9:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79825,"name":"uint256","nodeType":"ElementaryTypeName","src":"30712:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":79828,"initialValue":{"hexValue":"30","id":79827,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"30724:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"30712:13:130"},"loopExpression":{"expression":{"id":79834,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"30752:3:130","subExpression":{"id":79833,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79826,"src":"30752:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79835,"nodeType":"ExpressionStatement","src":"30752:3:130"},"nodeType":"ForStatement","src":"30707:124:130"},{"expression":{"id":79851,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":79846,"name":"temp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79815,"src":"30852:4:130","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":79849,"indexExpression":{"expression":{"id":79847,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79737,"src":"30857:12:130","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":79848,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30870:6:130","memberName":"length","nodeType":"MemberAccess","src":"30857:19:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"30852:25:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":79850,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79751,"src":"30880:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"30852:38:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79852,"nodeType":"ExpressionStatement","src":"30852:38:130"},{"expression":{"id":79855,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":79853,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79737,"src":"30912:12:130","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":79854,"name":"temp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79815,"src":"30927:4:130","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"src":"30912:19:130","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":79856,"nodeType":"ExpressionStatement","src":"30912:19:130"}]}}]},"id":79860,"nodeType":"IfStatement","src":"30044:920:130","trueBody":{"id":79775,"nodeType":"Block","src":"30074:120:130","statements":[{"expression":{"id":79767,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":79761,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79737,"src":"30092:12:130","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"31","id":79765,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"30121:1:130","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":79764,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"30107:13:130","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (uint256[] memory)"},"typeName":{"baseType":{"id":79762,"name":"uint256","nodeType":"ElementaryTypeName","src":"30111:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79763,"nodeType":"ArrayTypeName","src":"30111:9:130","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}}},"id":79766,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30107:16:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"src":"30092:31:130","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":79768,"nodeType":"ExpressionStatement","src":"30092:31:130"},{"expression":{"id":79773,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":79769,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79737,"src":"30141:12:130","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":79771,"indexExpression":{"hexValue":"30","id":79770,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"30154:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"30141:15:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":79772,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79751,"src":"30159:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"30141:28:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79774,"nodeType":"ExpressionStatement","src":"30141:28:130"}]}},{"assignments":[79862],"declarations":[{"constant":false,"id":79862,"mutability":"mutable","name":"delta","nameLocation":"30984:5:130","nodeType":"VariableDeclaration","scope":80008,"src":"30977:12:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":79861,"name":"int256","nodeType":"ElementaryTypeName","src":"30977:6:130","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"id":79867,"initialValue":{"expression":{"baseExpression":{"id":79863,"name":"_proposalSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79730,"src":"30992:16:130","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$77726_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}},"id":79865,"indexExpression":{"id":79864,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79740,"src":"31009:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"30992:19:130","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$77726_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory"}},"id":79866,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"31012:12:130","memberName":"deltaSupport","nodeType":"MemberAccess","referencedDeclaration":77725,"src":"30992:32:130","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"VariableDeclarationStatement","src":"30977:47:130"},{"assignments":[79872],"declarations":[{"constant":false,"id":79872,"mutability":"mutable","name":"proposal","nameLocation":"31071:8:130","nodeType":"VariableDeclaration","scope":80008,"src":"31039:40:130","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":79871,"nodeType":"UserDefinedTypeName","pathNode":{"id":79870,"name":"StrategyStruct.Proposal","nameLocations":["31039:14:130","31054:8:130"],"nodeType":"IdentifierPath","referencedDeclaration":77721,"src":"31039:23:130"},"referencedDeclaration":77721,"src":"31039:23:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":79876,"initialValue":{"baseExpression":{"id":79873,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77969,"src":"31082:9:130","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$77721_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":79875,"indexExpression":{"id":79874,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79751,"src":"31092:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"31082:21:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"31039:64:130"},{"assignments":[79878],"declarations":[{"constant":false,"id":79878,"mutability":"mutable","name":"previousStakedPoints","nameLocation":"31213:20:130","nodeType":"VariableDeclaration","scope":80008,"src":"31205:28:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79877,"name":"uint256","nodeType":"ElementaryTypeName","src":"31205:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":79883,"initialValue":{"baseExpression":{"expression":{"id":79879,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79872,"src":"31236:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79880,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"31245:17:130","memberName":"voterStakedPoints","nodeType":"MemberAccess","referencedDeclaration":77717,"src":"31236:26:130","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":79882,"indexExpression":{"id":79881,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79726,"src":"31263:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"31236:35:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"31205:66:130"},{"assignments":[79885],"declarations":[{"constant":false,"id":79885,"mutability":"mutable","name":"stakedPoints","nameLocation":"31444:12:130","nodeType":"VariableDeclaration","scope":80008,"src":"31436:20:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79884,"name":"uint256","nodeType":"ElementaryTypeName","src":"31436:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":79890,"initialValue":{"arguments":[{"id":79887,"name":"previousStakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79878,"src":"31471:20:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":79888,"name":"delta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79862,"src":"31493:5:130","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":79886,"name":"_applyDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80046,"src":"31459:11:130","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_int256_$returns$_t_uint256_$","typeString":"function (uint256,int256) pure returns (uint256)"}},"id":79889,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31459:40:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"31436:63:130"},{"expression":{"id":79897,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":79891,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79872,"src":"31634:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79894,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"31643:17:130","memberName":"voterStakedPoints","nodeType":"MemberAccess","referencedDeclaration":77717,"src":"31634:26:130","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":79895,"indexExpression":{"id":79893,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79726,"src":"31661:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"31634:35:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":79896,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79885,"src":"31672:12:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"31634:50:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79898,"nodeType":"ExpressionStatement","src":"31634:50:130"},{"assignments":[79900],"declarations":[{"constant":false,"id":79900,"mutability":"mutable","name":"hasProposal","nameLocation":"31923:11:130","nodeType":"VariableDeclaration","scope":80008,"src":"31918:16:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":79899,"name":"bool","nodeType":"ElementaryTypeName","src":"31918:4:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":79902,"initialValue":{"hexValue":"66616c7365","id":79901,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"31937:5:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"nodeType":"VariableDeclarationStatement","src":"31918:24:130"},{"body":{"id":79931,"nodeType":"Block","src":"32023:179:130","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79923,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"baseExpression":{"id":79916,"name":"voterStakedProposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77978,"src":"32045:20:130","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$","typeString":"mapping(address => uint256[] storage ref)"}},"id":79918,"indexExpression":{"id":79917,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79726,"src":"32066:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"32045:29:130","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage","typeString":"uint256[] storage ref"}},"id":79920,"indexExpression":{"id":79919,"name":"k","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79904,"src":"32075:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"32045:32:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":79921,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79872,"src":"32081:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79922,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"32090:10:130","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":77696,"src":"32081:19:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"32045:55:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":79930,"nodeType":"IfStatement","src":"32041:147:130","trueBody":{"id":79929,"nodeType":"Block","src":"32102:86:130","statements":[{"expression":{"id":79926,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":79924,"name":"hasProposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79900,"src":"32124:11:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":79925,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"32138:4:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"32124:18:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":79927,"nodeType":"ExpressionStatement","src":"32124:18:130"},{"id":79928,"nodeType":"Break","src":"32164:5:130"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79912,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":79907,"name":"k","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79904,"src":"31976:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"baseExpression":{"id":79908,"name":"voterStakedProposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77978,"src":"31980:20:130","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$","typeString":"mapping(address => uint256[] storage ref)"}},"id":79910,"indexExpression":{"id":79909,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79726,"src":"32001:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"31980:29:130","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage","typeString":"uint256[] storage ref"}},"id":79911,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"32010:6:130","memberName":"length","nodeType":"MemberAccess","src":"31980:36:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"31976:40:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":79932,"initializationExpression":{"assignments":[79904],"declarations":[{"constant":false,"id":79904,"mutability":"mutable","name":"k","nameLocation":"31969:1:130","nodeType":"VariableDeclaration","scope":79932,"src":"31961:9:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79903,"name":"uint256","nodeType":"ElementaryTypeName","src":"31961:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":79906,"initialValue":{"hexValue":"30","id":79905,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"31973:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"31961:13:130"},"loopExpression":{"expression":{"id":79914,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"32018:3:130","subExpression":{"id":79913,"name":"k","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79904,"src":"32018:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79915,"nodeType":"ExpressionStatement","src":"32018:3:130"},"nodeType":"ForStatement","src":"31956:246:130"},{"condition":{"id":79934,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"32219:12:130","subExpression":{"id":79933,"name":"hasProposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79900,"src":"32220:11:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":79944,"nodeType":"IfStatement","src":"32215:106:130","trueBody":{"id":79943,"nodeType":"Block","src":"32233:88:130","statements":[{"expression":{"arguments":[{"expression":{"id":79939,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79872,"src":"32286:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79940,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"32295:10:130","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":77696,"src":"32286:19:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"baseExpression":{"id":79935,"name":"voterStakedProposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77978,"src":"32251:20:130","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$","typeString":"mapping(address => uint256[] storage ref)"}},"id":79937,"indexExpression":{"id":79936,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79726,"src":"32272:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"32251:29:130","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage","typeString":"uint256[] storage ref"}},"id":79938,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"32281:4:130","memberName":"push","nodeType":"MemberAccess","src":"32251:34:130","typeDescriptions":{"typeIdentifier":"t_function_arraypush_nonpayable$_t_array$_t_uint256_$dyn_storage_ptr_$_t_uint256_$returns$__$attached_to$_t_array$_t_uint256_$dyn_storage_ptr_$","typeString":"function (uint256[] storage pointer,uint256)"}},"id":79941,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32251:55:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":79942,"nodeType":"ExpressionStatement","src":"32251:55:130"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79947,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":79945,"name":"previousStakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79878,"src":"32476:20:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"id":79946,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79885,"src":"32500:12:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"32476:36:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":79977,"nodeType":"Block","src":"32681:161:130","statements":[{"expression":{"id":79967,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":79963,"name":"totalStaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77942,"src":"32699:11:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79966,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":79964,"name":"previousStakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79878,"src":"32714:20:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":79965,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79885,"src":"32737:12:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"32714:35:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"32699:50:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79968,"nodeType":"ExpressionStatement","src":"32699:50:130"},{"expression":{"id":79975,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":79969,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79872,"src":"32767:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79971,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"32776:12:130","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":77700,"src":"32767:21:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79974,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":79972,"name":"previousStakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79878,"src":"32792:20:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":79973,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79885,"src":"32815:12:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"32792:35:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"32767:60:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79976,"nodeType":"ExpressionStatement","src":"32767:60:130"}]},"id":79978,"nodeType":"IfStatement","src":"32472:370:130","trueBody":{"id":79962,"nodeType":"Block","src":"32514:161:130","statements":[{"expression":{"id":79952,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":79948,"name":"totalStaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77942,"src":"32532:11:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79951,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":79949,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79885,"src":"32547:12:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":79950,"name":"previousStakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79878,"src":"32562:20:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"32547:35:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"32532:50:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79953,"nodeType":"ExpressionStatement","src":"32532:50:130"},{"expression":{"id":79960,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":79954,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79872,"src":"32600:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79956,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"32609:12:130","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":77700,"src":"32600:21:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79959,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":79957,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79885,"src":"32625:12:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":79958,"name":"previousStakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79878,"src":"32640:20:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"32625:35:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"32600:60:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79961,"nodeType":"ExpressionStatement","src":"32600:60:130"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79982,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":79979,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79872,"src":"32859:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79980,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"32868:9:130","memberName":"blockLast","nodeType":"MemberAccess","referencedDeclaration":77710,"src":"32859:18:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":79981,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"32881:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"32859:23:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":80006,"nodeType":"Block","src":"32956:209:130","statements":[{"expression":{"arguments":[{"id":79992,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79872,"src":"33001:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},{"id":79993,"name":"previousStakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79878,"src":"33011:20:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":79991,"name":"_calculateAndSetConviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80339,"src":"32974:26:130","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_Proposal_$77721_storage_ptr_$_t_uint256_$returns$__$","typeString":"function (struct StrategyStruct.Proposal storage pointer,uint256)"}},"id":79994,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32974:58:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":79995,"nodeType":"ExpressionStatement","src":"32974:58:130"},{"eventCall":{"arguments":[{"id":79997,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79726,"src":"33068:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":79998,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79751,"src":"33077:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":79999,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79885,"src":"33089:12:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":80000,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79872,"src":"33103:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":80001,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"33112:12:130","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":77700,"src":"33103:21:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":80002,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79872,"src":"33126:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":80003,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"33135:14:130","memberName":"convictionLast","nodeType":"MemberAccess","referencedDeclaration":77702,"src":"33126:23:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":79996,"name":"SupportAdded","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77890,"src":"33055:12:130","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (address,uint256,uint256,uint256,uint256)"}},"id":80004,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33055:95:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":80005,"nodeType":"EmitStatement","src":"33050:100:130"}]},"id":80007,"nodeType":"IfStatement","src":"32855:310:130","trueBody":{"id":79990,"nodeType":"Block","src":"32884:66:130","statements":[{"expression":{"id":79988,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":79983,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79872,"src":"32902:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79985,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"32911:9:130","memberName":"blockLast","nodeType":"MemberAccess","referencedDeclaration":77710,"src":"32902:18:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":79986,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"32923:5:130","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":79987,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"32929:6:130","memberName":"number","nodeType":"MemberAccess","src":"32923:12:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"32902:33:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79989,"nodeType":"ExpressionStatement","src":"32902:33:130"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79746,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":79743,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79740,"src":"29876:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":79744,"name":"_proposalSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79730,"src":"29880:16:130","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$77726_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}},"id":79745,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"29897:6:130","memberName":"length","nodeType":"MemberAccess","src":"29880:23:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"29876:27:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":80009,"initializationExpression":{"assignments":[79740],"declarations":[{"constant":false,"id":79740,"mutability":"mutable","name":"i","nameLocation":"29869:1:130","nodeType":"VariableDeclaration","scope":80009,"src":"29861:9:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79739,"name":"uint256","nodeType":"ElementaryTypeName","src":"29861:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":79742,"initialValue":{"hexValue":"30","id":79741,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29873:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"29861:13:130"},"loopExpression":{"expression":{"id":79748,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"29905:3:130","subExpression":{"id":79747,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79740,"src":"29905:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79749,"nodeType":"ExpressionStatement","src":"29905:3:130"},"nodeType":"ForStatement","src":"29856:3319:130"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_addSupport","nameLocation":"29711:11:130","parameters":{"id":79731,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79726,"mutability":"mutable","name":"_sender","nameLocation":"29731:7:130","nodeType":"VariableDeclaration","scope":80011,"src":"29723:15:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":79725,"name":"address","nodeType":"ElementaryTypeName","src":"29723:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":79730,"mutability":"mutable","name":"_proposalSupport","nameLocation":"29780:16:130","nodeType":"VariableDeclaration","scope":80011,"src":"29740:56:130","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$77726_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport[]"},"typeName":{"baseType":{"id":79728,"nodeType":"UserDefinedTypeName","pathNode":{"id":79727,"name":"StrategyStruct.ProposalSupport","nameLocations":["29740:14:130","29755:15:130"],"nodeType":"IdentifierPath","referencedDeclaration":77726,"src":"29740:30:130"},"referencedDeclaration":77726,"src":"29740:30:130","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$77726_storage_ptr","typeString":"struct StrategyStruct.ProposalSupport"}},"id":79729,"nodeType":"ArrayTypeName","src":"29740:32:130","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$77726_storage_$dyn_storage_ptr","typeString":"struct StrategyStruct.ProposalSupport[]"}},"visibility":"internal"}],"src":"29722:75:130"},"returnParameters":{"id":79732,"nodeType":"ParameterList","parameters":[],"src":"29807:0:130"},"scope":80578,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":80046,"nodeType":"FunctionDefinition","src":"33187:276:130","nodes":[],"body":{"id":80045,"nodeType":"Block","src":"33273:190:130","nodes":[],"statements":[{"assignments":[80021],"declarations":[{"constant":false,"id":80021,"mutability":"mutable","name":"result","nameLocation":"33290:6:130","nodeType":"VariableDeclaration","scope":80045,"src":"33283:13:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":80020,"name":"int256","nodeType":"ElementaryTypeName","src":"33283:6:130","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"id":80028,"initialValue":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":80027,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":80024,"name":"_support","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80013,"src":"33306:8:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":80023,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"33299:6:130","typeDescriptions":{"typeIdentifier":"t_type$_t_int256_$","typeString":"type(int256)"},"typeName":{"id":80022,"name":"int256","nodeType":"ElementaryTypeName","src":"33299:6:130","typeDescriptions":{}}},"id":80025,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33299:16:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":80026,"name":"_delta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80015,"src":"33318:6:130","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"33299:25:130","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"VariableDeclarationStatement","src":"33283:41:130"},{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":80031,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":80029,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80021,"src":"33339:6:130","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"hexValue":"30","id":80030,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"33348:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"33339:10:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":80039,"nodeType":"IfStatement","src":"33335:90:130","trueBody":{"id":80038,"nodeType":"Block","src":"33351:74:130","statements":[{"errorCall":{"arguments":[{"id":80033,"name":"_support","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80013,"src":"33389:8:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":80034,"name":"_delta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80015,"src":"33399:6:130","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":80035,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80021,"src":"33407:6:130","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":80032,"name":"SupportUnderflow","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77793,"src":"33372:16:130","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_int256_$_t_int256_$returns$__$","typeString":"function (uint256,int256,int256) pure"}},"id":80036,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33372:42:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":80037,"nodeType":"RevertStatement","src":"33365:49:130"}]}},{"expression":{"arguments":[{"id":80042,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80021,"src":"33449:6:130","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":80041,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"33441:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":80040,"name":"uint256","nodeType":"ElementaryTypeName","src":"33441:7:130","typeDescriptions":{}}},"id":80043,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33441:15:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":80019,"id":80044,"nodeType":"Return","src":"33434:22:130"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_applyDelta","nameLocation":"33196:11:130","parameters":{"id":80016,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80013,"mutability":"mutable","name":"_support","nameLocation":"33216:8:130","nodeType":"VariableDeclaration","scope":80046,"src":"33208:16:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80012,"name":"uint256","nodeType":"ElementaryTypeName","src":"33208:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":80015,"mutability":"mutable","name":"_delta","nameLocation":"33233:6:130","nodeType":"VariableDeclaration","scope":80046,"src":"33226:13:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":80014,"name":"int256","nodeType":"ElementaryTypeName","src":"33226:6:130","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"33207:33:130"},"returnParameters":{"id":80019,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80018,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":80046,"src":"33264:7:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80017,"name":"uint256","nodeType":"ElementaryTypeName","src":"33264:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"33263:9:130"},"scope":80578,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":80102,"nodeType":"FunctionDefinition","src":"33880:1145:130","nodes":[],"body":{"id":80101,"nodeType":"Block","src":"34027:998:130","nodes":[],"statements":[{"assignments":[80059],"declarations":[{"constant":false,"id":80059,"mutability":"mutable","name":"t","nameLocation":"34045:1:130","nodeType":"VariableDeclaration","scope":80101,"src":"34037:9:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80058,"name":"uint256","nodeType":"ElementaryTypeName","src":"34037:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":80061,"initialValue":{"id":80060,"name":"_timePassed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80049,"src":"34049:11:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"34037:23:130"},{"assignments":[80063],"declarations":[{"constant":false,"id":80063,"mutability":"mutable","name":"atTWO_128","nameLocation":"34383:9:130","nodeType":"VariableDeclaration","scope":80101,"src":"34375:17:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80062,"name":"uint256","nodeType":"ElementaryTypeName","src":"34375:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":80073,"initialValue":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80070,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80067,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":80065,"name":"decay","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77933,"src":"34401:5:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"313238","id":80066,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"34410:3:130","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"34401:12:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":80068,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"34400:14:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":80069,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77919,"src":"34417:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"34400:18:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":80071,"name":"t","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80059,"src":"34420:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":80064,"name":"_pow","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80290,"src":"34395:4:130","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":80072,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34395:27:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"34375:47:130"},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80099,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80096,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80093,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80076,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":80074,"name":"atTWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80063,"src":"34918:9:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":80075,"name":"_lastConv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80051,"src":"34930:9:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"34918:21:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":80077,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"34917:23:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80091,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80085,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80080,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":80078,"name":"_oldAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80053,"src":"34945:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":80079,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77919,"src":"34958:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"34945:14:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80083,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":80081,"name":"TWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77922,"src":"34963:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":80082,"name":"atTWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80063,"src":"34973:9:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"34963:19:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":80084,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"34962:21:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"34945:38:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":80086,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"34944:40:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80089,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":80087,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77919,"src":"34988:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":80088,"name":"decay","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77933,"src":"34992:5:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"34988:9:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":80090,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"34987:11:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"34944:54:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":80092,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"34943:56:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"34917:82:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":80094,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"34916:84:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":80095,"name":"TWO_127","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77925,"src":"35003:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"34916:94:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":80097,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"34915:96:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"313238","id":80098,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"35015:3:130","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"34915:103:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":80057,"id":80100,"nodeType":"Return","src":"34908:110:130"}]},"documentation":{"id":80047,"nodeType":"StructuredDocumentation","src":"33469:406:130","text":" @dev Conviction formula: a^t * y(0) + x * (1 - a^t) / (1 - a)\n Solidity implementation: y = (2^128 * a^t * y0 + x * D * (2^128 - 2^128 * a^t) / (D - aD) + 2^127) / 2^128\n @param _timePassed Number of blocks since last conviction record\n @param _lastConv Last conviction record\n @param _oldAmount Amount of tokens staked until now\n @return Current conviction"},"functionSelector":"346db8cb","implemented":true,"kind":"function","modifiers":[],"name":"calculateConviction","nameLocation":"33889:19:130","parameters":{"id":80054,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80049,"mutability":"mutable","name":"_timePassed","nameLocation":"33917:11:130","nodeType":"VariableDeclaration","scope":80102,"src":"33909:19:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80048,"name":"uint256","nodeType":"ElementaryTypeName","src":"33909:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":80051,"mutability":"mutable","name":"_lastConv","nameLocation":"33938:9:130","nodeType":"VariableDeclaration","scope":80102,"src":"33930:17:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80050,"name":"uint256","nodeType":"ElementaryTypeName","src":"33930:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":80053,"mutability":"mutable","name":"_oldAmount","nameLocation":"33957:10:130","nodeType":"VariableDeclaration","scope":80102,"src":"33949:18:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80052,"name":"uint256","nodeType":"ElementaryTypeName","src":"33949:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"33908:60:130"},"returnParameters":{"id":80057,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80056,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":80102,"src":"34014:7:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80055,"name":"uint256","nodeType":"ElementaryTypeName","src":"34014:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"34013:9:130"},"scope":80578,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":80190,"nodeType":"FunctionDefinition","src":"35606:1482:130","nodes":[],"body":{"id":80189,"nodeType":"Block","src":"35701:1387:130","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80112,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":80110,"name":"poolAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74092,"src":"35835:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"hexValue":"30","id":80111,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"35849:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"35835:15:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":80117,"nodeType":"IfStatement","src":"35831:66:130","trueBody":{"id":80116,"nodeType":"Block","src":"35852:45:130","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":80113,"name":"PoolIsEmpty","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77771,"src":"35873:11:130","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":80114,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35873:13:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":80115,"nodeType":"RevertStatement","src":"35866:20:130"}]}},{"condition":{"arguments":[{"id":80119,"name":"_requestedAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80105,"src":"36353:16:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":80118,"name":"_isOverMaxRatio","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79628,"src":"36337:15:130","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view returns (bool)"}},"id":80120,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36337:33:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":80125,"nodeType":"IfStatement","src":"36333:91:130","trueBody":{"id":80124,"nodeType":"Block","src":"36372:52:130","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":80121,"name":"AmountOverMaxRatio","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77779,"src":"36393:18:130","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":80122,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36393:20:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":80123,"nodeType":"RevertStatement","src":"36386:27:130"}]}},{"assignments":[80127],"declarations":[{"constant":false,"id":80127,"mutability":"mutable","name":"denom","nameLocation":"36580:5:130","nodeType":"VariableDeclaration","scope":80189,"src":"36572:13:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80126,"name":"uint256","nodeType":"ElementaryTypeName","src":"36572:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":80145,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80144,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80135,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80132,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":80128,"name":"maxRatio","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77935,"src":"36589:8:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"commonType":{"typeIdentifier":"t_rational_18446744073709551616_by_1","typeString":"int_const 18446744073709551616"},"id":80131,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"32","id":80129,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"36600:1:130","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"3634","id":80130,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"36605:2:130","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"36600:7:130","typeDescriptions":{"typeIdentifier":"t_rational_18446744073709551616_by_1","typeString":"int_const 18446744073709551616"}},"src":"36589:18:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":80133,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"36588:20:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":80134,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77919,"src":"36611:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"36588:24:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80143,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80140,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":80136,"name":"_requestedAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80105,"src":"36616:16:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"commonType":{"typeIdentifier":"t_rational_18446744073709551616_by_1","typeString":"int_const 18446744073709551616"},"id":80139,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"32","id":80137,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"36635:1:130","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"3634","id":80138,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"36640:2:130","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"36635:7:130","typeDescriptions":{"typeIdentifier":"t_rational_18446744073709551616_by_1","typeString":"int_const 18446744073709551616"}},"src":"36616:26:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":80141,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"36615:28:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":80142,"name":"poolAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74092,"src":"36646:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"36615:41:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"36588:68:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"36572:84:130"},{"expression":{"id":80178,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":80146,"name":"_threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80108,"src":"36666:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80177,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80174,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80170,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80164,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80161,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80152,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80149,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":80147,"name":"weight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77937,"src":"36698:6:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"313238","id":80148,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"36708:3:130","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"36698:13:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":80150,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"36697:15:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":80151,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77919,"src":"36715:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"36697:19:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":80153,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"36696:21:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80159,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80156,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":80154,"name":"denom","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80127,"src":"36722:5:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":80155,"name":"denom","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80127,"src":"36730:5:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"36722:13:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":80157,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"36721:15:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"3634","id":80158,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"36740:2:130","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"36721:21:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":80160,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"36720:23:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"36696:47:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":80162,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"36695:49:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":80163,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77919,"src":"36747:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"36695:53:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":80165,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"36694:55:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80168,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":80166,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77919,"src":"36753:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":80167,"name":"decay","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77933,"src":"36757:5:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"36753:9:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":80169,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"36752:11:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"36694:69:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":80171,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"36693:71:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":80172,"name":"totalEffectiveActivePoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80298,"src":"36767:26:130","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint256_$","typeString":"function () view returns (uint256)"}},"id":80173,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36767:28:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"36693:102:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":80175,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"36679:126:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"3634","id":80176,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"36809:2:130","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"36679:132:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"36666:145:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":80179,"nodeType":"ExpressionStatement","src":"36666:145:130"},{"expression":{"id":80187,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":80180,"name":"_threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80108,"src":"37001:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80183,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":80181,"name":"_threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80108,"src":"37014:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":80182,"name":"_minThresholdPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77947,"src":"37027:19:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"37014:32:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"id":80185,"name":"_minThresholdPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77947,"src":"37062:19:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":80186,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"37014:67:130","trueExpression":{"id":80184,"name":"_threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80108,"src":"37049:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"37001:80:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":80188,"nodeType":"ExpressionStatement","src":"37001:80:130"}]},"documentation":{"id":80103,"nodeType":"StructuredDocumentation","src":"35031:570:130","text":" @dev Formula: ρ * totalStaked / (1 - a) / (β - requestedAmount / total)**2\n For the Solidity implementation we amplify ρ and β and simplify the formula:\n weight = ρ * D\n maxRatio = β * D\n decay = a * D\n threshold = weight * totalStaked * D ** 2 * funds ** 2 / (D - decay) / (maxRatio * funds - requestedAmount * D) ** 2\n @param _requestedAmount Requested amount of tokens on certain proposal\n @return _threshold Threshold a proposal's conviction should surpass in order to be able to\n executed it."},"functionSelector":"59a5db8b","implemented":true,"kind":"function","modifiers":[],"name":"calculateThreshold","nameLocation":"35615:18:130","parameters":{"id":80106,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80105,"mutability":"mutable","name":"_requestedAmount","nameLocation":"35642:16:130","nodeType":"VariableDeclaration","scope":80190,"src":"35634:24:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80104,"name":"uint256","nodeType":"ElementaryTypeName","src":"35634:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"35633:26:130"},"returnParameters":{"id":80109,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80108,"mutability":"mutable","name":"_threshold","nameLocation":"35689:10:130","nodeType":"VariableDeclaration","scope":80190,"src":"35681:18:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80107,"name":"uint256","nodeType":"ElementaryTypeName","src":"35681:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"35680:20:130"},"scope":80578,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":80225,"nodeType":"FunctionDefinition","src":"37349:269:130","nodes":[],"body":{"id":80224,"nodeType":"Block","src":"37427:191:130","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80203,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":80201,"name":"_a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80193,"src":"37445:2:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"id":80202,"name":"TWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77922,"src":"37451:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"37445:13:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5f612073686f756c64206265206c657373207468616e206f7220657175616c20746f20325e313238","id":80204,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"37460:42:130","typeDescriptions":{"typeIdentifier":"t_stringliteral_44e2d05298e19dba9341288d7967f4ffbb5a083f725e2470963d4d2d80484153","typeString":"literal_string \"_a should be less than or equal to 2^128\""},"value":"_a should be less than or equal to 2^128"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_44e2d05298e19dba9341288d7967f4ffbb5a083f725e2470963d4d2d80484153","typeString":"literal_string \"_a should be less than or equal to 2^128\""}],"id":80200,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"37437:7:130","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":80205,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37437:66:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":80206,"nodeType":"ExpressionStatement","src":"37437:66:130"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80210,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":80208,"name":"_b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80195,"src":"37521:2:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":80209,"name":"TWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77922,"src":"37526:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"37521:12:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5f622073686f756c64206265206c657373207468616e20325e313238","id":80211,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"37535:30:130","typeDescriptions":{"typeIdentifier":"t_stringliteral_94029ed39d36fd1673853e0d61636cb1f54d05801d9baceb39b21e0f4420d664","typeString":"literal_string \"_b should be less than 2^128\""},"value":"_b should be less than 2^128"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_94029ed39d36fd1673853e0d61636cb1f54d05801d9baceb39b21e0f4420d664","typeString":"literal_string \"_b should be less than 2^128\""}],"id":80207,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"37513:7:130","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":80212,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37513:53:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":80213,"nodeType":"ExpressionStatement","src":"37513:53:130"},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80222,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80219,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80216,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":80214,"name":"_a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80193,"src":"37585:2:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":80215,"name":"_b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80195,"src":"37590:2:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"37585:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":80217,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"37584:9:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":80218,"name":"TWO_127","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77925,"src":"37596:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"37584:19:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":80220,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"37583:21:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"313238","id":80221,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"37608:3:130","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"37583:28:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":80199,"id":80223,"nodeType":"Return","src":"37576:35:130"}]},"documentation":{"id":80191,"nodeType":"StructuredDocumentation","src":"37094:250:130","text":" Multiply _a by _b / 2^128. Parameter _a should be less than or equal to\n 2^128 and parameter _b should be less than 2^128.\n @param _a left argument\n @param _b right argument\n @return _result _a * _b / 2^128"},"implemented":true,"kind":"function","modifiers":[],"name":"_mul","nameLocation":"37358:4:130","parameters":{"id":80196,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80193,"mutability":"mutable","name":"_a","nameLocation":"37371:2:130","nodeType":"VariableDeclaration","scope":80225,"src":"37363:10:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80192,"name":"uint256","nodeType":"ElementaryTypeName","src":"37363:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":80195,"mutability":"mutable","name":"_b","nameLocation":"37383:2:130","nodeType":"VariableDeclaration","scope":80225,"src":"37375:10:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80194,"name":"uint256","nodeType":"ElementaryTypeName","src":"37375:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"37362:24:130"},"returnParameters":{"id":80199,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80198,"mutability":"mutable","name":"_result","nameLocation":"37418:7:130","nodeType":"VariableDeclaration","scope":80225,"src":"37410:15:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80197,"name":"uint256","nodeType":"ElementaryTypeName","src":"37410:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"37409:17:130"},"scope":80578,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":80290,"nodeType":"FunctionDefinition","src":"37840:447:130","nodes":[],"body":{"id":80289,"nodeType":"Block","src":"37918:369:130","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80238,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":80236,"name":"_a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80228,"src":"37936:2:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":80237,"name":"TWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77922,"src":"37941:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"37936:12:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5f612073686f756c64206265206c657373207468616e20325e313238","id":80239,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"37950:30:130","typeDescriptions":{"typeIdentifier":"t_stringliteral_8cb59667c527f8a0ca0170161b6ece5e9864e8aa2d080a486f0167056517515f","typeString":"literal_string \"_a should be less than 2^128\""},"value":"_a should be less than 2^128"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_8cb59667c527f8a0ca0170161b6ece5e9864e8aa2d080a486f0167056517515f","typeString":"literal_string \"_a should be less than 2^128\""}],"id":80235,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"37928:7:130","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":80240,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37928:53:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":80241,"nodeType":"ExpressionStatement","src":"37928:53:130"},{"assignments":[80243],"declarations":[{"constant":false,"id":80243,"mutability":"mutable","name":"a","nameLocation":"37999:1:130","nodeType":"VariableDeclaration","scope":80289,"src":"37991:9:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80242,"name":"uint256","nodeType":"ElementaryTypeName","src":"37991:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":80245,"initialValue":{"id":80244,"name":"_a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80228,"src":"38003:2:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"37991:14:130"},{"assignments":[80247],"declarations":[{"constant":false,"id":80247,"mutability":"mutable","name":"b","nameLocation":"38023:1:130","nodeType":"VariableDeclaration","scope":80289,"src":"38015:9:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80246,"name":"uint256","nodeType":"ElementaryTypeName","src":"38015:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":80249,"initialValue":{"id":80248,"name":"_b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80230,"src":"38027:2:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"38015:14:130"},{"expression":{"id":80252,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":80250,"name":"_result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80233,"src":"38039:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":80251,"name":"TWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77922,"src":"38049:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"38039:17:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":80253,"nodeType":"ExpressionStatement","src":"38039:17:130"},{"body":{"id":80287,"nodeType":"Block","src":"38080:201:130","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80261,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80259,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":80257,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80247,"src":"38098:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"hexValue":"31","id":80258,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"38102:1:130","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"38098:5:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":80260,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"38107:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"38098:10:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":80285,"nodeType":"Block","src":"38188:83:130","statements":[{"expression":{"id":80279,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":80274,"name":"_result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80233,"src":"38206:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":80276,"name":"_result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80233,"src":"38221:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":80277,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80243,"src":"38230:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":80275,"name":"_mul","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80225,"src":"38216:4:130","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":80278,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38216:16:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"38206:26:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":80280,"nodeType":"ExpressionStatement","src":"38206:26:130"},{"expression":{"id":80283,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":80281,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80247,"src":"38250:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"hexValue":"31","id":80282,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"38255:1:130","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"38250:6:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":80284,"nodeType":"ExpressionStatement","src":"38250:6:130"}]},"id":80286,"nodeType":"IfStatement","src":"38094:177:130","trueBody":{"id":80273,"nodeType":"Block","src":"38110:72:130","statements":[{"expression":{"id":80267,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":80262,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80243,"src":"38128:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":80264,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80243,"src":"38137:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":80265,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80243,"src":"38140:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":80263,"name":"_mul","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80225,"src":"38132:4:130","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":80266,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38132:10:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"38128:14:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":80268,"nodeType":"ExpressionStatement","src":"38128:14:130"},{"expression":{"id":80271,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":80269,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80247,"src":"38160:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":">>=","rightHandSide":{"hexValue":"31","id":80270,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"38166:1:130","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"38160:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":80272,"nodeType":"ExpressionStatement","src":"38160:7:130"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80256,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":80254,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80247,"src":"38073:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":80255,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"38077:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"38073:5:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":80288,"nodeType":"WhileStatement","src":"38066:215:130"}]},"documentation":{"id":80226,"nodeType":"StructuredDocumentation","src":"37624:211:130","text":" Calculate (_a / 2^128)^_b * 2^128. Parameter _a should be less than 2^128.\n @param _a left argument\n @param _b right argument\n @return _result (_a / 2^128)^_b * 2^128"},"implemented":true,"kind":"function","modifiers":[],"name":"_pow","nameLocation":"37849:4:130","parameters":{"id":80231,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80228,"mutability":"mutable","name":"_a","nameLocation":"37862:2:130","nodeType":"VariableDeclaration","scope":80290,"src":"37854:10:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80227,"name":"uint256","nodeType":"ElementaryTypeName","src":"37854:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":80230,"mutability":"mutable","name":"_b","nameLocation":"37874:2:130","nodeType":"VariableDeclaration","scope":80290,"src":"37866:10:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80229,"name":"uint256","nodeType":"ElementaryTypeName","src":"37866:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"37853:24:130"},"returnParameters":{"id":80234,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80233,"mutability":"mutable","name":"_result","nameLocation":"37909:7:130","nodeType":"VariableDeclaration","scope":80290,"src":"37901:15:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80232,"name":"uint256","nodeType":"ElementaryTypeName","src":"37901:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"37900:17:130"},"scope":80578,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":80298,"nodeType":"FunctionDefinition","src":"38293:112:130","nodes":[],"body":{"id":80297,"nodeType":"Block","src":"38361:44:130","nodes":[],"statements":[{"expression":{"id":80295,"name":"totalPointsActivated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77944,"src":"38378:20:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":80294,"id":80296,"nodeType":"Return","src":"38371:27:130"}]},"functionSelector":"d1e36232","implemented":true,"kind":"function","modifiers":[],"name":"totalEffectiveActivePoints","nameLocation":"38302:26:130","parameters":{"id":80291,"nodeType":"ParameterList","parameters":[],"src":"38328:2:130"},"returnParameters":{"id":80294,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80293,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":80298,"src":"38352:7:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80292,"name":"uint256","nodeType":"ElementaryTypeName","src":"38352:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"38351:9:130"},"scope":80578,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":80339,"nodeType":"FunctionDefinition","src":"38595:396:130","nodes":[],"body":{"id":80338,"nodeType":"Block","src":"38703:288:130","nodes":[],"statements":[{"assignments":[80308,80310],"declarations":[{"constant":false,"id":80308,"mutability":"mutable","name":"conviction","nameLocation":"38722:10:130","nodeType":"VariableDeclaration","scope":80338,"src":"38714:18:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80307,"name":"uint256","nodeType":"ElementaryTypeName","src":"38714:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":80310,"mutability":"mutable","name":"blockNumber","nameLocation":"38742:11:130","nodeType":"VariableDeclaration","scope":80338,"src":"38734:19:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80309,"name":"uint256","nodeType":"ElementaryTypeName","src":"38734:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":80315,"initialValue":{"arguments":[{"id":80312,"name":"_proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80302,"src":"38791:9:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},{"id":80313,"name":"_oldStaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80304,"src":"38802:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":80311,"name":"_checkBlockAndCalculateConviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80386,"src":"38757:33:130","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Proposal_$77721_storage_ptr_$_t_uint256_$returns$_t_uint256_$_t_uint256_$","typeString":"function (struct StrategyStruct.Proposal storage pointer,uint256) view returns (uint256,uint256)"}},"id":80314,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38757:56:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_uint256_$","typeString":"tuple(uint256,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"38713:100:130"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":80322,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80318,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":80316,"name":"conviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80308,"src":"38827:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":80317,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"38841:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"38827:15:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80321,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":80319,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80310,"src":"38846:11:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":80320,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"38861:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"38846:16:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"38827:35:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":80325,"nodeType":"IfStatement","src":"38823:72:130","trueBody":{"id":80324,"nodeType":"Block","src":"38864:31:130","statements":[{"functionReturnParameters":80306,"id":80323,"nodeType":"Return","src":"38878:7:130"}]}},{"expression":{"id":80330,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":80326,"name":"_proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80302,"src":"38904:9:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":80328,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"38914:9:130","memberName":"blockLast","nodeType":"MemberAccess","referencedDeclaration":77710,"src":"38904:19:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":80329,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80310,"src":"38926:11:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"38904:33:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":80331,"nodeType":"ExpressionStatement","src":"38904:33:130"},{"expression":{"id":80336,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":80332,"name":"_proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80302,"src":"38947:9:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":80334,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"38957:14:130","memberName":"convictionLast","nodeType":"MemberAccess","referencedDeclaration":77702,"src":"38947:24:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":80335,"name":"conviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80308,"src":"38974:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"38947:37:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":80337,"nodeType":"ExpressionStatement","src":"38947:37:130"}]},"documentation":{"id":80299,"nodeType":"StructuredDocumentation","src":"38411:179:130","text":" @dev Calculate conviction and store it on the proposal\n @param _proposal Proposal\n @param _oldStaked Amount of tokens staked on a proposal until now"},"implemented":true,"kind":"function","modifiers":[],"name":"_calculateAndSetConviction","nameLocation":"38604:26:130","parameters":{"id":80305,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80302,"mutability":"mutable","name":"_proposal","nameLocation":"38663:9:130","nodeType":"VariableDeclaration","scope":80339,"src":"38631:41:130","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":80301,"nodeType":"UserDefinedTypeName","pathNode":{"id":80300,"name":"StrategyStruct.Proposal","nameLocations":["38631:14:130","38646:8:130"],"nodeType":"IdentifierPath","referencedDeclaration":77721,"src":"38631:23:130"},"referencedDeclaration":77721,"src":"38631:23:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"},{"constant":false,"id":80304,"mutability":"mutable","name":"_oldStaked","nameLocation":"38682:10:130","nodeType":"VariableDeclaration","scope":80339,"src":"38674:18:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80303,"name":"uint256","nodeType":"ElementaryTypeName","src":"38674:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"38630:63:130"},"returnParameters":{"id":80306,"nodeType":"ParameterList","parameters":[],"src":"38703:0:130"},"scope":80578,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":80386,"nodeType":"FunctionDefinition","src":"38997:719:130","nodes":[],"body":{"id":80385,"nodeType":"Block","src":"39195:521:130","nodes":[],"statements":[{"expression":{"id":80354,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":80351,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80349,"src":"39205:11:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":80352,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"39219:5:130","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":80353,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"39225:6:130","memberName":"number","nodeType":"MemberAccess","src":"39219:12:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"39205:26:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":80355,"nodeType":"ExpressionStatement","src":"39205:26:130"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80360,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":80357,"name":"_proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80342,"src":"39248:9:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":80358,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"39258:9:130","memberName":"blockLast","nodeType":"MemberAccess","referencedDeclaration":77710,"src":"39248:19:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"id":80359,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80349,"src":"39271:11:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"39248:34:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":80356,"name":"assert","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-3,"src":"39241:6:130","typeDescriptions":{"typeIdentifier":"t_function_assert_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":80361,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"39241:42:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":80362,"nodeType":"ExpressionStatement","src":"39241:42:130"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80366,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":80363,"name":"_proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80342,"src":"39297:9:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":80364,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"39307:9:130","memberName":"blockLast","nodeType":"MemberAccess","referencedDeclaration":77710,"src":"39297:19:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":80365,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80349,"src":"39320:11:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"39297:34:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":80372,"nodeType":"IfStatement","src":"39293:173:130","trueBody":{"id":80371,"nodeType":"Block","src":"39333:133:130","statements":[{"expression":{"components":[{"hexValue":"30","id":80367,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"39421:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":80368,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"39424:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"id":80369,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"39420:6:130","typeDescriptions":{"typeIdentifier":"t_tuple$_t_rational_0_by_1_$_t_rational_0_by_1_$","typeString":"tuple(int_const 0,int_const 0)"}},"functionReturnParameters":80350,"id":80370,"nodeType":"Return","src":"39413:13:130"}]}},{"expression":{"id":80383,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":80373,"name":"conviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80347,"src":"39519:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80378,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":80375,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80349,"src":"39565:11:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"expression":{"id":80376,"name":"_proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80342,"src":"39579:9:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":80377,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"39589:9:130","memberName":"blockLast","nodeType":"MemberAccess","referencedDeclaration":77710,"src":"39579:19:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"39565:33:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":80379,"name":"_proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80342,"src":"39651:9:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":80380,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"39661:14:130","memberName":"convictionLast","nodeType":"MemberAccess","referencedDeclaration":77702,"src":"39651:24:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":80381,"name":"_oldStaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80344,"src":"39689:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":80374,"name":"calculateConviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80102,"src":"39532:19:130","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256,uint256) view returns (uint256)"}},"id":80382,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"39532:177:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"39519:190:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":80384,"nodeType":"ExpressionStatement","src":"39519:190:130"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_checkBlockAndCalculateConviction","nameLocation":"39006:33:130","parameters":{"id":80345,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80342,"mutability":"mutable","name":"_proposal","nameLocation":"39072:9:130","nodeType":"VariableDeclaration","scope":80386,"src":"39040:41:130","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":80341,"nodeType":"UserDefinedTypeName","pathNode":{"id":80340,"name":"StrategyStruct.Proposal","nameLocations":["39040:14:130","39055:8:130"],"nodeType":"IdentifierPath","referencedDeclaration":77721,"src":"39040:23:130"},"referencedDeclaration":77721,"src":"39040:23:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"},{"constant":false,"id":80344,"mutability":"mutable","name":"_oldStaked","nameLocation":"39091:10:130","nodeType":"VariableDeclaration","scope":80386,"src":"39083:18:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80343,"name":"uint256","nodeType":"ElementaryTypeName","src":"39083:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"39039:63:130"},"returnParameters":{"id":80350,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80347,"mutability":"mutable","name":"conviction","nameLocation":"39158:10:130","nodeType":"VariableDeclaration","scope":80386,"src":"39150:18:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80346,"name":"uint256","nodeType":"ElementaryTypeName","src":"39150:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":80349,"mutability":"mutable","name":"blockNumber","nameLocation":"39178:11:130","nodeType":"VariableDeclaration","scope":80386,"src":"39170:19:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80348,"name":"uint256","nodeType":"ElementaryTypeName","src":"39170:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"39149:41:130"},"scope":80578,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":80434,"nodeType":"FunctionDefinition","src":"39722:520:130","nodes":[],"body":{"id":80433,"nodeType":"Block","src":"39801:441:130","nodes":[],"statements":[{"assignments":[80397],"declarations":[{"constant":false,"id":80397,"mutability":"mutable","name":"proposal","nameLocation":"39843:8:130","nodeType":"VariableDeclaration","scope":80433,"src":"39811:40:130","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":80396,"nodeType":"UserDefinedTypeName","pathNode":{"id":80395,"name":"StrategyStruct.Proposal","nameLocations":["39811:14:130","39826:8:130"],"nodeType":"IdentifierPath","referencedDeclaration":77721,"src":"39811:23:130"},"referencedDeclaration":77721,"src":"39811:23:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":80401,"initialValue":{"baseExpression":{"id":80398,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77969,"src":"39854:9:130","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$77721_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":80400,"indexExpression":{"id":80399,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80388,"src":"39864:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"39854:21:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"39811:64:130"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80405,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":80402,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80397,"src":"39890:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":80403,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"39899:10:130","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":77696,"src":"39890:19:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":80404,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80388,"src":"39913:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"39890:33:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":80411,"nodeType":"IfStatement","src":"39886:100:130","trueBody":{"id":80410,"nodeType":"Block","src":"39925:61:130","statements":[{"errorCall":{"arguments":[{"id":80407,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80388,"src":"39964:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":80406,"name":"ProposalNotInList","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77815,"src":"39946:17:130","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":80408,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"39946:29:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":80409,"nodeType":"RevertStatement","src":"39939:36:130"}]}},{"condition":{"commonType":{"typeIdentifier":"t_enum$_ProposalStatus_$77694","typeString":"enum StrategyStruct.ProposalStatus"},"id":80417,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":80412,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80397,"src":"40000:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":80413,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"40009:14:130","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":77713,"src":"40000:23:130","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$77694","typeString":"enum StrategyStruct.ProposalStatus"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"expression":{"id":80414,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77752,"src":"40027:14:130","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$77752_$","typeString":"type(library StrategyStruct)"}},"id":80415,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"40042:14:130","memberName":"ProposalStatus","nodeType":"MemberAccess","referencedDeclaration":77694,"src":"40027:29:130","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$77694_$","typeString":"type(enum StrategyStruct.ProposalStatus)"}},"id":80416,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"40057:6:130","memberName":"Active","nodeType":"MemberAccess","referencedDeclaration":77690,"src":"40027:36:130","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$77694","typeString":"enum StrategyStruct.ProposalStatus"}},"src":"40000:63:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":80423,"nodeType":"IfStatement","src":"39996:130:130","trueBody":{"id":80422,"nodeType":"Block","src":"40065:61:130","statements":[{"errorCall":{"arguments":[{"id":80419,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80388,"src":"40104:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":80418,"name":"ProposalNotActive","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77811,"src":"40086:17:130","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":80420,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"40086:29:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":80421,"nodeType":"RevertStatement","src":"40079:36:130"}]}},{"expression":{"arguments":[{"id":80425,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80397,"src":"40163:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},{"expression":{"id":80426,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80397,"src":"40173:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":80427,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"40182:12:130","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":77700,"src":"40173:21:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":80424,"name":"_calculateAndSetConviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80339,"src":"40136:26:130","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_Proposal_$77721_storage_ptr_$_t_uint256_$returns$__$","typeString":"function (struct StrategyStruct.Proposal storage pointer,uint256)"}},"id":80428,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"40136:59:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":80429,"nodeType":"ExpressionStatement","src":"40136:59:130"},{"expression":{"expression":{"id":80430,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80397,"src":"40212:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":80431,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"40221:14:130","memberName":"convictionLast","nodeType":"MemberAccess","referencedDeclaration":77702,"src":"40212:23:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":80392,"id":80432,"nodeType":"Return","src":"40205:30:130"}]},"functionSelector":"1aa91a9e","implemented":true,"kind":"function","modifiers":[],"name":"updateProposalConviction","nameLocation":"39731:24:130","parameters":{"id":80389,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80388,"mutability":"mutable","name":"proposalId","nameLocation":"39764:10:130","nodeType":"VariableDeclaration","scope":80434,"src":"39756:18:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80387,"name":"uint256","nodeType":"ElementaryTypeName","src":"39756:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"39755:20:130"},"returnParameters":{"id":80392,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80391,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":80434,"src":"39792:7:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80390,"name":"uint256","nodeType":"ElementaryTypeName","src":"39792:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"39791:9:130"},"scope":80578,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":80453,"nodeType":"FunctionDefinition","src":"40248:124:130","nodes":[],"body":{"id":80452,"nodeType":"Block","src":"40320:52:130","nodes":[],"statements":[{"expression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80449,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80443,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":80441,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80436,"src":"40339:6:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":80442,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77919,"src":"40348:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"40339:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":80444,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"40338:12:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80447,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":80445,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77919,"src":"40354:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":80446,"name":"decay","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77933,"src":"40358:5:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"40354:9:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":80448,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"40353:11:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"40338:26:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":80450,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"40337:28:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":80440,"id":80451,"nodeType":"Return","src":"40330:35:130"}]},"functionSelector":"950559d7","implemented":true,"kind":"function","modifiers":[],"name":"getMaxConviction","nameLocation":"40257:16:130","parameters":{"id":80437,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80436,"mutability":"mutable","name":"amount","nameLocation":"40282:6:130","nodeType":"VariableDeclaration","scope":80453,"src":"40274:14:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80435,"name":"uint256","nodeType":"ElementaryTypeName","src":"40274:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"40273:16:130"},"returnParameters":{"id":80440,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80439,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":80453,"src":"40311:7:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80438,"name":"uint256","nodeType":"ElementaryTypeName","src":"40311:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"40310:9:130"},"scope":80578,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":80471,"nodeType":"FunctionDefinition","src":"40378:137:130","nodes":[],"body":{"id":80470,"nodeType":"Block","src":"40449:66:130","nodes":[],"statements":[{"expression":{"id":80464,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":80462,"name":"decay","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77933,"src":"40459:5:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":80463,"name":"_decay","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80455,"src":"40467:6:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"40459:14:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":80465,"nodeType":"ExpressionStatement","src":"40459:14:130"},{"eventCall":{"arguments":[{"id":80467,"name":"_decay","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80455,"src":"40501:6:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":80466,"name":"DecayUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77898,"src":"40488:12:130","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":80468,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"40488:20:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":80469,"nodeType":"EmitStatement","src":"40483:25:130"}]},"functionSelector":"69fa25c4","implemented":true,"kind":"function","modifiers":[{"arguments":[{"expression":{"id":80458,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"40437:3:130","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":80459,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"40441:6:130","memberName":"sender","nodeType":"MemberAccess","src":"40437:10:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"id":80460,"kind":"modifierInvocation","modifierName":{"id":80457,"name":"onlyPoolManager","nameLocations":["40421:15:130"],"nodeType":"IdentifierPath","referencedDeclaration":74135,"src":"40421:15:130"},"nodeType":"ModifierInvocation","src":"40421:27:130"}],"name":"setDecay","nameLocation":"40387:8:130","parameters":{"id":80456,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80455,"mutability":"mutable","name":"_decay","nameLocation":"40404:6:130","nodeType":"VariableDeclaration","scope":80471,"src":"40396:14:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80454,"name":"uint256","nodeType":"ElementaryTypeName","src":"40396:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"40395:16:130"},"returnParameters":{"id":80461,"nodeType":"ParameterList","parameters":[],"src":"40449:0:130"},"scope":80578,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":80489,"nodeType":"FunctionDefinition","src":"40521:155:130","nodes":[],"body":{"id":80488,"nodeType":"Block","src":"40598:78:130","nodes":[],"statements":[{"expression":{"id":80482,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":80480,"name":"maxRatio","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77935,"src":"40608:8:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":80481,"name":"_maxRatio","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80473,"src":"40619:9:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"40608:20:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":80483,"nodeType":"ExpressionStatement","src":"40608:20:130"},{"eventCall":{"arguments":[{"id":80485,"name":"_maxRatio","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80473,"src":"40659:9:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":80484,"name":"MaxRatioUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77902,"src":"40643:15:130","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":80486,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"40643:26:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":80487,"nodeType":"EmitStatement","src":"40638:31:130"}]},"functionSelector":"11f22ae3","implemented":true,"kind":"function","modifiers":[{"arguments":[{"expression":{"id":80476,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"40586:3:130","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":80477,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"40590:6:130","memberName":"sender","nodeType":"MemberAccess","src":"40586:10:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"id":80478,"kind":"modifierInvocation","modifierName":{"id":80475,"name":"onlyPoolManager","nameLocations":["40570:15:130"],"nodeType":"IdentifierPath","referencedDeclaration":74135,"src":"40570:15:130"},"nodeType":"ModifierInvocation","src":"40570:27:130"}],"name":"setMaxRatio","nameLocation":"40530:11:130","parameters":{"id":80474,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80473,"mutability":"mutable","name":"_maxRatio","nameLocation":"40550:9:130","nodeType":"VariableDeclaration","scope":80489,"src":"40542:17:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80472,"name":"uint256","nodeType":"ElementaryTypeName","src":"40542:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"40541:19:130"},"returnParameters":{"id":80479,"nodeType":"ParameterList","parameters":[],"src":"40598:0:130"},"scope":80578,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":80507,"nodeType":"FunctionDefinition","src":"40682:143:130","nodes":[],"body":{"id":80506,"nodeType":"Block","src":"40755:70:130","nodes":[],"statements":[{"expression":{"id":80500,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":80498,"name":"weight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77937,"src":"40765:6:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":80499,"name":"_weight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80491,"src":"40774:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"40765:16:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":80501,"nodeType":"ExpressionStatement","src":"40765:16:130"},{"eventCall":{"arguments":[{"id":80503,"name":"_weight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80491,"src":"40810:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":80502,"name":"WeightUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77906,"src":"40796:13:130","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":80504,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"40796:22:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":80505,"nodeType":"EmitStatement","src":"40791:27:130"}]},"functionSelector":"fc1711f2","implemented":true,"kind":"function","modifiers":[{"arguments":[{"expression":{"id":80494,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"40743:3:130","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":80495,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"40747:6:130","memberName":"sender","nodeType":"MemberAccess","src":"40743:10:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"id":80496,"kind":"modifierInvocation","modifierName":{"id":80493,"name":"onlyPoolManager","nameLocations":["40727:15:130"],"nodeType":"IdentifierPath","referencedDeclaration":74135,"src":"40727:15:130"},"nodeType":"ModifierInvocation","src":"40727:27:130"}],"name":"setWeight","nameLocation":"40691:9:130","parameters":{"id":80492,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80491,"mutability":"mutable","name":"_weight","nameLocation":"40709:7:130","nodeType":"VariableDeclaration","scope":80507,"src":"40701:15:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80490,"name":"uint256","nodeType":"ElementaryTypeName","src":"40701:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"40700:17:130"},"returnParameters":{"id":80497,"nodeType":"ParameterList","parameters":[],"src":"40755:0:130"},"scope":80578,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":80527,"nodeType":"FunctionDefinition","src":"40831:223:130","nodes":[],"body":{"id":80526,"nodeType":"Block","src":"40926:128:130","nodes":[],"statements":[{"expression":{"id":80520,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":80516,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77961,"src":"40936:17:130","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":80518,"name":"_registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80509,"src":"40978:18:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":80517,"name":"RegistryCommunityV0_0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85047,"src":"40956:21:130","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_RegistryCommunityV0_0_$85047_$","typeString":"type(contract RegistryCommunityV0_0)"}},"id":80519,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"40956:41:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"}},"src":"40936:61:130","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"}},"id":80521,"nodeType":"ExpressionStatement","src":"40936:61:130"},{"eventCall":{"arguments":[{"id":80523,"name":"_registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80509,"src":"41028:18:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":80522,"name":"RegistryUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77910,"src":"41012:15:130","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":80524,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41012:35:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":80525,"nodeType":"EmitStatement","src":"41007:40:130"}]},"functionSelector":"058aca44","implemented":true,"kind":"function","modifiers":[{"arguments":[{"expression":{"id":80512,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"40914:3:130","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":80513,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"40918:6:130","memberName":"sender","nodeType":"MemberAccess","src":"40914:10:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"id":80514,"kind":"modifierInvocation","modifierName":{"id":80511,"name":"onlyPoolManager","nameLocations":["40898:15:130"],"nodeType":"IdentifierPath","referencedDeclaration":74135,"src":"40898:15:130"},"nodeType":"ModifierInvocation","src":"40898:27:130"}],"name":"setRegistryCommunity","nameLocation":"40840:20:130","parameters":{"id":80510,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80509,"mutability":"mutable","name":"_registryCommunity","nameLocation":"40869:18:130","nodeType":"VariableDeclaration","scope":80527,"src":"40861:26:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":80508,"name":"address","nodeType":"ElementaryTypeName","src":"40861:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"40860:28:130"},"returnParameters":{"id":80515,"nodeType":"ParameterList","parameters":[],"src":"40926:0:130"},"scope":80578,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":80546,"nodeType":"FunctionDefinition","src":"41060:237:130","nodes":[],"body":{"id":80545,"nodeType":"Block","src":"41157:140:130","nodes":[],"statements":[{"eventCall":{"arguments":[{"id":80537,"name":"_minThresholdPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77947,"src":"41198:19:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":80538,"name":"minThresholdPoints_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80529,"src":"41219:19:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":80536,"name":"MinThresholdPointsUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77916,"src":"41172:25:130","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":80539,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41172:67:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":80540,"nodeType":"EmitStatement","src":"41167:72:130"},{"expression":{"id":80543,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":80541,"name":"_minThresholdPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77947,"src":"41249:19:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":80542,"name":"minThresholdPoints_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80529,"src":"41271:19:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"41249:41:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":80544,"nodeType":"ExpressionStatement","src":"41249:41:130"}]},"functionSelector":"2cefadbb","implemented":true,"kind":"function","modifiers":[{"arguments":[{"expression":{"id":80532,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"41145:3:130","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":80533,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"41149:6:130","memberName":"sender","nodeType":"MemberAccess","src":"41145:10:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"id":80534,"kind":"modifierInvocation","modifierName":{"id":80531,"name":"onlyPoolManager","nameLocations":["41129:15:130"],"nodeType":"IdentifierPath","referencedDeclaration":74135,"src":"41129:15:130"},"nodeType":"ModifierInvocation","src":"41129:27:130"}],"name":"setMinThresholdPoints","nameLocation":"41069:21:130","parameters":{"id":80530,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80529,"mutability":"mutable","name":"minThresholdPoints_","nameLocation":"41099:19:130","nodeType":"VariableDeclaration","scope":80546,"src":"41091:27:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80528,"name":"uint256","nodeType":"ElementaryTypeName","src":"41091:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"41090:29:130"},"returnParameters":{"id":80535,"nodeType":"ParameterList","parameters":[],"src":"41157:0:130"},"scope":80578,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":80564,"nodeType":"FunctionDefinition","src":"41303:170:130","nodes":[],"body":{"id":80563,"nodeType":"Block","src":"41374:99:130","nodes":[],"statements":[{"expression":{"arguments":[{"id":80554,"name":"_sybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80548,"src":"41403:12:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":80553,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78210,"src":"41384:18:130","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":80555,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41384:32:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":80556,"nodeType":"ExpressionStatement","src":"41384:32:130"},{"expression":{"id":80561,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":80557,"name":"sybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77964,"src":"41426:11:130","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$80667","typeString":"contract ISybilScorer"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":80559,"name":"_sybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80548,"src":"41453:12:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":80558,"name":"ISybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80667,"src":"41440:12:130","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ISybilScorer_$80667_$","typeString":"type(contract ISybilScorer)"}},"id":80560,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41440:26:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$80667","typeString":"contract ISybilScorer"}},"src":"41426:40:130","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$80667","typeString":"contract ISybilScorer"}},"id":80562,"nodeType":"ExpressionStatement","src":"41426:40:130"}]},"functionSelector":"ac1ed7b9","implemented":true,"kind":"function","modifiers":[{"id":80551,"kind":"modifierInvocation","modifierName":{"id":80550,"name":"onlyCouncilSafe","nameLocations":["41358:15:130"],"nodeType":"IdentifierPath","referencedDeclaration":77997,"src":"41358:15:130"},"nodeType":"ModifierInvocation","src":"41358:15:130"}],"name":"setSybilScorer","nameLocation":"41312:14:130","parameters":{"id":80549,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80548,"mutability":"mutable","name":"_sybilScorer","nameLocation":"41335:12:130","nodeType":"VariableDeclaration","scope":80564,"src":"41327:20:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":80547,"name":"address","nodeType":"ElementaryTypeName","src":"41327:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"41326:22:130"},"returnParameters":{"id":80552,"nodeType":"ParameterList","parameters":[],"src":"41374:0:130"},"scope":80578,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":80573,"nodeType":"FunctionDefinition","src":"41479:66:130","nodes":[],"body":{"id":80572,"nodeType":"Block","src":"41543:2:130","nodes":[],"statements":[]},"baseFunctions":[56212],"implemented":true,"kind":"function","modifiers":[{"id":80570,"kind":"modifierInvocation","modifierName":{"id":80569,"name":"onlyOwner","nameLocations":["41533:9:130"],"nodeType":"IdentifierPath","referencedDeclaration":52856,"src":"41533:9:130"},"nodeType":"ModifierInvocation","src":"41533:9:130"}],"name":"_authorizeUpgrade","nameLocation":"41488:17:130","overrides":{"id":80568,"nodeType":"OverrideSpecifier","overrides":[],"src":"41524:8:130"},"parameters":{"id":80567,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80566,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":80573,"src":"41506:7:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":80565,"name":"address","nodeType":"ElementaryTypeName","src":"41506:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"41505:9:130"},"returnParameters":{"id":80571,"nodeType":"ParameterList","parameters":[],"src":"41543:0:130"},"scope":80578,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":80577,"nodeType":"VariableDeclaration","src":"41551:25:130","nodes":[],"constant":false,"mutability":"mutable","name":"__gap","nameLocation":"41571:5:130","scope":80578,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$50_storage","typeString":"uint256[50]"},"typeName":{"baseType":{"id":80574,"name":"uint256","nodeType":"ElementaryTypeName","src":"41551:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":80576,"length":{"hexValue":"3530","id":80575,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"41559:2:130","typeDescriptions":{"typeIdentifier":"t_rational_50_by_1","typeString":"int_const 50"},"value":"50"},"nodeType":"ArrayTypeName","src":"41551:11:130","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$50_storage_ptr","typeString":"uint256[50]"}},"visibility":"private"}],"abstract":false,"baseContracts":[{"baseName":{"id":77753,"name":"OwnableUpgradeable","nameLocations":["3094:18:130"],"nodeType":"IdentifierPath","referencedDeclaration":52942,"src":"3094:18:130"},"id":77754,"nodeType":"InheritanceSpecifier","src":"3094:18:130"},{"baseName":{"id":77755,"name":"BaseStrategyUpgradeable","nameLocations":["3114:23:130"],"nodeType":"IdentifierPath","referencedDeclaration":74672,"src":"3114:23:130"},"id":77756,"nodeType":"InheritanceSpecifier","src":"3114:23:130"},{"baseName":{"id":77757,"name":"IPointStrategy","nameLocations":["3139:14:130"],"nodeType":"IdentifierPath","referencedDeclaration":77667,"src":"3139:14:130"},"id":77758,"nodeType":"InheritanceSpecifier","src":"3139:14:130"},{"baseName":{"id":77759,"name":"ERC165","nameLocations":["3155:6:130"],"nodeType":"IdentifierPath","referencedDeclaration":58266,"src":"3155:6:130"},"id":77760,"nodeType":"InheritanceSpecifier","src":"3155:6:130"}],"canonicalName":"CVStrategyV0_0","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[80578,58266,58472,77667,74672,3089,3317,3106,2969,56213,55866,55515,55525,52942,53735,53191],"name":"CVStrategyV0_0","nameLocation":"3076:14:130","scope":80579,"usedErrors":[3008,3011,3014,3017,3020,3023,3026,3029,3032,3035,3038,3041,3044,3047,3050,3053,3056,3059,3062,3065,3068,3071,3074,3079,3082,3085,3088,3117,77765,77767,77769,77771,77773,77775,77777,77779,77781,77783,77785,77793,77795,77797,77803,77805,77807,77811,77815,77821,77823,77825,77833,77835,77837]}],"license":"AGPL-3.0-only"},"id":130} \ No newline at end of file diff --git a/pkg/contracts/out/CVStrategyV0_0.sol/IPointStrategy.json b/pkg/contracts/out/CVStrategyV0_0.sol/IPointStrategy.json index 86a74303c..b8924c4aa 100644 --- a/pkg/contracts/out/CVStrategyV0_0.sol/IPointStrategy.json +++ b/pkg/contracts/out/CVStrategyV0_0.sol/IPointStrategy.json @@ -1 +1 @@ -{"abi":[{"type":"function","name":"deactivatePoints","inputs":[{"name":"_member","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"decreasePower","inputs":[{"name":"_member","type":"address","internalType":"address"},{"name":"_amountToUntake","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"getPointSystem","inputs":[],"outputs":[{"name":"","type":"uint8","internalType":"enum StrategyStruct.PointSystem"}],"stateMutability":"nonpayable"},{"type":"function","name":"increasePower","inputs":[{"name":"_member","type":"address","internalType":"address"},{"name":"_amountToStake","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"deactivatePoints(address)":"6453d9c4","decreasePower(address,uint256)":"2ed04b2b","getPointSystem()":"c3292171","increasePower(address,uint256)":"782aadff"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"}],\"name\":\"deactivatePoints\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amountToUntake\",\"type\":\"uint256\"}],\"name\":\"decreasePower\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getPointSystem\",\"outputs\":[{\"internalType\":\"enum StrategyStruct.PointSystem\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amountToStake\",\"type\":\"uint256\"}],\"name\":\"increasePower\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"pkg/contracts/src/CVStrategyV0_0.sol\":\"IPointStrategy\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1000},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-contracts/=lib/safe-contracts/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"]},\"sources\":{\"lib/allo-v2/contracts/core/interfaces/IAllo.sol\":{\"keccak256\":\"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7\",\"dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1\"]},\"lib/allo-v2/contracts/core/interfaces/IRegistry.sol\":{\"keccak256\":\"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e\",\"dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA\"]},\"lib/allo-v2/contracts/core/interfaces/IStrategy.sol\":{\"keccak256\":\"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487\",\"dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH\"]},\"lib/allo-v2/contracts/core/libraries/Clone.sol\":{\"keccak256\":\"0xc348b24b7d8a98c4faa5f2aa37ce9264a74f81dbdef1a9bae2eaa125585c3c7e\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://1335b3ec59ec7e3d12ea7c90b3aa56f4c26e0d44d342f54412933be9d4f16067\",\"dweb:/ipfs/QmXNFo2wCyq9cpvfgbdHvBUQecThFSEoUnMuZNS6WinDrr\"]},\"lib/allo-v2/contracts/core/libraries/Errors.sol\":{\"keccak256\":\"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf\",\"dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA\"]},\"lib/allo-v2/contracts/core/libraries/Metadata.sol\":{\"keccak256\":\"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c\",\"dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn\"]},\"lib/allo-v2/contracts/core/libraries/Native.sol\":{\"keccak256\":\"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a\",\"dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv\"]},\"lib/allo-v2/contracts/core/libraries/Transfer.sol\":{\"keccak256\":\"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11\",\"dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5\"]},\"lib/allo-v2/contracts/strategies/BaseStrategy.sol\":{\"keccak256\":\"0x3f1382dc6c35d50545e327e7ed6016f2bd752357d446bd698014073f0b812873\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://99500abcd617fa43f6dde49e2c7802821ceaf54a65a8055cbbf2695ecd107974\",\"dweb:/ipfs/QmUktZkWuu3GCMEijY1fqt7NMy7BzpTvEtcmpB1fuoa7zt\"]},\"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol\":{\"keccak256\":\"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298\",\"dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x51fec240abc6dd23e0ee6de7c65106379aef732cad6c4ae5df6b55db886e7456\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://a47d9c0a9876e7f9e411843b994a741d4ac1a87d8459ffc3c56359de691ddc1a\",\"dweb:/ipfs/QmQiFN9b3Y2azrD1RBfAKEuAG3YeJkMzA2DGzgEE9kMeEK\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0xc8710577334e8d0799ae2b2a731b1924a7bddd64319da9787ddd2dc69bdd1ce5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b83b7afa4d2372da3ba5402fb10860a105c35d79812c60dc61007be2afc17618\",\"dweb:/ipfs/QmYX9xPmbNVSKXrepKiUZiG5oL3SdzFp9a4kqspxX1sEUx\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol\":{\"keccak256\":\"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c\",\"dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol\":{\"keccak256\":\"0x359a1ab89b46b9aba7bcad3fb651924baf4893d15153049b9976b0fc9be1358e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e89863421b4014b96a4b62be76eb3b9f0a8afe9684664a6f389124c0964bfe5c\",\"dweb:/ipfs/Qmbk7xr1irpDuU1WdxXgxELBXxs61rHhCgod7heVcvFx16\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol\":{\"keccak256\":\"0x5a55d1b148a0cb4183f1e09ceaff87bd2d828440f2f5dc01dfe03eb29e7c88ec\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3f9278bdda788763efbe569da77fc24feff36e871779e2da69f74ea5f8bfacf\",\"dweb:/ipfs/QmZF9cH4rfazmwKT55p3tZyzh9QGghNyss81f46d6yVXap\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e\",\"dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol\":{\"keccak256\":\"0x2025ccf05f6f1f2fd4e078e552836f525a1864e3854ed555047cd732320ab29b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d27f4b23c2dee42394aebaf42bf238285230f472dfd3282a39c3f000ec28214f\",\"dweb:/ipfs/QmQa3DnvccwdWJeWrjgXPnFMTWbzWQWR39hVqC7eEwo2PC\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b\",\"dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95\",\"dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol\":{\"keccak256\":\"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a\",\"dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0xd90d7723512df65ae417adaf0801042940f0dabd60039ceeaffe34aa5b238da1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1b13befeb3413749292f9fb229de1c7a509a5ce2c8047d9094fc004ca9d3af89\",\"dweb:/ipfs/QmRzJ2hZSwRtMejHUZAYTPRKgZsnfb112Fno9Jf3EiDfwA\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol\":{\"keccak256\":\"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758\",\"dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol\":{\"keccak256\":\"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91\",\"dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol\":{\"keccak256\":\"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4\",\"dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z\"]},\"lib/openzeppelin-contracts/contracts/access/AccessControl.sol\":{\"keccak256\":\"0x0dd6e52cb394d7f5abe5dca2d4908a6be40417914720932de757de34a99ab87f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://dc117ce50ea746cab6b97ed1a1facee17a715ae0cb95d67b943dacbaf15176fb\",\"dweb:/ipfs/QmYRZ2UGNYwsHwfNu7Wjr8L2j1LBZ1mKv6NvbwgterYMXc\"]},\"lib/openzeppelin-contracts/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0x59ce320a585d7e1f163cd70390a0ef2ff9cec832e2aa544293a00692465a7a57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb2c137c343ef0c4c7ce7b18c1d108afdc9d315a04e48307288d2d05adcbde3a\",\"dweb:/ipfs/QmUxhrAQM3MM3FF5j7AtcXLXguWCJBHJ14BRdVtuoQc8Fh\"]},\"lib/openzeppelin-contracts/contracts/access/Ownable.sol\":{\"keccak256\":\"0xba43b97fba0d32eb4254f6a5a297b39a19a247082a02d6e69349e071e2946218\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fc980984badf3984b6303b377711220e067722bbd6a135b24669ff5069ef9f32\",\"dweb:/ipfs/QmPHXMSXj99XjSVM21YsY6aNtLLjLVXDbyN76J5HQYvvrz\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol\":{\"keccak256\":\"0x3cbef5ebc24b415252e2f8c0c9254555d30d9f085603b4b80d9b5ed20ab87e90\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e8fa670c3bdce78e642cc6ae11c4cb38b133499cdce5e1990a9979d424703263\",\"dweb:/ipfs/QmVxeCUk4jL2pXQyhsoNJwyU874wRufS2WvGe8TgPKPqhE\"]},\"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol\":{\"keccak256\":\"0x1d4afe6cb24200cc4545eed814ecf5847277dfe5d613a1707aad5fceecebcfff\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://383fb7b8181016ac5ccf07bc9cdb7c1b5045ea36e2cc4df52bcbf20396fc7688\",\"dweb:/ipfs/QmYJ7Cg4WmE3rR8KGQxjUCXFfTH6TcwZ2Z1f6tPrq7jHFr\"]},\"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol\":{\"keccak256\":\"0xa2b22da3032e50b55f95ec1d13336102d675f341167aa76db571ef7f8bb7975d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96b6d77a20bebd4eb06b801d3d020c7e82be13bd535cb0d0a6b7181c51dab5d5\",\"dweb:/ipfs/QmPUR9Cv9jNFdQX6PtBfaBW1ZCnKwiu65R2VD5kbdanDyn\"]},\"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Upgrade.sol\":{\"keccak256\":\"0x3b21ae06bf5957f73fa16754b0669c77b7abd8ba6c072d35c3281d446fdb86c2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2db8e18505e86e02526847005d7287a33e397ed7fb9eaba3fd4a4a197add16e2\",\"dweb:/ipfs/QmW9BSuKTzHWHBNSHF4L8XfVuU1uJrP2vLg84YtBd8mL82\"]},\"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol\":{\"keccak256\":\"0xc130fe33f1b2132158531a87734153293f6d07bc263ff4ac90e85da9c82c0e27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8831721b6f4cc26534d190f9f1631c3f59c9ff38efdd911f85e0882b8e360472\",\"dweb:/ipfs/QmQZnLErZNStirSQ13ZNWQgvEYUtGE5tXYwn4QUPaVUfPN\"]},\"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0xd50a3421ac379ccb1be435fa646d66a65c986b4924f0849839f08692f39dde61\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ada1e030c0231db8d143b44ce92b4d1158eedb087880cad6d8cc7bd7ebe7b354\",\"dweb:/ipfs/QmWZ2NHZweRpz1U9GF6R1h65ri76dnX7fNxLBeM2t5N5Ce\"]},\"lib/openzeppelin-contracts/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x3d6069be9b4c01fb81840fb9c2c4dc58dd6a6a4aafaa2c6837de8699574d84c6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://720d6bb56ea0c4ef781c0bd65c5bd0541f5a46100163b2587170f97658d2deed\",\"dweb:/ipfs/QmTS2biLVPrv8CeeXCaKmkFxonMiRvc1LxiYBRYDAJHQUS\"]},\"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol\":{\"keccak256\":\"0xc6619957bcc6641fe8984bfaf9ff11a9e4b97d8149c0495f608f9a2416d7c5cf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://543be67f7fa43b1b932637c1c7f12035f0f4b0f7ee2bd3c33841186f79c165c1\",\"dweb:/ipfs/QmSBPM2UVKbmJqWfD9i6hSiqbaE8TV4TSqfuiivziRRLKM\"]},\"lib/openzeppelin-contracts/contracts/security/ReentrancyGuard.sol\":{\"keccak256\":\"0xa535a5df777d44e945dd24aa43a11e44b024140fc340ad0dfe42acf4002aade1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://41319e7f621f2dc3733511332c4fd032f8e32ad2aa7fd6f665c19741d9941a34\",\"dweb:/ipfs/QmcYR3bd862GD1Bc7jwrU9bGxrhUu5na1oP964bDCu2id1\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15\",\"dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5\",\"dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd\",\"dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol\":{\"keccak256\":\"0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a\",\"dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0x909d608c2db6eb165ca178c81289a07ed2e118e444d0025b2a85c97d0b44a4fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://656cda26512ddd7373c2d5551c8fae759fc30f05b10f0fc2e738e9274199dbd4\",\"dweb:/ipfs/QmTSArSzQRFbQmHgq7U1PZXnsDFhvDZhKVu9CzMG4yo6Lx\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xf09e68aa0dc6722a25bc46490e8d48ed864466d17313b8a0b254c36b54e49899\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e26daf81e2252dc1fe1ce0e4b55c2eb7c6d1ee84ae6558d1a9554432ea1d32da\",\"dweb:/ipfs/Qmb1UANWiWq5pCKbmHSu772hd4nt374dVaghGmwSVNuk8Q\"]},\"lib/openzeppelin-contracts/contracts/utils/Strings.sol\":{\"keccak256\":\"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f\",\"dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol\":{\"keccak256\":\"0x5a08ad61f4e82b8a3323562661a86fb10b10190848073fdc13d4ac43710ffba5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6f7bb74cf88fd88daa34e118bc6e363381d05044f34f391d39a10c0c9dac3ebd\",\"dweb:/ipfs/QmNbQ3v8v4zuDtg7VeLAbdhAm3tCzUodNoDZZ8ekmCHWZX\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]},\"lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/src/strings.sol\":{\"keccak256\":\"0x42cad11a7033f2fe05dd68611d2304407a620ac985b91edf29d5868cfe196223\",\"urls\":[\"bzz-raw://3cbc2333234e1f00eab5e57c4bcaf5115661e5e066a17c70af587a0a96f24669\",\"dweb:/ipfs/QmPHvStqcvZL46LW5N2ExTwAaqNhRCcmAX66aR6oE1WDar\"]},\"lib/openzeppelin-foundry-upgrades/src/Defender.sol\":{\"keccak256\":\"0x2114e4d70d53b36e8cec54ba11ff78d9f38a466ec3504c76c7f26101a7cff37f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://58f4d9bc58646e7631b263cdb8ef260e6818e9f716036d81d1c18218c9557a23\",\"dweb:/ipfs/QmS18L4R4gPtay9eQBcR28DnwmBkGSWsiCFwm2tXc3BkHL\"]},\"lib/openzeppelin-foundry-upgrades/src/LegacyUpgrades.sol\":{\"keccak256\":\"0x8436719f73c76efadaa16cd719d088f698ea3591595dfdf2c15fd66f3e203197\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ac8d0e55defe124adcc3845348602d6528b00b7dc5f7abf9e1b245d0cea9b55e\",\"dweb:/ipfs/QmaPBoG89Bd2btJZW5kjXx7zXo6KhAdeTuMq5xo431M8xq\"]},\"lib/openzeppelin-foundry-upgrades/src/Options.sol\":{\"keccak256\":\"0xa5414683d6b219b28e75ecaab3d00a305dfaf4d970389a88992275c8072ce8ac\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1dbfd566ba318f2b740159c28e4511c84c9d76fcc293ae17c9b1a87b3ea16c9\",\"dweb:/ipfs/QmcyxPoeBdzA9iHEgd76xKhaQ8HKfpV4owdSv6127MmveT\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Core.sol\":{\"keccak256\":\"0x37073df20d2b5fbb0a873e6b2dd76c23e23455d1c2d2ba57d2f0998201a4251d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://79d507647ea48d93371341684cf4199d55ed799db9d3489bc016f53990d2ff7c\",\"dweb:/ipfs/QmQWgXiYcPcwNcrkTHb72WtHd4xPcXfRUMfBrhkDHgr2ut\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/DefenderDeploy.sol\":{\"keccak256\":\"0x868ffdaf5d185fee103fc4581385392b47c209a5cfd2aec01f0307dbc0101d73\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://76e51bf69a4d0b5d1d9cfa7efa442bdcf9d713966563432ef8fdd00ec959a25e\",\"dweb:/ipfs/QmTHkdvMnqmEvus7zbmHhPkWk3fM9SW2Jq8gnyBLwVJtxG\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Utils.sol\":{\"keccak256\":\"0x4de002af810f6a5fe26a6381e0ead3331735bd0059434a22df75e17c177b5f87\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af32ff07f606e530a53030db141a75af144cfe065a6543939d412018c6159540\",\"dweb:/ipfs/QmbfTB92Zd8VQHW61g9dx1CvGgSL5SCoZDLrvJfnR7Ctio\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Versions.sol\":{\"keccak256\":\"0xf1a1441c18a296853509e9b1d18be794ed3de836caea49d6948b5e9ac566e8c6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6f3463514235bd875ecacf45f95cac64aa650dd38d05c15fe1f4203b6b5733bd\",\"dweb:/ipfs/Qmcbhmw9NPkG8MqiVsQ4qUupeQFCRgyBDKuoUwohwa8EP3\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IProxyAdmin.sol\":{\"keccak256\":\"0xf5e514595089f8959da130507086e7388602a71ce60575d141e7d892dfbddbfc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9b41366e2823ccc8cb42304496d761b3df80946d17384634a61afd7139495c91\",\"dweb:/ipfs/QmZE2nRMxax1NPj63ifemKdScGJzKNWi7BCGudjFLsUz1y\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableBeacon.sol\":{\"keccak256\":\"0xa8d7bffdd26eb763e459650c83f247b54af79800c2df52ad05878f238fc1c2f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ed47f1e53e5eb7d48fed60a414755641fca8fa0e713fd503b2597227da78a2f\",\"dweb:/ipfs/QmQr8A5wddHdhQNauFShXxRkPcuVVpVsYpq846WhmFC8Tv\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableProxy.sol\":{\"keccak256\":\"0x781b564b90bba0c0e8e12fb66b1c910f42d369db469f2e88592b4cff29de99a5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://45fcab02a43fde934445b88e905aba3f58a70b75dd6ee6eb86a3d593424aeb03\",\"dweb:/ipfs/QmXmhAgrctaYUDLoTRgUjwD4deoXu1E2QT1kftVGcVa56j\"]},\"pkg/contracts/src/BaseStrategyUpgradeable.sol\":{\"keccak256\":\"0xe059f9e1a262a4713e230a6025c3356681bb5f3c8013b87bc579bae93aa66c20\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://37e879664b08005b9544457cf89bce77e38b6a25639566df7366b9e5968c815e\",\"dweb:/ipfs/QmYgNRqZfYUPbWgcHUHghTcpqjVmT9v4HfkfPdEF64fYe5\"]},\"pkg/contracts/src/CVStrategy.sol\":{\"keccak256\":\"0x132bcf17470960e380d841159d9389985d609aaae1c9a657c78902f7871da957\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://84e905bf392579b44f33fff8586431b940e110b2210854cf487321cc92061705\",\"dweb:/ipfs/QmQpvszYu8RbrXmUFLifSodQzV8LAqazk1fzXNARGc5sBT\"]},\"pkg/contracts/src/CVStrategyV0_0.sol\":{\"keccak256\":\"0x79d01b399c8d735923dfa26b8dacba6200a861202dd6fb1c7711241285439d2d\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://e7ea0014e25a729d6d688620658df81a179a8c2380ae0bc4c78668cd486adb04\",\"dweb:/ipfs/QmdPM8JpFXeqBxQgkRzM1inzCT2rkRxnpoSrFk8DauDpNf\"]},\"pkg/contracts/src/ISybilScorer.sol\":{\"keccak256\":\"0x0e25fbb8497ac3c969d80c9032362d45e56c0a45dc9ba3dff6a8a704571f38ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0dff90ebae6e7131a5300fcaf525bc2ab0ae90fcd13f277d7b7b6939eeb8b7eb\",\"dweb:/ipfs/QmYGkYqpUVrBWoNY6f3CtwrrVQFWSvnJfpu68t95f6AkBY\"]},\"pkg/contracts/src/RegistryCommunity.sol\":{\"keccak256\":\"0xc735f4d2635149f2db9bff291da56e08c3c312d9eb1b767b8a1e3e51584d5734\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://247b33b78abface6a7e2da38174386de9b543f6a27e8340e26d854bff57184a3\",\"dweb:/ipfs/QmedNdqkqeboGzz9w868uGf7KnXUaYZe6i1YcdUPPkJnnf\"]},\"pkg/contracts/src/RegistryCommunityV0_0.sol\":{\"keccak256\":\"0x6525c857f7baff606e87bbc2878f3606923997a444eb500aa15018c676c972a9\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://89d2af9f470c8d7431ff6b1981b7bf46520f719d68da38ab3ca065496a6297d8\",\"dweb:/ipfs/QmceJHX57HbnBXVfmhtRPmnApUQy5QSWTybgq6g37vCxEN\"]},\"pkg/contracts/src/RegistryFactory.sol\":{\"keccak256\":\"0x888b7f5eb1079f90ccfa0b41d8a970bffd8d4d469f9b31917a58279b358dbda5\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://af25fd783de00adf01d1c7caa572801fed0d474306a43b862535b08e65ec10c6\",\"dweb:/ipfs/Qmeb2nEaMQLV86y1CYAAV2c6BYpBDTbpLuC1SigeNjdqLo\"]},\"pkg/contracts/src/interfaces/FAllo.sol\":{\"keccak256\":\"0x32f38cb4400a07a99ae68a9beb91e5649886487172fd50561da6763464efc437\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://cb4f0cee2f3fbede7be5e8e1d7ee8034086359cd07b9dab49c4a991388e5c458\",\"dweb:/ipfs/QmS26kA8cZ9shWwxcbF17Kes8L7Jgw85EQVydDmwb34mjM\"]},\"pkg/contracts/src/interfaces/ISafe.sol\":{\"keccak256\":\"0x878a210809bb684c42157a10f3f90350a67d0a4863f130499942b06f0f2c9143\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://fa2d71bd427c3415e98a2ee15ff673f3cc61c17f14d7087c5eedc83b55f6b0ef\",\"dweb:/ipfs/QmesVSmJQQzi6ys1cvhQFCJyDXchb736mT5bXks4Yp6Cbj\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"_member","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"deactivatePoints"},{"inputs":[{"internalType":"address","name":"_member","type":"address"},{"internalType":"uint256","name":"_amountToUntake","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"decreasePower","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"getPointSystem","outputs":[{"internalType":"enum StrategyStruct.PointSystem","name":"","type":"uint8"}]},{"inputs":[{"internalType":"address","name":"_member","type":"address"},{"internalType":"uint256","name":"_amountToStake","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"increasePower","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-contracts/=lib/safe-contracts/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":1000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"pkg/contracts/src/CVStrategyV0_0.sol":"IPointStrategy"},"evmVersion":"paris","libraries":{}},"sources":{"lib/allo-v2/contracts/core/interfaces/IAllo.sol":{"keccak256":"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce","urls":["bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7","dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/interfaces/IRegistry.sol":{"keccak256":"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f","urls":["bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e","dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA"],"license":"MIT"},"lib/allo-v2/contracts/core/interfaces/IStrategy.sol":{"keccak256":"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23","urls":["bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487","dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Clone.sol":{"keccak256":"0xc348b24b7d8a98c4faa5f2aa37ce9264a74f81dbdef1a9bae2eaa125585c3c7e","urls":["bzz-raw://1335b3ec59ec7e3d12ea7c90b3aa56f4c26e0d44d342f54412933be9d4f16067","dweb:/ipfs/QmXNFo2wCyq9cpvfgbdHvBUQecThFSEoUnMuZNS6WinDrr"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Errors.sol":{"keccak256":"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15","urls":["bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf","dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Metadata.sol":{"keccak256":"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44","urls":["bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c","dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Native.sol":{"keccak256":"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5","urls":["bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a","dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Transfer.sol":{"keccak256":"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286","urls":["bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11","dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/strategies/BaseStrategy.sol":{"keccak256":"0x3f1382dc6c35d50545e327e7ed6016f2bd752357d446bd698014073f0b812873","urls":["bzz-raw://99500abcd617fa43f6dde49e2c7802821ceaf54a65a8055cbbf2695ecd107974","dweb:/ipfs/QmUktZkWuu3GCMEijY1fqt7NMy7BzpTvEtcmpB1fuoa7zt"],"license":"AGPL-3.0-only"},"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol":{"keccak256":"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624","urls":["bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298","dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt"],"license":"MIT"},"lib/forge-std/src/Vm.sol":{"keccak256":"0x51fec240abc6dd23e0ee6de7c65106379aef732cad6c4ae5df6b55db886e7456","urls":["bzz-raw://a47d9c0a9876e7f9e411843b994a741d4ac1a87d8459ffc3c56359de691ddc1a","dweb:/ipfs/QmQiFN9b3Y2azrD1RBfAKEuAG3YeJkMzA2DGzgEE9kMeEK"],"license":"MIT OR Apache-2.0"},"lib/forge-std/src/console.sol":{"keccak256":"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba","urls":["bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70","dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol":{"keccak256":"0xc8710577334e8d0799ae2b2a731b1924a7bddd64319da9787ddd2dc69bdd1ce5","urls":["bzz-raw://b83b7afa4d2372da3ba5402fb10860a105c35d79812c60dc61007be2afc17618","dweb:/ipfs/QmYX9xPmbNVSKXrepKiUZiG5oL3SdzFp9a4kqspxX1sEUx"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol":{"keccak256":"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa","urls":["bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c","dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol":{"keccak256":"0x359a1ab89b46b9aba7bcad3fb651924baf4893d15153049b9976b0fc9be1358e","urls":["bzz-raw://e89863421b4014b96a4b62be76eb3b9f0a8afe9684664a6f389124c0964bfe5c","dweb:/ipfs/Qmbk7xr1irpDuU1WdxXgxELBXxs61rHhCgod7heVcvFx16"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol":{"keccak256":"0x5a55d1b148a0cb4183f1e09ceaff87bd2d828440f2f5dc01dfe03eb29e7c88ec","urls":["bzz-raw://b3f9278bdda788763efbe569da77fc24feff36e871779e2da69f74ea5f8bfacf","dweb:/ipfs/QmZF9cH4rfazmwKT55p3tZyzh9QGghNyss81f46d6yVXap"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794","urls":["bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e","dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol":{"keccak256":"0x2025ccf05f6f1f2fd4e078e552836f525a1864e3854ed555047cd732320ab29b","urls":["bzz-raw://d27f4b23c2dee42394aebaf42bf238285230f472dfd3282a39c3f000ec28214f","dweb:/ipfs/QmQa3DnvccwdWJeWrjgXPnFMTWbzWQWR39hVqC7eEwo2PC"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol":{"keccak256":"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422","urls":["bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b","dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef","urls":["bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95","dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol":{"keccak256":"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb","urls":["bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a","dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol":{"keccak256":"0xd90d7723512df65ae417adaf0801042940f0dabd60039ceeaffe34aa5b238da1","urls":["bzz-raw://1b13befeb3413749292f9fb229de1c7a509a5ce2c8047d9094fc004ca9d3af89","dweb:/ipfs/QmRzJ2hZSwRtMejHUZAYTPRKgZsnfb112Fno9Jf3EiDfwA"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol":{"keccak256":"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09","urls":["bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758","dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol":{"keccak256":"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e","urls":["bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91","dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol":{"keccak256":"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a","urls":["bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4","dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/access/AccessControl.sol":{"keccak256":"0x0dd6e52cb394d7f5abe5dca2d4908a6be40417914720932de757de34a99ab87f","urls":["bzz-raw://dc117ce50ea746cab6b97ed1a1facee17a715ae0cb95d67b943dacbaf15176fb","dweb:/ipfs/QmYRZ2UGNYwsHwfNu7Wjr8L2j1LBZ1mKv6NvbwgterYMXc"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/access/IAccessControl.sol":{"keccak256":"0x59ce320a585d7e1f163cd70390a0ef2ff9cec832e2aa544293a00692465a7a57","urls":["bzz-raw://bb2c137c343ef0c4c7ce7b18c1d108afdc9d315a04e48307288d2d05adcbde3a","dweb:/ipfs/QmUxhrAQM3MM3FF5j7AtcXLXguWCJBHJ14BRdVtuoQc8Fh"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/access/Ownable.sol":{"keccak256":"0xba43b97fba0d32eb4254f6a5a297b39a19a247082a02d6e69349e071e2946218","urls":["bzz-raw://fc980984badf3984b6303b377711220e067722bbd6a135b24669ff5069ef9f32","dweb:/ipfs/QmPHXMSXj99XjSVM21YsY6aNtLLjLVXDbyN76J5HQYvvrz"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol":{"keccak256":"0x3cbef5ebc24b415252e2f8c0c9254555d30d9f085603b4b80d9b5ed20ab87e90","urls":["bzz-raw://e8fa670c3bdce78e642cc6ae11c4cb38b133499cdce5e1990a9979d424703263","dweb:/ipfs/QmVxeCUk4jL2pXQyhsoNJwyU874wRufS2WvGe8TgPKPqhE"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol":{"keccak256":"0x1d4afe6cb24200cc4545eed814ecf5847277dfe5d613a1707aad5fceecebcfff","urls":["bzz-raw://383fb7b8181016ac5ccf07bc9cdb7c1b5045ea36e2cc4df52bcbf20396fc7688","dweb:/ipfs/QmYJ7Cg4WmE3rR8KGQxjUCXFfTH6TcwZ2Z1f6tPrq7jHFr"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol":{"keccak256":"0xa2b22da3032e50b55f95ec1d13336102d675f341167aa76db571ef7f8bb7975d","urls":["bzz-raw://96b6d77a20bebd4eb06b801d3d020c7e82be13bd535cb0d0a6b7181c51dab5d5","dweb:/ipfs/QmPUR9Cv9jNFdQX6PtBfaBW1ZCnKwiu65R2VD5kbdanDyn"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Upgrade.sol":{"keccak256":"0x3b21ae06bf5957f73fa16754b0669c77b7abd8ba6c072d35c3281d446fdb86c2","urls":["bzz-raw://2db8e18505e86e02526847005d7287a33e397ed7fb9eaba3fd4a4a197add16e2","dweb:/ipfs/QmW9BSuKTzHWHBNSHF4L8XfVuU1uJrP2vLg84YtBd8mL82"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol":{"keccak256":"0xc130fe33f1b2132158531a87734153293f6d07bc263ff4ac90e85da9c82c0e27","urls":["bzz-raw://8831721b6f4cc26534d190f9f1631c3f59c9ff38efdd911f85e0882b8e360472","dweb:/ipfs/QmQZnLErZNStirSQ13ZNWQgvEYUtGE5tXYwn4QUPaVUfPN"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol":{"keccak256":"0xd50a3421ac379ccb1be435fa646d66a65c986b4924f0849839f08692f39dde61","urls":["bzz-raw://ada1e030c0231db8d143b44ce92b4d1158eedb087880cad6d8cc7bd7ebe7b354","dweb:/ipfs/QmWZ2NHZweRpz1U9GF6R1h65ri76dnX7fNxLBeM2t5N5Ce"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x3d6069be9b4c01fb81840fb9c2c4dc58dd6a6a4aafaa2c6837de8699574d84c6","urls":["bzz-raw://720d6bb56ea0c4ef781c0bd65c5bd0541f5a46100163b2587170f97658d2deed","dweb:/ipfs/QmTS2biLVPrv8CeeXCaKmkFxonMiRvc1LxiYBRYDAJHQUS"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol":{"keccak256":"0xc6619957bcc6641fe8984bfaf9ff11a9e4b97d8149c0495f608f9a2416d7c5cf","urls":["bzz-raw://543be67f7fa43b1b932637c1c7f12035f0f4b0f7ee2bd3c33841186f79c165c1","dweb:/ipfs/QmSBPM2UVKbmJqWfD9i6hSiqbaE8TV4TSqfuiivziRRLKM"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/security/ReentrancyGuard.sol":{"keccak256":"0xa535a5df777d44e945dd24aa43a11e44b024140fc340ad0dfe42acf4002aade1","urls":["bzz-raw://41319e7f621f2dc3733511332c4fd032f8e32ad2aa7fd6f665c19741d9941a34","dweb:/ipfs/QmcYR3bd862GD1Bc7jwrU9bGxrhUu5na1oP964bDCu2id1"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol":{"keccak256":"0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c","urls":["bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15","dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305","urls":["bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5","dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol":{"keccak256":"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca","urls":["bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd","dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol":{"keccak256":"0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a","urls":["bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a","dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol":{"keccak256":"0x909d608c2db6eb165ca178c81289a07ed2e118e444d0025b2a85c97d0b44a4fa","urls":["bzz-raw://656cda26512ddd7373c2d5551c8fae759fc30f05b10f0fc2e738e9274199dbd4","dweb:/ipfs/QmTSArSzQRFbQmHgq7U1PZXnsDFhvDZhKVu9CzMG4yo6Lx"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Address.sol":{"keccak256":"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa","urls":["bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931","dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Context.sol":{"keccak256":"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7","urls":["bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92","dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol":{"keccak256":"0xf09e68aa0dc6722a25bc46490e8d48ed864466d17313b8a0b254c36b54e49899","urls":["bzz-raw://e26daf81e2252dc1fe1ce0e4b55c2eb7c6d1ee84ae6558d1a9554432ea1d32da","dweb:/ipfs/Qmb1UANWiWq5pCKbmHSu772hd4nt374dVaghGmwSVNuk8Q"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Strings.sol":{"keccak256":"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0","urls":["bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f","dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol":{"keccak256":"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b","urls":["bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d","dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol":{"keccak256":"0x5a08ad61f4e82b8a3323562661a86fb10b10190848073fdc13d4ac43710ffba5","urls":["bzz-raw://6f7bb74cf88fd88daa34e118bc6e363381d05044f34f391d39a10c0c9dac3ebd","dweb:/ipfs/QmNbQ3v8v4zuDtg7VeLAbdhAm3tCzUodNoDZZ8ekmCHWZX"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/Math.sol":{"keccak256":"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3","urls":["bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c","dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol":{"keccak256":"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc","urls":["bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7","dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/src/strings.sol":{"keccak256":"0x42cad11a7033f2fe05dd68611d2304407a620ac985b91edf29d5868cfe196223","urls":["bzz-raw://3cbc2333234e1f00eab5e57c4bcaf5115661e5e066a17c70af587a0a96f24669","dweb:/ipfs/QmPHvStqcvZL46LW5N2ExTwAaqNhRCcmAX66aR6oE1WDar"],"license":null},"lib/openzeppelin-foundry-upgrades/src/Defender.sol":{"keccak256":"0x2114e4d70d53b36e8cec54ba11ff78d9f38a466ec3504c76c7f26101a7cff37f","urls":["bzz-raw://58f4d9bc58646e7631b263cdb8ef260e6818e9f716036d81d1c18218c9557a23","dweb:/ipfs/QmS18L4R4gPtay9eQBcR28DnwmBkGSWsiCFwm2tXc3BkHL"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/LegacyUpgrades.sol":{"keccak256":"0x8436719f73c76efadaa16cd719d088f698ea3591595dfdf2c15fd66f3e203197","urls":["bzz-raw://ac8d0e55defe124adcc3845348602d6528b00b7dc5f7abf9e1b245d0cea9b55e","dweb:/ipfs/QmaPBoG89Bd2btJZW5kjXx7zXo6KhAdeTuMq5xo431M8xq"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/Options.sol":{"keccak256":"0xa5414683d6b219b28e75ecaab3d00a305dfaf4d970389a88992275c8072ce8ac","urls":["bzz-raw://b1dbfd566ba318f2b740159c28e4511c84c9d76fcc293ae17c9b1a87b3ea16c9","dweb:/ipfs/QmcyxPoeBdzA9iHEgd76xKhaQ8HKfpV4owdSv6127MmveT"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Core.sol":{"keccak256":"0x37073df20d2b5fbb0a873e6b2dd76c23e23455d1c2d2ba57d2f0998201a4251d","urls":["bzz-raw://79d507647ea48d93371341684cf4199d55ed799db9d3489bc016f53990d2ff7c","dweb:/ipfs/QmQWgXiYcPcwNcrkTHb72WtHd4xPcXfRUMfBrhkDHgr2ut"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/DefenderDeploy.sol":{"keccak256":"0x868ffdaf5d185fee103fc4581385392b47c209a5cfd2aec01f0307dbc0101d73","urls":["bzz-raw://76e51bf69a4d0b5d1d9cfa7efa442bdcf9d713966563432ef8fdd00ec959a25e","dweb:/ipfs/QmTHkdvMnqmEvus7zbmHhPkWk3fM9SW2Jq8gnyBLwVJtxG"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Utils.sol":{"keccak256":"0x4de002af810f6a5fe26a6381e0ead3331735bd0059434a22df75e17c177b5f87","urls":["bzz-raw://af32ff07f606e530a53030db141a75af144cfe065a6543939d412018c6159540","dweb:/ipfs/QmbfTB92Zd8VQHW61g9dx1CvGgSL5SCoZDLrvJfnR7Ctio"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Versions.sol":{"keccak256":"0xf1a1441c18a296853509e9b1d18be794ed3de836caea49d6948b5e9ac566e8c6","urls":["bzz-raw://6f3463514235bd875ecacf45f95cac64aa650dd38d05c15fe1f4203b6b5733bd","dweb:/ipfs/Qmcbhmw9NPkG8MqiVsQ4qUupeQFCRgyBDKuoUwohwa8EP3"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IProxyAdmin.sol":{"keccak256":"0xf5e514595089f8959da130507086e7388602a71ce60575d141e7d892dfbddbfc","urls":["bzz-raw://9b41366e2823ccc8cb42304496d761b3df80946d17384634a61afd7139495c91","dweb:/ipfs/QmZE2nRMxax1NPj63ifemKdScGJzKNWi7BCGudjFLsUz1y"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableBeacon.sol":{"keccak256":"0xa8d7bffdd26eb763e459650c83f247b54af79800c2df52ad05878f238fc1c2f8","urls":["bzz-raw://8ed47f1e53e5eb7d48fed60a414755641fca8fa0e713fd503b2597227da78a2f","dweb:/ipfs/QmQr8A5wddHdhQNauFShXxRkPcuVVpVsYpq846WhmFC8Tv"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableProxy.sol":{"keccak256":"0x781b564b90bba0c0e8e12fb66b1c910f42d369db469f2e88592b4cff29de99a5","urls":["bzz-raw://45fcab02a43fde934445b88e905aba3f58a70b75dd6ee6eb86a3d593424aeb03","dweb:/ipfs/QmXmhAgrctaYUDLoTRgUjwD4deoXu1E2QT1kftVGcVa56j"],"license":"MIT"},"pkg/contracts/src/BaseStrategyUpgradeable.sol":{"keccak256":"0xe059f9e1a262a4713e230a6025c3356681bb5f3c8013b87bc579bae93aa66c20","urls":["bzz-raw://37e879664b08005b9544457cf89bce77e38b6a25639566df7366b9e5968c815e","dweb:/ipfs/QmYgNRqZfYUPbWgcHUHghTcpqjVmT9v4HfkfPdEF64fYe5"],"license":"AGPL-3.0-only"},"pkg/contracts/src/CVStrategy.sol":{"keccak256":"0x132bcf17470960e380d841159d9389985d609aaae1c9a657c78902f7871da957","urls":["bzz-raw://84e905bf392579b44f33fff8586431b940e110b2210854cf487321cc92061705","dweb:/ipfs/QmQpvszYu8RbrXmUFLifSodQzV8LAqazk1fzXNARGc5sBT"],"license":"AGPL-3.0-only"},"pkg/contracts/src/CVStrategyV0_0.sol":{"keccak256":"0x79d01b399c8d735923dfa26b8dacba6200a861202dd6fb1c7711241285439d2d","urls":["bzz-raw://e7ea0014e25a729d6d688620658df81a179a8c2380ae0bc4c78668cd486adb04","dweb:/ipfs/QmdPM8JpFXeqBxQgkRzM1inzCT2rkRxnpoSrFk8DauDpNf"],"license":"AGPL-3.0-only"},"pkg/contracts/src/ISybilScorer.sol":{"keccak256":"0x0e25fbb8497ac3c969d80c9032362d45e56c0a45dc9ba3dff6a8a704571f38ea","urls":["bzz-raw://0dff90ebae6e7131a5300fcaf525bc2ab0ae90fcd13f277d7b7b6939eeb8b7eb","dweb:/ipfs/QmYGkYqpUVrBWoNY6f3CtwrrVQFWSvnJfpu68t95f6AkBY"],"license":"MIT"},"pkg/contracts/src/RegistryCommunity.sol":{"keccak256":"0xc735f4d2635149f2db9bff291da56e08c3c312d9eb1b767b8a1e3e51584d5734","urls":["bzz-raw://247b33b78abface6a7e2da38174386de9b543f6a27e8340e26d854bff57184a3","dweb:/ipfs/QmedNdqkqeboGzz9w868uGf7KnXUaYZe6i1YcdUPPkJnnf"],"license":"AGPL-3.0-only"},"pkg/contracts/src/RegistryCommunityV0_0.sol":{"keccak256":"0x6525c857f7baff606e87bbc2878f3606923997a444eb500aa15018c676c972a9","urls":["bzz-raw://89d2af9f470c8d7431ff6b1981b7bf46520f719d68da38ab3ca065496a6297d8","dweb:/ipfs/QmceJHX57HbnBXVfmhtRPmnApUQy5QSWTybgq6g37vCxEN"],"license":"AGPL-3.0-only"},"pkg/contracts/src/RegistryFactory.sol":{"keccak256":"0x888b7f5eb1079f90ccfa0b41d8a970bffd8d4d469f9b31917a58279b358dbda5","urls":["bzz-raw://af25fd783de00adf01d1c7caa572801fed0d474306a43b862535b08e65ec10c6","dweb:/ipfs/Qmeb2nEaMQLV86y1CYAAV2c6BYpBDTbpLuC1SigeNjdqLo"],"license":"AGPL-3.0-only"},"pkg/contracts/src/interfaces/FAllo.sol":{"keccak256":"0x32f38cb4400a07a99ae68a9beb91e5649886487172fd50561da6763464efc437","urls":["bzz-raw://cb4f0cee2f3fbede7be5e8e1d7ee8034086359cd07b9dab49c4a991388e5c458","dweb:/ipfs/QmS26kA8cZ9shWwxcbF17Kes8L7Jgw85EQVydDmwb34mjM"],"license":"AGPL-3.0-only"},"pkg/contracts/src/interfaces/ISafe.sol":{"keccak256":"0x878a210809bb684c42157a10f3f90350a67d0a4863f130499942b06f0f2c9143","urls":["bzz-raw://fa2d71bd427c3415e98a2ee15ff673f3cc61c17f14d7087c5eedc83b55f6b0ef","dweb:/ipfs/QmesVSmJQQzi6ys1cvhQFCJyDXchb736mT5bXks4Yp6Cbj"],"license":"LGPL-3.0-only"}},"version":1},"storageLayout":{"storage":[],"types":{}},"ast":{"absolutePath":"pkg/contracts/src/CVStrategyV0_0.sol","id":80579,"exportedSymbols":{"BaseStrategy":[3923],"BaseStrategyUpgradeable":[74672],"CVStrategyV0_0":[80578],"ERC165":[58266],"ERC20":[56991],"IAllo":[2610],"IERC165":[58472],"IPointStrategy":[77667],"ISybilScorer":[80667],"Math":[59338],"Metadata":[3098],"OwnableUpgradeable":[52942],"PassportData":[80585],"RegistryCommunityV0_0":[85047],"StrategyStruct":[77752],"UUPSUpgradeable":[56213],"console":[29549]},"nodeType":"SourceUnit","src":"42:41538:130","nodes":[{"id":77613,"nodeType":"PragmaDirective","src":"42:24:130","nodes":[],"literals":["solidity","^","0.8",".19"]},{"id":77616,"nodeType":"ImportDirective","src":"68:82:130","nodes":[],"absolutePath":"lib/allo-v2/contracts/strategies/BaseStrategy.sol","file":"allo-v2-contracts/strategies/BaseStrategy.sol","nameLocation":"-1:-1:-1","scope":80579,"sourceUnit":3924,"symbolAliases":[{"foreign":{"id":77614,"name":"BaseStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3923,"src":"76:12:130","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":77615,"name":"IAllo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2610,"src":"90:5:130","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":77619,"nodeType":"ImportDirective","src":"152:76:130","nodes":[],"absolutePath":"pkg/contracts/src/RegistryCommunityV0_0.sol","file":"./RegistryCommunityV0_0.sol","nameLocation":"-1:-1:-1","scope":80579,"sourceUnit":85048,"symbolAliases":[{"foreign":{"id":77617,"name":"RegistryCommunityV0_0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85047,"src":"160:21:130","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":77618,"name":"Metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3098,"src":"183:8:130","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":77622,"nodeType":"ImportDirective","src":"229:87:130","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol","file":"@openzeppelin/contracts/utils/introspection/ERC165.sol","nameLocation":"-1:-1:-1","scope":80579,"sourceUnit":58267,"symbolAliases":[{"foreign":{"id":77620,"name":"ERC165","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58266,"src":"237:6:130","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":77621,"name":"IERC165","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58472,"src":"245:7:130","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":77624,"nodeType":"ImportDirective","src":"317:68:130","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol","file":"@openzeppelin/contracts/token/ERC20/ERC20.sol","nameLocation":"-1:-1:-1","scope":80579,"sourceUnit":56992,"symbolAliases":[{"foreign":{"id":77623,"name":"ERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56991,"src":"325:5:130","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":77626,"nodeType":"ImportDirective","src":"387:46:130","nodes":[],"absolutePath":"lib/forge-std/src/console.sol","file":"forge-std/console.sol","nameLocation":"-1:-1:-1","scope":80579,"sourceUnit":29550,"symbolAliases":[{"foreign":{"id":77625,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29549,"src":"395:7:130","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":77628,"nodeType":"ImportDirective","src":"435:65:130","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/utils/math/Math.sol","file":"@openzeppelin/contracts/utils/math/Math.sol","nameLocation":"-1:-1:-1","scope":80579,"sourceUnit":59339,"symbolAliases":[{"foreign":{"id":77627,"name":"Math","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59338,"src":"443:4:130","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":77631,"nodeType":"ImportDirective","src":"501:62:130","nodes":[],"absolutePath":"pkg/contracts/src/ISybilScorer.sol","file":"./ISybilScorer.sol","nameLocation":"-1:-1:-1","scope":80579,"sourceUnit":80668,"symbolAliases":[{"foreign":{"id":77629,"name":"ISybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80667,"src":"509:12:130","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":77630,"name":"PassportData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80585,"src":"523:12:130","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":77633,"nodeType":"ImportDirective","src":"565:88:130","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol","file":"@openzeppelin/contracts/proxy/utils/UUPSUpgradeable.sol","nameLocation":"-1:-1:-1","scope":80579,"sourceUnit":56214,"symbolAliases":[{"foreign":{"id":77632,"name":"UUPSUpgradeable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56213,"src":"573:15:130","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":77635,"nodeType":"ImportDirective","src":"654:110:130","nodes":[],"absolutePath":"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol","file":"openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol","nameLocation":"-1:-1:-1","scope":80579,"sourceUnit":52943,"symbolAliases":[{"foreign":{"id":77634,"name":"OwnableUpgradeable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52942,"src":"662:18:130","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":77637,"nodeType":"ImportDirective","src":"765:70:130","nodes":[],"absolutePath":"pkg/contracts/src/BaseStrategyUpgradeable.sol","file":"./BaseStrategyUpgradeable.sol","nameLocation":"-1:-1:-1","scope":80579,"sourceUnit":74673,"symbolAliases":[{"foreign":{"id":77636,"name":"BaseStrategyUpgradeable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74672,"src":"773:23:130","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":77667,"nodeType":"ContractDefinition","src":"837:355:130","nodes":[{"id":77642,"nodeType":"FunctionDefinition","src":"868:52:130","nodes":[],"functionSelector":"6453d9c4","implemented":false,"kind":"function","modifiers":[],"name":"deactivatePoints","nameLocation":"877:16:130","parameters":{"id":77640,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77639,"mutability":"mutable","name":"_member","nameLocation":"902:7:130","nodeType":"VariableDeclaration","scope":77642,"src":"894:15:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":77638,"name":"address","nodeType":"ElementaryTypeName","src":"894:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"893:17:130"},"returnParameters":{"id":77641,"nodeType":"ParameterList","parameters":[],"src":"919:0:130"},"scope":77667,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":77651,"nodeType":"FunctionDefinition","src":"925:91:130","nodes":[],"functionSelector":"782aadff","implemented":false,"kind":"function","modifiers":[],"name":"increasePower","nameLocation":"934:13:130","parameters":{"id":77647,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77644,"mutability":"mutable","name":"_member","nameLocation":"956:7:130","nodeType":"VariableDeclaration","scope":77651,"src":"948:15:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":77643,"name":"address","nodeType":"ElementaryTypeName","src":"948:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":77646,"mutability":"mutable","name":"_amountToStake","nameLocation":"973:14:130","nodeType":"VariableDeclaration","scope":77651,"src":"965:22:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77645,"name":"uint256","nodeType":"ElementaryTypeName","src":"965:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"947:41:130"},"returnParameters":{"id":77650,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77649,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":77651,"src":"1007:7:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77648,"name":"uint256","nodeType":"ElementaryTypeName","src":"1007:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1006:9:130"},"scope":77667,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":77660,"nodeType":"FunctionDefinition","src":"1021:92:130","nodes":[],"functionSelector":"2ed04b2b","implemented":false,"kind":"function","modifiers":[],"name":"decreasePower","nameLocation":"1030:13:130","parameters":{"id":77656,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77653,"mutability":"mutable","name":"_member","nameLocation":"1052:7:130","nodeType":"VariableDeclaration","scope":77660,"src":"1044:15:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":77652,"name":"address","nodeType":"ElementaryTypeName","src":"1044:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":77655,"mutability":"mutable","name":"_amountToUntake","nameLocation":"1069:15:130","nodeType":"VariableDeclaration","scope":77660,"src":"1061:23:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77654,"name":"uint256","nodeType":"ElementaryTypeName","src":"1061:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1043:42:130"},"returnParameters":{"id":77659,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77658,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":77660,"src":"1104:7:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77657,"name":"uint256","nodeType":"ElementaryTypeName","src":"1104:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1103:9:130"},"scope":77667,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":77666,"nodeType":"FunctionDefinition","src":"1118:72:130","nodes":[],"functionSelector":"c3292171","implemented":false,"kind":"function","modifiers":[],"name":"getPointSystem","nameLocation":"1127:14:130","parameters":{"id":77661,"nodeType":"ParameterList","parameters":[],"src":"1141:2:130"},"returnParameters":{"id":77665,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77664,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":77666,"src":"1162:26:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$77676","typeString":"enum StrategyStruct.PointSystem"},"typeName":{"id":77663,"nodeType":"UserDefinedTypeName","pathNode":{"id":77662,"name":"StrategyStruct.PointSystem","nameLocations":["1162:14:130","1177:11:130"],"nodeType":"IdentifierPath","referencedDeclaration":77676,"src":"1162:26:130"},"referencedDeclaration":77676,"src":"1162:26:130","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$77676","typeString":"enum StrategyStruct.PointSystem"}},"visibility":"internal"}],"src":"1161:28:130"},"scope":77667,"stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"IPointStrategy","contractDependencies":[],"contractKind":"interface","fullyImplemented":false,"linearizedBaseContracts":[77667],"name":"IPointStrategy","nameLocation":"847:14:130","scope":80579,"usedErrors":[]},{"id":77752,"nodeType":"ContractDefinition","src":"1194:1871:130","nodes":[{"id":77671,"nodeType":"EnumDefinition","src":"1223:79:130","nodes":[],"canonicalName":"StrategyStruct.ProposalType","members":[{"id":77668,"name":"Signaling","nameLocation":"1251:9:130","nodeType":"EnumValue","src":"1251:9:130"},{"id":77669,"name":"Funding","nameLocation":"1270:7:130","nodeType":"EnumValue","src":"1270:7:130"},{"id":77670,"name":"Streaming","nameLocation":"1287:9:130","nodeType":"EnumValue","src":"1287:9:130"}],"name":"ProposalType","nameLocation":"1228:12:130"},{"id":77676,"nodeType":"EnumDefinition","src":"1308:92:130","nodes":[],"canonicalName":"StrategyStruct.PointSystem","members":[{"id":77672,"name":"Fixed","nameLocation":"1335:5:130","nodeType":"EnumValue","src":"1335:5:130"},{"id":77673,"name":"Capped","nameLocation":"1350:6:130","nodeType":"EnumValue","src":"1350:6:130"},{"id":77674,"name":"Unlimited","nameLocation":"1366:9:130","nodeType":"EnumValue","src":"1366:9:130"},{"id":77675,"name":"Quadratic","nameLocation":"1385:9:130","nodeType":"EnumValue","src":"1385:9:130"}],"name":"PointSystem","nameLocation":"1313:11:130"},{"id":77688,"nodeType":"StructDefinition","src":"1406:243:130","nodes":[],"canonicalName":"StrategyStruct.CreateProposal","members":[{"constant":false,"id":77678,"mutability":"mutable","name":"poolId","nameLocation":"1477:6:130","nodeType":"VariableDeclaration","scope":77688,"src":"1469:14:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77677,"name":"uint256","nodeType":"ElementaryTypeName","src":"1469:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":77680,"mutability":"mutable","name":"beneficiary","nameLocation":"1501:11:130","nodeType":"VariableDeclaration","scope":77688,"src":"1493:19:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":77679,"name":"address","nodeType":"ElementaryTypeName","src":"1493:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":77682,"mutability":"mutable","name":"amountRequested","nameLocation":"1568:15:130","nodeType":"VariableDeclaration","scope":77688,"src":"1560:23:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77681,"name":"uint256","nodeType":"ElementaryTypeName","src":"1560:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":77684,"mutability":"mutable","name":"requestedToken","nameLocation":"1601:14:130","nodeType":"VariableDeclaration","scope":77688,"src":"1593:22:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":77683,"name":"address","nodeType":"ElementaryTypeName","src":"1593:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":77687,"mutability":"mutable","name":"metadata","nameLocation":"1634:8:130","nodeType":"VariableDeclaration","scope":77688,"src":"1625:17:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"},"typeName":{"id":77686,"nodeType":"UserDefinedTypeName","pathNode":{"id":77685,"name":"Metadata","nameLocations":["1625:8:130"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"1625:8:130"},"referencedDeclaration":3098,"src":"1625:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"}],"name":"CreateProposal","nameLocation":"1413:14:130","scope":77752,"visibility":"public"},{"id":77694,"nodeType":"EnumDefinition","src":"1655:289:130","nodes":[],"canonicalName":"StrategyStruct.ProposalStatus","members":[{"id":77689,"name":"Inactive","nameLocation":"1685:8:130","nodeType":"EnumValue","src":"1685:8:130"},{"id":77690,"name":"Active","nameLocation":"1715:6:130","nodeType":"EnumValue","src":"1715:6:130"},{"id":77691,"name":"Paused","nameLocation":"1778:6:130","nodeType":"EnumValue","src":"1778:6:130"},{"id":77692,"name":"Cancelled","nameLocation":"1843:9:130","nodeType":"EnumValue","src":"1843:9:130"},{"id":77693,"name":"Executed","nameLocation":"1896:8:130","nodeType":"EnumValue","src":"1896:8:130"}],"name":"ProposalStatus","nameLocation":"1660:14:130"},{"id":77721,"nodeType":"StructDefinition","src":"1950:405:130","nodes":[],"canonicalName":"StrategyStruct.Proposal","members":[{"constant":false,"id":77696,"mutability":"mutable","name":"proposalId","nameLocation":"1984:10:130","nodeType":"VariableDeclaration","scope":77721,"src":"1976:18:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77695,"name":"uint256","nodeType":"ElementaryTypeName","src":"1976:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":77698,"mutability":"mutable","name":"requestedAmount","nameLocation":"2012:15:130","nodeType":"VariableDeclaration","scope":77721,"src":"2004:23:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77697,"name":"uint256","nodeType":"ElementaryTypeName","src":"2004:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":77700,"mutability":"mutable","name":"stakedAmount","nameLocation":"2045:12:130","nodeType":"VariableDeclaration","scope":77721,"src":"2037:20:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77699,"name":"uint256","nodeType":"ElementaryTypeName","src":"2037:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":77702,"mutability":"mutable","name":"convictionLast","nameLocation":"2075:14:130","nodeType":"VariableDeclaration","scope":77721,"src":"2067:22:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77701,"name":"uint256","nodeType":"ElementaryTypeName","src":"2067:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":77704,"mutability":"mutable","name":"beneficiary","nameLocation":"2107:11:130","nodeType":"VariableDeclaration","scope":77721,"src":"2099:19:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":77703,"name":"address","nodeType":"ElementaryTypeName","src":"2099:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":77706,"mutability":"mutable","name":"submitter","nameLocation":"2136:9:130","nodeType":"VariableDeclaration","scope":77721,"src":"2128:17:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":77705,"name":"address","nodeType":"ElementaryTypeName","src":"2128:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":77708,"mutability":"mutable","name":"requestedToken","nameLocation":"2163:14:130","nodeType":"VariableDeclaration","scope":77721,"src":"2155:22:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":77707,"name":"address","nodeType":"ElementaryTypeName","src":"2155:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":77710,"mutability":"mutable","name":"blockLast","nameLocation":"2195:9:130","nodeType":"VariableDeclaration","scope":77721,"src":"2187:17:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77709,"name":"uint256","nodeType":"ElementaryTypeName","src":"2187:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":77713,"mutability":"mutable","name":"proposalStatus","nameLocation":"2229:14:130","nodeType":"VariableDeclaration","scope":77721,"src":"2214:29:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$77694","typeString":"enum StrategyStruct.ProposalStatus"},"typeName":{"id":77712,"nodeType":"UserDefinedTypeName","pathNode":{"id":77711,"name":"ProposalStatus","nameLocations":["2214:14:130"],"nodeType":"IdentifierPath","referencedDeclaration":77694,"src":"2214:14:130"},"referencedDeclaration":77694,"src":"2214:14:130","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$77694","typeString":"enum StrategyStruct.ProposalStatus"}},"visibility":"internal"},{"constant":false,"id":77717,"mutability":"mutable","name":"voterStakedPoints","nameLocation":"2281:17:130","nodeType":"VariableDeclaration","scope":77721,"src":"2253:45:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"typeName":{"id":77716,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":77714,"name":"address","nodeType":"ElementaryTypeName","src":"2261:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"2253:27:130","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":77715,"name":"uint256","nodeType":"ElementaryTypeName","src":"2272:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"internal"},{"constant":false,"id":77720,"mutability":"mutable","name":"metadata","nameLocation":"2340:8:130","nodeType":"VariableDeclaration","scope":77721,"src":"2331:17:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"},"typeName":{"id":77719,"nodeType":"UserDefinedTypeName","pathNode":{"id":77718,"name":"Metadata","nameLocations":["2331:8:130"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"2331:8:130"},"referencedDeclaration":3098,"src":"2331:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"}],"name":"Proposal","nameLocation":"1957:8:130","scope":77752,"visibility":"public"},{"id":77726,"nodeType":"StructDefinition","src":"2361:126:130","nodes":[],"canonicalName":"StrategyStruct.ProposalSupport","members":[{"constant":false,"id":77723,"mutability":"mutable","name":"proposalId","nameLocation":"2402:10:130","nodeType":"VariableDeclaration","scope":77726,"src":"2394:18:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77722,"name":"uint256","nodeType":"ElementaryTypeName","src":"2394:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":77725,"mutability":"mutable","name":"deltaSupport","nameLocation":"2429:12:130","nodeType":"VariableDeclaration","scope":77726,"src":"2422:19:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":77724,"name":"int256","nodeType":"ElementaryTypeName","src":"2422:6:130","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"name":"ProposalSupport","nameLocation":"2368:15:130","scope":77752,"visibility":"public"},{"id":77729,"nodeType":"StructDefinition","src":"2493:89:130","nodes":[],"canonicalName":"StrategyStruct.PointSystemConfig","members":[{"constant":false,"id":77728,"mutability":"mutable","name":"maxAmount","nameLocation":"2566:9:130","nodeType":"VariableDeclaration","scope":77729,"src":"2558:17:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77727,"name":"uint256","nodeType":"ElementaryTypeName","src":"2558:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"PointSystemConfig","nameLocation":"2500:17:130","scope":77752,"visibility":"public"},{"id":77751,"nodeType":"StructDefinition","src":"2588:475:130","nodes":[],"canonicalName":"StrategyStruct.InitializeParams","members":[{"constant":false,"id":77731,"mutability":"mutable","name":"registryCommunity","nameLocation":"2630:17:130","nodeType":"VariableDeclaration","scope":77751,"src":"2622:25:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":77730,"name":"address","nodeType":"ElementaryTypeName","src":"2622:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":77733,"mutability":"mutable","name":"decay","nameLocation":"2694:5:130","nodeType":"VariableDeclaration","scope":77751,"src":"2686:13:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77732,"name":"uint256","nodeType":"ElementaryTypeName","src":"2686:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":77735,"mutability":"mutable","name":"maxRatio","nameLocation":"2764:8:130","nodeType":"VariableDeclaration","scope":77751,"src":"2756:16:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77734,"name":"uint256","nodeType":"ElementaryTypeName","src":"2756:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":77737,"mutability":"mutable","name":"weight","nameLocation":"2818:6:130","nodeType":"VariableDeclaration","scope":77751,"src":"2810:14:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77736,"name":"uint256","nodeType":"ElementaryTypeName","src":"2810:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":77739,"mutability":"mutable","name":"minThresholdPoints","nameLocation":"2842:18:130","nodeType":"VariableDeclaration","scope":77751,"src":"2834:26:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77738,"name":"uint256","nodeType":"ElementaryTypeName","src":"2834:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":77742,"mutability":"mutable","name":"proposalType","nameLocation":"2908:12:130","nodeType":"VariableDeclaration","scope":77751,"src":"2895:25:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$77671","typeString":"enum StrategyStruct.ProposalType"},"typeName":{"id":77741,"nodeType":"UserDefinedTypeName","pathNode":{"id":77740,"name":"ProposalType","nameLocations":["2895:12:130"],"nodeType":"IdentifierPath","referencedDeclaration":77671,"src":"2895:12:130"},"referencedDeclaration":77671,"src":"2895:12:130","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$77671","typeString":"enum StrategyStruct.ProposalType"}},"visibility":"internal"},{"constant":false,"id":77745,"mutability":"mutable","name":"pointSystem","nameLocation":"2977:11:130","nodeType":"VariableDeclaration","scope":77751,"src":"2965:23:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$77676","typeString":"enum StrategyStruct.PointSystem"},"typeName":{"id":77744,"nodeType":"UserDefinedTypeName","pathNode":{"id":77743,"name":"PointSystem","nameLocations":["2965:11:130"],"nodeType":"IdentifierPath","referencedDeclaration":77676,"src":"2965:11:130"},"referencedDeclaration":77676,"src":"2965:11:130","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$77676","typeString":"enum StrategyStruct.PointSystem"}},"visibility":"internal"},{"constant":false,"id":77748,"mutability":"mutable","name":"pointConfig","nameLocation":"3016:11:130","nodeType":"VariableDeclaration","scope":77751,"src":"2998:29:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$77729_storage_ptr","typeString":"struct StrategyStruct.PointSystemConfig"},"typeName":{"id":77747,"nodeType":"UserDefinedTypeName","pathNode":{"id":77746,"name":"PointSystemConfig","nameLocations":["2998:17:130"],"nodeType":"IdentifierPath","referencedDeclaration":77729,"src":"2998:17:130"},"referencedDeclaration":77729,"src":"2998:17:130","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$77729_storage_ptr","typeString":"struct StrategyStruct.PointSystemConfig"}},"visibility":"internal"},{"constant":false,"id":77750,"mutability":"mutable","name":"sybilScorer","nameLocation":"3045:11:130","nodeType":"VariableDeclaration","scope":77751,"src":"3037:19:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":77749,"name":"address","nodeType":"ElementaryTypeName","src":"3037:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"name":"InitializeParams","nameLocation":"2595:16:130","scope":77752,"visibility":"public"}],"abstract":false,"baseContracts":[],"canonicalName":"StrategyStruct","contractDependencies":[],"contractKind":"library","fullyImplemented":true,"linearizedBaseContracts":[77752],"name":"StrategyStruct","nameLocation":"1202:14:130","scope":80579,"usedErrors":[]},{"id":80578,"nodeType":"ContractDefinition","src":"3067:38512:130","nodes":[{"id":77763,"nodeType":"UsingForDirective","src":"3168:23:130","nodes":[],"global":false,"libraryName":{"id":77761,"name":"Math","nameLocations":["3174:4:130"],"nodeType":"IdentifierPath","referencedDeclaration":59338,"src":"3174:4:130"},"typeName":{"id":77762,"name":"uint256","nodeType":"ElementaryTypeName","src":"3183:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},{"id":77765,"nodeType":"ErrorDefinition","src":"3362:25:130","nodes":[],"errorSelector":"d1f28288","name":"UserCannotBeZero","nameLocation":"3368:16:130","parameters":{"id":77764,"nodeType":"ParameterList","parameters":[],"src":"3384:2:130"}},{"id":77767,"nodeType":"ErrorDefinition","src":"3406:26:130","nodes":[],"errorSelector":"6a5cfb6d","name":"UserNotInRegistry","nameLocation":"3412:17:130","parameters":{"id":77766,"nodeType":"ParameterList","parameters":[],"src":"3429:2:130"}},{"id":77769,"nodeType":"ErrorDefinition","src":"3450:23:130","nodes":[],"errorSelector":"5fccb67f","name":"UserIsInactive","nameLocation":"3456:14:130","parameters":{"id":77768,"nodeType":"ParameterList","parameters":[],"src":"3470:2:130"}},{"id":77771,"nodeType":"ErrorDefinition","src":"3492:20:130","nodes":[],"errorSelector":"ed4421ad","name":"PoolIsEmpty","nameLocation":"3498:11:130","parameters":{"id":77770,"nodeType":"ParameterList","parameters":[],"src":"3509:2:130"}},{"id":77773,"nodeType":"ErrorDefinition","src":"3531:23:130","nodes":[],"errorSelector":"d6234725","name":"NotImplemented","nameLocation":"3537:14:130","parameters":{"id":77772,"nodeType":"ParameterList","parameters":[],"src":"3551:2:130"}},{"id":77775,"nodeType":"ErrorDefinition","src":"3572:26:130","nodes":[],"errorSelector":"596a094c","name":"TokenCannotBeZero","nameLocation":"3578:17:130","parameters":{"id":77774,"nodeType":"ParameterList","parameters":[],"src":"3595:2:130"}},{"id":77777,"nodeType":"ErrorDefinition","src":"3616:24:130","nodes":[],"errorSelector":"a29c4986","name":"TokenNotAllowed","nameLocation":"3622:15:130","parameters":{"id":77776,"nodeType":"ParameterList","parameters":[],"src":"3637:2:130"}},{"id":77779,"nodeType":"ErrorDefinition","src":"3659:27:130","nodes":[],"errorSelector":"3bf5ca14","name":"AmountOverMaxRatio","nameLocation":"3665:18:130","parameters":{"id":77778,"nodeType":"ParameterList","parameters":[],"src":"3683:2:130"}},{"id":77781,"nodeType":"ErrorDefinition","src":"3705:27:130","nodes":[],"errorSelector":"4e791786","name":"PoolIdCannotBeZero","nameLocation":"3711:18:130","parameters":{"id":77780,"nodeType":"ParameterList","parameters":[],"src":"3729:2:130"}},{"id":77783,"nodeType":"ErrorDefinition","src":"3750:28:130","nodes":[],"errorSelector":"e622e040","name":"AddressCannotBeZero","nameLocation":"3756:19:130","parameters":{"id":77782,"nodeType":"ParameterList","parameters":[],"src":"3775:2:130"}},{"id":77785,"nodeType":"ErrorDefinition","src":"3796:29:130","nodes":[],"errorSelector":"5df4b1ef","name":"RegistryCannotBeZero","nameLocation":"3802:20:130","parameters":{"id":77784,"nodeType":"ParameterList","parameters":[],"src":"3822:2:130"}},{"id":77793,"nodeType":"ErrorDefinition","src":"3844:72:130","nodes":[],"errorSelector":"3bbc7142","name":"SupportUnderflow","nameLocation":"3850:16:130","parameters":{"id":77792,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77787,"mutability":"mutable","name":"_support","nameLocation":"3875:8:130","nodeType":"VariableDeclaration","scope":77793,"src":"3867:16:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77786,"name":"uint256","nodeType":"ElementaryTypeName","src":"3867:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":77789,"mutability":"mutable","name":"_delta","nameLocation":"3892:6:130","nodeType":"VariableDeclaration","scope":77793,"src":"3885:13:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":77788,"name":"int256","nodeType":"ElementaryTypeName","src":"3885:6:130","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":77791,"mutability":"mutable","name":"_result","nameLocation":"3907:7:130","nodeType":"VariableDeclaration","scope":77793,"src":"3900:14:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":77790,"name":"int256","nodeType":"ElementaryTypeName","src":"3900:6:130","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"3866:49:130"}},{"id":77795,"nodeType":"ErrorDefinition","src":"3935:25:130","nodes":[],"errorSelector":"8402b474","name":"MaxPointsReached","nameLocation":"3941:16:130","parameters":{"id":77794,"nodeType":"ParameterList","parameters":[],"src":"3957:2:130"}},{"id":77797,"nodeType":"ErrorDefinition","src":"3979:32:130","nodes":[],"errorSelector":"573c3e93","name":"CantIncreaseFixedSystem","nameLocation":"3985:23:130","parameters":{"id":77796,"nodeType":"ParameterList","parameters":[],"src":"4008:2:130"}},{"id":77803,"nodeType":"ErrorDefinition","src":"4030:77:130","nodes":[],"errorSelector":"d64182fe","name":"NotEnoughPointsToSupport","nameLocation":"4036:24:130","parameters":{"id":77802,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77799,"mutability":"mutable","name":"pointsSupport","nameLocation":"4069:13:130","nodeType":"VariableDeclaration","scope":77803,"src":"4061:21:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77798,"name":"uint256","nodeType":"ElementaryTypeName","src":"4061:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":77801,"mutability":"mutable","name":"pointsBalance","nameLocation":"4092:13:130","nodeType":"VariableDeclaration","scope":77803,"src":"4084:21:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77800,"name":"uint256","nodeType":"ElementaryTypeName","src":"4084:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4060:46:130"}},{"id":77805,"nodeType":"ErrorDefinition","src":"4127:28:130","nodes":[],"errorSelector":"c5f7c4c0","name":"ProposalDataIsEmpty","nameLocation":"4133:19:130","parameters":{"id":77804,"nodeType":"ParameterList","parameters":[],"src":"4152:2:130"}},{"id":77807,"nodeType":"ErrorDefinition","src":"4173:31:130","nodes":[],"errorSelector":"f881a10d","name":"ProposalIdCannotBeZero","nameLocation":"4179:22:130","parameters":{"id":77806,"nodeType":"ParameterList","parameters":[],"src":"4201:2:130"}},{"id":77811,"nodeType":"ErrorDefinition","src":"4222:45:130","nodes":[],"errorSelector":"44980d8f","name":"ProposalNotActive","nameLocation":"4228:17:130","parameters":{"id":77810,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77809,"mutability":"mutable","name":"_proposalId","nameLocation":"4254:11:130","nodeType":"VariableDeclaration","scope":77811,"src":"4246:19:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77808,"name":"uint256","nodeType":"ElementaryTypeName","src":"4246:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4245:21:130"}},{"id":77815,"nodeType":"ErrorDefinition","src":"4286:45:130","nodes":[],"errorSelector":"c1d17bef","name":"ProposalNotInList","nameLocation":"4292:17:130","parameters":{"id":77814,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77813,"mutability":"mutable","name":"_proposalId","nameLocation":"4318:11:130","nodeType":"VariableDeclaration","scope":77815,"src":"4310:19:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77812,"name":"uint256","nodeType":"ElementaryTypeName","src":"4310:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4309:21:130"}},{"id":77821,"nodeType":"ErrorDefinition","src":"4350:68:130","nodes":[],"errorSelector":"adebb154","name":"ProposalSupportDuplicated","nameLocation":"4356:25:130","parameters":{"id":77820,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77817,"mutability":"mutable","name":"_proposalId","nameLocation":"4390:11:130","nodeType":"VariableDeclaration","scope":77821,"src":"4382:19:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77816,"name":"uint256","nodeType":"ElementaryTypeName","src":"4382:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":77819,"mutability":"mutable","name":"index","nameLocation":"4411:5:130","nodeType":"VariableDeclaration","scope":77821,"src":"4403:13:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77818,"name":"uint256","nodeType":"ElementaryTypeName","src":"4403:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4381:36:130"}},{"id":77823,"nodeType":"ErrorDefinition","src":"4436:40:130","nodes":[],"errorSelector":"cce79308","name":"ConvictionUnderMinimumThreshold","nameLocation":"4442:31:130","parameters":{"id":77822,"nodeType":"ParameterList","parameters":[],"src":"4473:2:130"}},{"id":77825,"nodeType":"ErrorDefinition","src":"4495:29:130","nodes":[],"errorSelector":"af0916a2","name":"OnlyCommunityAllowed","nameLocation":"4501:20:130","parameters":{"id":77824,"nodeType":"ParameterList","parameters":[],"src":"4521:2:130"}},{"id":77833,"nodeType":"ErrorDefinition","src":"4543:94:130","nodes":[],"errorSelector":"5863b0b6","name":"PoolAmountNotEnough","nameLocation":"4549:19:130","parameters":{"id":77832,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77827,"mutability":"mutable","name":"_proposalId","nameLocation":"4577:11:130","nodeType":"VariableDeclaration","scope":77833,"src":"4569:19:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77826,"name":"uint256","nodeType":"ElementaryTypeName","src":"4569:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":77829,"mutability":"mutable","name":"_requestedAmount","nameLocation":"4598:16:130","nodeType":"VariableDeclaration","scope":77833,"src":"4590:24:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77828,"name":"uint256","nodeType":"ElementaryTypeName","src":"4590:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":77831,"mutability":"mutable","name":"_poolAmount","nameLocation":"4624:11:130","nodeType":"VariableDeclaration","scope":77833,"src":"4616:19:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77830,"name":"uint256","nodeType":"ElementaryTypeName","src":"4616:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4568:68:130"}},{"id":77835,"nodeType":"ErrorDefinition","src":"4655:24:130","nodes":[],"errorSelector":"e860ec7e","name":"OnlyCouncilSafe","nameLocation":"4661:15:130","parameters":{"id":77834,"nodeType":"ParameterList","parameters":[],"src":"4676:2:130"}},{"id":77837,"nodeType":"ErrorDefinition","src":"4684:32:130","nodes":[],"errorSelector":"5b96b588","name":"UserCannotExecuteAction","nameLocation":"4690:23:130","parameters":{"id":77836,"nodeType":"ParameterList","parameters":[],"src":"4713:2:130"}},{"id":77844,"nodeType":"EventDefinition","src":"4888:74:130","nodes":[],"anonymous":false,"eventSelector":"4ebdec05fb64815e553aeaf3976ef8112dd79760a459bee3ac7d1659ab2c4e04","name":"InitializedCV","nameLocation":"4894:13:130","parameters":{"id":77843,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77839,"indexed":false,"mutability":"mutable","name":"poolId","nameLocation":"4916:6:130","nodeType":"VariableDeclaration","scope":77844,"src":"4908:14:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77838,"name":"uint256","nodeType":"ElementaryTypeName","src":"4908:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":77842,"indexed":false,"mutability":"mutable","name":"data","nameLocation":"4956:4:130","nodeType":"VariableDeclaration","scope":77844,"src":"4924:36:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$77751_memory_ptr","typeString":"struct StrategyStruct.InitializeParams"},"typeName":{"id":77841,"nodeType":"UserDefinedTypeName","pathNode":{"id":77840,"name":"StrategyStruct.InitializeParams","nameLocations":["4924:14:130","4939:16:130"],"nodeType":"IdentifierPath","referencedDeclaration":77751,"src":"4924:31:130"},"referencedDeclaration":77751,"src":"4924:31:130","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$77751_storage_ptr","typeString":"struct StrategyStruct.InitializeParams"}},"visibility":"internal"}],"src":"4907:54:130"}},{"id":77852,"nodeType":"EventDefinition","src":"4967:75:130","nodes":[],"anonymous":false,"eventSelector":"a7932e9c92f31e1ed56b29d00bbe669a97484dc24de28dd9c8c0429df7f35847","name":"Distributed","nameLocation":"4973:11:130","parameters":{"id":77851,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77846,"indexed":false,"mutability":"mutable","name":"proposalId","nameLocation":"4993:10:130","nodeType":"VariableDeclaration","scope":77852,"src":"4985:18:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77845,"name":"uint256","nodeType":"ElementaryTypeName","src":"4985:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":77848,"indexed":false,"mutability":"mutable","name":"beneficiary","nameLocation":"5013:11:130","nodeType":"VariableDeclaration","scope":77852,"src":"5005:19:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":77847,"name":"address","nodeType":"ElementaryTypeName","src":"5005:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":77850,"indexed":false,"mutability":"mutable","name":"amount","nameLocation":"5034:6:130","nodeType":"VariableDeclaration","scope":77852,"src":"5026:14:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77849,"name":"uint256","nodeType":"ElementaryTypeName","src":"5026:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4984:57:130"}},{"id":77858,"nodeType":"EventDefinition","src":"5047:58:130","nodes":[],"anonymous":false,"eventSelector":"fcf3b1aa65a464cef2889608f99e8b8c0f680a4be6c2acb9d961c536a5a9294b","name":"ProposalCreated","nameLocation":"5053:15:130","parameters":{"id":77857,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77854,"indexed":false,"mutability":"mutable","name":"poolId","nameLocation":"5077:6:130","nodeType":"VariableDeclaration","scope":77858,"src":"5069:14:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77853,"name":"uint256","nodeType":"ElementaryTypeName","src":"5069:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":77856,"indexed":false,"mutability":"mutable","name":"proposalId","nameLocation":"5093:10:130","nodeType":"VariableDeclaration","scope":77858,"src":"5085:18:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77855,"name":"uint256","nodeType":"ElementaryTypeName","src":"5085:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5068:36:130"}},{"id":77862,"nodeType":"EventDefinition","src":"5110:42:130","nodes":[],"anonymous":false,"eventSelector":"46aeb5d8770fc4474bc2dfa118fd2595f7fb33ce2cbce6f4e5a3dabfe0f76339","name":"PoolAmountIncreased","nameLocation":"5116:19:130","parameters":{"id":77861,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77860,"indexed":false,"mutability":"mutable","name":"amount","nameLocation":"5144:6:130","nodeType":"VariableDeclaration","scope":77862,"src":"5136:14:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77859,"name":"uint256","nodeType":"ElementaryTypeName","src":"5136:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5135:16:130"}},{"id":77870,"nodeType":"EventDefinition","src":"5157:85:130","nodes":[],"anonymous":false,"eventSelector":"0b9150e1e54346ed3fa36b977cd5d65dca5a649c737c3174a26bddaadd47667a","name":"PowerIncreased","nameLocation":"5163:14:130","parameters":{"id":77869,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77864,"indexed":false,"mutability":"mutable","name":"member","nameLocation":"5186:6:130","nodeType":"VariableDeclaration","scope":77870,"src":"5178:14:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":77863,"name":"address","nodeType":"ElementaryTypeName","src":"5178:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":77866,"indexed":false,"mutability":"mutable","name":"tokensStaked","nameLocation":"5202:12:130","nodeType":"VariableDeclaration","scope":77870,"src":"5194:20:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77865,"name":"uint256","nodeType":"ElementaryTypeName","src":"5194:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":77868,"indexed":false,"mutability":"mutable","name":"pointsToIncrease","nameLocation":"5224:16:130","nodeType":"VariableDeclaration","scope":77870,"src":"5216:24:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77867,"name":"uint256","nodeType":"ElementaryTypeName","src":"5216:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5177:64:130"}},{"id":77878,"nodeType":"EventDefinition","src":"5247:87:130","nodes":[],"anonymous":false,"eventSelector":"70b752f3fadb6ac131c0ece847fcbb6994ec56ed6411595710fd9b29c6ac6cc1","name":"PowerDecreased","nameLocation":"5253:14:130","parameters":{"id":77877,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77872,"indexed":false,"mutability":"mutable","name":"member","nameLocation":"5276:6:130","nodeType":"VariableDeclaration","scope":77878,"src":"5268:14:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":77871,"name":"address","nodeType":"ElementaryTypeName","src":"5268:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":77874,"indexed":false,"mutability":"mutable","name":"tokensUnStaked","nameLocation":"5292:14:130","nodeType":"VariableDeclaration","scope":77878,"src":"5284:22:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77873,"name":"uint256","nodeType":"ElementaryTypeName","src":"5284:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":77876,"indexed":false,"mutability":"mutable","name":"pointsToDecrease","nameLocation":"5316:16:130","nodeType":"VariableDeclaration","scope":77878,"src":"5308:24:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77875,"name":"uint256","nodeType":"ElementaryTypeName","src":"5308:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5267:66:130"}},{"id":77890,"nodeType":"EventDefinition","src":"5339:134:130","nodes":[],"anonymous":false,"eventSelector":"0227f642ddcf2042ceaeafadb9d540f432072c00cd4862881667168dcc14710f","name":"SupportAdded","nameLocation":"5345:12:130","parameters":{"id":77889,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77880,"indexed":false,"mutability":"mutable","name":"from","nameLocation":"5375:4:130","nodeType":"VariableDeclaration","scope":77890,"src":"5367:12:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":77879,"name":"address","nodeType":"ElementaryTypeName","src":"5367:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":77882,"indexed":false,"mutability":"mutable","name":"proposalId","nameLocation":"5389:10:130","nodeType":"VariableDeclaration","scope":77890,"src":"5381:18:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77881,"name":"uint256","nodeType":"ElementaryTypeName","src":"5381:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":77884,"indexed":false,"mutability":"mutable","name":"amount","nameLocation":"5409:6:130","nodeType":"VariableDeclaration","scope":77890,"src":"5401:14:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77883,"name":"uint256","nodeType":"ElementaryTypeName","src":"5401:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":77886,"indexed":false,"mutability":"mutable","name":"totalStakedAmount","nameLocation":"5425:17:130","nodeType":"VariableDeclaration","scope":77890,"src":"5417:25:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77885,"name":"uint256","nodeType":"ElementaryTypeName","src":"5417:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":77888,"indexed":false,"mutability":"mutable","name":"convictionLast","nameLocation":"5452:14:130","nodeType":"VariableDeclaration","scope":77890,"src":"5444:22:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77887,"name":"uint256","nodeType":"ElementaryTypeName","src":"5444:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5357:115:130"}},{"id":77894,"nodeType":"EventDefinition","src":"5478:40:130","nodes":[],"anonymous":false,"eventSelector":"1468da654b37bb3631011c1917d02e0db437d519918858d40b38b5e980ca033b","name":"PointsDeactivated","nameLocation":"5484:17:130","parameters":{"id":77893,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77892,"indexed":false,"mutability":"mutable","name":"member","nameLocation":"5510:6:130","nodeType":"VariableDeclaration","scope":77894,"src":"5502:14:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":77891,"name":"address","nodeType":"ElementaryTypeName","src":"5502:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5501:16:130"}},{"id":77898,"nodeType":"EventDefinition","src":"5523:34:130","nodes":[],"anonymous":false,"eventSelector":"592dcd55d60d892e7fcb3ba105013312e99691cd59f91e15f83cb67cb5a505f2","name":"DecayUpdated","nameLocation":"5529:12:130","parameters":{"id":77897,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77896,"indexed":false,"mutability":"mutable","name":"decay","nameLocation":"5550:5:130","nodeType":"VariableDeclaration","scope":77898,"src":"5542:13:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77895,"name":"uint256","nodeType":"ElementaryTypeName","src":"5542:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5541:15:130"}},{"id":77902,"nodeType":"EventDefinition","src":"5562:40:130","nodes":[],"anonymous":false,"eventSelector":"08e39b387d1f739ce0d2553bb31822392e3f67c62c6c0a215120ab4a6841a8ab","name":"MaxRatioUpdated","nameLocation":"5568:15:130","parameters":{"id":77901,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77900,"indexed":false,"mutability":"mutable","name":"maxRatio","nameLocation":"5592:8:130","nodeType":"VariableDeclaration","scope":77902,"src":"5584:16:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77899,"name":"uint256","nodeType":"ElementaryTypeName","src":"5584:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5583:18:130"}},{"id":77906,"nodeType":"EventDefinition","src":"5607:36:130","nodes":[],"anonymous":false,"eventSelector":"30ee8206062f283e56a0af2b02138016bf7442ded26ad68a92a18a9dd246fb49","name":"WeightUpdated","nameLocation":"5613:13:130","parameters":{"id":77905,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77904,"indexed":false,"mutability":"mutable","name":"weight","nameLocation":"5635:6:130","nodeType":"VariableDeclaration","scope":77906,"src":"5627:14:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77903,"name":"uint256","nodeType":"ElementaryTypeName","src":"5627:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5626:16:130"}},{"id":77910,"nodeType":"EventDefinition","src":"5648:49:130","nodes":[],"anonymous":false,"eventSelector":"d6ceddf6d2a22f21c7c81675c518004eff43bc5c8a6fc32a0b748e69d58671cd","name":"RegistryUpdated","nameLocation":"5654:15:130","parameters":{"id":77909,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77908,"indexed":false,"mutability":"mutable","name":"registryCommunity","nameLocation":"5678:17:130","nodeType":"VariableDeclaration","scope":77910,"src":"5670:25:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":77907,"name":"address","nodeType":"ElementaryTypeName","src":"5670:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5669:27:130"}},{"id":77916,"nodeType":"EventDefinition","src":"5702:76:130","nodes":[],"anonymous":false,"eventSelector":"056aedca4e334b6c4bea48715fb0de644811b740894de57a0380d3eb90f2805b","name":"MinThresholdPointsUpdated","nameLocation":"5708:25:130","parameters":{"id":77915,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77912,"indexed":false,"mutability":"mutable","name":"before","nameLocation":"5742:6:130","nodeType":"VariableDeclaration","scope":77916,"src":"5734:14:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77911,"name":"uint256","nodeType":"ElementaryTypeName","src":"5734:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":77914,"indexed":false,"mutability":"mutable","name":"minThresholdPoints","nameLocation":"5758:18:130","nodeType":"VariableDeclaration","scope":77916,"src":"5750:26:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77913,"name":"uint256","nodeType":"ElementaryTypeName","src":"5750:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5733:44:130"}},{"id":77919,"nodeType":"VariableDeclaration","src":"6152:36:130","nodes":[],"constant":true,"functionSelector":"0f529ba2","mutability":"constant","name":"D","nameLocation":"6176:1:130","scope":80578,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77917,"name":"uint256","nodeType":"ElementaryTypeName","src":"6152:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3130303030303030","id":77918,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6180:8:130","typeDescriptions":{"typeIdentifier":"t_rational_10000000_by_1","typeString":"int_const 10000000"},"value":"10000000"},"visibility":"public"},{"id":77922,"nodeType":"VariableDeclaration","src":"6202:70:130","nodes":[],"constant":true,"mutability":"constant","name":"TWO_128","nameLocation":"6227:7:130","scope":80578,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77920,"name":"uint256","nodeType":"ElementaryTypeName","src":"6202:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3078313030303030303030303030303030303030303030303030303030303030303030","id":77921,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6237:35:130","typeDescriptions":{"typeIdentifier":"t_rational_340282366920938463463374607431768211456_by_1","typeString":"int_const 3402...(31 digits omitted)...1456"},"value":"0x100000000000000000000000000000000"},"visibility":"private"},{"id":77925,"nodeType":"VariableDeclaration","src":"6288:69:130","nodes":[],"constant":true,"mutability":"constant","name":"TWO_127","nameLocation":"6313:7:130","scope":80578,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77923,"name":"uint256","nodeType":"ElementaryTypeName","src":"6288:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"30783830303030303030303030303030303030303030303030303030303030303030","id":77924,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6323:34:130","typeDescriptions":{"typeIdentifier":"t_rational_170141183460469231731687303715884105728_by_1","typeString":"int_const 1701...(31 digits omitted)...5728"},"value":"0x80000000000000000000000000000000"},"visibility":"private"},{"id":77928,"nodeType":"VariableDeclaration","src":"6373:53:130","nodes":[],"constant":true,"mutability":"constant","name":"TWO_64","nameLocation":"6398:6:130","scope":80578,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77926,"name":"uint256","nodeType":"ElementaryTypeName","src":"6373:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"30783130303030303030303030303030303030","id":77927,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6407:19:130","typeDescriptions":{"typeIdentifier":"t_rational_18446744073709551616_by_1","typeString":"int_const 18446744073709551616"},"value":"0x10000000000000000"},"visibility":"private"},{"id":77931,"nodeType":"VariableDeclaration","src":"6441:49:130","nodes":[],"constant":true,"functionSelector":"406244d8","mutability":"constant","name":"MAX_STAKED_PROPOSALS","nameLocation":"6465:20:130","scope":80578,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77929,"name":"uint256","nodeType":"ElementaryTypeName","src":"6441:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3130","id":77930,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6488:2:130","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"visibility":"public"},{"id":77933,"nodeType":"VariableDeclaration","src":"6618:20:130","nodes":[],"constant":false,"functionSelector":"54fac919","mutability":"mutable","name":"decay","nameLocation":"6633:5:130","scope":80578,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77932,"name":"uint256","nodeType":"ElementaryTypeName","src":"6618:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"id":77935,"nodeType":"VariableDeclaration","src":"6644:23:130","nodes":[],"constant":false,"functionSelector":"76365af7","mutability":"mutable","name":"maxRatio","nameLocation":"6659:8:130","scope":80578,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77934,"name":"uint256","nodeType":"ElementaryTypeName","src":"6644:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"id":77937,"nodeType":"VariableDeclaration","src":"6673:21:130","nodes":[],"constant":false,"functionSelector":"a1aab33f","mutability":"mutable","name":"weight","nameLocation":"6688:6:130","scope":80578,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77936,"name":"uint256","nodeType":"ElementaryTypeName","src":"6673:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"id":77940,"nodeType":"VariableDeclaration","src":"6700:34:130","nodes":[],"constant":false,"functionSelector":"0c0512e9","mutability":"mutable","name":"proposalCounter","nameLocation":"6715:15:130","scope":80578,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77938,"name":"uint256","nodeType":"ElementaryTypeName","src":"6700:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"30","id":77939,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6733:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"visibility":"public"},{"id":77942,"nodeType":"VariableDeclaration","src":"6740:26:130","nodes":[],"constant":false,"functionSelector":"817b1cd2","mutability":"mutable","name":"totalStaked","nameLocation":"6755:11:130","scope":80578,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77941,"name":"uint256","nodeType":"ElementaryTypeName","src":"6740:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"id":77944,"nodeType":"VariableDeclaration","src":"6772:35:130","nodes":[],"constant":false,"functionSelector":"aba9ffee","mutability":"mutable","name":"totalPointsActivated","nameLocation":"6787:20:130","scope":80578,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77943,"name":"uint256","nodeType":"ElementaryTypeName","src":"6772:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"id":77947,"nodeType":"VariableDeclaration","src":"6813:38:130","nodes":[],"constant":false,"functionSelector":"7c6570ba","mutability":"mutable","name":"_minThresholdPoints","nameLocation":"6828:19:130","scope":80578,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77945,"name":"uint256","nodeType":"ElementaryTypeName","src":"6813:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"30","id":77946,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6850:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"visibility":"public"},{"id":77949,"nodeType":"VariableDeclaration","src":"6892:47:130","nodes":[],"constant":false,"mutability":"mutable","name":"surpressStateMutabilityWarning","nameLocation":"6909:30:130","scope":80578,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77948,"name":"uint256","nodeType":"ElementaryTypeName","src":"6892:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"id":77952,"nodeType":"VariableDeclaration","src":"7024:47:130","nodes":[],"constant":false,"functionSelector":"351d9f96","mutability":"mutable","name":"proposalType","nameLocation":"7059:12:130","scope":80578,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$77671","typeString":"enum StrategyStruct.ProposalType"},"typeName":{"id":77951,"nodeType":"UserDefinedTypeName","pathNode":{"id":77950,"name":"StrategyStruct.ProposalType","nameLocations":["7024:14:130","7039:12:130"],"nodeType":"IdentifierPath","referencedDeclaration":77671,"src":"7024:27:130"},"referencedDeclaration":77671,"src":"7024:27:130","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$77671","typeString":"enum StrategyStruct.ProposalType"}},"visibility":"public"},{"id":77955,"nodeType":"VariableDeclaration","src":"7130:45:130","nodes":[],"constant":false,"functionSelector":"2dbd6fdd","mutability":"mutable","name":"pointSystem","nameLocation":"7164:11:130","scope":80578,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$77676","typeString":"enum StrategyStruct.PointSystem"},"typeName":{"id":77954,"nodeType":"UserDefinedTypeName","pathNode":{"id":77953,"name":"StrategyStruct.PointSystem","nameLocations":["7130:14:130","7145:11:130"],"nodeType":"IdentifierPath","referencedDeclaration":77676,"src":"7130:26:130"},"referencedDeclaration":77676,"src":"7130:26:130","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$77676","typeString":"enum StrategyStruct.PointSystem"}},"visibility":"public"},{"id":77958,"nodeType":"VariableDeclaration","src":"7181:51:130","nodes":[],"constant":false,"functionSelector":"a47ff7e5","mutability":"mutable","name":"pointConfig","nameLocation":"7221:11:130","scope":80578,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$77729_storage","typeString":"struct StrategyStruct.PointSystemConfig"},"typeName":{"id":77957,"nodeType":"UserDefinedTypeName","pathNode":{"id":77956,"name":"StrategyStruct.PointSystemConfig","nameLocations":["7181:14:130","7196:17:130"],"nodeType":"IdentifierPath","referencedDeclaration":77729,"src":"7181:32:130"},"referencedDeclaration":77729,"src":"7181:32:130","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$77729_storage_ptr","typeString":"struct StrategyStruct.PointSystemConfig"}},"visibility":"public"},{"id":77961,"nodeType":"VariableDeclaration","src":"7265:46:130","nodes":[],"constant":false,"functionSelector":"6003e414","mutability":"mutable","name":"registryCommunity","nameLocation":"7294:17:130","scope":80578,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"},"typeName":{"id":77960,"nodeType":"UserDefinedTypeName","pathNode":{"id":77959,"name":"RegistryCommunityV0_0","nameLocations":["7265:21:130"],"nodeType":"IdentifierPath","referencedDeclaration":85047,"src":"7265:21:130"},"referencedDeclaration":85047,"src":"7265:21:130","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"}},"visibility":"public"},{"id":77964,"nodeType":"VariableDeclaration","src":"7317:31:130","nodes":[],"constant":false,"functionSelector":"b6c61f31","mutability":"mutable","name":"sybilScorer","nameLocation":"7337:11:130","scope":80578,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$80667","typeString":"contract ISybilScorer"},"typeName":{"id":77963,"nodeType":"UserDefinedTypeName","pathNode":{"id":77962,"name":"ISybilScorer","nameLocations":["7317:12:130"],"nodeType":"IdentifierPath","referencedDeclaration":80667,"src":"7317:12:130"},"referencedDeclaration":80667,"src":"7317:12:130","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$80667","typeString":"contract ISybilScorer"}},"visibility":"public"},{"id":77969,"nodeType":"VariableDeclaration","src":"7415:60:130","nodes":[],"constant":false,"functionSelector":"013cf08b","mutability":"mutable","name":"proposals","nameLocation":"7466:9:130","scope":80578,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$77721_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal)"},"typeName":{"id":77968,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":77965,"name":"uint256","nodeType":"ElementaryTypeName","src":"7423:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"7415:43:130","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$77721_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":77967,"nodeType":"UserDefinedTypeName","pathNode":{"id":77966,"name":"StrategyStruct.Proposal","nameLocations":["7434:14:130","7449:8:130"],"nodeType":"IdentifierPath","referencedDeclaration":77721,"src":"7434:23:130"},"referencedDeclaration":77721,"src":"7434:23:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal"}}},"visibility":"public"},{"id":77973,"nodeType":"VariableDeclaration","src":"7531:53:130","nodes":[],"constant":false,"functionSelector":"5db64b99","mutability":"mutable","name":"totalVoterStakePct","nameLocation":"7566:18:130","scope":80578,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"typeName":{"id":77972,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":77970,"name":"address","nodeType":"ElementaryTypeName","src":"7539:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"7531:27:130","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":77971,"name":"uint256","nodeType":"ElementaryTypeName","src":"7550:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"public"},{"id":77978,"nodeType":"VariableDeclaration","src":"7622:57:130","nodes":[],"constant":false,"functionSelector":"868c57b8","mutability":"mutable","name":"voterStakedProposals","nameLocation":"7659:20:130","scope":80578,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$","typeString":"mapping(address => uint256[])"},"typeName":{"id":77977,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":77974,"name":"address","nodeType":"ElementaryTypeName","src":"7630:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"7622:29:130","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$","typeString":"mapping(address => uint256[])"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"baseType":{"id":77975,"name":"uint256","nodeType":"ElementaryTypeName","src":"7641:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":77976,"nodeType":"ArrayTypeName","src":"7641:9:130","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}}},"visibility":"public"},{"id":77997,"nodeType":"ModifierDefinition","src":"7718:184:130","nodes":[],"body":{"id":77996,"nodeType":"Block","src":"7745:157:130","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":77988,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":77980,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"7759:3:130","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":77981,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7763:6:130","memberName":"sender","nodeType":"MemberAccess","src":"7759:10:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":77984,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77961,"src":"7781:17:130","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"}},"id":77985,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7799:11:130","memberName":"councilSafe","nodeType":"MemberAccess","referencedDeclaration":83193,"src":"7781:29:130","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_contract$_ISafe_$85665_$","typeString":"function () view external returns (contract ISafe)"}},"id":77986,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7781:31:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ISafe_$85665","typeString":"contract ISafe"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ISafe_$85665","typeString":"contract ISafe"}],"id":77983,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7773:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":77982,"name":"address","nodeType":"ElementaryTypeName","src":"7773:7:130","typeDescriptions":{}}},"id":77987,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7773:40:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"7759:54:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":77994,"nodeType":"Block","src":"7847:49:130","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":77991,"name":"OnlyCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77835,"src":"7868:15:130","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":77992,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7868:17:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":77993,"nodeType":"RevertStatement","src":"7861:24:130"}]},"id":77995,"nodeType":"IfStatement","src":"7755:141:130","trueBody":{"id":77990,"nodeType":"Block","src":"7815:26:130","statements":[{"id":77989,"nodeType":"PlaceholderStatement","src":"7829:1:130"}]}}]},"name":"onlyCouncilSafe","nameLocation":"7727:15:130","parameters":{"id":77979,"nodeType":"ParameterList","parameters":[],"src":"7742:2:130"},"virtual":false,"visibility":"internal"},{"id":78015,"nodeType":"FunctionDefinition","src":"8154:132:130","nodes":[],"body":{"id":78014,"nodeType":"Block","src":"8212:74:130","nodes":[],"statements":[{"expression":{"arguments":[{"id":78007,"name":"_allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77999,"src":"8233:5:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"43565374726174656779","id":78008,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8240:12:130","typeDescriptions":{"typeIdentifier":"t_stringliteral_5f43243e98d2b877d41079bf899c9372a6b91af5be3180830de9d43f93117b2e","typeString":"literal_string \"CVStrategy\""},"value":"CVStrategy"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_stringliteral_5f43243e98d2b877d41079bf899c9372a6b91af5be3180830de9d43f93117b2e","typeString":"literal_string \"CVStrategy\""}],"expression":{"id":78004,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"8222:5:130","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_CVStrategyV0_0_$80578_$","typeString":"type(contract super CVStrategyV0_0)"}},"id":78006,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8228:4:130","memberName":"init","nodeType":"MemberAccess","referencedDeclaration":74116,"src":"8222:10:130","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_string_memory_ptr_$returns$__$","typeString":"function (address,string memory)"}},"id":78009,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8222:31:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78010,"nodeType":"ExpressionStatement","src":"8222:31:130"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":78011,"name":"__Ownable_init","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52837,"src":"8263:14:130","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":78012,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8263:16:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78013,"nodeType":"ExpressionStatement","src":"8263:16:130"}]},"functionSelector":"19ab453c","implemented":true,"kind":"function","modifiers":[{"id":78002,"kind":"modifierInvocation","modifierName":{"id":78001,"name":"initializer","nameLocations":["8200:11:130"],"nodeType":"IdentifierPath","referencedDeclaration":53093,"src":"8200:11:130"},"nodeType":"ModifierInvocation","src":"8200:11:130"}],"name":"init","nameLocation":"8163:4:130","parameters":{"id":78000,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77999,"mutability":"mutable","name":"_allo","nameLocation":"8176:5:130","nodeType":"VariableDeclaration","scope":78015,"src":"8168:13:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":77998,"name":"address","nodeType":"ElementaryTypeName","src":"8168:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"8167:15:130"},"returnParameters":{"id":78003,"nodeType":"ParameterList","parameters":[],"src":"8212:0:130"},"scope":80578,"stateMutability":"nonpayable","virtual":true,"visibility":"external"},{"id":78108,"nodeType":"FunctionDefinition","src":"8292:761:130","nodes":[],"body":{"id":78107,"nodeType":"Block","src":"8375:678:130","nodes":[],"statements":[{"expression":{"arguments":[{"id":78025,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78017,"src":"8405:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":78024,"name":"__BaseStrategy_init","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74252,"src":"8385:19:130","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":78026,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8385:28:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78027,"nodeType":"ExpressionStatement","src":"8385:28:130"},{"assignments":[78032],"declarations":[{"constant":false,"id":78032,"mutability":"mutable","name":"ip","nameLocation":"8462:2:130","nodeType":"VariableDeclaration","scope":78107,"src":"8423:41:130","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$77751_memory_ptr","typeString":"struct StrategyStruct.InitializeParams"},"typeName":{"id":78031,"nodeType":"UserDefinedTypeName","pathNode":{"id":78030,"name":"StrategyStruct.InitializeParams","nameLocations":["8423:14:130","8438:16:130"],"nodeType":"IdentifierPath","referencedDeclaration":77751,"src":"8423:31:130"},"referencedDeclaration":77751,"src":"8423:31:130","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$77751_storage_ptr","typeString":"struct StrategyStruct.InitializeParams"}},"visibility":"internal"}],"id":78040,"initialValue":{"arguments":[{"id":78035,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78019,"src":"8478:5:130","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"expression":{"id":78036,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77752,"src":"8486:14:130","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$77752_$","typeString":"type(library StrategyStruct)"}},"id":78037,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8501:16:130","memberName":"InitializeParams","nodeType":"MemberAccess","referencedDeclaration":77751,"src":"8486:31:130","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_InitializeParams_$77751_storage_ptr_$","typeString":"type(struct StrategyStruct.InitializeParams storage pointer)"}}],"id":78038,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"8485:33:130","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_InitializeParams_$77751_storage_ptr_$","typeString":"type(struct StrategyStruct.InitializeParams storage pointer)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_struct$_InitializeParams_$77751_storage_ptr_$","typeString":"type(struct StrategyStruct.InitializeParams storage pointer)"}],"expression":{"id":78033,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"8467:3:130","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":78034,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8471:6:130","memberName":"decode","nodeType":"MemberAccess","src":"8467:10:130","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":78039,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8467:52:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$77751_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"nodeType":"VariableDeclarationStatement","src":"8423:96:130"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":78047,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":78041,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78032,"src":"8534:2:130","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$77751_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":78042,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8537:17:130","memberName":"registryCommunity","nodeType":"MemberAccess","referencedDeclaration":77731,"src":"8534:20:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":78045,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8566:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":78044,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8558:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":78043,"name":"address","nodeType":"ElementaryTypeName","src":"8558:7:130","typeDescriptions":{}}},"id":78046,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8558:10:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"8534:34:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":78052,"nodeType":"IfStatement","src":"8530:94:130","trueBody":{"id":78051,"nodeType":"Block","src":"8570:54:130","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":78048,"name":"RegistryCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77785,"src":"8591:20:130","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":78049,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8591:22:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78050,"nodeType":"RevertStatement","src":"8584:29:130"}]}},{"expression":{"id":78058,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":78053,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77961,"src":"8634:17:130","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":78055,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78032,"src":"8676:2:130","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$77751_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":78056,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8679:17:130","memberName":"registryCommunity","nodeType":"MemberAccess","referencedDeclaration":77731,"src":"8676:20:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":78054,"name":"RegistryCommunityV0_0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85047,"src":"8654:21:130","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_RegistryCommunityV0_0_$85047_$","typeString":"type(contract RegistryCommunityV0_0)"}},"id":78057,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8654:43:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"}},"src":"8634:63:130","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"}},"id":78059,"nodeType":"ExpressionStatement","src":"8634:63:130"},{"expression":{"id":78063,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":78060,"name":"decay","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77933,"src":"8707:5:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":78061,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78032,"src":"8715:2:130","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$77751_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":78062,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8718:5:130","memberName":"decay","nodeType":"MemberAccess","referencedDeclaration":77733,"src":"8715:8:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8707:16:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":78064,"nodeType":"ExpressionStatement","src":"8707:16:130"},{"expression":{"id":78068,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":78065,"name":"maxRatio","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77935,"src":"8733:8:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":78066,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78032,"src":"8744:2:130","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$77751_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":78067,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8747:8:130","memberName":"maxRatio","nodeType":"MemberAccess","referencedDeclaration":77735,"src":"8744:11:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8733:22:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":78069,"nodeType":"ExpressionStatement","src":"8733:22:130"},{"expression":{"id":78073,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":78070,"name":"weight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77937,"src":"8765:6:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":78071,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78032,"src":"8774:2:130","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$77751_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":78072,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8777:6:130","memberName":"weight","nodeType":"MemberAccess","referencedDeclaration":77737,"src":"8774:9:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8765:18:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":78074,"nodeType":"ExpressionStatement","src":"8765:18:130"},{"expression":{"id":78078,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":78075,"name":"proposalType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77952,"src":"8793:12:130","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$77671","typeString":"enum StrategyStruct.ProposalType"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":78076,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78032,"src":"8808:2:130","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$77751_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":78077,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8811:12:130","memberName":"proposalType","nodeType":"MemberAccess","referencedDeclaration":77742,"src":"8808:15:130","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$77671","typeString":"enum StrategyStruct.ProposalType"}},"src":"8793:30:130","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$77671","typeString":"enum StrategyStruct.ProposalType"}},"id":78079,"nodeType":"ExpressionStatement","src":"8793:30:130"},{"expression":{"id":78083,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":78080,"name":"pointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77955,"src":"8833:11:130","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$77676","typeString":"enum StrategyStruct.PointSystem"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":78081,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78032,"src":"8847:2:130","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$77751_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":78082,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8850:11:130","memberName":"pointSystem","nodeType":"MemberAccess","referencedDeclaration":77745,"src":"8847:14:130","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$77676","typeString":"enum StrategyStruct.PointSystem"}},"src":"8833:28:130","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$77676","typeString":"enum StrategyStruct.PointSystem"}},"id":78084,"nodeType":"ExpressionStatement","src":"8833:28:130"},{"expression":{"id":78088,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":78085,"name":"pointConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77958,"src":"8871:11:130","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$77729_storage","typeString":"struct StrategyStruct.PointSystemConfig storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":78086,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78032,"src":"8885:2:130","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$77751_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":78087,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8888:11:130","memberName":"pointConfig","nodeType":"MemberAccess","referencedDeclaration":77748,"src":"8885:14:130","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$77729_memory_ptr","typeString":"struct StrategyStruct.PointSystemConfig memory"}},"src":"8871:28:130","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$77729_storage","typeString":"struct StrategyStruct.PointSystemConfig storage ref"}},"id":78089,"nodeType":"ExpressionStatement","src":"8871:28:130"},{"expression":{"id":78093,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":78090,"name":"_minThresholdPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77947,"src":"8909:19:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":78091,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78032,"src":"8931:2:130","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$77751_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":78092,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8934:18:130","memberName":"minThresholdPoints","nodeType":"MemberAccess","referencedDeclaration":77739,"src":"8931:21:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8909:43:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":78094,"nodeType":"ExpressionStatement","src":"8909:43:130"},{"expression":{"id":78100,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":78095,"name":"sybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77964,"src":"8962:11:130","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$80667","typeString":"contract ISybilScorer"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":78097,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78032,"src":"8989:2:130","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$77751_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":78098,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8992:11:130","memberName":"sybilScorer","nodeType":"MemberAccess","referencedDeclaration":77750,"src":"8989:14:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":78096,"name":"ISybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80667,"src":"8976:12:130","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ISybilScorer_$80667_$","typeString":"type(contract ISybilScorer)"}},"id":78099,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8976:28:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$80667","typeString":"contract ISybilScorer"}},"src":"8962:42:130","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$80667","typeString":"contract ISybilScorer"}},"id":78101,"nodeType":"ExpressionStatement","src":"8962:42:130"},{"eventCall":{"arguments":[{"id":78103,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78017,"src":"9034:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":78104,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78032,"src":"9043:2:130","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$77751_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_struct$_InitializeParams_$77751_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}],"id":78102,"name":"InitializedCV","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77844,"src":"9020:13:130","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_struct$_InitializeParams_$77751_memory_ptr_$returns$__$","typeString":"function (uint256,struct StrategyStruct.InitializeParams memory)"}},"id":78105,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9020:26:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78106,"nodeType":"EmitStatement","src":"9015:31:130"}]},"baseFunctions":[2939],"functionSelector":"edd146cc","implemented":true,"kind":"function","modifiers":[{"id":78022,"kind":"modifierInvocation","modifierName":{"id":78021,"name":"onlyAllo","nameLocations":["8366:8:130"],"nodeType":"IdentifierPath","referencedDeclaration":74124,"src":"8366:8:130"},"nodeType":"ModifierInvocation","src":"8366:8:130"}],"name":"initialize","nameLocation":"8301:10:130","parameters":{"id":78020,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78017,"mutability":"mutable","name":"_poolId","nameLocation":"8320:7:130","nodeType":"VariableDeclaration","scope":78108,"src":"8312:15:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78016,"name":"uint256","nodeType":"ElementaryTypeName","src":"8312:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":78019,"mutability":"mutable","name":"_data","nameLocation":"8342:5:130","nodeType":"VariableDeclaration","scope":78108,"src":"8329:18:130","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":78018,"name":"bytes","nodeType":"ElementaryTypeName","src":"8329:5:130","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"8311:37:130"},"returnParameters":{"id":78023,"nodeType":"ParameterList","parameters":[],"src":"8375:0:130"},"scope":80578,"stateMutability":"nonpayable","virtual":true,"visibility":"external"},{"id":78112,"nodeType":"FunctionDefinition","src":"9224:83:130","nodes":[],"body":{"id":78111,"nodeType":"Block","src":"9252:55:130","nodes":[],"statements":[]},"implemented":true,"kind":"fallback","modifiers":[],"name":"","nameLocation":"-1:-1:-1","parameters":{"id":78109,"nodeType":"ParameterList","parameters":[],"src":"9232:2:130"},"returnParameters":{"id":78110,"nodeType":"ParameterList","parameters":[],"src":"9252:0:130"},"scope":80578,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":78116,"nodeType":"FunctionDefinition","src":"9313:135:130","nodes":[],"body":{"id":78115,"nodeType":"Block","src":"9340:108:130","nodes":[],"statements":[]},"implemented":true,"kind":"receive","modifiers":[],"name":"","nameLocation":"-1:-1:-1","parameters":{"id":78113,"nodeType":"ParameterList","parameters":[],"src":"9320:2:130"},"returnParameters":{"id":78114,"nodeType":"ParameterList","parameters":[],"src":"9340:0:130"},"scope":80578,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":78137,"nodeType":"FunctionDefinition","src":"9454:202:130","nodes":[],"body":{"id":78136,"nodeType":"Block","src":"9545:111:130","nodes":[],"statements":[{"expression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":78134,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"id":78129,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":78124,"name":"interfaceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78118,"src":"9562:11:130","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"arguments":[{"id":78126,"name":"IPointStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77667,"src":"9582:14:130","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IPointStrategy_$77667_$","typeString":"type(contract IPointStrategy)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_contract$_IPointStrategy_$77667_$","typeString":"type(contract IPointStrategy)"}],"id":78125,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"9577:4:130","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":78127,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9577:20:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_contract$_IPointStrategy_$77667","typeString":"type(contract IPointStrategy)"}},"id":78128,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"9598:11:130","memberName":"interfaceId","nodeType":"MemberAccess","src":"9577:32:130","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"src":"9562:47:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"arguments":[{"id":78132,"name":"interfaceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78118,"src":"9637:11:130","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":78130,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"9613:5:130","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_CVStrategyV0_0_$80578_$","typeString":"type(contract super CVStrategyV0_0)"}},"id":78131,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9619:17:130","memberName":"supportsInterface","nodeType":"MemberAccess","referencedDeclaration":58265,"src":"9613:23:130","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes4_$returns$_t_bool_$","typeString":"function (bytes4) view returns (bool)"}},"id":78133,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9613:36:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"9562:87:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":78123,"id":78135,"nodeType":"Return","src":"9555:94:130"}]},"baseFunctions":[58265],"functionSelector":"01ffc9a7","implemented":true,"kind":"function","modifiers":[],"name":"supportsInterface","nameLocation":"9463:17:130","overrides":{"id":78120,"nodeType":"OverrideSpecifier","overrides":[],"src":"9521:8:130"},"parameters":{"id":78119,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78118,"mutability":"mutable","name":"interfaceId","nameLocation":"9488:11:130","nodeType":"VariableDeclaration","scope":78137,"src":"9481:18:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":78117,"name":"bytes4","nodeType":"ElementaryTypeName","src":"9481:6:130","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"9480:20:130"},"returnParameters":{"id":78123,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78122,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":78137,"src":"9539:4:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":78121,"name":"bool","nodeType":"ElementaryTypeName","src":"9539:4:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"9538:6:130"},"scope":80578,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":78178,"nodeType":"FunctionDefinition","src":"9827:377:130","nodes":[],"body":{"id":78177,"nodeType":"Block","src":"9886:318:130","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":78147,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":78142,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78139,"src":"9900:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":78145,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9919:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":78144,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9911:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":78143,"name":"address","nodeType":"ElementaryTypeName","src":"9911:7:130","typeDescriptions":{}}},"id":78146,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9911:10:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"9900:21:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":78152,"nodeType":"IfStatement","src":"9896:77:130","trueBody":{"id":78151,"nodeType":"Block","src":"9923:50:130","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":78148,"name":"UserCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77765,"src":"9944:16:130","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":78149,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9944:18:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78150,"nodeType":"RevertStatement","src":"9937:25:130"}]}},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":78161,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":78155,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77961,"src":"9994:17:130","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"}],"id":78154,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9986:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":78153,"name":"address","nodeType":"ElementaryTypeName","src":"9986:7:130","typeDescriptions":{}}},"id":78156,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9986:26:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":78159,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10024:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":78158,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10016:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":78157,"name":"address","nodeType":"ElementaryTypeName","src":"10016:7:130","typeDescriptions":{}}},"id":78160,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10016:10:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"9986:40:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":78166,"nodeType":"IfStatement","src":"9982:100:130","trueBody":{"id":78165,"nodeType":"Block","src":"10028:54:130","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":78162,"name":"RegistryCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77785,"src":"10049:20:130","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":78163,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10049:22:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78164,"nodeType":"RevertStatement","src":"10042:29:130"}]}},{"condition":{"id":78171,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"10095:36:130","subExpression":{"arguments":[{"id":78169,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78139,"src":"10123:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":78167,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77961,"src":"10096:17:130","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"}},"id":78168,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10114:8:130","memberName":"isMember","nodeType":"MemberAccess","referencedDeclaration":84615,"src":"10096:26:130","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view external returns (bool)"}},"id":78170,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10096:35:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":78176,"nodeType":"IfStatement","src":"10091:93:130","trueBody":{"id":78175,"nodeType":"Block","src":"10133:51:130","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":78172,"name":"UserNotInRegistry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77767,"src":"10154:17:130","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":78173,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10154:19:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78174,"nodeType":"RevertStatement","src":"10147:26:130"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"checkSenderIsMember","nameLocation":"9836:19:130","parameters":{"id":78140,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78139,"mutability":"mutable","name":"_sender","nameLocation":"9864:7:130","nodeType":"VariableDeclaration","scope":78178,"src":"9856:15:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":78138,"name":"address","nodeType":"ElementaryTypeName","src":"9856:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"9855:17:130"},"returnParameters":{"id":78141,"nodeType":"ParameterList","parameters":[],"src":"9886:0:130"},"scope":80578,"stateMutability":"view","virtual":false,"visibility":"private"},{"id":78194,"nodeType":"FunctionDefinition","src":"10210:162:130","nodes":[],"body":{"id":78193,"nodeType":"Block","src":"10256:116:130","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":78187,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":78181,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"10270:3:130","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":78182,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10274:6:130","memberName":"sender","nodeType":"MemberAccess","src":"10270:10:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"id":78185,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77961,"src":"10292:17:130","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"}],"id":78184,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10284:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":78183,"name":"address","nodeType":"ElementaryTypeName","src":"10284:7:130","typeDescriptions":{}}},"id":78186,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10284:26:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"10270:40:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":78192,"nodeType":"IfStatement","src":"10266:100:130","trueBody":{"id":78191,"nodeType":"Block","src":"10312:54:130","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":78188,"name":"OnlyCommunityAllowed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77825,"src":"10333:20:130","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":78189,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10333:22:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78190,"nodeType":"RevertStatement","src":"10326:29:130"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"onlyRegistryCommunity","nameLocation":"10219:21:130","parameters":{"id":78179,"nodeType":"ParameterList","parameters":[],"src":"10240:2:130"},"returnParameters":{"id":78180,"nodeType":"ParameterList","parameters":[],"src":"10256:0:130"},"scope":80578,"stateMutability":"view","virtual":false,"visibility":"private"},{"id":78210,"nodeType":"FunctionDefinition","src":"10378:133:130","nodes":[],"body":{"id":78209,"nodeType":"Block","src":"10438:73:130","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":78204,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":78199,"name":"_address","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78196,"src":"10452:8:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":78202,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10472:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":78201,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10464:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":78200,"name":"address","nodeType":"ElementaryTypeName","src":"10464:7:130","typeDescriptions":{}}},"id":78203,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10464:10:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"10452:22:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":78208,"nodeType":"IfStatement","src":"10448:56:130","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":78205,"name":"AddressCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77783,"src":"10483:19:130","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":78206,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10483:21:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78207,"nodeType":"RevertStatement","src":"10476:28:130"}}]},"implemented":true,"kind":"function","modifiers":[],"name":"_revertZeroAddress","nameLocation":"10387:18:130","parameters":{"id":78197,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78196,"mutability":"mutable","name":"_address","nameLocation":"10414:8:130","nodeType":"VariableDeclaration","scope":78210,"src":"10406:16:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":78195,"name":"address","nodeType":"ElementaryTypeName","src":"10406:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"10405:18:130"},"returnParameters":{"id":78198,"nodeType":"ParameterList","parameters":[],"src":"10438:0:130"},"scope":80578,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":78240,"nodeType":"FunctionDefinition","src":"10517:230:130","nodes":[],"body":{"id":78239,"nodeType":"Block","src":"10588:159:130","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":78225,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":78219,"name":"sybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77964,"src":"10610:11:130","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$80667","typeString":"contract ISybilScorer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ISybilScorer_$80667","typeString":"contract ISybilScorer"}],"id":78218,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10602:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":78217,"name":"address","nodeType":"ElementaryTypeName","src":"10602:7:130","typeDescriptions":{}}},"id":78220,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10602:20:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":78223,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10634:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":78222,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10626:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":78221,"name":"address","nodeType":"ElementaryTypeName","src":"10626:7:130","typeDescriptions":{}}},"id":78224,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10626:10:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"10602:34:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":78229,"nodeType":"IfStatement","src":"10598:76:130","trueBody":{"id":78228,"nodeType":"Block","src":"10638:36:130","statements":[{"expression":{"hexValue":"74727565","id":78226,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"10659:4:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":78216,"id":78227,"nodeType":"Return","src":"10652:11:130"}]}},{"expression":{"arguments":[{"id":78232,"name":"_user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78212,"src":"10719:5:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":78235,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"10734:4:130","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$80578","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$80578","typeString":"contract CVStrategyV0_0"}],"id":78234,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10726:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":78233,"name":"address","nodeType":"ElementaryTypeName","src":"10726:7:130","typeDescriptions":{}}},"id":78236,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10726:13:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":78230,"name":"sybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77964,"src":"10690:11:130","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$80667","typeString":"contract ISybilScorer"}},"id":78231,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10702:16:130","memberName":"canExecuteAction","nodeType":"MemberAccess","referencedDeclaration":80624,"src":"10690:28:130","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_bool_$","typeString":"function (address,address) view external returns (bool)"}},"id":78237,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10690:50:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":78216,"id":78238,"nodeType":"Return","src":"10683:57:130"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_canExecuteAction","nameLocation":"10526:17:130","parameters":{"id":78213,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78212,"mutability":"mutable","name":"_user","nameLocation":"10552:5:130","nodeType":"VariableDeclaration","scope":78240,"src":"10544:13:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":78211,"name":"address","nodeType":"ElementaryTypeName","src":"10544:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"10543:15:130"},"returnParameters":{"id":78216,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78215,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":78240,"src":"10582:4:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":78214,"name":"bool","nodeType":"ElementaryTypeName","src":"10582:4:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"10581:6:130"},"scope":80578,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":78424,"nodeType":"FunctionDefinition","src":"11073:2045:130","nodes":[],"body":{"id":78423,"nodeType":"Block","src":"11174:1944:130","nodes":[],"statements":[{"condition":{"id":78253,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"11188:27:130","subExpression":{"arguments":[{"id":78251,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78244,"src":"11207:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":78250,"name":"_canExecuteAction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78240,"src":"11189:17:130","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":78252,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11189:26:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":78258,"nodeType":"IfStatement","src":"11184:90:130","trueBody":{"id":78257,"nodeType":"Block","src":"11217:57:130","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":78254,"name":"UserCannotExecuteAction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77837,"src":"11238:23:130","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":78255,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11238:25:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78256,"nodeType":"RevertStatement","src":"11231:32:130"}]}},{"expression":{"id":78259,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78242,"src":"11328:5:130","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":78260,"nodeType":"ExpressionStatement","src":"11328:5:130"},{"assignments":[78265],"declarations":[{"constant":false,"id":78265,"mutability":"mutable","name":"proposal","nameLocation":"11380:8:130","nodeType":"VariableDeclaration","scope":78423,"src":"11343:45:130","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$77688_memory_ptr","typeString":"struct StrategyStruct.CreateProposal"},"typeName":{"id":78264,"nodeType":"UserDefinedTypeName","pathNode":{"id":78263,"name":"StrategyStruct.CreateProposal","nameLocations":["11343:14:130","11358:14:130"],"nodeType":"IdentifierPath","referencedDeclaration":77688,"src":"11343:29:130"},"referencedDeclaration":77688,"src":"11343:29:130","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$77688_storage_ptr","typeString":"struct StrategyStruct.CreateProposal"}},"visibility":"internal"}],"id":78273,"initialValue":{"arguments":[{"id":78268,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78242,"src":"11402:5:130","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"expression":{"id":78269,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77752,"src":"11410:14:130","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$77752_$","typeString":"type(library StrategyStruct)"}},"id":78270,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11425:14:130","memberName":"CreateProposal","nodeType":"MemberAccess","referencedDeclaration":77688,"src":"11410:29:130","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_CreateProposal_$77688_storage_ptr_$","typeString":"type(struct StrategyStruct.CreateProposal storage pointer)"}}],"id":78271,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"11409:31:130","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_CreateProposal_$77688_storage_ptr_$","typeString":"type(struct StrategyStruct.CreateProposal storage pointer)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_struct$_CreateProposal_$77688_storage_ptr_$","typeString":"type(struct StrategyStruct.CreateProposal storage pointer)"}],"expression":{"id":78266,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"11391:3:130","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":78267,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"11395:6:130","memberName":"decode","nodeType":"MemberAccess","src":"11391:10:130","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":78272,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11391:50:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$77688_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"nodeType":"VariableDeclarationStatement","src":"11343:98:130"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":78277,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":78274,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78265,"src":"11556:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$77688_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":78275,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11565:6:130","memberName":"poolId","nodeType":"MemberAccess","referencedDeclaration":77678,"src":"11556:15:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":78276,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11575:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"11556:20:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":78282,"nodeType":"IfStatement","src":"11552:78:130","trueBody":{"id":78281,"nodeType":"Block","src":"11578:52:130","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":78278,"name":"PoolIdCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77781,"src":"11599:18:130","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":78279,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11599:20:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78280,"nodeType":"RevertStatement","src":"11592:27:130"}]}},{"condition":{"commonType":{"typeIdentifier":"t_enum$_ProposalType_$77671","typeString":"enum StrategyStruct.ProposalType"},"id":78287,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":78283,"name":"proposalType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77952,"src":"11706:12:130","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$77671","typeString":"enum StrategyStruct.ProposalType"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":78284,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77752,"src":"11722:14:130","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$77752_$","typeString":"type(library StrategyStruct)"}},"id":78285,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11737:12:130","memberName":"ProposalType","nodeType":"MemberAccess","referencedDeclaration":77671,"src":"11722:27:130","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalType_$77671_$","typeString":"type(enum StrategyStruct.ProposalType)"}},"id":78286,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"11750:7:130","memberName":"Funding","nodeType":"MemberAccess","referencedDeclaration":77669,"src":"11722:35:130","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$77671","typeString":"enum StrategyStruct.ProposalType"}},"src":"11706:51:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":78334,"nodeType":"IfStatement","src":"11702:722:130","trueBody":{"id":78333,"nodeType":"Block","src":"11759:665:130","statements":[{"expression":{"arguments":[{"expression":{"id":78289,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78265,"src":"11792:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$77688_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":78290,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11801:11:130","memberName":"beneficiary","nodeType":"MemberAccess","referencedDeclaration":77680,"src":"11792:20:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":78288,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78210,"src":"11773:18:130","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":78291,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11773:40:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78292,"nodeType":"ExpressionStatement","src":"11773:40:130"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":78299,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":78293,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78265,"src":"11879:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$77688_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":78294,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11888:14:130","memberName":"requestedToken","nodeType":"MemberAccess","referencedDeclaration":77684,"src":"11879:23:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":78297,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11914:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":78296,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11906:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":78295,"name":"address","nodeType":"ElementaryTypeName","src":"11906:7:130","typeDescriptions":{}}},"id":78298,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11906:10:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"11879:37:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":78304,"nodeType":"IfStatement","src":"11875:102:130","trueBody":{"id":78303,"nodeType":"Block","src":"11918:59:130","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":78300,"name":"TokenCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77775,"src":"11943:17:130","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":78301,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11943:19:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78302,"nodeType":"RevertStatement","src":"11936:26:130"}]}},{"assignments":[78306],"declarations":[{"constant":false,"id":78306,"mutability":"mutable","name":"poolToken","nameLocation":"11998:9:130","nodeType":"VariableDeclaration","scope":78333,"src":"11990:17:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":78305,"name":"address","nodeType":"ElementaryTypeName","src":"11990:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":78314,"initialValue":{"expression":{"arguments":[{"id":78311,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74090,"src":"12033:6:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":78307,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"12010:4:130","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$80578","typeString":"contract CVStrategyV0_0"}},"id":78308,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12015:7:130","memberName":"getAllo","nodeType":"MemberAccess","referencedDeclaration":74170,"src":"12010:12:130","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_contract$_IAllo_$2610_$","typeString":"function () view external returns (contract IAllo)"}},"id":78309,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12010:14:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IAllo_$2610","typeString":"contract IAllo"}},"id":78310,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12025:7:130","memberName":"getPool","nodeType":"MemberAccess","referencedDeclaration":2603,"src":"12010:22:130","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_struct$_Pool_$2319_memory_ptr_$","typeString":"function (uint256) view external returns (struct IAllo.Pool memory)"}},"id":78312,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12010:30:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"id":78313,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12041:5:130","memberName":"token","nodeType":"MemberAccess","referencedDeclaration":2311,"src":"12010:36:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"11990:56:130"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":78318,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":78315,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78265,"src":"12064:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$77688_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":78316,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12073:14:130","memberName":"requestedToken","nodeType":"MemberAccess","referencedDeclaration":77684,"src":"12064:23:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":78317,"name":"poolToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78306,"src":"12091:9:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"12064:36:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":78323,"nodeType":"IfStatement","src":"12060:234:130","trueBody":{"id":78322,"nodeType":"Block","src":"12102:192:130","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":78319,"name":"TokenNotAllowed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77777,"src":"12262:15:130","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":78320,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12262:17:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78321,"nodeType":"RevertStatement","src":"12255:24:130"}]}},{"condition":{"arguments":[{"expression":{"id":78325,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78265,"src":"12327:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$77688_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":78326,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12336:15:130","memberName":"amountRequested","nodeType":"MemberAccess","referencedDeclaration":77682,"src":"12327:24:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":78324,"name":"_isOverMaxRatio","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79628,"src":"12311:15:130","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view returns (bool)"}},"id":78327,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12311:41:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":78332,"nodeType":"IfStatement","src":"12307:107:130","trueBody":{"id":78331,"nodeType":"Block","src":"12354:60:130","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":78328,"name":"AmountOverMaxRatio","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77779,"src":"12379:18:130","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":78329,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12379:20:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78330,"nodeType":"RevertStatement","src":"12372:27:130"}]}}]}},{"assignments":[78336],"declarations":[{"constant":false,"id":78336,"mutability":"mutable","name":"proposalId","nameLocation":"12441:10:130","nodeType":"VariableDeclaration","scope":78423,"src":"12433:18:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78335,"name":"uint256","nodeType":"ElementaryTypeName","src":"12433:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":78339,"initialValue":{"id":78338,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":true,"src":"12454:17:130","subExpression":{"id":78337,"name":"proposalCounter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77940,"src":"12456:15:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"12433:38:130"},{"assignments":[78344],"declarations":[{"constant":false,"id":78344,"mutability":"mutable","name":"p","nameLocation":"12513:1:130","nodeType":"VariableDeclaration","scope":78423,"src":"12481:33:130","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":78343,"nodeType":"UserDefinedTypeName","pathNode":{"id":78342,"name":"StrategyStruct.Proposal","nameLocations":["12481:14:130","12496:8:130"],"nodeType":"IdentifierPath","referencedDeclaration":77721,"src":"12481:23:130"},"referencedDeclaration":77721,"src":"12481:23:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":78348,"initialValue":{"baseExpression":{"id":78345,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77969,"src":"12517:9:130","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$77721_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":78347,"indexExpression":{"id":78346,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78336,"src":"12527:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"12517:21:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"12481:57:130"},{"expression":{"id":78353,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":78349,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78344,"src":"12549:1:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":78351,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"12551:10:130","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":77696,"src":"12549:12:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":78352,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78336,"src":"12564:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"12549:25:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":78354,"nodeType":"ExpressionStatement","src":"12549:25:130"},{"expression":{"id":78359,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":78355,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78344,"src":"12584:1:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":78357,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"12586:9:130","memberName":"submitter","nodeType":"MemberAccess","referencedDeclaration":77706,"src":"12584:11:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":78358,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78244,"src":"12598:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"12584:21:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":78360,"nodeType":"ExpressionStatement","src":"12584:21:130"},{"expression":{"id":78366,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":78361,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78344,"src":"12615:1:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":78363,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"12617:11:130","memberName":"beneficiary","nodeType":"MemberAccess","referencedDeclaration":77704,"src":"12615:13:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":78364,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78265,"src":"12631:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$77688_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":78365,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12640:11:130","memberName":"beneficiary","nodeType":"MemberAccess","referencedDeclaration":77680,"src":"12631:20:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"12615:36:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":78367,"nodeType":"ExpressionStatement","src":"12615:36:130"},{"expression":{"id":78373,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":78368,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78344,"src":"12661:1:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":78370,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"12663:14:130","memberName":"requestedToken","nodeType":"MemberAccess","referencedDeclaration":77708,"src":"12661:16:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":78371,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78265,"src":"12680:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$77688_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":78372,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12689:14:130","memberName":"requestedToken","nodeType":"MemberAccess","referencedDeclaration":77684,"src":"12680:23:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"12661:42:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":78374,"nodeType":"ExpressionStatement","src":"12661:42:130"},{"expression":{"id":78380,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":78375,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78344,"src":"12713:1:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":78377,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"12715:15:130","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":77698,"src":"12713:17:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":78378,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78265,"src":"12733:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$77688_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":78379,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12742:15:130","memberName":"amountRequested","nodeType":"MemberAccess","referencedDeclaration":77682,"src":"12733:24:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"12713:44:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":78381,"nodeType":"ExpressionStatement","src":"12713:44:130"},{"expression":{"id":78388,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":78382,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78344,"src":"12818:1:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":78384,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"12820:14:130","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":77713,"src":"12818:16:130","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$77694","typeString":"enum StrategyStruct.ProposalStatus"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"expression":{"id":78385,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77752,"src":"12837:14:130","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$77752_$","typeString":"type(library StrategyStruct)"}},"id":78386,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12852:14:130","memberName":"ProposalStatus","nodeType":"MemberAccess","referencedDeclaration":77694,"src":"12837:29:130","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$77694_$","typeString":"type(enum StrategyStruct.ProposalStatus)"}},"id":78387,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"12867:6:130","memberName":"Active","nodeType":"MemberAccess","referencedDeclaration":77690,"src":"12837:36:130","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$77694","typeString":"enum StrategyStruct.ProposalStatus"}},"src":"12818:55:130","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$77694","typeString":"enum StrategyStruct.ProposalStatus"}},"id":78389,"nodeType":"ExpressionStatement","src":"12818:55:130"},{"expression":{"id":78395,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":78390,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78344,"src":"12883:1:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":78392,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"12885:9:130","memberName":"blockLast","nodeType":"MemberAccess","referencedDeclaration":77710,"src":"12883:11:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":78393,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"12897:5:130","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":78394,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12903:6:130","memberName":"number","nodeType":"MemberAccess","src":"12897:12:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"12883:26:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":78396,"nodeType":"ExpressionStatement","src":"12883:26:130"},{"expression":{"id":78401,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":78397,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78344,"src":"12919:1:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":78399,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"12921:14:130","memberName":"convictionLast","nodeType":"MemberAccess","referencedDeclaration":77702,"src":"12919:16:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"30","id":78400,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12938:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"12919:20:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":78402,"nodeType":"ExpressionStatement","src":"12919:20:130"},{"expression":{"id":78408,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":78403,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78344,"src":"12985:1:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":78405,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"12987:8:130","memberName":"metadata","nodeType":"MemberAccess","referencedDeclaration":77720,"src":"12985:10:130","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage","typeString":"struct Metadata storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":78406,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78265,"src":"12998:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$77688_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":78407,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"13007:8:130","memberName":"metadata","nodeType":"MemberAccess","referencedDeclaration":77687,"src":"12998:17:130","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}},"src":"12985:30:130","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage","typeString":"struct Metadata storage ref"}},"id":78409,"nodeType":"ExpressionStatement","src":"12985:30:130"},{"eventCall":{"arguments":[{"id":78411,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74090,"src":"13047:6:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":78412,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78336,"src":"13055:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":78410,"name":"ProposalCreated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77858,"src":"13031:15:130","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":78413,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13031:35:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78414,"nodeType":"EmitStatement","src":"13026:40:130"},{"expression":{"arguments":[{"arguments":[{"id":78419,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78336,"src":"13099:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":78418,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13091:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":78417,"name":"uint160","nodeType":"ElementaryTypeName","src":"13091:7:130","typeDescriptions":{}}},"id":78420,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13091:19:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":78416,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13083:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":78415,"name":"address","nodeType":"ElementaryTypeName","src":"13083:7:130","typeDescriptions":{}}},"id":78421,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13083:28:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":78249,"id":78422,"nodeType":"Return","src":"13076:35:130"}]},"baseFunctions":[74558],"implemented":true,"kind":"function","modifiers":[],"name":"_registerRecipient","nameLocation":"11082:18:130","overrides":{"id":78246,"nodeType":"OverrideSpecifier","overrides":[],"src":"11147:8:130"},"parameters":{"id":78245,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78242,"mutability":"mutable","name":"_data","nameLocation":"11114:5:130","nodeType":"VariableDeclaration","scope":78424,"src":"11101:18:130","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":78241,"name":"bytes","nodeType":"ElementaryTypeName","src":"11101:5:130","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":78244,"mutability":"mutable","name":"_sender","nameLocation":"11129:7:130","nodeType":"VariableDeclaration","scope":78424,"src":"11121:15:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":78243,"name":"address","nodeType":"ElementaryTypeName","src":"11121:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"11100:37:130"},"returnParameters":{"id":78249,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78248,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":78424,"src":"11165:7:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":78247,"name":"address","nodeType":"ElementaryTypeName","src":"11165:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"11164:9:130"},"scope":80578,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":78463,"nodeType":"FunctionDefinition","src":"13124:351:130","nodes":[],"body":{"id":78462,"nodeType":"Block","src":"13159:316:130","nodes":[],"statements":[{"assignments":[78428],"declarations":[{"constant":false,"id":78428,"mutability":"mutable","name":"member","nameLocation":"13177:6:130","nodeType":"VariableDeclaration","scope":78462,"src":"13169:14:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":78427,"name":"address","nodeType":"ElementaryTypeName","src":"13169:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":78431,"initialValue":{"expression":{"id":78429,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"13186:3:130","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":78430,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13190:6:130","memberName":"sender","nodeType":"MemberAccess","src":"13186:10:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"13169:27:130"},{"condition":{"id":78435,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"13210:26:130","subExpression":{"arguments":[{"id":78433,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78428,"src":"13229:6:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":78432,"name":"_canExecuteAction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78240,"src":"13211:17:130","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":78434,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13211:25:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":78440,"nodeType":"IfStatement","src":"13206:89:130","trueBody":{"id":78439,"nodeType":"Block","src":"13238:57:130","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":78436,"name":"UserCannotExecuteAction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77837,"src":"13259:23:130","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":78437,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13259:25:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78438,"nodeType":"RevertStatement","src":"13252:32:130"}]}},{"expression":{"arguments":[{"id":78444,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78428,"src":"13347:6:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":78447,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"13363:4:130","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$80578","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$80578","typeString":"contract CVStrategyV0_0"}],"id":78446,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13355:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":78445,"name":"address","nodeType":"ElementaryTypeName","src":"13355:7:130","typeDescriptions":{}}},"id":78448,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13355:13:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":78441,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77961,"src":"13304:17:130","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"}},"id":78443,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13322:24:130","memberName":"activateMemberInStrategy","nodeType":"MemberAccess","referencedDeclaration":83993,"src":"13304:42:130","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address) external"}},"id":78449,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13304:65:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78450,"nodeType":"ExpressionStatement","src":"13304:65:130"},{"expression":{"id":78460,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":78451,"name":"totalPointsActivated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77944,"src":"13379:20:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"arguments":[{"id":78454,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78428,"src":"13446:6:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":78457,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"13462:4:130","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$80578","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$80578","typeString":"contract CVStrategyV0_0"}],"id":78456,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13454:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":78455,"name":"address","nodeType":"ElementaryTypeName","src":"13454:7:130","typeDescriptions":{}}},"id":78458,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13454:13:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":78452,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77961,"src":"13403:17:130","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"}},"id":78453,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13421:24:130","memberName":"getMemberPowerInStrategy","nodeType":"MemberAccess","referencedDeclaration":84375,"src":"13403:42:130","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view external returns (uint256)"}},"id":78459,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13403:65:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"13379:89:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":78461,"nodeType":"ExpressionStatement","src":"13379:89:130"}]},"functionSelector":"814516ad","implemented":true,"kind":"function","modifiers":[],"name":"activatePoints","nameLocation":"13133:14:130","parameters":{"id":78425,"nodeType":"ParameterList","parameters":[],"src":"13147:2:130"},"returnParameters":{"id":78426,"nodeType":"ParameterList","parameters":[],"src":"13159:0:130"},"scope":80578,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":78472,"nodeType":"FunctionDefinition","src":"13481:81:130","nodes":[],"body":{"id":78471,"nodeType":"Block","src":"13516:46:130","nodes":[],"statements":[{"expression":{"arguments":[{"expression":{"id":78467,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"13544:3:130","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":78468,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13548:6:130","memberName":"sender","nodeType":"MemberAccess","src":"13544:10:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":78466,"name":"_deactivatePoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78520,"src":"13526:17:130","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":78469,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13526:29:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78470,"nodeType":"ExpressionStatement","src":"13526:29:130"}]},"functionSelector":"1ddf1e23","implemented":true,"kind":"function","modifiers":[],"name":"deactivatePoints","nameLocation":"13490:16:130","parameters":{"id":78464,"nodeType":"ParameterList","parameters":[],"src":"13506:2:130"},"returnParameters":{"id":78465,"nodeType":"ParameterList","parameters":[],"src":"13516:0:130"},"scope":80578,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":78485,"nodeType":"FunctionDefinition","src":"13568:128:130","nodes":[],"body":{"id":78484,"nodeType":"Block","src":"13620:76:130","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":78477,"name":"onlyRegistryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78194,"src":"13630:21:130","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":78478,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13630:23:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78479,"nodeType":"ExpressionStatement","src":"13630:23:130"},{"expression":{"arguments":[{"id":78481,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78474,"src":"13681:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":78480,"name":"_deactivatePoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78520,"src":"13663:17:130","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":78482,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13663:26:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78483,"nodeType":"ExpressionStatement","src":"13663:26:130"}]},"baseFunctions":[77642],"functionSelector":"6453d9c4","implemented":true,"kind":"function","modifiers":[],"name":"deactivatePoints","nameLocation":"13577:16:130","parameters":{"id":78475,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78474,"mutability":"mutable","name":"_member","nameLocation":"13602:7:130","nodeType":"VariableDeclaration","scope":78485,"src":"13594:15:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":78473,"name":"address","nodeType":"ElementaryTypeName","src":"13594:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"13593:17:130"},"returnParameters":{"id":78476,"nodeType":"ParameterList","parameters":[],"src":"13620:0:130"},"scope":80578,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":78520,"nodeType":"FunctionDefinition","src":"13702:351:130","nodes":[],"body":{"id":78519,"nodeType":"Block","src":"13755:298:130","nodes":[],"statements":[{"expression":{"id":78499,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":78490,"name":"totalPointsActivated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77944,"src":"13765:20:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"arguments":[{"id":78493,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78487,"src":"13832:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":78496,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"13849:4:130","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$80578","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$80578","typeString":"contract CVStrategyV0_0"}],"id":78495,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13841:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":78494,"name":"address","nodeType":"ElementaryTypeName","src":"13841:7:130","typeDescriptions":{}}},"id":78497,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13841:13:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":78491,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77961,"src":"13789:17:130","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"}},"id":78492,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13807:24:130","memberName":"getMemberPowerInStrategy","nodeType":"MemberAccess","referencedDeclaration":84375,"src":"13789:42:130","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view external returns (uint256)"}},"id":78498,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13789:66:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"13765:90:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":78500,"nodeType":"ExpressionStatement","src":"13765:90:130"},{"expression":{"arguments":[{"id":78504,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78487,"src":"13910:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":78507,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"13927:4:130","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$80578","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$80578","typeString":"contract CVStrategyV0_0"}],"id":78506,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13919:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":78505,"name":"address","nodeType":"ElementaryTypeName","src":"13919:7:130","typeDescriptions":{}}},"id":78508,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13919:13:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":78501,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77961,"src":"13865:17:130","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"}},"id":78503,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13883:26:130","memberName":"deactivateMemberInStrategy","nodeType":"MemberAccess","referencedDeclaration":84052,"src":"13865:44:130","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address) external"}},"id":78509,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13865:68:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78510,"nodeType":"ExpressionStatement","src":"13865:68:130"},{"expression":{"arguments":[{"id":78512,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78487,"src":"13997:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":78511,"name":"withdraw","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79422,"src":"13988:8:130","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":78513,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13988:17:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78514,"nodeType":"ExpressionStatement","src":"13988:17:130"},{"eventCall":{"arguments":[{"id":78516,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78487,"src":"14038:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":78515,"name":"PointsDeactivated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77894,"src":"14020:17:130","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":78517,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14020:26:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78518,"nodeType":"EmitStatement","src":"14015:31:130"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_deactivatePoints","nameLocation":"13711:17:130","parameters":{"id":78488,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78487,"mutability":"mutable","name":"_member","nameLocation":"13737:7:130","nodeType":"VariableDeclaration","scope":78520,"src":"13729:15:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":78486,"name":"address","nodeType":"ElementaryTypeName","src":"13729:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"13728:17:130"},"returnParameters":{"id":78489,"nodeType":"ParameterList","parameters":[],"src":"13755:0:130"},"scope":80578,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":78613,"nodeType":"FunctionDefinition","src":"14059:1057:130","nodes":[],"body":{"id":78612,"nodeType":"Block","src":"14150:966:130","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":78529,"name":"onlyRegistryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78194,"src":"14205:21:130","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":78530,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14205:23:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78531,"nodeType":"ExpressionStatement","src":"14205:23:130"},{"condition":{"id":78535,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"14242:27:130","subExpression":{"arguments":[{"id":78533,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78522,"src":"14261:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":78532,"name":"_canExecuteAction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78240,"src":"14243:17:130","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":78534,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14243:26:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":78540,"nodeType":"IfStatement","src":"14238:90:130","trueBody":{"id":78539,"nodeType":"Block","src":"14271:57:130","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":78536,"name":"UserCannotExecuteAction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77837,"src":"14292:23:130","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":78537,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14292:25:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78538,"nodeType":"RevertStatement","src":"14285:32:130"}]}},{"assignments":[78542],"declarations":[{"constant":false,"id":78542,"mutability":"mutable","name":"pointsToIncrease","nameLocation":"14345:16:130","nodeType":"VariableDeclaration","scope":78612,"src":"14337:24:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78541,"name":"uint256","nodeType":"ElementaryTypeName","src":"14337:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":78544,"initialValue":{"hexValue":"30","id":78543,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14364:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"14337:28:130"},{"condition":{"commonType":{"typeIdentifier":"t_enum$_PointSystem_$77676","typeString":"enum StrategyStruct.PointSystem"},"id":78549,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":78545,"name":"pointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77955,"src":"14379:11:130","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$77676","typeString":"enum StrategyStruct.PointSystem"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":78546,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77752,"src":"14394:14:130","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$77752_$","typeString":"type(library StrategyStruct)"}},"id":78547,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14409:11:130","memberName":"PointSystem","nodeType":"MemberAccess","referencedDeclaration":77676,"src":"14394:26:130","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_PointSystem_$77676_$","typeString":"type(enum StrategyStruct.PointSystem)"}},"id":78548,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"14421:9:130","memberName":"Unlimited","nodeType":"MemberAccess","referencedDeclaration":77674,"src":"14394:36:130","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$77676","typeString":"enum StrategyStruct.PointSystem"}},"src":"14379:51:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_enum$_PointSystem_$77676","typeString":"enum StrategyStruct.PointSystem"},"id":78561,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":78557,"name":"pointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77955,"src":"14524:11:130","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$77676","typeString":"enum StrategyStruct.PointSystem"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":78558,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77752,"src":"14539:14:130","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$77752_$","typeString":"type(library StrategyStruct)"}},"id":78559,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14554:11:130","memberName":"PointSystem","nodeType":"MemberAccess","referencedDeclaration":77676,"src":"14539:26:130","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_PointSystem_$77676_$","typeString":"type(enum StrategyStruct.PointSystem)"}},"id":78560,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"14566:6:130","memberName":"Capped","nodeType":"MemberAccess","referencedDeclaration":77673,"src":"14539:33:130","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$77676","typeString":"enum StrategyStruct.PointSystem"}},"src":"14524:48:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_enum$_PointSystem_$77676","typeString":"enum StrategyStruct.PointSystem"},"id":78574,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":78570,"name":"pointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77955,"src":"14672:11:130","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$77676","typeString":"enum StrategyStruct.PointSystem"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":78571,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77752,"src":"14687:14:130","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$77752_$","typeString":"type(library StrategyStruct)"}},"id":78572,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14702:11:130","memberName":"PointSystem","nodeType":"MemberAccess","referencedDeclaration":77676,"src":"14687:26:130","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_PointSystem_$77676_$","typeString":"type(enum StrategyStruct.PointSystem)"}},"id":78573,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"14714:9:130","memberName":"Quadratic","nodeType":"MemberAccess","referencedDeclaration":77675,"src":"14687:36:130","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$77676","typeString":"enum StrategyStruct.PointSystem"}},"src":"14672:51:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":78583,"nodeType":"IfStatement","src":"14668:148:130","trueBody":{"id":78582,"nodeType":"Block","src":"14725:91:130","statements":[{"expression":{"id":78580,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":78575,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78542,"src":"14739:16:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":78577,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78522,"src":"14781:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":78578,"name":"_amountToStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78524,"src":"14790:14:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":78576,"name":"increasePowerQuadratic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78826,"src":"14758:22:130","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256) view returns (uint256)"}},"id":78579,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14758:47:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"14739:66:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":78581,"nodeType":"ExpressionStatement","src":"14739:66:130"}]}},"id":78584,"nodeType":"IfStatement","src":"14520:296:130","trueBody":{"id":78569,"nodeType":"Block","src":"14574:88:130","statements":[{"expression":{"id":78567,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":78562,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78542,"src":"14588:16:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":78564,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78522,"src":"14627:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":78565,"name":"_amountToStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78524,"src":"14636:14:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":78563,"name":"increasePowerCapped","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78742,"src":"14607:19:130","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256) view returns (uint256)"}},"id":78566,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14607:44:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"14588:63:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":78568,"nodeType":"ExpressionStatement","src":"14588:63:130"}]}},"id":78585,"nodeType":"IfStatement","src":"14375:441:130","trueBody":{"id":78556,"nodeType":"Block","src":"14432:82:130","statements":[{"expression":{"id":78554,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":78550,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78542,"src":"14446:16:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":78552,"name":"_amountToStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78524,"src":"14488:14:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":78551,"name":"increasePowerUnlimited","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78679,"src":"14465:22:130","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":78553,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14465:38:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"14446:57:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":78555,"nodeType":"ExpressionStatement","src":"14446:57:130"}]}},{"assignments":[78587],"declarations":[{"constant":false,"id":78587,"mutability":"mutable","name":"isActivated","nameLocation":"14830:11:130","nodeType":"VariableDeclaration","scope":78612,"src":"14825:16:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":78586,"name":"bool","nodeType":"ElementaryTypeName","src":"14825:4:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":78596,"initialValue":{"arguments":[{"id":78590,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78522,"src":"14890:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":78593,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"14907:4:130","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$80578","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$80578","typeString":"contract CVStrategyV0_0"}],"id":78592,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"14899:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":78591,"name":"address","nodeType":"ElementaryTypeName","src":"14899:7:130","typeDescriptions":{}}},"id":78594,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14899:13:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":78588,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77961,"src":"14844:17:130","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"}},"id":78589,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14862:27:130","memberName":"memberActivatedInStrategies","nodeType":"MemberAccess","referencedDeclaration":83234,"src":"14844:45:130","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_bool_$","typeString":"function (address,address) view external returns (bool)"}},"id":78595,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14844:69:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"VariableDeclarationStatement","src":"14825:88:130"},{"condition":{"id":78597,"name":"isActivated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78587,"src":"14927:11:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":78603,"nodeType":"IfStatement","src":"14923:82:130","trueBody":{"id":78602,"nodeType":"Block","src":"14940:65:130","statements":[{"expression":{"id":78600,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":78598,"name":"totalPointsActivated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77944,"src":"14954:20:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"id":78599,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78542,"src":"14978:16:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"14954:40:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":78601,"nodeType":"ExpressionStatement","src":"14954:40:130"}]}},{"eventCall":{"arguments":[{"id":78605,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78522,"src":"15034:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":78606,"name":"_amountToStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78524,"src":"15043:14:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":78607,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78542,"src":"15059:16:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":78604,"name":"PowerIncreased","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77870,"src":"15019:14:130","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (address,uint256,uint256)"}},"id":78608,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15019:57:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78609,"nodeType":"EmitStatement","src":"15014:62:130"},{"expression":{"id":78610,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78542,"src":"15093:16:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":78528,"id":78611,"nodeType":"Return","src":"15086:23:130"}]},"baseFunctions":[77651],"functionSelector":"782aadff","implemented":true,"kind":"function","modifiers":[],"name":"increasePower","nameLocation":"14068:13:130","parameters":{"id":78525,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78522,"mutability":"mutable","name":"_member","nameLocation":"14090:7:130","nodeType":"VariableDeclaration","scope":78613,"src":"14082:15:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":78521,"name":"address","nodeType":"ElementaryTypeName","src":"14082:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":78524,"mutability":"mutable","name":"_amountToStake","nameLocation":"14107:14:130","nodeType":"VariableDeclaration","scope":78613,"src":"14099:22:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78523,"name":"uint256","nodeType":"ElementaryTypeName","src":"14099:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"14081:41:130"},"returnParameters":{"id":78528,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78527,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":78613,"src":"14141:7:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78526,"name":"uint256","nodeType":"ElementaryTypeName","src":"14141:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"14140:9:130"},"scope":80578,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":78669,"nodeType":"FunctionDefinition","src":"15122:681:130","nodes":[],"body":{"id":78668,"nodeType":"Block","src":"15215:588:130","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":78622,"name":"onlyRegistryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78194,"src":"15225:21:130","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":78623,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15225:23:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78624,"nodeType":"ExpressionStatement","src":"15225:23:130"},{"assignments":[78626],"declarations":[{"constant":false,"id":78626,"mutability":"mutable","name":"pointsToDecrease","nameLocation":"15312:16:130","nodeType":"VariableDeclaration","scope":78668,"src":"15304:24:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78625,"name":"uint256","nodeType":"ElementaryTypeName","src":"15304:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":78628,"initialValue":{"hexValue":"30","id":78627,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15331:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"15304:28:130"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":78639,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_enum$_PointSystem_$77676","typeString":"enum StrategyStruct.PointSystem"},"id":78633,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":78629,"name":"pointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77955,"src":"15346:11:130","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$77676","typeString":"enum StrategyStruct.PointSystem"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":78630,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77752,"src":"15361:14:130","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$77752_$","typeString":"type(library StrategyStruct)"}},"id":78631,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15376:11:130","memberName":"PointSystem","nodeType":"MemberAccess","referencedDeclaration":77676,"src":"15361:26:130","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_PointSystem_$77676_$","typeString":"type(enum StrategyStruct.PointSystem)"}},"id":78632,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"15388:9:130","memberName":"Unlimited","nodeType":"MemberAccess","referencedDeclaration":77674,"src":"15361:36:130","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$77676","typeString":"enum StrategyStruct.PointSystem"}},"src":"15346:51:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_enum$_PointSystem_$77676","typeString":"enum StrategyStruct.PointSystem"},"id":78638,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":78634,"name":"pointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77955,"src":"15401:11:130","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$77676","typeString":"enum StrategyStruct.PointSystem"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":78635,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77752,"src":"15416:14:130","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$77752_$","typeString":"type(library StrategyStruct)"}},"id":78636,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15431:11:130","memberName":"PointSystem","nodeType":"MemberAccess","referencedDeclaration":77676,"src":"15416:26:130","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_PointSystem_$77676_$","typeString":"type(enum StrategyStruct.PointSystem)"}},"id":78637,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"15443:6:130","memberName":"Capped","nodeType":"MemberAccess","referencedDeclaration":77673,"src":"15416:33:130","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$77676","typeString":"enum StrategyStruct.PointSystem"}},"src":"15401:48:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"15346:103:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":78654,"nodeType":"Block","src":"15547:93:130","statements":[{"expression":{"id":78652,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":78647,"name":"pointsToDecrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78626,"src":"15561:16:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":78649,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78615,"src":"15603:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":78650,"name":"_amountToUnstake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78617,"src":"15612:16:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":78648,"name":"decreasePowerQuadratic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78930,"src":"15580:22:130","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256) view returns (uint256)"}},"id":78651,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15580:49:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"15561:68:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":78653,"nodeType":"ExpressionStatement","src":"15561:68:130"}]},"id":78655,"nodeType":"IfStatement","src":"15342:298:130","trueBody":{"id":78646,"nodeType":"Block","src":"15451:90:130","statements":[{"expression":{"id":78644,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":78640,"name":"pointsToDecrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78626,"src":"15465:16:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":78642,"name":"_amountToUnstake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78617,"src":"15513:16:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":78641,"name":"decreasePowerCappedUnlimited","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78836,"src":"15484:28:130","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":78643,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15484:46:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"15465:65:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":78645,"nodeType":"ExpressionStatement","src":"15465:65:130"}]}},{"expression":{"id":78658,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":78656,"name":"totalPointsActivated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77944,"src":"15649:20:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"id":78657,"name":"pointsToDecrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78626,"src":"15673:16:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"15649:40:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":78659,"nodeType":"ExpressionStatement","src":"15649:40:130"},{"eventCall":{"arguments":[{"id":78661,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78615,"src":"15719:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":78662,"name":"_amountToUnstake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78617,"src":"15728:16:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":78663,"name":"pointsToDecrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78626,"src":"15746:16:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":78660,"name":"PowerDecreased","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77878,"src":"15704:14:130","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (address,uint256,uint256)"}},"id":78664,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15704:59:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78665,"nodeType":"EmitStatement","src":"15699:64:130"},{"expression":{"id":78666,"name":"pointsToDecrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78626,"src":"15780:16:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":78621,"id":78667,"nodeType":"Return","src":"15773:23:130"}]},"baseFunctions":[77660],"functionSelector":"2ed04b2b","implemented":true,"kind":"function","modifiers":[],"name":"decreasePower","nameLocation":"15131:13:130","parameters":{"id":78618,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78615,"mutability":"mutable","name":"_member","nameLocation":"15153:7:130","nodeType":"VariableDeclaration","scope":78669,"src":"15145:15:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":78614,"name":"address","nodeType":"ElementaryTypeName","src":"15145:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":78617,"mutability":"mutable","name":"_amountToUnstake","nameLocation":"15170:16:130","nodeType":"VariableDeclaration","scope":78669,"src":"15162:24:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78616,"name":"uint256","nodeType":"ElementaryTypeName","src":"15162:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15144:43:130"},"returnParameters":{"id":78621,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78620,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":78669,"src":"15206:7:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78619,"name":"uint256","nodeType":"ElementaryTypeName","src":"15206:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15205:9:130"},"scope":80578,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":78679,"nodeType":"FunctionDefinition","src":"15809:126:130","nodes":[],"body":{"id":78678,"nodeType":"Block","src":"15897:38:130","nodes":[],"statements":[{"expression":{"id":78676,"name":"_amountToStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78671,"src":"15914:14:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":78675,"id":78677,"nodeType":"Return","src":"15907:21:130"}]},"implemented":true,"kind":"function","modifiers":[],"name":"increasePowerUnlimited","nameLocation":"15818:22:130","parameters":{"id":78672,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78671,"mutability":"mutable","name":"_amountToStake","nameLocation":"15849:14:130","nodeType":"VariableDeclaration","scope":78679,"src":"15841:22:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78670,"name":"uint256","nodeType":"ElementaryTypeName","src":"15841:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15840:24:130"},"returnParameters":{"id":78675,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78674,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":78679,"src":"15888:7:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78673,"name":"uint256","nodeType":"ElementaryTypeName","src":"15888:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15887:9:130"},"scope":80578,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":78742,"nodeType":"FunctionDefinition","src":"15941:615:130","nodes":[],"body":{"id":78741,"nodeType":"Block","src":"16043:513:130","nodes":[],"statements":[{"assignments":[78689],"declarations":[{"constant":false,"id":78689,"mutability":"mutable","name":"pointsToIncrease","nameLocation":"16061:16:130","nodeType":"VariableDeclaration","scope":78741,"src":"16053:24:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78688,"name":"uint256","nodeType":"ElementaryTypeName","src":"16053:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":78691,"initialValue":{"id":78690,"name":"_amountToStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78683,"src":"16080:14:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"16053:41:130"},{"expression":{"arguments":[{"hexValue":"504f494e545320544f20494e435245415345","id":78695,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"16116:20:130","typeDescriptions":{"typeIdentifier":"t_stringliteral_ef3d3d59430373ce7e3d099486636fe73635f3082757c009fe2ef0b043a4ebb1","typeString":"literal_string \"POINTS TO INCREASE\""},"value":"POINTS TO INCREASE"},{"id":78696,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78689,"src":"16138:16:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ef3d3d59430373ce7e3d099486636fe73635f3082757c009fe2ef0b043a4ebb1","typeString":"literal_string \"POINTS TO INCREASE\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":78692,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29549,"src":"16104:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$29549_$","typeString":"type(library console)"}},"id":78694,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16112:3:130","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":22193,"src":"16104:11:130","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":78697,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16104:51:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78698,"nodeType":"ExpressionStatement","src":"16104:51:130"},{"assignments":[78700],"declarations":[{"constant":false,"id":78700,"mutability":"mutable","name":"memberPower","nameLocation":"16173:11:130","nodeType":"VariableDeclaration","scope":78741,"src":"16165:19:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78699,"name":"uint256","nodeType":"ElementaryTypeName","src":"16165:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":78709,"initialValue":{"arguments":[{"id":78703,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78681,"src":"16230:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":78706,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"16247:4:130","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$80578","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$80578","typeString":"contract CVStrategyV0_0"}],"id":78705,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16239:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":78704,"name":"address","nodeType":"ElementaryTypeName","src":"16239:7:130","typeDescriptions":{}}},"id":78707,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16239:13:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":78701,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77961,"src":"16187:17:130","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"}},"id":78702,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16205:24:130","memberName":"getMemberPowerInStrategy","nodeType":"MemberAccess","referencedDeclaration":84375,"src":"16187:42:130","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view external returns (uint256)"}},"id":78708,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16187:66:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"16165:88:130"},{"expression":{"arguments":[{"hexValue":"4d454d424552504f574552","id":78713,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"16275:13:130","typeDescriptions":{"typeIdentifier":"t_stringliteral_d53146c44856b98b9530413c868d7a3bea9675ba78d0918c9dbfa4f905f5c3e8","typeString":"literal_string \"MEMBERPOWER\""},"value":"MEMBERPOWER"},{"id":78714,"name":"memberPower","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78700,"src":"16290:11:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_d53146c44856b98b9530413c868d7a3bea9675ba78d0918c9dbfa4f905f5c3e8","typeString":"literal_string \"MEMBERPOWER\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":78710,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29549,"src":"16263:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$29549_$","typeString":"type(library console)"}},"id":78712,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16271:3:130","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":22193,"src":"16263:11:130","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":78715,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16263:39:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78716,"nodeType":"ExpressionStatement","src":"16263:39:130"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":78722,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":78719,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":78717,"name":"memberPower","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78700,"src":"16316:11:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":78718,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78689,"src":"16330:16:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16316:30:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"expression":{"id":78720,"name":"pointConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77958,"src":"16349:11:130","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$77729_storage","typeString":"struct StrategyStruct.PointSystemConfig storage ref"}},"id":78721,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"16361:9:130","memberName":"maxAmount","nodeType":"MemberAccess","referencedDeclaration":77728,"src":"16349:21:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16316:54:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":78731,"nodeType":"IfStatement","src":"16312:139:130","trueBody":{"id":78730,"nodeType":"Block","src":"16372:79:130","statements":[{"expression":{"id":78728,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":78723,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78689,"src":"16386:16:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":78727,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":78724,"name":"pointConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77958,"src":"16405:11:130","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$77729_storage","typeString":"struct StrategyStruct.PointSystemConfig storage ref"}},"id":78725,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"16417:9:130","memberName":"maxAmount","nodeType":"MemberAccess","referencedDeclaration":77728,"src":"16405:21:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":78726,"name":"memberPower","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78700,"src":"16429:11:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16405:35:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16386:54:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":78729,"nodeType":"ExpressionStatement","src":"16386:54:130"}]}},{"expression":{"arguments":[{"hexValue":"504f494e545320544f20494e43524541534520454e44","id":78735,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"16472:24:130","typeDescriptions":{"typeIdentifier":"t_stringliteral_7339ba314bb001e1fd9993d42999dceed278cc5b138b69398be73c13fb666826","typeString":"literal_string \"POINTS TO INCREASE END\""},"value":"POINTS TO INCREASE END"},{"id":78736,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78689,"src":"16498:16:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_7339ba314bb001e1fd9993d42999dceed278cc5b138b69398be73c13fb666826","typeString":"literal_string \"POINTS TO INCREASE END\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":78732,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29549,"src":"16460:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$29549_$","typeString":"type(library console)"}},"id":78734,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16468:3:130","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":22193,"src":"16460:11:130","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":78737,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16460:55:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78738,"nodeType":"ExpressionStatement","src":"16460:55:130"},{"expression":{"id":78739,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78689,"src":"16533:16:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":78687,"id":78740,"nodeType":"Return","src":"16526:23:130"}]},"implemented":true,"kind":"function","modifiers":[],"name":"increasePowerCapped","nameLocation":"15950:19:130","parameters":{"id":78684,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78681,"mutability":"mutable","name":"_member","nameLocation":"15978:7:130","nodeType":"VariableDeclaration","scope":78742,"src":"15970:15:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":78680,"name":"address","nodeType":"ElementaryTypeName","src":"15970:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":78683,"mutability":"mutable","name":"_amountToStake","nameLocation":"15995:14:130","nodeType":"VariableDeclaration","scope":78742,"src":"15987:22:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78682,"name":"uint256","nodeType":"ElementaryTypeName","src":"15987:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15969:41:130"},"returnParameters":{"id":78687,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78686,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":78742,"src":"16034:7:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78685,"name":"uint256","nodeType":"ElementaryTypeName","src":"16034:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"16033:9:130"},"scope":80578,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":78826,"nodeType":"FunctionDefinition","src":"16562:730:130","nodes":[],"body":{"id":78825,"nodeType":"Block","src":"16667:625:130","nodes":[],"statements":[{"assignments":[78752],"declarations":[{"constant":false,"id":78752,"mutability":"mutable","name":"totalStake","nameLocation":"16685:10:130","nodeType":"VariableDeclaration","scope":78825,"src":"16677:18:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78751,"name":"uint256","nodeType":"ElementaryTypeName","src":"16677:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":78759,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":78758,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":78755,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78744,"src":"16738:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":78753,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77961,"src":"16698:17:130","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"}},"id":78754,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16716:21:130","memberName":"getMemberStakedAmount","nodeType":"MemberAccess","referencedDeclaration":84388,"src":"16698:39:130","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":78756,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16698:48:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":78757,"name":"_amountToStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78746,"src":"16749:14:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16698:65:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"16677:86:130"},{"assignments":[78761],"declarations":[{"constant":false,"id":78761,"mutability":"mutable","name":"decimal","nameLocation":"16782:7:130","nodeType":"VariableDeclaration","scope":78825,"src":"16774:15:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78760,"name":"uint256","nodeType":"ElementaryTypeName","src":"16774:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":78763,"initialValue":{"hexValue":"3138","id":78762,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16792:2:130","typeDescriptions":{"typeIdentifier":"t_rational_18_by_1","typeString":"int_const 18"},"value":"18"},"nodeType":"VariableDeclarationStatement","src":"16774:20:130"},{"clauses":[{"block":{"id":78784,"nodeType":"Block","src":"16892:52:130","statements":[{"expression":{"id":78782,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":78777,"name":"decimal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78761,"src":"16906:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":78780,"name":"_decimal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78775,"src":"16924:8:130","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint8","typeString":"uint8"}],"id":78779,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16916:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":78778,"name":"uint256","nodeType":"ElementaryTypeName","src":"16916:7:130","typeDescriptions":{}}},"id":78781,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16916:17:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16906:27:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":78783,"nodeType":"ExpressionStatement","src":"16906:27:130"}]},"errorName":"","id":78785,"nodeType":"TryCatchClause","parameters":{"id":78776,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78775,"mutability":"mutable","name":"_decimal","nameLocation":"16882:8:130","nodeType":"VariableDeclaration","scope":78785,"src":"16876:14:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":78774,"name":"uint8","nodeType":"ElementaryTypeName","src":"16876:5:130","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"16875:16:130"},"src":"16867:77:130"},{"block":{"id":78792,"nodeType":"Block","src":"16951:61:130","statements":[{"expression":{"arguments":[{"hexValue":"4572726f722067657474696e6720646563696d616c","id":78789,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"16977:23:130","typeDescriptions":{"typeIdentifier":"t_stringliteral_add5b7e354bcd4eb0c69c8b5bd8a8dca27c903f694ea26b234a6605e7f62de4d","typeString":"literal_string \"Error getting decimal\""},"value":"Error getting decimal"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_add5b7e354bcd4eb0c69c8b5bd8a8dca27c903f694ea26b234a6605e7f62de4d","typeString":"literal_string \"Error getting decimal\""}],"expression":{"id":78786,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29549,"src":"16965:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$29549_$","typeString":"type(library console)"}},"id":78788,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16973:3:130","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":22080,"src":"16965:11:130","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) view"}},"id":78790,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16965:36:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78791,"nodeType":"ExpressionStatement","src":"16965:36:130"}]},"errorName":"","id":78793,"nodeType":"TryCatchClause","src":"16945:67:130"}],"externalCall":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":78767,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77961,"src":"16822:17:130","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"}},"id":78768,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16840:11:130","memberName":"gardenToken","nodeType":"MemberAccess","referencedDeclaration":83189,"src":"16822:29:130","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_contract$_IERC20_$57069_$","typeString":"function () view external returns (contract IERC20)"}},"id":78769,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16822:31:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$57069","typeString":"contract IERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$57069","typeString":"contract IERC20"}],"id":78766,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16814:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":78765,"name":"address","nodeType":"ElementaryTypeName","src":"16814:7:130","typeDescriptions":{}}},"id":78770,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16814:40:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":78764,"name":"ERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56991,"src":"16808:5:130","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ERC20_$56991_$","typeString":"type(contract ERC20)"}},"id":78771,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16808:47:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ERC20_$56991","typeString":"contract ERC20"}},"id":78772,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16856:8:130","memberName":"decimals","nodeType":"MemberAccess","referencedDeclaration":56479,"src":"16808:56:130","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint8_$","typeString":"function () view external returns (uint8)"}},"id":78773,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16808:58:130","tryCall":true,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":78794,"nodeType":"TryStatement","src":"16804:208:130"},{"assignments":[78796],"declarations":[{"constant":false,"id":78796,"mutability":"mutable","name":"newTotalPoints","nameLocation":"17029:14:130","nodeType":"VariableDeclaration","scope":78825,"src":"17021:22:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78795,"name":"uint256","nodeType":"ElementaryTypeName","src":"17021:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":78805,"initialValue":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":78803,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":78799,"name":"totalStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78752,"src":"17056:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":78802,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":78800,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17069:2:130","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"id":78801,"name":"decimal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78761,"src":"17075:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17069:13:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17056:26:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":78797,"name":"Math","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59338,"src":"17046:4:130","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Math_$59338_$","typeString":"type(library Math)"}},"id":78798,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17051:4:130","memberName":"sqrt","nodeType":"MemberAccess","referencedDeclaration":58842,"src":"17046:9:130","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":78804,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17046:37:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"17021:62:130"},{"assignments":[78807],"declarations":[{"constant":false,"id":78807,"mutability":"mutable","name":"currentPoints","nameLocation":"17101:13:130","nodeType":"VariableDeclaration","scope":78825,"src":"17093:21:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78806,"name":"uint256","nodeType":"ElementaryTypeName","src":"17093:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":78816,"initialValue":{"arguments":[{"id":78810,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78744,"src":"17160:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":78813,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"17177:4:130","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$80578","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$80578","typeString":"contract CVStrategyV0_0"}],"id":78812,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"17169:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":78811,"name":"address","nodeType":"ElementaryTypeName","src":"17169:7:130","typeDescriptions":{}}},"id":78814,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17169:13:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":78808,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77961,"src":"17117:17:130","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"}},"id":78809,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17135:24:130","memberName":"getMemberPowerInStrategy","nodeType":"MemberAccess","referencedDeclaration":84375,"src":"17117:42:130","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view external returns (uint256)"}},"id":78815,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17117:66:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"17093:90:130"},{"assignments":[78818],"declarations":[{"constant":false,"id":78818,"mutability":"mutable","name":"pointsToIncrease","nameLocation":"17202:16:130","nodeType":"VariableDeclaration","scope":78825,"src":"17194:24:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78817,"name":"uint256","nodeType":"ElementaryTypeName","src":"17194:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":78822,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":78821,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":78819,"name":"newTotalPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78796,"src":"17221:14:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":78820,"name":"currentPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78807,"src":"17238:13:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17221:30:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"17194:57:130"},{"expression":{"id":78823,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78818,"src":"17269:16:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":78750,"id":78824,"nodeType":"Return","src":"17262:23:130"}]},"implemented":true,"kind":"function","modifiers":[],"name":"increasePowerQuadratic","nameLocation":"16571:22:130","parameters":{"id":78747,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78744,"mutability":"mutable","name":"_member","nameLocation":"16602:7:130","nodeType":"VariableDeclaration","scope":78826,"src":"16594:15:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":78743,"name":"address","nodeType":"ElementaryTypeName","src":"16594:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":78746,"mutability":"mutable","name":"_amountToStake","nameLocation":"16619:14:130","nodeType":"VariableDeclaration","scope":78826,"src":"16611:22:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78745,"name":"uint256","nodeType":"ElementaryTypeName","src":"16611:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"16593:41:130"},"returnParameters":{"id":78750,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78749,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":78826,"src":"16658:7:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78748,"name":"uint256","nodeType":"ElementaryTypeName","src":"16658:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"16657:9:130"},"scope":80578,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":78836,"nodeType":"FunctionDefinition","src":"17298:136:130","nodes":[],"body":{"id":78835,"nodeType":"Block","src":"17394:40:130","nodes":[],"statements":[{"expression":{"id":78833,"name":"_amountToUnstake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78828,"src":"17411:16:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":78832,"id":78834,"nodeType":"Return","src":"17404:23:130"}]},"implemented":true,"kind":"function","modifiers":[],"name":"decreasePowerCappedUnlimited","nameLocation":"17307:28:130","parameters":{"id":78829,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78828,"mutability":"mutable","name":"_amountToUnstake","nameLocation":"17344:16:130","nodeType":"VariableDeclaration","scope":78836,"src":"17336:24:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78827,"name":"uint256","nodeType":"ElementaryTypeName","src":"17336:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"17335:26:130"},"returnParameters":{"id":78832,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78831,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":78836,"src":"17385:7:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78830,"name":"uint256","nodeType":"ElementaryTypeName","src":"17385:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"17384:9:130"},"scope":80578,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":78930,"nodeType":"FunctionDefinition","src":"17440:802:130","nodes":[],"body":{"id":78929,"nodeType":"Block","src":"17547:695:130","nodes":[],"statements":[{"assignments":[78846],"declarations":[{"constant":false,"id":78846,"mutability":"mutable","name":"decimal","nameLocation":"17565:7:130","nodeType":"VariableDeclaration","scope":78929,"src":"17557:15:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78845,"name":"uint256","nodeType":"ElementaryTypeName","src":"17557:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":78848,"initialValue":{"hexValue":"3138","id":78847,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17575:2:130","typeDescriptions":{"typeIdentifier":"t_rational_18_by_1","typeString":"int_const 18"},"value":"18"},"nodeType":"VariableDeclarationStatement","src":"17557:20:130"},{"clauses":[{"block":{"id":78869,"nodeType":"Block","src":"17675:52:130","statements":[{"expression":{"id":78867,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":78862,"name":"decimal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78846,"src":"17689:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":78865,"name":"_decimal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78860,"src":"17707:8:130","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint8","typeString":"uint8"}],"id":78864,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"17699:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":78863,"name":"uint256","nodeType":"ElementaryTypeName","src":"17699:7:130","typeDescriptions":{}}},"id":78866,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17699:17:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17689:27:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":78868,"nodeType":"ExpressionStatement","src":"17689:27:130"}]},"errorName":"","id":78870,"nodeType":"TryCatchClause","parameters":{"id":78861,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78860,"mutability":"mutable","name":"_decimal","nameLocation":"17665:8:130","nodeType":"VariableDeclaration","scope":78870,"src":"17659:14:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":78859,"name":"uint8","nodeType":"ElementaryTypeName","src":"17659:5:130","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"17658:16:130"},"src":"17650:77:130"},{"block":{"id":78877,"nodeType":"Block","src":"17734:61:130","statements":[{"expression":{"arguments":[{"hexValue":"4572726f722067657474696e6720646563696d616c","id":78874,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"17760:23:130","typeDescriptions":{"typeIdentifier":"t_stringliteral_add5b7e354bcd4eb0c69c8b5bd8a8dca27c903f694ea26b234a6605e7f62de4d","typeString":"literal_string \"Error getting decimal\""},"value":"Error getting decimal"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_add5b7e354bcd4eb0c69c8b5bd8a8dca27c903f694ea26b234a6605e7f62de4d","typeString":"literal_string \"Error getting decimal\""}],"expression":{"id":78871,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29549,"src":"17748:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$29549_$","typeString":"type(library console)"}},"id":78873,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17756:3:130","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":22080,"src":"17748:11:130","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) view"}},"id":78875,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17748:36:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78876,"nodeType":"ExpressionStatement","src":"17748:36:130"}]},"errorName":"","id":78878,"nodeType":"TryCatchClause","src":"17728:67:130"}],"externalCall":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":78852,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77961,"src":"17605:17:130","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"}},"id":78853,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17623:11:130","memberName":"gardenToken","nodeType":"MemberAccess","referencedDeclaration":83189,"src":"17605:29:130","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_contract$_IERC20_$57069_$","typeString":"function () view external returns (contract IERC20)"}},"id":78854,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17605:31:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$57069","typeString":"contract IERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$57069","typeString":"contract IERC20"}],"id":78851,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"17597:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":78850,"name":"address","nodeType":"ElementaryTypeName","src":"17597:7:130","typeDescriptions":{}}},"id":78855,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17597:40:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":78849,"name":"ERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56991,"src":"17591:5:130","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ERC20_$56991_$","typeString":"type(contract ERC20)"}},"id":78856,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17591:47:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ERC20_$56991","typeString":"contract ERC20"}},"id":78857,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17639:8:130","memberName":"decimals","nodeType":"MemberAccess","referencedDeclaration":56479,"src":"17591:56:130","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint8_$","typeString":"function () view external returns (uint8)"}},"id":78858,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17591:58:130","tryCall":true,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":78879,"nodeType":"TryStatement","src":"17587:208:130"},{"expression":{"arguments":[{"hexValue":"5f616d6f756e74546f556e7374616b65","id":78883,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"17816:18:130","typeDescriptions":{"typeIdentifier":"t_stringliteral_dc5364d7a51b187c038e40e987076ae6dd611b7a72008e9d9acc88e3a526f2c2","typeString":"literal_string \"_amountToUnstake\""},"value":"_amountToUnstake"},{"id":78884,"name":"_amountToUnstake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78840,"src":"17836:16:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_dc5364d7a51b187c038e40e987076ae6dd611b7a72008e9d9acc88e3a526f2c2","typeString":"literal_string \"_amountToUnstake\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":78880,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29549,"src":"17804:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$29549_$","typeString":"type(library console)"}},"id":78882,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17812:3:130","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":22193,"src":"17804:11:130","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":78885,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17804:49:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78886,"nodeType":"ExpressionStatement","src":"17804:49:130"},{"assignments":[78888],"declarations":[{"constant":false,"id":78888,"mutability":"mutable","name":"newTotalStake","nameLocation":"17871:13:130","nodeType":"VariableDeclaration","scope":78929,"src":"17863:21:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78887,"name":"uint256","nodeType":"ElementaryTypeName","src":"17863:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":78895,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":78894,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":78891,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78838,"src":"17927:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":78889,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77961,"src":"17887:17:130","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"}},"id":78890,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17905:21:130","memberName":"getMemberStakedAmount","nodeType":"MemberAccess","referencedDeclaration":84388,"src":"17887:39:130","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":78892,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17887:48:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":78893,"name":"_amountToUnstake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78840,"src":"17938:16:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17887:67:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"17863:91:130"},{"expression":{"arguments":[{"hexValue":"6e6577546f74616c5374616b65","id":78899,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"17976:15:130","typeDescriptions":{"typeIdentifier":"t_stringliteral_e1d5e8d6d05577c9c30b6029c3158dfad77d5a239a04e4529b5b98f0ce2f7a79","typeString":"literal_string \"newTotalStake\""},"value":"newTotalStake"},{"id":78900,"name":"newTotalStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78888,"src":"17993:13:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e1d5e8d6d05577c9c30b6029c3158dfad77d5a239a04e4529b5b98f0ce2f7a79","typeString":"literal_string \"newTotalStake\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":78896,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29549,"src":"17964:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$29549_$","typeString":"type(library console)"}},"id":78898,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17972:3:130","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":22193,"src":"17964:11:130","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":78901,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17964:43:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78902,"nodeType":"ExpressionStatement","src":"17964:43:130"},{"assignments":[78904],"declarations":[{"constant":false,"id":78904,"mutability":"mutable","name":"newTotalPoints","nameLocation":"18025:14:130","nodeType":"VariableDeclaration","scope":78929,"src":"18017:22:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78903,"name":"uint256","nodeType":"ElementaryTypeName","src":"18017:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":78913,"initialValue":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":78911,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":78907,"name":"newTotalStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78888,"src":"18052:13:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":78910,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":78908,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18068:2:130","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"id":78909,"name":"decimal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78846,"src":"18074:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"18068:13:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"18052:29:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":78905,"name":"Math","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59338,"src":"18042:4:130","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Math_$59338_$","typeString":"type(library Math)"}},"id":78906,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18047:4:130","memberName":"sqrt","nodeType":"MemberAccess","referencedDeclaration":58842,"src":"18042:9:130","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":78912,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18042:40:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"18017:65:130"},{"assignments":[78915],"declarations":[{"constant":false,"id":78915,"mutability":"mutable","name":"pointsToDecrease","nameLocation":"18100:16:130","nodeType":"VariableDeclaration","scope":78929,"src":"18092:24:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78914,"name":"uint256","nodeType":"ElementaryTypeName","src":"18092:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":78926,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":78925,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":78918,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78838,"src":"18162:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":78921,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"18179:4:130","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$80578","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$80578","typeString":"contract CVStrategyV0_0"}],"id":78920,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"18171:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":78919,"name":"address","nodeType":"ElementaryTypeName","src":"18171:7:130","typeDescriptions":{}}},"id":78922,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18171:13:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":78916,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77961,"src":"18119:17:130","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"}},"id":78917,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18137:24:130","memberName":"getMemberPowerInStrategy","nodeType":"MemberAccess","referencedDeclaration":84375,"src":"18119:42:130","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view external returns (uint256)"}},"id":78923,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18119:66:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":78924,"name":"newTotalPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78904,"src":"18188:14:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"18119:83:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"18092:110:130"},{"expression":{"id":78927,"name":"pointsToDecrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78915,"src":"18219:16:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":78844,"id":78928,"nodeType":"Return","src":"18212:23:130"}]},"implemented":true,"kind":"function","modifiers":[],"name":"decreasePowerQuadratic","nameLocation":"17449:22:130","parameters":{"id":78841,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78838,"mutability":"mutable","name":"_member","nameLocation":"17480:7:130","nodeType":"VariableDeclaration","scope":78930,"src":"17472:15:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":78837,"name":"address","nodeType":"ElementaryTypeName","src":"17472:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":78840,"mutability":"mutable","name":"_amountToUnstake","nameLocation":"17497:16:130","nodeType":"VariableDeclaration","scope":78930,"src":"17489:24:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78839,"name":"uint256","nodeType":"ElementaryTypeName","src":"17489:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"17471:43:130"},"returnParameters":{"id":78844,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78843,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":78930,"src":"17538:7:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78842,"name":"uint256","nodeType":"ElementaryTypeName","src":"17538:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"17537:9:130"},"scope":80578,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":78939,"nodeType":"FunctionDefinition","src":"18248:99:130","nodes":[],"body":{"id":78938,"nodeType":"Block","src":"18302:45:130","nodes":[],"statements":[{"expression":{"expression":{"id":78935,"name":"pointConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77958,"src":"18319:11:130","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$77729_storage","typeString":"struct StrategyStruct.PointSystemConfig storage ref"}},"id":78936,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"18331:9:130","memberName":"maxAmount","nodeType":"MemberAccess","referencedDeclaration":77728,"src":"18319:21:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":78934,"id":78937,"nodeType":"Return","src":"18312:28:130"}]},"functionSelector":"0ba95909","implemented":true,"kind":"function","modifiers":[],"name":"getMaxAmount","nameLocation":"18257:12:130","parameters":{"id":78931,"nodeType":"ParameterList","parameters":[],"src":"18269:2:130"},"returnParameters":{"id":78934,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78933,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":78939,"src":"18293:7:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78932,"name":"uint256","nodeType":"ElementaryTypeName","src":"18293:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"18292:9:130"},"scope":80578,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":78948,"nodeType":"FunctionDefinition","src":"18353:110:130","nodes":[],"body":{"id":78947,"nodeType":"Block","src":"18428:35:130","nodes":[],"statements":[{"expression":{"id":78945,"name":"pointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77955,"src":"18445:11:130","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$77676","typeString":"enum StrategyStruct.PointSystem"}},"functionReturnParameters":78944,"id":78946,"nodeType":"Return","src":"18438:18:130"}]},"baseFunctions":[77666],"functionSelector":"c3292171","implemented":true,"kind":"function","modifiers":[],"name":"getPointSystem","nameLocation":"18362:14:130","parameters":{"id":78940,"nodeType":"ParameterList","parameters":[],"src":"18376:2:130"},"returnParameters":{"id":78944,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78943,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":78948,"src":"18400:26:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$77676","typeString":"enum StrategyStruct.PointSystem"},"typeName":{"id":78942,"nodeType":"UserDefinedTypeName","pathNode":{"id":78941,"name":"StrategyStruct.PointSystem","nameLocations":["18400:14:130","18415:11:130"],"nodeType":"IdentifierPath","referencedDeclaration":77676,"src":"18400:26:130"},"referencedDeclaration":77676,"src":"18400:26:130","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$77676","typeString":"enum StrategyStruct.PointSystem"}},"visibility":"internal"}],"src":"18399:28:130"},"scope":80578,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":78959,"nodeType":"FunctionDefinition","src":"18579:226:130","nodes":[],"body":{"id":78958,"nodeType":"Block","src":"18657:148:130","nodes":[],"statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":78955,"name":"NotImplemented","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77773,"src":"18722:14:130","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":78956,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18722:16:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78957,"nodeType":"RevertStatement","src":"18715:23:130"}]},"functionSelector":"e33add93","implemented":true,"kind":"function","modifiers":[],"name":"supportProposal","nameLocation":"18588:15:130","parameters":{"id":78953,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78952,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":78959,"src":"18604:39:130","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$77726_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport[]"},"typeName":{"baseType":{"id":78950,"nodeType":"UserDefinedTypeName","pathNode":{"id":78949,"name":"StrategyStruct.ProposalSupport","nameLocations":["18604:14:130","18619:15:130"],"nodeType":"IdentifierPath","referencedDeclaration":77726,"src":"18604:30:130"},"referencedDeclaration":77726,"src":"18604:30:130","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$77726_storage_ptr","typeString":"struct StrategyStruct.ProposalSupport"}},"id":78951,"nodeType":"ArrayTypeName","src":"18604:32:130","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$77726_storage_$dyn_storage_ptr","typeString":"struct StrategyStruct.ProposalSupport[]"}},"visibility":"internal"}],"src":"18603:41:130"},"returnParameters":{"id":78954,"nodeType":"ParameterList","parameters":[],"src":"18657:0:130"},"scope":80578,"stateMutability":"pure","virtual":false,"visibility":"public"},{"id":79024,"nodeType":"FunctionDefinition","src":"18951:650:130","nodes":[],"body":{"id":79023,"nodeType":"Block","src":"19025:576:130","nodes":[],"statements":[{"expression":{"arguments":[{"id":78968,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78963,"src":"19055:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":78967,"name":"checkSenderIsMember","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78178,"src":"19035:19:130","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$__$","typeString":"function (address) view"}},"id":78969,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19035:28:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78970,"nodeType":"ExpressionStatement","src":"19035:28:130"},{"condition":{"id":78974,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"19077:27:130","subExpression":{"arguments":[{"id":78972,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78963,"src":"19096:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":78971,"name":"_canExecuteAction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78240,"src":"19078:17:130","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":78973,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19078:26:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":78979,"nodeType":"IfStatement","src":"19073:90:130","trueBody":{"id":78978,"nodeType":"Block","src":"19106:57:130","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":78975,"name":"UserCannotExecuteAction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77837,"src":"19127:23:130","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":78976,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19127:25:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78977,"nodeType":"RevertStatement","src":"19120:32:130"}]}},{"assignments":[78981],"declarations":[{"constant":false,"id":78981,"mutability":"mutable","name":"isMemberActivatedPoints","nameLocation":"19223:23:130","nodeType":"VariableDeclaration","scope":79023,"src":"19218:28:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":78980,"name":"bool","nodeType":"ElementaryTypeName","src":"19218:4:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":78990,"initialValue":{"arguments":[{"id":78984,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78963,"src":"19295:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":78987,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"19312:4:130","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$80578","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$80578","typeString":"contract CVStrategyV0_0"}],"id":78986,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"19304:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":78985,"name":"address","nodeType":"ElementaryTypeName","src":"19304:7:130","typeDescriptions":{}}},"id":78988,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19304:13:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":78982,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77961,"src":"19249:17:130","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"}},"id":78983,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19267:27:130","memberName":"memberActivatedInStrategies","nodeType":"MemberAccess","referencedDeclaration":83234,"src":"19249:45:130","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_bool_$","typeString":"function (address,address) view external returns (bool)"}},"id":78989,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19249:69:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"VariableDeclarationStatement","src":"19218:100:130"},{"condition":{"id":78992,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"19332:24:130","subExpression":{"id":78991,"name":"isMemberActivatedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78981,"src":"19333:23:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":78997,"nodeType":"IfStatement","src":"19328:78:130","trueBody":{"id":78996,"nodeType":"Block","src":"19358:48:130","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":78993,"name":"UserIsInactive","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77769,"src":"19379:14:130","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":78994,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19379:16:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78995,"nodeType":"RevertStatement","src":"19372:23:130"}]}},{"assignments":[79003],"declarations":[{"constant":false,"id":79003,"mutability":"mutable","name":"pv","nameLocation":"19455:2:130","nodeType":"VariableDeclaration","scope":79023,"src":"19415:42:130","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$77726_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport[]"},"typeName":{"baseType":{"id":79001,"nodeType":"UserDefinedTypeName","pathNode":{"id":79000,"name":"StrategyStruct.ProposalSupport","nameLocations":["19415:14:130","19430:15:130"],"nodeType":"IdentifierPath","referencedDeclaration":77726,"src":"19415:30:130"},"referencedDeclaration":77726,"src":"19415:30:130","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$77726_storage_ptr","typeString":"struct StrategyStruct.ProposalSupport"}},"id":79002,"nodeType":"ArrayTypeName","src":"19415:32:130","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$77726_storage_$dyn_storage_ptr","typeString":"struct StrategyStruct.ProposalSupport[]"}},"visibility":"internal"}],"id":79012,"initialValue":{"arguments":[{"id":79006,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78961,"src":"19471:5:130","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"baseExpression":{"expression":{"id":79007,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77752,"src":"19479:14:130","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$77752_$","typeString":"type(library StrategyStruct)"}},"id":79008,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19494:15:130","memberName":"ProposalSupport","nodeType":"MemberAccess","referencedDeclaration":77726,"src":"19479:30:130","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ProposalSupport_$77726_storage_ptr_$","typeString":"type(struct StrategyStruct.ProposalSupport storage pointer)"}},"id":79009,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"19479:32:130","typeDescriptions":{"typeIdentifier":"t_type$_t_array$_t_struct$_ProposalSupport_$77726_memory_ptr_$dyn_memory_ptr_$","typeString":"type(struct StrategyStruct.ProposalSupport memory[] memory)"}}],"id":79010,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"19478:34:130","typeDescriptions":{"typeIdentifier":"t_type$_t_array$_t_struct$_ProposalSupport_$77726_memory_ptr_$dyn_memory_ptr_$","typeString":"type(struct StrategyStruct.ProposalSupport memory[] memory)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_array$_t_struct$_ProposalSupport_$77726_memory_ptr_$dyn_memory_ptr_$","typeString":"type(struct StrategyStruct.ProposalSupport memory[] memory)"}],"expression":{"id":79004,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"19460:3:130","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":79005,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"19464:6:130","memberName":"decode","nodeType":"MemberAccess","src":"19460:10:130","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":79011,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19460:53:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$77726_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"19415:98:130"},{"expression":{"arguments":[{"id":79014,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78963,"src":"19548:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":79015,"name":"pv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79003,"src":"19557:2:130","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$77726_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$77726_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}],"id":79013,"name":"_check_before_addSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79724,"src":"19523:24:130","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_array$_t_struct$_ProposalSupport_$77726_memory_ptr_$dyn_memory_ptr_$returns$__$","typeString":"function (address,struct StrategyStruct.ProposalSupport memory[] memory)"}},"id":79016,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19523:37:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":79017,"nodeType":"ExpressionStatement","src":"19523:37:130"},{"expression":{"arguments":[{"id":79019,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78963,"src":"19582:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":79020,"name":"pv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79003,"src":"19591:2:130","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$77726_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$77726_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}],"id":79018,"name":"_addSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80011,"src":"19570:11:130","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_array$_t_struct$_ProposalSupport_$77726_memory_ptr_$dyn_memory_ptr_$returns$__$","typeString":"function (address,struct StrategyStruct.ProposalSupport memory[] memory)"}},"id":79021,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19570:24:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":79022,"nodeType":"ExpressionStatement","src":"19570:24:130"}]},"baseFunctions":[74566],"implemented":true,"kind":"function","modifiers":[],"name":"_allocate","nameLocation":"18960:9:130","overrides":{"id":78965,"nodeType":"OverrideSpecifier","overrides":[],"src":"19016:8:130"},"parameters":{"id":78964,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78961,"mutability":"mutable","name":"_data","nameLocation":"18983:5:130","nodeType":"VariableDeclaration","scope":79024,"src":"18970:18:130","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":78960,"name":"bytes","nodeType":"ElementaryTypeName","src":"18970:5:130","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":78963,"mutability":"mutable","name":"_sender","nameLocation":"18998:7:130","nodeType":"VariableDeclaration","scope":79024,"src":"18990:15:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":78962,"name":"address","nodeType":"ElementaryTypeName","src":"18990:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"18969:37:130"},"returnParameters":{"id":78966,"nodeType":"ParameterList","parameters":[],"src":"19025:0:130"},"scope":80578,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":79180,"nodeType":"FunctionDefinition","src":"19857:1756:130","nodes":[],"body":{"id":79179,"nodeType":"Block","src":"19943:1670:130","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79038,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":79035,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79029,"src":"20036:5:130","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":79036,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20042:6:130","memberName":"length","nodeType":"MemberAccess","src":"20036:12:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"hexValue":"30","id":79037,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20052:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"20036:17:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":79043,"nodeType":"IfStatement","src":"20032:76:130","trueBody":{"id":79042,"nodeType":"Block","src":"20055:53:130","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":79039,"name":"ProposalDataIsEmpty","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77805,"src":"20076:19:130","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":79040,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20076:21:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":79041,"nodeType":"RevertStatement","src":"20069:28:130"}]}},{"assignments":[79045],"declarations":[{"constant":false,"id":79045,"mutability":"mutable","name":"proposalId","nameLocation":"20126:10:130","nodeType":"VariableDeclaration","scope":79179,"src":"20118:18:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79044,"name":"uint256","nodeType":"ElementaryTypeName","src":"20118:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":79053,"initialValue":{"arguments":[{"id":79048,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79029,"src":"20150:5:130","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":79050,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"20158:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":79049,"name":"uint256","nodeType":"ElementaryTypeName","src":"20158:7:130","typeDescriptions":{}}}],"id":79051,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"20157:9:130","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}],"expression":{"id":79046,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"20139:3:130","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":79047,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"20143:6:130","memberName":"decode","nodeType":"MemberAccess","src":"20139:10:130","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":79052,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20139:28:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"20118:49:130"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79056,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":79054,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79045,"src":"20182:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":79055,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20196:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"20182:15:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":79061,"nodeType":"IfStatement","src":"20178:77:130","trueBody":{"id":79060,"nodeType":"Block","src":"20199:56:130","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":79057,"name":"ProposalIdCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77807,"src":"20220:22:130","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":79058,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20220:24:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":79059,"nodeType":"RevertStatement","src":"20213:31:130"}]}},{"assignments":[79066],"declarations":[{"constant":false,"id":79066,"mutability":"mutable","name":"proposal","nameLocation":"20296:8:130","nodeType":"VariableDeclaration","scope":79179,"src":"20264:40:130","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":79065,"nodeType":"UserDefinedTypeName","pathNode":{"id":79064,"name":"StrategyStruct.Proposal","nameLocations":["20264:14:130","20279:8:130"],"nodeType":"IdentifierPath","referencedDeclaration":77721,"src":"20264:23:130"},"referencedDeclaration":77721,"src":"20264:23:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":79070,"initialValue":{"baseExpression":{"id":79067,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77969,"src":"20307:9:130","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$77721_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":79069,"indexExpression":{"id":79068,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79045,"src":"20317:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"20307:21:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"20264:64:130"},{"condition":{"commonType":{"typeIdentifier":"t_enum$_ProposalType_$77671","typeString":"enum StrategyStruct.ProposalType"},"id":79075,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":79071,"name":"proposalType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77952,"src":"20343:12:130","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$77671","typeString":"enum StrategyStruct.ProposalType"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":79072,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77752,"src":"20359:14:130","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$77752_$","typeString":"type(library StrategyStruct)"}},"id":79073,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20374:12:130","memberName":"ProposalType","nodeType":"MemberAccess","referencedDeclaration":77671,"src":"20359:27:130","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalType_$77671_$","typeString":"type(enum StrategyStruct.ProposalType)"}},"id":79074,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"20387:7:130","memberName":"Funding","nodeType":"MemberAccess","referencedDeclaration":77669,"src":"20359:35:130","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$77671","typeString":"enum StrategyStruct.ProposalType"}},"src":"20343:51:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":79178,"nodeType":"IfStatement","src":"20339:1208:130","trueBody":{"id":79177,"nodeType":"Block","src":"20396:1151:130","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79079,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":79076,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79066,"src":"20414:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79077,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"20423:10:130","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":77696,"src":"20414:19:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":79078,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79045,"src":"20437:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20414:33:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":79085,"nodeType":"IfStatement","src":"20410:108:130","trueBody":{"id":79084,"nodeType":"Block","src":"20449:69:130","statements":[{"errorCall":{"arguments":[{"id":79081,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79045,"src":"20492:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":79080,"name":"ProposalNotInList","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77815,"src":"20474:17:130","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":79082,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20474:29:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":79083,"nodeType":"RevertStatement","src":"20467:36:130"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79089,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":79086,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79066,"src":"20536:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79087,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"20545:15:130","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":77698,"src":"20536:24:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":79088,"name":"poolAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74092,"src":"20563:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20536:37:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":79098,"nodeType":"IfStatement","src":"20532:152:130","trueBody":{"id":79097,"nodeType":"Block","src":"20575:109:130","statements":[{"errorCall":{"arguments":[{"id":79091,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79045,"src":"20620:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":79092,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79066,"src":"20632:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79093,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"20641:15:130","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":77698,"src":"20632:24:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":79094,"name":"poolAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74092,"src":"20658:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":79090,"name":"PoolAmountNotEnough","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77833,"src":"20600:19:130","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256,uint256) pure"}},"id":79095,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20600:69:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":79096,"nodeType":"RevertStatement","src":"20593:76:130"}]}},{"condition":{"commonType":{"typeIdentifier":"t_enum$_ProposalStatus_$77694","typeString":"enum StrategyStruct.ProposalStatus"},"id":79104,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":79099,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79066,"src":"20702:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79100,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"20711:14:130","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":77713,"src":"20702:23:130","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$77694","typeString":"enum StrategyStruct.ProposalStatus"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"expression":{"id":79101,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77752,"src":"20729:14:130","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$77752_$","typeString":"type(library StrategyStruct)"}},"id":79102,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20744:14:130","memberName":"ProposalStatus","nodeType":"MemberAccess","referencedDeclaration":77694,"src":"20729:29:130","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$77694_$","typeString":"type(enum StrategyStruct.ProposalStatus)"}},"id":79103,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"20759:6:130","memberName":"Active","nodeType":"MemberAccess","referencedDeclaration":77690,"src":"20729:36:130","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$77694","typeString":"enum StrategyStruct.ProposalStatus"}},"src":"20702:63:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":79110,"nodeType":"IfStatement","src":"20698:138:130","trueBody":{"id":79109,"nodeType":"Block","src":"20767:69:130","statements":[{"errorCall":{"arguments":[{"id":79106,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79045,"src":"20810:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":79105,"name":"ProposalNotActive","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77811,"src":"20792:17:130","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":79107,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20792:29:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":79108,"nodeType":"RevertStatement","src":"20785:36:130"}]}},{"assignments":[79112],"declarations":[{"constant":false,"id":79112,"mutability":"mutable","name":"convictionLast","nameLocation":"20858:14:130","nodeType":"VariableDeclaration","scope":79177,"src":"20850:22:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79111,"name":"uint256","nodeType":"ElementaryTypeName","src":"20850:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":79116,"initialValue":{"arguments":[{"id":79114,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79045,"src":"20900:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":79113,"name":"updateProposalConviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80434,"src":"20875:24:130","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) returns (uint256)"}},"id":79115,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20875:36:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"20850:61:130"},{"assignments":[79118],"declarations":[{"constant":false,"id":79118,"mutability":"mutable","name":"threshold","nameLocation":"20933:9:130","nodeType":"VariableDeclaration","scope":79177,"src":"20925:17:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79117,"name":"uint256","nodeType":"ElementaryTypeName","src":"20925:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":79123,"initialValue":{"arguments":[{"expression":{"id":79120,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79066,"src":"20964:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79121,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"20973:15:130","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":77698,"src":"20964:24:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":79119,"name":"calculateThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80190,"src":"20945:18:130","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":79122,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20945:44:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"20925:64:130"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":79131,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79126,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":79124,"name":"convictionLast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79112,"src":"21008:14:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":79125,"name":"threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79118,"src":"21025:9:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"21008:26:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79130,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":79127,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79066,"src":"21038:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79128,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"21047:15:130","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":77698,"src":"21038:24:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":79129,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21065:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"21038:28:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"21008:58:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":79136,"nodeType":"IfStatement","src":"21004:137:130","trueBody":{"id":79135,"nodeType":"Block","src":"21068:73:130","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":79132,"name":"ConvictionUnderMinimumThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77823,"src":"21093:31:130","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":79133,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21093:33:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":79134,"nodeType":"RevertStatement","src":"21086:40:130"}]}},{"assignments":[79141],"declarations":[{"constant":false,"id":79141,"mutability":"mutable","name":"pool","nameLocation":"21173:4:130","nodeType":"VariableDeclaration","scope":79177,"src":"21155:22:130","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool"},"typeName":{"id":79140,"nodeType":"UserDefinedTypeName","pathNode":{"id":79139,"name":"IAllo.Pool","nameLocations":["21155:5:130","21161:4:130"],"nodeType":"IdentifierPath","referencedDeclaration":2319,"src":"21155:10:130"},"referencedDeclaration":2319,"src":"21155:10:130","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool"}},"visibility":"internal"}],"id":79146,"initialValue":{"arguments":[{"id":79144,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74090,"src":"21193:6:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":79142,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74084,"src":"21180:4:130","typeDescriptions":{"typeIdentifier":"t_contract$_IAllo_$2610","typeString":"contract IAllo"}},"id":79143,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21185:7:130","memberName":"getPool","nodeType":"MemberAccess","referencedDeclaration":2603,"src":"21180:12:130","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_struct$_Pool_$2319_memory_ptr_$","typeString":"function (uint256) view external returns (struct IAllo.Pool memory)"}},"id":79145,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21180:20:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"nodeType":"VariableDeclarationStatement","src":"21155:45:130"},{"expression":{"id":79150,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":79147,"name":"poolAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74092,"src":"21215:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"expression":{"id":79148,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79066,"src":"21229:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79149,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"21238:15:130","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":77698,"src":"21229:24:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"21215:38:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79151,"nodeType":"ExpressionStatement","src":"21215:38:130"},{"expression":{"arguments":[{"expression":{"id":79153,"name":"pool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79141,"src":"21291:4:130","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"id":79154,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"21296:5:130","memberName":"token","nodeType":"MemberAccess","referencedDeclaration":2311,"src":"21291:10:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":79155,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79066,"src":"21303:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79156,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"21312:11:130","memberName":"beneficiary","nodeType":"MemberAccess","referencedDeclaration":77704,"src":"21303:20:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":79157,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79066,"src":"21325:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79158,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"21334:15:130","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":77698,"src":"21325:24:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":79152,"name":"_transferAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3287,"src":"21275:15:130","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":79159,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21275:75:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":79160,"nodeType":"ExpressionStatement","src":"21275:75:130"},{"expression":{"id":79167,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":79161,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79066,"src":"21381:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79163,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"21390:14:130","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":77713,"src":"21381:23:130","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$77694","typeString":"enum StrategyStruct.ProposalStatus"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"expression":{"id":79164,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77752,"src":"21407:14:130","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$77752_$","typeString":"type(library StrategyStruct)"}},"id":79165,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21422:14:130","memberName":"ProposalStatus","nodeType":"MemberAccess","referencedDeclaration":77694,"src":"21407:29:130","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$77694_$","typeString":"type(enum StrategyStruct.ProposalStatus)"}},"id":79166,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"21437:8:130","memberName":"Executed","nodeType":"MemberAccess","referencedDeclaration":77693,"src":"21407:38:130","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$77694","typeString":"enum StrategyStruct.ProposalStatus"}},"src":"21381:64:130","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$77694","typeString":"enum StrategyStruct.ProposalStatus"}},"id":79168,"nodeType":"ExpressionStatement","src":"21381:64:130"},{"eventCall":{"arguments":[{"id":79170,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79045,"src":"21477:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":79171,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79066,"src":"21489:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79172,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"21498:11:130","memberName":"beneficiary","nodeType":"MemberAccess","referencedDeclaration":77704,"src":"21489:20:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":79173,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79066,"src":"21511:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79174,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"21520:15:130","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":77698,"src":"21511:24:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":79169,"name":"Distributed","nodeType":"Identifier","overloadedDeclarations":[77852,2858],"referencedDeclaration":77852,"src":"21465:11:130","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_address_$_t_uint256_$returns$__$","typeString":"function (uint256,address,uint256)"}},"id":79175,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21465:71:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":79176,"nodeType":"EmitStatement","src":"21460:76:130"}]}}]},"baseFunctions":[74577],"implemented":true,"kind":"function","modifiers":[],"name":"_distribute","nameLocation":"19866:11:130","overrides":{"id":79033,"nodeType":"OverrideSpecifier","overrides":[],"src":"19934:8:130"},"parameters":{"id":79032,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79027,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":79180,"src":"19878:16:130","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":79025,"name":"address","nodeType":"ElementaryTypeName","src":"19878:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":79026,"nodeType":"ArrayTypeName","src":"19878:9:130","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":79029,"mutability":"mutable","name":"_data","nameLocation":"19909:5:130","nodeType":"VariableDeclaration","scope":79180,"src":"19896:18:130","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":79028,"name":"bytes","nodeType":"ElementaryTypeName","src":"19896:5:130","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":79031,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":79180,"src":"19916:7:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":79030,"name":"address","nodeType":"ElementaryTypeName","src":"19916:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"19877:47:130"},"returnParameters":{"id":79034,"nodeType":"ParameterList","parameters":[],"src":"19943:0:130"},"scope":80578,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":79234,"nodeType":"FunctionDefinition","src":"21619:735:130","nodes":[],"body":{"id":79233,"nodeType":"Block","src":"21708:646:130","nodes":[],"statements":[{"assignments":[79191],"declarations":[{"constant":false,"id":79191,"mutability":"mutable","name":"proposal","nameLocation":"21750:8:130","nodeType":"VariableDeclaration","scope":79233,"src":"21718:40:130","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":79190,"nodeType":"UserDefinedTypeName","pathNode":{"id":79189,"name":"StrategyStruct.Proposal","nameLocations":["21718:14:130","21733:8:130"],"nodeType":"IdentifierPath","referencedDeclaration":77721,"src":"21718:23:130"},"referencedDeclaration":77721,"src":"21718:23:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":79195,"initialValue":{"baseExpression":{"id":79192,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77969,"src":"21761:9:130","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$77721_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":79194,"indexExpression":{"id":79193,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79182,"src":"21771:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"21761:21:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"21718:64:130"},{"assignments":[79197,79199],"declarations":[{"constant":false,"id":79197,"mutability":"mutable","name":"convictionLast","nameLocation":"21876:14:130","nodeType":"VariableDeclaration","scope":79233,"src":"21868:22:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79196,"name":"uint256","nodeType":"ElementaryTypeName","src":"21868:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":79199,"mutability":"mutable","name":"blockNumber","nameLocation":"21900:11:130","nodeType":"VariableDeclaration","scope":79233,"src":"21892:19:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79198,"name":"uint256","nodeType":"ElementaryTypeName","src":"21892:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":79205,"initialValue":{"arguments":[{"id":79201,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79191,"src":"21961:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},{"expression":{"id":79202,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79191,"src":"21971:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79203,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"21980:12:130","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":77700,"src":"21971:21:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":79200,"name":"_checkBlockAndCalculateConviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80386,"src":"21927:33:130","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Proposal_$77721_storage_ptr_$_t_uint256_$returns$_t_uint256_$_t_uint256_$","typeString":"function (struct StrategyStruct.Proposal storage pointer,uint256) view returns (uint256,uint256)"}},"id":79204,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21927:66:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_uint256_$","typeString":"tuple(uint256,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"21867:126:130"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":79212,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79208,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":79206,"name":"convictionLast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79197,"src":"22008:14:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":79207,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22026:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"22008:19:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79211,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":79209,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79199,"src":"22031:11:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":79210,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22046:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"22031:16:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"22008:39:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":79219,"nodeType":"IfStatement","src":"22004:110:130","trueBody":{"id":79218,"nodeType":"Block","src":"22049:65:130","statements":[{"expression":{"id":79216,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":79213,"name":"convictionLast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79197,"src":"22063:14:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":79214,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79191,"src":"22080:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79215,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"22089:14:130","memberName":"convictionLast","nodeType":"MemberAccess","referencedDeclaration":77702,"src":"22080:23:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"22063:40:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79217,"nodeType":"ExpressionStatement","src":"22063:40:130"}]}},{"assignments":[79221],"declarations":[{"constant":false,"id":79221,"mutability":"mutable","name":"threshold","nameLocation":"22131:9:130","nodeType":"VariableDeclaration","scope":79233,"src":"22123:17:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79220,"name":"uint256","nodeType":"ElementaryTypeName","src":"22123:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":79226,"initialValue":{"arguments":[{"expression":{"id":79223,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79191,"src":"22162:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79224,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"22171:15:130","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":77698,"src":"22162:24:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":79222,"name":"calculateThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80190,"src":"22143:18:130","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":79225,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22143:44:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"22123:64:130"},{"expression":{"id":79231,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":79227,"name":"canBeExecuted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79185,"src":"22304:13:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79230,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":79228,"name":"convictionLast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79197,"src":"22320:14:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":79229,"name":"threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79221,"src":"22338:9:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"22320:27:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"22304:43:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":79232,"nodeType":"ExpressionStatement","src":"22304:43:130"}]},"functionSelector":"824ea8ed","implemented":true,"kind":"function","modifiers":[],"name":"canExecuteProposal","nameLocation":"21628:18:130","parameters":{"id":79183,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79182,"mutability":"mutable","name":"proposalId","nameLocation":"21655:10:130","nodeType":"VariableDeclaration","scope":79234,"src":"21647:18:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79181,"name":"uint256","nodeType":"ElementaryTypeName","src":"21647:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"21646:20:130"},"returnParameters":{"id":79186,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79185,"mutability":"mutable","name":"canBeExecuted","nameLocation":"21693:13:130","nodeType":"VariableDeclaration","scope":79234,"src":"21688:18:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":79184,"name":"bool","nodeType":"ElementaryTypeName","src":"21688:4:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"21687:20:130"},"scope":80578,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":79256,"nodeType":"FunctionDefinition","src":"22644:220:130","nodes":[],"body":{"id":79255,"nodeType":"Block","src":"22735:129:130","nodes":[],"statements":[{"expression":{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":79248,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":79243,"name":"_recipientId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79236,"src":"22795:12:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":79246,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22819:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":79245,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"22811:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":79244,"name":"address","nodeType":"ElementaryTypeName","src":"22811:7:130","typeDescriptions":{}}},"id":79247,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22811:10:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"22795:26:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"expression":{"id":79251,"name":"Status","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2815,"src":"22842:6:130","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_Status_$2815_$","typeString":"type(enum IStrategy.Status)"}},"id":79252,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"22849:8:130","memberName":"Accepted","nodeType":"MemberAccess","referencedDeclaration":2810,"src":"22842:15:130","typeDescriptions":{"typeIdentifier":"t_enum$_Status_$2815","typeString":"enum IStrategy.Status"}},"id":79253,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"22795:62:130","trueExpression":{"expression":{"id":79249,"name":"Status","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2815,"src":"22824:6:130","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_Status_$2815_$","typeString":"type(enum IStrategy.Status)"}},"id":79250,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"22831:8:130","memberName":"Rejected","nodeType":"MemberAccess","referencedDeclaration":2811,"src":"22824:15:130","typeDescriptions":{"typeIdentifier":"t_enum$_Status_$2815","typeString":"enum IStrategy.Status"}},"typeDescriptions":{"typeIdentifier":"t_enum$_Status_$2815","typeString":"enum IStrategy.Status"}},"functionReturnParameters":79242,"id":79254,"nodeType":"Return","src":"22788:69:130"}]},"baseFunctions":[74597],"implemented":true,"kind":"function","modifiers":[],"name":"_getRecipientStatus","nameLocation":"22653:19:130","overrides":{"id":79238,"nodeType":"OverrideSpecifier","overrides":[],"src":"22709:8:130"},"parameters":{"id":79237,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79236,"mutability":"mutable","name":"_recipientId","nameLocation":"22681:12:130","nodeType":"VariableDeclaration","scope":79256,"src":"22673:20:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":79235,"name":"address","nodeType":"ElementaryTypeName","src":"22673:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"22672:22:130"},"returnParameters":{"id":79242,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79241,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":79256,"src":"22727:6:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_Status_$2815","typeString":"enum IStrategy.Status"},"typeName":{"id":79240,"nodeType":"UserDefinedTypeName","pathNode":{"id":79239,"name":"Status","nameLocations":["22727:6:130"],"nodeType":"IdentifierPath","referencedDeclaration":2815,"src":"22727:6:130"},"referencedDeclaration":2815,"src":"22727:6:130","typeDescriptions":{"typeIdentifier":"t_enum$_Status_$2815","typeString":"enum IStrategy.Status"}},"visibility":"internal"}],"src":"22726:8:130"},"scope":80578,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":79275,"nodeType":"FunctionDefinition","src":"22993:288:130","nodes":[],"body":{"id":79274,"nodeType":"Block","src":"23103:178:130","nodes":[],"statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":79271,"name":"NotImplemented","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77773,"src":"23163:14:130","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":79272,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23163:16:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":79273,"nodeType":"RevertStatement","src":"23156:23:130"}]},"baseFunctions":[74436],"documentation":{"id":79257,"nodeType":"StructuredDocumentation","src":"22870:118:130","text":"@return Input the values you would send to distribute(), get the amounts each recipient in the array would receive"},"functionSelector":"b2b878d0","implemented":true,"kind":"function","modifiers":[],"name":"getPayouts","nameLocation":"23002:10:130","overrides":{"id":79265,"nodeType":"OverrideSpecifier","overrides":[],"src":"23061:8:130"},"parameters":{"id":79264,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79260,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":79275,"src":"23013:16:130","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":79258,"name":"address","nodeType":"ElementaryTypeName","src":"23013:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":79259,"nodeType":"ArrayTypeName","src":"23013:9:130","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":79263,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":79275,"src":"23031:14:130","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":79261,"name":"bytes","nodeType":"ElementaryTypeName","src":"23031:5:130","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":79262,"nodeType":"ArrayTypeName","src":"23031:7:130","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"23012:34:130"},"returnParameters":{"id":79270,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79269,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":79275,"src":"23079:22:130","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_PayoutSummary_$2820_memory_ptr_$dyn_memory_ptr","typeString":"struct IStrategy.PayoutSummary[]"},"typeName":{"baseType":{"id":79267,"nodeType":"UserDefinedTypeName","pathNode":{"id":79266,"name":"PayoutSummary","nameLocations":["23079:13:130"],"nodeType":"IdentifierPath","referencedDeclaration":2820,"src":"23079:13:130"},"referencedDeclaration":2820,"src":"23079:13:130","typeDescriptions":{"typeIdentifier":"t_struct$_PayoutSummary_$2820_storage_ptr","typeString":"struct IStrategy.PayoutSummary"}},"id":79268,"nodeType":"ArrayTypeName","src":"23079:15:130","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_PayoutSummary_$2820_storage_$dyn_storage_ptr","typeString":"struct IStrategy.PayoutSummary[]"}},"visibility":"internal"}],"src":"23078:24:130"},"scope":80578,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":79294,"nodeType":"FunctionDefinition","src":"23287:264:130","nodes":[],"body":{"id":79293,"nodeType":"Block","src":"23439:112:130","nodes":[],"statements":[{"expression":{"id":79286,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79279,"src":"23492:5:130","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":79287,"nodeType":"ExpressionStatement","src":"23492:5:130"},{"expression":{"arguments":[{"id":79289,"name":"_recipientId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79277,"src":"23528:12:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":79290,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"23542:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":79288,"name":"PayoutSummary","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2820,"src":"23514:13:130","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_PayoutSummary_$2820_storage_ptr_$","typeString":"type(struct IStrategy.PayoutSummary storage pointer)"}},"id":79291,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23514:30:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_PayoutSummary_$2820_memory_ptr","typeString":"struct IStrategy.PayoutSummary memory"}},"functionReturnParameters":79285,"id":79292,"nodeType":"Return","src":"23507:37:130"}]},"baseFunctions":[74588],"implemented":true,"kind":"function","modifiers":[],"name":"_getPayout","nameLocation":"23296:10:130","overrides":{"id":79281,"nodeType":"OverrideSpecifier","overrides":[],"src":"23387:8:130"},"parameters":{"id":79280,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79277,"mutability":"mutable","name":"_recipientId","nameLocation":"23315:12:130","nodeType":"VariableDeclaration","scope":79294,"src":"23307:20:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":79276,"name":"address","nodeType":"ElementaryTypeName","src":"23307:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":79279,"mutability":"mutable","name":"_data","nameLocation":"23342:5:130","nodeType":"VariableDeclaration","scope":79294,"src":"23329:18:130","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":79278,"name":"bytes","nodeType":"ElementaryTypeName","src":"23329:5:130","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"23306:42:130"},"returnParameters":{"id":79285,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79284,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":79294,"src":"23413:20:130","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_PayoutSummary_$2820_memory_ptr","typeString":"struct IStrategy.PayoutSummary"},"typeName":{"id":79283,"nodeType":"UserDefinedTypeName","pathNode":{"id":79282,"name":"PayoutSummary","nameLocations":["23413:13:130"],"nodeType":"IdentifierPath","referencedDeclaration":2820,"src":"23413:13:130"},"referencedDeclaration":2820,"src":"23413:13:130","typeDescriptions":{"typeIdentifier":"t_struct$_PayoutSummary_$2820_storage_ptr","typeString":"struct IStrategy.PayoutSummary"}},"visibility":"internal"}],"src":"23412:22:130"},"scope":80578,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":79305,"nodeType":"FunctionDefinition","src":"23557:127:130","nodes":[],"body":{"id":79304,"nodeType":"Block","src":"23634:50:130","nodes":[],"statements":[{"eventCall":{"arguments":[{"id":79301,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79296,"src":"23669:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":79300,"name":"PoolAmountIncreased","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77862,"src":"23649:19:130","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":79302,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23649:28:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":79303,"nodeType":"EmitStatement","src":"23644:33:130"}]},"baseFunctions":[74611],"implemented":true,"kind":"function","modifiers":[],"name":"_afterIncreasePoolAmount","nameLocation":"23566:24:130","overrides":{"id":79298,"nodeType":"OverrideSpecifier","overrides":[],"src":"23625:8:130"},"parameters":{"id":79297,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79296,"mutability":"mutable","name":"_amount","nameLocation":"23599:7:130","nodeType":"VariableDeclaration","scope":79305,"src":"23591:15:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79295,"name":"uint256","nodeType":"ElementaryTypeName","src":"23591:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"23590:17:130"},"returnParameters":{"id":79299,"nodeType":"ParameterList","parameters":[],"src":"23634:0:130"},"scope":80578,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":79324,"nodeType":"FunctionDefinition","src":"23779:191:130","nodes":[],"body":{"id":79323,"nodeType":"Block","src":"23864:106:130","nodes":[],"statements":[{"expression":{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":79318,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":79313,"name":"_allocator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79307,"src":"23924:10:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":79316,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"23946:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":79315,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"23938:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":79314,"name":"address","nodeType":"ElementaryTypeName","src":"23938:7:130","typeDescriptions":{}}},"id":79317,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23938:10:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"23924:24:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"hexValue":"74727565","id":79320,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"23959:4:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"id":79321,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"23924:39:130","trueExpression":{"hexValue":"66616c7365","id":79319,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"23951:5:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":79312,"id":79322,"nodeType":"Return","src":"23917:46:130"}]},"baseFunctions":[74548],"implemented":true,"kind":"function","modifiers":[],"name":"_isValidAllocator","nameLocation":"23788:17:130","overrides":{"id":79309,"nodeType":"OverrideSpecifier","overrides":[],"src":"23840:8:130"},"parameters":{"id":79308,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79307,"mutability":"mutable","name":"_allocator","nameLocation":"23814:10:130","nodeType":"VariableDeclaration","scope":79324,"src":"23806:18:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":79306,"name":"address","nodeType":"ElementaryTypeName","src":"23806:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"23805:20:130"},"returnParameters":{"id":79312,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79311,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":79324,"src":"23858:4:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":79310,"name":"bool","nodeType":"ElementaryTypeName","src":"23858:4:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"23857:6:130"},"scope":80578,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":79334,"nodeType":"FunctionDefinition","src":"23976:86:130","nodes":[],"body":{"id":79333,"nodeType":"Block","src":"24022:40:130","nodes":[],"statements":[{"expression":{"arguments":[{"id":79330,"name":"_active","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79326,"src":"24047:7:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":79329,"name":"_setPoolActive","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74531,"src":"24032:14:130","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bool_$returns$__$","typeString":"function (bool)"}},"id":79331,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24032:23:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":79332,"nodeType":"ExpressionStatement","src":"24032:23:130"}]},"functionSelector":"b5f620ce","implemented":true,"kind":"function","modifiers":[],"name":"setPoolActive","nameLocation":"23985:13:130","parameters":{"id":79327,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79326,"mutability":"mutable","name":"_active","nameLocation":"24004:7:130","nodeType":"VariableDeclaration","scope":79334,"src":"23999:12:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":79325,"name":"bool","nodeType":"ElementaryTypeName","src":"23999:4:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"23998:14:130"},"returnParameters":{"id":79328,"nodeType":"ParameterList","parameters":[],"src":"24022:0:130"},"scope":80578,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":79422,"nodeType":"FunctionDefinition","src":"24068:836:130","nodes":[],"body":{"id":79421,"nodeType":"Block","src":"24112:792:130","nodes":[],"statements":[{"assignments":[79343],"declarations":[{"constant":false,"id":79343,"mutability":"mutable","name":"proposalsIds","nameLocation":"24187:12:130","nodeType":"VariableDeclaration","scope":79421,"src":"24170:29:130","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":79341,"name":"uint256","nodeType":"ElementaryTypeName","src":"24170:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79342,"nodeType":"ArrayTypeName","src":"24170:9:130","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"id":79347,"initialValue":{"baseExpression":{"id":79344,"name":"voterStakedProposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77978,"src":"24202:20:130","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$","typeString":"mapping(address => uint256[] storage ref)"}},"id":79346,"indexExpression":{"id":79345,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79336,"src":"24223:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"24202:29:130","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage","typeString":"uint256[] storage ref"}},"nodeType":"VariableDeclarationStatement","src":"24170:61:130"},{"body":{"id":79419,"nodeType":"Block","src":"24291:607:130","statements":[{"assignments":[79360],"declarations":[{"constant":false,"id":79360,"mutability":"mutable","name":"proposalId","nameLocation":"24313:10:130","nodeType":"VariableDeclaration","scope":79419,"src":"24305:18:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79359,"name":"uint256","nodeType":"ElementaryTypeName","src":"24305:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":79364,"initialValue":{"baseExpression":{"id":79361,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79343,"src":"24326:12:130","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":79363,"indexExpression":{"id":79362,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79349,"src":"24339:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"24326:15:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"24305:36:130"},{"assignments":[79369],"declarations":[{"constant":false,"id":79369,"mutability":"mutable","name":"proposal","nameLocation":"24387:8:130","nodeType":"VariableDeclaration","scope":79419,"src":"24355:40:130","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":79368,"nodeType":"UserDefinedTypeName","pathNode":{"id":79367,"name":"StrategyStruct.Proposal","nameLocations":["24355:14:130","24370:8:130"],"nodeType":"IdentifierPath","referencedDeclaration":77721,"src":"24355:23:130"},"referencedDeclaration":77721,"src":"24355:23:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":79373,"initialValue":{"baseExpression":{"id":79370,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77969,"src":"24398:9:130","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$77721_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":79372,"indexExpression":{"id":79371,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79360,"src":"24408:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"24398:21:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"24355:64:130"},{"condition":{"arguments":[{"id":79375,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79360,"src":"24452:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":79374,"name":"proposalExists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79610,"src":"24437:14:130","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view returns (bool)"}},"id":79376,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24437:26:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":79418,"nodeType":"IfStatement","src":"24433:455:130","trueBody":{"id":79417,"nodeType":"Block","src":"24465:423:130","statements":[{"assignments":[79378],"declarations":[{"constant":false,"id":79378,"mutability":"mutable","name":"stakedPoints","nameLocation":"24491:12:130","nodeType":"VariableDeclaration","scope":79417,"src":"24483:20:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79377,"name":"uint256","nodeType":"ElementaryTypeName","src":"24483:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":79383,"initialValue":{"baseExpression":{"expression":{"id":79379,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79369,"src":"24506:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79380,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24515:17:130","memberName":"voterStakedPoints","nodeType":"MemberAccess","referencedDeclaration":77717,"src":"24506:26:130","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":79382,"indexExpression":{"id":79381,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79336,"src":"24533:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"24506:35:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"24483:58:130"},{"expression":{"id":79390,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":79384,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79369,"src":"24559:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79387,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24568:17:130","memberName":"voterStakedPoints","nodeType":"MemberAccess","referencedDeclaration":77717,"src":"24559:26:130","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":79388,"indexExpression":{"id":79386,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79336,"src":"24586:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"24559:35:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"30","id":79389,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"24597:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"24559:39:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79391,"nodeType":"ExpressionStatement","src":"24559:39:130"},{"expression":{"id":79396,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":79392,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79369,"src":"24616:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79394,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"24625:12:130","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":77700,"src":"24616:21:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"id":79395,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79378,"src":"24641:12:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"24616:37:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79397,"nodeType":"ExpressionStatement","src":"24616:37:130"},{"expression":{"id":79400,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":79398,"name":"totalStaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77942,"src":"24671:11:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"id":79399,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79378,"src":"24686:12:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"24671:27:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79401,"nodeType":"ExpressionStatement","src":"24671:27:130"},{"expression":{"arguments":[{"id":79403,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79369,"src":"24743:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},{"id":79404,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79378,"src":"24753:12:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":79402,"name":"_calculateAndSetConviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80339,"src":"24716:26:130","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_Proposal_$77721_storage_ptr_$_t_uint256_$returns$__$","typeString":"function (struct StrategyStruct.Proposal storage pointer,uint256)"}},"id":79405,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24716:50:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":79406,"nodeType":"ExpressionStatement","src":"24716:50:130"},{"eventCall":{"arguments":[{"id":79408,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79336,"src":"24802:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":79409,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79360,"src":"24811:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":79410,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"24823:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"expression":{"id":79411,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79369,"src":"24826:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79412,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24835:12:130","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":77700,"src":"24826:21:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":79413,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79369,"src":"24849:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79414,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24858:14:130","memberName":"convictionLast","nodeType":"MemberAccess","referencedDeclaration":77702,"src":"24849:23:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":79407,"name":"SupportAdded","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77890,"src":"24789:12:130","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (address,uint256,uint256,uint256,uint256)"}},"id":79415,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24789:84:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":79416,"nodeType":"EmitStatement","src":"24784:89:130"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79355,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":79352,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79349,"src":"24261:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":79353,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79343,"src":"24265:12:130","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":79354,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24278:6:130","memberName":"length","nodeType":"MemberAccess","src":"24265:19:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"24261:23:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":79420,"initializationExpression":{"assignments":[79349],"declarations":[{"constant":false,"id":79349,"mutability":"mutable","name":"i","nameLocation":"24254:1:130","nodeType":"VariableDeclaration","scope":79420,"src":"24246:9:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79348,"name":"uint256","nodeType":"ElementaryTypeName","src":"24246:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":79351,"initialValue":{"hexValue":"30","id":79350,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"24258:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"24246:13:130"},"loopExpression":{"expression":{"id":79357,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"24286:3:130","subExpression":{"id":79356,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79349,"src":"24286:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79358,"nodeType":"ExpressionStatement","src":"24286:3:130"},"nodeType":"ForStatement","src":"24241:657:130"}]},"implemented":true,"kind":"function","modifiers":[],"name":"withdraw","nameLocation":"24077:8:130","parameters":{"id":79337,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79336,"mutability":"mutable","name":"_member","nameLocation":"24094:7:130","nodeType":"VariableDeclaration","scope":79422,"src":"24086:15:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":79335,"name":"address","nodeType":"ElementaryTypeName","src":"24086:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"24085:17:130"},"returnParameters":{"id":79338,"nodeType":"ParameterList","parameters":[],"src":"24112:0:130"},"scope":80578,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":79496,"nodeType":"FunctionDefinition","src":"25466:1038:130","nodes":[],"body":{"id":79495,"nodeType":"Block","src":"25935:569:130","nodes":[],"statements":[{"assignments":[79453],"declarations":[{"constant":false,"id":79453,"mutability":"mutable","name":"proposal","nameLocation":"25977:8:130","nodeType":"VariableDeclaration","scope":79495,"src":"25945:40:130","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":79452,"nodeType":"UserDefinedTypeName","pathNode":{"id":79451,"name":"StrategyStruct.Proposal","nameLocations":["25945:14:130","25960:8:130"],"nodeType":"IdentifierPath","referencedDeclaration":77721,"src":"25945:23:130"},"referencedDeclaration":77721,"src":"25945:23:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":79457,"initialValue":{"baseExpression":{"id":79454,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77969,"src":"25988:9:130","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$77721_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":79456,"indexExpression":{"id":79455,"name":"_proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79425,"src":"25998:11:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"25988:22:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"25945:65:130"},{"expression":{"id":79469,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":79458,"name":"threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79445,"src":"26021:9:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79462,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":79459,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79453,"src":"26033:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79460,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"26042:15:130","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":77698,"src":"26033:24:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":79461,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"26061:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"26033:29:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"arguments":[{"expression":{"id":79465,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79453,"src":"26088:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79466,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"26097:15:130","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":77698,"src":"26088:24:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":79464,"name":"calculateThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80190,"src":"26069:18:130","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":79467,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26069:44:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79468,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"26033:80:130","trueExpression":{"hexValue":"30","id":79463,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"26065:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"26021:92:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79470,"nodeType":"ExpressionStatement","src":"26021:92:130"},{"expression":{"components":[{"expression":{"id":79471,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79453,"src":"26144:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79472,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"26153:9:130","memberName":"submitter","nodeType":"MemberAccess","referencedDeclaration":77706,"src":"26144:18:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":79473,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79453,"src":"26176:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79474,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"26185:11:130","memberName":"beneficiary","nodeType":"MemberAccess","referencedDeclaration":77704,"src":"26176:20:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":79475,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79453,"src":"26210:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79476,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"26219:14:130","memberName":"requestedToken","nodeType":"MemberAccess","referencedDeclaration":77708,"src":"26210:23:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":79477,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79453,"src":"26247:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79478,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"26256:15:130","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":77698,"src":"26247:24:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":79479,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79453,"src":"26285:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79480,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"26294:12:130","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":77700,"src":"26285:21:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":79481,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79453,"src":"26320:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79482,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"26329:14:130","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":77713,"src":"26320:23:130","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$77694","typeString":"enum StrategyStruct.ProposalStatus"}},{"expression":{"id":79483,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79453,"src":"26357:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79484,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"26366:9:130","memberName":"blockLast","nodeType":"MemberAccess","referencedDeclaration":77710,"src":"26357:18:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":79485,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79453,"src":"26389:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79486,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"26398:14:130","memberName":"convictionLast","nodeType":"MemberAccess","referencedDeclaration":77702,"src":"26389:23:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":79487,"name":"threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79445,"src":"26426:9:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"baseExpression":{"expression":{"id":79488,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79453,"src":"26449:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79489,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"26458:17:130","memberName":"voterStakedPoints","nodeType":"MemberAccess","referencedDeclaration":77717,"src":"26449:26:130","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":79492,"indexExpression":{"expression":{"id":79490,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"26476:3:130","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":79491,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"26480:6:130","memberName":"sender","nodeType":"MemberAccess","src":"26476:10:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"26449:38:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":79493,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"26130:367:130","typeDescriptions":{"typeIdentifier":"t_tuple$_t_address_$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_enum$_ProposalStatus_$77694_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$","typeString":"tuple(address,address,address,uint256,uint256,enum StrategyStruct.ProposalStatus,uint256,uint256,uint256,uint256)"}},"functionReturnParameters":79448,"id":79494,"nodeType":"Return","src":"26123:374:130"}]},"documentation":{"id":79423,"nodeType":"StructuredDocumentation","src":"24910:551:130","text":" @dev Get proposal details\n @param _proposalId Proposal id\n @return submitter Proposal submitter\n @return beneficiary Proposal beneficiary\n @return requestedToken Proposal requested token\n @return requestedAmount Proposal requested amount\n @return stakedAmount Proposal staked points\n @return proposalStatus Proposal status\n @return blockLast Last block when conviction was calculated\n @return convictionLast Last conviction calculated\n @return threshold Proposal threshold"},"functionSelector":"c7f758a8","implemented":true,"kind":"function","modifiers":[],"name":"getProposal","nameLocation":"25475:11:130","parameters":{"id":79426,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79425,"mutability":"mutable","name":"_proposalId","nameLocation":"25495:11:130","nodeType":"VariableDeclaration","scope":79496,"src":"25487:19:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79424,"name":"uint256","nodeType":"ElementaryTypeName","src":"25487:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"25486:21:130"},"returnParameters":{"id":79448,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79428,"mutability":"mutable","name":"submitter","nameLocation":"25576:9:130","nodeType":"VariableDeclaration","scope":79496,"src":"25568:17:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":79427,"name":"address","nodeType":"ElementaryTypeName","src":"25568:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":79430,"mutability":"mutable","name":"beneficiary","nameLocation":"25607:11:130","nodeType":"VariableDeclaration","scope":79496,"src":"25599:19:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":79429,"name":"address","nodeType":"ElementaryTypeName","src":"25599:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":79432,"mutability":"mutable","name":"requestedToken","nameLocation":"25640:14:130","nodeType":"VariableDeclaration","scope":79496,"src":"25632:22:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":79431,"name":"address","nodeType":"ElementaryTypeName","src":"25632:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":79434,"mutability":"mutable","name":"requestedAmount","nameLocation":"25676:15:130","nodeType":"VariableDeclaration","scope":79496,"src":"25668:23:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79433,"name":"uint256","nodeType":"ElementaryTypeName","src":"25668:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":79436,"mutability":"mutable","name":"stakedAmount","nameLocation":"25713:12:130","nodeType":"VariableDeclaration","scope":79496,"src":"25705:20:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79435,"name":"uint256","nodeType":"ElementaryTypeName","src":"25705:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":79439,"mutability":"mutable","name":"proposalStatus","nameLocation":"25769:14:130","nodeType":"VariableDeclaration","scope":79496,"src":"25739:44:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$77694","typeString":"enum StrategyStruct.ProposalStatus"},"typeName":{"id":79438,"nodeType":"UserDefinedTypeName","pathNode":{"id":79437,"name":"StrategyStruct.ProposalStatus","nameLocations":["25739:14:130","25754:14:130"],"nodeType":"IdentifierPath","referencedDeclaration":77694,"src":"25739:29:130"},"referencedDeclaration":77694,"src":"25739:29:130","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$77694","typeString":"enum StrategyStruct.ProposalStatus"}},"visibility":"internal"},{"constant":false,"id":79441,"mutability":"mutable","name":"blockLast","nameLocation":"25805:9:130","nodeType":"VariableDeclaration","scope":79496,"src":"25797:17:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79440,"name":"uint256","nodeType":"ElementaryTypeName","src":"25797:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":79443,"mutability":"mutable","name":"convictionLast","nameLocation":"25836:14:130","nodeType":"VariableDeclaration","scope":79496,"src":"25828:22:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79442,"name":"uint256","nodeType":"ElementaryTypeName","src":"25828:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":79445,"mutability":"mutable","name":"threshold","nameLocation":"25872:9:130","nodeType":"VariableDeclaration","scope":79496,"src":"25864:17:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79444,"name":"uint256","nodeType":"ElementaryTypeName","src":"25864:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":79447,"mutability":"mutable","name":"voterStakedPoints","nameLocation":"25903:17:130","nodeType":"VariableDeclaration","scope":79496,"src":"25895:25:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79446,"name":"uint256","nodeType":"ElementaryTypeName","src":"25895:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"25554:376:130"},"scope":80578,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":79517,"nodeType":"FunctionDefinition","src":"26510:198:130","nodes":[],"body":{"id":79516,"nodeType":"Block","src":"26592:116:130","nodes":[],"statements":[{"assignments":[79508],"declarations":[{"constant":false,"id":79508,"mutability":"mutable","name":"proposal","nameLocation":"26634:8:130","nodeType":"VariableDeclaration","scope":79516,"src":"26602:40:130","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":79507,"nodeType":"UserDefinedTypeName","pathNode":{"id":79506,"name":"StrategyStruct.Proposal","nameLocations":["26602:14:130","26617:8:130"],"nodeType":"IdentifierPath","referencedDeclaration":77721,"src":"26602:23:130"},"referencedDeclaration":77721,"src":"26602:23:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":79512,"initialValue":{"baseExpression":{"id":79509,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77969,"src":"26645:9:130","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$77721_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":79511,"indexExpression":{"id":79510,"name":"_proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79498,"src":"26655:11:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"26645:22:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"26602:65:130"},{"expression":{"expression":{"id":79513,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79508,"src":"26684:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79514,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"26693:8:130","memberName":"metadata","nodeType":"MemberAccess","referencedDeclaration":77720,"src":"26684:17:130","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage","typeString":"struct Metadata storage ref"}},"functionReturnParameters":79503,"id":79515,"nodeType":"Return","src":"26677:24:130"}]},"functionSelector":"a574cea4","implemented":true,"kind":"function","modifiers":[],"name":"getMetadata","nameLocation":"26519:11:130","parameters":{"id":79499,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79498,"mutability":"mutable","name":"_proposalId","nameLocation":"26539:11:130","nodeType":"VariableDeclaration","scope":79517,"src":"26531:19:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79497,"name":"uint256","nodeType":"ElementaryTypeName","src":"26531:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"26530:21:130"},"returnParameters":{"id":79503,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79502,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":79517,"src":"26575:15:130","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata"},"typeName":{"id":79501,"nodeType":"UserDefinedTypeName","pathNode":{"id":79500,"name":"Metadata","nameLocations":["26575:8:130"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"26575:8:130"},"referencedDeclaration":3098,"src":"26575:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"}],"src":"26574:17:130"},"scope":80578,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":79533,"nodeType":"FunctionDefinition","src":"26909:176:130","nodes":[],"body":{"id":79532,"nodeType":"Block","src":"27009:76:130","nodes":[],"statements":[{"expression":{"arguments":[{"id":79528,"name":"_proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79520,"src":"27058:11:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":79529,"name":"_voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79522,"src":"27071:6:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"id":79527,"name":"_internal_getProposalVoterStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79575,"src":"27026:31:130","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_address_$returns$_t_uint256_$","typeString":"function (uint256,address) view returns (uint256)"}},"id":79530,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27026:52:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":79526,"id":79531,"nodeType":"Return","src":"27019:59:130"}]},"documentation":{"id":79518,"nodeType":"StructuredDocumentation","src":"26714:190:130","text":" @notice Get stake of voter `_voter` on proposal #`_proposalId`\n @param _proposalId Proposal id\n @param _voter Voter address\n @return Proposal voter stake"},"functionSelector":"e0dd2c38","implemented":true,"kind":"function","modifiers":[],"name":"getProposalVoterStake","nameLocation":"26918:21:130","parameters":{"id":79523,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79520,"mutability":"mutable","name":"_proposalId","nameLocation":"26948:11:130","nodeType":"VariableDeclaration","scope":79533,"src":"26940:19:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79519,"name":"uint256","nodeType":"ElementaryTypeName","src":"26940:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":79522,"mutability":"mutable","name":"_voter","nameLocation":"26969:6:130","nodeType":"VariableDeclaration","scope":79533,"src":"26961:14:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":79521,"name":"address","nodeType":"ElementaryTypeName","src":"26961:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"26939:37:130"},"returnParameters":{"id":79526,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79525,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":79533,"src":"27000:7:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79524,"name":"uint256","nodeType":"ElementaryTypeName","src":"27000:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"26999:9:130"},"scope":80578,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":79546,"nodeType":"FunctionDefinition","src":"27091:145:130","nodes":[],"body":{"id":79545,"nodeType":"Block","src":"27177:59:130","nodes":[],"statements":[{"expression":{"expression":{"baseExpression":{"id":79540,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77969,"src":"27194:9:130","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$77721_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":79542,"indexExpression":{"id":79541,"name":"_proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79535,"src":"27204:11:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"27194:22:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"id":79543,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"27217:12:130","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":77700,"src":"27194:35:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":79539,"id":79544,"nodeType":"Return","src":"27187:42:130"}]},"functionSelector":"dc96ff2d","implemented":true,"kind":"function","modifiers":[],"name":"getProposalStakedAmount","nameLocation":"27100:23:130","parameters":{"id":79536,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79535,"mutability":"mutable","name":"_proposalId","nameLocation":"27132:11:130","nodeType":"VariableDeclaration","scope":79546,"src":"27124:19:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79534,"name":"uint256","nodeType":"ElementaryTypeName","src":"27124:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"27123:21:130"},"returnParameters":{"id":79539,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79538,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":79546,"src":"27168:7:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79537,"name":"uint256","nodeType":"ElementaryTypeName","src":"27168:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"27167:9:130"},"scope":80578,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":79558,"nodeType":"FunctionDefinition","src":"27305:127:130","nodes":[],"body":{"id":79557,"nodeType":"Block","src":"27382:50:130","nodes":[],"statements":[{"expression":{"baseExpression":{"id":79553,"name":"totalVoterStakePct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77973,"src":"27399:18:130","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":79555,"indexExpression":{"id":79554,"name":"_voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79548,"src":"27418:6:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"27399:26:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":79552,"id":79556,"nodeType":"Return","src":"27392:33:130"}]},"functionSelector":"bcc5b93b","implemented":true,"kind":"function","modifiers":[],"name":"getTotalVoterStakePct","nameLocation":"27314:21:130","parameters":{"id":79549,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79548,"mutability":"mutable","name":"_voter","nameLocation":"27344:6:130","nodeType":"VariableDeclaration","scope":79558,"src":"27336:14:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":79547,"name":"address","nodeType":"ElementaryTypeName","src":"27336:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"27335:16:130"},"returnParameters":{"id":79552,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79551,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":79558,"src":"27373:7:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79550,"name":"uint256","nodeType":"ElementaryTypeName","src":"27373:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"27372:9:130"},"scope":80578,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":79575,"nodeType":"FunctionDefinition","src":"27438:182:130","nodes":[],"body":{"id":79574,"nodeType":"Block","src":"27548:72:130","nodes":[],"statements":[{"expression":{"baseExpression":{"expression":{"baseExpression":{"id":79567,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77969,"src":"27565:9:130","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$77721_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":79569,"indexExpression":{"id":79568,"name":"_proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79560,"src":"27575:11:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"27565:22:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"id":79570,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"27588:17:130","memberName":"voterStakedPoints","nodeType":"MemberAccess","referencedDeclaration":77717,"src":"27565:40:130","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":79572,"indexExpression":{"id":79571,"name":"_voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79562,"src":"27606:6:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"27565:48:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":79566,"id":79573,"nodeType":"Return","src":"27558:55:130"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_internal_getProposalVoterStake","nameLocation":"27447:31:130","parameters":{"id":79563,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79560,"mutability":"mutable","name":"_proposalId","nameLocation":"27487:11:130","nodeType":"VariableDeclaration","scope":79575,"src":"27479:19:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79559,"name":"uint256","nodeType":"ElementaryTypeName","src":"27479:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":79562,"mutability":"mutable","name":"_voter","nameLocation":"27508:6:130","nodeType":"VariableDeclaration","scope":79575,"src":"27500:14:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":79561,"name":"address","nodeType":"ElementaryTypeName","src":"27500:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"27478:37:130"},"returnParameters":{"id":79566,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79565,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":79575,"src":"27539:7:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79564,"name":"uint256","nodeType":"ElementaryTypeName","src":"27539:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"27538:9:130"},"scope":80578,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":79585,"nodeType":"FunctionDefinition","src":"27626:145:130","nodes":[],"body":{"id":79584,"nodeType":"Block","src":"27690:81:130","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":79580,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77961,"src":"27707:17:130","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"}},"id":79581,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"27725:20:130","memberName":"getBasisStakedAmount","nodeType":"MemberAccess","referencedDeclaration":84831,"src":"27707:38:130","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint256_$","typeString":"function () view external returns (uint256)"}},"id":79582,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27707:40:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":79579,"id":79583,"nodeType":"Return","src":"27700:47:130"}]},"implemented":true,"kind":"function","modifiers":[],"name":"getBasisStakedAmount","nameLocation":"27635:20:130","parameters":{"id":79576,"nodeType":"ParameterList","parameters":[],"src":"27655:2:130"},"returnParameters":{"id":79579,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79578,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":79585,"src":"27681:7:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79577,"name":"uint256","nodeType":"ElementaryTypeName","src":"27681:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"27680:9:130"},"scope":80578,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":79610,"nodeType":"FunctionDefinition","src":"27777:185:130","nodes":[],"body":{"id":79609,"nodeType":"Block","src":"27851:111:130","nodes":[],"statements":[{"expression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":79607,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79597,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":79592,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77969,"src":"27868:9:130","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$77721_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":79594,"indexExpression":{"id":79593,"name":"_proposalID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79587,"src":"27878:11:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"27868:22:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"id":79595,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"27891:10:130","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":77696,"src":"27868:33:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":79596,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"27904:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"27868:37:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":79606,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":79598,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77969,"src":"27909:9:130","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$77721_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":79600,"indexExpression":{"id":79599,"name":"_proposalID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79587,"src":"27919:11:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"27909:22:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"id":79601,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"27932:9:130","memberName":"submitter","nodeType":"MemberAccess","referencedDeclaration":77706,"src":"27909:32:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":79604,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"27953:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":79603,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"27945:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":79602,"name":"address","nodeType":"ElementaryTypeName","src":"27945:7:130","typeDescriptions":{}}},"id":79605,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27945:10:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"27909:46:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"27868:87:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":79591,"id":79608,"nodeType":"Return","src":"27861:94:130"}]},"implemented":true,"kind":"function","modifiers":[],"name":"proposalExists","nameLocation":"27786:14:130","parameters":{"id":79588,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79587,"mutability":"mutable","name":"_proposalID","nameLocation":"27809:11:130","nodeType":"VariableDeclaration","scope":79610,"src":"27801:19:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79586,"name":"uint256","nodeType":"ElementaryTypeName","src":"27801:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"27800:21:130"},"returnParameters":{"id":79591,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79590,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":79610,"src":"27845:4:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":79589,"name":"bool","nodeType":"ElementaryTypeName","src":"27845:4:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"27844:6:130"},"scope":80578,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":79628,"nodeType":"FunctionDefinition","src":"27968:174:130","nodes":[],"body":{"id":79627,"nodeType":"Block","src":"28063:79:130","nodes":[],"statements":[{"expression":{"id":79625,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":79617,"name":"isOverMaxRatio","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79615,"src":"28073:14:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79624,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79620,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":79618,"name":"maxRatio","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77935,"src":"28090:8:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":79619,"name":"poolAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74092,"src":"28101:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"28090:21:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79623,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":79621,"name":"_requestedAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79612,"src":"28115:16:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":79622,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77919,"src":"28134:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"28115:20:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"28090:45:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"28073:62:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":79626,"nodeType":"ExpressionStatement","src":"28073:62:130"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_isOverMaxRatio","nameLocation":"27977:15:130","parameters":{"id":79613,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79612,"mutability":"mutable","name":"_requestedAmount","nameLocation":"28001:16:130","nodeType":"VariableDeclaration","scope":79628,"src":"27993:24:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79611,"name":"uint256","nodeType":"ElementaryTypeName","src":"27993:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"27992:26:130"},"returnParameters":{"id":79616,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79615,"mutability":"mutable","name":"isOverMaxRatio","nameLocation":"28047:14:130","nodeType":"VariableDeclaration","scope":79628,"src":"28042:19:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":79614,"name":"bool","nodeType":"ElementaryTypeName","src":"28042:4:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"28041:21:130"},"scope":80578,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":79724,"nodeType":"FunctionDefinition","src":"28148:1548:130","nodes":[],"body":{"id":79723,"nodeType":"Block","src":"28278:1418:130","nodes":[],"statements":[{"assignments":[79638],"declarations":[{"constant":false,"id":79638,"mutability":"mutable","name":"deltaSupportSum","nameLocation":"28295:15:130","nodeType":"VariableDeclaration","scope":79723,"src":"28288:22:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":79637,"name":"int256","nodeType":"ElementaryTypeName","src":"28288:6:130","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"id":79640,"initialValue":{"hexValue":"30","id":79639,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"28313:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"28288:26:130"},{"body":{"id":79685,"nodeType":"Block","src":"28378:576:130","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79657,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":79652,"name":"_proposalSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79634,"src":"28451:16:130","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$77726_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}},"id":79654,"indexExpression":{"id":79653,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79642,"src":"28468:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"28451:19:130","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$77726_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory"}},"id":79655,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"28471:10:130","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":77723,"src":"28451:30:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":79656,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"28485:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"28451:35:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":79660,"nodeType":"IfStatement","src":"28447:187:130","trueBody":{"id":79659,"nodeType":"Block","src":"28488:146:130","statements":[{"id":79658,"nodeType":"Continue","src":"28611:8:130"}]}},{"assignments":[79662],"declarations":[{"constant":false,"id":79662,"mutability":"mutable","name":"proposalId","nameLocation":"28655:10:130","nodeType":"VariableDeclaration","scope":79685,"src":"28647:18:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79661,"name":"uint256","nodeType":"ElementaryTypeName","src":"28647:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":79667,"initialValue":{"expression":{"baseExpression":{"id":79663,"name":"_proposalSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79634,"src":"28668:16:130","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$77726_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}},"id":79665,"indexExpression":{"id":79664,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79642,"src":"28685:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"28668:19:130","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$77726_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory"}},"id":79666,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"28688:10:130","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":77723,"src":"28668:30:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"28647:51:130"},{"condition":{"id":79671,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"28716:27:130","subExpression":{"arguments":[{"id":79669,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79662,"src":"28732:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":79668,"name":"proposalExists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79610,"src":"28717:14:130","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view returns (bool)"}},"id":79670,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28717:26:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":79677,"nodeType":"IfStatement","src":"28712:167:130","trueBody":{"id":79676,"nodeType":"Block","src":"28745:134:130","statements":[{"errorCall":{"arguments":[{"id":79673,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79662,"src":"28788:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":79672,"name":"ProposalNotInList","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77815,"src":"28770:17:130","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":79674,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28770:29:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":79675,"nodeType":"RevertStatement","src":"28763:36:130"}]}},{"expression":{"id":79683,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":79678,"name":"deltaSupportSum","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79638,"src":"28892:15:130","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"expression":{"baseExpression":{"id":79679,"name":"_proposalSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79634,"src":"28911:16:130","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$77726_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}},"id":79681,"indexExpression":{"id":79680,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79642,"src":"28928:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"28911:19:130","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$77726_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory"}},"id":79682,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"28931:12:130","memberName":"deltaSupport","nodeType":"MemberAccess","referencedDeclaration":77725,"src":"28911:32:130","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"28892:51:130","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":79684,"nodeType":"ExpressionStatement","src":"28892:51:130"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79648,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":79645,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79642,"src":"28344:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":79646,"name":"_proposalSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79634,"src":"28348:16:130","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$77726_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}},"id":79647,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"28365:6:130","memberName":"length","nodeType":"MemberAccess","src":"28348:23:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"28344:27:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":79686,"initializationExpression":{"assignments":[79642],"declarations":[{"constant":false,"id":79642,"mutability":"mutable","name":"i","nameLocation":"28337:1:130","nodeType":"VariableDeclaration","scope":79686,"src":"28329:9:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79641,"name":"uint256","nodeType":"ElementaryTypeName","src":"28329:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":79644,"initialValue":{"hexValue":"30","id":79643,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"28341:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"28329:13:130"},"loopExpression":{"expression":{"id":79650,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"28373:3:130","subExpression":{"id":79649,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79642,"src":"28373:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79651,"nodeType":"ExpressionStatement","src":"28373:3:130"},"nodeType":"ForStatement","src":"28324:630:130"},{"assignments":[79688],"declarations":[{"constant":false,"id":79688,"mutability":"mutable","name":"newTotalVotingSupport","nameLocation":"29058:21:130","nodeType":"VariableDeclaration","scope":79723,"src":"29050:29:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79687,"name":"uint256","nodeType":"ElementaryTypeName","src":"29050:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":79695,"initialValue":{"arguments":[{"arguments":[{"id":79691,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79630,"src":"29116:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":79690,"name":"getTotalVoterStakePct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79558,"src":"29094:21:130","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view returns (uint256)"}},"id":79692,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29094:30:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":79693,"name":"deltaSupportSum","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79638,"src":"29126:15:130","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":79689,"name":"_applyDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80046,"src":"29082:11:130","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_int256_$returns$_t_uint256_$","typeString":"function (uint256,int256) pure returns (uint256)"}},"id":79694,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29082:60:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"29050:92:130"},{"assignments":[79697],"declarations":[{"constant":false,"id":79697,"mutability":"mutable","name":"participantBalance","nameLocation":"29232:18:130","nodeType":"VariableDeclaration","scope":79723,"src":"29224:26:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79696,"name":"uint256","nodeType":"ElementaryTypeName","src":"29224:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":79706,"initialValue":{"arguments":[{"id":79700,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79630,"src":"29296:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":79703,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"29313:4:130","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$80578","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$80578","typeString":"contract CVStrategyV0_0"}],"id":79702,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"29305:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":79701,"name":"address","nodeType":"ElementaryTypeName","src":"29305:7:130","typeDescriptions":{}}},"id":79704,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29305:13:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":79698,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77961,"src":"29253:17:130","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"}},"id":79699,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"29271:24:130","memberName":"getMemberPowerInStrategy","nodeType":"MemberAccess","referencedDeclaration":84375,"src":"29253:42:130","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view external returns (uint256)"}},"id":79705,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29253:66:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"29224:95:130"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79709,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":79707,"name":"newTotalVotingSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79688,"src":"29485:21:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":79708,"name":"participantBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79697,"src":"29509:18:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"29485:42:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":79716,"nodeType":"IfStatement","src":"29481:147:130","trueBody":{"id":79715,"nodeType":"Block","src":"29529:99:130","statements":[{"errorCall":{"arguments":[{"id":79711,"name":"newTotalVotingSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79688,"src":"29575:21:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":79712,"name":"participantBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79697,"src":"29598:18:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":79710,"name":"NotEnoughPointsToSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77803,"src":"29550:24:130","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":79713,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29550:67:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":79714,"nodeType":"RevertStatement","src":"29543:74:130"}]}},{"expression":{"id":79721,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":79717,"name":"totalVoterStakePct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77973,"src":"29638:18:130","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":79719,"indexExpression":{"id":79718,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79630,"src":"29657:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"29638:27:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":79720,"name":"newTotalVotingSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79688,"src":"29668:21:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"29638:51:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79722,"nodeType":"ExpressionStatement","src":"29638:51:130"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_check_before_addSupport","nameLocation":"28157:24:130","parameters":{"id":79635,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79630,"mutability":"mutable","name":"_sender","nameLocation":"28190:7:130","nodeType":"VariableDeclaration","scope":79724,"src":"28182:15:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":79629,"name":"address","nodeType":"ElementaryTypeName","src":"28182:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":79634,"mutability":"mutable","name":"_proposalSupport","nameLocation":"28239:16:130","nodeType":"VariableDeclaration","scope":79724,"src":"28199:56:130","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$77726_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport[]"},"typeName":{"baseType":{"id":79632,"nodeType":"UserDefinedTypeName","pathNode":{"id":79631,"name":"StrategyStruct.ProposalSupport","nameLocations":["28199:14:130","28214:15:130"],"nodeType":"IdentifierPath","referencedDeclaration":77726,"src":"28199:30:130"},"referencedDeclaration":77726,"src":"28199:30:130","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$77726_storage_ptr","typeString":"struct StrategyStruct.ProposalSupport"}},"id":79633,"nodeType":"ArrayTypeName","src":"28199:32:130","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$77726_storage_$dyn_storage_ptr","typeString":"struct StrategyStruct.ProposalSupport[]"}},"visibility":"internal"}],"src":"28181:75:130"},"returnParameters":{"id":79636,"nodeType":"ParameterList","parameters":[],"src":"28278:0:130"},"scope":80578,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":80011,"nodeType":"FunctionDefinition","src":"29702:3479:130","nodes":[],"body":{"id":80010,"nodeType":"Block","src":"29807:3374:130","nodes":[],"statements":[{"assignments":[79737],"declarations":[{"constant":false,"id":79737,"mutability":"mutable","name":"proposalsIds","nameLocation":"29834:12:130","nodeType":"VariableDeclaration","scope":80010,"src":"29817:29:130","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":79735,"name":"uint256","nodeType":"ElementaryTypeName","src":"29817:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79736,"nodeType":"ArrayTypeName","src":"29817:9:130","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"id":79738,"nodeType":"VariableDeclarationStatement","src":"29817:29:130"},{"body":{"id":80008,"nodeType":"Block","src":"29910:3265:130","statements":[{"assignments":[79751],"declarations":[{"constant":false,"id":79751,"mutability":"mutable","name":"proposalId","nameLocation":"29932:10:130","nodeType":"VariableDeclaration","scope":80008,"src":"29924:18:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79750,"name":"uint256","nodeType":"ElementaryTypeName","src":"29924:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":79756,"initialValue":{"expression":{"baseExpression":{"id":79752,"name":"_proposalSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79730,"src":"29945:16:130","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$77726_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}},"id":79754,"indexExpression":{"id":79753,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79740,"src":"29962:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"29945:19:130","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$77726_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory"}},"id":79755,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"29965:10:130","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":77723,"src":"29945:30:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"29924:51:130"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79760,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":79757,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79737,"src":"30048:12:130","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":79758,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30061:6:130","memberName":"length","nodeType":"MemberAccess","src":"30048:19:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":79759,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"30071:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"30048:24:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":79859,"nodeType":"Block","src":"30200:764:130","statements":[{"assignments":[79777],"declarations":[{"constant":false,"id":79777,"mutability":"mutable","name":"exist","nameLocation":"30223:5:130","nodeType":"VariableDeclaration","scope":79859,"src":"30218:10:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":79776,"name":"bool","nodeType":"ElementaryTypeName","src":"30218:4:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":79779,"initialValue":{"hexValue":"66616c7365","id":79778,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"30231:5:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"nodeType":"VariableDeclarationStatement","src":"30218:18:130"},{"body":{"id":79807,"nodeType":"Block","src":"30304:268:130","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79795,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"id":79791,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79737,"src":"30355:12:130","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":79793,"indexExpression":{"id":79792,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79781,"src":"30368:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"30355:15:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":79794,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79751,"src":"30374:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"30355:29:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":79806,"nodeType":"IfStatement","src":"30351:203:130","trueBody":{"id":79805,"nodeType":"Block","src":"30386:168:130","statements":[{"expression":{"id":79798,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":79796,"name":"exist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79777,"src":"30412:5:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":79797,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"30420:4:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"30412:12:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":79799,"nodeType":"ExpressionStatement","src":"30412:12:130"},{"errorCall":{"arguments":[{"id":79801,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79751,"src":"30483:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":79802,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79781,"src":"30495:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":79800,"name":"ProposalSupportDuplicated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77821,"src":"30457:25:130","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":79803,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30457:40:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":79804,"nodeType":"RevertStatement","src":"30450:47:130"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79787,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":79784,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79781,"src":"30274:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":79785,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79737,"src":"30278:12:130","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":79786,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30291:6:130","memberName":"length","nodeType":"MemberAccess","src":"30278:19:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"30274:23:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":79808,"initializationExpression":{"assignments":[79781],"declarations":[{"constant":false,"id":79781,"mutability":"mutable","name":"j","nameLocation":"30267:1:130","nodeType":"VariableDeclaration","scope":79808,"src":"30259:9:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79780,"name":"uint256","nodeType":"ElementaryTypeName","src":"30259:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":79783,"initialValue":{"hexValue":"30","id":79782,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"30271:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"30259:13:130"},"loopExpression":{"expression":{"id":79789,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"30299:3:130","subExpression":{"id":79788,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79781,"src":"30299:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79790,"nodeType":"ExpressionStatement","src":"30299:3:130"},"nodeType":"ForStatement","src":"30254:318:130"},{"condition":{"id":79810,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"30593:6:130","subExpression":{"id":79809,"name":"exist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79777,"src":"30594:5:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":79858,"nodeType":"IfStatement","src":"30589:361:130","trueBody":{"id":79857,"nodeType":"Block","src":"30601:349:130","statements":[{"assignments":[79815],"declarations":[{"constant":false,"id":79815,"mutability":"mutable","name":"temp","nameLocation":"30640:4:130","nodeType":"VariableDeclaration","scope":79857,"src":"30623:21:130","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":79813,"name":"uint256","nodeType":"ElementaryTypeName","src":"30623:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79814,"nodeType":"ArrayTypeName","src":"30623:9:130","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"id":79824,"initialValue":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79822,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":79819,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79737,"src":"30661:12:130","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":79820,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30674:6:130","memberName":"length","nodeType":"MemberAccess","src":"30661:19:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"31","id":79821,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"30683:1:130","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"30661:23:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":79818,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"30647:13:130","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (uint256[] memory)"},"typeName":{"baseType":{"id":79816,"name":"uint256","nodeType":"ElementaryTypeName","src":"30651:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79817,"nodeType":"ArrayTypeName","src":"30651:9:130","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}}},"id":79823,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30647:38:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"nodeType":"VariableDeclarationStatement","src":"30623:62:130"},{"body":{"id":79844,"nodeType":"Block","src":"30757:74:130","statements":[{"expression":{"id":79842,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":79836,"name":"temp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79815,"src":"30783:4:130","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":79838,"indexExpression":{"id":79837,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79826,"src":"30788:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"30783:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"baseExpression":{"id":79839,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79737,"src":"30793:12:130","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":79841,"indexExpression":{"id":79840,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79826,"src":"30806:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"30793:15:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"30783:25:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79843,"nodeType":"ExpressionStatement","src":"30783:25:130"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79832,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":79829,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79826,"src":"30727:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":79830,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79737,"src":"30731:12:130","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":79831,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30744:6:130","memberName":"length","nodeType":"MemberAccess","src":"30731:19:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"30727:23:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":79845,"initializationExpression":{"assignments":[79826],"declarations":[{"constant":false,"id":79826,"mutability":"mutable","name":"j","nameLocation":"30720:1:130","nodeType":"VariableDeclaration","scope":79845,"src":"30712:9:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79825,"name":"uint256","nodeType":"ElementaryTypeName","src":"30712:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":79828,"initialValue":{"hexValue":"30","id":79827,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"30724:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"30712:13:130"},"loopExpression":{"expression":{"id":79834,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"30752:3:130","subExpression":{"id":79833,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79826,"src":"30752:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79835,"nodeType":"ExpressionStatement","src":"30752:3:130"},"nodeType":"ForStatement","src":"30707:124:130"},{"expression":{"id":79851,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":79846,"name":"temp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79815,"src":"30852:4:130","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":79849,"indexExpression":{"expression":{"id":79847,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79737,"src":"30857:12:130","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":79848,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30870:6:130","memberName":"length","nodeType":"MemberAccess","src":"30857:19:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"30852:25:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":79850,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79751,"src":"30880:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"30852:38:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79852,"nodeType":"ExpressionStatement","src":"30852:38:130"},{"expression":{"id":79855,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":79853,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79737,"src":"30912:12:130","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":79854,"name":"temp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79815,"src":"30927:4:130","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"src":"30912:19:130","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":79856,"nodeType":"ExpressionStatement","src":"30912:19:130"}]}}]},"id":79860,"nodeType":"IfStatement","src":"30044:920:130","trueBody":{"id":79775,"nodeType":"Block","src":"30074:120:130","statements":[{"expression":{"id":79767,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":79761,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79737,"src":"30092:12:130","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"31","id":79765,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"30121:1:130","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":79764,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"30107:13:130","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (uint256[] memory)"},"typeName":{"baseType":{"id":79762,"name":"uint256","nodeType":"ElementaryTypeName","src":"30111:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79763,"nodeType":"ArrayTypeName","src":"30111:9:130","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}}},"id":79766,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30107:16:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"src":"30092:31:130","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":79768,"nodeType":"ExpressionStatement","src":"30092:31:130"},{"expression":{"id":79773,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":79769,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79737,"src":"30141:12:130","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":79771,"indexExpression":{"hexValue":"30","id":79770,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"30154:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"30141:15:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":79772,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79751,"src":"30159:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"30141:28:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79774,"nodeType":"ExpressionStatement","src":"30141:28:130"}]}},{"assignments":[79862],"declarations":[{"constant":false,"id":79862,"mutability":"mutable","name":"delta","nameLocation":"30984:5:130","nodeType":"VariableDeclaration","scope":80008,"src":"30977:12:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":79861,"name":"int256","nodeType":"ElementaryTypeName","src":"30977:6:130","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"id":79867,"initialValue":{"expression":{"baseExpression":{"id":79863,"name":"_proposalSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79730,"src":"30992:16:130","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$77726_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}},"id":79865,"indexExpression":{"id":79864,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79740,"src":"31009:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"30992:19:130","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$77726_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory"}},"id":79866,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"31012:12:130","memberName":"deltaSupport","nodeType":"MemberAccess","referencedDeclaration":77725,"src":"30992:32:130","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"VariableDeclarationStatement","src":"30977:47:130"},{"assignments":[79872],"declarations":[{"constant":false,"id":79872,"mutability":"mutable","name":"proposal","nameLocation":"31071:8:130","nodeType":"VariableDeclaration","scope":80008,"src":"31039:40:130","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":79871,"nodeType":"UserDefinedTypeName","pathNode":{"id":79870,"name":"StrategyStruct.Proposal","nameLocations":["31039:14:130","31054:8:130"],"nodeType":"IdentifierPath","referencedDeclaration":77721,"src":"31039:23:130"},"referencedDeclaration":77721,"src":"31039:23:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":79876,"initialValue":{"baseExpression":{"id":79873,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77969,"src":"31082:9:130","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$77721_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":79875,"indexExpression":{"id":79874,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79751,"src":"31092:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"31082:21:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"31039:64:130"},{"assignments":[79878],"declarations":[{"constant":false,"id":79878,"mutability":"mutable","name":"previousStakedPoints","nameLocation":"31213:20:130","nodeType":"VariableDeclaration","scope":80008,"src":"31205:28:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79877,"name":"uint256","nodeType":"ElementaryTypeName","src":"31205:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":79883,"initialValue":{"baseExpression":{"expression":{"id":79879,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79872,"src":"31236:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79880,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"31245:17:130","memberName":"voterStakedPoints","nodeType":"MemberAccess","referencedDeclaration":77717,"src":"31236:26:130","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":79882,"indexExpression":{"id":79881,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79726,"src":"31263:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"31236:35:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"31205:66:130"},{"assignments":[79885],"declarations":[{"constant":false,"id":79885,"mutability":"mutable","name":"stakedPoints","nameLocation":"31444:12:130","nodeType":"VariableDeclaration","scope":80008,"src":"31436:20:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79884,"name":"uint256","nodeType":"ElementaryTypeName","src":"31436:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":79890,"initialValue":{"arguments":[{"id":79887,"name":"previousStakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79878,"src":"31471:20:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":79888,"name":"delta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79862,"src":"31493:5:130","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":79886,"name":"_applyDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80046,"src":"31459:11:130","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_int256_$returns$_t_uint256_$","typeString":"function (uint256,int256) pure returns (uint256)"}},"id":79889,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31459:40:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"31436:63:130"},{"expression":{"id":79897,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":79891,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79872,"src":"31634:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79894,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"31643:17:130","memberName":"voterStakedPoints","nodeType":"MemberAccess","referencedDeclaration":77717,"src":"31634:26:130","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":79895,"indexExpression":{"id":79893,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79726,"src":"31661:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"31634:35:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":79896,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79885,"src":"31672:12:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"31634:50:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79898,"nodeType":"ExpressionStatement","src":"31634:50:130"},{"assignments":[79900],"declarations":[{"constant":false,"id":79900,"mutability":"mutable","name":"hasProposal","nameLocation":"31923:11:130","nodeType":"VariableDeclaration","scope":80008,"src":"31918:16:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":79899,"name":"bool","nodeType":"ElementaryTypeName","src":"31918:4:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":79902,"initialValue":{"hexValue":"66616c7365","id":79901,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"31937:5:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"nodeType":"VariableDeclarationStatement","src":"31918:24:130"},{"body":{"id":79931,"nodeType":"Block","src":"32023:179:130","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79923,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"baseExpression":{"id":79916,"name":"voterStakedProposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77978,"src":"32045:20:130","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$","typeString":"mapping(address => uint256[] storage ref)"}},"id":79918,"indexExpression":{"id":79917,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79726,"src":"32066:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"32045:29:130","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage","typeString":"uint256[] storage ref"}},"id":79920,"indexExpression":{"id":79919,"name":"k","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79904,"src":"32075:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"32045:32:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":79921,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79872,"src":"32081:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79922,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"32090:10:130","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":77696,"src":"32081:19:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"32045:55:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":79930,"nodeType":"IfStatement","src":"32041:147:130","trueBody":{"id":79929,"nodeType":"Block","src":"32102:86:130","statements":[{"expression":{"id":79926,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":79924,"name":"hasProposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79900,"src":"32124:11:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":79925,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"32138:4:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"32124:18:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":79927,"nodeType":"ExpressionStatement","src":"32124:18:130"},{"id":79928,"nodeType":"Break","src":"32164:5:130"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79912,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":79907,"name":"k","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79904,"src":"31976:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"baseExpression":{"id":79908,"name":"voterStakedProposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77978,"src":"31980:20:130","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$","typeString":"mapping(address => uint256[] storage ref)"}},"id":79910,"indexExpression":{"id":79909,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79726,"src":"32001:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"31980:29:130","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage","typeString":"uint256[] storage ref"}},"id":79911,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"32010:6:130","memberName":"length","nodeType":"MemberAccess","src":"31980:36:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"31976:40:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":79932,"initializationExpression":{"assignments":[79904],"declarations":[{"constant":false,"id":79904,"mutability":"mutable","name":"k","nameLocation":"31969:1:130","nodeType":"VariableDeclaration","scope":79932,"src":"31961:9:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79903,"name":"uint256","nodeType":"ElementaryTypeName","src":"31961:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":79906,"initialValue":{"hexValue":"30","id":79905,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"31973:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"31961:13:130"},"loopExpression":{"expression":{"id":79914,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"32018:3:130","subExpression":{"id":79913,"name":"k","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79904,"src":"32018:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79915,"nodeType":"ExpressionStatement","src":"32018:3:130"},"nodeType":"ForStatement","src":"31956:246:130"},{"condition":{"id":79934,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"32219:12:130","subExpression":{"id":79933,"name":"hasProposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79900,"src":"32220:11:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":79944,"nodeType":"IfStatement","src":"32215:106:130","trueBody":{"id":79943,"nodeType":"Block","src":"32233:88:130","statements":[{"expression":{"arguments":[{"expression":{"id":79939,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79872,"src":"32286:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79940,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"32295:10:130","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":77696,"src":"32286:19:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"baseExpression":{"id":79935,"name":"voterStakedProposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77978,"src":"32251:20:130","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$","typeString":"mapping(address => uint256[] storage ref)"}},"id":79937,"indexExpression":{"id":79936,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79726,"src":"32272:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"32251:29:130","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage","typeString":"uint256[] storage ref"}},"id":79938,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"32281:4:130","memberName":"push","nodeType":"MemberAccess","src":"32251:34:130","typeDescriptions":{"typeIdentifier":"t_function_arraypush_nonpayable$_t_array$_t_uint256_$dyn_storage_ptr_$_t_uint256_$returns$__$attached_to$_t_array$_t_uint256_$dyn_storage_ptr_$","typeString":"function (uint256[] storage pointer,uint256)"}},"id":79941,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32251:55:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":79942,"nodeType":"ExpressionStatement","src":"32251:55:130"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79947,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":79945,"name":"previousStakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79878,"src":"32476:20:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"id":79946,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79885,"src":"32500:12:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"32476:36:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":79977,"nodeType":"Block","src":"32681:161:130","statements":[{"expression":{"id":79967,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":79963,"name":"totalStaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77942,"src":"32699:11:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79966,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":79964,"name":"previousStakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79878,"src":"32714:20:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":79965,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79885,"src":"32737:12:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"32714:35:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"32699:50:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79968,"nodeType":"ExpressionStatement","src":"32699:50:130"},{"expression":{"id":79975,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":79969,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79872,"src":"32767:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79971,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"32776:12:130","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":77700,"src":"32767:21:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79974,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":79972,"name":"previousStakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79878,"src":"32792:20:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":79973,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79885,"src":"32815:12:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"32792:35:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"32767:60:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79976,"nodeType":"ExpressionStatement","src":"32767:60:130"}]},"id":79978,"nodeType":"IfStatement","src":"32472:370:130","trueBody":{"id":79962,"nodeType":"Block","src":"32514:161:130","statements":[{"expression":{"id":79952,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":79948,"name":"totalStaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77942,"src":"32532:11:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79951,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":79949,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79885,"src":"32547:12:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":79950,"name":"previousStakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79878,"src":"32562:20:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"32547:35:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"32532:50:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79953,"nodeType":"ExpressionStatement","src":"32532:50:130"},{"expression":{"id":79960,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":79954,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79872,"src":"32600:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79956,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"32609:12:130","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":77700,"src":"32600:21:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79959,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":79957,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79885,"src":"32625:12:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":79958,"name":"previousStakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79878,"src":"32640:20:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"32625:35:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"32600:60:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79961,"nodeType":"ExpressionStatement","src":"32600:60:130"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79982,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":79979,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79872,"src":"32859:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79980,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"32868:9:130","memberName":"blockLast","nodeType":"MemberAccess","referencedDeclaration":77710,"src":"32859:18:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":79981,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"32881:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"32859:23:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":80006,"nodeType":"Block","src":"32956:209:130","statements":[{"expression":{"arguments":[{"id":79992,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79872,"src":"33001:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},{"id":79993,"name":"previousStakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79878,"src":"33011:20:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":79991,"name":"_calculateAndSetConviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80339,"src":"32974:26:130","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_Proposal_$77721_storage_ptr_$_t_uint256_$returns$__$","typeString":"function (struct StrategyStruct.Proposal storage pointer,uint256)"}},"id":79994,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32974:58:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":79995,"nodeType":"ExpressionStatement","src":"32974:58:130"},{"eventCall":{"arguments":[{"id":79997,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79726,"src":"33068:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":79998,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79751,"src":"33077:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":79999,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79885,"src":"33089:12:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":80000,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79872,"src":"33103:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":80001,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"33112:12:130","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":77700,"src":"33103:21:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":80002,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79872,"src":"33126:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":80003,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"33135:14:130","memberName":"convictionLast","nodeType":"MemberAccess","referencedDeclaration":77702,"src":"33126:23:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":79996,"name":"SupportAdded","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77890,"src":"33055:12:130","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (address,uint256,uint256,uint256,uint256)"}},"id":80004,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33055:95:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":80005,"nodeType":"EmitStatement","src":"33050:100:130"}]},"id":80007,"nodeType":"IfStatement","src":"32855:310:130","trueBody":{"id":79990,"nodeType":"Block","src":"32884:66:130","statements":[{"expression":{"id":79988,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":79983,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79872,"src":"32902:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79985,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"32911:9:130","memberName":"blockLast","nodeType":"MemberAccess","referencedDeclaration":77710,"src":"32902:18:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":79986,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"32923:5:130","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":79987,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"32929:6:130","memberName":"number","nodeType":"MemberAccess","src":"32923:12:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"32902:33:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79989,"nodeType":"ExpressionStatement","src":"32902:33:130"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79746,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":79743,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79740,"src":"29876:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":79744,"name":"_proposalSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79730,"src":"29880:16:130","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$77726_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}},"id":79745,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"29897:6:130","memberName":"length","nodeType":"MemberAccess","src":"29880:23:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"29876:27:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":80009,"initializationExpression":{"assignments":[79740],"declarations":[{"constant":false,"id":79740,"mutability":"mutable","name":"i","nameLocation":"29869:1:130","nodeType":"VariableDeclaration","scope":80009,"src":"29861:9:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79739,"name":"uint256","nodeType":"ElementaryTypeName","src":"29861:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":79742,"initialValue":{"hexValue":"30","id":79741,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29873:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"29861:13:130"},"loopExpression":{"expression":{"id":79748,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"29905:3:130","subExpression":{"id":79747,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79740,"src":"29905:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79749,"nodeType":"ExpressionStatement","src":"29905:3:130"},"nodeType":"ForStatement","src":"29856:3319:130"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_addSupport","nameLocation":"29711:11:130","parameters":{"id":79731,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79726,"mutability":"mutable","name":"_sender","nameLocation":"29731:7:130","nodeType":"VariableDeclaration","scope":80011,"src":"29723:15:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":79725,"name":"address","nodeType":"ElementaryTypeName","src":"29723:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":79730,"mutability":"mutable","name":"_proposalSupport","nameLocation":"29780:16:130","nodeType":"VariableDeclaration","scope":80011,"src":"29740:56:130","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$77726_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport[]"},"typeName":{"baseType":{"id":79728,"nodeType":"UserDefinedTypeName","pathNode":{"id":79727,"name":"StrategyStruct.ProposalSupport","nameLocations":["29740:14:130","29755:15:130"],"nodeType":"IdentifierPath","referencedDeclaration":77726,"src":"29740:30:130"},"referencedDeclaration":77726,"src":"29740:30:130","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$77726_storage_ptr","typeString":"struct StrategyStruct.ProposalSupport"}},"id":79729,"nodeType":"ArrayTypeName","src":"29740:32:130","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$77726_storage_$dyn_storage_ptr","typeString":"struct StrategyStruct.ProposalSupport[]"}},"visibility":"internal"}],"src":"29722:75:130"},"returnParameters":{"id":79732,"nodeType":"ParameterList","parameters":[],"src":"29807:0:130"},"scope":80578,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":80046,"nodeType":"FunctionDefinition","src":"33187:276:130","nodes":[],"body":{"id":80045,"nodeType":"Block","src":"33273:190:130","nodes":[],"statements":[{"assignments":[80021],"declarations":[{"constant":false,"id":80021,"mutability":"mutable","name":"result","nameLocation":"33290:6:130","nodeType":"VariableDeclaration","scope":80045,"src":"33283:13:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":80020,"name":"int256","nodeType":"ElementaryTypeName","src":"33283:6:130","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"id":80028,"initialValue":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":80027,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":80024,"name":"_support","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80013,"src":"33306:8:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":80023,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"33299:6:130","typeDescriptions":{"typeIdentifier":"t_type$_t_int256_$","typeString":"type(int256)"},"typeName":{"id":80022,"name":"int256","nodeType":"ElementaryTypeName","src":"33299:6:130","typeDescriptions":{}}},"id":80025,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33299:16:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":80026,"name":"_delta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80015,"src":"33318:6:130","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"33299:25:130","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"VariableDeclarationStatement","src":"33283:41:130"},{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":80031,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":80029,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80021,"src":"33339:6:130","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"hexValue":"30","id":80030,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"33348:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"33339:10:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":80039,"nodeType":"IfStatement","src":"33335:90:130","trueBody":{"id":80038,"nodeType":"Block","src":"33351:74:130","statements":[{"errorCall":{"arguments":[{"id":80033,"name":"_support","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80013,"src":"33389:8:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":80034,"name":"_delta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80015,"src":"33399:6:130","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":80035,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80021,"src":"33407:6:130","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":80032,"name":"SupportUnderflow","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77793,"src":"33372:16:130","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_int256_$_t_int256_$returns$__$","typeString":"function (uint256,int256,int256) pure"}},"id":80036,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33372:42:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":80037,"nodeType":"RevertStatement","src":"33365:49:130"}]}},{"expression":{"arguments":[{"id":80042,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80021,"src":"33449:6:130","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":80041,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"33441:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":80040,"name":"uint256","nodeType":"ElementaryTypeName","src":"33441:7:130","typeDescriptions":{}}},"id":80043,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33441:15:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":80019,"id":80044,"nodeType":"Return","src":"33434:22:130"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_applyDelta","nameLocation":"33196:11:130","parameters":{"id":80016,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80013,"mutability":"mutable","name":"_support","nameLocation":"33216:8:130","nodeType":"VariableDeclaration","scope":80046,"src":"33208:16:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80012,"name":"uint256","nodeType":"ElementaryTypeName","src":"33208:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":80015,"mutability":"mutable","name":"_delta","nameLocation":"33233:6:130","nodeType":"VariableDeclaration","scope":80046,"src":"33226:13:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":80014,"name":"int256","nodeType":"ElementaryTypeName","src":"33226:6:130","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"33207:33:130"},"returnParameters":{"id":80019,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80018,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":80046,"src":"33264:7:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80017,"name":"uint256","nodeType":"ElementaryTypeName","src":"33264:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"33263:9:130"},"scope":80578,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":80102,"nodeType":"FunctionDefinition","src":"33880:1145:130","nodes":[],"body":{"id":80101,"nodeType":"Block","src":"34027:998:130","nodes":[],"statements":[{"assignments":[80059],"declarations":[{"constant":false,"id":80059,"mutability":"mutable","name":"t","nameLocation":"34045:1:130","nodeType":"VariableDeclaration","scope":80101,"src":"34037:9:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80058,"name":"uint256","nodeType":"ElementaryTypeName","src":"34037:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":80061,"initialValue":{"id":80060,"name":"_timePassed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80049,"src":"34049:11:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"34037:23:130"},{"assignments":[80063],"declarations":[{"constant":false,"id":80063,"mutability":"mutable","name":"atTWO_128","nameLocation":"34383:9:130","nodeType":"VariableDeclaration","scope":80101,"src":"34375:17:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80062,"name":"uint256","nodeType":"ElementaryTypeName","src":"34375:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":80073,"initialValue":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80070,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80067,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":80065,"name":"decay","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77933,"src":"34401:5:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"313238","id":80066,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"34410:3:130","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"34401:12:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":80068,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"34400:14:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":80069,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77919,"src":"34417:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"34400:18:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":80071,"name":"t","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80059,"src":"34420:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":80064,"name":"_pow","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80290,"src":"34395:4:130","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":80072,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34395:27:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"34375:47:130"},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80099,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80096,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80093,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80076,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":80074,"name":"atTWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80063,"src":"34918:9:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":80075,"name":"_lastConv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80051,"src":"34930:9:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"34918:21:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":80077,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"34917:23:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80091,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80085,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80080,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":80078,"name":"_oldAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80053,"src":"34945:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":80079,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77919,"src":"34958:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"34945:14:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80083,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":80081,"name":"TWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77922,"src":"34963:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":80082,"name":"atTWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80063,"src":"34973:9:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"34963:19:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":80084,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"34962:21:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"34945:38:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":80086,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"34944:40:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80089,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":80087,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77919,"src":"34988:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":80088,"name":"decay","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77933,"src":"34992:5:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"34988:9:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":80090,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"34987:11:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"34944:54:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":80092,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"34943:56:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"34917:82:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":80094,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"34916:84:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":80095,"name":"TWO_127","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77925,"src":"35003:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"34916:94:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":80097,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"34915:96:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"313238","id":80098,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"35015:3:130","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"34915:103:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":80057,"id":80100,"nodeType":"Return","src":"34908:110:130"}]},"documentation":{"id":80047,"nodeType":"StructuredDocumentation","src":"33469:406:130","text":" @dev Conviction formula: a^t * y(0) + x * (1 - a^t) / (1 - a)\n Solidity implementation: y = (2^128 * a^t * y0 + x * D * (2^128 - 2^128 * a^t) / (D - aD) + 2^127) / 2^128\n @param _timePassed Number of blocks since last conviction record\n @param _lastConv Last conviction record\n @param _oldAmount Amount of tokens staked until now\n @return Current conviction"},"functionSelector":"346db8cb","implemented":true,"kind":"function","modifiers":[],"name":"calculateConviction","nameLocation":"33889:19:130","parameters":{"id":80054,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80049,"mutability":"mutable","name":"_timePassed","nameLocation":"33917:11:130","nodeType":"VariableDeclaration","scope":80102,"src":"33909:19:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80048,"name":"uint256","nodeType":"ElementaryTypeName","src":"33909:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":80051,"mutability":"mutable","name":"_lastConv","nameLocation":"33938:9:130","nodeType":"VariableDeclaration","scope":80102,"src":"33930:17:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80050,"name":"uint256","nodeType":"ElementaryTypeName","src":"33930:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":80053,"mutability":"mutable","name":"_oldAmount","nameLocation":"33957:10:130","nodeType":"VariableDeclaration","scope":80102,"src":"33949:18:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80052,"name":"uint256","nodeType":"ElementaryTypeName","src":"33949:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"33908:60:130"},"returnParameters":{"id":80057,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80056,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":80102,"src":"34014:7:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80055,"name":"uint256","nodeType":"ElementaryTypeName","src":"34014:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"34013:9:130"},"scope":80578,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":80190,"nodeType":"FunctionDefinition","src":"35606:1482:130","nodes":[],"body":{"id":80189,"nodeType":"Block","src":"35701:1387:130","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80112,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":80110,"name":"poolAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74092,"src":"35835:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"hexValue":"30","id":80111,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"35849:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"35835:15:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":80117,"nodeType":"IfStatement","src":"35831:66:130","trueBody":{"id":80116,"nodeType":"Block","src":"35852:45:130","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":80113,"name":"PoolIsEmpty","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77771,"src":"35873:11:130","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":80114,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35873:13:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":80115,"nodeType":"RevertStatement","src":"35866:20:130"}]}},{"condition":{"arguments":[{"id":80119,"name":"_requestedAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80105,"src":"36353:16:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":80118,"name":"_isOverMaxRatio","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79628,"src":"36337:15:130","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view returns (bool)"}},"id":80120,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36337:33:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":80125,"nodeType":"IfStatement","src":"36333:91:130","trueBody":{"id":80124,"nodeType":"Block","src":"36372:52:130","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":80121,"name":"AmountOverMaxRatio","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77779,"src":"36393:18:130","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":80122,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36393:20:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":80123,"nodeType":"RevertStatement","src":"36386:27:130"}]}},{"assignments":[80127],"declarations":[{"constant":false,"id":80127,"mutability":"mutable","name":"denom","nameLocation":"36580:5:130","nodeType":"VariableDeclaration","scope":80189,"src":"36572:13:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80126,"name":"uint256","nodeType":"ElementaryTypeName","src":"36572:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":80145,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80144,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80135,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80132,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":80128,"name":"maxRatio","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77935,"src":"36589:8:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"commonType":{"typeIdentifier":"t_rational_18446744073709551616_by_1","typeString":"int_const 18446744073709551616"},"id":80131,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"32","id":80129,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"36600:1:130","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"3634","id":80130,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"36605:2:130","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"36600:7:130","typeDescriptions":{"typeIdentifier":"t_rational_18446744073709551616_by_1","typeString":"int_const 18446744073709551616"}},"src":"36589:18:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":80133,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"36588:20:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":80134,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77919,"src":"36611:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"36588:24:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80143,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80140,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":80136,"name":"_requestedAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80105,"src":"36616:16:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"commonType":{"typeIdentifier":"t_rational_18446744073709551616_by_1","typeString":"int_const 18446744073709551616"},"id":80139,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"32","id":80137,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"36635:1:130","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"3634","id":80138,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"36640:2:130","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"36635:7:130","typeDescriptions":{"typeIdentifier":"t_rational_18446744073709551616_by_1","typeString":"int_const 18446744073709551616"}},"src":"36616:26:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":80141,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"36615:28:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":80142,"name":"poolAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74092,"src":"36646:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"36615:41:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"36588:68:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"36572:84:130"},{"expression":{"id":80178,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":80146,"name":"_threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80108,"src":"36666:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80177,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80174,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80170,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80164,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80161,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80152,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80149,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":80147,"name":"weight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77937,"src":"36698:6:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"313238","id":80148,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"36708:3:130","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"36698:13:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":80150,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"36697:15:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":80151,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77919,"src":"36715:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"36697:19:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":80153,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"36696:21:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80159,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80156,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":80154,"name":"denom","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80127,"src":"36722:5:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":80155,"name":"denom","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80127,"src":"36730:5:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"36722:13:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":80157,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"36721:15:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"3634","id":80158,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"36740:2:130","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"36721:21:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":80160,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"36720:23:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"36696:47:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":80162,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"36695:49:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":80163,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77919,"src":"36747:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"36695:53:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":80165,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"36694:55:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80168,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":80166,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77919,"src":"36753:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":80167,"name":"decay","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77933,"src":"36757:5:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"36753:9:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":80169,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"36752:11:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"36694:69:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":80171,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"36693:71:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":80172,"name":"totalEffectiveActivePoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80298,"src":"36767:26:130","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint256_$","typeString":"function () view returns (uint256)"}},"id":80173,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36767:28:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"36693:102:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":80175,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"36679:126:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"3634","id":80176,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"36809:2:130","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"36679:132:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"36666:145:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":80179,"nodeType":"ExpressionStatement","src":"36666:145:130"},{"expression":{"id":80187,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":80180,"name":"_threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80108,"src":"37001:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80183,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":80181,"name":"_threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80108,"src":"37014:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":80182,"name":"_minThresholdPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77947,"src":"37027:19:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"37014:32:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"id":80185,"name":"_minThresholdPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77947,"src":"37062:19:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":80186,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"37014:67:130","trueExpression":{"id":80184,"name":"_threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80108,"src":"37049:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"37001:80:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":80188,"nodeType":"ExpressionStatement","src":"37001:80:130"}]},"documentation":{"id":80103,"nodeType":"StructuredDocumentation","src":"35031:570:130","text":" @dev Formula: ρ * totalStaked / (1 - a) / (β - requestedAmount / total)**2\n For the Solidity implementation we amplify ρ and β and simplify the formula:\n weight = ρ * D\n maxRatio = β * D\n decay = a * D\n threshold = weight * totalStaked * D ** 2 * funds ** 2 / (D - decay) / (maxRatio * funds - requestedAmount * D) ** 2\n @param _requestedAmount Requested amount of tokens on certain proposal\n @return _threshold Threshold a proposal's conviction should surpass in order to be able to\n executed it."},"functionSelector":"59a5db8b","implemented":true,"kind":"function","modifiers":[],"name":"calculateThreshold","nameLocation":"35615:18:130","parameters":{"id":80106,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80105,"mutability":"mutable","name":"_requestedAmount","nameLocation":"35642:16:130","nodeType":"VariableDeclaration","scope":80190,"src":"35634:24:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80104,"name":"uint256","nodeType":"ElementaryTypeName","src":"35634:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"35633:26:130"},"returnParameters":{"id":80109,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80108,"mutability":"mutable","name":"_threshold","nameLocation":"35689:10:130","nodeType":"VariableDeclaration","scope":80190,"src":"35681:18:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80107,"name":"uint256","nodeType":"ElementaryTypeName","src":"35681:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"35680:20:130"},"scope":80578,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":80225,"nodeType":"FunctionDefinition","src":"37349:269:130","nodes":[],"body":{"id":80224,"nodeType":"Block","src":"37427:191:130","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80203,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":80201,"name":"_a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80193,"src":"37445:2:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"id":80202,"name":"TWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77922,"src":"37451:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"37445:13:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5f612073686f756c64206265206c657373207468616e206f7220657175616c20746f20325e313238","id":80204,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"37460:42:130","typeDescriptions":{"typeIdentifier":"t_stringliteral_44e2d05298e19dba9341288d7967f4ffbb5a083f725e2470963d4d2d80484153","typeString":"literal_string \"_a should be less than or equal to 2^128\""},"value":"_a should be less than or equal to 2^128"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_44e2d05298e19dba9341288d7967f4ffbb5a083f725e2470963d4d2d80484153","typeString":"literal_string \"_a should be less than or equal to 2^128\""}],"id":80200,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"37437:7:130","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":80205,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37437:66:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":80206,"nodeType":"ExpressionStatement","src":"37437:66:130"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80210,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":80208,"name":"_b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80195,"src":"37521:2:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":80209,"name":"TWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77922,"src":"37526:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"37521:12:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5f622073686f756c64206265206c657373207468616e20325e313238","id":80211,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"37535:30:130","typeDescriptions":{"typeIdentifier":"t_stringliteral_94029ed39d36fd1673853e0d61636cb1f54d05801d9baceb39b21e0f4420d664","typeString":"literal_string \"_b should be less than 2^128\""},"value":"_b should be less than 2^128"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_94029ed39d36fd1673853e0d61636cb1f54d05801d9baceb39b21e0f4420d664","typeString":"literal_string \"_b should be less than 2^128\""}],"id":80207,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"37513:7:130","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":80212,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37513:53:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":80213,"nodeType":"ExpressionStatement","src":"37513:53:130"},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80222,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80219,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80216,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":80214,"name":"_a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80193,"src":"37585:2:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":80215,"name":"_b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80195,"src":"37590:2:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"37585:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":80217,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"37584:9:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":80218,"name":"TWO_127","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77925,"src":"37596:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"37584:19:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":80220,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"37583:21:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"313238","id":80221,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"37608:3:130","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"37583:28:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":80199,"id":80223,"nodeType":"Return","src":"37576:35:130"}]},"documentation":{"id":80191,"nodeType":"StructuredDocumentation","src":"37094:250:130","text":" Multiply _a by _b / 2^128. Parameter _a should be less than or equal to\n 2^128 and parameter _b should be less than 2^128.\n @param _a left argument\n @param _b right argument\n @return _result _a * _b / 2^128"},"implemented":true,"kind":"function","modifiers":[],"name":"_mul","nameLocation":"37358:4:130","parameters":{"id":80196,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80193,"mutability":"mutable","name":"_a","nameLocation":"37371:2:130","nodeType":"VariableDeclaration","scope":80225,"src":"37363:10:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80192,"name":"uint256","nodeType":"ElementaryTypeName","src":"37363:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":80195,"mutability":"mutable","name":"_b","nameLocation":"37383:2:130","nodeType":"VariableDeclaration","scope":80225,"src":"37375:10:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80194,"name":"uint256","nodeType":"ElementaryTypeName","src":"37375:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"37362:24:130"},"returnParameters":{"id":80199,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80198,"mutability":"mutable","name":"_result","nameLocation":"37418:7:130","nodeType":"VariableDeclaration","scope":80225,"src":"37410:15:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80197,"name":"uint256","nodeType":"ElementaryTypeName","src":"37410:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"37409:17:130"},"scope":80578,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":80290,"nodeType":"FunctionDefinition","src":"37840:447:130","nodes":[],"body":{"id":80289,"nodeType":"Block","src":"37918:369:130","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80238,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":80236,"name":"_a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80228,"src":"37936:2:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":80237,"name":"TWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77922,"src":"37941:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"37936:12:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5f612073686f756c64206265206c657373207468616e20325e313238","id":80239,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"37950:30:130","typeDescriptions":{"typeIdentifier":"t_stringliteral_8cb59667c527f8a0ca0170161b6ece5e9864e8aa2d080a486f0167056517515f","typeString":"literal_string \"_a should be less than 2^128\""},"value":"_a should be less than 2^128"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_8cb59667c527f8a0ca0170161b6ece5e9864e8aa2d080a486f0167056517515f","typeString":"literal_string \"_a should be less than 2^128\""}],"id":80235,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"37928:7:130","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":80240,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37928:53:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":80241,"nodeType":"ExpressionStatement","src":"37928:53:130"},{"assignments":[80243],"declarations":[{"constant":false,"id":80243,"mutability":"mutable","name":"a","nameLocation":"37999:1:130","nodeType":"VariableDeclaration","scope":80289,"src":"37991:9:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80242,"name":"uint256","nodeType":"ElementaryTypeName","src":"37991:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":80245,"initialValue":{"id":80244,"name":"_a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80228,"src":"38003:2:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"37991:14:130"},{"assignments":[80247],"declarations":[{"constant":false,"id":80247,"mutability":"mutable","name":"b","nameLocation":"38023:1:130","nodeType":"VariableDeclaration","scope":80289,"src":"38015:9:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80246,"name":"uint256","nodeType":"ElementaryTypeName","src":"38015:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":80249,"initialValue":{"id":80248,"name":"_b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80230,"src":"38027:2:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"38015:14:130"},{"expression":{"id":80252,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":80250,"name":"_result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80233,"src":"38039:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":80251,"name":"TWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77922,"src":"38049:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"38039:17:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":80253,"nodeType":"ExpressionStatement","src":"38039:17:130"},{"body":{"id":80287,"nodeType":"Block","src":"38080:201:130","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80261,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80259,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":80257,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80247,"src":"38098:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"hexValue":"31","id":80258,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"38102:1:130","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"38098:5:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":80260,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"38107:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"38098:10:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":80285,"nodeType":"Block","src":"38188:83:130","statements":[{"expression":{"id":80279,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":80274,"name":"_result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80233,"src":"38206:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":80276,"name":"_result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80233,"src":"38221:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":80277,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80243,"src":"38230:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":80275,"name":"_mul","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80225,"src":"38216:4:130","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":80278,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38216:16:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"38206:26:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":80280,"nodeType":"ExpressionStatement","src":"38206:26:130"},{"expression":{"id":80283,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":80281,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80247,"src":"38250:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"hexValue":"31","id":80282,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"38255:1:130","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"38250:6:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":80284,"nodeType":"ExpressionStatement","src":"38250:6:130"}]},"id":80286,"nodeType":"IfStatement","src":"38094:177:130","trueBody":{"id":80273,"nodeType":"Block","src":"38110:72:130","statements":[{"expression":{"id":80267,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":80262,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80243,"src":"38128:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":80264,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80243,"src":"38137:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":80265,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80243,"src":"38140:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":80263,"name":"_mul","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80225,"src":"38132:4:130","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":80266,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38132:10:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"38128:14:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":80268,"nodeType":"ExpressionStatement","src":"38128:14:130"},{"expression":{"id":80271,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":80269,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80247,"src":"38160:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":">>=","rightHandSide":{"hexValue":"31","id":80270,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"38166:1:130","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"38160:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":80272,"nodeType":"ExpressionStatement","src":"38160:7:130"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80256,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":80254,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80247,"src":"38073:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":80255,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"38077:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"38073:5:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":80288,"nodeType":"WhileStatement","src":"38066:215:130"}]},"documentation":{"id":80226,"nodeType":"StructuredDocumentation","src":"37624:211:130","text":" Calculate (_a / 2^128)^_b * 2^128. Parameter _a should be less than 2^128.\n @param _a left argument\n @param _b right argument\n @return _result (_a / 2^128)^_b * 2^128"},"implemented":true,"kind":"function","modifiers":[],"name":"_pow","nameLocation":"37849:4:130","parameters":{"id":80231,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80228,"mutability":"mutable","name":"_a","nameLocation":"37862:2:130","nodeType":"VariableDeclaration","scope":80290,"src":"37854:10:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80227,"name":"uint256","nodeType":"ElementaryTypeName","src":"37854:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":80230,"mutability":"mutable","name":"_b","nameLocation":"37874:2:130","nodeType":"VariableDeclaration","scope":80290,"src":"37866:10:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80229,"name":"uint256","nodeType":"ElementaryTypeName","src":"37866:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"37853:24:130"},"returnParameters":{"id":80234,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80233,"mutability":"mutable","name":"_result","nameLocation":"37909:7:130","nodeType":"VariableDeclaration","scope":80290,"src":"37901:15:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80232,"name":"uint256","nodeType":"ElementaryTypeName","src":"37901:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"37900:17:130"},"scope":80578,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":80298,"nodeType":"FunctionDefinition","src":"38293:112:130","nodes":[],"body":{"id":80297,"nodeType":"Block","src":"38361:44:130","nodes":[],"statements":[{"expression":{"id":80295,"name":"totalPointsActivated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77944,"src":"38378:20:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":80294,"id":80296,"nodeType":"Return","src":"38371:27:130"}]},"functionSelector":"d1e36232","implemented":true,"kind":"function","modifiers":[],"name":"totalEffectiveActivePoints","nameLocation":"38302:26:130","parameters":{"id":80291,"nodeType":"ParameterList","parameters":[],"src":"38328:2:130"},"returnParameters":{"id":80294,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80293,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":80298,"src":"38352:7:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80292,"name":"uint256","nodeType":"ElementaryTypeName","src":"38352:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"38351:9:130"},"scope":80578,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":80339,"nodeType":"FunctionDefinition","src":"38595:396:130","nodes":[],"body":{"id":80338,"nodeType":"Block","src":"38703:288:130","nodes":[],"statements":[{"assignments":[80308,80310],"declarations":[{"constant":false,"id":80308,"mutability":"mutable","name":"conviction","nameLocation":"38722:10:130","nodeType":"VariableDeclaration","scope":80338,"src":"38714:18:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80307,"name":"uint256","nodeType":"ElementaryTypeName","src":"38714:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":80310,"mutability":"mutable","name":"blockNumber","nameLocation":"38742:11:130","nodeType":"VariableDeclaration","scope":80338,"src":"38734:19:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80309,"name":"uint256","nodeType":"ElementaryTypeName","src":"38734:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":80315,"initialValue":{"arguments":[{"id":80312,"name":"_proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80302,"src":"38791:9:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},{"id":80313,"name":"_oldStaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80304,"src":"38802:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":80311,"name":"_checkBlockAndCalculateConviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80386,"src":"38757:33:130","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Proposal_$77721_storage_ptr_$_t_uint256_$returns$_t_uint256_$_t_uint256_$","typeString":"function (struct StrategyStruct.Proposal storage pointer,uint256) view returns (uint256,uint256)"}},"id":80314,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38757:56:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_uint256_$","typeString":"tuple(uint256,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"38713:100:130"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":80322,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80318,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":80316,"name":"conviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80308,"src":"38827:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":80317,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"38841:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"38827:15:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80321,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":80319,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80310,"src":"38846:11:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":80320,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"38861:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"38846:16:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"38827:35:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":80325,"nodeType":"IfStatement","src":"38823:72:130","trueBody":{"id":80324,"nodeType":"Block","src":"38864:31:130","statements":[{"functionReturnParameters":80306,"id":80323,"nodeType":"Return","src":"38878:7:130"}]}},{"expression":{"id":80330,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":80326,"name":"_proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80302,"src":"38904:9:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":80328,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"38914:9:130","memberName":"blockLast","nodeType":"MemberAccess","referencedDeclaration":77710,"src":"38904:19:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":80329,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80310,"src":"38926:11:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"38904:33:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":80331,"nodeType":"ExpressionStatement","src":"38904:33:130"},{"expression":{"id":80336,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":80332,"name":"_proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80302,"src":"38947:9:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":80334,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"38957:14:130","memberName":"convictionLast","nodeType":"MemberAccess","referencedDeclaration":77702,"src":"38947:24:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":80335,"name":"conviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80308,"src":"38974:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"38947:37:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":80337,"nodeType":"ExpressionStatement","src":"38947:37:130"}]},"documentation":{"id":80299,"nodeType":"StructuredDocumentation","src":"38411:179:130","text":" @dev Calculate conviction and store it on the proposal\n @param _proposal Proposal\n @param _oldStaked Amount of tokens staked on a proposal until now"},"implemented":true,"kind":"function","modifiers":[],"name":"_calculateAndSetConviction","nameLocation":"38604:26:130","parameters":{"id":80305,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80302,"mutability":"mutable","name":"_proposal","nameLocation":"38663:9:130","nodeType":"VariableDeclaration","scope":80339,"src":"38631:41:130","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":80301,"nodeType":"UserDefinedTypeName","pathNode":{"id":80300,"name":"StrategyStruct.Proposal","nameLocations":["38631:14:130","38646:8:130"],"nodeType":"IdentifierPath","referencedDeclaration":77721,"src":"38631:23:130"},"referencedDeclaration":77721,"src":"38631:23:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"},{"constant":false,"id":80304,"mutability":"mutable","name":"_oldStaked","nameLocation":"38682:10:130","nodeType":"VariableDeclaration","scope":80339,"src":"38674:18:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80303,"name":"uint256","nodeType":"ElementaryTypeName","src":"38674:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"38630:63:130"},"returnParameters":{"id":80306,"nodeType":"ParameterList","parameters":[],"src":"38703:0:130"},"scope":80578,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":80386,"nodeType":"FunctionDefinition","src":"38997:719:130","nodes":[],"body":{"id":80385,"nodeType":"Block","src":"39195:521:130","nodes":[],"statements":[{"expression":{"id":80354,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":80351,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80349,"src":"39205:11:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":80352,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"39219:5:130","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":80353,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"39225:6:130","memberName":"number","nodeType":"MemberAccess","src":"39219:12:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"39205:26:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":80355,"nodeType":"ExpressionStatement","src":"39205:26:130"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80360,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":80357,"name":"_proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80342,"src":"39248:9:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":80358,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"39258:9:130","memberName":"blockLast","nodeType":"MemberAccess","referencedDeclaration":77710,"src":"39248:19:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"id":80359,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80349,"src":"39271:11:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"39248:34:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":80356,"name":"assert","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-3,"src":"39241:6:130","typeDescriptions":{"typeIdentifier":"t_function_assert_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":80361,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"39241:42:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":80362,"nodeType":"ExpressionStatement","src":"39241:42:130"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80366,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":80363,"name":"_proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80342,"src":"39297:9:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":80364,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"39307:9:130","memberName":"blockLast","nodeType":"MemberAccess","referencedDeclaration":77710,"src":"39297:19:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":80365,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80349,"src":"39320:11:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"39297:34:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":80372,"nodeType":"IfStatement","src":"39293:173:130","trueBody":{"id":80371,"nodeType":"Block","src":"39333:133:130","statements":[{"expression":{"components":[{"hexValue":"30","id":80367,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"39421:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":80368,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"39424:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"id":80369,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"39420:6:130","typeDescriptions":{"typeIdentifier":"t_tuple$_t_rational_0_by_1_$_t_rational_0_by_1_$","typeString":"tuple(int_const 0,int_const 0)"}},"functionReturnParameters":80350,"id":80370,"nodeType":"Return","src":"39413:13:130"}]}},{"expression":{"id":80383,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":80373,"name":"conviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80347,"src":"39519:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80378,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":80375,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80349,"src":"39565:11:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"expression":{"id":80376,"name":"_proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80342,"src":"39579:9:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":80377,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"39589:9:130","memberName":"blockLast","nodeType":"MemberAccess","referencedDeclaration":77710,"src":"39579:19:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"39565:33:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":80379,"name":"_proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80342,"src":"39651:9:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":80380,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"39661:14:130","memberName":"convictionLast","nodeType":"MemberAccess","referencedDeclaration":77702,"src":"39651:24:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":80381,"name":"_oldStaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80344,"src":"39689:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":80374,"name":"calculateConviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80102,"src":"39532:19:130","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256,uint256) view returns (uint256)"}},"id":80382,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"39532:177:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"39519:190:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":80384,"nodeType":"ExpressionStatement","src":"39519:190:130"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_checkBlockAndCalculateConviction","nameLocation":"39006:33:130","parameters":{"id":80345,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80342,"mutability":"mutable","name":"_proposal","nameLocation":"39072:9:130","nodeType":"VariableDeclaration","scope":80386,"src":"39040:41:130","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":80341,"nodeType":"UserDefinedTypeName","pathNode":{"id":80340,"name":"StrategyStruct.Proposal","nameLocations":["39040:14:130","39055:8:130"],"nodeType":"IdentifierPath","referencedDeclaration":77721,"src":"39040:23:130"},"referencedDeclaration":77721,"src":"39040:23:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"},{"constant":false,"id":80344,"mutability":"mutable","name":"_oldStaked","nameLocation":"39091:10:130","nodeType":"VariableDeclaration","scope":80386,"src":"39083:18:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80343,"name":"uint256","nodeType":"ElementaryTypeName","src":"39083:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"39039:63:130"},"returnParameters":{"id":80350,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80347,"mutability":"mutable","name":"conviction","nameLocation":"39158:10:130","nodeType":"VariableDeclaration","scope":80386,"src":"39150:18:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80346,"name":"uint256","nodeType":"ElementaryTypeName","src":"39150:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":80349,"mutability":"mutable","name":"blockNumber","nameLocation":"39178:11:130","nodeType":"VariableDeclaration","scope":80386,"src":"39170:19:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80348,"name":"uint256","nodeType":"ElementaryTypeName","src":"39170:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"39149:41:130"},"scope":80578,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":80434,"nodeType":"FunctionDefinition","src":"39722:520:130","nodes":[],"body":{"id":80433,"nodeType":"Block","src":"39801:441:130","nodes":[],"statements":[{"assignments":[80397],"declarations":[{"constant":false,"id":80397,"mutability":"mutable","name":"proposal","nameLocation":"39843:8:130","nodeType":"VariableDeclaration","scope":80433,"src":"39811:40:130","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":80396,"nodeType":"UserDefinedTypeName","pathNode":{"id":80395,"name":"StrategyStruct.Proposal","nameLocations":["39811:14:130","39826:8:130"],"nodeType":"IdentifierPath","referencedDeclaration":77721,"src":"39811:23:130"},"referencedDeclaration":77721,"src":"39811:23:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":80401,"initialValue":{"baseExpression":{"id":80398,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77969,"src":"39854:9:130","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$77721_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":80400,"indexExpression":{"id":80399,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80388,"src":"39864:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"39854:21:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"39811:64:130"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80405,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":80402,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80397,"src":"39890:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":80403,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"39899:10:130","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":77696,"src":"39890:19:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":80404,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80388,"src":"39913:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"39890:33:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":80411,"nodeType":"IfStatement","src":"39886:100:130","trueBody":{"id":80410,"nodeType":"Block","src":"39925:61:130","statements":[{"errorCall":{"arguments":[{"id":80407,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80388,"src":"39964:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":80406,"name":"ProposalNotInList","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77815,"src":"39946:17:130","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":80408,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"39946:29:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":80409,"nodeType":"RevertStatement","src":"39939:36:130"}]}},{"condition":{"commonType":{"typeIdentifier":"t_enum$_ProposalStatus_$77694","typeString":"enum StrategyStruct.ProposalStatus"},"id":80417,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":80412,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80397,"src":"40000:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":80413,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"40009:14:130","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":77713,"src":"40000:23:130","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$77694","typeString":"enum StrategyStruct.ProposalStatus"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"expression":{"id":80414,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77752,"src":"40027:14:130","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$77752_$","typeString":"type(library StrategyStruct)"}},"id":80415,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"40042:14:130","memberName":"ProposalStatus","nodeType":"MemberAccess","referencedDeclaration":77694,"src":"40027:29:130","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$77694_$","typeString":"type(enum StrategyStruct.ProposalStatus)"}},"id":80416,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"40057:6:130","memberName":"Active","nodeType":"MemberAccess","referencedDeclaration":77690,"src":"40027:36:130","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$77694","typeString":"enum StrategyStruct.ProposalStatus"}},"src":"40000:63:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":80423,"nodeType":"IfStatement","src":"39996:130:130","trueBody":{"id":80422,"nodeType":"Block","src":"40065:61:130","statements":[{"errorCall":{"arguments":[{"id":80419,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80388,"src":"40104:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":80418,"name":"ProposalNotActive","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77811,"src":"40086:17:130","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":80420,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"40086:29:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":80421,"nodeType":"RevertStatement","src":"40079:36:130"}]}},{"expression":{"arguments":[{"id":80425,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80397,"src":"40163:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},{"expression":{"id":80426,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80397,"src":"40173:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":80427,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"40182:12:130","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":77700,"src":"40173:21:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":80424,"name":"_calculateAndSetConviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80339,"src":"40136:26:130","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_Proposal_$77721_storage_ptr_$_t_uint256_$returns$__$","typeString":"function (struct StrategyStruct.Proposal storage pointer,uint256)"}},"id":80428,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"40136:59:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":80429,"nodeType":"ExpressionStatement","src":"40136:59:130"},{"expression":{"expression":{"id":80430,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80397,"src":"40212:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":80431,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"40221:14:130","memberName":"convictionLast","nodeType":"MemberAccess","referencedDeclaration":77702,"src":"40212:23:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":80392,"id":80432,"nodeType":"Return","src":"40205:30:130"}]},"functionSelector":"1aa91a9e","implemented":true,"kind":"function","modifiers":[],"name":"updateProposalConviction","nameLocation":"39731:24:130","parameters":{"id":80389,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80388,"mutability":"mutable","name":"proposalId","nameLocation":"39764:10:130","nodeType":"VariableDeclaration","scope":80434,"src":"39756:18:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80387,"name":"uint256","nodeType":"ElementaryTypeName","src":"39756:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"39755:20:130"},"returnParameters":{"id":80392,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80391,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":80434,"src":"39792:7:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80390,"name":"uint256","nodeType":"ElementaryTypeName","src":"39792:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"39791:9:130"},"scope":80578,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":80453,"nodeType":"FunctionDefinition","src":"40248:124:130","nodes":[],"body":{"id":80452,"nodeType":"Block","src":"40320:52:130","nodes":[],"statements":[{"expression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80449,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80443,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":80441,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80436,"src":"40339:6:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":80442,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77919,"src":"40348:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"40339:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":80444,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"40338:12:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80447,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":80445,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77919,"src":"40354:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":80446,"name":"decay","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77933,"src":"40358:5:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"40354:9:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":80448,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"40353:11:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"40338:26:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":80450,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"40337:28:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":80440,"id":80451,"nodeType":"Return","src":"40330:35:130"}]},"functionSelector":"950559d7","implemented":true,"kind":"function","modifiers":[],"name":"getMaxConviction","nameLocation":"40257:16:130","parameters":{"id":80437,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80436,"mutability":"mutable","name":"amount","nameLocation":"40282:6:130","nodeType":"VariableDeclaration","scope":80453,"src":"40274:14:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80435,"name":"uint256","nodeType":"ElementaryTypeName","src":"40274:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"40273:16:130"},"returnParameters":{"id":80440,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80439,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":80453,"src":"40311:7:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80438,"name":"uint256","nodeType":"ElementaryTypeName","src":"40311:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"40310:9:130"},"scope":80578,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":80471,"nodeType":"FunctionDefinition","src":"40378:137:130","nodes":[],"body":{"id":80470,"nodeType":"Block","src":"40449:66:130","nodes":[],"statements":[{"expression":{"id":80464,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":80462,"name":"decay","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77933,"src":"40459:5:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":80463,"name":"_decay","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80455,"src":"40467:6:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"40459:14:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":80465,"nodeType":"ExpressionStatement","src":"40459:14:130"},{"eventCall":{"arguments":[{"id":80467,"name":"_decay","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80455,"src":"40501:6:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":80466,"name":"DecayUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77898,"src":"40488:12:130","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":80468,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"40488:20:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":80469,"nodeType":"EmitStatement","src":"40483:25:130"}]},"functionSelector":"69fa25c4","implemented":true,"kind":"function","modifiers":[{"arguments":[{"expression":{"id":80458,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"40437:3:130","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":80459,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"40441:6:130","memberName":"sender","nodeType":"MemberAccess","src":"40437:10:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"id":80460,"kind":"modifierInvocation","modifierName":{"id":80457,"name":"onlyPoolManager","nameLocations":["40421:15:130"],"nodeType":"IdentifierPath","referencedDeclaration":74135,"src":"40421:15:130"},"nodeType":"ModifierInvocation","src":"40421:27:130"}],"name":"setDecay","nameLocation":"40387:8:130","parameters":{"id":80456,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80455,"mutability":"mutable","name":"_decay","nameLocation":"40404:6:130","nodeType":"VariableDeclaration","scope":80471,"src":"40396:14:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80454,"name":"uint256","nodeType":"ElementaryTypeName","src":"40396:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"40395:16:130"},"returnParameters":{"id":80461,"nodeType":"ParameterList","parameters":[],"src":"40449:0:130"},"scope":80578,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":80489,"nodeType":"FunctionDefinition","src":"40521:155:130","nodes":[],"body":{"id":80488,"nodeType":"Block","src":"40598:78:130","nodes":[],"statements":[{"expression":{"id":80482,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":80480,"name":"maxRatio","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77935,"src":"40608:8:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":80481,"name":"_maxRatio","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80473,"src":"40619:9:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"40608:20:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":80483,"nodeType":"ExpressionStatement","src":"40608:20:130"},{"eventCall":{"arguments":[{"id":80485,"name":"_maxRatio","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80473,"src":"40659:9:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":80484,"name":"MaxRatioUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77902,"src":"40643:15:130","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":80486,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"40643:26:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":80487,"nodeType":"EmitStatement","src":"40638:31:130"}]},"functionSelector":"11f22ae3","implemented":true,"kind":"function","modifiers":[{"arguments":[{"expression":{"id":80476,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"40586:3:130","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":80477,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"40590:6:130","memberName":"sender","nodeType":"MemberAccess","src":"40586:10:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"id":80478,"kind":"modifierInvocation","modifierName":{"id":80475,"name":"onlyPoolManager","nameLocations":["40570:15:130"],"nodeType":"IdentifierPath","referencedDeclaration":74135,"src":"40570:15:130"},"nodeType":"ModifierInvocation","src":"40570:27:130"}],"name":"setMaxRatio","nameLocation":"40530:11:130","parameters":{"id":80474,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80473,"mutability":"mutable","name":"_maxRatio","nameLocation":"40550:9:130","nodeType":"VariableDeclaration","scope":80489,"src":"40542:17:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80472,"name":"uint256","nodeType":"ElementaryTypeName","src":"40542:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"40541:19:130"},"returnParameters":{"id":80479,"nodeType":"ParameterList","parameters":[],"src":"40598:0:130"},"scope":80578,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":80507,"nodeType":"FunctionDefinition","src":"40682:143:130","nodes":[],"body":{"id":80506,"nodeType":"Block","src":"40755:70:130","nodes":[],"statements":[{"expression":{"id":80500,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":80498,"name":"weight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77937,"src":"40765:6:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":80499,"name":"_weight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80491,"src":"40774:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"40765:16:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":80501,"nodeType":"ExpressionStatement","src":"40765:16:130"},{"eventCall":{"arguments":[{"id":80503,"name":"_weight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80491,"src":"40810:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":80502,"name":"WeightUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77906,"src":"40796:13:130","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":80504,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"40796:22:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":80505,"nodeType":"EmitStatement","src":"40791:27:130"}]},"functionSelector":"fc1711f2","implemented":true,"kind":"function","modifiers":[{"arguments":[{"expression":{"id":80494,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"40743:3:130","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":80495,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"40747:6:130","memberName":"sender","nodeType":"MemberAccess","src":"40743:10:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"id":80496,"kind":"modifierInvocation","modifierName":{"id":80493,"name":"onlyPoolManager","nameLocations":["40727:15:130"],"nodeType":"IdentifierPath","referencedDeclaration":74135,"src":"40727:15:130"},"nodeType":"ModifierInvocation","src":"40727:27:130"}],"name":"setWeight","nameLocation":"40691:9:130","parameters":{"id":80492,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80491,"mutability":"mutable","name":"_weight","nameLocation":"40709:7:130","nodeType":"VariableDeclaration","scope":80507,"src":"40701:15:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80490,"name":"uint256","nodeType":"ElementaryTypeName","src":"40701:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"40700:17:130"},"returnParameters":{"id":80497,"nodeType":"ParameterList","parameters":[],"src":"40755:0:130"},"scope":80578,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":80527,"nodeType":"FunctionDefinition","src":"40831:223:130","nodes":[],"body":{"id":80526,"nodeType":"Block","src":"40926:128:130","nodes":[],"statements":[{"expression":{"id":80520,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":80516,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77961,"src":"40936:17:130","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":80518,"name":"_registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80509,"src":"40978:18:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":80517,"name":"RegistryCommunityV0_0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85047,"src":"40956:21:130","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_RegistryCommunityV0_0_$85047_$","typeString":"type(contract RegistryCommunityV0_0)"}},"id":80519,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"40956:41:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"}},"src":"40936:61:130","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"}},"id":80521,"nodeType":"ExpressionStatement","src":"40936:61:130"},{"eventCall":{"arguments":[{"id":80523,"name":"_registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80509,"src":"41028:18:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":80522,"name":"RegistryUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77910,"src":"41012:15:130","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":80524,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41012:35:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":80525,"nodeType":"EmitStatement","src":"41007:40:130"}]},"functionSelector":"058aca44","implemented":true,"kind":"function","modifiers":[{"arguments":[{"expression":{"id":80512,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"40914:3:130","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":80513,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"40918:6:130","memberName":"sender","nodeType":"MemberAccess","src":"40914:10:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"id":80514,"kind":"modifierInvocation","modifierName":{"id":80511,"name":"onlyPoolManager","nameLocations":["40898:15:130"],"nodeType":"IdentifierPath","referencedDeclaration":74135,"src":"40898:15:130"},"nodeType":"ModifierInvocation","src":"40898:27:130"}],"name":"setRegistryCommunity","nameLocation":"40840:20:130","parameters":{"id":80510,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80509,"mutability":"mutable","name":"_registryCommunity","nameLocation":"40869:18:130","nodeType":"VariableDeclaration","scope":80527,"src":"40861:26:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":80508,"name":"address","nodeType":"ElementaryTypeName","src":"40861:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"40860:28:130"},"returnParameters":{"id":80515,"nodeType":"ParameterList","parameters":[],"src":"40926:0:130"},"scope":80578,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":80546,"nodeType":"FunctionDefinition","src":"41060:237:130","nodes":[],"body":{"id":80545,"nodeType":"Block","src":"41157:140:130","nodes":[],"statements":[{"eventCall":{"arguments":[{"id":80537,"name":"_minThresholdPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77947,"src":"41198:19:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":80538,"name":"minThresholdPoints_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80529,"src":"41219:19:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":80536,"name":"MinThresholdPointsUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77916,"src":"41172:25:130","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":80539,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41172:67:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":80540,"nodeType":"EmitStatement","src":"41167:72:130"},{"expression":{"id":80543,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":80541,"name":"_minThresholdPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77947,"src":"41249:19:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":80542,"name":"minThresholdPoints_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80529,"src":"41271:19:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"41249:41:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":80544,"nodeType":"ExpressionStatement","src":"41249:41:130"}]},"functionSelector":"2cefadbb","implemented":true,"kind":"function","modifiers":[{"arguments":[{"expression":{"id":80532,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"41145:3:130","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":80533,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"41149:6:130","memberName":"sender","nodeType":"MemberAccess","src":"41145:10:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"id":80534,"kind":"modifierInvocation","modifierName":{"id":80531,"name":"onlyPoolManager","nameLocations":["41129:15:130"],"nodeType":"IdentifierPath","referencedDeclaration":74135,"src":"41129:15:130"},"nodeType":"ModifierInvocation","src":"41129:27:130"}],"name":"setMinThresholdPoints","nameLocation":"41069:21:130","parameters":{"id":80530,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80529,"mutability":"mutable","name":"minThresholdPoints_","nameLocation":"41099:19:130","nodeType":"VariableDeclaration","scope":80546,"src":"41091:27:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80528,"name":"uint256","nodeType":"ElementaryTypeName","src":"41091:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"41090:29:130"},"returnParameters":{"id":80535,"nodeType":"ParameterList","parameters":[],"src":"41157:0:130"},"scope":80578,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":80564,"nodeType":"FunctionDefinition","src":"41303:170:130","nodes":[],"body":{"id":80563,"nodeType":"Block","src":"41374:99:130","nodes":[],"statements":[{"expression":{"arguments":[{"id":80554,"name":"_sybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80548,"src":"41403:12:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":80553,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78210,"src":"41384:18:130","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":80555,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41384:32:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":80556,"nodeType":"ExpressionStatement","src":"41384:32:130"},{"expression":{"id":80561,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":80557,"name":"sybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77964,"src":"41426:11:130","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$80667","typeString":"contract ISybilScorer"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":80559,"name":"_sybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80548,"src":"41453:12:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":80558,"name":"ISybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80667,"src":"41440:12:130","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ISybilScorer_$80667_$","typeString":"type(contract ISybilScorer)"}},"id":80560,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41440:26:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$80667","typeString":"contract ISybilScorer"}},"src":"41426:40:130","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$80667","typeString":"contract ISybilScorer"}},"id":80562,"nodeType":"ExpressionStatement","src":"41426:40:130"}]},"functionSelector":"ac1ed7b9","implemented":true,"kind":"function","modifiers":[{"id":80551,"kind":"modifierInvocation","modifierName":{"id":80550,"name":"onlyCouncilSafe","nameLocations":["41358:15:130"],"nodeType":"IdentifierPath","referencedDeclaration":77997,"src":"41358:15:130"},"nodeType":"ModifierInvocation","src":"41358:15:130"}],"name":"setSybilScorer","nameLocation":"41312:14:130","parameters":{"id":80549,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80548,"mutability":"mutable","name":"_sybilScorer","nameLocation":"41335:12:130","nodeType":"VariableDeclaration","scope":80564,"src":"41327:20:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":80547,"name":"address","nodeType":"ElementaryTypeName","src":"41327:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"41326:22:130"},"returnParameters":{"id":80552,"nodeType":"ParameterList","parameters":[],"src":"41374:0:130"},"scope":80578,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":80573,"nodeType":"FunctionDefinition","src":"41479:66:130","nodes":[],"body":{"id":80572,"nodeType":"Block","src":"41543:2:130","nodes":[],"statements":[]},"baseFunctions":[56212],"implemented":true,"kind":"function","modifiers":[{"id":80570,"kind":"modifierInvocation","modifierName":{"id":80569,"name":"onlyOwner","nameLocations":["41533:9:130"],"nodeType":"IdentifierPath","referencedDeclaration":52856,"src":"41533:9:130"},"nodeType":"ModifierInvocation","src":"41533:9:130"}],"name":"_authorizeUpgrade","nameLocation":"41488:17:130","overrides":{"id":80568,"nodeType":"OverrideSpecifier","overrides":[],"src":"41524:8:130"},"parameters":{"id":80567,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80566,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":80573,"src":"41506:7:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":80565,"name":"address","nodeType":"ElementaryTypeName","src":"41506:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"41505:9:130"},"returnParameters":{"id":80571,"nodeType":"ParameterList","parameters":[],"src":"41543:0:130"},"scope":80578,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":80577,"nodeType":"VariableDeclaration","src":"41551:25:130","nodes":[],"constant":false,"mutability":"mutable","name":"__gap","nameLocation":"41571:5:130","scope":80578,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$50_storage","typeString":"uint256[50]"},"typeName":{"baseType":{"id":80574,"name":"uint256","nodeType":"ElementaryTypeName","src":"41551:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":80576,"length":{"hexValue":"3530","id":80575,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"41559:2:130","typeDescriptions":{"typeIdentifier":"t_rational_50_by_1","typeString":"int_const 50"},"value":"50"},"nodeType":"ArrayTypeName","src":"41551:11:130","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$50_storage_ptr","typeString":"uint256[50]"}},"visibility":"private"}],"abstract":false,"baseContracts":[{"baseName":{"id":77753,"name":"OwnableUpgradeable","nameLocations":["3094:18:130"],"nodeType":"IdentifierPath","referencedDeclaration":52942,"src":"3094:18:130"},"id":77754,"nodeType":"InheritanceSpecifier","src":"3094:18:130"},{"baseName":{"id":77755,"name":"BaseStrategyUpgradeable","nameLocations":["3114:23:130"],"nodeType":"IdentifierPath","referencedDeclaration":74672,"src":"3114:23:130"},"id":77756,"nodeType":"InheritanceSpecifier","src":"3114:23:130"},{"baseName":{"id":77757,"name":"IPointStrategy","nameLocations":["3139:14:130"],"nodeType":"IdentifierPath","referencedDeclaration":77667,"src":"3139:14:130"},"id":77758,"nodeType":"InheritanceSpecifier","src":"3139:14:130"},{"baseName":{"id":77759,"name":"ERC165","nameLocations":["3155:6:130"],"nodeType":"IdentifierPath","referencedDeclaration":58266,"src":"3155:6:130"},"id":77760,"nodeType":"InheritanceSpecifier","src":"3155:6:130"}],"canonicalName":"CVStrategyV0_0","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[80578,58266,58472,77667,74672,3089,3317,3106,2969,56213,55866,55515,55525,52942,53735,53191],"name":"CVStrategyV0_0","nameLocation":"3076:14:130","scope":80579,"usedErrors":[3008,3011,3014,3017,3020,3023,3026,3029,3032,3035,3038,3041,3044,3047,3050,3053,3056,3059,3062,3065,3068,3071,3074,3079,3082,3085,3088,3117,77765,77767,77769,77771,77773,77775,77777,77779,77781,77783,77785,77793,77795,77797,77803,77805,77807,77811,77815,77821,77823,77825,77833,77835,77837]}],"license":"AGPL-3.0-only"},"id":130} \ No newline at end of file +{"abi":[{"type":"function","name":"deactivatePoints","inputs":[{"name":"_member","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"decreasePower","inputs":[{"name":"_member","type":"address","internalType":"address"},{"name":"_amountToUntake","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"getPointSystem","inputs":[],"outputs":[{"name":"","type":"uint8","internalType":"enum StrategyStruct.PointSystem"}],"stateMutability":"nonpayable"},{"type":"function","name":"increasePower","inputs":[{"name":"_member","type":"address","internalType":"address"},{"name":"_amountToStake","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"deactivatePoints(address)":"6453d9c4","decreasePower(address,uint256)":"2ed04b2b","getPointSystem()":"c3292171","increasePower(address,uint256)":"782aadff"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"}],\"name\":\"deactivatePoints\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amountToUntake\",\"type\":\"uint256\"}],\"name\":\"decreasePower\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getPointSystem\",\"outputs\":[{\"internalType\":\"enum StrategyStruct.PointSystem\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amountToStake\",\"type\":\"uint256\"}],\"name\":\"increasePower\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"pkg/contracts/src/CVStrategyV0_0.sol\":\"IPointStrategy\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1000},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":eas-proxy/=lib/allo-v2/lib/eas-proxy/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":hedgey-vesting/=lib/allo-v2/lib/hedgey-vesting/contracts/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-contracts/=lib/safe-contracts/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":superfluid-protocol-monorepo/=lib/allo-v2/lib/superfluid-protocol-monorepo/packages/solidity-semantic-money/src/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"]},\"sources\":{\"lib/allo-v2/contracts/core/interfaces/IAllo.sol\":{\"keccak256\":\"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7\",\"dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1\"]},\"lib/allo-v2/contracts/core/interfaces/IRegistry.sol\":{\"keccak256\":\"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e\",\"dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA\"]},\"lib/allo-v2/contracts/core/interfaces/IStrategy.sol\":{\"keccak256\":\"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487\",\"dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH\"]},\"lib/allo-v2/contracts/core/libraries/Clone.sol\":{\"keccak256\":\"0xc348b24b7d8a98c4faa5f2aa37ce9264a74f81dbdef1a9bae2eaa125585c3c7e\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://1335b3ec59ec7e3d12ea7c90b3aa56f4c26e0d44d342f54412933be9d4f16067\",\"dweb:/ipfs/QmXNFo2wCyq9cpvfgbdHvBUQecThFSEoUnMuZNS6WinDrr\"]},\"lib/allo-v2/contracts/core/libraries/Errors.sol\":{\"keccak256\":\"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf\",\"dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA\"]},\"lib/allo-v2/contracts/core/libraries/Metadata.sol\":{\"keccak256\":\"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c\",\"dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn\"]},\"lib/allo-v2/contracts/core/libraries/Native.sol\":{\"keccak256\":\"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a\",\"dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv\"]},\"lib/allo-v2/contracts/core/libraries/Transfer.sol\":{\"keccak256\":\"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11\",\"dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5\"]},\"lib/allo-v2/contracts/strategies/BaseStrategy.sol\":{\"keccak256\":\"0x3f1382dc6c35d50545e327e7ed6016f2bd752357d446bd698014073f0b812873\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://99500abcd617fa43f6dde49e2c7802821ceaf54a65a8055cbbf2695ecd107974\",\"dweb:/ipfs/QmUktZkWuu3GCMEijY1fqt7NMy7BzpTvEtcmpB1fuoa7zt\"]},\"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol\":{\"keccak256\":\"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298\",\"dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x51fec240abc6dd23e0ee6de7c65106379aef732cad6c4ae5df6b55db886e7456\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://a47d9c0a9876e7f9e411843b994a741d4ac1a87d8459ffc3c56359de691ddc1a\",\"dweb:/ipfs/QmQiFN9b3Y2azrD1RBfAKEuAG3YeJkMzA2DGzgEE9kMeEK\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0xc8710577334e8d0799ae2b2a731b1924a7bddd64319da9787ddd2dc69bdd1ce5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b83b7afa4d2372da3ba5402fb10860a105c35d79812c60dc61007be2afc17618\",\"dweb:/ipfs/QmYX9xPmbNVSKXrepKiUZiG5oL3SdzFp9a4kqspxX1sEUx\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol\":{\"keccak256\":\"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c\",\"dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol\":{\"keccak256\":\"0x359a1ab89b46b9aba7bcad3fb651924baf4893d15153049b9976b0fc9be1358e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e89863421b4014b96a4b62be76eb3b9f0a8afe9684664a6f389124c0964bfe5c\",\"dweb:/ipfs/Qmbk7xr1irpDuU1WdxXgxELBXxs61rHhCgod7heVcvFx16\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol\":{\"keccak256\":\"0x3d98edeb5d5be8410fca707b73dabe7544d1dd11e35b73dd907c473fe43cc3ae\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1a3fa9fc3aec149b8ad0dd8895277ab11e9244e9d2b7adc8404b22de974fc964\",\"dweb:/ipfs/QmRggzxs1WjuvGJSAKb2Nw5r7P3VDMefCWKTbkNPKRkv2j\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e\",\"dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol\":{\"keccak256\":\"0x2025ccf05f6f1f2fd4e078e552836f525a1864e3854ed555047cd732320ab29b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d27f4b23c2dee42394aebaf42bf238285230f472dfd3282a39c3f000ec28214f\",\"dweb:/ipfs/QmQa3DnvccwdWJeWrjgXPnFMTWbzWQWR39hVqC7eEwo2PC\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b\",\"dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95\",\"dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol\":{\"keccak256\":\"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a\",\"dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0xd90d7723512df65ae417adaf0801042940f0dabd60039ceeaffe34aa5b238da1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1b13befeb3413749292f9fb229de1c7a509a5ce2c8047d9094fc004ca9d3af89\",\"dweb:/ipfs/QmRzJ2hZSwRtMejHUZAYTPRKgZsnfb112Fno9Jf3EiDfwA\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol\":{\"keccak256\":\"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758\",\"dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol\":{\"keccak256\":\"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91\",\"dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol\":{\"keccak256\":\"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4\",\"dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z\"]},\"lib/openzeppelin-contracts/contracts/access/AccessControl.sol\":{\"keccak256\":\"0x0dd6e52cb394d7f5abe5dca2d4908a6be40417914720932de757de34a99ab87f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://dc117ce50ea746cab6b97ed1a1facee17a715ae0cb95d67b943dacbaf15176fb\",\"dweb:/ipfs/QmYRZ2UGNYwsHwfNu7Wjr8L2j1LBZ1mKv6NvbwgterYMXc\"]},\"lib/openzeppelin-contracts/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0x59ce320a585d7e1f163cd70390a0ef2ff9cec832e2aa544293a00692465a7a57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb2c137c343ef0c4c7ce7b18c1d108afdc9d315a04e48307288d2d05adcbde3a\",\"dweb:/ipfs/QmUxhrAQM3MM3FF5j7AtcXLXguWCJBHJ14BRdVtuoQc8Fh\"]},\"lib/openzeppelin-contracts/contracts/access/Ownable.sol\":{\"keccak256\":\"0xba43b97fba0d32eb4254f6a5a297b39a19a247082a02d6e69349e071e2946218\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fc980984badf3984b6303b377711220e067722bbd6a135b24669ff5069ef9f32\",\"dweb:/ipfs/QmPHXMSXj99XjSVM21YsY6aNtLLjLVXDbyN76J5HQYvvrz\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol\":{\"keccak256\":\"0x3cbef5ebc24b415252e2f8c0c9254555d30d9f085603b4b80d9b5ed20ab87e90\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e8fa670c3bdce78e642cc6ae11c4cb38b133499cdce5e1990a9979d424703263\",\"dweb:/ipfs/QmVxeCUk4jL2pXQyhsoNJwyU874wRufS2WvGe8TgPKPqhE\"]},\"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol\":{\"keccak256\":\"0x1d4afe6cb24200cc4545eed814ecf5847277dfe5d613a1707aad5fceecebcfff\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://383fb7b8181016ac5ccf07bc9cdb7c1b5045ea36e2cc4df52bcbf20396fc7688\",\"dweb:/ipfs/QmYJ7Cg4WmE3rR8KGQxjUCXFfTH6TcwZ2Z1f6tPrq7jHFr\"]},\"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol\":{\"keccak256\":\"0xa2b22da3032e50b55f95ec1d13336102d675f341167aa76db571ef7f8bb7975d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96b6d77a20bebd4eb06b801d3d020c7e82be13bd535cb0d0a6b7181c51dab5d5\",\"dweb:/ipfs/QmPUR9Cv9jNFdQX6PtBfaBW1ZCnKwiu65R2VD5kbdanDyn\"]},\"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Upgrade.sol\":{\"keccak256\":\"0x3b21ae06bf5957f73fa16754b0669c77b7abd8ba6c072d35c3281d446fdb86c2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2db8e18505e86e02526847005d7287a33e397ed7fb9eaba3fd4a4a197add16e2\",\"dweb:/ipfs/QmW9BSuKTzHWHBNSHF4L8XfVuU1uJrP2vLg84YtBd8mL82\"]},\"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol\":{\"keccak256\":\"0xc130fe33f1b2132158531a87734153293f6d07bc263ff4ac90e85da9c82c0e27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8831721b6f4cc26534d190f9f1631c3f59c9ff38efdd911f85e0882b8e360472\",\"dweb:/ipfs/QmQZnLErZNStirSQ13ZNWQgvEYUtGE5tXYwn4QUPaVUfPN\"]},\"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0xd50a3421ac379ccb1be435fa646d66a65c986b4924f0849839f08692f39dde61\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ada1e030c0231db8d143b44ce92b4d1158eedb087880cad6d8cc7bd7ebe7b354\",\"dweb:/ipfs/QmWZ2NHZweRpz1U9GF6R1h65ri76dnX7fNxLBeM2t5N5Ce\"]},\"lib/openzeppelin-contracts/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x3d6069be9b4c01fb81840fb9c2c4dc58dd6a6a4aafaa2c6837de8699574d84c6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://720d6bb56ea0c4ef781c0bd65c5bd0541f5a46100163b2587170f97658d2deed\",\"dweb:/ipfs/QmTS2biLVPrv8CeeXCaKmkFxonMiRvc1LxiYBRYDAJHQUS\"]},\"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol\":{\"keccak256\":\"0xc6619957bcc6641fe8984bfaf9ff11a9e4b97d8149c0495f608f9a2416d7c5cf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://543be67f7fa43b1b932637c1c7f12035f0f4b0f7ee2bd3c33841186f79c165c1\",\"dweb:/ipfs/QmSBPM2UVKbmJqWfD9i6hSiqbaE8TV4TSqfuiivziRRLKM\"]},\"lib/openzeppelin-contracts/contracts/security/ReentrancyGuard.sol\":{\"keccak256\":\"0xa535a5df777d44e945dd24aa43a11e44b024140fc340ad0dfe42acf4002aade1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://41319e7f621f2dc3733511332c4fd032f8e32ad2aa7fd6f665c19741d9941a34\",\"dweb:/ipfs/QmcYR3bd862GD1Bc7jwrU9bGxrhUu5na1oP964bDCu2id1\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15\",\"dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5\",\"dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd\",\"dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol\":{\"keccak256\":\"0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a\",\"dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0x909d608c2db6eb165ca178c81289a07ed2e118e444d0025b2a85c97d0b44a4fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://656cda26512ddd7373c2d5551c8fae759fc30f05b10f0fc2e738e9274199dbd4\",\"dweb:/ipfs/QmTSArSzQRFbQmHgq7U1PZXnsDFhvDZhKVu9CzMG4yo6Lx\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xf09e68aa0dc6722a25bc46490e8d48ed864466d17313b8a0b254c36b54e49899\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e26daf81e2252dc1fe1ce0e4b55c2eb7c6d1ee84ae6558d1a9554432ea1d32da\",\"dweb:/ipfs/Qmb1UANWiWq5pCKbmHSu772hd4nt374dVaghGmwSVNuk8Q\"]},\"lib/openzeppelin-contracts/contracts/utils/Strings.sol\":{\"keccak256\":\"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f\",\"dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol\":{\"keccak256\":\"0x5a08ad61f4e82b8a3323562661a86fb10b10190848073fdc13d4ac43710ffba5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6f7bb74cf88fd88daa34e118bc6e363381d05044f34f391d39a10c0c9dac3ebd\",\"dweb:/ipfs/QmNbQ3v8v4zuDtg7VeLAbdhAm3tCzUodNoDZZ8ekmCHWZX\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]},\"lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/src/strings.sol\":{\"keccak256\":\"0x42cad11a7033f2fe05dd68611d2304407a620ac985b91edf29d5868cfe196223\",\"urls\":[\"bzz-raw://3cbc2333234e1f00eab5e57c4bcaf5115661e5e066a17c70af587a0a96f24669\",\"dweb:/ipfs/QmPHvStqcvZL46LW5N2ExTwAaqNhRCcmAX66aR6oE1WDar\"]},\"lib/openzeppelin-foundry-upgrades/src/Defender.sol\":{\"keccak256\":\"0x2114e4d70d53b36e8cec54ba11ff78d9f38a466ec3504c76c7f26101a7cff37f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://58f4d9bc58646e7631b263cdb8ef260e6818e9f716036d81d1c18218c9557a23\",\"dweb:/ipfs/QmS18L4R4gPtay9eQBcR28DnwmBkGSWsiCFwm2tXc3BkHL\"]},\"lib/openzeppelin-foundry-upgrades/src/LegacyUpgrades.sol\":{\"keccak256\":\"0x8436719f73c76efadaa16cd719d088f698ea3591595dfdf2c15fd66f3e203197\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ac8d0e55defe124adcc3845348602d6528b00b7dc5f7abf9e1b245d0cea9b55e\",\"dweb:/ipfs/QmaPBoG89Bd2btJZW5kjXx7zXo6KhAdeTuMq5xo431M8xq\"]},\"lib/openzeppelin-foundry-upgrades/src/Options.sol\":{\"keccak256\":\"0xa5414683d6b219b28e75ecaab3d00a305dfaf4d970389a88992275c8072ce8ac\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1dbfd566ba318f2b740159c28e4511c84c9d76fcc293ae17c9b1a87b3ea16c9\",\"dweb:/ipfs/QmcyxPoeBdzA9iHEgd76xKhaQ8HKfpV4owdSv6127MmveT\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Core.sol\":{\"keccak256\":\"0x37073df20d2b5fbb0a873e6b2dd76c23e23455d1c2d2ba57d2f0998201a4251d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://79d507647ea48d93371341684cf4199d55ed799db9d3489bc016f53990d2ff7c\",\"dweb:/ipfs/QmQWgXiYcPcwNcrkTHb72WtHd4xPcXfRUMfBrhkDHgr2ut\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/DefenderDeploy.sol\":{\"keccak256\":\"0x868ffdaf5d185fee103fc4581385392b47c209a5cfd2aec01f0307dbc0101d73\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://76e51bf69a4d0b5d1d9cfa7efa442bdcf9d713966563432ef8fdd00ec959a25e\",\"dweb:/ipfs/QmTHkdvMnqmEvus7zbmHhPkWk3fM9SW2Jq8gnyBLwVJtxG\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Utils.sol\":{\"keccak256\":\"0x4de002af810f6a5fe26a6381e0ead3331735bd0059434a22df75e17c177b5f87\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af32ff07f606e530a53030db141a75af144cfe065a6543939d412018c6159540\",\"dweb:/ipfs/QmbfTB92Zd8VQHW61g9dx1CvGgSL5SCoZDLrvJfnR7Ctio\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Versions.sol\":{\"keccak256\":\"0xf1a1441c18a296853509e9b1d18be794ed3de836caea49d6948b5e9ac566e8c6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6f3463514235bd875ecacf45f95cac64aa650dd38d05c15fe1f4203b6b5733bd\",\"dweb:/ipfs/Qmcbhmw9NPkG8MqiVsQ4qUupeQFCRgyBDKuoUwohwa8EP3\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IProxyAdmin.sol\":{\"keccak256\":\"0xf5e514595089f8959da130507086e7388602a71ce60575d141e7d892dfbddbfc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9b41366e2823ccc8cb42304496d761b3df80946d17384634a61afd7139495c91\",\"dweb:/ipfs/QmZE2nRMxax1NPj63ifemKdScGJzKNWi7BCGudjFLsUz1y\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableBeacon.sol\":{\"keccak256\":\"0xa8d7bffdd26eb763e459650c83f247b54af79800c2df52ad05878f238fc1c2f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ed47f1e53e5eb7d48fed60a414755641fca8fa0e713fd503b2597227da78a2f\",\"dweb:/ipfs/QmQr8A5wddHdhQNauFShXxRkPcuVVpVsYpq846WhmFC8Tv\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableProxy.sol\":{\"keccak256\":\"0x781b564b90bba0c0e8e12fb66b1c910f42d369db469f2e88592b4cff29de99a5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://45fcab02a43fde934445b88e905aba3f58a70b75dd6ee6eb86a3d593424aeb03\",\"dweb:/ipfs/QmXmhAgrctaYUDLoTRgUjwD4deoXu1E2QT1kftVGcVa56j\"]},\"pkg/contracts/src/BaseStrategyUpgradeable.sol\":{\"keccak256\":\"0xe059f9e1a262a4713e230a6025c3356681bb5f3c8013b87bc579bae93aa66c20\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://37e879664b08005b9544457cf89bce77e38b6a25639566df7366b9e5968c815e\",\"dweb:/ipfs/QmYgNRqZfYUPbWgcHUHghTcpqjVmT9v4HfkfPdEF64fYe5\"]},\"pkg/contracts/src/CVStrategy.sol\":{\"keccak256\":\"0x132bcf17470960e380d841159d9389985d609aaae1c9a657c78902f7871da957\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://84e905bf392579b44f33fff8586431b940e110b2210854cf487321cc92061705\",\"dweb:/ipfs/QmQpvszYu8RbrXmUFLifSodQzV8LAqazk1fzXNARGc5sBT\"]},\"pkg/contracts/src/CVStrategyV0_0.sol\":{\"keccak256\":\"0x79d01b399c8d735923dfa26b8dacba6200a861202dd6fb1c7711241285439d2d\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://e7ea0014e25a729d6d688620658df81a179a8c2380ae0bc4c78668cd486adb04\",\"dweb:/ipfs/QmdPM8JpFXeqBxQgkRzM1inzCT2rkRxnpoSrFk8DauDpNf\"]},\"pkg/contracts/src/ISybilScorer.sol\":{\"keccak256\":\"0x0e25fbb8497ac3c969d80c9032362d45e56c0a45dc9ba3dff6a8a704571f38ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0dff90ebae6e7131a5300fcaf525bc2ab0ae90fcd13f277d7b7b6939eeb8b7eb\",\"dweb:/ipfs/QmYGkYqpUVrBWoNY6f3CtwrrVQFWSvnJfpu68t95f6AkBY\"]},\"pkg/contracts/src/RegistryCommunity.sol\":{\"keccak256\":\"0xc735f4d2635149f2db9bff291da56e08c3c312d9eb1b767b8a1e3e51584d5734\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://247b33b78abface6a7e2da38174386de9b543f6a27e8340e26d854bff57184a3\",\"dweb:/ipfs/QmedNdqkqeboGzz9w868uGf7KnXUaYZe6i1YcdUPPkJnnf\"]},\"pkg/contracts/src/RegistryCommunityV0_0.sol\":{\"keccak256\":\"0x6525c857f7baff606e87bbc2878f3606923997a444eb500aa15018c676c972a9\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://89d2af9f470c8d7431ff6b1981b7bf46520f719d68da38ab3ca065496a6297d8\",\"dweb:/ipfs/QmceJHX57HbnBXVfmhtRPmnApUQy5QSWTybgq6g37vCxEN\"]},\"pkg/contracts/src/RegistryFactory.sol\":{\"keccak256\":\"0x888b7f5eb1079f90ccfa0b41d8a970bffd8d4d469f9b31917a58279b358dbda5\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://af25fd783de00adf01d1c7caa572801fed0d474306a43b862535b08e65ec10c6\",\"dweb:/ipfs/Qmeb2nEaMQLV86y1CYAAV2c6BYpBDTbpLuC1SigeNjdqLo\"]},\"pkg/contracts/src/interfaces/FAllo.sol\":{\"keccak256\":\"0x32f38cb4400a07a99ae68a9beb91e5649886487172fd50561da6763464efc437\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://cb4f0cee2f3fbede7be5e8e1d7ee8034086359cd07b9dab49c4a991388e5c458\",\"dweb:/ipfs/QmS26kA8cZ9shWwxcbF17Kes8L7Jgw85EQVydDmwb34mjM\"]},\"pkg/contracts/src/interfaces/ISafe.sol\":{\"keccak256\":\"0x878a210809bb684c42157a10f3f90350a67d0a4863f130499942b06f0f2c9143\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://fa2d71bd427c3415e98a2ee15ff673f3cc61c17f14d7087c5eedc83b55f6b0ef\",\"dweb:/ipfs/QmesVSmJQQzi6ys1cvhQFCJyDXchb736mT5bXks4Yp6Cbj\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"_member","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"deactivatePoints"},{"inputs":[{"internalType":"address","name":"_member","type":"address"},{"internalType":"uint256","name":"_amountToUntake","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"decreasePower","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"getPointSystem","outputs":[{"internalType":"enum StrategyStruct.PointSystem","name":"","type":"uint8"}]},{"inputs":[{"internalType":"address","name":"_member","type":"address"},{"internalType":"uint256","name":"_amountToStake","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"increasePower","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","eas-proxy/=lib/allo-v2/lib/eas-proxy/contracts/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","hedgey-vesting/=lib/allo-v2/lib/hedgey-vesting/contracts/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-contracts/=lib/safe-contracts/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","superfluid-protocol-monorepo/=lib/allo-v2/lib/superfluid-protocol-monorepo/packages/solidity-semantic-money/src/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":1000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"pkg/contracts/src/CVStrategyV0_0.sol":"IPointStrategy"},"evmVersion":"paris","libraries":{}},"sources":{"lib/allo-v2/contracts/core/interfaces/IAllo.sol":{"keccak256":"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce","urls":["bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7","dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/interfaces/IRegistry.sol":{"keccak256":"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f","urls":["bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e","dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA"],"license":"MIT"},"lib/allo-v2/contracts/core/interfaces/IStrategy.sol":{"keccak256":"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23","urls":["bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487","dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Clone.sol":{"keccak256":"0xc348b24b7d8a98c4faa5f2aa37ce9264a74f81dbdef1a9bae2eaa125585c3c7e","urls":["bzz-raw://1335b3ec59ec7e3d12ea7c90b3aa56f4c26e0d44d342f54412933be9d4f16067","dweb:/ipfs/QmXNFo2wCyq9cpvfgbdHvBUQecThFSEoUnMuZNS6WinDrr"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Errors.sol":{"keccak256":"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15","urls":["bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf","dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Metadata.sol":{"keccak256":"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44","urls":["bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c","dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Native.sol":{"keccak256":"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5","urls":["bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a","dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Transfer.sol":{"keccak256":"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286","urls":["bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11","dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/strategies/BaseStrategy.sol":{"keccak256":"0x3f1382dc6c35d50545e327e7ed6016f2bd752357d446bd698014073f0b812873","urls":["bzz-raw://99500abcd617fa43f6dde49e2c7802821ceaf54a65a8055cbbf2695ecd107974","dweb:/ipfs/QmUktZkWuu3GCMEijY1fqt7NMy7BzpTvEtcmpB1fuoa7zt"],"license":"AGPL-3.0-only"},"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol":{"keccak256":"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624","urls":["bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298","dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt"],"license":"MIT"},"lib/forge-std/src/Vm.sol":{"keccak256":"0x51fec240abc6dd23e0ee6de7c65106379aef732cad6c4ae5df6b55db886e7456","urls":["bzz-raw://a47d9c0a9876e7f9e411843b994a741d4ac1a87d8459ffc3c56359de691ddc1a","dweb:/ipfs/QmQiFN9b3Y2azrD1RBfAKEuAG3YeJkMzA2DGzgEE9kMeEK"],"license":"MIT OR Apache-2.0"},"lib/forge-std/src/console.sol":{"keccak256":"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba","urls":["bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70","dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol":{"keccak256":"0xc8710577334e8d0799ae2b2a731b1924a7bddd64319da9787ddd2dc69bdd1ce5","urls":["bzz-raw://b83b7afa4d2372da3ba5402fb10860a105c35d79812c60dc61007be2afc17618","dweb:/ipfs/QmYX9xPmbNVSKXrepKiUZiG5oL3SdzFp9a4kqspxX1sEUx"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol":{"keccak256":"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa","urls":["bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c","dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol":{"keccak256":"0x359a1ab89b46b9aba7bcad3fb651924baf4893d15153049b9976b0fc9be1358e","urls":["bzz-raw://e89863421b4014b96a4b62be76eb3b9f0a8afe9684664a6f389124c0964bfe5c","dweb:/ipfs/Qmbk7xr1irpDuU1WdxXgxELBXxs61rHhCgod7heVcvFx16"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol":{"keccak256":"0x3d98edeb5d5be8410fca707b73dabe7544d1dd11e35b73dd907c473fe43cc3ae","urls":["bzz-raw://1a3fa9fc3aec149b8ad0dd8895277ab11e9244e9d2b7adc8404b22de974fc964","dweb:/ipfs/QmRggzxs1WjuvGJSAKb2Nw5r7P3VDMefCWKTbkNPKRkv2j"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794","urls":["bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e","dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol":{"keccak256":"0x2025ccf05f6f1f2fd4e078e552836f525a1864e3854ed555047cd732320ab29b","urls":["bzz-raw://d27f4b23c2dee42394aebaf42bf238285230f472dfd3282a39c3f000ec28214f","dweb:/ipfs/QmQa3DnvccwdWJeWrjgXPnFMTWbzWQWR39hVqC7eEwo2PC"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol":{"keccak256":"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422","urls":["bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b","dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef","urls":["bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95","dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol":{"keccak256":"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb","urls":["bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a","dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol":{"keccak256":"0xd90d7723512df65ae417adaf0801042940f0dabd60039ceeaffe34aa5b238da1","urls":["bzz-raw://1b13befeb3413749292f9fb229de1c7a509a5ce2c8047d9094fc004ca9d3af89","dweb:/ipfs/QmRzJ2hZSwRtMejHUZAYTPRKgZsnfb112Fno9Jf3EiDfwA"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol":{"keccak256":"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09","urls":["bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758","dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol":{"keccak256":"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e","urls":["bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91","dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol":{"keccak256":"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a","urls":["bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4","dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/access/AccessControl.sol":{"keccak256":"0x0dd6e52cb394d7f5abe5dca2d4908a6be40417914720932de757de34a99ab87f","urls":["bzz-raw://dc117ce50ea746cab6b97ed1a1facee17a715ae0cb95d67b943dacbaf15176fb","dweb:/ipfs/QmYRZ2UGNYwsHwfNu7Wjr8L2j1LBZ1mKv6NvbwgterYMXc"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/access/IAccessControl.sol":{"keccak256":"0x59ce320a585d7e1f163cd70390a0ef2ff9cec832e2aa544293a00692465a7a57","urls":["bzz-raw://bb2c137c343ef0c4c7ce7b18c1d108afdc9d315a04e48307288d2d05adcbde3a","dweb:/ipfs/QmUxhrAQM3MM3FF5j7AtcXLXguWCJBHJ14BRdVtuoQc8Fh"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/access/Ownable.sol":{"keccak256":"0xba43b97fba0d32eb4254f6a5a297b39a19a247082a02d6e69349e071e2946218","urls":["bzz-raw://fc980984badf3984b6303b377711220e067722bbd6a135b24669ff5069ef9f32","dweb:/ipfs/QmPHXMSXj99XjSVM21YsY6aNtLLjLVXDbyN76J5HQYvvrz"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol":{"keccak256":"0x3cbef5ebc24b415252e2f8c0c9254555d30d9f085603b4b80d9b5ed20ab87e90","urls":["bzz-raw://e8fa670c3bdce78e642cc6ae11c4cb38b133499cdce5e1990a9979d424703263","dweb:/ipfs/QmVxeCUk4jL2pXQyhsoNJwyU874wRufS2WvGe8TgPKPqhE"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol":{"keccak256":"0x1d4afe6cb24200cc4545eed814ecf5847277dfe5d613a1707aad5fceecebcfff","urls":["bzz-raw://383fb7b8181016ac5ccf07bc9cdb7c1b5045ea36e2cc4df52bcbf20396fc7688","dweb:/ipfs/QmYJ7Cg4WmE3rR8KGQxjUCXFfTH6TcwZ2Z1f6tPrq7jHFr"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol":{"keccak256":"0xa2b22da3032e50b55f95ec1d13336102d675f341167aa76db571ef7f8bb7975d","urls":["bzz-raw://96b6d77a20bebd4eb06b801d3d020c7e82be13bd535cb0d0a6b7181c51dab5d5","dweb:/ipfs/QmPUR9Cv9jNFdQX6PtBfaBW1ZCnKwiu65R2VD5kbdanDyn"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Upgrade.sol":{"keccak256":"0x3b21ae06bf5957f73fa16754b0669c77b7abd8ba6c072d35c3281d446fdb86c2","urls":["bzz-raw://2db8e18505e86e02526847005d7287a33e397ed7fb9eaba3fd4a4a197add16e2","dweb:/ipfs/QmW9BSuKTzHWHBNSHF4L8XfVuU1uJrP2vLg84YtBd8mL82"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol":{"keccak256":"0xc130fe33f1b2132158531a87734153293f6d07bc263ff4ac90e85da9c82c0e27","urls":["bzz-raw://8831721b6f4cc26534d190f9f1631c3f59c9ff38efdd911f85e0882b8e360472","dweb:/ipfs/QmQZnLErZNStirSQ13ZNWQgvEYUtGE5tXYwn4QUPaVUfPN"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol":{"keccak256":"0xd50a3421ac379ccb1be435fa646d66a65c986b4924f0849839f08692f39dde61","urls":["bzz-raw://ada1e030c0231db8d143b44ce92b4d1158eedb087880cad6d8cc7bd7ebe7b354","dweb:/ipfs/QmWZ2NHZweRpz1U9GF6R1h65ri76dnX7fNxLBeM2t5N5Ce"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x3d6069be9b4c01fb81840fb9c2c4dc58dd6a6a4aafaa2c6837de8699574d84c6","urls":["bzz-raw://720d6bb56ea0c4ef781c0bd65c5bd0541f5a46100163b2587170f97658d2deed","dweb:/ipfs/QmTS2biLVPrv8CeeXCaKmkFxonMiRvc1LxiYBRYDAJHQUS"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol":{"keccak256":"0xc6619957bcc6641fe8984bfaf9ff11a9e4b97d8149c0495f608f9a2416d7c5cf","urls":["bzz-raw://543be67f7fa43b1b932637c1c7f12035f0f4b0f7ee2bd3c33841186f79c165c1","dweb:/ipfs/QmSBPM2UVKbmJqWfD9i6hSiqbaE8TV4TSqfuiivziRRLKM"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/security/ReentrancyGuard.sol":{"keccak256":"0xa535a5df777d44e945dd24aa43a11e44b024140fc340ad0dfe42acf4002aade1","urls":["bzz-raw://41319e7f621f2dc3733511332c4fd032f8e32ad2aa7fd6f665c19741d9941a34","dweb:/ipfs/QmcYR3bd862GD1Bc7jwrU9bGxrhUu5na1oP964bDCu2id1"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol":{"keccak256":"0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c","urls":["bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15","dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305","urls":["bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5","dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol":{"keccak256":"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca","urls":["bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd","dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol":{"keccak256":"0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a","urls":["bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a","dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol":{"keccak256":"0x909d608c2db6eb165ca178c81289a07ed2e118e444d0025b2a85c97d0b44a4fa","urls":["bzz-raw://656cda26512ddd7373c2d5551c8fae759fc30f05b10f0fc2e738e9274199dbd4","dweb:/ipfs/QmTSArSzQRFbQmHgq7U1PZXnsDFhvDZhKVu9CzMG4yo6Lx"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Address.sol":{"keccak256":"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa","urls":["bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931","dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Context.sol":{"keccak256":"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7","urls":["bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92","dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol":{"keccak256":"0xf09e68aa0dc6722a25bc46490e8d48ed864466d17313b8a0b254c36b54e49899","urls":["bzz-raw://e26daf81e2252dc1fe1ce0e4b55c2eb7c6d1ee84ae6558d1a9554432ea1d32da","dweb:/ipfs/Qmb1UANWiWq5pCKbmHSu772hd4nt374dVaghGmwSVNuk8Q"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Strings.sol":{"keccak256":"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0","urls":["bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f","dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol":{"keccak256":"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b","urls":["bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d","dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol":{"keccak256":"0x5a08ad61f4e82b8a3323562661a86fb10b10190848073fdc13d4ac43710ffba5","urls":["bzz-raw://6f7bb74cf88fd88daa34e118bc6e363381d05044f34f391d39a10c0c9dac3ebd","dweb:/ipfs/QmNbQ3v8v4zuDtg7VeLAbdhAm3tCzUodNoDZZ8ekmCHWZX"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/Math.sol":{"keccak256":"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3","urls":["bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c","dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol":{"keccak256":"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc","urls":["bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7","dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/src/strings.sol":{"keccak256":"0x42cad11a7033f2fe05dd68611d2304407a620ac985b91edf29d5868cfe196223","urls":["bzz-raw://3cbc2333234e1f00eab5e57c4bcaf5115661e5e066a17c70af587a0a96f24669","dweb:/ipfs/QmPHvStqcvZL46LW5N2ExTwAaqNhRCcmAX66aR6oE1WDar"],"license":null},"lib/openzeppelin-foundry-upgrades/src/Defender.sol":{"keccak256":"0x2114e4d70d53b36e8cec54ba11ff78d9f38a466ec3504c76c7f26101a7cff37f","urls":["bzz-raw://58f4d9bc58646e7631b263cdb8ef260e6818e9f716036d81d1c18218c9557a23","dweb:/ipfs/QmS18L4R4gPtay9eQBcR28DnwmBkGSWsiCFwm2tXc3BkHL"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/LegacyUpgrades.sol":{"keccak256":"0x8436719f73c76efadaa16cd719d088f698ea3591595dfdf2c15fd66f3e203197","urls":["bzz-raw://ac8d0e55defe124adcc3845348602d6528b00b7dc5f7abf9e1b245d0cea9b55e","dweb:/ipfs/QmaPBoG89Bd2btJZW5kjXx7zXo6KhAdeTuMq5xo431M8xq"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/Options.sol":{"keccak256":"0xa5414683d6b219b28e75ecaab3d00a305dfaf4d970389a88992275c8072ce8ac","urls":["bzz-raw://b1dbfd566ba318f2b740159c28e4511c84c9d76fcc293ae17c9b1a87b3ea16c9","dweb:/ipfs/QmcyxPoeBdzA9iHEgd76xKhaQ8HKfpV4owdSv6127MmveT"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Core.sol":{"keccak256":"0x37073df20d2b5fbb0a873e6b2dd76c23e23455d1c2d2ba57d2f0998201a4251d","urls":["bzz-raw://79d507647ea48d93371341684cf4199d55ed799db9d3489bc016f53990d2ff7c","dweb:/ipfs/QmQWgXiYcPcwNcrkTHb72WtHd4xPcXfRUMfBrhkDHgr2ut"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/DefenderDeploy.sol":{"keccak256":"0x868ffdaf5d185fee103fc4581385392b47c209a5cfd2aec01f0307dbc0101d73","urls":["bzz-raw://76e51bf69a4d0b5d1d9cfa7efa442bdcf9d713966563432ef8fdd00ec959a25e","dweb:/ipfs/QmTHkdvMnqmEvus7zbmHhPkWk3fM9SW2Jq8gnyBLwVJtxG"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Utils.sol":{"keccak256":"0x4de002af810f6a5fe26a6381e0ead3331735bd0059434a22df75e17c177b5f87","urls":["bzz-raw://af32ff07f606e530a53030db141a75af144cfe065a6543939d412018c6159540","dweb:/ipfs/QmbfTB92Zd8VQHW61g9dx1CvGgSL5SCoZDLrvJfnR7Ctio"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Versions.sol":{"keccak256":"0xf1a1441c18a296853509e9b1d18be794ed3de836caea49d6948b5e9ac566e8c6","urls":["bzz-raw://6f3463514235bd875ecacf45f95cac64aa650dd38d05c15fe1f4203b6b5733bd","dweb:/ipfs/Qmcbhmw9NPkG8MqiVsQ4qUupeQFCRgyBDKuoUwohwa8EP3"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IProxyAdmin.sol":{"keccak256":"0xf5e514595089f8959da130507086e7388602a71ce60575d141e7d892dfbddbfc","urls":["bzz-raw://9b41366e2823ccc8cb42304496d761b3df80946d17384634a61afd7139495c91","dweb:/ipfs/QmZE2nRMxax1NPj63ifemKdScGJzKNWi7BCGudjFLsUz1y"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableBeacon.sol":{"keccak256":"0xa8d7bffdd26eb763e459650c83f247b54af79800c2df52ad05878f238fc1c2f8","urls":["bzz-raw://8ed47f1e53e5eb7d48fed60a414755641fca8fa0e713fd503b2597227da78a2f","dweb:/ipfs/QmQr8A5wddHdhQNauFShXxRkPcuVVpVsYpq846WhmFC8Tv"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableProxy.sol":{"keccak256":"0x781b564b90bba0c0e8e12fb66b1c910f42d369db469f2e88592b4cff29de99a5","urls":["bzz-raw://45fcab02a43fde934445b88e905aba3f58a70b75dd6ee6eb86a3d593424aeb03","dweb:/ipfs/QmXmhAgrctaYUDLoTRgUjwD4deoXu1E2QT1kftVGcVa56j"],"license":"MIT"},"pkg/contracts/src/BaseStrategyUpgradeable.sol":{"keccak256":"0xe059f9e1a262a4713e230a6025c3356681bb5f3c8013b87bc579bae93aa66c20","urls":["bzz-raw://37e879664b08005b9544457cf89bce77e38b6a25639566df7366b9e5968c815e","dweb:/ipfs/QmYgNRqZfYUPbWgcHUHghTcpqjVmT9v4HfkfPdEF64fYe5"],"license":"AGPL-3.0-only"},"pkg/contracts/src/CVStrategy.sol":{"keccak256":"0x132bcf17470960e380d841159d9389985d609aaae1c9a657c78902f7871da957","urls":["bzz-raw://84e905bf392579b44f33fff8586431b940e110b2210854cf487321cc92061705","dweb:/ipfs/QmQpvszYu8RbrXmUFLifSodQzV8LAqazk1fzXNARGc5sBT"],"license":"AGPL-3.0-only"},"pkg/contracts/src/CVStrategyV0_0.sol":{"keccak256":"0x79d01b399c8d735923dfa26b8dacba6200a861202dd6fb1c7711241285439d2d","urls":["bzz-raw://e7ea0014e25a729d6d688620658df81a179a8c2380ae0bc4c78668cd486adb04","dweb:/ipfs/QmdPM8JpFXeqBxQgkRzM1inzCT2rkRxnpoSrFk8DauDpNf"],"license":"AGPL-3.0-only"},"pkg/contracts/src/ISybilScorer.sol":{"keccak256":"0x0e25fbb8497ac3c969d80c9032362d45e56c0a45dc9ba3dff6a8a704571f38ea","urls":["bzz-raw://0dff90ebae6e7131a5300fcaf525bc2ab0ae90fcd13f277d7b7b6939eeb8b7eb","dweb:/ipfs/QmYGkYqpUVrBWoNY6f3CtwrrVQFWSvnJfpu68t95f6AkBY"],"license":"MIT"},"pkg/contracts/src/RegistryCommunity.sol":{"keccak256":"0xc735f4d2635149f2db9bff291da56e08c3c312d9eb1b767b8a1e3e51584d5734","urls":["bzz-raw://247b33b78abface6a7e2da38174386de9b543f6a27e8340e26d854bff57184a3","dweb:/ipfs/QmedNdqkqeboGzz9w868uGf7KnXUaYZe6i1YcdUPPkJnnf"],"license":"AGPL-3.0-only"},"pkg/contracts/src/RegistryCommunityV0_0.sol":{"keccak256":"0x6525c857f7baff606e87bbc2878f3606923997a444eb500aa15018c676c972a9","urls":["bzz-raw://89d2af9f470c8d7431ff6b1981b7bf46520f719d68da38ab3ca065496a6297d8","dweb:/ipfs/QmceJHX57HbnBXVfmhtRPmnApUQy5QSWTybgq6g37vCxEN"],"license":"AGPL-3.0-only"},"pkg/contracts/src/RegistryFactory.sol":{"keccak256":"0x888b7f5eb1079f90ccfa0b41d8a970bffd8d4d469f9b31917a58279b358dbda5","urls":["bzz-raw://af25fd783de00adf01d1c7caa572801fed0d474306a43b862535b08e65ec10c6","dweb:/ipfs/Qmeb2nEaMQLV86y1CYAAV2c6BYpBDTbpLuC1SigeNjdqLo"],"license":"AGPL-3.0-only"},"pkg/contracts/src/interfaces/FAllo.sol":{"keccak256":"0x32f38cb4400a07a99ae68a9beb91e5649886487172fd50561da6763464efc437","urls":["bzz-raw://cb4f0cee2f3fbede7be5e8e1d7ee8034086359cd07b9dab49c4a991388e5c458","dweb:/ipfs/QmS26kA8cZ9shWwxcbF17Kes8L7Jgw85EQVydDmwb34mjM"],"license":"AGPL-3.0-only"},"pkg/contracts/src/interfaces/ISafe.sol":{"keccak256":"0x878a210809bb684c42157a10f3f90350a67d0a4863f130499942b06f0f2c9143","urls":["bzz-raw://fa2d71bd427c3415e98a2ee15ff673f3cc61c17f14d7087c5eedc83b55f6b0ef","dweb:/ipfs/QmesVSmJQQzi6ys1cvhQFCJyDXchb736mT5bXks4Yp6Cbj"],"license":"LGPL-3.0-only"}},"version":1},"storageLayout":{"storage":[],"types":{}},"ast":{"absolutePath":"pkg/contracts/src/CVStrategyV0_0.sol","id":80579,"exportedSymbols":{"BaseStrategy":[3923],"BaseStrategyUpgradeable":[74672],"CVStrategyV0_0":[80578],"ERC165":[58266],"ERC20":[56991],"IAllo":[2610],"IERC165":[58472],"IPointStrategy":[77667],"ISybilScorer":[80667],"Math":[59338],"Metadata":[3098],"OwnableUpgradeable":[52942],"PassportData":[80585],"RegistryCommunityV0_0":[85047],"StrategyStruct":[77752],"UUPSUpgradeable":[56213],"console":[29549]},"nodeType":"SourceUnit","src":"42:41538:130","nodes":[{"id":77613,"nodeType":"PragmaDirective","src":"42:24:130","nodes":[],"literals":["solidity","^","0.8",".19"]},{"id":77616,"nodeType":"ImportDirective","src":"68:82:130","nodes":[],"absolutePath":"lib/allo-v2/contracts/strategies/BaseStrategy.sol","file":"allo-v2-contracts/strategies/BaseStrategy.sol","nameLocation":"-1:-1:-1","scope":80579,"sourceUnit":3924,"symbolAliases":[{"foreign":{"id":77614,"name":"BaseStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3923,"src":"76:12:130","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":77615,"name":"IAllo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2610,"src":"90:5:130","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":77619,"nodeType":"ImportDirective","src":"152:76:130","nodes":[],"absolutePath":"pkg/contracts/src/RegistryCommunityV0_0.sol","file":"./RegistryCommunityV0_0.sol","nameLocation":"-1:-1:-1","scope":80579,"sourceUnit":85048,"symbolAliases":[{"foreign":{"id":77617,"name":"RegistryCommunityV0_0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85047,"src":"160:21:130","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":77618,"name":"Metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3098,"src":"183:8:130","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":77622,"nodeType":"ImportDirective","src":"229:87:130","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol","file":"@openzeppelin/contracts/utils/introspection/ERC165.sol","nameLocation":"-1:-1:-1","scope":80579,"sourceUnit":58267,"symbolAliases":[{"foreign":{"id":77620,"name":"ERC165","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58266,"src":"237:6:130","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":77621,"name":"IERC165","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58472,"src":"245:7:130","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":77624,"nodeType":"ImportDirective","src":"317:68:130","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol","file":"@openzeppelin/contracts/token/ERC20/ERC20.sol","nameLocation":"-1:-1:-1","scope":80579,"sourceUnit":56992,"symbolAliases":[{"foreign":{"id":77623,"name":"ERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56991,"src":"325:5:130","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":77626,"nodeType":"ImportDirective","src":"387:46:130","nodes":[],"absolutePath":"lib/forge-std/src/console.sol","file":"forge-std/console.sol","nameLocation":"-1:-1:-1","scope":80579,"sourceUnit":29550,"symbolAliases":[{"foreign":{"id":77625,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29549,"src":"395:7:130","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":77628,"nodeType":"ImportDirective","src":"435:65:130","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/utils/math/Math.sol","file":"@openzeppelin/contracts/utils/math/Math.sol","nameLocation":"-1:-1:-1","scope":80579,"sourceUnit":59339,"symbolAliases":[{"foreign":{"id":77627,"name":"Math","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59338,"src":"443:4:130","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":77631,"nodeType":"ImportDirective","src":"501:62:130","nodes":[],"absolutePath":"pkg/contracts/src/ISybilScorer.sol","file":"./ISybilScorer.sol","nameLocation":"-1:-1:-1","scope":80579,"sourceUnit":80668,"symbolAliases":[{"foreign":{"id":77629,"name":"ISybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80667,"src":"509:12:130","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":77630,"name":"PassportData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80585,"src":"523:12:130","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":77633,"nodeType":"ImportDirective","src":"565:88:130","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol","file":"@openzeppelin/contracts/proxy/utils/UUPSUpgradeable.sol","nameLocation":"-1:-1:-1","scope":80579,"sourceUnit":56214,"symbolAliases":[{"foreign":{"id":77632,"name":"UUPSUpgradeable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56213,"src":"573:15:130","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":77635,"nodeType":"ImportDirective","src":"654:110:130","nodes":[],"absolutePath":"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol","file":"openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol","nameLocation":"-1:-1:-1","scope":80579,"sourceUnit":52943,"symbolAliases":[{"foreign":{"id":77634,"name":"OwnableUpgradeable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52942,"src":"662:18:130","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":77637,"nodeType":"ImportDirective","src":"765:70:130","nodes":[],"absolutePath":"pkg/contracts/src/BaseStrategyUpgradeable.sol","file":"./BaseStrategyUpgradeable.sol","nameLocation":"-1:-1:-1","scope":80579,"sourceUnit":74673,"symbolAliases":[{"foreign":{"id":77636,"name":"BaseStrategyUpgradeable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74672,"src":"773:23:130","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":77667,"nodeType":"ContractDefinition","src":"837:355:130","nodes":[{"id":77642,"nodeType":"FunctionDefinition","src":"868:52:130","nodes":[],"functionSelector":"6453d9c4","implemented":false,"kind":"function","modifiers":[],"name":"deactivatePoints","nameLocation":"877:16:130","parameters":{"id":77640,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77639,"mutability":"mutable","name":"_member","nameLocation":"902:7:130","nodeType":"VariableDeclaration","scope":77642,"src":"894:15:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":77638,"name":"address","nodeType":"ElementaryTypeName","src":"894:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"893:17:130"},"returnParameters":{"id":77641,"nodeType":"ParameterList","parameters":[],"src":"919:0:130"},"scope":77667,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":77651,"nodeType":"FunctionDefinition","src":"925:91:130","nodes":[],"functionSelector":"782aadff","implemented":false,"kind":"function","modifiers":[],"name":"increasePower","nameLocation":"934:13:130","parameters":{"id":77647,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77644,"mutability":"mutable","name":"_member","nameLocation":"956:7:130","nodeType":"VariableDeclaration","scope":77651,"src":"948:15:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":77643,"name":"address","nodeType":"ElementaryTypeName","src":"948:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":77646,"mutability":"mutable","name":"_amountToStake","nameLocation":"973:14:130","nodeType":"VariableDeclaration","scope":77651,"src":"965:22:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77645,"name":"uint256","nodeType":"ElementaryTypeName","src":"965:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"947:41:130"},"returnParameters":{"id":77650,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77649,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":77651,"src":"1007:7:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77648,"name":"uint256","nodeType":"ElementaryTypeName","src":"1007:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1006:9:130"},"scope":77667,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":77660,"nodeType":"FunctionDefinition","src":"1021:92:130","nodes":[],"functionSelector":"2ed04b2b","implemented":false,"kind":"function","modifiers":[],"name":"decreasePower","nameLocation":"1030:13:130","parameters":{"id":77656,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77653,"mutability":"mutable","name":"_member","nameLocation":"1052:7:130","nodeType":"VariableDeclaration","scope":77660,"src":"1044:15:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":77652,"name":"address","nodeType":"ElementaryTypeName","src":"1044:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":77655,"mutability":"mutable","name":"_amountToUntake","nameLocation":"1069:15:130","nodeType":"VariableDeclaration","scope":77660,"src":"1061:23:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77654,"name":"uint256","nodeType":"ElementaryTypeName","src":"1061:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1043:42:130"},"returnParameters":{"id":77659,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77658,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":77660,"src":"1104:7:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77657,"name":"uint256","nodeType":"ElementaryTypeName","src":"1104:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1103:9:130"},"scope":77667,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":77666,"nodeType":"FunctionDefinition","src":"1118:72:130","nodes":[],"functionSelector":"c3292171","implemented":false,"kind":"function","modifiers":[],"name":"getPointSystem","nameLocation":"1127:14:130","parameters":{"id":77661,"nodeType":"ParameterList","parameters":[],"src":"1141:2:130"},"returnParameters":{"id":77665,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77664,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":77666,"src":"1162:26:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$77676","typeString":"enum StrategyStruct.PointSystem"},"typeName":{"id":77663,"nodeType":"UserDefinedTypeName","pathNode":{"id":77662,"name":"StrategyStruct.PointSystem","nameLocations":["1162:14:130","1177:11:130"],"nodeType":"IdentifierPath","referencedDeclaration":77676,"src":"1162:26:130"},"referencedDeclaration":77676,"src":"1162:26:130","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$77676","typeString":"enum StrategyStruct.PointSystem"}},"visibility":"internal"}],"src":"1161:28:130"},"scope":77667,"stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"IPointStrategy","contractDependencies":[],"contractKind":"interface","fullyImplemented":false,"linearizedBaseContracts":[77667],"name":"IPointStrategy","nameLocation":"847:14:130","scope":80579,"usedErrors":[]},{"id":77752,"nodeType":"ContractDefinition","src":"1194:1871:130","nodes":[{"id":77671,"nodeType":"EnumDefinition","src":"1223:79:130","nodes":[],"canonicalName":"StrategyStruct.ProposalType","members":[{"id":77668,"name":"Signaling","nameLocation":"1251:9:130","nodeType":"EnumValue","src":"1251:9:130"},{"id":77669,"name":"Funding","nameLocation":"1270:7:130","nodeType":"EnumValue","src":"1270:7:130"},{"id":77670,"name":"Streaming","nameLocation":"1287:9:130","nodeType":"EnumValue","src":"1287:9:130"}],"name":"ProposalType","nameLocation":"1228:12:130"},{"id":77676,"nodeType":"EnumDefinition","src":"1308:92:130","nodes":[],"canonicalName":"StrategyStruct.PointSystem","members":[{"id":77672,"name":"Fixed","nameLocation":"1335:5:130","nodeType":"EnumValue","src":"1335:5:130"},{"id":77673,"name":"Capped","nameLocation":"1350:6:130","nodeType":"EnumValue","src":"1350:6:130"},{"id":77674,"name":"Unlimited","nameLocation":"1366:9:130","nodeType":"EnumValue","src":"1366:9:130"},{"id":77675,"name":"Quadratic","nameLocation":"1385:9:130","nodeType":"EnumValue","src":"1385:9:130"}],"name":"PointSystem","nameLocation":"1313:11:130"},{"id":77688,"nodeType":"StructDefinition","src":"1406:243:130","nodes":[],"canonicalName":"StrategyStruct.CreateProposal","members":[{"constant":false,"id":77678,"mutability":"mutable","name":"poolId","nameLocation":"1477:6:130","nodeType":"VariableDeclaration","scope":77688,"src":"1469:14:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77677,"name":"uint256","nodeType":"ElementaryTypeName","src":"1469:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":77680,"mutability":"mutable","name":"beneficiary","nameLocation":"1501:11:130","nodeType":"VariableDeclaration","scope":77688,"src":"1493:19:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":77679,"name":"address","nodeType":"ElementaryTypeName","src":"1493:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":77682,"mutability":"mutable","name":"amountRequested","nameLocation":"1568:15:130","nodeType":"VariableDeclaration","scope":77688,"src":"1560:23:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77681,"name":"uint256","nodeType":"ElementaryTypeName","src":"1560:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":77684,"mutability":"mutable","name":"requestedToken","nameLocation":"1601:14:130","nodeType":"VariableDeclaration","scope":77688,"src":"1593:22:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":77683,"name":"address","nodeType":"ElementaryTypeName","src":"1593:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":77687,"mutability":"mutable","name":"metadata","nameLocation":"1634:8:130","nodeType":"VariableDeclaration","scope":77688,"src":"1625:17:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"},"typeName":{"id":77686,"nodeType":"UserDefinedTypeName","pathNode":{"id":77685,"name":"Metadata","nameLocations":["1625:8:130"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"1625:8:130"},"referencedDeclaration":3098,"src":"1625:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"}],"name":"CreateProposal","nameLocation":"1413:14:130","scope":77752,"visibility":"public"},{"id":77694,"nodeType":"EnumDefinition","src":"1655:289:130","nodes":[],"canonicalName":"StrategyStruct.ProposalStatus","members":[{"id":77689,"name":"Inactive","nameLocation":"1685:8:130","nodeType":"EnumValue","src":"1685:8:130"},{"id":77690,"name":"Active","nameLocation":"1715:6:130","nodeType":"EnumValue","src":"1715:6:130"},{"id":77691,"name":"Paused","nameLocation":"1778:6:130","nodeType":"EnumValue","src":"1778:6:130"},{"id":77692,"name":"Cancelled","nameLocation":"1843:9:130","nodeType":"EnumValue","src":"1843:9:130"},{"id":77693,"name":"Executed","nameLocation":"1896:8:130","nodeType":"EnumValue","src":"1896:8:130"}],"name":"ProposalStatus","nameLocation":"1660:14:130"},{"id":77721,"nodeType":"StructDefinition","src":"1950:405:130","nodes":[],"canonicalName":"StrategyStruct.Proposal","members":[{"constant":false,"id":77696,"mutability":"mutable","name":"proposalId","nameLocation":"1984:10:130","nodeType":"VariableDeclaration","scope":77721,"src":"1976:18:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77695,"name":"uint256","nodeType":"ElementaryTypeName","src":"1976:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":77698,"mutability":"mutable","name":"requestedAmount","nameLocation":"2012:15:130","nodeType":"VariableDeclaration","scope":77721,"src":"2004:23:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77697,"name":"uint256","nodeType":"ElementaryTypeName","src":"2004:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":77700,"mutability":"mutable","name":"stakedAmount","nameLocation":"2045:12:130","nodeType":"VariableDeclaration","scope":77721,"src":"2037:20:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77699,"name":"uint256","nodeType":"ElementaryTypeName","src":"2037:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":77702,"mutability":"mutable","name":"convictionLast","nameLocation":"2075:14:130","nodeType":"VariableDeclaration","scope":77721,"src":"2067:22:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77701,"name":"uint256","nodeType":"ElementaryTypeName","src":"2067:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":77704,"mutability":"mutable","name":"beneficiary","nameLocation":"2107:11:130","nodeType":"VariableDeclaration","scope":77721,"src":"2099:19:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":77703,"name":"address","nodeType":"ElementaryTypeName","src":"2099:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":77706,"mutability":"mutable","name":"submitter","nameLocation":"2136:9:130","nodeType":"VariableDeclaration","scope":77721,"src":"2128:17:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":77705,"name":"address","nodeType":"ElementaryTypeName","src":"2128:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":77708,"mutability":"mutable","name":"requestedToken","nameLocation":"2163:14:130","nodeType":"VariableDeclaration","scope":77721,"src":"2155:22:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":77707,"name":"address","nodeType":"ElementaryTypeName","src":"2155:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":77710,"mutability":"mutable","name":"blockLast","nameLocation":"2195:9:130","nodeType":"VariableDeclaration","scope":77721,"src":"2187:17:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77709,"name":"uint256","nodeType":"ElementaryTypeName","src":"2187:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":77713,"mutability":"mutable","name":"proposalStatus","nameLocation":"2229:14:130","nodeType":"VariableDeclaration","scope":77721,"src":"2214:29:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$77694","typeString":"enum StrategyStruct.ProposalStatus"},"typeName":{"id":77712,"nodeType":"UserDefinedTypeName","pathNode":{"id":77711,"name":"ProposalStatus","nameLocations":["2214:14:130"],"nodeType":"IdentifierPath","referencedDeclaration":77694,"src":"2214:14:130"},"referencedDeclaration":77694,"src":"2214:14:130","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$77694","typeString":"enum StrategyStruct.ProposalStatus"}},"visibility":"internal"},{"constant":false,"id":77717,"mutability":"mutable","name":"voterStakedPoints","nameLocation":"2281:17:130","nodeType":"VariableDeclaration","scope":77721,"src":"2253:45:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"typeName":{"id":77716,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":77714,"name":"address","nodeType":"ElementaryTypeName","src":"2261:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"2253:27:130","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":77715,"name":"uint256","nodeType":"ElementaryTypeName","src":"2272:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"internal"},{"constant":false,"id":77720,"mutability":"mutable","name":"metadata","nameLocation":"2340:8:130","nodeType":"VariableDeclaration","scope":77721,"src":"2331:17:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"},"typeName":{"id":77719,"nodeType":"UserDefinedTypeName","pathNode":{"id":77718,"name":"Metadata","nameLocations":["2331:8:130"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"2331:8:130"},"referencedDeclaration":3098,"src":"2331:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"}],"name":"Proposal","nameLocation":"1957:8:130","scope":77752,"visibility":"public"},{"id":77726,"nodeType":"StructDefinition","src":"2361:126:130","nodes":[],"canonicalName":"StrategyStruct.ProposalSupport","members":[{"constant":false,"id":77723,"mutability":"mutable","name":"proposalId","nameLocation":"2402:10:130","nodeType":"VariableDeclaration","scope":77726,"src":"2394:18:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77722,"name":"uint256","nodeType":"ElementaryTypeName","src":"2394:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":77725,"mutability":"mutable","name":"deltaSupport","nameLocation":"2429:12:130","nodeType":"VariableDeclaration","scope":77726,"src":"2422:19:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":77724,"name":"int256","nodeType":"ElementaryTypeName","src":"2422:6:130","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"name":"ProposalSupport","nameLocation":"2368:15:130","scope":77752,"visibility":"public"},{"id":77729,"nodeType":"StructDefinition","src":"2493:89:130","nodes":[],"canonicalName":"StrategyStruct.PointSystemConfig","members":[{"constant":false,"id":77728,"mutability":"mutable","name":"maxAmount","nameLocation":"2566:9:130","nodeType":"VariableDeclaration","scope":77729,"src":"2558:17:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77727,"name":"uint256","nodeType":"ElementaryTypeName","src":"2558:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"PointSystemConfig","nameLocation":"2500:17:130","scope":77752,"visibility":"public"},{"id":77751,"nodeType":"StructDefinition","src":"2588:475:130","nodes":[],"canonicalName":"StrategyStruct.InitializeParams","members":[{"constant":false,"id":77731,"mutability":"mutable","name":"registryCommunity","nameLocation":"2630:17:130","nodeType":"VariableDeclaration","scope":77751,"src":"2622:25:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":77730,"name":"address","nodeType":"ElementaryTypeName","src":"2622:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":77733,"mutability":"mutable","name":"decay","nameLocation":"2694:5:130","nodeType":"VariableDeclaration","scope":77751,"src":"2686:13:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77732,"name":"uint256","nodeType":"ElementaryTypeName","src":"2686:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":77735,"mutability":"mutable","name":"maxRatio","nameLocation":"2764:8:130","nodeType":"VariableDeclaration","scope":77751,"src":"2756:16:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77734,"name":"uint256","nodeType":"ElementaryTypeName","src":"2756:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":77737,"mutability":"mutable","name":"weight","nameLocation":"2818:6:130","nodeType":"VariableDeclaration","scope":77751,"src":"2810:14:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77736,"name":"uint256","nodeType":"ElementaryTypeName","src":"2810:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":77739,"mutability":"mutable","name":"minThresholdPoints","nameLocation":"2842:18:130","nodeType":"VariableDeclaration","scope":77751,"src":"2834:26:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77738,"name":"uint256","nodeType":"ElementaryTypeName","src":"2834:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":77742,"mutability":"mutable","name":"proposalType","nameLocation":"2908:12:130","nodeType":"VariableDeclaration","scope":77751,"src":"2895:25:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$77671","typeString":"enum StrategyStruct.ProposalType"},"typeName":{"id":77741,"nodeType":"UserDefinedTypeName","pathNode":{"id":77740,"name":"ProposalType","nameLocations":["2895:12:130"],"nodeType":"IdentifierPath","referencedDeclaration":77671,"src":"2895:12:130"},"referencedDeclaration":77671,"src":"2895:12:130","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$77671","typeString":"enum StrategyStruct.ProposalType"}},"visibility":"internal"},{"constant":false,"id":77745,"mutability":"mutable","name":"pointSystem","nameLocation":"2977:11:130","nodeType":"VariableDeclaration","scope":77751,"src":"2965:23:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$77676","typeString":"enum StrategyStruct.PointSystem"},"typeName":{"id":77744,"nodeType":"UserDefinedTypeName","pathNode":{"id":77743,"name":"PointSystem","nameLocations":["2965:11:130"],"nodeType":"IdentifierPath","referencedDeclaration":77676,"src":"2965:11:130"},"referencedDeclaration":77676,"src":"2965:11:130","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$77676","typeString":"enum StrategyStruct.PointSystem"}},"visibility":"internal"},{"constant":false,"id":77748,"mutability":"mutable","name":"pointConfig","nameLocation":"3016:11:130","nodeType":"VariableDeclaration","scope":77751,"src":"2998:29:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$77729_storage_ptr","typeString":"struct StrategyStruct.PointSystemConfig"},"typeName":{"id":77747,"nodeType":"UserDefinedTypeName","pathNode":{"id":77746,"name":"PointSystemConfig","nameLocations":["2998:17:130"],"nodeType":"IdentifierPath","referencedDeclaration":77729,"src":"2998:17:130"},"referencedDeclaration":77729,"src":"2998:17:130","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$77729_storage_ptr","typeString":"struct StrategyStruct.PointSystemConfig"}},"visibility":"internal"},{"constant":false,"id":77750,"mutability":"mutable","name":"sybilScorer","nameLocation":"3045:11:130","nodeType":"VariableDeclaration","scope":77751,"src":"3037:19:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":77749,"name":"address","nodeType":"ElementaryTypeName","src":"3037:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"name":"InitializeParams","nameLocation":"2595:16:130","scope":77752,"visibility":"public"}],"abstract":false,"baseContracts":[],"canonicalName":"StrategyStruct","contractDependencies":[],"contractKind":"library","fullyImplemented":true,"linearizedBaseContracts":[77752],"name":"StrategyStruct","nameLocation":"1202:14:130","scope":80579,"usedErrors":[]},{"id":80578,"nodeType":"ContractDefinition","src":"3067:38512:130","nodes":[{"id":77763,"nodeType":"UsingForDirective","src":"3168:23:130","nodes":[],"global":false,"libraryName":{"id":77761,"name":"Math","nameLocations":["3174:4:130"],"nodeType":"IdentifierPath","referencedDeclaration":59338,"src":"3174:4:130"},"typeName":{"id":77762,"name":"uint256","nodeType":"ElementaryTypeName","src":"3183:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},{"id":77765,"nodeType":"ErrorDefinition","src":"3362:25:130","nodes":[],"errorSelector":"d1f28288","name":"UserCannotBeZero","nameLocation":"3368:16:130","parameters":{"id":77764,"nodeType":"ParameterList","parameters":[],"src":"3384:2:130"}},{"id":77767,"nodeType":"ErrorDefinition","src":"3406:26:130","nodes":[],"errorSelector":"6a5cfb6d","name":"UserNotInRegistry","nameLocation":"3412:17:130","parameters":{"id":77766,"nodeType":"ParameterList","parameters":[],"src":"3429:2:130"}},{"id":77769,"nodeType":"ErrorDefinition","src":"3450:23:130","nodes":[],"errorSelector":"5fccb67f","name":"UserIsInactive","nameLocation":"3456:14:130","parameters":{"id":77768,"nodeType":"ParameterList","parameters":[],"src":"3470:2:130"}},{"id":77771,"nodeType":"ErrorDefinition","src":"3492:20:130","nodes":[],"errorSelector":"ed4421ad","name":"PoolIsEmpty","nameLocation":"3498:11:130","parameters":{"id":77770,"nodeType":"ParameterList","parameters":[],"src":"3509:2:130"}},{"id":77773,"nodeType":"ErrorDefinition","src":"3531:23:130","nodes":[],"errorSelector":"d6234725","name":"NotImplemented","nameLocation":"3537:14:130","parameters":{"id":77772,"nodeType":"ParameterList","parameters":[],"src":"3551:2:130"}},{"id":77775,"nodeType":"ErrorDefinition","src":"3572:26:130","nodes":[],"errorSelector":"596a094c","name":"TokenCannotBeZero","nameLocation":"3578:17:130","parameters":{"id":77774,"nodeType":"ParameterList","parameters":[],"src":"3595:2:130"}},{"id":77777,"nodeType":"ErrorDefinition","src":"3616:24:130","nodes":[],"errorSelector":"a29c4986","name":"TokenNotAllowed","nameLocation":"3622:15:130","parameters":{"id":77776,"nodeType":"ParameterList","parameters":[],"src":"3637:2:130"}},{"id":77779,"nodeType":"ErrorDefinition","src":"3659:27:130","nodes":[],"errorSelector":"3bf5ca14","name":"AmountOverMaxRatio","nameLocation":"3665:18:130","parameters":{"id":77778,"nodeType":"ParameterList","parameters":[],"src":"3683:2:130"}},{"id":77781,"nodeType":"ErrorDefinition","src":"3705:27:130","nodes":[],"errorSelector":"4e791786","name":"PoolIdCannotBeZero","nameLocation":"3711:18:130","parameters":{"id":77780,"nodeType":"ParameterList","parameters":[],"src":"3729:2:130"}},{"id":77783,"nodeType":"ErrorDefinition","src":"3750:28:130","nodes":[],"errorSelector":"e622e040","name":"AddressCannotBeZero","nameLocation":"3756:19:130","parameters":{"id":77782,"nodeType":"ParameterList","parameters":[],"src":"3775:2:130"}},{"id":77785,"nodeType":"ErrorDefinition","src":"3796:29:130","nodes":[],"errorSelector":"5df4b1ef","name":"RegistryCannotBeZero","nameLocation":"3802:20:130","parameters":{"id":77784,"nodeType":"ParameterList","parameters":[],"src":"3822:2:130"}},{"id":77793,"nodeType":"ErrorDefinition","src":"3844:72:130","nodes":[],"errorSelector":"3bbc7142","name":"SupportUnderflow","nameLocation":"3850:16:130","parameters":{"id":77792,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77787,"mutability":"mutable","name":"_support","nameLocation":"3875:8:130","nodeType":"VariableDeclaration","scope":77793,"src":"3867:16:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77786,"name":"uint256","nodeType":"ElementaryTypeName","src":"3867:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":77789,"mutability":"mutable","name":"_delta","nameLocation":"3892:6:130","nodeType":"VariableDeclaration","scope":77793,"src":"3885:13:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":77788,"name":"int256","nodeType":"ElementaryTypeName","src":"3885:6:130","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":77791,"mutability":"mutable","name":"_result","nameLocation":"3907:7:130","nodeType":"VariableDeclaration","scope":77793,"src":"3900:14:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":77790,"name":"int256","nodeType":"ElementaryTypeName","src":"3900:6:130","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"3866:49:130"}},{"id":77795,"nodeType":"ErrorDefinition","src":"3935:25:130","nodes":[],"errorSelector":"8402b474","name":"MaxPointsReached","nameLocation":"3941:16:130","parameters":{"id":77794,"nodeType":"ParameterList","parameters":[],"src":"3957:2:130"}},{"id":77797,"nodeType":"ErrorDefinition","src":"3979:32:130","nodes":[],"errorSelector":"573c3e93","name":"CantIncreaseFixedSystem","nameLocation":"3985:23:130","parameters":{"id":77796,"nodeType":"ParameterList","parameters":[],"src":"4008:2:130"}},{"id":77803,"nodeType":"ErrorDefinition","src":"4030:77:130","nodes":[],"errorSelector":"d64182fe","name":"NotEnoughPointsToSupport","nameLocation":"4036:24:130","parameters":{"id":77802,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77799,"mutability":"mutable","name":"pointsSupport","nameLocation":"4069:13:130","nodeType":"VariableDeclaration","scope":77803,"src":"4061:21:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77798,"name":"uint256","nodeType":"ElementaryTypeName","src":"4061:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":77801,"mutability":"mutable","name":"pointsBalance","nameLocation":"4092:13:130","nodeType":"VariableDeclaration","scope":77803,"src":"4084:21:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77800,"name":"uint256","nodeType":"ElementaryTypeName","src":"4084:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4060:46:130"}},{"id":77805,"nodeType":"ErrorDefinition","src":"4127:28:130","nodes":[],"errorSelector":"c5f7c4c0","name":"ProposalDataIsEmpty","nameLocation":"4133:19:130","parameters":{"id":77804,"nodeType":"ParameterList","parameters":[],"src":"4152:2:130"}},{"id":77807,"nodeType":"ErrorDefinition","src":"4173:31:130","nodes":[],"errorSelector":"f881a10d","name":"ProposalIdCannotBeZero","nameLocation":"4179:22:130","parameters":{"id":77806,"nodeType":"ParameterList","parameters":[],"src":"4201:2:130"}},{"id":77811,"nodeType":"ErrorDefinition","src":"4222:45:130","nodes":[],"errorSelector":"44980d8f","name":"ProposalNotActive","nameLocation":"4228:17:130","parameters":{"id":77810,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77809,"mutability":"mutable","name":"_proposalId","nameLocation":"4254:11:130","nodeType":"VariableDeclaration","scope":77811,"src":"4246:19:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77808,"name":"uint256","nodeType":"ElementaryTypeName","src":"4246:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4245:21:130"}},{"id":77815,"nodeType":"ErrorDefinition","src":"4286:45:130","nodes":[],"errorSelector":"c1d17bef","name":"ProposalNotInList","nameLocation":"4292:17:130","parameters":{"id":77814,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77813,"mutability":"mutable","name":"_proposalId","nameLocation":"4318:11:130","nodeType":"VariableDeclaration","scope":77815,"src":"4310:19:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77812,"name":"uint256","nodeType":"ElementaryTypeName","src":"4310:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4309:21:130"}},{"id":77821,"nodeType":"ErrorDefinition","src":"4350:68:130","nodes":[],"errorSelector":"adebb154","name":"ProposalSupportDuplicated","nameLocation":"4356:25:130","parameters":{"id":77820,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77817,"mutability":"mutable","name":"_proposalId","nameLocation":"4390:11:130","nodeType":"VariableDeclaration","scope":77821,"src":"4382:19:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77816,"name":"uint256","nodeType":"ElementaryTypeName","src":"4382:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":77819,"mutability":"mutable","name":"index","nameLocation":"4411:5:130","nodeType":"VariableDeclaration","scope":77821,"src":"4403:13:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77818,"name":"uint256","nodeType":"ElementaryTypeName","src":"4403:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4381:36:130"}},{"id":77823,"nodeType":"ErrorDefinition","src":"4436:40:130","nodes":[],"errorSelector":"cce79308","name":"ConvictionUnderMinimumThreshold","nameLocation":"4442:31:130","parameters":{"id":77822,"nodeType":"ParameterList","parameters":[],"src":"4473:2:130"}},{"id":77825,"nodeType":"ErrorDefinition","src":"4495:29:130","nodes":[],"errorSelector":"af0916a2","name":"OnlyCommunityAllowed","nameLocation":"4501:20:130","parameters":{"id":77824,"nodeType":"ParameterList","parameters":[],"src":"4521:2:130"}},{"id":77833,"nodeType":"ErrorDefinition","src":"4543:94:130","nodes":[],"errorSelector":"5863b0b6","name":"PoolAmountNotEnough","nameLocation":"4549:19:130","parameters":{"id":77832,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77827,"mutability":"mutable","name":"_proposalId","nameLocation":"4577:11:130","nodeType":"VariableDeclaration","scope":77833,"src":"4569:19:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77826,"name":"uint256","nodeType":"ElementaryTypeName","src":"4569:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":77829,"mutability":"mutable","name":"_requestedAmount","nameLocation":"4598:16:130","nodeType":"VariableDeclaration","scope":77833,"src":"4590:24:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77828,"name":"uint256","nodeType":"ElementaryTypeName","src":"4590:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":77831,"mutability":"mutable","name":"_poolAmount","nameLocation":"4624:11:130","nodeType":"VariableDeclaration","scope":77833,"src":"4616:19:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77830,"name":"uint256","nodeType":"ElementaryTypeName","src":"4616:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4568:68:130"}},{"id":77835,"nodeType":"ErrorDefinition","src":"4655:24:130","nodes":[],"errorSelector":"e860ec7e","name":"OnlyCouncilSafe","nameLocation":"4661:15:130","parameters":{"id":77834,"nodeType":"ParameterList","parameters":[],"src":"4676:2:130"}},{"id":77837,"nodeType":"ErrorDefinition","src":"4684:32:130","nodes":[],"errorSelector":"5b96b588","name":"UserCannotExecuteAction","nameLocation":"4690:23:130","parameters":{"id":77836,"nodeType":"ParameterList","parameters":[],"src":"4713:2:130"}},{"id":77844,"nodeType":"EventDefinition","src":"4888:74:130","nodes":[],"anonymous":false,"eventSelector":"4ebdec05fb64815e553aeaf3976ef8112dd79760a459bee3ac7d1659ab2c4e04","name":"InitializedCV","nameLocation":"4894:13:130","parameters":{"id":77843,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77839,"indexed":false,"mutability":"mutable","name":"poolId","nameLocation":"4916:6:130","nodeType":"VariableDeclaration","scope":77844,"src":"4908:14:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77838,"name":"uint256","nodeType":"ElementaryTypeName","src":"4908:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":77842,"indexed":false,"mutability":"mutable","name":"data","nameLocation":"4956:4:130","nodeType":"VariableDeclaration","scope":77844,"src":"4924:36:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$77751_memory_ptr","typeString":"struct StrategyStruct.InitializeParams"},"typeName":{"id":77841,"nodeType":"UserDefinedTypeName","pathNode":{"id":77840,"name":"StrategyStruct.InitializeParams","nameLocations":["4924:14:130","4939:16:130"],"nodeType":"IdentifierPath","referencedDeclaration":77751,"src":"4924:31:130"},"referencedDeclaration":77751,"src":"4924:31:130","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$77751_storage_ptr","typeString":"struct StrategyStruct.InitializeParams"}},"visibility":"internal"}],"src":"4907:54:130"}},{"id":77852,"nodeType":"EventDefinition","src":"4967:75:130","nodes":[],"anonymous":false,"eventSelector":"a7932e9c92f31e1ed56b29d00bbe669a97484dc24de28dd9c8c0429df7f35847","name":"Distributed","nameLocation":"4973:11:130","parameters":{"id":77851,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77846,"indexed":false,"mutability":"mutable","name":"proposalId","nameLocation":"4993:10:130","nodeType":"VariableDeclaration","scope":77852,"src":"4985:18:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77845,"name":"uint256","nodeType":"ElementaryTypeName","src":"4985:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":77848,"indexed":false,"mutability":"mutable","name":"beneficiary","nameLocation":"5013:11:130","nodeType":"VariableDeclaration","scope":77852,"src":"5005:19:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":77847,"name":"address","nodeType":"ElementaryTypeName","src":"5005:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":77850,"indexed":false,"mutability":"mutable","name":"amount","nameLocation":"5034:6:130","nodeType":"VariableDeclaration","scope":77852,"src":"5026:14:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77849,"name":"uint256","nodeType":"ElementaryTypeName","src":"5026:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4984:57:130"}},{"id":77858,"nodeType":"EventDefinition","src":"5047:58:130","nodes":[],"anonymous":false,"eventSelector":"fcf3b1aa65a464cef2889608f99e8b8c0f680a4be6c2acb9d961c536a5a9294b","name":"ProposalCreated","nameLocation":"5053:15:130","parameters":{"id":77857,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77854,"indexed":false,"mutability":"mutable","name":"poolId","nameLocation":"5077:6:130","nodeType":"VariableDeclaration","scope":77858,"src":"5069:14:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77853,"name":"uint256","nodeType":"ElementaryTypeName","src":"5069:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":77856,"indexed":false,"mutability":"mutable","name":"proposalId","nameLocation":"5093:10:130","nodeType":"VariableDeclaration","scope":77858,"src":"5085:18:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77855,"name":"uint256","nodeType":"ElementaryTypeName","src":"5085:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5068:36:130"}},{"id":77862,"nodeType":"EventDefinition","src":"5110:42:130","nodes":[],"anonymous":false,"eventSelector":"46aeb5d8770fc4474bc2dfa118fd2595f7fb33ce2cbce6f4e5a3dabfe0f76339","name":"PoolAmountIncreased","nameLocation":"5116:19:130","parameters":{"id":77861,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77860,"indexed":false,"mutability":"mutable","name":"amount","nameLocation":"5144:6:130","nodeType":"VariableDeclaration","scope":77862,"src":"5136:14:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77859,"name":"uint256","nodeType":"ElementaryTypeName","src":"5136:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5135:16:130"}},{"id":77870,"nodeType":"EventDefinition","src":"5157:85:130","nodes":[],"anonymous":false,"eventSelector":"0b9150e1e54346ed3fa36b977cd5d65dca5a649c737c3174a26bddaadd47667a","name":"PowerIncreased","nameLocation":"5163:14:130","parameters":{"id":77869,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77864,"indexed":false,"mutability":"mutable","name":"member","nameLocation":"5186:6:130","nodeType":"VariableDeclaration","scope":77870,"src":"5178:14:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":77863,"name":"address","nodeType":"ElementaryTypeName","src":"5178:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":77866,"indexed":false,"mutability":"mutable","name":"tokensStaked","nameLocation":"5202:12:130","nodeType":"VariableDeclaration","scope":77870,"src":"5194:20:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77865,"name":"uint256","nodeType":"ElementaryTypeName","src":"5194:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":77868,"indexed":false,"mutability":"mutable","name":"pointsToIncrease","nameLocation":"5224:16:130","nodeType":"VariableDeclaration","scope":77870,"src":"5216:24:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77867,"name":"uint256","nodeType":"ElementaryTypeName","src":"5216:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5177:64:130"}},{"id":77878,"nodeType":"EventDefinition","src":"5247:87:130","nodes":[],"anonymous":false,"eventSelector":"70b752f3fadb6ac131c0ece847fcbb6994ec56ed6411595710fd9b29c6ac6cc1","name":"PowerDecreased","nameLocation":"5253:14:130","parameters":{"id":77877,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77872,"indexed":false,"mutability":"mutable","name":"member","nameLocation":"5276:6:130","nodeType":"VariableDeclaration","scope":77878,"src":"5268:14:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":77871,"name":"address","nodeType":"ElementaryTypeName","src":"5268:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":77874,"indexed":false,"mutability":"mutable","name":"tokensUnStaked","nameLocation":"5292:14:130","nodeType":"VariableDeclaration","scope":77878,"src":"5284:22:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77873,"name":"uint256","nodeType":"ElementaryTypeName","src":"5284:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":77876,"indexed":false,"mutability":"mutable","name":"pointsToDecrease","nameLocation":"5316:16:130","nodeType":"VariableDeclaration","scope":77878,"src":"5308:24:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77875,"name":"uint256","nodeType":"ElementaryTypeName","src":"5308:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5267:66:130"}},{"id":77890,"nodeType":"EventDefinition","src":"5339:134:130","nodes":[],"anonymous":false,"eventSelector":"0227f642ddcf2042ceaeafadb9d540f432072c00cd4862881667168dcc14710f","name":"SupportAdded","nameLocation":"5345:12:130","parameters":{"id":77889,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77880,"indexed":false,"mutability":"mutable","name":"from","nameLocation":"5375:4:130","nodeType":"VariableDeclaration","scope":77890,"src":"5367:12:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":77879,"name":"address","nodeType":"ElementaryTypeName","src":"5367:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":77882,"indexed":false,"mutability":"mutable","name":"proposalId","nameLocation":"5389:10:130","nodeType":"VariableDeclaration","scope":77890,"src":"5381:18:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77881,"name":"uint256","nodeType":"ElementaryTypeName","src":"5381:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":77884,"indexed":false,"mutability":"mutable","name":"amount","nameLocation":"5409:6:130","nodeType":"VariableDeclaration","scope":77890,"src":"5401:14:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77883,"name":"uint256","nodeType":"ElementaryTypeName","src":"5401:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":77886,"indexed":false,"mutability":"mutable","name":"totalStakedAmount","nameLocation":"5425:17:130","nodeType":"VariableDeclaration","scope":77890,"src":"5417:25:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77885,"name":"uint256","nodeType":"ElementaryTypeName","src":"5417:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":77888,"indexed":false,"mutability":"mutable","name":"convictionLast","nameLocation":"5452:14:130","nodeType":"VariableDeclaration","scope":77890,"src":"5444:22:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77887,"name":"uint256","nodeType":"ElementaryTypeName","src":"5444:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5357:115:130"}},{"id":77894,"nodeType":"EventDefinition","src":"5478:40:130","nodes":[],"anonymous":false,"eventSelector":"1468da654b37bb3631011c1917d02e0db437d519918858d40b38b5e980ca033b","name":"PointsDeactivated","nameLocation":"5484:17:130","parameters":{"id":77893,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77892,"indexed":false,"mutability":"mutable","name":"member","nameLocation":"5510:6:130","nodeType":"VariableDeclaration","scope":77894,"src":"5502:14:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":77891,"name":"address","nodeType":"ElementaryTypeName","src":"5502:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5501:16:130"}},{"id":77898,"nodeType":"EventDefinition","src":"5523:34:130","nodes":[],"anonymous":false,"eventSelector":"592dcd55d60d892e7fcb3ba105013312e99691cd59f91e15f83cb67cb5a505f2","name":"DecayUpdated","nameLocation":"5529:12:130","parameters":{"id":77897,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77896,"indexed":false,"mutability":"mutable","name":"decay","nameLocation":"5550:5:130","nodeType":"VariableDeclaration","scope":77898,"src":"5542:13:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77895,"name":"uint256","nodeType":"ElementaryTypeName","src":"5542:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5541:15:130"}},{"id":77902,"nodeType":"EventDefinition","src":"5562:40:130","nodes":[],"anonymous":false,"eventSelector":"08e39b387d1f739ce0d2553bb31822392e3f67c62c6c0a215120ab4a6841a8ab","name":"MaxRatioUpdated","nameLocation":"5568:15:130","parameters":{"id":77901,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77900,"indexed":false,"mutability":"mutable","name":"maxRatio","nameLocation":"5592:8:130","nodeType":"VariableDeclaration","scope":77902,"src":"5584:16:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77899,"name":"uint256","nodeType":"ElementaryTypeName","src":"5584:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5583:18:130"}},{"id":77906,"nodeType":"EventDefinition","src":"5607:36:130","nodes":[],"anonymous":false,"eventSelector":"30ee8206062f283e56a0af2b02138016bf7442ded26ad68a92a18a9dd246fb49","name":"WeightUpdated","nameLocation":"5613:13:130","parameters":{"id":77905,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77904,"indexed":false,"mutability":"mutable","name":"weight","nameLocation":"5635:6:130","nodeType":"VariableDeclaration","scope":77906,"src":"5627:14:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77903,"name":"uint256","nodeType":"ElementaryTypeName","src":"5627:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5626:16:130"}},{"id":77910,"nodeType":"EventDefinition","src":"5648:49:130","nodes":[],"anonymous":false,"eventSelector":"d6ceddf6d2a22f21c7c81675c518004eff43bc5c8a6fc32a0b748e69d58671cd","name":"RegistryUpdated","nameLocation":"5654:15:130","parameters":{"id":77909,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77908,"indexed":false,"mutability":"mutable","name":"registryCommunity","nameLocation":"5678:17:130","nodeType":"VariableDeclaration","scope":77910,"src":"5670:25:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":77907,"name":"address","nodeType":"ElementaryTypeName","src":"5670:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5669:27:130"}},{"id":77916,"nodeType":"EventDefinition","src":"5702:76:130","nodes":[],"anonymous":false,"eventSelector":"056aedca4e334b6c4bea48715fb0de644811b740894de57a0380d3eb90f2805b","name":"MinThresholdPointsUpdated","nameLocation":"5708:25:130","parameters":{"id":77915,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77912,"indexed":false,"mutability":"mutable","name":"before","nameLocation":"5742:6:130","nodeType":"VariableDeclaration","scope":77916,"src":"5734:14:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77911,"name":"uint256","nodeType":"ElementaryTypeName","src":"5734:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":77914,"indexed":false,"mutability":"mutable","name":"minThresholdPoints","nameLocation":"5758:18:130","nodeType":"VariableDeclaration","scope":77916,"src":"5750:26:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77913,"name":"uint256","nodeType":"ElementaryTypeName","src":"5750:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5733:44:130"}},{"id":77919,"nodeType":"VariableDeclaration","src":"6152:36:130","nodes":[],"constant":true,"functionSelector":"0f529ba2","mutability":"constant","name":"D","nameLocation":"6176:1:130","scope":80578,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77917,"name":"uint256","nodeType":"ElementaryTypeName","src":"6152:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3130303030303030","id":77918,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6180:8:130","typeDescriptions":{"typeIdentifier":"t_rational_10000000_by_1","typeString":"int_const 10000000"},"value":"10000000"},"visibility":"public"},{"id":77922,"nodeType":"VariableDeclaration","src":"6202:70:130","nodes":[],"constant":true,"mutability":"constant","name":"TWO_128","nameLocation":"6227:7:130","scope":80578,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77920,"name":"uint256","nodeType":"ElementaryTypeName","src":"6202:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3078313030303030303030303030303030303030303030303030303030303030303030","id":77921,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6237:35:130","typeDescriptions":{"typeIdentifier":"t_rational_340282366920938463463374607431768211456_by_1","typeString":"int_const 3402...(31 digits omitted)...1456"},"value":"0x100000000000000000000000000000000"},"visibility":"private"},{"id":77925,"nodeType":"VariableDeclaration","src":"6288:69:130","nodes":[],"constant":true,"mutability":"constant","name":"TWO_127","nameLocation":"6313:7:130","scope":80578,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77923,"name":"uint256","nodeType":"ElementaryTypeName","src":"6288:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"30783830303030303030303030303030303030303030303030303030303030303030","id":77924,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6323:34:130","typeDescriptions":{"typeIdentifier":"t_rational_170141183460469231731687303715884105728_by_1","typeString":"int_const 1701...(31 digits omitted)...5728"},"value":"0x80000000000000000000000000000000"},"visibility":"private"},{"id":77928,"nodeType":"VariableDeclaration","src":"6373:53:130","nodes":[],"constant":true,"mutability":"constant","name":"TWO_64","nameLocation":"6398:6:130","scope":80578,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77926,"name":"uint256","nodeType":"ElementaryTypeName","src":"6373:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"30783130303030303030303030303030303030","id":77927,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6407:19:130","typeDescriptions":{"typeIdentifier":"t_rational_18446744073709551616_by_1","typeString":"int_const 18446744073709551616"},"value":"0x10000000000000000"},"visibility":"private"},{"id":77931,"nodeType":"VariableDeclaration","src":"6441:49:130","nodes":[],"constant":true,"functionSelector":"406244d8","mutability":"constant","name":"MAX_STAKED_PROPOSALS","nameLocation":"6465:20:130","scope":80578,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77929,"name":"uint256","nodeType":"ElementaryTypeName","src":"6441:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3130","id":77930,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6488:2:130","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"visibility":"public"},{"id":77933,"nodeType":"VariableDeclaration","src":"6618:20:130","nodes":[],"constant":false,"functionSelector":"54fac919","mutability":"mutable","name":"decay","nameLocation":"6633:5:130","scope":80578,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77932,"name":"uint256","nodeType":"ElementaryTypeName","src":"6618:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"id":77935,"nodeType":"VariableDeclaration","src":"6644:23:130","nodes":[],"constant":false,"functionSelector":"76365af7","mutability":"mutable","name":"maxRatio","nameLocation":"6659:8:130","scope":80578,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77934,"name":"uint256","nodeType":"ElementaryTypeName","src":"6644:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"id":77937,"nodeType":"VariableDeclaration","src":"6673:21:130","nodes":[],"constant":false,"functionSelector":"a1aab33f","mutability":"mutable","name":"weight","nameLocation":"6688:6:130","scope":80578,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77936,"name":"uint256","nodeType":"ElementaryTypeName","src":"6673:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"id":77940,"nodeType":"VariableDeclaration","src":"6700:34:130","nodes":[],"constant":false,"functionSelector":"0c0512e9","mutability":"mutable","name":"proposalCounter","nameLocation":"6715:15:130","scope":80578,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77938,"name":"uint256","nodeType":"ElementaryTypeName","src":"6700:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"30","id":77939,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6733:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"visibility":"public"},{"id":77942,"nodeType":"VariableDeclaration","src":"6740:26:130","nodes":[],"constant":false,"functionSelector":"817b1cd2","mutability":"mutable","name":"totalStaked","nameLocation":"6755:11:130","scope":80578,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77941,"name":"uint256","nodeType":"ElementaryTypeName","src":"6740:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"id":77944,"nodeType":"VariableDeclaration","src":"6772:35:130","nodes":[],"constant":false,"functionSelector":"aba9ffee","mutability":"mutable","name":"totalPointsActivated","nameLocation":"6787:20:130","scope":80578,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77943,"name":"uint256","nodeType":"ElementaryTypeName","src":"6772:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"id":77947,"nodeType":"VariableDeclaration","src":"6813:38:130","nodes":[],"constant":false,"functionSelector":"7c6570ba","mutability":"mutable","name":"_minThresholdPoints","nameLocation":"6828:19:130","scope":80578,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77945,"name":"uint256","nodeType":"ElementaryTypeName","src":"6813:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"30","id":77946,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6850:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"visibility":"public"},{"id":77949,"nodeType":"VariableDeclaration","src":"6892:47:130","nodes":[],"constant":false,"mutability":"mutable","name":"surpressStateMutabilityWarning","nameLocation":"6909:30:130","scope":80578,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77948,"name":"uint256","nodeType":"ElementaryTypeName","src":"6892:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"id":77952,"nodeType":"VariableDeclaration","src":"7024:47:130","nodes":[],"constant":false,"functionSelector":"351d9f96","mutability":"mutable","name":"proposalType","nameLocation":"7059:12:130","scope":80578,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$77671","typeString":"enum StrategyStruct.ProposalType"},"typeName":{"id":77951,"nodeType":"UserDefinedTypeName","pathNode":{"id":77950,"name":"StrategyStruct.ProposalType","nameLocations":["7024:14:130","7039:12:130"],"nodeType":"IdentifierPath","referencedDeclaration":77671,"src":"7024:27:130"},"referencedDeclaration":77671,"src":"7024:27:130","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$77671","typeString":"enum StrategyStruct.ProposalType"}},"visibility":"public"},{"id":77955,"nodeType":"VariableDeclaration","src":"7130:45:130","nodes":[],"constant":false,"functionSelector":"2dbd6fdd","mutability":"mutable","name":"pointSystem","nameLocation":"7164:11:130","scope":80578,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$77676","typeString":"enum StrategyStruct.PointSystem"},"typeName":{"id":77954,"nodeType":"UserDefinedTypeName","pathNode":{"id":77953,"name":"StrategyStruct.PointSystem","nameLocations":["7130:14:130","7145:11:130"],"nodeType":"IdentifierPath","referencedDeclaration":77676,"src":"7130:26:130"},"referencedDeclaration":77676,"src":"7130:26:130","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$77676","typeString":"enum StrategyStruct.PointSystem"}},"visibility":"public"},{"id":77958,"nodeType":"VariableDeclaration","src":"7181:51:130","nodes":[],"constant":false,"functionSelector":"a47ff7e5","mutability":"mutable","name":"pointConfig","nameLocation":"7221:11:130","scope":80578,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$77729_storage","typeString":"struct StrategyStruct.PointSystemConfig"},"typeName":{"id":77957,"nodeType":"UserDefinedTypeName","pathNode":{"id":77956,"name":"StrategyStruct.PointSystemConfig","nameLocations":["7181:14:130","7196:17:130"],"nodeType":"IdentifierPath","referencedDeclaration":77729,"src":"7181:32:130"},"referencedDeclaration":77729,"src":"7181:32:130","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$77729_storage_ptr","typeString":"struct StrategyStruct.PointSystemConfig"}},"visibility":"public"},{"id":77961,"nodeType":"VariableDeclaration","src":"7265:46:130","nodes":[],"constant":false,"functionSelector":"6003e414","mutability":"mutable","name":"registryCommunity","nameLocation":"7294:17:130","scope":80578,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"},"typeName":{"id":77960,"nodeType":"UserDefinedTypeName","pathNode":{"id":77959,"name":"RegistryCommunityV0_0","nameLocations":["7265:21:130"],"nodeType":"IdentifierPath","referencedDeclaration":85047,"src":"7265:21:130"},"referencedDeclaration":85047,"src":"7265:21:130","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"}},"visibility":"public"},{"id":77964,"nodeType":"VariableDeclaration","src":"7317:31:130","nodes":[],"constant":false,"functionSelector":"b6c61f31","mutability":"mutable","name":"sybilScorer","nameLocation":"7337:11:130","scope":80578,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$80667","typeString":"contract ISybilScorer"},"typeName":{"id":77963,"nodeType":"UserDefinedTypeName","pathNode":{"id":77962,"name":"ISybilScorer","nameLocations":["7317:12:130"],"nodeType":"IdentifierPath","referencedDeclaration":80667,"src":"7317:12:130"},"referencedDeclaration":80667,"src":"7317:12:130","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$80667","typeString":"contract ISybilScorer"}},"visibility":"public"},{"id":77969,"nodeType":"VariableDeclaration","src":"7415:60:130","nodes":[],"constant":false,"functionSelector":"013cf08b","mutability":"mutable","name":"proposals","nameLocation":"7466:9:130","scope":80578,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$77721_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal)"},"typeName":{"id":77968,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":77965,"name":"uint256","nodeType":"ElementaryTypeName","src":"7423:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"7415:43:130","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$77721_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":77967,"nodeType":"UserDefinedTypeName","pathNode":{"id":77966,"name":"StrategyStruct.Proposal","nameLocations":["7434:14:130","7449:8:130"],"nodeType":"IdentifierPath","referencedDeclaration":77721,"src":"7434:23:130"},"referencedDeclaration":77721,"src":"7434:23:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal"}}},"visibility":"public"},{"id":77973,"nodeType":"VariableDeclaration","src":"7531:53:130","nodes":[],"constant":false,"functionSelector":"5db64b99","mutability":"mutable","name":"totalVoterStakePct","nameLocation":"7566:18:130","scope":80578,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"typeName":{"id":77972,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":77970,"name":"address","nodeType":"ElementaryTypeName","src":"7539:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"7531:27:130","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":77971,"name":"uint256","nodeType":"ElementaryTypeName","src":"7550:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"public"},{"id":77978,"nodeType":"VariableDeclaration","src":"7622:57:130","nodes":[],"constant":false,"functionSelector":"868c57b8","mutability":"mutable","name":"voterStakedProposals","nameLocation":"7659:20:130","scope":80578,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$","typeString":"mapping(address => uint256[])"},"typeName":{"id":77977,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":77974,"name":"address","nodeType":"ElementaryTypeName","src":"7630:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"7622:29:130","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$","typeString":"mapping(address => uint256[])"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"baseType":{"id":77975,"name":"uint256","nodeType":"ElementaryTypeName","src":"7641:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":77976,"nodeType":"ArrayTypeName","src":"7641:9:130","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}}},"visibility":"public"},{"id":77997,"nodeType":"ModifierDefinition","src":"7718:184:130","nodes":[],"body":{"id":77996,"nodeType":"Block","src":"7745:157:130","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":77988,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":77980,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"7759:3:130","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":77981,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7763:6:130","memberName":"sender","nodeType":"MemberAccess","src":"7759:10:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":77984,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77961,"src":"7781:17:130","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"}},"id":77985,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7799:11:130","memberName":"councilSafe","nodeType":"MemberAccess","referencedDeclaration":83193,"src":"7781:29:130","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_contract$_ISafe_$85665_$","typeString":"function () view external returns (contract ISafe)"}},"id":77986,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7781:31:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ISafe_$85665","typeString":"contract ISafe"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ISafe_$85665","typeString":"contract ISafe"}],"id":77983,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7773:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":77982,"name":"address","nodeType":"ElementaryTypeName","src":"7773:7:130","typeDescriptions":{}}},"id":77987,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7773:40:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"7759:54:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":77994,"nodeType":"Block","src":"7847:49:130","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":77991,"name":"OnlyCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77835,"src":"7868:15:130","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":77992,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7868:17:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":77993,"nodeType":"RevertStatement","src":"7861:24:130"}]},"id":77995,"nodeType":"IfStatement","src":"7755:141:130","trueBody":{"id":77990,"nodeType":"Block","src":"7815:26:130","statements":[{"id":77989,"nodeType":"PlaceholderStatement","src":"7829:1:130"}]}}]},"name":"onlyCouncilSafe","nameLocation":"7727:15:130","parameters":{"id":77979,"nodeType":"ParameterList","parameters":[],"src":"7742:2:130"},"virtual":false,"visibility":"internal"},{"id":78015,"nodeType":"FunctionDefinition","src":"8154:132:130","nodes":[],"body":{"id":78014,"nodeType":"Block","src":"8212:74:130","nodes":[],"statements":[{"expression":{"arguments":[{"id":78007,"name":"_allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77999,"src":"8233:5:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"43565374726174656779","id":78008,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8240:12:130","typeDescriptions":{"typeIdentifier":"t_stringliteral_5f43243e98d2b877d41079bf899c9372a6b91af5be3180830de9d43f93117b2e","typeString":"literal_string \"CVStrategy\""},"value":"CVStrategy"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_stringliteral_5f43243e98d2b877d41079bf899c9372a6b91af5be3180830de9d43f93117b2e","typeString":"literal_string \"CVStrategy\""}],"expression":{"id":78004,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"8222:5:130","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_CVStrategyV0_0_$80578_$","typeString":"type(contract super CVStrategyV0_0)"}},"id":78006,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8228:4:130","memberName":"init","nodeType":"MemberAccess","referencedDeclaration":74116,"src":"8222:10:130","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_string_memory_ptr_$returns$__$","typeString":"function (address,string memory)"}},"id":78009,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8222:31:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78010,"nodeType":"ExpressionStatement","src":"8222:31:130"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":78011,"name":"__Ownable_init","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52837,"src":"8263:14:130","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":78012,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8263:16:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78013,"nodeType":"ExpressionStatement","src":"8263:16:130"}]},"functionSelector":"19ab453c","implemented":true,"kind":"function","modifiers":[{"id":78002,"kind":"modifierInvocation","modifierName":{"id":78001,"name":"initializer","nameLocations":["8200:11:130"],"nodeType":"IdentifierPath","referencedDeclaration":53093,"src":"8200:11:130"},"nodeType":"ModifierInvocation","src":"8200:11:130"}],"name":"init","nameLocation":"8163:4:130","parameters":{"id":78000,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77999,"mutability":"mutable","name":"_allo","nameLocation":"8176:5:130","nodeType":"VariableDeclaration","scope":78015,"src":"8168:13:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":77998,"name":"address","nodeType":"ElementaryTypeName","src":"8168:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"8167:15:130"},"returnParameters":{"id":78003,"nodeType":"ParameterList","parameters":[],"src":"8212:0:130"},"scope":80578,"stateMutability":"nonpayable","virtual":true,"visibility":"external"},{"id":78108,"nodeType":"FunctionDefinition","src":"8292:761:130","nodes":[],"body":{"id":78107,"nodeType":"Block","src":"8375:678:130","nodes":[],"statements":[{"expression":{"arguments":[{"id":78025,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78017,"src":"8405:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":78024,"name":"__BaseStrategy_init","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74252,"src":"8385:19:130","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":78026,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8385:28:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78027,"nodeType":"ExpressionStatement","src":"8385:28:130"},{"assignments":[78032],"declarations":[{"constant":false,"id":78032,"mutability":"mutable","name":"ip","nameLocation":"8462:2:130","nodeType":"VariableDeclaration","scope":78107,"src":"8423:41:130","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$77751_memory_ptr","typeString":"struct StrategyStruct.InitializeParams"},"typeName":{"id":78031,"nodeType":"UserDefinedTypeName","pathNode":{"id":78030,"name":"StrategyStruct.InitializeParams","nameLocations":["8423:14:130","8438:16:130"],"nodeType":"IdentifierPath","referencedDeclaration":77751,"src":"8423:31:130"},"referencedDeclaration":77751,"src":"8423:31:130","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$77751_storage_ptr","typeString":"struct StrategyStruct.InitializeParams"}},"visibility":"internal"}],"id":78040,"initialValue":{"arguments":[{"id":78035,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78019,"src":"8478:5:130","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"expression":{"id":78036,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77752,"src":"8486:14:130","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$77752_$","typeString":"type(library StrategyStruct)"}},"id":78037,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8501:16:130","memberName":"InitializeParams","nodeType":"MemberAccess","referencedDeclaration":77751,"src":"8486:31:130","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_InitializeParams_$77751_storage_ptr_$","typeString":"type(struct StrategyStruct.InitializeParams storage pointer)"}}],"id":78038,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"8485:33:130","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_InitializeParams_$77751_storage_ptr_$","typeString":"type(struct StrategyStruct.InitializeParams storage pointer)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_struct$_InitializeParams_$77751_storage_ptr_$","typeString":"type(struct StrategyStruct.InitializeParams storage pointer)"}],"expression":{"id":78033,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"8467:3:130","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":78034,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8471:6:130","memberName":"decode","nodeType":"MemberAccess","src":"8467:10:130","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":78039,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8467:52:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$77751_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"nodeType":"VariableDeclarationStatement","src":"8423:96:130"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":78047,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":78041,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78032,"src":"8534:2:130","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$77751_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":78042,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8537:17:130","memberName":"registryCommunity","nodeType":"MemberAccess","referencedDeclaration":77731,"src":"8534:20:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":78045,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8566:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":78044,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8558:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":78043,"name":"address","nodeType":"ElementaryTypeName","src":"8558:7:130","typeDescriptions":{}}},"id":78046,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8558:10:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"8534:34:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":78052,"nodeType":"IfStatement","src":"8530:94:130","trueBody":{"id":78051,"nodeType":"Block","src":"8570:54:130","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":78048,"name":"RegistryCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77785,"src":"8591:20:130","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":78049,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8591:22:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78050,"nodeType":"RevertStatement","src":"8584:29:130"}]}},{"expression":{"id":78058,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":78053,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77961,"src":"8634:17:130","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":78055,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78032,"src":"8676:2:130","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$77751_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":78056,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8679:17:130","memberName":"registryCommunity","nodeType":"MemberAccess","referencedDeclaration":77731,"src":"8676:20:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":78054,"name":"RegistryCommunityV0_0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85047,"src":"8654:21:130","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_RegistryCommunityV0_0_$85047_$","typeString":"type(contract RegistryCommunityV0_0)"}},"id":78057,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8654:43:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"}},"src":"8634:63:130","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"}},"id":78059,"nodeType":"ExpressionStatement","src":"8634:63:130"},{"expression":{"id":78063,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":78060,"name":"decay","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77933,"src":"8707:5:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":78061,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78032,"src":"8715:2:130","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$77751_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":78062,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8718:5:130","memberName":"decay","nodeType":"MemberAccess","referencedDeclaration":77733,"src":"8715:8:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8707:16:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":78064,"nodeType":"ExpressionStatement","src":"8707:16:130"},{"expression":{"id":78068,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":78065,"name":"maxRatio","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77935,"src":"8733:8:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":78066,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78032,"src":"8744:2:130","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$77751_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":78067,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8747:8:130","memberName":"maxRatio","nodeType":"MemberAccess","referencedDeclaration":77735,"src":"8744:11:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8733:22:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":78069,"nodeType":"ExpressionStatement","src":"8733:22:130"},{"expression":{"id":78073,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":78070,"name":"weight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77937,"src":"8765:6:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":78071,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78032,"src":"8774:2:130","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$77751_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":78072,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8777:6:130","memberName":"weight","nodeType":"MemberAccess","referencedDeclaration":77737,"src":"8774:9:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8765:18:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":78074,"nodeType":"ExpressionStatement","src":"8765:18:130"},{"expression":{"id":78078,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":78075,"name":"proposalType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77952,"src":"8793:12:130","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$77671","typeString":"enum StrategyStruct.ProposalType"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":78076,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78032,"src":"8808:2:130","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$77751_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":78077,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8811:12:130","memberName":"proposalType","nodeType":"MemberAccess","referencedDeclaration":77742,"src":"8808:15:130","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$77671","typeString":"enum StrategyStruct.ProposalType"}},"src":"8793:30:130","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$77671","typeString":"enum StrategyStruct.ProposalType"}},"id":78079,"nodeType":"ExpressionStatement","src":"8793:30:130"},{"expression":{"id":78083,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":78080,"name":"pointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77955,"src":"8833:11:130","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$77676","typeString":"enum StrategyStruct.PointSystem"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":78081,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78032,"src":"8847:2:130","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$77751_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":78082,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8850:11:130","memberName":"pointSystem","nodeType":"MemberAccess","referencedDeclaration":77745,"src":"8847:14:130","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$77676","typeString":"enum StrategyStruct.PointSystem"}},"src":"8833:28:130","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$77676","typeString":"enum StrategyStruct.PointSystem"}},"id":78084,"nodeType":"ExpressionStatement","src":"8833:28:130"},{"expression":{"id":78088,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":78085,"name":"pointConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77958,"src":"8871:11:130","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$77729_storage","typeString":"struct StrategyStruct.PointSystemConfig storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":78086,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78032,"src":"8885:2:130","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$77751_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":78087,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8888:11:130","memberName":"pointConfig","nodeType":"MemberAccess","referencedDeclaration":77748,"src":"8885:14:130","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$77729_memory_ptr","typeString":"struct StrategyStruct.PointSystemConfig memory"}},"src":"8871:28:130","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$77729_storage","typeString":"struct StrategyStruct.PointSystemConfig storage ref"}},"id":78089,"nodeType":"ExpressionStatement","src":"8871:28:130"},{"expression":{"id":78093,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":78090,"name":"_minThresholdPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77947,"src":"8909:19:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":78091,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78032,"src":"8931:2:130","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$77751_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":78092,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8934:18:130","memberName":"minThresholdPoints","nodeType":"MemberAccess","referencedDeclaration":77739,"src":"8931:21:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8909:43:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":78094,"nodeType":"ExpressionStatement","src":"8909:43:130"},{"expression":{"id":78100,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":78095,"name":"sybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77964,"src":"8962:11:130","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$80667","typeString":"contract ISybilScorer"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":78097,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78032,"src":"8989:2:130","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$77751_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":78098,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8992:11:130","memberName":"sybilScorer","nodeType":"MemberAccess","referencedDeclaration":77750,"src":"8989:14:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":78096,"name":"ISybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80667,"src":"8976:12:130","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ISybilScorer_$80667_$","typeString":"type(contract ISybilScorer)"}},"id":78099,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8976:28:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$80667","typeString":"contract ISybilScorer"}},"src":"8962:42:130","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$80667","typeString":"contract ISybilScorer"}},"id":78101,"nodeType":"ExpressionStatement","src":"8962:42:130"},{"eventCall":{"arguments":[{"id":78103,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78017,"src":"9034:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":78104,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78032,"src":"9043:2:130","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$77751_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_struct$_InitializeParams_$77751_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}],"id":78102,"name":"InitializedCV","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77844,"src":"9020:13:130","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_struct$_InitializeParams_$77751_memory_ptr_$returns$__$","typeString":"function (uint256,struct StrategyStruct.InitializeParams memory)"}},"id":78105,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9020:26:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78106,"nodeType":"EmitStatement","src":"9015:31:130"}]},"baseFunctions":[2939],"functionSelector":"edd146cc","implemented":true,"kind":"function","modifiers":[{"id":78022,"kind":"modifierInvocation","modifierName":{"id":78021,"name":"onlyAllo","nameLocations":["8366:8:130"],"nodeType":"IdentifierPath","referencedDeclaration":74124,"src":"8366:8:130"},"nodeType":"ModifierInvocation","src":"8366:8:130"}],"name":"initialize","nameLocation":"8301:10:130","parameters":{"id":78020,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78017,"mutability":"mutable","name":"_poolId","nameLocation":"8320:7:130","nodeType":"VariableDeclaration","scope":78108,"src":"8312:15:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78016,"name":"uint256","nodeType":"ElementaryTypeName","src":"8312:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":78019,"mutability":"mutable","name":"_data","nameLocation":"8342:5:130","nodeType":"VariableDeclaration","scope":78108,"src":"8329:18:130","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":78018,"name":"bytes","nodeType":"ElementaryTypeName","src":"8329:5:130","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"8311:37:130"},"returnParameters":{"id":78023,"nodeType":"ParameterList","parameters":[],"src":"8375:0:130"},"scope":80578,"stateMutability":"nonpayable","virtual":true,"visibility":"external"},{"id":78112,"nodeType":"FunctionDefinition","src":"9224:83:130","nodes":[],"body":{"id":78111,"nodeType":"Block","src":"9252:55:130","nodes":[],"statements":[]},"implemented":true,"kind":"fallback","modifiers":[],"name":"","nameLocation":"-1:-1:-1","parameters":{"id":78109,"nodeType":"ParameterList","parameters":[],"src":"9232:2:130"},"returnParameters":{"id":78110,"nodeType":"ParameterList","parameters":[],"src":"9252:0:130"},"scope":80578,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":78116,"nodeType":"FunctionDefinition","src":"9313:135:130","nodes":[],"body":{"id":78115,"nodeType":"Block","src":"9340:108:130","nodes":[],"statements":[]},"implemented":true,"kind":"receive","modifiers":[],"name":"","nameLocation":"-1:-1:-1","parameters":{"id":78113,"nodeType":"ParameterList","parameters":[],"src":"9320:2:130"},"returnParameters":{"id":78114,"nodeType":"ParameterList","parameters":[],"src":"9340:0:130"},"scope":80578,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":78137,"nodeType":"FunctionDefinition","src":"9454:202:130","nodes":[],"body":{"id":78136,"nodeType":"Block","src":"9545:111:130","nodes":[],"statements":[{"expression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":78134,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"id":78129,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":78124,"name":"interfaceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78118,"src":"9562:11:130","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"arguments":[{"id":78126,"name":"IPointStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77667,"src":"9582:14:130","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IPointStrategy_$77667_$","typeString":"type(contract IPointStrategy)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_contract$_IPointStrategy_$77667_$","typeString":"type(contract IPointStrategy)"}],"id":78125,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"9577:4:130","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":78127,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9577:20:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_contract$_IPointStrategy_$77667","typeString":"type(contract IPointStrategy)"}},"id":78128,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"9598:11:130","memberName":"interfaceId","nodeType":"MemberAccess","src":"9577:32:130","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"src":"9562:47:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"arguments":[{"id":78132,"name":"interfaceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78118,"src":"9637:11:130","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":78130,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"9613:5:130","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_CVStrategyV0_0_$80578_$","typeString":"type(contract super CVStrategyV0_0)"}},"id":78131,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9619:17:130","memberName":"supportsInterface","nodeType":"MemberAccess","referencedDeclaration":58265,"src":"9613:23:130","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes4_$returns$_t_bool_$","typeString":"function (bytes4) view returns (bool)"}},"id":78133,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9613:36:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"9562:87:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":78123,"id":78135,"nodeType":"Return","src":"9555:94:130"}]},"baseFunctions":[58265],"functionSelector":"01ffc9a7","implemented":true,"kind":"function","modifiers":[],"name":"supportsInterface","nameLocation":"9463:17:130","overrides":{"id":78120,"nodeType":"OverrideSpecifier","overrides":[],"src":"9521:8:130"},"parameters":{"id":78119,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78118,"mutability":"mutable","name":"interfaceId","nameLocation":"9488:11:130","nodeType":"VariableDeclaration","scope":78137,"src":"9481:18:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":78117,"name":"bytes4","nodeType":"ElementaryTypeName","src":"9481:6:130","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"9480:20:130"},"returnParameters":{"id":78123,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78122,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":78137,"src":"9539:4:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":78121,"name":"bool","nodeType":"ElementaryTypeName","src":"9539:4:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"9538:6:130"},"scope":80578,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":78178,"nodeType":"FunctionDefinition","src":"9827:377:130","nodes":[],"body":{"id":78177,"nodeType":"Block","src":"9886:318:130","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":78147,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":78142,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78139,"src":"9900:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":78145,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9919:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":78144,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9911:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":78143,"name":"address","nodeType":"ElementaryTypeName","src":"9911:7:130","typeDescriptions":{}}},"id":78146,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9911:10:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"9900:21:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":78152,"nodeType":"IfStatement","src":"9896:77:130","trueBody":{"id":78151,"nodeType":"Block","src":"9923:50:130","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":78148,"name":"UserCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77765,"src":"9944:16:130","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":78149,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9944:18:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78150,"nodeType":"RevertStatement","src":"9937:25:130"}]}},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":78161,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":78155,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77961,"src":"9994:17:130","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"}],"id":78154,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9986:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":78153,"name":"address","nodeType":"ElementaryTypeName","src":"9986:7:130","typeDescriptions":{}}},"id":78156,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9986:26:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":78159,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10024:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":78158,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10016:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":78157,"name":"address","nodeType":"ElementaryTypeName","src":"10016:7:130","typeDescriptions":{}}},"id":78160,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10016:10:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"9986:40:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":78166,"nodeType":"IfStatement","src":"9982:100:130","trueBody":{"id":78165,"nodeType":"Block","src":"10028:54:130","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":78162,"name":"RegistryCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77785,"src":"10049:20:130","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":78163,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10049:22:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78164,"nodeType":"RevertStatement","src":"10042:29:130"}]}},{"condition":{"id":78171,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"10095:36:130","subExpression":{"arguments":[{"id":78169,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78139,"src":"10123:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":78167,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77961,"src":"10096:17:130","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"}},"id":78168,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10114:8:130","memberName":"isMember","nodeType":"MemberAccess","referencedDeclaration":84615,"src":"10096:26:130","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view external returns (bool)"}},"id":78170,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10096:35:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":78176,"nodeType":"IfStatement","src":"10091:93:130","trueBody":{"id":78175,"nodeType":"Block","src":"10133:51:130","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":78172,"name":"UserNotInRegistry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77767,"src":"10154:17:130","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":78173,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10154:19:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78174,"nodeType":"RevertStatement","src":"10147:26:130"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"checkSenderIsMember","nameLocation":"9836:19:130","parameters":{"id":78140,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78139,"mutability":"mutable","name":"_sender","nameLocation":"9864:7:130","nodeType":"VariableDeclaration","scope":78178,"src":"9856:15:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":78138,"name":"address","nodeType":"ElementaryTypeName","src":"9856:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"9855:17:130"},"returnParameters":{"id":78141,"nodeType":"ParameterList","parameters":[],"src":"9886:0:130"},"scope":80578,"stateMutability":"view","virtual":false,"visibility":"private"},{"id":78194,"nodeType":"FunctionDefinition","src":"10210:162:130","nodes":[],"body":{"id":78193,"nodeType":"Block","src":"10256:116:130","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":78187,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":78181,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"10270:3:130","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":78182,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10274:6:130","memberName":"sender","nodeType":"MemberAccess","src":"10270:10:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"id":78185,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77961,"src":"10292:17:130","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"}],"id":78184,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10284:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":78183,"name":"address","nodeType":"ElementaryTypeName","src":"10284:7:130","typeDescriptions":{}}},"id":78186,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10284:26:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"10270:40:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":78192,"nodeType":"IfStatement","src":"10266:100:130","trueBody":{"id":78191,"nodeType":"Block","src":"10312:54:130","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":78188,"name":"OnlyCommunityAllowed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77825,"src":"10333:20:130","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":78189,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10333:22:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78190,"nodeType":"RevertStatement","src":"10326:29:130"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"onlyRegistryCommunity","nameLocation":"10219:21:130","parameters":{"id":78179,"nodeType":"ParameterList","parameters":[],"src":"10240:2:130"},"returnParameters":{"id":78180,"nodeType":"ParameterList","parameters":[],"src":"10256:0:130"},"scope":80578,"stateMutability":"view","virtual":false,"visibility":"private"},{"id":78210,"nodeType":"FunctionDefinition","src":"10378:133:130","nodes":[],"body":{"id":78209,"nodeType":"Block","src":"10438:73:130","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":78204,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":78199,"name":"_address","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78196,"src":"10452:8:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":78202,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10472:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":78201,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10464:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":78200,"name":"address","nodeType":"ElementaryTypeName","src":"10464:7:130","typeDescriptions":{}}},"id":78203,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10464:10:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"10452:22:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":78208,"nodeType":"IfStatement","src":"10448:56:130","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":78205,"name":"AddressCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77783,"src":"10483:19:130","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":78206,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10483:21:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78207,"nodeType":"RevertStatement","src":"10476:28:130"}}]},"implemented":true,"kind":"function","modifiers":[],"name":"_revertZeroAddress","nameLocation":"10387:18:130","parameters":{"id":78197,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78196,"mutability":"mutable","name":"_address","nameLocation":"10414:8:130","nodeType":"VariableDeclaration","scope":78210,"src":"10406:16:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":78195,"name":"address","nodeType":"ElementaryTypeName","src":"10406:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"10405:18:130"},"returnParameters":{"id":78198,"nodeType":"ParameterList","parameters":[],"src":"10438:0:130"},"scope":80578,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":78240,"nodeType":"FunctionDefinition","src":"10517:230:130","nodes":[],"body":{"id":78239,"nodeType":"Block","src":"10588:159:130","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":78225,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":78219,"name":"sybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77964,"src":"10610:11:130","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$80667","typeString":"contract ISybilScorer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ISybilScorer_$80667","typeString":"contract ISybilScorer"}],"id":78218,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10602:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":78217,"name":"address","nodeType":"ElementaryTypeName","src":"10602:7:130","typeDescriptions":{}}},"id":78220,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10602:20:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":78223,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10634:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":78222,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10626:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":78221,"name":"address","nodeType":"ElementaryTypeName","src":"10626:7:130","typeDescriptions":{}}},"id":78224,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10626:10:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"10602:34:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":78229,"nodeType":"IfStatement","src":"10598:76:130","trueBody":{"id":78228,"nodeType":"Block","src":"10638:36:130","statements":[{"expression":{"hexValue":"74727565","id":78226,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"10659:4:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":78216,"id":78227,"nodeType":"Return","src":"10652:11:130"}]}},{"expression":{"arguments":[{"id":78232,"name":"_user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78212,"src":"10719:5:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":78235,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"10734:4:130","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$80578","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$80578","typeString":"contract CVStrategyV0_0"}],"id":78234,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10726:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":78233,"name":"address","nodeType":"ElementaryTypeName","src":"10726:7:130","typeDescriptions":{}}},"id":78236,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10726:13:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":78230,"name":"sybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77964,"src":"10690:11:130","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$80667","typeString":"contract ISybilScorer"}},"id":78231,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10702:16:130","memberName":"canExecuteAction","nodeType":"MemberAccess","referencedDeclaration":80624,"src":"10690:28:130","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_bool_$","typeString":"function (address,address) view external returns (bool)"}},"id":78237,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10690:50:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":78216,"id":78238,"nodeType":"Return","src":"10683:57:130"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_canExecuteAction","nameLocation":"10526:17:130","parameters":{"id":78213,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78212,"mutability":"mutable","name":"_user","nameLocation":"10552:5:130","nodeType":"VariableDeclaration","scope":78240,"src":"10544:13:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":78211,"name":"address","nodeType":"ElementaryTypeName","src":"10544:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"10543:15:130"},"returnParameters":{"id":78216,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78215,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":78240,"src":"10582:4:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":78214,"name":"bool","nodeType":"ElementaryTypeName","src":"10582:4:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"10581:6:130"},"scope":80578,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":78424,"nodeType":"FunctionDefinition","src":"11073:2045:130","nodes":[],"body":{"id":78423,"nodeType":"Block","src":"11174:1944:130","nodes":[],"statements":[{"condition":{"id":78253,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"11188:27:130","subExpression":{"arguments":[{"id":78251,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78244,"src":"11207:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":78250,"name":"_canExecuteAction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78240,"src":"11189:17:130","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":78252,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11189:26:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":78258,"nodeType":"IfStatement","src":"11184:90:130","trueBody":{"id":78257,"nodeType":"Block","src":"11217:57:130","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":78254,"name":"UserCannotExecuteAction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77837,"src":"11238:23:130","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":78255,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11238:25:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78256,"nodeType":"RevertStatement","src":"11231:32:130"}]}},{"expression":{"id":78259,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78242,"src":"11328:5:130","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":78260,"nodeType":"ExpressionStatement","src":"11328:5:130"},{"assignments":[78265],"declarations":[{"constant":false,"id":78265,"mutability":"mutable","name":"proposal","nameLocation":"11380:8:130","nodeType":"VariableDeclaration","scope":78423,"src":"11343:45:130","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$77688_memory_ptr","typeString":"struct StrategyStruct.CreateProposal"},"typeName":{"id":78264,"nodeType":"UserDefinedTypeName","pathNode":{"id":78263,"name":"StrategyStruct.CreateProposal","nameLocations":["11343:14:130","11358:14:130"],"nodeType":"IdentifierPath","referencedDeclaration":77688,"src":"11343:29:130"},"referencedDeclaration":77688,"src":"11343:29:130","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$77688_storage_ptr","typeString":"struct StrategyStruct.CreateProposal"}},"visibility":"internal"}],"id":78273,"initialValue":{"arguments":[{"id":78268,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78242,"src":"11402:5:130","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"expression":{"id":78269,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77752,"src":"11410:14:130","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$77752_$","typeString":"type(library StrategyStruct)"}},"id":78270,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11425:14:130","memberName":"CreateProposal","nodeType":"MemberAccess","referencedDeclaration":77688,"src":"11410:29:130","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_CreateProposal_$77688_storage_ptr_$","typeString":"type(struct StrategyStruct.CreateProposal storage pointer)"}}],"id":78271,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"11409:31:130","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_CreateProposal_$77688_storage_ptr_$","typeString":"type(struct StrategyStruct.CreateProposal storage pointer)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_struct$_CreateProposal_$77688_storage_ptr_$","typeString":"type(struct StrategyStruct.CreateProposal storage pointer)"}],"expression":{"id":78266,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"11391:3:130","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":78267,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"11395:6:130","memberName":"decode","nodeType":"MemberAccess","src":"11391:10:130","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":78272,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11391:50:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$77688_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"nodeType":"VariableDeclarationStatement","src":"11343:98:130"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":78277,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":78274,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78265,"src":"11556:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$77688_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":78275,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11565:6:130","memberName":"poolId","nodeType":"MemberAccess","referencedDeclaration":77678,"src":"11556:15:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":78276,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11575:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"11556:20:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":78282,"nodeType":"IfStatement","src":"11552:78:130","trueBody":{"id":78281,"nodeType":"Block","src":"11578:52:130","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":78278,"name":"PoolIdCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77781,"src":"11599:18:130","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":78279,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11599:20:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78280,"nodeType":"RevertStatement","src":"11592:27:130"}]}},{"condition":{"commonType":{"typeIdentifier":"t_enum$_ProposalType_$77671","typeString":"enum StrategyStruct.ProposalType"},"id":78287,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":78283,"name":"proposalType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77952,"src":"11706:12:130","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$77671","typeString":"enum StrategyStruct.ProposalType"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":78284,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77752,"src":"11722:14:130","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$77752_$","typeString":"type(library StrategyStruct)"}},"id":78285,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11737:12:130","memberName":"ProposalType","nodeType":"MemberAccess","referencedDeclaration":77671,"src":"11722:27:130","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalType_$77671_$","typeString":"type(enum StrategyStruct.ProposalType)"}},"id":78286,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"11750:7:130","memberName":"Funding","nodeType":"MemberAccess","referencedDeclaration":77669,"src":"11722:35:130","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$77671","typeString":"enum StrategyStruct.ProposalType"}},"src":"11706:51:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":78334,"nodeType":"IfStatement","src":"11702:722:130","trueBody":{"id":78333,"nodeType":"Block","src":"11759:665:130","statements":[{"expression":{"arguments":[{"expression":{"id":78289,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78265,"src":"11792:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$77688_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":78290,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11801:11:130","memberName":"beneficiary","nodeType":"MemberAccess","referencedDeclaration":77680,"src":"11792:20:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":78288,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78210,"src":"11773:18:130","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":78291,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11773:40:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78292,"nodeType":"ExpressionStatement","src":"11773:40:130"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":78299,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":78293,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78265,"src":"11879:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$77688_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":78294,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11888:14:130","memberName":"requestedToken","nodeType":"MemberAccess","referencedDeclaration":77684,"src":"11879:23:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":78297,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11914:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":78296,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11906:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":78295,"name":"address","nodeType":"ElementaryTypeName","src":"11906:7:130","typeDescriptions":{}}},"id":78298,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11906:10:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"11879:37:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":78304,"nodeType":"IfStatement","src":"11875:102:130","trueBody":{"id":78303,"nodeType":"Block","src":"11918:59:130","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":78300,"name":"TokenCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77775,"src":"11943:17:130","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":78301,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11943:19:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78302,"nodeType":"RevertStatement","src":"11936:26:130"}]}},{"assignments":[78306],"declarations":[{"constant":false,"id":78306,"mutability":"mutable","name":"poolToken","nameLocation":"11998:9:130","nodeType":"VariableDeclaration","scope":78333,"src":"11990:17:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":78305,"name":"address","nodeType":"ElementaryTypeName","src":"11990:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":78314,"initialValue":{"expression":{"arguments":[{"id":78311,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74090,"src":"12033:6:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":78307,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"12010:4:130","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$80578","typeString":"contract CVStrategyV0_0"}},"id":78308,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12015:7:130","memberName":"getAllo","nodeType":"MemberAccess","referencedDeclaration":74170,"src":"12010:12:130","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_contract$_IAllo_$2610_$","typeString":"function () view external returns (contract IAllo)"}},"id":78309,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12010:14:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IAllo_$2610","typeString":"contract IAllo"}},"id":78310,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12025:7:130","memberName":"getPool","nodeType":"MemberAccess","referencedDeclaration":2603,"src":"12010:22:130","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_struct$_Pool_$2319_memory_ptr_$","typeString":"function (uint256) view external returns (struct IAllo.Pool memory)"}},"id":78312,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12010:30:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"id":78313,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12041:5:130","memberName":"token","nodeType":"MemberAccess","referencedDeclaration":2311,"src":"12010:36:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"11990:56:130"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":78318,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":78315,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78265,"src":"12064:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$77688_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":78316,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12073:14:130","memberName":"requestedToken","nodeType":"MemberAccess","referencedDeclaration":77684,"src":"12064:23:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":78317,"name":"poolToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78306,"src":"12091:9:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"12064:36:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":78323,"nodeType":"IfStatement","src":"12060:234:130","trueBody":{"id":78322,"nodeType":"Block","src":"12102:192:130","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":78319,"name":"TokenNotAllowed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77777,"src":"12262:15:130","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":78320,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12262:17:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78321,"nodeType":"RevertStatement","src":"12255:24:130"}]}},{"condition":{"arguments":[{"expression":{"id":78325,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78265,"src":"12327:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$77688_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":78326,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12336:15:130","memberName":"amountRequested","nodeType":"MemberAccess","referencedDeclaration":77682,"src":"12327:24:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":78324,"name":"_isOverMaxRatio","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79628,"src":"12311:15:130","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view returns (bool)"}},"id":78327,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12311:41:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":78332,"nodeType":"IfStatement","src":"12307:107:130","trueBody":{"id":78331,"nodeType":"Block","src":"12354:60:130","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":78328,"name":"AmountOverMaxRatio","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77779,"src":"12379:18:130","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":78329,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12379:20:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78330,"nodeType":"RevertStatement","src":"12372:27:130"}]}}]}},{"assignments":[78336],"declarations":[{"constant":false,"id":78336,"mutability":"mutable","name":"proposalId","nameLocation":"12441:10:130","nodeType":"VariableDeclaration","scope":78423,"src":"12433:18:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78335,"name":"uint256","nodeType":"ElementaryTypeName","src":"12433:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":78339,"initialValue":{"id":78338,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":true,"src":"12454:17:130","subExpression":{"id":78337,"name":"proposalCounter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77940,"src":"12456:15:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"12433:38:130"},{"assignments":[78344],"declarations":[{"constant":false,"id":78344,"mutability":"mutable","name":"p","nameLocation":"12513:1:130","nodeType":"VariableDeclaration","scope":78423,"src":"12481:33:130","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":78343,"nodeType":"UserDefinedTypeName","pathNode":{"id":78342,"name":"StrategyStruct.Proposal","nameLocations":["12481:14:130","12496:8:130"],"nodeType":"IdentifierPath","referencedDeclaration":77721,"src":"12481:23:130"},"referencedDeclaration":77721,"src":"12481:23:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":78348,"initialValue":{"baseExpression":{"id":78345,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77969,"src":"12517:9:130","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$77721_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":78347,"indexExpression":{"id":78346,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78336,"src":"12527:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"12517:21:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"12481:57:130"},{"expression":{"id":78353,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":78349,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78344,"src":"12549:1:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":78351,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"12551:10:130","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":77696,"src":"12549:12:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":78352,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78336,"src":"12564:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"12549:25:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":78354,"nodeType":"ExpressionStatement","src":"12549:25:130"},{"expression":{"id":78359,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":78355,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78344,"src":"12584:1:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":78357,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"12586:9:130","memberName":"submitter","nodeType":"MemberAccess","referencedDeclaration":77706,"src":"12584:11:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":78358,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78244,"src":"12598:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"12584:21:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":78360,"nodeType":"ExpressionStatement","src":"12584:21:130"},{"expression":{"id":78366,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":78361,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78344,"src":"12615:1:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":78363,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"12617:11:130","memberName":"beneficiary","nodeType":"MemberAccess","referencedDeclaration":77704,"src":"12615:13:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":78364,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78265,"src":"12631:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$77688_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":78365,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12640:11:130","memberName":"beneficiary","nodeType":"MemberAccess","referencedDeclaration":77680,"src":"12631:20:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"12615:36:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":78367,"nodeType":"ExpressionStatement","src":"12615:36:130"},{"expression":{"id":78373,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":78368,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78344,"src":"12661:1:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":78370,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"12663:14:130","memberName":"requestedToken","nodeType":"MemberAccess","referencedDeclaration":77708,"src":"12661:16:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":78371,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78265,"src":"12680:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$77688_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":78372,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12689:14:130","memberName":"requestedToken","nodeType":"MemberAccess","referencedDeclaration":77684,"src":"12680:23:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"12661:42:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":78374,"nodeType":"ExpressionStatement","src":"12661:42:130"},{"expression":{"id":78380,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":78375,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78344,"src":"12713:1:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":78377,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"12715:15:130","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":77698,"src":"12713:17:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":78378,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78265,"src":"12733:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$77688_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":78379,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12742:15:130","memberName":"amountRequested","nodeType":"MemberAccess","referencedDeclaration":77682,"src":"12733:24:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"12713:44:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":78381,"nodeType":"ExpressionStatement","src":"12713:44:130"},{"expression":{"id":78388,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":78382,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78344,"src":"12818:1:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":78384,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"12820:14:130","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":77713,"src":"12818:16:130","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$77694","typeString":"enum StrategyStruct.ProposalStatus"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"expression":{"id":78385,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77752,"src":"12837:14:130","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$77752_$","typeString":"type(library StrategyStruct)"}},"id":78386,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12852:14:130","memberName":"ProposalStatus","nodeType":"MemberAccess","referencedDeclaration":77694,"src":"12837:29:130","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$77694_$","typeString":"type(enum StrategyStruct.ProposalStatus)"}},"id":78387,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"12867:6:130","memberName":"Active","nodeType":"MemberAccess","referencedDeclaration":77690,"src":"12837:36:130","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$77694","typeString":"enum StrategyStruct.ProposalStatus"}},"src":"12818:55:130","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$77694","typeString":"enum StrategyStruct.ProposalStatus"}},"id":78389,"nodeType":"ExpressionStatement","src":"12818:55:130"},{"expression":{"id":78395,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":78390,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78344,"src":"12883:1:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":78392,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"12885:9:130","memberName":"blockLast","nodeType":"MemberAccess","referencedDeclaration":77710,"src":"12883:11:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":78393,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"12897:5:130","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":78394,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12903:6:130","memberName":"number","nodeType":"MemberAccess","src":"12897:12:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"12883:26:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":78396,"nodeType":"ExpressionStatement","src":"12883:26:130"},{"expression":{"id":78401,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":78397,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78344,"src":"12919:1:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":78399,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"12921:14:130","memberName":"convictionLast","nodeType":"MemberAccess","referencedDeclaration":77702,"src":"12919:16:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"30","id":78400,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12938:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"12919:20:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":78402,"nodeType":"ExpressionStatement","src":"12919:20:130"},{"expression":{"id":78408,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":78403,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78344,"src":"12985:1:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":78405,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"12987:8:130","memberName":"metadata","nodeType":"MemberAccess","referencedDeclaration":77720,"src":"12985:10:130","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage","typeString":"struct Metadata storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":78406,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78265,"src":"12998:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$77688_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":78407,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"13007:8:130","memberName":"metadata","nodeType":"MemberAccess","referencedDeclaration":77687,"src":"12998:17:130","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}},"src":"12985:30:130","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage","typeString":"struct Metadata storage ref"}},"id":78409,"nodeType":"ExpressionStatement","src":"12985:30:130"},{"eventCall":{"arguments":[{"id":78411,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74090,"src":"13047:6:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":78412,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78336,"src":"13055:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":78410,"name":"ProposalCreated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77858,"src":"13031:15:130","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":78413,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13031:35:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78414,"nodeType":"EmitStatement","src":"13026:40:130"},{"expression":{"arguments":[{"arguments":[{"id":78419,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78336,"src":"13099:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":78418,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13091:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":78417,"name":"uint160","nodeType":"ElementaryTypeName","src":"13091:7:130","typeDescriptions":{}}},"id":78420,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13091:19:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":78416,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13083:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":78415,"name":"address","nodeType":"ElementaryTypeName","src":"13083:7:130","typeDescriptions":{}}},"id":78421,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13083:28:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":78249,"id":78422,"nodeType":"Return","src":"13076:35:130"}]},"baseFunctions":[74558],"implemented":true,"kind":"function","modifiers":[],"name":"_registerRecipient","nameLocation":"11082:18:130","overrides":{"id":78246,"nodeType":"OverrideSpecifier","overrides":[],"src":"11147:8:130"},"parameters":{"id":78245,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78242,"mutability":"mutable","name":"_data","nameLocation":"11114:5:130","nodeType":"VariableDeclaration","scope":78424,"src":"11101:18:130","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":78241,"name":"bytes","nodeType":"ElementaryTypeName","src":"11101:5:130","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":78244,"mutability":"mutable","name":"_sender","nameLocation":"11129:7:130","nodeType":"VariableDeclaration","scope":78424,"src":"11121:15:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":78243,"name":"address","nodeType":"ElementaryTypeName","src":"11121:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"11100:37:130"},"returnParameters":{"id":78249,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78248,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":78424,"src":"11165:7:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":78247,"name":"address","nodeType":"ElementaryTypeName","src":"11165:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"11164:9:130"},"scope":80578,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":78463,"nodeType":"FunctionDefinition","src":"13124:351:130","nodes":[],"body":{"id":78462,"nodeType":"Block","src":"13159:316:130","nodes":[],"statements":[{"assignments":[78428],"declarations":[{"constant":false,"id":78428,"mutability":"mutable","name":"member","nameLocation":"13177:6:130","nodeType":"VariableDeclaration","scope":78462,"src":"13169:14:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":78427,"name":"address","nodeType":"ElementaryTypeName","src":"13169:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":78431,"initialValue":{"expression":{"id":78429,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"13186:3:130","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":78430,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13190:6:130","memberName":"sender","nodeType":"MemberAccess","src":"13186:10:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"13169:27:130"},{"condition":{"id":78435,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"13210:26:130","subExpression":{"arguments":[{"id":78433,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78428,"src":"13229:6:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":78432,"name":"_canExecuteAction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78240,"src":"13211:17:130","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":78434,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13211:25:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":78440,"nodeType":"IfStatement","src":"13206:89:130","trueBody":{"id":78439,"nodeType":"Block","src":"13238:57:130","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":78436,"name":"UserCannotExecuteAction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77837,"src":"13259:23:130","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":78437,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13259:25:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78438,"nodeType":"RevertStatement","src":"13252:32:130"}]}},{"expression":{"arguments":[{"id":78444,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78428,"src":"13347:6:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":78447,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"13363:4:130","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$80578","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$80578","typeString":"contract CVStrategyV0_0"}],"id":78446,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13355:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":78445,"name":"address","nodeType":"ElementaryTypeName","src":"13355:7:130","typeDescriptions":{}}},"id":78448,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13355:13:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":78441,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77961,"src":"13304:17:130","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"}},"id":78443,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13322:24:130","memberName":"activateMemberInStrategy","nodeType":"MemberAccess","referencedDeclaration":83993,"src":"13304:42:130","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address) external"}},"id":78449,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13304:65:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78450,"nodeType":"ExpressionStatement","src":"13304:65:130"},{"expression":{"id":78460,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":78451,"name":"totalPointsActivated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77944,"src":"13379:20:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"arguments":[{"id":78454,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78428,"src":"13446:6:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":78457,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"13462:4:130","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$80578","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$80578","typeString":"contract CVStrategyV0_0"}],"id":78456,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13454:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":78455,"name":"address","nodeType":"ElementaryTypeName","src":"13454:7:130","typeDescriptions":{}}},"id":78458,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13454:13:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":78452,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77961,"src":"13403:17:130","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"}},"id":78453,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13421:24:130","memberName":"getMemberPowerInStrategy","nodeType":"MemberAccess","referencedDeclaration":84375,"src":"13403:42:130","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view external returns (uint256)"}},"id":78459,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13403:65:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"13379:89:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":78461,"nodeType":"ExpressionStatement","src":"13379:89:130"}]},"functionSelector":"814516ad","implemented":true,"kind":"function","modifiers":[],"name":"activatePoints","nameLocation":"13133:14:130","parameters":{"id":78425,"nodeType":"ParameterList","parameters":[],"src":"13147:2:130"},"returnParameters":{"id":78426,"nodeType":"ParameterList","parameters":[],"src":"13159:0:130"},"scope":80578,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":78472,"nodeType":"FunctionDefinition","src":"13481:81:130","nodes":[],"body":{"id":78471,"nodeType":"Block","src":"13516:46:130","nodes":[],"statements":[{"expression":{"arguments":[{"expression":{"id":78467,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"13544:3:130","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":78468,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13548:6:130","memberName":"sender","nodeType":"MemberAccess","src":"13544:10:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":78466,"name":"_deactivatePoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78520,"src":"13526:17:130","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":78469,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13526:29:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78470,"nodeType":"ExpressionStatement","src":"13526:29:130"}]},"functionSelector":"1ddf1e23","implemented":true,"kind":"function","modifiers":[],"name":"deactivatePoints","nameLocation":"13490:16:130","parameters":{"id":78464,"nodeType":"ParameterList","parameters":[],"src":"13506:2:130"},"returnParameters":{"id":78465,"nodeType":"ParameterList","parameters":[],"src":"13516:0:130"},"scope":80578,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":78485,"nodeType":"FunctionDefinition","src":"13568:128:130","nodes":[],"body":{"id":78484,"nodeType":"Block","src":"13620:76:130","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":78477,"name":"onlyRegistryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78194,"src":"13630:21:130","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":78478,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13630:23:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78479,"nodeType":"ExpressionStatement","src":"13630:23:130"},{"expression":{"arguments":[{"id":78481,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78474,"src":"13681:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":78480,"name":"_deactivatePoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78520,"src":"13663:17:130","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":78482,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13663:26:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78483,"nodeType":"ExpressionStatement","src":"13663:26:130"}]},"baseFunctions":[77642],"functionSelector":"6453d9c4","implemented":true,"kind":"function","modifiers":[],"name":"deactivatePoints","nameLocation":"13577:16:130","parameters":{"id":78475,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78474,"mutability":"mutable","name":"_member","nameLocation":"13602:7:130","nodeType":"VariableDeclaration","scope":78485,"src":"13594:15:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":78473,"name":"address","nodeType":"ElementaryTypeName","src":"13594:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"13593:17:130"},"returnParameters":{"id":78476,"nodeType":"ParameterList","parameters":[],"src":"13620:0:130"},"scope":80578,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":78520,"nodeType":"FunctionDefinition","src":"13702:351:130","nodes":[],"body":{"id":78519,"nodeType":"Block","src":"13755:298:130","nodes":[],"statements":[{"expression":{"id":78499,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":78490,"name":"totalPointsActivated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77944,"src":"13765:20:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"arguments":[{"id":78493,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78487,"src":"13832:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":78496,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"13849:4:130","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$80578","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$80578","typeString":"contract CVStrategyV0_0"}],"id":78495,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13841:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":78494,"name":"address","nodeType":"ElementaryTypeName","src":"13841:7:130","typeDescriptions":{}}},"id":78497,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13841:13:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":78491,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77961,"src":"13789:17:130","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"}},"id":78492,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13807:24:130","memberName":"getMemberPowerInStrategy","nodeType":"MemberAccess","referencedDeclaration":84375,"src":"13789:42:130","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view external returns (uint256)"}},"id":78498,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13789:66:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"13765:90:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":78500,"nodeType":"ExpressionStatement","src":"13765:90:130"},{"expression":{"arguments":[{"id":78504,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78487,"src":"13910:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":78507,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"13927:4:130","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$80578","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$80578","typeString":"contract CVStrategyV0_0"}],"id":78506,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13919:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":78505,"name":"address","nodeType":"ElementaryTypeName","src":"13919:7:130","typeDescriptions":{}}},"id":78508,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13919:13:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":78501,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77961,"src":"13865:17:130","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"}},"id":78503,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13883:26:130","memberName":"deactivateMemberInStrategy","nodeType":"MemberAccess","referencedDeclaration":84052,"src":"13865:44:130","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address) external"}},"id":78509,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13865:68:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78510,"nodeType":"ExpressionStatement","src":"13865:68:130"},{"expression":{"arguments":[{"id":78512,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78487,"src":"13997:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":78511,"name":"withdraw","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79422,"src":"13988:8:130","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":78513,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13988:17:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78514,"nodeType":"ExpressionStatement","src":"13988:17:130"},{"eventCall":{"arguments":[{"id":78516,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78487,"src":"14038:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":78515,"name":"PointsDeactivated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77894,"src":"14020:17:130","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":78517,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14020:26:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78518,"nodeType":"EmitStatement","src":"14015:31:130"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_deactivatePoints","nameLocation":"13711:17:130","parameters":{"id":78488,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78487,"mutability":"mutable","name":"_member","nameLocation":"13737:7:130","nodeType":"VariableDeclaration","scope":78520,"src":"13729:15:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":78486,"name":"address","nodeType":"ElementaryTypeName","src":"13729:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"13728:17:130"},"returnParameters":{"id":78489,"nodeType":"ParameterList","parameters":[],"src":"13755:0:130"},"scope":80578,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":78613,"nodeType":"FunctionDefinition","src":"14059:1057:130","nodes":[],"body":{"id":78612,"nodeType":"Block","src":"14150:966:130","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":78529,"name":"onlyRegistryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78194,"src":"14205:21:130","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":78530,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14205:23:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78531,"nodeType":"ExpressionStatement","src":"14205:23:130"},{"condition":{"id":78535,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"14242:27:130","subExpression":{"arguments":[{"id":78533,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78522,"src":"14261:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":78532,"name":"_canExecuteAction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78240,"src":"14243:17:130","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":78534,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14243:26:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":78540,"nodeType":"IfStatement","src":"14238:90:130","trueBody":{"id":78539,"nodeType":"Block","src":"14271:57:130","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":78536,"name":"UserCannotExecuteAction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77837,"src":"14292:23:130","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":78537,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14292:25:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78538,"nodeType":"RevertStatement","src":"14285:32:130"}]}},{"assignments":[78542],"declarations":[{"constant":false,"id":78542,"mutability":"mutable","name":"pointsToIncrease","nameLocation":"14345:16:130","nodeType":"VariableDeclaration","scope":78612,"src":"14337:24:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78541,"name":"uint256","nodeType":"ElementaryTypeName","src":"14337:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":78544,"initialValue":{"hexValue":"30","id":78543,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14364:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"14337:28:130"},{"condition":{"commonType":{"typeIdentifier":"t_enum$_PointSystem_$77676","typeString":"enum StrategyStruct.PointSystem"},"id":78549,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":78545,"name":"pointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77955,"src":"14379:11:130","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$77676","typeString":"enum StrategyStruct.PointSystem"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":78546,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77752,"src":"14394:14:130","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$77752_$","typeString":"type(library StrategyStruct)"}},"id":78547,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14409:11:130","memberName":"PointSystem","nodeType":"MemberAccess","referencedDeclaration":77676,"src":"14394:26:130","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_PointSystem_$77676_$","typeString":"type(enum StrategyStruct.PointSystem)"}},"id":78548,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"14421:9:130","memberName":"Unlimited","nodeType":"MemberAccess","referencedDeclaration":77674,"src":"14394:36:130","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$77676","typeString":"enum StrategyStruct.PointSystem"}},"src":"14379:51:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_enum$_PointSystem_$77676","typeString":"enum StrategyStruct.PointSystem"},"id":78561,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":78557,"name":"pointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77955,"src":"14524:11:130","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$77676","typeString":"enum StrategyStruct.PointSystem"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":78558,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77752,"src":"14539:14:130","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$77752_$","typeString":"type(library StrategyStruct)"}},"id":78559,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14554:11:130","memberName":"PointSystem","nodeType":"MemberAccess","referencedDeclaration":77676,"src":"14539:26:130","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_PointSystem_$77676_$","typeString":"type(enum StrategyStruct.PointSystem)"}},"id":78560,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"14566:6:130","memberName":"Capped","nodeType":"MemberAccess","referencedDeclaration":77673,"src":"14539:33:130","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$77676","typeString":"enum StrategyStruct.PointSystem"}},"src":"14524:48:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_enum$_PointSystem_$77676","typeString":"enum StrategyStruct.PointSystem"},"id":78574,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":78570,"name":"pointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77955,"src":"14672:11:130","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$77676","typeString":"enum StrategyStruct.PointSystem"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":78571,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77752,"src":"14687:14:130","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$77752_$","typeString":"type(library StrategyStruct)"}},"id":78572,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14702:11:130","memberName":"PointSystem","nodeType":"MemberAccess","referencedDeclaration":77676,"src":"14687:26:130","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_PointSystem_$77676_$","typeString":"type(enum StrategyStruct.PointSystem)"}},"id":78573,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"14714:9:130","memberName":"Quadratic","nodeType":"MemberAccess","referencedDeclaration":77675,"src":"14687:36:130","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$77676","typeString":"enum StrategyStruct.PointSystem"}},"src":"14672:51:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":78583,"nodeType":"IfStatement","src":"14668:148:130","trueBody":{"id":78582,"nodeType":"Block","src":"14725:91:130","statements":[{"expression":{"id":78580,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":78575,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78542,"src":"14739:16:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":78577,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78522,"src":"14781:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":78578,"name":"_amountToStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78524,"src":"14790:14:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":78576,"name":"increasePowerQuadratic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78826,"src":"14758:22:130","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256) view returns (uint256)"}},"id":78579,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14758:47:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"14739:66:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":78581,"nodeType":"ExpressionStatement","src":"14739:66:130"}]}},"id":78584,"nodeType":"IfStatement","src":"14520:296:130","trueBody":{"id":78569,"nodeType":"Block","src":"14574:88:130","statements":[{"expression":{"id":78567,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":78562,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78542,"src":"14588:16:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":78564,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78522,"src":"14627:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":78565,"name":"_amountToStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78524,"src":"14636:14:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":78563,"name":"increasePowerCapped","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78742,"src":"14607:19:130","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256) view returns (uint256)"}},"id":78566,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14607:44:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"14588:63:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":78568,"nodeType":"ExpressionStatement","src":"14588:63:130"}]}},"id":78585,"nodeType":"IfStatement","src":"14375:441:130","trueBody":{"id":78556,"nodeType":"Block","src":"14432:82:130","statements":[{"expression":{"id":78554,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":78550,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78542,"src":"14446:16:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":78552,"name":"_amountToStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78524,"src":"14488:14:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":78551,"name":"increasePowerUnlimited","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78679,"src":"14465:22:130","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":78553,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14465:38:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"14446:57:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":78555,"nodeType":"ExpressionStatement","src":"14446:57:130"}]}},{"assignments":[78587],"declarations":[{"constant":false,"id":78587,"mutability":"mutable","name":"isActivated","nameLocation":"14830:11:130","nodeType":"VariableDeclaration","scope":78612,"src":"14825:16:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":78586,"name":"bool","nodeType":"ElementaryTypeName","src":"14825:4:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":78596,"initialValue":{"arguments":[{"id":78590,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78522,"src":"14890:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":78593,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"14907:4:130","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$80578","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$80578","typeString":"contract CVStrategyV0_0"}],"id":78592,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"14899:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":78591,"name":"address","nodeType":"ElementaryTypeName","src":"14899:7:130","typeDescriptions":{}}},"id":78594,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14899:13:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":78588,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77961,"src":"14844:17:130","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"}},"id":78589,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14862:27:130","memberName":"memberActivatedInStrategies","nodeType":"MemberAccess","referencedDeclaration":83234,"src":"14844:45:130","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_bool_$","typeString":"function (address,address) view external returns (bool)"}},"id":78595,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14844:69:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"VariableDeclarationStatement","src":"14825:88:130"},{"condition":{"id":78597,"name":"isActivated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78587,"src":"14927:11:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":78603,"nodeType":"IfStatement","src":"14923:82:130","trueBody":{"id":78602,"nodeType":"Block","src":"14940:65:130","statements":[{"expression":{"id":78600,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":78598,"name":"totalPointsActivated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77944,"src":"14954:20:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"id":78599,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78542,"src":"14978:16:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"14954:40:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":78601,"nodeType":"ExpressionStatement","src":"14954:40:130"}]}},{"eventCall":{"arguments":[{"id":78605,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78522,"src":"15034:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":78606,"name":"_amountToStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78524,"src":"15043:14:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":78607,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78542,"src":"15059:16:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":78604,"name":"PowerIncreased","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77870,"src":"15019:14:130","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (address,uint256,uint256)"}},"id":78608,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15019:57:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78609,"nodeType":"EmitStatement","src":"15014:62:130"},{"expression":{"id":78610,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78542,"src":"15093:16:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":78528,"id":78611,"nodeType":"Return","src":"15086:23:130"}]},"baseFunctions":[77651],"functionSelector":"782aadff","implemented":true,"kind":"function","modifiers":[],"name":"increasePower","nameLocation":"14068:13:130","parameters":{"id":78525,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78522,"mutability":"mutable","name":"_member","nameLocation":"14090:7:130","nodeType":"VariableDeclaration","scope":78613,"src":"14082:15:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":78521,"name":"address","nodeType":"ElementaryTypeName","src":"14082:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":78524,"mutability":"mutable","name":"_amountToStake","nameLocation":"14107:14:130","nodeType":"VariableDeclaration","scope":78613,"src":"14099:22:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78523,"name":"uint256","nodeType":"ElementaryTypeName","src":"14099:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"14081:41:130"},"returnParameters":{"id":78528,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78527,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":78613,"src":"14141:7:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78526,"name":"uint256","nodeType":"ElementaryTypeName","src":"14141:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"14140:9:130"},"scope":80578,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":78669,"nodeType":"FunctionDefinition","src":"15122:681:130","nodes":[],"body":{"id":78668,"nodeType":"Block","src":"15215:588:130","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":78622,"name":"onlyRegistryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78194,"src":"15225:21:130","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":78623,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15225:23:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78624,"nodeType":"ExpressionStatement","src":"15225:23:130"},{"assignments":[78626],"declarations":[{"constant":false,"id":78626,"mutability":"mutable","name":"pointsToDecrease","nameLocation":"15312:16:130","nodeType":"VariableDeclaration","scope":78668,"src":"15304:24:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78625,"name":"uint256","nodeType":"ElementaryTypeName","src":"15304:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":78628,"initialValue":{"hexValue":"30","id":78627,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15331:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"15304:28:130"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":78639,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_enum$_PointSystem_$77676","typeString":"enum StrategyStruct.PointSystem"},"id":78633,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":78629,"name":"pointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77955,"src":"15346:11:130","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$77676","typeString":"enum StrategyStruct.PointSystem"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":78630,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77752,"src":"15361:14:130","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$77752_$","typeString":"type(library StrategyStruct)"}},"id":78631,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15376:11:130","memberName":"PointSystem","nodeType":"MemberAccess","referencedDeclaration":77676,"src":"15361:26:130","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_PointSystem_$77676_$","typeString":"type(enum StrategyStruct.PointSystem)"}},"id":78632,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"15388:9:130","memberName":"Unlimited","nodeType":"MemberAccess","referencedDeclaration":77674,"src":"15361:36:130","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$77676","typeString":"enum StrategyStruct.PointSystem"}},"src":"15346:51:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_enum$_PointSystem_$77676","typeString":"enum StrategyStruct.PointSystem"},"id":78638,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":78634,"name":"pointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77955,"src":"15401:11:130","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$77676","typeString":"enum StrategyStruct.PointSystem"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":78635,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77752,"src":"15416:14:130","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$77752_$","typeString":"type(library StrategyStruct)"}},"id":78636,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15431:11:130","memberName":"PointSystem","nodeType":"MemberAccess","referencedDeclaration":77676,"src":"15416:26:130","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_PointSystem_$77676_$","typeString":"type(enum StrategyStruct.PointSystem)"}},"id":78637,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"15443:6:130","memberName":"Capped","nodeType":"MemberAccess","referencedDeclaration":77673,"src":"15416:33:130","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$77676","typeString":"enum StrategyStruct.PointSystem"}},"src":"15401:48:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"15346:103:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":78654,"nodeType":"Block","src":"15547:93:130","statements":[{"expression":{"id":78652,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":78647,"name":"pointsToDecrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78626,"src":"15561:16:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":78649,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78615,"src":"15603:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":78650,"name":"_amountToUnstake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78617,"src":"15612:16:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":78648,"name":"decreasePowerQuadratic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78930,"src":"15580:22:130","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256) view returns (uint256)"}},"id":78651,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15580:49:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"15561:68:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":78653,"nodeType":"ExpressionStatement","src":"15561:68:130"}]},"id":78655,"nodeType":"IfStatement","src":"15342:298:130","trueBody":{"id":78646,"nodeType":"Block","src":"15451:90:130","statements":[{"expression":{"id":78644,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":78640,"name":"pointsToDecrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78626,"src":"15465:16:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":78642,"name":"_amountToUnstake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78617,"src":"15513:16:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":78641,"name":"decreasePowerCappedUnlimited","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78836,"src":"15484:28:130","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":78643,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15484:46:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"15465:65:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":78645,"nodeType":"ExpressionStatement","src":"15465:65:130"}]}},{"expression":{"id":78658,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":78656,"name":"totalPointsActivated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77944,"src":"15649:20:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"id":78657,"name":"pointsToDecrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78626,"src":"15673:16:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"15649:40:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":78659,"nodeType":"ExpressionStatement","src":"15649:40:130"},{"eventCall":{"arguments":[{"id":78661,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78615,"src":"15719:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":78662,"name":"_amountToUnstake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78617,"src":"15728:16:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":78663,"name":"pointsToDecrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78626,"src":"15746:16:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":78660,"name":"PowerDecreased","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77878,"src":"15704:14:130","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (address,uint256,uint256)"}},"id":78664,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15704:59:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78665,"nodeType":"EmitStatement","src":"15699:64:130"},{"expression":{"id":78666,"name":"pointsToDecrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78626,"src":"15780:16:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":78621,"id":78667,"nodeType":"Return","src":"15773:23:130"}]},"baseFunctions":[77660],"functionSelector":"2ed04b2b","implemented":true,"kind":"function","modifiers":[],"name":"decreasePower","nameLocation":"15131:13:130","parameters":{"id":78618,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78615,"mutability":"mutable","name":"_member","nameLocation":"15153:7:130","nodeType":"VariableDeclaration","scope":78669,"src":"15145:15:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":78614,"name":"address","nodeType":"ElementaryTypeName","src":"15145:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":78617,"mutability":"mutable","name":"_amountToUnstake","nameLocation":"15170:16:130","nodeType":"VariableDeclaration","scope":78669,"src":"15162:24:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78616,"name":"uint256","nodeType":"ElementaryTypeName","src":"15162:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15144:43:130"},"returnParameters":{"id":78621,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78620,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":78669,"src":"15206:7:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78619,"name":"uint256","nodeType":"ElementaryTypeName","src":"15206:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15205:9:130"},"scope":80578,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":78679,"nodeType":"FunctionDefinition","src":"15809:126:130","nodes":[],"body":{"id":78678,"nodeType":"Block","src":"15897:38:130","nodes":[],"statements":[{"expression":{"id":78676,"name":"_amountToStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78671,"src":"15914:14:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":78675,"id":78677,"nodeType":"Return","src":"15907:21:130"}]},"implemented":true,"kind":"function","modifiers":[],"name":"increasePowerUnlimited","nameLocation":"15818:22:130","parameters":{"id":78672,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78671,"mutability":"mutable","name":"_amountToStake","nameLocation":"15849:14:130","nodeType":"VariableDeclaration","scope":78679,"src":"15841:22:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78670,"name":"uint256","nodeType":"ElementaryTypeName","src":"15841:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15840:24:130"},"returnParameters":{"id":78675,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78674,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":78679,"src":"15888:7:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78673,"name":"uint256","nodeType":"ElementaryTypeName","src":"15888:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15887:9:130"},"scope":80578,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":78742,"nodeType":"FunctionDefinition","src":"15941:615:130","nodes":[],"body":{"id":78741,"nodeType":"Block","src":"16043:513:130","nodes":[],"statements":[{"assignments":[78689],"declarations":[{"constant":false,"id":78689,"mutability":"mutable","name":"pointsToIncrease","nameLocation":"16061:16:130","nodeType":"VariableDeclaration","scope":78741,"src":"16053:24:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78688,"name":"uint256","nodeType":"ElementaryTypeName","src":"16053:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":78691,"initialValue":{"id":78690,"name":"_amountToStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78683,"src":"16080:14:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"16053:41:130"},{"expression":{"arguments":[{"hexValue":"504f494e545320544f20494e435245415345","id":78695,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"16116:20:130","typeDescriptions":{"typeIdentifier":"t_stringliteral_ef3d3d59430373ce7e3d099486636fe73635f3082757c009fe2ef0b043a4ebb1","typeString":"literal_string \"POINTS TO INCREASE\""},"value":"POINTS TO INCREASE"},{"id":78696,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78689,"src":"16138:16:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ef3d3d59430373ce7e3d099486636fe73635f3082757c009fe2ef0b043a4ebb1","typeString":"literal_string \"POINTS TO INCREASE\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":78692,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29549,"src":"16104:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$29549_$","typeString":"type(library console)"}},"id":78694,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16112:3:130","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":22193,"src":"16104:11:130","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":78697,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16104:51:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78698,"nodeType":"ExpressionStatement","src":"16104:51:130"},{"assignments":[78700],"declarations":[{"constant":false,"id":78700,"mutability":"mutable","name":"memberPower","nameLocation":"16173:11:130","nodeType":"VariableDeclaration","scope":78741,"src":"16165:19:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78699,"name":"uint256","nodeType":"ElementaryTypeName","src":"16165:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":78709,"initialValue":{"arguments":[{"id":78703,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78681,"src":"16230:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":78706,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"16247:4:130","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$80578","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$80578","typeString":"contract CVStrategyV0_0"}],"id":78705,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16239:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":78704,"name":"address","nodeType":"ElementaryTypeName","src":"16239:7:130","typeDescriptions":{}}},"id":78707,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16239:13:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":78701,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77961,"src":"16187:17:130","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"}},"id":78702,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16205:24:130","memberName":"getMemberPowerInStrategy","nodeType":"MemberAccess","referencedDeclaration":84375,"src":"16187:42:130","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view external returns (uint256)"}},"id":78708,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16187:66:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"16165:88:130"},{"expression":{"arguments":[{"hexValue":"4d454d424552504f574552","id":78713,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"16275:13:130","typeDescriptions":{"typeIdentifier":"t_stringliteral_d53146c44856b98b9530413c868d7a3bea9675ba78d0918c9dbfa4f905f5c3e8","typeString":"literal_string \"MEMBERPOWER\""},"value":"MEMBERPOWER"},{"id":78714,"name":"memberPower","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78700,"src":"16290:11:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_d53146c44856b98b9530413c868d7a3bea9675ba78d0918c9dbfa4f905f5c3e8","typeString":"literal_string \"MEMBERPOWER\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":78710,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29549,"src":"16263:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$29549_$","typeString":"type(library console)"}},"id":78712,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16271:3:130","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":22193,"src":"16263:11:130","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":78715,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16263:39:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78716,"nodeType":"ExpressionStatement","src":"16263:39:130"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":78722,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":78719,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":78717,"name":"memberPower","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78700,"src":"16316:11:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":78718,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78689,"src":"16330:16:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16316:30:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"expression":{"id":78720,"name":"pointConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77958,"src":"16349:11:130","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$77729_storage","typeString":"struct StrategyStruct.PointSystemConfig storage ref"}},"id":78721,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"16361:9:130","memberName":"maxAmount","nodeType":"MemberAccess","referencedDeclaration":77728,"src":"16349:21:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16316:54:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":78731,"nodeType":"IfStatement","src":"16312:139:130","trueBody":{"id":78730,"nodeType":"Block","src":"16372:79:130","statements":[{"expression":{"id":78728,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":78723,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78689,"src":"16386:16:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":78727,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":78724,"name":"pointConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77958,"src":"16405:11:130","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$77729_storage","typeString":"struct StrategyStruct.PointSystemConfig storage ref"}},"id":78725,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"16417:9:130","memberName":"maxAmount","nodeType":"MemberAccess","referencedDeclaration":77728,"src":"16405:21:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":78726,"name":"memberPower","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78700,"src":"16429:11:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16405:35:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16386:54:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":78729,"nodeType":"ExpressionStatement","src":"16386:54:130"}]}},{"expression":{"arguments":[{"hexValue":"504f494e545320544f20494e43524541534520454e44","id":78735,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"16472:24:130","typeDescriptions":{"typeIdentifier":"t_stringliteral_7339ba314bb001e1fd9993d42999dceed278cc5b138b69398be73c13fb666826","typeString":"literal_string \"POINTS TO INCREASE END\""},"value":"POINTS TO INCREASE END"},{"id":78736,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78689,"src":"16498:16:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_7339ba314bb001e1fd9993d42999dceed278cc5b138b69398be73c13fb666826","typeString":"literal_string \"POINTS TO INCREASE END\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":78732,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29549,"src":"16460:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$29549_$","typeString":"type(library console)"}},"id":78734,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16468:3:130","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":22193,"src":"16460:11:130","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":78737,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16460:55:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78738,"nodeType":"ExpressionStatement","src":"16460:55:130"},{"expression":{"id":78739,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78689,"src":"16533:16:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":78687,"id":78740,"nodeType":"Return","src":"16526:23:130"}]},"implemented":true,"kind":"function","modifiers":[],"name":"increasePowerCapped","nameLocation":"15950:19:130","parameters":{"id":78684,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78681,"mutability":"mutable","name":"_member","nameLocation":"15978:7:130","nodeType":"VariableDeclaration","scope":78742,"src":"15970:15:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":78680,"name":"address","nodeType":"ElementaryTypeName","src":"15970:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":78683,"mutability":"mutable","name":"_amountToStake","nameLocation":"15995:14:130","nodeType":"VariableDeclaration","scope":78742,"src":"15987:22:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78682,"name":"uint256","nodeType":"ElementaryTypeName","src":"15987:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15969:41:130"},"returnParameters":{"id":78687,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78686,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":78742,"src":"16034:7:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78685,"name":"uint256","nodeType":"ElementaryTypeName","src":"16034:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"16033:9:130"},"scope":80578,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":78826,"nodeType":"FunctionDefinition","src":"16562:730:130","nodes":[],"body":{"id":78825,"nodeType":"Block","src":"16667:625:130","nodes":[],"statements":[{"assignments":[78752],"declarations":[{"constant":false,"id":78752,"mutability":"mutable","name":"totalStake","nameLocation":"16685:10:130","nodeType":"VariableDeclaration","scope":78825,"src":"16677:18:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78751,"name":"uint256","nodeType":"ElementaryTypeName","src":"16677:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":78759,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":78758,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":78755,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78744,"src":"16738:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":78753,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77961,"src":"16698:17:130","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"}},"id":78754,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16716:21:130","memberName":"getMemberStakedAmount","nodeType":"MemberAccess","referencedDeclaration":84388,"src":"16698:39:130","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":78756,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16698:48:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":78757,"name":"_amountToStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78746,"src":"16749:14:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16698:65:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"16677:86:130"},{"assignments":[78761],"declarations":[{"constant":false,"id":78761,"mutability":"mutable","name":"decimal","nameLocation":"16782:7:130","nodeType":"VariableDeclaration","scope":78825,"src":"16774:15:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78760,"name":"uint256","nodeType":"ElementaryTypeName","src":"16774:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":78763,"initialValue":{"hexValue":"3138","id":78762,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16792:2:130","typeDescriptions":{"typeIdentifier":"t_rational_18_by_1","typeString":"int_const 18"},"value":"18"},"nodeType":"VariableDeclarationStatement","src":"16774:20:130"},{"clauses":[{"block":{"id":78784,"nodeType":"Block","src":"16892:52:130","statements":[{"expression":{"id":78782,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":78777,"name":"decimal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78761,"src":"16906:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":78780,"name":"_decimal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78775,"src":"16924:8:130","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint8","typeString":"uint8"}],"id":78779,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16916:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":78778,"name":"uint256","nodeType":"ElementaryTypeName","src":"16916:7:130","typeDescriptions":{}}},"id":78781,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16916:17:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16906:27:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":78783,"nodeType":"ExpressionStatement","src":"16906:27:130"}]},"errorName":"","id":78785,"nodeType":"TryCatchClause","parameters":{"id":78776,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78775,"mutability":"mutable","name":"_decimal","nameLocation":"16882:8:130","nodeType":"VariableDeclaration","scope":78785,"src":"16876:14:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":78774,"name":"uint8","nodeType":"ElementaryTypeName","src":"16876:5:130","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"16875:16:130"},"src":"16867:77:130"},{"block":{"id":78792,"nodeType":"Block","src":"16951:61:130","statements":[{"expression":{"arguments":[{"hexValue":"4572726f722067657474696e6720646563696d616c","id":78789,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"16977:23:130","typeDescriptions":{"typeIdentifier":"t_stringliteral_add5b7e354bcd4eb0c69c8b5bd8a8dca27c903f694ea26b234a6605e7f62de4d","typeString":"literal_string \"Error getting decimal\""},"value":"Error getting decimal"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_add5b7e354bcd4eb0c69c8b5bd8a8dca27c903f694ea26b234a6605e7f62de4d","typeString":"literal_string \"Error getting decimal\""}],"expression":{"id":78786,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29549,"src":"16965:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$29549_$","typeString":"type(library console)"}},"id":78788,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16973:3:130","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":22080,"src":"16965:11:130","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) view"}},"id":78790,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16965:36:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78791,"nodeType":"ExpressionStatement","src":"16965:36:130"}]},"errorName":"","id":78793,"nodeType":"TryCatchClause","src":"16945:67:130"}],"externalCall":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":78767,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77961,"src":"16822:17:130","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"}},"id":78768,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16840:11:130","memberName":"gardenToken","nodeType":"MemberAccess","referencedDeclaration":83189,"src":"16822:29:130","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_contract$_IERC20_$57069_$","typeString":"function () view external returns (contract IERC20)"}},"id":78769,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16822:31:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$57069","typeString":"contract IERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$57069","typeString":"contract IERC20"}],"id":78766,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16814:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":78765,"name":"address","nodeType":"ElementaryTypeName","src":"16814:7:130","typeDescriptions":{}}},"id":78770,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16814:40:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":78764,"name":"ERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56991,"src":"16808:5:130","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ERC20_$56991_$","typeString":"type(contract ERC20)"}},"id":78771,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16808:47:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ERC20_$56991","typeString":"contract ERC20"}},"id":78772,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16856:8:130","memberName":"decimals","nodeType":"MemberAccess","referencedDeclaration":56479,"src":"16808:56:130","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint8_$","typeString":"function () view external returns (uint8)"}},"id":78773,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16808:58:130","tryCall":true,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":78794,"nodeType":"TryStatement","src":"16804:208:130"},{"assignments":[78796],"declarations":[{"constant":false,"id":78796,"mutability":"mutable","name":"newTotalPoints","nameLocation":"17029:14:130","nodeType":"VariableDeclaration","scope":78825,"src":"17021:22:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78795,"name":"uint256","nodeType":"ElementaryTypeName","src":"17021:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":78805,"initialValue":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":78803,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":78799,"name":"totalStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78752,"src":"17056:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":78802,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":78800,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17069:2:130","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"id":78801,"name":"decimal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78761,"src":"17075:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17069:13:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17056:26:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":78797,"name":"Math","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59338,"src":"17046:4:130","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Math_$59338_$","typeString":"type(library Math)"}},"id":78798,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17051:4:130","memberName":"sqrt","nodeType":"MemberAccess","referencedDeclaration":58842,"src":"17046:9:130","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":78804,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17046:37:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"17021:62:130"},{"assignments":[78807],"declarations":[{"constant":false,"id":78807,"mutability":"mutable","name":"currentPoints","nameLocation":"17101:13:130","nodeType":"VariableDeclaration","scope":78825,"src":"17093:21:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78806,"name":"uint256","nodeType":"ElementaryTypeName","src":"17093:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":78816,"initialValue":{"arguments":[{"id":78810,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78744,"src":"17160:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":78813,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"17177:4:130","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$80578","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$80578","typeString":"contract CVStrategyV0_0"}],"id":78812,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"17169:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":78811,"name":"address","nodeType":"ElementaryTypeName","src":"17169:7:130","typeDescriptions":{}}},"id":78814,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17169:13:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":78808,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77961,"src":"17117:17:130","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"}},"id":78809,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17135:24:130","memberName":"getMemberPowerInStrategy","nodeType":"MemberAccess","referencedDeclaration":84375,"src":"17117:42:130","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view external returns (uint256)"}},"id":78815,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17117:66:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"17093:90:130"},{"assignments":[78818],"declarations":[{"constant":false,"id":78818,"mutability":"mutable","name":"pointsToIncrease","nameLocation":"17202:16:130","nodeType":"VariableDeclaration","scope":78825,"src":"17194:24:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78817,"name":"uint256","nodeType":"ElementaryTypeName","src":"17194:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":78822,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":78821,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":78819,"name":"newTotalPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78796,"src":"17221:14:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":78820,"name":"currentPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78807,"src":"17238:13:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17221:30:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"17194:57:130"},{"expression":{"id":78823,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78818,"src":"17269:16:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":78750,"id":78824,"nodeType":"Return","src":"17262:23:130"}]},"implemented":true,"kind":"function","modifiers":[],"name":"increasePowerQuadratic","nameLocation":"16571:22:130","parameters":{"id":78747,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78744,"mutability":"mutable","name":"_member","nameLocation":"16602:7:130","nodeType":"VariableDeclaration","scope":78826,"src":"16594:15:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":78743,"name":"address","nodeType":"ElementaryTypeName","src":"16594:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":78746,"mutability":"mutable","name":"_amountToStake","nameLocation":"16619:14:130","nodeType":"VariableDeclaration","scope":78826,"src":"16611:22:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78745,"name":"uint256","nodeType":"ElementaryTypeName","src":"16611:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"16593:41:130"},"returnParameters":{"id":78750,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78749,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":78826,"src":"16658:7:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78748,"name":"uint256","nodeType":"ElementaryTypeName","src":"16658:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"16657:9:130"},"scope":80578,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":78836,"nodeType":"FunctionDefinition","src":"17298:136:130","nodes":[],"body":{"id":78835,"nodeType":"Block","src":"17394:40:130","nodes":[],"statements":[{"expression":{"id":78833,"name":"_amountToUnstake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78828,"src":"17411:16:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":78832,"id":78834,"nodeType":"Return","src":"17404:23:130"}]},"implemented":true,"kind":"function","modifiers":[],"name":"decreasePowerCappedUnlimited","nameLocation":"17307:28:130","parameters":{"id":78829,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78828,"mutability":"mutable","name":"_amountToUnstake","nameLocation":"17344:16:130","nodeType":"VariableDeclaration","scope":78836,"src":"17336:24:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78827,"name":"uint256","nodeType":"ElementaryTypeName","src":"17336:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"17335:26:130"},"returnParameters":{"id":78832,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78831,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":78836,"src":"17385:7:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78830,"name":"uint256","nodeType":"ElementaryTypeName","src":"17385:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"17384:9:130"},"scope":80578,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":78930,"nodeType":"FunctionDefinition","src":"17440:802:130","nodes":[],"body":{"id":78929,"nodeType":"Block","src":"17547:695:130","nodes":[],"statements":[{"assignments":[78846],"declarations":[{"constant":false,"id":78846,"mutability":"mutable","name":"decimal","nameLocation":"17565:7:130","nodeType":"VariableDeclaration","scope":78929,"src":"17557:15:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78845,"name":"uint256","nodeType":"ElementaryTypeName","src":"17557:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":78848,"initialValue":{"hexValue":"3138","id":78847,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17575:2:130","typeDescriptions":{"typeIdentifier":"t_rational_18_by_1","typeString":"int_const 18"},"value":"18"},"nodeType":"VariableDeclarationStatement","src":"17557:20:130"},{"clauses":[{"block":{"id":78869,"nodeType":"Block","src":"17675:52:130","statements":[{"expression":{"id":78867,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":78862,"name":"decimal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78846,"src":"17689:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":78865,"name":"_decimal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78860,"src":"17707:8:130","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint8","typeString":"uint8"}],"id":78864,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"17699:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":78863,"name":"uint256","nodeType":"ElementaryTypeName","src":"17699:7:130","typeDescriptions":{}}},"id":78866,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17699:17:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17689:27:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":78868,"nodeType":"ExpressionStatement","src":"17689:27:130"}]},"errorName":"","id":78870,"nodeType":"TryCatchClause","parameters":{"id":78861,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78860,"mutability":"mutable","name":"_decimal","nameLocation":"17665:8:130","nodeType":"VariableDeclaration","scope":78870,"src":"17659:14:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":78859,"name":"uint8","nodeType":"ElementaryTypeName","src":"17659:5:130","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"17658:16:130"},"src":"17650:77:130"},{"block":{"id":78877,"nodeType":"Block","src":"17734:61:130","statements":[{"expression":{"arguments":[{"hexValue":"4572726f722067657474696e6720646563696d616c","id":78874,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"17760:23:130","typeDescriptions":{"typeIdentifier":"t_stringliteral_add5b7e354bcd4eb0c69c8b5bd8a8dca27c903f694ea26b234a6605e7f62de4d","typeString":"literal_string \"Error getting decimal\""},"value":"Error getting decimal"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_add5b7e354bcd4eb0c69c8b5bd8a8dca27c903f694ea26b234a6605e7f62de4d","typeString":"literal_string \"Error getting decimal\""}],"expression":{"id":78871,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29549,"src":"17748:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$29549_$","typeString":"type(library console)"}},"id":78873,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17756:3:130","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":22080,"src":"17748:11:130","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) view"}},"id":78875,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17748:36:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78876,"nodeType":"ExpressionStatement","src":"17748:36:130"}]},"errorName":"","id":78878,"nodeType":"TryCatchClause","src":"17728:67:130"}],"externalCall":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":78852,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77961,"src":"17605:17:130","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"}},"id":78853,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17623:11:130","memberName":"gardenToken","nodeType":"MemberAccess","referencedDeclaration":83189,"src":"17605:29:130","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_contract$_IERC20_$57069_$","typeString":"function () view external returns (contract IERC20)"}},"id":78854,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17605:31:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$57069","typeString":"contract IERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$57069","typeString":"contract IERC20"}],"id":78851,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"17597:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":78850,"name":"address","nodeType":"ElementaryTypeName","src":"17597:7:130","typeDescriptions":{}}},"id":78855,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17597:40:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":78849,"name":"ERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56991,"src":"17591:5:130","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ERC20_$56991_$","typeString":"type(contract ERC20)"}},"id":78856,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17591:47:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ERC20_$56991","typeString":"contract ERC20"}},"id":78857,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17639:8:130","memberName":"decimals","nodeType":"MemberAccess","referencedDeclaration":56479,"src":"17591:56:130","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint8_$","typeString":"function () view external returns (uint8)"}},"id":78858,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17591:58:130","tryCall":true,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":78879,"nodeType":"TryStatement","src":"17587:208:130"},{"expression":{"arguments":[{"hexValue":"5f616d6f756e74546f556e7374616b65","id":78883,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"17816:18:130","typeDescriptions":{"typeIdentifier":"t_stringliteral_dc5364d7a51b187c038e40e987076ae6dd611b7a72008e9d9acc88e3a526f2c2","typeString":"literal_string \"_amountToUnstake\""},"value":"_amountToUnstake"},{"id":78884,"name":"_amountToUnstake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78840,"src":"17836:16:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_dc5364d7a51b187c038e40e987076ae6dd611b7a72008e9d9acc88e3a526f2c2","typeString":"literal_string \"_amountToUnstake\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":78880,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29549,"src":"17804:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$29549_$","typeString":"type(library console)"}},"id":78882,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17812:3:130","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":22193,"src":"17804:11:130","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":78885,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17804:49:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78886,"nodeType":"ExpressionStatement","src":"17804:49:130"},{"assignments":[78888],"declarations":[{"constant":false,"id":78888,"mutability":"mutable","name":"newTotalStake","nameLocation":"17871:13:130","nodeType":"VariableDeclaration","scope":78929,"src":"17863:21:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78887,"name":"uint256","nodeType":"ElementaryTypeName","src":"17863:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":78895,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":78894,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":78891,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78838,"src":"17927:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":78889,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77961,"src":"17887:17:130","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"}},"id":78890,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17905:21:130","memberName":"getMemberStakedAmount","nodeType":"MemberAccess","referencedDeclaration":84388,"src":"17887:39:130","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":78892,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17887:48:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":78893,"name":"_amountToUnstake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78840,"src":"17938:16:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17887:67:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"17863:91:130"},{"expression":{"arguments":[{"hexValue":"6e6577546f74616c5374616b65","id":78899,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"17976:15:130","typeDescriptions":{"typeIdentifier":"t_stringliteral_e1d5e8d6d05577c9c30b6029c3158dfad77d5a239a04e4529b5b98f0ce2f7a79","typeString":"literal_string \"newTotalStake\""},"value":"newTotalStake"},{"id":78900,"name":"newTotalStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78888,"src":"17993:13:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e1d5e8d6d05577c9c30b6029c3158dfad77d5a239a04e4529b5b98f0ce2f7a79","typeString":"literal_string \"newTotalStake\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":78896,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29549,"src":"17964:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$29549_$","typeString":"type(library console)"}},"id":78898,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17972:3:130","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":22193,"src":"17964:11:130","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":78901,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17964:43:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78902,"nodeType":"ExpressionStatement","src":"17964:43:130"},{"assignments":[78904],"declarations":[{"constant":false,"id":78904,"mutability":"mutable","name":"newTotalPoints","nameLocation":"18025:14:130","nodeType":"VariableDeclaration","scope":78929,"src":"18017:22:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78903,"name":"uint256","nodeType":"ElementaryTypeName","src":"18017:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":78913,"initialValue":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":78911,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":78907,"name":"newTotalStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78888,"src":"18052:13:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":78910,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":78908,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18068:2:130","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"id":78909,"name":"decimal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78846,"src":"18074:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"18068:13:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"18052:29:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":78905,"name":"Math","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59338,"src":"18042:4:130","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Math_$59338_$","typeString":"type(library Math)"}},"id":78906,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18047:4:130","memberName":"sqrt","nodeType":"MemberAccess","referencedDeclaration":58842,"src":"18042:9:130","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":78912,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18042:40:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"18017:65:130"},{"assignments":[78915],"declarations":[{"constant":false,"id":78915,"mutability":"mutable","name":"pointsToDecrease","nameLocation":"18100:16:130","nodeType":"VariableDeclaration","scope":78929,"src":"18092:24:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78914,"name":"uint256","nodeType":"ElementaryTypeName","src":"18092:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":78926,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":78925,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":78918,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78838,"src":"18162:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":78921,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"18179:4:130","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$80578","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$80578","typeString":"contract CVStrategyV0_0"}],"id":78920,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"18171:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":78919,"name":"address","nodeType":"ElementaryTypeName","src":"18171:7:130","typeDescriptions":{}}},"id":78922,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18171:13:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":78916,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77961,"src":"18119:17:130","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"}},"id":78917,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18137:24:130","memberName":"getMemberPowerInStrategy","nodeType":"MemberAccess","referencedDeclaration":84375,"src":"18119:42:130","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view external returns (uint256)"}},"id":78923,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18119:66:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":78924,"name":"newTotalPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78904,"src":"18188:14:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"18119:83:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"18092:110:130"},{"expression":{"id":78927,"name":"pointsToDecrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78915,"src":"18219:16:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":78844,"id":78928,"nodeType":"Return","src":"18212:23:130"}]},"implemented":true,"kind":"function","modifiers":[],"name":"decreasePowerQuadratic","nameLocation":"17449:22:130","parameters":{"id":78841,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78838,"mutability":"mutable","name":"_member","nameLocation":"17480:7:130","nodeType":"VariableDeclaration","scope":78930,"src":"17472:15:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":78837,"name":"address","nodeType":"ElementaryTypeName","src":"17472:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":78840,"mutability":"mutable","name":"_amountToUnstake","nameLocation":"17497:16:130","nodeType":"VariableDeclaration","scope":78930,"src":"17489:24:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78839,"name":"uint256","nodeType":"ElementaryTypeName","src":"17489:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"17471:43:130"},"returnParameters":{"id":78844,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78843,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":78930,"src":"17538:7:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78842,"name":"uint256","nodeType":"ElementaryTypeName","src":"17538:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"17537:9:130"},"scope":80578,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":78939,"nodeType":"FunctionDefinition","src":"18248:99:130","nodes":[],"body":{"id":78938,"nodeType":"Block","src":"18302:45:130","nodes":[],"statements":[{"expression":{"expression":{"id":78935,"name":"pointConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77958,"src":"18319:11:130","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$77729_storage","typeString":"struct StrategyStruct.PointSystemConfig storage ref"}},"id":78936,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"18331:9:130","memberName":"maxAmount","nodeType":"MemberAccess","referencedDeclaration":77728,"src":"18319:21:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":78934,"id":78937,"nodeType":"Return","src":"18312:28:130"}]},"functionSelector":"0ba95909","implemented":true,"kind":"function","modifiers":[],"name":"getMaxAmount","nameLocation":"18257:12:130","parameters":{"id":78931,"nodeType":"ParameterList","parameters":[],"src":"18269:2:130"},"returnParameters":{"id":78934,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78933,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":78939,"src":"18293:7:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78932,"name":"uint256","nodeType":"ElementaryTypeName","src":"18293:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"18292:9:130"},"scope":80578,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":78948,"nodeType":"FunctionDefinition","src":"18353:110:130","nodes":[],"body":{"id":78947,"nodeType":"Block","src":"18428:35:130","nodes":[],"statements":[{"expression":{"id":78945,"name":"pointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77955,"src":"18445:11:130","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$77676","typeString":"enum StrategyStruct.PointSystem"}},"functionReturnParameters":78944,"id":78946,"nodeType":"Return","src":"18438:18:130"}]},"baseFunctions":[77666],"functionSelector":"c3292171","implemented":true,"kind":"function","modifiers":[],"name":"getPointSystem","nameLocation":"18362:14:130","parameters":{"id":78940,"nodeType":"ParameterList","parameters":[],"src":"18376:2:130"},"returnParameters":{"id":78944,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78943,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":78948,"src":"18400:26:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$77676","typeString":"enum StrategyStruct.PointSystem"},"typeName":{"id":78942,"nodeType":"UserDefinedTypeName","pathNode":{"id":78941,"name":"StrategyStruct.PointSystem","nameLocations":["18400:14:130","18415:11:130"],"nodeType":"IdentifierPath","referencedDeclaration":77676,"src":"18400:26:130"},"referencedDeclaration":77676,"src":"18400:26:130","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$77676","typeString":"enum StrategyStruct.PointSystem"}},"visibility":"internal"}],"src":"18399:28:130"},"scope":80578,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":78959,"nodeType":"FunctionDefinition","src":"18579:226:130","nodes":[],"body":{"id":78958,"nodeType":"Block","src":"18657:148:130","nodes":[],"statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":78955,"name":"NotImplemented","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77773,"src":"18722:14:130","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":78956,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18722:16:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78957,"nodeType":"RevertStatement","src":"18715:23:130"}]},"functionSelector":"e33add93","implemented":true,"kind":"function","modifiers":[],"name":"supportProposal","nameLocation":"18588:15:130","parameters":{"id":78953,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78952,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":78959,"src":"18604:39:130","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$77726_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport[]"},"typeName":{"baseType":{"id":78950,"nodeType":"UserDefinedTypeName","pathNode":{"id":78949,"name":"StrategyStruct.ProposalSupport","nameLocations":["18604:14:130","18619:15:130"],"nodeType":"IdentifierPath","referencedDeclaration":77726,"src":"18604:30:130"},"referencedDeclaration":77726,"src":"18604:30:130","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$77726_storage_ptr","typeString":"struct StrategyStruct.ProposalSupport"}},"id":78951,"nodeType":"ArrayTypeName","src":"18604:32:130","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$77726_storage_$dyn_storage_ptr","typeString":"struct StrategyStruct.ProposalSupport[]"}},"visibility":"internal"}],"src":"18603:41:130"},"returnParameters":{"id":78954,"nodeType":"ParameterList","parameters":[],"src":"18657:0:130"},"scope":80578,"stateMutability":"pure","virtual":false,"visibility":"public"},{"id":79024,"nodeType":"FunctionDefinition","src":"18951:650:130","nodes":[],"body":{"id":79023,"nodeType":"Block","src":"19025:576:130","nodes":[],"statements":[{"expression":{"arguments":[{"id":78968,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78963,"src":"19055:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":78967,"name":"checkSenderIsMember","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78178,"src":"19035:19:130","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$__$","typeString":"function (address) view"}},"id":78969,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19035:28:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78970,"nodeType":"ExpressionStatement","src":"19035:28:130"},{"condition":{"id":78974,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"19077:27:130","subExpression":{"arguments":[{"id":78972,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78963,"src":"19096:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":78971,"name":"_canExecuteAction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78240,"src":"19078:17:130","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":78973,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19078:26:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":78979,"nodeType":"IfStatement","src":"19073:90:130","trueBody":{"id":78978,"nodeType":"Block","src":"19106:57:130","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":78975,"name":"UserCannotExecuteAction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77837,"src":"19127:23:130","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":78976,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19127:25:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78977,"nodeType":"RevertStatement","src":"19120:32:130"}]}},{"assignments":[78981],"declarations":[{"constant":false,"id":78981,"mutability":"mutable","name":"isMemberActivatedPoints","nameLocation":"19223:23:130","nodeType":"VariableDeclaration","scope":79023,"src":"19218:28:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":78980,"name":"bool","nodeType":"ElementaryTypeName","src":"19218:4:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":78990,"initialValue":{"arguments":[{"id":78984,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78963,"src":"19295:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":78987,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"19312:4:130","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$80578","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$80578","typeString":"contract CVStrategyV0_0"}],"id":78986,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"19304:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":78985,"name":"address","nodeType":"ElementaryTypeName","src":"19304:7:130","typeDescriptions":{}}},"id":78988,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19304:13:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":78982,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77961,"src":"19249:17:130","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"}},"id":78983,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19267:27:130","memberName":"memberActivatedInStrategies","nodeType":"MemberAccess","referencedDeclaration":83234,"src":"19249:45:130","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_bool_$","typeString":"function (address,address) view external returns (bool)"}},"id":78989,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19249:69:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"VariableDeclarationStatement","src":"19218:100:130"},{"condition":{"id":78992,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"19332:24:130","subExpression":{"id":78991,"name":"isMemberActivatedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78981,"src":"19333:23:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":78997,"nodeType":"IfStatement","src":"19328:78:130","trueBody":{"id":78996,"nodeType":"Block","src":"19358:48:130","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":78993,"name":"UserIsInactive","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77769,"src":"19379:14:130","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":78994,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19379:16:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78995,"nodeType":"RevertStatement","src":"19372:23:130"}]}},{"assignments":[79003],"declarations":[{"constant":false,"id":79003,"mutability":"mutable","name":"pv","nameLocation":"19455:2:130","nodeType":"VariableDeclaration","scope":79023,"src":"19415:42:130","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$77726_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport[]"},"typeName":{"baseType":{"id":79001,"nodeType":"UserDefinedTypeName","pathNode":{"id":79000,"name":"StrategyStruct.ProposalSupport","nameLocations":["19415:14:130","19430:15:130"],"nodeType":"IdentifierPath","referencedDeclaration":77726,"src":"19415:30:130"},"referencedDeclaration":77726,"src":"19415:30:130","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$77726_storage_ptr","typeString":"struct StrategyStruct.ProposalSupport"}},"id":79002,"nodeType":"ArrayTypeName","src":"19415:32:130","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$77726_storage_$dyn_storage_ptr","typeString":"struct StrategyStruct.ProposalSupport[]"}},"visibility":"internal"}],"id":79012,"initialValue":{"arguments":[{"id":79006,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78961,"src":"19471:5:130","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"baseExpression":{"expression":{"id":79007,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77752,"src":"19479:14:130","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$77752_$","typeString":"type(library StrategyStruct)"}},"id":79008,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19494:15:130","memberName":"ProposalSupport","nodeType":"MemberAccess","referencedDeclaration":77726,"src":"19479:30:130","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ProposalSupport_$77726_storage_ptr_$","typeString":"type(struct StrategyStruct.ProposalSupport storage pointer)"}},"id":79009,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"19479:32:130","typeDescriptions":{"typeIdentifier":"t_type$_t_array$_t_struct$_ProposalSupport_$77726_memory_ptr_$dyn_memory_ptr_$","typeString":"type(struct StrategyStruct.ProposalSupport memory[] memory)"}}],"id":79010,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"19478:34:130","typeDescriptions":{"typeIdentifier":"t_type$_t_array$_t_struct$_ProposalSupport_$77726_memory_ptr_$dyn_memory_ptr_$","typeString":"type(struct StrategyStruct.ProposalSupport memory[] memory)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_array$_t_struct$_ProposalSupport_$77726_memory_ptr_$dyn_memory_ptr_$","typeString":"type(struct StrategyStruct.ProposalSupport memory[] memory)"}],"expression":{"id":79004,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"19460:3:130","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":79005,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"19464:6:130","memberName":"decode","nodeType":"MemberAccess","src":"19460:10:130","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":79011,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19460:53:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$77726_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"19415:98:130"},{"expression":{"arguments":[{"id":79014,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78963,"src":"19548:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":79015,"name":"pv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79003,"src":"19557:2:130","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$77726_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$77726_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}],"id":79013,"name":"_check_before_addSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79724,"src":"19523:24:130","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_array$_t_struct$_ProposalSupport_$77726_memory_ptr_$dyn_memory_ptr_$returns$__$","typeString":"function (address,struct StrategyStruct.ProposalSupport memory[] memory)"}},"id":79016,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19523:37:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":79017,"nodeType":"ExpressionStatement","src":"19523:37:130"},{"expression":{"arguments":[{"id":79019,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78963,"src":"19582:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":79020,"name":"pv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79003,"src":"19591:2:130","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$77726_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$77726_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}],"id":79018,"name":"_addSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80011,"src":"19570:11:130","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_array$_t_struct$_ProposalSupport_$77726_memory_ptr_$dyn_memory_ptr_$returns$__$","typeString":"function (address,struct StrategyStruct.ProposalSupport memory[] memory)"}},"id":79021,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19570:24:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":79022,"nodeType":"ExpressionStatement","src":"19570:24:130"}]},"baseFunctions":[74566],"implemented":true,"kind":"function","modifiers":[],"name":"_allocate","nameLocation":"18960:9:130","overrides":{"id":78965,"nodeType":"OverrideSpecifier","overrides":[],"src":"19016:8:130"},"parameters":{"id":78964,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78961,"mutability":"mutable","name":"_data","nameLocation":"18983:5:130","nodeType":"VariableDeclaration","scope":79024,"src":"18970:18:130","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":78960,"name":"bytes","nodeType":"ElementaryTypeName","src":"18970:5:130","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":78963,"mutability":"mutable","name":"_sender","nameLocation":"18998:7:130","nodeType":"VariableDeclaration","scope":79024,"src":"18990:15:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":78962,"name":"address","nodeType":"ElementaryTypeName","src":"18990:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"18969:37:130"},"returnParameters":{"id":78966,"nodeType":"ParameterList","parameters":[],"src":"19025:0:130"},"scope":80578,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":79180,"nodeType":"FunctionDefinition","src":"19857:1756:130","nodes":[],"body":{"id":79179,"nodeType":"Block","src":"19943:1670:130","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79038,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":79035,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79029,"src":"20036:5:130","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":79036,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20042:6:130","memberName":"length","nodeType":"MemberAccess","src":"20036:12:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"hexValue":"30","id":79037,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20052:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"20036:17:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":79043,"nodeType":"IfStatement","src":"20032:76:130","trueBody":{"id":79042,"nodeType":"Block","src":"20055:53:130","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":79039,"name":"ProposalDataIsEmpty","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77805,"src":"20076:19:130","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":79040,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20076:21:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":79041,"nodeType":"RevertStatement","src":"20069:28:130"}]}},{"assignments":[79045],"declarations":[{"constant":false,"id":79045,"mutability":"mutable","name":"proposalId","nameLocation":"20126:10:130","nodeType":"VariableDeclaration","scope":79179,"src":"20118:18:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79044,"name":"uint256","nodeType":"ElementaryTypeName","src":"20118:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":79053,"initialValue":{"arguments":[{"id":79048,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79029,"src":"20150:5:130","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":79050,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"20158:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":79049,"name":"uint256","nodeType":"ElementaryTypeName","src":"20158:7:130","typeDescriptions":{}}}],"id":79051,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"20157:9:130","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}],"expression":{"id":79046,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"20139:3:130","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":79047,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"20143:6:130","memberName":"decode","nodeType":"MemberAccess","src":"20139:10:130","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":79052,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20139:28:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"20118:49:130"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79056,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":79054,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79045,"src":"20182:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":79055,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20196:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"20182:15:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":79061,"nodeType":"IfStatement","src":"20178:77:130","trueBody":{"id":79060,"nodeType":"Block","src":"20199:56:130","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":79057,"name":"ProposalIdCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77807,"src":"20220:22:130","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":79058,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20220:24:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":79059,"nodeType":"RevertStatement","src":"20213:31:130"}]}},{"assignments":[79066],"declarations":[{"constant":false,"id":79066,"mutability":"mutable","name":"proposal","nameLocation":"20296:8:130","nodeType":"VariableDeclaration","scope":79179,"src":"20264:40:130","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":79065,"nodeType":"UserDefinedTypeName","pathNode":{"id":79064,"name":"StrategyStruct.Proposal","nameLocations":["20264:14:130","20279:8:130"],"nodeType":"IdentifierPath","referencedDeclaration":77721,"src":"20264:23:130"},"referencedDeclaration":77721,"src":"20264:23:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":79070,"initialValue":{"baseExpression":{"id":79067,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77969,"src":"20307:9:130","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$77721_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":79069,"indexExpression":{"id":79068,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79045,"src":"20317:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"20307:21:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"20264:64:130"},{"condition":{"commonType":{"typeIdentifier":"t_enum$_ProposalType_$77671","typeString":"enum StrategyStruct.ProposalType"},"id":79075,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":79071,"name":"proposalType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77952,"src":"20343:12:130","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$77671","typeString":"enum StrategyStruct.ProposalType"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":79072,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77752,"src":"20359:14:130","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$77752_$","typeString":"type(library StrategyStruct)"}},"id":79073,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20374:12:130","memberName":"ProposalType","nodeType":"MemberAccess","referencedDeclaration":77671,"src":"20359:27:130","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalType_$77671_$","typeString":"type(enum StrategyStruct.ProposalType)"}},"id":79074,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"20387:7:130","memberName":"Funding","nodeType":"MemberAccess","referencedDeclaration":77669,"src":"20359:35:130","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$77671","typeString":"enum StrategyStruct.ProposalType"}},"src":"20343:51:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":79178,"nodeType":"IfStatement","src":"20339:1208:130","trueBody":{"id":79177,"nodeType":"Block","src":"20396:1151:130","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79079,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":79076,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79066,"src":"20414:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79077,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"20423:10:130","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":77696,"src":"20414:19:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":79078,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79045,"src":"20437:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20414:33:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":79085,"nodeType":"IfStatement","src":"20410:108:130","trueBody":{"id":79084,"nodeType":"Block","src":"20449:69:130","statements":[{"errorCall":{"arguments":[{"id":79081,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79045,"src":"20492:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":79080,"name":"ProposalNotInList","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77815,"src":"20474:17:130","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":79082,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20474:29:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":79083,"nodeType":"RevertStatement","src":"20467:36:130"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79089,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":79086,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79066,"src":"20536:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79087,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"20545:15:130","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":77698,"src":"20536:24:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":79088,"name":"poolAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74092,"src":"20563:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20536:37:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":79098,"nodeType":"IfStatement","src":"20532:152:130","trueBody":{"id":79097,"nodeType":"Block","src":"20575:109:130","statements":[{"errorCall":{"arguments":[{"id":79091,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79045,"src":"20620:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":79092,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79066,"src":"20632:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79093,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"20641:15:130","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":77698,"src":"20632:24:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":79094,"name":"poolAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74092,"src":"20658:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":79090,"name":"PoolAmountNotEnough","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77833,"src":"20600:19:130","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256,uint256) pure"}},"id":79095,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20600:69:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":79096,"nodeType":"RevertStatement","src":"20593:76:130"}]}},{"condition":{"commonType":{"typeIdentifier":"t_enum$_ProposalStatus_$77694","typeString":"enum StrategyStruct.ProposalStatus"},"id":79104,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":79099,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79066,"src":"20702:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79100,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"20711:14:130","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":77713,"src":"20702:23:130","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$77694","typeString":"enum StrategyStruct.ProposalStatus"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"expression":{"id":79101,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77752,"src":"20729:14:130","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$77752_$","typeString":"type(library StrategyStruct)"}},"id":79102,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20744:14:130","memberName":"ProposalStatus","nodeType":"MemberAccess","referencedDeclaration":77694,"src":"20729:29:130","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$77694_$","typeString":"type(enum StrategyStruct.ProposalStatus)"}},"id":79103,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"20759:6:130","memberName":"Active","nodeType":"MemberAccess","referencedDeclaration":77690,"src":"20729:36:130","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$77694","typeString":"enum StrategyStruct.ProposalStatus"}},"src":"20702:63:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":79110,"nodeType":"IfStatement","src":"20698:138:130","trueBody":{"id":79109,"nodeType":"Block","src":"20767:69:130","statements":[{"errorCall":{"arguments":[{"id":79106,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79045,"src":"20810:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":79105,"name":"ProposalNotActive","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77811,"src":"20792:17:130","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":79107,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20792:29:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":79108,"nodeType":"RevertStatement","src":"20785:36:130"}]}},{"assignments":[79112],"declarations":[{"constant":false,"id":79112,"mutability":"mutable","name":"convictionLast","nameLocation":"20858:14:130","nodeType":"VariableDeclaration","scope":79177,"src":"20850:22:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79111,"name":"uint256","nodeType":"ElementaryTypeName","src":"20850:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":79116,"initialValue":{"arguments":[{"id":79114,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79045,"src":"20900:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":79113,"name":"updateProposalConviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80434,"src":"20875:24:130","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) returns (uint256)"}},"id":79115,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20875:36:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"20850:61:130"},{"assignments":[79118],"declarations":[{"constant":false,"id":79118,"mutability":"mutable","name":"threshold","nameLocation":"20933:9:130","nodeType":"VariableDeclaration","scope":79177,"src":"20925:17:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79117,"name":"uint256","nodeType":"ElementaryTypeName","src":"20925:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":79123,"initialValue":{"arguments":[{"expression":{"id":79120,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79066,"src":"20964:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79121,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"20973:15:130","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":77698,"src":"20964:24:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":79119,"name":"calculateThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80190,"src":"20945:18:130","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":79122,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20945:44:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"20925:64:130"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":79131,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79126,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":79124,"name":"convictionLast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79112,"src":"21008:14:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":79125,"name":"threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79118,"src":"21025:9:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"21008:26:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79130,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":79127,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79066,"src":"21038:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79128,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"21047:15:130","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":77698,"src":"21038:24:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":79129,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21065:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"21038:28:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"21008:58:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":79136,"nodeType":"IfStatement","src":"21004:137:130","trueBody":{"id":79135,"nodeType":"Block","src":"21068:73:130","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":79132,"name":"ConvictionUnderMinimumThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77823,"src":"21093:31:130","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":79133,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21093:33:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":79134,"nodeType":"RevertStatement","src":"21086:40:130"}]}},{"assignments":[79141],"declarations":[{"constant":false,"id":79141,"mutability":"mutable","name":"pool","nameLocation":"21173:4:130","nodeType":"VariableDeclaration","scope":79177,"src":"21155:22:130","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool"},"typeName":{"id":79140,"nodeType":"UserDefinedTypeName","pathNode":{"id":79139,"name":"IAllo.Pool","nameLocations":["21155:5:130","21161:4:130"],"nodeType":"IdentifierPath","referencedDeclaration":2319,"src":"21155:10:130"},"referencedDeclaration":2319,"src":"21155:10:130","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool"}},"visibility":"internal"}],"id":79146,"initialValue":{"arguments":[{"id":79144,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74090,"src":"21193:6:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":79142,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74084,"src":"21180:4:130","typeDescriptions":{"typeIdentifier":"t_contract$_IAllo_$2610","typeString":"contract IAllo"}},"id":79143,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21185:7:130","memberName":"getPool","nodeType":"MemberAccess","referencedDeclaration":2603,"src":"21180:12:130","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_struct$_Pool_$2319_memory_ptr_$","typeString":"function (uint256) view external returns (struct IAllo.Pool memory)"}},"id":79145,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21180:20:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"nodeType":"VariableDeclarationStatement","src":"21155:45:130"},{"expression":{"id":79150,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":79147,"name":"poolAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74092,"src":"21215:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"expression":{"id":79148,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79066,"src":"21229:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79149,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"21238:15:130","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":77698,"src":"21229:24:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"21215:38:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79151,"nodeType":"ExpressionStatement","src":"21215:38:130"},{"expression":{"arguments":[{"expression":{"id":79153,"name":"pool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79141,"src":"21291:4:130","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"id":79154,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"21296:5:130","memberName":"token","nodeType":"MemberAccess","referencedDeclaration":2311,"src":"21291:10:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":79155,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79066,"src":"21303:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79156,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"21312:11:130","memberName":"beneficiary","nodeType":"MemberAccess","referencedDeclaration":77704,"src":"21303:20:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":79157,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79066,"src":"21325:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79158,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"21334:15:130","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":77698,"src":"21325:24:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":79152,"name":"_transferAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3287,"src":"21275:15:130","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":79159,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21275:75:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":79160,"nodeType":"ExpressionStatement","src":"21275:75:130"},{"expression":{"id":79167,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":79161,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79066,"src":"21381:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79163,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"21390:14:130","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":77713,"src":"21381:23:130","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$77694","typeString":"enum StrategyStruct.ProposalStatus"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"expression":{"id":79164,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77752,"src":"21407:14:130","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$77752_$","typeString":"type(library StrategyStruct)"}},"id":79165,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21422:14:130","memberName":"ProposalStatus","nodeType":"MemberAccess","referencedDeclaration":77694,"src":"21407:29:130","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$77694_$","typeString":"type(enum StrategyStruct.ProposalStatus)"}},"id":79166,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"21437:8:130","memberName":"Executed","nodeType":"MemberAccess","referencedDeclaration":77693,"src":"21407:38:130","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$77694","typeString":"enum StrategyStruct.ProposalStatus"}},"src":"21381:64:130","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$77694","typeString":"enum StrategyStruct.ProposalStatus"}},"id":79168,"nodeType":"ExpressionStatement","src":"21381:64:130"},{"eventCall":{"arguments":[{"id":79170,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79045,"src":"21477:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":79171,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79066,"src":"21489:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79172,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"21498:11:130","memberName":"beneficiary","nodeType":"MemberAccess","referencedDeclaration":77704,"src":"21489:20:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":79173,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79066,"src":"21511:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79174,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"21520:15:130","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":77698,"src":"21511:24:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":79169,"name":"Distributed","nodeType":"Identifier","overloadedDeclarations":[77852,2858],"referencedDeclaration":77852,"src":"21465:11:130","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_address_$_t_uint256_$returns$__$","typeString":"function (uint256,address,uint256)"}},"id":79175,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21465:71:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":79176,"nodeType":"EmitStatement","src":"21460:76:130"}]}}]},"baseFunctions":[74577],"implemented":true,"kind":"function","modifiers":[],"name":"_distribute","nameLocation":"19866:11:130","overrides":{"id":79033,"nodeType":"OverrideSpecifier","overrides":[],"src":"19934:8:130"},"parameters":{"id":79032,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79027,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":79180,"src":"19878:16:130","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":79025,"name":"address","nodeType":"ElementaryTypeName","src":"19878:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":79026,"nodeType":"ArrayTypeName","src":"19878:9:130","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":79029,"mutability":"mutable","name":"_data","nameLocation":"19909:5:130","nodeType":"VariableDeclaration","scope":79180,"src":"19896:18:130","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":79028,"name":"bytes","nodeType":"ElementaryTypeName","src":"19896:5:130","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":79031,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":79180,"src":"19916:7:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":79030,"name":"address","nodeType":"ElementaryTypeName","src":"19916:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"19877:47:130"},"returnParameters":{"id":79034,"nodeType":"ParameterList","parameters":[],"src":"19943:0:130"},"scope":80578,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":79234,"nodeType":"FunctionDefinition","src":"21619:735:130","nodes":[],"body":{"id":79233,"nodeType":"Block","src":"21708:646:130","nodes":[],"statements":[{"assignments":[79191],"declarations":[{"constant":false,"id":79191,"mutability":"mutable","name":"proposal","nameLocation":"21750:8:130","nodeType":"VariableDeclaration","scope":79233,"src":"21718:40:130","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":79190,"nodeType":"UserDefinedTypeName","pathNode":{"id":79189,"name":"StrategyStruct.Proposal","nameLocations":["21718:14:130","21733:8:130"],"nodeType":"IdentifierPath","referencedDeclaration":77721,"src":"21718:23:130"},"referencedDeclaration":77721,"src":"21718:23:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":79195,"initialValue":{"baseExpression":{"id":79192,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77969,"src":"21761:9:130","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$77721_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":79194,"indexExpression":{"id":79193,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79182,"src":"21771:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"21761:21:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"21718:64:130"},{"assignments":[79197,79199],"declarations":[{"constant":false,"id":79197,"mutability":"mutable","name":"convictionLast","nameLocation":"21876:14:130","nodeType":"VariableDeclaration","scope":79233,"src":"21868:22:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79196,"name":"uint256","nodeType":"ElementaryTypeName","src":"21868:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":79199,"mutability":"mutable","name":"blockNumber","nameLocation":"21900:11:130","nodeType":"VariableDeclaration","scope":79233,"src":"21892:19:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79198,"name":"uint256","nodeType":"ElementaryTypeName","src":"21892:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":79205,"initialValue":{"arguments":[{"id":79201,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79191,"src":"21961:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},{"expression":{"id":79202,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79191,"src":"21971:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79203,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"21980:12:130","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":77700,"src":"21971:21:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":79200,"name":"_checkBlockAndCalculateConviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80386,"src":"21927:33:130","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Proposal_$77721_storage_ptr_$_t_uint256_$returns$_t_uint256_$_t_uint256_$","typeString":"function (struct StrategyStruct.Proposal storage pointer,uint256) view returns (uint256,uint256)"}},"id":79204,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21927:66:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_uint256_$","typeString":"tuple(uint256,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"21867:126:130"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":79212,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79208,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":79206,"name":"convictionLast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79197,"src":"22008:14:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":79207,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22026:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"22008:19:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79211,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":79209,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79199,"src":"22031:11:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":79210,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22046:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"22031:16:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"22008:39:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":79219,"nodeType":"IfStatement","src":"22004:110:130","trueBody":{"id":79218,"nodeType":"Block","src":"22049:65:130","statements":[{"expression":{"id":79216,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":79213,"name":"convictionLast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79197,"src":"22063:14:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":79214,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79191,"src":"22080:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79215,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"22089:14:130","memberName":"convictionLast","nodeType":"MemberAccess","referencedDeclaration":77702,"src":"22080:23:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"22063:40:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79217,"nodeType":"ExpressionStatement","src":"22063:40:130"}]}},{"assignments":[79221],"declarations":[{"constant":false,"id":79221,"mutability":"mutable","name":"threshold","nameLocation":"22131:9:130","nodeType":"VariableDeclaration","scope":79233,"src":"22123:17:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79220,"name":"uint256","nodeType":"ElementaryTypeName","src":"22123:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":79226,"initialValue":{"arguments":[{"expression":{"id":79223,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79191,"src":"22162:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79224,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"22171:15:130","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":77698,"src":"22162:24:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":79222,"name":"calculateThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80190,"src":"22143:18:130","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":79225,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22143:44:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"22123:64:130"},{"expression":{"id":79231,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":79227,"name":"canBeExecuted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79185,"src":"22304:13:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79230,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":79228,"name":"convictionLast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79197,"src":"22320:14:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":79229,"name":"threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79221,"src":"22338:9:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"22320:27:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"22304:43:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":79232,"nodeType":"ExpressionStatement","src":"22304:43:130"}]},"functionSelector":"824ea8ed","implemented":true,"kind":"function","modifiers":[],"name":"canExecuteProposal","nameLocation":"21628:18:130","parameters":{"id":79183,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79182,"mutability":"mutable","name":"proposalId","nameLocation":"21655:10:130","nodeType":"VariableDeclaration","scope":79234,"src":"21647:18:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79181,"name":"uint256","nodeType":"ElementaryTypeName","src":"21647:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"21646:20:130"},"returnParameters":{"id":79186,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79185,"mutability":"mutable","name":"canBeExecuted","nameLocation":"21693:13:130","nodeType":"VariableDeclaration","scope":79234,"src":"21688:18:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":79184,"name":"bool","nodeType":"ElementaryTypeName","src":"21688:4:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"21687:20:130"},"scope":80578,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":79256,"nodeType":"FunctionDefinition","src":"22644:220:130","nodes":[],"body":{"id":79255,"nodeType":"Block","src":"22735:129:130","nodes":[],"statements":[{"expression":{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":79248,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":79243,"name":"_recipientId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79236,"src":"22795:12:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":79246,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22819:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":79245,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"22811:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":79244,"name":"address","nodeType":"ElementaryTypeName","src":"22811:7:130","typeDescriptions":{}}},"id":79247,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22811:10:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"22795:26:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"expression":{"id":79251,"name":"Status","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2815,"src":"22842:6:130","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_Status_$2815_$","typeString":"type(enum IStrategy.Status)"}},"id":79252,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"22849:8:130","memberName":"Accepted","nodeType":"MemberAccess","referencedDeclaration":2810,"src":"22842:15:130","typeDescriptions":{"typeIdentifier":"t_enum$_Status_$2815","typeString":"enum IStrategy.Status"}},"id":79253,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"22795:62:130","trueExpression":{"expression":{"id":79249,"name":"Status","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2815,"src":"22824:6:130","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_Status_$2815_$","typeString":"type(enum IStrategy.Status)"}},"id":79250,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"22831:8:130","memberName":"Rejected","nodeType":"MemberAccess","referencedDeclaration":2811,"src":"22824:15:130","typeDescriptions":{"typeIdentifier":"t_enum$_Status_$2815","typeString":"enum IStrategy.Status"}},"typeDescriptions":{"typeIdentifier":"t_enum$_Status_$2815","typeString":"enum IStrategy.Status"}},"functionReturnParameters":79242,"id":79254,"nodeType":"Return","src":"22788:69:130"}]},"baseFunctions":[74597],"implemented":true,"kind":"function","modifiers":[],"name":"_getRecipientStatus","nameLocation":"22653:19:130","overrides":{"id":79238,"nodeType":"OverrideSpecifier","overrides":[],"src":"22709:8:130"},"parameters":{"id":79237,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79236,"mutability":"mutable","name":"_recipientId","nameLocation":"22681:12:130","nodeType":"VariableDeclaration","scope":79256,"src":"22673:20:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":79235,"name":"address","nodeType":"ElementaryTypeName","src":"22673:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"22672:22:130"},"returnParameters":{"id":79242,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79241,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":79256,"src":"22727:6:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_Status_$2815","typeString":"enum IStrategy.Status"},"typeName":{"id":79240,"nodeType":"UserDefinedTypeName","pathNode":{"id":79239,"name":"Status","nameLocations":["22727:6:130"],"nodeType":"IdentifierPath","referencedDeclaration":2815,"src":"22727:6:130"},"referencedDeclaration":2815,"src":"22727:6:130","typeDescriptions":{"typeIdentifier":"t_enum$_Status_$2815","typeString":"enum IStrategy.Status"}},"visibility":"internal"}],"src":"22726:8:130"},"scope":80578,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":79275,"nodeType":"FunctionDefinition","src":"22993:288:130","nodes":[],"body":{"id":79274,"nodeType":"Block","src":"23103:178:130","nodes":[],"statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":79271,"name":"NotImplemented","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77773,"src":"23163:14:130","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":79272,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23163:16:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":79273,"nodeType":"RevertStatement","src":"23156:23:130"}]},"baseFunctions":[74436],"documentation":{"id":79257,"nodeType":"StructuredDocumentation","src":"22870:118:130","text":"@return Input the values you would send to distribute(), get the amounts each recipient in the array would receive"},"functionSelector":"b2b878d0","implemented":true,"kind":"function","modifiers":[],"name":"getPayouts","nameLocation":"23002:10:130","overrides":{"id":79265,"nodeType":"OverrideSpecifier","overrides":[],"src":"23061:8:130"},"parameters":{"id":79264,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79260,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":79275,"src":"23013:16:130","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":79258,"name":"address","nodeType":"ElementaryTypeName","src":"23013:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":79259,"nodeType":"ArrayTypeName","src":"23013:9:130","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":79263,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":79275,"src":"23031:14:130","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":79261,"name":"bytes","nodeType":"ElementaryTypeName","src":"23031:5:130","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":79262,"nodeType":"ArrayTypeName","src":"23031:7:130","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"23012:34:130"},"returnParameters":{"id":79270,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79269,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":79275,"src":"23079:22:130","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_PayoutSummary_$2820_memory_ptr_$dyn_memory_ptr","typeString":"struct IStrategy.PayoutSummary[]"},"typeName":{"baseType":{"id":79267,"nodeType":"UserDefinedTypeName","pathNode":{"id":79266,"name":"PayoutSummary","nameLocations":["23079:13:130"],"nodeType":"IdentifierPath","referencedDeclaration":2820,"src":"23079:13:130"},"referencedDeclaration":2820,"src":"23079:13:130","typeDescriptions":{"typeIdentifier":"t_struct$_PayoutSummary_$2820_storage_ptr","typeString":"struct IStrategy.PayoutSummary"}},"id":79268,"nodeType":"ArrayTypeName","src":"23079:15:130","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_PayoutSummary_$2820_storage_$dyn_storage_ptr","typeString":"struct IStrategy.PayoutSummary[]"}},"visibility":"internal"}],"src":"23078:24:130"},"scope":80578,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":79294,"nodeType":"FunctionDefinition","src":"23287:264:130","nodes":[],"body":{"id":79293,"nodeType":"Block","src":"23439:112:130","nodes":[],"statements":[{"expression":{"id":79286,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79279,"src":"23492:5:130","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":79287,"nodeType":"ExpressionStatement","src":"23492:5:130"},{"expression":{"arguments":[{"id":79289,"name":"_recipientId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79277,"src":"23528:12:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":79290,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"23542:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":79288,"name":"PayoutSummary","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2820,"src":"23514:13:130","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_PayoutSummary_$2820_storage_ptr_$","typeString":"type(struct IStrategy.PayoutSummary storage pointer)"}},"id":79291,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23514:30:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_PayoutSummary_$2820_memory_ptr","typeString":"struct IStrategy.PayoutSummary memory"}},"functionReturnParameters":79285,"id":79292,"nodeType":"Return","src":"23507:37:130"}]},"baseFunctions":[74588],"implemented":true,"kind":"function","modifiers":[],"name":"_getPayout","nameLocation":"23296:10:130","overrides":{"id":79281,"nodeType":"OverrideSpecifier","overrides":[],"src":"23387:8:130"},"parameters":{"id":79280,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79277,"mutability":"mutable","name":"_recipientId","nameLocation":"23315:12:130","nodeType":"VariableDeclaration","scope":79294,"src":"23307:20:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":79276,"name":"address","nodeType":"ElementaryTypeName","src":"23307:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":79279,"mutability":"mutable","name":"_data","nameLocation":"23342:5:130","nodeType":"VariableDeclaration","scope":79294,"src":"23329:18:130","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":79278,"name":"bytes","nodeType":"ElementaryTypeName","src":"23329:5:130","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"23306:42:130"},"returnParameters":{"id":79285,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79284,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":79294,"src":"23413:20:130","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_PayoutSummary_$2820_memory_ptr","typeString":"struct IStrategy.PayoutSummary"},"typeName":{"id":79283,"nodeType":"UserDefinedTypeName","pathNode":{"id":79282,"name":"PayoutSummary","nameLocations":["23413:13:130"],"nodeType":"IdentifierPath","referencedDeclaration":2820,"src":"23413:13:130"},"referencedDeclaration":2820,"src":"23413:13:130","typeDescriptions":{"typeIdentifier":"t_struct$_PayoutSummary_$2820_storage_ptr","typeString":"struct IStrategy.PayoutSummary"}},"visibility":"internal"}],"src":"23412:22:130"},"scope":80578,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":79305,"nodeType":"FunctionDefinition","src":"23557:127:130","nodes":[],"body":{"id":79304,"nodeType":"Block","src":"23634:50:130","nodes":[],"statements":[{"eventCall":{"arguments":[{"id":79301,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79296,"src":"23669:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":79300,"name":"PoolAmountIncreased","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77862,"src":"23649:19:130","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":79302,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23649:28:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":79303,"nodeType":"EmitStatement","src":"23644:33:130"}]},"baseFunctions":[74611],"implemented":true,"kind":"function","modifiers":[],"name":"_afterIncreasePoolAmount","nameLocation":"23566:24:130","overrides":{"id":79298,"nodeType":"OverrideSpecifier","overrides":[],"src":"23625:8:130"},"parameters":{"id":79297,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79296,"mutability":"mutable","name":"_amount","nameLocation":"23599:7:130","nodeType":"VariableDeclaration","scope":79305,"src":"23591:15:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79295,"name":"uint256","nodeType":"ElementaryTypeName","src":"23591:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"23590:17:130"},"returnParameters":{"id":79299,"nodeType":"ParameterList","parameters":[],"src":"23634:0:130"},"scope":80578,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":79324,"nodeType":"FunctionDefinition","src":"23779:191:130","nodes":[],"body":{"id":79323,"nodeType":"Block","src":"23864:106:130","nodes":[],"statements":[{"expression":{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":79318,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":79313,"name":"_allocator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79307,"src":"23924:10:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":79316,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"23946:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":79315,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"23938:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":79314,"name":"address","nodeType":"ElementaryTypeName","src":"23938:7:130","typeDescriptions":{}}},"id":79317,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23938:10:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"23924:24:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"hexValue":"74727565","id":79320,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"23959:4:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"id":79321,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"23924:39:130","trueExpression":{"hexValue":"66616c7365","id":79319,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"23951:5:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":79312,"id":79322,"nodeType":"Return","src":"23917:46:130"}]},"baseFunctions":[74548],"implemented":true,"kind":"function","modifiers":[],"name":"_isValidAllocator","nameLocation":"23788:17:130","overrides":{"id":79309,"nodeType":"OverrideSpecifier","overrides":[],"src":"23840:8:130"},"parameters":{"id":79308,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79307,"mutability":"mutable","name":"_allocator","nameLocation":"23814:10:130","nodeType":"VariableDeclaration","scope":79324,"src":"23806:18:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":79306,"name":"address","nodeType":"ElementaryTypeName","src":"23806:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"23805:20:130"},"returnParameters":{"id":79312,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79311,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":79324,"src":"23858:4:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":79310,"name":"bool","nodeType":"ElementaryTypeName","src":"23858:4:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"23857:6:130"},"scope":80578,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":79334,"nodeType":"FunctionDefinition","src":"23976:86:130","nodes":[],"body":{"id":79333,"nodeType":"Block","src":"24022:40:130","nodes":[],"statements":[{"expression":{"arguments":[{"id":79330,"name":"_active","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79326,"src":"24047:7:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":79329,"name":"_setPoolActive","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74531,"src":"24032:14:130","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bool_$returns$__$","typeString":"function (bool)"}},"id":79331,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24032:23:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":79332,"nodeType":"ExpressionStatement","src":"24032:23:130"}]},"functionSelector":"b5f620ce","implemented":true,"kind":"function","modifiers":[],"name":"setPoolActive","nameLocation":"23985:13:130","parameters":{"id":79327,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79326,"mutability":"mutable","name":"_active","nameLocation":"24004:7:130","nodeType":"VariableDeclaration","scope":79334,"src":"23999:12:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":79325,"name":"bool","nodeType":"ElementaryTypeName","src":"23999:4:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"23998:14:130"},"returnParameters":{"id":79328,"nodeType":"ParameterList","parameters":[],"src":"24022:0:130"},"scope":80578,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":79422,"nodeType":"FunctionDefinition","src":"24068:836:130","nodes":[],"body":{"id":79421,"nodeType":"Block","src":"24112:792:130","nodes":[],"statements":[{"assignments":[79343],"declarations":[{"constant":false,"id":79343,"mutability":"mutable","name":"proposalsIds","nameLocation":"24187:12:130","nodeType":"VariableDeclaration","scope":79421,"src":"24170:29:130","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":79341,"name":"uint256","nodeType":"ElementaryTypeName","src":"24170:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79342,"nodeType":"ArrayTypeName","src":"24170:9:130","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"id":79347,"initialValue":{"baseExpression":{"id":79344,"name":"voterStakedProposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77978,"src":"24202:20:130","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$","typeString":"mapping(address => uint256[] storage ref)"}},"id":79346,"indexExpression":{"id":79345,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79336,"src":"24223:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"24202:29:130","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage","typeString":"uint256[] storage ref"}},"nodeType":"VariableDeclarationStatement","src":"24170:61:130"},{"body":{"id":79419,"nodeType":"Block","src":"24291:607:130","statements":[{"assignments":[79360],"declarations":[{"constant":false,"id":79360,"mutability":"mutable","name":"proposalId","nameLocation":"24313:10:130","nodeType":"VariableDeclaration","scope":79419,"src":"24305:18:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79359,"name":"uint256","nodeType":"ElementaryTypeName","src":"24305:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":79364,"initialValue":{"baseExpression":{"id":79361,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79343,"src":"24326:12:130","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":79363,"indexExpression":{"id":79362,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79349,"src":"24339:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"24326:15:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"24305:36:130"},{"assignments":[79369],"declarations":[{"constant":false,"id":79369,"mutability":"mutable","name":"proposal","nameLocation":"24387:8:130","nodeType":"VariableDeclaration","scope":79419,"src":"24355:40:130","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":79368,"nodeType":"UserDefinedTypeName","pathNode":{"id":79367,"name":"StrategyStruct.Proposal","nameLocations":["24355:14:130","24370:8:130"],"nodeType":"IdentifierPath","referencedDeclaration":77721,"src":"24355:23:130"},"referencedDeclaration":77721,"src":"24355:23:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":79373,"initialValue":{"baseExpression":{"id":79370,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77969,"src":"24398:9:130","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$77721_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":79372,"indexExpression":{"id":79371,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79360,"src":"24408:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"24398:21:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"24355:64:130"},{"condition":{"arguments":[{"id":79375,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79360,"src":"24452:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":79374,"name":"proposalExists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79610,"src":"24437:14:130","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view returns (bool)"}},"id":79376,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24437:26:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":79418,"nodeType":"IfStatement","src":"24433:455:130","trueBody":{"id":79417,"nodeType":"Block","src":"24465:423:130","statements":[{"assignments":[79378],"declarations":[{"constant":false,"id":79378,"mutability":"mutable","name":"stakedPoints","nameLocation":"24491:12:130","nodeType":"VariableDeclaration","scope":79417,"src":"24483:20:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79377,"name":"uint256","nodeType":"ElementaryTypeName","src":"24483:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":79383,"initialValue":{"baseExpression":{"expression":{"id":79379,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79369,"src":"24506:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79380,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24515:17:130","memberName":"voterStakedPoints","nodeType":"MemberAccess","referencedDeclaration":77717,"src":"24506:26:130","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":79382,"indexExpression":{"id":79381,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79336,"src":"24533:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"24506:35:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"24483:58:130"},{"expression":{"id":79390,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":79384,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79369,"src":"24559:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79387,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24568:17:130","memberName":"voterStakedPoints","nodeType":"MemberAccess","referencedDeclaration":77717,"src":"24559:26:130","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":79388,"indexExpression":{"id":79386,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79336,"src":"24586:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"24559:35:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"30","id":79389,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"24597:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"24559:39:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79391,"nodeType":"ExpressionStatement","src":"24559:39:130"},{"expression":{"id":79396,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":79392,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79369,"src":"24616:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79394,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"24625:12:130","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":77700,"src":"24616:21:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"id":79395,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79378,"src":"24641:12:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"24616:37:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79397,"nodeType":"ExpressionStatement","src":"24616:37:130"},{"expression":{"id":79400,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":79398,"name":"totalStaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77942,"src":"24671:11:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"id":79399,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79378,"src":"24686:12:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"24671:27:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79401,"nodeType":"ExpressionStatement","src":"24671:27:130"},{"expression":{"arguments":[{"id":79403,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79369,"src":"24743:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},{"id":79404,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79378,"src":"24753:12:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":79402,"name":"_calculateAndSetConviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80339,"src":"24716:26:130","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_Proposal_$77721_storage_ptr_$_t_uint256_$returns$__$","typeString":"function (struct StrategyStruct.Proposal storage pointer,uint256)"}},"id":79405,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24716:50:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":79406,"nodeType":"ExpressionStatement","src":"24716:50:130"},{"eventCall":{"arguments":[{"id":79408,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79336,"src":"24802:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":79409,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79360,"src":"24811:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":79410,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"24823:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"expression":{"id":79411,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79369,"src":"24826:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79412,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24835:12:130","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":77700,"src":"24826:21:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":79413,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79369,"src":"24849:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79414,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24858:14:130","memberName":"convictionLast","nodeType":"MemberAccess","referencedDeclaration":77702,"src":"24849:23:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":79407,"name":"SupportAdded","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77890,"src":"24789:12:130","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (address,uint256,uint256,uint256,uint256)"}},"id":79415,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24789:84:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":79416,"nodeType":"EmitStatement","src":"24784:89:130"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79355,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":79352,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79349,"src":"24261:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":79353,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79343,"src":"24265:12:130","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":79354,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24278:6:130","memberName":"length","nodeType":"MemberAccess","src":"24265:19:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"24261:23:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":79420,"initializationExpression":{"assignments":[79349],"declarations":[{"constant":false,"id":79349,"mutability":"mutable","name":"i","nameLocation":"24254:1:130","nodeType":"VariableDeclaration","scope":79420,"src":"24246:9:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79348,"name":"uint256","nodeType":"ElementaryTypeName","src":"24246:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":79351,"initialValue":{"hexValue":"30","id":79350,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"24258:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"24246:13:130"},"loopExpression":{"expression":{"id":79357,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"24286:3:130","subExpression":{"id":79356,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79349,"src":"24286:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79358,"nodeType":"ExpressionStatement","src":"24286:3:130"},"nodeType":"ForStatement","src":"24241:657:130"}]},"implemented":true,"kind":"function","modifiers":[],"name":"withdraw","nameLocation":"24077:8:130","parameters":{"id":79337,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79336,"mutability":"mutable","name":"_member","nameLocation":"24094:7:130","nodeType":"VariableDeclaration","scope":79422,"src":"24086:15:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":79335,"name":"address","nodeType":"ElementaryTypeName","src":"24086:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"24085:17:130"},"returnParameters":{"id":79338,"nodeType":"ParameterList","parameters":[],"src":"24112:0:130"},"scope":80578,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":79496,"nodeType":"FunctionDefinition","src":"25466:1038:130","nodes":[],"body":{"id":79495,"nodeType":"Block","src":"25935:569:130","nodes":[],"statements":[{"assignments":[79453],"declarations":[{"constant":false,"id":79453,"mutability":"mutable","name":"proposal","nameLocation":"25977:8:130","nodeType":"VariableDeclaration","scope":79495,"src":"25945:40:130","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":79452,"nodeType":"UserDefinedTypeName","pathNode":{"id":79451,"name":"StrategyStruct.Proposal","nameLocations":["25945:14:130","25960:8:130"],"nodeType":"IdentifierPath","referencedDeclaration":77721,"src":"25945:23:130"},"referencedDeclaration":77721,"src":"25945:23:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":79457,"initialValue":{"baseExpression":{"id":79454,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77969,"src":"25988:9:130","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$77721_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":79456,"indexExpression":{"id":79455,"name":"_proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79425,"src":"25998:11:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"25988:22:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"25945:65:130"},{"expression":{"id":79469,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":79458,"name":"threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79445,"src":"26021:9:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79462,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":79459,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79453,"src":"26033:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79460,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"26042:15:130","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":77698,"src":"26033:24:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":79461,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"26061:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"26033:29:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"arguments":[{"expression":{"id":79465,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79453,"src":"26088:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79466,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"26097:15:130","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":77698,"src":"26088:24:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":79464,"name":"calculateThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80190,"src":"26069:18:130","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":79467,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26069:44:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79468,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"26033:80:130","trueExpression":{"hexValue":"30","id":79463,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"26065:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"26021:92:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79470,"nodeType":"ExpressionStatement","src":"26021:92:130"},{"expression":{"components":[{"expression":{"id":79471,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79453,"src":"26144:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79472,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"26153:9:130","memberName":"submitter","nodeType":"MemberAccess","referencedDeclaration":77706,"src":"26144:18:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":79473,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79453,"src":"26176:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79474,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"26185:11:130","memberName":"beneficiary","nodeType":"MemberAccess","referencedDeclaration":77704,"src":"26176:20:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":79475,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79453,"src":"26210:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79476,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"26219:14:130","memberName":"requestedToken","nodeType":"MemberAccess","referencedDeclaration":77708,"src":"26210:23:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":79477,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79453,"src":"26247:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79478,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"26256:15:130","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":77698,"src":"26247:24:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":79479,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79453,"src":"26285:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79480,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"26294:12:130","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":77700,"src":"26285:21:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":79481,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79453,"src":"26320:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79482,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"26329:14:130","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":77713,"src":"26320:23:130","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$77694","typeString":"enum StrategyStruct.ProposalStatus"}},{"expression":{"id":79483,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79453,"src":"26357:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79484,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"26366:9:130","memberName":"blockLast","nodeType":"MemberAccess","referencedDeclaration":77710,"src":"26357:18:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":79485,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79453,"src":"26389:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79486,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"26398:14:130","memberName":"convictionLast","nodeType":"MemberAccess","referencedDeclaration":77702,"src":"26389:23:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":79487,"name":"threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79445,"src":"26426:9:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"baseExpression":{"expression":{"id":79488,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79453,"src":"26449:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79489,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"26458:17:130","memberName":"voterStakedPoints","nodeType":"MemberAccess","referencedDeclaration":77717,"src":"26449:26:130","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":79492,"indexExpression":{"expression":{"id":79490,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"26476:3:130","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":79491,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"26480:6:130","memberName":"sender","nodeType":"MemberAccess","src":"26476:10:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"26449:38:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":79493,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"26130:367:130","typeDescriptions":{"typeIdentifier":"t_tuple$_t_address_$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_enum$_ProposalStatus_$77694_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$","typeString":"tuple(address,address,address,uint256,uint256,enum StrategyStruct.ProposalStatus,uint256,uint256,uint256,uint256)"}},"functionReturnParameters":79448,"id":79494,"nodeType":"Return","src":"26123:374:130"}]},"documentation":{"id":79423,"nodeType":"StructuredDocumentation","src":"24910:551:130","text":" @dev Get proposal details\n @param _proposalId Proposal id\n @return submitter Proposal submitter\n @return beneficiary Proposal beneficiary\n @return requestedToken Proposal requested token\n @return requestedAmount Proposal requested amount\n @return stakedAmount Proposal staked points\n @return proposalStatus Proposal status\n @return blockLast Last block when conviction was calculated\n @return convictionLast Last conviction calculated\n @return threshold Proposal threshold"},"functionSelector":"c7f758a8","implemented":true,"kind":"function","modifiers":[],"name":"getProposal","nameLocation":"25475:11:130","parameters":{"id":79426,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79425,"mutability":"mutable","name":"_proposalId","nameLocation":"25495:11:130","nodeType":"VariableDeclaration","scope":79496,"src":"25487:19:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79424,"name":"uint256","nodeType":"ElementaryTypeName","src":"25487:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"25486:21:130"},"returnParameters":{"id":79448,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79428,"mutability":"mutable","name":"submitter","nameLocation":"25576:9:130","nodeType":"VariableDeclaration","scope":79496,"src":"25568:17:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":79427,"name":"address","nodeType":"ElementaryTypeName","src":"25568:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":79430,"mutability":"mutable","name":"beneficiary","nameLocation":"25607:11:130","nodeType":"VariableDeclaration","scope":79496,"src":"25599:19:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":79429,"name":"address","nodeType":"ElementaryTypeName","src":"25599:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":79432,"mutability":"mutable","name":"requestedToken","nameLocation":"25640:14:130","nodeType":"VariableDeclaration","scope":79496,"src":"25632:22:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":79431,"name":"address","nodeType":"ElementaryTypeName","src":"25632:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":79434,"mutability":"mutable","name":"requestedAmount","nameLocation":"25676:15:130","nodeType":"VariableDeclaration","scope":79496,"src":"25668:23:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79433,"name":"uint256","nodeType":"ElementaryTypeName","src":"25668:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":79436,"mutability":"mutable","name":"stakedAmount","nameLocation":"25713:12:130","nodeType":"VariableDeclaration","scope":79496,"src":"25705:20:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79435,"name":"uint256","nodeType":"ElementaryTypeName","src":"25705:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":79439,"mutability":"mutable","name":"proposalStatus","nameLocation":"25769:14:130","nodeType":"VariableDeclaration","scope":79496,"src":"25739:44:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$77694","typeString":"enum StrategyStruct.ProposalStatus"},"typeName":{"id":79438,"nodeType":"UserDefinedTypeName","pathNode":{"id":79437,"name":"StrategyStruct.ProposalStatus","nameLocations":["25739:14:130","25754:14:130"],"nodeType":"IdentifierPath","referencedDeclaration":77694,"src":"25739:29:130"},"referencedDeclaration":77694,"src":"25739:29:130","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$77694","typeString":"enum StrategyStruct.ProposalStatus"}},"visibility":"internal"},{"constant":false,"id":79441,"mutability":"mutable","name":"blockLast","nameLocation":"25805:9:130","nodeType":"VariableDeclaration","scope":79496,"src":"25797:17:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79440,"name":"uint256","nodeType":"ElementaryTypeName","src":"25797:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":79443,"mutability":"mutable","name":"convictionLast","nameLocation":"25836:14:130","nodeType":"VariableDeclaration","scope":79496,"src":"25828:22:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79442,"name":"uint256","nodeType":"ElementaryTypeName","src":"25828:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":79445,"mutability":"mutable","name":"threshold","nameLocation":"25872:9:130","nodeType":"VariableDeclaration","scope":79496,"src":"25864:17:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79444,"name":"uint256","nodeType":"ElementaryTypeName","src":"25864:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":79447,"mutability":"mutable","name":"voterStakedPoints","nameLocation":"25903:17:130","nodeType":"VariableDeclaration","scope":79496,"src":"25895:25:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79446,"name":"uint256","nodeType":"ElementaryTypeName","src":"25895:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"25554:376:130"},"scope":80578,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":79517,"nodeType":"FunctionDefinition","src":"26510:198:130","nodes":[],"body":{"id":79516,"nodeType":"Block","src":"26592:116:130","nodes":[],"statements":[{"assignments":[79508],"declarations":[{"constant":false,"id":79508,"mutability":"mutable","name":"proposal","nameLocation":"26634:8:130","nodeType":"VariableDeclaration","scope":79516,"src":"26602:40:130","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":79507,"nodeType":"UserDefinedTypeName","pathNode":{"id":79506,"name":"StrategyStruct.Proposal","nameLocations":["26602:14:130","26617:8:130"],"nodeType":"IdentifierPath","referencedDeclaration":77721,"src":"26602:23:130"},"referencedDeclaration":77721,"src":"26602:23:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":79512,"initialValue":{"baseExpression":{"id":79509,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77969,"src":"26645:9:130","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$77721_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":79511,"indexExpression":{"id":79510,"name":"_proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79498,"src":"26655:11:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"26645:22:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"26602:65:130"},{"expression":{"expression":{"id":79513,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79508,"src":"26684:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79514,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"26693:8:130","memberName":"metadata","nodeType":"MemberAccess","referencedDeclaration":77720,"src":"26684:17:130","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage","typeString":"struct Metadata storage ref"}},"functionReturnParameters":79503,"id":79515,"nodeType":"Return","src":"26677:24:130"}]},"functionSelector":"a574cea4","implemented":true,"kind":"function","modifiers":[],"name":"getMetadata","nameLocation":"26519:11:130","parameters":{"id":79499,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79498,"mutability":"mutable","name":"_proposalId","nameLocation":"26539:11:130","nodeType":"VariableDeclaration","scope":79517,"src":"26531:19:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79497,"name":"uint256","nodeType":"ElementaryTypeName","src":"26531:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"26530:21:130"},"returnParameters":{"id":79503,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79502,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":79517,"src":"26575:15:130","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata"},"typeName":{"id":79501,"nodeType":"UserDefinedTypeName","pathNode":{"id":79500,"name":"Metadata","nameLocations":["26575:8:130"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"26575:8:130"},"referencedDeclaration":3098,"src":"26575:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"}],"src":"26574:17:130"},"scope":80578,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":79533,"nodeType":"FunctionDefinition","src":"26909:176:130","nodes":[],"body":{"id":79532,"nodeType":"Block","src":"27009:76:130","nodes":[],"statements":[{"expression":{"arguments":[{"id":79528,"name":"_proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79520,"src":"27058:11:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":79529,"name":"_voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79522,"src":"27071:6:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"id":79527,"name":"_internal_getProposalVoterStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79575,"src":"27026:31:130","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_address_$returns$_t_uint256_$","typeString":"function (uint256,address) view returns (uint256)"}},"id":79530,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27026:52:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":79526,"id":79531,"nodeType":"Return","src":"27019:59:130"}]},"documentation":{"id":79518,"nodeType":"StructuredDocumentation","src":"26714:190:130","text":" @notice Get stake of voter `_voter` on proposal #`_proposalId`\n @param _proposalId Proposal id\n @param _voter Voter address\n @return Proposal voter stake"},"functionSelector":"e0dd2c38","implemented":true,"kind":"function","modifiers":[],"name":"getProposalVoterStake","nameLocation":"26918:21:130","parameters":{"id":79523,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79520,"mutability":"mutable","name":"_proposalId","nameLocation":"26948:11:130","nodeType":"VariableDeclaration","scope":79533,"src":"26940:19:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79519,"name":"uint256","nodeType":"ElementaryTypeName","src":"26940:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":79522,"mutability":"mutable","name":"_voter","nameLocation":"26969:6:130","nodeType":"VariableDeclaration","scope":79533,"src":"26961:14:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":79521,"name":"address","nodeType":"ElementaryTypeName","src":"26961:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"26939:37:130"},"returnParameters":{"id":79526,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79525,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":79533,"src":"27000:7:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79524,"name":"uint256","nodeType":"ElementaryTypeName","src":"27000:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"26999:9:130"},"scope":80578,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":79546,"nodeType":"FunctionDefinition","src":"27091:145:130","nodes":[],"body":{"id":79545,"nodeType":"Block","src":"27177:59:130","nodes":[],"statements":[{"expression":{"expression":{"baseExpression":{"id":79540,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77969,"src":"27194:9:130","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$77721_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":79542,"indexExpression":{"id":79541,"name":"_proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79535,"src":"27204:11:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"27194:22:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"id":79543,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"27217:12:130","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":77700,"src":"27194:35:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":79539,"id":79544,"nodeType":"Return","src":"27187:42:130"}]},"functionSelector":"dc96ff2d","implemented":true,"kind":"function","modifiers":[],"name":"getProposalStakedAmount","nameLocation":"27100:23:130","parameters":{"id":79536,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79535,"mutability":"mutable","name":"_proposalId","nameLocation":"27132:11:130","nodeType":"VariableDeclaration","scope":79546,"src":"27124:19:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79534,"name":"uint256","nodeType":"ElementaryTypeName","src":"27124:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"27123:21:130"},"returnParameters":{"id":79539,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79538,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":79546,"src":"27168:7:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79537,"name":"uint256","nodeType":"ElementaryTypeName","src":"27168:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"27167:9:130"},"scope":80578,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":79558,"nodeType":"FunctionDefinition","src":"27305:127:130","nodes":[],"body":{"id":79557,"nodeType":"Block","src":"27382:50:130","nodes":[],"statements":[{"expression":{"baseExpression":{"id":79553,"name":"totalVoterStakePct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77973,"src":"27399:18:130","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":79555,"indexExpression":{"id":79554,"name":"_voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79548,"src":"27418:6:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"27399:26:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":79552,"id":79556,"nodeType":"Return","src":"27392:33:130"}]},"functionSelector":"bcc5b93b","implemented":true,"kind":"function","modifiers":[],"name":"getTotalVoterStakePct","nameLocation":"27314:21:130","parameters":{"id":79549,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79548,"mutability":"mutable","name":"_voter","nameLocation":"27344:6:130","nodeType":"VariableDeclaration","scope":79558,"src":"27336:14:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":79547,"name":"address","nodeType":"ElementaryTypeName","src":"27336:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"27335:16:130"},"returnParameters":{"id":79552,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79551,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":79558,"src":"27373:7:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79550,"name":"uint256","nodeType":"ElementaryTypeName","src":"27373:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"27372:9:130"},"scope":80578,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":79575,"nodeType":"FunctionDefinition","src":"27438:182:130","nodes":[],"body":{"id":79574,"nodeType":"Block","src":"27548:72:130","nodes":[],"statements":[{"expression":{"baseExpression":{"expression":{"baseExpression":{"id":79567,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77969,"src":"27565:9:130","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$77721_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":79569,"indexExpression":{"id":79568,"name":"_proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79560,"src":"27575:11:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"27565:22:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"id":79570,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"27588:17:130","memberName":"voterStakedPoints","nodeType":"MemberAccess","referencedDeclaration":77717,"src":"27565:40:130","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":79572,"indexExpression":{"id":79571,"name":"_voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79562,"src":"27606:6:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"27565:48:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":79566,"id":79573,"nodeType":"Return","src":"27558:55:130"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_internal_getProposalVoterStake","nameLocation":"27447:31:130","parameters":{"id":79563,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79560,"mutability":"mutable","name":"_proposalId","nameLocation":"27487:11:130","nodeType":"VariableDeclaration","scope":79575,"src":"27479:19:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79559,"name":"uint256","nodeType":"ElementaryTypeName","src":"27479:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":79562,"mutability":"mutable","name":"_voter","nameLocation":"27508:6:130","nodeType":"VariableDeclaration","scope":79575,"src":"27500:14:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":79561,"name":"address","nodeType":"ElementaryTypeName","src":"27500:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"27478:37:130"},"returnParameters":{"id":79566,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79565,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":79575,"src":"27539:7:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79564,"name":"uint256","nodeType":"ElementaryTypeName","src":"27539:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"27538:9:130"},"scope":80578,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":79585,"nodeType":"FunctionDefinition","src":"27626:145:130","nodes":[],"body":{"id":79584,"nodeType":"Block","src":"27690:81:130","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":79580,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77961,"src":"27707:17:130","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"}},"id":79581,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"27725:20:130","memberName":"getBasisStakedAmount","nodeType":"MemberAccess","referencedDeclaration":84831,"src":"27707:38:130","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint256_$","typeString":"function () view external returns (uint256)"}},"id":79582,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27707:40:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":79579,"id":79583,"nodeType":"Return","src":"27700:47:130"}]},"implemented":true,"kind":"function","modifiers":[],"name":"getBasisStakedAmount","nameLocation":"27635:20:130","parameters":{"id":79576,"nodeType":"ParameterList","parameters":[],"src":"27655:2:130"},"returnParameters":{"id":79579,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79578,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":79585,"src":"27681:7:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79577,"name":"uint256","nodeType":"ElementaryTypeName","src":"27681:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"27680:9:130"},"scope":80578,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":79610,"nodeType":"FunctionDefinition","src":"27777:185:130","nodes":[],"body":{"id":79609,"nodeType":"Block","src":"27851:111:130","nodes":[],"statements":[{"expression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":79607,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79597,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":79592,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77969,"src":"27868:9:130","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$77721_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":79594,"indexExpression":{"id":79593,"name":"_proposalID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79587,"src":"27878:11:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"27868:22:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"id":79595,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"27891:10:130","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":77696,"src":"27868:33:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":79596,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"27904:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"27868:37:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":79606,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":79598,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77969,"src":"27909:9:130","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$77721_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":79600,"indexExpression":{"id":79599,"name":"_proposalID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79587,"src":"27919:11:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"27909:22:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"id":79601,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"27932:9:130","memberName":"submitter","nodeType":"MemberAccess","referencedDeclaration":77706,"src":"27909:32:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":79604,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"27953:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":79603,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"27945:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":79602,"name":"address","nodeType":"ElementaryTypeName","src":"27945:7:130","typeDescriptions":{}}},"id":79605,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27945:10:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"27909:46:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"27868:87:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":79591,"id":79608,"nodeType":"Return","src":"27861:94:130"}]},"implemented":true,"kind":"function","modifiers":[],"name":"proposalExists","nameLocation":"27786:14:130","parameters":{"id":79588,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79587,"mutability":"mutable","name":"_proposalID","nameLocation":"27809:11:130","nodeType":"VariableDeclaration","scope":79610,"src":"27801:19:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79586,"name":"uint256","nodeType":"ElementaryTypeName","src":"27801:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"27800:21:130"},"returnParameters":{"id":79591,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79590,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":79610,"src":"27845:4:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":79589,"name":"bool","nodeType":"ElementaryTypeName","src":"27845:4:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"27844:6:130"},"scope":80578,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":79628,"nodeType":"FunctionDefinition","src":"27968:174:130","nodes":[],"body":{"id":79627,"nodeType":"Block","src":"28063:79:130","nodes":[],"statements":[{"expression":{"id":79625,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":79617,"name":"isOverMaxRatio","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79615,"src":"28073:14:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79624,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79620,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":79618,"name":"maxRatio","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77935,"src":"28090:8:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":79619,"name":"poolAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74092,"src":"28101:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"28090:21:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79623,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":79621,"name":"_requestedAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79612,"src":"28115:16:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":79622,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77919,"src":"28134:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"28115:20:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"28090:45:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"28073:62:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":79626,"nodeType":"ExpressionStatement","src":"28073:62:130"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_isOverMaxRatio","nameLocation":"27977:15:130","parameters":{"id":79613,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79612,"mutability":"mutable","name":"_requestedAmount","nameLocation":"28001:16:130","nodeType":"VariableDeclaration","scope":79628,"src":"27993:24:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79611,"name":"uint256","nodeType":"ElementaryTypeName","src":"27993:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"27992:26:130"},"returnParameters":{"id":79616,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79615,"mutability":"mutable","name":"isOverMaxRatio","nameLocation":"28047:14:130","nodeType":"VariableDeclaration","scope":79628,"src":"28042:19:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":79614,"name":"bool","nodeType":"ElementaryTypeName","src":"28042:4:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"28041:21:130"},"scope":80578,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":79724,"nodeType":"FunctionDefinition","src":"28148:1548:130","nodes":[],"body":{"id":79723,"nodeType":"Block","src":"28278:1418:130","nodes":[],"statements":[{"assignments":[79638],"declarations":[{"constant":false,"id":79638,"mutability":"mutable","name":"deltaSupportSum","nameLocation":"28295:15:130","nodeType":"VariableDeclaration","scope":79723,"src":"28288:22:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":79637,"name":"int256","nodeType":"ElementaryTypeName","src":"28288:6:130","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"id":79640,"initialValue":{"hexValue":"30","id":79639,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"28313:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"28288:26:130"},{"body":{"id":79685,"nodeType":"Block","src":"28378:576:130","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79657,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":79652,"name":"_proposalSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79634,"src":"28451:16:130","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$77726_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}},"id":79654,"indexExpression":{"id":79653,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79642,"src":"28468:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"28451:19:130","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$77726_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory"}},"id":79655,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"28471:10:130","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":77723,"src":"28451:30:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":79656,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"28485:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"28451:35:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":79660,"nodeType":"IfStatement","src":"28447:187:130","trueBody":{"id":79659,"nodeType":"Block","src":"28488:146:130","statements":[{"id":79658,"nodeType":"Continue","src":"28611:8:130"}]}},{"assignments":[79662],"declarations":[{"constant":false,"id":79662,"mutability":"mutable","name":"proposalId","nameLocation":"28655:10:130","nodeType":"VariableDeclaration","scope":79685,"src":"28647:18:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79661,"name":"uint256","nodeType":"ElementaryTypeName","src":"28647:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":79667,"initialValue":{"expression":{"baseExpression":{"id":79663,"name":"_proposalSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79634,"src":"28668:16:130","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$77726_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}},"id":79665,"indexExpression":{"id":79664,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79642,"src":"28685:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"28668:19:130","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$77726_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory"}},"id":79666,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"28688:10:130","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":77723,"src":"28668:30:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"28647:51:130"},{"condition":{"id":79671,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"28716:27:130","subExpression":{"arguments":[{"id":79669,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79662,"src":"28732:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":79668,"name":"proposalExists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79610,"src":"28717:14:130","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view returns (bool)"}},"id":79670,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28717:26:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":79677,"nodeType":"IfStatement","src":"28712:167:130","trueBody":{"id":79676,"nodeType":"Block","src":"28745:134:130","statements":[{"errorCall":{"arguments":[{"id":79673,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79662,"src":"28788:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":79672,"name":"ProposalNotInList","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77815,"src":"28770:17:130","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":79674,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28770:29:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":79675,"nodeType":"RevertStatement","src":"28763:36:130"}]}},{"expression":{"id":79683,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":79678,"name":"deltaSupportSum","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79638,"src":"28892:15:130","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"expression":{"baseExpression":{"id":79679,"name":"_proposalSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79634,"src":"28911:16:130","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$77726_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}},"id":79681,"indexExpression":{"id":79680,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79642,"src":"28928:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"28911:19:130","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$77726_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory"}},"id":79682,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"28931:12:130","memberName":"deltaSupport","nodeType":"MemberAccess","referencedDeclaration":77725,"src":"28911:32:130","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"28892:51:130","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":79684,"nodeType":"ExpressionStatement","src":"28892:51:130"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79648,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":79645,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79642,"src":"28344:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":79646,"name":"_proposalSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79634,"src":"28348:16:130","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$77726_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}},"id":79647,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"28365:6:130","memberName":"length","nodeType":"MemberAccess","src":"28348:23:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"28344:27:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":79686,"initializationExpression":{"assignments":[79642],"declarations":[{"constant":false,"id":79642,"mutability":"mutable","name":"i","nameLocation":"28337:1:130","nodeType":"VariableDeclaration","scope":79686,"src":"28329:9:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79641,"name":"uint256","nodeType":"ElementaryTypeName","src":"28329:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":79644,"initialValue":{"hexValue":"30","id":79643,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"28341:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"28329:13:130"},"loopExpression":{"expression":{"id":79650,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"28373:3:130","subExpression":{"id":79649,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79642,"src":"28373:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79651,"nodeType":"ExpressionStatement","src":"28373:3:130"},"nodeType":"ForStatement","src":"28324:630:130"},{"assignments":[79688],"declarations":[{"constant":false,"id":79688,"mutability":"mutable","name":"newTotalVotingSupport","nameLocation":"29058:21:130","nodeType":"VariableDeclaration","scope":79723,"src":"29050:29:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79687,"name":"uint256","nodeType":"ElementaryTypeName","src":"29050:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":79695,"initialValue":{"arguments":[{"arguments":[{"id":79691,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79630,"src":"29116:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":79690,"name":"getTotalVoterStakePct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79558,"src":"29094:21:130","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view returns (uint256)"}},"id":79692,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29094:30:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":79693,"name":"deltaSupportSum","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79638,"src":"29126:15:130","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":79689,"name":"_applyDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80046,"src":"29082:11:130","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_int256_$returns$_t_uint256_$","typeString":"function (uint256,int256) pure returns (uint256)"}},"id":79694,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29082:60:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"29050:92:130"},{"assignments":[79697],"declarations":[{"constant":false,"id":79697,"mutability":"mutable","name":"participantBalance","nameLocation":"29232:18:130","nodeType":"VariableDeclaration","scope":79723,"src":"29224:26:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79696,"name":"uint256","nodeType":"ElementaryTypeName","src":"29224:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":79706,"initialValue":{"arguments":[{"id":79700,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79630,"src":"29296:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":79703,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"29313:4:130","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$80578","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$80578","typeString":"contract CVStrategyV0_0"}],"id":79702,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"29305:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":79701,"name":"address","nodeType":"ElementaryTypeName","src":"29305:7:130","typeDescriptions":{}}},"id":79704,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29305:13:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":79698,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77961,"src":"29253:17:130","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"}},"id":79699,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"29271:24:130","memberName":"getMemberPowerInStrategy","nodeType":"MemberAccess","referencedDeclaration":84375,"src":"29253:42:130","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view external returns (uint256)"}},"id":79705,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29253:66:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"29224:95:130"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79709,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":79707,"name":"newTotalVotingSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79688,"src":"29485:21:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":79708,"name":"participantBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79697,"src":"29509:18:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"29485:42:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":79716,"nodeType":"IfStatement","src":"29481:147:130","trueBody":{"id":79715,"nodeType":"Block","src":"29529:99:130","statements":[{"errorCall":{"arguments":[{"id":79711,"name":"newTotalVotingSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79688,"src":"29575:21:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":79712,"name":"participantBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79697,"src":"29598:18:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":79710,"name":"NotEnoughPointsToSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77803,"src":"29550:24:130","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":79713,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29550:67:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":79714,"nodeType":"RevertStatement","src":"29543:74:130"}]}},{"expression":{"id":79721,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":79717,"name":"totalVoterStakePct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77973,"src":"29638:18:130","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":79719,"indexExpression":{"id":79718,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79630,"src":"29657:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"29638:27:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":79720,"name":"newTotalVotingSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79688,"src":"29668:21:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"29638:51:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79722,"nodeType":"ExpressionStatement","src":"29638:51:130"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_check_before_addSupport","nameLocation":"28157:24:130","parameters":{"id":79635,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79630,"mutability":"mutable","name":"_sender","nameLocation":"28190:7:130","nodeType":"VariableDeclaration","scope":79724,"src":"28182:15:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":79629,"name":"address","nodeType":"ElementaryTypeName","src":"28182:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":79634,"mutability":"mutable","name":"_proposalSupport","nameLocation":"28239:16:130","nodeType":"VariableDeclaration","scope":79724,"src":"28199:56:130","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$77726_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport[]"},"typeName":{"baseType":{"id":79632,"nodeType":"UserDefinedTypeName","pathNode":{"id":79631,"name":"StrategyStruct.ProposalSupport","nameLocations":["28199:14:130","28214:15:130"],"nodeType":"IdentifierPath","referencedDeclaration":77726,"src":"28199:30:130"},"referencedDeclaration":77726,"src":"28199:30:130","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$77726_storage_ptr","typeString":"struct StrategyStruct.ProposalSupport"}},"id":79633,"nodeType":"ArrayTypeName","src":"28199:32:130","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$77726_storage_$dyn_storage_ptr","typeString":"struct StrategyStruct.ProposalSupport[]"}},"visibility":"internal"}],"src":"28181:75:130"},"returnParameters":{"id":79636,"nodeType":"ParameterList","parameters":[],"src":"28278:0:130"},"scope":80578,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":80011,"nodeType":"FunctionDefinition","src":"29702:3479:130","nodes":[],"body":{"id":80010,"nodeType":"Block","src":"29807:3374:130","nodes":[],"statements":[{"assignments":[79737],"declarations":[{"constant":false,"id":79737,"mutability":"mutable","name":"proposalsIds","nameLocation":"29834:12:130","nodeType":"VariableDeclaration","scope":80010,"src":"29817:29:130","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":79735,"name":"uint256","nodeType":"ElementaryTypeName","src":"29817:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79736,"nodeType":"ArrayTypeName","src":"29817:9:130","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"id":79738,"nodeType":"VariableDeclarationStatement","src":"29817:29:130"},{"body":{"id":80008,"nodeType":"Block","src":"29910:3265:130","statements":[{"assignments":[79751],"declarations":[{"constant":false,"id":79751,"mutability":"mutable","name":"proposalId","nameLocation":"29932:10:130","nodeType":"VariableDeclaration","scope":80008,"src":"29924:18:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79750,"name":"uint256","nodeType":"ElementaryTypeName","src":"29924:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":79756,"initialValue":{"expression":{"baseExpression":{"id":79752,"name":"_proposalSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79730,"src":"29945:16:130","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$77726_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}},"id":79754,"indexExpression":{"id":79753,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79740,"src":"29962:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"29945:19:130","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$77726_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory"}},"id":79755,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"29965:10:130","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":77723,"src":"29945:30:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"29924:51:130"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79760,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":79757,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79737,"src":"30048:12:130","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":79758,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30061:6:130","memberName":"length","nodeType":"MemberAccess","src":"30048:19:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":79759,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"30071:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"30048:24:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":79859,"nodeType":"Block","src":"30200:764:130","statements":[{"assignments":[79777],"declarations":[{"constant":false,"id":79777,"mutability":"mutable","name":"exist","nameLocation":"30223:5:130","nodeType":"VariableDeclaration","scope":79859,"src":"30218:10:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":79776,"name":"bool","nodeType":"ElementaryTypeName","src":"30218:4:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":79779,"initialValue":{"hexValue":"66616c7365","id":79778,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"30231:5:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"nodeType":"VariableDeclarationStatement","src":"30218:18:130"},{"body":{"id":79807,"nodeType":"Block","src":"30304:268:130","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79795,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"id":79791,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79737,"src":"30355:12:130","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":79793,"indexExpression":{"id":79792,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79781,"src":"30368:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"30355:15:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":79794,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79751,"src":"30374:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"30355:29:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":79806,"nodeType":"IfStatement","src":"30351:203:130","trueBody":{"id":79805,"nodeType":"Block","src":"30386:168:130","statements":[{"expression":{"id":79798,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":79796,"name":"exist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79777,"src":"30412:5:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":79797,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"30420:4:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"30412:12:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":79799,"nodeType":"ExpressionStatement","src":"30412:12:130"},{"errorCall":{"arguments":[{"id":79801,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79751,"src":"30483:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":79802,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79781,"src":"30495:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":79800,"name":"ProposalSupportDuplicated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77821,"src":"30457:25:130","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":79803,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30457:40:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":79804,"nodeType":"RevertStatement","src":"30450:47:130"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79787,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":79784,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79781,"src":"30274:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":79785,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79737,"src":"30278:12:130","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":79786,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30291:6:130","memberName":"length","nodeType":"MemberAccess","src":"30278:19:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"30274:23:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":79808,"initializationExpression":{"assignments":[79781],"declarations":[{"constant":false,"id":79781,"mutability":"mutable","name":"j","nameLocation":"30267:1:130","nodeType":"VariableDeclaration","scope":79808,"src":"30259:9:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79780,"name":"uint256","nodeType":"ElementaryTypeName","src":"30259:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":79783,"initialValue":{"hexValue":"30","id":79782,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"30271:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"30259:13:130"},"loopExpression":{"expression":{"id":79789,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"30299:3:130","subExpression":{"id":79788,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79781,"src":"30299:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79790,"nodeType":"ExpressionStatement","src":"30299:3:130"},"nodeType":"ForStatement","src":"30254:318:130"},{"condition":{"id":79810,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"30593:6:130","subExpression":{"id":79809,"name":"exist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79777,"src":"30594:5:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":79858,"nodeType":"IfStatement","src":"30589:361:130","trueBody":{"id":79857,"nodeType":"Block","src":"30601:349:130","statements":[{"assignments":[79815],"declarations":[{"constant":false,"id":79815,"mutability":"mutable","name":"temp","nameLocation":"30640:4:130","nodeType":"VariableDeclaration","scope":79857,"src":"30623:21:130","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":79813,"name":"uint256","nodeType":"ElementaryTypeName","src":"30623:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79814,"nodeType":"ArrayTypeName","src":"30623:9:130","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"id":79824,"initialValue":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79822,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":79819,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79737,"src":"30661:12:130","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":79820,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30674:6:130","memberName":"length","nodeType":"MemberAccess","src":"30661:19:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"31","id":79821,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"30683:1:130","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"30661:23:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":79818,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"30647:13:130","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (uint256[] memory)"},"typeName":{"baseType":{"id":79816,"name":"uint256","nodeType":"ElementaryTypeName","src":"30651:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79817,"nodeType":"ArrayTypeName","src":"30651:9:130","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}}},"id":79823,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30647:38:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"nodeType":"VariableDeclarationStatement","src":"30623:62:130"},{"body":{"id":79844,"nodeType":"Block","src":"30757:74:130","statements":[{"expression":{"id":79842,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":79836,"name":"temp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79815,"src":"30783:4:130","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":79838,"indexExpression":{"id":79837,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79826,"src":"30788:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"30783:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"baseExpression":{"id":79839,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79737,"src":"30793:12:130","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":79841,"indexExpression":{"id":79840,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79826,"src":"30806:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"30793:15:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"30783:25:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79843,"nodeType":"ExpressionStatement","src":"30783:25:130"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79832,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":79829,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79826,"src":"30727:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":79830,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79737,"src":"30731:12:130","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":79831,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30744:6:130","memberName":"length","nodeType":"MemberAccess","src":"30731:19:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"30727:23:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":79845,"initializationExpression":{"assignments":[79826],"declarations":[{"constant":false,"id":79826,"mutability":"mutable","name":"j","nameLocation":"30720:1:130","nodeType":"VariableDeclaration","scope":79845,"src":"30712:9:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79825,"name":"uint256","nodeType":"ElementaryTypeName","src":"30712:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":79828,"initialValue":{"hexValue":"30","id":79827,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"30724:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"30712:13:130"},"loopExpression":{"expression":{"id":79834,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"30752:3:130","subExpression":{"id":79833,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79826,"src":"30752:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79835,"nodeType":"ExpressionStatement","src":"30752:3:130"},"nodeType":"ForStatement","src":"30707:124:130"},{"expression":{"id":79851,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":79846,"name":"temp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79815,"src":"30852:4:130","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":79849,"indexExpression":{"expression":{"id":79847,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79737,"src":"30857:12:130","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":79848,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30870:6:130","memberName":"length","nodeType":"MemberAccess","src":"30857:19:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"30852:25:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":79850,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79751,"src":"30880:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"30852:38:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79852,"nodeType":"ExpressionStatement","src":"30852:38:130"},{"expression":{"id":79855,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":79853,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79737,"src":"30912:12:130","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":79854,"name":"temp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79815,"src":"30927:4:130","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"src":"30912:19:130","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":79856,"nodeType":"ExpressionStatement","src":"30912:19:130"}]}}]},"id":79860,"nodeType":"IfStatement","src":"30044:920:130","trueBody":{"id":79775,"nodeType":"Block","src":"30074:120:130","statements":[{"expression":{"id":79767,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":79761,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79737,"src":"30092:12:130","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"31","id":79765,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"30121:1:130","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":79764,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"30107:13:130","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (uint256[] memory)"},"typeName":{"baseType":{"id":79762,"name":"uint256","nodeType":"ElementaryTypeName","src":"30111:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79763,"nodeType":"ArrayTypeName","src":"30111:9:130","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}}},"id":79766,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30107:16:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"src":"30092:31:130","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":79768,"nodeType":"ExpressionStatement","src":"30092:31:130"},{"expression":{"id":79773,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":79769,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79737,"src":"30141:12:130","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":79771,"indexExpression":{"hexValue":"30","id":79770,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"30154:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"30141:15:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":79772,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79751,"src":"30159:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"30141:28:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79774,"nodeType":"ExpressionStatement","src":"30141:28:130"}]}},{"assignments":[79862],"declarations":[{"constant":false,"id":79862,"mutability":"mutable","name":"delta","nameLocation":"30984:5:130","nodeType":"VariableDeclaration","scope":80008,"src":"30977:12:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":79861,"name":"int256","nodeType":"ElementaryTypeName","src":"30977:6:130","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"id":79867,"initialValue":{"expression":{"baseExpression":{"id":79863,"name":"_proposalSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79730,"src":"30992:16:130","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$77726_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}},"id":79865,"indexExpression":{"id":79864,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79740,"src":"31009:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"30992:19:130","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$77726_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory"}},"id":79866,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"31012:12:130","memberName":"deltaSupport","nodeType":"MemberAccess","referencedDeclaration":77725,"src":"30992:32:130","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"VariableDeclarationStatement","src":"30977:47:130"},{"assignments":[79872],"declarations":[{"constant":false,"id":79872,"mutability":"mutable","name":"proposal","nameLocation":"31071:8:130","nodeType":"VariableDeclaration","scope":80008,"src":"31039:40:130","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":79871,"nodeType":"UserDefinedTypeName","pathNode":{"id":79870,"name":"StrategyStruct.Proposal","nameLocations":["31039:14:130","31054:8:130"],"nodeType":"IdentifierPath","referencedDeclaration":77721,"src":"31039:23:130"},"referencedDeclaration":77721,"src":"31039:23:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":79876,"initialValue":{"baseExpression":{"id":79873,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77969,"src":"31082:9:130","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$77721_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":79875,"indexExpression":{"id":79874,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79751,"src":"31092:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"31082:21:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"31039:64:130"},{"assignments":[79878],"declarations":[{"constant":false,"id":79878,"mutability":"mutable","name":"previousStakedPoints","nameLocation":"31213:20:130","nodeType":"VariableDeclaration","scope":80008,"src":"31205:28:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79877,"name":"uint256","nodeType":"ElementaryTypeName","src":"31205:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":79883,"initialValue":{"baseExpression":{"expression":{"id":79879,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79872,"src":"31236:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79880,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"31245:17:130","memberName":"voterStakedPoints","nodeType":"MemberAccess","referencedDeclaration":77717,"src":"31236:26:130","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":79882,"indexExpression":{"id":79881,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79726,"src":"31263:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"31236:35:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"31205:66:130"},{"assignments":[79885],"declarations":[{"constant":false,"id":79885,"mutability":"mutable","name":"stakedPoints","nameLocation":"31444:12:130","nodeType":"VariableDeclaration","scope":80008,"src":"31436:20:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79884,"name":"uint256","nodeType":"ElementaryTypeName","src":"31436:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":79890,"initialValue":{"arguments":[{"id":79887,"name":"previousStakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79878,"src":"31471:20:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":79888,"name":"delta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79862,"src":"31493:5:130","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":79886,"name":"_applyDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80046,"src":"31459:11:130","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_int256_$returns$_t_uint256_$","typeString":"function (uint256,int256) pure returns (uint256)"}},"id":79889,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31459:40:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"31436:63:130"},{"expression":{"id":79897,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":79891,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79872,"src":"31634:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79894,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"31643:17:130","memberName":"voterStakedPoints","nodeType":"MemberAccess","referencedDeclaration":77717,"src":"31634:26:130","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":79895,"indexExpression":{"id":79893,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79726,"src":"31661:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"31634:35:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":79896,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79885,"src":"31672:12:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"31634:50:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79898,"nodeType":"ExpressionStatement","src":"31634:50:130"},{"assignments":[79900],"declarations":[{"constant":false,"id":79900,"mutability":"mutable","name":"hasProposal","nameLocation":"31923:11:130","nodeType":"VariableDeclaration","scope":80008,"src":"31918:16:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":79899,"name":"bool","nodeType":"ElementaryTypeName","src":"31918:4:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":79902,"initialValue":{"hexValue":"66616c7365","id":79901,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"31937:5:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"nodeType":"VariableDeclarationStatement","src":"31918:24:130"},{"body":{"id":79931,"nodeType":"Block","src":"32023:179:130","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79923,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"baseExpression":{"id":79916,"name":"voterStakedProposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77978,"src":"32045:20:130","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$","typeString":"mapping(address => uint256[] storage ref)"}},"id":79918,"indexExpression":{"id":79917,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79726,"src":"32066:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"32045:29:130","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage","typeString":"uint256[] storage ref"}},"id":79920,"indexExpression":{"id":79919,"name":"k","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79904,"src":"32075:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"32045:32:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":79921,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79872,"src":"32081:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79922,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"32090:10:130","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":77696,"src":"32081:19:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"32045:55:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":79930,"nodeType":"IfStatement","src":"32041:147:130","trueBody":{"id":79929,"nodeType":"Block","src":"32102:86:130","statements":[{"expression":{"id":79926,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":79924,"name":"hasProposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79900,"src":"32124:11:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":79925,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"32138:4:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"32124:18:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":79927,"nodeType":"ExpressionStatement","src":"32124:18:130"},{"id":79928,"nodeType":"Break","src":"32164:5:130"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79912,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":79907,"name":"k","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79904,"src":"31976:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"baseExpression":{"id":79908,"name":"voterStakedProposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77978,"src":"31980:20:130","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$","typeString":"mapping(address => uint256[] storage ref)"}},"id":79910,"indexExpression":{"id":79909,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79726,"src":"32001:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"31980:29:130","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage","typeString":"uint256[] storage ref"}},"id":79911,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"32010:6:130","memberName":"length","nodeType":"MemberAccess","src":"31980:36:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"31976:40:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":79932,"initializationExpression":{"assignments":[79904],"declarations":[{"constant":false,"id":79904,"mutability":"mutable","name":"k","nameLocation":"31969:1:130","nodeType":"VariableDeclaration","scope":79932,"src":"31961:9:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79903,"name":"uint256","nodeType":"ElementaryTypeName","src":"31961:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":79906,"initialValue":{"hexValue":"30","id":79905,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"31973:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"31961:13:130"},"loopExpression":{"expression":{"id":79914,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"32018:3:130","subExpression":{"id":79913,"name":"k","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79904,"src":"32018:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79915,"nodeType":"ExpressionStatement","src":"32018:3:130"},"nodeType":"ForStatement","src":"31956:246:130"},{"condition":{"id":79934,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"32219:12:130","subExpression":{"id":79933,"name":"hasProposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79900,"src":"32220:11:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":79944,"nodeType":"IfStatement","src":"32215:106:130","trueBody":{"id":79943,"nodeType":"Block","src":"32233:88:130","statements":[{"expression":{"arguments":[{"expression":{"id":79939,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79872,"src":"32286:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79940,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"32295:10:130","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":77696,"src":"32286:19:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"baseExpression":{"id":79935,"name":"voterStakedProposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77978,"src":"32251:20:130","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$","typeString":"mapping(address => uint256[] storage ref)"}},"id":79937,"indexExpression":{"id":79936,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79726,"src":"32272:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"32251:29:130","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage","typeString":"uint256[] storage ref"}},"id":79938,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"32281:4:130","memberName":"push","nodeType":"MemberAccess","src":"32251:34:130","typeDescriptions":{"typeIdentifier":"t_function_arraypush_nonpayable$_t_array$_t_uint256_$dyn_storage_ptr_$_t_uint256_$returns$__$attached_to$_t_array$_t_uint256_$dyn_storage_ptr_$","typeString":"function (uint256[] storage pointer,uint256)"}},"id":79941,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32251:55:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":79942,"nodeType":"ExpressionStatement","src":"32251:55:130"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79947,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":79945,"name":"previousStakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79878,"src":"32476:20:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"id":79946,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79885,"src":"32500:12:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"32476:36:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":79977,"nodeType":"Block","src":"32681:161:130","statements":[{"expression":{"id":79967,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":79963,"name":"totalStaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77942,"src":"32699:11:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79966,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":79964,"name":"previousStakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79878,"src":"32714:20:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":79965,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79885,"src":"32737:12:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"32714:35:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"32699:50:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79968,"nodeType":"ExpressionStatement","src":"32699:50:130"},{"expression":{"id":79975,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":79969,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79872,"src":"32767:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79971,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"32776:12:130","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":77700,"src":"32767:21:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79974,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":79972,"name":"previousStakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79878,"src":"32792:20:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":79973,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79885,"src":"32815:12:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"32792:35:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"32767:60:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79976,"nodeType":"ExpressionStatement","src":"32767:60:130"}]},"id":79978,"nodeType":"IfStatement","src":"32472:370:130","trueBody":{"id":79962,"nodeType":"Block","src":"32514:161:130","statements":[{"expression":{"id":79952,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":79948,"name":"totalStaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77942,"src":"32532:11:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79951,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":79949,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79885,"src":"32547:12:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":79950,"name":"previousStakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79878,"src":"32562:20:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"32547:35:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"32532:50:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79953,"nodeType":"ExpressionStatement","src":"32532:50:130"},{"expression":{"id":79960,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":79954,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79872,"src":"32600:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79956,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"32609:12:130","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":77700,"src":"32600:21:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79959,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":79957,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79885,"src":"32625:12:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":79958,"name":"previousStakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79878,"src":"32640:20:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"32625:35:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"32600:60:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79961,"nodeType":"ExpressionStatement","src":"32600:60:130"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79982,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":79979,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79872,"src":"32859:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79980,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"32868:9:130","memberName":"blockLast","nodeType":"MemberAccess","referencedDeclaration":77710,"src":"32859:18:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":79981,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"32881:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"32859:23:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":80006,"nodeType":"Block","src":"32956:209:130","statements":[{"expression":{"arguments":[{"id":79992,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79872,"src":"33001:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},{"id":79993,"name":"previousStakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79878,"src":"33011:20:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":79991,"name":"_calculateAndSetConviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80339,"src":"32974:26:130","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_Proposal_$77721_storage_ptr_$_t_uint256_$returns$__$","typeString":"function (struct StrategyStruct.Proposal storage pointer,uint256)"}},"id":79994,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32974:58:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":79995,"nodeType":"ExpressionStatement","src":"32974:58:130"},{"eventCall":{"arguments":[{"id":79997,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79726,"src":"33068:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":79998,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79751,"src":"33077:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":79999,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79885,"src":"33089:12:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":80000,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79872,"src":"33103:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":80001,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"33112:12:130","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":77700,"src":"33103:21:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":80002,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79872,"src":"33126:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":80003,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"33135:14:130","memberName":"convictionLast","nodeType":"MemberAccess","referencedDeclaration":77702,"src":"33126:23:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":79996,"name":"SupportAdded","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77890,"src":"33055:12:130","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (address,uint256,uint256,uint256,uint256)"}},"id":80004,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33055:95:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":80005,"nodeType":"EmitStatement","src":"33050:100:130"}]},"id":80007,"nodeType":"IfStatement","src":"32855:310:130","trueBody":{"id":79990,"nodeType":"Block","src":"32884:66:130","statements":[{"expression":{"id":79988,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":79983,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79872,"src":"32902:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79985,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"32911:9:130","memberName":"blockLast","nodeType":"MemberAccess","referencedDeclaration":77710,"src":"32902:18:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":79986,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"32923:5:130","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":79987,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"32929:6:130","memberName":"number","nodeType":"MemberAccess","src":"32923:12:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"32902:33:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79989,"nodeType":"ExpressionStatement","src":"32902:33:130"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79746,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":79743,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79740,"src":"29876:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":79744,"name":"_proposalSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79730,"src":"29880:16:130","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$77726_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}},"id":79745,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"29897:6:130","memberName":"length","nodeType":"MemberAccess","src":"29880:23:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"29876:27:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":80009,"initializationExpression":{"assignments":[79740],"declarations":[{"constant":false,"id":79740,"mutability":"mutable","name":"i","nameLocation":"29869:1:130","nodeType":"VariableDeclaration","scope":80009,"src":"29861:9:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79739,"name":"uint256","nodeType":"ElementaryTypeName","src":"29861:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":79742,"initialValue":{"hexValue":"30","id":79741,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29873:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"29861:13:130"},"loopExpression":{"expression":{"id":79748,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"29905:3:130","subExpression":{"id":79747,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79740,"src":"29905:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79749,"nodeType":"ExpressionStatement","src":"29905:3:130"},"nodeType":"ForStatement","src":"29856:3319:130"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_addSupport","nameLocation":"29711:11:130","parameters":{"id":79731,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79726,"mutability":"mutable","name":"_sender","nameLocation":"29731:7:130","nodeType":"VariableDeclaration","scope":80011,"src":"29723:15:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":79725,"name":"address","nodeType":"ElementaryTypeName","src":"29723:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":79730,"mutability":"mutable","name":"_proposalSupport","nameLocation":"29780:16:130","nodeType":"VariableDeclaration","scope":80011,"src":"29740:56:130","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$77726_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport[]"},"typeName":{"baseType":{"id":79728,"nodeType":"UserDefinedTypeName","pathNode":{"id":79727,"name":"StrategyStruct.ProposalSupport","nameLocations":["29740:14:130","29755:15:130"],"nodeType":"IdentifierPath","referencedDeclaration":77726,"src":"29740:30:130"},"referencedDeclaration":77726,"src":"29740:30:130","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$77726_storage_ptr","typeString":"struct StrategyStruct.ProposalSupport"}},"id":79729,"nodeType":"ArrayTypeName","src":"29740:32:130","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$77726_storage_$dyn_storage_ptr","typeString":"struct StrategyStruct.ProposalSupport[]"}},"visibility":"internal"}],"src":"29722:75:130"},"returnParameters":{"id":79732,"nodeType":"ParameterList","parameters":[],"src":"29807:0:130"},"scope":80578,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":80046,"nodeType":"FunctionDefinition","src":"33187:276:130","nodes":[],"body":{"id":80045,"nodeType":"Block","src":"33273:190:130","nodes":[],"statements":[{"assignments":[80021],"declarations":[{"constant":false,"id":80021,"mutability":"mutable","name":"result","nameLocation":"33290:6:130","nodeType":"VariableDeclaration","scope":80045,"src":"33283:13:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":80020,"name":"int256","nodeType":"ElementaryTypeName","src":"33283:6:130","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"id":80028,"initialValue":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":80027,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":80024,"name":"_support","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80013,"src":"33306:8:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":80023,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"33299:6:130","typeDescriptions":{"typeIdentifier":"t_type$_t_int256_$","typeString":"type(int256)"},"typeName":{"id":80022,"name":"int256","nodeType":"ElementaryTypeName","src":"33299:6:130","typeDescriptions":{}}},"id":80025,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33299:16:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":80026,"name":"_delta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80015,"src":"33318:6:130","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"33299:25:130","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"VariableDeclarationStatement","src":"33283:41:130"},{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":80031,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":80029,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80021,"src":"33339:6:130","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"hexValue":"30","id":80030,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"33348:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"33339:10:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":80039,"nodeType":"IfStatement","src":"33335:90:130","trueBody":{"id":80038,"nodeType":"Block","src":"33351:74:130","statements":[{"errorCall":{"arguments":[{"id":80033,"name":"_support","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80013,"src":"33389:8:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":80034,"name":"_delta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80015,"src":"33399:6:130","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":80035,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80021,"src":"33407:6:130","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":80032,"name":"SupportUnderflow","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77793,"src":"33372:16:130","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_int256_$_t_int256_$returns$__$","typeString":"function (uint256,int256,int256) pure"}},"id":80036,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33372:42:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":80037,"nodeType":"RevertStatement","src":"33365:49:130"}]}},{"expression":{"arguments":[{"id":80042,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80021,"src":"33449:6:130","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":80041,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"33441:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":80040,"name":"uint256","nodeType":"ElementaryTypeName","src":"33441:7:130","typeDescriptions":{}}},"id":80043,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33441:15:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":80019,"id":80044,"nodeType":"Return","src":"33434:22:130"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_applyDelta","nameLocation":"33196:11:130","parameters":{"id":80016,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80013,"mutability":"mutable","name":"_support","nameLocation":"33216:8:130","nodeType":"VariableDeclaration","scope":80046,"src":"33208:16:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80012,"name":"uint256","nodeType":"ElementaryTypeName","src":"33208:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":80015,"mutability":"mutable","name":"_delta","nameLocation":"33233:6:130","nodeType":"VariableDeclaration","scope":80046,"src":"33226:13:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":80014,"name":"int256","nodeType":"ElementaryTypeName","src":"33226:6:130","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"33207:33:130"},"returnParameters":{"id":80019,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80018,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":80046,"src":"33264:7:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80017,"name":"uint256","nodeType":"ElementaryTypeName","src":"33264:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"33263:9:130"},"scope":80578,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":80102,"nodeType":"FunctionDefinition","src":"33880:1145:130","nodes":[],"body":{"id":80101,"nodeType":"Block","src":"34027:998:130","nodes":[],"statements":[{"assignments":[80059],"declarations":[{"constant":false,"id":80059,"mutability":"mutable","name":"t","nameLocation":"34045:1:130","nodeType":"VariableDeclaration","scope":80101,"src":"34037:9:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80058,"name":"uint256","nodeType":"ElementaryTypeName","src":"34037:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":80061,"initialValue":{"id":80060,"name":"_timePassed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80049,"src":"34049:11:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"34037:23:130"},{"assignments":[80063],"declarations":[{"constant":false,"id":80063,"mutability":"mutable","name":"atTWO_128","nameLocation":"34383:9:130","nodeType":"VariableDeclaration","scope":80101,"src":"34375:17:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80062,"name":"uint256","nodeType":"ElementaryTypeName","src":"34375:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":80073,"initialValue":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80070,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80067,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":80065,"name":"decay","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77933,"src":"34401:5:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"313238","id":80066,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"34410:3:130","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"34401:12:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":80068,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"34400:14:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":80069,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77919,"src":"34417:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"34400:18:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":80071,"name":"t","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80059,"src":"34420:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":80064,"name":"_pow","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80290,"src":"34395:4:130","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":80072,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34395:27:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"34375:47:130"},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80099,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80096,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80093,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80076,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":80074,"name":"atTWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80063,"src":"34918:9:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":80075,"name":"_lastConv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80051,"src":"34930:9:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"34918:21:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":80077,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"34917:23:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80091,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80085,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80080,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":80078,"name":"_oldAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80053,"src":"34945:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":80079,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77919,"src":"34958:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"34945:14:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80083,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":80081,"name":"TWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77922,"src":"34963:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":80082,"name":"atTWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80063,"src":"34973:9:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"34963:19:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":80084,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"34962:21:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"34945:38:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":80086,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"34944:40:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80089,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":80087,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77919,"src":"34988:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":80088,"name":"decay","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77933,"src":"34992:5:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"34988:9:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":80090,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"34987:11:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"34944:54:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":80092,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"34943:56:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"34917:82:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":80094,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"34916:84:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":80095,"name":"TWO_127","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77925,"src":"35003:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"34916:94:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":80097,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"34915:96:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"313238","id":80098,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"35015:3:130","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"34915:103:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":80057,"id":80100,"nodeType":"Return","src":"34908:110:130"}]},"documentation":{"id":80047,"nodeType":"StructuredDocumentation","src":"33469:406:130","text":" @dev Conviction formula: a^t * y(0) + x * (1 - a^t) / (1 - a)\n Solidity implementation: y = (2^128 * a^t * y0 + x * D * (2^128 - 2^128 * a^t) / (D - aD) + 2^127) / 2^128\n @param _timePassed Number of blocks since last conviction record\n @param _lastConv Last conviction record\n @param _oldAmount Amount of tokens staked until now\n @return Current conviction"},"functionSelector":"346db8cb","implemented":true,"kind":"function","modifiers":[],"name":"calculateConviction","nameLocation":"33889:19:130","parameters":{"id":80054,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80049,"mutability":"mutable","name":"_timePassed","nameLocation":"33917:11:130","nodeType":"VariableDeclaration","scope":80102,"src":"33909:19:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80048,"name":"uint256","nodeType":"ElementaryTypeName","src":"33909:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":80051,"mutability":"mutable","name":"_lastConv","nameLocation":"33938:9:130","nodeType":"VariableDeclaration","scope":80102,"src":"33930:17:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80050,"name":"uint256","nodeType":"ElementaryTypeName","src":"33930:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":80053,"mutability":"mutable","name":"_oldAmount","nameLocation":"33957:10:130","nodeType":"VariableDeclaration","scope":80102,"src":"33949:18:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80052,"name":"uint256","nodeType":"ElementaryTypeName","src":"33949:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"33908:60:130"},"returnParameters":{"id":80057,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80056,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":80102,"src":"34014:7:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80055,"name":"uint256","nodeType":"ElementaryTypeName","src":"34014:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"34013:9:130"},"scope":80578,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":80190,"nodeType":"FunctionDefinition","src":"35606:1482:130","nodes":[],"body":{"id":80189,"nodeType":"Block","src":"35701:1387:130","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80112,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":80110,"name":"poolAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74092,"src":"35835:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"hexValue":"30","id":80111,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"35849:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"35835:15:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":80117,"nodeType":"IfStatement","src":"35831:66:130","trueBody":{"id":80116,"nodeType":"Block","src":"35852:45:130","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":80113,"name":"PoolIsEmpty","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77771,"src":"35873:11:130","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":80114,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35873:13:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":80115,"nodeType":"RevertStatement","src":"35866:20:130"}]}},{"condition":{"arguments":[{"id":80119,"name":"_requestedAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80105,"src":"36353:16:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":80118,"name":"_isOverMaxRatio","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79628,"src":"36337:15:130","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view returns (bool)"}},"id":80120,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36337:33:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":80125,"nodeType":"IfStatement","src":"36333:91:130","trueBody":{"id":80124,"nodeType":"Block","src":"36372:52:130","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":80121,"name":"AmountOverMaxRatio","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77779,"src":"36393:18:130","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":80122,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36393:20:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":80123,"nodeType":"RevertStatement","src":"36386:27:130"}]}},{"assignments":[80127],"declarations":[{"constant":false,"id":80127,"mutability":"mutable","name":"denom","nameLocation":"36580:5:130","nodeType":"VariableDeclaration","scope":80189,"src":"36572:13:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80126,"name":"uint256","nodeType":"ElementaryTypeName","src":"36572:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":80145,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80144,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80135,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80132,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":80128,"name":"maxRatio","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77935,"src":"36589:8:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"commonType":{"typeIdentifier":"t_rational_18446744073709551616_by_1","typeString":"int_const 18446744073709551616"},"id":80131,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"32","id":80129,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"36600:1:130","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"3634","id":80130,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"36605:2:130","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"36600:7:130","typeDescriptions":{"typeIdentifier":"t_rational_18446744073709551616_by_1","typeString":"int_const 18446744073709551616"}},"src":"36589:18:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":80133,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"36588:20:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":80134,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77919,"src":"36611:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"36588:24:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80143,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80140,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":80136,"name":"_requestedAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80105,"src":"36616:16:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"commonType":{"typeIdentifier":"t_rational_18446744073709551616_by_1","typeString":"int_const 18446744073709551616"},"id":80139,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"32","id":80137,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"36635:1:130","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"3634","id":80138,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"36640:2:130","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"36635:7:130","typeDescriptions":{"typeIdentifier":"t_rational_18446744073709551616_by_1","typeString":"int_const 18446744073709551616"}},"src":"36616:26:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":80141,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"36615:28:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":80142,"name":"poolAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74092,"src":"36646:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"36615:41:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"36588:68:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"36572:84:130"},{"expression":{"id":80178,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":80146,"name":"_threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80108,"src":"36666:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80177,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80174,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80170,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80164,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80161,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80152,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80149,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":80147,"name":"weight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77937,"src":"36698:6:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"313238","id":80148,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"36708:3:130","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"36698:13:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":80150,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"36697:15:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":80151,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77919,"src":"36715:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"36697:19:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":80153,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"36696:21:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80159,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80156,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":80154,"name":"denom","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80127,"src":"36722:5:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":80155,"name":"denom","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80127,"src":"36730:5:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"36722:13:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":80157,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"36721:15:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"3634","id":80158,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"36740:2:130","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"36721:21:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":80160,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"36720:23:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"36696:47:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":80162,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"36695:49:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":80163,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77919,"src":"36747:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"36695:53:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":80165,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"36694:55:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80168,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":80166,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77919,"src":"36753:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":80167,"name":"decay","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77933,"src":"36757:5:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"36753:9:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":80169,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"36752:11:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"36694:69:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":80171,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"36693:71:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":80172,"name":"totalEffectiveActivePoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80298,"src":"36767:26:130","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint256_$","typeString":"function () view returns (uint256)"}},"id":80173,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36767:28:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"36693:102:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":80175,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"36679:126:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"3634","id":80176,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"36809:2:130","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"36679:132:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"36666:145:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":80179,"nodeType":"ExpressionStatement","src":"36666:145:130"},{"expression":{"id":80187,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":80180,"name":"_threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80108,"src":"37001:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80183,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":80181,"name":"_threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80108,"src":"37014:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":80182,"name":"_minThresholdPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77947,"src":"37027:19:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"37014:32:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"id":80185,"name":"_minThresholdPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77947,"src":"37062:19:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":80186,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"37014:67:130","trueExpression":{"id":80184,"name":"_threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80108,"src":"37049:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"37001:80:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":80188,"nodeType":"ExpressionStatement","src":"37001:80:130"}]},"documentation":{"id":80103,"nodeType":"StructuredDocumentation","src":"35031:570:130","text":" @dev Formula: ρ * totalStaked / (1 - a) / (β - requestedAmount / total)**2\n For the Solidity implementation we amplify ρ and β and simplify the formula:\n weight = ρ * D\n maxRatio = β * D\n decay = a * D\n threshold = weight * totalStaked * D ** 2 * funds ** 2 / (D - decay) / (maxRatio * funds - requestedAmount * D) ** 2\n @param _requestedAmount Requested amount of tokens on certain proposal\n @return _threshold Threshold a proposal's conviction should surpass in order to be able to\n executed it."},"functionSelector":"59a5db8b","implemented":true,"kind":"function","modifiers":[],"name":"calculateThreshold","nameLocation":"35615:18:130","parameters":{"id":80106,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80105,"mutability":"mutable","name":"_requestedAmount","nameLocation":"35642:16:130","nodeType":"VariableDeclaration","scope":80190,"src":"35634:24:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80104,"name":"uint256","nodeType":"ElementaryTypeName","src":"35634:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"35633:26:130"},"returnParameters":{"id":80109,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80108,"mutability":"mutable","name":"_threshold","nameLocation":"35689:10:130","nodeType":"VariableDeclaration","scope":80190,"src":"35681:18:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80107,"name":"uint256","nodeType":"ElementaryTypeName","src":"35681:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"35680:20:130"},"scope":80578,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":80225,"nodeType":"FunctionDefinition","src":"37349:269:130","nodes":[],"body":{"id":80224,"nodeType":"Block","src":"37427:191:130","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80203,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":80201,"name":"_a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80193,"src":"37445:2:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"id":80202,"name":"TWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77922,"src":"37451:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"37445:13:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5f612073686f756c64206265206c657373207468616e206f7220657175616c20746f20325e313238","id":80204,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"37460:42:130","typeDescriptions":{"typeIdentifier":"t_stringliteral_44e2d05298e19dba9341288d7967f4ffbb5a083f725e2470963d4d2d80484153","typeString":"literal_string \"_a should be less than or equal to 2^128\""},"value":"_a should be less than or equal to 2^128"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_44e2d05298e19dba9341288d7967f4ffbb5a083f725e2470963d4d2d80484153","typeString":"literal_string \"_a should be less than or equal to 2^128\""}],"id":80200,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"37437:7:130","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":80205,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37437:66:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":80206,"nodeType":"ExpressionStatement","src":"37437:66:130"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80210,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":80208,"name":"_b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80195,"src":"37521:2:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":80209,"name":"TWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77922,"src":"37526:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"37521:12:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5f622073686f756c64206265206c657373207468616e20325e313238","id":80211,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"37535:30:130","typeDescriptions":{"typeIdentifier":"t_stringliteral_94029ed39d36fd1673853e0d61636cb1f54d05801d9baceb39b21e0f4420d664","typeString":"literal_string \"_b should be less than 2^128\""},"value":"_b should be less than 2^128"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_94029ed39d36fd1673853e0d61636cb1f54d05801d9baceb39b21e0f4420d664","typeString":"literal_string \"_b should be less than 2^128\""}],"id":80207,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"37513:7:130","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":80212,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37513:53:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":80213,"nodeType":"ExpressionStatement","src":"37513:53:130"},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80222,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80219,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80216,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":80214,"name":"_a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80193,"src":"37585:2:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":80215,"name":"_b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80195,"src":"37590:2:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"37585:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":80217,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"37584:9:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":80218,"name":"TWO_127","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77925,"src":"37596:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"37584:19:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":80220,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"37583:21:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"313238","id":80221,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"37608:3:130","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"37583:28:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":80199,"id":80223,"nodeType":"Return","src":"37576:35:130"}]},"documentation":{"id":80191,"nodeType":"StructuredDocumentation","src":"37094:250:130","text":" Multiply _a by _b / 2^128. Parameter _a should be less than or equal to\n 2^128 and parameter _b should be less than 2^128.\n @param _a left argument\n @param _b right argument\n @return _result _a * _b / 2^128"},"implemented":true,"kind":"function","modifiers":[],"name":"_mul","nameLocation":"37358:4:130","parameters":{"id":80196,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80193,"mutability":"mutable","name":"_a","nameLocation":"37371:2:130","nodeType":"VariableDeclaration","scope":80225,"src":"37363:10:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80192,"name":"uint256","nodeType":"ElementaryTypeName","src":"37363:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":80195,"mutability":"mutable","name":"_b","nameLocation":"37383:2:130","nodeType":"VariableDeclaration","scope":80225,"src":"37375:10:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80194,"name":"uint256","nodeType":"ElementaryTypeName","src":"37375:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"37362:24:130"},"returnParameters":{"id":80199,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80198,"mutability":"mutable","name":"_result","nameLocation":"37418:7:130","nodeType":"VariableDeclaration","scope":80225,"src":"37410:15:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80197,"name":"uint256","nodeType":"ElementaryTypeName","src":"37410:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"37409:17:130"},"scope":80578,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":80290,"nodeType":"FunctionDefinition","src":"37840:447:130","nodes":[],"body":{"id":80289,"nodeType":"Block","src":"37918:369:130","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80238,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":80236,"name":"_a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80228,"src":"37936:2:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":80237,"name":"TWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77922,"src":"37941:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"37936:12:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5f612073686f756c64206265206c657373207468616e20325e313238","id":80239,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"37950:30:130","typeDescriptions":{"typeIdentifier":"t_stringliteral_8cb59667c527f8a0ca0170161b6ece5e9864e8aa2d080a486f0167056517515f","typeString":"literal_string \"_a should be less than 2^128\""},"value":"_a should be less than 2^128"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_8cb59667c527f8a0ca0170161b6ece5e9864e8aa2d080a486f0167056517515f","typeString":"literal_string \"_a should be less than 2^128\""}],"id":80235,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"37928:7:130","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":80240,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37928:53:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":80241,"nodeType":"ExpressionStatement","src":"37928:53:130"},{"assignments":[80243],"declarations":[{"constant":false,"id":80243,"mutability":"mutable","name":"a","nameLocation":"37999:1:130","nodeType":"VariableDeclaration","scope":80289,"src":"37991:9:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80242,"name":"uint256","nodeType":"ElementaryTypeName","src":"37991:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":80245,"initialValue":{"id":80244,"name":"_a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80228,"src":"38003:2:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"37991:14:130"},{"assignments":[80247],"declarations":[{"constant":false,"id":80247,"mutability":"mutable","name":"b","nameLocation":"38023:1:130","nodeType":"VariableDeclaration","scope":80289,"src":"38015:9:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80246,"name":"uint256","nodeType":"ElementaryTypeName","src":"38015:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":80249,"initialValue":{"id":80248,"name":"_b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80230,"src":"38027:2:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"38015:14:130"},{"expression":{"id":80252,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":80250,"name":"_result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80233,"src":"38039:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":80251,"name":"TWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77922,"src":"38049:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"38039:17:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":80253,"nodeType":"ExpressionStatement","src":"38039:17:130"},{"body":{"id":80287,"nodeType":"Block","src":"38080:201:130","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80261,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80259,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":80257,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80247,"src":"38098:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"hexValue":"31","id":80258,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"38102:1:130","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"38098:5:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":80260,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"38107:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"38098:10:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":80285,"nodeType":"Block","src":"38188:83:130","statements":[{"expression":{"id":80279,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":80274,"name":"_result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80233,"src":"38206:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":80276,"name":"_result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80233,"src":"38221:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":80277,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80243,"src":"38230:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":80275,"name":"_mul","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80225,"src":"38216:4:130","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":80278,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38216:16:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"38206:26:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":80280,"nodeType":"ExpressionStatement","src":"38206:26:130"},{"expression":{"id":80283,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":80281,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80247,"src":"38250:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"hexValue":"31","id":80282,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"38255:1:130","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"38250:6:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":80284,"nodeType":"ExpressionStatement","src":"38250:6:130"}]},"id":80286,"nodeType":"IfStatement","src":"38094:177:130","trueBody":{"id":80273,"nodeType":"Block","src":"38110:72:130","statements":[{"expression":{"id":80267,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":80262,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80243,"src":"38128:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":80264,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80243,"src":"38137:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":80265,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80243,"src":"38140:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":80263,"name":"_mul","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80225,"src":"38132:4:130","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":80266,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38132:10:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"38128:14:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":80268,"nodeType":"ExpressionStatement","src":"38128:14:130"},{"expression":{"id":80271,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":80269,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80247,"src":"38160:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":">>=","rightHandSide":{"hexValue":"31","id":80270,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"38166:1:130","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"38160:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":80272,"nodeType":"ExpressionStatement","src":"38160:7:130"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80256,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":80254,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80247,"src":"38073:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":80255,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"38077:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"38073:5:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":80288,"nodeType":"WhileStatement","src":"38066:215:130"}]},"documentation":{"id":80226,"nodeType":"StructuredDocumentation","src":"37624:211:130","text":" Calculate (_a / 2^128)^_b * 2^128. Parameter _a should be less than 2^128.\n @param _a left argument\n @param _b right argument\n @return _result (_a / 2^128)^_b * 2^128"},"implemented":true,"kind":"function","modifiers":[],"name":"_pow","nameLocation":"37849:4:130","parameters":{"id":80231,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80228,"mutability":"mutable","name":"_a","nameLocation":"37862:2:130","nodeType":"VariableDeclaration","scope":80290,"src":"37854:10:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80227,"name":"uint256","nodeType":"ElementaryTypeName","src":"37854:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":80230,"mutability":"mutable","name":"_b","nameLocation":"37874:2:130","nodeType":"VariableDeclaration","scope":80290,"src":"37866:10:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80229,"name":"uint256","nodeType":"ElementaryTypeName","src":"37866:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"37853:24:130"},"returnParameters":{"id":80234,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80233,"mutability":"mutable","name":"_result","nameLocation":"37909:7:130","nodeType":"VariableDeclaration","scope":80290,"src":"37901:15:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80232,"name":"uint256","nodeType":"ElementaryTypeName","src":"37901:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"37900:17:130"},"scope":80578,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":80298,"nodeType":"FunctionDefinition","src":"38293:112:130","nodes":[],"body":{"id":80297,"nodeType":"Block","src":"38361:44:130","nodes":[],"statements":[{"expression":{"id":80295,"name":"totalPointsActivated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77944,"src":"38378:20:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":80294,"id":80296,"nodeType":"Return","src":"38371:27:130"}]},"functionSelector":"d1e36232","implemented":true,"kind":"function","modifiers":[],"name":"totalEffectiveActivePoints","nameLocation":"38302:26:130","parameters":{"id":80291,"nodeType":"ParameterList","parameters":[],"src":"38328:2:130"},"returnParameters":{"id":80294,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80293,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":80298,"src":"38352:7:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80292,"name":"uint256","nodeType":"ElementaryTypeName","src":"38352:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"38351:9:130"},"scope":80578,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":80339,"nodeType":"FunctionDefinition","src":"38595:396:130","nodes":[],"body":{"id":80338,"nodeType":"Block","src":"38703:288:130","nodes":[],"statements":[{"assignments":[80308,80310],"declarations":[{"constant":false,"id":80308,"mutability":"mutable","name":"conviction","nameLocation":"38722:10:130","nodeType":"VariableDeclaration","scope":80338,"src":"38714:18:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80307,"name":"uint256","nodeType":"ElementaryTypeName","src":"38714:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":80310,"mutability":"mutable","name":"blockNumber","nameLocation":"38742:11:130","nodeType":"VariableDeclaration","scope":80338,"src":"38734:19:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80309,"name":"uint256","nodeType":"ElementaryTypeName","src":"38734:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":80315,"initialValue":{"arguments":[{"id":80312,"name":"_proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80302,"src":"38791:9:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},{"id":80313,"name":"_oldStaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80304,"src":"38802:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":80311,"name":"_checkBlockAndCalculateConviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80386,"src":"38757:33:130","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Proposal_$77721_storage_ptr_$_t_uint256_$returns$_t_uint256_$_t_uint256_$","typeString":"function (struct StrategyStruct.Proposal storage pointer,uint256) view returns (uint256,uint256)"}},"id":80314,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38757:56:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_uint256_$","typeString":"tuple(uint256,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"38713:100:130"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":80322,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80318,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":80316,"name":"conviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80308,"src":"38827:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":80317,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"38841:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"38827:15:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80321,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":80319,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80310,"src":"38846:11:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":80320,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"38861:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"38846:16:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"38827:35:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":80325,"nodeType":"IfStatement","src":"38823:72:130","trueBody":{"id":80324,"nodeType":"Block","src":"38864:31:130","statements":[{"functionReturnParameters":80306,"id":80323,"nodeType":"Return","src":"38878:7:130"}]}},{"expression":{"id":80330,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":80326,"name":"_proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80302,"src":"38904:9:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":80328,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"38914:9:130","memberName":"blockLast","nodeType":"MemberAccess","referencedDeclaration":77710,"src":"38904:19:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":80329,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80310,"src":"38926:11:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"38904:33:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":80331,"nodeType":"ExpressionStatement","src":"38904:33:130"},{"expression":{"id":80336,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":80332,"name":"_proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80302,"src":"38947:9:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":80334,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"38957:14:130","memberName":"convictionLast","nodeType":"MemberAccess","referencedDeclaration":77702,"src":"38947:24:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":80335,"name":"conviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80308,"src":"38974:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"38947:37:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":80337,"nodeType":"ExpressionStatement","src":"38947:37:130"}]},"documentation":{"id":80299,"nodeType":"StructuredDocumentation","src":"38411:179:130","text":" @dev Calculate conviction and store it on the proposal\n @param _proposal Proposal\n @param _oldStaked Amount of tokens staked on a proposal until now"},"implemented":true,"kind":"function","modifiers":[],"name":"_calculateAndSetConviction","nameLocation":"38604:26:130","parameters":{"id":80305,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80302,"mutability":"mutable","name":"_proposal","nameLocation":"38663:9:130","nodeType":"VariableDeclaration","scope":80339,"src":"38631:41:130","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":80301,"nodeType":"UserDefinedTypeName","pathNode":{"id":80300,"name":"StrategyStruct.Proposal","nameLocations":["38631:14:130","38646:8:130"],"nodeType":"IdentifierPath","referencedDeclaration":77721,"src":"38631:23:130"},"referencedDeclaration":77721,"src":"38631:23:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"},{"constant":false,"id":80304,"mutability":"mutable","name":"_oldStaked","nameLocation":"38682:10:130","nodeType":"VariableDeclaration","scope":80339,"src":"38674:18:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80303,"name":"uint256","nodeType":"ElementaryTypeName","src":"38674:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"38630:63:130"},"returnParameters":{"id":80306,"nodeType":"ParameterList","parameters":[],"src":"38703:0:130"},"scope":80578,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":80386,"nodeType":"FunctionDefinition","src":"38997:719:130","nodes":[],"body":{"id":80385,"nodeType":"Block","src":"39195:521:130","nodes":[],"statements":[{"expression":{"id":80354,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":80351,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80349,"src":"39205:11:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":80352,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"39219:5:130","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":80353,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"39225:6:130","memberName":"number","nodeType":"MemberAccess","src":"39219:12:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"39205:26:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":80355,"nodeType":"ExpressionStatement","src":"39205:26:130"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80360,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":80357,"name":"_proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80342,"src":"39248:9:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":80358,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"39258:9:130","memberName":"blockLast","nodeType":"MemberAccess","referencedDeclaration":77710,"src":"39248:19:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"id":80359,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80349,"src":"39271:11:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"39248:34:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":80356,"name":"assert","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-3,"src":"39241:6:130","typeDescriptions":{"typeIdentifier":"t_function_assert_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":80361,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"39241:42:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":80362,"nodeType":"ExpressionStatement","src":"39241:42:130"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80366,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":80363,"name":"_proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80342,"src":"39297:9:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":80364,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"39307:9:130","memberName":"blockLast","nodeType":"MemberAccess","referencedDeclaration":77710,"src":"39297:19:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":80365,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80349,"src":"39320:11:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"39297:34:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":80372,"nodeType":"IfStatement","src":"39293:173:130","trueBody":{"id":80371,"nodeType":"Block","src":"39333:133:130","statements":[{"expression":{"components":[{"hexValue":"30","id":80367,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"39421:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":80368,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"39424:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"id":80369,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"39420:6:130","typeDescriptions":{"typeIdentifier":"t_tuple$_t_rational_0_by_1_$_t_rational_0_by_1_$","typeString":"tuple(int_const 0,int_const 0)"}},"functionReturnParameters":80350,"id":80370,"nodeType":"Return","src":"39413:13:130"}]}},{"expression":{"id":80383,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":80373,"name":"conviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80347,"src":"39519:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80378,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":80375,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80349,"src":"39565:11:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"expression":{"id":80376,"name":"_proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80342,"src":"39579:9:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":80377,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"39589:9:130","memberName":"blockLast","nodeType":"MemberAccess","referencedDeclaration":77710,"src":"39579:19:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"39565:33:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":80379,"name":"_proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80342,"src":"39651:9:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":80380,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"39661:14:130","memberName":"convictionLast","nodeType":"MemberAccess","referencedDeclaration":77702,"src":"39651:24:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":80381,"name":"_oldStaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80344,"src":"39689:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":80374,"name":"calculateConviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80102,"src":"39532:19:130","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256,uint256) view returns (uint256)"}},"id":80382,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"39532:177:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"39519:190:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":80384,"nodeType":"ExpressionStatement","src":"39519:190:130"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_checkBlockAndCalculateConviction","nameLocation":"39006:33:130","parameters":{"id":80345,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80342,"mutability":"mutable","name":"_proposal","nameLocation":"39072:9:130","nodeType":"VariableDeclaration","scope":80386,"src":"39040:41:130","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":80341,"nodeType":"UserDefinedTypeName","pathNode":{"id":80340,"name":"StrategyStruct.Proposal","nameLocations":["39040:14:130","39055:8:130"],"nodeType":"IdentifierPath","referencedDeclaration":77721,"src":"39040:23:130"},"referencedDeclaration":77721,"src":"39040:23:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"},{"constant":false,"id":80344,"mutability":"mutable","name":"_oldStaked","nameLocation":"39091:10:130","nodeType":"VariableDeclaration","scope":80386,"src":"39083:18:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80343,"name":"uint256","nodeType":"ElementaryTypeName","src":"39083:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"39039:63:130"},"returnParameters":{"id":80350,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80347,"mutability":"mutable","name":"conviction","nameLocation":"39158:10:130","nodeType":"VariableDeclaration","scope":80386,"src":"39150:18:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80346,"name":"uint256","nodeType":"ElementaryTypeName","src":"39150:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":80349,"mutability":"mutable","name":"blockNumber","nameLocation":"39178:11:130","nodeType":"VariableDeclaration","scope":80386,"src":"39170:19:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80348,"name":"uint256","nodeType":"ElementaryTypeName","src":"39170:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"39149:41:130"},"scope":80578,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":80434,"nodeType":"FunctionDefinition","src":"39722:520:130","nodes":[],"body":{"id":80433,"nodeType":"Block","src":"39801:441:130","nodes":[],"statements":[{"assignments":[80397],"declarations":[{"constant":false,"id":80397,"mutability":"mutable","name":"proposal","nameLocation":"39843:8:130","nodeType":"VariableDeclaration","scope":80433,"src":"39811:40:130","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":80396,"nodeType":"UserDefinedTypeName","pathNode":{"id":80395,"name":"StrategyStruct.Proposal","nameLocations":["39811:14:130","39826:8:130"],"nodeType":"IdentifierPath","referencedDeclaration":77721,"src":"39811:23:130"},"referencedDeclaration":77721,"src":"39811:23:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":80401,"initialValue":{"baseExpression":{"id":80398,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77969,"src":"39854:9:130","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$77721_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":80400,"indexExpression":{"id":80399,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80388,"src":"39864:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"39854:21:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"39811:64:130"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80405,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":80402,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80397,"src":"39890:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":80403,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"39899:10:130","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":77696,"src":"39890:19:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":80404,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80388,"src":"39913:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"39890:33:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":80411,"nodeType":"IfStatement","src":"39886:100:130","trueBody":{"id":80410,"nodeType":"Block","src":"39925:61:130","statements":[{"errorCall":{"arguments":[{"id":80407,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80388,"src":"39964:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":80406,"name":"ProposalNotInList","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77815,"src":"39946:17:130","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":80408,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"39946:29:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":80409,"nodeType":"RevertStatement","src":"39939:36:130"}]}},{"condition":{"commonType":{"typeIdentifier":"t_enum$_ProposalStatus_$77694","typeString":"enum StrategyStruct.ProposalStatus"},"id":80417,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":80412,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80397,"src":"40000:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":80413,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"40009:14:130","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":77713,"src":"40000:23:130","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$77694","typeString":"enum StrategyStruct.ProposalStatus"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"expression":{"id":80414,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77752,"src":"40027:14:130","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$77752_$","typeString":"type(library StrategyStruct)"}},"id":80415,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"40042:14:130","memberName":"ProposalStatus","nodeType":"MemberAccess","referencedDeclaration":77694,"src":"40027:29:130","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$77694_$","typeString":"type(enum StrategyStruct.ProposalStatus)"}},"id":80416,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"40057:6:130","memberName":"Active","nodeType":"MemberAccess","referencedDeclaration":77690,"src":"40027:36:130","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$77694","typeString":"enum StrategyStruct.ProposalStatus"}},"src":"40000:63:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":80423,"nodeType":"IfStatement","src":"39996:130:130","trueBody":{"id":80422,"nodeType":"Block","src":"40065:61:130","statements":[{"errorCall":{"arguments":[{"id":80419,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80388,"src":"40104:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":80418,"name":"ProposalNotActive","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77811,"src":"40086:17:130","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":80420,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"40086:29:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":80421,"nodeType":"RevertStatement","src":"40079:36:130"}]}},{"expression":{"arguments":[{"id":80425,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80397,"src":"40163:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},{"expression":{"id":80426,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80397,"src":"40173:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":80427,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"40182:12:130","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":77700,"src":"40173:21:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":80424,"name":"_calculateAndSetConviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80339,"src":"40136:26:130","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_Proposal_$77721_storage_ptr_$_t_uint256_$returns$__$","typeString":"function (struct StrategyStruct.Proposal storage pointer,uint256)"}},"id":80428,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"40136:59:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":80429,"nodeType":"ExpressionStatement","src":"40136:59:130"},{"expression":{"expression":{"id":80430,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80397,"src":"40212:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":80431,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"40221:14:130","memberName":"convictionLast","nodeType":"MemberAccess","referencedDeclaration":77702,"src":"40212:23:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":80392,"id":80432,"nodeType":"Return","src":"40205:30:130"}]},"functionSelector":"1aa91a9e","implemented":true,"kind":"function","modifiers":[],"name":"updateProposalConviction","nameLocation":"39731:24:130","parameters":{"id":80389,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80388,"mutability":"mutable","name":"proposalId","nameLocation":"39764:10:130","nodeType":"VariableDeclaration","scope":80434,"src":"39756:18:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80387,"name":"uint256","nodeType":"ElementaryTypeName","src":"39756:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"39755:20:130"},"returnParameters":{"id":80392,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80391,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":80434,"src":"39792:7:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80390,"name":"uint256","nodeType":"ElementaryTypeName","src":"39792:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"39791:9:130"},"scope":80578,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":80453,"nodeType":"FunctionDefinition","src":"40248:124:130","nodes":[],"body":{"id":80452,"nodeType":"Block","src":"40320:52:130","nodes":[],"statements":[{"expression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80449,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80443,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":80441,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80436,"src":"40339:6:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":80442,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77919,"src":"40348:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"40339:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":80444,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"40338:12:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80447,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":80445,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77919,"src":"40354:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":80446,"name":"decay","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77933,"src":"40358:5:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"40354:9:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":80448,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"40353:11:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"40338:26:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":80450,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"40337:28:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":80440,"id":80451,"nodeType":"Return","src":"40330:35:130"}]},"functionSelector":"950559d7","implemented":true,"kind":"function","modifiers":[],"name":"getMaxConviction","nameLocation":"40257:16:130","parameters":{"id":80437,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80436,"mutability":"mutable","name":"amount","nameLocation":"40282:6:130","nodeType":"VariableDeclaration","scope":80453,"src":"40274:14:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80435,"name":"uint256","nodeType":"ElementaryTypeName","src":"40274:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"40273:16:130"},"returnParameters":{"id":80440,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80439,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":80453,"src":"40311:7:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80438,"name":"uint256","nodeType":"ElementaryTypeName","src":"40311:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"40310:9:130"},"scope":80578,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":80471,"nodeType":"FunctionDefinition","src":"40378:137:130","nodes":[],"body":{"id":80470,"nodeType":"Block","src":"40449:66:130","nodes":[],"statements":[{"expression":{"id":80464,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":80462,"name":"decay","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77933,"src":"40459:5:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":80463,"name":"_decay","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80455,"src":"40467:6:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"40459:14:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":80465,"nodeType":"ExpressionStatement","src":"40459:14:130"},{"eventCall":{"arguments":[{"id":80467,"name":"_decay","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80455,"src":"40501:6:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":80466,"name":"DecayUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77898,"src":"40488:12:130","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":80468,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"40488:20:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":80469,"nodeType":"EmitStatement","src":"40483:25:130"}]},"functionSelector":"69fa25c4","implemented":true,"kind":"function","modifiers":[{"arguments":[{"expression":{"id":80458,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"40437:3:130","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":80459,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"40441:6:130","memberName":"sender","nodeType":"MemberAccess","src":"40437:10:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"id":80460,"kind":"modifierInvocation","modifierName":{"id":80457,"name":"onlyPoolManager","nameLocations":["40421:15:130"],"nodeType":"IdentifierPath","referencedDeclaration":74135,"src":"40421:15:130"},"nodeType":"ModifierInvocation","src":"40421:27:130"}],"name":"setDecay","nameLocation":"40387:8:130","parameters":{"id":80456,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80455,"mutability":"mutable","name":"_decay","nameLocation":"40404:6:130","nodeType":"VariableDeclaration","scope":80471,"src":"40396:14:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80454,"name":"uint256","nodeType":"ElementaryTypeName","src":"40396:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"40395:16:130"},"returnParameters":{"id":80461,"nodeType":"ParameterList","parameters":[],"src":"40449:0:130"},"scope":80578,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":80489,"nodeType":"FunctionDefinition","src":"40521:155:130","nodes":[],"body":{"id":80488,"nodeType":"Block","src":"40598:78:130","nodes":[],"statements":[{"expression":{"id":80482,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":80480,"name":"maxRatio","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77935,"src":"40608:8:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":80481,"name":"_maxRatio","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80473,"src":"40619:9:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"40608:20:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":80483,"nodeType":"ExpressionStatement","src":"40608:20:130"},{"eventCall":{"arguments":[{"id":80485,"name":"_maxRatio","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80473,"src":"40659:9:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":80484,"name":"MaxRatioUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77902,"src":"40643:15:130","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":80486,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"40643:26:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":80487,"nodeType":"EmitStatement","src":"40638:31:130"}]},"functionSelector":"11f22ae3","implemented":true,"kind":"function","modifiers":[{"arguments":[{"expression":{"id":80476,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"40586:3:130","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":80477,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"40590:6:130","memberName":"sender","nodeType":"MemberAccess","src":"40586:10:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"id":80478,"kind":"modifierInvocation","modifierName":{"id":80475,"name":"onlyPoolManager","nameLocations":["40570:15:130"],"nodeType":"IdentifierPath","referencedDeclaration":74135,"src":"40570:15:130"},"nodeType":"ModifierInvocation","src":"40570:27:130"}],"name":"setMaxRatio","nameLocation":"40530:11:130","parameters":{"id":80474,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80473,"mutability":"mutable","name":"_maxRatio","nameLocation":"40550:9:130","nodeType":"VariableDeclaration","scope":80489,"src":"40542:17:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80472,"name":"uint256","nodeType":"ElementaryTypeName","src":"40542:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"40541:19:130"},"returnParameters":{"id":80479,"nodeType":"ParameterList","parameters":[],"src":"40598:0:130"},"scope":80578,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":80507,"nodeType":"FunctionDefinition","src":"40682:143:130","nodes":[],"body":{"id":80506,"nodeType":"Block","src":"40755:70:130","nodes":[],"statements":[{"expression":{"id":80500,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":80498,"name":"weight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77937,"src":"40765:6:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":80499,"name":"_weight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80491,"src":"40774:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"40765:16:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":80501,"nodeType":"ExpressionStatement","src":"40765:16:130"},{"eventCall":{"arguments":[{"id":80503,"name":"_weight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80491,"src":"40810:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":80502,"name":"WeightUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77906,"src":"40796:13:130","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":80504,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"40796:22:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":80505,"nodeType":"EmitStatement","src":"40791:27:130"}]},"functionSelector":"fc1711f2","implemented":true,"kind":"function","modifiers":[{"arguments":[{"expression":{"id":80494,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"40743:3:130","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":80495,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"40747:6:130","memberName":"sender","nodeType":"MemberAccess","src":"40743:10:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"id":80496,"kind":"modifierInvocation","modifierName":{"id":80493,"name":"onlyPoolManager","nameLocations":["40727:15:130"],"nodeType":"IdentifierPath","referencedDeclaration":74135,"src":"40727:15:130"},"nodeType":"ModifierInvocation","src":"40727:27:130"}],"name":"setWeight","nameLocation":"40691:9:130","parameters":{"id":80492,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80491,"mutability":"mutable","name":"_weight","nameLocation":"40709:7:130","nodeType":"VariableDeclaration","scope":80507,"src":"40701:15:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80490,"name":"uint256","nodeType":"ElementaryTypeName","src":"40701:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"40700:17:130"},"returnParameters":{"id":80497,"nodeType":"ParameterList","parameters":[],"src":"40755:0:130"},"scope":80578,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":80527,"nodeType":"FunctionDefinition","src":"40831:223:130","nodes":[],"body":{"id":80526,"nodeType":"Block","src":"40926:128:130","nodes":[],"statements":[{"expression":{"id":80520,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":80516,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77961,"src":"40936:17:130","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":80518,"name":"_registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80509,"src":"40978:18:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":80517,"name":"RegistryCommunityV0_0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85047,"src":"40956:21:130","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_RegistryCommunityV0_0_$85047_$","typeString":"type(contract RegistryCommunityV0_0)"}},"id":80519,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"40956:41:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"}},"src":"40936:61:130","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"}},"id":80521,"nodeType":"ExpressionStatement","src":"40936:61:130"},{"eventCall":{"arguments":[{"id":80523,"name":"_registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80509,"src":"41028:18:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":80522,"name":"RegistryUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77910,"src":"41012:15:130","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":80524,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41012:35:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":80525,"nodeType":"EmitStatement","src":"41007:40:130"}]},"functionSelector":"058aca44","implemented":true,"kind":"function","modifiers":[{"arguments":[{"expression":{"id":80512,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"40914:3:130","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":80513,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"40918:6:130","memberName":"sender","nodeType":"MemberAccess","src":"40914:10:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"id":80514,"kind":"modifierInvocation","modifierName":{"id":80511,"name":"onlyPoolManager","nameLocations":["40898:15:130"],"nodeType":"IdentifierPath","referencedDeclaration":74135,"src":"40898:15:130"},"nodeType":"ModifierInvocation","src":"40898:27:130"}],"name":"setRegistryCommunity","nameLocation":"40840:20:130","parameters":{"id":80510,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80509,"mutability":"mutable","name":"_registryCommunity","nameLocation":"40869:18:130","nodeType":"VariableDeclaration","scope":80527,"src":"40861:26:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":80508,"name":"address","nodeType":"ElementaryTypeName","src":"40861:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"40860:28:130"},"returnParameters":{"id":80515,"nodeType":"ParameterList","parameters":[],"src":"40926:0:130"},"scope":80578,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":80546,"nodeType":"FunctionDefinition","src":"41060:237:130","nodes":[],"body":{"id":80545,"nodeType":"Block","src":"41157:140:130","nodes":[],"statements":[{"eventCall":{"arguments":[{"id":80537,"name":"_minThresholdPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77947,"src":"41198:19:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":80538,"name":"minThresholdPoints_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80529,"src":"41219:19:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":80536,"name":"MinThresholdPointsUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77916,"src":"41172:25:130","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":80539,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41172:67:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":80540,"nodeType":"EmitStatement","src":"41167:72:130"},{"expression":{"id":80543,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":80541,"name":"_minThresholdPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77947,"src":"41249:19:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":80542,"name":"minThresholdPoints_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80529,"src":"41271:19:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"41249:41:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":80544,"nodeType":"ExpressionStatement","src":"41249:41:130"}]},"functionSelector":"2cefadbb","implemented":true,"kind":"function","modifiers":[{"arguments":[{"expression":{"id":80532,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"41145:3:130","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":80533,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"41149:6:130","memberName":"sender","nodeType":"MemberAccess","src":"41145:10:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"id":80534,"kind":"modifierInvocation","modifierName":{"id":80531,"name":"onlyPoolManager","nameLocations":["41129:15:130"],"nodeType":"IdentifierPath","referencedDeclaration":74135,"src":"41129:15:130"},"nodeType":"ModifierInvocation","src":"41129:27:130"}],"name":"setMinThresholdPoints","nameLocation":"41069:21:130","parameters":{"id":80530,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80529,"mutability":"mutable","name":"minThresholdPoints_","nameLocation":"41099:19:130","nodeType":"VariableDeclaration","scope":80546,"src":"41091:27:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80528,"name":"uint256","nodeType":"ElementaryTypeName","src":"41091:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"41090:29:130"},"returnParameters":{"id":80535,"nodeType":"ParameterList","parameters":[],"src":"41157:0:130"},"scope":80578,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":80564,"nodeType":"FunctionDefinition","src":"41303:170:130","nodes":[],"body":{"id":80563,"nodeType":"Block","src":"41374:99:130","nodes":[],"statements":[{"expression":{"arguments":[{"id":80554,"name":"_sybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80548,"src":"41403:12:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":80553,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78210,"src":"41384:18:130","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":80555,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41384:32:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":80556,"nodeType":"ExpressionStatement","src":"41384:32:130"},{"expression":{"id":80561,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":80557,"name":"sybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77964,"src":"41426:11:130","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$80667","typeString":"contract ISybilScorer"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":80559,"name":"_sybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80548,"src":"41453:12:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":80558,"name":"ISybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80667,"src":"41440:12:130","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ISybilScorer_$80667_$","typeString":"type(contract ISybilScorer)"}},"id":80560,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41440:26:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$80667","typeString":"contract ISybilScorer"}},"src":"41426:40:130","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$80667","typeString":"contract ISybilScorer"}},"id":80562,"nodeType":"ExpressionStatement","src":"41426:40:130"}]},"functionSelector":"ac1ed7b9","implemented":true,"kind":"function","modifiers":[{"id":80551,"kind":"modifierInvocation","modifierName":{"id":80550,"name":"onlyCouncilSafe","nameLocations":["41358:15:130"],"nodeType":"IdentifierPath","referencedDeclaration":77997,"src":"41358:15:130"},"nodeType":"ModifierInvocation","src":"41358:15:130"}],"name":"setSybilScorer","nameLocation":"41312:14:130","parameters":{"id":80549,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80548,"mutability":"mutable","name":"_sybilScorer","nameLocation":"41335:12:130","nodeType":"VariableDeclaration","scope":80564,"src":"41327:20:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":80547,"name":"address","nodeType":"ElementaryTypeName","src":"41327:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"41326:22:130"},"returnParameters":{"id":80552,"nodeType":"ParameterList","parameters":[],"src":"41374:0:130"},"scope":80578,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":80573,"nodeType":"FunctionDefinition","src":"41479:66:130","nodes":[],"body":{"id":80572,"nodeType":"Block","src":"41543:2:130","nodes":[],"statements":[]},"baseFunctions":[56212],"implemented":true,"kind":"function","modifiers":[{"id":80570,"kind":"modifierInvocation","modifierName":{"id":80569,"name":"onlyOwner","nameLocations":["41533:9:130"],"nodeType":"IdentifierPath","referencedDeclaration":52856,"src":"41533:9:130"},"nodeType":"ModifierInvocation","src":"41533:9:130"}],"name":"_authorizeUpgrade","nameLocation":"41488:17:130","overrides":{"id":80568,"nodeType":"OverrideSpecifier","overrides":[],"src":"41524:8:130"},"parameters":{"id":80567,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80566,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":80573,"src":"41506:7:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":80565,"name":"address","nodeType":"ElementaryTypeName","src":"41506:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"41505:9:130"},"returnParameters":{"id":80571,"nodeType":"ParameterList","parameters":[],"src":"41543:0:130"},"scope":80578,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":80577,"nodeType":"VariableDeclaration","src":"41551:25:130","nodes":[],"constant":false,"mutability":"mutable","name":"__gap","nameLocation":"41571:5:130","scope":80578,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$50_storage","typeString":"uint256[50]"},"typeName":{"baseType":{"id":80574,"name":"uint256","nodeType":"ElementaryTypeName","src":"41551:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":80576,"length":{"hexValue":"3530","id":80575,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"41559:2:130","typeDescriptions":{"typeIdentifier":"t_rational_50_by_1","typeString":"int_const 50"},"value":"50"},"nodeType":"ArrayTypeName","src":"41551:11:130","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$50_storage_ptr","typeString":"uint256[50]"}},"visibility":"private"}],"abstract":false,"baseContracts":[{"baseName":{"id":77753,"name":"OwnableUpgradeable","nameLocations":["3094:18:130"],"nodeType":"IdentifierPath","referencedDeclaration":52942,"src":"3094:18:130"},"id":77754,"nodeType":"InheritanceSpecifier","src":"3094:18:130"},{"baseName":{"id":77755,"name":"BaseStrategyUpgradeable","nameLocations":["3114:23:130"],"nodeType":"IdentifierPath","referencedDeclaration":74672,"src":"3114:23:130"},"id":77756,"nodeType":"InheritanceSpecifier","src":"3114:23:130"},{"baseName":{"id":77757,"name":"IPointStrategy","nameLocations":["3139:14:130"],"nodeType":"IdentifierPath","referencedDeclaration":77667,"src":"3139:14:130"},"id":77758,"nodeType":"InheritanceSpecifier","src":"3139:14:130"},{"baseName":{"id":77759,"name":"ERC165","nameLocations":["3155:6:130"],"nodeType":"IdentifierPath","referencedDeclaration":58266,"src":"3155:6:130"},"id":77760,"nodeType":"InheritanceSpecifier","src":"3155:6:130"}],"canonicalName":"CVStrategyV0_0","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[80578,58266,58472,77667,74672,3089,3317,3106,2969,56213,55866,55515,55525,52942,53735,53191],"name":"CVStrategyV0_0","nameLocation":"3076:14:130","scope":80579,"usedErrors":[3008,3011,3014,3017,3020,3023,3026,3029,3032,3035,3038,3041,3044,3047,3050,3053,3056,3059,3062,3065,3068,3071,3074,3079,3082,3085,3088,3117,77765,77767,77769,77771,77773,77775,77777,77779,77781,77783,77785,77793,77795,77797,77803,77805,77807,77811,77815,77821,77823,77825,77833,77835,77837]}],"license":"AGPL-3.0-only"},"id":130} \ No newline at end of file diff --git a/pkg/contracts/out/CVStrategyV0_0.sol/StrategyStruct.json b/pkg/contracts/out/CVStrategyV0_0.sol/StrategyStruct.json index e9fd27292..871bfb1c8 100644 --- a/pkg/contracts/out/CVStrategyV0_0.sol/StrategyStruct.json +++ b/pkg/contracts/out/CVStrategyV0_0.sol/StrategyStruct.json @@ -1 +1 @@ -{"abi":[],"bytecode":{"object":"0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220582bed0570564c10409ad7f2b61bf7e1f08a821dfb753eea63bda1c432ed28bf64736f6c63430008130033","sourceMap":"1194:1871:130:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;1194:1871:130;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220582bed0570564c10409ad7f2b61bf7e1f08a821dfb753eea63bda1c432ed28bf64736f6c63430008130033","sourceMap":"1194:1871:130:-:0;;;;;;;;","linkReferences":{}},"methodIdentifiers":{},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"pkg/contracts/src/CVStrategyV0_0.sol\":\"StrategyStruct\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1000},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-contracts/=lib/safe-contracts/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"]},\"sources\":{\"lib/allo-v2/contracts/core/interfaces/IAllo.sol\":{\"keccak256\":\"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7\",\"dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1\"]},\"lib/allo-v2/contracts/core/interfaces/IRegistry.sol\":{\"keccak256\":\"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e\",\"dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA\"]},\"lib/allo-v2/contracts/core/interfaces/IStrategy.sol\":{\"keccak256\":\"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487\",\"dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH\"]},\"lib/allo-v2/contracts/core/libraries/Clone.sol\":{\"keccak256\":\"0xc348b24b7d8a98c4faa5f2aa37ce9264a74f81dbdef1a9bae2eaa125585c3c7e\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://1335b3ec59ec7e3d12ea7c90b3aa56f4c26e0d44d342f54412933be9d4f16067\",\"dweb:/ipfs/QmXNFo2wCyq9cpvfgbdHvBUQecThFSEoUnMuZNS6WinDrr\"]},\"lib/allo-v2/contracts/core/libraries/Errors.sol\":{\"keccak256\":\"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf\",\"dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA\"]},\"lib/allo-v2/contracts/core/libraries/Metadata.sol\":{\"keccak256\":\"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c\",\"dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn\"]},\"lib/allo-v2/contracts/core/libraries/Native.sol\":{\"keccak256\":\"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a\",\"dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv\"]},\"lib/allo-v2/contracts/core/libraries/Transfer.sol\":{\"keccak256\":\"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11\",\"dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5\"]},\"lib/allo-v2/contracts/strategies/BaseStrategy.sol\":{\"keccak256\":\"0x3f1382dc6c35d50545e327e7ed6016f2bd752357d446bd698014073f0b812873\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://99500abcd617fa43f6dde49e2c7802821ceaf54a65a8055cbbf2695ecd107974\",\"dweb:/ipfs/QmUktZkWuu3GCMEijY1fqt7NMy7BzpTvEtcmpB1fuoa7zt\"]},\"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol\":{\"keccak256\":\"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298\",\"dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x51fec240abc6dd23e0ee6de7c65106379aef732cad6c4ae5df6b55db886e7456\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://a47d9c0a9876e7f9e411843b994a741d4ac1a87d8459ffc3c56359de691ddc1a\",\"dweb:/ipfs/QmQiFN9b3Y2azrD1RBfAKEuAG3YeJkMzA2DGzgEE9kMeEK\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0xc8710577334e8d0799ae2b2a731b1924a7bddd64319da9787ddd2dc69bdd1ce5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b83b7afa4d2372da3ba5402fb10860a105c35d79812c60dc61007be2afc17618\",\"dweb:/ipfs/QmYX9xPmbNVSKXrepKiUZiG5oL3SdzFp9a4kqspxX1sEUx\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol\":{\"keccak256\":\"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c\",\"dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol\":{\"keccak256\":\"0x359a1ab89b46b9aba7bcad3fb651924baf4893d15153049b9976b0fc9be1358e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e89863421b4014b96a4b62be76eb3b9f0a8afe9684664a6f389124c0964bfe5c\",\"dweb:/ipfs/Qmbk7xr1irpDuU1WdxXgxELBXxs61rHhCgod7heVcvFx16\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol\":{\"keccak256\":\"0x5a55d1b148a0cb4183f1e09ceaff87bd2d828440f2f5dc01dfe03eb29e7c88ec\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3f9278bdda788763efbe569da77fc24feff36e871779e2da69f74ea5f8bfacf\",\"dweb:/ipfs/QmZF9cH4rfazmwKT55p3tZyzh9QGghNyss81f46d6yVXap\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e\",\"dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol\":{\"keccak256\":\"0x2025ccf05f6f1f2fd4e078e552836f525a1864e3854ed555047cd732320ab29b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d27f4b23c2dee42394aebaf42bf238285230f472dfd3282a39c3f000ec28214f\",\"dweb:/ipfs/QmQa3DnvccwdWJeWrjgXPnFMTWbzWQWR39hVqC7eEwo2PC\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b\",\"dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95\",\"dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol\":{\"keccak256\":\"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a\",\"dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0xd90d7723512df65ae417adaf0801042940f0dabd60039ceeaffe34aa5b238da1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1b13befeb3413749292f9fb229de1c7a509a5ce2c8047d9094fc004ca9d3af89\",\"dweb:/ipfs/QmRzJ2hZSwRtMejHUZAYTPRKgZsnfb112Fno9Jf3EiDfwA\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol\":{\"keccak256\":\"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758\",\"dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol\":{\"keccak256\":\"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91\",\"dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol\":{\"keccak256\":\"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4\",\"dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z\"]},\"lib/openzeppelin-contracts/contracts/access/AccessControl.sol\":{\"keccak256\":\"0x0dd6e52cb394d7f5abe5dca2d4908a6be40417914720932de757de34a99ab87f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://dc117ce50ea746cab6b97ed1a1facee17a715ae0cb95d67b943dacbaf15176fb\",\"dweb:/ipfs/QmYRZ2UGNYwsHwfNu7Wjr8L2j1LBZ1mKv6NvbwgterYMXc\"]},\"lib/openzeppelin-contracts/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0x59ce320a585d7e1f163cd70390a0ef2ff9cec832e2aa544293a00692465a7a57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb2c137c343ef0c4c7ce7b18c1d108afdc9d315a04e48307288d2d05adcbde3a\",\"dweb:/ipfs/QmUxhrAQM3MM3FF5j7AtcXLXguWCJBHJ14BRdVtuoQc8Fh\"]},\"lib/openzeppelin-contracts/contracts/access/Ownable.sol\":{\"keccak256\":\"0xba43b97fba0d32eb4254f6a5a297b39a19a247082a02d6e69349e071e2946218\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fc980984badf3984b6303b377711220e067722bbd6a135b24669ff5069ef9f32\",\"dweb:/ipfs/QmPHXMSXj99XjSVM21YsY6aNtLLjLVXDbyN76J5HQYvvrz\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol\":{\"keccak256\":\"0x3cbef5ebc24b415252e2f8c0c9254555d30d9f085603b4b80d9b5ed20ab87e90\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e8fa670c3bdce78e642cc6ae11c4cb38b133499cdce5e1990a9979d424703263\",\"dweb:/ipfs/QmVxeCUk4jL2pXQyhsoNJwyU874wRufS2WvGe8TgPKPqhE\"]},\"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol\":{\"keccak256\":\"0x1d4afe6cb24200cc4545eed814ecf5847277dfe5d613a1707aad5fceecebcfff\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://383fb7b8181016ac5ccf07bc9cdb7c1b5045ea36e2cc4df52bcbf20396fc7688\",\"dweb:/ipfs/QmYJ7Cg4WmE3rR8KGQxjUCXFfTH6TcwZ2Z1f6tPrq7jHFr\"]},\"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol\":{\"keccak256\":\"0xa2b22da3032e50b55f95ec1d13336102d675f341167aa76db571ef7f8bb7975d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96b6d77a20bebd4eb06b801d3d020c7e82be13bd535cb0d0a6b7181c51dab5d5\",\"dweb:/ipfs/QmPUR9Cv9jNFdQX6PtBfaBW1ZCnKwiu65R2VD5kbdanDyn\"]},\"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Upgrade.sol\":{\"keccak256\":\"0x3b21ae06bf5957f73fa16754b0669c77b7abd8ba6c072d35c3281d446fdb86c2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2db8e18505e86e02526847005d7287a33e397ed7fb9eaba3fd4a4a197add16e2\",\"dweb:/ipfs/QmW9BSuKTzHWHBNSHF4L8XfVuU1uJrP2vLg84YtBd8mL82\"]},\"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol\":{\"keccak256\":\"0xc130fe33f1b2132158531a87734153293f6d07bc263ff4ac90e85da9c82c0e27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8831721b6f4cc26534d190f9f1631c3f59c9ff38efdd911f85e0882b8e360472\",\"dweb:/ipfs/QmQZnLErZNStirSQ13ZNWQgvEYUtGE5tXYwn4QUPaVUfPN\"]},\"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0xd50a3421ac379ccb1be435fa646d66a65c986b4924f0849839f08692f39dde61\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ada1e030c0231db8d143b44ce92b4d1158eedb087880cad6d8cc7bd7ebe7b354\",\"dweb:/ipfs/QmWZ2NHZweRpz1U9GF6R1h65ri76dnX7fNxLBeM2t5N5Ce\"]},\"lib/openzeppelin-contracts/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x3d6069be9b4c01fb81840fb9c2c4dc58dd6a6a4aafaa2c6837de8699574d84c6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://720d6bb56ea0c4ef781c0bd65c5bd0541f5a46100163b2587170f97658d2deed\",\"dweb:/ipfs/QmTS2biLVPrv8CeeXCaKmkFxonMiRvc1LxiYBRYDAJHQUS\"]},\"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol\":{\"keccak256\":\"0xc6619957bcc6641fe8984bfaf9ff11a9e4b97d8149c0495f608f9a2416d7c5cf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://543be67f7fa43b1b932637c1c7f12035f0f4b0f7ee2bd3c33841186f79c165c1\",\"dweb:/ipfs/QmSBPM2UVKbmJqWfD9i6hSiqbaE8TV4TSqfuiivziRRLKM\"]},\"lib/openzeppelin-contracts/contracts/security/ReentrancyGuard.sol\":{\"keccak256\":\"0xa535a5df777d44e945dd24aa43a11e44b024140fc340ad0dfe42acf4002aade1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://41319e7f621f2dc3733511332c4fd032f8e32ad2aa7fd6f665c19741d9941a34\",\"dweb:/ipfs/QmcYR3bd862GD1Bc7jwrU9bGxrhUu5na1oP964bDCu2id1\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15\",\"dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5\",\"dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd\",\"dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol\":{\"keccak256\":\"0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a\",\"dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0x909d608c2db6eb165ca178c81289a07ed2e118e444d0025b2a85c97d0b44a4fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://656cda26512ddd7373c2d5551c8fae759fc30f05b10f0fc2e738e9274199dbd4\",\"dweb:/ipfs/QmTSArSzQRFbQmHgq7U1PZXnsDFhvDZhKVu9CzMG4yo6Lx\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xf09e68aa0dc6722a25bc46490e8d48ed864466d17313b8a0b254c36b54e49899\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e26daf81e2252dc1fe1ce0e4b55c2eb7c6d1ee84ae6558d1a9554432ea1d32da\",\"dweb:/ipfs/Qmb1UANWiWq5pCKbmHSu772hd4nt374dVaghGmwSVNuk8Q\"]},\"lib/openzeppelin-contracts/contracts/utils/Strings.sol\":{\"keccak256\":\"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f\",\"dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol\":{\"keccak256\":\"0x5a08ad61f4e82b8a3323562661a86fb10b10190848073fdc13d4ac43710ffba5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6f7bb74cf88fd88daa34e118bc6e363381d05044f34f391d39a10c0c9dac3ebd\",\"dweb:/ipfs/QmNbQ3v8v4zuDtg7VeLAbdhAm3tCzUodNoDZZ8ekmCHWZX\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]},\"lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/src/strings.sol\":{\"keccak256\":\"0x42cad11a7033f2fe05dd68611d2304407a620ac985b91edf29d5868cfe196223\",\"urls\":[\"bzz-raw://3cbc2333234e1f00eab5e57c4bcaf5115661e5e066a17c70af587a0a96f24669\",\"dweb:/ipfs/QmPHvStqcvZL46LW5N2ExTwAaqNhRCcmAX66aR6oE1WDar\"]},\"lib/openzeppelin-foundry-upgrades/src/Defender.sol\":{\"keccak256\":\"0x2114e4d70d53b36e8cec54ba11ff78d9f38a466ec3504c76c7f26101a7cff37f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://58f4d9bc58646e7631b263cdb8ef260e6818e9f716036d81d1c18218c9557a23\",\"dweb:/ipfs/QmS18L4R4gPtay9eQBcR28DnwmBkGSWsiCFwm2tXc3BkHL\"]},\"lib/openzeppelin-foundry-upgrades/src/LegacyUpgrades.sol\":{\"keccak256\":\"0x8436719f73c76efadaa16cd719d088f698ea3591595dfdf2c15fd66f3e203197\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ac8d0e55defe124adcc3845348602d6528b00b7dc5f7abf9e1b245d0cea9b55e\",\"dweb:/ipfs/QmaPBoG89Bd2btJZW5kjXx7zXo6KhAdeTuMq5xo431M8xq\"]},\"lib/openzeppelin-foundry-upgrades/src/Options.sol\":{\"keccak256\":\"0xa5414683d6b219b28e75ecaab3d00a305dfaf4d970389a88992275c8072ce8ac\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1dbfd566ba318f2b740159c28e4511c84c9d76fcc293ae17c9b1a87b3ea16c9\",\"dweb:/ipfs/QmcyxPoeBdzA9iHEgd76xKhaQ8HKfpV4owdSv6127MmveT\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Core.sol\":{\"keccak256\":\"0x37073df20d2b5fbb0a873e6b2dd76c23e23455d1c2d2ba57d2f0998201a4251d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://79d507647ea48d93371341684cf4199d55ed799db9d3489bc016f53990d2ff7c\",\"dweb:/ipfs/QmQWgXiYcPcwNcrkTHb72WtHd4xPcXfRUMfBrhkDHgr2ut\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/DefenderDeploy.sol\":{\"keccak256\":\"0x868ffdaf5d185fee103fc4581385392b47c209a5cfd2aec01f0307dbc0101d73\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://76e51bf69a4d0b5d1d9cfa7efa442bdcf9d713966563432ef8fdd00ec959a25e\",\"dweb:/ipfs/QmTHkdvMnqmEvus7zbmHhPkWk3fM9SW2Jq8gnyBLwVJtxG\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Utils.sol\":{\"keccak256\":\"0x4de002af810f6a5fe26a6381e0ead3331735bd0059434a22df75e17c177b5f87\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af32ff07f606e530a53030db141a75af144cfe065a6543939d412018c6159540\",\"dweb:/ipfs/QmbfTB92Zd8VQHW61g9dx1CvGgSL5SCoZDLrvJfnR7Ctio\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Versions.sol\":{\"keccak256\":\"0xf1a1441c18a296853509e9b1d18be794ed3de836caea49d6948b5e9ac566e8c6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6f3463514235bd875ecacf45f95cac64aa650dd38d05c15fe1f4203b6b5733bd\",\"dweb:/ipfs/Qmcbhmw9NPkG8MqiVsQ4qUupeQFCRgyBDKuoUwohwa8EP3\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IProxyAdmin.sol\":{\"keccak256\":\"0xf5e514595089f8959da130507086e7388602a71ce60575d141e7d892dfbddbfc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9b41366e2823ccc8cb42304496d761b3df80946d17384634a61afd7139495c91\",\"dweb:/ipfs/QmZE2nRMxax1NPj63ifemKdScGJzKNWi7BCGudjFLsUz1y\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableBeacon.sol\":{\"keccak256\":\"0xa8d7bffdd26eb763e459650c83f247b54af79800c2df52ad05878f238fc1c2f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ed47f1e53e5eb7d48fed60a414755641fca8fa0e713fd503b2597227da78a2f\",\"dweb:/ipfs/QmQr8A5wddHdhQNauFShXxRkPcuVVpVsYpq846WhmFC8Tv\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableProxy.sol\":{\"keccak256\":\"0x781b564b90bba0c0e8e12fb66b1c910f42d369db469f2e88592b4cff29de99a5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://45fcab02a43fde934445b88e905aba3f58a70b75dd6ee6eb86a3d593424aeb03\",\"dweb:/ipfs/QmXmhAgrctaYUDLoTRgUjwD4deoXu1E2QT1kftVGcVa56j\"]},\"pkg/contracts/src/BaseStrategyUpgradeable.sol\":{\"keccak256\":\"0xe059f9e1a262a4713e230a6025c3356681bb5f3c8013b87bc579bae93aa66c20\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://37e879664b08005b9544457cf89bce77e38b6a25639566df7366b9e5968c815e\",\"dweb:/ipfs/QmYgNRqZfYUPbWgcHUHghTcpqjVmT9v4HfkfPdEF64fYe5\"]},\"pkg/contracts/src/CVStrategy.sol\":{\"keccak256\":\"0x132bcf17470960e380d841159d9389985d609aaae1c9a657c78902f7871da957\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://84e905bf392579b44f33fff8586431b940e110b2210854cf487321cc92061705\",\"dweb:/ipfs/QmQpvszYu8RbrXmUFLifSodQzV8LAqazk1fzXNARGc5sBT\"]},\"pkg/contracts/src/CVStrategyV0_0.sol\":{\"keccak256\":\"0x79d01b399c8d735923dfa26b8dacba6200a861202dd6fb1c7711241285439d2d\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://e7ea0014e25a729d6d688620658df81a179a8c2380ae0bc4c78668cd486adb04\",\"dweb:/ipfs/QmdPM8JpFXeqBxQgkRzM1inzCT2rkRxnpoSrFk8DauDpNf\"]},\"pkg/contracts/src/ISybilScorer.sol\":{\"keccak256\":\"0x0e25fbb8497ac3c969d80c9032362d45e56c0a45dc9ba3dff6a8a704571f38ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0dff90ebae6e7131a5300fcaf525bc2ab0ae90fcd13f277d7b7b6939eeb8b7eb\",\"dweb:/ipfs/QmYGkYqpUVrBWoNY6f3CtwrrVQFWSvnJfpu68t95f6AkBY\"]},\"pkg/contracts/src/RegistryCommunity.sol\":{\"keccak256\":\"0xc735f4d2635149f2db9bff291da56e08c3c312d9eb1b767b8a1e3e51584d5734\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://247b33b78abface6a7e2da38174386de9b543f6a27e8340e26d854bff57184a3\",\"dweb:/ipfs/QmedNdqkqeboGzz9w868uGf7KnXUaYZe6i1YcdUPPkJnnf\"]},\"pkg/contracts/src/RegistryCommunityV0_0.sol\":{\"keccak256\":\"0x6525c857f7baff606e87bbc2878f3606923997a444eb500aa15018c676c972a9\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://89d2af9f470c8d7431ff6b1981b7bf46520f719d68da38ab3ca065496a6297d8\",\"dweb:/ipfs/QmceJHX57HbnBXVfmhtRPmnApUQy5QSWTybgq6g37vCxEN\"]},\"pkg/contracts/src/RegistryFactory.sol\":{\"keccak256\":\"0x888b7f5eb1079f90ccfa0b41d8a970bffd8d4d469f9b31917a58279b358dbda5\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://af25fd783de00adf01d1c7caa572801fed0d474306a43b862535b08e65ec10c6\",\"dweb:/ipfs/Qmeb2nEaMQLV86y1CYAAV2c6BYpBDTbpLuC1SigeNjdqLo\"]},\"pkg/contracts/src/interfaces/FAllo.sol\":{\"keccak256\":\"0x32f38cb4400a07a99ae68a9beb91e5649886487172fd50561da6763464efc437\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://cb4f0cee2f3fbede7be5e8e1d7ee8034086359cd07b9dab49c4a991388e5c458\",\"dweb:/ipfs/QmS26kA8cZ9shWwxcbF17Kes8L7Jgw85EQVydDmwb34mjM\"]},\"pkg/contracts/src/interfaces/ISafe.sol\":{\"keccak256\":\"0x878a210809bb684c42157a10f3f90350a67d0a4863f130499942b06f0f2c9143\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://fa2d71bd427c3415e98a2ee15ff673f3cc61c17f14d7087c5eedc83b55f6b0ef\",\"dweb:/ipfs/QmesVSmJQQzi6ys1cvhQFCJyDXchb736mT5bXks4Yp6Cbj\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-contracts/=lib/safe-contracts/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":1000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"pkg/contracts/src/CVStrategyV0_0.sol":"StrategyStruct"},"evmVersion":"paris","libraries":{}},"sources":{"lib/allo-v2/contracts/core/interfaces/IAllo.sol":{"keccak256":"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce","urls":["bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7","dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/interfaces/IRegistry.sol":{"keccak256":"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f","urls":["bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e","dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA"],"license":"MIT"},"lib/allo-v2/contracts/core/interfaces/IStrategy.sol":{"keccak256":"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23","urls":["bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487","dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Clone.sol":{"keccak256":"0xc348b24b7d8a98c4faa5f2aa37ce9264a74f81dbdef1a9bae2eaa125585c3c7e","urls":["bzz-raw://1335b3ec59ec7e3d12ea7c90b3aa56f4c26e0d44d342f54412933be9d4f16067","dweb:/ipfs/QmXNFo2wCyq9cpvfgbdHvBUQecThFSEoUnMuZNS6WinDrr"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Errors.sol":{"keccak256":"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15","urls":["bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf","dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Metadata.sol":{"keccak256":"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44","urls":["bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c","dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Native.sol":{"keccak256":"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5","urls":["bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a","dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Transfer.sol":{"keccak256":"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286","urls":["bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11","dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/strategies/BaseStrategy.sol":{"keccak256":"0x3f1382dc6c35d50545e327e7ed6016f2bd752357d446bd698014073f0b812873","urls":["bzz-raw://99500abcd617fa43f6dde49e2c7802821ceaf54a65a8055cbbf2695ecd107974","dweb:/ipfs/QmUktZkWuu3GCMEijY1fqt7NMy7BzpTvEtcmpB1fuoa7zt"],"license":"AGPL-3.0-only"},"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol":{"keccak256":"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624","urls":["bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298","dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt"],"license":"MIT"},"lib/forge-std/src/Vm.sol":{"keccak256":"0x51fec240abc6dd23e0ee6de7c65106379aef732cad6c4ae5df6b55db886e7456","urls":["bzz-raw://a47d9c0a9876e7f9e411843b994a741d4ac1a87d8459ffc3c56359de691ddc1a","dweb:/ipfs/QmQiFN9b3Y2azrD1RBfAKEuAG3YeJkMzA2DGzgEE9kMeEK"],"license":"MIT OR Apache-2.0"},"lib/forge-std/src/console.sol":{"keccak256":"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba","urls":["bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70","dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol":{"keccak256":"0xc8710577334e8d0799ae2b2a731b1924a7bddd64319da9787ddd2dc69bdd1ce5","urls":["bzz-raw://b83b7afa4d2372da3ba5402fb10860a105c35d79812c60dc61007be2afc17618","dweb:/ipfs/QmYX9xPmbNVSKXrepKiUZiG5oL3SdzFp9a4kqspxX1sEUx"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol":{"keccak256":"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa","urls":["bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c","dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol":{"keccak256":"0x359a1ab89b46b9aba7bcad3fb651924baf4893d15153049b9976b0fc9be1358e","urls":["bzz-raw://e89863421b4014b96a4b62be76eb3b9f0a8afe9684664a6f389124c0964bfe5c","dweb:/ipfs/Qmbk7xr1irpDuU1WdxXgxELBXxs61rHhCgod7heVcvFx16"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol":{"keccak256":"0x5a55d1b148a0cb4183f1e09ceaff87bd2d828440f2f5dc01dfe03eb29e7c88ec","urls":["bzz-raw://b3f9278bdda788763efbe569da77fc24feff36e871779e2da69f74ea5f8bfacf","dweb:/ipfs/QmZF9cH4rfazmwKT55p3tZyzh9QGghNyss81f46d6yVXap"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794","urls":["bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e","dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol":{"keccak256":"0x2025ccf05f6f1f2fd4e078e552836f525a1864e3854ed555047cd732320ab29b","urls":["bzz-raw://d27f4b23c2dee42394aebaf42bf238285230f472dfd3282a39c3f000ec28214f","dweb:/ipfs/QmQa3DnvccwdWJeWrjgXPnFMTWbzWQWR39hVqC7eEwo2PC"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol":{"keccak256":"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422","urls":["bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b","dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef","urls":["bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95","dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol":{"keccak256":"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb","urls":["bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a","dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol":{"keccak256":"0xd90d7723512df65ae417adaf0801042940f0dabd60039ceeaffe34aa5b238da1","urls":["bzz-raw://1b13befeb3413749292f9fb229de1c7a509a5ce2c8047d9094fc004ca9d3af89","dweb:/ipfs/QmRzJ2hZSwRtMejHUZAYTPRKgZsnfb112Fno9Jf3EiDfwA"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol":{"keccak256":"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09","urls":["bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758","dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol":{"keccak256":"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e","urls":["bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91","dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol":{"keccak256":"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a","urls":["bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4","dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/access/AccessControl.sol":{"keccak256":"0x0dd6e52cb394d7f5abe5dca2d4908a6be40417914720932de757de34a99ab87f","urls":["bzz-raw://dc117ce50ea746cab6b97ed1a1facee17a715ae0cb95d67b943dacbaf15176fb","dweb:/ipfs/QmYRZ2UGNYwsHwfNu7Wjr8L2j1LBZ1mKv6NvbwgterYMXc"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/access/IAccessControl.sol":{"keccak256":"0x59ce320a585d7e1f163cd70390a0ef2ff9cec832e2aa544293a00692465a7a57","urls":["bzz-raw://bb2c137c343ef0c4c7ce7b18c1d108afdc9d315a04e48307288d2d05adcbde3a","dweb:/ipfs/QmUxhrAQM3MM3FF5j7AtcXLXguWCJBHJ14BRdVtuoQc8Fh"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/access/Ownable.sol":{"keccak256":"0xba43b97fba0d32eb4254f6a5a297b39a19a247082a02d6e69349e071e2946218","urls":["bzz-raw://fc980984badf3984b6303b377711220e067722bbd6a135b24669ff5069ef9f32","dweb:/ipfs/QmPHXMSXj99XjSVM21YsY6aNtLLjLVXDbyN76J5HQYvvrz"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol":{"keccak256":"0x3cbef5ebc24b415252e2f8c0c9254555d30d9f085603b4b80d9b5ed20ab87e90","urls":["bzz-raw://e8fa670c3bdce78e642cc6ae11c4cb38b133499cdce5e1990a9979d424703263","dweb:/ipfs/QmVxeCUk4jL2pXQyhsoNJwyU874wRufS2WvGe8TgPKPqhE"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol":{"keccak256":"0x1d4afe6cb24200cc4545eed814ecf5847277dfe5d613a1707aad5fceecebcfff","urls":["bzz-raw://383fb7b8181016ac5ccf07bc9cdb7c1b5045ea36e2cc4df52bcbf20396fc7688","dweb:/ipfs/QmYJ7Cg4WmE3rR8KGQxjUCXFfTH6TcwZ2Z1f6tPrq7jHFr"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol":{"keccak256":"0xa2b22da3032e50b55f95ec1d13336102d675f341167aa76db571ef7f8bb7975d","urls":["bzz-raw://96b6d77a20bebd4eb06b801d3d020c7e82be13bd535cb0d0a6b7181c51dab5d5","dweb:/ipfs/QmPUR9Cv9jNFdQX6PtBfaBW1ZCnKwiu65R2VD5kbdanDyn"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Upgrade.sol":{"keccak256":"0x3b21ae06bf5957f73fa16754b0669c77b7abd8ba6c072d35c3281d446fdb86c2","urls":["bzz-raw://2db8e18505e86e02526847005d7287a33e397ed7fb9eaba3fd4a4a197add16e2","dweb:/ipfs/QmW9BSuKTzHWHBNSHF4L8XfVuU1uJrP2vLg84YtBd8mL82"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol":{"keccak256":"0xc130fe33f1b2132158531a87734153293f6d07bc263ff4ac90e85da9c82c0e27","urls":["bzz-raw://8831721b6f4cc26534d190f9f1631c3f59c9ff38efdd911f85e0882b8e360472","dweb:/ipfs/QmQZnLErZNStirSQ13ZNWQgvEYUtGE5tXYwn4QUPaVUfPN"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol":{"keccak256":"0xd50a3421ac379ccb1be435fa646d66a65c986b4924f0849839f08692f39dde61","urls":["bzz-raw://ada1e030c0231db8d143b44ce92b4d1158eedb087880cad6d8cc7bd7ebe7b354","dweb:/ipfs/QmWZ2NHZweRpz1U9GF6R1h65ri76dnX7fNxLBeM2t5N5Ce"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x3d6069be9b4c01fb81840fb9c2c4dc58dd6a6a4aafaa2c6837de8699574d84c6","urls":["bzz-raw://720d6bb56ea0c4ef781c0bd65c5bd0541f5a46100163b2587170f97658d2deed","dweb:/ipfs/QmTS2biLVPrv8CeeXCaKmkFxonMiRvc1LxiYBRYDAJHQUS"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol":{"keccak256":"0xc6619957bcc6641fe8984bfaf9ff11a9e4b97d8149c0495f608f9a2416d7c5cf","urls":["bzz-raw://543be67f7fa43b1b932637c1c7f12035f0f4b0f7ee2bd3c33841186f79c165c1","dweb:/ipfs/QmSBPM2UVKbmJqWfD9i6hSiqbaE8TV4TSqfuiivziRRLKM"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/security/ReentrancyGuard.sol":{"keccak256":"0xa535a5df777d44e945dd24aa43a11e44b024140fc340ad0dfe42acf4002aade1","urls":["bzz-raw://41319e7f621f2dc3733511332c4fd032f8e32ad2aa7fd6f665c19741d9941a34","dweb:/ipfs/QmcYR3bd862GD1Bc7jwrU9bGxrhUu5na1oP964bDCu2id1"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol":{"keccak256":"0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c","urls":["bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15","dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305","urls":["bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5","dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol":{"keccak256":"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca","urls":["bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd","dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol":{"keccak256":"0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a","urls":["bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a","dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol":{"keccak256":"0x909d608c2db6eb165ca178c81289a07ed2e118e444d0025b2a85c97d0b44a4fa","urls":["bzz-raw://656cda26512ddd7373c2d5551c8fae759fc30f05b10f0fc2e738e9274199dbd4","dweb:/ipfs/QmTSArSzQRFbQmHgq7U1PZXnsDFhvDZhKVu9CzMG4yo6Lx"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Address.sol":{"keccak256":"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa","urls":["bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931","dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Context.sol":{"keccak256":"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7","urls":["bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92","dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol":{"keccak256":"0xf09e68aa0dc6722a25bc46490e8d48ed864466d17313b8a0b254c36b54e49899","urls":["bzz-raw://e26daf81e2252dc1fe1ce0e4b55c2eb7c6d1ee84ae6558d1a9554432ea1d32da","dweb:/ipfs/Qmb1UANWiWq5pCKbmHSu772hd4nt374dVaghGmwSVNuk8Q"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Strings.sol":{"keccak256":"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0","urls":["bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f","dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol":{"keccak256":"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b","urls":["bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d","dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol":{"keccak256":"0x5a08ad61f4e82b8a3323562661a86fb10b10190848073fdc13d4ac43710ffba5","urls":["bzz-raw://6f7bb74cf88fd88daa34e118bc6e363381d05044f34f391d39a10c0c9dac3ebd","dweb:/ipfs/QmNbQ3v8v4zuDtg7VeLAbdhAm3tCzUodNoDZZ8ekmCHWZX"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/Math.sol":{"keccak256":"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3","urls":["bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c","dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol":{"keccak256":"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc","urls":["bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7","dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/src/strings.sol":{"keccak256":"0x42cad11a7033f2fe05dd68611d2304407a620ac985b91edf29d5868cfe196223","urls":["bzz-raw://3cbc2333234e1f00eab5e57c4bcaf5115661e5e066a17c70af587a0a96f24669","dweb:/ipfs/QmPHvStqcvZL46LW5N2ExTwAaqNhRCcmAX66aR6oE1WDar"],"license":null},"lib/openzeppelin-foundry-upgrades/src/Defender.sol":{"keccak256":"0x2114e4d70d53b36e8cec54ba11ff78d9f38a466ec3504c76c7f26101a7cff37f","urls":["bzz-raw://58f4d9bc58646e7631b263cdb8ef260e6818e9f716036d81d1c18218c9557a23","dweb:/ipfs/QmS18L4R4gPtay9eQBcR28DnwmBkGSWsiCFwm2tXc3BkHL"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/LegacyUpgrades.sol":{"keccak256":"0x8436719f73c76efadaa16cd719d088f698ea3591595dfdf2c15fd66f3e203197","urls":["bzz-raw://ac8d0e55defe124adcc3845348602d6528b00b7dc5f7abf9e1b245d0cea9b55e","dweb:/ipfs/QmaPBoG89Bd2btJZW5kjXx7zXo6KhAdeTuMq5xo431M8xq"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/Options.sol":{"keccak256":"0xa5414683d6b219b28e75ecaab3d00a305dfaf4d970389a88992275c8072ce8ac","urls":["bzz-raw://b1dbfd566ba318f2b740159c28e4511c84c9d76fcc293ae17c9b1a87b3ea16c9","dweb:/ipfs/QmcyxPoeBdzA9iHEgd76xKhaQ8HKfpV4owdSv6127MmveT"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Core.sol":{"keccak256":"0x37073df20d2b5fbb0a873e6b2dd76c23e23455d1c2d2ba57d2f0998201a4251d","urls":["bzz-raw://79d507647ea48d93371341684cf4199d55ed799db9d3489bc016f53990d2ff7c","dweb:/ipfs/QmQWgXiYcPcwNcrkTHb72WtHd4xPcXfRUMfBrhkDHgr2ut"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/DefenderDeploy.sol":{"keccak256":"0x868ffdaf5d185fee103fc4581385392b47c209a5cfd2aec01f0307dbc0101d73","urls":["bzz-raw://76e51bf69a4d0b5d1d9cfa7efa442bdcf9d713966563432ef8fdd00ec959a25e","dweb:/ipfs/QmTHkdvMnqmEvus7zbmHhPkWk3fM9SW2Jq8gnyBLwVJtxG"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Utils.sol":{"keccak256":"0x4de002af810f6a5fe26a6381e0ead3331735bd0059434a22df75e17c177b5f87","urls":["bzz-raw://af32ff07f606e530a53030db141a75af144cfe065a6543939d412018c6159540","dweb:/ipfs/QmbfTB92Zd8VQHW61g9dx1CvGgSL5SCoZDLrvJfnR7Ctio"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Versions.sol":{"keccak256":"0xf1a1441c18a296853509e9b1d18be794ed3de836caea49d6948b5e9ac566e8c6","urls":["bzz-raw://6f3463514235bd875ecacf45f95cac64aa650dd38d05c15fe1f4203b6b5733bd","dweb:/ipfs/Qmcbhmw9NPkG8MqiVsQ4qUupeQFCRgyBDKuoUwohwa8EP3"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IProxyAdmin.sol":{"keccak256":"0xf5e514595089f8959da130507086e7388602a71ce60575d141e7d892dfbddbfc","urls":["bzz-raw://9b41366e2823ccc8cb42304496d761b3df80946d17384634a61afd7139495c91","dweb:/ipfs/QmZE2nRMxax1NPj63ifemKdScGJzKNWi7BCGudjFLsUz1y"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableBeacon.sol":{"keccak256":"0xa8d7bffdd26eb763e459650c83f247b54af79800c2df52ad05878f238fc1c2f8","urls":["bzz-raw://8ed47f1e53e5eb7d48fed60a414755641fca8fa0e713fd503b2597227da78a2f","dweb:/ipfs/QmQr8A5wddHdhQNauFShXxRkPcuVVpVsYpq846WhmFC8Tv"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableProxy.sol":{"keccak256":"0x781b564b90bba0c0e8e12fb66b1c910f42d369db469f2e88592b4cff29de99a5","urls":["bzz-raw://45fcab02a43fde934445b88e905aba3f58a70b75dd6ee6eb86a3d593424aeb03","dweb:/ipfs/QmXmhAgrctaYUDLoTRgUjwD4deoXu1E2QT1kftVGcVa56j"],"license":"MIT"},"pkg/contracts/src/BaseStrategyUpgradeable.sol":{"keccak256":"0xe059f9e1a262a4713e230a6025c3356681bb5f3c8013b87bc579bae93aa66c20","urls":["bzz-raw://37e879664b08005b9544457cf89bce77e38b6a25639566df7366b9e5968c815e","dweb:/ipfs/QmYgNRqZfYUPbWgcHUHghTcpqjVmT9v4HfkfPdEF64fYe5"],"license":"AGPL-3.0-only"},"pkg/contracts/src/CVStrategy.sol":{"keccak256":"0x132bcf17470960e380d841159d9389985d609aaae1c9a657c78902f7871da957","urls":["bzz-raw://84e905bf392579b44f33fff8586431b940e110b2210854cf487321cc92061705","dweb:/ipfs/QmQpvszYu8RbrXmUFLifSodQzV8LAqazk1fzXNARGc5sBT"],"license":"AGPL-3.0-only"},"pkg/contracts/src/CVStrategyV0_0.sol":{"keccak256":"0x79d01b399c8d735923dfa26b8dacba6200a861202dd6fb1c7711241285439d2d","urls":["bzz-raw://e7ea0014e25a729d6d688620658df81a179a8c2380ae0bc4c78668cd486adb04","dweb:/ipfs/QmdPM8JpFXeqBxQgkRzM1inzCT2rkRxnpoSrFk8DauDpNf"],"license":"AGPL-3.0-only"},"pkg/contracts/src/ISybilScorer.sol":{"keccak256":"0x0e25fbb8497ac3c969d80c9032362d45e56c0a45dc9ba3dff6a8a704571f38ea","urls":["bzz-raw://0dff90ebae6e7131a5300fcaf525bc2ab0ae90fcd13f277d7b7b6939eeb8b7eb","dweb:/ipfs/QmYGkYqpUVrBWoNY6f3CtwrrVQFWSvnJfpu68t95f6AkBY"],"license":"MIT"},"pkg/contracts/src/RegistryCommunity.sol":{"keccak256":"0xc735f4d2635149f2db9bff291da56e08c3c312d9eb1b767b8a1e3e51584d5734","urls":["bzz-raw://247b33b78abface6a7e2da38174386de9b543f6a27e8340e26d854bff57184a3","dweb:/ipfs/QmedNdqkqeboGzz9w868uGf7KnXUaYZe6i1YcdUPPkJnnf"],"license":"AGPL-3.0-only"},"pkg/contracts/src/RegistryCommunityV0_0.sol":{"keccak256":"0x6525c857f7baff606e87bbc2878f3606923997a444eb500aa15018c676c972a9","urls":["bzz-raw://89d2af9f470c8d7431ff6b1981b7bf46520f719d68da38ab3ca065496a6297d8","dweb:/ipfs/QmceJHX57HbnBXVfmhtRPmnApUQy5QSWTybgq6g37vCxEN"],"license":"AGPL-3.0-only"},"pkg/contracts/src/RegistryFactory.sol":{"keccak256":"0x888b7f5eb1079f90ccfa0b41d8a970bffd8d4d469f9b31917a58279b358dbda5","urls":["bzz-raw://af25fd783de00adf01d1c7caa572801fed0d474306a43b862535b08e65ec10c6","dweb:/ipfs/Qmeb2nEaMQLV86y1CYAAV2c6BYpBDTbpLuC1SigeNjdqLo"],"license":"AGPL-3.0-only"},"pkg/contracts/src/interfaces/FAllo.sol":{"keccak256":"0x32f38cb4400a07a99ae68a9beb91e5649886487172fd50561da6763464efc437","urls":["bzz-raw://cb4f0cee2f3fbede7be5e8e1d7ee8034086359cd07b9dab49c4a991388e5c458","dweb:/ipfs/QmS26kA8cZ9shWwxcbF17Kes8L7Jgw85EQVydDmwb34mjM"],"license":"AGPL-3.0-only"},"pkg/contracts/src/interfaces/ISafe.sol":{"keccak256":"0x878a210809bb684c42157a10f3f90350a67d0a4863f130499942b06f0f2c9143","urls":["bzz-raw://fa2d71bd427c3415e98a2ee15ff673f3cc61c17f14d7087c5eedc83b55f6b0ef","dweb:/ipfs/QmesVSmJQQzi6ys1cvhQFCJyDXchb736mT5bXks4Yp6Cbj"],"license":"LGPL-3.0-only"}},"version":1},"storageLayout":{"storage":[],"types":{}},"ast":{"absolutePath":"pkg/contracts/src/CVStrategyV0_0.sol","id":80579,"exportedSymbols":{"BaseStrategy":[3923],"BaseStrategyUpgradeable":[74672],"CVStrategyV0_0":[80578],"ERC165":[58266],"ERC20":[56991],"IAllo":[2610],"IERC165":[58472],"IPointStrategy":[77667],"ISybilScorer":[80667],"Math":[59338],"Metadata":[3098],"OwnableUpgradeable":[52942],"PassportData":[80585],"RegistryCommunityV0_0":[85047],"StrategyStruct":[77752],"UUPSUpgradeable":[56213],"console":[29549]},"nodeType":"SourceUnit","src":"42:41538:130","nodes":[{"id":77613,"nodeType":"PragmaDirective","src":"42:24:130","nodes":[],"literals":["solidity","^","0.8",".19"]},{"id":77616,"nodeType":"ImportDirective","src":"68:82:130","nodes":[],"absolutePath":"lib/allo-v2/contracts/strategies/BaseStrategy.sol","file":"allo-v2-contracts/strategies/BaseStrategy.sol","nameLocation":"-1:-1:-1","scope":80579,"sourceUnit":3924,"symbolAliases":[{"foreign":{"id":77614,"name":"BaseStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3923,"src":"76:12:130","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":77615,"name":"IAllo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2610,"src":"90:5:130","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":77619,"nodeType":"ImportDirective","src":"152:76:130","nodes":[],"absolutePath":"pkg/contracts/src/RegistryCommunityV0_0.sol","file":"./RegistryCommunityV0_0.sol","nameLocation":"-1:-1:-1","scope":80579,"sourceUnit":85048,"symbolAliases":[{"foreign":{"id":77617,"name":"RegistryCommunityV0_0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85047,"src":"160:21:130","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":77618,"name":"Metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3098,"src":"183:8:130","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":77622,"nodeType":"ImportDirective","src":"229:87:130","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol","file":"@openzeppelin/contracts/utils/introspection/ERC165.sol","nameLocation":"-1:-1:-1","scope":80579,"sourceUnit":58267,"symbolAliases":[{"foreign":{"id":77620,"name":"ERC165","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58266,"src":"237:6:130","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":77621,"name":"IERC165","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58472,"src":"245:7:130","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":77624,"nodeType":"ImportDirective","src":"317:68:130","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol","file":"@openzeppelin/contracts/token/ERC20/ERC20.sol","nameLocation":"-1:-1:-1","scope":80579,"sourceUnit":56992,"symbolAliases":[{"foreign":{"id":77623,"name":"ERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56991,"src":"325:5:130","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":77626,"nodeType":"ImportDirective","src":"387:46:130","nodes":[],"absolutePath":"lib/forge-std/src/console.sol","file":"forge-std/console.sol","nameLocation":"-1:-1:-1","scope":80579,"sourceUnit":29550,"symbolAliases":[{"foreign":{"id":77625,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29549,"src":"395:7:130","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":77628,"nodeType":"ImportDirective","src":"435:65:130","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/utils/math/Math.sol","file":"@openzeppelin/contracts/utils/math/Math.sol","nameLocation":"-1:-1:-1","scope":80579,"sourceUnit":59339,"symbolAliases":[{"foreign":{"id":77627,"name":"Math","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59338,"src":"443:4:130","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":77631,"nodeType":"ImportDirective","src":"501:62:130","nodes":[],"absolutePath":"pkg/contracts/src/ISybilScorer.sol","file":"./ISybilScorer.sol","nameLocation":"-1:-1:-1","scope":80579,"sourceUnit":80668,"symbolAliases":[{"foreign":{"id":77629,"name":"ISybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80667,"src":"509:12:130","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":77630,"name":"PassportData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80585,"src":"523:12:130","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":77633,"nodeType":"ImportDirective","src":"565:88:130","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol","file":"@openzeppelin/contracts/proxy/utils/UUPSUpgradeable.sol","nameLocation":"-1:-1:-1","scope":80579,"sourceUnit":56214,"symbolAliases":[{"foreign":{"id":77632,"name":"UUPSUpgradeable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56213,"src":"573:15:130","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":77635,"nodeType":"ImportDirective","src":"654:110:130","nodes":[],"absolutePath":"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol","file":"openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol","nameLocation":"-1:-1:-1","scope":80579,"sourceUnit":52943,"symbolAliases":[{"foreign":{"id":77634,"name":"OwnableUpgradeable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52942,"src":"662:18:130","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":77637,"nodeType":"ImportDirective","src":"765:70:130","nodes":[],"absolutePath":"pkg/contracts/src/BaseStrategyUpgradeable.sol","file":"./BaseStrategyUpgradeable.sol","nameLocation":"-1:-1:-1","scope":80579,"sourceUnit":74673,"symbolAliases":[{"foreign":{"id":77636,"name":"BaseStrategyUpgradeable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74672,"src":"773:23:130","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":77667,"nodeType":"ContractDefinition","src":"837:355:130","nodes":[{"id":77642,"nodeType":"FunctionDefinition","src":"868:52:130","nodes":[],"functionSelector":"6453d9c4","implemented":false,"kind":"function","modifiers":[],"name":"deactivatePoints","nameLocation":"877:16:130","parameters":{"id":77640,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77639,"mutability":"mutable","name":"_member","nameLocation":"902:7:130","nodeType":"VariableDeclaration","scope":77642,"src":"894:15:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":77638,"name":"address","nodeType":"ElementaryTypeName","src":"894:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"893:17:130"},"returnParameters":{"id":77641,"nodeType":"ParameterList","parameters":[],"src":"919:0:130"},"scope":77667,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":77651,"nodeType":"FunctionDefinition","src":"925:91:130","nodes":[],"functionSelector":"782aadff","implemented":false,"kind":"function","modifiers":[],"name":"increasePower","nameLocation":"934:13:130","parameters":{"id":77647,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77644,"mutability":"mutable","name":"_member","nameLocation":"956:7:130","nodeType":"VariableDeclaration","scope":77651,"src":"948:15:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":77643,"name":"address","nodeType":"ElementaryTypeName","src":"948:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":77646,"mutability":"mutable","name":"_amountToStake","nameLocation":"973:14:130","nodeType":"VariableDeclaration","scope":77651,"src":"965:22:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77645,"name":"uint256","nodeType":"ElementaryTypeName","src":"965:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"947:41:130"},"returnParameters":{"id":77650,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77649,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":77651,"src":"1007:7:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77648,"name":"uint256","nodeType":"ElementaryTypeName","src":"1007:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1006:9:130"},"scope":77667,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":77660,"nodeType":"FunctionDefinition","src":"1021:92:130","nodes":[],"functionSelector":"2ed04b2b","implemented":false,"kind":"function","modifiers":[],"name":"decreasePower","nameLocation":"1030:13:130","parameters":{"id":77656,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77653,"mutability":"mutable","name":"_member","nameLocation":"1052:7:130","nodeType":"VariableDeclaration","scope":77660,"src":"1044:15:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":77652,"name":"address","nodeType":"ElementaryTypeName","src":"1044:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":77655,"mutability":"mutable","name":"_amountToUntake","nameLocation":"1069:15:130","nodeType":"VariableDeclaration","scope":77660,"src":"1061:23:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77654,"name":"uint256","nodeType":"ElementaryTypeName","src":"1061:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1043:42:130"},"returnParameters":{"id":77659,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77658,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":77660,"src":"1104:7:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77657,"name":"uint256","nodeType":"ElementaryTypeName","src":"1104:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1103:9:130"},"scope":77667,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":77666,"nodeType":"FunctionDefinition","src":"1118:72:130","nodes":[],"functionSelector":"c3292171","implemented":false,"kind":"function","modifiers":[],"name":"getPointSystem","nameLocation":"1127:14:130","parameters":{"id":77661,"nodeType":"ParameterList","parameters":[],"src":"1141:2:130"},"returnParameters":{"id":77665,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77664,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":77666,"src":"1162:26:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$77676","typeString":"enum StrategyStruct.PointSystem"},"typeName":{"id":77663,"nodeType":"UserDefinedTypeName","pathNode":{"id":77662,"name":"StrategyStruct.PointSystem","nameLocations":["1162:14:130","1177:11:130"],"nodeType":"IdentifierPath","referencedDeclaration":77676,"src":"1162:26:130"},"referencedDeclaration":77676,"src":"1162:26:130","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$77676","typeString":"enum StrategyStruct.PointSystem"}},"visibility":"internal"}],"src":"1161:28:130"},"scope":77667,"stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"IPointStrategy","contractDependencies":[],"contractKind":"interface","fullyImplemented":false,"linearizedBaseContracts":[77667],"name":"IPointStrategy","nameLocation":"847:14:130","scope":80579,"usedErrors":[]},{"id":77752,"nodeType":"ContractDefinition","src":"1194:1871:130","nodes":[{"id":77671,"nodeType":"EnumDefinition","src":"1223:79:130","nodes":[],"canonicalName":"StrategyStruct.ProposalType","members":[{"id":77668,"name":"Signaling","nameLocation":"1251:9:130","nodeType":"EnumValue","src":"1251:9:130"},{"id":77669,"name":"Funding","nameLocation":"1270:7:130","nodeType":"EnumValue","src":"1270:7:130"},{"id":77670,"name":"Streaming","nameLocation":"1287:9:130","nodeType":"EnumValue","src":"1287:9:130"}],"name":"ProposalType","nameLocation":"1228:12:130"},{"id":77676,"nodeType":"EnumDefinition","src":"1308:92:130","nodes":[],"canonicalName":"StrategyStruct.PointSystem","members":[{"id":77672,"name":"Fixed","nameLocation":"1335:5:130","nodeType":"EnumValue","src":"1335:5:130"},{"id":77673,"name":"Capped","nameLocation":"1350:6:130","nodeType":"EnumValue","src":"1350:6:130"},{"id":77674,"name":"Unlimited","nameLocation":"1366:9:130","nodeType":"EnumValue","src":"1366:9:130"},{"id":77675,"name":"Quadratic","nameLocation":"1385:9:130","nodeType":"EnumValue","src":"1385:9:130"}],"name":"PointSystem","nameLocation":"1313:11:130"},{"id":77688,"nodeType":"StructDefinition","src":"1406:243:130","nodes":[],"canonicalName":"StrategyStruct.CreateProposal","members":[{"constant":false,"id":77678,"mutability":"mutable","name":"poolId","nameLocation":"1477:6:130","nodeType":"VariableDeclaration","scope":77688,"src":"1469:14:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77677,"name":"uint256","nodeType":"ElementaryTypeName","src":"1469:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":77680,"mutability":"mutable","name":"beneficiary","nameLocation":"1501:11:130","nodeType":"VariableDeclaration","scope":77688,"src":"1493:19:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":77679,"name":"address","nodeType":"ElementaryTypeName","src":"1493:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":77682,"mutability":"mutable","name":"amountRequested","nameLocation":"1568:15:130","nodeType":"VariableDeclaration","scope":77688,"src":"1560:23:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77681,"name":"uint256","nodeType":"ElementaryTypeName","src":"1560:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":77684,"mutability":"mutable","name":"requestedToken","nameLocation":"1601:14:130","nodeType":"VariableDeclaration","scope":77688,"src":"1593:22:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":77683,"name":"address","nodeType":"ElementaryTypeName","src":"1593:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":77687,"mutability":"mutable","name":"metadata","nameLocation":"1634:8:130","nodeType":"VariableDeclaration","scope":77688,"src":"1625:17:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"},"typeName":{"id":77686,"nodeType":"UserDefinedTypeName","pathNode":{"id":77685,"name":"Metadata","nameLocations":["1625:8:130"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"1625:8:130"},"referencedDeclaration":3098,"src":"1625:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"}],"name":"CreateProposal","nameLocation":"1413:14:130","scope":77752,"visibility":"public"},{"id":77694,"nodeType":"EnumDefinition","src":"1655:289:130","nodes":[],"canonicalName":"StrategyStruct.ProposalStatus","members":[{"id":77689,"name":"Inactive","nameLocation":"1685:8:130","nodeType":"EnumValue","src":"1685:8:130"},{"id":77690,"name":"Active","nameLocation":"1715:6:130","nodeType":"EnumValue","src":"1715:6:130"},{"id":77691,"name":"Paused","nameLocation":"1778:6:130","nodeType":"EnumValue","src":"1778:6:130"},{"id":77692,"name":"Cancelled","nameLocation":"1843:9:130","nodeType":"EnumValue","src":"1843:9:130"},{"id":77693,"name":"Executed","nameLocation":"1896:8:130","nodeType":"EnumValue","src":"1896:8:130"}],"name":"ProposalStatus","nameLocation":"1660:14:130"},{"id":77721,"nodeType":"StructDefinition","src":"1950:405:130","nodes":[],"canonicalName":"StrategyStruct.Proposal","members":[{"constant":false,"id":77696,"mutability":"mutable","name":"proposalId","nameLocation":"1984:10:130","nodeType":"VariableDeclaration","scope":77721,"src":"1976:18:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77695,"name":"uint256","nodeType":"ElementaryTypeName","src":"1976:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":77698,"mutability":"mutable","name":"requestedAmount","nameLocation":"2012:15:130","nodeType":"VariableDeclaration","scope":77721,"src":"2004:23:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77697,"name":"uint256","nodeType":"ElementaryTypeName","src":"2004:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":77700,"mutability":"mutable","name":"stakedAmount","nameLocation":"2045:12:130","nodeType":"VariableDeclaration","scope":77721,"src":"2037:20:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77699,"name":"uint256","nodeType":"ElementaryTypeName","src":"2037:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":77702,"mutability":"mutable","name":"convictionLast","nameLocation":"2075:14:130","nodeType":"VariableDeclaration","scope":77721,"src":"2067:22:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77701,"name":"uint256","nodeType":"ElementaryTypeName","src":"2067:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":77704,"mutability":"mutable","name":"beneficiary","nameLocation":"2107:11:130","nodeType":"VariableDeclaration","scope":77721,"src":"2099:19:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":77703,"name":"address","nodeType":"ElementaryTypeName","src":"2099:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":77706,"mutability":"mutable","name":"submitter","nameLocation":"2136:9:130","nodeType":"VariableDeclaration","scope":77721,"src":"2128:17:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":77705,"name":"address","nodeType":"ElementaryTypeName","src":"2128:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":77708,"mutability":"mutable","name":"requestedToken","nameLocation":"2163:14:130","nodeType":"VariableDeclaration","scope":77721,"src":"2155:22:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":77707,"name":"address","nodeType":"ElementaryTypeName","src":"2155:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":77710,"mutability":"mutable","name":"blockLast","nameLocation":"2195:9:130","nodeType":"VariableDeclaration","scope":77721,"src":"2187:17:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77709,"name":"uint256","nodeType":"ElementaryTypeName","src":"2187:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":77713,"mutability":"mutable","name":"proposalStatus","nameLocation":"2229:14:130","nodeType":"VariableDeclaration","scope":77721,"src":"2214:29:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$77694","typeString":"enum StrategyStruct.ProposalStatus"},"typeName":{"id":77712,"nodeType":"UserDefinedTypeName","pathNode":{"id":77711,"name":"ProposalStatus","nameLocations":["2214:14:130"],"nodeType":"IdentifierPath","referencedDeclaration":77694,"src":"2214:14:130"},"referencedDeclaration":77694,"src":"2214:14:130","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$77694","typeString":"enum StrategyStruct.ProposalStatus"}},"visibility":"internal"},{"constant":false,"id":77717,"mutability":"mutable","name":"voterStakedPoints","nameLocation":"2281:17:130","nodeType":"VariableDeclaration","scope":77721,"src":"2253:45:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"typeName":{"id":77716,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":77714,"name":"address","nodeType":"ElementaryTypeName","src":"2261:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"2253:27:130","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":77715,"name":"uint256","nodeType":"ElementaryTypeName","src":"2272:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"internal"},{"constant":false,"id":77720,"mutability":"mutable","name":"metadata","nameLocation":"2340:8:130","nodeType":"VariableDeclaration","scope":77721,"src":"2331:17:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"},"typeName":{"id":77719,"nodeType":"UserDefinedTypeName","pathNode":{"id":77718,"name":"Metadata","nameLocations":["2331:8:130"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"2331:8:130"},"referencedDeclaration":3098,"src":"2331:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"}],"name":"Proposal","nameLocation":"1957:8:130","scope":77752,"visibility":"public"},{"id":77726,"nodeType":"StructDefinition","src":"2361:126:130","nodes":[],"canonicalName":"StrategyStruct.ProposalSupport","members":[{"constant":false,"id":77723,"mutability":"mutable","name":"proposalId","nameLocation":"2402:10:130","nodeType":"VariableDeclaration","scope":77726,"src":"2394:18:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77722,"name":"uint256","nodeType":"ElementaryTypeName","src":"2394:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":77725,"mutability":"mutable","name":"deltaSupport","nameLocation":"2429:12:130","nodeType":"VariableDeclaration","scope":77726,"src":"2422:19:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":77724,"name":"int256","nodeType":"ElementaryTypeName","src":"2422:6:130","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"name":"ProposalSupport","nameLocation":"2368:15:130","scope":77752,"visibility":"public"},{"id":77729,"nodeType":"StructDefinition","src":"2493:89:130","nodes":[],"canonicalName":"StrategyStruct.PointSystemConfig","members":[{"constant":false,"id":77728,"mutability":"mutable","name":"maxAmount","nameLocation":"2566:9:130","nodeType":"VariableDeclaration","scope":77729,"src":"2558:17:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77727,"name":"uint256","nodeType":"ElementaryTypeName","src":"2558:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"PointSystemConfig","nameLocation":"2500:17:130","scope":77752,"visibility":"public"},{"id":77751,"nodeType":"StructDefinition","src":"2588:475:130","nodes":[],"canonicalName":"StrategyStruct.InitializeParams","members":[{"constant":false,"id":77731,"mutability":"mutable","name":"registryCommunity","nameLocation":"2630:17:130","nodeType":"VariableDeclaration","scope":77751,"src":"2622:25:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":77730,"name":"address","nodeType":"ElementaryTypeName","src":"2622:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":77733,"mutability":"mutable","name":"decay","nameLocation":"2694:5:130","nodeType":"VariableDeclaration","scope":77751,"src":"2686:13:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77732,"name":"uint256","nodeType":"ElementaryTypeName","src":"2686:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":77735,"mutability":"mutable","name":"maxRatio","nameLocation":"2764:8:130","nodeType":"VariableDeclaration","scope":77751,"src":"2756:16:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77734,"name":"uint256","nodeType":"ElementaryTypeName","src":"2756:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":77737,"mutability":"mutable","name":"weight","nameLocation":"2818:6:130","nodeType":"VariableDeclaration","scope":77751,"src":"2810:14:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77736,"name":"uint256","nodeType":"ElementaryTypeName","src":"2810:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":77739,"mutability":"mutable","name":"minThresholdPoints","nameLocation":"2842:18:130","nodeType":"VariableDeclaration","scope":77751,"src":"2834:26:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77738,"name":"uint256","nodeType":"ElementaryTypeName","src":"2834:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":77742,"mutability":"mutable","name":"proposalType","nameLocation":"2908:12:130","nodeType":"VariableDeclaration","scope":77751,"src":"2895:25:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$77671","typeString":"enum StrategyStruct.ProposalType"},"typeName":{"id":77741,"nodeType":"UserDefinedTypeName","pathNode":{"id":77740,"name":"ProposalType","nameLocations":["2895:12:130"],"nodeType":"IdentifierPath","referencedDeclaration":77671,"src":"2895:12:130"},"referencedDeclaration":77671,"src":"2895:12:130","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$77671","typeString":"enum StrategyStruct.ProposalType"}},"visibility":"internal"},{"constant":false,"id":77745,"mutability":"mutable","name":"pointSystem","nameLocation":"2977:11:130","nodeType":"VariableDeclaration","scope":77751,"src":"2965:23:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$77676","typeString":"enum StrategyStruct.PointSystem"},"typeName":{"id":77744,"nodeType":"UserDefinedTypeName","pathNode":{"id":77743,"name":"PointSystem","nameLocations":["2965:11:130"],"nodeType":"IdentifierPath","referencedDeclaration":77676,"src":"2965:11:130"},"referencedDeclaration":77676,"src":"2965:11:130","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$77676","typeString":"enum StrategyStruct.PointSystem"}},"visibility":"internal"},{"constant":false,"id":77748,"mutability":"mutable","name":"pointConfig","nameLocation":"3016:11:130","nodeType":"VariableDeclaration","scope":77751,"src":"2998:29:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$77729_storage_ptr","typeString":"struct StrategyStruct.PointSystemConfig"},"typeName":{"id":77747,"nodeType":"UserDefinedTypeName","pathNode":{"id":77746,"name":"PointSystemConfig","nameLocations":["2998:17:130"],"nodeType":"IdentifierPath","referencedDeclaration":77729,"src":"2998:17:130"},"referencedDeclaration":77729,"src":"2998:17:130","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$77729_storage_ptr","typeString":"struct StrategyStruct.PointSystemConfig"}},"visibility":"internal"},{"constant":false,"id":77750,"mutability":"mutable","name":"sybilScorer","nameLocation":"3045:11:130","nodeType":"VariableDeclaration","scope":77751,"src":"3037:19:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":77749,"name":"address","nodeType":"ElementaryTypeName","src":"3037:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"name":"InitializeParams","nameLocation":"2595:16:130","scope":77752,"visibility":"public"}],"abstract":false,"baseContracts":[],"canonicalName":"StrategyStruct","contractDependencies":[],"contractKind":"library","fullyImplemented":true,"linearizedBaseContracts":[77752],"name":"StrategyStruct","nameLocation":"1202:14:130","scope":80579,"usedErrors":[]},{"id":80578,"nodeType":"ContractDefinition","src":"3067:38512:130","nodes":[{"id":77763,"nodeType":"UsingForDirective","src":"3168:23:130","nodes":[],"global":false,"libraryName":{"id":77761,"name":"Math","nameLocations":["3174:4:130"],"nodeType":"IdentifierPath","referencedDeclaration":59338,"src":"3174:4:130"},"typeName":{"id":77762,"name":"uint256","nodeType":"ElementaryTypeName","src":"3183:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},{"id":77765,"nodeType":"ErrorDefinition","src":"3362:25:130","nodes":[],"errorSelector":"d1f28288","name":"UserCannotBeZero","nameLocation":"3368:16:130","parameters":{"id":77764,"nodeType":"ParameterList","parameters":[],"src":"3384:2:130"}},{"id":77767,"nodeType":"ErrorDefinition","src":"3406:26:130","nodes":[],"errorSelector":"6a5cfb6d","name":"UserNotInRegistry","nameLocation":"3412:17:130","parameters":{"id":77766,"nodeType":"ParameterList","parameters":[],"src":"3429:2:130"}},{"id":77769,"nodeType":"ErrorDefinition","src":"3450:23:130","nodes":[],"errorSelector":"5fccb67f","name":"UserIsInactive","nameLocation":"3456:14:130","parameters":{"id":77768,"nodeType":"ParameterList","parameters":[],"src":"3470:2:130"}},{"id":77771,"nodeType":"ErrorDefinition","src":"3492:20:130","nodes":[],"errorSelector":"ed4421ad","name":"PoolIsEmpty","nameLocation":"3498:11:130","parameters":{"id":77770,"nodeType":"ParameterList","parameters":[],"src":"3509:2:130"}},{"id":77773,"nodeType":"ErrorDefinition","src":"3531:23:130","nodes":[],"errorSelector":"d6234725","name":"NotImplemented","nameLocation":"3537:14:130","parameters":{"id":77772,"nodeType":"ParameterList","parameters":[],"src":"3551:2:130"}},{"id":77775,"nodeType":"ErrorDefinition","src":"3572:26:130","nodes":[],"errorSelector":"596a094c","name":"TokenCannotBeZero","nameLocation":"3578:17:130","parameters":{"id":77774,"nodeType":"ParameterList","parameters":[],"src":"3595:2:130"}},{"id":77777,"nodeType":"ErrorDefinition","src":"3616:24:130","nodes":[],"errorSelector":"a29c4986","name":"TokenNotAllowed","nameLocation":"3622:15:130","parameters":{"id":77776,"nodeType":"ParameterList","parameters":[],"src":"3637:2:130"}},{"id":77779,"nodeType":"ErrorDefinition","src":"3659:27:130","nodes":[],"errorSelector":"3bf5ca14","name":"AmountOverMaxRatio","nameLocation":"3665:18:130","parameters":{"id":77778,"nodeType":"ParameterList","parameters":[],"src":"3683:2:130"}},{"id":77781,"nodeType":"ErrorDefinition","src":"3705:27:130","nodes":[],"errorSelector":"4e791786","name":"PoolIdCannotBeZero","nameLocation":"3711:18:130","parameters":{"id":77780,"nodeType":"ParameterList","parameters":[],"src":"3729:2:130"}},{"id":77783,"nodeType":"ErrorDefinition","src":"3750:28:130","nodes":[],"errorSelector":"e622e040","name":"AddressCannotBeZero","nameLocation":"3756:19:130","parameters":{"id":77782,"nodeType":"ParameterList","parameters":[],"src":"3775:2:130"}},{"id":77785,"nodeType":"ErrorDefinition","src":"3796:29:130","nodes":[],"errorSelector":"5df4b1ef","name":"RegistryCannotBeZero","nameLocation":"3802:20:130","parameters":{"id":77784,"nodeType":"ParameterList","parameters":[],"src":"3822:2:130"}},{"id":77793,"nodeType":"ErrorDefinition","src":"3844:72:130","nodes":[],"errorSelector":"3bbc7142","name":"SupportUnderflow","nameLocation":"3850:16:130","parameters":{"id":77792,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77787,"mutability":"mutable","name":"_support","nameLocation":"3875:8:130","nodeType":"VariableDeclaration","scope":77793,"src":"3867:16:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77786,"name":"uint256","nodeType":"ElementaryTypeName","src":"3867:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":77789,"mutability":"mutable","name":"_delta","nameLocation":"3892:6:130","nodeType":"VariableDeclaration","scope":77793,"src":"3885:13:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":77788,"name":"int256","nodeType":"ElementaryTypeName","src":"3885:6:130","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":77791,"mutability":"mutable","name":"_result","nameLocation":"3907:7:130","nodeType":"VariableDeclaration","scope":77793,"src":"3900:14:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":77790,"name":"int256","nodeType":"ElementaryTypeName","src":"3900:6:130","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"3866:49:130"}},{"id":77795,"nodeType":"ErrorDefinition","src":"3935:25:130","nodes":[],"errorSelector":"8402b474","name":"MaxPointsReached","nameLocation":"3941:16:130","parameters":{"id":77794,"nodeType":"ParameterList","parameters":[],"src":"3957:2:130"}},{"id":77797,"nodeType":"ErrorDefinition","src":"3979:32:130","nodes":[],"errorSelector":"573c3e93","name":"CantIncreaseFixedSystem","nameLocation":"3985:23:130","parameters":{"id":77796,"nodeType":"ParameterList","parameters":[],"src":"4008:2:130"}},{"id":77803,"nodeType":"ErrorDefinition","src":"4030:77:130","nodes":[],"errorSelector":"d64182fe","name":"NotEnoughPointsToSupport","nameLocation":"4036:24:130","parameters":{"id":77802,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77799,"mutability":"mutable","name":"pointsSupport","nameLocation":"4069:13:130","nodeType":"VariableDeclaration","scope":77803,"src":"4061:21:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77798,"name":"uint256","nodeType":"ElementaryTypeName","src":"4061:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":77801,"mutability":"mutable","name":"pointsBalance","nameLocation":"4092:13:130","nodeType":"VariableDeclaration","scope":77803,"src":"4084:21:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77800,"name":"uint256","nodeType":"ElementaryTypeName","src":"4084:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4060:46:130"}},{"id":77805,"nodeType":"ErrorDefinition","src":"4127:28:130","nodes":[],"errorSelector":"c5f7c4c0","name":"ProposalDataIsEmpty","nameLocation":"4133:19:130","parameters":{"id":77804,"nodeType":"ParameterList","parameters":[],"src":"4152:2:130"}},{"id":77807,"nodeType":"ErrorDefinition","src":"4173:31:130","nodes":[],"errorSelector":"f881a10d","name":"ProposalIdCannotBeZero","nameLocation":"4179:22:130","parameters":{"id":77806,"nodeType":"ParameterList","parameters":[],"src":"4201:2:130"}},{"id":77811,"nodeType":"ErrorDefinition","src":"4222:45:130","nodes":[],"errorSelector":"44980d8f","name":"ProposalNotActive","nameLocation":"4228:17:130","parameters":{"id":77810,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77809,"mutability":"mutable","name":"_proposalId","nameLocation":"4254:11:130","nodeType":"VariableDeclaration","scope":77811,"src":"4246:19:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77808,"name":"uint256","nodeType":"ElementaryTypeName","src":"4246:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4245:21:130"}},{"id":77815,"nodeType":"ErrorDefinition","src":"4286:45:130","nodes":[],"errorSelector":"c1d17bef","name":"ProposalNotInList","nameLocation":"4292:17:130","parameters":{"id":77814,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77813,"mutability":"mutable","name":"_proposalId","nameLocation":"4318:11:130","nodeType":"VariableDeclaration","scope":77815,"src":"4310:19:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77812,"name":"uint256","nodeType":"ElementaryTypeName","src":"4310:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4309:21:130"}},{"id":77821,"nodeType":"ErrorDefinition","src":"4350:68:130","nodes":[],"errorSelector":"adebb154","name":"ProposalSupportDuplicated","nameLocation":"4356:25:130","parameters":{"id":77820,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77817,"mutability":"mutable","name":"_proposalId","nameLocation":"4390:11:130","nodeType":"VariableDeclaration","scope":77821,"src":"4382:19:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77816,"name":"uint256","nodeType":"ElementaryTypeName","src":"4382:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":77819,"mutability":"mutable","name":"index","nameLocation":"4411:5:130","nodeType":"VariableDeclaration","scope":77821,"src":"4403:13:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77818,"name":"uint256","nodeType":"ElementaryTypeName","src":"4403:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4381:36:130"}},{"id":77823,"nodeType":"ErrorDefinition","src":"4436:40:130","nodes":[],"errorSelector":"cce79308","name":"ConvictionUnderMinimumThreshold","nameLocation":"4442:31:130","parameters":{"id":77822,"nodeType":"ParameterList","parameters":[],"src":"4473:2:130"}},{"id":77825,"nodeType":"ErrorDefinition","src":"4495:29:130","nodes":[],"errorSelector":"af0916a2","name":"OnlyCommunityAllowed","nameLocation":"4501:20:130","parameters":{"id":77824,"nodeType":"ParameterList","parameters":[],"src":"4521:2:130"}},{"id":77833,"nodeType":"ErrorDefinition","src":"4543:94:130","nodes":[],"errorSelector":"5863b0b6","name":"PoolAmountNotEnough","nameLocation":"4549:19:130","parameters":{"id":77832,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77827,"mutability":"mutable","name":"_proposalId","nameLocation":"4577:11:130","nodeType":"VariableDeclaration","scope":77833,"src":"4569:19:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77826,"name":"uint256","nodeType":"ElementaryTypeName","src":"4569:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":77829,"mutability":"mutable","name":"_requestedAmount","nameLocation":"4598:16:130","nodeType":"VariableDeclaration","scope":77833,"src":"4590:24:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77828,"name":"uint256","nodeType":"ElementaryTypeName","src":"4590:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":77831,"mutability":"mutable","name":"_poolAmount","nameLocation":"4624:11:130","nodeType":"VariableDeclaration","scope":77833,"src":"4616:19:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77830,"name":"uint256","nodeType":"ElementaryTypeName","src":"4616:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4568:68:130"}},{"id":77835,"nodeType":"ErrorDefinition","src":"4655:24:130","nodes":[],"errorSelector":"e860ec7e","name":"OnlyCouncilSafe","nameLocation":"4661:15:130","parameters":{"id":77834,"nodeType":"ParameterList","parameters":[],"src":"4676:2:130"}},{"id":77837,"nodeType":"ErrorDefinition","src":"4684:32:130","nodes":[],"errorSelector":"5b96b588","name":"UserCannotExecuteAction","nameLocation":"4690:23:130","parameters":{"id":77836,"nodeType":"ParameterList","parameters":[],"src":"4713:2:130"}},{"id":77844,"nodeType":"EventDefinition","src":"4888:74:130","nodes":[],"anonymous":false,"eventSelector":"4ebdec05fb64815e553aeaf3976ef8112dd79760a459bee3ac7d1659ab2c4e04","name":"InitializedCV","nameLocation":"4894:13:130","parameters":{"id":77843,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77839,"indexed":false,"mutability":"mutable","name":"poolId","nameLocation":"4916:6:130","nodeType":"VariableDeclaration","scope":77844,"src":"4908:14:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77838,"name":"uint256","nodeType":"ElementaryTypeName","src":"4908:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":77842,"indexed":false,"mutability":"mutable","name":"data","nameLocation":"4956:4:130","nodeType":"VariableDeclaration","scope":77844,"src":"4924:36:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$77751_memory_ptr","typeString":"struct StrategyStruct.InitializeParams"},"typeName":{"id":77841,"nodeType":"UserDefinedTypeName","pathNode":{"id":77840,"name":"StrategyStruct.InitializeParams","nameLocations":["4924:14:130","4939:16:130"],"nodeType":"IdentifierPath","referencedDeclaration":77751,"src":"4924:31:130"},"referencedDeclaration":77751,"src":"4924:31:130","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$77751_storage_ptr","typeString":"struct StrategyStruct.InitializeParams"}},"visibility":"internal"}],"src":"4907:54:130"}},{"id":77852,"nodeType":"EventDefinition","src":"4967:75:130","nodes":[],"anonymous":false,"eventSelector":"a7932e9c92f31e1ed56b29d00bbe669a97484dc24de28dd9c8c0429df7f35847","name":"Distributed","nameLocation":"4973:11:130","parameters":{"id":77851,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77846,"indexed":false,"mutability":"mutable","name":"proposalId","nameLocation":"4993:10:130","nodeType":"VariableDeclaration","scope":77852,"src":"4985:18:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77845,"name":"uint256","nodeType":"ElementaryTypeName","src":"4985:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":77848,"indexed":false,"mutability":"mutable","name":"beneficiary","nameLocation":"5013:11:130","nodeType":"VariableDeclaration","scope":77852,"src":"5005:19:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":77847,"name":"address","nodeType":"ElementaryTypeName","src":"5005:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":77850,"indexed":false,"mutability":"mutable","name":"amount","nameLocation":"5034:6:130","nodeType":"VariableDeclaration","scope":77852,"src":"5026:14:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77849,"name":"uint256","nodeType":"ElementaryTypeName","src":"5026:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4984:57:130"}},{"id":77858,"nodeType":"EventDefinition","src":"5047:58:130","nodes":[],"anonymous":false,"eventSelector":"fcf3b1aa65a464cef2889608f99e8b8c0f680a4be6c2acb9d961c536a5a9294b","name":"ProposalCreated","nameLocation":"5053:15:130","parameters":{"id":77857,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77854,"indexed":false,"mutability":"mutable","name":"poolId","nameLocation":"5077:6:130","nodeType":"VariableDeclaration","scope":77858,"src":"5069:14:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77853,"name":"uint256","nodeType":"ElementaryTypeName","src":"5069:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":77856,"indexed":false,"mutability":"mutable","name":"proposalId","nameLocation":"5093:10:130","nodeType":"VariableDeclaration","scope":77858,"src":"5085:18:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77855,"name":"uint256","nodeType":"ElementaryTypeName","src":"5085:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5068:36:130"}},{"id":77862,"nodeType":"EventDefinition","src":"5110:42:130","nodes":[],"anonymous":false,"eventSelector":"46aeb5d8770fc4474bc2dfa118fd2595f7fb33ce2cbce6f4e5a3dabfe0f76339","name":"PoolAmountIncreased","nameLocation":"5116:19:130","parameters":{"id":77861,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77860,"indexed":false,"mutability":"mutable","name":"amount","nameLocation":"5144:6:130","nodeType":"VariableDeclaration","scope":77862,"src":"5136:14:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77859,"name":"uint256","nodeType":"ElementaryTypeName","src":"5136:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5135:16:130"}},{"id":77870,"nodeType":"EventDefinition","src":"5157:85:130","nodes":[],"anonymous":false,"eventSelector":"0b9150e1e54346ed3fa36b977cd5d65dca5a649c737c3174a26bddaadd47667a","name":"PowerIncreased","nameLocation":"5163:14:130","parameters":{"id":77869,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77864,"indexed":false,"mutability":"mutable","name":"member","nameLocation":"5186:6:130","nodeType":"VariableDeclaration","scope":77870,"src":"5178:14:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":77863,"name":"address","nodeType":"ElementaryTypeName","src":"5178:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":77866,"indexed":false,"mutability":"mutable","name":"tokensStaked","nameLocation":"5202:12:130","nodeType":"VariableDeclaration","scope":77870,"src":"5194:20:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77865,"name":"uint256","nodeType":"ElementaryTypeName","src":"5194:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":77868,"indexed":false,"mutability":"mutable","name":"pointsToIncrease","nameLocation":"5224:16:130","nodeType":"VariableDeclaration","scope":77870,"src":"5216:24:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77867,"name":"uint256","nodeType":"ElementaryTypeName","src":"5216:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5177:64:130"}},{"id":77878,"nodeType":"EventDefinition","src":"5247:87:130","nodes":[],"anonymous":false,"eventSelector":"70b752f3fadb6ac131c0ece847fcbb6994ec56ed6411595710fd9b29c6ac6cc1","name":"PowerDecreased","nameLocation":"5253:14:130","parameters":{"id":77877,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77872,"indexed":false,"mutability":"mutable","name":"member","nameLocation":"5276:6:130","nodeType":"VariableDeclaration","scope":77878,"src":"5268:14:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":77871,"name":"address","nodeType":"ElementaryTypeName","src":"5268:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":77874,"indexed":false,"mutability":"mutable","name":"tokensUnStaked","nameLocation":"5292:14:130","nodeType":"VariableDeclaration","scope":77878,"src":"5284:22:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77873,"name":"uint256","nodeType":"ElementaryTypeName","src":"5284:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":77876,"indexed":false,"mutability":"mutable","name":"pointsToDecrease","nameLocation":"5316:16:130","nodeType":"VariableDeclaration","scope":77878,"src":"5308:24:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77875,"name":"uint256","nodeType":"ElementaryTypeName","src":"5308:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5267:66:130"}},{"id":77890,"nodeType":"EventDefinition","src":"5339:134:130","nodes":[],"anonymous":false,"eventSelector":"0227f642ddcf2042ceaeafadb9d540f432072c00cd4862881667168dcc14710f","name":"SupportAdded","nameLocation":"5345:12:130","parameters":{"id":77889,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77880,"indexed":false,"mutability":"mutable","name":"from","nameLocation":"5375:4:130","nodeType":"VariableDeclaration","scope":77890,"src":"5367:12:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":77879,"name":"address","nodeType":"ElementaryTypeName","src":"5367:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":77882,"indexed":false,"mutability":"mutable","name":"proposalId","nameLocation":"5389:10:130","nodeType":"VariableDeclaration","scope":77890,"src":"5381:18:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77881,"name":"uint256","nodeType":"ElementaryTypeName","src":"5381:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":77884,"indexed":false,"mutability":"mutable","name":"amount","nameLocation":"5409:6:130","nodeType":"VariableDeclaration","scope":77890,"src":"5401:14:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77883,"name":"uint256","nodeType":"ElementaryTypeName","src":"5401:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":77886,"indexed":false,"mutability":"mutable","name":"totalStakedAmount","nameLocation":"5425:17:130","nodeType":"VariableDeclaration","scope":77890,"src":"5417:25:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77885,"name":"uint256","nodeType":"ElementaryTypeName","src":"5417:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":77888,"indexed":false,"mutability":"mutable","name":"convictionLast","nameLocation":"5452:14:130","nodeType":"VariableDeclaration","scope":77890,"src":"5444:22:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77887,"name":"uint256","nodeType":"ElementaryTypeName","src":"5444:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5357:115:130"}},{"id":77894,"nodeType":"EventDefinition","src":"5478:40:130","nodes":[],"anonymous":false,"eventSelector":"1468da654b37bb3631011c1917d02e0db437d519918858d40b38b5e980ca033b","name":"PointsDeactivated","nameLocation":"5484:17:130","parameters":{"id":77893,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77892,"indexed":false,"mutability":"mutable","name":"member","nameLocation":"5510:6:130","nodeType":"VariableDeclaration","scope":77894,"src":"5502:14:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":77891,"name":"address","nodeType":"ElementaryTypeName","src":"5502:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5501:16:130"}},{"id":77898,"nodeType":"EventDefinition","src":"5523:34:130","nodes":[],"anonymous":false,"eventSelector":"592dcd55d60d892e7fcb3ba105013312e99691cd59f91e15f83cb67cb5a505f2","name":"DecayUpdated","nameLocation":"5529:12:130","parameters":{"id":77897,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77896,"indexed":false,"mutability":"mutable","name":"decay","nameLocation":"5550:5:130","nodeType":"VariableDeclaration","scope":77898,"src":"5542:13:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77895,"name":"uint256","nodeType":"ElementaryTypeName","src":"5542:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5541:15:130"}},{"id":77902,"nodeType":"EventDefinition","src":"5562:40:130","nodes":[],"anonymous":false,"eventSelector":"08e39b387d1f739ce0d2553bb31822392e3f67c62c6c0a215120ab4a6841a8ab","name":"MaxRatioUpdated","nameLocation":"5568:15:130","parameters":{"id":77901,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77900,"indexed":false,"mutability":"mutable","name":"maxRatio","nameLocation":"5592:8:130","nodeType":"VariableDeclaration","scope":77902,"src":"5584:16:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77899,"name":"uint256","nodeType":"ElementaryTypeName","src":"5584:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5583:18:130"}},{"id":77906,"nodeType":"EventDefinition","src":"5607:36:130","nodes":[],"anonymous":false,"eventSelector":"30ee8206062f283e56a0af2b02138016bf7442ded26ad68a92a18a9dd246fb49","name":"WeightUpdated","nameLocation":"5613:13:130","parameters":{"id":77905,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77904,"indexed":false,"mutability":"mutable","name":"weight","nameLocation":"5635:6:130","nodeType":"VariableDeclaration","scope":77906,"src":"5627:14:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77903,"name":"uint256","nodeType":"ElementaryTypeName","src":"5627:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5626:16:130"}},{"id":77910,"nodeType":"EventDefinition","src":"5648:49:130","nodes":[],"anonymous":false,"eventSelector":"d6ceddf6d2a22f21c7c81675c518004eff43bc5c8a6fc32a0b748e69d58671cd","name":"RegistryUpdated","nameLocation":"5654:15:130","parameters":{"id":77909,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77908,"indexed":false,"mutability":"mutable","name":"registryCommunity","nameLocation":"5678:17:130","nodeType":"VariableDeclaration","scope":77910,"src":"5670:25:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":77907,"name":"address","nodeType":"ElementaryTypeName","src":"5670:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5669:27:130"}},{"id":77916,"nodeType":"EventDefinition","src":"5702:76:130","nodes":[],"anonymous":false,"eventSelector":"056aedca4e334b6c4bea48715fb0de644811b740894de57a0380d3eb90f2805b","name":"MinThresholdPointsUpdated","nameLocation":"5708:25:130","parameters":{"id":77915,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77912,"indexed":false,"mutability":"mutable","name":"before","nameLocation":"5742:6:130","nodeType":"VariableDeclaration","scope":77916,"src":"5734:14:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77911,"name":"uint256","nodeType":"ElementaryTypeName","src":"5734:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":77914,"indexed":false,"mutability":"mutable","name":"minThresholdPoints","nameLocation":"5758:18:130","nodeType":"VariableDeclaration","scope":77916,"src":"5750:26:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77913,"name":"uint256","nodeType":"ElementaryTypeName","src":"5750:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5733:44:130"}},{"id":77919,"nodeType":"VariableDeclaration","src":"6152:36:130","nodes":[],"constant":true,"functionSelector":"0f529ba2","mutability":"constant","name":"D","nameLocation":"6176:1:130","scope":80578,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77917,"name":"uint256","nodeType":"ElementaryTypeName","src":"6152:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3130303030303030","id":77918,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6180:8:130","typeDescriptions":{"typeIdentifier":"t_rational_10000000_by_1","typeString":"int_const 10000000"},"value":"10000000"},"visibility":"public"},{"id":77922,"nodeType":"VariableDeclaration","src":"6202:70:130","nodes":[],"constant":true,"mutability":"constant","name":"TWO_128","nameLocation":"6227:7:130","scope":80578,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77920,"name":"uint256","nodeType":"ElementaryTypeName","src":"6202:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3078313030303030303030303030303030303030303030303030303030303030303030","id":77921,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6237:35:130","typeDescriptions":{"typeIdentifier":"t_rational_340282366920938463463374607431768211456_by_1","typeString":"int_const 3402...(31 digits omitted)...1456"},"value":"0x100000000000000000000000000000000"},"visibility":"private"},{"id":77925,"nodeType":"VariableDeclaration","src":"6288:69:130","nodes":[],"constant":true,"mutability":"constant","name":"TWO_127","nameLocation":"6313:7:130","scope":80578,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77923,"name":"uint256","nodeType":"ElementaryTypeName","src":"6288:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"30783830303030303030303030303030303030303030303030303030303030303030","id":77924,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6323:34:130","typeDescriptions":{"typeIdentifier":"t_rational_170141183460469231731687303715884105728_by_1","typeString":"int_const 1701...(31 digits omitted)...5728"},"value":"0x80000000000000000000000000000000"},"visibility":"private"},{"id":77928,"nodeType":"VariableDeclaration","src":"6373:53:130","nodes":[],"constant":true,"mutability":"constant","name":"TWO_64","nameLocation":"6398:6:130","scope":80578,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77926,"name":"uint256","nodeType":"ElementaryTypeName","src":"6373:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"30783130303030303030303030303030303030","id":77927,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6407:19:130","typeDescriptions":{"typeIdentifier":"t_rational_18446744073709551616_by_1","typeString":"int_const 18446744073709551616"},"value":"0x10000000000000000"},"visibility":"private"},{"id":77931,"nodeType":"VariableDeclaration","src":"6441:49:130","nodes":[],"constant":true,"functionSelector":"406244d8","mutability":"constant","name":"MAX_STAKED_PROPOSALS","nameLocation":"6465:20:130","scope":80578,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77929,"name":"uint256","nodeType":"ElementaryTypeName","src":"6441:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3130","id":77930,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6488:2:130","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"visibility":"public"},{"id":77933,"nodeType":"VariableDeclaration","src":"6618:20:130","nodes":[],"constant":false,"functionSelector":"54fac919","mutability":"mutable","name":"decay","nameLocation":"6633:5:130","scope":80578,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77932,"name":"uint256","nodeType":"ElementaryTypeName","src":"6618:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"id":77935,"nodeType":"VariableDeclaration","src":"6644:23:130","nodes":[],"constant":false,"functionSelector":"76365af7","mutability":"mutable","name":"maxRatio","nameLocation":"6659:8:130","scope":80578,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77934,"name":"uint256","nodeType":"ElementaryTypeName","src":"6644:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"id":77937,"nodeType":"VariableDeclaration","src":"6673:21:130","nodes":[],"constant":false,"functionSelector":"a1aab33f","mutability":"mutable","name":"weight","nameLocation":"6688:6:130","scope":80578,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77936,"name":"uint256","nodeType":"ElementaryTypeName","src":"6673:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"id":77940,"nodeType":"VariableDeclaration","src":"6700:34:130","nodes":[],"constant":false,"functionSelector":"0c0512e9","mutability":"mutable","name":"proposalCounter","nameLocation":"6715:15:130","scope":80578,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77938,"name":"uint256","nodeType":"ElementaryTypeName","src":"6700:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"30","id":77939,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6733:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"visibility":"public"},{"id":77942,"nodeType":"VariableDeclaration","src":"6740:26:130","nodes":[],"constant":false,"functionSelector":"817b1cd2","mutability":"mutable","name":"totalStaked","nameLocation":"6755:11:130","scope":80578,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77941,"name":"uint256","nodeType":"ElementaryTypeName","src":"6740:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"id":77944,"nodeType":"VariableDeclaration","src":"6772:35:130","nodes":[],"constant":false,"functionSelector":"aba9ffee","mutability":"mutable","name":"totalPointsActivated","nameLocation":"6787:20:130","scope":80578,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77943,"name":"uint256","nodeType":"ElementaryTypeName","src":"6772:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"id":77947,"nodeType":"VariableDeclaration","src":"6813:38:130","nodes":[],"constant":false,"functionSelector":"7c6570ba","mutability":"mutable","name":"_minThresholdPoints","nameLocation":"6828:19:130","scope":80578,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77945,"name":"uint256","nodeType":"ElementaryTypeName","src":"6813:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"30","id":77946,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6850:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"visibility":"public"},{"id":77949,"nodeType":"VariableDeclaration","src":"6892:47:130","nodes":[],"constant":false,"mutability":"mutable","name":"surpressStateMutabilityWarning","nameLocation":"6909:30:130","scope":80578,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77948,"name":"uint256","nodeType":"ElementaryTypeName","src":"6892:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"id":77952,"nodeType":"VariableDeclaration","src":"7024:47:130","nodes":[],"constant":false,"functionSelector":"351d9f96","mutability":"mutable","name":"proposalType","nameLocation":"7059:12:130","scope":80578,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$77671","typeString":"enum StrategyStruct.ProposalType"},"typeName":{"id":77951,"nodeType":"UserDefinedTypeName","pathNode":{"id":77950,"name":"StrategyStruct.ProposalType","nameLocations":["7024:14:130","7039:12:130"],"nodeType":"IdentifierPath","referencedDeclaration":77671,"src":"7024:27:130"},"referencedDeclaration":77671,"src":"7024:27:130","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$77671","typeString":"enum StrategyStruct.ProposalType"}},"visibility":"public"},{"id":77955,"nodeType":"VariableDeclaration","src":"7130:45:130","nodes":[],"constant":false,"functionSelector":"2dbd6fdd","mutability":"mutable","name":"pointSystem","nameLocation":"7164:11:130","scope":80578,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$77676","typeString":"enum StrategyStruct.PointSystem"},"typeName":{"id":77954,"nodeType":"UserDefinedTypeName","pathNode":{"id":77953,"name":"StrategyStruct.PointSystem","nameLocations":["7130:14:130","7145:11:130"],"nodeType":"IdentifierPath","referencedDeclaration":77676,"src":"7130:26:130"},"referencedDeclaration":77676,"src":"7130:26:130","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$77676","typeString":"enum StrategyStruct.PointSystem"}},"visibility":"public"},{"id":77958,"nodeType":"VariableDeclaration","src":"7181:51:130","nodes":[],"constant":false,"functionSelector":"a47ff7e5","mutability":"mutable","name":"pointConfig","nameLocation":"7221:11:130","scope":80578,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$77729_storage","typeString":"struct StrategyStruct.PointSystemConfig"},"typeName":{"id":77957,"nodeType":"UserDefinedTypeName","pathNode":{"id":77956,"name":"StrategyStruct.PointSystemConfig","nameLocations":["7181:14:130","7196:17:130"],"nodeType":"IdentifierPath","referencedDeclaration":77729,"src":"7181:32:130"},"referencedDeclaration":77729,"src":"7181:32:130","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$77729_storage_ptr","typeString":"struct StrategyStruct.PointSystemConfig"}},"visibility":"public"},{"id":77961,"nodeType":"VariableDeclaration","src":"7265:46:130","nodes":[],"constant":false,"functionSelector":"6003e414","mutability":"mutable","name":"registryCommunity","nameLocation":"7294:17:130","scope":80578,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"},"typeName":{"id":77960,"nodeType":"UserDefinedTypeName","pathNode":{"id":77959,"name":"RegistryCommunityV0_0","nameLocations":["7265:21:130"],"nodeType":"IdentifierPath","referencedDeclaration":85047,"src":"7265:21:130"},"referencedDeclaration":85047,"src":"7265:21:130","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"}},"visibility":"public"},{"id":77964,"nodeType":"VariableDeclaration","src":"7317:31:130","nodes":[],"constant":false,"functionSelector":"b6c61f31","mutability":"mutable","name":"sybilScorer","nameLocation":"7337:11:130","scope":80578,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$80667","typeString":"contract ISybilScorer"},"typeName":{"id":77963,"nodeType":"UserDefinedTypeName","pathNode":{"id":77962,"name":"ISybilScorer","nameLocations":["7317:12:130"],"nodeType":"IdentifierPath","referencedDeclaration":80667,"src":"7317:12:130"},"referencedDeclaration":80667,"src":"7317:12:130","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$80667","typeString":"contract ISybilScorer"}},"visibility":"public"},{"id":77969,"nodeType":"VariableDeclaration","src":"7415:60:130","nodes":[],"constant":false,"functionSelector":"013cf08b","mutability":"mutable","name":"proposals","nameLocation":"7466:9:130","scope":80578,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$77721_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal)"},"typeName":{"id":77968,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":77965,"name":"uint256","nodeType":"ElementaryTypeName","src":"7423:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"7415:43:130","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$77721_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":77967,"nodeType":"UserDefinedTypeName","pathNode":{"id":77966,"name":"StrategyStruct.Proposal","nameLocations":["7434:14:130","7449:8:130"],"nodeType":"IdentifierPath","referencedDeclaration":77721,"src":"7434:23:130"},"referencedDeclaration":77721,"src":"7434:23:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal"}}},"visibility":"public"},{"id":77973,"nodeType":"VariableDeclaration","src":"7531:53:130","nodes":[],"constant":false,"functionSelector":"5db64b99","mutability":"mutable","name":"totalVoterStakePct","nameLocation":"7566:18:130","scope":80578,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"typeName":{"id":77972,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":77970,"name":"address","nodeType":"ElementaryTypeName","src":"7539:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"7531:27:130","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":77971,"name":"uint256","nodeType":"ElementaryTypeName","src":"7550:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"public"},{"id":77978,"nodeType":"VariableDeclaration","src":"7622:57:130","nodes":[],"constant":false,"functionSelector":"868c57b8","mutability":"mutable","name":"voterStakedProposals","nameLocation":"7659:20:130","scope":80578,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$","typeString":"mapping(address => uint256[])"},"typeName":{"id":77977,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":77974,"name":"address","nodeType":"ElementaryTypeName","src":"7630:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"7622:29:130","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$","typeString":"mapping(address => uint256[])"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"baseType":{"id":77975,"name":"uint256","nodeType":"ElementaryTypeName","src":"7641:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":77976,"nodeType":"ArrayTypeName","src":"7641:9:130","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}}},"visibility":"public"},{"id":77997,"nodeType":"ModifierDefinition","src":"7718:184:130","nodes":[],"body":{"id":77996,"nodeType":"Block","src":"7745:157:130","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":77988,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":77980,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"7759:3:130","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":77981,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7763:6:130","memberName":"sender","nodeType":"MemberAccess","src":"7759:10:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":77984,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77961,"src":"7781:17:130","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"}},"id":77985,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7799:11:130","memberName":"councilSafe","nodeType":"MemberAccess","referencedDeclaration":83193,"src":"7781:29:130","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_contract$_ISafe_$85665_$","typeString":"function () view external returns (contract ISafe)"}},"id":77986,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7781:31:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ISafe_$85665","typeString":"contract ISafe"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ISafe_$85665","typeString":"contract ISafe"}],"id":77983,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7773:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":77982,"name":"address","nodeType":"ElementaryTypeName","src":"7773:7:130","typeDescriptions":{}}},"id":77987,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7773:40:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"7759:54:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":77994,"nodeType":"Block","src":"7847:49:130","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":77991,"name":"OnlyCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77835,"src":"7868:15:130","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":77992,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7868:17:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":77993,"nodeType":"RevertStatement","src":"7861:24:130"}]},"id":77995,"nodeType":"IfStatement","src":"7755:141:130","trueBody":{"id":77990,"nodeType":"Block","src":"7815:26:130","statements":[{"id":77989,"nodeType":"PlaceholderStatement","src":"7829:1:130"}]}}]},"name":"onlyCouncilSafe","nameLocation":"7727:15:130","parameters":{"id":77979,"nodeType":"ParameterList","parameters":[],"src":"7742:2:130"},"virtual":false,"visibility":"internal"},{"id":78015,"nodeType":"FunctionDefinition","src":"8154:132:130","nodes":[],"body":{"id":78014,"nodeType":"Block","src":"8212:74:130","nodes":[],"statements":[{"expression":{"arguments":[{"id":78007,"name":"_allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77999,"src":"8233:5:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"43565374726174656779","id":78008,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8240:12:130","typeDescriptions":{"typeIdentifier":"t_stringliteral_5f43243e98d2b877d41079bf899c9372a6b91af5be3180830de9d43f93117b2e","typeString":"literal_string \"CVStrategy\""},"value":"CVStrategy"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_stringliteral_5f43243e98d2b877d41079bf899c9372a6b91af5be3180830de9d43f93117b2e","typeString":"literal_string \"CVStrategy\""}],"expression":{"id":78004,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"8222:5:130","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_CVStrategyV0_0_$80578_$","typeString":"type(contract super CVStrategyV0_0)"}},"id":78006,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8228:4:130","memberName":"init","nodeType":"MemberAccess","referencedDeclaration":74116,"src":"8222:10:130","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_string_memory_ptr_$returns$__$","typeString":"function (address,string memory)"}},"id":78009,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8222:31:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78010,"nodeType":"ExpressionStatement","src":"8222:31:130"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":78011,"name":"__Ownable_init","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52837,"src":"8263:14:130","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":78012,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8263:16:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78013,"nodeType":"ExpressionStatement","src":"8263:16:130"}]},"functionSelector":"19ab453c","implemented":true,"kind":"function","modifiers":[{"id":78002,"kind":"modifierInvocation","modifierName":{"id":78001,"name":"initializer","nameLocations":["8200:11:130"],"nodeType":"IdentifierPath","referencedDeclaration":53093,"src":"8200:11:130"},"nodeType":"ModifierInvocation","src":"8200:11:130"}],"name":"init","nameLocation":"8163:4:130","parameters":{"id":78000,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77999,"mutability":"mutable","name":"_allo","nameLocation":"8176:5:130","nodeType":"VariableDeclaration","scope":78015,"src":"8168:13:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":77998,"name":"address","nodeType":"ElementaryTypeName","src":"8168:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"8167:15:130"},"returnParameters":{"id":78003,"nodeType":"ParameterList","parameters":[],"src":"8212:0:130"},"scope":80578,"stateMutability":"nonpayable","virtual":true,"visibility":"external"},{"id":78108,"nodeType":"FunctionDefinition","src":"8292:761:130","nodes":[],"body":{"id":78107,"nodeType":"Block","src":"8375:678:130","nodes":[],"statements":[{"expression":{"arguments":[{"id":78025,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78017,"src":"8405:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":78024,"name":"__BaseStrategy_init","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74252,"src":"8385:19:130","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":78026,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8385:28:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78027,"nodeType":"ExpressionStatement","src":"8385:28:130"},{"assignments":[78032],"declarations":[{"constant":false,"id":78032,"mutability":"mutable","name":"ip","nameLocation":"8462:2:130","nodeType":"VariableDeclaration","scope":78107,"src":"8423:41:130","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$77751_memory_ptr","typeString":"struct StrategyStruct.InitializeParams"},"typeName":{"id":78031,"nodeType":"UserDefinedTypeName","pathNode":{"id":78030,"name":"StrategyStruct.InitializeParams","nameLocations":["8423:14:130","8438:16:130"],"nodeType":"IdentifierPath","referencedDeclaration":77751,"src":"8423:31:130"},"referencedDeclaration":77751,"src":"8423:31:130","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$77751_storage_ptr","typeString":"struct StrategyStruct.InitializeParams"}},"visibility":"internal"}],"id":78040,"initialValue":{"arguments":[{"id":78035,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78019,"src":"8478:5:130","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"expression":{"id":78036,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77752,"src":"8486:14:130","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$77752_$","typeString":"type(library StrategyStruct)"}},"id":78037,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8501:16:130","memberName":"InitializeParams","nodeType":"MemberAccess","referencedDeclaration":77751,"src":"8486:31:130","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_InitializeParams_$77751_storage_ptr_$","typeString":"type(struct StrategyStruct.InitializeParams storage pointer)"}}],"id":78038,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"8485:33:130","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_InitializeParams_$77751_storage_ptr_$","typeString":"type(struct StrategyStruct.InitializeParams storage pointer)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_struct$_InitializeParams_$77751_storage_ptr_$","typeString":"type(struct StrategyStruct.InitializeParams storage pointer)"}],"expression":{"id":78033,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"8467:3:130","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":78034,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8471:6:130","memberName":"decode","nodeType":"MemberAccess","src":"8467:10:130","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":78039,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8467:52:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$77751_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"nodeType":"VariableDeclarationStatement","src":"8423:96:130"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":78047,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":78041,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78032,"src":"8534:2:130","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$77751_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":78042,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8537:17:130","memberName":"registryCommunity","nodeType":"MemberAccess","referencedDeclaration":77731,"src":"8534:20:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":78045,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8566:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":78044,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8558:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":78043,"name":"address","nodeType":"ElementaryTypeName","src":"8558:7:130","typeDescriptions":{}}},"id":78046,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8558:10:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"8534:34:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":78052,"nodeType":"IfStatement","src":"8530:94:130","trueBody":{"id":78051,"nodeType":"Block","src":"8570:54:130","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":78048,"name":"RegistryCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77785,"src":"8591:20:130","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":78049,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8591:22:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78050,"nodeType":"RevertStatement","src":"8584:29:130"}]}},{"expression":{"id":78058,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":78053,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77961,"src":"8634:17:130","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":78055,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78032,"src":"8676:2:130","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$77751_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":78056,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8679:17:130","memberName":"registryCommunity","nodeType":"MemberAccess","referencedDeclaration":77731,"src":"8676:20:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":78054,"name":"RegistryCommunityV0_0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85047,"src":"8654:21:130","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_RegistryCommunityV0_0_$85047_$","typeString":"type(contract RegistryCommunityV0_0)"}},"id":78057,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8654:43:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"}},"src":"8634:63:130","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"}},"id":78059,"nodeType":"ExpressionStatement","src":"8634:63:130"},{"expression":{"id":78063,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":78060,"name":"decay","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77933,"src":"8707:5:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":78061,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78032,"src":"8715:2:130","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$77751_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":78062,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8718:5:130","memberName":"decay","nodeType":"MemberAccess","referencedDeclaration":77733,"src":"8715:8:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8707:16:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":78064,"nodeType":"ExpressionStatement","src":"8707:16:130"},{"expression":{"id":78068,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":78065,"name":"maxRatio","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77935,"src":"8733:8:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":78066,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78032,"src":"8744:2:130","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$77751_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":78067,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8747:8:130","memberName":"maxRatio","nodeType":"MemberAccess","referencedDeclaration":77735,"src":"8744:11:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8733:22:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":78069,"nodeType":"ExpressionStatement","src":"8733:22:130"},{"expression":{"id":78073,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":78070,"name":"weight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77937,"src":"8765:6:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":78071,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78032,"src":"8774:2:130","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$77751_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":78072,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8777:6:130","memberName":"weight","nodeType":"MemberAccess","referencedDeclaration":77737,"src":"8774:9:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8765:18:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":78074,"nodeType":"ExpressionStatement","src":"8765:18:130"},{"expression":{"id":78078,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":78075,"name":"proposalType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77952,"src":"8793:12:130","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$77671","typeString":"enum StrategyStruct.ProposalType"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":78076,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78032,"src":"8808:2:130","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$77751_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":78077,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8811:12:130","memberName":"proposalType","nodeType":"MemberAccess","referencedDeclaration":77742,"src":"8808:15:130","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$77671","typeString":"enum StrategyStruct.ProposalType"}},"src":"8793:30:130","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$77671","typeString":"enum StrategyStruct.ProposalType"}},"id":78079,"nodeType":"ExpressionStatement","src":"8793:30:130"},{"expression":{"id":78083,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":78080,"name":"pointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77955,"src":"8833:11:130","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$77676","typeString":"enum StrategyStruct.PointSystem"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":78081,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78032,"src":"8847:2:130","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$77751_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":78082,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8850:11:130","memberName":"pointSystem","nodeType":"MemberAccess","referencedDeclaration":77745,"src":"8847:14:130","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$77676","typeString":"enum StrategyStruct.PointSystem"}},"src":"8833:28:130","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$77676","typeString":"enum StrategyStruct.PointSystem"}},"id":78084,"nodeType":"ExpressionStatement","src":"8833:28:130"},{"expression":{"id":78088,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":78085,"name":"pointConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77958,"src":"8871:11:130","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$77729_storage","typeString":"struct StrategyStruct.PointSystemConfig storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":78086,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78032,"src":"8885:2:130","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$77751_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":78087,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8888:11:130","memberName":"pointConfig","nodeType":"MemberAccess","referencedDeclaration":77748,"src":"8885:14:130","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$77729_memory_ptr","typeString":"struct StrategyStruct.PointSystemConfig memory"}},"src":"8871:28:130","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$77729_storage","typeString":"struct StrategyStruct.PointSystemConfig storage ref"}},"id":78089,"nodeType":"ExpressionStatement","src":"8871:28:130"},{"expression":{"id":78093,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":78090,"name":"_minThresholdPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77947,"src":"8909:19:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":78091,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78032,"src":"8931:2:130","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$77751_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":78092,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8934:18:130","memberName":"minThresholdPoints","nodeType":"MemberAccess","referencedDeclaration":77739,"src":"8931:21:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8909:43:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":78094,"nodeType":"ExpressionStatement","src":"8909:43:130"},{"expression":{"id":78100,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":78095,"name":"sybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77964,"src":"8962:11:130","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$80667","typeString":"contract ISybilScorer"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":78097,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78032,"src":"8989:2:130","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$77751_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":78098,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8992:11:130","memberName":"sybilScorer","nodeType":"MemberAccess","referencedDeclaration":77750,"src":"8989:14:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":78096,"name":"ISybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80667,"src":"8976:12:130","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ISybilScorer_$80667_$","typeString":"type(contract ISybilScorer)"}},"id":78099,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8976:28:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$80667","typeString":"contract ISybilScorer"}},"src":"8962:42:130","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$80667","typeString":"contract ISybilScorer"}},"id":78101,"nodeType":"ExpressionStatement","src":"8962:42:130"},{"eventCall":{"arguments":[{"id":78103,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78017,"src":"9034:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":78104,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78032,"src":"9043:2:130","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$77751_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_struct$_InitializeParams_$77751_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}],"id":78102,"name":"InitializedCV","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77844,"src":"9020:13:130","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_struct$_InitializeParams_$77751_memory_ptr_$returns$__$","typeString":"function (uint256,struct StrategyStruct.InitializeParams memory)"}},"id":78105,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9020:26:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78106,"nodeType":"EmitStatement","src":"9015:31:130"}]},"baseFunctions":[2939],"functionSelector":"edd146cc","implemented":true,"kind":"function","modifiers":[{"id":78022,"kind":"modifierInvocation","modifierName":{"id":78021,"name":"onlyAllo","nameLocations":["8366:8:130"],"nodeType":"IdentifierPath","referencedDeclaration":74124,"src":"8366:8:130"},"nodeType":"ModifierInvocation","src":"8366:8:130"}],"name":"initialize","nameLocation":"8301:10:130","parameters":{"id":78020,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78017,"mutability":"mutable","name":"_poolId","nameLocation":"8320:7:130","nodeType":"VariableDeclaration","scope":78108,"src":"8312:15:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78016,"name":"uint256","nodeType":"ElementaryTypeName","src":"8312:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":78019,"mutability":"mutable","name":"_data","nameLocation":"8342:5:130","nodeType":"VariableDeclaration","scope":78108,"src":"8329:18:130","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":78018,"name":"bytes","nodeType":"ElementaryTypeName","src":"8329:5:130","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"8311:37:130"},"returnParameters":{"id":78023,"nodeType":"ParameterList","parameters":[],"src":"8375:0:130"},"scope":80578,"stateMutability":"nonpayable","virtual":true,"visibility":"external"},{"id":78112,"nodeType":"FunctionDefinition","src":"9224:83:130","nodes":[],"body":{"id":78111,"nodeType":"Block","src":"9252:55:130","nodes":[],"statements":[]},"implemented":true,"kind":"fallback","modifiers":[],"name":"","nameLocation":"-1:-1:-1","parameters":{"id":78109,"nodeType":"ParameterList","parameters":[],"src":"9232:2:130"},"returnParameters":{"id":78110,"nodeType":"ParameterList","parameters":[],"src":"9252:0:130"},"scope":80578,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":78116,"nodeType":"FunctionDefinition","src":"9313:135:130","nodes":[],"body":{"id":78115,"nodeType":"Block","src":"9340:108:130","nodes":[],"statements":[]},"implemented":true,"kind":"receive","modifiers":[],"name":"","nameLocation":"-1:-1:-1","parameters":{"id":78113,"nodeType":"ParameterList","parameters":[],"src":"9320:2:130"},"returnParameters":{"id":78114,"nodeType":"ParameterList","parameters":[],"src":"9340:0:130"},"scope":80578,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":78137,"nodeType":"FunctionDefinition","src":"9454:202:130","nodes":[],"body":{"id":78136,"nodeType":"Block","src":"9545:111:130","nodes":[],"statements":[{"expression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":78134,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"id":78129,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":78124,"name":"interfaceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78118,"src":"9562:11:130","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"arguments":[{"id":78126,"name":"IPointStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77667,"src":"9582:14:130","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IPointStrategy_$77667_$","typeString":"type(contract IPointStrategy)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_contract$_IPointStrategy_$77667_$","typeString":"type(contract IPointStrategy)"}],"id":78125,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"9577:4:130","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":78127,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9577:20:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_contract$_IPointStrategy_$77667","typeString":"type(contract IPointStrategy)"}},"id":78128,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"9598:11:130","memberName":"interfaceId","nodeType":"MemberAccess","src":"9577:32:130","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"src":"9562:47:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"arguments":[{"id":78132,"name":"interfaceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78118,"src":"9637:11:130","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":78130,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"9613:5:130","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_CVStrategyV0_0_$80578_$","typeString":"type(contract super CVStrategyV0_0)"}},"id":78131,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9619:17:130","memberName":"supportsInterface","nodeType":"MemberAccess","referencedDeclaration":58265,"src":"9613:23:130","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes4_$returns$_t_bool_$","typeString":"function (bytes4) view returns (bool)"}},"id":78133,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9613:36:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"9562:87:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":78123,"id":78135,"nodeType":"Return","src":"9555:94:130"}]},"baseFunctions":[58265],"functionSelector":"01ffc9a7","implemented":true,"kind":"function","modifiers":[],"name":"supportsInterface","nameLocation":"9463:17:130","overrides":{"id":78120,"nodeType":"OverrideSpecifier","overrides":[],"src":"9521:8:130"},"parameters":{"id":78119,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78118,"mutability":"mutable","name":"interfaceId","nameLocation":"9488:11:130","nodeType":"VariableDeclaration","scope":78137,"src":"9481:18:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":78117,"name":"bytes4","nodeType":"ElementaryTypeName","src":"9481:6:130","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"9480:20:130"},"returnParameters":{"id":78123,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78122,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":78137,"src":"9539:4:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":78121,"name":"bool","nodeType":"ElementaryTypeName","src":"9539:4:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"9538:6:130"},"scope":80578,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":78178,"nodeType":"FunctionDefinition","src":"9827:377:130","nodes":[],"body":{"id":78177,"nodeType":"Block","src":"9886:318:130","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":78147,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":78142,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78139,"src":"9900:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":78145,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9919:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":78144,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9911:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":78143,"name":"address","nodeType":"ElementaryTypeName","src":"9911:7:130","typeDescriptions":{}}},"id":78146,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9911:10:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"9900:21:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":78152,"nodeType":"IfStatement","src":"9896:77:130","trueBody":{"id":78151,"nodeType":"Block","src":"9923:50:130","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":78148,"name":"UserCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77765,"src":"9944:16:130","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":78149,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9944:18:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78150,"nodeType":"RevertStatement","src":"9937:25:130"}]}},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":78161,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":78155,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77961,"src":"9994:17:130","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"}],"id":78154,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9986:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":78153,"name":"address","nodeType":"ElementaryTypeName","src":"9986:7:130","typeDescriptions":{}}},"id":78156,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9986:26:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":78159,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10024:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":78158,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10016:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":78157,"name":"address","nodeType":"ElementaryTypeName","src":"10016:7:130","typeDescriptions":{}}},"id":78160,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10016:10:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"9986:40:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":78166,"nodeType":"IfStatement","src":"9982:100:130","trueBody":{"id":78165,"nodeType":"Block","src":"10028:54:130","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":78162,"name":"RegistryCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77785,"src":"10049:20:130","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":78163,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10049:22:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78164,"nodeType":"RevertStatement","src":"10042:29:130"}]}},{"condition":{"id":78171,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"10095:36:130","subExpression":{"arguments":[{"id":78169,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78139,"src":"10123:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":78167,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77961,"src":"10096:17:130","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"}},"id":78168,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10114:8:130","memberName":"isMember","nodeType":"MemberAccess","referencedDeclaration":84615,"src":"10096:26:130","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view external returns (bool)"}},"id":78170,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10096:35:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":78176,"nodeType":"IfStatement","src":"10091:93:130","trueBody":{"id":78175,"nodeType":"Block","src":"10133:51:130","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":78172,"name":"UserNotInRegistry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77767,"src":"10154:17:130","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":78173,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10154:19:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78174,"nodeType":"RevertStatement","src":"10147:26:130"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"checkSenderIsMember","nameLocation":"9836:19:130","parameters":{"id":78140,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78139,"mutability":"mutable","name":"_sender","nameLocation":"9864:7:130","nodeType":"VariableDeclaration","scope":78178,"src":"9856:15:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":78138,"name":"address","nodeType":"ElementaryTypeName","src":"9856:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"9855:17:130"},"returnParameters":{"id":78141,"nodeType":"ParameterList","parameters":[],"src":"9886:0:130"},"scope":80578,"stateMutability":"view","virtual":false,"visibility":"private"},{"id":78194,"nodeType":"FunctionDefinition","src":"10210:162:130","nodes":[],"body":{"id":78193,"nodeType":"Block","src":"10256:116:130","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":78187,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":78181,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"10270:3:130","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":78182,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10274:6:130","memberName":"sender","nodeType":"MemberAccess","src":"10270:10:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"id":78185,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77961,"src":"10292:17:130","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"}],"id":78184,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10284:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":78183,"name":"address","nodeType":"ElementaryTypeName","src":"10284:7:130","typeDescriptions":{}}},"id":78186,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10284:26:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"10270:40:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":78192,"nodeType":"IfStatement","src":"10266:100:130","trueBody":{"id":78191,"nodeType":"Block","src":"10312:54:130","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":78188,"name":"OnlyCommunityAllowed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77825,"src":"10333:20:130","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":78189,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10333:22:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78190,"nodeType":"RevertStatement","src":"10326:29:130"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"onlyRegistryCommunity","nameLocation":"10219:21:130","parameters":{"id":78179,"nodeType":"ParameterList","parameters":[],"src":"10240:2:130"},"returnParameters":{"id":78180,"nodeType":"ParameterList","parameters":[],"src":"10256:0:130"},"scope":80578,"stateMutability":"view","virtual":false,"visibility":"private"},{"id":78210,"nodeType":"FunctionDefinition","src":"10378:133:130","nodes":[],"body":{"id":78209,"nodeType":"Block","src":"10438:73:130","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":78204,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":78199,"name":"_address","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78196,"src":"10452:8:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":78202,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10472:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":78201,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10464:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":78200,"name":"address","nodeType":"ElementaryTypeName","src":"10464:7:130","typeDescriptions":{}}},"id":78203,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10464:10:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"10452:22:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":78208,"nodeType":"IfStatement","src":"10448:56:130","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":78205,"name":"AddressCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77783,"src":"10483:19:130","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":78206,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10483:21:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78207,"nodeType":"RevertStatement","src":"10476:28:130"}}]},"implemented":true,"kind":"function","modifiers":[],"name":"_revertZeroAddress","nameLocation":"10387:18:130","parameters":{"id":78197,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78196,"mutability":"mutable","name":"_address","nameLocation":"10414:8:130","nodeType":"VariableDeclaration","scope":78210,"src":"10406:16:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":78195,"name":"address","nodeType":"ElementaryTypeName","src":"10406:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"10405:18:130"},"returnParameters":{"id":78198,"nodeType":"ParameterList","parameters":[],"src":"10438:0:130"},"scope":80578,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":78240,"nodeType":"FunctionDefinition","src":"10517:230:130","nodes":[],"body":{"id":78239,"nodeType":"Block","src":"10588:159:130","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":78225,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":78219,"name":"sybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77964,"src":"10610:11:130","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$80667","typeString":"contract ISybilScorer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ISybilScorer_$80667","typeString":"contract ISybilScorer"}],"id":78218,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10602:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":78217,"name":"address","nodeType":"ElementaryTypeName","src":"10602:7:130","typeDescriptions":{}}},"id":78220,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10602:20:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":78223,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10634:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":78222,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10626:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":78221,"name":"address","nodeType":"ElementaryTypeName","src":"10626:7:130","typeDescriptions":{}}},"id":78224,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10626:10:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"10602:34:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":78229,"nodeType":"IfStatement","src":"10598:76:130","trueBody":{"id":78228,"nodeType":"Block","src":"10638:36:130","statements":[{"expression":{"hexValue":"74727565","id":78226,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"10659:4:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":78216,"id":78227,"nodeType":"Return","src":"10652:11:130"}]}},{"expression":{"arguments":[{"id":78232,"name":"_user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78212,"src":"10719:5:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":78235,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"10734:4:130","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$80578","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$80578","typeString":"contract CVStrategyV0_0"}],"id":78234,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10726:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":78233,"name":"address","nodeType":"ElementaryTypeName","src":"10726:7:130","typeDescriptions":{}}},"id":78236,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10726:13:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":78230,"name":"sybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77964,"src":"10690:11:130","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$80667","typeString":"contract ISybilScorer"}},"id":78231,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10702:16:130","memberName":"canExecuteAction","nodeType":"MemberAccess","referencedDeclaration":80624,"src":"10690:28:130","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_bool_$","typeString":"function (address,address) view external returns (bool)"}},"id":78237,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10690:50:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":78216,"id":78238,"nodeType":"Return","src":"10683:57:130"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_canExecuteAction","nameLocation":"10526:17:130","parameters":{"id":78213,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78212,"mutability":"mutable","name":"_user","nameLocation":"10552:5:130","nodeType":"VariableDeclaration","scope":78240,"src":"10544:13:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":78211,"name":"address","nodeType":"ElementaryTypeName","src":"10544:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"10543:15:130"},"returnParameters":{"id":78216,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78215,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":78240,"src":"10582:4:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":78214,"name":"bool","nodeType":"ElementaryTypeName","src":"10582:4:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"10581:6:130"},"scope":80578,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":78424,"nodeType":"FunctionDefinition","src":"11073:2045:130","nodes":[],"body":{"id":78423,"nodeType":"Block","src":"11174:1944:130","nodes":[],"statements":[{"condition":{"id":78253,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"11188:27:130","subExpression":{"arguments":[{"id":78251,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78244,"src":"11207:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":78250,"name":"_canExecuteAction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78240,"src":"11189:17:130","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":78252,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11189:26:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":78258,"nodeType":"IfStatement","src":"11184:90:130","trueBody":{"id":78257,"nodeType":"Block","src":"11217:57:130","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":78254,"name":"UserCannotExecuteAction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77837,"src":"11238:23:130","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":78255,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11238:25:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78256,"nodeType":"RevertStatement","src":"11231:32:130"}]}},{"expression":{"id":78259,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78242,"src":"11328:5:130","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":78260,"nodeType":"ExpressionStatement","src":"11328:5:130"},{"assignments":[78265],"declarations":[{"constant":false,"id":78265,"mutability":"mutable","name":"proposal","nameLocation":"11380:8:130","nodeType":"VariableDeclaration","scope":78423,"src":"11343:45:130","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$77688_memory_ptr","typeString":"struct StrategyStruct.CreateProposal"},"typeName":{"id":78264,"nodeType":"UserDefinedTypeName","pathNode":{"id":78263,"name":"StrategyStruct.CreateProposal","nameLocations":["11343:14:130","11358:14:130"],"nodeType":"IdentifierPath","referencedDeclaration":77688,"src":"11343:29:130"},"referencedDeclaration":77688,"src":"11343:29:130","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$77688_storage_ptr","typeString":"struct StrategyStruct.CreateProposal"}},"visibility":"internal"}],"id":78273,"initialValue":{"arguments":[{"id":78268,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78242,"src":"11402:5:130","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"expression":{"id":78269,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77752,"src":"11410:14:130","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$77752_$","typeString":"type(library StrategyStruct)"}},"id":78270,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11425:14:130","memberName":"CreateProposal","nodeType":"MemberAccess","referencedDeclaration":77688,"src":"11410:29:130","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_CreateProposal_$77688_storage_ptr_$","typeString":"type(struct StrategyStruct.CreateProposal storage pointer)"}}],"id":78271,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"11409:31:130","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_CreateProposal_$77688_storage_ptr_$","typeString":"type(struct StrategyStruct.CreateProposal storage pointer)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_struct$_CreateProposal_$77688_storage_ptr_$","typeString":"type(struct StrategyStruct.CreateProposal storage pointer)"}],"expression":{"id":78266,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"11391:3:130","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":78267,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"11395:6:130","memberName":"decode","nodeType":"MemberAccess","src":"11391:10:130","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":78272,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11391:50:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$77688_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"nodeType":"VariableDeclarationStatement","src":"11343:98:130"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":78277,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":78274,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78265,"src":"11556:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$77688_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":78275,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11565:6:130","memberName":"poolId","nodeType":"MemberAccess","referencedDeclaration":77678,"src":"11556:15:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":78276,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11575:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"11556:20:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":78282,"nodeType":"IfStatement","src":"11552:78:130","trueBody":{"id":78281,"nodeType":"Block","src":"11578:52:130","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":78278,"name":"PoolIdCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77781,"src":"11599:18:130","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":78279,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11599:20:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78280,"nodeType":"RevertStatement","src":"11592:27:130"}]}},{"condition":{"commonType":{"typeIdentifier":"t_enum$_ProposalType_$77671","typeString":"enum StrategyStruct.ProposalType"},"id":78287,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":78283,"name":"proposalType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77952,"src":"11706:12:130","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$77671","typeString":"enum StrategyStruct.ProposalType"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":78284,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77752,"src":"11722:14:130","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$77752_$","typeString":"type(library StrategyStruct)"}},"id":78285,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11737:12:130","memberName":"ProposalType","nodeType":"MemberAccess","referencedDeclaration":77671,"src":"11722:27:130","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalType_$77671_$","typeString":"type(enum StrategyStruct.ProposalType)"}},"id":78286,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"11750:7:130","memberName":"Funding","nodeType":"MemberAccess","referencedDeclaration":77669,"src":"11722:35:130","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$77671","typeString":"enum StrategyStruct.ProposalType"}},"src":"11706:51:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":78334,"nodeType":"IfStatement","src":"11702:722:130","trueBody":{"id":78333,"nodeType":"Block","src":"11759:665:130","statements":[{"expression":{"arguments":[{"expression":{"id":78289,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78265,"src":"11792:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$77688_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":78290,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11801:11:130","memberName":"beneficiary","nodeType":"MemberAccess","referencedDeclaration":77680,"src":"11792:20:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":78288,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78210,"src":"11773:18:130","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":78291,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11773:40:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78292,"nodeType":"ExpressionStatement","src":"11773:40:130"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":78299,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":78293,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78265,"src":"11879:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$77688_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":78294,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11888:14:130","memberName":"requestedToken","nodeType":"MemberAccess","referencedDeclaration":77684,"src":"11879:23:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":78297,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11914:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":78296,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11906:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":78295,"name":"address","nodeType":"ElementaryTypeName","src":"11906:7:130","typeDescriptions":{}}},"id":78298,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11906:10:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"11879:37:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":78304,"nodeType":"IfStatement","src":"11875:102:130","trueBody":{"id":78303,"nodeType":"Block","src":"11918:59:130","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":78300,"name":"TokenCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77775,"src":"11943:17:130","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":78301,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11943:19:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78302,"nodeType":"RevertStatement","src":"11936:26:130"}]}},{"assignments":[78306],"declarations":[{"constant":false,"id":78306,"mutability":"mutable","name":"poolToken","nameLocation":"11998:9:130","nodeType":"VariableDeclaration","scope":78333,"src":"11990:17:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":78305,"name":"address","nodeType":"ElementaryTypeName","src":"11990:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":78314,"initialValue":{"expression":{"arguments":[{"id":78311,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74090,"src":"12033:6:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":78307,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"12010:4:130","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$80578","typeString":"contract CVStrategyV0_0"}},"id":78308,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12015:7:130","memberName":"getAllo","nodeType":"MemberAccess","referencedDeclaration":74170,"src":"12010:12:130","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_contract$_IAllo_$2610_$","typeString":"function () view external returns (contract IAllo)"}},"id":78309,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12010:14:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IAllo_$2610","typeString":"contract IAllo"}},"id":78310,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12025:7:130","memberName":"getPool","nodeType":"MemberAccess","referencedDeclaration":2603,"src":"12010:22:130","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_struct$_Pool_$2319_memory_ptr_$","typeString":"function (uint256) view external returns (struct IAllo.Pool memory)"}},"id":78312,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12010:30:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"id":78313,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12041:5:130","memberName":"token","nodeType":"MemberAccess","referencedDeclaration":2311,"src":"12010:36:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"11990:56:130"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":78318,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":78315,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78265,"src":"12064:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$77688_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":78316,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12073:14:130","memberName":"requestedToken","nodeType":"MemberAccess","referencedDeclaration":77684,"src":"12064:23:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":78317,"name":"poolToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78306,"src":"12091:9:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"12064:36:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":78323,"nodeType":"IfStatement","src":"12060:234:130","trueBody":{"id":78322,"nodeType":"Block","src":"12102:192:130","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":78319,"name":"TokenNotAllowed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77777,"src":"12262:15:130","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":78320,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12262:17:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78321,"nodeType":"RevertStatement","src":"12255:24:130"}]}},{"condition":{"arguments":[{"expression":{"id":78325,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78265,"src":"12327:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$77688_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":78326,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12336:15:130","memberName":"amountRequested","nodeType":"MemberAccess","referencedDeclaration":77682,"src":"12327:24:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":78324,"name":"_isOverMaxRatio","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79628,"src":"12311:15:130","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view returns (bool)"}},"id":78327,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12311:41:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":78332,"nodeType":"IfStatement","src":"12307:107:130","trueBody":{"id":78331,"nodeType":"Block","src":"12354:60:130","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":78328,"name":"AmountOverMaxRatio","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77779,"src":"12379:18:130","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":78329,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12379:20:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78330,"nodeType":"RevertStatement","src":"12372:27:130"}]}}]}},{"assignments":[78336],"declarations":[{"constant":false,"id":78336,"mutability":"mutable","name":"proposalId","nameLocation":"12441:10:130","nodeType":"VariableDeclaration","scope":78423,"src":"12433:18:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78335,"name":"uint256","nodeType":"ElementaryTypeName","src":"12433:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":78339,"initialValue":{"id":78338,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":true,"src":"12454:17:130","subExpression":{"id":78337,"name":"proposalCounter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77940,"src":"12456:15:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"12433:38:130"},{"assignments":[78344],"declarations":[{"constant":false,"id":78344,"mutability":"mutable","name":"p","nameLocation":"12513:1:130","nodeType":"VariableDeclaration","scope":78423,"src":"12481:33:130","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":78343,"nodeType":"UserDefinedTypeName","pathNode":{"id":78342,"name":"StrategyStruct.Proposal","nameLocations":["12481:14:130","12496:8:130"],"nodeType":"IdentifierPath","referencedDeclaration":77721,"src":"12481:23:130"},"referencedDeclaration":77721,"src":"12481:23:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":78348,"initialValue":{"baseExpression":{"id":78345,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77969,"src":"12517:9:130","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$77721_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":78347,"indexExpression":{"id":78346,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78336,"src":"12527:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"12517:21:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"12481:57:130"},{"expression":{"id":78353,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":78349,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78344,"src":"12549:1:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":78351,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"12551:10:130","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":77696,"src":"12549:12:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":78352,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78336,"src":"12564:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"12549:25:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":78354,"nodeType":"ExpressionStatement","src":"12549:25:130"},{"expression":{"id":78359,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":78355,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78344,"src":"12584:1:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":78357,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"12586:9:130","memberName":"submitter","nodeType":"MemberAccess","referencedDeclaration":77706,"src":"12584:11:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":78358,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78244,"src":"12598:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"12584:21:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":78360,"nodeType":"ExpressionStatement","src":"12584:21:130"},{"expression":{"id":78366,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":78361,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78344,"src":"12615:1:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":78363,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"12617:11:130","memberName":"beneficiary","nodeType":"MemberAccess","referencedDeclaration":77704,"src":"12615:13:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":78364,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78265,"src":"12631:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$77688_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":78365,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12640:11:130","memberName":"beneficiary","nodeType":"MemberAccess","referencedDeclaration":77680,"src":"12631:20:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"12615:36:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":78367,"nodeType":"ExpressionStatement","src":"12615:36:130"},{"expression":{"id":78373,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":78368,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78344,"src":"12661:1:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":78370,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"12663:14:130","memberName":"requestedToken","nodeType":"MemberAccess","referencedDeclaration":77708,"src":"12661:16:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":78371,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78265,"src":"12680:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$77688_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":78372,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12689:14:130","memberName":"requestedToken","nodeType":"MemberAccess","referencedDeclaration":77684,"src":"12680:23:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"12661:42:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":78374,"nodeType":"ExpressionStatement","src":"12661:42:130"},{"expression":{"id":78380,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":78375,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78344,"src":"12713:1:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":78377,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"12715:15:130","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":77698,"src":"12713:17:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":78378,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78265,"src":"12733:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$77688_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":78379,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12742:15:130","memberName":"amountRequested","nodeType":"MemberAccess","referencedDeclaration":77682,"src":"12733:24:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"12713:44:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":78381,"nodeType":"ExpressionStatement","src":"12713:44:130"},{"expression":{"id":78388,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":78382,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78344,"src":"12818:1:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":78384,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"12820:14:130","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":77713,"src":"12818:16:130","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$77694","typeString":"enum StrategyStruct.ProposalStatus"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"expression":{"id":78385,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77752,"src":"12837:14:130","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$77752_$","typeString":"type(library StrategyStruct)"}},"id":78386,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12852:14:130","memberName":"ProposalStatus","nodeType":"MemberAccess","referencedDeclaration":77694,"src":"12837:29:130","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$77694_$","typeString":"type(enum StrategyStruct.ProposalStatus)"}},"id":78387,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"12867:6:130","memberName":"Active","nodeType":"MemberAccess","referencedDeclaration":77690,"src":"12837:36:130","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$77694","typeString":"enum StrategyStruct.ProposalStatus"}},"src":"12818:55:130","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$77694","typeString":"enum StrategyStruct.ProposalStatus"}},"id":78389,"nodeType":"ExpressionStatement","src":"12818:55:130"},{"expression":{"id":78395,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":78390,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78344,"src":"12883:1:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":78392,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"12885:9:130","memberName":"blockLast","nodeType":"MemberAccess","referencedDeclaration":77710,"src":"12883:11:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":78393,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"12897:5:130","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":78394,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12903:6:130","memberName":"number","nodeType":"MemberAccess","src":"12897:12:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"12883:26:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":78396,"nodeType":"ExpressionStatement","src":"12883:26:130"},{"expression":{"id":78401,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":78397,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78344,"src":"12919:1:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":78399,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"12921:14:130","memberName":"convictionLast","nodeType":"MemberAccess","referencedDeclaration":77702,"src":"12919:16:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"30","id":78400,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12938:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"12919:20:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":78402,"nodeType":"ExpressionStatement","src":"12919:20:130"},{"expression":{"id":78408,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":78403,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78344,"src":"12985:1:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":78405,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"12987:8:130","memberName":"metadata","nodeType":"MemberAccess","referencedDeclaration":77720,"src":"12985:10:130","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage","typeString":"struct Metadata storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":78406,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78265,"src":"12998:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$77688_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":78407,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"13007:8:130","memberName":"metadata","nodeType":"MemberAccess","referencedDeclaration":77687,"src":"12998:17:130","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}},"src":"12985:30:130","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage","typeString":"struct Metadata storage ref"}},"id":78409,"nodeType":"ExpressionStatement","src":"12985:30:130"},{"eventCall":{"arguments":[{"id":78411,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74090,"src":"13047:6:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":78412,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78336,"src":"13055:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":78410,"name":"ProposalCreated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77858,"src":"13031:15:130","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":78413,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13031:35:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78414,"nodeType":"EmitStatement","src":"13026:40:130"},{"expression":{"arguments":[{"arguments":[{"id":78419,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78336,"src":"13099:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":78418,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13091:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":78417,"name":"uint160","nodeType":"ElementaryTypeName","src":"13091:7:130","typeDescriptions":{}}},"id":78420,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13091:19:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":78416,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13083:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":78415,"name":"address","nodeType":"ElementaryTypeName","src":"13083:7:130","typeDescriptions":{}}},"id":78421,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13083:28:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":78249,"id":78422,"nodeType":"Return","src":"13076:35:130"}]},"baseFunctions":[74558],"implemented":true,"kind":"function","modifiers":[],"name":"_registerRecipient","nameLocation":"11082:18:130","overrides":{"id":78246,"nodeType":"OverrideSpecifier","overrides":[],"src":"11147:8:130"},"parameters":{"id":78245,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78242,"mutability":"mutable","name":"_data","nameLocation":"11114:5:130","nodeType":"VariableDeclaration","scope":78424,"src":"11101:18:130","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":78241,"name":"bytes","nodeType":"ElementaryTypeName","src":"11101:5:130","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":78244,"mutability":"mutable","name":"_sender","nameLocation":"11129:7:130","nodeType":"VariableDeclaration","scope":78424,"src":"11121:15:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":78243,"name":"address","nodeType":"ElementaryTypeName","src":"11121:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"11100:37:130"},"returnParameters":{"id":78249,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78248,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":78424,"src":"11165:7:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":78247,"name":"address","nodeType":"ElementaryTypeName","src":"11165:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"11164:9:130"},"scope":80578,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":78463,"nodeType":"FunctionDefinition","src":"13124:351:130","nodes":[],"body":{"id":78462,"nodeType":"Block","src":"13159:316:130","nodes":[],"statements":[{"assignments":[78428],"declarations":[{"constant":false,"id":78428,"mutability":"mutable","name":"member","nameLocation":"13177:6:130","nodeType":"VariableDeclaration","scope":78462,"src":"13169:14:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":78427,"name":"address","nodeType":"ElementaryTypeName","src":"13169:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":78431,"initialValue":{"expression":{"id":78429,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"13186:3:130","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":78430,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13190:6:130","memberName":"sender","nodeType":"MemberAccess","src":"13186:10:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"13169:27:130"},{"condition":{"id":78435,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"13210:26:130","subExpression":{"arguments":[{"id":78433,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78428,"src":"13229:6:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":78432,"name":"_canExecuteAction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78240,"src":"13211:17:130","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":78434,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13211:25:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":78440,"nodeType":"IfStatement","src":"13206:89:130","trueBody":{"id":78439,"nodeType":"Block","src":"13238:57:130","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":78436,"name":"UserCannotExecuteAction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77837,"src":"13259:23:130","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":78437,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13259:25:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78438,"nodeType":"RevertStatement","src":"13252:32:130"}]}},{"expression":{"arguments":[{"id":78444,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78428,"src":"13347:6:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":78447,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"13363:4:130","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$80578","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$80578","typeString":"contract CVStrategyV0_0"}],"id":78446,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13355:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":78445,"name":"address","nodeType":"ElementaryTypeName","src":"13355:7:130","typeDescriptions":{}}},"id":78448,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13355:13:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":78441,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77961,"src":"13304:17:130","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"}},"id":78443,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13322:24:130","memberName":"activateMemberInStrategy","nodeType":"MemberAccess","referencedDeclaration":83993,"src":"13304:42:130","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address) external"}},"id":78449,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13304:65:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78450,"nodeType":"ExpressionStatement","src":"13304:65:130"},{"expression":{"id":78460,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":78451,"name":"totalPointsActivated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77944,"src":"13379:20:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"arguments":[{"id":78454,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78428,"src":"13446:6:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":78457,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"13462:4:130","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$80578","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$80578","typeString":"contract CVStrategyV0_0"}],"id":78456,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13454:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":78455,"name":"address","nodeType":"ElementaryTypeName","src":"13454:7:130","typeDescriptions":{}}},"id":78458,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13454:13:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":78452,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77961,"src":"13403:17:130","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"}},"id":78453,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13421:24:130","memberName":"getMemberPowerInStrategy","nodeType":"MemberAccess","referencedDeclaration":84375,"src":"13403:42:130","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view external returns (uint256)"}},"id":78459,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13403:65:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"13379:89:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":78461,"nodeType":"ExpressionStatement","src":"13379:89:130"}]},"functionSelector":"814516ad","implemented":true,"kind":"function","modifiers":[],"name":"activatePoints","nameLocation":"13133:14:130","parameters":{"id":78425,"nodeType":"ParameterList","parameters":[],"src":"13147:2:130"},"returnParameters":{"id":78426,"nodeType":"ParameterList","parameters":[],"src":"13159:0:130"},"scope":80578,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":78472,"nodeType":"FunctionDefinition","src":"13481:81:130","nodes":[],"body":{"id":78471,"nodeType":"Block","src":"13516:46:130","nodes":[],"statements":[{"expression":{"arguments":[{"expression":{"id":78467,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"13544:3:130","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":78468,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13548:6:130","memberName":"sender","nodeType":"MemberAccess","src":"13544:10:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":78466,"name":"_deactivatePoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78520,"src":"13526:17:130","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":78469,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13526:29:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78470,"nodeType":"ExpressionStatement","src":"13526:29:130"}]},"functionSelector":"1ddf1e23","implemented":true,"kind":"function","modifiers":[],"name":"deactivatePoints","nameLocation":"13490:16:130","parameters":{"id":78464,"nodeType":"ParameterList","parameters":[],"src":"13506:2:130"},"returnParameters":{"id":78465,"nodeType":"ParameterList","parameters":[],"src":"13516:0:130"},"scope":80578,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":78485,"nodeType":"FunctionDefinition","src":"13568:128:130","nodes":[],"body":{"id":78484,"nodeType":"Block","src":"13620:76:130","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":78477,"name":"onlyRegistryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78194,"src":"13630:21:130","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":78478,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13630:23:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78479,"nodeType":"ExpressionStatement","src":"13630:23:130"},{"expression":{"arguments":[{"id":78481,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78474,"src":"13681:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":78480,"name":"_deactivatePoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78520,"src":"13663:17:130","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":78482,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13663:26:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78483,"nodeType":"ExpressionStatement","src":"13663:26:130"}]},"baseFunctions":[77642],"functionSelector":"6453d9c4","implemented":true,"kind":"function","modifiers":[],"name":"deactivatePoints","nameLocation":"13577:16:130","parameters":{"id":78475,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78474,"mutability":"mutable","name":"_member","nameLocation":"13602:7:130","nodeType":"VariableDeclaration","scope":78485,"src":"13594:15:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":78473,"name":"address","nodeType":"ElementaryTypeName","src":"13594:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"13593:17:130"},"returnParameters":{"id":78476,"nodeType":"ParameterList","parameters":[],"src":"13620:0:130"},"scope":80578,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":78520,"nodeType":"FunctionDefinition","src":"13702:351:130","nodes":[],"body":{"id":78519,"nodeType":"Block","src":"13755:298:130","nodes":[],"statements":[{"expression":{"id":78499,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":78490,"name":"totalPointsActivated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77944,"src":"13765:20:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"arguments":[{"id":78493,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78487,"src":"13832:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":78496,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"13849:4:130","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$80578","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$80578","typeString":"contract CVStrategyV0_0"}],"id":78495,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13841:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":78494,"name":"address","nodeType":"ElementaryTypeName","src":"13841:7:130","typeDescriptions":{}}},"id":78497,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13841:13:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":78491,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77961,"src":"13789:17:130","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"}},"id":78492,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13807:24:130","memberName":"getMemberPowerInStrategy","nodeType":"MemberAccess","referencedDeclaration":84375,"src":"13789:42:130","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view external returns (uint256)"}},"id":78498,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13789:66:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"13765:90:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":78500,"nodeType":"ExpressionStatement","src":"13765:90:130"},{"expression":{"arguments":[{"id":78504,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78487,"src":"13910:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":78507,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"13927:4:130","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$80578","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$80578","typeString":"contract CVStrategyV0_0"}],"id":78506,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13919:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":78505,"name":"address","nodeType":"ElementaryTypeName","src":"13919:7:130","typeDescriptions":{}}},"id":78508,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13919:13:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":78501,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77961,"src":"13865:17:130","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"}},"id":78503,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13883:26:130","memberName":"deactivateMemberInStrategy","nodeType":"MemberAccess","referencedDeclaration":84052,"src":"13865:44:130","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address) external"}},"id":78509,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13865:68:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78510,"nodeType":"ExpressionStatement","src":"13865:68:130"},{"expression":{"arguments":[{"id":78512,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78487,"src":"13997:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":78511,"name":"withdraw","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79422,"src":"13988:8:130","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":78513,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13988:17:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78514,"nodeType":"ExpressionStatement","src":"13988:17:130"},{"eventCall":{"arguments":[{"id":78516,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78487,"src":"14038:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":78515,"name":"PointsDeactivated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77894,"src":"14020:17:130","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":78517,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14020:26:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78518,"nodeType":"EmitStatement","src":"14015:31:130"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_deactivatePoints","nameLocation":"13711:17:130","parameters":{"id":78488,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78487,"mutability":"mutable","name":"_member","nameLocation":"13737:7:130","nodeType":"VariableDeclaration","scope":78520,"src":"13729:15:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":78486,"name":"address","nodeType":"ElementaryTypeName","src":"13729:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"13728:17:130"},"returnParameters":{"id":78489,"nodeType":"ParameterList","parameters":[],"src":"13755:0:130"},"scope":80578,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":78613,"nodeType":"FunctionDefinition","src":"14059:1057:130","nodes":[],"body":{"id":78612,"nodeType":"Block","src":"14150:966:130","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":78529,"name":"onlyRegistryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78194,"src":"14205:21:130","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":78530,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14205:23:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78531,"nodeType":"ExpressionStatement","src":"14205:23:130"},{"condition":{"id":78535,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"14242:27:130","subExpression":{"arguments":[{"id":78533,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78522,"src":"14261:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":78532,"name":"_canExecuteAction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78240,"src":"14243:17:130","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":78534,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14243:26:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":78540,"nodeType":"IfStatement","src":"14238:90:130","trueBody":{"id":78539,"nodeType":"Block","src":"14271:57:130","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":78536,"name":"UserCannotExecuteAction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77837,"src":"14292:23:130","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":78537,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14292:25:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78538,"nodeType":"RevertStatement","src":"14285:32:130"}]}},{"assignments":[78542],"declarations":[{"constant":false,"id":78542,"mutability":"mutable","name":"pointsToIncrease","nameLocation":"14345:16:130","nodeType":"VariableDeclaration","scope":78612,"src":"14337:24:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78541,"name":"uint256","nodeType":"ElementaryTypeName","src":"14337:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":78544,"initialValue":{"hexValue":"30","id":78543,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14364:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"14337:28:130"},{"condition":{"commonType":{"typeIdentifier":"t_enum$_PointSystem_$77676","typeString":"enum StrategyStruct.PointSystem"},"id":78549,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":78545,"name":"pointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77955,"src":"14379:11:130","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$77676","typeString":"enum StrategyStruct.PointSystem"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":78546,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77752,"src":"14394:14:130","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$77752_$","typeString":"type(library StrategyStruct)"}},"id":78547,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14409:11:130","memberName":"PointSystem","nodeType":"MemberAccess","referencedDeclaration":77676,"src":"14394:26:130","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_PointSystem_$77676_$","typeString":"type(enum StrategyStruct.PointSystem)"}},"id":78548,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"14421:9:130","memberName":"Unlimited","nodeType":"MemberAccess","referencedDeclaration":77674,"src":"14394:36:130","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$77676","typeString":"enum StrategyStruct.PointSystem"}},"src":"14379:51:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_enum$_PointSystem_$77676","typeString":"enum StrategyStruct.PointSystem"},"id":78561,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":78557,"name":"pointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77955,"src":"14524:11:130","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$77676","typeString":"enum StrategyStruct.PointSystem"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":78558,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77752,"src":"14539:14:130","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$77752_$","typeString":"type(library StrategyStruct)"}},"id":78559,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14554:11:130","memberName":"PointSystem","nodeType":"MemberAccess","referencedDeclaration":77676,"src":"14539:26:130","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_PointSystem_$77676_$","typeString":"type(enum StrategyStruct.PointSystem)"}},"id":78560,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"14566:6:130","memberName":"Capped","nodeType":"MemberAccess","referencedDeclaration":77673,"src":"14539:33:130","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$77676","typeString":"enum StrategyStruct.PointSystem"}},"src":"14524:48:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_enum$_PointSystem_$77676","typeString":"enum StrategyStruct.PointSystem"},"id":78574,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":78570,"name":"pointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77955,"src":"14672:11:130","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$77676","typeString":"enum StrategyStruct.PointSystem"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":78571,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77752,"src":"14687:14:130","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$77752_$","typeString":"type(library StrategyStruct)"}},"id":78572,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14702:11:130","memberName":"PointSystem","nodeType":"MemberAccess","referencedDeclaration":77676,"src":"14687:26:130","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_PointSystem_$77676_$","typeString":"type(enum StrategyStruct.PointSystem)"}},"id":78573,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"14714:9:130","memberName":"Quadratic","nodeType":"MemberAccess","referencedDeclaration":77675,"src":"14687:36:130","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$77676","typeString":"enum StrategyStruct.PointSystem"}},"src":"14672:51:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":78583,"nodeType":"IfStatement","src":"14668:148:130","trueBody":{"id":78582,"nodeType":"Block","src":"14725:91:130","statements":[{"expression":{"id":78580,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":78575,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78542,"src":"14739:16:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":78577,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78522,"src":"14781:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":78578,"name":"_amountToStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78524,"src":"14790:14:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":78576,"name":"increasePowerQuadratic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78826,"src":"14758:22:130","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256) view returns (uint256)"}},"id":78579,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14758:47:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"14739:66:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":78581,"nodeType":"ExpressionStatement","src":"14739:66:130"}]}},"id":78584,"nodeType":"IfStatement","src":"14520:296:130","trueBody":{"id":78569,"nodeType":"Block","src":"14574:88:130","statements":[{"expression":{"id":78567,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":78562,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78542,"src":"14588:16:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":78564,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78522,"src":"14627:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":78565,"name":"_amountToStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78524,"src":"14636:14:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":78563,"name":"increasePowerCapped","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78742,"src":"14607:19:130","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256) view returns (uint256)"}},"id":78566,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14607:44:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"14588:63:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":78568,"nodeType":"ExpressionStatement","src":"14588:63:130"}]}},"id":78585,"nodeType":"IfStatement","src":"14375:441:130","trueBody":{"id":78556,"nodeType":"Block","src":"14432:82:130","statements":[{"expression":{"id":78554,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":78550,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78542,"src":"14446:16:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":78552,"name":"_amountToStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78524,"src":"14488:14:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":78551,"name":"increasePowerUnlimited","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78679,"src":"14465:22:130","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":78553,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14465:38:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"14446:57:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":78555,"nodeType":"ExpressionStatement","src":"14446:57:130"}]}},{"assignments":[78587],"declarations":[{"constant":false,"id":78587,"mutability":"mutable","name":"isActivated","nameLocation":"14830:11:130","nodeType":"VariableDeclaration","scope":78612,"src":"14825:16:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":78586,"name":"bool","nodeType":"ElementaryTypeName","src":"14825:4:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":78596,"initialValue":{"arguments":[{"id":78590,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78522,"src":"14890:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":78593,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"14907:4:130","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$80578","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$80578","typeString":"contract CVStrategyV0_0"}],"id":78592,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"14899:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":78591,"name":"address","nodeType":"ElementaryTypeName","src":"14899:7:130","typeDescriptions":{}}},"id":78594,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14899:13:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":78588,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77961,"src":"14844:17:130","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"}},"id":78589,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14862:27:130","memberName":"memberActivatedInStrategies","nodeType":"MemberAccess","referencedDeclaration":83234,"src":"14844:45:130","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_bool_$","typeString":"function (address,address) view external returns (bool)"}},"id":78595,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14844:69:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"VariableDeclarationStatement","src":"14825:88:130"},{"condition":{"id":78597,"name":"isActivated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78587,"src":"14927:11:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":78603,"nodeType":"IfStatement","src":"14923:82:130","trueBody":{"id":78602,"nodeType":"Block","src":"14940:65:130","statements":[{"expression":{"id":78600,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":78598,"name":"totalPointsActivated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77944,"src":"14954:20:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"id":78599,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78542,"src":"14978:16:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"14954:40:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":78601,"nodeType":"ExpressionStatement","src":"14954:40:130"}]}},{"eventCall":{"arguments":[{"id":78605,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78522,"src":"15034:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":78606,"name":"_amountToStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78524,"src":"15043:14:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":78607,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78542,"src":"15059:16:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":78604,"name":"PowerIncreased","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77870,"src":"15019:14:130","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (address,uint256,uint256)"}},"id":78608,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15019:57:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78609,"nodeType":"EmitStatement","src":"15014:62:130"},{"expression":{"id":78610,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78542,"src":"15093:16:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":78528,"id":78611,"nodeType":"Return","src":"15086:23:130"}]},"baseFunctions":[77651],"functionSelector":"782aadff","implemented":true,"kind":"function","modifiers":[],"name":"increasePower","nameLocation":"14068:13:130","parameters":{"id":78525,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78522,"mutability":"mutable","name":"_member","nameLocation":"14090:7:130","nodeType":"VariableDeclaration","scope":78613,"src":"14082:15:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":78521,"name":"address","nodeType":"ElementaryTypeName","src":"14082:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":78524,"mutability":"mutable","name":"_amountToStake","nameLocation":"14107:14:130","nodeType":"VariableDeclaration","scope":78613,"src":"14099:22:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78523,"name":"uint256","nodeType":"ElementaryTypeName","src":"14099:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"14081:41:130"},"returnParameters":{"id":78528,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78527,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":78613,"src":"14141:7:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78526,"name":"uint256","nodeType":"ElementaryTypeName","src":"14141:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"14140:9:130"},"scope":80578,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":78669,"nodeType":"FunctionDefinition","src":"15122:681:130","nodes":[],"body":{"id":78668,"nodeType":"Block","src":"15215:588:130","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":78622,"name":"onlyRegistryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78194,"src":"15225:21:130","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":78623,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15225:23:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78624,"nodeType":"ExpressionStatement","src":"15225:23:130"},{"assignments":[78626],"declarations":[{"constant":false,"id":78626,"mutability":"mutable","name":"pointsToDecrease","nameLocation":"15312:16:130","nodeType":"VariableDeclaration","scope":78668,"src":"15304:24:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78625,"name":"uint256","nodeType":"ElementaryTypeName","src":"15304:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":78628,"initialValue":{"hexValue":"30","id":78627,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15331:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"15304:28:130"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":78639,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_enum$_PointSystem_$77676","typeString":"enum StrategyStruct.PointSystem"},"id":78633,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":78629,"name":"pointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77955,"src":"15346:11:130","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$77676","typeString":"enum StrategyStruct.PointSystem"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":78630,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77752,"src":"15361:14:130","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$77752_$","typeString":"type(library StrategyStruct)"}},"id":78631,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15376:11:130","memberName":"PointSystem","nodeType":"MemberAccess","referencedDeclaration":77676,"src":"15361:26:130","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_PointSystem_$77676_$","typeString":"type(enum StrategyStruct.PointSystem)"}},"id":78632,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"15388:9:130","memberName":"Unlimited","nodeType":"MemberAccess","referencedDeclaration":77674,"src":"15361:36:130","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$77676","typeString":"enum StrategyStruct.PointSystem"}},"src":"15346:51:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_enum$_PointSystem_$77676","typeString":"enum StrategyStruct.PointSystem"},"id":78638,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":78634,"name":"pointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77955,"src":"15401:11:130","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$77676","typeString":"enum StrategyStruct.PointSystem"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":78635,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77752,"src":"15416:14:130","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$77752_$","typeString":"type(library StrategyStruct)"}},"id":78636,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15431:11:130","memberName":"PointSystem","nodeType":"MemberAccess","referencedDeclaration":77676,"src":"15416:26:130","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_PointSystem_$77676_$","typeString":"type(enum StrategyStruct.PointSystem)"}},"id":78637,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"15443:6:130","memberName":"Capped","nodeType":"MemberAccess","referencedDeclaration":77673,"src":"15416:33:130","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$77676","typeString":"enum StrategyStruct.PointSystem"}},"src":"15401:48:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"15346:103:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":78654,"nodeType":"Block","src":"15547:93:130","statements":[{"expression":{"id":78652,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":78647,"name":"pointsToDecrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78626,"src":"15561:16:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":78649,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78615,"src":"15603:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":78650,"name":"_amountToUnstake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78617,"src":"15612:16:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":78648,"name":"decreasePowerQuadratic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78930,"src":"15580:22:130","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256) view returns (uint256)"}},"id":78651,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15580:49:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"15561:68:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":78653,"nodeType":"ExpressionStatement","src":"15561:68:130"}]},"id":78655,"nodeType":"IfStatement","src":"15342:298:130","trueBody":{"id":78646,"nodeType":"Block","src":"15451:90:130","statements":[{"expression":{"id":78644,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":78640,"name":"pointsToDecrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78626,"src":"15465:16:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":78642,"name":"_amountToUnstake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78617,"src":"15513:16:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":78641,"name":"decreasePowerCappedUnlimited","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78836,"src":"15484:28:130","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":78643,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15484:46:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"15465:65:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":78645,"nodeType":"ExpressionStatement","src":"15465:65:130"}]}},{"expression":{"id":78658,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":78656,"name":"totalPointsActivated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77944,"src":"15649:20:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"id":78657,"name":"pointsToDecrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78626,"src":"15673:16:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"15649:40:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":78659,"nodeType":"ExpressionStatement","src":"15649:40:130"},{"eventCall":{"arguments":[{"id":78661,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78615,"src":"15719:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":78662,"name":"_amountToUnstake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78617,"src":"15728:16:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":78663,"name":"pointsToDecrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78626,"src":"15746:16:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":78660,"name":"PowerDecreased","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77878,"src":"15704:14:130","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (address,uint256,uint256)"}},"id":78664,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15704:59:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78665,"nodeType":"EmitStatement","src":"15699:64:130"},{"expression":{"id":78666,"name":"pointsToDecrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78626,"src":"15780:16:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":78621,"id":78667,"nodeType":"Return","src":"15773:23:130"}]},"baseFunctions":[77660],"functionSelector":"2ed04b2b","implemented":true,"kind":"function","modifiers":[],"name":"decreasePower","nameLocation":"15131:13:130","parameters":{"id":78618,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78615,"mutability":"mutable","name":"_member","nameLocation":"15153:7:130","nodeType":"VariableDeclaration","scope":78669,"src":"15145:15:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":78614,"name":"address","nodeType":"ElementaryTypeName","src":"15145:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":78617,"mutability":"mutable","name":"_amountToUnstake","nameLocation":"15170:16:130","nodeType":"VariableDeclaration","scope":78669,"src":"15162:24:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78616,"name":"uint256","nodeType":"ElementaryTypeName","src":"15162:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15144:43:130"},"returnParameters":{"id":78621,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78620,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":78669,"src":"15206:7:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78619,"name":"uint256","nodeType":"ElementaryTypeName","src":"15206:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15205:9:130"},"scope":80578,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":78679,"nodeType":"FunctionDefinition","src":"15809:126:130","nodes":[],"body":{"id":78678,"nodeType":"Block","src":"15897:38:130","nodes":[],"statements":[{"expression":{"id":78676,"name":"_amountToStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78671,"src":"15914:14:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":78675,"id":78677,"nodeType":"Return","src":"15907:21:130"}]},"implemented":true,"kind":"function","modifiers":[],"name":"increasePowerUnlimited","nameLocation":"15818:22:130","parameters":{"id":78672,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78671,"mutability":"mutable","name":"_amountToStake","nameLocation":"15849:14:130","nodeType":"VariableDeclaration","scope":78679,"src":"15841:22:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78670,"name":"uint256","nodeType":"ElementaryTypeName","src":"15841:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15840:24:130"},"returnParameters":{"id":78675,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78674,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":78679,"src":"15888:7:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78673,"name":"uint256","nodeType":"ElementaryTypeName","src":"15888:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15887:9:130"},"scope":80578,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":78742,"nodeType":"FunctionDefinition","src":"15941:615:130","nodes":[],"body":{"id":78741,"nodeType":"Block","src":"16043:513:130","nodes":[],"statements":[{"assignments":[78689],"declarations":[{"constant":false,"id":78689,"mutability":"mutable","name":"pointsToIncrease","nameLocation":"16061:16:130","nodeType":"VariableDeclaration","scope":78741,"src":"16053:24:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78688,"name":"uint256","nodeType":"ElementaryTypeName","src":"16053:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":78691,"initialValue":{"id":78690,"name":"_amountToStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78683,"src":"16080:14:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"16053:41:130"},{"expression":{"arguments":[{"hexValue":"504f494e545320544f20494e435245415345","id":78695,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"16116:20:130","typeDescriptions":{"typeIdentifier":"t_stringliteral_ef3d3d59430373ce7e3d099486636fe73635f3082757c009fe2ef0b043a4ebb1","typeString":"literal_string \"POINTS TO INCREASE\""},"value":"POINTS TO INCREASE"},{"id":78696,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78689,"src":"16138:16:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ef3d3d59430373ce7e3d099486636fe73635f3082757c009fe2ef0b043a4ebb1","typeString":"literal_string \"POINTS TO INCREASE\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":78692,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29549,"src":"16104:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$29549_$","typeString":"type(library console)"}},"id":78694,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16112:3:130","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":22193,"src":"16104:11:130","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":78697,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16104:51:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78698,"nodeType":"ExpressionStatement","src":"16104:51:130"},{"assignments":[78700],"declarations":[{"constant":false,"id":78700,"mutability":"mutable","name":"memberPower","nameLocation":"16173:11:130","nodeType":"VariableDeclaration","scope":78741,"src":"16165:19:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78699,"name":"uint256","nodeType":"ElementaryTypeName","src":"16165:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":78709,"initialValue":{"arguments":[{"id":78703,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78681,"src":"16230:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":78706,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"16247:4:130","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$80578","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$80578","typeString":"contract CVStrategyV0_0"}],"id":78705,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16239:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":78704,"name":"address","nodeType":"ElementaryTypeName","src":"16239:7:130","typeDescriptions":{}}},"id":78707,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16239:13:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":78701,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77961,"src":"16187:17:130","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"}},"id":78702,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16205:24:130","memberName":"getMemberPowerInStrategy","nodeType":"MemberAccess","referencedDeclaration":84375,"src":"16187:42:130","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view external returns (uint256)"}},"id":78708,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16187:66:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"16165:88:130"},{"expression":{"arguments":[{"hexValue":"4d454d424552504f574552","id":78713,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"16275:13:130","typeDescriptions":{"typeIdentifier":"t_stringliteral_d53146c44856b98b9530413c868d7a3bea9675ba78d0918c9dbfa4f905f5c3e8","typeString":"literal_string \"MEMBERPOWER\""},"value":"MEMBERPOWER"},{"id":78714,"name":"memberPower","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78700,"src":"16290:11:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_d53146c44856b98b9530413c868d7a3bea9675ba78d0918c9dbfa4f905f5c3e8","typeString":"literal_string \"MEMBERPOWER\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":78710,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29549,"src":"16263:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$29549_$","typeString":"type(library console)"}},"id":78712,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16271:3:130","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":22193,"src":"16263:11:130","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":78715,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16263:39:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78716,"nodeType":"ExpressionStatement","src":"16263:39:130"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":78722,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":78719,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":78717,"name":"memberPower","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78700,"src":"16316:11:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":78718,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78689,"src":"16330:16:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16316:30:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"expression":{"id":78720,"name":"pointConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77958,"src":"16349:11:130","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$77729_storage","typeString":"struct StrategyStruct.PointSystemConfig storage ref"}},"id":78721,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"16361:9:130","memberName":"maxAmount","nodeType":"MemberAccess","referencedDeclaration":77728,"src":"16349:21:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16316:54:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":78731,"nodeType":"IfStatement","src":"16312:139:130","trueBody":{"id":78730,"nodeType":"Block","src":"16372:79:130","statements":[{"expression":{"id":78728,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":78723,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78689,"src":"16386:16:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":78727,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":78724,"name":"pointConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77958,"src":"16405:11:130","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$77729_storage","typeString":"struct StrategyStruct.PointSystemConfig storage ref"}},"id":78725,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"16417:9:130","memberName":"maxAmount","nodeType":"MemberAccess","referencedDeclaration":77728,"src":"16405:21:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":78726,"name":"memberPower","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78700,"src":"16429:11:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16405:35:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16386:54:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":78729,"nodeType":"ExpressionStatement","src":"16386:54:130"}]}},{"expression":{"arguments":[{"hexValue":"504f494e545320544f20494e43524541534520454e44","id":78735,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"16472:24:130","typeDescriptions":{"typeIdentifier":"t_stringliteral_7339ba314bb001e1fd9993d42999dceed278cc5b138b69398be73c13fb666826","typeString":"literal_string \"POINTS TO INCREASE END\""},"value":"POINTS TO INCREASE END"},{"id":78736,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78689,"src":"16498:16:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_7339ba314bb001e1fd9993d42999dceed278cc5b138b69398be73c13fb666826","typeString":"literal_string \"POINTS TO INCREASE END\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":78732,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29549,"src":"16460:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$29549_$","typeString":"type(library console)"}},"id":78734,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16468:3:130","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":22193,"src":"16460:11:130","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":78737,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16460:55:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78738,"nodeType":"ExpressionStatement","src":"16460:55:130"},{"expression":{"id":78739,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78689,"src":"16533:16:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":78687,"id":78740,"nodeType":"Return","src":"16526:23:130"}]},"implemented":true,"kind":"function","modifiers":[],"name":"increasePowerCapped","nameLocation":"15950:19:130","parameters":{"id":78684,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78681,"mutability":"mutable","name":"_member","nameLocation":"15978:7:130","nodeType":"VariableDeclaration","scope":78742,"src":"15970:15:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":78680,"name":"address","nodeType":"ElementaryTypeName","src":"15970:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":78683,"mutability":"mutable","name":"_amountToStake","nameLocation":"15995:14:130","nodeType":"VariableDeclaration","scope":78742,"src":"15987:22:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78682,"name":"uint256","nodeType":"ElementaryTypeName","src":"15987:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15969:41:130"},"returnParameters":{"id":78687,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78686,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":78742,"src":"16034:7:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78685,"name":"uint256","nodeType":"ElementaryTypeName","src":"16034:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"16033:9:130"},"scope":80578,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":78826,"nodeType":"FunctionDefinition","src":"16562:730:130","nodes":[],"body":{"id":78825,"nodeType":"Block","src":"16667:625:130","nodes":[],"statements":[{"assignments":[78752],"declarations":[{"constant":false,"id":78752,"mutability":"mutable","name":"totalStake","nameLocation":"16685:10:130","nodeType":"VariableDeclaration","scope":78825,"src":"16677:18:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78751,"name":"uint256","nodeType":"ElementaryTypeName","src":"16677:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":78759,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":78758,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":78755,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78744,"src":"16738:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":78753,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77961,"src":"16698:17:130","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"}},"id":78754,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16716:21:130","memberName":"getMemberStakedAmount","nodeType":"MemberAccess","referencedDeclaration":84388,"src":"16698:39:130","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":78756,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16698:48:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":78757,"name":"_amountToStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78746,"src":"16749:14:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16698:65:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"16677:86:130"},{"assignments":[78761],"declarations":[{"constant":false,"id":78761,"mutability":"mutable","name":"decimal","nameLocation":"16782:7:130","nodeType":"VariableDeclaration","scope":78825,"src":"16774:15:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78760,"name":"uint256","nodeType":"ElementaryTypeName","src":"16774:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":78763,"initialValue":{"hexValue":"3138","id":78762,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16792:2:130","typeDescriptions":{"typeIdentifier":"t_rational_18_by_1","typeString":"int_const 18"},"value":"18"},"nodeType":"VariableDeclarationStatement","src":"16774:20:130"},{"clauses":[{"block":{"id":78784,"nodeType":"Block","src":"16892:52:130","statements":[{"expression":{"id":78782,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":78777,"name":"decimal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78761,"src":"16906:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":78780,"name":"_decimal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78775,"src":"16924:8:130","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint8","typeString":"uint8"}],"id":78779,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16916:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":78778,"name":"uint256","nodeType":"ElementaryTypeName","src":"16916:7:130","typeDescriptions":{}}},"id":78781,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16916:17:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16906:27:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":78783,"nodeType":"ExpressionStatement","src":"16906:27:130"}]},"errorName":"","id":78785,"nodeType":"TryCatchClause","parameters":{"id":78776,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78775,"mutability":"mutable","name":"_decimal","nameLocation":"16882:8:130","nodeType":"VariableDeclaration","scope":78785,"src":"16876:14:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":78774,"name":"uint8","nodeType":"ElementaryTypeName","src":"16876:5:130","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"16875:16:130"},"src":"16867:77:130"},{"block":{"id":78792,"nodeType":"Block","src":"16951:61:130","statements":[{"expression":{"arguments":[{"hexValue":"4572726f722067657474696e6720646563696d616c","id":78789,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"16977:23:130","typeDescriptions":{"typeIdentifier":"t_stringliteral_add5b7e354bcd4eb0c69c8b5bd8a8dca27c903f694ea26b234a6605e7f62de4d","typeString":"literal_string \"Error getting decimal\""},"value":"Error getting decimal"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_add5b7e354bcd4eb0c69c8b5bd8a8dca27c903f694ea26b234a6605e7f62de4d","typeString":"literal_string \"Error getting decimal\""}],"expression":{"id":78786,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29549,"src":"16965:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$29549_$","typeString":"type(library console)"}},"id":78788,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16973:3:130","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":22080,"src":"16965:11:130","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) view"}},"id":78790,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16965:36:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78791,"nodeType":"ExpressionStatement","src":"16965:36:130"}]},"errorName":"","id":78793,"nodeType":"TryCatchClause","src":"16945:67:130"}],"externalCall":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":78767,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77961,"src":"16822:17:130","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"}},"id":78768,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16840:11:130","memberName":"gardenToken","nodeType":"MemberAccess","referencedDeclaration":83189,"src":"16822:29:130","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_contract$_IERC20_$57069_$","typeString":"function () view external returns (contract IERC20)"}},"id":78769,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16822:31:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$57069","typeString":"contract IERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$57069","typeString":"contract IERC20"}],"id":78766,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16814:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":78765,"name":"address","nodeType":"ElementaryTypeName","src":"16814:7:130","typeDescriptions":{}}},"id":78770,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16814:40:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":78764,"name":"ERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56991,"src":"16808:5:130","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ERC20_$56991_$","typeString":"type(contract ERC20)"}},"id":78771,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16808:47:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ERC20_$56991","typeString":"contract ERC20"}},"id":78772,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16856:8:130","memberName":"decimals","nodeType":"MemberAccess","referencedDeclaration":56479,"src":"16808:56:130","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint8_$","typeString":"function () view external returns (uint8)"}},"id":78773,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16808:58:130","tryCall":true,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":78794,"nodeType":"TryStatement","src":"16804:208:130"},{"assignments":[78796],"declarations":[{"constant":false,"id":78796,"mutability":"mutable","name":"newTotalPoints","nameLocation":"17029:14:130","nodeType":"VariableDeclaration","scope":78825,"src":"17021:22:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78795,"name":"uint256","nodeType":"ElementaryTypeName","src":"17021:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":78805,"initialValue":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":78803,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":78799,"name":"totalStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78752,"src":"17056:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":78802,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":78800,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17069:2:130","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"id":78801,"name":"decimal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78761,"src":"17075:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17069:13:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17056:26:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":78797,"name":"Math","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59338,"src":"17046:4:130","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Math_$59338_$","typeString":"type(library Math)"}},"id":78798,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17051:4:130","memberName":"sqrt","nodeType":"MemberAccess","referencedDeclaration":58842,"src":"17046:9:130","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":78804,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17046:37:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"17021:62:130"},{"assignments":[78807],"declarations":[{"constant":false,"id":78807,"mutability":"mutable","name":"currentPoints","nameLocation":"17101:13:130","nodeType":"VariableDeclaration","scope":78825,"src":"17093:21:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78806,"name":"uint256","nodeType":"ElementaryTypeName","src":"17093:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":78816,"initialValue":{"arguments":[{"id":78810,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78744,"src":"17160:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":78813,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"17177:4:130","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$80578","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$80578","typeString":"contract CVStrategyV0_0"}],"id":78812,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"17169:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":78811,"name":"address","nodeType":"ElementaryTypeName","src":"17169:7:130","typeDescriptions":{}}},"id":78814,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17169:13:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":78808,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77961,"src":"17117:17:130","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"}},"id":78809,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17135:24:130","memberName":"getMemberPowerInStrategy","nodeType":"MemberAccess","referencedDeclaration":84375,"src":"17117:42:130","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view external returns (uint256)"}},"id":78815,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17117:66:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"17093:90:130"},{"assignments":[78818],"declarations":[{"constant":false,"id":78818,"mutability":"mutable","name":"pointsToIncrease","nameLocation":"17202:16:130","nodeType":"VariableDeclaration","scope":78825,"src":"17194:24:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78817,"name":"uint256","nodeType":"ElementaryTypeName","src":"17194:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":78822,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":78821,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":78819,"name":"newTotalPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78796,"src":"17221:14:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":78820,"name":"currentPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78807,"src":"17238:13:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17221:30:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"17194:57:130"},{"expression":{"id":78823,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78818,"src":"17269:16:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":78750,"id":78824,"nodeType":"Return","src":"17262:23:130"}]},"implemented":true,"kind":"function","modifiers":[],"name":"increasePowerQuadratic","nameLocation":"16571:22:130","parameters":{"id":78747,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78744,"mutability":"mutable","name":"_member","nameLocation":"16602:7:130","nodeType":"VariableDeclaration","scope":78826,"src":"16594:15:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":78743,"name":"address","nodeType":"ElementaryTypeName","src":"16594:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":78746,"mutability":"mutable","name":"_amountToStake","nameLocation":"16619:14:130","nodeType":"VariableDeclaration","scope":78826,"src":"16611:22:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78745,"name":"uint256","nodeType":"ElementaryTypeName","src":"16611:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"16593:41:130"},"returnParameters":{"id":78750,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78749,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":78826,"src":"16658:7:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78748,"name":"uint256","nodeType":"ElementaryTypeName","src":"16658:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"16657:9:130"},"scope":80578,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":78836,"nodeType":"FunctionDefinition","src":"17298:136:130","nodes":[],"body":{"id":78835,"nodeType":"Block","src":"17394:40:130","nodes":[],"statements":[{"expression":{"id":78833,"name":"_amountToUnstake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78828,"src":"17411:16:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":78832,"id":78834,"nodeType":"Return","src":"17404:23:130"}]},"implemented":true,"kind":"function","modifiers":[],"name":"decreasePowerCappedUnlimited","nameLocation":"17307:28:130","parameters":{"id":78829,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78828,"mutability":"mutable","name":"_amountToUnstake","nameLocation":"17344:16:130","nodeType":"VariableDeclaration","scope":78836,"src":"17336:24:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78827,"name":"uint256","nodeType":"ElementaryTypeName","src":"17336:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"17335:26:130"},"returnParameters":{"id":78832,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78831,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":78836,"src":"17385:7:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78830,"name":"uint256","nodeType":"ElementaryTypeName","src":"17385:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"17384:9:130"},"scope":80578,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":78930,"nodeType":"FunctionDefinition","src":"17440:802:130","nodes":[],"body":{"id":78929,"nodeType":"Block","src":"17547:695:130","nodes":[],"statements":[{"assignments":[78846],"declarations":[{"constant":false,"id":78846,"mutability":"mutable","name":"decimal","nameLocation":"17565:7:130","nodeType":"VariableDeclaration","scope":78929,"src":"17557:15:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78845,"name":"uint256","nodeType":"ElementaryTypeName","src":"17557:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":78848,"initialValue":{"hexValue":"3138","id":78847,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17575:2:130","typeDescriptions":{"typeIdentifier":"t_rational_18_by_1","typeString":"int_const 18"},"value":"18"},"nodeType":"VariableDeclarationStatement","src":"17557:20:130"},{"clauses":[{"block":{"id":78869,"nodeType":"Block","src":"17675:52:130","statements":[{"expression":{"id":78867,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":78862,"name":"decimal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78846,"src":"17689:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":78865,"name":"_decimal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78860,"src":"17707:8:130","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint8","typeString":"uint8"}],"id":78864,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"17699:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":78863,"name":"uint256","nodeType":"ElementaryTypeName","src":"17699:7:130","typeDescriptions":{}}},"id":78866,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17699:17:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17689:27:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":78868,"nodeType":"ExpressionStatement","src":"17689:27:130"}]},"errorName":"","id":78870,"nodeType":"TryCatchClause","parameters":{"id":78861,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78860,"mutability":"mutable","name":"_decimal","nameLocation":"17665:8:130","nodeType":"VariableDeclaration","scope":78870,"src":"17659:14:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":78859,"name":"uint8","nodeType":"ElementaryTypeName","src":"17659:5:130","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"17658:16:130"},"src":"17650:77:130"},{"block":{"id":78877,"nodeType":"Block","src":"17734:61:130","statements":[{"expression":{"arguments":[{"hexValue":"4572726f722067657474696e6720646563696d616c","id":78874,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"17760:23:130","typeDescriptions":{"typeIdentifier":"t_stringliteral_add5b7e354bcd4eb0c69c8b5bd8a8dca27c903f694ea26b234a6605e7f62de4d","typeString":"literal_string \"Error getting decimal\""},"value":"Error getting decimal"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_add5b7e354bcd4eb0c69c8b5bd8a8dca27c903f694ea26b234a6605e7f62de4d","typeString":"literal_string \"Error getting decimal\""}],"expression":{"id":78871,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29549,"src":"17748:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$29549_$","typeString":"type(library console)"}},"id":78873,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17756:3:130","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":22080,"src":"17748:11:130","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) view"}},"id":78875,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17748:36:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78876,"nodeType":"ExpressionStatement","src":"17748:36:130"}]},"errorName":"","id":78878,"nodeType":"TryCatchClause","src":"17728:67:130"}],"externalCall":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":78852,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77961,"src":"17605:17:130","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"}},"id":78853,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17623:11:130","memberName":"gardenToken","nodeType":"MemberAccess","referencedDeclaration":83189,"src":"17605:29:130","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_contract$_IERC20_$57069_$","typeString":"function () view external returns (contract IERC20)"}},"id":78854,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17605:31:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$57069","typeString":"contract IERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$57069","typeString":"contract IERC20"}],"id":78851,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"17597:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":78850,"name":"address","nodeType":"ElementaryTypeName","src":"17597:7:130","typeDescriptions":{}}},"id":78855,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17597:40:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":78849,"name":"ERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56991,"src":"17591:5:130","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ERC20_$56991_$","typeString":"type(contract ERC20)"}},"id":78856,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17591:47:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ERC20_$56991","typeString":"contract ERC20"}},"id":78857,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17639:8:130","memberName":"decimals","nodeType":"MemberAccess","referencedDeclaration":56479,"src":"17591:56:130","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint8_$","typeString":"function () view external returns (uint8)"}},"id":78858,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17591:58:130","tryCall":true,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":78879,"nodeType":"TryStatement","src":"17587:208:130"},{"expression":{"arguments":[{"hexValue":"5f616d6f756e74546f556e7374616b65","id":78883,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"17816:18:130","typeDescriptions":{"typeIdentifier":"t_stringliteral_dc5364d7a51b187c038e40e987076ae6dd611b7a72008e9d9acc88e3a526f2c2","typeString":"literal_string \"_amountToUnstake\""},"value":"_amountToUnstake"},{"id":78884,"name":"_amountToUnstake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78840,"src":"17836:16:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_dc5364d7a51b187c038e40e987076ae6dd611b7a72008e9d9acc88e3a526f2c2","typeString":"literal_string \"_amountToUnstake\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":78880,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29549,"src":"17804:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$29549_$","typeString":"type(library console)"}},"id":78882,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17812:3:130","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":22193,"src":"17804:11:130","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":78885,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17804:49:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78886,"nodeType":"ExpressionStatement","src":"17804:49:130"},{"assignments":[78888],"declarations":[{"constant":false,"id":78888,"mutability":"mutable","name":"newTotalStake","nameLocation":"17871:13:130","nodeType":"VariableDeclaration","scope":78929,"src":"17863:21:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78887,"name":"uint256","nodeType":"ElementaryTypeName","src":"17863:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":78895,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":78894,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":78891,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78838,"src":"17927:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":78889,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77961,"src":"17887:17:130","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"}},"id":78890,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17905:21:130","memberName":"getMemberStakedAmount","nodeType":"MemberAccess","referencedDeclaration":84388,"src":"17887:39:130","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":78892,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17887:48:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":78893,"name":"_amountToUnstake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78840,"src":"17938:16:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17887:67:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"17863:91:130"},{"expression":{"arguments":[{"hexValue":"6e6577546f74616c5374616b65","id":78899,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"17976:15:130","typeDescriptions":{"typeIdentifier":"t_stringliteral_e1d5e8d6d05577c9c30b6029c3158dfad77d5a239a04e4529b5b98f0ce2f7a79","typeString":"literal_string \"newTotalStake\""},"value":"newTotalStake"},{"id":78900,"name":"newTotalStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78888,"src":"17993:13:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e1d5e8d6d05577c9c30b6029c3158dfad77d5a239a04e4529b5b98f0ce2f7a79","typeString":"literal_string \"newTotalStake\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":78896,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29549,"src":"17964:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$29549_$","typeString":"type(library console)"}},"id":78898,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17972:3:130","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":22193,"src":"17964:11:130","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":78901,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17964:43:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78902,"nodeType":"ExpressionStatement","src":"17964:43:130"},{"assignments":[78904],"declarations":[{"constant":false,"id":78904,"mutability":"mutable","name":"newTotalPoints","nameLocation":"18025:14:130","nodeType":"VariableDeclaration","scope":78929,"src":"18017:22:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78903,"name":"uint256","nodeType":"ElementaryTypeName","src":"18017:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":78913,"initialValue":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":78911,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":78907,"name":"newTotalStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78888,"src":"18052:13:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":78910,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":78908,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18068:2:130","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"id":78909,"name":"decimal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78846,"src":"18074:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"18068:13:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"18052:29:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":78905,"name":"Math","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59338,"src":"18042:4:130","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Math_$59338_$","typeString":"type(library Math)"}},"id":78906,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18047:4:130","memberName":"sqrt","nodeType":"MemberAccess","referencedDeclaration":58842,"src":"18042:9:130","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":78912,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18042:40:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"18017:65:130"},{"assignments":[78915],"declarations":[{"constant":false,"id":78915,"mutability":"mutable","name":"pointsToDecrease","nameLocation":"18100:16:130","nodeType":"VariableDeclaration","scope":78929,"src":"18092:24:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78914,"name":"uint256","nodeType":"ElementaryTypeName","src":"18092:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":78926,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":78925,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":78918,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78838,"src":"18162:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":78921,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"18179:4:130","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$80578","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$80578","typeString":"contract CVStrategyV0_0"}],"id":78920,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"18171:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":78919,"name":"address","nodeType":"ElementaryTypeName","src":"18171:7:130","typeDescriptions":{}}},"id":78922,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18171:13:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":78916,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77961,"src":"18119:17:130","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"}},"id":78917,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18137:24:130","memberName":"getMemberPowerInStrategy","nodeType":"MemberAccess","referencedDeclaration":84375,"src":"18119:42:130","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view external returns (uint256)"}},"id":78923,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18119:66:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":78924,"name":"newTotalPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78904,"src":"18188:14:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"18119:83:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"18092:110:130"},{"expression":{"id":78927,"name":"pointsToDecrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78915,"src":"18219:16:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":78844,"id":78928,"nodeType":"Return","src":"18212:23:130"}]},"implemented":true,"kind":"function","modifiers":[],"name":"decreasePowerQuadratic","nameLocation":"17449:22:130","parameters":{"id":78841,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78838,"mutability":"mutable","name":"_member","nameLocation":"17480:7:130","nodeType":"VariableDeclaration","scope":78930,"src":"17472:15:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":78837,"name":"address","nodeType":"ElementaryTypeName","src":"17472:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":78840,"mutability":"mutable","name":"_amountToUnstake","nameLocation":"17497:16:130","nodeType":"VariableDeclaration","scope":78930,"src":"17489:24:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78839,"name":"uint256","nodeType":"ElementaryTypeName","src":"17489:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"17471:43:130"},"returnParameters":{"id":78844,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78843,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":78930,"src":"17538:7:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78842,"name":"uint256","nodeType":"ElementaryTypeName","src":"17538:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"17537:9:130"},"scope":80578,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":78939,"nodeType":"FunctionDefinition","src":"18248:99:130","nodes":[],"body":{"id":78938,"nodeType":"Block","src":"18302:45:130","nodes":[],"statements":[{"expression":{"expression":{"id":78935,"name":"pointConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77958,"src":"18319:11:130","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$77729_storage","typeString":"struct StrategyStruct.PointSystemConfig storage ref"}},"id":78936,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"18331:9:130","memberName":"maxAmount","nodeType":"MemberAccess","referencedDeclaration":77728,"src":"18319:21:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":78934,"id":78937,"nodeType":"Return","src":"18312:28:130"}]},"functionSelector":"0ba95909","implemented":true,"kind":"function","modifiers":[],"name":"getMaxAmount","nameLocation":"18257:12:130","parameters":{"id":78931,"nodeType":"ParameterList","parameters":[],"src":"18269:2:130"},"returnParameters":{"id":78934,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78933,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":78939,"src":"18293:7:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78932,"name":"uint256","nodeType":"ElementaryTypeName","src":"18293:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"18292:9:130"},"scope":80578,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":78948,"nodeType":"FunctionDefinition","src":"18353:110:130","nodes":[],"body":{"id":78947,"nodeType":"Block","src":"18428:35:130","nodes":[],"statements":[{"expression":{"id":78945,"name":"pointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77955,"src":"18445:11:130","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$77676","typeString":"enum StrategyStruct.PointSystem"}},"functionReturnParameters":78944,"id":78946,"nodeType":"Return","src":"18438:18:130"}]},"baseFunctions":[77666],"functionSelector":"c3292171","implemented":true,"kind":"function","modifiers":[],"name":"getPointSystem","nameLocation":"18362:14:130","parameters":{"id":78940,"nodeType":"ParameterList","parameters":[],"src":"18376:2:130"},"returnParameters":{"id":78944,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78943,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":78948,"src":"18400:26:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$77676","typeString":"enum StrategyStruct.PointSystem"},"typeName":{"id":78942,"nodeType":"UserDefinedTypeName","pathNode":{"id":78941,"name":"StrategyStruct.PointSystem","nameLocations":["18400:14:130","18415:11:130"],"nodeType":"IdentifierPath","referencedDeclaration":77676,"src":"18400:26:130"},"referencedDeclaration":77676,"src":"18400:26:130","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$77676","typeString":"enum StrategyStruct.PointSystem"}},"visibility":"internal"}],"src":"18399:28:130"},"scope":80578,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":78959,"nodeType":"FunctionDefinition","src":"18579:226:130","nodes":[],"body":{"id":78958,"nodeType":"Block","src":"18657:148:130","nodes":[],"statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":78955,"name":"NotImplemented","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77773,"src":"18722:14:130","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":78956,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18722:16:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78957,"nodeType":"RevertStatement","src":"18715:23:130"}]},"functionSelector":"e33add93","implemented":true,"kind":"function","modifiers":[],"name":"supportProposal","nameLocation":"18588:15:130","parameters":{"id":78953,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78952,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":78959,"src":"18604:39:130","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$77726_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport[]"},"typeName":{"baseType":{"id":78950,"nodeType":"UserDefinedTypeName","pathNode":{"id":78949,"name":"StrategyStruct.ProposalSupport","nameLocations":["18604:14:130","18619:15:130"],"nodeType":"IdentifierPath","referencedDeclaration":77726,"src":"18604:30:130"},"referencedDeclaration":77726,"src":"18604:30:130","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$77726_storage_ptr","typeString":"struct StrategyStruct.ProposalSupport"}},"id":78951,"nodeType":"ArrayTypeName","src":"18604:32:130","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$77726_storage_$dyn_storage_ptr","typeString":"struct StrategyStruct.ProposalSupport[]"}},"visibility":"internal"}],"src":"18603:41:130"},"returnParameters":{"id":78954,"nodeType":"ParameterList","parameters":[],"src":"18657:0:130"},"scope":80578,"stateMutability":"pure","virtual":false,"visibility":"public"},{"id":79024,"nodeType":"FunctionDefinition","src":"18951:650:130","nodes":[],"body":{"id":79023,"nodeType":"Block","src":"19025:576:130","nodes":[],"statements":[{"expression":{"arguments":[{"id":78968,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78963,"src":"19055:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":78967,"name":"checkSenderIsMember","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78178,"src":"19035:19:130","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$__$","typeString":"function (address) view"}},"id":78969,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19035:28:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78970,"nodeType":"ExpressionStatement","src":"19035:28:130"},{"condition":{"id":78974,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"19077:27:130","subExpression":{"arguments":[{"id":78972,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78963,"src":"19096:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":78971,"name":"_canExecuteAction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78240,"src":"19078:17:130","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":78973,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19078:26:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":78979,"nodeType":"IfStatement","src":"19073:90:130","trueBody":{"id":78978,"nodeType":"Block","src":"19106:57:130","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":78975,"name":"UserCannotExecuteAction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77837,"src":"19127:23:130","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":78976,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19127:25:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78977,"nodeType":"RevertStatement","src":"19120:32:130"}]}},{"assignments":[78981],"declarations":[{"constant":false,"id":78981,"mutability":"mutable","name":"isMemberActivatedPoints","nameLocation":"19223:23:130","nodeType":"VariableDeclaration","scope":79023,"src":"19218:28:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":78980,"name":"bool","nodeType":"ElementaryTypeName","src":"19218:4:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":78990,"initialValue":{"arguments":[{"id":78984,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78963,"src":"19295:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":78987,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"19312:4:130","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$80578","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$80578","typeString":"contract CVStrategyV0_0"}],"id":78986,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"19304:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":78985,"name":"address","nodeType":"ElementaryTypeName","src":"19304:7:130","typeDescriptions":{}}},"id":78988,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19304:13:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":78982,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77961,"src":"19249:17:130","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"}},"id":78983,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19267:27:130","memberName":"memberActivatedInStrategies","nodeType":"MemberAccess","referencedDeclaration":83234,"src":"19249:45:130","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_bool_$","typeString":"function (address,address) view external returns (bool)"}},"id":78989,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19249:69:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"VariableDeclarationStatement","src":"19218:100:130"},{"condition":{"id":78992,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"19332:24:130","subExpression":{"id":78991,"name":"isMemberActivatedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78981,"src":"19333:23:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":78997,"nodeType":"IfStatement","src":"19328:78:130","trueBody":{"id":78996,"nodeType":"Block","src":"19358:48:130","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":78993,"name":"UserIsInactive","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77769,"src":"19379:14:130","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":78994,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19379:16:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78995,"nodeType":"RevertStatement","src":"19372:23:130"}]}},{"assignments":[79003],"declarations":[{"constant":false,"id":79003,"mutability":"mutable","name":"pv","nameLocation":"19455:2:130","nodeType":"VariableDeclaration","scope":79023,"src":"19415:42:130","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$77726_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport[]"},"typeName":{"baseType":{"id":79001,"nodeType":"UserDefinedTypeName","pathNode":{"id":79000,"name":"StrategyStruct.ProposalSupport","nameLocations":["19415:14:130","19430:15:130"],"nodeType":"IdentifierPath","referencedDeclaration":77726,"src":"19415:30:130"},"referencedDeclaration":77726,"src":"19415:30:130","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$77726_storage_ptr","typeString":"struct StrategyStruct.ProposalSupport"}},"id":79002,"nodeType":"ArrayTypeName","src":"19415:32:130","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$77726_storage_$dyn_storage_ptr","typeString":"struct StrategyStruct.ProposalSupport[]"}},"visibility":"internal"}],"id":79012,"initialValue":{"arguments":[{"id":79006,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78961,"src":"19471:5:130","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"baseExpression":{"expression":{"id":79007,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77752,"src":"19479:14:130","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$77752_$","typeString":"type(library StrategyStruct)"}},"id":79008,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19494:15:130","memberName":"ProposalSupport","nodeType":"MemberAccess","referencedDeclaration":77726,"src":"19479:30:130","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ProposalSupport_$77726_storage_ptr_$","typeString":"type(struct StrategyStruct.ProposalSupport storage pointer)"}},"id":79009,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"19479:32:130","typeDescriptions":{"typeIdentifier":"t_type$_t_array$_t_struct$_ProposalSupport_$77726_memory_ptr_$dyn_memory_ptr_$","typeString":"type(struct StrategyStruct.ProposalSupport memory[] memory)"}}],"id":79010,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"19478:34:130","typeDescriptions":{"typeIdentifier":"t_type$_t_array$_t_struct$_ProposalSupport_$77726_memory_ptr_$dyn_memory_ptr_$","typeString":"type(struct StrategyStruct.ProposalSupport memory[] memory)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_array$_t_struct$_ProposalSupport_$77726_memory_ptr_$dyn_memory_ptr_$","typeString":"type(struct StrategyStruct.ProposalSupport memory[] memory)"}],"expression":{"id":79004,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"19460:3:130","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":79005,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"19464:6:130","memberName":"decode","nodeType":"MemberAccess","src":"19460:10:130","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":79011,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19460:53:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$77726_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"19415:98:130"},{"expression":{"arguments":[{"id":79014,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78963,"src":"19548:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":79015,"name":"pv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79003,"src":"19557:2:130","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$77726_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$77726_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}],"id":79013,"name":"_check_before_addSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79724,"src":"19523:24:130","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_array$_t_struct$_ProposalSupport_$77726_memory_ptr_$dyn_memory_ptr_$returns$__$","typeString":"function (address,struct StrategyStruct.ProposalSupport memory[] memory)"}},"id":79016,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19523:37:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":79017,"nodeType":"ExpressionStatement","src":"19523:37:130"},{"expression":{"arguments":[{"id":79019,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78963,"src":"19582:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":79020,"name":"pv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79003,"src":"19591:2:130","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$77726_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$77726_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}],"id":79018,"name":"_addSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80011,"src":"19570:11:130","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_array$_t_struct$_ProposalSupport_$77726_memory_ptr_$dyn_memory_ptr_$returns$__$","typeString":"function (address,struct StrategyStruct.ProposalSupport memory[] memory)"}},"id":79021,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19570:24:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":79022,"nodeType":"ExpressionStatement","src":"19570:24:130"}]},"baseFunctions":[74566],"implemented":true,"kind":"function","modifiers":[],"name":"_allocate","nameLocation":"18960:9:130","overrides":{"id":78965,"nodeType":"OverrideSpecifier","overrides":[],"src":"19016:8:130"},"parameters":{"id":78964,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78961,"mutability":"mutable","name":"_data","nameLocation":"18983:5:130","nodeType":"VariableDeclaration","scope":79024,"src":"18970:18:130","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":78960,"name":"bytes","nodeType":"ElementaryTypeName","src":"18970:5:130","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":78963,"mutability":"mutable","name":"_sender","nameLocation":"18998:7:130","nodeType":"VariableDeclaration","scope":79024,"src":"18990:15:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":78962,"name":"address","nodeType":"ElementaryTypeName","src":"18990:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"18969:37:130"},"returnParameters":{"id":78966,"nodeType":"ParameterList","parameters":[],"src":"19025:0:130"},"scope":80578,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":79180,"nodeType":"FunctionDefinition","src":"19857:1756:130","nodes":[],"body":{"id":79179,"nodeType":"Block","src":"19943:1670:130","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79038,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":79035,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79029,"src":"20036:5:130","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":79036,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20042:6:130","memberName":"length","nodeType":"MemberAccess","src":"20036:12:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"hexValue":"30","id":79037,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20052:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"20036:17:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":79043,"nodeType":"IfStatement","src":"20032:76:130","trueBody":{"id":79042,"nodeType":"Block","src":"20055:53:130","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":79039,"name":"ProposalDataIsEmpty","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77805,"src":"20076:19:130","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":79040,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20076:21:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":79041,"nodeType":"RevertStatement","src":"20069:28:130"}]}},{"assignments":[79045],"declarations":[{"constant":false,"id":79045,"mutability":"mutable","name":"proposalId","nameLocation":"20126:10:130","nodeType":"VariableDeclaration","scope":79179,"src":"20118:18:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79044,"name":"uint256","nodeType":"ElementaryTypeName","src":"20118:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":79053,"initialValue":{"arguments":[{"id":79048,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79029,"src":"20150:5:130","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":79050,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"20158:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":79049,"name":"uint256","nodeType":"ElementaryTypeName","src":"20158:7:130","typeDescriptions":{}}}],"id":79051,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"20157:9:130","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}],"expression":{"id":79046,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"20139:3:130","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":79047,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"20143:6:130","memberName":"decode","nodeType":"MemberAccess","src":"20139:10:130","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":79052,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20139:28:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"20118:49:130"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79056,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":79054,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79045,"src":"20182:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":79055,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20196:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"20182:15:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":79061,"nodeType":"IfStatement","src":"20178:77:130","trueBody":{"id":79060,"nodeType":"Block","src":"20199:56:130","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":79057,"name":"ProposalIdCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77807,"src":"20220:22:130","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":79058,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20220:24:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":79059,"nodeType":"RevertStatement","src":"20213:31:130"}]}},{"assignments":[79066],"declarations":[{"constant":false,"id":79066,"mutability":"mutable","name":"proposal","nameLocation":"20296:8:130","nodeType":"VariableDeclaration","scope":79179,"src":"20264:40:130","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":79065,"nodeType":"UserDefinedTypeName","pathNode":{"id":79064,"name":"StrategyStruct.Proposal","nameLocations":["20264:14:130","20279:8:130"],"nodeType":"IdentifierPath","referencedDeclaration":77721,"src":"20264:23:130"},"referencedDeclaration":77721,"src":"20264:23:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":79070,"initialValue":{"baseExpression":{"id":79067,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77969,"src":"20307:9:130","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$77721_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":79069,"indexExpression":{"id":79068,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79045,"src":"20317:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"20307:21:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"20264:64:130"},{"condition":{"commonType":{"typeIdentifier":"t_enum$_ProposalType_$77671","typeString":"enum StrategyStruct.ProposalType"},"id":79075,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":79071,"name":"proposalType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77952,"src":"20343:12:130","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$77671","typeString":"enum StrategyStruct.ProposalType"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":79072,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77752,"src":"20359:14:130","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$77752_$","typeString":"type(library StrategyStruct)"}},"id":79073,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20374:12:130","memberName":"ProposalType","nodeType":"MemberAccess","referencedDeclaration":77671,"src":"20359:27:130","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalType_$77671_$","typeString":"type(enum StrategyStruct.ProposalType)"}},"id":79074,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"20387:7:130","memberName":"Funding","nodeType":"MemberAccess","referencedDeclaration":77669,"src":"20359:35:130","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$77671","typeString":"enum StrategyStruct.ProposalType"}},"src":"20343:51:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":79178,"nodeType":"IfStatement","src":"20339:1208:130","trueBody":{"id":79177,"nodeType":"Block","src":"20396:1151:130","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79079,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":79076,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79066,"src":"20414:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79077,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"20423:10:130","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":77696,"src":"20414:19:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":79078,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79045,"src":"20437:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20414:33:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":79085,"nodeType":"IfStatement","src":"20410:108:130","trueBody":{"id":79084,"nodeType":"Block","src":"20449:69:130","statements":[{"errorCall":{"arguments":[{"id":79081,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79045,"src":"20492:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":79080,"name":"ProposalNotInList","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77815,"src":"20474:17:130","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":79082,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20474:29:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":79083,"nodeType":"RevertStatement","src":"20467:36:130"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79089,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":79086,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79066,"src":"20536:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79087,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"20545:15:130","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":77698,"src":"20536:24:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":79088,"name":"poolAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74092,"src":"20563:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20536:37:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":79098,"nodeType":"IfStatement","src":"20532:152:130","trueBody":{"id":79097,"nodeType":"Block","src":"20575:109:130","statements":[{"errorCall":{"arguments":[{"id":79091,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79045,"src":"20620:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":79092,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79066,"src":"20632:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79093,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"20641:15:130","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":77698,"src":"20632:24:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":79094,"name":"poolAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74092,"src":"20658:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":79090,"name":"PoolAmountNotEnough","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77833,"src":"20600:19:130","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256,uint256) pure"}},"id":79095,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20600:69:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":79096,"nodeType":"RevertStatement","src":"20593:76:130"}]}},{"condition":{"commonType":{"typeIdentifier":"t_enum$_ProposalStatus_$77694","typeString":"enum StrategyStruct.ProposalStatus"},"id":79104,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":79099,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79066,"src":"20702:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79100,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"20711:14:130","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":77713,"src":"20702:23:130","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$77694","typeString":"enum StrategyStruct.ProposalStatus"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"expression":{"id":79101,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77752,"src":"20729:14:130","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$77752_$","typeString":"type(library StrategyStruct)"}},"id":79102,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20744:14:130","memberName":"ProposalStatus","nodeType":"MemberAccess","referencedDeclaration":77694,"src":"20729:29:130","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$77694_$","typeString":"type(enum StrategyStruct.ProposalStatus)"}},"id":79103,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"20759:6:130","memberName":"Active","nodeType":"MemberAccess","referencedDeclaration":77690,"src":"20729:36:130","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$77694","typeString":"enum StrategyStruct.ProposalStatus"}},"src":"20702:63:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":79110,"nodeType":"IfStatement","src":"20698:138:130","trueBody":{"id":79109,"nodeType":"Block","src":"20767:69:130","statements":[{"errorCall":{"arguments":[{"id":79106,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79045,"src":"20810:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":79105,"name":"ProposalNotActive","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77811,"src":"20792:17:130","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":79107,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20792:29:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":79108,"nodeType":"RevertStatement","src":"20785:36:130"}]}},{"assignments":[79112],"declarations":[{"constant":false,"id":79112,"mutability":"mutable","name":"convictionLast","nameLocation":"20858:14:130","nodeType":"VariableDeclaration","scope":79177,"src":"20850:22:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79111,"name":"uint256","nodeType":"ElementaryTypeName","src":"20850:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":79116,"initialValue":{"arguments":[{"id":79114,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79045,"src":"20900:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":79113,"name":"updateProposalConviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80434,"src":"20875:24:130","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) returns (uint256)"}},"id":79115,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20875:36:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"20850:61:130"},{"assignments":[79118],"declarations":[{"constant":false,"id":79118,"mutability":"mutable","name":"threshold","nameLocation":"20933:9:130","nodeType":"VariableDeclaration","scope":79177,"src":"20925:17:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79117,"name":"uint256","nodeType":"ElementaryTypeName","src":"20925:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":79123,"initialValue":{"arguments":[{"expression":{"id":79120,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79066,"src":"20964:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79121,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"20973:15:130","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":77698,"src":"20964:24:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":79119,"name":"calculateThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80190,"src":"20945:18:130","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":79122,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20945:44:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"20925:64:130"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":79131,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79126,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":79124,"name":"convictionLast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79112,"src":"21008:14:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":79125,"name":"threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79118,"src":"21025:9:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"21008:26:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79130,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":79127,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79066,"src":"21038:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79128,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"21047:15:130","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":77698,"src":"21038:24:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":79129,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21065:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"21038:28:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"21008:58:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":79136,"nodeType":"IfStatement","src":"21004:137:130","trueBody":{"id":79135,"nodeType":"Block","src":"21068:73:130","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":79132,"name":"ConvictionUnderMinimumThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77823,"src":"21093:31:130","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":79133,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21093:33:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":79134,"nodeType":"RevertStatement","src":"21086:40:130"}]}},{"assignments":[79141],"declarations":[{"constant":false,"id":79141,"mutability":"mutable","name":"pool","nameLocation":"21173:4:130","nodeType":"VariableDeclaration","scope":79177,"src":"21155:22:130","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool"},"typeName":{"id":79140,"nodeType":"UserDefinedTypeName","pathNode":{"id":79139,"name":"IAllo.Pool","nameLocations":["21155:5:130","21161:4:130"],"nodeType":"IdentifierPath","referencedDeclaration":2319,"src":"21155:10:130"},"referencedDeclaration":2319,"src":"21155:10:130","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool"}},"visibility":"internal"}],"id":79146,"initialValue":{"arguments":[{"id":79144,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74090,"src":"21193:6:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":79142,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74084,"src":"21180:4:130","typeDescriptions":{"typeIdentifier":"t_contract$_IAllo_$2610","typeString":"contract IAllo"}},"id":79143,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21185:7:130","memberName":"getPool","nodeType":"MemberAccess","referencedDeclaration":2603,"src":"21180:12:130","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_struct$_Pool_$2319_memory_ptr_$","typeString":"function (uint256) view external returns (struct IAllo.Pool memory)"}},"id":79145,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21180:20:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"nodeType":"VariableDeclarationStatement","src":"21155:45:130"},{"expression":{"id":79150,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":79147,"name":"poolAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74092,"src":"21215:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"expression":{"id":79148,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79066,"src":"21229:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79149,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"21238:15:130","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":77698,"src":"21229:24:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"21215:38:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79151,"nodeType":"ExpressionStatement","src":"21215:38:130"},{"expression":{"arguments":[{"expression":{"id":79153,"name":"pool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79141,"src":"21291:4:130","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"id":79154,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"21296:5:130","memberName":"token","nodeType":"MemberAccess","referencedDeclaration":2311,"src":"21291:10:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":79155,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79066,"src":"21303:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79156,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"21312:11:130","memberName":"beneficiary","nodeType":"MemberAccess","referencedDeclaration":77704,"src":"21303:20:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":79157,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79066,"src":"21325:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79158,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"21334:15:130","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":77698,"src":"21325:24:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":79152,"name":"_transferAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3287,"src":"21275:15:130","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":79159,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21275:75:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":79160,"nodeType":"ExpressionStatement","src":"21275:75:130"},{"expression":{"id":79167,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":79161,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79066,"src":"21381:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79163,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"21390:14:130","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":77713,"src":"21381:23:130","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$77694","typeString":"enum StrategyStruct.ProposalStatus"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"expression":{"id":79164,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77752,"src":"21407:14:130","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$77752_$","typeString":"type(library StrategyStruct)"}},"id":79165,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21422:14:130","memberName":"ProposalStatus","nodeType":"MemberAccess","referencedDeclaration":77694,"src":"21407:29:130","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$77694_$","typeString":"type(enum StrategyStruct.ProposalStatus)"}},"id":79166,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"21437:8:130","memberName":"Executed","nodeType":"MemberAccess","referencedDeclaration":77693,"src":"21407:38:130","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$77694","typeString":"enum StrategyStruct.ProposalStatus"}},"src":"21381:64:130","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$77694","typeString":"enum StrategyStruct.ProposalStatus"}},"id":79168,"nodeType":"ExpressionStatement","src":"21381:64:130"},{"eventCall":{"arguments":[{"id":79170,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79045,"src":"21477:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":79171,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79066,"src":"21489:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79172,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"21498:11:130","memberName":"beneficiary","nodeType":"MemberAccess","referencedDeclaration":77704,"src":"21489:20:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":79173,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79066,"src":"21511:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79174,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"21520:15:130","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":77698,"src":"21511:24:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":79169,"name":"Distributed","nodeType":"Identifier","overloadedDeclarations":[77852,2858],"referencedDeclaration":77852,"src":"21465:11:130","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_address_$_t_uint256_$returns$__$","typeString":"function (uint256,address,uint256)"}},"id":79175,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21465:71:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":79176,"nodeType":"EmitStatement","src":"21460:76:130"}]}}]},"baseFunctions":[74577],"implemented":true,"kind":"function","modifiers":[],"name":"_distribute","nameLocation":"19866:11:130","overrides":{"id":79033,"nodeType":"OverrideSpecifier","overrides":[],"src":"19934:8:130"},"parameters":{"id":79032,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79027,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":79180,"src":"19878:16:130","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":79025,"name":"address","nodeType":"ElementaryTypeName","src":"19878:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":79026,"nodeType":"ArrayTypeName","src":"19878:9:130","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":79029,"mutability":"mutable","name":"_data","nameLocation":"19909:5:130","nodeType":"VariableDeclaration","scope":79180,"src":"19896:18:130","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":79028,"name":"bytes","nodeType":"ElementaryTypeName","src":"19896:5:130","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":79031,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":79180,"src":"19916:7:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":79030,"name":"address","nodeType":"ElementaryTypeName","src":"19916:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"19877:47:130"},"returnParameters":{"id":79034,"nodeType":"ParameterList","parameters":[],"src":"19943:0:130"},"scope":80578,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":79234,"nodeType":"FunctionDefinition","src":"21619:735:130","nodes":[],"body":{"id":79233,"nodeType":"Block","src":"21708:646:130","nodes":[],"statements":[{"assignments":[79191],"declarations":[{"constant":false,"id":79191,"mutability":"mutable","name":"proposal","nameLocation":"21750:8:130","nodeType":"VariableDeclaration","scope":79233,"src":"21718:40:130","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":79190,"nodeType":"UserDefinedTypeName","pathNode":{"id":79189,"name":"StrategyStruct.Proposal","nameLocations":["21718:14:130","21733:8:130"],"nodeType":"IdentifierPath","referencedDeclaration":77721,"src":"21718:23:130"},"referencedDeclaration":77721,"src":"21718:23:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":79195,"initialValue":{"baseExpression":{"id":79192,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77969,"src":"21761:9:130","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$77721_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":79194,"indexExpression":{"id":79193,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79182,"src":"21771:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"21761:21:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"21718:64:130"},{"assignments":[79197,79199],"declarations":[{"constant":false,"id":79197,"mutability":"mutable","name":"convictionLast","nameLocation":"21876:14:130","nodeType":"VariableDeclaration","scope":79233,"src":"21868:22:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79196,"name":"uint256","nodeType":"ElementaryTypeName","src":"21868:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":79199,"mutability":"mutable","name":"blockNumber","nameLocation":"21900:11:130","nodeType":"VariableDeclaration","scope":79233,"src":"21892:19:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79198,"name":"uint256","nodeType":"ElementaryTypeName","src":"21892:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":79205,"initialValue":{"arguments":[{"id":79201,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79191,"src":"21961:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},{"expression":{"id":79202,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79191,"src":"21971:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79203,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"21980:12:130","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":77700,"src":"21971:21:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":79200,"name":"_checkBlockAndCalculateConviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80386,"src":"21927:33:130","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Proposal_$77721_storage_ptr_$_t_uint256_$returns$_t_uint256_$_t_uint256_$","typeString":"function (struct StrategyStruct.Proposal storage pointer,uint256) view returns (uint256,uint256)"}},"id":79204,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21927:66:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_uint256_$","typeString":"tuple(uint256,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"21867:126:130"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":79212,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79208,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":79206,"name":"convictionLast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79197,"src":"22008:14:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":79207,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22026:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"22008:19:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79211,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":79209,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79199,"src":"22031:11:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":79210,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22046:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"22031:16:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"22008:39:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":79219,"nodeType":"IfStatement","src":"22004:110:130","trueBody":{"id":79218,"nodeType":"Block","src":"22049:65:130","statements":[{"expression":{"id":79216,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":79213,"name":"convictionLast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79197,"src":"22063:14:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":79214,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79191,"src":"22080:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79215,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"22089:14:130","memberName":"convictionLast","nodeType":"MemberAccess","referencedDeclaration":77702,"src":"22080:23:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"22063:40:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79217,"nodeType":"ExpressionStatement","src":"22063:40:130"}]}},{"assignments":[79221],"declarations":[{"constant":false,"id":79221,"mutability":"mutable","name":"threshold","nameLocation":"22131:9:130","nodeType":"VariableDeclaration","scope":79233,"src":"22123:17:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79220,"name":"uint256","nodeType":"ElementaryTypeName","src":"22123:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":79226,"initialValue":{"arguments":[{"expression":{"id":79223,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79191,"src":"22162:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79224,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"22171:15:130","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":77698,"src":"22162:24:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":79222,"name":"calculateThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80190,"src":"22143:18:130","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":79225,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22143:44:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"22123:64:130"},{"expression":{"id":79231,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":79227,"name":"canBeExecuted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79185,"src":"22304:13:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79230,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":79228,"name":"convictionLast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79197,"src":"22320:14:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":79229,"name":"threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79221,"src":"22338:9:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"22320:27:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"22304:43:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":79232,"nodeType":"ExpressionStatement","src":"22304:43:130"}]},"functionSelector":"824ea8ed","implemented":true,"kind":"function","modifiers":[],"name":"canExecuteProposal","nameLocation":"21628:18:130","parameters":{"id":79183,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79182,"mutability":"mutable","name":"proposalId","nameLocation":"21655:10:130","nodeType":"VariableDeclaration","scope":79234,"src":"21647:18:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79181,"name":"uint256","nodeType":"ElementaryTypeName","src":"21647:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"21646:20:130"},"returnParameters":{"id":79186,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79185,"mutability":"mutable","name":"canBeExecuted","nameLocation":"21693:13:130","nodeType":"VariableDeclaration","scope":79234,"src":"21688:18:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":79184,"name":"bool","nodeType":"ElementaryTypeName","src":"21688:4:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"21687:20:130"},"scope":80578,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":79256,"nodeType":"FunctionDefinition","src":"22644:220:130","nodes":[],"body":{"id":79255,"nodeType":"Block","src":"22735:129:130","nodes":[],"statements":[{"expression":{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":79248,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":79243,"name":"_recipientId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79236,"src":"22795:12:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":79246,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22819:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":79245,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"22811:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":79244,"name":"address","nodeType":"ElementaryTypeName","src":"22811:7:130","typeDescriptions":{}}},"id":79247,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22811:10:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"22795:26:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"expression":{"id":79251,"name":"Status","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2815,"src":"22842:6:130","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_Status_$2815_$","typeString":"type(enum IStrategy.Status)"}},"id":79252,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"22849:8:130","memberName":"Accepted","nodeType":"MemberAccess","referencedDeclaration":2810,"src":"22842:15:130","typeDescriptions":{"typeIdentifier":"t_enum$_Status_$2815","typeString":"enum IStrategy.Status"}},"id":79253,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"22795:62:130","trueExpression":{"expression":{"id":79249,"name":"Status","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2815,"src":"22824:6:130","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_Status_$2815_$","typeString":"type(enum IStrategy.Status)"}},"id":79250,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"22831:8:130","memberName":"Rejected","nodeType":"MemberAccess","referencedDeclaration":2811,"src":"22824:15:130","typeDescriptions":{"typeIdentifier":"t_enum$_Status_$2815","typeString":"enum IStrategy.Status"}},"typeDescriptions":{"typeIdentifier":"t_enum$_Status_$2815","typeString":"enum IStrategy.Status"}},"functionReturnParameters":79242,"id":79254,"nodeType":"Return","src":"22788:69:130"}]},"baseFunctions":[74597],"implemented":true,"kind":"function","modifiers":[],"name":"_getRecipientStatus","nameLocation":"22653:19:130","overrides":{"id":79238,"nodeType":"OverrideSpecifier","overrides":[],"src":"22709:8:130"},"parameters":{"id":79237,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79236,"mutability":"mutable","name":"_recipientId","nameLocation":"22681:12:130","nodeType":"VariableDeclaration","scope":79256,"src":"22673:20:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":79235,"name":"address","nodeType":"ElementaryTypeName","src":"22673:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"22672:22:130"},"returnParameters":{"id":79242,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79241,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":79256,"src":"22727:6:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_Status_$2815","typeString":"enum IStrategy.Status"},"typeName":{"id":79240,"nodeType":"UserDefinedTypeName","pathNode":{"id":79239,"name":"Status","nameLocations":["22727:6:130"],"nodeType":"IdentifierPath","referencedDeclaration":2815,"src":"22727:6:130"},"referencedDeclaration":2815,"src":"22727:6:130","typeDescriptions":{"typeIdentifier":"t_enum$_Status_$2815","typeString":"enum IStrategy.Status"}},"visibility":"internal"}],"src":"22726:8:130"},"scope":80578,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":79275,"nodeType":"FunctionDefinition","src":"22993:288:130","nodes":[],"body":{"id":79274,"nodeType":"Block","src":"23103:178:130","nodes":[],"statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":79271,"name":"NotImplemented","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77773,"src":"23163:14:130","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":79272,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23163:16:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":79273,"nodeType":"RevertStatement","src":"23156:23:130"}]},"baseFunctions":[74436],"documentation":{"id":79257,"nodeType":"StructuredDocumentation","src":"22870:118:130","text":"@return Input the values you would send to distribute(), get the amounts each recipient in the array would receive"},"functionSelector":"b2b878d0","implemented":true,"kind":"function","modifiers":[],"name":"getPayouts","nameLocation":"23002:10:130","overrides":{"id":79265,"nodeType":"OverrideSpecifier","overrides":[],"src":"23061:8:130"},"parameters":{"id":79264,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79260,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":79275,"src":"23013:16:130","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":79258,"name":"address","nodeType":"ElementaryTypeName","src":"23013:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":79259,"nodeType":"ArrayTypeName","src":"23013:9:130","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":79263,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":79275,"src":"23031:14:130","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":79261,"name":"bytes","nodeType":"ElementaryTypeName","src":"23031:5:130","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":79262,"nodeType":"ArrayTypeName","src":"23031:7:130","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"23012:34:130"},"returnParameters":{"id":79270,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79269,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":79275,"src":"23079:22:130","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_PayoutSummary_$2820_memory_ptr_$dyn_memory_ptr","typeString":"struct IStrategy.PayoutSummary[]"},"typeName":{"baseType":{"id":79267,"nodeType":"UserDefinedTypeName","pathNode":{"id":79266,"name":"PayoutSummary","nameLocations":["23079:13:130"],"nodeType":"IdentifierPath","referencedDeclaration":2820,"src":"23079:13:130"},"referencedDeclaration":2820,"src":"23079:13:130","typeDescriptions":{"typeIdentifier":"t_struct$_PayoutSummary_$2820_storage_ptr","typeString":"struct IStrategy.PayoutSummary"}},"id":79268,"nodeType":"ArrayTypeName","src":"23079:15:130","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_PayoutSummary_$2820_storage_$dyn_storage_ptr","typeString":"struct IStrategy.PayoutSummary[]"}},"visibility":"internal"}],"src":"23078:24:130"},"scope":80578,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":79294,"nodeType":"FunctionDefinition","src":"23287:264:130","nodes":[],"body":{"id":79293,"nodeType":"Block","src":"23439:112:130","nodes":[],"statements":[{"expression":{"id":79286,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79279,"src":"23492:5:130","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":79287,"nodeType":"ExpressionStatement","src":"23492:5:130"},{"expression":{"arguments":[{"id":79289,"name":"_recipientId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79277,"src":"23528:12:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":79290,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"23542:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":79288,"name":"PayoutSummary","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2820,"src":"23514:13:130","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_PayoutSummary_$2820_storage_ptr_$","typeString":"type(struct IStrategy.PayoutSummary storage pointer)"}},"id":79291,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23514:30:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_PayoutSummary_$2820_memory_ptr","typeString":"struct IStrategy.PayoutSummary memory"}},"functionReturnParameters":79285,"id":79292,"nodeType":"Return","src":"23507:37:130"}]},"baseFunctions":[74588],"implemented":true,"kind":"function","modifiers":[],"name":"_getPayout","nameLocation":"23296:10:130","overrides":{"id":79281,"nodeType":"OverrideSpecifier","overrides":[],"src":"23387:8:130"},"parameters":{"id":79280,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79277,"mutability":"mutable","name":"_recipientId","nameLocation":"23315:12:130","nodeType":"VariableDeclaration","scope":79294,"src":"23307:20:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":79276,"name":"address","nodeType":"ElementaryTypeName","src":"23307:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":79279,"mutability":"mutable","name":"_data","nameLocation":"23342:5:130","nodeType":"VariableDeclaration","scope":79294,"src":"23329:18:130","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":79278,"name":"bytes","nodeType":"ElementaryTypeName","src":"23329:5:130","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"23306:42:130"},"returnParameters":{"id":79285,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79284,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":79294,"src":"23413:20:130","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_PayoutSummary_$2820_memory_ptr","typeString":"struct IStrategy.PayoutSummary"},"typeName":{"id":79283,"nodeType":"UserDefinedTypeName","pathNode":{"id":79282,"name":"PayoutSummary","nameLocations":["23413:13:130"],"nodeType":"IdentifierPath","referencedDeclaration":2820,"src":"23413:13:130"},"referencedDeclaration":2820,"src":"23413:13:130","typeDescriptions":{"typeIdentifier":"t_struct$_PayoutSummary_$2820_storage_ptr","typeString":"struct IStrategy.PayoutSummary"}},"visibility":"internal"}],"src":"23412:22:130"},"scope":80578,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":79305,"nodeType":"FunctionDefinition","src":"23557:127:130","nodes":[],"body":{"id":79304,"nodeType":"Block","src":"23634:50:130","nodes":[],"statements":[{"eventCall":{"arguments":[{"id":79301,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79296,"src":"23669:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":79300,"name":"PoolAmountIncreased","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77862,"src":"23649:19:130","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":79302,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23649:28:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":79303,"nodeType":"EmitStatement","src":"23644:33:130"}]},"baseFunctions":[74611],"implemented":true,"kind":"function","modifiers":[],"name":"_afterIncreasePoolAmount","nameLocation":"23566:24:130","overrides":{"id":79298,"nodeType":"OverrideSpecifier","overrides":[],"src":"23625:8:130"},"parameters":{"id":79297,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79296,"mutability":"mutable","name":"_amount","nameLocation":"23599:7:130","nodeType":"VariableDeclaration","scope":79305,"src":"23591:15:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79295,"name":"uint256","nodeType":"ElementaryTypeName","src":"23591:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"23590:17:130"},"returnParameters":{"id":79299,"nodeType":"ParameterList","parameters":[],"src":"23634:0:130"},"scope":80578,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":79324,"nodeType":"FunctionDefinition","src":"23779:191:130","nodes":[],"body":{"id":79323,"nodeType":"Block","src":"23864:106:130","nodes":[],"statements":[{"expression":{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":79318,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":79313,"name":"_allocator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79307,"src":"23924:10:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":79316,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"23946:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":79315,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"23938:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":79314,"name":"address","nodeType":"ElementaryTypeName","src":"23938:7:130","typeDescriptions":{}}},"id":79317,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23938:10:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"23924:24:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"hexValue":"74727565","id":79320,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"23959:4:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"id":79321,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"23924:39:130","trueExpression":{"hexValue":"66616c7365","id":79319,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"23951:5:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":79312,"id":79322,"nodeType":"Return","src":"23917:46:130"}]},"baseFunctions":[74548],"implemented":true,"kind":"function","modifiers":[],"name":"_isValidAllocator","nameLocation":"23788:17:130","overrides":{"id":79309,"nodeType":"OverrideSpecifier","overrides":[],"src":"23840:8:130"},"parameters":{"id":79308,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79307,"mutability":"mutable","name":"_allocator","nameLocation":"23814:10:130","nodeType":"VariableDeclaration","scope":79324,"src":"23806:18:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":79306,"name":"address","nodeType":"ElementaryTypeName","src":"23806:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"23805:20:130"},"returnParameters":{"id":79312,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79311,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":79324,"src":"23858:4:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":79310,"name":"bool","nodeType":"ElementaryTypeName","src":"23858:4:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"23857:6:130"},"scope":80578,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":79334,"nodeType":"FunctionDefinition","src":"23976:86:130","nodes":[],"body":{"id":79333,"nodeType":"Block","src":"24022:40:130","nodes":[],"statements":[{"expression":{"arguments":[{"id":79330,"name":"_active","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79326,"src":"24047:7:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":79329,"name":"_setPoolActive","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74531,"src":"24032:14:130","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bool_$returns$__$","typeString":"function (bool)"}},"id":79331,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24032:23:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":79332,"nodeType":"ExpressionStatement","src":"24032:23:130"}]},"functionSelector":"b5f620ce","implemented":true,"kind":"function","modifiers":[],"name":"setPoolActive","nameLocation":"23985:13:130","parameters":{"id":79327,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79326,"mutability":"mutable","name":"_active","nameLocation":"24004:7:130","nodeType":"VariableDeclaration","scope":79334,"src":"23999:12:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":79325,"name":"bool","nodeType":"ElementaryTypeName","src":"23999:4:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"23998:14:130"},"returnParameters":{"id":79328,"nodeType":"ParameterList","parameters":[],"src":"24022:0:130"},"scope":80578,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":79422,"nodeType":"FunctionDefinition","src":"24068:836:130","nodes":[],"body":{"id":79421,"nodeType":"Block","src":"24112:792:130","nodes":[],"statements":[{"assignments":[79343],"declarations":[{"constant":false,"id":79343,"mutability":"mutable","name":"proposalsIds","nameLocation":"24187:12:130","nodeType":"VariableDeclaration","scope":79421,"src":"24170:29:130","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":79341,"name":"uint256","nodeType":"ElementaryTypeName","src":"24170:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79342,"nodeType":"ArrayTypeName","src":"24170:9:130","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"id":79347,"initialValue":{"baseExpression":{"id":79344,"name":"voterStakedProposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77978,"src":"24202:20:130","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$","typeString":"mapping(address => uint256[] storage ref)"}},"id":79346,"indexExpression":{"id":79345,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79336,"src":"24223:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"24202:29:130","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage","typeString":"uint256[] storage ref"}},"nodeType":"VariableDeclarationStatement","src":"24170:61:130"},{"body":{"id":79419,"nodeType":"Block","src":"24291:607:130","statements":[{"assignments":[79360],"declarations":[{"constant":false,"id":79360,"mutability":"mutable","name":"proposalId","nameLocation":"24313:10:130","nodeType":"VariableDeclaration","scope":79419,"src":"24305:18:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79359,"name":"uint256","nodeType":"ElementaryTypeName","src":"24305:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":79364,"initialValue":{"baseExpression":{"id":79361,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79343,"src":"24326:12:130","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":79363,"indexExpression":{"id":79362,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79349,"src":"24339:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"24326:15:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"24305:36:130"},{"assignments":[79369],"declarations":[{"constant":false,"id":79369,"mutability":"mutable","name":"proposal","nameLocation":"24387:8:130","nodeType":"VariableDeclaration","scope":79419,"src":"24355:40:130","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":79368,"nodeType":"UserDefinedTypeName","pathNode":{"id":79367,"name":"StrategyStruct.Proposal","nameLocations":["24355:14:130","24370:8:130"],"nodeType":"IdentifierPath","referencedDeclaration":77721,"src":"24355:23:130"},"referencedDeclaration":77721,"src":"24355:23:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":79373,"initialValue":{"baseExpression":{"id":79370,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77969,"src":"24398:9:130","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$77721_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":79372,"indexExpression":{"id":79371,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79360,"src":"24408:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"24398:21:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"24355:64:130"},{"condition":{"arguments":[{"id":79375,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79360,"src":"24452:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":79374,"name":"proposalExists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79610,"src":"24437:14:130","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view returns (bool)"}},"id":79376,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24437:26:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":79418,"nodeType":"IfStatement","src":"24433:455:130","trueBody":{"id":79417,"nodeType":"Block","src":"24465:423:130","statements":[{"assignments":[79378],"declarations":[{"constant":false,"id":79378,"mutability":"mutable","name":"stakedPoints","nameLocation":"24491:12:130","nodeType":"VariableDeclaration","scope":79417,"src":"24483:20:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79377,"name":"uint256","nodeType":"ElementaryTypeName","src":"24483:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":79383,"initialValue":{"baseExpression":{"expression":{"id":79379,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79369,"src":"24506:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79380,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24515:17:130","memberName":"voterStakedPoints","nodeType":"MemberAccess","referencedDeclaration":77717,"src":"24506:26:130","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":79382,"indexExpression":{"id":79381,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79336,"src":"24533:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"24506:35:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"24483:58:130"},{"expression":{"id":79390,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":79384,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79369,"src":"24559:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79387,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24568:17:130","memberName":"voterStakedPoints","nodeType":"MemberAccess","referencedDeclaration":77717,"src":"24559:26:130","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":79388,"indexExpression":{"id":79386,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79336,"src":"24586:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"24559:35:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"30","id":79389,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"24597:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"24559:39:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79391,"nodeType":"ExpressionStatement","src":"24559:39:130"},{"expression":{"id":79396,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":79392,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79369,"src":"24616:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79394,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"24625:12:130","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":77700,"src":"24616:21:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"id":79395,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79378,"src":"24641:12:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"24616:37:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79397,"nodeType":"ExpressionStatement","src":"24616:37:130"},{"expression":{"id":79400,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":79398,"name":"totalStaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77942,"src":"24671:11:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"id":79399,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79378,"src":"24686:12:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"24671:27:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79401,"nodeType":"ExpressionStatement","src":"24671:27:130"},{"expression":{"arguments":[{"id":79403,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79369,"src":"24743:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},{"id":79404,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79378,"src":"24753:12:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":79402,"name":"_calculateAndSetConviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80339,"src":"24716:26:130","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_Proposal_$77721_storage_ptr_$_t_uint256_$returns$__$","typeString":"function (struct StrategyStruct.Proposal storage pointer,uint256)"}},"id":79405,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24716:50:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":79406,"nodeType":"ExpressionStatement","src":"24716:50:130"},{"eventCall":{"arguments":[{"id":79408,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79336,"src":"24802:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":79409,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79360,"src":"24811:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":79410,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"24823:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"expression":{"id":79411,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79369,"src":"24826:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79412,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24835:12:130","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":77700,"src":"24826:21:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":79413,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79369,"src":"24849:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79414,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24858:14:130","memberName":"convictionLast","nodeType":"MemberAccess","referencedDeclaration":77702,"src":"24849:23:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":79407,"name":"SupportAdded","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77890,"src":"24789:12:130","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (address,uint256,uint256,uint256,uint256)"}},"id":79415,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24789:84:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":79416,"nodeType":"EmitStatement","src":"24784:89:130"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79355,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":79352,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79349,"src":"24261:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":79353,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79343,"src":"24265:12:130","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":79354,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24278:6:130","memberName":"length","nodeType":"MemberAccess","src":"24265:19:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"24261:23:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":79420,"initializationExpression":{"assignments":[79349],"declarations":[{"constant":false,"id":79349,"mutability":"mutable","name":"i","nameLocation":"24254:1:130","nodeType":"VariableDeclaration","scope":79420,"src":"24246:9:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79348,"name":"uint256","nodeType":"ElementaryTypeName","src":"24246:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":79351,"initialValue":{"hexValue":"30","id":79350,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"24258:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"24246:13:130"},"loopExpression":{"expression":{"id":79357,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"24286:3:130","subExpression":{"id":79356,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79349,"src":"24286:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79358,"nodeType":"ExpressionStatement","src":"24286:3:130"},"nodeType":"ForStatement","src":"24241:657:130"}]},"implemented":true,"kind":"function","modifiers":[],"name":"withdraw","nameLocation":"24077:8:130","parameters":{"id":79337,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79336,"mutability":"mutable","name":"_member","nameLocation":"24094:7:130","nodeType":"VariableDeclaration","scope":79422,"src":"24086:15:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":79335,"name":"address","nodeType":"ElementaryTypeName","src":"24086:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"24085:17:130"},"returnParameters":{"id":79338,"nodeType":"ParameterList","parameters":[],"src":"24112:0:130"},"scope":80578,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":79496,"nodeType":"FunctionDefinition","src":"25466:1038:130","nodes":[],"body":{"id":79495,"nodeType":"Block","src":"25935:569:130","nodes":[],"statements":[{"assignments":[79453],"declarations":[{"constant":false,"id":79453,"mutability":"mutable","name":"proposal","nameLocation":"25977:8:130","nodeType":"VariableDeclaration","scope":79495,"src":"25945:40:130","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":79452,"nodeType":"UserDefinedTypeName","pathNode":{"id":79451,"name":"StrategyStruct.Proposal","nameLocations":["25945:14:130","25960:8:130"],"nodeType":"IdentifierPath","referencedDeclaration":77721,"src":"25945:23:130"},"referencedDeclaration":77721,"src":"25945:23:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":79457,"initialValue":{"baseExpression":{"id":79454,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77969,"src":"25988:9:130","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$77721_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":79456,"indexExpression":{"id":79455,"name":"_proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79425,"src":"25998:11:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"25988:22:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"25945:65:130"},{"expression":{"id":79469,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":79458,"name":"threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79445,"src":"26021:9:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79462,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":79459,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79453,"src":"26033:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79460,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"26042:15:130","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":77698,"src":"26033:24:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":79461,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"26061:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"26033:29:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"arguments":[{"expression":{"id":79465,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79453,"src":"26088:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79466,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"26097:15:130","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":77698,"src":"26088:24:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":79464,"name":"calculateThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80190,"src":"26069:18:130","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":79467,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26069:44:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79468,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"26033:80:130","trueExpression":{"hexValue":"30","id":79463,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"26065:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"26021:92:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79470,"nodeType":"ExpressionStatement","src":"26021:92:130"},{"expression":{"components":[{"expression":{"id":79471,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79453,"src":"26144:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79472,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"26153:9:130","memberName":"submitter","nodeType":"MemberAccess","referencedDeclaration":77706,"src":"26144:18:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":79473,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79453,"src":"26176:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79474,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"26185:11:130","memberName":"beneficiary","nodeType":"MemberAccess","referencedDeclaration":77704,"src":"26176:20:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":79475,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79453,"src":"26210:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79476,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"26219:14:130","memberName":"requestedToken","nodeType":"MemberAccess","referencedDeclaration":77708,"src":"26210:23:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":79477,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79453,"src":"26247:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79478,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"26256:15:130","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":77698,"src":"26247:24:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":79479,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79453,"src":"26285:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79480,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"26294:12:130","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":77700,"src":"26285:21:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":79481,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79453,"src":"26320:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79482,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"26329:14:130","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":77713,"src":"26320:23:130","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$77694","typeString":"enum StrategyStruct.ProposalStatus"}},{"expression":{"id":79483,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79453,"src":"26357:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79484,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"26366:9:130","memberName":"blockLast","nodeType":"MemberAccess","referencedDeclaration":77710,"src":"26357:18:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":79485,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79453,"src":"26389:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79486,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"26398:14:130","memberName":"convictionLast","nodeType":"MemberAccess","referencedDeclaration":77702,"src":"26389:23:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":79487,"name":"threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79445,"src":"26426:9:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"baseExpression":{"expression":{"id":79488,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79453,"src":"26449:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79489,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"26458:17:130","memberName":"voterStakedPoints","nodeType":"MemberAccess","referencedDeclaration":77717,"src":"26449:26:130","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":79492,"indexExpression":{"expression":{"id":79490,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"26476:3:130","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":79491,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"26480:6:130","memberName":"sender","nodeType":"MemberAccess","src":"26476:10:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"26449:38:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":79493,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"26130:367:130","typeDescriptions":{"typeIdentifier":"t_tuple$_t_address_$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_enum$_ProposalStatus_$77694_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$","typeString":"tuple(address,address,address,uint256,uint256,enum StrategyStruct.ProposalStatus,uint256,uint256,uint256,uint256)"}},"functionReturnParameters":79448,"id":79494,"nodeType":"Return","src":"26123:374:130"}]},"documentation":{"id":79423,"nodeType":"StructuredDocumentation","src":"24910:551:130","text":" @dev Get proposal details\n @param _proposalId Proposal id\n @return submitter Proposal submitter\n @return beneficiary Proposal beneficiary\n @return requestedToken Proposal requested token\n @return requestedAmount Proposal requested amount\n @return stakedAmount Proposal staked points\n @return proposalStatus Proposal status\n @return blockLast Last block when conviction was calculated\n @return convictionLast Last conviction calculated\n @return threshold Proposal threshold"},"functionSelector":"c7f758a8","implemented":true,"kind":"function","modifiers":[],"name":"getProposal","nameLocation":"25475:11:130","parameters":{"id":79426,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79425,"mutability":"mutable","name":"_proposalId","nameLocation":"25495:11:130","nodeType":"VariableDeclaration","scope":79496,"src":"25487:19:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79424,"name":"uint256","nodeType":"ElementaryTypeName","src":"25487:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"25486:21:130"},"returnParameters":{"id":79448,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79428,"mutability":"mutable","name":"submitter","nameLocation":"25576:9:130","nodeType":"VariableDeclaration","scope":79496,"src":"25568:17:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":79427,"name":"address","nodeType":"ElementaryTypeName","src":"25568:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":79430,"mutability":"mutable","name":"beneficiary","nameLocation":"25607:11:130","nodeType":"VariableDeclaration","scope":79496,"src":"25599:19:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":79429,"name":"address","nodeType":"ElementaryTypeName","src":"25599:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":79432,"mutability":"mutable","name":"requestedToken","nameLocation":"25640:14:130","nodeType":"VariableDeclaration","scope":79496,"src":"25632:22:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":79431,"name":"address","nodeType":"ElementaryTypeName","src":"25632:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":79434,"mutability":"mutable","name":"requestedAmount","nameLocation":"25676:15:130","nodeType":"VariableDeclaration","scope":79496,"src":"25668:23:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79433,"name":"uint256","nodeType":"ElementaryTypeName","src":"25668:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":79436,"mutability":"mutable","name":"stakedAmount","nameLocation":"25713:12:130","nodeType":"VariableDeclaration","scope":79496,"src":"25705:20:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79435,"name":"uint256","nodeType":"ElementaryTypeName","src":"25705:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":79439,"mutability":"mutable","name":"proposalStatus","nameLocation":"25769:14:130","nodeType":"VariableDeclaration","scope":79496,"src":"25739:44:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$77694","typeString":"enum StrategyStruct.ProposalStatus"},"typeName":{"id":79438,"nodeType":"UserDefinedTypeName","pathNode":{"id":79437,"name":"StrategyStruct.ProposalStatus","nameLocations":["25739:14:130","25754:14:130"],"nodeType":"IdentifierPath","referencedDeclaration":77694,"src":"25739:29:130"},"referencedDeclaration":77694,"src":"25739:29:130","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$77694","typeString":"enum StrategyStruct.ProposalStatus"}},"visibility":"internal"},{"constant":false,"id":79441,"mutability":"mutable","name":"blockLast","nameLocation":"25805:9:130","nodeType":"VariableDeclaration","scope":79496,"src":"25797:17:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79440,"name":"uint256","nodeType":"ElementaryTypeName","src":"25797:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":79443,"mutability":"mutable","name":"convictionLast","nameLocation":"25836:14:130","nodeType":"VariableDeclaration","scope":79496,"src":"25828:22:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79442,"name":"uint256","nodeType":"ElementaryTypeName","src":"25828:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":79445,"mutability":"mutable","name":"threshold","nameLocation":"25872:9:130","nodeType":"VariableDeclaration","scope":79496,"src":"25864:17:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79444,"name":"uint256","nodeType":"ElementaryTypeName","src":"25864:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":79447,"mutability":"mutable","name":"voterStakedPoints","nameLocation":"25903:17:130","nodeType":"VariableDeclaration","scope":79496,"src":"25895:25:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79446,"name":"uint256","nodeType":"ElementaryTypeName","src":"25895:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"25554:376:130"},"scope":80578,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":79517,"nodeType":"FunctionDefinition","src":"26510:198:130","nodes":[],"body":{"id":79516,"nodeType":"Block","src":"26592:116:130","nodes":[],"statements":[{"assignments":[79508],"declarations":[{"constant":false,"id":79508,"mutability":"mutable","name":"proposal","nameLocation":"26634:8:130","nodeType":"VariableDeclaration","scope":79516,"src":"26602:40:130","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":79507,"nodeType":"UserDefinedTypeName","pathNode":{"id":79506,"name":"StrategyStruct.Proposal","nameLocations":["26602:14:130","26617:8:130"],"nodeType":"IdentifierPath","referencedDeclaration":77721,"src":"26602:23:130"},"referencedDeclaration":77721,"src":"26602:23:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":79512,"initialValue":{"baseExpression":{"id":79509,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77969,"src":"26645:9:130","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$77721_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":79511,"indexExpression":{"id":79510,"name":"_proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79498,"src":"26655:11:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"26645:22:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"26602:65:130"},{"expression":{"expression":{"id":79513,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79508,"src":"26684:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79514,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"26693:8:130","memberName":"metadata","nodeType":"MemberAccess","referencedDeclaration":77720,"src":"26684:17:130","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage","typeString":"struct Metadata storage ref"}},"functionReturnParameters":79503,"id":79515,"nodeType":"Return","src":"26677:24:130"}]},"functionSelector":"a574cea4","implemented":true,"kind":"function","modifiers":[],"name":"getMetadata","nameLocation":"26519:11:130","parameters":{"id":79499,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79498,"mutability":"mutable","name":"_proposalId","nameLocation":"26539:11:130","nodeType":"VariableDeclaration","scope":79517,"src":"26531:19:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79497,"name":"uint256","nodeType":"ElementaryTypeName","src":"26531:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"26530:21:130"},"returnParameters":{"id":79503,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79502,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":79517,"src":"26575:15:130","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata"},"typeName":{"id":79501,"nodeType":"UserDefinedTypeName","pathNode":{"id":79500,"name":"Metadata","nameLocations":["26575:8:130"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"26575:8:130"},"referencedDeclaration":3098,"src":"26575:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"}],"src":"26574:17:130"},"scope":80578,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":79533,"nodeType":"FunctionDefinition","src":"26909:176:130","nodes":[],"body":{"id":79532,"nodeType":"Block","src":"27009:76:130","nodes":[],"statements":[{"expression":{"arguments":[{"id":79528,"name":"_proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79520,"src":"27058:11:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":79529,"name":"_voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79522,"src":"27071:6:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"id":79527,"name":"_internal_getProposalVoterStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79575,"src":"27026:31:130","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_address_$returns$_t_uint256_$","typeString":"function (uint256,address) view returns (uint256)"}},"id":79530,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27026:52:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":79526,"id":79531,"nodeType":"Return","src":"27019:59:130"}]},"documentation":{"id":79518,"nodeType":"StructuredDocumentation","src":"26714:190:130","text":" @notice Get stake of voter `_voter` on proposal #`_proposalId`\n @param _proposalId Proposal id\n @param _voter Voter address\n @return Proposal voter stake"},"functionSelector":"e0dd2c38","implemented":true,"kind":"function","modifiers":[],"name":"getProposalVoterStake","nameLocation":"26918:21:130","parameters":{"id":79523,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79520,"mutability":"mutable","name":"_proposalId","nameLocation":"26948:11:130","nodeType":"VariableDeclaration","scope":79533,"src":"26940:19:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79519,"name":"uint256","nodeType":"ElementaryTypeName","src":"26940:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":79522,"mutability":"mutable","name":"_voter","nameLocation":"26969:6:130","nodeType":"VariableDeclaration","scope":79533,"src":"26961:14:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":79521,"name":"address","nodeType":"ElementaryTypeName","src":"26961:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"26939:37:130"},"returnParameters":{"id":79526,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79525,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":79533,"src":"27000:7:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79524,"name":"uint256","nodeType":"ElementaryTypeName","src":"27000:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"26999:9:130"},"scope":80578,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":79546,"nodeType":"FunctionDefinition","src":"27091:145:130","nodes":[],"body":{"id":79545,"nodeType":"Block","src":"27177:59:130","nodes":[],"statements":[{"expression":{"expression":{"baseExpression":{"id":79540,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77969,"src":"27194:9:130","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$77721_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":79542,"indexExpression":{"id":79541,"name":"_proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79535,"src":"27204:11:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"27194:22:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"id":79543,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"27217:12:130","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":77700,"src":"27194:35:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":79539,"id":79544,"nodeType":"Return","src":"27187:42:130"}]},"functionSelector":"dc96ff2d","implemented":true,"kind":"function","modifiers":[],"name":"getProposalStakedAmount","nameLocation":"27100:23:130","parameters":{"id":79536,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79535,"mutability":"mutable","name":"_proposalId","nameLocation":"27132:11:130","nodeType":"VariableDeclaration","scope":79546,"src":"27124:19:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79534,"name":"uint256","nodeType":"ElementaryTypeName","src":"27124:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"27123:21:130"},"returnParameters":{"id":79539,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79538,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":79546,"src":"27168:7:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79537,"name":"uint256","nodeType":"ElementaryTypeName","src":"27168:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"27167:9:130"},"scope":80578,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":79558,"nodeType":"FunctionDefinition","src":"27305:127:130","nodes":[],"body":{"id":79557,"nodeType":"Block","src":"27382:50:130","nodes":[],"statements":[{"expression":{"baseExpression":{"id":79553,"name":"totalVoterStakePct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77973,"src":"27399:18:130","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":79555,"indexExpression":{"id":79554,"name":"_voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79548,"src":"27418:6:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"27399:26:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":79552,"id":79556,"nodeType":"Return","src":"27392:33:130"}]},"functionSelector":"bcc5b93b","implemented":true,"kind":"function","modifiers":[],"name":"getTotalVoterStakePct","nameLocation":"27314:21:130","parameters":{"id":79549,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79548,"mutability":"mutable","name":"_voter","nameLocation":"27344:6:130","nodeType":"VariableDeclaration","scope":79558,"src":"27336:14:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":79547,"name":"address","nodeType":"ElementaryTypeName","src":"27336:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"27335:16:130"},"returnParameters":{"id":79552,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79551,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":79558,"src":"27373:7:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79550,"name":"uint256","nodeType":"ElementaryTypeName","src":"27373:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"27372:9:130"},"scope":80578,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":79575,"nodeType":"FunctionDefinition","src":"27438:182:130","nodes":[],"body":{"id":79574,"nodeType":"Block","src":"27548:72:130","nodes":[],"statements":[{"expression":{"baseExpression":{"expression":{"baseExpression":{"id":79567,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77969,"src":"27565:9:130","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$77721_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":79569,"indexExpression":{"id":79568,"name":"_proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79560,"src":"27575:11:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"27565:22:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"id":79570,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"27588:17:130","memberName":"voterStakedPoints","nodeType":"MemberAccess","referencedDeclaration":77717,"src":"27565:40:130","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":79572,"indexExpression":{"id":79571,"name":"_voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79562,"src":"27606:6:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"27565:48:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":79566,"id":79573,"nodeType":"Return","src":"27558:55:130"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_internal_getProposalVoterStake","nameLocation":"27447:31:130","parameters":{"id":79563,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79560,"mutability":"mutable","name":"_proposalId","nameLocation":"27487:11:130","nodeType":"VariableDeclaration","scope":79575,"src":"27479:19:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79559,"name":"uint256","nodeType":"ElementaryTypeName","src":"27479:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":79562,"mutability":"mutable","name":"_voter","nameLocation":"27508:6:130","nodeType":"VariableDeclaration","scope":79575,"src":"27500:14:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":79561,"name":"address","nodeType":"ElementaryTypeName","src":"27500:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"27478:37:130"},"returnParameters":{"id":79566,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79565,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":79575,"src":"27539:7:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79564,"name":"uint256","nodeType":"ElementaryTypeName","src":"27539:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"27538:9:130"},"scope":80578,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":79585,"nodeType":"FunctionDefinition","src":"27626:145:130","nodes":[],"body":{"id":79584,"nodeType":"Block","src":"27690:81:130","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":79580,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77961,"src":"27707:17:130","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"}},"id":79581,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"27725:20:130","memberName":"getBasisStakedAmount","nodeType":"MemberAccess","referencedDeclaration":84831,"src":"27707:38:130","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint256_$","typeString":"function () view external returns (uint256)"}},"id":79582,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27707:40:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":79579,"id":79583,"nodeType":"Return","src":"27700:47:130"}]},"implemented":true,"kind":"function","modifiers":[],"name":"getBasisStakedAmount","nameLocation":"27635:20:130","parameters":{"id":79576,"nodeType":"ParameterList","parameters":[],"src":"27655:2:130"},"returnParameters":{"id":79579,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79578,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":79585,"src":"27681:7:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79577,"name":"uint256","nodeType":"ElementaryTypeName","src":"27681:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"27680:9:130"},"scope":80578,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":79610,"nodeType":"FunctionDefinition","src":"27777:185:130","nodes":[],"body":{"id":79609,"nodeType":"Block","src":"27851:111:130","nodes":[],"statements":[{"expression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":79607,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79597,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":79592,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77969,"src":"27868:9:130","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$77721_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":79594,"indexExpression":{"id":79593,"name":"_proposalID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79587,"src":"27878:11:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"27868:22:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"id":79595,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"27891:10:130","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":77696,"src":"27868:33:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":79596,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"27904:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"27868:37:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":79606,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":79598,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77969,"src":"27909:9:130","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$77721_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":79600,"indexExpression":{"id":79599,"name":"_proposalID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79587,"src":"27919:11:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"27909:22:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"id":79601,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"27932:9:130","memberName":"submitter","nodeType":"MemberAccess","referencedDeclaration":77706,"src":"27909:32:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":79604,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"27953:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":79603,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"27945:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":79602,"name":"address","nodeType":"ElementaryTypeName","src":"27945:7:130","typeDescriptions":{}}},"id":79605,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27945:10:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"27909:46:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"27868:87:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":79591,"id":79608,"nodeType":"Return","src":"27861:94:130"}]},"implemented":true,"kind":"function","modifiers":[],"name":"proposalExists","nameLocation":"27786:14:130","parameters":{"id":79588,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79587,"mutability":"mutable","name":"_proposalID","nameLocation":"27809:11:130","nodeType":"VariableDeclaration","scope":79610,"src":"27801:19:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79586,"name":"uint256","nodeType":"ElementaryTypeName","src":"27801:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"27800:21:130"},"returnParameters":{"id":79591,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79590,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":79610,"src":"27845:4:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":79589,"name":"bool","nodeType":"ElementaryTypeName","src":"27845:4:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"27844:6:130"},"scope":80578,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":79628,"nodeType":"FunctionDefinition","src":"27968:174:130","nodes":[],"body":{"id":79627,"nodeType":"Block","src":"28063:79:130","nodes":[],"statements":[{"expression":{"id":79625,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":79617,"name":"isOverMaxRatio","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79615,"src":"28073:14:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79624,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79620,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":79618,"name":"maxRatio","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77935,"src":"28090:8:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":79619,"name":"poolAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74092,"src":"28101:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"28090:21:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79623,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":79621,"name":"_requestedAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79612,"src":"28115:16:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":79622,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77919,"src":"28134:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"28115:20:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"28090:45:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"28073:62:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":79626,"nodeType":"ExpressionStatement","src":"28073:62:130"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_isOverMaxRatio","nameLocation":"27977:15:130","parameters":{"id":79613,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79612,"mutability":"mutable","name":"_requestedAmount","nameLocation":"28001:16:130","nodeType":"VariableDeclaration","scope":79628,"src":"27993:24:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79611,"name":"uint256","nodeType":"ElementaryTypeName","src":"27993:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"27992:26:130"},"returnParameters":{"id":79616,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79615,"mutability":"mutable","name":"isOverMaxRatio","nameLocation":"28047:14:130","nodeType":"VariableDeclaration","scope":79628,"src":"28042:19:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":79614,"name":"bool","nodeType":"ElementaryTypeName","src":"28042:4:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"28041:21:130"},"scope":80578,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":79724,"nodeType":"FunctionDefinition","src":"28148:1548:130","nodes":[],"body":{"id":79723,"nodeType":"Block","src":"28278:1418:130","nodes":[],"statements":[{"assignments":[79638],"declarations":[{"constant":false,"id":79638,"mutability":"mutable","name":"deltaSupportSum","nameLocation":"28295:15:130","nodeType":"VariableDeclaration","scope":79723,"src":"28288:22:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":79637,"name":"int256","nodeType":"ElementaryTypeName","src":"28288:6:130","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"id":79640,"initialValue":{"hexValue":"30","id":79639,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"28313:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"28288:26:130"},{"body":{"id":79685,"nodeType":"Block","src":"28378:576:130","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79657,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":79652,"name":"_proposalSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79634,"src":"28451:16:130","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$77726_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}},"id":79654,"indexExpression":{"id":79653,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79642,"src":"28468:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"28451:19:130","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$77726_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory"}},"id":79655,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"28471:10:130","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":77723,"src":"28451:30:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":79656,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"28485:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"28451:35:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":79660,"nodeType":"IfStatement","src":"28447:187:130","trueBody":{"id":79659,"nodeType":"Block","src":"28488:146:130","statements":[{"id":79658,"nodeType":"Continue","src":"28611:8:130"}]}},{"assignments":[79662],"declarations":[{"constant":false,"id":79662,"mutability":"mutable","name":"proposalId","nameLocation":"28655:10:130","nodeType":"VariableDeclaration","scope":79685,"src":"28647:18:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79661,"name":"uint256","nodeType":"ElementaryTypeName","src":"28647:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":79667,"initialValue":{"expression":{"baseExpression":{"id":79663,"name":"_proposalSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79634,"src":"28668:16:130","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$77726_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}},"id":79665,"indexExpression":{"id":79664,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79642,"src":"28685:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"28668:19:130","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$77726_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory"}},"id":79666,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"28688:10:130","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":77723,"src":"28668:30:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"28647:51:130"},{"condition":{"id":79671,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"28716:27:130","subExpression":{"arguments":[{"id":79669,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79662,"src":"28732:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":79668,"name":"proposalExists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79610,"src":"28717:14:130","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view returns (bool)"}},"id":79670,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28717:26:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":79677,"nodeType":"IfStatement","src":"28712:167:130","trueBody":{"id":79676,"nodeType":"Block","src":"28745:134:130","statements":[{"errorCall":{"arguments":[{"id":79673,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79662,"src":"28788:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":79672,"name":"ProposalNotInList","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77815,"src":"28770:17:130","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":79674,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28770:29:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":79675,"nodeType":"RevertStatement","src":"28763:36:130"}]}},{"expression":{"id":79683,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":79678,"name":"deltaSupportSum","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79638,"src":"28892:15:130","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"expression":{"baseExpression":{"id":79679,"name":"_proposalSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79634,"src":"28911:16:130","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$77726_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}},"id":79681,"indexExpression":{"id":79680,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79642,"src":"28928:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"28911:19:130","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$77726_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory"}},"id":79682,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"28931:12:130","memberName":"deltaSupport","nodeType":"MemberAccess","referencedDeclaration":77725,"src":"28911:32:130","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"28892:51:130","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":79684,"nodeType":"ExpressionStatement","src":"28892:51:130"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79648,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":79645,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79642,"src":"28344:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":79646,"name":"_proposalSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79634,"src":"28348:16:130","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$77726_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}},"id":79647,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"28365:6:130","memberName":"length","nodeType":"MemberAccess","src":"28348:23:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"28344:27:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":79686,"initializationExpression":{"assignments":[79642],"declarations":[{"constant":false,"id":79642,"mutability":"mutable","name":"i","nameLocation":"28337:1:130","nodeType":"VariableDeclaration","scope":79686,"src":"28329:9:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79641,"name":"uint256","nodeType":"ElementaryTypeName","src":"28329:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":79644,"initialValue":{"hexValue":"30","id":79643,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"28341:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"28329:13:130"},"loopExpression":{"expression":{"id":79650,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"28373:3:130","subExpression":{"id":79649,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79642,"src":"28373:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79651,"nodeType":"ExpressionStatement","src":"28373:3:130"},"nodeType":"ForStatement","src":"28324:630:130"},{"assignments":[79688],"declarations":[{"constant":false,"id":79688,"mutability":"mutable","name":"newTotalVotingSupport","nameLocation":"29058:21:130","nodeType":"VariableDeclaration","scope":79723,"src":"29050:29:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79687,"name":"uint256","nodeType":"ElementaryTypeName","src":"29050:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":79695,"initialValue":{"arguments":[{"arguments":[{"id":79691,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79630,"src":"29116:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":79690,"name":"getTotalVoterStakePct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79558,"src":"29094:21:130","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view returns (uint256)"}},"id":79692,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29094:30:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":79693,"name":"deltaSupportSum","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79638,"src":"29126:15:130","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":79689,"name":"_applyDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80046,"src":"29082:11:130","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_int256_$returns$_t_uint256_$","typeString":"function (uint256,int256) pure returns (uint256)"}},"id":79694,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29082:60:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"29050:92:130"},{"assignments":[79697],"declarations":[{"constant":false,"id":79697,"mutability":"mutable","name":"participantBalance","nameLocation":"29232:18:130","nodeType":"VariableDeclaration","scope":79723,"src":"29224:26:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79696,"name":"uint256","nodeType":"ElementaryTypeName","src":"29224:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":79706,"initialValue":{"arguments":[{"id":79700,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79630,"src":"29296:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":79703,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"29313:4:130","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$80578","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$80578","typeString":"contract CVStrategyV0_0"}],"id":79702,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"29305:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":79701,"name":"address","nodeType":"ElementaryTypeName","src":"29305:7:130","typeDescriptions":{}}},"id":79704,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29305:13:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":79698,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77961,"src":"29253:17:130","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"}},"id":79699,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"29271:24:130","memberName":"getMemberPowerInStrategy","nodeType":"MemberAccess","referencedDeclaration":84375,"src":"29253:42:130","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view external returns (uint256)"}},"id":79705,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29253:66:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"29224:95:130"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79709,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":79707,"name":"newTotalVotingSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79688,"src":"29485:21:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":79708,"name":"participantBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79697,"src":"29509:18:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"29485:42:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":79716,"nodeType":"IfStatement","src":"29481:147:130","trueBody":{"id":79715,"nodeType":"Block","src":"29529:99:130","statements":[{"errorCall":{"arguments":[{"id":79711,"name":"newTotalVotingSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79688,"src":"29575:21:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":79712,"name":"participantBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79697,"src":"29598:18:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":79710,"name":"NotEnoughPointsToSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77803,"src":"29550:24:130","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":79713,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29550:67:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":79714,"nodeType":"RevertStatement","src":"29543:74:130"}]}},{"expression":{"id":79721,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":79717,"name":"totalVoterStakePct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77973,"src":"29638:18:130","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":79719,"indexExpression":{"id":79718,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79630,"src":"29657:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"29638:27:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":79720,"name":"newTotalVotingSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79688,"src":"29668:21:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"29638:51:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79722,"nodeType":"ExpressionStatement","src":"29638:51:130"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_check_before_addSupport","nameLocation":"28157:24:130","parameters":{"id":79635,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79630,"mutability":"mutable","name":"_sender","nameLocation":"28190:7:130","nodeType":"VariableDeclaration","scope":79724,"src":"28182:15:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":79629,"name":"address","nodeType":"ElementaryTypeName","src":"28182:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":79634,"mutability":"mutable","name":"_proposalSupport","nameLocation":"28239:16:130","nodeType":"VariableDeclaration","scope":79724,"src":"28199:56:130","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$77726_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport[]"},"typeName":{"baseType":{"id":79632,"nodeType":"UserDefinedTypeName","pathNode":{"id":79631,"name":"StrategyStruct.ProposalSupport","nameLocations":["28199:14:130","28214:15:130"],"nodeType":"IdentifierPath","referencedDeclaration":77726,"src":"28199:30:130"},"referencedDeclaration":77726,"src":"28199:30:130","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$77726_storage_ptr","typeString":"struct StrategyStruct.ProposalSupport"}},"id":79633,"nodeType":"ArrayTypeName","src":"28199:32:130","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$77726_storage_$dyn_storage_ptr","typeString":"struct StrategyStruct.ProposalSupport[]"}},"visibility":"internal"}],"src":"28181:75:130"},"returnParameters":{"id":79636,"nodeType":"ParameterList","parameters":[],"src":"28278:0:130"},"scope":80578,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":80011,"nodeType":"FunctionDefinition","src":"29702:3479:130","nodes":[],"body":{"id":80010,"nodeType":"Block","src":"29807:3374:130","nodes":[],"statements":[{"assignments":[79737],"declarations":[{"constant":false,"id":79737,"mutability":"mutable","name":"proposalsIds","nameLocation":"29834:12:130","nodeType":"VariableDeclaration","scope":80010,"src":"29817:29:130","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":79735,"name":"uint256","nodeType":"ElementaryTypeName","src":"29817:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79736,"nodeType":"ArrayTypeName","src":"29817:9:130","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"id":79738,"nodeType":"VariableDeclarationStatement","src":"29817:29:130"},{"body":{"id":80008,"nodeType":"Block","src":"29910:3265:130","statements":[{"assignments":[79751],"declarations":[{"constant":false,"id":79751,"mutability":"mutable","name":"proposalId","nameLocation":"29932:10:130","nodeType":"VariableDeclaration","scope":80008,"src":"29924:18:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79750,"name":"uint256","nodeType":"ElementaryTypeName","src":"29924:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":79756,"initialValue":{"expression":{"baseExpression":{"id":79752,"name":"_proposalSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79730,"src":"29945:16:130","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$77726_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}},"id":79754,"indexExpression":{"id":79753,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79740,"src":"29962:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"29945:19:130","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$77726_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory"}},"id":79755,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"29965:10:130","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":77723,"src":"29945:30:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"29924:51:130"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79760,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":79757,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79737,"src":"30048:12:130","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":79758,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30061:6:130","memberName":"length","nodeType":"MemberAccess","src":"30048:19:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":79759,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"30071:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"30048:24:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":79859,"nodeType":"Block","src":"30200:764:130","statements":[{"assignments":[79777],"declarations":[{"constant":false,"id":79777,"mutability":"mutable","name":"exist","nameLocation":"30223:5:130","nodeType":"VariableDeclaration","scope":79859,"src":"30218:10:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":79776,"name":"bool","nodeType":"ElementaryTypeName","src":"30218:4:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":79779,"initialValue":{"hexValue":"66616c7365","id":79778,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"30231:5:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"nodeType":"VariableDeclarationStatement","src":"30218:18:130"},{"body":{"id":79807,"nodeType":"Block","src":"30304:268:130","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79795,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"id":79791,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79737,"src":"30355:12:130","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":79793,"indexExpression":{"id":79792,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79781,"src":"30368:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"30355:15:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":79794,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79751,"src":"30374:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"30355:29:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":79806,"nodeType":"IfStatement","src":"30351:203:130","trueBody":{"id":79805,"nodeType":"Block","src":"30386:168:130","statements":[{"expression":{"id":79798,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":79796,"name":"exist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79777,"src":"30412:5:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":79797,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"30420:4:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"30412:12:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":79799,"nodeType":"ExpressionStatement","src":"30412:12:130"},{"errorCall":{"arguments":[{"id":79801,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79751,"src":"30483:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":79802,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79781,"src":"30495:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":79800,"name":"ProposalSupportDuplicated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77821,"src":"30457:25:130","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":79803,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30457:40:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":79804,"nodeType":"RevertStatement","src":"30450:47:130"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79787,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":79784,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79781,"src":"30274:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":79785,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79737,"src":"30278:12:130","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":79786,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30291:6:130","memberName":"length","nodeType":"MemberAccess","src":"30278:19:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"30274:23:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":79808,"initializationExpression":{"assignments":[79781],"declarations":[{"constant":false,"id":79781,"mutability":"mutable","name":"j","nameLocation":"30267:1:130","nodeType":"VariableDeclaration","scope":79808,"src":"30259:9:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79780,"name":"uint256","nodeType":"ElementaryTypeName","src":"30259:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":79783,"initialValue":{"hexValue":"30","id":79782,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"30271:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"30259:13:130"},"loopExpression":{"expression":{"id":79789,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"30299:3:130","subExpression":{"id":79788,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79781,"src":"30299:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79790,"nodeType":"ExpressionStatement","src":"30299:3:130"},"nodeType":"ForStatement","src":"30254:318:130"},{"condition":{"id":79810,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"30593:6:130","subExpression":{"id":79809,"name":"exist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79777,"src":"30594:5:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":79858,"nodeType":"IfStatement","src":"30589:361:130","trueBody":{"id":79857,"nodeType":"Block","src":"30601:349:130","statements":[{"assignments":[79815],"declarations":[{"constant":false,"id":79815,"mutability":"mutable","name":"temp","nameLocation":"30640:4:130","nodeType":"VariableDeclaration","scope":79857,"src":"30623:21:130","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":79813,"name":"uint256","nodeType":"ElementaryTypeName","src":"30623:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79814,"nodeType":"ArrayTypeName","src":"30623:9:130","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"id":79824,"initialValue":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79822,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":79819,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79737,"src":"30661:12:130","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":79820,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30674:6:130","memberName":"length","nodeType":"MemberAccess","src":"30661:19:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"31","id":79821,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"30683:1:130","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"30661:23:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":79818,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"30647:13:130","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (uint256[] memory)"},"typeName":{"baseType":{"id":79816,"name":"uint256","nodeType":"ElementaryTypeName","src":"30651:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79817,"nodeType":"ArrayTypeName","src":"30651:9:130","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}}},"id":79823,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30647:38:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"nodeType":"VariableDeclarationStatement","src":"30623:62:130"},{"body":{"id":79844,"nodeType":"Block","src":"30757:74:130","statements":[{"expression":{"id":79842,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":79836,"name":"temp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79815,"src":"30783:4:130","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":79838,"indexExpression":{"id":79837,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79826,"src":"30788:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"30783:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"baseExpression":{"id":79839,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79737,"src":"30793:12:130","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":79841,"indexExpression":{"id":79840,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79826,"src":"30806:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"30793:15:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"30783:25:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79843,"nodeType":"ExpressionStatement","src":"30783:25:130"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79832,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":79829,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79826,"src":"30727:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":79830,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79737,"src":"30731:12:130","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":79831,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30744:6:130","memberName":"length","nodeType":"MemberAccess","src":"30731:19:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"30727:23:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":79845,"initializationExpression":{"assignments":[79826],"declarations":[{"constant":false,"id":79826,"mutability":"mutable","name":"j","nameLocation":"30720:1:130","nodeType":"VariableDeclaration","scope":79845,"src":"30712:9:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79825,"name":"uint256","nodeType":"ElementaryTypeName","src":"30712:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":79828,"initialValue":{"hexValue":"30","id":79827,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"30724:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"30712:13:130"},"loopExpression":{"expression":{"id":79834,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"30752:3:130","subExpression":{"id":79833,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79826,"src":"30752:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79835,"nodeType":"ExpressionStatement","src":"30752:3:130"},"nodeType":"ForStatement","src":"30707:124:130"},{"expression":{"id":79851,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":79846,"name":"temp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79815,"src":"30852:4:130","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":79849,"indexExpression":{"expression":{"id":79847,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79737,"src":"30857:12:130","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":79848,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30870:6:130","memberName":"length","nodeType":"MemberAccess","src":"30857:19:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"30852:25:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":79850,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79751,"src":"30880:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"30852:38:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79852,"nodeType":"ExpressionStatement","src":"30852:38:130"},{"expression":{"id":79855,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":79853,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79737,"src":"30912:12:130","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":79854,"name":"temp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79815,"src":"30927:4:130","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"src":"30912:19:130","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":79856,"nodeType":"ExpressionStatement","src":"30912:19:130"}]}}]},"id":79860,"nodeType":"IfStatement","src":"30044:920:130","trueBody":{"id":79775,"nodeType":"Block","src":"30074:120:130","statements":[{"expression":{"id":79767,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":79761,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79737,"src":"30092:12:130","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"31","id":79765,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"30121:1:130","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":79764,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"30107:13:130","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (uint256[] memory)"},"typeName":{"baseType":{"id":79762,"name":"uint256","nodeType":"ElementaryTypeName","src":"30111:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79763,"nodeType":"ArrayTypeName","src":"30111:9:130","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}}},"id":79766,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30107:16:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"src":"30092:31:130","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":79768,"nodeType":"ExpressionStatement","src":"30092:31:130"},{"expression":{"id":79773,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":79769,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79737,"src":"30141:12:130","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":79771,"indexExpression":{"hexValue":"30","id":79770,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"30154:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"30141:15:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":79772,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79751,"src":"30159:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"30141:28:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79774,"nodeType":"ExpressionStatement","src":"30141:28:130"}]}},{"assignments":[79862],"declarations":[{"constant":false,"id":79862,"mutability":"mutable","name":"delta","nameLocation":"30984:5:130","nodeType":"VariableDeclaration","scope":80008,"src":"30977:12:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":79861,"name":"int256","nodeType":"ElementaryTypeName","src":"30977:6:130","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"id":79867,"initialValue":{"expression":{"baseExpression":{"id":79863,"name":"_proposalSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79730,"src":"30992:16:130","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$77726_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}},"id":79865,"indexExpression":{"id":79864,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79740,"src":"31009:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"30992:19:130","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$77726_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory"}},"id":79866,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"31012:12:130","memberName":"deltaSupport","nodeType":"MemberAccess","referencedDeclaration":77725,"src":"30992:32:130","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"VariableDeclarationStatement","src":"30977:47:130"},{"assignments":[79872],"declarations":[{"constant":false,"id":79872,"mutability":"mutable","name":"proposal","nameLocation":"31071:8:130","nodeType":"VariableDeclaration","scope":80008,"src":"31039:40:130","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":79871,"nodeType":"UserDefinedTypeName","pathNode":{"id":79870,"name":"StrategyStruct.Proposal","nameLocations":["31039:14:130","31054:8:130"],"nodeType":"IdentifierPath","referencedDeclaration":77721,"src":"31039:23:130"},"referencedDeclaration":77721,"src":"31039:23:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":79876,"initialValue":{"baseExpression":{"id":79873,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77969,"src":"31082:9:130","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$77721_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":79875,"indexExpression":{"id":79874,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79751,"src":"31092:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"31082:21:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"31039:64:130"},{"assignments":[79878],"declarations":[{"constant":false,"id":79878,"mutability":"mutable","name":"previousStakedPoints","nameLocation":"31213:20:130","nodeType":"VariableDeclaration","scope":80008,"src":"31205:28:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79877,"name":"uint256","nodeType":"ElementaryTypeName","src":"31205:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":79883,"initialValue":{"baseExpression":{"expression":{"id":79879,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79872,"src":"31236:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79880,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"31245:17:130","memberName":"voterStakedPoints","nodeType":"MemberAccess","referencedDeclaration":77717,"src":"31236:26:130","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":79882,"indexExpression":{"id":79881,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79726,"src":"31263:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"31236:35:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"31205:66:130"},{"assignments":[79885],"declarations":[{"constant":false,"id":79885,"mutability":"mutable","name":"stakedPoints","nameLocation":"31444:12:130","nodeType":"VariableDeclaration","scope":80008,"src":"31436:20:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79884,"name":"uint256","nodeType":"ElementaryTypeName","src":"31436:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":79890,"initialValue":{"arguments":[{"id":79887,"name":"previousStakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79878,"src":"31471:20:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":79888,"name":"delta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79862,"src":"31493:5:130","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":79886,"name":"_applyDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80046,"src":"31459:11:130","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_int256_$returns$_t_uint256_$","typeString":"function (uint256,int256) pure returns (uint256)"}},"id":79889,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31459:40:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"31436:63:130"},{"expression":{"id":79897,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":79891,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79872,"src":"31634:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79894,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"31643:17:130","memberName":"voterStakedPoints","nodeType":"MemberAccess","referencedDeclaration":77717,"src":"31634:26:130","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":79895,"indexExpression":{"id":79893,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79726,"src":"31661:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"31634:35:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":79896,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79885,"src":"31672:12:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"31634:50:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79898,"nodeType":"ExpressionStatement","src":"31634:50:130"},{"assignments":[79900],"declarations":[{"constant":false,"id":79900,"mutability":"mutable","name":"hasProposal","nameLocation":"31923:11:130","nodeType":"VariableDeclaration","scope":80008,"src":"31918:16:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":79899,"name":"bool","nodeType":"ElementaryTypeName","src":"31918:4:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":79902,"initialValue":{"hexValue":"66616c7365","id":79901,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"31937:5:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"nodeType":"VariableDeclarationStatement","src":"31918:24:130"},{"body":{"id":79931,"nodeType":"Block","src":"32023:179:130","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79923,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"baseExpression":{"id":79916,"name":"voterStakedProposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77978,"src":"32045:20:130","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$","typeString":"mapping(address => uint256[] storage ref)"}},"id":79918,"indexExpression":{"id":79917,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79726,"src":"32066:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"32045:29:130","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage","typeString":"uint256[] storage ref"}},"id":79920,"indexExpression":{"id":79919,"name":"k","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79904,"src":"32075:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"32045:32:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":79921,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79872,"src":"32081:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79922,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"32090:10:130","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":77696,"src":"32081:19:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"32045:55:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":79930,"nodeType":"IfStatement","src":"32041:147:130","trueBody":{"id":79929,"nodeType":"Block","src":"32102:86:130","statements":[{"expression":{"id":79926,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":79924,"name":"hasProposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79900,"src":"32124:11:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":79925,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"32138:4:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"32124:18:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":79927,"nodeType":"ExpressionStatement","src":"32124:18:130"},{"id":79928,"nodeType":"Break","src":"32164:5:130"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79912,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":79907,"name":"k","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79904,"src":"31976:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"baseExpression":{"id":79908,"name":"voterStakedProposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77978,"src":"31980:20:130","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$","typeString":"mapping(address => uint256[] storage ref)"}},"id":79910,"indexExpression":{"id":79909,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79726,"src":"32001:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"31980:29:130","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage","typeString":"uint256[] storage ref"}},"id":79911,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"32010:6:130","memberName":"length","nodeType":"MemberAccess","src":"31980:36:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"31976:40:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":79932,"initializationExpression":{"assignments":[79904],"declarations":[{"constant":false,"id":79904,"mutability":"mutable","name":"k","nameLocation":"31969:1:130","nodeType":"VariableDeclaration","scope":79932,"src":"31961:9:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79903,"name":"uint256","nodeType":"ElementaryTypeName","src":"31961:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":79906,"initialValue":{"hexValue":"30","id":79905,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"31973:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"31961:13:130"},"loopExpression":{"expression":{"id":79914,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"32018:3:130","subExpression":{"id":79913,"name":"k","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79904,"src":"32018:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79915,"nodeType":"ExpressionStatement","src":"32018:3:130"},"nodeType":"ForStatement","src":"31956:246:130"},{"condition":{"id":79934,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"32219:12:130","subExpression":{"id":79933,"name":"hasProposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79900,"src":"32220:11:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":79944,"nodeType":"IfStatement","src":"32215:106:130","trueBody":{"id":79943,"nodeType":"Block","src":"32233:88:130","statements":[{"expression":{"arguments":[{"expression":{"id":79939,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79872,"src":"32286:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79940,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"32295:10:130","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":77696,"src":"32286:19:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"baseExpression":{"id":79935,"name":"voterStakedProposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77978,"src":"32251:20:130","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$","typeString":"mapping(address => uint256[] storage ref)"}},"id":79937,"indexExpression":{"id":79936,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79726,"src":"32272:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"32251:29:130","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage","typeString":"uint256[] storage ref"}},"id":79938,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"32281:4:130","memberName":"push","nodeType":"MemberAccess","src":"32251:34:130","typeDescriptions":{"typeIdentifier":"t_function_arraypush_nonpayable$_t_array$_t_uint256_$dyn_storage_ptr_$_t_uint256_$returns$__$attached_to$_t_array$_t_uint256_$dyn_storage_ptr_$","typeString":"function (uint256[] storage pointer,uint256)"}},"id":79941,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32251:55:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":79942,"nodeType":"ExpressionStatement","src":"32251:55:130"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79947,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":79945,"name":"previousStakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79878,"src":"32476:20:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"id":79946,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79885,"src":"32500:12:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"32476:36:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":79977,"nodeType":"Block","src":"32681:161:130","statements":[{"expression":{"id":79967,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":79963,"name":"totalStaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77942,"src":"32699:11:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79966,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":79964,"name":"previousStakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79878,"src":"32714:20:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":79965,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79885,"src":"32737:12:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"32714:35:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"32699:50:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79968,"nodeType":"ExpressionStatement","src":"32699:50:130"},{"expression":{"id":79975,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":79969,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79872,"src":"32767:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79971,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"32776:12:130","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":77700,"src":"32767:21:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79974,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":79972,"name":"previousStakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79878,"src":"32792:20:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":79973,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79885,"src":"32815:12:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"32792:35:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"32767:60:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79976,"nodeType":"ExpressionStatement","src":"32767:60:130"}]},"id":79978,"nodeType":"IfStatement","src":"32472:370:130","trueBody":{"id":79962,"nodeType":"Block","src":"32514:161:130","statements":[{"expression":{"id":79952,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":79948,"name":"totalStaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77942,"src":"32532:11:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79951,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":79949,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79885,"src":"32547:12:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":79950,"name":"previousStakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79878,"src":"32562:20:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"32547:35:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"32532:50:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79953,"nodeType":"ExpressionStatement","src":"32532:50:130"},{"expression":{"id":79960,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":79954,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79872,"src":"32600:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79956,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"32609:12:130","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":77700,"src":"32600:21:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79959,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":79957,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79885,"src":"32625:12:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":79958,"name":"previousStakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79878,"src":"32640:20:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"32625:35:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"32600:60:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79961,"nodeType":"ExpressionStatement","src":"32600:60:130"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79982,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":79979,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79872,"src":"32859:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79980,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"32868:9:130","memberName":"blockLast","nodeType":"MemberAccess","referencedDeclaration":77710,"src":"32859:18:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":79981,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"32881:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"32859:23:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":80006,"nodeType":"Block","src":"32956:209:130","statements":[{"expression":{"arguments":[{"id":79992,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79872,"src":"33001:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},{"id":79993,"name":"previousStakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79878,"src":"33011:20:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":79991,"name":"_calculateAndSetConviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80339,"src":"32974:26:130","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_Proposal_$77721_storage_ptr_$_t_uint256_$returns$__$","typeString":"function (struct StrategyStruct.Proposal storage pointer,uint256)"}},"id":79994,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32974:58:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":79995,"nodeType":"ExpressionStatement","src":"32974:58:130"},{"eventCall":{"arguments":[{"id":79997,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79726,"src":"33068:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":79998,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79751,"src":"33077:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":79999,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79885,"src":"33089:12:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":80000,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79872,"src":"33103:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":80001,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"33112:12:130","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":77700,"src":"33103:21:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":80002,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79872,"src":"33126:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":80003,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"33135:14:130","memberName":"convictionLast","nodeType":"MemberAccess","referencedDeclaration":77702,"src":"33126:23:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":79996,"name":"SupportAdded","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77890,"src":"33055:12:130","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (address,uint256,uint256,uint256,uint256)"}},"id":80004,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33055:95:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":80005,"nodeType":"EmitStatement","src":"33050:100:130"}]},"id":80007,"nodeType":"IfStatement","src":"32855:310:130","trueBody":{"id":79990,"nodeType":"Block","src":"32884:66:130","statements":[{"expression":{"id":79988,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":79983,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79872,"src":"32902:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79985,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"32911:9:130","memberName":"blockLast","nodeType":"MemberAccess","referencedDeclaration":77710,"src":"32902:18:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":79986,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"32923:5:130","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":79987,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"32929:6:130","memberName":"number","nodeType":"MemberAccess","src":"32923:12:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"32902:33:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79989,"nodeType":"ExpressionStatement","src":"32902:33:130"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79746,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":79743,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79740,"src":"29876:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":79744,"name":"_proposalSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79730,"src":"29880:16:130","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$77726_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}},"id":79745,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"29897:6:130","memberName":"length","nodeType":"MemberAccess","src":"29880:23:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"29876:27:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":80009,"initializationExpression":{"assignments":[79740],"declarations":[{"constant":false,"id":79740,"mutability":"mutable","name":"i","nameLocation":"29869:1:130","nodeType":"VariableDeclaration","scope":80009,"src":"29861:9:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79739,"name":"uint256","nodeType":"ElementaryTypeName","src":"29861:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":79742,"initialValue":{"hexValue":"30","id":79741,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29873:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"29861:13:130"},"loopExpression":{"expression":{"id":79748,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"29905:3:130","subExpression":{"id":79747,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79740,"src":"29905:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79749,"nodeType":"ExpressionStatement","src":"29905:3:130"},"nodeType":"ForStatement","src":"29856:3319:130"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_addSupport","nameLocation":"29711:11:130","parameters":{"id":79731,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79726,"mutability":"mutable","name":"_sender","nameLocation":"29731:7:130","nodeType":"VariableDeclaration","scope":80011,"src":"29723:15:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":79725,"name":"address","nodeType":"ElementaryTypeName","src":"29723:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":79730,"mutability":"mutable","name":"_proposalSupport","nameLocation":"29780:16:130","nodeType":"VariableDeclaration","scope":80011,"src":"29740:56:130","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$77726_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport[]"},"typeName":{"baseType":{"id":79728,"nodeType":"UserDefinedTypeName","pathNode":{"id":79727,"name":"StrategyStruct.ProposalSupport","nameLocations":["29740:14:130","29755:15:130"],"nodeType":"IdentifierPath","referencedDeclaration":77726,"src":"29740:30:130"},"referencedDeclaration":77726,"src":"29740:30:130","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$77726_storage_ptr","typeString":"struct StrategyStruct.ProposalSupport"}},"id":79729,"nodeType":"ArrayTypeName","src":"29740:32:130","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$77726_storage_$dyn_storage_ptr","typeString":"struct StrategyStruct.ProposalSupport[]"}},"visibility":"internal"}],"src":"29722:75:130"},"returnParameters":{"id":79732,"nodeType":"ParameterList","parameters":[],"src":"29807:0:130"},"scope":80578,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":80046,"nodeType":"FunctionDefinition","src":"33187:276:130","nodes":[],"body":{"id":80045,"nodeType":"Block","src":"33273:190:130","nodes":[],"statements":[{"assignments":[80021],"declarations":[{"constant":false,"id":80021,"mutability":"mutable","name":"result","nameLocation":"33290:6:130","nodeType":"VariableDeclaration","scope":80045,"src":"33283:13:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":80020,"name":"int256","nodeType":"ElementaryTypeName","src":"33283:6:130","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"id":80028,"initialValue":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":80027,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":80024,"name":"_support","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80013,"src":"33306:8:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":80023,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"33299:6:130","typeDescriptions":{"typeIdentifier":"t_type$_t_int256_$","typeString":"type(int256)"},"typeName":{"id":80022,"name":"int256","nodeType":"ElementaryTypeName","src":"33299:6:130","typeDescriptions":{}}},"id":80025,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33299:16:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":80026,"name":"_delta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80015,"src":"33318:6:130","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"33299:25:130","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"VariableDeclarationStatement","src":"33283:41:130"},{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":80031,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":80029,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80021,"src":"33339:6:130","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"hexValue":"30","id":80030,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"33348:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"33339:10:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":80039,"nodeType":"IfStatement","src":"33335:90:130","trueBody":{"id":80038,"nodeType":"Block","src":"33351:74:130","statements":[{"errorCall":{"arguments":[{"id":80033,"name":"_support","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80013,"src":"33389:8:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":80034,"name":"_delta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80015,"src":"33399:6:130","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":80035,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80021,"src":"33407:6:130","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":80032,"name":"SupportUnderflow","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77793,"src":"33372:16:130","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_int256_$_t_int256_$returns$__$","typeString":"function (uint256,int256,int256) pure"}},"id":80036,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33372:42:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":80037,"nodeType":"RevertStatement","src":"33365:49:130"}]}},{"expression":{"arguments":[{"id":80042,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80021,"src":"33449:6:130","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":80041,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"33441:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":80040,"name":"uint256","nodeType":"ElementaryTypeName","src":"33441:7:130","typeDescriptions":{}}},"id":80043,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33441:15:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":80019,"id":80044,"nodeType":"Return","src":"33434:22:130"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_applyDelta","nameLocation":"33196:11:130","parameters":{"id":80016,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80013,"mutability":"mutable","name":"_support","nameLocation":"33216:8:130","nodeType":"VariableDeclaration","scope":80046,"src":"33208:16:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80012,"name":"uint256","nodeType":"ElementaryTypeName","src":"33208:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":80015,"mutability":"mutable","name":"_delta","nameLocation":"33233:6:130","nodeType":"VariableDeclaration","scope":80046,"src":"33226:13:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":80014,"name":"int256","nodeType":"ElementaryTypeName","src":"33226:6:130","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"33207:33:130"},"returnParameters":{"id":80019,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80018,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":80046,"src":"33264:7:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80017,"name":"uint256","nodeType":"ElementaryTypeName","src":"33264:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"33263:9:130"},"scope":80578,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":80102,"nodeType":"FunctionDefinition","src":"33880:1145:130","nodes":[],"body":{"id":80101,"nodeType":"Block","src":"34027:998:130","nodes":[],"statements":[{"assignments":[80059],"declarations":[{"constant":false,"id":80059,"mutability":"mutable","name":"t","nameLocation":"34045:1:130","nodeType":"VariableDeclaration","scope":80101,"src":"34037:9:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80058,"name":"uint256","nodeType":"ElementaryTypeName","src":"34037:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":80061,"initialValue":{"id":80060,"name":"_timePassed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80049,"src":"34049:11:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"34037:23:130"},{"assignments":[80063],"declarations":[{"constant":false,"id":80063,"mutability":"mutable","name":"atTWO_128","nameLocation":"34383:9:130","nodeType":"VariableDeclaration","scope":80101,"src":"34375:17:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80062,"name":"uint256","nodeType":"ElementaryTypeName","src":"34375:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":80073,"initialValue":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80070,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80067,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":80065,"name":"decay","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77933,"src":"34401:5:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"313238","id":80066,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"34410:3:130","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"34401:12:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":80068,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"34400:14:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":80069,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77919,"src":"34417:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"34400:18:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":80071,"name":"t","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80059,"src":"34420:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":80064,"name":"_pow","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80290,"src":"34395:4:130","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":80072,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34395:27:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"34375:47:130"},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80099,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80096,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80093,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80076,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":80074,"name":"atTWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80063,"src":"34918:9:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":80075,"name":"_lastConv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80051,"src":"34930:9:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"34918:21:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":80077,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"34917:23:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80091,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80085,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80080,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":80078,"name":"_oldAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80053,"src":"34945:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":80079,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77919,"src":"34958:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"34945:14:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80083,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":80081,"name":"TWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77922,"src":"34963:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":80082,"name":"atTWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80063,"src":"34973:9:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"34963:19:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":80084,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"34962:21:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"34945:38:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":80086,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"34944:40:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80089,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":80087,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77919,"src":"34988:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":80088,"name":"decay","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77933,"src":"34992:5:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"34988:9:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":80090,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"34987:11:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"34944:54:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":80092,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"34943:56:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"34917:82:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":80094,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"34916:84:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":80095,"name":"TWO_127","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77925,"src":"35003:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"34916:94:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":80097,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"34915:96:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"313238","id":80098,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"35015:3:130","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"34915:103:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":80057,"id":80100,"nodeType":"Return","src":"34908:110:130"}]},"documentation":{"id":80047,"nodeType":"StructuredDocumentation","src":"33469:406:130","text":" @dev Conviction formula: a^t * y(0) + x * (1 - a^t) / (1 - a)\n Solidity implementation: y = (2^128 * a^t * y0 + x * D * (2^128 - 2^128 * a^t) / (D - aD) + 2^127) / 2^128\n @param _timePassed Number of blocks since last conviction record\n @param _lastConv Last conviction record\n @param _oldAmount Amount of tokens staked until now\n @return Current conviction"},"functionSelector":"346db8cb","implemented":true,"kind":"function","modifiers":[],"name":"calculateConviction","nameLocation":"33889:19:130","parameters":{"id":80054,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80049,"mutability":"mutable","name":"_timePassed","nameLocation":"33917:11:130","nodeType":"VariableDeclaration","scope":80102,"src":"33909:19:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80048,"name":"uint256","nodeType":"ElementaryTypeName","src":"33909:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":80051,"mutability":"mutable","name":"_lastConv","nameLocation":"33938:9:130","nodeType":"VariableDeclaration","scope":80102,"src":"33930:17:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80050,"name":"uint256","nodeType":"ElementaryTypeName","src":"33930:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":80053,"mutability":"mutable","name":"_oldAmount","nameLocation":"33957:10:130","nodeType":"VariableDeclaration","scope":80102,"src":"33949:18:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80052,"name":"uint256","nodeType":"ElementaryTypeName","src":"33949:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"33908:60:130"},"returnParameters":{"id":80057,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80056,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":80102,"src":"34014:7:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80055,"name":"uint256","nodeType":"ElementaryTypeName","src":"34014:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"34013:9:130"},"scope":80578,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":80190,"nodeType":"FunctionDefinition","src":"35606:1482:130","nodes":[],"body":{"id":80189,"nodeType":"Block","src":"35701:1387:130","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80112,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":80110,"name":"poolAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74092,"src":"35835:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"hexValue":"30","id":80111,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"35849:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"35835:15:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":80117,"nodeType":"IfStatement","src":"35831:66:130","trueBody":{"id":80116,"nodeType":"Block","src":"35852:45:130","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":80113,"name":"PoolIsEmpty","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77771,"src":"35873:11:130","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":80114,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35873:13:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":80115,"nodeType":"RevertStatement","src":"35866:20:130"}]}},{"condition":{"arguments":[{"id":80119,"name":"_requestedAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80105,"src":"36353:16:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":80118,"name":"_isOverMaxRatio","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79628,"src":"36337:15:130","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view returns (bool)"}},"id":80120,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36337:33:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":80125,"nodeType":"IfStatement","src":"36333:91:130","trueBody":{"id":80124,"nodeType":"Block","src":"36372:52:130","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":80121,"name":"AmountOverMaxRatio","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77779,"src":"36393:18:130","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":80122,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36393:20:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":80123,"nodeType":"RevertStatement","src":"36386:27:130"}]}},{"assignments":[80127],"declarations":[{"constant":false,"id":80127,"mutability":"mutable","name":"denom","nameLocation":"36580:5:130","nodeType":"VariableDeclaration","scope":80189,"src":"36572:13:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80126,"name":"uint256","nodeType":"ElementaryTypeName","src":"36572:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":80145,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80144,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80135,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80132,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":80128,"name":"maxRatio","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77935,"src":"36589:8:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"commonType":{"typeIdentifier":"t_rational_18446744073709551616_by_1","typeString":"int_const 18446744073709551616"},"id":80131,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"32","id":80129,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"36600:1:130","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"3634","id":80130,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"36605:2:130","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"36600:7:130","typeDescriptions":{"typeIdentifier":"t_rational_18446744073709551616_by_1","typeString":"int_const 18446744073709551616"}},"src":"36589:18:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":80133,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"36588:20:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":80134,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77919,"src":"36611:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"36588:24:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80143,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80140,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":80136,"name":"_requestedAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80105,"src":"36616:16:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"commonType":{"typeIdentifier":"t_rational_18446744073709551616_by_1","typeString":"int_const 18446744073709551616"},"id":80139,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"32","id":80137,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"36635:1:130","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"3634","id":80138,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"36640:2:130","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"36635:7:130","typeDescriptions":{"typeIdentifier":"t_rational_18446744073709551616_by_1","typeString":"int_const 18446744073709551616"}},"src":"36616:26:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":80141,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"36615:28:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":80142,"name":"poolAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74092,"src":"36646:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"36615:41:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"36588:68:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"36572:84:130"},{"expression":{"id":80178,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":80146,"name":"_threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80108,"src":"36666:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80177,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80174,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80170,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80164,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80161,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80152,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80149,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":80147,"name":"weight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77937,"src":"36698:6:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"313238","id":80148,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"36708:3:130","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"36698:13:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":80150,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"36697:15:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":80151,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77919,"src":"36715:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"36697:19:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":80153,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"36696:21:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80159,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80156,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":80154,"name":"denom","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80127,"src":"36722:5:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":80155,"name":"denom","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80127,"src":"36730:5:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"36722:13:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":80157,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"36721:15:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"3634","id":80158,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"36740:2:130","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"36721:21:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":80160,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"36720:23:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"36696:47:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":80162,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"36695:49:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":80163,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77919,"src":"36747:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"36695:53:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":80165,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"36694:55:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80168,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":80166,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77919,"src":"36753:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":80167,"name":"decay","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77933,"src":"36757:5:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"36753:9:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":80169,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"36752:11:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"36694:69:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":80171,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"36693:71:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":80172,"name":"totalEffectiveActivePoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80298,"src":"36767:26:130","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint256_$","typeString":"function () view returns (uint256)"}},"id":80173,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36767:28:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"36693:102:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":80175,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"36679:126:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"3634","id":80176,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"36809:2:130","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"36679:132:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"36666:145:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":80179,"nodeType":"ExpressionStatement","src":"36666:145:130"},{"expression":{"id":80187,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":80180,"name":"_threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80108,"src":"37001:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80183,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":80181,"name":"_threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80108,"src":"37014:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":80182,"name":"_minThresholdPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77947,"src":"37027:19:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"37014:32:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"id":80185,"name":"_minThresholdPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77947,"src":"37062:19:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":80186,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"37014:67:130","trueExpression":{"id":80184,"name":"_threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80108,"src":"37049:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"37001:80:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":80188,"nodeType":"ExpressionStatement","src":"37001:80:130"}]},"documentation":{"id":80103,"nodeType":"StructuredDocumentation","src":"35031:570:130","text":" @dev Formula: ρ * totalStaked / (1 - a) / (β - requestedAmount / total)**2\n For the Solidity implementation we amplify ρ and β and simplify the formula:\n weight = ρ * D\n maxRatio = β * D\n decay = a * D\n threshold = weight * totalStaked * D ** 2 * funds ** 2 / (D - decay) / (maxRatio * funds - requestedAmount * D) ** 2\n @param _requestedAmount Requested amount of tokens on certain proposal\n @return _threshold Threshold a proposal's conviction should surpass in order to be able to\n executed it."},"functionSelector":"59a5db8b","implemented":true,"kind":"function","modifiers":[],"name":"calculateThreshold","nameLocation":"35615:18:130","parameters":{"id":80106,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80105,"mutability":"mutable","name":"_requestedAmount","nameLocation":"35642:16:130","nodeType":"VariableDeclaration","scope":80190,"src":"35634:24:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80104,"name":"uint256","nodeType":"ElementaryTypeName","src":"35634:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"35633:26:130"},"returnParameters":{"id":80109,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80108,"mutability":"mutable","name":"_threshold","nameLocation":"35689:10:130","nodeType":"VariableDeclaration","scope":80190,"src":"35681:18:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80107,"name":"uint256","nodeType":"ElementaryTypeName","src":"35681:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"35680:20:130"},"scope":80578,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":80225,"nodeType":"FunctionDefinition","src":"37349:269:130","nodes":[],"body":{"id":80224,"nodeType":"Block","src":"37427:191:130","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80203,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":80201,"name":"_a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80193,"src":"37445:2:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"id":80202,"name":"TWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77922,"src":"37451:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"37445:13:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5f612073686f756c64206265206c657373207468616e206f7220657175616c20746f20325e313238","id":80204,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"37460:42:130","typeDescriptions":{"typeIdentifier":"t_stringliteral_44e2d05298e19dba9341288d7967f4ffbb5a083f725e2470963d4d2d80484153","typeString":"literal_string \"_a should be less than or equal to 2^128\""},"value":"_a should be less than or equal to 2^128"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_44e2d05298e19dba9341288d7967f4ffbb5a083f725e2470963d4d2d80484153","typeString":"literal_string \"_a should be less than or equal to 2^128\""}],"id":80200,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"37437:7:130","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":80205,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37437:66:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":80206,"nodeType":"ExpressionStatement","src":"37437:66:130"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80210,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":80208,"name":"_b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80195,"src":"37521:2:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":80209,"name":"TWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77922,"src":"37526:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"37521:12:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5f622073686f756c64206265206c657373207468616e20325e313238","id":80211,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"37535:30:130","typeDescriptions":{"typeIdentifier":"t_stringliteral_94029ed39d36fd1673853e0d61636cb1f54d05801d9baceb39b21e0f4420d664","typeString":"literal_string \"_b should be less than 2^128\""},"value":"_b should be less than 2^128"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_94029ed39d36fd1673853e0d61636cb1f54d05801d9baceb39b21e0f4420d664","typeString":"literal_string \"_b should be less than 2^128\""}],"id":80207,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"37513:7:130","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":80212,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37513:53:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":80213,"nodeType":"ExpressionStatement","src":"37513:53:130"},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80222,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80219,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80216,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":80214,"name":"_a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80193,"src":"37585:2:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":80215,"name":"_b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80195,"src":"37590:2:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"37585:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":80217,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"37584:9:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":80218,"name":"TWO_127","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77925,"src":"37596:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"37584:19:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":80220,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"37583:21:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"313238","id":80221,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"37608:3:130","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"37583:28:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":80199,"id":80223,"nodeType":"Return","src":"37576:35:130"}]},"documentation":{"id":80191,"nodeType":"StructuredDocumentation","src":"37094:250:130","text":" Multiply _a by _b / 2^128. Parameter _a should be less than or equal to\n 2^128 and parameter _b should be less than 2^128.\n @param _a left argument\n @param _b right argument\n @return _result _a * _b / 2^128"},"implemented":true,"kind":"function","modifiers":[],"name":"_mul","nameLocation":"37358:4:130","parameters":{"id":80196,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80193,"mutability":"mutable","name":"_a","nameLocation":"37371:2:130","nodeType":"VariableDeclaration","scope":80225,"src":"37363:10:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80192,"name":"uint256","nodeType":"ElementaryTypeName","src":"37363:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":80195,"mutability":"mutable","name":"_b","nameLocation":"37383:2:130","nodeType":"VariableDeclaration","scope":80225,"src":"37375:10:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80194,"name":"uint256","nodeType":"ElementaryTypeName","src":"37375:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"37362:24:130"},"returnParameters":{"id":80199,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80198,"mutability":"mutable","name":"_result","nameLocation":"37418:7:130","nodeType":"VariableDeclaration","scope":80225,"src":"37410:15:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80197,"name":"uint256","nodeType":"ElementaryTypeName","src":"37410:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"37409:17:130"},"scope":80578,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":80290,"nodeType":"FunctionDefinition","src":"37840:447:130","nodes":[],"body":{"id":80289,"nodeType":"Block","src":"37918:369:130","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80238,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":80236,"name":"_a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80228,"src":"37936:2:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":80237,"name":"TWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77922,"src":"37941:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"37936:12:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5f612073686f756c64206265206c657373207468616e20325e313238","id":80239,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"37950:30:130","typeDescriptions":{"typeIdentifier":"t_stringliteral_8cb59667c527f8a0ca0170161b6ece5e9864e8aa2d080a486f0167056517515f","typeString":"literal_string \"_a should be less than 2^128\""},"value":"_a should be less than 2^128"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_8cb59667c527f8a0ca0170161b6ece5e9864e8aa2d080a486f0167056517515f","typeString":"literal_string \"_a should be less than 2^128\""}],"id":80235,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"37928:7:130","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":80240,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37928:53:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":80241,"nodeType":"ExpressionStatement","src":"37928:53:130"},{"assignments":[80243],"declarations":[{"constant":false,"id":80243,"mutability":"mutable","name":"a","nameLocation":"37999:1:130","nodeType":"VariableDeclaration","scope":80289,"src":"37991:9:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80242,"name":"uint256","nodeType":"ElementaryTypeName","src":"37991:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":80245,"initialValue":{"id":80244,"name":"_a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80228,"src":"38003:2:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"37991:14:130"},{"assignments":[80247],"declarations":[{"constant":false,"id":80247,"mutability":"mutable","name":"b","nameLocation":"38023:1:130","nodeType":"VariableDeclaration","scope":80289,"src":"38015:9:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80246,"name":"uint256","nodeType":"ElementaryTypeName","src":"38015:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":80249,"initialValue":{"id":80248,"name":"_b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80230,"src":"38027:2:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"38015:14:130"},{"expression":{"id":80252,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":80250,"name":"_result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80233,"src":"38039:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":80251,"name":"TWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77922,"src":"38049:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"38039:17:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":80253,"nodeType":"ExpressionStatement","src":"38039:17:130"},{"body":{"id":80287,"nodeType":"Block","src":"38080:201:130","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80261,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80259,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":80257,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80247,"src":"38098:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"hexValue":"31","id":80258,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"38102:1:130","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"38098:5:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":80260,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"38107:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"38098:10:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":80285,"nodeType":"Block","src":"38188:83:130","statements":[{"expression":{"id":80279,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":80274,"name":"_result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80233,"src":"38206:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":80276,"name":"_result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80233,"src":"38221:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":80277,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80243,"src":"38230:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":80275,"name":"_mul","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80225,"src":"38216:4:130","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":80278,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38216:16:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"38206:26:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":80280,"nodeType":"ExpressionStatement","src":"38206:26:130"},{"expression":{"id":80283,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":80281,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80247,"src":"38250:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"hexValue":"31","id":80282,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"38255:1:130","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"38250:6:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":80284,"nodeType":"ExpressionStatement","src":"38250:6:130"}]},"id":80286,"nodeType":"IfStatement","src":"38094:177:130","trueBody":{"id":80273,"nodeType":"Block","src":"38110:72:130","statements":[{"expression":{"id":80267,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":80262,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80243,"src":"38128:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":80264,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80243,"src":"38137:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":80265,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80243,"src":"38140:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":80263,"name":"_mul","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80225,"src":"38132:4:130","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":80266,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38132:10:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"38128:14:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":80268,"nodeType":"ExpressionStatement","src":"38128:14:130"},{"expression":{"id":80271,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":80269,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80247,"src":"38160:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":">>=","rightHandSide":{"hexValue":"31","id":80270,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"38166:1:130","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"38160:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":80272,"nodeType":"ExpressionStatement","src":"38160:7:130"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80256,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":80254,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80247,"src":"38073:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":80255,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"38077:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"38073:5:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":80288,"nodeType":"WhileStatement","src":"38066:215:130"}]},"documentation":{"id":80226,"nodeType":"StructuredDocumentation","src":"37624:211:130","text":" Calculate (_a / 2^128)^_b * 2^128. Parameter _a should be less than 2^128.\n @param _a left argument\n @param _b right argument\n @return _result (_a / 2^128)^_b * 2^128"},"implemented":true,"kind":"function","modifiers":[],"name":"_pow","nameLocation":"37849:4:130","parameters":{"id":80231,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80228,"mutability":"mutable","name":"_a","nameLocation":"37862:2:130","nodeType":"VariableDeclaration","scope":80290,"src":"37854:10:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80227,"name":"uint256","nodeType":"ElementaryTypeName","src":"37854:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":80230,"mutability":"mutable","name":"_b","nameLocation":"37874:2:130","nodeType":"VariableDeclaration","scope":80290,"src":"37866:10:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80229,"name":"uint256","nodeType":"ElementaryTypeName","src":"37866:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"37853:24:130"},"returnParameters":{"id":80234,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80233,"mutability":"mutable","name":"_result","nameLocation":"37909:7:130","nodeType":"VariableDeclaration","scope":80290,"src":"37901:15:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80232,"name":"uint256","nodeType":"ElementaryTypeName","src":"37901:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"37900:17:130"},"scope":80578,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":80298,"nodeType":"FunctionDefinition","src":"38293:112:130","nodes":[],"body":{"id":80297,"nodeType":"Block","src":"38361:44:130","nodes":[],"statements":[{"expression":{"id":80295,"name":"totalPointsActivated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77944,"src":"38378:20:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":80294,"id":80296,"nodeType":"Return","src":"38371:27:130"}]},"functionSelector":"d1e36232","implemented":true,"kind":"function","modifiers":[],"name":"totalEffectiveActivePoints","nameLocation":"38302:26:130","parameters":{"id":80291,"nodeType":"ParameterList","parameters":[],"src":"38328:2:130"},"returnParameters":{"id":80294,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80293,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":80298,"src":"38352:7:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80292,"name":"uint256","nodeType":"ElementaryTypeName","src":"38352:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"38351:9:130"},"scope":80578,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":80339,"nodeType":"FunctionDefinition","src":"38595:396:130","nodes":[],"body":{"id":80338,"nodeType":"Block","src":"38703:288:130","nodes":[],"statements":[{"assignments":[80308,80310],"declarations":[{"constant":false,"id":80308,"mutability":"mutable","name":"conviction","nameLocation":"38722:10:130","nodeType":"VariableDeclaration","scope":80338,"src":"38714:18:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80307,"name":"uint256","nodeType":"ElementaryTypeName","src":"38714:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":80310,"mutability":"mutable","name":"blockNumber","nameLocation":"38742:11:130","nodeType":"VariableDeclaration","scope":80338,"src":"38734:19:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80309,"name":"uint256","nodeType":"ElementaryTypeName","src":"38734:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":80315,"initialValue":{"arguments":[{"id":80312,"name":"_proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80302,"src":"38791:9:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},{"id":80313,"name":"_oldStaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80304,"src":"38802:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":80311,"name":"_checkBlockAndCalculateConviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80386,"src":"38757:33:130","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Proposal_$77721_storage_ptr_$_t_uint256_$returns$_t_uint256_$_t_uint256_$","typeString":"function (struct StrategyStruct.Proposal storage pointer,uint256) view returns (uint256,uint256)"}},"id":80314,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38757:56:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_uint256_$","typeString":"tuple(uint256,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"38713:100:130"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":80322,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80318,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":80316,"name":"conviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80308,"src":"38827:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":80317,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"38841:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"38827:15:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80321,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":80319,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80310,"src":"38846:11:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":80320,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"38861:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"38846:16:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"38827:35:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":80325,"nodeType":"IfStatement","src":"38823:72:130","trueBody":{"id":80324,"nodeType":"Block","src":"38864:31:130","statements":[{"functionReturnParameters":80306,"id":80323,"nodeType":"Return","src":"38878:7:130"}]}},{"expression":{"id":80330,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":80326,"name":"_proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80302,"src":"38904:9:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":80328,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"38914:9:130","memberName":"blockLast","nodeType":"MemberAccess","referencedDeclaration":77710,"src":"38904:19:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":80329,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80310,"src":"38926:11:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"38904:33:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":80331,"nodeType":"ExpressionStatement","src":"38904:33:130"},{"expression":{"id":80336,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":80332,"name":"_proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80302,"src":"38947:9:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":80334,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"38957:14:130","memberName":"convictionLast","nodeType":"MemberAccess","referencedDeclaration":77702,"src":"38947:24:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":80335,"name":"conviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80308,"src":"38974:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"38947:37:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":80337,"nodeType":"ExpressionStatement","src":"38947:37:130"}]},"documentation":{"id":80299,"nodeType":"StructuredDocumentation","src":"38411:179:130","text":" @dev Calculate conviction and store it on the proposal\n @param _proposal Proposal\n @param _oldStaked Amount of tokens staked on a proposal until now"},"implemented":true,"kind":"function","modifiers":[],"name":"_calculateAndSetConviction","nameLocation":"38604:26:130","parameters":{"id":80305,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80302,"mutability":"mutable","name":"_proposal","nameLocation":"38663:9:130","nodeType":"VariableDeclaration","scope":80339,"src":"38631:41:130","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":80301,"nodeType":"UserDefinedTypeName","pathNode":{"id":80300,"name":"StrategyStruct.Proposal","nameLocations":["38631:14:130","38646:8:130"],"nodeType":"IdentifierPath","referencedDeclaration":77721,"src":"38631:23:130"},"referencedDeclaration":77721,"src":"38631:23:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"},{"constant":false,"id":80304,"mutability":"mutable","name":"_oldStaked","nameLocation":"38682:10:130","nodeType":"VariableDeclaration","scope":80339,"src":"38674:18:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80303,"name":"uint256","nodeType":"ElementaryTypeName","src":"38674:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"38630:63:130"},"returnParameters":{"id":80306,"nodeType":"ParameterList","parameters":[],"src":"38703:0:130"},"scope":80578,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":80386,"nodeType":"FunctionDefinition","src":"38997:719:130","nodes":[],"body":{"id":80385,"nodeType":"Block","src":"39195:521:130","nodes":[],"statements":[{"expression":{"id":80354,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":80351,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80349,"src":"39205:11:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":80352,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"39219:5:130","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":80353,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"39225:6:130","memberName":"number","nodeType":"MemberAccess","src":"39219:12:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"39205:26:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":80355,"nodeType":"ExpressionStatement","src":"39205:26:130"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80360,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":80357,"name":"_proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80342,"src":"39248:9:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":80358,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"39258:9:130","memberName":"blockLast","nodeType":"MemberAccess","referencedDeclaration":77710,"src":"39248:19:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"id":80359,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80349,"src":"39271:11:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"39248:34:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":80356,"name":"assert","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-3,"src":"39241:6:130","typeDescriptions":{"typeIdentifier":"t_function_assert_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":80361,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"39241:42:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":80362,"nodeType":"ExpressionStatement","src":"39241:42:130"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80366,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":80363,"name":"_proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80342,"src":"39297:9:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":80364,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"39307:9:130","memberName":"blockLast","nodeType":"MemberAccess","referencedDeclaration":77710,"src":"39297:19:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":80365,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80349,"src":"39320:11:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"39297:34:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":80372,"nodeType":"IfStatement","src":"39293:173:130","trueBody":{"id":80371,"nodeType":"Block","src":"39333:133:130","statements":[{"expression":{"components":[{"hexValue":"30","id":80367,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"39421:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":80368,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"39424:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"id":80369,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"39420:6:130","typeDescriptions":{"typeIdentifier":"t_tuple$_t_rational_0_by_1_$_t_rational_0_by_1_$","typeString":"tuple(int_const 0,int_const 0)"}},"functionReturnParameters":80350,"id":80370,"nodeType":"Return","src":"39413:13:130"}]}},{"expression":{"id":80383,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":80373,"name":"conviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80347,"src":"39519:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80378,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":80375,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80349,"src":"39565:11:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"expression":{"id":80376,"name":"_proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80342,"src":"39579:9:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":80377,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"39589:9:130","memberName":"blockLast","nodeType":"MemberAccess","referencedDeclaration":77710,"src":"39579:19:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"39565:33:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":80379,"name":"_proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80342,"src":"39651:9:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":80380,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"39661:14:130","memberName":"convictionLast","nodeType":"MemberAccess","referencedDeclaration":77702,"src":"39651:24:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":80381,"name":"_oldStaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80344,"src":"39689:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":80374,"name":"calculateConviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80102,"src":"39532:19:130","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256,uint256) view returns (uint256)"}},"id":80382,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"39532:177:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"39519:190:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":80384,"nodeType":"ExpressionStatement","src":"39519:190:130"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_checkBlockAndCalculateConviction","nameLocation":"39006:33:130","parameters":{"id":80345,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80342,"mutability":"mutable","name":"_proposal","nameLocation":"39072:9:130","nodeType":"VariableDeclaration","scope":80386,"src":"39040:41:130","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":80341,"nodeType":"UserDefinedTypeName","pathNode":{"id":80340,"name":"StrategyStruct.Proposal","nameLocations":["39040:14:130","39055:8:130"],"nodeType":"IdentifierPath","referencedDeclaration":77721,"src":"39040:23:130"},"referencedDeclaration":77721,"src":"39040:23:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"},{"constant":false,"id":80344,"mutability":"mutable","name":"_oldStaked","nameLocation":"39091:10:130","nodeType":"VariableDeclaration","scope":80386,"src":"39083:18:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80343,"name":"uint256","nodeType":"ElementaryTypeName","src":"39083:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"39039:63:130"},"returnParameters":{"id":80350,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80347,"mutability":"mutable","name":"conviction","nameLocation":"39158:10:130","nodeType":"VariableDeclaration","scope":80386,"src":"39150:18:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80346,"name":"uint256","nodeType":"ElementaryTypeName","src":"39150:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":80349,"mutability":"mutable","name":"blockNumber","nameLocation":"39178:11:130","nodeType":"VariableDeclaration","scope":80386,"src":"39170:19:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80348,"name":"uint256","nodeType":"ElementaryTypeName","src":"39170:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"39149:41:130"},"scope":80578,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":80434,"nodeType":"FunctionDefinition","src":"39722:520:130","nodes":[],"body":{"id":80433,"nodeType":"Block","src":"39801:441:130","nodes":[],"statements":[{"assignments":[80397],"declarations":[{"constant":false,"id":80397,"mutability":"mutable","name":"proposal","nameLocation":"39843:8:130","nodeType":"VariableDeclaration","scope":80433,"src":"39811:40:130","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":80396,"nodeType":"UserDefinedTypeName","pathNode":{"id":80395,"name":"StrategyStruct.Proposal","nameLocations":["39811:14:130","39826:8:130"],"nodeType":"IdentifierPath","referencedDeclaration":77721,"src":"39811:23:130"},"referencedDeclaration":77721,"src":"39811:23:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":80401,"initialValue":{"baseExpression":{"id":80398,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77969,"src":"39854:9:130","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$77721_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":80400,"indexExpression":{"id":80399,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80388,"src":"39864:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"39854:21:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"39811:64:130"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80405,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":80402,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80397,"src":"39890:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":80403,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"39899:10:130","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":77696,"src":"39890:19:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":80404,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80388,"src":"39913:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"39890:33:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":80411,"nodeType":"IfStatement","src":"39886:100:130","trueBody":{"id":80410,"nodeType":"Block","src":"39925:61:130","statements":[{"errorCall":{"arguments":[{"id":80407,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80388,"src":"39964:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":80406,"name":"ProposalNotInList","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77815,"src":"39946:17:130","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":80408,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"39946:29:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":80409,"nodeType":"RevertStatement","src":"39939:36:130"}]}},{"condition":{"commonType":{"typeIdentifier":"t_enum$_ProposalStatus_$77694","typeString":"enum StrategyStruct.ProposalStatus"},"id":80417,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":80412,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80397,"src":"40000:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":80413,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"40009:14:130","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":77713,"src":"40000:23:130","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$77694","typeString":"enum StrategyStruct.ProposalStatus"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"expression":{"id":80414,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77752,"src":"40027:14:130","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$77752_$","typeString":"type(library StrategyStruct)"}},"id":80415,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"40042:14:130","memberName":"ProposalStatus","nodeType":"MemberAccess","referencedDeclaration":77694,"src":"40027:29:130","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$77694_$","typeString":"type(enum StrategyStruct.ProposalStatus)"}},"id":80416,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"40057:6:130","memberName":"Active","nodeType":"MemberAccess","referencedDeclaration":77690,"src":"40027:36:130","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$77694","typeString":"enum StrategyStruct.ProposalStatus"}},"src":"40000:63:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":80423,"nodeType":"IfStatement","src":"39996:130:130","trueBody":{"id":80422,"nodeType":"Block","src":"40065:61:130","statements":[{"errorCall":{"arguments":[{"id":80419,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80388,"src":"40104:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":80418,"name":"ProposalNotActive","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77811,"src":"40086:17:130","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":80420,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"40086:29:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":80421,"nodeType":"RevertStatement","src":"40079:36:130"}]}},{"expression":{"arguments":[{"id":80425,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80397,"src":"40163:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},{"expression":{"id":80426,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80397,"src":"40173:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":80427,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"40182:12:130","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":77700,"src":"40173:21:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":80424,"name":"_calculateAndSetConviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80339,"src":"40136:26:130","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_Proposal_$77721_storage_ptr_$_t_uint256_$returns$__$","typeString":"function (struct StrategyStruct.Proposal storage pointer,uint256)"}},"id":80428,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"40136:59:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":80429,"nodeType":"ExpressionStatement","src":"40136:59:130"},{"expression":{"expression":{"id":80430,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80397,"src":"40212:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":80431,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"40221:14:130","memberName":"convictionLast","nodeType":"MemberAccess","referencedDeclaration":77702,"src":"40212:23:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":80392,"id":80432,"nodeType":"Return","src":"40205:30:130"}]},"functionSelector":"1aa91a9e","implemented":true,"kind":"function","modifiers":[],"name":"updateProposalConviction","nameLocation":"39731:24:130","parameters":{"id":80389,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80388,"mutability":"mutable","name":"proposalId","nameLocation":"39764:10:130","nodeType":"VariableDeclaration","scope":80434,"src":"39756:18:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80387,"name":"uint256","nodeType":"ElementaryTypeName","src":"39756:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"39755:20:130"},"returnParameters":{"id":80392,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80391,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":80434,"src":"39792:7:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80390,"name":"uint256","nodeType":"ElementaryTypeName","src":"39792:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"39791:9:130"},"scope":80578,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":80453,"nodeType":"FunctionDefinition","src":"40248:124:130","nodes":[],"body":{"id":80452,"nodeType":"Block","src":"40320:52:130","nodes":[],"statements":[{"expression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80449,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80443,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":80441,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80436,"src":"40339:6:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":80442,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77919,"src":"40348:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"40339:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":80444,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"40338:12:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80447,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":80445,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77919,"src":"40354:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":80446,"name":"decay","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77933,"src":"40358:5:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"40354:9:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":80448,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"40353:11:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"40338:26:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":80450,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"40337:28:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":80440,"id":80451,"nodeType":"Return","src":"40330:35:130"}]},"functionSelector":"950559d7","implemented":true,"kind":"function","modifiers":[],"name":"getMaxConviction","nameLocation":"40257:16:130","parameters":{"id":80437,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80436,"mutability":"mutable","name":"amount","nameLocation":"40282:6:130","nodeType":"VariableDeclaration","scope":80453,"src":"40274:14:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80435,"name":"uint256","nodeType":"ElementaryTypeName","src":"40274:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"40273:16:130"},"returnParameters":{"id":80440,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80439,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":80453,"src":"40311:7:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80438,"name":"uint256","nodeType":"ElementaryTypeName","src":"40311:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"40310:9:130"},"scope":80578,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":80471,"nodeType":"FunctionDefinition","src":"40378:137:130","nodes":[],"body":{"id":80470,"nodeType":"Block","src":"40449:66:130","nodes":[],"statements":[{"expression":{"id":80464,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":80462,"name":"decay","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77933,"src":"40459:5:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":80463,"name":"_decay","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80455,"src":"40467:6:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"40459:14:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":80465,"nodeType":"ExpressionStatement","src":"40459:14:130"},{"eventCall":{"arguments":[{"id":80467,"name":"_decay","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80455,"src":"40501:6:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":80466,"name":"DecayUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77898,"src":"40488:12:130","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":80468,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"40488:20:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":80469,"nodeType":"EmitStatement","src":"40483:25:130"}]},"functionSelector":"69fa25c4","implemented":true,"kind":"function","modifiers":[{"arguments":[{"expression":{"id":80458,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"40437:3:130","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":80459,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"40441:6:130","memberName":"sender","nodeType":"MemberAccess","src":"40437:10:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"id":80460,"kind":"modifierInvocation","modifierName":{"id":80457,"name":"onlyPoolManager","nameLocations":["40421:15:130"],"nodeType":"IdentifierPath","referencedDeclaration":74135,"src":"40421:15:130"},"nodeType":"ModifierInvocation","src":"40421:27:130"}],"name":"setDecay","nameLocation":"40387:8:130","parameters":{"id":80456,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80455,"mutability":"mutable","name":"_decay","nameLocation":"40404:6:130","nodeType":"VariableDeclaration","scope":80471,"src":"40396:14:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80454,"name":"uint256","nodeType":"ElementaryTypeName","src":"40396:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"40395:16:130"},"returnParameters":{"id":80461,"nodeType":"ParameterList","parameters":[],"src":"40449:0:130"},"scope":80578,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":80489,"nodeType":"FunctionDefinition","src":"40521:155:130","nodes":[],"body":{"id":80488,"nodeType":"Block","src":"40598:78:130","nodes":[],"statements":[{"expression":{"id":80482,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":80480,"name":"maxRatio","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77935,"src":"40608:8:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":80481,"name":"_maxRatio","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80473,"src":"40619:9:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"40608:20:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":80483,"nodeType":"ExpressionStatement","src":"40608:20:130"},{"eventCall":{"arguments":[{"id":80485,"name":"_maxRatio","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80473,"src":"40659:9:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":80484,"name":"MaxRatioUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77902,"src":"40643:15:130","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":80486,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"40643:26:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":80487,"nodeType":"EmitStatement","src":"40638:31:130"}]},"functionSelector":"11f22ae3","implemented":true,"kind":"function","modifiers":[{"arguments":[{"expression":{"id":80476,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"40586:3:130","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":80477,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"40590:6:130","memberName":"sender","nodeType":"MemberAccess","src":"40586:10:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"id":80478,"kind":"modifierInvocation","modifierName":{"id":80475,"name":"onlyPoolManager","nameLocations":["40570:15:130"],"nodeType":"IdentifierPath","referencedDeclaration":74135,"src":"40570:15:130"},"nodeType":"ModifierInvocation","src":"40570:27:130"}],"name":"setMaxRatio","nameLocation":"40530:11:130","parameters":{"id":80474,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80473,"mutability":"mutable","name":"_maxRatio","nameLocation":"40550:9:130","nodeType":"VariableDeclaration","scope":80489,"src":"40542:17:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80472,"name":"uint256","nodeType":"ElementaryTypeName","src":"40542:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"40541:19:130"},"returnParameters":{"id":80479,"nodeType":"ParameterList","parameters":[],"src":"40598:0:130"},"scope":80578,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":80507,"nodeType":"FunctionDefinition","src":"40682:143:130","nodes":[],"body":{"id":80506,"nodeType":"Block","src":"40755:70:130","nodes":[],"statements":[{"expression":{"id":80500,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":80498,"name":"weight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77937,"src":"40765:6:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":80499,"name":"_weight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80491,"src":"40774:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"40765:16:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":80501,"nodeType":"ExpressionStatement","src":"40765:16:130"},{"eventCall":{"arguments":[{"id":80503,"name":"_weight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80491,"src":"40810:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":80502,"name":"WeightUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77906,"src":"40796:13:130","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":80504,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"40796:22:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":80505,"nodeType":"EmitStatement","src":"40791:27:130"}]},"functionSelector":"fc1711f2","implemented":true,"kind":"function","modifiers":[{"arguments":[{"expression":{"id":80494,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"40743:3:130","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":80495,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"40747:6:130","memberName":"sender","nodeType":"MemberAccess","src":"40743:10:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"id":80496,"kind":"modifierInvocation","modifierName":{"id":80493,"name":"onlyPoolManager","nameLocations":["40727:15:130"],"nodeType":"IdentifierPath","referencedDeclaration":74135,"src":"40727:15:130"},"nodeType":"ModifierInvocation","src":"40727:27:130"}],"name":"setWeight","nameLocation":"40691:9:130","parameters":{"id":80492,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80491,"mutability":"mutable","name":"_weight","nameLocation":"40709:7:130","nodeType":"VariableDeclaration","scope":80507,"src":"40701:15:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80490,"name":"uint256","nodeType":"ElementaryTypeName","src":"40701:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"40700:17:130"},"returnParameters":{"id":80497,"nodeType":"ParameterList","parameters":[],"src":"40755:0:130"},"scope":80578,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":80527,"nodeType":"FunctionDefinition","src":"40831:223:130","nodes":[],"body":{"id":80526,"nodeType":"Block","src":"40926:128:130","nodes":[],"statements":[{"expression":{"id":80520,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":80516,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77961,"src":"40936:17:130","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":80518,"name":"_registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80509,"src":"40978:18:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":80517,"name":"RegistryCommunityV0_0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85047,"src":"40956:21:130","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_RegistryCommunityV0_0_$85047_$","typeString":"type(contract RegistryCommunityV0_0)"}},"id":80519,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"40956:41:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"}},"src":"40936:61:130","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"}},"id":80521,"nodeType":"ExpressionStatement","src":"40936:61:130"},{"eventCall":{"arguments":[{"id":80523,"name":"_registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80509,"src":"41028:18:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":80522,"name":"RegistryUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77910,"src":"41012:15:130","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":80524,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41012:35:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":80525,"nodeType":"EmitStatement","src":"41007:40:130"}]},"functionSelector":"058aca44","implemented":true,"kind":"function","modifiers":[{"arguments":[{"expression":{"id":80512,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"40914:3:130","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":80513,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"40918:6:130","memberName":"sender","nodeType":"MemberAccess","src":"40914:10:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"id":80514,"kind":"modifierInvocation","modifierName":{"id":80511,"name":"onlyPoolManager","nameLocations":["40898:15:130"],"nodeType":"IdentifierPath","referencedDeclaration":74135,"src":"40898:15:130"},"nodeType":"ModifierInvocation","src":"40898:27:130"}],"name":"setRegistryCommunity","nameLocation":"40840:20:130","parameters":{"id":80510,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80509,"mutability":"mutable","name":"_registryCommunity","nameLocation":"40869:18:130","nodeType":"VariableDeclaration","scope":80527,"src":"40861:26:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":80508,"name":"address","nodeType":"ElementaryTypeName","src":"40861:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"40860:28:130"},"returnParameters":{"id":80515,"nodeType":"ParameterList","parameters":[],"src":"40926:0:130"},"scope":80578,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":80546,"nodeType":"FunctionDefinition","src":"41060:237:130","nodes":[],"body":{"id":80545,"nodeType":"Block","src":"41157:140:130","nodes":[],"statements":[{"eventCall":{"arguments":[{"id":80537,"name":"_minThresholdPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77947,"src":"41198:19:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":80538,"name":"minThresholdPoints_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80529,"src":"41219:19:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":80536,"name":"MinThresholdPointsUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77916,"src":"41172:25:130","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":80539,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41172:67:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":80540,"nodeType":"EmitStatement","src":"41167:72:130"},{"expression":{"id":80543,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":80541,"name":"_minThresholdPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77947,"src":"41249:19:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":80542,"name":"minThresholdPoints_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80529,"src":"41271:19:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"41249:41:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":80544,"nodeType":"ExpressionStatement","src":"41249:41:130"}]},"functionSelector":"2cefadbb","implemented":true,"kind":"function","modifiers":[{"arguments":[{"expression":{"id":80532,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"41145:3:130","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":80533,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"41149:6:130","memberName":"sender","nodeType":"MemberAccess","src":"41145:10:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"id":80534,"kind":"modifierInvocation","modifierName":{"id":80531,"name":"onlyPoolManager","nameLocations":["41129:15:130"],"nodeType":"IdentifierPath","referencedDeclaration":74135,"src":"41129:15:130"},"nodeType":"ModifierInvocation","src":"41129:27:130"}],"name":"setMinThresholdPoints","nameLocation":"41069:21:130","parameters":{"id":80530,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80529,"mutability":"mutable","name":"minThresholdPoints_","nameLocation":"41099:19:130","nodeType":"VariableDeclaration","scope":80546,"src":"41091:27:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80528,"name":"uint256","nodeType":"ElementaryTypeName","src":"41091:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"41090:29:130"},"returnParameters":{"id":80535,"nodeType":"ParameterList","parameters":[],"src":"41157:0:130"},"scope":80578,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":80564,"nodeType":"FunctionDefinition","src":"41303:170:130","nodes":[],"body":{"id":80563,"nodeType":"Block","src":"41374:99:130","nodes":[],"statements":[{"expression":{"arguments":[{"id":80554,"name":"_sybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80548,"src":"41403:12:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":80553,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78210,"src":"41384:18:130","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":80555,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41384:32:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":80556,"nodeType":"ExpressionStatement","src":"41384:32:130"},{"expression":{"id":80561,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":80557,"name":"sybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77964,"src":"41426:11:130","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$80667","typeString":"contract ISybilScorer"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":80559,"name":"_sybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80548,"src":"41453:12:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":80558,"name":"ISybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80667,"src":"41440:12:130","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ISybilScorer_$80667_$","typeString":"type(contract ISybilScorer)"}},"id":80560,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41440:26:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$80667","typeString":"contract ISybilScorer"}},"src":"41426:40:130","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$80667","typeString":"contract ISybilScorer"}},"id":80562,"nodeType":"ExpressionStatement","src":"41426:40:130"}]},"functionSelector":"ac1ed7b9","implemented":true,"kind":"function","modifiers":[{"id":80551,"kind":"modifierInvocation","modifierName":{"id":80550,"name":"onlyCouncilSafe","nameLocations":["41358:15:130"],"nodeType":"IdentifierPath","referencedDeclaration":77997,"src":"41358:15:130"},"nodeType":"ModifierInvocation","src":"41358:15:130"}],"name":"setSybilScorer","nameLocation":"41312:14:130","parameters":{"id":80549,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80548,"mutability":"mutable","name":"_sybilScorer","nameLocation":"41335:12:130","nodeType":"VariableDeclaration","scope":80564,"src":"41327:20:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":80547,"name":"address","nodeType":"ElementaryTypeName","src":"41327:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"41326:22:130"},"returnParameters":{"id":80552,"nodeType":"ParameterList","parameters":[],"src":"41374:0:130"},"scope":80578,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":80573,"nodeType":"FunctionDefinition","src":"41479:66:130","nodes":[],"body":{"id":80572,"nodeType":"Block","src":"41543:2:130","nodes":[],"statements":[]},"baseFunctions":[56212],"implemented":true,"kind":"function","modifiers":[{"id":80570,"kind":"modifierInvocation","modifierName":{"id":80569,"name":"onlyOwner","nameLocations":["41533:9:130"],"nodeType":"IdentifierPath","referencedDeclaration":52856,"src":"41533:9:130"},"nodeType":"ModifierInvocation","src":"41533:9:130"}],"name":"_authorizeUpgrade","nameLocation":"41488:17:130","overrides":{"id":80568,"nodeType":"OverrideSpecifier","overrides":[],"src":"41524:8:130"},"parameters":{"id":80567,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80566,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":80573,"src":"41506:7:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":80565,"name":"address","nodeType":"ElementaryTypeName","src":"41506:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"41505:9:130"},"returnParameters":{"id":80571,"nodeType":"ParameterList","parameters":[],"src":"41543:0:130"},"scope":80578,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":80577,"nodeType":"VariableDeclaration","src":"41551:25:130","nodes":[],"constant":false,"mutability":"mutable","name":"__gap","nameLocation":"41571:5:130","scope":80578,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$50_storage","typeString":"uint256[50]"},"typeName":{"baseType":{"id":80574,"name":"uint256","nodeType":"ElementaryTypeName","src":"41551:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":80576,"length":{"hexValue":"3530","id":80575,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"41559:2:130","typeDescriptions":{"typeIdentifier":"t_rational_50_by_1","typeString":"int_const 50"},"value":"50"},"nodeType":"ArrayTypeName","src":"41551:11:130","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$50_storage_ptr","typeString":"uint256[50]"}},"visibility":"private"}],"abstract":false,"baseContracts":[{"baseName":{"id":77753,"name":"OwnableUpgradeable","nameLocations":["3094:18:130"],"nodeType":"IdentifierPath","referencedDeclaration":52942,"src":"3094:18:130"},"id":77754,"nodeType":"InheritanceSpecifier","src":"3094:18:130"},{"baseName":{"id":77755,"name":"BaseStrategyUpgradeable","nameLocations":["3114:23:130"],"nodeType":"IdentifierPath","referencedDeclaration":74672,"src":"3114:23:130"},"id":77756,"nodeType":"InheritanceSpecifier","src":"3114:23:130"},{"baseName":{"id":77757,"name":"IPointStrategy","nameLocations":["3139:14:130"],"nodeType":"IdentifierPath","referencedDeclaration":77667,"src":"3139:14:130"},"id":77758,"nodeType":"InheritanceSpecifier","src":"3139:14:130"},{"baseName":{"id":77759,"name":"ERC165","nameLocations":["3155:6:130"],"nodeType":"IdentifierPath","referencedDeclaration":58266,"src":"3155:6:130"},"id":77760,"nodeType":"InheritanceSpecifier","src":"3155:6:130"}],"canonicalName":"CVStrategyV0_0","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[80578,58266,58472,77667,74672,3089,3317,3106,2969,56213,55866,55515,55525,52942,53735,53191],"name":"CVStrategyV0_0","nameLocation":"3076:14:130","scope":80579,"usedErrors":[3008,3011,3014,3017,3020,3023,3026,3029,3032,3035,3038,3041,3044,3047,3050,3053,3056,3059,3062,3065,3068,3071,3074,3079,3082,3085,3088,3117,77765,77767,77769,77771,77773,77775,77777,77779,77781,77783,77785,77793,77795,77797,77803,77805,77807,77811,77815,77821,77823,77825,77833,77835,77837]}],"license":"AGPL-3.0-only"},"id":130} \ No newline at end of file +{"abi":[],"bytecode":{"object":"0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212200e5b65ff63b5f10998eda4e4fbc354e73a8c5a010e377ca00b5c3f33399e66ba64736f6c63430008130033","sourceMap":"1194:1871:130:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;1194:1871:130;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212200e5b65ff63b5f10998eda4e4fbc354e73a8c5a010e377ca00b5c3f33399e66ba64736f6c63430008130033","sourceMap":"1194:1871:130:-:0;;;;;;;;","linkReferences":{}},"methodIdentifiers":{},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"pkg/contracts/src/CVStrategyV0_0.sol\":\"StrategyStruct\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1000},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":eas-proxy/=lib/allo-v2/lib/eas-proxy/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":hedgey-vesting/=lib/allo-v2/lib/hedgey-vesting/contracts/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-contracts/=lib/safe-contracts/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":superfluid-protocol-monorepo/=lib/allo-v2/lib/superfluid-protocol-monorepo/packages/solidity-semantic-money/src/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"]},\"sources\":{\"lib/allo-v2/contracts/core/interfaces/IAllo.sol\":{\"keccak256\":\"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7\",\"dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1\"]},\"lib/allo-v2/contracts/core/interfaces/IRegistry.sol\":{\"keccak256\":\"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e\",\"dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA\"]},\"lib/allo-v2/contracts/core/interfaces/IStrategy.sol\":{\"keccak256\":\"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487\",\"dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH\"]},\"lib/allo-v2/contracts/core/libraries/Clone.sol\":{\"keccak256\":\"0xc348b24b7d8a98c4faa5f2aa37ce9264a74f81dbdef1a9bae2eaa125585c3c7e\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://1335b3ec59ec7e3d12ea7c90b3aa56f4c26e0d44d342f54412933be9d4f16067\",\"dweb:/ipfs/QmXNFo2wCyq9cpvfgbdHvBUQecThFSEoUnMuZNS6WinDrr\"]},\"lib/allo-v2/contracts/core/libraries/Errors.sol\":{\"keccak256\":\"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf\",\"dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA\"]},\"lib/allo-v2/contracts/core/libraries/Metadata.sol\":{\"keccak256\":\"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c\",\"dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn\"]},\"lib/allo-v2/contracts/core/libraries/Native.sol\":{\"keccak256\":\"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a\",\"dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv\"]},\"lib/allo-v2/contracts/core/libraries/Transfer.sol\":{\"keccak256\":\"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11\",\"dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5\"]},\"lib/allo-v2/contracts/strategies/BaseStrategy.sol\":{\"keccak256\":\"0x3f1382dc6c35d50545e327e7ed6016f2bd752357d446bd698014073f0b812873\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://99500abcd617fa43f6dde49e2c7802821ceaf54a65a8055cbbf2695ecd107974\",\"dweb:/ipfs/QmUktZkWuu3GCMEijY1fqt7NMy7BzpTvEtcmpB1fuoa7zt\"]},\"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol\":{\"keccak256\":\"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298\",\"dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x51fec240abc6dd23e0ee6de7c65106379aef732cad6c4ae5df6b55db886e7456\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://a47d9c0a9876e7f9e411843b994a741d4ac1a87d8459ffc3c56359de691ddc1a\",\"dweb:/ipfs/QmQiFN9b3Y2azrD1RBfAKEuAG3YeJkMzA2DGzgEE9kMeEK\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0xc8710577334e8d0799ae2b2a731b1924a7bddd64319da9787ddd2dc69bdd1ce5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b83b7afa4d2372da3ba5402fb10860a105c35d79812c60dc61007be2afc17618\",\"dweb:/ipfs/QmYX9xPmbNVSKXrepKiUZiG5oL3SdzFp9a4kqspxX1sEUx\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol\":{\"keccak256\":\"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c\",\"dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol\":{\"keccak256\":\"0x359a1ab89b46b9aba7bcad3fb651924baf4893d15153049b9976b0fc9be1358e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e89863421b4014b96a4b62be76eb3b9f0a8afe9684664a6f389124c0964bfe5c\",\"dweb:/ipfs/Qmbk7xr1irpDuU1WdxXgxELBXxs61rHhCgod7heVcvFx16\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol\":{\"keccak256\":\"0x3d98edeb5d5be8410fca707b73dabe7544d1dd11e35b73dd907c473fe43cc3ae\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1a3fa9fc3aec149b8ad0dd8895277ab11e9244e9d2b7adc8404b22de974fc964\",\"dweb:/ipfs/QmRggzxs1WjuvGJSAKb2Nw5r7P3VDMefCWKTbkNPKRkv2j\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e\",\"dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol\":{\"keccak256\":\"0x2025ccf05f6f1f2fd4e078e552836f525a1864e3854ed555047cd732320ab29b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d27f4b23c2dee42394aebaf42bf238285230f472dfd3282a39c3f000ec28214f\",\"dweb:/ipfs/QmQa3DnvccwdWJeWrjgXPnFMTWbzWQWR39hVqC7eEwo2PC\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b\",\"dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95\",\"dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol\":{\"keccak256\":\"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a\",\"dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0xd90d7723512df65ae417adaf0801042940f0dabd60039ceeaffe34aa5b238da1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1b13befeb3413749292f9fb229de1c7a509a5ce2c8047d9094fc004ca9d3af89\",\"dweb:/ipfs/QmRzJ2hZSwRtMejHUZAYTPRKgZsnfb112Fno9Jf3EiDfwA\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol\":{\"keccak256\":\"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758\",\"dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol\":{\"keccak256\":\"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91\",\"dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol\":{\"keccak256\":\"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4\",\"dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z\"]},\"lib/openzeppelin-contracts/contracts/access/AccessControl.sol\":{\"keccak256\":\"0x0dd6e52cb394d7f5abe5dca2d4908a6be40417914720932de757de34a99ab87f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://dc117ce50ea746cab6b97ed1a1facee17a715ae0cb95d67b943dacbaf15176fb\",\"dweb:/ipfs/QmYRZ2UGNYwsHwfNu7Wjr8L2j1LBZ1mKv6NvbwgterYMXc\"]},\"lib/openzeppelin-contracts/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0x59ce320a585d7e1f163cd70390a0ef2ff9cec832e2aa544293a00692465a7a57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb2c137c343ef0c4c7ce7b18c1d108afdc9d315a04e48307288d2d05adcbde3a\",\"dweb:/ipfs/QmUxhrAQM3MM3FF5j7AtcXLXguWCJBHJ14BRdVtuoQc8Fh\"]},\"lib/openzeppelin-contracts/contracts/access/Ownable.sol\":{\"keccak256\":\"0xba43b97fba0d32eb4254f6a5a297b39a19a247082a02d6e69349e071e2946218\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fc980984badf3984b6303b377711220e067722bbd6a135b24669ff5069ef9f32\",\"dweb:/ipfs/QmPHXMSXj99XjSVM21YsY6aNtLLjLVXDbyN76J5HQYvvrz\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol\":{\"keccak256\":\"0x3cbef5ebc24b415252e2f8c0c9254555d30d9f085603b4b80d9b5ed20ab87e90\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e8fa670c3bdce78e642cc6ae11c4cb38b133499cdce5e1990a9979d424703263\",\"dweb:/ipfs/QmVxeCUk4jL2pXQyhsoNJwyU874wRufS2WvGe8TgPKPqhE\"]},\"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol\":{\"keccak256\":\"0x1d4afe6cb24200cc4545eed814ecf5847277dfe5d613a1707aad5fceecebcfff\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://383fb7b8181016ac5ccf07bc9cdb7c1b5045ea36e2cc4df52bcbf20396fc7688\",\"dweb:/ipfs/QmYJ7Cg4WmE3rR8KGQxjUCXFfTH6TcwZ2Z1f6tPrq7jHFr\"]},\"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol\":{\"keccak256\":\"0xa2b22da3032e50b55f95ec1d13336102d675f341167aa76db571ef7f8bb7975d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96b6d77a20bebd4eb06b801d3d020c7e82be13bd535cb0d0a6b7181c51dab5d5\",\"dweb:/ipfs/QmPUR9Cv9jNFdQX6PtBfaBW1ZCnKwiu65R2VD5kbdanDyn\"]},\"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Upgrade.sol\":{\"keccak256\":\"0x3b21ae06bf5957f73fa16754b0669c77b7abd8ba6c072d35c3281d446fdb86c2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2db8e18505e86e02526847005d7287a33e397ed7fb9eaba3fd4a4a197add16e2\",\"dweb:/ipfs/QmW9BSuKTzHWHBNSHF4L8XfVuU1uJrP2vLg84YtBd8mL82\"]},\"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol\":{\"keccak256\":\"0xc130fe33f1b2132158531a87734153293f6d07bc263ff4ac90e85da9c82c0e27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8831721b6f4cc26534d190f9f1631c3f59c9ff38efdd911f85e0882b8e360472\",\"dweb:/ipfs/QmQZnLErZNStirSQ13ZNWQgvEYUtGE5tXYwn4QUPaVUfPN\"]},\"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0xd50a3421ac379ccb1be435fa646d66a65c986b4924f0849839f08692f39dde61\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ada1e030c0231db8d143b44ce92b4d1158eedb087880cad6d8cc7bd7ebe7b354\",\"dweb:/ipfs/QmWZ2NHZweRpz1U9GF6R1h65ri76dnX7fNxLBeM2t5N5Ce\"]},\"lib/openzeppelin-contracts/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x3d6069be9b4c01fb81840fb9c2c4dc58dd6a6a4aafaa2c6837de8699574d84c6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://720d6bb56ea0c4ef781c0bd65c5bd0541f5a46100163b2587170f97658d2deed\",\"dweb:/ipfs/QmTS2biLVPrv8CeeXCaKmkFxonMiRvc1LxiYBRYDAJHQUS\"]},\"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol\":{\"keccak256\":\"0xc6619957bcc6641fe8984bfaf9ff11a9e4b97d8149c0495f608f9a2416d7c5cf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://543be67f7fa43b1b932637c1c7f12035f0f4b0f7ee2bd3c33841186f79c165c1\",\"dweb:/ipfs/QmSBPM2UVKbmJqWfD9i6hSiqbaE8TV4TSqfuiivziRRLKM\"]},\"lib/openzeppelin-contracts/contracts/security/ReentrancyGuard.sol\":{\"keccak256\":\"0xa535a5df777d44e945dd24aa43a11e44b024140fc340ad0dfe42acf4002aade1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://41319e7f621f2dc3733511332c4fd032f8e32ad2aa7fd6f665c19741d9941a34\",\"dweb:/ipfs/QmcYR3bd862GD1Bc7jwrU9bGxrhUu5na1oP964bDCu2id1\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15\",\"dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5\",\"dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd\",\"dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol\":{\"keccak256\":\"0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a\",\"dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0x909d608c2db6eb165ca178c81289a07ed2e118e444d0025b2a85c97d0b44a4fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://656cda26512ddd7373c2d5551c8fae759fc30f05b10f0fc2e738e9274199dbd4\",\"dweb:/ipfs/QmTSArSzQRFbQmHgq7U1PZXnsDFhvDZhKVu9CzMG4yo6Lx\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xf09e68aa0dc6722a25bc46490e8d48ed864466d17313b8a0b254c36b54e49899\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e26daf81e2252dc1fe1ce0e4b55c2eb7c6d1ee84ae6558d1a9554432ea1d32da\",\"dweb:/ipfs/Qmb1UANWiWq5pCKbmHSu772hd4nt374dVaghGmwSVNuk8Q\"]},\"lib/openzeppelin-contracts/contracts/utils/Strings.sol\":{\"keccak256\":\"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f\",\"dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol\":{\"keccak256\":\"0x5a08ad61f4e82b8a3323562661a86fb10b10190848073fdc13d4ac43710ffba5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6f7bb74cf88fd88daa34e118bc6e363381d05044f34f391d39a10c0c9dac3ebd\",\"dweb:/ipfs/QmNbQ3v8v4zuDtg7VeLAbdhAm3tCzUodNoDZZ8ekmCHWZX\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]},\"lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/src/strings.sol\":{\"keccak256\":\"0x42cad11a7033f2fe05dd68611d2304407a620ac985b91edf29d5868cfe196223\",\"urls\":[\"bzz-raw://3cbc2333234e1f00eab5e57c4bcaf5115661e5e066a17c70af587a0a96f24669\",\"dweb:/ipfs/QmPHvStqcvZL46LW5N2ExTwAaqNhRCcmAX66aR6oE1WDar\"]},\"lib/openzeppelin-foundry-upgrades/src/Defender.sol\":{\"keccak256\":\"0x2114e4d70d53b36e8cec54ba11ff78d9f38a466ec3504c76c7f26101a7cff37f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://58f4d9bc58646e7631b263cdb8ef260e6818e9f716036d81d1c18218c9557a23\",\"dweb:/ipfs/QmS18L4R4gPtay9eQBcR28DnwmBkGSWsiCFwm2tXc3BkHL\"]},\"lib/openzeppelin-foundry-upgrades/src/LegacyUpgrades.sol\":{\"keccak256\":\"0x8436719f73c76efadaa16cd719d088f698ea3591595dfdf2c15fd66f3e203197\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ac8d0e55defe124adcc3845348602d6528b00b7dc5f7abf9e1b245d0cea9b55e\",\"dweb:/ipfs/QmaPBoG89Bd2btJZW5kjXx7zXo6KhAdeTuMq5xo431M8xq\"]},\"lib/openzeppelin-foundry-upgrades/src/Options.sol\":{\"keccak256\":\"0xa5414683d6b219b28e75ecaab3d00a305dfaf4d970389a88992275c8072ce8ac\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1dbfd566ba318f2b740159c28e4511c84c9d76fcc293ae17c9b1a87b3ea16c9\",\"dweb:/ipfs/QmcyxPoeBdzA9iHEgd76xKhaQ8HKfpV4owdSv6127MmveT\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Core.sol\":{\"keccak256\":\"0x37073df20d2b5fbb0a873e6b2dd76c23e23455d1c2d2ba57d2f0998201a4251d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://79d507647ea48d93371341684cf4199d55ed799db9d3489bc016f53990d2ff7c\",\"dweb:/ipfs/QmQWgXiYcPcwNcrkTHb72WtHd4xPcXfRUMfBrhkDHgr2ut\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/DefenderDeploy.sol\":{\"keccak256\":\"0x868ffdaf5d185fee103fc4581385392b47c209a5cfd2aec01f0307dbc0101d73\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://76e51bf69a4d0b5d1d9cfa7efa442bdcf9d713966563432ef8fdd00ec959a25e\",\"dweb:/ipfs/QmTHkdvMnqmEvus7zbmHhPkWk3fM9SW2Jq8gnyBLwVJtxG\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Utils.sol\":{\"keccak256\":\"0x4de002af810f6a5fe26a6381e0ead3331735bd0059434a22df75e17c177b5f87\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af32ff07f606e530a53030db141a75af144cfe065a6543939d412018c6159540\",\"dweb:/ipfs/QmbfTB92Zd8VQHW61g9dx1CvGgSL5SCoZDLrvJfnR7Ctio\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Versions.sol\":{\"keccak256\":\"0xf1a1441c18a296853509e9b1d18be794ed3de836caea49d6948b5e9ac566e8c6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6f3463514235bd875ecacf45f95cac64aa650dd38d05c15fe1f4203b6b5733bd\",\"dweb:/ipfs/Qmcbhmw9NPkG8MqiVsQ4qUupeQFCRgyBDKuoUwohwa8EP3\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IProxyAdmin.sol\":{\"keccak256\":\"0xf5e514595089f8959da130507086e7388602a71ce60575d141e7d892dfbddbfc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9b41366e2823ccc8cb42304496d761b3df80946d17384634a61afd7139495c91\",\"dweb:/ipfs/QmZE2nRMxax1NPj63ifemKdScGJzKNWi7BCGudjFLsUz1y\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableBeacon.sol\":{\"keccak256\":\"0xa8d7bffdd26eb763e459650c83f247b54af79800c2df52ad05878f238fc1c2f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ed47f1e53e5eb7d48fed60a414755641fca8fa0e713fd503b2597227da78a2f\",\"dweb:/ipfs/QmQr8A5wddHdhQNauFShXxRkPcuVVpVsYpq846WhmFC8Tv\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableProxy.sol\":{\"keccak256\":\"0x781b564b90bba0c0e8e12fb66b1c910f42d369db469f2e88592b4cff29de99a5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://45fcab02a43fde934445b88e905aba3f58a70b75dd6ee6eb86a3d593424aeb03\",\"dweb:/ipfs/QmXmhAgrctaYUDLoTRgUjwD4deoXu1E2QT1kftVGcVa56j\"]},\"pkg/contracts/src/BaseStrategyUpgradeable.sol\":{\"keccak256\":\"0xe059f9e1a262a4713e230a6025c3356681bb5f3c8013b87bc579bae93aa66c20\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://37e879664b08005b9544457cf89bce77e38b6a25639566df7366b9e5968c815e\",\"dweb:/ipfs/QmYgNRqZfYUPbWgcHUHghTcpqjVmT9v4HfkfPdEF64fYe5\"]},\"pkg/contracts/src/CVStrategy.sol\":{\"keccak256\":\"0x132bcf17470960e380d841159d9389985d609aaae1c9a657c78902f7871da957\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://84e905bf392579b44f33fff8586431b940e110b2210854cf487321cc92061705\",\"dweb:/ipfs/QmQpvszYu8RbrXmUFLifSodQzV8LAqazk1fzXNARGc5sBT\"]},\"pkg/contracts/src/CVStrategyV0_0.sol\":{\"keccak256\":\"0x79d01b399c8d735923dfa26b8dacba6200a861202dd6fb1c7711241285439d2d\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://e7ea0014e25a729d6d688620658df81a179a8c2380ae0bc4c78668cd486adb04\",\"dweb:/ipfs/QmdPM8JpFXeqBxQgkRzM1inzCT2rkRxnpoSrFk8DauDpNf\"]},\"pkg/contracts/src/ISybilScorer.sol\":{\"keccak256\":\"0x0e25fbb8497ac3c969d80c9032362d45e56c0a45dc9ba3dff6a8a704571f38ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0dff90ebae6e7131a5300fcaf525bc2ab0ae90fcd13f277d7b7b6939eeb8b7eb\",\"dweb:/ipfs/QmYGkYqpUVrBWoNY6f3CtwrrVQFWSvnJfpu68t95f6AkBY\"]},\"pkg/contracts/src/RegistryCommunity.sol\":{\"keccak256\":\"0xc735f4d2635149f2db9bff291da56e08c3c312d9eb1b767b8a1e3e51584d5734\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://247b33b78abface6a7e2da38174386de9b543f6a27e8340e26d854bff57184a3\",\"dweb:/ipfs/QmedNdqkqeboGzz9w868uGf7KnXUaYZe6i1YcdUPPkJnnf\"]},\"pkg/contracts/src/RegistryCommunityV0_0.sol\":{\"keccak256\":\"0x6525c857f7baff606e87bbc2878f3606923997a444eb500aa15018c676c972a9\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://89d2af9f470c8d7431ff6b1981b7bf46520f719d68da38ab3ca065496a6297d8\",\"dweb:/ipfs/QmceJHX57HbnBXVfmhtRPmnApUQy5QSWTybgq6g37vCxEN\"]},\"pkg/contracts/src/RegistryFactory.sol\":{\"keccak256\":\"0x888b7f5eb1079f90ccfa0b41d8a970bffd8d4d469f9b31917a58279b358dbda5\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://af25fd783de00adf01d1c7caa572801fed0d474306a43b862535b08e65ec10c6\",\"dweb:/ipfs/Qmeb2nEaMQLV86y1CYAAV2c6BYpBDTbpLuC1SigeNjdqLo\"]},\"pkg/contracts/src/interfaces/FAllo.sol\":{\"keccak256\":\"0x32f38cb4400a07a99ae68a9beb91e5649886487172fd50561da6763464efc437\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://cb4f0cee2f3fbede7be5e8e1d7ee8034086359cd07b9dab49c4a991388e5c458\",\"dweb:/ipfs/QmS26kA8cZ9shWwxcbF17Kes8L7Jgw85EQVydDmwb34mjM\"]},\"pkg/contracts/src/interfaces/ISafe.sol\":{\"keccak256\":\"0x878a210809bb684c42157a10f3f90350a67d0a4863f130499942b06f0f2c9143\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://fa2d71bd427c3415e98a2ee15ff673f3cc61c17f14d7087c5eedc83b55f6b0ef\",\"dweb:/ipfs/QmesVSmJQQzi6ys1cvhQFCJyDXchb736mT5bXks4Yp6Cbj\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","eas-proxy/=lib/allo-v2/lib/eas-proxy/contracts/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","hedgey-vesting/=lib/allo-v2/lib/hedgey-vesting/contracts/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-contracts/=lib/safe-contracts/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","superfluid-protocol-monorepo/=lib/allo-v2/lib/superfluid-protocol-monorepo/packages/solidity-semantic-money/src/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":1000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"pkg/contracts/src/CVStrategyV0_0.sol":"StrategyStruct"},"evmVersion":"paris","libraries":{}},"sources":{"lib/allo-v2/contracts/core/interfaces/IAllo.sol":{"keccak256":"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce","urls":["bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7","dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/interfaces/IRegistry.sol":{"keccak256":"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f","urls":["bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e","dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA"],"license":"MIT"},"lib/allo-v2/contracts/core/interfaces/IStrategy.sol":{"keccak256":"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23","urls":["bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487","dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Clone.sol":{"keccak256":"0xc348b24b7d8a98c4faa5f2aa37ce9264a74f81dbdef1a9bae2eaa125585c3c7e","urls":["bzz-raw://1335b3ec59ec7e3d12ea7c90b3aa56f4c26e0d44d342f54412933be9d4f16067","dweb:/ipfs/QmXNFo2wCyq9cpvfgbdHvBUQecThFSEoUnMuZNS6WinDrr"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Errors.sol":{"keccak256":"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15","urls":["bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf","dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Metadata.sol":{"keccak256":"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44","urls":["bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c","dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Native.sol":{"keccak256":"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5","urls":["bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a","dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Transfer.sol":{"keccak256":"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286","urls":["bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11","dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/strategies/BaseStrategy.sol":{"keccak256":"0x3f1382dc6c35d50545e327e7ed6016f2bd752357d446bd698014073f0b812873","urls":["bzz-raw://99500abcd617fa43f6dde49e2c7802821ceaf54a65a8055cbbf2695ecd107974","dweb:/ipfs/QmUktZkWuu3GCMEijY1fqt7NMy7BzpTvEtcmpB1fuoa7zt"],"license":"AGPL-3.0-only"},"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol":{"keccak256":"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624","urls":["bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298","dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt"],"license":"MIT"},"lib/forge-std/src/Vm.sol":{"keccak256":"0x51fec240abc6dd23e0ee6de7c65106379aef732cad6c4ae5df6b55db886e7456","urls":["bzz-raw://a47d9c0a9876e7f9e411843b994a741d4ac1a87d8459ffc3c56359de691ddc1a","dweb:/ipfs/QmQiFN9b3Y2azrD1RBfAKEuAG3YeJkMzA2DGzgEE9kMeEK"],"license":"MIT OR Apache-2.0"},"lib/forge-std/src/console.sol":{"keccak256":"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba","urls":["bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70","dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol":{"keccak256":"0xc8710577334e8d0799ae2b2a731b1924a7bddd64319da9787ddd2dc69bdd1ce5","urls":["bzz-raw://b83b7afa4d2372da3ba5402fb10860a105c35d79812c60dc61007be2afc17618","dweb:/ipfs/QmYX9xPmbNVSKXrepKiUZiG5oL3SdzFp9a4kqspxX1sEUx"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol":{"keccak256":"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa","urls":["bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c","dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol":{"keccak256":"0x359a1ab89b46b9aba7bcad3fb651924baf4893d15153049b9976b0fc9be1358e","urls":["bzz-raw://e89863421b4014b96a4b62be76eb3b9f0a8afe9684664a6f389124c0964bfe5c","dweb:/ipfs/Qmbk7xr1irpDuU1WdxXgxELBXxs61rHhCgod7heVcvFx16"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol":{"keccak256":"0x3d98edeb5d5be8410fca707b73dabe7544d1dd11e35b73dd907c473fe43cc3ae","urls":["bzz-raw://1a3fa9fc3aec149b8ad0dd8895277ab11e9244e9d2b7adc8404b22de974fc964","dweb:/ipfs/QmRggzxs1WjuvGJSAKb2Nw5r7P3VDMefCWKTbkNPKRkv2j"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794","urls":["bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e","dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol":{"keccak256":"0x2025ccf05f6f1f2fd4e078e552836f525a1864e3854ed555047cd732320ab29b","urls":["bzz-raw://d27f4b23c2dee42394aebaf42bf238285230f472dfd3282a39c3f000ec28214f","dweb:/ipfs/QmQa3DnvccwdWJeWrjgXPnFMTWbzWQWR39hVqC7eEwo2PC"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol":{"keccak256":"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422","urls":["bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b","dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef","urls":["bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95","dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol":{"keccak256":"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb","urls":["bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a","dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol":{"keccak256":"0xd90d7723512df65ae417adaf0801042940f0dabd60039ceeaffe34aa5b238da1","urls":["bzz-raw://1b13befeb3413749292f9fb229de1c7a509a5ce2c8047d9094fc004ca9d3af89","dweb:/ipfs/QmRzJ2hZSwRtMejHUZAYTPRKgZsnfb112Fno9Jf3EiDfwA"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol":{"keccak256":"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09","urls":["bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758","dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol":{"keccak256":"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e","urls":["bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91","dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol":{"keccak256":"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a","urls":["bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4","dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/access/AccessControl.sol":{"keccak256":"0x0dd6e52cb394d7f5abe5dca2d4908a6be40417914720932de757de34a99ab87f","urls":["bzz-raw://dc117ce50ea746cab6b97ed1a1facee17a715ae0cb95d67b943dacbaf15176fb","dweb:/ipfs/QmYRZ2UGNYwsHwfNu7Wjr8L2j1LBZ1mKv6NvbwgterYMXc"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/access/IAccessControl.sol":{"keccak256":"0x59ce320a585d7e1f163cd70390a0ef2ff9cec832e2aa544293a00692465a7a57","urls":["bzz-raw://bb2c137c343ef0c4c7ce7b18c1d108afdc9d315a04e48307288d2d05adcbde3a","dweb:/ipfs/QmUxhrAQM3MM3FF5j7AtcXLXguWCJBHJ14BRdVtuoQc8Fh"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/access/Ownable.sol":{"keccak256":"0xba43b97fba0d32eb4254f6a5a297b39a19a247082a02d6e69349e071e2946218","urls":["bzz-raw://fc980984badf3984b6303b377711220e067722bbd6a135b24669ff5069ef9f32","dweb:/ipfs/QmPHXMSXj99XjSVM21YsY6aNtLLjLVXDbyN76J5HQYvvrz"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol":{"keccak256":"0x3cbef5ebc24b415252e2f8c0c9254555d30d9f085603b4b80d9b5ed20ab87e90","urls":["bzz-raw://e8fa670c3bdce78e642cc6ae11c4cb38b133499cdce5e1990a9979d424703263","dweb:/ipfs/QmVxeCUk4jL2pXQyhsoNJwyU874wRufS2WvGe8TgPKPqhE"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol":{"keccak256":"0x1d4afe6cb24200cc4545eed814ecf5847277dfe5d613a1707aad5fceecebcfff","urls":["bzz-raw://383fb7b8181016ac5ccf07bc9cdb7c1b5045ea36e2cc4df52bcbf20396fc7688","dweb:/ipfs/QmYJ7Cg4WmE3rR8KGQxjUCXFfTH6TcwZ2Z1f6tPrq7jHFr"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol":{"keccak256":"0xa2b22da3032e50b55f95ec1d13336102d675f341167aa76db571ef7f8bb7975d","urls":["bzz-raw://96b6d77a20bebd4eb06b801d3d020c7e82be13bd535cb0d0a6b7181c51dab5d5","dweb:/ipfs/QmPUR9Cv9jNFdQX6PtBfaBW1ZCnKwiu65R2VD5kbdanDyn"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Upgrade.sol":{"keccak256":"0x3b21ae06bf5957f73fa16754b0669c77b7abd8ba6c072d35c3281d446fdb86c2","urls":["bzz-raw://2db8e18505e86e02526847005d7287a33e397ed7fb9eaba3fd4a4a197add16e2","dweb:/ipfs/QmW9BSuKTzHWHBNSHF4L8XfVuU1uJrP2vLg84YtBd8mL82"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol":{"keccak256":"0xc130fe33f1b2132158531a87734153293f6d07bc263ff4ac90e85da9c82c0e27","urls":["bzz-raw://8831721b6f4cc26534d190f9f1631c3f59c9ff38efdd911f85e0882b8e360472","dweb:/ipfs/QmQZnLErZNStirSQ13ZNWQgvEYUtGE5tXYwn4QUPaVUfPN"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol":{"keccak256":"0xd50a3421ac379ccb1be435fa646d66a65c986b4924f0849839f08692f39dde61","urls":["bzz-raw://ada1e030c0231db8d143b44ce92b4d1158eedb087880cad6d8cc7bd7ebe7b354","dweb:/ipfs/QmWZ2NHZweRpz1U9GF6R1h65ri76dnX7fNxLBeM2t5N5Ce"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x3d6069be9b4c01fb81840fb9c2c4dc58dd6a6a4aafaa2c6837de8699574d84c6","urls":["bzz-raw://720d6bb56ea0c4ef781c0bd65c5bd0541f5a46100163b2587170f97658d2deed","dweb:/ipfs/QmTS2biLVPrv8CeeXCaKmkFxonMiRvc1LxiYBRYDAJHQUS"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol":{"keccak256":"0xc6619957bcc6641fe8984bfaf9ff11a9e4b97d8149c0495f608f9a2416d7c5cf","urls":["bzz-raw://543be67f7fa43b1b932637c1c7f12035f0f4b0f7ee2bd3c33841186f79c165c1","dweb:/ipfs/QmSBPM2UVKbmJqWfD9i6hSiqbaE8TV4TSqfuiivziRRLKM"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/security/ReentrancyGuard.sol":{"keccak256":"0xa535a5df777d44e945dd24aa43a11e44b024140fc340ad0dfe42acf4002aade1","urls":["bzz-raw://41319e7f621f2dc3733511332c4fd032f8e32ad2aa7fd6f665c19741d9941a34","dweb:/ipfs/QmcYR3bd862GD1Bc7jwrU9bGxrhUu5na1oP964bDCu2id1"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol":{"keccak256":"0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c","urls":["bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15","dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305","urls":["bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5","dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol":{"keccak256":"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca","urls":["bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd","dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol":{"keccak256":"0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a","urls":["bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a","dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol":{"keccak256":"0x909d608c2db6eb165ca178c81289a07ed2e118e444d0025b2a85c97d0b44a4fa","urls":["bzz-raw://656cda26512ddd7373c2d5551c8fae759fc30f05b10f0fc2e738e9274199dbd4","dweb:/ipfs/QmTSArSzQRFbQmHgq7U1PZXnsDFhvDZhKVu9CzMG4yo6Lx"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Address.sol":{"keccak256":"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa","urls":["bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931","dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Context.sol":{"keccak256":"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7","urls":["bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92","dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol":{"keccak256":"0xf09e68aa0dc6722a25bc46490e8d48ed864466d17313b8a0b254c36b54e49899","urls":["bzz-raw://e26daf81e2252dc1fe1ce0e4b55c2eb7c6d1ee84ae6558d1a9554432ea1d32da","dweb:/ipfs/Qmb1UANWiWq5pCKbmHSu772hd4nt374dVaghGmwSVNuk8Q"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Strings.sol":{"keccak256":"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0","urls":["bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f","dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol":{"keccak256":"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b","urls":["bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d","dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol":{"keccak256":"0x5a08ad61f4e82b8a3323562661a86fb10b10190848073fdc13d4ac43710ffba5","urls":["bzz-raw://6f7bb74cf88fd88daa34e118bc6e363381d05044f34f391d39a10c0c9dac3ebd","dweb:/ipfs/QmNbQ3v8v4zuDtg7VeLAbdhAm3tCzUodNoDZZ8ekmCHWZX"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/Math.sol":{"keccak256":"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3","urls":["bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c","dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol":{"keccak256":"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc","urls":["bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7","dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/src/strings.sol":{"keccak256":"0x42cad11a7033f2fe05dd68611d2304407a620ac985b91edf29d5868cfe196223","urls":["bzz-raw://3cbc2333234e1f00eab5e57c4bcaf5115661e5e066a17c70af587a0a96f24669","dweb:/ipfs/QmPHvStqcvZL46LW5N2ExTwAaqNhRCcmAX66aR6oE1WDar"],"license":null},"lib/openzeppelin-foundry-upgrades/src/Defender.sol":{"keccak256":"0x2114e4d70d53b36e8cec54ba11ff78d9f38a466ec3504c76c7f26101a7cff37f","urls":["bzz-raw://58f4d9bc58646e7631b263cdb8ef260e6818e9f716036d81d1c18218c9557a23","dweb:/ipfs/QmS18L4R4gPtay9eQBcR28DnwmBkGSWsiCFwm2tXc3BkHL"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/LegacyUpgrades.sol":{"keccak256":"0x8436719f73c76efadaa16cd719d088f698ea3591595dfdf2c15fd66f3e203197","urls":["bzz-raw://ac8d0e55defe124adcc3845348602d6528b00b7dc5f7abf9e1b245d0cea9b55e","dweb:/ipfs/QmaPBoG89Bd2btJZW5kjXx7zXo6KhAdeTuMq5xo431M8xq"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/Options.sol":{"keccak256":"0xa5414683d6b219b28e75ecaab3d00a305dfaf4d970389a88992275c8072ce8ac","urls":["bzz-raw://b1dbfd566ba318f2b740159c28e4511c84c9d76fcc293ae17c9b1a87b3ea16c9","dweb:/ipfs/QmcyxPoeBdzA9iHEgd76xKhaQ8HKfpV4owdSv6127MmveT"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Core.sol":{"keccak256":"0x37073df20d2b5fbb0a873e6b2dd76c23e23455d1c2d2ba57d2f0998201a4251d","urls":["bzz-raw://79d507647ea48d93371341684cf4199d55ed799db9d3489bc016f53990d2ff7c","dweb:/ipfs/QmQWgXiYcPcwNcrkTHb72WtHd4xPcXfRUMfBrhkDHgr2ut"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/DefenderDeploy.sol":{"keccak256":"0x868ffdaf5d185fee103fc4581385392b47c209a5cfd2aec01f0307dbc0101d73","urls":["bzz-raw://76e51bf69a4d0b5d1d9cfa7efa442bdcf9d713966563432ef8fdd00ec959a25e","dweb:/ipfs/QmTHkdvMnqmEvus7zbmHhPkWk3fM9SW2Jq8gnyBLwVJtxG"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Utils.sol":{"keccak256":"0x4de002af810f6a5fe26a6381e0ead3331735bd0059434a22df75e17c177b5f87","urls":["bzz-raw://af32ff07f606e530a53030db141a75af144cfe065a6543939d412018c6159540","dweb:/ipfs/QmbfTB92Zd8VQHW61g9dx1CvGgSL5SCoZDLrvJfnR7Ctio"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Versions.sol":{"keccak256":"0xf1a1441c18a296853509e9b1d18be794ed3de836caea49d6948b5e9ac566e8c6","urls":["bzz-raw://6f3463514235bd875ecacf45f95cac64aa650dd38d05c15fe1f4203b6b5733bd","dweb:/ipfs/Qmcbhmw9NPkG8MqiVsQ4qUupeQFCRgyBDKuoUwohwa8EP3"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IProxyAdmin.sol":{"keccak256":"0xf5e514595089f8959da130507086e7388602a71ce60575d141e7d892dfbddbfc","urls":["bzz-raw://9b41366e2823ccc8cb42304496d761b3df80946d17384634a61afd7139495c91","dweb:/ipfs/QmZE2nRMxax1NPj63ifemKdScGJzKNWi7BCGudjFLsUz1y"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableBeacon.sol":{"keccak256":"0xa8d7bffdd26eb763e459650c83f247b54af79800c2df52ad05878f238fc1c2f8","urls":["bzz-raw://8ed47f1e53e5eb7d48fed60a414755641fca8fa0e713fd503b2597227da78a2f","dweb:/ipfs/QmQr8A5wddHdhQNauFShXxRkPcuVVpVsYpq846WhmFC8Tv"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableProxy.sol":{"keccak256":"0x781b564b90bba0c0e8e12fb66b1c910f42d369db469f2e88592b4cff29de99a5","urls":["bzz-raw://45fcab02a43fde934445b88e905aba3f58a70b75dd6ee6eb86a3d593424aeb03","dweb:/ipfs/QmXmhAgrctaYUDLoTRgUjwD4deoXu1E2QT1kftVGcVa56j"],"license":"MIT"},"pkg/contracts/src/BaseStrategyUpgradeable.sol":{"keccak256":"0xe059f9e1a262a4713e230a6025c3356681bb5f3c8013b87bc579bae93aa66c20","urls":["bzz-raw://37e879664b08005b9544457cf89bce77e38b6a25639566df7366b9e5968c815e","dweb:/ipfs/QmYgNRqZfYUPbWgcHUHghTcpqjVmT9v4HfkfPdEF64fYe5"],"license":"AGPL-3.0-only"},"pkg/contracts/src/CVStrategy.sol":{"keccak256":"0x132bcf17470960e380d841159d9389985d609aaae1c9a657c78902f7871da957","urls":["bzz-raw://84e905bf392579b44f33fff8586431b940e110b2210854cf487321cc92061705","dweb:/ipfs/QmQpvszYu8RbrXmUFLifSodQzV8LAqazk1fzXNARGc5sBT"],"license":"AGPL-3.0-only"},"pkg/contracts/src/CVStrategyV0_0.sol":{"keccak256":"0x79d01b399c8d735923dfa26b8dacba6200a861202dd6fb1c7711241285439d2d","urls":["bzz-raw://e7ea0014e25a729d6d688620658df81a179a8c2380ae0bc4c78668cd486adb04","dweb:/ipfs/QmdPM8JpFXeqBxQgkRzM1inzCT2rkRxnpoSrFk8DauDpNf"],"license":"AGPL-3.0-only"},"pkg/contracts/src/ISybilScorer.sol":{"keccak256":"0x0e25fbb8497ac3c969d80c9032362d45e56c0a45dc9ba3dff6a8a704571f38ea","urls":["bzz-raw://0dff90ebae6e7131a5300fcaf525bc2ab0ae90fcd13f277d7b7b6939eeb8b7eb","dweb:/ipfs/QmYGkYqpUVrBWoNY6f3CtwrrVQFWSvnJfpu68t95f6AkBY"],"license":"MIT"},"pkg/contracts/src/RegistryCommunity.sol":{"keccak256":"0xc735f4d2635149f2db9bff291da56e08c3c312d9eb1b767b8a1e3e51584d5734","urls":["bzz-raw://247b33b78abface6a7e2da38174386de9b543f6a27e8340e26d854bff57184a3","dweb:/ipfs/QmedNdqkqeboGzz9w868uGf7KnXUaYZe6i1YcdUPPkJnnf"],"license":"AGPL-3.0-only"},"pkg/contracts/src/RegistryCommunityV0_0.sol":{"keccak256":"0x6525c857f7baff606e87bbc2878f3606923997a444eb500aa15018c676c972a9","urls":["bzz-raw://89d2af9f470c8d7431ff6b1981b7bf46520f719d68da38ab3ca065496a6297d8","dweb:/ipfs/QmceJHX57HbnBXVfmhtRPmnApUQy5QSWTybgq6g37vCxEN"],"license":"AGPL-3.0-only"},"pkg/contracts/src/RegistryFactory.sol":{"keccak256":"0x888b7f5eb1079f90ccfa0b41d8a970bffd8d4d469f9b31917a58279b358dbda5","urls":["bzz-raw://af25fd783de00adf01d1c7caa572801fed0d474306a43b862535b08e65ec10c6","dweb:/ipfs/Qmeb2nEaMQLV86y1CYAAV2c6BYpBDTbpLuC1SigeNjdqLo"],"license":"AGPL-3.0-only"},"pkg/contracts/src/interfaces/FAllo.sol":{"keccak256":"0x32f38cb4400a07a99ae68a9beb91e5649886487172fd50561da6763464efc437","urls":["bzz-raw://cb4f0cee2f3fbede7be5e8e1d7ee8034086359cd07b9dab49c4a991388e5c458","dweb:/ipfs/QmS26kA8cZ9shWwxcbF17Kes8L7Jgw85EQVydDmwb34mjM"],"license":"AGPL-3.0-only"},"pkg/contracts/src/interfaces/ISafe.sol":{"keccak256":"0x878a210809bb684c42157a10f3f90350a67d0a4863f130499942b06f0f2c9143","urls":["bzz-raw://fa2d71bd427c3415e98a2ee15ff673f3cc61c17f14d7087c5eedc83b55f6b0ef","dweb:/ipfs/QmesVSmJQQzi6ys1cvhQFCJyDXchb736mT5bXks4Yp6Cbj"],"license":"LGPL-3.0-only"}},"version":1},"storageLayout":{"storage":[],"types":{}},"ast":{"absolutePath":"pkg/contracts/src/CVStrategyV0_0.sol","id":80579,"exportedSymbols":{"BaseStrategy":[3923],"BaseStrategyUpgradeable":[74672],"CVStrategyV0_0":[80578],"ERC165":[58266],"ERC20":[56991],"IAllo":[2610],"IERC165":[58472],"IPointStrategy":[77667],"ISybilScorer":[80667],"Math":[59338],"Metadata":[3098],"OwnableUpgradeable":[52942],"PassportData":[80585],"RegistryCommunityV0_0":[85047],"StrategyStruct":[77752],"UUPSUpgradeable":[56213],"console":[29549]},"nodeType":"SourceUnit","src":"42:41538:130","nodes":[{"id":77613,"nodeType":"PragmaDirective","src":"42:24:130","nodes":[],"literals":["solidity","^","0.8",".19"]},{"id":77616,"nodeType":"ImportDirective","src":"68:82:130","nodes":[],"absolutePath":"lib/allo-v2/contracts/strategies/BaseStrategy.sol","file":"allo-v2-contracts/strategies/BaseStrategy.sol","nameLocation":"-1:-1:-1","scope":80579,"sourceUnit":3924,"symbolAliases":[{"foreign":{"id":77614,"name":"BaseStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3923,"src":"76:12:130","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":77615,"name":"IAllo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2610,"src":"90:5:130","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":77619,"nodeType":"ImportDirective","src":"152:76:130","nodes":[],"absolutePath":"pkg/contracts/src/RegistryCommunityV0_0.sol","file":"./RegistryCommunityV0_0.sol","nameLocation":"-1:-1:-1","scope":80579,"sourceUnit":85048,"symbolAliases":[{"foreign":{"id":77617,"name":"RegistryCommunityV0_0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85047,"src":"160:21:130","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":77618,"name":"Metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3098,"src":"183:8:130","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":77622,"nodeType":"ImportDirective","src":"229:87:130","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol","file":"@openzeppelin/contracts/utils/introspection/ERC165.sol","nameLocation":"-1:-1:-1","scope":80579,"sourceUnit":58267,"symbolAliases":[{"foreign":{"id":77620,"name":"ERC165","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58266,"src":"237:6:130","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":77621,"name":"IERC165","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58472,"src":"245:7:130","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":77624,"nodeType":"ImportDirective","src":"317:68:130","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol","file":"@openzeppelin/contracts/token/ERC20/ERC20.sol","nameLocation":"-1:-1:-1","scope":80579,"sourceUnit":56992,"symbolAliases":[{"foreign":{"id":77623,"name":"ERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56991,"src":"325:5:130","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":77626,"nodeType":"ImportDirective","src":"387:46:130","nodes":[],"absolutePath":"lib/forge-std/src/console.sol","file":"forge-std/console.sol","nameLocation":"-1:-1:-1","scope":80579,"sourceUnit":29550,"symbolAliases":[{"foreign":{"id":77625,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29549,"src":"395:7:130","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":77628,"nodeType":"ImportDirective","src":"435:65:130","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/utils/math/Math.sol","file":"@openzeppelin/contracts/utils/math/Math.sol","nameLocation":"-1:-1:-1","scope":80579,"sourceUnit":59339,"symbolAliases":[{"foreign":{"id":77627,"name":"Math","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59338,"src":"443:4:130","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":77631,"nodeType":"ImportDirective","src":"501:62:130","nodes":[],"absolutePath":"pkg/contracts/src/ISybilScorer.sol","file":"./ISybilScorer.sol","nameLocation":"-1:-1:-1","scope":80579,"sourceUnit":80668,"symbolAliases":[{"foreign":{"id":77629,"name":"ISybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80667,"src":"509:12:130","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":77630,"name":"PassportData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80585,"src":"523:12:130","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":77633,"nodeType":"ImportDirective","src":"565:88:130","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol","file":"@openzeppelin/contracts/proxy/utils/UUPSUpgradeable.sol","nameLocation":"-1:-1:-1","scope":80579,"sourceUnit":56214,"symbolAliases":[{"foreign":{"id":77632,"name":"UUPSUpgradeable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56213,"src":"573:15:130","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":77635,"nodeType":"ImportDirective","src":"654:110:130","nodes":[],"absolutePath":"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol","file":"openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol","nameLocation":"-1:-1:-1","scope":80579,"sourceUnit":52943,"symbolAliases":[{"foreign":{"id":77634,"name":"OwnableUpgradeable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52942,"src":"662:18:130","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":77637,"nodeType":"ImportDirective","src":"765:70:130","nodes":[],"absolutePath":"pkg/contracts/src/BaseStrategyUpgradeable.sol","file":"./BaseStrategyUpgradeable.sol","nameLocation":"-1:-1:-1","scope":80579,"sourceUnit":74673,"symbolAliases":[{"foreign":{"id":77636,"name":"BaseStrategyUpgradeable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74672,"src":"773:23:130","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":77667,"nodeType":"ContractDefinition","src":"837:355:130","nodes":[{"id":77642,"nodeType":"FunctionDefinition","src":"868:52:130","nodes":[],"functionSelector":"6453d9c4","implemented":false,"kind":"function","modifiers":[],"name":"deactivatePoints","nameLocation":"877:16:130","parameters":{"id":77640,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77639,"mutability":"mutable","name":"_member","nameLocation":"902:7:130","nodeType":"VariableDeclaration","scope":77642,"src":"894:15:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":77638,"name":"address","nodeType":"ElementaryTypeName","src":"894:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"893:17:130"},"returnParameters":{"id":77641,"nodeType":"ParameterList","parameters":[],"src":"919:0:130"},"scope":77667,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":77651,"nodeType":"FunctionDefinition","src":"925:91:130","nodes":[],"functionSelector":"782aadff","implemented":false,"kind":"function","modifiers":[],"name":"increasePower","nameLocation":"934:13:130","parameters":{"id":77647,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77644,"mutability":"mutable","name":"_member","nameLocation":"956:7:130","nodeType":"VariableDeclaration","scope":77651,"src":"948:15:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":77643,"name":"address","nodeType":"ElementaryTypeName","src":"948:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":77646,"mutability":"mutable","name":"_amountToStake","nameLocation":"973:14:130","nodeType":"VariableDeclaration","scope":77651,"src":"965:22:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77645,"name":"uint256","nodeType":"ElementaryTypeName","src":"965:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"947:41:130"},"returnParameters":{"id":77650,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77649,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":77651,"src":"1007:7:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77648,"name":"uint256","nodeType":"ElementaryTypeName","src":"1007:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1006:9:130"},"scope":77667,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":77660,"nodeType":"FunctionDefinition","src":"1021:92:130","nodes":[],"functionSelector":"2ed04b2b","implemented":false,"kind":"function","modifiers":[],"name":"decreasePower","nameLocation":"1030:13:130","parameters":{"id":77656,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77653,"mutability":"mutable","name":"_member","nameLocation":"1052:7:130","nodeType":"VariableDeclaration","scope":77660,"src":"1044:15:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":77652,"name":"address","nodeType":"ElementaryTypeName","src":"1044:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":77655,"mutability":"mutable","name":"_amountToUntake","nameLocation":"1069:15:130","nodeType":"VariableDeclaration","scope":77660,"src":"1061:23:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77654,"name":"uint256","nodeType":"ElementaryTypeName","src":"1061:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1043:42:130"},"returnParameters":{"id":77659,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77658,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":77660,"src":"1104:7:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77657,"name":"uint256","nodeType":"ElementaryTypeName","src":"1104:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1103:9:130"},"scope":77667,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":77666,"nodeType":"FunctionDefinition","src":"1118:72:130","nodes":[],"functionSelector":"c3292171","implemented":false,"kind":"function","modifiers":[],"name":"getPointSystem","nameLocation":"1127:14:130","parameters":{"id":77661,"nodeType":"ParameterList","parameters":[],"src":"1141:2:130"},"returnParameters":{"id":77665,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77664,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":77666,"src":"1162:26:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$77676","typeString":"enum StrategyStruct.PointSystem"},"typeName":{"id":77663,"nodeType":"UserDefinedTypeName","pathNode":{"id":77662,"name":"StrategyStruct.PointSystem","nameLocations":["1162:14:130","1177:11:130"],"nodeType":"IdentifierPath","referencedDeclaration":77676,"src":"1162:26:130"},"referencedDeclaration":77676,"src":"1162:26:130","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$77676","typeString":"enum StrategyStruct.PointSystem"}},"visibility":"internal"}],"src":"1161:28:130"},"scope":77667,"stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"IPointStrategy","contractDependencies":[],"contractKind":"interface","fullyImplemented":false,"linearizedBaseContracts":[77667],"name":"IPointStrategy","nameLocation":"847:14:130","scope":80579,"usedErrors":[]},{"id":77752,"nodeType":"ContractDefinition","src":"1194:1871:130","nodes":[{"id":77671,"nodeType":"EnumDefinition","src":"1223:79:130","nodes":[],"canonicalName":"StrategyStruct.ProposalType","members":[{"id":77668,"name":"Signaling","nameLocation":"1251:9:130","nodeType":"EnumValue","src":"1251:9:130"},{"id":77669,"name":"Funding","nameLocation":"1270:7:130","nodeType":"EnumValue","src":"1270:7:130"},{"id":77670,"name":"Streaming","nameLocation":"1287:9:130","nodeType":"EnumValue","src":"1287:9:130"}],"name":"ProposalType","nameLocation":"1228:12:130"},{"id":77676,"nodeType":"EnumDefinition","src":"1308:92:130","nodes":[],"canonicalName":"StrategyStruct.PointSystem","members":[{"id":77672,"name":"Fixed","nameLocation":"1335:5:130","nodeType":"EnumValue","src":"1335:5:130"},{"id":77673,"name":"Capped","nameLocation":"1350:6:130","nodeType":"EnumValue","src":"1350:6:130"},{"id":77674,"name":"Unlimited","nameLocation":"1366:9:130","nodeType":"EnumValue","src":"1366:9:130"},{"id":77675,"name":"Quadratic","nameLocation":"1385:9:130","nodeType":"EnumValue","src":"1385:9:130"}],"name":"PointSystem","nameLocation":"1313:11:130"},{"id":77688,"nodeType":"StructDefinition","src":"1406:243:130","nodes":[],"canonicalName":"StrategyStruct.CreateProposal","members":[{"constant":false,"id":77678,"mutability":"mutable","name":"poolId","nameLocation":"1477:6:130","nodeType":"VariableDeclaration","scope":77688,"src":"1469:14:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77677,"name":"uint256","nodeType":"ElementaryTypeName","src":"1469:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":77680,"mutability":"mutable","name":"beneficiary","nameLocation":"1501:11:130","nodeType":"VariableDeclaration","scope":77688,"src":"1493:19:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":77679,"name":"address","nodeType":"ElementaryTypeName","src":"1493:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":77682,"mutability":"mutable","name":"amountRequested","nameLocation":"1568:15:130","nodeType":"VariableDeclaration","scope":77688,"src":"1560:23:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77681,"name":"uint256","nodeType":"ElementaryTypeName","src":"1560:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":77684,"mutability":"mutable","name":"requestedToken","nameLocation":"1601:14:130","nodeType":"VariableDeclaration","scope":77688,"src":"1593:22:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":77683,"name":"address","nodeType":"ElementaryTypeName","src":"1593:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":77687,"mutability":"mutable","name":"metadata","nameLocation":"1634:8:130","nodeType":"VariableDeclaration","scope":77688,"src":"1625:17:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"},"typeName":{"id":77686,"nodeType":"UserDefinedTypeName","pathNode":{"id":77685,"name":"Metadata","nameLocations":["1625:8:130"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"1625:8:130"},"referencedDeclaration":3098,"src":"1625:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"}],"name":"CreateProposal","nameLocation":"1413:14:130","scope":77752,"visibility":"public"},{"id":77694,"nodeType":"EnumDefinition","src":"1655:289:130","nodes":[],"canonicalName":"StrategyStruct.ProposalStatus","members":[{"id":77689,"name":"Inactive","nameLocation":"1685:8:130","nodeType":"EnumValue","src":"1685:8:130"},{"id":77690,"name":"Active","nameLocation":"1715:6:130","nodeType":"EnumValue","src":"1715:6:130"},{"id":77691,"name":"Paused","nameLocation":"1778:6:130","nodeType":"EnumValue","src":"1778:6:130"},{"id":77692,"name":"Cancelled","nameLocation":"1843:9:130","nodeType":"EnumValue","src":"1843:9:130"},{"id":77693,"name":"Executed","nameLocation":"1896:8:130","nodeType":"EnumValue","src":"1896:8:130"}],"name":"ProposalStatus","nameLocation":"1660:14:130"},{"id":77721,"nodeType":"StructDefinition","src":"1950:405:130","nodes":[],"canonicalName":"StrategyStruct.Proposal","members":[{"constant":false,"id":77696,"mutability":"mutable","name":"proposalId","nameLocation":"1984:10:130","nodeType":"VariableDeclaration","scope":77721,"src":"1976:18:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77695,"name":"uint256","nodeType":"ElementaryTypeName","src":"1976:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":77698,"mutability":"mutable","name":"requestedAmount","nameLocation":"2012:15:130","nodeType":"VariableDeclaration","scope":77721,"src":"2004:23:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77697,"name":"uint256","nodeType":"ElementaryTypeName","src":"2004:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":77700,"mutability":"mutable","name":"stakedAmount","nameLocation":"2045:12:130","nodeType":"VariableDeclaration","scope":77721,"src":"2037:20:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77699,"name":"uint256","nodeType":"ElementaryTypeName","src":"2037:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":77702,"mutability":"mutable","name":"convictionLast","nameLocation":"2075:14:130","nodeType":"VariableDeclaration","scope":77721,"src":"2067:22:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77701,"name":"uint256","nodeType":"ElementaryTypeName","src":"2067:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":77704,"mutability":"mutable","name":"beneficiary","nameLocation":"2107:11:130","nodeType":"VariableDeclaration","scope":77721,"src":"2099:19:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":77703,"name":"address","nodeType":"ElementaryTypeName","src":"2099:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":77706,"mutability":"mutable","name":"submitter","nameLocation":"2136:9:130","nodeType":"VariableDeclaration","scope":77721,"src":"2128:17:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":77705,"name":"address","nodeType":"ElementaryTypeName","src":"2128:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":77708,"mutability":"mutable","name":"requestedToken","nameLocation":"2163:14:130","nodeType":"VariableDeclaration","scope":77721,"src":"2155:22:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":77707,"name":"address","nodeType":"ElementaryTypeName","src":"2155:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":77710,"mutability":"mutable","name":"blockLast","nameLocation":"2195:9:130","nodeType":"VariableDeclaration","scope":77721,"src":"2187:17:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77709,"name":"uint256","nodeType":"ElementaryTypeName","src":"2187:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":77713,"mutability":"mutable","name":"proposalStatus","nameLocation":"2229:14:130","nodeType":"VariableDeclaration","scope":77721,"src":"2214:29:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$77694","typeString":"enum StrategyStruct.ProposalStatus"},"typeName":{"id":77712,"nodeType":"UserDefinedTypeName","pathNode":{"id":77711,"name":"ProposalStatus","nameLocations":["2214:14:130"],"nodeType":"IdentifierPath","referencedDeclaration":77694,"src":"2214:14:130"},"referencedDeclaration":77694,"src":"2214:14:130","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$77694","typeString":"enum StrategyStruct.ProposalStatus"}},"visibility":"internal"},{"constant":false,"id":77717,"mutability":"mutable","name":"voterStakedPoints","nameLocation":"2281:17:130","nodeType":"VariableDeclaration","scope":77721,"src":"2253:45:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"typeName":{"id":77716,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":77714,"name":"address","nodeType":"ElementaryTypeName","src":"2261:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"2253:27:130","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":77715,"name":"uint256","nodeType":"ElementaryTypeName","src":"2272:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"internal"},{"constant":false,"id":77720,"mutability":"mutable","name":"metadata","nameLocation":"2340:8:130","nodeType":"VariableDeclaration","scope":77721,"src":"2331:17:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"},"typeName":{"id":77719,"nodeType":"UserDefinedTypeName","pathNode":{"id":77718,"name":"Metadata","nameLocations":["2331:8:130"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"2331:8:130"},"referencedDeclaration":3098,"src":"2331:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"}],"name":"Proposal","nameLocation":"1957:8:130","scope":77752,"visibility":"public"},{"id":77726,"nodeType":"StructDefinition","src":"2361:126:130","nodes":[],"canonicalName":"StrategyStruct.ProposalSupport","members":[{"constant":false,"id":77723,"mutability":"mutable","name":"proposalId","nameLocation":"2402:10:130","nodeType":"VariableDeclaration","scope":77726,"src":"2394:18:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77722,"name":"uint256","nodeType":"ElementaryTypeName","src":"2394:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":77725,"mutability":"mutable","name":"deltaSupport","nameLocation":"2429:12:130","nodeType":"VariableDeclaration","scope":77726,"src":"2422:19:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":77724,"name":"int256","nodeType":"ElementaryTypeName","src":"2422:6:130","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"name":"ProposalSupport","nameLocation":"2368:15:130","scope":77752,"visibility":"public"},{"id":77729,"nodeType":"StructDefinition","src":"2493:89:130","nodes":[],"canonicalName":"StrategyStruct.PointSystemConfig","members":[{"constant":false,"id":77728,"mutability":"mutable","name":"maxAmount","nameLocation":"2566:9:130","nodeType":"VariableDeclaration","scope":77729,"src":"2558:17:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77727,"name":"uint256","nodeType":"ElementaryTypeName","src":"2558:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"PointSystemConfig","nameLocation":"2500:17:130","scope":77752,"visibility":"public"},{"id":77751,"nodeType":"StructDefinition","src":"2588:475:130","nodes":[],"canonicalName":"StrategyStruct.InitializeParams","members":[{"constant":false,"id":77731,"mutability":"mutable","name":"registryCommunity","nameLocation":"2630:17:130","nodeType":"VariableDeclaration","scope":77751,"src":"2622:25:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":77730,"name":"address","nodeType":"ElementaryTypeName","src":"2622:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":77733,"mutability":"mutable","name":"decay","nameLocation":"2694:5:130","nodeType":"VariableDeclaration","scope":77751,"src":"2686:13:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77732,"name":"uint256","nodeType":"ElementaryTypeName","src":"2686:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":77735,"mutability":"mutable","name":"maxRatio","nameLocation":"2764:8:130","nodeType":"VariableDeclaration","scope":77751,"src":"2756:16:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77734,"name":"uint256","nodeType":"ElementaryTypeName","src":"2756:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":77737,"mutability":"mutable","name":"weight","nameLocation":"2818:6:130","nodeType":"VariableDeclaration","scope":77751,"src":"2810:14:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77736,"name":"uint256","nodeType":"ElementaryTypeName","src":"2810:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":77739,"mutability":"mutable","name":"minThresholdPoints","nameLocation":"2842:18:130","nodeType":"VariableDeclaration","scope":77751,"src":"2834:26:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77738,"name":"uint256","nodeType":"ElementaryTypeName","src":"2834:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":77742,"mutability":"mutable","name":"proposalType","nameLocation":"2908:12:130","nodeType":"VariableDeclaration","scope":77751,"src":"2895:25:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$77671","typeString":"enum StrategyStruct.ProposalType"},"typeName":{"id":77741,"nodeType":"UserDefinedTypeName","pathNode":{"id":77740,"name":"ProposalType","nameLocations":["2895:12:130"],"nodeType":"IdentifierPath","referencedDeclaration":77671,"src":"2895:12:130"},"referencedDeclaration":77671,"src":"2895:12:130","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$77671","typeString":"enum StrategyStruct.ProposalType"}},"visibility":"internal"},{"constant":false,"id":77745,"mutability":"mutable","name":"pointSystem","nameLocation":"2977:11:130","nodeType":"VariableDeclaration","scope":77751,"src":"2965:23:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$77676","typeString":"enum StrategyStruct.PointSystem"},"typeName":{"id":77744,"nodeType":"UserDefinedTypeName","pathNode":{"id":77743,"name":"PointSystem","nameLocations":["2965:11:130"],"nodeType":"IdentifierPath","referencedDeclaration":77676,"src":"2965:11:130"},"referencedDeclaration":77676,"src":"2965:11:130","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$77676","typeString":"enum StrategyStruct.PointSystem"}},"visibility":"internal"},{"constant":false,"id":77748,"mutability":"mutable","name":"pointConfig","nameLocation":"3016:11:130","nodeType":"VariableDeclaration","scope":77751,"src":"2998:29:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$77729_storage_ptr","typeString":"struct StrategyStruct.PointSystemConfig"},"typeName":{"id":77747,"nodeType":"UserDefinedTypeName","pathNode":{"id":77746,"name":"PointSystemConfig","nameLocations":["2998:17:130"],"nodeType":"IdentifierPath","referencedDeclaration":77729,"src":"2998:17:130"},"referencedDeclaration":77729,"src":"2998:17:130","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$77729_storage_ptr","typeString":"struct StrategyStruct.PointSystemConfig"}},"visibility":"internal"},{"constant":false,"id":77750,"mutability":"mutable","name":"sybilScorer","nameLocation":"3045:11:130","nodeType":"VariableDeclaration","scope":77751,"src":"3037:19:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":77749,"name":"address","nodeType":"ElementaryTypeName","src":"3037:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"name":"InitializeParams","nameLocation":"2595:16:130","scope":77752,"visibility":"public"}],"abstract":false,"baseContracts":[],"canonicalName":"StrategyStruct","contractDependencies":[],"contractKind":"library","fullyImplemented":true,"linearizedBaseContracts":[77752],"name":"StrategyStruct","nameLocation":"1202:14:130","scope":80579,"usedErrors":[]},{"id":80578,"nodeType":"ContractDefinition","src":"3067:38512:130","nodes":[{"id":77763,"nodeType":"UsingForDirective","src":"3168:23:130","nodes":[],"global":false,"libraryName":{"id":77761,"name":"Math","nameLocations":["3174:4:130"],"nodeType":"IdentifierPath","referencedDeclaration":59338,"src":"3174:4:130"},"typeName":{"id":77762,"name":"uint256","nodeType":"ElementaryTypeName","src":"3183:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},{"id":77765,"nodeType":"ErrorDefinition","src":"3362:25:130","nodes":[],"errorSelector":"d1f28288","name":"UserCannotBeZero","nameLocation":"3368:16:130","parameters":{"id":77764,"nodeType":"ParameterList","parameters":[],"src":"3384:2:130"}},{"id":77767,"nodeType":"ErrorDefinition","src":"3406:26:130","nodes":[],"errorSelector":"6a5cfb6d","name":"UserNotInRegistry","nameLocation":"3412:17:130","parameters":{"id":77766,"nodeType":"ParameterList","parameters":[],"src":"3429:2:130"}},{"id":77769,"nodeType":"ErrorDefinition","src":"3450:23:130","nodes":[],"errorSelector":"5fccb67f","name":"UserIsInactive","nameLocation":"3456:14:130","parameters":{"id":77768,"nodeType":"ParameterList","parameters":[],"src":"3470:2:130"}},{"id":77771,"nodeType":"ErrorDefinition","src":"3492:20:130","nodes":[],"errorSelector":"ed4421ad","name":"PoolIsEmpty","nameLocation":"3498:11:130","parameters":{"id":77770,"nodeType":"ParameterList","parameters":[],"src":"3509:2:130"}},{"id":77773,"nodeType":"ErrorDefinition","src":"3531:23:130","nodes":[],"errorSelector":"d6234725","name":"NotImplemented","nameLocation":"3537:14:130","parameters":{"id":77772,"nodeType":"ParameterList","parameters":[],"src":"3551:2:130"}},{"id":77775,"nodeType":"ErrorDefinition","src":"3572:26:130","nodes":[],"errorSelector":"596a094c","name":"TokenCannotBeZero","nameLocation":"3578:17:130","parameters":{"id":77774,"nodeType":"ParameterList","parameters":[],"src":"3595:2:130"}},{"id":77777,"nodeType":"ErrorDefinition","src":"3616:24:130","nodes":[],"errorSelector":"a29c4986","name":"TokenNotAllowed","nameLocation":"3622:15:130","parameters":{"id":77776,"nodeType":"ParameterList","parameters":[],"src":"3637:2:130"}},{"id":77779,"nodeType":"ErrorDefinition","src":"3659:27:130","nodes":[],"errorSelector":"3bf5ca14","name":"AmountOverMaxRatio","nameLocation":"3665:18:130","parameters":{"id":77778,"nodeType":"ParameterList","parameters":[],"src":"3683:2:130"}},{"id":77781,"nodeType":"ErrorDefinition","src":"3705:27:130","nodes":[],"errorSelector":"4e791786","name":"PoolIdCannotBeZero","nameLocation":"3711:18:130","parameters":{"id":77780,"nodeType":"ParameterList","parameters":[],"src":"3729:2:130"}},{"id":77783,"nodeType":"ErrorDefinition","src":"3750:28:130","nodes":[],"errorSelector":"e622e040","name":"AddressCannotBeZero","nameLocation":"3756:19:130","parameters":{"id":77782,"nodeType":"ParameterList","parameters":[],"src":"3775:2:130"}},{"id":77785,"nodeType":"ErrorDefinition","src":"3796:29:130","nodes":[],"errorSelector":"5df4b1ef","name":"RegistryCannotBeZero","nameLocation":"3802:20:130","parameters":{"id":77784,"nodeType":"ParameterList","parameters":[],"src":"3822:2:130"}},{"id":77793,"nodeType":"ErrorDefinition","src":"3844:72:130","nodes":[],"errorSelector":"3bbc7142","name":"SupportUnderflow","nameLocation":"3850:16:130","parameters":{"id":77792,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77787,"mutability":"mutable","name":"_support","nameLocation":"3875:8:130","nodeType":"VariableDeclaration","scope":77793,"src":"3867:16:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77786,"name":"uint256","nodeType":"ElementaryTypeName","src":"3867:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":77789,"mutability":"mutable","name":"_delta","nameLocation":"3892:6:130","nodeType":"VariableDeclaration","scope":77793,"src":"3885:13:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":77788,"name":"int256","nodeType":"ElementaryTypeName","src":"3885:6:130","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":77791,"mutability":"mutable","name":"_result","nameLocation":"3907:7:130","nodeType":"VariableDeclaration","scope":77793,"src":"3900:14:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":77790,"name":"int256","nodeType":"ElementaryTypeName","src":"3900:6:130","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"3866:49:130"}},{"id":77795,"nodeType":"ErrorDefinition","src":"3935:25:130","nodes":[],"errorSelector":"8402b474","name":"MaxPointsReached","nameLocation":"3941:16:130","parameters":{"id":77794,"nodeType":"ParameterList","parameters":[],"src":"3957:2:130"}},{"id":77797,"nodeType":"ErrorDefinition","src":"3979:32:130","nodes":[],"errorSelector":"573c3e93","name":"CantIncreaseFixedSystem","nameLocation":"3985:23:130","parameters":{"id":77796,"nodeType":"ParameterList","parameters":[],"src":"4008:2:130"}},{"id":77803,"nodeType":"ErrorDefinition","src":"4030:77:130","nodes":[],"errorSelector":"d64182fe","name":"NotEnoughPointsToSupport","nameLocation":"4036:24:130","parameters":{"id":77802,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77799,"mutability":"mutable","name":"pointsSupport","nameLocation":"4069:13:130","nodeType":"VariableDeclaration","scope":77803,"src":"4061:21:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77798,"name":"uint256","nodeType":"ElementaryTypeName","src":"4061:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":77801,"mutability":"mutable","name":"pointsBalance","nameLocation":"4092:13:130","nodeType":"VariableDeclaration","scope":77803,"src":"4084:21:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77800,"name":"uint256","nodeType":"ElementaryTypeName","src":"4084:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4060:46:130"}},{"id":77805,"nodeType":"ErrorDefinition","src":"4127:28:130","nodes":[],"errorSelector":"c5f7c4c0","name":"ProposalDataIsEmpty","nameLocation":"4133:19:130","parameters":{"id":77804,"nodeType":"ParameterList","parameters":[],"src":"4152:2:130"}},{"id":77807,"nodeType":"ErrorDefinition","src":"4173:31:130","nodes":[],"errorSelector":"f881a10d","name":"ProposalIdCannotBeZero","nameLocation":"4179:22:130","parameters":{"id":77806,"nodeType":"ParameterList","parameters":[],"src":"4201:2:130"}},{"id":77811,"nodeType":"ErrorDefinition","src":"4222:45:130","nodes":[],"errorSelector":"44980d8f","name":"ProposalNotActive","nameLocation":"4228:17:130","parameters":{"id":77810,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77809,"mutability":"mutable","name":"_proposalId","nameLocation":"4254:11:130","nodeType":"VariableDeclaration","scope":77811,"src":"4246:19:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77808,"name":"uint256","nodeType":"ElementaryTypeName","src":"4246:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4245:21:130"}},{"id":77815,"nodeType":"ErrorDefinition","src":"4286:45:130","nodes":[],"errorSelector":"c1d17bef","name":"ProposalNotInList","nameLocation":"4292:17:130","parameters":{"id":77814,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77813,"mutability":"mutable","name":"_proposalId","nameLocation":"4318:11:130","nodeType":"VariableDeclaration","scope":77815,"src":"4310:19:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77812,"name":"uint256","nodeType":"ElementaryTypeName","src":"4310:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4309:21:130"}},{"id":77821,"nodeType":"ErrorDefinition","src":"4350:68:130","nodes":[],"errorSelector":"adebb154","name":"ProposalSupportDuplicated","nameLocation":"4356:25:130","parameters":{"id":77820,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77817,"mutability":"mutable","name":"_proposalId","nameLocation":"4390:11:130","nodeType":"VariableDeclaration","scope":77821,"src":"4382:19:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77816,"name":"uint256","nodeType":"ElementaryTypeName","src":"4382:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":77819,"mutability":"mutable","name":"index","nameLocation":"4411:5:130","nodeType":"VariableDeclaration","scope":77821,"src":"4403:13:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77818,"name":"uint256","nodeType":"ElementaryTypeName","src":"4403:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4381:36:130"}},{"id":77823,"nodeType":"ErrorDefinition","src":"4436:40:130","nodes":[],"errorSelector":"cce79308","name":"ConvictionUnderMinimumThreshold","nameLocation":"4442:31:130","parameters":{"id":77822,"nodeType":"ParameterList","parameters":[],"src":"4473:2:130"}},{"id":77825,"nodeType":"ErrorDefinition","src":"4495:29:130","nodes":[],"errorSelector":"af0916a2","name":"OnlyCommunityAllowed","nameLocation":"4501:20:130","parameters":{"id":77824,"nodeType":"ParameterList","parameters":[],"src":"4521:2:130"}},{"id":77833,"nodeType":"ErrorDefinition","src":"4543:94:130","nodes":[],"errorSelector":"5863b0b6","name":"PoolAmountNotEnough","nameLocation":"4549:19:130","parameters":{"id":77832,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77827,"mutability":"mutable","name":"_proposalId","nameLocation":"4577:11:130","nodeType":"VariableDeclaration","scope":77833,"src":"4569:19:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77826,"name":"uint256","nodeType":"ElementaryTypeName","src":"4569:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":77829,"mutability":"mutable","name":"_requestedAmount","nameLocation":"4598:16:130","nodeType":"VariableDeclaration","scope":77833,"src":"4590:24:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77828,"name":"uint256","nodeType":"ElementaryTypeName","src":"4590:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":77831,"mutability":"mutable","name":"_poolAmount","nameLocation":"4624:11:130","nodeType":"VariableDeclaration","scope":77833,"src":"4616:19:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77830,"name":"uint256","nodeType":"ElementaryTypeName","src":"4616:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4568:68:130"}},{"id":77835,"nodeType":"ErrorDefinition","src":"4655:24:130","nodes":[],"errorSelector":"e860ec7e","name":"OnlyCouncilSafe","nameLocation":"4661:15:130","parameters":{"id":77834,"nodeType":"ParameterList","parameters":[],"src":"4676:2:130"}},{"id":77837,"nodeType":"ErrorDefinition","src":"4684:32:130","nodes":[],"errorSelector":"5b96b588","name":"UserCannotExecuteAction","nameLocation":"4690:23:130","parameters":{"id":77836,"nodeType":"ParameterList","parameters":[],"src":"4713:2:130"}},{"id":77844,"nodeType":"EventDefinition","src":"4888:74:130","nodes":[],"anonymous":false,"eventSelector":"4ebdec05fb64815e553aeaf3976ef8112dd79760a459bee3ac7d1659ab2c4e04","name":"InitializedCV","nameLocation":"4894:13:130","parameters":{"id":77843,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77839,"indexed":false,"mutability":"mutable","name":"poolId","nameLocation":"4916:6:130","nodeType":"VariableDeclaration","scope":77844,"src":"4908:14:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77838,"name":"uint256","nodeType":"ElementaryTypeName","src":"4908:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":77842,"indexed":false,"mutability":"mutable","name":"data","nameLocation":"4956:4:130","nodeType":"VariableDeclaration","scope":77844,"src":"4924:36:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$77751_memory_ptr","typeString":"struct StrategyStruct.InitializeParams"},"typeName":{"id":77841,"nodeType":"UserDefinedTypeName","pathNode":{"id":77840,"name":"StrategyStruct.InitializeParams","nameLocations":["4924:14:130","4939:16:130"],"nodeType":"IdentifierPath","referencedDeclaration":77751,"src":"4924:31:130"},"referencedDeclaration":77751,"src":"4924:31:130","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$77751_storage_ptr","typeString":"struct StrategyStruct.InitializeParams"}},"visibility":"internal"}],"src":"4907:54:130"}},{"id":77852,"nodeType":"EventDefinition","src":"4967:75:130","nodes":[],"anonymous":false,"eventSelector":"a7932e9c92f31e1ed56b29d00bbe669a97484dc24de28dd9c8c0429df7f35847","name":"Distributed","nameLocation":"4973:11:130","parameters":{"id":77851,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77846,"indexed":false,"mutability":"mutable","name":"proposalId","nameLocation":"4993:10:130","nodeType":"VariableDeclaration","scope":77852,"src":"4985:18:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77845,"name":"uint256","nodeType":"ElementaryTypeName","src":"4985:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":77848,"indexed":false,"mutability":"mutable","name":"beneficiary","nameLocation":"5013:11:130","nodeType":"VariableDeclaration","scope":77852,"src":"5005:19:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":77847,"name":"address","nodeType":"ElementaryTypeName","src":"5005:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":77850,"indexed":false,"mutability":"mutable","name":"amount","nameLocation":"5034:6:130","nodeType":"VariableDeclaration","scope":77852,"src":"5026:14:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77849,"name":"uint256","nodeType":"ElementaryTypeName","src":"5026:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4984:57:130"}},{"id":77858,"nodeType":"EventDefinition","src":"5047:58:130","nodes":[],"anonymous":false,"eventSelector":"fcf3b1aa65a464cef2889608f99e8b8c0f680a4be6c2acb9d961c536a5a9294b","name":"ProposalCreated","nameLocation":"5053:15:130","parameters":{"id":77857,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77854,"indexed":false,"mutability":"mutable","name":"poolId","nameLocation":"5077:6:130","nodeType":"VariableDeclaration","scope":77858,"src":"5069:14:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77853,"name":"uint256","nodeType":"ElementaryTypeName","src":"5069:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":77856,"indexed":false,"mutability":"mutable","name":"proposalId","nameLocation":"5093:10:130","nodeType":"VariableDeclaration","scope":77858,"src":"5085:18:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77855,"name":"uint256","nodeType":"ElementaryTypeName","src":"5085:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5068:36:130"}},{"id":77862,"nodeType":"EventDefinition","src":"5110:42:130","nodes":[],"anonymous":false,"eventSelector":"46aeb5d8770fc4474bc2dfa118fd2595f7fb33ce2cbce6f4e5a3dabfe0f76339","name":"PoolAmountIncreased","nameLocation":"5116:19:130","parameters":{"id":77861,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77860,"indexed":false,"mutability":"mutable","name":"amount","nameLocation":"5144:6:130","nodeType":"VariableDeclaration","scope":77862,"src":"5136:14:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77859,"name":"uint256","nodeType":"ElementaryTypeName","src":"5136:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5135:16:130"}},{"id":77870,"nodeType":"EventDefinition","src":"5157:85:130","nodes":[],"anonymous":false,"eventSelector":"0b9150e1e54346ed3fa36b977cd5d65dca5a649c737c3174a26bddaadd47667a","name":"PowerIncreased","nameLocation":"5163:14:130","parameters":{"id":77869,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77864,"indexed":false,"mutability":"mutable","name":"member","nameLocation":"5186:6:130","nodeType":"VariableDeclaration","scope":77870,"src":"5178:14:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":77863,"name":"address","nodeType":"ElementaryTypeName","src":"5178:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":77866,"indexed":false,"mutability":"mutable","name":"tokensStaked","nameLocation":"5202:12:130","nodeType":"VariableDeclaration","scope":77870,"src":"5194:20:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77865,"name":"uint256","nodeType":"ElementaryTypeName","src":"5194:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":77868,"indexed":false,"mutability":"mutable","name":"pointsToIncrease","nameLocation":"5224:16:130","nodeType":"VariableDeclaration","scope":77870,"src":"5216:24:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77867,"name":"uint256","nodeType":"ElementaryTypeName","src":"5216:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5177:64:130"}},{"id":77878,"nodeType":"EventDefinition","src":"5247:87:130","nodes":[],"anonymous":false,"eventSelector":"70b752f3fadb6ac131c0ece847fcbb6994ec56ed6411595710fd9b29c6ac6cc1","name":"PowerDecreased","nameLocation":"5253:14:130","parameters":{"id":77877,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77872,"indexed":false,"mutability":"mutable","name":"member","nameLocation":"5276:6:130","nodeType":"VariableDeclaration","scope":77878,"src":"5268:14:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":77871,"name":"address","nodeType":"ElementaryTypeName","src":"5268:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":77874,"indexed":false,"mutability":"mutable","name":"tokensUnStaked","nameLocation":"5292:14:130","nodeType":"VariableDeclaration","scope":77878,"src":"5284:22:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77873,"name":"uint256","nodeType":"ElementaryTypeName","src":"5284:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":77876,"indexed":false,"mutability":"mutable","name":"pointsToDecrease","nameLocation":"5316:16:130","nodeType":"VariableDeclaration","scope":77878,"src":"5308:24:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77875,"name":"uint256","nodeType":"ElementaryTypeName","src":"5308:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5267:66:130"}},{"id":77890,"nodeType":"EventDefinition","src":"5339:134:130","nodes":[],"anonymous":false,"eventSelector":"0227f642ddcf2042ceaeafadb9d540f432072c00cd4862881667168dcc14710f","name":"SupportAdded","nameLocation":"5345:12:130","parameters":{"id":77889,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77880,"indexed":false,"mutability":"mutable","name":"from","nameLocation":"5375:4:130","nodeType":"VariableDeclaration","scope":77890,"src":"5367:12:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":77879,"name":"address","nodeType":"ElementaryTypeName","src":"5367:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":77882,"indexed":false,"mutability":"mutable","name":"proposalId","nameLocation":"5389:10:130","nodeType":"VariableDeclaration","scope":77890,"src":"5381:18:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77881,"name":"uint256","nodeType":"ElementaryTypeName","src":"5381:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":77884,"indexed":false,"mutability":"mutable","name":"amount","nameLocation":"5409:6:130","nodeType":"VariableDeclaration","scope":77890,"src":"5401:14:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77883,"name":"uint256","nodeType":"ElementaryTypeName","src":"5401:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":77886,"indexed":false,"mutability":"mutable","name":"totalStakedAmount","nameLocation":"5425:17:130","nodeType":"VariableDeclaration","scope":77890,"src":"5417:25:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77885,"name":"uint256","nodeType":"ElementaryTypeName","src":"5417:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":77888,"indexed":false,"mutability":"mutable","name":"convictionLast","nameLocation":"5452:14:130","nodeType":"VariableDeclaration","scope":77890,"src":"5444:22:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77887,"name":"uint256","nodeType":"ElementaryTypeName","src":"5444:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5357:115:130"}},{"id":77894,"nodeType":"EventDefinition","src":"5478:40:130","nodes":[],"anonymous":false,"eventSelector":"1468da654b37bb3631011c1917d02e0db437d519918858d40b38b5e980ca033b","name":"PointsDeactivated","nameLocation":"5484:17:130","parameters":{"id":77893,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77892,"indexed":false,"mutability":"mutable","name":"member","nameLocation":"5510:6:130","nodeType":"VariableDeclaration","scope":77894,"src":"5502:14:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":77891,"name":"address","nodeType":"ElementaryTypeName","src":"5502:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5501:16:130"}},{"id":77898,"nodeType":"EventDefinition","src":"5523:34:130","nodes":[],"anonymous":false,"eventSelector":"592dcd55d60d892e7fcb3ba105013312e99691cd59f91e15f83cb67cb5a505f2","name":"DecayUpdated","nameLocation":"5529:12:130","parameters":{"id":77897,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77896,"indexed":false,"mutability":"mutable","name":"decay","nameLocation":"5550:5:130","nodeType":"VariableDeclaration","scope":77898,"src":"5542:13:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77895,"name":"uint256","nodeType":"ElementaryTypeName","src":"5542:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5541:15:130"}},{"id":77902,"nodeType":"EventDefinition","src":"5562:40:130","nodes":[],"anonymous":false,"eventSelector":"08e39b387d1f739ce0d2553bb31822392e3f67c62c6c0a215120ab4a6841a8ab","name":"MaxRatioUpdated","nameLocation":"5568:15:130","parameters":{"id":77901,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77900,"indexed":false,"mutability":"mutable","name":"maxRatio","nameLocation":"5592:8:130","nodeType":"VariableDeclaration","scope":77902,"src":"5584:16:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77899,"name":"uint256","nodeType":"ElementaryTypeName","src":"5584:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5583:18:130"}},{"id":77906,"nodeType":"EventDefinition","src":"5607:36:130","nodes":[],"anonymous":false,"eventSelector":"30ee8206062f283e56a0af2b02138016bf7442ded26ad68a92a18a9dd246fb49","name":"WeightUpdated","nameLocation":"5613:13:130","parameters":{"id":77905,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77904,"indexed":false,"mutability":"mutable","name":"weight","nameLocation":"5635:6:130","nodeType":"VariableDeclaration","scope":77906,"src":"5627:14:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77903,"name":"uint256","nodeType":"ElementaryTypeName","src":"5627:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5626:16:130"}},{"id":77910,"nodeType":"EventDefinition","src":"5648:49:130","nodes":[],"anonymous":false,"eventSelector":"d6ceddf6d2a22f21c7c81675c518004eff43bc5c8a6fc32a0b748e69d58671cd","name":"RegistryUpdated","nameLocation":"5654:15:130","parameters":{"id":77909,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77908,"indexed":false,"mutability":"mutable","name":"registryCommunity","nameLocation":"5678:17:130","nodeType":"VariableDeclaration","scope":77910,"src":"5670:25:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":77907,"name":"address","nodeType":"ElementaryTypeName","src":"5670:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5669:27:130"}},{"id":77916,"nodeType":"EventDefinition","src":"5702:76:130","nodes":[],"anonymous":false,"eventSelector":"056aedca4e334b6c4bea48715fb0de644811b740894de57a0380d3eb90f2805b","name":"MinThresholdPointsUpdated","nameLocation":"5708:25:130","parameters":{"id":77915,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77912,"indexed":false,"mutability":"mutable","name":"before","nameLocation":"5742:6:130","nodeType":"VariableDeclaration","scope":77916,"src":"5734:14:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77911,"name":"uint256","nodeType":"ElementaryTypeName","src":"5734:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":77914,"indexed":false,"mutability":"mutable","name":"minThresholdPoints","nameLocation":"5758:18:130","nodeType":"VariableDeclaration","scope":77916,"src":"5750:26:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77913,"name":"uint256","nodeType":"ElementaryTypeName","src":"5750:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5733:44:130"}},{"id":77919,"nodeType":"VariableDeclaration","src":"6152:36:130","nodes":[],"constant":true,"functionSelector":"0f529ba2","mutability":"constant","name":"D","nameLocation":"6176:1:130","scope":80578,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77917,"name":"uint256","nodeType":"ElementaryTypeName","src":"6152:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3130303030303030","id":77918,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6180:8:130","typeDescriptions":{"typeIdentifier":"t_rational_10000000_by_1","typeString":"int_const 10000000"},"value":"10000000"},"visibility":"public"},{"id":77922,"nodeType":"VariableDeclaration","src":"6202:70:130","nodes":[],"constant":true,"mutability":"constant","name":"TWO_128","nameLocation":"6227:7:130","scope":80578,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77920,"name":"uint256","nodeType":"ElementaryTypeName","src":"6202:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3078313030303030303030303030303030303030303030303030303030303030303030","id":77921,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6237:35:130","typeDescriptions":{"typeIdentifier":"t_rational_340282366920938463463374607431768211456_by_1","typeString":"int_const 3402...(31 digits omitted)...1456"},"value":"0x100000000000000000000000000000000"},"visibility":"private"},{"id":77925,"nodeType":"VariableDeclaration","src":"6288:69:130","nodes":[],"constant":true,"mutability":"constant","name":"TWO_127","nameLocation":"6313:7:130","scope":80578,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77923,"name":"uint256","nodeType":"ElementaryTypeName","src":"6288:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"30783830303030303030303030303030303030303030303030303030303030303030","id":77924,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6323:34:130","typeDescriptions":{"typeIdentifier":"t_rational_170141183460469231731687303715884105728_by_1","typeString":"int_const 1701...(31 digits omitted)...5728"},"value":"0x80000000000000000000000000000000"},"visibility":"private"},{"id":77928,"nodeType":"VariableDeclaration","src":"6373:53:130","nodes":[],"constant":true,"mutability":"constant","name":"TWO_64","nameLocation":"6398:6:130","scope":80578,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77926,"name":"uint256","nodeType":"ElementaryTypeName","src":"6373:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"30783130303030303030303030303030303030","id":77927,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6407:19:130","typeDescriptions":{"typeIdentifier":"t_rational_18446744073709551616_by_1","typeString":"int_const 18446744073709551616"},"value":"0x10000000000000000"},"visibility":"private"},{"id":77931,"nodeType":"VariableDeclaration","src":"6441:49:130","nodes":[],"constant":true,"functionSelector":"406244d8","mutability":"constant","name":"MAX_STAKED_PROPOSALS","nameLocation":"6465:20:130","scope":80578,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77929,"name":"uint256","nodeType":"ElementaryTypeName","src":"6441:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3130","id":77930,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6488:2:130","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"visibility":"public"},{"id":77933,"nodeType":"VariableDeclaration","src":"6618:20:130","nodes":[],"constant":false,"functionSelector":"54fac919","mutability":"mutable","name":"decay","nameLocation":"6633:5:130","scope":80578,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77932,"name":"uint256","nodeType":"ElementaryTypeName","src":"6618:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"id":77935,"nodeType":"VariableDeclaration","src":"6644:23:130","nodes":[],"constant":false,"functionSelector":"76365af7","mutability":"mutable","name":"maxRatio","nameLocation":"6659:8:130","scope":80578,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77934,"name":"uint256","nodeType":"ElementaryTypeName","src":"6644:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"id":77937,"nodeType":"VariableDeclaration","src":"6673:21:130","nodes":[],"constant":false,"functionSelector":"a1aab33f","mutability":"mutable","name":"weight","nameLocation":"6688:6:130","scope":80578,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77936,"name":"uint256","nodeType":"ElementaryTypeName","src":"6673:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"id":77940,"nodeType":"VariableDeclaration","src":"6700:34:130","nodes":[],"constant":false,"functionSelector":"0c0512e9","mutability":"mutable","name":"proposalCounter","nameLocation":"6715:15:130","scope":80578,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77938,"name":"uint256","nodeType":"ElementaryTypeName","src":"6700:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"30","id":77939,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6733:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"visibility":"public"},{"id":77942,"nodeType":"VariableDeclaration","src":"6740:26:130","nodes":[],"constant":false,"functionSelector":"817b1cd2","mutability":"mutable","name":"totalStaked","nameLocation":"6755:11:130","scope":80578,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77941,"name":"uint256","nodeType":"ElementaryTypeName","src":"6740:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"id":77944,"nodeType":"VariableDeclaration","src":"6772:35:130","nodes":[],"constant":false,"functionSelector":"aba9ffee","mutability":"mutable","name":"totalPointsActivated","nameLocation":"6787:20:130","scope":80578,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77943,"name":"uint256","nodeType":"ElementaryTypeName","src":"6772:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"id":77947,"nodeType":"VariableDeclaration","src":"6813:38:130","nodes":[],"constant":false,"functionSelector":"7c6570ba","mutability":"mutable","name":"_minThresholdPoints","nameLocation":"6828:19:130","scope":80578,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77945,"name":"uint256","nodeType":"ElementaryTypeName","src":"6813:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"30","id":77946,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6850:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"visibility":"public"},{"id":77949,"nodeType":"VariableDeclaration","src":"6892:47:130","nodes":[],"constant":false,"mutability":"mutable","name":"surpressStateMutabilityWarning","nameLocation":"6909:30:130","scope":80578,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77948,"name":"uint256","nodeType":"ElementaryTypeName","src":"6892:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"id":77952,"nodeType":"VariableDeclaration","src":"7024:47:130","nodes":[],"constant":false,"functionSelector":"351d9f96","mutability":"mutable","name":"proposalType","nameLocation":"7059:12:130","scope":80578,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$77671","typeString":"enum StrategyStruct.ProposalType"},"typeName":{"id":77951,"nodeType":"UserDefinedTypeName","pathNode":{"id":77950,"name":"StrategyStruct.ProposalType","nameLocations":["7024:14:130","7039:12:130"],"nodeType":"IdentifierPath","referencedDeclaration":77671,"src":"7024:27:130"},"referencedDeclaration":77671,"src":"7024:27:130","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$77671","typeString":"enum StrategyStruct.ProposalType"}},"visibility":"public"},{"id":77955,"nodeType":"VariableDeclaration","src":"7130:45:130","nodes":[],"constant":false,"functionSelector":"2dbd6fdd","mutability":"mutable","name":"pointSystem","nameLocation":"7164:11:130","scope":80578,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$77676","typeString":"enum StrategyStruct.PointSystem"},"typeName":{"id":77954,"nodeType":"UserDefinedTypeName","pathNode":{"id":77953,"name":"StrategyStruct.PointSystem","nameLocations":["7130:14:130","7145:11:130"],"nodeType":"IdentifierPath","referencedDeclaration":77676,"src":"7130:26:130"},"referencedDeclaration":77676,"src":"7130:26:130","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$77676","typeString":"enum StrategyStruct.PointSystem"}},"visibility":"public"},{"id":77958,"nodeType":"VariableDeclaration","src":"7181:51:130","nodes":[],"constant":false,"functionSelector":"a47ff7e5","mutability":"mutable","name":"pointConfig","nameLocation":"7221:11:130","scope":80578,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$77729_storage","typeString":"struct StrategyStruct.PointSystemConfig"},"typeName":{"id":77957,"nodeType":"UserDefinedTypeName","pathNode":{"id":77956,"name":"StrategyStruct.PointSystemConfig","nameLocations":["7181:14:130","7196:17:130"],"nodeType":"IdentifierPath","referencedDeclaration":77729,"src":"7181:32:130"},"referencedDeclaration":77729,"src":"7181:32:130","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$77729_storage_ptr","typeString":"struct StrategyStruct.PointSystemConfig"}},"visibility":"public"},{"id":77961,"nodeType":"VariableDeclaration","src":"7265:46:130","nodes":[],"constant":false,"functionSelector":"6003e414","mutability":"mutable","name":"registryCommunity","nameLocation":"7294:17:130","scope":80578,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"},"typeName":{"id":77960,"nodeType":"UserDefinedTypeName","pathNode":{"id":77959,"name":"RegistryCommunityV0_0","nameLocations":["7265:21:130"],"nodeType":"IdentifierPath","referencedDeclaration":85047,"src":"7265:21:130"},"referencedDeclaration":85047,"src":"7265:21:130","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"}},"visibility":"public"},{"id":77964,"nodeType":"VariableDeclaration","src":"7317:31:130","nodes":[],"constant":false,"functionSelector":"b6c61f31","mutability":"mutable","name":"sybilScorer","nameLocation":"7337:11:130","scope":80578,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$80667","typeString":"contract ISybilScorer"},"typeName":{"id":77963,"nodeType":"UserDefinedTypeName","pathNode":{"id":77962,"name":"ISybilScorer","nameLocations":["7317:12:130"],"nodeType":"IdentifierPath","referencedDeclaration":80667,"src":"7317:12:130"},"referencedDeclaration":80667,"src":"7317:12:130","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$80667","typeString":"contract ISybilScorer"}},"visibility":"public"},{"id":77969,"nodeType":"VariableDeclaration","src":"7415:60:130","nodes":[],"constant":false,"functionSelector":"013cf08b","mutability":"mutable","name":"proposals","nameLocation":"7466:9:130","scope":80578,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$77721_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal)"},"typeName":{"id":77968,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":77965,"name":"uint256","nodeType":"ElementaryTypeName","src":"7423:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"7415:43:130","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$77721_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":77967,"nodeType":"UserDefinedTypeName","pathNode":{"id":77966,"name":"StrategyStruct.Proposal","nameLocations":["7434:14:130","7449:8:130"],"nodeType":"IdentifierPath","referencedDeclaration":77721,"src":"7434:23:130"},"referencedDeclaration":77721,"src":"7434:23:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal"}}},"visibility":"public"},{"id":77973,"nodeType":"VariableDeclaration","src":"7531:53:130","nodes":[],"constant":false,"functionSelector":"5db64b99","mutability":"mutable","name":"totalVoterStakePct","nameLocation":"7566:18:130","scope":80578,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"typeName":{"id":77972,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":77970,"name":"address","nodeType":"ElementaryTypeName","src":"7539:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"7531:27:130","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":77971,"name":"uint256","nodeType":"ElementaryTypeName","src":"7550:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"public"},{"id":77978,"nodeType":"VariableDeclaration","src":"7622:57:130","nodes":[],"constant":false,"functionSelector":"868c57b8","mutability":"mutable","name":"voterStakedProposals","nameLocation":"7659:20:130","scope":80578,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$","typeString":"mapping(address => uint256[])"},"typeName":{"id":77977,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":77974,"name":"address","nodeType":"ElementaryTypeName","src":"7630:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"7622:29:130","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$","typeString":"mapping(address => uint256[])"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"baseType":{"id":77975,"name":"uint256","nodeType":"ElementaryTypeName","src":"7641:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":77976,"nodeType":"ArrayTypeName","src":"7641:9:130","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}}},"visibility":"public"},{"id":77997,"nodeType":"ModifierDefinition","src":"7718:184:130","nodes":[],"body":{"id":77996,"nodeType":"Block","src":"7745:157:130","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":77988,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":77980,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"7759:3:130","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":77981,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7763:6:130","memberName":"sender","nodeType":"MemberAccess","src":"7759:10:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":77984,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77961,"src":"7781:17:130","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"}},"id":77985,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7799:11:130","memberName":"councilSafe","nodeType":"MemberAccess","referencedDeclaration":83193,"src":"7781:29:130","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_contract$_ISafe_$85665_$","typeString":"function () view external returns (contract ISafe)"}},"id":77986,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7781:31:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ISafe_$85665","typeString":"contract ISafe"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ISafe_$85665","typeString":"contract ISafe"}],"id":77983,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7773:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":77982,"name":"address","nodeType":"ElementaryTypeName","src":"7773:7:130","typeDescriptions":{}}},"id":77987,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7773:40:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"7759:54:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":77994,"nodeType":"Block","src":"7847:49:130","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":77991,"name":"OnlyCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77835,"src":"7868:15:130","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":77992,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7868:17:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":77993,"nodeType":"RevertStatement","src":"7861:24:130"}]},"id":77995,"nodeType":"IfStatement","src":"7755:141:130","trueBody":{"id":77990,"nodeType":"Block","src":"7815:26:130","statements":[{"id":77989,"nodeType":"PlaceholderStatement","src":"7829:1:130"}]}}]},"name":"onlyCouncilSafe","nameLocation":"7727:15:130","parameters":{"id":77979,"nodeType":"ParameterList","parameters":[],"src":"7742:2:130"},"virtual":false,"visibility":"internal"},{"id":78015,"nodeType":"FunctionDefinition","src":"8154:132:130","nodes":[],"body":{"id":78014,"nodeType":"Block","src":"8212:74:130","nodes":[],"statements":[{"expression":{"arguments":[{"id":78007,"name":"_allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77999,"src":"8233:5:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"43565374726174656779","id":78008,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8240:12:130","typeDescriptions":{"typeIdentifier":"t_stringliteral_5f43243e98d2b877d41079bf899c9372a6b91af5be3180830de9d43f93117b2e","typeString":"literal_string \"CVStrategy\""},"value":"CVStrategy"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_stringliteral_5f43243e98d2b877d41079bf899c9372a6b91af5be3180830de9d43f93117b2e","typeString":"literal_string \"CVStrategy\""}],"expression":{"id":78004,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"8222:5:130","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_CVStrategyV0_0_$80578_$","typeString":"type(contract super CVStrategyV0_0)"}},"id":78006,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8228:4:130","memberName":"init","nodeType":"MemberAccess","referencedDeclaration":74116,"src":"8222:10:130","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_string_memory_ptr_$returns$__$","typeString":"function (address,string memory)"}},"id":78009,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8222:31:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78010,"nodeType":"ExpressionStatement","src":"8222:31:130"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":78011,"name":"__Ownable_init","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52837,"src":"8263:14:130","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":78012,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8263:16:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78013,"nodeType":"ExpressionStatement","src":"8263:16:130"}]},"functionSelector":"19ab453c","implemented":true,"kind":"function","modifiers":[{"id":78002,"kind":"modifierInvocation","modifierName":{"id":78001,"name":"initializer","nameLocations":["8200:11:130"],"nodeType":"IdentifierPath","referencedDeclaration":53093,"src":"8200:11:130"},"nodeType":"ModifierInvocation","src":"8200:11:130"}],"name":"init","nameLocation":"8163:4:130","parameters":{"id":78000,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77999,"mutability":"mutable","name":"_allo","nameLocation":"8176:5:130","nodeType":"VariableDeclaration","scope":78015,"src":"8168:13:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":77998,"name":"address","nodeType":"ElementaryTypeName","src":"8168:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"8167:15:130"},"returnParameters":{"id":78003,"nodeType":"ParameterList","parameters":[],"src":"8212:0:130"},"scope":80578,"stateMutability":"nonpayable","virtual":true,"visibility":"external"},{"id":78108,"nodeType":"FunctionDefinition","src":"8292:761:130","nodes":[],"body":{"id":78107,"nodeType":"Block","src":"8375:678:130","nodes":[],"statements":[{"expression":{"arguments":[{"id":78025,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78017,"src":"8405:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":78024,"name":"__BaseStrategy_init","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74252,"src":"8385:19:130","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":78026,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8385:28:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78027,"nodeType":"ExpressionStatement","src":"8385:28:130"},{"assignments":[78032],"declarations":[{"constant":false,"id":78032,"mutability":"mutable","name":"ip","nameLocation":"8462:2:130","nodeType":"VariableDeclaration","scope":78107,"src":"8423:41:130","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$77751_memory_ptr","typeString":"struct StrategyStruct.InitializeParams"},"typeName":{"id":78031,"nodeType":"UserDefinedTypeName","pathNode":{"id":78030,"name":"StrategyStruct.InitializeParams","nameLocations":["8423:14:130","8438:16:130"],"nodeType":"IdentifierPath","referencedDeclaration":77751,"src":"8423:31:130"},"referencedDeclaration":77751,"src":"8423:31:130","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$77751_storage_ptr","typeString":"struct StrategyStruct.InitializeParams"}},"visibility":"internal"}],"id":78040,"initialValue":{"arguments":[{"id":78035,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78019,"src":"8478:5:130","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"expression":{"id":78036,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77752,"src":"8486:14:130","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$77752_$","typeString":"type(library StrategyStruct)"}},"id":78037,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8501:16:130","memberName":"InitializeParams","nodeType":"MemberAccess","referencedDeclaration":77751,"src":"8486:31:130","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_InitializeParams_$77751_storage_ptr_$","typeString":"type(struct StrategyStruct.InitializeParams storage pointer)"}}],"id":78038,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"8485:33:130","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_InitializeParams_$77751_storage_ptr_$","typeString":"type(struct StrategyStruct.InitializeParams storage pointer)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_struct$_InitializeParams_$77751_storage_ptr_$","typeString":"type(struct StrategyStruct.InitializeParams storage pointer)"}],"expression":{"id":78033,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"8467:3:130","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":78034,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8471:6:130","memberName":"decode","nodeType":"MemberAccess","src":"8467:10:130","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":78039,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8467:52:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$77751_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"nodeType":"VariableDeclarationStatement","src":"8423:96:130"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":78047,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":78041,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78032,"src":"8534:2:130","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$77751_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":78042,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8537:17:130","memberName":"registryCommunity","nodeType":"MemberAccess","referencedDeclaration":77731,"src":"8534:20:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":78045,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8566:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":78044,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8558:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":78043,"name":"address","nodeType":"ElementaryTypeName","src":"8558:7:130","typeDescriptions":{}}},"id":78046,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8558:10:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"8534:34:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":78052,"nodeType":"IfStatement","src":"8530:94:130","trueBody":{"id":78051,"nodeType":"Block","src":"8570:54:130","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":78048,"name":"RegistryCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77785,"src":"8591:20:130","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":78049,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8591:22:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78050,"nodeType":"RevertStatement","src":"8584:29:130"}]}},{"expression":{"id":78058,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":78053,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77961,"src":"8634:17:130","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":78055,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78032,"src":"8676:2:130","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$77751_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":78056,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8679:17:130","memberName":"registryCommunity","nodeType":"MemberAccess","referencedDeclaration":77731,"src":"8676:20:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":78054,"name":"RegistryCommunityV0_0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85047,"src":"8654:21:130","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_RegistryCommunityV0_0_$85047_$","typeString":"type(contract RegistryCommunityV0_0)"}},"id":78057,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8654:43:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"}},"src":"8634:63:130","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"}},"id":78059,"nodeType":"ExpressionStatement","src":"8634:63:130"},{"expression":{"id":78063,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":78060,"name":"decay","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77933,"src":"8707:5:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":78061,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78032,"src":"8715:2:130","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$77751_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":78062,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8718:5:130","memberName":"decay","nodeType":"MemberAccess","referencedDeclaration":77733,"src":"8715:8:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8707:16:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":78064,"nodeType":"ExpressionStatement","src":"8707:16:130"},{"expression":{"id":78068,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":78065,"name":"maxRatio","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77935,"src":"8733:8:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":78066,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78032,"src":"8744:2:130","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$77751_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":78067,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8747:8:130","memberName":"maxRatio","nodeType":"MemberAccess","referencedDeclaration":77735,"src":"8744:11:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8733:22:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":78069,"nodeType":"ExpressionStatement","src":"8733:22:130"},{"expression":{"id":78073,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":78070,"name":"weight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77937,"src":"8765:6:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":78071,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78032,"src":"8774:2:130","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$77751_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":78072,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8777:6:130","memberName":"weight","nodeType":"MemberAccess","referencedDeclaration":77737,"src":"8774:9:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8765:18:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":78074,"nodeType":"ExpressionStatement","src":"8765:18:130"},{"expression":{"id":78078,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":78075,"name":"proposalType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77952,"src":"8793:12:130","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$77671","typeString":"enum StrategyStruct.ProposalType"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":78076,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78032,"src":"8808:2:130","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$77751_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":78077,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8811:12:130","memberName":"proposalType","nodeType":"MemberAccess","referencedDeclaration":77742,"src":"8808:15:130","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$77671","typeString":"enum StrategyStruct.ProposalType"}},"src":"8793:30:130","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$77671","typeString":"enum StrategyStruct.ProposalType"}},"id":78079,"nodeType":"ExpressionStatement","src":"8793:30:130"},{"expression":{"id":78083,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":78080,"name":"pointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77955,"src":"8833:11:130","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$77676","typeString":"enum StrategyStruct.PointSystem"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":78081,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78032,"src":"8847:2:130","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$77751_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":78082,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8850:11:130","memberName":"pointSystem","nodeType":"MemberAccess","referencedDeclaration":77745,"src":"8847:14:130","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$77676","typeString":"enum StrategyStruct.PointSystem"}},"src":"8833:28:130","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$77676","typeString":"enum StrategyStruct.PointSystem"}},"id":78084,"nodeType":"ExpressionStatement","src":"8833:28:130"},{"expression":{"id":78088,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":78085,"name":"pointConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77958,"src":"8871:11:130","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$77729_storage","typeString":"struct StrategyStruct.PointSystemConfig storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":78086,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78032,"src":"8885:2:130","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$77751_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":78087,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8888:11:130","memberName":"pointConfig","nodeType":"MemberAccess","referencedDeclaration":77748,"src":"8885:14:130","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$77729_memory_ptr","typeString":"struct StrategyStruct.PointSystemConfig memory"}},"src":"8871:28:130","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$77729_storage","typeString":"struct StrategyStruct.PointSystemConfig storage ref"}},"id":78089,"nodeType":"ExpressionStatement","src":"8871:28:130"},{"expression":{"id":78093,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":78090,"name":"_minThresholdPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77947,"src":"8909:19:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":78091,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78032,"src":"8931:2:130","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$77751_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":78092,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8934:18:130","memberName":"minThresholdPoints","nodeType":"MemberAccess","referencedDeclaration":77739,"src":"8931:21:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8909:43:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":78094,"nodeType":"ExpressionStatement","src":"8909:43:130"},{"expression":{"id":78100,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":78095,"name":"sybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77964,"src":"8962:11:130","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$80667","typeString":"contract ISybilScorer"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":78097,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78032,"src":"8989:2:130","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$77751_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},"id":78098,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8992:11:130","memberName":"sybilScorer","nodeType":"MemberAccess","referencedDeclaration":77750,"src":"8989:14:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":78096,"name":"ISybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80667,"src":"8976:12:130","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ISybilScorer_$80667_$","typeString":"type(contract ISybilScorer)"}},"id":78099,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8976:28:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$80667","typeString":"contract ISybilScorer"}},"src":"8962:42:130","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$80667","typeString":"contract ISybilScorer"}},"id":78101,"nodeType":"ExpressionStatement","src":"8962:42:130"},{"eventCall":{"arguments":[{"id":78103,"name":"_poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78017,"src":"9034:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":78104,"name":"ip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78032,"src":"9043:2:130","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$77751_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_struct$_InitializeParams_$77751_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}],"id":78102,"name":"InitializedCV","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77844,"src":"9020:13:130","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_struct$_InitializeParams_$77751_memory_ptr_$returns$__$","typeString":"function (uint256,struct StrategyStruct.InitializeParams memory)"}},"id":78105,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9020:26:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78106,"nodeType":"EmitStatement","src":"9015:31:130"}]},"baseFunctions":[2939],"functionSelector":"edd146cc","implemented":true,"kind":"function","modifiers":[{"id":78022,"kind":"modifierInvocation","modifierName":{"id":78021,"name":"onlyAllo","nameLocations":["8366:8:130"],"nodeType":"IdentifierPath","referencedDeclaration":74124,"src":"8366:8:130"},"nodeType":"ModifierInvocation","src":"8366:8:130"}],"name":"initialize","nameLocation":"8301:10:130","parameters":{"id":78020,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78017,"mutability":"mutable","name":"_poolId","nameLocation":"8320:7:130","nodeType":"VariableDeclaration","scope":78108,"src":"8312:15:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78016,"name":"uint256","nodeType":"ElementaryTypeName","src":"8312:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":78019,"mutability":"mutable","name":"_data","nameLocation":"8342:5:130","nodeType":"VariableDeclaration","scope":78108,"src":"8329:18:130","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":78018,"name":"bytes","nodeType":"ElementaryTypeName","src":"8329:5:130","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"8311:37:130"},"returnParameters":{"id":78023,"nodeType":"ParameterList","parameters":[],"src":"8375:0:130"},"scope":80578,"stateMutability":"nonpayable","virtual":true,"visibility":"external"},{"id":78112,"nodeType":"FunctionDefinition","src":"9224:83:130","nodes":[],"body":{"id":78111,"nodeType":"Block","src":"9252:55:130","nodes":[],"statements":[]},"implemented":true,"kind":"fallback","modifiers":[],"name":"","nameLocation":"-1:-1:-1","parameters":{"id":78109,"nodeType":"ParameterList","parameters":[],"src":"9232:2:130"},"returnParameters":{"id":78110,"nodeType":"ParameterList","parameters":[],"src":"9252:0:130"},"scope":80578,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":78116,"nodeType":"FunctionDefinition","src":"9313:135:130","nodes":[],"body":{"id":78115,"nodeType":"Block","src":"9340:108:130","nodes":[],"statements":[]},"implemented":true,"kind":"receive","modifiers":[],"name":"","nameLocation":"-1:-1:-1","parameters":{"id":78113,"nodeType":"ParameterList","parameters":[],"src":"9320:2:130"},"returnParameters":{"id":78114,"nodeType":"ParameterList","parameters":[],"src":"9340:0:130"},"scope":80578,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":78137,"nodeType":"FunctionDefinition","src":"9454:202:130","nodes":[],"body":{"id":78136,"nodeType":"Block","src":"9545:111:130","nodes":[],"statements":[{"expression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":78134,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"id":78129,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":78124,"name":"interfaceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78118,"src":"9562:11:130","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"arguments":[{"id":78126,"name":"IPointStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77667,"src":"9582:14:130","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IPointStrategy_$77667_$","typeString":"type(contract IPointStrategy)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_contract$_IPointStrategy_$77667_$","typeString":"type(contract IPointStrategy)"}],"id":78125,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"9577:4:130","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":78127,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9577:20:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_contract$_IPointStrategy_$77667","typeString":"type(contract IPointStrategy)"}},"id":78128,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"9598:11:130","memberName":"interfaceId","nodeType":"MemberAccess","src":"9577:32:130","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"src":"9562:47:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"arguments":[{"id":78132,"name":"interfaceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78118,"src":"9637:11:130","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":78130,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"9613:5:130","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_CVStrategyV0_0_$80578_$","typeString":"type(contract super CVStrategyV0_0)"}},"id":78131,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9619:17:130","memberName":"supportsInterface","nodeType":"MemberAccess","referencedDeclaration":58265,"src":"9613:23:130","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes4_$returns$_t_bool_$","typeString":"function (bytes4) view returns (bool)"}},"id":78133,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9613:36:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"9562:87:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":78123,"id":78135,"nodeType":"Return","src":"9555:94:130"}]},"baseFunctions":[58265],"functionSelector":"01ffc9a7","implemented":true,"kind":"function","modifiers":[],"name":"supportsInterface","nameLocation":"9463:17:130","overrides":{"id":78120,"nodeType":"OverrideSpecifier","overrides":[],"src":"9521:8:130"},"parameters":{"id":78119,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78118,"mutability":"mutable","name":"interfaceId","nameLocation":"9488:11:130","nodeType":"VariableDeclaration","scope":78137,"src":"9481:18:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":78117,"name":"bytes4","nodeType":"ElementaryTypeName","src":"9481:6:130","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"9480:20:130"},"returnParameters":{"id":78123,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78122,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":78137,"src":"9539:4:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":78121,"name":"bool","nodeType":"ElementaryTypeName","src":"9539:4:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"9538:6:130"},"scope":80578,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":78178,"nodeType":"FunctionDefinition","src":"9827:377:130","nodes":[],"body":{"id":78177,"nodeType":"Block","src":"9886:318:130","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":78147,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":78142,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78139,"src":"9900:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":78145,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9919:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":78144,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9911:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":78143,"name":"address","nodeType":"ElementaryTypeName","src":"9911:7:130","typeDescriptions":{}}},"id":78146,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9911:10:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"9900:21:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":78152,"nodeType":"IfStatement","src":"9896:77:130","trueBody":{"id":78151,"nodeType":"Block","src":"9923:50:130","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":78148,"name":"UserCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77765,"src":"9944:16:130","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":78149,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9944:18:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78150,"nodeType":"RevertStatement","src":"9937:25:130"}]}},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":78161,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":78155,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77961,"src":"9994:17:130","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"}],"id":78154,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9986:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":78153,"name":"address","nodeType":"ElementaryTypeName","src":"9986:7:130","typeDescriptions":{}}},"id":78156,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9986:26:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":78159,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10024:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":78158,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10016:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":78157,"name":"address","nodeType":"ElementaryTypeName","src":"10016:7:130","typeDescriptions":{}}},"id":78160,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10016:10:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"9986:40:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":78166,"nodeType":"IfStatement","src":"9982:100:130","trueBody":{"id":78165,"nodeType":"Block","src":"10028:54:130","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":78162,"name":"RegistryCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77785,"src":"10049:20:130","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":78163,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10049:22:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78164,"nodeType":"RevertStatement","src":"10042:29:130"}]}},{"condition":{"id":78171,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"10095:36:130","subExpression":{"arguments":[{"id":78169,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78139,"src":"10123:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":78167,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77961,"src":"10096:17:130","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"}},"id":78168,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10114:8:130","memberName":"isMember","nodeType":"MemberAccess","referencedDeclaration":84615,"src":"10096:26:130","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view external returns (bool)"}},"id":78170,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10096:35:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":78176,"nodeType":"IfStatement","src":"10091:93:130","trueBody":{"id":78175,"nodeType":"Block","src":"10133:51:130","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":78172,"name":"UserNotInRegistry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77767,"src":"10154:17:130","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":78173,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10154:19:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78174,"nodeType":"RevertStatement","src":"10147:26:130"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"checkSenderIsMember","nameLocation":"9836:19:130","parameters":{"id":78140,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78139,"mutability":"mutable","name":"_sender","nameLocation":"9864:7:130","nodeType":"VariableDeclaration","scope":78178,"src":"9856:15:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":78138,"name":"address","nodeType":"ElementaryTypeName","src":"9856:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"9855:17:130"},"returnParameters":{"id":78141,"nodeType":"ParameterList","parameters":[],"src":"9886:0:130"},"scope":80578,"stateMutability":"view","virtual":false,"visibility":"private"},{"id":78194,"nodeType":"FunctionDefinition","src":"10210:162:130","nodes":[],"body":{"id":78193,"nodeType":"Block","src":"10256:116:130","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":78187,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":78181,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"10270:3:130","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":78182,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10274:6:130","memberName":"sender","nodeType":"MemberAccess","src":"10270:10:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"id":78185,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77961,"src":"10292:17:130","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"}],"id":78184,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10284:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":78183,"name":"address","nodeType":"ElementaryTypeName","src":"10284:7:130","typeDescriptions":{}}},"id":78186,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10284:26:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"10270:40:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":78192,"nodeType":"IfStatement","src":"10266:100:130","trueBody":{"id":78191,"nodeType":"Block","src":"10312:54:130","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":78188,"name":"OnlyCommunityAllowed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77825,"src":"10333:20:130","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":78189,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10333:22:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78190,"nodeType":"RevertStatement","src":"10326:29:130"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"onlyRegistryCommunity","nameLocation":"10219:21:130","parameters":{"id":78179,"nodeType":"ParameterList","parameters":[],"src":"10240:2:130"},"returnParameters":{"id":78180,"nodeType":"ParameterList","parameters":[],"src":"10256:0:130"},"scope":80578,"stateMutability":"view","virtual":false,"visibility":"private"},{"id":78210,"nodeType":"FunctionDefinition","src":"10378:133:130","nodes":[],"body":{"id":78209,"nodeType":"Block","src":"10438:73:130","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":78204,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":78199,"name":"_address","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78196,"src":"10452:8:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":78202,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10472:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":78201,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10464:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":78200,"name":"address","nodeType":"ElementaryTypeName","src":"10464:7:130","typeDescriptions":{}}},"id":78203,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10464:10:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"10452:22:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":78208,"nodeType":"IfStatement","src":"10448:56:130","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":78205,"name":"AddressCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77783,"src":"10483:19:130","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":78206,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10483:21:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78207,"nodeType":"RevertStatement","src":"10476:28:130"}}]},"implemented":true,"kind":"function","modifiers":[],"name":"_revertZeroAddress","nameLocation":"10387:18:130","parameters":{"id":78197,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78196,"mutability":"mutable","name":"_address","nameLocation":"10414:8:130","nodeType":"VariableDeclaration","scope":78210,"src":"10406:16:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":78195,"name":"address","nodeType":"ElementaryTypeName","src":"10406:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"10405:18:130"},"returnParameters":{"id":78198,"nodeType":"ParameterList","parameters":[],"src":"10438:0:130"},"scope":80578,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":78240,"nodeType":"FunctionDefinition","src":"10517:230:130","nodes":[],"body":{"id":78239,"nodeType":"Block","src":"10588:159:130","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":78225,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":78219,"name":"sybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77964,"src":"10610:11:130","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$80667","typeString":"contract ISybilScorer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ISybilScorer_$80667","typeString":"contract ISybilScorer"}],"id":78218,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10602:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":78217,"name":"address","nodeType":"ElementaryTypeName","src":"10602:7:130","typeDescriptions":{}}},"id":78220,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10602:20:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":78223,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10634:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":78222,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10626:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":78221,"name":"address","nodeType":"ElementaryTypeName","src":"10626:7:130","typeDescriptions":{}}},"id":78224,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10626:10:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"10602:34:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":78229,"nodeType":"IfStatement","src":"10598:76:130","trueBody":{"id":78228,"nodeType":"Block","src":"10638:36:130","statements":[{"expression":{"hexValue":"74727565","id":78226,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"10659:4:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":78216,"id":78227,"nodeType":"Return","src":"10652:11:130"}]}},{"expression":{"arguments":[{"id":78232,"name":"_user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78212,"src":"10719:5:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":78235,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"10734:4:130","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$80578","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$80578","typeString":"contract CVStrategyV0_0"}],"id":78234,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10726:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":78233,"name":"address","nodeType":"ElementaryTypeName","src":"10726:7:130","typeDescriptions":{}}},"id":78236,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10726:13:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":78230,"name":"sybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77964,"src":"10690:11:130","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$80667","typeString":"contract ISybilScorer"}},"id":78231,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10702:16:130","memberName":"canExecuteAction","nodeType":"MemberAccess","referencedDeclaration":80624,"src":"10690:28:130","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_bool_$","typeString":"function (address,address) view external returns (bool)"}},"id":78237,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10690:50:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":78216,"id":78238,"nodeType":"Return","src":"10683:57:130"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_canExecuteAction","nameLocation":"10526:17:130","parameters":{"id":78213,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78212,"mutability":"mutable","name":"_user","nameLocation":"10552:5:130","nodeType":"VariableDeclaration","scope":78240,"src":"10544:13:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":78211,"name":"address","nodeType":"ElementaryTypeName","src":"10544:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"10543:15:130"},"returnParameters":{"id":78216,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78215,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":78240,"src":"10582:4:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":78214,"name":"bool","nodeType":"ElementaryTypeName","src":"10582:4:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"10581:6:130"},"scope":80578,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":78424,"nodeType":"FunctionDefinition","src":"11073:2045:130","nodes":[],"body":{"id":78423,"nodeType":"Block","src":"11174:1944:130","nodes":[],"statements":[{"condition":{"id":78253,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"11188:27:130","subExpression":{"arguments":[{"id":78251,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78244,"src":"11207:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":78250,"name":"_canExecuteAction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78240,"src":"11189:17:130","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":78252,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11189:26:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":78258,"nodeType":"IfStatement","src":"11184:90:130","trueBody":{"id":78257,"nodeType":"Block","src":"11217:57:130","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":78254,"name":"UserCannotExecuteAction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77837,"src":"11238:23:130","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":78255,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11238:25:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78256,"nodeType":"RevertStatement","src":"11231:32:130"}]}},{"expression":{"id":78259,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78242,"src":"11328:5:130","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":78260,"nodeType":"ExpressionStatement","src":"11328:5:130"},{"assignments":[78265],"declarations":[{"constant":false,"id":78265,"mutability":"mutable","name":"proposal","nameLocation":"11380:8:130","nodeType":"VariableDeclaration","scope":78423,"src":"11343:45:130","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$77688_memory_ptr","typeString":"struct StrategyStruct.CreateProposal"},"typeName":{"id":78264,"nodeType":"UserDefinedTypeName","pathNode":{"id":78263,"name":"StrategyStruct.CreateProposal","nameLocations":["11343:14:130","11358:14:130"],"nodeType":"IdentifierPath","referencedDeclaration":77688,"src":"11343:29:130"},"referencedDeclaration":77688,"src":"11343:29:130","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$77688_storage_ptr","typeString":"struct StrategyStruct.CreateProposal"}},"visibility":"internal"}],"id":78273,"initialValue":{"arguments":[{"id":78268,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78242,"src":"11402:5:130","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"expression":{"id":78269,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77752,"src":"11410:14:130","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$77752_$","typeString":"type(library StrategyStruct)"}},"id":78270,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11425:14:130","memberName":"CreateProposal","nodeType":"MemberAccess","referencedDeclaration":77688,"src":"11410:29:130","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_CreateProposal_$77688_storage_ptr_$","typeString":"type(struct StrategyStruct.CreateProposal storage pointer)"}}],"id":78271,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"11409:31:130","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_CreateProposal_$77688_storage_ptr_$","typeString":"type(struct StrategyStruct.CreateProposal storage pointer)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_struct$_CreateProposal_$77688_storage_ptr_$","typeString":"type(struct StrategyStruct.CreateProposal storage pointer)"}],"expression":{"id":78266,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"11391:3:130","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":78267,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"11395:6:130","memberName":"decode","nodeType":"MemberAccess","src":"11391:10:130","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":78272,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11391:50:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$77688_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"nodeType":"VariableDeclarationStatement","src":"11343:98:130"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":78277,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":78274,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78265,"src":"11556:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$77688_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":78275,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11565:6:130","memberName":"poolId","nodeType":"MemberAccess","referencedDeclaration":77678,"src":"11556:15:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":78276,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11575:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"11556:20:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":78282,"nodeType":"IfStatement","src":"11552:78:130","trueBody":{"id":78281,"nodeType":"Block","src":"11578:52:130","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":78278,"name":"PoolIdCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77781,"src":"11599:18:130","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":78279,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11599:20:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78280,"nodeType":"RevertStatement","src":"11592:27:130"}]}},{"condition":{"commonType":{"typeIdentifier":"t_enum$_ProposalType_$77671","typeString":"enum StrategyStruct.ProposalType"},"id":78287,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":78283,"name":"proposalType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77952,"src":"11706:12:130","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$77671","typeString":"enum StrategyStruct.ProposalType"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":78284,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77752,"src":"11722:14:130","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$77752_$","typeString":"type(library StrategyStruct)"}},"id":78285,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11737:12:130","memberName":"ProposalType","nodeType":"MemberAccess","referencedDeclaration":77671,"src":"11722:27:130","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalType_$77671_$","typeString":"type(enum StrategyStruct.ProposalType)"}},"id":78286,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"11750:7:130","memberName":"Funding","nodeType":"MemberAccess","referencedDeclaration":77669,"src":"11722:35:130","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$77671","typeString":"enum StrategyStruct.ProposalType"}},"src":"11706:51:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":78334,"nodeType":"IfStatement","src":"11702:722:130","trueBody":{"id":78333,"nodeType":"Block","src":"11759:665:130","statements":[{"expression":{"arguments":[{"expression":{"id":78289,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78265,"src":"11792:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$77688_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":78290,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11801:11:130","memberName":"beneficiary","nodeType":"MemberAccess","referencedDeclaration":77680,"src":"11792:20:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":78288,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78210,"src":"11773:18:130","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":78291,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11773:40:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78292,"nodeType":"ExpressionStatement","src":"11773:40:130"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":78299,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":78293,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78265,"src":"11879:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$77688_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":78294,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11888:14:130","memberName":"requestedToken","nodeType":"MemberAccess","referencedDeclaration":77684,"src":"11879:23:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":78297,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11914:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":78296,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11906:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":78295,"name":"address","nodeType":"ElementaryTypeName","src":"11906:7:130","typeDescriptions":{}}},"id":78298,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11906:10:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"11879:37:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":78304,"nodeType":"IfStatement","src":"11875:102:130","trueBody":{"id":78303,"nodeType":"Block","src":"11918:59:130","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":78300,"name":"TokenCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77775,"src":"11943:17:130","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":78301,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11943:19:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78302,"nodeType":"RevertStatement","src":"11936:26:130"}]}},{"assignments":[78306],"declarations":[{"constant":false,"id":78306,"mutability":"mutable","name":"poolToken","nameLocation":"11998:9:130","nodeType":"VariableDeclaration","scope":78333,"src":"11990:17:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":78305,"name":"address","nodeType":"ElementaryTypeName","src":"11990:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":78314,"initialValue":{"expression":{"arguments":[{"id":78311,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74090,"src":"12033:6:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":78307,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"12010:4:130","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$80578","typeString":"contract CVStrategyV0_0"}},"id":78308,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12015:7:130","memberName":"getAllo","nodeType":"MemberAccess","referencedDeclaration":74170,"src":"12010:12:130","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_contract$_IAllo_$2610_$","typeString":"function () view external returns (contract IAllo)"}},"id":78309,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12010:14:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IAllo_$2610","typeString":"contract IAllo"}},"id":78310,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12025:7:130","memberName":"getPool","nodeType":"MemberAccess","referencedDeclaration":2603,"src":"12010:22:130","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_struct$_Pool_$2319_memory_ptr_$","typeString":"function (uint256) view external returns (struct IAllo.Pool memory)"}},"id":78312,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12010:30:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"id":78313,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12041:5:130","memberName":"token","nodeType":"MemberAccess","referencedDeclaration":2311,"src":"12010:36:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"11990:56:130"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":78318,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":78315,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78265,"src":"12064:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$77688_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":78316,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12073:14:130","memberName":"requestedToken","nodeType":"MemberAccess","referencedDeclaration":77684,"src":"12064:23:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":78317,"name":"poolToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78306,"src":"12091:9:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"12064:36:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":78323,"nodeType":"IfStatement","src":"12060:234:130","trueBody":{"id":78322,"nodeType":"Block","src":"12102:192:130","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":78319,"name":"TokenNotAllowed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77777,"src":"12262:15:130","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":78320,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12262:17:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78321,"nodeType":"RevertStatement","src":"12255:24:130"}]}},{"condition":{"arguments":[{"expression":{"id":78325,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78265,"src":"12327:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$77688_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":78326,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12336:15:130","memberName":"amountRequested","nodeType":"MemberAccess","referencedDeclaration":77682,"src":"12327:24:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":78324,"name":"_isOverMaxRatio","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79628,"src":"12311:15:130","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view returns (bool)"}},"id":78327,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12311:41:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":78332,"nodeType":"IfStatement","src":"12307:107:130","trueBody":{"id":78331,"nodeType":"Block","src":"12354:60:130","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":78328,"name":"AmountOverMaxRatio","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77779,"src":"12379:18:130","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":78329,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12379:20:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78330,"nodeType":"RevertStatement","src":"12372:27:130"}]}}]}},{"assignments":[78336],"declarations":[{"constant":false,"id":78336,"mutability":"mutable","name":"proposalId","nameLocation":"12441:10:130","nodeType":"VariableDeclaration","scope":78423,"src":"12433:18:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78335,"name":"uint256","nodeType":"ElementaryTypeName","src":"12433:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":78339,"initialValue":{"id":78338,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":true,"src":"12454:17:130","subExpression":{"id":78337,"name":"proposalCounter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77940,"src":"12456:15:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"12433:38:130"},{"assignments":[78344],"declarations":[{"constant":false,"id":78344,"mutability":"mutable","name":"p","nameLocation":"12513:1:130","nodeType":"VariableDeclaration","scope":78423,"src":"12481:33:130","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":78343,"nodeType":"UserDefinedTypeName","pathNode":{"id":78342,"name":"StrategyStruct.Proposal","nameLocations":["12481:14:130","12496:8:130"],"nodeType":"IdentifierPath","referencedDeclaration":77721,"src":"12481:23:130"},"referencedDeclaration":77721,"src":"12481:23:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":78348,"initialValue":{"baseExpression":{"id":78345,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77969,"src":"12517:9:130","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$77721_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":78347,"indexExpression":{"id":78346,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78336,"src":"12527:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"12517:21:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"12481:57:130"},{"expression":{"id":78353,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":78349,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78344,"src":"12549:1:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":78351,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"12551:10:130","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":77696,"src":"12549:12:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":78352,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78336,"src":"12564:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"12549:25:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":78354,"nodeType":"ExpressionStatement","src":"12549:25:130"},{"expression":{"id":78359,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":78355,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78344,"src":"12584:1:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":78357,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"12586:9:130","memberName":"submitter","nodeType":"MemberAccess","referencedDeclaration":77706,"src":"12584:11:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":78358,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78244,"src":"12598:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"12584:21:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":78360,"nodeType":"ExpressionStatement","src":"12584:21:130"},{"expression":{"id":78366,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":78361,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78344,"src":"12615:1:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":78363,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"12617:11:130","memberName":"beneficiary","nodeType":"MemberAccess","referencedDeclaration":77704,"src":"12615:13:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":78364,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78265,"src":"12631:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$77688_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":78365,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12640:11:130","memberName":"beneficiary","nodeType":"MemberAccess","referencedDeclaration":77680,"src":"12631:20:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"12615:36:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":78367,"nodeType":"ExpressionStatement","src":"12615:36:130"},{"expression":{"id":78373,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":78368,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78344,"src":"12661:1:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":78370,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"12663:14:130","memberName":"requestedToken","nodeType":"MemberAccess","referencedDeclaration":77708,"src":"12661:16:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":78371,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78265,"src":"12680:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$77688_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":78372,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12689:14:130","memberName":"requestedToken","nodeType":"MemberAccess","referencedDeclaration":77684,"src":"12680:23:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"12661:42:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":78374,"nodeType":"ExpressionStatement","src":"12661:42:130"},{"expression":{"id":78380,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":78375,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78344,"src":"12713:1:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":78377,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"12715:15:130","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":77698,"src":"12713:17:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":78378,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78265,"src":"12733:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$77688_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":78379,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12742:15:130","memberName":"amountRequested","nodeType":"MemberAccess","referencedDeclaration":77682,"src":"12733:24:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"12713:44:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":78381,"nodeType":"ExpressionStatement","src":"12713:44:130"},{"expression":{"id":78388,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":78382,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78344,"src":"12818:1:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":78384,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"12820:14:130","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":77713,"src":"12818:16:130","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$77694","typeString":"enum StrategyStruct.ProposalStatus"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"expression":{"id":78385,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77752,"src":"12837:14:130","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$77752_$","typeString":"type(library StrategyStruct)"}},"id":78386,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12852:14:130","memberName":"ProposalStatus","nodeType":"MemberAccess","referencedDeclaration":77694,"src":"12837:29:130","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$77694_$","typeString":"type(enum StrategyStruct.ProposalStatus)"}},"id":78387,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"12867:6:130","memberName":"Active","nodeType":"MemberAccess","referencedDeclaration":77690,"src":"12837:36:130","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$77694","typeString":"enum StrategyStruct.ProposalStatus"}},"src":"12818:55:130","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$77694","typeString":"enum StrategyStruct.ProposalStatus"}},"id":78389,"nodeType":"ExpressionStatement","src":"12818:55:130"},{"expression":{"id":78395,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":78390,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78344,"src":"12883:1:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":78392,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"12885:9:130","memberName":"blockLast","nodeType":"MemberAccess","referencedDeclaration":77710,"src":"12883:11:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":78393,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"12897:5:130","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":78394,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12903:6:130","memberName":"number","nodeType":"MemberAccess","src":"12897:12:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"12883:26:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":78396,"nodeType":"ExpressionStatement","src":"12883:26:130"},{"expression":{"id":78401,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":78397,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78344,"src":"12919:1:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":78399,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"12921:14:130","memberName":"convictionLast","nodeType":"MemberAccess","referencedDeclaration":77702,"src":"12919:16:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"30","id":78400,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12938:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"12919:20:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":78402,"nodeType":"ExpressionStatement","src":"12919:20:130"},{"expression":{"id":78408,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":78403,"name":"p","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78344,"src":"12985:1:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":78405,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"12987:8:130","memberName":"metadata","nodeType":"MemberAccess","referencedDeclaration":77720,"src":"12985:10:130","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage","typeString":"struct Metadata storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":78406,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78265,"src":"12998:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_CreateProposal_$77688_memory_ptr","typeString":"struct StrategyStruct.CreateProposal memory"}},"id":78407,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"13007:8:130","memberName":"metadata","nodeType":"MemberAccess","referencedDeclaration":77687,"src":"12998:17:130","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}},"src":"12985:30:130","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage","typeString":"struct Metadata storage ref"}},"id":78409,"nodeType":"ExpressionStatement","src":"12985:30:130"},{"eventCall":{"arguments":[{"id":78411,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74090,"src":"13047:6:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":78412,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78336,"src":"13055:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":78410,"name":"ProposalCreated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77858,"src":"13031:15:130","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":78413,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13031:35:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78414,"nodeType":"EmitStatement","src":"13026:40:130"},{"expression":{"arguments":[{"arguments":[{"id":78419,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78336,"src":"13099:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":78418,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13091:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":78417,"name":"uint160","nodeType":"ElementaryTypeName","src":"13091:7:130","typeDescriptions":{}}},"id":78420,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13091:19:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":78416,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13083:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":78415,"name":"address","nodeType":"ElementaryTypeName","src":"13083:7:130","typeDescriptions":{}}},"id":78421,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13083:28:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":78249,"id":78422,"nodeType":"Return","src":"13076:35:130"}]},"baseFunctions":[74558],"implemented":true,"kind":"function","modifiers":[],"name":"_registerRecipient","nameLocation":"11082:18:130","overrides":{"id":78246,"nodeType":"OverrideSpecifier","overrides":[],"src":"11147:8:130"},"parameters":{"id":78245,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78242,"mutability":"mutable","name":"_data","nameLocation":"11114:5:130","nodeType":"VariableDeclaration","scope":78424,"src":"11101:18:130","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":78241,"name":"bytes","nodeType":"ElementaryTypeName","src":"11101:5:130","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":78244,"mutability":"mutable","name":"_sender","nameLocation":"11129:7:130","nodeType":"VariableDeclaration","scope":78424,"src":"11121:15:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":78243,"name":"address","nodeType":"ElementaryTypeName","src":"11121:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"11100:37:130"},"returnParameters":{"id":78249,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78248,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":78424,"src":"11165:7:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":78247,"name":"address","nodeType":"ElementaryTypeName","src":"11165:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"11164:9:130"},"scope":80578,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":78463,"nodeType":"FunctionDefinition","src":"13124:351:130","nodes":[],"body":{"id":78462,"nodeType":"Block","src":"13159:316:130","nodes":[],"statements":[{"assignments":[78428],"declarations":[{"constant":false,"id":78428,"mutability":"mutable","name":"member","nameLocation":"13177:6:130","nodeType":"VariableDeclaration","scope":78462,"src":"13169:14:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":78427,"name":"address","nodeType":"ElementaryTypeName","src":"13169:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":78431,"initialValue":{"expression":{"id":78429,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"13186:3:130","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":78430,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13190:6:130","memberName":"sender","nodeType":"MemberAccess","src":"13186:10:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"13169:27:130"},{"condition":{"id":78435,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"13210:26:130","subExpression":{"arguments":[{"id":78433,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78428,"src":"13229:6:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":78432,"name":"_canExecuteAction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78240,"src":"13211:17:130","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":78434,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13211:25:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":78440,"nodeType":"IfStatement","src":"13206:89:130","trueBody":{"id":78439,"nodeType":"Block","src":"13238:57:130","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":78436,"name":"UserCannotExecuteAction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77837,"src":"13259:23:130","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":78437,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13259:25:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78438,"nodeType":"RevertStatement","src":"13252:32:130"}]}},{"expression":{"arguments":[{"id":78444,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78428,"src":"13347:6:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":78447,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"13363:4:130","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$80578","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$80578","typeString":"contract CVStrategyV0_0"}],"id":78446,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13355:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":78445,"name":"address","nodeType":"ElementaryTypeName","src":"13355:7:130","typeDescriptions":{}}},"id":78448,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13355:13:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":78441,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77961,"src":"13304:17:130","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"}},"id":78443,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13322:24:130","memberName":"activateMemberInStrategy","nodeType":"MemberAccess","referencedDeclaration":83993,"src":"13304:42:130","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address) external"}},"id":78449,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13304:65:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78450,"nodeType":"ExpressionStatement","src":"13304:65:130"},{"expression":{"id":78460,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":78451,"name":"totalPointsActivated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77944,"src":"13379:20:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"arguments":[{"id":78454,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78428,"src":"13446:6:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":78457,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"13462:4:130","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$80578","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$80578","typeString":"contract CVStrategyV0_0"}],"id":78456,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13454:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":78455,"name":"address","nodeType":"ElementaryTypeName","src":"13454:7:130","typeDescriptions":{}}},"id":78458,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13454:13:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":78452,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77961,"src":"13403:17:130","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"}},"id":78453,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13421:24:130","memberName":"getMemberPowerInStrategy","nodeType":"MemberAccess","referencedDeclaration":84375,"src":"13403:42:130","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view external returns (uint256)"}},"id":78459,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13403:65:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"13379:89:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":78461,"nodeType":"ExpressionStatement","src":"13379:89:130"}]},"functionSelector":"814516ad","implemented":true,"kind":"function","modifiers":[],"name":"activatePoints","nameLocation":"13133:14:130","parameters":{"id":78425,"nodeType":"ParameterList","parameters":[],"src":"13147:2:130"},"returnParameters":{"id":78426,"nodeType":"ParameterList","parameters":[],"src":"13159:0:130"},"scope":80578,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":78472,"nodeType":"FunctionDefinition","src":"13481:81:130","nodes":[],"body":{"id":78471,"nodeType":"Block","src":"13516:46:130","nodes":[],"statements":[{"expression":{"arguments":[{"expression":{"id":78467,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"13544:3:130","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":78468,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13548:6:130","memberName":"sender","nodeType":"MemberAccess","src":"13544:10:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":78466,"name":"_deactivatePoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78520,"src":"13526:17:130","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":78469,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13526:29:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78470,"nodeType":"ExpressionStatement","src":"13526:29:130"}]},"functionSelector":"1ddf1e23","implemented":true,"kind":"function","modifiers":[],"name":"deactivatePoints","nameLocation":"13490:16:130","parameters":{"id":78464,"nodeType":"ParameterList","parameters":[],"src":"13506:2:130"},"returnParameters":{"id":78465,"nodeType":"ParameterList","parameters":[],"src":"13516:0:130"},"scope":80578,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":78485,"nodeType":"FunctionDefinition","src":"13568:128:130","nodes":[],"body":{"id":78484,"nodeType":"Block","src":"13620:76:130","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":78477,"name":"onlyRegistryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78194,"src":"13630:21:130","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":78478,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13630:23:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78479,"nodeType":"ExpressionStatement","src":"13630:23:130"},{"expression":{"arguments":[{"id":78481,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78474,"src":"13681:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":78480,"name":"_deactivatePoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78520,"src":"13663:17:130","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":78482,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13663:26:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78483,"nodeType":"ExpressionStatement","src":"13663:26:130"}]},"baseFunctions":[77642],"functionSelector":"6453d9c4","implemented":true,"kind":"function","modifiers":[],"name":"deactivatePoints","nameLocation":"13577:16:130","parameters":{"id":78475,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78474,"mutability":"mutable","name":"_member","nameLocation":"13602:7:130","nodeType":"VariableDeclaration","scope":78485,"src":"13594:15:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":78473,"name":"address","nodeType":"ElementaryTypeName","src":"13594:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"13593:17:130"},"returnParameters":{"id":78476,"nodeType":"ParameterList","parameters":[],"src":"13620:0:130"},"scope":80578,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":78520,"nodeType":"FunctionDefinition","src":"13702:351:130","nodes":[],"body":{"id":78519,"nodeType":"Block","src":"13755:298:130","nodes":[],"statements":[{"expression":{"id":78499,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":78490,"name":"totalPointsActivated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77944,"src":"13765:20:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"arguments":[{"id":78493,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78487,"src":"13832:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":78496,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"13849:4:130","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$80578","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$80578","typeString":"contract CVStrategyV0_0"}],"id":78495,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13841:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":78494,"name":"address","nodeType":"ElementaryTypeName","src":"13841:7:130","typeDescriptions":{}}},"id":78497,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13841:13:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":78491,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77961,"src":"13789:17:130","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"}},"id":78492,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13807:24:130","memberName":"getMemberPowerInStrategy","nodeType":"MemberAccess","referencedDeclaration":84375,"src":"13789:42:130","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view external returns (uint256)"}},"id":78498,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13789:66:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"13765:90:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":78500,"nodeType":"ExpressionStatement","src":"13765:90:130"},{"expression":{"arguments":[{"id":78504,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78487,"src":"13910:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":78507,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"13927:4:130","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$80578","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$80578","typeString":"contract CVStrategyV0_0"}],"id":78506,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13919:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":78505,"name":"address","nodeType":"ElementaryTypeName","src":"13919:7:130","typeDescriptions":{}}},"id":78508,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13919:13:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":78501,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77961,"src":"13865:17:130","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"}},"id":78503,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13883:26:130","memberName":"deactivateMemberInStrategy","nodeType":"MemberAccess","referencedDeclaration":84052,"src":"13865:44:130","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address) external"}},"id":78509,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13865:68:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78510,"nodeType":"ExpressionStatement","src":"13865:68:130"},{"expression":{"arguments":[{"id":78512,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78487,"src":"13997:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":78511,"name":"withdraw","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79422,"src":"13988:8:130","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":78513,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13988:17:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78514,"nodeType":"ExpressionStatement","src":"13988:17:130"},{"eventCall":{"arguments":[{"id":78516,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78487,"src":"14038:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":78515,"name":"PointsDeactivated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77894,"src":"14020:17:130","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":78517,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14020:26:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78518,"nodeType":"EmitStatement","src":"14015:31:130"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_deactivatePoints","nameLocation":"13711:17:130","parameters":{"id":78488,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78487,"mutability":"mutable","name":"_member","nameLocation":"13737:7:130","nodeType":"VariableDeclaration","scope":78520,"src":"13729:15:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":78486,"name":"address","nodeType":"ElementaryTypeName","src":"13729:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"13728:17:130"},"returnParameters":{"id":78489,"nodeType":"ParameterList","parameters":[],"src":"13755:0:130"},"scope":80578,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":78613,"nodeType":"FunctionDefinition","src":"14059:1057:130","nodes":[],"body":{"id":78612,"nodeType":"Block","src":"14150:966:130","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":78529,"name":"onlyRegistryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78194,"src":"14205:21:130","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":78530,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14205:23:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78531,"nodeType":"ExpressionStatement","src":"14205:23:130"},{"condition":{"id":78535,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"14242:27:130","subExpression":{"arguments":[{"id":78533,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78522,"src":"14261:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":78532,"name":"_canExecuteAction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78240,"src":"14243:17:130","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":78534,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14243:26:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":78540,"nodeType":"IfStatement","src":"14238:90:130","trueBody":{"id":78539,"nodeType":"Block","src":"14271:57:130","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":78536,"name":"UserCannotExecuteAction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77837,"src":"14292:23:130","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":78537,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14292:25:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78538,"nodeType":"RevertStatement","src":"14285:32:130"}]}},{"assignments":[78542],"declarations":[{"constant":false,"id":78542,"mutability":"mutable","name":"pointsToIncrease","nameLocation":"14345:16:130","nodeType":"VariableDeclaration","scope":78612,"src":"14337:24:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78541,"name":"uint256","nodeType":"ElementaryTypeName","src":"14337:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":78544,"initialValue":{"hexValue":"30","id":78543,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14364:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"14337:28:130"},{"condition":{"commonType":{"typeIdentifier":"t_enum$_PointSystem_$77676","typeString":"enum StrategyStruct.PointSystem"},"id":78549,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":78545,"name":"pointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77955,"src":"14379:11:130","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$77676","typeString":"enum StrategyStruct.PointSystem"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":78546,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77752,"src":"14394:14:130","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$77752_$","typeString":"type(library StrategyStruct)"}},"id":78547,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14409:11:130","memberName":"PointSystem","nodeType":"MemberAccess","referencedDeclaration":77676,"src":"14394:26:130","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_PointSystem_$77676_$","typeString":"type(enum StrategyStruct.PointSystem)"}},"id":78548,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"14421:9:130","memberName":"Unlimited","nodeType":"MemberAccess","referencedDeclaration":77674,"src":"14394:36:130","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$77676","typeString":"enum StrategyStruct.PointSystem"}},"src":"14379:51:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_enum$_PointSystem_$77676","typeString":"enum StrategyStruct.PointSystem"},"id":78561,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":78557,"name":"pointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77955,"src":"14524:11:130","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$77676","typeString":"enum StrategyStruct.PointSystem"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":78558,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77752,"src":"14539:14:130","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$77752_$","typeString":"type(library StrategyStruct)"}},"id":78559,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14554:11:130","memberName":"PointSystem","nodeType":"MemberAccess","referencedDeclaration":77676,"src":"14539:26:130","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_PointSystem_$77676_$","typeString":"type(enum StrategyStruct.PointSystem)"}},"id":78560,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"14566:6:130","memberName":"Capped","nodeType":"MemberAccess","referencedDeclaration":77673,"src":"14539:33:130","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$77676","typeString":"enum StrategyStruct.PointSystem"}},"src":"14524:48:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_enum$_PointSystem_$77676","typeString":"enum StrategyStruct.PointSystem"},"id":78574,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":78570,"name":"pointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77955,"src":"14672:11:130","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$77676","typeString":"enum StrategyStruct.PointSystem"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":78571,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77752,"src":"14687:14:130","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$77752_$","typeString":"type(library StrategyStruct)"}},"id":78572,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14702:11:130","memberName":"PointSystem","nodeType":"MemberAccess","referencedDeclaration":77676,"src":"14687:26:130","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_PointSystem_$77676_$","typeString":"type(enum StrategyStruct.PointSystem)"}},"id":78573,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"14714:9:130","memberName":"Quadratic","nodeType":"MemberAccess","referencedDeclaration":77675,"src":"14687:36:130","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$77676","typeString":"enum StrategyStruct.PointSystem"}},"src":"14672:51:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":78583,"nodeType":"IfStatement","src":"14668:148:130","trueBody":{"id":78582,"nodeType":"Block","src":"14725:91:130","statements":[{"expression":{"id":78580,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":78575,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78542,"src":"14739:16:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":78577,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78522,"src":"14781:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":78578,"name":"_amountToStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78524,"src":"14790:14:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":78576,"name":"increasePowerQuadratic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78826,"src":"14758:22:130","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256) view returns (uint256)"}},"id":78579,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14758:47:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"14739:66:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":78581,"nodeType":"ExpressionStatement","src":"14739:66:130"}]}},"id":78584,"nodeType":"IfStatement","src":"14520:296:130","trueBody":{"id":78569,"nodeType":"Block","src":"14574:88:130","statements":[{"expression":{"id":78567,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":78562,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78542,"src":"14588:16:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":78564,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78522,"src":"14627:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":78565,"name":"_amountToStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78524,"src":"14636:14:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":78563,"name":"increasePowerCapped","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78742,"src":"14607:19:130","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256) view returns (uint256)"}},"id":78566,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14607:44:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"14588:63:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":78568,"nodeType":"ExpressionStatement","src":"14588:63:130"}]}},"id":78585,"nodeType":"IfStatement","src":"14375:441:130","trueBody":{"id":78556,"nodeType":"Block","src":"14432:82:130","statements":[{"expression":{"id":78554,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":78550,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78542,"src":"14446:16:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":78552,"name":"_amountToStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78524,"src":"14488:14:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":78551,"name":"increasePowerUnlimited","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78679,"src":"14465:22:130","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":78553,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14465:38:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"14446:57:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":78555,"nodeType":"ExpressionStatement","src":"14446:57:130"}]}},{"assignments":[78587],"declarations":[{"constant":false,"id":78587,"mutability":"mutable","name":"isActivated","nameLocation":"14830:11:130","nodeType":"VariableDeclaration","scope":78612,"src":"14825:16:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":78586,"name":"bool","nodeType":"ElementaryTypeName","src":"14825:4:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":78596,"initialValue":{"arguments":[{"id":78590,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78522,"src":"14890:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":78593,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"14907:4:130","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$80578","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$80578","typeString":"contract CVStrategyV0_0"}],"id":78592,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"14899:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":78591,"name":"address","nodeType":"ElementaryTypeName","src":"14899:7:130","typeDescriptions":{}}},"id":78594,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14899:13:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":78588,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77961,"src":"14844:17:130","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"}},"id":78589,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14862:27:130","memberName":"memberActivatedInStrategies","nodeType":"MemberAccess","referencedDeclaration":83234,"src":"14844:45:130","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_bool_$","typeString":"function (address,address) view external returns (bool)"}},"id":78595,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14844:69:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"VariableDeclarationStatement","src":"14825:88:130"},{"condition":{"id":78597,"name":"isActivated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78587,"src":"14927:11:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":78603,"nodeType":"IfStatement","src":"14923:82:130","trueBody":{"id":78602,"nodeType":"Block","src":"14940:65:130","statements":[{"expression":{"id":78600,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":78598,"name":"totalPointsActivated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77944,"src":"14954:20:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"id":78599,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78542,"src":"14978:16:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"14954:40:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":78601,"nodeType":"ExpressionStatement","src":"14954:40:130"}]}},{"eventCall":{"arguments":[{"id":78605,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78522,"src":"15034:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":78606,"name":"_amountToStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78524,"src":"15043:14:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":78607,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78542,"src":"15059:16:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":78604,"name":"PowerIncreased","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77870,"src":"15019:14:130","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (address,uint256,uint256)"}},"id":78608,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15019:57:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78609,"nodeType":"EmitStatement","src":"15014:62:130"},{"expression":{"id":78610,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78542,"src":"15093:16:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":78528,"id":78611,"nodeType":"Return","src":"15086:23:130"}]},"baseFunctions":[77651],"functionSelector":"782aadff","implemented":true,"kind":"function","modifiers":[],"name":"increasePower","nameLocation":"14068:13:130","parameters":{"id":78525,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78522,"mutability":"mutable","name":"_member","nameLocation":"14090:7:130","nodeType":"VariableDeclaration","scope":78613,"src":"14082:15:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":78521,"name":"address","nodeType":"ElementaryTypeName","src":"14082:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":78524,"mutability":"mutable","name":"_amountToStake","nameLocation":"14107:14:130","nodeType":"VariableDeclaration","scope":78613,"src":"14099:22:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78523,"name":"uint256","nodeType":"ElementaryTypeName","src":"14099:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"14081:41:130"},"returnParameters":{"id":78528,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78527,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":78613,"src":"14141:7:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78526,"name":"uint256","nodeType":"ElementaryTypeName","src":"14141:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"14140:9:130"},"scope":80578,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":78669,"nodeType":"FunctionDefinition","src":"15122:681:130","nodes":[],"body":{"id":78668,"nodeType":"Block","src":"15215:588:130","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":78622,"name":"onlyRegistryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78194,"src":"15225:21:130","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":78623,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15225:23:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78624,"nodeType":"ExpressionStatement","src":"15225:23:130"},{"assignments":[78626],"declarations":[{"constant":false,"id":78626,"mutability":"mutable","name":"pointsToDecrease","nameLocation":"15312:16:130","nodeType":"VariableDeclaration","scope":78668,"src":"15304:24:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78625,"name":"uint256","nodeType":"ElementaryTypeName","src":"15304:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":78628,"initialValue":{"hexValue":"30","id":78627,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15331:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"15304:28:130"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":78639,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_enum$_PointSystem_$77676","typeString":"enum StrategyStruct.PointSystem"},"id":78633,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":78629,"name":"pointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77955,"src":"15346:11:130","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$77676","typeString":"enum StrategyStruct.PointSystem"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":78630,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77752,"src":"15361:14:130","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$77752_$","typeString":"type(library StrategyStruct)"}},"id":78631,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15376:11:130","memberName":"PointSystem","nodeType":"MemberAccess","referencedDeclaration":77676,"src":"15361:26:130","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_PointSystem_$77676_$","typeString":"type(enum StrategyStruct.PointSystem)"}},"id":78632,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"15388:9:130","memberName":"Unlimited","nodeType":"MemberAccess","referencedDeclaration":77674,"src":"15361:36:130","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$77676","typeString":"enum StrategyStruct.PointSystem"}},"src":"15346:51:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_enum$_PointSystem_$77676","typeString":"enum StrategyStruct.PointSystem"},"id":78638,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":78634,"name":"pointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77955,"src":"15401:11:130","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$77676","typeString":"enum StrategyStruct.PointSystem"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":78635,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77752,"src":"15416:14:130","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$77752_$","typeString":"type(library StrategyStruct)"}},"id":78636,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15431:11:130","memberName":"PointSystem","nodeType":"MemberAccess","referencedDeclaration":77676,"src":"15416:26:130","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_PointSystem_$77676_$","typeString":"type(enum StrategyStruct.PointSystem)"}},"id":78637,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"15443:6:130","memberName":"Capped","nodeType":"MemberAccess","referencedDeclaration":77673,"src":"15416:33:130","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$77676","typeString":"enum StrategyStruct.PointSystem"}},"src":"15401:48:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"15346:103:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":78654,"nodeType":"Block","src":"15547:93:130","statements":[{"expression":{"id":78652,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":78647,"name":"pointsToDecrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78626,"src":"15561:16:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":78649,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78615,"src":"15603:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":78650,"name":"_amountToUnstake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78617,"src":"15612:16:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":78648,"name":"decreasePowerQuadratic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78930,"src":"15580:22:130","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256) view returns (uint256)"}},"id":78651,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15580:49:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"15561:68:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":78653,"nodeType":"ExpressionStatement","src":"15561:68:130"}]},"id":78655,"nodeType":"IfStatement","src":"15342:298:130","trueBody":{"id":78646,"nodeType":"Block","src":"15451:90:130","statements":[{"expression":{"id":78644,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":78640,"name":"pointsToDecrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78626,"src":"15465:16:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":78642,"name":"_amountToUnstake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78617,"src":"15513:16:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":78641,"name":"decreasePowerCappedUnlimited","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78836,"src":"15484:28:130","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":78643,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15484:46:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"15465:65:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":78645,"nodeType":"ExpressionStatement","src":"15465:65:130"}]}},{"expression":{"id":78658,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":78656,"name":"totalPointsActivated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77944,"src":"15649:20:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"id":78657,"name":"pointsToDecrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78626,"src":"15673:16:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"15649:40:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":78659,"nodeType":"ExpressionStatement","src":"15649:40:130"},{"eventCall":{"arguments":[{"id":78661,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78615,"src":"15719:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":78662,"name":"_amountToUnstake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78617,"src":"15728:16:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":78663,"name":"pointsToDecrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78626,"src":"15746:16:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":78660,"name":"PowerDecreased","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77878,"src":"15704:14:130","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (address,uint256,uint256)"}},"id":78664,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15704:59:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78665,"nodeType":"EmitStatement","src":"15699:64:130"},{"expression":{"id":78666,"name":"pointsToDecrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78626,"src":"15780:16:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":78621,"id":78667,"nodeType":"Return","src":"15773:23:130"}]},"baseFunctions":[77660],"functionSelector":"2ed04b2b","implemented":true,"kind":"function","modifiers":[],"name":"decreasePower","nameLocation":"15131:13:130","parameters":{"id":78618,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78615,"mutability":"mutable","name":"_member","nameLocation":"15153:7:130","nodeType":"VariableDeclaration","scope":78669,"src":"15145:15:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":78614,"name":"address","nodeType":"ElementaryTypeName","src":"15145:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":78617,"mutability":"mutable","name":"_amountToUnstake","nameLocation":"15170:16:130","nodeType":"VariableDeclaration","scope":78669,"src":"15162:24:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78616,"name":"uint256","nodeType":"ElementaryTypeName","src":"15162:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15144:43:130"},"returnParameters":{"id":78621,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78620,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":78669,"src":"15206:7:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78619,"name":"uint256","nodeType":"ElementaryTypeName","src":"15206:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15205:9:130"},"scope":80578,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":78679,"nodeType":"FunctionDefinition","src":"15809:126:130","nodes":[],"body":{"id":78678,"nodeType":"Block","src":"15897:38:130","nodes":[],"statements":[{"expression":{"id":78676,"name":"_amountToStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78671,"src":"15914:14:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":78675,"id":78677,"nodeType":"Return","src":"15907:21:130"}]},"implemented":true,"kind":"function","modifiers":[],"name":"increasePowerUnlimited","nameLocation":"15818:22:130","parameters":{"id":78672,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78671,"mutability":"mutable","name":"_amountToStake","nameLocation":"15849:14:130","nodeType":"VariableDeclaration","scope":78679,"src":"15841:22:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78670,"name":"uint256","nodeType":"ElementaryTypeName","src":"15841:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15840:24:130"},"returnParameters":{"id":78675,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78674,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":78679,"src":"15888:7:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78673,"name":"uint256","nodeType":"ElementaryTypeName","src":"15888:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15887:9:130"},"scope":80578,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":78742,"nodeType":"FunctionDefinition","src":"15941:615:130","nodes":[],"body":{"id":78741,"nodeType":"Block","src":"16043:513:130","nodes":[],"statements":[{"assignments":[78689],"declarations":[{"constant":false,"id":78689,"mutability":"mutable","name":"pointsToIncrease","nameLocation":"16061:16:130","nodeType":"VariableDeclaration","scope":78741,"src":"16053:24:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78688,"name":"uint256","nodeType":"ElementaryTypeName","src":"16053:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":78691,"initialValue":{"id":78690,"name":"_amountToStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78683,"src":"16080:14:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"16053:41:130"},{"expression":{"arguments":[{"hexValue":"504f494e545320544f20494e435245415345","id":78695,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"16116:20:130","typeDescriptions":{"typeIdentifier":"t_stringliteral_ef3d3d59430373ce7e3d099486636fe73635f3082757c009fe2ef0b043a4ebb1","typeString":"literal_string \"POINTS TO INCREASE\""},"value":"POINTS TO INCREASE"},{"id":78696,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78689,"src":"16138:16:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ef3d3d59430373ce7e3d099486636fe73635f3082757c009fe2ef0b043a4ebb1","typeString":"literal_string \"POINTS TO INCREASE\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":78692,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29549,"src":"16104:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$29549_$","typeString":"type(library console)"}},"id":78694,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16112:3:130","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":22193,"src":"16104:11:130","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":78697,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16104:51:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78698,"nodeType":"ExpressionStatement","src":"16104:51:130"},{"assignments":[78700],"declarations":[{"constant":false,"id":78700,"mutability":"mutable","name":"memberPower","nameLocation":"16173:11:130","nodeType":"VariableDeclaration","scope":78741,"src":"16165:19:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78699,"name":"uint256","nodeType":"ElementaryTypeName","src":"16165:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":78709,"initialValue":{"arguments":[{"id":78703,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78681,"src":"16230:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":78706,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"16247:4:130","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$80578","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$80578","typeString":"contract CVStrategyV0_0"}],"id":78705,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16239:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":78704,"name":"address","nodeType":"ElementaryTypeName","src":"16239:7:130","typeDescriptions":{}}},"id":78707,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16239:13:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":78701,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77961,"src":"16187:17:130","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"}},"id":78702,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16205:24:130","memberName":"getMemberPowerInStrategy","nodeType":"MemberAccess","referencedDeclaration":84375,"src":"16187:42:130","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view external returns (uint256)"}},"id":78708,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16187:66:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"16165:88:130"},{"expression":{"arguments":[{"hexValue":"4d454d424552504f574552","id":78713,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"16275:13:130","typeDescriptions":{"typeIdentifier":"t_stringliteral_d53146c44856b98b9530413c868d7a3bea9675ba78d0918c9dbfa4f905f5c3e8","typeString":"literal_string \"MEMBERPOWER\""},"value":"MEMBERPOWER"},{"id":78714,"name":"memberPower","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78700,"src":"16290:11:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_d53146c44856b98b9530413c868d7a3bea9675ba78d0918c9dbfa4f905f5c3e8","typeString":"literal_string \"MEMBERPOWER\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":78710,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29549,"src":"16263:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$29549_$","typeString":"type(library console)"}},"id":78712,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16271:3:130","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":22193,"src":"16263:11:130","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":78715,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16263:39:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78716,"nodeType":"ExpressionStatement","src":"16263:39:130"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":78722,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":78719,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":78717,"name":"memberPower","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78700,"src":"16316:11:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":78718,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78689,"src":"16330:16:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16316:30:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"expression":{"id":78720,"name":"pointConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77958,"src":"16349:11:130","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$77729_storage","typeString":"struct StrategyStruct.PointSystemConfig storage ref"}},"id":78721,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"16361:9:130","memberName":"maxAmount","nodeType":"MemberAccess","referencedDeclaration":77728,"src":"16349:21:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16316:54:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":78731,"nodeType":"IfStatement","src":"16312:139:130","trueBody":{"id":78730,"nodeType":"Block","src":"16372:79:130","statements":[{"expression":{"id":78728,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":78723,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78689,"src":"16386:16:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":78727,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":78724,"name":"pointConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77958,"src":"16405:11:130","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$77729_storage","typeString":"struct StrategyStruct.PointSystemConfig storage ref"}},"id":78725,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"16417:9:130","memberName":"maxAmount","nodeType":"MemberAccess","referencedDeclaration":77728,"src":"16405:21:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":78726,"name":"memberPower","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78700,"src":"16429:11:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16405:35:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16386:54:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":78729,"nodeType":"ExpressionStatement","src":"16386:54:130"}]}},{"expression":{"arguments":[{"hexValue":"504f494e545320544f20494e43524541534520454e44","id":78735,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"16472:24:130","typeDescriptions":{"typeIdentifier":"t_stringliteral_7339ba314bb001e1fd9993d42999dceed278cc5b138b69398be73c13fb666826","typeString":"literal_string \"POINTS TO INCREASE END\""},"value":"POINTS TO INCREASE END"},{"id":78736,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78689,"src":"16498:16:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_7339ba314bb001e1fd9993d42999dceed278cc5b138b69398be73c13fb666826","typeString":"literal_string \"POINTS TO INCREASE END\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":78732,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29549,"src":"16460:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$29549_$","typeString":"type(library console)"}},"id":78734,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16468:3:130","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":22193,"src":"16460:11:130","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":78737,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16460:55:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78738,"nodeType":"ExpressionStatement","src":"16460:55:130"},{"expression":{"id":78739,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78689,"src":"16533:16:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":78687,"id":78740,"nodeType":"Return","src":"16526:23:130"}]},"implemented":true,"kind":"function","modifiers":[],"name":"increasePowerCapped","nameLocation":"15950:19:130","parameters":{"id":78684,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78681,"mutability":"mutable","name":"_member","nameLocation":"15978:7:130","nodeType":"VariableDeclaration","scope":78742,"src":"15970:15:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":78680,"name":"address","nodeType":"ElementaryTypeName","src":"15970:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":78683,"mutability":"mutable","name":"_amountToStake","nameLocation":"15995:14:130","nodeType":"VariableDeclaration","scope":78742,"src":"15987:22:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78682,"name":"uint256","nodeType":"ElementaryTypeName","src":"15987:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15969:41:130"},"returnParameters":{"id":78687,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78686,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":78742,"src":"16034:7:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78685,"name":"uint256","nodeType":"ElementaryTypeName","src":"16034:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"16033:9:130"},"scope":80578,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":78826,"nodeType":"FunctionDefinition","src":"16562:730:130","nodes":[],"body":{"id":78825,"nodeType":"Block","src":"16667:625:130","nodes":[],"statements":[{"assignments":[78752],"declarations":[{"constant":false,"id":78752,"mutability":"mutable","name":"totalStake","nameLocation":"16685:10:130","nodeType":"VariableDeclaration","scope":78825,"src":"16677:18:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78751,"name":"uint256","nodeType":"ElementaryTypeName","src":"16677:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":78759,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":78758,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":78755,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78744,"src":"16738:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":78753,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77961,"src":"16698:17:130","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"}},"id":78754,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16716:21:130","memberName":"getMemberStakedAmount","nodeType":"MemberAccess","referencedDeclaration":84388,"src":"16698:39:130","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":78756,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16698:48:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":78757,"name":"_amountToStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78746,"src":"16749:14:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16698:65:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"16677:86:130"},{"assignments":[78761],"declarations":[{"constant":false,"id":78761,"mutability":"mutable","name":"decimal","nameLocation":"16782:7:130","nodeType":"VariableDeclaration","scope":78825,"src":"16774:15:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78760,"name":"uint256","nodeType":"ElementaryTypeName","src":"16774:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":78763,"initialValue":{"hexValue":"3138","id":78762,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16792:2:130","typeDescriptions":{"typeIdentifier":"t_rational_18_by_1","typeString":"int_const 18"},"value":"18"},"nodeType":"VariableDeclarationStatement","src":"16774:20:130"},{"clauses":[{"block":{"id":78784,"nodeType":"Block","src":"16892:52:130","statements":[{"expression":{"id":78782,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":78777,"name":"decimal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78761,"src":"16906:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":78780,"name":"_decimal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78775,"src":"16924:8:130","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint8","typeString":"uint8"}],"id":78779,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16916:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":78778,"name":"uint256","nodeType":"ElementaryTypeName","src":"16916:7:130","typeDescriptions":{}}},"id":78781,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16916:17:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16906:27:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":78783,"nodeType":"ExpressionStatement","src":"16906:27:130"}]},"errorName":"","id":78785,"nodeType":"TryCatchClause","parameters":{"id":78776,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78775,"mutability":"mutable","name":"_decimal","nameLocation":"16882:8:130","nodeType":"VariableDeclaration","scope":78785,"src":"16876:14:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":78774,"name":"uint8","nodeType":"ElementaryTypeName","src":"16876:5:130","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"16875:16:130"},"src":"16867:77:130"},{"block":{"id":78792,"nodeType":"Block","src":"16951:61:130","statements":[{"expression":{"arguments":[{"hexValue":"4572726f722067657474696e6720646563696d616c","id":78789,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"16977:23:130","typeDescriptions":{"typeIdentifier":"t_stringliteral_add5b7e354bcd4eb0c69c8b5bd8a8dca27c903f694ea26b234a6605e7f62de4d","typeString":"literal_string \"Error getting decimal\""},"value":"Error getting decimal"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_add5b7e354bcd4eb0c69c8b5bd8a8dca27c903f694ea26b234a6605e7f62de4d","typeString":"literal_string \"Error getting decimal\""}],"expression":{"id":78786,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29549,"src":"16965:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$29549_$","typeString":"type(library console)"}},"id":78788,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16973:3:130","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":22080,"src":"16965:11:130","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) view"}},"id":78790,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16965:36:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78791,"nodeType":"ExpressionStatement","src":"16965:36:130"}]},"errorName":"","id":78793,"nodeType":"TryCatchClause","src":"16945:67:130"}],"externalCall":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":78767,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77961,"src":"16822:17:130","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"}},"id":78768,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16840:11:130","memberName":"gardenToken","nodeType":"MemberAccess","referencedDeclaration":83189,"src":"16822:29:130","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_contract$_IERC20_$57069_$","typeString":"function () view external returns (contract IERC20)"}},"id":78769,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16822:31:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$57069","typeString":"contract IERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$57069","typeString":"contract IERC20"}],"id":78766,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16814:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":78765,"name":"address","nodeType":"ElementaryTypeName","src":"16814:7:130","typeDescriptions":{}}},"id":78770,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16814:40:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":78764,"name":"ERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56991,"src":"16808:5:130","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ERC20_$56991_$","typeString":"type(contract ERC20)"}},"id":78771,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16808:47:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ERC20_$56991","typeString":"contract ERC20"}},"id":78772,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16856:8:130","memberName":"decimals","nodeType":"MemberAccess","referencedDeclaration":56479,"src":"16808:56:130","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint8_$","typeString":"function () view external returns (uint8)"}},"id":78773,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16808:58:130","tryCall":true,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":78794,"nodeType":"TryStatement","src":"16804:208:130"},{"assignments":[78796],"declarations":[{"constant":false,"id":78796,"mutability":"mutable","name":"newTotalPoints","nameLocation":"17029:14:130","nodeType":"VariableDeclaration","scope":78825,"src":"17021:22:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78795,"name":"uint256","nodeType":"ElementaryTypeName","src":"17021:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":78805,"initialValue":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":78803,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":78799,"name":"totalStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78752,"src":"17056:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":78802,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":78800,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17069:2:130","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"id":78801,"name":"decimal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78761,"src":"17075:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17069:13:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17056:26:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":78797,"name":"Math","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59338,"src":"17046:4:130","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Math_$59338_$","typeString":"type(library Math)"}},"id":78798,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17051:4:130","memberName":"sqrt","nodeType":"MemberAccess","referencedDeclaration":58842,"src":"17046:9:130","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":78804,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17046:37:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"17021:62:130"},{"assignments":[78807],"declarations":[{"constant":false,"id":78807,"mutability":"mutable","name":"currentPoints","nameLocation":"17101:13:130","nodeType":"VariableDeclaration","scope":78825,"src":"17093:21:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78806,"name":"uint256","nodeType":"ElementaryTypeName","src":"17093:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":78816,"initialValue":{"arguments":[{"id":78810,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78744,"src":"17160:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":78813,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"17177:4:130","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$80578","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$80578","typeString":"contract CVStrategyV0_0"}],"id":78812,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"17169:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":78811,"name":"address","nodeType":"ElementaryTypeName","src":"17169:7:130","typeDescriptions":{}}},"id":78814,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17169:13:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":78808,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77961,"src":"17117:17:130","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"}},"id":78809,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17135:24:130","memberName":"getMemberPowerInStrategy","nodeType":"MemberAccess","referencedDeclaration":84375,"src":"17117:42:130","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view external returns (uint256)"}},"id":78815,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17117:66:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"17093:90:130"},{"assignments":[78818],"declarations":[{"constant":false,"id":78818,"mutability":"mutable","name":"pointsToIncrease","nameLocation":"17202:16:130","nodeType":"VariableDeclaration","scope":78825,"src":"17194:24:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78817,"name":"uint256","nodeType":"ElementaryTypeName","src":"17194:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":78822,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":78821,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":78819,"name":"newTotalPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78796,"src":"17221:14:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":78820,"name":"currentPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78807,"src":"17238:13:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17221:30:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"17194:57:130"},{"expression":{"id":78823,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78818,"src":"17269:16:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":78750,"id":78824,"nodeType":"Return","src":"17262:23:130"}]},"implemented":true,"kind":"function","modifiers":[],"name":"increasePowerQuadratic","nameLocation":"16571:22:130","parameters":{"id":78747,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78744,"mutability":"mutable","name":"_member","nameLocation":"16602:7:130","nodeType":"VariableDeclaration","scope":78826,"src":"16594:15:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":78743,"name":"address","nodeType":"ElementaryTypeName","src":"16594:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":78746,"mutability":"mutable","name":"_amountToStake","nameLocation":"16619:14:130","nodeType":"VariableDeclaration","scope":78826,"src":"16611:22:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78745,"name":"uint256","nodeType":"ElementaryTypeName","src":"16611:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"16593:41:130"},"returnParameters":{"id":78750,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78749,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":78826,"src":"16658:7:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78748,"name":"uint256","nodeType":"ElementaryTypeName","src":"16658:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"16657:9:130"},"scope":80578,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":78836,"nodeType":"FunctionDefinition","src":"17298:136:130","nodes":[],"body":{"id":78835,"nodeType":"Block","src":"17394:40:130","nodes":[],"statements":[{"expression":{"id":78833,"name":"_amountToUnstake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78828,"src":"17411:16:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":78832,"id":78834,"nodeType":"Return","src":"17404:23:130"}]},"implemented":true,"kind":"function","modifiers":[],"name":"decreasePowerCappedUnlimited","nameLocation":"17307:28:130","parameters":{"id":78829,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78828,"mutability":"mutable","name":"_amountToUnstake","nameLocation":"17344:16:130","nodeType":"VariableDeclaration","scope":78836,"src":"17336:24:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78827,"name":"uint256","nodeType":"ElementaryTypeName","src":"17336:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"17335:26:130"},"returnParameters":{"id":78832,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78831,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":78836,"src":"17385:7:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78830,"name":"uint256","nodeType":"ElementaryTypeName","src":"17385:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"17384:9:130"},"scope":80578,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":78930,"nodeType":"FunctionDefinition","src":"17440:802:130","nodes":[],"body":{"id":78929,"nodeType":"Block","src":"17547:695:130","nodes":[],"statements":[{"assignments":[78846],"declarations":[{"constant":false,"id":78846,"mutability":"mutable","name":"decimal","nameLocation":"17565:7:130","nodeType":"VariableDeclaration","scope":78929,"src":"17557:15:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78845,"name":"uint256","nodeType":"ElementaryTypeName","src":"17557:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":78848,"initialValue":{"hexValue":"3138","id":78847,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17575:2:130","typeDescriptions":{"typeIdentifier":"t_rational_18_by_1","typeString":"int_const 18"},"value":"18"},"nodeType":"VariableDeclarationStatement","src":"17557:20:130"},{"clauses":[{"block":{"id":78869,"nodeType":"Block","src":"17675:52:130","statements":[{"expression":{"id":78867,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":78862,"name":"decimal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78846,"src":"17689:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":78865,"name":"_decimal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78860,"src":"17707:8:130","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint8","typeString":"uint8"}],"id":78864,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"17699:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":78863,"name":"uint256","nodeType":"ElementaryTypeName","src":"17699:7:130","typeDescriptions":{}}},"id":78866,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17699:17:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17689:27:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":78868,"nodeType":"ExpressionStatement","src":"17689:27:130"}]},"errorName":"","id":78870,"nodeType":"TryCatchClause","parameters":{"id":78861,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78860,"mutability":"mutable","name":"_decimal","nameLocation":"17665:8:130","nodeType":"VariableDeclaration","scope":78870,"src":"17659:14:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":78859,"name":"uint8","nodeType":"ElementaryTypeName","src":"17659:5:130","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"17658:16:130"},"src":"17650:77:130"},{"block":{"id":78877,"nodeType":"Block","src":"17734:61:130","statements":[{"expression":{"arguments":[{"hexValue":"4572726f722067657474696e6720646563696d616c","id":78874,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"17760:23:130","typeDescriptions":{"typeIdentifier":"t_stringliteral_add5b7e354bcd4eb0c69c8b5bd8a8dca27c903f694ea26b234a6605e7f62de4d","typeString":"literal_string \"Error getting decimal\""},"value":"Error getting decimal"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_add5b7e354bcd4eb0c69c8b5bd8a8dca27c903f694ea26b234a6605e7f62de4d","typeString":"literal_string \"Error getting decimal\""}],"expression":{"id":78871,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29549,"src":"17748:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$29549_$","typeString":"type(library console)"}},"id":78873,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17756:3:130","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":22080,"src":"17748:11:130","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) view"}},"id":78875,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17748:36:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78876,"nodeType":"ExpressionStatement","src":"17748:36:130"}]},"errorName":"","id":78878,"nodeType":"TryCatchClause","src":"17728:67:130"}],"externalCall":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":78852,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77961,"src":"17605:17:130","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"}},"id":78853,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17623:11:130","memberName":"gardenToken","nodeType":"MemberAccess","referencedDeclaration":83189,"src":"17605:29:130","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_contract$_IERC20_$57069_$","typeString":"function () view external returns (contract IERC20)"}},"id":78854,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17605:31:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$57069","typeString":"contract IERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$57069","typeString":"contract IERC20"}],"id":78851,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"17597:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":78850,"name":"address","nodeType":"ElementaryTypeName","src":"17597:7:130","typeDescriptions":{}}},"id":78855,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17597:40:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":78849,"name":"ERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56991,"src":"17591:5:130","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ERC20_$56991_$","typeString":"type(contract ERC20)"}},"id":78856,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17591:47:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ERC20_$56991","typeString":"contract ERC20"}},"id":78857,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17639:8:130","memberName":"decimals","nodeType":"MemberAccess","referencedDeclaration":56479,"src":"17591:56:130","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint8_$","typeString":"function () view external returns (uint8)"}},"id":78858,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17591:58:130","tryCall":true,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":78879,"nodeType":"TryStatement","src":"17587:208:130"},{"expression":{"arguments":[{"hexValue":"5f616d6f756e74546f556e7374616b65","id":78883,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"17816:18:130","typeDescriptions":{"typeIdentifier":"t_stringliteral_dc5364d7a51b187c038e40e987076ae6dd611b7a72008e9d9acc88e3a526f2c2","typeString":"literal_string \"_amountToUnstake\""},"value":"_amountToUnstake"},{"id":78884,"name":"_amountToUnstake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78840,"src":"17836:16:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_dc5364d7a51b187c038e40e987076ae6dd611b7a72008e9d9acc88e3a526f2c2","typeString":"literal_string \"_amountToUnstake\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":78880,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29549,"src":"17804:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$29549_$","typeString":"type(library console)"}},"id":78882,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17812:3:130","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":22193,"src":"17804:11:130","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":78885,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17804:49:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78886,"nodeType":"ExpressionStatement","src":"17804:49:130"},{"assignments":[78888],"declarations":[{"constant":false,"id":78888,"mutability":"mutable","name":"newTotalStake","nameLocation":"17871:13:130","nodeType":"VariableDeclaration","scope":78929,"src":"17863:21:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78887,"name":"uint256","nodeType":"ElementaryTypeName","src":"17863:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":78895,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":78894,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":78891,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78838,"src":"17927:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":78889,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77961,"src":"17887:17:130","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"}},"id":78890,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17905:21:130","memberName":"getMemberStakedAmount","nodeType":"MemberAccess","referencedDeclaration":84388,"src":"17887:39:130","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":78892,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17887:48:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":78893,"name":"_amountToUnstake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78840,"src":"17938:16:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17887:67:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"17863:91:130"},{"expression":{"arguments":[{"hexValue":"6e6577546f74616c5374616b65","id":78899,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"17976:15:130","typeDescriptions":{"typeIdentifier":"t_stringliteral_e1d5e8d6d05577c9c30b6029c3158dfad77d5a239a04e4529b5b98f0ce2f7a79","typeString":"literal_string \"newTotalStake\""},"value":"newTotalStake"},{"id":78900,"name":"newTotalStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78888,"src":"17993:13:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e1d5e8d6d05577c9c30b6029c3158dfad77d5a239a04e4529b5b98f0ce2f7a79","typeString":"literal_string \"newTotalStake\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":78896,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29549,"src":"17964:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$29549_$","typeString":"type(library console)"}},"id":78898,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17972:3:130","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":22193,"src":"17964:11:130","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":78901,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17964:43:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78902,"nodeType":"ExpressionStatement","src":"17964:43:130"},{"assignments":[78904],"declarations":[{"constant":false,"id":78904,"mutability":"mutable","name":"newTotalPoints","nameLocation":"18025:14:130","nodeType":"VariableDeclaration","scope":78929,"src":"18017:22:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78903,"name":"uint256","nodeType":"ElementaryTypeName","src":"18017:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":78913,"initialValue":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":78911,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":78907,"name":"newTotalStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78888,"src":"18052:13:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":78910,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":78908,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18068:2:130","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"id":78909,"name":"decimal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78846,"src":"18074:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"18068:13:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"18052:29:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":78905,"name":"Math","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59338,"src":"18042:4:130","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Math_$59338_$","typeString":"type(library Math)"}},"id":78906,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18047:4:130","memberName":"sqrt","nodeType":"MemberAccess","referencedDeclaration":58842,"src":"18042:9:130","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":78912,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18042:40:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"18017:65:130"},{"assignments":[78915],"declarations":[{"constant":false,"id":78915,"mutability":"mutable","name":"pointsToDecrease","nameLocation":"18100:16:130","nodeType":"VariableDeclaration","scope":78929,"src":"18092:24:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78914,"name":"uint256","nodeType":"ElementaryTypeName","src":"18092:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":78926,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":78925,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":78918,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78838,"src":"18162:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":78921,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"18179:4:130","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$80578","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$80578","typeString":"contract CVStrategyV0_0"}],"id":78920,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"18171:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":78919,"name":"address","nodeType":"ElementaryTypeName","src":"18171:7:130","typeDescriptions":{}}},"id":78922,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18171:13:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":78916,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77961,"src":"18119:17:130","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"}},"id":78917,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18137:24:130","memberName":"getMemberPowerInStrategy","nodeType":"MemberAccess","referencedDeclaration":84375,"src":"18119:42:130","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view external returns (uint256)"}},"id":78923,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18119:66:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":78924,"name":"newTotalPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78904,"src":"18188:14:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"18119:83:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"18092:110:130"},{"expression":{"id":78927,"name":"pointsToDecrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78915,"src":"18219:16:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":78844,"id":78928,"nodeType":"Return","src":"18212:23:130"}]},"implemented":true,"kind":"function","modifiers":[],"name":"decreasePowerQuadratic","nameLocation":"17449:22:130","parameters":{"id":78841,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78838,"mutability":"mutable","name":"_member","nameLocation":"17480:7:130","nodeType":"VariableDeclaration","scope":78930,"src":"17472:15:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":78837,"name":"address","nodeType":"ElementaryTypeName","src":"17472:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":78840,"mutability":"mutable","name":"_amountToUnstake","nameLocation":"17497:16:130","nodeType":"VariableDeclaration","scope":78930,"src":"17489:24:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78839,"name":"uint256","nodeType":"ElementaryTypeName","src":"17489:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"17471:43:130"},"returnParameters":{"id":78844,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78843,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":78930,"src":"17538:7:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78842,"name":"uint256","nodeType":"ElementaryTypeName","src":"17538:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"17537:9:130"},"scope":80578,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":78939,"nodeType":"FunctionDefinition","src":"18248:99:130","nodes":[],"body":{"id":78938,"nodeType":"Block","src":"18302:45:130","nodes":[],"statements":[{"expression":{"expression":{"id":78935,"name":"pointConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77958,"src":"18319:11:130","typeDescriptions":{"typeIdentifier":"t_struct$_PointSystemConfig_$77729_storage","typeString":"struct StrategyStruct.PointSystemConfig storage ref"}},"id":78936,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"18331:9:130","memberName":"maxAmount","nodeType":"MemberAccess","referencedDeclaration":77728,"src":"18319:21:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":78934,"id":78937,"nodeType":"Return","src":"18312:28:130"}]},"functionSelector":"0ba95909","implemented":true,"kind":"function","modifiers":[],"name":"getMaxAmount","nameLocation":"18257:12:130","parameters":{"id":78931,"nodeType":"ParameterList","parameters":[],"src":"18269:2:130"},"returnParameters":{"id":78934,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78933,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":78939,"src":"18293:7:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78932,"name":"uint256","nodeType":"ElementaryTypeName","src":"18293:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"18292:9:130"},"scope":80578,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":78948,"nodeType":"FunctionDefinition","src":"18353:110:130","nodes":[],"body":{"id":78947,"nodeType":"Block","src":"18428:35:130","nodes":[],"statements":[{"expression":{"id":78945,"name":"pointSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77955,"src":"18445:11:130","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$77676","typeString":"enum StrategyStruct.PointSystem"}},"functionReturnParameters":78944,"id":78946,"nodeType":"Return","src":"18438:18:130"}]},"baseFunctions":[77666],"functionSelector":"c3292171","implemented":true,"kind":"function","modifiers":[],"name":"getPointSystem","nameLocation":"18362:14:130","parameters":{"id":78940,"nodeType":"ParameterList","parameters":[],"src":"18376:2:130"},"returnParameters":{"id":78944,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78943,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":78948,"src":"18400:26:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$77676","typeString":"enum StrategyStruct.PointSystem"},"typeName":{"id":78942,"nodeType":"UserDefinedTypeName","pathNode":{"id":78941,"name":"StrategyStruct.PointSystem","nameLocations":["18400:14:130","18415:11:130"],"nodeType":"IdentifierPath","referencedDeclaration":77676,"src":"18400:26:130"},"referencedDeclaration":77676,"src":"18400:26:130","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$77676","typeString":"enum StrategyStruct.PointSystem"}},"visibility":"internal"}],"src":"18399:28:130"},"scope":80578,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":78959,"nodeType":"FunctionDefinition","src":"18579:226:130","nodes":[],"body":{"id":78958,"nodeType":"Block","src":"18657:148:130","nodes":[],"statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":78955,"name":"NotImplemented","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77773,"src":"18722:14:130","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":78956,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18722:16:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78957,"nodeType":"RevertStatement","src":"18715:23:130"}]},"functionSelector":"e33add93","implemented":true,"kind":"function","modifiers":[],"name":"supportProposal","nameLocation":"18588:15:130","parameters":{"id":78953,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78952,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":78959,"src":"18604:39:130","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$77726_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport[]"},"typeName":{"baseType":{"id":78950,"nodeType":"UserDefinedTypeName","pathNode":{"id":78949,"name":"StrategyStruct.ProposalSupport","nameLocations":["18604:14:130","18619:15:130"],"nodeType":"IdentifierPath","referencedDeclaration":77726,"src":"18604:30:130"},"referencedDeclaration":77726,"src":"18604:30:130","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$77726_storage_ptr","typeString":"struct StrategyStruct.ProposalSupport"}},"id":78951,"nodeType":"ArrayTypeName","src":"18604:32:130","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$77726_storage_$dyn_storage_ptr","typeString":"struct StrategyStruct.ProposalSupport[]"}},"visibility":"internal"}],"src":"18603:41:130"},"returnParameters":{"id":78954,"nodeType":"ParameterList","parameters":[],"src":"18657:0:130"},"scope":80578,"stateMutability":"pure","virtual":false,"visibility":"public"},{"id":79024,"nodeType":"FunctionDefinition","src":"18951:650:130","nodes":[],"body":{"id":79023,"nodeType":"Block","src":"19025:576:130","nodes":[],"statements":[{"expression":{"arguments":[{"id":78968,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78963,"src":"19055:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":78967,"name":"checkSenderIsMember","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78178,"src":"19035:19:130","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$__$","typeString":"function (address) view"}},"id":78969,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19035:28:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78970,"nodeType":"ExpressionStatement","src":"19035:28:130"},{"condition":{"id":78974,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"19077:27:130","subExpression":{"arguments":[{"id":78972,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78963,"src":"19096:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":78971,"name":"_canExecuteAction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78240,"src":"19078:17:130","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":78973,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19078:26:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":78979,"nodeType":"IfStatement","src":"19073:90:130","trueBody":{"id":78978,"nodeType":"Block","src":"19106:57:130","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":78975,"name":"UserCannotExecuteAction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77837,"src":"19127:23:130","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":78976,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19127:25:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78977,"nodeType":"RevertStatement","src":"19120:32:130"}]}},{"assignments":[78981],"declarations":[{"constant":false,"id":78981,"mutability":"mutable","name":"isMemberActivatedPoints","nameLocation":"19223:23:130","nodeType":"VariableDeclaration","scope":79023,"src":"19218:28:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":78980,"name":"bool","nodeType":"ElementaryTypeName","src":"19218:4:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":78990,"initialValue":{"arguments":[{"id":78984,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78963,"src":"19295:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":78987,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"19312:4:130","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$80578","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$80578","typeString":"contract CVStrategyV0_0"}],"id":78986,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"19304:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":78985,"name":"address","nodeType":"ElementaryTypeName","src":"19304:7:130","typeDescriptions":{}}},"id":78988,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19304:13:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":78982,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77961,"src":"19249:17:130","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"}},"id":78983,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19267:27:130","memberName":"memberActivatedInStrategies","nodeType":"MemberAccess","referencedDeclaration":83234,"src":"19249:45:130","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_bool_$","typeString":"function (address,address) view external returns (bool)"}},"id":78989,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19249:69:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"VariableDeclarationStatement","src":"19218:100:130"},{"condition":{"id":78992,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"19332:24:130","subExpression":{"id":78991,"name":"isMemberActivatedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78981,"src":"19333:23:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":78997,"nodeType":"IfStatement","src":"19328:78:130","trueBody":{"id":78996,"nodeType":"Block","src":"19358:48:130","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":78993,"name":"UserIsInactive","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77769,"src":"19379:14:130","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":78994,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19379:16:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":78995,"nodeType":"RevertStatement","src":"19372:23:130"}]}},{"assignments":[79003],"declarations":[{"constant":false,"id":79003,"mutability":"mutable","name":"pv","nameLocation":"19455:2:130","nodeType":"VariableDeclaration","scope":79023,"src":"19415:42:130","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$77726_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport[]"},"typeName":{"baseType":{"id":79001,"nodeType":"UserDefinedTypeName","pathNode":{"id":79000,"name":"StrategyStruct.ProposalSupport","nameLocations":["19415:14:130","19430:15:130"],"nodeType":"IdentifierPath","referencedDeclaration":77726,"src":"19415:30:130"},"referencedDeclaration":77726,"src":"19415:30:130","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$77726_storage_ptr","typeString":"struct StrategyStruct.ProposalSupport"}},"id":79002,"nodeType":"ArrayTypeName","src":"19415:32:130","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$77726_storage_$dyn_storage_ptr","typeString":"struct StrategyStruct.ProposalSupport[]"}},"visibility":"internal"}],"id":79012,"initialValue":{"arguments":[{"id":79006,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78961,"src":"19471:5:130","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"baseExpression":{"expression":{"id":79007,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77752,"src":"19479:14:130","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$77752_$","typeString":"type(library StrategyStruct)"}},"id":79008,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19494:15:130","memberName":"ProposalSupport","nodeType":"MemberAccess","referencedDeclaration":77726,"src":"19479:30:130","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ProposalSupport_$77726_storage_ptr_$","typeString":"type(struct StrategyStruct.ProposalSupport storage pointer)"}},"id":79009,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"19479:32:130","typeDescriptions":{"typeIdentifier":"t_type$_t_array$_t_struct$_ProposalSupport_$77726_memory_ptr_$dyn_memory_ptr_$","typeString":"type(struct StrategyStruct.ProposalSupport memory[] memory)"}}],"id":79010,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"19478:34:130","typeDescriptions":{"typeIdentifier":"t_type$_t_array$_t_struct$_ProposalSupport_$77726_memory_ptr_$dyn_memory_ptr_$","typeString":"type(struct StrategyStruct.ProposalSupport memory[] memory)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_array$_t_struct$_ProposalSupport_$77726_memory_ptr_$dyn_memory_ptr_$","typeString":"type(struct StrategyStruct.ProposalSupport memory[] memory)"}],"expression":{"id":79004,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"19460:3:130","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":79005,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"19464:6:130","memberName":"decode","nodeType":"MemberAccess","src":"19460:10:130","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":79011,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19460:53:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$77726_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"19415:98:130"},{"expression":{"arguments":[{"id":79014,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78963,"src":"19548:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":79015,"name":"pv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79003,"src":"19557:2:130","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$77726_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$77726_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}],"id":79013,"name":"_check_before_addSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79724,"src":"19523:24:130","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_array$_t_struct$_ProposalSupport_$77726_memory_ptr_$dyn_memory_ptr_$returns$__$","typeString":"function (address,struct StrategyStruct.ProposalSupport memory[] memory)"}},"id":79016,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19523:37:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":79017,"nodeType":"ExpressionStatement","src":"19523:37:130"},{"expression":{"arguments":[{"id":79019,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78963,"src":"19582:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":79020,"name":"pv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79003,"src":"19591:2:130","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$77726_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$77726_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}],"id":79018,"name":"_addSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80011,"src":"19570:11:130","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_array$_t_struct$_ProposalSupport_$77726_memory_ptr_$dyn_memory_ptr_$returns$__$","typeString":"function (address,struct StrategyStruct.ProposalSupport memory[] memory)"}},"id":79021,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19570:24:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":79022,"nodeType":"ExpressionStatement","src":"19570:24:130"}]},"baseFunctions":[74566],"implemented":true,"kind":"function","modifiers":[],"name":"_allocate","nameLocation":"18960:9:130","overrides":{"id":78965,"nodeType":"OverrideSpecifier","overrides":[],"src":"19016:8:130"},"parameters":{"id":78964,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78961,"mutability":"mutable","name":"_data","nameLocation":"18983:5:130","nodeType":"VariableDeclaration","scope":79024,"src":"18970:18:130","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":78960,"name":"bytes","nodeType":"ElementaryTypeName","src":"18970:5:130","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":78963,"mutability":"mutable","name":"_sender","nameLocation":"18998:7:130","nodeType":"VariableDeclaration","scope":79024,"src":"18990:15:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":78962,"name":"address","nodeType":"ElementaryTypeName","src":"18990:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"18969:37:130"},"returnParameters":{"id":78966,"nodeType":"ParameterList","parameters":[],"src":"19025:0:130"},"scope":80578,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":79180,"nodeType":"FunctionDefinition","src":"19857:1756:130","nodes":[],"body":{"id":79179,"nodeType":"Block","src":"19943:1670:130","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79038,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":79035,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79029,"src":"20036:5:130","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":79036,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20042:6:130","memberName":"length","nodeType":"MemberAccess","src":"20036:12:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"hexValue":"30","id":79037,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20052:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"20036:17:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":79043,"nodeType":"IfStatement","src":"20032:76:130","trueBody":{"id":79042,"nodeType":"Block","src":"20055:53:130","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":79039,"name":"ProposalDataIsEmpty","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77805,"src":"20076:19:130","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":79040,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20076:21:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":79041,"nodeType":"RevertStatement","src":"20069:28:130"}]}},{"assignments":[79045],"declarations":[{"constant":false,"id":79045,"mutability":"mutable","name":"proposalId","nameLocation":"20126:10:130","nodeType":"VariableDeclaration","scope":79179,"src":"20118:18:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79044,"name":"uint256","nodeType":"ElementaryTypeName","src":"20118:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":79053,"initialValue":{"arguments":[{"id":79048,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79029,"src":"20150:5:130","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":79050,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"20158:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":79049,"name":"uint256","nodeType":"ElementaryTypeName","src":"20158:7:130","typeDescriptions":{}}}],"id":79051,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"20157:9:130","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}],"expression":{"id":79046,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"20139:3:130","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":79047,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"20143:6:130","memberName":"decode","nodeType":"MemberAccess","src":"20139:10:130","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":79052,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20139:28:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"20118:49:130"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79056,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":79054,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79045,"src":"20182:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":79055,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20196:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"20182:15:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":79061,"nodeType":"IfStatement","src":"20178:77:130","trueBody":{"id":79060,"nodeType":"Block","src":"20199:56:130","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":79057,"name":"ProposalIdCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77807,"src":"20220:22:130","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":79058,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20220:24:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":79059,"nodeType":"RevertStatement","src":"20213:31:130"}]}},{"assignments":[79066],"declarations":[{"constant":false,"id":79066,"mutability":"mutable","name":"proposal","nameLocation":"20296:8:130","nodeType":"VariableDeclaration","scope":79179,"src":"20264:40:130","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":79065,"nodeType":"UserDefinedTypeName","pathNode":{"id":79064,"name":"StrategyStruct.Proposal","nameLocations":["20264:14:130","20279:8:130"],"nodeType":"IdentifierPath","referencedDeclaration":77721,"src":"20264:23:130"},"referencedDeclaration":77721,"src":"20264:23:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":79070,"initialValue":{"baseExpression":{"id":79067,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77969,"src":"20307:9:130","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$77721_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":79069,"indexExpression":{"id":79068,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79045,"src":"20317:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"20307:21:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"20264:64:130"},{"condition":{"commonType":{"typeIdentifier":"t_enum$_ProposalType_$77671","typeString":"enum StrategyStruct.ProposalType"},"id":79075,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":79071,"name":"proposalType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77952,"src":"20343:12:130","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$77671","typeString":"enum StrategyStruct.ProposalType"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":79072,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77752,"src":"20359:14:130","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$77752_$","typeString":"type(library StrategyStruct)"}},"id":79073,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20374:12:130","memberName":"ProposalType","nodeType":"MemberAccess","referencedDeclaration":77671,"src":"20359:27:130","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalType_$77671_$","typeString":"type(enum StrategyStruct.ProposalType)"}},"id":79074,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"20387:7:130","memberName":"Funding","nodeType":"MemberAccess","referencedDeclaration":77669,"src":"20359:35:130","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalType_$77671","typeString":"enum StrategyStruct.ProposalType"}},"src":"20343:51:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":79178,"nodeType":"IfStatement","src":"20339:1208:130","trueBody":{"id":79177,"nodeType":"Block","src":"20396:1151:130","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79079,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":79076,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79066,"src":"20414:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79077,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"20423:10:130","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":77696,"src":"20414:19:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":79078,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79045,"src":"20437:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20414:33:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":79085,"nodeType":"IfStatement","src":"20410:108:130","trueBody":{"id":79084,"nodeType":"Block","src":"20449:69:130","statements":[{"errorCall":{"arguments":[{"id":79081,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79045,"src":"20492:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":79080,"name":"ProposalNotInList","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77815,"src":"20474:17:130","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":79082,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20474:29:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":79083,"nodeType":"RevertStatement","src":"20467:36:130"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79089,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":79086,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79066,"src":"20536:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79087,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"20545:15:130","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":77698,"src":"20536:24:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":79088,"name":"poolAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74092,"src":"20563:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20536:37:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":79098,"nodeType":"IfStatement","src":"20532:152:130","trueBody":{"id":79097,"nodeType":"Block","src":"20575:109:130","statements":[{"errorCall":{"arguments":[{"id":79091,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79045,"src":"20620:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":79092,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79066,"src":"20632:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79093,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"20641:15:130","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":77698,"src":"20632:24:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":79094,"name":"poolAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74092,"src":"20658:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":79090,"name":"PoolAmountNotEnough","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77833,"src":"20600:19:130","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256,uint256) pure"}},"id":79095,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20600:69:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":79096,"nodeType":"RevertStatement","src":"20593:76:130"}]}},{"condition":{"commonType":{"typeIdentifier":"t_enum$_ProposalStatus_$77694","typeString":"enum StrategyStruct.ProposalStatus"},"id":79104,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":79099,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79066,"src":"20702:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79100,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"20711:14:130","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":77713,"src":"20702:23:130","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$77694","typeString":"enum StrategyStruct.ProposalStatus"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"expression":{"id":79101,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77752,"src":"20729:14:130","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$77752_$","typeString":"type(library StrategyStruct)"}},"id":79102,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20744:14:130","memberName":"ProposalStatus","nodeType":"MemberAccess","referencedDeclaration":77694,"src":"20729:29:130","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$77694_$","typeString":"type(enum StrategyStruct.ProposalStatus)"}},"id":79103,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"20759:6:130","memberName":"Active","nodeType":"MemberAccess","referencedDeclaration":77690,"src":"20729:36:130","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$77694","typeString":"enum StrategyStruct.ProposalStatus"}},"src":"20702:63:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":79110,"nodeType":"IfStatement","src":"20698:138:130","trueBody":{"id":79109,"nodeType":"Block","src":"20767:69:130","statements":[{"errorCall":{"arguments":[{"id":79106,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79045,"src":"20810:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":79105,"name":"ProposalNotActive","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77811,"src":"20792:17:130","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":79107,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20792:29:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":79108,"nodeType":"RevertStatement","src":"20785:36:130"}]}},{"assignments":[79112],"declarations":[{"constant":false,"id":79112,"mutability":"mutable","name":"convictionLast","nameLocation":"20858:14:130","nodeType":"VariableDeclaration","scope":79177,"src":"20850:22:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79111,"name":"uint256","nodeType":"ElementaryTypeName","src":"20850:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":79116,"initialValue":{"arguments":[{"id":79114,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79045,"src":"20900:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":79113,"name":"updateProposalConviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80434,"src":"20875:24:130","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) returns (uint256)"}},"id":79115,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20875:36:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"20850:61:130"},{"assignments":[79118],"declarations":[{"constant":false,"id":79118,"mutability":"mutable","name":"threshold","nameLocation":"20933:9:130","nodeType":"VariableDeclaration","scope":79177,"src":"20925:17:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79117,"name":"uint256","nodeType":"ElementaryTypeName","src":"20925:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":79123,"initialValue":{"arguments":[{"expression":{"id":79120,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79066,"src":"20964:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79121,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"20973:15:130","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":77698,"src":"20964:24:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":79119,"name":"calculateThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80190,"src":"20945:18:130","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":79122,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20945:44:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"20925:64:130"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":79131,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79126,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":79124,"name":"convictionLast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79112,"src":"21008:14:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":79125,"name":"threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79118,"src":"21025:9:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"21008:26:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79130,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":79127,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79066,"src":"21038:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79128,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"21047:15:130","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":77698,"src":"21038:24:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":79129,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21065:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"21038:28:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"21008:58:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":79136,"nodeType":"IfStatement","src":"21004:137:130","trueBody":{"id":79135,"nodeType":"Block","src":"21068:73:130","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":79132,"name":"ConvictionUnderMinimumThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77823,"src":"21093:31:130","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":79133,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21093:33:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":79134,"nodeType":"RevertStatement","src":"21086:40:130"}]}},{"assignments":[79141],"declarations":[{"constant":false,"id":79141,"mutability":"mutable","name":"pool","nameLocation":"21173:4:130","nodeType":"VariableDeclaration","scope":79177,"src":"21155:22:130","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool"},"typeName":{"id":79140,"nodeType":"UserDefinedTypeName","pathNode":{"id":79139,"name":"IAllo.Pool","nameLocations":["21155:5:130","21161:4:130"],"nodeType":"IdentifierPath","referencedDeclaration":2319,"src":"21155:10:130"},"referencedDeclaration":2319,"src":"21155:10:130","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool"}},"visibility":"internal"}],"id":79146,"initialValue":{"arguments":[{"id":79144,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74090,"src":"21193:6:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":79142,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74084,"src":"21180:4:130","typeDescriptions":{"typeIdentifier":"t_contract$_IAllo_$2610","typeString":"contract IAllo"}},"id":79143,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21185:7:130","memberName":"getPool","nodeType":"MemberAccess","referencedDeclaration":2603,"src":"21180:12:130","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_struct$_Pool_$2319_memory_ptr_$","typeString":"function (uint256) view external returns (struct IAllo.Pool memory)"}},"id":79145,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21180:20:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"nodeType":"VariableDeclarationStatement","src":"21155:45:130"},{"expression":{"id":79150,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":79147,"name":"poolAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74092,"src":"21215:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"expression":{"id":79148,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79066,"src":"21229:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79149,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"21238:15:130","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":77698,"src":"21229:24:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"21215:38:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79151,"nodeType":"ExpressionStatement","src":"21215:38:130"},{"expression":{"arguments":[{"expression":{"id":79153,"name":"pool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79141,"src":"21291:4:130","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"id":79154,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"21296:5:130","memberName":"token","nodeType":"MemberAccess","referencedDeclaration":2311,"src":"21291:10:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":79155,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79066,"src":"21303:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79156,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"21312:11:130","memberName":"beneficiary","nodeType":"MemberAccess","referencedDeclaration":77704,"src":"21303:20:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":79157,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79066,"src":"21325:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79158,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"21334:15:130","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":77698,"src":"21325:24:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":79152,"name":"_transferAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3287,"src":"21275:15:130","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":79159,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21275:75:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":79160,"nodeType":"ExpressionStatement","src":"21275:75:130"},{"expression":{"id":79167,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":79161,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79066,"src":"21381:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79163,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"21390:14:130","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":77713,"src":"21381:23:130","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$77694","typeString":"enum StrategyStruct.ProposalStatus"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"expression":{"id":79164,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77752,"src":"21407:14:130","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$77752_$","typeString":"type(library StrategyStruct)"}},"id":79165,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21422:14:130","memberName":"ProposalStatus","nodeType":"MemberAccess","referencedDeclaration":77694,"src":"21407:29:130","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$77694_$","typeString":"type(enum StrategyStruct.ProposalStatus)"}},"id":79166,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"21437:8:130","memberName":"Executed","nodeType":"MemberAccess","referencedDeclaration":77693,"src":"21407:38:130","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$77694","typeString":"enum StrategyStruct.ProposalStatus"}},"src":"21381:64:130","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$77694","typeString":"enum StrategyStruct.ProposalStatus"}},"id":79168,"nodeType":"ExpressionStatement","src":"21381:64:130"},{"eventCall":{"arguments":[{"id":79170,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79045,"src":"21477:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":79171,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79066,"src":"21489:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79172,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"21498:11:130","memberName":"beneficiary","nodeType":"MemberAccess","referencedDeclaration":77704,"src":"21489:20:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":79173,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79066,"src":"21511:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79174,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"21520:15:130","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":77698,"src":"21511:24:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":79169,"name":"Distributed","nodeType":"Identifier","overloadedDeclarations":[77852,2858],"referencedDeclaration":77852,"src":"21465:11:130","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_address_$_t_uint256_$returns$__$","typeString":"function (uint256,address,uint256)"}},"id":79175,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21465:71:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":79176,"nodeType":"EmitStatement","src":"21460:76:130"}]}}]},"baseFunctions":[74577],"implemented":true,"kind":"function","modifiers":[],"name":"_distribute","nameLocation":"19866:11:130","overrides":{"id":79033,"nodeType":"OverrideSpecifier","overrides":[],"src":"19934:8:130"},"parameters":{"id":79032,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79027,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":79180,"src":"19878:16:130","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":79025,"name":"address","nodeType":"ElementaryTypeName","src":"19878:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":79026,"nodeType":"ArrayTypeName","src":"19878:9:130","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":79029,"mutability":"mutable","name":"_data","nameLocation":"19909:5:130","nodeType":"VariableDeclaration","scope":79180,"src":"19896:18:130","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":79028,"name":"bytes","nodeType":"ElementaryTypeName","src":"19896:5:130","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":79031,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":79180,"src":"19916:7:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":79030,"name":"address","nodeType":"ElementaryTypeName","src":"19916:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"19877:47:130"},"returnParameters":{"id":79034,"nodeType":"ParameterList","parameters":[],"src":"19943:0:130"},"scope":80578,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":79234,"nodeType":"FunctionDefinition","src":"21619:735:130","nodes":[],"body":{"id":79233,"nodeType":"Block","src":"21708:646:130","nodes":[],"statements":[{"assignments":[79191],"declarations":[{"constant":false,"id":79191,"mutability":"mutable","name":"proposal","nameLocation":"21750:8:130","nodeType":"VariableDeclaration","scope":79233,"src":"21718:40:130","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":79190,"nodeType":"UserDefinedTypeName","pathNode":{"id":79189,"name":"StrategyStruct.Proposal","nameLocations":["21718:14:130","21733:8:130"],"nodeType":"IdentifierPath","referencedDeclaration":77721,"src":"21718:23:130"},"referencedDeclaration":77721,"src":"21718:23:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":79195,"initialValue":{"baseExpression":{"id":79192,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77969,"src":"21761:9:130","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$77721_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":79194,"indexExpression":{"id":79193,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79182,"src":"21771:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"21761:21:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"21718:64:130"},{"assignments":[79197,79199],"declarations":[{"constant":false,"id":79197,"mutability":"mutable","name":"convictionLast","nameLocation":"21876:14:130","nodeType":"VariableDeclaration","scope":79233,"src":"21868:22:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79196,"name":"uint256","nodeType":"ElementaryTypeName","src":"21868:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":79199,"mutability":"mutable","name":"blockNumber","nameLocation":"21900:11:130","nodeType":"VariableDeclaration","scope":79233,"src":"21892:19:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79198,"name":"uint256","nodeType":"ElementaryTypeName","src":"21892:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":79205,"initialValue":{"arguments":[{"id":79201,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79191,"src":"21961:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},{"expression":{"id":79202,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79191,"src":"21971:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79203,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"21980:12:130","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":77700,"src":"21971:21:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":79200,"name":"_checkBlockAndCalculateConviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80386,"src":"21927:33:130","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Proposal_$77721_storage_ptr_$_t_uint256_$returns$_t_uint256_$_t_uint256_$","typeString":"function (struct StrategyStruct.Proposal storage pointer,uint256) view returns (uint256,uint256)"}},"id":79204,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21927:66:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_uint256_$","typeString":"tuple(uint256,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"21867:126:130"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":79212,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79208,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":79206,"name":"convictionLast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79197,"src":"22008:14:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":79207,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22026:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"22008:19:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79211,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":79209,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79199,"src":"22031:11:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":79210,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22046:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"22031:16:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"22008:39:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":79219,"nodeType":"IfStatement","src":"22004:110:130","trueBody":{"id":79218,"nodeType":"Block","src":"22049:65:130","statements":[{"expression":{"id":79216,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":79213,"name":"convictionLast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79197,"src":"22063:14:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":79214,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79191,"src":"22080:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79215,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"22089:14:130","memberName":"convictionLast","nodeType":"MemberAccess","referencedDeclaration":77702,"src":"22080:23:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"22063:40:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79217,"nodeType":"ExpressionStatement","src":"22063:40:130"}]}},{"assignments":[79221],"declarations":[{"constant":false,"id":79221,"mutability":"mutable","name":"threshold","nameLocation":"22131:9:130","nodeType":"VariableDeclaration","scope":79233,"src":"22123:17:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79220,"name":"uint256","nodeType":"ElementaryTypeName","src":"22123:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":79226,"initialValue":{"arguments":[{"expression":{"id":79223,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79191,"src":"22162:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79224,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"22171:15:130","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":77698,"src":"22162:24:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":79222,"name":"calculateThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80190,"src":"22143:18:130","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":79225,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22143:44:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"22123:64:130"},{"expression":{"id":79231,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":79227,"name":"canBeExecuted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79185,"src":"22304:13:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79230,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":79228,"name":"convictionLast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79197,"src":"22320:14:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":79229,"name":"threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79221,"src":"22338:9:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"22320:27:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"22304:43:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":79232,"nodeType":"ExpressionStatement","src":"22304:43:130"}]},"functionSelector":"824ea8ed","implemented":true,"kind":"function","modifiers":[],"name":"canExecuteProposal","nameLocation":"21628:18:130","parameters":{"id":79183,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79182,"mutability":"mutable","name":"proposalId","nameLocation":"21655:10:130","nodeType":"VariableDeclaration","scope":79234,"src":"21647:18:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79181,"name":"uint256","nodeType":"ElementaryTypeName","src":"21647:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"21646:20:130"},"returnParameters":{"id":79186,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79185,"mutability":"mutable","name":"canBeExecuted","nameLocation":"21693:13:130","nodeType":"VariableDeclaration","scope":79234,"src":"21688:18:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":79184,"name":"bool","nodeType":"ElementaryTypeName","src":"21688:4:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"21687:20:130"},"scope":80578,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":79256,"nodeType":"FunctionDefinition","src":"22644:220:130","nodes":[],"body":{"id":79255,"nodeType":"Block","src":"22735:129:130","nodes":[],"statements":[{"expression":{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":79248,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":79243,"name":"_recipientId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79236,"src":"22795:12:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":79246,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22819:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":79245,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"22811:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":79244,"name":"address","nodeType":"ElementaryTypeName","src":"22811:7:130","typeDescriptions":{}}},"id":79247,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22811:10:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"22795:26:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"expression":{"id":79251,"name":"Status","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2815,"src":"22842:6:130","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_Status_$2815_$","typeString":"type(enum IStrategy.Status)"}},"id":79252,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"22849:8:130","memberName":"Accepted","nodeType":"MemberAccess","referencedDeclaration":2810,"src":"22842:15:130","typeDescriptions":{"typeIdentifier":"t_enum$_Status_$2815","typeString":"enum IStrategy.Status"}},"id":79253,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"22795:62:130","trueExpression":{"expression":{"id":79249,"name":"Status","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2815,"src":"22824:6:130","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_Status_$2815_$","typeString":"type(enum IStrategy.Status)"}},"id":79250,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"22831:8:130","memberName":"Rejected","nodeType":"MemberAccess","referencedDeclaration":2811,"src":"22824:15:130","typeDescriptions":{"typeIdentifier":"t_enum$_Status_$2815","typeString":"enum IStrategy.Status"}},"typeDescriptions":{"typeIdentifier":"t_enum$_Status_$2815","typeString":"enum IStrategy.Status"}},"functionReturnParameters":79242,"id":79254,"nodeType":"Return","src":"22788:69:130"}]},"baseFunctions":[74597],"implemented":true,"kind":"function","modifiers":[],"name":"_getRecipientStatus","nameLocation":"22653:19:130","overrides":{"id":79238,"nodeType":"OverrideSpecifier","overrides":[],"src":"22709:8:130"},"parameters":{"id":79237,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79236,"mutability":"mutable","name":"_recipientId","nameLocation":"22681:12:130","nodeType":"VariableDeclaration","scope":79256,"src":"22673:20:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":79235,"name":"address","nodeType":"ElementaryTypeName","src":"22673:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"22672:22:130"},"returnParameters":{"id":79242,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79241,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":79256,"src":"22727:6:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_Status_$2815","typeString":"enum IStrategy.Status"},"typeName":{"id":79240,"nodeType":"UserDefinedTypeName","pathNode":{"id":79239,"name":"Status","nameLocations":["22727:6:130"],"nodeType":"IdentifierPath","referencedDeclaration":2815,"src":"22727:6:130"},"referencedDeclaration":2815,"src":"22727:6:130","typeDescriptions":{"typeIdentifier":"t_enum$_Status_$2815","typeString":"enum IStrategy.Status"}},"visibility":"internal"}],"src":"22726:8:130"},"scope":80578,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":79275,"nodeType":"FunctionDefinition","src":"22993:288:130","nodes":[],"body":{"id":79274,"nodeType":"Block","src":"23103:178:130","nodes":[],"statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":79271,"name":"NotImplemented","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77773,"src":"23163:14:130","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":79272,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23163:16:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":79273,"nodeType":"RevertStatement","src":"23156:23:130"}]},"baseFunctions":[74436],"documentation":{"id":79257,"nodeType":"StructuredDocumentation","src":"22870:118:130","text":"@return Input the values you would send to distribute(), get the amounts each recipient in the array would receive"},"functionSelector":"b2b878d0","implemented":true,"kind":"function","modifiers":[],"name":"getPayouts","nameLocation":"23002:10:130","overrides":{"id":79265,"nodeType":"OverrideSpecifier","overrides":[],"src":"23061:8:130"},"parameters":{"id":79264,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79260,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":79275,"src":"23013:16:130","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":79258,"name":"address","nodeType":"ElementaryTypeName","src":"23013:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":79259,"nodeType":"ArrayTypeName","src":"23013:9:130","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":79263,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":79275,"src":"23031:14:130","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":79261,"name":"bytes","nodeType":"ElementaryTypeName","src":"23031:5:130","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":79262,"nodeType":"ArrayTypeName","src":"23031:7:130","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"23012:34:130"},"returnParameters":{"id":79270,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79269,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":79275,"src":"23079:22:130","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_PayoutSummary_$2820_memory_ptr_$dyn_memory_ptr","typeString":"struct IStrategy.PayoutSummary[]"},"typeName":{"baseType":{"id":79267,"nodeType":"UserDefinedTypeName","pathNode":{"id":79266,"name":"PayoutSummary","nameLocations":["23079:13:130"],"nodeType":"IdentifierPath","referencedDeclaration":2820,"src":"23079:13:130"},"referencedDeclaration":2820,"src":"23079:13:130","typeDescriptions":{"typeIdentifier":"t_struct$_PayoutSummary_$2820_storage_ptr","typeString":"struct IStrategy.PayoutSummary"}},"id":79268,"nodeType":"ArrayTypeName","src":"23079:15:130","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_PayoutSummary_$2820_storage_$dyn_storage_ptr","typeString":"struct IStrategy.PayoutSummary[]"}},"visibility":"internal"}],"src":"23078:24:130"},"scope":80578,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":79294,"nodeType":"FunctionDefinition","src":"23287:264:130","nodes":[],"body":{"id":79293,"nodeType":"Block","src":"23439:112:130","nodes":[],"statements":[{"expression":{"id":79286,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79279,"src":"23492:5:130","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":79287,"nodeType":"ExpressionStatement","src":"23492:5:130"},{"expression":{"arguments":[{"id":79289,"name":"_recipientId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79277,"src":"23528:12:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":79290,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"23542:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":79288,"name":"PayoutSummary","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2820,"src":"23514:13:130","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_PayoutSummary_$2820_storage_ptr_$","typeString":"type(struct IStrategy.PayoutSummary storage pointer)"}},"id":79291,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23514:30:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_PayoutSummary_$2820_memory_ptr","typeString":"struct IStrategy.PayoutSummary memory"}},"functionReturnParameters":79285,"id":79292,"nodeType":"Return","src":"23507:37:130"}]},"baseFunctions":[74588],"implemented":true,"kind":"function","modifiers":[],"name":"_getPayout","nameLocation":"23296:10:130","overrides":{"id":79281,"nodeType":"OverrideSpecifier","overrides":[],"src":"23387:8:130"},"parameters":{"id":79280,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79277,"mutability":"mutable","name":"_recipientId","nameLocation":"23315:12:130","nodeType":"VariableDeclaration","scope":79294,"src":"23307:20:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":79276,"name":"address","nodeType":"ElementaryTypeName","src":"23307:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":79279,"mutability":"mutable","name":"_data","nameLocation":"23342:5:130","nodeType":"VariableDeclaration","scope":79294,"src":"23329:18:130","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":79278,"name":"bytes","nodeType":"ElementaryTypeName","src":"23329:5:130","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"23306:42:130"},"returnParameters":{"id":79285,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79284,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":79294,"src":"23413:20:130","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_PayoutSummary_$2820_memory_ptr","typeString":"struct IStrategy.PayoutSummary"},"typeName":{"id":79283,"nodeType":"UserDefinedTypeName","pathNode":{"id":79282,"name":"PayoutSummary","nameLocations":["23413:13:130"],"nodeType":"IdentifierPath","referencedDeclaration":2820,"src":"23413:13:130"},"referencedDeclaration":2820,"src":"23413:13:130","typeDescriptions":{"typeIdentifier":"t_struct$_PayoutSummary_$2820_storage_ptr","typeString":"struct IStrategy.PayoutSummary"}},"visibility":"internal"}],"src":"23412:22:130"},"scope":80578,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":79305,"nodeType":"FunctionDefinition","src":"23557:127:130","nodes":[],"body":{"id":79304,"nodeType":"Block","src":"23634:50:130","nodes":[],"statements":[{"eventCall":{"arguments":[{"id":79301,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79296,"src":"23669:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":79300,"name":"PoolAmountIncreased","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77862,"src":"23649:19:130","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":79302,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23649:28:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":79303,"nodeType":"EmitStatement","src":"23644:33:130"}]},"baseFunctions":[74611],"implemented":true,"kind":"function","modifiers":[],"name":"_afterIncreasePoolAmount","nameLocation":"23566:24:130","overrides":{"id":79298,"nodeType":"OverrideSpecifier","overrides":[],"src":"23625:8:130"},"parameters":{"id":79297,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79296,"mutability":"mutable","name":"_amount","nameLocation":"23599:7:130","nodeType":"VariableDeclaration","scope":79305,"src":"23591:15:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79295,"name":"uint256","nodeType":"ElementaryTypeName","src":"23591:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"23590:17:130"},"returnParameters":{"id":79299,"nodeType":"ParameterList","parameters":[],"src":"23634:0:130"},"scope":80578,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":79324,"nodeType":"FunctionDefinition","src":"23779:191:130","nodes":[],"body":{"id":79323,"nodeType":"Block","src":"23864:106:130","nodes":[],"statements":[{"expression":{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":79318,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":79313,"name":"_allocator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79307,"src":"23924:10:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":79316,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"23946:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":79315,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"23938:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":79314,"name":"address","nodeType":"ElementaryTypeName","src":"23938:7:130","typeDescriptions":{}}},"id":79317,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23938:10:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"23924:24:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"hexValue":"74727565","id":79320,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"23959:4:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"id":79321,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"23924:39:130","trueExpression":{"hexValue":"66616c7365","id":79319,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"23951:5:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":79312,"id":79322,"nodeType":"Return","src":"23917:46:130"}]},"baseFunctions":[74548],"implemented":true,"kind":"function","modifiers":[],"name":"_isValidAllocator","nameLocation":"23788:17:130","overrides":{"id":79309,"nodeType":"OverrideSpecifier","overrides":[],"src":"23840:8:130"},"parameters":{"id":79308,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79307,"mutability":"mutable","name":"_allocator","nameLocation":"23814:10:130","nodeType":"VariableDeclaration","scope":79324,"src":"23806:18:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":79306,"name":"address","nodeType":"ElementaryTypeName","src":"23806:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"23805:20:130"},"returnParameters":{"id":79312,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79311,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":79324,"src":"23858:4:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":79310,"name":"bool","nodeType":"ElementaryTypeName","src":"23858:4:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"23857:6:130"},"scope":80578,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":79334,"nodeType":"FunctionDefinition","src":"23976:86:130","nodes":[],"body":{"id":79333,"nodeType":"Block","src":"24022:40:130","nodes":[],"statements":[{"expression":{"arguments":[{"id":79330,"name":"_active","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79326,"src":"24047:7:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":79329,"name":"_setPoolActive","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74531,"src":"24032:14:130","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bool_$returns$__$","typeString":"function (bool)"}},"id":79331,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24032:23:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":79332,"nodeType":"ExpressionStatement","src":"24032:23:130"}]},"functionSelector":"b5f620ce","implemented":true,"kind":"function","modifiers":[],"name":"setPoolActive","nameLocation":"23985:13:130","parameters":{"id":79327,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79326,"mutability":"mutable","name":"_active","nameLocation":"24004:7:130","nodeType":"VariableDeclaration","scope":79334,"src":"23999:12:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":79325,"name":"bool","nodeType":"ElementaryTypeName","src":"23999:4:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"23998:14:130"},"returnParameters":{"id":79328,"nodeType":"ParameterList","parameters":[],"src":"24022:0:130"},"scope":80578,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":79422,"nodeType":"FunctionDefinition","src":"24068:836:130","nodes":[],"body":{"id":79421,"nodeType":"Block","src":"24112:792:130","nodes":[],"statements":[{"assignments":[79343],"declarations":[{"constant":false,"id":79343,"mutability":"mutable","name":"proposalsIds","nameLocation":"24187:12:130","nodeType":"VariableDeclaration","scope":79421,"src":"24170:29:130","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":79341,"name":"uint256","nodeType":"ElementaryTypeName","src":"24170:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79342,"nodeType":"ArrayTypeName","src":"24170:9:130","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"id":79347,"initialValue":{"baseExpression":{"id":79344,"name":"voterStakedProposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77978,"src":"24202:20:130","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$","typeString":"mapping(address => uint256[] storage ref)"}},"id":79346,"indexExpression":{"id":79345,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79336,"src":"24223:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"24202:29:130","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage","typeString":"uint256[] storage ref"}},"nodeType":"VariableDeclarationStatement","src":"24170:61:130"},{"body":{"id":79419,"nodeType":"Block","src":"24291:607:130","statements":[{"assignments":[79360],"declarations":[{"constant":false,"id":79360,"mutability":"mutable","name":"proposalId","nameLocation":"24313:10:130","nodeType":"VariableDeclaration","scope":79419,"src":"24305:18:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79359,"name":"uint256","nodeType":"ElementaryTypeName","src":"24305:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":79364,"initialValue":{"baseExpression":{"id":79361,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79343,"src":"24326:12:130","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":79363,"indexExpression":{"id":79362,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79349,"src":"24339:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"24326:15:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"24305:36:130"},{"assignments":[79369],"declarations":[{"constant":false,"id":79369,"mutability":"mutable","name":"proposal","nameLocation":"24387:8:130","nodeType":"VariableDeclaration","scope":79419,"src":"24355:40:130","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":79368,"nodeType":"UserDefinedTypeName","pathNode":{"id":79367,"name":"StrategyStruct.Proposal","nameLocations":["24355:14:130","24370:8:130"],"nodeType":"IdentifierPath","referencedDeclaration":77721,"src":"24355:23:130"},"referencedDeclaration":77721,"src":"24355:23:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":79373,"initialValue":{"baseExpression":{"id":79370,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77969,"src":"24398:9:130","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$77721_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":79372,"indexExpression":{"id":79371,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79360,"src":"24408:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"24398:21:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"24355:64:130"},{"condition":{"arguments":[{"id":79375,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79360,"src":"24452:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":79374,"name":"proposalExists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79610,"src":"24437:14:130","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view returns (bool)"}},"id":79376,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24437:26:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":79418,"nodeType":"IfStatement","src":"24433:455:130","trueBody":{"id":79417,"nodeType":"Block","src":"24465:423:130","statements":[{"assignments":[79378],"declarations":[{"constant":false,"id":79378,"mutability":"mutable","name":"stakedPoints","nameLocation":"24491:12:130","nodeType":"VariableDeclaration","scope":79417,"src":"24483:20:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79377,"name":"uint256","nodeType":"ElementaryTypeName","src":"24483:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":79383,"initialValue":{"baseExpression":{"expression":{"id":79379,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79369,"src":"24506:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79380,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24515:17:130","memberName":"voterStakedPoints","nodeType":"MemberAccess","referencedDeclaration":77717,"src":"24506:26:130","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":79382,"indexExpression":{"id":79381,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79336,"src":"24533:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"24506:35:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"24483:58:130"},{"expression":{"id":79390,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":79384,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79369,"src":"24559:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79387,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24568:17:130","memberName":"voterStakedPoints","nodeType":"MemberAccess","referencedDeclaration":77717,"src":"24559:26:130","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":79388,"indexExpression":{"id":79386,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79336,"src":"24586:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"24559:35:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"30","id":79389,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"24597:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"24559:39:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79391,"nodeType":"ExpressionStatement","src":"24559:39:130"},{"expression":{"id":79396,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":79392,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79369,"src":"24616:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79394,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"24625:12:130","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":77700,"src":"24616:21:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"id":79395,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79378,"src":"24641:12:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"24616:37:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79397,"nodeType":"ExpressionStatement","src":"24616:37:130"},{"expression":{"id":79400,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":79398,"name":"totalStaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77942,"src":"24671:11:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"id":79399,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79378,"src":"24686:12:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"24671:27:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79401,"nodeType":"ExpressionStatement","src":"24671:27:130"},{"expression":{"arguments":[{"id":79403,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79369,"src":"24743:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},{"id":79404,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79378,"src":"24753:12:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":79402,"name":"_calculateAndSetConviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80339,"src":"24716:26:130","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_Proposal_$77721_storage_ptr_$_t_uint256_$returns$__$","typeString":"function (struct StrategyStruct.Proposal storage pointer,uint256)"}},"id":79405,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24716:50:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":79406,"nodeType":"ExpressionStatement","src":"24716:50:130"},{"eventCall":{"arguments":[{"id":79408,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79336,"src":"24802:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":79409,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79360,"src":"24811:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":79410,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"24823:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"expression":{"id":79411,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79369,"src":"24826:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79412,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24835:12:130","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":77700,"src":"24826:21:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":79413,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79369,"src":"24849:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79414,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24858:14:130","memberName":"convictionLast","nodeType":"MemberAccess","referencedDeclaration":77702,"src":"24849:23:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":79407,"name":"SupportAdded","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77890,"src":"24789:12:130","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (address,uint256,uint256,uint256,uint256)"}},"id":79415,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24789:84:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":79416,"nodeType":"EmitStatement","src":"24784:89:130"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79355,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":79352,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79349,"src":"24261:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":79353,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79343,"src":"24265:12:130","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":79354,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24278:6:130","memberName":"length","nodeType":"MemberAccess","src":"24265:19:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"24261:23:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":79420,"initializationExpression":{"assignments":[79349],"declarations":[{"constant":false,"id":79349,"mutability":"mutable","name":"i","nameLocation":"24254:1:130","nodeType":"VariableDeclaration","scope":79420,"src":"24246:9:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79348,"name":"uint256","nodeType":"ElementaryTypeName","src":"24246:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":79351,"initialValue":{"hexValue":"30","id":79350,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"24258:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"24246:13:130"},"loopExpression":{"expression":{"id":79357,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"24286:3:130","subExpression":{"id":79356,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79349,"src":"24286:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79358,"nodeType":"ExpressionStatement","src":"24286:3:130"},"nodeType":"ForStatement","src":"24241:657:130"}]},"implemented":true,"kind":"function","modifiers":[],"name":"withdraw","nameLocation":"24077:8:130","parameters":{"id":79337,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79336,"mutability":"mutable","name":"_member","nameLocation":"24094:7:130","nodeType":"VariableDeclaration","scope":79422,"src":"24086:15:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":79335,"name":"address","nodeType":"ElementaryTypeName","src":"24086:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"24085:17:130"},"returnParameters":{"id":79338,"nodeType":"ParameterList","parameters":[],"src":"24112:0:130"},"scope":80578,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":79496,"nodeType":"FunctionDefinition","src":"25466:1038:130","nodes":[],"body":{"id":79495,"nodeType":"Block","src":"25935:569:130","nodes":[],"statements":[{"assignments":[79453],"declarations":[{"constant":false,"id":79453,"mutability":"mutable","name":"proposal","nameLocation":"25977:8:130","nodeType":"VariableDeclaration","scope":79495,"src":"25945:40:130","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":79452,"nodeType":"UserDefinedTypeName","pathNode":{"id":79451,"name":"StrategyStruct.Proposal","nameLocations":["25945:14:130","25960:8:130"],"nodeType":"IdentifierPath","referencedDeclaration":77721,"src":"25945:23:130"},"referencedDeclaration":77721,"src":"25945:23:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":79457,"initialValue":{"baseExpression":{"id":79454,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77969,"src":"25988:9:130","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$77721_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":79456,"indexExpression":{"id":79455,"name":"_proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79425,"src":"25998:11:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"25988:22:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"25945:65:130"},{"expression":{"id":79469,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":79458,"name":"threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79445,"src":"26021:9:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79462,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":79459,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79453,"src":"26033:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79460,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"26042:15:130","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":77698,"src":"26033:24:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":79461,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"26061:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"26033:29:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"arguments":[{"expression":{"id":79465,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79453,"src":"26088:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79466,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"26097:15:130","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":77698,"src":"26088:24:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":79464,"name":"calculateThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80190,"src":"26069:18:130","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":79467,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26069:44:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79468,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"26033:80:130","trueExpression":{"hexValue":"30","id":79463,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"26065:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"26021:92:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79470,"nodeType":"ExpressionStatement","src":"26021:92:130"},{"expression":{"components":[{"expression":{"id":79471,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79453,"src":"26144:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79472,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"26153:9:130","memberName":"submitter","nodeType":"MemberAccess","referencedDeclaration":77706,"src":"26144:18:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":79473,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79453,"src":"26176:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79474,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"26185:11:130","memberName":"beneficiary","nodeType":"MemberAccess","referencedDeclaration":77704,"src":"26176:20:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":79475,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79453,"src":"26210:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79476,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"26219:14:130","memberName":"requestedToken","nodeType":"MemberAccess","referencedDeclaration":77708,"src":"26210:23:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":79477,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79453,"src":"26247:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79478,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"26256:15:130","memberName":"requestedAmount","nodeType":"MemberAccess","referencedDeclaration":77698,"src":"26247:24:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":79479,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79453,"src":"26285:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79480,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"26294:12:130","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":77700,"src":"26285:21:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":79481,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79453,"src":"26320:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79482,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"26329:14:130","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":77713,"src":"26320:23:130","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$77694","typeString":"enum StrategyStruct.ProposalStatus"}},{"expression":{"id":79483,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79453,"src":"26357:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79484,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"26366:9:130","memberName":"blockLast","nodeType":"MemberAccess","referencedDeclaration":77710,"src":"26357:18:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":79485,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79453,"src":"26389:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79486,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"26398:14:130","memberName":"convictionLast","nodeType":"MemberAccess","referencedDeclaration":77702,"src":"26389:23:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":79487,"name":"threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79445,"src":"26426:9:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"baseExpression":{"expression":{"id":79488,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79453,"src":"26449:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79489,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"26458:17:130","memberName":"voterStakedPoints","nodeType":"MemberAccess","referencedDeclaration":77717,"src":"26449:26:130","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":79492,"indexExpression":{"expression":{"id":79490,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"26476:3:130","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":79491,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"26480:6:130","memberName":"sender","nodeType":"MemberAccess","src":"26476:10:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"26449:38:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":79493,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"26130:367:130","typeDescriptions":{"typeIdentifier":"t_tuple$_t_address_$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_enum$_ProposalStatus_$77694_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$","typeString":"tuple(address,address,address,uint256,uint256,enum StrategyStruct.ProposalStatus,uint256,uint256,uint256,uint256)"}},"functionReturnParameters":79448,"id":79494,"nodeType":"Return","src":"26123:374:130"}]},"documentation":{"id":79423,"nodeType":"StructuredDocumentation","src":"24910:551:130","text":" @dev Get proposal details\n @param _proposalId Proposal id\n @return submitter Proposal submitter\n @return beneficiary Proposal beneficiary\n @return requestedToken Proposal requested token\n @return requestedAmount Proposal requested amount\n @return stakedAmount Proposal staked points\n @return proposalStatus Proposal status\n @return blockLast Last block when conviction was calculated\n @return convictionLast Last conviction calculated\n @return threshold Proposal threshold"},"functionSelector":"c7f758a8","implemented":true,"kind":"function","modifiers":[],"name":"getProposal","nameLocation":"25475:11:130","parameters":{"id":79426,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79425,"mutability":"mutable","name":"_proposalId","nameLocation":"25495:11:130","nodeType":"VariableDeclaration","scope":79496,"src":"25487:19:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79424,"name":"uint256","nodeType":"ElementaryTypeName","src":"25487:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"25486:21:130"},"returnParameters":{"id":79448,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79428,"mutability":"mutable","name":"submitter","nameLocation":"25576:9:130","nodeType":"VariableDeclaration","scope":79496,"src":"25568:17:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":79427,"name":"address","nodeType":"ElementaryTypeName","src":"25568:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":79430,"mutability":"mutable","name":"beneficiary","nameLocation":"25607:11:130","nodeType":"VariableDeclaration","scope":79496,"src":"25599:19:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":79429,"name":"address","nodeType":"ElementaryTypeName","src":"25599:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":79432,"mutability":"mutable","name":"requestedToken","nameLocation":"25640:14:130","nodeType":"VariableDeclaration","scope":79496,"src":"25632:22:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":79431,"name":"address","nodeType":"ElementaryTypeName","src":"25632:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":79434,"mutability":"mutable","name":"requestedAmount","nameLocation":"25676:15:130","nodeType":"VariableDeclaration","scope":79496,"src":"25668:23:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79433,"name":"uint256","nodeType":"ElementaryTypeName","src":"25668:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":79436,"mutability":"mutable","name":"stakedAmount","nameLocation":"25713:12:130","nodeType":"VariableDeclaration","scope":79496,"src":"25705:20:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79435,"name":"uint256","nodeType":"ElementaryTypeName","src":"25705:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":79439,"mutability":"mutable","name":"proposalStatus","nameLocation":"25769:14:130","nodeType":"VariableDeclaration","scope":79496,"src":"25739:44:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$77694","typeString":"enum StrategyStruct.ProposalStatus"},"typeName":{"id":79438,"nodeType":"UserDefinedTypeName","pathNode":{"id":79437,"name":"StrategyStruct.ProposalStatus","nameLocations":["25739:14:130","25754:14:130"],"nodeType":"IdentifierPath","referencedDeclaration":77694,"src":"25739:29:130"},"referencedDeclaration":77694,"src":"25739:29:130","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$77694","typeString":"enum StrategyStruct.ProposalStatus"}},"visibility":"internal"},{"constant":false,"id":79441,"mutability":"mutable","name":"blockLast","nameLocation":"25805:9:130","nodeType":"VariableDeclaration","scope":79496,"src":"25797:17:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79440,"name":"uint256","nodeType":"ElementaryTypeName","src":"25797:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":79443,"mutability":"mutable","name":"convictionLast","nameLocation":"25836:14:130","nodeType":"VariableDeclaration","scope":79496,"src":"25828:22:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79442,"name":"uint256","nodeType":"ElementaryTypeName","src":"25828:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":79445,"mutability":"mutable","name":"threshold","nameLocation":"25872:9:130","nodeType":"VariableDeclaration","scope":79496,"src":"25864:17:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79444,"name":"uint256","nodeType":"ElementaryTypeName","src":"25864:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":79447,"mutability":"mutable","name":"voterStakedPoints","nameLocation":"25903:17:130","nodeType":"VariableDeclaration","scope":79496,"src":"25895:25:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79446,"name":"uint256","nodeType":"ElementaryTypeName","src":"25895:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"25554:376:130"},"scope":80578,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":79517,"nodeType":"FunctionDefinition","src":"26510:198:130","nodes":[],"body":{"id":79516,"nodeType":"Block","src":"26592:116:130","nodes":[],"statements":[{"assignments":[79508],"declarations":[{"constant":false,"id":79508,"mutability":"mutable","name":"proposal","nameLocation":"26634:8:130","nodeType":"VariableDeclaration","scope":79516,"src":"26602:40:130","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":79507,"nodeType":"UserDefinedTypeName","pathNode":{"id":79506,"name":"StrategyStruct.Proposal","nameLocations":["26602:14:130","26617:8:130"],"nodeType":"IdentifierPath","referencedDeclaration":77721,"src":"26602:23:130"},"referencedDeclaration":77721,"src":"26602:23:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":79512,"initialValue":{"baseExpression":{"id":79509,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77969,"src":"26645:9:130","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$77721_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":79511,"indexExpression":{"id":79510,"name":"_proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79498,"src":"26655:11:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"26645:22:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"26602:65:130"},{"expression":{"expression":{"id":79513,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79508,"src":"26684:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79514,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"26693:8:130","memberName":"metadata","nodeType":"MemberAccess","referencedDeclaration":77720,"src":"26684:17:130","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage","typeString":"struct Metadata storage ref"}},"functionReturnParameters":79503,"id":79515,"nodeType":"Return","src":"26677:24:130"}]},"functionSelector":"a574cea4","implemented":true,"kind":"function","modifiers":[],"name":"getMetadata","nameLocation":"26519:11:130","parameters":{"id":79499,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79498,"mutability":"mutable","name":"_proposalId","nameLocation":"26539:11:130","nodeType":"VariableDeclaration","scope":79517,"src":"26531:19:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79497,"name":"uint256","nodeType":"ElementaryTypeName","src":"26531:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"26530:21:130"},"returnParameters":{"id":79503,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79502,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":79517,"src":"26575:15:130","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata"},"typeName":{"id":79501,"nodeType":"UserDefinedTypeName","pathNode":{"id":79500,"name":"Metadata","nameLocations":["26575:8:130"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"26575:8:130"},"referencedDeclaration":3098,"src":"26575:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"}],"src":"26574:17:130"},"scope":80578,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":79533,"nodeType":"FunctionDefinition","src":"26909:176:130","nodes":[],"body":{"id":79532,"nodeType":"Block","src":"27009:76:130","nodes":[],"statements":[{"expression":{"arguments":[{"id":79528,"name":"_proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79520,"src":"27058:11:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":79529,"name":"_voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79522,"src":"27071:6:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"id":79527,"name":"_internal_getProposalVoterStake","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79575,"src":"27026:31:130","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_address_$returns$_t_uint256_$","typeString":"function (uint256,address) view returns (uint256)"}},"id":79530,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27026:52:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":79526,"id":79531,"nodeType":"Return","src":"27019:59:130"}]},"documentation":{"id":79518,"nodeType":"StructuredDocumentation","src":"26714:190:130","text":" @notice Get stake of voter `_voter` on proposal #`_proposalId`\n @param _proposalId Proposal id\n @param _voter Voter address\n @return Proposal voter stake"},"functionSelector":"e0dd2c38","implemented":true,"kind":"function","modifiers":[],"name":"getProposalVoterStake","nameLocation":"26918:21:130","parameters":{"id":79523,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79520,"mutability":"mutable","name":"_proposalId","nameLocation":"26948:11:130","nodeType":"VariableDeclaration","scope":79533,"src":"26940:19:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79519,"name":"uint256","nodeType":"ElementaryTypeName","src":"26940:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":79522,"mutability":"mutable","name":"_voter","nameLocation":"26969:6:130","nodeType":"VariableDeclaration","scope":79533,"src":"26961:14:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":79521,"name":"address","nodeType":"ElementaryTypeName","src":"26961:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"26939:37:130"},"returnParameters":{"id":79526,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79525,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":79533,"src":"27000:7:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79524,"name":"uint256","nodeType":"ElementaryTypeName","src":"27000:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"26999:9:130"},"scope":80578,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":79546,"nodeType":"FunctionDefinition","src":"27091:145:130","nodes":[],"body":{"id":79545,"nodeType":"Block","src":"27177:59:130","nodes":[],"statements":[{"expression":{"expression":{"baseExpression":{"id":79540,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77969,"src":"27194:9:130","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$77721_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":79542,"indexExpression":{"id":79541,"name":"_proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79535,"src":"27204:11:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"27194:22:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"id":79543,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"27217:12:130","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":77700,"src":"27194:35:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":79539,"id":79544,"nodeType":"Return","src":"27187:42:130"}]},"functionSelector":"dc96ff2d","implemented":true,"kind":"function","modifiers":[],"name":"getProposalStakedAmount","nameLocation":"27100:23:130","parameters":{"id":79536,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79535,"mutability":"mutable","name":"_proposalId","nameLocation":"27132:11:130","nodeType":"VariableDeclaration","scope":79546,"src":"27124:19:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79534,"name":"uint256","nodeType":"ElementaryTypeName","src":"27124:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"27123:21:130"},"returnParameters":{"id":79539,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79538,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":79546,"src":"27168:7:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79537,"name":"uint256","nodeType":"ElementaryTypeName","src":"27168:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"27167:9:130"},"scope":80578,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":79558,"nodeType":"FunctionDefinition","src":"27305:127:130","nodes":[],"body":{"id":79557,"nodeType":"Block","src":"27382:50:130","nodes":[],"statements":[{"expression":{"baseExpression":{"id":79553,"name":"totalVoterStakePct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77973,"src":"27399:18:130","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":79555,"indexExpression":{"id":79554,"name":"_voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79548,"src":"27418:6:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"27399:26:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":79552,"id":79556,"nodeType":"Return","src":"27392:33:130"}]},"functionSelector":"bcc5b93b","implemented":true,"kind":"function","modifiers":[],"name":"getTotalVoterStakePct","nameLocation":"27314:21:130","parameters":{"id":79549,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79548,"mutability":"mutable","name":"_voter","nameLocation":"27344:6:130","nodeType":"VariableDeclaration","scope":79558,"src":"27336:14:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":79547,"name":"address","nodeType":"ElementaryTypeName","src":"27336:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"27335:16:130"},"returnParameters":{"id":79552,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79551,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":79558,"src":"27373:7:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79550,"name":"uint256","nodeType":"ElementaryTypeName","src":"27373:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"27372:9:130"},"scope":80578,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":79575,"nodeType":"FunctionDefinition","src":"27438:182:130","nodes":[],"body":{"id":79574,"nodeType":"Block","src":"27548:72:130","nodes":[],"statements":[{"expression":{"baseExpression":{"expression":{"baseExpression":{"id":79567,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77969,"src":"27565:9:130","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$77721_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":79569,"indexExpression":{"id":79568,"name":"_proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79560,"src":"27575:11:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"27565:22:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"id":79570,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"27588:17:130","memberName":"voterStakedPoints","nodeType":"MemberAccess","referencedDeclaration":77717,"src":"27565:40:130","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":79572,"indexExpression":{"id":79571,"name":"_voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79562,"src":"27606:6:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"27565:48:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":79566,"id":79573,"nodeType":"Return","src":"27558:55:130"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_internal_getProposalVoterStake","nameLocation":"27447:31:130","parameters":{"id":79563,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79560,"mutability":"mutable","name":"_proposalId","nameLocation":"27487:11:130","nodeType":"VariableDeclaration","scope":79575,"src":"27479:19:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79559,"name":"uint256","nodeType":"ElementaryTypeName","src":"27479:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":79562,"mutability":"mutable","name":"_voter","nameLocation":"27508:6:130","nodeType":"VariableDeclaration","scope":79575,"src":"27500:14:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":79561,"name":"address","nodeType":"ElementaryTypeName","src":"27500:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"27478:37:130"},"returnParameters":{"id":79566,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79565,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":79575,"src":"27539:7:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79564,"name":"uint256","nodeType":"ElementaryTypeName","src":"27539:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"27538:9:130"},"scope":80578,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":79585,"nodeType":"FunctionDefinition","src":"27626:145:130","nodes":[],"body":{"id":79584,"nodeType":"Block","src":"27690:81:130","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":79580,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77961,"src":"27707:17:130","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"}},"id":79581,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"27725:20:130","memberName":"getBasisStakedAmount","nodeType":"MemberAccess","referencedDeclaration":84831,"src":"27707:38:130","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint256_$","typeString":"function () view external returns (uint256)"}},"id":79582,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27707:40:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":79579,"id":79583,"nodeType":"Return","src":"27700:47:130"}]},"implemented":true,"kind":"function","modifiers":[],"name":"getBasisStakedAmount","nameLocation":"27635:20:130","parameters":{"id":79576,"nodeType":"ParameterList","parameters":[],"src":"27655:2:130"},"returnParameters":{"id":79579,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79578,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":79585,"src":"27681:7:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79577,"name":"uint256","nodeType":"ElementaryTypeName","src":"27681:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"27680:9:130"},"scope":80578,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":79610,"nodeType":"FunctionDefinition","src":"27777:185:130","nodes":[],"body":{"id":79609,"nodeType":"Block","src":"27851:111:130","nodes":[],"statements":[{"expression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":79607,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79597,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":79592,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77969,"src":"27868:9:130","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$77721_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":79594,"indexExpression":{"id":79593,"name":"_proposalID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79587,"src":"27878:11:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"27868:22:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"id":79595,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"27891:10:130","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":77696,"src":"27868:33:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":79596,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"27904:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"27868:37:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":79606,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":79598,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77969,"src":"27909:9:130","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$77721_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":79600,"indexExpression":{"id":79599,"name":"_proposalID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79587,"src":"27919:11:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"27909:22:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"id":79601,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"27932:9:130","memberName":"submitter","nodeType":"MemberAccess","referencedDeclaration":77706,"src":"27909:32:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":79604,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"27953:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":79603,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"27945:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":79602,"name":"address","nodeType":"ElementaryTypeName","src":"27945:7:130","typeDescriptions":{}}},"id":79605,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27945:10:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"27909:46:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"27868:87:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":79591,"id":79608,"nodeType":"Return","src":"27861:94:130"}]},"implemented":true,"kind":"function","modifiers":[],"name":"proposalExists","nameLocation":"27786:14:130","parameters":{"id":79588,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79587,"mutability":"mutable","name":"_proposalID","nameLocation":"27809:11:130","nodeType":"VariableDeclaration","scope":79610,"src":"27801:19:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79586,"name":"uint256","nodeType":"ElementaryTypeName","src":"27801:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"27800:21:130"},"returnParameters":{"id":79591,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79590,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":79610,"src":"27845:4:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":79589,"name":"bool","nodeType":"ElementaryTypeName","src":"27845:4:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"27844:6:130"},"scope":80578,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":79628,"nodeType":"FunctionDefinition","src":"27968:174:130","nodes":[],"body":{"id":79627,"nodeType":"Block","src":"28063:79:130","nodes":[],"statements":[{"expression":{"id":79625,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":79617,"name":"isOverMaxRatio","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79615,"src":"28073:14:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79624,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79620,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":79618,"name":"maxRatio","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77935,"src":"28090:8:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":79619,"name":"poolAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74092,"src":"28101:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"28090:21:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79623,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":79621,"name":"_requestedAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79612,"src":"28115:16:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":79622,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77919,"src":"28134:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"28115:20:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"28090:45:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"28073:62:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":79626,"nodeType":"ExpressionStatement","src":"28073:62:130"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_isOverMaxRatio","nameLocation":"27977:15:130","parameters":{"id":79613,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79612,"mutability":"mutable","name":"_requestedAmount","nameLocation":"28001:16:130","nodeType":"VariableDeclaration","scope":79628,"src":"27993:24:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79611,"name":"uint256","nodeType":"ElementaryTypeName","src":"27993:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"27992:26:130"},"returnParameters":{"id":79616,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79615,"mutability":"mutable","name":"isOverMaxRatio","nameLocation":"28047:14:130","nodeType":"VariableDeclaration","scope":79628,"src":"28042:19:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":79614,"name":"bool","nodeType":"ElementaryTypeName","src":"28042:4:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"28041:21:130"},"scope":80578,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":79724,"nodeType":"FunctionDefinition","src":"28148:1548:130","nodes":[],"body":{"id":79723,"nodeType":"Block","src":"28278:1418:130","nodes":[],"statements":[{"assignments":[79638],"declarations":[{"constant":false,"id":79638,"mutability":"mutable","name":"deltaSupportSum","nameLocation":"28295:15:130","nodeType":"VariableDeclaration","scope":79723,"src":"28288:22:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":79637,"name":"int256","nodeType":"ElementaryTypeName","src":"28288:6:130","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"id":79640,"initialValue":{"hexValue":"30","id":79639,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"28313:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"28288:26:130"},{"body":{"id":79685,"nodeType":"Block","src":"28378:576:130","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79657,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":79652,"name":"_proposalSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79634,"src":"28451:16:130","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$77726_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}},"id":79654,"indexExpression":{"id":79653,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79642,"src":"28468:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"28451:19:130","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$77726_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory"}},"id":79655,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"28471:10:130","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":77723,"src":"28451:30:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":79656,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"28485:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"28451:35:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":79660,"nodeType":"IfStatement","src":"28447:187:130","trueBody":{"id":79659,"nodeType":"Block","src":"28488:146:130","statements":[{"id":79658,"nodeType":"Continue","src":"28611:8:130"}]}},{"assignments":[79662],"declarations":[{"constant":false,"id":79662,"mutability":"mutable","name":"proposalId","nameLocation":"28655:10:130","nodeType":"VariableDeclaration","scope":79685,"src":"28647:18:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79661,"name":"uint256","nodeType":"ElementaryTypeName","src":"28647:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":79667,"initialValue":{"expression":{"baseExpression":{"id":79663,"name":"_proposalSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79634,"src":"28668:16:130","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$77726_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}},"id":79665,"indexExpression":{"id":79664,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79642,"src":"28685:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"28668:19:130","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$77726_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory"}},"id":79666,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"28688:10:130","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":77723,"src":"28668:30:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"28647:51:130"},{"condition":{"id":79671,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"28716:27:130","subExpression":{"arguments":[{"id":79669,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79662,"src":"28732:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":79668,"name":"proposalExists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79610,"src":"28717:14:130","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view returns (bool)"}},"id":79670,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28717:26:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":79677,"nodeType":"IfStatement","src":"28712:167:130","trueBody":{"id":79676,"nodeType":"Block","src":"28745:134:130","statements":[{"errorCall":{"arguments":[{"id":79673,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79662,"src":"28788:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":79672,"name":"ProposalNotInList","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77815,"src":"28770:17:130","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":79674,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28770:29:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":79675,"nodeType":"RevertStatement","src":"28763:36:130"}]}},{"expression":{"id":79683,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":79678,"name":"deltaSupportSum","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79638,"src":"28892:15:130","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"expression":{"baseExpression":{"id":79679,"name":"_proposalSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79634,"src":"28911:16:130","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$77726_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}},"id":79681,"indexExpression":{"id":79680,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79642,"src":"28928:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"28911:19:130","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$77726_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory"}},"id":79682,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"28931:12:130","memberName":"deltaSupport","nodeType":"MemberAccess","referencedDeclaration":77725,"src":"28911:32:130","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"28892:51:130","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":79684,"nodeType":"ExpressionStatement","src":"28892:51:130"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79648,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":79645,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79642,"src":"28344:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":79646,"name":"_proposalSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79634,"src":"28348:16:130","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$77726_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}},"id":79647,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"28365:6:130","memberName":"length","nodeType":"MemberAccess","src":"28348:23:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"28344:27:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":79686,"initializationExpression":{"assignments":[79642],"declarations":[{"constant":false,"id":79642,"mutability":"mutable","name":"i","nameLocation":"28337:1:130","nodeType":"VariableDeclaration","scope":79686,"src":"28329:9:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79641,"name":"uint256","nodeType":"ElementaryTypeName","src":"28329:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":79644,"initialValue":{"hexValue":"30","id":79643,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"28341:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"28329:13:130"},"loopExpression":{"expression":{"id":79650,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"28373:3:130","subExpression":{"id":79649,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79642,"src":"28373:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79651,"nodeType":"ExpressionStatement","src":"28373:3:130"},"nodeType":"ForStatement","src":"28324:630:130"},{"assignments":[79688],"declarations":[{"constant":false,"id":79688,"mutability":"mutable","name":"newTotalVotingSupport","nameLocation":"29058:21:130","nodeType":"VariableDeclaration","scope":79723,"src":"29050:29:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79687,"name":"uint256","nodeType":"ElementaryTypeName","src":"29050:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":79695,"initialValue":{"arguments":[{"arguments":[{"id":79691,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79630,"src":"29116:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":79690,"name":"getTotalVoterStakePct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79558,"src":"29094:21:130","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view returns (uint256)"}},"id":79692,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29094:30:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":79693,"name":"deltaSupportSum","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79638,"src":"29126:15:130","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":79689,"name":"_applyDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80046,"src":"29082:11:130","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_int256_$returns$_t_uint256_$","typeString":"function (uint256,int256) pure returns (uint256)"}},"id":79694,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29082:60:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"29050:92:130"},{"assignments":[79697],"declarations":[{"constant":false,"id":79697,"mutability":"mutable","name":"participantBalance","nameLocation":"29232:18:130","nodeType":"VariableDeclaration","scope":79723,"src":"29224:26:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79696,"name":"uint256","nodeType":"ElementaryTypeName","src":"29224:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":79706,"initialValue":{"arguments":[{"id":79700,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79630,"src":"29296:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":79703,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"29313:4:130","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$80578","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$80578","typeString":"contract CVStrategyV0_0"}],"id":79702,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"29305:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":79701,"name":"address","nodeType":"ElementaryTypeName","src":"29305:7:130","typeDescriptions":{}}},"id":79704,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29305:13:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":79698,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77961,"src":"29253:17:130","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"}},"id":79699,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"29271:24:130","memberName":"getMemberPowerInStrategy","nodeType":"MemberAccess","referencedDeclaration":84375,"src":"29253:42:130","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view external returns (uint256)"}},"id":79705,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29253:66:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"29224:95:130"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79709,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":79707,"name":"newTotalVotingSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79688,"src":"29485:21:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":79708,"name":"participantBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79697,"src":"29509:18:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"29485:42:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":79716,"nodeType":"IfStatement","src":"29481:147:130","trueBody":{"id":79715,"nodeType":"Block","src":"29529:99:130","statements":[{"errorCall":{"arguments":[{"id":79711,"name":"newTotalVotingSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79688,"src":"29575:21:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":79712,"name":"participantBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79697,"src":"29598:18:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":79710,"name":"NotEnoughPointsToSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77803,"src":"29550:24:130","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":79713,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29550:67:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":79714,"nodeType":"RevertStatement","src":"29543:74:130"}]}},{"expression":{"id":79721,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":79717,"name":"totalVoterStakePct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77973,"src":"29638:18:130","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":79719,"indexExpression":{"id":79718,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79630,"src":"29657:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"29638:27:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":79720,"name":"newTotalVotingSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79688,"src":"29668:21:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"29638:51:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79722,"nodeType":"ExpressionStatement","src":"29638:51:130"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_check_before_addSupport","nameLocation":"28157:24:130","parameters":{"id":79635,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79630,"mutability":"mutable","name":"_sender","nameLocation":"28190:7:130","nodeType":"VariableDeclaration","scope":79724,"src":"28182:15:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":79629,"name":"address","nodeType":"ElementaryTypeName","src":"28182:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":79634,"mutability":"mutable","name":"_proposalSupport","nameLocation":"28239:16:130","nodeType":"VariableDeclaration","scope":79724,"src":"28199:56:130","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$77726_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport[]"},"typeName":{"baseType":{"id":79632,"nodeType":"UserDefinedTypeName","pathNode":{"id":79631,"name":"StrategyStruct.ProposalSupport","nameLocations":["28199:14:130","28214:15:130"],"nodeType":"IdentifierPath","referencedDeclaration":77726,"src":"28199:30:130"},"referencedDeclaration":77726,"src":"28199:30:130","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$77726_storage_ptr","typeString":"struct StrategyStruct.ProposalSupport"}},"id":79633,"nodeType":"ArrayTypeName","src":"28199:32:130","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$77726_storage_$dyn_storage_ptr","typeString":"struct StrategyStruct.ProposalSupport[]"}},"visibility":"internal"}],"src":"28181:75:130"},"returnParameters":{"id":79636,"nodeType":"ParameterList","parameters":[],"src":"28278:0:130"},"scope":80578,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":80011,"nodeType":"FunctionDefinition","src":"29702:3479:130","nodes":[],"body":{"id":80010,"nodeType":"Block","src":"29807:3374:130","nodes":[],"statements":[{"assignments":[79737],"declarations":[{"constant":false,"id":79737,"mutability":"mutable","name":"proposalsIds","nameLocation":"29834:12:130","nodeType":"VariableDeclaration","scope":80010,"src":"29817:29:130","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":79735,"name":"uint256","nodeType":"ElementaryTypeName","src":"29817:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79736,"nodeType":"ArrayTypeName","src":"29817:9:130","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"id":79738,"nodeType":"VariableDeclarationStatement","src":"29817:29:130"},{"body":{"id":80008,"nodeType":"Block","src":"29910:3265:130","statements":[{"assignments":[79751],"declarations":[{"constant":false,"id":79751,"mutability":"mutable","name":"proposalId","nameLocation":"29932:10:130","nodeType":"VariableDeclaration","scope":80008,"src":"29924:18:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79750,"name":"uint256","nodeType":"ElementaryTypeName","src":"29924:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":79756,"initialValue":{"expression":{"baseExpression":{"id":79752,"name":"_proposalSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79730,"src":"29945:16:130","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$77726_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}},"id":79754,"indexExpression":{"id":79753,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79740,"src":"29962:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"29945:19:130","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$77726_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory"}},"id":79755,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"29965:10:130","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":77723,"src":"29945:30:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"29924:51:130"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79760,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":79757,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79737,"src":"30048:12:130","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":79758,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30061:6:130","memberName":"length","nodeType":"MemberAccess","src":"30048:19:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":79759,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"30071:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"30048:24:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":79859,"nodeType":"Block","src":"30200:764:130","statements":[{"assignments":[79777],"declarations":[{"constant":false,"id":79777,"mutability":"mutable","name":"exist","nameLocation":"30223:5:130","nodeType":"VariableDeclaration","scope":79859,"src":"30218:10:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":79776,"name":"bool","nodeType":"ElementaryTypeName","src":"30218:4:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":79779,"initialValue":{"hexValue":"66616c7365","id":79778,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"30231:5:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"nodeType":"VariableDeclarationStatement","src":"30218:18:130"},{"body":{"id":79807,"nodeType":"Block","src":"30304:268:130","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79795,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"id":79791,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79737,"src":"30355:12:130","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":79793,"indexExpression":{"id":79792,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79781,"src":"30368:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"30355:15:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":79794,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79751,"src":"30374:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"30355:29:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":79806,"nodeType":"IfStatement","src":"30351:203:130","trueBody":{"id":79805,"nodeType":"Block","src":"30386:168:130","statements":[{"expression":{"id":79798,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":79796,"name":"exist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79777,"src":"30412:5:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":79797,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"30420:4:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"30412:12:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":79799,"nodeType":"ExpressionStatement","src":"30412:12:130"},{"errorCall":{"arguments":[{"id":79801,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79751,"src":"30483:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":79802,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79781,"src":"30495:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":79800,"name":"ProposalSupportDuplicated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77821,"src":"30457:25:130","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":79803,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30457:40:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":79804,"nodeType":"RevertStatement","src":"30450:47:130"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79787,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":79784,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79781,"src":"30274:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":79785,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79737,"src":"30278:12:130","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":79786,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30291:6:130","memberName":"length","nodeType":"MemberAccess","src":"30278:19:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"30274:23:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":79808,"initializationExpression":{"assignments":[79781],"declarations":[{"constant":false,"id":79781,"mutability":"mutable","name":"j","nameLocation":"30267:1:130","nodeType":"VariableDeclaration","scope":79808,"src":"30259:9:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79780,"name":"uint256","nodeType":"ElementaryTypeName","src":"30259:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":79783,"initialValue":{"hexValue":"30","id":79782,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"30271:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"30259:13:130"},"loopExpression":{"expression":{"id":79789,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"30299:3:130","subExpression":{"id":79788,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79781,"src":"30299:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79790,"nodeType":"ExpressionStatement","src":"30299:3:130"},"nodeType":"ForStatement","src":"30254:318:130"},{"condition":{"id":79810,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"30593:6:130","subExpression":{"id":79809,"name":"exist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79777,"src":"30594:5:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":79858,"nodeType":"IfStatement","src":"30589:361:130","trueBody":{"id":79857,"nodeType":"Block","src":"30601:349:130","statements":[{"assignments":[79815],"declarations":[{"constant":false,"id":79815,"mutability":"mutable","name":"temp","nameLocation":"30640:4:130","nodeType":"VariableDeclaration","scope":79857,"src":"30623:21:130","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":79813,"name":"uint256","nodeType":"ElementaryTypeName","src":"30623:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79814,"nodeType":"ArrayTypeName","src":"30623:9:130","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"id":79824,"initialValue":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79822,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":79819,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79737,"src":"30661:12:130","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":79820,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30674:6:130","memberName":"length","nodeType":"MemberAccess","src":"30661:19:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"31","id":79821,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"30683:1:130","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"30661:23:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":79818,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"30647:13:130","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (uint256[] memory)"},"typeName":{"baseType":{"id":79816,"name":"uint256","nodeType":"ElementaryTypeName","src":"30651:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79817,"nodeType":"ArrayTypeName","src":"30651:9:130","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}}},"id":79823,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30647:38:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"nodeType":"VariableDeclarationStatement","src":"30623:62:130"},{"body":{"id":79844,"nodeType":"Block","src":"30757:74:130","statements":[{"expression":{"id":79842,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":79836,"name":"temp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79815,"src":"30783:4:130","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":79838,"indexExpression":{"id":79837,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79826,"src":"30788:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"30783:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"baseExpression":{"id":79839,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79737,"src":"30793:12:130","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":79841,"indexExpression":{"id":79840,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79826,"src":"30806:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"30793:15:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"30783:25:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79843,"nodeType":"ExpressionStatement","src":"30783:25:130"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79832,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":79829,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79826,"src":"30727:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":79830,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79737,"src":"30731:12:130","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":79831,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30744:6:130","memberName":"length","nodeType":"MemberAccess","src":"30731:19:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"30727:23:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":79845,"initializationExpression":{"assignments":[79826],"declarations":[{"constant":false,"id":79826,"mutability":"mutable","name":"j","nameLocation":"30720:1:130","nodeType":"VariableDeclaration","scope":79845,"src":"30712:9:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79825,"name":"uint256","nodeType":"ElementaryTypeName","src":"30712:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":79828,"initialValue":{"hexValue":"30","id":79827,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"30724:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"30712:13:130"},"loopExpression":{"expression":{"id":79834,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"30752:3:130","subExpression":{"id":79833,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79826,"src":"30752:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79835,"nodeType":"ExpressionStatement","src":"30752:3:130"},"nodeType":"ForStatement","src":"30707:124:130"},{"expression":{"id":79851,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":79846,"name":"temp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79815,"src":"30852:4:130","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":79849,"indexExpression":{"expression":{"id":79847,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79737,"src":"30857:12:130","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":79848,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30870:6:130","memberName":"length","nodeType":"MemberAccess","src":"30857:19:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"30852:25:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":79850,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79751,"src":"30880:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"30852:38:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79852,"nodeType":"ExpressionStatement","src":"30852:38:130"},{"expression":{"id":79855,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":79853,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79737,"src":"30912:12:130","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":79854,"name":"temp","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79815,"src":"30927:4:130","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"src":"30912:19:130","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":79856,"nodeType":"ExpressionStatement","src":"30912:19:130"}]}}]},"id":79860,"nodeType":"IfStatement","src":"30044:920:130","trueBody":{"id":79775,"nodeType":"Block","src":"30074:120:130","statements":[{"expression":{"id":79767,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":79761,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79737,"src":"30092:12:130","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"31","id":79765,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"30121:1:130","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":79764,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"30107:13:130","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (uint256[] memory)"},"typeName":{"baseType":{"id":79762,"name":"uint256","nodeType":"ElementaryTypeName","src":"30111:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79763,"nodeType":"ArrayTypeName","src":"30111:9:130","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}}},"id":79766,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30107:16:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"src":"30092:31:130","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":79768,"nodeType":"ExpressionStatement","src":"30092:31:130"},{"expression":{"id":79773,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":79769,"name":"proposalsIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79737,"src":"30141:12:130","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":79771,"indexExpression":{"hexValue":"30","id":79770,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"30154:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"30141:15:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":79772,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79751,"src":"30159:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"30141:28:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79774,"nodeType":"ExpressionStatement","src":"30141:28:130"}]}},{"assignments":[79862],"declarations":[{"constant":false,"id":79862,"mutability":"mutable","name":"delta","nameLocation":"30984:5:130","nodeType":"VariableDeclaration","scope":80008,"src":"30977:12:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":79861,"name":"int256","nodeType":"ElementaryTypeName","src":"30977:6:130","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"id":79867,"initialValue":{"expression":{"baseExpression":{"id":79863,"name":"_proposalSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79730,"src":"30992:16:130","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$77726_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}},"id":79865,"indexExpression":{"id":79864,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79740,"src":"31009:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"30992:19:130","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$77726_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory"}},"id":79866,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"31012:12:130","memberName":"deltaSupport","nodeType":"MemberAccess","referencedDeclaration":77725,"src":"30992:32:130","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"VariableDeclarationStatement","src":"30977:47:130"},{"assignments":[79872],"declarations":[{"constant":false,"id":79872,"mutability":"mutable","name":"proposal","nameLocation":"31071:8:130","nodeType":"VariableDeclaration","scope":80008,"src":"31039:40:130","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":79871,"nodeType":"UserDefinedTypeName","pathNode":{"id":79870,"name":"StrategyStruct.Proposal","nameLocations":["31039:14:130","31054:8:130"],"nodeType":"IdentifierPath","referencedDeclaration":77721,"src":"31039:23:130"},"referencedDeclaration":77721,"src":"31039:23:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":79876,"initialValue":{"baseExpression":{"id":79873,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77969,"src":"31082:9:130","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$77721_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":79875,"indexExpression":{"id":79874,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79751,"src":"31092:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"31082:21:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"31039:64:130"},{"assignments":[79878],"declarations":[{"constant":false,"id":79878,"mutability":"mutable","name":"previousStakedPoints","nameLocation":"31213:20:130","nodeType":"VariableDeclaration","scope":80008,"src":"31205:28:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79877,"name":"uint256","nodeType":"ElementaryTypeName","src":"31205:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":79883,"initialValue":{"baseExpression":{"expression":{"id":79879,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79872,"src":"31236:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79880,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"31245:17:130","memberName":"voterStakedPoints","nodeType":"MemberAccess","referencedDeclaration":77717,"src":"31236:26:130","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":79882,"indexExpression":{"id":79881,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79726,"src":"31263:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"31236:35:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"31205:66:130"},{"assignments":[79885],"declarations":[{"constant":false,"id":79885,"mutability":"mutable","name":"stakedPoints","nameLocation":"31444:12:130","nodeType":"VariableDeclaration","scope":80008,"src":"31436:20:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79884,"name":"uint256","nodeType":"ElementaryTypeName","src":"31436:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":79890,"initialValue":{"arguments":[{"id":79887,"name":"previousStakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79878,"src":"31471:20:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":79888,"name":"delta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79862,"src":"31493:5:130","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":79886,"name":"_applyDelta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80046,"src":"31459:11:130","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_int256_$returns$_t_uint256_$","typeString":"function (uint256,int256) pure returns (uint256)"}},"id":79889,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31459:40:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"31436:63:130"},{"expression":{"id":79897,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"expression":{"id":79891,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79872,"src":"31634:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79894,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"31643:17:130","memberName":"voterStakedPoints","nodeType":"MemberAccess","referencedDeclaration":77717,"src":"31634:26:130","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":79895,"indexExpression":{"id":79893,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79726,"src":"31661:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"31634:35:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":79896,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79885,"src":"31672:12:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"31634:50:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79898,"nodeType":"ExpressionStatement","src":"31634:50:130"},{"assignments":[79900],"declarations":[{"constant":false,"id":79900,"mutability":"mutable","name":"hasProposal","nameLocation":"31923:11:130","nodeType":"VariableDeclaration","scope":80008,"src":"31918:16:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":79899,"name":"bool","nodeType":"ElementaryTypeName","src":"31918:4:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":79902,"initialValue":{"hexValue":"66616c7365","id":79901,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"31937:5:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"nodeType":"VariableDeclarationStatement","src":"31918:24:130"},{"body":{"id":79931,"nodeType":"Block","src":"32023:179:130","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79923,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"baseExpression":{"id":79916,"name":"voterStakedProposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77978,"src":"32045:20:130","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$","typeString":"mapping(address => uint256[] storage ref)"}},"id":79918,"indexExpression":{"id":79917,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79726,"src":"32066:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"32045:29:130","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage","typeString":"uint256[] storage ref"}},"id":79920,"indexExpression":{"id":79919,"name":"k","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79904,"src":"32075:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"32045:32:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":79921,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79872,"src":"32081:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79922,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"32090:10:130","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":77696,"src":"32081:19:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"32045:55:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":79930,"nodeType":"IfStatement","src":"32041:147:130","trueBody":{"id":79929,"nodeType":"Block","src":"32102:86:130","statements":[{"expression":{"id":79926,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":79924,"name":"hasProposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79900,"src":"32124:11:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":79925,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"32138:4:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"32124:18:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":79927,"nodeType":"ExpressionStatement","src":"32124:18:130"},{"id":79928,"nodeType":"Break","src":"32164:5:130"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79912,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":79907,"name":"k","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79904,"src":"31976:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"baseExpression":{"id":79908,"name":"voterStakedProposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77978,"src":"31980:20:130","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$","typeString":"mapping(address => uint256[] storage ref)"}},"id":79910,"indexExpression":{"id":79909,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79726,"src":"32001:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"31980:29:130","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage","typeString":"uint256[] storage ref"}},"id":79911,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"32010:6:130","memberName":"length","nodeType":"MemberAccess","src":"31980:36:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"31976:40:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":79932,"initializationExpression":{"assignments":[79904],"declarations":[{"constant":false,"id":79904,"mutability":"mutable","name":"k","nameLocation":"31969:1:130","nodeType":"VariableDeclaration","scope":79932,"src":"31961:9:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79903,"name":"uint256","nodeType":"ElementaryTypeName","src":"31961:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":79906,"initialValue":{"hexValue":"30","id":79905,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"31973:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"31961:13:130"},"loopExpression":{"expression":{"id":79914,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"32018:3:130","subExpression":{"id":79913,"name":"k","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79904,"src":"32018:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79915,"nodeType":"ExpressionStatement","src":"32018:3:130"},"nodeType":"ForStatement","src":"31956:246:130"},{"condition":{"id":79934,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"32219:12:130","subExpression":{"id":79933,"name":"hasProposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79900,"src":"32220:11:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":79944,"nodeType":"IfStatement","src":"32215:106:130","trueBody":{"id":79943,"nodeType":"Block","src":"32233:88:130","statements":[{"expression":{"arguments":[{"expression":{"id":79939,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79872,"src":"32286:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79940,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"32295:10:130","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":77696,"src":"32286:19:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"baseExpression":{"id":79935,"name":"voterStakedProposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77978,"src":"32251:20:130","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$","typeString":"mapping(address => uint256[] storage ref)"}},"id":79937,"indexExpression":{"id":79936,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79726,"src":"32272:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"32251:29:130","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage","typeString":"uint256[] storage ref"}},"id":79938,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"32281:4:130","memberName":"push","nodeType":"MemberAccess","src":"32251:34:130","typeDescriptions":{"typeIdentifier":"t_function_arraypush_nonpayable$_t_array$_t_uint256_$dyn_storage_ptr_$_t_uint256_$returns$__$attached_to$_t_array$_t_uint256_$dyn_storage_ptr_$","typeString":"function (uint256[] storage pointer,uint256)"}},"id":79941,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32251:55:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":79942,"nodeType":"ExpressionStatement","src":"32251:55:130"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79947,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":79945,"name":"previousStakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79878,"src":"32476:20:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"id":79946,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79885,"src":"32500:12:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"32476:36:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":79977,"nodeType":"Block","src":"32681:161:130","statements":[{"expression":{"id":79967,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":79963,"name":"totalStaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77942,"src":"32699:11:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79966,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":79964,"name":"previousStakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79878,"src":"32714:20:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":79965,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79885,"src":"32737:12:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"32714:35:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"32699:50:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79968,"nodeType":"ExpressionStatement","src":"32699:50:130"},{"expression":{"id":79975,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":79969,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79872,"src":"32767:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79971,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"32776:12:130","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":77700,"src":"32767:21:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79974,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":79972,"name":"previousStakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79878,"src":"32792:20:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":79973,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79885,"src":"32815:12:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"32792:35:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"32767:60:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79976,"nodeType":"ExpressionStatement","src":"32767:60:130"}]},"id":79978,"nodeType":"IfStatement","src":"32472:370:130","trueBody":{"id":79962,"nodeType":"Block","src":"32514:161:130","statements":[{"expression":{"id":79952,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":79948,"name":"totalStaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77942,"src":"32532:11:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79951,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":79949,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79885,"src":"32547:12:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":79950,"name":"previousStakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79878,"src":"32562:20:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"32547:35:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"32532:50:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79953,"nodeType":"ExpressionStatement","src":"32532:50:130"},{"expression":{"id":79960,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":79954,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79872,"src":"32600:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79956,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"32609:12:130","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":77700,"src":"32600:21:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79959,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":79957,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79885,"src":"32625:12:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":79958,"name":"previousStakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79878,"src":"32640:20:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"32625:35:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"32600:60:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79961,"nodeType":"ExpressionStatement","src":"32600:60:130"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79982,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":79979,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79872,"src":"32859:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79980,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"32868:9:130","memberName":"blockLast","nodeType":"MemberAccess","referencedDeclaration":77710,"src":"32859:18:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":79981,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"32881:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"32859:23:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":80006,"nodeType":"Block","src":"32956:209:130","statements":[{"expression":{"arguments":[{"id":79992,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79872,"src":"33001:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},{"id":79993,"name":"previousStakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79878,"src":"33011:20:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":79991,"name":"_calculateAndSetConviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80339,"src":"32974:26:130","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_Proposal_$77721_storage_ptr_$_t_uint256_$returns$__$","typeString":"function (struct StrategyStruct.Proposal storage pointer,uint256)"}},"id":79994,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32974:58:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":79995,"nodeType":"ExpressionStatement","src":"32974:58:130"},{"eventCall":{"arguments":[{"id":79997,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79726,"src":"33068:7:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":79998,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79751,"src":"33077:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":79999,"name":"stakedPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79885,"src":"33089:12:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":80000,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79872,"src":"33103:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":80001,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"33112:12:130","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":77700,"src":"33103:21:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":80002,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79872,"src":"33126:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":80003,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"33135:14:130","memberName":"convictionLast","nodeType":"MemberAccess","referencedDeclaration":77702,"src":"33126:23:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":79996,"name":"SupportAdded","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77890,"src":"33055:12:130","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (address,uint256,uint256,uint256,uint256)"}},"id":80004,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33055:95:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":80005,"nodeType":"EmitStatement","src":"33050:100:130"}]},"id":80007,"nodeType":"IfStatement","src":"32855:310:130","trueBody":{"id":79990,"nodeType":"Block","src":"32884:66:130","statements":[{"expression":{"id":79988,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":79983,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79872,"src":"32902:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":79985,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"32911:9:130","memberName":"blockLast","nodeType":"MemberAccess","referencedDeclaration":77710,"src":"32902:18:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":79986,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"32923:5:130","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":79987,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"32929:6:130","memberName":"number","nodeType":"MemberAccess","src":"32923:12:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"32902:33:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79989,"nodeType":"ExpressionStatement","src":"32902:33:130"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79746,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":79743,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79740,"src":"29876:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":79744,"name":"_proposalSupport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79730,"src":"29880:16:130","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$77726_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport memory[] memory"}},"id":79745,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"29897:6:130","memberName":"length","nodeType":"MemberAccess","src":"29880:23:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"29876:27:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":80009,"initializationExpression":{"assignments":[79740],"declarations":[{"constant":false,"id":79740,"mutability":"mutable","name":"i","nameLocation":"29869:1:130","nodeType":"VariableDeclaration","scope":80009,"src":"29861:9:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79739,"name":"uint256","nodeType":"ElementaryTypeName","src":"29861:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":79742,"initialValue":{"hexValue":"30","id":79741,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29873:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"29861:13:130"},"loopExpression":{"expression":{"id":79748,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"29905:3:130","subExpression":{"id":79747,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79740,"src":"29905:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79749,"nodeType":"ExpressionStatement","src":"29905:3:130"},"nodeType":"ForStatement","src":"29856:3319:130"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_addSupport","nameLocation":"29711:11:130","parameters":{"id":79731,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79726,"mutability":"mutable","name":"_sender","nameLocation":"29731:7:130","nodeType":"VariableDeclaration","scope":80011,"src":"29723:15:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":79725,"name":"address","nodeType":"ElementaryTypeName","src":"29723:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":79730,"mutability":"mutable","name":"_proposalSupport","nameLocation":"29780:16:130","nodeType":"VariableDeclaration","scope":80011,"src":"29740:56:130","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$77726_memory_ptr_$dyn_memory_ptr","typeString":"struct StrategyStruct.ProposalSupport[]"},"typeName":{"baseType":{"id":79728,"nodeType":"UserDefinedTypeName","pathNode":{"id":79727,"name":"StrategyStruct.ProposalSupport","nameLocations":["29740:14:130","29755:15:130"],"nodeType":"IdentifierPath","referencedDeclaration":77726,"src":"29740:30:130"},"referencedDeclaration":77726,"src":"29740:30:130","typeDescriptions":{"typeIdentifier":"t_struct$_ProposalSupport_$77726_storage_ptr","typeString":"struct StrategyStruct.ProposalSupport"}},"id":79729,"nodeType":"ArrayTypeName","src":"29740:32:130","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_ProposalSupport_$77726_storage_$dyn_storage_ptr","typeString":"struct StrategyStruct.ProposalSupport[]"}},"visibility":"internal"}],"src":"29722:75:130"},"returnParameters":{"id":79732,"nodeType":"ParameterList","parameters":[],"src":"29807:0:130"},"scope":80578,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":80046,"nodeType":"FunctionDefinition","src":"33187:276:130","nodes":[],"body":{"id":80045,"nodeType":"Block","src":"33273:190:130","nodes":[],"statements":[{"assignments":[80021],"declarations":[{"constant":false,"id":80021,"mutability":"mutable","name":"result","nameLocation":"33290:6:130","nodeType":"VariableDeclaration","scope":80045,"src":"33283:13:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":80020,"name":"int256","nodeType":"ElementaryTypeName","src":"33283:6:130","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"id":80028,"initialValue":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":80027,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":80024,"name":"_support","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80013,"src":"33306:8:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":80023,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"33299:6:130","typeDescriptions":{"typeIdentifier":"t_type$_t_int256_$","typeString":"type(int256)"},"typeName":{"id":80022,"name":"int256","nodeType":"ElementaryTypeName","src":"33299:6:130","typeDescriptions":{}}},"id":80025,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33299:16:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":80026,"name":"_delta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80015,"src":"33318:6:130","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"33299:25:130","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"VariableDeclarationStatement","src":"33283:41:130"},{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":80031,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":80029,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80021,"src":"33339:6:130","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"hexValue":"30","id":80030,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"33348:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"33339:10:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":80039,"nodeType":"IfStatement","src":"33335:90:130","trueBody":{"id":80038,"nodeType":"Block","src":"33351:74:130","statements":[{"errorCall":{"arguments":[{"id":80033,"name":"_support","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80013,"src":"33389:8:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":80034,"name":"_delta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80015,"src":"33399:6:130","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":80035,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80021,"src":"33407:6:130","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":80032,"name":"SupportUnderflow","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77793,"src":"33372:16:130","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_int256_$_t_int256_$returns$__$","typeString":"function (uint256,int256,int256) pure"}},"id":80036,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33372:42:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":80037,"nodeType":"RevertStatement","src":"33365:49:130"}]}},{"expression":{"arguments":[{"id":80042,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80021,"src":"33449:6:130","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":80041,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"33441:7:130","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":80040,"name":"uint256","nodeType":"ElementaryTypeName","src":"33441:7:130","typeDescriptions":{}}},"id":80043,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33441:15:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":80019,"id":80044,"nodeType":"Return","src":"33434:22:130"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_applyDelta","nameLocation":"33196:11:130","parameters":{"id":80016,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80013,"mutability":"mutable","name":"_support","nameLocation":"33216:8:130","nodeType":"VariableDeclaration","scope":80046,"src":"33208:16:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80012,"name":"uint256","nodeType":"ElementaryTypeName","src":"33208:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":80015,"mutability":"mutable","name":"_delta","nameLocation":"33233:6:130","nodeType":"VariableDeclaration","scope":80046,"src":"33226:13:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":80014,"name":"int256","nodeType":"ElementaryTypeName","src":"33226:6:130","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"33207:33:130"},"returnParameters":{"id":80019,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80018,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":80046,"src":"33264:7:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80017,"name":"uint256","nodeType":"ElementaryTypeName","src":"33264:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"33263:9:130"},"scope":80578,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":80102,"nodeType":"FunctionDefinition","src":"33880:1145:130","nodes":[],"body":{"id":80101,"nodeType":"Block","src":"34027:998:130","nodes":[],"statements":[{"assignments":[80059],"declarations":[{"constant":false,"id":80059,"mutability":"mutable","name":"t","nameLocation":"34045:1:130","nodeType":"VariableDeclaration","scope":80101,"src":"34037:9:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80058,"name":"uint256","nodeType":"ElementaryTypeName","src":"34037:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":80061,"initialValue":{"id":80060,"name":"_timePassed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80049,"src":"34049:11:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"34037:23:130"},{"assignments":[80063],"declarations":[{"constant":false,"id":80063,"mutability":"mutable","name":"atTWO_128","nameLocation":"34383:9:130","nodeType":"VariableDeclaration","scope":80101,"src":"34375:17:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80062,"name":"uint256","nodeType":"ElementaryTypeName","src":"34375:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":80073,"initialValue":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80070,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80067,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":80065,"name":"decay","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77933,"src":"34401:5:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"313238","id":80066,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"34410:3:130","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"34401:12:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":80068,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"34400:14:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":80069,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77919,"src":"34417:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"34400:18:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":80071,"name":"t","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80059,"src":"34420:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":80064,"name":"_pow","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80290,"src":"34395:4:130","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":80072,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34395:27:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"34375:47:130"},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80099,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80096,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80093,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80076,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":80074,"name":"atTWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80063,"src":"34918:9:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":80075,"name":"_lastConv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80051,"src":"34930:9:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"34918:21:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":80077,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"34917:23:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80091,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80085,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80080,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":80078,"name":"_oldAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80053,"src":"34945:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":80079,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77919,"src":"34958:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"34945:14:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80083,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":80081,"name":"TWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77922,"src":"34963:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":80082,"name":"atTWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80063,"src":"34973:9:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"34963:19:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":80084,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"34962:21:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"34945:38:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":80086,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"34944:40:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80089,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":80087,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77919,"src":"34988:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":80088,"name":"decay","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77933,"src":"34992:5:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"34988:9:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":80090,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"34987:11:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"34944:54:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":80092,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"34943:56:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"34917:82:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":80094,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"34916:84:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":80095,"name":"TWO_127","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77925,"src":"35003:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"34916:94:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":80097,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"34915:96:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"313238","id":80098,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"35015:3:130","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"34915:103:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":80057,"id":80100,"nodeType":"Return","src":"34908:110:130"}]},"documentation":{"id":80047,"nodeType":"StructuredDocumentation","src":"33469:406:130","text":" @dev Conviction formula: a^t * y(0) + x * (1 - a^t) / (1 - a)\n Solidity implementation: y = (2^128 * a^t * y0 + x * D * (2^128 - 2^128 * a^t) / (D - aD) + 2^127) / 2^128\n @param _timePassed Number of blocks since last conviction record\n @param _lastConv Last conviction record\n @param _oldAmount Amount of tokens staked until now\n @return Current conviction"},"functionSelector":"346db8cb","implemented":true,"kind":"function","modifiers":[],"name":"calculateConviction","nameLocation":"33889:19:130","parameters":{"id":80054,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80049,"mutability":"mutable","name":"_timePassed","nameLocation":"33917:11:130","nodeType":"VariableDeclaration","scope":80102,"src":"33909:19:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80048,"name":"uint256","nodeType":"ElementaryTypeName","src":"33909:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":80051,"mutability":"mutable","name":"_lastConv","nameLocation":"33938:9:130","nodeType":"VariableDeclaration","scope":80102,"src":"33930:17:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80050,"name":"uint256","nodeType":"ElementaryTypeName","src":"33930:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":80053,"mutability":"mutable","name":"_oldAmount","nameLocation":"33957:10:130","nodeType":"VariableDeclaration","scope":80102,"src":"33949:18:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80052,"name":"uint256","nodeType":"ElementaryTypeName","src":"33949:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"33908:60:130"},"returnParameters":{"id":80057,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80056,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":80102,"src":"34014:7:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80055,"name":"uint256","nodeType":"ElementaryTypeName","src":"34014:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"34013:9:130"},"scope":80578,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":80190,"nodeType":"FunctionDefinition","src":"35606:1482:130","nodes":[],"body":{"id":80189,"nodeType":"Block","src":"35701:1387:130","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80112,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":80110,"name":"poolAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74092,"src":"35835:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"hexValue":"30","id":80111,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"35849:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"35835:15:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":80117,"nodeType":"IfStatement","src":"35831:66:130","trueBody":{"id":80116,"nodeType":"Block","src":"35852:45:130","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":80113,"name":"PoolIsEmpty","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77771,"src":"35873:11:130","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":80114,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35873:13:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":80115,"nodeType":"RevertStatement","src":"35866:20:130"}]}},{"condition":{"arguments":[{"id":80119,"name":"_requestedAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80105,"src":"36353:16:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":80118,"name":"_isOverMaxRatio","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79628,"src":"36337:15:130","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view returns (bool)"}},"id":80120,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36337:33:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":80125,"nodeType":"IfStatement","src":"36333:91:130","trueBody":{"id":80124,"nodeType":"Block","src":"36372:52:130","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":80121,"name":"AmountOverMaxRatio","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77779,"src":"36393:18:130","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":80122,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36393:20:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":80123,"nodeType":"RevertStatement","src":"36386:27:130"}]}},{"assignments":[80127],"declarations":[{"constant":false,"id":80127,"mutability":"mutable","name":"denom","nameLocation":"36580:5:130","nodeType":"VariableDeclaration","scope":80189,"src":"36572:13:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80126,"name":"uint256","nodeType":"ElementaryTypeName","src":"36572:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":80145,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80144,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80135,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80132,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":80128,"name":"maxRatio","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77935,"src":"36589:8:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"commonType":{"typeIdentifier":"t_rational_18446744073709551616_by_1","typeString":"int_const 18446744073709551616"},"id":80131,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"32","id":80129,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"36600:1:130","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"3634","id":80130,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"36605:2:130","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"36600:7:130","typeDescriptions":{"typeIdentifier":"t_rational_18446744073709551616_by_1","typeString":"int_const 18446744073709551616"}},"src":"36589:18:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":80133,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"36588:20:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":80134,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77919,"src":"36611:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"36588:24:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80143,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80140,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":80136,"name":"_requestedAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80105,"src":"36616:16:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"commonType":{"typeIdentifier":"t_rational_18446744073709551616_by_1","typeString":"int_const 18446744073709551616"},"id":80139,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"32","id":80137,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"36635:1:130","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"3634","id":80138,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"36640:2:130","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"36635:7:130","typeDescriptions":{"typeIdentifier":"t_rational_18446744073709551616_by_1","typeString":"int_const 18446744073709551616"}},"src":"36616:26:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":80141,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"36615:28:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":80142,"name":"poolAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74092,"src":"36646:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"36615:41:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"36588:68:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"36572:84:130"},{"expression":{"id":80178,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":80146,"name":"_threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80108,"src":"36666:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80177,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80174,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80170,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80164,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80161,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80152,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80149,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":80147,"name":"weight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77937,"src":"36698:6:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"313238","id":80148,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"36708:3:130","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"36698:13:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":80150,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"36697:15:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":80151,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77919,"src":"36715:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"36697:19:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":80153,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"36696:21:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80159,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80156,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":80154,"name":"denom","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80127,"src":"36722:5:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":80155,"name":"denom","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80127,"src":"36730:5:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"36722:13:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":80157,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"36721:15:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"3634","id":80158,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"36740:2:130","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"36721:21:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":80160,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"36720:23:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"36696:47:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":80162,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"36695:49:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":80163,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77919,"src":"36747:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"36695:53:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":80165,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"36694:55:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80168,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":80166,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77919,"src":"36753:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":80167,"name":"decay","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77933,"src":"36757:5:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"36753:9:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":80169,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"36752:11:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"36694:69:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":80171,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"36693:71:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":80172,"name":"totalEffectiveActivePoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80298,"src":"36767:26:130","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint256_$","typeString":"function () view returns (uint256)"}},"id":80173,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36767:28:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"36693:102:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":80175,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"36679:126:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"3634","id":80176,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"36809:2:130","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"36679:132:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"36666:145:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":80179,"nodeType":"ExpressionStatement","src":"36666:145:130"},{"expression":{"id":80187,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":80180,"name":"_threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80108,"src":"37001:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80183,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":80181,"name":"_threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80108,"src":"37014:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":80182,"name":"_minThresholdPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77947,"src":"37027:19:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"37014:32:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"id":80185,"name":"_minThresholdPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77947,"src":"37062:19:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":80186,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"37014:67:130","trueExpression":{"id":80184,"name":"_threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80108,"src":"37049:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"37001:80:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":80188,"nodeType":"ExpressionStatement","src":"37001:80:130"}]},"documentation":{"id":80103,"nodeType":"StructuredDocumentation","src":"35031:570:130","text":" @dev Formula: ρ * totalStaked / (1 - a) / (β - requestedAmount / total)**2\n For the Solidity implementation we amplify ρ and β and simplify the formula:\n weight = ρ * D\n maxRatio = β * D\n decay = a * D\n threshold = weight * totalStaked * D ** 2 * funds ** 2 / (D - decay) / (maxRatio * funds - requestedAmount * D) ** 2\n @param _requestedAmount Requested amount of tokens on certain proposal\n @return _threshold Threshold a proposal's conviction should surpass in order to be able to\n executed it."},"functionSelector":"59a5db8b","implemented":true,"kind":"function","modifiers":[],"name":"calculateThreshold","nameLocation":"35615:18:130","parameters":{"id":80106,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80105,"mutability":"mutable","name":"_requestedAmount","nameLocation":"35642:16:130","nodeType":"VariableDeclaration","scope":80190,"src":"35634:24:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80104,"name":"uint256","nodeType":"ElementaryTypeName","src":"35634:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"35633:26:130"},"returnParameters":{"id":80109,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80108,"mutability":"mutable","name":"_threshold","nameLocation":"35689:10:130","nodeType":"VariableDeclaration","scope":80190,"src":"35681:18:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80107,"name":"uint256","nodeType":"ElementaryTypeName","src":"35681:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"35680:20:130"},"scope":80578,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":80225,"nodeType":"FunctionDefinition","src":"37349:269:130","nodes":[],"body":{"id":80224,"nodeType":"Block","src":"37427:191:130","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80203,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":80201,"name":"_a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80193,"src":"37445:2:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"id":80202,"name":"TWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77922,"src":"37451:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"37445:13:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5f612073686f756c64206265206c657373207468616e206f7220657175616c20746f20325e313238","id":80204,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"37460:42:130","typeDescriptions":{"typeIdentifier":"t_stringliteral_44e2d05298e19dba9341288d7967f4ffbb5a083f725e2470963d4d2d80484153","typeString":"literal_string \"_a should be less than or equal to 2^128\""},"value":"_a should be less than or equal to 2^128"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_44e2d05298e19dba9341288d7967f4ffbb5a083f725e2470963d4d2d80484153","typeString":"literal_string \"_a should be less than or equal to 2^128\""}],"id":80200,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"37437:7:130","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":80205,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37437:66:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":80206,"nodeType":"ExpressionStatement","src":"37437:66:130"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80210,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":80208,"name":"_b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80195,"src":"37521:2:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":80209,"name":"TWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77922,"src":"37526:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"37521:12:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5f622073686f756c64206265206c657373207468616e20325e313238","id":80211,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"37535:30:130","typeDescriptions":{"typeIdentifier":"t_stringliteral_94029ed39d36fd1673853e0d61636cb1f54d05801d9baceb39b21e0f4420d664","typeString":"literal_string \"_b should be less than 2^128\""},"value":"_b should be less than 2^128"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_94029ed39d36fd1673853e0d61636cb1f54d05801d9baceb39b21e0f4420d664","typeString":"literal_string \"_b should be less than 2^128\""}],"id":80207,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"37513:7:130","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":80212,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37513:53:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":80213,"nodeType":"ExpressionStatement","src":"37513:53:130"},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80222,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80219,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80216,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":80214,"name":"_a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80193,"src":"37585:2:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":80215,"name":"_b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80195,"src":"37590:2:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"37585:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":80217,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"37584:9:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":80218,"name":"TWO_127","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77925,"src":"37596:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"37584:19:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":80220,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"37583:21:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"313238","id":80221,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"37608:3:130","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"37583:28:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":80199,"id":80223,"nodeType":"Return","src":"37576:35:130"}]},"documentation":{"id":80191,"nodeType":"StructuredDocumentation","src":"37094:250:130","text":" Multiply _a by _b / 2^128. Parameter _a should be less than or equal to\n 2^128 and parameter _b should be less than 2^128.\n @param _a left argument\n @param _b right argument\n @return _result _a * _b / 2^128"},"implemented":true,"kind":"function","modifiers":[],"name":"_mul","nameLocation":"37358:4:130","parameters":{"id":80196,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80193,"mutability":"mutable","name":"_a","nameLocation":"37371:2:130","nodeType":"VariableDeclaration","scope":80225,"src":"37363:10:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80192,"name":"uint256","nodeType":"ElementaryTypeName","src":"37363:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":80195,"mutability":"mutable","name":"_b","nameLocation":"37383:2:130","nodeType":"VariableDeclaration","scope":80225,"src":"37375:10:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80194,"name":"uint256","nodeType":"ElementaryTypeName","src":"37375:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"37362:24:130"},"returnParameters":{"id":80199,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80198,"mutability":"mutable","name":"_result","nameLocation":"37418:7:130","nodeType":"VariableDeclaration","scope":80225,"src":"37410:15:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80197,"name":"uint256","nodeType":"ElementaryTypeName","src":"37410:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"37409:17:130"},"scope":80578,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":80290,"nodeType":"FunctionDefinition","src":"37840:447:130","nodes":[],"body":{"id":80289,"nodeType":"Block","src":"37918:369:130","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80238,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":80236,"name":"_a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80228,"src":"37936:2:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":80237,"name":"TWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77922,"src":"37941:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"37936:12:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5f612073686f756c64206265206c657373207468616e20325e313238","id":80239,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"37950:30:130","typeDescriptions":{"typeIdentifier":"t_stringliteral_8cb59667c527f8a0ca0170161b6ece5e9864e8aa2d080a486f0167056517515f","typeString":"literal_string \"_a should be less than 2^128\""},"value":"_a should be less than 2^128"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_8cb59667c527f8a0ca0170161b6ece5e9864e8aa2d080a486f0167056517515f","typeString":"literal_string \"_a should be less than 2^128\""}],"id":80235,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"37928:7:130","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":80240,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37928:53:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":80241,"nodeType":"ExpressionStatement","src":"37928:53:130"},{"assignments":[80243],"declarations":[{"constant":false,"id":80243,"mutability":"mutable","name":"a","nameLocation":"37999:1:130","nodeType":"VariableDeclaration","scope":80289,"src":"37991:9:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80242,"name":"uint256","nodeType":"ElementaryTypeName","src":"37991:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":80245,"initialValue":{"id":80244,"name":"_a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80228,"src":"38003:2:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"37991:14:130"},{"assignments":[80247],"declarations":[{"constant":false,"id":80247,"mutability":"mutable","name":"b","nameLocation":"38023:1:130","nodeType":"VariableDeclaration","scope":80289,"src":"38015:9:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80246,"name":"uint256","nodeType":"ElementaryTypeName","src":"38015:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":80249,"initialValue":{"id":80248,"name":"_b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80230,"src":"38027:2:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"38015:14:130"},{"expression":{"id":80252,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":80250,"name":"_result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80233,"src":"38039:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":80251,"name":"TWO_128","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77922,"src":"38049:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"38039:17:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":80253,"nodeType":"ExpressionStatement","src":"38039:17:130"},{"body":{"id":80287,"nodeType":"Block","src":"38080:201:130","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80261,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80259,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":80257,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80247,"src":"38098:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"hexValue":"31","id":80258,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"38102:1:130","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"38098:5:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":80260,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"38107:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"38098:10:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":80285,"nodeType":"Block","src":"38188:83:130","statements":[{"expression":{"id":80279,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":80274,"name":"_result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80233,"src":"38206:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":80276,"name":"_result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80233,"src":"38221:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":80277,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80243,"src":"38230:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":80275,"name":"_mul","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80225,"src":"38216:4:130","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":80278,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38216:16:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"38206:26:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":80280,"nodeType":"ExpressionStatement","src":"38206:26:130"},{"expression":{"id":80283,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":80281,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80247,"src":"38250:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"hexValue":"31","id":80282,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"38255:1:130","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"38250:6:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":80284,"nodeType":"ExpressionStatement","src":"38250:6:130"}]},"id":80286,"nodeType":"IfStatement","src":"38094:177:130","trueBody":{"id":80273,"nodeType":"Block","src":"38110:72:130","statements":[{"expression":{"id":80267,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":80262,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80243,"src":"38128:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":80264,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80243,"src":"38137:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":80265,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80243,"src":"38140:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":80263,"name":"_mul","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80225,"src":"38132:4:130","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":80266,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38132:10:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"38128:14:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":80268,"nodeType":"ExpressionStatement","src":"38128:14:130"},{"expression":{"id":80271,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":80269,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80247,"src":"38160:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":">>=","rightHandSide":{"hexValue":"31","id":80270,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"38166:1:130","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"38160:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":80272,"nodeType":"ExpressionStatement","src":"38160:7:130"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80256,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":80254,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80247,"src":"38073:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":80255,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"38077:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"38073:5:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":80288,"nodeType":"WhileStatement","src":"38066:215:130"}]},"documentation":{"id":80226,"nodeType":"StructuredDocumentation","src":"37624:211:130","text":" Calculate (_a / 2^128)^_b * 2^128. Parameter _a should be less than 2^128.\n @param _a left argument\n @param _b right argument\n @return _result (_a / 2^128)^_b * 2^128"},"implemented":true,"kind":"function","modifiers":[],"name":"_pow","nameLocation":"37849:4:130","parameters":{"id":80231,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80228,"mutability":"mutable","name":"_a","nameLocation":"37862:2:130","nodeType":"VariableDeclaration","scope":80290,"src":"37854:10:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80227,"name":"uint256","nodeType":"ElementaryTypeName","src":"37854:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":80230,"mutability":"mutable","name":"_b","nameLocation":"37874:2:130","nodeType":"VariableDeclaration","scope":80290,"src":"37866:10:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80229,"name":"uint256","nodeType":"ElementaryTypeName","src":"37866:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"37853:24:130"},"returnParameters":{"id":80234,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80233,"mutability":"mutable","name":"_result","nameLocation":"37909:7:130","nodeType":"VariableDeclaration","scope":80290,"src":"37901:15:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80232,"name":"uint256","nodeType":"ElementaryTypeName","src":"37901:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"37900:17:130"},"scope":80578,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":80298,"nodeType":"FunctionDefinition","src":"38293:112:130","nodes":[],"body":{"id":80297,"nodeType":"Block","src":"38361:44:130","nodes":[],"statements":[{"expression":{"id":80295,"name":"totalPointsActivated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77944,"src":"38378:20:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":80294,"id":80296,"nodeType":"Return","src":"38371:27:130"}]},"functionSelector":"d1e36232","implemented":true,"kind":"function","modifiers":[],"name":"totalEffectiveActivePoints","nameLocation":"38302:26:130","parameters":{"id":80291,"nodeType":"ParameterList","parameters":[],"src":"38328:2:130"},"returnParameters":{"id":80294,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80293,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":80298,"src":"38352:7:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80292,"name":"uint256","nodeType":"ElementaryTypeName","src":"38352:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"38351:9:130"},"scope":80578,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":80339,"nodeType":"FunctionDefinition","src":"38595:396:130","nodes":[],"body":{"id":80338,"nodeType":"Block","src":"38703:288:130","nodes":[],"statements":[{"assignments":[80308,80310],"declarations":[{"constant":false,"id":80308,"mutability":"mutable","name":"conviction","nameLocation":"38722:10:130","nodeType":"VariableDeclaration","scope":80338,"src":"38714:18:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80307,"name":"uint256","nodeType":"ElementaryTypeName","src":"38714:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":80310,"mutability":"mutable","name":"blockNumber","nameLocation":"38742:11:130","nodeType":"VariableDeclaration","scope":80338,"src":"38734:19:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80309,"name":"uint256","nodeType":"ElementaryTypeName","src":"38734:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":80315,"initialValue":{"arguments":[{"id":80312,"name":"_proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80302,"src":"38791:9:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},{"id":80313,"name":"_oldStaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80304,"src":"38802:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":80311,"name":"_checkBlockAndCalculateConviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80386,"src":"38757:33:130","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Proposal_$77721_storage_ptr_$_t_uint256_$returns$_t_uint256_$_t_uint256_$","typeString":"function (struct StrategyStruct.Proposal storage pointer,uint256) view returns (uint256,uint256)"}},"id":80314,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38757:56:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_uint256_$","typeString":"tuple(uint256,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"38713:100:130"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":80322,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80318,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":80316,"name":"conviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80308,"src":"38827:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":80317,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"38841:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"38827:15:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80321,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":80319,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80310,"src":"38846:11:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":80320,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"38861:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"38846:16:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"38827:35:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":80325,"nodeType":"IfStatement","src":"38823:72:130","trueBody":{"id":80324,"nodeType":"Block","src":"38864:31:130","statements":[{"functionReturnParameters":80306,"id":80323,"nodeType":"Return","src":"38878:7:130"}]}},{"expression":{"id":80330,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":80326,"name":"_proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80302,"src":"38904:9:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":80328,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"38914:9:130","memberName":"blockLast","nodeType":"MemberAccess","referencedDeclaration":77710,"src":"38904:19:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":80329,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80310,"src":"38926:11:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"38904:33:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":80331,"nodeType":"ExpressionStatement","src":"38904:33:130"},{"expression":{"id":80336,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":80332,"name":"_proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80302,"src":"38947:9:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":80334,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"38957:14:130","memberName":"convictionLast","nodeType":"MemberAccess","referencedDeclaration":77702,"src":"38947:24:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":80335,"name":"conviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80308,"src":"38974:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"38947:37:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":80337,"nodeType":"ExpressionStatement","src":"38947:37:130"}]},"documentation":{"id":80299,"nodeType":"StructuredDocumentation","src":"38411:179:130","text":" @dev Calculate conviction and store it on the proposal\n @param _proposal Proposal\n @param _oldStaked Amount of tokens staked on a proposal until now"},"implemented":true,"kind":"function","modifiers":[],"name":"_calculateAndSetConviction","nameLocation":"38604:26:130","parameters":{"id":80305,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80302,"mutability":"mutable","name":"_proposal","nameLocation":"38663:9:130","nodeType":"VariableDeclaration","scope":80339,"src":"38631:41:130","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":80301,"nodeType":"UserDefinedTypeName","pathNode":{"id":80300,"name":"StrategyStruct.Proposal","nameLocations":["38631:14:130","38646:8:130"],"nodeType":"IdentifierPath","referencedDeclaration":77721,"src":"38631:23:130"},"referencedDeclaration":77721,"src":"38631:23:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"},{"constant":false,"id":80304,"mutability":"mutable","name":"_oldStaked","nameLocation":"38682:10:130","nodeType":"VariableDeclaration","scope":80339,"src":"38674:18:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80303,"name":"uint256","nodeType":"ElementaryTypeName","src":"38674:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"38630:63:130"},"returnParameters":{"id":80306,"nodeType":"ParameterList","parameters":[],"src":"38703:0:130"},"scope":80578,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":80386,"nodeType":"FunctionDefinition","src":"38997:719:130","nodes":[],"body":{"id":80385,"nodeType":"Block","src":"39195:521:130","nodes":[],"statements":[{"expression":{"id":80354,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":80351,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80349,"src":"39205:11:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":80352,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"39219:5:130","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":80353,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"39225:6:130","memberName":"number","nodeType":"MemberAccess","src":"39219:12:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"39205:26:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":80355,"nodeType":"ExpressionStatement","src":"39205:26:130"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80360,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":80357,"name":"_proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80342,"src":"39248:9:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":80358,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"39258:9:130","memberName":"blockLast","nodeType":"MemberAccess","referencedDeclaration":77710,"src":"39248:19:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"id":80359,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80349,"src":"39271:11:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"39248:34:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":80356,"name":"assert","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-3,"src":"39241:6:130","typeDescriptions":{"typeIdentifier":"t_function_assert_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":80361,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"39241:42:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":80362,"nodeType":"ExpressionStatement","src":"39241:42:130"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80366,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":80363,"name":"_proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80342,"src":"39297:9:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":80364,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"39307:9:130","memberName":"blockLast","nodeType":"MemberAccess","referencedDeclaration":77710,"src":"39297:19:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":80365,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80349,"src":"39320:11:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"39297:34:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":80372,"nodeType":"IfStatement","src":"39293:173:130","trueBody":{"id":80371,"nodeType":"Block","src":"39333:133:130","statements":[{"expression":{"components":[{"hexValue":"30","id":80367,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"39421:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":80368,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"39424:1:130","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"id":80369,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"39420:6:130","typeDescriptions":{"typeIdentifier":"t_tuple$_t_rational_0_by_1_$_t_rational_0_by_1_$","typeString":"tuple(int_const 0,int_const 0)"}},"functionReturnParameters":80350,"id":80370,"nodeType":"Return","src":"39413:13:130"}]}},{"expression":{"id":80383,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":80373,"name":"conviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80347,"src":"39519:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80378,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":80375,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80349,"src":"39565:11:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"expression":{"id":80376,"name":"_proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80342,"src":"39579:9:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":80377,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"39589:9:130","memberName":"blockLast","nodeType":"MemberAccess","referencedDeclaration":77710,"src":"39579:19:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"39565:33:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":80379,"name":"_proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80342,"src":"39651:9:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":80380,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"39661:14:130","memberName":"convictionLast","nodeType":"MemberAccess","referencedDeclaration":77702,"src":"39651:24:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":80381,"name":"_oldStaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80344,"src":"39689:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":80374,"name":"calculateConviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80102,"src":"39532:19:130","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256,uint256) view returns (uint256)"}},"id":80382,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"39532:177:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"39519:190:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":80384,"nodeType":"ExpressionStatement","src":"39519:190:130"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_checkBlockAndCalculateConviction","nameLocation":"39006:33:130","parameters":{"id":80345,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80342,"mutability":"mutable","name":"_proposal","nameLocation":"39072:9:130","nodeType":"VariableDeclaration","scope":80386,"src":"39040:41:130","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":80341,"nodeType":"UserDefinedTypeName","pathNode":{"id":80340,"name":"StrategyStruct.Proposal","nameLocations":["39040:14:130","39055:8:130"],"nodeType":"IdentifierPath","referencedDeclaration":77721,"src":"39040:23:130"},"referencedDeclaration":77721,"src":"39040:23:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"},{"constant":false,"id":80344,"mutability":"mutable","name":"_oldStaked","nameLocation":"39091:10:130","nodeType":"VariableDeclaration","scope":80386,"src":"39083:18:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80343,"name":"uint256","nodeType":"ElementaryTypeName","src":"39083:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"39039:63:130"},"returnParameters":{"id":80350,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80347,"mutability":"mutable","name":"conviction","nameLocation":"39158:10:130","nodeType":"VariableDeclaration","scope":80386,"src":"39150:18:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80346,"name":"uint256","nodeType":"ElementaryTypeName","src":"39150:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":80349,"mutability":"mutable","name":"blockNumber","nameLocation":"39178:11:130","nodeType":"VariableDeclaration","scope":80386,"src":"39170:19:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80348,"name":"uint256","nodeType":"ElementaryTypeName","src":"39170:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"39149:41:130"},"scope":80578,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":80434,"nodeType":"FunctionDefinition","src":"39722:520:130","nodes":[],"body":{"id":80433,"nodeType":"Block","src":"39801:441:130","nodes":[],"statements":[{"assignments":[80397],"declarations":[{"constant":false,"id":80397,"mutability":"mutable","name":"proposal","nameLocation":"39843:8:130","nodeType":"VariableDeclaration","scope":80433,"src":"39811:40:130","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal"},"typeName":{"id":80396,"nodeType":"UserDefinedTypeName","pathNode":{"id":80395,"name":"StrategyStruct.Proposal","nameLocations":["39811:14:130","39826:8:130"],"nodeType":"IdentifierPath","referencedDeclaration":77721,"src":"39811:23:130"},"referencedDeclaration":77721,"src":"39811:23:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal"}},"visibility":"internal"}],"id":80401,"initialValue":{"baseExpression":{"id":80398,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77969,"src":"39854:9:130","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Proposal_$77721_storage_$","typeString":"mapping(uint256 => struct StrategyStruct.Proposal storage ref)"}},"id":80400,"indexExpression":{"id":80399,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80388,"src":"39864:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"39854:21:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage","typeString":"struct StrategyStruct.Proposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"39811:64:130"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80405,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":80402,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80397,"src":"39890:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":80403,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"39899:10:130","memberName":"proposalId","nodeType":"MemberAccess","referencedDeclaration":77696,"src":"39890:19:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":80404,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80388,"src":"39913:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"39890:33:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":80411,"nodeType":"IfStatement","src":"39886:100:130","trueBody":{"id":80410,"nodeType":"Block","src":"39925:61:130","statements":[{"errorCall":{"arguments":[{"id":80407,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80388,"src":"39964:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":80406,"name":"ProposalNotInList","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77815,"src":"39946:17:130","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":80408,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"39946:29:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":80409,"nodeType":"RevertStatement","src":"39939:36:130"}]}},{"condition":{"commonType":{"typeIdentifier":"t_enum$_ProposalStatus_$77694","typeString":"enum StrategyStruct.ProposalStatus"},"id":80417,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":80412,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80397,"src":"40000:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":80413,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"40009:14:130","memberName":"proposalStatus","nodeType":"MemberAccess","referencedDeclaration":77713,"src":"40000:23:130","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$77694","typeString":"enum StrategyStruct.ProposalStatus"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"expression":{"id":80414,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77752,"src":"40027:14:130","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$77752_$","typeString":"type(library StrategyStruct)"}},"id":80415,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"40042:14:130","memberName":"ProposalStatus","nodeType":"MemberAccess","referencedDeclaration":77694,"src":"40027:29:130","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ProposalStatus_$77694_$","typeString":"type(enum StrategyStruct.ProposalStatus)"}},"id":80416,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"40057:6:130","memberName":"Active","nodeType":"MemberAccess","referencedDeclaration":77690,"src":"40027:36:130","typeDescriptions":{"typeIdentifier":"t_enum$_ProposalStatus_$77694","typeString":"enum StrategyStruct.ProposalStatus"}},"src":"40000:63:130","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":80423,"nodeType":"IfStatement","src":"39996:130:130","trueBody":{"id":80422,"nodeType":"Block","src":"40065:61:130","statements":[{"errorCall":{"arguments":[{"id":80419,"name":"proposalId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80388,"src":"40104:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":80418,"name":"ProposalNotActive","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77811,"src":"40086:17:130","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":80420,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"40086:29:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":80421,"nodeType":"RevertStatement","src":"40079:36:130"}]}},{"expression":{"arguments":[{"id":80425,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80397,"src":"40163:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},{"expression":{"id":80426,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80397,"src":"40173:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":80427,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"40182:12:130","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":77700,"src":"40173:21:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":80424,"name":"_calculateAndSetConviction","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80339,"src":"40136:26:130","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_Proposal_$77721_storage_ptr_$_t_uint256_$returns$__$","typeString":"function (struct StrategyStruct.Proposal storage pointer,uint256)"}},"id":80428,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"40136:59:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":80429,"nodeType":"ExpressionStatement","src":"40136:59:130"},{"expression":{"expression":{"id":80430,"name":"proposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80397,"src":"40212:8:130","typeDescriptions":{"typeIdentifier":"t_struct$_Proposal_$77721_storage_ptr","typeString":"struct StrategyStruct.Proposal storage pointer"}},"id":80431,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"40221:14:130","memberName":"convictionLast","nodeType":"MemberAccess","referencedDeclaration":77702,"src":"40212:23:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":80392,"id":80432,"nodeType":"Return","src":"40205:30:130"}]},"functionSelector":"1aa91a9e","implemented":true,"kind":"function","modifiers":[],"name":"updateProposalConviction","nameLocation":"39731:24:130","parameters":{"id":80389,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80388,"mutability":"mutable","name":"proposalId","nameLocation":"39764:10:130","nodeType":"VariableDeclaration","scope":80434,"src":"39756:18:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80387,"name":"uint256","nodeType":"ElementaryTypeName","src":"39756:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"39755:20:130"},"returnParameters":{"id":80392,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80391,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":80434,"src":"39792:7:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80390,"name":"uint256","nodeType":"ElementaryTypeName","src":"39792:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"39791:9:130"},"scope":80578,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":80453,"nodeType":"FunctionDefinition","src":"40248:124:130","nodes":[],"body":{"id":80452,"nodeType":"Block","src":"40320:52:130","nodes":[],"statements":[{"expression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80449,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80443,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":80441,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80436,"src":"40339:6:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":80442,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77919,"src":"40348:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"40339:10:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":80444,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"40338:12:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80447,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":80445,"name":"D","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77919,"src":"40354:1:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":80446,"name":"decay","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77933,"src":"40358:5:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"40354:9:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":80448,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"40353:11:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"40338:26:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":80450,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"40337:28:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":80440,"id":80451,"nodeType":"Return","src":"40330:35:130"}]},"functionSelector":"950559d7","implemented":true,"kind":"function","modifiers":[],"name":"getMaxConviction","nameLocation":"40257:16:130","parameters":{"id":80437,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80436,"mutability":"mutable","name":"amount","nameLocation":"40282:6:130","nodeType":"VariableDeclaration","scope":80453,"src":"40274:14:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80435,"name":"uint256","nodeType":"ElementaryTypeName","src":"40274:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"40273:16:130"},"returnParameters":{"id":80440,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80439,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":80453,"src":"40311:7:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80438,"name":"uint256","nodeType":"ElementaryTypeName","src":"40311:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"40310:9:130"},"scope":80578,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":80471,"nodeType":"FunctionDefinition","src":"40378:137:130","nodes":[],"body":{"id":80470,"nodeType":"Block","src":"40449:66:130","nodes":[],"statements":[{"expression":{"id":80464,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":80462,"name":"decay","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77933,"src":"40459:5:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":80463,"name":"_decay","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80455,"src":"40467:6:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"40459:14:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":80465,"nodeType":"ExpressionStatement","src":"40459:14:130"},{"eventCall":{"arguments":[{"id":80467,"name":"_decay","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80455,"src":"40501:6:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":80466,"name":"DecayUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77898,"src":"40488:12:130","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":80468,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"40488:20:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":80469,"nodeType":"EmitStatement","src":"40483:25:130"}]},"functionSelector":"69fa25c4","implemented":true,"kind":"function","modifiers":[{"arguments":[{"expression":{"id":80458,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"40437:3:130","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":80459,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"40441:6:130","memberName":"sender","nodeType":"MemberAccess","src":"40437:10:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"id":80460,"kind":"modifierInvocation","modifierName":{"id":80457,"name":"onlyPoolManager","nameLocations":["40421:15:130"],"nodeType":"IdentifierPath","referencedDeclaration":74135,"src":"40421:15:130"},"nodeType":"ModifierInvocation","src":"40421:27:130"}],"name":"setDecay","nameLocation":"40387:8:130","parameters":{"id":80456,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80455,"mutability":"mutable","name":"_decay","nameLocation":"40404:6:130","nodeType":"VariableDeclaration","scope":80471,"src":"40396:14:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80454,"name":"uint256","nodeType":"ElementaryTypeName","src":"40396:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"40395:16:130"},"returnParameters":{"id":80461,"nodeType":"ParameterList","parameters":[],"src":"40449:0:130"},"scope":80578,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":80489,"nodeType":"FunctionDefinition","src":"40521:155:130","nodes":[],"body":{"id":80488,"nodeType":"Block","src":"40598:78:130","nodes":[],"statements":[{"expression":{"id":80482,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":80480,"name":"maxRatio","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77935,"src":"40608:8:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":80481,"name":"_maxRatio","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80473,"src":"40619:9:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"40608:20:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":80483,"nodeType":"ExpressionStatement","src":"40608:20:130"},{"eventCall":{"arguments":[{"id":80485,"name":"_maxRatio","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80473,"src":"40659:9:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":80484,"name":"MaxRatioUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77902,"src":"40643:15:130","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":80486,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"40643:26:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":80487,"nodeType":"EmitStatement","src":"40638:31:130"}]},"functionSelector":"11f22ae3","implemented":true,"kind":"function","modifiers":[{"arguments":[{"expression":{"id":80476,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"40586:3:130","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":80477,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"40590:6:130","memberName":"sender","nodeType":"MemberAccess","src":"40586:10:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"id":80478,"kind":"modifierInvocation","modifierName":{"id":80475,"name":"onlyPoolManager","nameLocations":["40570:15:130"],"nodeType":"IdentifierPath","referencedDeclaration":74135,"src":"40570:15:130"},"nodeType":"ModifierInvocation","src":"40570:27:130"}],"name":"setMaxRatio","nameLocation":"40530:11:130","parameters":{"id":80474,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80473,"mutability":"mutable","name":"_maxRatio","nameLocation":"40550:9:130","nodeType":"VariableDeclaration","scope":80489,"src":"40542:17:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80472,"name":"uint256","nodeType":"ElementaryTypeName","src":"40542:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"40541:19:130"},"returnParameters":{"id":80479,"nodeType":"ParameterList","parameters":[],"src":"40598:0:130"},"scope":80578,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":80507,"nodeType":"FunctionDefinition","src":"40682:143:130","nodes":[],"body":{"id":80506,"nodeType":"Block","src":"40755:70:130","nodes":[],"statements":[{"expression":{"id":80500,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":80498,"name":"weight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77937,"src":"40765:6:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":80499,"name":"_weight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80491,"src":"40774:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"40765:16:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":80501,"nodeType":"ExpressionStatement","src":"40765:16:130"},{"eventCall":{"arguments":[{"id":80503,"name":"_weight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80491,"src":"40810:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":80502,"name":"WeightUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77906,"src":"40796:13:130","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":80504,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"40796:22:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":80505,"nodeType":"EmitStatement","src":"40791:27:130"}]},"functionSelector":"fc1711f2","implemented":true,"kind":"function","modifiers":[{"arguments":[{"expression":{"id":80494,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"40743:3:130","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":80495,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"40747:6:130","memberName":"sender","nodeType":"MemberAccess","src":"40743:10:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"id":80496,"kind":"modifierInvocation","modifierName":{"id":80493,"name":"onlyPoolManager","nameLocations":["40727:15:130"],"nodeType":"IdentifierPath","referencedDeclaration":74135,"src":"40727:15:130"},"nodeType":"ModifierInvocation","src":"40727:27:130"}],"name":"setWeight","nameLocation":"40691:9:130","parameters":{"id":80492,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80491,"mutability":"mutable","name":"_weight","nameLocation":"40709:7:130","nodeType":"VariableDeclaration","scope":80507,"src":"40701:15:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80490,"name":"uint256","nodeType":"ElementaryTypeName","src":"40701:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"40700:17:130"},"returnParameters":{"id":80497,"nodeType":"ParameterList","parameters":[],"src":"40755:0:130"},"scope":80578,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":80527,"nodeType":"FunctionDefinition","src":"40831:223:130","nodes":[],"body":{"id":80526,"nodeType":"Block","src":"40926:128:130","nodes":[],"statements":[{"expression":{"id":80520,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":80516,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77961,"src":"40936:17:130","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":80518,"name":"_registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80509,"src":"40978:18:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":80517,"name":"RegistryCommunityV0_0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85047,"src":"40956:21:130","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_RegistryCommunityV0_0_$85047_$","typeString":"type(contract RegistryCommunityV0_0)"}},"id":80519,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"40956:41:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"}},"src":"40936:61:130","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"}},"id":80521,"nodeType":"ExpressionStatement","src":"40936:61:130"},{"eventCall":{"arguments":[{"id":80523,"name":"_registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80509,"src":"41028:18:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":80522,"name":"RegistryUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77910,"src":"41012:15:130","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":80524,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41012:35:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":80525,"nodeType":"EmitStatement","src":"41007:40:130"}]},"functionSelector":"058aca44","implemented":true,"kind":"function","modifiers":[{"arguments":[{"expression":{"id":80512,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"40914:3:130","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":80513,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"40918:6:130","memberName":"sender","nodeType":"MemberAccess","src":"40914:10:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"id":80514,"kind":"modifierInvocation","modifierName":{"id":80511,"name":"onlyPoolManager","nameLocations":["40898:15:130"],"nodeType":"IdentifierPath","referencedDeclaration":74135,"src":"40898:15:130"},"nodeType":"ModifierInvocation","src":"40898:27:130"}],"name":"setRegistryCommunity","nameLocation":"40840:20:130","parameters":{"id":80510,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80509,"mutability":"mutable","name":"_registryCommunity","nameLocation":"40869:18:130","nodeType":"VariableDeclaration","scope":80527,"src":"40861:26:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":80508,"name":"address","nodeType":"ElementaryTypeName","src":"40861:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"40860:28:130"},"returnParameters":{"id":80515,"nodeType":"ParameterList","parameters":[],"src":"40926:0:130"},"scope":80578,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":80546,"nodeType":"FunctionDefinition","src":"41060:237:130","nodes":[],"body":{"id":80545,"nodeType":"Block","src":"41157:140:130","nodes":[],"statements":[{"eventCall":{"arguments":[{"id":80537,"name":"_minThresholdPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77947,"src":"41198:19:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":80538,"name":"minThresholdPoints_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80529,"src":"41219:19:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":80536,"name":"MinThresholdPointsUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77916,"src":"41172:25:130","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":80539,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41172:67:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":80540,"nodeType":"EmitStatement","src":"41167:72:130"},{"expression":{"id":80543,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":80541,"name":"_minThresholdPoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77947,"src":"41249:19:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":80542,"name":"minThresholdPoints_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80529,"src":"41271:19:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"41249:41:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":80544,"nodeType":"ExpressionStatement","src":"41249:41:130"}]},"functionSelector":"2cefadbb","implemented":true,"kind":"function","modifiers":[{"arguments":[{"expression":{"id":80532,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"41145:3:130","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":80533,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"41149:6:130","memberName":"sender","nodeType":"MemberAccess","src":"41145:10:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"id":80534,"kind":"modifierInvocation","modifierName":{"id":80531,"name":"onlyPoolManager","nameLocations":["41129:15:130"],"nodeType":"IdentifierPath","referencedDeclaration":74135,"src":"41129:15:130"},"nodeType":"ModifierInvocation","src":"41129:27:130"}],"name":"setMinThresholdPoints","nameLocation":"41069:21:130","parameters":{"id":80530,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80529,"mutability":"mutable","name":"minThresholdPoints_","nameLocation":"41099:19:130","nodeType":"VariableDeclaration","scope":80546,"src":"41091:27:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80528,"name":"uint256","nodeType":"ElementaryTypeName","src":"41091:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"41090:29:130"},"returnParameters":{"id":80535,"nodeType":"ParameterList","parameters":[],"src":"41157:0:130"},"scope":80578,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":80564,"nodeType":"FunctionDefinition","src":"41303:170:130","nodes":[],"body":{"id":80563,"nodeType":"Block","src":"41374:99:130","nodes":[],"statements":[{"expression":{"arguments":[{"id":80554,"name":"_sybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80548,"src":"41403:12:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":80553,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78210,"src":"41384:18:130","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":80555,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41384:32:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":80556,"nodeType":"ExpressionStatement","src":"41384:32:130"},{"expression":{"id":80561,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":80557,"name":"sybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77964,"src":"41426:11:130","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$80667","typeString":"contract ISybilScorer"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":80559,"name":"_sybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80548,"src":"41453:12:130","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":80558,"name":"ISybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80667,"src":"41440:12:130","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ISybilScorer_$80667_$","typeString":"type(contract ISybilScorer)"}},"id":80560,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41440:26:130","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$80667","typeString":"contract ISybilScorer"}},"src":"41426:40:130","typeDescriptions":{"typeIdentifier":"t_contract$_ISybilScorer_$80667","typeString":"contract ISybilScorer"}},"id":80562,"nodeType":"ExpressionStatement","src":"41426:40:130"}]},"functionSelector":"ac1ed7b9","implemented":true,"kind":"function","modifiers":[{"id":80551,"kind":"modifierInvocation","modifierName":{"id":80550,"name":"onlyCouncilSafe","nameLocations":["41358:15:130"],"nodeType":"IdentifierPath","referencedDeclaration":77997,"src":"41358:15:130"},"nodeType":"ModifierInvocation","src":"41358:15:130"}],"name":"setSybilScorer","nameLocation":"41312:14:130","parameters":{"id":80549,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80548,"mutability":"mutable","name":"_sybilScorer","nameLocation":"41335:12:130","nodeType":"VariableDeclaration","scope":80564,"src":"41327:20:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":80547,"name":"address","nodeType":"ElementaryTypeName","src":"41327:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"41326:22:130"},"returnParameters":{"id":80552,"nodeType":"ParameterList","parameters":[],"src":"41374:0:130"},"scope":80578,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":80573,"nodeType":"FunctionDefinition","src":"41479:66:130","nodes":[],"body":{"id":80572,"nodeType":"Block","src":"41543:2:130","nodes":[],"statements":[]},"baseFunctions":[56212],"implemented":true,"kind":"function","modifiers":[{"id":80570,"kind":"modifierInvocation","modifierName":{"id":80569,"name":"onlyOwner","nameLocations":["41533:9:130"],"nodeType":"IdentifierPath","referencedDeclaration":52856,"src":"41533:9:130"},"nodeType":"ModifierInvocation","src":"41533:9:130"}],"name":"_authorizeUpgrade","nameLocation":"41488:17:130","overrides":{"id":80568,"nodeType":"OverrideSpecifier","overrides":[],"src":"41524:8:130"},"parameters":{"id":80567,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80566,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":80573,"src":"41506:7:130","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":80565,"name":"address","nodeType":"ElementaryTypeName","src":"41506:7:130","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"41505:9:130"},"returnParameters":{"id":80571,"nodeType":"ParameterList","parameters":[],"src":"41543:0:130"},"scope":80578,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":80577,"nodeType":"VariableDeclaration","src":"41551:25:130","nodes":[],"constant":false,"mutability":"mutable","name":"__gap","nameLocation":"41571:5:130","scope":80578,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$50_storage","typeString":"uint256[50]"},"typeName":{"baseType":{"id":80574,"name":"uint256","nodeType":"ElementaryTypeName","src":"41551:7:130","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":80576,"length":{"hexValue":"3530","id":80575,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"41559:2:130","typeDescriptions":{"typeIdentifier":"t_rational_50_by_1","typeString":"int_const 50"},"value":"50"},"nodeType":"ArrayTypeName","src":"41551:11:130","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$50_storage_ptr","typeString":"uint256[50]"}},"visibility":"private"}],"abstract":false,"baseContracts":[{"baseName":{"id":77753,"name":"OwnableUpgradeable","nameLocations":["3094:18:130"],"nodeType":"IdentifierPath","referencedDeclaration":52942,"src":"3094:18:130"},"id":77754,"nodeType":"InheritanceSpecifier","src":"3094:18:130"},{"baseName":{"id":77755,"name":"BaseStrategyUpgradeable","nameLocations":["3114:23:130"],"nodeType":"IdentifierPath","referencedDeclaration":74672,"src":"3114:23:130"},"id":77756,"nodeType":"InheritanceSpecifier","src":"3114:23:130"},{"baseName":{"id":77757,"name":"IPointStrategy","nameLocations":["3139:14:130"],"nodeType":"IdentifierPath","referencedDeclaration":77667,"src":"3139:14:130"},"id":77758,"nodeType":"InheritanceSpecifier","src":"3139:14:130"},{"baseName":{"id":77759,"name":"ERC165","nameLocations":["3155:6:130"],"nodeType":"IdentifierPath","referencedDeclaration":58266,"src":"3155:6:130"},"id":77760,"nodeType":"InheritanceSpecifier","src":"3155:6:130"}],"canonicalName":"CVStrategyV0_0","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[80578,58266,58472,77667,74672,3089,3317,3106,2969,56213,55866,55515,55525,52942,53735,53191],"name":"CVStrategyV0_0","nameLocation":"3076:14:130","scope":80579,"usedErrors":[3008,3011,3014,3017,3020,3023,3026,3029,3032,3035,3038,3041,3044,3047,3050,3053,3056,3059,3062,3065,3068,3071,3074,3079,3082,3085,3088,3117,77765,77767,77769,77771,77773,77775,77777,77779,77781,77783,77785,77793,77795,77797,77803,77805,77807,77811,77815,77821,77823,77825,77833,77835,77837]}],"license":"AGPL-3.0-only"},"id":130} \ No newline at end of file diff --git a/pkg/contracts/out/ERC20.sol/ERC20.json b/pkg/contracts/out/ERC20.sol/ERC20.json index b1b48ef17..178e4517c 100644 --- a/pkg/contracts/out/ERC20.sol/ERC20.json +++ b/pkg/contracts/out/ERC20.sol/ERC20.json @@ -1 +1 @@ -{"abi":[{"type":"constructor","inputs":[{"name":"name_","type":"string","internalType":"string"},{"name":"symbol_","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"allowance","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"spender","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"approve","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"balanceOf","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"decimals","inputs":[],"outputs":[{"name":"","type":"uint8","internalType":"uint8"}],"stateMutability":"view"},{"type":"function","name":"decreaseAllowance","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"subtractedValue","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"increaseAllowance","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"addedValue","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"name","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"symbol","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"totalSupply","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"transfer","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"transferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"event","name":"Approval","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"spender","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Transfer","inputs":[{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"to","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false}],"bytecode":{"object":"0x60806040523480156200001157600080fd5b5060405162000c4238038062000c4283398101604081905262000034916200011f565b600362000042838262000218565b50600462000051828262000218565b505050620002e4565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126200008257600080fd5b81516001600160401b03808211156200009f576200009f6200005a565b604051601f8301601f19908116603f01168101908282118183101715620000ca57620000ca6200005a565b81604052838152602092508683858801011115620000e757600080fd5b600091505b838210156200010b5785820183015181830184015290820190620000ec565b600093810190920192909252949350505050565b600080604083850312156200013357600080fd5b82516001600160401b03808211156200014b57600080fd5b620001598683870162000070565b935060208501519150808211156200017057600080fd5b506200017f8582860162000070565b9150509250929050565b600181811c908216806200019e57607f821691505b602082108103620001bf57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200021357600081815260208120601f850160051c81016020861015620001ee5750805b601f850160051c820191505b818110156200020f57828155600101620001fa565b5050505b505050565b81516001600160401b038111156200023457620002346200005a565b6200024c8162000245845462000189565b84620001c5565b602080601f8311600181146200028457600084156200026b5750858301515b600019600386901b1c1916600185901b1785556200020f565b600085815260208120601f198616915b82811015620002b55788860151825594840194600190910190840162000294565b5085821015620002d45787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b61094e80620002f46000396000f3fe608060405234801561001057600080fd5b50600436106100c95760003560e01c80633950935111610081578063a457c2d71161005b578063a457c2d714610187578063a9059cbb1461019a578063dd62ed3e146101ad57600080fd5b8063395093511461014357806370a082311461015657806395d89b411461017f57600080fd5b806318160ddd116100b257806318160ddd1461010f57806323b872dd14610121578063313ce5671461013457600080fd5b806306fdde03146100ce578063095ea7b3146100ec575b600080fd5b6100d66101e6565b6040516100e39190610798565b60405180910390f35b6100ff6100fa366004610802565b610278565b60405190151581526020016100e3565b6002545b6040519081526020016100e3565b6100ff61012f36600461082c565b610292565b604051601281526020016100e3565b6100ff610151366004610802565b6102b6565b610113610164366004610868565b6001600160a01b031660009081526020819052604090205490565b6100d66102f5565b6100ff610195366004610802565b610304565b6100ff6101a8366004610802565b6103b3565b6101136101bb36600461088a565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6060600380546101f5906108bd565b80601f0160208091040260200160405190810160405280929190818152602001828054610221906108bd565b801561026e5780601f106102435761010080835404028352916020019161026e565b820191906000526020600020905b81548152906001019060200180831161025157829003601f168201915b5050505050905090565b6000336102868185856103c1565b60019150505b92915050565b6000336102a0858285610519565b6102ab8585856105ab565b506001949350505050565b3360008181526001602090815260408083206001600160a01b038716845290915281205490919061028690829086906102f09087906108f7565b6103c1565b6060600480546101f5906108bd565b3360008181526001602090815260408083206001600160a01b0387168452909152812054909190838110156103a65760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760448201527f207a65726f00000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b6102ab82868684036103c1565b6000336102868185856105ab565b6001600160a01b03831661043c5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f7265737300000000000000000000000000000000000000000000000000000000606482015260840161039d565b6001600160a01b0382166104b85760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f7373000000000000000000000000000000000000000000000000000000000000606482015260840161039d565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383811660009081526001602090815260408083209386168352929052205460001981146105a557818110156105985760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000604482015260640161039d565b6105a584848484036103c1565b50505050565b6001600160a01b0383166106275760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f6472657373000000000000000000000000000000000000000000000000000000606482015260840161039d565b6001600160a01b0382166106a35760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f6573730000000000000000000000000000000000000000000000000000000000606482015260840161039d565b6001600160a01b038316600090815260208190526040902054818110156107325760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260448201527f616c616e63650000000000000000000000000000000000000000000000000000606482015260840161039d565b6001600160a01b03848116600081815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a36105a5565b600060208083528351808285015260005b818110156107c5578581018301518582016040015282016107a9565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b03811681146107fd57600080fd5b919050565b6000806040838503121561081557600080fd5b61081e836107e6565b946020939093013593505050565b60008060006060848603121561084157600080fd5b61084a846107e6565b9250610858602085016107e6565b9150604084013590509250925092565b60006020828403121561087a57600080fd5b610883826107e6565b9392505050565b6000806040838503121561089d57600080fd5b6108a6836107e6565b91506108b4602084016107e6565b90509250929050565b600181811c908216806108d157607f821691505b6020821081036108f157634e487b7160e01b600052602260045260246000fd5b50919050565b8082018082111561028c57634e487b7160e01b600052601160045260246000fdfea264697066735822122023033b11d24872ecd40b5f5d9419e93c885f91cbde109d0664fc4b69a182da9264736f6c63430008130033","sourceMap":"1532:11312:73:-:0;;;1980:113;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2046:5;:13;2054:5;2046;:13;:::i;:::-;-1:-1:-1;2069:7:73;:17;2079:7;2069;:17;:::i;:::-;;1980:113;;1532:11312;;14:127:151;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:840;200:5;253:3;246:4;238:6;234:17;230:27;220:55;;271:1;268;261:12;220:55;294:13;;-1:-1:-1;;;;;356:10:151;;;353:36;;;369:18;;:::i;:::-;444:2;438:9;412:2;498:13;;-1:-1:-1;;494:22:151;;;518:2;490:31;486:40;474:53;;;542:18;;;562:22;;;539:46;536:72;;;588:18;;:::i;:::-;628:10;624:2;617:22;663:2;655:6;648:18;685:4;675:14;;730:3;725:2;720;712:6;708:15;704:24;701:33;698:53;;;747:1;744;737:12;698:53;769:1;760:10;;779:133;793:2;790:1;787:9;779:133;;;881:14;;;877:23;;871:30;850:14;;;846:23;;839:63;804:10;;;;779:133;;;954:1;932:15;;;928:24;;;921:35;;;;936:6;146:840;-1:-1:-1;;;;146:840:151:o;991:562::-;1090:6;1098;1151:2;1139:9;1130:7;1126:23;1122:32;1119:52;;;1167:1;1164;1157:12;1119:52;1194:16;;-1:-1:-1;;;;;1259:14:151;;;1256:34;;;1286:1;1283;1276:12;1256:34;1309:61;1362:7;1353:6;1342:9;1338:22;1309:61;:::i;:::-;1299:71;;1416:2;1405:9;1401:18;1395:25;1379:41;;1445:2;1435:8;1432:16;1429:36;;;1461:1;1458;1451:12;1429:36;;1484:63;1539:7;1528:8;1517:9;1513:24;1484:63;:::i;:::-;1474:73;;;991:562;;;;;:::o;1558:380::-;1637:1;1633:12;;;;1680;;;1701:61;;1755:4;1747:6;1743:17;1733:27;;1701:61;1808:2;1800:6;1797:14;1777:18;1774:38;1771:161;;1854:10;1849:3;1845:20;1842:1;1835:31;1889:4;1886:1;1879:15;1917:4;1914:1;1907:15;1771:161;;1558:380;;;:::o;2069:545::-;2171:2;2166:3;2163:11;2160:448;;;2207:1;2232:5;2228:2;2221:17;2277:4;2273:2;2263:19;2347:2;2335:10;2331:19;2328:1;2324:27;2318:4;2314:38;2383:4;2371:10;2368:20;2365:47;;;-1:-1:-1;2406:4:151;2365:47;2461:2;2456:3;2452:12;2449:1;2445:20;2439:4;2435:31;2425:41;;2516:82;2534:2;2527:5;2524:13;2516:82;;;2579:17;;;2560:1;2549:13;2516:82;;;2520:3;;;2160:448;2069:545;;;:::o;2790:1352::-;2910:10;;-1:-1:-1;;;;;2932:30:151;;2929:56;;;2965:18;;:::i;:::-;2994:97;3084:6;3044:38;3076:4;3070:11;3044:38;:::i;:::-;3038:4;2994:97;:::i;:::-;3146:4;;3210:2;3199:14;;3227:1;3222:663;;;;3929:1;3946:6;3943:89;;;-1:-1:-1;3998:19:151;;;3992:26;3943:89;-1:-1:-1;;2747:1:151;2743:11;;;2739:24;2735:29;2725:40;2771:1;2767:11;;;2722:57;4045:81;;3192:944;;3222:663;2016:1;2009:14;;;2053:4;2040:18;;-1:-1:-1;;3258:20:151;;;3376:236;3390:7;3387:1;3384:14;3376:236;;;3479:19;;;3473:26;3458:42;;3571:27;;;;3539:1;3527:14;;;;3406:19;;3376:236;;;3380:3;3640:6;3631:7;3628:19;3625:201;;;3701:19;;;3695:26;-1:-1:-1;;3784:1:151;3780:14;;;3796:3;3776:24;3772:37;3768:42;3753:58;3738:74;;3625:201;-1:-1:-1;;;;;3872:1:151;3856:14;;;3852:22;3839:36;;-1:-1:-1;2790:1352:151:o;:::-;1532:11312:73;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b50600436106100c95760003560e01c80633950935111610081578063a457c2d71161005b578063a457c2d714610187578063a9059cbb1461019a578063dd62ed3e146101ad57600080fd5b8063395093511461014357806370a082311461015657806395d89b411461017f57600080fd5b806318160ddd116100b257806318160ddd1461010f57806323b872dd14610121578063313ce5671461013457600080fd5b806306fdde03146100ce578063095ea7b3146100ec575b600080fd5b6100d66101e6565b6040516100e39190610798565b60405180910390f35b6100ff6100fa366004610802565b610278565b60405190151581526020016100e3565b6002545b6040519081526020016100e3565b6100ff61012f36600461082c565b610292565b604051601281526020016100e3565b6100ff610151366004610802565b6102b6565b610113610164366004610868565b6001600160a01b031660009081526020819052604090205490565b6100d66102f5565b6100ff610195366004610802565b610304565b6100ff6101a8366004610802565b6103b3565b6101136101bb36600461088a565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6060600380546101f5906108bd565b80601f0160208091040260200160405190810160405280929190818152602001828054610221906108bd565b801561026e5780601f106102435761010080835404028352916020019161026e565b820191906000526020600020905b81548152906001019060200180831161025157829003601f168201915b5050505050905090565b6000336102868185856103c1565b60019150505b92915050565b6000336102a0858285610519565b6102ab8585856105ab565b506001949350505050565b3360008181526001602090815260408083206001600160a01b038716845290915281205490919061028690829086906102f09087906108f7565b6103c1565b6060600480546101f5906108bd565b3360008181526001602090815260408083206001600160a01b0387168452909152812054909190838110156103a65760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760448201527f207a65726f00000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b6102ab82868684036103c1565b6000336102868185856105ab565b6001600160a01b03831661043c5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f7265737300000000000000000000000000000000000000000000000000000000606482015260840161039d565b6001600160a01b0382166104b85760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f7373000000000000000000000000000000000000000000000000000000000000606482015260840161039d565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383811660009081526001602090815260408083209386168352929052205460001981146105a557818110156105985760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000604482015260640161039d565b6105a584848484036103c1565b50505050565b6001600160a01b0383166106275760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f6472657373000000000000000000000000000000000000000000000000000000606482015260840161039d565b6001600160a01b0382166106a35760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f6573730000000000000000000000000000000000000000000000000000000000606482015260840161039d565b6001600160a01b038316600090815260208190526040902054818110156107325760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260448201527f616c616e63650000000000000000000000000000000000000000000000000000606482015260840161039d565b6001600160a01b03848116600081815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a36105a5565b600060208083528351808285015260005b818110156107c5578581018301518582016040015282016107a9565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b03811681146107fd57600080fd5b919050565b6000806040838503121561081557600080fd5b61081e836107e6565b946020939093013593505050565b60008060006060848603121561084157600080fd5b61084a846107e6565b9250610858602085016107e6565b9150604084013590509250925092565b60006020828403121561087a57600080fd5b610883826107e6565b9392505050565b6000806040838503121561089d57600080fd5b6108a6836107e6565b91506108b4602084016107e6565b90509250929050565b600181811c908216806108d157607f821691505b6020821081036108f157634e487b7160e01b600052602260045260246000fd5b50919050565b8082018082111561028c57634e487b7160e01b600052601160045260246000fdfea264697066735822122023033b11d24872ecd40b5f5d9419e93c885f91cbde109d0664fc4b69a182da9264736f6c63430008130033","sourceMap":"1532:11312:73:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2158:98;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4444:197;;;;;;:::i;:::-;;:::i;:::-;;;1192:14:151;;1185:22;1167:41;;1155:2;1140:18;4444:197:73;1027:187:151;3255:106:73;3342:12;;3255:106;;;1365:25:151;;;1353:2;1338:18;3255:106:73;1219:177:151;5203:256:73;;;;;;:::i;:::-;;:::i;3104:91::-;;;3186:2;1876:36:151;;1864:2;1849:18;3104:91:73;1734:184:151;5854:234:73;;;;;;:::i;:::-;;:::i;3419:125::-;;;;;;:::i;:::-;-1:-1:-1;;;;;3519:18:73;3493:7;3519:18;;;;;;;;;;;;3419:125;2369:102;;;:::i;6575:427::-;;;;;;:::i;:::-;;:::i;3740:189::-;;;;;;:::i;:::-;;:::i;3987:149::-;;;;;;:::i;:::-;-1:-1:-1;;;;;4102:18:73;;;4076:7;4102:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;3987:149;2158:98;2212:13;2244:5;2237:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2158:98;:::o;4444:197::-;4527:4;719:10:81;4581:32:73;719:10:81;4597:7:73;4606:6;4581:8;:32::i;:::-;4630:4;4623:11;;;4444:197;;;;;:::o;5203:256::-;5300:4;719:10:81;5356:38:73;5372:4;719:10:81;5387:6:73;5356:15;:38::i;:::-;5404:27;5414:4;5420:2;5424:6;5404:9;:27::i;:::-;-1:-1:-1;5448:4:73;;5203:256;-1:-1:-1;;;;5203:256:73:o;5854:234::-;719:10:81;5942:4:73;4102:18;;;:11;:18;;;;;;;;-1:-1:-1;;;;;4102:27:73;;;;;;;;;;5942:4;;719:10:81;5996:64:73;;719:10:81;;4102:27:73;;6021:38;;6049:10;;6021:38;:::i;:::-;5996:8;:64::i;2369:102::-;2425:13;2457:7;2450:14;;;;;:::i;6575:427::-;719:10:81;6668:4:73;4102:18;;;:11;:18;;;;;;;;-1:-1:-1;;;;;4102:27:73;;;;;;;;;;6668:4;;719:10:81;6812:15:73;6792:16;:35;;6784:85;;;;-1:-1:-1;;;6784:85:73;;3307:2:151;6784:85:73;;;3289:21:151;3346:2;3326:18;;;3319:30;3385:34;3365:18;;;3358:62;3456:7;3436:18;;;3429:35;3481:19;;6784:85:73;;;;;;;;;6903:60;6912:5;6919:7;6947:15;6928:16;:34;6903:8;:60::i;3740:189::-;3819:4;719:10:81;3873:28:73;719:10:81;3890:2:73;3894:6;3873:9;:28::i;10457:340::-;-1:-1:-1;;;;;10558:19:73;;10550:68;;;;-1:-1:-1;;;10550:68:73;;3713:2:151;10550:68:73;;;3695:21:151;3752:2;3732:18;;;3725:30;3791:34;3771:18;;;3764:62;3862:6;3842:18;;;3835:34;3886:19;;10550:68:73;3511:400:151;10550:68:73;-1:-1:-1;;;;;10636:21:73;;10628:68;;;;-1:-1:-1;;;10628:68:73;;4118:2:151;10628:68:73;;;4100:21:151;4157:2;4137:18;;;4130:30;4196:34;4176:18;;;4169:62;4267:4;4247:18;;;4240:32;4289:19;;10628:68:73;3916:398:151;10628:68:73;-1:-1:-1;;;;;10707:18:73;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;10758:32;;1365:25:151;;;10758:32:73;;1338:18:151;10758:32:73;;;;;;;10457:340;;;:::o;11078:411::-;-1:-1:-1;;;;;4102:18:73;;;11178:24;4102:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;-1:-1:-1;;11244:37:73;;11240:243;;11325:6;11305:16;:26;;11297:68;;;;-1:-1:-1;;;11297:68:73;;4521:2:151;11297:68:73;;;4503:21:151;4560:2;4540:18;;;4533:30;4599:31;4579:18;;;4572:59;4648:18;;11297:68:73;4319:353:151;11297:68:73;11407:51;11416:5;11423:7;11451:6;11432:16;:25;11407:8;:51::i;:::-;11168:321;11078:411;;;:::o;7456:788::-;-1:-1:-1;;;;;7552:18:73;;7544:68;;;;-1:-1:-1;;;7544:68:73;;4879:2:151;7544:68:73;;;4861:21:151;4918:2;4898:18;;;4891:30;4957:34;4937:18;;;4930:62;5028:7;5008:18;;;5001:35;5053:19;;7544:68:73;4677:401:151;7544:68:73;-1:-1:-1;;;;;7630:16:73;;7622:64;;;;-1:-1:-1;;;7622:64:73;;5285:2:151;7622:64:73;;;5267:21:151;5324:2;5304:18;;;5297:30;5363:34;5343:18;;;5336:62;5434:5;5414:18;;;5407:33;5457:19;;7622:64:73;5083:399:151;7622:64:73;-1:-1:-1;;;;;7768:15:73;;7746:19;7768:15;;;;;;;;;;;7801:21;;;;7793:72;;;;-1:-1:-1;;;7793:72:73;;5689:2:151;7793:72:73;;;5671:21:151;5728:2;5708:18;;;5701:30;5767:34;5747:18;;;5740:62;5838:8;5818:18;;;5811:36;5864:19;;7793:72:73;5487:402:151;7793:72:73;-1:-1:-1;;;;;7899:15:73;;;:9;:15;;;;;;;;;;;7917:20;;;7899:38;;8114:13;;;;;;;;;;:23;;;;;;8163:26;;1365:25:151;;;8114:13:73;;8163:26;;1338:18:151;8163:26:73;;;;;;;8200:37;12073:91;14:548:151;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:196::-;635:20;;-1:-1:-1;;;;;684:54:151;;674:65;;664:93;;753:1;750;743:12;664:93;567:196;;;:::o;768:254::-;836:6;844;897:2;885:9;876:7;872:23;868:32;865:52;;;913:1;910;903:12;865:52;936:29;955:9;936:29;:::i;:::-;926:39;1012:2;997:18;;;;984:32;;-1:-1:-1;;;768:254:151:o;1401:328::-;1478:6;1486;1494;1547:2;1535:9;1526:7;1522:23;1518:32;1515:52;;;1563:1;1560;1553:12;1515:52;1586:29;1605:9;1586:29;:::i;:::-;1576:39;;1634:38;1668:2;1657:9;1653:18;1634:38;:::i;:::-;1624:48;;1719:2;1708:9;1704:18;1691:32;1681:42;;1401:328;;;;;:::o;1923:186::-;1982:6;2035:2;2023:9;2014:7;2010:23;2006:32;2003:52;;;2051:1;2048;2041:12;2003:52;2074:29;2093:9;2074:29;:::i;:::-;2064:39;1923:186;-1:-1:-1;;;1923:186:151:o;2114:260::-;2182:6;2190;2243:2;2231:9;2222:7;2218:23;2214:32;2211:52;;;2259:1;2256;2249:12;2211:52;2282:29;2301:9;2282:29;:::i;:::-;2272:39;;2330:38;2364:2;2353:9;2349:18;2330:38;:::i;:::-;2320:48;;2114:260;;;;;:::o;2379:437::-;2458:1;2454:12;;;;2501;;;2522:61;;2576:4;2568:6;2564:17;2554:27;;2522:61;2629:2;2621:6;2618:14;2598:18;2595:38;2592:218;;-1:-1:-1;;;2663:1:151;2656:88;2767:4;2764:1;2757:15;2795:4;2792:1;2785:15;2592:218;;2379:437;;;:::o;2821:279::-;2886:9;;;2907:10;;;2904:190;;;-1:-1:-1;;;2947:1:151;2940:88;3051:4;3048:1;3041:15;3079:4;3076:1;3069:15","linkReferences":{}},"methodIdentifiers":{"allowance(address,address)":"dd62ed3e","approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","decimals()":"313ce567","decreaseAllowance(address,uint256)":"a457c2d7","increaseAllowance(address,uint256)":"39509351","name()":"06fdde03","symbol()":"95d89b41","totalSupply()":"18160ddd","transfer(address,uint256)":"a9059cbb","transferFrom(address,address,uint256)":"23b872dd"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name_\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"symbol_\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"subtractedValue\",\"type\":\"uint256\"}],\"name\":\"decreaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"addedValue\",\"type\":\"uint256\"}],\"name\":\"increaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Implementation of the {IERC20} interface. This implementation is agnostic to the way tokens are created. This means that a supply mechanism has to be added in a derived contract using {_mint}. For a generic mechanism see {ERC20PresetMinterPauser}. TIP: For a detailed writeup see our guide https://forum.openzeppelin.com/t/how-to-implement-erc20-supply-mechanisms/226[How to implement supply mechanisms]. The default value of {decimals} is 18. To change this, you should override this function so it returns a different value. We have followed general OpenZeppelin Contracts guidelines: functions revert instead returning `false` on failure. This behavior is nonetheless conventional and does not conflict with the expectations of ERC20 applications. Additionally, an {Approval} event is emitted on calls to {transferFrom}. This allows applications to reconstruct the allowance for all accounts just by listening to said events. Other implementations of the EIP may not emit these events, as it isn't required by the specification. Finally, the non-standard {decreaseAllowance} and {increaseAllowance} functions have been added to mitigate the well-known issues around setting allowances. See {IERC20-approve}.\",\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when the allowance of a `spender` for an `owner` is set by a call to {approve}. `value` is the new allowance.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `value` tokens are moved from one account (`from`) to another (`to`). Note that `value` may be zero.\"}},\"kind\":\"dev\",\"methods\":{\"allowance(address,address)\":{\"details\":\"See {IERC20-allowance}.\"},\"approve(address,uint256)\":{\"details\":\"See {IERC20-approve}. NOTE: If `amount` is the maximum `uint256`, the allowance is not updated on `transferFrom`. This is semantically equivalent to an infinite approval. Requirements: - `spender` cannot be the zero address.\"},\"balanceOf(address)\":{\"details\":\"See {IERC20-balanceOf}.\"},\"constructor\":{\"details\":\"Sets the values for {name} and {symbol}. All two of these values are immutable: they can only be set once during construction.\"},\"decimals()\":{\"details\":\"Returns the number of decimals used to get its user representation. For example, if `decimals` equals `2`, a balance of `505` tokens should be displayed to a user as `5.05` (`505 / 10 ** 2`). Tokens usually opt for a value of 18, imitating the relationship between Ether and Wei. This is the default value returned by this function, unless it's overridden. NOTE: This information is only used for _display_ purposes: it in no way affects any of the arithmetic of the contract, including {IERC20-balanceOf} and {IERC20-transfer}.\"},\"decreaseAllowance(address,uint256)\":{\"details\":\"Atomically decreases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address. - `spender` must have allowance for the caller of at least `subtractedValue`.\"},\"increaseAllowance(address,uint256)\":{\"details\":\"Atomically increases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address.\"},\"name()\":{\"details\":\"Returns the name of the token.\"},\"symbol()\":{\"details\":\"Returns the symbol of the token, usually a shorter version of the name.\"},\"totalSupply()\":{\"details\":\"See {IERC20-totalSupply}.\"},\"transfer(address,uint256)\":{\"details\":\"See {IERC20-transfer}. Requirements: - `to` cannot be the zero address. - the caller must have a balance of at least `amount`.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC20-transferFrom}. Emits an {Approval} event indicating the updated allowance. This is not required by the EIP. See the note at the beginning of {ERC20}. NOTE: Does not update the allowance if the current allowance is the maximum `uint256`. Requirements: - `from` and `to` cannot be the zero address. - `from` must have a balance of at least `amount`. - the caller must have allowance for ``from``'s tokens of at least `amount`.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol\":\"ERC20\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1000},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-contracts/=lib/safe-contracts/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"]},\"sources\":{\"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15\",\"dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5\",\"dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd\",\"dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"string","name":"name_","type":"string"},{"internalType":"string","name":"symbol_","type":"string"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"address","name":"spender","type":"address","indexed":true},{"internalType":"uint256","name":"value","type":"uint256","indexed":false}],"type":"event","name":"Approval","anonymous":false},{"inputs":[{"internalType":"address","name":"from","type":"address","indexed":true},{"internalType":"address","name":"to","type":"address","indexed":true},{"internalType":"uint256","name":"value","type":"uint256","indexed":false}],"type":"event","name":"Transfer","anonymous":false},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"stateMutability":"view","type":"function","name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}]},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"name","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}]}],"devdoc":{"kind":"dev","methods":{"allowance(address,address)":{"details":"See {IERC20-allowance}."},"approve(address,uint256)":{"details":"See {IERC20-approve}. NOTE: If `amount` is the maximum `uint256`, the allowance is not updated on `transferFrom`. This is semantically equivalent to an infinite approval. Requirements: - `spender` cannot be the zero address."},"balanceOf(address)":{"details":"See {IERC20-balanceOf}."},"constructor":{"details":"Sets the values for {name} and {symbol}. All two of these values are immutable: they can only be set once during construction."},"decimals()":{"details":"Returns the number of decimals used to get its user representation. For example, if `decimals` equals `2`, a balance of `505` tokens should be displayed to a user as `5.05` (`505 / 10 ** 2`). Tokens usually opt for a value of 18, imitating the relationship between Ether and Wei. This is the default value returned by this function, unless it's overridden. NOTE: This information is only used for _display_ purposes: it in no way affects any of the arithmetic of the contract, including {IERC20-balanceOf} and {IERC20-transfer}."},"decreaseAllowance(address,uint256)":{"details":"Atomically decreases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address. - `spender` must have allowance for the caller of at least `subtractedValue`."},"increaseAllowance(address,uint256)":{"details":"Atomically increases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address."},"name()":{"details":"Returns the name of the token."},"symbol()":{"details":"Returns the symbol of the token, usually a shorter version of the name."},"totalSupply()":{"details":"See {IERC20-totalSupply}."},"transfer(address,uint256)":{"details":"See {IERC20-transfer}. Requirements: - `to` cannot be the zero address. - the caller must have a balance of at least `amount`."},"transferFrom(address,address,uint256)":{"details":"See {IERC20-transferFrom}. Emits an {Approval} event indicating the updated allowance. This is not required by the EIP. See the note at the beginning of {ERC20}. NOTE: Does not update the allowance if the current allowance is the maximum `uint256`. Requirements: - `from` and `to` cannot be the zero address. - `from` must have a balance of at least `amount`. - the caller must have allowance for ``from``'s tokens of at least `amount`."}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-contracts/=lib/safe-contracts/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":1000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol":"ERC20"},"evmVersion":"paris","libraries":{}},"sources":{"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol":{"keccak256":"0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c","urls":["bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15","dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305","urls":["bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5","dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol":{"keccak256":"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca","urls":["bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd","dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Context.sol":{"keccak256":"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7","urls":["bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92","dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3"],"license":"MIT"}},"version":1},"storageLayout":{"storage":[{"astId":56420,"contract":"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol:ERC20","label":"_balances","offset":0,"slot":"0","type":"t_mapping(t_address,t_uint256)"},{"astId":56426,"contract":"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol:ERC20","label":"_allowances","offset":0,"slot":"1","type":"t_mapping(t_address,t_mapping(t_address,t_uint256))"},{"astId":56428,"contract":"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol:ERC20","label":"_totalSupply","offset":0,"slot":"2","type":"t_uint256"},{"astId":56430,"contract":"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol:ERC20","label":"_name","offset":0,"slot":"3","type":"t_string_storage"},{"astId":56432,"contract":"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol:ERC20","label":"_symbol","offset":0,"slot":"4","type":"t_string_storage"}],"types":{"t_address":{"encoding":"inplace","label":"address","numberOfBytes":"20"},"t_mapping(t_address,t_mapping(t_address,t_uint256))":{"encoding":"mapping","key":"t_address","label":"mapping(address => mapping(address => uint256))","numberOfBytes":"32","value":"t_mapping(t_address,t_uint256)"},"t_mapping(t_address,t_uint256)":{"encoding":"mapping","key":"t_address","label":"mapping(address => uint256)","numberOfBytes":"32","value":"t_uint256"},"t_string_storage":{"encoding":"bytes","label":"string","numberOfBytes":"32"},"t_uint256":{"encoding":"inplace","label":"uint256","numberOfBytes":"32"}}},"ast":{"absolutePath":"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol","id":56992,"exportedSymbols":{"Context":[57903],"ERC20":[56991],"IERC20":[57069],"IERC20Metadata":[57094]},"nodeType":"SourceUnit","src":"105:12740:73","nodes":[{"id":56406,"nodeType":"PragmaDirective","src":"105:23:73","nodes":[],"literals":["solidity","^","0.8",".0"]},{"id":56407,"nodeType":"ImportDirective","src":"130:22:73","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol","file":"./IERC20.sol","nameLocation":"-1:-1:-1","scope":56992,"sourceUnit":57070,"symbolAliases":[],"unitAlias":""},{"id":56408,"nodeType":"ImportDirective","src":"153:41:73","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol","file":"./extensions/IERC20Metadata.sol","nameLocation":"-1:-1:-1","scope":56992,"sourceUnit":57095,"symbolAliases":[],"unitAlias":""},{"id":56409,"nodeType":"ImportDirective","src":"195:33:73","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/utils/Context.sol","file":"../../utils/Context.sol","nameLocation":"-1:-1:-1","scope":56992,"sourceUnit":57904,"symbolAliases":[],"unitAlias":""},{"id":56991,"nodeType":"ContractDefinition","src":"1532:11312:73","nodes":[{"id":56420,"nodeType":"VariableDeclaration","src":"1588:45:73","nodes":[],"constant":false,"mutability":"mutable","name":"_balances","nameLocation":"1624:9:73","scope":56991,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"typeName":{"id":56419,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":56417,"name":"address","nodeType":"ElementaryTypeName","src":"1596:7:73","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"1588:27:73","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":56418,"name":"uint256","nodeType":"ElementaryTypeName","src":"1607:7:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"private"},{"id":56426,"nodeType":"VariableDeclaration","src":"1640:67:73","nodes":[],"constant":false,"mutability":"mutable","name":"_allowances","nameLocation":"1696:11:73","scope":56991,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"},"typeName":{"id":56425,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":56421,"name":"address","nodeType":"ElementaryTypeName","src":"1648:7:73","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"1640:47:73","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":56424,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":56422,"name":"address","nodeType":"ElementaryTypeName","src":"1667:7:73","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"1659:27:73","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":56423,"name":"uint256","nodeType":"ElementaryTypeName","src":"1678:7:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}}},"visibility":"private"},{"id":56428,"nodeType":"VariableDeclaration","src":"1714:28:73","nodes":[],"constant":false,"mutability":"mutable","name":"_totalSupply","nameLocation":"1730:12:73","scope":56991,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56427,"name":"uint256","nodeType":"ElementaryTypeName","src":"1714:7:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"private"},{"id":56430,"nodeType":"VariableDeclaration","src":"1749:20:73","nodes":[],"constant":false,"mutability":"mutable","name":"_name","nameLocation":"1764:5:73","scope":56991,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string"},"typeName":{"id":56429,"name":"string","nodeType":"ElementaryTypeName","src":"1749:6:73","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"private"},{"id":56432,"nodeType":"VariableDeclaration","src":"1775:22:73","nodes":[],"constant":false,"mutability":"mutable","name":"_symbol","nameLocation":"1790:7:73","scope":56991,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string"},"typeName":{"id":56431,"name":"string","nodeType":"ElementaryTypeName","src":"1775:6:73","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"private"},{"id":56449,"nodeType":"FunctionDefinition","src":"1980:113:73","nodes":[],"body":{"id":56448,"nodeType":"Block","src":"2036:57:73","nodes":[],"statements":[{"expression":{"id":56442,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":56440,"name":"_name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56430,"src":"2046:5:73","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":56441,"name":"name_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56435,"src":"2054:5:73","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"2046:13:73","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"id":56443,"nodeType":"ExpressionStatement","src":"2046:13:73"},{"expression":{"id":56446,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":56444,"name":"_symbol","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56432,"src":"2069:7:73","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":56445,"name":"symbol_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56437,"src":"2079:7:73","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"2069:17:73","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"id":56447,"nodeType":"ExpressionStatement","src":"2069:17:73"}]},"documentation":{"id":56433,"nodeType":"StructuredDocumentation","src":"1804:171:73","text":" @dev Sets the values for {name} and {symbol}.\n All two of these values are immutable: they can only be set once during\n construction."},"implemented":true,"kind":"constructor","modifiers":[],"name":"","nameLocation":"-1:-1:-1","parameters":{"id":56438,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56435,"mutability":"mutable","name":"name_","nameLocation":"2006:5:73","nodeType":"VariableDeclaration","scope":56449,"src":"1992:19:73","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":56434,"name":"string","nodeType":"ElementaryTypeName","src":"1992:6:73","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":56437,"mutability":"mutable","name":"symbol_","nameLocation":"2027:7:73","nodeType":"VariableDeclaration","scope":56449,"src":"2013:21:73","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":56436,"name":"string","nodeType":"ElementaryTypeName","src":"2013:6:73","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1991:44:73"},"returnParameters":{"id":56439,"nodeType":"ParameterList","parameters":[],"src":"2036:0:73"},"scope":56991,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":56459,"nodeType":"FunctionDefinition","src":"2158:98:73","nodes":[],"body":{"id":56458,"nodeType":"Block","src":"2227:29:73","nodes":[],"statements":[{"expression":{"id":56456,"name":"_name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56430,"src":"2244:5:73","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"functionReturnParameters":56455,"id":56457,"nodeType":"Return","src":"2237:12:73"}]},"baseFunctions":[57081],"documentation":{"id":56450,"nodeType":"StructuredDocumentation","src":"2099:54:73","text":" @dev Returns the name of the token."},"functionSelector":"06fdde03","implemented":true,"kind":"function","modifiers":[],"name":"name","nameLocation":"2167:4:73","overrides":{"id":56452,"nodeType":"OverrideSpecifier","overrides":[],"src":"2194:8:73"},"parameters":{"id":56451,"nodeType":"ParameterList","parameters":[],"src":"2171:2:73"},"returnParameters":{"id":56455,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56454,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":56459,"src":"2212:13:73","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":56453,"name":"string","nodeType":"ElementaryTypeName","src":"2212:6:73","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2211:15:73"},"scope":56991,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":56469,"nodeType":"FunctionDefinition","src":"2369:102:73","nodes":[],"body":{"id":56468,"nodeType":"Block","src":"2440:31:73","nodes":[],"statements":[{"expression":{"id":56466,"name":"_symbol","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56432,"src":"2457:7:73","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"functionReturnParameters":56465,"id":56467,"nodeType":"Return","src":"2450:14:73"}]},"baseFunctions":[57087],"documentation":{"id":56460,"nodeType":"StructuredDocumentation","src":"2262:102:73","text":" @dev Returns the symbol of the token, usually a shorter version of the\n name."},"functionSelector":"95d89b41","implemented":true,"kind":"function","modifiers":[],"name":"symbol","nameLocation":"2378:6:73","overrides":{"id":56462,"nodeType":"OverrideSpecifier","overrides":[],"src":"2407:8:73"},"parameters":{"id":56461,"nodeType":"ParameterList","parameters":[],"src":"2384:2:73"},"returnParameters":{"id":56465,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56464,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":56469,"src":"2425:13:73","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":56463,"name":"string","nodeType":"ElementaryTypeName","src":"2425:6:73","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2424:15:73"},"scope":56991,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":56479,"nodeType":"FunctionDefinition","src":"3104:91:73","nodes":[],"body":{"id":56478,"nodeType":"Block","src":"3169:26:73","nodes":[],"statements":[{"expression":{"hexValue":"3138","id":56476,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3186:2:73","typeDescriptions":{"typeIdentifier":"t_rational_18_by_1","typeString":"int_const 18"},"value":"18"},"functionReturnParameters":56475,"id":56477,"nodeType":"Return","src":"3179:9:73"}]},"baseFunctions":[57093],"documentation":{"id":56470,"nodeType":"StructuredDocumentation","src":"2477:622:73","text":" @dev Returns the number of decimals used to get its user representation.\n For example, if `decimals` equals `2`, a balance of `505` tokens should\n be displayed to a user as `5.05` (`505 / 10 ** 2`).\n Tokens usually opt for a value of 18, imitating the relationship between\n Ether and Wei. This is the default value returned by this function, unless\n it's overridden.\n NOTE: This information is only used for _display_ purposes: it in\n no way affects any of the arithmetic of the contract, including\n {IERC20-balanceOf} and {IERC20-transfer}."},"functionSelector":"313ce567","implemented":true,"kind":"function","modifiers":[],"name":"decimals","nameLocation":"3113:8:73","overrides":{"id":56472,"nodeType":"OverrideSpecifier","overrides":[],"src":"3144:8:73"},"parameters":{"id":56471,"nodeType":"ParameterList","parameters":[],"src":"3121:2:73"},"returnParameters":{"id":56475,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56474,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":56479,"src":"3162:5:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":56473,"name":"uint8","nodeType":"ElementaryTypeName","src":"3162:5:73","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"3161:7:73"},"scope":56991,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":56489,"nodeType":"FunctionDefinition","src":"3255:106:73","nodes":[],"body":{"id":56488,"nodeType":"Block","src":"3325:36:73","nodes":[],"statements":[{"expression":{"id":56486,"name":"_totalSupply","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56428,"src":"3342:12:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":56485,"id":56487,"nodeType":"Return","src":"3335:19:73"}]},"baseFunctions":[57018],"documentation":{"id":56480,"nodeType":"StructuredDocumentation","src":"3201:49:73","text":" @dev See {IERC20-totalSupply}."},"functionSelector":"18160ddd","implemented":true,"kind":"function","modifiers":[],"name":"totalSupply","nameLocation":"3264:11:73","overrides":{"id":56482,"nodeType":"OverrideSpecifier","overrides":[],"src":"3298:8:73"},"parameters":{"id":56481,"nodeType":"ParameterList","parameters":[],"src":"3275:2:73"},"returnParameters":{"id":56485,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56484,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":56489,"src":"3316:7:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56483,"name":"uint256","nodeType":"ElementaryTypeName","src":"3316:7:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3315:9:73"},"scope":56991,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":56503,"nodeType":"FunctionDefinition","src":"3419:125:73","nodes":[],"body":{"id":56502,"nodeType":"Block","src":"3502:42:73","nodes":[],"statements":[{"expression":{"baseExpression":{"id":56498,"name":"_balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56420,"src":"3519:9:73","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":56500,"indexExpression":{"id":56499,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56492,"src":"3529:7:73","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3519:18:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":56497,"id":56501,"nodeType":"Return","src":"3512:25:73"}]},"baseFunctions":[57026],"documentation":{"id":56490,"nodeType":"StructuredDocumentation","src":"3367:47:73","text":" @dev See {IERC20-balanceOf}."},"functionSelector":"70a08231","implemented":true,"kind":"function","modifiers":[],"name":"balanceOf","nameLocation":"3428:9:73","overrides":{"id":56494,"nodeType":"OverrideSpecifier","overrides":[],"src":"3475:8:73"},"parameters":{"id":56493,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56492,"mutability":"mutable","name":"account","nameLocation":"3446:7:73","nodeType":"VariableDeclaration","scope":56503,"src":"3438:15:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56491,"name":"address","nodeType":"ElementaryTypeName","src":"3438:7:73","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3437:17:73"},"returnParameters":{"id":56497,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56496,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":56503,"src":"3493:7:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56495,"name":"uint256","nodeType":"ElementaryTypeName","src":"3493:7:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3492:9:73"},"scope":56991,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":56528,"nodeType":"FunctionDefinition","src":"3740:189:73","nodes":[],"body":{"id":56527,"nodeType":"Block","src":"3825:104:73","nodes":[],"statements":[{"assignments":[56515],"declarations":[{"constant":false,"id":56515,"mutability":"mutable","name":"owner","nameLocation":"3843:5:73","nodeType":"VariableDeclaration","scope":56527,"src":"3835:13:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56514,"name":"address","nodeType":"ElementaryTypeName","src":"3835:7:73","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":56518,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":56516,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57893,"src":"3851:10:73","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":56517,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3851:12:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"3835:28:73"},{"expression":{"arguments":[{"id":56520,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56515,"src":"3883:5:73","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56521,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56506,"src":"3890:2:73","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56522,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56508,"src":"3894:6:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":56519,"name":"_transfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56751,"src":"3873:9:73","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":56523,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3873:28:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56524,"nodeType":"ExpressionStatement","src":"3873:28:73"},{"expression":{"hexValue":"74727565","id":56525,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"3918:4:73","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":56513,"id":56526,"nodeType":"Return","src":"3911:11:73"}]},"baseFunctions":[57036],"documentation":{"id":56504,"nodeType":"StructuredDocumentation","src":"3550:185:73","text":" @dev See {IERC20-transfer}.\n Requirements:\n - `to` cannot be the zero address.\n - the caller must have a balance of at least `amount`."},"functionSelector":"a9059cbb","implemented":true,"kind":"function","modifiers":[],"name":"transfer","nameLocation":"3749:8:73","overrides":{"id":56510,"nodeType":"OverrideSpecifier","overrides":[],"src":"3801:8:73"},"parameters":{"id":56509,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56506,"mutability":"mutable","name":"to","nameLocation":"3766:2:73","nodeType":"VariableDeclaration","scope":56528,"src":"3758:10:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56505,"name":"address","nodeType":"ElementaryTypeName","src":"3758:7:73","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56508,"mutability":"mutable","name":"amount","nameLocation":"3778:6:73","nodeType":"VariableDeclaration","scope":56528,"src":"3770:14:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56507,"name":"uint256","nodeType":"ElementaryTypeName","src":"3770:7:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3757:28:73"},"returnParameters":{"id":56513,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56512,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":56528,"src":"3819:4:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":56511,"name":"bool","nodeType":"ElementaryTypeName","src":"3819:4:73","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"3818:6:73"},"scope":56991,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":56546,"nodeType":"FunctionDefinition","src":"3987:149:73","nodes":[],"body":{"id":56545,"nodeType":"Block","src":"4085:51:73","nodes":[],"statements":[{"expression":{"baseExpression":{"baseExpression":{"id":56539,"name":"_allowances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56426,"src":"4102:11:73","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"}},"id":56541,"indexExpression":{"id":56540,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56531,"src":"4114:5:73","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4102:18:73","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":56543,"indexExpression":{"id":56542,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56533,"src":"4121:7:73","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4102:27:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":56538,"id":56544,"nodeType":"Return","src":"4095:34:73"}]},"baseFunctions":[57046],"documentation":{"id":56529,"nodeType":"StructuredDocumentation","src":"3935:47:73","text":" @dev See {IERC20-allowance}."},"functionSelector":"dd62ed3e","implemented":true,"kind":"function","modifiers":[],"name":"allowance","nameLocation":"3996:9:73","overrides":{"id":56535,"nodeType":"OverrideSpecifier","overrides":[],"src":"4058:8:73"},"parameters":{"id":56534,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56531,"mutability":"mutable","name":"owner","nameLocation":"4014:5:73","nodeType":"VariableDeclaration","scope":56546,"src":"4006:13:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56530,"name":"address","nodeType":"ElementaryTypeName","src":"4006:7:73","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56533,"mutability":"mutable","name":"spender","nameLocation":"4029:7:73","nodeType":"VariableDeclaration","scope":56546,"src":"4021:15:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56532,"name":"address","nodeType":"ElementaryTypeName","src":"4021:7:73","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4005:32:73"},"returnParameters":{"id":56538,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56537,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":56546,"src":"4076:7:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56536,"name":"uint256","nodeType":"ElementaryTypeName","src":"4076:7:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4075:9:73"},"scope":56991,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":56571,"nodeType":"FunctionDefinition","src":"4444:197:73","nodes":[],"body":{"id":56570,"nodeType":"Block","src":"4533:108:73","nodes":[],"statements":[{"assignments":[56558],"declarations":[{"constant":false,"id":56558,"mutability":"mutable","name":"owner","nameLocation":"4551:5:73","nodeType":"VariableDeclaration","scope":56570,"src":"4543:13:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56557,"name":"address","nodeType":"ElementaryTypeName","src":"4543:7:73","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":56561,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":56559,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57893,"src":"4559:10:73","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":56560,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4559:12:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"4543:28:73"},{"expression":{"arguments":[{"id":56563,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56558,"src":"4590:5:73","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56564,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56549,"src":"4597:7:73","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56565,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56551,"src":"4606:6:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":56562,"name":"_approve","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56925,"src":"4581:8:73","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":56566,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4581:32:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56567,"nodeType":"ExpressionStatement","src":"4581:32:73"},{"expression":{"hexValue":"74727565","id":56568,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"4630:4:73","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":56556,"id":56569,"nodeType":"Return","src":"4623:11:73"}]},"baseFunctions":[57056],"documentation":{"id":56547,"nodeType":"StructuredDocumentation","src":"4142:297:73","text":" @dev See {IERC20-approve}.\n NOTE: If `amount` is the maximum `uint256`, the allowance is not updated on\n `transferFrom`. This is semantically equivalent to an infinite approval.\n Requirements:\n - `spender` cannot be the zero address."},"functionSelector":"095ea7b3","implemented":true,"kind":"function","modifiers":[],"name":"approve","nameLocation":"4453:7:73","overrides":{"id":56553,"nodeType":"OverrideSpecifier","overrides":[],"src":"4509:8:73"},"parameters":{"id":56552,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56549,"mutability":"mutable","name":"spender","nameLocation":"4469:7:73","nodeType":"VariableDeclaration","scope":56571,"src":"4461:15:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56548,"name":"address","nodeType":"ElementaryTypeName","src":"4461:7:73","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56551,"mutability":"mutable","name":"amount","nameLocation":"4486:6:73","nodeType":"VariableDeclaration","scope":56571,"src":"4478:14:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56550,"name":"uint256","nodeType":"ElementaryTypeName","src":"4478:7:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4460:33:73"},"returnParameters":{"id":56556,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56555,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":56571,"src":"4527:4:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":56554,"name":"bool","nodeType":"ElementaryTypeName","src":"4527:4:73","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"4526:6:73"},"scope":56991,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":56604,"nodeType":"FunctionDefinition","src":"5203:256:73","nodes":[],"body":{"id":56603,"nodeType":"Block","src":"5306:153:73","nodes":[],"statements":[{"assignments":[56585],"declarations":[{"constant":false,"id":56585,"mutability":"mutable","name":"spender","nameLocation":"5324:7:73","nodeType":"VariableDeclaration","scope":56603,"src":"5316:15:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56584,"name":"address","nodeType":"ElementaryTypeName","src":"5316:7:73","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":56588,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":56586,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57893,"src":"5334:10:73","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":56587,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5334:12:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"5316:30:73"},{"expression":{"arguments":[{"id":56590,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56574,"src":"5372:4:73","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56591,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56585,"src":"5378:7:73","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56592,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56578,"src":"5387:6:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":56589,"name":"_spendAllowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56968,"src":"5356:15:73","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":56593,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5356:38:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56594,"nodeType":"ExpressionStatement","src":"5356:38:73"},{"expression":{"arguments":[{"id":56596,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56574,"src":"5414:4:73","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56597,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56576,"src":"5420:2:73","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56598,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56578,"src":"5424:6:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":56595,"name":"_transfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56751,"src":"5404:9:73","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":56599,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5404:27:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56600,"nodeType":"ExpressionStatement","src":"5404:27:73"},{"expression":{"hexValue":"74727565","id":56601,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"5448:4:73","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":56583,"id":56602,"nodeType":"Return","src":"5441:11:73"}]},"baseFunctions":[57068],"documentation":{"id":56572,"nodeType":"StructuredDocumentation","src":"4647:551:73","text":" @dev See {IERC20-transferFrom}.\n Emits an {Approval} event indicating the updated allowance. This is not\n required by the EIP. See the note at the beginning of {ERC20}.\n NOTE: Does not update the allowance if the current allowance\n is the maximum `uint256`.\n Requirements:\n - `from` and `to` cannot be the zero address.\n - `from` must have a balance of at least `amount`.\n - the caller must have allowance for ``from``'s tokens of at least\n `amount`."},"functionSelector":"23b872dd","implemented":true,"kind":"function","modifiers":[],"name":"transferFrom","nameLocation":"5212:12:73","overrides":{"id":56580,"nodeType":"OverrideSpecifier","overrides":[],"src":"5282:8:73"},"parameters":{"id":56579,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56574,"mutability":"mutable","name":"from","nameLocation":"5233:4:73","nodeType":"VariableDeclaration","scope":56604,"src":"5225:12:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56573,"name":"address","nodeType":"ElementaryTypeName","src":"5225:7:73","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56576,"mutability":"mutable","name":"to","nameLocation":"5247:2:73","nodeType":"VariableDeclaration","scope":56604,"src":"5239:10:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56575,"name":"address","nodeType":"ElementaryTypeName","src":"5239:7:73","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56578,"mutability":"mutable","name":"amount","nameLocation":"5259:6:73","nodeType":"VariableDeclaration","scope":56604,"src":"5251:14:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56577,"name":"uint256","nodeType":"ElementaryTypeName","src":"5251:7:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5224:42:73"},"returnParameters":{"id":56583,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56582,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":56604,"src":"5300:4:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":56581,"name":"bool","nodeType":"ElementaryTypeName","src":"5300:4:73","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"5299:6:73"},"scope":56991,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":56633,"nodeType":"FunctionDefinition","src":"5854:234:73","nodes":[],"body":{"id":56632,"nodeType":"Block","src":"5948:140:73","nodes":[],"statements":[{"assignments":[56615],"declarations":[{"constant":false,"id":56615,"mutability":"mutable","name":"owner","nameLocation":"5966:5:73","nodeType":"VariableDeclaration","scope":56632,"src":"5958:13:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56614,"name":"address","nodeType":"ElementaryTypeName","src":"5958:7:73","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":56618,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":56616,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57893,"src":"5974:10:73","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":56617,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5974:12:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"5958:28:73"},{"expression":{"arguments":[{"id":56620,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56615,"src":"6005:5:73","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56621,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56607,"src":"6012:7:73","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":56627,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":56623,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56615,"src":"6031:5:73","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56624,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56607,"src":"6038:7:73","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":56622,"name":"allowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56546,"src":"6021:9:73","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view returns (uint256)"}},"id":56625,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6021:25:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":56626,"name":"addedValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56609,"src":"6049:10:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6021:38:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":56619,"name":"_approve","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56925,"src":"5996:8:73","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":56628,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5996:64:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56629,"nodeType":"ExpressionStatement","src":"5996:64:73"},{"expression":{"hexValue":"74727565","id":56630,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"6077:4:73","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":56613,"id":56631,"nodeType":"Return","src":"6070:11:73"}]},"documentation":{"id":56605,"nodeType":"StructuredDocumentation","src":"5465:384:73","text":" @dev Atomically increases the allowance granted to `spender` by the caller.\n This is an alternative to {approve} that can be used as a mitigation for\n problems described in {IERC20-approve}.\n Emits an {Approval} event indicating the updated allowance.\n Requirements:\n - `spender` cannot be the zero address."},"functionSelector":"39509351","implemented":true,"kind":"function","modifiers":[],"name":"increaseAllowance","nameLocation":"5863:17:73","parameters":{"id":56610,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56607,"mutability":"mutable","name":"spender","nameLocation":"5889:7:73","nodeType":"VariableDeclaration","scope":56633,"src":"5881:15:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56606,"name":"address","nodeType":"ElementaryTypeName","src":"5881:7:73","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56609,"mutability":"mutable","name":"addedValue","nameLocation":"5906:10:73","nodeType":"VariableDeclaration","scope":56633,"src":"5898:18:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56608,"name":"uint256","nodeType":"ElementaryTypeName","src":"5898:7:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5880:37:73"},"returnParameters":{"id":56613,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56612,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":56633,"src":"5942:4:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":56611,"name":"bool","nodeType":"ElementaryTypeName","src":"5942:4:73","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"5941:6:73"},"scope":56991,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":56674,"nodeType":"FunctionDefinition","src":"6575:427:73","nodes":[],"body":{"id":56673,"nodeType":"Block","src":"6674:328:73","nodes":[],"statements":[{"assignments":[56644],"declarations":[{"constant":false,"id":56644,"mutability":"mutable","name":"owner","nameLocation":"6692:5:73","nodeType":"VariableDeclaration","scope":56673,"src":"6684:13:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56643,"name":"address","nodeType":"ElementaryTypeName","src":"6684:7:73","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":56647,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":56645,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57893,"src":"6700:10:73","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":56646,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6700:12:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"6684:28:73"},{"assignments":[56649],"declarations":[{"constant":false,"id":56649,"mutability":"mutable","name":"currentAllowance","nameLocation":"6730:16:73","nodeType":"VariableDeclaration","scope":56673,"src":"6722:24:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56648,"name":"uint256","nodeType":"ElementaryTypeName","src":"6722:7:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":56654,"initialValue":{"arguments":[{"id":56651,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56644,"src":"6759:5:73","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56652,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56636,"src":"6766:7:73","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":56650,"name":"allowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56546,"src":"6749:9:73","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view returns (uint256)"}},"id":56653,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6749:25:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"6722:52:73"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":56658,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":56656,"name":"currentAllowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56649,"src":"6792:16:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":56657,"name":"subtractedValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56638,"src":"6812:15:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6792:35:73","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726f","id":56659,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6829:39:73","typeDescriptions":{"typeIdentifier":"t_stringliteral_f8b476f7d28209d77d4a4ac1fe36b9f8259aa1bb6bddfa6e89de7e51615cf8a8","typeString":"literal_string \"ERC20: decreased allowance below zero\""},"value":"ERC20: decreased allowance below zero"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_f8b476f7d28209d77d4a4ac1fe36b9f8259aa1bb6bddfa6e89de7e51615cf8a8","typeString":"literal_string \"ERC20: decreased allowance below zero\""}],"id":56655,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"6784:7:73","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":56660,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6784:85:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56661,"nodeType":"ExpressionStatement","src":"6784:85:73"},{"id":56670,"nodeType":"UncheckedBlock","src":"6879:95:73","statements":[{"expression":{"arguments":[{"id":56663,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56644,"src":"6912:5:73","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56664,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56636,"src":"6919:7:73","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":56667,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":56665,"name":"currentAllowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56649,"src":"6928:16:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":56666,"name":"subtractedValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56638,"src":"6947:15:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6928:34:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":56662,"name":"_approve","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56925,"src":"6903:8:73","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":56668,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6903:60:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56669,"nodeType":"ExpressionStatement","src":"6903:60:73"}]},{"expression":{"hexValue":"74727565","id":56671,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"6991:4:73","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":56642,"id":56672,"nodeType":"Return","src":"6984:11:73"}]},"documentation":{"id":56634,"nodeType":"StructuredDocumentation","src":"6094:476:73","text":" @dev Atomically decreases the allowance granted to `spender` by the caller.\n This is an alternative to {approve} that can be used as a mitigation for\n problems described in {IERC20-approve}.\n Emits an {Approval} event indicating the updated allowance.\n Requirements:\n - `spender` cannot be the zero address.\n - `spender` must have allowance for the caller of at least\n `subtractedValue`."},"functionSelector":"a457c2d7","implemented":true,"kind":"function","modifiers":[],"name":"decreaseAllowance","nameLocation":"6584:17:73","parameters":{"id":56639,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56636,"mutability":"mutable","name":"spender","nameLocation":"6610:7:73","nodeType":"VariableDeclaration","scope":56674,"src":"6602:15:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56635,"name":"address","nodeType":"ElementaryTypeName","src":"6602:7:73","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56638,"mutability":"mutable","name":"subtractedValue","nameLocation":"6627:15:73","nodeType":"VariableDeclaration","scope":56674,"src":"6619:23:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56637,"name":"uint256","nodeType":"ElementaryTypeName","src":"6619:7:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6601:42:73"},"returnParameters":{"id":56642,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56641,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":56674,"src":"6668:4:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":56640,"name":"bool","nodeType":"ElementaryTypeName","src":"6668:4:73","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"6667:6:73"},"scope":56991,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":56751,"nodeType":"FunctionDefinition","src":"7456:788:73","nodes":[],"body":{"id":56750,"nodeType":"Block","src":"7534:710:73","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":56690,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":56685,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56677,"src":"7552:4:73","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":56688,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7568:1:73","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":56687,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7560:7:73","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":56686,"name":"address","nodeType":"ElementaryTypeName","src":"7560:7:73","typeDescriptions":{}}},"id":56689,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7560:10:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"7552:18:73","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"45524332303a207472616e736665722066726f6d20746865207a65726f2061646472657373","id":56691,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7572:39:73","typeDescriptions":{"typeIdentifier":"t_stringliteral_baecc556b46f4ed0f2b4cb599d60785ac8563dd2dc0a5bf12edea1c39e5e1fea","typeString":"literal_string \"ERC20: transfer from the zero address\""},"value":"ERC20: transfer from the zero address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_baecc556b46f4ed0f2b4cb599d60785ac8563dd2dc0a5bf12edea1c39e5e1fea","typeString":"literal_string \"ERC20: transfer from the zero address\""}],"id":56684,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"7544:7:73","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":56692,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7544:68:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56693,"nodeType":"ExpressionStatement","src":"7544:68:73"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":56700,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":56695,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56679,"src":"7630:2:73","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":56698,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7644:1:73","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":56697,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7636:7:73","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":56696,"name":"address","nodeType":"ElementaryTypeName","src":"7636:7:73","typeDescriptions":{}}},"id":56699,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7636:10:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"7630:16:73","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"45524332303a207472616e7366657220746f20746865207a65726f2061646472657373","id":56701,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7648:37:73","typeDescriptions":{"typeIdentifier":"t_stringliteral_0557e210f7a69a685100a7e4e3d0a7024c546085cee28910fd17d0b081d9516f","typeString":"literal_string \"ERC20: transfer to the zero address\""},"value":"ERC20: transfer to the zero address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_0557e210f7a69a685100a7e4e3d0a7024c546085cee28910fd17d0b081d9516f","typeString":"literal_string \"ERC20: transfer to the zero address\""}],"id":56694,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"7622:7:73","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":56702,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7622:64:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56703,"nodeType":"ExpressionStatement","src":"7622:64:73"},{"expression":{"arguments":[{"id":56705,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56677,"src":"7718:4:73","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56706,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56679,"src":"7724:2:73","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56707,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56681,"src":"7728:6:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":56704,"name":"_beforeTokenTransfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56979,"src":"7697:20:73","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":56708,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7697:38:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56709,"nodeType":"ExpressionStatement","src":"7697:38:73"},{"assignments":[56711],"declarations":[{"constant":false,"id":56711,"mutability":"mutable","name":"fromBalance","nameLocation":"7754:11:73","nodeType":"VariableDeclaration","scope":56750,"src":"7746:19:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56710,"name":"uint256","nodeType":"ElementaryTypeName","src":"7746:7:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":56715,"initialValue":{"baseExpression":{"id":56712,"name":"_balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56420,"src":"7768:9:73","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":56714,"indexExpression":{"id":56713,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56677,"src":"7778:4:73","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"7768:15:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"7746:37:73"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":56719,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":56717,"name":"fromBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56711,"src":"7801:11:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":56718,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56681,"src":"7816:6:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7801:21:73","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"45524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e6365","id":56720,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7824:40:73","typeDescriptions":{"typeIdentifier":"t_stringliteral_4107e8a8b9e94bf8ff83080ddec1c0bffe897ebc2241b89d44f66b3d274088b6","typeString":"literal_string \"ERC20: transfer amount exceeds balance\""},"value":"ERC20: transfer amount exceeds balance"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_4107e8a8b9e94bf8ff83080ddec1c0bffe897ebc2241b89d44f66b3d274088b6","typeString":"literal_string \"ERC20: transfer amount exceeds balance\""}],"id":56716,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"7793:7:73","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":56721,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7793:72:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56722,"nodeType":"ExpressionStatement","src":"7793:72:73"},{"id":56737,"nodeType":"UncheckedBlock","src":"7875:273:73","statements":[{"expression":{"id":56729,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":56723,"name":"_balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56420,"src":"7899:9:73","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":56725,"indexExpression":{"id":56724,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56677,"src":"7909:4:73","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"7899:15:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":56728,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":56726,"name":"fromBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56711,"src":"7917:11:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":56727,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56681,"src":"7931:6:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7917:20:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7899:38:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":56730,"nodeType":"ExpressionStatement","src":"7899:38:73"},{"expression":{"id":56735,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":56731,"name":"_balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56420,"src":"8114:9:73","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":56733,"indexExpression":{"id":56732,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56679,"src":"8124:2:73","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"8114:13:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"id":56734,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56681,"src":"8131:6:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8114:23:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":56736,"nodeType":"ExpressionStatement","src":"8114:23:73"}]},{"eventCall":{"arguments":[{"id":56739,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56677,"src":"8172:4:73","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56740,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56679,"src":"8178:2:73","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56741,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56681,"src":"8182:6:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":56738,"name":"Transfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57003,"src":"8163:8:73","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":56742,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8163:26:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56743,"nodeType":"EmitStatement","src":"8158:31:73"},{"expression":{"arguments":[{"id":56745,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56677,"src":"8220:4:73","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56746,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56679,"src":"8226:2:73","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56747,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56681,"src":"8230:6:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":56744,"name":"_afterTokenTransfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56990,"src":"8200:19:73","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":56748,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8200:37:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56749,"nodeType":"ExpressionStatement","src":"8200:37:73"}]},"documentation":{"id":56675,"nodeType":"StructuredDocumentation","src":"7008:443:73","text":" @dev Moves `amount` of tokens from `from` to `to`.\n This internal function is equivalent to {transfer}, and can be used to\n e.g. implement automatic token fees, slashing mechanisms, etc.\n Emits a {Transfer} event.\n Requirements:\n - `from` cannot be the zero address.\n - `to` cannot be the zero address.\n - `from` must have a balance of at least `amount`."},"implemented":true,"kind":"function","modifiers":[],"name":"_transfer","nameLocation":"7465:9:73","parameters":{"id":56682,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56677,"mutability":"mutable","name":"from","nameLocation":"7483:4:73","nodeType":"VariableDeclaration","scope":56751,"src":"7475:12:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56676,"name":"address","nodeType":"ElementaryTypeName","src":"7475:7:73","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56679,"mutability":"mutable","name":"to","nameLocation":"7497:2:73","nodeType":"VariableDeclaration","scope":56751,"src":"7489:10:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56678,"name":"address","nodeType":"ElementaryTypeName","src":"7489:7:73","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56681,"mutability":"mutable","name":"amount","nameLocation":"7509:6:73","nodeType":"VariableDeclaration","scope":56751,"src":"7501:14:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56680,"name":"uint256","nodeType":"ElementaryTypeName","src":"7501:7:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7474:42:73"},"returnParameters":{"id":56683,"nodeType":"ParameterList","parameters":[],"src":"7534:0:73"},"scope":56991,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":56808,"nodeType":"FunctionDefinition","src":"8520:535:73","nodes":[],"body":{"id":56807,"nodeType":"Block","src":"8585:470:73","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":56765,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":56760,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56754,"src":"8603:7:73","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":56763,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8622:1:73","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":56762,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8614:7:73","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":56761,"name":"address","nodeType":"ElementaryTypeName","src":"8614:7:73","typeDescriptions":{}}},"id":56764,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8614:10:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"8603:21:73","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"45524332303a206d696e7420746f20746865207a65726f2061646472657373","id":56766,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8626:33:73","typeDescriptions":{"typeIdentifier":"t_stringliteral_fc0b381caf0a47702017f3c4b358ebe3d3aff6c60ce819a8bf3ef5a95d4f202e","typeString":"literal_string \"ERC20: mint to the zero address\""},"value":"ERC20: mint to the zero address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_fc0b381caf0a47702017f3c4b358ebe3d3aff6c60ce819a8bf3ef5a95d4f202e","typeString":"literal_string \"ERC20: mint to the zero address\""}],"id":56759,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"8595:7:73","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":56767,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8595:65:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56768,"nodeType":"ExpressionStatement","src":"8595:65:73"},{"expression":{"arguments":[{"arguments":[{"hexValue":"30","id":56772,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8700:1:73","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":56771,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8692:7:73","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":56770,"name":"address","nodeType":"ElementaryTypeName","src":"8692:7:73","typeDescriptions":{}}},"id":56773,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8692:10:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56774,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56754,"src":"8704:7:73","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56775,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56756,"src":"8713:6:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":56769,"name":"_beforeTokenTransfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56979,"src":"8671:20:73","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":56776,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8671:49:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56777,"nodeType":"ExpressionStatement","src":"8671:49:73"},{"expression":{"id":56780,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":56778,"name":"_totalSupply","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56428,"src":"8731:12:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"id":56779,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56756,"src":"8747:6:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8731:22:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":56781,"nodeType":"ExpressionStatement","src":"8731:22:73"},{"id":56788,"nodeType":"UncheckedBlock","src":"8763:175:73","statements":[{"expression":{"id":56786,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":56782,"name":"_balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56420,"src":"8899:9:73","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":56784,"indexExpression":{"id":56783,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56754,"src":"8909:7:73","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"8899:18:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"id":56785,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56756,"src":"8921:6:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8899:28:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":56787,"nodeType":"ExpressionStatement","src":"8899:28:73"}]},{"eventCall":{"arguments":[{"arguments":[{"hexValue":"30","id":56792,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8969:1:73","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":56791,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8961:7:73","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":56790,"name":"address","nodeType":"ElementaryTypeName","src":"8961:7:73","typeDescriptions":{}}},"id":56793,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8961:10:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56794,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56754,"src":"8973:7:73","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56795,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56756,"src":"8982:6:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":56789,"name":"Transfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57003,"src":"8952:8:73","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":56796,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8952:37:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56797,"nodeType":"EmitStatement","src":"8947:42:73"},{"expression":{"arguments":[{"arguments":[{"hexValue":"30","id":56801,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9028:1:73","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":56800,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9020:7:73","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":56799,"name":"address","nodeType":"ElementaryTypeName","src":"9020:7:73","typeDescriptions":{}}},"id":56802,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9020:10:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56803,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56754,"src":"9032:7:73","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56804,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56756,"src":"9041:6:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":56798,"name":"_afterTokenTransfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56990,"src":"9000:19:73","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":56805,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9000:48:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56806,"nodeType":"ExpressionStatement","src":"9000:48:73"}]},"documentation":{"id":56752,"nodeType":"StructuredDocumentation","src":"8250:265:73","text":"@dev Creates `amount` tokens and assigns them to `account`, increasing\n the total supply.\n Emits a {Transfer} event with `from` set to the zero address.\n Requirements:\n - `account` cannot be the zero address."},"implemented":true,"kind":"function","modifiers":[],"name":"_mint","nameLocation":"8529:5:73","parameters":{"id":56757,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56754,"mutability":"mutable","name":"account","nameLocation":"8543:7:73","nodeType":"VariableDeclaration","scope":56808,"src":"8535:15:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56753,"name":"address","nodeType":"ElementaryTypeName","src":"8535:7:73","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56756,"mutability":"mutable","name":"amount","nameLocation":"8560:6:73","nodeType":"VariableDeclaration","scope":56808,"src":"8552:14:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56755,"name":"uint256","nodeType":"ElementaryTypeName","src":"8552:7:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8534:33:73"},"returnParameters":{"id":56758,"nodeType":"ParameterList","parameters":[],"src":"8585:0:73"},"scope":56991,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":56880,"nodeType":"FunctionDefinition","src":"9375:659:73","nodes":[],"body":{"id":56879,"nodeType":"Block","src":"9440:594:73","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":56822,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":56817,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56811,"src":"9458:7:73","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":56820,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9477:1:73","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":56819,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9469:7:73","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":56818,"name":"address","nodeType":"ElementaryTypeName","src":"9469:7:73","typeDescriptions":{}}},"id":56821,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9469:10:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"9458:21:73","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"45524332303a206275726e2066726f6d20746865207a65726f2061646472657373","id":56823,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9481:35:73","typeDescriptions":{"typeIdentifier":"t_stringliteral_b16788493b576042bb52c50ed56189e0b250db113c7bfb1c3897d25cf9632d7f","typeString":"literal_string \"ERC20: burn from the zero address\""},"value":"ERC20: burn from the zero address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_b16788493b576042bb52c50ed56189e0b250db113c7bfb1c3897d25cf9632d7f","typeString":"literal_string \"ERC20: burn from the zero address\""}],"id":56816,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"9450:7:73","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":56824,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9450:67:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56825,"nodeType":"ExpressionStatement","src":"9450:67:73"},{"expression":{"arguments":[{"id":56827,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56811,"src":"9549:7:73","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"30","id":56830,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9566:1:73","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":56829,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9558:7:73","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":56828,"name":"address","nodeType":"ElementaryTypeName","src":"9558:7:73","typeDescriptions":{}}},"id":56831,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9558:10:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56832,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56813,"src":"9570:6:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":56826,"name":"_beforeTokenTransfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56979,"src":"9528:20:73","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":56833,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9528:49:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56834,"nodeType":"ExpressionStatement","src":"9528:49:73"},{"assignments":[56836],"declarations":[{"constant":false,"id":56836,"mutability":"mutable","name":"accountBalance","nameLocation":"9596:14:73","nodeType":"VariableDeclaration","scope":56879,"src":"9588:22:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56835,"name":"uint256","nodeType":"ElementaryTypeName","src":"9588:7:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":56840,"initialValue":{"baseExpression":{"id":56837,"name":"_balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56420,"src":"9613:9:73","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":56839,"indexExpression":{"id":56838,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56811,"src":"9623:7:73","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"9613:18:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"9588:43:73"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":56844,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":56842,"name":"accountBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56836,"src":"9649:14:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":56843,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56813,"src":"9667:6:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9649:24:73","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"45524332303a206275726e20616d6f756e7420657863656564732062616c616e6365","id":56845,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9675:36:73","typeDescriptions":{"typeIdentifier":"t_stringliteral_149b126e7125232b4200af45303d04fba8b74653b1a295a6a561a528c33fefdd","typeString":"literal_string \"ERC20: burn amount exceeds balance\""},"value":"ERC20: burn amount exceeds balance"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_149b126e7125232b4200af45303d04fba8b74653b1a295a6a561a528c33fefdd","typeString":"literal_string \"ERC20: burn amount exceeds balance\""}],"id":56841,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"9641:7:73","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":56846,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9641:71:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56847,"nodeType":"ExpressionStatement","src":"9641:71:73"},{"id":56860,"nodeType":"UncheckedBlock","src":"9722:194:73","statements":[{"expression":{"id":56854,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":56848,"name":"_balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56420,"src":"9746:9:73","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":56850,"indexExpression":{"id":56849,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56811,"src":"9756:7:73","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"9746:18:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":56853,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":56851,"name":"accountBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56836,"src":"9767:14:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":56852,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56813,"src":"9784:6:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9767:23:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9746:44:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":56855,"nodeType":"ExpressionStatement","src":"9746:44:73"},{"expression":{"id":56858,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":56856,"name":"_totalSupply","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56428,"src":"9883:12:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"id":56857,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56813,"src":"9899:6:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9883:22:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":56859,"nodeType":"ExpressionStatement","src":"9883:22:73"}]},{"eventCall":{"arguments":[{"id":56862,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56811,"src":"9940:7:73","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"30","id":56865,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9957:1:73","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":56864,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9949:7:73","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":56863,"name":"address","nodeType":"ElementaryTypeName","src":"9949:7:73","typeDescriptions":{}}},"id":56866,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9949:10:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56867,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56813,"src":"9961:6:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":56861,"name":"Transfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57003,"src":"9931:8:73","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":56868,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9931:37:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56869,"nodeType":"EmitStatement","src":"9926:42:73"},{"expression":{"arguments":[{"id":56871,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56811,"src":"9999:7:73","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"30","id":56874,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10016:1:73","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":56873,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10008:7:73","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":56872,"name":"address","nodeType":"ElementaryTypeName","src":"10008:7:73","typeDescriptions":{}}},"id":56875,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10008:10:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56876,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56813,"src":"10020:6:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":56870,"name":"_afterTokenTransfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56990,"src":"9979:19:73","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":56877,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9979:48:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56878,"nodeType":"ExpressionStatement","src":"9979:48:73"}]},"documentation":{"id":56809,"nodeType":"StructuredDocumentation","src":"9061:309:73","text":" @dev Destroys `amount` tokens from `account`, reducing the\n total supply.\n Emits a {Transfer} event with `to` set to the zero address.\n Requirements:\n - `account` cannot be the zero address.\n - `account` must have at least `amount` tokens."},"implemented":true,"kind":"function","modifiers":[],"name":"_burn","nameLocation":"9384:5:73","parameters":{"id":56814,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56811,"mutability":"mutable","name":"account","nameLocation":"9398:7:73","nodeType":"VariableDeclaration","scope":56880,"src":"9390:15:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56810,"name":"address","nodeType":"ElementaryTypeName","src":"9390:7:73","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56813,"mutability":"mutable","name":"amount","nameLocation":"9415:6:73","nodeType":"VariableDeclaration","scope":56880,"src":"9407:14:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56812,"name":"uint256","nodeType":"ElementaryTypeName","src":"9407:7:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9389:33:73"},"returnParameters":{"id":56815,"nodeType":"ParameterList","parameters":[],"src":"9440:0:73"},"scope":56991,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":56925,"nodeType":"FunctionDefinition","src":"10457:340:73","nodes":[],"body":{"id":56924,"nodeType":"Block","src":"10540:257:73","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":56896,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":56891,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56883,"src":"10558:5:73","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":56894,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10575:1:73","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":56893,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10567:7:73","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":56892,"name":"address","nodeType":"ElementaryTypeName","src":"10567:7:73","typeDescriptions":{}}},"id":56895,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10567:10:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"10558:19:73","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"45524332303a20617070726f76652066726f6d20746865207a65726f2061646472657373","id":56897,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10579:38:73","typeDescriptions":{"typeIdentifier":"t_stringliteral_c953f4879035ed60e766b34720f656aab5c697b141d924c283124ecedb91c208","typeString":"literal_string \"ERC20: approve from the zero address\""},"value":"ERC20: approve from the zero address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_c953f4879035ed60e766b34720f656aab5c697b141d924c283124ecedb91c208","typeString":"literal_string \"ERC20: approve from the zero address\""}],"id":56890,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"10550:7:73","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":56898,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10550:68:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56899,"nodeType":"ExpressionStatement","src":"10550:68:73"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":56906,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":56901,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56885,"src":"10636:7:73","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":56904,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10655:1:73","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":56903,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10647:7:73","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":56902,"name":"address","nodeType":"ElementaryTypeName","src":"10647:7:73","typeDescriptions":{}}},"id":56905,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10647:10:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"10636:21:73","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"45524332303a20617070726f766520746f20746865207a65726f2061646472657373","id":56907,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10659:36:73","typeDescriptions":{"typeIdentifier":"t_stringliteral_24883cc5fe64ace9d0df1893501ecb93c77180f0ff69cca79affb3c316dc8029","typeString":"literal_string \"ERC20: approve to the zero address\""},"value":"ERC20: approve to the zero address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_24883cc5fe64ace9d0df1893501ecb93c77180f0ff69cca79affb3c316dc8029","typeString":"literal_string \"ERC20: approve to the zero address\""}],"id":56900,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"10628:7:73","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":56908,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10628:68:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56909,"nodeType":"ExpressionStatement","src":"10628:68:73"},{"expression":{"id":56916,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"id":56910,"name":"_allowances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56426,"src":"10707:11:73","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"}},"id":56913,"indexExpression":{"id":56911,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56883,"src":"10719:5:73","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"10707:18:73","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":56914,"indexExpression":{"id":56912,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56885,"src":"10726:7:73","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"10707:27:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":56915,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56887,"src":"10737:6:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10707:36:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":56917,"nodeType":"ExpressionStatement","src":"10707:36:73"},{"eventCall":{"arguments":[{"id":56919,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56883,"src":"10767:5:73","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56920,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56885,"src":"10774:7:73","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56921,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56887,"src":"10783:6:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":56918,"name":"Approval","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57012,"src":"10758:8:73","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":56922,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10758:32:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56923,"nodeType":"EmitStatement","src":"10753:37:73"}]},"documentation":{"id":56881,"nodeType":"StructuredDocumentation","src":"10040:412:73","text":" @dev Sets `amount` as the allowance of `spender` over the `owner` s tokens.\n This internal function is equivalent to `approve`, and can be used to\n e.g. set automatic allowances for certain subsystems, etc.\n Emits an {Approval} event.\n Requirements:\n - `owner` cannot be the zero address.\n - `spender` cannot be the zero address."},"implemented":true,"kind":"function","modifiers":[],"name":"_approve","nameLocation":"10466:8:73","parameters":{"id":56888,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56883,"mutability":"mutable","name":"owner","nameLocation":"10483:5:73","nodeType":"VariableDeclaration","scope":56925,"src":"10475:13:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56882,"name":"address","nodeType":"ElementaryTypeName","src":"10475:7:73","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56885,"mutability":"mutable","name":"spender","nameLocation":"10498:7:73","nodeType":"VariableDeclaration","scope":56925,"src":"10490:15:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56884,"name":"address","nodeType":"ElementaryTypeName","src":"10490:7:73","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56887,"mutability":"mutable","name":"amount","nameLocation":"10515:6:73","nodeType":"VariableDeclaration","scope":56925,"src":"10507:14:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56886,"name":"uint256","nodeType":"ElementaryTypeName","src":"10507:7:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10474:48:73"},"returnParameters":{"id":56889,"nodeType":"ParameterList","parameters":[],"src":"10540:0:73"},"scope":56991,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":56968,"nodeType":"FunctionDefinition","src":"11078:411:73","nodes":[],"body":{"id":56967,"nodeType":"Block","src":"11168:321:73","nodes":[],"statements":[{"assignments":[56936],"declarations":[{"constant":false,"id":56936,"mutability":"mutable","name":"currentAllowance","nameLocation":"11186:16:73","nodeType":"VariableDeclaration","scope":56967,"src":"11178:24:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56935,"name":"uint256","nodeType":"ElementaryTypeName","src":"11178:7:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":56941,"initialValue":{"arguments":[{"id":56938,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56928,"src":"11215:5:73","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56939,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56930,"src":"11222:7:73","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":56937,"name":"allowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56546,"src":"11205:9:73","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view returns (uint256)"}},"id":56940,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11205:25:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"11178:52:73"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":56948,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":56942,"name":"currentAllowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56936,"src":"11244:16:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"arguments":[{"id":56945,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11269:7:73","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":56944,"name":"uint256","nodeType":"ElementaryTypeName","src":"11269:7:73","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}],"id":56943,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"11264:4:73","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":56946,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11264:13:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint256","typeString":"type(uint256)"}},"id":56947,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"11278:3:73","memberName":"max","nodeType":"MemberAccess","src":"11264:17:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"11244:37:73","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":56966,"nodeType":"IfStatement","src":"11240:243:73","trueBody":{"id":56965,"nodeType":"Block","src":"11283:200:73","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":56952,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":56950,"name":"currentAllowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56936,"src":"11305:16:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":56951,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56932,"src":"11325:6:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"11305:26:73","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"45524332303a20696e73756666696369656e7420616c6c6f77616e6365","id":56953,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11333:31:73","typeDescriptions":{"typeIdentifier":"t_stringliteral_3b6607e091cba9325f958656d2b5e0622ab7dc0eac71a26ac788cb25bc19f4fe","typeString":"literal_string \"ERC20: insufficient allowance\""},"value":"ERC20: insufficient allowance"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_3b6607e091cba9325f958656d2b5e0622ab7dc0eac71a26ac788cb25bc19f4fe","typeString":"literal_string \"ERC20: insufficient allowance\""}],"id":56949,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"11297:7:73","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":56954,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11297:68:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56955,"nodeType":"ExpressionStatement","src":"11297:68:73"},{"id":56964,"nodeType":"UncheckedBlock","src":"11379:94:73","statements":[{"expression":{"arguments":[{"id":56957,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56928,"src":"11416:5:73","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56958,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56930,"src":"11423:7:73","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":56961,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":56959,"name":"currentAllowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56936,"src":"11432:16:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":56960,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56932,"src":"11451:6:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"11432:25:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":56956,"name":"_approve","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56925,"src":"11407:8:73","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":56962,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11407:51:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56963,"nodeType":"ExpressionStatement","src":"11407:51:73"}]}]}}]},"documentation":{"id":56926,"nodeType":"StructuredDocumentation","src":"10803:270:73","text":" @dev Updates `owner` s allowance for `spender` based on spent `amount`.\n Does not update the allowance amount in case of infinite allowance.\n Revert if not enough allowance is available.\n Might emit an {Approval} event."},"implemented":true,"kind":"function","modifiers":[],"name":"_spendAllowance","nameLocation":"11087:15:73","parameters":{"id":56933,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56928,"mutability":"mutable","name":"owner","nameLocation":"11111:5:73","nodeType":"VariableDeclaration","scope":56968,"src":"11103:13:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56927,"name":"address","nodeType":"ElementaryTypeName","src":"11103:7:73","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56930,"mutability":"mutable","name":"spender","nameLocation":"11126:7:73","nodeType":"VariableDeclaration","scope":56968,"src":"11118:15:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56929,"name":"address","nodeType":"ElementaryTypeName","src":"11118:7:73","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56932,"mutability":"mutable","name":"amount","nameLocation":"11143:6:73","nodeType":"VariableDeclaration","scope":56968,"src":"11135:14:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56931,"name":"uint256","nodeType":"ElementaryTypeName","src":"11135:7:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"11102:48:73"},"returnParameters":{"id":56934,"nodeType":"ParameterList","parameters":[],"src":"11168:0:73"},"scope":56991,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":56979,"nodeType":"FunctionDefinition","src":"12073:91:73","nodes":[],"body":{"id":56978,"nodeType":"Block","src":"12162:2:73","nodes":[],"statements":[]},"documentation":{"id":56969,"nodeType":"StructuredDocumentation","src":"11495:573:73","text":" @dev Hook that is called before any transfer of tokens. This includes\n minting and burning.\n Calling conditions:\n - when `from` and `to` are both non-zero, `amount` of ``from``'s tokens\n will be transferred to `to`.\n - when `from` is zero, `amount` tokens will be minted for `to`.\n - when `to` is zero, `amount` of ``from``'s tokens will be burned.\n - `from` and `to` are never both zero.\n To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks]."},"implemented":true,"kind":"function","modifiers":[],"name":"_beforeTokenTransfer","nameLocation":"12082:20:73","parameters":{"id":56976,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56971,"mutability":"mutable","name":"from","nameLocation":"12111:4:73","nodeType":"VariableDeclaration","scope":56979,"src":"12103:12:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56970,"name":"address","nodeType":"ElementaryTypeName","src":"12103:7:73","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56973,"mutability":"mutable","name":"to","nameLocation":"12125:2:73","nodeType":"VariableDeclaration","scope":56979,"src":"12117:10:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56972,"name":"address","nodeType":"ElementaryTypeName","src":"12117:7:73","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56975,"mutability":"mutable","name":"amount","nameLocation":"12137:6:73","nodeType":"VariableDeclaration","scope":56979,"src":"12129:14:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56974,"name":"uint256","nodeType":"ElementaryTypeName","src":"12129:7:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12102:42:73"},"returnParameters":{"id":56977,"nodeType":"ParameterList","parameters":[],"src":"12162:0:73"},"scope":56991,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":56990,"nodeType":"FunctionDefinition","src":"12752:90:73","nodes":[],"body":{"id":56989,"nodeType":"Block","src":"12840:2:73","nodes":[],"statements":[]},"documentation":{"id":56980,"nodeType":"StructuredDocumentation","src":"12170:577:73","text":" @dev Hook that is called after any transfer of tokens. This includes\n minting and burning.\n Calling conditions:\n - when `from` and `to` are both non-zero, `amount` of ``from``'s tokens\n has been transferred to `to`.\n - when `from` is zero, `amount` tokens have been minted for `to`.\n - when `to` is zero, `amount` of ``from``'s tokens have been burned.\n - `from` and `to` are never both zero.\n To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks]."},"implemented":true,"kind":"function","modifiers":[],"name":"_afterTokenTransfer","nameLocation":"12761:19:73","parameters":{"id":56987,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56982,"mutability":"mutable","name":"from","nameLocation":"12789:4:73","nodeType":"VariableDeclaration","scope":56990,"src":"12781:12:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56981,"name":"address","nodeType":"ElementaryTypeName","src":"12781:7:73","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56984,"mutability":"mutable","name":"to","nameLocation":"12803:2:73","nodeType":"VariableDeclaration","scope":56990,"src":"12795:10:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56983,"name":"address","nodeType":"ElementaryTypeName","src":"12795:7:73","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56986,"mutability":"mutable","name":"amount","nameLocation":"12815:6:73","nodeType":"VariableDeclaration","scope":56990,"src":"12807:14:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56985,"name":"uint256","nodeType":"ElementaryTypeName","src":"12807:7:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12780:42:73"},"returnParameters":{"id":56988,"nodeType":"ParameterList","parameters":[],"src":"12840:0:73"},"scope":56991,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"}],"abstract":false,"baseContracts":[{"baseName":{"id":56411,"name":"Context","nameLocations":["1550:7:73"],"nodeType":"IdentifierPath","referencedDeclaration":57903,"src":"1550:7:73"},"id":56412,"nodeType":"InheritanceSpecifier","src":"1550:7:73"},{"baseName":{"id":56413,"name":"IERC20","nameLocations":["1559:6:73"],"nodeType":"IdentifierPath","referencedDeclaration":57069,"src":"1559:6:73"},"id":56414,"nodeType":"InheritanceSpecifier","src":"1559:6:73"},{"baseName":{"id":56415,"name":"IERC20Metadata","nameLocations":["1567:14:73"],"nodeType":"IdentifierPath","referencedDeclaration":57094,"src":"1567:14:73"},"id":56416,"nodeType":"InheritanceSpecifier","src":"1567:14:73"}],"canonicalName":"ERC20","contractDependencies":[],"contractKind":"contract","documentation":{"id":56410,"nodeType":"StructuredDocumentation","src":"230:1301:73","text":" @dev Implementation of the {IERC20} interface.\n This implementation is agnostic to the way tokens are created. This means\n that a supply mechanism has to be added in a derived contract using {_mint}.\n For a generic mechanism see {ERC20PresetMinterPauser}.\n TIP: For a detailed writeup see our guide\n https://forum.openzeppelin.com/t/how-to-implement-erc20-supply-mechanisms/226[How\n to implement supply mechanisms].\n The default value of {decimals} is 18. To change this, you should override\n this function so it returns a different value.\n We have followed general OpenZeppelin Contracts guidelines: functions revert\n instead returning `false` on failure. This behavior is nonetheless\n conventional and does not conflict with the expectations of ERC20\n applications.\n Additionally, an {Approval} event is emitted on calls to {transferFrom}.\n This allows applications to reconstruct the allowance for all accounts just\n by listening to said events. Other implementations of the EIP may not emit\n these events, as it isn't required by the specification.\n Finally, the non-standard {decreaseAllowance} and {increaseAllowance}\n functions have been added to mitigate the well-known issues around setting\n allowances. See {IERC20-approve}."},"fullyImplemented":true,"linearizedBaseContracts":[56991,57094,57069,57903],"name":"ERC20","nameLocation":"1541:5:73","scope":56992,"usedErrors":[]}],"license":"MIT"},"id":73} \ No newline at end of file +{"abi":[{"type":"constructor","inputs":[{"name":"name_","type":"string","internalType":"string"},{"name":"symbol_","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"allowance","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"spender","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"approve","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"balanceOf","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"decimals","inputs":[],"outputs":[{"name":"","type":"uint8","internalType":"uint8"}],"stateMutability":"view"},{"type":"function","name":"decreaseAllowance","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"subtractedValue","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"increaseAllowance","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"addedValue","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"name","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"symbol","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"totalSupply","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"transfer","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"transferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"event","name":"Approval","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"spender","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Transfer","inputs":[{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"to","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false}],"bytecode":{"object":"0x60806040523480156200001157600080fd5b5060405162000c4238038062000c4283398101604081905262000034916200011f565b600362000042838262000218565b50600462000051828262000218565b505050620002e4565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126200008257600080fd5b81516001600160401b03808211156200009f576200009f6200005a565b604051601f8301601f19908116603f01168101908282118183101715620000ca57620000ca6200005a565b81604052838152602092508683858801011115620000e757600080fd5b600091505b838210156200010b5785820183015181830184015290820190620000ec565b600093810190920192909252949350505050565b600080604083850312156200013357600080fd5b82516001600160401b03808211156200014b57600080fd5b620001598683870162000070565b935060208501519150808211156200017057600080fd5b506200017f8582860162000070565b9150509250929050565b600181811c908216806200019e57607f821691505b602082108103620001bf57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200021357600081815260208120601f850160051c81016020861015620001ee5750805b601f850160051c820191505b818110156200020f57828155600101620001fa565b5050505b505050565b81516001600160401b038111156200023457620002346200005a565b6200024c8162000245845462000189565b84620001c5565b602080601f8311600181146200028457600084156200026b5750858301515b600019600386901b1c1916600185901b1785556200020f565b600085815260208120601f198616915b82811015620002b55788860151825594840194600190910190840162000294565b5085821015620002d45787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b61094e80620002f46000396000f3fe608060405234801561001057600080fd5b50600436106100c95760003560e01c80633950935111610081578063a457c2d71161005b578063a457c2d714610187578063a9059cbb1461019a578063dd62ed3e146101ad57600080fd5b8063395093511461014357806370a082311461015657806395d89b411461017f57600080fd5b806318160ddd116100b257806318160ddd1461010f57806323b872dd14610121578063313ce5671461013457600080fd5b806306fdde03146100ce578063095ea7b3146100ec575b600080fd5b6100d66101e6565b6040516100e39190610798565b60405180910390f35b6100ff6100fa366004610802565b610278565b60405190151581526020016100e3565b6002545b6040519081526020016100e3565b6100ff61012f36600461082c565b610292565b604051601281526020016100e3565b6100ff610151366004610802565b6102b6565b610113610164366004610868565b6001600160a01b031660009081526020819052604090205490565b6100d66102f5565b6100ff610195366004610802565b610304565b6100ff6101a8366004610802565b6103b3565b6101136101bb36600461088a565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6060600380546101f5906108bd565b80601f0160208091040260200160405190810160405280929190818152602001828054610221906108bd565b801561026e5780601f106102435761010080835404028352916020019161026e565b820191906000526020600020905b81548152906001019060200180831161025157829003601f168201915b5050505050905090565b6000336102868185856103c1565b60019150505b92915050565b6000336102a0858285610519565b6102ab8585856105ab565b506001949350505050565b3360008181526001602090815260408083206001600160a01b038716845290915281205490919061028690829086906102f09087906108f7565b6103c1565b6060600480546101f5906108bd565b3360008181526001602090815260408083206001600160a01b0387168452909152812054909190838110156103a65760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760448201527f207a65726f00000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b6102ab82868684036103c1565b6000336102868185856105ab565b6001600160a01b03831661043c5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f7265737300000000000000000000000000000000000000000000000000000000606482015260840161039d565b6001600160a01b0382166104b85760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f7373000000000000000000000000000000000000000000000000000000000000606482015260840161039d565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383811660009081526001602090815260408083209386168352929052205460001981146105a557818110156105985760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000604482015260640161039d565b6105a584848484036103c1565b50505050565b6001600160a01b0383166106275760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f6472657373000000000000000000000000000000000000000000000000000000606482015260840161039d565b6001600160a01b0382166106a35760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f6573730000000000000000000000000000000000000000000000000000000000606482015260840161039d565b6001600160a01b038316600090815260208190526040902054818110156107325760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260448201527f616c616e63650000000000000000000000000000000000000000000000000000606482015260840161039d565b6001600160a01b03848116600081815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a36105a5565b600060208083528351808285015260005b818110156107c5578581018301518582016040015282016107a9565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b03811681146107fd57600080fd5b919050565b6000806040838503121561081557600080fd5b61081e836107e6565b946020939093013593505050565b60008060006060848603121561084157600080fd5b61084a846107e6565b9250610858602085016107e6565b9150604084013590509250925092565b60006020828403121561087a57600080fd5b610883826107e6565b9392505050565b6000806040838503121561089d57600080fd5b6108a6836107e6565b91506108b4602084016107e6565b90509250929050565b600181811c908216806108d157607f821691505b6020821081036108f157634e487b7160e01b600052602260045260246000fd5b50919050565b8082018082111561028c57634e487b7160e01b600052601160045260246000fdfea264697066735822122088c8eeab571e3b83fa34f7373739f68465878240183844f2d93ff1c95787fb6364736f6c63430008130033","sourceMap":"1532:11312:73:-:0;;;1980:113;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2046:5;:13;2054:5;2046;:13;:::i;:::-;-1:-1:-1;2069:7:73;:17;2079:7;2069;:17;:::i;:::-;;1980:113;;1532:11312;;14:127:151;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:840;200:5;253:3;246:4;238:6;234:17;230:27;220:55;;271:1;268;261:12;220:55;294:13;;-1:-1:-1;;;;;356:10:151;;;353:36;;;369:18;;:::i;:::-;444:2;438:9;412:2;498:13;;-1:-1:-1;;494:22:151;;;518:2;490:31;486:40;474:53;;;542:18;;;562:22;;;539:46;536:72;;;588:18;;:::i;:::-;628:10;624:2;617:22;663:2;655:6;648:18;685:4;675:14;;730:3;725:2;720;712:6;708:15;704:24;701:33;698:53;;;747:1;744;737:12;698:53;769:1;760:10;;779:133;793:2;790:1;787:9;779:133;;;881:14;;;877:23;;871:30;850:14;;;846:23;;839:63;804:10;;;;779:133;;;954:1;932:15;;;928:24;;;921:35;;;;936:6;146:840;-1:-1:-1;;;;146:840:151:o;991:562::-;1090:6;1098;1151:2;1139:9;1130:7;1126:23;1122:32;1119:52;;;1167:1;1164;1157:12;1119:52;1194:16;;-1:-1:-1;;;;;1259:14:151;;;1256:34;;;1286:1;1283;1276:12;1256:34;1309:61;1362:7;1353:6;1342:9;1338:22;1309:61;:::i;:::-;1299:71;;1416:2;1405:9;1401:18;1395:25;1379:41;;1445:2;1435:8;1432:16;1429:36;;;1461:1;1458;1451:12;1429:36;;1484:63;1539:7;1528:8;1517:9;1513:24;1484:63;:::i;:::-;1474:73;;;991:562;;;;;:::o;1558:380::-;1637:1;1633:12;;;;1680;;;1701:61;;1755:4;1747:6;1743:17;1733:27;;1701:61;1808:2;1800:6;1797:14;1777:18;1774:38;1771:161;;1854:10;1849:3;1845:20;1842:1;1835:31;1889:4;1886:1;1879:15;1917:4;1914:1;1907:15;1771:161;;1558:380;;;:::o;2069:545::-;2171:2;2166:3;2163:11;2160:448;;;2207:1;2232:5;2228:2;2221:17;2277:4;2273:2;2263:19;2347:2;2335:10;2331:19;2328:1;2324:27;2318:4;2314:38;2383:4;2371:10;2368:20;2365:47;;;-1:-1:-1;2406:4:151;2365:47;2461:2;2456:3;2452:12;2449:1;2445:20;2439:4;2435:31;2425:41;;2516:82;2534:2;2527:5;2524:13;2516:82;;;2579:17;;;2560:1;2549:13;2516:82;;;2520:3;;;2160:448;2069:545;;;:::o;2790:1352::-;2910:10;;-1:-1:-1;;;;;2932:30:151;;2929:56;;;2965:18;;:::i;:::-;2994:97;3084:6;3044:38;3076:4;3070:11;3044:38;:::i;:::-;3038:4;2994:97;:::i;:::-;3146:4;;3210:2;3199:14;;3227:1;3222:663;;;;3929:1;3946:6;3943:89;;;-1:-1:-1;3998:19:151;;;3992:26;3943:89;-1:-1:-1;;2747:1:151;2743:11;;;2739:24;2735:29;2725:40;2771:1;2767:11;;;2722:57;4045:81;;3192:944;;3222:663;2016:1;2009:14;;;2053:4;2040:18;;-1:-1:-1;;3258:20:151;;;3376:236;3390:7;3387:1;3384:14;3376:236;;;3479:19;;;3473:26;3458:42;;3571:27;;;;3539:1;3527:14;;;;3406:19;;3376:236;;;3380:3;3640:6;3631:7;3628:19;3625:201;;;3701:19;;;3695:26;-1:-1:-1;;3784:1:151;3780:14;;;3796:3;3776:24;3772:37;3768:42;3753:58;3738:74;;3625:201;-1:-1:-1;;;;;3872:1:151;3856:14;;;3852:22;3839:36;;-1:-1:-1;2790:1352:151:o;:::-;1532:11312:73;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b50600436106100c95760003560e01c80633950935111610081578063a457c2d71161005b578063a457c2d714610187578063a9059cbb1461019a578063dd62ed3e146101ad57600080fd5b8063395093511461014357806370a082311461015657806395d89b411461017f57600080fd5b806318160ddd116100b257806318160ddd1461010f57806323b872dd14610121578063313ce5671461013457600080fd5b806306fdde03146100ce578063095ea7b3146100ec575b600080fd5b6100d66101e6565b6040516100e39190610798565b60405180910390f35b6100ff6100fa366004610802565b610278565b60405190151581526020016100e3565b6002545b6040519081526020016100e3565b6100ff61012f36600461082c565b610292565b604051601281526020016100e3565b6100ff610151366004610802565b6102b6565b610113610164366004610868565b6001600160a01b031660009081526020819052604090205490565b6100d66102f5565b6100ff610195366004610802565b610304565b6100ff6101a8366004610802565b6103b3565b6101136101bb36600461088a565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6060600380546101f5906108bd565b80601f0160208091040260200160405190810160405280929190818152602001828054610221906108bd565b801561026e5780601f106102435761010080835404028352916020019161026e565b820191906000526020600020905b81548152906001019060200180831161025157829003601f168201915b5050505050905090565b6000336102868185856103c1565b60019150505b92915050565b6000336102a0858285610519565b6102ab8585856105ab565b506001949350505050565b3360008181526001602090815260408083206001600160a01b038716845290915281205490919061028690829086906102f09087906108f7565b6103c1565b6060600480546101f5906108bd565b3360008181526001602090815260408083206001600160a01b0387168452909152812054909190838110156103a65760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760448201527f207a65726f00000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b6102ab82868684036103c1565b6000336102868185856105ab565b6001600160a01b03831661043c5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f7265737300000000000000000000000000000000000000000000000000000000606482015260840161039d565b6001600160a01b0382166104b85760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f7373000000000000000000000000000000000000000000000000000000000000606482015260840161039d565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383811660009081526001602090815260408083209386168352929052205460001981146105a557818110156105985760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000604482015260640161039d565b6105a584848484036103c1565b50505050565b6001600160a01b0383166106275760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f6472657373000000000000000000000000000000000000000000000000000000606482015260840161039d565b6001600160a01b0382166106a35760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f6573730000000000000000000000000000000000000000000000000000000000606482015260840161039d565b6001600160a01b038316600090815260208190526040902054818110156107325760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260448201527f616c616e63650000000000000000000000000000000000000000000000000000606482015260840161039d565b6001600160a01b03848116600081815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a36105a5565b600060208083528351808285015260005b818110156107c5578581018301518582016040015282016107a9565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b03811681146107fd57600080fd5b919050565b6000806040838503121561081557600080fd5b61081e836107e6565b946020939093013593505050565b60008060006060848603121561084157600080fd5b61084a846107e6565b9250610858602085016107e6565b9150604084013590509250925092565b60006020828403121561087a57600080fd5b610883826107e6565b9392505050565b6000806040838503121561089d57600080fd5b6108a6836107e6565b91506108b4602084016107e6565b90509250929050565b600181811c908216806108d157607f821691505b6020821081036108f157634e487b7160e01b600052602260045260246000fd5b50919050565b8082018082111561028c57634e487b7160e01b600052601160045260246000fdfea264697066735822122088c8eeab571e3b83fa34f7373739f68465878240183844f2d93ff1c95787fb6364736f6c63430008130033","sourceMap":"1532:11312:73:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2158:98;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4444:197;;;;;;:::i;:::-;;:::i;:::-;;;1192:14:151;;1185:22;1167:41;;1155:2;1140:18;4444:197:73;1027:187:151;3255:106:73;3342:12;;3255:106;;;1365:25:151;;;1353:2;1338:18;3255:106:73;1219:177:151;5203:256:73;;;;;;:::i;:::-;;:::i;3104:91::-;;;3186:2;1876:36:151;;1864:2;1849:18;3104:91:73;1734:184:151;5854:234:73;;;;;;:::i;:::-;;:::i;3419:125::-;;;;;;:::i;:::-;-1:-1:-1;;;;;3519:18:73;3493:7;3519:18;;;;;;;;;;;;3419:125;2369:102;;;:::i;6575:427::-;;;;;;:::i;:::-;;:::i;3740:189::-;;;;;;:::i;:::-;;:::i;3987:149::-;;;;;;:::i;:::-;-1:-1:-1;;;;;4102:18:73;;;4076:7;4102:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;3987:149;2158:98;2212:13;2244:5;2237:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2158:98;:::o;4444:197::-;4527:4;719:10:81;4581:32:73;719:10:81;4597:7:73;4606:6;4581:8;:32::i;:::-;4630:4;4623:11;;;4444:197;;;;;:::o;5203:256::-;5300:4;719:10:81;5356:38:73;5372:4;719:10:81;5387:6:73;5356:15;:38::i;:::-;5404:27;5414:4;5420:2;5424:6;5404:9;:27::i;:::-;-1:-1:-1;5448:4:73;;5203:256;-1:-1:-1;;;;5203:256:73:o;5854:234::-;719:10:81;5942:4:73;4102:18;;;:11;:18;;;;;;;;-1:-1:-1;;;;;4102:27:73;;;;;;;;;;5942:4;;719:10:81;5996:64:73;;719:10:81;;4102:27:73;;6021:38;;6049:10;;6021:38;:::i;:::-;5996:8;:64::i;2369:102::-;2425:13;2457:7;2450:14;;;;;:::i;6575:427::-;719:10:81;6668:4:73;4102:18;;;:11;:18;;;;;;;;-1:-1:-1;;;;;4102:27:73;;;;;;;;;;6668:4;;719:10:81;6812:15:73;6792:16;:35;;6784:85;;;;-1:-1:-1;;;6784:85:73;;3307:2:151;6784:85:73;;;3289:21:151;3346:2;3326:18;;;3319:30;3385:34;3365:18;;;3358:62;3456:7;3436:18;;;3429:35;3481:19;;6784:85:73;;;;;;;;;6903:60;6912:5;6919:7;6947:15;6928:16;:34;6903:8;:60::i;3740:189::-;3819:4;719:10:81;3873:28:73;719:10:81;3890:2:73;3894:6;3873:9;:28::i;10457:340::-;-1:-1:-1;;;;;10558:19:73;;10550:68;;;;-1:-1:-1;;;10550:68:73;;3713:2:151;10550:68:73;;;3695:21:151;3752:2;3732:18;;;3725:30;3791:34;3771:18;;;3764:62;3862:6;3842:18;;;3835:34;3886:19;;10550:68:73;3511:400:151;10550:68:73;-1:-1:-1;;;;;10636:21:73;;10628:68;;;;-1:-1:-1;;;10628:68:73;;4118:2:151;10628:68:73;;;4100:21:151;4157:2;4137:18;;;4130:30;4196:34;4176:18;;;4169:62;4267:4;4247:18;;;4240:32;4289:19;;10628:68:73;3916:398:151;10628:68:73;-1:-1:-1;;;;;10707:18:73;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;10758:32;;1365:25:151;;;10758:32:73;;1338:18:151;10758:32:73;;;;;;;10457:340;;;:::o;11078:411::-;-1:-1:-1;;;;;4102:18:73;;;11178:24;4102:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;-1:-1:-1;;11244:37:73;;11240:243;;11325:6;11305:16;:26;;11297:68;;;;-1:-1:-1;;;11297:68:73;;4521:2:151;11297:68:73;;;4503:21:151;4560:2;4540:18;;;4533:30;4599:31;4579:18;;;4572:59;4648:18;;11297:68:73;4319:353:151;11297:68:73;11407:51;11416:5;11423:7;11451:6;11432:16;:25;11407:8;:51::i;:::-;11168:321;11078:411;;;:::o;7456:788::-;-1:-1:-1;;;;;7552:18:73;;7544:68;;;;-1:-1:-1;;;7544:68:73;;4879:2:151;7544:68:73;;;4861:21:151;4918:2;4898:18;;;4891:30;4957:34;4937:18;;;4930:62;5028:7;5008:18;;;5001:35;5053:19;;7544:68:73;4677:401:151;7544:68:73;-1:-1:-1;;;;;7630:16:73;;7622:64;;;;-1:-1:-1;;;7622:64:73;;5285:2:151;7622:64:73;;;5267:21:151;5324:2;5304:18;;;5297:30;5363:34;5343:18;;;5336:62;5434:5;5414:18;;;5407:33;5457:19;;7622:64:73;5083:399:151;7622:64:73;-1:-1:-1;;;;;7768:15:73;;7746:19;7768:15;;;;;;;;;;;7801:21;;;;7793:72;;;;-1:-1:-1;;;7793:72:73;;5689:2:151;7793:72:73;;;5671:21:151;5728:2;5708:18;;;5701:30;5767:34;5747:18;;;5740:62;5838:8;5818:18;;;5811:36;5864:19;;7793:72:73;5487:402:151;7793:72:73;-1:-1:-1;;;;;7899:15:73;;;:9;:15;;;;;;;;;;;7917:20;;;7899:38;;8114:13;;;;;;;;;;:23;;;;;;8163:26;;1365:25:151;;;8114:13:73;;8163:26;;1338:18:151;8163:26:73;;;;;;;8200:37;12073:91;14:548:151;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:196::-;635:20;;-1:-1:-1;;;;;684:54:151;;674:65;;664:93;;753:1;750;743:12;664:93;567:196;;;:::o;768:254::-;836:6;844;897:2;885:9;876:7;872:23;868:32;865:52;;;913:1;910;903:12;865:52;936:29;955:9;936:29;:::i;:::-;926:39;1012:2;997:18;;;;984:32;;-1:-1:-1;;;768:254:151:o;1401:328::-;1478:6;1486;1494;1547:2;1535:9;1526:7;1522:23;1518:32;1515:52;;;1563:1;1560;1553:12;1515:52;1586:29;1605:9;1586:29;:::i;:::-;1576:39;;1634:38;1668:2;1657:9;1653:18;1634:38;:::i;:::-;1624:48;;1719:2;1708:9;1704:18;1691:32;1681:42;;1401:328;;;;;:::o;1923:186::-;1982:6;2035:2;2023:9;2014:7;2010:23;2006:32;2003:52;;;2051:1;2048;2041:12;2003:52;2074:29;2093:9;2074:29;:::i;:::-;2064:39;1923:186;-1:-1:-1;;;1923:186:151:o;2114:260::-;2182:6;2190;2243:2;2231:9;2222:7;2218:23;2214:32;2211:52;;;2259:1;2256;2249:12;2211:52;2282:29;2301:9;2282:29;:::i;:::-;2272:39;;2330:38;2364:2;2353:9;2349:18;2330:38;:::i;:::-;2320:48;;2114:260;;;;;:::o;2379:437::-;2458:1;2454:12;;;;2501;;;2522:61;;2576:4;2568:6;2564:17;2554:27;;2522:61;2629:2;2621:6;2618:14;2598:18;2595:38;2592:218;;-1:-1:-1;;;2663:1:151;2656:88;2767:4;2764:1;2757:15;2795:4;2792:1;2785:15;2592:218;;2379:437;;;:::o;2821:279::-;2886:9;;;2907:10;;;2904:190;;;-1:-1:-1;;;2947:1:151;2940:88;3051:4;3048:1;3041:15;3079:4;3076:1;3069:15","linkReferences":{}},"methodIdentifiers":{"allowance(address,address)":"dd62ed3e","approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","decimals()":"313ce567","decreaseAllowance(address,uint256)":"a457c2d7","increaseAllowance(address,uint256)":"39509351","name()":"06fdde03","symbol()":"95d89b41","totalSupply()":"18160ddd","transfer(address,uint256)":"a9059cbb","transferFrom(address,address,uint256)":"23b872dd"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name_\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"symbol_\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"subtractedValue\",\"type\":\"uint256\"}],\"name\":\"decreaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"addedValue\",\"type\":\"uint256\"}],\"name\":\"increaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Implementation of the {IERC20} interface. This implementation is agnostic to the way tokens are created. This means that a supply mechanism has to be added in a derived contract using {_mint}. For a generic mechanism see {ERC20PresetMinterPauser}. TIP: For a detailed writeup see our guide https://forum.openzeppelin.com/t/how-to-implement-erc20-supply-mechanisms/226[How to implement supply mechanisms]. The default value of {decimals} is 18. To change this, you should override this function so it returns a different value. We have followed general OpenZeppelin Contracts guidelines: functions revert instead returning `false` on failure. This behavior is nonetheless conventional and does not conflict with the expectations of ERC20 applications. Additionally, an {Approval} event is emitted on calls to {transferFrom}. This allows applications to reconstruct the allowance for all accounts just by listening to said events. Other implementations of the EIP may not emit these events, as it isn't required by the specification. Finally, the non-standard {decreaseAllowance} and {increaseAllowance} functions have been added to mitigate the well-known issues around setting allowances. See {IERC20-approve}.\",\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when the allowance of a `spender` for an `owner` is set by a call to {approve}. `value` is the new allowance.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `value` tokens are moved from one account (`from`) to another (`to`). Note that `value` may be zero.\"}},\"kind\":\"dev\",\"methods\":{\"allowance(address,address)\":{\"details\":\"See {IERC20-allowance}.\"},\"approve(address,uint256)\":{\"details\":\"See {IERC20-approve}. NOTE: If `amount` is the maximum `uint256`, the allowance is not updated on `transferFrom`. This is semantically equivalent to an infinite approval. Requirements: - `spender` cannot be the zero address.\"},\"balanceOf(address)\":{\"details\":\"See {IERC20-balanceOf}.\"},\"constructor\":{\"details\":\"Sets the values for {name} and {symbol}. All two of these values are immutable: they can only be set once during construction.\"},\"decimals()\":{\"details\":\"Returns the number of decimals used to get its user representation. For example, if `decimals` equals `2`, a balance of `505` tokens should be displayed to a user as `5.05` (`505 / 10 ** 2`). Tokens usually opt for a value of 18, imitating the relationship between Ether and Wei. This is the default value returned by this function, unless it's overridden. NOTE: This information is only used for _display_ purposes: it in no way affects any of the arithmetic of the contract, including {IERC20-balanceOf} and {IERC20-transfer}.\"},\"decreaseAllowance(address,uint256)\":{\"details\":\"Atomically decreases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address. - `spender` must have allowance for the caller of at least `subtractedValue`.\"},\"increaseAllowance(address,uint256)\":{\"details\":\"Atomically increases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address.\"},\"name()\":{\"details\":\"Returns the name of the token.\"},\"symbol()\":{\"details\":\"Returns the symbol of the token, usually a shorter version of the name.\"},\"totalSupply()\":{\"details\":\"See {IERC20-totalSupply}.\"},\"transfer(address,uint256)\":{\"details\":\"See {IERC20-transfer}. Requirements: - `to` cannot be the zero address. - the caller must have a balance of at least `amount`.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC20-transferFrom}. Emits an {Approval} event indicating the updated allowance. This is not required by the EIP. See the note at the beginning of {ERC20}. NOTE: Does not update the allowance if the current allowance is the maximum `uint256`. Requirements: - `from` and `to` cannot be the zero address. - `from` must have a balance of at least `amount`. - the caller must have allowance for ``from``'s tokens of at least `amount`.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol\":\"ERC20\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1000},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":eas-proxy/=lib/allo-v2/lib/eas-proxy/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":hedgey-vesting/=lib/allo-v2/lib/hedgey-vesting/contracts/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-contracts/=lib/safe-contracts/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":superfluid-protocol-monorepo/=lib/allo-v2/lib/superfluid-protocol-monorepo/packages/solidity-semantic-money/src/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"]},\"sources\":{\"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15\",\"dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5\",\"dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd\",\"dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"string","name":"name_","type":"string"},{"internalType":"string","name":"symbol_","type":"string"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"address","name":"spender","type":"address","indexed":true},{"internalType":"uint256","name":"value","type":"uint256","indexed":false}],"type":"event","name":"Approval","anonymous":false},{"inputs":[{"internalType":"address","name":"from","type":"address","indexed":true},{"internalType":"address","name":"to","type":"address","indexed":true},{"internalType":"uint256","name":"value","type":"uint256","indexed":false}],"type":"event","name":"Transfer","anonymous":false},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"stateMutability":"view","type":"function","name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}]},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"name","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}]}],"devdoc":{"kind":"dev","methods":{"allowance(address,address)":{"details":"See {IERC20-allowance}."},"approve(address,uint256)":{"details":"See {IERC20-approve}. NOTE: If `amount` is the maximum `uint256`, the allowance is not updated on `transferFrom`. This is semantically equivalent to an infinite approval. Requirements: - `spender` cannot be the zero address."},"balanceOf(address)":{"details":"See {IERC20-balanceOf}."},"constructor":{"details":"Sets the values for {name} and {symbol}. All two of these values are immutable: they can only be set once during construction."},"decimals()":{"details":"Returns the number of decimals used to get its user representation. For example, if `decimals` equals `2`, a balance of `505` tokens should be displayed to a user as `5.05` (`505 / 10 ** 2`). Tokens usually opt for a value of 18, imitating the relationship between Ether and Wei. This is the default value returned by this function, unless it's overridden. NOTE: This information is only used for _display_ purposes: it in no way affects any of the arithmetic of the contract, including {IERC20-balanceOf} and {IERC20-transfer}."},"decreaseAllowance(address,uint256)":{"details":"Atomically decreases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address. - `spender` must have allowance for the caller of at least `subtractedValue`."},"increaseAllowance(address,uint256)":{"details":"Atomically increases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address."},"name()":{"details":"Returns the name of the token."},"symbol()":{"details":"Returns the symbol of the token, usually a shorter version of the name."},"totalSupply()":{"details":"See {IERC20-totalSupply}."},"transfer(address,uint256)":{"details":"See {IERC20-transfer}. Requirements: - `to` cannot be the zero address. - the caller must have a balance of at least `amount`."},"transferFrom(address,address,uint256)":{"details":"See {IERC20-transferFrom}. Emits an {Approval} event indicating the updated allowance. This is not required by the EIP. See the note at the beginning of {ERC20}. NOTE: Does not update the allowance if the current allowance is the maximum `uint256`. Requirements: - `from` and `to` cannot be the zero address. - `from` must have a balance of at least `amount`. - the caller must have allowance for ``from``'s tokens of at least `amount`."}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","eas-proxy/=lib/allo-v2/lib/eas-proxy/contracts/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","hedgey-vesting/=lib/allo-v2/lib/hedgey-vesting/contracts/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-contracts/=lib/safe-contracts/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","superfluid-protocol-monorepo/=lib/allo-v2/lib/superfluid-protocol-monorepo/packages/solidity-semantic-money/src/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":1000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol":"ERC20"},"evmVersion":"paris","libraries":{}},"sources":{"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol":{"keccak256":"0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c","urls":["bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15","dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305","urls":["bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5","dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol":{"keccak256":"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca","urls":["bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd","dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Context.sol":{"keccak256":"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7","urls":["bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92","dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3"],"license":"MIT"}},"version":1},"storageLayout":{"storage":[{"astId":56420,"contract":"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol:ERC20","label":"_balances","offset":0,"slot":"0","type":"t_mapping(t_address,t_uint256)"},{"astId":56426,"contract":"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol:ERC20","label":"_allowances","offset":0,"slot":"1","type":"t_mapping(t_address,t_mapping(t_address,t_uint256))"},{"astId":56428,"contract":"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol:ERC20","label":"_totalSupply","offset":0,"slot":"2","type":"t_uint256"},{"astId":56430,"contract":"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol:ERC20","label":"_name","offset":0,"slot":"3","type":"t_string_storage"},{"astId":56432,"contract":"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol:ERC20","label":"_symbol","offset":0,"slot":"4","type":"t_string_storage"}],"types":{"t_address":{"encoding":"inplace","label":"address","numberOfBytes":"20"},"t_mapping(t_address,t_mapping(t_address,t_uint256))":{"encoding":"mapping","key":"t_address","label":"mapping(address => mapping(address => uint256))","numberOfBytes":"32","value":"t_mapping(t_address,t_uint256)"},"t_mapping(t_address,t_uint256)":{"encoding":"mapping","key":"t_address","label":"mapping(address => uint256)","numberOfBytes":"32","value":"t_uint256"},"t_string_storage":{"encoding":"bytes","label":"string","numberOfBytes":"32"},"t_uint256":{"encoding":"inplace","label":"uint256","numberOfBytes":"32"}}},"ast":{"absolutePath":"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol","id":56992,"exportedSymbols":{"Context":[57903],"ERC20":[56991],"IERC20":[57069],"IERC20Metadata":[57094]},"nodeType":"SourceUnit","src":"105:12740:73","nodes":[{"id":56406,"nodeType":"PragmaDirective","src":"105:23:73","nodes":[],"literals":["solidity","^","0.8",".0"]},{"id":56407,"nodeType":"ImportDirective","src":"130:22:73","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol","file":"./IERC20.sol","nameLocation":"-1:-1:-1","scope":56992,"sourceUnit":57070,"symbolAliases":[],"unitAlias":""},{"id":56408,"nodeType":"ImportDirective","src":"153:41:73","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol","file":"./extensions/IERC20Metadata.sol","nameLocation":"-1:-1:-1","scope":56992,"sourceUnit":57095,"symbolAliases":[],"unitAlias":""},{"id":56409,"nodeType":"ImportDirective","src":"195:33:73","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/utils/Context.sol","file":"../../utils/Context.sol","nameLocation":"-1:-1:-1","scope":56992,"sourceUnit":57904,"symbolAliases":[],"unitAlias":""},{"id":56991,"nodeType":"ContractDefinition","src":"1532:11312:73","nodes":[{"id":56420,"nodeType":"VariableDeclaration","src":"1588:45:73","nodes":[],"constant":false,"mutability":"mutable","name":"_balances","nameLocation":"1624:9:73","scope":56991,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"typeName":{"id":56419,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":56417,"name":"address","nodeType":"ElementaryTypeName","src":"1596:7:73","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"1588:27:73","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":56418,"name":"uint256","nodeType":"ElementaryTypeName","src":"1607:7:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"private"},{"id":56426,"nodeType":"VariableDeclaration","src":"1640:67:73","nodes":[],"constant":false,"mutability":"mutable","name":"_allowances","nameLocation":"1696:11:73","scope":56991,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"},"typeName":{"id":56425,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":56421,"name":"address","nodeType":"ElementaryTypeName","src":"1648:7:73","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"1640:47:73","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":56424,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":56422,"name":"address","nodeType":"ElementaryTypeName","src":"1667:7:73","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"1659:27:73","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":56423,"name":"uint256","nodeType":"ElementaryTypeName","src":"1678:7:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}}},"visibility":"private"},{"id":56428,"nodeType":"VariableDeclaration","src":"1714:28:73","nodes":[],"constant":false,"mutability":"mutable","name":"_totalSupply","nameLocation":"1730:12:73","scope":56991,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56427,"name":"uint256","nodeType":"ElementaryTypeName","src":"1714:7:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"private"},{"id":56430,"nodeType":"VariableDeclaration","src":"1749:20:73","nodes":[],"constant":false,"mutability":"mutable","name":"_name","nameLocation":"1764:5:73","scope":56991,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string"},"typeName":{"id":56429,"name":"string","nodeType":"ElementaryTypeName","src":"1749:6:73","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"private"},{"id":56432,"nodeType":"VariableDeclaration","src":"1775:22:73","nodes":[],"constant":false,"mutability":"mutable","name":"_symbol","nameLocation":"1790:7:73","scope":56991,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string"},"typeName":{"id":56431,"name":"string","nodeType":"ElementaryTypeName","src":"1775:6:73","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"private"},{"id":56449,"nodeType":"FunctionDefinition","src":"1980:113:73","nodes":[],"body":{"id":56448,"nodeType":"Block","src":"2036:57:73","nodes":[],"statements":[{"expression":{"id":56442,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":56440,"name":"_name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56430,"src":"2046:5:73","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":56441,"name":"name_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56435,"src":"2054:5:73","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"2046:13:73","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"id":56443,"nodeType":"ExpressionStatement","src":"2046:13:73"},{"expression":{"id":56446,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":56444,"name":"_symbol","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56432,"src":"2069:7:73","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":56445,"name":"symbol_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56437,"src":"2079:7:73","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"2069:17:73","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"id":56447,"nodeType":"ExpressionStatement","src":"2069:17:73"}]},"documentation":{"id":56433,"nodeType":"StructuredDocumentation","src":"1804:171:73","text":" @dev Sets the values for {name} and {symbol}.\n All two of these values are immutable: they can only be set once during\n construction."},"implemented":true,"kind":"constructor","modifiers":[],"name":"","nameLocation":"-1:-1:-1","parameters":{"id":56438,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56435,"mutability":"mutable","name":"name_","nameLocation":"2006:5:73","nodeType":"VariableDeclaration","scope":56449,"src":"1992:19:73","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":56434,"name":"string","nodeType":"ElementaryTypeName","src":"1992:6:73","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":56437,"mutability":"mutable","name":"symbol_","nameLocation":"2027:7:73","nodeType":"VariableDeclaration","scope":56449,"src":"2013:21:73","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":56436,"name":"string","nodeType":"ElementaryTypeName","src":"2013:6:73","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1991:44:73"},"returnParameters":{"id":56439,"nodeType":"ParameterList","parameters":[],"src":"2036:0:73"},"scope":56991,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":56459,"nodeType":"FunctionDefinition","src":"2158:98:73","nodes":[],"body":{"id":56458,"nodeType":"Block","src":"2227:29:73","nodes":[],"statements":[{"expression":{"id":56456,"name":"_name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56430,"src":"2244:5:73","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"functionReturnParameters":56455,"id":56457,"nodeType":"Return","src":"2237:12:73"}]},"baseFunctions":[57081],"documentation":{"id":56450,"nodeType":"StructuredDocumentation","src":"2099:54:73","text":" @dev Returns the name of the token."},"functionSelector":"06fdde03","implemented":true,"kind":"function","modifiers":[],"name":"name","nameLocation":"2167:4:73","overrides":{"id":56452,"nodeType":"OverrideSpecifier","overrides":[],"src":"2194:8:73"},"parameters":{"id":56451,"nodeType":"ParameterList","parameters":[],"src":"2171:2:73"},"returnParameters":{"id":56455,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56454,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":56459,"src":"2212:13:73","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":56453,"name":"string","nodeType":"ElementaryTypeName","src":"2212:6:73","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2211:15:73"},"scope":56991,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":56469,"nodeType":"FunctionDefinition","src":"2369:102:73","nodes":[],"body":{"id":56468,"nodeType":"Block","src":"2440:31:73","nodes":[],"statements":[{"expression":{"id":56466,"name":"_symbol","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56432,"src":"2457:7:73","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"functionReturnParameters":56465,"id":56467,"nodeType":"Return","src":"2450:14:73"}]},"baseFunctions":[57087],"documentation":{"id":56460,"nodeType":"StructuredDocumentation","src":"2262:102:73","text":" @dev Returns the symbol of the token, usually a shorter version of the\n name."},"functionSelector":"95d89b41","implemented":true,"kind":"function","modifiers":[],"name":"symbol","nameLocation":"2378:6:73","overrides":{"id":56462,"nodeType":"OverrideSpecifier","overrides":[],"src":"2407:8:73"},"parameters":{"id":56461,"nodeType":"ParameterList","parameters":[],"src":"2384:2:73"},"returnParameters":{"id":56465,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56464,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":56469,"src":"2425:13:73","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":56463,"name":"string","nodeType":"ElementaryTypeName","src":"2425:6:73","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2424:15:73"},"scope":56991,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":56479,"nodeType":"FunctionDefinition","src":"3104:91:73","nodes":[],"body":{"id":56478,"nodeType":"Block","src":"3169:26:73","nodes":[],"statements":[{"expression":{"hexValue":"3138","id":56476,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3186:2:73","typeDescriptions":{"typeIdentifier":"t_rational_18_by_1","typeString":"int_const 18"},"value":"18"},"functionReturnParameters":56475,"id":56477,"nodeType":"Return","src":"3179:9:73"}]},"baseFunctions":[57093],"documentation":{"id":56470,"nodeType":"StructuredDocumentation","src":"2477:622:73","text":" @dev Returns the number of decimals used to get its user representation.\n For example, if `decimals` equals `2`, a balance of `505` tokens should\n be displayed to a user as `5.05` (`505 / 10 ** 2`).\n Tokens usually opt for a value of 18, imitating the relationship between\n Ether and Wei. This is the default value returned by this function, unless\n it's overridden.\n NOTE: This information is only used for _display_ purposes: it in\n no way affects any of the arithmetic of the contract, including\n {IERC20-balanceOf} and {IERC20-transfer}."},"functionSelector":"313ce567","implemented":true,"kind":"function","modifiers":[],"name":"decimals","nameLocation":"3113:8:73","overrides":{"id":56472,"nodeType":"OverrideSpecifier","overrides":[],"src":"3144:8:73"},"parameters":{"id":56471,"nodeType":"ParameterList","parameters":[],"src":"3121:2:73"},"returnParameters":{"id":56475,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56474,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":56479,"src":"3162:5:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":56473,"name":"uint8","nodeType":"ElementaryTypeName","src":"3162:5:73","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"3161:7:73"},"scope":56991,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":56489,"nodeType":"FunctionDefinition","src":"3255:106:73","nodes":[],"body":{"id":56488,"nodeType":"Block","src":"3325:36:73","nodes":[],"statements":[{"expression":{"id":56486,"name":"_totalSupply","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56428,"src":"3342:12:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":56485,"id":56487,"nodeType":"Return","src":"3335:19:73"}]},"baseFunctions":[57018],"documentation":{"id":56480,"nodeType":"StructuredDocumentation","src":"3201:49:73","text":" @dev See {IERC20-totalSupply}."},"functionSelector":"18160ddd","implemented":true,"kind":"function","modifiers":[],"name":"totalSupply","nameLocation":"3264:11:73","overrides":{"id":56482,"nodeType":"OverrideSpecifier","overrides":[],"src":"3298:8:73"},"parameters":{"id":56481,"nodeType":"ParameterList","parameters":[],"src":"3275:2:73"},"returnParameters":{"id":56485,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56484,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":56489,"src":"3316:7:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56483,"name":"uint256","nodeType":"ElementaryTypeName","src":"3316:7:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3315:9:73"},"scope":56991,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":56503,"nodeType":"FunctionDefinition","src":"3419:125:73","nodes":[],"body":{"id":56502,"nodeType":"Block","src":"3502:42:73","nodes":[],"statements":[{"expression":{"baseExpression":{"id":56498,"name":"_balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56420,"src":"3519:9:73","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":56500,"indexExpression":{"id":56499,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56492,"src":"3529:7:73","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3519:18:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":56497,"id":56501,"nodeType":"Return","src":"3512:25:73"}]},"baseFunctions":[57026],"documentation":{"id":56490,"nodeType":"StructuredDocumentation","src":"3367:47:73","text":" @dev See {IERC20-balanceOf}."},"functionSelector":"70a08231","implemented":true,"kind":"function","modifiers":[],"name":"balanceOf","nameLocation":"3428:9:73","overrides":{"id":56494,"nodeType":"OverrideSpecifier","overrides":[],"src":"3475:8:73"},"parameters":{"id":56493,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56492,"mutability":"mutable","name":"account","nameLocation":"3446:7:73","nodeType":"VariableDeclaration","scope":56503,"src":"3438:15:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56491,"name":"address","nodeType":"ElementaryTypeName","src":"3438:7:73","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3437:17:73"},"returnParameters":{"id":56497,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56496,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":56503,"src":"3493:7:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56495,"name":"uint256","nodeType":"ElementaryTypeName","src":"3493:7:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3492:9:73"},"scope":56991,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":56528,"nodeType":"FunctionDefinition","src":"3740:189:73","nodes":[],"body":{"id":56527,"nodeType":"Block","src":"3825:104:73","nodes":[],"statements":[{"assignments":[56515],"declarations":[{"constant":false,"id":56515,"mutability":"mutable","name":"owner","nameLocation":"3843:5:73","nodeType":"VariableDeclaration","scope":56527,"src":"3835:13:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56514,"name":"address","nodeType":"ElementaryTypeName","src":"3835:7:73","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":56518,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":56516,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57893,"src":"3851:10:73","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":56517,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3851:12:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"3835:28:73"},{"expression":{"arguments":[{"id":56520,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56515,"src":"3883:5:73","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56521,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56506,"src":"3890:2:73","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56522,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56508,"src":"3894:6:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":56519,"name":"_transfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56751,"src":"3873:9:73","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":56523,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3873:28:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56524,"nodeType":"ExpressionStatement","src":"3873:28:73"},{"expression":{"hexValue":"74727565","id":56525,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"3918:4:73","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":56513,"id":56526,"nodeType":"Return","src":"3911:11:73"}]},"baseFunctions":[57036],"documentation":{"id":56504,"nodeType":"StructuredDocumentation","src":"3550:185:73","text":" @dev See {IERC20-transfer}.\n Requirements:\n - `to` cannot be the zero address.\n - the caller must have a balance of at least `amount`."},"functionSelector":"a9059cbb","implemented":true,"kind":"function","modifiers":[],"name":"transfer","nameLocation":"3749:8:73","overrides":{"id":56510,"nodeType":"OverrideSpecifier","overrides":[],"src":"3801:8:73"},"parameters":{"id":56509,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56506,"mutability":"mutable","name":"to","nameLocation":"3766:2:73","nodeType":"VariableDeclaration","scope":56528,"src":"3758:10:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56505,"name":"address","nodeType":"ElementaryTypeName","src":"3758:7:73","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56508,"mutability":"mutable","name":"amount","nameLocation":"3778:6:73","nodeType":"VariableDeclaration","scope":56528,"src":"3770:14:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56507,"name":"uint256","nodeType":"ElementaryTypeName","src":"3770:7:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3757:28:73"},"returnParameters":{"id":56513,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56512,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":56528,"src":"3819:4:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":56511,"name":"bool","nodeType":"ElementaryTypeName","src":"3819:4:73","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"3818:6:73"},"scope":56991,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":56546,"nodeType":"FunctionDefinition","src":"3987:149:73","nodes":[],"body":{"id":56545,"nodeType":"Block","src":"4085:51:73","nodes":[],"statements":[{"expression":{"baseExpression":{"baseExpression":{"id":56539,"name":"_allowances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56426,"src":"4102:11:73","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"}},"id":56541,"indexExpression":{"id":56540,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56531,"src":"4114:5:73","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4102:18:73","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":56543,"indexExpression":{"id":56542,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56533,"src":"4121:7:73","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4102:27:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":56538,"id":56544,"nodeType":"Return","src":"4095:34:73"}]},"baseFunctions":[57046],"documentation":{"id":56529,"nodeType":"StructuredDocumentation","src":"3935:47:73","text":" @dev See {IERC20-allowance}."},"functionSelector":"dd62ed3e","implemented":true,"kind":"function","modifiers":[],"name":"allowance","nameLocation":"3996:9:73","overrides":{"id":56535,"nodeType":"OverrideSpecifier","overrides":[],"src":"4058:8:73"},"parameters":{"id":56534,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56531,"mutability":"mutable","name":"owner","nameLocation":"4014:5:73","nodeType":"VariableDeclaration","scope":56546,"src":"4006:13:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56530,"name":"address","nodeType":"ElementaryTypeName","src":"4006:7:73","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56533,"mutability":"mutable","name":"spender","nameLocation":"4029:7:73","nodeType":"VariableDeclaration","scope":56546,"src":"4021:15:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56532,"name":"address","nodeType":"ElementaryTypeName","src":"4021:7:73","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4005:32:73"},"returnParameters":{"id":56538,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56537,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":56546,"src":"4076:7:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56536,"name":"uint256","nodeType":"ElementaryTypeName","src":"4076:7:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4075:9:73"},"scope":56991,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":56571,"nodeType":"FunctionDefinition","src":"4444:197:73","nodes":[],"body":{"id":56570,"nodeType":"Block","src":"4533:108:73","nodes":[],"statements":[{"assignments":[56558],"declarations":[{"constant":false,"id":56558,"mutability":"mutable","name":"owner","nameLocation":"4551:5:73","nodeType":"VariableDeclaration","scope":56570,"src":"4543:13:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56557,"name":"address","nodeType":"ElementaryTypeName","src":"4543:7:73","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":56561,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":56559,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57893,"src":"4559:10:73","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":56560,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4559:12:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"4543:28:73"},{"expression":{"arguments":[{"id":56563,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56558,"src":"4590:5:73","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56564,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56549,"src":"4597:7:73","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56565,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56551,"src":"4606:6:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":56562,"name":"_approve","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56925,"src":"4581:8:73","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":56566,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4581:32:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56567,"nodeType":"ExpressionStatement","src":"4581:32:73"},{"expression":{"hexValue":"74727565","id":56568,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"4630:4:73","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":56556,"id":56569,"nodeType":"Return","src":"4623:11:73"}]},"baseFunctions":[57056],"documentation":{"id":56547,"nodeType":"StructuredDocumentation","src":"4142:297:73","text":" @dev See {IERC20-approve}.\n NOTE: If `amount` is the maximum `uint256`, the allowance is not updated on\n `transferFrom`. This is semantically equivalent to an infinite approval.\n Requirements:\n - `spender` cannot be the zero address."},"functionSelector":"095ea7b3","implemented":true,"kind":"function","modifiers":[],"name":"approve","nameLocation":"4453:7:73","overrides":{"id":56553,"nodeType":"OverrideSpecifier","overrides":[],"src":"4509:8:73"},"parameters":{"id":56552,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56549,"mutability":"mutable","name":"spender","nameLocation":"4469:7:73","nodeType":"VariableDeclaration","scope":56571,"src":"4461:15:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56548,"name":"address","nodeType":"ElementaryTypeName","src":"4461:7:73","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56551,"mutability":"mutable","name":"amount","nameLocation":"4486:6:73","nodeType":"VariableDeclaration","scope":56571,"src":"4478:14:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56550,"name":"uint256","nodeType":"ElementaryTypeName","src":"4478:7:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4460:33:73"},"returnParameters":{"id":56556,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56555,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":56571,"src":"4527:4:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":56554,"name":"bool","nodeType":"ElementaryTypeName","src":"4527:4:73","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"4526:6:73"},"scope":56991,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":56604,"nodeType":"FunctionDefinition","src":"5203:256:73","nodes":[],"body":{"id":56603,"nodeType":"Block","src":"5306:153:73","nodes":[],"statements":[{"assignments":[56585],"declarations":[{"constant":false,"id":56585,"mutability":"mutable","name":"spender","nameLocation":"5324:7:73","nodeType":"VariableDeclaration","scope":56603,"src":"5316:15:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56584,"name":"address","nodeType":"ElementaryTypeName","src":"5316:7:73","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":56588,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":56586,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57893,"src":"5334:10:73","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":56587,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5334:12:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"5316:30:73"},{"expression":{"arguments":[{"id":56590,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56574,"src":"5372:4:73","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56591,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56585,"src":"5378:7:73","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56592,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56578,"src":"5387:6:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":56589,"name":"_spendAllowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56968,"src":"5356:15:73","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":56593,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5356:38:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56594,"nodeType":"ExpressionStatement","src":"5356:38:73"},{"expression":{"arguments":[{"id":56596,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56574,"src":"5414:4:73","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56597,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56576,"src":"5420:2:73","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56598,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56578,"src":"5424:6:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":56595,"name":"_transfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56751,"src":"5404:9:73","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":56599,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5404:27:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56600,"nodeType":"ExpressionStatement","src":"5404:27:73"},{"expression":{"hexValue":"74727565","id":56601,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"5448:4:73","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":56583,"id":56602,"nodeType":"Return","src":"5441:11:73"}]},"baseFunctions":[57068],"documentation":{"id":56572,"nodeType":"StructuredDocumentation","src":"4647:551:73","text":" @dev See {IERC20-transferFrom}.\n Emits an {Approval} event indicating the updated allowance. This is not\n required by the EIP. See the note at the beginning of {ERC20}.\n NOTE: Does not update the allowance if the current allowance\n is the maximum `uint256`.\n Requirements:\n - `from` and `to` cannot be the zero address.\n - `from` must have a balance of at least `amount`.\n - the caller must have allowance for ``from``'s tokens of at least\n `amount`."},"functionSelector":"23b872dd","implemented":true,"kind":"function","modifiers":[],"name":"transferFrom","nameLocation":"5212:12:73","overrides":{"id":56580,"nodeType":"OverrideSpecifier","overrides":[],"src":"5282:8:73"},"parameters":{"id":56579,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56574,"mutability":"mutable","name":"from","nameLocation":"5233:4:73","nodeType":"VariableDeclaration","scope":56604,"src":"5225:12:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56573,"name":"address","nodeType":"ElementaryTypeName","src":"5225:7:73","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56576,"mutability":"mutable","name":"to","nameLocation":"5247:2:73","nodeType":"VariableDeclaration","scope":56604,"src":"5239:10:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56575,"name":"address","nodeType":"ElementaryTypeName","src":"5239:7:73","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56578,"mutability":"mutable","name":"amount","nameLocation":"5259:6:73","nodeType":"VariableDeclaration","scope":56604,"src":"5251:14:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56577,"name":"uint256","nodeType":"ElementaryTypeName","src":"5251:7:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5224:42:73"},"returnParameters":{"id":56583,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56582,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":56604,"src":"5300:4:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":56581,"name":"bool","nodeType":"ElementaryTypeName","src":"5300:4:73","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"5299:6:73"},"scope":56991,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":56633,"nodeType":"FunctionDefinition","src":"5854:234:73","nodes":[],"body":{"id":56632,"nodeType":"Block","src":"5948:140:73","nodes":[],"statements":[{"assignments":[56615],"declarations":[{"constant":false,"id":56615,"mutability":"mutable","name":"owner","nameLocation":"5966:5:73","nodeType":"VariableDeclaration","scope":56632,"src":"5958:13:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56614,"name":"address","nodeType":"ElementaryTypeName","src":"5958:7:73","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":56618,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":56616,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57893,"src":"5974:10:73","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":56617,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5974:12:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"5958:28:73"},{"expression":{"arguments":[{"id":56620,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56615,"src":"6005:5:73","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56621,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56607,"src":"6012:7:73","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":56627,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":56623,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56615,"src":"6031:5:73","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56624,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56607,"src":"6038:7:73","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":56622,"name":"allowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56546,"src":"6021:9:73","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view returns (uint256)"}},"id":56625,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6021:25:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":56626,"name":"addedValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56609,"src":"6049:10:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6021:38:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":56619,"name":"_approve","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56925,"src":"5996:8:73","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":56628,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5996:64:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56629,"nodeType":"ExpressionStatement","src":"5996:64:73"},{"expression":{"hexValue":"74727565","id":56630,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"6077:4:73","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":56613,"id":56631,"nodeType":"Return","src":"6070:11:73"}]},"documentation":{"id":56605,"nodeType":"StructuredDocumentation","src":"5465:384:73","text":" @dev Atomically increases the allowance granted to `spender` by the caller.\n This is an alternative to {approve} that can be used as a mitigation for\n problems described in {IERC20-approve}.\n Emits an {Approval} event indicating the updated allowance.\n Requirements:\n - `spender` cannot be the zero address."},"functionSelector":"39509351","implemented":true,"kind":"function","modifiers":[],"name":"increaseAllowance","nameLocation":"5863:17:73","parameters":{"id":56610,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56607,"mutability":"mutable","name":"spender","nameLocation":"5889:7:73","nodeType":"VariableDeclaration","scope":56633,"src":"5881:15:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56606,"name":"address","nodeType":"ElementaryTypeName","src":"5881:7:73","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56609,"mutability":"mutable","name":"addedValue","nameLocation":"5906:10:73","nodeType":"VariableDeclaration","scope":56633,"src":"5898:18:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56608,"name":"uint256","nodeType":"ElementaryTypeName","src":"5898:7:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5880:37:73"},"returnParameters":{"id":56613,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56612,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":56633,"src":"5942:4:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":56611,"name":"bool","nodeType":"ElementaryTypeName","src":"5942:4:73","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"5941:6:73"},"scope":56991,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":56674,"nodeType":"FunctionDefinition","src":"6575:427:73","nodes":[],"body":{"id":56673,"nodeType":"Block","src":"6674:328:73","nodes":[],"statements":[{"assignments":[56644],"declarations":[{"constant":false,"id":56644,"mutability":"mutable","name":"owner","nameLocation":"6692:5:73","nodeType":"VariableDeclaration","scope":56673,"src":"6684:13:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56643,"name":"address","nodeType":"ElementaryTypeName","src":"6684:7:73","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":56647,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":56645,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57893,"src":"6700:10:73","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":56646,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6700:12:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"6684:28:73"},{"assignments":[56649],"declarations":[{"constant":false,"id":56649,"mutability":"mutable","name":"currentAllowance","nameLocation":"6730:16:73","nodeType":"VariableDeclaration","scope":56673,"src":"6722:24:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56648,"name":"uint256","nodeType":"ElementaryTypeName","src":"6722:7:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":56654,"initialValue":{"arguments":[{"id":56651,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56644,"src":"6759:5:73","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56652,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56636,"src":"6766:7:73","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":56650,"name":"allowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56546,"src":"6749:9:73","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view returns (uint256)"}},"id":56653,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6749:25:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"6722:52:73"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":56658,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":56656,"name":"currentAllowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56649,"src":"6792:16:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":56657,"name":"subtractedValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56638,"src":"6812:15:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6792:35:73","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726f","id":56659,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6829:39:73","typeDescriptions":{"typeIdentifier":"t_stringliteral_f8b476f7d28209d77d4a4ac1fe36b9f8259aa1bb6bddfa6e89de7e51615cf8a8","typeString":"literal_string \"ERC20: decreased allowance below zero\""},"value":"ERC20: decreased allowance below zero"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_f8b476f7d28209d77d4a4ac1fe36b9f8259aa1bb6bddfa6e89de7e51615cf8a8","typeString":"literal_string \"ERC20: decreased allowance below zero\""}],"id":56655,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"6784:7:73","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":56660,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6784:85:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56661,"nodeType":"ExpressionStatement","src":"6784:85:73"},{"id":56670,"nodeType":"UncheckedBlock","src":"6879:95:73","statements":[{"expression":{"arguments":[{"id":56663,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56644,"src":"6912:5:73","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56664,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56636,"src":"6919:7:73","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":56667,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":56665,"name":"currentAllowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56649,"src":"6928:16:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":56666,"name":"subtractedValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56638,"src":"6947:15:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6928:34:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":56662,"name":"_approve","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56925,"src":"6903:8:73","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":56668,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6903:60:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56669,"nodeType":"ExpressionStatement","src":"6903:60:73"}]},{"expression":{"hexValue":"74727565","id":56671,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"6991:4:73","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":56642,"id":56672,"nodeType":"Return","src":"6984:11:73"}]},"documentation":{"id":56634,"nodeType":"StructuredDocumentation","src":"6094:476:73","text":" @dev Atomically decreases the allowance granted to `spender` by the caller.\n This is an alternative to {approve} that can be used as a mitigation for\n problems described in {IERC20-approve}.\n Emits an {Approval} event indicating the updated allowance.\n Requirements:\n - `spender` cannot be the zero address.\n - `spender` must have allowance for the caller of at least\n `subtractedValue`."},"functionSelector":"a457c2d7","implemented":true,"kind":"function","modifiers":[],"name":"decreaseAllowance","nameLocation":"6584:17:73","parameters":{"id":56639,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56636,"mutability":"mutable","name":"spender","nameLocation":"6610:7:73","nodeType":"VariableDeclaration","scope":56674,"src":"6602:15:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56635,"name":"address","nodeType":"ElementaryTypeName","src":"6602:7:73","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56638,"mutability":"mutable","name":"subtractedValue","nameLocation":"6627:15:73","nodeType":"VariableDeclaration","scope":56674,"src":"6619:23:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56637,"name":"uint256","nodeType":"ElementaryTypeName","src":"6619:7:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6601:42:73"},"returnParameters":{"id":56642,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56641,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":56674,"src":"6668:4:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":56640,"name":"bool","nodeType":"ElementaryTypeName","src":"6668:4:73","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"6667:6:73"},"scope":56991,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":56751,"nodeType":"FunctionDefinition","src":"7456:788:73","nodes":[],"body":{"id":56750,"nodeType":"Block","src":"7534:710:73","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":56690,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":56685,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56677,"src":"7552:4:73","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":56688,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7568:1:73","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":56687,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7560:7:73","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":56686,"name":"address","nodeType":"ElementaryTypeName","src":"7560:7:73","typeDescriptions":{}}},"id":56689,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7560:10:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"7552:18:73","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"45524332303a207472616e736665722066726f6d20746865207a65726f2061646472657373","id":56691,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7572:39:73","typeDescriptions":{"typeIdentifier":"t_stringliteral_baecc556b46f4ed0f2b4cb599d60785ac8563dd2dc0a5bf12edea1c39e5e1fea","typeString":"literal_string \"ERC20: transfer from the zero address\""},"value":"ERC20: transfer from the zero address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_baecc556b46f4ed0f2b4cb599d60785ac8563dd2dc0a5bf12edea1c39e5e1fea","typeString":"literal_string \"ERC20: transfer from the zero address\""}],"id":56684,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"7544:7:73","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":56692,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7544:68:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56693,"nodeType":"ExpressionStatement","src":"7544:68:73"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":56700,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":56695,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56679,"src":"7630:2:73","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":56698,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7644:1:73","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":56697,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7636:7:73","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":56696,"name":"address","nodeType":"ElementaryTypeName","src":"7636:7:73","typeDescriptions":{}}},"id":56699,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7636:10:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"7630:16:73","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"45524332303a207472616e7366657220746f20746865207a65726f2061646472657373","id":56701,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7648:37:73","typeDescriptions":{"typeIdentifier":"t_stringliteral_0557e210f7a69a685100a7e4e3d0a7024c546085cee28910fd17d0b081d9516f","typeString":"literal_string \"ERC20: transfer to the zero address\""},"value":"ERC20: transfer to the zero address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_0557e210f7a69a685100a7e4e3d0a7024c546085cee28910fd17d0b081d9516f","typeString":"literal_string \"ERC20: transfer to the zero address\""}],"id":56694,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"7622:7:73","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":56702,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7622:64:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56703,"nodeType":"ExpressionStatement","src":"7622:64:73"},{"expression":{"arguments":[{"id":56705,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56677,"src":"7718:4:73","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56706,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56679,"src":"7724:2:73","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56707,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56681,"src":"7728:6:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":56704,"name":"_beforeTokenTransfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56979,"src":"7697:20:73","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":56708,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7697:38:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56709,"nodeType":"ExpressionStatement","src":"7697:38:73"},{"assignments":[56711],"declarations":[{"constant":false,"id":56711,"mutability":"mutable","name":"fromBalance","nameLocation":"7754:11:73","nodeType":"VariableDeclaration","scope":56750,"src":"7746:19:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56710,"name":"uint256","nodeType":"ElementaryTypeName","src":"7746:7:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":56715,"initialValue":{"baseExpression":{"id":56712,"name":"_balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56420,"src":"7768:9:73","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":56714,"indexExpression":{"id":56713,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56677,"src":"7778:4:73","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"7768:15:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"7746:37:73"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":56719,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":56717,"name":"fromBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56711,"src":"7801:11:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":56718,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56681,"src":"7816:6:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7801:21:73","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"45524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e6365","id":56720,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7824:40:73","typeDescriptions":{"typeIdentifier":"t_stringliteral_4107e8a8b9e94bf8ff83080ddec1c0bffe897ebc2241b89d44f66b3d274088b6","typeString":"literal_string \"ERC20: transfer amount exceeds balance\""},"value":"ERC20: transfer amount exceeds balance"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_4107e8a8b9e94bf8ff83080ddec1c0bffe897ebc2241b89d44f66b3d274088b6","typeString":"literal_string \"ERC20: transfer amount exceeds balance\""}],"id":56716,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"7793:7:73","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":56721,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7793:72:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56722,"nodeType":"ExpressionStatement","src":"7793:72:73"},{"id":56737,"nodeType":"UncheckedBlock","src":"7875:273:73","statements":[{"expression":{"id":56729,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":56723,"name":"_balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56420,"src":"7899:9:73","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":56725,"indexExpression":{"id":56724,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56677,"src":"7909:4:73","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"7899:15:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":56728,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":56726,"name":"fromBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56711,"src":"7917:11:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":56727,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56681,"src":"7931:6:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7917:20:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7899:38:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":56730,"nodeType":"ExpressionStatement","src":"7899:38:73"},{"expression":{"id":56735,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":56731,"name":"_balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56420,"src":"8114:9:73","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":56733,"indexExpression":{"id":56732,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56679,"src":"8124:2:73","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"8114:13:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"id":56734,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56681,"src":"8131:6:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8114:23:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":56736,"nodeType":"ExpressionStatement","src":"8114:23:73"}]},{"eventCall":{"arguments":[{"id":56739,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56677,"src":"8172:4:73","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56740,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56679,"src":"8178:2:73","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56741,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56681,"src":"8182:6:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":56738,"name":"Transfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57003,"src":"8163:8:73","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":56742,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8163:26:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56743,"nodeType":"EmitStatement","src":"8158:31:73"},{"expression":{"arguments":[{"id":56745,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56677,"src":"8220:4:73","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56746,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56679,"src":"8226:2:73","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56747,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56681,"src":"8230:6:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":56744,"name":"_afterTokenTransfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56990,"src":"8200:19:73","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":56748,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8200:37:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56749,"nodeType":"ExpressionStatement","src":"8200:37:73"}]},"documentation":{"id":56675,"nodeType":"StructuredDocumentation","src":"7008:443:73","text":" @dev Moves `amount` of tokens from `from` to `to`.\n This internal function is equivalent to {transfer}, and can be used to\n e.g. implement automatic token fees, slashing mechanisms, etc.\n Emits a {Transfer} event.\n Requirements:\n - `from` cannot be the zero address.\n - `to` cannot be the zero address.\n - `from` must have a balance of at least `amount`."},"implemented":true,"kind":"function","modifiers":[],"name":"_transfer","nameLocation":"7465:9:73","parameters":{"id":56682,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56677,"mutability":"mutable","name":"from","nameLocation":"7483:4:73","nodeType":"VariableDeclaration","scope":56751,"src":"7475:12:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56676,"name":"address","nodeType":"ElementaryTypeName","src":"7475:7:73","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56679,"mutability":"mutable","name":"to","nameLocation":"7497:2:73","nodeType":"VariableDeclaration","scope":56751,"src":"7489:10:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56678,"name":"address","nodeType":"ElementaryTypeName","src":"7489:7:73","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56681,"mutability":"mutable","name":"amount","nameLocation":"7509:6:73","nodeType":"VariableDeclaration","scope":56751,"src":"7501:14:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56680,"name":"uint256","nodeType":"ElementaryTypeName","src":"7501:7:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7474:42:73"},"returnParameters":{"id":56683,"nodeType":"ParameterList","parameters":[],"src":"7534:0:73"},"scope":56991,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":56808,"nodeType":"FunctionDefinition","src":"8520:535:73","nodes":[],"body":{"id":56807,"nodeType":"Block","src":"8585:470:73","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":56765,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":56760,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56754,"src":"8603:7:73","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":56763,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8622:1:73","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":56762,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8614:7:73","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":56761,"name":"address","nodeType":"ElementaryTypeName","src":"8614:7:73","typeDescriptions":{}}},"id":56764,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8614:10:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"8603:21:73","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"45524332303a206d696e7420746f20746865207a65726f2061646472657373","id":56766,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8626:33:73","typeDescriptions":{"typeIdentifier":"t_stringliteral_fc0b381caf0a47702017f3c4b358ebe3d3aff6c60ce819a8bf3ef5a95d4f202e","typeString":"literal_string \"ERC20: mint to the zero address\""},"value":"ERC20: mint to the zero address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_fc0b381caf0a47702017f3c4b358ebe3d3aff6c60ce819a8bf3ef5a95d4f202e","typeString":"literal_string \"ERC20: mint to the zero address\""}],"id":56759,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"8595:7:73","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":56767,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8595:65:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56768,"nodeType":"ExpressionStatement","src":"8595:65:73"},{"expression":{"arguments":[{"arguments":[{"hexValue":"30","id":56772,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8700:1:73","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":56771,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8692:7:73","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":56770,"name":"address","nodeType":"ElementaryTypeName","src":"8692:7:73","typeDescriptions":{}}},"id":56773,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8692:10:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56774,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56754,"src":"8704:7:73","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56775,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56756,"src":"8713:6:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":56769,"name":"_beforeTokenTransfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56979,"src":"8671:20:73","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":56776,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8671:49:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56777,"nodeType":"ExpressionStatement","src":"8671:49:73"},{"expression":{"id":56780,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":56778,"name":"_totalSupply","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56428,"src":"8731:12:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"id":56779,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56756,"src":"8747:6:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8731:22:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":56781,"nodeType":"ExpressionStatement","src":"8731:22:73"},{"id":56788,"nodeType":"UncheckedBlock","src":"8763:175:73","statements":[{"expression":{"id":56786,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":56782,"name":"_balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56420,"src":"8899:9:73","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":56784,"indexExpression":{"id":56783,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56754,"src":"8909:7:73","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"8899:18:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"id":56785,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56756,"src":"8921:6:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8899:28:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":56787,"nodeType":"ExpressionStatement","src":"8899:28:73"}]},{"eventCall":{"arguments":[{"arguments":[{"hexValue":"30","id":56792,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8969:1:73","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":56791,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8961:7:73","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":56790,"name":"address","nodeType":"ElementaryTypeName","src":"8961:7:73","typeDescriptions":{}}},"id":56793,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8961:10:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56794,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56754,"src":"8973:7:73","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56795,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56756,"src":"8982:6:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":56789,"name":"Transfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57003,"src":"8952:8:73","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":56796,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8952:37:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56797,"nodeType":"EmitStatement","src":"8947:42:73"},{"expression":{"arguments":[{"arguments":[{"hexValue":"30","id":56801,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9028:1:73","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":56800,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9020:7:73","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":56799,"name":"address","nodeType":"ElementaryTypeName","src":"9020:7:73","typeDescriptions":{}}},"id":56802,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9020:10:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56803,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56754,"src":"9032:7:73","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56804,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56756,"src":"9041:6:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":56798,"name":"_afterTokenTransfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56990,"src":"9000:19:73","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":56805,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9000:48:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56806,"nodeType":"ExpressionStatement","src":"9000:48:73"}]},"documentation":{"id":56752,"nodeType":"StructuredDocumentation","src":"8250:265:73","text":"@dev Creates `amount` tokens and assigns them to `account`, increasing\n the total supply.\n Emits a {Transfer} event with `from` set to the zero address.\n Requirements:\n - `account` cannot be the zero address."},"implemented":true,"kind":"function","modifiers":[],"name":"_mint","nameLocation":"8529:5:73","parameters":{"id":56757,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56754,"mutability":"mutable","name":"account","nameLocation":"8543:7:73","nodeType":"VariableDeclaration","scope":56808,"src":"8535:15:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56753,"name":"address","nodeType":"ElementaryTypeName","src":"8535:7:73","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56756,"mutability":"mutable","name":"amount","nameLocation":"8560:6:73","nodeType":"VariableDeclaration","scope":56808,"src":"8552:14:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56755,"name":"uint256","nodeType":"ElementaryTypeName","src":"8552:7:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8534:33:73"},"returnParameters":{"id":56758,"nodeType":"ParameterList","parameters":[],"src":"8585:0:73"},"scope":56991,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":56880,"nodeType":"FunctionDefinition","src":"9375:659:73","nodes":[],"body":{"id":56879,"nodeType":"Block","src":"9440:594:73","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":56822,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":56817,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56811,"src":"9458:7:73","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":56820,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9477:1:73","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":56819,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9469:7:73","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":56818,"name":"address","nodeType":"ElementaryTypeName","src":"9469:7:73","typeDescriptions":{}}},"id":56821,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9469:10:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"9458:21:73","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"45524332303a206275726e2066726f6d20746865207a65726f2061646472657373","id":56823,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9481:35:73","typeDescriptions":{"typeIdentifier":"t_stringliteral_b16788493b576042bb52c50ed56189e0b250db113c7bfb1c3897d25cf9632d7f","typeString":"literal_string \"ERC20: burn from the zero address\""},"value":"ERC20: burn from the zero address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_b16788493b576042bb52c50ed56189e0b250db113c7bfb1c3897d25cf9632d7f","typeString":"literal_string \"ERC20: burn from the zero address\""}],"id":56816,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"9450:7:73","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":56824,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9450:67:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56825,"nodeType":"ExpressionStatement","src":"9450:67:73"},{"expression":{"arguments":[{"id":56827,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56811,"src":"9549:7:73","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"30","id":56830,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9566:1:73","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":56829,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9558:7:73","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":56828,"name":"address","nodeType":"ElementaryTypeName","src":"9558:7:73","typeDescriptions":{}}},"id":56831,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9558:10:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56832,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56813,"src":"9570:6:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":56826,"name":"_beforeTokenTransfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56979,"src":"9528:20:73","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":56833,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9528:49:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56834,"nodeType":"ExpressionStatement","src":"9528:49:73"},{"assignments":[56836],"declarations":[{"constant":false,"id":56836,"mutability":"mutable","name":"accountBalance","nameLocation":"9596:14:73","nodeType":"VariableDeclaration","scope":56879,"src":"9588:22:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56835,"name":"uint256","nodeType":"ElementaryTypeName","src":"9588:7:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":56840,"initialValue":{"baseExpression":{"id":56837,"name":"_balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56420,"src":"9613:9:73","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":56839,"indexExpression":{"id":56838,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56811,"src":"9623:7:73","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"9613:18:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"9588:43:73"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":56844,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":56842,"name":"accountBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56836,"src":"9649:14:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":56843,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56813,"src":"9667:6:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9649:24:73","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"45524332303a206275726e20616d6f756e7420657863656564732062616c616e6365","id":56845,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9675:36:73","typeDescriptions":{"typeIdentifier":"t_stringliteral_149b126e7125232b4200af45303d04fba8b74653b1a295a6a561a528c33fefdd","typeString":"literal_string \"ERC20: burn amount exceeds balance\""},"value":"ERC20: burn amount exceeds balance"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_149b126e7125232b4200af45303d04fba8b74653b1a295a6a561a528c33fefdd","typeString":"literal_string \"ERC20: burn amount exceeds balance\""}],"id":56841,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"9641:7:73","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":56846,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9641:71:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56847,"nodeType":"ExpressionStatement","src":"9641:71:73"},{"id":56860,"nodeType":"UncheckedBlock","src":"9722:194:73","statements":[{"expression":{"id":56854,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":56848,"name":"_balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56420,"src":"9746:9:73","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":56850,"indexExpression":{"id":56849,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56811,"src":"9756:7:73","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"9746:18:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":56853,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":56851,"name":"accountBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56836,"src":"9767:14:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":56852,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56813,"src":"9784:6:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9767:23:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9746:44:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":56855,"nodeType":"ExpressionStatement","src":"9746:44:73"},{"expression":{"id":56858,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":56856,"name":"_totalSupply","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56428,"src":"9883:12:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"id":56857,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56813,"src":"9899:6:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9883:22:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":56859,"nodeType":"ExpressionStatement","src":"9883:22:73"}]},{"eventCall":{"arguments":[{"id":56862,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56811,"src":"9940:7:73","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"30","id":56865,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9957:1:73","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":56864,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9949:7:73","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":56863,"name":"address","nodeType":"ElementaryTypeName","src":"9949:7:73","typeDescriptions":{}}},"id":56866,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9949:10:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56867,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56813,"src":"9961:6:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":56861,"name":"Transfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57003,"src":"9931:8:73","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":56868,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9931:37:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56869,"nodeType":"EmitStatement","src":"9926:42:73"},{"expression":{"arguments":[{"id":56871,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56811,"src":"9999:7:73","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"30","id":56874,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10016:1:73","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":56873,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10008:7:73","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":56872,"name":"address","nodeType":"ElementaryTypeName","src":"10008:7:73","typeDescriptions":{}}},"id":56875,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10008:10:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56876,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56813,"src":"10020:6:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":56870,"name":"_afterTokenTransfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56990,"src":"9979:19:73","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":56877,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9979:48:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56878,"nodeType":"ExpressionStatement","src":"9979:48:73"}]},"documentation":{"id":56809,"nodeType":"StructuredDocumentation","src":"9061:309:73","text":" @dev Destroys `amount` tokens from `account`, reducing the\n total supply.\n Emits a {Transfer} event with `to` set to the zero address.\n Requirements:\n - `account` cannot be the zero address.\n - `account` must have at least `amount` tokens."},"implemented":true,"kind":"function","modifiers":[],"name":"_burn","nameLocation":"9384:5:73","parameters":{"id":56814,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56811,"mutability":"mutable","name":"account","nameLocation":"9398:7:73","nodeType":"VariableDeclaration","scope":56880,"src":"9390:15:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56810,"name":"address","nodeType":"ElementaryTypeName","src":"9390:7:73","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56813,"mutability":"mutable","name":"amount","nameLocation":"9415:6:73","nodeType":"VariableDeclaration","scope":56880,"src":"9407:14:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56812,"name":"uint256","nodeType":"ElementaryTypeName","src":"9407:7:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9389:33:73"},"returnParameters":{"id":56815,"nodeType":"ParameterList","parameters":[],"src":"9440:0:73"},"scope":56991,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":56925,"nodeType":"FunctionDefinition","src":"10457:340:73","nodes":[],"body":{"id":56924,"nodeType":"Block","src":"10540:257:73","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":56896,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":56891,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56883,"src":"10558:5:73","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":56894,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10575:1:73","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":56893,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10567:7:73","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":56892,"name":"address","nodeType":"ElementaryTypeName","src":"10567:7:73","typeDescriptions":{}}},"id":56895,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10567:10:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"10558:19:73","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"45524332303a20617070726f76652066726f6d20746865207a65726f2061646472657373","id":56897,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10579:38:73","typeDescriptions":{"typeIdentifier":"t_stringliteral_c953f4879035ed60e766b34720f656aab5c697b141d924c283124ecedb91c208","typeString":"literal_string \"ERC20: approve from the zero address\""},"value":"ERC20: approve from the zero address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_c953f4879035ed60e766b34720f656aab5c697b141d924c283124ecedb91c208","typeString":"literal_string \"ERC20: approve from the zero address\""}],"id":56890,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"10550:7:73","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":56898,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10550:68:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56899,"nodeType":"ExpressionStatement","src":"10550:68:73"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":56906,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":56901,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56885,"src":"10636:7:73","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":56904,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10655:1:73","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":56903,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10647:7:73","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":56902,"name":"address","nodeType":"ElementaryTypeName","src":"10647:7:73","typeDescriptions":{}}},"id":56905,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10647:10:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"10636:21:73","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"45524332303a20617070726f766520746f20746865207a65726f2061646472657373","id":56907,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10659:36:73","typeDescriptions":{"typeIdentifier":"t_stringliteral_24883cc5fe64ace9d0df1893501ecb93c77180f0ff69cca79affb3c316dc8029","typeString":"literal_string \"ERC20: approve to the zero address\""},"value":"ERC20: approve to the zero address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_24883cc5fe64ace9d0df1893501ecb93c77180f0ff69cca79affb3c316dc8029","typeString":"literal_string \"ERC20: approve to the zero address\""}],"id":56900,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"10628:7:73","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":56908,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10628:68:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56909,"nodeType":"ExpressionStatement","src":"10628:68:73"},{"expression":{"id":56916,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"id":56910,"name":"_allowances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56426,"src":"10707:11:73","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"}},"id":56913,"indexExpression":{"id":56911,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56883,"src":"10719:5:73","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"10707:18:73","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":56914,"indexExpression":{"id":56912,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56885,"src":"10726:7:73","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"10707:27:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":56915,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56887,"src":"10737:6:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10707:36:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":56917,"nodeType":"ExpressionStatement","src":"10707:36:73"},{"eventCall":{"arguments":[{"id":56919,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56883,"src":"10767:5:73","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56920,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56885,"src":"10774:7:73","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56921,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56887,"src":"10783:6:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":56918,"name":"Approval","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57012,"src":"10758:8:73","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":56922,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10758:32:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56923,"nodeType":"EmitStatement","src":"10753:37:73"}]},"documentation":{"id":56881,"nodeType":"StructuredDocumentation","src":"10040:412:73","text":" @dev Sets `amount` as the allowance of `spender` over the `owner` s tokens.\n This internal function is equivalent to `approve`, and can be used to\n e.g. set automatic allowances for certain subsystems, etc.\n Emits an {Approval} event.\n Requirements:\n - `owner` cannot be the zero address.\n - `spender` cannot be the zero address."},"implemented":true,"kind":"function","modifiers":[],"name":"_approve","nameLocation":"10466:8:73","parameters":{"id":56888,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56883,"mutability":"mutable","name":"owner","nameLocation":"10483:5:73","nodeType":"VariableDeclaration","scope":56925,"src":"10475:13:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56882,"name":"address","nodeType":"ElementaryTypeName","src":"10475:7:73","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56885,"mutability":"mutable","name":"spender","nameLocation":"10498:7:73","nodeType":"VariableDeclaration","scope":56925,"src":"10490:15:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56884,"name":"address","nodeType":"ElementaryTypeName","src":"10490:7:73","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56887,"mutability":"mutable","name":"amount","nameLocation":"10515:6:73","nodeType":"VariableDeclaration","scope":56925,"src":"10507:14:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56886,"name":"uint256","nodeType":"ElementaryTypeName","src":"10507:7:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10474:48:73"},"returnParameters":{"id":56889,"nodeType":"ParameterList","parameters":[],"src":"10540:0:73"},"scope":56991,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":56968,"nodeType":"FunctionDefinition","src":"11078:411:73","nodes":[],"body":{"id":56967,"nodeType":"Block","src":"11168:321:73","nodes":[],"statements":[{"assignments":[56936],"declarations":[{"constant":false,"id":56936,"mutability":"mutable","name":"currentAllowance","nameLocation":"11186:16:73","nodeType":"VariableDeclaration","scope":56967,"src":"11178:24:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56935,"name":"uint256","nodeType":"ElementaryTypeName","src":"11178:7:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":56941,"initialValue":{"arguments":[{"id":56938,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56928,"src":"11215:5:73","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56939,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56930,"src":"11222:7:73","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":56937,"name":"allowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56546,"src":"11205:9:73","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view returns (uint256)"}},"id":56940,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11205:25:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"11178:52:73"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":56948,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":56942,"name":"currentAllowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56936,"src":"11244:16:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"arguments":[{"id":56945,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11269:7:73","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":56944,"name":"uint256","nodeType":"ElementaryTypeName","src":"11269:7:73","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}],"id":56943,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"11264:4:73","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":56946,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11264:13:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint256","typeString":"type(uint256)"}},"id":56947,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"11278:3:73","memberName":"max","nodeType":"MemberAccess","src":"11264:17:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"11244:37:73","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":56966,"nodeType":"IfStatement","src":"11240:243:73","trueBody":{"id":56965,"nodeType":"Block","src":"11283:200:73","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":56952,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":56950,"name":"currentAllowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56936,"src":"11305:16:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":56951,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56932,"src":"11325:6:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"11305:26:73","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"45524332303a20696e73756666696369656e7420616c6c6f77616e6365","id":56953,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11333:31:73","typeDescriptions":{"typeIdentifier":"t_stringliteral_3b6607e091cba9325f958656d2b5e0622ab7dc0eac71a26ac788cb25bc19f4fe","typeString":"literal_string \"ERC20: insufficient allowance\""},"value":"ERC20: insufficient allowance"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_3b6607e091cba9325f958656d2b5e0622ab7dc0eac71a26ac788cb25bc19f4fe","typeString":"literal_string \"ERC20: insufficient allowance\""}],"id":56949,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"11297:7:73","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":56954,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11297:68:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56955,"nodeType":"ExpressionStatement","src":"11297:68:73"},{"id":56964,"nodeType":"UncheckedBlock","src":"11379:94:73","statements":[{"expression":{"arguments":[{"id":56957,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56928,"src":"11416:5:73","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56958,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56930,"src":"11423:7:73","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":56961,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":56959,"name":"currentAllowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56936,"src":"11432:16:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":56960,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56932,"src":"11451:6:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"11432:25:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":56956,"name":"_approve","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56925,"src":"11407:8:73","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":56962,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11407:51:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56963,"nodeType":"ExpressionStatement","src":"11407:51:73"}]}]}}]},"documentation":{"id":56926,"nodeType":"StructuredDocumentation","src":"10803:270:73","text":" @dev Updates `owner` s allowance for `spender` based on spent `amount`.\n Does not update the allowance amount in case of infinite allowance.\n Revert if not enough allowance is available.\n Might emit an {Approval} event."},"implemented":true,"kind":"function","modifiers":[],"name":"_spendAllowance","nameLocation":"11087:15:73","parameters":{"id":56933,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56928,"mutability":"mutable","name":"owner","nameLocation":"11111:5:73","nodeType":"VariableDeclaration","scope":56968,"src":"11103:13:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56927,"name":"address","nodeType":"ElementaryTypeName","src":"11103:7:73","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56930,"mutability":"mutable","name":"spender","nameLocation":"11126:7:73","nodeType":"VariableDeclaration","scope":56968,"src":"11118:15:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56929,"name":"address","nodeType":"ElementaryTypeName","src":"11118:7:73","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56932,"mutability":"mutable","name":"amount","nameLocation":"11143:6:73","nodeType":"VariableDeclaration","scope":56968,"src":"11135:14:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56931,"name":"uint256","nodeType":"ElementaryTypeName","src":"11135:7:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"11102:48:73"},"returnParameters":{"id":56934,"nodeType":"ParameterList","parameters":[],"src":"11168:0:73"},"scope":56991,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":56979,"nodeType":"FunctionDefinition","src":"12073:91:73","nodes":[],"body":{"id":56978,"nodeType":"Block","src":"12162:2:73","nodes":[],"statements":[]},"documentation":{"id":56969,"nodeType":"StructuredDocumentation","src":"11495:573:73","text":" @dev Hook that is called before any transfer of tokens. This includes\n minting and burning.\n Calling conditions:\n - when `from` and `to` are both non-zero, `amount` of ``from``'s tokens\n will be transferred to `to`.\n - when `from` is zero, `amount` tokens will be minted for `to`.\n - when `to` is zero, `amount` of ``from``'s tokens will be burned.\n - `from` and `to` are never both zero.\n To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks]."},"implemented":true,"kind":"function","modifiers":[],"name":"_beforeTokenTransfer","nameLocation":"12082:20:73","parameters":{"id":56976,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56971,"mutability":"mutable","name":"from","nameLocation":"12111:4:73","nodeType":"VariableDeclaration","scope":56979,"src":"12103:12:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56970,"name":"address","nodeType":"ElementaryTypeName","src":"12103:7:73","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56973,"mutability":"mutable","name":"to","nameLocation":"12125:2:73","nodeType":"VariableDeclaration","scope":56979,"src":"12117:10:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56972,"name":"address","nodeType":"ElementaryTypeName","src":"12117:7:73","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56975,"mutability":"mutable","name":"amount","nameLocation":"12137:6:73","nodeType":"VariableDeclaration","scope":56979,"src":"12129:14:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56974,"name":"uint256","nodeType":"ElementaryTypeName","src":"12129:7:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12102:42:73"},"returnParameters":{"id":56977,"nodeType":"ParameterList","parameters":[],"src":"12162:0:73"},"scope":56991,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":56990,"nodeType":"FunctionDefinition","src":"12752:90:73","nodes":[],"body":{"id":56989,"nodeType":"Block","src":"12840:2:73","nodes":[],"statements":[]},"documentation":{"id":56980,"nodeType":"StructuredDocumentation","src":"12170:577:73","text":" @dev Hook that is called after any transfer of tokens. This includes\n minting and burning.\n Calling conditions:\n - when `from` and `to` are both non-zero, `amount` of ``from``'s tokens\n has been transferred to `to`.\n - when `from` is zero, `amount` tokens have been minted for `to`.\n - when `to` is zero, `amount` of ``from``'s tokens have been burned.\n - `from` and `to` are never both zero.\n To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks]."},"implemented":true,"kind":"function","modifiers":[],"name":"_afterTokenTransfer","nameLocation":"12761:19:73","parameters":{"id":56987,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56982,"mutability":"mutable","name":"from","nameLocation":"12789:4:73","nodeType":"VariableDeclaration","scope":56990,"src":"12781:12:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56981,"name":"address","nodeType":"ElementaryTypeName","src":"12781:7:73","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56984,"mutability":"mutable","name":"to","nameLocation":"12803:2:73","nodeType":"VariableDeclaration","scope":56990,"src":"12795:10:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56983,"name":"address","nodeType":"ElementaryTypeName","src":"12795:7:73","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56986,"mutability":"mutable","name":"amount","nameLocation":"12815:6:73","nodeType":"VariableDeclaration","scope":56990,"src":"12807:14:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56985,"name":"uint256","nodeType":"ElementaryTypeName","src":"12807:7:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12780:42:73"},"returnParameters":{"id":56988,"nodeType":"ParameterList","parameters":[],"src":"12840:0:73"},"scope":56991,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"}],"abstract":false,"baseContracts":[{"baseName":{"id":56411,"name":"Context","nameLocations":["1550:7:73"],"nodeType":"IdentifierPath","referencedDeclaration":57903,"src":"1550:7:73"},"id":56412,"nodeType":"InheritanceSpecifier","src":"1550:7:73"},{"baseName":{"id":56413,"name":"IERC20","nameLocations":["1559:6:73"],"nodeType":"IdentifierPath","referencedDeclaration":57069,"src":"1559:6:73"},"id":56414,"nodeType":"InheritanceSpecifier","src":"1559:6:73"},{"baseName":{"id":56415,"name":"IERC20Metadata","nameLocations":["1567:14:73"],"nodeType":"IdentifierPath","referencedDeclaration":57094,"src":"1567:14:73"},"id":56416,"nodeType":"InheritanceSpecifier","src":"1567:14:73"}],"canonicalName":"ERC20","contractDependencies":[],"contractKind":"contract","documentation":{"id":56410,"nodeType":"StructuredDocumentation","src":"230:1301:73","text":" @dev Implementation of the {IERC20} interface.\n This implementation is agnostic to the way tokens are created. This means\n that a supply mechanism has to be added in a derived contract using {_mint}.\n For a generic mechanism see {ERC20PresetMinterPauser}.\n TIP: For a detailed writeup see our guide\n https://forum.openzeppelin.com/t/how-to-implement-erc20-supply-mechanisms/226[How\n to implement supply mechanisms].\n The default value of {decimals} is 18. To change this, you should override\n this function so it returns a different value.\n We have followed general OpenZeppelin Contracts guidelines: functions revert\n instead returning `false` on failure. This behavior is nonetheless\n conventional and does not conflict with the expectations of ERC20\n applications.\n Additionally, an {Approval} event is emitted on calls to {transferFrom}.\n This allows applications to reconstruct the allowance for all accounts just\n by listening to said events. Other implementations of the EIP may not emit\n these events, as it isn't required by the specification.\n Finally, the non-standard {decreaseAllowance} and {increaseAllowance}\n functions have been added to mitigate the well-known issues around setting\n allowances. See {IERC20-approve}."},"fullyImplemented":true,"linearizedBaseContracts":[56991,57094,57069,57903],"name":"ERC20","nameLocation":"1541:5:73","scope":56992,"usedErrors":[]}],"license":"MIT"},"id":73} \ No newline at end of file diff --git a/pkg/contracts/out/ERC20/IERC20.sol/IERC20.json b/pkg/contracts/out/ERC20/IERC20.sol/IERC20.json index 4b0083ed8..5e055e6fc 100644 --- a/pkg/contracts/out/ERC20/IERC20.sol/IERC20.json +++ b/pkg/contracts/out/ERC20/IERC20.sol/IERC20.json @@ -1 +1 @@ -{"abi":[{"type":"function","name":"allowance","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"spender","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"approve","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"balanceOf","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"totalSupply","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"transfer","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"transferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"event","name":"Approval","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"spender","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Transfer","inputs":[{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"to","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"allowance(address,address)":"dd62ed3e","approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","totalSupply()":"18160ddd","transfer(address,uint256)":"a9059cbb","transferFrom(address,address,uint256)":"23b872dd"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Interface of the ERC20 standard as defined in the EIP.\",\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when the allowance of a `spender` for an `owner` is set by a call to {approve}. `value` is the new allowance.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `value` tokens are moved from one account (`from`) to another (`to`). Note that `value` may be zero.\"}},\"kind\":\"dev\",\"methods\":{\"allowance(address,address)\":{\"details\":\"Returns the remaining number of tokens that `spender` will be allowed to spend on behalf of `owner` through {transferFrom}. This is zero by default. This value changes when {approve} or {transferFrom} are called.\"},\"approve(address,uint256)\":{\"details\":\"Sets `amount` as the allowance of `spender` over the caller's tokens. Returns a boolean value indicating whether the operation succeeded. IMPORTANT: Beware that changing an allowance with this method brings the risk that someone may use both the old and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 Emits an {Approval} event.\"},\"balanceOf(address)\":{\"details\":\"Returns the amount of tokens owned by `account`.\"},\"totalSupply()\":{\"details\":\"Returns the amount of tokens in existence.\"},\"transfer(address,uint256)\":{\"details\":\"Moves `amount` tokens from the caller's account to `to`. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"Moves `amount` tokens from `from` to `to` using the allowance mechanism. `amount` is then deducted from the caller's allowance. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":\"IERC20\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1000},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-contracts/=lib/safe-contracts/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"]},\"sources\":{\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5\",\"dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"address","name":"spender","type":"address","indexed":true},{"internalType":"uint256","name":"value","type":"uint256","indexed":false}],"type":"event","name":"Approval","anonymous":false},{"inputs":[{"internalType":"address","name":"from","type":"address","indexed":true},{"internalType":"address","name":"to","type":"address","indexed":true},{"internalType":"uint256","name":"value","type":"uint256","indexed":false}],"type":"event","name":"Transfer","anonymous":false},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"stateMutability":"view","type":"function","name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}]}],"devdoc":{"kind":"dev","methods":{"allowance(address,address)":{"details":"Returns the remaining number of tokens that `spender` will be allowed to spend on behalf of `owner` through {transferFrom}. This is zero by default. This value changes when {approve} or {transferFrom} are called."},"approve(address,uint256)":{"details":"Sets `amount` as the allowance of `spender` over the caller's tokens. Returns a boolean value indicating whether the operation succeeded. IMPORTANT: Beware that changing an allowance with this method brings the risk that someone may use both the old and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 Emits an {Approval} event."},"balanceOf(address)":{"details":"Returns the amount of tokens owned by `account`."},"totalSupply()":{"details":"Returns the amount of tokens in existence."},"transfer(address,uint256)":{"details":"Moves `amount` tokens from the caller's account to `to`. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event."},"transferFrom(address,address,uint256)":{"details":"Moves `amount` tokens from `from` to `to` using the allowance mechanism. `amount` is then deducted from the caller's allowance. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event."}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-contracts/=lib/safe-contracts/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":1000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":"IERC20"},"evmVersion":"paris","libraries":{}},"sources":{"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305","urls":["bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5","dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53"],"license":"MIT"}},"version":1},"storageLayout":{"storage":[],"types":{}},"ast":{"absolutePath":"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol","id":57070,"exportedSymbols":{"IERC20":[57069]},"nodeType":"SourceUnit","src":"106:2631:74","nodes":[{"id":56993,"nodeType":"PragmaDirective","src":"106:23:74","nodes":[],"literals":["solidity","^","0.8",".0"]},{"id":57069,"nodeType":"ContractDefinition","src":"202:2534:74","nodes":[{"id":57003,"nodeType":"EventDefinition","src":"388:72:74","nodes":[],"anonymous":false,"documentation":{"id":56995,"nodeType":"StructuredDocumentation","src":"225:158:74","text":" @dev Emitted when `value` tokens are moved from one account (`from`) to\n another (`to`).\n Note that `value` may be zero."},"eventSelector":"ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef","name":"Transfer","nameLocation":"394:8:74","parameters":{"id":57002,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56997,"indexed":true,"mutability":"mutable","name":"from","nameLocation":"419:4:74","nodeType":"VariableDeclaration","scope":57003,"src":"403:20:74","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56996,"name":"address","nodeType":"ElementaryTypeName","src":"403:7:74","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56999,"indexed":true,"mutability":"mutable","name":"to","nameLocation":"441:2:74","nodeType":"VariableDeclaration","scope":57003,"src":"425:18:74","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56998,"name":"address","nodeType":"ElementaryTypeName","src":"425:7:74","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":57001,"indexed":false,"mutability":"mutable","name":"value","nameLocation":"453:5:74","nodeType":"VariableDeclaration","scope":57003,"src":"445:13:74","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":57000,"name":"uint256","nodeType":"ElementaryTypeName","src":"445:7:74","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"402:57:74"}},{"id":57012,"nodeType":"EventDefinition","src":"619:78:74","nodes":[],"anonymous":false,"documentation":{"id":57004,"nodeType":"StructuredDocumentation","src":"466:148:74","text":" @dev Emitted when the allowance of a `spender` for an `owner` is set by\n a call to {approve}. `value` is the new allowance."},"eventSelector":"8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925","name":"Approval","nameLocation":"625:8:74","parameters":{"id":57011,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57006,"indexed":true,"mutability":"mutable","name":"owner","nameLocation":"650:5:74","nodeType":"VariableDeclaration","scope":57012,"src":"634:21:74","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":57005,"name":"address","nodeType":"ElementaryTypeName","src":"634:7:74","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":57008,"indexed":true,"mutability":"mutable","name":"spender","nameLocation":"673:7:74","nodeType":"VariableDeclaration","scope":57012,"src":"657:23:74","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":57007,"name":"address","nodeType":"ElementaryTypeName","src":"657:7:74","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":57010,"indexed":false,"mutability":"mutable","name":"value","nameLocation":"690:5:74","nodeType":"VariableDeclaration","scope":57012,"src":"682:13:74","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":57009,"name":"uint256","nodeType":"ElementaryTypeName","src":"682:7:74","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"633:63:74"}},{"id":57018,"nodeType":"FunctionDefinition","src":"774:55:74","nodes":[],"documentation":{"id":57013,"nodeType":"StructuredDocumentation","src":"703:66:74","text":" @dev Returns the amount of tokens in existence."},"functionSelector":"18160ddd","implemented":false,"kind":"function","modifiers":[],"name":"totalSupply","nameLocation":"783:11:74","parameters":{"id":57014,"nodeType":"ParameterList","parameters":[],"src":"794:2:74"},"returnParameters":{"id":57017,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57016,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":57018,"src":"820:7:74","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":57015,"name":"uint256","nodeType":"ElementaryTypeName","src":"820:7:74","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"819:9:74"},"scope":57069,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":57026,"nodeType":"FunctionDefinition","src":"912:68:74","nodes":[],"documentation":{"id":57019,"nodeType":"StructuredDocumentation","src":"835:72:74","text":" @dev Returns the amount of tokens owned by `account`."},"functionSelector":"70a08231","implemented":false,"kind":"function","modifiers":[],"name":"balanceOf","nameLocation":"921:9:74","parameters":{"id":57022,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57021,"mutability":"mutable","name":"account","nameLocation":"939:7:74","nodeType":"VariableDeclaration","scope":57026,"src":"931:15:74","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":57020,"name":"address","nodeType":"ElementaryTypeName","src":"931:7:74","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"930:17:74"},"returnParameters":{"id":57025,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57024,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":57026,"src":"971:7:74","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":57023,"name":"uint256","nodeType":"ElementaryTypeName","src":"971:7:74","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"970:9:74"},"scope":57069,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":57036,"nodeType":"FunctionDefinition","src":"1193:70:74","nodes":[],"documentation":{"id":57027,"nodeType":"StructuredDocumentation","src":"986:202:74","text":" @dev Moves `amount` tokens from the caller's account to `to`.\n Returns a boolean value indicating whether the operation succeeded.\n Emits a {Transfer} event."},"functionSelector":"a9059cbb","implemented":false,"kind":"function","modifiers":[],"name":"transfer","nameLocation":"1202:8:74","parameters":{"id":57032,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57029,"mutability":"mutable","name":"to","nameLocation":"1219:2:74","nodeType":"VariableDeclaration","scope":57036,"src":"1211:10:74","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":57028,"name":"address","nodeType":"ElementaryTypeName","src":"1211:7:74","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":57031,"mutability":"mutable","name":"amount","nameLocation":"1231:6:74","nodeType":"VariableDeclaration","scope":57036,"src":"1223:14:74","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":57030,"name":"uint256","nodeType":"ElementaryTypeName","src":"1223:7:74","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1210:28:74"},"returnParameters":{"id":57035,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57034,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":57036,"src":"1257:4:74","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":57033,"name":"bool","nodeType":"ElementaryTypeName","src":"1257:4:74","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1256:6:74"},"scope":57069,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":57046,"nodeType":"FunctionDefinition","src":"1538:83:74","nodes":[],"documentation":{"id":57037,"nodeType":"StructuredDocumentation","src":"1269:264:74","text":" @dev Returns the remaining number of tokens that `spender` will be\n allowed to spend on behalf of `owner` through {transferFrom}. This is\n zero by default.\n This value changes when {approve} or {transferFrom} are called."},"functionSelector":"dd62ed3e","implemented":false,"kind":"function","modifiers":[],"name":"allowance","nameLocation":"1547:9:74","parameters":{"id":57042,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57039,"mutability":"mutable","name":"owner","nameLocation":"1565:5:74","nodeType":"VariableDeclaration","scope":57046,"src":"1557:13:74","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":57038,"name":"address","nodeType":"ElementaryTypeName","src":"1557:7:74","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":57041,"mutability":"mutable","name":"spender","nameLocation":"1580:7:74","nodeType":"VariableDeclaration","scope":57046,"src":"1572:15:74","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":57040,"name":"address","nodeType":"ElementaryTypeName","src":"1572:7:74","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1556:32:74"},"returnParameters":{"id":57045,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57044,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":57046,"src":"1612:7:74","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":57043,"name":"uint256","nodeType":"ElementaryTypeName","src":"1612:7:74","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1611:9:74"},"scope":57069,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":57056,"nodeType":"FunctionDefinition","src":"2274:74:74","nodes":[],"documentation":{"id":57047,"nodeType":"StructuredDocumentation","src":"1627:642:74","text":" @dev Sets `amount` as the allowance of `spender` over the caller's tokens.\n Returns a boolean value indicating whether the operation succeeded.\n IMPORTANT: Beware that changing an allowance with this method brings the risk\n that someone may use both the old and the new allowance by unfortunate\n transaction ordering. One possible solution to mitigate this race\n condition is to first reduce the spender's allowance to 0 and set the\n desired value afterwards:\n https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729\n Emits an {Approval} event."},"functionSelector":"095ea7b3","implemented":false,"kind":"function","modifiers":[],"name":"approve","nameLocation":"2283:7:74","parameters":{"id":57052,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57049,"mutability":"mutable","name":"spender","nameLocation":"2299:7:74","nodeType":"VariableDeclaration","scope":57056,"src":"2291:15:74","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":57048,"name":"address","nodeType":"ElementaryTypeName","src":"2291:7:74","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":57051,"mutability":"mutable","name":"amount","nameLocation":"2316:6:74","nodeType":"VariableDeclaration","scope":57056,"src":"2308:14:74","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":57050,"name":"uint256","nodeType":"ElementaryTypeName","src":"2308:7:74","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2290:33:74"},"returnParameters":{"id":57055,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57054,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":57056,"src":"2342:4:74","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":57053,"name":"bool","nodeType":"ElementaryTypeName","src":"2342:4:74","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"2341:6:74"},"scope":57069,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":57068,"nodeType":"FunctionDefinition","src":"2646:88:74","nodes":[],"documentation":{"id":57057,"nodeType":"StructuredDocumentation","src":"2354:287:74","text":" @dev Moves `amount` tokens from `from` to `to` using the\n allowance mechanism. `amount` is then deducted from the caller's\n allowance.\n Returns a boolean value indicating whether the operation succeeded.\n Emits a {Transfer} event."},"functionSelector":"23b872dd","implemented":false,"kind":"function","modifiers":[],"name":"transferFrom","nameLocation":"2655:12:74","parameters":{"id":57064,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57059,"mutability":"mutable","name":"from","nameLocation":"2676:4:74","nodeType":"VariableDeclaration","scope":57068,"src":"2668:12:74","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":57058,"name":"address","nodeType":"ElementaryTypeName","src":"2668:7:74","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":57061,"mutability":"mutable","name":"to","nameLocation":"2690:2:74","nodeType":"VariableDeclaration","scope":57068,"src":"2682:10:74","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":57060,"name":"address","nodeType":"ElementaryTypeName","src":"2682:7:74","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":57063,"mutability":"mutable","name":"amount","nameLocation":"2702:6:74","nodeType":"VariableDeclaration","scope":57068,"src":"2694:14:74","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":57062,"name":"uint256","nodeType":"ElementaryTypeName","src":"2694:7:74","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2667:42:74"},"returnParameters":{"id":57067,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57066,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":57068,"src":"2728:4:74","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":57065,"name":"bool","nodeType":"ElementaryTypeName","src":"2728:4:74","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"2727:6:74"},"scope":57069,"stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"IERC20","contractDependencies":[],"contractKind":"interface","documentation":{"id":56994,"nodeType":"StructuredDocumentation","src":"131:70:74","text":" @dev Interface of the ERC20 standard as defined in the EIP."},"fullyImplemented":false,"linearizedBaseContracts":[57069],"name":"IERC20","nameLocation":"212:6:74","scope":57070,"usedErrors":[]}],"license":"MIT"},"id":74} \ No newline at end of file +{"abi":[{"type":"function","name":"allowance","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"spender","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"approve","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"balanceOf","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"totalSupply","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"transfer","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"transferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"event","name":"Approval","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"spender","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Transfer","inputs":[{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"to","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"allowance(address,address)":"dd62ed3e","approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","totalSupply()":"18160ddd","transfer(address,uint256)":"a9059cbb","transferFrom(address,address,uint256)":"23b872dd"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Interface of the ERC20 standard as defined in the EIP.\",\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when the allowance of a `spender` for an `owner` is set by a call to {approve}. `value` is the new allowance.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `value` tokens are moved from one account (`from`) to another (`to`). Note that `value` may be zero.\"}},\"kind\":\"dev\",\"methods\":{\"allowance(address,address)\":{\"details\":\"Returns the remaining number of tokens that `spender` will be allowed to spend on behalf of `owner` through {transferFrom}. This is zero by default. This value changes when {approve} or {transferFrom} are called.\"},\"approve(address,uint256)\":{\"details\":\"Sets `amount` as the allowance of `spender` over the caller's tokens. Returns a boolean value indicating whether the operation succeeded. IMPORTANT: Beware that changing an allowance with this method brings the risk that someone may use both the old and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 Emits an {Approval} event.\"},\"balanceOf(address)\":{\"details\":\"Returns the amount of tokens owned by `account`.\"},\"totalSupply()\":{\"details\":\"Returns the amount of tokens in existence.\"},\"transfer(address,uint256)\":{\"details\":\"Moves `amount` tokens from the caller's account to `to`. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"Moves `amount` tokens from `from` to `to` using the allowance mechanism. `amount` is then deducted from the caller's allowance. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":\"IERC20\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1000},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":eas-proxy/=lib/allo-v2/lib/eas-proxy/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":hedgey-vesting/=lib/allo-v2/lib/hedgey-vesting/contracts/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-contracts/=lib/safe-contracts/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":superfluid-protocol-monorepo/=lib/allo-v2/lib/superfluid-protocol-monorepo/packages/solidity-semantic-money/src/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"]},\"sources\":{\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5\",\"dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"address","name":"spender","type":"address","indexed":true},{"internalType":"uint256","name":"value","type":"uint256","indexed":false}],"type":"event","name":"Approval","anonymous":false},{"inputs":[{"internalType":"address","name":"from","type":"address","indexed":true},{"internalType":"address","name":"to","type":"address","indexed":true},{"internalType":"uint256","name":"value","type":"uint256","indexed":false}],"type":"event","name":"Transfer","anonymous":false},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"stateMutability":"view","type":"function","name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}]}],"devdoc":{"kind":"dev","methods":{"allowance(address,address)":{"details":"Returns the remaining number of tokens that `spender` will be allowed to spend on behalf of `owner` through {transferFrom}. This is zero by default. This value changes when {approve} or {transferFrom} are called."},"approve(address,uint256)":{"details":"Sets `amount` as the allowance of `spender` over the caller's tokens. Returns a boolean value indicating whether the operation succeeded. IMPORTANT: Beware that changing an allowance with this method brings the risk that someone may use both the old and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 Emits an {Approval} event."},"balanceOf(address)":{"details":"Returns the amount of tokens owned by `account`."},"totalSupply()":{"details":"Returns the amount of tokens in existence."},"transfer(address,uint256)":{"details":"Moves `amount` tokens from the caller's account to `to`. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event."},"transferFrom(address,address,uint256)":{"details":"Moves `amount` tokens from `from` to `to` using the allowance mechanism. `amount` is then deducted from the caller's allowance. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event."}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","eas-proxy/=lib/allo-v2/lib/eas-proxy/contracts/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","hedgey-vesting/=lib/allo-v2/lib/hedgey-vesting/contracts/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-contracts/=lib/safe-contracts/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","superfluid-protocol-monorepo/=lib/allo-v2/lib/superfluid-protocol-monorepo/packages/solidity-semantic-money/src/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":1000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":"IERC20"},"evmVersion":"paris","libraries":{}},"sources":{"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305","urls":["bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5","dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53"],"license":"MIT"}},"version":1},"storageLayout":{"storage":[],"types":{}},"ast":{"absolutePath":"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol","id":57070,"exportedSymbols":{"IERC20":[57069]},"nodeType":"SourceUnit","src":"106:2631:74","nodes":[{"id":56993,"nodeType":"PragmaDirective","src":"106:23:74","nodes":[],"literals":["solidity","^","0.8",".0"]},{"id":57069,"nodeType":"ContractDefinition","src":"202:2534:74","nodes":[{"id":57003,"nodeType":"EventDefinition","src":"388:72:74","nodes":[],"anonymous":false,"documentation":{"id":56995,"nodeType":"StructuredDocumentation","src":"225:158:74","text":" @dev Emitted when `value` tokens are moved from one account (`from`) to\n another (`to`).\n Note that `value` may be zero."},"eventSelector":"ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef","name":"Transfer","nameLocation":"394:8:74","parameters":{"id":57002,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56997,"indexed":true,"mutability":"mutable","name":"from","nameLocation":"419:4:74","nodeType":"VariableDeclaration","scope":57003,"src":"403:20:74","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56996,"name":"address","nodeType":"ElementaryTypeName","src":"403:7:74","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56999,"indexed":true,"mutability":"mutable","name":"to","nameLocation":"441:2:74","nodeType":"VariableDeclaration","scope":57003,"src":"425:18:74","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56998,"name":"address","nodeType":"ElementaryTypeName","src":"425:7:74","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":57001,"indexed":false,"mutability":"mutable","name":"value","nameLocation":"453:5:74","nodeType":"VariableDeclaration","scope":57003,"src":"445:13:74","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":57000,"name":"uint256","nodeType":"ElementaryTypeName","src":"445:7:74","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"402:57:74"}},{"id":57012,"nodeType":"EventDefinition","src":"619:78:74","nodes":[],"anonymous":false,"documentation":{"id":57004,"nodeType":"StructuredDocumentation","src":"466:148:74","text":" @dev Emitted when the allowance of a `spender` for an `owner` is set by\n a call to {approve}. `value` is the new allowance."},"eventSelector":"8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925","name":"Approval","nameLocation":"625:8:74","parameters":{"id":57011,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57006,"indexed":true,"mutability":"mutable","name":"owner","nameLocation":"650:5:74","nodeType":"VariableDeclaration","scope":57012,"src":"634:21:74","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":57005,"name":"address","nodeType":"ElementaryTypeName","src":"634:7:74","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":57008,"indexed":true,"mutability":"mutable","name":"spender","nameLocation":"673:7:74","nodeType":"VariableDeclaration","scope":57012,"src":"657:23:74","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":57007,"name":"address","nodeType":"ElementaryTypeName","src":"657:7:74","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":57010,"indexed":false,"mutability":"mutable","name":"value","nameLocation":"690:5:74","nodeType":"VariableDeclaration","scope":57012,"src":"682:13:74","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":57009,"name":"uint256","nodeType":"ElementaryTypeName","src":"682:7:74","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"633:63:74"}},{"id":57018,"nodeType":"FunctionDefinition","src":"774:55:74","nodes":[],"documentation":{"id":57013,"nodeType":"StructuredDocumentation","src":"703:66:74","text":" @dev Returns the amount of tokens in existence."},"functionSelector":"18160ddd","implemented":false,"kind":"function","modifiers":[],"name":"totalSupply","nameLocation":"783:11:74","parameters":{"id":57014,"nodeType":"ParameterList","parameters":[],"src":"794:2:74"},"returnParameters":{"id":57017,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57016,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":57018,"src":"820:7:74","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":57015,"name":"uint256","nodeType":"ElementaryTypeName","src":"820:7:74","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"819:9:74"},"scope":57069,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":57026,"nodeType":"FunctionDefinition","src":"912:68:74","nodes":[],"documentation":{"id":57019,"nodeType":"StructuredDocumentation","src":"835:72:74","text":" @dev Returns the amount of tokens owned by `account`."},"functionSelector":"70a08231","implemented":false,"kind":"function","modifiers":[],"name":"balanceOf","nameLocation":"921:9:74","parameters":{"id":57022,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57021,"mutability":"mutable","name":"account","nameLocation":"939:7:74","nodeType":"VariableDeclaration","scope":57026,"src":"931:15:74","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":57020,"name":"address","nodeType":"ElementaryTypeName","src":"931:7:74","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"930:17:74"},"returnParameters":{"id":57025,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57024,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":57026,"src":"971:7:74","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":57023,"name":"uint256","nodeType":"ElementaryTypeName","src":"971:7:74","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"970:9:74"},"scope":57069,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":57036,"nodeType":"FunctionDefinition","src":"1193:70:74","nodes":[],"documentation":{"id":57027,"nodeType":"StructuredDocumentation","src":"986:202:74","text":" @dev Moves `amount` tokens from the caller's account to `to`.\n Returns a boolean value indicating whether the operation succeeded.\n Emits a {Transfer} event."},"functionSelector":"a9059cbb","implemented":false,"kind":"function","modifiers":[],"name":"transfer","nameLocation":"1202:8:74","parameters":{"id":57032,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57029,"mutability":"mutable","name":"to","nameLocation":"1219:2:74","nodeType":"VariableDeclaration","scope":57036,"src":"1211:10:74","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":57028,"name":"address","nodeType":"ElementaryTypeName","src":"1211:7:74","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":57031,"mutability":"mutable","name":"amount","nameLocation":"1231:6:74","nodeType":"VariableDeclaration","scope":57036,"src":"1223:14:74","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":57030,"name":"uint256","nodeType":"ElementaryTypeName","src":"1223:7:74","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1210:28:74"},"returnParameters":{"id":57035,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57034,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":57036,"src":"1257:4:74","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":57033,"name":"bool","nodeType":"ElementaryTypeName","src":"1257:4:74","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1256:6:74"},"scope":57069,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":57046,"nodeType":"FunctionDefinition","src":"1538:83:74","nodes":[],"documentation":{"id":57037,"nodeType":"StructuredDocumentation","src":"1269:264:74","text":" @dev Returns the remaining number of tokens that `spender` will be\n allowed to spend on behalf of `owner` through {transferFrom}. This is\n zero by default.\n This value changes when {approve} or {transferFrom} are called."},"functionSelector":"dd62ed3e","implemented":false,"kind":"function","modifiers":[],"name":"allowance","nameLocation":"1547:9:74","parameters":{"id":57042,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57039,"mutability":"mutable","name":"owner","nameLocation":"1565:5:74","nodeType":"VariableDeclaration","scope":57046,"src":"1557:13:74","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":57038,"name":"address","nodeType":"ElementaryTypeName","src":"1557:7:74","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":57041,"mutability":"mutable","name":"spender","nameLocation":"1580:7:74","nodeType":"VariableDeclaration","scope":57046,"src":"1572:15:74","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":57040,"name":"address","nodeType":"ElementaryTypeName","src":"1572:7:74","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1556:32:74"},"returnParameters":{"id":57045,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57044,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":57046,"src":"1612:7:74","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":57043,"name":"uint256","nodeType":"ElementaryTypeName","src":"1612:7:74","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1611:9:74"},"scope":57069,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":57056,"nodeType":"FunctionDefinition","src":"2274:74:74","nodes":[],"documentation":{"id":57047,"nodeType":"StructuredDocumentation","src":"1627:642:74","text":" @dev Sets `amount` as the allowance of `spender` over the caller's tokens.\n Returns a boolean value indicating whether the operation succeeded.\n IMPORTANT: Beware that changing an allowance with this method brings the risk\n that someone may use both the old and the new allowance by unfortunate\n transaction ordering. One possible solution to mitigate this race\n condition is to first reduce the spender's allowance to 0 and set the\n desired value afterwards:\n https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729\n Emits an {Approval} event."},"functionSelector":"095ea7b3","implemented":false,"kind":"function","modifiers":[],"name":"approve","nameLocation":"2283:7:74","parameters":{"id":57052,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57049,"mutability":"mutable","name":"spender","nameLocation":"2299:7:74","nodeType":"VariableDeclaration","scope":57056,"src":"2291:15:74","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":57048,"name":"address","nodeType":"ElementaryTypeName","src":"2291:7:74","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":57051,"mutability":"mutable","name":"amount","nameLocation":"2316:6:74","nodeType":"VariableDeclaration","scope":57056,"src":"2308:14:74","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":57050,"name":"uint256","nodeType":"ElementaryTypeName","src":"2308:7:74","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2290:33:74"},"returnParameters":{"id":57055,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57054,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":57056,"src":"2342:4:74","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":57053,"name":"bool","nodeType":"ElementaryTypeName","src":"2342:4:74","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"2341:6:74"},"scope":57069,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":57068,"nodeType":"FunctionDefinition","src":"2646:88:74","nodes":[],"documentation":{"id":57057,"nodeType":"StructuredDocumentation","src":"2354:287:74","text":" @dev Moves `amount` tokens from `from` to `to` using the\n allowance mechanism. `amount` is then deducted from the caller's\n allowance.\n Returns a boolean value indicating whether the operation succeeded.\n Emits a {Transfer} event."},"functionSelector":"23b872dd","implemented":false,"kind":"function","modifiers":[],"name":"transferFrom","nameLocation":"2655:12:74","parameters":{"id":57064,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57059,"mutability":"mutable","name":"from","nameLocation":"2676:4:74","nodeType":"VariableDeclaration","scope":57068,"src":"2668:12:74","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":57058,"name":"address","nodeType":"ElementaryTypeName","src":"2668:7:74","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":57061,"mutability":"mutable","name":"to","nameLocation":"2690:2:74","nodeType":"VariableDeclaration","scope":57068,"src":"2682:10:74","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":57060,"name":"address","nodeType":"ElementaryTypeName","src":"2682:7:74","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":57063,"mutability":"mutable","name":"amount","nameLocation":"2702:6:74","nodeType":"VariableDeclaration","scope":57068,"src":"2694:14:74","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":57062,"name":"uint256","nodeType":"ElementaryTypeName","src":"2694:7:74","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2667:42:74"},"returnParameters":{"id":57067,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57066,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":57068,"src":"2728:4:74","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":57065,"name":"bool","nodeType":"ElementaryTypeName","src":"2728:4:74","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"2727:6:74"},"scope":57069,"stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"IERC20","contractDependencies":[],"contractKind":"interface","documentation":{"id":56994,"nodeType":"StructuredDocumentation","src":"131:70:74","text":" @dev Interface of the ERC20 standard as defined in the EIP."},"fullyImplemented":false,"linearizedBaseContracts":[57069],"name":"IERC20","nameLocation":"212:6:74","scope":57070,"usedErrors":[]}],"license":"MIT"},"id":74} \ No newline at end of file diff --git a/pkg/contracts/out/FAllo.sol/FAllo.json b/pkg/contracts/out/FAllo.sol/FAllo.json index 82d2efb9d..85f23d672 100644 --- a/pkg/contracts/out/FAllo.sol/FAllo.json +++ b/pkg/contracts/out/FAllo.sol/FAllo.json @@ -1 +1 @@ -{"abi":[{"type":"function","name":"createPoolWithCustomStrategy","inputs":[{"name":"_profileId","type":"bytes32","internalType":"bytes32"},{"name":"_strategy","type":"address","internalType":"address"},{"name":"_initStrategyData","type":"bytes","internalType":"bytes"},{"name":"_token","type":"address","internalType":"address"},{"name":"_amount","type":"uint256","internalType":"uint256"},{"name":"_metadata","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]},{"name":"_managers","type":"address[]","internalType":"address[]"}],"outputs":[{"name":"poolId","type":"uint256","internalType":"uint256"}],"stateMutability":"payable"},{"type":"function","name":"getPool","inputs":[{"name":"_poolId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"tuple","internalType":"struct IAllo.Pool","components":[{"name":"profileId","type":"bytes32","internalType":"bytes32"},{"name":"strategy","type":"address","internalType":"contract IStrategy"},{"name":"token","type":"address","internalType":"address"},{"name":"metadata","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]},{"name":"managerRole","type":"bytes32","internalType":"bytes32"},{"name":"adminRole","type":"bytes32","internalType":"bytes32"}]}],"stateMutability":"view"},{"type":"function","name":"getRegistry","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"createPoolWithCustomStrategy(bytes32,address,bytes,address,uint256,(uint256,string),address[])":"e1007d4a","getPool(uint256)":"068bcd8d","getRegistry()":"5ab1bd53"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_profileId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_initStrategyData\",\"type\":\"bytes\"},{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"_metadata\",\"type\":\"tuple\"},{\"internalType\":\"address[]\",\"name\":\"_managers\",\"type\":\"address[]\"}],\"name\":\"createPoolWithCustomStrategy\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_poolId\",\"type\":\"uint256\"}],\"name\":\"getPool\",\"outputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"profileId\",\"type\":\"bytes32\"},{\"internalType\":\"contract IStrategy\",\"name\":\"strategy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"metadata\",\"type\":\"tuple\"},{\"internalType\":\"bytes32\",\"name\":\"managerRole\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"adminRole\",\"type\":\"bytes32\"}],\"internalType\":\"struct IAllo.Pool\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getRegistry\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"pkg/contracts/src/interfaces/FAllo.sol\":\"FAllo\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1000},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-contracts/=lib/safe-contracts/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"]},\"sources\":{\"lib/allo-v2/contracts/core/interfaces/IAllo.sol\":{\"keccak256\":\"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7\",\"dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1\"]},\"lib/allo-v2/contracts/core/interfaces/IRegistry.sol\":{\"keccak256\":\"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e\",\"dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA\"]},\"lib/allo-v2/contracts/core/interfaces/IStrategy.sol\":{\"keccak256\":\"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487\",\"dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH\"]},\"lib/allo-v2/contracts/core/libraries/Metadata.sol\":{\"keccak256\":\"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c\",\"dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn\"]},\"pkg/contracts/src/interfaces/FAllo.sol\":{\"keccak256\":\"0x32f38cb4400a07a99ae68a9beb91e5649886487172fd50561da6763464efc437\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://cb4f0cee2f3fbede7be5e8e1d7ee8034086359cd07b9dab49c4a991388e5c458\",\"dweb:/ipfs/QmS26kA8cZ9shWwxcbF17Kes8L7Jgw85EQVydDmwb34mjM\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"bytes32","name":"_profileId","type":"bytes32"},{"internalType":"address","name":"_strategy","type":"address"},{"internalType":"bytes","name":"_initStrategyData","type":"bytes"},{"internalType":"address","name":"_token","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"},{"internalType":"struct Metadata","name":"_metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]},{"internalType":"address[]","name":"_managers","type":"address[]"}],"stateMutability":"payable","type":"function","name":"createPoolWithCustomStrategy","outputs":[{"internalType":"uint256","name":"poolId","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"_poolId","type":"uint256"}],"stateMutability":"view","type":"function","name":"getPool","outputs":[{"internalType":"struct IAllo.Pool","name":"","type":"tuple","components":[{"internalType":"bytes32","name":"profileId","type":"bytes32"},{"internalType":"contract IStrategy","name":"strategy","type":"address"},{"internalType":"address","name":"token","type":"address"},{"internalType":"struct Metadata","name":"metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]},{"internalType":"bytes32","name":"managerRole","type":"bytes32"},{"internalType":"bytes32","name":"adminRole","type":"bytes32"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getRegistry","outputs":[{"internalType":"address","name":"","type":"address"}]}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-contracts/=lib/safe-contracts/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":1000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"pkg/contracts/src/interfaces/FAllo.sol":"FAllo"},"evmVersion":"paris","libraries":{}},"sources":{"lib/allo-v2/contracts/core/interfaces/IAllo.sol":{"keccak256":"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce","urls":["bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7","dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/interfaces/IRegistry.sol":{"keccak256":"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f","urls":["bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e","dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA"],"license":"MIT"},"lib/allo-v2/contracts/core/interfaces/IStrategy.sol":{"keccak256":"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23","urls":["bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487","dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Metadata.sol":{"keccak256":"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44","urls":["bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c","dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn"],"license":"AGPL-3.0-only"},"pkg/contracts/src/interfaces/FAllo.sol":{"keccak256":"0x32f38cb4400a07a99ae68a9beb91e5649886487172fd50561da6763464efc437","urls":["bzz-raw://cb4f0cee2f3fbede7be5e8e1d7ee8034086359cd07b9dab49c4a991388e5c458","dweb:/ipfs/QmS26kA8cZ9shWwxcbF17Kes8L7Jgw85EQVydDmwb34mjM"],"license":"AGPL-3.0-only"}},"version":1},"storageLayout":{"storage":[],"types":{}},"ast":{"absolutePath":"pkg/contracts/src/interfaces/FAllo.sol","id":85657,"exportedSymbols":{"FAllo":[85656],"IAllo":[2610],"Metadata":[3098]},"nodeType":"SourceUnit","src":"42:636:138","nodes":[{"id":85617,"nodeType":"PragmaDirective","src":"42:24:138","nodes":[],"literals":["solidity","^","0.8",".19"]},{"id":85619,"nodeType":"ImportDirective","src":"68:66:138","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/interfaces/IAllo.sol","file":"allo-v2-contracts/core/interfaces/IAllo.sol","nameLocation":"-1:-1:-1","scope":85657,"sourceUnit":2611,"symbolAliases":[{"foreign":{"id":85618,"name":"IAllo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2610,"src":"76:5:138","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":85621,"nodeType":"ImportDirective","src":"135:73:138","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/interfaces/IRegistry.sol","file":"allo-v2-contracts/core/interfaces/IRegistry.sol","nameLocation":"-1:-1:-1","scope":85657,"sourceUnit":2803,"symbolAliases":[{"foreign":{"id":85620,"name":"Metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3098,"src":"143:8:138","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":85656,"nodeType":"ContractDefinition","src":"210:467:138","nodes":[{"id":85642,"nodeType":"FunctionDefinition","src":"232:301:138","nodes":[],"functionSelector":"e1007d4a","implemented":false,"kind":"function","modifiers":[],"name":"createPoolWithCustomStrategy","nameLocation":"241:28:138","parameters":{"id":85638,"nodeType":"ParameterList","parameters":[{"constant":false,"id":85623,"mutability":"mutable","name":"_profileId","nameLocation":"287:10:138","nodeType":"VariableDeclaration","scope":85642,"src":"279:18:138","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":85622,"name":"bytes32","nodeType":"ElementaryTypeName","src":"279:7:138","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":85625,"mutability":"mutable","name":"_strategy","nameLocation":"315:9:138","nodeType":"VariableDeclaration","scope":85642,"src":"307:17:138","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":85624,"name":"address","nodeType":"ElementaryTypeName","src":"307:7:138","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":85627,"mutability":"mutable","name":"_initStrategyData","nameLocation":"347:17:138","nodeType":"VariableDeclaration","scope":85642,"src":"334:30:138","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":85626,"name":"bytes","nodeType":"ElementaryTypeName","src":"334:5:138","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":85629,"mutability":"mutable","name":"_token","nameLocation":"382:6:138","nodeType":"VariableDeclaration","scope":85642,"src":"374:14:138","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":85628,"name":"address","nodeType":"ElementaryTypeName","src":"374:7:138","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":85631,"mutability":"mutable","name":"_amount","nameLocation":"406:7:138","nodeType":"VariableDeclaration","scope":85642,"src":"398:15:138","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":85630,"name":"uint256","nodeType":"ElementaryTypeName","src":"398:7:138","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":85634,"mutability":"mutable","name":"_metadata","nameLocation":"439:9:138","nodeType":"VariableDeclaration","scope":85642,"src":"423:25:138","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata"},"typeName":{"id":85633,"nodeType":"UserDefinedTypeName","pathNode":{"id":85632,"name":"Metadata","nameLocations":["423:8:138"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"423:8:138"},"referencedDeclaration":3098,"src":"423:8:138","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"},{"constant":false,"id":85637,"mutability":"mutable","name":"_managers","nameLocation":"475:9:138","nodeType":"VariableDeclaration","scope":85642,"src":"458:26:138","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":85635,"name":"address","nodeType":"ElementaryTypeName","src":"458:7:138","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":85636,"nodeType":"ArrayTypeName","src":"458:9:138","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"269:221:138"},"returnParameters":{"id":85641,"nodeType":"ParameterList","parameters":[{"constant":false,"id":85640,"mutability":"mutable","name":"poolId","nameLocation":"525:6:138","nodeType":"VariableDeclaration","scope":85642,"src":"517:14:138","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":85639,"name":"uint256","nodeType":"ElementaryTypeName","src":"517:7:138","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"516:16:138"},"scope":85656,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":85647,"nodeType":"FunctionDefinition","src":"539:55:138","nodes":[],"functionSelector":"5ab1bd53","implemented":false,"kind":"function","modifiers":[],"name":"getRegistry","nameLocation":"548:11:138","parameters":{"id":85643,"nodeType":"ParameterList","parameters":[],"src":"559:2:138"},"returnParameters":{"id":85646,"nodeType":"ParameterList","parameters":[{"constant":false,"id":85645,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":85647,"src":"585:7:138","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":85644,"name":"address","nodeType":"ElementaryTypeName","src":"585:7:138","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"584:9:138"},"scope":85656,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":85655,"nodeType":"FunctionDefinition","src":"599:76:138","nodes":[],"functionSelector":"068bcd8d","implemented":false,"kind":"function","modifiers":[],"name":"getPool","nameLocation":"608:7:138","parameters":{"id":85650,"nodeType":"ParameterList","parameters":[{"constant":false,"id":85649,"mutability":"mutable","name":"_poolId","nameLocation":"624:7:138","nodeType":"VariableDeclaration","scope":85655,"src":"616:15:138","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":85648,"name":"uint256","nodeType":"ElementaryTypeName","src":"616:7:138","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"615:17:138"},"returnParameters":{"id":85654,"nodeType":"ParameterList","parameters":[{"constant":false,"id":85653,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":85655,"src":"656:17:138","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool"},"typeName":{"id":85652,"nodeType":"UserDefinedTypeName","pathNode":{"id":85651,"name":"IAllo.Pool","nameLocations":["656:5:138","662:4:138"],"nodeType":"IdentifierPath","referencedDeclaration":2319,"src":"656:10:138"},"referencedDeclaration":2319,"src":"656:10:138","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool"}},"visibility":"internal"}],"src":"655:19:138"},"scope":85656,"stateMutability":"view","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"FAllo","contractDependencies":[],"contractKind":"interface","fullyImplemented":false,"linearizedBaseContracts":[85656],"name":"FAllo","nameLocation":"220:5:138","scope":85657,"usedErrors":[]}],"license":"AGPL-3.0-only"},"id":138} \ No newline at end of file +{"abi":[{"type":"function","name":"createPoolWithCustomStrategy","inputs":[{"name":"_profileId","type":"bytes32","internalType":"bytes32"},{"name":"_strategy","type":"address","internalType":"address"},{"name":"_initStrategyData","type":"bytes","internalType":"bytes"},{"name":"_token","type":"address","internalType":"address"},{"name":"_amount","type":"uint256","internalType":"uint256"},{"name":"_metadata","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]},{"name":"_managers","type":"address[]","internalType":"address[]"}],"outputs":[{"name":"poolId","type":"uint256","internalType":"uint256"}],"stateMutability":"payable"},{"type":"function","name":"getPool","inputs":[{"name":"_poolId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"tuple","internalType":"struct IAllo.Pool","components":[{"name":"profileId","type":"bytes32","internalType":"bytes32"},{"name":"strategy","type":"address","internalType":"contract IStrategy"},{"name":"token","type":"address","internalType":"address"},{"name":"metadata","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]},{"name":"managerRole","type":"bytes32","internalType":"bytes32"},{"name":"adminRole","type":"bytes32","internalType":"bytes32"}]}],"stateMutability":"view"},{"type":"function","name":"getRegistry","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"createPoolWithCustomStrategy(bytes32,address,bytes,address,uint256,(uint256,string),address[])":"e1007d4a","getPool(uint256)":"068bcd8d","getRegistry()":"5ab1bd53"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_profileId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_initStrategyData\",\"type\":\"bytes\"},{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"_metadata\",\"type\":\"tuple\"},{\"internalType\":\"address[]\",\"name\":\"_managers\",\"type\":\"address[]\"}],\"name\":\"createPoolWithCustomStrategy\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_poolId\",\"type\":\"uint256\"}],\"name\":\"getPool\",\"outputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"profileId\",\"type\":\"bytes32\"},{\"internalType\":\"contract IStrategy\",\"name\":\"strategy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"metadata\",\"type\":\"tuple\"},{\"internalType\":\"bytes32\",\"name\":\"managerRole\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"adminRole\",\"type\":\"bytes32\"}],\"internalType\":\"struct IAllo.Pool\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getRegistry\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"pkg/contracts/src/interfaces/FAllo.sol\":\"FAllo\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1000},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":eas-proxy/=lib/allo-v2/lib/eas-proxy/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":hedgey-vesting/=lib/allo-v2/lib/hedgey-vesting/contracts/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-contracts/=lib/safe-contracts/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":superfluid-protocol-monorepo/=lib/allo-v2/lib/superfluid-protocol-monorepo/packages/solidity-semantic-money/src/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"]},\"sources\":{\"lib/allo-v2/contracts/core/interfaces/IAllo.sol\":{\"keccak256\":\"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7\",\"dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1\"]},\"lib/allo-v2/contracts/core/interfaces/IRegistry.sol\":{\"keccak256\":\"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e\",\"dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA\"]},\"lib/allo-v2/contracts/core/interfaces/IStrategy.sol\":{\"keccak256\":\"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487\",\"dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH\"]},\"lib/allo-v2/contracts/core/libraries/Metadata.sol\":{\"keccak256\":\"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c\",\"dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn\"]},\"pkg/contracts/src/interfaces/FAllo.sol\":{\"keccak256\":\"0x32f38cb4400a07a99ae68a9beb91e5649886487172fd50561da6763464efc437\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://cb4f0cee2f3fbede7be5e8e1d7ee8034086359cd07b9dab49c4a991388e5c458\",\"dweb:/ipfs/QmS26kA8cZ9shWwxcbF17Kes8L7Jgw85EQVydDmwb34mjM\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"bytes32","name":"_profileId","type":"bytes32"},{"internalType":"address","name":"_strategy","type":"address"},{"internalType":"bytes","name":"_initStrategyData","type":"bytes"},{"internalType":"address","name":"_token","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"},{"internalType":"struct Metadata","name":"_metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]},{"internalType":"address[]","name":"_managers","type":"address[]"}],"stateMutability":"payable","type":"function","name":"createPoolWithCustomStrategy","outputs":[{"internalType":"uint256","name":"poolId","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"_poolId","type":"uint256"}],"stateMutability":"view","type":"function","name":"getPool","outputs":[{"internalType":"struct IAllo.Pool","name":"","type":"tuple","components":[{"internalType":"bytes32","name":"profileId","type":"bytes32"},{"internalType":"contract IStrategy","name":"strategy","type":"address"},{"internalType":"address","name":"token","type":"address"},{"internalType":"struct Metadata","name":"metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]},{"internalType":"bytes32","name":"managerRole","type":"bytes32"},{"internalType":"bytes32","name":"adminRole","type":"bytes32"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getRegistry","outputs":[{"internalType":"address","name":"","type":"address"}]}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","eas-proxy/=lib/allo-v2/lib/eas-proxy/contracts/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","hedgey-vesting/=lib/allo-v2/lib/hedgey-vesting/contracts/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-contracts/=lib/safe-contracts/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","superfluid-protocol-monorepo/=lib/allo-v2/lib/superfluid-protocol-monorepo/packages/solidity-semantic-money/src/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":1000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"pkg/contracts/src/interfaces/FAllo.sol":"FAllo"},"evmVersion":"paris","libraries":{}},"sources":{"lib/allo-v2/contracts/core/interfaces/IAllo.sol":{"keccak256":"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce","urls":["bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7","dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/interfaces/IRegistry.sol":{"keccak256":"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f","urls":["bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e","dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA"],"license":"MIT"},"lib/allo-v2/contracts/core/interfaces/IStrategy.sol":{"keccak256":"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23","urls":["bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487","dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Metadata.sol":{"keccak256":"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44","urls":["bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c","dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn"],"license":"AGPL-3.0-only"},"pkg/contracts/src/interfaces/FAllo.sol":{"keccak256":"0x32f38cb4400a07a99ae68a9beb91e5649886487172fd50561da6763464efc437","urls":["bzz-raw://cb4f0cee2f3fbede7be5e8e1d7ee8034086359cd07b9dab49c4a991388e5c458","dweb:/ipfs/QmS26kA8cZ9shWwxcbF17Kes8L7Jgw85EQVydDmwb34mjM"],"license":"AGPL-3.0-only"}},"version":1},"storageLayout":{"storage":[],"types":{}},"ast":{"absolutePath":"pkg/contracts/src/interfaces/FAllo.sol","id":85657,"exportedSymbols":{"FAllo":[85656],"IAllo":[2610],"Metadata":[3098]},"nodeType":"SourceUnit","src":"42:636:138","nodes":[{"id":85617,"nodeType":"PragmaDirective","src":"42:24:138","nodes":[],"literals":["solidity","^","0.8",".19"]},{"id":85619,"nodeType":"ImportDirective","src":"68:66:138","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/interfaces/IAllo.sol","file":"allo-v2-contracts/core/interfaces/IAllo.sol","nameLocation":"-1:-1:-1","scope":85657,"sourceUnit":2611,"symbolAliases":[{"foreign":{"id":85618,"name":"IAllo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2610,"src":"76:5:138","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":85621,"nodeType":"ImportDirective","src":"135:73:138","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/interfaces/IRegistry.sol","file":"allo-v2-contracts/core/interfaces/IRegistry.sol","nameLocation":"-1:-1:-1","scope":85657,"sourceUnit":2803,"symbolAliases":[{"foreign":{"id":85620,"name":"Metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3098,"src":"143:8:138","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":85656,"nodeType":"ContractDefinition","src":"210:467:138","nodes":[{"id":85642,"nodeType":"FunctionDefinition","src":"232:301:138","nodes":[],"functionSelector":"e1007d4a","implemented":false,"kind":"function","modifiers":[],"name":"createPoolWithCustomStrategy","nameLocation":"241:28:138","parameters":{"id":85638,"nodeType":"ParameterList","parameters":[{"constant":false,"id":85623,"mutability":"mutable","name":"_profileId","nameLocation":"287:10:138","nodeType":"VariableDeclaration","scope":85642,"src":"279:18:138","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":85622,"name":"bytes32","nodeType":"ElementaryTypeName","src":"279:7:138","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":85625,"mutability":"mutable","name":"_strategy","nameLocation":"315:9:138","nodeType":"VariableDeclaration","scope":85642,"src":"307:17:138","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":85624,"name":"address","nodeType":"ElementaryTypeName","src":"307:7:138","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":85627,"mutability":"mutable","name":"_initStrategyData","nameLocation":"347:17:138","nodeType":"VariableDeclaration","scope":85642,"src":"334:30:138","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":85626,"name":"bytes","nodeType":"ElementaryTypeName","src":"334:5:138","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":85629,"mutability":"mutable","name":"_token","nameLocation":"382:6:138","nodeType":"VariableDeclaration","scope":85642,"src":"374:14:138","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":85628,"name":"address","nodeType":"ElementaryTypeName","src":"374:7:138","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":85631,"mutability":"mutable","name":"_amount","nameLocation":"406:7:138","nodeType":"VariableDeclaration","scope":85642,"src":"398:15:138","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":85630,"name":"uint256","nodeType":"ElementaryTypeName","src":"398:7:138","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":85634,"mutability":"mutable","name":"_metadata","nameLocation":"439:9:138","nodeType":"VariableDeclaration","scope":85642,"src":"423:25:138","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata"},"typeName":{"id":85633,"nodeType":"UserDefinedTypeName","pathNode":{"id":85632,"name":"Metadata","nameLocations":["423:8:138"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"423:8:138"},"referencedDeclaration":3098,"src":"423:8:138","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"},{"constant":false,"id":85637,"mutability":"mutable","name":"_managers","nameLocation":"475:9:138","nodeType":"VariableDeclaration","scope":85642,"src":"458:26:138","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":85635,"name":"address","nodeType":"ElementaryTypeName","src":"458:7:138","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":85636,"nodeType":"ArrayTypeName","src":"458:9:138","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"269:221:138"},"returnParameters":{"id":85641,"nodeType":"ParameterList","parameters":[{"constant":false,"id":85640,"mutability":"mutable","name":"poolId","nameLocation":"525:6:138","nodeType":"VariableDeclaration","scope":85642,"src":"517:14:138","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":85639,"name":"uint256","nodeType":"ElementaryTypeName","src":"517:7:138","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"516:16:138"},"scope":85656,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":85647,"nodeType":"FunctionDefinition","src":"539:55:138","nodes":[],"functionSelector":"5ab1bd53","implemented":false,"kind":"function","modifiers":[],"name":"getRegistry","nameLocation":"548:11:138","parameters":{"id":85643,"nodeType":"ParameterList","parameters":[],"src":"559:2:138"},"returnParameters":{"id":85646,"nodeType":"ParameterList","parameters":[{"constant":false,"id":85645,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":85647,"src":"585:7:138","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":85644,"name":"address","nodeType":"ElementaryTypeName","src":"585:7:138","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"584:9:138"},"scope":85656,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":85655,"nodeType":"FunctionDefinition","src":"599:76:138","nodes":[],"functionSelector":"068bcd8d","implemented":false,"kind":"function","modifiers":[],"name":"getPool","nameLocation":"608:7:138","parameters":{"id":85650,"nodeType":"ParameterList","parameters":[{"constant":false,"id":85649,"mutability":"mutable","name":"_poolId","nameLocation":"624:7:138","nodeType":"VariableDeclaration","scope":85655,"src":"616:15:138","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":85648,"name":"uint256","nodeType":"ElementaryTypeName","src":"616:7:138","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"615:17:138"},"returnParameters":{"id":85654,"nodeType":"ParameterList","parameters":[{"constant":false,"id":85653,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":85655,"src":"656:17:138","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool"},"typeName":{"id":85652,"nodeType":"UserDefinedTypeName","pathNode":{"id":85651,"name":"IAllo.Pool","nameLocations":["656:5:138","662:4:138"],"nodeType":"IdentifierPath","referencedDeclaration":2319,"src":"656:10:138"},"referencedDeclaration":2319,"src":"656:10:138","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool"}},"visibility":"internal"}],"src":"655:19:138"},"scope":85656,"stateMutability":"view","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"FAllo","contractDependencies":[],"contractKind":"interface","fullyImplemented":false,"linearizedBaseContracts":[85656],"name":"FAllo","nameLocation":"220:5:138","scope":85657,"usedErrors":[]}],"license":"AGPL-3.0-only"},"id":138} \ No newline at end of file diff --git a/pkg/contracts/out/GV2ERC20.sol/GV2ERC20.json b/pkg/contracts/out/GV2ERC20.sol/GV2ERC20.json index 1519d827f..0e12739b6 100644 --- a/pkg/contracts/out/GV2ERC20.sol/GV2ERC20.json +++ b/pkg/contracts/out/GV2ERC20.sol/GV2ERC20.json @@ -1 +1 @@ -{"abi":[{"type":"constructor","inputs":[{"name":"name_","type":"string","internalType":"string"},{"name":"symbol_","type":"string","internalType":"string"},{"name":"decimals_","type":"uint8","internalType":"uint8"}],"stateMutability":"nonpayable"},{"type":"function","name":"DOMAIN_SEPARATOR","inputs":[],"outputs":[{"name":"result","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"allowance","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"spender","type":"address","internalType":"address"}],"outputs":[{"name":"result","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"approve","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"balanceOf","inputs":[{"name":"owner","type":"address","internalType":"address"}],"outputs":[{"name":"result","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"burn","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"decimals","inputs":[],"outputs":[{"name":"","type":"uint8","internalType":"uint8"}],"stateMutability":"view"},{"type":"function","name":"decreaseAllowance","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"difference","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"directSpendAllowance","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"spender","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"directTransfer","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"increaseAllowance","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"difference","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"mint","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"name","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"nonces","inputs":[{"name":"owner","type":"address","internalType":"address"}],"outputs":[{"name":"result","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"permit","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"spender","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"},{"name":"deadline","type":"uint256","internalType":"uint256"},{"name":"v","type":"uint8","internalType":"uint8"},{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"s","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"symbol","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"totalSupply","inputs":[],"outputs":[{"name":"result","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"transfer","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"transferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"event","name":"Approval","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"spender","type":"address","indexed":true,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Transfer","inputs":[{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"to","type":"address","indexed":true,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"error","name":"AllowanceOverflow","inputs":[]},{"type":"error","name":"AllowanceUnderflow","inputs":[]},{"type":"error","name":"InsufficientAllowance","inputs":[]},{"type":"error","name":"InsufficientBalance","inputs":[]},{"type":"error","name":"InvalidPermit","inputs":[]},{"type":"error","name":"PermitExpired","inputs":[]},{"type":"error","name":"TotalSupplyOverflow","inputs":[]}],"bytecode":{"object":"0x60806040523480156200001157600080fd5b5060405162000f8a38038062000f8a833981016040819052620000349162000134565b600062000042848262000248565b50600162000051838262000248565b506002805460ff191660ff9290921691909117905550620003149050565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126200009757600080fd5b81516001600160401b0380821115620000b457620000b46200006f565b604051601f8301601f19908116603f01168101908282118183101715620000df57620000df6200006f565b81604052838152602092508683858801011115620000fc57600080fd5b600091505b8382101562000120578582018301518183018401529082019062000101565b600093810190920192909252949350505050565b6000806000606084860312156200014a57600080fd5b83516001600160401b03808211156200016257600080fd5b620001708783880162000085565b945060208601519150808211156200018757600080fd5b50620001968682870162000085565b925050604084015160ff81168114620001ae57600080fd5b809150509250925092565b600181811c90821680620001ce57607f821691505b602082108103620001ef57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200024357600081815260208120601f850160051c810160208610156200021e5750805b601f850160051c820191505b818110156200023f578281556001016200022a565b5050505b505050565b81516001600160401b038111156200026457620002646200006f565b6200027c81620002758454620001b9565b84620001f5565b602080601f831160018114620002b457600084156200029b5750858301515b600019600386901b1c1916600185901b1785556200023f565b600085815260208120601f198616915b82811015620002e557888601518255948401946001909101908401620002c4565b5085821015620003045787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b610c6680620003246000396000f3fe608060405234801561001057600080fd5b50600436106101365760003560e01c80637ecebe00116100b2578063a9059cbb11610081578063d505accf11610066578063d505accf1461028e578063dd62ed3e146102a1578063f83d1791146102ca57600080fd5b8063a9059cbb14610268578063d30ed3b31461027b57600080fd5b80637ecebe001461021457806395d89b411461023a5780639dc29fac14610242578063a457c2d71461025557600080fd5b8063313ce5671161010957806339509351116100ee57806339509351146101c657806340c10f19146101d957806370a08231146101ee57600080fd5b8063313ce567146101a95780633644e515146101be57600080fd5b806306fdde031461013b578063095ea7b31461015957806318160ddd1461017c57806323b872dd14610196575b600080fd5b6101436102dd565b6040516101509190610a3f565b60405180910390f35b61016c610167366004610ab6565b61036f565b6040519015158152602001610150565b6805345cdf77eb68f44c545b604051908152602001610150565b61016c6101a4366004610ae0565b6103c2565b60025460405160ff9091168152602001610150565b6101886103e7565b61016c6101d4366004610ab6565b61045d565b6101ec6101e7366004610ab6565b610478565b005b6101886101fc366004610b1c565b6387a211a2600c908152600091909152602090205490565b610188610222366004610b1c565b6338377508600c908152600091909152602090205490565b61014361048e565b6101ec610250366004610ab6565b61049d565b61016c610263366004610ab6565b6104af565b61016c610276366004610ab6565b6104c3565b6101ec610289366004610ae0565b6104d7565b6101ec61029c366004610b37565b6104f7565b6101886102af366004610baa565b602052637f5e9f20600c908152600091909152603490205490565b6101ec6102d8366004610ae0565b610636565b6060600080546102ec90610bdd565b80601f016020809104026020016040519081016040528092919081815260200182805461031890610bdd565b80156103655780601f1061033a57610100808354040283529160200191610365565b820191906000526020600020905b81548152906001019060200180831161034857829003601f168201915b5050505050905090565b600082602052637f5e9f20600c5233600052816034600c205581600052602c5160601c337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560206000a350600192915050565b60006103df6103d085610651565b6103d985610651565b84610660565b949350505050565b60405160006103f46102dd565b80516020918201207f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f845290830152507fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6604082015246606082015230608082015260a0902090565b600061047161046b84610651565b8361071e565b9392505050565b61048a61048483610651565b82610790565b5050565b6060600180546102ec90610bdd565b61048a6104a983610651565b8261080f565b60006104716104bd84610651565b83610893565b60006104716104d184610651565b83610906565b6104f26104e384610651565b6104ec84610651565b83610981565b505050565b60006105016103e7565b90506040518542111561051c57631a15a3cc6000526004601cfd5b8860601b60601c98508760601b60601c97506338377508600c52886000526020600c2080546001810182557f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c983528a602084015289604084015288606084015280608084015250508560a08201526119016000528160205260c081206040526042601e206000528460ff1660205283604052826060526020806080600060015afa50883d51146105d45763ddafbaef6000526004601cfd5b777f5e9f20000000000000000000000000000000000000000088176040526034602c2087905587897f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925602060608501a360405250506000606052505050505050565b6104f261064284610651565b61064b84610651565b836109c4565b60005a60a01b82179050919050565b60008360601b33602052637f5e9f208117600c526034600c20805460001981146106a0578085111561069a576313be252b6000526004601cfd5b84810382555b50506387a211a28117600c526020600c208054808511156106c95763f4d678b86000526004601cfd5b84810382555050836000526020600c208381540181555082602052600c5160601c8160601c7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a3505060019392505050565b600082602052637f5e9f20600c52336000526034600c208054838101818110156107505763f90670666000526004601cfd5b80835580600052505050602c5160601c337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560206000a350600192915050565b6805345cdf77eb68f44c54818101818110156107b45763e5cfe9576000526004601cfd5b806805345cdf77eb68f44c5550506387a211a2600c52816000526020600c208181540181555080602052600c5160601c60007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a35050565b6387a211a2600c52816000526020600c208054808311156108385763f4d678b86000526004601cfd5b82900390556805345cdf77eb68f44c80548290039055600081815273ffffffffffffffffffffffffffffffffffffffff83167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602083a35050565b600082602052637f5e9f20600c52336000526034600c208054838110156108c257638301ab386000526004601cfd5b8381039050808255806000525050602c5160601c337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560206000a350600192915050565b60006387a211a2600c52336000526020600c208054808411156109315763f4d678b86000526004601cfd5b83810382555050826000526020600c208281540181555081602052600c5160601c337fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a350600192915050565b81602052637f5e9f20600c52826000526034600c20805460001981146109bd57808311156109b7576313be252b6000526004601cfd5b82810382555b5050505050565b8260601b6387a211a28117600c526020600c208054808411156109ef5763f4d678b86000526004601cfd5b83810382555050826000526020600c208281540181555081602052600c5160601c8160601c7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a350505050565b600060208083528351808285015260005b81811015610a6c57858101830151858201604001528201610a50565b506000604082860101526040601f19601f8301168501019250505092915050565b803573ffffffffffffffffffffffffffffffffffffffff81168114610ab157600080fd5b919050565b60008060408385031215610ac957600080fd5b610ad283610a8d565b946020939093013593505050565b600080600060608486031215610af557600080fd5b610afe84610a8d565b9250610b0c60208501610a8d565b9150604084013590509250925092565b600060208284031215610b2e57600080fd5b61047182610a8d565b600080600080600080600060e0888a031215610b5257600080fd5b610b5b88610a8d565b9650610b6960208901610a8d565b95506040880135945060608801359350608088013560ff81168114610b8d57600080fd5b9699959850939692959460a0840135945060c09093013592915050565b60008060408385031215610bbd57600080fd5b610bc683610a8d565b9150610bd460208401610a8d565b90509250929050565b600181811c90821680610bf157607f821691505b602082108103610c2a577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b5091905056fea2646970667358221220e470f36529ebc91dae09843a055d0805869d7f8a9767356aea6e94c5cb15437e64736f6c63430008130033","sourceMap":"290:2087:127:-:0;;;410:161;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;493:5;:13;501:5;493;:13;:::i;:::-;-1:-1:-1;516:7:127;:17;526:7;516;:17;:::i;:::-;-1:-1:-1;543:9:127;:21;;-1:-1:-1;;543:21:127;;;;;;;;;;;;-1:-1:-1;290:2087:127;;-1:-1:-1;290:2087:127;14:127:151;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:840;200:5;253:3;246:4;238:6;234:17;230:27;220:55;;271:1;268;261:12;220:55;294:13;;-1:-1:-1;;;;;356:10:151;;;353:36;;;369:18;;:::i;:::-;444:2;438:9;412:2;498:13;;-1:-1:-1;;494:22:151;;;518:2;490:31;486:40;474:53;;;542:18;;;562:22;;;539:46;536:72;;;588:18;;:::i;:::-;628:10;624:2;617:22;663:2;655:6;648:18;685:4;675:14;;730:3;725:2;720;712:6;708:15;704:24;701:33;698:53;;;747:1;744;737:12;698:53;769:1;760:10;;779:133;793:2;790:1;787:9;779:133;;;881:14;;;877:23;;871:30;850:14;;;846:23;;839:63;804:10;;;;779:133;;;954:1;932:15;;;928:24;;;921:35;;;;936:6;146:840;-1:-1:-1;;;;146:840:151:o;991:712::-;1097:6;1105;1113;1166:2;1154:9;1145:7;1141:23;1137:32;1134:52;;;1182:1;1179;1172:12;1134:52;1209:16;;-1:-1:-1;;;;;1274:14:151;;;1271:34;;;1301:1;1298;1291:12;1271:34;1324:61;1377:7;1368:6;1357:9;1353:22;1324:61;:::i;:::-;1314:71;;1431:2;1420:9;1416:18;1410:25;1394:41;;1460:2;1450:8;1447:16;1444:36;;;1476:1;1473;1466:12;1444:36;;1499:63;1554:7;1543:8;1532:9;1528:24;1499:63;:::i;:::-;1489:73;;;1605:2;1594:9;1590:18;1584:25;1649:4;1642:5;1638:16;1631:5;1628:27;1618:55;;1669:1;1666;1659:12;1618:55;1692:5;1682:15;;;991:712;;;;;:::o;1708:380::-;1787:1;1783:12;;;;1830;;;1851:61;;1905:4;1897:6;1893:17;1883:27;;1851:61;1958:2;1950:6;1947:14;1927:18;1924:38;1921:161;;2004:10;1999:3;1995:20;1992:1;1985:31;2039:4;2036:1;2029:15;2067:4;2064:1;2057:15;1921:161;;1708:380;;;:::o;2219:545::-;2321:2;2316:3;2313:11;2310:448;;;2357:1;2382:5;2378:2;2371:17;2427:4;2423:2;2413:19;2497:2;2485:10;2481:19;2478:1;2474:27;2468:4;2464:38;2533:4;2521:10;2518:20;2515:47;;;-1:-1:-1;2556:4:151;2515:47;2611:2;2606:3;2602:12;2599:1;2595:20;2589:4;2585:31;2575:41;;2666:82;2684:2;2677:5;2674:13;2666:82;;;2729:17;;;2710:1;2699:13;2666:82;;;2670:3;;;2310:448;2219:545;;;:::o;2940:1352::-;3060:10;;-1:-1:-1;;;;;3082:30:151;;3079:56;;;3115:18;;:::i;:::-;3144:97;3234:6;3194:38;3226:4;3220:11;3194:38;:::i;:::-;3188:4;3144:97;:::i;:::-;3296:4;;3360:2;3349:14;;3377:1;3372:663;;;;4079:1;4096:6;4093:89;;;-1:-1:-1;4148:19:151;;;4142:26;4093:89;-1:-1:-1;;2897:1:151;2893:11;;;2889:24;2885:29;2875:40;2921:1;2917:11;;;2872:57;4195:81;;3342:944;;3372:663;2166:1;2159:14;;;2203:4;2190:18;;-1:-1:-1;;3408:20:151;;;3526:236;3540:7;3537:1;3534:14;3526:236;;;3629:19;;;3623:26;3608:42;;3721:27;;;;3689:1;3677:14;;;;3556:19;;3526:236;;;3530:3;3790:6;3781:7;3778:19;3775:201;;;3851:19;;;3845:26;-1:-1:-1;;3934:1:151;3930:14;;;3946:3;3926:24;3922:37;3918:42;3903:58;3888:74;;3775:201;-1:-1:-1;;;;;4022:1:151;4006:14;;;4002:22;3989:36;;-1:-1:-1;2940:1352:151:o;:::-;290:2087:127;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b50600436106101365760003560e01c80637ecebe00116100b2578063a9059cbb11610081578063d505accf11610066578063d505accf1461028e578063dd62ed3e146102a1578063f83d1791146102ca57600080fd5b8063a9059cbb14610268578063d30ed3b31461027b57600080fd5b80637ecebe001461021457806395d89b411461023a5780639dc29fac14610242578063a457c2d71461025557600080fd5b8063313ce5671161010957806339509351116100ee57806339509351146101c657806340c10f19146101d957806370a08231146101ee57600080fd5b8063313ce567146101a95780633644e515146101be57600080fd5b806306fdde031461013b578063095ea7b31461015957806318160ddd1461017c57806323b872dd14610196575b600080fd5b6101436102dd565b6040516101509190610a3f565b60405180910390f35b61016c610167366004610ab6565b61036f565b6040519015158152602001610150565b6805345cdf77eb68f44c545b604051908152602001610150565b61016c6101a4366004610ae0565b6103c2565b60025460405160ff9091168152602001610150565b6101886103e7565b61016c6101d4366004610ab6565b61045d565b6101ec6101e7366004610ab6565b610478565b005b6101886101fc366004610b1c565b6387a211a2600c908152600091909152602090205490565b610188610222366004610b1c565b6338377508600c908152600091909152602090205490565b61014361048e565b6101ec610250366004610ab6565b61049d565b61016c610263366004610ab6565b6104af565b61016c610276366004610ab6565b6104c3565b6101ec610289366004610ae0565b6104d7565b6101ec61029c366004610b37565b6104f7565b6101886102af366004610baa565b602052637f5e9f20600c908152600091909152603490205490565b6101ec6102d8366004610ae0565b610636565b6060600080546102ec90610bdd565b80601f016020809104026020016040519081016040528092919081815260200182805461031890610bdd565b80156103655780601f1061033a57610100808354040283529160200191610365565b820191906000526020600020905b81548152906001019060200180831161034857829003601f168201915b5050505050905090565b600082602052637f5e9f20600c5233600052816034600c205581600052602c5160601c337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560206000a350600192915050565b60006103df6103d085610651565b6103d985610651565b84610660565b949350505050565b60405160006103f46102dd565b80516020918201207f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f845290830152507fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6604082015246606082015230608082015260a0902090565b600061047161046b84610651565b8361071e565b9392505050565b61048a61048483610651565b82610790565b5050565b6060600180546102ec90610bdd565b61048a6104a983610651565b8261080f565b60006104716104bd84610651565b83610893565b60006104716104d184610651565b83610906565b6104f26104e384610651565b6104ec84610651565b83610981565b505050565b60006105016103e7565b90506040518542111561051c57631a15a3cc6000526004601cfd5b8860601b60601c98508760601b60601c97506338377508600c52886000526020600c2080546001810182557f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c983528a602084015289604084015288606084015280608084015250508560a08201526119016000528160205260c081206040526042601e206000528460ff1660205283604052826060526020806080600060015afa50883d51146105d45763ddafbaef6000526004601cfd5b777f5e9f20000000000000000000000000000000000000000088176040526034602c2087905587897f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925602060608501a360405250506000606052505050505050565b6104f261064284610651565b61064b84610651565b836109c4565b60005a60a01b82179050919050565b60008360601b33602052637f5e9f208117600c526034600c20805460001981146106a0578085111561069a576313be252b6000526004601cfd5b84810382555b50506387a211a28117600c526020600c208054808511156106c95763f4d678b86000526004601cfd5b84810382555050836000526020600c208381540181555082602052600c5160601c8160601c7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a3505060019392505050565b600082602052637f5e9f20600c52336000526034600c208054838101818110156107505763f90670666000526004601cfd5b80835580600052505050602c5160601c337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560206000a350600192915050565b6805345cdf77eb68f44c54818101818110156107b45763e5cfe9576000526004601cfd5b806805345cdf77eb68f44c5550506387a211a2600c52816000526020600c208181540181555080602052600c5160601c60007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a35050565b6387a211a2600c52816000526020600c208054808311156108385763f4d678b86000526004601cfd5b82900390556805345cdf77eb68f44c80548290039055600081815273ffffffffffffffffffffffffffffffffffffffff83167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602083a35050565b600082602052637f5e9f20600c52336000526034600c208054838110156108c257638301ab386000526004601cfd5b8381039050808255806000525050602c5160601c337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560206000a350600192915050565b60006387a211a2600c52336000526020600c208054808411156109315763f4d678b86000526004601cfd5b83810382555050826000526020600c208281540181555081602052600c5160601c337fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a350600192915050565b81602052637f5e9f20600c52826000526034600c20805460001981146109bd57808311156109b7576313be252b6000526004601cfd5b82810382555b5050505050565b8260601b6387a211a28117600c526020600c208054808411156109ef5763f4d678b86000526004601cfd5b83810382555050826000526020600c208281540181555081602052600c5160601c8160601c7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a350505050565b600060208083528351808285015260005b81811015610a6c57858101830151858201604001528201610a50565b506000604082860101526040601f19601f8301168501019250505092915050565b803573ffffffffffffffffffffffffffffffffffffffff81168114610ab157600080fd5b919050565b60008060408385031215610ac957600080fd5b610ad283610a8d565b946020939093013593505050565b600080600060608486031215610af557600080fd5b610afe84610a8d565b9250610b0c60208501610a8d565b9150604084013590509250925092565b600060208284031215610b2e57600080fd5b61047182610a8d565b600080600080600080600060e0888a031215610b5257600080fd5b610b5b88610a8d565b9650610b6960208901610a8d565b95506040880135945060608801359350608088013560ff81168114610b8d57600080fd5b9699959850939692959460a0840135945060c09093013592915050565b60008060408385031215610bbd57600080fd5b610bc683610a8d565b9150610bd460208401610a8d565b90509250929050565b600181811c90821680610bf157607f821691505b602082108103610c2a577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b5091905056fea2646970667358221220e470f36529ebc91dae09843a055d0805869d7f8a9767356aea6e94c5cb15437e64736f6c63430008130033","sourceMap":"290:2087:127:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;577:98;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5995:573:13;;;;;;:::i;:::-;;:::i;:::-;;;1192:14:151;;1185:22;1167:41;;1155:2;1140:18;5995:573:13;1027:187:151;4847:195:13;5007:18;5001:25;4847:195;;;1365:25:151;;;1353:2;1338:18;4847:195:13;1219:177:151;1605:189:127;;;;;;:::i;:::-;;:::i;789:98::-;871:9;;789:98;;871:9;;;;1876:36:151;;1864:2;1849:18;789:98:127;1734:184:151;17096:1062:13;;;:::i;1800:184:127:-;;;;;;:::i;:::-;;:::i;893:102::-;;;;;;:::i;:::-;;:::i;:::-;;5108:286:13;;;;;;:::i;:::-;5276:18;5270:4;5263:32;;;5171:14;5308:19;;;;5372:4;5356:21;;5350:28;;5108:286;13503:340;;;;;;:::i;:::-;13726:17;13720:4;13713:31;;;13563:14;13757:19;;;;13821:4;13805:21;;13799:28;;13503:340;681:102:127;;;:::i;1001:106::-;;;;;;:::i;:::-;;:::i;1990:184::-;;;;;;:::i;:::-;;:::i;1451:148::-;;;;;;:::i;:::-;;:::i;1270:175::-;;;;;;:::i;:::-;;:::i;14027:3010:13:-;;;;;;:::i;:::-;;:::i;5489:375::-;;;;;;:::i;:::-;5704:4;5697:21;5744:20;5738:4;5731:34;;;5601:14;5778:19;;;;5842:4;5826:21;;5820:28;;5489:375;1113:151:127;;;;;;:::i;:::-;;:::i;577:98::-;631:13;663:5;656:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;577:98;:::o;5995:573:13:-;6069:4;6228:7;6222:4;6215:21;6262:20;6256:4;6249:34;6309:8;6303:4;6296:22;6361:6;6354:4;6348;6338:21;6331:37;6436:6;6430:4;6423:20;6524:4;6518:11;6514:2;6510:20;6500:8;6473:25;6467:4;6461;6456:75;-1:-1:-1;6557:4:13;5995:573;;;;:::o;1605:189:127:-;1702:4;1725:62;1744:17;1756:4;1744:11;:17::i;:::-;1763:15;1775:2;1763:11;:15::i;:::-;1780:6;1725:18;:62::i;:::-;1718:69;1605:189;-1:-1:-1;;;;1605:189:127:o;17096:1062:13:-;17261:4;17255:11;17153:14;17447:6;:4;:6::i;:::-;17431:24;;;;;;;17726:66;17716:77;;17813:12;;;17806:30;-1:-1:-1;17946:66:13;17939:4;17932:12;;17925:88;18047:9;18040:4;18033:12;;18026:31;18091:9;18084:4;18077:12;;18070:31;18137:4;18124:18;;;17096:1062::o;1800:184:127:-;1897:4;1920:57;1944:20;1956:7;1944:11;:20::i;:::-;1966:10;1920:23;:57::i;:::-;1913:64;1800:184;-1:-1:-1;;;1800:184:127:o;893:102::-;959:29;965:15;977:2;965:11;:15::i;:::-;982:5;959;:29::i;:::-;893:102;;:::o;681:::-;737:13;769:7;762:14;;;;;:::i;1001:106::-;1069:31;1075:17;1087:4;1075:11;:17::i;:::-;1094:5;1069;:31::i;1990:184::-;2087:4;2110:57;2134:20;2146:7;2134:11;:20::i;:::-;2156:10;2110:23;:57::i;1451:148::-;1530:4;1553:39;1568:15;1580:2;1568:11;:15::i;:::-;1585:6;1553:14;:39::i;1270:175::-;1373:65;1389:18;1401:5;1389:11;:18::i;:::-;1409:20;1421:7;1409:11;:20::i;:::-;1431:6;1373:15;:65::i;:::-;1270:175;;;:::o;14027:3010:13:-;14226:23;14252:18;:16;:18::i;:::-;14226:44;;14406:4;14400:11;14513:8;14500:11;14497:25;14494:142;;;14554:10;14548:4;14541:24;14617:4;14611;14604:18;14494:142;14714:5;14710:2;14706:14;14702:2;14698:23;14689:32;;14761:7;14757:2;14753:16;14749:2;14745:25;14734:36;;14854:17;14848:4;14841:31;14898:5;14892:4;14885:19;14950:4;14944;14934:21;14992:9;14986:16;15103:1;15091:10;15087:18;15076:9;15069:37;15325:66;15322:1;15315:77;15426:5;15419:4;15416:1;15412:12;15405:27;15466:7;15459:4;15456:1;15452:12;15445:29;15508:5;15501:4;15498:1;15494:12;15487:27;15548:10;15541:4;15538:1;15534:12;15527:32;;;15593:8;15586:4;15583:1;15579:12;15572:30;15664:6;15661:1;15654:17;15697:15;15691:4;15684:29;15752:4;15749:1;15739:18;15733:4;15726:32;15844:4;15838;15828:21;15825:1;15818:32;15886:1;15880:4;15876:12;15870:4;15863:26;15915:1;15909:4;15902:15;15943:1;15937:4;15930:15;15998:4;15992;15986;15983:1;15980;15973:5;15962:41;15958:46;16423:5;16404:16;16398:23;16395:34;16385:159;;16462:10;16456:4;16449:24;16525:4;16519;16512:18;16385:159;16688:30;16685:43;;16679:4;16672:57;16765:4;16759;16749:21;16742:36;;;16720:7;16885:5;16858:25;-1:-1:-1;16845:4:13;16838:12;;16833:67;16920:4;16913:15;-1:-1:-1;;16990:1:13;16984:4;16977:15;-1:-1:-1;;;;;;14027:3010:13:o;1113:151:127:-;1204:53;1214:17;1226:4;1214:11;:17::i;:::-;1233:15;1245:2;1233:11;:15::i;:::-;1250:6;1204:9;:53::i;2180:195::-;2235:14;2352:5;2347:3;2343:15;2340:1;2337:22;2327:32;;2180:195;;;:::o;10886:2203:13:-;10974:4;11125;11121:2;11117:13;11218:8;11212:4;11205:22;11263:20;11256:5;11253:31;11247:4;11240:45;11335:4;11329;11319:21;11377:13;11371:20;11499:1;11495:6;11483:10;11480:22;11470:430;;11617:10;11609:6;11606:22;11603:159;;;11664:10;11658:4;11651:24;11739:4;11733;11726:18;11603:159;11878:6;11866:10;11862:23;11847:13;11840:46;11470:430;;;11996:18;11989:5;11986:29;11980:4;11973:43;12068:4;12062;12052:21;12111:15;12105:22;12201:11;12193:6;12190:23;12187:146;;;12245:10;12239:4;12232:24;12314:4;12308;12301:18;12187:146;12442:6;12429:11;12425:24;12408:15;12401:49;;;12525:2;12519:4;12512:16;12578:4;12572;12562:21;12828:6;12812:13;12806:20;12802:33;12787:13;12780:56;;12904:6;12898:4;12891:20;12998:4;12992:11;12988:2;12984:20;12976:5;12972:2;12968:14;12941:25;12935:4;12929;12924:81;;-1:-1:-1;13078:4:13;10886:2203;;;;;:::o;6700:1058::-;6788:4;6945:7;6939:4;6932:21;6979:20;6973:4;6966:34;7026:8;7020:4;7013:22;7085:4;7079;7069:21;7132:13;7126:20;7239:10;7222:15;7218:32;7322:15;7306:14;7303:35;7300:156;;;7370:10;7364:4;7357:24;7437:4;7431;7424:18;7300:156;7535:14;7520:13;7513:37;7618:14;7612:4;7605:28;;;;7714:4;7708:11;7704:2;7700:20;7690:8;7663:25;7657:4;7651;7646:75;-1:-1:-1;7747:4:13;6700:1058;;;;:::o;18562:1172::-;18783:18;18777:25;18862:6;18843:17;18839:30;18959:17;18941:16;18938:39;18935:162;;;19009:10;19003:4;18996:24;19078:4;19072;19065:18;18935:162;19184:16;19164:18;19157:44;;;19287:18;19281:4;19274:32;19332:2;19326:4;19319:16;19385:4;19379;19369:21;19501:6;19485:13;19479:20;19475:33;19460:13;19453:56;;19577:6;19571:4;19564:20;19658:4;19652:11;19648:2;19644:20;19641:1;19614:25;19608:4;19602;19597:68;893:102:127;;:::o;20140:1119:13:-;20407:18;20401:4;20394:32;20452:4;20446;20439:18;20509:4;20503;20493:21;20552:15;20546:22;20642:11;20634:6;20631:23;20628:146;;;20686:10;20680:4;20673:24;20755:4;20749;20742:18;20628:146;20866:24;;;20842:49;;21001:18;20995:25;;20991:38;;;20964:66;;-1:-1:-1;21085:20:13;;;21162:22;;;21135:25;21129:4;-1:-1:-1;21118:70:13;893:102:127;;:::o;7890:1035:13:-;7978:4;8135:7;8129:4;8122:21;8169:20;8163:4;8156:34;8216:8;8210:4;8203:22;8275:4;8269;8259:21;8322:13;8316:20;8413:10;8396:15;8393:31;8390:153;;;8456:10;8450:4;8443:24;8524:4;8518;8511:18;8390:153;8656:10;8639:15;8635:32;8613:54;;8702:14;8687:13;8680:37;8785:14;8779:4;8772:28;;;8881:4;8875:11;8871:2;8867:20;8857:8;8830:25;8824:4;8818;8813:75;-1:-1:-1;8914:4:13;7890:1035;;;;:::o;9112:1406::-;9182:4;9391:18;9385:4;9378:32;9436:8;9430:4;9423:22;9497:4;9491;9481:21;9540:15;9534:22;9630:11;9622:6;9619:23;9616:146;;;9674:10;9668:4;9661:24;9743:4;9737;9730:18;9616:146;9871:6;9858:11;9854:24;9837:15;9830:49;;;9954:2;9948:4;9941:16;10007:4;10001;9991:21;10257:6;10241:13;10235:20;10231:33;10216:13;10209:56;;10333:6;10327:4;10320:20;10421:4;10415:11;10411:2;10407:20;10397:8;10370:25;10364:4;10358;10353:75;-1:-1:-1;10507:4:13;9112:1406;;;;:::o;23377:959::-;23618:7;23612:4;23605:21;23652:20;23646:4;23639:34;23699:5;23693:4;23686:19;23755:4;23749;23739:21;23797:13;23791:20;23919:1;23915:6;23903:10;23900:22;23890:430;;24037:10;24029:6;24026:22;24023:159;;;24084:10;24078:4;24071:24;24159:4;24153;24146:18;24023:159;24298:6;24286:10;24282:23;24267:13;24260:46;23890:430;;;23377:959;;;:::o;21607:1396::-;21830:4;21826:2;21822:13;21931:18;21924:5;21921:29;21915:4;21908:43;22003:4;21997;21987:21;22046:15;22040:22;22136:11;22128:6;22125:23;22122:146;;;22180:10;22174:4;22167:24;22249:4;22243;22236:18;22122:146;22377:6;22364:11;22360:24;22343:15;22336:49;;;22460:2;22454:4;22447:16;22513:4;22507;22497:21;22763:6;22747:13;22741:20;22737:33;22722:13;22715:56;;22839:6;22833:4;22826:20;22933:4;22927:11;22923:2;22919:20;22911:5;22907:2;22903:14;22876:25;22870:4;22864;22859:81;;1270:175:127;;;:::o;14:548:151:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:196::-;635:20;;695:42;684:54;;674:65;;664:93;;753:1;750;743:12;664:93;567:196;;;:::o;768:254::-;836:6;844;897:2;885:9;876:7;872:23;868:32;865:52;;;913:1;910;903:12;865:52;936:29;955:9;936:29;:::i;:::-;926:39;1012:2;997:18;;;;984:32;;-1:-1:-1;;;768:254:151:o;1401:328::-;1478:6;1486;1494;1547:2;1535:9;1526:7;1522:23;1518:32;1515:52;;;1563:1;1560;1553:12;1515:52;1586:29;1605:9;1586:29;:::i;:::-;1576:39;;1634:38;1668:2;1657:9;1653:18;1634:38;:::i;:::-;1624:48;;1719:2;1708:9;1704:18;1691:32;1681:42;;1401:328;;;;;:::o;2105:186::-;2164:6;2217:2;2205:9;2196:7;2192:23;2188:32;2185:52;;;2233:1;2230;2223:12;2185:52;2256:29;2275:9;2256:29;:::i;2296:693::-;2407:6;2415;2423;2431;2439;2447;2455;2508:3;2496:9;2487:7;2483:23;2479:33;2476:53;;;2525:1;2522;2515:12;2476:53;2548:29;2567:9;2548:29;:::i;:::-;2538:39;;2596:38;2630:2;2619:9;2615:18;2596:38;:::i;:::-;2586:48;;2681:2;2670:9;2666:18;2653:32;2643:42;;2732:2;2721:9;2717:18;2704:32;2694:42;;2786:3;2775:9;2771:19;2758:33;2831:4;2824:5;2820:16;2813:5;2810:27;2800:55;;2851:1;2848;2841:12;2800:55;2296:693;;;;-1:-1:-1;2296:693:151;;;;2874:5;2926:3;2911:19;;2898:33;;-1:-1:-1;2978:3:151;2963:19;;;2950:33;;2296:693;-1:-1:-1;;2296:693:151:o;2994:260::-;3062:6;3070;3123:2;3111:9;3102:7;3098:23;3094:32;3091:52;;;3139:1;3136;3129:12;3091:52;3162:29;3181:9;3162:29;:::i;:::-;3152:39;;3210:38;3244:2;3233:9;3229:18;3210:38;:::i;:::-;3200:48;;2994:260;;;;;:::o;3259:437::-;3338:1;3334:12;;;;3381;;;3402:61;;3456:4;3448:6;3444:17;3434:27;;3402:61;3509:2;3501:6;3498:14;3478:18;3475:38;3472:218;;3546:77;3543:1;3536:88;3647:4;3644:1;3637:15;3675:4;3672:1;3665:15;3472:218;;3259:437;;;:::o","linkReferences":{}},"methodIdentifiers":{"DOMAIN_SEPARATOR()":"3644e515","allowance(address,address)":"dd62ed3e","approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","burn(address,uint256)":"9dc29fac","decimals()":"313ce567","decreaseAllowance(address,uint256)":"a457c2d7","directSpendAllowance(address,address,uint256)":"d30ed3b3","directTransfer(address,address,uint256)":"f83d1791","increaseAllowance(address,uint256)":"39509351","mint(address,uint256)":"40c10f19","name()":"06fdde03","nonces(address)":"7ecebe00","permit(address,address,uint256,uint256,uint8,bytes32,bytes32)":"d505accf","symbol()":"95d89b41","totalSupply()":"18160ddd","transfer(address,uint256)":"a9059cbb","transferFrom(address,address,uint256)":"23b872dd"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name_\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"symbol_\",\"type\":\"string\"},{\"internalType\":\"uint8\",\"name\":\"decimals_\",\"type\":\"uint8\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"AllowanceOverflow\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"AllowanceUnderflow\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InsufficientAllowance\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InsufficientBalance\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidPermit\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"PermitExpired\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TotalSupplyOverflow\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"DOMAIN_SEPARATOR\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"result\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"result\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"result\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"burn\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"difference\",\"type\":\"uint256\"}],\"name\":\"decreaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"directSpendAllowance\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"directTransfer\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"difference\",\"type\":\"uint256\"}],\"name\":\"increaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"mint\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"nonces\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"result\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"name\":\"permit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"result\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"WARNING! This mock is strictly intended for testing purposes only. Do NOT copy anything here into production code unless you really know what you are doing.\",\"errors\":{\"AllowanceOverflow()\":[{\"details\":\"The allowance has overflowed.\"}],\"AllowanceUnderflow()\":[{\"details\":\"The allowance has underflowed.\"}],\"InsufficientAllowance()\":[{\"details\":\"Insufficient allowance.\"}],\"InsufficientBalance()\":[{\"details\":\"Insufficient balance.\"}],\"InvalidPermit()\":[{\"details\":\"The permit is invalid.\"}],\"PermitExpired()\":[{\"details\":\"The permit has expired.\"}],\"TotalSupplyOverflow()\":[{\"details\":\"The total supply has overflowed.\"}]},\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when `amount` tokens is approved by `owner` to be used by `spender`.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `amount` tokens is transferred from `from` to `to`.\"}},\"kind\":\"dev\",\"methods\":{\"DOMAIN_SEPARATOR()\":{\"details\":\"Returns the EIP-2612 domains separator.\"},\"allowance(address,address)\":{\"details\":\"Returns the amount of tokens that `spender` can spend on behalf of `owner`.\"},\"approve(address,uint256)\":{\"details\":\"Sets `amount` as the allowance of `spender` over the caller's tokens. Emits a {Approval} event.\"},\"balanceOf(address)\":{\"details\":\"Returns the amount of tokens owned by `owner`.\"},\"decimals()\":{\"details\":\"Returns the decimals places of the token.\"},\"decreaseAllowance(address,uint256)\":{\"details\":\"Atomically decreases the allowance granted to `spender` by the caller. Emits a {Approval} event.\"},\"increaseAllowance(address,uint256)\":{\"details\":\"Atomically increases the allowance granted to `spender` by the caller. Emits a {Approval} event.\"},\"name()\":{\"details\":\"Returns the name of the token.\"},\"nonces(address)\":{\"details\":\"Returns the current nonce for `owner`. This value is used to compute the signature for EIP-2612 permit.\"},\"permit(address,address,uint256,uint256,uint8,bytes32,bytes32)\":{\"details\":\"Sets `value` as the allowance of `spender` over the tokens of `owner`, authorized by a signed approval by `owner`. Emits a {Approval} event.\"},\"symbol()\":{\"details\":\"Returns the symbol of the token.\"},\"totalSupply()\":{\"details\":\"Returns the amount of tokens in existence.\"},\"transfer(address,uint256)\":{\"details\":\"Transfer `amount` tokens from the caller to `to`. Requirements: - `from` must at least have `amount`. Emits a {Transfer} event.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"Transfers `amount` tokens from `from` to `to`. Note: Does not update the allowance if it is the maximum uint256 value. Requirements: - `from` must at least have `amount`. - The caller must have at least `amount` of allowance to transfer the tokens of `from`. Emits a {Transfer} event.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"pkg/contracts/script/GV2ERC20.sol\":\"GV2ERC20\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1000},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-contracts/=lib/safe-contracts/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"]},\"sources\":{\"lib/allo-v2/lib/solady/src/tokens/ERC20.sol\":{\"keccak256\":\"0x264e4675697d05dfb9bbe9cc91c6bda7962d934f1e940336fd75d509b7f396c4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5856338689f03f36c057203c5085243e104b8487274432062ebf076b512edeea\",\"dweb:/ipfs/QmXrqgaWQikKkHfoBkYPxeMTJWUY5uf7kSmipNbpU35XwK\"]},\"pkg/contracts/script/GV2ERC20.sol\":{\"keccak256\":\"0xb5e57f03d152bf6607d98527bfeb5cdf7a2493f89c8c61bd0920ee0e8dddb9f4\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://f0b70e95f96d1dde0e7c85ed9cfde9aea1cd5d08d17d3c854ac546de4f4507cb\",\"dweb:/ipfs/QmSAVcKhdM1n7ArqijF44tNmbRys7x1w2jdWviewFw22hE\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"string","name":"name_","type":"string"},{"internalType":"string","name":"symbol_","type":"string"},{"internalType":"uint8","name":"decimals_","type":"uint8"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"type":"error","name":"AllowanceOverflow"},{"inputs":[],"type":"error","name":"AllowanceUnderflow"},{"inputs":[],"type":"error","name":"InsufficientAllowance"},{"inputs":[],"type":"error","name":"InsufficientBalance"},{"inputs":[],"type":"error","name":"InvalidPermit"},{"inputs":[],"type":"error","name":"PermitExpired"},{"inputs":[],"type":"error","name":"TotalSupplyOverflow"},{"inputs":[{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"address","name":"spender","type":"address","indexed":true},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false}],"type":"event","name":"Approval","anonymous":false},{"inputs":[{"internalType":"address","name":"from","type":"address","indexed":true},{"internalType":"address","name":"to","type":"address","indexed":true},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false}],"type":"event","name":"Transfer","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"DOMAIN_SEPARATOR","outputs":[{"internalType":"bytes32","name":"result","type":"bytes32"}]},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"stateMutability":"view","type":"function","name":"allowance","outputs":[{"internalType":"uint256","name":"result","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"stateMutability":"view","type":"function","name":"balanceOf","outputs":[{"internalType":"uint256","name":"result","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"burn"},{"inputs":[],"stateMutability":"view","type":"function","name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}]},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"difference","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"directSpendAllowance"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"directTransfer"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"difference","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"mint"},{"inputs":[],"stateMutability":"view","type":"function","name":"name","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"stateMutability":"view","type":"function","name":"nonces","outputs":[{"internalType":"uint256","name":"result","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"uint256","name":"deadline","type":"uint256"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"permit"},{"inputs":[],"stateMutability":"view","type":"function","name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"totalSupply","outputs":[{"internalType":"uint256","name":"result","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}]}],"devdoc":{"kind":"dev","methods":{"DOMAIN_SEPARATOR()":{"details":"Returns the EIP-2612 domains separator."},"allowance(address,address)":{"details":"Returns the amount of tokens that `spender` can spend on behalf of `owner`."},"approve(address,uint256)":{"details":"Sets `amount` as the allowance of `spender` over the caller's tokens. Emits a {Approval} event."},"balanceOf(address)":{"details":"Returns the amount of tokens owned by `owner`."},"decimals()":{"details":"Returns the decimals places of the token."},"decreaseAllowance(address,uint256)":{"details":"Atomically decreases the allowance granted to `spender` by the caller. Emits a {Approval} event."},"increaseAllowance(address,uint256)":{"details":"Atomically increases the allowance granted to `spender` by the caller. Emits a {Approval} event."},"name()":{"details":"Returns the name of the token."},"nonces(address)":{"details":"Returns the current nonce for `owner`. This value is used to compute the signature for EIP-2612 permit."},"permit(address,address,uint256,uint256,uint8,bytes32,bytes32)":{"details":"Sets `value` as the allowance of `spender` over the tokens of `owner`, authorized by a signed approval by `owner`. Emits a {Approval} event."},"symbol()":{"details":"Returns the symbol of the token."},"totalSupply()":{"details":"Returns the amount of tokens in existence."},"transfer(address,uint256)":{"details":"Transfer `amount` tokens from the caller to `to`. Requirements: - `from` must at least have `amount`. Emits a {Transfer} event."},"transferFrom(address,address,uint256)":{"details":"Transfers `amount` tokens from `from` to `to`. Note: Does not update the allowance if it is the maximum uint256 value. Requirements: - `from` must at least have `amount`. - The caller must have at least `amount` of allowance to transfer the tokens of `from`. Emits a {Transfer} event."}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-contracts/=lib/safe-contracts/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":1000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"pkg/contracts/script/GV2ERC20.sol":"GV2ERC20"},"evmVersion":"paris","libraries":{}},"sources":{"lib/allo-v2/lib/solady/src/tokens/ERC20.sol":{"keccak256":"0x264e4675697d05dfb9bbe9cc91c6bda7962d934f1e940336fd75d509b7f396c4","urls":["bzz-raw://5856338689f03f36c057203c5085243e104b8487274432062ebf076b512edeea","dweb:/ipfs/QmXrqgaWQikKkHfoBkYPxeMTJWUY5uf7kSmipNbpU35XwK"],"license":"MIT"},"pkg/contracts/script/GV2ERC20.sol":{"keccak256":"0xb5e57f03d152bf6607d98527bfeb5cdf7a2493f89c8c61bd0920ee0e8dddb9f4","urls":["bzz-raw://f0b70e95f96d1dde0e7c85ed9cfde9aea1cd5d08d17d3c854ac546de4f4507cb","dweb:/ipfs/QmSAVcKhdM1n7ArqijF44tNmbRys7x1w2jdWviewFw22hE"],"license":"AGPL-3.0-only"}},"version":1},"storageLayout":{"storage":[{"astId":73846,"contract":"pkg/contracts/script/GV2ERC20.sol:GV2ERC20","label":"_name","offset":0,"slot":"0","type":"t_string_storage"},{"astId":73848,"contract":"pkg/contracts/script/GV2ERC20.sol:GV2ERC20","label":"_symbol","offset":0,"slot":"1","type":"t_string_storage"},{"astId":73850,"contract":"pkg/contracts/script/GV2ERC20.sol:GV2ERC20","label":"_decimals","offset":0,"slot":"2","type":"t_uint8"}],"types":{"t_string_storage":{"encoding":"bytes","label":"string","numberOfBytes":"32"},"t_uint8":{"encoding":"inplace","label":"uint8","numberOfBytes":"1"}}},"ast":{"absolutePath":"pkg/contracts/script/GV2ERC20.sol","id":74061,"exportedSymbols":{"ERC20":[4491],"GV2ERC20":[74060]},"nodeType":"SourceUnit","src":"42:2336:127","nodes":[{"id":73839,"nodeType":"PragmaDirective","src":"42:24:127","nodes":[],"literals":["solidity","^","0.8",".19"]},{"id":73841,"nodeType":"ImportDirective","src":"68:50:127","nodes":[],"absolutePath":"lib/allo-v2/lib/solady/src/tokens/ERC20.sol","file":"solady/src/tokens/ERC20.sol","nameLocation":"-1:-1:-1","scope":74061,"sourceUnit":4492,"symbolAliases":[{"foreign":{"id":73840,"name":"ERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4491,"src":"76:5:127","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":74060,"nodeType":"ContractDefinition","src":"290:2087:127","nodes":[{"id":73846,"nodeType":"VariableDeclaration","src":"323:21:127","nodes":[],"constant":false,"mutability":"mutable","name":"_name","nameLocation":"339:5:127","scope":74060,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string"},"typeName":{"id":73845,"name":"string","nodeType":"ElementaryTypeName","src":"323:6:127","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"id":73848,"nodeType":"VariableDeclaration","src":"350:23:127","nodes":[],"constant":false,"mutability":"mutable","name":"_symbol","nameLocation":"366:7:127","scope":74060,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string"},"typeName":{"id":73847,"name":"string","nodeType":"ElementaryTypeName","src":"350:6:127","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"id":73850,"nodeType":"VariableDeclaration","src":"379:24:127","nodes":[],"constant":false,"mutability":"mutable","name":"_decimals","nameLocation":"394:9:127","scope":74060,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":73849,"name":"uint8","nodeType":"ElementaryTypeName","src":"379:5:127","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"id":73872,"nodeType":"FunctionDefinition","src":"410:161:127","nodes":[],"body":{"id":73871,"nodeType":"Block","src":"483:88:127","nodes":[],"statements":[{"expression":{"id":73861,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":73859,"name":"_name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73846,"src":"493:5:127","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":73860,"name":"name_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73852,"src":"501:5:127","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"493:13:127","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"id":73862,"nodeType":"ExpressionStatement","src":"493:13:127"},{"expression":{"id":73865,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":73863,"name":"_symbol","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73848,"src":"516:7:127","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":73864,"name":"symbol_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73854,"src":"526:7:127","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"516:17:127","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"id":73866,"nodeType":"ExpressionStatement","src":"516:17:127"},{"expression":{"id":73869,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":73867,"name":"_decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73850,"src":"543:9:127","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":73868,"name":"decimals_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73856,"src":"555:9:127","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"543:21:127","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":73870,"nodeType":"ExpressionStatement","src":"543:21:127"}]},"implemented":true,"kind":"constructor","modifiers":[],"name":"","nameLocation":"-1:-1:-1","parameters":{"id":73857,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73852,"mutability":"mutable","name":"name_","nameLocation":"436:5:127","nodeType":"VariableDeclaration","scope":73872,"src":"422:19:127","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":73851,"name":"string","nodeType":"ElementaryTypeName","src":"422:6:127","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":73854,"mutability":"mutable","name":"symbol_","nameLocation":"457:7:127","nodeType":"VariableDeclaration","scope":73872,"src":"443:21:127","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":73853,"name":"string","nodeType":"ElementaryTypeName","src":"443:6:127","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":73856,"mutability":"mutable","name":"decimals_","nameLocation":"472:9:127","nodeType":"VariableDeclaration","scope":73872,"src":"466:15:127","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":73855,"name":"uint8","nodeType":"ElementaryTypeName","src":"466:5:127","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"421:61:127"},"returnParameters":{"id":73858,"nodeType":"ParameterList","parameters":[],"src":"483:0:127"},"scope":74060,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":73881,"nodeType":"FunctionDefinition","src":"577:98:127","nodes":[],"body":{"id":73880,"nodeType":"Block","src":"646:29:127","nodes":[],"statements":[{"expression":{"id":73878,"name":"_name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73846,"src":"663:5:127","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"functionReturnParameters":73877,"id":73879,"nodeType":"Return","src":"656:12:127"}]},"baseFunctions":[4167],"functionSelector":"06fdde03","implemented":true,"kind":"function","modifiers":[],"name":"name","nameLocation":"586:4:127","overrides":{"id":73874,"nodeType":"OverrideSpecifier","overrides":[],"src":"613:8:127"},"parameters":{"id":73873,"nodeType":"ParameterList","parameters":[],"src":"590:2:127"},"returnParameters":{"id":73877,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73876,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":73881,"src":"631:13:127","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":73875,"name":"string","nodeType":"ElementaryTypeName","src":"631:6:127","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"630:15:127"},"scope":74060,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":73890,"nodeType":"FunctionDefinition","src":"681:102:127","nodes":[],"body":{"id":73889,"nodeType":"Block","src":"752:31:127","nodes":[],"statements":[{"expression":{"id":73887,"name":"_symbol","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73848,"src":"769:7:127","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"functionReturnParameters":73886,"id":73888,"nodeType":"Return","src":"762:14:127"}]},"baseFunctions":[4173],"functionSelector":"95d89b41","implemented":true,"kind":"function","modifiers":[],"name":"symbol","nameLocation":"690:6:127","overrides":{"id":73883,"nodeType":"OverrideSpecifier","overrides":[],"src":"719:8:127"},"parameters":{"id":73882,"nodeType":"ParameterList","parameters":[],"src":"696:2:127"},"returnParameters":{"id":73886,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73885,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":73890,"src":"737:13:127","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":73884,"name":"string","nodeType":"ElementaryTypeName","src":"737:6:127","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"736:15:127"},"scope":74060,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":73899,"nodeType":"FunctionDefinition","src":"789:98:127","nodes":[],"body":{"id":73898,"nodeType":"Block","src":"854:33:127","nodes":[],"statements":[{"expression":{"id":73896,"name":"_decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73850,"src":"871:9:127","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"functionReturnParameters":73895,"id":73897,"nodeType":"Return","src":"864:16:127"}]},"baseFunctions":[4182],"functionSelector":"313ce567","implemented":true,"kind":"function","modifiers":[],"name":"decimals","nameLocation":"798:8:127","overrides":{"id":73892,"nodeType":"OverrideSpecifier","overrides":[],"src":"829:8:127"},"parameters":{"id":73891,"nodeType":"ParameterList","parameters":[],"src":"806:2:127"},"returnParameters":{"id":73895,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73894,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":73899,"src":"847:5:127","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":73893,"name":"uint8","nodeType":"ElementaryTypeName","src":"847:5:127","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"846:7:127"},"scope":74060,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":73914,"nodeType":"FunctionDefinition","src":"893:102:127","nodes":[],"body":{"id":73913,"nodeType":"Block","src":"949:46:127","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":73908,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73901,"src":"977:2:127","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":73907,"name":"_brutalized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74059,"src":"965:11:127","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_address_$","typeString":"function (address) view returns (address)"}},"id":73909,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"965:15:127","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":73910,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73903,"src":"982:5:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":73906,"name":"_mint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4392,"src":"959:5:127","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":73911,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"959:29:127","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73912,"nodeType":"ExpressionStatement","src":"959:29:127"}]},"functionSelector":"40c10f19","implemented":true,"kind":"function","modifiers":[],"name":"mint","nameLocation":"902:4:127","parameters":{"id":73904,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73901,"mutability":"mutable","name":"to","nameLocation":"915:2:127","nodeType":"VariableDeclaration","scope":73914,"src":"907:10:127","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73900,"name":"address","nodeType":"ElementaryTypeName","src":"907:7:127","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":73903,"mutability":"mutable","name":"value","nameLocation":"927:5:127","nodeType":"VariableDeclaration","scope":73914,"src":"919:13:127","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73902,"name":"uint256","nodeType":"ElementaryTypeName","src":"919:7:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"906:27:127"},"returnParameters":{"id":73905,"nodeType":"ParameterList","parameters":[],"src":"949:0:127"},"scope":74060,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":73929,"nodeType":"FunctionDefinition","src":"1001:106:127","nodes":[],"body":{"id":73928,"nodeType":"Block","src":"1059:48:127","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":73923,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73916,"src":"1087:4:127","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":73922,"name":"_brutalized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74059,"src":"1075:11:127","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_address_$","typeString":"function (address) view returns (address)"}},"id":73924,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1075:17:127","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":73925,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73918,"src":"1094:5:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":73921,"name":"_burn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4420,"src":"1069:5:127","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":73926,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1069:31:127","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73927,"nodeType":"ExpressionStatement","src":"1069:31:127"}]},"functionSelector":"9dc29fac","implemented":true,"kind":"function","modifiers":[],"name":"burn","nameLocation":"1010:4:127","parameters":{"id":73919,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73916,"mutability":"mutable","name":"from","nameLocation":"1023:4:127","nodeType":"VariableDeclaration","scope":73929,"src":"1015:12:127","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73915,"name":"address","nodeType":"ElementaryTypeName","src":"1015:7:127","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":73918,"mutability":"mutable","name":"value","nameLocation":"1037:5:127","nodeType":"VariableDeclaration","scope":73929,"src":"1029:13:127","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73917,"name":"uint256","nodeType":"ElementaryTypeName","src":"1029:7:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1014:29:127"},"returnParameters":{"id":73920,"nodeType":"ParameterList","parameters":[],"src":"1059:0:127"},"scope":74060,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":73949,"nodeType":"FunctionDefinition","src":"1113:151:127","nodes":[],"body":{"id":73948,"nodeType":"Block","src":"1194:70:127","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":73940,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73931,"src":"1226:4:127","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":73939,"name":"_brutalized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74059,"src":"1214:11:127","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_address_$","typeString":"function (address) view returns (address)"}},"id":73941,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1214:17:127","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":73943,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73933,"src":"1245:2:127","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":73942,"name":"_brutalized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74059,"src":"1233:11:127","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_address_$","typeString":"function (address) view returns (address)"}},"id":73944,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1233:15:127","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":73945,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73935,"src":"1250:6:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":73938,"name":"_transfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4444,"src":"1204:9:127","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":73946,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1204:53:127","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73947,"nodeType":"ExpressionStatement","src":"1204:53:127"}]},"functionSelector":"f83d1791","implemented":true,"kind":"function","modifiers":[],"name":"directTransfer","nameLocation":"1122:14:127","parameters":{"id":73936,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73931,"mutability":"mutable","name":"from","nameLocation":"1145:4:127","nodeType":"VariableDeclaration","scope":73949,"src":"1137:12:127","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73930,"name":"address","nodeType":"ElementaryTypeName","src":"1137:7:127","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":73933,"mutability":"mutable","name":"to","nameLocation":"1159:2:127","nodeType":"VariableDeclaration","scope":73949,"src":"1151:10:127","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73932,"name":"address","nodeType":"ElementaryTypeName","src":"1151:7:127","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":73935,"mutability":"mutable","name":"amount","nameLocation":"1171:6:127","nodeType":"VariableDeclaration","scope":73949,"src":"1163:14:127","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73934,"name":"uint256","nodeType":"ElementaryTypeName","src":"1163:7:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1136:42:127"},"returnParameters":{"id":73937,"nodeType":"ParameterList","parameters":[],"src":"1194:0:127"},"scope":74060,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":73969,"nodeType":"FunctionDefinition","src":"1270:175:127","nodes":[],"body":{"id":73968,"nodeType":"Block","src":"1363:82:127","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":73960,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73951,"src":"1401:5:127","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":73959,"name":"_brutalized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74059,"src":"1389:11:127","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_address_$","typeString":"function (address) view returns (address)"}},"id":73961,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1389:18:127","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":73963,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73953,"src":"1421:7:127","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":73962,"name":"_brutalized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74059,"src":"1409:11:127","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_address_$","typeString":"function (address) view returns (address)"}},"id":73964,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1409:20:127","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":73965,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73955,"src":"1431:6:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":73958,"name":"_spendAllowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4456,"src":"1373:15:127","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":73966,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1373:65:127","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73967,"nodeType":"ExpressionStatement","src":"1373:65:127"}]},"functionSelector":"d30ed3b3","implemented":true,"kind":"function","modifiers":[],"name":"directSpendAllowance","nameLocation":"1279:20:127","parameters":{"id":73956,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73951,"mutability":"mutable","name":"owner","nameLocation":"1308:5:127","nodeType":"VariableDeclaration","scope":73969,"src":"1300:13:127","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73950,"name":"address","nodeType":"ElementaryTypeName","src":"1300:7:127","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":73953,"mutability":"mutable","name":"spender","nameLocation":"1323:7:127","nodeType":"VariableDeclaration","scope":73969,"src":"1315:15:127","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73952,"name":"address","nodeType":"ElementaryTypeName","src":"1315:7:127","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":73955,"mutability":"mutable","name":"amount","nameLocation":"1340:6:127","nodeType":"VariableDeclaration","scope":73969,"src":"1332:14:127","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73954,"name":"uint256","nodeType":"ElementaryTypeName","src":"1332:7:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1299:48:127"},"returnParameters":{"id":73957,"nodeType":"ParameterList","parameters":[],"src":"1363:0:127"},"scope":74060,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":73988,"nodeType":"FunctionDefinition","src":"1451:148:127","nodes":[],"body":{"id":73987,"nodeType":"Block","src":"1536:63:127","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":73982,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73971,"src":"1580:2:127","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":73981,"name":"_brutalized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74059,"src":"1568:11:127","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_address_$","typeString":"function (address) view returns (address)"}},"id":73983,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1568:15:127","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":73984,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73973,"src":"1585:6:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":73979,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"1553:5:127","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_GV2ERC20_$74060_$","typeString":"type(contract super GV2ERC20)"}},"id":73980,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1559:8:127","memberName":"transfer","nodeType":"MemberAccess","referencedDeclaration":4282,"src":"1553:14:127","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) returns (bool)"}},"id":73985,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1553:39:127","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":73978,"id":73986,"nodeType":"Return","src":"1546:46:127"}]},"baseFunctions":[4282],"functionSelector":"a9059cbb","implemented":true,"kind":"function","modifiers":[],"name":"transfer","nameLocation":"1460:8:127","overrides":{"id":73975,"nodeType":"OverrideSpecifier","overrides":[],"src":"1512:8:127"},"parameters":{"id":73974,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73971,"mutability":"mutable","name":"to","nameLocation":"1477:2:127","nodeType":"VariableDeclaration","scope":73988,"src":"1469:10:127","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73970,"name":"address","nodeType":"ElementaryTypeName","src":"1469:7:127","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":73973,"mutability":"mutable","name":"amount","nameLocation":"1489:6:127","nodeType":"VariableDeclaration","scope":73988,"src":"1481:14:127","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73972,"name":"uint256","nodeType":"ElementaryTypeName","src":"1481:7:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1468:28:127"},"returnParameters":{"id":73978,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73977,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":73988,"src":"1530:4:127","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":73976,"name":"bool","nodeType":"ElementaryTypeName","src":"1530:4:127","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1529:6:127"},"scope":74060,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":74012,"nodeType":"FunctionDefinition","src":"1605:189:127","nodes":[],"body":{"id":74011,"nodeType":"Block","src":"1708:86:127","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":74003,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73990,"src":"1756:4:127","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":74002,"name":"_brutalized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74059,"src":"1744:11:127","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_address_$","typeString":"function (address) view returns (address)"}},"id":74004,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1744:17:127","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":74006,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73992,"src":"1775:2:127","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":74005,"name":"_brutalized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74059,"src":"1763:11:127","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_address_$","typeString":"function (address) view returns (address)"}},"id":74007,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1763:15:127","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":74008,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73994,"src":"1780:6:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":74000,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"1725:5:127","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_GV2ERC20_$74060_$","typeString":"type(contract super GV2ERC20)"}},"id":74001,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1731:12:127","memberName":"transferFrom","nodeType":"MemberAccess","referencedDeclaration":4310,"src":"1725:18:127","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,address,uint256) returns (bool)"}},"id":74009,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1725:62:127","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":73999,"id":74010,"nodeType":"Return","src":"1718:69:127"}]},"baseFunctions":[4310],"functionSelector":"23b872dd","implemented":true,"kind":"function","modifiers":[],"name":"transferFrom","nameLocation":"1614:12:127","overrides":{"id":73996,"nodeType":"OverrideSpecifier","overrides":[],"src":"1684:8:127"},"parameters":{"id":73995,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73990,"mutability":"mutable","name":"from","nameLocation":"1635:4:127","nodeType":"VariableDeclaration","scope":74012,"src":"1627:12:127","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73989,"name":"address","nodeType":"ElementaryTypeName","src":"1627:7:127","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":73992,"mutability":"mutable","name":"to","nameLocation":"1649:2:127","nodeType":"VariableDeclaration","scope":74012,"src":"1641:10:127","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73991,"name":"address","nodeType":"ElementaryTypeName","src":"1641:7:127","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":73994,"mutability":"mutable","name":"amount","nameLocation":"1661:6:127","nodeType":"VariableDeclaration","scope":74012,"src":"1653:14:127","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73993,"name":"uint256","nodeType":"ElementaryTypeName","src":"1653:7:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1626:42:127"},"returnParameters":{"id":73999,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73998,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":74012,"src":"1702:4:127","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":73997,"name":"bool","nodeType":"ElementaryTypeName","src":"1702:4:127","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1701:6:127"},"scope":74060,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":74031,"nodeType":"FunctionDefinition","src":"1800:184:127","nodes":[],"body":{"id":74030,"nodeType":"Block","src":"1903:81:127","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":74025,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74014,"src":"1956:7:127","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":74024,"name":"_brutalized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74059,"src":"1944:11:127","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_address_$","typeString":"function (address) view returns (address)"}},"id":74026,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1944:20:127","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":74027,"name":"difference","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74016,"src":"1966:10:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":74022,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"1920:5:127","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_GV2ERC20_$74060_$","typeString":"type(contract super GV2ERC20)"}},"id":74023,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1926:17:127","memberName":"increaseAllowance","nodeType":"MemberAccess","referencedDeclaration":4240,"src":"1920:23:127","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) returns (bool)"}},"id":74028,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1920:57:127","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":74021,"id":74029,"nodeType":"Return","src":"1913:64:127"}]},"baseFunctions":[4240],"functionSelector":"39509351","implemented":true,"kind":"function","modifiers":[],"name":"increaseAllowance","nameLocation":"1809:17:127","overrides":{"id":74018,"nodeType":"OverrideSpecifier","overrides":[],"src":"1879:8:127"},"parameters":{"id":74017,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74014,"mutability":"mutable","name":"spender","nameLocation":"1835:7:127","nodeType":"VariableDeclaration","scope":74031,"src":"1827:15:127","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74013,"name":"address","nodeType":"ElementaryTypeName","src":"1827:7:127","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":74016,"mutability":"mutable","name":"difference","nameLocation":"1852:10:127","nodeType":"VariableDeclaration","scope":74031,"src":"1844:18:127","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74015,"name":"uint256","nodeType":"ElementaryTypeName","src":"1844:7:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1826:37:127"},"returnParameters":{"id":74021,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74020,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":74031,"src":"1897:4:127","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":74019,"name":"bool","nodeType":"ElementaryTypeName","src":"1897:4:127","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1896:6:127"},"scope":74060,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":74050,"nodeType":"FunctionDefinition","src":"1990:184:127","nodes":[],"body":{"id":74049,"nodeType":"Block","src":"2093:81:127","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":74044,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74033,"src":"2146:7:127","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":74043,"name":"_brutalized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74059,"src":"2134:11:127","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_address_$","typeString":"function (address) view returns (address)"}},"id":74045,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2134:20:127","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":74046,"name":"difference","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74035,"src":"2156:10:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":74041,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"2110:5:127","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_GV2ERC20_$74060_$","typeString":"type(contract super GV2ERC20)"}},"id":74042,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2116:17:127","memberName":"decreaseAllowance","nodeType":"MemberAccess","referencedDeclaration":4254,"src":"2110:23:127","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) returns (bool)"}},"id":74047,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2110:57:127","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":74040,"id":74048,"nodeType":"Return","src":"2103:64:127"}]},"baseFunctions":[4254],"functionSelector":"a457c2d7","implemented":true,"kind":"function","modifiers":[],"name":"decreaseAllowance","nameLocation":"1999:17:127","overrides":{"id":74037,"nodeType":"OverrideSpecifier","overrides":[],"src":"2069:8:127"},"parameters":{"id":74036,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74033,"mutability":"mutable","name":"spender","nameLocation":"2025:7:127","nodeType":"VariableDeclaration","scope":74050,"src":"2017:15:127","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74032,"name":"address","nodeType":"ElementaryTypeName","src":"2017:7:127","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":74035,"mutability":"mutable","name":"difference","nameLocation":"2042:10:127","nodeType":"VariableDeclaration","scope":74050,"src":"2034:18:127","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74034,"name":"uint256","nodeType":"ElementaryTypeName","src":"2034:7:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2016:37:127"},"returnParameters":{"id":74040,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74039,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":74050,"src":"2087:4:127","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":74038,"name":"bool","nodeType":"ElementaryTypeName","src":"2087:4:127","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"2086:6:127"},"scope":74060,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":74059,"nodeType":"FunctionDefinition","src":"2180:195:127","nodes":[],"body":{"id":74058,"nodeType":"Block","src":"2251:124:127","nodes":[],"statements":[{"AST":{"nodeType":"YulBlock","src":"2313:56:127","statements":[{"nodeType":"YulAssignment","src":"2327:32:127","value":{"arguments":[{"name":"a","nodeType":"YulIdentifier","src":"2340:1:127"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2347:3:127","type":"","value":"160"},{"arguments":[],"functionName":{"name":"gas","nodeType":"YulIdentifier","src":"2352:3:127"},"nodeType":"YulFunctionCall","src":"2352:5:127"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"2343:3:127"},"nodeType":"YulFunctionCall","src":"2343:15:127"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"2337:2:127"},"nodeType":"YulFunctionCall","src":"2337:22:127"},"variableNames":[{"name":"result","nodeType":"YulIdentifier","src":"2327:6:127"}]}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"paris","externalReferences":[{"declaration":74052,"isOffset":false,"isSlot":false,"src":"2340:1:127","valueSize":1},{"declaration":74055,"isOffset":false,"isSlot":false,"src":"2327:6:127","valueSize":1}],"id":74057,"nodeType":"InlineAssembly","src":"2304:65:127"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_brutalized","nameLocation":"2189:11:127","parameters":{"id":74053,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74052,"mutability":"mutable","name":"a","nameLocation":"2209:1:127","nodeType":"VariableDeclaration","scope":74059,"src":"2201:9:127","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74051,"name":"address","nodeType":"ElementaryTypeName","src":"2201:7:127","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2200:11:127"},"returnParameters":{"id":74056,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74055,"mutability":"mutable","name":"result","nameLocation":"2243:6:127","nodeType":"VariableDeclaration","scope":74059,"src":"2235:14:127","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74054,"name":"address","nodeType":"ElementaryTypeName","src":"2235:7:127","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2234:16:127"},"scope":74060,"stateMutability":"view","virtual":false,"visibility":"internal"}],"abstract":false,"baseContracts":[{"baseName":{"id":73843,"name":"ERC20","nameLocations":["311:5:127"],"nodeType":"IdentifierPath","referencedDeclaration":4491,"src":"311:5:127"},"id":73844,"nodeType":"InheritanceSpecifier","src":"311:5:127"}],"canonicalName":"GV2ERC20","contractDependencies":[],"contractKind":"contract","documentation":{"id":73842,"nodeType":"StructuredDocumentation","src":"120:170:127","text":"@dev WARNING! This mock is strictly intended for testing purposes only.\n Do NOT copy anything here into production code unless you really know what you are doing."},"fullyImplemented":true,"linearizedBaseContracts":[74060,4491],"name":"GV2ERC20","nameLocation":"299:8:127","scope":74061,"usedErrors":[4101,4104,4107,4110,4113,4116,4119]}],"license":"AGPL-3.0-only"},"id":127} \ No newline at end of file +{"abi":[{"type":"constructor","inputs":[{"name":"name_","type":"string","internalType":"string"},{"name":"symbol_","type":"string","internalType":"string"},{"name":"decimals_","type":"uint8","internalType":"uint8"}],"stateMutability":"nonpayable"},{"type":"function","name":"DOMAIN_SEPARATOR","inputs":[],"outputs":[{"name":"result","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"allowance","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"spender","type":"address","internalType":"address"}],"outputs":[{"name":"result","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"approve","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"balanceOf","inputs":[{"name":"owner","type":"address","internalType":"address"}],"outputs":[{"name":"result","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"burn","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"decimals","inputs":[],"outputs":[{"name":"","type":"uint8","internalType":"uint8"}],"stateMutability":"view"},{"type":"function","name":"decreaseAllowance","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"difference","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"directSpendAllowance","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"spender","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"directTransfer","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"increaseAllowance","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"difference","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"mint","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"name","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"nonces","inputs":[{"name":"owner","type":"address","internalType":"address"}],"outputs":[{"name":"result","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"permit","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"spender","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"},{"name":"deadline","type":"uint256","internalType":"uint256"},{"name":"v","type":"uint8","internalType":"uint8"},{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"s","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"symbol","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"totalSupply","inputs":[],"outputs":[{"name":"result","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"transfer","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"transferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"event","name":"Approval","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"spender","type":"address","indexed":true,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Transfer","inputs":[{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"to","type":"address","indexed":true,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"error","name":"AllowanceOverflow","inputs":[]},{"type":"error","name":"AllowanceUnderflow","inputs":[]},{"type":"error","name":"InsufficientAllowance","inputs":[]},{"type":"error","name":"InsufficientBalance","inputs":[]},{"type":"error","name":"InvalidPermit","inputs":[]},{"type":"error","name":"PermitExpired","inputs":[]},{"type":"error","name":"TotalSupplyOverflow","inputs":[]}],"bytecode":{"object":"0x60806040523480156200001157600080fd5b5060405162000f8a38038062000f8a833981016040819052620000349162000134565b600062000042848262000248565b50600162000051838262000248565b506002805460ff191660ff9290921691909117905550620003149050565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126200009757600080fd5b81516001600160401b0380821115620000b457620000b46200006f565b604051601f8301601f19908116603f01168101908282118183101715620000df57620000df6200006f565b81604052838152602092508683858801011115620000fc57600080fd5b600091505b8382101562000120578582018301518183018401529082019062000101565b600093810190920192909252949350505050565b6000806000606084860312156200014a57600080fd5b83516001600160401b03808211156200016257600080fd5b620001708783880162000085565b945060208601519150808211156200018757600080fd5b50620001968682870162000085565b925050604084015160ff81168114620001ae57600080fd5b809150509250925092565b600181811c90821680620001ce57607f821691505b602082108103620001ef57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200024357600081815260208120601f850160051c810160208610156200021e5750805b601f850160051c820191505b818110156200023f578281556001016200022a565b5050505b505050565b81516001600160401b038111156200026457620002646200006f565b6200027c81620002758454620001b9565b84620001f5565b602080601f831160018114620002b457600084156200029b5750858301515b600019600386901b1c1916600185901b1785556200023f565b600085815260208120601f198616915b82811015620002e557888601518255948401946001909101908401620002c4565b5085821015620003045787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b610c6680620003246000396000f3fe608060405234801561001057600080fd5b50600436106101365760003560e01c80637ecebe00116100b2578063a9059cbb11610081578063d505accf11610066578063d505accf1461028e578063dd62ed3e146102a1578063f83d1791146102ca57600080fd5b8063a9059cbb14610268578063d30ed3b31461027b57600080fd5b80637ecebe001461021457806395d89b411461023a5780639dc29fac14610242578063a457c2d71461025557600080fd5b8063313ce5671161010957806339509351116100ee57806339509351146101c657806340c10f19146101d957806370a08231146101ee57600080fd5b8063313ce567146101a95780633644e515146101be57600080fd5b806306fdde031461013b578063095ea7b31461015957806318160ddd1461017c57806323b872dd14610196575b600080fd5b6101436102dd565b6040516101509190610a3f565b60405180910390f35b61016c610167366004610ab6565b61036f565b6040519015158152602001610150565b6805345cdf77eb68f44c545b604051908152602001610150565b61016c6101a4366004610ae0565b6103c2565b60025460405160ff9091168152602001610150565b6101886103e7565b61016c6101d4366004610ab6565b61045d565b6101ec6101e7366004610ab6565b610478565b005b6101886101fc366004610b1c565b6387a211a2600c908152600091909152602090205490565b610188610222366004610b1c565b6338377508600c908152600091909152602090205490565b61014361048e565b6101ec610250366004610ab6565b61049d565b61016c610263366004610ab6565b6104af565b61016c610276366004610ab6565b6104c3565b6101ec610289366004610ae0565b6104d7565b6101ec61029c366004610b37565b6104f7565b6101886102af366004610baa565b602052637f5e9f20600c908152600091909152603490205490565b6101ec6102d8366004610ae0565b610636565b6060600080546102ec90610bdd565b80601f016020809104026020016040519081016040528092919081815260200182805461031890610bdd565b80156103655780601f1061033a57610100808354040283529160200191610365565b820191906000526020600020905b81548152906001019060200180831161034857829003601f168201915b5050505050905090565b600082602052637f5e9f20600c5233600052816034600c205581600052602c5160601c337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560206000a350600192915050565b60006103df6103d085610651565b6103d985610651565b84610660565b949350505050565b60405160006103f46102dd565b80516020918201207f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f845290830152507fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6604082015246606082015230608082015260a0902090565b600061047161046b84610651565b8361071e565b9392505050565b61048a61048483610651565b82610790565b5050565b6060600180546102ec90610bdd565b61048a6104a983610651565b8261080f565b60006104716104bd84610651565b83610893565b60006104716104d184610651565b83610906565b6104f26104e384610651565b6104ec84610651565b83610981565b505050565b60006105016103e7565b90506040518542111561051c57631a15a3cc6000526004601cfd5b8860601b60601c98508760601b60601c97506338377508600c52886000526020600c2080546001810182557f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c983528a602084015289604084015288606084015280608084015250508560a08201526119016000528160205260c081206040526042601e206000528460ff1660205283604052826060526020806080600060015afa50883d51146105d45763ddafbaef6000526004601cfd5b777f5e9f20000000000000000000000000000000000000000088176040526034602c2087905587897f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925602060608501a360405250506000606052505050505050565b6104f261064284610651565b61064b84610651565b836109c4565b60005a60a01b82179050919050565b60008360601b33602052637f5e9f208117600c526034600c20805460001981146106a0578085111561069a576313be252b6000526004601cfd5b84810382555b50506387a211a28117600c526020600c208054808511156106c95763f4d678b86000526004601cfd5b84810382555050836000526020600c208381540181555082602052600c5160601c8160601c7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a3505060019392505050565b600082602052637f5e9f20600c52336000526034600c208054838101818110156107505763f90670666000526004601cfd5b80835580600052505050602c5160601c337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560206000a350600192915050565b6805345cdf77eb68f44c54818101818110156107b45763e5cfe9576000526004601cfd5b806805345cdf77eb68f44c5550506387a211a2600c52816000526020600c208181540181555080602052600c5160601c60007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a35050565b6387a211a2600c52816000526020600c208054808311156108385763f4d678b86000526004601cfd5b82900390556805345cdf77eb68f44c80548290039055600081815273ffffffffffffffffffffffffffffffffffffffff83167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602083a35050565b600082602052637f5e9f20600c52336000526034600c208054838110156108c257638301ab386000526004601cfd5b8381039050808255806000525050602c5160601c337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560206000a350600192915050565b60006387a211a2600c52336000526020600c208054808411156109315763f4d678b86000526004601cfd5b83810382555050826000526020600c208281540181555081602052600c5160601c337fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a350600192915050565b81602052637f5e9f20600c52826000526034600c20805460001981146109bd57808311156109b7576313be252b6000526004601cfd5b82810382555b5050505050565b8260601b6387a211a28117600c526020600c208054808411156109ef5763f4d678b86000526004601cfd5b83810382555050826000526020600c208281540181555081602052600c5160601c8160601c7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a350505050565b600060208083528351808285015260005b81811015610a6c57858101830151858201604001528201610a50565b506000604082860101526040601f19601f8301168501019250505092915050565b803573ffffffffffffffffffffffffffffffffffffffff81168114610ab157600080fd5b919050565b60008060408385031215610ac957600080fd5b610ad283610a8d565b946020939093013593505050565b600080600060608486031215610af557600080fd5b610afe84610a8d565b9250610b0c60208501610a8d565b9150604084013590509250925092565b600060208284031215610b2e57600080fd5b61047182610a8d565b600080600080600080600060e0888a031215610b5257600080fd5b610b5b88610a8d565b9650610b6960208901610a8d565b95506040880135945060608801359350608088013560ff81168114610b8d57600080fd5b9699959850939692959460a0840135945060c09093013592915050565b60008060408385031215610bbd57600080fd5b610bc683610a8d565b9150610bd460208401610a8d565b90509250929050565b600181811c90821680610bf157607f821691505b602082108103610c2a577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b5091905056fea26469706673582212206974bdcbca8e291611d104d7539729b8c88f76a45d2ac82bef6b62b0a8cac56f64736f6c63430008130033","sourceMap":"290:2087:127:-:0;;;410:161;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;493:5;:13;501:5;493;:13;:::i;:::-;-1:-1:-1;516:7:127;:17;526:7;516;:17;:::i;:::-;-1:-1:-1;543:9:127;:21;;-1:-1:-1;;543:21:127;;;;;;;;;;;;-1:-1:-1;290:2087:127;;-1:-1:-1;290:2087:127;14:127:151;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:840;200:5;253:3;246:4;238:6;234:17;230:27;220:55;;271:1;268;261:12;220:55;294:13;;-1:-1:-1;;;;;356:10:151;;;353:36;;;369:18;;:::i;:::-;444:2;438:9;412:2;498:13;;-1:-1:-1;;494:22:151;;;518:2;490:31;486:40;474:53;;;542:18;;;562:22;;;539:46;536:72;;;588:18;;:::i;:::-;628:10;624:2;617:22;663:2;655:6;648:18;685:4;675:14;;730:3;725:2;720;712:6;708:15;704:24;701:33;698:53;;;747:1;744;737:12;698:53;769:1;760:10;;779:133;793:2;790:1;787:9;779:133;;;881:14;;;877:23;;871:30;850:14;;;846:23;;839:63;804:10;;;;779:133;;;954:1;932:15;;;928:24;;;921:35;;;;936:6;146:840;-1:-1:-1;;;;146:840:151:o;991:712::-;1097:6;1105;1113;1166:2;1154:9;1145:7;1141:23;1137:32;1134:52;;;1182:1;1179;1172:12;1134:52;1209:16;;-1:-1:-1;;;;;1274:14:151;;;1271:34;;;1301:1;1298;1291:12;1271:34;1324:61;1377:7;1368:6;1357:9;1353:22;1324:61;:::i;:::-;1314:71;;1431:2;1420:9;1416:18;1410:25;1394:41;;1460:2;1450:8;1447:16;1444:36;;;1476:1;1473;1466:12;1444:36;;1499:63;1554:7;1543:8;1532:9;1528:24;1499:63;:::i;:::-;1489:73;;;1605:2;1594:9;1590:18;1584:25;1649:4;1642:5;1638:16;1631:5;1628:27;1618:55;;1669:1;1666;1659:12;1618:55;1692:5;1682:15;;;991:712;;;;;:::o;1708:380::-;1787:1;1783:12;;;;1830;;;1851:61;;1905:4;1897:6;1893:17;1883:27;;1851:61;1958:2;1950:6;1947:14;1927:18;1924:38;1921:161;;2004:10;1999:3;1995:20;1992:1;1985:31;2039:4;2036:1;2029:15;2067:4;2064:1;2057:15;1921:161;;1708:380;;;:::o;2219:545::-;2321:2;2316:3;2313:11;2310:448;;;2357:1;2382:5;2378:2;2371:17;2427:4;2423:2;2413:19;2497:2;2485:10;2481:19;2478:1;2474:27;2468:4;2464:38;2533:4;2521:10;2518:20;2515:47;;;-1:-1:-1;2556:4:151;2515:47;2611:2;2606:3;2602:12;2599:1;2595:20;2589:4;2585:31;2575:41;;2666:82;2684:2;2677:5;2674:13;2666:82;;;2729:17;;;2710:1;2699:13;2666:82;;;2670:3;;;2310:448;2219:545;;;:::o;2940:1352::-;3060:10;;-1:-1:-1;;;;;3082:30:151;;3079:56;;;3115:18;;:::i;:::-;3144:97;3234:6;3194:38;3226:4;3220:11;3194:38;:::i;:::-;3188:4;3144:97;:::i;:::-;3296:4;;3360:2;3349:14;;3377:1;3372:663;;;;4079:1;4096:6;4093:89;;;-1:-1:-1;4148:19:151;;;4142:26;4093:89;-1:-1:-1;;2897:1:151;2893:11;;;2889:24;2885:29;2875:40;2921:1;2917:11;;;2872:57;4195:81;;3342:944;;3372:663;2166:1;2159:14;;;2203:4;2190:18;;-1:-1:-1;;3408:20:151;;;3526:236;3540:7;3537:1;3534:14;3526:236;;;3629:19;;;3623:26;3608:42;;3721:27;;;;3689:1;3677:14;;;;3556:19;;3526:236;;;3530:3;3790:6;3781:7;3778:19;3775:201;;;3851:19;;;3845:26;-1:-1:-1;;3934:1:151;3930:14;;;3946:3;3926:24;3922:37;3918:42;3903:58;3888:74;;3775:201;-1:-1:-1;;;;;4022:1:151;4006:14;;;4002:22;3989:36;;-1:-1:-1;2940:1352:151:o;:::-;290:2087:127;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b50600436106101365760003560e01c80637ecebe00116100b2578063a9059cbb11610081578063d505accf11610066578063d505accf1461028e578063dd62ed3e146102a1578063f83d1791146102ca57600080fd5b8063a9059cbb14610268578063d30ed3b31461027b57600080fd5b80637ecebe001461021457806395d89b411461023a5780639dc29fac14610242578063a457c2d71461025557600080fd5b8063313ce5671161010957806339509351116100ee57806339509351146101c657806340c10f19146101d957806370a08231146101ee57600080fd5b8063313ce567146101a95780633644e515146101be57600080fd5b806306fdde031461013b578063095ea7b31461015957806318160ddd1461017c57806323b872dd14610196575b600080fd5b6101436102dd565b6040516101509190610a3f565b60405180910390f35b61016c610167366004610ab6565b61036f565b6040519015158152602001610150565b6805345cdf77eb68f44c545b604051908152602001610150565b61016c6101a4366004610ae0565b6103c2565b60025460405160ff9091168152602001610150565b6101886103e7565b61016c6101d4366004610ab6565b61045d565b6101ec6101e7366004610ab6565b610478565b005b6101886101fc366004610b1c565b6387a211a2600c908152600091909152602090205490565b610188610222366004610b1c565b6338377508600c908152600091909152602090205490565b61014361048e565b6101ec610250366004610ab6565b61049d565b61016c610263366004610ab6565b6104af565b61016c610276366004610ab6565b6104c3565b6101ec610289366004610ae0565b6104d7565b6101ec61029c366004610b37565b6104f7565b6101886102af366004610baa565b602052637f5e9f20600c908152600091909152603490205490565b6101ec6102d8366004610ae0565b610636565b6060600080546102ec90610bdd565b80601f016020809104026020016040519081016040528092919081815260200182805461031890610bdd565b80156103655780601f1061033a57610100808354040283529160200191610365565b820191906000526020600020905b81548152906001019060200180831161034857829003601f168201915b5050505050905090565b600082602052637f5e9f20600c5233600052816034600c205581600052602c5160601c337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560206000a350600192915050565b60006103df6103d085610651565b6103d985610651565b84610660565b949350505050565b60405160006103f46102dd565b80516020918201207f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f845290830152507fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6604082015246606082015230608082015260a0902090565b600061047161046b84610651565b8361071e565b9392505050565b61048a61048483610651565b82610790565b5050565b6060600180546102ec90610bdd565b61048a6104a983610651565b8261080f565b60006104716104bd84610651565b83610893565b60006104716104d184610651565b83610906565b6104f26104e384610651565b6104ec84610651565b83610981565b505050565b60006105016103e7565b90506040518542111561051c57631a15a3cc6000526004601cfd5b8860601b60601c98508760601b60601c97506338377508600c52886000526020600c2080546001810182557f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c983528a602084015289604084015288606084015280608084015250508560a08201526119016000528160205260c081206040526042601e206000528460ff1660205283604052826060526020806080600060015afa50883d51146105d45763ddafbaef6000526004601cfd5b777f5e9f20000000000000000000000000000000000000000088176040526034602c2087905587897f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925602060608501a360405250506000606052505050505050565b6104f261064284610651565b61064b84610651565b836109c4565b60005a60a01b82179050919050565b60008360601b33602052637f5e9f208117600c526034600c20805460001981146106a0578085111561069a576313be252b6000526004601cfd5b84810382555b50506387a211a28117600c526020600c208054808511156106c95763f4d678b86000526004601cfd5b84810382555050836000526020600c208381540181555082602052600c5160601c8160601c7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a3505060019392505050565b600082602052637f5e9f20600c52336000526034600c208054838101818110156107505763f90670666000526004601cfd5b80835580600052505050602c5160601c337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560206000a350600192915050565b6805345cdf77eb68f44c54818101818110156107b45763e5cfe9576000526004601cfd5b806805345cdf77eb68f44c5550506387a211a2600c52816000526020600c208181540181555080602052600c5160601c60007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a35050565b6387a211a2600c52816000526020600c208054808311156108385763f4d678b86000526004601cfd5b82900390556805345cdf77eb68f44c80548290039055600081815273ffffffffffffffffffffffffffffffffffffffff83167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602083a35050565b600082602052637f5e9f20600c52336000526034600c208054838110156108c257638301ab386000526004601cfd5b8381039050808255806000525050602c5160601c337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560206000a350600192915050565b60006387a211a2600c52336000526020600c208054808411156109315763f4d678b86000526004601cfd5b83810382555050826000526020600c208281540181555081602052600c5160601c337fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a350600192915050565b81602052637f5e9f20600c52826000526034600c20805460001981146109bd57808311156109b7576313be252b6000526004601cfd5b82810382555b5050505050565b8260601b6387a211a28117600c526020600c208054808411156109ef5763f4d678b86000526004601cfd5b83810382555050826000526020600c208281540181555081602052600c5160601c8160601c7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a350505050565b600060208083528351808285015260005b81811015610a6c57858101830151858201604001528201610a50565b506000604082860101526040601f19601f8301168501019250505092915050565b803573ffffffffffffffffffffffffffffffffffffffff81168114610ab157600080fd5b919050565b60008060408385031215610ac957600080fd5b610ad283610a8d565b946020939093013593505050565b600080600060608486031215610af557600080fd5b610afe84610a8d565b9250610b0c60208501610a8d565b9150604084013590509250925092565b600060208284031215610b2e57600080fd5b61047182610a8d565b600080600080600080600060e0888a031215610b5257600080fd5b610b5b88610a8d565b9650610b6960208901610a8d565b95506040880135945060608801359350608088013560ff81168114610b8d57600080fd5b9699959850939692959460a0840135945060c09093013592915050565b60008060408385031215610bbd57600080fd5b610bc683610a8d565b9150610bd460208401610a8d565b90509250929050565b600181811c90821680610bf157607f821691505b602082108103610c2a577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b5091905056fea26469706673582212206974bdcbca8e291611d104d7539729b8c88f76a45d2ac82bef6b62b0a8cac56f64736f6c63430008130033","sourceMap":"290:2087:127:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;577:98;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5995:573:13;;;;;;:::i;:::-;;:::i;:::-;;;1192:14:151;;1185:22;1167:41;;1155:2;1140:18;5995:573:13;1027:187:151;4847:195:13;5007:18;5001:25;4847:195;;;1365:25:151;;;1353:2;1338:18;4847:195:13;1219:177:151;1605:189:127;;;;;;:::i;:::-;;:::i;789:98::-;871:9;;789:98;;871:9;;;;1876:36:151;;1864:2;1849:18;789:98:127;1734:184:151;17096:1062:13;;;:::i;1800:184:127:-;;;;;;:::i;:::-;;:::i;893:102::-;;;;;;:::i;:::-;;:::i;:::-;;5108:286:13;;;;;;:::i;:::-;5276:18;5270:4;5263:32;;;5171:14;5308:19;;;;5372:4;5356:21;;5350:28;;5108:286;13503:340;;;;;;:::i;:::-;13726:17;13720:4;13713:31;;;13563:14;13757:19;;;;13821:4;13805:21;;13799:28;;13503:340;681:102:127;;;:::i;1001:106::-;;;;;;:::i;:::-;;:::i;1990:184::-;;;;;;:::i;:::-;;:::i;1451:148::-;;;;;;:::i;:::-;;:::i;1270:175::-;;;;;;:::i;:::-;;:::i;14027:3010:13:-;;;;;;:::i;:::-;;:::i;5489:375::-;;;;;;:::i;:::-;5704:4;5697:21;5744:20;5738:4;5731:34;;;5601:14;5778:19;;;;5842:4;5826:21;;5820:28;;5489:375;1113:151:127;;;;;;:::i;:::-;;:::i;577:98::-;631:13;663:5;656:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;577:98;:::o;5995:573:13:-;6069:4;6228:7;6222:4;6215:21;6262:20;6256:4;6249:34;6309:8;6303:4;6296:22;6361:6;6354:4;6348;6338:21;6331:37;6436:6;6430:4;6423:20;6524:4;6518:11;6514:2;6510:20;6500:8;6473:25;6467:4;6461;6456:75;-1:-1:-1;6557:4:13;5995:573;;;;:::o;1605:189:127:-;1702:4;1725:62;1744:17;1756:4;1744:11;:17::i;:::-;1763:15;1775:2;1763:11;:15::i;:::-;1780:6;1725:18;:62::i;:::-;1718:69;1605:189;-1:-1:-1;;;;1605:189:127:o;17096:1062:13:-;17261:4;17255:11;17153:14;17447:6;:4;:6::i;:::-;17431:24;;;;;;;17726:66;17716:77;;17813:12;;;17806:30;-1:-1:-1;17946:66:13;17939:4;17932:12;;17925:88;18047:9;18040:4;18033:12;;18026:31;18091:9;18084:4;18077:12;;18070:31;18137:4;18124:18;;;17096:1062::o;1800:184:127:-;1897:4;1920:57;1944:20;1956:7;1944:11;:20::i;:::-;1966:10;1920:23;:57::i;:::-;1913:64;1800:184;-1:-1:-1;;;1800:184:127:o;893:102::-;959:29;965:15;977:2;965:11;:15::i;:::-;982:5;959;:29::i;:::-;893:102;;:::o;681:::-;737:13;769:7;762:14;;;;;:::i;1001:106::-;1069:31;1075:17;1087:4;1075:11;:17::i;:::-;1094:5;1069;:31::i;1990:184::-;2087:4;2110:57;2134:20;2146:7;2134:11;:20::i;:::-;2156:10;2110:23;:57::i;1451:148::-;1530:4;1553:39;1568:15;1580:2;1568:11;:15::i;:::-;1585:6;1553:14;:39::i;1270:175::-;1373:65;1389:18;1401:5;1389:11;:18::i;:::-;1409:20;1421:7;1409:11;:20::i;:::-;1431:6;1373:15;:65::i;:::-;1270:175;;;:::o;14027:3010:13:-;14226:23;14252:18;:16;:18::i;:::-;14226:44;;14406:4;14400:11;14513:8;14500:11;14497:25;14494:142;;;14554:10;14548:4;14541:24;14617:4;14611;14604:18;14494:142;14714:5;14710:2;14706:14;14702:2;14698:23;14689:32;;14761:7;14757:2;14753:16;14749:2;14745:25;14734:36;;14854:17;14848:4;14841:31;14898:5;14892:4;14885:19;14950:4;14944;14934:21;14992:9;14986:16;15103:1;15091:10;15087:18;15076:9;15069:37;15325:66;15322:1;15315:77;15426:5;15419:4;15416:1;15412:12;15405:27;15466:7;15459:4;15456:1;15452:12;15445:29;15508:5;15501:4;15498:1;15494:12;15487:27;15548:10;15541:4;15538:1;15534:12;15527:32;;;15593:8;15586:4;15583:1;15579:12;15572:30;15664:6;15661:1;15654:17;15697:15;15691:4;15684:29;15752:4;15749:1;15739:18;15733:4;15726:32;15844:4;15838;15828:21;15825:1;15818:32;15886:1;15880:4;15876:12;15870:4;15863:26;15915:1;15909:4;15902:15;15943:1;15937:4;15930:15;15998:4;15992;15986;15983:1;15980;15973:5;15962:41;15958:46;16423:5;16404:16;16398:23;16395:34;16385:159;;16462:10;16456:4;16449:24;16525:4;16519;16512:18;16385:159;16688:30;16685:43;;16679:4;16672:57;16765:4;16759;16749:21;16742:36;;;16720:7;16885:5;16858:25;-1:-1:-1;16845:4:13;16838:12;;16833:67;16920:4;16913:15;-1:-1:-1;;16990:1:13;16984:4;16977:15;-1:-1:-1;;;;;;14027:3010:13:o;1113:151:127:-;1204:53;1214:17;1226:4;1214:11;:17::i;:::-;1233:15;1245:2;1233:11;:15::i;:::-;1250:6;1204:9;:53::i;2180:195::-;2235:14;2352:5;2347:3;2343:15;2340:1;2337:22;2327:32;;2180:195;;;:::o;10886:2203:13:-;10974:4;11125;11121:2;11117:13;11218:8;11212:4;11205:22;11263:20;11256:5;11253:31;11247:4;11240:45;11335:4;11329;11319:21;11377:13;11371:20;11499:1;11495:6;11483:10;11480:22;11470:430;;11617:10;11609:6;11606:22;11603:159;;;11664:10;11658:4;11651:24;11739:4;11733;11726:18;11603:159;11878:6;11866:10;11862:23;11847:13;11840:46;11470:430;;;11996:18;11989:5;11986:29;11980:4;11973:43;12068:4;12062;12052:21;12111:15;12105:22;12201:11;12193:6;12190:23;12187:146;;;12245:10;12239:4;12232:24;12314:4;12308;12301:18;12187:146;12442:6;12429:11;12425:24;12408:15;12401:49;;;12525:2;12519:4;12512:16;12578:4;12572;12562:21;12828:6;12812:13;12806:20;12802:33;12787:13;12780:56;;12904:6;12898:4;12891:20;12998:4;12992:11;12988:2;12984:20;12976:5;12972:2;12968:14;12941:25;12935:4;12929;12924:81;;-1:-1:-1;13078:4:13;10886:2203;;;;;:::o;6700:1058::-;6788:4;6945:7;6939:4;6932:21;6979:20;6973:4;6966:34;7026:8;7020:4;7013:22;7085:4;7079;7069:21;7132:13;7126:20;7239:10;7222:15;7218:32;7322:15;7306:14;7303:35;7300:156;;;7370:10;7364:4;7357:24;7437:4;7431;7424:18;7300:156;7535:14;7520:13;7513:37;7618:14;7612:4;7605:28;;;;7714:4;7708:11;7704:2;7700:20;7690:8;7663:25;7657:4;7651;7646:75;-1:-1:-1;7747:4:13;6700:1058;;;;:::o;18562:1172::-;18783:18;18777:25;18862:6;18843:17;18839:30;18959:17;18941:16;18938:39;18935:162;;;19009:10;19003:4;18996:24;19078:4;19072;19065:18;18935:162;19184:16;19164:18;19157:44;;;19287:18;19281:4;19274:32;19332:2;19326:4;19319:16;19385:4;19379;19369:21;19501:6;19485:13;19479:20;19475:33;19460:13;19453:56;;19577:6;19571:4;19564:20;19658:4;19652:11;19648:2;19644:20;19641:1;19614:25;19608:4;19602;19597:68;893:102:127;;:::o;20140:1119:13:-;20407:18;20401:4;20394:32;20452:4;20446;20439:18;20509:4;20503;20493:21;20552:15;20546:22;20642:11;20634:6;20631:23;20628:146;;;20686:10;20680:4;20673:24;20755:4;20749;20742:18;20628:146;20866:24;;;20842:49;;21001:18;20995:25;;20991:38;;;20964:66;;-1:-1:-1;21085:20:13;;;21162:22;;;21135:25;21129:4;-1:-1:-1;21118:70:13;893:102:127;;:::o;7890:1035:13:-;7978:4;8135:7;8129:4;8122:21;8169:20;8163:4;8156:34;8216:8;8210:4;8203:22;8275:4;8269;8259:21;8322:13;8316:20;8413:10;8396:15;8393:31;8390:153;;;8456:10;8450:4;8443:24;8524:4;8518;8511:18;8390:153;8656:10;8639:15;8635:32;8613:54;;8702:14;8687:13;8680:37;8785:14;8779:4;8772:28;;;8881:4;8875:11;8871:2;8867:20;8857:8;8830:25;8824:4;8818;8813:75;-1:-1:-1;8914:4:13;7890:1035;;;;:::o;9112:1406::-;9182:4;9391:18;9385:4;9378:32;9436:8;9430:4;9423:22;9497:4;9491;9481:21;9540:15;9534:22;9630:11;9622:6;9619:23;9616:146;;;9674:10;9668:4;9661:24;9743:4;9737;9730:18;9616:146;9871:6;9858:11;9854:24;9837:15;9830:49;;;9954:2;9948:4;9941:16;10007:4;10001;9991:21;10257:6;10241:13;10235:20;10231:33;10216:13;10209:56;;10333:6;10327:4;10320:20;10421:4;10415:11;10411:2;10407:20;10397:8;10370:25;10364:4;10358;10353:75;-1:-1:-1;10507:4:13;9112:1406;;;;:::o;23377:959::-;23618:7;23612:4;23605:21;23652:20;23646:4;23639:34;23699:5;23693:4;23686:19;23755:4;23749;23739:21;23797:13;23791:20;23919:1;23915:6;23903:10;23900:22;23890:430;;24037:10;24029:6;24026:22;24023:159;;;24084:10;24078:4;24071:24;24159:4;24153;24146:18;24023:159;24298:6;24286:10;24282:23;24267:13;24260:46;23890:430;;;23377:959;;;:::o;21607:1396::-;21830:4;21826:2;21822:13;21931:18;21924:5;21921:29;21915:4;21908:43;22003:4;21997;21987:21;22046:15;22040:22;22136:11;22128:6;22125:23;22122:146;;;22180:10;22174:4;22167:24;22249:4;22243;22236:18;22122:146;22377:6;22364:11;22360:24;22343:15;22336:49;;;22460:2;22454:4;22447:16;22513:4;22507;22497:21;22763:6;22747:13;22741:20;22737:33;22722:13;22715:56;;22839:6;22833:4;22826:20;22933:4;22927:11;22923:2;22919:20;22911:5;22907:2;22903:14;22876:25;22870:4;22864;22859:81;;1270:175:127;;;:::o;14:548:151:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:196::-;635:20;;695:42;684:54;;674:65;;664:93;;753:1;750;743:12;664:93;567:196;;;:::o;768:254::-;836:6;844;897:2;885:9;876:7;872:23;868:32;865:52;;;913:1;910;903:12;865:52;936:29;955:9;936:29;:::i;:::-;926:39;1012:2;997:18;;;;984:32;;-1:-1:-1;;;768:254:151:o;1401:328::-;1478:6;1486;1494;1547:2;1535:9;1526:7;1522:23;1518:32;1515:52;;;1563:1;1560;1553:12;1515:52;1586:29;1605:9;1586:29;:::i;:::-;1576:39;;1634:38;1668:2;1657:9;1653:18;1634:38;:::i;:::-;1624:48;;1719:2;1708:9;1704:18;1691:32;1681:42;;1401:328;;;;;:::o;2105:186::-;2164:6;2217:2;2205:9;2196:7;2192:23;2188:32;2185:52;;;2233:1;2230;2223:12;2185:52;2256:29;2275:9;2256:29;:::i;2296:693::-;2407:6;2415;2423;2431;2439;2447;2455;2508:3;2496:9;2487:7;2483:23;2479:33;2476:53;;;2525:1;2522;2515:12;2476:53;2548:29;2567:9;2548:29;:::i;:::-;2538:39;;2596:38;2630:2;2619:9;2615:18;2596:38;:::i;:::-;2586:48;;2681:2;2670:9;2666:18;2653:32;2643:42;;2732:2;2721:9;2717:18;2704:32;2694:42;;2786:3;2775:9;2771:19;2758:33;2831:4;2824:5;2820:16;2813:5;2810:27;2800:55;;2851:1;2848;2841:12;2800:55;2296:693;;;;-1:-1:-1;2296:693:151;;;;2874:5;2926:3;2911:19;;2898:33;;-1:-1:-1;2978:3:151;2963:19;;;2950:33;;2296:693;-1:-1:-1;;2296:693:151:o;2994:260::-;3062:6;3070;3123:2;3111:9;3102:7;3098:23;3094:32;3091:52;;;3139:1;3136;3129:12;3091:52;3162:29;3181:9;3162:29;:::i;:::-;3152:39;;3210:38;3244:2;3233:9;3229:18;3210:38;:::i;:::-;3200:48;;2994:260;;;;;:::o;3259:437::-;3338:1;3334:12;;;;3381;;;3402:61;;3456:4;3448:6;3444:17;3434:27;;3402:61;3509:2;3501:6;3498:14;3478:18;3475:38;3472:218;;3546:77;3543:1;3536:88;3647:4;3644:1;3637:15;3675:4;3672:1;3665:15;3472:218;;3259:437;;;:::o","linkReferences":{}},"methodIdentifiers":{"DOMAIN_SEPARATOR()":"3644e515","allowance(address,address)":"dd62ed3e","approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","burn(address,uint256)":"9dc29fac","decimals()":"313ce567","decreaseAllowance(address,uint256)":"a457c2d7","directSpendAllowance(address,address,uint256)":"d30ed3b3","directTransfer(address,address,uint256)":"f83d1791","increaseAllowance(address,uint256)":"39509351","mint(address,uint256)":"40c10f19","name()":"06fdde03","nonces(address)":"7ecebe00","permit(address,address,uint256,uint256,uint8,bytes32,bytes32)":"d505accf","symbol()":"95d89b41","totalSupply()":"18160ddd","transfer(address,uint256)":"a9059cbb","transferFrom(address,address,uint256)":"23b872dd"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name_\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"symbol_\",\"type\":\"string\"},{\"internalType\":\"uint8\",\"name\":\"decimals_\",\"type\":\"uint8\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"AllowanceOverflow\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"AllowanceUnderflow\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InsufficientAllowance\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InsufficientBalance\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidPermit\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"PermitExpired\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TotalSupplyOverflow\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"DOMAIN_SEPARATOR\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"result\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"result\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"result\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"burn\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"difference\",\"type\":\"uint256\"}],\"name\":\"decreaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"directSpendAllowance\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"directTransfer\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"difference\",\"type\":\"uint256\"}],\"name\":\"increaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"mint\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"nonces\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"result\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"name\":\"permit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"result\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"WARNING! This mock is strictly intended for testing purposes only. Do NOT copy anything here into production code unless you really know what you are doing.\",\"errors\":{\"AllowanceOverflow()\":[{\"details\":\"The allowance has overflowed.\"}],\"AllowanceUnderflow()\":[{\"details\":\"The allowance has underflowed.\"}],\"InsufficientAllowance()\":[{\"details\":\"Insufficient allowance.\"}],\"InsufficientBalance()\":[{\"details\":\"Insufficient balance.\"}],\"InvalidPermit()\":[{\"details\":\"The permit is invalid.\"}],\"PermitExpired()\":[{\"details\":\"The permit has expired.\"}],\"TotalSupplyOverflow()\":[{\"details\":\"The total supply has overflowed.\"}]},\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when `amount` tokens is approved by `owner` to be used by `spender`.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `amount` tokens is transferred from `from` to `to`.\"}},\"kind\":\"dev\",\"methods\":{\"DOMAIN_SEPARATOR()\":{\"details\":\"Returns the EIP-2612 domains separator.\"},\"allowance(address,address)\":{\"details\":\"Returns the amount of tokens that `spender` can spend on behalf of `owner`.\"},\"approve(address,uint256)\":{\"details\":\"Sets `amount` as the allowance of `spender` over the caller's tokens. Emits a {Approval} event.\"},\"balanceOf(address)\":{\"details\":\"Returns the amount of tokens owned by `owner`.\"},\"decimals()\":{\"details\":\"Returns the decimals places of the token.\"},\"decreaseAllowance(address,uint256)\":{\"details\":\"Atomically decreases the allowance granted to `spender` by the caller. Emits a {Approval} event.\"},\"increaseAllowance(address,uint256)\":{\"details\":\"Atomically increases the allowance granted to `spender` by the caller. Emits a {Approval} event.\"},\"name()\":{\"details\":\"Returns the name of the token.\"},\"nonces(address)\":{\"details\":\"Returns the current nonce for `owner`. This value is used to compute the signature for EIP-2612 permit.\"},\"permit(address,address,uint256,uint256,uint8,bytes32,bytes32)\":{\"details\":\"Sets `value` as the allowance of `spender` over the tokens of `owner`, authorized by a signed approval by `owner`. Emits a {Approval} event.\"},\"symbol()\":{\"details\":\"Returns the symbol of the token.\"},\"totalSupply()\":{\"details\":\"Returns the amount of tokens in existence.\"},\"transfer(address,uint256)\":{\"details\":\"Transfer `amount` tokens from the caller to `to`. Requirements: - `from` must at least have `amount`. Emits a {Transfer} event.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"Transfers `amount` tokens from `from` to `to`. Note: Does not update the allowance if it is the maximum uint256 value. Requirements: - `from` must at least have `amount`. - The caller must have at least `amount` of allowance to transfer the tokens of `from`. Emits a {Transfer} event.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"pkg/contracts/script/GV2ERC20.sol\":\"GV2ERC20\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1000},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":eas-proxy/=lib/allo-v2/lib/eas-proxy/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":hedgey-vesting/=lib/allo-v2/lib/hedgey-vesting/contracts/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-contracts/=lib/safe-contracts/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":superfluid-protocol-monorepo/=lib/allo-v2/lib/superfluid-protocol-monorepo/packages/solidity-semantic-money/src/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"]},\"sources\":{\"lib/allo-v2/lib/solady/src/tokens/ERC20.sol\":{\"keccak256\":\"0x264e4675697d05dfb9bbe9cc91c6bda7962d934f1e940336fd75d509b7f396c4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5856338689f03f36c057203c5085243e104b8487274432062ebf076b512edeea\",\"dweb:/ipfs/QmXrqgaWQikKkHfoBkYPxeMTJWUY5uf7kSmipNbpU35XwK\"]},\"pkg/contracts/script/GV2ERC20.sol\":{\"keccak256\":\"0xb5e57f03d152bf6607d98527bfeb5cdf7a2493f89c8c61bd0920ee0e8dddb9f4\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://f0b70e95f96d1dde0e7c85ed9cfde9aea1cd5d08d17d3c854ac546de4f4507cb\",\"dweb:/ipfs/QmSAVcKhdM1n7ArqijF44tNmbRys7x1w2jdWviewFw22hE\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"string","name":"name_","type":"string"},{"internalType":"string","name":"symbol_","type":"string"},{"internalType":"uint8","name":"decimals_","type":"uint8"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"type":"error","name":"AllowanceOverflow"},{"inputs":[],"type":"error","name":"AllowanceUnderflow"},{"inputs":[],"type":"error","name":"InsufficientAllowance"},{"inputs":[],"type":"error","name":"InsufficientBalance"},{"inputs":[],"type":"error","name":"InvalidPermit"},{"inputs":[],"type":"error","name":"PermitExpired"},{"inputs":[],"type":"error","name":"TotalSupplyOverflow"},{"inputs":[{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"address","name":"spender","type":"address","indexed":true},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false}],"type":"event","name":"Approval","anonymous":false},{"inputs":[{"internalType":"address","name":"from","type":"address","indexed":true},{"internalType":"address","name":"to","type":"address","indexed":true},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false}],"type":"event","name":"Transfer","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"DOMAIN_SEPARATOR","outputs":[{"internalType":"bytes32","name":"result","type":"bytes32"}]},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"stateMutability":"view","type":"function","name":"allowance","outputs":[{"internalType":"uint256","name":"result","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"stateMutability":"view","type":"function","name":"balanceOf","outputs":[{"internalType":"uint256","name":"result","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"burn"},{"inputs":[],"stateMutability":"view","type":"function","name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}]},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"difference","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"directSpendAllowance"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"directTransfer"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"difference","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"mint"},{"inputs":[],"stateMutability":"view","type":"function","name":"name","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"stateMutability":"view","type":"function","name":"nonces","outputs":[{"internalType":"uint256","name":"result","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"uint256","name":"deadline","type":"uint256"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"permit"},{"inputs":[],"stateMutability":"view","type":"function","name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"totalSupply","outputs":[{"internalType":"uint256","name":"result","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}]}],"devdoc":{"kind":"dev","methods":{"DOMAIN_SEPARATOR()":{"details":"Returns the EIP-2612 domains separator."},"allowance(address,address)":{"details":"Returns the amount of tokens that `spender` can spend on behalf of `owner`."},"approve(address,uint256)":{"details":"Sets `amount` as the allowance of `spender` over the caller's tokens. Emits a {Approval} event."},"balanceOf(address)":{"details":"Returns the amount of tokens owned by `owner`."},"decimals()":{"details":"Returns the decimals places of the token."},"decreaseAllowance(address,uint256)":{"details":"Atomically decreases the allowance granted to `spender` by the caller. Emits a {Approval} event."},"increaseAllowance(address,uint256)":{"details":"Atomically increases the allowance granted to `spender` by the caller. Emits a {Approval} event."},"name()":{"details":"Returns the name of the token."},"nonces(address)":{"details":"Returns the current nonce for `owner`. This value is used to compute the signature for EIP-2612 permit."},"permit(address,address,uint256,uint256,uint8,bytes32,bytes32)":{"details":"Sets `value` as the allowance of `spender` over the tokens of `owner`, authorized by a signed approval by `owner`. Emits a {Approval} event."},"symbol()":{"details":"Returns the symbol of the token."},"totalSupply()":{"details":"Returns the amount of tokens in existence."},"transfer(address,uint256)":{"details":"Transfer `amount` tokens from the caller to `to`. Requirements: - `from` must at least have `amount`. Emits a {Transfer} event."},"transferFrom(address,address,uint256)":{"details":"Transfers `amount` tokens from `from` to `to`. Note: Does not update the allowance if it is the maximum uint256 value. Requirements: - `from` must at least have `amount`. - The caller must have at least `amount` of allowance to transfer the tokens of `from`. Emits a {Transfer} event."}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","eas-proxy/=lib/allo-v2/lib/eas-proxy/contracts/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","hedgey-vesting/=lib/allo-v2/lib/hedgey-vesting/contracts/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-contracts/=lib/safe-contracts/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","superfluid-protocol-monorepo/=lib/allo-v2/lib/superfluid-protocol-monorepo/packages/solidity-semantic-money/src/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":1000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"pkg/contracts/script/GV2ERC20.sol":"GV2ERC20"},"evmVersion":"paris","libraries":{}},"sources":{"lib/allo-v2/lib/solady/src/tokens/ERC20.sol":{"keccak256":"0x264e4675697d05dfb9bbe9cc91c6bda7962d934f1e940336fd75d509b7f396c4","urls":["bzz-raw://5856338689f03f36c057203c5085243e104b8487274432062ebf076b512edeea","dweb:/ipfs/QmXrqgaWQikKkHfoBkYPxeMTJWUY5uf7kSmipNbpU35XwK"],"license":"MIT"},"pkg/contracts/script/GV2ERC20.sol":{"keccak256":"0xb5e57f03d152bf6607d98527bfeb5cdf7a2493f89c8c61bd0920ee0e8dddb9f4","urls":["bzz-raw://f0b70e95f96d1dde0e7c85ed9cfde9aea1cd5d08d17d3c854ac546de4f4507cb","dweb:/ipfs/QmSAVcKhdM1n7ArqijF44tNmbRys7x1w2jdWviewFw22hE"],"license":"AGPL-3.0-only"}},"version":1},"storageLayout":{"storage":[{"astId":73846,"contract":"pkg/contracts/script/GV2ERC20.sol:GV2ERC20","label":"_name","offset":0,"slot":"0","type":"t_string_storage"},{"astId":73848,"contract":"pkg/contracts/script/GV2ERC20.sol:GV2ERC20","label":"_symbol","offset":0,"slot":"1","type":"t_string_storage"},{"astId":73850,"contract":"pkg/contracts/script/GV2ERC20.sol:GV2ERC20","label":"_decimals","offset":0,"slot":"2","type":"t_uint8"}],"types":{"t_string_storage":{"encoding":"bytes","label":"string","numberOfBytes":"32"},"t_uint8":{"encoding":"inplace","label":"uint8","numberOfBytes":"1"}}},"ast":{"absolutePath":"pkg/contracts/script/GV2ERC20.sol","id":74061,"exportedSymbols":{"ERC20":[4491],"GV2ERC20":[74060]},"nodeType":"SourceUnit","src":"42:2336:127","nodes":[{"id":73839,"nodeType":"PragmaDirective","src":"42:24:127","nodes":[],"literals":["solidity","^","0.8",".19"]},{"id":73841,"nodeType":"ImportDirective","src":"68:50:127","nodes":[],"absolutePath":"lib/allo-v2/lib/solady/src/tokens/ERC20.sol","file":"solady/src/tokens/ERC20.sol","nameLocation":"-1:-1:-1","scope":74061,"sourceUnit":4492,"symbolAliases":[{"foreign":{"id":73840,"name":"ERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4491,"src":"76:5:127","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":74060,"nodeType":"ContractDefinition","src":"290:2087:127","nodes":[{"id":73846,"nodeType":"VariableDeclaration","src":"323:21:127","nodes":[],"constant":false,"mutability":"mutable","name":"_name","nameLocation":"339:5:127","scope":74060,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string"},"typeName":{"id":73845,"name":"string","nodeType":"ElementaryTypeName","src":"323:6:127","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"id":73848,"nodeType":"VariableDeclaration","src":"350:23:127","nodes":[],"constant":false,"mutability":"mutable","name":"_symbol","nameLocation":"366:7:127","scope":74060,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string"},"typeName":{"id":73847,"name":"string","nodeType":"ElementaryTypeName","src":"350:6:127","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"id":73850,"nodeType":"VariableDeclaration","src":"379:24:127","nodes":[],"constant":false,"mutability":"mutable","name":"_decimals","nameLocation":"394:9:127","scope":74060,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":73849,"name":"uint8","nodeType":"ElementaryTypeName","src":"379:5:127","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"id":73872,"nodeType":"FunctionDefinition","src":"410:161:127","nodes":[],"body":{"id":73871,"nodeType":"Block","src":"483:88:127","nodes":[],"statements":[{"expression":{"id":73861,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":73859,"name":"_name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73846,"src":"493:5:127","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":73860,"name":"name_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73852,"src":"501:5:127","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"493:13:127","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"id":73862,"nodeType":"ExpressionStatement","src":"493:13:127"},{"expression":{"id":73865,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":73863,"name":"_symbol","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73848,"src":"516:7:127","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":73864,"name":"symbol_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73854,"src":"526:7:127","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"516:17:127","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"id":73866,"nodeType":"ExpressionStatement","src":"516:17:127"},{"expression":{"id":73869,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":73867,"name":"_decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73850,"src":"543:9:127","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":73868,"name":"decimals_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73856,"src":"555:9:127","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"543:21:127","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":73870,"nodeType":"ExpressionStatement","src":"543:21:127"}]},"implemented":true,"kind":"constructor","modifiers":[],"name":"","nameLocation":"-1:-1:-1","parameters":{"id":73857,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73852,"mutability":"mutable","name":"name_","nameLocation":"436:5:127","nodeType":"VariableDeclaration","scope":73872,"src":"422:19:127","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":73851,"name":"string","nodeType":"ElementaryTypeName","src":"422:6:127","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":73854,"mutability":"mutable","name":"symbol_","nameLocation":"457:7:127","nodeType":"VariableDeclaration","scope":73872,"src":"443:21:127","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":73853,"name":"string","nodeType":"ElementaryTypeName","src":"443:6:127","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":73856,"mutability":"mutable","name":"decimals_","nameLocation":"472:9:127","nodeType":"VariableDeclaration","scope":73872,"src":"466:15:127","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":73855,"name":"uint8","nodeType":"ElementaryTypeName","src":"466:5:127","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"421:61:127"},"returnParameters":{"id":73858,"nodeType":"ParameterList","parameters":[],"src":"483:0:127"},"scope":74060,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":73881,"nodeType":"FunctionDefinition","src":"577:98:127","nodes":[],"body":{"id":73880,"nodeType":"Block","src":"646:29:127","nodes":[],"statements":[{"expression":{"id":73878,"name":"_name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73846,"src":"663:5:127","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"functionReturnParameters":73877,"id":73879,"nodeType":"Return","src":"656:12:127"}]},"baseFunctions":[4167],"functionSelector":"06fdde03","implemented":true,"kind":"function","modifiers":[],"name":"name","nameLocation":"586:4:127","overrides":{"id":73874,"nodeType":"OverrideSpecifier","overrides":[],"src":"613:8:127"},"parameters":{"id":73873,"nodeType":"ParameterList","parameters":[],"src":"590:2:127"},"returnParameters":{"id":73877,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73876,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":73881,"src":"631:13:127","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":73875,"name":"string","nodeType":"ElementaryTypeName","src":"631:6:127","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"630:15:127"},"scope":74060,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":73890,"nodeType":"FunctionDefinition","src":"681:102:127","nodes":[],"body":{"id":73889,"nodeType":"Block","src":"752:31:127","nodes":[],"statements":[{"expression":{"id":73887,"name":"_symbol","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73848,"src":"769:7:127","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"functionReturnParameters":73886,"id":73888,"nodeType":"Return","src":"762:14:127"}]},"baseFunctions":[4173],"functionSelector":"95d89b41","implemented":true,"kind":"function","modifiers":[],"name":"symbol","nameLocation":"690:6:127","overrides":{"id":73883,"nodeType":"OverrideSpecifier","overrides":[],"src":"719:8:127"},"parameters":{"id":73882,"nodeType":"ParameterList","parameters":[],"src":"696:2:127"},"returnParameters":{"id":73886,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73885,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":73890,"src":"737:13:127","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":73884,"name":"string","nodeType":"ElementaryTypeName","src":"737:6:127","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"736:15:127"},"scope":74060,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":73899,"nodeType":"FunctionDefinition","src":"789:98:127","nodes":[],"body":{"id":73898,"nodeType":"Block","src":"854:33:127","nodes":[],"statements":[{"expression":{"id":73896,"name":"_decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73850,"src":"871:9:127","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"functionReturnParameters":73895,"id":73897,"nodeType":"Return","src":"864:16:127"}]},"baseFunctions":[4182],"functionSelector":"313ce567","implemented":true,"kind":"function","modifiers":[],"name":"decimals","nameLocation":"798:8:127","overrides":{"id":73892,"nodeType":"OverrideSpecifier","overrides":[],"src":"829:8:127"},"parameters":{"id":73891,"nodeType":"ParameterList","parameters":[],"src":"806:2:127"},"returnParameters":{"id":73895,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73894,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":73899,"src":"847:5:127","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":73893,"name":"uint8","nodeType":"ElementaryTypeName","src":"847:5:127","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"846:7:127"},"scope":74060,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":73914,"nodeType":"FunctionDefinition","src":"893:102:127","nodes":[],"body":{"id":73913,"nodeType":"Block","src":"949:46:127","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":73908,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73901,"src":"977:2:127","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":73907,"name":"_brutalized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74059,"src":"965:11:127","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_address_$","typeString":"function (address) view returns (address)"}},"id":73909,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"965:15:127","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":73910,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73903,"src":"982:5:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":73906,"name":"_mint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4392,"src":"959:5:127","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":73911,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"959:29:127","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73912,"nodeType":"ExpressionStatement","src":"959:29:127"}]},"functionSelector":"40c10f19","implemented":true,"kind":"function","modifiers":[],"name":"mint","nameLocation":"902:4:127","parameters":{"id":73904,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73901,"mutability":"mutable","name":"to","nameLocation":"915:2:127","nodeType":"VariableDeclaration","scope":73914,"src":"907:10:127","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73900,"name":"address","nodeType":"ElementaryTypeName","src":"907:7:127","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":73903,"mutability":"mutable","name":"value","nameLocation":"927:5:127","nodeType":"VariableDeclaration","scope":73914,"src":"919:13:127","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73902,"name":"uint256","nodeType":"ElementaryTypeName","src":"919:7:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"906:27:127"},"returnParameters":{"id":73905,"nodeType":"ParameterList","parameters":[],"src":"949:0:127"},"scope":74060,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":73929,"nodeType":"FunctionDefinition","src":"1001:106:127","nodes":[],"body":{"id":73928,"nodeType":"Block","src":"1059:48:127","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":73923,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73916,"src":"1087:4:127","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":73922,"name":"_brutalized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74059,"src":"1075:11:127","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_address_$","typeString":"function (address) view returns (address)"}},"id":73924,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1075:17:127","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":73925,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73918,"src":"1094:5:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":73921,"name":"_burn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4420,"src":"1069:5:127","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":73926,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1069:31:127","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73927,"nodeType":"ExpressionStatement","src":"1069:31:127"}]},"functionSelector":"9dc29fac","implemented":true,"kind":"function","modifiers":[],"name":"burn","nameLocation":"1010:4:127","parameters":{"id":73919,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73916,"mutability":"mutable","name":"from","nameLocation":"1023:4:127","nodeType":"VariableDeclaration","scope":73929,"src":"1015:12:127","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73915,"name":"address","nodeType":"ElementaryTypeName","src":"1015:7:127","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":73918,"mutability":"mutable","name":"value","nameLocation":"1037:5:127","nodeType":"VariableDeclaration","scope":73929,"src":"1029:13:127","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73917,"name":"uint256","nodeType":"ElementaryTypeName","src":"1029:7:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1014:29:127"},"returnParameters":{"id":73920,"nodeType":"ParameterList","parameters":[],"src":"1059:0:127"},"scope":74060,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":73949,"nodeType":"FunctionDefinition","src":"1113:151:127","nodes":[],"body":{"id":73948,"nodeType":"Block","src":"1194:70:127","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":73940,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73931,"src":"1226:4:127","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":73939,"name":"_brutalized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74059,"src":"1214:11:127","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_address_$","typeString":"function (address) view returns (address)"}},"id":73941,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1214:17:127","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":73943,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73933,"src":"1245:2:127","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":73942,"name":"_brutalized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74059,"src":"1233:11:127","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_address_$","typeString":"function (address) view returns (address)"}},"id":73944,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1233:15:127","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":73945,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73935,"src":"1250:6:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":73938,"name":"_transfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4444,"src":"1204:9:127","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":73946,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1204:53:127","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73947,"nodeType":"ExpressionStatement","src":"1204:53:127"}]},"functionSelector":"f83d1791","implemented":true,"kind":"function","modifiers":[],"name":"directTransfer","nameLocation":"1122:14:127","parameters":{"id":73936,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73931,"mutability":"mutable","name":"from","nameLocation":"1145:4:127","nodeType":"VariableDeclaration","scope":73949,"src":"1137:12:127","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73930,"name":"address","nodeType":"ElementaryTypeName","src":"1137:7:127","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":73933,"mutability":"mutable","name":"to","nameLocation":"1159:2:127","nodeType":"VariableDeclaration","scope":73949,"src":"1151:10:127","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73932,"name":"address","nodeType":"ElementaryTypeName","src":"1151:7:127","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":73935,"mutability":"mutable","name":"amount","nameLocation":"1171:6:127","nodeType":"VariableDeclaration","scope":73949,"src":"1163:14:127","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73934,"name":"uint256","nodeType":"ElementaryTypeName","src":"1163:7:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1136:42:127"},"returnParameters":{"id":73937,"nodeType":"ParameterList","parameters":[],"src":"1194:0:127"},"scope":74060,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":73969,"nodeType":"FunctionDefinition","src":"1270:175:127","nodes":[],"body":{"id":73968,"nodeType":"Block","src":"1363:82:127","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":73960,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73951,"src":"1401:5:127","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":73959,"name":"_brutalized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74059,"src":"1389:11:127","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_address_$","typeString":"function (address) view returns (address)"}},"id":73961,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1389:18:127","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":73963,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73953,"src":"1421:7:127","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":73962,"name":"_brutalized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74059,"src":"1409:11:127","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_address_$","typeString":"function (address) view returns (address)"}},"id":73964,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1409:20:127","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":73965,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73955,"src":"1431:6:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":73958,"name":"_spendAllowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4456,"src":"1373:15:127","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":73966,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1373:65:127","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":73967,"nodeType":"ExpressionStatement","src":"1373:65:127"}]},"functionSelector":"d30ed3b3","implemented":true,"kind":"function","modifiers":[],"name":"directSpendAllowance","nameLocation":"1279:20:127","parameters":{"id":73956,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73951,"mutability":"mutable","name":"owner","nameLocation":"1308:5:127","nodeType":"VariableDeclaration","scope":73969,"src":"1300:13:127","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73950,"name":"address","nodeType":"ElementaryTypeName","src":"1300:7:127","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":73953,"mutability":"mutable","name":"spender","nameLocation":"1323:7:127","nodeType":"VariableDeclaration","scope":73969,"src":"1315:15:127","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73952,"name":"address","nodeType":"ElementaryTypeName","src":"1315:7:127","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":73955,"mutability":"mutable","name":"amount","nameLocation":"1340:6:127","nodeType":"VariableDeclaration","scope":73969,"src":"1332:14:127","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73954,"name":"uint256","nodeType":"ElementaryTypeName","src":"1332:7:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1299:48:127"},"returnParameters":{"id":73957,"nodeType":"ParameterList","parameters":[],"src":"1363:0:127"},"scope":74060,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":73988,"nodeType":"FunctionDefinition","src":"1451:148:127","nodes":[],"body":{"id":73987,"nodeType":"Block","src":"1536:63:127","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":73982,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73971,"src":"1580:2:127","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":73981,"name":"_brutalized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74059,"src":"1568:11:127","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_address_$","typeString":"function (address) view returns (address)"}},"id":73983,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1568:15:127","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":73984,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73973,"src":"1585:6:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":73979,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"1553:5:127","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_GV2ERC20_$74060_$","typeString":"type(contract super GV2ERC20)"}},"id":73980,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1559:8:127","memberName":"transfer","nodeType":"MemberAccess","referencedDeclaration":4282,"src":"1553:14:127","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) returns (bool)"}},"id":73985,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1553:39:127","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":73978,"id":73986,"nodeType":"Return","src":"1546:46:127"}]},"baseFunctions":[4282],"functionSelector":"a9059cbb","implemented":true,"kind":"function","modifiers":[],"name":"transfer","nameLocation":"1460:8:127","overrides":{"id":73975,"nodeType":"OverrideSpecifier","overrides":[],"src":"1512:8:127"},"parameters":{"id":73974,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73971,"mutability":"mutable","name":"to","nameLocation":"1477:2:127","nodeType":"VariableDeclaration","scope":73988,"src":"1469:10:127","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73970,"name":"address","nodeType":"ElementaryTypeName","src":"1469:7:127","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":73973,"mutability":"mutable","name":"amount","nameLocation":"1489:6:127","nodeType":"VariableDeclaration","scope":73988,"src":"1481:14:127","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73972,"name":"uint256","nodeType":"ElementaryTypeName","src":"1481:7:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1468:28:127"},"returnParameters":{"id":73978,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73977,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":73988,"src":"1530:4:127","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":73976,"name":"bool","nodeType":"ElementaryTypeName","src":"1530:4:127","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1529:6:127"},"scope":74060,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":74012,"nodeType":"FunctionDefinition","src":"1605:189:127","nodes":[],"body":{"id":74011,"nodeType":"Block","src":"1708:86:127","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":74003,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73990,"src":"1756:4:127","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":74002,"name":"_brutalized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74059,"src":"1744:11:127","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_address_$","typeString":"function (address) view returns (address)"}},"id":74004,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1744:17:127","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":74006,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73992,"src":"1775:2:127","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":74005,"name":"_brutalized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74059,"src":"1763:11:127","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_address_$","typeString":"function (address) view returns (address)"}},"id":74007,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1763:15:127","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":74008,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73994,"src":"1780:6:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":74000,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"1725:5:127","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_GV2ERC20_$74060_$","typeString":"type(contract super GV2ERC20)"}},"id":74001,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1731:12:127","memberName":"transferFrom","nodeType":"MemberAccess","referencedDeclaration":4310,"src":"1725:18:127","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,address,uint256) returns (bool)"}},"id":74009,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1725:62:127","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":73999,"id":74010,"nodeType":"Return","src":"1718:69:127"}]},"baseFunctions":[4310],"functionSelector":"23b872dd","implemented":true,"kind":"function","modifiers":[],"name":"transferFrom","nameLocation":"1614:12:127","overrides":{"id":73996,"nodeType":"OverrideSpecifier","overrides":[],"src":"1684:8:127"},"parameters":{"id":73995,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73990,"mutability":"mutable","name":"from","nameLocation":"1635:4:127","nodeType":"VariableDeclaration","scope":74012,"src":"1627:12:127","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73989,"name":"address","nodeType":"ElementaryTypeName","src":"1627:7:127","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":73992,"mutability":"mutable","name":"to","nameLocation":"1649:2:127","nodeType":"VariableDeclaration","scope":74012,"src":"1641:10:127","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73991,"name":"address","nodeType":"ElementaryTypeName","src":"1641:7:127","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":73994,"mutability":"mutable","name":"amount","nameLocation":"1661:6:127","nodeType":"VariableDeclaration","scope":74012,"src":"1653:14:127","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":73993,"name":"uint256","nodeType":"ElementaryTypeName","src":"1653:7:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1626:42:127"},"returnParameters":{"id":73999,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73998,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":74012,"src":"1702:4:127","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":73997,"name":"bool","nodeType":"ElementaryTypeName","src":"1702:4:127","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1701:6:127"},"scope":74060,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":74031,"nodeType":"FunctionDefinition","src":"1800:184:127","nodes":[],"body":{"id":74030,"nodeType":"Block","src":"1903:81:127","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":74025,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74014,"src":"1956:7:127","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":74024,"name":"_brutalized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74059,"src":"1944:11:127","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_address_$","typeString":"function (address) view returns (address)"}},"id":74026,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1944:20:127","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":74027,"name":"difference","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74016,"src":"1966:10:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":74022,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"1920:5:127","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_GV2ERC20_$74060_$","typeString":"type(contract super GV2ERC20)"}},"id":74023,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1926:17:127","memberName":"increaseAllowance","nodeType":"MemberAccess","referencedDeclaration":4240,"src":"1920:23:127","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) returns (bool)"}},"id":74028,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1920:57:127","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":74021,"id":74029,"nodeType":"Return","src":"1913:64:127"}]},"baseFunctions":[4240],"functionSelector":"39509351","implemented":true,"kind":"function","modifiers":[],"name":"increaseAllowance","nameLocation":"1809:17:127","overrides":{"id":74018,"nodeType":"OverrideSpecifier","overrides":[],"src":"1879:8:127"},"parameters":{"id":74017,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74014,"mutability":"mutable","name":"spender","nameLocation":"1835:7:127","nodeType":"VariableDeclaration","scope":74031,"src":"1827:15:127","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74013,"name":"address","nodeType":"ElementaryTypeName","src":"1827:7:127","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":74016,"mutability":"mutable","name":"difference","nameLocation":"1852:10:127","nodeType":"VariableDeclaration","scope":74031,"src":"1844:18:127","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74015,"name":"uint256","nodeType":"ElementaryTypeName","src":"1844:7:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1826:37:127"},"returnParameters":{"id":74021,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74020,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":74031,"src":"1897:4:127","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":74019,"name":"bool","nodeType":"ElementaryTypeName","src":"1897:4:127","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1896:6:127"},"scope":74060,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":74050,"nodeType":"FunctionDefinition","src":"1990:184:127","nodes":[],"body":{"id":74049,"nodeType":"Block","src":"2093:81:127","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":74044,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74033,"src":"2146:7:127","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":74043,"name":"_brutalized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74059,"src":"2134:11:127","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_address_$","typeString":"function (address) view returns (address)"}},"id":74045,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2134:20:127","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":74046,"name":"difference","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74035,"src":"2156:10:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":74041,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"2110:5:127","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_GV2ERC20_$74060_$","typeString":"type(contract super GV2ERC20)"}},"id":74042,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2116:17:127","memberName":"decreaseAllowance","nodeType":"MemberAccess","referencedDeclaration":4254,"src":"2110:23:127","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) returns (bool)"}},"id":74047,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2110:57:127","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":74040,"id":74048,"nodeType":"Return","src":"2103:64:127"}]},"baseFunctions":[4254],"functionSelector":"a457c2d7","implemented":true,"kind":"function","modifiers":[],"name":"decreaseAllowance","nameLocation":"1999:17:127","overrides":{"id":74037,"nodeType":"OverrideSpecifier","overrides":[],"src":"2069:8:127"},"parameters":{"id":74036,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74033,"mutability":"mutable","name":"spender","nameLocation":"2025:7:127","nodeType":"VariableDeclaration","scope":74050,"src":"2017:15:127","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74032,"name":"address","nodeType":"ElementaryTypeName","src":"2017:7:127","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":74035,"mutability":"mutable","name":"difference","nameLocation":"2042:10:127","nodeType":"VariableDeclaration","scope":74050,"src":"2034:18:127","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74034,"name":"uint256","nodeType":"ElementaryTypeName","src":"2034:7:127","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2016:37:127"},"returnParameters":{"id":74040,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74039,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":74050,"src":"2087:4:127","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":74038,"name":"bool","nodeType":"ElementaryTypeName","src":"2087:4:127","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"2086:6:127"},"scope":74060,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":74059,"nodeType":"FunctionDefinition","src":"2180:195:127","nodes":[],"body":{"id":74058,"nodeType":"Block","src":"2251:124:127","nodes":[],"statements":[{"AST":{"nodeType":"YulBlock","src":"2313:56:127","statements":[{"nodeType":"YulAssignment","src":"2327:32:127","value":{"arguments":[{"name":"a","nodeType":"YulIdentifier","src":"2340:1:127"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2347:3:127","type":"","value":"160"},{"arguments":[],"functionName":{"name":"gas","nodeType":"YulIdentifier","src":"2352:3:127"},"nodeType":"YulFunctionCall","src":"2352:5:127"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"2343:3:127"},"nodeType":"YulFunctionCall","src":"2343:15:127"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"2337:2:127"},"nodeType":"YulFunctionCall","src":"2337:22:127"},"variableNames":[{"name":"result","nodeType":"YulIdentifier","src":"2327:6:127"}]}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"paris","externalReferences":[{"declaration":74052,"isOffset":false,"isSlot":false,"src":"2340:1:127","valueSize":1},{"declaration":74055,"isOffset":false,"isSlot":false,"src":"2327:6:127","valueSize":1}],"id":74057,"nodeType":"InlineAssembly","src":"2304:65:127"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_brutalized","nameLocation":"2189:11:127","parameters":{"id":74053,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74052,"mutability":"mutable","name":"a","nameLocation":"2209:1:127","nodeType":"VariableDeclaration","scope":74059,"src":"2201:9:127","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74051,"name":"address","nodeType":"ElementaryTypeName","src":"2201:7:127","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2200:11:127"},"returnParameters":{"id":74056,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74055,"mutability":"mutable","name":"result","nameLocation":"2243:6:127","nodeType":"VariableDeclaration","scope":74059,"src":"2235:14:127","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74054,"name":"address","nodeType":"ElementaryTypeName","src":"2235:7:127","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2234:16:127"},"scope":74060,"stateMutability":"view","virtual":false,"visibility":"internal"}],"abstract":false,"baseContracts":[{"baseName":{"id":73843,"name":"ERC20","nameLocations":["311:5:127"],"nodeType":"IdentifierPath","referencedDeclaration":4491,"src":"311:5:127"},"id":73844,"nodeType":"InheritanceSpecifier","src":"311:5:127"}],"canonicalName":"GV2ERC20","contractDependencies":[],"contractKind":"contract","documentation":{"id":73842,"nodeType":"StructuredDocumentation","src":"120:170:127","text":"@dev WARNING! This mock is strictly intended for testing purposes only.\n Do NOT copy anything here into production code unless you really know what you are doing."},"fullyImplemented":true,"linearizedBaseContracts":[74060,4491],"name":"GV2ERC20","nameLocation":"299:8:127","scope":74061,"usedErrors":[4101,4104,4107,4110,4113,4116,4119]}],"license":"AGPL-3.0-only"},"id":127} \ No newline at end of file diff --git a/pkg/contracts/out/IAllo.sol/IAllo.json b/pkg/contracts/out/IAllo.sol/IAllo.json index 0693ce42f..eddccf41d 100644 --- a/pkg/contracts/out/IAllo.sol/IAllo.json +++ b/pkg/contracts/out/IAllo.sol/IAllo.json @@ -1 +1 @@ -{"abi":[{"type":"function","name":"addPoolManager","inputs":[{"name":"_poolId","type":"uint256","internalType":"uint256"},{"name":"_manager","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"addToCloneableStrategies","inputs":[{"name":"_strategy","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"allocate","inputs":[{"name":"_poolId","type":"uint256","internalType":"uint256"},{"name":"_data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"batchAllocate","inputs":[{"name":"_poolIds","type":"uint256[]","internalType":"uint256[]"},{"name":"_datas","type":"bytes[]","internalType":"bytes[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"batchRegisterRecipient","inputs":[{"name":"_poolIds","type":"uint256[]","internalType":"uint256[]"},{"name":"_data","type":"bytes[]","internalType":"bytes[]"}],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"distribute","inputs":[{"name":"_poolId","type":"uint256","internalType":"uint256"},{"name":"_recipientIds","type":"address[]","internalType":"address[]"},{"name":"_data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"fundPool","inputs":[{"name":"_poolId","type":"uint256","internalType":"uint256"},{"name":"_amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"getBaseFee","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getFeeDenominator","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getPercentFee","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getPool","inputs":[{"name":"_poolId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"tuple","internalType":"struct IAllo.Pool","components":[{"name":"profileId","type":"bytes32","internalType":"bytes32"},{"name":"strategy","type":"address","internalType":"contract IStrategy"},{"name":"token","type":"address","internalType":"address"},{"name":"metadata","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]},{"name":"managerRole","type":"bytes32","internalType":"bytes32"},{"name":"adminRole","type":"bytes32","internalType":"bytes32"}]}],"stateMutability":"view"},{"type":"function","name":"getRegistry","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IRegistry"}],"stateMutability":"view"},{"type":"function","name":"getStrategy","inputs":[{"name":"_poolId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getTreasury","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address payable"}],"stateMutability":"view"},{"type":"function","name":"initialize","inputs":[{"name":"_owner","type":"address","internalType":"address"},{"name":"_registry","type":"address","internalType":"address"},{"name":"_treasury","type":"address","internalType":"address payable"},{"name":"_percentFee","type":"uint256","internalType":"uint256"},{"name":"_baseFee","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"isCloneableStrategy","inputs":[{"name":"_strategy","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isPoolAdmin","inputs":[{"name":"_poolId","type":"uint256","internalType":"uint256"},{"name":"_address","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isPoolManager","inputs":[{"name":"_poolId","type":"uint256","internalType":"uint256"},{"name":"_address","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"recoverFunds","inputs":[{"name":"_token","type":"address","internalType":"address"},{"name":"_recipient","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerRecipient","inputs":[{"name":"_poolId","type":"uint256","internalType":"uint256"},{"name":"_data","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"payable"},{"type":"function","name":"removeFromCloneableStrategies","inputs":[{"name":"_strategy","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"removePoolManager","inputs":[{"name":"_poolId","type":"uint256","internalType":"uint256"},{"name":"_manager","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"updateBaseFee","inputs":[{"name":"_baseFee","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"updatePercentFee","inputs":[{"name":"_percentFee","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"updatePoolMetadata","inputs":[{"name":"_poolId","type":"uint256","internalType":"uint256"},{"name":"_metadata","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"updateRegistry","inputs":[{"name":"_registry","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"updateTreasury","inputs":[{"name":"_treasury","type":"address","internalType":"address payable"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"BaseFeePaid","inputs":[{"name":"poolId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"BaseFeeUpdated","inputs":[{"name":"baseFee","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"PercentFeeUpdated","inputs":[{"name":"percentFee","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"PoolCreated","inputs":[{"name":"poolId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"profileId","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"strategy","type":"address","indexed":false,"internalType":"contract IStrategy"},{"name":"token","type":"address","indexed":false,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"metadata","type":"tuple","indexed":false,"internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]}],"anonymous":false},{"type":"event","name":"PoolFunded","inputs":[{"name":"poolId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"fee","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"PoolMetadataUpdated","inputs":[{"name":"poolId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"metadata","type":"tuple","indexed":false,"internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]}],"anonymous":false},{"type":"event","name":"RegistryUpdated","inputs":[{"name":"registry","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"StrategyApproved","inputs":[{"name":"strategy","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"StrategyRemoved","inputs":[{"name":"strategy","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"TreasuryUpdated","inputs":[{"name":"treasury","type":"address","indexed":false,"internalType":"address"}],"anonymous":false}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"addPoolManager(uint256,address)":"2cf682b0","addToCloneableStrategies(address)":"41bba0b4","allocate(uint256,bytes)":"2ec38188","batchAllocate(uint256[],bytes[])":"c6dff1cf","batchRegisterRecipient(uint256[],bytes[])":"1a20bd88","distribute(uint256,address[],bytes)":"3a5fbd92","fundPool(uint256,uint256)":"5acd6fac","getBaseFee()":"15e812ad","getFeeDenominator()":"f4e1fc41","getPercentFee()":"4edbaadc","getPool(uint256)":"068bcd8d","getRegistry()":"5ab1bd53","getStrategy(uint256)":"cfc0cc34","getTreasury()":"3b19e84a","initialize(address,address,address,uint256,uint256)":"a6b63eb8","isCloneableStrategy(address)":"ab2ec589","isPoolAdmin(uint256,address)":"ab3febc6","isPoolManager(uint256,address)":"29e40d4b","recoverFunds(address,address)":"24ae6a27","registerRecipient(uint256,bytes)":"075c0e9c","removeFromCloneableStrategies(address)":"031e2fa1","removePoolManager(uint256,address)":"7f5a70bd","updateBaseFee(uint256)":"8e690186","updatePercentFee(uint256)":"f54fc4a0","updatePoolMetadata(uint256,(uint256,string))":"5f9ca138","updateRegistry(address)":"1a5da6c8","updateTreasury(address)":"7f51bb1f"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"BaseFeePaid\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"baseFee\",\"type\":\"uint256\"}],\"name\":\"BaseFeeUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"percentFee\",\"type\":\"uint256\"}],\"name\":\"PercentFeeUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"profileId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"contract IStrategy\",\"name\":\"strategy\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"indexed\":false,\"internalType\":\"struct Metadata\",\"name\":\"metadata\",\"type\":\"tuple\"}],\"name\":\"PoolCreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"fee\",\"type\":\"uint256\"}],\"name\":\"PoolFunded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"indexed\":false,\"internalType\":\"struct Metadata\",\"name\":\"metadata\",\"type\":\"tuple\"}],\"name\":\"PoolMetadataUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"registry\",\"type\":\"address\"}],\"name\":\"RegistryUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"strategy\",\"type\":\"address\"}],\"name\":\"StrategyApproved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"strategy\",\"type\":\"address\"}],\"name\":\"StrategyRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"treasury\",\"type\":\"address\"}],\"name\":\"TreasuryUpdated\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_poolId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_manager\",\"type\":\"address\"}],\"name\":\"addPoolManager\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"}],\"name\":\"addToCloneableStrategies\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_poolId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"}],\"name\":\"allocate\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256[]\",\"name\":\"_poolIds\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes[]\",\"name\":\"_datas\",\"type\":\"bytes[]\"}],\"name\":\"batchAllocate\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256[]\",\"name\":\"_poolIds\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes[]\",\"name\":\"_data\",\"type\":\"bytes[]\"}],\"name\":\"batchRegisterRecipient\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_poolId\",\"type\":\"uint256\"},{\"internalType\":\"address[]\",\"name\":\"_recipientIds\",\"type\":\"address[]\"},{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"}],\"name\":\"distribute\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_poolId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"fundPool\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getBaseFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getFeeDenominator\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getPercentFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_poolId\",\"type\":\"uint256\"}],\"name\":\"getPool\",\"outputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"profileId\",\"type\":\"bytes32\"},{\"internalType\":\"contract IStrategy\",\"name\":\"strategy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"metadata\",\"type\":\"tuple\"},{\"internalType\":\"bytes32\",\"name\":\"managerRole\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"adminRole\",\"type\":\"bytes32\"}],\"internalType\":\"struct IAllo.Pool\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getRegistry\",\"outputs\":[{\"internalType\":\"contract IRegistry\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_poolId\",\"type\":\"uint256\"}],\"name\":\"getStrategy\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getTreasury\",\"outputs\":[{\"internalType\":\"address payable\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_registry\",\"type\":\"address\"},{\"internalType\":\"address payable\",\"name\":\"_treasury\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_percentFee\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_baseFee\",\"type\":\"uint256\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"}],\"name\":\"isCloneableStrategy\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_poolId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_address\",\"type\":\"address\"}],\"name\":\"isPoolAdmin\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_poolId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_address\",\"type\":\"address\"}],\"name\":\"isPoolManager\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_recipient\",\"type\":\"address\"}],\"name\":\"recoverFunds\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_poolId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"}],\"name\":\"registerRecipient\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"}],\"name\":\"removeFromCloneableStrategies\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_poolId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_manager\",\"type\":\"address\"}],\"name\":\"removePoolManager\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_baseFee\",\"type\":\"uint256\"}],\"name\":\"updateBaseFee\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_percentFee\",\"type\":\"uint256\"}],\"name\":\"updatePercentFee\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_poolId\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"_metadata\",\"type\":\"tuple\"}],\"name\":\"updatePoolMetadata\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_registry\",\"type\":\"address\"}],\"name\":\"updateRegistry\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address payable\",\"name\":\"_treasury\",\"type\":\"address\"}],\"name\":\"updateTreasury\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"@thelostone-mc , @0xKurt , @codenamejason , @0xZakk , @nfrgosselin \",\"events\":{\"BaseFeePaid(uint256,uint256)\":{\"params\":{\"amount\":\"Amount of the base fee paid\",\"poolId\":\"ID of the pool the base fee was paid for\"}},\"BaseFeeUpdated(uint256)\":{\"params\":{\"baseFee\":\"New base fee amount\"}},\"PercentFeeUpdated(uint256)\":{\"params\":{\"percentFee\":\"New percentage for the fee\"}},\"PoolCreated(uint256,bytes32,address,address,uint256,(uint256,string))\":{\"params\":{\"amount\":\"Amount pool was funded with when created\",\"metadata\":\"Pool metadata\",\"poolId\":\"ID of the pool created\",\"profileId\":\"ID of the profile the pool is associated with\",\"strategy\":\"Address of the strategy contract\",\"token\":\"Address of the token pool was funded with when created\"}},\"PoolFunded(uint256,uint256,uint256)\":{\"params\":{\"amount\":\"Amount funded to the pool\",\"fee\":\"Amount of the fee paid to the treasury\",\"poolId\":\"ID of the pool funded\"}},\"PoolMetadataUpdated(uint256,(uint256,string))\":{\"params\":{\"metadata\":\"Pool metadata that was updated\",\"poolId\":\"ID of the pool updated\"}},\"RegistryUpdated(address)\":{\"params\":{\"registry\":\"Address of the new registry\"}},\"StrategyApproved(address)\":{\"params\":{\"strategy\":\"Address of the strategy approved\"}},\"StrategyRemoved(address)\":{\"params\":{\"strategy\":\"Address of the strategy removed\"}},\"TreasuryUpdated(address)\":{\"params\":{\"treasury\":\"Address of the new treasury\"}}},\"kind\":\"dev\",\"methods\":{\"addPoolManager(uint256,address)\":{\"details\":\"'msg.sender' must be a pool admin.\",\"params\":{\"_manager\":\"The address of the manager to add\",\"_poolId\":\"The ID of the pool to add the manager to\"}},\"addToCloneableStrategies(address)\":{\"details\":\"'msg.sender' must be the Allo contract owner.\",\"params\":{\"_strategy\":\"The address of the strategy to add\"}},\"allocate(uint256,bytes)\":{\"details\":\"Each strategy will handle the allocation of funds differently.\",\"params\":{\"_data\":\"The data to pass to the strategy and may be handled differently by each strategy.\",\"_poolId\":\"The ID of the pool to allocate funds from\"}},\"batchAllocate(uint256[],bytes[])\":{\"details\":\"Each strategy will handle the allocation of funds differently\"},\"batchRegisterRecipient(uint256[],bytes[])\":{\"params\":{\"_data\":\"The data to pass to the strategy and may be handled differently by each strategy\",\"_poolIds\":\"The pool ID's to register the recipients for\"}},\"distribute(uint256,address[],bytes)\":{\"details\":\"Each strategy will handle the distribution of funds differently\",\"params\":{\"_data\":\"The data to pass to the strategy and may be handled differently by each strategy\",\"_poolId\":\"The ID of the pool to distribute from\",\"_recipientIds\":\"The recipient ids to distribute to\"}},\"fundPool(uint256,uint256)\":{\"details\":\"'msg.value' must be greater than 0 if the token is the native token or '_amount' must be greater than 0 if the token is not the native token.\",\"params\":{\"_amount\":\"The amount to fund the pool with\",\"_poolId\":\"The ID of the pool to fund\"}},\"getBaseFee()\":{\"returns\":{\"_0\":\"baseFee The current base fee\"}},\"getFeeDenominator()\":{\"details\":\"1e18 represents 100%\",\"returns\":{\"_0\":\"feeDenominator The current fee denominator\"}},\"getPercentFee()\":{\"returns\":{\"_0\":\"percentFee The current percentage for the fee\"}},\"getPool(uint256)\":{\"params\":{\"_poolId\":\"The ID of the pool to check\"},\"returns\":{\"_0\":\"pool The 'Pool' struct for the ID of the pool passed in\"}},\"getRegistry()\":{\"returns\":{\"_0\":\"registry The current registry address\"}},\"getStrategy(uint256)\":{\"params\":{\"_poolId\":\"The ID of the pool to check\"},\"returns\":{\"_0\":\"strategy The address of the strategy for the ID of the pool passed in\"}},\"getTreasury()\":{\"returns\":{\"_0\":\"treasury The current treasury address\"}},\"initialize(address,address,address,uint256,uint256)\":{\"params\":{\"_baseFee\":\"Base fee amount\",\"_owner\":\"Address of the owner\",\"_percentFee\":\"Percentage for the fee\",\"_registry\":\"Address of the registry contract\",\"_treasury\":\"Address of the treasury\"}},\"isCloneableStrategy(address)\":{\"params\":{\"_strategy\":\"The address of the strategy to check\"},\"returns\":{\"_0\":\"'true' if the '_strategy' is cloneable, otherwise 'false'\"}},\"isPoolAdmin(uint256,address)\":{\"params\":{\"_address\":\"The address to check\",\"_poolId\":\"The ID of the pool to check\"},\"returns\":{\"_0\":\"'true' if the '_address' is a pool admin, otherwise 'false'\"}},\"isPoolManager(uint256,address)\":{\"params\":{\"_address\":\"The address to check\",\"_poolId\":\"The ID of the pool to check\"},\"returns\":{\"_0\":\"'true' if the '_address' is a pool manager, otherwise 'false'\"}},\"recoverFunds(address,address)\":{\"details\":\"'msg.sender' must be a pool admin.\",\"params\":{\"_recipient\":\"The address to send the recovered funds to\",\"_token\":\"The token to recover\"}},\"registerRecipient(uint256,bytes)\":{\"params\":{\"_poolId\":\"The ID of the pool to register the recipient for\"}},\"removeFromCloneableStrategies(address)\":{\"details\":\"'msg.sender' must be the Allo contract owner.\",\"params\":{\"_strategy\":\"The address of the strategy to remove\"}},\"removePoolManager(uint256,address)\":{\"details\":\"'msg.sender' must be a pool admin.\",\"params\":{\"_manager\":\"The address of the manager to remove\",\"_poolId\":\"The ID of the pool to remove the manager from\"}},\"updateBaseFee(uint256)\":{\"details\":\"'msg.sender' must be the Allo contract owner.\",\"params\":{\"_baseFee\":\"The new base fee\"}},\"updatePercentFee(uint256)\":{\"details\":\"'msg.sender' must be the Allo contract owner.\",\"params\":{\"_percentFee\":\"The new percentage for the fee\"}},\"updatePoolMetadata(uint256,(uint256,string))\":{\"details\":\"'msg.sender' must be a pool admin.\",\"params\":{\"_metadata\":\"The new metadata to set\",\"_poolId\":\"The ID of the pool to update\"}},\"updateRegistry(address)\":{\"details\":\"'msg.sender' must be the Allo contract owner.\",\"params\":{\"_registry\":\"The new registry address\"}},\"updateTreasury(address)\":{\"details\":\"'msg.sender' must be the Allo contract owner.\",\"params\":{\"_treasury\":\"The new treasury address\"}}},\"title\":\"Allo Interface\",\"version\":1},\"userdoc\":{\"events\":{\"BaseFeePaid(uint256,uint256)\":{\"notice\":\"Emitted when the base fee is paid\"},\"BaseFeeUpdated(uint256)\":{\"notice\":\"Emitted when the base fee is updated\"},\"PercentFeeUpdated(uint256)\":{\"notice\":\"Emitted when the percent fee is updated\"},\"PoolCreated(uint256,bytes32,address,address,uint256,(uint256,string))\":{\"notice\":\"Event emitted when a new pool is created\"},\"PoolFunded(uint256,uint256,uint256)\":{\"notice\":\"Emitted when a pool is funded\"},\"PoolMetadataUpdated(uint256,(uint256,string))\":{\"notice\":\"Emitted when a pools metadata is updated\"},\"RegistryUpdated(address)\":{\"notice\":\"Emitted when the registry address is updated\"},\"StrategyApproved(address)\":{\"notice\":\"Emitted when a strategy is approved and added to the cloneable strategies\"},\"StrategyRemoved(address)\":{\"notice\":\"Emitted when a strategy is removed from the cloneable strategies\"},\"TreasuryUpdated(address)\":{\"notice\":\"Emitted when the treasury address is updated\"}},\"kind\":\"user\",\"methods\":{\"addPoolManager(uint256,address)\":{\"notice\":\"Adds a pool manager to the pool.\"},\"addToCloneableStrategies(address)\":{\"notice\":\"Adds a strategy to the cloneable strategies.\"},\"allocate(uint256,bytes)\":{\"notice\":\"Allocates funds to a recipient.\"},\"batchAllocate(uint256[],bytes[])\":{\"notice\":\"Allocates funds to multiple recipients.\"},\"batchRegisterRecipient(uint256[],bytes[])\":{\"notice\":\"Registers a batch of recipients.\"},\"distribute(uint256,address[],bytes)\":{\"notice\":\"Distributes funds to recipients and emits {Distributed} event if successful\"},\"fundPool(uint256,uint256)\":{\"notice\":\"Funds a pool.\"},\"getBaseFee()\":{\"notice\":\"Returns the current base fee\"},\"getFeeDenominator()\":{\"notice\":\"Returns the current fee denominator\"},\"getPercentFee()\":{\"notice\":\"Returns the current percent fee\"},\"getPool(uint256)\":{\"notice\":\"Returns the 'Pool' struct for a given 'poolId'\"},\"getRegistry()\":{\"notice\":\"Returns the current registry address\"},\"getStrategy(uint256)\":{\"notice\":\"Returns the address of the strategy for a given 'poolId'\"},\"getTreasury()\":{\"notice\":\"Returns the current treasury address\"},\"initialize(address,address,address,uint256,uint256)\":{\"notice\":\"Initialize the Allo contract\"},\"isCloneableStrategy(address)\":{\"notice\":\"Checks if a strategy is cloneable (is in the cloneableStrategies mapping).\"},\"isPoolAdmin(uint256,address)\":{\"notice\":\"Checks if an address is a pool admin.\"},\"isPoolManager(uint256,address)\":{\"notice\":\"Checks if an address is a pool manager.\"},\"recoverFunds(address,address)\":{\"notice\":\"Recovers funds from a pool.\"},\"registerRecipient(uint256,bytes)\":{\"notice\":\"Registers a recipient and emits {Registered} event if successful and may be handled differently by each strategy.\"},\"removeFromCloneableStrategies(address)\":{\"notice\":\"Removes a strategy from the cloneable strategies.\"},\"removePoolManager(uint256,address)\":{\"notice\":\"Removes a pool manager from the pool.\"},\"updateBaseFee(uint256)\":{\"notice\":\"Updates the base fee.\"},\"updatePercentFee(uint256)\":{\"notice\":\"Updates the percentage for the fee.\"},\"updatePoolMetadata(uint256,(uint256,string))\":{\"notice\":\"Updates a pools metadata.\"},\"updateRegistry(address)\":{\"notice\":\"Update the registry address.\"},\"updateTreasury(address)\":{\"notice\":\"Updates the treasury address.\"}},\"notice\":\"Interface for the Allo contract. It exposes all functions needed to use the Allo protocol.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/allo-v2/contracts/core/interfaces/IAllo.sol\":\"IAllo\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1000},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-contracts/=lib/safe-contracts/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"]},\"sources\":{\"lib/allo-v2/contracts/core/interfaces/IAllo.sol\":{\"keccak256\":\"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7\",\"dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1\"]},\"lib/allo-v2/contracts/core/interfaces/IRegistry.sol\":{\"keccak256\":\"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e\",\"dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA\"]},\"lib/allo-v2/contracts/core/interfaces/IStrategy.sol\":{\"keccak256\":\"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487\",\"dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH\"]},\"lib/allo-v2/contracts/core/libraries/Metadata.sol\":{\"keccak256\":\"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c\",\"dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"uint256","name":"poolId","type":"uint256","indexed":true},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false}],"type":"event","name":"BaseFeePaid","anonymous":false},{"inputs":[{"internalType":"uint256","name":"baseFee","type":"uint256","indexed":false}],"type":"event","name":"BaseFeeUpdated","anonymous":false},{"inputs":[{"internalType":"uint256","name":"percentFee","type":"uint256","indexed":false}],"type":"event","name":"PercentFeeUpdated","anonymous":false},{"inputs":[{"internalType":"uint256","name":"poolId","type":"uint256","indexed":true},{"internalType":"bytes32","name":"profileId","type":"bytes32","indexed":true},{"internalType":"contract IStrategy","name":"strategy","type":"address","indexed":false},{"internalType":"address","name":"token","type":"address","indexed":false},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false},{"internalType":"struct Metadata","name":"metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}],"indexed":false}],"type":"event","name":"PoolCreated","anonymous":false},{"inputs":[{"internalType":"uint256","name":"poolId","type":"uint256","indexed":true},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false},{"internalType":"uint256","name":"fee","type":"uint256","indexed":false}],"type":"event","name":"PoolFunded","anonymous":false},{"inputs":[{"internalType":"uint256","name":"poolId","type":"uint256","indexed":true},{"internalType":"struct Metadata","name":"metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}],"indexed":false}],"type":"event","name":"PoolMetadataUpdated","anonymous":false},{"inputs":[{"internalType":"address","name":"registry","type":"address","indexed":false}],"type":"event","name":"RegistryUpdated","anonymous":false},{"inputs":[{"internalType":"address","name":"strategy","type":"address","indexed":false}],"type":"event","name":"StrategyApproved","anonymous":false},{"inputs":[{"internalType":"address","name":"strategy","type":"address","indexed":false}],"type":"event","name":"StrategyRemoved","anonymous":false},{"inputs":[{"internalType":"address","name":"treasury","type":"address","indexed":false}],"type":"event","name":"TreasuryUpdated","anonymous":false},{"inputs":[{"internalType":"uint256","name":"_poolId","type":"uint256"},{"internalType":"address","name":"_manager","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"addPoolManager"},{"inputs":[{"internalType":"address","name":"_strategy","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"addToCloneableStrategies"},{"inputs":[{"internalType":"uint256","name":"_poolId","type":"uint256"},{"internalType":"bytes","name":"_data","type":"bytes"}],"stateMutability":"payable","type":"function","name":"allocate"},{"inputs":[{"internalType":"uint256[]","name":"_poolIds","type":"uint256[]"},{"internalType":"bytes[]","name":"_datas","type":"bytes[]"}],"stateMutability":"nonpayable","type":"function","name":"batchAllocate"},{"inputs":[{"internalType":"uint256[]","name":"_poolIds","type":"uint256[]"},{"internalType":"bytes[]","name":"_data","type":"bytes[]"}],"stateMutability":"nonpayable","type":"function","name":"batchRegisterRecipient","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[{"internalType":"uint256","name":"_poolId","type":"uint256"},{"internalType":"address[]","name":"_recipientIds","type":"address[]"},{"internalType":"bytes","name":"_data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"distribute"},{"inputs":[{"internalType":"uint256","name":"_poolId","type":"uint256"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"stateMutability":"payable","type":"function","name":"fundPool"},{"inputs":[],"stateMutability":"view","type":"function","name":"getBaseFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getFeeDenominator","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getPercentFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"_poolId","type":"uint256"}],"stateMutability":"view","type":"function","name":"getPool","outputs":[{"internalType":"struct IAllo.Pool","name":"","type":"tuple","components":[{"internalType":"bytes32","name":"profileId","type":"bytes32"},{"internalType":"contract IStrategy","name":"strategy","type":"address"},{"internalType":"address","name":"token","type":"address"},{"internalType":"struct Metadata","name":"metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]},{"internalType":"bytes32","name":"managerRole","type":"bytes32"},{"internalType":"bytes32","name":"adminRole","type":"bytes32"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getRegistry","outputs":[{"internalType":"contract IRegistry","name":"","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"_poolId","type":"uint256"}],"stateMutability":"view","type":"function","name":"getStrategy","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getTreasury","outputs":[{"internalType":"address payable","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"_registry","type":"address"},{"internalType":"address payable","name":"_treasury","type":"address"},{"internalType":"uint256","name":"_percentFee","type":"uint256"},{"internalType":"uint256","name":"_baseFee","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[{"internalType":"address","name":"_strategy","type":"address"}],"stateMutability":"view","type":"function","name":"isCloneableStrategy","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"uint256","name":"_poolId","type":"uint256"},{"internalType":"address","name":"_address","type":"address"}],"stateMutability":"view","type":"function","name":"isPoolAdmin","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"uint256","name":"_poolId","type":"uint256"},{"internalType":"address","name":"_address","type":"address"}],"stateMutability":"view","type":"function","name":"isPoolManager","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"_token","type":"address"},{"internalType":"address","name":"_recipient","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"recoverFunds"},{"inputs":[{"internalType":"uint256","name":"_poolId","type":"uint256"},{"internalType":"bytes","name":"_data","type":"bytes"}],"stateMutability":"payable","type":"function","name":"registerRecipient","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"_strategy","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"removeFromCloneableStrategies"},{"inputs":[{"internalType":"uint256","name":"_poolId","type":"uint256"},{"internalType":"address","name":"_manager","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"removePoolManager"},{"inputs":[{"internalType":"uint256","name":"_baseFee","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"updateBaseFee"},{"inputs":[{"internalType":"uint256","name":"_percentFee","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"updatePercentFee"},{"inputs":[{"internalType":"uint256","name":"_poolId","type":"uint256"},{"internalType":"struct Metadata","name":"_metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]}],"stateMutability":"nonpayable","type":"function","name":"updatePoolMetadata"},{"inputs":[{"internalType":"address","name":"_registry","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"updateRegistry"},{"inputs":[{"internalType":"address payable","name":"_treasury","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"updateTreasury"}],"devdoc":{"kind":"dev","methods":{"addPoolManager(uint256,address)":{"details":"'msg.sender' must be a pool admin.","params":{"_manager":"The address of the manager to add","_poolId":"The ID of the pool to add the manager to"}},"addToCloneableStrategies(address)":{"details":"'msg.sender' must be the Allo contract owner.","params":{"_strategy":"The address of the strategy to add"}},"allocate(uint256,bytes)":{"details":"Each strategy will handle the allocation of funds differently.","params":{"_data":"The data to pass to the strategy and may be handled differently by each strategy.","_poolId":"The ID of the pool to allocate funds from"}},"batchAllocate(uint256[],bytes[])":{"details":"Each strategy will handle the allocation of funds differently"},"batchRegisterRecipient(uint256[],bytes[])":{"params":{"_data":"The data to pass to the strategy and may be handled differently by each strategy","_poolIds":"The pool ID's to register the recipients for"}},"distribute(uint256,address[],bytes)":{"details":"Each strategy will handle the distribution of funds differently","params":{"_data":"The data to pass to the strategy and may be handled differently by each strategy","_poolId":"The ID of the pool to distribute from","_recipientIds":"The recipient ids to distribute to"}},"fundPool(uint256,uint256)":{"details":"'msg.value' must be greater than 0 if the token is the native token or '_amount' must be greater than 0 if the token is not the native token.","params":{"_amount":"The amount to fund the pool with","_poolId":"The ID of the pool to fund"}},"getBaseFee()":{"returns":{"_0":"baseFee The current base fee"}},"getFeeDenominator()":{"details":"1e18 represents 100%","returns":{"_0":"feeDenominator The current fee denominator"}},"getPercentFee()":{"returns":{"_0":"percentFee The current percentage for the fee"}},"getPool(uint256)":{"params":{"_poolId":"The ID of the pool to check"},"returns":{"_0":"pool The 'Pool' struct for the ID of the pool passed in"}},"getRegistry()":{"returns":{"_0":"registry The current registry address"}},"getStrategy(uint256)":{"params":{"_poolId":"The ID of the pool to check"},"returns":{"_0":"strategy The address of the strategy for the ID of the pool passed in"}},"getTreasury()":{"returns":{"_0":"treasury The current treasury address"}},"initialize(address,address,address,uint256,uint256)":{"params":{"_baseFee":"Base fee amount","_owner":"Address of the owner","_percentFee":"Percentage for the fee","_registry":"Address of the registry contract","_treasury":"Address of the treasury"}},"isCloneableStrategy(address)":{"params":{"_strategy":"The address of the strategy to check"},"returns":{"_0":"'true' if the '_strategy' is cloneable, otherwise 'false'"}},"isPoolAdmin(uint256,address)":{"params":{"_address":"The address to check","_poolId":"The ID of the pool to check"},"returns":{"_0":"'true' if the '_address' is a pool admin, otherwise 'false'"}},"isPoolManager(uint256,address)":{"params":{"_address":"The address to check","_poolId":"The ID of the pool to check"},"returns":{"_0":"'true' if the '_address' is a pool manager, otherwise 'false'"}},"recoverFunds(address,address)":{"details":"'msg.sender' must be a pool admin.","params":{"_recipient":"The address to send the recovered funds to","_token":"The token to recover"}},"registerRecipient(uint256,bytes)":{"params":{"_poolId":"The ID of the pool to register the recipient for"}},"removeFromCloneableStrategies(address)":{"details":"'msg.sender' must be the Allo contract owner.","params":{"_strategy":"The address of the strategy to remove"}},"removePoolManager(uint256,address)":{"details":"'msg.sender' must be a pool admin.","params":{"_manager":"The address of the manager to remove","_poolId":"The ID of the pool to remove the manager from"}},"updateBaseFee(uint256)":{"details":"'msg.sender' must be the Allo contract owner.","params":{"_baseFee":"The new base fee"}},"updatePercentFee(uint256)":{"details":"'msg.sender' must be the Allo contract owner.","params":{"_percentFee":"The new percentage for the fee"}},"updatePoolMetadata(uint256,(uint256,string))":{"details":"'msg.sender' must be a pool admin.","params":{"_metadata":"The new metadata to set","_poolId":"The ID of the pool to update"}},"updateRegistry(address)":{"details":"'msg.sender' must be the Allo contract owner.","params":{"_registry":"The new registry address"}},"updateTreasury(address)":{"details":"'msg.sender' must be the Allo contract owner.","params":{"_treasury":"The new treasury address"}}},"version":1},"userdoc":{"kind":"user","methods":{"addPoolManager(uint256,address)":{"notice":"Adds a pool manager to the pool."},"addToCloneableStrategies(address)":{"notice":"Adds a strategy to the cloneable strategies."},"allocate(uint256,bytes)":{"notice":"Allocates funds to a recipient."},"batchAllocate(uint256[],bytes[])":{"notice":"Allocates funds to multiple recipients."},"batchRegisterRecipient(uint256[],bytes[])":{"notice":"Registers a batch of recipients."},"distribute(uint256,address[],bytes)":{"notice":"Distributes funds to recipients and emits {Distributed} event if successful"},"fundPool(uint256,uint256)":{"notice":"Funds a pool."},"getBaseFee()":{"notice":"Returns the current base fee"},"getFeeDenominator()":{"notice":"Returns the current fee denominator"},"getPercentFee()":{"notice":"Returns the current percent fee"},"getPool(uint256)":{"notice":"Returns the 'Pool' struct for a given 'poolId'"},"getRegistry()":{"notice":"Returns the current registry address"},"getStrategy(uint256)":{"notice":"Returns the address of the strategy for a given 'poolId'"},"getTreasury()":{"notice":"Returns the current treasury address"},"initialize(address,address,address,uint256,uint256)":{"notice":"Initialize the Allo contract"},"isCloneableStrategy(address)":{"notice":"Checks if a strategy is cloneable (is in the cloneableStrategies mapping)."},"isPoolAdmin(uint256,address)":{"notice":"Checks if an address is a pool admin."},"isPoolManager(uint256,address)":{"notice":"Checks if an address is a pool manager."},"recoverFunds(address,address)":{"notice":"Recovers funds from a pool."},"registerRecipient(uint256,bytes)":{"notice":"Registers a recipient and emits {Registered} event if successful and may be handled differently by each strategy."},"removeFromCloneableStrategies(address)":{"notice":"Removes a strategy from the cloneable strategies."},"removePoolManager(uint256,address)":{"notice":"Removes a pool manager from the pool."},"updateBaseFee(uint256)":{"notice":"Updates the base fee."},"updatePercentFee(uint256)":{"notice":"Updates the percentage for the fee."},"updatePoolMetadata(uint256,(uint256,string))":{"notice":"Updates a pools metadata."},"updateRegistry(address)":{"notice":"Update the registry address."},"updateTreasury(address)":{"notice":"Updates the treasury address."}},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-contracts/=lib/safe-contracts/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":1000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib/allo-v2/contracts/core/interfaces/IAllo.sol":"IAllo"},"evmVersion":"paris","libraries":{}},"sources":{"lib/allo-v2/contracts/core/interfaces/IAllo.sol":{"keccak256":"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce","urls":["bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7","dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/interfaces/IRegistry.sol":{"keccak256":"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f","urls":["bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e","dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA"],"license":"MIT"},"lib/allo-v2/contracts/core/interfaces/IStrategy.sol":{"keccak256":"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23","urls":["bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487","dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Metadata.sol":{"keccak256":"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44","urls":["bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c","dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn"],"license":"AGPL-3.0-only"}},"version":1},"storageLayout":{"storage":[],"types":{}},"ast":{"absolutePath":"lib/allo-v2/contracts/core/interfaces/IAllo.sol","id":2611,"exportedSymbols":{"IAllo":[2610],"IRegistry":[2802],"IStrategy":[2969],"Metadata":[3098]},"nodeType":"SourceUnit","src":"42:15030:3","nodes":[{"id":2297,"nodeType":"PragmaDirective","src":"42:24:3","nodes":[],"literals":["solidity","^","0.8",".19"]},{"id":2299,"nodeType":"ImportDirective","src":"82:42:3","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/interfaces/IRegistry.sol","file":"./IRegistry.sol","nameLocation":"-1:-1:-1","scope":2611,"sourceUnit":2803,"symbolAliases":[{"foreign":{"id":2298,"name":"IRegistry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2802,"src":"90:9:3","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":2301,"nodeType":"ImportDirective","src":"125:42:3","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/interfaces/IStrategy.sol","file":"./IStrategy.sol","nameLocation":"-1:-1:-1","scope":2611,"sourceUnit":2970,"symbolAliases":[{"foreign":{"id":2300,"name":"IStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2969,"src":"133:9:3","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":2303,"nodeType":"ImportDirective","src":"190:51:3","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/libraries/Metadata.sol","file":"../libraries/Metadata.sol","nameLocation":"-1:-1:-1","scope":2611,"sourceUnit":3099,"symbolAliases":[{"foreign":{"id":2302,"name":"Metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3098,"src":"198:8:3","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":2610,"nodeType":"ContractDefinition","src":"4531:10540:3","nodes":[{"id":2319,"nodeType":"StructDefinition","src":"4718:180:3","nodes":[],"canonicalName":"IAllo.Pool","members":[{"constant":false,"id":2306,"mutability":"mutable","name":"profileId","nameLocation":"4748:9:3","nodeType":"VariableDeclaration","scope":2319,"src":"4740:17:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2305,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4740:7:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":2309,"mutability":"mutable","name":"strategy","nameLocation":"4777:8:3","nodeType":"VariableDeclaration","scope":2319,"src":"4767:18:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"},"typeName":{"id":2308,"nodeType":"UserDefinedTypeName","pathNode":{"id":2307,"name":"IStrategy","nameLocations":["4767:9:3"],"nodeType":"IdentifierPath","referencedDeclaration":2969,"src":"4767:9:3"},"referencedDeclaration":2969,"src":"4767:9:3","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}},"visibility":"internal"},{"constant":false,"id":2311,"mutability":"mutable","name":"token","nameLocation":"4803:5:3","nodeType":"VariableDeclaration","scope":2319,"src":"4795:13:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2310,"name":"address","nodeType":"ElementaryTypeName","src":"4795:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":2314,"mutability":"mutable","name":"metadata","nameLocation":"4827:8:3","nodeType":"VariableDeclaration","scope":2319,"src":"4818:17:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"},"typeName":{"id":2313,"nodeType":"UserDefinedTypeName","pathNode":{"id":2312,"name":"Metadata","nameLocations":["4818:8:3"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"4818:8:3"},"referencedDeclaration":3098,"src":"4818:8:3","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"},{"constant":false,"id":2316,"mutability":"mutable","name":"managerRole","nameLocation":"4853:11:3","nodeType":"VariableDeclaration","scope":2319,"src":"4845:19:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2315,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4845:7:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":2318,"mutability":"mutable","name":"adminRole","nameLocation":"4882:9:3","nodeType":"VariableDeclaration","scope":2319,"src":"4874:17:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2317,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4874:7:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"name":"Pool","nameLocation":"4725:4:3","scope":2610,"visibility":"public"},{"id":2336,"nodeType":"EventDefinition","src":"5405:193:3","nodes":[],"anonymous":false,"documentation":{"id":2320,"nodeType":"StructuredDocumentation","src":"4998:402:3","text":"@notice Event emitted when a new pool is created\n @param poolId ID of the pool created\n @param profileId ID of the profile the pool is associated with\n @param strategy Address of the strategy contract\n @param token Address of the token pool was funded with when created\n @param amount Amount pool was funded with when created\n @param metadata Pool metadata"},"eventSelector":"69bcb5a6cf6a3c95185cbb451e77787240c866dd2e8332597e3013ff18a1aba1","name":"PoolCreated","nameLocation":"5411:11:3","parameters":{"id":2335,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2322,"indexed":true,"mutability":"mutable","name":"poolId","nameLocation":"5448:6:3","nodeType":"VariableDeclaration","scope":2336,"src":"5432:22:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2321,"name":"uint256","nodeType":"ElementaryTypeName","src":"5432:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2324,"indexed":true,"mutability":"mutable","name":"profileId","nameLocation":"5480:9:3","nodeType":"VariableDeclaration","scope":2336,"src":"5464:25:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2323,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5464:7:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":2327,"indexed":false,"mutability":"mutable","name":"strategy","nameLocation":"5509:8:3","nodeType":"VariableDeclaration","scope":2336,"src":"5499:18:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"},"typeName":{"id":2326,"nodeType":"UserDefinedTypeName","pathNode":{"id":2325,"name":"IStrategy","nameLocations":["5499:9:3"],"nodeType":"IdentifierPath","referencedDeclaration":2969,"src":"5499:9:3"},"referencedDeclaration":2969,"src":"5499:9:3","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}},"visibility":"internal"},{"constant":false,"id":2329,"indexed":false,"mutability":"mutable","name":"token","nameLocation":"5535:5:3","nodeType":"VariableDeclaration","scope":2336,"src":"5527:13:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2328,"name":"address","nodeType":"ElementaryTypeName","src":"5527:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":2331,"indexed":false,"mutability":"mutable","name":"amount","nameLocation":"5558:6:3","nodeType":"VariableDeclaration","scope":2336,"src":"5550:14:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2330,"name":"uint256","nodeType":"ElementaryTypeName","src":"5550:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2334,"indexed":false,"mutability":"mutable","name":"metadata","nameLocation":"5583:8:3","nodeType":"VariableDeclaration","scope":2336,"src":"5574:17:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata"},"typeName":{"id":2333,"nodeType":"UserDefinedTypeName","pathNode":{"id":2332,"name":"Metadata","nameLocations":["5574:8:3"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"5574:8:3"},"referencedDeclaration":3098,"src":"5574:8:3","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"}],"src":"5422:175:3"}},{"id":2344,"nodeType":"EventDefinition","src":"5761:69:3","nodes":[],"anonymous":false,"documentation":{"id":2337,"nodeType":"StructuredDocumentation","src":"5604:152:3","text":"@notice Emitted when a pools metadata is updated\n @param poolId ID of the pool updated\n @param metadata Pool metadata that was updated"},"eventSelector":"14f52b76bda9e4c482842cefda2968d332933577988f224e80aae18fba10edf0","name":"PoolMetadataUpdated","nameLocation":"5767:19:3","parameters":{"id":2343,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2339,"indexed":true,"mutability":"mutable","name":"poolId","nameLocation":"5803:6:3","nodeType":"VariableDeclaration","scope":2344,"src":"5787:22:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2338,"name":"uint256","nodeType":"ElementaryTypeName","src":"5787:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2342,"indexed":false,"mutability":"mutable","name":"metadata","nameLocation":"5820:8:3","nodeType":"VariableDeclaration","scope":2344,"src":"5811:17:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata"},"typeName":{"id":2341,"nodeType":"UserDefinedTypeName","pathNode":{"id":2340,"name":"Metadata","nameLocations":["5811:8:3"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"5811:8:3"},"referencedDeclaration":3098,"src":"5811:8:3","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"}],"src":"5786:43:3"}},{"id":2353,"nodeType":"EventDefinition","src":"6032:70:3","nodes":[],"anonymous":false,"documentation":{"id":2345,"nodeType":"StructuredDocumentation","src":"5836:191:3","text":"@notice Emitted when a pool is funded\n @param poolId ID of the pool funded\n @param amount Amount funded to the pool\n @param fee Amount of the fee paid to the treasury"},"eventSelector":"bf59838198f4ea92f663f5c1fc697f151a1b746b7dff86d564f250a55cbb4851","name":"PoolFunded","nameLocation":"6038:10:3","parameters":{"id":2352,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2347,"indexed":true,"mutability":"mutable","name":"poolId","nameLocation":"6065:6:3","nodeType":"VariableDeclaration","scope":2353,"src":"6049:22:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2346,"name":"uint256","nodeType":"ElementaryTypeName","src":"6049:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2349,"indexed":false,"mutability":"mutable","name":"amount","nameLocation":"6081:6:3","nodeType":"VariableDeclaration","scope":2353,"src":"6073:14:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2348,"name":"uint256","nodeType":"ElementaryTypeName","src":"6073:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2351,"indexed":false,"mutability":"mutable","name":"fee","nameLocation":"6097:3:3","nodeType":"VariableDeclaration","scope":2353,"src":"6089:11:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2350,"name":"uint256","nodeType":"ElementaryTypeName","src":"6089:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6048:53:3"}},{"id":2360,"nodeType":"EventDefinition","src":"6271:58:3","nodes":[],"anonymous":false,"documentation":{"id":2354,"nodeType":"StructuredDocumentation","src":"6108:158:3","text":"@notice Emitted when the base fee is paid\n @param poolId ID of the pool the base fee was paid for\n @param amount Amount of the base fee paid"},"eventSelector":"02e340b51c6ae66fd22509c9b016f224c47a54063d4259fe3d860958e9eaac72","name":"BaseFeePaid","nameLocation":"6277:11:3","parameters":{"id":2359,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2356,"indexed":true,"mutability":"mutable","name":"poolId","nameLocation":"6305:6:3","nodeType":"VariableDeclaration","scope":2360,"src":"6289:22:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2355,"name":"uint256","nodeType":"ElementaryTypeName","src":"6289:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2358,"indexed":false,"mutability":"mutable","name":"amount","nameLocation":"6321:6:3","nodeType":"VariableDeclaration","scope":2360,"src":"6313:14:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2357,"name":"uint256","nodeType":"ElementaryTypeName","src":"6313:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6288:40:3"}},{"id":2365,"nodeType":"EventDefinition","src":"6448:40:3","nodes":[],"anonymous":false,"documentation":{"id":2361,"nodeType":"StructuredDocumentation","src":"6335:108:3","text":"@notice Emitted when the treasury address is updated\n @param treasury Address of the new treasury"},"eventSelector":"7dae230f18360d76a040c81f050aa14eb9d6dc7901b20fc5d855e2a20fe814d1","name":"TreasuryUpdated","nameLocation":"6454:15:3","parameters":{"id":2364,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2363,"indexed":false,"mutability":"mutable","name":"treasury","nameLocation":"6478:8:3","nodeType":"VariableDeclaration","scope":2365,"src":"6470:16:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2362,"name":"address","nodeType":"ElementaryTypeName","src":"6470:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6469:18:3"}},{"id":2370,"nodeType":"EventDefinition","src":"6603:44:3","nodes":[],"anonymous":false,"documentation":{"id":2366,"nodeType":"StructuredDocumentation","src":"6494:104:3","text":"@notice Emitted when the percent fee is updated\n @param percentFee New percentage for the fee"},"eventSelector":"9e826789de2de708fd9f09edea1182545e543893caa8ff71f8eb3aab50a4b065","name":"PercentFeeUpdated","nameLocation":"6609:17:3","parameters":{"id":2369,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2368,"indexed":false,"mutability":"mutable","name":"percentFee","nameLocation":"6635:10:3","nodeType":"VariableDeclaration","scope":2370,"src":"6627:18:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2367,"name":"uint256","nodeType":"ElementaryTypeName","src":"6627:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6626:20:3"}},{"id":2375,"nodeType":"EventDefinition","src":"6749:38:3","nodes":[],"anonymous":false,"documentation":{"id":2371,"nodeType":"StructuredDocumentation","src":"6653:91:3","text":"@notice Emitted when the base fee is updated\n @param baseFee New base fee amount"},"eventSelector":"803bee7e92bbc6ae7a1551f9f4ed3e31a8ea8df32e93332f41b0028f1091f9c3","name":"BaseFeeUpdated","nameLocation":"6755:14:3","parameters":{"id":2374,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2373,"indexed":false,"mutability":"mutable","name":"baseFee","nameLocation":"6778:7:3","nodeType":"VariableDeclaration","scope":2375,"src":"6770:15:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2372,"name":"uint256","nodeType":"ElementaryTypeName","src":"6770:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6769:17:3"}},{"id":2380,"nodeType":"EventDefinition","src":"6906:40:3","nodes":[],"anonymous":false,"documentation":{"id":2376,"nodeType":"StructuredDocumentation","src":"6793:108:3","text":"@notice Emitted when the registry address is updated\n @param registry Address of the new registry"},"eventSelector":"d6ceddf6d2a22f21c7c81675c518004eff43bc5c8a6fc32a0b748e69d58671cd","name":"RegistryUpdated","nameLocation":"6912:15:3","parameters":{"id":2379,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2378,"indexed":false,"mutability":"mutable","name":"registry","nameLocation":"6936:8:3","nodeType":"VariableDeclaration","scope":2380,"src":"6928:16:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2377,"name":"address","nodeType":"ElementaryTypeName","src":"6928:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6927:18:3"}},{"id":2385,"nodeType":"EventDefinition","src":"7099:41:3","nodes":[],"anonymous":false,"documentation":{"id":2381,"nodeType":"StructuredDocumentation","src":"6952:142:3","text":"@notice Emitted when a strategy is approved and added to the cloneable strategies\n @param strategy Address of the strategy approved"},"eventSelector":"960dd94cbb79169f09a4e445d58b895df2d9bffa5b31055d0932d801724a20d1","name":"StrategyApproved","nameLocation":"7105:16:3","parameters":{"id":2384,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2383,"indexed":false,"mutability":"mutable","name":"strategy","nameLocation":"7130:8:3","nodeType":"VariableDeclaration","scope":2385,"src":"7122:16:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2382,"name":"address","nodeType":"ElementaryTypeName","src":"7122:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"7121:18:3"}},{"id":2390,"nodeType":"EventDefinition","src":"7283:40:3","nodes":[],"anonymous":false,"documentation":{"id":2386,"nodeType":"StructuredDocumentation","src":"7146:132:3","text":"@notice Emitted when a strategy is removed from the cloneable strategies\n @param strategy Address of the strategy removed"},"eventSelector":"09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea4","name":"StrategyRemoved","nameLocation":"7289:15:3","parameters":{"id":2389,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2388,"indexed":false,"mutability":"mutable","name":"strategy","nameLocation":"7313:8:3","nodeType":"VariableDeclaration","scope":2390,"src":"7305:16:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2387,"name":"address","nodeType":"ElementaryTypeName","src":"7305:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"7304:18:3"}},{"id":2404,"nodeType":"FunctionDefinition","src":"7750:176:3","nodes":[],"documentation":{"id":2391,"nodeType":"StructuredDocumentation","src":"7465:280:3","text":"@notice Initialize the Allo contract\n @param _owner Address of the owner\n @param _registry Address of the registry contract\n @param _treasury Address of the treasury\n @param _percentFee Percentage for the fee\n @param _baseFee Base fee amount"},"functionSelector":"a6b63eb8","implemented":false,"kind":"function","modifiers":[],"name":"initialize","nameLocation":"7759:10:3","parameters":{"id":2402,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2393,"mutability":"mutable","name":"_owner","nameLocation":"7787:6:3","nodeType":"VariableDeclaration","scope":2404,"src":"7779:14:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2392,"name":"address","nodeType":"ElementaryTypeName","src":"7779:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":2395,"mutability":"mutable","name":"_registry","nameLocation":"7811:9:3","nodeType":"VariableDeclaration","scope":2404,"src":"7803:17:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2394,"name":"address","nodeType":"ElementaryTypeName","src":"7803:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":2397,"mutability":"mutable","name":"_treasury","nameLocation":"7846:9:3","nodeType":"VariableDeclaration","scope":2404,"src":"7830:25:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"},"typeName":{"id":2396,"name":"address","nodeType":"ElementaryTypeName","src":"7830:15:3","stateMutability":"payable","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"visibility":"internal"},{"constant":false,"id":2399,"mutability":"mutable","name":"_percentFee","nameLocation":"7873:11:3","nodeType":"VariableDeclaration","scope":2404,"src":"7865:19:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2398,"name":"uint256","nodeType":"ElementaryTypeName","src":"7865:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2401,"mutability":"mutable","name":"_baseFee","nameLocation":"7902:8:3","nodeType":"VariableDeclaration","scope":2404,"src":"7894:16:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2400,"name":"uint256","nodeType":"ElementaryTypeName","src":"7894:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7769:147:3"},"returnParameters":{"id":2403,"nodeType":"ParameterList","parameters":[],"src":"7925:0:3"},"scope":2610,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":2413,"nodeType":"FunctionDefinition","src":"8123:81:3","nodes":[],"documentation":{"id":2405,"nodeType":"StructuredDocumentation","src":"7932:186:3","text":"@notice Updates a pools metadata.\n @dev 'msg.sender' must be a pool admin.\n @param _poolId The ID of the pool to update\n @param _metadata The new metadata to set"},"functionSelector":"5f9ca138","implemented":false,"kind":"function","modifiers":[],"name":"updatePoolMetadata","nameLocation":"8132:18:3","parameters":{"id":2411,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2407,"mutability":"mutable","name":"_poolId","nameLocation":"8159:7:3","nodeType":"VariableDeclaration","scope":2413,"src":"8151:15:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2406,"name":"uint256","nodeType":"ElementaryTypeName","src":"8151:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2410,"mutability":"mutable","name":"_metadata","nameLocation":"8184:9:3","nodeType":"VariableDeclaration","scope":2413,"src":"8168:25:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata"},"typeName":{"id":2409,"nodeType":"UserDefinedTypeName","pathNode":{"id":2408,"name":"Metadata","nameLocations":["8168:8:3"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"8168:8:3"},"referencedDeclaration":3098,"src":"8168:8:3","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"}],"src":"8150:44:3"},"returnParameters":{"id":2412,"nodeType":"ParameterList","parameters":[],"src":"8203:0:3"},"scope":2610,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":2419,"nodeType":"FunctionDefinition","src":"8364:52:3","nodes":[],"documentation":{"id":2414,"nodeType":"StructuredDocumentation","src":"8210:149:3","text":"@notice Update the registry address.\n @dev 'msg.sender' must be the Allo contract owner.\n @param _registry The new registry address"},"functionSelector":"1a5da6c8","implemented":false,"kind":"function","modifiers":[],"name":"updateRegistry","nameLocation":"8373:14:3","parameters":{"id":2417,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2416,"mutability":"mutable","name":"_registry","nameLocation":"8396:9:3","nodeType":"VariableDeclaration","scope":2419,"src":"8388:17:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2415,"name":"address","nodeType":"ElementaryTypeName","src":"8388:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"8387:19:3"},"returnParameters":{"id":2418,"nodeType":"ParameterList","parameters":[],"src":"8415:0:3"},"scope":2610,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":2425,"nodeType":"FunctionDefinition","src":"8577:60:3","nodes":[],"documentation":{"id":2420,"nodeType":"StructuredDocumentation","src":"8422:150:3","text":"@notice Updates the treasury address.\n @dev 'msg.sender' must be the Allo contract owner.\n @param _treasury The new treasury address"},"functionSelector":"7f51bb1f","implemented":false,"kind":"function","modifiers":[],"name":"updateTreasury","nameLocation":"8586:14:3","parameters":{"id":2423,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2422,"mutability":"mutable","name":"_treasury","nameLocation":"8617:9:3","nodeType":"VariableDeclaration","scope":2425,"src":"8601:25:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"},"typeName":{"id":2421,"name":"address","nodeType":"ElementaryTypeName","src":"8601:15:3","stateMutability":"payable","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"visibility":"internal"}],"src":"8600:27:3"},"returnParameters":{"id":2424,"nodeType":"ParameterList","parameters":[],"src":"8636:0:3"},"scope":2610,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":2431,"nodeType":"FunctionDefinition","src":"8812:56:3","nodes":[],"documentation":{"id":2426,"nodeType":"StructuredDocumentation","src":"8643:164:3","text":"@notice Updates the percentage for the fee.\n @dev 'msg.sender' must be the Allo contract owner.\n @param _percentFee The new percentage for the fee"},"functionSelector":"f54fc4a0","implemented":false,"kind":"function","modifiers":[],"name":"updatePercentFee","nameLocation":"8821:16:3","parameters":{"id":2429,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2428,"mutability":"mutable","name":"_percentFee","nameLocation":"8846:11:3","nodeType":"VariableDeclaration","scope":2431,"src":"8838:19:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2427,"name":"uint256","nodeType":"ElementaryTypeName","src":"8838:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8837:21:3"},"returnParameters":{"id":2430,"nodeType":"ParameterList","parameters":[],"src":"8867:0:3"},"scope":2610,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":2437,"nodeType":"FunctionDefinition","src":"9012:50:3","nodes":[],"documentation":{"id":2432,"nodeType":"StructuredDocumentation","src":"8874:133:3","text":"@notice Updates the base fee.\n @dev 'msg.sender' must be the Allo contract owner.\n @param _baseFee The new base fee"},"functionSelector":"8e690186","implemented":false,"kind":"function","modifiers":[],"name":"updateBaseFee","nameLocation":"9021:13:3","parameters":{"id":2435,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2434,"mutability":"mutable","name":"_baseFee","nameLocation":"9043:8:3","nodeType":"VariableDeclaration","scope":2437,"src":"9035:16:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2433,"name":"uint256","nodeType":"ElementaryTypeName","src":"9035:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9034:18:3"},"returnParameters":{"id":2436,"nodeType":"ParameterList","parameters":[],"src":"9061:0:3"},"scope":2610,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":2443,"nodeType":"FunctionDefinition","src":"9248:62:3","nodes":[],"documentation":{"id":2438,"nodeType":"StructuredDocumentation","src":"9068:175:3","text":"@notice Adds a strategy to the cloneable strategies.\n @dev 'msg.sender' must be the Allo contract owner.\n @param _strategy The address of the strategy to add"},"functionSelector":"41bba0b4","implemented":false,"kind":"function","modifiers":[],"name":"addToCloneableStrategies","nameLocation":"9257:24:3","parameters":{"id":2441,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2440,"mutability":"mutable","name":"_strategy","nameLocation":"9290:9:3","nodeType":"VariableDeclaration","scope":2443,"src":"9282:17:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2439,"name":"address","nodeType":"ElementaryTypeName","src":"9282:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"9281:19:3"},"returnParameters":{"id":2442,"nodeType":"ParameterList","parameters":[],"src":"9309:0:3"},"scope":2610,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":2449,"nodeType":"FunctionDefinition","src":"9504:67:3","nodes":[],"documentation":{"id":2444,"nodeType":"StructuredDocumentation","src":"9316:183:3","text":"@notice Removes a strategy from the cloneable strategies.\n @dev 'msg.sender' must be the Allo contract owner.\n @param _strategy The address of the strategy to remove"},"functionSelector":"031e2fa1","implemented":false,"kind":"function","modifiers":[],"name":"removeFromCloneableStrategies","nameLocation":"9513:29:3","parameters":{"id":2447,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2446,"mutability":"mutable","name":"_strategy","nameLocation":"9551:9:3","nodeType":"VariableDeclaration","scope":2449,"src":"9543:17:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2445,"name":"address","nodeType":"ElementaryTypeName","src":"9543:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"9542:19:3"},"returnParameters":{"id":2448,"nodeType":"ParameterList","parameters":[],"src":"9570:0:3"},"scope":2610,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":2457,"nodeType":"FunctionDefinition","src":"9796:68:3","nodes":[],"documentation":{"id":2450,"nodeType":"StructuredDocumentation","src":"9577:214:3","text":"@notice Adds a pool manager to the pool.\n @dev 'msg.sender' must be a pool admin.\n @param _poolId The ID of the pool to add the manager to\n @param _manager The address of the manager to add"},"functionSelector":"2cf682b0","implemented":false,"kind":"function","modifiers":[],"name":"addPoolManager","nameLocation":"9805:14:3","parameters":{"id":2455,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2452,"mutability":"mutable","name":"_poolId","nameLocation":"9828:7:3","nodeType":"VariableDeclaration","scope":2457,"src":"9820:15:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2451,"name":"uint256","nodeType":"ElementaryTypeName","src":"9820:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2454,"mutability":"mutable","name":"_manager","nameLocation":"9845:8:3","nodeType":"VariableDeclaration","scope":2457,"src":"9837:16:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2453,"name":"address","nodeType":"ElementaryTypeName","src":"9837:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"9819:35:3"},"returnParameters":{"id":2456,"nodeType":"ParameterList","parameters":[],"src":"9863:0:3"},"scope":2610,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":2465,"nodeType":"FunctionDefinition","src":"10102:71:3","nodes":[],"documentation":{"id":2458,"nodeType":"StructuredDocumentation","src":"9870:227:3","text":"@notice Removes a pool manager from the pool.\n @dev 'msg.sender' must be a pool admin.\n @param _poolId The ID of the pool to remove the manager from\n @param _manager The address of the manager to remove"},"functionSelector":"7f5a70bd","implemented":false,"kind":"function","modifiers":[],"name":"removePoolManager","nameLocation":"10111:17:3","parameters":{"id":2463,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2460,"mutability":"mutable","name":"_poolId","nameLocation":"10137:7:3","nodeType":"VariableDeclaration","scope":2465,"src":"10129:15:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2459,"name":"uint256","nodeType":"ElementaryTypeName","src":"10129:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2462,"mutability":"mutable","name":"_manager","nameLocation":"10154:8:3","nodeType":"VariableDeclaration","scope":2465,"src":"10146:16:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2461,"name":"address","nodeType":"ElementaryTypeName","src":"10146:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"10128:35:3"},"returnParameters":{"id":2464,"nodeType":"ParameterList","parameters":[],"src":"10172:0:3"},"scope":2610,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":2473,"nodeType":"FunctionDefinition","src":"10383:67:3","nodes":[],"documentation":{"id":2466,"nodeType":"StructuredDocumentation","src":"10179:199:3","text":"@notice Recovers funds from a pool.\n @dev 'msg.sender' must be a pool admin.\n @param _token The token to recover\n @param _recipient The address to send the recovered funds to"},"functionSelector":"24ae6a27","implemented":false,"kind":"function","modifiers":[],"name":"recoverFunds","nameLocation":"10392:12:3","parameters":{"id":2471,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2468,"mutability":"mutable","name":"_token","nameLocation":"10413:6:3","nodeType":"VariableDeclaration","scope":2473,"src":"10405:14:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2467,"name":"address","nodeType":"ElementaryTypeName","src":"10405:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":2470,"mutability":"mutable","name":"_recipient","nameLocation":"10429:10:3","nodeType":"VariableDeclaration","scope":2473,"src":"10421:18:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2469,"name":"address","nodeType":"ElementaryTypeName","src":"10421:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"10404:36:3"},"returnParameters":{"id":2472,"nodeType":"ParameterList","parameters":[],"src":"10449:0:3"},"scope":2610,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":2483,"nodeType":"FunctionDefinition","src":"10658:99:3","nodes":[],"documentation":{"id":2474,"nodeType":"StructuredDocumentation","src":"10456:197:3","text":"@notice Registers a recipient and emits {Registered} event if successful and may be handled differently by each strategy.\n @param _poolId The ID of the pool to register the recipient for"},"functionSelector":"075c0e9c","implemented":false,"kind":"function","modifiers":[],"name":"registerRecipient","nameLocation":"10667:17:3","parameters":{"id":2479,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2476,"mutability":"mutable","name":"_poolId","nameLocation":"10693:7:3","nodeType":"VariableDeclaration","scope":2483,"src":"10685:15:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2475,"name":"uint256","nodeType":"ElementaryTypeName","src":"10685:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2478,"mutability":"mutable","name":"_data","nameLocation":"10715:5:3","nodeType":"VariableDeclaration","scope":2483,"src":"10702:18:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":2477,"name":"bytes","nodeType":"ElementaryTypeName","src":"10702:5:3","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"10684:37:3"},"returnParameters":{"id":2482,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2481,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2483,"src":"10748:7:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2480,"name":"address","nodeType":"ElementaryTypeName","src":"10748:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"10747:9:3"},"scope":2610,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":2496,"nodeType":"FunctionDefinition","src":"10983:133:3","nodes":[],"documentation":{"id":2484,"nodeType":"StructuredDocumentation","src":"10763:215:3","text":"@notice Registers a batch of recipients.\n @param _poolIds The pool ID's to register the recipients for\n @param _data The data to pass to the strategy and may be handled differently by each strategy"},"functionSelector":"1a20bd88","implemented":false,"kind":"function","modifiers":[],"name":"batchRegisterRecipient","nameLocation":"10992:22:3","parameters":{"id":2491,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2487,"mutability":"mutable","name":"_poolIds","nameLocation":"11032:8:3","nodeType":"VariableDeclaration","scope":2496,"src":"11015:25:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":2485,"name":"uint256","nodeType":"ElementaryTypeName","src":"11015:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":2486,"nodeType":"ArrayTypeName","src":"11015:9:3","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":2490,"mutability":"mutable","name":"_data","nameLocation":"11057:5:3","nodeType":"VariableDeclaration","scope":2496,"src":"11042:20:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":2488,"name":"bytes","nodeType":"ElementaryTypeName","src":"11042:5:3","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":2489,"nodeType":"ArrayTypeName","src":"11042:7:3","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"11014:49:3"},"returnParameters":{"id":2495,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2494,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2496,"src":"11098:16:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":2492,"name":"address","nodeType":"ElementaryTypeName","src":"11098:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":2493,"nodeType":"ArrayTypeName","src":"11098:9:3","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"11097:18:3"},"scope":2610,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":2504,"nodeType":"FunctionDefinition","src":"11427:69:3","nodes":[],"documentation":{"id":2497,"nodeType":"StructuredDocumentation","src":"11122:300:3","text":"@notice Funds a pool.\n @dev 'msg.value' must be greater than 0 if the token is the native token\n or '_amount' must be greater than 0 if the token is not the native token.\n @param _poolId The ID of the pool to fund\n @param _amount The amount to fund the pool with"},"functionSelector":"5acd6fac","implemented":false,"kind":"function","modifiers":[],"name":"fundPool","nameLocation":"11436:8:3","parameters":{"id":2502,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2499,"mutability":"mutable","name":"_poolId","nameLocation":"11453:7:3","nodeType":"VariableDeclaration","scope":2504,"src":"11445:15:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2498,"name":"uint256","nodeType":"ElementaryTypeName","src":"11445:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2501,"mutability":"mutable","name":"_amount","nameLocation":"11470:7:3","nodeType":"VariableDeclaration","scope":2504,"src":"11462:15:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2500,"name":"uint256","nodeType":"ElementaryTypeName","src":"11462:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"11444:34:3"},"returnParameters":{"id":2503,"nodeType":"ParameterList","parameters":[],"src":"11495:0:3"},"scope":2610,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":2512,"nodeType":"FunctionDefinition","src":"11794:72:3","nodes":[],"documentation":{"id":2505,"nodeType":"StructuredDocumentation","src":"11502:287:3","text":"@notice Allocates funds to a recipient.\n @dev Each strategy will handle the allocation of funds differently.\n @param _poolId The ID of the pool to allocate funds from\n @param _data The data to pass to the strategy and may be handled differently by each strategy."},"functionSelector":"2ec38188","implemented":false,"kind":"function","modifiers":[],"name":"allocate","nameLocation":"11803:8:3","parameters":{"id":2510,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2507,"mutability":"mutable","name":"_poolId","nameLocation":"11820:7:3","nodeType":"VariableDeclaration","scope":2512,"src":"11812:15:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2506,"name":"uint256","nodeType":"ElementaryTypeName","src":"11812:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2509,"mutability":"mutable","name":"_data","nameLocation":"11842:5:3","nodeType":"VariableDeclaration","scope":2512,"src":"11829:18:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":2508,"name":"bytes","nodeType":"ElementaryTypeName","src":"11829:5:3","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"11811:37:3"},"returnParameters":{"id":2511,"nodeType":"ParameterList","parameters":[],"src":"11865:0:3"},"scope":2610,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":2522,"nodeType":"FunctionDefinition","src":"12003:84:3","nodes":[],"documentation":{"id":2513,"nodeType":"StructuredDocumentation","src":"11872:126:3","text":"@notice Allocates funds to multiple recipients.\n @dev Each strategy will handle the allocation of funds differently"},"functionSelector":"c6dff1cf","implemented":false,"kind":"function","modifiers":[],"name":"batchAllocate","nameLocation":"12012:13:3","parameters":{"id":2520,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2516,"mutability":"mutable","name":"_poolIds","nameLocation":"12045:8:3","nodeType":"VariableDeclaration","scope":2522,"src":"12026:27:3","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_calldata_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":2514,"name":"uint256","nodeType":"ElementaryTypeName","src":"12026:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":2515,"nodeType":"ArrayTypeName","src":"12026:9:3","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":2519,"mutability":"mutable","name":"_datas","nameLocation":"12070:6:3","nodeType":"VariableDeclaration","scope":2522,"src":"12055:21:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":2517,"name":"bytes","nodeType":"ElementaryTypeName","src":"12055:5:3","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":2518,"nodeType":"ArrayTypeName","src":"12055:7:3","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"12025:52:3"},"returnParameters":{"id":2521,"nodeType":"ParameterList","parameters":[],"src":"12086:0:3"},"scope":2610,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":2533,"nodeType":"FunctionDefinition","src":"12489:98:3","nodes":[],"documentation":{"id":2523,"nodeType":"StructuredDocumentation","src":"12093:391:3","text":"@notice Distributes funds to recipients and emits {Distributed} event if successful\n @dev Each strategy will handle the distribution of funds differently\n @param _poolId The ID of the pool to distribute from\n @param _recipientIds The recipient ids to distribute to\n @param _data The data to pass to the strategy and may be handled differently by each strategy"},"functionSelector":"3a5fbd92","implemented":false,"kind":"function","modifiers":[],"name":"distribute","nameLocation":"12498:10:3","parameters":{"id":2531,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2525,"mutability":"mutable","name":"_poolId","nameLocation":"12517:7:3","nodeType":"VariableDeclaration","scope":2533,"src":"12509:15:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2524,"name":"uint256","nodeType":"ElementaryTypeName","src":"12509:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2528,"mutability":"mutable","name":"_recipientIds","nameLocation":"12543:13:3","nodeType":"VariableDeclaration","scope":2533,"src":"12526:30:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":2526,"name":"address","nodeType":"ElementaryTypeName","src":"12526:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":2527,"nodeType":"ArrayTypeName","src":"12526:9:3","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":2530,"mutability":"mutable","name":"_data","nameLocation":"12571:5:3","nodeType":"VariableDeclaration","scope":2533,"src":"12558:18:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":2529,"name":"bytes","nodeType":"ElementaryTypeName","src":"12558:5:3","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"12508:69:3"},"returnParameters":{"id":2532,"nodeType":"ParameterList","parameters":[],"src":"12586:0:3"},"scope":2610,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":2543,"nodeType":"FunctionDefinition","src":"12922:85:3","nodes":[],"documentation":{"id":2534,"nodeType":"StructuredDocumentation","src":"12696:221:3","text":"@notice Checks if an address is a pool admin.\n @param _poolId The ID of the pool to check\n @param _address The address to check\n @return 'true' if the '_address' is a pool admin, otherwise 'false'"},"functionSelector":"ab3febc6","implemented":false,"kind":"function","modifiers":[],"name":"isPoolAdmin","nameLocation":"12931:11:3","parameters":{"id":2539,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2536,"mutability":"mutable","name":"_poolId","nameLocation":"12951:7:3","nodeType":"VariableDeclaration","scope":2543,"src":"12943:15:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2535,"name":"uint256","nodeType":"ElementaryTypeName","src":"12943:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2538,"mutability":"mutable","name":"_address","nameLocation":"12968:8:3","nodeType":"VariableDeclaration","scope":2543,"src":"12960:16:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2537,"name":"address","nodeType":"ElementaryTypeName","src":"12960:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"12942:35:3"},"returnParameters":{"id":2542,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2541,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2543,"src":"13001:4:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":2540,"name":"bool","nodeType":"ElementaryTypeName","src":"13001:4:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"13000:6:3"},"scope":2610,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":2553,"nodeType":"FunctionDefinition","src":"13243:87:3","nodes":[],"documentation":{"id":2544,"nodeType":"StructuredDocumentation","src":"13013:225:3","text":"@notice Checks if an address is a pool manager.\n @param _poolId The ID of the pool to check\n @param _address The address to check\n @return 'true' if the '_address' is a pool manager, otherwise 'false'"},"functionSelector":"29e40d4b","implemented":false,"kind":"function","modifiers":[],"name":"isPoolManager","nameLocation":"13252:13:3","parameters":{"id":2549,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2546,"mutability":"mutable","name":"_poolId","nameLocation":"13274:7:3","nodeType":"VariableDeclaration","scope":2553,"src":"13266:15:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2545,"name":"uint256","nodeType":"ElementaryTypeName","src":"13266:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2548,"mutability":"mutable","name":"_address","nameLocation":"13291:8:3","nodeType":"VariableDeclaration","scope":2553,"src":"13283:16:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2547,"name":"address","nodeType":"ElementaryTypeName","src":"13283:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"13265:35:3"},"returnParameters":{"id":2552,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2551,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2553,"src":"13324:4:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":2550,"name":"bool","nodeType":"ElementaryTypeName","src":"13324:4:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"13323:6:3"},"scope":2610,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":2561,"nodeType":"FunctionDefinition","src":"13563:77:3","nodes":[],"documentation":{"id":2554,"nodeType":"StructuredDocumentation","src":"13336:222:3","text":"@notice Checks if a strategy is cloneable (is in the cloneableStrategies mapping).\n @param _strategy The address of the strategy to check\n @return 'true' if the '_strategy' is cloneable, otherwise 'false'"},"functionSelector":"ab2ec589","implemented":false,"kind":"function","modifiers":[],"name":"isCloneableStrategy","nameLocation":"13572:19:3","parameters":{"id":2557,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2556,"mutability":"mutable","name":"_strategy","nameLocation":"13600:9:3","nodeType":"VariableDeclaration","scope":2561,"src":"13592:17:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2555,"name":"address","nodeType":"ElementaryTypeName","src":"13592:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"13591:19:3"},"returnParameters":{"id":2560,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2559,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2561,"src":"13634:4:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":2558,"name":"bool","nodeType":"ElementaryTypeName","src":"13634:4:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"13633:6:3"},"scope":2610,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":2569,"nodeType":"FunctionDefinition","src":"13856:70:3","nodes":[],"documentation":{"id":2562,"nodeType":"StructuredDocumentation","src":"13646:205:3","text":"@notice Returns the address of the strategy for a given 'poolId'\n @param _poolId The ID of the pool to check\n @return strategy The address of the strategy for the ID of the pool passed in"},"functionSelector":"cfc0cc34","implemented":false,"kind":"function","modifiers":[],"name":"getStrategy","nameLocation":"13865:11:3","parameters":{"id":2565,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2564,"mutability":"mutable","name":"_poolId","nameLocation":"13885:7:3","nodeType":"VariableDeclaration","scope":2569,"src":"13877:15:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2563,"name":"uint256","nodeType":"ElementaryTypeName","src":"13877:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13876:17:3"},"returnParameters":{"id":2568,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2567,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2569,"src":"13917:7:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2566,"name":"address","nodeType":"ElementaryTypeName","src":"13917:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"13916:9:3"},"scope":2610,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":2575,"nodeType":"FunctionDefinition","src":"14042:57:3","nodes":[],"documentation":{"id":2570,"nodeType":"StructuredDocumentation","src":"13932:105:3","text":"@notice Returns the current percent fee\n @return percentFee The current percentage for the fee"},"functionSelector":"4edbaadc","implemented":false,"kind":"function","modifiers":[],"name":"getPercentFee","nameLocation":"14051:13:3","parameters":{"id":2571,"nodeType":"ParameterList","parameters":[],"src":"14064:2:3"},"returnParameters":{"id":2574,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2573,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2575,"src":"14090:7:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2572,"name":"uint256","nodeType":"ElementaryTypeName","src":"14090:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"14089:9:3"},"scope":2610,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":2581,"nodeType":"FunctionDefinition","src":"14195:54:3","nodes":[],"documentation":{"id":2576,"nodeType":"StructuredDocumentation","src":"14105:85:3","text":"@notice Returns the current base fee\n @return baseFee The current base fee"},"functionSelector":"15e812ad","implemented":false,"kind":"function","modifiers":[],"name":"getBaseFee","nameLocation":"14204:10:3","parameters":{"id":2577,"nodeType":"ParameterList","parameters":[],"src":"14214:2:3"},"returnParameters":{"id":2580,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2579,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2581,"src":"14240:7:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2578,"name":"uint256","nodeType":"ElementaryTypeName","src":"14240:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"14239:9:3"},"scope":2610,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":2587,"nodeType":"FunctionDefinition","src":"14362:63:3","nodes":[],"documentation":{"id":2582,"nodeType":"StructuredDocumentation","src":"14255:102:3","text":"@notice Returns the current treasury address\n @return treasury The current treasury address"},"functionSelector":"3b19e84a","implemented":false,"kind":"function","modifiers":[],"name":"getTreasury","nameLocation":"14371:11:3","parameters":{"id":2583,"nodeType":"ParameterList","parameters":[],"src":"14382:2:3"},"returnParameters":{"id":2586,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2585,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2587,"src":"14408:15:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"},"typeName":{"id":2584,"name":"address","nodeType":"ElementaryTypeName","src":"14408:15:3","stateMutability":"payable","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"visibility":"internal"}],"src":"14407:17:3"},"scope":2610,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":2594,"nodeType":"FunctionDefinition","src":"14538:57:3","nodes":[],"documentation":{"id":2588,"nodeType":"StructuredDocumentation","src":"14431:102:3","text":"@notice Returns the current registry address\n @return registry The current registry address"},"functionSelector":"5ab1bd53","implemented":false,"kind":"function","modifiers":[],"name":"getRegistry","nameLocation":"14547:11:3","parameters":{"id":2589,"nodeType":"ParameterList","parameters":[],"src":"14558:2:3"},"returnParameters":{"id":2593,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2592,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2594,"src":"14584:9:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"},"typeName":{"id":2591,"nodeType":"UserDefinedTypeName","pathNode":{"id":2590,"name":"IRegistry","nameLocations":["14584:9:3"],"nodeType":"IdentifierPath","referencedDeclaration":2802,"src":"14584:9:3"},"referencedDeclaration":2802,"src":"14584:9:3","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"}},"visibility":"internal"}],"src":"14583:11:3"},"scope":2610,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":2603,"nodeType":"FunctionDefinition","src":"14787:70:3","nodes":[],"documentation":{"id":2595,"nodeType":"StructuredDocumentation","src":"14601:181:3","text":"@notice Returns the 'Pool' struct for a given 'poolId'\n @param _poolId The ID of the pool to check\n @return pool The 'Pool' struct for the ID of the pool passed in"},"functionSelector":"068bcd8d","implemented":false,"kind":"function","modifiers":[],"name":"getPool","nameLocation":"14796:7:3","parameters":{"id":2598,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2597,"mutability":"mutable","name":"_poolId","nameLocation":"14812:7:3","nodeType":"VariableDeclaration","scope":2603,"src":"14804:15:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2596,"name":"uint256","nodeType":"ElementaryTypeName","src":"14804:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"14803:17:3"},"returnParameters":{"id":2602,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2601,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2603,"src":"14844:11:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool"},"typeName":{"id":2600,"nodeType":"UserDefinedTypeName","pathNode":{"id":2599,"name":"Pool","nameLocations":["14844:4:3"],"nodeType":"IdentifierPath","referencedDeclaration":2319,"src":"14844:4:3"},"referencedDeclaration":2319,"src":"14844:4:3","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool"}},"visibility":"internal"}],"src":"14843:13:3"},"scope":2610,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":2609,"nodeType":"FunctionDefinition","src":"15008:61:3","nodes":[],"documentation":{"id":2604,"nodeType":"StructuredDocumentation","src":"14863:140:3","text":"@notice Returns the current fee denominator\n @dev 1e18 represents 100%\n @return feeDenominator The current fee denominator"},"functionSelector":"f4e1fc41","implemented":false,"kind":"function","modifiers":[],"name":"getFeeDenominator","nameLocation":"15017:17:3","parameters":{"id":2605,"nodeType":"ParameterList","parameters":[],"src":"15034:2:3"},"returnParameters":{"id":2608,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2607,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2609,"src":"15060:7:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2606,"name":"uint256","nodeType":"ElementaryTypeName","src":"15060:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15059:9:3"},"scope":2610,"stateMutability":"view","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"IAllo","contractDependencies":[],"contractKind":"interface","documentation":{"id":2304,"nodeType":"StructuredDocumentation","src":"4234:297:3","text":"@title Allo Interface\n @author @thelostone-mc , @0xKurt , @codenamejason , @0xZakk , @nfrgosselin \n @notice Interface for the Allo contract. It exposes all functions needed to use the Allo protocol."},"fullyImplemented":false,"linearizedBaseContracts":[2610],"name":"IAllo","nameLocation":"4541:5:3","scope":2611,"usedErrors":[]}],"license":"AGPL-3.0-only"},"id":3} \ No newline at end of file +{"abi":[{"type":"function","name":"addPoolManager","inputs":[{"name":"_poolId","type":"uint256","internalType":"uint256"},{"name":"_manager","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"addToCloneableStrategies","inputs":[{"name":"_strategy","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"allocate","inputs":[{"name":"_poolId","type":"uint256","internalType":"uint256"},{"name":"_data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"batchAllocate","inputs":[{"name":"_poolIds","type":"uint256[]","internalType":"uint256[]"},{"name":"_datas","type":"bytes[]","internalType":"bytes[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"batchRegisterRecipient","inputs":[{"name":"_poolIds","type":"uint256[]","internalType":"uint256[]"},{"name":"_data","type":"bytes[]","internalType":"bytes[]"}],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"distribute","inputs":[{"name":"_poolId","type":"uint256","internalType":"uint256"},{"name":"_recipientIds","type":"address[]","internalType":"address[]"},{"name":"_data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"fundPool","inputs":[{"name":"_poolId","type":"uint256","internalType":"uint256"},{"name":"_amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"getBaseFee","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getFeeDenominator","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getPercentFee","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getPool","inputs":[{"name":"_poolId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"tuple","internalType":"struct IAllo.Pool","components":[{"name":"profileId","type":"bytes32","internalType":"bytes32"},{"name":"strategy","type":"address","internalType":"contract IStrategy"},{"name":"token","type":"address","internalType":"address"},{"name":"metadata","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]},{"name":"managerRole","type":"bytes32","internalType":"bytes32"},{"name":"adminRole","type":"bytes32","internalType":"bytes32"}]}],"stateMutability":"view"},{"type":"function","name":"getRegistry","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IRegistry"}],"stateMutability":"view"},{"type":"function","name":"getStrategy","inputs":[{"name":"_poolId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getTreasury","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address payable"}],"stateMutability":"view"},{"type":"function","name":"initialize","inputs":[{"name":"_owner","type":"address","internalType":"address"},{"name":"_registry","type":"address","internalType":"address"},{"name":"_treasury","type":"address","internalType":"address payable"},{"name":"_percentFee","type":"uint256","internalType":"uint256"},{"name":"_baseFee","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"isCloneableStrategy","inputs":[{"name":"_strategy","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isPoolAdmin","inputs":[{"name":"_poolId","type":"uint256","internalType":"uint256"},{"name":"_address","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isPoolManager","inputs":[{"name":"_poolId","type":"uint256","internalType":"uint256"},{"name":"_address","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"recoverFunds","inputs":[{"name":"_token","type":"address","internalType":"address"},{"name":"_recipient","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerRecipient","inputs":[{"name":"_poolId","type":"uint256","internalType":"uint256"},{"name":"_data","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"payable"},{"type":"function","name":"removeFromCloneableStrategies","inputs":[{"name":"_strategy","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"removePoolManager","inputs":[{"name":"_poolId","type":"uint256","internalType":"uint256"},{"name":"_manager","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"updateBaseFee","inputs":[{"name":"_baseFee","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"updatePercentFee","inputs":[{"name":"_percentFee","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"updatePoolMetadata","inputs":[{"name":"_poolId","type":"uint256","internalType":"uint256"},{"name":"_metadata","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"updateRegistry","inputs":[{"name":"_registry","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"updateTreasury","inputs":[{"name":"_treasury","type":"address","internalType":"address payable"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"BaseFeePaid","inputs":[{"name":"poolId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"BaseFeeUpdated","inputs":[{"name":"baseFee","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"PercentFeeUpdated","inputs":[{"name":"percentFee","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"PoolCreated","inputs":[{"name":"poolId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"profileId","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"strategy","type":"address","indexed":false,"internalType":"contract IStrategy"},{"name":"token","type":"address","indexed":false,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"metadata","type":"tuple","indexed":false,"internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]}],"anonymous":false},{"type":"event","name":"PoolFunded","inputs":[{"name":"poolId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"fee","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"PoolMetadataUpdated","inputs":[{"name":"poolId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"metadata","type":"tuple","indexed":false,"internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]}],"anonymous":false},{"type":"event","name":"RegistryUpdated","inputs":[{"name":"registry","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"StrategyApproved","inputs":[{"name":"strategy","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"StrategyRemoved","inputs":[{"name":"strategy","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"TreasuryUpdated","inputs":[{"name":"treasury","type":"address","indexed":false,"internalType":"address"}],"anonymous":false}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"addPoolManager(uint256,address)":"2cf682b0","addToCloneableStrategies(address)":"41bba0b4","allocate(uint256,bytes)":"2ec38188","batchAllocate(uint256[],bytes[])":"c6dff1cf","batchRegisterRecipient(uint256[],bytes[])":"1a20bd88","distribute(uint256,address[],bytes)":"3a5fbd92","fundPool(uint256,uint256)":"5acd6fac","getBaseFee()":"15e812ad","getFeeDenominator()":"f4e1fc41","getPercentFee()":"4edbaadc","getPool(uint256)":"068bcd8d","getRegistry()":"5ab1bd53","getStrategy(uint256)":"cfc0cc34","getTreasury()":"3b19e84a","initialize(address,address,address,uint256,uint256)":"a6b63eb8","isCloneableStrategy(address)":"ab2ec589","isPoolAdmin(uint256,address)":"ab3febc6","isPoolManager(uint256,address)":"29e40d4b","recoverFunds(address,address)":"24ae6a27","registerRecipient(uint256,bytes)":"075c0e9c","removeFromCloneableStrategies(address)":"031e2fa1","removePoolManager(uint256,address)":"7f5a70bd","updateBaseFee(uint256)":"8e690186","updatePercentFee(uint256)":"f54fc4a0","updatePoolMetadata(uint256,(uint256,string))":"5f9ca138","updateRegistry(address)":"1a5da6c8","updateTreasury(address)":"7f51bb1f"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"BaseFeePaid\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"baseFee\",\"type\":\"uint256\"}],\"name\":\"BaseFeeUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"percentFee\",\"type\":\"uint256\"}],\"name\":\"PercentFeeUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"profileId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"contract IStrategy\",\"name\":\"strategy\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"indexed\":false,\"internalType\":\"struct Metadata\",\"name\":\"metadata\",\"type\":\"tuple\"}],\"name\":\"PoolCreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"fee\",\"type\":\"uint256\"}],\"name\":\"PoolFunded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"indexed\":false,\"internalType\":\"struct Metadata\",\"name\":\"metadata\",\"type\":\"tuple\"}],\"name\":\"PoolMetadataUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"registry\",\"type\":\"address\"}],\"name\":\"RegistryUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"strategy\",\"type\":\"address\"}],\"name\":\"StrategyApproved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"strategy\",\"type\":\"address\"}],\"name\":\"StrategyRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"treasury\",\"type\":\"address\"}],\"name\":\"TreasuryUpdated\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_poolId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_manager\",\"type\":\"address\"}],\"name\":\"addPoolManager\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"}],\"name\":\"addToCloneableStrategies\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_poolId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"}],\"name\":\"allocate\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256[]\",\"name\":\"_poolIds\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes[]\",\"name\":\"_datas\",\"type\":\"bytes[]\"}],\"name\":\"batchAllocate\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256[]\",\"name\":\"_poolIds\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes[]\",\"name\":\"_data\",\"type\":\"bytes[]\"}],\"name\":\"batchRegisterRecipient\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_poolId\",\"type\":\"uint256\"},{\"internalType\":\"address[]\",\"name\":\"_recipientIds\",\"type\":\"address[]\"},{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"}],\"name\":\"distribute\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_poolId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"fundPool\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getBaseFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getFeeDenominator\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getPercentFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_poolId\",\"type\":\"uint256\"}],\"name\":\"getPool\",\"outputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"profileId\",\"type\":\"bytes32\"},{\"internalType\":\"contract IStrategy\",\"name\":\"strategy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"metadata\",\"type\":\"tuple\"},{\"internalType\":\"bytes32\",\"name\":\"managerRole\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"adminRole\",\"type\":\"bytes32\"}],\"internalType\":\"struct IAllo.Pool\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getRegistry\",\"outputs\":[{\"internalType\":\"contract IRegistry\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_poolId\",\"type\":\"uint256\"}],\"name\":\"getStrategy\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getTreasury\",\"outputs\":[{\"internalType\":\"address payable\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_registry\",\"type\":\"address\"},{\"internalType\":\"address payable\",\"name\":\"_treasury\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_percentFee\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_baseFee\",\"type\":\"uint256\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"}],\"name\":\"isCloneableStrategy\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_poolId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_address\",\"type\":\"address\"}],\"name\":\"isPoolAdmin\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_poolId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_address\",\"type\":\"address\"}],\"name\":\"isPoolManager\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_recipient\",\"type\":\"address\"}],\"name\":\"recoverFunds\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_poolId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"}],\"name\":\"registerRecipient\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"}],\"name\":\"removeFromCloneableStrategies\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_poolId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_manager\",\"type\":\"address\"}],\"name\":\"removePoolManager\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_baseFee\",\"type\":\"uint256\"}],\"name\":\"updateBaseFee\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_percentFee\",\"type\":\"uint256\"}],\"name\":\"updatePercentFee\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_poolId\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"_metadata\",\"type\":\"tuple\"}],\"name\":\"updatePoolMetadata\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_registry\",\"type\":\"address\"}],\"name\":\"updateRegistry\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address payable\",\"name\":\"_treasury\",\"type\":\"address\"}],\"name\":\"updateTreasury\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"@thelostone-mc , @0xKurt , @codenamejason , @0xZakk , @nfrgosselin \",\"events\":{\"BaseFeePaid(uint256,uint256)\":{\"params\":{\"amount\":\"Amount of the base fee paid\",\"poolId\":\"ID of the pool the base fee was paid for\"}},\"BaseFeeUpdated(uint256)\":{\"params\":{\"baseFee\":\"New base fee amount\"}},\"PercentFeeUpdated(uint256)\":{\"params\":{\"percentFee\":\"New percentage for the fee\"}},\"PoolCreated(uint256,bytes32,address,address,uint256,(uint256,string))\":{\"params\":{\"amount\":\"Amount pool was funded with when created\",\"metadata\":\"Pool metadata\",\"poolId\":\"ID of the pool created\",\"profileId\":\"ID of the profile the pool is associated with\",\"strategy\":\"Address of the strategy contract\",\"token\":\"Address of the token pool was funded with when created\"}},\"PoolFunded(uint256,uint256,uint256)\":{\"params\":{\"amount\":\"Amount funded to the pool\",\"fee\":\"Amount of the fee paid to the treasury\",\"poolId\":\"ID of the pool funded\"}},\"PoolMetadataUpdated(uint256,(uint256,string))\":{\"params\":{\"metadata\":\"Pool metadata that was updated\",\"poolId\":\"ID of the pool updated\"}},\"RegistryUpdated(address)\":{\"params\":{\"registry\":\"Address of the new registry\"}},\"StrategyApproved(address)\":{\"params\":{\"strategy\":\"Address of the strategy approved\"}},\"StrategyRemoved(address)\":{\"params\":{\"strategy\":\"Address of the strategy removed\"}},\"TreasuryUpdated(address)\":{\"params\":{\"treasury\":\"Address of the new treasury\"}}},\"kind\":\"dev\",\"methods\":{\"addPoolManager(uint256,address)\":{\"details\":\"'msg.sender' must be a pool admin.\",\"params\":{\"_manager\":\"The address of the manager to add\",\"_poolId\":\"The ID of the pool to add the manager to\"}},\"addToCloneableStrategies(address)\":{\"details\":\"'msg.sender' must be the Allo contract owner.\",\"params\":{\"_strategy\":\"The address of the strategy to add\"}},\"allocate(uint256,bytes)\":{\"details\":\"Each strategy will handle the allocation of funds differently.\",\"params\":{\"_data\":\"The data to pass to the strategy and may be handled differently by each strategy.\",\"_poolId\":\"The ID of the pool to allocate funds from\"}},\"batchAllocate(uint256[],bytes[])\":{\"details\":\"Each strategy will handle the allocation of funds differently\"},\"batchRegisterRecipient(uint256[],bytes[])\":{\"params\":{\"_data\":\"The data to pass to the strategy and may be handled differently by each strategy\",\"_poolIds\":\"The pool ID's to register the recipients for\"}},\"distribute(uint256,address[],bytes)\":{\"details\":\"Each strategy will handle the distribution of funds differently\",\"params\":{\"_data\":\"The data to pass to the strategy and may be handled differently by each strategy\",\"_poolId\":\"The ID of the pool to distribute from\",\"_recipientIds\":\"The recipient ids to distribute to\"}},\"fundPool(uint256,uint256)\":{\"details\":\"'msg.value' must be greater than 0 if the token is the native token or '_amount' must be greater than 0 if the token is not the native token.\",\"params\":{\"_amount\":\"The amount to fund the pool with\",\"_poolId\":\"The ID of the pool to fund\"}},\"getBaseFee()\":{\"returns\":{\"_0\":\"baseFee The current base fee\"}},\"getFeeDenominator()\":{\"details\":\"1e18 represents 100%\",\"returns\":{\"_0\":\"feeDenominator The current fee denominator\"}},\"getPercentFee()\":{\"returns\":{\"_0\":\"percentFee The current percentage for the fee\"}},\"getPool(uint256)\":{\"params\":{\"_poolId\":\"The ID of the pool to check\"},\"returns\":{\"_0\":\"pool The 'Pool' struct for the ID of the pool passed in\"}},\"getRegistry()\":{\"returns\":{\"_0\":\"registry The current registry address\"}},\"getStrategy(uint256)\":{\"params\":{\"_poolId\":\"The ID of the pool to check\"},\"returns\":{\"_0\":\"strategy The address of the strategy for the ID of the pool passed in\"}},\"getTreasury()\":{\"returns\":{\"_0\":\"treasury The current treasury address\"}},\"initialize(address,address,address,uint256,uint256)\":{\"params\":{\"_baseFee\":\"Base fee amount\",\"_owner\":\"Address of the owner\",\"_percentFee\":\"Percentage for the fee\",\"_registry\":\"Address of the registry contract\",\"_treasury\":\"Address of the treasury\"}},\"isCloneableStrategy(address)\":{\"params\":{\"_strategy\":\"The address of the strategy to check\"},\"returns\":{\"_0\":\"'true' if the '_strategy' is cloneable, otherwise 'false'\"}},\"isPoolAdmin(uint256,address)\":{\"params\":{\"_address\":\"The address to check\",\"_poolId\":\"The ID of the pool to check\"},\"returns\":{\"_0\":\"'true' if the '_address' is a pool admin, otherwise 'false'\"}},\"isPoolManager(uint256,address)\":{\"params\":{\"_address\":\"The address to check\",\"_poolId\":\"The ID of the pool to check\"},\"returns\":{\"_0\":\"'true' if the '_address' is a pool manager, otherwise 'false'\"}},\"recoverFunds(address,address)\":{\"details\":\"'msg.sender' must be a pool admin.\",\"params\":{\"_recipient\":\"The address to send the recovered funds to\",\"_token\":\"The token to recover\"}},\"registerRecipient(uint256,bytes)\":{\"params\":{\"_poolId\":\"The ID of the pool to register the recipient for\"}},\"removeFromCloneableStrategies(address)\":{\"details\":\"'msg.sender' must be the Allo contract owner.\",\"params\":{\"_strategy\":\"The address of the strategy to remove\"}},\"removePoolManager(uint256,address)\":{\"details\":\"'msg.sender' must be a pool admin.\",\"params\":{\"_manager\":\"The address of the manager to remove\",\"_poolId\":\"The ID of the pool to remove the manager from\"}},\"updateBaseFee(uint256)\":{\"details\":\"'msg.sender' must be the Allo contract owner.\",\"params\":{\"_baseFee\":\"The new base fee\"}},\"updatePercentFee(uint256)\":{\"details\":\"'msg.sender' must be the Allo contract owner.\",\"params\":{\"_percentFee\":\"The new percentage for the fee\"}},\"updatePoolMetadata(uint256,(uint256,string))\":{\"details\":\"'msg.sender' must be a pool admin.\",\"params\":{\"_metadata\":\"The new metadata to set\",\"_poolId\":\"The ID of the pool to update\"}},\"updateRegistry(address)\":{\"details\":\"'msg.sender' must be the Allo contract owner.\",\"params\":{\"_registry\":\"The new registry address\"}},\"updateTreasury(address)\":{\"details\":\"'msg.sender' must be the Allo contract owner.\",\"params\":{\"_treasury\":\"The new treasury address\"}}},\"title\":\"Allo Interface\",\"version\":1},\"userdoc\":{\"events\":{\"BaseFeePaid(uint256,uint256)\":{\"notice\":\"Emitted when the base fee is paid\"},\"BaseFeeUpdated(uint256)\":{\"notice\":\"Emitted when the base fee is updated\"},\"PercentFeeUpdated(uint256)\":{\"notice\":\"Emitted when the percent fee is updated\"},\"PoolCreated(uint256,bytes32,address,address,uint256,(uint256,string))\":{\"notice\":\"Event emitted when a new pool is created\"},\"PoolFunded(uint256,uint256,uint256)\":{\"notice\":\"Emitted when a pool is funded\"},\"PoolMetadataUpdated(uint256,(uint256,string))\":{\"notice\":\"Emitted when a pools metadata is updated\"},\"RegistryUpdated(address)\":{\"notice\":\"Emitted when the registry address is updated\"},\"StrategyApproved(address)\":{\"notice\":\"Emitted when a strategy is approved and added to the cloneable strategies\"},\"StrategyRemoved(address)\":{\"notice\":\"Emitted when a strategy is removed from the cloneable strategies\"},\"TreasuryUpdated(address)\":{\"notice\":\"Emitted when the treasury address is updated\"}},\"kind\":\"user\",\"methods\":{\"addPoolManager(uint256,address)\":{\"notice\":\"Adds a pool manager to the pool.\"},\"addToCloneableStrategies(address)\":{\"notice\":\"Adds a strategy to the cloneable strategies.\"},\"allocate(uint256,bytes)\":{\"notice\":\"Allocates funds to a recipient.\"},\"batchAllocate(uint256[],bytes[])\":{\"notice\":\"Allocates funds to multiple recipients.\"},\"batchRegisterRecipient(uint256[],bytes[])\":{\"notice\":\"Registers a batch of recipients.\"},\"distribute(uint256,address[],bytes)\":{\"notice\":\"Distributes funds to recipients and emits {Distributed} event if successful\"},\"fundPool(uint256,uint256)\":{\"notice\":\"Funds a pool.\"},\"getBaseFee()\":{\"notice\":\"Returns the current base fee\"},\"getFeeDenominator()\":{\"notice\":\"Returns the current fee denominator\"},\"getPercentFee()\":{\"notice\":\"Returns the current percent fee\"},\"getPool(uint256)\":{\"notice\":\"Returns the 'Pool' struct for a given 'poolId'\"},\"getRegistry()\":{\"notice\":\"Returns the current registry address\"},\"getStrategy(uint256)\":{\"notice\":\"Returns the address of the strategy for a given 'poolId'\"},\"getTreasury()\":{\"notice\":\"Returns the current treasury address\"},\"initialize(address,address,address,uint256,uint256)\":{\"notice\":\"Initialize the Allo contract\"},\"isCloneableStrategy(address)\":{\"notice\":\"Checks if a strategy is cloneable (is in the cloneableStrategies mapping).\"},\"isPoolAdmin(uint256,address)\":{\"notice\":\"Checks if an address is a pool admin.\"},\"isPoolManager(uint256,address)\":{\"notice\":\"Checks if an address is a pool manager.\"},\"recoverFunds(address,address)\":{\"notice\":\"Recovers funds from a pool.\"},\"registerRecipient(uint256,bytes)\":{\"notice\":\"Registers a recipient and emits {Registered} event if successful and may be handled differently by each strategy.\"},\"removeFromCloneableStrategies(address)\":{\"notice\":\"Removes a strategy from the cloneable strategies.\"},\"removePoolManager(uint256,address)\":{\"notice\":\"Removes a pool manager from the pool.\"},\"updateBaseFee(uint256)\":{\"notice\":\"Updates the base fee.\"},\"updatePercentFee(uint256)\":{\"notice\":\"Updates the percentage for the fee.\"},\"updatePoolMetadata(uint256,(uint256,string))\":{\"notice\":\"Updates a pools metadata.\"},\"updateRegistry(address)\":{\"notice\":\"Update the registry address.\"},\"updateTreasury(address)\":{\"notice\":\"Updates the treasury address.\"}},\"notice\":\"Interface for the Allo contract. It exposes all functions needed to use the Allo protocol.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/allo-v2/contracts/core/interfaces/IAllo.sol\":\"IAllo\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1000},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":eas-proxy/=lib/allo-v2/lib/eas-proxy/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":hedgey-vesting/=lib/allo-v2/lib/hedgey-vesting/contracts/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-contracts/=lib/safe-contracts/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":superfluid-protocol-monorepo/=lib/allo-v2/lib/superfluid-protocol-monorepo/packages/solidity-semantic-money/src/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"]},\"sources\":{\"lib/allo-v2/contracts/core/interfaces/IAllo.sol\":{\"keccak256\":\"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7\",\"dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1\"]},\"lib/allo-v2/contracts/core/interfaces/IRegistry.sol\":{\"keccak256\":\"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e\",\"dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA\"]},\"lib/allo-v2/contracts/core/interfaces/IStrategy.sol\":{\"keccak256\":\"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487\",\"dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH\"]},\"lib/allo-v2/contracts/core/libraries/Metadata.sol\":{\"keccak256\":\"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c\",\"dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"uint256","name":"poolId","type":"uint256","indexed":true},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false}],"type":"event","name":"BaseFeePaid","anonymous":false},{"inputs":[{"internalType":"uint256","name":"baseFee","type":"uint256","indexed":false}],"type":"event","name":"BaseFeeUpdated","anonymous":false},{"inputs":[{"internalType":"uint256","name":"percentFee","type":"uint256","indexed":false}],"type":"event","name":"PercentFeeUpdated","anonymous":false},{"inputs":[{"internalType":"uint256","name":"poolId","type":"uint256","indexed":true},{"internalType":"bytes32","name":"profileId","type":"bytes32","indexed":true},{"internalType":"contract IStrategy","name":"strategy","type":"address","indexed":false},{"internalType":"address","name":"token","type":"address","indexed":false},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false},{"internalType":"struct Metadata","name":"metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}],"indexed":false}],"type":"event","name":"PoolCreated","anonymous":false},{"inputs":[{"internalType":"uint256","name":"poolId","type":"uint256","indexed":true},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false},{"internalType":"uint256","name":"fee","type":"uint256","indexed":false}],"type":"event","name":"PoolFunded","anonymous":false},{"inputs":[{"internalType":"uint256","name":"poolId","type":"uint256","indexed":true},{"internalType":"struct Metadata","name":"metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}],"indexed":false}],"type":"event","name":"PoolMetadataUpdated","anonymous":false},{"inputs":[{"internalType":"address","name":"registry","type":"address","indexed":false}],"type":"event","name":"RegistryUpdated","anonymous":false},{"inputs":[{"internalType":"address","name":"strategy","type":"address","indexed":false}],"type":"event","name":"StrategyApproved","anonymous":false},{"inputs":[{"internalType":"address","name":"strategy","type":"address","indexed":false}],"type":"event","name":"StrategyRemoved","anonymous":false},{"inputs":[{"internalType":"address","name":"treasury","type":"address","indexed":false}],"type":"event","name":"TreasuryUpdated","anonymous":false},{"inputs":[{"internalType":"uint256","name":"_poolId","type":"uint256"},{"internalType":"address","name":"_manager","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"addPoolManager"},{"inputs":[{"internalType":"address","name":"_strategy","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"addToCloneableStrategies"},{"inputs":[{"internalType":"uint256","name":"_poolId","type":"uint256"},{"internalType":"bytes","name":"_data","type":"bytes"}],"stateMutability":"payable","type":"function","name":"allocate"},{"inputs":[{"internalType":"uint256[]","name":"_poolIds","type":"uint256[]"},{"internalType":"bytes[]","name":"_datas","type":"bytes[]"}],"stateMutability":"nonpayable","type":"function","name":"batchAllocate"},{"inputs":[{"internalType":"uint256[]","name":"_poolIds","type":"uint256[]"},{"internalType":"bytes[]","name":"_data","type":"bytes[]"}],"stateMutability":"nonpayable","type":"function","name":"batchRegisterRecipient","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[{"internalType":"uint256","name":"_poolId","type":"uint256"},{"internalType":"address[]","name":"_recipientIds","type":"address[]"},{"internalType":"bytes","name":"_data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"distribute"},{"inputs":[{"internalType":"uint256","name":"_poolId","type":"uint256"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"stateMutability":"payable","type":"function","name":"fundPool"},{"inputs":[],"stateMutability":"view","type":"function","name":"getBaseFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getFeeDenominator","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getPercentFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"_poolId","type":"uint256"}],"stateMutability":"view","type":"function","name":"getPool","outputs":[{"internalType":"struct IAllo.Pool","name":"","type":"tuple","components":[{"internalType":"bytes32","name":"profileId","type":"bytes32"},{"internalType":"contract IStrategy","name":"strategy","type":"address"},{"internalType":"address","name":"token","type":"address"},{"internalType":"struct Metadata","name":"metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]},{"internalType":"bytes32","name":"managerRole","type":"bytes32"},{"internalType":"bytes32","name":"adminRole","type":"bytes32"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getRegistry","outputs":[{"internalType":"contract IRegistry","name":"","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"_poolId","type":"uint256"}],"stateMutability":"view","type":"function","name":"getStrategy","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getTreasury","outputs":[{"internalType":"address payable","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"_registry","type":"address"},{"internalType":"address payable","name":"_treasury","type":"address"},{"internalType":"uint256","name":"_percentFee","type":"uint256"},{"internalType":"uint256","name":"_baseFee","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[{"internalType":"address","name":"_strategy","type":"address"}],"stateMutability":"view","type":"function","name":"isCloneableStrategy","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"uint256","name":"_poolId","type":"uint256"},{"internalType":"address","name":"_address","type":"address"}],"stateMutability":"view","type":"function","name":"isPoolAdmin","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"uint256","name":"_poolId","type":"uint256"},{"internalType":"address","name":"_address","type":"address"}],"stateMutability":"view","type":"function","name":"isPoolManager","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"_token","type":"address"},{"internalType":"address","name":"_recipient","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"recoverFunds"},{"inputs":[{"internalType":"uint256","name":"_poolId","type":"uint256"},{"internalType":"bytes","name":"_data","type":"bytes"}],"stateMutability":"payable","type":"function","name":"registerRecipient","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"_strategy","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"removeFromCloneableStrategies"},{"inputs":[{"internalType":"uint256","name":"_poolId","type":"uint256"},{"internalType":"address","name":"_manager","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"removePoolManager"},{"inputs":[{"internalType":"uint256","name":"_baseFee","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"updateBaseFee"},{"inputs":[{"internalType":"uint256","name":"_percentFee","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"updatePercentFee"},{"inputs":[{"internalType":"uint256","name":"_poolId","type":"uint256"},{"internalType":"struct Metadata","name":"_metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]}],"stateMutability":"nonpayable","type":"function","name":"updatePoolMetadata"},{"inputs":[{"internalType":"address","name":"_registry","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"updateRegistry"},{"inputs":[{"internalType":"address payable","name":"_treasury","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"updateTreasury"}],"devdoc":{"kind":"dev","methods":{"addPoolManager(uint256,address)":{"details":"'msg.sender' must be a pool admin.","params":{"_manager":"The address of the manager to add","_poolId":"The ID of the pool to add the manager to"}},"addToCloneableStrategies(address)":{"details":"'msg.sender' must be the Allo contract owner.","params":{"_strategy":"The address of the strategy to add"}},"allocate(uint256,bytes)":{"details":"Each strategy will handle the allocation of funds differently.","params":{"_data":"The data to pass to the strategy and may be handled differently by each strategy.","_poolId":"The ID of the pool to allocate funds from"}},"batchAllocate(uint256[],bytes[])":{"details":"Each strategy will handle the allocation of funds differently"},"batchRegisterRecipient(uint256[],bytes[])":{"params":{"_data":"The data to pass to the strategy and may be handled differently by each strategy","_poolIds":"The pool ID's to register the recipients for"}},"distribute(uint256,address[],bytes)":{"details":"Each strategy will handle the distribution of funds differently","params":{"_data":"The data to pass to the strategy and may be handled differently by each strategy","_poolId":"The ID of the pool to distribute from","_recipientIds":"The recipient ids to distribute to"}},"fundPool(uint256,uint256)":{"details":"'msg.value' must be greater than 0 if the token is the native token or '_amount' must be greater than 0 if the token is not the native token.","params":{"_amount":"The amount to fund the pool with","_poolId":"The ID of the pool to fund"}},"getBaseFee()":{"returns":{"_0":"baseFee The current base fee"}},"getFeeDenominator()":{"details":"1e18 represents 100%","returns":{"_0":"feeDenominator The current fee denominator"}},"getPercentFee()":{"returns":{"_0":"percentFee The current percentage for the fee"}},"getPool(uint256)":{"params":{"_poolId":"The ID of the pool to check"},"returns":{"_0":"pool The 'Pool' struct for the ID of the pool passed in"}},"getRegistry()":{"returns":{"_0":"registry The current registry address"}},"getStrategy(uint256)":{"params":{"_poolId":"The ID of the pool to check"},"returns":{"_0":"strategy The address of the strategy for the ID of the pool passed in"}},"getTreasury()":{"returns":{"_0":"treasury The current treasury address"}},"initialize(address,address,address,uint256,uint256)":{"params":{"_baseFee":"Base fee amount","_owner":"Address of the owner","_percentFee":"Percentage for the fee","_registry":"Address of the registry contract","_treasury":"Address of the treasury"}},"isCloneableStrategy(address)":{"params":{"_strategy":"The address of the strategy to check"},"returns":{"_0":"'true' if the '_strategy' is cloneable, otherwise 'false'"}},"isPoolAdmin(uint256,address)":{"params":{"_address":"The address to check","_poolId":"The ID of the pool to check"},"returns":{"_0":"'true' if the '_address' is a pool admin, otherwise 'false'"}},"isPoolManager(uint256,address)":{"params":{"_address":"The address to check","_poolId":"The ID of the pool to check"},"returns":{"_0":"'true' if the '_address' is a pool manager, otherwise 'false'"}},"recoverFunds(address,address)":{"details":"'msg.sender' must be a pool admin.","params":{"_recipient":"The address to send the recovered funds to","_token":"The token to recover"}},"registerRecipient(uint256,bytes)":{"params":{"_poolId":"The ID of the pool to register the recipient for"}},"removeFromCloneableStrategies(address)":{"details":"'msg.sender' must be the Allo contract owner.","params":{"_strategy":"The address of the strategy to remove"}},"removePoolManager(uint256,address)":{"details":"'msg.sender' must be a pool admin.","params":{"_manager":"The address of the manager to remove","_poolId":"The ID of the pool to remove the manager from"}},"updateBaseFee(uint256)":{"details":"'msg.sender' must be the Allo contract owner.","params":{"_baseFee":"The new base fee"}},"updatePercentFee(uint256)":{"details":"'msg.sender' must be the Allo contract owner.","params":{"_percentFee":"The new percentage for the fee"}},"updatePoolMetadata(uint256,(uint256,string))":{"details":"'msg.sender' must be a pool admin.","params":{"_metadata":"The new metadata to set","_poolId":"The ID of the pool to update"}},"updateRegistry(address)":{"details":"'msg.sender' must be the Allo contract owner.","params":{"_registry":"The new registry address"}},"updateTreasury(address)":{"details":"'msg.sender' must be the Allo contract owner.","params":{"_treasury":"The new treasury address"}}},"version":1},"userdoc":{"kind":"user","methods":{"addPoolManager(uint256,address)":{"notice":"Adds a pool manager to the pool."},"addToCloneableStrategies(address)":{"notice":"Adds a strategy to the cloneable strategies."},"allocate(uint256,bytes)":{"notice":"Allocates funds to a recipient."},"batchAllocate(uint256[],bytes[])":{"notice":"Allocates funds to multiple recipients."},"batchRegisterRecipient(uint256[],bytes[])":{"notice":"Registers a batch of recipients."},"distribute(uint256,address[],bytes)":{"notice":"Distributes funds to recipients and emits {Distributed} event if successful"},"fundPool(uint256,uint256)":{"notice":"Funds a pool."},"getBaseFee()":{"notice":"Returns the current base fee"},"getFeeDenominator()":{"notice":"Returns the current fee denominator"},"getPercentFee()":{"notice":"Returns the current percent fee"},"getPool(uint256)":{"notice":"Returns the 'Pool' struct for a given 'poolId'"},"getRegistry()":{"notice":"Returns the current registry address"},"getStrategy(uint256)":{"notice":"Returns the address of the strategy for a given 'poolId'"},"getTreasury()":{"notice":"Returns the current treasury address"},"initialize(address,address,address,uint256,uint256)":{"notice":"Initialize the Allo contract"},"isCloneableStrategy(address)":{"notice":"Checks if a strategy is cloneable (is in the cloneableStrategies mapping)."},"isPoolAdmin(uint256,address)":{"notice":"Checks if an address is a pool admin."},"isPoolManager(uint256,address)":{"notice":"Checks if an address is a pool manager."},"recoverFunds(address,address)":{"notice":"Recovers funds from a pool."},"registerRecipient(uint256,bytes)":{"notice":"Registers a recipient and emits {Registered} event if successful and may be handled differently by each strategy."},"removeFromCloneableStrategies(address)":{"notice":"Removes a strategy from the cloneable strategies."},"removePoolManager(uint256,address)":{"notice":"Removes a pool manager from the pool."},"updateBaseFee(uint256)":{"notice":"Updates the base fee."},"updatePercentFee(uint256)":{"notice":"Updates the percentage for the fee."},"updatePoolMetadata(uint256,(uint256,string))":{"notice":"Updates a pools metadata."},"updateRegistry(address)":{"notice":"Update the registry address."},"updateTreasury(address)":{"notice":"Updates the treasury address."}},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","eas-proxy/=lib/allo-v2/lib/eas-proxy/contracts/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","hedgey-vesting/=lib/allo-v2/lib/hedgey-vesting/contracts/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-contracts/=lib/safe-contracts/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","superfluid-protocol-monorepo/=lib/allo-v2/lib/superfluid-protocol-monorepo/packages/solidity-semantic-money/src/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":1000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib/allo-v2/contracts/core/interfaces/IAllo.sol":"IAllo"},"evmVersion":"paris","libraries":{}},"sources":{"lib/allo-v2/contracts/core/interfaces/IAllo.sol":{"keccak256":"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce","urls":["bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7","dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/interfaces/IRegistry.sol":{"keccak256":"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f","urls":["bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e","dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA"],"license":"MIT"},"lib/allo-v2/contracts/core/interfaces/IStrategy.sol":{"keccak256":"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23","urls":["bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487","dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Metadata.sol":{"keccak256":"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44","urls":["bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c","dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn"],"license":"AGPL-3.0-only"}},"version":1},"storageLayout":{"storage":[],"types":{}},"ast":{"absolutePath":"lib/allo-v2/contracts/core/interfaces/IAllo.sol","id":2611,"exportedSymbols":{"IAllo":[2610],"IRegistry":[2802],"IStrategy":[2969],"Metadata":[3098]},"nodeType":"SourceUnit","src":"42:15030:3","nodes":[{"id":2297,"nodeType":"PragmaDirective","src":"42:24:3","nodes":[],"literals":["solidity","^","0.8",".19"]},{"id":2299,"nodeType":"ImportDirective","src":"82:42:3","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/interfaces/IRegistry.sol","file":"./IRegistry.sol","nameLocation":"-1:-1:-1","scope":2611,"sourceUnit":2803,"symbolAliases":[{"foreign":{"id":2298,"name":"IRegistry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2802,"src":"90:9:3","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":2301,"nodeType":"ImportDirective","src":"125:42:3","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/interfaces/IStrategy.sol","file":"./IStrategy.sol","nameLocation":"-1:-1:-1","scope":2611,"sourceUnit":2970,"symbolAliases":[{"foreign":{"id":2300,"name":"IStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2969,"src":"133:9:3","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":2303,"nodeType":"ImportDirective","src":"190:51:3","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/libraries/Metadata.sol","file":"../libraries/Metadata.sol","nameLocation":"-1:-1:-1","scope":2611,"sourceUnit":3099,"symbolAliases":[{"foreign":{"id":2302,"name":"Metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3098,"src":"198:8:3","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":2610,"nodeType":"ContractDefinition","src":"4531:10540:3","nodes":[{"id":2319,"nodeType":"StructDefinition","src":"4718:180:3","nodes":[],"canonicalName":"IAllo.Pool","members":[{"constant":false,"id":2306,"mutability":"mutable","name":"profileId","nameLocation":"4748:9:3","nodeType":"VariableDeclaration","scope":2319,"src":"4740:17:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2305,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4740:7:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":2309,"mutability":"mutable","name":"strategy","nameLocation":"4777:8:3","nodeType":"VariableDeclaration","scope":2319,"src":"4767:18:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"},"typeName":{"id":2308,"nodeType":"UserDefinedTypeName","pathNode":{"id":2307,"name":"IStrategy","nameLocations":["4767:9:3"],"nodeType":"IdentifierPath","referencedDeclaration":2969,"src":"4767:9:3"},"referencedDeclaration":2969,"src":"4767:9:3","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}},"visibility":"internal"},{"constant":false,"id":2311,"mutability":"mutable","name":"token","nameLocation":"4803:5:3","nodeType":"VariableDeclaration","scope":2319,"src":"4795:13:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2310,"name":"address","nodeType":"ElementaryTypeName","src":"4795:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":2314,"mutability":"mutable","name":"metadata","nameLocation":"4827:8:3","nodeType":"VariableDeclaration","scope":2319,"src":"4818:17:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"},"typeName":{"id":2313,"nodeType":"UserDefinedTypeName","pathNode":{"id":2312,"name":"Metadata","nameLocations":["4818:8:3"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"4818:8:3"},"referencedDeclaration":3098,"src":"4818:8:3","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"},{"constant":false,"id":2316,"mutability":"mutable","name":"managerRole","nameLocation":"4853:11:3","nodeType":"VariableDeclaration","scope":2319,"src":"4845:19:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2315,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4845:7:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":2318,"mutability":"mutable","name":"adminRole","nameLocation":"4882:9:3","nodeType":"VariableDeclaration","scope":2319,"src":"4874:17:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2317,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4874:7:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"name":"Pool","nameLocation":"4725:4:3","scope":2610,"visibility":"public"},{"id":2336,"nodeType":"EventDefinition","src":"5405:193:3","nodes":[],"anonymous":false,"documentation":{"id":2320,"nodeType":"StructuredDocumentation","src":"4998:402:3","text":"@notice Event emitted when a new pool is created\n @param poolId ID of the pool created\n @param profileId ID of the profile the pool is associated with\n @param strategy Address of the strategy contract\n @param token Address of the token pool was funded with when created\n @param amount Amount pool was funded with when created\n @param metadata Pool metadata"},"eventSelector":"69bcb5a6cf6a3c95185cbb451e77787240c866dd2e8332597e3013ff18a1aba1","name":"PoolCreated","nameLocation":"5411:11:3","parameters":{"id":2335,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2322,"indexed":true,"mutability":"mutable","name":"poolId","nameLocation":"5448:6:3","nodeType":"VariableDeclaration","scope":2336,"src":"5432:22:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2321,"name":"uint256","nodeType":"ElementaryTypeName","src":"5432:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2324,"indexed":true,"mutability":"mutable","name":"profileId","nameLocation":"5480:9:3","nodeType":"VariableDeclaration","scope":2336,"src":"5464:25:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2323,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5464:7:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":2327,"indexed":false,"mutability":"mutable","name":"strategy","nameLocation":"5509:8:3","nodeType":"VariableDeclaration","scope":2336,"src":"5499:18:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"},"typeName":{"id":2326,"nodeType":"UserDefinedTypeName","pathNode":{"id":2325,"name":"IStrategy","nameLocations":["5499:9:3"],"nodeType":"IdentifierPath","referencedDeclaration":2969,"src":"5499:9:3"},"referencedDeclaration":2969,"src":"5499:9:3","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}},"visibility":"internal"},{"constant":false,"id":2329,"indexed":false,"mutability":"mutable","name":"token","nameLocation":"5535:5:3","nodeType":"VariableDeclaration","scope":2336,"src":"5527:13:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2328,"name":"address","nodeType":"ElementaryTypeName","src":"5527:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":2331,"indexed":false,"mutability":"mutable","name":"amount","nameLocation":"5558:6:3","nodeType":"VariableDeclaration","scope":2336,"src":"5550:14:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2330,"name":"uint256","nodeType":"ElementaryTypeName","src":"5550:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2334,"indexed":false,"mutability":"mutable","name":"metadata","nameLocation":"5583:8:3","nodeType":"VariableDeclaration","scope":2336,"src":"5574:17:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata"},"typeName":{"id":2333,"nodeType":"UserDefinedTypeName","pathNode":{"id":2332,"name":"Metadata","nameLocations":["5574:8:3"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"5574:8:3"},"referencedDeclaration":3098,"src":"5574:8:3","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"}],"src":"5422:175:3"}},{"id":2344,"nodeType":"EventDefinition","src":"5761:69:3","nodes":[],"anonymous":false,"documentation":{"id":2337,"nodeType":"StructuredDocumentation","src":"5604:152:3","text":"@notice Emitted when a pools metadata is updated\n @param poolId ID of the pool updated\n @param metadata Pool metadata that was updated"},"eventSelector":"14f52b76bda9e4c482842cefda2968d332933577988f224e80aae18fba10edf0","name":"PoolMetadataUpdated","nameLocation":"5767:19:3","parameters":{"id":2343,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2339,"indexed":true,"mutability":"mutable","name":"poolId","nameLocation":"5803:6:3","nodeType":"VariableDeclaration","scope":2344,"src":"5787:22:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2338,"name":"uint256","nodeType":"ElementaryTypeName","src":"5787:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2342,"indexed":false,"mutability":"mutable","name":"metadata","nameLocation":"5820:8:3","nodeType":"VariableDeclaration","scope":2344,"src":"5811:17:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata"},"typeName":{"id":2341,"nodeType":"UserDefinedTypeName","pathNode":{"id":2340,"name":"Metadata","nameLocations":["5811:8:3"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"5811:8:3"},"referencedDeclaration":3098,"src":"5811:8:3","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"}],"src":"5786:43:3"}},{"id":2353,"nodeType":"EventDefinition","src":"6032:70:3","nodes":[],"anonymous":false,"documentation":{"id":2345,"nodeType":"StructuredDocumentation","src":"5836:191:3","text":"@notice Emitted when a pool is funded\n @param poolId ID of the pool funded\n @param amount Amount funded to the pool\n @param fee Amount of the fee paid to the treasury"},"eventSelector":"bf59838198f4ea92f663f5c1fc697f151a1b746b7dff86d564f250a55cbb4851","name":"PoolFunded","nameLocation":"6038:10:3","parameters":{"id":2352,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2347,"indexed":true,"mutability":"mutable","name":"poolId","nameLocation":"6065:6:3","nodeType":"VariableDeclaration","scope":2353,"src":"6049:22:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2346,"name":"uint256","nodeType":"ElementaryTypeName","src":"6049:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2349,"indexed":false,"mutability":"mutable","name":"amount","nameLocation":"6081:6:3","nodeType":"VariableDeclaration","scope":2353,"src":"6073:14:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2348,"name":"uint256","nodeType":"ElementaryTypeName","src":"6073:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2351,"indexed":false,"mutability":"mutable","name":"fee","nameLocation":"6097:3:3","nodeType":"VariableDeclaration","scope":2353,"src":"6089:11:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2350,"name":"uint256","nodeType":"ElementaryTypeName","src":"6089:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6048:53:3"}},{"id":2360,"nodeType":"EventDefinition","src":"6271:58:3","nodes":[],"anonymous":false,"documentation":{"id":2354,"nodeType":"StructuredDocumentation","src":"6108:158:3","text":"@notice Emitted when the base fee is paid\n @param poolId ID of the pool the base fee was paid for\n @param amount Amount of the base fee paid"},"eventSelector":"02e340b51c6ae66fd22509c9b016f224c47a54063d4259fe3d860958e9eaac72","name":"BaseFeePaid","nameLocation":"6277:11:3","parameters":{"id":2359,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2356,"indexed":true,"mutability":"mutable","name":"poolId","nameLocation":"6305:6:3","nodeType":"VariableDeclaration","scope":2360,"src":"6289:22:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2355,"name":"uint256","nodeType":"ElementaryTypeName","src":"6289:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2358,"indexed":false,"mutability":"mutable","name":"amount","nameLocation":"6321:6:3","nodeType":"VariableDeclaration","scope":2360,"src":"6313:14:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2357,"name":"uint256","nodeType":"ElementaryTypeName","src":"6313:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6288:40:3"}},{"id":2365,"nodeType":"EventDefinition","src":"6448:40:3","nodes":[],"anonymous":false,"documentation":{"id":2361,"nodeType":"StructuredDocumentation","src":"6335:108:3","text":"@notice Emitted when the treasury address is updated\n @param treasury Address of the new treasury"},"eventSelector":"7dae230f18360d76a040c81f050aa14eb9d6dc7901b20fc5d855e2a20fe814d1","name":"TreasuryUpdated","nameLocation":"6454:15:3","parameters":{"id":2364,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2363,"indexed":false,"mutability":"mutable","name":"treasury","nameLocation":"6478:8:3","nodeType":"VariableDeclaration","scope":2365,"src":"6470:16:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2362,"name":"address","nodeType":"ElementaryTypeName","src":"6470:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6469:18:3"}},{"id":2370,"nodeType":"EventDefinition","src":"6603:44:3","nodes":[],"anonymous":false,"documentation":{"id":2366,"nodeType":"StructuredDocumentation","src":"6494:104:3","text":"@notice Emitted when the percent fee is updated\n @param percentFee New percentage for the fee"},"eventSelector":"9e826789de2de708fd9f09edea1182545e543893caa8ff71f8eb3aab50a4b065","name":"PercentFeeUpdated","nameLocation":"6609:17:3","parameters":{"id":2369,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2368,"indexed":false,"mutability":"mutable","name":"percentFee","nameLocation":"6635:10:3","nodeType":"VariableDeclaration","scope":2370,"src":"6627:18:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2367,"name":"uint256","nodeType":"ElementaryTypeName","src":"6627:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6626:20:3"}},{"id":2375,"nodeType":"EventDefinition","src":"6749:38:3","nodes":[],"anonymous":false,"documentation":{"id":2371,"nodeType":"StructuredDocumentation","src":"6653:91:3","text":"@notice Emitted when the base fee is updated\n @param baseFee New base fee amount"},"eventSelector":"803bee7e92bbc6ae7a1551f9f4ed3e31a8ea8df32e93332f41b0028f1091f9c3","name":"BaseFeeUpdated","nameLocation":"6755:14:3","parameters":{"id":2374,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2373,"indexed":false,"mutability":"mutable","name":"baseFee","nameLocation":"6778:7:3","nodeType":"VariableDeclaration","scope":2375,"src":"6770:15:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2372,"name":"uint256","nodeType":"ElementaryTypeName","src":"6770:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6769:17:3"}},{"id":2380,"nodeType":"EventDefinition","src":"6906:40:3","nodes":[],"anonymous":false,"documentation":{"id":2376,"nodeType":"StructuredDocumentation","src":"6793:108:3","text":"@notice Emitted when the registry address is updated\n @param registry Address of the new registry"},"eventSelector":"d6ceddf6d2a22f21c7c81675c518004eff43bc5c8a6fc32a0b748e69d58671cd","name":"RegistryUpdated","nameLocation":"6912:15:3","parameters":{"id":2379,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2378,"indexed":false,"mutability":"mutable","name":"registry","nameLocation":"6936:8:3","nodeType":"VariableDeclaration","scope":2380,"src":"6928:16:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2377,"name":"address","nodeType":"ElementaryTypeName","src":"6928:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6927:18:3"}},{"id":2385,"nodeType":"EventDefinition","src":"7099:41:3","nodes":[],"anonymous":false,"documentation":{"id":2381,"nodeType":"StructuredDocumentation","src":"6952:142:3","text":"@notice Emitted when a strategy is approved and added to the cloneable strategies\n @param strategy Address of the strategy approved"},"eventSelector":"960dd94cbb79169f09a4e445d58b895df2d9bffa5b31055d0932d801724a20d1","name":"StrategyApproved","nameLocation":"7105:16:3","parameters":{"id":2384,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2383,"indexed":false,"mutability":"mutable","name":"strategy","nameLocation":"7130:8:3","nodeType":"VariableDeclaration","scope":2385,"src":"7122:16:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2382,"name":"address","nodeType":"ElementaryTypeName","src":"7122:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"7121:18:3"}},{"id":2390,"nodeType":"EventDefinition","src":"7283:40:3","nodes":[],"anonymous":false,"documentation":{"id":2386,"nodeType":"StructuredDocumentation","src":"7146:132:3","text":"@notice Emitted when a strategy is removed from the cloneable strategies\n @param strategy Address of the strategy removed"},"eventSelector":"09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea4","name":"StrategyRemoved","nameLocation":"7289:15:3","parameters":{"id":2389,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2388,"indexed":false,"mutability":"mutable","name":"strategy","nameLocation":"7313:8:3","nodeType":"VariableDeclaration","scope":2390,"src":"7305:16:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2387,"name":"address","nodeType":"ElementaryTypeName","src":"7305:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"7304:18:3"}},{"id":2404,"nodeType":"FunctionDefinition","src":"7750:176:3","nodes":[],"documentation":{"id":2391,"nodeType":"StructuredDocumentation","src":"7465:280:3","text":"@notice Initialize the Allo contract\n @param _owner Address of the owner\n @param _registry Address of the registry contract\n @param _treasury Address of the treasury\n @param _percentFee Percentage for the fee\n @param _baseFee Base fee amount"},"functionSelector":"a6b63eb8","implemented":false,"kind":"function","modifiers":[],"name":"initialize","nameLocation":"7759:10:3","parameters":{"id":2402,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2393,"mutability":"mutable","name":"_owner","nameLocation":"7787:6:3","nodeType":"VariableDeclaration","scope":2404,"src":"7779:14:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2392,"name":"address","nodeType":"ElementaryTypeName","src":"7779:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":2395,"mutability":"mutable","name":"_registry","nameLocation":"7811:9:3","nodeType":"VariableDeclaration","scope":2404,"src":"7803:17:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2394,"name":"address","nodeType":"ElementaryTypeName","src":"7803:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":2397,"mutability":"mutable","name":"_treasury","nameLocation":"7846:9:3","nodeType":"VariableDeclaration","scope":2404,"src":"7830:25:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"},"typeName":{"id":2396,"name":"address","nodeType":"ElementaryTypeName","src":"7830:15:3","stateMutability":"payable","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"visibility":"internal"},{"constant":false,"id":2399,"mutability":"mutable","name":"_percentFee","nameLocation":"7873:11:3","nodeType":"VariableDeclaration","scope":2404,"src":"7865:19:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2398,"name":"uint256","nodeType":"ElementaryTypeName","src":"7865:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2401,"mutability":"mutable","name":"_baseFee","nameLocation":"7902:8:3","nodeType":"VariableDeclaration","scope":2404,"src":"7894:16:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2400,"name":"uint256","nodeType":"ElementaryTypeName","src":"7894:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7769:147:3"},"returnParameters":{"id":2403,"nodeType":"ParameterList","parameters":[],"src":"7925:0:3"},"scope":2610,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":2413,"nodeType":"FunctionDefinition","src":"8123:81:3","nodes":[],"documentation":{"id":2405,"nodeType":"StructuredDocumentation","src":"7932:186:3","text":"@notice Updates a pools metadata.\n @dev 'msg.sender' must be a pool admin.\n @param _poolId The ID of the pool to update\n @param _metadata The new metadata to set"},"functionSelector":"5f9ca138","implemented":false,"kind":"function","modifiers":[],"name":"updatePoolMetadata","nameLocation":"8132:18:3","parameters":{"id":2411,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2407,"mutability":"mutable","name":"_poolId","nameLocation":"8159:7:3","nodeType":"VariableDeclaration","scope":2413,"src":"8151:15:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2406,"name":"uint256","nodeType":"ElementaryTypeName","src":"8151:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2410,"mutability":"mutable","name":"_metadata","nameLocation":"8184:9:3","nodeType":"VariableDeclaration","scope":2413,"src":"8168:25:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata"},"typeName":{"id":2409,"nodeType":"UserDefinedTypeName","pathNode":{"id":2408,"name":"Metadata","nameLocations":["8168:8:3"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"8168:8:3"},"referencedDeclaration":3098,"src":"8168:8:3","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"}],"src":"8150:44:3"},"returnParameters":{"id":2412,"nodeType":"ParameterList","parameters":[],"src":"8203:0:3"},"scope":2610,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":2419,"nodeType":"FunctionDefinition","src":"8364:52:3","nodes":[],"documentation":{"id":2414,"nodeType":"StructuredDocumentation","src":"8210:149:3","text":"@notice Update the registry address.\n @dev 'msg.sender' must be the Allo contract owner.\n @param _registry The new registry address"},"functionSelector":"1a5da6c8","implemented":false,"kind":"function","modifiers":[],"name":"updateRegistry","nameLocation":"8373:14:3","parameters":{"id":2417,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2416,"mutability":"mutable","name":"_registry","nameLocation":"8396:9:3","nodeType":"VariableDeclaration","scope":2419,"src":"8388:17:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2415,"name":"address","nodeType":"ElementaryTypeName","src":"8388:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"8387:19:3"},"returnParameters":{"id":2418,"nodeType":"ParameterList","parameters":[],"src":"8415:0:3"},"scope":2610,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":2425,"nodeType":"FunctionDefinition","src":"8577:60:3","nodes":[],"documentation":{"id":2420,"nodeType":"StructuredDocumentation","src":"8422:150:3","text":"@notice Updates the treasury address.\n @dev 'msg.sender' must be the Allo contract owner.\n @param _treasury The new treasury address"},"functionSelector":"7f51bb1f","implemented":false,"kind":"function","modifiers":[],"name":"updateTreasury","nameLocation":"8586:14:3","parameters":{"id":2423,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2422,"mutability":"mutable","name":"_treasury","nameLocation":"8617:9:3","nodeType":"VariableDeclaration","scope":2425,"src":"8601:25:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"},"typeName":{"id":2421,"name":"address","nodeType":"ElementaryTypeName","src":"8601:15:3","stateMutability":"payable","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"visibility":"internal"}],"src":"8600:27:3"},"returnParameters":{"id":2424,"nodeType":"ParameterList","parameters":[],"src":"8636:0:3"},"scope":2610,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":2431,"nodeType":"FunctionDefinition","src":"8812:56:3","nodes":[],"documentation":{"id":2426,"nodeType":"StructuredDocumentation","src":"8643:164:3","text":"@notice Updates the percentage for the fee.\n @dev 'msg.sender' must be the Allo contract owner.\n @param _percentFee The new percentage for the fee"},"functionSelector":"f54fc4a0","implemented":false,"kind":"function","modifiers":[],"name":"updatePercentFee","nameLocation":"8821:16:3","parameters":{"id":2429,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2428,"mutability":"mutable","name":"_percentFee","nameLocation":"8846:11:3","nodeType":"VariableDeclaration","scope":2431,"src":"8838:19:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2427,"name":"uint256","nodeType":"ElementaryTypeName","src":"8838:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8837:21:3"},"returnParameters":{"id":2430,"nodeType":"ParameterList","parameters":[],"src":"8867:0:3"},"scope":2610,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":2437,"nodeType":"FunctionDefinition","src":"9012:50:3","nodes":[],"documentation":{"id":2432,"nodeType":"StructuredDocumentation","src":"8874:133:3","text":"@notice Updates the base fee.\n @dev 'msg.sender' must be the Allo contract owner.\n @param _baseFee The new base fee"},"functionSelector":"8e690186","implemented":false,"kind":"function","modifiers":[],"name":"updateBaseFee","nameLocation":"9021:13:3","parameters":{"id":2435,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2434,"mutability":"mutable","name":"_baseFee","nameLocation":"9043:8:3","nodeType":"VariableDeclaration","scope":2437,"src":"9035:16:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2433,"name":"uint256","nodeType":"ElementaryTypeName","src":"9035:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9034:18:3"},"returnParameters":{"id":2436,"nodeType":"ParameterList","parameters":[],"src":"9061:0:3"},"scope":2610,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":2443,"nodeType":"FunctionDefinition","src":"9248:62:3","nodes":[],"documentation":{"id":2438,"nodeType":"StructuredDocumentation","src":"9068:175:3","text":"@notice Adds a strategy to the cloneable strategies.\n @dev 'msg.sender' must be the Allo contract owner.\n @param _strategy The address of the strategy to add"},"functionSelector":"41bba0b4","implemented":false,"kind":"function","modifiers":[],"name":"addToCloneableStrategies","nameLocation":"9257:24:3","parameters":{"id":2441,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2440,"mutability":"mutable","name":"_strategy","nameLocation":"9290:9:3","nodeType":"VariableDeclaration","scope":2443,"src":"9282:17:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2439,"name":"address","nodeType":"ElementaryTypeName","src":"9282:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"9281:19:3"},"returnParameters":{"id":2442,"nodeType":"ParameterList","parameters":[],"src":"9309:0:3"},"scope":2610,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":2449,"nodeType":"FunctionDefinition","src":"9504:67:3","nodes":[],"documentation":{"id":2444,"nodeType":"StructuredDocumentation","src":"9316:183:3","text":"@notice Removes a strategy from the cloneable strategies.\n @dev 'msg.sender' must be the Allo contract owner.\n @param _strategy The address of the strategy to remove"},"functionSelector":"031e2fa1","implemented":false,"kind":"function","modifiers":[],"name":"removeFromCloneableStrategies","nameLocation":"9513:29:3","parameters":{"id":2447,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2446,"mutability":"mutable","name":"_strategy","nameLocation":"9551:9:3","nodeType":"VariableDeclaration","scope":2449,"src":"9543:17:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2445,"name":"address","nodeType":"ElementaryTypeName","src":"9543:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"9542:19:3"},"returnParameters":{"id":2448,"nodeType":"ParameterList","parameters":[],"src":"9570:0:3"},"scope":2610,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":2457,"nodeType":"FunctionDefinition","src":"9796:68:3","nodes":[],"documentation":{"id":2450,"nodeType":"StructuredDocumentation","src":"9577:214:3","text":"@notice Adds a pool manager to the pool.\n @dev 'msg.sender' must be a pool admin.\n @param _poolId The ID of the pool to add the manager to\n @param _manager The address of the manager to add"},"functionSelector":"2cf682b0","implemented":false,"kind":"function","modifiers":[],"name":"addPoolManager","nameLocation":"9805:14:3","parameters":{"id":2455,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2452,"mutability":"mutable","name":"_poolId","nameLocation":"9828:7:3","nodeType":"VariableDeclaration","scope":2457,"src":"9820:15:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2451,"name":"uint256","nodeType":"ElementaryTypeName","src":"9820:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2454,"mutability":"mutable","name":"_manager","nameLocation":"9845:8:3","nodeType":"VariableDeclaration","scope":2457,"src":"9837:16:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2453,"name":"address","nodeType":"ElementaryTypeName","src":"9837:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"9819:35:3"},"returnParameters":{"id":2456,"nodeType":"ParameterList","parameters":[],"src":"9863:0:3"},"scope":2610,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":2465,"nodeType":"FunctionDefinition","src":"10102:71:3","nodes":[],"documentation":{"id":2458,"nodeType":"StructuredDocumentation","src":"9870:227:3","text":"@notice Removes a pool manager from the pool.\n @dev 'msg.sender' must be a pool admin.\n @param _poolId The ID of the pool to remove the manager from\n @param _manager The address of the manager to remove"},"functionSelector":"7f5a70bd","implemented":false,"kind":"function","modifiers":[],"name":"removePoolManager","nameLocation":"10111:17:3","parameters":{"id":2463,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2460,"mutability":"mutable","name":"_poolId","nameLocation":"10137:7:3","nodeType":"VariableDeclaration","scope":2465,"src":"10129:15:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2459,"name":"uint256","nodeType":"ElementaryTypeName","src":"10129:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2462,"mutability":"mutable","name":"_manager","nameLocation":"10154:8:3","nodeType":"VariableDeclaration","scope":2465,"src":"10146:16:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2461,"name":"address","nodeType":"ElementaryTypeName","src":"10146:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"10128:35:3"},"returnParameters":{"id":2464,"nodeType":"ParameterList","parameters":[],"src":"10172:0:3"},"scope":2610,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":2473,"nodeType":"FunctionDefinition","src":"10383:67:3","nodes":[],"documentation":{"id":2466,"nodeType":"StructuredDocumentation","src":"10179:199:3","text":"@notice Recovers funds from a pool.\n @dev 'msg.sender' must be a pool admin.\n @param _token The token to recover\n @param _recipient The address to send the recovered funds to"},"functionSelector":"24ae6a27","implemented":false,"kind":"function","modifiers":[],"name":"recoverFunds","nameLocation":"10392:12:3","parameters":{"id":2471,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2468,"mutability":"mutable","name":"_token","nameLocation":"10413:6:3","nodeType":"VariableDeclaration","scope":2473,"src":"10405:14:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2467,"name":"address","nodeType":"ElementaryTypeName","src":"10405:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":2470,"mutability":"mutable","name":"_recipient","nameLocation":"10429:10:3","nodeType":"VariableDeclaration","scope":2473,"src":"10421:18:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2469,"name":"address","nodeType":"ElementaryTypeName","src":"10421:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"10404:36:3"},"returnParameters":{"id":2472,"nodeType":"ParameterList","parameters":[],"src":"10449:0:3"},"scope":2610,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":2483,"nodeType":"FunctionDefinition","src":"10658:99:3","nodes":[],"documentation":{"id":2474,"nodeType":"StructuredDocumentation","src":"10456:197:3","text":"@notice Registers a recipient and emits {Registered} event if successful and may be handled differently by each strategy.\n @param _poolId The ID of the pool to register the recipient for"},"functionSelector":"075c0e9c","implemented":false,"kind":"function","modifiers":[],"name":"registerRecipient","nameLocation":"10667:17:3","parameters":{"id":2479,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2476,"mutability":"mutable","name":"_poolId","nameLocation":"10693:7:3","nodeType":"VariableDeclaration","scope":2483,"src":"10685:15:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2475,"name":"uint256","nodeType":"ElementaryTypeName","src":"10685:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2478,"mutability":"mutable","name":"_data","nameLocation":"10715:5:3","nodeType":"VariableDeclaration","scope":2483,"src":"10702:18:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":2477,"name":"bytes","nodeType":"ElementaryTypeName","src":"10702:5:3","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"10684:37:3"},"returnParameters":{"id":2482,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2481,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2483,"src":"10748:7:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2480,"name":"address","nodeType":"ElementaryTypeName","src":"10748:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"10747:9:3"},"scope":2610,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":2496,"nodeType":"FunctionDefinition","src":"10983:133:3","nodes":[],"documentation":{"id":2484,"nodeType":"StructuredDocumentation","src":"10763:215:3","text":"@notice Registers a batch of recipients.\n @param _poolIds The pool ID's to register the recipients for\n @param _data The data to pass to the strategy and may be handled differently by each strategy"},"functionSelector":"1a20bd88","implemented":false,"kind":"function","modifiers":[],"name":"batchRegisterRecipient","nameLocation":"10992:22:3","parameters":{"id":2491,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2487,"mutability":"mutable","name":"_poolIds","nameLocation":"11032:8:3","nodeType":"VariableDeclaration","scope":2496,"src":"11015:25:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":2485,"name":"uint256","nodeType":"ElementaryTypeName","src":"11015:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":2486,"nodeType":"ArrayTypeName","src":"11015:9:3","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":2490,"mutability":"mutable","name":"_data","nameLocation":"11057:5:3","nodeType":"VariableDeclaration","scope":2496,"src":"11042:20:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":2488,"name":"bytes","nodeType":"ElementaryTypeName","src":"11042:5:3","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":2489,"nodeType":"ArrayTypeName","src":"11042:7:3","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"11014:49:3"},"returnParameters":{"id":2495,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2494,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2496,"src":"11098:16:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":2492,"name":"address","nodeType":"ElementaryTypeName","src":"11098:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":2493,"nodeType":"ArrayTypeName","src":"11098:9:3","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"11097:18:3"},"scope":2610,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":2504,"nodeType":"FunctionDefinition","src":"11427:69:3","nodes":[],"documentation":{"id":2497,"nodeType":"StructuredDocumentation","src":"11122:300:3","text":"@notice Funds a pool.\n @dev 'msg.value' must be greater than 0 if the token is the native token\n or '_amount' must be greater than 0 if the token is not the native token.\n @param _poolId The ID of the pool to fund\n @param _amount The amount to fund the pool with"},"functionSelector":"5acd6fac","implemented":false,"kind":"function","modifiers":[],"name":"fundPool","nameLocation":"11436:8:3","parameters":{"id":2502,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2499,"mutability":"mutable","name":"_poolId","nameLocation":"11453:7:3","nodeType":"VariableDeclaration","scope":2504,"src":"11445:15:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2498,"name":"uint256","nodeType":"ElementaryTypeName","src":"11445:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2501,"mutability":"mutable","name":"_amount","nameLocation":"11470:7:3","nodeType":"VariableDeclaration","scope":2504,"src":"11462:15:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2500,"name":"uint256","nodeType":"ElementaryTypeName","src":"11462:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"11444:34:3"},"returnParameters":{"id":2503,"nodeType":"ParameterList","parameters":[],"src":"11495:0:3"},"scope":2610,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":2512,"nodeType":"FunctionDefinition","src":"11794:72:3","nodes":[],"documentation":{"id":2505,"nodeType":"StructuredDocumentation","src":"11502:287:3","text":"@notice Allocates funds to a recipient.\n @dev Each strategy will handle the allocation of funds differently.\n @param _poolId The ID of the pool to allocate funds from\n @param _data The data to pass to the strategy and may be handled differently by each strategy."},"functionSelector":"2ec38188","implemented":false,"kind":"function","modifiers":[],"name":"allocate","nameLocation":"11803:8:3","parameters":{"id":2510,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2507,"mutability":"mutable","name":"_poolId","nameLocation":"11820:7:3","nodeType":"VariableDeclaration","scope":2512,"src":"11812:15:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2506,"name":"uint256","nodeType":"ElementaryTypeName","src":"11812:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2509,"mutability":"mutable","name":"_data","nameLocation":"11842:5:3","nodeType":"VariableDeclaration","scope":2512,"src":"11829:18:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":2508,"name":"bytes","nodeType":"ElementaryTypeName","src":"11829:5:3","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"11811:37:3"},"returnParameters":{"id":2511,"nodeType":"ParameterList","parameters":[],"src":"11865:0:3"},"scope":2610,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":2522,"nodeType":"FunctionDefinition","src":"12003:84:3","nodes":[],"documentation":{"id":2513,"nodeType":"StructuredDocumentation","src":"11872:126:3","text":"@notice Allocates funds to multiple recipients.\n @dev Each strategy will handle the allocation of funds differently"},"functionSelector":"c6dff1cf","implemented":false,"kind":"function","modifiers":[],"name":"batchAllocate","nameLocation":"12012:13:3","parameters":{"id":2520,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2516,"mutability":"mutable","name":"_poolIds","nameLocation":"12045:8:3","nodeType":"VariableDeclaration","scope":2522,"src":"12026:27:3","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_calldata_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":2514,"name":"uint256","nodeType":"ElementaryTypeName","src":"12026:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":2515,"nodeType":"ArrayTypeName","src":"12026:9:3","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":2519,"mutability":"mutable","name":"_datas","nameLocation":"12070:6:3","nodeType":"VariableDeclaration","scope":2522,"src":"12055:21:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":2517,"name":"bytes","nodeType":"ElementaryTypeName","src":"12055:5:3","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":2518,"nodeType":"ArrayTypeName","src":"12055:7:3","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"12025:52:3"},"returnParameters":{"id":2521,"nodeType":"ParameterList","parameters":[],"src":"12086:0:3"},"scope":2610,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":2533,"nodeType":"FunctionDefinition","src":"12489:98:3","nodes":[],"documentation":{"id":2523,"nodeType":"StructuredDocumentation","src":"12093:391:3","text":"@notice Distributes funds to recipients and emits {Distributed} event if successful\n @dev Each strategy will handle the distribution of funds differently\n @param _poolId The ID of the pool to distribute from\n @param _recipientIds The recipient ids to distribute to\n @param _data The data to pass to the strategy and may be handled differently by each strategy"},"functionSelector":"3a5fbd92","implemented":false,"kind":"function","modifiers":[],"name":"distribute","nameLocation":"12498:10:3","parameters":{"id":2531,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2525,"mutability":"mutable","name":"_poolId","nameLocation":"12517:7:3","nodeType":"VariableDeclaration","scope":2533,"src":"12509:15:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2524,"name":"uint256","nodeType":"ElementaryTypeName","src":"12509:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2528,"mutability":"mutable","name":"_recipientIds","nameLocation":"12543:13:3","nodeType":"VariableDeclaration","scope":2533,"src":"12526:30:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":2526,"name":"address","nodeType":"ElementaryTypeName","src":"12526:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":2527,"nodeType":"ArrayTypeName","src":"12526:9:3","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":2530,"mutability":"mutable","name":"_data","nameLocation":"12571:5:3","nodeType":"VariableDeclaration","scope":2533,"src":"12558:18:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":2529,"name":"bytes","nodeType":"ElementaryTypeName","src":"12558:5:3","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"12508:69:3"},"returnParameters":{"id":2532,"nodeType":"ParameterList","parameters":[],"src":"12586:0:3"},"scope":2610,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":2543,"nodeType":"FunctionDefinition","src":"12922:85:3","nodes":[],"documentation":{"id":2534,"nodeType":"StructuredDocumentation","src":"12696:221:3","text":"@notice Checks if an address is a pool admin.\n @param _poolId The ID of the pool to check\n @param _address The address to check\n @return 'true' if the '_address' is a pool admin, otherwise 'false'"},"functionSelector":"ab3febc6","implemented":false,"kind":"function","modifiers":[],"name":"isPoolAdmin","nameLocation":"12931:11:3","parameters":{"id":2539,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2536,"mutability":"mutable","name":"_poolId","nameLocation":"12951:7:3","nodeType":"VariableDeclaration","scope":2543,"src":"12943:15:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2535,"name":"uint256","nodeType":"ElementaryTypeName","src":"12943:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2538,"mutability":"mutable","name":"_address","nameLocation":"12968:8:3","nodeType":"VariableDeclaration","scope":2543,"src":"12960:16:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2537,"name":"address","nodeType":"ElementaryTypeName","src":"12960:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"12942:35:3"},"returnParameters":{"id":2542,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2541,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2543,"src":"13001:4:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":2540,"name":"bool","nodeType":"ElementaryTypeName","src":"13001:4:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"13000:6:3"},"scope":2610,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":2553,"nodeType":"FunctionDefinition","src":"13243:87:3","nodes":[],"documentation":{"id":2544,"nodeType":"StructuredDocumentation","src":"13013:225:3","text":"@notice Checks if an address is a pool manager.\n @param _poolId The ID of the pool to check\n @param _address The address to check\n @return 'true' if the '_address' is a pool manager, otherwise 'false'"},"functionSelector":"29e40d4b","implemented":false,"kind":"function","modifiers":[],"name":"isPoolManager","nameLocation":"13252:13:3","parameters":{"id":2549,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2546,"mutability":"mutable","name":"_poolId","nameLocation":"13274:7:3","nodeType":"VariableDeclaration","scope":2553,"src":"13266:15:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2545,"name":"uint256","nodeType":"ElementaryTypeName","src":"13266:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2548,"mutability":"mutable","name":"_address","nameLocation":"13291:8:3","nodeType":"VariableDeclaration","scope":2553,"src":"13283:16:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2547,"name":"address","nodeType":"ElementaryTypeName","src":"13283:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"13265:35:3"},"returnParameters":{"id":2552,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2551,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2553,"src":"13324:4:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":2550,"name":"bool","nodeType":"ElementaryTypeName","src":"13324:4:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"13323:6:3"},"scope":2610,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":2561,"nodeType":"FunctionDefinition","src":"13563:77:3","nodes":[],"documentation":{"id":2554,"nodeType":"StructuredDocumentation","src":"13336:222:3","text":"@notice Checks if a strategy is cloneable (is in the cloneableStrategies mapping).\n @param _strategy The address of the strategy to check\n @return 'true' if the '_strategy' is cloneable, otherwise 'false'"},"functionSelector":"ab2ec589","implemented":false,"kind":"function","modifiers":[],"name":"isCloneableStrategy","nameLocation":"13572:19:3","parameters":{"id":2557,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2556,"mutability":"mutable","name":"_strategy","nameLocation":"13600:9:3","nodeType":"VariableDeclaration","scope":2561,"src":"13592:17:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2555,"name":"address","nodeType":"ElementaryTypeName","src":"13592:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"13591:19:3"},"returnParameters":{"id":2560,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2559,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2561,"src":"13634:4:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":2558,"name":"bool","nodeType":"ElementaryTypeName","src":"13634:4:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"13633:6:3"},"scope":2610,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":2569,"nodeType":"FunctionDefinition","src":"13856:70:3","nodes":[],"documentation":{"id":2562,"nodeType":"StructuredDocumentation","src":"13646:205:3","text":"@notice Returns the address of the strategy for a given 'poolId'\n @param _poolId The ID of the pool to check\n @return strategy The address of the strategy for the ID of the pool passed in"},"functionSelector":"cfc0cc34","implemented":false,"kind":"function","modifiers":[],"name":"getStrategy","nameLocation":"13865:11:3","parameters":{"id":2565,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2564,"mutability":"mutable","name":"_poolId","nameLocation":"13885:7:3","nodeType":"VariableDeclaration","scope":2569,"src":"13877:15:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2563,"name":"uint256","nodeType":"ElementaryTypeName","src":"13877:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13876:17:3"},"returnParameters":{"id":2568,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2567,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2569,"src":"13917:7:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2566,"name":"address","nodeType":"ElementaryTypeName","src":"13917:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"13916:9:3"},"scope":2610,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":2575,"nodeType":"FunctionDefinition","src":"14042:57:3","nodes":[],"documentation":{"id":2570,"nodeType":"StructuredDocumentation","src":"13932:105:3","text":"@notice Returns the current percent fee\n @return percentFee The current percentage for the fee"},"functionSelector":"4edbaadc","implemented":false,"kind":"function","modifiers":[],"name":"getPercentFee","nameLocation":"14051:13:3","parameters":{"id":2571,"nodeType":"ParameterList","parameters":[],"src":"14064:2:3"},"returnParameters":{"id":2574,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2573,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2575,"src":"14090:7:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2572,"name":"uint256","nodeType":"ElementaryTypeName","src":"14090:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"14089:9:3"},"scope":2610,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":2581,"nodeType":"FunctionDefinition","src":"14195:54:3","nodes":[],"documentation":{"id":2576,"nodeType":"StructuredDocumentation","src":"14105:85:3","text":"@notice Returns the current base fee\n @return baseFee The current base fee"},"functionSelector":"15e812ad","implemented":false,"kind":"function","modifiers":[],"name":"getBaseFee","nameLocation":"14204:10:3","parameters":{"id":2577,"nodeType":"ParameterList","parameters":[],"src":"14214:2:3"},"returnParameters":{"id":2580,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2579,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2581,"src":"14240:7:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2578,"name":"uint256","nodeType":"ElementaryTypeName","src":"14240:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"14239:9:3"},"scope":2610,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":2587,"nodeType":"FunctionDefinition","src":"14362:63:3","nodes":[],"documentation":{"id":2582,"nodeType":"StructuredDocumentation","src":"14255:102:3","text":"@notice Returns the current treasury address\n @return treasury The current treasury address"},"functionSelector":"3b19e84a","implemented":false,"kind":"function","modifiers":[],"name":"getTreasury","nameLocation":"14371:11:3","parameters":{"id":2583,"nodeType":"ParameterList","parameters":[],"src":"14382:2:3"},"returnParameters":{"id":2586,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2585,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2587,"src":"14408:15:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"},"typeName":{"id":2584,"name":"address","nodeType":"ElementaryTypeName","src":"14408:15:3","stateMutability":"payable","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"visibility":"internal"}],"src":"14407:17:3"},"scope":2610,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":2594,"nodeType":"FunctionDefinition","src":"14538:57:3","nodes":[],"documentation":{"id":2588,"nodeType":"StructuredDocumentation","src":"14431:102:3","text":"@notice Returns the current registry address\n @return registry The current registry address"},"functionSelector":"5ab1bd53","implemented":false,"kind":"function","modifiers":[],"name":"getRegistry","nameLocation":"14547:11:3","parameters":{"id":2589,"nodeType":"ParameterList","parameters":[],"src":"14558:2:3"},"returnParameters":{"id":2593,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2592,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2594,"src":"14584:9:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"},"typeName":{"id":2591,"nodeType":"UserDefinedTypeName","pathNode":{"id":2590,"name":"IRegistry","nameLocations":["14584:9:3"],"nodeType":"IdentifierPath","referencedDeclaration":2802,"src":"14584:9:3"},"referencedDeclaration":2802,"src":"14584:9:3","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"}},"visibility":"internal"}],"src":"14583:11:3"},"scope":2610,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":2603,"nodeType":"FunctionDefinition","src":"14787:70:3","nodes":[],"documentation":{"id":2595,"nodeType":"StructuredDocumentation","src":"14601:181:3","text":"@notice Returns the 'Pool' struct for a given 'poolId'\n @param _poolId The ID of the pool to check\n @return pool The 'Pool' struct for the ID of the pool passed in"},"functionSelector":"068bcd8d","implemented":false,"kind":"function","modifiers":[],"name":"getPool","nameLocation":"14796:7:3","parameters":{"id":2598,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2597,"mutability":"mutable","name":"_poolId","nameLocation":"14812:7:3","nodeType":"VariableDeclaration","scope":2603,"src":"14804:15:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2596,"name":"uint256","nodeType":"ElementaryTypeName","src":"14804:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"14803:17:3"},"returnParameters":{"id":2602,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2601,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2603,"src":"14844:11:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool"},"typeName":{"id":2600,"nodeType":"UserDefinedTypeName","pathNode":{"id":2599,"name":"Pool","nameLocations":["14844:4:3"],"nodeType":"IdentifierPath","referencedDeclaration":2319,"src":"14844:4:3"},"referencedDeclaration":2319,"src":"14844:4:3","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool"}},"visibility":"internal"}],"src":"14843:13:3"},"scope":2610,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":2609,"nodeType":"FunctionDefinition","src":"15008:61:3","nodes":[],"documentation":{"id":2604,"nodeType":"StructuredDocumentation","src":"14863:140:3","text":"@notice Returns the current fee denominator\n @dev 1e18 represents 100%\n @return feeDenominator The current fee denominator"},"functionSelector":"f4e1fc41","implemented":false,"kind":"function","modifiers":[],"name":"getFeeDenominator","nameLocation":"15017:17:3","parameters":{"id":2605,"nodeType":"ParameterList","parameters":[],"src":"15034:2:3"},"returnParameters":{"id":2608,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2607,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2609,"src":"15060:7:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2606,"name":"uint256","nodeType":"ElementaryTypeName","src":"15060:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15059:9:3"},"scope":2610,"stateMutability":"view","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"IAllo","contractDependencies":[],"contractKind":"interface","documentation":{"id":2304,"nodeType":"StructuredDocumentation","src":"4234:297:3","text":"@title Allo Interface\n @author @thelostone-mc , @0xKurt , @codenamejason , @0xZakk , @nfrgosselin \n @notice Interface for the Allo contract. It exposes all functions needed to use the Allo protocol."},"fullyImplemented":false,"linearizedBaseContracts":[2610],"name":"IAllo","nameLocation":"4541:5:3","scope":2611,"usedErrors":[]}],"license":"AGPL-3.0-only"},"id":3} \ No newline at end of file diff --git a/pkg/contracts/out/IERC20.sol/IERC20.json b/pkg/contracts/out/IERC20.sol/IERC20.json index 1c37ceb0e..aec60cc8b 100644 --- a/pkg/contracts/out/IERC20.sol/IERC20.json +++ b/pkg/contracts/out/IERC20.sol/IERC20.json @@ -1 +1 @@ -{"abi":[{"type":"function","name":"allowance","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"spender","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"approve","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"balanceOf","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"decimals","inputs":[],"outputs":[{"name":"","type":"uint8","internalType":"uint8"}],"stateMutability":"view"},{"type":"function","name":"name","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"symbol","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"totalSupply","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"transfer","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"transferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"event","name":"Approval","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"spender","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Transfer","inputs":[{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"to","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"allowance(address,address)":"dd62ed3e","approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","decimals()":"313ce567","name()":"06fdde03","symbol()":"95d89b41","totalSupply()":"18160ddd","transfer(address,uint256)":"a9059cbb","transferFrom(address,address,uint256)":"23b872dd"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Interface of the ERC20 standard as defined in the EIP.This includes the optional name, symbol, and decimals metadata.\",\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when the allowance of a `spender` for an `owner` is set, where `value` is the new allowance.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `value` tokens are moved from one account (`from`) to another (`to`).\"}},\"kind\":\"dev\",\"methods\":{\"approve(address,uint256)\":{\"details\":\"Be aware of front-running risks: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"allowance(address,address)\":{\"notice\":\"Returns the remaining number of tokens that `spender` is allowed to spend on behalf of `owner`\"},\"approve(address,uint256)\":{\"notice\":\"Sets `amount` as the allowance of `spender` over the caller's tokens.\"},\"balanceOf(address)\":{\"notice\":\"Returns the amount of tokens owned by `account`.\"},\"decimals()\":{\"notice\":\"Returns the decimals places of the token.\"},\"name()\":{\"notice\":\"Returns the name of the token.\"},\"symbol()\":{\"notice\":\"Returns the symbol of the token.\"},\"totalSupply()\":{\"notice\":\"Returns the amount of tokens in existence.\"},\"transfer(address,uint256)\":{\"notice\":\"Moves `amount` tokens from the caller's account to `to`.\"},\"transferFrom(address,address,uint256)\":{\"notice\":\"Moves `amount` tokens from `from` to `to` using the allowance mechanism. `amount` is then deducted from the caller's allowance.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/interfaces/IERC20.sol\":\"IERC20\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1000},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-contracts/=lib/safe-contracts/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"]},\"sources\":{\"lib/forge-std/src/interfaces/IERC20.sol\":{\"keccak256\":\"0x4cab887298790f908c27de107e4e2907ca5413aee482ef776f8d2f353c5ef947\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb715e0c4a2bdbe432bb624501506041f06e878e0b72675aebba30ad2c2b72e7\",\"dweb:/ipfs/QmWhhLSvkxS2NrukJJHqFY8gDVE5r9rD4PfHvR24pwdKv9\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"address","name":"spender","type":"address","indexed":true},{"internalType":"uint256","name":"value","type":"uint256","indexed":false}],"type":"event","name":"Approval","anonymous":false},{"inputs":[{"internalType":"address","name":"from","type":"address","indexed":true},{"internalType":"address","name":"to","type":"address","indexed":true},{"internalType":"uint256","name":"value","type":"uint256","indexed":false}],"type":"event","name":"Transfer","anonymous":false},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"stateMutability":"view","type":"function","name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"name","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}]}],"devdoc":{"kind":"dev","methods":{"approve(address,uint256)":{"details":"Be aware of front-running risks: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729"}},"version":1},"userdoc":{"kind":"user","methods":{"allowance(address,address)":{"notice":"Returns the remaining number of tokens that `spender` is allowed to spend on behalf of `owner`"},"approve(address,uint256)":{"notice":"Sets `amount` as the allowance of `spender` over the caller's tokens."},"balanceOf(address)":{"notice":"Returns the amount of tokens owned by `account`."},"decimals()":{"notice":"Returns the decimals places of the token."},"name()":{"notice":"Returns the name of the token."},"symbol()":{"notice":"Returns the symbol of the token."},"totalSupply()":{"notice":"Returns the amount of tokens in existence."},"transfer(address,uint256)":{"notice":"Moves `amount` tokens from the caller's account to `to`."},"transferFrom(address,address,uint256)":{"notice":"Moves `amount` tokens from `from` to `to` using the allowance mechanism. `amount` is then deducted from the caller's allowance."}},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-contracts/=lib/safe-contracts/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":1000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib/forge-std/src/interfaces/IERC20.sol":"IERC20"},"evmVersion":"paris","libraries":{}},"sources":{"lib/forge-std/src/interfaces/IERC20.sol":{"keccak256":"0x4cab887298790f908c27de107e4e2907ca5413aee482ef776f8d2f353c5ef947","urls":["bzz-raw://bb715e0c4a2bdbe432bb624501506041f06e878e0b72675aebba30ad2c2b72e7","dweb:/ipfs/QmWhhLSvkxS2NrukJJHqFY8gDVE5r9rD4PfHvR24pwdKv9"],"license":"MIT"}},"version":1},"storageLayout":{"storage":[],"types":{}},"ast":{"absolutePath":"lib/forge-std/src/interfaces/IERC20.sol","id":37782,"exportedSymbols":{"IERC20":[37781]},"nodeType":"SourceUnit","src":"32:2035:38","nodes":[{"id":37687,"nodeType":"PragmaDirective","src":"32:24:38","nodes":[],"literals":["solidity",">=","0.6",".2"]},{"id":37781,"nodeType":"ContractDefinition","src":"195:1871:38","nodes":[{"id":37697,"nodeType":"EventDefinition","src":"314:72:38","nodes":[],"anonymous":false,"documentation":{"id":37689,"nodeType":"StructuredDocumentation","src":"218:91:38","text":"@dev Emitted when `value` tokens are moved from one account (`from`) to another (`to`)."},"eventSelector":"ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef","name":"Transfer","nameLocation":"320:8:38","parameters":{"id":37696,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37691,"indexed":true,"mutability":"mutable","name":"from","nameLocation":"345:4:38","nodeType":"VariableDeclaration","scope":37697,"src":"329:20:38","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":37690,"name":"address","nodeType":"ElementaryTypeName","src":"329:7:38","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":37693,"indexed":true,"mutability":"mutable","name":"to","nameLocation":"367:2:38","nodeType":"VariableDeclaration","scope":37697,"src":"351:18:38","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":37692,"name":"address","nodeType":"ElementaryTypeName","src":"351:7:38","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":37695,"indexed":false,"mutability":"mutable","name":"value","nameLocation":"379:5:38","nodeType":"VariableDeclaration","scope":37697,"src":"371:13:38","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":37694,"name":"uint256","nodeType":"ElementaryTypeName","src":"371:7:38","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"328:57:38"}},{"id":37706,"nodeType":"EventDefinition","src":"514:78:38","nodes":[],"anonymous":false,"documentation":{"id":37698,"nodeType":"StructuredDocumentation","src":"392:117:38","text":"@dev Emitted when the allowance of a `spender` for an `owner` is set, where `value`\n is the new allowance."},"eventSelector":"8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925","name":"Approval","nameLocation":"520:8:38","parameters":{"id":37705,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37700,"indexed":true,"mutability":"mutable","name":"owner","nameLocation":"545:5:38","nodeType":"VariableDeclaration","scope":37706,"src":"529:21:38","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":37699,"name":"address","nodeType":"ElementaryTypeName","src":"529:7:38","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":37702,"indexed":true,"mutability":"mutable","name":"spender","nameLocation":"568:7:38","nodeType":"VariableDeclaration","scope":37706,"src":"552:23:38","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":37701,"name":"address","nodeType":"ElementaryTypeName","src":"552:7:38","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":37704,"indexed":false,"mutability":"mutable","name":"value","nameLocation":"585:5:38","nodeType":"VariableDeclaration","scope":37706,"src":"577:13:38","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":37703,"name":"uint256","nodeType":"ElementaryTypeName","src":"577:7:38","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"528:63:38"}},{"id":37712,"nodeType":"FunctionDefinition","src":"657:55:38","nodes":[],"documentation":{"id":37707,"nodeType":"StructuredDocumentation","src":"598:54:38","text":"@notice Returns the amount of tokens in existence."},"functionSelector":"18160ddd","implemented":false,"kind":"function","modifiers":[],"name":"totalSupply","nameLocation":"666:11:38","parameters":{"id":37708,"nodeType":"ParameterList","parameters":[],"src":"677:2:38"},"returnParameters":{"id":37711,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37710,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":37712,"src":"703:7:38","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":37709,"name":"uint256","nodeType":"ElementaryTypeName","src":"703:7:38","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"702:9:38"},"scope":37781,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":37720,"nodeType":"FunctionDefinition","src":"783:68:38","nodes":[],"documentation":{"id":37713,"nodeType":"StructuredDocumentation","src":"718:60:38","text":"@notice Returns the amount of tokens owned by `account`."},"functionSelector":"70a08231","implemented":false,"kind":"function","modifiers":[],"name":"balanceOf","nameLocation":"792:9:38","parameters":{"id":37716,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37715,"mutability":"mutable","name":"account","nameLocation":"810:7:38","nodeType":"VariableDeclaration","scope":37720,"src":"802:15:38","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":37714,"name":"address","nodeType":"ElementaryTypeName","src":"802:7:38","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"801:17:38"},"returnParameters":{"id":37719,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37718,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":37720,"src":"842:7:38","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":37717,"name":"uint256","nodeType":"ElementaryTypeName","src":"842:7:38","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"841:9:38"},"scope":37781,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":37730,"nodeType":"FunctionDefinition","src":"930:70:38","nodes":[],"documentation":{"id":37721,"nodeType":"StructuredDocumentation","src":"857:68:38","text":"@notice Moves `amount` tokens from the caller's account to `to`."},"functionSelector":"a9059cbb","implemented":false,"kind":"function","modifiers":[],"name":"transfer","nameLocation":"939:8:38","parameters":{"id":37726,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37723,"mutability":"mutable","name":"to","nameLocation":"956:2:38","nodeType":"VariableDeclaration","scope":37730,"src":"948:10:38","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":37722,"name":"address","nodeType":"ElementaryTypeName","src":"948:7:38","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":37725,"mutability":"mutable","name":"amount","nameLocation":"968:6:38","nodeType":"VariableDeclaration","scope":37730,"src":"960:14:38","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":37724,"name":"uint256","nodeType":"ElementaryTypeName","src":"960:7:38","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"947:28:38"},"returnParameters":{"id":37729,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37728,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":37730,"src":"994:4:38","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":37727,"name":"bool","nodeType":"ElementaryTypeName","src":"994:4:38","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"993:6:38"},"scope":37781,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":37740,"nodeType":"FunctionDefinition","src":"1125:83:38","nodes":[],"documentation":{"id":37731,"nodeType":"StructuredDocumentation","src":"1006:114:38","text":"@notice Returns the remaining number of tokens that `spender` is allowed\n to spend on behalf of `owner`"},"functionSelector":"dd62ed3e","implemented":false,"kind":"function","modifiers":[],"name":"allowance","nameLocation":"1134:9:38","parameters":{"id":37736,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37733,"mutability":"mutable","name":"owner","nameLocation":"1152:5:38","nodeType":"VariableDeclaration","scope":37740,"src":"1144:13:38","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":37732,"name":"address","nodeType":"ElementaryTypeName","src":"1144:7:38","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":37735,"mutability":"mutable","name":"spender","nameLocation":"1167:7:38","nodeType":"VariableDeclaration","scope":37740,"src":"1159:15:38","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":37734,"name":"address","nodeType":"ElementaryTypeName","src":"1159:7:38","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1143:32:38"},"returnParameters":{"id":37739,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37738,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":37740,"src":"1199:7:38","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":37737,"name":"uint256","nodeType":"ElementaryTypeName","src":"1199:7:38","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1198:9:38"},"scope":37781,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":37750,"nodeType":"FunctionDefinition","src":"1412:74:38","nodes":[],"documentation":{"id":37741,"nodeType":"StructuredDocumentation","src":"1214:193:38","text":"@notice Sets `amount` as the allowance of `spender` over the caller's tokens.\n @dev Be aware of front-running risks: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729"},"functionSelector":"095ea7b3","implemented":false,"kind":"function","modifiers":[],"name":"approve","nameLocation":"1421:7:38","parameters":{"id":37746,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37743,"mutability":"mutable","name":"spender","nameLocation":"1437:7:38","nodeType":"VariableDeclaration","scope":37750,"src":"1429:15:38","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":37742,"name":"address","nodeType":"ElementaryTypeName","src":"1429:7:38","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":37745,"mutability":"mutable","name":"amount","nameLocation":"1454:6:38","nodeType":"VariableDeclaration","scope":37750,"src":"1446:14:38","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":37744,"name":"uint256","nodeType":"ElementaryTypeName","src":"1446:7:38","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1428:33:38"},"returnParameters":{"id":37749,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37748,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":37750,"src":"1480:4:38","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":37747,"name":"bool","nodeType":"ElementaryTypeName","src":"1480:4:38","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1479:6:38"},"scope":37781,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":37762,"nodeType":"FunctionDefinition","src":"1644:88:38","nodes":[],"documentation":{"id":37751,"nodeType":"StructuredDocumentation","src":"1492:147:38","text":"@notice Moves `amount` tokens from `from` to `to` using the allowance mechanism.\n `amount` is then deducted from the caller's allowance."},"functionSelector":"23b872dd","implemented":false,"kind":"function","modifiers":[],"name":"transferFrom","nameLocation":"1653:12:38","parameters":{"id":37758,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37753,"mutability":"mutable","name":"from","nameLocation":"1674:4:38","nodeType":"VariableDeclaration","scope":37762,"src":"1666:12:38","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":37752,"name":"address","nodeType":"ElementaryTypeName","src":"1666:7:38","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":37755,"mutability":"mutable","name":"to","nameLocation":"1688:2:38","nodeType":"VariableDeclaration","scope":37762,"src":"1680:10:38","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":37754,"name":"address","nodeType":"ElementaryTypeName","src":"1680:7:38","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":37757,"mutability":"mutable","name":"amount","nameLocation":"1700:6:38","nodeType":"VariableDeclaration","scope":37762,"src":"1692:14:38","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":37756,"name":"uint256","nodeType":"ElementaryTypeName","src":"1692:7:38","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1665:42:38"},"returnParameters":{"id":37761,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37760,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":37762,"src":"1726:4:38","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":37759,"name":"bool","nodeType":"ElementaryTypeName","src":"1726:4:38","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1725:6:38"},"scope":37781,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":37768,"nodeType":"FunctionDefinition","src":"1785:54:38","nodes":[],"documentation":{"id":37763,"nodeType":"StructuredDocumentation","src":"1738:42:38","text":"@notice Returns the name of the token."},"functionSelector":"06fdde03","implemented":false,"kind":"function","modifiers":[],"name":"name","nameLocation":"1794:4:38","parameters":{"id":37764,"nodeType":"ParameterList","parameters":[],"src":"1798:2:38"},"returnParameters":{"id":37767,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37766,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":37768,"src":"1824:13:38","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":37765,"name":"string","nodeType":"ElementaryTypeName","src":"1824:6:38","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1823:15:38"},"scope":37781,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":37774,"nodeType":"FunctionDefinition","src":"1894:56:38","nodes":[],"documentation":{"id":37769,"nodeType":"StructuredDocumentation","src":"1845:44:38","text":"@notice Returns the symbol of the token."},"functionSelector":"95d89b41","implemented":false,"kind":"function","modifiers":[],"name":"symbol","nameLocation":"1903:6:38","parameters":{"id":37770,"nodeType":"ParameterList","parameters":[],"src":"1909:2:38"},"returnParameters":{"id":37773,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37772,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":37774,"src":"1935:13:38","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":37771,"name":"string","nodeType":"ElementaryTypeName","src":"1935:6:38","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1934:15:38"},"scope":37781,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":37780,"nodeType":"FunctionDefinition","src":"2014:50:38","nodes":[],"documentation":{"id":37775,"nodeType":"StructuredDocumentation","src":"1956:53:38","text":"@notice Returns the decimals places of the token."},"functionSelector":"313ce567","implemented":false,"kind":"function","modifiers":[],"name":"decimals","nameLocation":"2023:8:38","parameters":{"id":37776,"nodeType":"ParameterList","parameters":[],"src":"2031:2:38"},"returnParameters":{"id":37779,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37778,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":37780,"src":"2057:5:38","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":37777,"name":"uint8","nodeType":"ElementaryTypeName","src":"2057:5:38","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"2056:7:38"},"scope":37781,"stateMutability":"view","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"IERC20","contractDependencies":[],"contractKind":"interface","documentation":{"id":37688,"nodeType":"StructuredDocumentation","src":"58:137:38","text":"@dev Interface of the ERC20 standard as defined in the EIP.\n @dev This includes the optional name, symbol, and decimals metadata."},"fullyImplemented":false,"linearizedBaseContracts":[37781],"name":"IERC20","nameLocation":"205:6:38","scope":37782,"usedErrors":[]}],"license":"MIT"},"id":38} \ No newline at end of file +{"abi":[{"type":"function","name":"allowance","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"spender","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"approve","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"balanceOf","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"decimals","inputs":[],"outputs":[{"name":"","type":"uint8","internalType":"uint8"}],"stateMutability":"view"},{"type":"function","name":"name","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"symbol","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"totalSupply","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"transfer","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"transferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"event","name":"Approval","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"spender","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Transfer","inputs":[{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"to","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"allowance(address,address)":"dd62ed3e","approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","decimals()":"313ce567","name()":"06fdde03","symbol()":"95d89b41","totalSupply()":"18160ddd","transfer(address,uint256)":"a9059cbb","transferFrom(address,address,uint256)":"23b872dd"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Interface of the ERC20 standard as defined in the EIP.This includes the optional name, symbol, and decimals metadata.\",\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when the allowance of a `spender` for an `owner` is set, where `value` is the new allowance.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `value` tokens are moved from one account (`from`) to another (`to`).\"}},\"kind\":\"dev\",\"methods\":{\"approve(address,uint256)\":{\"details\":\"Be aware of front-running risks: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"allowance(address,address)\":{\"notice\":\"Returns the remaining number of tokens that `spender` is allowed to spend on behalf of `owner`\"},\"approve(address,uint256)\":{\"notice\":\"Sets `amount` as the allowance of `spender` over the caller's tokens.\"},\"balanceOf(address)\":{\"notice\":\"Returns the amount of tokens owned by `account`.\"},\"decimals()\":{\"notice\":\"Returns the decimals places of the token.\"},\"name()\":{\"notice\":\"Returns the name of the token.\"},\"symbol()\":{\"notice\":\"Returns the symbol of the token.\"},\"totalSupply()\":{\"notice\":\"Returns the amount of tokens in existence.\"},\"transfer(address,uint256)\":{\"notice\":\"Moves `amount` tokens from the caller's account to `to`.\"},\"transferFrom(address,address,uint256)\":{\"notice\":\"Moves `amount` tokens from `from` to `to` using the allowance mechanism. `amount` is then deducted from the caller's allowance.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/interfaces/IERC20.sol\":\"IERC20\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1000},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":eas-proxy/=lib/allo-v2/lib/eas-proxy/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":hedgey-vesting/=lib/allo-v2/lib/hedgey-vesting/contracts/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-contracts/=lib/safe-contracts/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":superfluid-protocol-monorepo/=lib/allo-v2/lib/superfluid-protocol-monorepo/packages/solidity-semantic-money/src/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"]},\"sources\":{\"lib/forge-std/src/interfaces/IERC20.sol\":{\"keccak256\":\"0x4cab887298790f908c27de107e4e2907ca5413aee482ef776f8d2f353c5ef947\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb715e0c4a2bdbe432bb624501506041f06e878e0b72675aebba30ad2c2b72e7\",\"dweb:/ipfs/QmWhhLSvkxS2NrukJJHqFY8gDVE5r9rD4PfHvR24pwdKv9\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"address","name":"spender","type":"address","indexed":true},{"internalType":"uint256","name":"value","type":"uint256","indexed":false}],"type":"event","name":"Approval","anonymous":false},{"inputs":[{"internalType":"address","name":"from","type":"address","indexed":true},{"internalType":"address","name":"to","type":"address","indexed":true},{"internalType":"uint256","name":"value","type":"uint256","indexed":false}],"type":"event","name":"Transfer","anonymous":false},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"stateMutability":"view","type":"function","name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"name","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}]}],"devdoc":{"kind":"dev","methods":{"approve(address,uint256)":{"details":"Be aware of front-running risks: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729"}},"version":1},"userdoc":{"kind":"user","methods":{"allowance(address,address)":{"notice":"Returns the remaining number of tokens that `spender` is allowed to spend on behalf of `owner`"},"approve(address,uint256)":{"notice":"Sets `amount` as the allowance of `spender` over the caller's tokens."},"balanceOf(address)":{"notice":"Returns the amount of tokens owned by `account`."},"decimals()":{"notice":"Returns the decimals places of the token."},"name()":{"notice":"Returns the name of the token."},"symbol()":{"notice":"Returns the symbol of the token."},"totalSupply()":{"notice":"Returns the amount of tokens in existence."},"transfer(address,uint256)":{"notice":"Moves `amount` tokens from the caller's account to `to`."},"transferFrom(address,address,uint256)":{"notice":"Moves `amount` tokens from `from` to `to` using the allowance mechanism. `amount` is then deducted from the caller's allowance."}},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","eas-proxy/=lib/allo-v2/lib/eas-proxy/contracts/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","hedgey-vesting/=lib/allo-v2/lib/hedgey-vesting/contracts/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-contracts/=lib/safe-contracts/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","superfluid-protocol-monorepo/=lib/allo-v2/lib/superfluid-protocol-monorepo/packages/solidity-semantic-money/src/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":1000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib/forge-std/src/interfaces/IERC20.sol":"IERC20"},"evmVersion":"paris","libraries":{}},"sources":{"lib/forge-std/src/interfaces/IERC20.sol":{"keccak256":"0x4cab887298790f908c27de107e4e2907ca5413aee482ef776f8d2f353c5ef947","urls":["bzz-raw://bb715e0c4a2bdbe432bb624501506041f06e878e0b72675aebba30ad2c2b72e7","dweb:/ipfs/QmWhhLSvkxS2NrukJJHqFY8gDVE5r9rD4PfHvR24pwdKv9"],"license":"MIT"}},"version":1},"storageLayout":{"storage":[],"types":{}},"ast":{"absolutePath":"lib/forge-std/src/interfaces/IERC20.sol","id":37782,"exportedSymbols":{"IERC20":[37781]},"nodeType":"SourceUnit","src":"32:2035:38","nodes":[{"id":37687,"nodeType":"PragmaDirective","src":"32:24:38","nodes":[],"literals":["solidity",">=","0.6",".2"]},{"id":37781,"nodeType":"ContractDefinition","src":"195:1871:38","nodes":[{"id":37697,"nodeType":"EventDefinition","src":"314:72:38","nodes":[],"anonymous":false,"documentation":{"id":37689,"nodeType":"StructuredDocumentation","src":"218:91:38","text":"@dev Emitted when `value` tokens are moved from one account (`from`) to another (`to`)."},"eventSelector":"ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef","name":"Transfer","nameLocation":"320:8:38","parameters":{"id":37696,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37691,"indexed":true,"mutability":"mutable","name":"from","nameLocation":"345:4:38","nodeType":"VariableDeclaration","scope":37697,"src":"329:20:38","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":37690,"name":"address","nodeType":"ElementaryTypeName","src":"329:7:38","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":37693,"indexed":true,"mutability":"mutable","name":"to","nameLocation":"367:2:38","nodeType":"VariableDeclaration","scope":37697,"src":"351:18:38","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":37692,"name":"address","nodeType":"ElementaryTypeName","src":"351:7:38","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":37695,"indexed":false,"mutability":"mutable","name":"value","nameLocation":"379:5:38","nodeType":"VariableDeclaration","scope":37697,"src":"371:13:38","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":37694,"name":"uint256","nodeType":"ElementaryTypeName","src":"371:7:38","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"328:57:38"}},{"id":37706,"nodeType":"EventDefinition","src":"514:78:38","nodes":[],"anonymous":false,"documentation":{"id":37698,"nodeType":"StructuredDocumentation","src":"392:117:38","text":"@dev Emitted when the allowance of a `spender` for an `owner` is set, where `value`\n is the new allowance."},"eventSelector":"8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925","name":"Approval","nameLocation":"520:8:38","parameters":{"id":37705,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37700,"indexed":true,"mutability":"mutable","name":"owner","nameLocation":"545:5:38","nodeType":"VariableDeclaration","scope":37706,"src":"529:21:38","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":37699,"name":"address","nodeType":"ElementaryTypeName","src":"529:7:38","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":37702,"indexed":true,"mutability":"mutable","name":"spender","nameLocation":"568:7:38","nodeType":"VariableDeclaration","scope":37706,"src":"552:23:38","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":37701,"name":"address","nodeType":"ElementaryTypeName","src":"552:7:38","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":37704,"indexed":false,"mutability":"mutable","name":"value","nameLocation":"585:5:38","nodeType":"VariableDeclaration","scope":37706,"src":"577:13:38","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":37703,"name":"uint256","nodeType":"ElementaryTypeName","src":"577:7:38","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"528:63:38"}},{"id":37712,"nodeType":"FunctionDefinition","src":"657:55:38","nodes":[],"documentation":{"id":37707,"nodeType":"StructuredDocumentation","src":"598:54:38","text":"@notice Returns the amount of tokens in existence."},"functionSelector":"18160ddd","implemented":false,"kind":"function","modifiers":[],"name":"totalSupply","nameLocation":"666:11:38","parameters":{"id":37708,"nodeType":"ParameterList","parameters":[],"src":"677:2:38"},"returnParameters":{"id":37711,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37710,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":37712,"src":"703:7:38","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":37709,"name":"uint256","nodeType":"ElementaryTypeName","src":"703:7:38","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"702:9:38"},"scope":37781,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":37720,"nodeType":"FunctionDefinition","src":"783:68:38","nodes":[],"documentation":{"id":37713,"nodeType":"StructuredDocumentation","src":"718:60:38","text":"@notice Returns the amount of tokens owned by `account`."},"functionSelector":"70a08231","implemented":false,"kind":"function","modifiers":[],"name":"balanceOf","nameLocation":"792:9:38","parameters":{"id":37716,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37715,"mutability":"mutable","name":"account","nameLocation":"810:7:38","nodeType":"VariableDeclaration","scope":37720,"src":"802:15:38","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":37714,"name":"address","nodeType":"ElementaryTypeName","src":"802:7:38","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"801:17:38"},"returnParameters":{"id":37719,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37718,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":37720,"src":"842:7:38","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":37717,"name":"uint256","nodeType":"ElementaryTypeName","src":"842:7:38","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"841:9:38"},"scope":37781,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":37730,"nodeType":"FunctionDefinition","src":"930:70:38","nodes":[],"documentation":{"id":37721,"nodeType":"StructuredDocumentation","src":"857:68:38","text":"@notice Moves `amount` tokens from the caller's account to `to`."},"functionSelector":"a9059cbb","implemented":false,"kind":"function","modifiers":[],"name":"transfer","nameLocation":"939:8:38","parameters":{"id":37726,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37723,"mutability":"mutable","name":"to","nameLocation":"956:2:38","nodeType":"VariableDeclaration","scope":37730,"src":"948:10:38","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":37722,"name":"address","nodeType":"ElementaryTypeName","src":"948:7:38","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":37725,"mutability":"mutable","name":"amount","nameLocation":"968:6:38","nodeType":"VariableDeclaration","scope":37730,"src":"960:14:38","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":37724,"name":"uint256","nodeType":"ElementaryTypeName","src":"960:7:38","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"947:28:38"},"returnParameters":{"id":37729,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37728,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":37730,"src":"994:4:38","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":37727,"name":"bool","nodeType":"ElementaryTypeName","src":"994:4:38","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"993:6:38"},"scope":37781,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":37740,"nodeType":"FunctionDefinition","src":"1125:83:38","nodes":[],"documentation":{"id":37731,"nodeType":"StructuredDocumentation","src":"1006:114:38","text":"@notice Returns the remaining number of tokens that `spender` is allowed\n to spend on behalf of `owner`"},"functionSelector":"dd62ed3e","implemented":false,"kind":"function","modifiers":[],"name":"allowance","nameLocation":"1134:9:38","parameters":{"id":37736,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37733,"mutability":"mutable","name":"owner","nameLocation":"1152:5:38","nodeType":"VariableDeclaration","scope":37740,"src":"1144:13:38","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":37732,"name":"address","nodeType":"ElementaryTypeName","src":"1144:7:38","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":37735,"mutability":"mutable","name":"spender","nameLocation":"1167:7:38","nodeType":"VariableDeclaration","scope":37740,"src":"1159:15:38","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":37734,"name":"address","nodeType":"ElementaryTypeName","src":"1159:7:38","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1143:32:38"},"returnParameters":{"id":37739,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37738,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":37740,"src":"1199:7:38","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":37737,"name":"uint256","nodeType":"ElementaryTypeName","src":"1199:7:38","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1198:9:38"},"scope":37781,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":37750,"nodeType":"FunctionDefinition","src":"1412:74:38","nodes":[],"documentation":{"id":37741,"nodeType":"StructuredDocumentation","src":"1214:193:38","text":"@notice Sets `amount` as the allowance of `spender` over the caller's tokens.\n @dev Be aware of front-running risks: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729"},"functionSelector":"095ea7b3","implemented":false,"kind":"function","modifiers":[],"name":"approve","nameLocation":"1421:7:38","parameters":{"id":37746,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37743,"mutability":"mutable","name":"spender","nameLocation":"1437:7:38","nodeType":"VariableDeclaration","scope":37750,"src":"1429:15:38","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":37742,"name":"address","nodeType":"ElementaryTypeName","src":"1429:7:38","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":37745,"mutability":"mutable","name":"amount","nameLocation":"1454:6:38","nodeType":"VariableDeclaration","scope":37750,"src":"1446:14:38","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":37744,"name":"uint256","nodeType":"ElementaryTypeName","src":"1446:7:38","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1428:33:38"},"returnParameters":{"id":37749,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37748,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":37750,"src":"1480:4:38","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":37747,"name":"bool","nodeType":"ElementaryTypeName","src":"1480:4:38","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1479:6:38"},"scope":37781,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":37762,"nodeType":"FunctionDefinition","src":"1644:88:38","nodes":[],"documentation":{"id":37751,"nodeType":"StructuredDocumentation","src":"1492:147:38","text":"@notice Moves `amount` tokens from `from` to `to` using the allowance mechanism.\n `amount` is then deducted from the caller's allowance."},"functionSelector":"23b872dd","implemented":false,"kind":"function","modifiers":[],"name":"transferFrom","nameLocation":"1653:12:38","parameters":{"id":37758,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37753,"mutability":"mutable","name":"from","nameLocation":"1674:4:38","nodeType":"VariableDeclaration","scope":37762,"src":"1666:12:38","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":37752,"name":"address","nodeType":"ElementaryTypeName","src":"1666:7:38","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":37755,"mutability":"mutable","name":"to","nameLocation":"1688:2:38","nodeType":"VariableDeclaration","scope":37762,"src":"1680:10:38","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":37754,"name":"address","nodeType":"ElementaryTypeName","src":"1680:7:38","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":37757,"mutability":"mutable","name":"amount","nameLocation":"1700:6:38","nodeType":"VariableDeclaration","scope":37762,"src":"1692:14:38","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":37756,"name":"uint256","nodeType":"ElementaryTypeName","src":"1692:7:38","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1665:42:38"},"returnParameters":{"id":37761,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37760,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":37762,"src":"1726:4:38","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":37759,"name":"bool","nodeType":"ElementaryTypeName","src":"1726:4:38","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1725:6:38"},"scope":37781,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":37768,"nodeType":"FunctionDefinition","src":"1785:54:38","nodes":[],"documentation":{"id":37763,"nodeType":"StructuredDocumentation","src":"1738:42:38","text":"@notice Returns the name of the token."},"functionSelector":"06fdde03","implemented":false,"kind":"function","modifiers":[],"name":"name","nameLocation":"1794:4:38","parameters":{"id":37764,"nodeType":"ParameterList","parameters":[],"src":"1798:2:38"},"returnParameters":{"id":37767,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37766,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":37768,"src":"1824:13:38","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":37765,"name":"string","nodeType":"ElementaryTypeName","src":"1824:6:38","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1823:15:38"},"scope":37781,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":37774,"nodeType":"FunctionDefinition","src":"1894:56:38","nodes":[],"documentation":{"id":37769,"nodeType":"StructuredDocumentation","src":"1845:44:38","text":"@notice Returns the symbol of the token."},"functionSelector":"95d89b41","implemented":false,"kind":"function","modifiers":[],"name":"symbol","nameLocation":"1903:6:38","parameters":{"id":37770,"nodeType":"ParameterList","parameters":[],"src":"1909:2:38"},"returnParameters":{"id":37773,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37772,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":37774,"src":"1935:13:38","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":37771,"name":"string","nodeType":"ElementaryTypeName","src":"1935:6:38","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1934:15:38"},"scope":37781,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":37780,"nodeType":"FunctionDefinition","src":"2014:50:38","nodes":[],"documentation":{"id":37775,"nodeType":"StructuredDocumentation","src":"1956:53:38","text":"@notice Returns the decimals places of the token."},"functionSelector":"313ce567","implemented":false,"kind":"function","modifiers":[],"name":"decimals","nameLocation":"2023:8:38","parameters":{"id":37776,"nodeType":"ParameterList","parameters":[],"src":"2031:2:38"},"returnParameters":{"id":37779,"nodeType":"ParameterList","parameters":[{"constant":false,"id":37778,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":37780,"src":"2057:5:38","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":37777,"name":"uint8","nodeType":"ElementaryTypeName","src":"2057:5:38","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"2056:7:38"},"scope":37781,"stateMutability":"view","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"IERC20","contractDependencies":[],"contractKind":"interface","documentation":{"id":37688,"nodeType":"StructuredDocumentation","src":"58:137:38","text":"@dev Interface of the ERC20 standard as defined in the EIP.\n @dev This includes the optional name, symbol, and decimals metadata."},"fullyImplemented":false,"linearizedBaseContracts":[37781],"name":"IERC20","nameLocation":"205:6:38","scope":37782,"usedErrors":[]}],"license":"MIT"},"id":38} \ No newline at end of file diff --git a/pkg/contracts/out/IERC20Metadata.sol/IERC20Metadata.json b/pkg/contracts/out/IERC20Metadata.sol/IERC20Metadata.json index e5bc926dd..b5f4b6ae8 100644 --- a/pkg/contracts/out/IERC20Metadata.sol/IERC20Metadata.json +++ b/pkg/contracts/out/IERC20Metadata.sol/IERC20Metadata.json @@ -1 +1 @@ -{"abi":[{"type":"function","name":"allowance","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"spender","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"approve","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"balanceOf","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"decimals","inputs":[],"outputs":[{"name":"","type":"uint8","internalType":"uint8"}],"stateMutability":"view"},{"type":"function","name":"name","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"symbol","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"totalSupply","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"transfer","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"transferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"event","name":"Approval","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"spender","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Transfer","inputs":[{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"to","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"allowance(address,address)":"dd62ed3e","approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","decimals()":"313ce567","name()":"06fdde03","symbol()":"95d89b41","totalSupply()":"18160ddd","transfer(address,uint256)":"a9059cbb","transferFrom(address,address,uint256)":"23b872dd"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Interface for the optional metadata functions from the ERC20 standard. _Available since v4.1._\",\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when the allowance of a `spender` for an `owner` is set by a call to {approve}. `value` is the new allowance.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `value` tokens are moved from one account (`from`) to another (`to`). Note that `value` may be zero.\"}},\"kind\":\"dev\",\"methods\":{\"allowance(address,address)\":{\"details\":\"Returns the remaining number of tokens that `spender` will be allowed to spend on behalf of `owner` through {transferFrom}. This is zero by default. This value changes when {approve} or {transferFrom} are called.\"},\"approve(address,uint256)\":{\"details\":\"Sets `amount` as the allowance of `spender` over the caller's tokens. Returns a boolean value indicating whether the operation succeeded. IMPORTANT: Beware that changing an allowance with this method brings the risk that someone may use both the old and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 Emits an {Approval} event.\"},\"balanceOf(address)\":{\"details\":\"Returns the amount of tokens owned by `account`.\"},\"decimals()\":{\"details\":\"Returns the decimals places of the token.\"},\"name()\":{\"details\":\"Returns the name of the token.\"},\"symbol()\":{\"details\":\"Returns the symbol of the token.\"},\"totalSupply()\":{\"details\":\"Returns the amount of tokens in existence.\"},\"transfer(address,uint256)\":{\"details\":\"Moves `amount` tokens from the caller's account to `to`. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"Moves `amount` tokens from `from` to `to` using the allowance mechanism. `amount` is then deducted from the caller's allowance. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol\":\"IERC20Metadata\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1000},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-contracts/=lib/safe-contracts/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"]},\"sources\":{\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5\",\"dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd\",\"dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"address","name":"spender","type":"address","indexed":true},{"internalType":"uint256","name":"value","type":"uint256","indexed":false}],"type":"event","name":"Approval","anonymous":false},{"inputs":[{"internalType":"address","name":"from","type":"address","indexed":true},{"internalType":"address","name":"to","type":"address","indexed":true},{"internalType":"uint256","name":"value","type":"uint256","indexed":false}],"type":"event","name":"Transfer","anonymous":false},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"stateMutability":"view","type":"function","name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"name","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}]}],"devdoc":{"kind":"dev","methods":{"allowance(address,address)":{"details":"Returns the remaining number of tokens that `spender` will be allowed to spend on behalf of `owner` through {transferFrom}. This is zero by default. This value changes when {approve} or {transferFrom} are called."},"approve(address,uint256)":{"details":"Sets `amount` as the allowance of `spender` over the caller's tokens. Returns a boolean value indicating whether the operation succeeded. IMPORTANT: Beware that changing an allowance with this method brings the risk that someone may use both the old and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 Emits an {Approval} event."},"balanceOf(address)":{"details":"Returns the amount of tokens owned by `account`."},"decimals()":{"details":"Returns the decimals places of the token."},"name()":{"details":"Returns the name of the token."},"symbol()":{"details":"Returns the symbol of the token."},"totalSupply()":{"details":"Returns the amount of tokens in existence."},"transfer(address,uint256)":{"details":"Moves `amount` tokens from the caller's account to `to`. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event."},"transferFrom(address,address,uint256)":{"details":"Moves `amount` tokens from `from` to `to` using the allowance mechanism. `amount` is then deducted from the caller's allowance. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event."}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-contracts/=lib/safe-contracts/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":1000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol":"IERC20Metadata"},"evmVersion":"paris","libraries":{}},"sources":{"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305","urls":["bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5","dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol":{"keccak256":"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca","urls":["bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd","dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8"],"license":"MIT"}},"version":1},"storageLayout":{"storage":[],"types":{}},"ast":{"absolutePath":"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol","id":57095,"exportedSymbols":{"IERC20":[57069],"IERC20Metadata":[57094]},"nodeType":"SourceUnit","src":"110:573:75","nodes":[{"id":57071,"nodeType":"PragmaDirective","src":"110:23:75","nodes":[],"literals":["solidity","^","0.8",".0"]},{"id":57072,"nodeType":"ImportDirective","src":"135:23:75","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol","file":"../IERC20.sol","nameLocation":"-1:-1:-1","scope":57095,"sourceUnit":57070,"symbolAliases":[],"unitAlias":""},{"id":57094,"nodeType":"ContractDefinition","src":"277:405:75","nodes":[{"id":57081,"nodeType":"FunctionDefinition","src":"377:54:75","nodes":[],"documentation":{"id":57076,"nodeType":"StructuredDocumentation","src":"318:54:75","text":" @dev Returns the name of the token."},"functionSelector":"06fdde03","implemented":false,"kind":"function","modifiers":[],"name":"name","nameLocation":"386:4:75","parameters":{"id":57077,"nodeType":"ParameterList","parameters":[],"src":"390:2:75"},"returnParameters":{"id":57080,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57079,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":57081,"src":"416:13:75","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":57078,"name":"string","nodeType":"ElementaryTypeName","src":"416:6:75","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"415:15:75"},"scope":57094,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":57087,"nodeType":"FunctionDefinition","src":"498:56:75","nodes":[],"documentation":{"id":57082,"nodeType":"StructuredDocumentation","src":"437:56:75","text":" @dev Returns the symbol of the token."},"functionSelector":"95d89b41","implemented":false,"kind":"function","modifiers":[],"name":"symbol","nameLocation":"507:6:75","parameters":{"id":57083,"nodeType":"ParameterList","parameters":[],"src":"513:2:75"},"returnParameters":{"id":57086,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57085,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":57087,"src":"539:13:75","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":57084,"name":"string","nodeType":"ElementaryTypeName","src":"539:6:75","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"538:15:75"},"scope":57094,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":57093,"nodeType":"FunctionDefinition","src":"630:50:75","nodes":[],"documentation":{"id":57088,"nodeType":"StructuredDocumentation","src":"560:65:75","text":" @dev Returns the decimals places of the token."},"functionSelector":"313ce567","implemented":false,"kind":"function","modifiers":[],"name":"decimals","nameLocation":"639:8:75","parameters":{"id":57089,"nodeType":"ParameterList","parameters":[],"src":"647:2:75"},"returnParameters":{"id":57092,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57091,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":57093,"src":"673:5:75","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":57090,"name":"uint8","nodeType":"ElementaryTypeName","src":"673:5:75","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"672:7:75"},"scope":57094,"stateMutability":"view","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[{"baseName":{"id":57074,"name":"IERC20","nameLocations":["305:6:75"],"nodeType":"IdentifierPath","referencedDeclaration":57069,"src":"305:6:75"},"id":57075,"nodeType":"InheritanceSpecifier","src":"305:6:75"}],"canonicalName":"IERC20Metadata","contractDependencies":[],"contractKind":"interface","documentation":{"id":57073,"nodeType":"StructuredDocumentation","src":"160:116:75","text":" @dev Interface for the optional metadata functions from the ERC20 standard.\n _Available since v4.1._"},"fullyImplemented":false,"linearizedBaseContracts":[57094,57069],"name":"IERC20Metadata","nameLocation":"287:14:75","scope":57095,"usedErrors":[]}],"license":"MIT"},"id":75} \ No newline at end of file +{"abi":[{"type":"function","name":"allowance","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"spender","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"approve","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"balanceOf","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"decimals","inputs":[],"outputs":[{"name":"","type":"uint8","internalType":"uint8"}],"stateMutability":"view"},{"type":"function","name":"name","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"symbol","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"totalSupply","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"transfer","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"transferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"event","name":"Approval","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"spender","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Transfer","inputs":[{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"to","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"allowance(address,address)":"dd62ed3e","approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","decimals()":"313ce567","name()":"06fdde03","symbol()":"95d89b41","totalSupply()":"18160ddd","transfer(address,uint256)":"a9059cbb","transferFrom(address,address,uint256)":"23b872dd"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Interface for the optional metadata functions from the ERC20 standard. _Available since v4.1._\",\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when the allowance of a `spender` for an `owner` is set by a call to {approve}. `value` is the new allowance.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `value` tokens are moved from one account (`from`) to another (`to`). Note that `value` may be zero.\"}},\"kind\":\"dev\",\"methods\":{\"allowance(address,address)\":{\"details\":\"Returns the remaining number of tokens that `spender` will be allowed to spend on behalf of `owner` through {transferFrom}. This is zero by default. This value changes when {approve} or {transferFrom} are called.\"},\"approve(address,uint256)\":{\"details\":\"Sets `amount` as the allowance of `spender` over the caller's tokens. Returns a boolean value indicating whether the operation succeeded. IMPORTANT: Beware that changing an allowance with this method brings the risk that someone may use both the old and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 Emits an {Approval} event.\"},\"balanceOf(address)\":{\"details\":\"Returns the amount of tokens owned by `account`.\"},\"decimals()\":{\"details\":\"Returns the decimals places of the token.\"},\"name()\":{\"details\":\"Returns the name of the token.\"},\"symbol()\":{\"details\":\"Returns the symbol of the token.\"},\"totalSupply()\":{\"details\":\"Returns the amount of tokens in existence.\"},\"transfer(address,uint256)\":{\"details\":\"Moves `amount` tokens from the caller's account to `to`. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"Moves `amount` tokens from `from` to `to` using the allowance mechanism. `amount` is then deducted from the caller's allowance. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol\":\"IERC20Metadata\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1000},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":eas-proxy/=lib/allo-v2/lib/eas-proxy/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":hedgey-vesting/=lib/allo-v2/lib/hedgey-vesting/contracts/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-contracts/=lib/safe-contracts/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":superfluid-protocol-monorepo/=lib/allo-v2/lib/superfluid-protocol-monorepo/packages/solidity-semantic-money/src/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"]},\"sources\":{\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5\",\"dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd\",\"dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"address","name":"spender","type":"address","indexed":true},{"internalType":"uint256","name":"value","type":"uint256","indexed":false}],"type":"event","name":"Approval","anonymous":false},{"inputs":[{"internalType":"address","name":"from","type":"address","indexed":true},{"internalType":"address","name":"to","type":"address","indexed":true},{"internalType":"uint256","name":"value","type":"uint256","indexed":false}],"type":"event","name":"Transfer","anonymous":false},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"stateMutability":"view","type":"function","name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"name","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}]}],"devdoc":{"kind":"dev","methods":{"allowance(address,address)":{"details":"Returns the remaining number of tokens that `spender` will be allowed to spend on behalf of `owner` through {transferFrom}. This is zero by default. This value changes when {approve} or {transferFrom} are called."},"approve(address,uint256)":{"details":"Sets `amount` as the allowance of `spender` over the caller's tokens. Returns a boolean value indicating whether the operation succeeded. IMPORTANT: Beware that changing an allowance with this method brings the risk that someone may use both the old and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 Emits an {Approval} event."},"balanceOf(address)":{"details":"Returns the amount of tokens owned by `account`."},"decimals()":{"details":"Returns the decimals places of the token."},"name()":{"details":"Returns the name of the token."},"symbol()":{"details":"Returns the symbol of the token."},"totalSupply()":{"details":"Returns the amount of tokens in existence."},"transfer(address,uint256)":{"details":"Moves `amount` tokens from the caller's account to `to`. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event."},"transferFrom(address,address,uint256)":{"details":"Moves `amount` tokens from `from` to `to` using the allowance mechanism. `amount` is then deducted from the caller's allowance. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event."}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","eas-proxy/=lib/allo-v2/lib/eas-proxy/contracts/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","hedgey-vesting/=lib/allo-v2/lib/hedgey-vesting/contracts/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-contracts/=lib/safe-contracts/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","superfluid-protocol-monorepo/=lib/allo-v2/lib/superfluid-protocol-monorepo/packages/solidity-semantic-money/src/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":1000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol":"IERC20Metadata"},"evmVersion":"paris","libraries":{}},"sources":{"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305","urls":["bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5","dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol":{"keccak256":"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca","urls":["bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd","dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8"],"license":"MIT"}},"version":1},"storageLayout":{"storage":[],"types":{}},"ast":{"absolutePath":"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol","id":57095,"exportedSymbols":{"IERC20":[57069],"IERC20Metadata":[57094]},"nodeType":"SourceUnit","src":"110:573:75","nodes":[{"id":57071,"nodeType":"PragmaDirective","src":"110:23:75","nodes":[],"literals":["solidity","^","0.8",".0"]},{"id":57072,"nodeType":"ImportDirective","src":"135:23:75","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol","file":"../IERC20.sol","nameLocation":"-1:-1:-1","scope":57095,"sourceUnit":57070,"symbolAliases":[],"unitAlias":""},{"id":57094,"nodeType":"ContractDefinition","src":"277:405:75","nodes":[{"id":57081,"nodeType":"FunctionDefinition","src":"377:54:75","nodes":[],"documentation":{"id":57076,"nodeType":"StructuredDocumentation","src":"318:54:75","text":" @dev Returns the name of the token."},"functionSelector":"06fdde03","implemented":false,"kind":"function","modifiers":[],"name":"name","nameLocation":"386:4:75","parameters":{"id":57077,"nodeType":"ParameterList","parameters":[],"src":"390:2:75"},"returnParameters":{"id":57080,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57079,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":57081,"src":"416:13:75","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":57078,"name":"string","nodeType":"ElementaryTypeName","src":"416:6:75","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"415:15:75"},"scope":57094,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":57087,"nodeType":"FunctionDefinition","src":"498:56:75","nodes":[],"documentation":{"id":57082,"nodeType":"StructuredDocumentation","src":"437:56:75","text":" @dev Returns the symbol of the token."},"functionSelector":"95d89b41","implemented":false,"kind":"function","modifiers":[],"name":"symbol","nameLocation":"507:6:75","parameters":{"id":57083,"nodeType":"ParameterList","parameters":[],"src":"513:2:75"},"returnParameters":{"id":57086,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57085,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":57087,"src":"539:13:75","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":57084,"name":"string","nodeType":"ElementaryTypeName","src":"539:6:75","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"538:15:75"},"scope":57094,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":57093,"nodeType":"FunctionDefinition","src":"630:50:75","nodes":[],"documentation":{"id":57088,"nodeType":"StructuredDocumentation","src":"560:65:75","text":" @dev Returns the decimals places of the token."},"functionSelector":"313ce567","implemented":false,"kind":"function","modifiers":[],"name":"decimals","nameLocation":"639:8:75","parameters":{"id":57089,"nodeType":"ParameterList","parameters":[],"src":"647:2:75"},"returnParameters":{"id":57092,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57091,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":57093,"src":"673:5:75","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":57090,"name":"uint8","nodeType":"ElementaryTypeName","src":"673:5:75","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"672:7:75"},"scope":57094,"stateMutability":"view","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[{"baseName":{"id":57074,"name":"IERC20","nameLocations":["305:6:75"],"nodeType":"IdentifierPath","referencedDeclaration":57069,"src":"305:6:75"},"id":57075,"nodeType":"InheritanceSpecifier","src":"305:6:75"}],"canonicalName":"IERC20Metadata","contractDependencies":[],"contractKind":"interface","documentation":{"id":57073,"nodeType":"StructuredDocumentation","src":"160:116:75","text":" @dev Interface for the optional metadata functions from the ERC20 standard.\n _Available since v4.1._"},"fullyImplemented":false,"linearizedBaseContracts":[57094,57069],"name":"IERC20Metadata","nameLocation":"287:14:75","scope":57095,"usedErrors":[]}],"license":"MIT"},"id":75} \ No newline at end of file diff --git a/pkg/contracts/out/IERC20Permit.sol/IERC20Permit.json b/pkg/contracts/out/IERC20Permit.sol/IERC20Permit.json index 396f256c9..cf456bd51 100644 --- a/pkg/contracts/out/IERC20Permit.sol/IERC20Permit.json +++ b/pkg/contracts/out/IERC20Permit.sol/IERC20Permit.json @@ -1 +1 @@ -{"abi":[{"type":"function","name":"DOMAIN_SEPARATOR","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"nonces","inputs":[{"name":"owner","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"permit","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"spender","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"},{"name":"deadline","type":"uint256","internalType":"uint256"},{"name":"v","type":"uint8","internalType":"uint8"},{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"s","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"DOMAIN_SEPARATOR()":"3644e515","nonces(address)":"7ecebe00","permit(address,address,uint256,uint256,uint8,bytes32,bytes32)":"d505accf"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"DOMAIN_SEPARATOR\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"nonces\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"name\":\"permit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Interface of the ERC20 Permit extension allowing approvals to be made via signatures, as defined in https://eips.ethereum.org/EIPS/eip-2612[EIP-2612]. Adds the {permit} method, which can be used to change an account's ERC20 allowance (see {IERC20-allowance}) by presenting a message signed by the account. By not relying on {IERC20-approve}, the token holder account doesn't need to send a transaction, and thus is not required to hold Ether at all.\",\"kind\":\"dev\",\"methods\":{\"DOMAIN_SEPARATOR()\":{\"details\":\"Returns the domain separator used in the encoding of the signature for {permit}, as defined by {EIP712}.\"},\"nonces(address)\":{\"details\":\"Returns the current nonce for `owner`. This value must be included whenever a signature is generated for {permit}. Every successful call to {permit} increases ``owner``'s nonce by one. This prevents a signature from being used multiple times.\"},\"permit(address,address,uint256,uint256,uint8,bytes32,bytes32)\":{\"details\":\"Sets `value` as the allowance of `spender` over ``owner``'s tokens, given ``owner``'s signed approval. IMPORTANT: The same issues {IERC20-approve} has related to transaction ordering also apply here. Emits an {Approval} event. Requirements: - `spender` cannot be the zero address. - `deadline` must be a timestamp in the future. - `v`, `r` and `s` must be a valid `secp256k1` signature from `owner` over the EIP712-formatted function arguments. - the signature must use ``owner``'s current nonce (see {nonces}). For more information on the signature format, see the https://eips.ethereum.org/EIPS/eip-2612#specification[relevant EIP section].\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol\":\"IERC20Permit\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1000},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-contracts/=lib/safe-contracts/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"]},\"sources\":{\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol\":{\"keccak256\":\"0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a\",\"dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[],"stateMutability":"view","type":"function","name":"DOMAIN_SEPARATOR","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"stateMutability":"view","type":"function","name":"nonces","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"uint256","name":"deadline","type":"uint256"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"permit"}],"devdoc":{"kind":"dev","methods":{"DOMAIN_SEPARATOR()":{"details":"Returns the domain separator used in the encoding of the signature for {permit}, as defined by {EIP712}."},"nonces(address)":{"details":"Returns the current nonce for `owner`. This value must be included whenever a signature is generated for {permit}. Every successful call to {permit} increases ``owner``'s nonce by one. This prevents a signature from being used multiple times."},"permit(address,address,uint256,uint256,uint8,bytes32,bytes32)":{"details":"Sets `value` as the allowance of `spender` over ``owner``'s tokens, given ``owner``'s signed approval. IMPORTANT: The same issues {IERC20-approve} has related to transaction ordering also apply here. Emits an {Approval} event. Requirements: - `spender` cannot be the zero address. - `deadline` must be a timestamp in the future. - `v`, `r` and `s` must be a valid `secp256k1` signature from `owner` over the EIP712-formatted function arguments. - the signature must use ``owner``'s current nonce (see {nonces}). For more information on the signature format, see the https://eips.ethereum.org/EIPS/eip-2612#specification[relevant EIP section]."}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-contracts/=lib/safe-contracts/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":1000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol":"IERC20Permit"},"evmVersion":"paris","libraries":{}},"sources":{"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol":{"keccak256":"0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a","urls":["bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a","dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv"],"license":"MIT"}},"version":1},"storageLayout":{"storage":[],"types":{}},"ast":{"absolutePath":"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol","id":57131,"exportedSymbols":{"IERC20Permit":[57130]},"nodeType":"SourceUnit","src":"123:2138:76","nodes":[{"id":57096,"nodeType":"PragmaDirective","src":"123:23:76","nodes":[],"literals":["solidity","^","0.8",".0"]},{"id":57130,"nodeType":"ContractDefinition","src":"629:1631:76","nodes":[{"id":57115,"nodeType":"FunctionDefinition","src":"1455:183:76","nodes":[],"documentation":{"id":57098,"nodeType":"StructuredDocumentation","src":"658:792:76","text":" @dev Sets `value` as the allowance of `spender` over ``owner``'s tokens,\n given ``owner``'s signed approval.\n IMPORTANT: The same issues {IERC20-approve} has related to transaction\n ordering also apply here.\n Emits an {Approval} event.\n Requirements:\n - `spender` cannot be the zero address.\n - `deadline` must be a timestamp in the future.\n - `v`, `r` and `s` must be a valid `secp256k1` signature from `owner`\n over the EIP712-formatted function arguments.\n - the signature must use ``owner``'s current nonce (see {nonces}).\n For more information on the signature format, see the\n https://eips.ethereum.org/EIPS/eip-2612#specification[relevant EIP\n section]."},"functionSelector":"d505accf","implemented":false,"kind":"function","modifiers":[],"name":"permit","nameLocation":"1464:6:76","parameters":{"id":57113,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57100,"mutability":"mutable","name":"owner","nameLocation":"1488:5:76","nodeType":"VariableDeclaration","scope":57115,"src":"1480:13:76","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":57099,"name":"address","nodeType":"ElementaryTypeName","src":"1480:7:76","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":57102,"mutability":"mutable","name":"spender","nameLocation":"1511:7:76","nodeType":"VariableDeclaration","scope":57115,"src":"1503:15:76","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":57101,"name":"address","nodeType":"ElementaryTypeName","src":"1503:7:76","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":57104,"mutability":"mutable","name":"value","nameLocation":"1536:5:76","nodeType":"VariableDeclaration","scope":57115,"src":"1528:13:76","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":57103,"name":"uint256","nodeType":"ElementaryTypeName","src":"1528:7:76","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":57106,"mutability":"mutable","name":"deadline","nameLocation":"1559:8:76","nodeType":"VariableDeclaration","scope":57115,"src":"1551:16:76","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":57105,"name":"uint256","nodeType":"ElementaryTypeName","src":"1551:7:76","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":57108,"mutability":"mutable","name":"v","nameLocation":"1583:1:76","nodeType":"VariableDeclaration","scope":57115,"src":"1577:7:76","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":57107,"name":"uint8","nodeType":"ElementaryTypeName","src":"1577:5:76","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":57110,"mutability":"mutable","name":"r","nameLocation":"1602:1:76","nodeType":"VariableDeclaration","scope":57115,"src":"1594:9:76","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":57109,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1594:7:76","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":57112,"mutability":"mutable","name":"s","nameLocation":"1621:1:76","nodeType":"VariableDeclaration","scope":57115,"src":"1613:9:76","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":57111,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1613:7:76","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"1470:158:76"},"returnParameters":{"id":57114,"nodeType":"ParameterList","parameters":[],"src":"1637:0:76"},"scope":57130,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":57123,"nodeType":"FunctionDefinition","src":"1943:63:76","nodes":[],"documentation":{"id":57116,"nodeType":"StructuredDocumentation","src":"1644:294:76","text":" @dev Returns the current nonce for `owner`. This value must be\n included whenever a signature is generated for {permit}.\n Every successful call to {permit} increases ``owner``'s nonce by one. This\n prevents a signature from being used multiple times."},"functionSelector":"7ecebe00","implemented":false,"kind":"function","modifiers":[],"name":"nonces","nameLocation":"1952:6:76","parameters":{"id":57119,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57118,"mutability":"mutable","name":"owner","nameLocation":"1967:5:76","nodeType":"VariableDeclaration","scope":57123,"src":"1959:13:76","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":57117,"name":"address","nodeType":"ElementaryTypeName","src":"1959:7:76","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1958:15:76"},"returnParameters":{"id":57122,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57121,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":57123,"src":"1997:7:76","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":57120,"name":"uint256","nodeType":"ElementaryTypeName","src":"1997:7:76","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1996:9:76"},"scope":57130,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":57129,"nodeType":"FunctionDefinition","src":"2198:60:76","nodes":[],"documentation":{"id":57124,"nodeType":"StructuredDocumentation","src":"2012:128:76","text":" @dev Returns the domain separator used in the encoding of the signature for {permit}, as defined by {EIP712}."},"functionSelector":"3644e515","implemented":false,"kind":"function","modifiers":[],"name":"DOMAIN_SEPARATOR","nameLocation":"2207:16:76","parameters":{"id":57125,"nodeType":"ParameterList","parameters":[],"src":"2223:2:76"},"returnParameters":{"id":57128,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57127,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":57129,"src":"2249:7:76","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":57126,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2249:7:76","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"2248:9:76"},"scope":57130,"stateMutability":"view","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"IERC20Permit","contractDependencies":[],"contractKind":"interface","documentation":{"id":57097,"nodeType":"StructuredDocumentation","src":"148:480:76","text":" @dev Interface of the ERC20 Permit extension allowing approvals to be made via signatures, as defined in\n https://eips.ethereum.org/EIPS/eip-2612[EIP-2612].\n Adds the {permit} method, which can be used to change an account's ERC20 allowance (see {IERC20-allowance}) by\n presenting a message signed by the account. By not relying on {IERC20-approve}, the token holder account doesn't\n need to send a transaction, and thus is not required to hold Ether at all."},"fullyImplemented":false,"linearizedBaseContracts":[57130],"name":"IERC20Permit","nameLocation":"639:12:76","scope":57131,"usedErrors":[]}],"license":"MIT"},"id":76} \ No newline at end of file +{"abi":[{"type":"function","name":"DOMAIN_SEPARATOR","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"nonces","inputs":[{"name":"owner","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"permit","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"spender","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"},{"name":"deadline","type":"uint256","internalType":"uint256"},{"name":"v","type":"uint8","internalType":"uint8"},{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"s","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"DOMAIN_SEPARATOR()":"3644e515","nonces(address)":"7ecebe00","permit(address,address,uint256,uint256,uint8,bytes32,bytes32)":"d505accf"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"DOMAIN_SEPARATOR\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"nonces\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"name\":\"permit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Interface of the ERC20 Permit extension allowing approvals to be made via signatures, as defined in https://eips.ethereum.org/EIPS/eip-2612[EIP-2612]. Adds the {permit} method, which can be used to change an account's ERC20 allowance (see {IERC20-allowance}) by presenting a message signed by the account. By not relying on {IERC20-approve}, the token holder account doesn't need to send a transaction, and thus is not required to hold Ether at all.\",\"kind\":\"dev\",\"methods\":{\"DOMAIN_SEPARATOR()\":{\"details\":\"Returns the domain separator used in the encoding of the signature for {permit}, as defined by {EIP712}.\"},\"nonces(address)\":{\"details\":\"Returns the current nonce for `owner`. This value must be included whenever a signature is generated for {permit}. Every successful call to {permit} increases ``owner``'s nonce by one. This prevents a signature from being used multiple times.\"},\"permit(address,address,uint256,uint256,uint8,bytes32,bytes32)\":{\"details\":\"Sets `value` as the allowance of `spender` over ``owner``'s tokens, given ``owner``'s signed approval. IMPORTANT: The same issues {IERC20-approve} has related to transaction ordering also apply here. Emits an {Approval} event. Requirements: - `spender` cannot be the zero address. - `deadline` must be a timestamp in the future. - `v`, `r` and `s` must be a valid `secp256k1` signature from `owner` over the EIP712-formatted function arguments. - the signature must use ``owner``'s current nonce (see {nonces}). For more information on the signature format, see the https://eips.ethereum.org/EIPS/eip-2612#specification[relevant EIP section].\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol\":\"IERC20Permit\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1000},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":eas-proxy/=lib/allo-v2/lib/eas-proxy/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":hedgey-vesting/=lib/allo-v2/lib/hedgey-vesting/contracts/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-contracts/=lib/safe-contracts/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":superfluid-protocol-monorepo/=lib/allo-v2/lib/superfluid-protocol-monorepo/packages/solidity-semantic-money/src/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"]},\"sources\":{\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol\":{\"keccak256\":\"0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a\",\"dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[],"stateMutability":"view","type":"function","name":"DOMAIN_SEPARATOR","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"stateMutability":"view","type":"function","name":"nonces","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"uint256","name":"deadline","type":"uint256"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"permit"}],"devdoc":{"kind":"dev","methods":{"DOMAIN_SEPARATOR()":{"details":"Returns the domain separator used in the encoding of the signature for {permit}, as defined by {EIP712}."},"nonces(address)":{"details":"Returns the current nonce for `owner`. This value must be included whenever a signature is generated for {permit}. Every successful call to {permit} increases ``owner``'s nonce by one. This prevents a signature from being used multiple times."},"permit(address,address,uint256,uint256,uint8,bytes32,bytes32)":{"details":"Sets `value` as the allowance of `spender` over ``owner``'s tokens, given ``owner``'s signed approval. IMPORTANT: The same issues {IERC20-approve} has related to transaction ordering also apply here. Emits an {Approval} event. Requirements: - `spender` cannot be the zero address. - `deadline` must be a timestamp in the future. - `v`, `r` and `s` must be a valid `secp256k1` signature from `owner` over the EIP712-formatted function arguments. - the signature must use ``owner``'s current nonce (see {nonces}). For more information on the signature format, see the https://eips.ethereum.org/EIPS/eip-2612#specification[relevant EIP section]."}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","eas-proxy/=lib/allo-v2/lib/eas-proxy/contracts/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","hedgey-vesting/=lib/allo-v2/lib/hedgey-vesting/contracts/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-contracts/=lib/safe-contracts/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","superfluid-protocol-monorepo/=lib/allo-v2/lib/superfluid-protocol-monorepo/packages/solidity-semantic-money/src/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":1000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol":"IERC20Permit"},"evmVersion":"paris","libraries":{}},"sources":{"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol":{"keccak256":"0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a","urls":["bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a","dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv"],"license":"MIT"}},"version":1},"storageLayout":{"storage":[],"types":{}},"ast":{"absolutePath":"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol","id":57131,"exportedSymbols":{"IERC20Permit":[57130]},"nodeType":"SourceUnit","src":"123:2138:76","nodes":[{"id":57096,"nodeType":"PragmaDirective","src":"123:23:76","nodes":[],"literals":["solidity","^","0.8",".0"]},{"id":57130,"nodeType":"ContractDefinition","src":"629:1631:76","nodes":[{"id":57115,"nodeType":"FunctionDefinition","src":"1455:183:76","nodes":[],"documentation":{"id":57098,"nodeType":"StructuredDocumentation","src":"658:792:76","text":" @dev Sets `value` as the allowance of `spender` over ``owner``'s tokens,\n given ``owner``'s signed approval.\n IMPORTANT: The same issues {IERC20-approve} has related to transaction\n ordering also apply here.\n Emits an {Approval} event.\n Requirements:\n - `spender` cannot be the zero address.\n - `deadline` must be a timestamp in the future.\n - `v`, `r` and `s` must be a valid `secp256k1` signature from `owner`\n over the EIP712-formatted function arguments.\n - the signature must use ``owner``'s current nonce (see {nonces}).\n For more information on the signature format, see the\n https://eips.ethereum.org/EIPS/eip-2612#specification[relevant EIP\n section]."},"functionSelector":"d505accf","implemented":false,"kind":"function","modifiers":[],"name":"permit","nameLocation":"1464:6:76","parameters":{"id":57113,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57100,"mutability":"mutable","name":"owner","nameLocation":"1488:5:76","nodeType":"VariableDeclaration","scope":57115,"src":"1480:13:76","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":57099,"name":"address","nodeType":"ElementaryTypeName","src":"1480:7:76","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":57102,"mutability":"mutable","name":"spender","nameLocation":"1511:7:76","nodeType":"VariableDeclaration","scope":57115,"src":"1503:15:76","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":57101,"name":"address","nodeType":"ElementaryTypeName","src":"1503:7:76","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":57104,"mutability":"mutable","name":"value","nameLocation":"1536:5:76","nodeType":"VariableDeclaration","scope":57115,"src":"1528:13:76","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":57103,"name":"uint256","nodeType":"ElementaryTypeName","src":"1528:7:76","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":57106,"mutability":"mutable","name":"deadline","nameLocation":"1559:8:76","nodeType":"VariableDeclaration","scope":57115,"src":"1551:16:76","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":57105,"name":"uint256","nodeType":"ElementaryTypeName","src":"1551:7:76","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":57108,"mutability":"mutable","name":"v","nameLocation":"1583:1:76","nodeType":"VariableDeclaration","scope":57115,"src":"1577:7:76","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":57107,"name":"uint8","nodeType":"ElementaryTypeName","src":"1577:5:76","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":57110,"mutability":"mutable","name":"r","nameLocation":"1602:1:76","nodeType":"VariableDeclaration","scope":57115,"src":"1594:9:76","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":57109,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1594:7:76","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":57112,"mutability":"mutable","name":"s","nameLocation":"1621:1:76","nodeType":"VariableDeclaration","scope":57115,"src":"1613:9:76","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":57111,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1613:7:76","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"1470:158:76"},"returnParameters":{"id":57114,"nodeType":"ParameterList","parameters":[],"src":"1637:0:76"},"scope":57130,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":57123,"nodeType":"FunctionDefinition","src":"1943:63:76","nodes":[],"documentation":{"id":57116,"nodeType":"StructuredDocumentation","src":"1644:294:76","text":" @dev Returns the current nonce for `owner`. This value must be\n included whenever a signature is generated for {permit}.\n Every successful call to {permit} increases ``owner``'s nonce by one. This\n prevents a signature from being used multiple times."},"functionSelector":"7ecebe00","implemented":false,"kind":"function","modifiers":[],"name":"nonces","nameLocation":"1952:6:76","parameters":{"id":57119,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57118,"mutability":"mutable","name":"owner","nameLocation":"1967:5:76","nodeType":"VariableDeclaration","scope":57123,"src":"1959:13:76","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":57117,"name":"address","nodeType":"ElementaryTypeName","src":"1959:7:76","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1958:15:76"},"returnParameters":{"id":57122,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57121,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":57123,"src":"1997:7:76","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":57120,"name":"uint256","nodeType":"ElementaryTypeName","src":"1997:7:76","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1996:9:76"},"scope":57130,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":57129,"nodeType":"FunctionDefinition","src":"2198:60:76","nodes":[],"documentation":{"id":57124,"nodeType":"StructuredDocumentation","src":"2012:128:76","text":" @dev Returns the domain separator used in the encoding of the signature for {permit}, as defined by {EIP712}."},"functionSelector":"3644e515","implemented":false,"kind":"function","modifiers":[],"name":"DOMAIN_SEPARATOR","nameLocation":"2207:16:76","parameters":{"id":57125,"nodeType":"ParameterList","parameters":[],"src":"2223:2:76"},"returnParameters":{"id":57128,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57127,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":57129,"src":"2249:7:76","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":57126,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2249:7:76","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"2248:9:76"},"scope":57130,"stateMutability":"view","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"IERC20Permit","contractDependencies":[],"contractKind":"interface","documentation":{"id":57097,"nodeType":"StructuredDocumentation","src":"148:480:76","text":" @dev Interface of the ERC20 Permit extension allowing approvals to be made via signatures, as defined in\n https://eips.ethereum.org/EIPS/eip-2612[EIP-2612].\n Adds the {permit} method, which can be used to change an account's ERC20 allowance (see {IERC20-allowance}) by\n presenting a message signed by the account. By not relying on {IERC20-approve}, the token holder account doesn't\n need to send a transaction, and thus is not required to hold Ether at all."},"fullyImplemented":false,"linearizedBaseContracts":[57130],"name":"IERC20Permit","nameLocation":"639:12:76","scope":57131,"usedErrors":[]}],"license":"MIT"},"id":76} \ No newline at end of file diff --git a/pkg/contracts/out/IERC20Upgradeable.sol/IERC20Upgradeable.json b/pkg/contracts/out/IERC20Upgradeable.sol/IERC20Upgradeable.json index 549f561d0..aba29d032 100644 --- a/pkg/contracts/out/IERC20Upgradeable.sol/IERC20Upgradeable.json +++ b/pkg/contracts/out/IERC20Upgradeable.sol/IERC20Upgradeable.json @@ -1 +1 @@ -{"abi":[{"type":"function","name":"allowance","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"spender","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"approve","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"balanceOf","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"totalSupply","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"transfer","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"transferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"event","name":"Approval","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"spender","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Transfer","inputs":[{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"to","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"allowance(address,address)":"dd62ed3e","approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","totalSupply()":"18160ddd","transfer(address,uint256)":"a9059cbb","transferFrom(address,address,uint256)":"23b872dd"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Interface of the ERC20 standard as defined in the EIP.\",\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when the allowance of a `spender` for an `owner` is set by a call to {approve}. `value` is the new allowance.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `value` tokens are moved from one account (`from`) to another (`to`). Note that `value` may be zero.\"}},\"kind\":\"dev\",\"methods\":{\"allowance(address,address)\":{\"details\":\"Returns the remaining number of tokens that `spender` will be allowed to spend on behalf of `owner` through {transferFrom}. This is zero by default. This value changes when {approve} or {transferFrom} are called.\"},\"approve(address,uint256)\":{\"details\":\"Sets `amount` as the allowance of `spender` over the caller's tokens. Returns a boolean value indicating whether the operation succeeded. IMPORTANT: Beware that changing an allowance with this method brings the risk that someone may use both the old and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 Emits an {Approval} event.\"},\"balanceOf(address)\":{\"details\":\"Returns the amount of tokens owned by `account`.\"},\"totalSupply()\":{\"details\":\"Returns the amount of tokens in existence.\"},\"transfer(address,uint256)\":{\"details\":\"Moves `amount` tokens from the caller's account to `to`. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"Moves `amount` tokens from `from` to `to` using the allowance mechanism. `amount` is then deducted from the caller's allowance. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/IERC20Upgradeable.sol\":\"IERC20Upgradeable\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1000},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-contracts/=lib/safe-contracts/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"]},\"sources\":{\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/IERC20Upgradeable.sol\":{\"keccak256\":\"0x0e1f0f5f62f67a881cd1a9597acbc0a5e4071f3c2c10449a183b922ae7272e3f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c25f742ff154998d19a669e2508c3597b363e123ce9144cd0fcf6521229f401f\",\"dweb:/ipfs/QmQXRuFzStEWqeEPbhQU6cAg9PaSowxJVo4PDKyRod7dco\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"address","name":"spender","type":"address","indexed":true},{"internalType":"uint256","name":"value","type":"uint256","indexed":false}],"type":"event","name":"Approval","anonymous":false},{"inputs":[{"internalType":"address","name":"from","type":"address","indexed":true},{"internalType":"address","name":"to","type":"address","indexed":true},{"internalType":"uint256","name":"value","type":"uint256","indexed":false}],"type":"event","name":"Transfer","anonymous":false},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"stateMutability":"view","type":"function","name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}]}],"devdoc":{"kind":"dev","methods":{"allowance(address,address)":{"details":"Returns the remaining number of tokens that `spender` will be allowed to spend on behalf of `owner` through {transferFrom}. This is zero by default. This value changes when {approve} or {transferFrom} are called."},"approve(address,uint256)":{"details":"Sets `amount` as the allowance of `spender` over the caller's tokens. Returns a boolean value indicating whether the operation succeeded. IMPORTANT: Beware that changing an allowance with this method brings the risk that someone may use both the old and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 Emits an {Approval} event."},"balanceOf(address)":{"details":"Returns the amount of tokens owned by `account`."},"totalSupply()":{"details":"Returns the amount of tokens in existence."},"transfer(address,uint256)":{"details":"Moves `amount` tokens from the caller's account to `to`. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event."},"transferFrom(address,address,uint256)":{"details":"Moves `amount` tokens from `from` to `to` using the allowance mechanism. `amount` is then deducted from the caller's allowance. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event."}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-contracts/=lib/safe-contracts/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":1000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/IERC20Upgradeable.sol":"IERC20Upgradeable"},"evmVersion":"paris","libraries":{}},"sources":{"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/IERC20Upgradeable.sol":{"keccak256":"0x0e1f0f5f62f67a881cd1a9597acbc0a5e4071f3c2c10449a183b922ae7272e3f","urls":["bzz-raw://c25f742ff154998d19a669e2508c3597b363e123ce9144cd0fcf6521229f401f","dweb:/ipfs/QmQXRuFzStEWqeEPbhQU6cAg9PaSowxJVo4PDKyRod7dco"],"license":"MIT"}},"version":1},"storageLayout":{"storage":[],"types":{}},"ast":{"absolutePath":"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/IERC20Upgradeable.sol","id":53355,"exportedSymbols":{"IERC20Upgradeable":[53354]},"nodeType":"SourceUnit","src":"106:2642:50","nodes":[{"id":53278,"nodeType":"PragmaDirective","src":"106:23:50","nodes":[],"literals":["solidity","^","0.8",".0"]},{"id":53354,"nodeType":"ContractDefinition","src":"202:2545:50","nodes":[{"id":53288,"nodeType":"EventDefinition","src":"399:72:50","nodes":[],"anonymous":false,"documentation":{"id":53280,"nodeType":"StructuredDocumentation","src":"236:158:50","text":" @dev Emitted when `value` tokens are moved from one account (`from`) to\n another (`to`).\n Note that `value` may be zero."},"eventSelector":"ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef","name":"Transfer","nameLocation":"405:8:50","parameters":{"id":53287,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53282,"indexed":true,"mutability":"mutable","name":"from","nameLocation":"430:4:50","nodeType":"VariableDeclaration","scope":53288,"src":"414:20:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":53281,"name":"address","nodeType":"ElementaryTypeName","src":"414:7:50","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":53284,"indexed":true,"mutability":"mutable","name":"to","nameLocation":"452:2:50","nodeType":"VariableDeclaration","scope":53288,"src":"436:18:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":53283,"name":"address","nodeType":"ElementaryTypeName","src":"436:7:50","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":53286,"indexed":false,"mutability":"mutable","name":"value","nameLocation":"464:5:50","nodeType":"VariableDeclaration","scope":53288,"src":"456:13:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":53285,"name":"uint256","nodeType":"ElementaryTypeName","src":"456:7:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"413:57:50"}},{"id":53297,"nodeType":"EventDefinition","src":"630:78:50","nodes":[],"anonymous":false,"documentation":{"id":53289,"nodeType":"StructuredDocumentation","src":"477:148:50","text":" @dev Emitted when the allowance of a `spender` for an `owner` is set by\n a call to {approve}. `value` is the new allowance."},"eventSelector":"8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925","name":"Approval","nameLocation":"636:8:50","parameters":{"id":53296,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53291,"indexed":true,"mutability":"mutable","name":"owner","nameLocation":"661:5:50","nodeType":"VariableDeclaration","scope":53297,"src":"645:21:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":53290,"name":"address","nodeType":"ElementaryTypeName","src":"645:7:50","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":53293,"indexed":true,"mutability":"mutable","name":"spender","nameLocation":"684:7:50","nodeType":"VariableDeclaration","scope":53297,"src":"668:23:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":53292,"name":"address","nodeType":"ElementaryTypeName","src":"668:7:50","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":53295,"indexed":false,"mutability":"mutable","name":"value","nameLocation":"701:5:50","nodeType":"VariableDeclaration","scope":53297,"src":"693:13:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":53294,"name":"uint256","nodeType":"ElementaryTypeName","src":"693:7:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"644:63:50"}},{"id":53303,"nodeType":"FunctionDefinition","src":"785:55:50","nodes":[],"documentation":{"id":53298,"nodeType":"StructuredDocumentation","src":"714:66:50","text":" @dev Returns the amount of tokens in existence."},"functionSelector":"18160ddd","implemented":false,"kind":"function","modifiers":[],"name":"totalSupply","nameLocation":"794:11:50","parameters":{"id":53299,"nodeType":"ParameterList","parameters":[],"src":"805:2:50"},"returnParameters":{"id":53302,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53301,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":53303,"src":"831:7:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":53300,"name":"uint256","nodeType":"ElementaryTypeName","src":"831:7:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"830:9:50"},"scope":53354,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":53311,"nodeType":"FunctionDefinition","src":"923:68:50","nodes":[],"documentation":{"id":53304,"nodeType":"StructuredDocumentation","src":"846:72:50","text":" @dev Returns the amount of tokens owned by `account`."},"functionSelector":"70a08231","implemented":false,"kind":"function","modifiers":[],"name":"balanceOf","nameLocation":"932:9:50","parameters":{"id":53307,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53306,"mutability":"mutable","name":"account","nameLocation":"950:7:50","nodeType":"VariableDeclaration","scope":53311,"src":"942:15:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":53305,"name":"address","nodeType":"ElementaryTypeName","src":"942:7:50","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"941:17:50"},"returnParameters":{"id":53310,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53309,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":53311,"src":"982:7:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":53308,"name":"uint256","nodeType":"ElementaryTypeName","src":"982:7:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"981:9:50"},"scope":53354,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":53321,"nodeType":"FunctionDefinition","src":"1204:70:50","nodes":[],"documentation":{"id":53312,"nodeType":"StructuredDocumentation","src":"997:202:50","text":" @dev Moves `amount` tokens from the caller's account to `to`.\n Returns a boolean value indicating whether the operation succeeded.\n Emits a {Transfer} event."},"functionSelector":"a9059cbb","implemented":false,"kind":"function","modifiers":[],"name":"transfer","nameLocation":"1213:8:50","parameters":{"id":53317,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53314,"mutability":"mutable","name":"to","nameLocation":"1230:2:50","nodeType":"VariableDeclaration","scope":53321,"src":"1222:10:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":53313,"name":"address","nodeType":"ElementaryTypeName","src":"1222:7:50","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":53316,"mutability":"mutable","name":"amount","nameLocation":"1242:6:50","nodeType":"VariableDeclaration","scope":53321,"src":"1234:14:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":53315,"name":"uint256","nodeType":"ElementaryTypeName","src":"1234:7:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1221:28:50"},"returnParameters":{"id":53320,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53319,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":53321,"src":"1268:4:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":53318,"name":"bool","nodeType":"ElementaryTypeName","src":"1268:4:50","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1267:6:50"},"scope":53354,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":53331,"nodeType":"FunctionDefinition","src":"1549:83:50","nodes":[],"documentation":{"id":53322,"nodeType":"StructuredDocumentation","src":"1280:264:50","text":" @dev Returns the remaining number of tokens that `spender` will be\n allowed to spend on behalf of `owner` through {transferFrom}. This is\n zero by default.\n This value changes when {approve} or {transferFrom} are called."},"functionSelector":"dd62ed3e","implemented":false,"kind":"function","modifiers":[],"name":"allowance","nameLocation":"1558:9:50","parameters":{"id":53327,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53324,"mutability":"mutable","name":"owner","nameLocation":"1576:5:50","nodeType":"VariableDeclaration","scope":53331,"src":"1568:13:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":53323,"name":"address","nodeType":"ElementaryTypeName","src":"1568:7:50","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":53326,"mutability":"mutable","name":"spender","nameLocation":"1591:7:50","nodeType":"VariableDeclaration","scope":53331,"src":"1583:15:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":53325,"name":"address","nodeType":"ElementaryTypeName","src":"1583:7:50","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1567:32:50"},"returnParameters":{"id":53330,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53329,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":53331,"src":"1623:7:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":53328,"name":"uint256","nodeType":"ElementaryTypeName","src":"1623:7:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1622:9:50"},"scope":53354,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":53341,"nodeType":"FunctionDefinition","src":"2285:74:50","nodes":[],"documentation":{"id":53332,"nodeType":"StructuredDocumentation","src":"1638:642:50","text":" @dev Sets `amount` as the allowance of `spender` over the caller's tokens.\n Returns a boolean value indicating whether the operation succeeded.\n IMPORTANT: Beware that changing an allowance with this method brings the risk\n that someone may use both the old and the new allowance by unfortunate\n transaction ordering. One possible solution to mitigate this race\n condition is to first reduce the spender's allowance to 0 and set the\n desired value afterwards:\n https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729\n Emits an {Approval} event."},"functionSelector":"095ea7b3","implemented":false,"kind":"function","modifiers":[],"name":"approve","nameLocation":"2294:7:50","parameters":{"id":53337,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53334,"mutability":"mutable","name":"spender","nameLocation":"2310:7:50","nodeType":"VariableDeclaration","scope":53341,"src":"2302:15:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":53333,"name":"address","nodeType":"ElementaryTypeName","src":"2302:7:50","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":53336,"mutability":"mutable","name":"amount","nameLocation":"2327:6:50","nodeType":"VariableDeclaration","scope":53341,"src":"2319:14:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":53335,"name":"uint256","nodeType":"ElementaryTypeName","src":"2319:7:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2301:33:50"},"returnParameters":{"id":53340,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53339,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":53341,"src":"2353:4:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":53338,"name":"bool","nodeType":"ElementaryTypeName","src":"2353:4:50","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"2352:6:50"},"scope":53354,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":53353,"nodeType":"FunctionDefinition","src":"2657:88:50","nodes":[],"documentation":{"id":53342,"nodeType":"StructuredDocumentation","src":"2365:287:50","text":" @dev Moves `amount` tokens from `from` to `to` using the\n allowance mechanism. `amount` is then deducted from the caller's\n allowance.\n Returns a boolean value indicating whether the operation succeeded.\n Emits a {Transfer} event."},"functionSelector":"23b872dd","implemented":false,"kind":"function","modifiers":[],"name":"transferFrom","nameLocation":"2666:12:50","parameters":{"id":53349,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53344,"mutability":"mutable","name":"from","nameLocation":"2687:4:50","nodeType":"VariableDeclaration","scope":53353,"src":"2679:12:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":53343,"name":"address","nodeType":"ElementaryTypeName","src":"2679:7:50","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":53346,"mutability":"mutable","name":"to","nameLocation":"2701:2:50","nodeType":"VariableDeclaration","scope":53353,"src":"2693:10:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":53345,"name":"address","nodeType":"ElementaryTypeName","src":"2693:7:50","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":53348,"mutability":"mutable","name":"amount","nameLocation":"2713:6:50","nodeType":"VariableDeclaration","scope":53353,"src":"2705:14:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":53347,"name":"uint256","nodeType":"ElementaryTypeName","src":"2705:7:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2678:42:50"},"returnParameters":{"id":53352,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53351,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":53353,"src":"2739:4:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":53350,"name":"bool","nodeType":"ElementaryTypeName","src":"2739:4:50","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"2738:6:50"},"scope":53354,"stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"IERC20Upgradeable","contractDependencies":[],"contractKind":"interface","documentation":{"id":53279,"nodeType":"StructuredDocumentation","src":"131:70:50","text":" @dev Interface of the ERC20 standard as defined in the EIP."},"fullyImplemented":false,"linearizedBaseContracts":[53354],"name":"IERC20Upgradeable","nameLocation":"212:17:50","scope":53355,"usedErrors":[]}],"license":"MIT"},"id":50} \ No newline at end of file +{"abi":[{"type":"function","name":"allowance","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"spender","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"approve","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"balanceOf","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"totalSupply","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"transfer","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"transferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"event","name":"Approval","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"spender","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Transfer","inputs":[{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"to","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"allowance(address,address)":"dd62ed3e","approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","totalSupply()":"18160ddd","transfer(address,uint256)":"a9059cbb","transferFrom(address,address,uint256)":"23b872dd"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Interface of the ERC20 standard as defined in the EIP.\",\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when the allowance of a `spender` for an `owner` is set by a call to {approve}. `value` is the new allowance.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `value` tokens are moved from one account (`from`) to another (`to`). Note that `value` may be zero.\"}},\"kind\":\"dev\",\"methods\":{\"allowance(address,address)\":{\"details\":\"Returns the remaining number of tokens that `spender` will be allowed to spend on behalf of `owner` through {transferFrom}. This is zero by default. This value changes when {approve} or {transferFrom} are called.\"},\"approve(address,uint256)\":{\"details\":\"Sets `amount` as the allowance of `spender` over the caller's tokens. Returns a boolean value indicating whether the operation succeeded. IMPORTANT: Beware that changing an allowance with this method brings the risk that someone may use both the old and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 Emits an {Approval} event.\"},\"balanceOf(address)\":{\"details\":\"Returns the amount of tokens owned by `account`.\"},\"totalSupply()\":{\"details\":\"Returns the amount of tokens in existence.\"},\"transfer(address,uint256)\":{\"details\":\"Moves `amount` tokens from the caller's account to `to`. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"Moves `amount` tokens from `from` to `to` using the allowance mechanism. `amount` is then deducted from the caller's allowance. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/IERC20Upgradeable.sol\":\"IERC20Upgradeable\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1000},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":eas-proxy/=lib/allo-v2/lib/eas-proxy/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":hedgey-vesting/=lib/allo-v2/lib/hedgey-vesting/contracts/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-contracts/=lib/safe-contracts/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":superfluid-protocol-monorepo/=lib/allo-v2/lib/superfluid-protocol-monorepo/packages/solidity-semantic-money/src/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"]},\"sources\":{\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/IERC20Upgradeable.sol\":{\"keccak256\":\"0x0e1f0f5f62f67a881cd1a9597acbc0a5e4071f3c2c10449a183b922ae7272e3f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c25f742ff154998d19a669e2508c3597b363e123ce9144cd0fcf6521229f401f\",\"dweb:/ipfs/QmQXRuFzStEWqeEPbhQU6cAg9PaSowxJVo4PDKyRod7dco\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"address","name":"spender","type":"address","indexed":true},{"internalType":"uint256","name":"value","type":"uint256","indexed":false}],"type":"event","name":"Approval","anonymous":false},{"inputs":[{"internalType":"address","name":"from","type":"address","indexed":true},{"internalType":"address","name":"to","type":"address","indexed":true},{"internalType":"uint256","name":"value","type":"uint256","indexed":false}],"type":"event","name":"Transfer","anonymous":false},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"stateMutability":"view","type":"function","name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}]}],"devdoc":{"kind":"dev","methods":{"allowance(address,address)":{"details":"Returns the remaining number of tokens that `spender` will be allowed to spend on behalf of `owner` through {transferFrom}. This is zero by default. This value changes when {approve} or {transferFrom} are called."},"approve(address,uint256)":{"details":"Sets `amount` as the allowance of `spender` over the caller's tokens. Returns a boolean value indicating whether the operation succeeded. IMPORTANT: Beware that changing an allowance with this method brings the risk that someone may use both the old and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 Emits an {Approval} event."},"balanceOf(address)":{"details":"Returns the amount of tokens owned by `account`."},"totalSupply()":{"details":"Returns the amount of tokens in existence."},"transfer(address,uint256)":{"details":"Moves `amount` tokens from the caller's account to `to`. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event."},"transferFrom(address,address,uint256)":{"details":"Moves `amount` tokens from `from` to `to` using the allowance mechanism. `amount` is then deducted from the caller's allowance. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event."}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","eas-proxy/=lib/allo-v2/lib/eas-proxy/contracts/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","hedgey-vesting/=lib/allo-v2/lib/hedgey-vesting/contracts/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-contracts/=lib/safe-contracts/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","superfluid-protocol-monorepo/=lib/allo-v2/lib/superfluid-protocol-monorepo/packages/solidity-semantic-money/src/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":1000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/IERC20Upgradeable.sol":"IERC20Upgradeable"},"evmVersion":"paris","libraries":{}},"sources":{"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/IERC20Upgradeable.sol":{"keccak256":"0x0e1f0f5f62f67a881cd1a9597acbc0a5e4071f3c2c10449a183b922ae7272e3f","urls":["bzz-raw://c25f742ff154998d19a669e2508c3597b363e123ce9144cd0fcf6521229f401f","dweb:/ipfs/QmQXRuFzStEWqeEPbhQU6cAg9PaSowxJVo4PDKyRod7dco"],"license":"MIT"}},"version":1},"storageLayout":{"storage":[],"types":{}},"ast":{"absolutePath":"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/IERC20Upgradeable.sol","id":53355,"exportedSymbols":{"IERC20Upgradeable":[53354]},"nodeType":"SourceUnit","src":"106:2642:50","nodes":[{"id":53278,"nodeType":"PragmaDirective","src":"106:23:50","nodes":[],"literals":["solidity","^","0.8",".0"]},{"id":53354,"nodeType":"ContractDefinition","src":"202:2545:50","nodes":[{"id":53288,"nodeType":"EventDefinition","src":"399:72:50","nodes":[],"anonymous":false,"documentation":{"id":53280,"nodeType":"StructuredDocumentation","src":"236:158:50","text":" @dev Emitted when `value` tokens are moved from one account (`from`) to\n another (`to`).\n Note that `value` may be zero."},"eventSelector":"ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef","name":"Transfer","nameLocation":"405:8:50","parameters":{"id":53287,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53282,"indexed":true,"mutability":"mutable","name":"from","nameLocation":"430:4:50","nodeType":"VariableDeclaration","scope":53288,"src":"414:20:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":53281,"name":"address","nodeType":"ElementaryTypeName","src":"414:7:50","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":53284,"indexed":true,"mutability":"mutable","name":"to","nameLocation":"452:2:50","nodeType":"VariableDeclaration","scope":53288,"src":"436:18:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":53283,"name":"address","nodeType":"ElementaryTypeName","src":"436:7:50","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":53286,"indexed":false,"mutability":"mutable","name":"value","nameLocation":"464:5:50","nodeType":"VariableDeclaration","scope":53288,"src":"456:13:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":53285,"name":"uint256","nodeType":"ElementaryTypeName","src":"456:7:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"413:57:50"}},{"id":53297,"nodeType":"EventDefinition","src":"630:78:50","nodes":[],"anonymous":false,"documentation":{"id":53289,"nodeType":"StructuredDocumentation","src":"477:148:50","text":" @dev Emitted when the allowance of a `spender` for an `owner` is set by\n a call to {approve}. `value` is the new allowance."},"eventSelector":"8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925","name":"Approval","nameLocation":"636:8:50","parameters":{"id":53296,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53291,"indexed":true,"mutability":"mutable","name":"owner","nameLocation":"661:5:50","nodeType":"VariableDeclaration","scope":53297,"src":"645:21:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":53290,"name":"address","nodeType":"ElementaryTypeName","src":"645:7:50","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":53293,"indexed":true,"mutability":"mutable","name":"spender","nameLocation":"684:7:50","nodeType":"VariableDeclaration","scope":53297,"src":"668:23:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":53292,"name":"address","nodeType":"ElementaryTypeName","src":"668:7:50","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":53295,"indexed":false,"mutability":"mutable","name":"value","nameLocation":"701:5:50","nodeType":"VariableDeclaration","scope":53297,"src":"693:13:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":53294,"name":"uint256","nodeType":"ElementaryTypeName","src":"693:7:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"644:63:50"}},{"id":53303,"nodeType":"FunctionDefinition","src":"785:55:50","nodes":[],"documentation":{"id":53298,"nodeType":"StructuredDocumentation","src":"714:66:50","text":" @dev Returns the amount of tokens in existence."},"functionSelector":"18160ddd","implemented":false,"kind":"function","modifiers":[],"name":"totalSupply","nameLocation":"794:11:50","parameters":{"id":53299,"nodeType":"ParameterList","parameters":[],"src":"805:2:50"},"returnParameters":{"id":53302,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53301,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":53303,"src":"831:7:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":53300,"name":"uint256","nodeType":"ElementaryTypeName","src":"831:7:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"830:9:50"},"scope":53354,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":53311,"nodeType":"FunctionDefinition","src":"923:68:50","nodes":[],"documentation":{"id":53304,"nodeType":"StructuredDocumentation","src":"846:72:50","text":" @dev Returns the amount of tokens owned by `account`."},"functionSelector":"70a08231","implemented":false,"kind":"function","modifiers":[],"name":"balanceOf","nameLocation":"932:9:50","parameters":{"id":53307,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53306,"mutability":"mutable","name":"account","nameLocation":"950:7:50","nodeType":"VariableDeclaration","scope":53311,"src":"942:15:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":53305,"name":"address","nodeType":"ElementaryTypeName","src":"942:7:50","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"941:17:50"},"returnParameters":{"id":53310,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53309,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":53311,"src":"982:7:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":53308,"name":"uint256","nodeType":"ElementaryTypeName","src":"982:7:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"981:9:50"},"scope":53354,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":53321,"nodeType":"FunctionDefinition","src":"1204:70:50","nodes":[],"documentation":{"id":53312,"nodeType":"StructuredDocumentation","src":"997:202:50","text":" @dev Moves `amount` tokens from the caller's account to `to`.\n Returns a boolean value indicating whether the operation succeeded.\n Emits a {Transfer} event."},"functionSelector":"a9059cbb","implemented":false,"kind":"function","modifiers":[],"name":"transfer","nameLocation":"1213:8:50","parameters":{"id":53317,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53314,"mutability":"mutable","name":"to","nameLocation":"1230:2:50","nodeType":"VariableDeclaration","scope":53321,"src":"1222:10:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":53313,"name":"address","nodeType":"ElementaryTypeName","src":"1222:7:50","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":53316,"mutability":"mutable","name":"amount","nameLocation":"1242:6:50","nodeType":"VariableDeclaration","scope":53321,"src":"1234:14:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":53315,"name":"uint256","nodeType":"ElementaryTypeName","src":"1234:7:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1221:28:50"},"returnParameters":{"id":53320,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53319,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":53321,"src":"1268:4:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":53318,"name":"bool","nodeType":"ElementaryTypeName","src":"1268:4:50","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1267:6:50"},"scope":53354,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":53331,"nodeType":"FunctionDefinition","src":"1549:83:50","nodes":[],"documentation":{"id":53322,"nodeType":"StructuredDocumentation","src":"1280:264:50","text":" @dev Returns the remaining number of tokens that `spender` will be\n allowed to spend on behalf of `owner` through {transferFrom}. This is\n zero by default.\n This value changes when {approve} or {transferFrom} are called."},"functionSelector":"dd62ed3e","implemented":false,"kind":"function","modifiers":[],"name":"allowance","nameLocation":"1558:9:50","parameters":{"id":53327,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53324,"mutability":"mutable","name":"owner","nameLocation":"1576:5:50","nodeType":"VariableDeclaration","scope":53331,"src":"1568:13:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":53323,"name":"address","nodeType":"ElementaryTypeName","src":"1568:7:50","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":53326,"mutability":"mutable","name":"spender","nameLocation":"1591:7:50","nodeType":"VariableDeclaration","scope":53331,"src":"1583:15:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":53325,"name":"address","nodeType":"ElementaryTypeName","src":"1583:7:50","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1567:32:50"},"returnParameters":{"id":53330,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53329,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":53331,"src":"1623:7:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":53328,"name":"uint256","nodeType":"ElementaryTypeName","src":"1623:7:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1622:9:50"},"scope":53354,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":53341,"nodeType":"FunctionDefinition","src":"2285:74:50","nodes":[],"documentation":{"id":53332,"nodeType":"StructuredDocumentation","src":"1638:642:50","text":" @dev Sets `amount` as the allowance of `spender` over the caller's tokens.\n Returns a boolean value indicating whether the operation succeeded.\n IMPORTANT: Beware that changing an allowance with this method brings the risk\n that someone may use both the old and the new allowance by unfortunate\n transaction ordering. One possible solution to mitigate this race\n condition is to first reduce the spender's allowance to 0 and set the\n desired value afterwards:\n https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729\n Emits an {Approval} event."},"functionSelector":"095ea7b3","implemented":false,"kind":"function","modifiers":[],"name":"approve","nameLocation":"2294:7:50","parameters":{"id":53337,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53334,"mutability":"mutable","name":"spender","nameLocation":"2310:7:50","nodeType":"VariableDeclaration","scope":53341,"src":"2302:15:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":53333,"name":"address","nodeType":"ElementaryTypeName","src":"2302:7:50","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":53336,"mutability":"mutable","name":"amount","nameLocation":"2327:6:50","nodeType":"VariableDeclaration","scope":53341,"src":"2319:14:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":53335,"name":"uint256","nodeType":"ElementaryTypeName","src":"2319:7:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2301:33:50"},"returnParameters":{"id":53340,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53339,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":53341,"src":"2353:4:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":53338,"name":"bool","nodeType":"ElementaryTypeName","src":"2353:4:50","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"2352:6:50"},"scope":53354,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":53353,"nodeType":"FunctionDefinition","src":"2657:88:50","nodes":[],"documentation":{"id":53342,"nodeType":"StructuredDocumentation","src":"2365:287:50","text":" @dev Moves `amount` tokens from `from` to `to` using the\n allowance mechanism. `amount` is then deducted from the caller's\n allowance.\n Returns a boolean value indicating whether the operation succeeded.\n Emits a {Transfer} event."},"functionSelector":"23b872dd","implemented":false,"kind":"function","modifiers":[],"name":"transferFrom","nameLocation":"2666:12:50","parameters":{"id":53349,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53344,"mutability":"mutable","name":"from","nameLocation":"2687:4:50","nodeType":"VariableDeclaration","scope":53353,"src":"2679:12:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":53343,"name":"address","nodeType":"ElementaryTypeName","src":"2679:7:50","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":53346,"mutability":"mutable","name":"to","nameLocation":"2701:2:50","nodeType":"VariableDeclaration","scope":53353,"src":"2693:10:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":53345,"name":"address","nodeType":"ElementaryTypeName","src":"2693:7:50","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":53348,"mutability":"mutable","name":"amount","nameLocation":"2713:6:50","nodeType":"VariableDeclaration","scope":53353,"src":"2705:14:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":53347,"name":"uint256","nodeType":"ElementaryTypeName","src":"2705:7:50","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2678:42:50"},"returnParameters":{"id":53352,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53351,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":53353,"src":"2739:4:50","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":53350,"name":"bool","nodeType":"ElementaryTypeName","src":"2739:4:50","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"2738:6:50"},"scope":53354,"stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"IERC20Upgradeable","contractDependencies":[],"contractKind":"interface","documentation":{"id":53279,"nodeType":"StructuredDocumentation","src":"131:70:50","text":" @dev Interface of the ERC20 standard as defined in the EIP."},"fullyImplemented":false,"linearizedBaseContracts":[53354],"name":"IERC20Upgradeable","nameLocation":"212:17:50","scope":53355,"usedErrors":[]}],"license":"MIT"},"id":50} \ No newline at end of file diff --git a/pkg/contracts/out/IRegistry.sol/IRegistry.json b/pkg/contracts/out/IRegistry.sol/IRegistry.json index c3917ce31..ab3cef029 100644 --- a/pkg/contracts/out/IRegistry.sol/IRegistry.json +++ b/pkg/contracts/out/IRegistry.sol/IRegistry.json @@ -1 +1 @@ -{"abi":[{"type":"function","name":"acceptProfileOwnership","inputs":[{"name":"_profileId","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"addMembers","inputs":[{"name":"_profileId","type":"bytes32","internalType":"bytes32"},{"name":"_members","type":"address[]","internalType":"address[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"createProfile","inputs":[{"name":"_nonce","type":"uint256","internalType":"uint256"},{"name":"_name","type":"string","internalType":"string"},{"name":"_metadata","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]},{"name":"_owner","type":"address","internalType":"address"},{"name":"_members","type":"address[]","internalType":"address[]"}],"outputs":[{"name":"profileId","type":"bytes32","internalType":"bytes32"}],"stateMutability":"nonpayable"},{"type":"function","name":"getProfileByAnchor","inputs":[{"name":"_anchor","type":"address","internalType":"address"}],"outputs":[{"name":"profile","type":"tuple","internalType":"struct IRegistry.Profile","components":[{"name":"id","type":"bytes32","internalType":"bytes32"},{"name":"nonce","type":"uint256","internalType":"uint256"},{"name":"name","type":"string","internalType":"string"},{"name":"metadata","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]},{"name":"owner","type":"address","internalType":"address"},{"name":"anchor","type":"address","internalType":"address"}]}],"stateMutability":"view"},{"type":"function","name":"getProfileById","inputs":[{"name":"_profileId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"profile","type":"tuple","internalType":"struct IRegistry.Profile","components":[{"name":"id","type":"bytes32","internalType":"bytes32"},{"name":"nonce","type":"uint256","internalType":"uint256"},{"name":"name","type":"string","internalType":"string"},{"name":"metadata","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]},{"name":"owner","type":"address","internalType":"address"},{"name":"anchor","type":"address","internalType":"address"}]}],"stateMutability":"view"},{"type":"function","name":"isMemberOfProfile","inputs":[{"name":"_profileId","type":"bytes32","internalType":"bytes32"},{"name":"_member","type":"address","internalType":"address"}],"outputs":[{"name":"isMemberOfProfile","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isOwnerOfProfile","inputs":[{"name":"_profileId","type":"bytes32","internalType":"bytes32"},{"name":"_owner","type":"address","internalType":"address"}],"outputs":[{"name":"isOwnerOfProfile","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isOwnerOrMemberOfProfile","inputs":[{"name":"_profileId","type":"bytes32","internalType":"bytes32"},{"name":"_account","type":"address","internalType":"address"}],"outputs":[{"name":"isOwnerOrMemberOfProfile","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"recoverFunds","inputs":[{"name":"_token","type":"address","internalType":"address"},{"name":"_recipient","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"removeMembers","inputs":[{"name":"_profileId","type":"bytes32","internalType":"bytes32"},{"name":"_members","type":"address[]","internalType":"address[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"updateProfileMetadata","inputs":[{"name":"_profileId","type":"bytes32","internalType":"bytes32"},{"name":"_metadata","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"updateProfileName","inputs":[{"name":"_profileId","type":"bytes32","internalType":"bytes32"},{"name":"_name","type":"string","internalType":"string"}],"outputs":[{"name":"anchor","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"updateProfilePendingOwner","inputs":[{"name":"_profileId","type":"bytes32","internalType":"bytes32"},{"name":"_pendingOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"ProfileCreated","inputs":[{"name":"profileId","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"nonce","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"name","type":"string","indexed":false,"internalType":"string"},{"name":"metadata","type":"tuple","indexed":false,"internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]},{"name":"owner","type":"address","indexed":false,"internalType":"address"},{"name":"anchor","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"ProfileMetadataUpdated","inputs":[{"name":"profileId","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"metadata","type":"tuple","indexed":false,"internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]}],"anonymous":false},{"type":"event","name":"ProfileNameUpdated","inputs":[{"name":"profileId","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"name","type":"string","indexed":false,"internalType":"string"},{"name":"anchor","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"ProfileOwnerUpdated","inputs":[{"name":"profileId","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"owner","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"ProfilePendingOwnerUpdated","inputs":[{"name":"profileId","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"pendingOwner","type":"address","indexed":false,"internalType":"address"}],"anonymous":false}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"acceptProfileOwnership(bytes32)":"2497f3c6","addMembers(bytes32,address[])":"5063f361","createProfile(uint256,string,(uint256,string),address,address[])":"3a92f65f","getProfileByAnchor(address)":"dd93da43","getProfileById(bytes32)":"0114cf0a","isMemberOfProfile(bytes32,address)":"0ec1fbac","isOwnerOfProfile(bytes32,address)":"39b86b8c","isOwnerOrMemberOfProfile(bytes32,address)":"5e8a7915","recoverFunds(address,address)":"24ae6a27","removeMembers(bytes32,address[])":"e0cf1e4c","updateProfileMetadata(bytes32,(uint256,string))":"ac402839","updateProfileName(bytes32,string)":"cf189ff2","updateProfilePendingOwner(bytes32,address)":"3b66dacd"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"profileId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"indexed\":false,\"internalType\":\"struct Metadata\",\"name\":\"metadata\",\"type\":\"tuple\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"anchor\",\"type\":\"address\"}],\"name\":\"ProfileCreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"profileId\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"indexed\":false,\"internalType\":\"struct Metadata\",\"name\":\"metadata\",\"type\":\"tuple\"}],\"name\":\"ProfileMetadataUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"profileId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"anchor\",\"type\":\"address\"}],\"name\":\"ProfileNameUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"profileId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"ProfileOwnerUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"profileId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"pendingOwner\",\"type\":\"address\"}],\"name\":\"ProfilePendingOwnerUpdated\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_profileId\",\"type\":\"bytes32\"}],\"name\":\"acceptProfileOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_profileId\",\"type\":\"bytes32\"},{\"internalType\":\"address[]\",\"name\":\"_members\",\"type\":\"address[]\"}],\"name\":\"addMembers\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_nonce\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"_name\",\"type\":\"string\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"_metadata\",\"type\":\"tuple\"},{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"},{\"internalType\":\"address[]\",\"name\":\"_members\",\"type\":\"address[]\"}],\"name\":\"createProfile\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"profileId\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_anchor\",\"type\":\"address\"}],\"name\":\"getProfileByAnchor\",\"outputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"id\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"metadata\",\"type\":\"tuple\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"anchor\",\"type\":\"address\"}],\"internalType\":\"struct IRegistry.Profile\",\"name\":\"profile\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_profileId\",\"type\":\"bytes32\"}],\"name\":\"getProfileById\",\"outputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"id\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"metadata\",\"type\":\"tuple\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"anchor\",\"type\":\"address\"}],\"internalType\":\"struct IRegistry.Profile\",\"name\":\"profile\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_profileId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"}],\"name\":\"isMemberOfProfile\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isMemberOfProfile\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_profileId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"}],\"name\":\"isOwnerOfProfile\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isOwnerOfProfile\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_profileId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"_account\",\"type\":\"address\"}],\"name\":\"isOwnerOrMemberOfProfile\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isOwnerOrMemberOfProfile\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_recipient\",\"type\":\"address\"}],\"name\":\"recoverFunds\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_profileId\",\"type\":\"bytes32\"},{\"internalType\":\"address[]\",\"name\":\"_members\",\"type\":\"address[]\"}],\"name\":\"removeMembers\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_profileId\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"_metadata\",\"type\":\"tuple\"}],\"name\":\"updateProfileMetadata\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_profileId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"_name\",\"type\":\"string\"}],\"name\":\"updateProfileName\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"anchor\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_profileId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"_pendingOwner\",\"type\":\"address\"}],\"name\":\"updateProfilePendingOwner\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"@thelostone-mc , @0xKurt , @codenamejason , @0xZakk , @nfrgosselin \",\"details\":\"The Registry Interface is used to interact with the Allo protocol and create profiles that can be used to interact with the Allo protocol. The Registry is the main contract that all other contracts interact with to get the 'Profile' information needed to interact with the Allo protocol. The Registry is also used to create new profiles and update existing profiles. The Registry is also used to add and remove members from a profile. The Registry will not always be used in a strategy and will depend on the strategy being used.\",\"events\":{\"ProfileCreated(bytes32,uint256,string,(uint256,string),address,address)\":{\"details\":\"Emitted when a profile is created. This will return your anchor address.\"},\"ProfileMetadataUpdated(bytes32,(uint256,string))\":{\"details\":\"Emitted when a profile's metadata is updated.\"},\"ProfileNameUpdated(bytes32,string,address)\":{\"details\":\"Emitted when a profile name is updated. This will update the anchor when the name is updated and return it.\"},\"ProfileOwnerUpdated(bytes32,address)\":{\"details\":\"Emitted when a profile owner is updated.\"},\"ProfilePendingOwnerUpdated(bytes32,address)\":{\"details\":\"Emitted when a profile pending owner is updated.\"}},\"kind\":\"dev\",\"methods\":{\"acceptProfileOwnership(bytes32)\":{\"details\":\"Accepts the pending 'owner' of the '_profileId' passed in Requirements: Only the pending owner can accept the ownership\",\"params\":{\"_profileId\":\"The 'profileId' to accept the ownership for\"}},\"addMembers(bytes32,address[])\":{\"details\":\"Adds members to the '_profileId' passed in Requirements: Only the 'Profile' owner can add members\",\"params\":{\"_members\":\"The members to add to the '_profileId' passed in\",\"_profileId\":\"The 'profileId' to add members to\"}},\"createProfile(uint256,string,(uint256,string),address,address[])\":{\"details\":\"Creates a new 'Profile' and returns the 'profileId' of the new profile Note: The 'name' and 'nonce' are used to generate the 'anchor' address Requirements: None, anyone can create a new profile\",\"params\":{\"_members\":\"The 'members' to use to generate the 'anchor' address\",\"_metadata\":\"The 'Metadata' to use to generate the 'anchor' address\",\"_name\":\"The name to use to generate the 'anchor' address\",\"_nonce\":\"The nonce to use to generate the 'anchor' address\",\"_owner\":\"The 'owner' to use to generate the 'anchor' address\"},\"returns\":{\"profileId\":\"The 'profileId' of the new profile\"}},\"getProfileByAnchor(address)\":{\"details\":\"Returns the 'Profile' for an '_anchor' passed\",\"params\":{\"_anchor\":\"The 'anchor' to return the 'Profile' for\"},\"returns\":{\"profile\":\"The 'Profile' for the '_anchor' passed\"}},\"getProfileById(bytes32)\":{\"details\":\"Returns the 'Profile' for a '_profileId' passed\",\"params\":{\"_profileId\":\"The 'profileId' to return the 'Profile' for\"},\"returns\":{\"profile\":\"The 'Profile' for the '_profileId' passed\"}},\"isMemberOfProfile(bytes32,address)\":{\"details\":\"Returns a boolean if the '_account' is a member of the '_profileId' passed in\",\"params\":{\"_member\":\"The 'member' to check if they are a member of the '_profileId' passed in\",\"_profileId\":\"The 'profileId' to check if the '_account' is a member of\"},\"returns\":{\"isMemberOfProfile\":\"A boolean if the '_account' is a member of the '_profileId' passed in\"}},\"isOwnerOfProfile(bytes32,address)\":{\"details\":\"Returns a boolean if the '_account' is an owner of the '_profileId' passed in\",\"params\":{\"_owner\":\"The 'owner' to check if they are an owner of the '_profileId' passed in\",\"_profileId\":\"The 'profileId' to check if the '_account' is an owner of\"},\"returns\":{\"isOwnerOfProfile\":\"A boolean if the '_account' is an owner of the '_profileId' passed in\"}},\"isOwnerOrMemberOfProfile(bytes32,address)\":{\"details\":\"Returns a boolean if the '_account' is a member or owner of the '_profileId' passed in\",\"params\":{\"_account\":\"The 'account' to check if they are a member or owner of the '_profileId' passed in\",\"_profileId\":\"The 'profileId' to check if the '_account' is a member or owner of\"},\"returns\":{\"isOwnerOrMemberOfProfile\":\"A boolean if the '_account' is a member or owner of the '_profileId' passed in\"}},\"recoverFunds(address,address)\":{\"details\":\"Recovers funds from the contract Requirements: Must be the Allo owner\",\"params\":{\"_recipient\":\"The recipient of the recovered funds\",\"_token\":\"The token you want to use to recover funds\"}},\"removeMembers(bytes32,address[])\":{\"details\":\"Removes members from the '_profileId' passed in Requirements: Only the 'Profile' owner can remove members\",\"params\":{\"_members\":\"The members to remove from the '_profileId' passed in\",\"_profileId\":\"The 'profileId' to remove members from\"}},\"updateProfileMetadata(bytes32,(uint256,string))\":{\"details\":\"Updates the 'Metadata' of the '_profileId' passed in Requirements: Only the 'Profile' owner can update the metadata\",\"params\":{\"_metadata\":\"The new 'Metadata' value\",\"_profileId\":\"The 'profileId' to update the metadata for\"}},\"updateProfileName(bytes32,string)\":{\"details\":\"Updates the 'name' of the '_profileId' passed in and returns the new 'anchor' address Requirements: Only the 'Profile' owner can update the name Note: The 'name' and 'nonce' are used to generate the 'anchor' address and this will update the 'anchor' so please use caution. You can always recreate your 'anchor' address by updating the name back to the original name used to create the profile.\",\"params\":{\"_name\":\"The new 'name' value\",\"_profileId\":\"The 'profileId' to update the name for\"},\"returns\":{\"anchor\":\"The new 'anchor' address\"}},\"updateProfilePendingOwner(bytes32,address)\":{\"details\":\"Updates the pending 'owner' of the '_profileId' passed in Requirements: Only the 'Profile' owner can update the pending owner\",\"params\":{\"_pendingOwner\":\"The new pending 'owner' value\",\"_profileId\":\"The 'profileId' to update the pending owner for\"}}},\"title\":\"IRegistry Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Interface for the Registry contract and exposes all functions needed to use the Registry within the Allo protocol.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/allo-v2/contracts/core/interfaces/IRegistry.sol\":\"IRegistry\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1000},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-contracts/=lib/safe-contracts/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"]},\"sources\":{\"lib/allo-v2/contracts/core/interfaces/IRegistry.sol\":{\"keccak256\":\"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e\",\"dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA\"]},\"lib/allo-v2/contracts/core/libraries/Metadata.sol\":{\"keccak256\":\"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c\",\"dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"bytes32","name":"profileId","type":"bytes32","indexed":true},{"internalType":"uint256","name":"nonce","type":"uint256","indexed":false},{"internalType":"string","name":"name","type":"string","indexed":false},{"internalType":"struct Metadata","name":"metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}],"indexed":false},{"internalType":"address","name":"owner","type":"address","indexed":false},{"internalType":"address","name":"anchor","type":"address","indexed":false}],"type":"event","name":"ProfileCreated","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"profileId","type":"bytes32","indexed":true},{"internalType":"struct Metadata","name":"metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}],"indexed":false}],"type":"event","name":"ProfileMetadataUpdated","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"profileId","type":"bytes32","indexed":true},{"internalType":"string","name":"name","type":"string","indexed":false},{"internalType":"address","name":"anchor","type":"address","indexed":false}],"type":"event","name":"ProfileNameUpdated","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"profileId","type":"bytes32","indexed":true},{"internalType":"address","name":"owner","type":"address","indexed":false}],"type":"event","name":"ProfileOwnerUpdated","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"profileId","type":"bytes32","indexed":true},{"internalType":"address","name":"pendingOwner","type":"address","indexed":false}],"type":"event","name":"ProfilePendingOwnerUpdated","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"_profileId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"acceptProfileOwnership"},{"inputs":[{"internalType":"bytes32","name":"_profileId","type":"bytes32"},{"internalType":"address[]","name":"_members","type":"address[]"}],"stateMutability":"nonpayable","type":"function","name":"addMembers"},{"inputs":[{"internalType":"uint256","name":"_nonce","type":"uint256"},{"internalType":"string","name":"_name","type":"string"},{"internalType":"struct Metadata","name":"_metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]},{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address[]","name":"_members","type":"address[]"}],"stateMutability":"nonpayable","type":"function","name":"createProfile","outputs":[{"internalType":"bytes32","name":"profileId","type":"bytes32"}]},{"inputs":[{"internalType":"address","name":"_anchor","type":"address"}],"stateMutability":"view","type":"function","name":"getProfileByAnchor","outputs":[{"internalType":"struct IRegistry.Profile","name":"profile","type":"tuple","components":[{"internalType":"bytes32","name":"id","type":"bytes32"},{"internalType":"uint256","name":"nonce","type":"uint256"},{"internalType":"string","name":"name","type":"string"},{"internalType":"struct Metadata","name":"metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]},{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"anchor","type":"address"}]}]},{"inputs":[{"internalType":"bytes32","name":"_profileId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getProfileById","outputs":[{"internalType":"struct IRegistry.Profile","name":"profile","type":"tuple","components":[{"internalType":"bytes32","name":"id","type":"bytes32"},{"internalType":"uint256","name":"nonce","type":"uint256"},{"internalType":"string","name":"name","type":"string"},{"internalType":"struct Metadata","name":"metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]},{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"anchor","type":"address"}]}]},{"inputs":[{"internalType":"bytes32","name":"_profileId","type":"bytes32"},{"internalType":"address","name":"_member","type":"address"}],"stateMutability":"view","type":"function","name":"isMemberOfProfile","outputs":[{"internalType":"bool","name":"isMemberOfProfile","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"_profileId","type":"bytes32"},{"internalType":"address","name":"_owner","type":"address"}],"stateMutability":"view","type":"function","name":"isOwnerOfProfile","outputs":[{"internalType":"bool","name":"isOwnerOfProfile","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"_profileId","type":"bytes32"},{"internalType":"address","name":"_account","type":"address"}],"stateMutability":"view","type":"function","name":"isOwnerOrMemberOfProfile","outputs":[{"internalType":"bool","name":"isOwnerOrMemberOfProfile","type":"bool"}]},{"inputs":[{"internalType":"address","name":"_token","type":"address"},{"internalType":"address","name":"_recipient","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"recoverFunds"},{"inputs":[{"internalType":"bytes32","name":"_profileId","type":"bytes32"},{"internalType":"address[]","name":"_members","type":"address[]"}],"stateMutability":"nonpayable","type":"function","name":"removeMembers"},{"inputs":[{"internalType":"bytes32","name":"_profileId","type":"bytes32"},{"internalType":"struct Metadata","name":"_metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]}],"stateMutability":"nonpayable","type":"function","name":"updateProfileMetadata"},{"inputs":[{"internalType":"bytes32","name":"_profileId","type":"bytes32"},{"internalType":"string","name":"_name","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"updateProfileName","outputs":[{"internalType":"address","name":"anchor","type":"address"}]},{"inputs":[{"internalType":"bytes32","name":"_profileId","type":"bytes32"},{"internalType":"address","name":"_pendingOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"updateProfilePendingOwner"}],"devdoc":{"kind":"dev","methods":{"acceptProfileOwnership(bytes32)":{"details":"Accepts the pending 'owner' of the '_profileId' passed in Requirements: Only the pending owner can accept the ownership","params":{"_profileId":"The 'profileId' to accept the ownership for"}},"addMembers(bytes32,address[])":{"details":"Adds members to the '_profileId' passed in Requirements: Only the 'Profile' owner can add members","params":{"_members":"The members to add to the '_profileId' passed in","_profileId":"The 'profileId' to add members to"}},"createProfile(uint256,string,(uint256,string),address,address[])":{"details":"Creates a new 'Profile' and returns the 'profileId' of the new profile Note: The 'name' and 'nonce' are used to generate the 'anchor' address Requirements: None, anyone can create a new profile","params":{"_members":"The 'members' to use to generate the 'anchor' address","_metadata":"The 'Metadata' to use to generate the 'anchor' address","_name":"The name to use to generate the 'anchor' address","_nonce":"The nonce to use to generate the 'anchor' address","_owner":"The 'owner' to use to generate the 'anchor' address"},"returns":{"profileId":"The 'profileId' of the new profile"}},"getProfileByAnchor(address)":{"details":"Returns the 'Profile' for an '_anchor' passed","params":{"_anchor":"The 'anchor' to return the 'Profile' for"},"returns":{"profile":"The 'Profile' for the '_anchor' passed"}},"getProfileById(bytes32)":{"details":"Returns the 'Profile' for a '_profileId' passed","params":{"_profileId":"The 'profileId' to return the 'Profile' for"},"returns":{"profile":"The 'Profile' for the '_profileId' passed"}},"isMemberOfProfile(bytes32,address)":{"details":"Returns a boolean if the '_account' is a member of the '_profileId' passed in","params":{"_member":"The 'member' to check if they are a member of the '_profileId' passed in","_profileId":"The 'profileId' to check if the '_account' is a member of"},"returns":{"isMemberOfProfile":"A boolean if the '_account' is a member of the '_profileId' passed in"}},"isOwnerOfProfile(bytes32,address)":{"details":"Returns a boolean if the '_account' is an owner of the '_profileId' passed in","params":{"_owner":"The 'owner' to check if they are an owner of the '_profileId' passed in","_profileId":"The 'profileId' to check if the '_account' is an owner of"},"returns":{"isOwnerOfProfile":"A boolean if the '_account' is an owner of the '_profileId' passed in"}},"isOwnerOrMemberOfProfile(bytes32,address)":{"details":"Returns a boolean if the '_account' is a member or owner of the '_profileId' passed in","params":{"_account":"The 'account' to check if they are a member or owner of the '_profileId' passed in","_profileId":"The 'profileId' to check if the '_account' is a member or owner of"},"returns":{"isOwnerOrMemberOfProfile":"A boolean if the '_account' is a member or owner of the '_profileId' passed in"}},"recoverFunds(address,address)":{"details":"Recovers funds from the contract Requirements: Must be the Allo owner","params":{"_recipient":"The recipient of the recovered funds","_token":"The token you want to use to recover funds"}},"removeMembers(bytes32,address[])":{"details":"Removes members from the '_profileId' passed in Requirements: Only the 'Profile' owner can remove members","params":{"_members":"The members to remove from the '_profileId' passed in","_profileId":"The 'profileId' to remove members from"}},"updateProfileMetadata(bytes32,(uint256,string))":{"details":"Updates the 'Metadata' of the '_profileId' passed in Requirements: Only the 'Profile' owner can update the metadata","params":{"_metadata":"The new 'Metadata' value","_profileId":"The 'profileId' to update the metadata for"}},"updateProfileName(bytes32,string)":{"details":"Updates the 'name' of the '_profileId' passed in and returns the new 'anchor' address Requirements: Only the 'Profile' owner can update the name Note: The 'name' and 'nonce' are used to generate the 'anchor' address and this will update the 'anchor' so please use caution. You can always recreate your 'anchor' address by updating the name back to the original name used to create the profile.","params":{"_name":"The new 'name' value","_profileId":"The 'profileId' to update the name for"},"returns":{"anchor":"The new 'anchor' address"}},"updateProfilePendingOwner(bytes32,address)":{"details":"Updates the pending 'owner' of the '_profileId' passed in Requirements: Only the 'Profile' owner can update the pending owner","params":{"_pendingOwner":"The new pending 'owner' value","_profileId":"The 'profileId' to update the pending owner for"}}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-contracts/=lib/safe-contracts/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":1000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib/allo-v2/contracts/core/interfaces/IRegistry.sol":"IRegistry"},"evmVersion":"paris","libraries":{}},"sources":{"lib/allo-v2/contracts/core/interfaces/IRegistry.sol":{"keccak256":"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f","urls":["bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e","dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA"],"license":"MIT"},"lib/allo-v2/contracts/core/libraries/Metadata.sol":{"keccak256":"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44","urls":["bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c","dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn"],"license":"AGPL-3.0-only"}},"version":1},"storageLayout":{"storage":[],"types":{}},"ast":{"absolutePath":"lib/allo-v2/contracts/core/interfaces/IRegistry.sol","id":2803,"exportedSymbols":{"IRegistry":[2802],"Metadata":[3098]},"nodeType":"SourceUnit","src":"32:12410:4","nodes":[{"id":2612,"nodeType":"PragmaDirective","src":"32:24:4","nodes":[],"literals":["solidity","^","0.8",".19"]},{"id":2614,"nodeType":"ImportDirective","src":"80:51:4","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/libraries/Metadata.sol","file":"../libraries/Metadata.sol","nameLocation":"-1:-1:-1","scope":2803,"sourceUnit":3099,"symbolAliases":[{"foreign":{"id":2613,"name":"Metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3098,"src":"88:8:4","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":2802,"nodeType":"ContractDefinition","src":"5055:7386:4","nodes":[{"id":2629,"nodeType":"StructDefinition","src":"5240:160:4","nodes":[],"canonicalName":"IRegistry.Profile","members":[{"constant":false,"id":2617,"mutability":"mutable","name":"id","nameLocation":"5273:2:4","nodeType":"VariableDeclaration","scope":2629,"src":"5265:10:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2616,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5265:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":2619,"mutability":"mutable","name":"nonce","nameLocation":"5293:5:4","nodeType":"VariableDeclaration","scope":2629,"src":"5285:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2618,"name":"uint256","nodeType":"ElementaryTypeName","src":"5285:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2621,"mutability":"mutable","name":"name","nameLocation":"5315:4:4","nodeType":"VariableDeclaration","scope":2629,"src":"5308:11:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":2620,"name":"string","nodeType":"ElementaryTypeName","src":"5308:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":2624,"mutability":"mutable","name":"metadata","nameLocation":"5338:8:4","nodeType":"VariableDeclaration","scope":2629,"src":"5329:17:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"},"typeName":{"id":2623,"nodeType":"UserDefinedTypeName","pathNode":{"id":2622,"name":"Metadata","nameLocations":["5329:8:4"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"5329:8:4"},"referencedDeclaration":3098,"src":"5329:8:4","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"},{"constant":false,"id":2626,"mutability":"mutable","name":"owner","nameLocation":"5364:5:4","nodeType":"VariableDeclaration","scope":2629,"src":"5356:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2625,"name":"address","nodeType":"ElementaryTypeName","src":"5356:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":2628,"mutability":"mutable","name":"anchor","nameLocation":"5387:6:4","nodeType":"VariableDeclaration","scope":2629,"src":"5379:14:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2627,"name":"address","nodeType":"ElementaryTypeName","src":"5379:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"name":"Profile","nameLocation":"5247:7:4","scope":2802,"visibility":"public"},{"id":2645,"nodeType":"EventDefinition","src":"5586:140:4","nodes":[],"anonymous":false,"documentation":{"id":2630,"nodeType":"StructuredDocumentation","src":"5500:81:4","text":"@dev Emitted when a profile is created. This will return your anchor address."},"eventSelector":"1e28352ff00d67474b59b87e6817d6ba65daa0130446266db8640214d8b80609","name":"ProfileCreated","nameLocation":"5592:14:4","parameters":{"id":2644,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2632,"indexed":true,"mutability":"mutable","name":"profileId","nameLocation":"5632:9:4","nodeType":"VariableDeclaration","scope":2645,"src":"5616:25:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2631,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5616:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":2634,"indexed":false,"mutability":"mutable","name":"nonce","nameLocation":"5651:5:4","nodeType":"VariableDeclaration","scope":2645,"src":"5643:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2633,"name":"uint256","nodeType":"ElementaryTypeName","src":"5643:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2636,"indexed":false,"mutability":"mutable","name":"name","nameLocation":"5665:4:4","nodeType":"VariableDeclaration","scope":2645,"src":"5658:11:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":2635,"name":"string","nodeType":"ElementaryTypeName","src":"5658:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":2639,"indexed":false,"mutability":"mutable","name":"metadata","nameLocation":"5680:8:4","nodeType":"VariableDeclaration","scope":2645,"src":"5671:17:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata"},"typeName":{"id":2638,"nodeType":"UserDefinedTypeName","pathNode":{"id":2637,"name":"Metadata","nameLocations":["5671:8:4"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"5671:8:4"},"referencedDeclaration":3098,"src":"5671:8:4","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"},{"constant":false,"id":2641,"indexed":false,"mutability":"mutable","name":"owner","nameLocation":"5698:5:4","nodeType":"VariableDeclaration","scope":2645,"src":"5690:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2640,"name":"address","nodeType":"ElementaryTypeName","src":"5690:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":2643,"indexed":false,"mutability":"mutable","name":"anchor","nameLocation":"5713:6:4","nodeType":"VariableDeclaration","scope":2645,"src":"5705:14:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2642,"name":"address","nodeType":"ElementaryTypeName","src":"5705:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5606:119:4"}},{"id":2654,"nodeType":"EventDefinition","src":"5853:81:4","nodes":[],"anonymous":false,"documentation":{"id":2646,"nodeType":"StructuredDocumentation","src":"5732:116:4","text":"@dev Emitted when a profile name is updated. This will update the anchor when the name is updated and return it."},"eventSelector":"54cd733148631b9ff1cb945f2d0dcd33c0692e154763bfa2f35e2d10a76c432f","name":"ProfileNameUpdated","nameLocation":"5859:18:4","parameters":{"id":2653,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2648,"indexed":true,"mutability":"mutable","name":"profileId","nameLocation":"5894:9:4","nodeType":"VariableDeclaration","scope":2654,"src":"5878:25:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2647,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5878:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":2650,"indexed":false,"mutability":"mutable","name":"name","nameLocation":"5912:4:4","nodeType":"VariableDeclaration","scope":2654,"src":"5905:11:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":2649,"name":"string","nodeType":"ElementaryTypeName","src":"5905:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":2652,"indexed":false,"mutability":"mutable","name":"anchor","nameLocation":"5926:6:4","nodeType":"VariableDeclaration","scope":2654,"src":"5918:14:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2651,"name":"address","nodeType":"ElementaryTypeName","src":"5918:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5877:56:4"}},{"id":2662,"nodeType":"EventDefinition","src":"5999:75:4","nodes":[],"anonymous":false,"documentation":{"id":2655,"nodeType":"StructuredDocumentation","src":"5940:54:4","text":"@dev Emitted when a profile's metadata is updated."},"eventSelector":"a366054a574e4f861cb295fd23b5440c5119c1ba329c36f5dfeb5643537cb0f3","name":"ProfileMetadataUpdated","nameLocation":"6005:22:4","parameters":{"id":2661,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2657,"indexed":true,"mutability":"mutable","name":"profileId","nameLocation":"6044:9:4","nodeType":"VariableDeclaration","scope":2662,"src":"6028:25:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2656,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6028:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":2660,"indexed":false,"mutability":"mutable","name":"metadata","nameLocation":"6064:8:4","nodeType":"VariableDeclaration","scope":2662,"src":"6055:17:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata"},"typeName":{"id":2659,"nodeType":"UserDefinedTypeName","pathNode":{"id":2658,"name":"Metadata","nameLocations":["6055:8:4"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"6055:8:4"},"referencedDeclaration":3098,"src":"6055:8:4","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"}],"src":"6027:46:4"}},{"id":2669,"nodeType":"EventDefinition","src":"6134:68:4","nodes":[],"anonymous":false,"documentation":{"id":2663,"nodeType":"StructuredDocumentation","src":"6080:49:4","text":"@dev Emitted when a profile owner is updated."},"eventSelector":"fd9ad63830df7bdf1586c8293dc88a30864cb43e9037e7afdb2c7210facf217d","name":"ProfileOwnerUpdated","nameLocation":"6140:19:4","parameters":{"id":2668,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2665,"indexed":true,"mutability":"mutable","name":"profileId","nameLocation":"6176:9:4","nodeType":"VariableDeclaration","scope":2669,"src":"6160:25:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2664,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6160:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":2667,"indexed":false,"mutability":"mutable","name":"owner","nameLocation":"6195:5:4","nodeType":"VariableDeclaration","scope":2669,"src":"6187:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2666,"name":"address","nodeType":"ElementaryTypeName","src":"6187:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6159:42:4"}},{"id":2676,"nodeType":"EventDefinition","src":"6270:82:4","nodes":[],"anonymous":false,"documentation":{"id":2670,"nodeType":"StructuredDocumentation","src":"6208:57:4","text":"@dev Emitted when a profile pending owner is updated."},"eventSelector":"21fe5cd61055ef88f636a264885b927f3ec2b380b6053a6b4a7495a6336a95c8","name":"ProfilePendingOwnerUpdated","nameLocation":"6276:26:4","parameters":{"id":2675,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2672,"indexed":true,"mutability":"mutable","name":"profileId","nameLocation":"6319:9:4","nodeType":"VariableDeclaration","scope":2676,"src":"6303:25:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2671,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6303:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":2674,"indexed":false,"mutability":"mutable","name":"pendingOwner","nameLocation":"6338:12:4","nodeType":"VariableDeclaration","scope":2676,"src":"6330:20:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2673,"name":"address","nodeType":"ElementaryTypeName","src":"6330:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6302:49:4"}},{"id":2685,"nodeType":"FunctionDefinition","src":"6658:91:4","nodes":[],"documentation":{"id":2677,"nodeType":"StructuredDocumentation","src":"6461:192:4","text":"@dev Returns the 'Profile' for a '_profileId' passed\n @param _profileId The 'profileId' to return the 'Profile' for\n @return profile The 'Profile' for the '_profileId' passed"},"functionSelector":"0114cf0a","implemented":false,"kind":"function","modifiers":[],"name":"getProfileById","nameLocation":"6667:14:4","parameters":{"id":2680,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2679,"mutability":"mutable","name":"_profileId","nameLocation":"6690:10:4","nodeType":"VariableDeclaration","scope":2685,"src":"6682:18:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2678,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6682:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"6681:20:4"},"returnParameters":{"id":2684,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2683,"mutability":"mutable","name":"profile","nameLocation":"6740:7:4","nodeType":"VariableDeclaration","scope":2685,"src":"6725:22:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_memory_ptr","typeString":"struct IRegistry.Profile"},"typeName":{"id":2682,"nodeType":"UserDefinedTypeName","pathNode":{"id":2681,"name":"Profile","nameLocations":["6725:7:4"],"nodeType":"IdentifierPath","referencedDeclaration":2629,"src":"6725:7:4"},"referencedDeclaration":2629,"src":"6725:7:4","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_storage_ptr","typeString":"struct IRegistry.Profile"}},"visibility":"internal"}],"src":"6724:24:4"},"scope":2802,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":2694,"nodeType":"FunctionDefinition","src":"6941:92:4","nodes":[],"documentation":{"id":2686,"nodeType":"StructuredDocumentation","src":"6755:181:4","text":"@dev Returns the 'Profile' for an '_anchor' passed\n @param _anchor The 'anchor' to return the 'Profile' for\n @return profile The 'Profile' for the '_anchor' passed"},"functionSelector":"dd93da43","implemented":false,"kind":"function","modifiers":[],"name":"getProfileByAnchor","nameLocation":"6950:18:4","parameters":{"id":2689,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2688,"mutability":"mutable","name":"_anchor","nameLocation":"6977:7:4","nodeType":"VariableDeclaration","scope":2694,"src":"6969:15:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2687,"name":"address","nodeType":"ElementaryTypeName","src":"6969:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6968:17:4"},"returnParameters":{"id":2693,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2692,"mutability":"mutable","name":"profile","nameLocation":"7024:7:4","nodeType":"VariableDeclaration","scope":2694,"src":"7009:22:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_memory_ptr","typeString":"struct IRegistry.Profile"},"typeName":{"id":2691,"nodeType":"UserDefinedTypeName","pathNode":{"id":2690,"name":"Profile","nameLocations":["7009:7:4"],"nodeType":"IdentifierPath","referencedDeclaration":2629,"src":"7009:7:4"},"referencedDeclaration":2629,"src":"7009:7:4","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_storage_ptr","typeString":"struct IRegistry.Profile"}},"visibility":"internal"}],"src":"7008:24:4"},"scope":2802,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":2704,"nodeType":"FunctionDefinition","src":"7459:150:4","nodes":[],"documentation":{"id":2695,"nodeType":"StructuredDocumentation","src":"7039:415:4","text":"@dev Returns a boolean if the '_account' is a member or owner of the '_profileId' passed in\n @param _profileId The 'profileId' to check if the '_account' is a member or owner of\n @param _account The 'account' to check if they are a member or owner of the '_profileId' passed in\n @return isOwnerOrMemberOfProfile A boolean if the '_account' is a member or owner of the '_profileId' passed in"},"functionSelector":"5e8a7915","implemented":false,"kind":"function","modifiers":[],"name":"isOwnerOrMemberOfProfile","nameLocation":"7468:24:4","parameters":{"id":2700,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2697,"mutability":"mutable","name":"_profileId","nameLocation":"7501:10:4","nodeType":"VariableDeclaration","scope":2704,"src":"7493:18:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2696,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7493:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":2699,"mutability":"mutable","name":"_account","nameLocation":"7521:8:4","nodeType":"VariableDeclaration","scope":2704,"src":"7513:16:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2698,"name":"address","nodeType":"ElementaryTypeName","src":"7513:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"7492:38:4"},"returnParameters":{"id":2703,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2702,"mutability":"mutable","name":"isOwnerOrMemberOfProfile","nameLocation":"7583:24:4","nodeType":"VariableDeclaration","scope":2704,"src":"7578:29:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":2701,"name":"bool","nodeType":"ElementaryTypeName","src":"7578:4:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"7577:31:4"},"scope":2802,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":2714,"nodeType":"FunctionDefinition","src":"7987:108:4","nodes":[],"documentation":{"id":2705,"nodeType":"StructuredDocumentation","src":"7615:367:4","text":"@dev Returns a boolean if the '_account' is an owner of the '_profileId' passed in\n @param _profileId The 'profileId' to check if the '_account' is an owner of\n @param _owner The 'owner' to check if they are an owner of the '_profileId' passed in\n @return isOwnerOfProfile A boolean if the '_account' is an owner of the '_profileId' passed in"},"functionSelector":"39b86b8c","implemented":false,"kind":"function","modifiers":[],"name":"isOwnerOfProfile","nameLocation":"7996:16:4","parameters":{"id":2710,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2707,"mutability":"mutable","name":"_profileId","nameLocation":"8021:10:4","nodeType":"VariableDeclaration","scope":2714,"src":"8013:18:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2706,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8013:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":2709,"mutability":"mutable","name":"_owner","nameLocation":"8041:6:4","nodeType":"VariableDeclaration","scope":2714,"src":"8033:14:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2708,"name":"address","nodeType":"ElementaryTypeName","src":"8033:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"8012:36:4"},"returnParameters":{"id":2713,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2712,"mutability":"mutable","name":"isOwnerOfProfile","nameLocation":"8077:16:4","nodeType":"VariableDeclaration","scope":2714,"src":"8072:21:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":2711,"name":"bool","nodeType":"ElementaryTypeName","src":"8072:4:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"8071:23:4"},"scope":2802,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":2724,"nodeType":"FunctionDefinition","src":"8476:111:4","nodes":[],"documentation":{"id":2715,"nodeType":"StructuredDocumentation","src":"8101:370:4","text":"@dev Returns a boolean if the '_account' is a member of the '_profileId' passed in\n @param _profileId The 'profileId' to check if the '_account' is a member of\n @param _member The 'member' to check if they are a member of the '_profileId' passed in\n @return isMemberOfProfile A boolean if the '_account' is a member of the '_profileId' passed in"},"functionSelector":"0ec1fbac","implemented":false,"kind":"function","modifiers":[],"name":"isMemberOfProfile","nameLocation":"8485:17:4","parameters":{"id":2720,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2717,"mutability":"mutable","name":"_profileId","nameLocation":"8511:10:4","nodeType":"VariableDeclaration","scope":2724,"src":"8503:18:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2716,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8503:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":2719,"mutability":"mutable","name":"_member","nameLocation":"8531:7:4","nodeType":"VariableDeclaration","scope":2724,"src":"8523:15:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2718,"name":"address","nodeType":"ElementaryTypeName","src":"8523:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"8502:37:4"},"returnParameters":{"id":2723,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2722,"mutability":"mutable","name":"isMemberOfProfile","nameLocation":"8568:17:4","nodeType":"VariableDeclaration","scope":2724,"src":"8563:22:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":2721,"name":"bool","nodeType":"ElementaryTypeName","src":"8563:4:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"8562:24:4"},"scope":2802,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":2742,"nodeType":"FunctionDefinition","src":"9411:213:4","nodes":[],"documentation":{"id":2725,"nodeType":"StructuredDocumentation","src":"8729:677:4","text":"@dev Creates a new 'Profile' and returns the 'profileId' of the new profile\n Note: The 'name' and 'nonce' are used to generate the 'anchor' address\n Requirements: None, anyone can create a new profile\n @param _nonce The nonce to use to generate the 'anchor' address\n @param _name The name to use to generate the 'anchor' address\n @param _metadata The 'Metadata' to use to generate the 'anchor' address\n @param _owner The 'owner' to use to generate the 'anchor' address\n @param _members The 'members' to use to generate the 'anchor' address\n @return profileId The 'profileId' of the new profile"},"functionSelector":"3a92f65f","implemented":false,"kind":"function","modifiers":[],"name":"createProfile","nameLocation":"9420:13:4","parameters":{"id":2738,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2727,"mutability":"mutable","name":"_nonce","nameLocation":"9451:6:4","nodeType":"VariableDeclaration","scope":2742,"src":"9443:14:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2726,"name":"uint256","nodeType":"ElementaryTypeName","src":"9443:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2729,"mutability":"mutable","name":"_name","nameLocation":"9481:5:4","nodeType":"VariableDeclaration","scope":2742,"src":"9467:19:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":2728,"name":"string","nodeType":"ElementaryTypeName","src":"9467:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":2732,"mutability":"mutable","name":"_metadata","nameLocation":"9512:9:4","nodeType":"VariableDeclaration","scope":2742,"src":"9496:25:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata"},"typeName":{"id":2731,"nodeType":"UserDefinedTypeName","pathNode":{"id":2730,"name":"Metadata","nameLocations":["9496:8:4"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"9496:8:4"},"referencedDeclaration":3098,"src":"9496:8:4","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"},{"constant":false,"id":2734,"mutability":"mutable","name":"_owner","nameLocation":"9539:6:4","nodeType":"VariableDeclaration","scope":2742,"src":"9531:14:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2733,"name":"address","nodeType":"ElementaryTypeName","src":"9531:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":2737,"mutability":"mutable","name":"_members","nameLocation":"9572:8:4","nodeType":"VariableDeclaration","scope":2742,"src":"9555:25:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":2735,"name":"address","nodeType":"ElementaryTypeName","src":"9555:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":2736,"nodeType":"ArrayTypeName","src":"9555:9:4","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"9433:153:4"},"returnParameters":{"id":2741,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2740,"mutability":"mutable","name":"profileId","nameLocation":"9613:9:4","nodeType":"VariableDeclaration","scope":2742,"src":"9605:17:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2739,"name":"bytes32","nodeType":"ElementaryTypeName","src":"9605:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"9604:19:4"},"scope":2802,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":2752,"nodeType":"FunctionDefinition","src":"10260:102:4","nodes":[],"documentation":{"id":2743,"nodeType":"StructuredDocumentation","src":"9630:625:4","text":"@dev Updates the 'name' of the '_profileId' passed in and returns the new 'anchor' address\n Requirements: Only the 'Profile' owner can update the name\n Note: The 'name' and 'nonce' are used to generate the 'anchor' address and this will update the 'anchor'\n so please use caution. You can always recreate your 'anchor' address by updating the name back\n to the original name used to create the profile.\n @param _profileId The 'profileId' to update the name for\n @param _name The new 'name' value\n @return anchor The new 'anchor' address"},"functionSelector":"cf189ff2","implemented":false,"kind":"function","modifiers":[],"name":"updateProfileName","nameLocation":"10269:17:4","parameters":{"id":2748,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2745,"mutability":"mutable","name":"_profileId","nameLocation":"10295:10:4","nodeType":"VariableDeclaration","scope":2752,"src":"10287:18:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2744,"name":"bytes32","nodeType":"ElementaryTypeName","src":"10287:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":2747,"mutability":"mutable","name":"_name","nameLocation":"10321:5:4","nodeType":"VariableDeclaration","scope":2752,"src":"10307:19:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":2746,"name":"string","nodeType":"ElementaryTypeName","src":"10307:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"10286:41:4"},"returnParameters":{"id":2751,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2750,"mutability":"mutable","name":"anchor","nameLocation":"10354:6:4","nodeType":"VariableDeclaration","scope":2752,"src":"10346:14:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2749,"name":"address","nodeType":"ElementaryTypeName","src":"10346:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"10345:16:4"},"scope":2802,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":2761,"nodeType":"FunctionDefinition","src":"10640:87:4","nodes":[],"documentation":{"id":2753,"nodeType":"StructuredDocumentation","src":"10368:267:4","text":"@dev Updates the 'Metadata' of the '_profileId' passed in\n Requirements: Only the 'Profile' owner can update the metadata\n @param _profileId The 'profileId' to update the metadata for\n @param _metadata The new 'Metadata' value"},"functionSelector":"ac402839","implemented":false,"kind":"function","modifiers":[],"name":"updateProfileMetadata","nameLocation":"10649:21:4","parameters":{"id":2759,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2755,"mutability":"mutable","name":"_profileId","nameLocation":"10679:10:4","nodeType":"VariableDeclaration","scope":2761,"src":"10671:18:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2754,"name":"bytes32","nodeType":"ElementaryTypeName","src":"10671:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":2758,"mutability":"mutable","name":"_metadata","nameLocation":"10707:9:4","nodeType":"VariableDeclaration","scope":2761,"src":"10691:25:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata"},"typeName":{"id":2757,"nodeType":"UserDefinedTypeName","pathNode":{"id":2756,"name":"Metadata","nameLocations":["10691:8:4"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"10691:8:4"},"referencedDeclaration":3098,"src":"10691:8:4","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"}],"src":"10670:47:4"},"returnParameters":{"id":2760,"nodeType":"ParameterList","parameters":[],"src":"10726:0:4"},"scope":2802,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":2769,"nodeType":"FunctionDefinition","src":"11029:87:4","nodes":[],"documentation":{"id":2762,"nodeType":"StructuredDocumentation","src":"10733:291:4","text":"@dev Updates the pending 'owner' of the '_profileId' passed in\n Requirements: Only the 'Profile' owner can update the pending owner\n @param _profileId The 'profileId' to update the pending owner for\n @param _pendingOwner The new pending 'owner' value"},"functionSelector":"3b66dacd","implemented":false,"kind":"function","modifiers":[],"name":"updateProfilePendingOwner","nameLocation":"11038:25:4","parameters":{"id":2767,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2764,"mutability":"mutable","name":"_profileId","nameLocation":"11072:10:4","nodeType":"VariableDeclaration","scope":2769,"src":"11064:18:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2763,"name":"bytes32","nodeType":"ElementaryTypeName","src":"11064:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":2766,"mutability":"mutable","name":"_pendingOwner","nameLocation":"11092:13:4","nodeType":"VariableDeclaration","scope":2769,"src":"11084:21:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2765,"name":"address","nodeType":"ElementaryTypeName","src":"11084:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"11063:43:4"},"returnParameters":{"id":2768,"nodeType":"ParameterList","parameters":[],"src":"11115:0:4"},"scope":2802,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":2775,"nodeType":"FunctionDefinition","src":"11349:61:4","nodes":[],"documentation":{"id":2770,"nodeType":"StructuredDocumentation","src":"11122:222:4","text":"@dev Accepts the pending 'owner' of the '_profileId' passed in\n Requirements: Only the pending owner can accept the ownership\n @param _profileId The 'profileId' to accept the ownership for"},"functionSelector":"2497f3c6","implemented":false,"kind":"function","modifiers":[],"name":"acceptProfileOwnership","nameLocation":"11358:22:4","parameters":{"id":2773,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2772,"mutability":"mutable","name":"_profileId","nameLocation":"11389:10:4","nodeType":"VariableDeclaration","scope":2775,"src":"11381:18:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2771,"name":"bytes32","nodeType":"ElementaryTypeName","src":"11381:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"11380:20:4"},"returnParameters":{"id":2774,"nodeType":"ParameterList","parameters":[],"src":"11409:0:4"},"scope":2802,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":2784,"nodeType":"FunctionDefinition","src":"11684:76:4","nodes":[],"documentation":{"id":2776,"nodeType":"StructuredDocumentation","src":"11416:263:4","text":"@dev Adds members to the '_profileId' passed in\n Requirements: Only the 'Profile' owner can add members\n @param _profileId The 'profileId' to add members to\n @param _members The members to add to the '_profileId' passed in"},"functionSelector":"5063f361","implemented":false,"kind":"function","modifiers":[],"name":"addMembers","nameLocation":"11693:10:4","parameters":{"id":2782,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2778,"mutability":"mutable","name":"_profileId","nameLocation":"11712:10:4","nodeType":"VariableDeclaration","scope":2784,"src":"11704:18:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2777,"name":"bytes32","nodeType":"ElementaryTypeName","src":"11704:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":2781,"mutability":"mutable","name":"_members","nameLocation":"11741:8:4","nodeType":"VariableDeclaration","scope":2784,"src":"11724:25:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":2779,"name":"address","nodeType":"ElementaryTypeName","src":"11724:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":2780,"nodeType":"ArrayTypeName","src":"11724:9:4","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"11703:47:4"},"returnParameters":{"id":2783,"nodeType":"ParameterList","parameters":[],"src":"11759:0:4"},"scope":2802,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":2793,"nodeType":"FunctionDefinition","src":"12052:79:4","nodes":[],"documentation":{"id":2785,"nodeType":"StructuredDocumentation","src":"11766:281:4","text":"@dev Removes members from the '_profileId' passed in\n Requirements: Only the 'Profile' owner can remove members\n @param _profileId The 'profileId' to remove members from\n @param _members The members to remove from the '_profileId' passed in"},"functionSelector":"e0cf1e4c","implemented":false,"kind":"function","modifiers":[],"name":"removeMembers","nameLocation":"12061:13:4","parameters":{"id":2791,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2787,"mutability":"mutable","name":"_profileId","nameLocation":"12083:10:4","nodeType":"VariableDeclaration","scope":2793,"src":"12075:18:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2786,"name":"bytes32","nodeType":"ElementaryTypeName","src":"12075:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":2790,"mutability":"mutable","name":"_members","nameLocation":"12112:8:4","nodeType":"VariableDeclaration","scope":2793,"src":"12095:25:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":2788,"name":"address","nodeType":"ElementaryTypeName","src":"12095:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":2789,"nodeType":"ArrayTypeName","src":"12095:9:4","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"12074:47:4"},"returnParameters":{"id":2792,"nodeType":"ParameterList","parameters":[],"src":"12130:0:4"},"scope":2802,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":2801,"nodeType":"FunctionDefinition","src":"12372:67:4","nodes":[],"documentation":{"id":2794,"nodeType":"StructuredDocumentation","src":"12137:230:4","text":"@dev Recovers funds from the contract\n Requirements: Must be the Allo owner\n @param _token The token you want to use to recover funds\n @param _recipient The recipient of the recovered funds"},"functionSelector":"24ae6a27","implemented":false,"kind":"function","modifiers":[],"name":"recoverFunds","nameLocation":"12381:12:4","parameters":{"id":2799,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2796,"mutability":"mutable","name":"_token","nameLocation":"12402:6:4","nodeType":"VariableDeclaration","scope":2801,"src":"12394:14:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2795,"name":"address","nodeType":"ElementaryTypeName","src":"12394:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":2798,"mutability":"mutable","name":"_recipient","nameLocation":"12418:10:4","nodeType":"VariableDeclaration","scope":2801,"src":"12410:18:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2797,"name":"address","nodeType":"ElementaryTypeName","src":"12410:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"12393:36:4"},"returnParameters":{"id":2800,"nodeType":"ParameterList","parameters":[],"src":"12438:0:4"},"scope":2802,"stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"IRegistry","contractDependencies":[],"contractKind":"interface","documentation":{"id":2615,"nodeType":"StructuredDocumentation","src":"4124:931:4","text":"@title IRegistry Interface\n @author @thelostone-mc , @0xKurt , @codenamejason , @0xZakk , @nfrgosselin \n @notice Interface for the Registry contract and exposes all functions needed to use the Registry\n within the Allo protocol.\n @dev The Registry Interface is used to interact with the Allo protocol and create profiles\n that can be used to interact with the Allo protocol. The Registry is the main contract\n that all other contracts interact with to get the 'Profile' information needed to\n interact with the Allo protocol. The Registry is also used to create new profiles\n and update existing profiles. The Registry is also used to add and remove members\n from a profile. The Registry will not always be used in a strategy and will depend on\n the strategy being used."},"fullyImplemented":false,"linearizedBaseContracts":[2802],"name":"IRegistry","nameLocation":"5065:9:4","scope":2803,"usedErrors":[]}],"license":"MIT"},"id":4} \ No newline at end of file +{"abi":[{"type":"function","name":"acceptProfileOwnership","inputs":[{"name":"_profileId","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"addMembers","inputs":[{"name":"_profileId","type":"bytes32","internalType":"bytes32"},{"name":"_members","type":"address[]","internalType":"address[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"createProfile","inputs":[{"name":"_nonce","type":"uint256","internalType":"uint256"},{"name":"_name","type":"string","internalType":"string"},{"name":"_metadata","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]},{"name":"_owner","type":"address","internalType":"address"},{"name":"_members","type":"address[]","internalType":"address[]"}],"outputs":[{"name":"profileId","type":"bytes32","internalType":"bytes32"}],"stateMutability":"nonpayable"},{"type":"function","name":"getProfileByAnchor","inputs":[{"name":"_anchor","type":"address","internalType":"address"}],"outputs":[{"name":"profile","type":"tuple","internalType":"struct IRegistry.Profile","components":[{"name":"id","type":"bytes32","internalType":"bytes32"},{"name":"nonce","type":"uint256","internalType":"uint256"},{"name":"name","type":"string","internalType":"string"},{"name":"metadata","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]},{"name":"owner","type":"address","internalType":"address"},{"name":"anchor","type":"address","internalType":"address"}]}],"stateMutability":"view"},{"type":"function","name":"getProfileById","inputs":[{"name":"_profileId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"profile","type":"tuple","internalType":"struct IRegistry.Profile","components":[{"name":"id","type":"bytes32","internalType":"bytes32"},{"name":"nonce","type":"uint256","internalType":"uint256"},{"name":"name","type":"string","internalType":"string"},{"name":"metadata","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]},{"name":"owner","type":"address","internalType":"address"},{"name":"anchor","type":"address","internalType":"address"}]}],"stateMutability":"view"},{"type":"function","name":"isMemberOfProfile","inputs":[{"name":"_profileId","type":"bytes32","internalType":"bytes32"},{"name":"_member","type":"address","internalType":"address"}],"outputs":[{"name":"isMemberOfProfile","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isOwnerOfProfile","inputs":[{"name":"_profileId","type":"bytes32","internalType":"bytes32"},{"name":"_owner","type":"address","internalType":"address"}],"outputs":[{"name":"isOwnerOfProfile","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isOwnerOrMemberOfProfile","inputs":[{"name":"_profileId","type":"bytes32","internalType":"bytes32"},{"name":"_account","type":"address","internalType":"address"}],"outputs":[{"name":"isOwnerOrMemberOfProfile","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"recoverFunds","inputs":[{"name":"_token","type":"address","internalType":"address"},{"name":"_recipient","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"removeMembers","inputs":[{"name":"_profileId","type":"bytes32","internalType":"bytes32"},{"name":"_members","type":"address[]","internalType":"address[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"updateProfileMetadata","inputs":[{"name":"_profileId","type":"bytes32","internalType":"bytes32"},{"name":"_metadata","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"updateProfileName","inputs":[{"name":"_profileId","type":"bytes32","internalType":"bytes32"},{"name":"_name","type":"string","internalType":"string"}],"outputs":[{"name":"anchor","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"updateProfilePendingOwner","inputs":[{"name":"_profileId","type":"bytes32","internalType":"bytes32"},{"name":"_pendingOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"ProfileCreated","inputs":[{"name":"profileId","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"nonce","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"name","type":"string","indexed":false,"internalType":"string"},{"name":"metadata","type":"tuple","indexed":false,"internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]},{"name":"owner","type":"address","indexed":false,"internalType":"address"},{"name":"anchor","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"ProfileMetadataUpdated","inputs":[{"name":"profileId","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"metadata","type":"tuple","indexed":false,"internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]}],"anonymous":false},{"type":"event","name":"ProfileNameUpdated","inputs":[{"name":"profileId","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"name","type":"string","indexed":false,"internalType":"string"},{"name":"anchor","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"ProfileOwnerUpdated","inputs":[{"name":"profileId","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"owner","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"ProfilePendingOwnerUpdated","inputs":[{"name":"profileId","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"pendingOwner","type":"address","indexed":false,"internalType":"address"}],"anonymous":false}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"acceptProfileOwnership(bytes32)":"2497f3c6","addMembers(bytes32,address[])":"5063f361","createProfile(uint256,string,(uint256,string),address,address[])":"3a92f65f","getProfileByAnchor(address)":"dd93da43","getProfileById(bytes32)":"0114cf0a","isMemberOfProfile(bytes32,address)":"0ec1fbac","isOwnerOfProfile(bytes32,address)":"39b86b8c","isOwnerOrMemberOfProfile(bytes32,address)":"5e8a7915","recoverFunds(address,address)":"24ae6a27","removeMembers(bytes32,address[])":"e0cf1e4c","updateProfileMetadata(bytes32,(uint256,string))":"ac402839","updateProfileName(bytes32,string)":"cf189ff2","updateProfilePendingOwner(bytes32,address)":"3b66dacd"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"profileId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"indexed\":false,\"internalType\":\"struct Metadata\",\"name\":\"metadata\",\"type\":\"tuple\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"anchor\",\"type\":\"address\"}],\"name\":\"ProfileCreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"profileId\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"indexed\":false,\"internalType\":\"struct Metadata\",\"name\":\"metadata\",\"type\":\"tuple\"}],\"name\":\"ProfileMetadataUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"profileId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"anchor\",\"type\":\"address\"}],\"name\":\"ProfileNameUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"profileId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"ProfileOwnerUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"profileId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"pendingOwner\",\"type\":\"address\"}],\"name\":\"ProfilePendingOwnerUpdated\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_profileId\",\"type\":\"bytes32\"}],\"name\":\"acceptProfileOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_profileId\",\"type\":\"bytes32\"},{\"internalType\":\"address[]\",\"name\":\"_members\",\"type\":\"address[]\"}],\"name\":\"addMembers\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_nonce\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"_name\",\"type\":\"string\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"_metadata\",\"type\":\"tuple\"},{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"},{\"internalType\":\"address[]\",\"name\":\"_members\",\"type\":\"address[]\"}],\"name\":\"createProfile\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"profileId\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_anchor\",\"type\":\"address\"}],\"name\":\"getProfileByAnchor\",\"outputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"id\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"metadata\",\"type\":\"tuple\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"anchor\",\"type\":\"address\"}],\"internalType\":\"struct IRegistry.Profile\",\"name\":\"profile\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_profileId\",\"type\":\"bytes32\"}],\"name\":\"getProfileById\",\"outputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"id\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"metadata\",\"type\":\"tuple\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"anchor\",\"type\":\"address\"}],\"internalType\":\"struct IRegistry.Profile\",\"name\":\"profile\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_profileId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"}],\"name\":\"isMemberOfProfile\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isMemberOfProfile\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_profileId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"}],\"name\":\"isOwnerOfProfile\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isOwnerOfProfile\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_profileId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"_account\",\"type\":\"address\"}],\"name\":\"isOwnerOrMemberOfProfile\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isOwnerOrMemberOfProfile\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_recipient\",\"type\":\"address\"}],\"name\":\"recoverFunds\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_profileId\",\"type\":\"bytes32\"},{\"internalType\":\"address[]\",\"name\":\"_members\",\"type\":\"address[]\"}],\"name\":\"removeMembers\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_profileId\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"_metadata\",\"type\":\"tuple\"}],\"name\":\"updateProfileMetadata\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_profileId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"_name\",\"type\":\"string\"}],\"name\":\"updateProfileName\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"anchor\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_profileId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"_pendingOwner\",\"type\":\"address\"}],\"name\":\"updateProfilePendingOwner\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"@thelostone-mc , @0xKurt , @codenamejason , @0xZakk , @nfrgosselin \",\"details\":\"The Registry Interface is used to interact with the Allo protocol and create profiles that can be used to interact with the Allo protocol. The Registry is the main contract that all other contracts interact with to get the 'Profile' information needed to interact with the Allo protocol. The Registry is also used to create new profiles and update existing profiles. The Registry is also used to add and remove members from a profile. The Registry will not always be used in a strategy and will depend on the strategy being used.\",\"events\":{\"ProfileCreated(bytes32,uint256,string,(uint256,string),address,address)\":{\"details\":\"Emitted when a profile is created. This will return your anchor address.\"},\"ProfileMetadataUpdated(bytes32,(uint256,string))\":{\"details\":\"Emitted when a profile's metadata is updated.\"},\"ProfileNameUpdated(bytes32,string,address)\":{\"details\":\"Emitted when a profile name is updated. This will update the anchor when the name is updated and return it.\"},\"ProfileOwnerUpdated(bytes32,address)\":{\"details\":\"Emitted when a profile owner is updated.\"},\"ProfilePendingOwnerUpdated(bytes32,address)\":{\"details\":\"Emitted when a profile pending owner is updated.\"}},\"kind\":\"dev\",\"methods\":{\"acceptProfileOwnership(bytes32)\":{\"details\":\"Accepts the pending 'owner' of the '_profileId' passed in Requirements: Only the pending owner can accept the ownership\",\"params\":{\"_profileId\":\"The 'profileId' to accept the ownership for\"}},\"addMembers(bytes32,address[])\":{\"details\":\"Adds members to the '_profileId' passed in Requirements: Only the 'Profile' owner can add members\",\"params\":{\"_members\":\"The members to add to the '_profileId' passed in\",\"_profileId\":\"The 'profileId' to add members to\"}},\"createProfile(uint256,string,(uint256,string),address,address[])\":{\"details\":\"Creates a new 'Profile' and returns the 'profileId' of the new profile Note: The 'name' and 'nonce' are used to generate the 'anchor' address Requirements: None, anyone can create a new profile\",\"params\":{\"_members\":\"The 'members' to use to generate the 'anchor' address\",\"_metadata\":\"The 'Metadata' to use to generate the 'anchor' address\",\"_name\":\"The name to use to generate the 'anchor' address\",\"_nonce\":\"The nonce to use to generate the 'anchor' address\",\"_owner\":\"The 'owner' to use to generate the 'anchor' address\"},\"returns\":{\"profileId\":\"The 'profileId' of the new profile\"}},\"getProfileByAnchor(address)\":{\"details\":\"Returns the 'Profile' for an '_anchor' passed\",\"params\":{\"_anchor\":\"The 'anchor' to return the 'Profile' for\"},\"returns\":{\"profile\":\"The 'Profile' for the '_anchor' passed\"}},\"getProfileById(bytes32)\":{\"details\":\"Returns the 'Profile' for a '_profileId' passed\",\"params\":{\"_profileId\":\"The 'profileId' to return the 'Profile' for\"},\"returns\":{\"profile\":\"The 'Profile' for the '_profileId' passed\"}},\"isMemberOfProfile(bytes32,address)\":{\"details\":\"Returns a boolean if the '_account' is a member of the '_profileId' passed in\",\"params\":{\"_member\":\"The 'member' to check if they are a member of the '_profileId' passed in\",\"_profileId\":\"The 'profileId' to check if the '_account' is a member of\"},\"returns\":{\"isMemberOfProfile\":\"A boolean if the '_account' is a member of the '_profileId' passed in\"}},\"isOwnerOfProfile(bytes32,address)\":{\"details\":\"Returns a boolean if the '_account' is an owner of the '_profileId' passed in\",\"params\":{\"_owner\":\"The 'owner' to check if they are an owner of the '_profileId' passed in\",\"_profileId\":\"The 'profileId' to check if the '_account' is an owner of\"},\"returns\":{\"isOwnerOfProfile\":\"A boolean if the '_account' is an owner of the '_profileId' passed in\"}},\"isOwnerOrMemberOfProfile(bytes32,address)\":{\"details\":\"Returns a boolean if the '_account' is a member or owner of the '_profileId' passed in\",\"params\":{\"_account\":\"The 'account' to check if they are a member or owner of the '_profileId' passed in\",\"_profileId\":\"The 'profileId' to check if the '_account' is a member or owner of\"},\"returns\":{\"isOwnerOrMemberOfProfile\":\"A boolean if the '_account' is a member or owner of the '_profileId' passed in\"}},\"recoverFunds(address,address)\":{\"details\":\"Recovers funds from the contract Requirements: Must be the Allo owner\",\"params\":{\"_recipient\":\"The recipient of the recovered funds\",\"_token\":\"The token you want to use to recover funds\"}},\"removeMembers(bytes32,address[])\":{\"details\":\"Removes members from the '_profileId' passed in Requirements: Only the 'Profile' owner can remove members\",\"params\":{\"_members\":\"The members to remove from the '_profileId' passed in\",\"_profileId\":\"The 'profileId' to remove members from\"}},\"updateProfileMetadata(bytes32,(uint256,string))\":{\"details\":\"Updates the 'Metadata' of the '_profileId' passed in Requirements: Only the 'Profile' owner can update the metadata\",\"params\":{\"_metadata\":\"The new 'Metadata' value\",\"_profileId\":\"The 'profileId' to update the metadata for\"}},\"updateProfileName(bytes32,string)\":{\"details\":\"Updates the 'name' of the '_profileId' passed in and returns the new 'anchor' address Requirements: Only the 'Profile' owner can update the name Note: The 'name' and 'nonce' are used to generate the 'anchor' address and this will update the 'anchor' so please use caution. You can always recreate your 'anchor' address by updating the name back to the original name used to create the profile.\",\"params\":{\"_name\":\"The new 'name' value\",\"_profileId\":\"The 'profileId' to update the name for\"},\"returns\":{\"anchor\":\"The new 'anchor' address\"}},\"updateProfilePendingOwner(bytes32,address)\":{\"details\":\"Updates the pending 'owner' of the '_profileId' passed in Requirements: Only the 'Profile' owner can update the pending owner\",\"params\":{\"_pendingOwner\":\"The new pending 'owner' value\",\"_profileId\":\"The 'profileId' to update the pending owner for\"}}},\"title\":\"IRegistry Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Interface for the Registry contract and exposes all functions needed to use the Registry within the Allo protocol.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/allo-v2/contracts/core/interfaces/IRegistry.sol\":\"IRegistry\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1000},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":eas-proxy/=lib/allo-v2/lib/eas-proxy/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":hedgey-vesting/=lib/allo-v2/lib/hedgey-vesting/contracts/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-contracts/=lib/safe-contracts/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":superfluid-protocol-monorepo/=lib/allo-v2/lib/superfluid-protocol-monorepo/packages/solidity-semantic-money/src/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"]},\"sources\":{\"lib/allo-v2/contracts/core/interfaces/IRegistry.sol\":{\"keccak256\":\"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e\",\"dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA\"]},\"lib/allo-v2/contracts/core/libraries/Metadata.sol\":{\"keccak256\":\"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c\",\"dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"bytes32","name":"profileId","type":"bytes32","indexed":true},{"internalType":"uint256","name":"nonce","type":"uint256","indexed":false},{"internalType":"string","name":"name","type":"string","indexed":false},{"internalType":"struct Metadata","name":"metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}],"indexed":false},{"internalType":"address","name":"owner","type":"address","indexed":false},{"internalType":"address","name":"anchor","type":"address","indexed":false}],"type":"event","name":"ProfileCreated","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"profileId","type":"bytes32","indexed":true},{"internalType":"struct Metadata","name":"metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}],"indexed":false}],"type":"event","name":"ProfileMetadataUpdated","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"profileId","type":"bytes32","indexed":true},{"internalType":"string","name":"name","type":"string","indexed":false},{"internalType":"address","name":"anchor","type":"address","indexed":false}],"type":"event","name":"ProfileNameUpdated","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"profileId","type":"bytes32","indexed":true},{"internalType":"address","name":"owner","type":"address","indexed":false}],"type":"event","name":"ProfileOwnerUpdated","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"profileId","type":"bytes32","indexed":true},{"internalType":"address","name":"pendingOwner","type":"address","indexed":false}],"type":"event","name":"ProfilePendingOwnerUpdated","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"_profileId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"acceptProfileOwnership"},{"inputs":[{"internalType":"bytes32","name":"_profileId","type":"bytes32"},{"internalType":"address[]","name":"_members","type":"address[]"}],"stateMutability":"nonpayable","type":"function","name":"addMembers"},{"inputs":[{"internalType":"uint256","name":"_nonce","type":"uint256"},{"internalType":"string","name":"_name","type":"string"},{"internalType":"struct Metadata","name":"_metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]},{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address[]","name":"_members","type":"address[]"}],"stateMutability":"nonpayable","type":"function","name":"createProfile","outputs":[{"internalType":"bytes32","name":"profileId","type":"bytes32"}]},{"inputs":[{"internalType":"address","name":"_anchor","type":"address"}],"stateMutability":"view","type":"function","name":"getProfileByAnchor","outputs":[{"internalType":"struct IRegistry.Profile","name":"profile","type":"tuple","components":[{"internalType":"bytes32","name":"id","type":"bytes32"},{"internalType":"uint256","name":"nonce","type":"uint256"},{"internalType":"string","name":"name","type":"string"},{"internalType":"struct Metadata","name":"metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]},{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"anchor","type":"address"}]}]},{"inputs":[{"internalType":"bytes32","name":"_profileId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getProfileById","outputs":[{"internalType":"struct IRegistry.Profile","name":"profile","type":"tuple","components":[{"internalType":"bytes32","name":"id","type":"bytes32"},{"internalType":"uint256","name":"nonce","type":"uint256"},{"internalType":"string","name":"name","type":"string"},{"internalType":"struct Metadata","name":"metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]},{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"anchor","type":"address"}]}]},{"inputs":[{"internalType":"bytes32","name":"_profileId","type":"bytes32"},{"internalType":"address","name":"_member","type":"address"}],"stateMutability":"view","type":"function","name":"isMemberOfProfile","outputs":[{"internalType":"bool","name":"isMemberOfProfile","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"_profileId","type":"bytes32"},{"internalType":"address","name":"_owner","type":"address"}],"stateMutability":"view","type":"function","name":"isOwnerOfProfile","outputs":[{"internalType":"bool","name":"isOwnerOfProfile","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"_profileId","type":"bytes32"},{"internalType":"address","name":"_account","type":"address"}],"stateMutability":"view","type":"function","name":"isOwnerOrMemberOfProfile","outputs":[{"internalType":"bool","name":"isOwnerOrMemberOfProfile","type":"bool"}]},{"inputs":[{"internalType":"address","name":"_token","type":"address"},{"internalType":"address","name":"_recipient","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"recoverFunds"},{"inputs":[{"internalType":"bytes32","name":"_profileId","type":"bytes32"},{"internalType":"address[]","name":"_members","type":"address[]"}],"stateMutability":"nonpayable","type":"function","name":"removeMembers"},{"inputs":[{"internalType":"bytes32","name":"_profileId","type":"bytes32"},{"internalType":"struct Metadata","name":"_metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]}],"stateMutability":"nonpayable","type":"function","name":"updateProfileMetadata"},{"inputs":[{"internalType":"bytes32","name":"_profileId","type":"bytes32"},{"internalType":"string","name":"_name","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"updateProfileName","outputs":[{"internalType":"address","name":"anchor","type":"address"}]},{"inputs":[{"internalType":"bytes32","name":"_profileId","type":"bytes32"},{"internalType":"address","name":"_pendingOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"updateProfilePendingOwner"}],"devdoc":{"kind":"dev","methods":{"acceptProfileOwnership(bytes32)":{"details":"Accepts the pending 'owner' of the '_profileId' passed in Requirements: Only the pending owner can accept the ownership","params":{"_profileId":"The 'profileId' to accept the ownership for"}},"addMembers(bytes32,address[])":{"details":"Adds members to the '_profileId' passed in Requirements: Only the 'Profile' owner can add members","params":{"_members":"The members to add to the '_profileId' passed in","_profileId":"The 'profileId' to add members to"}},"createProfile(uint256,string,(uint256,string),address,address[])":{"details":"Creates a new 'Profile' and returns the 'profileId' of the new profile Note: The 'name' and 'nonce' are used to generate the 'anchor' address Requirements: None, anyone can create a new profile","params":{"_members":"The 'members' to use to generate the 'anchor' address","_metadata":"The 'Metadata' to use to generate the 'anchor' address","_name":"The name to use to generate the 'anchor' address","_nonce":"The nonce to use to generate the 'anchor' address","_owner":"The 'owner' to use to generate the 'anchor' address"},"returns":{"profileId":"The 'profileId' of the new profile"}},"getProfileByAnchor(address)":{"details":"Returns the 'Profile' for an '_anchor' passed","params":{"_anchor":"The 'anchor' to return the 'Profile' for"},"returns":{"profile":"The 'Profile' for the '_anchor' passed"}},"getProfileById(bytes32)":{"details":"Returns the 'Profile' for a '_profileId' passed","params":{"_profileId":"The 'profileId' to return the 'Profile' for"},"returns":{"profile":"The 'Profile' for the '_profileId' passed"}},"isMemberOfProfile(bytes32,address)":{"details":"Returns a boolean if the '_account' is a member of the '_profileId' passed in","params":{"_member":"The 'member' to check if they are a member of the '_profileId' passed in","_profileId":"The 'profileId' to check if the '_account' is a member of"},"returns":{"isMemberOfProfile":"A boolean if the '_account' is a member of the '_profileId' passed in"}},"isOwnerOfProfile(bytes32,address)":{"details":"Returns a boolean if the '_account' is an owner of the '_profileId' passed in","params":{"_owner":"The 'owner' to check if they are an owner of the '_profileId' passed in","_profileId":"The 'profileId' to check if the '_account' is an owner of"},"returns":{"isOwnerOfProfile":"A boolean if the '_account' is an owner of the '_profileId' passed in"}},"isOwnerOrMemberOfProfile(bytes32,address)":{"details":"Returns a boolean if the '_account' is a member or owner of the '_profileId' passed in","params":{"_account":"The 'account' to check if they are a member or owner of the '_profileId' passed in","_profileId":"The 'profileId' to check if the '_account' is a member or owner of"},"returns":{"isOwnerOrMemberOfProfile":"A boolean if the '_account' is a member or owner of the '_profileId' passed in"}},"recoverFunds(address,address)":{"details":"Recovers funds from the contract Requirements: Must be the Allo owner","params":{"_recipient":"The recipient of the recovered funds","_token":"The token you want to use to recover funds"}},"removeMembers(bytes32,address[])":{"details":"Removes members from the '_profileId' passed in Requirements: Only the 'Profile' owner can remove members","params":{"_members":"The members to remove from the '_profileId' passed in","_profileId":"The 'profileId' to remove members from"}},"updateProfileMetadata(bytes32,(uint256,string))":{"details":"Updates the 'Metadata' of the '_profileId' passed in Requirements: Only the 'Profile' owner can update the metadata","params":{"_metadata":"The new 'Metadata' value","_profileId":"The 'profileId' to update the metadata for"}},"updateProfileName(bytes32,string)":{"details":"Updates the 'name' of the '_profileId' passed in and returns the new 'anchor' address Requirements: Only the 'Profile' owner can update the name Note: The 'name' and 'nonce' are used to generate the 'anchor' address and this will update the 'anchor' so please use caution. You can always recreate your 'anchor' address by updating the name back to the original name used to create the profile.","params":{"_name":"The new 'name' value","_profileId":"The 'profileId' to update the name for"},"returns":{"anchor":"The new 'anchor' address"}},"updateProfilePendingOwner(bytes32,address)":{"details":"Updates the pending 'owner' of the '_profileId' passed in Requirements: Only the 'Profile' owner can update the pending owner","params":{"_pendingOwner":"The new pending 'owner' value","_profileId":"The 'profileId' to update the pending owner for"}}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","eas-proxy/=lib/allo-v2/lib/eas-proxy/contracts/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","hedgey-vesting/=lib/allo-v2/lib/hedgey-vesting/contracts/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-contracts/=lib/safe-contracts/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","superfluid-protocol-monorepo/=lib/allo-v2/lib/superfluid-protocol-monorepo/packages/solidity-semantic-money/src/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":1000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib/allo-v2/contracts/core/interfaces/IRegistry.sol":"IRegistry"},"evmVersion":"paris","libraries":{}},"sources":{"lib/allo-v2/contracts/core/interfaces/IRegistry.sol":{"keccak256":"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f","urls":["bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e","dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA"],"license":"MIT"},"lib/allo-v2/contracts/core/libraries/Metadata.sol":{"keccak256":"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44","urls":["bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c","dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn"],"license":"AGPL-3.0-only"}},"version":1},"storageLayout":{"storage":[],"types":{}},"ast":{"absolutePath":"lib/allo-v2/contracts/core/interfaces/IRegistry.sol","id":2803,"exportedSymbols":{"IRegistry":[2802],"Metadata":[3098]},"nodeType":"SourceUnit","src":"32:12410:4","nodes":[{"id":2612,"nodeType":"PragmaDirective","src":"32:24:4","nodes":[],"literals":["solidity","^","0.8",".19"]},{"id":2614,"nodeType":"ImportDirective","src":"80:51:4","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/libraries/Metadata.sol","file":"../libraries/Metadata.sol","nameLocation":"-1:-1:-1","scope":2803,"sourceUnit":3099,"symbolAliases":[{"foreign":{"id":2613,"name":"Metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3098,"src":"88:8:4","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":2802,"nodeType":"ContractDefinition","src":"5055:7386:4","nodes":[{"id":2629,"nodeType":"StructDefinition","src":"5240:160:4","nodes":[],"canonicalName":"IRegistry.Profile","members":[{"constant":false,"id":2617,"mutability":"mutable","name":"id","nameLocation":"5273:2:4","nodeType":"VariableDeclaration","scope":2629,"src":"5265:10:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2616,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5265:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":2619,"mutability":"mutable","name":"nonce","nameLocation":"5293:5:4","nodeType":"VariableDeclaration","scope":2629,"src":"5285:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2618,"name":"uint256","nodeType":"ElementaryTypeName","src":"5285:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2621,"mutability":"mutable","name":"name","nameLocation":"5315:4:4","nodeType":"VariableDeclaration","scope":2629,"src":"5308:11:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":2620,"name":"string","nodeType":"ElementaryTypeName","src":"5308:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":2624,"mutability":"mutable","name":"metadata","nameLocation":"5338:8:4","nodeType":"VariableDeclaration","scope":2629,"src":"5329:17:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"},"typeName":{"id":2623,"nodeType":"UserDefinedTypeName","pathNode":{"id":2622,"name":"Metadata","nameLocations":["5329:8:4"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"5329:8:4"},"referencedDeclaration":3098,"src":"5329:8:4","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"},{"constant":false,"id":2626,"mutability":"mutable","name":"owner","nameLocation":"5364:5:4","nodeType":"VariableDeclaration","scope":2629,"src":"5356:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2625,"name":"address","nodeType":"ElementaryTypeName","src":"5356:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":2628,"mutability":"mutable","name":"anchor","nameLocation":"5387:6:4","nodeType":"VariableDeclaration","scope":2629,"src":"5379:14:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2627,"name":"address","nodeType":"ElementaryTypeName","src":"5379:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"name":"Profile","nameLocation":"5247:7:4","scope":2802,"visibility":"public"},{"id":2645,"nodeType":"EventDefinition","src":"5586:140:4","nodes":[],"anonymous":false,"documentation":{"id":2630,"nodeType":"StructuredDocumentation","src":"5500:81:4","text":"@dev Emitted when a profile is created. This will return your anchor address."},"eventSelector":"1e28352ff00d67474b59b87e6817d6ba65daa0130446266db8640214d8b80609","name":"ProfileCreated","nameLocation":"5592:14:4","parameters":{"id":2644,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2632,"indexed":true,"mutability":"mutable","name":"profileId","nameLocation":"5632:9:4","nodeType":"VariableDeclaration","scope":2645,"src":"5616:25:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2631,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5616:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":2634,"indexed":false,"mutability":"mutable","name":"nonce","nameLocation":"5651:5:4","nodeType":"VariableDeclaration","scope":2645,"src":"5643:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2633,"name":"uint256","nodeType":"ElementaryTypeName","src":"5643:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2636,"indexed":false,"mutability":"mutable","name":"name","nameLocation":"5665:4:4","nodeType":"VariableDeclaration","scope":2645,"src":"5658:11:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":2635,"name":"string","nodeType":"ElementaryTypeName","src":"5658:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":2639,"indexed":false,"mutability":"mutable","name":"metadata","nameLocation":"5680:8:4","nodeType":"VariableDeclaration","scope":2645,"src":"5671:17:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata"},"typeName":{"id":2638,"nodeType":"UserDefinedTypeName","pathNode":{"id":2637,"name":"Metadata","nameLocations":["5671:8:4"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"5671:8:4"},"referencedDeclaration":3098,"src":"5671:8:4","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"},{"constant":false,"id":2641,"indexed":false,"mutability":"mutable","name":"owner","nameLocation":"5698:5:4","nodeType":"VariableDeclaration","scope":2645,"src":"5690:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2640,"name":"address","nodeType":"ElementaryTypeName","src":"5690:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":2643,"indexed":false,"mutability":"mutable","name":"anchor","nameLocation":"5713:6:4","nodeType":"VariableDeclaration","scope":2645,"src":"5705:14:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2642,"name":"address","nodeType":"ElementaryTypeName","src":"5705:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5606:119:4"}},{"id":2654,"nodeType":"EventDefinition","src":"5853:81:4","nodes":[],"anonymous":false,"documentation":{"id":2646,"nodeType":"StructuredDocumentation","src":"5732:116:4","text":"@dev Emitted when a profile name is updated. This will update the anchor when the name is updated and return it."},"eventSelector":"54cd733148631b9ff1cb945f2d0dcd33c0692e154763bfa2f35e2d10a76c432f","name":"ProfileNameUpdated","nameLocation":"5859:18:4","parameters":{"id":2653,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2648,"indexed":true,"mutability":"mutable","name":"profileId","nameLocation":"5894:9:4","nodeType":"VariableDeclaration","scope":2654,"src":"5878:25:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2647,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5878:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":2650,"indexed":false,"mutability":"mutable","name":"name","nameLocation":"5912:4:4","nodeType":"VariableDeclaration","scope":2654,"src":"5905:11:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":2649,"name":"string","nodeType":"ElementaryTypeName","src":"5905:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":2652,"indexed":false,"mutability":"mutable","name":"anchor","nameLocation":"5926:6:4","nodeType":"VariableDeclaration","scope":2654,"src":"5918:14:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2651,"name":"address","nodeType":"ElementaryTypeName","src":"5918:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5877:56:4"}},{"id":2662,"nodeType":"EventDefinition","src":"5999:75:4","nodes":[],"anonymous":false,"documentation":{"id":2655,"nodeType":"StructuredDocumentation","src":"5940:54:4","text":"@dev Emitted when a profile's metadata is updated."},"eventSelector":"a366054a574e4f861cb295fd23b5440c5119c1ba329c36f5dfeb5643537cb0f3","name":"ProfileMetadataUpdated","nameLocation":"6005:22:4","parameters":{"id":2661,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2657,"indexed":true,"mutability":"mutable","name":"profileId","nameLocation":"6044:9:4","nodeType":"VariableDeclaration","scope":2662,"src":"6028:25:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2656,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6028:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":2660,"indexed":false,"mutability":"mutable","name":"metadata","nameLocation":"6064:8:4","nodeType":"VariableDeclaration","scope":2662,"src":"6055:17:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata"},"typeName":{"id":2659,"nodeType":"UserDefinedTypeName","pathNode":{"id":2658,"name":"Metadata","nameLocations":["6055:8:4"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"6055:8:4"},"referencedDeclaration":3098,"src":"6055:8:4","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"}],"src":"6027:46:4"}},{"id":2669,"nodeType":"EventDefinition","src":"6134:68:4","nodes":[],"anonymous":false,"documentation":{"id":2663,"nodeType":"StructuredDocumentation","src":"6080:49:4","text":"@dev Emitted when a profile owner is updated."},"eventSelector":"fd9ad63830df7bdf1586c8293dc88a30864cb43e9037e7afdb2c7210facf217d","name":"ProfileOwnerUpdated","nameLocation":"6140:19:4","parameters":{"id":2668,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2665,"indexed":true,"mutability":"mutable","name":"profileId","nameLocation":"6176:9:4","nodeType":"VariableDeclaration","scope":2669,"src":"6160:25:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2664,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6160:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":2667,"indexed":false,"mutability":"mutable","name":"owner","nameLocation":"6195:5:4","nodeType":"VariableDeclaration","scope":2669,"src":"6187:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2666,"name":"address","nodeType":"ElementaryTypeName","src":"6187:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6159:42:4"}},{"id":2676,"nodeType":"EventDefinition","src":"6270:82:4","nodes":[],"anonymous":false,"documentation":{"id":2670,"nodeType":"StructuredDocumentation","src":"6208:57:4","text":"@dev Emitted when a profile pending owner is updated."},"eventSelector":"21fe5cd61055ef88f636a264885b927f3ec2b380b6053a6b4a7495a6336a95c8","name":"ProfilePendingOwnerUpdated","nameLocation":"6276:26:4","parameters":{"id":2675,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2672,"indexed":true,"mutability":"mutable","name":"profileId","nameLocation":"6319:9:4","nodeType":"VariableDeclaration","scope":2676,"src":"6303:25:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2671,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6303:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":2674,"indexed":false,"mutability":"mutable","name":"pendingOwner","nameLocation":"6338:12:4","nodeType":"VariableDeclaration","scope":2676,"src":"6330:20:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2673,"name":"address","nodeType":"ElementaryTypeName","src":"6330:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6302:49:4"}},{"id":2685,"nodeType":"FunctionDefinition","src":"6658:91:4","nodes":[],"documentation":{"id":2677,"nodeType":"StructuredDocumentation","src":"6461:192:4","text":"@dev Returns the 'Profile' for a '_profileId' passed\n @param _profileId The 'profileId' to return the 'Profile' for\n @return profile The 'Profile' for the '_profileId' passed"},"functionSelector":"0114cf0a","implemented":false,"kind":"function","modifiers":[],"name":"getProfileById","nameLocation":"6667:14:4","parameters":{"id":2680,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2679,"mutability":"mutable","name":"_profileId","nameLocation":"6690:10:4","nodeType":"VariableDeclaration","scope":2685,"src":"6682:18:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2678,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6682:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"6681:20:4"},"returnParameters":{"id":2684,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2683,"mutability":"mutable","name":"profile","nameLocation":"6740:7:4","nodeType":"VariableDeclaration","scope":2685,"src":"6725:22:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_memory_ptr","typeString":"struct IRegistry.Profile"},"typeName":{"id":2682,"nodeType":"UserDefinedTypeName","pathNode":{"id":2681,"name":"Profile","nameLocations":["6725:7:4"],"nodeType":"IdentifierPath","referencedDeclaration":2629,"src":"6725:7:4"},"referencedDeclaration":2629,"src":"6725:7:4","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_storage_ptr","typeString":"struct IRegistry.Profile"}},"visibility":"internal"}],"src":"6724:24:4"},"scope":2802,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":2694,"nodeType":"FunctionDefinition","src":"6941:92:4","nodes":[],"documentation":{"id":2686,"nodeType":"StructuredDocumentation","src":"6755:181:4","text":"@dev Returns the 'Profile' for an '_anchor' passed\n @param _anchor The 'anchor' to return the 'Profile' for\n @return profile The 'Profile' for the '_anchor' passed"},"functionSelector":"dd93da43","implemented":false,"kind":"function","modifiers":[],"name":"getProfileByAnchor","nameLocation":"6950:18:4","parameters":{"id":2689,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2688,"mutability":"mutable","name":"_anchor","nameLocation":"6977:7:4","nodeType":"VariableDeclaration","scope":2694,"src":"6969:15:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2687,"name":"address","nodeType":"ElementaryTypeName","src":"6969:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6968:17:4"},"returnParameters":{"id":2693,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2692,"mutability":"mutable","name":"profile","nameLocation":"7024:7:4","nodeType":"VariableDeclaration","scope":2694,"src":"7009:22:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_memory_ptr","typeString":"struct IRegistry.Profile"},"typeName":{"id":2691,"nodeType":"UserDefinedTypeName","pathNode":{"id":2690,"name":"Profile","nameLocations":["7009:7:4"],"nodeType":"IdentifierPath","referencedDeclaration":2629,"src":"7009:7:4"},"referencedDeclaration":2629,"src":"7009:7:4","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_storage_ptr","typeString":"struct IRegistry.Profile"}},"visibility":"internal"}],"src":"7008:24:4"},"scope":2802,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":2704,"nodeType":"FunctionDefinition","src":"7459:150:4","nodes":[],"documentation":{"id":2695,"nodeType":"StructuredDocumentation","src":"7039:415:4","text":"@dev Returns a boolean if the '_account' is a member or owner of the '_profileId' passed in\n @param _profileId The 'profileId' to check if the '_account' is a member or owner of\n @param _account The 'account' to check if they are a member or owner of the '_profileId' passed in\n @return isOwnerOrMemberOfProfile A boolean if the '_account' is a member or owner of the '_profileId' passed in"},"functionSelector":"5e8a7915","implemented":false,"kind":"function","modifiers":[],"name":"isOwnerOrMemberOfProfile","nameLocation":"7468:24:4","parameters":{"id":2700,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2697,"mutability":"mutable","name":"_profileId","nameLocation":"7501:10:4","nodeType":"VariableDeclaration","scope":2704,"src":"7493:18:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2696,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7493:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":2699,"mutability":"mutable","name":"_account","nameLocation":"7521:8:4","nodeType":"VariableDeclaration","scope":2704,"src":"7513:16:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2698,"name":"address","nodeType":"ElementaryTypeName","src":"7513:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"7492:38:4"},"returnParameters":{"id":2703,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2702,"mutability":"mutable","name":"isOwnerOrMemberOfProfile","nameLocation":"7583:24:4","nodeType":"VariableDeclaration","scope":2704,"src":"7578:29:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":2701,"name":"bool","nodeType":"ElementaryTypeName","src":"7578:4:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"7577:31:4"},"scope":2802,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":2714,"nodeType":"FunctionDefinition","src":"7987:108:4","nodes":[],"documentation":{"id":2705,"nodeType":"StructuredDocumentation","src":"7615:367:4","text":"@dev Returns a boolean if the '_account' is an owner of the '_profileId' passed in\n @param _profileId The 'profileId' to check if the '_account' is an owner of\n @param _owner The 'owner' to check if they are an owner of the '_profileId' passed in\n @return isOwnerOfProfile A boolean if the '_account' is an owner of the '_profileId' passed in"},"functionSelector":"39b86b8c","implemented":false,"kind":"function","modifiers":[],"name":"isOwnerOfProfile","nameLocation":"7996:16:4","parameters":{"id":2710,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2707,"mutability":"mutable","name":"_profileId","nameLocation":"8021:10:4","nodeType":"VariableDeclaration","scope":2714,"src":"8013:18:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2706,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8013:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":2709,"mutability":"mutable","name":"_owner","nameLocation":"8041:6:4","nodeType":"VariableDeclaration","scope":2714,"src":"8033:14:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2708,"name":"address","nodeType":"ElementaryTypeName","src":"8033:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"8012:36:4"},"returnParameters":{"id":2713,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2712,"mutability":"mutable","name":"isOwnerOfProfile","nameLocation":"8077:16:4","nodeType":"VariableDeclaration","scope":2714,"src":"8072:21:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":2711,"name":"bool","nodeType":"ElementaryTypeName","src":"8072:4:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"8071:23:4"},"scope":2802,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":2724,"nodeType":"FunctionDefinition","src":"8476:111:4","nodes":[],"documentation":{"id":2715,"nodeType":"StructuredDocumentation","src":"8101:370:4","text":"@dev Returns a boolean if the '_account' is a member of the '_profileId' passed in\n @param _profileId The 'profileId' to check if the '_account' is a member of\n @param _member The 'member' to check if they are a member of the '_profileId' passed in\n @return isMemberOfProfile A boolean if the '_account' is a member of the '_profileId' passed in"},"functionSelector":"0ec1fbac","implemented":false,"kind":"function","modifiers":[],"name":"isMemberOfProfile","nameLocation":"8485:17:4","parameters":{"id":2720,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2717,"mutability":"mutable","name":"_profileId","nameLocation":"8511:10:4","nodeType":"VariableDeclaration","scope":2724,"src":"8503:18:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2716,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8503:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":2719,"mutability":"mutable","name":"_member","nameLocation":"8531:7:4","nodeType":"VariableDeclaration","scope":2724,"src":"8523:15:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2718,"name":"address","nodeType":"ElementaryTypeName","src":"8523:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"8502:37:4"},"returnParameters":{"id":2723,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2722,"mutability":"mutable","name":"isMemberOfProfile","nameLocation":"8568:17:4","nodeType":"VariableDeclaration","scope":2724,"src":"8563:22:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":2721,"name":"bool","nodeType":"ElementaryTypeName","src":"8563:4:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"8562:24:4"},"scope":2802,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":2742,"nodeType":"FunctionDefinition","src":"9411:213:4","nodes":[],"documentation":{"id":2725,"nodeType":"StructuredDocumentation","src":"8729:677:4","text":"@dev Creates a new 'Profile' and returns the 'profileId' of the new profile\n Note: The 'name' and 'nonce' are used to generate the 'anchor' address\n Requirements: None, anyone can create a new profile\n @param _nonce The nonce to use to generate the 'anchor' address\n @param _name The name to use to generate the 'anchor' address\n @param _metadata The 'Metadata' to use to generate the 'anchor' address\n @param _owner The 'owner' to use to generate the 'anchor' address\n @param _members The 'members' to use to generate the 'anchor' address\n @return profileId The 'profileId' of the new profile"},"functionSelector":"3a92f65f","implemented":false,"kind":"function","modifiers":[],"name":"createProfile","nameLocation":"9420:13:4","parameters":{"id":2738,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2727,"mutability":"mutable","name":"_nonce","nameLocation":"9451:6:4","nodeType":"VariableDeclaration","scope":2742,"src":"9443:14:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2726,"name":"uint256","nodeType":"ElementaryTypeName","src":"9443:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2729,"mutability":"mutable","name":"_name","nameLocation":"9481:5:4","nodeType":"VariableDeclaration","scope":2742,"src":"9467:19:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":2728,"name":"string","nodeType":"ElementaryTypeName","src":"9467:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":2732,"mutability":"mutable","name":"_metadata","nameLocation":"9512:9:4","nodeType":"VariableDeclaration","scope":2742,"src":"9496:25:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata"},"typeName":{"id":2731,"nodeType":"UserDefinedTypeName","pathNode":{"id":2730,"name":"Metadata","nameLocations":["9496:8:4"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"9496:8:4"},"referencedDeclaration":3098,"src":"9496:8:4","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"},{"constant":false,"id":2734,"mutability":"mutable","name":"_owner","nameLocation":"9539:6:4","nodeType":"VariableDeclaration","scope":2742,"src":"9531:14:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2733,"name":"address","nodeType":"ElementaryTypeName","src":"9531:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":2737,"mutability":"mutable","name":"_members","nameLocation":"9572:8:4","nodeType":"VariableDeclaration","scope":2742,"src":"9555:25:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":2735,"name":"address","nodeType":"ElementaryTypeName","src":"9555:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":2736,"nodeType":"ArrayTypeName","src":"9555:9:4","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"9433:153:4"},"returnParameters":{"id":2741,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2740,"mutability":"mutable","name":"profileId","nameLocation":"9613:9:4","nodeType":"VariableDeclaration","scope":2742,"src":"9605:17:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2739,"name":"bytes32","nodeType":"ElementaryTypeName","src":"9605:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"9604:19:4"},"scope":2802,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":2752,"nodeType":"FunctionDefinition","src":"10260:102:4","nodes":[],"documentation":{"id":2743,"nodeType":"StructuredDocumentation","src":"9630:625:4","text":"@dev Updates the 'name' of the '_profileId' passed in and returns the new 'anchor' address\n Requirements: Only the 'Profile' owner can update the name\n Note: The 'name' and 'nonce' are used to generate the 'anchor' address and this will update the 'anchor'\n so please use caution. You can always recreate your 'anchor' address by updating the name back\n to the original name used to create the profile.\n @param _profileId The 'profileId' to update the name for\n @param _name The new 'name' value\n @return anchor The new 'anchor' address"},"functionSelector":"cf189ff2","implemented":false,"kind":"function","modifiers":[],"name":"updateProfileName","nameLocation":"10269:17:4","parameters":{"id":2748,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2745,"mutability":"mutable","name":"_profileId","nameLocation":"10295:10:4","nodeType":"VariableDeclaration","scope":2752,"src":"10287:18:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2744,"name":"bytes32","nodeType":"ElementaryTypeName","src":"10287:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":2747,"mutability":"mutable","name":"_name","nameLocation":"10321:5:4","nodeType":"VariableDeclaration","scope":2752,"src":"10307:19:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":2746,"name":"string","nodeType":"ElementaryTypeName","src":"10307:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"10286:41:4"},"returnParameters":{"id":2751,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2750,"mutability":"mutable","name":"anchor","nameLocation":"10354:6:4","nodeType":"VariableDeclaration","scope":2752,"src":"10346:14:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2749,"name":"address","nodeType":"ElementaryTypeName","src":"10346:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"10345:16:4"},"scope":2802,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":2761,"nodeType":"FunctionDefinition","src":"10640:87:4","nodes":[],"documentation":{"id":2753,"nodeType":"StructuredDocumentation","src":"10368:267:4","text":"@dev Updates the 'Metadata' of the '_profileId' passed in\n Requirements: Only the 'Profile' owner can update the metadata\n @param _profileId The 'profileId' to update the metadata for\n @param _metadata The new 'Metadata' value"},"functionSelector":"ac402839","implemented":false,"kind":"function","modifiers":[],"name":"updateProfileMetadata","nameLocation":"10649:21:4","parameters":{"id":2759,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2755,"mutability":"mutable","name":"_profileId","nameLocation":"10679:10:4","nodeType":"VariableDeclaration","scope":2761,"src":"10671:18:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2754,"name":"bytes32","nodeType":"ElementaryTypeName","src":"10671:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":2758,"mutability":"mutable","name":"_metadata","nameLocation":"10707:9:4","nodeType":"VariableDeclaration","scope":2761,"src":"10691:25:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata"},"typeName":{"id":2757,"nodeType":"UserDefinedTypeName","pathNode":{"id":2756,"name":"Metadata","nameLocations":["10691:8:4"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"10691:8:4"},"referencedDeclaration":3098,"src":"10691:8:4","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"}],"src":"10670:47:4"},"returnParameters":{"id":2760,"nodeType":"ParameterList","parameters":[],"src":"10726:0:4"},"scope":2802,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":2769,"nodeType":"FunctionDefinition","src":"11029:87:4","nodes":[],"documentation":{"id":2762,"nodeType":"StructuredDocumentation","src":"10733:291:4","text":"@dev Updates the pending 'owner' of the '_profileId' passed in\n Requirements: Only the 'Profile' owner can update the pending owner\n @param _profileId The 'profileId' to update the pending owner for\n @param _pendingOwner The new pending 'owner' value"},"functionSelector":"3b66dacd","implemented":false,"kind":"function","modifiers":[],"name":"updateProfilePendingOwner","nameLocation":"11038:25:4","parameters":{"id":2767,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2764,"mutability":"mutable","name":"_profileId","nameLocation":"11072:10:4","nodeType":"VariableDeclaration","scope":2769,"src":"11064:18:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2763,"name":"bytes32","nodeType":"ElementaryTypeName","src":"11064:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":2766,"mutability":"mutable","name":"_pendingOwner","nameLocation":"11092:13:4","nodeType":"VariableDeclaration","scope":2769,"src":"11084:21:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2765,"name":"address","nodeType":"ElementaryTypeName","src":"11084:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"11063:43:4"},"returnParameters":{"id":2768,"nodeType":"ParameterList","parameters":[],"src":"11115:0:4"},"scope":2802,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":2775,"nodeType":"FunctionDefinition","src":"11349:61:4","nodes":[],"documentation":{"id":2770,"nodeType":"StructuredDocumentation","src":"11122:222:4","text":"@dev Accepts the pending 'owner' of the '_profileId' passed in\n Requirements: Only the pending owner can accept the ownership\n @param _profileId The 'profileId' to accept the ownership for"},"functionSelector":"2497f3c6","implemented":false,"kind":"function","modifiers":[],"name":"acceptProfileOwnership","nameLocation":"11358:22:4","parameters":{"id":2773,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2772,"mutability":"mutable","name":"_profileId","nameLocation":"11389:10:4","nodeType":"VariableDeclaration","scope":2775,"src":"11381:18:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2771,"name":"bytes32","nodeType":"ElementaryTypeName","src":"11381:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"11380:20:4"},"returnParameters":{"id":2774,"nodeType":"ParameterList","parameters":[],"src":"11409:0:4"},"scope":2802,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":2784,"nodeType":"FunctionDefinition","src":"11684:76:4","nodes":[],"documentation":{"id":2776,"nodeType":"StructuredDocumentation","src":"11416:263:4","text":"@dev Adds members to the '_profileId' passed in\n Requirements: Only the 'Profile' owner can add members\n @param _profileId The 'profileId' to add members to\n @param _members The members to add to the '_profileId' passed in"},"functionSelector":"5063f361","implemented":false,"kind":"function","modifiers":[],"name":"addMembers","nameLocation":"11693:10:4","parameters":{"id":2782,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2778,"mutability":"mutable","name":"_profileId","nameLocation":"11712:10:4","nodeType":"VariableDeclaration","scope":2784,"src":"11704:18:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2777,"name":"bytes32","nodeType":"ElementaryTypeName","src":"11704:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":2781,"mutability":"mutable","name":"_members","nameLocation":"11741:8:4","nodeType":"VariableDeclaration","scope":2784,"src":"11724:25:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":2779,"name":"address","nodeType":"ElementaryTypeName","src":"11724:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":2780,"nodeType":"ArrayTypeName","src":"11724:9:4","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"11703:47:4"},"returnParameters":{"id":2783,"nodeType":"ParameterList","parameters":[],"src":"11759:0:4"},"scope":2802,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":2793,"nodeType":"FunctionDefinition","src":"12052:79:4","nodes":[],"documentation":{"id":2785,"nodeType":"StructuredDocumentation","src":"11766:281:4","text":"@dev Removes members from the '_profileId' passed in\n Requirements: Only the 'Profile' owner can remove members\n @param _profileId The 'profileId' to remove members from\n @param _members The members to remove from the '_profileId' passed in"},"functionSelector":"e0cf1e4c","implemented":false,"kind":"function","modifiers":[],"name":"removeMembers","nameLocation":"12061:13:4","parameters":{"id":2791,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2787,"mutability":"mutable","name":"_profileId","nameLocation":"12083:10:4","nodeType":"VariableDeclaration","scope":2793,"src":"12075:18:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2786,"name":"bytes32","nodeType":"ElementaryTypeName","src":"12075:7:4","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":2790,"mutability":"mutable","name":"_members","nameLocation":"12112:8:4","nodeType":"VariableDeclaration","scope":2793,"src":"12095:25:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":2788,"name":"address","nodeType":"ElementaryTypeName","src":"12095:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":2789,"nodeType":"ArrayTypeName","src":"12095:9:4","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"12074:47:4"},"returnParameters":{"id":2792,"nodeType":"ParameterList","parameters":[],"src":"12130:0:4"},"scope":2802,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":2801,"nodeType":"FunctionDefinition","src":"12372:67:4","nodes":[],"documentation":{"id":2794,"nodeType":"StructuredDocumentation","src":"12137:230:4","text":"@dev Recovers funds from the contract\n Requirements: Must be the Allo owner\n @param _token The token you want to use to recover funds\n @param _recipient The recipient of the recovered funds"},"functionSelector":"24ae6a27","implemented":false,"kind":"function","modifiers":[],"name":"recoverFunds","nameLocation":"12381:12:4","parameters":{"id":2799,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2796,"mutability":"mutable","name":"_token","nameLocation":"12402:6:4","nodeType":"VariableDeclaration","scope":2801,"src":"12394:14:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2795,"name":"address","nodeType":"ElementaryTypeName","src":"12394:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":2798,"mutability":"mutable","name":"_recipient","nameLocation":"12418:10:4","nodeType":"VariableDeclaration","scope":2801,"src":"12410:18:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2797,"name":"address","nodeType":"ElementaryTypeName","src":"12410:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"12393:36:4"},"returnParameters":{"id":2800,"nodeType":"ParameterList","parameters":[],"src":"12438:0:4"},"scope":2802,"stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"IRegistry","contractDependencies":[],"contractKind":"interface","documentation":{"id":2615,"nodeType":"StructuredDocumentation","src":"4124:931:4","text":"@title IRegistry Interface\n @author @thelostone-mc , @0xKurt , @codenamejason , @0xZakk , @nfrgosselin \n @notice Interface for the Registry contract and exposes all functions needed to use the Registry\n within the Allo protocol.\n @dev The Registry Interface is used to interact with the Allo protocol and create profiles\n that can be used to interact with the Allo protocol. The Registry is the main contract\n that all other contracts interact with to get the 'Profile' information needed to\n interact with the Allo protocol. The Registry is also used to create new profiles\n and update existing profiles. The Registry is also used to add and remove members\n from a profile. The Registry will not always be used in a strategy and will depend on\n the strategy being used."},"fullyImplemented":false,"linearizedBaseContracts":[2802],"name":"IRegistry","nameLocation":"5065:9:4","scope":2803,"usedErrors":[]}],"license":"MIT"},"id":4} \ No newline at end of file diff --git a/pkg/contracts/out/ISafe.sol/ISafe.json b/pkg/contracts/out/ISafe.sol/ISafe.json index f16d162b3..b0b06227e 100644 --- a/pkg/contracts/out/ISafe.sol/ISafe.json +++ b/pkg/contracts/out/ISafe.sol/ISafe.json @@ -1 +1 @@ -{"abi":[{"type":"function","name":"getOwners","inputs":[],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"view"}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"getOwners()":"a0e67e2b"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"getOwners\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"pkg/contracts/src/interfaces/ISafe.sol\":\"ISafe\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1000},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-contracts/=lib/safe-contracts/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"]},\"sources\":{\"pkg/contracts/src/interfaces/ISafe.sol\":{\"keccak256\":\"0x878a210809bb684c42157a10f3f90350a67d0a4863f130499942b06f0f2c9143\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://fa2d71bd427c3415e98a2ee15ff673f3cc61c17f14d7087c5eedc83b55f6b0ef\",\"dweb:/ipfs/QmesVSmJQQzi6ys1cvhQFCJyDXchb736mT5bXks4Yp6Cbj\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[],"stateMutability":"view","type":"function","name":"getOwners","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-contracts/=lib/safe-contracts/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":1000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"pkg/contracts/src/interfaces/ISafe.sol":"ISafe"},"evmVersion":"paris","libraries":{}},"sources":{"pkg/contracts/src/interfaces/ISafe.sol":{"keccak256":"0x878a210809bb684c42157a10f3f90350a67d0a4863f130499942b06f0f2c9143","urls":["bzz-raw://fa2d71bd427c3415e98a2ee15ff673f3cc61c17f14d7087c5eedc83b55f6b0ef","dweb:/ipfs/QmesVSmJQQzi6ys1cvhQFCJyDXchb736mT5bXks4Yp6Cbj"],"license":"LGPL-3.0-only"}},"version":1},"storageLayout":{"storage":[],"types":{}},"ast":{"absolutePath":"pkg/contracts/src/interfaces/ISafe.sol","id":85666,"exportedSymbols":{"ISafe":[85665]},"nodeType":"SourceUnit","src":"42:113:139","nodes":[{"id":85658,"nodeType":"PragmaDirective","src":"42:24:139","nodes":[],"literals":["solidity","^","0.8",".19"]},{"id":85665,"nodeType":"ContractDefinition","src":"68:86:139","nodes":[{"id":85664,"nodeType":"FunctionDefinition","src":"90:62:139","nodes":[],"functionSelector":"a0e67e2b","implemented":false,"kind":"function","modifiers":[],"name":"getOwners","nameLocation":"99:9:139","parameters":{"id":85659,"nodeType":"ParameterList","parameters":[],"src":"108:2:139"},"returnParameters":{"id":85663,"nodeType":"ParameterList","parameters":[{"constant":false,"id":85662,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":85664,"src":"134:16:139","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":85660,"name":"address","nodeType":"ElementaryTypeName","src":"134:7:139","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":85661,"nodeType":"ArrayTypeName","src":"134:9:139","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"133:18:139"},"scope":85665,"stateMutability":"view","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"ISafe","contractDependencies":[],"contractKind":"interface","fullyImplemented":false,"linearizedBaseContracts":[85665],"name":"ISafe","nameLocation":"78:5:139","scope":85666,"usedErrors":[]}],"license":"LGPL-3.0-only"},"id":139} \ No newline at end of file +{"abi":[{"type":"function","name":"getOwners","inputs":[],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"view"}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"getOwners()":"a0e67e2b"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"getOwners\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"pkg/contracts/src/interfaces/ISafe.sol\":\"ISafe\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1000},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":eas-proxy/=lib/allo-v2/lib/eas-proxy/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":hedgey-vesting/=lib/allo-v2/lib/hedgey-vesting/contracts/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-contracts/=lib/safe-contracts/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":superfluid-protocol-monorepo/=lib/allo-v2/lib/superfluid-protocol-monorepo/packages/solidity-semantic-money/src/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"]},\"sources\":{\"pkg/contracts/src/interfaces/ISafe.sol\":{\"keccak256\":\"0x878a210809bb684c42157a10f3f90350a67d0a4863f130499942b06f0f2c9143\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://fa2d71bd427c3415e98a2ee15ff673f3cc61c17f14d7087c5eedc83b55f6b0ef\",\"dweb:/ipfs/QmesVSmJQQzi6ys1cvhQFCJyDXchb736mT5bXks4Yp6Cbj\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[],"stateMutability":"view","type":"function","name":"getOwners","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","eas-proxy/=lib/allo-v2/lib/eas-proxy/contracts/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","hedgey-vesting/=lib/allo-v2/lib/hedgey-vesting/contracts/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-contracts/=lib/safe-contracts/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","superfluid-protocol-monorepo/=lib/allo-v2/lib/superfluid-protocol-monorepo/packages/solidity-semantic-money/src/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":1000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"pkg/contracts/src/interfaces/ISafe.sol":"ISafe"},"evmVersion":"paris","libraries":{}},"sources":{"pkg/contracts/src/interfaces/ISafe.sol":{"keccak256":"0x878a210809bb684c42157a10f3f90350a67d0a4863f130499942b06f0f2c9143","urls":["bzz-raw://fa2d71bd427c3415e98a2ee15ff673f3cc61c17f14d7087c5eedc83b55f6b0ef","dweb:/ipfs/QmesVSmJQQzi6ys1cvhQFCJyDXchb736mT5bXks4Yp6Cbj"],"license":"LGPL-3.0-only"}},"version":1},"storageLayout":{"storage":[],"types":{}},"ast":{"absolutePath":"pkg/contracts/src/interfaces/ISafe.sol","id":85666,"exportedSymbols":{"ISafe":[85665]},"nodeType":"SourceUnit","src":"42:113:139","nodes":[{"id":85658,"nodeType":"PragmaDirective","src":"42:24:139","nodes":[],"literals":["solidity","^","0.8",".19"]},{"id":85665,"nodeType":"ContractDefinition","src":"68:86:139","nodes":[{"id":85664,"nodeType":"FunctionDefinition","src":"90:62:139","nodes":[],"functionSelector":"a0e67e2b","implemented":false,"kind":"function","modifiers":[],"name":"getOwners","nameLocation":"99:9:139","parameters":{"id":85659,"nodeType":"ParameterList","parameters":[],"src":"108:2:139"},"returnParameters":{"id":85663,"nodeType":"ParameterList","parameters":[{"constant":false,"id":85662,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":85664,"src":"134:16:139","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":85660,"name":"address","nodeType":"ElementaryTypeName","src":"134:7:139","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":85661,"nodeType":"ArrayTypeName","src":"134:9:139","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"133:18:139"},"scope":85665,"stateMutability":"view","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"ISafe","contractDependencies":[],"contractKind":"interface","fullyImplemented":false,"linearizedBaseContracts":[85665],"name":"ISafe","nameLocation":"78:5:139","scope":85666,"usedErrors":[]}],"license":"LGPL-3.0-only"},"id":139} \ No newline at end of file diff --git a/pkg/contracts/out/MockERC20.sol/MockERC20.json b/pkg/contracts/out/MockERC20.sol/MockERC20.json index f9ed0854f..6e6f174b1 100644 --- a/pkg/contracts/out/MockERC20.sol/MockERC20.json +++ b/pkg/contracts/out/MockERC20.sol/MockERC20.json @@ -1 +1 @@ -{"abi":[{"type":"function","name":"DOMAIN_SEPARATOR","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"allowance","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"spender","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"approve","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"balanceOf","inputs":[{"name":"owner","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"decimals","inputs":[],"outputs":[{"name":"","type":"uint8","internalType":"uint8"}],"stateMutability":"view"},{"type":"function","name":"initialize","inputs":[{"name":"name_","type":"string","internalType":"string"},{"name":"symbol_","type":"string","internalType":"string"},{"name":"decimals_","type":"uint8","internalType":"uint8"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"name","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"nonces","inputs":[{"name":"","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"permit","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"spender","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"},{"name":"deadline","type":"uint256","internalType":"uint256"},{"name":"v","type":"uint8","internalType":"uint8"},{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"s","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"symbol","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"totalSupply","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"transfer","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"transferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"event","name":"Approval","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"spender","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Transfer","inputs":[{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"to","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false}],"bytecode":{"object":"0x608060405234801561001057600080fd5b50610eb9806100206000396000f3fe608060405234801561001057600080fd5b50600436106100df5760003560e01c80633644e5151161008c57806395d89b411161006657806395d89b41146101c5578063a9059cbb146101cd578063d505accf146101e0578063dd62ed3e146101f357600080fd5b80633644e5151461017457806370a082311461017c5780637ecebe00146101a557600080fd5b806318160ddd116100bd57806318160ddd1461013a57806323b872dd1461014c578063313ce5671461015f57600080fd5b806306fdde03146100e4578063095ea7b3146101025780631624f6c614610125575b600080fd5b6100ec61022c565b6040516100f991906109bf565b60405180910390f35b610115610110366004610a29565b6102be565b60405190151581526020016100f9565b610138610133366004610b07565b61032b565b005b6003545b6040519081526020016100f9565b61011561015a366004610b7b565b6103d4565b60025460405160ff90911681526020016100f9565b61013e6104e9565b61013e61018a366004610bb7565b6001600160a01b031660009081526004602052604090205490565b61013e6101b3366004610bb7565b60086020526000908152604090205481565b6100ec61050f565b6101156101db366004610a29565b61051e565b6101386101ee366004610bd2565b6105b5565b61013e610201366004610c3c565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205490565b60606000805461023b90610c6f565b80601f016020809104026020016040519081016040528092919081815260200182805461026790610c6f565b80156102b45780601f10610289576101008083540402835291602001916102b4565b820191906000526020600020905b81548152906001019060200180831161029757829003601f168201915b5050505050905090565b3360008181526005602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906103199086815260200190565b60405180910390a35060015b92915050565b60095460ff16156103835760405162461bcd60e51b815260206004820152601360248201527f414c52454144595f494e495449414c495a45440000000000000000000000000060448201526064015b60405180910390fd5b600061038f8482610cf8565b50600161039c8382610cf8565b506002805460ff191660ff83161790556103b461083d565b6006556103bf610856565b60075550506009805460ff1916600117905550565b6001600160a01b038316600090815260056020908152604080832033845290915281205460001981146104305761040b81846108f9565b6001600160a01b03861660009081526005602090815260408083203384529091529020555b6001600160a01b03851660009081526004602052604090205461045390846108f9565b6001600160a01b038087166000908152600460205260408082209390935590861681522054610482908461095c565b6001600160a01b0380861660008181526004602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906104d69087815260200190565b60405180910390a3506001949350505050565b60006006546104f661083d565b1461050857610503610856565b905090565b5060075490565b60606001805461023b90610c6f565b3360009081526004602052604081205461053890836108f9565b33600090815260046020526040808220929092556001600160a01b03851681522054610564908361095c565b6001600160a01b0384166000818152600460205260409081902092909255905133907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906103199086815260200190565b428410156106055760405162461bcd60e51b815260206004820152601760248201527f5045524d49545f444541444c494e455f45585049524544000000000000000000604482015260640161037a565b600060016106116104e9565b6001600160a01b038a16600090815260086020526040812080547f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9928d928d928d9290919061065f83610dce565b909155506040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810188905260e001604051602081830303815290604052805190602001206040516020016106f39291907f190100000000000000000000000000000000000000000000000000000000000081526002810192909252602282015260420190565b60408051601f198184030181528282528051602091820120600084529083018083525260ff871690820152606081018590526080810184905260a0016020604051602081039080840390855afa158015610751573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116158015906107875750876001600160a01b0316816001600160a01b0316145b6107d35760405162461bcd60e51b815260206004820152600e60248201527f494e56414c49445f5349474e4552000000000000000000000000000000000000604482015260640161037a565b6001600160a01b0381811660009081526005602090815260408083208b8516808552908352928190208a90555189815291928b16917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a35050505050505050565b60006109bb8061084f63ffffffff8216565b9250505090565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60006040516108889190610de7565b60405180910390207fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc66108b961083d565b604080516020810195909552840192909252606083015260808201523060a082015260c00160405160208183030381529060405280519060200120905090565b60008183101561094b5760405162461bcd60e51b815260206004820152601c60248201527f45524332303a207375627472616374696f6e20756e646572666c6f7700000000604482015260640161037a565b6109558284610e5d565b9392505050565b6000806109698385610e70565b9050838110156109555760405162461bcd60e51b815260206004820152601860248201527f45524332303a206164646974696f6e206f766572666c6f770000000000000000604482015260640161037a565b4690565b600060208083528351808285015260005b818110156109ec578581018301518582016040015282016109d0565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b0381168114610a2457600080fd5b919050565b60008060408385031215610a3c57600080fd5b610a4583610a0d565b946020939093013593505050565b634e487b7160e01b600052604160045260246000fd5b600082601f830112610a7a57600080fd5b813567ffffffffffffffff80821115610a9557610a95610a53565b604051601f8301601f19908116603f01168101908282118183101715610abd57610abd610a53565b81604052838152866020858801011115610ad657600080fd5b836020870160208301376000602085830101528094505050505092915050565b803560ff81168114610a2457600080fd5b600080600060608486031215610b1c57600080fd5b833567ffffffffffffffff80821115610b3457600080fd5b610b4087838801610a69565b94506020860135915080821115610b5657600080fd5b50610b6386828701610a69565b925050610b7260408501610af6565b90509250925092565b600080600060608486031215610b9057600080fd5b610b9984610a0d565b9250610ba760208501610a0d565b9150604084013590509250925092565b600060208284031215610bc957600080fd5b61095582610a0d565b600080600080600080600060e0888a031215610bed57600080fd5b610bf688610a0d565b9650610c0460208901610a0d565b95506040880135945060608801359350610c2060808901610af6565b925060a0880135915060c0880135905092959891949750929550565b60008060408385031215610c4f57600080fd5b610c5883610a0d565b9150610c6660208401610a0d565b90509250929050565b600181811c90821680610c8357607f821691505b602082108103610ca357634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115610cf357600081815260208120601f850160051c81016020861015610cd05750805b601f850160051c820191505b81811015610cef57828155600101610cdc565b5050505b505050565b815167ffffffffffffffff811115610d1257610d12610a53565b610d2681610d208454610c6f565b84610ca9565b602080601f831160018114610d5b5760008415610d435750858301515b600019600386901b1c1916600185901b178555610cef565b600085815260208120601f198616915b82811015610d8a57888601518255948401946001909101908401610d6b565b5085821015610da85787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052601160045260246000fd5b600060018201610de057610de0610db8565b5060010190565b6000808354610df581610c6f565b60018281168015610e0d5760018114610e2257610e51565b60ff1984168752821515830287019450610e51565b8760005260208060002060005b85811015610e485781548a820152908401908201610e2f565b50505082870194505b50929695505050505050565b8181038181111561032557610325610db8565b8082018082111561032557610325610db856fea2646970667358221220913036993852ad8a894a16fd5b89fd30c03b6f938914edd9ba607174c810f51e64736f6c63430008130033","sourceMap":"369:7950:41:-:0;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b50600436106100df5760003560e01c80633644e5151161008c57806395d89b411161006657806395d89b41146101c5578063a9059cbb146101cd578063d505accf146101e0578063dd62ed3e146101f357600080fd5b80633644e5151461017457806370a082311461017c5780637ecebe00146101a557600080fd5b806318160ddd116100bd57806318160ddd1461013a57806323b872dd1461014c578063313ce5671461015f57600080fd5b806306fdde03146100e4578063095ea7b3146101025780631624f6c614610125575b600080fd5b6100ec61022c565b6040516100f991906109bf565b60405180910390f35b610115610110366004610a29565b6102be565b60405190151581526020016100f9565b610138610133366004610b07565b61032b565b005b6003545b6040519081526020016100f9565b61011561015a366004610b7b565b6103d4565b60025460405160ff90911681526020016100f9565b61013e6104e9565b61013e61018a366004610bb7565b6001600160a01b031660009081526004602052604090205490565b61013e6101b3366004610bb7565b60086020526000908152604090205481565b6100ec61050f565b6101156101db366004610a29565b61051e565b6101386101ee366004610bd2565b6105b5565b61013e610201366004610c3c565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205490565b60606000805461023b90610c6f565b80601f016020809104026020016040519081016040528092919081815260200182805461026790610c6f565b80156102b45780601f10610289576101008083540402835291602001916102b4565b820191906000526020600020905b81548152906001019060200180831161029757829003601f168201915b5050505050905090565b3360008181526005602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906103199086815260200190565b60405180910390a35060015b92915050565b60095460ff16156103835760405162461bcd60e51b815260206004820152601360248201527f414c52454144595f494e495449414c495a45440000000000000000000000000060448201526064015b60405180910390fd5b600061038f8482610cf8565b50600161039c8382610cf8565b506002805460ff191660ff83161790556103b461083d565b6006556103bf610856565b60075550506009805460ff1916600117905550565b6001600160a01b038316600090815260056020908152604080832033845290915281205460001981146104305761040b81846108f9565b6001600160a01b03861660009081526005602090815260408083203384529091529020555b6001600160a01b03851660009081526004602052604090205461045390846108f9565b6001600160a01b038087166000908152600460205260408082209390935590861681522054610482908461095c565b6001600160a01b0380861660008181526004602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906104d69087815260200190565b60405180910390a3506001949350505050565b60006006546104f661083d565b1461050857610503610856565b905090565b5060075490565b60606001805461023b90610c6f565b3360009081526004602052604081205461053890836108f9565b33600090815260046020526040808220929092556001600160a01b03851681522054610564908361095c565b6001600160a01b0384166000818152600460205260409081902092909255905133907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906103199086815260200190565b428410156106055760405162461bcd60e51b815260206004820152601760248201527f5045524d49545f444541444c494e455f45585049524544000000000000000000604482015260640161037a565b600060016106116104e9565b6001600160a01b038a16600090815260086020526040812080547f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9928d928d928d9290919061065f83610dce565b909155506040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810188905260e001604051602081830303815290604052805190602001206040516020016106f39291907f190100000000000000000000000000000000000000000000000000000000000081526002810192909252602282015260420190565b60408051601f198184030181528282528051602091820120600084529083018083525260ff871690820152606081018590526080810184905260a0016020604051602081039080840390855afa158015610751573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116158015906107875750876001600160a01b0316816001600160a01b0316145b6107d35760405162461bcd60e51b815260206004820152600e60248201527f494e56414c49445f5349474e4552000000000000000000000000000000000000604482015260640161037a565b6001600160a01b0381811660009081526005602090815260408083208b8516808552908352928190208a90555189815291928b16917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a35050505050505050565b60006109bb8061084f63ffffffff8216565b9250505090565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60006040516108889190610de7565b60405180910390207fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc66108b961083d565b604080516020810195909552840192909252606083015260808201523060a082015260c00160405160208183030381529060405280519060200120905090565b60008183101561094b5760405162461bcd60e51b815260206004820152601c60248201527f45524332303a207375627472616374696f6e20756e646572666c6f7700000000604482015260640161037a565b6109558284610e5d565b9392505050565b6000806109698385610e70565b9050838110156109555760405162461bcd60e51b815260206004820152601860248201527f45524332303a206164646974696f6e206f766572666c6f770000000000000000604482015260640161037a565b4690565b600060208083528351808285015260005b818110156109ec578581018301518582016040015282016109d0565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b0381168114610a2457600080fd5b919050565b60008060408385031215610a3c57600080fd5b610a4583610a0d565b946020939093013593505050565b634e487b7160e01b600052604160045260246000fd5b600082601f830112610a7a57600080fd5b813567ffffffffffffffff80821115610a9557610a95610a53565b604051601f8301601f19908116603f01168101908282118183101715610abd57610abd610a53565b81604052838152866020858801011115610ad657600080fd5b836020870160208301376000602085830101528094505050505092915050565b803560ff81168114610a2457600080fd5b600080600060608486031215610b1c57600080fd5b833567ffffffffffffffff80821115610b3457600080fd5b610b4087838801610a69565b94506020860135915080821115610b5657600080fd5b50610b6386828701610a69565b925050610b7260408501610af6565b90509250925092565b600080600060608486031215610b9057600080fd5b610b9984610a0d565b9250610ba760208501610a0d565b9150604084013590509250925092565b600060208284031215610bc957600080fd5b61095582610a0d565b600080600080600080600060e0888a031215610bed57600080fd5b610bf688610a0d565b9650610c0460208901610a0d565b95506040880135945060608801359350610c2060808901610af6565b925060a0880135915060c0880135905092959891949750929550565b60008060408385031215610c4f57600080fd5b610c5883610a0d565b9150610c6660208401610a0d565b90509250929050565b600181811c90821680610c8357607f821691505b602082108103610ca357634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115610cf357600081815260208120601f850160051c81016020861015610cd05750805b601f850160051c820191505b81811015610cef57828155600101610cdc565b5050505b505050565b815167ffffffffffffffff811115610d1257610d12610a53565b610d2681610d208454610c6f565b84610ca9565b602080601f831160018114610d5b5760008415610d435750858301515b600019600386901b1c1916600185901b178555610cef565b600085815260208120601f198616915b82811015610d8a57888601518255948401946001909101908401610d6b565b5085821015610da85787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052601160045260246000fd5b600060018201610de057610de0610db8565b5060010190565b6000808354610df581610c6f565b60018281168015610e0d5760018114610e2257610e51565b60ff1984168752821515830287019450610e51565b8760005260208060002060005b85811015610e485781548a820152908401908201610e2f565b50505082870194505b50929695505050505050565b8181038181111561032557610325610db8565b8082018082111561032557610325610db856fea2646970667358221220913036993852ad8a894a16fd5b89fd30c03b6f938914edd9ba607174c810f51e64736f6c63430008130033","sourceMap":"369:7950:41:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;677:92;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3057:221;;;;;;:::i;:::-;;:::i;:::-;;;1192:14:151;;1185:22;1167:41;;1155:2;1140:18;3057:221:41;1027:187:151;2504:365:41;;;;;;:::i;:::-;;:::i;:::-;;1322:100;1403:12;;1322:100;;;3057:25:151;;;3045:2;3030:18;1322:100:41;2911:177:151;3578:472:41;;;;;;:::i;:::-;;:::i;877:92::-;953:9;;877:92;;953:9;;;;3568:36:151;;3556:2;3541:18;877:92:41;3426:184:151;5427:178:41;;;:::i;1428:116::-;;;;;;:::i;:::-;-1:-1:-1;;;;;1520:17:41;1494:7;1520:17;;;:10;:17;;;;;;;1428:116;1970:41;;;;;;:::i;:::-;;;;;;;;;;;;;;775:96;;;:::i;3284:288::-;;;;;;:::i;:::-;;:::i;4239:1182::-;;;;;;:::i;:::-;;:::i;1550:142::-;;;;;;:::i;:::-;-1:-1:-1;;;;;1659:17:41;;;1633:7;1659:17;;;:10;:17;;;;;;;;:26;;;;;;;;;;;;;1550:142;677:92;725:13;757:5;750:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;677:92;:::o;3057:221::-;3167:10;3140:4;3156:22;;;:10;:22;;;;;;;;-1:-1:-1;;;;;3156:31:41;;;;;;;;;;:40;;;3212:37;3140:4;;3156:31;;3212:37;;;;3190:6;3057:25:151;;3045:2;3030:18;;2911:177;3212:37:41;;;;;;;;-1:-1:-1;3267:4:41;3057:221;;;;;:::o;2504:365::-;2611:11;;;;2610:12;2602:44;;;;-1:-1:-1;;;2602:44:41;;5508:2:151;2602:44:41;;;5490:21:151;5547:2;5527:18;;;5520:30;5586:21;5566:18;;;5559:49;5625:18;;2602:44:41;;;;;;;;;2657:5;:13;2665:5;2657;:13;:::i;:::-;-1:-1:-1;2680:7:41;:17;2690:7;2680;:17;:::i;:::-;-1:-1:-1;2707:9:41;:21;;-1:-1:-1;;2707:21:41;;;;;;;2758:14;:12;:14::i;:::-;2739:16;:33;2809:24;:22;:24::i;:::-;2782;:51;-1:-1:-1;;2844:11:41;:18;;-1:-1:-1;;2844:18:41;2858:4;2844:18;;;-1:-1:-1;2504:365:41:o;3578:472::-;-1:-1:-1;;;;;3709:16:41;;3675:4;3709:16;;;:10;:16;;;;;;;;3726:10;3709:28;;;;;;;;-1:-1:-1;;3788:22:41;;3784:80;;3843:21;3848:7;3857:6;3843:4;:21::i;:::-;-1:-1:-1;;;;;3812:16:41;;;;;;:10;:16;;;;;;;;3829:10;3812:28;;;;;;;:52;3784:80;-1:-1:-1;;;;;3899:16:41;;;;;;:10;:16;;;;;;3894:30;;3917:6;3894:4;:30::i;:::-;-1:-1:-1;;;;;3875:16:41;;;;;;;:10;:16;;;;;;:49;;;;3956:14;;;;;;;3951:28;;3972:6;3951:4;:28::i;:::-;-1:-1:-1;;;;;3934:14:41;;;;;;;:10;:14;;;;;;;:45;;;;3995:26;;;;;;;;;;4014:6;3057:25:151;;3045:2;3030:18;;2911:177;3995:26:41;;;;;;;;-1:-1:-1;4039:4:41;;3578:472;-1:-1:-1;;;;3578:472:41:o;5427:178::-;5484:7;5528:16;;5510:14;:12;:14::i;:::-;:34;:88;;5574:24;:22;:24::i;:::-;5503:95;;5427:178;:::o;5510:88::-;-1:-1:-1;5547:24:41;;;5427:178::o;775:96::-;825:13;857:7;850:14;;;;;:::i;3284:288::-;3420:10;3363:4;3409:22;;;:10;:22;;;;;;3404:36;;3433:6;3404:4;:36::i;:::-;3390:10;3379:22;;;;:10;:22;;;;;;:61;;;;-1:-1:-1;;;;;3472:14:41;;;;;;3467:28;;3488:6;3467:4;:28::i;:::-;-1:-1:-1;;;;;3450:14:41;;;;;;:10;:14;;;;;;;:45;;;;3511:32;;3520:10;;3511:32;;;;3536:6;3057:25:151;;3045:2;3030:18;;2911:177;4239:1182:41;4416:15;4404:8;:27;;4396:63;;;;-1:-1:-1;;;4396:63:41;;8060:2:151;4396:63:41;;;8042:21:151;8099:2;8079:18;;;8072:30;8138:25;8118:18;;;8111:53;8181:18;;4396:63:41;7858:347:151;4396:63:41;4470:24;4497:717;4617:18;:16;:18::i;:::-;-1:-1:-1;;;;;5026:13:41;;;;;;:6;:13;;;;;:15;;4732:157;;4919:5;;4954:7;;4991:5;;5026:15;;:13;:15;;;:::i;:::-;;;;-1:-1:-1;4692:413:41;;;;;;8826:25:151;;;;-1:-1:-1;;;;;8948:15:151;;;8928:18;;;8921:43;9000:15;;;;8980:18;;;8973:43;9032:18;;;9025:34;9075:19;;;9068:35;9119:19;;;9112:35;;;8798:19;;4692:413:41;;;;;;;;;;;;4657:470;;;;;;4547:598;;;;;;;;9428:66:151;9416:79;;9520:1;9511:11;;9504:27;;;;9556:2;9547:12;;9540:28;9593:2;9584:12;;9158:444;4547:598:41;;;;-1:-1:-1;;4547:598:41;;;;;;;;;4520:639;;4547:598;4520:639;;;;4497:717;;;;;;;;;9834:25:151;9907:4;9895:17;;9875:18;;;9868:45;9929:18;;;9922:34;;;9972:18;;;9965:34;;;9806:19;;4497:717:41;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;4497:717:41;;-1:-1:-1;;4497:717:41;;;-1:-1:-1;;;;;;;5233:30:41;;;;;;:59;;;5287:5;-1:-1:-1;;;;;5267:25:41;:16;-1:-1:-1;;;;;5267:25:41;;5233:59;5225:86;;;;-1:-1:-1;;;5225:86:41;;10212:2:151;5225:86:41;;;10194:21:151;10251:2;10231:18;;;10224:30;10290:16;10270:18;;;10263:44;10324:18;;5225:86:41;10010:338:151;5225:86:41;-1:-1:-1;;;;;5322:28:41;;;;;;;:10;:28;;;;;;;;:37;;;;;;;;;;;;;:45;;;5383:31;3057:25:151;;;5322:37:41;;5383:31;;;;;3030:18:151;5383:31:41;;;;;;;4386:1035;4239:1182;;;;;;;:::o;8017:300::-;8063:15;8140:12;;8297:13;;;;:::i;:::-;8287:23;;8080:237;;8017:300;:::o;5611:404::-;5676:7;5753:95;5882:5;5866:23;;;;;;:::i;:::-;;;;;;;;5907:14;5939;:12;:14::i;:::-;5725:273;;;;;;11461:25:151;;;;11502:18;;11495:34;;;;11545:18;;;11538:34;11588:18;;;11581:34;5979:4:41;11631:19:151;;;11624:84;11433:19;;5725:273:41;;;;;;;;;;;;5702:306;;;;;;5695:313;;5611:404;:::o;7038:154::-;7097:7;7129:1;7124;:6;;7116:47;;;;-1:-1:-1;;;7116:47:41;;11921:2:151;7116:47:41;;;11903:21:151;11960:2;11940:18;;;11933:30;11999;11979:18;;;11972:58;12047:18;;7116:47:41;11719:352:151;7116:47:41;7180:5;7184:1;7180;:5;:::i;:::-;7173:12;7038:154;-1:-1:-1;;;7038:154:41:o;6859:173::-;6918:7;;6949:5;6953:1;6949;:5;:::i;:::-;6937:17;;6977:1;6972;:6;;6964:43;;;;-1:-1:-1;;;6964:43:41;;12541:2:151;6964:43:41;;;12523:21:151;12580:2;12560:18;;;12553:30;12619:26;12599:18;;;12592:54;12663:18;;6964:43:41;12339:348:151;7735:276:41;7918:9;;7735:276::o;14:548:151:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:196::-;635:20;;-1:-1:-1;;;;;684:54:151;;674:65;;664:93;;753:1;750;743:12;664:93;567:196;;;:::o;768:254::-;836:6;844;897:2;885:9;876:7;872:23;868:32;865:52;;;913:1;910;903:12;865:52;936:29;955:9;936:29;:::i;:::-;926:39;1012:2;997:18;;;;984:32;;-1:-1:-1;;;768:254:151:o;1219:184::-;-1:-1:-1;;;1268:1:151;1261:88;1368:4;1365:1;1358:15;1392:4;1389:1;1382:15;1408:719;1451:5;1504:3;1497:4;1489:6;1485:17;1481:27;1471:55;;1522:1;1519;1512:12;1471:55;1558:6;1545:20;1584:18;1621:2;1617;1614:10;1611:36;;;1627:18;;:::i;:::-;1702:2;1696:9;1670:2;1756:13;;-1:-1:-1;;1752:22:151;;;1776:2;1748:31;1744:40;1732:53;;;1800:18;;;1820:22;;;1797:46;1794:72;;;1846:18;;:::i;:::-;1886:10;1882:2;1875:22;1921:2;1913:6;1906:18;1967:3;1960:4;1955:2;1947:6;1943:15;1939:26;1936:35;1933:55;;;1984:1;1981;1974:12;1933:55;2048:2;2041:4;2033:6;2029:17;2022:4;2014:6;2010:17;1997:54;2095:1;2088:4;2083:2;2075:6;2071:15;2067:26;2060:37;2115:6;2106:15;;;;;;1408:719;;;;:::o;2132:156::-;2198:20;;2258:4;2247:16;;2237:27;;2227:55;;2278:1;2275;2268:12;2293:613;2388:6;2396;2404;2457:2;2445:9;2436:7;2432:23;2428:32;2425:52;;;2473:1;2470;2463:12;2425:52;2513:9;2500:23;2542:18;2583:2;2575:6;2572:14;2569:34;;;2599:1;2596;2589:12;2569:34;2622:50;2664:7;2655:6;2644:9;2640:22;2622:50;:::i;:::-;2612:60;;2725:2;2714:9;2710:18;2697:32;2681:48;;2754:2;2744:8;2741:16;2738:36;;;2770:1;2767;2760:12;2738:36;;2793:52;2837:7;2826:8;2815:9;2811:24;2793:52;:::i;:::-;2783:62;;;2864:36;2896:2;2885:9;2881:18;2864:36;:::i;:::-;2854:46;;2293:613;;;;;:::o;3093:328::-;3170:6;3178;3186;3239:2;3227:9;3218:7;3214:23;3210:32;3207:52;;;3255:1;3252;3245:12;3207:52;3278:29;3297:9;3278:29;:::i;:::-;3268:39;;3326:38;3360:2;3349:9;3345:18;3326:38;:::i;:::-;3316:48;;3411:2;3400:9;3396:18;3383:32;3373:42;;3093:328;;;;;:::o;3797:186::-;3856:6;3909:2;3897:9;3888:7;3884:23;3880:32;3877:52;;;3925:1;3922;3915:12;3877:52;3948:29;3967:9;3948:29;:::i;3988:606::-;4099:6;4107;4115;4123;4131;4139;4147;4200:3;4188:9;4179:7;4175:23;4171:33;4168:53;;;4217:1;4214;4207:12;4168:53;4240:29;4259:9;4240:29;:::i;:::-;4230:39;;4288:38;4322:2;4311:9;4307:18;4288:38;:::i;:::-;4278:48;;4373:2;4362:9;4358:18;4345:32;4335:42;;4424:2;4413:9;4409:18;4396:32;4386:42;;4447:37;4479:3;4468:9;4464:19;4447:37;:::i;:::-;4437:47;;4531:3;4520:9;4516:19;4503:33;4493:43;;4583:3;4572:9;4568:19;4555:33;4545:43;;3988:606;;;;;;;;;;:::o;4599:260::-;4667:6;4675;4728:2;4716:9;4707:7;4703:23;4699:32;4696:52;;;4744:1;4741;4734:12;4696:52;4767:29;4786:9;4767:29;:::i;:::-;4757:39;;4815:38;4849:2;4838:9;4834:18;4815:38;:::i;:::-;4805:48;;4599:260;;;;;:::o;4864:437::-;4943:1;4939:12;;;;4986;;;5007:61;;5061:4;5053:6;5049:17;5039:27;;5007:61;5114:2;5106:6;5103:14;5083:18;5080:38;5077:218;;-1:-1:-1;;;5148:1:151;5141:88;5252:4;5249:1;5242:15;5280:4;5277:1;5270:15;5077:218;;4864:437;;;:::o;5780:545::-;5882:2;5877:3;5874:11;5871:448;;;5918:1;5943:5;5939:2;5932:17;5988:4;5984:2;5974:19;6058:2;6046:10;6042:19;6039:1;6035:27;6029:4;6025:38;6094:4;6082:10;6079:20;6076:47;;;-1:-1:-1;6117:4:151;6076:47;6172:2;6167:3;6163:12;6160:1;6156:20;6150:4;6146:31;6136:41;;6227:82;6245:2;6238:5;6235:13;6227:82;;;6290:17;;;6271:1;6260:13;6227:82;;;6231:3;;;5871:448;5780:545;;;:::o;6501:1352::-;6627:3;6621:10;6654:18;6646:6;6643:30;6640:56;;;6676:18;;:::i;:::-;6705:97;6795:6;6755:38;6787:4;6781:11;6755:38;:::i;:::-;6749:4;6705:97;:::i;:::-;6857:4;;6921:2;6910:14;;6938:1;6933:663;;;;7640:1;7657:6;7654:89;;;-1:-1:-1;7709:19:151;;;7703:26;7654:89;-1:-1:-1;;6458:1:151;6454:11;;;6450:24;6446:29;6436:40;6482:1;6478:11;;;6433:57;7756:81;;6903:944;;6933:663;5727:1;5720:14;;;5764:4;5751:18;;-1:-1:-1;;6969:20:151;;;7087:236;7101:7;7098:1;7095:14;7087:236;;;7190:19;;;7184:26;7169:42;;7282:27;;;;7250:1;7238:14;;;;7117:19;;7087:236;;;7091:3;7351:6;7342:7;7339:19;7336:201;;;7412:19;;;7406:26;-1:-1:-1;;7495:1:151;7491:14;;;7507:3;7487:24;7483:37;7479:42;7464:58;7449:74;;7336:201;-1:-1:-1;;;;;7583:1:151;7567:14;;;7563:22;7550:36;;-1:-1:-1;6501:1352:151:o;8210:184::-;-1:-1:-1;;;8259:1:151;8252:88;8359:4;8356:1;8349:15;8383:4;8380:1;8373:15;8399:135;8438:3;8459:17;;;8456:43;;8479:18;;:::i;:::-;-1:-1:-1;8526:1:151;8515:13;;8399:135::o;10353:844::-;10483:3;10512:1;10545:6;10539:13;10575:36;10601:9;10575:36;:::i;:::-;10630:1;10647:18;;;10674:133;;;;10821:1;10816:356;;;;10640:532;;10674:133;-1:-1:-1;;10707:24:151;;10695:37;;10780:14;;10773:22;10761:35;;10752:45;;;-1:-1:-1;10674:133:151;;10816:356;10847:6;10844:1;10837:17;10877:4;10922:2;10919:1;10909:16;10947:1;10961:165;10975:6;10972:1;10969:13;10961:165;;;11053:14;;11040:11;;;11033:35;11096:16;;;;10990:10;;10961:165;;;10965:3;;;11155:6;11150:3;11146:16;11139:23;;10640:532;-1:-1:-1;11188:3:151;;10353:844;-1:-1:-1;;;;;;10353:844:151:o;12076:128::-;12143:9;;;12164:11;;;12161:37;;;12178:18;;:::i;12209:125::-;12274:9;;;12295:10;;;12292:36;;;12308:18;;:::i","linkReferences":{}},"methodIdentifiers":{"DOMAIN_SEPARATOR()":"3644e515","allowance(address,address)":"dd62ed3e","approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","decimals()":"313ce567","initialize(string,string,uint8)":"1624f6c6","name()":"06fdde03","nonces(address)":"7ecebe00","permit(address,address,uint256,uint256,uint8,bytes32,bytes32)":"d505accf","symbol()":"95d89b41","totalSupply()":"18160ddd","transfer(address,uint256)":"a9059cbb","transferFrom(address,address,uint256)":"23b872dd"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"DOMAIN_SEPARATOR\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name_\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"symbol_\",\"type\":\"string\"},{\"internalType\":\"uint8\",\"name\":\"decimals_\",\"type\":\"uint8\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"nonces\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"name\":\"permit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Forked from: https://github.com/transmissions11/solmate/blob/0384dbaaa4fcb5715738a9254a7c0a4cb62cf458/src/tokens/ERC20.sol\",\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when the allowance of a `spender` for an `owner` is set, where `value` is the new allowance.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `value` tokens are moved from one account (`from`) to another (`to`).\"}},\"kind\":\"dev\",\"methods\":{\"approve(address,uint256)\":{\"details\":\"Be aware of front-running risks: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729\"},\"initialize(string,string,uint8)\":{\"details\":\"To hide constructor warnings across solc versions due to different constructor visibility requirements and syntaxes, we add an initialization function that can be called only once.\"}},\"stateVariables\":{\"initialized\":{\"details\":\"A bool to track whether the contract has been initialized.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"allowance(address,address)\":{\"notice\":\"Returns the remaining number of tokens that `spender` is allowed to spend on behalf of `owner`\"},\"approve(address,uint256)\":{\"notice\":\"Sets `amount` as the allowance of `spender` over the caller's tokens.\"},\"decimals()\":{\"notice\":\"Returns the decimals places of the token.\"},\"name()\":{\"notice\":\"Returns the name of the token.\"},\"symbol()\":{\"notice\":\"Returns the symbol of the token.\"},\"totalSupply()\":{\"notice\":\"Returns the amount of tokens in existence.\"},\"transfer(address,uint256)\":{\"notice\":\"Moves `amount` tokens from the caller's account to `to`.\"},\"transferFrom(address,address,uint256)\":{\"notice\":\"Moves `amount` tokens from `from` to `to` using the allowance mechanism. `amount` is then deducted from the caller's allowance.\"}},\"notice\":\"This is a mock contract of the ERC20 standard for testing purposes only, it SHOULD NOT be used in production.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/mocks/MockERC20.sol\":\"MockERC20\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1000},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-contracts/=lib/safe-contracts/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"]},\"sources\":{\"lib/forge-std/src/interfaces/IERC20.sol\":{\"keccak256\":\"0x4cab887298790f908c27de107e4e2907ca5413aee482ef776f8d2f353c5ef947\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb715e0c4a2bdbe432bb624501506041f06e878e0b72675aebba30ad2c2b72e7\",\"dweb:/ipfs/QmWhhLSvkxS2NrukJJHqFY8gDVE5r9rD4PfHvR24pwdKv9\"]},\"lib/forge-std/src/mocks/MockERC20.sol\":{\"keccak256\":\"0xadbdfc6639edec00ba94bb1133a0fd8de31ccafe45c2ef5df9b3ca61b60b559b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc766f01bccf669abac8cc7b2096cc1352a66471ca3772ae61b1801dedc4ed4f\",\"dweb:/ipfs/QmNigaPj1LYkP7Z5xr4ijkUxr2K66fDGeoifG3WoM9ruyw\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"address","name":"spender","type":"address","indexed":true},{"internalType":"uint256","name":"value","type":"uint256","indexed":false}],"type":"event","name":"Approval","anonymous":false},{"inputs":[{"internalType":"address","name":"from","type":"address","indexed":true},{"internalType":"address","name":"to","type":"address","indexed":true},{"internalType":"uint256","name":"value","type":"uint256","indexed":false}],"type":"event","name":"Transfer","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"DOMAIN_SEPARATOR","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"stateMutability":"view","type":"function","name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"stateMutability":"view","type":"function","name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}]},{"inputs":[{"internalType":"string","name":"name_","type":"string"},{"internalType":"string","name":"symbol_","type":"string"},{"internalType":"uint8","name":"decimals_","type":"uint8"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[],"stateMutability":"view","type":"function","name":"name","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function","name":"nonces","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"uint256","name":"deadline","type":"uint256"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"permit"},{"inputs":[],"stateMutability":"view","type":"function","name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}]}],"devdoc":{"kind":"dev","methods":{"approve(address,uint256)":{"details":"Be aware of front-running risks: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729"},"initialize(string,string,uint8)":{"details":"To hide constructor warnings across solc versions due to different constructor visibility requirements and syntaxes, we add an initialization function that can be called only once."}},"version":1},"userdoc":{"kind":"user","methods":{"allowance(address,address)":{"notice":"Returns the remaining number of tokens that `spender` is allowed to spend on behalf of `owner`"},"approve(address,uint256)":{"notice":"Sets `amount` as the allowance of `spender` over the caller's tokens."},"decimals()":{"notice":"Returns the decimals places of the token."},"name()":{"notice":"Returns the name of the token."},"symbol()":{"notice":"Returns the symbol of the token."},"totalSupply()":{"notice":"Returns the amount of tokens in existence."},"transfer(address,uint256)":{"notice":"Moves `amount` tokens from the caller's account to `to`."},"transferFrom(address,address,uint256)":{"notice":"Moves `amount` tokens from `from` to `to` using the allowance mechanism. `amount` is then deducted from the caller's allowance."}},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-contracts/=lib/safe-contracts/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":1000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib/forge-std/src/mocks/MockERC20.sol":"MockERC20"},"evmVersion":"paris","libraries":{}},"sources":{"lib/forge-std/src/interfaces/IERC20.sol":{"keccak256":"0x4cab887298790f908c27de107e4e2907ca5413aee482ef776f8d2f353c5ef947","urls":["bzz-raw://bb715e0c4a2bdbe432bb624501506041f06e878e0b72675aebba30ad2c2b72e7","dweb:/ipfs/QmWhhLSvkxS2NrukJJHqFY8gDVE5r9rD4PfHvR24pwdKv9"],"license":"MIT"},"lib/forge-std/src/mocks/MockERC20.sol":{"keccak256":"0xadbdfc6639edec00ba94bb1133a0fd8de31ccafe45c2ef5df9b3ca61b60b559b","urls":["bzz-raw://bc766f01bccf669abac8cc7b2096cc1352a66471ca3772ae61b1801dedc4ed4f","dweb:/ipfs/QmNigaPj1LYkP7Z5xr4ijkUxr2K66fDGeoifG3WoM9ruyw"],"license":"MIT"}},"version":1},"storageLayout":{"storage":[{"astId":38137,"contract":"lib/forge-std/src/mocks/MockERC20.sol:MockERC20","label":"_name","offset":0,"slot":"0","type":"t_string_storage"},{"astId":38139,"contract":"lib/forge-std/src/mocks/MockERC20.sol:MockERC20","label":"_symbol","offset":0,"slot":"1","type":"t_string_storage"},{"astId":38141,"contract":"lib/forge-std/src/mocks/MockERC20.sol:MockERC20","label":"_decimals","offset":0,"slot":"2","type":"t_uint8"},{"astId":38170,"contract":"lib/forge-std/src/mocks/MockERC20.sol:MockERC20","label":"_totalSupply","offset":0,"slot":"3","type":"t_uint256"},{"astId":38174,"contract":"lib/forge-std/src/mocks/MockERC20.sol:MockERC20","label":"_balanceOf","offset":0,"slot":"4","type":"t_mapping(t_address,t_uint256)"},{"astId":38180,"contract":"lib/forge-std/src/mocks/MockERC20.sol:MockERC20","label":"_allowance","offset":0,"slot":"5","type":"t_mapping(t_address,t_mapping(t_address,t_uint256))"},{"astId":38221,"contract":"lib/forge-std/src/mocks/MockERC20.sol:MockERC20","label":"INITIAL_CHAIN_ID","offset":0,"slot":"6","type":"t_uint256"},{"astId":38223,"contract":"lib/forge-std/src/mocks/MockERC20.sol:MockERC20","label":"INITIAL_DOMAIN_SEPARATOR","offset":0,"slot":"7","type":"t_bytes32"},{"astId":38227,"contract":"lib/forge-std/src/mocks/MockERC20.sol:MockERC20","label":"nonces","offset":0,"slot":"8","type":"t_mapping(t_address,t_uint256)"},{"astId":38230,"contract":"lib/forge-std/src/mocks/MockERC20.sol:MockERC20","label":"initialized","offset":0,"slot":"9","type":"t_bool"}],"types":{"t_address":{"encoding":"inplace","label":"address","numberOfBytes":"20"},"t_bool":{"encoding":"inplace","label":"bool","numberOfBytes":"1"},"t_bytes32":{"encoding":"inplace","label":"bytes32","numberOfBytes":"32"},"t_mapping(t_address,t_mapping(t_address,t_uint256))":{"encoding":"mapping","key":"t_address","label":"mapping(address => mapping(address => uint256))","numberOfBytes":"32","value":"t_mapping(t_address,t_uint256)"},"t_mapping(t_address,t_uint256)":{"encoding":"mapping","key":"t_address","label":"mapping(address => uint256)","numberOfBytes":"32","value":"t_uint256"},"t_string_storage":{"encoding":"bytes","label":"string","numberOfBytes":"32"},"t_uint256":{"encoding":"inplace","label":"uint256","numberOfBytes":"32"},"t_uint8":{"encoding":"inplace","label":"uint8","numberOfBytes":"1"}}},"ast":{"absolutePath":"lib/forge-std/src/mocks/MockERC20.sol","id":38706,"exportedSymbols":{"IERC20":[37781],"MockERC20":[38705]},"nodeType":"SourceUnit","src":"32:8288:41","nodes":[{"id":38130,"nodeType":"PragmaDirective","src":"32:31:41","nodes":[],"literals":["solidity",">=","0.6",".2","<","0.9",".0"]},{"id":38132,"nodeType":"ImportDirective","src":"65:48:41","nodes":[],"absolutePath":"lib/forge-std/src/interfaces/IERC20.sol","file":"../interfaces/IERC20.sol","nameLocation":"-1:-1:-1","scope":38706,"sourceUnit":37782,"symbolAliases":[{"foreign":{"id":38131,"name":"IERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37781,"src":"73:6:41","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":38705,"nodeType":"ContractDefinition","src":"369:7950:41","nodes":[{"id":38137,"nodeType":"VariableDeclaration","src":"588:21:41","nodes":[],"constant":false,"mutability":"mutable","name":"_name","nameLocation":"604:5:41","scope":38705,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string"},"typeName":{"id":38136,"name":"string","nodeType":"ElementaryTypeName","src":"588:6:41","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"id":38139,"nodeType":"VariableDeclaration","src":"616:23:41","nodes":[],"constant":false,"mutability":"mutable","name":"_symbol","nameLocation":"632:7:41","scope":38705,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string"},"typeName":{"id":38138,"name":"string","nodeType":"ElementaryTypeName","src":"616:6:41","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"id":38141,"nodeType":"VariableDeclaration","src":"646:24:41","nodes":[],"constant":false,"mutability":"mutable","name":"_decimals","nameLocation":"661:9:41","scope":38705,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":38140,"name":"uint8","nodeType":"ElementaryTypeName","src":"646:5:41","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"id":38150,"nodeType":"FunctionDefinition","src":"677:92:41","nodes":[],"body":{"id":38149,"nodeType":"Block","src":"740:29:41","nodes":[],"statements":[{"expression":{"id":38147,"name":"_name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38137,"src":"757:5:41","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"functionReturnParameters":38146,"id":38148,"nodeType":"Return","src":"750:12:41"}]},"baseFunctions":[37768],"functionSelector":"06fdde03","implemented":true,"kind":"function","modifiers":[],"name":"name","nameLocation":"686:4:41","overrides":{"id":38143,"nodeType":"OverrideSpecifier","overrides":[],"src":"707:8:41"},"parameters":{"id":38142,"nodeType":"ParameterList","parameters":[],"src":"690:2:41"},"returnParameters":{"id":38146,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38145,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":38150,"src":"725:13:41","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":38144,"name":"string","nodeType":"ElementaryTypeName","src":"725:6:41","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"724:15:41"},"scope":38705,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":38159,"nodeType":"FunctionDefinition","src":"775:96:41","nodes":[],"body":{"id":38158,"nodeType":"Block","src":"840:31:41","nodes":[],"statements":[{"expression":{"id":38156,"name":"_symbol","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38139,"src":"857:7:41","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"functionReturnParameters":38155,"id":38157,"nodeType":"Return","src":"850:14:41"}]},"baseFunctions":[37774],"functionSelector":"95d89b41","implemented":true,"kind":"function","modifiers":[],"name":"symbol","nameLocation":"784:6:41","overrides":{"id":38152,"nodeType":"OverrideSpecifier","overrides":[],"src":"807:8:41"},"parameters":{"id":38151,"nodeType":"ParameterList","parameters":[],"src":"790:2:41"},"returnParameters":{"id":38155,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38154,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":38159,"src":"825:13:41","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":38153,"name":"string","nodeType":"ElementaryTypeName","src":"825:6:41","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"824:15:41"},"scope":38705,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":38168,"nodeType":"FunctionDefinition","src":"877:92:41","nodes":[],"body":{"id":38167,"nodeType":"Block","src":"936:33:41","nodes":[],"statements":[{"expression":{"id":38165,"name":"_decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38141,"src":"953:9:41","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"functionReturnParameters":38164,"id":38166,"nodeType":"Return","src":"946:16:41"}]},"baseFunctions":[37780],"functionSelector":"313ce567","implemented":true,"kind":"function","modifiers":[],"name":"decimals","nameLocation":"886:8:41","overrides":{"id":38161,"nodeType":"OverrideSpecifier","overrides":[],"src":"911:8:41"},"parameters":{"id":38160,"nodeType":"ParameterList","parameters":[],"src":"894:2:41"},"returnParameters":{"id":38164,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38163,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":38168,"src":"929:5:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":38162,"name":"uint8","nodeType":"ElementaryTypeName","src":"929:5:41","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"928:7:41"},"scope":38705,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":38170,"nodeType":"VariableDeclaration","src":"1158:29:41","nodes":[],"constant":false,"mutability":"mutable","name":"_totalSupply","nameLocation":"1175:12:41","scope":38705,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38169,"name":"uint256","nodeType":"ElementaryTypeName","src":"1158:7:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"id":38174,"nodeType":"VariableDeclaration","src":"1194:47:41","nodes":[],"constant":false,"mutability":"mutable","name":"_balanceOf","nameLocation":"1231:10:41","scope":38705,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"typeName":{"id":38173,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":38171,"name":"address","nodeType":"ElementaryTypeName","src":"1202:7:41","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"1194:27:41","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":38172,"name":"uint256","nodeType":"ElementaryTypeName","src":"1213:7:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"internal"},{"id":38180,"nodeType":"VariableDeclaration","src":"1248:67:41","nodes":[],"constant":false,"mutability":"mutable","name":"_allowance","nameLocation":"1305:10:41","scope":38705,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"},"typeName":{"id":38179,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":38175,"name":"address","nodeType":"ElementaryTypeName","src":"1256:7:41","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"1248:47:41","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":38178,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":38176,"name":"address","nodeType":"ElementaryTypeName","src":"1275:7:41","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"1267:27:41","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":38177,"name":"uint256","nodeType":"ElementaryTypeName","src":"1286:7:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}}},"visibility":"internal"},{"id":38189,"nodeType":"FunctionDefinition","src":"1322:100:41","nodes":[],"body":{"id":38188,"nodeType":"Block","src":"1386:36:41","nodes":[],"statements":[{"expression":{"id":38186,"name":"_totalSupply","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38170,"src":"1403:12:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":38185,"id":38187,"nodeType":"Return","src":"1396:19:41"}]},"baseFunctions":[37712],"functionSelector":"18160ddd","implemented":true,"kind":"function","modifiers":[],"name":"totalSupply","nameLocation":"1331:11:41","overrides":{"id":38182,"nodeType":"OverrideSpecifier","overrides":[],"src":"1359:8:41"},"parameters":{"id":38181,"nodeType":"ParameterList","parameters":[],"src":"1342:2:41"},"returnParameters":{"id":38185,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38184,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":38189,"src":"1377:7:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38183,"name":"uint256","nodeType":"ElementaryTypeName","src":"1377:7:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1376:9:41"},"scope":38705,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":38202,"nodeType":"FunctionDefinition","src":"1428:116:41","nodes":[],"body":{"id":38201,"nodeType":"Block","src":"1503:41:41","nodes":[],"statements":[{"expression":{"baseExpression":{"id":38197,"name":"_balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38174,"src":"1520:10:41","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":38199,"indexExpression":{"id":38198,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38191,"src":"1531:5:41","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"1520:17:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":38196,"id":38200,"nodeType":"Return","src":"1513:24:41"}]},"baseFunctions":[37720],"functionSelector":"70a08231","implemented":true,"kind":"function","modifiers":[],"name":"balanceOf","nameLocation":"1437:9:41","overrides":{"id":38193,"nodeType":"OverrideSpecifier","overrides":[],"src":"1476:8:41"},"parameters":{"id":38192,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38191,"mutability":"mutable","name":"owner","nameLocation":"1455:5:41","nodeType":"VariableDeclaration","scope":38202,"src":"1447:13:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":38190,"name":"address","nodeType":"ElementaryTypeName","src":"1447:7:41","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1446:15:41"},"returnParameters":{"id":38196,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38195,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":38202,"src":"1494:7:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38194,"name":"uint256","nodeType":"ElementaryTypeName","src":"1494:7:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1493:9:41"},"scope":38705,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":38219,"nodeType":"FunctionDefinition","src":"1550:142:41","nodes":[],"body":{"id":38218,"nodeType":"Block","src":"1642:50:41","nodes":[],"statements":[{"expression":{"baseExpression":{"baseExpression":{"id":38212,"name":"_allowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38180,"src":"1659:10:41","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"}},"id":38214,"indexExpression":{"id":38213,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38204,"src":"1670:5:41","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"1659:17:41","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":38216,"indexExpression":{"id":38215,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38206,"src":"1677:7:41","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"1659:26:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":38211,"id":38217,"nodeType":"Return","src":"1652:33:41"}]},"baseFunctions":[37740],"functionSelector":"dd62ed3e","implemented":true,"kind":"function","modifiers":[],"name":"allowance","nameLocation":"1559:9:41","overrides":{"id":38208,"nodeType":"OverrideSpecifier","overrides":[],"src":"1615:8:41"},"parameters":{"id":38207,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38204,"mutability":"mutable","name":"owner","nameLocation":"1577:5:41","nodeType":"VariableDeclaration","scope":38219,"src":"1569:13:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":38203,"name":"address","nodeType":"ElementaryTypeName","src":"1569:7:41","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":38206,"mutability":"mutable","name":"spender","nameLocation":"1592:7:41","nodeType":"VariableDeclaration","scope":38219,"src":"1584:15:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":38205,"name":"address","nodeType":"ElementaryTypeName","src":"1584:7:41","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1568:32:41"},"returnParameters":{"id":38211,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38210,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":38219,"src":"1633:7:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38209,"name":"uint256","nodeType":"ElementaryTypeName","src":"1633:7:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1632:9:41"},"scope":38705,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":38221,"nodeType":"VariableDeclaration","src":"1882:33:41","nodes":[],"constant":false,"mutability":"mutable","name":"INITIAL_CHAIN_ID","nameLocation":"1899:16:41","scope":38705,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38220,"name":"uint256","nodeType":"ElementaryTypeName","src":"1882:7:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"id":38223,"nodeType":"VariableDeclaration","src":"1922:41:41","nodes":[],"constant":false,"mutability":"mutable","name":"INITIAL_DOMAIN_SEPARATOR","nameLocation":"1939:24:41","scope":38705,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38222,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1922:7:41","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"id":38227,"nodeType":"VariableDeclaration","src":"1970:41:41","nodes":[],"constant":false,"functionSelector":"7ecebe00","mutability":"mutable","name":"nonces","nameLocation":"2005:6:41","scope":38705,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"typeName":{"id":38226,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":38224,"name":"address","nodeType":"ElementaryTypeName","src":"1978:7:41","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"1970:27:41","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":38225,"name":"uint256","nodeType":"ElementaryTypeName","src":"1989:7:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"public"},{"id":38230,"nodeType":"VariableDeclaration","src":"2271:24:41","nodes":[],"constant":false,"documentation":{"id":38228,"nodeType":"StructuredDocumentation","src":"2199:67:41","text":"@dev A bool to track whether the contract has been initialized."},"mutability":"mutable","name":"initialized","nameLocation":"2284:11:41","scope":38705,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":38229,"name":"bool","nodeType":"ElementaryTypeName","src":"2271:4:41","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"private"},{"id":38273,"nodeType":"FunctionDefinition","src":"2504:365:41","nodes":[],"body":{"id":38272,"nodeType":"Block","src":"2592:277:41","nodes":[],"statements":[{"expression":{"arguments":[{"id":38242,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"2610:12:41","subExpression":{"id":38241,"name":"initialized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38230,"src":"2611:11:41","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"414c52454144595f494e495449414c495a4544","id":38243,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2624:21:41","typeDescriptions":{"typeIdentifier":"t_stringliteral_241395e6b20092ec3fd5dfc22ea70fc2615c08854b7fd10fb3028d965cf738f3","typeString":"literal_string \"ALREADY_INITIALIZED\""},"value":"ALREADY_INITIALIZED"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_241395e6b20092ec3fd5dfc22ea70fc2615c08854b7fd10fb3028d965cf738f3","typeString":"literal_string \"ALREADY_INITIALIZED\""}],"id":38240,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"2602:7:41","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":38244,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2602:44:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":38245,"nodeType":"ExpressionStatement","src":"2602:44:41"},{"expression":{"id":38248,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":38246,"name":"_name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38137,"src":"2657:5:41","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":38247,"name":"name_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38233,"src":"2665:5:41","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"2657:13:41","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"id":38249,"nodeType":"ExpressionStatement","src":"2657:13:41"},{"expression":{"id":38252,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":38250,"name":"_symbol","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38139,"src":"2680:7:41","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":38251,"name":"symbol_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38235,"src":"2690:7:41","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"2680:17:41","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"id":38253,"nodeType":"ExpressionStatement","src":"2680:17:41"},{"expression":{"id":38256,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":38254,"name":"_decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38141,"src":"2707:9:41","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":38255,"name":"decimals_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38237,"src":"2719:9:41","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"2707:21:41","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":38257,"nodeType":"ExpressionStatement","src":"2707:21:41"},{"expression":{"id":38261,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":38258,"name":"INITIAL_CHAIN_ID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38221,"src":"2739:16:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[],"expression":{"argumentTypes":[],"id":38259,"name":"_pureChainId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38704,"src":"2758:12:41","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_uint256_$","typeString":"function () pure returns (uint256)"}},"id":38260,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2758:14:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2739:33:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":38262,"nodeType":"ExpressionStatement","src":"2739:33:41"},{"expression":{"id":38266,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":38263,"name":"INITIAL_DOMAIN_SEPARATOR","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38223,"src":"2782:24:41","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[],"expression":{"argumentTypes":[],"id":38264,"name":"computeDomainSeparator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38549,"src":"2809:22:41","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_bytes32_$","typeString":"function () view returns (bytes32)"}},"id":38265,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2809:24:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"2782:51:41","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":38267,"nodeType":"ExpressionStatement","src":"2782:51:41"},{"expression":{"id":38270,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":38268,"name":"initialized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38230,"src":"2844:11:41","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":38269,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"2858:4:41","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"2844:18:41","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":38271,"nodeType":"ExpressionStatement","src":"2844:18:41"}]},"documentation":{"id":38231,"nodeType":"StructuredDocumentation","src":"2302:197:41","text":"@dev To hide constructor warnings across solc versions due to different constructor visibility requirements and\n syntaxes, we add an initialization function that can be called only once."},"functionSelector":"1624f6c6","implemented":true,"kind":"function","modifiers":[],"name":"initialize","nameLocation":"2513:10:41","parameters":{"id":38238,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38233,"mutability":"mutable","name":"name_","nameLocation":"2538:5:41","nodeType":"VariableDeclaration","scope":38273,"src":"2524:19:41","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":38232,"name":"string","nodeType":"ElementaryTypeName","src":"2524:6:41","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":38235,"mutability":"mutable","name":"symbol_","nameLocation":"2559:7:41","nodeType":"VariableDeclaration","scope":38273,"src":"2545:21:41","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":38234,"name":"string","nodeType":"ElementaryTypeName","src":"2545:6:41","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":38237,"mutability":"mutable","name":"decimals_","nameLocation":"2574:9:41","nodeType":"VariableDeclaration","scope":38273,"src":"2568:15:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":38236,"name":"uint8","nodeType":"ElementaryTypeName","src":"2568:5:41","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"2523:61:41"},"returnParameters":{"id":38239,"nodeType":"ParameterList","parameters":[],"src":"2592:0:41"},"scope":38705,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":38302,"nodeType":"FunctionDefinition","src":"3057:221:41","nodes":[],"body":{"id":38301,"nodeType":"Block","src":"3146:132:41","nodes":[],"statements":[{"expression":{"id":38290,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"id":38283,"name":"_allowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38180,"src":"3156:10:41","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"}},"id":38287,"indexExpression":{"expression":{"id":38284,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"3167:3:41","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":38285,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3171:6:41","memberName":"sender","nodeType":"MemberAccess","src":"3167:10:41","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3156:22:41","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":38288,"indexExpression":{"id":38286,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38275,"src":"3179:7:41","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3156:31:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":38289,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38277,"src":"3190:6:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3156:40:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":38291,"nodeType":"ExpressionStatement","src":"3156:40:41"},{"eventCall":{"arguments":[{"expression":{"id":38293,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"3221:3:41","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":38294,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3225:6:41","memberName":"sender","nodeType":"MemberAccess","src":"3221:10:41","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":38295,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38275,"src":"3233:7:41","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":38296,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38277,"src":"3242:6:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":38292,"name":"Approval","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37706,"src":"3212:8:41","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":38297,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3212:37:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":38298,"nodeType":"EmitStatement","src":"3207:42:41"},{"expression":{"hexValue":"74727565","id":38299,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"3267:4:41","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":38282,"id":38300,"nodeType":"Return","src":"3260:11:41"}]},"baseFunctions":[37750],"functionSelector":"095ea7b3","implemented":true,"kind":"function","modifiers":[],"name":"approve","nameLocation":"3066:7:41","overrides":{"id":38279,"nodeType":"OverrideSpecifier","overrides":[],"src":"3122:8:41"},"parameters":{"id":38278,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38275,"mutability":"mutable","name":"spender","nameLocation":"3082:7:41","nodeType":"VariableDeclaration","scope":38302,"src":"3074:15:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":38274,"name":"address","nodeType":"ElementaryTypeName","src":"3074:7:41","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":38277,"mutability":"mutable","name":"amount","nameLocation":"3099:6:41","nodeType":"VariableDeclaration","scope":38302,"src":"3091:14:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38276,"name":"uint256","nodeType":"ElementaryTypeName","src":"3091:7:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3073:33:41"},"returnParameters":{"id":38282,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38281,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":38302,"src":"3140:4:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":38280,"name":"bool","nodeType":"ElementaryTypeName","src":"3140:4:41","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"3139:6:41"},"scope":38705,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":38346,"nodeType":"FunctionDefinition","src":"3284:288:41","nodes":[],"body":{"id":38345,"nodeType":"Block","src":"3369:203:41","nodes":[],"statements":[{"expression":{"id":38323,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":38312,"name":"_balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38174,"src":"3379:10:41","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":38315,"indexExpression":{"expression":{"id":38313,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"3390:3:41","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":38314,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3394:6:41","memberName":"sender","nodeType":"MemberAccess","src":"3390:10:41","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3379:22:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"baseExpression":{"id":38317,"name":"_balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38174,"src":"3409:10:41","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":38320,"indexExpression":{"expression":{"id":38318,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"3420:3:41","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":38319,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3424:6:41","memberName":"sender","nodeType":"MemberAccess","src":"3420:10:41","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3409:22:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":38321,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38306,"src":"3433:6:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":38316,"name":"_sub","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38665,"src":"3404:4:41","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":38322,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3404:36:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3379:61:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":38324,"nodeType":"ExpressionStatement","src":"3379:61:41"},{"expression":{"id":38334,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":38325,"name":"_balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38174,"src":"3450:10:41","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":38327,"indexExpression":{"id":38326,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38304,"src":"3461:2:41","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3450:14:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"baseExpression":{"id":38329,"name":"_balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38174,"src":"3472:10:41","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":38331,"indexExpression":{"id":38330,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38304,"src":"3483:2:41","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3472:14:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":38332,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38306,"src":"3488:6:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":38328,"name":"_add","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38644,"src":"3467:4:41","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":38333,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3467:28:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3450:45:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":38335,"nodeType":"ExpressionStatement","src":"3450:45:41"},{"eventCall":{"arguments":[{"expression":{"id":38337,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"3520:3:41","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":38338,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3524:6:41","memberName":"sender","nodeType":"MemberAccess","src":"3520:10:41","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":38339,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38304,"src":"3532:2:41","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":38340,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38306,"src":"3536:6:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":38336,"name":"Transfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37697,"src":"3511:8:41","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":38341,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3511:32:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":38342,"nodeType":"EmitStatement","src":"3506:37:41"},{"expression":{"hexValue":"74727565","id":38343,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"3561:4:41","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":38311,"id":38344,"nodeType":"Return","src":"3554:11:41"}]},"baseFunctions":[37730],"functionSelector":"a9059cbb","implemented":true,"kind":"function","modifiers":[],"name":"transfer","nameLocation":"3293:8:41","overrides":{"id":38308,"nodeType":"OverrideSpecifier","overrides":[],"src":"3345:8:41"},"parameters":{"id":38307,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38304,"mutability":"mutable","name":"to","nameLocation":"3310:2:41","nodeType":"VariableDeclaration","scope":38346,"src":"3302:10:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":38303,"name":"address","nodeType":"ElementaryTypeName","src":"3302:7:41","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":38306,"mutability":"mutable","name":"amount","nameLocation":"3322:6:41","nodeType":"VariableDeclaration","scope":38346,"src":"3314:14:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38305,"name":"uint256","nodeType":"ElementaryTypeName","src":"3314:7:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3301:28:41"},"returnParameters":{"id":38311,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38310,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":38346,"src":"3363:4:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":38309,"name":"bool","nodeType":"ElementaryTypeName","src":"3363:4:41","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"3362:6:41"},"scope":38705,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":38418,"nodeType":"FunctionDefinition","src":"3578:472:41","nodes":[],"body":{"id":38417,"nodeType":"Block","src":"3681:369:41","nodes":[],"statements":[{"assignments":[38359],"declarations":[{"constant":false,"id":38359,"mutability":"mutable","name":"allowed","nameLocation":"3699:7:41","nodeType":"VariableDeclaration","scope":38417,"src":"3691:15:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38358,"name":"uint256","nodeType":"ElementaryTypeName","src":"3691:7:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":38366,"initialValue":{"baseExpression":{"baseExpression":{"id":38360,"name":"_allowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38180,"src":"3709:10:41","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"}},"id":38362,"indexExpression":{"id":38361,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38348,"src":"3720:4:41","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3709:16:41","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":38365,"indexExpression":{"expression":{"id":38363,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"3726:3:41","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":38364,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3730:6:41","memberName":"sender","nodeType":"MemberAccess","src":"3726:10:41","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3709:28:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"3691:46:41"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":38373,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":38367,"name":"allowed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38359,"src":"3788:7:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":38372,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"~","prefix":true,"src":"3799:11:41","subExpression":{"arguments":[{"hexValue":"30","id":38370,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3808:1:41","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":38369,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3800:7:41","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":38368,"name":"uint256","nodeType":"ElementaryTypeName","src":"3800:7:41","typeDescriptions":{}}},"id":38371,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3800:10:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3788:22:41","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":38386,"nodeType":"IfStatement","src":"3784:80:41","trueBody":{"expression":{"id":38384,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"id":38374,"name":"_allowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38180,"src":"3812:10:41","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"}},"id":38378,"indexExpression":{"id":38375,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38348,"src":"3823:4:41","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3812:16:41","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":38379,"indexExpression":{"expression":{"id":38376,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"3829:3:41","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":38377,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3833:6:41","memberName":"sender","nodeType":"MemberAccess","src":"3829:10:41","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3812:28:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":38381,"name":"allowed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38359,"src":"3848:7:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":38382,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38352,"src":"3857:6:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":38380,"name":"_sub","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38665,"src":"3843:4:41","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":38383,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3843:21:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3812:52:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":38385,"nodeType":"ExpressionStatement","src":"3812:52:41"}},{"expression":{"id":38396,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":38387,"name":"_balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38174,"src":"3875:10:41","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":38389,"indexExpression":{"id":38388,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38348,"src":"3886:4:41","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3875:16:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"baseExpression":{"id":38391,"name":"_balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38174,"src":"3899:10:41","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":38393,"indexExpression":{"id":38392,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38348,"src":"3910:4:41","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3899:16:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":38394,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38352,"src":"3917:6:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":38390,"name":"_sub","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38665,"src":"3894:4:41","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":38395,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3894:30:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3875:49:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":38397,"nodeType":"ExpressionStatement","src":"3875:49:41"},{"expression":{"id":38407,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":38398,"name":"_balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38174,"src":"3934:10:41","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":38400,"indexExpression":{"id":38399,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38350,"src":"3945:2:41","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3934:14:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"baseExpression":{"id":38402,"name":"_balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38174,"src":"3956:10:41","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":38404,"indexExpression":{"id":38403,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38350,"src":"3967:2:41","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3956:14:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":38405,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38352,"src":"3972:6:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":38401,"name":"_add","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38644,"src":"3951:4:41","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":38406,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3951:28:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3934:45:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":38408,"nodeType":"ExpressionStatement","src":"3934:45:41"},{"eventCall":{"arguments":[{"id":38410,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38348,"src":"4004:4:41","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":38411,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38350,"src":"4010:2:41","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":38412,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38352,"src":"4014:6:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":38409,"name":"Transfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37697,"src":"3995:8:41","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":38413,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3995:26:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":38414,"nodeType":"EmitStatement","src":"3990:31:41"},{"expression":{"hexValue":"74727565","id":38415,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"4039:4:41","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":38357,"id":38416,"nodeType":"Return","src":"4032:11:41"}]},"baseFunctions":[37762],"functionSelector":"23b872dd","implemented":true,"kind":"function","modifiers":[],"name":"transferFrom","nameLocation":"3587:12:41","overrides":{"id":38354,"nodeType":"OverrideSpecifier","overrides":[],"src":"3657:8:41"},"parameters":{"id":38353,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38348,"mutability":"mutable","name":"from","nameLocation":"3608:4:41","nodeType":"VariableDeclaration","scope":38418,"src":"3600:12:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":38347,"name":"address","nodeType":"ElementaryTypeName","src":"3600:7:41","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":38350,"mutability":"mutable","name":"to","nameLocation":"3622:2:41","nodeType":"VariableDeclaration","scope":38418,"src":"3614:10:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":38349,"name":"address","nodeType":"ElementaryTypeName","src":"3614:7:41","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":38352,"mutability":"mutable","name":"amount","nameLocation":"3634:6:41","nodeType":"VariableDeclaration","scope":38418,"src":"3626:14:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38351,"name":"uint256","nodeType":"ElementaryTypeName","src":"3626:7:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3599:42:41"},"returnParameters":{"id":38357,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38356,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":38418,"src":"3675:4:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":38355,"name":"bool","nodeType":"ElementaryTypeName","src":"3675:4:41","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"3674:6:41"},"scope":38705,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":38504,"nodeType":"FunctionDefinition","src":"4239:1182:41","nodes":[],"body":{"id":38503,"nodeType":"Block","src":"4386:1035:41","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":38439,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":38436,"name":"deadline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38426,"src":"4404:8:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"expression":{"id":38437,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"4416:5:41","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":38438,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4422:9:41","memberName":"timestamp","nodeType":"MemberAccess","src":"4416:15:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4404:27:41","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5045524d49545f444541444c494e455f45585049524544","id":38440,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4433:25:41","typeDescriptions":{"typeIdentifier":"t_stringliteral_dd18cfd81b4c1281b56302a044e7f751a261543590362c41d86af048f8ed4b3e","typeString":"literal_string \"PERMIT_DEADLINE_EXPIRED\""},"value":"PERMIT_DEADLINE_EXPIRED"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_dd18cfd81b4c1281b56302a044e7f751a261543590362c41d86af048f8ed4b3e","typeString":"literal_string \"PERMIT_DEADLINE_EXPIRED\""}],"id":38435,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"4396:7:41","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":38441,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4396:63:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":38442,"nodeType":"ExpressionStatement","src":"4396:63:41"},{"assignments":[38444],"declarations":[{"constant":false,"id":38444,"mutability":"mutable","name":"recoveredAddress","nameLocation":"4478:16:41","nodeType":"VariableDeclaration","scope":38503,"src":"4470:24:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":38443,"name":"address","nodeType":"ElementaryTypeName","src":"4470:7:41","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":38474,"initialValue":{"arguments":[{"arguments":[{"arguments":[{"hexValue":"1901","id":38449,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4585:10:41","typeDescriptions":{"typeIdentifier":"t_stringliteral_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541","typeString":"literal_string hex\"1901\""},"value":"\u0019\u0001"},{"arguments":[],"expression":{"argumentTypes":[],"id":38450,"name":"DOMAIN_SEPARATOR","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38519,"src":"4617:16:41","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_bytes32_$","typeString":"function () view returns (bytes32)"}},"id":38451,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4617:18:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"arguments":[{"arguments":[{"hexValue":"5065726d69742861646472657373206f776e65722c61646472657373207370656e6465722c75696e743235362076616c75652c75696e74323536206e6f6e63652c75696e7432353620646561646c696e6529","id":38456,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4775:84:41","typeDescriptions":{"typeIdentifier":"t_stringliteral_6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9","typeString":"literal_string \"Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)\""},"value":"Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9","typeString":"literal_string \"Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)\""}],"id":38455,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"4732:9:41","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":38457,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4732:157:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":38458,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38420,"src":"4919:5:41","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":38459,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38422,"src":"4954:7:41","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":38460,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38424,"src":"4991:5:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":38464,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"5026:15:41","subExpression":{"baseExpression":{"id":38461,"name":"nonces","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38227,"src":"5026:6:41","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":38463,"indexExpression":{"id":38462,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38420,"src":"5033:5:41","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"5026:13:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":38465,"name":"deadline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38426,"src":"5071:8:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":38453,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4692:3:41","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":38454,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4696:6:41","memberName":"encode","nodeType":"MemberAccess","src":"4692:10:41","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":38466,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4692:413:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":38452,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"4657:9:41","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":38467,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4657:470:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541","typeString":"literal_string hex\"1901\""},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":38447,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4547:3:41","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":38448,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4551:12:41","memberName":"encodePacked","nodeType":"MemberAccess","src":"4547:16:41","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":38468,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4547:598:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":38446,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"4520:9:41","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":38469,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4520:639:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":38470,"name":"v","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38428,"src":"5173:1:41","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"id":38471,"name":"r","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38430,"src":"5188:1:41","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":38472,"name":"s","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38432,"src":"5203:1:41","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":38445,"name":"ecrecover","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-6,"src":"4497:9:41","typeDescriptions":{"typeIdentifier":"t_function_ecrecover_pure$_t_bytes32_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$_t_address_$","typeString":"function (bytes32,uint8,bytes32,bytes32) pure returns (address)"}},"id":38473,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4497:717:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"4470:744:41"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":38485,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":38481,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":38476,"name":"recoveredAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38444,"src":"5233:16:41","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":38479,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5261:1:41","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":38478,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5253:7:41","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":38477,"name":"address","nodeType":"ElementaryTypeName","src":"5253:7:41","typeDescriptions":{}}},"id":38480,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5253:10:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"5233:30:41","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":38484,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":38482,"name":"recoveredAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38444,"src":"5267:16:41","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":38483,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38420,"src":"5287:5:41","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"5267:25:41","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"5233:59:41","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"494e56414c49445f5349474e4552","id":38486,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5294:16:41","typeDescriptions":{"typeIdentifier":"t_stringliteral_ba2319f5fa9f0c8e55f0d6899910b7354e6f643d1d349de47190066d85e68a1c","typeString":"literal_string \"INVALID_SIGNER\""},"value":"INVALID_SIGNER"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_ba2319f5fa9f0c8e55f0d6899910b7354e6f643d1d349de47190066d85e68a1c","typeString":"literal_string \"INVALID_SIGNER\""}],"id":38475,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"5225:7:41","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":38487,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5225:86:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":38488,"nodeType":"ExpressionStatement","src":"5225:86:41"},{"expression":{"id":38495,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"id":38489,"name":"_allowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38180,"src":"5322:10:41","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"}},"id":38492,"indexExpression":{"id":38490,"name":"recoveredAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38444,"src":"5333:16:41","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5322:28:41","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":38493,"indexExpression":{"id":38491,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38422,"src":"5351:7:41","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"5322:37:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":38494,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38424,"src":"5362:5:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5322:45:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":38496,"nodeType":"ExpressionStatement","src":"5322:45:41"},{"eventCall":{"arguments":[{"id":38498,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38420,"src":"5392:5:41","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":38499,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38422,"src":"5399:7:41","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":38500,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38424,"src":"5408:5:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":38497,"name":"Approval","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37706,"src":"5383:8:41","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":38501,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5383:31:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":38502,"nodeType":"EmitStatement","src":"5378:36:41"}]},"functionSelector":"d505accf","implemented":true,"kind":"function","modifiers":[],"name":"permit","nameLocation":"4248:6:41","parameters":{"id":38433,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38420,"mutability":"mutable","name":"owner","nameLocation":"4263:5:41","nodeType":"VariableDeclaration","scope":38504,"src":"4255:13:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":38419,"name":"address","nodeType":"ElementaryTypeName","src":"4255:7:41","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":38422,"mutability":"mutable","name":"spender","nameLocation":"4278:7:41","nodeType":"VariableDeclaration","scope":38504,"src":"4270:15:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":38421,"name":"address","nodeType":"ElementaryTypeName","src":"4270:7:41","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":38424,"mutability":"mutable","name":"value","nameLocation":"4295:5:41","nodeType":"VariableDeclaration","scope":38504,"src":"4287:13:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38423,"name":"uint256","nodeType":"ElementaryTypeName","src":"4287:7:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":38426,"mutability":"mutable","name":"deadline","nameLocation":"4310:8:41","nodeType":"VariableDeclaration","scope":38504,"src":"4302:16:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38425,"name":"uint256","nodeType":"ElementaryTypeName","src":"4302:7:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":38428,"mutability":"mutable","name":"v","nameLocation":"4326:1:41","nodeType":"VariableDeclaration","scope":38504,"src":"4320:7:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":38427,"name":"uint8","nodeType":"ElementaryTypeName","src":"4320:5:41","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":38430,"mutability":"mutable","name":"r","nameLocation":"4337:1:41","nodeType":"VariableDeclaration","scope":38504,"src":"4329:9:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38429,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4329:7:41","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":38432,"mutability":"mutable","name":"s","nameLocation":"4348:1:41","nodeType":"VariableDeclaration","scope":38504,"src":"4340:9:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38431,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4340:7:41","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"4254:96:41"},"returnParameters":{"id":38434,"nodeType":"ParameterList","parameters":[],"src":"4386:0:41"},"scope":38705,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":38519,"nodeType":"FunctionDefinition","src":"5427:178:41","nodes":[],"body":{"id":38518,"nodeType":"Block","src":"5493:112:41","nodes":[],"statements":[{"expression":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":38512,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":38509,"name":"_pureChainId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38704,"src":"5510:12:41","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_uint256_$","typeString":"function () pure returns (uint256)"}},"id":38510,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5510:14:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":38511,"name":"INITIAL_CHAIN_ID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38221,"src":"5528:16:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5510:34:41","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":38514,"name":"computeDomainSeparator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38549,"src":"5574:22:41","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_bytes32_$","typeString":"function () view returns (bytes32)"}},"id":38515,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5574:24:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":38516,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"5510:88:41","trueExpression":{"id":38513,"name":"INITIAL_DOMAIN_SEPARATOR","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38223,"src":"5547:24:41","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":38508,"id":38517,"nodeType":"Return","src":"5503:95:41"}]},"functionSelector":"3644e515","implemented":true,"kind":"function","modifiers":[],"name":"DOMAIN_SEPARATOR","nameLocation":"5436:16:41","parameters":{"id":38505,"nodeType":"ParameterList","parameters":[],"src":"5452:2:41"},"returnParameters":{"id":38508,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38507,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":38519,"src":"5484:7:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38506,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5484:7:41","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"5483:9:41"},"scope":38705,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":38549,"nodeType":"FunctionDefinition","src":"5611:404:41","nodes":[],"body":{"id":38548,"nodeType":"Block","src":"5685:330:41","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"arguments":[{"hexValue":"454950373132446f6d61696e28737472696e67206e616d652c737472696e672076657273696f6e2c75696e7432353620636861696e49642c6164647265737320766572696679696e67436f6e747261637429","id":38528,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5763:84:41","typeDescriptions":{"typeIdentifier":"t_stringliteral_8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f","typeString":"literal_string \"EIP712Domain(string name,string version,uint256 chainId,address verifyingContract)\""},"value":"EIP712Domain(string name,string version,uint256 chainId,address verifyingContract)"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f","typeString":"literal_string \"EIP712Domain(string name,string version,uint256 chainId,address verifyingContract)\""}],"id":38527,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"5753:9:41","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":38529,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5753:95:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"arguments":[{"id":38533,"name":"_name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38137,"src":"5882:5:41","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}],"id":38532,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5876:5:41","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":38531,"name":"bytes","nodeType":"ElementaryTypeName","src":"5876:5:41","typeDescriptions":{}}},"id":38534,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5876:12:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes storage pointer"}],"id":38530,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"5866:9:41","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":38535,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5866:23:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"hexValue":"31","id":38537,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5917:3:41","typeDescriptions":{"typeIdentifier":"t_stringliteral_c89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6","typeString":"literal_string \"1\""},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6","typeString":"literal_string \"1\""}],"id":38536,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"5907:9:41","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":38538,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5907:14:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[],"expression":{"argumentTypes":[],"id":38539,"name":"_pureChainId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38704,"src":"5939:12:41","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_uint256_$","typeString":"function () pure returns (uint256)"}},"id":38540,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5939:14:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"id":38543,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"5979:4:41","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$38705","typeString":"contract MockERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockERC20_$38705","typeString":"contract MockERC20"}],"id":38542,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5971:7:41","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":38541,"name":"address","nodeType":"ElementaryTypeName","src":"5971:7:41","typeDescriptions":{}}},"id":38544,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5971:13:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":38525,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"5725:3:41","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":38526,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5729:6:41","memberName":"encode","nodeType":"MemberAccess","src":"5725:10:41","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":38545,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5725:273:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":38524,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"5702:9:41","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":38546,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5702:306:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":38523,"id":38547,"nodeType":"Return","src":"5695:313:41"}]},"implemented":true,"kind":"function","modifiers":[],"name":"computeDomainSeparator","nameLocation":"5620:22:41","parameters":{"id":38520,"nodeType":"ParameterList","parameters":[],"src":"5642:2:41"},"returnParameters":{"id":38523,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38522,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":38549,"src":"5676:7:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38521,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5676:7:41","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"5675:9:41"},"scope":38705,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":38584,"nodeType":"FunctionDefinition","src":"6209:221:41","nodes":[],"body":{"id":38583,"nodeType":"Block","src":"6269:161:41","nodes":[],"statements":[{"expression":{"id":38561,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":38556,"name":"_totalSupply","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38170,"src":"6279:12:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":38558,"name":"_totalSupply","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38170,"src":"6299:12:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":38559,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38553,"src":"6313:6:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":38557,"name":"_add","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38644,"src":"6294:4:41","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":38560,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6294:26:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6279:41:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":38562,"nodeType":"ExpressionStatement","src":"6279:41:41"},{"expression":{"id":38572,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":38563,"name":"_balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38174,"src":"6330:10:41","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":38565,"indexExpression":{"id":38564,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38551,"src":"6341:2:41","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"6330:14:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"baseExpression":{"id":38567,"name":"_balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38174,"src":"6352:10:41","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":38569,"indexExpression":{"id":38568,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38551,"src":"6363:2:41","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6352:14:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":38570,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38553,"src":"6368:6:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":38566,"name":"_add","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38644,"src":"6347:4:41","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":38571,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6347:28:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6330:45:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":38573,"nodeType":"ExpressionStatement","src":"6330:45:41"},{"eventCall":{"arguments":[{"arguments":[{"hexValue":"30","id":38577,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6408:1:41","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":38576,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6400:7:41","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":38575,"name":"address","nodeType":"ElementaryTypeName","src":"6400:7:41","typeDescriptions":{}}},"id":38578,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6400:10:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":38579,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38551,"src":"6412:2:41","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":38580,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38553,"src":"6416:6:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":38574,"name":"Transfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37697,"src":"6391:8:41","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":38581,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6391:32:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":38582,"nodeType":"EmitStatement","src":"6386:37:41"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_mint","nameLocation":"6218:5:41","parameters":{"id":38554,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38551,"mutability":"mutable","name":"to","nameLocation":"6232:2:41","nodeType":"VariableDeclaration","scope":38584,"src":"6224:10:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":38550,"name":"address","nodeType":"ElementaryTypeName","src":"6224:7:41","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":38553,"mutability":"mutable","name":"amount","nameLocation":"6244:6:41","nodeType":"VariableDeclaration","scope":38584,"src":"6236:14:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38552,"name":"uint256","nodeType":"ElementaryTypeName","src":"6236:7:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6223:28:41"},"returnParameters":{"id":38555,"nodeType":"ParameterList","parameters":[],"src":"6269:0:41"},"scope":38705,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":38619,"nodeType":"FunctionDefinition","src":"6436:229:41","nodes":[],"body":{"id":38618,"nodeType":"Block","src":"6498:167:41","nodes":[],"statements":[{"expression":{"id":38600,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":38591,"name":"_balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38174,"src":"6508:10:41","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":38593,"indexExpression":{"id":38592,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38586,"src":"6519:4:41","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"6508:16:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"baseExpression":{"id":38595,"name":"_balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38174,"src":"6532:10:41","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":38597,"indexExpression":{"id":38596,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38586,"src":"6543:4:41","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6532:16:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":38598,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38588,"src":"6550:6:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":38594,"name":"_sub","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38665,"src":"6527:4:41","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":38599,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6527:30:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6508:49:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":38601,"nodeType":"ExpressionStatement","src":"6508:49:41"},{"expression":{"id":38607,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":38602,"name":"_totalSupply","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38170,"src":"6567:12:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":38604,"name":"_totalSupply","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38170,"src":"6587:12:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":38605,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38588,"src":"6601:6:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":38603,"name":"_sub","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38665,"src":"6582:4:41","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":38606,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6582:26:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6567:41:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":38608,"nodeType":"ExpressionStatement","src":"6567:41:41"},{"eventCall":{"arguments":[{"id":38610,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38586,"src":"6633:4:41","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"30","id":38613,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6647:1:41","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":38612,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6639:7:41","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":38611,"name":"address","nodeType":"ElementaryTypeName","src":"6639:7:41","typeDescriptions":{}}},"id":38614,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6639:10:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":38615,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38588,"src":"6651:6:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":38609,"name":"Transfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37697,"src":"6624:8:41","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":38616,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6624:34:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":38617,"nodeType":"EmitStatement","src":"6619:39:41"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_burn","nameLocation":"6445:5:41","parameters":{"id":38589,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38586,"mutability":"mutable","name":"from","nameLocation":"6459:4:41","nodeType":"VariableDeclaration","scope":38619,"src":"6451:12:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":38585,"name":"address","nodeType":"ElementaryTypeName","src":"6451:7:41","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":38588,"mutability":"mutable","name":"amount","nameLocation":"6473:6:41","nodeType":"VariableDeclaration","scope":38619,"src":"6465:14:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38587,"name":"uint256","nodeType":"ElementaryTypeName","src":"6465:7:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6450:30:41"},"returnParameters":{"id":38590,"nodeType":"ParameterList","parameters":[],"src":"6498:0:41"},"scope":38705,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":38644,"nodeType":"FunctionDefinition","src":"6859:173:41","nodes":[],"body":{"id":38643,"nodeType":"Block","src":"6927:105:41","nodes":[],"statements":[{"assignments":[38629],"declarations":[{"constant":false,"id":38629,"mutability":"mutable","name":"c","nameLocation":"6945:1:41","nodeType":"VariableDeclaration","scope":38643,"src":"6937:9:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38628,"name":"uint256","nodeType":"ElementaryTypeName","src":"6937:7:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":38633,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":38632,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":38630,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38621,"src":"6949:1:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":38631,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38623,"src":"6953:1:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6949:5:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"6937:17:41"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":38637,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":38635,"name":"c","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38629,"src":"6972:1:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":38636,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38621,"src":"6977:1:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6972:6:41","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"45524332303a206164646974696f6e206f766572666c6f77","id":38638,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6980:26:41","typeDescriptions":{"typeIdentifier":"t_stringliteral_74f676cd2e283c0e66b6d0717943544332197bd372b775cf0e7a53907f5c5d11","typeString":"literal_string \"ERC20: addition overflow\""},"value":"ERC20: addition overflow"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_74f676cd2e283c0e66b6d0717943544332197bd372b775cf0e7a53907f5c5d11","typeString":"literal_string \"ERC20: addition overflow\""}],"id":38634,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"6964:7:41","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":38639,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6964:43:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":38640,"nodeType":"ExpressionStatement","src":"6964:43:41"},{"expression":{"id":38641,"name":"c","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38629,"src":"7024:1:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":38627,"id":38642,"nodeType":"Return","src":"7017:8:41"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_add","nameLocation":"6868:4:41","parameters":{"id":38624,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38621,"mutability":"mutable","name":"a","nameLocation":"6881:1:41","nodeType":"VariableDeclaration","scope":38644,"src":"6873:9:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38620,"name":"uint256","nodeType":"ElementaryTypeName","src":"6873:7:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":38623,"mutability":"mutable","name":"b","nameLocation":"6892:1:41","nodeType":"VariableDeclaration","scope":38644,"src":"6884:9:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38622,"name":"uint256","nodeType":"ElementaryTypeName","src":"6884:7:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6872:22:41"},"returnParameters":{"id":38627,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38626,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":38644,"src":"6918:7:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38625,"name":"uint256","nodeType":"ElementaryTypeName","src":"6918:7:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6917:9:41"},"scope":38705,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":38665,"nodeType":"FunctionDefinition","src":"7038:154:41","nodes":[],"body":{"id":38664,"nodeType":"Block","src":"7106:86:41","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":38656,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":38654,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38646,"src":"7124:1:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":38655,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38648,"src":"7129:1:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7124:6:41","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"45524332303a207375627472616374696f6e20756e646572666c6f77","id":38657,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7132:30:41","typeDescriptions":{"typeIdentifier":"t_stringliteral_51030fc2fc57ce7527c9e329debac907fc652c2c136d851e4f42cbce1710c274","typeString":"literal_string \"ERC20: subtraction underflow\""},"value":"ERC20: subtraction underflow"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_51030fc2fc57ce7527c9e329debac907fc652c2c136d851e4f42cbce1710c274","typeString":"literal_string \"ERC20: subtraction underflow\""}],"id":38653,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"7116:7:41","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":38658,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7116:47:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":38659,"nodeType":"ExpressionStatement","src":"7116:47:41"},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":38662,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":38660,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38646,"src":"7180:1:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":38661,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38648,"src":"7184:1:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7180:5:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":38652,"id":38663,"nodeType":"Return","src":"7173:12:41"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_sub","nameLocation":"7047:4:41","parameters":{"id":38649,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38646,"mutability":"mutable","name":"a","nameLocation":"7060:1:41","nodeType":"VariableDeclaration","scope":38665,"src":"7052:9:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38645,"name":"uint256","nodeType":"ElementaryTypeName","src":"7052:7:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":38648,"mutability":"mutable","name":"b","nameLocation":"7071:1:41","nodeType":"VariableDeclaration","scope":38665,"src":"7063:9:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38647,"name":"uint256","nodeType":"ElementaryTypeName","src":"7063:7:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7051:22:41"},"returnParameters":{"id":38652,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38651,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":38665,"src":"7097:7:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38650,"name":"uint256","nodeType":"ElementaryTypeName","src":"7097:7:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7096:9:41"},"scope":38705,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":38677,"nodeType":"FunctionDefinition","src":"7735:276:41","nodes":[],"body":{"id":38676,"nodeType":"Block","src":"7798:213:41","nodes":[],"statements":[{"AST":{"nodeType":"YulBlock","src":"7893:44:41","statements":[{"nodeType":"YulAssignment","src":"7907:20:41","value":{"arguments":[],"functionName":{"name":"chainid","nodeType":"YulIdentifier","src":"7918:7:41"},"nodeType":"YulFunctionCall","src":"7918:9:41"},"variableNames":[{"name":"chainId","nodeType":"YulIdentifier","src":"7907:7:41"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":38668,"isOffset":false,"isSlot":false,"src":"7907:7:41","valueSize":1}],"id":38670,"nodeType":"InlineAssembly","src":"7884:53:41"},{"expression":{"arguments":[{"id":38673,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"7955:4:41","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$38705","typeString":"contract MockERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockERC20_$38705","typeString":"contract MockERC20"}],"id":38672,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7947:7:41","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":38671,"name":"address","nodeType":"ElementaryTypeName","src":"7947:7:41","typeDescriptions":{}}},"id":38674,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7947:13:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":38675,"nodeType":"ExpressionStatement","src":"7947:13:41"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_viewChainId","nameLocation":"7744:12:41","parameters":{"id":38666,"nodeType":"ParameterList","parameters":[],"src":"7756:2:41"},"returnParameters":{"id":38669,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38668,"mutability":"mutable","name":"chainId","nameLocation":"7789:7:41","nodeType":"VariableDeclaration","scope":38677,"src":"7781:15:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38667,"name":"uint256","nodeType":"ElementaryTypeName","src":"7781:7:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7780:17:41"},"scope":38705,"stateMutability":"view","virtual":false,"visibility":"private"},{"id":38704,"nodeType":"FunctionDefinition","src":"8017:300:41","nodes":[],"body":{"id":38703,"nodeType":"Block","src":"8080:237:41","nodes":[],"statements":[{"assignments":[38687],"declarations":[{"constant":false,"id":38687,"mutability":"mutable","name":"fnIn","nameLocation":"8133:4:41","nodeType":"VariableDeclaration","scope":38703,"src":"8090:47:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint256_$","typeString":"function () view returns (uint256)"},"typeName":{"id":38686,"nodeType":"FunctionTypeName","parameterTypes":{"id":38682,"nodeType":"ParameterList","parameters":[],"src":"8098:2:41"},"returnParameterTypes":{"id":38685,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38684,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":38686,"src":"8124:7:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38683,"name":"uint256","nodeType":"ElementaryTypeName","src":"8124:7:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8123:9:41"},"src":"8090:47:41","stateMutability":"view","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint256_$","typeString":"function () view returns (uint256)"},"visibility":"internal"},"visibility":"internal"}],"id":38689,"initialValue":{"id":38688,"name":"_viewChainId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38677,"src":"8140:12:41","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint256_$","typeString":"function () view returns (uint256)"}},"nodeType":"VariableDeclarationStatement","src":"8090:62:41"},{"assignments":[38695],"declarations":[{"constant":false,"id":38695,"mutability":"mutable","name":"pureChainId","nameLocation":"8205:11:41","nodeType":"VariableDeclaration","scope":38703,"src":"8162:54:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_uint256_$","typeString":"function () pure returns (uint256)"},"typeName":{"id":38694,"nodeType":"FunctionTypeName","parameterTypes":{"id":38690,"nodeType":"ParameterList","parameters":[],"src":"8170:2:41"},"returnParameterTypes":{"id":38693,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38692,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":38694,"src":"8196:7:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38691,"name":"uint256","nodeType":"ElementaryTypeName","src":"8196:7:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8195:9:41"},"src":"8162:54:41","stateMutability":"pure","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_uint256_$","typeString":"function () pure returns (uint256)"},"visibility":"internal"},"visibility":"internal"}],"id":38696,"nodeType":"VariableDeclarationStatement","src":"8162:54:41"},{"AST":{"nodeType":"YulBlock","src":"8235:43:41","statements":[{"nodeType":"YulAssignment","src":"8249:19:41","value":{"name":"fnIn","nodeType":"YulIdentifier","src":"8264:4:41"},"variableNames":[{"name":"pureChainId","nodeType":"YulIdentifier","src":"8249:11:41"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":38687,"isOffset":false,"isSlot":false,"src":"8264:4:41","valueSize":1},{"declaration":38695,"isOffset":false,"isSlot":false,"src":"8249:11:41","valueSize":1}],"id":38697,"nodeType":"InlineAssembly","src":"8226:52:41"},{"expression":{"id":38701,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":38698,"name":"chainId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38680,"src":"8287:7:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[],"expression":{"argumentTypes":[],"id":38699,"name":"pureChainId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38695,"src":"8297:11:41","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_uint256_$","typeString":"function () pure returns (uint256)"}},"id":38700,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8297:13:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8287:23:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":38702,"nodeType":"ExpressionStatement","src":"8287:23:41"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_pureChainId","nameLocation":"8026:12:41","parameters":{"id":38678,"nodeType":"ParameterList","parameters":[],"src":"8038:2:41"},"returnParameters":{"id":38681,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38680,"mutability":"mutable","name":"chainId","nameLocation":"8071:7:41","nodeType":"VariableDeclaration","scope":38704,"src":"8063:15:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38679,"name":"uint256","nodeType":"ElementaryTypeName","src":"8063:7:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8062:17:41"},"scope":38705,"stateMutability":"pure","virtual":false,"visibility":"private"}],"abstract":false,"baseContracts":[{"baseName":{"id":38134,"name":"IERC20","nameLocations":["391:6:41"],"nodeType":"IdentifierPath","referencedDeclaration":37781,"src":"391:6:41"},"id":38135,"nodeType":"InheritanceSpecifier","src":"391:6:41"}],"canonicalName":"MockERC20","contractDependencies":[],"contractKind":"contract","documentation":{"id":38133,"nodeType":"StructuredDocumentation","src":"115:254:41","text":"@notice This is a mock contract of the ERC20 standard for testing purposes only, it SHOULD NOT be used in production.\n @dev Forked from: https://github.com/transmissions11/solmate/blob/0384dbaaa4fcb5715738a9254a7c0a4cb62cf458/src/tokens/ERC20.sol"},"fullyImplemented":true,"linearizedBaseContracts":[38705,37781],"name":"MockERC20","nameLocation":"378:9:41","scope":38706,"usedErrors":[]}],"license":"MIT"},"id":41} \ No newline at end of file +{"abi":[{"type":"function","name":"DOMAIN_SEPARATOR","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"allowance","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"spender","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"approve","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"balanceOf","inputs":[{"name":"owner","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"decimals","inputs":[],"outputs":[{"name":"","type":"uint8","internalType":"uint8"}],"stateMutability":"view"},{"type":"function","name":"initialize","inputs":[{"name":"name_","type":"string","internalType":"string"},{"name":"symbol_","type":"string","internalType":"string"},{"name":"decimals_","type":"uint8","internalType":"uint8"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"name","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"nonces","inputs":[{"name":"","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"permit","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"spender","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"},{"name":"deadline","type":"uint256","internalType":"uint256"},{"name":"v","type":"uint8","internalType":"uint8"},{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"s","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"symbol","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"totalSupply","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"transfer","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"transferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"event","name":"Approval","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"spender","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Transfer","inputs":[{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"to","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false}],"bytecode":{"object":"0x608060405234801561001057600080fd5b50610eb9806100206000396000f3fe608060405234801561001057600080fd5b50600436106100df5760003560e01c80633644e5151161008c57806395d89b411161006657806395d89b41146101c5578063a9059cbb146101cd578063d505accf146101e0578063dd62ed3e146101f357600080fd5b80633644e5151461017457806370a082311461017c5780637ecebe00146101a557600080fd5b806318160ddd116100bd57806318160ddd1461013a57806323b872dd1461014c578063313ce5671461015f57600080fd5b806306fdde03146100e4578063095ea7b3146101025780631624f6c614610125575b600080fd5b6100ec61022c565b6040516100f991906109bf565b60405180910390f35b610115610110366004610a29565b6102be565b60405190151581526020016100f9565b610138610133366004610b07565b61032b565b005b6003545b6040519081526020016100f9565b61011561015a366004610b7b565b6103d4565b60025460405160ff90911681526020016100f9565b61013e6104e9565b61013e61018a366004610bb7565b6001600160a01b031660009081526004602052604090205490565b61013e6101b3366004610bb7565b60086020526000908152604090205481565b6100ec61050f565b6101156101db366004610a29565b61051e565b6101386101ee366004610bd2565b6105b5565b61013e610201366004610c3c565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205490565b60606000805461023b90610c6f565b80601f016020809104026020016040519081016040528092919081815260200182805461026790610c6f565b80156102b45780601f10610289576101008083540402835291602001916102b4565b820191906000526020600020905b81548152906001019060200180831161029757829003601f168201915b5050505050905090565b3360008181526005602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906103199086815260200190565b60405180910390a35060015b92915050565b60095460ff16156103835760405162461bcd60e51b815260206004820152601360248201527f414c52454144595f494e495449414c495a45440000000000000000000000000060448201526064015b60405180910390fd5b600061038f8482610cf8565b50600161039c8382610cf8565b506002805460ff191660ff83161790556103b461083d565b6006556103bf610856565b60075550506009805460ff1916600117905550565b6001600160a01b038316600090815260056020908152604080832033845290915281205460001981146104305761040b81846108f9565b6001600160a01b03861660009081526005602090815260408083203384529091529020555b6001600160a01b03851660009081526004602052604090205461045390846108f9565b6001600160a01b038087166000908152600460205260408082209390935590861681522054610482908461095c565b6001600160a01b0380861660008181526004602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906104d69087815260200190565b60405180910390a3506001949350505050565b60006006546104f661083d565b1461050857610503610856565b905090565b5060075490565b60606001805461023b90610c6f565b3360009081526004602052604081205461053890836108f9565b33600090815260046020526040808220929092556001600160a01b03851681522054610564908361095c565b6001600160a01b0384166000818152600460205260409081902092909255905133907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906103199086815260200190565b428410156106055760405162461bcd60e51b815260206004820152601760248201527f5045524d49545f444541444c494e455f45585049524544000000000000000000604482015260640161037a565b600060016106116104e9565b6001600160a01b038a16600090815260086020526040812080547f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9928d928d928d9290919061065f83610dce565b909155506040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810188905260e001604051602081830303815290604052805190602001206040516020016106f39291907f190100000000000000000000000000000000000000000000000000000000000081526002810192909252602282015260420190565b60408051601f198184030181528282528051602091820120600084529083018083525260ff871690820152606081018590526080810184905260a0016020604051602081039080840390855afa158015610751573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116158015906107875750876001600160a01b0316816001600160a01b0316145b6107d35760405162461bcd60e51b815260206004820152600e60248201527f494e56414c49445f5349474e4552000000000000000000000000000000000000604482015260640161037a565b6001600160a01b0381811660009081526005602090815260408083208b8516808552908352928190208a90555189815291928b16917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a35050505050505050565b60006109bb8061084f63ffffffff8216565b9250505090565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60006040516108889190610de7565b60405180910390207fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc66108b961083d565b604080516020810195909552840192909252606083015260808201523060a082015260c00160405160208183030381529060405280519060200120905090565b60008183101561094b5760405162461bcd60e51b815260206004820152601c60248201527f45524332303a207375627472616374696f6e20756e646572666c6f7700000000604482015260640161037a565b6109558284610e5d565b9392505050565b6000806109698385610e70565b9050838110156109555760405162461bcd60e51b815260206004820152601860248201527f45524332303a206164646974696f6e206f766572666c6f770000000000000000604482015260640161037a565b4690565b600060208083528351808285015260005b818110156109ec578581018301518582016040015282016109d0565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b0381168114610a2457600080fd5b919050565b60008060408385031215610a3c57600080fd5b610a4583610a0d565b946020939093013593505050565b634e487b7160e01b600052604160045260246000fd5b600082601f830112610a7a57600080fd5b813567ffffffffffffffff80821115610a9557610a95610a53565b604051601f8301601f19908116603f01168101908282118183101715610abd57610abd610a53565b81604052838152866020858801011115610ad657600080fd5b836020870160208301376000602085830101528094505050505092915050565b803560ff81168114610a2457600080fd5b600080600060608486031215610b1c57600080fd5b833567ffffffffffffffff80821115610b3457600080fd5b610b4087838801610a69565b94506020860135915080821115610b5657600080fd5b50610b6386828701610a69565b925050610b7260408501610af6565b90509250925092565b600080600060608486031215610b9057600080fd5b610b9984610a0d565b9250610ba760208501610a0d565b9150604084013590509250925092565b600060208284031215610bc957600080fd5b61095582610a0d565b600080600080600080600060e0888a031215610bed57600080fd5b610bf688610a0d565b9650610c0460208901610a0d565b95506040880135945060608801359350610c2060808901610af6565b925060a0880135915060c0880135905092959891949750929550565b60008060408385031215610c4f57600080fd5b610c5883610a0d565b9150610c6660208401610a0d565b90509250929050565b600181811c90821680610c8357607f821691505b602082108103610ca357634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115610cf357600081815260208120601f850160051c81016020861015610cd05750805b601f850160051c820191505b81811015610cef57828155600101610cdc565b5050505b505050565b815167ffffffffffffffff811115610d1257610d12610a53565b610d2681610d208454610c6f565b84610ca9565b602080601f831160018114610d5b5760008415610d435750858301515b600019600386901b1c1916600185901b178555610cef565b600085815260208120601f198616915b82811015610d8a57888601518255948401946001909101908401610d6b565b5085821015610da85787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052601160045260246000fd5b600060018201610de057610de0610db8565b5060010190565b6000808354610df581610c6f565b60018281168015610e0d5760018114610e2257610e51565b60ff1984168752821515830287019450610e51565b8760005260208060002060005b85811015610e485781548a820152908401908201610e2f565b50505082870194505b50929695505050505050565b8181038181111561032557610325610db8565b8082018082111561032557610325610db856fea264697066735822122055afc53d51a79be065d98715b7256e6059e3d2170c4ca9d04a279a5e8857148564736f6c63430008130033","sourceMap":"369:7950:41:-:0;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b50600436106100df5760003560e01c80633644e5151161008c57806395d89b411161006657806395d89b41146101c5578063a9059cbb146101cd578063d505accf146101e0578063dd62ed3e146101f357600080fd5b80633644e5151461017457806370a082311461017c5780637ecebe00146101a557600080fd5b806318160ddd116100bd57806318160ddd1461013a57806323b872dd1461014c578063313ce5671461015f57600080fd5b806306fdde03146100e4578063095ea7b3146101025780631624f6c614610125575b600080fd5b6100ec61022c565b6040516100f991906109bf565b60405180910390f35b610115610110366004610a29565b6102be565b60405190151581526020016100f9565b610138610133366004610b07565b61032b565b005b6003545b6040519081526020016100f9565b61011561015a366004610b7b565b6103d4565b60025460405160ff90911681526020016100f9565b61013e6104e9565b61013e61018a366004610bb7565b6001600160a01b031660009081526004602052604090205490565b61013e6101b3366004610bb7565b60086020526000908152604090205481565b6100ec61050f565b6101156101db366004610a29565b61051e565b6101386101ee366004610bd2565b6105b5565b61013e610201366004610c3c565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205490565b60606000805461023b90610c6f565b80601f016020809104026020016040519081016040528092919081815260200182805461026790610c6f565b80156102b45780601f10610289576101008083540402835291602001916102b4565b820191906000526020600020905b81548152906001019060200180831161029757829003601f168201915b5050505050905090565b3360008181526005602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906103199086815260200190565b60405180910390a35060015b92915050565b60095460ff16156103835760405162461bcd60e51b815260206004820152601360248201527f414c52454144595f494e495449414c495a45440000000000000000000000000060448201526064015b60405180910390fd5b600061038f8482610cf8565b50600161039c8382610cf8565b506002805460ff191660ff83161790556103b461083d565b6006556103bf610856565b60075550506009805460ff1916600117905550565b6001600160a01b038316600090815260056020908152604080832033845290915281205460001981146104305761040b81846108f9565b6001600160a01b03861660009081526005602090815260408083203384529091529020555b6001600160a01b03851660009081526004602052604090205461045390846108f9565b6001600160a01b038087166000908152600460205260408082209390935590861681522054610482908461095c565b6001600160a01b0380861660008181526004602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906104d69087815260200190565b60405180910390a3506001949350505050565b60006006546104f661083d565b1461050857610503610856565b905090565b5060075490565b60606001805461023b90610c6f565b3360009081526004602052604081205461053890836108f9565b33600090815260046020526040808220929092556001600160a01b03851681522054610564908361095c565b6001600160a01b0384166000818152600460205260409081902092909255905133907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906103199086815260200190565b428410156106055760405162461bcd60e51b815260206004820152601760248201527f5045524d49545f444541444c494e455f45585049524544000000000000000000604482015260640161037a565b600060016106116104e9565b6001600160a01b038a16600090815260086020526040812080547f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9928d928d928d9290919061065f83610dce565b909155506040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810188905260e001604051602081830303815290604052805190602001206040516020016106f39291907f190100000000000000000000000000000000000000000000000000000000000081526002810192909252602282015260420190565b60408051601f198184030181528282528051602091820120600084529083018083525260ff871690820152606081018590526080810184905260a0016020604051602081039080840390855afa158015610751573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116158015906107875750876001600160a01b0316816001600160a01b0316145b6107d35760405162461bcd60e51b815260206004820152600e60248201527f494e56414c49445f5349474e4552000000000000000000000000000000000000604482015260640161037a565b6001600160a01b0381811660009081526005602090815260408083208b8516808552908352928190208a90555189815291928b16917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a35050505050505050565b60006109bb8061084f63ffffffff8216565b9250505090565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60006040516108889190610de7565b60405180910390207fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc66108b961083d565b604080516020810195909552840192909252606083015260808201523060a082015260c00160405160208183030381529060405280519060200120905090565b60008183101561094b5760405162461bcd60e51b815260206004820152601c60248201527f45524332303a207375627472616374696f6e20756e646572666c6f7700000000604482015260640161037a565b6109558284610e5d565b9392505050565b6000806109698385610e70565b9050838110156109555760405162461bcd60e51b815260206004820152601860248201527f45524332303a206164646974696f6e206f766572666c6f770000000000000000604482015260640161037a565b4690565b600060208083528351808285015260005b818110156109ec578581018301518582016040015282016109d0565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b0381168114610a2457600080fd5b919050565b60008060408385031215610a3c57600080fd5b610a4583610a0d565b946020939093013593505050565b634e487b7160e01b600052604160045260246000fd5b600082601f830112610a7a57600080fd5b813567ffffffffffffffff80821115610a9557610a95610a53565b604051601f8301601f19908116603f01168101908282118183101715610abd57610abd610a53565b81604052838152866020858801011115610ad657600080fd5b836020870160208301376000602085830101528094505050505092915050565b803560ff81168114610a2457600080fd5b600080600060608486031215610b1c57600080fd5b833567ffffffffffffffff80821115610b3457600080fd5b610b4087838801610a69565b94506020860135915080821115610b5657600080fd5b50610b6386828701610a69565b925050610b7260408501610af6565b90509250925092565b600080600060608486031215610b9057600080fd5b610b9984610a0d565b9250610ba760208501610a0d565b9150604084013590509250925092565b600060208284031215610bc957600080fd5b61095582610a0d565b600080600080600080600060e0888a031215610bed57600080fd5b610bf688610a0d565b9650610c0460208901610a0d565b95506040880135945060608801359350610c2060808901610af6565b925060a0880135915060c0880135905092959891949750929550565b60008060408385031215610c4f57600080fd5b610c5883610a0d565b9150610c6660208401610a0d565b90509250929050565b600181811c90821680610c8357607f821691505b602082108103610ca357634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115610cf357600081815260208120601f850160051c81016020861015610cd05750805b601f850160051c820191505b81811015610cef57828155600101610cdc565b5050505b505050565b815167ffffffffffffffff811115610d1257610d12610a53565b610d2681610d208454610c6f565b84610ca9565b602080601f831160018114610d5b5760008415610d435750858301515b600019600386901b1c1916600185901b178555610cef565b600085815260208120601f198616915b82811015610d8a57888601518255948401946001909101908401610d6b565b5085821015610da85787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052601160045260246000fd5b600060018201610de057610de0610db8565b5060010190565b6000808354610df581610c6f565b60018281168015610e0d5760018114610e2257610e51565b60ff1984168752821515830287019450610e51565b8760005260208060002060005b85811015610e485781548a820152908401908201610e2f565b50505082870194505b50929695505050505050565b8181038181111561032557610325610db8565b8082018082111561032557610325610db856fea264697066735822122055afc53d51a79be065d98715b7256e6059e3d2170c4ca9d04a279a5e8857148564736f6c63430008130033","sourceMap":"369:7950:41:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;677:92;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3057:221;;;;;;:::i;:::-;;:::i;:::-;;;1192:14:151;;1185:22;1167:41;;1155:2;1140:18;3057:221:41;1027:187:151;2504:365:41;;;;;;:::i;:::-;;:::i;:::-;;1322:100;1403:12;;1322:100;;;3057:25:151;;;3045:2;3030:18;1322:100:41;2911:177:151;3578:472:41;;;;;;:::i;:::-;;:::i;877:92::-;953:9;;877:92;;953:9;;;;3568:36:151;;3556:2;3541:18;877:92:41;3426:184:151;5427:178:41;;;:::i;1428:116::-;;;;;;:::i;:::-;-1:-1:-1;;;;;1520:17:41;1494:7;1520:17;;;:10;:17;;;;;;;1428:116;1970:41;;;;;;:::i;:::-;;;;;;;;;;;;;;775:96;;;:::i;3284:288::-;;;;;;:::i;:::-;;:::i;4239:1182::-;;;;;;:::i;:::-;;:::i;1550:142::-;;;;;;:::i;:::-;-1:-1:-1;;;;;1659:17:41;;;1633:7;1659:17;;;:10;:17;;;;;;;;:26;;;;;;;;;;;;;1550:142;677:92;725:13;757:5;750:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;677:92;:::o;3057:221::-;3167:10;3140:4;3156:22;;;:10;:22;;;;;;;;-1:-1:-1;;;;;3156:31:41;;;;;;;;;;:40;;;3212:37;3140:4;;3156:31;;3212:37;;;;3190:6;3057:25:151;;3045:2;3030:18;;2911:177;3212:37:41;;;;;;;;-1:-1:-1;3267:4:41;3057:221;;;;;:::o;2504:365::-;2611:11;;;;2610:12;2602:44;;;;-1:-1:-1;;;2602:44:41;;5508:2:151;2602:44:41;;;5490:21:151;5547:2;5527:18;;;5520:30;5586:21;5566:18;;;5559:49;5625:18;;2602:44:41;;;;;;;;;2657:5;:13;2665:5;2657;:13;:::i;:::-;-1:-1:-1;2680:7:41;:17;2690:7;2680;:17;:::i;:::-;-1:-1:-1;2707:9:41;:21;;-1:-1:-1;;2707:21:41;;;;;;;2758:14;:12;:14::i;:::-;2739:16;:33;2809:24;:22;:24::i;:::-;2782;:51;-1:-1:-1;;2844:11:41;:18;;-1:-1:-1;;2844:18:41;2858:4;2844:18;;;-1:-1:-1;2504:365:41:o;3578:472::-;-1:-1:-1;;;;;3709:16:41;;3675:4;3709:16;;;:10;:16;;;;;;;;3726:10;3709:28;;;;;;;;-1:-1:-1;;3788:22:41;;3784:80;;3843:21;3848:7;3857:6;3843:4;:21::i;:::-;-1:-1:-1;;;;;3812:16:41;;;;;;:10;:16;;;;;;;;3829:10;3812:28;;;;;;;:52;3784:80;-1:-1:-1;;;;;3899:16:41;;;;;;:10;:16;;;;;;3894:30;;3917:6;3894:4;:30::i;:::-;-1:-1:-1;;;;;3875:16:41;;;;;;;:10;:16;;;;;;:49;;;;3956:14;;;;;;;3951:28;;3972:6;3951:4;:28::i;:::-;-1:-1:-1;;;;;3934:14:41;;;;;;;:10;:14;;;;;;;:45;;;;3995:26;;;;;;;;;;4014:6;3057:25:151;;3045:2;3030:18;;2911:177;3995:26:41;;;;;;;;-1:-1:-1;4039:4:41;;3578:472;-1:-1:-1;;;;3578:472:41:o;5427:178::-;5484:7;5528:16;;5510:14;:12;:14::i;:::-;:34;:88;;5574:24;:22;:24::i;:::-;5503:95;;5427:178;:::o;5510:88::-;-1:-1:-1;5547:24:41;;;5427:178::o;775:96::-;825:13;857:7;850:14;;;;;:::i;3284:288::-;3420:10;3363:4;3409:22;;;:10;:22;;;;;;3404:36;;3433:6;3404:4;:36::i;:::-;3390:10;3379:22;;;;:10;:22;;;;;;:61;;;;-1:-1:-1;;;;;3472:14:41;;;;;;3467:28;;3488:6;3467:4;:28::i;:::-;-1:-1:-1;;;;;3450:14:41;;;;;;:10;:14;;;;;;;:45;;;;3511:32;;3520:10;;3511:32;;;;3536:6;3057:25:151;;3045:2;3030:18;;2911:177;4239:1182:41;4416:15;4404:8;:27;;4396:63;;;;-1:-1:-1;;;4396:63:41;;8060:2:151;4396:63:41;;;8042:21:151;8099:2;8079:18;;;8072:30;8138:25;8118:18;;;8111:53;8181:18;;4396:63:41;7858:347:151;4396:63:41;4470:24;4497:717;4617:18;:16;:18::i;:::-;-1:-1:-1;;;;;5026:13:41;;;;;;:6;:13;;;;;:15;;4732:157;;4919:5;;4954:7;;4991:5;;5026:15;;:13;:15;;;:::i;:::-;;;;-1:-1:-1;4692:413:41;;;;;;8826:25:151;;;;-1:-1:-1;;;;;8948:15:151;;;8928:18;;;8921:43;9000:15;;;;8980:18;;;8973:43;9032:18;;;9025:34;9075:19;;;9068:35;9119:19;;;9112:35;;;8798:19;;4692:413:41;;;;;;;;;;;;4657:470;;;;;;4547:598;;;;;;;;9428:66:151;9416:79;;9520:1;9511:11;;9504:27;;;;9556:2;9547:12;;9540:28;9593:2;9584:12;;9158:444;4547:598:41;;;;-1:-1:-1;;4547:598:41;;;;;;;;;4520:639;;4547:598;4520:639;;;;4497:717;;;;;;;;;9834:25:151;9907:4;9895:17;;9875:18;;;9868:45;9929:18;;;9922:34;;;9972:18;;;9965:34;;;9806:19;;4497:717:41;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;4497:717:41;;-1:-1:-1;;4497:717:41;;;-1:-1:-1;;;;;;;5233:30:41;;;;;;:59;;;5287:5;-1:-1:-1;;;;;5267:25:41;:16;-1:-1:-1;;;;;5267:25:41;;5233:59;5225:86;;;;-1:-1:-1;;;5225:86:41;;10212:2:151;5225:86:41;;;10194:21:151;10251:2;10231:18;;;10224:30;10290:16;10270:18;;;10263:44;10324:18;;5225:86:41;10010:338:151;5225:86:41;-1:-1:-1;;;;;5322:28:41;;;;;;;:10;:28;;;;;;;;:37;;;;;;;;;;;;;:45;;;5383:31;3057:25:151;;;5322:37:41;;5383:31;;;;;3030:18:151;5383:31:41;;;;;;;4386:1035;4239:1182;;;;;;;:::o;8017:300::-;8063:15;8140:12;;8297:13;;;;:::i;:::-;8287:23;;8080:237;;8017:300;:::o;5611:404::-;5676:7;5753:95;5882:5;5866:23;;;;;;:::i;:::-;;;;;;;;5907:14;5939;:12;:14::i;:::-;5725:273;;;;;;11461:25:151;;;;11502:18;;11495:34;;;;11545:18;;;11538:34;11588:18;;;11581:34;5979:4:41;11631:19:151;;;11624:84;11433:19;;5725:273:41;;;;;;;;;;;;5702:306;;;;;;5695:313;;5611:404;:::o;7038:154::-;7097:7;7129:1;7124;:6;;7116:47;;;;-1:-1:-1;;;7116:47:41;;11921:2:151;7116:47:41;;;11903:21:151;11960:2;11940:18;;;11933:30;11999;11979:18;;;11972:58;12047:18;;7116:47:41;11719:352:151;7116:47:41;7180:5;7184:1;7180;:5;:::i;:::-;7173:12;7038:154;-1:-1:-1;;;7038:154:41:o;6859:173::-;6918:7;;6949:5;6953:1;6949;:5;:::i;:::-;6937:17;;6977:1;6972;:6;;6964:43;;;;-1:-1:-1;;;6964:43:41;;12541:2:151;6964:43:41;;;12523:21:151;12580:2;12560:18;;;12553:30;12619:26;12599:18;;;12592:54;12663:18;;6964:43:41;12339:348:151;7735:276:41;7918:9;;7735:276::o;14:548:151:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:196::-;635:20;;-1:-1:-1;;;;;684:54:151;;674:65;;664:93;;753:1;750;743:12;664:93;567:196;;;:::o;768:254::-;836:6;844;897:2;885:9;876:7;872:23;868:32;865:52;;;913:1;910;903:12;865:52;936:29;955:9;936:29;:::i;:::-;926:39;1012:2;997:18;;;;984:32;;-1:-1:-1;;;768:254:151:o;1219:184::-;-1:-1:-1;;;1268:1:151;1261:88;1368:4;1365:1;1358:15;1392:4;1389:1;1382:15;1408:719;1451:5;1504:3;1497:4;1489:6;1485:17;1481:27;1471:55;;1522:1;1519;1512:12;1471:55;1558:6;1545:20;1584:18;1621:2;1617;1614:10;1611:36;;;1627:18;;:::i;:::-;1702:2;1696:9;1670:2;1756:13;;-1:-1:-1;;1752:22:151;;;1776:2;1748:31;1744:40;1732:53;;;1800:18;;;1820:22;;;1797:46;1794:72;;;1846:18;;:::i;:::-;1886:10;1882:2;1875:22;1921:2;1913:6;1906:18;1967:3;1960:4;1955:2;1947:6;1943:15;1939:26;1936:35;1933:55;;;1984:1;1981;1974:12;1933:55;2048:2;2041:4;2033:6;2029:17;2022:4;2014:6;2010:17;1997:54;2095:1;2088:4;2083:2;2075:6;2071:15;2067:26;2060:37;2115:6;2106:15;;;;;;1408:719;;;;:::o;2132:156::-;2198:20;;2258:4;2247:16;;2237:27;;2227:55;;2278:1;2275;2268:12;2293:613;2388:6;2396;2404;2457:2;2445:9;2436:7;2432:23;2428:32;2425:52;;;2473:1;2470;2463:12;2425:52;2513:9;2500:23;2542:18;2583:2;2575:6;2572:14;2569:34;;;2599:1;2596;2589:12;2569:34;2622:50;2664:7;2655:6;2644:9;2640:22;2622:50;:::i;:::-;2612:60;;2725:2;2714:9;2710:18;2697:32;2681:48;;2754:2;2744:8;2741:16;2738:36;;;2770:1;2767;2760:12;2738:36;;2793:52;2837:7;2826:8;2815:9;2811:24;2793:52;:::i;:::-;2783:62;;;2864:36;2896:2;2885:9;2881:18;2864:36;:::i;:::-;2854:46;;2293:613;;;;;:::o;3093:328::-;3170:6;3178;3186;3239:2;3227:9;3218:7;3214:23;3210:32;3207:52;;;3255:1;3252;3245:12;3207:52;3278:29;3297:9;3278:29;:::i;:::-;3268:39;;3326:38;3360:2;3349:9;3345:18;3326:38;:::i;:::-;3316:48;;3411:2;3400:9;3396:18;3383:32;3373:42;;3093:328;;;;;:::o;3797:186::-;3856:6;3909:2;3897:9;3888:7;3884:23;3880:32;3877:52;;;3925:1;3922;3915:12;3877:52;3948:29;3967:9;3948:29;:::i;3988:606::-;4099:6;4107;4115;4123;4131;4139;4147;4200:3;4188:9;4179:7;4175:23;4171:33;4168:53;;;4217:1;4214;4207:12;4168:53;4240:29;4259:9;4240:29;:::i;:::-;4230:39;;4288:38;4322:2;4311:9;4307:18;4288:38;:::i;:::-;4278:48;;4373:2;4362:9;4358:18;4345:32;4335:42;;4424:2;4413:9;4409:18;4396:32;4386:42;;4447:37;4479:3;4468:9;4464:19;4447:37;:::i;:::-;4437:47;;4531:3;4520:9;4516:19;4503:33;4493:43;;4583:3;4572:9;4568:19;4555:33;4545:43;;3988:606;;;;;;;;;;:::o;4599:260::-;4667:6;4675;4728:2;4716:9;4707:7;4703:23;4699:32;4696:52;;;4744:1;4741;4734:12;4696:52;4767:29;4786:9;4767:29;:::i;:::-;4757:39;;4815:38;4849:2;4838:9;4834:18;4815:38;:::i;:::-;4805:48;;4599:260;;;;;:::o;4864:437::-;4943:1;4939:12;;;;4986;;;5007:61;;5061:4;5053:6;5049:17;5039:27;;5007:61;5114:2;5106:6;5103:14;5083:18;5080:38;5077:218;;-1:-1:-1;;;5148:1:151;5141:88;5252:4;5249:1;5242:15;5280:4;5277:1;5270:15;5077:218;;4864:437;;;:::o;5780:545::-;5882:2;5877:3;5874:11;5871:448;;;5918:1;5943:5;5939:2;5932:17;5988:4;5984:2;5974:19;6058:2;6046:10;6042:19;6039:1;6035:27;6029:4;6025:38;6094:4;6082:10;6079:20;6076:47;;;-1:-1:-1;6117:4:151;6076:47;6172:2;6167:3;6163:12;6160:1;6156:20;6150:4;6146:31;6136:41;;6227:82;6245:2;6238:5;6235:13;6227:82;;;6290:17;;;6271:1;6260:13;6227:82;;;6231:3;;;5871:448;5780:545;;;:::o;6501:1352::-;6627:3;6621:10;6654:18;6646:6;6643:30;6640:56;;;6676:18;;:::i;:::-;6705:97;6795:6;6755:38;6787:4;6781:11;6755:38;:::i;:::-;6749:4;6705:97;:::i;:::-;6857:4;;6921:2;6910:14;;6938:1;6933:663;;;;7640:1;7657:6;7654:89;;;-1:-1:-1;7709:19:151;;;7703:26;7654:89;-1:-1:-1;;6458:1:151;6454:11;;;6450:24;6446:29;6436:40;6482:1;6478:11;;;6433:57;7756:81;;6903:944;;6933:663;5727:1;5720:14;;;5764:4;5751:18;;-1:-1:-1;;6969:20:151;;;7087:236;7101:7;7098:1;7095:14;7087:236;;;7190:19;;;7184:26;7169:42;;7282:27;;;;7250:1;7238:14;;;;7117:19;;7087:236;;;7091:3;7351:6;7342:7;7339:19;7336:201;;;7412:19;;;7406:26;-1:-1:-1;;7495:1:151;7491:14;;;7507:3;7487:24;7483:37;7479:42;7464:58;7449:74;;7336:201;-1:-1:-1;;;;;7583:1:151;7567:14;;;7563:22;7550:36;;-1:-1:-1;6501:1352:151:o;8210:184::-;-1:-1:-1;;;8259:1:151;8252:88;8359:4;8356:1;8349:15;8383:4;8380:1;8373:15;8399:135;8438:3;8459:17;;;8456:43;;8479:18;;:::i;:::-;-1:-1:-1;8526:1:151;8515:13;;8399:135::o;10353:844::-;10483:3;10512:1;10545:6;10539:13;10575:36;10601:9;10575:36;:::i;:::-;10630:1;10647:18;;;10674:133;;;;10821:1;10816:356;;;;10640:532;;10674:133;-1:-1:-1;;10707:24:151;;10695:37;;10780:14;;10773:22;10761:35;;10752:45;;;-1:-1:-1;10674:133:151;;10816:356;10847:6;10844:1;10837:17;10877:4;10922:2;10919:1;10909:16;10947:1;10961:165;10975:6;10972:1;10969:13;10961:165;;;11053:14;;11040:11;;;11033:35;11096:16;;;;10990:10;;10961:165;;;10965:3;;;11155:6;11150:3;11146:16;11139:23;;10640:532;-1:-1:-1;11188:3:151;;10353:844;-1:-1:-1;;;;;;10353:844:151:o;12076:128::-;12143:9;;;12164:11;;;12161:37;;;12178:18;;:::i;12209:125::-;12274:9;;;12295:10;;;12292:36;;;12308:18;;:::i","linkReferences":{}},"methodIdentifiers":{"DOMAIN_SEPARATOR()":"3644e515","allowance(address,address)":"dd62ed3e","approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","decimals()":"313ce567","initialize(string,string,uint8)":"1624f6c6","name()":"06fdde03","nonces(address)":"7ecebe00","permit(address,address,uint256,uint256,uint8,bytes32,bytes32)":"d505accf","symbol()":"95d89b41","totalSupply()":"18160ddd","transfer(address,uint256)":"a9059cbb","transferFrom(address,address,uint256)":"23b872dd"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"DOMAIN_SEPARATOR\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name_\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"symbol_\",\"type\":\"string\"},{\"internalType\":\"uint8\",\"name\":\"decimals_\",\"type\":\"uint8\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"nonces\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"name\":\"permit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Forked from: https://github.com/transmissions11/solmate/blob/0384dbaaa4fcb5715738a9254a7c0a4cb62cf458/src/tokens/ERC20.sol\",\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when the allowance of a `spender` for an `owner` is set, where `value` is the new allowance.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `value` tokens are moved from one account (`from`) to another (`to`).\"}},\"kind\":\"dev\",\"methods\":{\"approve(address,uint256)\":{\"details\":\"Be aware of front-running risks: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729\"},\"initialize(string,string,uint8)\":{\"details\":\"To hide constructor warnings across solc versions due to different constructor visibility requirements and syntaxes, we add an initialization function that can be called only once.\"}},\"stateVariables\":{\"initialized\":{\"details\":\"A bool to track whether the contract has been initialized.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"allowance(address,address)\":{\"notice\":\"Returns the remaining number of tokens that `spender` is allowed to spend on behalf of `owner`\"},\"approve(address,uint256)\":{\"notice\":\"Sets `amount` as the allowance of `spender` over the caller's tokens.\"},\"decimals()\":{\"notice\":\"Returns the decimals places of the token.\"},\"name()\":{\"notice\":\"Returns the name of the token.\"},\"symbol()\":{\"notice\":\"Returns the symbol of the token.\"},\"totalSupply()\":{\"notice\":\"Returns the amount of tokens in existence.\"},\"transfer(address,uint256)\":{\"notice\":\"Moves `amount` tokens from the caller's account to `to`.\"},\"transferFrom(address,address,uint256)\":{\"notice\":\"Moves `amount` tokens from `from` to `to` using the allowance mechanism. `amount` is then deducted from the caller's allowance.\"}},\"notice\":\"This is a mock contract of the ERC20 standard for testing purposes only, it SHOULD NOT be used in production.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/mocks/MockERC20.sol\":\"MockERC20\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1000},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":eas-proxy/=lib/allo-v2/lib/eas-proxy/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":hedgey-vesting/=lib/allo-v2/lib/hedgey-vesting/contracts/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-contracts/=lib/safe-contracts/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":superfluid-protocol-monorepo/=lib/allo-v2/lib/superfluid-protocol-monorepo/packages/solidity-semantic-money/src/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"]},\"sources\":{\"lib/forge-std/src/interfaces/IERC20.sol\":{\"keccak256\":\"0x4cab887298790f908c27de107e4e2907ca5413aee482ef776f8d2f353c5ef947\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb715e0c4a2bdbe432bb624501506041f06e878e0b72675aebba30ad2c2b72e7\",\"dweb:/ipfs/QmWhhLSvkxS2NrukJJHqFY8gDVE5r9rD4PfHvR24pwdKv9\"]},\"lib/forge-std/src/mocks/MockERC20.sol\":{\"keccak256\":\"0xadbdfc6639edec00ba94bb1133a0fd8de31ccafe45c2ef5df9b3ca61b60b559b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc766f01bccf669abac8cc7b2096cc1352a66471ca3772ae61b1801dedc4ed4f\",\"dweb:/ipfs/QmNigaPj1LYkP7Z5xr4ijkUxr2K66fDGeoifG3WoM9ruyw\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"address","name":"spender","type":"address","indexed":true},{"internalType":"uint256","name":"value","type":"uint256","indexed":false}],"type":"event","name":"Approval","anonymous":false},{"inputs":[{"internalType":"address","name":"from","type":"address","indexed":true},{"internalType":"address","name":"to","type":"address","indexed":true},{"internalType":"uint256","name":"value","type":"uint256","indexed":false}],"type":"event","name":"Transfer","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"DOMAIN_SEPARATOR","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"stateMutability":"view","type":"function","name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"stateMutability":"view","type":"function","name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}]},{"inputs":[{"internalType":"string","name":"name_","type":"string"},{"internalType":"string","name":"symbol_","type":"string"},{"internalType":"uint8","name":"decimals_","type":"uint8"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[],"stateMutability":"view","type":"function","name":"name","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function","name":"nonces","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"uint256","name":"deadline","type":"uint256"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"permit"},{"inputs":[],"stateMutability":"view","type":"function","name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}]}],"devdoc":{"kind":"dev","methods":{"approve(address,uint256)":{"details":"Be aware of front-running risks: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729"},"initialize(string,string,uint8)":{"details":"To hide constructor warnings across solc versions due to different constructor visibility requirements and syntaxes, we add an initialization function that can be called only once."}},"version":1},"userdoc":{"kind":"user","methods":{"allowance(address,address)":{"notice":"Returns the remaining number of tokens that `spender` is allowed to spend on behalf of `owner`"},"approve(address,uint256)":{"notice":"Sets `amount` as the allowance of `spender` over the caller's tokens."},"decimals()":{"notice":"Returns the decimals places of the token."},"name()":{"notice":"Returns the name of the token."},"symbol()":{"notice":"Returns the symbol of the token."},"totalSupply()":{"notice":"Returns the amount of tokens in existence."},"transfer(address,uint256)":{"notice":"Moves `amount` tokens from the caller's account to `to`."},"transferFrom(address,address,uint256)":{"notice":"Moves `amount` tokens from `from` to `to` using the allowance mechanism. `amount` is then deducted from the caller's allowance."}},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","eas-proxy/=lib/allo-v2/lib/eas-proxy/contracts/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","hedgey-vesting/=lib/allo-v2/lib/hedgey-vesting/contracts/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-contracts/=lib/safe-contracts/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","superfluid-protocol-monorepo/=lib/allo-v2/lib/superfluid-protocol-monorepo/packages/solidity-semantic-money/src/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":1000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib/forge-std/src/mocks/MockERC20.sol":"MockERC20"},"evmVersion":"paris","libraries":{}},"sources":{"lib/forge-std/src/interfaces/IERC20.sol":{"keccak256":"0x4cab887298790f908c27de107e4e2907ca5413aee482ef776f8d2f353c5ef947","urls":["bzz-raw://bb715e0c4a2bdbe432bb624501506041f06e878e0b72675aebba30ad2c2b72e7","dweb:/ipfs/QmWhhLSvkxS2NrukJJHqFY8gDVE5r9rD4PfHvR24pwdKv9"],"license":"MIT"},"lib/forge-std/src/mocks/MockERC20.sol":{"keccak256":"0xadbdfc6639edec00ba94bb1133a0fd8de31ccafe45c2ef5df9b3ca61b60b559b","urls":["bzz-raw://bc766f01bccf669abac8cc7b2096cc1352a66471ca3772ae61b1801dedc4ed4f","dweb:/ipfs/QmNigaPj1LYkP7Z5xr4ijkUxr2K66fDGeoifG3WoM9ruyw"],"license":"MIT"}},"version":1},"storageLayout":{"storage":[{"astId":38137,"contract":"lib/forge-std/src/mocks/MockERC20.sol:MockERC20","label":"_name","offset":0,"slot":"0","type":"t_string_storage"},{"astId":38139,"contract":"lib/forge-std/src/mocks/MockERC20.sol:MockERC20","label":"_symbol","offset":0,"slot":"1","type":"t_string_storage"},{"astId":38141,"contract":"lib/forge-std/src/mocks/MockERC20.sol:MockERC20","label":"_decimals","offset":0,"slot":"2","type":"t_uint8"},{"astId":38170,"contract":"lib/forge-std/src/mocks/MockERC20.sol:MockERC20","label":"_totalSupply","offset":0,"slot":"3","type":"t_uint256"},{"astId":38174,"contract":"lib/forge-std/src/mocks/MockERC20.sol:MockERC20","label":"_balanceOf","offset":0,"slot":"4","type":"t_mapping(t_address,t_uint256)"},{"astId":38180,"contract":"lib/forge-std/src/mocks/MockERC20.sol:MockERC20","label":"_allowance","offset":0,"slot":"5","type":"t_mapping(t_address,t_mapping(t_address,t_uint256))"},{"astId":38221,"contract":"lib/forge-std/src/mocks/MockERC20.sol:MockERC20","label":"INITIAL_CHAIN_ID","offset":0,"slot":"6","type":"t_uint256"},{"astId":38223,"contract":"lib/forge-std/src/mocks/MockERC20.sol:MockERC20","label":"INITIAL_DOMAIN_SEPARATOR","offset":0,"slot":"7","type":"t_bytes32"},{"astId":38227,"contract":"lib/forge-std/src/mocks/MockERC20.sol:MockERC20","label":"nonces","offset":0,"slot":"8","type":"t_mapping(t_address,t_uint256)"},{"astId":38230,"contract":"lib/forge-std/src/mocks/MockERC20.sol:MockERC20","label":"initialized","offset":0,"slot":"9","type":"t_bool"}],"types":{"t_address":{"encoding":"inplace","label":"address","numberOfBytes":"20"},"t_bool":{"encoding":"inplace","label":"bool","numberOfBytes":"1"},"t_bytes32":{"encoding":"inplace","label":"bytes32","numberOfBytes":"32"},"t_mapping(t_address,t_mapping(t_address,t_uint256))":{"encoding":"mapping","key":"t_address","label":"mapping(address => mapping(address => uint256))","numberOfBytes":"32","value":"t_mapping(t_address,t_uint256)"},"t_mapping(t_address,t_uint256)":{"encoding":"mapping","key":"t_address","label":"mapping(address => uint256)","numberOfBytes":"32","value":"t_uint256"},"t_string_storage":{"encoding":"bytes","label":"string","numberOfBytes":"32"},"t_uint256":{"encoding":"inplace","label":"uint256","numberOfBytes":"32"},"t_uint8":{"encoding":"inplace","label":"uint8","numberOfBytes":"1"}}},"ast":{"absolutePath":"lib/forge-std/src/mocks/MockERC20.sol","id":38706,"exportedSymbols":{"IERC20":[37781],"MockERC20":[38705]},"nodeType":"SourceUnit","src":"32:8288:41","nodes":[{"id":38130,"nodeType":"PragmaDirective","src":"32:31:41","nodes":[],"literals":["solidity",">=","0.6",".2","<","0.9",".0"]},{"id":38132,"nodeType":"ImportDirective","src":"65:48:41","nodes":[],"absolutePath":"lib/forge-std/src/interfaces/IERC20.sol","file":"../interfaces/IERC20.sol","nameLocation":"-1:-1:-1","scope":38706,"sourceUnit":37782,"symbolAliases":[{"foreign":{"id":38131,"name":"IERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37781,"src":"73:6:41","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":38705,"nodeType":"ContractDefinition","src":"369:7950:41","nodes":[{"id":38137,"nodeType":"VariableDeclaration","src":"588:21:41","nodes":[],"constant":false,"mutability":"mutable","name":"_name","nameLocation":"604:5:41","scope":38705,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string"},"typeName":{"id":38136,"name":"string","nodeType":"ElementaryTypeName","src":"588:6:41","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"id":38139,"nodeType":"VariableDeclaration","src":"616:23:41","nodes":[],"constant":false,"mutability":"mutable","name":"_symbol","nameLocation":"632:7:41","scope":38705,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string"},"typeName":{"id":38138,"name":"string","nodeType":"ElementaryTypeName","src":"616:6:41","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"id":38141,"nodeType":"VariableDeclaration","src":"646:24:41","nodes":[],"constant":false,"mutability":"mutable","name":"_decimals","nameLocation":"661:9:41","scope":38705,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":38140,"name":"uint8","nodeType":"ElementaryTypeName","src":"646:5:41","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"id":38150,"nodeType":"FunctionDefinition","src":"677:92:41","nodes":[],"body":{"id":38149,"nodeType":"Block","src":"740:29:41","nodes":[],"statements":[{"expression":{"id":38147,"name":"_name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38137,"src":"757:5:41","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"functionReturnParameters":38146,"id":38148,"nodeType":"Return","src":"750:12:41"}]},"baseFunctions":[37768],"functionSelector":"06fdde03","implemented":true,"kind":"function","modifiers":[],"name":"name","nameLocation":"686:4:41","overrides":{"id":38143,"nodeType":"OverrideSpecifier","overrides":[],"src":"707:8:41"},"parameters":{"id":38142,"nodeType":"ParameterList","parameters":[],"src":"690:2:41"},"returnParameters":{"id":38146,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38145,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":38150,"src":"725:13:41","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":38144,"name":"string","nodeType":"ElementaryTypeName","src":"725:6:41","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"724:15:41"},"scope":38705,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":38159,"nodeType":"FunctionDefinition","src":"775:96:41","nodes":[],"body":{"id":38158,"nodeType":"Block","src":"840:31:41","nodes":[],"statements":[{"expression":{"id":38156,"name":"_symbol","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38139,"src":"857:7:41","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"functionReturnParameters":38155,"id":38157,"nodeType":"Return","src":"850:14:41"}]},"baseFunctions":[37774],"functionSelector":"95d89b41","implemented":true,"kind":"function","modifiers":[],"name":"symbol","nameLocation":"784:6:41","overrides":{"id":38152,"nodeType":"OverrideSpecifier","overrides":[],"src":"807:8:41"},"parameters":{"id":38151,"nodeType":"ParameterList","parameters":[],"src":"790:2:41"},"returnParameters":{"id":38155,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38154,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":38159,"src":"825:13:41","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":38153,"name":"string","nodeType":"ElementaryTypeName","src":"825:6:41","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"824:15:41"},"scope":38705,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":38168,"nodeType":"FunctionDefinition","src":"877:92:41","nodes":[],"body":{"id":38167,"nodeType":"Block","src":"936:33:41","nodes":[],"statements":[{"expression":{"id":38165,"name":"_decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38141,"src":"953:9:41","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"functionReturnParameters":38164,"id":38166,"nodeType":"Return","src":"946:16:41"}]},"baseFunctions":[37780],"functionSelector":"313ce567","implemented":true,"kind":"function","modifiers":[],"name":"decimals","nameLocation":"886:8:41","overrides":{"id":38161,"nodeType":"OverrideSpecifier","overrides":[],"src":"911:8:41"},"parameters":{"id":38160,"nodeType":"ParameterList","parameters":[],"src":"894:2:41"},"returnParameters":{"id":38164,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38163,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":38168,"src":"929:5:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":38162,"name":"uint8","nodeType":"ElementaryTypeName","src":"929:5:41","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"928:7:41"},"scope":38705,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":38170,"nodeType":"VariableDeclaration","src":"1158:29:41","nodes":[],"constant":false,"mutability":"mutable","name":"_totalSupply","nameLocation":"1175:12:41","scope":38705,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38169,"name":"uint256","nodeType":"ElementaryTypeName","src":"1158:7:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"id":38174,"nodeType":"VariableDeclaration","src":"1194:47:41","nodes":[],"constant":false,"mutability":"mutable","name":"_balanceOf","nameLocation":"1231:10:41","scope":38705,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"typeName":{"id":38173,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":38171,"name":"address","nodeType":"ElementaryTypeName","src":"1202:7:41","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"1194:27:41","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":38172,"name":"uint256","nodeType":"ElementaryTypeName","src":"1213:7:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"internal"},{"id":38180,"nodeType":"VariableDeclaration","src":"1248:67:41","nodes":[],"constant":false,"mutability":"mutable","name":"_allowance","nameLocation":"1305:10:41","scope":38705,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"},"typeName":{"id":38179,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":38175,"name":"address","nodeType":"ElementaryTypeName","src":"1256:7:41","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"1248:47:41","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":38178,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":38176,"name":"address","nodeType":"ElementaryTypeName","src":"1275:7:41","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"1267:27:41","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":38177,"name":"uint256","nodeType":"ElementaryTypeName","src":"1286:7:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}}},"visibility":"internal"},{"id":38189,"nodeType":"FunctionDefinition","src":"1322:100:41","nodes":[],"body":{"id":38188,"nodeType":"Block","src":"1386:36:41","nodes":[],"statements":[{"expression":{"id":38186,"name":"_totalSupply","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38170,"src":"1403:12:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":38185,"id":38187,"nodeType":"Return","src":"1396:19:41"}]},"baseFunctions":[37712],"functionSelector":"18160ddd","implemented":true,"kind":"function","modifiers":[],"name":"totalSupply","nameLocation":"1331:11:41","overrides":{"id":38182,"nodeType":"OverrideSpecifier","overrides":[],"src":"1359:8:41"},"parameters":{"id":38181,"nodeType":"ParameterList","parameters":[],"src":"1342:2:41"},"returnParameters":{"id":38185,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38184,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":38189,"src":"1377:7:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38183,"name":"uint256","nodeType":"ElementaryTypeName","src":"1377:7:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1376:9:41"},"scope":38705,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":38202,"nodeType":"FunctionDefinition","src":"1428:116:41","nodes":[],"body":{"id":38201,"nodeType":"Block","src":"1503:41:41","nodes":[],"statements":[{"expression":{"baseExpression":{"id":38197,"name":"_balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38174,"src":"1520:10:41","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":38199,"indexExpression":{"id":38198,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38191,"src":"1531:5:41","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"1520:17:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":38196,"id":38200,"nodeType":"Return","src":"1513:24:41"}]},"baseFunctions":[37720],"functionSelector":"70a08231","implemented":true,"kind":"function","modifiers":[],"name":"balanceOf","nameLocation":"1437:9:41","overrides":{"id":38193,"nodeType":"OverrideSpecifier","overrides":[],"src":"1476:8:41"},"parameters":{"id":38192,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38191,"mutability":"mutable","name":"owner","nameLocation":"1455:5:41","nodeType":"VariableDeclaration","scope":38202,"src":"1447:13:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":38190,"name":"address","nodeType":"ElementaryTypeName","src":"1447:7:41","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1446:15:41"},"returnParameters":{"id":38196,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38195,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":38202,"src":"1494:7:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38194,"name":"uint256","nodeType":"ElementaryTypeName","src":"1494:7:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1493:9:41"},"scope":38705,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":38219,"nodeType":"FunctionDefinition","src":"1550:142:41","nodes":[],"body":{"id":38218,"nodeType":"Block","src":"1642:50:41","nodes":[],"statements":[{"expression":{"baseExpression":{"baseExpression":{"id":38212,"name":"_allowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38180,"src":"1659:10:41","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"}},"id":38214,"indexExpression":{"id":38213,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38204,"src":"1670:5:41","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"1659:17:41","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":38216,"indexExpression":{"id":38215,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38206,"src":"1677:7:41","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"1659:26:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":38211,"id":38217,"nodeType":"Return","src":"1652:33:41"}]},"baseFunctions":[37740],"functionSelector":"dd62ed3e","implemented":true,"kind":"function","modifiers":[],"name":"allowance","nameLocation":"1559:9:41","overrides":{"id":38208,"nodeType":"OverrideSpecifier","overrides":[],"src":"1615:8:41"},"parameters":{"id":38207,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38204,"mutability":"mutable","name":"owner","nameLocation":"1577:5:41","nodeType":"VariableDeclaration","scope":38219,"src":"1569:13:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":38203,"name":"address","nodeType":"ElementaryTypeName","src":"1569:7:41","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":38206,"mutability":"mutable","name":"spender","nameLocation":"1592:7:41","nodeType":"VariableDeclaration","scope":38219,"src":"1584:15:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":38205,"name":"address","nodeType":"ElementaryTypeName","src":"1584:7:41","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1568:32:41"},"returnParameters":{"id":38211,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38210,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":38219,"src":"1633:7:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38209,"name":"uint256","nodeType":"ElementaryTypeName","src":"1633:7:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1632:9:41"},"scope":38705,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":38221,"nodeType":"VariableDeclaration","src":"1882:33:41","nodes":[],"constant":false,"mutability":"mutable","name":"INITIAL_CHAIN_ID","nameLocation":"1899:16:41","scope":38705,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38220,"name":"uint256","nodeType":"ElementaryTypeName","src":"1882:7:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"id":38223,"nodeType":"VariableDeclaration","src":"1922:41:41","nodes":[],"constant":false,"mutability":"mutable","name":"INITIAL_DOMAIN_SEPARATOR","nameLocation":"1939:24:41","scope":38705,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38222,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1922:7:41","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"id":38227,"nodeType":"VariableDeclaration","src":"1970:41:41","nodes":[],"constant":false,"functionSelector":"7ecebe00","mutability":"mutable","name":"nonces","nameLocation":"2005:6:41","scope":38705,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"typeName":{"id":38226,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":38224,"name":"address","nodeType":"ElementaryTypeName","src":"1978:7:41","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"1970:27:41","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":38225,"name":"uint256","nodeType":"ElementaryTypeName","src":"1989:7:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"public"},{"id":38230,"nodeType":"VariableDeclaration","src":"2271:24:41","nodes":[],"constant":false,"documentation":{"id":38228,"nodeType":"StructuredDocumentation","src":"2199:67:41","text":"@dev A bool to track whether the contract has been initialized."},"mutability":"mutable","name":"initialized","nameLocation":"2284:11:41","scope":38705,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":38229,"name":"bool","nodeType":"ElementaryTypeName","src":"2271:4:41","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"private"},{"id":38273,"nodeType":"FunctionDefinition","src":"2504:365:41","nodes":[],"body":{"id":38272,"nodeType":"Block","src":"2592:277:41","nodes":[],"statements":[{"expression":{"arguments":[{"id":38242,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"2610:12:41","subExpression":{"id":38241,"name":"initialized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38230,"src":"2611:11:41","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"414c52454144595f494e495449414c495a4544","id":38243,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2624:21:41","typeDescriptions":{"typeIdentifier":"t_stringliteral_241395e6b20092ec3fd5dfc22ea70fc2615c08854b7fd10fb3028d965cf738f3","typeString":"literal_string \"ALREADY_INITIALIZED\""},"value":"ALREADY_INITIALIZED"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_241395e6b20092ec3fd5dfc22ea70fc2615c08854b7fd10fb3028d965cf738f3","typeString":"literal_string \"ALREADY_INITIALIZED\""}],"id":38240,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"2602:7:41","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":38244,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2602:44:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":38245,"nodeType":"ExpressionStatement","src":"2602:44:41"},{"expression":{"id":38248,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":38246,"name":"_name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38137,"src":"2657:5:41","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":38247,"name":"name_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38233,"src":"2665:5:41","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"2657:13:41","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"id":38249,"nodeType":"ExpressionStatement","src":"2657:13:41"},{"expression":{"id":38252,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":38250,"name":"_symbol","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38139,"src":"2680:7:41","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":38251,"name":"symbol_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38235,"src":"2690:7:41","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"2680:17:41","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"id":38253,"nodeType":"ExpressionStatement","src":"2680:17:41"},{"expression":{"id":38256,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":38254,"name":"_decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38141,"src":"2707:9:41","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":38255,"name":"decimals_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38237,"src":"2719:9:41","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"2707:21:41","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":38257,"nodeType":"ExpressionStatement","src":"2707:21:41"},{"expression":{"id":38261,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":38258,"name":"INITIAL_CHAIN_ID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38221,"src":"2739:16:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[],"expression":{"argumentTypes":[],"id":38259,"name":"_pureChainId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38704,"src":"2758:12:41","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_uint256_$","typeString":"function () pure returns (uint256)"}},"id":38260,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2758:14:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2739:33:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":38262,"nodeType":"ExpressionStatement","src":"2739:33:41"},{"expression":{"id":38266,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":38263,"name":"INITIAL_DOMAIN_SEPARATOR","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38223,"src":"2782:24:41","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[],"expression":{"argumentTypes":[],"id":38264,"name":"computeDomainSeparator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38549,"src":"2809:22:41","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_bytes32_$","typeString":"function () view returns (bytes32)"}},"id":38265,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2809:24:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"2782:51:41","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":38267,"nodeType":"ExpressionStatement","src":"2782:51:41"},{"expression":{"id":38270,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":38268,"name":"initialized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38230,"src":"2844:11:41","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":38269,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"2858:4:41","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"2844:18:41","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":38271,"nodeType":"ExpressionStatement","src":"2844:18:41"}]},"documentation":{"id":38231,"nodeType":"StructuredDocumentation","src":"2302:197:41","text":"@dev To hide constructor warnings across solc versions due to different constructor visibility requirements and\n syntaxes, we add an initialization function that can be called only once."},"functionSelector":"1624f6c6","implemented":true,"kind":"function","modifiers":[],"name":"initialize","nameLocation":"2513:10:41","parameters":{"id":38238,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38233,"mutability":"mutable","name":"name_","nameLocation":"2538:5:41","nodeType":"VariableDeclaration","scope":38273,"src":"2524:19:41","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":38232,"name":"string","nodeType":"ElementaryTypeName","src":"2524:6:41","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":38235,"mutability":"mutable","name":"symbol_","nameLocation":"2559:7:41","nodeType":"VariableDeclaration","scope":38273,"src":"2545:21:41","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":38234,"name":"string","nodeType":"ElementaryTypeName","src":"2545:6:41","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":38237,"mutability":"mutable","name":"decimals_","nameLocation":"2574:9:41","nodeType":"VariableDeclaration","scope":38273,"src":"2568:15:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":38236,"name":"uint8","nodeType":"ElementaryTypeName","src":"2568:5:41","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"2523:61:41"},"returnParameters":{"id":38239,"nodeType":"ParameterList","parameters":[],"src":"2592:0:41"},"scope":38705,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":38302,"nodeType":"FunctionDefinition","src":"3057:221:41","nodes":[],"body":{"id":38301,"nodeType":"Block","src":"3146:132:41","nodes":[],"statements":[{"expression":{"id":38290,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"id":38283,"name":"_allowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38180,"src":"3156:10:41","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"}},"id":38287,"indexExpression":{"expression":{"id":38284,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"3167:3:41","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":38285,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3171:6:41","memberName":"sender","nodeType":"MemberAccess","src":"3167:10:41","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3156:22:41","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":38288,"indexExpression":{"id":38286,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38275,"src":"3179:7:41","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3156:31:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":38289,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38277,"src":"3190:6:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3156:40:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":38291,"nodeType":"ExpressionStatement","src":"3156:40:41"},{"eventCall":{"arguments":[{"expression":{"id":38293,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"3221:3:41","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":38294,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3225:6:41","memberName":"sender","nodeType":"MemberAccess","src":"3221:10:41","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":38295,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38275,"src":"3233:7:41","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":38296,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38277,"src":"3242:6:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":38292,"name":"Approval","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37706,"src":"3212:8:41","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":38297,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3212:37:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":38298,"nodeType":"EmitStatement","src":"3207:42:41"},{"expression":{"hexValue":"74727565","id":38299,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"3267:4:41","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":38282,"id":38300,"nodeType":"Return","src":"3260:11:41"}]},"baseFunctions":[37750],"functionSelector":"095ea7b3","implemented":true,"kind":"function","modifiers":[],"name":"approve","nameLocation":"3066:7:41","overrides":{"id":38279,"nodeType":"OverrideSpecifier","overrides":[],"src":"3122:8:41"},"parameters":{"id":38278,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38275,"mutability":"mutable","name":"spender","nameLocation":"3082:7:41","nodeType":"VariableDeclaration","scope":38302,"src":"3074:15:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":38274,"name":"address","nodeType":"ElementaryTypeName","src":"3074:7:41","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":38277,"mutability":"mutable","name":"amount","nameLocation":"3099:6:41","nodeType":"VariableDeclaration","scope":38302,"src":"3091:14:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38276,"name":"uint256","nodeType":"ElementaryTypeName","src":"3091:7:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3073:33:41"},"returnParameters":{"id":38282,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38281,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":38302,"src":"3140:4:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":38280,"name":"bool","nodeType":"ElementaryTypeName","src":"3140:4:41","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"3139:6:41"},"scope":38705,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":38346,"nodeType":"FunctionDefinition","src":"3284:288:41","nodes":[],"body":{"id":38345,"nodeType":"Block","src":"3369:203:41","nodes":[],"statements":[{"expression":{"id":38323,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":38312,"name":"_balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38174,"src":"3379:10:41","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":38315,"indexExpression":{"expression":{"id":38313,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"3390:3:41","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":38314,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3394:6:41","memberName":"sender","nodeType":"MemberAccess","src":"3390:10:41","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3379:22:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"baseExpression":{"id":38317,"name":"_balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38174,"src":"3409:10:41","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":38320,"indexExpression":{"expression":{"id":38318,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"3420:3:41","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":38319,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3424:6:41","memberName":"sender","nodeType":"MemberAccess","src":"3420:10:41","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3409:22:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":38321,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38306,"src":"3433:6:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":38316,"name":"_sub","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38665,"src":"3404:4:41","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":38322,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3404:36:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3379:61:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":38324,"nodeType":"ExpressionStatement","src":"3379:61:41"},{"expression":{"id":38334,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":38325,"name":"_balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38174,"src":"3450:10:41","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":38327,"indexExpression":{"id":38326,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38304,"src":"3461:2:41","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3450:14:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"baseExpression":{"id":38329,"name":"_balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38174,"src":"3472:10:41","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":38331,"indexExpression":{"id":38330,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38304,"src":"3483:2:41","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3472:14:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":38332,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38306,"src":"3488:6:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":38328,"name":"_add","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38644,"src":"3467:4:41","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":38333,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3467:28:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3450:45:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":38335,"nodeType":"ExpressionStatement","src":"3450:45:41"},{"eventCall":{"arguments":[{"expression":{"id":38337,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"3520:3:41","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":38338,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3524:6:41","memberName":"sender","nodeType":"MemberAccess","src":"3520:10:41","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":38339,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38304,"src":"3532:2:41","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":38340,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38306,"src":"3536:6:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":38336,"name":"Transfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37697,"src":"3511:8:41","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":38341,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3511:32:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":38342,"nodeType":"EmitStatement","src":"3506:37:41"},{"expression":{"hexValue":"74727565","id":38343,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"3561:4:41","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":38311,"id":38344,"nodeType":"Return","src":"3554:11:41"}]},"baseFunctions":[37730],"functionSelector":"a9059cbb","implemented":true,"kind":"function","modifiers":[],"name":"transfer","nameLocation":"3293:8:41","overrides":{"id":38308,"nodeType":"OverrideSpecifier","overrides":[],"src":"3345:8:41"},"parameters":{"id":38307,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38304,"mutability":"mutable","name":"to","nameLocation":"3310:2:41","nodeType":"VariableDeclaration","scope":38346,"src":"3302:10:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":38303,"name":"address","nodeType":"ElementaryTypeName","src":"3302:7:41","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":38306,"mutability":"mutable","name":"amount","nameLocation":"3322:6:41","nodeType":"VariableDeclaration","scope":38346,"src":"3314:14:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38305,"name":"uint256","nodeType":"ElementaryTypeName","src":"3314:7:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3301:28:41"},"returnParameters":{"id":38311,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38310,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":38346,"src":"3363:4:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":38309,"name":"bool","nodeType":"ElementaryTypeName","src":"3363:4:41","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"3362:6:41"},"scope":38705,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":38418,"nodeType":"FunctionDefinition","src":"3578:472:41","nodes":[],"body":{"id":38417,"nodeType":"Block","src":"3681:369:41","nodes":[],"statements":[{"assignments":[38359],"declarations":[{"constant":false,"id":38359,"mutability":"mutable","name":"allowed","nameLocation":"3699:7:41","nodeType":"VariableDeclaration","scope":38417,"src":"3691:15:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38358,"name":"uint256","nodeType":"ElementaryTypeName","src":"3691:7:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":38366,"initialValue":{"baseExpression":{"baseExpression":{"id":38360,"name":"_allowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38180,"src":"3709:10:41","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"}},"id":38362,"indexExpression":{"id":38361,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38348,"src":"3720:4:41","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3709:16:41","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":38365,"indexExpression":{"expression":{"id":38363,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"3726:3:41","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":38364,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3730:6:41","memberName":"sender","nodeType":"MemberAccess","src":"3726:10:41","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3709:28:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"3691:46:41"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":38373,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":38367,"name":"allowed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38359,"src":"3788:7:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":38372,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"~","prefix":true,"src":"3799:11:41","subExpression":{"arguments":[{"hexValue":"30","id":38370,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3808:1:41","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":38369,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3800:7:41","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":38368,"name":"uint256","nodeType":"ElementaryTypeName","src":"3800:7:41","typeDescriptions":{}}},"id":38371,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3800:10:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3788:22:41","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":38386,"nodeType":"IfStatement","src":"3784:80:41","trueBody":{"expression":{"id":38384,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"id":38374,"name":"_allowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38180,"src":"3812:10:41","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"}},"id":38378,"indexExpression":{"id":38375,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38348,"src":"3823:4:41","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3812:16:41","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":38379,"indexExpression":{"expression":{"id":38376,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"3829:3:41","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":38377,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3833:6:41","memberName":"sender","nodeType":"MemberAccess","src":"3829:10:41","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3812:28:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":38381,"name":"allowed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38359,"src":"3848:7:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":38382,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38352,"src":"3857:6:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":38380,"name":"_sub","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38665,"src":"3843:4:41","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":38383,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3843:21:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3812:52:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":38385,"nodeType":"ExpressionStatement","src":"3812:52:41"}},{"expression":{"id":38396,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":38387,"name":"_balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38174,"src":"3875:10:41","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":38389,"indexExpression":{"id":38388,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38348,"src":"3886:4:41","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3875:16:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"baseExpression":{"id":38391,"name":"_balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38174,"src":"3899:10:41","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":38393,"indexExpression":{"id":38392,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38348,"src":"3910:4:41","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3899:16:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":38394,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38352,"src":"3917:6:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":38390,"name":"_sub","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38665,"src":"3894:4:41","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":38395,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3894:30:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3875:49:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":38397,"nodeType":"ExpressionStatement","src":"3875:49:41"},{"expression":{"id":38407,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":38398,"name":"_balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38174,"src":"3934:10:41","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":38400,"indexExpression":{"id":38399,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38350,"src":"3945:2:41","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3934:14:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"baseExpression":{"id":38402,"name":"_balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38174,"src":"3956:10:41","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":38404,"indexExpression":{"id":38403,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38350,"src":"3967:2:41","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3956:14:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":38405,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38352,"src":"3972:6:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":38401,"name":"_add","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38644,"src":"3951:4:41","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":38406,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3951:28:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3934:45:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":38408,"nodeType":"ExpressionStatement","src":"3934:45:41"},{"eventCall":{"arguments":[{"id":38410,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38348,"src":"4004:4:41","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":38411,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38350,"src":"4010:2:41","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":38412,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38352,"src":"4014:6:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":38409,"name":"Transfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37697,"src":"3995:8:41","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":38413,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3995:26:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":38414,"nodeType":"EmitStatement","src":"3990:31:41"},{"expression":{"hexValue":"74727565","id":38415,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"4039:4:41","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":38357,"id":38416,"nodeType":"Return","src":"4032:11:41"}]},"baseFunctions":[37762],"functionSelector":"23b872dd","implemented":true,"kind":"function","modifiers":[],"name":"transferFrom","nameLocation":"3587:12:41","overrides":{"id":38354,"nodeType":"OverrideSpecifier","overrides":[],"src":"3657:8:41"},"parameters":{"id":38353,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38348,"mutability":"mutable","name":"from","nameLocation":"3608:4:41","nodeType":"VariableDeclaration","scope":38418,"src":"3600:12:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":38347,"name":"address","nodeType":"ElementaryTypeName","src":"3600:7:41","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":38350,"mutability":"mutable","name":"to","nameLocation":"3622:2:41","nodeType":"VariableDeclaration","scope":38418,"src":"3614:10:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":38349,"name":"address","nodeType":"ElementaryTypeName","src":"3614:7:41","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":38352,"mutability":"mutable","name":"amount","nameLocation":"3634:6:41","nodeType":"VariableDeclaration","scope":38418,"src":"3626:14:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38351,"name":"uint256","nodeType":"ElementaryTypeName","src":"3626:7:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3599:42:41"},"returnParameters":{"id":38357,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38356,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":38418,"src":"3675:4:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":38355,"name":"bool","nodeType":"ElementaryTypeName","src":"3675:4:41","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"3674:6:41"},"scope":38705,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":38504,"nodeType":"FunctionDefinition","src":"4239:1182:41","nodes":[],"body":{"id":38503,"nodeType":"Block","src":"4386:1035:41","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":38439,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":38436,"name":"deadline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38426,"src":"4404:8:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"expression":{"id":38437,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"4416:5:41","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":38438,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4422:9:41","memberName":"timestamp","nodeType":"MemberAccess","src":"4416:15:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4404:27:41","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5045524d49545f444541444c494e455f45585049524544","id":38440,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4433:25:41","typeDescriptions":{"typeIdentifier":"t_stringliteral_dd18cfd81b4c1281b56302a044e7f751a261543590362c41d86af048f8ed4b3e","typeString":"literal_string \"PERMIT_DEADLINE_EXPIRED\""},"value":"PERMIT_DEADLINE_EXPIRED"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_dd18cfd81b4c1281b56302a044e7f751a261543590362c41d86af048f8ed4b3e","typeString":"literal_string \"PERMIT_DEADLINE_EXPIRED\""}],"id":38435,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"4396:7:41","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":38441,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4396:63:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":38442,"nodeType":"ExpressionStatement","src":"4396:63:41"},{"assignments":[38444],"declarations":[{"constant":false,"id":38444,"mutability":"mutable","name":"recoveredAddress","nameLocation":"4478:16:41","nodeType":"VariableDeclaration","scope":38503,"src":"4470:24:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":38443,"name":"address","nodeType":"ElementaryTypeName","src":"4470:7:41","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":38474,"initialValue":{"arguments":[{"arguments":[{"arguments":[{"hexValue":"1901","id":38449,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4585:10:41","typeDescriptions":{"typeIdentifier":"t_stringliteral_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541","typeString":"literal_string hex\"1901\""},"value":"\u0019\u0001"},{"arguments":[],"expression":{"argumentTypes":[],"id":38450,"name":"DOMAIN_SEPARATOR","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38519,"src":"4617:16:41","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_bytes32_$","typeString":"function () view returns (bytes32)"}},"id":38451,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4617:18:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"arguments":[{"arguments":[{"hexValue":"5065726d69742861646472657373206f776e65722c61646472657373207370656e6465722c75696e743235362076616c75652c75696e74323536206e6f6e63652c75696e7432353620646561646c696e6529","id":38456,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4775:84:41","typeDescriptions":{"typeIdentifier":"t_stringliteral_6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9","typeString":"literal_string \"Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)\""},"value":"Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9","typeString":"literal_string \"Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)\""}],"id":38455,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"4732:9:41","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":38457,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4732:157:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":38458,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38420,"src":"4919:5:41","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":38459,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38422,"src":"4954:7:41","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":38460,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38424,"src":"4991:5:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":38464,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"5026:15:41","subExpression":{"baseExpression":{"id":38461,"name":"nonces","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38227,"src":"5026:6:41","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":38463,"indexExpression":{"id":38462,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38420,"src":"5033:5:41","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"5026:13:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":38465,"name":"deadline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38426,"src":"5071:8:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":38453,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4692:3:41","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":38454,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4696:6:41","memberName":"encode","nodeType":"MemberAccess","src":"4692:10:41","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":38466,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4692:413:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":38452,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"4657:9:41","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":38467,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4657:470:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541","typeString":"literal_string hex\"1901\""},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":38447,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4547:3:41","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":38448,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4551:12:41","memberName":"encodePacked","nodeType":"MemberAccess","src":"4547:16:41","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":38468,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4547:598:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":38446,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"4520:9:41","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":38469,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4520:639:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":38470,"name":"v","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38428,"src":"5173:1:41","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"id":38471,"name":"r","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38430,"src":"5188:1:41","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":38472,"name":"s","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38432,"src":"5203:1:41","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":38445,"name":"ecrecover","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-6,"src":"4497:9:41","typeDescriptions":{"typeIdentifier":"t_function_ecrecover_pure$_t_bytes32_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$_t_address_$","typeString":"function (bytes32,uint8,bytes32,bytes32) pure returns (address)"}},"id":38473,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4497:717:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"4470:744:41"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":38485,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":38481,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":38476,"name":"recoveredAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38444,"src":"5233:16:41","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":38479,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5261:1:41","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":38478,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5253:7:41","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":38477,"name":"address","nodeType":"ElementaryTypeName","src":"5253:7:41","typeDescriptions":{}}},"id":38480,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5253:10:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"5233:30:41","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":38484,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":38482,"name":"recoveredAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38444,"src":"5267:16:41","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":38483,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38420,"src":"5287:5:41","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"5267:25:41","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"5233:59:41","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"494e56414c49445f5349474e4552","id":38486,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5294:16:41","typeDescriptions":{"typeIdentifier":"t_stringliteral_ba2319f5fa9f0c8e55f0d6899910b7354e6f643d1d349de47190066d85e68a1c","typeString":"literal_string \"INVALID_SIGNER\""},"value":"INVALID_SIGNER"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_ba2319f5fa9f0c8e55f0d6899910b7354e6f643d1d349de47190066d85e68a1c","typeString":"literal_string \"INVALID_SIGNER\""}],"id":38475,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"5225:7:41","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":38487,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5225:86:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":38488,"nodeType":"ExpressionStatement","src":"5225:86:41"},{"expression":{"id":38495,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"id":38489,"name":"_allowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38180,"src":"5322:10:41","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"}},"id":38492,"indexExpression":{"id":38490,"name":"recoveredAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38444,"src":"5333:16:41","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5322:28:41","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":38493,"indexExpression":{"id":38491,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38422,"src":"5351:7:41","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"5322:37:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":38494,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38424,"src":"5362:5:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5322:45:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":38496,"nodeType":"ExpressionStatement","src":"5322:45:41"},{"eventCall":{"arguments":[{"id":38498,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38420,"src":"5392:5:41","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":38499,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38422,"src":"5399:7:41","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":38500,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38424,"src":"5408:5:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":38497,"name":"Approval","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37706,"src":"5383:8:41","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":38501,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5383:31:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":38502,"nodeType":"EmitStatement","src":"5378:36:41"}]},"functionSelector":"d505accf","implemented":true,"kind":"function","modifiers":[],"name":"permit","nameLocation":"4248:6:41","parameters":{"id":38433,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38420,"mutability":"mutable","name":"owner","nameLocation":"4263:5:41","nodeType":"VariableDeclaration","scope":38504,"src":"4255:13:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":38419,"name":"address","nodeType":"ElementaryTypeName","src":"4255:7:41","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":38422,"mutability":"mutable","name":"spender","nameLocation":"4278:7:41","nodeType":"VariableDeclaration","scope":38504,"src":"4270:15:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":38421,"name":"address","nodeType":"ElementaryTypeName","src":"4270:7:41","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":38424,"mutability":"mutable","name":"value","nameLocation":"4295:5:41","nodeType":"VariableDeclaration","scope":38504,"src":"4287:13:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38423,"name":"uint256","nodeType":"ElementaryTypeName","src":"4287:7:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":38426,"mutability":"mutable","name":"deadline","nameLocation":"4310:8:41","nodeType":"VariableDeclaration","scope":38504,"src":"4302:16:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38425,"name":"uint256","nodeType":"ElementaryTypeName","src":"4302:7:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":38428,"mutability":"mutable","name":"v","nameLocation":"4326:1:41","nodeType":"VariableDeclaration","scope":38504,"src":"4320:7:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":38427,"name":"uint8","nodeType":"ElementaryTypeName","src":"4320:5:41","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":38430,"mutability":"mutable","name":"r","nameLocation":"4337:1:41","nodeType":"VariableDeclaration","scope":38504,"src":"4329:9:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38429,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4329:7:41","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":38432,"mutability":"mutable","name":"s","nameLocation":"4348:1:41","nodeType":"VariableDeclaration","scope":38504,"src":"4340:9:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38431,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4340:7:41","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"4254:96:41"},"returnParameters":{"id":38434,"nodeType":"ParameterList","parameters":[],"src":"4386:0:41"},"scope":38705,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":38519,"nodeType":"FunctionDefinition","src":"5427:178:41","nodes":[],"body":{"id":38518,"nodeType":"Block","src":"5493:112:41","nodes":[],"statements":[{"expression":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":38512,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":38509,"name":"_pureChainId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38704,"src":"5510:12:41","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_uint256_$","typeString":"function () pure returns (uint256)"}},"id":38510,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5510:14:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":38511,"name":"INITIAL_CHAIN_ID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38221,"src":"5528:16:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5510:34:41","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":38514,"name":"computeDomainSeparator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38549,"src":"5574:22:41","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_bytes32_$","typeString":"function () view returns (bytes32)"}},"id":38515,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5574:24:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":38516,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"5510:88:41","trueExpression":{"id":38513,"name":"INITIAL_DOMAIN_SEPARATOR","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38223,"src":"5547:24:41","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":38508,"id":38517,"nodeType":"Return","src":"5503:95:41"}]},"functionSelector":"3644e515","implemented":true,"kind":"function","modifiers":[],"name":"DOMAIN_SEPARATOR","nameLocation":"5436:16:41","parameters":{"id":38505,"nodeType":"ParameterList","parameters":[],"src":"5452:2:41"},"returnParameters":{"id":38508,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38507,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":38519,"src":"5484:7:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38506,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5484:7:41","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"5483:9:41"},"scope":38705,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":38549,"nodeType":"FunctionDefinition","src":"5611:404:41","nodes":[],"body":{"id":38548,"nodeType":"Block","src":"5685:330:41","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"arguments":[{"hexValue":"454950373132446f6d61696e28737472696e67206e616d652c737472696e672076657273696f6e2c75696e7432353620636861696e49642c6164647265737320766572696679696e67436f6e747261637429","id":38528,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5763:84:41","typeDescriptions":{"typeIdentifier":"t_stringliteral_8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f","typeString":"literal_string \"EIP712Domain(string name,string version,uint256 chainId,address verifyingContract)\""},"value":"EIP712Domain(string name,string version,uint256 chainId,address verifyingContract)"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f","typeString":"literal_string \"EIP712Domain(string name,string version,uint256 chainId,address verifyingContract)\""}],"id":38527,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"5753:9:41","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":38529,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5753:95:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"arguments":[{"id":38533,"name":"_name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38137,"src":"5882:5:41","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}],"id":38532,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5876:5:41","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":38531,"name":"bytes","nodeType":"ElementaryTypeName","src":"5876:5:41","typeDescriptions":{}}},"id":38534,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5876:12:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes storage pointer"}],"id":38530,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"5866:9:41","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":38535,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5866:23:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"hexValue":"31","id":38537,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5917:3:41","typeDescriptions":{"typeIdentifier":"t_stringliteral_c89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6","typeString":"literal_string \"1\""},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6","typeString":"literal_string \"1\""}],"id":38536,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"5907:9:41","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":38538,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5907:14:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[],"expression":{"argumentTypes":[],"id":38539,"name":"_pureChainId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38704,"src":"5939:12:41","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_uint256_$","typeString":"function () pure returns (uint256)"}},"id":38540,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5939:14:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"id":38543,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"5979:4:41","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$38705","typeString":"contract MockERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockERC20_$38705","typeString":"contract MockERC20"}],"id":38542,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5971:7:41","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":38541,"name":"address","nodeType":"ElementaryTypeName","src":"5971:7:41","typeDescriptions":{}}},"id":38544,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5971:13:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":38525,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"5725:3:41","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":38526,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5729:6:41","memberName":"encode","nodeType":"MemberAccess","src":"5725:10:41","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":38545,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5725:273:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":38524,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"5702:9:41","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":38546,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5702:306:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":38523,"id":38547,"nodeType":"Return","src":"5695:313:41"}]},"implemented":true,"kind":"function","modifiers":[],"name":"computeDomainSeparator","nameLocation":"5620:22:41","parameters":{"id":38520,"nodeType":"ParameterList","parameters":[],"src":"5642:2:41"},"returnParameters":{"id":38523,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38522,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":38549,"src":"5676:7:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":38521,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5676:7:41","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"5675:9:41"},"scope":38705,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":38584,"nodeType":"FunctionDefinition","src":"6209:221:41","nodes":[],"body":{"id":38583,"nodeType":"Block","src":"6269:161:41","nodes":[],"statements":[{"expression":{"id":38561,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":38556,"name":"_totalSupply","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38170,"src":"6279:12:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":38558,"name":"_totalSupply","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38170,"src":"6299:12:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":38559,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38553,"src":"6313:6:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":38557,"name":"_add","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38644,"src":"6294:4:41","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":38560,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6294:26:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6279:41:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":38562,"nodeType":"ExpressionStatement","src":"6279:41:41"},{"expression":{"id":38572,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":38563,"name":"_balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38174,"src":"6330:10:41","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":38565,"indexExpression":{"id":38564,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38551,"src":"6341:2:41","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"6330:14:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"baseExpression":{"id":38567,"name":"_balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38174,"src":"6352:10:41","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":38569,"indexExpression":{"id":38568,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38551,"src":"6363:2:41","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6352:14:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":38570,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38553,"src":"6368:6:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":38566,"name":"_add","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38644,"src":"6347:4:41","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":38571,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6347:28:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6330:45:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":38573,"nodeType":"ExpressionStatement","src":"6330:45:41"},{"eventCall":{"arguments":[{"arguments":[{"hexValue":"30","id":38577,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6408:1:41","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":38576,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6400:7:41","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":38575,"name":"address","nodeType":"ElementaryTypeName","src":"6400:7:41","typeDescriptions":{}}},"id":38578,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6400:10:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":38579,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38551,"src":"6412:2:41","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":38580,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38553,"src":"6416:6:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":38574,"name":"Transfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37697,"src":"6391:8:41","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":38581,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6391:32:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":38582,"nodeType":"EmitStatement","src":"6386:37:41"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_mint","nameLocation":"6218:5:41","parameters":{"id":38554,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38551,"mutability":"mutable","name":"to","nameLocation":"6232:2:41","nodeType":"VariableDeclaration","scope":38584,"src":"6224:10:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":38550,"name":"address","nodeType":"ElementaryTypeName","src":"6224:7:41","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":38553,"mutability":"mutable","name":"amount","nameLocation":"6244:6:41","nodeType":"VariableDeclaration","scope":38584,"src":"6236:14:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38552,"name":"uint256","nodeType":"ElementaryTypeName","src":"6236:7:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6223:28:41"},"returnParameters":{"id":38555,"nodeType":"ParameterList","parameters":[],"src":"6269:0:41"},"scope":38705,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":38619,"nodeType":"FunctionDefinition","src":"6436:229:41","nodes":[],"body":{"id":38618,"nodeType":"Block","src":"6498:167:41","nodes":[],"statements":[{"expression":{"id":38600,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":38591,"name":"_balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38174,"src":"6508:10:41","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":38593,"indexExpression":{"id":38592,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38586,"src":"6519:4:41","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"6508:16:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"baseExpression":{"id":38595,"name":"_balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38174,"src":"6532:10:41","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":38597,"indexExpression":{"id":38596,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38586,"src":"6543:4:41","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6532:16:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":38598,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38588,"src":"6550:6:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":38594,"name":"_sub","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38665,"src":"6527:4:41","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":38599,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6527:30:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6508:49:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":38601,"nodeType":"ExpressionStatement","src":"6508:49:41"},{"expression":{"id":38607,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":38602,"name":"_totalSupply","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38170,"src":"6567:12:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":38604,"name":"_totalSupply","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38170,"src":"6587:12:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":38605,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38588,"src":"6601:6:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":38603,"name":"_sub","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38665,"src":"6582:4:41","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":38606,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6582:26:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6567:41:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":38608,"nodeType":"ExpressionStatement","src":"6567:41:41"},{"eventCall":{"arguments":[{"id":38610,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38586,"src":"6633:4:41","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"30","id":38613,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6647:1:41","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":38612,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6639:7:41","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":38611,"name":"address","nodeType":"ElementaryTypeName","src":"6639:7:41","typeDescriptions":{}}},"id":38614,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6639:10:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":38615,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38588,"src":"6651:6:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":38609,"name":"Transfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37697,"src":"6624:8:41","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":38616,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6624:34:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":38617,"nodeType":"EmitStatement","src":"6619:39:41"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_burn","nameLocation":"6445:5:41","parameters":{"id":38589,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38586,"mutability":"mutable","name":"from","nameLocation":"6459:4:41","nodeType":"VariableDeclaration","scope":38619,"src":"6451:12:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":38585,"name":"address","nodeType":"ElementaryTypeName","src":"6451:7:41","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":38588,"mutability":"mutable","name":"amount","nameLocation":"6473:6:41","nodeType":"VariableDeclaration","scope":38619,"src":"6465:14:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38587,"name":"uint256","nodeType":"ElementaryTypeName","src":"6465:7:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6450:30:41"},"returnParameters":{"id":38590,"nodeType":"ParameterList","parameters":[],"src":"6498:0:41"},"scope":38705,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":38644,"nodeType":"FunctionDefinition","src":"6859:173:41","nodes":[],"body":{"id":38643,"nodeType":"Block","src":"6927:105:41","nodes":[],"statements":[{"assignments":[38629],"declarations":[{"constant":false,"id":38629,"mutability":"mutable","name":"c","nameLocation":"6945:1:41","nodeType":"VariableDeclaration","scope":38643,"src":"6937:9:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38628,"name":"uint256","nodeType":"ElementaryTypeName","src":"6937:7:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":38633,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":38632,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":38630,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38621,"src":"6949:1:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":38631,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38623,"src":"6953:1:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6949:5:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"6937:17:41"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":38637,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":38635,"name":"c","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38629,"src":"6972:1:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":38636,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38621,"src":"6977:1:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6972:6:41","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"45524332303a206164646974696f6e206f766572666c6f77","id":38638,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6980:26:41","typeDescriptions":{"typeIdentifier":"t_stringliteral_74f676cd2e283c0e66b6d0717943544332197bd372b775cf0e7a53907f5c5d11","typeString":"literal_string \"ERC20: addition overflow\""},"value":"ERC20: addition overflow"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_74f676cd2e283c0e66b6d0717943544332197bd372b775cf0e7a53907f5c5d11","typeString":"literal_string \"ERC20: addition overflow\""}],"id":38634,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"6964:7:41","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":38639,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6964:43:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":38640,"nodeType":"ExpressionStatement","src":"6964:43:41"},{"expression":{"id":38641,"name":"c","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38629,"src":"7024:1:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":38627,"id":38642,"nodeType":"Return","src":"7017:8:41"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_add","nameLocation":"6868:4:41","parameters":{"id":38624,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38621,"mutability":"mutable","name":"a","nameLocation":"6881:1:41","nodeType":"VariableDeclaration","scope":38644,"src":"6873:9:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38620,"name":"uint256","nodeType":"ElementaryTypeName","src":"6873:7:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":38623,"mutability":"mutable","name":"b","nameLocation":"6892:1:41","nodeType":"VariableDeclaration","scope":38644,"src":"6884:9:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38622,"name":"uint256","nodeType":"ElementaryTypeName","src":"6884:7:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6872:22:41"},"returnParameters":{"id":38627,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38626,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":38644,"src":"6918:7:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38625,"name":"uint256","nodeType":"ElementaryTypeName","src":"6918:7:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6917:9:41"},"scope":38705,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":38665,"nodeType":"FunctionDefinition","src":"7038:154:41","nodes":[],"body":{"id":38664,"nodeType":"Block","src":"7106:86:41","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":38656,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":38654,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38646,"src":"7124:1:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":38655,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38648,"src":"7129:1:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7124:6:41","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"45524332303a207375627472616374696f6e20756e646572666c6f77","id":38657,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7132:30:41","typeDescriptions":{"typeIdentifier":"t_stringliteral_51030fc2fc57ce7527c9e329debac907fc652c2c136d851e4f42cbce1710c274","typeString":"literal_string \"ERC20: subtraction underflow\""},"value":"ERC20: subtraction underflow"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_51030fc2fc57ce7527c9e329debac907fc652c2c136d851e4f42cbce1710c274","typeString":"literal_string \"ERC20: subtraction underflow\""}],"id":38653,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"7116:7:41","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":38658,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7116:47:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":38659,"nodeType":"ExpressionStatement","src":"7116:47:41"},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":38662,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":38660,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38646,"src":"7180:1:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":38661,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38648,"src":"7184:1:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7180:5:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":38652,"id":38663,"nodeType":"Return","src":"7173:12:41"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_sub","nameLocation":"7047:4:41","parameters":{"id":38649,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38646,"mutability":"mutable","name":"a","nameLocation":"7060:1:41","nodeType":"VariableDeclaration","scope":38665,"src":"7052:9:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38645,"name":"uint256","nodeType":"ElementaryTypeName","src":"7052:7:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":38648,"mutability":"mutable","name":"b","nameLocation":"7071:1:41","nodeType":"VariableDeclaration","scope":38665,"src":"7063:9:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38647,"name":"uint256","nodeType":"ElementaryTypeName","src":"7063:7:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7051:22:41"},"returnParameters":{"id":38652,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38651,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":38665,"src":"7097:7:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38650,"name":"uint256","nodeType":"ElementaryTypeName","src":"7097:7:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7096:9:41"},"scope":38705,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":38677,"nodeType":"FunctionDefinition","src":"7735:276:41","nodes":[],"body":{"id":38676,"nodeType":"Block","src":"7798:213:41","nodes":[],"statements":[{"AST":{"nodeType":"YulBlock","src":"7893:44:41","statements":[{"nodeType":"YulAssignment","src":"7907:20:41","value":{"arguments":[],"functionName":{"name":"chainid","nodeType":"YulIdentifier","src":"7918:7:41"},"nodeType":"YulFunctionCall","src":"7918:9:41"},"variableNames":[{"name":"chainId","nodeType":"YulIdentifier","src":"7907:7:41"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":38668,"isOffset":false,"isSlot":false,"src":"7907:7:41","valueSize":1}],"id":38670,"nodeType":"InlineAssembly","src":"7884:53:41"},{"expression":{"arguments":[{"id":38673,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"7955:4:41","typeDescriptions":{"typeIdentifier":"t_contract$_MockERC20_$38705","typeString":"contract MockERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockERC20_$38705","typeString":"contract MockERC20"}],"id":38672,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7947:7:41","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":38671,"name":"address","nodeType":"ElementaryTypeName","src":"7947:7:41","typeDescriptions":{}}},"id":38674,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7947:13:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":38675,"nodeType":"ExpressionStatement","src":"7947:13:41"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_viewChainId","nameLocation":"7744:12:41","parameters":{"id":38666,"nodeType":"ParameterList","parameters":[],"src":"7756:2:41"},"returnParameters":{"id":38669,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38668,"mutability":"mutable","name":"chainId","nameLocation":"7789:7:41","nodeType":"VariableDeclaration","scope":38677,"src":"7781:15:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38667,"name":"uint256","nodeType":"ElementaryTypeName","src":"7781:7:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7780:17:41"},"scope":38705,"stateMutability":"view","virtual":false,"visibility":"private"},{"id":38704,"nodeType":"FunctionDefinition","src":"8017:300:41","nodes":[],"body":{"id":38703,"nodeType":"Block","src":"8080:237:41","nodes":[],"statements":[{"assignments":[38687],"declarations":[{"constant":false,"id":38687,"mutability":"mutable","name":"fnIn","nameLocation":"8133:4:41","nodeType":"VariableDeclaration","scope":38703,"src":"8090:47:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint256_$","typeString":"function () view returns (uint256)"},"typeName":{"id":38686,"nodeType":"FunctionTypeName","parameterTypes":{"id":38682,"nodeType":"ParameterList","parameters":[],"src":"8098:2:41"},"returnParameterTypes":{"id":38685,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38684,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":38686,"src":"8124:7:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38683,"name":"uint256","nodeType":"ElementaryTypeName","src":"8124:7:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8123:9:41"},"src":"8090:47:41","stateMutability":"view","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint256_$","typeString":"function () view returns (uint256)"},"visibility":"internal"},"visibility":"internal"}],"id":38689,"initialValue":{"id":38688,"name":"_viewChainId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38677,"src":"8140:12:41","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint256_$","typeString":"function () view returns (uint256)"}},"nodeType":"VariableDeclarationStatement","src":"8090:62:41"},{"assignments":[38695],"declarations":[{"constant":false,"id":38695,"mutability":"mutable","name":"pureChainId","nameLocation":"8205:11:41","nodeType":"VariableDeclaration","scope":38703,"src":"8162:54:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_uint256_$","typeString":"function () pure returns (uint256)"},"typeName":{"id":38694,"nodeType":"FunctionTypeName","parameterTypes":{"id":38690,"nodeType":"ParameterList","parameters":[],"src":"8170:2:41"},"returnParameterTypes":{"id":38693,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38692,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":38694,"src":"8196:7:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38691,"name":"uint256","nodeType":"ElementaryTypeName","src":"8196:7:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8195:9:41"},"src":"8162:54:41","stateMutability":"pure","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_uint256_$","typeString":"function () pure returns (uint256)"},"visibility":"internal"},"visibility":"internal"}],"id":38696,"nodeType":"VariableDeclarationStatement","src":"8162:54:41"},{"AST":{"nodeType":"YulBlock","src":"8235:43:41","statements":[{"nodeType":"YulAssignment","src":"8249:19:41","value":{"name":"fnIn","nodeType":"YulIdentifier","src":"8264:4:41"},"variableNames":[{"name":"pureChainId","nodeType":"YulIdentifier","src":"8249:11:41"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":38687,"isOffset":false,"isSlot":false,"src":"8264:4:41","valueSize":1},{"declaration":38695,"isOffset":false,"isSlot":false,"src":"8249:11:41","valueSize":1}],"id":38697,"nodeType":"InlineAssembly","src":"8226:52:41"},{"expression":{"id":38701,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":38698,"name":"chainId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38680,"src":"8287:7:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[],"expression":{"argumentTypes":[],"id":38699,"name":"pureChainId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38695,"src":"8297:11:41","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_uint256_$","typeString":"function () pure returns (uint256)"}},"id":38700,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8297:13:41","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8287:23:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":38702,"nodeType":"ExpressionStatement","src":"8287:23:41"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_pureChainId","nameLocation":"8026:12:41","parameters":{"id":38678,"nodeType":"ParameterList","parameters":[],"src":"8038:2:41"},"returnParameters":{"id":38681,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38680,"mutability":"mutable","name":"chainId","nameLocation":"8071:7:41","nodeType":"VariableDeclaration","scope":38704,"src":"8063:15:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":38679,"name":"uint256","nodeType":"ElementaryTypeName","src":"8063:7:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8062:17:41"},"scope":38705,"stateMutability":"pure","virtual":false,"visibility":"private"}],"abstract":false,"baseContracts":[{"baseName":{"id":38134,"name":"IERC20","nameLocations":["391:6:41"],"nodeType":"IdentifierPath","referencedDeclaration":37781,"src":"391:6:41"},"id":38135,"nodeType":"InheritanceSpecifier","src":"391:6:41"}],"canonicalName":"MockERC20","contractDependencies":[],"contractKind":"contract","documentation":{"id":38133,"nodeType":"StructuredDocumentation","src":"115:254:41","text":"@notice This is a mock contract of the ERC20 standard for testing purposes only, it SHOULD NOT be used in production.\n @dev Forked from: https://github.com/transmissions11/solmate/blob/0384dbaaa4fcb5715738a9254a7c0a4cb62cf458/src/tokens/ERC20.sol"},"fullyImplemented":true,"linearizedBaseContracts":[38705,37781],"name":"MockERC20","nameLocation":"378:9:41","scope":38706,"usedErrors":[]}],"license":"MIT"},"id":41} \ No newline at end of file diff --git a/pkg/contracts/out/PassportScorer.sol/PassportScorer.json b/pkg/contracts/out/PassportScorer.sol/PassportScorer.json index ae39841cd..f3362d5ab 100644 --- a/pkg/contracts/out/PassportScorer.sol/PassportScorer.json +++ b/pkg/contracts/out/PassportScorer.sol/PassportScorer.json @@ -1,7613 +1 @@ -{ - "abi": [ - { - "type": "function", - "name": "activateStrategy", - "inputs": [ - { - "name": "_strategy", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "addStrategy", - "inputs": [ - { - "name": "_strategy", - "type": "address", - "internalType": "address" - }, - { - "name": "_threshold", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_councilSafe", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "addUserScore", - "inputs": [ - { - "name": "_user", - "type": "address", - "internalType": "address" - }, - { - "name": "_passportData", - "type": "tuple", - "internalType": "struct PassportData", - "components": [ - { - "name": "score", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "lastUpdated", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "canExecuteAction", - "inputs": [ - { - "name": "_user", - "type": "address", - "internalType": "address" - }, - { - "name": "_strategy", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "changeListManager", - "inputs": [ - { - "name": "_newManager", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "getStrategy", - "inputs": [ - { - "name": "_strategy", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct Strategy", - "components": [ - { - "name": "threshold", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "active", - "type": "bool", - "internalType": "bool" - }, - { - "name": "councilSafe", - "type": "address", - "internalType": "address" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getUserScore", - "inputs": [ - { - "name": "_user", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct PassportData", - "components": [ - { - "name": "score", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "lastUpdated", - "type": "uint256", - "internalType": "uint256" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "initialize", - "inputs": [ - { - "name": "_listManager", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "listManager", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "modifyThreshold", - "inputs": [ - { - "name": "_strategy", - "type": "address", - "internalType": "address" - }, - { - "name": "_newThreshold", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "owner", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "proxiableUUID", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "removeStrategy", - "inputs": [ - { - "name": "_strategy", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "removeUser", - "inputs": [ - { - "name": "_user", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "renounceOwnership", - "inputs": [], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "strategies", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "threshold", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "active", - "type": "bool", - "internalType": "bool" - }, - { - "name": "councilSafe", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "transferOwnership", - "inputs": [ - { - "name": "newOwner", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "upgradeTo", - "inputs": [ - { - "name": "newImplementation", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "upgradeToAndCall", - "inputs": [ - { - "name": "newImplementation", - "type": "address", - "internalType": "address" - }, - { - "name": "data", - "type": "bytes", - "internalType": "bytes" - } - ], - "outputs": [], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "userScores", - "inputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "score", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "lastUpdated", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "event", - "name": "AdminChanged", - "inputs": [ - { - "name": "previousAdmin", - "type": "address", - "indexed": false, - "internalType": "address" - }, - { - "name": "newAdmin", - "type": "address", - "indexed": false, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "BeaconUpgraded", - "inputs": [ - { - "name": "beacon", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialized", - "inputs": [ - { - "name": "version", - "type": "uint8", - "indexed": false, - "internalType": "uint8" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ListManagerChanged", - "inputs": [ - { - "name": "oldManager", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "newManager", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OwnershipTransferred", - "inputs": [ - { - "name": "previousOwner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "newOwner", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "StrategyActivated", - "inputs": [ - { - "name": "strategy", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "StrategyAdded", - "inputs": [ - { - "name": "strategy", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "threshold", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "active", - "type": "bool", - "indexed": false, - "internalType": "bool" - }, - { - "name": "councilSafe", - "type": "address", - "indexed": false, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "StrategyRemoved", - "inputs": [ - { - "name": "strategy", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ThresholdModified", - "inputs": [ - { - "name": "strategy", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "newThreshold", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Upgraded", - "inputs": [ - { - "name": "implementation", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "UserRemoved", - "inputs": [ - { - "name": "user", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "UserScoreAdded", - "inputs": [ - { - "name": "user", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "score", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "lastUpdated", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "OnlyAuthorized", - "inputs": [] - }, - { - "type": "error", - "name": "OnlyCouncil", - "inputs": [] - }, - { - "type": "error", - "name": "OnlyCouncilOrAuthorized", - "inputs": [] - }, - { - "type": "error", - "name": "StrategyAlreadyExists", - "inputs": [] - }, - { - "type": "error", - "name": "ZeroAddress", - "inputs": [] - } - ], - "bytecode": { - "object": "0x60a06040523060805234801561001457600080fd5b50608051611a8761004c60003960008181610656015281816106e0015281816108ce015281816109530152610a390152611a876000f3fe60806040526004361061015f5760003560e01c80637814d568116100c0578063c4d66de811610074578063f2fde38b11610059578063f2fde38b14610469578063f8806a1314610489578063fc2ebdd11461052f57600080fd5b8063c4d66de814610429578063d80ea5a01461044957600080fd5b80638df8b2fe116100a55780638df8b2fe1461036c578063985751881461038c578063b34e0c47146103ac57600080fd5b80637814d5681461031a5780638da5cb5b1461033a57600080fd5b806342a987a01161011757806352d1902d116100fc57806352d1902d146102c2578063642ce76b146102e5578063715018a61461030557600080fd5b806342a987a01461027f5780634f1ef286146102af57600080fd5b80633659cfe6116101485780633659cfe6146101d457806339ebf823146101f45780633d4768301461025f57600080fd5b80631413d4c014610164578063175188e8146101b2575b600080fd5b34801561017057600080fd5b5061019861017f366004611771565b6066602052600090815260409020805460019091015482565b604080519283526020830191909152015b60405180910390f35b3480156101be57600080fd5b506101d26101cd366004611771565b61054f565b005b3480156101e057600080fd5b506101d26101ef366004611771565b61064c565b34801561020057600080fd5b5061023b61020f366004611771565b6067602052600090815260409020805460019091015460ff81169061010090046001600160a01b031683565b6040805193845291151560208401526001600160a01b0316908201526060016101a9565b34801561026b57600080fd5b506101d261027a366004611771565b6107cc565b34801561028b57600080fd5b5061029f61029a36600461178c565b61083c565b60405190151581526020016101a9565b6101d26102bd36600461181f565b6108c4565b3480156102ce57600080fd5b506102d7610a2c565b6040519081526020016101a9565b3480156102f157600080fd5b506101d26103003660046118c5565b610af1565b34801561031157600080fd5b506101d2610bc6565b34801561032657600080fd5b506101d26103353660046118ef565b610bda565b34801561034657600080fd5b506033546001600160a01b03165b6040516001600160a01b0390911681526020016101a9565b34801561037857600080fd5b50606554610354906001600160a01b031681565b34801561039857600080fd5b506101d26103a7366004611771565b610ca2565b3480156103b857600080fd5b5061040e6103c7366004611771565b6040805180820190915260008082526020820152506001600160a01b0316600090815260666020908152604091829020825180840190935280548352600101549082015290565b604080518251815260209283015192810192909252016101a9565b34801561043557600080fd5b506101d2610444366004611771565b610d1d565b34801561045557600080fd5b506101d2610464366004611771565b610e6e565b34801561047557600080fd5b506101d2610484366004611771565b610f27565b34801561049557600080fd5b506105026104a4366004611771565b6040805160608082018352600080835260208084018290529284018190526001600160a01b0394851681526067835283902083519182018452805482526001015460ff81161515928201929092526101009091049092169082015290565b6040805182518152602080840151151590820152918101516001600160a01b0316908201526060016101a9565b34801561053b57600080fd5b506101d261054a366004611962565b610fb4565b806105626033546001600160a01b031690565b6001600160a01b0316336001600160a01b0316148061058b57506065546001600160a01b031633145b806105b757506001600160a01b0381811660009081526067602052604090206001015461010090041633145b15610616576105c582611148565b6001600160a01b03821660008181526067602052604080822060018101805460ff19169055829055517f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea49190a25050565b6040517fe3b6914b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036106de5760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b19195b1959d85d1958d85b1b60a21b60648201526084015b60405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166107397f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b6001600160a01b0316146107a45760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b6163746976652070726f787960a01b60648201526084016106d5565b6107ad81611188565b604080516000808252602082019092526107c991839190611190565b50565b6107d4611330565b6107dd81611148565b606580546001600160a01b0383811673ffffffffffffffffffffffffffffffffffffffff19831681179093556040519116919082907f5117c6c457d7b27a4cb68df40b118f157ac1f1ba81f8a571d189f829d74fbc8690600090a35050565b6001600160a01b03808316600090815260666020908152604080832081518083018352815481526001918201548185015286861685526067845282852083516060810185528154815292015460ff81161515948301859052610100900490951691810191909152919291906108b6576001925050506108be565b519051101590505b92915050565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036109515760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b19195b1959d85d1958d85b1b60a21b60648201526084016106d5565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166109ac7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b6001600160a01b031614610a175760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b6163746976652070726f787960a01b60648201526084016106d5565b610a2082611188565b61064882826001611190565b6000306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610acc5760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c000000000000000060648201526084016106d5565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc90565b81610b046033546001600160a01b031690565b6001600160a01b0316336001600160a01b03161480610b2d57506065546001600160a01b031633145b80610b5957506001600160a01b0381811660009081526067602052604090206001015461010090041633145b1561061657610b6783611148565b6001600160a01b03831660008181526067602052604090819020849055517f40ba4d5d9facd2fda74e22251d1638576e05a30482470363c7c87a7b5b298c0990610bb49085815260200190565b60405180910390a2505050565b505050565b610bce611330565b610bd8600061138a565b565b6033546001600160a01b0316331480610bfd57506065546001600160a01b031633145b15610c7057610c0b82611148565b6001600160a01b03821660008181526066602090815260409182902084518082558583015160019092018290558351908152918201527f1e0ca12706807bceff25136f95fe6f69c1319c044f6073e6056a287e4f541b1d910160405180910390a25050565b6040517f7d7b71b500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6033546001600160a01b0316331480610cc557506065546001600160a01b031633145b15610c7057610cd381611148565b6001600160a01b038116600081815260666020526040808220828155600101829055517fe9dce8c992623ce791725b21e857e33248d1f190a25b5168313420eebdaae99d9190a250565b600054610100900460ff1615808015610d3d5750600054600160ff909116105b80610d575750303b158015610d57575060005460ff166001145b610dc95760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084016106d5565b6000805460ff191660011790558015610dec576000805461ff0019166101001790555b610df46113e9565b610dfd82611148565b6065805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0384161790558015610648576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b6001600160a01b038082166000908152606760205260409020600101548291610100909104163303610ef557610ea382611148565b6001600160a01b0382166000818152606760205260408082206001908101805460ff19169091179055517f652f053fc39779b70b29678135ade972fcb79966fc68fcb77c996b1aa4fd9afb9190a25050565b6040517f97ffbac900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610f2f611330565b6001600160a01b038116610fab5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084016106d5565b6107c98161138a565b6033546001600160a01b0316331480610fd757506065546001600160a01b031633145b15610c7057610fe583611148565b610fee81611148565b6001600160a01b03831660009081526067602052604090205415158061103557506001600160a01b0383811660009081526067602052604090206001015461010090041615155b1561106c576040517fc45546f700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040805160608082018352848252600060208084018281526001600160a01b038781168688018181528b831680875260678652898720985189559351600190980180549151909316610100027fffffffffffffffffffffff0000000000000000000000000000000000000000ff981515989098167fffffffffffffffffffffff000000000000000000000000000000000000000000909116179690961790558551888152918201929092529384019290925290917f9b1a157188de9a0bd2e7995d72aaba244d9bd012ddf3ae3d4f492135175070cb9101610bb4565b6001600160a01b0381166107c9576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6107c9611330565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff16156111c357610bc18361145c565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa92505050801561121d575060408051601f3d908101601f1916820190925261121a9181019061199e565b60015b61128f5760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201527f6f6e206973206e6f74205555505300000000000000000000000000000000000060648201526084016106d5565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc81146113245760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f7860448201527f6961626c6555554944000000000000000000000000000000000000000000000060648201526084016106d5565b50610bc1838383611527565b6033546001600160a01b03163314610bd85760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016106d5565b603380546001600160a01b0383811673ffffffffffffffffffffffffffffffffffffffff19831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600054610100900460ff166114545760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b60648201526084016106d5565b610bd8611552565b6001600160a01b0381163b6114d95760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201527f6f74206120636f6e74726163740000000000000000000000000000000000000060648201526084016106d5565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b611530836115c6565b60008251118061153d5750805b15610bc15761154c8383611606565b50505050565b600054610100900460ff166115bd5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b60648201526084016106d5565b610bd83361138a565b6115cf8161145c565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b606061162b8383604051806060016040528060278152602001611a2b60279139611632565b9392505050565b6060600080856001600160a01b03168560405161164f91906119db565b600060405180830381855af49150503d806000811461168a576040519150601f19603f3d011682016040523d82523d6000602084013e61168f565b606091505b50915091506116a0868383876116aa565b9695505050505050565b60608315611719578251600003611712576001600160a01b0385163b6117125760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016106d5565b5081611723565b611723838361172b565b949350505050565b81511561173b5781518083602001fd5b8060405162461bcd60e51b81526004016106d591906119f7565b80356001600160a01b038116811461176c57600080fd5b919050565b60006020828403121561178357600080fd5b61162b82611755565b6000806040838503121561179f57600080fd5b6117a883611755565b91506117b660208401611755565b90509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715611817576118176117bf565b604052919050565b6000806040838503121561183257600080fd5b61183b83611755565b915060208084013567ffffffffffffffff8082111561185957600080fd5b818601915086601f83011261186d57600080fd5b81358181111561187f5761187f6117bf565b611891601f8201601f191685016117ee565b915080825287848285010111156118a757600080fd5b80848401858401376000848284010152508093505050509250929050565b600080604083850312156118d857600080fd5b6118e183611755565b946020939093013593505050565b600080828403606081121561190357600080fd5b61190c84611755565b92506040601f198201121561192057600080fd5b506040516040810181811067ffffffffffffffff82111715611944576119446117bf565b60409081526020858101358352940135938101939093525092909150565b60008060006060848603121561197757600080fd5b61198084611755565b92506020840135915061199560408501611755565b90509250925092565b6000602082840312156119b057600080fd5b5051919050565b60005b838110156119d25781810151838201526020016119ba565b50506000910152565b600082516119ed8184602087016119b7565b9190910192915050565b6020815260008251806020840152611a168160408501602087016119b7565b601f01601f1916919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a264697066735822122052d302b3a9a080211b9b9feb4efbc8d674cbd6c118bd32bde5b8e25591a75ffe64736f6c63430008130033", - "sourceMap": "452:5877:132:-:0;;;1088:4:68;1045:48;;452:5877:132;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x60806040526004361061015f5760003560e01c80637814d568116100c0578063c4d66de811610074578063f2fde38b11610059578063f2fde38b14610469578063f8806a1314610489578063fc2ebdd11461052f57600080fd5b8063c4d66de814610429578063d80ea5a01461044957600080fd5b80638df8b2fe116100a55780638df8b2fe1461036c578063985751881461038c578063b34e0c47146103ac57600080fd5b80637814d5681461031a5780638da5cb5b1461033a57600080fd5b806342a987a01161011757806352d1902d116100fc57806352d1902d146102c2578063642ce76b146102e5578063715018a61461030557600080fd5b806342a987a01461027f5780634f1ef286146102af57600080fd5b80633659cfe6116101485780633659cfe6146101d457806339ebf823146101f45780633d4768301461025f57600080fd5b80631413d4c014610164578063175188e8146101b2575b600080fd5b34801561017057600080fd5b5061019861017f366004611771565b6066602052600090815260409020805460019091015482565b604080519283526020830191909152015b60405180910390f35b3480156101be57600080fd5b506101d26101cd366004611771565b61054f565b005b3480156101e057600080fd5b506101d26101ef366004611771565b61064c565b34801561020057600080fd5b5061023b61020f366004611771565b6067602052600090815260409020805460019091015460ff81169061010090046001600160a01b031683565b6040805193845291151560208401526001600160a01b0316908201526060016101a9565b34801561026b57600080fd5b506101d261027a366004611771565b6107cc565b34801561028b57600080fd5b5061029f61029a36600461178c565b61083c565b60405190151581526020016101a9565b6101d26102bd36600461181f565b6108c4565b3480156102ce57600080fd5b506102d7610a2c565b6040519081526020016101a9565b3480156102f157600080fd5b506101d26103003660046118c5565b610af1565b34801561031157600080fd5b506101d2610bc6565b34801561032657600080fd5b506101d26103353660046118ef565b610bda565b34801561034657600080fd5b506033546001600160a01b03165b6040516001600160a01b0390911681526020016101a9565b34801561037857600080fd5b50606554610354906001600160a01b031681565b34801561039857600080fd5b506101d26103a7366004611771565b610ca2565b3480156103b857600080fd5b5061040e6103c7366004611771565b6040805180820190915260008082526020820152506001600160a01b0316600090815260666020908152604091829020825180840190935280548352600101549082015290565b604080518251815260209283015192810192909252016101a9565b34801561043557600080fd5b506101d2610444366004611771565b610d1d565b34801561045557600080fd5b506101d2610464366004611771565b610e6e565b34801561047557600080fd5b506101d2610484366004611771565b610f27565b34801561049557600080fd5b506105026104a4366004611771565b6040805160608082018352600080835260208084018290529284018190526001600160a01b0394851681526067835283902083519182018452805482526001015460ff81161515928201929092526101009091049092169082015290565b6040805182518152602080840151151590820152918101516001600160a01b0316908201526060016101a9565b34801561053b57600080fd5b506101d261054a366004611962565b610fb4565b806105626033546001600160a01b031690565b6001600160a01b0316336001600160a01b0316148061058b57506065546001600160a01b031633145b806105b757506001600160a01b0381811660009081526067602052604090206001015461010090041633145b15610616576105c582611148565b6001600160a01b03821660008181526067602052604080822060018101805460ff19169055829055517f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea49190a25050565b6040517fe3b6914b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036106de5760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b19195b1959d85d1958d85b1b60a21b60648201526084015b60405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166107397f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b6001600160a01b0316146107a45760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b6163746976652070726f787960a01b60648201526084016106d5565b6107ad81611188565b604080516000808252602082019092526107c991839190611190565b50565b6107d4611330565b6107dd81611148565b606580546001600160a01b0383811673ffffffffffffffffffffffffffffffffffffffff19831681179093556040519116919082907f5117c6c457d7b27a4cb68df40b118f157ac1f1ba81f8a571d189f829d74fbc8690600090a35050565b6001600160a01b03808316600090815260666020908152604080832081518083018352815481526001918201548185015286861685526067845282852083516060810185528154815292015460ff81161515948301859052610100900490951691810191909152919291906108b6576001925050506108be565b519051101590505b92915050565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036109515760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b19195b1959d85d1958d85b1b60a21b60648201526084016106d5565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166109ac7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b6001600160a01b031614610a175760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b6163746976652070726f787960a01b60648201526084016106d5565b610a2082611188565b61064882826001611190565b6000306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610acc5760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c000000000000000060648201526084016106d5565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc90565b81610b046033546001600160a01b031690565b6001600160a01b0316336001600160a01b03161480610b2d57506065546001600160a01b031633145b80610b5957506001600160a01b0381811660009081526067602052604090206001015461010090041633145b1561061657610b6783611148565b6001600160a01b03831660008181526067602052604090819020849055517f40ba4d5d9facd2fda74e22251d1638576e05a30482470363c7c87a7b5b298c0990610bb49085815260200190565b60405180910390a2505050565b505050565b610bce611330565b610bd8600061138a565b565b6033546001600160a01b0316331480610bfd57506065546001600160a01b031633145b15610c7057610c0b82611148565b6001600160a01b03821660008181526066602090815260409182902084518082558583015160019092018290558351908152918201527f1e0ca12706807bceff25136f95fe6f69c1319c044f6073e6056a287e4f541b1d910160405180910390a25050565b6040517f7d7b71b500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6033546001600160a01b0316331480610cc557506065546001600160a01b031633145b15610c7057610cd381611148565b6001600160a01b038116600081815260666020526040808220828155600101829055517fe9dce8c992623ce791725b21e857e33248d1f190a25b5168313420eebdaae99d9190a250565b600054610100900460ff1615808015610d3d5750600054600160ff909116105b80610d575750303b158015610d57575060005460ff166001145b610dc95760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084016106d5565b6000805460ff191660011790558015610dec576000805461ff0019166101001790555b610df46113e9565b610dfd82611148565b6065805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0384161790558015610648576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b6001600160a01b038082166000908152606760205260409020600101548291610100909104163303610ef557610ea382611148565b6001600160a01b0382166000818152606760205260408082206001908101805460ff19169091179055517f652f053fc39779b70b29678135ade972fcb79966fc68fcb77c996b1aa4fd9afb9190a25050565b6040517f97ffbac900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610f2f611330565b6001600160a01b038116610fab5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084016106d5565b6107c98161138a565b6033546001600160a01b0316331480610fd757506065546001600160a01b031633145b15610c7057610fe583611148565b610fee81611148565b6001600160a01b03831660009081526067602052604090205415158061103557506001600160a01b0383811660009081526067602052604090206001015461010090041615155b1561106c576040517fc45546f700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040805160608082018352848252600060208084018281526001600160a01b038781168688018181528b831680875260678652898720985189559351600190980180549151909316610100027fffffffffffffffffffffff0000000000000000000000000000000000000000ff981515989098167fffffffffffffffffffffff000000000000000000000000000000000000000000909116179690961790558551888152918201929092529384019290925290917f9b1a157188de9a0bd2e7995d72aaba244d9bd012ddf3ae3d4f492135175070cb9101610bb4565b6001600160a01b0381166107c9576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6107c9611330565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff16156111c357610bc18361145c565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa92505050801561121d575060408051601f3d908101601f1916820190925261121a9181019061199e565b60015b61128f5760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201527f6f6e206973206e6f74205555505300000000000000000000000000000000000060648201526084016106d5565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc81146113245760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f7860448201527f6961626c6555554944000000000000000000000000000000000000000000000060648201526084016106d5565b50610bc1838383611527565b6033546001600160a01b03163314610bd85760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016106d5565b603380546001600160a01b0383811673ffffffffffffffffffffffffffffffffffffffff19831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600054610100900460ff166114545760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b60648201526084016106d5565b610bd8611552565b6001600160a01b0381163b6114d95760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201527f6f74206120636f6e74726163740000000000000000000000000000000000000060648201526084016106d5565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b611530836115c6565b60008251118061153d5750805b15610bc15761154c8383611606565b50505050565b600054610100900460ff166115bd5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b60648201526084016106d5565b610bd83361138a565b6115cf8161145c565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b606061162b8383604051806060016040528060278152602001611a2b60279139611632565b9392505050565b6060600080856001600160a01b03168560405161164f91906119db565b600060405180830381855af49150503d806000811461168a576040519150601f19603f3d011682016040523d82523d6000602084013e61168f565b606091505b50915091506116a0868383876116aa565b9695505050505050565b60608315611719578251600003611712576001600160a01b0385163b6117125760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016106d5565b5081611723565b611723838361172b565b949350505050565b81511561173b5781518083602001fd5b8060405162461bcd60e51b81526004016106d591906119f7565b80356001600160a01b038116811461176c57600080fd5b919050565b60006020828403121561178357600080fd5b61162b82611755565b6000806040838503121561179f57600080fd5b6117a883611755565b91506117b660208401611755565b90509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715611817576118176117bf565b604052919050565b6000806040838503121561183257600080fd5b61183b83611755565b915060208084013567ffffffffffffffff8082111561185957600080fd5b818601915086601f83011261186d57600080fd5b81358181111561187f5761187f6117bf565b611891601f8201601f191685016117ee565b915080825287848285010111156118a757600080fd5b80848401858401376000848284010152508093505050509250929050565b600080604083850312156118d857600080fd5b6118e183611755565b946020939093013593505050565b600080828403606081121561190357600080fd5b61190c84611755565b92506040601f198201121561192057600080fd5b506040516040810181811067ffffffffffffffff82111715611944576119446117bf565b60409081526020858101358352940135938101939093525092909150565b60008060006060848603121561197757600080fd5b61198084611755565b92506020840135915061199560408501611755565b90509250925092565b6000602082840312156119b057600080fd5b5051919050565b60005b838110156119d25781810151838201526020016119ba565b50506000910152565b600082516119ed8184602087016119b7565b9190910192915050565b6020815260008251806020840152611a168160408501602087016119b7565b601f01601f1916919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a264697066735822122052d302b3a9a080211b9b9feb4efbc8d674cbd6c118bd32bde5b8e25591a75ffe64736f6c63430008130033", - "sourceMap": "452:5877:132:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;583:50;;;;;;;;;;-1:-1:-1;583:50:132;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;580:25:151;;;636:2;621:18;;614:34;;;;553:18;583:50:132;;;;;;;;4244:274;;;;;;;;;;-1:-1:-1;4244:274:132;;;;;:::i;:::-;;:::i;:::-;;3143:195:68;;;;;;;;;;-1:-1:-1;3143:195:68;;;;;:::i;:::-;;:::i;639:46:132:-;;;;;;;;;;-1:-1:-1;639:46:132;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;639:46:132;;;;;;;855:25:151;;;923:14;;916:22;911:2;896:18;;889:50;-1:-1:-1;;;;;975:55:151;955:18;;;948:83;843:2;828:18;639:46:132;659:378:151;3168:259:132;;;;;;;;;;-1:-1:-1;3168:259:132;;;;;:::i;:::-;;:::i;5465:345::-;;;;;;;;;;-1:-1:-1;5465:345:132;;;;;:::i;:::-;;:::i;:::-;;;1472:14:151;;1465:22;1447:41;;1435:2;1420:18;5465:345:132;1307:187:151;3657:220:68;;;;;;:::i;:::-;;:::i;2762:131::-;;;;;;;;;;;;;:::i;:::-;;;2956:25:151;;;2944:2;2929:18;2762:131:68;2810:177:151;5028:272:132;;;;;;;;;;-1:-1:-1;5028:272:132;;;;;:::i;:::-;;:::i;2085:101:46:-;;;;;;;;;;;;;:::i;2503:274:132:-;;;;;;;;;;-1:-1:-1;2503:274:132;;;;;:::i;:::-;;:::i;1462:85:46:-;;;;;;;;;;-1:-1:-1;1534:6:46;;-1:-1:-1;;;;;1534:6:46;1462:85;;;-1:-1:-1;;;;;4089:55:151;;;4071:74;;4059:2;4044:18;1462:85:46;3925:226:151;550:26:132;;;;;;;;;;-1:-1:-1;550:26:132;;;;-1:-1:-1;;;;;550:26:132;;;2878:177;;;;;;;;;;-1:-1:-1;2878:177:132;;;;;:::i;:::-;;:::i;5906:122::-;;;;;;;;;;-1:-1:-1;5906:122:132;;;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;6004:17:132;;;;;:10;:17;;;;;;;;;5997:24;;;;;;;;;;;;;;;;;;;;5906:122;;;;;4382:13:151;;4364:32;;4452:4;4440:17;;;4434:24;4412:20;;;4405:54;;;;4337:18;5906:122:132;4156:309:151;2148:172:132;;;;;;;;;;-1:-1:-1;2148:172:132;;;;;:::i;:::-;;:::i;4621:211::-;;;;;;;;;;-1:-1:-1;4621:211:132;;;;;:::i;:::-;;:::i;2335:198:46:-;;;;;;;;;;-1:-1:-1;2335:198:46;;;;;:::i;:::-;;:::i;6130:125:132:-;;;;;;;;;;-1:-1:-1;6130:125:132;;;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6227:21:132;;;;;:10;:21;;;;;6220:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6130:125;;;;;4688:13:151;;4670:32;;4772:4;4760:17;;;4754:24;4747:32;4740:40;4718:20;;;4711:70;4829:17;;;4823:24;-1:-1:-1;;;;;4819:73:151;4797:20;;;4790:103;4658:2;4643:18;6130:125:132;4470:429:151;3595:532:132;;;;;;;;;;-1:-1:-1;3595:532:132;;;;;:::i;:::-;;:::i;4244:274::-;4329:9;1612:7;1534:6:46;;-1:-1:-1;;;;;1534:6:46;;1462:85;1612:7:132;-1:-1:-1;;;;;1598:21:132;:10;-1:-1:-1;;;;;1598:21:132;;:50;;;-1:-1:-1;1637:11:132;;-1:-1:-1;;;;;1637:11:132;1623:10;:25;1598:50;:101;;;-1:-1:-1;;;;;;1666:21:132;;;;;;;:10;:21;;;;;:33;;;;;;;1652:10;:47;1598:101;1594:196;;;4350:29:::1;4369:9;4350:18;:29::i;:::-;-1:-1:-1::0;;;;;4389:21:132;::::1;4420:5;4389:21:::0;;;:10:::1;:21;::::0;;;;;:28:::1;::::0;::::1;:36:::0;;-1:-1:-1;;4389:36:132::1;::::0;;4435:35;;;4485:26;::::1;::::0;4420:5;4485:26:::1;4244:274:::0;;:::o;1594:196::-;1754:25;;;;;;;;;;;;;;1594:196;4244:274;;:::o;3143:195:68:-;-1:-1:-1;;;;;1654:6:68;1637:23;1645:4;1637:23;1629:80;;;;-1:-1:-1;;;1629:80:68;;5439:2:151;1629:80:68;;;5421:21:151;5478:2;5458:18;;;5451:30;5517:34;5497:18;;;5490:62;-1:-1:-1;;;5568:18:151;;;5561:42;5620:19;;1629:80:68;;;;;;;;;1751:6;-1:-1:-1;;;;;1727:30:68;:20;1030:66:64;1254:54;-1:-1:-1;;;;;1254:54:64;;1175:140;1727:20:68;-1:-1:-1;;;;;1727:30:68;;1719:87;;;;-1:-1:-1;;;1719:87:68;;5852:2:151;1719:87:68;;;5834:21:151;5891:2;5871:18;;;5864:30;5930:34;5910:18;;;5903:62;-1:-1:-1;;;5981:18:151;;;5974:42;6033:19;;1719:87:68;5650:408:151;1719:87:68;3224:36:::1;3242:17;3224;:36::i;:::-;3311:12;::::0;;3321:1:::1;3311:12:::0;;;::::1;::::0;::::1;::::0;;;3270:61:::1;::::0;3292:17;;3311:12;3270:21:::1;:61::i;:::-;3143:195:::0;:::o;3168:259:132:-;1355:13:46;:11;:13::i;:::-;3254:31:132::1;3273:11;3254:18;:31::i;:::-;3316:11;::::0;;-1:-1:-1;;;;;3337:25:132;;::::1;-1:-1:-1::0;;3337:25:132;::::1;::::0;::::1;::::0;;;3377:43:::1;::::0;3316:11;::::1;::::0;3337:25;3316:11;;3377:43:::1;::::0;3295:18:::1;::::0;3377:43:::1;3244:183;3168:259:::0;:::o;5465:345::-;-1:-1:-1;;;;;5605:17:132;;;5557:4;5605:17;;;:10;:17;;;;;;;;5573:49;;;;;;;;;;;;;;;;;;;;5659:21;;;;;:10;:21;;;;;5632:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5557:4;;5573:49;5632:48;5691:58;;5734:4;5727:11;;;;;;5691:58;5785:18;5766:15;;:37;;;-1:-1:-1;5465:345:132;;;;;:::o;3657:220:68:-;-1:-1:-1;;;;;1654:6:68;1637:23;1645:4;1637:23;1629:80;;;;-1:-1:-1;;;1629:80:68;;5439:2:151;1629:80:68;;;5421:21:151;5478:2;5458:18;;;5451:30;5517:34;5497:18;;;5490:62;-1:-1:-1;;;5568:18:151;;;5561:42;5620:19;;1629:80:68;5237:408:151;1629:80:68;1751:6;-1:-1:-1;;;;;1727:30:68;:20;1030:66:64;1254:54;-1:-1:-1;;;;;1254:54:64;;1175:140;1727:20:68;-1:-1:-1;;;;;1727:30:68;;1719:87;;;;-1:-1:-1;;;1719:87:68;;5852:2:151;1719:87:68;;;5834:21:151;5891:2;5871:18;;;5864:30;5930:34;5910:18;;;5903:62;-1:-1:-1;;;5981:18:151;;;5974:42;6033:19;;1719:87:68;5650:408:151;1719:87:68;3772:36:::1;3790:17;3772;:36::i;:::-;3818:52;3840:17;3859:4;3865;3818:21;:52::i;2762:131::-:0;2840:7;2080:4;-1:-1:-1;;;;;2089:6:68;2072:23;;2064:92;;;;-1:-1:-1;;;2064:92:68;;6265:2:151;2064:92:68;;;6247:21:151;6304:2;6284:18;;;6277:30;6343:34;6323:18;;;6316:62;6414:26;6394:18;;;6387:54;6458:19;;2064:92:68;6063:420:151;2064:92:68;-1:-1:-1;1030:66:64::1;2762:131:68::0;:::o;5028:272:132:-;5128:9;1612:7;1534:6:46;;-1:-1:-1;;;;;1534:6:46;;1462:85;1612:7:132;-1:-1:-1;;;;;1598:21:132;:10;-1:-1:-1;;;;;1598:21:132;;:50;;;-1:-1:-1;1637:11:132;;-1:-1:-1;;;;;1637:11:132;1623:10;:25;1598:50;:101;;;-1:-1:-1;;;;;;1666:21:132;;;;;;;:10;:21;;;;;:33;;;;;;;1652:10;:47;1598:101;1594:196;;;5149:29:::1;5168:9;5149:18;:29::i;:::-;-1:-1:-1::0;;;;;5188:21:132;::::1;;::::0;;;:10:::1;:21;::::0;;;;;;:47;;;5250:43;::::1;::::0;::::1;::::0;5222:13;2956:25:151;;2944:2;2929:18;;2810:177;5250:43:132::1;;;;;;;;5028:272:::0;;;:::o;1594:196::-;5028:272;;;:::o;2085:101:46:-;1355:13;:11;:13::i;:::-;2149:30:::1;2176:1;2149:18;:30::i;:::-;2085:101::o:0;2503:274:132:-;1534:6:46;;-1:-1:-1;;;;;1534:6:46;1388:10:132;:21;;:50;;-1:-1:-1;1427:11:132;;-1:-1:-1;;;;;1427:11:132;1413:10;:25;1388:50;1384:136;;;2618:25:::1;2637:5;2618:18;:25::i;:::-;-1:-1:-1::0;;;;;2653:17:132;::::1;;::::0;;;:10:::1;:17;::::0;;;;;;;;:33;;;;;;;::::1;::::0;::::1;::::0;;::::1;::::0;;;2701:69;;580:25:151;;;621:18;;;614:34;2701:69:132::1;::::0;553:18:151;2701:69:132::1;;;;;;;4244:274:::0;;:::o;1384:136::-;1493:16;;;;;;;;;;;;;;2878:177;1534:6:46;;-1:-1:-1;;;;;1534:6:46;1388:10:132;:21;;:50;;-1:-1:-1;1427:11:132;;-1:-1:-1;;;;;1427:11:132;1413:10;:25;1388:50;1384:136;;;2956:25:::1;2975:5;2956:18;:25::i;:::-;-1:-1:-1::0;;;;;2998:17:132;::::1;;::::0;;;:10:::1;:17;::::0;;;;;2991:24;;;::::1;;::::0;;;3030:18;::::1;::::0;2998:17;3030:18:::1;3143:195:68::0;:::o;2148:172:132:-;3279:19:48;3302:13;;;;;;3301:14;;3347:34;;;;-1:-1:-1;3365:12:48;;3380:1;3365:12;;;;:16;3347:34;3346:108;;;-1:-1:-1;3426:4:48;1713:19:51;:23;;;3387:66:48;;-1:-1:-1;3436:12:48;;;;;:17;3387:66;3325:201;;;;-1:-1:-1;;;3325:201:48;;6872:2:151;3325:201:48;;;6854:21:151;6911:2;6891:18;;;6884:30;6950:34;6930:18;;;6923:62;7021:16;7001:18;;;6994:44;7055:19;;3325:201:48;6670:410:151;3325:201:48;3536:12;:16;;-1:-1:-1;;3536:16:48;3551:1;3536:16;;;3562:65;;;;3596:13;:20;;-1:-1:-1;;3596:20:48;;;;;3562:65;2219:16:132::1;:14;:16::i;:::-;2245:32;2264:12;2245:18;:32::i;:::-;2287:11;:26:::0;;-1:-1:-1;;2287:26:132::1;-1:-1:-1::0;;;;;2287:26:132;::::1;;::::0;;3647:99:48;;;;3697:5;3681:21;;-1:-1:-1;;3681:21:48;;;3721:14;;-1:-1:-1;7237:36:151;;3721:14:48;;7225:2:151;7210:18;3721:14:48;;;;;;;3269:483;2148:172:132;:::o;4621:211::-;-1:-1:-1;;;;;1870:21:132;;;;;;;:10;:21;;;;;:33;;;4687:9;;1870:33;;;;;1856:10;:47;1852:130;;4708:29:::1;4727:9;4708:18;:29::i;:::-;-1:-1:-1::0;;;;;4747:21:132;::::1;;::::0;;;:10:::1;:21;::::0;;;;;4778:4:::1;4747:28:::0;;::::1;:35:::0;;-1:-1:-1;;4747:35:132::1;::::0;;::::1;::::0;;4797:28;::::1;::::0;4747:21;4797:28:::1;4244:274:::0;;:::o;1852:130::-;1958:13;;;;;;;;;;;;;;2335:198:46;1355:13;:11;:13::i;:::-;-1:-1:-1;;;;;2423:22:46;::::1;2415:73;;;::::0;-1:-1:-1;;;2415:73:46;;7486:2:151;2415:73:46::1;::::0;::::1;7468:21:151::0;7525:2;7505:18;;;7498:30;7564:34;7544:18;;;7537:62;7635:8;7615:18;;;7608:36;7661:19;;2415:73:46::1;7284:402:151::0;2415:73:46::1;2498:28;2517:8;2498:18;:28::i;3595:532:132:-:0;1534:6:46;;-1:-1:-1;;;;;1534:6:46;1388:10:132;:21;;:50;;-1:-1:-1;1427:11:132;;-1:-1:-1;;;;;1427:11:132;1413:10;:25;1388:50;1384:136;;;3711:29:::1;3730:9;3711:18;:29::i;:::-;3750:32;3769:12;3750:18;:32::i;:::-;-1:-1:-1::0;;;;;3796:21:132;::::1;;::::0;;;:10:::1;:21;::::0;;;;:31;:36;::::1;::::0;:87:::1;;-1:-1:-1::0;;;;;;3836:21:132;;::::1;3881:1;3836:21:::0;;;:10:::1;:21;::::0;;;;:33:::1;;::::0;::::1;::::0;::::1;;:47:::0;::::1;3796:87;3792:148;;;3906:23;;;;;;;;;;;;;;3792:148;3973:75;::::0;;::::1;::::0;;::::1;::::0;;;;;-1:-1:-1;3973:75:132::1;::::0;;::::1;::::0;;;-1:-1:-1;;;;;3973:75:132;;::::1;::::0;;;;;;3949:21;;::::1;::::0;;;:10:::1;:21:::0;;;;;:99;;;;;;3973:75;3949:99;;::::1;::::0;;;;;;::::1;;;::::0;;::::1;;::::0;;;;;;;;;;;;::::1;::::0;;4063:57;;855:25:151;;;896:18;;;889:50;;;;955:18;;;948:83;;;;3949:21:132;;4063:57:::1;::::0;828:18:151;4063:57:132::1;659:378:151::0;1994:148:132;-1:-1:-1;;;;;2067:22:132;;2063:73;;2112:13;;;;;;;;;;;;;;6261:66;1355:13:46;:11;:13::i;2494:922:64:-;689:66;2910:48;;;2906:504;;;2974:37;2993:17;2974:18;:37::i;2906:504::-;3064:17;-1:-1:-1;;;;;3046:50:64;;:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3046:52:64;;;;;;;;-1:-1:-1;;3046:52:64;;;;;;;;;;;;:::i;:::-;;;3042:291;;3262:56;;-1:-1:-1;;;3262:56:64;;8082:2:151;3262:56:64;;;8064:21:151;8121:2;8101:18;;;8094:30;8160:34;8140:18;;;8133:62;8231:16;8211:18;;;8204:44;8265:19;;3262:56:64;7880:410:151;3042:291:64;1030:66;3148:28;;3140:82;;;;-1:-1:-1;;;3140:82:64;;8497:2:151;3140:82:64;;;8479:21:151;8536:2;8516:18;;;8509:30;8575:34;8555:18;;;8548:62;8646:11;8626:18;;;8619:39;8675:19;;3140:82:64;8295:405:151;3140:82:64;3099:138;3346:53;3364:17;3383:4;3389:9;3346:17;:53::i;1620:130:46:-;1534:6;;-1:-1:-1;;;;;1534:6:46;965:10:52;1683:23:46;1675:68;;;;-1:-1:-1;;;1675:68:46;;8907:2:151;1675:68:46;;;8889:21:151;;;8926:18;;;8919:30;8985:34;8965:18;;;8958:62;9037:18;;1675:68:46;8705:356:151;2687:187:46;2779:6;;;-1:-1:-1;;;;;2795:17:46;;;-1:-1:-1;;2795:17:46;;;;;;;2827:40;;2779:6;;;2795:17;2779:6;;2827:40;;2760:16;;2827:40;2750:124;2687:187;:::o;1024:95::-;5374:13:48;;;;;;;5366:69;;;;-1:-1:-1;;;5366:69:48;;9268:2:151;5366:69:48;;;9250:21:151;9307:2;9287:18;;;9280:30;9346:34;9326:18;;;9319:62;-1:-1:-1;;;9397:18:151;;;9390:41;9448:19;;5366:69:48;9066:407:151;5366:69:48;1086:26:46::1;:24;:26::i;1406:259:64:-:0;-1:-1:-1;;;;;1713:19:51;;;1479:95:64;;;;-1:-1:-1;;;1479:95:64;;9680:2:151;1479:95:64;;;9662:21:151;9719:2;9699:18;;;9692:30;9758:34;9738:18;;;9731:62;9829:15;9809:18;;;9802:43;9862:19;;1479:95:64;9478:409:151;1479:95:64;1030:66;1584:74;;-1:-1:-1;;1584:74:64;-1:-1:-1;;;;;1584:74:64;;;;;;;;;;1406:259::o;2057:265::-;2165:29;2176:17;2165:10;:29::i;:::-;2222:1;2208:4;:11;:15;:28;;;;2227:9;2208:28;2204:112;;;2252:53;2281:17;2300:4;2252:28;:53::i;:::-;;2057:265;;;:::o;1125:111:46:-;5374:13:48;;;;;;;5366:69;;;;-1:-1:-1;;;5366:69:48;;9268:2:151;5366:69:48;;;9250:21:151;9307:2;9287:18;;;9280:30;9346:34;9326:18;;;9319:62;-1:-1:-1;;;9397:18:151;;;9390:41;9448:19;;5366:69:48;9066:407:151;5366:69:48;1197:32:46::1;965:10:52::0;1197:18:46::1;:32::i;1771:152:64:-:0;1837:37;1856:17;1837:18;:37::i;:::-;1889:27;;-1:-1:-1;;;;;1889:27:64;;;;;;;;1771:152;:::o;6674:198:80:-;6757:12;6788:77;6809:6;6817:4;6788:77;;;;;;;;;;;;;;;;;:20;:77::i;:::-;6781:84;6674:198;-1:-1:-1;;;6674:198:80:o;7058:325::-;7199:12;7224;7238:23;7265:6;-1:-1:-1;;;;;7265:19:80;7285:4;7265:25;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7223:67;;;;7307:69;7334:6;7342:7;7351:10;7363:12;7307:26;:69::i;:::-;7300:76;7058:325;-1:-1:-1;;;;;;7058:325:80:o;7671:628::-;7851:12;7879:7;7875:418;;;7906:10;:17;7927:1;7906:22;7902:286;;-1:-1:-1;;;;;1713:19:51;;;8113:60:80;;;;-1:-1:-1;;;8113:60:80;;10641:2:151;8113:60:80;;;10623:21:151;10680:2;10660:18;;;10653:30;10719:31;10699:18;;;10692:59;10768:18;;8113:60:80;10439:353:151;8113:60:80;-1:-1:-1;8208:10:80;8201:17;;7875:418;8249:33;8257:10;8269:12;8249:7;:33::i;:::-;7671:628;;;;;;:::o;8821:540::-;8980:17;;:21;8976:379;;9208:10;9202:17;9264:15;9251:10;9247:2;9243:19;9236:44;8976:379;9331:12;9324:20;;-1:-1:-1;;;9324:20:80;;;;;;;;:::i;14:196:151:-;82:20;;-1:-1:-1;;;;;131:54:151;;121:65;;111:93;;200:1;197;190:12;111:93;14:196;;;:::o;215:186::-;274:6;327:2;315:9;306:7;302:23;298:32;295:52;;;343:1;340;333:12;295:52;366:29;385:9;366:29;:::i;1042:260::-;1110:6;1118;1171:2;1159:9;1150:7;1146:23;1142:32;1139:52;;;1187:1;1184;1177:12;1139:52;1210:29;1229:9;1210:29;:::i;:::-;1200:39;;1258:38;1292:2;1281:9;1277:18;1258:38;:::i;:::-;1248:48;;1042:260;;;;;:::o;1499:184::-;1551:77;1548:1;1541:88;1648:4;1645:1;1638:15;1672:4;1669:1;1662:15;1688:275;1759:2;1753:9;1824:2;1805:13;;-1:-1:-1;;1801:27:151;1789:40;;1859:18;1844:34;;1880:22;;;1841:62;1838:88;;;1906:18;;:::i;:::-;1942:2;1935:22;1688:275;;-1:-1:-1;1688:275:151:o;1968:837::-;2045:6;2053;2106:2;2094:9;2085:7;2081:23;2077:32;2074:52;;;2122:1;2119;2112:12;2074:52;2145:29;2164:9;2145:29;:::i;:::-;2135:39;;2193:2;2246;2235:9;2231:18;2218:32;2269:18;2310:2;2302:6;2299:14;2296:34;;;2326:1;2323;2316:12;2296:34;2364:6;2353:9;2349:22;2339:32;;2409:7;2402:4;2398:2;2394:13;2390:27;2380:55;;2431:1;2428;2421:12;2380:55;2467:2;2454:16;2489:2;2485;2482:10;2479:36;;;2495:18;;:::i;:::-;2537:53;2580:2;2561:13;;-1:-1:-1;;2557:27:151;2553:36;;2537:53;:::i;:::-;2524:66;;2613:2;2606:5;2599:17;2653:7;2648:2;2643;2639;2635:11;2631:20;2628:33;2625:53;;;2674:1;2671;2664:12;2625:53;2729:2;2724;2720;2716:11;2711:2;2704:5;2700:14;2687:45;2773:1;2768:2;2763;2756:5;2752:14;2748:23;2741:34;;2794:5;2784:15;;;;;1968:837;;;;;:::o;2992:254::-;3060:6;3068;3121:2;3109:9;3100:7;3096:23;3092:32;3089:52;;;3137:1;3134;3127:12;3089:52;3160:29;3179:9;3160:29;:::i;:::-;3150:39;3236:2;3221:18;;;;3208:32;;-1:-1:-1;;;2992:254:151:o;3251:669::-;3350:6;3358;3402:9;3393:7;3389:23;3432:2;3428;3424:11;3421:31;;;3448:1;3445;3438:12;3421:31;3471:29;3490:9;3471:29;:::i;:::-;3461:39;-1:-1:-1;3534:4:151;-1:-1:-1;;3516:16:151;;3512:27;3509:47;;;3552:1;3549;3542:12;3509:47;;3585:4;3579:11;3629:4;3621:6;3617:17;3700:6;3688:10;3685:22;3664:18;3652:10;3649:34;3646:62;3643:88;;;3711:18;;:::i;:::-;3747:4;3740:24;;;3816:2;3801:18;;;3788:32;3773:48;;3867:20;;3854:34;3837:15;;;3830:59;;;;-1:-1:-1;3251:669:151;3780:6;;-1:-1:-1;3251:669:151:o;4904:328::-;4981:6;4989;4997;5050:2;5038:9;5029:7;5025:23;5021:32;5018:52;;;5066:1;5063;5056:12;5018:52;5089:29;5108:9;5089:29;:::i;:::-;5079:39;;5165:2;5154:9;5150:18;5137:32;5127:42;;5188:38;5222:2;5211:9;5207:18;5188:38;:::i;:::-;5178:48;;4904:328;;;;;:::o;7691:184::-;7761:6;7814:2;7802:9;7793:7;7789:23;7785:32;7782:52;;;7830:1;7827;7820:12;7782:52;-1:-1:-1;7853:16:151;;7691:184;-1:-1:-1;7691:184:151:o;9892:250::-;9977:1;9987:113;10001:6;9998:1;9995:13;9987:113;;;10077:11;;;10071:18;10058:11;;;10051:39;10023:2;10016:10;9987:113;;;-1:-1:-1;;10134:1:151;10116:16;;10109:27;9892:250::o;10147:287::-;10276:3;10314:6;10308:13;10330:66;10389:6;10384:3;10377:4;10369:6;10365:17;10330:66;:::i;:::-;10412:16;;;;;10147:287;-1:-1:-1;;10147:287:151:o;10797:396::-;10946:2;10935:9;10928:21;10909:4;10978:6;10972:13;11021:6;11016:2;11005:9;11001:18;10994:34;11037:79;11109:6;11104:2;11093:9;11089:18;11084:2;11076:6;11072:15;11037:79;:::i;:::-;11177:2;11156:15;-1:-1:-1;;11152:29:151;11137:45;;;;11184:2;11133:54;;10797:396;-1:-1:-1;;10797:396:151:o", - "linkReferences": {}, - "immutableReferences": { - "56113": [ - { - "start": 1622, - "length": 32 - }, - { - "start": 1760, - "length": 32 - }, - { - "start": 2254, - "length": 32 - }, - { - "start": 2387, - "length": 32 - }, - { - "start": 2617, - "length": 32 - } - ] - } - }, - "methodIdentifiers": { - "activateStrategy(address)": "d80ea5a0", - "addStrategy(address,uint256,address)": "fc2ebdd1", - "addUserScore(address,(uint256,uint256))": "7814d568", - "canExecuteAction(address,address)": "42a987a0", - "changeListManager(address)": "3d476830", - "getStrategy(address)": "f8806a13", - "getUserScore(address)": "b34e0c47", - "initialize(address)": "c4d66de8", - "listManager()": "8df8b2fe", - "modifyThreshold(address,uint256)": "642ce76b", - "owner()": "8da5cb5b", - "proxiableUUID()": "52d1902d", - "removeStrategy(address)": "175188e8", - "removeUser(address)": "98575188", - "renounceOwnership()": "715018a6", - "strategies(address)": "39ebf823", - "transferOwnership(address)": "f2fde38b", - "upgradeTo(address)": "3659cfe6", - "upgradeToAndCall(address,bytes)": "4f1ef286", - "userScores(address)": "1413d4c0" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"OnlyAuthorized\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"OnlyCouncil\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"OnlyCouncilOrAuthorized\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"StrategyAlreadyExists\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ZeroAddress\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"previousAdmin\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"newAdmin\",\"type\":\"address\"}],\"name\":\"AdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"beacon\",\"type\":\"address\"}],\"name\":\"BeaconUpgraded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"version\",\"type\":\"uint8\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"oldManager\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newManager\",\"type\":\"address\"}],\"name\":\"ListManagerChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"strategy\",\"type\":\"address\"}],\"name\":\"StrategyActivated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"strategy\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"threshold\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"active\",\"type\":\"bool\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"councilSafe\",\"type\":\"address\"}],\"name\":\"StrategyAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"strategy\",\"type\":\"address\"}],\"name\":\"StrategyRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"strategy\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newThreshold\",\"type\":\"uint256\"}],\"name\":\"ThresholdModified\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"Upgraded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"UserRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"score\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"lastUpdated\",\"type\":\"uint256\"}],\"name\":\"UserScoreAdded\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"}],\"name\":\"activateStrategy\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_threshold\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_councilSafe\",\"type\":\"address\"}],\"name\":\"addStrategy\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"score\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"lastUpdated\",\"type\":\"uint256\"}],\"internalType\":\"struct PassportData\",\"name\":\"_passportData\",\"type\":\"tuple\"}],\"name\":\"addUserScore\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"}],\"name\":\"canExecuteAction\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_newManager\",\"type\":\"address\"}],\"name\":\"changeListManager\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"}],\"name\":\"getStrategy\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"threshold\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"active\",\"type\":\"bool\"},{\"internalType\":\"address\",\"name\":\"councilSafe\",\"type\":\"address\"}],\"internalType\":\"struct Strategy\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"}],\"name\":\"getUserScore\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"score\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"lastUpdated\",\"type\":\"uint256\"}],\"internalType\":\"struct PassportData\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_listManager\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"listManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_newThreshold\",\"type\":\"uint256\"}],\"name\":\"modifyThreshold\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proxiableUUID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"}],\"name\":\"removeStrategy\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"}],\"name\":\"removeUser\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"strategies\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"threshold\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"active\",\"type\":\"bool\"},{\"internalType\":\"address\",\"name\":\"councilSafe\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"}],\"name\":\"upgradeTo\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"upgradeToAndCall\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"userScores\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"score\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"lastUpdated\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"events\":{\"AdminChanged(address,address)\":{\"details\":\"Emitted when the admin account has changed.\"},\"BeaconUpgraded(address)\":{\"details\":\"Emitted when the beacon is changed.\"},\"Initialized(uint8)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"Upgraded(address)\":{\"details\":\"Emitted when the implementation is upgraded.\"}},\"kind\":\"dev\",\"methods\":{\"activateStrategy(address)\":{\"params\":{\"_strategy\":\"address of the strategy to activate\"}},\"addStrategy(address,uint256,address)\":{\"params\":{\"_councilSafe\":\"address of the council safe\",\"_threshold\":\"is expressed on a scale of 10**4\"}},\"addUserScore(address,(uint256,uint256))\":{\"params\":{\"_passportData\":\"PassportData struct with the user score and lastUpdated\",\"_user\":\"address of the user to add\"}},\"canExecuteAction(address,address)\":{\"params\":{\"_strategy\":\"address of the strategy to check\",\"_user\":\"address of the user to check\"}},\"changeListManager(address)\":{\"params\":{\"_newManager\":\"address of the new list manager\"}},\"getStrategy(address)\":{\"params\":{\"_strategy\":\"address of the strategy to check\"}},\"getUserScore(address)\":{\"params\":{\"_user\":\"address of the user to check\"}},\"modifyThreshold(address,uint256)\":{\"params\":{\"_newThreshold\":\"new threshold to set expressed on a scale of 10**4\",\"_strategy\":\"address of the strategy to modify\"}},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"proxiableUUID()\":{\"details\":\"Implementation of the ERC1822 {proxiableUUID} function. This returns the storage slot used by the implementation. It is used to validate the implementation's compatibility when performing an upgrade. IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this function revert if invoked through a proxy. This is guaranteed by the `notDelegated` modifier.\"},\"removeStrategy(address)\":{\"params\":{\"_strategy\":\"address of the strategy to remove\"}},\"removeUser(address)\":{\"params\":{\"_user\":\"address of the user to remove\"}},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"},\"upgradeTo(address)\":{\"custom:oz-upgrades-unsafe-allow-reachable\":\"delegatecall\",\"details\":\"Upgrade the implementation of the proxy to `newImplementation`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event.\"},\"upgradeToAndCall(address,bytes)\":{\"custom:oz-upgrades-unsafe-allow-reachable\":\"delegatecall\",\"details\":\"Upgrade the implementation of the proxy to `newImplementation`, and subsequently execute the function call encoded in `data`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"activateStrategy(address)\":{\"notice\":\"Activate a strategy\"},\"addStrategy(address,uint256,address)\":{\"notice\":\"Add a strategy to the contract\"},\"addUserScore(address,(uint256,uint256))\":{\"notice\":\"Add a userScore to the list\"},\"canExecuteAction(address,address)\":{\"notice\":\"Check if an action can be executed\"},\"changeListManager(address)\":{\"notice\":\"Change the list manager address\"},\"getStrategy(address)\":{\"notice\":\"Get the strategy data\"},\"getUserScore(address)\":{\"notice\":\"Get the score of a user\"},\"modifyThreshold(address,uint256)\":{\"notice\":\"Modify the threshold of a strategy\"},\"removeStrategy(address)\":{\"notice\":\"Remove a strategy from the contract\"},\"removeUser(address)\":{\"notice\":\"Remove a user from the list\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"pkg/contracts/src/PassportScorer.sol\":\"PassportScorer\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1000},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-contracts/=lib/safe-contracts/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"]},\"sources\":{\"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol\":{\"keccak256\":\"0x359a1ab89b46b9aba7bcad3fb651924baf4893d15153049b9976b0fc9be1358e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e89863421b4014b96a4b62be76eb3b9f0a8afe9684664a6f389124c0964bfe5c\",\"dweb:/ipfs/Qmbk7xr1irpDuU1WdxXgxELBXxs61rHhCgod7heVcvFx16\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e\",\"dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b\",\"dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95\",\"dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol\":{\"keccak256\":\"0x3cbef5ebc24b415252e2f8c0c9254555d30d9f085603b4b80d9b5ed20ab87e90\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e8fa670c3bdce78e642cc6ae11c4cb38b133499cdce5e1990a9979d424703263\",\"dweb:/ipfs/QmVxeCUk4jL2pXQyhsoNJwyU874wRufS2WvGe8TgPKPqhE\"]},\"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol\":{\"keccak256\":\"0x1d4afe6cb24200cc4545eed814ecf5847277dfe5d613a1707aad5fceecebcfff\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://383fb7b8181016ac5ccf07bc9cdb7c1b5045ea36e2cc4df52bcbf20396fc7688\",\"dweb:/ipfs/QmYJ7Cg4WmE3rR8KGQxjUCXFfTH6TcwZ2Z1f6tPrq7jHFr\"]},\"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Upgrade.sol\":{\"keccak256\":\"0x3b21ae06bf5957f73fa16754b0669c77b7abd8ba6c072d35c3281d446fdb86c2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2db8e18505e86e02526847005d7287a33e397ed7fb9eaba3fd4a4a197add16e2\",\"dweb:/ipfs/QmW9BSuKTzHWHBNSHF4L8XfVuU1uJrP2vLg84YtBd8mL82\"]},\"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0xd50a3421ac379ccb1be435fa646d66a65c986b4924f0849839f08692f39dde61\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ada1e030c0231db8d143b44ce92b4d1158eedb087880cad6d8cc7bd7ebe7b354\",\"dweb:/ipfs/QmWZ2NHZweRpz1U9GF6R1h65ri76dnX7fNxLBeM2t5N5Ce\"]},\"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol\":{\"keccak256\":\"0xc6619957bcc6641fe8984bfaf9ff11a9e4b97d8149c0495f608f9a2416d7c5cf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://543be67f7fa43b1b932637c1c7f12035f0f4b0f7ee2bd3c33841186f79c165c1\",\"dweb:/ipfs/QmSBPM2UVKbmJqWfD9i6hSiqbaE8TV4TSqfuiivziRRLKM\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]},\"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xf09e68aa0dc6722a25bc46490e8d48ed864466d17313b8a0b254c36b54e49899\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e26daf81e2252dc1fe1ce0e4b55c2eb7c6d1ee84ae6558d1a9554432ea1d32da\",\"dweb:/ipfs/Qmb1UANWiWq5pCKbmHSu772hd4nt374dVaghGmwSVNuk8Q\"]},\"pkg/contracts/src/ISybilScorer.sol\":{\"keccak256\":\"0x0e25fbb8497ac3c969d80c9032362d45e56c0a45dc9ba3dff6a8a704571f38ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0dff90ebae6e7131a5300fcaf525bc2ab0ae90fcd13f277d7b7b6939eeb8b7eb\",\"dweb:/ipfs/QmYGkYqpUVrBWoNY6f3CtwrrVQFWSvnJfpu68t95f6AkBY\"]},\"pkg/contracts/src/PassportScorer.sol\":{\"keccak256\":\"0x1244948644eb13bbdbf2b62e465427229a9e227e0c214c92eeaf6021401a6513\",\"license\":\"AGPL-3.0-or-later\",\"urls\":[\"bzz-raw://02dc7d6dcc3c0fe5bdd401f58c2b767030a31878734b133e09ea0aa282566d23\",\"dweb:/ipfs/QmVY9NQLx4kKyV7Cxbj9yA4soZ7DuNUEHHPoNfcdmauM3M\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.8.19+commit.7dd6d404" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [], - "type": "error", - "name": "OnlyAuthorized" - }, - { - "inputs": [], - "type": "error", - "name": "OnlyCouncil" - }, - { - "inputs": [], - "type": "error", - "name": "OnlyCouncilOrAuthorized" - }, - { - "inputs": [], - "type": "error", - "name": "StrategyAlreadyExists" - }, - { - "inputs": [], - "type": "error", - "name": "ZeroAddress" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "previousAdmin", - "type": "address", - "indexed": false - }, - { - "internalType": "address", - "name": "newAdmin", - "type": "address", - "indexed": false - } - ], - "type": "event", - "name": "AdminChanged", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "beacon", - "type": "address", - "indexed": true - } - ], - "type": "event", - "name": "BeaconUpgraded", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "uint8", - "name": "version", - "type": "uint8", - "indexed": false - } - ], - "type": "event", - "name": "Initialized", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "oldManager", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "newManager", - "type": "address", - "indexed": true - } - ], - "type": "event", - "name": "ListManagerChanged", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "previousOwner", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "newOwner", - "type": "address", - "indexed": true - } - ], - "type": "event", - "name": "OwnershipTransferred", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "strategy", - "type": "address", - "indexed": true - } - ], - "type": "event", - "name": "StrategyActivated", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "strategy", - "type": "address", - "indexed": true - }, - { - "internalType": "uint256", - "name": "threshold", - "type": "uint256", - "indexed": false - }, - { - "internalType": "bool", - "name": "active", - "type": "bool", - "indexed": false - }, - { - "internalType": "address", - "name": "councilSafe", - "type": "address", - "indexed": false - } - ], - "type": "event", - "name": "StrategyAdded", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "strategy", - "type": "address", - "indexed": true - } - ], - "type": "event", - "name": "StrategyRemoved", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "strategy", - "type": "address", - "indexed": true - }, - { - "internalType": "uint256", - "name": "newThreshold", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "ThresholdModified", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "implementation", - "type": "address", - "indexed": true - } - ], - "type": "event", - "name": "Upgraded", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "user", - "type": "address", - "indexed": true - } - ], - "type": "event", - "name": "UserRemoved", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "user", - "type": "address", - "indexed": true - }, - { - "internalType": "uint256", - "name": "score", - "type": "uint256", - "indexed": false - }, - { - "internalType": "uint256", - "name": "lastUpdated", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "UserScoreAdded", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_strategy", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "activateStrategy" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_strategy", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_threshold", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_councilSafe", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "addStrategy" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_user", - "type": "address" - }, - { - "internalType": "struct PassportData", - "name": "_passportData", - "type": "tuple", - "components": [ - { - "internalType": "uint256", - "name": "score", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "lastUpdated", - "type": "uint256" - } - ] - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "addUserScore" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_user", - "type": "address" - }, - { - "internalType": "address", - "name": "_strategy", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "canExecuteAction", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_newManager", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "changeListManager" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_strategy", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getStrategy", - "outputs": [ - { - "internalType": "struct Strategy", - "name": "", - "type": "tuple", - "components": [ - { - "internalType": "uint256", - "name": "threshold", - "type": "uint256" - }, - { - "internalType": "bool", - "name": "active", - "type": "bool" - }, - { - "internalType": "address", - "name": "councilSafe", - "type": "address" - } - ] - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_user", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getUserScore", - "outputs": [ - { - "internalType": "struct PassportData", - "name": "", - "type": "tuple", - "components": [ - { - "internalType": "uint256", - "name": "score", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "lastUpdated", - "type": "uint256" - } - ] - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_listManager", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "initialize" - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "listManager", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_strategy", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_newThreshold", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "modifyThreshold" - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "proxiableUUID", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_strategy", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "removeStrategy" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_user", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "removeUser" - }, - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "function", - "name": "renounceOwnership" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "strategies", - "outputs": [ - { - "internalType": "uint256", - "name": "threshold", - "type": "uint256" - }, - { - "internalType": "bool", - "name": "active", - "type": "bool" - }, - { - "internalType": "address", - "name": "councilSafe", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "transferOwnership" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "newImplementation", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "upgradeTo" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "newImplementation", - "type": "address" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "stateMutability": "payable", - "type": "function", - "name": "upgradeToAndCall" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "userScores", - "outputs": [ - { - "internalType": "uint256", - "name": "score", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "lastUpdated", - "type": "uint256" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "activateStrategy(address)": { - "params": { - "_strategy": "address of the strategy to activate" - } - }, - "addStrategy(address,uint256,address)": { - "params": { - "_councilSafe": "address of the council safe", - "_threshold": "is expressed on a scale of 10**4" - } - }, - "addUserScore(address,(uint256,uint256))": { - "params": { - "_passportData": "PassportData struct with the user score and lastUpdated", - "_user": "address of the user to add" - } - }, - "canExecuteAction(address,address)": { - "params": { - "_strategy": "address of the strategy to check", - "_user": "address of the user to check" - } - }, - "changeListManager(address)": { - "params": { - "_newManager": "address of the new list manager" - } - }, - "getStrategy(address)": { - "params": { - "_strategy": "address of the strategy to check" - } - }, - "getUserScore(address)": { - "params": { - "_user": "address of the user to check" - } - }, - "modifyThreshold(address,uint256)": { - "params": { - "_newThreshold": "new threshold to set expressed on a scale of 10**4", - "_strategy": "address of the strategy to modify" - } - }, - "owner()": { - "details": "Returns the address of the current owner." - }, - "proxiableUUID()": { - "details": "Implementation of the ERC1822 {proxiableUUID} function. This returns the storage slot used by the implementation. It is used to validate the implementation's compatibility when performing an upgrade. IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this function revert if invoked through a proxy. This is guaranteed by the `notDelegated` modifier." - }, - "removeStrategy(address)": { - "params": { - "_strategy": "address of the strategy to remove" - } - }, - "removeUser(address)": { - "params": { - "_user": "address of the user to remove" - } - }, - "renounceOwnership()": { - "details": "Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner." - }, - "transferOwnership(address)": { - "details": "Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner." - }, - "upgradeTo(address)": { - "custom:oz-upgrades-unsafe-allow-reachable": "delegatecall", - "details": "Upgrade the implementation of the proxy to `newImplementation`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event." - }, - "upgradeToAndCall(address,bytes)": { - "custom:oz-upgrades-unsafe-allow-reachable": "delegatecall", - "details": "Upgrade the implementation of the proxy to `newImplementation`, and subsequently execute the function call encoded in `data`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event." - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": { - "activateStrategy(address)": { - "notice": "Activate a strategy" - }, - "addStrategy(address,uint256,address)": { - "notice": "Add a strategy to the contract" - }, - "addUserScore(address,(uint256,uint256))": { - "notice": "Add a userScore to the list" - }, - "canExecuteAction(address,address)": { - "notice": "Check if an action can be executed" - }, - "changeListManager(address)": { - "notice": "Change the list manager address" - }, - "getStrategy(address)": { - "notice": "Get the strategy data" - }, - "getUserScore(address)": { - "notice": "Get the score of a user" - }, - "modifyThreshold(address,uint256)": { - "notice": "Modify the threshold of a strategy" - }, - "removeStrategy(address)": { - "notice": "Remove a strategy from the contract" - }, - "removeUser(address)": { - "notice": "Remove a user from the list" - } - }, - "version": 1 - } - }, - "settings": { - "remappings": [ - "@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/", - "@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/", - "@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/", - "@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/", - "@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/", - "@sablier/v2-core/=lib/allo-v2/lib/v2-core/", - "ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/", - "allo-v2-contracts/=lib/allo-v2/contracts/", - "allo-v2-test/=lib/allo-v2/test/", - "allo-v2/=lib/allo-v2/", - "ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/", - "eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/", - "erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/", - "forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/", - "forge-std/=lib/forge-std/src/", - "hats-protocol/=lib/allo-v2/lib/hats-protocol/", - "openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/", - "openzeppelin-contracts/=lib/openzeppelin-contracts/", - "openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/", - "openzeppelin/=lib/openzeppelin-contracts/contracts/", - "permit2/=lib/allo-v2/lib/permit2/", - "prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/", - "prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/", - "safe-contracts/=lib/safe-contracts/", - "solady/=lib/allo-v2/lib/solady/", - "solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/", - "solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/", - "solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/", - "solmate/=lib/allo-v2/lib/permit2/lib/solmate/", - "utils/=lib/allo-v2/lib/hats-protocol/lib/utils/", - "v2-core/=lib/allo-v2/lib/v2-core/" - ], - "optimizer": { - "enabled": true, - "runs": 1000 - }, - "metadata": { - "bytecodeHash": "ipfs" - }, - "compilationTarget": { - "pkg/contracts/src/PassportScorer.sol": "PassportScorer" - }, - "evmVersion": "paris", - "libraries": {} - }, - "sources": { - "lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol": { - "keccak256": "0x359a1ab89b46b9aba7bcad3fb651924baf4893d15153049b9976b0fc9be1358e", - "urls": [ - "bzz-raw://e89863421b4014b96a4b62be76eb3b9f0a8afe9684664a6f389124c0964bfe5c", - "dweb:/ipfs/Qmbk7xr1irpDuU1WdxXgxELBXxs61rHhCgod7heVcvFx16" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol": { - "keccak256": "0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794", - "urls": [ - "bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e", - "dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol": { - "keccak256": "0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422", - "urls": [ - "bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b", - "dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol": { - "keccak256": "0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef", - "urls": [ - "bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95", - "dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol": { - "keccak256": "0x3cbef5ebc24b415252e2f8c0c9254555d30d9f085603b4b80d9b5ed20ab87e90", - "urls": [ - "bzz-raw://e8fa670c3bdce78e642cc6ae11c4cb38b133499cdce5e1990a9979d424703263", - "dweb:/ipfs/QmVxeCUk4jL2pXQyhsoNJwyU874wRufS2WvGe8TgPKPqhE" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol": { - "keccak256": "0x1d4afe6cb24200cc4545eed814ecf5847277dfe5d613a1707aad5fceecebcfff", - "urls": [ - "bzz-raw://383fb7b8181016ac5ccf07bc9cdb7c1b5045ea36e2cc4df52bcbf20396fc7688", - "dweb:/ipfs/QmYJ7Cg4WmE3rR8KGQxjUCXFfTH6TcwZ2Z1f6tPrq7jHFr" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Upgrade.sol": { - "keccak256": "0x3b21ae06bf5957f73fa16754b0669c77b7abd8ba6c072d35c3281d446fdb86c2", - "urls": [ - "bzz-raw://2db8e18505e86e02526847005d7287a33e397ed7fb9eaba3fd4a4a197add16e2", - "dweb:/ipfs/QmW9BSuKTzHWHBNSHF4L8XfVuU1uJrP2vLg84YtBd8mL82" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol": { - "keccak256": "0xd50a3421ac379ccb1be435fa646d66a65c986b4924f0849839f08692f39dde61", - "urls": [ - "bzz-raw://ada1e030c0231db8d143b44ce92b4d1158eedb087880cad6d8cc7bd7ebe7b354", - "dweb:/ipfs/QmWZ2NHZweRpz1U9GF6R1h65ri76dnX7fNxLBeM2t5N5Ce" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol": { - "keccak256": "0xc6619957bcc6641fe8984bfaf9ff11a9e4b97d8149c0495f608f9a2416d7c5cf", - "urls": [ - "bzz-raw://543be67f7fa43b1b932637c1c7f12035f0f4b0f7ee2bd3c33841186f79c165c1", - "dweb:/ipfs/QmSBPM2UVKbmJqWfD9i6hSiqbaE8TV4TSqfuiivziRRLKM" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/utils/Address.sol": { - "keccak256": "0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa", - "urls": [ - "bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931", - "dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol": { - "keccak256": "0xf09e68aa0dc6722a25bc46490e8d48ed864466d17313b8a0b254c36b54e49899", - "urls": [ - "bzz-raw://e26daf81e2252dc1fe1ce0e4b55c2eb7c6d1ee84ae6558d1a9554432ea1d32da", - "dweb:/ipfs/Qmb1UANWiWq5pCKbmHSu772hd4nt374dVaghGmwSVNuk8Q" - ], - "license": "MIT" - }, - "pkg/contracts/src/ISybilScorer.sol": { - "keccak256": "0x0e25fbb8497ac3c969d80c9032362d45e56c0a45dc9ba3dff6a8a704571f38ea", - "urls": [ - "bzz-raw://0dff90ebae6e7131a5300fcaf525bc2ab0ae90fcd13f277d7b7b6939eeb8b7eb", - "dweb:/ipfs/QmYGkYqpUVrBWoNY6f3CtwrrVQFWSvnJfpu68t95f6AkBY" - ], - "license": "MIT" - }, - "pkg/contracts/src/PassportScorer.sol": { - "keccak256": "0x1244948644eb13bbdbf2b62e465427229a9e227e0c214c92eeaf6021401a6513", - "urls": [ - "bzz-raw://02dc7d6dcc3c0fe5bdd401f58c2b767030a31878734b133e09ea0aa282566d23", - "dweb:/ipfs/QmVY9NQLx4kKyV7Cxbj9yA4soZ7DuNUEHHPoNfcdmauM3M" - ], - "license": "AGPL-3.0-or-later" - } - }, - "version": 1 - }, - "storageLayout": { - "storage": [ - { - "astId": 53029, - "contract": "pkg/contracts/src/PassportScorer.sol:PassportScorer", - "label": "_initialized", - "offset": 0, - "slot": "0", - "type": "t_uint8" - }, - { - "astId": 53032, - "contract": "pkg/contracts/src/PassportScorer.sol:PassportScorer", - "label": "_initializing", - "offset": 1, - "slot": "0", - "type": "t_bool" - }, - { - "astId": 53734, - "contract": "pkg/contracts/src/PassportScorer.sol:PassportScorer", - "label": "__gap", - "offset": 0, - "slot": "1", - "type": "t_array(t_uint256)50_storage" - }, - { - "astId": 52821, - "contract": "pkg/contracts/src/PassportScorer.sol:PassportScorer", - "label": "_owner", - "offset": 0, - "slot": "51", - "type": "t_address" - }, - { - "astId": 52941, - "contract": "pkg/contracts/src/PassportScorer.sol:PassportScorer", - "label": "__gap", - "offset": 0, - "slot": "52", - "type": "t_array(t_uint256)49_storage" - }, - { - "astId": 80689, - "contract": "pkg/contracts/src/PassportScorer.sol:PassportScorer", - "label": "listManager", - "offset": 0, - "slot": "101", - "type": "t_address" - }, - { - "astId": 80694, - "contract": "pkg/contracts/src/PassportScorer.sol:PassportScorer", - "label": "userScores", - "offset": 0, - "slot": "102", - "type": "t_mapping(t_address,t_struct(PassportData)80585_storage)" - }, - { - "astId": 80699, - "contract": "pkg/contracts/src/PassportScorer.sol:PassportScorer", - "label": "strategies", - "offset": 0, - "slot": "103", - "type": "t_mapping(t_address,t_struct(Strategy)80592_storage)" - } - ], - "types": { - "t_address": { - "encoding": "inplace", - "label": "address", - "numberOfBytes": "20" - }, - "t_array(t_uint256)49_storage": { - "encoding": "inplace", - "label": "uint256[49]", - "numberOfBytes": "1568", - "base": "t_uint256" - }, - "t_array(t_uint256)50_storage": { - "encoding": "inplace", - "label": "uint256[50]", - "numberOfBytes": "1600", - "base": "t_uint256" - }, - "t_bool": { - "encoding": "inplace", - "label": "bool", - "numberOfBytes": "1" - }, - "t_mapping(t_address,t_struct(PassportData)80585_storage)": { - "encoding": "mapping", - "key": "t_address", - "label": "mapping(address => struct PassportData)", - "numberOfBytes": "32", - "value": "t_struct(PassportData)80585_storage" - }, - "t_mapping(t_address,t_struct(Strategy)80592_storage)": { - "encoding": "mapping", - "key": "t_address", - "label": "mapping(address => struct Strategy)", - "numberOfBytes": "32", - "value": "t_struct(Strategy)80592_storage" - }, - "t_struct(PassportData)80585_storage": { - "encoding": "inplace", - "label": "struct PassportData", - "numberOfBytes": "64", - "members": [ - { - "astId": 80582, - "contract": "pkg/contracts/src/PassportScorer.sol:PassportScorer", - "label": "score", - "offset": 0, - "slot": "0", - "type": "t_uint256" - }, - { - "astId": 80584, - "contract": "pkg/contracts/src/PassportScorer.sol:PassportScorer", - "label": "lastUpdated", - "offset": 0, - "slot": "1", - "type": "t_uint256" - } - ] - }, - "t_struct(Strategy)80592_storage": { - "encoding": "inplace", - "label": "struct Strategy", - "numberOfBytes": "64", - "members": [ - { - "astId": 80587, - "contract": "pkg/contracts/src/PassportScorer.sol:PassportScorer", - "label": "threshold", - "offset": 0, - "slot": "0", - "type": "t_uint256" - }, - { - "astId": 80589, - "contract": "pkg/contracts/src/PassportScorer.sol:PassportScorer", - "label": "active", - "offset": 0, - "slot": "1", - "type": "t_bool" - }, - { - "astId": 80591, - "contract": "pkg/contracts/src/PassportScorer.sol:PassportScorer", - "label": "councilSafe", - "offset": 1, - "slot": "1", - "type": "t_address" - } - ] - }, - "t_uint256": { - "encoding": "inplace", - "label": "uint256", - "numberOfBytes": "32" - }, - "t_uint8": { - "encoding": "inplace", - "label": "uint8", - "numberOfBytes": "1" - } - } - }, - "ast": { - "absolutePath": "pkg/contracts/src/PassportScorer.sol", - "id": 81160, - "exportedSymbols": { - "ISybilScorer": [ - 80667 - ], - "Initializable": [ - 53191 - ], - "OwnableUpgradeable": [ - 52942 - ], - "PassportData": [ - 80585 - ], - "PassportScorer": [ - 81159 - ], - "Strategy": [ - 80592 - ], - "UUPSUpgradeable": [ - 56213 - ] - }, - "nodeType": "SourceUnit", - "src": "46:6284:132", - "nodes": [ - { - "id": 80669, - "nodeType": "PragmaDirective", - "src": "46:24:132", - "nodes": [], - "literals": [ - "solidity", - "^", - "0.8", - ".19" - ] - }, - { - "id": 80673, - "nodeType": "ImportDirective", - "src": "72:72:132", - "nodes": [], - "absolutePath": "pkg/contracts/src/ISybilScorer.sol", - "file": "./ISybilScorer.sol", - "nameLocation": "-1:-1:-1", - "scope": 81160, - "sourceUnit": 80668, - "symbolAliases": [ - { - "foreign": { - "id": 80670, - "name": "ISybilScorer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 80667, - "src": "80:12:132", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - }, - { - "foreign": { - "id": 80671, - "name": "PassportData", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 80585, - "src": "94:12:132", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - }, - { - "foreign": { - "id": 80672, - "name": "Strategy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 80592, - "src": "108:8:132", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - } - ], - "unitAlias": "" - }, - { - "id": 80675, - "nodeType": "ImportDirective", - "src": "145:88:132", - "nodes": [], - "absolutePath": "lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol", - "file": "@openzeppelin/contracts/proxy/utils/UUPSUpgradeable.sol", - "nameLocation": "-1:-1:-1", - "scope": 81160, - "sourceUnit": 56214, - "symbolAliases": [ - { - "foreign": { - "id": 80674, - "name": "UUPSUpgradeable", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 56213, - "src": "153:15:132", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - } - ], - "unitAlias": "" - }, - { - "id": 80677, - "nodeType": "ImportDirective", - "src": "234:110:132", - "nodes": [], - "absolutePath": "lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol", - "file": "openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol", - "nameLocation": "-1:-1:-1", - "scope": 81160, - "sourceUnit": 52943, - "symbolAliases": [ - { - "foreign": { - "id": 80676, - "name": "OwnableUpgradeable", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 52942, - "src": "242:18:132", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - } - ], - "unitAlias": "" - }, - { - "id": 80679, - "nodeType": "ImportDirective", - "src": "345:105:132", - "nodes": [], - "absolutePath": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol", - "file": "openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol", - "nameLocation": "-1:-1:-1", - "scope": 81160, - "sourceUnit": 53192, - "symbolAliases": [ - { - "foreign": { - "id": 80678, - "name": "Initializable", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 53191, - "src": "353:13:132", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - } - ], - "unitAlias": "" - }, - { - "id": 81159, - "nodeType": "ContractDefinition", - "src": "452:5877:132", - "nodes": [ - { - "id": 80689, - "nodeType": "VariableDeclaration", - "src": "550:26:132", - "nodes": [], - "constant": false, - "functionSelector": "8df8b2fe", - "mutability": "mutable", - "name": "listManager", - "nameLocation": "565:11:132", - "scope": 81159, - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 80688, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "550:7:132", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "public" - }, - { - "id": 80694, - "nodeType": "VariableDeclaration", - "src": "583:50:132", - "nodes": [], - "constant": false, - "functionSelector": "1413d4c0", - "mutability": "mutable", - "name": "userScores", - "nameLocation": "623:10:132", - "scope": 81159, - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_PassportData_$80585_storage_$", - "typeString": "mapping(address => struct PassportData)" - }, - "typeName": { - "id": 80693, - "keyName": "", - "keyNameLocation": "-1:-1:-1", - "keyType": { - "id": 80690, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "591:7:132", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "583:32:132", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_PassportData_$80585_storage_$", - "typeString": "mapping(address => struct PassportData)" - }, - "valueName": "", - "valueNameLocation": "-1:-1:-1", - "valueType": { - "id": 80692, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 80691, - "name": "PassportData", - "nameLocations": [ - "602:12:132" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 80585, - "src": "602:12:132" - }, - "referencedDeclaration": 80585, - "src": "602:12:132", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PassportData_$80585_storage_ptr", - "typeString": "struct PassportData" - } - } - }, - "visibility": "public" - }, - { - "id": 80699, - "nodeType": "VariableDeclaration", - "src": "639:46:132", - "nodes": [], - "constant": false, - "functionSelector": "39ebf823", - "mutability": "mutable", - "name": "strategies", - "nameLocation": "675:10:132", - "scope": 81159, - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Strategy_$80592_storage_$", - "typeString": "mapping(address => struct Strategy)" - }, - "typeName": { - "id": 80698, - "keyName": "", - "keyNameLocation": "-1:-1:-1", - "keyType": { - "id": 80695, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "647:7:132", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "639:28:132", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Strategy_$80592_storage_$", - "typeString": "mapping(address => struct Strategy)" - }, - "valueName": "", - "valueNameLocation": "-1:-1:-1", - "valueType": { - "id": 80697, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 80696, - "name": "Strategy", - "nameLocations": [ - "658:8:132" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 80592, - "src": "658:8:132" - }, - "referencedDeclaration": 80592, - "src": "658:8:132", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Strategy_$80592_storage_ptr", - "typeString": "struct Strategy" - } - } - }, - "visibility": "public" - }, - { - "id": 80707, - "nodeType": "EventDefinition", - "src": "692:79:132", - "nodes": [], - "anonymous": false, - "eventSelector": "1e0ca12706807bceff25136f95fe6f69c1319c044f6073e6056a287e4f541b1d", - "name": "UserScoreAdded", - "nameLocation": "698:14:132", - "parameters": { - "id": 80706, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 80701, - "indexed": true, - "mutability": "mutable", - "name": "user", - "nameLocation": "729:4:132", - "nodeType": "VariableDeclaration", - "scope": 80707, - "src": "713:20:132", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 80700, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "713:7:132", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 80703, - "indexed": false, - "mutability": "mutable", - "name": "score", - "nameLocation": "743:5:132", - "nodeType": "VariableDeclaration", - "scope": 80707, - "src": "735:13:132", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 80702, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "735:7:132", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 80705, - "indexed": false, - "mutability": "mutable", - "name": "lastUpdated", - "nameLocation": "758:11:132", - "nodeType": "VariableDeclaration", - "scope": 80707, - "src": "750:19:132", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 80704, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "750:7:132", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "712:58:132" - } - }, - { - "id": 80711, - "nodeType": "EventDefinition", - "src": "776:40:132", - "nodes": [], - "anonymous": false, - "eventSelector": "e9dce8c992623ce791725b21e857e33248d1f190a25b5168313420eebdaae99d", - "name": "UserRemoved", - "nameLocation": "782:11:132", - "parameters": { - "id": 80710, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 80709, - "indexed": true, - "mutability": "mutable", - "name": "user", - "nameLocation": "810:4:132", - "nodeType": "VariableDeclaration", - "scope": 80711, - "src": "794:20:132", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 80708, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "794:7:132", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "793:22:132" - } - }, - { - "id": 80717, - "nodeType": "EventDefinition", - "src": "821:81:132", - "nodes": [], - "anonymous": false, - "eventSelector": "5117c6c457d7b27a4cb68df40b118f157ac1f1ba81f8a571d189f829d74fbc86", - "name": "ListManagerChanged", - "nameLocation": "827:18:132", - "parameters": { - "id": 80716, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 80713, - "indexed": true, - "mutability": "mutable", - "name": "oldManager", - "nameLocation": "862:10:132", - "nodeType": "VariableDeclaration", - "scope": 80717, - "src": "846:26:132", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 80712, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "846:7:132", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 80715, - "indexed": true, - "mutability": "mutable", - "name": "newManager", - "nameLocation": "890:10:132", - "nodeType": "VariableDeclaration", - "scope": 80717, - "src": "874:26:132", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 80714, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "874:7:132", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "845:56:132" - } - }, - { - "id": 80727, - "nodeType": "EventDefinition", - "src": "907:99:132", - "nodes": [], - "anonymous": false, - "eventSelector": "9b1a157188de9a0bd2e7995d72aaba244d9bd012ddf3ae3d4f492135175070cb", - "name": "StrategyAdded", - "nameLocation": "913:13:132", - "parameters": { - "id": 80726, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 80719, - "indexed": true, - "mutability": "mutable", - "name": "strategy", - "nameLocation": "943:8:132", - "nodeType": "VariableDeclaration", - "scope": 80727, - "src": "927:24:132", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 80718, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "927:7:132", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 80721, - "indexed": false, - "mutability": "mutable", - "name": "threshold", - "nameLocation": "961:9:132", - "nodeType": "VariableDeclaration", - "scope": 80727, - "src": "953:17:132", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 80720, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "953:7:132", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 80723, - "indexed": false, - "mutability": "mutable", - "name": "active", - "nameLocation": "977:6:132", - "nodeType": "VariableDeclaration", - "scope": 80727, - "src": "972:11:132", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 80722, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "972:4:132", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 80725, - "indexed": false, - "mutability": "mutable", - "name": "councilSafe", - "nameLocation": "993:11:132", - "nodeType": "VariableDeclaration", - "scope": 80727, - "src": "985:19:132", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 80724, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "985:7:132", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "926:79:132" - } - }, - { - "id": 80731, - "nodeType": "EventDefinition", - "src": "1011:48:132", - "nodes": [], - "anonymous": false, - "eventSelector": "09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea4", - "name": "StrategyRemoved", - "nameLocation": "1017:15:132", - "parameters": { - "id": 80730, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 80729, - "indexed": true, - "mutability": "mutable", - "name": "strategy", - "nameLocation": "1049:8:132", - "nodeType": "VariableDeclaration", - "scope": 80731, - "src": "1033:24:132", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 80728, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1033:7:132", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "1032:26:132" - } - }, - { - "id": 80735, - "nodeType": "EventDefinition", - "src": "1064:50:132", - "nodes": [], - "anonymous": false, - "eventSelector": "652f053fc39779b70b29678135ade972fcb79966fc68fcb77c996b1aa4fd9afb", - "name": "StrategyActivated", - "nameLocation": "1070:17:132", - "parameters": { - "id": 80734, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 80733, - "indexed": true, - "mutability": "mutable", - "name": "strategy", - "nameLocation": "1104:8:132", - "nodeType": "VariableDeclaration", - "scope": 80735, - "src": "1088:24:132", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 80732, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1088:7:132", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "1087:26:132" - } - }, - { - "id": 80741, - "nodeType": "EventDefinition", - "src": "1119:72:132", - "nodes": [], - "anonymous": false, - "eventSelector": "40ba4d5d9facd2fda74e22251d1638576e05a30482470363c7c87a7b5b298c09", - "name": "ThresholdModified", - "nameLocation": "1125:17:132", - "parameters": { - "id": 80740, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 80737, - "indexed": true, - "mutability": "mutable", - "name": "strategy", - "nameLocation": "1159:8:132", - "nodeType": "VariableDeclaration", - "scope": 80741, - "src": "1143:24:132", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 80736, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1143:7:132", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 80739, - "indexed": false, - "mutability": "mutable", - "name": "newThreshold", - "nameLocation": "1177:12:132", - "nodeType": "VariableDeclaration", - "scope": 80741, - "src": "1169:20:132", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 80738, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1169:7:132", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "1142:48:132" - } - }, - { - "id": 80743, - "nodeType": "ErrorDefinition", - "src": "1197:23:132", - "nodes": [], - "errorSelector": "7d7b71b5", - "name": "OnlyAuthorized", - "nameLocation": "1203:14:132", - "parameters": { - "id": 80742, - "nodeType": "ParameterList", - "parameters": [], - "src": "1217:2:132" - } - }, - { - "id": 80745, - "nodeType": "ErrorDefinition", - "src": "1225:32:132", - "nodes": [], - "errorSelector": "e3b6914b", - "name": "OnlyCouncilOrAuthorized", - "nameLocation": "1231:23:132", - "parameters": { - "id": 80744, - "nodeType": "ParameterList", - "parameters": [], - "src": "1254:2:132" - } - }, - { - "id": 80747, - "nodeType": "ErrorDefinition", - "src": "1262:20:132", - "nodes": [], - "errorSelector": "97ffbac9", - "name": "OnlyCouncil", - "nameLocation": "1268:11:132", - "parameters": { - "id": 80746, - "nodeType": "ParameterList", - "parameters": [], - "src": "1279:2:132" - } - }, - { - "id": 80749, - "nodeType": "ErrorDefinition", - "src": "1287:20:132", - "nodes": [], - "errorSelector": "d92e233d", - "name": "ZeroAddress", - "nameLocation": "1293:11:132", - "parameters": { - "id": 80748, - "nodeType": "ParameterList", - "parameters": [], - "src": "1304:2:132" - } - }, - { - "id": 80751, - "nodeType": "ErrorDefinition", - "src": "1312:30:132", - "nodes": [], - "errorSelector": "c45546f7", - "name": "StrategyAlreadyExists", - "nameLocation": "1318:21:132", - "parameters": { - "id": 80750, - "nodeType": "ParameterList", - "parameters": [], - "src": "1339:2:132" - } - }, - { - "id": 80771, - "nodeType": "ModifierDefinition", - "src": "1348:178:132", - "nodes": [], - "body": { - "id": 80770, - "nodeType": "Block", - "src": "1374:152:132", - "nodes": [], - "statements": [ - { - "condition": { - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 80762, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 80757, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 80753, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "1388:3:132", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 80754, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "1392:6:132", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "1388:10:132", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 80755, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 52865, - "src": "1402:5:132", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", - "typeString": "function () view returns (address)" - } - }, - "id": 80756, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "1402:7:132", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1388:21:132", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 80761, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 80758, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "1413:3:132", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 80759, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "1417:6:132", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "1413:10:132", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "id": 80760, - "name": "listManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 80689, - "src": "1427:11:132", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1413:25:132", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "1388:50:132", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 80768, - "nodeType": "Block", - "src": "1472:48:132", - "statements": [ - { - "errorCall": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 80765, - "name": "OnlyAuthorized", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 80743, - "src": "1493:14:132", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 80766, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "1493:16:132", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 80767, - "nodeType": "RevertStatement", - "src": "1486:23:132" - } - ] - }, - "id": 80769, - "nodeType": "IfStatement", - "src": "1384:136:132", - "trueBody": { - "id": 80764, - "nodeType": "Block", - "src": "1440:26:132", - "statements": [ - { - "id": 80763, - "nodeType": "PlaceholderStatement", - "src": "1454:1:132" - } - ] - } - } - ] - }, - "name": "onlyAuthorized", - "nameLocation": "1357:14:132", - "parameters": { - "id": 80752, - "nodeType": "ParameterList", - "parameters": [], - "src": "1371:2:132" - }, - "virtual": false, - "visibility": "internal" - }, - { - "id": 80801, - "nodeType": "ModifierDefinition", - "src": "1532:264:132", - "nodes": [], - "body": { - "id": 80800, - "nodeType": "Block", - "src": "1584:212:132", - "nodes": [], - "statements": [ - { - "condition": { - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 80792, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 80784, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 80779, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 80775, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "1598:3:132", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 80776, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "1602:6:132", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "1598:10:132", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 80777, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 52865, - "src": "1612:5:132", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", - "typeString": "function () view returns (address)" - } - }, - "id": 80778, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "1612:7:132", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1598:21:132", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 80783, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 80780, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "1623:3:132", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 80781, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "1627:6:132", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "1623:10:132", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "id": 80782, - "name": "listManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 80689, - "src": "1637:11:132", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1623:25:132", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "1598:50:132", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 80791, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 80785, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "1652:3:132", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 80786, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "1656:6:132", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "1652:10:132", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "expression": { - "baseExpression": { - "id": 80787, - "name": "strategies", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 80699, - "src": "1666:10:132", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Strategy_$80592_storage_$", - "typeString": "mapping(address => struct Strategy storage ref)" - } - }, - "id": 80789, - "indexExpression": { - "id": 80788, - "name": "_strategy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 80773, - "src": "1677:9:132", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1666:21:132", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Strategy_$80592_storage", - "typeString": "struct Strategy storage ref" - } - }, - "id": 80790, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "1688:11:132", - "memberName": "councilSafe", - "nodeType": "MemberAccess", - "referencedDeclaration": 80591, - "src": "1666:33:132", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1652:47:132", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "1598:101:132", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 80798, - "nodeType": "Block", - "src": "1733:57:132", - "statements": [ - { - "errorCall": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 80795, - "name": "OnlyCouncilOrAuthorized", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 80745, - "src": "1754:23:132", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 80796, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "1754:25:132", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 80797, - "nodeType": "RevertStatement", - "src": "1747:32:132" - } - ] - }, - "id": 80799, - "nodeType": "IfStatement", - "src": "1594:196:132", - "trueBody": { - "id": 80794, - "nodeType": "Block", - "src": "1701:26:132", - "statements": [ - { - "id": 80793, - "nodeType": "PlaceholderStatement", - "src": "1715:1:132" - } - ] - } - } - ] - }, - "name": "onlyCouncilOrAuthorized", - "nameLocation": "1541:23:132", - "parameters": { - "id": 80774, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 80773, - "mutability": "mutable", - "name": "_strategy", - "nameLocation": "1573:9:132", - "nodeType": "VariableDeclaration", - "scope": 80801, - "src": "1565:17:132", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 80772, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1565:7:132", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "1564:19:132" - }, - "virtual": false, - "visibility": "internal" - }, - { - "id": 80820, - "nodeType": "ModifierDefinition", - "src": "1802:186:132", - "nodes": [], - "body": { - "id": 80819, - "nodeType": "Block", - "src": "1842:146:132", - "nodes": [], - "statements": [ - { - "condition": { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 80811, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 80805, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "1856:3:132", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 80806, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "1860:6:132", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "1856:10:132", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "expression": { - "baseExpression": { - "id": 80807, - "name": "strategies", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 80699, - "src": "1870:10:132", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Strategy_$80592_storage_$", - "typeString": "mapping(address => struct Strategy storage ref)" - } - }, - "id": 80809, - "indexExpression": { - "id": 80808, - "name": "_strategy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 80803, - "src": "1881:9:132", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1870:21:132", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Strategy_$80592_storage", - "typeString": "struct Strategy storage ref" - } - }, - "id": 80810, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "1892:11:132", - "memberName": "councilSafe", - "nodeType": "MemberAccess", - "referencedDeclaration": 80591, - "src": "1870:33:132", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1856:47:132", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 80817, - "nodeType": "Block", - "src": "1937:45:132", - "statements": [ - { - "errorCall": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 80814, - "name": "OnlyCouncil", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 80747, - "src": "1958:11:132", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 80815, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "1958:13:132", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 80816, - "nodeType": "RevertStatement", - "src": "1951:20:132" - } - ] - }, - "id": 80818, - "nodeType": "IfStatement", - "src": "1852:130:132", - "trueBody": { - "id": 80813, - "nodeType": "Block", - "src": "1905:26:132", - "statements": [ - { - "id": 80812, - "nodeType": "PlaceholderStatement", - "src": "1919:1:132" - } - ] - } - } - ] - }, - "name": "onlyCouncil", - "nameLocation": "1811:11:132", - "parameters": { - "id": 80804, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 80803, - "mutability": "mutable", - "name": "_strategy", - "nameLocation": "1831:9:132", - "nodeType": "VariableDeclaration", - "scope": 80820, - "src": "1823:17:132", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 80802, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1823:7:132", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "1822:19:132" - }, - "virtual": false, - "visibility": "internal" - }, - { - "id": 80837, - "nodeType": "FunctionDefinition", - "src": "1994:148:132", - "nodes": [], - "body": { - "id": 80836, - "nodeType": "Block", - "src": "2053:89:132", - "nodes": [], - "statements": [ - { - "condition": { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 80830, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 80825, - "name": "_address", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 80822, - "src": "2067:8:132", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "arguments": [ - { - "hexValue": "30", - "id": 80828, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2087:1:132", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 80827, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2079:7:132", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 80826, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2079:7:132", - "typeDescriptions": {} - } - }, - "id": 80829, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2079:10:132", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "2067:22:132", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 80835, - "nodeType": "IfStatement", - "src": "2063:73:132", - "trueBody": { - "id": 80834, - "nodeType": "Block", - "src": "2091:45:132", - "statements": [ - { - "errorCall": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 80831, - "name": "ZeroAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 80749, - "src": "2112:11:132", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 80832, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2112:13:132", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 80833, - "nodeType": "RevertStatement", - "src": "2105:20:132" - } - ] - } - } - ] - }, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_revertZeroAddress", - "nameLocation": "2003:18:132", - "parameters": { - "id": 80823, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 80822, - "mutability": "mutable", - "name": "_address", - "nameLocation": "2030:8:132", - "nodeType": "VariableDeclaration", - "scope": 80837, - "src": "2022:16:132", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 80821, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2022:7:132", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "2021:18:132" - }, - "returnParameters": { - "id": 80824, - "nodeType": "ParameterList", - "parameters": [], - "src": "2053:0:132" - }, - "scope": 81159, - "stateMutability": "pure", - "virtual": false, - "visibility": "private" - }, - { - "id": 80856, - "nodeType": "FunctionDefinition", - "src": "2148:172:132", - "nodes": [], - "body": { - "id": 80855, - "nodeType": "Block", - "src": "2209:111:132", - "nodes": [], - "statements": [ - { - "expression": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 80844, - "name": "__Ownable_init", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 52837, - "src": "2219:14:132", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", - "typeString": "function ()" - } - }, - "id": 80845, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2219:16:132", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 80846, - "nodeType": "ExpressionStatement", - "src": "2219:16:132" - }, - { - "expression": { - "arguments": [ - { - "id": 80848, - "name": "_listManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 80839, - "src": "2264:12:132", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 80847, - "name": "_revertZeroAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 80837, - "src": "2245:18:132", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_address_$returns$__$", - "typeString": "function (address) pure" - } - }, - "id": 80849, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2245:32:132", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 80850, - "nodeType": "ExpressionStatement", - "src": "2245:32:132" - }, - { - "expression": { - "id": 80853, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 80851, - "name": "listManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 80689, - "src": "2287:11:132", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 80852, - "name": "_listManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 80839, - "src": "2301:12:132", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "2287:26:132", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 80854, - "nodeType": "ExpressionStatement", - "src": "2287:26:132" - } - ] - }, - "baseFunctions": [ - 80597 - ], - "functionSelector": "c4d66de8", - "implemented": true, - "kind": "function", - "modifiers": [ - { - "id": 80842, - "kind": "modifierInvocation", - "modifierName": { - "id": 80841, - "name": "initializer", - "nameLocations": [ - "2197:11:132" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 53093, - "src": "2197:11:132" - }, - "nodeType": "ModifierInvocation", - "src": "2197:11:132" - } - ], - "name": "initialize", - "nameLocation": "2157:10:132", - "parameters": { - "id": 80840, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 80839, - "mutability": "mutable", - "name": "_listManager", - "nameLocation": "2176:12:132", - "nodeType": "VariableDeclaration", - "scope": 80856, - "src": "2168:20:132", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 80838, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2168:7:132", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "2167:22:132" - }, - "returnParameters": { - "id": 80843, - "nodeType": "ParameterList", - "parameters": [], - "src": "2209:0:132" - }, - "scope": 81159, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "id": 80887, - "nodeType": "FunctionDefinition", - "src": "2503:274:132", - "nodes": [], - "body": { - "id": 80886, - "nodeType": "Block", - "src": "2608:169:132", - "nodes": [], - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 80869, - "name": "_user", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 80859, - "src": "2637:5:132", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 80868, - "name": "_revertZeroAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 80837, - "src": "2618:18:132", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_address_$returns$__$", - "typeString": "function (address) pure" - } - }, - "id": 80870, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2618:25:132", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 80871, - "nodeType": "ExpressionStatement", - "src": "2618:25:132" - }, - { - "expression": { - "id": 80876, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "id": 80872, - "name": "userScores", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 80694, - "src": "2653:10:132", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_PassportData_$80585_storage_$", - "typeString": "mapping(address => struct PassportData storage ref)" - } - }, - "id": 80874, - "indexExpression": { - "id": 80873, - "name": "_user", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 80859, - "src": "2664:5:132", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "2653:17:132", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PassportData_$80585_storage", - "typeString": "struct PassportData storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 80875, - "name": "_passportData", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 80862, - "src": "2673:13:132", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PassportData_$80585_memory_ptr", - "typeString": "struct PassportData memory" - } - }, - "src": "2653:33:132", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PassportData_$80585_storage", - "typeString": "struct PassportData storage ref" - } - }, - "id": 80877, - "nodeType": "ExpressionStatement", - "src": "2653:33:132" - }, - { - "eventCall": { - "arguments": [ - { - "id": 80879, - "name": "_user", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 80859, - "src": "2716:5:132", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "expression": { - "id": 80880, - "name": "_passportData", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 80862, - "src": "2723:13:132", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PassportData_$80585_memory_ptr", - "typeString": "struct PassportData memory" - } - }, - "id": 80881, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "2737:5:132", - "memberName": "score", - "nodeType": "MemberAccess", - "referencedDeclaration": 80582, - "src": "2723:19:132", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "expression": { - "id": 80882, - "name": "_passportData", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 80862, - "src": "2744:13:132", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PassportData_$80585_memory_ptr", - "typeString": "struct PassportData memory" - } - }, - "id": 80883, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "2758:11:132", - "memberName": "lastUpdated", - "nodeType": "MemberAccess", - "referencedDeclaration": 80584, - "src": "2744:25:132", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 80878, - "name": "UserScoreAdded", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 80707, - "src": "2701:14:132", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256,uint256)" - } - }, - "id": 80884, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2701:69:132", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 80885, - "nodeType": "EmitStatement", - "src": "2696:74:132" - } - ] - }, - "baseFunctions": [ - 80605 - ], - "documentation": { - "id": 80857, - "nodeType": "StructuredDocumentation", - "src": "2326:172:132", - "text": "@notice Add a userScore to the list\n @param _user address of the user to add\n @param _passportData PassportData struct with the user score and lastUpdated" - }, - "functionSelector": "7814d568", - "implemented": true, - "kind": "function", - "modifiers": [ - { - "id": 80866, - "kind": "modifierInvocation", - "modifierName": { - "id": 80865, - "name": "onlyAuthorized", - "nameLocations": [ - "2593:14:132" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 80771, - "src": "2593:14:132" - }, - "nodeType": "ModifierInvocation", - "src": "2593:14:132" - } - ], - "name": "addUserScore", - "nameLocation": "2512:12:132", - "overrides": { - "id": 80864, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "2584:8:132" - }, - "parameters": { - "id": 80863, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 80859, - "mutability": "mutable", - "name": "_user", - "nameLocation": "2533:5:132", - "nodeType": "VariableDeclaration", - "scope": 80887, - "src": "2525:13:132", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 80858, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2525:7:132", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 80862, - "mutability": "mutable", - "name": "_passportData", - "nameLocation": "2560:13:132", - "nodeType": "VariableDeclaration", - "scope": 80887, - "src": "2540:33:132", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PassportData_$80585_memory_ptr", - "typeString": "struct PassportData" - }, - "typeName": { - "id": 80861, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 80860, - "name": "PassportData", - "nameLocations": [ - "2540:12:132" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 80585, - "src": "2540:12:132" - }, - "referencedDeclaration": 80585, - "src": "2540:12:132", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PassportData_$80585_storage_ptr", - "typeString": "struct PassportData" - } - }, - "visibility": "internal" - } - ], - "src": "2524:50:132" - }, - "returnParameters": { - "id": 80867, - "nodeType": "ParameterList", - "parameters": [], - "src": "2608:0:132" - }, - "scope": 81159, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "id": 80910, - "nodeType": "FunctionDefinition", - "src": "2878:177:132", - "nodes": [], - "body": { - "id": 80909, - "nodeType": "Block", - "src": "2946:109:132", - "nodes": [], - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 80897, - "name": "_user", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 80890, - "src": "2975:5:132", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 80896, - "name": "_revertZeroAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 80837, - "src": "2956:18:132", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_address_$returns$__$", - "typeString": "function (address) pure" - } - }, - "id": 80898, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2956:25:132", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 80899, - "nodeType": "ExpressionStatement", - "src": "2956:25:132" - }, - { - "expression": { - "id": 80903, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "delete", - "prefix": true, - "src": "2991:24:132", - "subExpression": { - "baseExpression": { - "id": 80900, - "name": "userScores", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 80694, - "src": "2998:10:132", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_PassportData_$80585_storage_$", - "typeString": "mapping(address => struct PassportData storage ref)" - } - }, - "id": 80902, - "indexExpression": { - "id": 80901, - "name": "_user", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 80890, - "src": "3009:5:132", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "2998:17:132", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PassportData_$80585_storage", - "typeString": "struct PassportData storage ref" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 80904, - "nodeType": "ExpressionStatement", - "src": "2991:24:132" - }, - { - "eventCall": { - "arguments": [ - { - "id": 80906, - "name": "_user", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 80890, - "src": "3042:5:132", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 80905, - "name": "UserRemoved", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 80711, - "src": "3030:11:132", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$", - "typeString": "function (address)" - } - }, - "id": 80907, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "3030:18:132", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 80908, - "nodeType": "EmitStatement", - "src": "3025:23:132" - } - ] - }, - "baseFunctions": [ - 80610 - ], - "documentation": { - "id": 80888, - "nodeType": "StructuredDocumentation", - "src": "2783:90:132", - "text": "@notice Remove a user from the list\n @param _user address of the user to remove" - }, - "functionSelector": "98575188", - "implemented": true, - "kind": "function", - "modifiers": [ - { - "id": 80894, - "kind": "modifierInvocation", - "modifierName": { - "id": 80893, - "name": "onlyAuthorized", - "nameLocations": [ - "2931:14:132" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 80771, - "src": "2931:14:132" - }, - "nodeType": "ModifierInvocation", - "src": "2931:14:132" - } - ], - "name": "removeUser", - "nameLocation": "2887:10:132", - "overrides": { - "id": 80892, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "2922:8:132" - }, - "parameters": { - "id": 80891, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 80890, - "mutability": "mutable", - "name": "_user", - "nameLocation": "2906:5:132", - "nodeType": "VariableDeclaration", - "scope": 80910, - "src": "2898:13:132", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 80889, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2898:7:132", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "2897:15:132" - }, - "returnParameters": { - "id": 80895, - "nodeType": "ParameterList", - "parameters": [], - "src": "2946:0:132" - }, - "scope": 81159, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "id": 80937, - "nodeType": "FunctionDefinition", - "src": "3168:259:132", - "nodes": [], - "body": { - "id": 80936, - "nodeType": "Block", - "src": "3244:183:132", - "nodes": [], - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 80920, - "name": "_newManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 80913, - "src": "3273:11:132", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 80919, - "name": "_revertZeroAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 80837, - "src": "3254:18:132", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_address_$returns$__$", - "typeString": "function (address) pure" - } - }, - "id": 80921, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "3254:31:132", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 80922, - "nodeType": "ExpressionStatement", - "src": "3254:31:132" - }, - { - "assignments": [ - 80924 - ], - "declarations": [ - { - "constant": false, - "id": 80924, - "mutability": "mutable", - "name": "oldManager", - "nameLocation": "3303:10:132", - "nodeType": "VariableDeclaration", - "scope": 80936, - "src": "3295:18:132", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 80923, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3295:7:132", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "id": 80926, - "initialValue": { - "id": 80925, - "name": "listManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 80689, - "src": "3316:11:132", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "3295:32:132" - }, - { - "expression": { - "id": 80929, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 80927, - "name": "listManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 80689, - "src": "3337:11:132", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 80928, - "name": "_newManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 80913, - "src": "3351:11:132", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "3337:25:132", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 80930, - "nodeType": "ExpressionStatement", - "src": "3337:25:132" - }, - { - "eventCall": { - "arguments": [ - { - "id": 80932, - "name": "oldManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 80924, - "src": "3396:10:132", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 80933, - "name": "_newManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 80913, - "src": "3408:11:132", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 80931, - "name": "ListManagerChanged", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 80717, - "src": "3377:18:132", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$", - "typeString": "function (address,address)" - } - }, - "id": 80934, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "3377:43:132", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 80935, - "nodeType": "EmitStatement", - "src": "3372:48:132" - } - ] - }, - "baseFunctions": [ - 80615 - ], - "documentation": { - "id": 80911, - "nodeType": "StructuredDocumentation", - "src": "3061:102:132", - "text": "@notice Change the list manager address\n @param _newManager address of the new list manager" - }, - "functionSelector": "3d476830", - "implemented": true, - "kind": "function", - "modifiers": [ - { - "id": 80917, - "kind": "modifierInvocation", - "modifierName": { - "id": 80916, - "name": "onlyOwner", - "nameLocations": [ - "3234:9:132" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 52856, - "src": "3234:9:132" - }, - "nodeType": "ModifierInvocation", - "src": "3234:9:132" - } - ], - "name": "changeListManager", - "nameLocation": "3177:17:132", - "overrides": { - "id": 80915, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "3225:8:132" - }, - "parameters": { - "id": 80914, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 80913, - "mutability": "mutable", - "name": "_newManager", - "nameLocation": "3203:11:132", - "nodeType": "VariableDeclaration", - "scope": 80937, - "src": "3195:19:132", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 80912, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3195:7:132", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "3194:21:132" - }, - "returnParameters": { - "id": 80918, - "nodeType": "ParameterList", - "parameters": [], - "src": "3244:0:132" - }, - "scope": 81159, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "id": 80996, - "nodeType": "FunctionDefinition", - "src": "3595:532:132", - "nodes": [], - "body": { - "id": 80995, - "nodeType": "Block", - "src": "3701:426:132", - "nodes": [], - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 80950, - "name": "_strategy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 80940, - "src": "3730:9:132", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 80949, - "name": "_revertZeroAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 80837, - "src": "3711:18:132", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_address_$returns$__$", - "typeString": "function (address) pure" - } - }, - "id": 80951, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "3711:29:132", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 80952, - "nodeType": "ExpressionStatement", - "src": "3711:29:132" - }, - { - "expression": { - "arguments": [ - { - "id": 80954, - "name": "_councilSafe", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 80944, - "src": "3769:12:132", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 80953, - "name": "_revertZeroAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 80837, - "src": "3750:18:132", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_address_$returns$__$", - "typeString": "function (address) pure" - } - }, - "id": 80955, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "3750:32:132", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 80956, - "nodeType": "ExpressionStatement", - "src": "3750:32:132" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 80972, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 80962, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "baseExpression": { - "id": 80957, - "name": "strategies", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 80699, - "src": "3796:10:132", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Strategy_$80592_storage_$", - "typeString": "mapping(address => struct Strategy storage ref)" - } - }, - "id": 80959, - "indexExpression": { - "id": 80958, - "name": "_strategy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 80940, - "src": "3807:9:132", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3796:21:132", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Strategy_$80592_storage", - "typeString": "struct Strategy storage ref" - } - }, - "id": 80960, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "3818:9:132", - "memberName": "threshold", - "nodeType": "MemberAccess", - "referencedDeclaration": 80587, - "src": "3796:31:132", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "hexValue": "30", - "id": 80961, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3831:1:132", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "3796:36:132", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 80971, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "baseExpression": { - "id": 80963, - "name": "strategies", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 80699, - "src": "3836:10:132", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Strategy_$80592_storage_$", - "typeString": "mapping(address => struct Strategy storage ref)" - } - }, - "id": 80965, - "indexExpression": { - "id": 80964, - "name": "_strategy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 80940, - "src": "3847:9:132", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3836:21:132", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Strategy_$80592_storage", - "typeString": "struct Strategy storage ref" - } - }, - "id": 80966, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "3858:11:132", - "memberName": "councilSafe", - "nodeType": "MemberAccess", - "referencedDeclaration": 80591, - "src": "3836:33:132", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "arguments": [ - { - "hexValue": "30", - "id": 80969, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3881:1:132", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 80968, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "3873:7:132", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 80967, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3873:7:132", - "typeDescriptions": {} - } - }, - "id": 80970, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "3873:10:132", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "3836:47:132", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "3796:87:132", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 80977, - "nodeType": "IfStatement", - "src": "3792:148:132", - "trueBody": { - "id": 80976, - "nodeType": "Block", - "src": "3885:55:132", - "statements": [ - { - "errorCall": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 80973, - "name": "StrategyAlreadyExists", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 80751, - "src": "3906:21:132", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 80974, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "3906:23:132", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 80975, - "nodeType": "RevertStatement", - "src": "3899:30:132" - } - ] - } - }, - { - "expression": { - "id": 80986, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "id": 80978, - "name": "strategies", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 80699, - "src": "3949:10:132", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Strategy_$80592_storage_$", - "typeString": "mapping(address => struct Strategy storage ref)" - } - }, - "id": 80980, - "indexExpression": { - "id": 80979, - "name": "_strategy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 80940, - "src": "3960:9:132", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "3949:21:132", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Strategy_$80592_storage", - "typeString": "struct Strategy storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "id": 80982, - "name": "_threshold", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 80942, - "src": "3994:10:132", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "hexValue": "66616c7365", - "id": 80983, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4014:5:132", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - { - "id": 80984, - "name": "_councilSafe", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 80944, - "src": "4034:12:132", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 80981, - "name": "Strategy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 80592, - "src": "3973:8:132", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_Strategy_$80592_storage_ptr_$", - "typeString": "type(struct Strategy storage pointer)" - } - }, - "id": 80985, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "structConstructorCall", - "lValueRequested": false, - "nameLocations": [ - "3983:9:132", - "4006:6:132", - "4021:11:132" - ], - "names": [ - "threshold", - "active", - "councilSafe" - ], - "nodeType": "FunctionCall", - "src": "3973:75:132", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_struct$_Strategy_$80592_memory_ptr", - "typeString": "struct Strategy memory" - } - }, - "src": "3949:99:132", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Strategy_$80592_storage", - "typeString": "struct Strategy storage ref" - } - }, - "id": 80987, - "nodeType": "ExpressionStatement", - "src": "3949:99:132" - }, - { - "eventCall": { - "arguments": [ - { - "id": 80989, - "name": "_strategy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 80940, - "src": "4077:9:132", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 80990, - "name": "_threshold", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 80942, - "src": "4088:10:132", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "hexValue": "66616c7365", - "id": 80991, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4100:5:132", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - { - "id": 80992, - "name": "_councilSafe", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 80944, - "src": "4107:12:132", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 80988, - "name": "StrategyAdded", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 80727, - "src": "4063:13:132", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_bool_$_t_address_$returns$__$", - "typeString": "function (address,uint256,bool,address)" - } - }, - "id": 80993, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "4063:57:132", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 80994, - "nodeType": "EmitStatement", - "src": "4058:62:132" - } - ] - }, - "baseFunctions": [ - 80640 - ], - "documentation": { - "id": 80938, - "nodeType": "StructuredDocumentation", - "src": "3433:157:132", - "text": "@notice Add a strategy to the contract\n @param _threshold is expressed on a scale of 10**4\n @param _councilSafe address of the council safe" - }, - "functionSelector": "fc2ebdd1", - "implemented": true, - "kind": "function", - "modifiers": [ - { - "id": 80947, - "kind": "modifierInvocation", - "modifierName": { - "id": 80946, - "name": "onlyAuthorized", - "nameLocations": [ - "3686:14:132" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 80771, - "src": "3686:14:132" - }, - "nodeType": "ModifierInvocation", - "src": "3686:14:132" - } - ], - "name": "addStrategy", - "nameLocation": "3604:11:132", - "parameters": { - "id": 80945, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 80940, - "mutability": "mutable", - "name": "_strategy", - "nameLocation": "3624:9:132", - "nodeType": "VariableDeclaration", - "scope": 80996, - "src": "3616:17:132", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 80939, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3616:7:132", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 80942, - "mutability": "mutable", - "name": "_threshold", - "nameLocation": "3643:10:132", - "nodeType": "VariableDeclaration", - "scope": 80996, - "src": "3635:18:132", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 80941, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3635:7:132", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 80944, - "mutability": "mutable", - "name": "_councilSafe", - "nameLocation": "3663:12:132", - "nodeType": "VariableDeclaration", - "scope": 80996, - "src": "3655:20:132", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 80943, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3655:7:132", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "3615:61:132" - }, - "returnParameters": { - "id": 80948, - "nodeType": "ParameterList", - "parameters": [], - "src": "3701:0:132" - }, - "scope": 81159, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "id": 81029, - "nodeType": "FunctionDefinition", - "src": "4244:274:132", - "nodes": [], - "body": { - "id": 81028, - "nodeType": "Block", - "src": "4340:178:132", - "nodes": [], - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 81007, - "name": "_strategy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 80999, - "src": "4369:9:132", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 81006, - "name": "_revertZeroAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 80837, - "src": "4350:18:132", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_address_$returns$__$", - "typeString": "function (address) pure" - } - }, - "id": 81008, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "4350:29:132", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 81009, - "nodeType": "ExpressionStatement", - "src": "4350:29:132" - }, - { - "expression": { - "id": 81015, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "expression": { - "baseExpression": { - "id": 81010, - "name": "strategies", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 80699, - "src": "4389:10:132", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Strategy_$80592_storage_$", - "typeString": "mapping(address => struct Strategy storage ref)" - } - }, - "id": 81012, - "indexExpression": { - "id": 81011, - "name": "_strategy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 80999, - "src": "4400:9:132", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4389:21:132", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Strategy_$80592_storage", - "typeString": "struct Strategy storage ref" - } - }, - "id": 81013, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberLocation": "4411:6:132", - "memberName": "active", - "nodeType": "MemberAccess", - "referencedDeclaration": 80589, - "src": "4389:28:132", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "hexValue": "66616c7365", - "id": 81014, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4420:5:132", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "src": "4389:36:132", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 81016, - "nodeType": "ExpressionStatement", - "src": "4389:36:132" - }, - { - "expression": { - "id": 81022, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "expression": { - "baseExpression": { - "id": 81017, - "name": "strategies", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 80699, - "src": "4435:10:132", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Strategy_$80592_storage_$", - "typeString": "mapping(address => struct Strategy storage ref)" - } - }, - "id": 81019, - "indexExpression": { - "id": 81018, - "name": "_strategy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 80999, - "src": "4446:9:132", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4435:21:132", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Strategy_$80592_storage", - "typeString": "struct Strategy storage ref" - } - }, - "id": 81020, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberLocation": "4457:9:132", - "memberName": "threshold", - "nodeType": "MemberAccess", - "referencedDeclaration": 80587, - "src": "4435:31:132", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "hexValue": "30", - "id": 81021, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4469:1:132", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "4435:35:132", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 81023, - "nodeType": "ExpressionStatement", - "src": "4435:35:132" - }, - { - "eventCall": { - "arguments": [ - { - "id": 81025, - "name": "_strategy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 80999, - "src": "4501:9:132", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 81024, - "name": "StrategyRemoved", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 80731, - "src": "4485:15:132", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$", - "typeString": "function (address)" - } - }, - "id": 81026, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "4485:26:132", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 81027, - "nodeType": "EmitStatement", - "src": "4480:31:132" - } - ] - }, - "baseFunctions": [ - 80645 - ], - "documentation": { - "id": 80997, - "nodeType": "StructuredDocumentation", - "src": "4133:106:132", - "text": "@notice Remove a strategy from the contract\n @param _strategy address of the strategy to remove" - }, - "functionSelector": "175188e8", - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": [ - { - "id": 81003, - "name": "_strategy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 80999, - "src": "4329:9:132", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "id": 81004, - "kind": "modifierInvocation", - "modifierName": { - "id": 81002, - "name": "onlyCouncilOrAuthorized", - "nameLocations": [ - "4305:23:132" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 80801, - "src": "4305:23:132" - }, - "nodeType": "ModifierInvocation", - "src": "4305:34:132" - } - ], - "name": "removeStrategy", - "nameLocation": "4253:14:132", - "overrides": { - "id": 81001, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "4296:8:132" - }, - "parameters": { - "id": 81000, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 80999, - "mutability": "mutable", - "name": "_strategy", - "nameLocation": "4276:9:132", - "nodeType": "VariableDeclaration", - "scope": 81029, - "src": "4268:17:132", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 80998, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4268:7:132", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "4267:19:132" - }, - "returnParameters": { - "id": 81005, - "nodeType": "ParameterList", - "parameters": [], - "src": "4340:0:132" - }, - "scope": 81159, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "id": 81054, - "nodeType": "FunctionDefinition", - "src": "4621:211:132", - "nodes": [], - "body": { - "id": 81053, - "nodeType": "Block", - "src": "4698:134:132", - "nodes": [], - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 81039, - "name": "_strategy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81032, - "src": "4727:9:132", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 81038, - "name": "_revertZeroAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 80837, - "src": "4708:18:132", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_address_$returns$__$", - "typeString": "function (address) pure" - } - }, - "id": 81040, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "4708:29:132", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 81041, - "nodeType": "ExpressionStatement", - "src": "4708:29:132" - }, - { - "expression": { - "id": 81047, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "expression": { - "baseExpression": { - "id": 81042, - "name": "strategies", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 80699, - "src": "4747:10:132", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Strategy_$80592_storage_$", - "typeString": "mapping(address => struct Strategy storage ref)" - } - }, - "id": 81044, - "indexExpression": { - "id": 81043, - "name": "_strategy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81032, - "src": "4758:9:132", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4747:21:132", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Strategy_$80592_storage", - "typeString": "struct Strategy storage ref" - } - }, - "id": 81045, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberLocation": "4769:6:132", - "memberName": "active", - "nodeType": "MemberAccess", - "referencedDeclaration": 80589, - "src": "4747:28:132", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "hexValue": "74727565", - "id": 81046, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4778:4:132", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "4747:35:132", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 81048, - "nodeType": "ExpressionStatement", - "src": "4747:35:132" - }, - { - "eventCall": { - "arguments": [ - { - "id": 81050, - "name": "_strategy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81032, - "src": "4815:9:132", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 81049, - "name": "StrategyActivated", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 80735, - "src": "4797:17:132", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$", - "typeString": "function (address)" - } - }, - "id": 81051, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "4797:28:132", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 81052, - "nodeType": "EmitStatement", - "src": "4792:33:132" - } - ] - }, - "baseFunctions": [ - 80650 - ], - "documentation": { - "id": 81030, - "nodeType": "StructuredDocumentation", - "src": "4524:92:132", - "text": "@notice Activate a strategy\n @param _strategy address of the strategy to activate" - }, - "functionSelector": "d80ea5a0", - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": [ - { - "id": 81035, - "name": "_strategy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81032, - "src": "4687:9:132", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "id": 81036, - "kind": "modifierInvocation", - "modifierName": { - "id": 81034, - "name": "onlyCouncil", - "nameLocations": [ - "4675:11:132" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 80820, - "src": "4675:11:132" - }, - "nodeType": "ModifierInvocation", - "src": "4675:22:132" - } - ], - "name": "activateStrategy", - "nameLocation": "4630:16:132", - "parameters": { - "id": 81033, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 81032, - "mutability": "mutable", - "name": "_strategy", - "nameLocation": "4655:9:132", - "nodeType": "VariableDeclaration", - "scope": 81054, - "src": "4647:17:132", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 81031, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4647:7:132", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "4646:19:132" - }, - "returnParameters": { - "id": 81037, - "nodeType": "ParameterList", - "parameters": [], - "src": "4698:0:132" - }, - "scope": 81159, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "id": 81082, - "nodeType": "FunctionDefinition", - "src": "5028:272:132", - "nodes": [], - "body": { - "id": 81081, - "nodeType": "Block", - "src": "5139:161:132", - "nodes": [], - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 81066, - "name": "_strategy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81057, - "src": "5168:9:132", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 81065, - "name": "_revertZeroAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 80837, - "src": "5149:18:132", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_address_$returns$__$", - "typeString": "function (address) pure" - } - }, - "id": 81067, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "5149:29:132", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 81068, - "nodeType": "ExpressionStatement", - "src": "5149:29:132" - }, - { - "expression": { - "id": 81074, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "expression": { - "baseExpression": { - "id": 81069, - "name": "strategies", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 80699, - "src": "5188:10:132", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Strategy_$80592_storage_$", - "typeString": "mapping(address => struct Strategy storage ref)" - } - }, - "id": 81071, - "indexExpression": { - "id": 81070, - "name": "_strategy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81057, - "src": "5199:9:132", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5188:21:132", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Strategy_$80592_storage", - "typeString": "struct Strategy storage ref" - } - }, - "id": 81072, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberLocation": "5210:9:132", - "memberName": "threshold", - "nodeType": "MemberAccess", - "referencedDeclaration": 80587, - "src": "5188:31:132", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 81073, - "name": "_newThreshold", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81059, - "src": "5222:13:132", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5188:47:132", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 81075, - "nodeType": "ExpressionStatement", - "src": "5188:47:132" - }, - { - "eventCall": { - "arguments": [ - { - "id": 81077, - "name": "_strategy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81057, - "src": "5268:9:132", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 81078, - "name": "_newThreshold", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81059, - "src": "5279:13:132", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 81076, - "name": "ThresholdModified", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 80741, - "src": "5250:17:132", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 81079, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "5250:43:132", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 81080, - "nodeType": "EmitStatement", - "src": "5245:48:132" - } - ] - }, - "baseFunctions": [ - 80631 - ], - "documentation": { - "id": 81055, - "nodeType": "StructuredDocumentation", - "src": "4838:185:132", - "text": "@notice Modify the threshold of a strategy\n @param _strategy address of the strategy to modify\n @param _newThreshold new threshold to set expressed on a scale of 10**4" - }, - "functionSelector": "642ce76b", - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": [ - { - "id": 81062, - "name": "_strategy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81057, - "src": "5128:9:132", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "id": 81063, - "kind": "modifierInvocation", - "modifierName": { - "id": 81061, - "name": "onlyCouncilOrAuthorized", - "nameLocations": [ - "5104:23:132" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 80801, - "src": "5104:23:132" - }, - "nodeType": "ModifierInvocation", - "src": "5104:34:132" - } - ], - "name": "modifyThreshold", - "nameLocation": "5037:15:132", - "parameters": { - "id": 81060, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 81057, - "mutability": "mutable", - "name": "_strategy", - "nameLocation": "5061:9:132", - "nodeType": "VariableDeclaration", - "scope": 81082, - "src": "5053:17:132", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 81056, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5053:7:132", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 81059, - "mutability": "mutable", - "name": "_newThreshold", - "nameLocation": "5080:13:132", - "nodeType": "VariableDeclaration", - "scope": 81082, - "src": "5072:21:132", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 81058, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5072:7:132", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "5052:42:132" - }, - "returnParameters": { - "id": 81064, - "nodeType": "ParameterList", - "parameters": [], - "src": "5139:0:132" - }, - "scope": 81159, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "id": 81121, - "nodeType": "FunctionDefinition", - "src": "5465:345:132", - "nodes": [], - "body": { - "id": 81120, - "nodeType": "Block", - "src": "5563:247:132", - "nodes": [], - "statements": [ - { - "assignments": [ - 81095 - ], - "declarations": [ - { - "constant": false, - "id": 81095, - "mutability": "mutable", - "name": "userScore", - "nameLocation": "5593:9:132", - "nodeType": "VariableDeclaration", - "scope": 81120, - "src": "5573:29:132", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PassportData_$80585_memory_ptr", - "typeString": "struct PassportData" - }, - "typeName": { - "id": 81094, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 81093, - "name": "PassportData", - "nameLocations": [ - "5573:12:132" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 80585, - "src": "5573:12:132" - }, - "referencedDeclaration": 80585, - "src": "5573:12:132", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PassportData_$80585_storage_ptr", - "typeString": "struct PassportData" - } - }, - "visibility": "internal" - } - ], - "id": 81099, - "initialValue": { - "baseExpression": { - "id": 81096, - "name": "userScores", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 80694, - "src": "5605:10:132", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_PassportData_$80585_storage_$", - "typeString": "mapping(address => struct PassportData storage ref)" - } - }, - "id": 81098, - "indexExpression": { - "id": 81097, - "name": "_user", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81085, - "src": "5616:5:132", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5605:17:132", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PassportData_$80585_storage", - "typeString": "struct PassportData storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5573:49:132" - }, - { - "assignments": [ - 81102 - ], - "declarations": [ - { - "constant": false, - "id": 81102, - "mutability": "mutable", - "name": "strategy", - "nameLocation": "5648:8:132", - "nodeType": "VariableDeclaration", - "scope": 81120, - "src": "5632:24:132", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Strategy_$80592_memory_ptr", - "typeString": "struct Strategy" - }, - "typeName": { - "id": 81101, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 81100, - "name": "Strategy", - "nameLocations": [ - "5632:8:132" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 80592, - "src": "5632:8:132" - }, - "referencedDeclaration": 80592, - "src": "5632:8:132", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Strategy_$80592_storage_ptr", - "typeString": "struct Strategy" - } - }, - "visibility": "internal" - } - ], - "id": 81106, - "initialValue": { - "baseExpression": { - "id": 81103, - "name": "strategies", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 80699, - "src": "5659:10:132", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Strategy_$80592_storage_$", - "typeString": "mapping(address => struct Strategy storage ref)" - } - }, - "id": 81105, - "indexExpression": { - "id": 81104, - "name": "_strategy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81087, - "src": "5670:9:132", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5659:21:132", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Strategy_$80592_storage", - "typeString": "struct Strategy storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5632:48:132" - }, - { - "condition": { - "id": 81109, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "5695:16:132", - "subExpression": { - "expression": { - "id": 81107, - "name": "strategy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81102, - "src": "5696:8:132", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Strategy_$80592_memory_ptr", - "typeString": "struct Strategy memory" - } - }, - "id": 81108, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "5705:6:132", - "memberName": "active", - "nodeType": "MemberAccess", - "referencedDeclaration": 80589, - "src": "5696:15:132", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 81113, - "nodeType": "IfStatement", - "src": "5691:58:132", - "trueBody": { - "id": 81112, - "nodeType": "Block", - "src": "5713:36:132", - "statements": [ - { - "expression": { - "hexValue": "74727565", - "id": 81110, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5734:4:132", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 81092, - "id": 81111, - "nodeType": "Return", - "src": "5727:11:132" - } - ] - } - }, - { - "expression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 81118, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 81114, - "name": "userScore", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81095, - "src": "5766:9:132", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PassportData_$80585_memory_ptr", - "typeString": "struct PassportData memory" - } - }, - "id": 81115, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "5776:5:132", - "memberName": "score", - "nodeType": "MemberAccess", - "referencedDeclaration": 80582, - "src": "5766:15:132", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "expression": { - "id": 81116, - "name": "strategy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81102, - "src": "5785:8:132", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Strategy_$80592_memory_ptr", - "typeString": "struct Strategy memory" - } - }, - "id": 81117, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "5794:9:132", - "memberName": "threshold", - "nodeType": "MemberAccess", - "referencedDeclaration": 80587, - "src": "5785:18:132", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5766:37:132", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 81092, - "id": 81119, - "nodeType": "Return", - "src": "5759:44:132" - } - ] - }, - "baseFunctions": [ - 80624 - ], - "documentation": { - "id": 81083, - "nodeType": "StructuredDocumentation", - "src": "5306:154:132", - "text": "@notice Check if an action can be executed\n @param _user address of the user to check\n @param _strategy address of the strategy to check" - }, - "functionSelector": "42a987a0", - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "canExecuteAction", - "nameLocation": "5474:16:132", - "overrides": { - "id": 81089, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "5539:8:132" - }, - "parameters": { - "id": 81088, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 81085, - "mutability": "mutable", - "name": "_user", - "nameLocation": "5499:5:132", - "nodeType": "VariableDeclaration", - "scope": 81121, - "src": "5491:13:132", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 81084, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5491:7:132", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 81087, - "mutability": "mutable", - "name": "_strategy", - "nameLocation": "5514:9:132", - "nodeType": "VariableDeclaration", - "scope": 81121, - "src": "5506:17:132", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 81086, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5506:7:132", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "5490:34:132" - }, - "returnParameters": { - "id": 81092, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 81091, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 81121, - "src": "5557:4:132", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 81090, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "5557:4:132", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "5556:6:132" - }, - "scope": 81159, - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "id": 81135, - "nodeType": "FunctionDefinition", - "src": "5906:122:132", - "nodes": [], - "body": { - "id": 81134, - "nodeType": "Block", - "src": "5987:41:132", - "nodes": [], - "statements": [ - { - "expression": { - "baseExpression": { - "id": 81130, - "name": "userScores", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 80694, - "src": "6004:10:132", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_PassportData_$80585_storage_$", - "typeString": "mapping(address => struct PassportData storage ref)" - } - }, - "id": 81132, - "indexExpression": { - "id": 81131, - "name": "_user", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81124, - "src": "6015:5:132", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6004:17:132", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PassportData_$80585_storage", - "typeString": "struct PassportData storage ref" - } - }, - "functionReturnParameters": 81129, - "id": 81133, - "nodeType": "Return", - "src": "5997:24:132" - } - ] - }, - "baseFunctions": [ - 80658 - ], - "documentation": { - "id": 81122, - "nodeType": "StructuredDocumentation", - "src": "5816:85:132", - "text": "@notice Get the score of a user\n @param _user address of the user to check" - }, - "functionSelector": "b34e0c47", - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getUserScore", - "nameLocation": "5915:12:132", - "parameters": { - "id": 81125, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 81124, - "mutability": "mutable", - "name": "_user", - "nameLocation": "5936:5:132", - "nodeType": "VariableDeclaration", - "scope": 81135, - "src": "5928:13:132", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 81123, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5928:7:132", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "5927:15:132" - }, - "returnParameters": { - "id": 81129, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 81128, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 81135, - "src": "5966:19:132", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PassportData_$80585_memory_ptr", - "typeString": "struct PassportData" - }, - "typeName": { - "id": 81127, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 81126, - "name": "PassportData", - "nameLocations": [ - "5966:12:132" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 80585, - "src": "5966:12:132" - }, - "referencedDeclaration": 80585, - "src": "5966:12:132", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PassportData_$80585_storage_ptr", - "typeString": "struct PassportData" - } - }, - "visibility": "internal" - } - ], - "src": "5965:21:132" - }, - "scope": 81159, - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "id": 81149, - "nodeType": "FunctionDefinition", - "src": "6130:125:132", - "nodes": [], - "body": { - "id": 81148, - "nodeType": "Block", - "src": "6210:45:132", - "nodes": [], - "statements": [ - { - "expression": { - "baseExpression": { - "id": 81144, - "name": "strategies", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 80699, - "src": "6227:10:132", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Strategy_$80592_storage_$", - "typeString": "mapping(address => struct Strategy storage ref)" - } - }, - "id": 81146, - "indexExpression": { - "id": 81145, - "name": "_strategy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81138, - "src": "6238:9:132", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6227:21:132", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Strategy_$80592_storage", - "typeString": "struct Strategy storage ref" - } - }, - "functionReturnParameters": 81143, - "id": 81147, - "nodeType": "Return", - "src": "6220:28:132" - } - ] - }, - "baseFunctions": [ - 80666 - ], - "documentation": { - "id": 81136, - "nodeType": "StructuredDocumentation", - "src": "6034:91:132", - "text": "@notice Get the strategy data\n @param _strategy address of the strategy to check" - }, - "functionSelector": "f8806a13", - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getStrategy", - "nameLocation": "6139:11:132", - "parameters": { - "id": 81139, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 81138, - "mutability": "mutable", - "name": "_strategy", - "nameLocation": "6159:9:132", - "nodeType": "VariableDeclaration", - "scope": 81149, - "src": "6151:17:132", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 81137, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6151:7:132", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "6150:19:132" - }, - "returnParameters": { - "id": 81143, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 81142, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 81149, - "src": "6193:15:132", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Strategy_$80592_memory_ptr", - "typeString": "struct Strategy" - }, - "typeName": { - "id": 81141, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 81140, - "name": "Strategy", - "nameLocations": [ - "6193:8:132" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 80592, - "src": "6193:8:132" - }, - "referencedDeclaration": 80592, - "src": "6193:8:132", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Strategy_$80592_storage_ptr", - "typeString": "struct Strategy" - } - }, - "visibility": "internal" - } - ], - "src": "6192:17:132" - }, - "scope": 81159, - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "id": 81158, - "nodeType": "FunctionDefinition", - "src": "6261:66:132", - "nodes": [], - "body": { - "id": 81157, - "nodeType": "Block", - "src": "6325:2:132", - "nodes": [], - "statements": [] - }, - "baseFunctions": [ - 56212 - ], - "implemented": true, - "kind": "function", - "modifiers": [ - { - "id": 81155, - "kind": "modifierInvocation", - "modifierName": { - "id": 81154, - "name": "onlyOwner", - "nameLocations": [ - "6315:9:132" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 52856, - "src": "6315:9:132" - }, - "nodeType": "ModifierInvocation", - "src": "6315:9:132" - } - ], - "name": "_authorizeUpgrade", - "nameLocation": "6270:17:132", - "overrides": { - "id": 81153, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "6306:8:132" - }, - "parameters": { - "id": 81152, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 81151, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 81158, - "src": "6288:7:132", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 81150, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6288:7:132", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "6287:9:132" - }, - "returnParameters": { - "id": 81156, - "nodeType": "ParameterList", - "parameters": [], - "src": "6325:0:132" - }, - "scope": 81159, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - } - ], - "abstract": false, - "baseContracts": [ - { - "baseName": { - "id": 80680, - "name": "Initializable", - "nameLocations": [ - "479:13:132" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 53191, - "src": "479:13:132" - }, - "id": 80681, - "nodeType": "InheritanceSpecifier", - "src": "479:13:132" - }, - { - "baseName": { - "id": 80682, - "name": "UUPSUpgradeable", - "nameLocations": [ - "494:15:132" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 56213, - "src": "494:15:132" - }, - "id": 80683, - "nodeType": "InheritanceSpecifier", - "src": "494:15:132" - }, - { - "baseName": { - "id": 80684, - "name": "OwnableUpgradeable", - "nameLocations": [ - "511:18:132" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 52942, - "src": "511:18:132" - }, - "id": 80685, - "nodeType": "InheritanceSpecifier", - "src": "511:18:132" - }, - { - "baseName": { - "id": 80686, - "name": "ISybilScorer", - "nameLocations": [ - "531:12:132" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 80667, - "src": "531:12:132" - }, - "id": 80687, - "nodeType": "InheritanceSpecifier", - "src": "531:12:132" - } - ], - "canonicalName": "PassportScorer", - "contractDependencies": [], - "contractKind": "contract", - "fullyImplemented": true, - "linearizedBaseContracts": [ - 81159, - 80667, - 52942, - 53735, - 56213, - 53191, - 55866, - 55515, - 55525 - ], - "name": "PassportScorer", - "nameLocation": "461:14:132", - "scope": 81160, - "usedErrors": [ - 80743, - 80745, - 80747, - 80749, - 80751 - ] - } - ], - "license": "AGPL-3.0-or-later" - }, - "id": 132 -} \ No newline at end of file +{"abi":[{"type":"function","name":"activateStrategy","inputs":[{"name":"_strategy","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"addStrategy","inputs":[{"name":"_strategy","type":"address","internalType":"address"},{"name":"_threshold","type":"uint256","internalType":"uint256"},{"name":"_councilSafe","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"addUserScore","inputs":[{"name":"_user","type":"address","internalType":"address"},{"name":"_passportData","type":"tuple","internalType":"struct PassportData","components":[{"name":"score","type":"uint256","internalType":"uint256"},{"name":"lastUpdated","type":"uint256","internalType":"uint256"}]}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"canExecuteAction","inputs":[{"name":"_user","type":"address","internalType":"address"},{"name":"_strategy","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"changeListManager","inputs":[{"name":"_newManager","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"getStrategy","inputs":[{"name":"_strategy","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"tuple","internalType":"struct Strategy","components":[{"name":"threshold","type":"uint256","internalType":"uint256"},{"name":"active","type":"bool","internalType":"bool"},{"name":"councilSafe","type":"address","internalType":"address"}]}],"stateMutability":"view"},{"type":"function","name":"getUserScore","inputs":[{"name":"_user","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"tuple","internalType":"struct PassportData","components":[{"name":"score","type":"uint256","internalType":"uint256"},{"name":"lastUpdated","type":"uint256","internalType":"uint256"}]}],"stateMutability":"view"},{"type":"function","name":"initialize","inputs":[{"name":"_listManager","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"listManager","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"modifyThreshold","inputs":[{"name":"_strategy","type":"address","internalType":"address"},{"name":"_newThreshold","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"proxiableUUID","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"removeStrategy","inputs":[{"name":"_strategy","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"removeUser","inputs":[{"name":"_user","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"renounceOwnership","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"strategies","inputs":[{"name":"","type":"address","internalType":"address"}],"outputs":[{"name":"threshold","type":"uint256","internalType":"uint256"},{"name":"active","type":"bool","internalType":"bool"},{"name":"councilSafe","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"transferOwnership","inputs":[{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"upgradeTo","inputs":[{"name":"newImplementation","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"upgradeToAndCall","inputs":[{"name":"newImplementation","type":"address","internalType":"address"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"userScores","inputs":[{"name":"","type":"address","internalType":"address"}],"outputs":[{"name":"score","type":"uint256","internalType":"uint256"},{"name":"lastUpdated","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"event","name":"AdminChanged","inputs":[{"name":"previousAdmin","type":"address","indexed":false,"internalType":"address"},{"name":"newAdmin","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"BeaconUpgraded","inputs":[{"name":"beacon","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint8","indexed":false,"internalType":"uint8"}],"anonymous":false},{"type":"event","name":"ListManagerChanged","inputs":[{"name":"oldManager","type":"address","indexed":true,"internalType":"address"},{"name":"newManager","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"previousOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"StrategyActivated","inputs":[{"name":"strategy","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"StrategyAdded","inputs":[{"name":"strategy","type":"address","indexed":true,"internalType":"address"},{"name":"threshold","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"active","type":"bool","indexed":false,"internalType":"bool"},{"name":"councilSafe","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"StrategyRemoved","inputs":[{"name":"strategy","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"ThresholdModified","inputs":[{"name":"strategy","type":"address","indexed":true,"internalType":"address"},{"name":"newThreshold","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Upgraded","inputs":[{"name":"implementation","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"UserRemoved","inputs":[{"name":"user","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"UserScoreAdded","inputs":[{"name":"user","type":"address","indexed":true,"internalType":"address"},{"name":"score","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"lastUpdated","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"error","name":"OnlyAuthorized","inputs":[]},{"type":"error","name":"OnlyCouncil","inputs":[]},{"type":"error","name":"OnlyCouncilOrAuthorized","inputs":[]},{"type":"error","name":"StrategyAlreadyExists","inputs":[]},{"type":"error","name":"ZeroAddress","inputs":[]}],"bytecode":{"object":"0x60a06040523060805234801561001457600080fd5b50608051611a8761004c60003960008181610656015281816106e0015281816108ce015281816109530152610a390152611a876000f3fe60806040526004361061015f5760003560e01c80637814d568116100c0578063c4d66de811610074578063f2fde38b11610059578063f2fde38b14610469578063f8806a1314610489578063fc2ebdd11461052f57600080fd5b8063c4d66de814610429578063d80ea5a01461044957600080fd5b80638df8b2fe116100a55780638df8b2fe1461036c578063985751881461038c578063b34e0c47146103ac57600080fd5b80637814d5681461031a5780638da5cb5b1461033a57600080fd5b806342a987a01161011757806352d1902d116100fc57806352d1902d146102c2578063642ce76b146102e5578063715018a61461030557600080fd5b806342a987a01461027f5780634f1ef286146102af57600080fd5b80633659cfe6116101485780633659cfe6146101d457806339ebf823146101f45780633d4768301461025f57600080fd5b80631413d4c014610164578063175188e8146101b2575b600080fd5b34801561017057600080fd5b5061019861017f366004611771565b6066602052600090815260409020805460019091015482565b604080519283526020830191909152015b60405180910390f35b3480156101be57600080fd5b506101d26101cd366004611771565b61054f565b005b3480156101e057600080fd5b506101d26101ef366004611771565b61064c565b34801561020057600080fd5b5061023b61020f366004611771565b6067602052600090815260409020805460019091015460ff81169061010090046001600160a01b031683565b6040805193845291151560208401526001600160a01b0316908201526060016101a9565b34801561026b57600080fd5b506101d261027a366004611771565b6107cc565b34801561028b57600080fd5b5061029f61029a36600461178c565b61083c565b60405190151581526020016101a9565b6101d26102bd36600461181f565b6108c4565b3480156102ce57600080fd5b506102d7610a2c565b6040519081526020016101a9565b3480156102f157600080fd5b506101d26103003660046118c5565b610af1565b34801561031157600080fd5b506101d2610bc6565b34801561032657600080fd5b506101d26103353660046118ef565b610bda565b34801561034657600080fd5b506033546001600160a01b03165b6040516001600160a01b0390911681526020016101a9565b34801561037857600080fd5b50606554610354906001600160a01b031681565b34801561039857600080fd5b506101d26103a7366004611771565b610ca2565b3480156103b857600080fd5b5061040e6103c7366004611771565b6040805180820190915260008082526020820152506001600160a01b0316600090815260666020908152604091829020825180840190935280548352600101549082015290565b604080518251815260209283015192810192909252016101a9565b34801561043557600080fd5b506101d2610444366004611771565b610d1d565b34801561045557600080fd5b506101d2610464366004611771565b610e6e565b34801561047557600080fd5b506101d2610484366004611771565b610f27565b34801561049557600080fd5b506105026104a4366004611771565b6040805160608082018352600080835260208084018290529284018190526001600160a01b0394851681526067835283902083519182018452805482526001015460ff81161515928201929092526101009091049092169082015290565b6040805182518152602080840151151590820152918101516001600160a01b0316908201526060016101a9565b34801561053b57600080fd5b506101d261054a366004611962565b610fb4565b806105626033546001600160a01b031690565b6001600160a01b0316336001600160a01b0316148061058b57506065546001600160a01b031633145b806105b757506001600160a01b0381811660009081526067602052604090206001015461010090041633145b15610616576105c582611148565b6001600160a01b03821660008181526067602052604080822060018101805460ff19169055829055517f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea49190a25050565b6040517fe3b6914b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036106de5760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b19195b1959d85d1958d85b1b60a21b60648201526084015b60405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166107397f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b6001600160a01b0316146107a45760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b6163746976652070726f787960a01b60648201526084016106d5565b6107ad81611188565b604080516000808252602082019092526107c991839190611190565b50565b6107d4611330565b6107dd81611148565b606580546001600160a01b0383811673ffffffffffffffffffffffffffffffffffffffff19831681179093556040519116919082907f5117c6c457d7b27a4cb68df40b118f157ac1f1ba81f8a571d189f829d74fbc8690600090a35050565b6001600160a01b03808316600090815260666020908152604080832081518083018352815481526001918201548185015286861685526067845282852083516060810185528154815292015460ff81161515948301859052610100900490951691810191909152919291906108b6576001925050506108be565b519051101590505b92915050565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036109515760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b19195b1959d85d1958d85b1b60a21b60648201526084016106d5565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166109ac7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b6001600160a01b031614610a175760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b6163746976652070726f787960a01b60648201526084016106d5565b610a2082611188565b61064882826001611190565b6000306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610acc5760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c000000000000000060648201526084016106d5565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc90565b81610b046033546001600160a01b031690565b6001600160a01b0316336001600160a01b03161480610b2d57506065546001600160a01b031633145b80610b5957506001600160a01b0381811660009081526067602052604090206001015461010090041633145b1561061657610b6783611148565b6001600160a01b03831660008181526067602052604090819020849055517f40ba4d5d9facd2fda74e22251d1638576e05a30482470363c7c87a7b5b298c0990610bb49085815260200190565b60405180910390a2505050565b505050565b610bce611330565b610bd8600061138a565b565b6033546001600160a01b0316331480610bfd57506065546001600160a01b031633145b15610c7057610c0b82611148565b6001600160a01b03821660008181526066602090815260409182902084518082558583015160019092018290558351908152918201527f1e0ca12706807bceff25136f95fe6f69c1319c044f6073e6056a287e4f541b1d910160405180910390a25050565b6040517f7d7b71b500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6033546001600160a01b0316331480610cc557506065546001600160a01b031633145b15610c7057610cd381611148565b6001600160a01b038116600081815260666020526040808220828155600101829055517fe9dce8c992623ce791725b21e857e33248d1f190a25b5168313420eebdaae99d9190a250565b600054610100900460ff1615808015610d3d5750600054600160ff909116105b80610d575750303b158015610d57575060005460ff166001145b610dc95760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084016106d5565b6000805460ff191660011790558015610dec576000805461ff0019166101001790555b610df46113e9565b610dfd82611148565b6065805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0384161790558015610648576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b6001600160a01b038082166000908152606760205260409020600101548291610100909104163303610ef557610ea382611148565b6001600160a01b0382166000818152606760205260408082206001908101805460ff19169091179055517f652f053fc39779b70b29678135ade972fcb79966fc68fcb77c996b1aa4fd9afb9190a25050565b6040517f97ffbac900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610f2f611330565b6001600160a01b038116610fab5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084016106d5565b6107c98161138a565b6033546001600160a01b0316331480610fd757506065546001600160a01b031633145b15610c7057610fe583611148565b610fee81611148565b6001600160a01b03831660009081526067602052604090205415158061103557506001600160a01b0383811660009081526067602052604090206001015461010090041615155b1561106c576040517fc45546f700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040805160608082018352848252600060208084018281526001600160a01b038781168688018181528b831680875260678652898720985189559351600190980180549151909316610100027fffffffffffffffffffffff0000000000000000000000000000000000000000ff981515989098167fffffffffffffffffffffff000000000000000000000000000000000000000000909116179690961790558551888152918201929092529384019290925290917f9b1a157188de9a0bd2e7995d72aaba244d9bd012ddf3ae3d4f492135175070cb9101610bb4565b6001600160a01b0381166107c9576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6107c9611330565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff16156111c357610bc18361145c565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa92505050801561121d575060408051601f3d908101601f1916820190925261121a9181019061199e565b60015b61128f5760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201527f6f6e206973206e6f74205555505300000000000000000000000000000000000060648201526084016106d5565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc81146113245760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f7860448201527f6961626c6555554944000000000000000000000000000000000000000000000060648201526084016106d5565b50610bc1838383611527565b6033546001600160a01b03163314610bd85760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016106d5565b603380546001600160a01b0383811673ffffffffffffffffffffffffffffffffffffffff19831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600054610100900460ff166114545760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b60648201526084016106d5565b610bd8611552565b6001600160a01b0381163b6114d95760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201527f6f74206120636f6e74726163740000000000000000000000000000000000000060648201526084016106d5565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b611530836115c6565b60008251118061153d5750805b15610bc15761154c8383611606565b50505050565b600054610100900460ff166115bd5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b60648201526084016106d5565b610bd83361138a565b6115cf8161145c565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b606061162b8383604051806060016040528060278152602001611a2b60279139611632565b9392505050565b6060600080856001600160a01b03168560405161164f91906119db565b600060405180830381855af49150503d806000811461168a576040519150601f19603f3d011682016040523d82523d6000602084013e61168f565b606091505b50915091506116a0868383876116aa565b9695505050505050565b60608315611719578251600003611712576001600160a01b0385163b6117125760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016106d5565b5081611723565b611723838361172b565b949350505050565b81511561173b5781518083602001fd5b8060405162461bcd60e51b81526004016106d591906119f7565b80356001600160a01b038116811461176c57600080fd5b919050565b60006020828403121561178357600080fd5b61162b82611755565b6000806040838503121561179f57600080fd5b6117a883611755565b91506117b660208401611755565b90509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715611817576118176117bf565b604052919050565b6000806040838503121561183257600080fd5b61183b83611755565b915060208084013567ffffffffffffffff8082111561185957600080fd5b818601915086601f83011261186d57600080fd5b81358181111561187f5761187f6117bf565b611891601f8201601f191685016117ee565b915080825287848285010111156118a757600080fd5b80848401858401376000848284010152508093505050509250929050565b600080604083850312156118d857600080fd5b6118e183611755565b946020939093013593505050565b600080828403606081121561190357600080fd5b61190c84611755565b92506040601f198201121561192057600080fd5b506040516040810181811067ffffffffffffffff82111715611944576119446117bf565b60409081526020858101358352940135938101939093525092909150565b60008060006060848603121561197757600080fd5b61198084611755565b92506020840135915061199560408501611755565b90509250925092565b6000602082840312156119b057600080fd5b5051919050565b60005b838110156119d25781810151838201526020016119ba565b50506000910152565b600082516119ed8184602087016119b7565b9190910192915050565b6020815260008251806020840152611a168160408501602087016119b7565b601f01601f1916919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220195e24eaa878228f854e3fdd0b40a0da49158534c8a4e0c15214bc386b39bef464736f6c63430008130033","sourceMap":"452:5877:132:-:0;;;1088:4:68;1045:48;;452:5877:132;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x60806040526004361061015f5760003560e01c80637814d568116100c0578063c4d66de811610074578063f2fde38b11610059578063f2fde38b14610469578063f8806a1314610489578063fc2ebdd11461052f57600080fd5b8063c4d66de814610429578063d80ea5a01461044957600080fd5b80638df8b2fe116100a55780638df8b2fe1461036c578063985751881461038c578063b34e0c47146103ac57600080fd5b80637814d5681461031a5780638da5cb5b1461033a57600080fd5b806342a987a01161011757806352d1902d116100fc57806352d1902d146102c2578063642ce76b146102e5578063715018a61461030557600080fd5b806342a987a01461027f5780634f1ef286146102af57600080fd5b80633659cfe6116101485780633659cfe6146101d457806339ebf823146101f45780633d4768301461025f57600080fd5b80631413d4c014610164578063175188e8146101b2575b600080fd5b34801561017057600080fd5b5061019861017f366004611771565b6066602052600090815260409020805460019091015482565b604080519283526020830191909152015b60405180910390f35b3480156101be57600080fd5b506101d26101cd366004611771565b61054f565b005b3480156101e057600080fd5b506101d26101ef366004611771565b61064c565b34801561020057600080fd5b5061023b61020f366004611771565b6067602052600090815260409020805460019091015460ff81169061010090046001600160a01b031683565b6040805193845291151560208401526001600160a01b0316908201526060016101a9565b34801561026b57600080fd5b506101d261027a366004611771565b6107cc565b34801561028b57600080fd5b5061029f61029a36600461178c565b61083c565b60405190151581526020016101a9565b6101d26102bd36600461181f565b6108c4565b3480156102ce57600080fd5b506102d7610a2c565b6040519081526020016101a9565b3480156102f157600080fd5b506101d26103003660046118c5565b610af1565b34801561031157600080fd5b506101d2610bc6565b34801561032657600080fd5b506101d26103353660046118ef565b610bda565b34801561034657600080fd5b506033546001600160a01b03165b6040516001600160a01b0390911681526020016101a9565b34801561037857600080fd5b50606554610354906001600160a01b031681565b34801561039857600080fd5b506101d26103a7366004611771565b610ca2565b3480156103b857600080fd5b5061040e6103c7366004611771565b6040805180820190915260008082526020820152506001600160a01b0316600090815260666020908152604091829020825180840190935280548352600101549082015290565b604080518251815260209283015192810192909252016101a9565b34801561043557600080fd5b506101d2610444366004611771565b610d1d565b34801561045557600080fd5b506101d2610464366004611771565b610e6e565b34801561047557600080fd5b506101d2610484366004611771565b610f27565b34801561049557600080fd5b506105026104a4366004611771565b6040805160608082018352600080835260208084018290529284018190526001600160a01b0394851681526067835283902083519182018452805482526001015460ff81161515928201929092526101009091049092169082015290565b6040805182518152602080840151151590820152918101516001600160a01b0316908201526060016101a9565b34801561053b57600080fd5b506101d261054a366004611962565b610fb4565b806105626033546001600160a01b031690565b6001600160a01b0316336001600160a01b0316148061058b57506065546001600160a01b031633145b806105b757506001600160a01b0381811660009081526067602052604090206001015461010090041633145b15610616576105c582611148565b6001600160a01b03821660008181526067602052604080822060018101805460ff19169055829055517f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea49190a25050565b6040517fe3b6914b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036106de5760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b19195b1959d85d1958d85b1b60a21b60648201526084015b60405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166107397f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b6001600160a01b0316146107a45760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b6163746976652070726f787960a01b60648201526084016106d5565b6107ad81611188565b604080516000808252602082019092526107c991839190611190565b50565b6107d4611330565b6107dd81611148565b606580546001600160a01b0383811673ffffffffffffffffffffffffffffffffffffffff19831681179093556040519116919082907f5117c6c457d7b27a4cb68df40b118f157ac1f1ba81f8a571d189f829d74fbc8690600090a35050565b6001600160a01b03808316600090815260666020908152604080832081518083018352815481526001918201548185015286861685526067845282852083516060810185528154815292015460ff81161515948301859052610100900490951691810191909152919291906108b6576001925050506108be565b519051101590505b92915050565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036109515760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b19195b1959d85d1958d85b1b60a21b60648201526084016106d5565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166109ac7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b6001600160a01b031614610a175760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b6163746976652070726f787960a01b60648201526084016106d5565b610a2082611188565b61064882826001611190565b6000306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610acc5760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c000000000000000060648201526084016106d5565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc90565b81610b046033546001600160a01b031690565b6001600160a01b0316336001600160a01b03161480610b2d57506065546001600160a01b031633145b80610b5957506001600160a01b0381811660009081526067602052604090206001015461010090041633145b1561061657610b6783611148565b6001600160a01b03831660008181526067602052604090819020849055517f40ba4d5d9facd2fda74e22251d1638576e05a30482470363c7c87a7b5b298c0990610bb49085815260200190565b60405180910390a2505050565b505050565b610bce611330565b610bd8600061138a565b565b6033546001600160a01b0316331480610bfd57506065546001600160a01b031633145b15610c7057610c0b82611148565b6001600160a01b03821660008181526066602090815260409182902084518082558583015160019092018290558351908152918201527f1e0ca12706807bceff25136f95fe6f69c1319c044f6073e6056a287e4f541b1d910160405180910390a25050565b6040517f7d7b71b500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6033546001600160a01b0316331480610cc557506065546001600160a01b031633145b15610c7057610cd381611148565b6001600160a01b038116600081815260666020526040808220828155600101829055517fe9dce8c992623ce791725b21e857e33248d1f190a25b5168313420eebdaae99d9190a250565b600054610100900460ff1615808015610d3d5750600054600160ff909116105b80610d575750303b158015610d57575060005460ff166001145b610dc95760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084016106d5565b6000805460ff191660011790558015610dec576000805461ff0019166101001790555b610df46113e9565b610dfd82611148565b6065805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0384161790558015610648576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b6001600160a01b038082166000908152606760205260409020600101548291610100909104163303610ef557610ea382611148565b6001600160a01b0382166000818152606760205260408082206001908101805460ff19169091179055517f652f053fc39779b70b29678135ade972fcb79966fc68fcb77c996b1aa4fd9afb9190a25050565b6040517f97ffbac900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610f2f611330565b6001600160a01b038116610fab5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084016106d5565b6107c98161138a565b6033546001600160a01b0316331480610fd757506065546001600160a01b031633145b15610c7057610fe583611148565b610fee81611148565b6001600160a01b03831660009081526067602052604090205415158061103557506001600160a01b0383811660009081526067602052604090206001015461010090041615155b1561106c576040517fc45546f700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040805160608082018352848252600060208084018281526001600160a01b038781168688018181528b831680875260678652898720985189559351600190980180549151909316610100027fffffffffffffffffffffff0000000000000000000000000000000000000000ff981515989098167fffffffffffffffffffffff000000000000000000000000000000000000000000909116179690961790558551888152918201929092529384019290925290917f9b1a157188de9a0bd2e7995d72aaba244d9bd012ddf3ae3d4f492135175070cb9101610bb4565b6001600160a01b0381166107c9576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6107c9611330565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff16156111c357610bc18361145c565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa92505050801561121d575060408051601f3d908101601f1916820190925261121a9181019061199e565b60015b61128f5760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201527f6f6e206973206e6f74205555505300000000000000000000000000000000000060648201526084016106d5565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc81146113245760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f7860448201527f6961626c6555554944000000000000000000000000000000000000000000000060648201526084016106d5565b50610bc1838383611527565b6033546001600160a01b03163314610bd85760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016106d5565b603380546001600160a01b0383811673ffffffffffffffffffffffffffffffffffffffff19831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600054610100900460ff166114545760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b60648201526084016106d5565b610bd8611552565b6001600160a01b0381163b6114d95760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201527f6f74206120636f6e74726163740000000000000000000000000000000000000060648201526084016106d5565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b611530836115c6565b60008251118061153d5750805b15610bc15761154c8383611606565b50505050565b600054610100900460ff166115bd5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b60648201526084016106d5565b610bd83361138a565b6115cf8161145c565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b606061162b8383604051806060016040528060278152602001611a2b60279139611632565b9392505050565b6060600080856001600160a01b03168560405161164f91906119db565b600060405180830381855af49150503d806000811461168a576040519150601f19603f3d011682016040523d82523d6000602084013e61168f565b606091505b50915091506116a0868383876116aa565b9695505050505050565b60608315611719578251600003611712576001600160a01b0385163b6117125760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016106d5565b5081611723565b611723838361172b565b949350505050565b81511561173b5781518083602001fd5b8060405162461bcd60e51b81526004016106d591906119f7565b80356001600160a01b038116811461176c57600080fd5b919050565b60006020828403121561178357600080fd5b61162b82611755565b6000806040838503121561179f57600080fd5b6117a883611755565b91506117b660208401611755565b90509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715611817576118176117bf565b604052919050565b6000806040838503121561183257600080fd5b61183b83611755565b915060208084013567ffffffffffffffff8082111561185957600080fd5b818601915086601f83011261186d57600080fd5b81358181111561187f5761187f6117bf565b611891601f8201601f191685016117ee565b915080825287848285010111156118a757600080fd5b80848401858401376000848284010152508093505050509250929050565b600080604083850312156118d857600080fd5b6118e183611755565b946020939093013593505050565b600080828403606081121561190357600080fd5b61190c84611755565b92506040601f198201121561192057600080fd5b506040516040810181811067ffffffffffffffff82111715611944576119446117bf565b60409081526020858101358352940135938101939093525092909150565b60008060006060848603121561197757600080fd5b61198084611755565b92506020840135915061199560408501611755565b90509250925092565b6000602082840312156119b057600080fd5b5051919050565b60005b838110156119d25781810151838201526020016119ba565b50506000910152565b600082516119ed8184602087016119b7565b9190910192915050565b6020815260008251806020840152611a168160408501602087016119b7565b601f01601f1916919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220195e24eaa878228f854e3fdd0b40a0da49158534c8a4e0c15214bc386b39bef464736f6c63430008130033","sourceMap":"452:5877:132:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;583:50;;;;;;;;;;-1:-1:-1;583:50:132;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;580:25:151;;;636:2;621:18;;614:34;;;;553:18;583:50:132;;;;;;;;4244:274;;;;;;;;;;-1:-1:-1;4244:274:132;;;;;:::i;:::-;;:::i;:::-;;3143:195:68;;;;;;;;;;-1:-1:-1;3143:195:68;;;;;:::i;:::-;;:::i;639:46:132:-;;;;;;;;;;-1:-1:-1;639:46:132;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;639:46:132;;;;;;;855:25:151;;;923:14;;916:22;911:2;896:18;;889:50;-1:-1:-1;;;;;975:55:151;955:18;;;948:83;843:2;828:18;639:46:132;659:378:151;3168:259:132;;;;;;;;;;-1:-1:-1;3168:259:132;;;;;:::i;:::-;;:::i;5465:345::-;;;;;;;;;;-1:-1:-1;5465:345:132;;;;;:::i;:::-;;:::i;:::-;;;1472:14:151;;1465:22;1447:41;;1435:2;1420:18;5465:345:132;1307:187:151;3657:220:68;;;;;;:::i;:::-;;:::i;2762:131::-;;;;;;;;;;;;;:::i;:::-;;;2956:25:151;;;2944:2;2929:18;2762:131:68;2810:177:151;5028:272:132;;;;;;;;;;-1:-1:-1;5028:272:132;;;;;:::i;:::-;;:::i;2085:101:46:-;;;;;;;;;;;;;:::i;2503:274:132:-;;;;;;;;;;-1:-1:-1;2503:274:132;;;;;:::i;:::-;;:::i;1462:85:46:-;;;;;;;;;;-1:-1:-1;1534:6:46;;-1:-1:-1;;;;;1534:6:46;1462:85;;;-1:-1:-1;;;;;4089:55:151;;;4071:74;;4059:2;4044:18;1462:85:46;3925:226:151;550:26:132;;;;;;;;;;-1:-1:-1;550:26:132;;;;-1:-1:-1;;;;;550:26:132;;;2878:177;;;;;;;;;;-1:-1:-1;2878:177:132;;;;;:::i;:::-;;:::i;5906:122::-;;;;;;;;;;-1:-1:-1;5906:122:132;;;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;6004:17:132;;;;;:10;:17;;;;;;;;;5997:24;;;;;;;;;;;;;;;;;;;;5906:122;;;;;4382:13:151;;4364:32;;4452:4;4440:17;;;4434:24;4412:20;;;4405:54;;;;4337:18;5906:122:132;4156:309:151;2148:172:132;;;;;;;;;;-1:-1:-1;2148:172:132;;;;;:::i;:::-;;:::i;4621:211::-;;;;;;;;;;-1:-1:-1;4621:211:132;;;;;:::i;:::-;;:::i;2335:198:46:-;;;;;;;;;;-1:-1:-1;2335:198:46;;;;;:::i;:::-;;:::i;6130:125:132:-;;;;;;;;;;-1:-1:-1;6130:125:132;;;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6227:21:132;;;;;:10;:21;;;;;6220:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6130:125;;;;;4688:13:151;;4670:32;;4772:4;4760:17;;;4754:24;4747:32;4740:40;4718:20;;;4711:70;4829:17;;;4823:24;-1:-1:-1;;;;;4819:73:151;4797:20;;;4790:103;4658:2;4643:18;6130:125:132;4470:429:151;3595:532:132;;;;;;;;;;-1:-1:-1;3595:532:132;;;;;:::i;:::-;;:::i;4244:274::-;4329:9;1612:7;1534:6:46;;-1:-1:-1;;;;;1534:6:46;;1462:85;1612:7:132;-1:-1:-1;;;;;1598:21:132;:10;-1:-1:-1;;;;;1598:21:132;;:50;;;-1:-1:-1;1637:11:132;;-1:-1:-1;;;;;1637:11:132;1623:10;:25;1598:50;:101;;;-1:-1:-1;;;;;;1666:21:132;;;;;;;:10;:21;;;;;:33;;;;;;;1652:10;:47;1598:101;1594:196;;;4350:29:::1;4369:9;4350:18;:29::i;:::-;-1:-1:-1::0;;;;;4389:21:132;::::1;4420:5;4389:21:::0;;;:10:::1;:21;::::0;;;;;:28:::1;::::0;::::1;:36:::0;;-1:-1:-1;;4389:36:132::1;::::0;;4435:35;;;4485:26;::::1;::::0;4420:5;4485:26:::1;4244:274:::0;;:::o;1594:196::-;1754:25;;;;;;;;;;;;;;1594:196;4244:274;;:::o;3143:195:68:-;-1:-1:-1;;;;;1654:6:68;1637:23;1645:4;1637:23;1629:80;;;;-1:-1:-1;;;1629:80:68;;5439:2:151;1629:80:68;;;5421:21:151;5478:2;5458:18;;;5451:30;5517:34;5497:18;;;5490:62;-1:-1:-1;;;5568:18:151;;;5561:42;5620:19;;1629:80:68;;;;;;;;;1751:6;-1:-1:-1;;;;;1727:30:68;:20;1030:66:64;1254:54;-1:-1:-1;;;;;1254:54:64;;1175:140;1727:20:68;-1:-1:-1;;;;;1727:30:68;;1719:87;;;;-1:-1:-1;;;1719:87:68;;5852:2:151;1719:87:68;;;5834:21:151;5891:2;5871:18;;;5864:30;5930:34;5910:18;;;5903:62;-1:-1:-1;;;5981:18:151;;;5974:42;6033:19;;1719:87:68;5650:408:151;1719:87:68;3224:36:::1;3242:17;3224;:36::i;:::-;3311:12;::::0;;3321:1:::1;3311:12:::0;;;::::1;::::0;::::1;::::0;;;3270:61:::1;::::0;3292:17;;3311:12;3270:21:::1;:61::i;:::-;3143:195:::0;:::o;3168:259:132:-;1355:13:46;:11;:13::i;:::-;3254:31:132::1;3273:11;3254:18;:31::i;:::-;3316:11;::::0;;-1:-1:-1;;;;;3337:25:132;;::::1;-1:-1:-1::0;;3337:25:132;::::1;::::0;::::1;::::0;;;3377:43:::1;::::0;3316:11;::::1;::::0;3337:25;3316:11;;3377:43:::1;::::0;3295:18:::1;::::0;3377:43:::1;3244:183;3168:259:::0;:::o;5465:345::-;-1:-1:-1;;;;;5605:17:132;;;5557:4;5605:17;;;:10;:17;;;;;;;;5573:49;;;;;;;;;;;;;;;;;;;;5659:21;;;;;:10;:21;;;;;5632:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5557:4;;5573:49;5632:48;5691:58;;5734:4;5727:11;;;;;;5691:58;5785:18;5766:15;;:37;;;-1:-1:-1;5465:345:132;;;;;:::o;3657:220:68:-;-1:-1:-1;;;;;1654:6:68;1637:23;1645:4;1637:23;1629:80;;;;-1:-1:-1;;;1629:80:68;;5439:2:151;1629:80:68;;;5421:21:151;5478:2;5458:18;;;5451:30;5517:34;5497:18;;;5490:62;-1:-1:-1;;;5568:18:151;;;5561:42;5620:19;;1629:80:68;5237:408:151;1629:80:68;1751:6;-1:-1:-1;;;;;1727:30:68;:20;1030:66:64;1254:54;-1:-1:-1;;;;;1254:54:64;;1175:140;1727:20:68;-1:-1:-1;;;;;1727:30:68;;1719:87;;;;-1:-1:-1;;;1719:87:68;;5852:2:151;1719:87:68;;;5834:21:151;5891:2;5871:18;;;5864:30;5930:34;5910:18;;;5903:62;-1:-1:-1;;;5981:18:151;;;5974:42;6033:19;;1719:87:68;5650:408:151;1719:87:68;3772:36:::1;3790:17;3772;:36::i;:::-;3818:52;3840:17;3859:4;3865;3818:21;:52::i;2762:131::-:0;2840:7;2080:4;-1:-1:-1;;;;;2089:6:68;2072:23;;2064:92;;;;-1:-1:-1;;;2064:92:68;;6265:2:151;2064:92:68;;;6247:21:151;6304:2;6284:18;;;6277:30;6343:34;6323:18;;;6316:62;6414:26;6394:18;;;6387:54;6458:19;;2064:92:68;6063:420:151;2064:92:68;-1:-1:-1;1030:66:64::1;2762:131:68::0;:::o;5028:272:132:-;5128:9;1612:7;1534:6:46;;-1:-1:-1;;;;;1534:6:46;;1462:85;1612:7:132;-1:-1:-1;;;;;1598:21:132;:10;-1:-1:-1;;;;;1598:21:132;;:50;;;-1:-1:-1;1637:11:132;;-1:-1:-1;;;;;1637:11:132;1623:10;:25;1598:50;:101;;;-1:-1:-1;;;;;;1666:21:132;;;;;;;:10;:21;;;;;:33;;;;;;;1652:10;:47;1598:101;1594:196;;;5149:29:::1;5168:9;5149:18;:29::i;:::-;-1:-1:-1::0;;;;;5188:21:132;::::1;;::::0;;;:10:::1;:21;::::0;;;;;;:47;;;5250:43;::::1;::::0;::::1;::::0;5222:13;2956:25:151;;2944:2;2929:18;;2810:177;5250:43:132::1;;;;;;;;5028:272:::0;;;:::o;1594:196::-;5028:272;;;:::o;2085:101:46:-;1355:13;:11;:13::i;:::-;2149:30:::1;2176:1;2149:18;:30::i;:::-;2085:101::o:0;2503:274:132:-;1534:6:46;;-1:-1:-1;;;;;1534:6:46;1388:10:132;:21;;:50;;-1:-1:-1;1427:11:132;;-1:-1:-1;;;;;1427:11:132;1413:10;:25;1388:50;1384:136;;;2618:25:::1;2637:5;2618:18;:25::i;:::-;-1:-1:-1::0;;;;;2653:17:132;::::1;;::::0;;;:10:::1;:17;::::0;;;;;;;;:33;;;;;;;::::1;::::0;::::1;::::0;;::::1;::::0;;;2701:69;;580:25:151;;;621:18;;;614:34;2701:69:132::1;::::0;553:18:151;2701:69:132::1;;;;;;;4244:274:::0;;:::o;1384:136::-;1493:16;;;;;;;;;;;;;;2878:177;1534:6:46;;-1:-1:-1;;;;;1534:6:46;1388:10:132;:21;;:50;;-1:-1:-1;1427:11:132;;-1:-1:-1;;;;;1427:11:132;1413:10;:25;1388:50;1384:136;;;2956:25:::1;2975:5;2956:18;:25::i;:::-;-1:-1:-1::0;;;;;2998:17:132;::::1;;::::0;;;:10:::1;:17;::::0;;;;;2991:24;;;::::1;;::::0;;;3030:18;::::1;::::0;2998:17;3030:18:::1;3143:195:68::0;:::o;2148:172:132:-;3279:19:48;3302:13;;;;;;3301:14;;3347:34;;;;-1:-1:-1;3365:12:48;;3380:1;3365:12;;;;:16;3347:34;3346:108;;;-1:-1:-1;3426:4:48;1713:19:51;:23;;;3387:66:48;;-1:-1:-1;3436:12:48;;;;;:17;3387:66;3325:201;;;;-1:-1:-1;;;3325:201:48;;6872:2:151;3325:201:48;;;6854:21:151;6911:2;6891:18;;;6884:30;6950:34;6930:18;;;6923:62;7021:16;7001:18;;;6994:44;7055:19;;3325:201:48;6670:410:151;3325:201:48;3536:12;:16;;-1:-1:-1;;3536:16:48;3551:1;3536:16;;;3562:65;;;;3596:13;:20;;-1:-1:-1;;3596:20:48;;;;;3562:65;2219:16:132::1;:14;:16::i;:::-;2245:32;2264:12;2245:18;:32::i;:::-;2287:11;:26:::0;;-1:-1:-1;;2287:26:132::1;-1:-1:-1::0;;;;;2287:26:132;::::1;;::::0;;3647:99:48;;;;3697:5;3681:21;;-1:-1:-1;;3681:21:48;;;3721:14;;-1:-1:-1;7237:36:151;;3721:14:48;;7225:2:151;7210:18;3721:14:48;;;;;;;3269:483;2148:172:132;:::o;4621:211::-;-1:-1:-1;;;;;1870:21:132;;;;;;;:10;:21;;;;;:33;;;4687:9;;1870:33;;;;;1856:10;:47;1852:130;;4708:29:::1;4727:9;4708:18;:29::i;:::-;-1:-1:-1::0;;;;;4747:21:132;::::1;;::::0;;;:10:::1;:21;::::0;;;;;4778:4:::1;4747:28:::0;;::::1;:35:::0;;-1:-1:-1;;4747:35:132::1;::::0;;::::1;::::0;;4797:28;::::1;::::0;4747:21;4797:28:::1;4244:274:::0;;:::o;1852:130::-;1958:13;;;;;;;;;;;;;;2335:198:46;1355:13;:11;:13::i;:::-;-1:-1:-1;;;;;2423:22:46;::::1;2415:73;;;::::0;-1:-1:-1;;;2415:73:46;;7486:2:151;2415:73:46::1;::::0;::::1;7468:21:151::0;7525:2;7505:18;;;7498:30;7564:34;7544:18;;;7537:62;7635:8;7615:18;;;7608:36;7661:19;;2415:73:46::1;7284:402:151::0;2415:73:46::1;2498:28;2517:8;2498:18;:28::i;3595:532:132:-:0;1534:6:46;;-1:-1:-1;;;;;1534:6:46;1388:10:132;:21;;:50;;-1:-1:-1;1427:11:132;;-1:-1:-1;;;;;1427:11:132;1413:10;:25;1388:50;1384:136;;;3711:29:::1;3730:9;3711:18;:29::i;:::-;3750:32;3769:12;3750:18;:32::i;:::-;-1:-1:-1::0;;;;;3796:21:132;::::1;;::::0;;;:10:::1;:21;::::0;;;;:31;:36;::::1;::::0;:87:::1;;-1:-1:-1::0;;;;;;3836:21:132;;::::1;3881:1;3836:21:::0;;;:10:::1;:21;::::0;;;;:33:::1;;::::0;::::1;::::0;::::1;;:47:::0;::::1;3796:87;3792:148;;;3906:23;;;;;;;;;;;;;;3792:148;3973:75;::::0;;::::1;::::0;;::::1;::::0;;;;;-1:-1:-1;3973:75:132::1;::::0;;::::1;::::0;;;-1:-1:-1;;;;;3973:75:132;;::::1;::::0;;;;;;3949:21;;::::1;::::0;;;:10:::1;:21:::0;;;;;:99;;;;;;3973:75;3949:99;;::::1;::::0;;;;;;::::1;;;::::0;;::::1;;::::0;;;;;;;;;;;;::::1;::::0;;4063:57;;855:25:151;;;896:18;;;889:50;;;;955:18;;;948:83;;;;3949:21:132;;4063:57:::1;::::0;828:18:151;4063:57:132::1;659:378:151::0;1994:148:132;-1:-1:-1;;;;;2067:22:132;;2063:73;;2112:13;;;;;;;;;;;;;;6261:66;1355:13:46;:11;:13::i;2494:922:64:-;689:66;2910:48;;;2906:504;;;2974:37;2993:17;2974:18;:37::i;2906:504::-;3064:17;-1:-1:-1;;;;;3046:50:64;;:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3046:52:64;;;;;;;;-1:-1:-1;;3046:52:64;;;;;;;;;;;;:::i;:::-;;;3042:291;;3262:56;;-1:-1:-1;;;3262:56:64;;8082:2:151;3262:56:64;;;8064:21:151;8121:2;8101:18;;;8094:30;8160:34;8140:18;;;8133:62;8231:16;8211:18;;;8204:44;8265:19;;3262:56:64;7880:410:151;3042:291:64;1030:66;3148:28;;3140:82;;;;-1:-1:-1;;;3140:82:64;;8497:2:151;3140:82:64;;;8479:21:151;8536:2;8516:18;;;8509:30;8575:34;8555:18;;;8548:62;8646:11;8626:18;;;8619:39;8675:19;;3140:82:64;8295:405:151;3140:82:64;3099:138;3346:53;3364:17;3383:4;3389:9;3346:17;:53::i;1620:130:46:-;1534:6;;-1:-1:-1;;;;;1534:6:46;965:10:52;1683:23:46;1675:68;;;;-1:-1:-1;;;1675:68:46;;8907:2:151;1675:68:46;;;8889:21:151;;;8926:18;;;8919:30;8985:34;8965:18;;;8958:62;9037:18;;1675:68:46;8705:356:151;2687:187:46;2779:6;;;-1:-1:-1;;;;;2795:17:46;;;-1:-1:-1;;2795:17:46;;;;;;;2827:40;;2779:6;;;2795:17;2779:6;;2827:40;;2760:16;;2827:40;2750:124;2687:187;:::o;1024:95::-;5374:13:48;;;;;;;5366:69;;;;-1:-1:-1;;;5366:69:48;;9268:2:151;5366:69:48;;;9250:21:151;9307:2;9287:18;;;9280:30;9346:34;9326:18;;;9319:62;-1:-1:-1;;;9397:18:151;;;9390:41;9448:19;;5366:69:48;9066:407:151;5366:69:48;1086:26:46::1;:24;:26::i;1406:259:64:-:0;-1:-1:-1;;;;;1713:19:51;;;1479:95:64;;;;-1:-1:-1;;;1479:95:64;;9680:2:151;1479:95:64;;;9662:21:151;9719:2;9699:18;;;9692:30;9758:34;9738:18;;;9731:62;9829:15;9809:18;;;9802:43;9862:19;;1479:95:64;9478:409:151;1479:95:64;1030:66;1584:74;;-1:-1:-1;;1584:74:64;-1:-1:-1;;;;;1584:74:64;;;;;;;;;;1406:259::o;2057:265::-;2165:29;2176:17;2165:10;:29::i;:::-;2222:1;2208:4;:11;:15;:28;;;;2227:9;2208:28;2204:112;;;2252:53;2281:17;2300:4;2252:28;:53::i;:::-;;2057:265;;;:::o;1125:111:46:-;5374:13:48;;;;;;;5366:69;;;;-1:-1:-1;;;5366:69:48;;9268:2:151;5366:69:48;;;9250:21:151;9307:2;9287:18;;;9280:30;9346:34;9326:18;;;9319:62;-1:-1:-1;;;9397:18:151;;;9390:41;9448:19;;5366:69:48;9066:407:151;5366:69:48;1197:32:46::1;965:10:52::0;1197:18:46::1;:32::i;1771:152:64:-:0;1837:37;1856:17;1837:18;:37::i;:::-;1889:27;;-1:-1:-1;;;;;1889:27:64;;;;;;;;1771:152;:::o;6674:198:80:-;6757:12;6788:77;6809:6;6817:4;6788:77;;;;;;;;;;;;;;;;;:20;:77::i;:::-;6781:84;6674:198;-1:-1:-1;;;6674:198:80:o;7058:325::-;7199:12;7224;7238:23;7265:6;-1:-1:-1;;;;;7265:19:80;7285:4;7265:25;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7223:67;;;;7307:69;7334:6;7342:7;7351:10;7363:12;7307:26;:69::i;:::-;7300:76;7058:325;-1:-1:-1;;;;;;7058:325:80:o;7671:628::-;7851:12;7879:7;7875:418;;;7906:10;:17;7927:1;7906:22;7902:286;;-1:-1:-1;;;;;1713:19:51;;;8113:60:80;;;;-1:-1:-1;;;8113:60:80;;10641:2:151;8113:60:80;;;10623:21:151;10680:2;10660:18;;;10653:30;10719:31;10699:18;;;10692:59;10768:18;;8113:60:80;10439:353:151;8113:60:80;-1:-1:-1;8208:10:80;8201:17;;7875:418;8249:33;8257:10;8269:12;8249:7;:33::i;:::-;7671:628;;;;;;:::o;8821:540::-;8980:17;;:21;8976:379;;9208:10;9202:17;9264:15;9251:10;9247:2;9243:19;9236:44;8976:379;9331:12;9324:20;;-1:-1:-1;;;9324:20:80;;;;;;;;:::i;14:196:151:-;82:20;;-1:-1:-1;;;;;131:54:151;;121:65;;111:93;;200:1;197;190:12;111:93;14:196;;;:::o;215:186::-;274:6;327:2;315:9;306:7;302:23;298:32;295:52;;;343:1;340;333:12;295:52;366:29;385:9;366:29;:::i;1042:260::-;1110:6;1118;1171:2;1159:9;1150:7;1146:23;1142:32;1139:52;;;1187:1;1184;1177:12;1139:52;1210:29;1229:9;1210:29;:::i;:::-;1200:39;;1258:38;1292:2;1281:9;1277:18;1258:38;:::i;:::-;1248:48;;1042:260;;;;;:::o;1499:184::-;1551:77;1548:1;1541:88;1648:4;1645:1;1638:15;1672:4;1669:1;1662:15;1688:275;1759:2;1753:9;1824:2;1805:13;;-1:-1:-1;;1801:27:151;1789:40;;1859:18;1844:34;;1880:22;;;1841:62;1838:88;;;1906:18;;:::i;:::-;1942:2;1935:22;1688:275;;-1:-1:-1;1688:275:151:o;1968:837::-;2045:6;2053;2106:2;2094:9;2085:7;2081:23;2077:32;2074:52;;;2122:1;2119;2112:12;2074:52;2145:29;2164:9;2145:29;:::i;:::-;2135:39;;2193:2;2246;2235:9;2231:18;2218:32;2269:18;2310:2;2302:6;2299:14;2296:34;;;2326:1;2323;2316:12;2296:34;2364:6;2353:9;2349:22;2339:32;;2409:7;2402:4;2398:2;2394:13;2390:27;2380:55;;2431:1;2428;2421:12;2380:55;2467:2;2454:16;2489:2;2485;2482:10;2479:36;;;2495:18;;:::i;:::-;2537:53;2580:2;2561:13;;-1:-1:-1;;2557:27:151;2553:36;;2537:53;:::i;:::-;2524:66;;2613:2;2606:5;2599:17;2653:7;2648:2;2643;2639;2635:11;2631:20;2628:33;2625:53;;;2674:1;2671;2664:12;2625:53;2729:2;2724;2720;2716:11;2711:2;2704:5;2700:14;2687:45;2773:1;2768:2;2763;2756:5;2752:14;2748:23;2741:34;;2794:5;2784:15;;;;;1968:837;;;;;:::o;2992:254::-;3060:6;3068;3121:2;3109:9;3100:7;3096:23;3092:32;3089:52;;;3137:1;3134;3127:12;3089:52;3160:29;3179:9;3160:29;:::i;:::-;3150:39;3236:2;3221:18;;;;3208:32;;-1:-1:-1;;;2992:254:151:o;3251:669::-;3350:6;3358;3402:9;3393:7;3389:23;3432:2;3428;3424:11;3421:31;;;3448:1;3445;3438:12;3421:31;3471:29;3490:9;3471:29;:::i;:::-;3461:39;-1:-1:-1;3534:4:151;-1:-1:-1;;3516:16:151;;3512:27;3509:47;;;3552:1;3549;3542:12;3509:47;;3585:4;3579:11;3629:4;3621:6;3617:17;3700:6;3688:10;3685:22;3664:18;3652:10;3649:34;3646:62;3643:88;;;3711:18;;:::i;:::-;3747:4;3740:24;;;3816:2;3801:18;;;3788:32;3773:48;;3867:20;;3854:34;3837:15;;;3830:59;;;;-1:-1:-1;3251:669:151;3780:6;;-1:-1:-1;3251:669:151:o;4904:328::-;4981:6;4989;4997;5050:2;5038:9;5029:7;5025:23;5021:32;5018:52;;;5066:1;5063;5056:12;5018:52;5089:29;5108:9;5089:29;:::i;:::-;5079:39;;5165:2;5154:9;5150:18;5137:32;5127:42;;5188:38;5222:2;5211:9;5207:18;5188:38;:::i;:::-;5178:48;;4904:328;;;;;:::o;7691:184::-;7761:6;7814:2;7802:9;7793:7;7789:23;7785:32;7782:52;;;7830:1;7827;7820:12;7782:52;-1:-1:-1;7853:16:151;;7691:184;-1:-1:-1;7691:184:151:o;9892:250::-;9977:1;9987:113;10001:6;9998:1;9995:13;9987:113;;;10077:11;;;10071:18;10058:11;;;10051:39;10023:2;10016:10;9987:113;;;-1:-1:-1;;10134:1:151;10116:16;;10109:27;9892:250::o;10147:287::-;10276:3;10314:6;10308:13;10330:66;10389:6;10384:3;10377:4;10369:6;10365:17;10330:66;:::i;:::-;10412:16;;;;;10147:287;-1:-1:-1;;10147:287:151:o;10797:396::-;10946:2;10935:9;10928:21;10909:4;10978:6;10972:13;11021:6;11016:2;11005:9;11001:18;10994:34;11037:79;11109:6;11104:2;11093:9;11089:18;11084:2;11076:6;11072:15;11037:79;:::i;:::-;11177:2;11156:15;-1:-1:-1;;11152:29:151;11137:45;;;;11184:2;11133:54;;10797:396;-1:-1:-1;;10797:396:151:o","linkReferences":{},"immutableReferences":{"56113":[{"start":1622,"length":32},{"start":1760,"length":32},{"start":2254,"length":32},{"start":2387,"length":32},{"start":2617,"length":32}]}},"methodIdentifiers":{"activateStrategy(address)":"d80ea5a0","addStrategy(address,uint256,address)":"fc2ebdd1","addUserScore(address,(uint256,uint256))":"7814d568","canExecuteAction(address,address)":"42a987a0","changeListManager(address)":"3d476830","getStrategy(address)":"f8806a13","getUserScore(address)":"b34e0c47","initialize(address)":"c4d66de8","listManager()":"8df8b2fe","modifyThreshold(address,uint256)":"642ce76b","owner()":"8da5cb5b","proxiableUUID()":"52d1902d","removeStrategy(address)":"175188e8","removeUser(address)":"98575188","renounceOwnership()":"715018a6","strategies(address)":"39ebf823","transferOwnership(address)":"f2fde38b","upgradeTo(address)":"3659cfe6","upgradeToAndCall(address,bytes)":"4f1ef286","userScores(address)":"1413d4c0"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"OnlyAuthorized\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"OnlyCouncil\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"OnlyCouncilOrAuthorized\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"StrategyAlreadyExists\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ZeroAddress\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"previousAdmin\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"newAdmin\",\"type\":\"address\"}],\"name\":\"AdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"beacon\",\"type\":\"address\"}],\"name\":\"BeaconUpgraded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"version\",\"type\":\"uint8\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"oldManager\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newManager\",\"type\":\"address\"}],\"name\":\"ListManagerChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"strategy\",\"type\":\"address\"}],\"name\":\"StrategyActivated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"strategy\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"threshold\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"active\",\"type\":\"bool\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"councilSafe\",\"type\":\"address\"}],\"name\":\"StrategyAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"strategy\",\"type\":\"address\"}],\"name\":\"StrategyRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"strategy\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newThreshold\",\"type\":\"uint256\"}],\"name\":\"ThresholdModified\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"Upgraded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"UserRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"score\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"lastUpdated\",\"type\":\"uint256\"}],\"name\":\"UserScoreAdded\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"}],\"name\":\"activateStrategy\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_threshold\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_councilSafe\",\"type\":\"address\"}],\"name\":\"addStrategy\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"score\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"lastUpdated\",\"type\":\"uint256\"}],\"internalType\":\"struct PassportData\",\"name\":\"_passportData\",\"type\":\"tuple\"}],\"name\":\"addUserScore\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"}],\"name\":\"canExecuteAction\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_newManager\",\"type\":\"address\"}],\"name\":\"changeListManager\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"}],\"name\":\"getStrategy\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"threshold\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"active\",\"type\":\"bool\"},{\"internalType\":\"address\",\"name\":\"councilSafe\",\"type\":\"address\"}],\"internalType\":\"struct Strategy\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"}],\"name\":\"getUserScore\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"score\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"lastUpdated\",\"type\":\"uint256\"}],\"internalType\":\"struct PassportData\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_listManager\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"listManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_newThreshold\",\"type\":\"uint256\"}],\"name\":\"modifyThreshold\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proxiableUUID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"}],\"name\":\"removeStrategy\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"}],\"name\":\"removeUser\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"strategies\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"threshold\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"active\",\"type\":\"bool\"},{\"internalType\":\"address\",\"name\":\"councilSafe\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"}],\"name\":\"upgradeTo\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"upgradeToAndCall\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"userScores\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"score\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"lastUpdated\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"events\":{\"AdminChanged(address,address)\":{\"details\":\"Emitted when the admin account has changed.\"},\"BeaconUpgraded(address)\":{\"details\":\"Emitted when the beacon is changed.\"},\"Initialized(uint8)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"Upgraded(address)\":{\"details\":\"Emitted when the implementation is upgraded.\"}},\"kind\":\"dev\",\"methods\":{\"activateStrategy(address)\":{\"params\":{\"_strategy\":\"address of the strategy to activate\"}},\"addStrategy(address,uint256,address)\":{\"params\":{\"_councilSafe\":\"address of the council safe\",\"_threshold\":\"is expressed on a scale of 10**4\"}},\"addUserScore(address,(uint256,uint256))\":{\"params\":{\"_passportData\":\"PassportData struct with the user score and lastUpdated\",\"_user\":\"address of the user to add\"}},\"canExecuteAction(address,address)\":{\"params\":{\"_strategy\":\"address of the strategy to check\",\"_user\":\"address of the user to check\"}},\"changeListManager(address)\":{\"params\":{\"_newManager\":\"address of the new list manager\"}},\"getStrategy(address)\":{\"params\":{\"_strategy\":\"address of the strategy to check\"}},\"getUserScore(address)\":{\"params\":{\"_user\":\"address of the user to check\"}},\"modifyThreshold(address,uint256)\":{\"params\":{\"_newThreshold\":\"new threshold to set expressed on a scale of 10**4\",\"_strategy\":\"address of the strategy to modify\"}},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"proxiableUUID()\":{\"details\":\"Implementation of the ERC1822 {proxiableUUID} function. This returns the storage slot used by the implementation. It is used to validate the implementation's compatibility when performing an upgrade. IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this function revert if invoked through a proxy. This is guaranteed by the `notDelegated` modifier.\"},\"removeStrategy(address)\":{\"params\":{\"_strategy\":\"address of the strategy to remove\"}},\"removeUser(address)\":{\"params\":{\"_user\":\"address of the user to remove\"}},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"},\"upgradeTo(address)\":{\"custom:oz-upgrades-unsafe-allow-reachable\":\"delegatecall\",\"details\":\"Upgrade the implementation of the proxy to `newImplementation`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event.\"},\"upgradeToAndCall(address,bytes)\":{\"custom:oz-upgrades-unsafe-allow-reachable\":\"delegatecall\",\"details\":\"Upgrade the implementation of the proxy to `newImplementation`, and subsequently execute the function call encoded in `data`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"activateStrategy(address)\":{\"notice\":\"Activate a strategy\"},\"addStrategy(address,uint256,address)\":{\"notice\":\"Add a strategy to the contract\"},\"addUserScore(address,(uint256,uint256))\":{\"notice\":\"Add a userScore to the list\"},\"canExecuteAction(address,address)\":{\"notice\":\"Check if an action can be executed\"},\"changeListManager(address)\":{\"notice\":\"Change the list manager address\"},\"getStrategy(address)\":{\"notice\":\"Get the strategy data\"},\"getUserScore(address)\":{\"notice\":\"Get the score of a user\"},\"modifyThreshold(address,uint256)\":{\"notice\":\"Modify the threshold of a strategy\"},\"removeStrategy(address)\":{\"notice\":\"Remove a strategy from the contract\"},\"removeUser(address)\":{\"notice\":\"Remove a user from the list\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"pkg/contracts/src/PassportScorer.sol\":\"PassportScorer\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1000},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":eas-proxy/=lib/allo-v2/lib/eas-proxy/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":hedgey-vesting/=lib/allo-v2/lib/hedgey-vesting/contracts/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-contracts/=lib/safe-contracts/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":superfluid-protocol-monorepo/=lib/allo-v2/lib/superfluid-protocol-monorepo/packages/solidity-semantic-money/src/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"]},\"sources\":{\"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol\":{\"keccak256\":\"0x359a1ab89b46b9aba7bcad3fb651924baf4893d15153049b9976b0fc9be1358e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e89863421b4014b96a4b62be76eb3b9f0a8afe9684664a6f389124c0964bfe5c\",\"dweb:/ipfs/Qmbk7xr1irpDuU1WdxXgxELBXxs61rHhCgod7heVcvFx16\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e\",\"dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b\",\"dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95\",\"dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol\":{\"keccak256\":\"0x3cbef5ebc24b415252e2f8c0c9254555d30d9f085603b4b80d9b5ed20ab87e90\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e8fa670c3bdce78e642cc6ae11c4cb38b133499cdce5e1990a9979d424703263\",\"dweb:/ipfs/QmVxeCUk4jL2pXQyhsoNJwyU874wRufS2WvGe8TgPKPqhE\"]},\"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol\":{\"keccak256\":\"0x1d4afe6cb24200cc4545eed814ecf5847277dfe5d613a1707aad5fceecebcfff\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://383fb7b8181016ac5ccf07bc9cdb7c1b5045ea36e2cc4df52bcbf20396fc7688\",\"dweb:/ipfs/QmYJ7Cg4WmE3rR8KGQxjUCXFfTH6TcwZ2Z1f6tPrq7jHFr\"]},\"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Upgrade.sol\":{\"keccak256\":\"0x3b21ae06bf5957f73fa16754b0669c77b7abd8ba6c072d35c3281d446fdb86c2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2db8e18505e86e02526847005d7287a33e397ed7fb9eaba3fd4a4a197add16e2\",\"dweb:/ipfs/QmW9BSuKTzHWHBNSHF4L8XfVuU1uJrP2vLg84YtBd8mL82\"]},\"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0xd50a3421ac379ccb1be435fa646d66a65c986b4924f0849839f08692f39dde61\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ada1e030c0231db8d143b44ce92b4d1158eedb087880cad6d8cc7bd7ebe7b354\",\"dweb:/ipfs/QmWZ2NHZweRpz1U9GF6R1h65ri76dnX7fNxLBeM2t5N5Ce\"]},\"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol\":{\"keccak256\":\"0xc6619957bcc6641fe8984bfaf9ff11a9e4b97d8149c0495f608f9a2416d7c5cf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://543be67f7fa43b1b932637c1c7f12035f0f4b0f7ee2bd3c33841186f79c165c1\",\"dweb:/ipfs/QmSBPM2UVKbmJqWfD9i6hSiqbaE8TV4TSqfuiivziRRLKM\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]},\"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xf09e68aa0dc6722a25bc46490e8d48ed864466d17313b8a0b254c36b54e49899\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e26daf81e2252dc1fe1ce0e4b55c2eb7c6d1ee84ae6558d1a9554432ea1d32da\",\"dweb:/ipfs/Qmb1UANWiWq5pCKbmHSu772hd4nt374dVaghGmwSVNuk8Q\"]},\"pkg/contracts/src/ISybilScorer.sol\":{\"keccak256\":\"0x0e25fbb8497ac3c969d80c9032362d45e56c0a45dc9ba3dff6a8a704571f38ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0dff90ebae6e7131a5300fcaf525bc2ab0ae90fcd13f277d7b7b6939eeb8b7eb\",\"dweb:/ipfs/QmYGkYqpUVrBWoNY6f3CtwrrVQFWSvnJfpu68t95f6AkBY\"]},\"pkg/contracts/src/PassportScorer.sol\":{\"keccak256\":\"0x1244948644eb13bbdbf2b62e465427229a9e227e0c214c92eeaf6021401a6513\",\"license\":\"AGPL-3.0-or-later\",\"urls\":[\"bzz-raw://02dc7d6dcc3c0fe5bdd401f58c2b767030a31878734b133e09ea0aa282566d23\",\"dweb:/ipfs/QmVY9NQLx4kKyV7Cxbj9yA4soZ7DuNUEHHPoNfcdmauM3M\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[],"type":"error","name":"OnlyAuthorized"},{"inputs":[],"type":"error","name":"OnlyCouncil"},{"inputs":[],"type":"error","name":"OnlyCouncilOrAuthorized"},{"inputs":[],"type":"error","name":"StrategyAlreadyExists"},{"inputs":[],"type":"error","name":"ZeroAddress"},{"inputs":[{"internalType":"address","name":"previousAdmin","type":"address","indexed":false},{"internalType":"address","name":"newAdmin","type":"address","indexed":false}],"type":"event","name":"AdminChanged","anonymous":false},{"inputs":[{"internalType":"address","name":"beacon","type":"address","indexed":true}],"type":"event","name":"BeaconUpgraded","anonymous":false},{"inputs":[{"internalType":"uint8","name":"version","type":"uint8","indexed":false}],"type":"event","name":"Initialized","anonymous":false},{"inputs":[{"internalType":"address","name":"oldManager","type":"address","indexed":true},{"internalType":"address","name":"newManager","type":"address","indexed":true}],"type":"event","name":"ListManagerChanged","anonymous":false},{"inputs":[{"internalType":"address","name":"previousOwner","type":"address","indexed":true},{"internalType":"address","name":"newOwner","type":"address","indexed":true}],"type":"event","name":"OwnershipTransferred","anonymous":false},{"inputs":[{"internalType":"address","name":"strategy","type":"address","indexed":true}],"type":"event","name":"StrategyActivated","anonymous":false},{"inputs":[{"internalType":"address","name":"strategy","type":"address","indexed":true},{"internalType":"uint256","name":"threshold","type":"uint256","indexed":false},{"internalType":"bool","name":"active","type":"bool","indexed":false},{"internalType":"address","name":"councilSafe","type":"address","indexed":false}],"type":"event","name":"StrategyAdded","anonymous":false},{"inputs":[{"internalType":"address","name":"strategy","type":"address","indexed":true}],"type":"event","name":"StrategyRemoved","anonymous":false},{"inputs":[{"internalType":"address","name":"strategy","type":"address","indexed":true},{"internalType":"uint256","name":"newThreshold","type":"uint256","indexed":false}],"type":"event","name":"ThresholdModified","anonymous":false},{"inputs":[{"internalType":"address","name":"implementation","type":"address","indexed":true}],"type":"event","name":"Upgraded","anonymous":false},{"inputs":[{"internalType":"address","name":"user","type":"address","indexed":true}],"type":"event","name":"UserRemoved","anonymous":false},{"inputs":[{"internalType":"address","name":"user","type":"address","indexed":true},{"internalType":"uint256","name":"score","type":"uint256","indexed":false},{"internalType":"uint256","name":"lastUpdated","type":"uint256","indexed":false}],"type":"event","name":"UserScoreAdded","anonymous":false},{"inputs":[{"internalType":"address","name":"_strategy","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"activateStrategy"},{"inputs":[{"internalType":"address","name":"_strategy","type":"address"},{"internalType":"uint256","name":"_threshold","type":"uint256"},{"internalType":"address","name":"_councilSafe","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"addStrategy"},{"inputs":[{"internalType":"address","name":"_user","type":"address"},{"internalType":"struct PassportData","name":"_passportData","type":"tuple","components":[{"internalType":"uint256","name":"score","type":"uint256"},{"internalType":"uint256","name":"lastUpdated","type":"uint256"}]}],"stateMutability":"nonpayable","type":"function","name":"addUserScore"},{"inputs":[{"internalType":"address","name":"_user","type":"address"},{"internalType":"address","name":"_strategy","type":"address"}],"stateMutability":"view","type":"function","name":"canExecuteAction","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"_newManager","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"changeListManager"},{"inputs":[{"internalType":"address","name":"_strategy","type":"address"}],"stateMutability":"view","type":"function","name":"getStrategy","outputs":[{"internalType":"struct Strategy","name":"","type":"tuple","components":[{"internalType":"uint256","name":"threshold","type":"uint256"},{"internalType":"bool","name":"active","type":"bool"},{"internalType":"address","name":"councilSafe","type":"address"}]}]},{"inputs":[{"internalType":"address","name":"_user","type":"address"}],"stateMutability":"view","type":"function","name":"getUserScore","outputs":[{"internalType":"struct PassportData","name":"","type":"tuple","components":[{"internalType":"uint256","name":"score","type":"uint256"},{"internalType":"uint256","name":"lastUpdated","type":"uint256"}]}]},{"inputs":[{"internalType":"address","name":"_listManager","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[],"stateMutability":"view","type":"function","name":"listManager","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"_strategy","type":"address"},{"internalType":"uint256","name":"_newThreshold","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"modifyThreshold"},{"inputs":[],"stateMutability":"view","type":"function","name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"proxiableUUID","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"address","name":"_strategy","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"removeStrategy"},{"inputs":[{"internalType":"address","name":"_user","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"removeUser"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"renounceOwnership"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function","name":"strategies","outputs":[{"internalType":"uint256","name":"threshold","type":"uint256"},{"internalType":"bool","name":"active","type":"bool"},{"internalType":"address","name":"councilSafe","type":"address"}]},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transferOwnership"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"upgradeTo"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"payable","type":"function","name":"upgradeToAndCall"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function","name":"userScores","outputs":[{"internalType":"uint256","name":"score","type":"uint256"},{"internalType":"uint256","name":"lastUpdated","type":"uint256"}]}],"devdoc":{"kind":"dev","methods":{"activateStrategy(address)":{"params":{"_strategy":"address of the strategy to activate"}},"addStrategy(address,uint256,address)":{"params":{"_councilSafe":"address of the council safe","_threshold":"is expressed on a scale of 10**4"}},"addUserScore(address,(uint256,uint256))":{"params":{"_passportData":"PassportData struct with the user score and lastUpdated","_user":"address of the user to add"}},"canExecuteAction(address,address)":{"params":{"_strategy":"address of the strategy to check","_user":"address of the user to check"}},"changeListManager(address)":{"params":{"_newManager":"address of the new list manager"}},"getStrategy(address)":{"params":{"_strategy":"address of the strategy to check"}},"getUserScore(address)":{"params":{"_user":"address of the user to check"}},"modifyThreshold(address,uint256)":{"params":{"_newThreshold":"new threshold to set expressed on a scale of 10**4","_strategy":"address of the strategy to modify"}},"owner()":{"details":"Returns the address of the current owner."},"proxiableUUID()":{"details":"Implementation of the ERC1822 {proxiableUUID} function. This returns the storage slot used by the implementation. It is used to validate the implementation's compatibility when performing an upgrade. IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this function revert if invoked through a proxy. This is guaranteed by the `notDelegated` modifier."},"removeStrategy(address)":{"params":{"_strategy":"address of the strategy to remove"}},"removeUser(address)":{"params":{"_user":"address of the user to remove"}},"renounceOwnership()":{"details":"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner."},"transferOwnership(address)":{"details":"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner."},"upgradeTo(address)":{"custom:oz-upgrades-unsafe-allow-reachable":"delegatecall","details":"Upgrade the implementation of the proxy to `newImplementation`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event."},"upgradeToAndCall(address,bytes)":{"custom:oz-upgrades-unsafe-allow-reachable":"delegatecall","details":"Upgrade the implementation of the proxy to `newImplementation`, and subsequently execute the function call encoded in `data`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event."}},"version":1},"userdoc":{"kind":"user","methods":{"activateStrategy(address)":{"notice":"Activate a strategy"},"addStrategy(address,uint256,address)":{"notice":"Add a strategy to the contract"},"addUserScore(address,(uint256,uint256))":{"notice":"Add a userScore to the list"},"canExecuteAction(address,address)":{"notice":"Check if an action can be executed"},"changeListManager(address)":{"notice":"Change the list manager address"},"getStrategy(address)":{"notice":"Get the strategy data"},"getUserScore(address)":{"notice":"Get the score of a user"},"modifyThreshold(address,uint256)":{"notice":"Modify the threshold of a strategy"},"removeStrategy(address)":{"notice":"Remove a strategy from the contract"},"removeUser(address)":{"notice":"Remove a user from the list"}},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","eas-proxy/=lib/allo-v2/lib/eas-proxy/contracts/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","hedgey-vesting/=lib/allo-v2/lib/hedgey-vesting/contracts/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-contracts/=lib/safe-contracts/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","superfluid-protocol-monorepo/=lib/allo-v2/lib/superfluid-protocol-monorepo/packages/solidity-semantic-money/src/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":1000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"pkg/contracts/src/PassportScorer.sol":"PassportScorer"},"evmVersion":"paris","libraries":{}},"sources":{"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol":{"keccak256":"0x359a1ab89b46b9aba7bcad3fb651924baf4893d15153049b9976b0fc9be1358e","urls":["bzz-raw://e89863421b4014b96a4b62be76eb3b9f0a8afe9684664a6f389124c0964bfe5c","dweb:/ipfs/Qmbk7xr1irpDuU1WdxXgxELBXxs61rHhCgod7heVcvFx16"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794","urls":["bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e","dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol":{"keccak256":"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422","urls":["bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b","dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef","urls":["bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95","dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol":{"keccak256":"0x3cbef5ebc24b415252e2f8c0c9254555d30d9f085603b4b80d9b5ed20ab87e90","urls":["bzz-raw://e8fa670c3bdce78e642cc6ae11c4cb38b133499cdce5e1990a9979d424703263","dweb:/ipfs/QmVxeCUk4jL2pXQyhsoNJwyU874wRufS2WvGe8TgPKPqhE"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol":{"keccak256":"0x1d4afe6cb24200cc4545eed814ecf5847277dfe5d613a1707aad5fceecebcfff","urls":["bzz-raw://383fb7b8181016ac5ccf07bc9cdb7c1b5045ea36e2cc4df52bcbf20396fc7688","dweb:/ipfs/QmYJ7Cg4WmE3rR8KGQxjUCXFfTH6TcwZ2Z1f6tPrq7jHFr"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Upgrade.sol":{"keccak256":"0x3b21ae06bf5957f73fa16754b0669c77b7abd8ba6c072d35c3281d446fdb86c2","urls":["bzz-raw://2db8e18505e86e02526847005d7287a33e397ed7fb9eaba3fd4a4a197add16e2","dweb:/ipfs/QmW9BSuKTzHWHBNSHF4L8XfVuU1uJrP2vLg84YtBd8mL82"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol":{"keccak256":"0xd50a3421ac379ccb1be435fa646d66a65c986b4924f0849839f08692f39dde61","urls":["bzz-raw://ada1e030c0231db8d143b44ce92b4d1158eedb087880cad6d8cc7bd7ebe7b354","dweb:/ipfs/QmWZ2NHZweRpz1U9GF6R1h65ri76dnX7fNxLBeM2t5N5Ce"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol":{"keccak256":"0xc6619957bcc6641fe8984bfaf9ff11a9e4b97d8149c0495f608f9a2416d7c5cf","urls":["bzz-raw://543be67f7fa43b1b932637c1c7f12035f0f4b0f7ee2bd3c33841186f79c165c1","dweb:/ipfs/QmSBPM2UVKbmJqWfD9i6hSiqbaE8TV4TSqfuiivziRRLKM"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Address.sol":{"keccak256":"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa","urls":["bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931","dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol":{"keccak256":"0xf09e68aa0dc6722a25bc46490e8d48ed864466d17313b8a0b254c36b54e49899","urls":["bzz-raw://e26daf81e2252dc1fe1ce0e4b55c2eb7c6d1ee84ae6558d1a9554432ea1d32da","dweb:/ipfs/Qmb1UANWiWq5pCKbmHSu772hd4nt374dVaghGmwSVNuk8Q"],"license":"MIT"},"pkg/contracts/src/ISybilScorer.sol":{"keccak256":"0x0e25fbb8497ac3c969d80c9032362d45e56c0a45dc9ba3dff6a8a704571f38ea","urls":["bzz-raw://0dff90ebae6e7131a5300fcaf525bc2ab0ae90fcd13f277d7b7b6939eeb8b7eb","dweb:/ipfs/QmYGkYqpUVrBWoNY6f3CtwrrVQFWSvnJfpu68t95f6AkBY"],"license":"MIT"},"pkg/contracts/src/PassportScorer.sol":{"keccak256":"0x1244948644eb13bbdbf2b62e465427229a9e227e0c214c92eeaf6021401a6513","urls":["bzz-raw://02dc7d6dcc3c0fe5bdd401f58c2b767030a31878734b133e09ea0aa282566d23","dweb:/ipfs/QmVY9NQLx4kKyV7Cxbj9yA4soZ7DuNUEHHPoNfcdmauM3M"],"license":"AGPL-3.0-or-later"}},"version":1},"storageLayout":{"storage":[{"astId":53029,"contract":"pkg/contracts/src/PassportScorer.sol:PassportScorer","label":"_initialized","offset":0,"slot":"0","type":"t_uint8"},{"astId":53032,"contract":"pkg/contracts/src/PassportScorer.sol:PassportScorer","label":"_initializing","offset":1,"slot":"0","type":"t_bool"},{"astId":53734,"contract":"pkg/contracts/src/PassportScorer.sol:PassportScorer","label":"__gap","offset":0,"slot":"1","type":"t_array(t_uint256)50_storage"},{"astId":52821,"contract":"pkg/contracts/src/PassportScorer.sol:PassportScorer","label":"_owner","offset":0,"slot":"51","type":"t_address"},{"astId":52941,"contract":"pkg/contracts/src/PassportScorer.sol:PassportScorer","label":"__gap","offset":0,"slot":"52","type":"t_array(t_uint256)49_storage"},{"astId":80689,"contract":"pkg/contracts/src/PassportScorer.sol:PassportScorer","label":"listManager","offset":0,"slot":"101","type":"t_address"},{"astId":80694,"contract":"pkg/contracts/src/PassportScorer.sol:PassportScorer","label":"userScores","offset":0,"slot":"102","type":"t_mapping(t_address,t_struct(PassportData)80585_storage)"},{"astId":80699,"contract":"pkg/contracts/src/PassportScorer.sol:PassportScorer","label":"strategies","offset":0,"slot":"103","type":"t_mapping(t_address,t_struct(Strategy)80592_storage)"}],"types":{"t_address":{"encoding":"inplace","label":"address","numberOfBytes":"20"},"t_array(t_uint256)49_storage":{"encoding":"inplace","label":"uint256[49]","numberOfBytes":"1568","base":"t_uint256"},"t_array(t_uint256)50_storage":{"encoding":"inplace","label":"uint256[50]","numberOfBytes":"1600","base":"t_uint256"},"t_bool":{"encoding":"inplace","label":"bool","numberOfBytes":"1"},"t_mapping(t_address,t_struct(PassportData)80585_storage)":{"encoding":"mapping","key":"t_address","label":"mapping(address => struct PassportData)","numberOfBytes":"32","value":"t_struct(PassportData)80585_storage"},"t_mapping(t_address,t_struct(Strategy)80592_storage)":{"encoding":"mapping","key":"t_address","label":"mapping(address => struct Strategy)","numberOfBytes":"32","value":"t_struct(Strategy)80592_storage"},"t_struct(PassportData)80585_storage":{"encoding":"inplace","label":"struct PassportData","numberOfBytes":"64","members":[{"astId":80582,"contract":"pkg/contracts/src/PassportScorer.sol:PassportScorer","label":"score","offset":0,"slot":"0","type":"t_uint256"},{"astId":80584,"contract":"pkg/contracts/src/PassportScorer.sol:PassportScorer","label":"lastUpdated","offset":0,"slot":"1","type":"t_uint256"}]},"t_struct(Strategy)80592_storage":{"encoding":"inplace","label":"struct Strategy","numberOfBytes":"64","members":[{"astId":80587,"contract":"pkg/contracts/src/PassportScorer.sol:PassportScorer","label":"threshold","offset":0,"slot":"0","type":"t_uint256"},{"astId":80589,"contract":"pkg/contracts/src/PassportScorer.sol:PassportScorer","label":"active","offset":0,"slot":"1","type":"t_bool"},{"astId":80591,"contract":"pkg/contracts/src/PassportScorer.sol:PassportScorer","label":"councilSafe","offset":1,"slot":"1","type":"t_address"}]},"t_uint256":{"encoding":"inplace","label":"uint256","numberOfBytes":"32"},"t_uint8":{"encoding":"inplace","label":"uint8","numberOfBytes":"1"}}},"ast":{"absolutePath":"pkg/contracts/src/PassportScorer.sol","id":81160,"exportedSymbols":{"ISybilScorer":[80667],"Initializable":[53191],"OwnableUpgradeable":[52942],"PassportData":[80585],"PassportScorer":[81159],"Strategy":[80592],"UUPSUpgradeable":[56213]},"nodeType":"SourceUnit","src":"46:6284:132","nodes":[{"id":80669,"nodeType":"PragmaDirective","src":"46:24:132","nodes":[],"literals":["solidity","^","0.8",".19"]},{"id":80673,"nodeType":"ImportDirective","src":"72:72:132","nodes":[],"absolutePath":"pkg/contracts/src/ISybilScorer.sol","file":"./ISybilScorer.sol","nameLocation":"-1:-1:-1","scope":81160,"sourceUnit":80668,"symbolAliases":[{"foreign":{"id":80670,"name":"ISybilScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80667,"src":"80:12:132","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":80671,"name":"PassportData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80585,"src":"94:12:132","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":80672,"name":"Strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80592,"src":"108:8:132","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":80675,"nodeType":"ImportDirective","src":"145:88:132","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol","file":"@openzeppelin/contracts/proxy/utils/UUPSUpgradeable.sol","nameLocation":"-1:-1:-1","scope":81160,"sourceUnit":56214,"symbolAliases":[{"foreign":{"id":80674,"name":"UUPSUpgradeable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56213,"src":"153:15:132","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":80677,"nodeType":"ImportDirective","src":"234:110:132","nodes":[],"absolutePath":"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol","file":"openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol","nameLocation":"-1:-1:-1","scope":81160,"sourceUnit":52943,"symbolAliases":[{"foreign":{"id":80676,"name":"OwnableUpgradeable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52942,"src":"242:18:132","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":80679,"nodeType":"ImportDirective","src":"345:105:132","nodes":[],"absolutePath":"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol","file":"openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol","nameLocation":"-1:-1:-1","scope":81160,"sourceUnit":53192,"symbolAliases":[{"foreign":{"id":80678,"name":"Initializable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53191,"src":"353:13:132","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":81159,"nodeType":"ContractDefinition","src":"452:5877:132","nodes":[{"id":80689,"nodeType":"VariableDeclaration","src":"550:26:132","nodes":[],"constant":false,"functionSelector":"8df8b2fe","mutability":"mutable","name":"listManager","nameLocation":"565:11:132","scope":81159,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":80688,"name":"address","nodeType":"ElementaryTypeName","src":"550:7:132","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"public"},{"id":80694,"nodeType":"VariableDeclaration","src":"583:50:132","nodes":[],"constant":false,"functionSelector":"1413d4c0","mutability":"mutable","name":"userScores","nameLocation":"623:10:132","scope":81159,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_PassportData_$80585_storage_$","typeString":"mapping(address => struct PassportData)"},"typeName":{"id":80693,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":80690,"name":"address","nodeType":"ElementaryTypeName","src":"591:7:132","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"583:32:132","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_PassportData_$80585_storage_$","typeString":"mapping(address => struct PassportData)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":80692,"nodeType":"UserDefinedTypeName","pathNode":{"id":80691,"name":"PassportData","nameLocations":["602:12:132"],"nodeType":"IdentifierPath","referencedDeclaration":80585,"src":"602:12:132"},"referencedDeclaration":80585,"src":"602:12:132","typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$80585_storage_ptr","typeString":"struct PassportData"}}},"visibility":"public"},{"id":80699,"nodeType":"VariableDeclaration","src":"639:46:132","nodes":[],"constant":false,"functionSelector":"39ebf823","mutability":"mutable","name":"strategies","nameLocation":"675:10:132","scope":81159,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Strategy_$80592_storage_$","typeString":"mapping(address => struct Strategy)"},"typeName":{"id":80698,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":80695,"name":"address","nodeType":"ElementaryTypeName","src":"647:7:132","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"639:28:132","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Strategy_$80592_storage_$","typeString":"mapping(address => struct Strategy)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":80697,"nodeType":"UserDefinedTypeName","pathNode":{"id":80696,"name":"Strategy","nameLocations":["658:8:132"],"nodeType":"IdentifierPath","referencedDeclaration":80592,"src":"658:8:132"},"referencedDeclaration":80592,"src":"658:8:132","typeDescriptions":{"typeIdentifier":"t_struct$_Strategy_$80592_storage_ptr","typeString":"struct Strategy"}}},"visibility":"public"},{"id":80707,"nodeType":"EventDefinition","src":"692:79:132","nodes":[],"anonymous":false,"eventSelector":"1e0ca12706807bceff25136f95fe6f69c1319c044f6073e6056a287e4f541b1d","name":"UserScoreAdded","nameLocation":"698:14:132","parameters":{"id":80706,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80701,"indexed":true,"mutability":"mutable","name":"user","nameLocation":"729:4:132","nodeType":"VariableDeclaration","scope":80707,"src":"713:20:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":80700,"name":"address","nodeType":"ElementaryTypeName","src":"713:7:132","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":80703,"indexed":false,"mutability":"mutable","name":"score","nameLocation":"743:5:132","nodeType":"VariableDeclaration","scope":80707,"src":"735:13:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80702,"name":"uint256","nodeType":"ElementaryTypeName","src":"735:7:132","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":80705,"indexed":false,"mutability":"mutable","name":"lastUpdated","nameLocation":"758:11:132","nodeType":"VariableDeclaration","scope":80707,"src":"750:19:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80704,"name":"uint256","nodeType":"ElementaryTypeName","src":"750:7:132","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"712:58:132"}},{"id":80711,"nodeType":"EventDefinition","src":"776:40:132","nodes":[],"anonymous":false,"eventSelector":"e9dce8c992623ce791725b21e857e33248d1f190a25b5168313420eebdaae99d","name":"UserRemoved","nameLocation":"782:11:132","parameters":{"id":80710,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80709,"indexed":true,"mutability":"mutable","name":"user","nameLocation":"810:4:132","nodeType":"VariableDeclaration","scope":80711,"src":"794:20:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":80708,"name":"address","nodeType":"ElementaryTypeName","src":"794:7:132","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"793:22:132"}},{"id":80717,"nodeType":"EventDefinition","src":"821:81:132","nodes":[],"anonymous":false,"eventSelector":"5117c6c457d7b27a4cb68df40b118f157ac1f1ba81f8a571d189f829d74fbc86","name":"ListManagerChanged","nameLocation":"827:18:132","parameters":{"id":80716,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80713,"indexed":true,"mutability":"mutable","name":"oldManager","nameLocation":"862:10:132","nodeType":"VariableDeclaration","scope":80717,"src":"846:26:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":80712,"name":"address","nodeType":"ElementaryTypeName","src":"846:7:132","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":80715,"indexed":true,"mutability":"mutable","name":"newManager","nameLocation":"890:10:132","nodeType":"VariableDeclaration","scope":80717,"src":"874:26:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":80714,"name":"address","nodeType":"ElementaryTypeName","src":"874:7:132","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"845:56:132"}},{"id":80727,"nodeType":"EventDefinition","src":"907:99:132","nodes":[],"anonymous":false,"eventSelector":"9b1a157188de9a0bd2e7995d72aaba244d9bd012ddf3ae3d4f492135175070cb","name":"StrategyAdded","nameLocation":"913:13:132","parameters":{"id":80726,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80719,"indexed":true,"mutability":"mutable","name":"strategy","nameLocation":"943:8:132","nodeType":"VariableDeclaration","scope":80727,"src":"927:24:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":80718,"name":"address","nodeType":"ElementaryTypeName","src":"927:7:132","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":80721,"indexed":false,"mutability":"mutable","name":"threshold","nameLocation":"961:9:132","nodeType":"VariableDeclaration","scope":80727,"src":"953:17:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80720,"name":"uint256","nodeType":"ElementaryTypeName","src":"953:7:132","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":80723,"indexed":false,"mutability":"mutable","name":"active","nameLocation":"977:6:132","nodeType":"VariableDeclaration","scope":80727,"src":"972:11:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":80722,"name":"bool","nodeType":"ElementaryTypeName","src":"972:4:132","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":80725,"indexed":false,"mutability":"mutable","name":"councilSafe","nameLocation":"993:11:132","nodeType":"VariableDeclaration","scope":80727,"src":"985:19:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":80724,"name":"address","nodeType":"ElementaryTypeName","src":"985:7:132","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"926:79:132"}},{"id":80731,"nodeType":"EventDefinition","src":"1011:48:132","nodes":[],"anonymous":false,"eventSelector":"09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea4","name":"StrategyRemoved","nameLocation":"1017:15:132","parameters":{"id":80730,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80729,"indexed":true,"mutability":"mutable","name":"strategy","nameLocation":"1049:8:132","nodeType":"VariableDeclaration","scope":80731,"src":"1033:24:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":80728,"name":"address","nodeType":"ElementaryTypeName","src":"1033:7:132","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1032:26:132"}},{"id":80735,"nodeType":"EventDefinition","src":"1064:50:132","nodes":[],"anonymous":false,"eventSelector":"652f053fc39779b70b29678135ade972fcb79966fc68fcb77c996b1aa4fd9afb","name":"StrategyActivated","nameLocation":"1070:17:132","parameters":{"id":80734,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80733,"indexed":true,"mutability":"mutable","name":"strategy","nameLocation":"1104:8:132","nodeType":"VariableDeclaration","scope":80735,"src":"1088:24:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":80732,"name":"address","nodeType":"ElementaryTypeName","src":"1088:7:132","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1087:26:132"}},{"id":80741,"nodeType":"EventDefinition","src":"1119:72:132","nodes":[],"anonymous":false,"eventSelector":"40ba4d5d9facd2fda74e22251d1638576e05a30482470363c7c87a7b5b298c09","name":"ThresholdModified","nameLocation":"1125:17:132","parameters":{"id":80740,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80737,"indexed":true,"mutability":"mutable","name":"strategy","nameLocation":"1159:8:132","nodeType":"VariableDeclaration","scope":80741,"src":"1143:24:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":80736,"name":"address","nodeType":"ElementaryTypeName","src":"1143:7:132","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":80739,"indexed":false,"mutability":"mutable","name":"newThreshold","nameLocation":"1177:12:132","nodeType":"VariableDeclaration","scope":80741,"src":"1169:20:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80738,"name":"uint256","nodeType":"ElementaryTypeName","src":"1169:7:132","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1142:48:132"}},{"id":80743,"nodeType":"ErrorDefinition","src":"1197:23:132","nodes":[],"errorSelector":"7d7b71b5","name":"OnlyAuthorized","nameLocation":"1203:14:132","parameters":{"id":80742,"nodeType":"ParameterList","parameters":[],"src":"1217:2:132"}},{"id":80745,"nodeType":"ErrorDefinition","src":"1225:32:132","nodes":[],"errorSelector":"e3b6914b","name":"OnlyCouncilOrAuthorized","nameLocation":"1231:23:132","parameters":{"id":80744,"nodeType":"ParameterList","parameters":[],"src":"1254:2:132"}},{"id":80747,"nodeType":"ErrorDefinition","src":"1262:20:132","nodes":[],"errorSelector":"97ffbac9","name":"OnlyCouncil","nameLocation":"1268:11:132","parameters":{"id":80746,"nodeType":"ParameterList","parameters":[],"src":"1279:2:132"}},{"id":80749,"nodeType":"ErrorDefinition","src":"1287:20:132","nodes":[],"errorSelector":"d92e233d","name":"ZeroAddress","nameLocation":"1293:11:132","parameters":{"id":80748,"nodeType":"ParameterList","parameters":[],"src":"1304:2:132"}},{"id":80751,"nodeType":"ErrorDefinition","src":"1312:30:132","nodes":[],"errorSelector":"c45546f7","name":"StrategyAlreadyExists","nameLocation":"1318:21:132","parameters":{"id":80750,"nodeType":"ParameterList","parameters":[],"src":"1339:2:132"}},{"id":80771,"nodeType":"ModifierDefinition","src":"1348:178:132","nodes":[],"body":{"id":80770,"nodeType":"Block","src":"1374:152:132","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":80762,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":80757,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":80753,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"1388:3:132","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":80754,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1392:6:132","memberName":"sender","nodeType":"MemberAccess","src":"1388:10:132","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":80755,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52865,"src":"1402:5:132","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":80756,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1402:7:132","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1388:21:132","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":80761,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":80758,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"1413:3:132","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":80759,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1417:6:132","memberName":"sender","nodeType":"MemberAccess","src":"1413:10:132","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":80760,"name":"listManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80689,"src":"1427:11:132","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1413:25:132","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"1388:50:132","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":80768,"nodeType":"Block","src":"1472:48:132","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":80765,"name":"OnlyAuthorized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80743,"src":"1493:14:132","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":80766,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1493:16:132","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":80767,"nodeType":"RevertStatement","src":"1486:23:132"}]},"id":80769,"nodeType":"IfStatement","src":"1384:136:132","trueBody":{"id":80764,"nodeType":"Block","src":"1440:26:132","statements":[{"id":80763,"nodeType":"PlaceholderStatement","src":"1454:1:132"}]}}]},"name":"onlyAuthorized","nameLocation":"1357:14:132","parameters":{"id":80752,"nodeType":"ParameterList","parameters":[],"src":"1371:2:132"},"virtual":false,"visibility":"internal"},{"id":80801,"nodeType":"ModifierDefinition","src":"1532:264:132","nodes":[],"body":{"id":80800,"nodeType":"Block","src":"1584:212:132","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":80792,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":80784,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":80779,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":80775,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"1598:3:132","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":80776,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1602:6:132","memberName":"sender","nodeType":"MemberAccess","src":"1598:10:132","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":80777,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52865,"src":"1612:5:132","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":80778,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1612:7:132","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1598:21:132","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":80783,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":80780,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"1623:3:132","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":80781,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1627:6:132","memberName":"sender","nodeType":"MemberAccess","src":"1623:10:132","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":80782,"name":"listManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80689,"src":"1637:11:132","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1623:25:132","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"1598:50:132","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":80791,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":80785,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"1652:3:132","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":80786,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1656:6:132","memberName":"sender","nodeType":"MemberAccess","src":"1652:10:132","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"baseExpression":{"id":80787,"name":"strategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80699,"src":"1666:10:132","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Strategy_$80592_storage_$","typeString":"mapping(address => struct Strategy storage ref)"}},"id":80789,"indexExpression":{"id":80788,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80773,"src":"1677:9:132","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"1666:21:132","typeDescriptions":{"typeIdentifier":"t_struct$_Strategy_$80592_storage","typeString":"struct Strategy storage ref"}},"id":80790,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1688:11:132","memberName":"councilSafe","nodeType":"MemberAccess","referencedDeclaration":80591,"src":"1666:33:132","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1652:47:132","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"1598:101:132","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":80798,"nodeType":"Block","src":"1733:57:132","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":80795,"name":"OnlyCouncilOrAuthorized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80745,"src":"1754:23:132","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":80796,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1754:25:132","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":80797,"nodeType":"RevertStatement","src":"1747:32:132"}]},"id":80799,"nodeType":"IfStatement","src":"1594:196:132","trueBody":{"id":80794,"nodeType":"Block","src":"1701:26:132","statements":[{"id":80793,"nodeType":"PlaceholderStatement","src":"1715:1:132"}]}}]},"name":"onlyCouncilOrAuthorized","nameLocation":"1541:23:132","parameters":{"id":80774,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80773,"mutability":"mutable","name":"_strategy","nameLocation":"1573:9:132","nodeType":"VariableDeclaration","scope":80801,"src":"1565:17:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":80772,"name":"address","nodeType":"ElementaryTypeName","src":"1565:7:132","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1564:19:132"},"virtual":false,"visibility":"internal"},{"id":80820,"nodeType":"ModifierDefinition","src":"1802:186:132","nodes":[],"body":{"id":80819,"nodeType":"Block","src":"1842:146:132","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":80811,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":80805,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"1856:3:132","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":80806,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1860:6:132","memberName":"sender","nodeType":"MemberAccess","src":"1856:10:132","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"baseExpression":{"id":80807,"name":"strategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80699,"src":"1870:10:132","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Strategy_$80592_storage_$","typeString":"mapping(address => struct Strategy storage ref)"}},"id":80809,"indexExpression":{"id":80808,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80803,"src":"1881:9:132","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"1870:21:132","typeDescriptions":{"typeIdentifier":"t_struct$_Strategy_$80592_storage","typeString":"struct Strategy storage ref"}},"id":80810,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1892:11:132","memberName":"councilSafe","nodeType":"MemberAccess","referencedDeclaration":80591,"src":"1870:33:132","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1856:47:132","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":80817,"nodeType":"Block","src":"1937:45:132","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":80814,"name":"OnlyCouncil","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80747,"src":"1958:11:132","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":80815,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1958:13:132","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":80816,"nodeType":"RevertStatement","src":"1951:20:132"}]},"id":80818,"nodeType":"IfStatement","src":"1852:130:132","trueBody":{"id":80813,"nodeType":"Block","src":"1905:26:132","statements":[{"id":80812,"nodeType":"PlaceholderStatement","src":"1919:1:132"}]}}]},"name":"onlyCouncil","nameLocation":"1811:11:132","parameters":{"id":80804,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80803,"mutability":"mutable","name":"_strategy","nameLocation":"1831:9:132","nodeType":"VariableDeclaration","scope":80820,"src":"1823:17:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":80802,"name":"address","nodeType":"ElementaryTypeName","src":"1823:7:132","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1822:19:132"},"virtual":false,"visibility":"internal"},{"id":80837,"nodeType":"FunctionDefinition","src":"1994:148:132","nodes":[],"body":{"id":80836,"nodeType":"Block","src":"2053:89:132","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":80830,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":80825,"name":"_address","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80822,"src":"2067:8:132","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":80828,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2087:1:132","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":80827,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2079:7:132","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":80826,"name":"address","nodeType":"ElementaryTypeName","src":"2079:7:132","typeDescriptions":{}}},"id":80829,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2079:10:132","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"2067:22:132","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":80835,"nodeType":"IfStatement","src":"2063:73:132","trueBody":{"id":80834,"nodeType":"Block","src":"2091:45:132","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":80831,"name":"ZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80749,"src":"2112:11:132","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":80832,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2112:13:132","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":80833,"nodeType":"RevertStatement","src":"2105:20:132"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"_revertZeroAddress","nameLocation":"2003:18:132","parameters":{"id":80823,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80822,"mutability":"mutable","name":"_address","nameLocation":"2030:8:132","nodeType":"VariableDeclaration","scope":80837,"src":"2022:16:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":80821,"name":"address","nodeType":"ElementaryTypeName","src":"2022:7:132","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2021:18:132"},"returnParameters":{"id":80824,"nodeType":"ParameterList","parameters":[],"src":"2053:0:132"},"scope":81159,"stateMutability":"pure","virtual":false,"visibility":"private"},{"id":80856,"nodeType":"FunctionDefinition","src":"2148:172:132","nodes":[],"body":{"id":80855,"nodeType":"Block","src":"2209:111:132","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":80844,"name":"__Ownable_init","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52837,"src":"2219:14:132","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":80845,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2219:16:132","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":80846,"nodeType":"ExpressionStatement","src":"2219:16:132"},{"expression":{"arguments":[{"id":80848,"name":"_listManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80839,"src":"2264:12:132","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":80847,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80837,"src":"2245:18:132","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":80849,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2245:32:132","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":80850,"nodeType":"ExpressionStatement","src":"2245:32:132"},{"expression":{"id":80853,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":80851,"name":"listManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80689,"src":"2287:11:132","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":80852,"name":"_listManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80839,"src":"2301:12:132","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"2287:26:132","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":80854,"nodeType":"ExpressionStatement","src":"2287:26:132"}]},"baseFunctions":[80597],"functionSelector":"c4d66de8","implemented":true,"kind":"function","modifiers":[{"id":80842,"kind":"modifierInvocation","modifierName":{"id":80841,"name":"initializer","nameLocations":["2197:11:132"],"nodeType":"IdentifierPath","referencedDeclaration":53093,"src":"2197:11:132"},"nodeType":"ModifierInvocation","src":"2197:11:132"}],"name":"initialize","nameLocation":"2157:10:132","parameters":{"id":80840,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80839,"mutability":"mutable","name":"_listManager","nameLocation":"2176:12:132","nodeType":"VariableDeclaration","scope":80856,"src":"2168:20:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":80838,"name":"address","nodeType":"ElementaryTypeName","src":"2168:7:132","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2167:22:132"},"returnParameters":{"id":80843,"nodeType":"ParameterList","parameters":[],"src":"2209:0:132"},"scope":81159,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":80887,"nodeType":"FunctionDefinition","src":"2503:274:132","nodes":[],"body":{"id":80886,"nodeType":"Block","src":"2608:169:132","nodes":[],"statements":[{"expression":{"arguments":[{"id":80869,"name":"_user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80859,"src":"2637:5:132","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":80868,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80837,"src":"2618:18:132","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":80870,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2618:25:132","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":80871,"nodeType":"ExpressionStatement","src":"2618:25:132"},{"expression":{"id":80876,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":80872,"name":"userScores","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80694,"src":"2653:10:132","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_PassportData_$80585_storage_$","typeString":"mapping(address => struct PassportData storage ref)"}},"id":80874,"indexExpression":{"id":80873,"name":"_user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80859,"src":"2664:5:132","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"2653:17:132","typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$80585_storage","typeString":"struct PassportData storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":80875,"name":"_passportData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80862,"src":"2673:13:132","typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$80585_memory_ptr","typeString":"struct PassportData memory"}},"src":"2653:33:132","typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$80585_storage","typeString":"struct PassportData storage ref"}},"id":80877,"nodeType":"ExpressionStatement","src":"2653:33:132"},{"eventCall":{"arguments":[{"id":80879,"name":"_user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80859,"src":"2716:5:132","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":80880,"name":"_passportData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80862,"src":"2723:13:132","typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$80585_memory_ptr","typeString":"struct PassportData memory"}},"id":80881,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2737:5:132","memberName":"score","nodeType":"MemberAccess","referencedDeclaration":80582,"src":"2723:19:132","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":80882,"name":"_passportData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80862,"src":"2744:13:132","typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$80585_memory_ptr","typeString":"struct PassportData memory"}},"id":80883,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2758:11:132","memberName":"lastUpdated","nodeType":"MemberAccess","referencedDeclaration":80584,"src":"2744:25:132","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":80878,"name":"UserScoreAdded","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80707,"src":"2701:14:132","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (address,uint256,uint256)"}},"id":80884,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2701:69:132","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":80885,"nodeType":"EmitStatement","src":"2696:74:132"}]},"baseFunctions":[80605],"documentation":{"id":80857,"nodeType":"StructuredDocumentation","src":"2326:172:132","text":"@notice Add a userScore to the list\n @param _user address of the user to add\n @param _passportData PassportData struct with the user score and lastUpdated"},"functionSelector":"7814d568","implemented":true,"kind":"function","modifiers":[{"id":80866,"kind":"modifierInvocation","modifierName":{"id":80865,"name":"onlyAuthorized","nameLocations":["2593:14:132"],"nodeType":"IdentifierPath","referencedDeclaration":80771,"src":"2593:14:132"},"nodeType":"ModifierInvocation","src":"2593:14:132"}],"name":"addUserScore","nameLocation":"2512:12:132","overrides":{"id":80864,"nodeType":"OverrideSpecifier","overrides":[],"src":"2584:8:132"},"parameters":{"id":80863,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80859,"mutability":"mutable","name":"_user","nameLocation":"2533:5:132","nodeType":"VariableDeclaration","scope":80887,"src":"2525:13:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":80858,"name":"address","nodeType":"ElementaryTypeName","src":"2525:7:132","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":80862,"mutability":"mutable","name":"_passportData","nameLocation":"2560:13:132","nodeType":"VariableDeclaration","scope":80887,"src":"2540:33:132","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$80585_memory_ptr","typeString":"struct PassportData"},"typeName":{"id":80861,"nodeType":"UserDefinedTypeName","pathNode":{"id":80860,"name":"PassportData","nameLocations":["2540:12:132"],"nodeType":"IdentifierPath","referencedDeclaration":80585,"src":"2540:12:132"},"referencedDeclaration":80585,"src":"2540:12:132","typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$80585_storage_ptr","typeString":"struct PassportData"}},"visibility":"internal"}],"src":"2524:50:132"},"returnParameters":{"id":80867,"nodeType":"ParameterList","parameters":[],"src":"2608:0:132"},"scope":81159,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":80910,"nodeType":"FunctionDefinition","src":"2878:177:132","nodes":[],"body":{"id":80909,"nodeType":"Block","src":"2946:109:132","nodes":[],"statements":[{"expression":{"arguments":[{"id":80897,"name":"_user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80890,"src":"2975:5:132","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":80896,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80837,"src":"2956:18:132","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":80898,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2956:25:132","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":80899,"nodeType":"ExpressionStatement","src":"2956:25:132"},{"expression":{"id":80903,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"2991:24:132","subExpression":{"baseExpression":{"id":80900,"name":"userScores","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80694,"src":"2998:10:132","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_PassportData_$80585_storage_$","typeString":"mapping(address => struct PassportData storage ref)"}},"id":80902,"indexExpression":{"id":80901,"name":"_user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80890,"src":"3009:5:132","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"2998:17:132","typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$80585_storage","typeString":"struct PassportData storage ref"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":80904,"nodeType":"ExpressionStatement","src":"2991:24:132"},{"eventCall":{"arguments":[{"id":80906,"name":"_user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80890,"src":"3042:5:132","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":80905,"name":"UserRemoved","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80711,"src":"3030:11:132","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":80907,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3030:18:132","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":80908,"nodeType":"EmitStatement","src":"3025:23:132"}]},"baseFunctions":[80610],"documentation":{"id":80888,"nodeType":"StructuredDocumentation","src":"2783:90:132","text":"@notice Remove a user from the list\n @param _user address of the user to remove"},"functionSelector":"98575188","implemented":true,"kind":"function","modifiers":[{"id":80894,"kind":"modifierInvocation","modifierName":{"id":80893,"name":"onlyAuthorized","nameLocations":["2931:14:132"],"nodeType":"IdentifierPath","referencedDeclaration":80771,"src":"2931:14:132"},"nodeType":"ModifierInvocation","src":"2931:14:132"}],"name":"removeUser","nameLocation":"2887:10:132","overrides":{"id":80892,"nodeType":"OverrideSpecifier","overrides":[],"src":"2922:8:132"},"parameters":{"id":80891,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80890,"mutability":"mutable","name":"_user","nameLocation":"2906:5:132","nodeType":"VariableDeclaration","scope":80910,"src":"2898:13:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":80889,"name":"address","nodeType":"ElementaryTypeName","src":"2898:7:132","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2897:15:132"},"returnParameters":{"id":80895,"nodeType":"ParameterList","parameters":[],"src":"2946:0:132"},"scope":81159,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":80937,"nodeType":"FunctionDefinition","src":"3168:259:132","nodes":[],"body":{"id":80936,"nodeType":"Block","src":"3244:183:132","nodes":[],"statements":[{"expression":{"arguments":[{"id":80920,"name":"_newManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80913,"src":"3273:11:132","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":80919,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80837,"src":"3254:18:132","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":80921,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3254:31:132","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":80922,"nodeType":"ExpressionStatement","src":"3254:31:132"},{"assignments":[80924],"declarations":[{"constant":false,"id":80924,"mutability":"mutable","name":"oldManager","nameLocation":"3303:10:132","nodeType":"VariableDeclaration","scope":80936,"src":"3295:18:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":80923,"name":"address","nodeType":"ElementaryTypeName","src":"3295:7:132","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":80926,"initialValue":{"id":80925,"name":"listManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80689,"src":"3316:11:132","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"3295:32:132"},{"expression":{"id":80929,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":80927,"name":"listManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80689,"src":"3337:11:132","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":80928,"name":"_newManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80913,"src":"3351:11:132","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3337:25:132","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":80930,"nodeType":"ExpressionStatement","src":"3337:25:132"},{"eventCall":{"arguments":[{"id":80932,"name":"oldManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80924,"src":"3396:10:132","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":80933,"name":"_newManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80913,"src":"3408:11:132","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":80931,"name":"ListManagerChanged","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80717,"src":"3377:18:132","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address)"}},"id":80934,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3377:43:132","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":80935,"nodeType":"EmitStatement","src":"3372:48:132"}]},"baseFunctions":[80615],"documentation":{"id":80911,"nodeType":"StructuredDocumentation","src":"3061:102:132","text":"@notice Change the list manager address\n @param _newManager address of the new list manager"},"functionSelector":"3d476830","implemented":true,"kind":"function","modifiers":[{"id":80917,"kind":"modifierInvocation","modifierName":{"id":80916,"name":"onlyOwner","nameLocations":["3234:9:132"],"nodeType":"IdentifierPath","referencedDeclaration":52856,"src":"3234:9:132"},"nodeType":"ModifierInvocation","src":"3234:9:132"}],"name":"changeListManager","nameLocation":"3177:17:132","overrides":{"id":80915,"nodeType":"OverrideSpecifier","overrides":[],"src":"3225:8:132"},"parameters":{"id":80914,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80913,"mutability":"mutable","name":"_newManager","nameLocation":"3203:11:132","nodeType":"VariableDeclaration","scope":80937,"src":"3195:19:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":80912,"name":"address","nodeType":"ElementaryTypeName","src":"3195:7:132","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3194:21:132"},"returnParameters":{"id":80918,"nodeType":"ParameterList","parameters":[],"src":"3244:0:132"},"scope":81159,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":80996,"nodeType":"FunctionDefinition","src":"3595:532:132","nodes":[],"body":{"id":80995,"nodeType":"Block","src":"3701:426:132","nodes":[],"statements":[{"expression":{"arguments":[{"id":80950,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80940,"src":"3730:9:132","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":80949,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80837,"src":"3711:18:132","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":80951,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3711:29:132","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":80952,"nodeType":"ExpressionStatement","src":"3711:29:132"},{"expression":{"arguments":[{"id":80954,"name":"_councilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80944,"src":"3769:12:132","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":80953,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80837,"src":"3750:18:132","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":80955,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3750:32:132","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":80956,"nodeType":"ExpressionStatement","src":"3750:32:132"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":80972,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80962,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":80957,"name":"strategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80699,"src":"3796:10:132","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Strategy_$80592_storage_$","typeString":"mapping(address => struct Strategy storage ref)"}},"id":80959,"indexExpression":{"id":80958,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80940,"src":"3807:9:132","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3796:21:132","typeDescriptions":{"typeIdentifier":"t_struct$_Strategy_$80592_storage","typeString":"struct Strategy storage ref"}},"id":80960,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3818:9:132","memberName":"threshold","nodeType":"MemberAccess","referencedDeclaration":80587,"src":"3796:31:132","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":80961,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3831:1:132","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"3796:36:132","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":80971,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":80963,"name":"strategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80699,"src":"3836:10:132","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Strategy_$80592_storage_$","typeString":"mapping(address => struct Strategy storage ref)"}},"id":80965,"indexExpression":{"id":80964,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80940,"src":"3847:9:132","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3836:21:132","typeDescriptions":{"typeIdentifier":"t_struct$_Strategy_$80592_storage","typeString":"struct Strategy storage ref"}},"id":80966,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3858:11:132","memberName":"councilSafe","nodeType":"MemberAccess","referencedDeclaration":80591,"src":"3836:33:132","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":80969,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3881:1:132","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":80968,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3873:7:132","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":80967,"name":"address","nodeType":"ElementaryTypeName","src":"3873:7:132","typeDescriptions":{}}},"id":80970,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3873:10:132","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3836:47:132","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"3796:87:132","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":80977,"nodeType":"IfStatement","src":"3792:148:132","trueBody":{"id":80976,"nodeType":"Block","src":"3885:55:132","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":80973,"name":"StrategyAlreadyExists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80751,"src":"3906:21:132","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":80974,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3906:23:132","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":80975,"nodeType":"RevertStatement","src":"3899:30:132"}]}},{"expression":{"id":80986,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":80978,"name":"strategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80699,"src":"3949:10:132","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Strategy_$80592_storage_$","typeString":"mapping(address => struct Strategy storage ref)"}},"id":80980,"indexExpression":{"id":80979,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80940,"src":"3960:9:132","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3949:21:132","typeDescriptions":{"typeIdentifier":"t_struct$_Strategy_$80592_storage","typeString":"struct Strategy storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":80982,"name":"_threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80942,"src":"3994:10:132","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"66616c7365","id":80983,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"4014:5:132","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"id":80984,"name":"_councilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80944,"src":"4034:12:132","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"id":80981,"name":"Strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80592,"src":"3973:8:132","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Strategy_$80592_storage_ptr_$","typeString":"type(struct Strategy storage pointer)"}},"id":80985,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["3983:9:132","4006:6:132","4021:11:132"],"names":["threshold","active","councilSafe"],"nodeType":"FunctionCall","src":"3973:75:132","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Strategy_$80592_memory_ptr","typeString":"struct Strategy memory"}},"src":"3949:99:132","typeDescriptions":{"typeIdentifier":"t_struct$_Strategy_$80592_storage","typeString":"struct Strategy storage ref"}},"id":80987,"nodeType":"ExpressionStatement","src":"3949:99:132"},{"eventCall":{"arguments":[{"id":80989,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80940,"src":"4077:9:132","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":80990,"name":"_threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80942,"src":"4088:10:132","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"66616c7365","id":80991,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"4100:5:132","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"id":80992,"name":"_councilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80944,"src":"4107:12:132","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"id":80988,"name":"StrategyAdded","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80727,"src":"4063:13:132","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$_t_bool_$_t_address_$returns$__$","typeString":"function (address,uint256,bool,address)"}},"id":80993,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4063:57:132","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":80994,"nodeType":"EmitStatement","src":"4058:62:132"}]},"baseFunctions":[80640],"documentation":{"id":80938,"nodeType":"StructuredDocumentation","src":"3433:157:132","text":"@notice Add a strategy to the contract\n @param _threshold is expressed on a scale of 10**4\n @param _councilSafe address of the council safe"},"functionSelector":"fc2ebdd1","implemented":true,"kind":"function","modifiers":[{"id":80947,"kind":"modifierInvocation","modifierName":{"id":80946,"name":"onlyAuthorized","nameLocations":["3686:14:132"],"nodeType":"IdentifierPath","referencedDeclaration":80771,"src":"3686:14:132"},"nodeType":"ModifierInvocation","src":"3686:14:132"}],"name":"addStrategy","nameLocation":"3604:11:132","parameters":{"id":80945,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80940,"mutability":"mutable","name":"_strategy","nameLocation":"3624:9:132","nodeType":"VariableDeclaration","scope":80996,"src":"3616:17:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":80939,"name":"address","nodeType":"ElementaryTypeName","src":"3616:7:132","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":80942,"mutability":"mutable","name":"_threshold","nameLocation":"3643:10:132","nodeType":"VariableDeclaration","scope":80996,"src":"3635:18:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80941,"name":"uint256","nodeType":"ElementaryTypeName","src":"3635:7:132","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":80944,"mutability":"mutable","name":"_councilSafe","nameLocation":"3663:12:132","nodeType":"VariableDeclaration","scope":80996,"src":"3655:20:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":80943,"name":"address","nodeType":"ElementaryTypeName","src":"3655:7:132","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3615:61:132"},"returnParameters":{"id":80948,"nodeType":"ParameterList","parameters":[],"src":"3701:0:132"},"scope":81159,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":81029,"nodeType":"FunctionDefinition","src":"4244:274:132","nodes":[],"body":{"id":81028,"nodeType":"Block","src":"4340:178:132","nodes":[],"statements":[{"expression":{"arguments":[{"id":81007,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80999,"src":"4369:9:132","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":81006,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80837,"src":"4350:18:132","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":81008,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4350:29:132","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":81009,"nodeType":"ExpressionStatement","src":"4350:29:132"},{"expression":{"id":81015,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"baseExpression":{"id":81010,"name":"strategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80699,"src":"4389:10:132","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Strategy_$80592_storage_$","typeString":"mapping(address => struct Strategy storage ref)"}},"id":81012,"indexExpression":{"id":81011,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80999,"src":"4400:9:132","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4389:21:132","typeDescriptions":{"typeIdentifier":"t_struct$_Strategy_$80592_storage","typeString":"struct Strategy storage ref"}},"id":81013,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"4411:6:132","memberName":"active","nodeType":"MemberAccess","referencedDeclaration":80589,"src":"4389:28:132","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"66616c7365","id":81014,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"4420:5:132","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"src":"4389:36:132","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":81016,"nodeType":"ExpressionStatement","src":"4389:36:132"},{"expression":{"id":81022,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"baseExpression":{"id":81017,"name":"strategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80699,"src":"4435:10:132","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Strategy_$80592_storage_$","typeString":"mapping(address => struct Strategy storage ref)"}},"id":81019,"indexExpression":{"id":81018,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80999,"src":"4446:9:132","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4435:21:132","typeDescriptions":{"typeIdentifier":"t_struct$_Strategy_$80592_storage","typeString":"struct Strategy storage ref"}},"id":81020,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"4457:9:132","memberName":"threshold","nodeType":"MemberAccess","referencedDeclaration":80587,"src":"4435:31:132","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"30","id":81021,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4469:1:132","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"4435:35:132","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":81023,"nodeType":"ExpressionStatement","src":"4435:35:132"},{"eventCall":{"arguments":[{"id":81025,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80999,"src":"4501:9:132","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":81024,"name":"StrategyRemoved","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80731,"src":"4485:15:132","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":81026,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4485:26:132","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":81027,"nodeType":"EmitStatement","src":"4480:31:132"}]},"baseFunctions":[80645],"documentation":{"id":80997,"nodeType":"StructuredDocumentation","src":"4133:106:132","text":"@notice Remove a strategy from the contract\n @param _strategy address of the strategy to remove"},"functionSelector":"175188e8","implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":81003,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80999,"src":"4329:9:132","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"id":81004,"kind":"modifierInvocation","modifierName":{"id":81002,"name":"onlyCouncilOrAuthorized","nameLocations":["4305:23:132"],"nodeType":"IdentifierPath","referencedDeclaration":80801,"src":"4305:23:132"},"nodeType":"ModifierInvocation","src":"4305:34:132"}],"name":"removeStrategy","nameLocation":"4253:14:132","overrides":{"id":81001,"nodeType":"OverrideSpecifier","overrides":[],"src":"4296:8:132"},"parameters":{"id":81000,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80999,"mutability":"mutable","name":"_strategy","nameLocation":"4276:9:132","nodeType":"VariableDeclaration","scope":81029,"src":"4268:17:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":80998,"name":"address","nodeType":"ElementaryTypeName","src":"4268:7:132","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4267:19:132"},"returnParameters":{"id":81005,"nodeType":"ParameterList","parameters":[],"src":"4340:0:132"},"scope":81159,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":81054,"nodeType":"FunctionDefinition","src":"4621:211:132","nodes":[],"body":{"id":81053,"nodeType":"Block","src":"4698:134:132","nodes":[],"statements":[{"expression":{"arguments":[{"id":81039,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81032,"src":"4727:9:132","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":81038,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80837,"src":"4708:18:132","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":81040,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4708:29:132","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":81041,"nodeType":"ExpressionStatement","src":"4708:29:132"},{"expression":{"id":81047,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"baseExpression":{"id":81042,"name":"strategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80699,"src":"4747:10:132","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Strategy_$80592_storage_$","typeString":"mapping(address => struct Strategy storage ref)"}},"id":81044,"indexExpression":{"id":81043,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81032,"src":"4758:9:132","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4747:21:132","typeDescriptions":{"typeIdentifier":"t_struct$_Strategy_$80592_storage","typeString":"struct Strategy storage ref"}},"id":81045,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"4769:6:132","memberName":"active","nodeType":"MemberAccess","referencedDeclaration":80589,"src":"4747:28:132","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":81046,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"4778:4:132","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"4747:35:132","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":81048,"nodeType":"ExpressionStatement","src":"4747:35:132"},{"eventCall":{"arguments":[{"id":81050,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81032,"src":"4815:9:132","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":81049,"name":"StrategyActivated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80735,"src":"4797:17:132","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":81051,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4797:28:132","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":81052,"nodeType":"EmitStatement","src":"4792:33:132"}]},"baseFunctions":[80650],"documentation":{"id":81030,"nodeType":"StructuredDocumentation","src":"4524:92:132","text":"@notice Activate a strategy\n @param _strategy address of the strategy to activate"},"functionSelector":"d80ea5a0","implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":81035,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81032,"src":"4687:9:132","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"id":81036,"kind":"modifierInvocation","modifierName":{"id":81034,"name":"onlyCouncil","nameLocations":["4675:11:132"],"nodeType":"IdentifierPath","referencedDeclaration":80820,"src":"4675:11:132"},"nodeType":"ModifierInvocation","src":"4675:22:132"}],"name":"activateStrategy","nameLocation":"4630:16:132","parameters":{"id":81033,"nodeType":"ParameterList","parameters":[{"constant":false,"id":81032,"mutability":"mutable","name":"_strategy","nameLocation":"4655:9:132","nodeType":"VariableDeclaration","scope":81054,"src":"4647:17:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":81031,"name":"address","nodeType":"ElementaryTypeName","src":"4647:7:132","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4646:19:132"},"returnParameters":{"id":81037,"nodeType":"ParameterList","parameters":[],"src":"4698:0:132"},"scope":81159,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":81082,"nodeType":"FunctionDefinition","src":"5028:272:132","nodes":[],"body":{"id":81081,"nodeType":"Block","src":"5139:161:132","nodes":[],"statements":[{"expression":{"arguments":[{"id":81066,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81057,"src":"5168:9:132","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":81065,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80837,"src":"5149:18:132","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":81067,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5149:29:132","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":81068,"nodeType":"ExpressionStatement","src":"5149:29:132"},{"expression":{"id":81074,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"baseExpression":{"id":81069,"name":"strategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80699,"src":"5188:10:132","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Strategy_$80592_storage_$","typeString":"mapping(address => struct Strategy storage ref)"}},"id":81071,"indexExpression":{"id":81070,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81057,"src":"5199:9:132","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5188:21:132","typeDescriptions":{"typeIdentifier":"t_struct$_Strategy_$80592_storage","typeString":"struct Strategy storage ref"}},"id":81072,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"5210:9:132","memberName":"threshold","nodeType":"MemberAccess","referencedDeclaration":80587,"src":"5188:31:132","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":81073,"name":"_newThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81059,"src":"5222:13:132","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5188:47:132","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":81075,"nodeType":"ExpressionStatement","src":"5188:47:132"},{"eventCall":{"arguments":[{"id":81077,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81057,"src":"5268:9:132","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":81078,"name":"_newThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81059,"src":"5279:13:132","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":81076,"name":"ThresholdModified","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80741,"src":"5250:17:132","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":81079,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5250:43:132","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":81080,"nodeType":"EmitStatement","src":"5245:48:132"}]},"baseFunctions":[80631],"documentation":{"id":81055,"nodeType":"StructuredDocumentation","src":"4838:185:132","text":"@notice Modify the threshold of a strategy\n @param _strategy address of the strategy to modify\n @param _newThreshold new threshold to set expressed on a scale of 10**4"},"functionSelector":"642ce76b","implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":81062,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81057,"src":"5128:9:132","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"id":81063,"kind":"modifierInvocation","modifierName":{"id":81061,"name":"onlyCouncilOrAuthorized","nameLocations":["5104:23:132"],"nodeType":"IdentifierPath","referencedDeclaration":80801,"src":"5104:23:132"},"nodeType":"ModifierInvocation","src":"5104:34:132"}],"name":"modifyThreshold","nameLocation":"5037:15:132","parameters":{"id":81060,"nodeType":"ParameterList","parameters":[{"constant":false,"id":81057,"mutability":"mutable","name":"_strategy","nameLocation":"5061:9:132","nodeType":"VariableDeclaration","scope":81082,"src":"5053:17:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":81056,"name":"address","nodeType":"ElementaryTypeName","src":"5053:7:132","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":81059,"mutability":"mutable","name":"_newThreshold","nameLocation":"5080:13:132","nodeType":"VariableDeclaration","scope":81082,"src":"5072:21:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":81058,"name":"uint256","nodeType":"ElementaryTypeName","src":"5072:7:132","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5052:42:132"},"returnParameters":{"id":81064,"nodeType":"ParameterList","parameters":[],"src":"5139:0:132"},"scope":81159,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":81121,"nodeType":"FunctionDefinition","src":"5465:345:132","nodes":[],"body":{"id":81120,"nodeType":"Block","src":"5563:247:132","nodes":[],"statements":[{"assignments":[81095],"declarations":[{"constant":false,"id":81095,"mutability":"mutable","name":"userScore","nameLocation":"5593:9:132","nodeType":"VariableDeclaration","scope":81120,"src":"5573:29:132","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$80585_memory_ptr","typeString":"struct PassportData"},"typeName":{"id":81094,"nodeType":"UserDefinedTypeName","pathNode":{"id":81093,"name":"PassportData","nameLocations":["5573:12:132"],"nodeType":"IdentifierPath","referencedDeclaration":80585,"src":"5573:12:132"},"referencedDeclaration":80585,"src":"5573:12:132","typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$80585_storage_ptr","typeString":"struct PassportData"}},"visibility":"internal"}],"id":81099,"initialValue":{"baseExpression":{"id":81096,"name":"userScores","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80694,"src":"5605:10:132","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_PassportData_$80585_storage_$","typeString":"mapping(address => struct PassportData storage ref)"}},"id":81098,"indexExpression":{"id":81097,"name":"_user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81085,"src":"5616:5:132","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5605:17:132","typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$80585_storage","typeString":"struct PassportData storage ref"}},"nodeType":"VariableDeclarationStatement","src":"5573:49:132"},{"assignments":[81102],"declarations":[{"constant":false,"id":81102,"mutability":"mutable","name":"strategy","nameLocation":"5648:8:132","nodeType":"VariableDeclaration","scope":81120,"src":"5632:24:132","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Strategy_$80592_memory_ptr","typeString":"struct Strategy"},"typeName":{"id":81101,"nodeType":"UserDefinedTypeName","pathNode":{"id":81100,"name":"Strategy","nameLocations":["5632:8:132"],"nodeType":"IdentifierPath","referencedDeclaration":80592,"src":"5632:8:132"},"referencedDeclaration":80592,"src":"5632:8:132","typeDescriptions":{"typeIdentifier":"t_struct$_Strategy_$80592_storage_ptr","typeString":"struct Strategy"}},"visibility":"internal"}],"id":81106,"initialValue":{"baseExpression":{"id":81103,"name":"strategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80699,"src":"5659:10:132","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Strategy_$80592_storage_$","typeString":"mapping(address => struct Strategy storage ref)"}},"id":81105,"indexExpression":{"id":81104,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81087,"src":"5670:9:132","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5659:21:132","typeDescriptions":{"typeIdentifier":"t_struct$_Strategy_$80592_storage","typeString":"struct Strategy storage ref"}},"nodeType":"VariableDeclarationStatement","src":"5632:48:132"},{"condition":{"id":81109,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"5695:16:132","subExpression":{"expression":{"id":81107,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81102,"src":"5696:8:132","typeDescriptions":{"typeIdentifier":"t_struct$_Strategy_$80592_memory_ptr","typeString":"struct Strategy memory"}},"id":81108,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5705:6:132","memberName":"active","nodeType":"MemberAccess","referencedDeclaration":80589,"src":"5696:15:132","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":81113,"nodeType":"IfStatement","src":"5691:58:132","trueBody":{"id":81112,"nodeType":"Block","src":"5713:36:132","statements":[{"expression":{"hexValue":"74727565","id":81110,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"5734:4:132","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":81092,"id":81111,"nodeType":"Return","src":"5727:11:132"}]}},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":81118,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":81114,"name":"userScore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81095,"src":"5766:9:132","typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$80585_memory_ptr","typeString":"struct PassportData memory"}},"id":81115,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5776:5:132","memberName":"score","nodeType":"MemberAccess","referencedDeclaration":80582,"src":"5766:15:132","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"expression":{"id":81116,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81102,"src":"5785:8:132","typeDescriptions":{"typeIdentifier":"t_struct$_Strategy_$80592_memory_ptr","typeString":"struct Strategy memory"}},"id":81117,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5794:9:132","memberName":"threshold","nodeType":"MemberAccess","referencedDeclaration":80587,"src":"5785:18:132","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5766:37:132","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":81092,"id":81119,"nodeType":"Return","src":"5759:44:132"}]},"baseFunctions":[80624],"documentation":{"id":81083,"nodeType":"StructuredDocumentation","src":"5306:154:132","text":"@notice Check if an action can be executed\n @param _user address of the user to check\n @param _strategy address of the strategy to check"},"functionSelector":"42a987a0","implemented":true,"kind":"function","modifiers":[],"name":"canExecuteAction","nameLocation":"5474:16:132","overrides":{"id":81089,"nodeType":"OverrideSpecifier","overrides":[],"src":"5539:8:132"},"parameters":{"id":81088,"nodeType":"ParameterList","parameters":[{"constant":false,"id":81085,"mutability":"mutable","name":"_user","nameLocation":"5499:5:132","nodeType":"VariableDeclaration","scope":81121,"src":"5491:13:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":81084,"name":"address","nodeType":"ElementaryTypeName","src":"5491:7:132","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":81087,"mutability":"mutable","name":"_strategy","nameLocation":"5514:9:132","nodeType":"VariableDeclaration","scope":81121,"src":"5506:17:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":81086,"name":"address","nodeType":"ElementaryTypeName","src":"5506:7:132","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5490:34:132"},"returnParameters":{"id":81092,"nodeType":"ParameterList","parameters":[{"constant":false,"id":81091,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":81121,"src":"5557:4:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":81090,"name":"bool","nodeType":"ElementaryTypeName","src":"5557:4:132","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"5556:6:132"},"scope":81159,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":81135,"nodeType":"FunctionDefinition","src":"5906:122:132","nodes":[],"body":{"id":81134,"nodeType":"Block","src":"5987:41:132","nodes":[],"statements":[{"expression":{"baseExpression":{"id":81130,"name":"userScores","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80694,"src":"6004:10:132","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_PassportData_$80585_storage_$","typeString":"mapping(address => struct PassportData storage ref)"}},"id":81132,"indexExpression":{"id":81131,"name":"_user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81124,"src":"6015:5:132","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6004:17:132","typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$80585_storage","typeString":"struct PassportData storage ref"}},"functionReturnParameters":81129,"id":81133,"nodeType":"Return","src":"5997:24:132"}]},"baseFunctions":[80658],"documentation":{"id":81122,"nodeType":"StructuredDocumentation","src":"5816:85:132","text":"@notice Get the score of a user\n @param _user address of the user to check"},"functionSelector":"b34e0c47","implemented":true,"kind":"function","modifiers":[],"name":"getUserScore","nameLocation":"5915:12:132","parameters":{"id":81125,"nodeType":"ParameterList","parameters":[{"constant":false,"id":81124,"mutability":"mutable","name":"_user","nameLocation":"5936:5:132","nodeType":"VariableDeclaration","scope":81135,"src":"5928:13:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":81123,"name":"address","nodeType":"ElementaryTypeName","src":"5928:7:132","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5927:15:132"},"returnParameters":{"id":81129,"nodeType":"ParameterList","parameters":[{"constant":false,"id":81128,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":81135,"src":"5966:19:132","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$80585_memory_ptr","typeString":"struct PassportData"},"typeName":{"id":81127,"nodeType":"UserDefinedTypeName","pathNode":{"id":81126,"name":"PassportData","nameLocations":["5966:12:132"],"nodeType":"IdentifierPath","referencedDeclaration":80585,"src":"5966:12:132"},"referencedDeclaration":80585,"src":"5966:12:132","typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$80585_storage_ptr","typeString":"struct PassportData"}},"visibility":"internal"}],"src":"5965:21:132"},"scope":81159,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":81149,"nodeType":"FunctionDefinition","src":"6130:125:132","nodes":[],"body":{"id":81148,"nodeType":"Block","src":"6210:45:132","nodes":[],"statements":[{"expression":{"baseExpression":{"id":81144,"name":"strategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80699,"src":"6227:10:132","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Strategy_$80592_storage_$","typeString":"mapping(address => struct Strategy storage ref)"}},"id":81146,"indexExpression":{"id":81145,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81138,"src":"6238:9:132","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6227:21:132","typeDescriptions":{"typeIdentifier":"t_struct$_Strategy_$80592_storage","typeString":"struct Strategy storage ref"}},"functionReturnParameters":81143,"id":81147,"nodeType":"Return","src":"6220:28:132"}]},"baseFunctions":[80666],"documentation":{"id":81136,"nodeType":"StructuredDocumentation","src":"6034:91:132","text":"@notice Get the strategy data\n @param _strategy address of the strategy to check"},"functionSelector":"f8806a13","implemented":true,"kind":"function","modifiers":[],"name":"getStrategy","nameLocation":"6139:11:132","parameters":{"id":81139,"nodeType":"ParameterList","parameters":[{"constant":false,"id":81138,"mutability":"mutable","name":"_strategy","nameLocation":"6159:9:132","nodeType":"VariableDeclaration","scope":81149,"src":"6151:17:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":81137,"name":"address","nodeType":"ElementaryTypeName","src":"6151:7:132","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6150:19:132"},"returnParameters":{"id":81143,"nodeType":"ParameterList","parameters":[{"constant":false,"id":81142,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":81149,"src":"6193:15:132","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Strategy_$80592_memory_ptr","typeString":"struct Strategy"},"typeName":{"id":81141,"nodeType":"UserDefinedTypeName","pathNode":{"id":81140,"name":"Strategy","nameLocations":["6193:8:132"],"nodeType":"IdentifierPath","referencedDeclaration":80592,"src":"6193:8:132"},"referencedDeclaration":80592,"src":"6193:8:132","typeDescriptions":{"typeIdentifier":"t_struct$_Strategy_$80592_storage_ptr","typeString":"struct Strategy"}},"visibility":"internal"}],"src":"6192:17:132"},"scope":81159,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":81158,"nodeType":"FunctionDefinition","src":"6261:66:132","nodes":[],"body":{"id":81157,"nodeType":"Block","src":"6325:2:132","nodes":[],"statements":[]},"baseFunctions":[56212],"implemented":true,"kind":"function","modifiers":[{"id":81155,"kind":"modifierInvocation","modifierName":{"id":81154,"name":"onlyOwner","nameLocations":["6315:9:132"],"nodeType":"IdentifierPath","referencedDeclaration":52856,"src":"6315:9:132"},"nodeType":"ModifierInvocation","src":"6315:9:132"}],"name":"_authorizeUpgrade","nameLocation":"6270:17:132","overrides":{"id":81153,"nodeType":"OverrideSpecifier","overrides":[],"src":"6306:8:132"},"parameters":{"id":81152,"nodeType":"ParameterList","parameters":[{"constant":false,"id":81151,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":81158,"src":"6288:7:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":81150,"name":"address","nodeType":"ElementaryTypeName","src":"6288:7:132","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6287:9:132"},"returnParameters":{"id":81156,"nodeType":"ParameterList","parameters":[],"src":"6325:0:132"},"scope":81159,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"}],"abstract":false,"baseContracts":[{"baseName":{"id":80680,"name":"Initializable","nameLocations":["479:13:132"],"nodeType":"IdentifierPath","referencedDeclaration":53191,"src":"479:13:132"},"id":80681,"nodeType":"InheritanceSpecifier","src":"479:13:132"},{"baseName":{"id":80682,"name":"UUPSUpgradeable","nameLocations":["494:15:132"],"nodeType":"IdentifierPath","referencedDeclaration":56213,"src":"494:15:132"},"id":80683,"nodeType":"InheritanceSpecifier","src":"494:15:132"},{"baseName":{"id":80684,"name":"OwnableUpgradeable","nameLocations":["511:18:132"],"nodeType":"IdentifierPath","referencedDeclaration":52942,"src":"511:18:132"},"id":80685,"nodeType":"InheritanceSpecifier","src":"511:18:132"},{"baseName":{"id":80686,"name":"ISybilScorer","nameLocations":["531:12:132"],"nodeType":"IdentifierPath","referencedDeclaration":80667,"src":"531:12:132"},"id":80687,"nodeType":"InheritanceSpecifier","src":"531:12:132"}],"canonicalName":"PassportScorer","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[81159,80667,52942,53735,56213,53191,55866,55515,55525],"name":"PassportScorer","nameLocation":"461:14:132","scope":81160,"usedErrors":[80743,80745,80747,80749,80751]}],"license":"AGPL-3.0-or-later"},"id":132} \ No newline at end of file diff --git a/pkg/contracts/out/PassportScorerTest.t.sol/PassportScorerTest.json b/pkg/contracts/out/PassportScorerTest.t.sol/PassportScorerTest.json index 2f4502fe7..0311df5b4 100644 --- a/pkg/contracts/out/PassportScorerTest.t.sol/PassportScorerTest.json +++ b/pkg/contracts/out/PassportScorerTest.t.sol/PassportScorerTest.json @@ -1,11157 +1 @@ -{ - "abi": [ - { - "type": "function", - "name": "IS_TEST", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "councilSafe", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "excludeArtifacts", - "inputs": [], - "outputs": [ - { - "name": "excludedArtifacts_", - "type": "string[]", - "internalType": "string[]" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "excludeContracts", - "inputs": [], - "outputs": [ - { - "name": "excludedContracts_", - "type": "address[]", - "internalType": "address[]" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "excludeSenders", - "inputs": [], - "outputs": [ - { - "name": "excludedSenders_", - "type": "address[]", - "internalType": "address[]" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "failed", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "listManager", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "passportData", - "inputs": [], - "outputs": [ - { - "name": "score", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "lastUpdated", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "passportScorer", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract PassportScorer" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "setUp", - "inputs": [], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "strategy", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "targetArtifactSelectors", - "inputs": [], - "outputs": [ - { - "name": "targetedArtifactSelectors_", - "type": "tuple[]", - "internalType": "struct StdInvariant.FuzzSelector[]", - "components": [ - { - "name": "addr", - "type": "address", - "internalType": "address" - }, - { - "name": "selectors", - "type": "bytes4[]", - "internalType": "bytes4[]" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "targetArtifacts", - "inputs": [], - "outputs": [ - { - "name": "targetedArtifacts_", - "type": "string[]", - "internalType": "string[]" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "targetContracts", - "inputs": [], - "outputs": [ - { - "name": "targetedContracts_", - "type": "address[]", - "internalType": "address[]" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "targetInterfaces", - "inputs": [], - "outputs": [ - { - "name": "targetedInterfaces_", - "type": "tuple[]", - "internalType": "struct StdInvariant.FuzzInterface[]", - "components": [ - { - "name": "addr", - "type": "address", - "internalType": "address" - }, - { - "name": "artifacts", - "type": "string[]", - "internalType": "string[]" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "targetSelectors", - "inputs": [], - "outputs": [ - { - "name": "targetedSelectors_", - "type": "tuple[]", - "internalType": "struct StdInvariant.FuzzSelector[]", - "components": [ - { - "name": "addr", - "type": "address", - "internalType": "address" - }, - { - "name": "selectors", - "type": "bytes4[]", - "internalType": "bytes4[]" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "targetSenders", - "inputs": [], - "outputs": [ - { - "name": "targetedSenders_", - "type": "address[]", - "internalType": "address[]" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "testAddStrategy", - "inputs": [], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "testAddUserScore", - "inputs": [], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "testCanExecuteAction", - "inputs": [], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "testChangeListManager", - "inputs": [], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "testModifyThresholdByAuthorized", - "inputs": [], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "testModifyThresholdByCouncilSafe", - "inputs": [], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "testOnlyAuthorizedCanAddUserScore", - "inputs": [], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "testOnlyAuthorizedCanRemoveUser", - "inputs": [], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "testOnlyOwnerCanChangeListManager", - "inputs": [], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "testRemoveStrategy", - "inputs": [], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "testRemoveUser", - "inputs": [], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "unauthorizedUser", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "user", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "event", - "name": "log", - "inputs": [ - { - "name": "", - "type": "string", - "indexed": false, - "internalType": "string" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "log_address", - "inputs": [ - { - "name": "", - "type": "address", - "indexed": false, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "log_array", - "inputs": [ - { - "name": "val", - "type": "uint256[]", - "indexed": false, - "internalType": "uint256[]" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "log_array", - "inputs": [ - { - "name": "val", - "type": "int256[]", - "indexed": false, - "internalType": "int256[]" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "log_array", - "inputs": [ - { - "name": "val", - "type": "address[]", - "indexed": false, - "internalType": "address[]" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "log_bytes", - "inputs": [ - { - "name": "", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "log_bytes32", - "inputs": [ - { - "name": "", - "type": "bytes32", - "indexed": false, - "internalType": "bytes32" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "log_int", - "inputs": [ - { - "name": "", - "type": "int256", - "indexed": false, - "internalType": "int256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "log_named_address", - "inputs": [ - { - "name": "key", - "type": "string", - "indexed": false, - "internalType": "string" - }, - { - "name": "val", - "type": "address", - "indexed": false, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "log_named_array", - "inputs": [ - { - "name": "key", - "type": "string", - "indexed": false, - "internalType": "string" - }, - { - "name": "val", - "type": "uint256[]", - "indexed": false, - "internalType": "uint256[]" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "log_named_array", - "inputs": [ - { - "name": "key", - "type": "string", - "indexed": false, - "internalType": "string" - }, - { - "name": "val", - "type": "int256[]", - "indexed": false, - "internalType": "int256[]" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "log_named_array", - "inputs": [ - { - "name": "key", - "type": "string", - "indexed": false, - "internalType": "string" - }, - { - "name": "val", - "type": "address[]", - "indexed": false, - "internalType": "address[]" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "log_named_bytes", - "inputs": [ - { - "name": "key", - "type": "string", - "indexed": false, - "internalType": "string" - }, - { - "name": "val", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "log_named_bytes32", - "inputs": [ - { - "name": "key", - "type": "string", - "indexed": false, - "internalType": "string" - }, - { - "name": "val", - "type": "bytes32", - "indexed": false, - "internalType": "bytes32" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "log_named_decimal_int", - "inputs": [ - { - "name": "key", - "type": "string", - "indexed": false, - "internalType": "string" - }, - { - "name": "val", - "type": "int256", - "indexed": false, - "internalType": "int256" - }, - { - "name": "decimals", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "log_named_decimal_uint", - "inputs": [ - { - "name": "key", - "type": "string", - "indexed": false, - "internalType": "string" - }, - { - "name": "val", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "decimals", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "log_named_int", - "inputs": [ - { - "name": "key", - "type": "string", - "indexed": false, - "internalType": "string" - }, - { - "name": "val", - "type": "int256", - "indexed": false, - "internalType": "int256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "log_named_string", - "inputs": [ - { - "name": "key", - "type": "string", - "indexed": false, - "internalType": "string" - }, - { - "name": "val", - "type": "string", - "indexed": false, - "internalType": "string" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "log_named_uint", - "inputs": [ - { - "name": "key", - "type": "string", - "indexed": false, - "internalType": "string" - }, - { - "name": "val", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "log_string", - "inputs": [ - { - "name": "", - "type": "string", - "indexed": false, - "internalType": "string" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "log_uint", - "inputs": [ - { - "name": "", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "logs", - "inputs": [ - { - "name": "", - "type": "bytes", - "indexed": false, - "internalType": "bytes" - } - ], - "anonymous": false - } - ], - "bytecode": { - "object": "0x6080604052600c805460ff199081166001908117909255601e805490911682179055601f80546001600160a01b0319908116909217905560208054821660021790556021805482166003179055602280548216600417905560238054909116600517905534801561006f57600080fd5b506149f68061007f6000396000f3fe60806040523480156200001157600080fd5b5060043610620002015760003560e01c80636c53db9a1162000119578063a8c62e7611620000af578063e20c9f71116200007a578063e20c9f7114620003d2578063e68393b414620003dc578063ebe69a5f14620003e6578063fa7626d414620003f057600080fd5b8063a8c62e76146200038f578063b5508aa914620003a3578063ba414fa614620003ad578063d4dadecb14620003c857600080fd5b80638caa5c4411620000f05780638caa5c44146200035d5780638df8b2fe1462000367578063916a17c6146200037b5780639693f128146200038557600080fd5b80636c53db9a146200032657806382fad478146200033a57806385226c81146200034457600080fd5b80632ade3880116200019b5780633f7286f411620001665780633f7286f414620002d65780634905e83114620002e05780634f8632ba14620002f957806366d9a9a0146200030d57600080fd5b80632ade3880146200027c5780633668aa2914620002955780633e5e3c23146200029f5780633ea7771b14620002a957600080fd5b80630c2759da11620001dc5780630c2759da14620002455780631ed7831c146200024f57806324e40b97146200026857806325821153146200027257600080fd5b8063073a2d8c14620002065780630778c72c146200022f5780630a9254e4146200023b575b600080fd5b60245460255462000215919082565b604080519283526020830191909152015b60405180910390f35b62000239620003fe565b005b62000239620006a1565b62000239620007c3565b6200025962000953565b604051620002269190620025da565b62000239620009b7565b6200023962000b44565b6200028662000c99565b60405162000226919062002671565b6200023962000de7565b6200025962001075565b602354620002bd906001600160a01b031681565b6040516001600160a01b03909116815260200162000226565b62000259620010d7565b601e54620002bd9061010090046001600160a01b031681565b602054620002bd906001600160a01b031681565b6200031762001139565b60405162000226919062002737565b602254620002bd906001600160a01b031681565b6200023962001223565b6200034e6200133d565b60405162000226919062002806565b6200023962001417565b601f54620002bd906001600160a01b031681565b6200031762001980565b6200023962001a6a565b602154620002bd906001600160a01b031681565b6200034e62001bec565b620003b762001cc6565b604051901515815260200162000226565b6200023962001d9e565b6200025962002002565b6200023962002064565b620002396200219c565b601e54620003b79060ff1681565b601f5460405163ca669fa760e01b81526001600160a01b039091166004820152603290737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ca669fa790602401600060405180830381600087803b1580156200045b57600080fd5b505af115801562000470573d6000803e3d6000fd5b5050601e5460215460225460405163fc2ebdd160e01b81526001600160a01b03928316600482015260248101879052908216604482015261010090920416925063fc2ebdd19150606401600060405180830381600087803b158015620004d557600080fd5b505af1158015620004ea573d6000803e3d6000fd5b5050601f5460405163ca669fa760e01b81526001600160a01b039091166004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d925063ca669fa79150602401600060405180830381600087803b1580156200054857600080fd5b505af11580156200055d573d6000803e3d6000fd5b5050601e546021546040517f175188e80000000000000000000000000000000000000000000000000000000081526001600160a01b03918216600482015261010090920416925063175188e89150602401600060405180830381600087803b158015620005c957600080fd5b505af1158015620005de573d6000803e3d6000fd5b5050601e546021546040516339ebf82360e01b81526001600160a01b0391821660048201526000945084935083926101009004909116906339ebf82390602401606060405180830381865afa1580156200063c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200066291906200289a565b92509250925062000675836000620023a8565b6200068282600062002432565b6022546200069b9082906001600160a01b03166200248d565b50505050565b6000604051620006b190620025be565b604051809103906000f080158015620006ce573d6000803e3d6000fd5b50601f54604080516001600160a01b0390921660248084019190915281518084039091018152604490920181526020820180516001600160e01b03167fc4d66de800000000000000000000000000000000000000000000000000000000179052516200073a90620025cc565b62000747929190620028db565b604051809103906000f08015801562000764573d6000803e3d6000fd5b50601e80546001600160a01b03909216610100027fffffffffffffffffffffff0000000000000000000000000000000000000000ff90921691909117905550604080518082019091526064808252426020909201829052602455602555565b601f5460405163ca669fa760e01b81526001600160a01b039091166004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ca669fa790602401600060405180830381600087803b1580156200081d57600080fd5b505af115801562000832573d6000803e3d6000fd5b5050601e54602054604051630f029aad60e31b81526001600160a01b03918216600482015260248054908201526025546044820152610100909204169250637814d5689150606401600060405180830381600087803b1580156200089557600080fd5b505af1158015620008aa573d6000803e3d6000fd5b5050601e5460205460405163b34e0c4760e01b81526001600160a01b0391821660048201526000945061010090920416915063b34e0c47906024016040805180830381865afa15801562000902573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000928919062002907565b80516024549192506200093b91620023a8565b620009508160200151602460010154620023a8565b50565b60606016805480602002602001604051908101604052809291908181526020018280548015620009ad57602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116200098e575b5050505050905090565b601f5460405163ca669fa760e01b81526001600160a01b039091166004820152600690737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ca669fa790602401600060405180830381600087803b15801562000a1457600080fd5b505af115801562000a29573d6000803e3d6000fd5b50506040517ff28dceb300000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152737109709ecfa91a80626ff3989d68f67f5b1dd12d925063f28dceb39150606401600060405180830381600087803b15801562000ac157600080fd5b505af115801562000ad6573d6000803e3d6000fd5b5050601e546040516303d4768360e41b81526001600160a01b0385811660048301526101009092049091169250633d4768309150602401600060405180830381600087803b15801562000b2857600080fd5b505af115801562000b3d573d6000803e3d6000fd5b5050505050565b60235460405163ca669fa760e01b81526001600160a01b039091166004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ca669fa790602401600060405180830381600087803b15801562000b9e57600080fd5b505af115801562000bb3573d6000803e3d6000fd5b5050604051630618f58760e51b8152637d7b71b560e01b6004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d925063c31eb0e09150602401600060405180830381600087803b15801562000c0b57600080fd5b505af115801562000c20573d6000803e3d6000fd5b5050601e54602054604051630f029aad60e31b81526001600160a01b03918216600482015260248054908201526025546044820152610100909204169250637814d56891506064015b600060405180830381600087803b15801562000c8457600080fd5b505af11580156200069b573d6000803e3d6000fd5b6060601d805480602002602001604051908101604052809291908181526020016000905b8282101562000dde57600084815260208082206040805180820182526002870290920180546001600160a01b03168352600181018054835181870281018701909452808452939591948681019491929084015b8282101562000dc657838290600052602060002001805462000d329062002966565b80601f016020809104026020016040519081016040528092919081815260200182805462000d609062002966565b801562000db15780601f1062000d855761010080835404028352916020019162000db1565b820191906000526020600020905b81548152906001019060200180831162000d9357829003601f168201915b50505050508152602001906001019062000d10565b50505050815250508152602001906001019062000cbd565b50505050905090565b601f5460405163ca669fa760e01b81526001600160a01b039091166004820152603290604b90737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ca669fa790602401600060405180830381600087803b15801562000e4757600080fd5b505af115801562000e5c573d6000803e3d6000fd5b5050601e5460215460225460405163fc2ebdd160e01b81526001600160a01b03928316600482015260248101889052908216604482015261010090920416925063fc2ebdd19150606401600060405180830381600087803b15801562000ec157600080fd5b505af115801562000ed6573d6000803e3d6000fd5b505060225460405163ca669fa760e01b81526001600160a01b039091166004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d925063ca669fa791506024015b600060405180830381600087803b15801562000f3557600080fd5b505af115801562000f4a573d6000803e3d6000fd5b5050601e5460215460405163642ce76b60e01b81526001600160a01b0391821660048201526024810186905261010090920416925063642ce76b9150604401600060405180830381600087803b15801562000fa457600080fd5b505af115801562000fb9573d6000803e3d6000fd5b5050601e546021546040516339ebf82360e01b81526001600160a01b0391821660048201526000945084935083926101009004909116906339ebf82390602401606060405180830381865afa15801562001017573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200103d91906200289a565b9250925092506200104f8385620023a8565b6200105c82600062002432565b60225462000b3d9082906001600160a01b03166200248d565b60606018805480602002602001604051908101604052809291908181526020018280548015620009ad576020028201919060005260206000209081546001600160a01b031681526001909101906020018083116200098e575050505050905090565b60606017805480602002602001604051908101604052809291908181526020018280548015620009ad576020028201919060005260206000209081546001600160a01b031681526001909101906020018083116200098e575050505050905090565b6060601b805480602002602001604051908101604052809291908181526020016000905b8282101562000dde5760008481526020908190206040805180820182526002860290920180546001600160a01b031683526001810180548351818702810187019094528084529394919385830193928301828280156200120a57602002820191906000526020600020906000905b82829054906101000a900460e01b6001600160e01b03191681526020019060040190602082600301049283019260010382029150808411620011cb5790505b505050505081525050815260200190600101906200115d565b60235460405163ca669fa760e01b81526001600160a01b039091166004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ca669fa790602401600060405180830381600087803b1580156200127d57600080fd5b505af115801562001292573d6000803e3d6000fd5b5050604051630618f58760e51b8152637d7b71b560e01b6004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d925063c31eb0e09150602401600060405180830381600087803b158015620012ea57600080fd5b505af1158015620012ff573d6000803e3d6000fd5b5050601e5460205460405163130aea3160e31b81526001600160a01b0391821660048201526101009092041692506398575188915060240162000c69565b6060601a805480602002602001604051908101604052809291908181526020016000905b8282101562000dde578382906000526020600020018054620013839062002966565b80601f0160208091040260200160405190810160405280929190818152602001828054620013b19062002966565b8015620014025780601f10620013d65761010080835404028352916020019162001402565b820191906000526020600020905b815481529060010190602001808311620013e457829003601f168201915b50505050508152602001906001019062001361565b601f5460405163ca669fa760e01b81526001600160a01b039091166004820152603290737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ca669fa790602401600060405180830381600087803b1580156200147457600080fd5b505af115801562001489573d6000803e3d6000fd5b5050601e5460215460225460405163fc2ebdd160e01b81526001600160a01b03928316600482015260248101879052908216604482015261010090920416925063fc2ebdd19150606401600060405180830381600087803b158015620014ee57600080fd5b505af115801562001503573d6000803e3d6000fd5b50506022546040517f06447d560000000000000000000000000000000000000000000000000000000081526001600160a01b039091166004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d92506306447d569150602401600060405180830381600087803b1580156200157a57600080fd5b505af11580156200158f573d6000803e3d6000fd5b5050601e546021546040517fd80ea5a00000000000000000000000000000000000000000000000000000000081526001600160a01b03918216600482015261010090920416925063d80ea5a09150602401600060405180830381600087803b158015620015fb57600080fd5b505af115801562001610573d6000803e3d6000fd5b505050507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156200167357600080fd5b505af115801562001688573d6000803e3d6000fd5b5050601f5460405163ca669fa760e01b81526001600160a01b039091166004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d925063ca669fa79150602401600060405180830381600087803b158015620016e657600080fd5b505af1158015620016fb573d6000803e3d6000fd5b5050601e54602054604051630f029aad60e31b81526001600160a01b03918216600482015260248054908201526025546044820152610100909204169250637814d5689150606401600060405180830381600087803b1580156200175e57600080fd5b505af115801562001773573d6000803e3d6000fd5b5050601e546020546021546040516302154c3d60e51b81526001600160a01b0392831660048201529082166024820152600094506101009092041691506342a987a090604401602060405180830381865afa158015620017d7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620017fd9190620029a2565b90506200180a81620024ef565b601f5460405163ca669fa760e01b81526001600160a01b039091166004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ca669fa790602401600060405180830381600087803b1580156200186457600080fd5b505af115801562001879573d6000803e3d6000fd5b5050601e5460215460405163642ce76b60e01b81526001600160a01b0391821660048201526096602482015261010090920416925063642ce76b9150604401600060405180830381600087803b158015620018d357600080fd5b505af1158015620018e8573d6000803e3d6000fd5b5050601e546020546021546040516302154c3d60e51b81526001600160a01b03928316600482015290821660248201526101009092041692506342a987a09150604401602060405180830381865afa15801562001949573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200196f9190620029a2565b90506200197c816200256b565b5050565b6060601c805480602002602001604051908101604052809291908181526020016000905b8282101562000dde5760008481526020908190206040805180820182526002860290920180546001600160a01b0316835260018101805483518187028101870190945280845293949193858301939283018282801562001a5157602002820191906000526020600020906000905b82829054906101000a900460e01b6001600160e01b0319168152602001906004019060208260030104928301926001038202915080841162001a125790505b50505050508152505081526020019060010190620019a4565b601f5460405163ca669fa760e01b81526001600160a01b039091166004820152603290737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ca669fa790602401600060405180830381600087803b15801562001ac757600080fd5b505af115801562001adc573d6000803e3d6000fd5b5050601e5460215460225460405163fc2ebdd160e01b81526001600160a01b03928316600482015260248101879052908216604482015261010090920416925063fc2ebdd19150606401600060405180830381600087803b15801562001b4157600080fd5b505af115801562001b56573d6000803e3d6000fd5b5050601e546021546040516339ebf82360e01b81526001600160a01b0391821660048201526000945084935083926101009004909116906339ebf82390602401606060405180830381865afa15801562001bb4573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001bda91906200289a565b925092509250620006758385620023a8565b60606019805480602002602001604051908101604052809291908181526020016000905b8282101562000dde57838290600052602060002001805462001c329062002966565b80601f016020809104026020016040519081016040528092919081815260200182805462001c609062002966565b801562001cb15780601f1062001c855761010080835404028352916020019162001cb1565b820191906000526020600020905b81548152906001019060200180831162001c9357829003601f168201915b50505050508152602001906001019062001c10565b60085460009060ff161562001cdf575060085460ff1690565b6040517f667f9d70000000000000000000000000000000000000000000000000000000008152737109709ecfa91a80626ff3989d68f67f5b1dd12d600482018190527f6661696c65640000000000000000000000000000000000000000000000000000602483015260009163667f9d7090604401602060405180830381865afa15801562001d71573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001d979190620029c7565b1415905090565b601f5460405163ca669fa760e01b81526001600160a01b039091166004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ca669fa790602401600060405180830381600087803b15801562001df857600080fd5b505af115801562001e0d573d6000803e3d6000fd5b5050601e54602054604051630f029aad60e31b81526001600160a01b03918216600482015260248054908201526025546044820152610100909204169250637814d5689150606401600060405180830381600087803b15801562001e7057600080fd5b505af115801562001e85573d6000803e3d6000fd5b5050601f5460405163ca669fa760e01b81526001600160a01b039091166004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d925063ca669fa79150602401600060405180830381600087803b15801562001ee357600080fd5b505af115801562001ef8573d6000803e3d6000fd5b5050601e5460205460405163130aea3160e31b81526001600160a01b03918216600482015261010090920416925063985751889150602401600060405180830381600087803b15801562001f4b57600080fd5b505af115801562001f60573d6000803e3d6000fd5b5050601e5460205460405163b34e0c4760e01b81526001600160a01b0391821660048201526000945061010090920416915063b34e0c47906024016040805180830381865afa15801562001fb8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001fde919062002907565b905062001ff181600001516000620023a8565b6200095081602001516000620023a8565b60606015805480602002602001604051908101604052809291908181526020018280548015620009ad576020028201919060005260206000209081546001600160a01b031681526001909101906020018083116200098e575050505050905090565b601f5460405163ca669fa760e01b81526001600160a01b039091166004820152603290604b90737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ca669fa790602401600060405180830381600087803b158015620020c457600080fd5b505af1158015620020d9573d6000803e3d6000fd5b5050601e5460215460225460405163fc2ebdd160e01b81526001600160a01b03928316600482015260248101889052908216604482015261010090920416925063fc2ebdd19150606401600060405180830381600087803b1580156200213e57600080fd5b505af115801562002153573d6000803e3d6000fd5b5050601f5460405163ca669fa760e01b81526001600160a01b039091166004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d925063ca669fa7915060240162000f1a565b601e54604080517f8da5cb5b0000000000000000000000000000000000000000000000000000000081529051600692737109709ecfa91a80626ff3989d68f67f5b1dd12d9263ca669fa7926101009092046001600160a01b031691638da5cb5b916004808201926020929091908290030181865afa15801562002223573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620022499190620029e1565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b158015620022a357600080fd5b505af1158015620022b8573d6000803e3d6000fd5b5050601e546040516303d4768360e41b81526001600160a01b0385811660048301526101009092049091169250633d4768309150602401600060405180830381600087803b1580156200230a57600080fd5b505af11580156200231f573d6000803e3d6000fd5b5050505062000950601e60019054906101000a90046001600160a01b03166001600160a01b0316638df8b2fe6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200237b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620023a19190620029e1565b826200248d565b6040517f98296c540000000000000000000000000000000000000000000000000000000081526004810183905260248101829052737109709ecfa91a80626ff3989d68f67f5b1dd12d906398296c54906044015b60006040518083038186803b1580156200241557600080fd5b505afa1580156200242a573d6000803e3d6000fd5b505050505050565b6040517ff7fe347700000000000000000000000000000000000000000000000000000000815282151560048201528115156024820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9063f7fe347790604401620023fc565b6040517f515361f60000000000000000000000000000000000000000000000000000000081526001600160a01b03808416600483015282166024820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9063515361f690604401620023fc565b6040517f0c9fd5810000000000000000000000000000000000000000000000000000000081528115156004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d90630c9fd581906024015b60006040518083038186803b1580156200255657600080fd5b505afa15801562000b3d573d6000803e3d6000fd5b6040517fa59828850000000000000000000000000000000000000000000000000000000081528115156004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9063a5982885906024016200253d565b611ad38062002a0083390190565b6104ee80620044d383390190565b6020808252825182820181905260009190848201906040850190845b818110156200261d5783516001600160a01b031683529284019291840191600101620025f6565b50909695505050505050565b6000815180845260005b81811015620026515760208185018101518683018201520162002633565b506000602082860101526020601f19601f83011685010191505092915050565b602080825282518282018190526000919060409081850190600581811b8701840188860187805b858110156200272757603f198b8503018752825180516001600160a01b031685528901518985018990528051898601819052908a0190606081881b870181019190870190855b818110156200271057605f19898503018352620026fd84865162002629565b948e01949350918d0191600101620026de565b505050978a01979450509188019160010162002698565b50919a9950505050505050505050565b60006020808301818452808551808352604092508286019150828160051b8701018488016000805b84811015620027f757898403603f19018652825180516001600160a01b03168552880151888501889052805188860181905290890190839060608701905b80831015620027e15783517fffffffff00000000000000000000000000000000000000000000000000000000168252928b019260019290920191908b01906200279d565b50978a019795505050918701916001016200275f565b50919998505050505050505050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b828110156200285f57603f198886030184526200284c85835162002629565b945092850192908501906001016200282d565b5092979650505050505050565b805180151581146200287d57600080fd5b919050565b80516001600160a01b03811681146200287d57600080fd5b600080600060608486031215620028b057600080fd5b83519250620028c2602085016200286c565b9150620028d26040850162002882565b90509250925092565b6001600160a01b0383168152604060208201526000620028ff604083018462002629565b949350505050565b6000604082840312156200291a57600080fd5b6040516040810181811067ffffffffffffffff821117156200294c57634e487b7160e01b600052604160045260246000fd5b604052825181526020928301519281019290925250919050565b600181811c908216806200297b57607f821691505b6020821081036200299c57634e487b7160e01b600052602260045260246000fd5b50919050565b600060208284031215620029b557600080fd5b620029c0826200286c565b9392505050565b600060208284031215620029da57600080fd5b5051919050565b600060208284031215620029f457600080fd5b620029c0826200288256fe60a06040523060805234801561001457600080fd5b50608051611a8761004c60003960008181610656015281816106e0015281816108ce015281816109530152610a390152611a876000f3fe60806040526004361061015f5760003560e01c80637814d568116100c0578063c4d66de811610074578063f2fde38b11610059578063f2fde38b14610469578063f8806a1314610489578063fc2ebdd11461052f57600080fd5b8063c4d66de814610429578063d80ea5a01461044957600080fd5b80638df8b2fe116100a55780638df8b2fe1461036c578063985751881461038c578063b34e0c47146103ac57600080fd5b80637814d5681461031a5780638da5cb5b1461033a57600080fd5b806342a987a01161011757806352d1902d116100fc57806352d1902d146102c2578063642ce76b146102e5578063715018a61461030557600080fd5b806342a987a01461027f5780634f1ef286146102af57600080fd5b80633659cfe6116101485780633659cfe6146101d457806339ebf823146101f45780633d4768301461025f57600080fd5b80631413d4c014610164578063175188e8146101b2575b600080fd5b34801561017057600080fd5b5061019861017f366004611771565b6066602052600090815260409020805460019091015482565b604080519283526020830191909152015b60405180910390f35b3480156101be57600080fd5b506101d26101cd366004611771565b61054f565b005b3480156101e057600080fd5b506101d26101ef366004611771565b61064c565b34801561020057600080fd5b5061023b61020f366004611771565b6067602052600090815260409020805460019091015460ff81169061010090046001600160a01b031683565b6040805193845291151560208401526001600160a01b0316908201526060016101a9565b34801561026b57600080fd5b506101d261027a366004611771565b6107cc565b34801561028b57600080fd5b5061029f61029a36600461178c565b61083c565b60405190151581526020016101a9565b6101d26102bd36600461181f565b6108c4565b3480156102ce57600080fd5b506102d7610a2c565b6040519081526020016101a9565b3480156102f157600080fd5b506101d26103003660046118c5565b610af1565b34801561031157600080fd5b506101d2610bc6565b34801561032657600080fd5b506101d26103353660046118ef565b610bda565b34801561034657600080fd5b506033546001600160a01b03165b6040516001600160a01b0390911681526020016101a9565b34801561037857600080fd5b50606554610354906001600160a01b031681565b34801561039857600080fd5b506101d26103a7366004611771565b610ca2565b3480156103b857600080fd5b5061040e6103c7366004611771565b6040805180820190915260008082526020820152506001600160a01b0316600090815260666020908152604091829020825180840190935280548352600101549082015290565b604080518251815260209283015192810192909252016101a9565b34801561043557600080fd5b506101d2610444366004611771565b610d1d565b34801561045557600080fd5b506101d2610464366004611771565b610e6e565b34801561047557600080fd5b506101d2610484366004611771565b610f27565b34801561049557600080fd5b506105026104a4366004611771565b6040805160608082018352600080835260208084018290529284018190526001600160a01b0394851681526067835283902083519182018452805482526001015460ff81161515928201929092526101009091049092169082015290565b6040805182518152602080840151151590820152918101516001600160a01b0316908201526060016101a9565b34801561053b57600080fd5b506101d261054a366004611962565b610fb4565b806105626033546001600160a01b031690565b6001600160a01b0316336001600160a01b0316148061058b57506065546001600160a01b031633145b806105b757506001600160a01b0381811660009081526067602052604090206001015461010090041633145b15610616576105c582611148565b6001600160a01b03821660008181526067602052604080822060018101805460ff19169055829055517f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea49190a25050565b6040517fe3b6914b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036106de5760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b19195b1959d85d1958d85b1b60a21b60648201526084015b60405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166107397f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b6001600160a01b0316146107a45760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b6163746976652070726f787960a01b60648201526084016106d5565b6107ad81611188565b604080516000808252602082019092526107c991839190611190565b50565b6107d4611330565b6107dd81611148565b606580546001600160a01b0383811673ffffffffffffffffffffffffffffffffffffffff19831681179093556040519116919082907f5117c6c457d7b27a4cb68df40b118f157ac1f1ba81f8a571d189f829d74fbc8690600090a35050565b6001600160a01b03808316600090815260666020908152604080832081518083018352815481526001918201548185015286861685526067845282852083516060810185528154815292015460ff81161515948301859052610100900490951691810191909152919291906108b6576001925050506108be565b519051101590505b92915050565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036109515760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b19195b1959d85d1958d85b1b60a21b60648201526084016106d5565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166109ac7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b6001600160a01b031614610a175760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b6163746976652070726f787960a01b60648201526084016106d5565b610a2082611188565b61064882826001611190565b6000306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610acc5760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c000000000000000060648201526084016106d5565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc90565b81610b046033546001600160a01b031690565b6001600160a01b0316336001600160a01b03161480610b2d57506065546001600160a01b031633145b80610b5957506001600160a01b0381811660009081526067602052604090206001015461010090041633145b1561061657610b6783611148565b6001600160a01b03831660008181526067602052604090819020849055517f40ba4d5d9facd2fda74e22251d1638576e05a30482470363c7c87a7b5b298c0990610bb49085815260200190565b60405180910390a2505050565b505050565b610bce611330565b610bd8600061138a565b565b6033546001600160a01b0316331480610bfd57506065546001600160a01b031633145b15610c7057610c0b82611148565b6001600160a01b03821660008181526066602090815260409182902084518082558583015160019092018290558351908152918201527f1e0ca12706807bceff25136f95fe6f69c1319c044f6073e6056a287e4f541b1d910160405180910390a25050565b6040517f7d7b71b500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6033546001600160a01b0316331480610cc557506065546001600160a01b031633145b15610c7057610cd381611148565b6001600160a01b038116600081815260666020526040808220828155600101829055517fe9dce8c992623ce791725b21e857e33248d1f190a25b5168313420eebdaae99d9190a250565b600054610100900460ff1615808015610d3d5750600054600160ff909116105b80610d575750303b158015610d57575060005460ff166001145b610dc95760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084016106d5565b6000805460ff191660011790558015610dec576000805461ff0019166101001790555b610df46113e9565b610dfd82611148565b6065805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0384161790558015610648576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b6001600160a01b038082166000908152606760205260409020600101548291610100909104163303610ef557610ea382611148565b6001600160a01b0382166000818152606760205260408082206001908101805460ff19169091179055517f652f053fc39779b70b29678135ade972fcb79966fc68fcb77c996b1aa4fd9afb9190a25050565b6040517f97ffbac900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610f2f611330565b6001600160a01b038116610fab5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084016106d5565b6107c98161138a565b6033546001600160a01b0316331480610fd757506065546001600160a01b031633145b15610c7057610fe583611148565b610fee81611148565b6001600160a01b03831660009081526067602052604090205415158061103557506001600160a01b0383811660009081526067602052604090206001015461010090041615155b1561106c576040517fc45546f700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040805160608082018352848252600060208084018281526001600160a01b038781168688018181528b831680875260678652898720985189559351600190980180549151909316610100027fffffffffffffffffffffff0000000000000000000000000000000000000000ff981515989098167fffffffffffffffffffffff000000000000000000000000000000000000000000909116179690961790558551888152918201929092529384019290925290917f9b1a157188de9a0bd2e7995d72aaba244d9bd012ddf3ae3d4f492135175070cb9101610bb4565b6001600160a01b0381166107c9576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6107c9611330565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff16156111c357610bc18361145c565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa92505050801561121d575060408051601f3d908101601f1916820190925261121a9181019061199e565b60015b61128f5760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201527f6f6e206973206e6f74205555505300000000000000000000000000000000000060648201526084016106d5565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc81146113245760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f7860448201527f6961626c6555554944000000000000000000000000000000000000000000000060648201526084016106d5565b50610bc1838383611527565b6033546001600160a01b03163314610bd85760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016106d5565b603380546001600160a01b0383811673ffffffffffffffffffffffffffffffffffffffff19831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600054610100900460ff166114545760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b60648201526084016106d5565b610bd8611552565b6001600160a01b0381163b6114d95760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201527f6f74206120636f6e74726163740000000000000000000000000000000000000060648201526084016106d5565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b611530836115c6565b60008251118061153d5750805b15610bc15761154c8383611606565b50505050565b600054610100900460ff166115bd5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b60648201526084016106d5565b610bd83361138a565b6115cf8161145c565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b606061162b8383604051806060016040528060278152602001611a2b60279139611632565b9392505050565b6060600080856001600160a01b03168560405161164f91906119db565b600060405180830381855af49150503d806000811461168a576040519150601f19603f3d011682016040523d82523d6000602084013e61168f565b606091505b50915091506116a0868383876116aa565b9695505050505050565b60608315611719578251600003611712576001600160a01b0385163b6117125760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016106d5565b5081611723565b611723838361172b565b949350505050565b81511561173b5781518083602001fd5b8060405162461bcd60e51b81526004016106d591906119f7565b80356001600160a01b038116811461176c57600080fd5b919050565b60006020828403121561178357600080fd5b61162b82611755565b6000806040838503121561179f57600080fd5b6117a883611755565b91506117b660208401611755565b90509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715611817576118176117bf565b604052919050565b6000806040838503121561183257600080fd5b61183b83611755565b915060208084013567ffffffffffffffff8082111561185957600080fd5b818601915086601f83011261186d57600080fd5b81358181111561187f5761187f6117bf565b611891601f8201601f191685016117ee565b915080825287848285010111156118a757600080fd5b80848401858401376000848284010152508093505050509250929050565b600080604083850312156118d857600080fd5b6118e183611755565b946020939093013593505050565b600080828403606081121561190357600080fd5b61190c84611755565b92506040601f198201121561192057600080fd5b506040516040810181811067ffffffffffffffff82111715611944576119446117bf565b60409081526020858101358352940135938101939093525092909150565b60008060006060848603121561197757600080fd5b61198084611755565b92506020840135915061199560408501611755565b90509250925092565b6000602082840312156119b057600080fd5b5051919050565b60005b838110156119d25781810151838201526020016119ba565b50506000910152565b600082516119ed8184602087016119b7565b9190910192915050565b6020815260008251806020840152611a168160408501602087016119b7565b601f01601f1916919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a264697066735822122052d302b3a9a080211b9b9feb4efbc8d674cbd6c118bd32bde5b8e25591a75ffe64736f6c6343000813003360806040526040516104ee3803806104ee833981016040819052610022916102de565b61002e82826000610035565b50506103fb565b61003e83610061565b60008251118061004b5750805b1561005c5761005a83836100a1565b505b505050565b61006a816100cd565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606100c683836040518060600160405280602781526020016104c760279139610180565b9392505050565b6001600160a01b0381163b61013f5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080856001600160a01b03168560405161019d91906103ac565b600060405180830381855af49150503d80600081146101d8576040519150601f19603f3d011682016040523d82523d6000602084013e6101dd565b606091505b5090925090506101ef868383876101f9565b9695505050505050565b60608315610268578251600003610261576001600160a01b0385163b6102615760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610136565b5081610272565b610272838361027a565b949350505050565b81511561028a5781518083602001fd5b8060405162461bcd60e51b815260040161013691906103c8565b634e487b7160e01b600052604160045260246000fd5b60005b838110156102d55781810151838201526020016102bd565b50506000910152565b600080604083850312156102f157600080fd5b82516001600160a01b038116811461030857600080fd5b60208401519092506001600160401b038082111561032557600080fd5b818501915085601f83011261033957600080fd5b81518181111561034b5761034b6102a4565b604051601f8201601f19908116603f01168101908382118183101715610373576103736102a4565b8160405282815288602084870101111561038c57600080fd5b61039d8360208301602088016102ba565b80955050505050509250929050565b600082516103be8184602087016102ba565b9190910192915050565b60208152600082518060208401526103e78160408501602087016102ba565b601f01601f19169190910160400192915050565b60be806104096000396000f3fe608060405236601057600e6013565b005b600e5b601f601b6021565b6065565b565b600060607f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b905090565b3660008037600080366000845af43d6000803e8080156083573d6000f35b3d6000fdfea2646970667358221220499685897c672853da42a8c7337889b98ad42121f6c852e2a981477235103d8964736f6c63430008130033416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a264697066735822122060dcd71aea789f08ad8220b49b44abefcf9a25e23f8e5b8147b336fe055804d664736f6c63430008130033", - "sourceMap": "292:5201:145:-:0;;;3126:44:23;;;-1:-1:-1;;3126:44:23;;;3166:4;3126:44;;;;;;1016:26:33;;;;;;;;;;376:39:145;;;-1:-1:-1;;;;;;376:39:145;;;;;;;;421:32;;;;;451:1;421:32;;;459:36;;;;;493:1;459:36;;;501:39;;;;;538:1;501:39;;;546:44;;;;;;588:1;546:44;;;292:5201;;;;;;;;;;;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x60806040523480156200001157600080fd5b5060043610620002015760003560e01c80636c53db9a1162000119578063a8c62e7611620000af578063e20c9f71116200007a578063e20c9f7114620003d2578063e68393b414620003dc578063ebe69a5f14620003e6578063fa7626d414620003f057600080fd5b8063a8c62e76146200038f578063b5508aa914620003a3578063ba414fa614620003ad578063d4dadecb14620003c857600080fd5b80638caa5c4411620000f05780638caa5c44146200035d5780638df8b2fe1462000367578063916a17c6146200037b5780639693f128146200038557600080fd5b80636c53db9a146200032657806382fad478146200033a57806385226c81146200034457600080fd5b80632ade3880116200019b5780633f7286f411620001665780633f7286f414620002d65780634905e83114620002e05780634f8632ba14620002f957806366d9a9a0146200030d57600080fd5b80632ade3880146200027c5780633668aa2914620002955780633e5e3c23146200029f5780633ea7771b14620002a957600080fd5b80630c2759da11620001dc5780630c2759da14620002455780631ed7831c146200024f57806324e40b97146200026857806325821153146200027257600080fd5b8063073a2d8c14620002065780630778c72c146200022f5780630a9254e4146200023b575b600080fd5b60245460255462000215919082565b604080519283526020830191909152015b60405180910390f35b62000239620003fe565b005b62000239620006a1565b62000239620007c3565b6200025962000953565b604051620002269190620025da565b62000239620009b7565b6200023962000b44565b6200028662000c99565b60405162000226919062002671565b6200023962000de7565b6200025962001075565b602354620002bd906001600160a01b031681565b6040516001600160a01b03909116815260200162000226565b62000259620010d7565b601e54620002bd9061010090046001600160a01b031681565b602054620002bd906001600160a01b031681565b6200031762001139565b60405162000226919062002737565b602254620002bd906001600160a01b031681565b6200023962001223565b6200034e6200133d565b60405162000226919062002806565b6200023962001417565b601f54620002bd906001600160a01b031681565b6200031762001980565b6200023962001a6a565b602154620002bd906001600160a01b031681565b6200034e62001bec565b620003b762001cc6565b604051901515815260200162000226565b6200023962001d9e565b6200025962002002565b6200023962002064565b620002396200219c565b601e54620003b79060ff1681565b601f5460405163ca669fa760e01b81526001600160a01b039091166004820152603290737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ca669fa790602401600060405180830381600087803b1580156200045b57600080fd5b505af115801562000470573d6000803e3d6000fd5b5050601e5460215460225460405163fc2ebdd160e01b81526001600160a01b03928316600482015260248101879052908216604482015261010090920416925063fc2ebdd19150606401600060405180830381600087803b158015620004d557600080fd5b505af1158015620004ea573d6000803e3d6000fd5b5050601f5460405163ca669fa760e01b81526001600160a01b039091166004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d925063ca669fa79150602401600060405180830381600087803b1580156200054857600080fd5b505af11580156200055d573d6000803e3d6000fd5b5050601e546021546040517f175188e80000000000000000000000000000000000000000000000000000000081526001600160a01b03918216600482015261010090920416925063175188e89150602401600060405180830381600087803b158015620005c957600080fd5b505af1158015620005de573d6000803e3d6000fd5b5050601e546021546040516339ebf82360e01b81526001600160a01b0391821660048201526000945084935083926101009004909116906339ebf82390602401606060405180830381865afa1580156200063c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200066291906200289a565b92509250925062000675836000620023a8565b6200068282600062002432565b6022546200069b9082906001600160a01b03166200248d565b50505050565b6000604051620006b190620025be565b604051809103906000f080158015620006ce573d6000803e3d6000fd5b50601f54604080516001600160a01b0390921660248084019190915281518084039091018152604490920181526020820180516001600160e01b03167fc4d66de800000000000000000000000000000000000000000000000000000000179052516200073a90620025cc565b62000747929190620028db565b604051809103906000f08015801562000764573d6000803e3d6000fd5b50601e80546001600160a01b03909216610100027fffffffffffffffffffffff0000000000000000000000000000000000000000ff90921691909117905550604080518082019091526064808252426020909201829052602455602555565b601f5460405163ca669fa760e01b81526001600160a01b039091166004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ca669fa790602401600060405180830381600087803b1580156200081d57600080fd5b505af115801562000832573d6000803e3d6000fd5b5050601e54602054604051630f029aad60e31b81526001600160a01b03918216600482015260248054908201526025546044820152610100909204169250637814d5689150606401600060405180830381600087803b1580156200089557600080fd5b505af1158015620008aa573d6000803e3d6000fd5b5050601e5460205460405163b34e0c4760e01b81526001600160a01b0391821660048201526000945061010090920416915063b34e0c47906024016040805180830381865afa15801562000902573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000928919062002907565b80516024549192506200093b91620023a8565b620009508160200151602460010154620023a8565b50565b60606016805480602002602001604051908101604052809291908181526020018280548015620009ad57602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116200098e575b5050505050905090565b601f5460405163ca669fa760e01b81526001600160a01b039091166004820152600690737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ca669fa790602401600060405180830381600087803b15801562000a1457600080fd5b505af115801562000a29573d6000803e3d6000fd5b50506040517ff28dceb300000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152737109709ecfa91a80626ff3989d68f67f5b1dd12d925063f28dceb39150606401600060405180830381600087803b15801562000ac157600080fd5b505af115801562000ad6573d6000803e3d6000fd5b5050601e546040516303d4768360e41b81526001600160a01b0385811660048301526101009092049091169250633d4768309150602401600060405180830381600087803b15801562000b2857600080fd5b505af115801562000b3d573d6000803e3d6000fd5b5050505050565b60235460405163ca669fa760e01b81526001600160a01b039091166004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ca669fa790602401600060405180830381600087803b15801562000b9e57600080fd5b505af115801562000bb3573d6000803e3d6000fd5b5050604051630618f58760e51b8152637d7b71b560e01b6004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d925063c31eb0e09150602401600060405180830381600087803b15801562000c0b57600080fd5b505af115801562000c20573d6000803e3d6000fd5b5050601e54602054604051630f029aad60e31b81526001600160a01b03918216600482015260248054908201526025546044820152610100909204169250637814d56891506064015b600060405180830381600087803b15801562000c8457600080fd5b505af11580156200069b573d6000803e3d6000fd5b6060601d805480602002602001604051908101604052809291908181526020016000905b8282101562000dde57600084815260208082206040805180820182526002870290920180546001600160a01b03168352600181018054835181870281018701909452808452939591948681019491929084015b8282101562000dc657838290600052602060002001805462000d329062002966565b80601f016020809104026020016040519081016040528092919081815260200182805462000d609062002966565b801562000db15780601f1062000d855761010080835404028352916020019162000db1565b820191906000526020600020905b81548152906001019060200180831162000d9357829003601f168201915b50505050508152602001906001019062000d10565b50505050815250508152602001906001019062000cbd565b50505050905090565b601f5460405163ca669fa760e01b81526001600160a01b039091166004820152603290604b90737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ca669fa790602401600060405180830381600087803b15801562000e4757600080fd5b505af115801562000e5c573d6000803e3d6000fd5b5050601e5460215460225460405163fc2ebdd160e01b81526001600160a01b03928316600482015260248101889052908216604482015261010090920416925063fc2ebdd19150606401600060405180830381600087803b15801562000ec157600080fd5b505af115801562000ed6573d6000803e3d6000fd5b505060225460405163ca669fa760e01b81526001600160a01b039091166004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d925063ca669fa791506024015b600060405180830381600087803b15801562000f3557600080fd5b505af115801562000f4a573d6000803e3d6000fd5b5050601e5460215460405163642ce76b60e01b81526001600160a01b0391821660048201526024810186905261010090920416925063642ce76b9150604401600060405180830381600087803b15801562000fa457600080fd5b505af115801562000fb9573d6000803e3d6000fd5b5050601e546021546040516339ebf82360e01b81526001600160a01b0391821660048201526000945084935083926101009004909116906339ebf82390602401606060405180830381865afa15801562001017573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200103d91906200289a565b9250925092506200104f8385620023a8565b6200105c82600062002432565b60225462000b3d9082906001600160a01b03166200248d565b60606018805480602002602001604051908101604052809291908181526020018280548015620009ad576020028201919060005260206000209081546001600160a01b031681526001909101906020018083116200098e575050505050905090565b60606017805480602002602001604051908101604052809291908181526020018280548015620009ad576020028201919060005260206000209081546001600160a01b031681526001909101906020018083116200098e575050505050905090565b6060601b805480602002602001604051908101604052809291908181526020016000905b8282101562000dde5760008481526020908190206040805180820182526002860290920180546001600160a01b031683526001810180548351818702810187019094528084529394919385830193928301828280156200120a57602002820191906000526020600020906000905b82829054906101000a900460e01b6001600160e01b03191681526020019060040190602082600301049283019260010382029150808411620011cb5790505b505050505081525050815260200190600101906200115d565b60235460405163ca669fa760e01b81526001600160a01b039091166004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ca669fa790602401600060405180830381600087803b1580156200127d57600080fd5b505af115801562001292573d6000803e3d6000fd5b5050604051630618f58760e51b8152637d7b71b560e01b6004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d925063c31eb0e09150602401600060405180830381600087803b158015620012ea57600080fd5b505af1158015620012ff573d6000803e3d6000fd5b5050601e5460205460405163130aea3160e31b81526001600160a01b0391821660048201526101009092041692506398575188915060240162000c69565b6060601a805480602002602001604051908101604052809291908181526020016000905b8282101562000dde578382906000526020600020018054620013839062002966565b80601f0160208091040260200160405190810160405280929190818152602001828054620013b19062002966565b8015620014025780601f10620013d65761010080835404028352916020019162001402565b820191906000526020600020905b815481529060010190602001808311620013e457829003601f168201915b50505050508152602001906001019062001361565b601f5460405163ca669fa760e01b81526001600160a01b039091166004820152603290737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ca669fa790602401600060405180830381600087803b1580156200147457600080fd5b505af115801562001489573d6000803e3d6000fd5b5050601e5460215460225460405163fc2ebdd160e01b81526001600160a01b03928316600482015260248101879052908216604482015261010090920416925063fc2ebdd19150606401600060405180830381600087803b158015620014ee57600080fd5b505af115801562001503573d6000803e3d6000fd5b50506022546040517f06447d560000000000000000000000000000000000000000000000000000000081526001600160a01b039091166004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d92506306447d569150602401600060405180830381600087803b1580156200157a57600080fd5b505af11580156200158f573d6000803e3d6000fd5b5050601e546021546040517fd80ea5a00000000000000000000000000000000000000000000000000000000081526001600160a01b03918216600482015261010090920416925063d80ea5a09150602401600060405180830381600087803b158015620015fb57600080fd5b505af115801562001610573d6000803e3d6000fd5b505050507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156200167357600080fd5b505af115801562001688573d6000803e3d6000fd5b5050601f5460405163ca669fa760e01b81526001600160a01b039091166004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d925063ca669fa79150602401600060405180830381600087803b158015620016e657600080fd5b505af1158015620016fb573d6000803e3d6000fd5b5050601e54602054604051630f029aad60e31b81526001600160a01b03918216600482015260248054908201526025546044820152610100909204169250637814d5689150606401600060405180830381600087803b1580156200175e57600080fd5b505af115801562001773573d6000803e3d6000fd5b5050601e546020546021546040516302154c3d60e51b81526001600160a01b0392831660048201529082166024820152600094506101009092041691506342a987a090604401602060405180830381865afa158015620017d7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620017fd9190620029a2565b90506200180a81620024ef565b601f5460405163ca669fa760e01b81526001600160a01b039091166004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ca669fa790602401600060405180830381600087803b1580156200186457600080fd5b505af115801562001879573d6000803e3d6000fd5b5050601e5460215460405163642ce76b60e01b81526001600160a01b0391821660048201526096602482015261010090920416925063642ce76b9150604401600060405180830381600087803b158015620018d357600080fd5b505af1158015620018e8573d6000803e3d6000fd5b5050601e546020546021546040516302154c3d60e51b81526001600160a01b03928316600482015290821660248201526101009092041692506342a987a09150604401602060405180830381865afa15801562001949573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200196f9190620029a2565b90506200197c816200256b565b5050565b6060601c805480602002602001604051908101604052809291908181526020016000905b8282101562000dde5760008481526020908190206040805180820182526002860290920180546001600160a01b0316835260018101805483518187028101870190945280845293949193858301939283018282801562001a5157602002820191906000526020600020906000905b82829054906101000a900460e01b6001600160e01b0319168152602001906004019060208260030104928301926001038202915080841162001a125790505b50505050508152505081526020019060010190620019a4565b601f5460405163ca669fa760e01b81526001600160a01b039091166004820152603290737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ca669fa790602401600060405180830381600087803b15801562001ac757600080fd5b505af115801562001adc573d6000803e3d6000fd5b5050601e5460215460225460405163fc2ebdd160e01b81526001600160a01b03928316600482015260248101879052908216604482015261010090920416925063fc2ebdd19150606401600060405180830381600087803b15801562001b4157600080fd5b505af115801562001b56573d6000803e3d6000fd5b5050601e546021546040516339ebf82360e01b81526001600160a01b0391821660048201526000945084935083926101009004909116906339ebf82390602401606060405180830381865afa15801562001bb4573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001bda91906200289a565b925092509250620006758385620023a8565b60606019805480602002602001604051908101604052809291908181526020016000905b8282101562000dde57838290600052602060002001805462001c329062002966565b80601f016020809104026020016040519081016040528092919081815260200182805462001c609062002966565b801562001cb15780601f1062001c855761010080835404028352916020019162001cb1565b820191906000526020600020905b81548152906001019060200180831162001c9357829003601f168201915b50505050508152602001906001019062001c10565b60085460009060ff161562001cdf575060085460ff1690565b6040517f667f9d70000000000000000000000000000000000000000000000000000000008152737109709ecfa91a80626ff3989d68f67f5b1dd12d600482018190527f6661696c65640000000000000000000000000000000000000000000000000000602483015260009163667f9d7090604401602060405180830381865afa15801562001d71573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001d979190620029c7565b1415905090565b601f5460405163ca669fa760e01b81526001600160a01b039091166004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ca669fa790602401600060405180830381600087803b15801562001df857600080fd5b505af115801562001e0d573d6000803e3d6000fd5b5050601e54602054604051630f029aad60e31b81526001600160a01b03918216600482015260248054908201526025546044820152610100909204169250637814d5689150606401600060405180830381600087803b15801562001e7057600080fd5b505af115801562001e85573d6000803e3d6000fd5b5050601f5460405163ca669fa760e01b81526001600160a01b039091166004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d925063ca669fa79150602401600060405180830381600087803b15801562001ee357600080fd5b505af115801562001ef8573d6000803e3d6000fd5b5050601e5460205460405163130aea3160e31b81526001600160a01b03918216600482015261010090920416925063985751889150602401600060405180830381600087803b15801562001f4b57600080fd5b505af115801562001f60573d6000803e3d6000fd5b5050601e5460205460405163b34e0c4760e01b81526001600160a01b0391821660048201526000945061010090920416915063b34e0c47906024016040805180830381865afa15801562001fb8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001fde919062002907565b905062001ff181600001516000620023a8565b6200095081602001516000620023a8565b60606015805480602002602001604051908101604052809291908181526020018280548015620009ad576020028201919060005260206000209081546001600160a01b031681526001909101906020018083116200098e575050505050905090565b601f5460405163ca669fa760e01b81526001600160a01b039091166004820152603290604b90737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ca669fa790602401600060405180830381600087803b158015620020c457600080fd5b505af1158015620020d9573d6000803e3d6000fd5b5050601e5460215460225460405163fc2ebdd160e01b81526001600160a01b03928316600482015260248101889052908216604482015261010090920416925063fc2ebdd19150606401600060405180830381600087803b1580156200213e57600080fd5b505af115801562002153573d6000803e3d6000fd5b5050601f5460405163ca669fa760e01b81526001600160a01b039091166004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d925063ca669fa7915060240162000f1a565b601e54604080517f8da5cb5b0000000000000000000000000000000000000000000000000000000081529051600692737109709ecfa91a80626ff3989d68f67f5b1dd12d9263ca669fa7926101009092046001600160a01b031691638da5cb5b916004808201926020929091908290030181865afa15801562002223573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620022499190620029e1565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b158015620022a357600080fd5b505af1158015620022b8573d6000803e3d6000fd5b5050601e546040516303d4768360e41b81526001600160a01b0385811660048301526101009092049091169250633d4768309150602401600060405180830381600087803b1580156200230a57600080fd5b505af11580156200231f573d6000803e3d6000fd5b5050505062000950601e60019054906101000a90046001600160a01b03166001600160a01b0316638df8b2fe6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200237b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620023a19190620029e1565b826200248d565b6040517f98296c540000000000000000000000000000000000000000000000000000000081526004810183905260248101829052737109709ecfa91a80626ff3989d68f67f5b1dd12d906398296c54906044015b60006040518083038186803b1580156200241557600080fd5b505afa1580156200242a573d6000803e3d6000fd5b505050505050565b6040517ff7fe347700000000000000000000000000000000000000000000000000000000815282151560048201528115156024820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9063f7fe347790604401620023fc565b6040517f515361f60000000000000000000000000000000000000000000000000000000081526001600160a01b03808416600483015282166024820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9063515361f690604401620023fc565b6040517f0c9fd5810000000000000000000000000000000000000000000000000000000081528115156004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d90630c9fd581906024015b60006040518083038186803b1580156200255657600080fd5b505afa15801562000b3d573d6000803e3d6000fd5b6040517fa59828850000000000000000000000000000000000000000000000000000000081528115156004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9063a5982885906024016200253d565b611ad38062002a0083390190565b6104ee80620044d383390190565b6020808252825182820181905260009190848201906040850190845b818110156200261d5783516001600160a01b031683529284019291840191600101620025f6565b50909695505050505050565b6000815180845260005b81811015620026515760208185018101518683018201520162002633565b506000602082860101526020601f19601f83011685010191505092915050565b602080825282518282018190526000919060409081850190600581811b8701840188860187805b858110156200272757603f198b8503018752825180516001600160a01b031685528901518985018990528051898601819052908a0190606081881b870181019190870190855b818110156200271057605f19898503018352620026fd84865162002629565b948e01949350918d0191600101620026de565b505050978a01979450509188019160010162002698565b50919a9950505050505050505050565b60006020808301818452808551808352604092508286019150828160051b8701018488016000805b84811015620027f757898403603f19018652825180516001600160a01b03168552880151888501889052805188860181905290890190839060608701905b80831015620027e15783517fffffffff00000000000000000000000000000000000000000000000000000000168252928b019260019290920191908b01906200279d565b50978a019795505050918701916001016200275f565b50919998505050505050505050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b828110156200285f57603f198886030184526200284c85835162002629565b945092850192908501906001016200282d565b5092979650505050505050565b805180151581146200287d57600080fd5b919050565b80516001600160a01b03811681146200287d57600080fd5b600080600060608486031215620028b057600080fd5b83519250620028c2602085016200286c565b9150620028d26040850162002882565b90509250925092565b6001600160a01b0383168152604060208201526000620028ff604083018462002629565b949350505050565b6000604082840312156200291a57600080fd5b6040516040810181811067ffffffffffffffff821117156200294c57634e487b7160e01b600052604160045260246000fd5b604052825181526020928301519281019290925250919050565b600181811c908216806200297b57607f821691505b6020821081036200299c57634e487b7160e01b600052602260045260246000fd5b50919050565b600060208284031215620029b557600080fd5b620029c0826200286c565b9392505050565b600060208284031215620029da57600080fd5b5051919050565b600060208284031215620029f457600080fd5b620029c0826200288256fe60a06040523060805234801561001457600080fd5b50608051611a8761004c60003960008181610656015281816106e0015281816108ce015281816109530152610a390152611a876000f3fe60806040526004361061015f5760003560e01c80637814d568116100c0578063c4d66de811610074578063f2fde38b11610059578063f2fde38b14610469578063f8806a1314610489578063fc2ebdd11461052f57600080fd5b8063c4d66de814610429578063d80ea5a01461044957600080fd5b80638df8b2fe116100a55780638df8b2fe1461036c578063985751881461038c578063b34e0c47146103ac57600080fd5b80637814d5681461031a5780638da5cb5b1461033a57600080fd5b806342a987a01161011757806352d1902d116100fc57806352d1902d146102c2578063642ce76b146102e5578063715018a61461030557600080fd5b806342a987a01461027f5780634f1ef286146102af57600080fd5b80633659cfe6116101485780633659cfe6146101d457806339ebf823146101f45780633d4768301461025f57600080fd5b80631413d4c014610164578063175188e8146101b2575b600080fd5b34801561017057600080fd5b5061019861017f366004611771565b6066602052600090815260409020805460019091015482565b604080519283526020830191909152015b60405180910390f35b3480156101be57600080fd5b506101d26101cd366004611771565b61054f565b005b3480156101e057600080fd5b506101d26101ef366004611771565b61064c565b34801561020057600080fd5b5061023b61020f366004611771565b6067602052600090815260409020805460019091015460ff81169061010090046001600160a01b031683565b6040805193845291151560208401526001600160a01b0316908201526060016101a9565b34801561026b57600080fd5b506101d261027a366004611771565b6107cc565b34801561028b57600080fd5b5061029f61029a36600461178c565b61083c565b60405190151581526020016101a9565b6101d26102bd36600461181f565b6108c4565b3480156102ce57600080fd5b506102d7610a2c565b6040519081526020016101a9565b3480156102f157600080fd5b506101d26103003660046118c5565b610af1565b34801561031157600080fd5b506101d2610bc6565b34801561032657600080fd5b506101d26103353660046118ef565b610bda565b34801561034657600080fd5b506033546001600160a01b03165b6040516001600160a01b0390911681526020016101a9565b34801561037857600080fd5b50606554610354906001600160a01b031681565b34801561039857600080fd5b506101d26103a7366004611771565b610ca2565b3480156103b857600080fd5b5061040e6103c7366004611771565b6040805180820190915260008082526020820152506001600160a01b0316600090815260666020908152604091829020825180840190935280548352600101549082015290565b604080518251815260209283015192810192909252016101a9565b34801561043557600080fd5b506101d2610444366004611771565b610d1d565b34801561045557600080fd5b506101d2610464366004611771565b610e6e565b34801561047557600080fd5b506101d2610484366004611771565b610f27565b34801561049557600080fd5b506105026104a4366004611771565b6040805160608082018352600080835260208084018290529284018190526001600160a01b0394851681526067835283902083519182018452805482526001015460ff81161515928201929092526101009091049092169082015290565b6040805182518152602080840151151590820152918101516001600160a01b0316908201526060016101a9565b34801561053b57600080fd5b506101d261054a366004611962565b610fb4565b806105626033546001600160a01b031690565b6001600160a01b0316336001600160a01b0316148061058b57506065546001600160a01b031633145b806105b757506001600160a01b0381811660009081526067602052604090206001015461010090041633145b15610616576105c582611148565b6001600160a01b03821660008181526067602052604080822060018101805460ff19169055829055517f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea49190a25050565b6040517fe3b6914b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036106de5760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b19195b1959d85d1958d85b1b60a21b60648201526084015b60405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166107397f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b6001600160a01b0316146107a45760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b6163746976652070726f787960a01b60648201526084016106d5565b6107ad81611188565b604080516000808252602082019092526107c991839190611190565b50565b6107d4611330565b6107dd81611148565b606580546001600160a01b0383811673ffffffffffffffffffffffffffffffffffffffff19831681179093556040519116919082907f5117c6c457d7b27a4cb68df40b118f157ac1f1ba81f8a571d189f829d74fbc8690600090a35050565b6001600160a01b03808316600090815260666020908152604080832081518083018352815481526001918201548185015286861685526067845282852083516060810185528154815292015460ff81161515948301859052610100900490951691810191909152919291906108b6576001925050506108be565b519051101590505b92915050565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036109515760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b19195b1959d85d1958d85b1b60a21b60648201526084016106d5565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166109ac7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b6001600160a01b031614610a175760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b6163746976652070726f787960a01b60648201526084016106d5565b610a2082611188565b61064882826001611190565b6000306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610acc5760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c000000000000000060648201526084016106d5565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc90565b81610b046033546001600160a01b031690565b6001600160a01b0316336001600160a01b03161480610b2d57506065546001600160a01b031633145b80610b5957506001600160a01b0381811660009081526067602052604090206001015461010090041633145b1561061657610b6783611148565b6001600160a01b03831660008181526067602052604090819020849055517f40ba4d5d9facd2fda74e22251d1638576e05a30482470363c7c87a7b5b298c0990610bb49085815260200190565b60405180910390a2505050565b505050565b610bce611330565b610bd8600061138a565b565b6033546001600160a01b0316331480610bfd57506065546001600160a01b031633145b15610c7057610c0b82611148565b6001600160a01b03821660008181526066602090815260409182902084518082558583015160019092018290558351908152918201527f1e0ca12706807bceff25136f95fe6f69c1319c044f6073e6056a287e4f541b1d910160405180910390a25050565b6040517f7d7b71b500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6033546001600160a01b0316331480610cc557506065546001600160a01b031633145b15610c7057610cd381611148565b6001600160a01b038116600081815260666020526040808220828155600101829055517fe9dce8c992623ce791725b21e857e33248d1f190a25b5168313420eebdaae99d9190a250565b600054610100900460ff1615808015610d3d5750600054600160ff909116105b80610d575750303b158015610d57575060005460ff166001145b610dc95760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084016106d5565b6000805460ff191660011790558015610dec576000805461ff0019166101001790555b610df46113e9565b610dfd82611148565b6065805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0384161790558015610648576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b6001600160a01b038082166000908152606760205260409020600101548291610100909104163303610ef557610ea382611148565b6001600160a01b0382166000818152606760205260408082206001908101805460ff19169091179055517f652f053fc39779b70b29678135ade972fcb79966fc68fcb77c996b1aa4fd9afb9190a25050565b6040517f97ffbac900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610f2f611330565b6001600160a01b038116610fab5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084016106d5565b6107c98161138a565b6033546001600160a01b0316331480610fd757506065546001600160a01b031633145b15610c7057610fe583611148565b610fee81611148565b6001600160a01b03831660009081526067602052604090205415158061103557506001600160a01b0383811660009081526067602052604090206001015461010090041615155b1561106c576040517fc45546f700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040805160608082018352848252600060208084018281526001600160a01b038781168688018181528b831680875260678652898720985189559351600190980180549151909316610100027fffffffffffffffffffffff0000000000000000000000000000000000000000ff981515989098167fffffffffffffffffffffff000000000000000000000000000000000000000000909116179690961790558551888152918201929092529384019290925290917f9b1a157188de9a0bd2e7995d72aaba244d9bd012ddf3ae3d4f492135175070cb9101610bb4565b6001600160a01b0381166107c9576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6107c9611330565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff16156111c357610bc18361145c565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa92505050801561121d575060408051601f3d908101601f1916820190925261121a9181019061199e565b60015b61128f5760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201527f6f6e206973206e6f74205555505300000000000000000000000000000000000060648201526084016106d5565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc81146113245760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f7860448201527f6961626c6555554944000000000000000000000000000000000000000000000060648201526084016106d5565b50610bc1838383611527565b6033546001600160a01b03163314610bd85760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016106d5565b603380546001600160a01b0383811673ffffffffffffffffffffffffffffffffffffffff19831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600054610100900460ff166114545760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b60648201526084016106d5565b610bd8611552565b6001600160a01b0381163b6114d95760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201527f6f74206120636f6e74726163740000000000000000000000000000000000000060648201526084016106d5565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b611530836115c6565b60008251118061153d5750805b15610bc15761154c8383611606565b50505050565b600054610100900460ff166115bd5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b60648201526084016106d5565b610bd83361138a565b6115cf8161145c565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b606061162b8383604051806060016040528060278152602001611a2b60279139611632565b9392505050565b6060600080856001600160a01b03168560405161164f91906119db565b600060405180830381855af49150503d806000811461168a576040519150601f19603f3d011682016040523d82523d6000602084013e61168f565b606091505b50915091506116a0868383876116aa565b9695505050505050565b60608315611719578251600003611712576001600160a01b0385163b6117125760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016106d5565b5081611723565b611723838361172b565b949350505050565b81511561173b5781518083602001fd5b8060405162461bcd60e51b81526004016106d591906119f7565b80356001600160a01b038116811461176c57600080fd5b919050565b60006020828403121561178357600080fd5b61162b82611755565b6000806040838503121561179f57600080fd5b6117a883611755565b91506117b660208401611755565b90509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715611817576118176117bf565b604052919050565b6000806040838503121561183257600080fd5b61183b83611755565b915060208084013567ffffffffffffffff8082111561185957600080fd5b818601915086601f83011261186d57600080fd5b81358181111561187f5761187f6117bf565b611891601f8201601f191685016117ee565b915080825287848285010111156118a757600080fd5b80848401858401376000848284010152508093505050509250929050565b600080604083850312156118d857600080fd5b6118e183611755565b946020939093013593505050565b600080828403606081121561190357600080fd5b61190c84611755565b92506040601f198201121561192057600080fd5b506040516040810181811067ffffffffffffffff82111715611944576119446117bf565b60409081526020858101358352940135938101939093525092909150565b60008060006060848603121561197757600080fd5b61198084611755565b92506020840135915061199560408501611755565b90509250925092565b6000602082840312156119b057600080fd5b5051919050565b60005b838110156119d25781810151838201526020016119ba565b50506000910152565b600082516119ed8184602087016119b7565b9190910192915050565b6020815260008251806020840152611a168160408501602087016119b7565b601f01601f1916919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a264697066735822122052d302b3a9a080211b9b9feb4efbc8d674cbd6c118bd32bde5b8e25591a75ffe64736f6c6343000813003360806040526040516104ee3803806104ee833981016040819052610022916102de565b61002e82826000610035565b50506103fb565b61003e83610061565b60008251118061004b5750805b1561005c5761005a83836100a1565b505b505050565b61006a816100cd565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606100c683836040518060600160405280602781526020016104c760279139610180565b9392505050565b6001600160a01b0381163b61013f5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080856001600160a01b03168560405161019d91906103ac565b600060405180830381855af49150503d80600081146101d8576040519150601f19603f3d011682016040523d82523d6000602084013e6101dd565b606091505b5090925090506101ef868383876101f9565b9695505050505050565b60608315610268578251600003610261576001600160a01b0385163b6102615760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610136565b5081610272565b610272838361027a565b949350505050565b81511561028a5781518083602001fd5b8060405162461bcd60e51b815260040161013691906103c8565b634e487b7160e01b600052604160045260246000fd5b60005b838110156102d55781810151838201526020016102bd565b50506000910152565b600080604083850312156102f157600080fd5b82516001600160a01b038116811461030857600080fd5b60208401519092506001600160401b038082111561032557600080fd5b818501915085601f83011261033957600080fd5b81518181111561034b5761034b6102a4565b604051601f8201601f19908116603f01168101908382118183101715610373576103736102a4565b8160405282815288602084870101111561038c57600080fd5b61039d8360208301602088016102ba565b80955050505050509250929050565b600082516103be8184602087016102ba565b9190910192915050565b60208152600082518060208401526103e78160408501602087016102ba565b601f01601f19169190910160400192915050565b60be806104096000396000f3fe608060405236601057600e6013565b005b600e5b601f601b6021565b6065565b565b600060607f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b905090565b3660008037600080366000845af43d6000803e8080156083573d6000f35b3d6000fdfea2646970667358221220499685897c672853da42a8c7337889b98ad42121f6c852e2a981477235103d8964736f6c63430008130033416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a264697066735822122060dcd71aea789f08ad8220b49b44abefcf9a25e23f8e5b8147b336fe055804d664736f6c63430008130033", - "sourceMap": "292:5201:145:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;596:32;;;;;;;;;;;;;;188:25:151;;;244:2;229:18;;222:34;;;;161:18;596:32:145;;;;;;;;3089:544;;;:::i;:::-;;635:374;;;:::i;1015:331::-;;;:::i;2452:134:26:-;;;:::i;:::-;;;;;;;:::i;2400:247:145:-;;;:::i;1972:217::-;;;:::i;3360:151:26:-;;;:::i;:::-;;;;;;;:::i;4225:581:145:-;;;:::i;3221:133:26:-;;;:::i;546:44:145:-;;;;;-1:-1:-1;;;;;546:44:145;;;;;;-1:-1:-1;;;;;3317:55:151;;;3299:74;;3287:2;3272:18;546:44:145;3153:226:151;2922:141:26;;;:::i;334:36:145:-;;;;;;;;-1:-1:-1;;;;;334:36:145;;;421:32;;;;;-1:-1:-1;;;;;421:32:145;;;2738:178:26;;;:::i;:::-;;;;;;;:::i;501:39:145:-;;;;;-1:-1:-1;;;;;501:39:145;;;2195:199;;;:::i;2592:140:26:-;;;:::i;:::-;;;;;;;:::i;4812:679:145:-;;;:::i;376:39::-;;;;;-1:-1:-1;;;;;376:39:145;;;3069:146:26;;;:::i;2653:430:145:-;;;:::i;459:36::-;;;;;-1:-1:-1;;;;;459:36:145;;;2157:141:26;;;:::i;1243:204:22:-;;;:::i;:::-;;;6255:14:151;;6248:22;6230:41;;6218:2;6203:18;1243:204:22;6090:187:151;1352:362:145;;;:::i;2304:142:26:-;;;:::i;3639:580:145:-;;;:::i;1720:246::-;;;:::i;1016:26:33:-;;;;;;;;;3089:544:145;3178:11;;3169:21;;-1:-1:-1;;;3169:21:145;;-1:-1:-1;;;;;3178:11:145;;;3169:21;;;3299:74:151;3156:2:145;;3169:8;;;;3272:18:151;;3169:21:145;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3200:14:145;;3227:8;;3248:11;;3200:60;;-1:-1:-1;;;3200:60:145;;-1:-1:-1;;;;;3227:8:145;;;3200:60;;;6545:34:151;6595:18;;;6588:34;;;3248:11:145;;;6638:18:151;;;6631:43;3200:14:145;;;;;;-1:-1:-1;3200:26:145;;-1:-1:-1;6457:18:151;;3200:60:145;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3280:11:145;;3271:21;;-1:-1:-1;;;3271:21:145;;-1:-1:-1;;;;;3280:11:145;;;3271:21;;;3299:74:151;3271:8:145;;-1:-1:-1;3271:8:145;;-1:-1:-1;3272:18:151;;3271:21:145;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3302:14:145;;3332:8;;3302:39;;;;;-1:-1:-1;;;;;3332:8:145;;;3302:39;;;3299:74:151;3302:14:145;;;;;;-1:-1:-1;3302:29:145;;-1:-1:-1;3272:18:151;;3302:39:145;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3426:14:145;;3452:8;;3426:35;;-1:-1:-1;;;3426:35:145;;-1:-1:-1;;;;;3452:8:145;;;3426:35;;;3299:74:151;3353:23:145;;-1:-1:-1;3353:23:145;;-1:-1:-1;3353:23:145;;3426:14;;;;;;;:25;;3272:18:151;;3426:35:145;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3352:109;;;;;;3471:28;3480:15;3497:1;3471:8;:28::i;:::-;3509:29;3518:12;3532:5;3509:8;:29::i;:::-;3576:11;;3548:40;;3557:17;;-1:-1:-1;;;;;3576:11:145;3548:8;:40::i;:::-;3126:507;;;;3089:544::o;635:374::-;669:18;728:20;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;830:11:145;;763:80;;;-1:-1:-1;;;;;830:11:145;;;763:80;;;;3299:74:151;;;;763:80:145;;;;;;;;;;3272:18:151;;;;763:80:145;;;;;;;-1:-1:-1;;;;;763:80:145;786:34;763:80;;;690:163;;;;:::i;:::-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;864:14:145;:56;;-1:-1:-1;;;;;864:56:145;;;;;;;;;;;;;;;-1:-1:-1;946:56:145;;;;;;;;;967:3;946:56;;;985:15;946:56;;;;;;;931:12;:71;;;635:374::o;1015:331::-;1069:11;;1060:21;;-1:-1:-1;;;1060:21:145;;-1:-1:-1;;;;;1069:11:145;;;1060:21;;;3299:74:151;1060:8:145;;;;3272:18:151;;1060:21:145;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1091:14:145;;1119:4;;1091:47;;-1:-1:-1;;;1091:47:145;;-1:-1:-1;;;;;1119:4:145;;;1091:47;;;7988:74:151;1125:12:145;8098:13:151;;8078:18;;;8071:41;8154:17;8148:24;8128:18;;;8121:52;1091:14:145;;;;;;-1:-1:-1;1091:27:145;;-1:-1:-1;7961:18:151;;1091:47:145;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1182:14:145;;1210:4;;1182:33;;-1:-1:-1;;;1182:33:145;;-1:-1:-1;;;;;1210:4:145;;;1182:33;;;3299:74:151;1149:30:145;;-1:-1:-1;1182:14:145;;;;;;-1:-1:-1;1182:27:145;;3272:18:151;;1182:33:145;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1234:16;;1252:12;:18;1149:66;;-1:-1:-1;1225:46:145;;:8;:46::i;:::-;1281:58;1290:10;:22;;;1314:12;:24;;;1281:8;:58::i;:::-;1050:296;1015:331::o;2452:134:26:-;2499:33;2563:16;2544:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2544:35:26;;;;;;;;;;;;;;;;;;;;;;;2452:134;:::o;2400:247:145:-;2513:11;;2504:21;;-1:-1:-1;;;2504:21:145;;-1:-1:-1;;;;;2513:11:145;;;2504:21;;;3299:74:151;2491:1:145;;2504:8;;;;3272:18:151;;2504:21:145;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2535:51:145;;;;;9051:2:151;2535:51:145;;;9033:21:151;;;9070:18;;;9063:30;9129:34;9109:18;;;9102:62;2535:15:145;;-1:-1:-1;2535:15:145;;-1:-1:-1;9181:18:151;;2535:51:145;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2596:14:145;;:44;;-1:-1:-1;;;2596:44:145;;-1:-1:-1;;;;;3317:55:151;;;2596:44:145;;;3299:74:151;2596:14:145;;;;;;;;-1:-1:-1;2596:32:145;;-1:-1:-1;3272:18:151;;2596:44:145;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2452:195;2400:247::o;1972:217::-;2043:16;;2034:26;;-1:-1:-1;;;2034:26:145;;-1:-1:-1;;;;;2043:16:145;;;2034:26;;;3299:74:151;2034:8:145;;;;3272:18:151;;2034:26:145;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2070:55:145;;-1:-1:-1;;;2070:55:145;;-1:-1:-1;;;2070:55:145;;;9354:98:151;2070:15:145;;-1:-1:-1;2070:15:145;;-1:-1:-1;9327:18:151;;2070:55:145;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2135:14:145;;2163:4;;2135:47;;-1:-1:-1;;;2135:47:145;;-1:-1:-1;;;;;2163:4:145;;;2135:47;;;7988:74:151;2169:12:145;8098:13:151;;8078:18;;;8071:41;8154:17;8148:24;8128:18;;;8121:52;2135:14:145;;;;;;-1:-1:-1;2135:27:145;;-1:-1:-1;7961:18:151;;2135:47:145;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3360:151:26;3409:42;3485:19;3463:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3463:41:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3360:151;:::o;4225:581:145:-;4363:11;;4354:21;;-1:-1:-1;;;4354:21:145;;-1:-1:-1;;;;;4363:11:145;;;4354:21;;;3299:74:151;4306:2:145;;4341;;4354:8;;;;3272:18:151;;4354:21:145;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;4385:14:145;;4412:8;;4433:11;;4385:60;;-1:-1:-1;;;4385:60:145;;-1:-1:-1;;;;;4412:8:145;;;4385:60;;;6545:34:151;6595:18;;;6588:34;;;4433:11:145;;;6638:18:151;;;6631:43;4385:14:145;;;;;;-1:-1:-1;4385:26:145;;-1:-1:-1;6457:18:151;;4385:60:145;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;4465:11:145;;4456:21;;-1:-1:-1;;;4456:21:145;;-1:-1:-1;;;;;4465:11:145;;;4456:21;;;3299:74:151;4456:8:145;;-1:-1:-1;4456:8:145;;-1:-1:-1;3272:18:151;;4456:21:145;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;4487:14:145;;4518:8;;4487:54;;-1:-1:-1;;;4487:54:145;;-1:-1:-1;;;;;4518:8:145;;;4487:54;;;10079:74:151;10169:18;;;10162:34;;;4487:14:145;;;;;;-1:-1:-1;4487:30:145;;-1:-1:-1;10052:18:151;;4487:54:145;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;4626:14:145;;4652:8;;4626:35;;-1:-1:-1;;;4626:35:145;;-1:-1:-1;;;;;4652:8:145;;;4626:35;;;3299:74:151;4553:23:145;;-1:-1:-1;4553:23:145;;-1:-1:-1;4553:23:145;;4626:14;;;;;;;:25;;3272:18:151;;4626:35:145;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4552:109;;;;;;4671:39;4680:15;4697:12;4671:8;:39::i;:::-;4720:29;4729:12;4743:5;4720:8;:29::i;:::-;4787:11;;4759:40;;4768:17;;-1:-1:-1;;;;;4787:11:145;4759:8;:40::i;3221:133:26:-;3267:33;3331:16;3312:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3312:35:26;;;;;;;;;;;;;;;;;;;;;;3221:133;:::o;2922:141::-;2970:35;3038:18;3017:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3017:39:26;;;;;;;;;;;;;;;;;;;;;;2922:141;:::o;2738:178::-;2794:48;2883:26;2854:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2854:55:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2854:55:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2195:199:145;2264:16;;2255:26;;-1:-1:-1;;;2255:26:145;;-1:-1:-1;;;;;2264:16:145;;;2255:26;;;3299:74:151;2255:8:145;;;;3272:18:151;;2255:26:145;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2291:55:145;;-1:-1:-1;;;2291:55:145;;-1:-1:-1;;;2291:55:145;;;9354:98:151;2291:15:145;;-1:-1:-1;2291:15:145;;-1:-1:-1;9327:18:151;;2291:55:145;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2356:14:145;;2382:4;;2356:31;;-1:-1:-1;;;2356:31:145;;-1:-1:-1;;;;;2382:4:145;;;2356:31;;;3299:74:151;2356:14:145;;;;;;-1:-1:-1;2356:25:145;;-1:-1:-1;3272:18:151;;2356:31:145;3153:226:151;2592:140:26;2640:34;2707:18;2686:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4812:679:145;4903:11;;4894:21;;-1:-1:-1;;;4894:21:145;;-1:-1:-1;;;;;4903:11:145;;;4894:21;;;3299:74:151;4881:2:145;;4894:8;;;;3272:18:151;;4894:21:145;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;4925:14:145;;4952:8;;4973:11;;4925:60;;-1:-1:-1;;;4925:60:145;;-1:-1:-1;;;;;4952:8:145;;;4925:60;;;6545:34:151;6595:18;;;6588:34;;;4973:11:145;;;6638:18:151;;;6631:43;4925:14:145;;;;;;-1:-1:-1;4925:26:145;;-1:-1:-1;6457:18:151;;4925:60:145;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5009:11:145;;4995:26;;;;;-1:-1:-1;;;;;5009:11:145;;;4995:26;;;3299:74:151;4995:13:145;;-1:-1:-1;4995:13:145;;-1:-1:-1;3272:18:151;;4995:26:145;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5031:14:145;;5063:8;;5031:41;;;;;-1:-1:-1;;;;;5063:8:145;;;5031:41;;;3299:74:151;5031:14:145;;;;;;-1:-1:-1;5031:31:145;;-1:-1:-1;3272:18:151;;5031:41:145;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;317:28:20;309:37;;-1:-1:-1;;;;;5082:12:145;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5116:11:145;;5107:21;;-1:-1:-1;;;5107:21:145;;-1:-1:-1;;;;;5116:11:145;;;5107:21;;;3299:74:151;5107:8:145;;-1:-1:-1;5107:8:145;;-1:-1:-1;3272:18:151;;5107:21:145;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5138:14:145;;5166:4;;5138:47;;-1:-1:-1;;;5138:47:145;;-1:-1:-1;;;;;5166:4:145;;;5138:47;;;7988:74:151;5172:12:145;8098:13:151;;8078:18;;;8071:41;8154:17;8148:24;8128:18;;;8121:52;5138:14:145;;;;;;-1:-1:-1;5138:27:145;;-1:-1:-1;7961:18:151;;5138:47:145;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5214:14:145;;5246:4;;5252:8;;5214:47;;-1:-1:-1;;;5214:47:145;;-1:-1:-1;;;;;5246:4:145;;;5214:47;;;10442:34:151;5252:8:145;;;10492:18:151;;;10485:43;5196:15:145;;-1:-1:-1;5214:14:145;;;;;;-1:-1:-1;5214:31:145;;10354:18:151;;5214:47:145;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5196:65;;5271:22;5282:10;5271;:22::i;:::-;5313:11;;5304:21;;-1:-1:-1;;;5304:21:145;;-1:-1:-1;;;;;5313:11:145;;;5304:21;;;3299:74:151;5304:8:145;;;;3272:18:151;;5304:21:145;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5335:14:145;;5366:8;;5335:45;;-1:-1:-1;;;5335:45:145;;-1:-1:-1;;;;;5366:8:145;;;5335:45;;;10079:74:151;5376:3:145;10169:18:151;;;10162:34;5335:14:145;;;;;;-1:-1:-1;5335:30:145;;-1:-1:-1;10052:18:151;;5335:45:145;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5404:14:145;;5436:4;;5442:8;;5404:47;;-1:-1:-1;;;5404:47:145;;-1:-1:-1;;;;;5436:4:145;;;5404:47;;;10442:34:151;5442:8:145;;;10492:18:151;;;10485:43;5404:14:145;;;;;;-1:-1:-1;5404:31:145;;-1:-1:-1;10354:18:151;;5404:47:145;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5391:60;;5461:23;5473:10;5461:11;:23::i;:::-;4851:640;;4812:679::o;3069:146:26:-;3117:40;3190:18;3169:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3169:39:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3169:39:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2653:430:145;2739:11;;2730:21;;-1:-1:-1;;;2730:21:145;;-1:-1:-1;;;;;2739:11:145;;;2730:21;;;3299:74:151;2717:2:145;;2730:8;;;;3272:18:151;;2730:21:145;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2761:14:145;;2788:8;;2809:11;;2761:60;;-1:-1:-1;;;2761:60:145;;-1:-1:-1;;;;;2788:8:145;;;2761:60;;;6545:34:151;6595:18;;;6588:34;;;2809:11:145;;;6638:18:151;;;6631:43;2761:14:145;;;;;;-1:-1:-1;2761:26:145;;-1:-1:-1;6457:18:151;;2761:60:145;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2906:14:145;;2932:8;;2906:35;;-1:-1:-1;;;2906:35:145;;-1:-1:-1;;;;;2932:8:145;;;2906:35;;;3299:74:151;2833:23:145;;-1:-1:-1;2833:23:145;;-1:-1:-1;2833:23:145;;2906:14;;;;;;;:25;;3272:18:151;;2906:35:145;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2832:109;;;;;;2951:36;2960:15;2977:9;2951:8;:36::i;2157:141:26:-;2206:34;2273:18;2252:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1243:204:22;1302:7;;1282:4;;1302:7;;1298:143;;;-1:-1:-1;1332:7:22;;;;;1243:204::o;1298:143::-;1377:39;;;;;:7;:39;;;10079:74:151;;;1398:17:22;10169:18:151;;;10162:34;1428:1:22;;1377:7;;10052:18:151;;1377:39:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:53;;1370:60;;1243:204;:::o;1352:362:145:-;1404:11;;1395:21;;-1:-1:-1;;;1395:21:145;;-1:-1:-1;;;;;1404:11:145;;;1395:21;;;3299:74:151;1395:8:145;;;;3272:18:151;;1395:21:145;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1426:14:145;;1454:4;;1426:47;;-1:-1:-1;;;1426:47:145;;-1:-1:-1;;;;;1454:4:145;;;1426:47;;;7988:74:151;1460:12:145;8098:13:151;;8078:18;;;8071:41;8154:17;8148:24;8128:18;;;8121:52;1426:14:145;;;;;;-1:-1:-1;1426:27:145;;-1:-1:-1;7961:18:151;;1426:47:145;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1493:11:145;;1484:21;;-1:-1:-1;;;1484:21:145;;-1:-1:-1;;;;;1493:11:145;;;1484:21;;;3299:74:151;1484:8:145;;-1:-1:-1;1484:8:145;;-1:-1:-1;3272:18:151;;1484:21:145;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1515:14:145;;1541:4;;1515:31;;-1:-1:-1;;;1515:31:145;;-1:-1:-1;;;;;1541:4:145;;;1515:31;;;3299:74:151;1515:14:145;;;;;;-1:-1:-1;1515:25:145;;-1:-1:-1;3272:18:151;;1515:31:145;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1590:14:145;;1618:4;;1590:33;;-1:-1:-1;;;1590:33:145;;-1:-1:-1;;;;;1618:4:145;;;1590:33;;;3299:74:151;1557:30:145;;-1:-1:-1;1590:14:145;;;;;;-1:-1:-1;1590:27:145;;3272:18:151;;1590:33:145;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1557:66;;1633:29;1642:10;:16;;;1660:1;1633:8;:29::i;:::-;1672:35;1681:10;:22;;;1705:1;1672:8;:35::i;2304:142:26:-;2353:35;2421:18;2400:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2400:39:26;;;;;;;;;;;;;;;;;;;;;;2304:142;:::o;3639:580:145:-;3776:11;;3767:21;;-1:-1:-1;;;3767:21:145;;-1:-1:-1;;;;;3776:11:145;;;3767:21;;;3299:74:151;3719:2:145;;3754;;3767:8;;;;3272:18:151;;3767:21:145;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3798:14:145;;3825:8;;3846:11;;3798:60;;-1:-1:-1;;;3798:60:145;;-1:-1:-1;;;;;3825:8:145;;;3798:60;;;6545:34:151;6595:18;;;6588:34;;;3846:11:145;;;6638:18:151;;;6631:43;3798:14:145;;;;;;-1:-1:-1;3798:26:145;;-1:-1:-1;6457:18:151;;3798:60:145;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3878:11:145;;3869:21;;-1:-1:-1;;;3869:21:145;;-1:-1:-1;;;;;3878:11:145;;;3869:21;;;3299:74:151;3869:8:145;;-1:-1:-1;3869:8:145;;-1:-1:-1;3272:18:151;;3869:21:145;3153:226:151;1720:246:145;1821:14;;:22;;;;;;;;1799:1;;1812:8;;;;1821:14;;;;-1:-1:-1;;;;;1821:14:145;;:20;;:22;;;;;;;;;;;;;;;:14;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1812:32;;;;;;;;;;-1:-1:-1;;;;;3317:55:151;;;1812:32:145;;;3299:74:151;3272:18;;1812:32:145;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1854:14:145;;:44;;-1:-1:-1;;;1854:44:145;;-1:-1:-1;;;;;3317:55:151;;;1854:44:145;;;3299:74:151;1854:14:145;;;;;;;;-1:-1:-1;1854:32:145;;-1:-1:-1;3272:18:151;;1854:44:145;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1909:50;1918:14;;;;;;;;;-1:-1:-1;;;;;1918:14:145;-1:-1:-1;;;;;1918:26:145;;:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1948:10;1909:8;:50::i;2270:110:22:-;2349:24;;;;;;;;188:25:151;;;229:18;;;222:34;;;2349:11:22;;;;161:18:151;;2349:24:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2270:110;;:::o;2026:104::-;2099:24;;;;;11949:14:151;;11942:22;2099:24:22;;;11924:41:151;12008:14;;12001:22;11981:18;;;11974:50;2099:11:22;;;;11897:18:151;;2099:24:22;11762:268:151;3454:110:22;3533:24;;;;;-1:-1:-1;;;;;10460:15:151;;;3533:24:22;;;10442:34:151;10512:15;;10492:18;;;10485:43;3533:11:22;;;;10354:18:151;;3533:24:22;10207:327:151;1594:89:22;1657:19;;;;;6255:14:151;;6248:22;1657:19:22;;;6230:41:151;1657:13:22;;;;6203:18:151;;1657:19:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1808:91;1872:20;;;;;6255:14:151;;6248:22;1872:20:22;;;6230:41:151;1872:14:22;;;;6203:18:151;;1872:20:22;6090:187:151;-1:-1:-1;;;;;;;;:::o;:::-;;;;;;;;:::o;267:681:151:-;438:2;490:21;;;560:13;;463:18;;;582:22;;;409:4;;438:2;661:15;;;;635:2;620:18;;;409:4;704:218;718:6;715:1;712:13;704:218;;;783:13;;-1:-1:-1;;;;;779:62:151;767:75;;897:15;;;;862:12;;;;740:1;733:9;704:218;;;-1:-1:-1;939:3:151;;267:681;-1:-1:-1;;;;;;267:681:151:o;953:423::-;995:3;1033:5;1027:12;1060:6;1055:3;1048:19;1085:1;1095:162;1109:6;1106:1;1103:13;1095:162;;;1171:4;1227:13;;;1223:22;;1217:29;1199:11;;;1195:20;;1188:59;1124:12;1095:162;;;1099:3;1302:1;1295:4;1286:6;1281:3;1277:16;1273:27;1266:38;1365:4;1358:2;1354:7;1349:2;1341:6;1337:15;1333:29;1328:3;1324:39;1320:50;1313:57;;;953:423;;;;:::o;1381:1767::-;1616:2;1668:21;;;1738:13;;1641:18;;;1760:22;;;1587:4;;1616:2;1801;;1819:18;;;;1856:1;1899:15;;;1884:31;;1880:40;;1943:15;;;1587:4;;2007:1112;2023:6;2018:3;2015:15;2007:1112;;;-1:-1:-1;;2092:22:151;;;2088:36;2076:49;;2148:13;;2235:9;;-1:-1:-1;;;;;2231:58:151;2216:74;;2329:11;;2323:18;2361:15;;;2354:27;;;2442:19;;2188:15;;;2474:24;;;2655:21;;;;2521:2;2603:17;;;2591:30;;2587:39;;;2545:15;;;;2700:1;2714:296;2730:8;2725:3;2722:17;2714:296;;;2836:2;2832:7;2823:6;2815;2811:19;2807:33;2800:5;2793:48;2868:42;2903:6;2892:8;2886:15;2868:42;:::i;:::-;2939:17;;;;2858:52;-1:-1:-1;2982:14:151;;;;2758:1;2749:11;2714:296;;;-1:-1:-1;;;3097:12:151;;;;3033:6;-1:-1:-1;;3062:15:151;;;;2049:1;2040:11;2007:1112;;;-1:-1:-1;3136:6:151;;1381:1767;-1:-1:-1;;;;;;;;;;1381:1767:151:o;3639:1638::-;3843:4;3872:2;3912;3901:9;3897:18;3942:2;3931:9;3924:21;3965:6;4000;3994:13;4031:6;4023;4016:22;4057:2;4047:12;;4090:2;4079:9;4075:18;4068:25;;4152:2;4142:6;4139:1;4135:14;4124:9;4120:30;4116:39;4190:2;4182:6;4178:15;4211:1;4232;4242:1006;4258:6;4253:3;4250:15;4242:1006;;;4327:22;;;-1:-1:-1;;4323:36:151;4311:49;;4383:13;;4470:9;;-1:-1:-1;;;;;4466:58:151;4451:74;;4564:11;;4558:18;4596:15;;;4589:27;;;4677:19;;4423:15;;;4709:24;;;4799:21;;;;4844:1;;4767:2;4755:15;;;4858:282;4874:8;4869:3;4866:17;4858:282;;;4955:15;;4972:66;4951:88;4937:103;;5109:17;;;;4902:1;4893:11;;;;;5066:14;;;;4858:282;;;-1:-1:-1;5226:12:151;;;;5163:5;-1:-1:-1;;;5191:15:151;;;;4284:1;4275:11;4242:1006;;;-1:-1:-1;5265:6:151;;3639:1638;-1:-1:-1;;;;;;;;;3639:1638:151:o;5282:803::-;5444:4;5473:2;5513;5502:9;5498:18;5543:2;5532:9;5525:21;5566:6;5601;5595:13;5632:6;5624;5617:22;5670:2;5659:9;5655:18;5648:25;;5732:2;5722:6;5719:1;5715:14;5704:9;5700:30;5696:39;5682:53;;5770:2;5762:6;5758:15;5791:1;5801:255;5815:6;5812:1;5809:13;5801:255;;;5908:2;5904:7;5892:9;5884:6;5880:22;5876:36;5871:3;5864:49;5936:40;5969:6;5960;5954:13;5936:40;:::i;:::-;5926:50;-1:-1:-1;6034:12:151;;;;5999:15;;;;5837:1;5830:9;5801:255;;;-1:-1:-1;6073:6:151;;5282:803;-1:-1:-1;;;;;;;5282:803:151:o;6685:164::-;6761:13;;6810;;6803:21;6793:32;;6783:60;;6839:1;6836;6829:12;6783:60;6685:164;;;:::o;6854:200::-;6933:13;;-1:-1:-1;;;;;6975:54:151;;6965:65;;6955:93;;7044:1;7041;7034:12;7059:348;7144:6;7152;7160;7213:2;7201:9;7192:7;7188:23;7184:32;7181:52;;;7229:1;7226;7219:12;7181:52;7258:9;7252:16;7242:26;;7287:46;7329:2;7318:9;7314:18;7287:46;:::i;:::-;7277:56;;7352:49;7397:2;7386:9;7382:18;7352:49;:::i;:::-;7342:59;;7059:348;;;;;:::o;7412:338::-;-1:-1:-1;;;;;7591:6:151;7587:55;7576:9;7569:74;7679:2;7674;7663:9;7659:18;7652:30;7550:4;7699:45;7740:2;7729:9;7725:18;7717:6;7699:45;:::i;:::-;7691:53;7412:338;-1:-1:-1;;;;7412:338:151:o;8184:661::-;8285:6;8338:2;8326:9;8317:7;8313:23;8309:32;8306:52;;;8354:1;8351;8344:12;8306:52;8387:2;8381:9;8429:2;8421:6;8417:15;8498:6;8486:10;8483:22;8462:18;8450:10;8447:34;8444:62;8441:242;;;-1:-1:-1;;;8536:1:151;8529:88;8640:4;8637:1;8630:15;8668:4;8665:1;8658:15;8441:242;8699:2;8692:22;8738:16;;8723:32;;8809:2;8794:18;;;8788:25;8771:15;;;8764:50;;;;-1:-1:-1;8730:6:151;8184:661;-1:-1:-1;8184:661:151:o;9463:437::-;9542:1;9538:12;;;;9585;;;9606:61;;9660:4;9652:6;9648:17;9638:27;;9606:61;9713:2;9705:6;9702:14;9682:18;9679:38;9676:218;;-1:-1:-1;;;9747:1:151;9740:88;9851:4;9848:1;9841:15;9879:4;9876:1;9869:15;9676:218;;9463:437;;;:::o;10539:202::-;10606:6;10659:2;10647:9;10638:7;10634:23;10630:32;10627:52;;;10675:1;10672;10665:12;10627:52;10698:37;10725:9;10698:37;:::i;:::-;10688:47;10539:202;-1:-1:-1;;;10539:202:151:o;11360:184::-;11430:6;11483:2;11471:9;11462:7;11458:23;11454:32;11451:52;;;11499:1;11496;11489:12;11451:52;-1:-1:-1;11522:16:151;;11360:184;-1:-1:-1;11360:184:151:o;11549:208::-;11619:6;11672:2;11660:9;11651:7;11647:23;11643:32;11640:52;;;11688:1;11685;11678:12;11640:52;11711:40;11741:9;11711:40;:::i", - "linkReferences": {} - }, - "methodIdentifiers": { - "IS_TEST()": "fa7626d4", - "councilSafe()": "6c53db9a", - "excludeArtifacts()": "b5508aa9", - "excludeContracts()": "e20c9f71", - "excludeSenders()": "1ed7831c", - "failed()": "ba414fa6", - "listManager()": "8df8b2fe", - "passportData()": "073a2d8c", - "passportScorer()": "4905e831", - "setUp()": "0a9254e4", - "strategy()": "a8c62e76", - "targetArtifactSelectors()": "66d9a9a0", - "targetArtifacts()": "85226c81", - "targetContracts()": "3f7286f4", - "targetInterfaces()": "2ade3880", - "targetSelectors()": "916a17c6", - "targetSenders()": "3e5e3c23", - "testAddStrategy()": "9693f128", - "testAddUserScore()": "0c2759da", - "testCanExecuteAction()": "8caa5c44", - "testChangeListManager()": "ebe69a5f", - "testModifyThresholdByAuthorized()": "e68393b4", - "testModifyThresholdByCouncilSafe()": "3668aa29", - "testOnlyAuthorizedCanAddUserScore()": "25821153", - "testOnlyAuthorizedCanRemoveUser()": "82fad478", - "testOnlyOwnerCanChangeListManager()": "24e40b97", - "testRemoveStrategy()": "0778c72c", - "testRemoveUser()": "d4dadecb", - "unauthorizedUser()": "3ea7771b", - "user()": "4f8632ba" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"log_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"val\",\"type\":\"uint256[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256[]\",\"name\":\"val\",\"type\":\"int256[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"val\",\"type\":\"address[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"log_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"log_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"name\":\"log_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"val\",\"type\":\"address\"}],\"name\":\"log_named_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"val\",\"type\":\"uint256[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256[]\",\"name\":\"val\",\"type\":\"int256[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"val\",\"type\":\"address[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"val\",\"type\":\"bytes\"}],\"name\":\"log_named_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"val\",\"type\":\"bytes32\"}],\"name\":\"log_named_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"}],\"name\":\"log_named_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"val\",\"type\":\"string\"}],\"name\":\"log_named_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"}],\"name\":\"log_named_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"log_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"logs\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"IS_TEST\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"councilSafe\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeArtifacts\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"excludedArtifacts_\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeContracts\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"excludedContracts_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeSenders\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"excludedSenders_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"failed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"listManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"passportData\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"score\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"lastUpdated\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"passportScorer\",\"outputs\":[{\"internalType\":\"contract PassportScorer\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"setUp\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"strategy\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetArtifactSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzSelector[]\",\"name\":\"targetedArtifactSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetArtifacts\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"targetedArtifacts_\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetContracts\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"targetedContracts_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetInterfaces\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"string[]\",\"name\":\"artifacts\",\"type\":\"string[]\"}],\"internalType\":\"struct StdInvariant.FuzzInterface[]\",\"name\":\"targetedInterfaces_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzSelector[]\",\"name\":\"targetedSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetSenders\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"targetedSenders_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testAddStrategy\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testAddUserScore\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testCanExecuteAction\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testChangeListManager\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testModifyThresholdByAuthorized\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testModifyThresholdByCouncilSafe\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testOnlyAuthorizedCanAddUserScore\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testOnlyAuthorizedCanRemoveUser\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testOnlyOwnerCanChangeListManager\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testRemoveStrategy\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testRemoveUser\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"unauthorizedUser\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"user\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"pkg/contracts/test/PassportScorerTest.t.sol\":\"PassportScorerTest\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1000},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-contracts/=lib/safe-contracts/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"]},\"sources\":{\"lib/forge-std/src/Base.sol\":{\"keccak256\":\"0x4ff1a785311017d1eedb1b4737956fa383067ad34eb439abfec1d989754dde1c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f553622969b9fdb930246704a4c10dfaee6b1a4468c142fa7eb9dc292a438224\",\"dweb:/ipfs/QmcxqHnqdQsMVtgsfH9VNLmZ3g7GhgNagfq7yvNCDcCHFK\"]},\"lib/forge-std/src/StdAssertions.sol\":{\"keccak256\":\"0xf513292ab066e6017db48ca749c1e63a44dfc5cba0326fc65c718f96e029d361\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://02d715ae2898f1fabd08133f80e6a7a3b87a2796ca5d23d1cb3fed9f4367f34c\",\"dweb:/ipfs/QmfESqa4j3PQAvvdfrnDQ1xUH1TnVCfvZYHsAEDK8z4X4k\"]},\"lib/forge-std/src/StdChains.sol\":{\"keccak256\":\"0x9cc29c28f49d0b7f7b2f1aa32d8273f8a087bf62eb3fb22d893df824052c25ef\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://42dcb36cb10b878a0d5b20ce3a4a3ba4f51f44d7731a66ac1133c699bc80b31b\",\"dweb:/ipfs/QmY6q7SaHQMLBb3rS6xZdArPaXoskWeqF6oJwUeZ3gKLZj\"]},\"lib/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0xb72f3519e0bf7d31df5d68557525f4fc55d861c3fb3b0f7793144ef7c94cbeb7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f3456d0f78e6f61203fa7871ba2df0d35925f10db3baee14be623ce2a35b84e2\",\"dweb:/ipfs/QmWE6QQSBvJifHMraisBTrf1x4WCwrDoTPLX8UKajTiApc\"]},\"lib/forge-std/src/StdError.sol\":{\"keccak256\":\"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6\",\"dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj\"]},\"lib/forge-std/src/StdInvariant.sol\":{\"keccak256\":\"0x67299bfacd77fddfa2a67b8e2b901e0e333618a4975fb94850b07475e51f6de6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1b61121d310f4053ce344b345b4a9ccf43b059daf9097ec2647f594beaca896d\",\"dweb:/ipfs/QmZUCoTtXBM9zfAZVbj2dFPPnKaV1CSZzXE7zictyg3Gfz\"]},\"lib/forge-std/src/StdJson.sol\":{\"keccak256\":\"0x62bed173cb126f6d5006706cf249bac8a2d51bfa18f773f314784ff18adc622d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5acc33dddbf2492e37dc32e89cd56ce917272d303a6874805f3a5768a6bfbf54\",\"dweb:/ipfs/QmTsgFhcpUf16gAVazUXU3WspgX8nHke2hzVCvoqS25WEp\"]},\"lib/forge-std/src/StdMath.sol\":{\"keccak256\":\"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92\",\"dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0x651d84d948832f0ef45686417aa68ffb871378fa788a4123dbf37844903c66f3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ff20f5ac9de3dc3ba86b1bf1f2723174e82ce3499ad67cb0ccfa7d28baeee678\",\"dweb:/ipfs/QmRZkUFKz7AmF7yk6o317sk822HHhGVPXZQgX8G4LfYfft\"]},\"lib/forge-std/src/StdStyle.sol\":{\"keccak256\":\"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8\",\"dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK\"]},\"lib/forge-std/src/StdToml.sol\":{\"keccak256\":\"0xc8a57915ace96f5b6a85b57e57690fc038cad9034a3dc368c11828a3707c61ab\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fa880a1a6e5d94005dcf4811b4c0df8d9c06407017ae111bd351483e2b76a72d\",\"dweb:/ipfs/QmcxkEE58gE1vDcZofTr8QpvdjXjgR72yYg7o4vTPSLCsy\"]},\"lib/forge-std/src/StdUtils.sol\":{\"keccak256\":\"0x502b18a4becda6ecd91fa8b419d8034946bfa80e6cc7f6497f51f8565bfadae0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bf499ee483a1dfd02023d4ce78ed4029a49794ccd5b849aaab912faea0d2ba61\",\"dweb:/ipfs/QmP6hwNZW7sYbQK9fBzuZWxfLm6Swx2nKzvZ54qWNqQkzX\"]},\"lib/forge-std/src/Test.sol\":{\"keccak256\":\"0x3b4bb409a156dee9ce261458117fe9f81080ca844a8a26c07c857c46d155effe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5792c69fe24bdc063a14e08fe68275007fdb1e5e7e343840a77938cb7e95a64e\",\"dweb:/ipfs/QmcAMhaurUwzhytJFYix4vRNeZeV8g27b8LnV3t7dvYtiK\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x51fec240abc6dd23e0ee6de7c65106379aef732cad6c4ae5df6b55db886e7456\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://a47d9c0a9876e7f9e411843b994a741d4ac1a87d8459ffc3c56359de691ddc1a\",\"dweb:/ipfs/QmQiFN9b3Y2azrD1RBfAKEuAG3YeJkMzA2DGzgEE9kMeEK\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]},\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0x954646445d1014c3cd85c7918f5e7adeeca5ee44b68c00bafa237e597a4e35ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://516fa3be52da4763147175bfba4be0aa011fadbb0c1afb01f97265bd4cee7973\",\"dweb:/ipfs/QmdixAyMJefx7qePChgdxcBH5MxhmN7vsqPuPLx3CgrVmF\"]},\"lib/forge-std/src/interfaces/IERC165.sol\":{\"keccak256\":\"0x414b2861b1acbf816ccb7346d3f16cf6c1e002e9e5e40d2f1f26fa5ddc2ea600\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://698352fb240868ea8f1d1fe389993035eeab930f10d06934f80ccfb2b6ccbfbc\",\"dweb:/ipfs/QmT6WLHAgXxFhh12kWym895oTzXid1326iZiwT3pyfggoT\"]},\"lib/forge-std/src/interfaces/IERC20.sol\":{\"keccak256\":\"0x4cab887298790f908c27de107e4e2907ca5413aee482ef776f8d2f353c5ef947\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb715e0c4a2bdbe432bb624501506041f06e878e0b72675aebba30ad2c2b72e7\",\"dweb:/ipfs/QmWhhLSvkxS2NrukJJHqFY8gDVE5r9rD4PfHvR24pwdKv9\"]},\"lib/forge-std/src/interfaces/IERC721.sol\":{\"keccak256\":\"0xf069262a264fdb69f8f37a10d2df7374649e9ba73f8414c9c8a3b51184625f15\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://924a41ca82a68ffbd503a5faf2f76d13e9938f10501a71094716f12bb64b4b7f\",\"dweb:/ipfs/QmdWnqfKc5ZGhmxNPTde4zrFchnv9Yk9MpCMb2rdhXE5gm\"]},\"lib/forge-std/src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0\",\"dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2\"]},\"lib/forge-std/src/mocks/MockERC20.sol\":{\"keccak256\":\"0xadbdfc6639edec00ba94bb1133a0fd8de31ccafe45c2ef5df9b3ca61b60b559b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc766f01bccf669abac8cc7b2096cc1352a66471ca3772ae61b1801dedc4ed4f\",\"dweb:/ipfs/QmNigaPj1LYkP7Z5xr4ijkUxr2K66fDGeoifG3WoM9ruyw\"]},\"lib/forge-std/src/mocks/MockERC721.sol\":{\"keccak256\":\"0x3293dcbb7acd28df553c954e4e39e288bf10aab7ecda8d50ef21b4f4a91a28d9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9eb374daf6df34f4392f8926f1fddbce9f22c423066aeaefdfbe77395f77967b\",\"dweb:/ipfs/QmWR81zBJRX2uyRjveGzikYPj6ZwKppWsU49YEQXTLWUsN\"]},\"lib/forge-std/src/safeconsole.sol\":{\"keccak256\":\"0xbaf41fdc6c54297e7cd8250e48b0f20eaac918e342a1028cef3f9a52ac086381\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a500ad81dea226f9910e6b50f99a9ff930105e393a692cbfb2185e4cdb4424ae\",\"dweb:/ipfs/QmVbUQpXNMmMWRiy4FvBNczzq46BMGfUoBikvSHNiCxVTq\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol\":{\"keccak256\":\"0x359a1ab89b46b9aba7bcad3fb651924baf4893d15153049b9976b0fc9be1358e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e89863421b4014b96a4b62be76eb3b9f0a8afe9684664a6f389124c0964bfe5c\",\"dweb:/ipfs/Qmbk7xr1irpDuU1WdxXgxELBXxs61rHhCgod7heVcvFx16\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e\",\"dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b\",\"dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95\",\"dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol\":{\"keccak256\":\"0x3cbef5ebc24b415252e2f8c0c9254555d30d9f085603b4b80d9b5ed20ab87e90\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e8fa670c3bdce78e642cc6ae11c4cb38b133499cdce5e1990a9979d424703263\",\"dweb:/ipfs/QmVxeCUk4jL2pXQyhsoNJwyU874wRufS2WvGe8TgPKPqhE\"]},\"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol\":{\"keccak256\":\"0x1d4afe6cb24200cc4545eed814ecf5847277dfe5d613a1707aad5fceecebcfff\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://383fb7b8181016ac5ccf07bc9cdb7c1b5045ea36e2cc4df52bcbf20396fc7688\",\"dweb:/ipfs/QmYJ7Cg4WmE3rR8KGQxjUCXFfTH6TcwZ2Z1f6tPrq7jHFr\"]},\"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol\":{\"keccak256\":\"0xa2b22da3032e50b55f95ec1d13336102d675f341167aa76db571ef7f8bb7975d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96b6d77a20bebd4eb06b801d3d020c7e82be13bd535cb0d0a6b7181c51dab5d5\",\"dweb:/ipfs/QmPUR9Cv9jNFdQX6PtBfaBW1ZCnKwiu65R2VD5kbdanDyn\"]},\"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Upgrade.sol\":{\"keccak256\":\"0x3b21ae06bf5957f73fa16754b0669c77b7abd8ba6c072d35c3281d446fdb86c2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2db8e18505e86e02526847005d7287a33e397ed7fb9eaba3fd4a4a197add16e2\",\"dweb:/ipfs/QmW9BSuKTzHWHBNSHF4L8XfVuU1uJrP2vLg84YtBd8mL82\"]},\"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol\":{\"keccak256\":\"0xc130fe33f1b2132158531a87734153293f6d07bc263ff4ac90e85da9c82c0e27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8831721b6f4cc26534d190f9f1631c3f59c9ff38efdd911f85e0882b8e360472\",\"dweb:/ipfs/QmQZnLErZNStirSQ13ZNWQgvEYUtGE5tXYwn4QUPaVUfPN\"]},\"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0xd50a3421ac379ccb1be435fa646d66a65c986b4924f0849839f08692f39dde61\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ada1e030c0231db8d143b44ce92b4d1158eedb087880cad6d8cc7bd7ebe7b354\",\"dweb:/ipfs/QmWZ2NHZweRpz1U9GF6R1h65ri76dnX7fNxLBeM2t5N5Ce\"]},\"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol\":{\"keccak256\":\"0xc6619957bcc6641fe8984bfaf9ff11a9e4b97d8149c0495f608f9a2416d7c5cf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://543be67f7fa43b1b932637c1c7f12035f0f4b0f7ee2bd3c33841186f79c165c1\",\"dweb:/ipfs/QmSBPM2UVKbmJqWfD9i6hSiqbaE8TV4TSqfuiivziRRLKM\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]},\"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xf09e68aa0dc6722a25bc46490e8d48ed864466d17313b8a0b254c36b54e49899\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e26daf81e2252dc1fe1ce0e4b55c2eb7c6d1ee84ae6558d1a9554432ea1d32da\",\"dweb:/ipfs/Qmb1UANWiWq5pCKbmHSu772hd4nt374dVaghGmwSVNuk8Q\"]},\"lib/openzeppelin-contracts/contracts/utils/Strings.sol\":{\"keccak256\":\"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f\",\"dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n\"]},\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]},\"lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/src/strings.sol\":{\"keccak256\":\"0x42cad11a7033f2fe05dd68611d2304407a620ac985b91edf29d5868cfe196223\",\"urls\":[\"bzz-raw://3cbc2333234e1f00eab5e57c4bcaf5115661e5e066a17c70af587a0a96f24669\",\"dweb:/ipfs/QmPHvStqcvZL46LW5N2ExTwAaqNhRCcmAX66aR6oE1WDar\"]},\"lib/openzeppelin-foundry-upgrades/src/Defender.sol\":{\"keccak256\":\"0x2114e4d70d53b36e8cec54ba11ff78d9f38a466ec3504c76c7f26101a7cff37f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://58f4d9bc58646e7631b263cdb8ef260e6818e9f716036d81d1c18218c9557a23\",\"dweb:/ipfs/QmS18L4R4gPtay9eQBcR28DnwmBkGSWsiCFwm2tXc3BkHL\"]},\"lib/openzeppelin-foundry-upgrades/src/LegacyUpgrades.sol\":{\"keccak256\":\"0x8436719f73c76efadaa16cd719d088f698ea3591595dfdf2c15fd66f3e203197\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ac8d0e55defe124adcc3845348602d6528b00b7dc5f7abf9e1b245d0cea9b55e\",\"dweb:/ipfs/QmaPBoG89Bd2btJZW5kjXx7zXo6KhAdeTuMq5xo431M8xq\"]},\"lib/openzeppelin-foundry-upgrades/src/Options.sol\":{\"keccak256\":\"0xa5414683d6b219b28e75ecaab3d00a305dfaf4d970389a88992275c8072ce8ac\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1dbfd566ba318f2b740159c28e4511c84c9d76fcc293ae17c9b1a87b3ea16c9\",\"dweb:/ipfs/QmcyxPoeBdzA9iHEgd76xKhaQ8HKfpV4owdSv6127MmveT\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Core.sol\":{\"keccak256\":\"0x37073df20d2b5fbb0a873e6b2dd76c23e23455d1c2d2ba57d2f0998201a4251d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://79d507647ea48d93371341684cf4199d55ed799db9d3489bc016f53990d2ff7c\",\"dweb:/ipfs/QmQWgXiYcPcwNcrkTHb72WtHd4xPcXfRUMfBrhkDHgr2ut\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/DefenderDeploy.sol\":{\"keccak256\":\"0x868ffdaf5d185fee103fc4581385392b47c209a5cfd2aec01f0307dbc0101d73\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://76e51bf69a4d0b5d1d9cfa7efa442bdcf9d713966563432ef8fdd00ec959a25e\",\"dweb:/ipfs/QmTHkdvMnqmEvus7zbmHhPkWk3fM9SW2Jq8gnyBLwVJtxG\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Utils.sol\":{\"keccak256\":\"0x4de002af810f6a5fe26a6381e0ead3331735bd0059434a22df75e17c177b5f87\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af32ff07f606e530a53030db141a75af144cfe065a6543939d412018c6159540\",\"dweb:/ipfs/QmbfTB92Zd8VQHW61g9dx1CvGgSL5SCoZDLrvJfnR7Ctio\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Versions.sol\":{\"keccak256\":\"0xf1a1441c18a296853509e9b1d18be794ed3de836caea49d6948b5e9ac566e8c6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6f3463514235bd875ecacf45f95cac64aa650dd38d05c15fe1f4203b6b5733bd\",\"dweb:/ipfs/Qmcbhmw9NPkG8MqiVsQ4qUupeQFCRgyBDKuoUwohwa8EP3\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IProxyAdmin.sol\":{\"keccak256\":\"0xf5e514595089f8959da130507086e7388602a71ce60575d141e7d892dfbddbfc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9b41366e2823ccc8cb42304496d761b3df80946d17384634a61afd7139495c91\",\"dweb:/ipfs/QmZE2nRMxax1NPj63ifemKdScGJzKNWi7BCGudjFLsUz1y\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableBeacon.sol\":{\"keccak256\":\"0xa8d7bffdd26eb763e459650c83f247b54af79800c2df52ad05878f238fc1c2f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ed47f1e53e5eb7d48fed60a414755641fca8fa0e713fd503b2597227da78a2f\",\"dweb:/ipfs/QmQr8A5wddHdhQNauFShXxRkPcuVVpVsYpq846WhmFC8Tv\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableProxy.sol\":{\"keccak256\":\"0x781b564b90bba0c0e8e12fb66b1c910f42d369db469f2e88592b4cff29de99a5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://45fcab02a43fde934445b88e905aba3f58a70b75dd6ee6eb86a3d593424aeb03\",\"dweb:/ipfs/QmXmhAgrctaYUDLoTRgUjwD4deoXu1E2QT1kftVGcVa56j\"]},\"pkg/contracts/src/ISybilScorer.sol\":{\"keccak256\":\"0x0e25fbb8497ac3c969d80c9032362d45e56c0a45dc9ba3dff6a8a704571f38ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0dff90ebae6e7131a5300fcaf525bc2ab0ae90fcd13f277d7b7b6939eeb8b7eb\",\"dweb:/ipfs/QmYGkYqpUVrBWoNY6f3CtwrrVQFWSvnJfpu68t95f6AkBY\"]},\"pkg/contracts/src/PassportScorer.sol\":{\"keccak256\":\"0x1244948644eb13bbdbf2b62e465427229a9e227e0c214c92eeaf6021401a6513\",\"license\":\"AGPL-3.0-or-later\",\"urls\":[\"bzz-raw://02dc7d6dcc3c0fe5bdd401f58c2b767030a31878734b133e09ea0aa282566d23\",\"dweb:/ipfs/QmVY9NQLx4kKyV7Cxbj9yA4soZ7DuNUEHHPoNfcdmauM3M\"]},\"pkg/contracts/test/PassportScorerTest.t.sol\":{\"keccak256\":\"0xbeb984e08da607b0d2eaa84cc83644c4d7bc68c6092719e0a38d2297a5e3d21b\",\"license\":\"AGPL-3.0-or-later\",\"urls\":[\"bzz-raw://3d7b92d67443c5e54a977185e727543b4429a96af3ac092b54f4eacb8421edac\",\"dweb:/ipfs/QmRksjaxxgPFGLnXKgtcAU5i23oCWPaV2r76YtN9WBoawN\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.8.19+commit.7dd6d404" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "string", - "name": "", - "type": "string", - "indexed": false - } - ], - "type": "event", - "name": "log", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address", - "indexed": false - } - ], - "type": "event", - "name": "log_address", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "uint256[]", - "name": "val", - "type": "uint256[]", - "indexed": false - } - ], - "type": "event", - "name": "log_array", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "int256[]", - "name": "val", - "type": "int256[]", - "indexed": false - } - ], - "type": "event", - "name": "log_array", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "val", - "type": "address[]", - "indexed": false - } - ], - "type": "event", - "name": "log_array", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes", - "indexed": false - } - ], - "type": "event", - "name": "log_bytes", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32", - "indexed": false - } - ], - "type": "event", - "name": "log_bytes32", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "int256", - "name": "", - "type": "int256", - "indexed": false - } - ], - "type": "event", - "name": "log_int", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "string", - "name": "key", - "type": "string", - "indexed": false - }, - { - "internalType": "address", - "name": "val", - "type": "address", - "indexed": false - } - ], - "type": "event", - "name": "log_named_address", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "string", - "name": "key", - "type": "string", - "indexed": false - }, - { - "internalType": "uint256[]", - "name": "val", - "type": "uint256[]", - "indexed": false - } - ], - "type": "event", - "name": "log_named_array", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "string", - "name": "key", - "type": "string", - "indexed": false - }, - { - "internalType": "int256[]", - "name": "val", - "type": "int256[]", - "indexed": false - } - ], - "type": "event", - "name": "log_named_array", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "string", - "name": "key", - "type": "string", - "indexed": false - }, - { - "internalType": "address[]", - "name": "val", - "type": "address[]", - "indexed": false - } - ], - "type": "event", - "name": "log_named_array", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "string", - "name": "key", - "type": "string", - "indexed": false - }, - { - "internalType": "bytes", - "name": "val", - "type": "bytes", - "indexed": false - } - ], - "type": "event", - "name": "log_named_bytes", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "string", - "name": "key", - "type": "string", - "indexed": false - }, - { - "internalType": "bytes32", - "name": "val", - "type": "bytes32", - "indexed": false - } - ], - "type": "event", - "name": "log_named_bytes32", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "string", - "name": "key", - "type": "string", - "indexed": false - }, - { - "internalType": "int256", - "name": "val", - "type": "int256", - "indexed": false - }, - { - "internalType": "uint256", - "name": "decimals", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "log_named_decimal_int", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "string", - "name": "key", - "type": "string", - "indexed": false - }, - { - "internalType": "uint256", - "name": "val", - "type": "uint256", - "indexed": false - }, - { - "internalType": "uint256", - "name": "decimals", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "log_named_decimal_uint", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "string", - "name": "key", - "type": "string", - "indexed": false - }, - { - "internalType": "int256", - "name": "val", - "type": "int256", - "indexed": false - } - ], - "type": "event", - "name": "log_named_int", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "string", - "name": "key", - "type": "string", - "indexed": false - }, - { - "internalType": "string", - "name": "val", - "type": "string", - "indexed": false - } - ], - "type": "event", - "name": "log_named_string", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "string", - "name": "key", - "type": "string", - "indexed": false - }, - { - "internalType": "uint256", - "name": "val", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "log_named_uint", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "string", - "name": "", - "type": "string", - "indexed": false - } - ], - "type": "event", - "name": "log_string", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "log_uint", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes", - "indexed": false - } - ], - "type": "event", - "name": "logs", - "anonymous": false - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "IS_TEST", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "councilSafe", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "excludeArtifacts", - "outputs": [ - { - "internalType": "string[]", - "name": "excludedArtifacts_", - "type": "string[]" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "excludeContracts", - "outputs": [ - { - "internalType": "address[]", - "name": "excludedContracts_", - "type": "address[]" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "excludeSenders", - "outputs": [ - { - "internalType": "address[]", - "name": "excludedSenders_", - "type": "address[]" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "failed", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "listManager", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "passportData", - "outputs": [ - { - "internalType": "uint256", - "name": "score", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "lastUpdated", - "type": "uint256" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "passportScorer", - "outputs": [ - { - "internalType": "contract PassportScorer", - "name": "", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "function", - "name": "setUp" - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "strategy", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "targetArtifactSelectors", - "outputs": [ - { - "internalType": "struct StdInvariant.FuzzSelector[]", - "name": "targetedArtifactSelectors_", - "type": "tuple[]", - "components": [ - { - "internalType": "address", - "name": "addr", - "type": "address" - }, - { - "internalType": "bytes4[]", - "name": "selectors", - "type": "bytes4[]" - } - ] - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "targetArtifacts", - "outputs": [ - { - "internalType": "string[]", - "name": "targetedArtifacts_", - "type": "string[]" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "targetContracts", - "outputs": [ - { - "internalType": "address[]", - "name": "targetedContracts_", - "type": "address[]" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "targetInterfaces", - "outputs": [ - { - "internalType": "struct StdInvariant.FuzzInterface[]", - "name": "targetedInterfaces_", - "type": "tuple[]", - "components": [ - { - "internalType": "address", - "name": "addr", - "type": "address" - }, - { - "internalType": "string[]", - "name": "artifacts", - "type": "string[]" - } - ] - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "targetSelectors", - "outputs": [ - { - "internalType": "struct StdInvariant.FuzzSelector[]", - "name": "targetedSelectors_", - "type": "tuple[]", - "components": [ - { - "internalType": "address", - "name": "addr", - "type": "address" - }, - { - "internalType": "bytes4[]", - "name": "selectors", - "type": "bytes4[]" - } - ] - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "targetSenders", - "outputs": [ - { - "internalType": "address[]", - "name": "targetedSenders_", - "type": "address[]" - } - ] - }, - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "function", - "name": "testAddStrategy" - }, - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "function", - "name": "testAddUserScore" - }, - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "function", - "name": "testCanExecuteAction" - }, - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "function", - "name": "testChangeListManager" - }, - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "function", - "name": "testModifyThresholdByAuthorized" - }, - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "function", - "name": "testModifyThresholdByCouncilSafe" - }, - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "function", - "name": "testOnlyAuthorizedCanAddUserScore" - }, - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "function", - "name": "testOnlyAuthorizedCanRemoveUser" - }, - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "function", - "name": "testOnlyOwnerCanChangeListManager" - }, - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "function", - "name": "testRemoveStrategy" - }, - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "function", - "name": "testRemoveUser" - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "unauthorizedUser", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "user", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - "@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/", - "@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/", - "@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/", - "@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/", - "@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/", - "@sablier/v2-core/=lib/allo-v2/lib/v2-core/", - "ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/", - "allo-v2-contracts/=lib/allo-v2/contracts/", - "allo-v2-test/=lib/allo-v2/test/", - "allo-v2/=lib/allo-v2/", - "ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/", - "eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/", - "erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/", - "forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/", - "forge-std/=lib/forge-std/src/", - "hats-protocol/=lib/allo-v2/lib/hats-protocol/", - "openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/", - "openzeppelin-contracts/=lib/openzeppelin-contracts/", - "openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/", - "openzeppelin/=lib/openzeppelin-contracts/contracts/", - "permit2/=lib/allo-v2/lib/permit2/", - "prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/", - "prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/", - "safe-contracts/=lib/safe-contracts/", - "solady/=lib/allo-v2/lib/solady/", - "solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/", - "solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/", - "solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/", - "solmate/=lib/allo-v2/lib/permit2/lib/solmate/", - "utils/=lib/allo-v2/lib/hats-protocol/lib/utils/", - "v2-core/=lib/allo-v2/lib/v2-core/" - ], - "optimizer": { - "enabled": true, - "runs": 1000 - }, - "metadata": { - "bytecodeHash": "ipfs" - }, - "compilationTarget": { - "pkg/contracts/test/PassportScorerTest.t.sol": "PassportScorerTest" - }, - "evmVersion": "paris", - "libraries": {} - }, - "sources": { - "lib/forge-std/src/Base.sol": { - "keccak256": "0x4ff1a785311017d1eedb1b4737956fa383067ad34eb439abfec1d989754dde1c", - "urls": [ - "bzz-raw://f553622969b9fdb930246704a4c10dfaee6b1a4468c142fa7eb9dc292a438224", - "dweb:/ipfs/QmcxqHnqdQsMVtgsfH9VNLmZ3g7GhgNagfq7yvNCDcCHFK" - ], - "license": "MIT" - }, - "lib/forge-std/src/StdAssertions.sol": { - "keccak256": "0xf513292ab066e6017db48ca749c1e63a44dfc5cba0326fc65c718f96e029d361", - "urls": [ - "bzz-raw://02d715ae2898f1fabd08133f80e6a7a3b87a2796ca5d23d1cb3fed9f4367f34c", - "dweb:/ipfs/QmfESqa4j3PQAvvdfrnDQ1xUH1TnVCfvZYHsAEDK8z4X4k" - ], - "license": "MIT" - }, - "lib/forge-std/src/StdChains.sol": { - "keccak256": "0x9cc29c28f49d0b7f7b2f1aa32d8273f8a087bf62eb3fb22d893df824052c25ef", - "urls": [ - "bzz-raw://42dcb36cb10b878a0d5b20ce3a4a3ba4f51f44d7731a66ac1133c699bc80b31b", - "dweb:/ipfs/QmY6q7SaHQMLBb3rS6xZdArPaXoskWeqF6oJwUeZ3gKLZj" - ], - "license": "MIT" - }, - "lib/forge-std/src/StdCheats.sol": { - "keccak256": "0xb72f3519e0bf7d31df5d68557525f4fc55d861c3fb3b0f7793144ef7c94cbeb7", - "urls": [ - "bzz-raw://f3456d0f78e6f61203fa7871ba2df0d35925f10db3baee14be623ce2a35b84e2", - "dweb:/ipfs/QmWE6QQSBvJifHMraisBTrf1x4WCwrDoTPLX8UKajTiApc" - ], - "license": "MIT" - }, - "lib/forge-std/src/StdError.sol": { - "keccak256": "0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77", - "urls": [ - "bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6", - "dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj" - ], - "license": "MIT" - }, - "lib/forge-std/src/StdInvariant.sol": { - "keccak256": "0x67299bfacd77fddfa2a67b8e2b901e0e333618a4975fb94850b07475e51f6de6", - "urls": [ - "bzz-raw://1b61121d310f4053ce344b345b4a9ccf43b059daf9097ec2647f594beaca896d", - "dweb:/ipfs/QmZUCoTtXBM9zfAZVbj2dFPPnKaV1CSZzXE7zictyg3Gfz" - ], - "license": "MIT" - }, - "lib/forge-std/src/StdJson.sol": { - "keccak256": "0x62bed173cb126f6d5006706cf249bac8a2d51bfa18f773f314784ff18adc622d", - "urls": [ - "bzz-raw://5acc33dddbf2492e37dc32e89cd56ce917272d303a6874805f3a5768a6bfbf54", - "dweb:/ipfs/QmTsgFhcpUf16gAVazUXU3WspgX8nHke2hzVCvoqS25WEp" - ], - "license": "MIT" - }, - "lib/forge-std/src/StdMath.sol": { - "keccak256": "0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2", - "urls": [ - "bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92", - "dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC" - ], - "license": "MIT" - }, - "lib/forge-std/src/StdStorage.sol": { - "keccak256": "0x651d84d948832f0ef45686417aa68ffb871378fa788a4123dbf37844903c66f3", - "urls": [ - "bzz-raw://ff20f5ac9de3dc3ba86b1bf1f2723174e82ce3499ad67cb0ccfa7d28baeee678", - "dweb:/ipfs/QmRZkUFKz7AmF7yk6o317sk822HHhGVPXZQgX8G4LfYfft" - ], - "license": "MIT" - }, - "lib/forge-std/src/StdStyle.sol": { - "keccak256": "0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d", - "urls": [ - "bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8", - "dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK" - ], - "license": "MIT" - }, - "lib/forge-std/src/StdToml.sol": { - "keccak256": "0xc8a57915ace96f5b6a85b57e57690fc038cad9034a3dc368c11828a3707c61ab", - "urls": [ - "bzz-raw://fa880a1a6e5d94005dcf4811b4c0df8d9c06407017ae111bd351483e2b76a72d", - "dweb:/ipfs/QmcxkEE58gE1vDcZofTr8QpvdjXjgR72yYg7o4vTPSLCsy" - ], - "license": "MIT" - }, - "lib/forge-std/src/StdUtils.sol": { - "keccak256": "0x502b18a4becda6ecd91fa8b419d8034946bfa80e6cc7f6497f51f8565bfadae0", - "urls": [ - "bzz-raw://bf499ee483a1dfd02023d4ce78ed4029a49794ccd5b849aaab912faea0d2ba61", - "dweb:/ipfs/QmP6hwNZW7sYbQK9fBzuZWxfLm6Swx2nKzvZ54qWNqQkzX" - ], - "license": "MIT" - }, - "lib/forge-std/src/Test.sol": { - "keccak256": "0x3b4bb409a156dee9ce261458117fe9f81080ca844a8a26c07c857c46d155effe", - "urls": [ - "bzz-raw://5792c69fe24bdc063a14e08fe68275007fdb1e5e7e343840a77938cb7e95a64e", - "dweb:/ipfs/QmcAMhaurUwzhytJFYix4vRNeZeV8g27b8LnV3t7dvYtiK" - ], - "license": "MIT" - }, - "lib/forge-std/src/Vm.sol": { - "keccak256": "0x51fec240abc6dd23e0ee6de7c65106379aef732cad6c4ae5df6b55db886e7456", - "urls": [ - "bzz-raw://a47d9c0a9876e7f9e411843b994a741d4ac1a87d8459ffc3c56359de691ddc1a", - "dweb:/ipfs/QmQiFN9b3Y2azrD1RBfAKEuAG3YeJkMzA2DGzgEE9kMeEK" - ], - "license": "MIT OR Apache-2.0" - }, - "lib/forge-std/src/console.sol": { - "keccak256": "0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba", - "urls": [ - "bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70", - "dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec" - ], - "license": "MIT" - }, - "lib/forge-std/src/console2.sol": { - "keccak256": "0x954646445d1014c3cd85c7918f5e7adeeca5ee44b68c00bafa237e597a4e35ea", - "urls": [ - "bzz-raw://516fa3be52da4763147175bfba4be0aa011fadbb0c1afb01f97265bd4cee7973", - "dweb:/ipfs/QmdixAyMJefx7qePChgdxcBH5MxhmN7vsqPuPLx3CgrVmF" - ], - "license": "MIT" - }, - "lib/forge-std/src/interfaces/IERC165.sol": { - "keccak256": "0x414b2861b1acbf816ccb7346d3f16cf6c1e002e9e5e40d2f1f26fa5ddc2ea600", - "urls": [ - "bzz-raw://698352fb240868ea8f1d1fe389993035eeab930f10d06934f80ccfb2b6ccbfbc", - "dweb:/ipfs/QmT6WLHAgXxFhh12kWym895oTzXid1326iZiwT3pyfggoT" - ], - "license": "MIT" - }, - "lib/forge-std/src/interfaces/IERC20.sol": { - "keccak256": "0x4cab887298790f908c27de107e4e2907ca5413aee482ef776f8d2f353c5ef947", - "urls": [ - "bzz-raw://bb715e0c4a2bdbe432bb624501506041f06e878e0b72675aebba30ad2c2b72e7", - "dweb:/ipfs/QmWhhLSvkxS2NrukJJHqFY8gDVE5r9rD4PfHvR24pwdKv9" - ], - "license": "MIT" - }, - "lib/forge-std/src/interfaces/IERC721.sol": { - "keccak256": "0xf069262a264fdb69f8f37a10d2df7374649e9ba73f8414c9c8a3b51184625f15", - "urls": [ - "bzz-raw://924a41ca82a68ffbd503a5faf2f76d13e9938f10501a71094716f12bb64b4b7f", - "dweb:/ipfs/QmdWnqfKc5ZGhmxNPTde4zrFchnv9Yk9MpCMb2rdhXE5gm" - ], - "license": "MIT" - }, - "lib/forge-std/src/interfaces/IMulticall3.sol": { - "keccak256": "0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a", - "urls": [ - "bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0", - "dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2" - ], - "license": "MIT" - }, - "lib/forge-std/src/mocks/MockERC20.sol": { - "keccak256": "0xadbdfc6639edec00ba94bb1133a0fd8de31ccafe45c2ef5df9b3ca61b60b559b", - "urls": [ - "bzz-raw://bc766f01bccf669abac8cc7b2096cc1352a66471ca3772ae61b1801dedc4ed4f", - "dweb:/ipfs/QmNigaPj1LYkP7Z5xr4ijkUxr2K66fDGeoifG3WoM9ruyw" - ], - "license": "MIT" - }, - "lib/forge-std/src/mocks/MockERC721.sol": { - "keccak256": "0x3293dcbb7acd28df553c954e4e39e288bf10aab7ecda8d50ef21b4f4a91a28d9", - "urls": [ - "bzz-raw://9eb374daf6df34f4392f8926f1fddbce9f22c423066aeaefdfbe77395f77967b", - "dweb:/ipfs/QmWR81zBJRX2uyRjveGzikYPj6ZwKppWsU49YEQXTLWUsN" - ], - "license": "MIT" - }, - "lib/forge-std/src/safeconsole.sol": { - "keccak256": "0xbaf41fdc6c54297e7cd8250e48b0f20eaac918e342a1028cef3f9a52ac086381", - "urls": [ - "bzz-raw://a500ad81dea226f9910e6b50f99a9ff930105e393a692cbfb2185e4cdb4424ae", - "dweb:/ipfs/QmVbUQpXNMmMWRiy4FvBNczzq46BMGfUoBikvSHNiCxVTq" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol": { - "keccak256": "0x359a1ab89b46b9aba7bcad3fb651924baf4893d15153049b9976b0fc9be1358e", - "urls": [ - "bzz-raw://e89863421b4014b96a4b62be76eb3b9f0a8afe9684664a6f389124c0964bfe5c", - "dweb:/ipfs/Qmbk7xr1irpDuU1WdxXgxELBXxs61rHhCgod7heVcvFx16" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol": { - "keccak256": "0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794", - "urls": [ - "bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e", - "dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol": { - "keccak256": "0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422", - "urls": [ - "bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b", - "dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol": { - "keccak256": "0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef", - "urls": [ - "bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95", - "dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol": { - "keccak256": "0x3cbef5ebc24b415252e2f8c0c9254555d30d9f085603b4b80d9b5ed20ab87e90", - "urls": [ - "bzz-raw://e8fa670c3bdce78e642cc6ae11c4cb38b133499cdce5e1990a9979d424703263", - "dweb:/ipfs/QmVxeCUk4jL2pXQyhsoNJwyU874wRufS2WvGe8TgPKPqhE" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol": { - "keccak256": "0x1d4afe6cb24200cc4545eed814ecf5847277dfe5d613a1707aad5fceecebcfff", - "urls": [ - "bzz-raw://383fb7b8181016ac5ccf07bc9cdb7c1b5045ea36e2cc4df52bcbf20396fc7688", - "dweb:/ipfs/QmYJ7Cg4WmE3rR8KGQxjUCXFfTH6TcwZ2Z1f6tPrq7jHFr" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol": { - "keccak256": "0xa2b22da3032e50b55f95ec1d13336102d675f341167aa76db571ef7f8bb7975d", - "urls": [ - "bzz-raw://96b6d77a20bebd4eb06b801d3d020c7e82be13bd535cb0d0a6b7181c51dab5d5", - "dweb:/ipfs/QmPUR9Cv9jNFdQX6PtBfaBW1ZCnKwiu65R2VD5kbdanDyn" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Upgrade.sol": { - "keccak256": "0x3b21ae06bf5957f73fa16754b0669c77b7abd8ba6c072d35c3281d446fdb86c2", - "urls": [ - "bzz-raw://2db8e18505e86e02526847005d7287a33e397ed7fb9eaba3fd4a4a197add16e2", - "dweb:/ipfs/QmW9BSuKTzHWHBNSHF4L8XfVuU1uJrP2vLg84YtBd8mL82" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/proxy/Proxy.sol": { - "keccak256": "0xc130fe33f1b2132158531a87734153293f6d07bc263ff4ac90e85da9c82c0e27", - "urls": [ - "bzz-raw://8831721b6f4cc26534d190f9f1631c3f59c9ff38efdd911f85e0882b8e360472", - "dweb:/ipfs/QmQZnLErZNStirSQ13ZNWQgvEYUtGE5tXYwn4QUPaVUfPN" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol": { - "keccak256": "0xd50a3421ac379ccb1be435fa646d66a65c986b4924f0849839f08692f39dde61", - "urls": [ - "bzz-raw://ada1e030c0231db8d143b44ce92b4d1158eedb087880cad6d8cc7bd7ebe7b354", - "dweb:/ipfs/QmWZ2NHZweRpz1U9GF6R1h65ri76dnX7fNxLBeM2t5N5Ce" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol": { - "keccak256": "0xc6619957bcc6641fe8984bfaf9ff11a9e4b97d8149c0495f608f9a2416d7c5cf", - "urls": [ - "bzz-raw://543be67f7fa43b1b932637c1c7f12035f0f4b0f7ee2bd3c33841186f79c165c1", - "dweb:/ipfs/QmSBPM2UVKbmJqWfD9i6hSiqbaE8TV4TSqfuiivziRRLKM" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/utils/Address.sol": { - "keccak256": "0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa", - "urls": [ - "bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931", - "dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol": { - "keccak256": "0xf09e68aa0dc6722a25bc46490e8d48ed864466d17313b8a0b254c36b54e49899", - "urls": [ - "bzz-raw://e26daf81e2252dc1fe1ce0e4b55c2eb7c6d1ee84ae6558d1a9554432ea1d32da", - "dweb:/ipfs/Qmb1UANWiWq5pCKbmHSu772hd4nt374dVaghGmwSVNuk8Q" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/utils/Strings.sol": { - "keccak256": "0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0", - "urls": [ - "bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f", - "dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/utils/math/Math.sol": { - "keccak256": "0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3", - "urls": [ - "bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c", - "dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol": { - "keccak256": "0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc", - "urls": [ - "bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7", - "dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6" - ], - "license": "MIT" - }, - "lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/src/strings.sol": { - "keccak256": "0x42cad11a7033f2fe05dd68611d2304407a620ac985b91edf29d5868cfe196223", - "urls": [ - "bzz-raw://3cbc2333234e1f00eab5e57c4bcaf5115661e5e066a17c70af587a0a96f24669", - "dweb:/ipfs/QmPHvStqcvZL46LW5N2ExTwAaqNhRCcmAX66aR6oE1WDar" - ], - "license": null - }, - "lib/openzeppelin-foundry-upgrades/src/Defender.sol": { - "keccak256": "0x2114e4d70d53b36e8cec54ba11ff78d9f38a466ec3504c76c7f26101a7cff37f", - "urls": [ - "bzz-raw://58f4d9bc58646e7631b263cdb8ef260e6818e9f716036d81d1c18218c9557a23", - "dweb:/ipfs/QmS18L4R4gPtay9eQBcR28DnwmBkGSWsiCFwm2tXc3BkHL" - ], - "license": "MIT" - }, - "lib/openzeppelin-foundry-upgrades/src/LegacyUpgrades.sol": { - "keccak256": "0x8436719f73c76efadaa16cd719d088f698ea3591595dfdf2c15fd66f3e203197", - "urls": [ - "bzz-raw://ac8d0e55defe124adcc3845348602d6528b00b7dc5f7abf9e1b245d0cea9b55e", - "dweb:/ipfs/QmaPBoG89Bd2btJZW5kjXx7zXo6KhAdeTuMq5xo431M8xq" - ], - "license": "MIT" - }, - "lib/openzeppelin-foundry-upgrades/src/Options.sol": { - "keccak256": "0xa5414683d6b219b28e75ecaab3d00a305dfaf4d970389a88992275c8072ce8ac", - "urls": [ - "bzz-raw://b1dbfd566ba318f2b740159c28e4511c84c9d76fcc293ae17c9b1a87b3ea16c9", - "dweb:/ipfs/QmcyxPoeBdzA9iHEgd76xKhaQ8HKfpV4owdSv6127MmveT" - ], - "license": "MIT" - }, - "lib/openzeppelin-foundry-upgrades/src/internal/Core.sol": { - "keccak256": "0x37073df20d2b5fbb0a873e6b2dd76c23e23455d1c2d2ba57d2f0998201a4251d", - "urls": [ - "bzz-raw://79d507647ea48d93371341684cf4199d55ed799db9d3489bc016f53990d2ff7c", - "dweb:/ipfs/QmQWgXiYcPcwNcrkTHb72WtHd4xPcXfRUMfBrhkDHgr2ut" - ], - "license": "MIT" - }, - "lib/openzeppelin-foundry-upgrades/src/internal/DefenderDeploy.sol": { - "keccak256": "0x868ffdaf5d185fee103fc4581385392b47c209a5cfd2aec01f0307dbc0101d73", - "urls": [ - "bzz-raw://76e51bf69a4d0b5d1d9cfa7efa442bdcf9d713966563432ef8fdd00ec959a25e", - "dweb:/ipfs/QmTHkdvMnqmEvus7zbmHhPkWk3fM9SW2Jq8gnyBLwVJtxG" - ], - "license": "MIT" - }, - "lib/openzeppelin-foundry-upgrades/src/internal/Utils.sol": { - "keccak256": "0x4de002af810f6a5fe26a6381e0ead3331735bd0059434a22df75e17c177b5f87", - "urls": [ - "bzz-raw://af32ff07f606e530a53030db141a75af144cfe065a6543939d412018c6159540", - "dweb:/ipfs/QmbfTB92Zd8VQHW61g9dx1CvGgSL5SCoZDLrvJfnR7Ctio" - ], - "license": "MIT" - }, - "lib/openzeppelin-foundry-upgrades/src/internal/Versions.sol": { - "keccak256": "0xf1a1441c18a296853509e9b1d18be794ed3de836caea49d6948b5e9ac566e8c6", - "urls": [ - "bzz-raw://6f3463514235bd875ecacf45f95cac64aa650dd38d05c15fe1f4203b6b5733bd", - "dweb:/ipfs/Qmcbhmw9NPkG8MqiVsQ4qUupeQFCRgyBDKuoUwohwa8EP3" - ], - "license": "MIT" - }, - "lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IProxyAdmin.sol": { - "keccak256": "0xf5e514595089f8959da130507086e7388602a71ce60575d141e7d892dfbddbfc", - "urls": [ - "bzz-raw://9b41366e2823ccc8cb42304496d761b3df80946d17384634a61afd7139495c91", - "dweb:/ipfs/QmZE2nRMxax1NPj63ifemKdScGJzKNWi7BCGudjFLsUz1y" - ], - "license": "MIT" - }, - "lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableBeacon.sol": { - "keccak256": "0xa8d7bffdd26eb763e459650c83f247b54af79800c2df52ad05878f238fc1c2f8", - "urls": [ - "bzz-raw://8ed47f1e53e5eb7d48fed60a414755641fca8fa0e713fd503b2597227da78a2f", - "dweb:/ipfs/QmQr8A5wddHdhQNauFShXxRkPcuVVpVsYpq846WhmFC8Tv" - ], - "license": "MIT" - }, - "lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableProxy.sol": { - "keccak256": "0x781b564b90bba0c0e8e12fb66b1c910f42d369db469f2e88592b4cff29de99a5", - "urls": [ - "bzz-raw://45fcab02a43fde934445b88e905aba3f58a70b75dd6ee6eb86a3d593424aeb03", - "dweb:/ipfs/QmXmhAgrctaYUDLoTRgUjwD4deoXu1E2QT1kftVGcVa56j" - ], - "license": "MIT" - }, - "pkg/contracts/src/ISybilScorer.sol": { - "keccak256": "0x0e25fbb8497ac3c969d80c9032362d45e56c0a45dc9ba3dff6a8a704571f38ea", - "urls": [ - "bzz-raw://0dff90ebae6e7131a5300fcaf525bc2ab0ae90fcd13f277d7b7b6939eeb8b7eb", - "dweb:/ipfs/QmYGkYqpUVrBWoNY6f3CtwrrVQFWSvnJfpu68t95f6AkBY" - ], - "license": "MIT" - }, - "pkg/contracts/src/PassportScorer.sol": { - "keccak256": "0x1244948644eb13bbdbf2b62e465427229a9e227e0c214c92eeaf6021401a6513", - "urls": [ - "bzz-raw://02dc7d6dcc3c0fe5bdd401f58c2b767030a31878734b133e09ea0aa282566d23", - "dweb:/ipfs/QmVY9NQLx4kKyV7Cxbj9yA4soZ7DuNUEHHPoNfcdmauM3M" - ], - "license": "AGPL-3.0-or-later" - }, - "pkg/contracts/test/PassportScorerTest.t.sol": { - "keccak256": "0xbeb984e08da607b0d2eaa84cc83644c4d7bc68c6092719e0a38d2297a5e3d21b", - "urls": [ - "bzz-raw://3d7b92d67443c5e54a977185e727543b4429a96af3ac092b54f4eacb8421edac", - "dweb:/ipfs/QmRksjaxxgPFGLnXKgtcAU5i23oCWPaV2r76YtN9WBoawN" - ], - "license": "AGPL-3.0-or-later" - } - }, - "version": 1 - }, - "storageLayout": { - "storage": [ - { - "astId": 5830, - "contract": "pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest", - "label": "stdstore", - "offset": 0, - "slot": "0", - "type": "t_struct(StdStorage)13235_storage" - }, - { - "astId": 6026, - "contract": "pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest", - "label": "_failed", - "offset": 0, - "slot": "8", - "type": "t_bool" - }, - { - "astId": 8527, - "contract": "pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest", - "label": "stdChainsInitialized", - "offset": 1, - "slot": "8", - "type": "t_bool" - }, - { - "astId": 8548, - "contract": "pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest", - "label": "chains", - "offset": 0, - "slot": "9", - "type": "t_mapping(t_string_memory_ptr,t_struct(Chain)8543_storage)" - }, - { - "astId": 8552, - "contract": "pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest", - "label": "defaultRpcUrls", - "offset": 0, - "slot": "10", - "type": "t_mapping(t_string_memory_ptr,t_string_storage)" - }, - { - "astId": 8556, - "contract": "pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest", - "label": "idToAlias", - "offset": 0, - "slot": "11", - "type": "t_mapping(t_uint256,t_string_storage)" - }, - { - "astId": 8559, - "contract": "pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest", - "label": "fallbackToDefaultRpcUrls", - "offset": 0, - "slot": "12", - "type": "t_bool" - }, - { - "astId": 9317, - "contract": "pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest", - "label": "gasMeteringOff", - "offset": 1, - "slot": "12", - "type": "t_bool" - }, - { - "astId": 11354, - "contract": "pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest", - "label": "stdstore", - "offset": 0, - "slot": "13", - "type": "t_struct(StdStorage)13235_storage" - }, - { - "astId": 12222, - "contract": "pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest", - "label": "_excludedContracts", - "offset": 0, - "slot": "21", - "type": "t_array(t_address)dyn_storage" - }, - { - "astId": 12225, - "contract": "pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest", - "label": "_excludedSenders", - "offset": 0, - "slot": "22", - "type": "t_array(t_address)dyn_storage" - }, - { - "astId": 12228, - "contract": "pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest", - "label": "_targetedContracts", - "offset": 0, - "slot": "23", - "type": "t_array(t_address)dyn_storage" - }, - { - "astId": 12231, - "contract": "pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest", - "label": "_targetedSenders", - "offset": 0, - "slot": "24", - "type": "t_array(t_address)dyn_storage" - }, - { - "astId": 12234, - "contract": "pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest", - "label": "_excludedArtifacts", - "offset": 0, - "slot": "25", - "type": "t_array(t_string_storage)dyn_storage" - }, - { - "astId": 12237, - "contract": "pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest", - "label": "_targetedArtifacts", - "offset": 0, - "slot": "26", - "type": "t_array(t_string_storage)dyn_storage" - }, - { - "astId": 12241, - "contract": "pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest", - "label": "_targetedArtifactSelectors", - "offset": 0, - "slot": "27", - "type": "t_array(t_struct(FuzzSelector)12213_storage)dyn_storage" - }, - { - "astId": 12245, - "contract": "pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest", - "label": "_targetedSelectors", - "offset": 0, - "slot": "28", - "type": "t_array(t_struct(FuzzSelector)12213_storage)dyn_storage" - }, - { - "astId": 12249, - "contract": "pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest", - "label": "_targetedInterfaces", - "offset": 0, - "slot": "29", - "type": "t_array(t_struct(FuzzInterface)12219_storage)dyn_storage" - }, - { - "astId": 17834, - "contract": "pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest", - "label": "IS_TEST", - "offset": 0, - "slot": "30", - "type": "t_bool" - }, - { - "astId": 107320, - "contract": "pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest", - "label": "passportScorer", - "offset": 1, - "slot": "30", - "type": "t_contract(PassportScorer)81159" - }, - { - "astId": 107326, - "contract": "pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest", - "label": "listManager", - "offset": 0, - "slot": "31", - "type": "t_address" - }, - { - "astId": 107332, - "contract": "pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest", - "label": "user", - "offset": 0, - "slot": "32", - "type": "t_address" - }, - { - "astId": 107338, - "contract": "pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest", - "label": "strategy", - "offset": 0, - "slot": "33", - "type": "t_address" - }, - { - "astId": 107344, - "contract": "pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest", - "label": "councilSafe", - "offset": 0, - "slot": "34", - "type": "t_address" - }, - { - "astId": 107350, - "contract": "pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest", - "label": "unauthorizedUser", - "offset": 0, - "slot": "35", - "type": "t_address" - }, - { - "astId": 107353, - "contract": "pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest", - "label": "passportData", - "offset": 0, - "slot": "36", - "type": "t_struct(PassportData)80585_storage" - } - ], - "types": { - "t_address": { - "encoding": "inplace", - "label": "address", - "numberOfBytes": "20" - }, - "t_array(t_address)dyn_storage": { - "encoding": "dynamic_array", - "label": "address[]", - "numberOfBytes": "32", - "base": "t_address" - }, - "t_array(t_bytes32)dyn_storage": { - "encoding": "dynamic_array", - "label": "bytes32[]", - "numberOfBytes": "32", - "base": "t_bytes32" - }, - "t_array(t_bytes4)dyn_storage": { - "encoding": "dynamic_array", - "label": "bytes4[]", - "numberOfBytes": "32", - "base": "t_bytes4" - }, - "t_array(t_string_storage)dyn_storage": { - "encoding": "dynamic_array", - "label": "string[]", - "numberOfBytes": "32", - "base": "t_string_storage" - }, - "t_array(t_struct(FuzzInterface)12219_storage)dyn_storage": { - "encoding": "dynamic_array", - "label": "struct StdInvariant.FuzzInterface[]", - "numberOfBytes": "32", - "base": "t_struct(FuzzInterface)12219_storage" - }, - "t_array(t_struct(FuzzSelector)12213_storage)dyn_storage": { - "encoding": "dynamic_array", - "label": "struct StdInvariant.FuzzSelector[]", - "numberOfBytes": "32", - "base": "t_struct(FuzzSelector)12213_storage" - }, - "t_bool": { - "encoding": "inplace", - "label": "bool", - "numberOfBytes": "1" - }, - "t_bytes32": { - "encoding": "inplace", - "label": "bytes32", - "numberOfBytes": "32" - }, - "t_bytes4": { - "encoding": "inplace", - "label": "bytes4", - "numberOfBytes": "4" - }, - "t_bytes_storage": { - "encoding": "bytes", - "label": "bytes", - "numberOfBytes": "32" - }, - "t_contract(PassportScorer)81159": { - "encoding": "inplace", - "label": "contract PassportScorer", - "numberOfBytes": "20" - }, - "t_mapping(t_address,t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)13210_storage)))": { - "encoding": "mapping", - "key": "t_address", - "label": "mapping(address => mapping(bytes4 => mapping(bytes32 => struct FindData)))", - "numberOfBytes": "32", - "value": "t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)13210_storage))" - }, - "t_mapping(t_bytes32,t_struct(FindData)13210_storage)": { - "encoding": "mapping", - "key": "t_bytes32", - "label": "mapping(bytes32 => struct FindData)", - "numberOfBytes": "32", - "value": "t_struct(FindData)13210_storage" - }, - "t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)13210_storage))": { - "encoding": "mapping", - "key": "t_bytes4", - "label": "mapping(bytes4 => mapping(bytes32 => struct FindData))", - "numberOfBytes": "32", - "value": "t_mapping(t_bytes32,t_struct(FindData)13210_storage)" - }, - "t_mapping(t_string_memory_ptr,t_string_storage)": { - "encoding": "mapping", - "key": "t_string_memory_ptr", - "label": "mapping(string => string)", - "numberOfBytes": "32", - "value": "t_string_storage" - }, - "t_mapping(t_string_memory_ptr,t_struct(Chain)8543_storage)": { - "encoding": "mapping", - "key": "t_string_memory_ptr", - "label": "mapping(string => struct StdChains.Chain)", - "numberOfBytes": "32", - "value": "t_struct(Chain)8543_storage" - }, - "t_mapping(t_uint256,t_string_storage)": { - "encoding": "mapping", - "key": "t_uint256", - "label": "mapping(uint256 => string)", - "numberOfBytes": "32", - "value": "t_string_storage" - }, - "t_string_memory_ptr": { - "encoding": "bytes", - "label": "string", - "numberOfBytes": "32" - }, - "t_string_storage": { - "encoding": "bytes", - "label": "string", - "numberOfBytes": "32" - }, - "t_struct(Chain)8543_storage": { - "encoding": "inplace", - "label": "struct StdChains.Chain", - "numberOfBytes": "128", - "members": [ - { - "astId": 8536, - "contract": "pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest", - "label": "name", - "offset": 0, - "slot": "0", - "type": "t_string_storage" - }, - { - "astId": 8538, - "contract": "pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest", - "label": "chainId", - "offset": 0, - "slot": "1", - "type": "t_uint256" - }, - { - "astId": 8540, - "contract": "pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest", - "label": "chainAlias", - "offset": 0, - "slot": "2", - "type": "t_string_storage" - }, - { - "astId": 8542, - "contract": "pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest", - "label": "rpcUrl", - "offset": 0, - "slot": "3", - "type": "t_string_storage" - } - ] - }, - "t_struct(FindData)13210_storage": { - "encoding": "inplace", - "label": "struct FindData", - "numberOfBytes": "128", - "members": [ - { - "astId": 13203, - "contract": "pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest", - "label": "slot", - "offset": 0, - "slot": "0", - "type": "t_uint256" - }, - { - "astId": 13205, - "contract": "pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest", - "label": "offsetLeft", - "offset": 0, - "slot": "1", - "type": "t_uint256" - }, - { - "astId": 13207, - "contract": "pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest", - "label": "offsetRight", - "offset": 0, - "slot": "2", - "type": "t_uint256" - }, - { - "astId": 13209, - "contract": "pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest", - "label": "found", - "offset": 0, - "slot": "3", - "type": "t_bool" - } - ] - }, - "t_struct(FuzzInterface)12219_storage": { - "encoding": "inplace", - "label": "struct StdInvariant.FuzzInterface", - "numberOfBytes": "64", - "members": [ - { - "astId": 12215, - "contract": "pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest", - "label": "addr", - "offset": 0, - "slot": "0", - "type": "t_address" - }, - { - "astId": 12218, - "contract": "pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest", - "label": "artifacts", - "offset": 0, - "slot": "1", - "type": "t_array(t_string_storage)dyn_storage" - } - ] - }, - "t_struct(FuzzSelector)12213_storage": { - "encoding": "inplace", - "label": "struct StdInvariant.FuzzSelector", - "numberOfBytes": "64", - "members": [ - { - "astId": 12209, - "contract": "pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest", - "label": "addr", - "offset": 0, - "slot": "0", - "type": "t_address" - }, - { - "astId": 12212, - "contract": "pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest", - "label": "selectors", - "offset": 0, - "slot": "1", - "type": "t_array(t_bytes4)dyn_storage" - } - ] - }, - "t_struct(PassportData)80585_storage": { - "encoding": "inplace", - "label": "struct PassportData", - "numberOfBytes": "64", - "members": [ - { - "astId": 80582, - "contract": "pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest", - "label": "score", - "offset": 0, - "slot": "0", - "type": "t_uint256" - }, - { - "astId": 80584, - "contract": "pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest", - "label": "lastUpdated", - "offset": 0, - "slot": "1", - "type": "t_uint256" - } - ] - }, - "t_struct(StdStorage)13235_storage": { - "encoding": "inplace", - "label": "struct StdStorage", - "numberOfBytes": "256", - "members": [ - { - "astId": 13219, - "contract": "pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest", - "label": "finds", - "offset": 0, - "slot": "0", - "type": "t_mapping(t_address,t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)13210_storage)))" - }, - { - "astId": 13222, - "contract": "pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest", - "label": "_keys", - "offset": 0, - "slot": "1", - "type": "t_array(t_bytes32)dyn_storage" - }, - { - "astId": 13224, - "contract": "pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest", - "label": "_sig", - "offset": 0, - "slot": "2", - "type": "t_bytes4" - }, - { - "astId": 13226, - "contract": "pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest", - "label": "_depth", - "offset": 0, - "slot": "3", - "type": "t_uint256" - }, - { - "astId": 13228, - "contract": "pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest", - "label": "_target", - "offset": 0, - "slot": "4", - "type": "t_address" - }, - { - "astId": 13230, - "contract": "pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest", - "label": "_set", - "offset": 0, - "slot": "5", - "type": "t_bytes32" - }, - { - "astId": 13232, - "contract": "pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest", - "label": "_enable_packed_slots", - "offset": 0, - "slot": "6", - "type": "t_bool" - }, - { - "astId": 13234, - "contract": "pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest", - "label": "_calldata", - "offset": 0, - "slot": "7", - "type": "t_bytes_storage" - } - ] - }, - "t_uint256": { - "encoding": "inplace", - "label": "uint256", - "numberOfBytes": "32" - } - } - }, - "ast": { - "absolutePath": "pkg/contracts/test/PassportScorerTest.t.sol", - "id": 107929, - "exportedSymbols": { - "ERC1967Proxy": [ - 55562 - ], - "ISybilScorer": [ - 80667 - ], - "Initializable": [ - 53191 - ], - "OwnableUpgradeable": [ - 52942 - ], - "PassportData": [ - 80585 - ], - "PassportScorer": [ - 81159 - ], - "PassportScorerTest": [ - 107928 - ], - "StdAssertions": [ - 8503 - ], - "StdChains": [ - 9285 - ], - "StdCheats": [ - 12138 - ], - "StdInvariant": [ - 12463 - ], - "StdStorage": [ - 13235 - ], - "StdStyle": [ - 16405 - ], - "StdUtils": [ - 17783 - ], - "Strategy": [ - 80592 - ], - "Test": [ - 17835 - ], - "TestBase": [ - 5834 - ], - "UUPSUpgradeable": [ - 56213 - ], - "Upgrades": [ - 61717 - ], - "Vm": [ - 21485 - ], - "console": [ - 29549 - ], - "console2": [ - 37674 - ], - "safeconsole": [ - 52399 - ], - "stdError": [ - 12204 - ], - "stdJson": [ - 13055 - ], - "stdMath": [ - 13197 - ], - "stdStorage": [ - 15194 - ], - "stdToml": [ - 16997 - ] - }, - "nodeType": "SourceUnit", - "src": "46:5448:145", - "nodes": [ - { - "id": 107309, - "nodeType": "PragmaDirective", - "src": "46:24:145", - "nodes": [], - "literals": [ - "solidity", - "^", - "0.8", - ".19" - ] - }, - { - "id": 107310, - "nodeType": "ImportDirective", - "src": "72:28:145", - "nodes": [], - "absolutePath": "lib/forge-std/src/Test.sol", - "file": "forge-std/Test.sol", - "nameLocation": "-1:-1:-1", - "scope": 107929, - "sourceUnit": 17836, - "symbolAliases": [], - "unitAlias": "" - }, - { - "id": 107311, - "nodeType": "ImportDirective", - "src": "101:35:145", - "nodes": [], - "absolutePath": "pkg/contracts/src/PassportScorer.sol", - "file": "../src/PassportScorer.sol", - "nameLocation": "-1:-1:-1", - "scope": 107929, - "sourceUnit": 81160, - "symbolAliases": [], - "unitAlias": "" - }, - { - "id": 107313, - "nodeType": "ImportDirective", - "src": "138:66:145", - "nodes": [], - "absolutePath": "lib/openzeppelin-foundry-upgrades/src/LegacyUpgrades.sol", - "file": "@openzeppelin/foundry/LegacyUpgrades.sol", - "nameLocation": "-1:-1:-1", - "scope": 107929, - "sourceUnit": 61838, - "symbolAliases": [ - { - "foreign": { - "id": 107312, - "name": "Upgrades", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 61717, - "src": "146:8:145", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - } - ], - "unitAlias": "" - }, - { - "id": 107315, - "nodeType": "ImportDirective", - "src": "206:84:145", - "nodes": [], - "absolutePath": "lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol", - "file": "@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.sol", - "nameLocation": "-1:-1:-1", - "scope": 107929, - "sourceUnit": 55563, - "symbolAliases": [ - { - "foreign": { - "id": 107314, - "name": "ERC1967Proxy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 55562, - "src": "214:12:145", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - } - ], - "unitAlias": "" - }, - { - "id": 107928, - "nodeType": "ContractDefinition", - "src": "292:5201:145", - "nodes": [ - { - "id": 107320, - "nodeType": "VariableDeclaration", - "src": "334:36:145", - "nodes": [], - "constant": false, - "functionSelector": "4905e831", - "mutability": "mutable", - "name": "passportScorer", - "nameLocation": "356:14:145", - "scope": 107928, - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_PassportScorer_$81159", - "typeString": "contract PassportScorer" - }, - "typeName": { - "id": 107319, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 107318, - "name": "PassportScorer", - "nameLocations": [ - "334:14:145" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 81159, - "src": "334:14:145" - }, - "referencedDeclaration": 81159, - "src": "334:14:145", - "typeDescriptions": { - "typeIdentifier": "t_contract$_PassportScorer_$81159", - "typeString": "contract PassportScorer" - } - }, - "visibility": "public" - }, - { - "id": 107326, - "nodeType": "VariableDeclaration", - "src": "376:39:145", - "nodes": [], - "constant": false, - "functionSelector": "8df8b2fe", - "mutability": "mutable", - "name": "listManager", - "nameLocation": "391:11:145", - "scope": 107928, - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 107321, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "376:7:145", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": { - "arguments": [ - { - "hexValue": "31", - "id": 107324, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "413:1:145", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - } - ], - "id": 107323, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "405:7:145", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 107322, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "405:7:145", - "typeDescriptions": {} - } - }, - "id": 107325, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "405:10:145", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "public" - }, - { - "id": 107332, - "nodeType": "VariableDeclaration", - "src": "421:32:145", - "nodes": [], - "constant": false, - "functionSelector": "4f8632ba", - "mutability": "mutable", - "name": "user", - "nameLocation": "436:4:145", - "scope": 107928, - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 107327, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "421:7:145", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": { - "arguments": [ - { - "hexValue": "32", - "id": 107330, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "451:1:145", - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - } - ], - "id": 107329, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "443:7:145", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 107328, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "443:7:145", - "typeDescriptions": {} - } - }, - "id": 107331, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "443:10:145", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "public" - }, - { - "id": 107338, - "nodeType": "VariableDeclaration", - "src": "459:36:145", - "nodes": [], - "constant": false, - "functionSelector": "a8c62e76", - "mutability": "mutable", - "name": "strategy", - "nameLocation": "474:8:145", - "scope": 107928, - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 107333, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "459:7:145", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": { - "arguments": [ - { - "hexValue": "33", - "id": 107336, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "493:1:145", - "typeDescriptions": { - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - }, - "value": "3" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - } - ], - "id": 107335, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "485:7:145", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 107334, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "485:7:145", - "typeDescriptions": {} - } - }, - "id": 107337, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "485:10:145", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "public" - }, - { - "id": 107344, - "nodeType": "VariableDeclaration", - "src": "501:39:145", - "nodes": [], - "constant": false, - "functionSelector": "6c53db9a", - "mutability": "mutable", - "name": "councilSafe", - "nameLocation": "516:11:145", - "scope": 107928, - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 107339, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "501:7:145", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": { - "arguments": [ - { - "hexValue": "34", - "id": 107342, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "538:1:145", - "typeDescriptions": { - "typeIdentifier": "t_rational_4_by_1", - "typeString": "int_const 4" - }, - "value": "4" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_4_by_1", - "typeString": "int_const 4" - } - ], - "id": 107341, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "530:7:145", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 107340, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "530:7:145", - "typeDescriptions": {} - } - }, - "id": 107343, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "530:10:145", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "public" - }, - { - "id": 107350, - "nodeType": "VariableDeclaration", - "src": "546:44:145", - "nodes": [], - "constant": false, - "functionSelector": "3ea7771b", - "mutability": "mutable", - "name": "unauthorizedUser", - "nameLocation": "561:16:145", - "scope": 107928, - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 107345, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "546:7:145", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": { - "arguments": [ - { - "hexValue": "35", - "id": 107348, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "588:1:145", - "typeDescriptions": { - "typeIdentifier": "t_rational_5_by_1", - "typeString": "int_const 5" - }, - "value": "5" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_5_by_1", - "typeString": "int_const 5" - } - ], - "id": 107347, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "580:7:145", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 107346, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "580:7:145", - "typeDescriptions": {} - } - }, - "id": 107349, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "580:10:145", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "public" - }, - { - "id": 107353, - "nodeType": "VariableDeclaration", - "src": "596:32:145", - "nodes": [], - "constant": false, - "functionSelector": "073a2d8c", - "mutability": "mutable", - "name": "passportData", - "nameLocation": "616:12:145", - "scope": 107928, - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PassportData_$80585_storage", - "typeString": "struct PassportData" - }, - "typeName": { - "id": 107352, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 107351, - "name": "PassportData", - "nameLocations": [ - "596:12:145" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 80585, - "src": "596:12:145" - }, - "referencedDeclaration": 80585, - "src": "596:12:145", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PassportData_$80585_storage_ptr", - "typeString": "struct PassportData" - } - }, - "visibility": "public" - }, - { - "id": 107402, - "nodeType": "FunctionDefinition", - "src": "635:374:145", - "nodes": [], - "body": { - "id": 107401, - "nodeType": "Block", - "src": "659:350:145", - "nodes": [], - "statements": [ - { - "assignments": [ - 107358 - ], - "declarations": [ - { - "constant": false, - "id": 107358, - "mutability": "mutable", - "name": "proxy", - "nameLocation": "682:5:145", - "nodeType": "VariableDeclaration", - "scope": 107401, - "src": "669:18:145", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC1967Proxy_$55562", - "typeString": "contract ERC1967Proxy" - }, - "typeName": { - "id": 107357, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 107356, - "name": "ERC1967Proxy", - "nameLocations": [ - "669:12:145" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 55562, - "src": "669:12:145" - }, - "referencedDeclaration": 55562, - "src": "669:12:145", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC1967Proxy_$55562", - "typeString": "contract ERC1967Proxy" - } - }, - "visibility": "internal" - } - ], - "id": 107380, - "initialValue": { - "arguments": [ - { - "arguments": [ - { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 107366, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "728:18:145", - "typeDescriptions": { - "typeIdentifier": "t_function_creation_nonpayable$__$returns$_t_contract$_PassportScorer_$81159_$", - "typeString": "function () returns (contract PassportScorer)" - }, - "typeName": { - "id": 107365, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 107364, - "name": "PassportScorer", - "nameLocations": [ - "732:14:145" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 81159, - "src": "732:14:145" - }, - "referencedDeclaration": 81159, - "src": "732:14:145", - "typeDescriptions": { - "typeIdentifier": "t_contract$_PassportScorer_$81159", - "typeString": "contract PassportScorer" - } - } - }, - "id": 107367, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "728:20:145", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_PassportScorer_$81159", - "typeString": "contract PassportScorer" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_PassportScorer_$81159", - "typeString": "contract PassportScorer" - } - ], - "id": 107363, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "720:7:145", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 107362, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "720:7:145", - "typeDescriptions": {} - } - }, - "id": 107368, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "720:29:145", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "arguments": [ - { - "expression": { - "expression": { - "id": 107371, - "name": "PassportScorer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81159, - "src": "786:14:145", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_PassportScorer_$81159_$", - "typeString": "type(contract PassportScorer)" - } - }, - "id": 107372, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "801:10:145", - "memberName": "initialize", - "nodeType": "MemberAccess", - "referencedDeclaration": 80856, - "src": "786:25:145", - "typeDescriptions": { - "typeIdentifier": "t_function_declaration_nonpayable$_t_address_$returns$__$", - "typeString": "function PassportScorer.initialize(address)" - } - }, - "id": 107373, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "812:8:145", - "memberName": "selector", - "nodeType": "MemberAccess", - "src": "786:34:145", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - { - "arguments": [ - { - "id": 107376, - "name": "listManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 107326, - "src": "830:11:145", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 107375, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "822:7:145", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 107374, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "822:7:145", - "typeDescriptions": {} - } - }, - "id": 107377, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "822:20:145", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "id": 107369, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "763:3:145", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 107370, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "767:18:145", - "memberName": "encodeWithSelector", - "nodeType": "MemberAccess", - "src": "763:22:145", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$", - "typeString": "function (bytes4) pure returns (bytes memory)" - } - }, - "id": 107378, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "763:80:145", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 107361, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "690:16:145", - "typeDescriptions": { - "typeIdentifier": "t_function_creation_payable$_t_address_$_t_bytes_memory_ptr_$returns$_t_contract$_ERC1967Proxy_$55562_$", - "typeString": "function (address,bytes memory) payable returns (contract ERC1967Proxy)" - }, - "typeName": { - "id": 107360, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 107359, - "name": "ERC1967Proxy", - "nameLocations": [ - "694:12:145" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 55562, - "src": "694:12:145" - }, - "referencedDeclaration": 55562, - "src": "694:12:145", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC1967Proxy_$55562", - "typeString": "contract ERC1967Proxy" - } - } - }, - "id": 107379, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "690:163:145", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC1967Proxy_$55562", - "typeString": "contract ERC1967Proxy" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "669:184:145" - }, - { - "expression": { - "id": 107391, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 107381, - "name": "passportScorer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 107320, - "src": "864:14:145", - "typeDescriptions": { - "typeIdentifier": "t_contract$_PassportScorer_$81159", - "typeString": "contract PassportScorer" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "id": 107387, - "name": "proxy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 107358, - "src": "912:5:145", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC1967Proxy_$55562", - "typeString": "contract ERC1967Proxy" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_ERC1967Proxy_$55562", - "typeString": "contract ERC1967Proxy" - } - ], - "id": 107386, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "904:7:145", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 107385, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "904:7:145", - "typeDescriptions": {} - } - }, - "id": 107388, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "904:14:145", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 107384, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "896:8:145", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_payable_$", - "typeString": "type(address payable)" - }, - "typeName": { - "id": 107383, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "896:8:145", - "stateMutability": "payable", - "typeDescriptions": {} - } - }, - "id": 107389, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "896:23:145", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 107382, - "name": "PassportScorer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81159, - "src": "881:14:145", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_PassportScorer_$81159_$", - "typeString": "type(contract PassportScorer)" - } - }, - "id": 107390, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "881:39:145", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_PassportScorer_$81159", - "typeString": "contract PassportScorer" - } - }, - "src": "864:56:145", - "typeDescriptions": { - "typeIdentifier": "t_contract$_PassportScorer_$81159", - "typeString": "contract PassportScorer" - } - }, - "id": 107392, - "nodeType": "ExpressionStatement", - "src": "864:56:145" - }, - { - "expression": { - "id": 107399, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 107393, - "name": "passportData", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 107353, - "src": "931:12:145", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PassportData_$80585_storage", - "typeString": "struct PassportData storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "hexValue": "313030", - "id": 107395, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "967:3:145", - "typeDescriptions": { - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - }, - "value": "100" - }, - { - "expression": { - "id": 107396, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "985:5:145", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 107397, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "991:9:145", - "memberName": "timestamp", - "nodeType": "MemberAccess", - "src": "985:15:145", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 107394, - "name": "PassportData", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 80585, - "src": "946:12:145", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_PassportData_$80585_storage_ptr_$", - "typeString": "type(struct PassportData storage pointer)" - } - }, - "id": 107398, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "structConstructorCall", - "lValueRequested": false, - "nameLocations": [ - "960:5:145", - "972:11:145" - ], - "names": [ - "score", - "lastUpdated" - ], - "nodeType": "FunctionCall", - "src": "946:56:145", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_struct$_PassportData_$80585_memory_ptr", - "typeString": "struct PassportData memory" - } - }, - "src": "931:71:145", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PassportData_$80585_storage", - "typeString": "struct PassportData storage ref" - } - }, - "id": 107400, - "nodeType": "ExpressionStatement", - "src": "931:71:145" - } - ] - }, - "functionSelector": "0a9254e4", - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "setUp", - "nameLocation": "644:5:145", - "parameters": { - "id": 107354, - "nodeType": "ParameterList", - "parameters": [], - "src": "649:2:145" - }, - "returnParameters": { - "id": 107355, - "nodeType": "ParameterList", - "parameters": [], - "src": "659:0:145" - }, - "scope": 107928, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "id": 107441, - "nodeType": "FunctionDefinition", - "src": "1015:331:145", - "nodes": [], - "body": { - "id": 107440, - "nodeType": "Block", - "src": "1050:296:145", - "nodes": [], - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 107408, - "name": "listManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 107326, - "src": "1069:11:145", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "id": 107405, - "name": "vm", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5827, - "src": "1060:2:145", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Vm_$21485", - "typeString": "contract Vm" - } - }, - "id": 107407, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "1063:5:145", - "memberName": "prank", - "nodeType": "MemberAccess", - "referencedDeclaration": 21138, - "src": "1060:8:145", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$__$", - "typeString": "function (address) external" - } - }, - "id": 107409, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "1060:21:145", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 107410, - "nodeType": "ExpressionStatement", - "src": "1060:21:145" - }, - { - "expression": { - "arguments": [ - { - "id": 107414, - "name": "user", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 107332, - "src": "1119:4:145", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 107415, - "name": "passportData", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 107353, - "src": "1125:12:145", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PassportData_$80585_storage", - "typeString": "struct PassportData storage ref" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_struct$_PassportData_$80585_storage", - "typeString": "struct PassportData storage ref" - } - ], - "expression": { - "id": 107411, - "name": "passportScorer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 107320, - "src": "1091:14:145", - "typeDescriptions": { - "typeIdentifier": "t_contract$_PassportScorer_$81159", - "typeString": "contract PassportScorer" - } - }, - "id": 107413, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "1106:12:145", - "memberName": "addUserScore", - "nodeType": "MemberAccess", - "referencedDeclaration": 80887, - "src": "1091:27:145", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_struct$_PassportData_$80585_memory_ptr_$returns$__$", - "typeString": "function (address,struct PassportData memory) external" - } - }, - "id": 107416, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "1091:47:145", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 107417, - "nodeType": "ExpressionStatement", - "src": "1091:47:145" - }, - { - "assignments": [ - 107420 - ], - "declarations": [ - { - "constant": false, - "id": 107420, - "mutability": "mutable", - "name": "storedData", - "nameLocation": "1169:10:145", - "nodeType": "VariableDeclaration", - "scope": 107440, - "src": "1149:30:145", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PassportData_$80585_memory_ptr", - "typeString": "struct PassportData" - }, - "typeName": { - "id": 107419, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 107418, - "name": "PassportData", - "nameLocations": [ - "1149:12:145" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 80585, - "src": "1149:12:145" - }, - "referencedDeclaration": 80585, - "src": "1149:12:145", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PassportData_$80585_storage_ptr", - "typeString": "struct PassportData" - } - }, - "visibility": "internal" - } - ], - "id": 107425, - "initialValue": { - "arguments": [ - { - "id": 107423, - "name": "user", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 107332, - "src": "1210:4:145", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "id": 107421, - "name": "passportScorer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 107320, - "src": "1182:14:145", - "typeDescriptions": { - "typeIdentifier": "t_contract$_PassportScorer_$81159", - "typeString": "contract PassportScorer" - } - }, - "id": 107422, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "1197:12:145", - "memberName": "getUserScore", - "nodeType": "MemberAccess", - "referencedDeclaration": 81135, - "src": "1182:27:145", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_struct$_PassportData_$80585_memory_ptr_$", - "typeString": "function (address) view external returns (struct PassportData memory)" - } - }, - "id": 107424, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "1182:33:145", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_struct$_PassportData_$80585_memory_ptr", - "typeString": "struct PassportData memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1149:66:145" - }, - { - "expression": { - "arguments": [ - { - "expression": { - "id": 107427, - "name": "storedData", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 107420, - "src": "1234:10:145", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PassportData_$80585_memory_ptr", - "typeString": "struct PassportData memory" - } - }, - "id": 107428, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "1245:5:145", - "memberName": "score", - "nodeType": "MemberAccess", - "referencedDeclaration": 80582, - "src": "1234:16:145", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "expression": { - "id": 107429, - "name": "passportData", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 107353, - "src": "1252:12:145", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PassportData_$80585_storage", - "typeString": "struct PassportData storage ref" - } - }, - "id": 107430, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "1265:5:145", - "memberName": "score", - "nodeType": "MemberAccess", - "referencedDeclaration": 80582, - "src": "1252:18:145", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 107426, - "name": "assertEq", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 6152, - 6170, - 6185, - 6203, - 6257, - 6275, - 6329, - 6347, - 6362, - 6380, - 6424, - 6442, - 6457, - 6475, - 6492, - 6512, - 6529, - 6549, - 6566, - 6586, - 6603, - 6623, - 6640, - 6660, - 6677, - 6697, - 6714, - 6734 - ], - "referencedDeclaration": 6185, - "src": "1225:8:145", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (uint256,uint256) pure" - } - }, - "id": 107431, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "1225:46:145", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 107432, - "nodeType": "ExpressionStatement", - "src": "1225:46:145" - }, - { - "expression": { - "arguments": [ - { - "expression": { - "id": 107434, - "name": "storedData", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 107420, - "src": "1290:10:145", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PassportData_$80585_memory_ptr", - "typeString": "struct PassportData memory" - } - }, - "id": 107435, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "1301:11:145", - "memberName": "lastUpdated", - "nodeType": "MemberAccess", - "referencedDeclaration": 80584, - "src": "1290:22:145", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "expression": { - "id": 107436, - "name": "passportData", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 107353, - "src": "1314:12:145", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PassportData_$80585_storage", - "typeString": "struct PassportData storage ref" - } - }, - "id": 107437, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "1327:11:145", - "memberName": "lastUpdated", - "nodeType": "MemberAccess", - "referencedDeclaration": 80584, - "src": "1314:24:145", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 107433, - "name": "assertEq", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 6152, - 6170, - 6185, - 6203, - 6257, - 6275, - 6329, - 6347, - 6362, - 6380, - 6424, - 6442, - 6457, - 6475, - 6492, - 6512, - 6529, - 6549, - 6566, - 6586, - 6603, - 6623, - 6640, - 6660, - 6677, - 6697, - 6714, - 6734 - ], - "referencedDeclaration": 6185, - "src": "1281:8:145", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (uint256,uint256) pure" - } - }, - "id": 107438, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "1281:58:145", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 107439, - "nodeType": "ExpressionStatement", - "src": "1281:58:145" - } - ] - }, - "functionSelector": "0c2759da", - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "testAddUserScore", - "nameLocation": "1024:16:145", - "parameters": { - "id": 107403, - "nodeType": "ParameterList", - "parameters": [], - "src": "1040:2:145" - }, - "returnParameters": { - "id": 107404, - "nodeType": "ParameterList", - "parameters": [], - "src": "1050:0:145" - }, - "scope": 107928, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "id": 107490, - "nodeType": "FunctionDefinition", - "src": "1352:362:145", - "nodes": [], - "body": { - "id": 107489, - "nodeType": "Block", - "src": "1385:329:145", - "nodes": [], - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 107447, - "name": "listManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 107326, - "src": "1404:11:145", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "id": 107444, - "name": "vm", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5827, - "src": "1395:2:145", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Vm_$21485", - "typeString": "contract Vm" - } - }, - "id": 107446, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "1398:5:145", - "memberName": "prank", - "nodeType": "MemberAccess", - "referencedDeclaration": 21138, - "src": "1395:8:145", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$__$", - "typeString": "function (address) external" - } - }, - "id": 107448, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "1395:21:145", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 107449, - "nodeType": "ExpressionStatement", - "src": "1395:21:145" - }, - { - "expression": { - "arguments": [ - { - "id": 107453, - "name": "user", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 107332, - "src": "1454:4:145", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 107454, - "name": "passportData", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 107353, - "src": "1460:12:145", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PassportData_$80585_storage", - "typeString": "struct PassportData storage ref" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_struct$_PassportData_$80585_storage", - "typeString": "struct PassportData storage ref" - } - ], - "expression": { - "id": 107450, - "name": "passportScorer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 107320, - "src": "1426:14:145", - "typeDescriptions": { - "typeIdentifier": "t_contract$_PassportScorer_$81159", - "typeString": "contract PassportScorer" - } - }, - "id": 107452, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "1441:12:145", - "memberName": "addUserScore", - "nodeType": "MemberAccess", - "referencedDeclaration": 80887, - "src": "1426:27:145", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_struct$_PassportData_$80585_memory_ptr_$returns$__$", - "typeString": "function (address,struct PassportData memory) external" - } - }, - "id": 107455, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "1426:47:145", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 107456, - "nodeType": "ExpressionStatement", - "src": "1426:47:145" - }, - { - "expression": { - "arguments": [ - { - "id": 107460, - "name": "listManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 107326, - "src": "1493:11:145", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "id": 107457, - "name": "vm", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5827, - "src": "1484:2:145", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Vm_$21485", - "typeString": "contract Vm" - } - }, - "id": 107459, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "1487:5:145", - "memberName": "prank", - "nodeType": "MemberAccess", - "referencedDeclaration": 21138, - "src": "1484:8:145", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$__$", - "typeString": "function (address) external" - } - }, - "id": 107461, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "1484:21:145", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 107462, - "nodeType": "ExpressionStatement", - "src": "1484:21:145" - }, - { - "expression": { - "arguments": [ - { - "id": 107466, - "name": "user", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 107332, - "src": "1541:4:145", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "id": 107463, - "name": "passportScorer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 107320, - "src": "1515:14:145", - "typeDescriptions": { - "typeIdentifier": "t_contract$_PassportScorer_$81159", - "typeString": "contract PassportScorer" - } - }, - "id": 107465, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "1530:10:145", - "memberName": "removeUser", - "nodeType": "MemberAccess", - "referencedDeclaration": 80910, - "src": "1515:25:145", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$__$", - "typeString": "function (address) external" - } - }, - "id": 107467, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "1515:31:145", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 107468, - "nodeType": "ExpressionStatement", - "src": "1515:31:145" - }, - { - "assignments": [ - 107471 - ], - "declarations": [ - { - "constant": false, - "id": 107471, - "mutability": "mutable", - "name": "storedData", - "nameLocation": "1577:10:145", - "nodeType": "VariableDeclaration", - "scope": 107489, - "src": "1557:30:145", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PassportData_$80585_memory_ptr", - "typeString": "struct PassportData" - }, - "typeName": { - "id": 107470, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 107469, - "name": "PassportData", - "nameLocations": [ - "1557:12:145" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 80585, - "src": "1557:12:145" - }, - "referencedDeclaration": 80585, - "src": "1557:12:145", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PassportData_$80585_storage_ptr", - "typeString": "struct PassportData" - } - }, - "visibility": "internal" - } - ], - "id": 107476, - "initialValue": { - "arguments": [ - { - "id": 107474, - "name": "user", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 107332, - "src": "1618:4:145", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "id": 107472, - "name": "passportScorer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 107320, - "src": "1590:14:145", - "typeDescriptions": { - "typeIdentifier": "t_contract$_PassportScorer_$81159", - "typeString": "contract PassportScorer" - } - }, - "id": 107473, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "1605:12:145", - "memberName": "getUserScore", - "nodeType": "MemberAccess", - "referencedDeclaration": 81135, - "src": "1590:27:145", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_struct$_PassportData_$80585_memory_ptr_$", - "typeString": "function (address) view external returns (struct PassportData memory)" - } - }, - "id": 107475, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "1590:33:145", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_struct$_PassportData_$80585_memory_ptr", - "typeString": "struct PassportData memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1557:66:145" - }, - { - "expression": { - "arguments": [ - { - "expression": { - "id": 107478, - "name": "storedData", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 107471, - "src": "1642:10:145", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PassportData_$80585_memory_ptr", - "typeString": "struct PassportData memory" - } - }, - "id": 107479, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "1653:5:145", - "memberName": "score", - "nodeType": "MemberAccess", - "referencedDeclaration": 80582, - "src": "1642:16:145", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "hexValue": "30", - "id": 107480, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1660:1:145", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 107477, - "name": "assertEq", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 6152, - 6170, - 6185, - 6203, - 6257, - 6275, - 6329, - 6347, - 6362, - 6380, - 6424, - 6442, - 6457, - 6475, - 6492, - 6512, - 6529, - 6549, - 6566, - 6586, - 6603, - 6623, - 6640, - 6660, - 6677, - 6697, - 6714, - 6734 - ], - "referencedDeclaration": 6185, - "src": "1633:8:145", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (uint256,uint256) pure" - } - }, - "id": 107481, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "1633:29:145", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 107482, - "nodeType": "ExpressionStatement", - "src": "1633:29:145" - }, - { - "expression": { - "arguments": [ - { - "expression": { - "id": 107484, - "name": "storedData", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 107471, - "src": "1681:10:145", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PassportData_$80585_memory_ptr", - "typeString": "struct PassportData memory" - } - }, - "id": 107485, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "1692:11:145", - "memberName": "lastUpdated", - "nodeType": "MemberAccess", - "referencedDeclaration": 80584, - "src": "1681:22:145", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "hexValue": "30", - "id": 107486, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1705:1:145", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 107483, - "name": "assertEq", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 6152, - 6170, - 6185, - 6203, - 6257, - 6275, - 6329, - 6347, - 6362, - 6380, - 6424, - 6442, - 6457, - 6475, - 6492, - 6512, - 6529, - 6549, - 6566, - 6586, - 6603, - 6623, - 6640, - 6660, - 6677, - 6697, - 6714, - 6734 - ], - "referencedDeclaration": 6185, - "src": "1672:8:145", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (uint256,uint256) pure" - } - }, - "id": 107487, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "1672:35:145", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 107488, - "nodeType": "ExpressionStatement", - "src": "1672:35:145" - } - ] - }, - "functionSelector": "d4dadecb", - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "testRemoveUser", - "nameLocation": "1361:14:145", - "parameters": { - "id": 107442, - "nodeType": "ParameterList", - "parameters": [], - "src": "1375:2:145" - }, - "returnParameters": { - "id": 107443, - "nodeType": "ParameterList", - "parameters": [], - "src": "1385:0:145" - }, - "scope": 107928, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "id": 107522, - "nodeType": "FunctionDefinition", - "src": "1720:246:145", - "nodes": [], - "body": { - "id": 107521, - "nodeType": "Block", - "src": "1760:206:145", - "nodes": [], - "statements": [ - { - "assignments": [ - 107494 - ], - "declarations": [ - { - "constant": false, - "id": 107494, - "mutability": "mutable", - "name": "newManager", - "nameLocation": "1778:10:145", - "nodeType": "VariableDeclaration", - "scope": 107521, - "src": "1770:18:145", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 107493, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1770:7:145", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "id": 107499, - "initialValue": { - "arguments": [ - { - "hexValue": "36", - "id": 107497, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1799:1:145", - "typeDescriptions": { - "typeIdentifier": "t_rational_6_by_1", - "typeString": "int_const 6" - }, - "value": "6" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_6_by_1", - "typeString": "int_const 6" - } - ], - "id": 107496, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1791:7:145", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 107495, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1791:7:145", - "typeDescriptions": {} - } - }, - "id": 107498, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "1791:10:145", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1770:31:145" - }, - { - "expression": { - "arguments": [ - { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "id": 107503, - "name": "passportScorer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 107320, - "src": "1821:14:145", - "typeDescriptions": { - "typeIdentifier": "t_contract$_PassportScorer_$81159", - "typeString": "contract PassportScorer" - } - }, - "id": 107504, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "1836:5:145", - "memberName": "owner", - "nodeType": "MemberAccess", - "referencedDeclaration": 52865, - "src": "1821:20:145", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", - "typeString": "function () view external returns (address)" - } - }, - "id": 107505, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "1821:22:145", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "id": 107500, - "name": "vm", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5827, - "src": "1812:2:145", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Vm_$21485", - "typeString": "contract Vm" - } - }, - "id": 107502, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "1815:5:145", - "memberName": "prank", - "nodeType": "MemberAccess", - "referencedDeclaration": 21138, - "src": "1812:8:145", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$__$", - "typeString": "function (address) external" - } - }, - "id": 107506, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "1812:32:145", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 107507, - "nodeType": "ExpressionStatement", - "src": "1812:32:145" - }, - { - "expression": { - "arguments": [ - { - "id": 107511, - "name": "newManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 107494, - "src": "1887:10:145", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "id": 107508, - "name": "passportScorer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 107320, - "src": "1854:14:145", - "typeDescriptions": { - "typeIdentifier": "t_contract$_PassportScorer_$81159", - "typeString": "contract PassportScorer" - } - }, - "id": 107510, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "1869:17:145", - "memberName": "changeListManager", - "nodeType": "MemberAccess", - "referencedDeclaration": 80937, - "src": "1854:32:145", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$__$", - "typeString": "function (address) external" - } - }, - "id": 107512, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "1854:44:145", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 107513, - "nodeType": "ExpressionStatement", - "src": "1854:44:145" - }, - { - "expression": { - "arguments": [ - { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "id": 107515, - "name": "passportScorer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 107320, - "src": "1918:14:145", - "typeDescriptions": { - "typeIdentifier": "t_contract$_PassportScorer_$81159", - "typeString": "contract PassportScorer" - } - }, - "id": 107516, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "1933:11:145", - "memberName": "listManager", - "nodeType": "MemberAccess", - "referencedDeclaration": 80689, - "src": "1918:26:145", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", - "typeString": "function () view external returns (address)" - } - }, - "id": 107517, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "1918:28:145", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 107518, - "name": "newManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 107494, - "src": "1948:10:145", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 107514, - "name": "assertEq", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 6152, - 6170, - 6185, - 6203, - 6257, - 6275, - 6329, - 6347, - 6362, - 6380, - 6424, - 6442, - 6457, - 6475, - 6492, - 6512, - 6529, - 6549, - 6566, - 6586, - 6603, - 6623, - 6640, - 6660, - 6677, - 6697, - 6714, - 6734 - ], - "referencedDeclaration": 6329, - "src": "1909:8:145", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_address_$_t_address_$returns$__$", - "typeString": "function (address,address) pure" - } - }, - "id": 107519, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "1909:50:145", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 107520, - "nodeType": "ExpressionStatement", - "src": "1909:50:145" - } - ] - }, - "functionSelector": "ebe69a5f", - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "testChangeListManager", - "nameLocation": "1729:21:145", - "parameters": { - "id": 107491, - "nodeType": "ParameterList", - "parameters": [], - "src": "1750:2:145" - }, - "returnParameters": { - "id": 107492, - "nodeType": "ParameterList", - "parameters": [], - "src": "1760:0:145" - }, - "scope": 107928, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "id": 107547, - "nodeType": "FunctionDefinition", - "src": "1972:217:145", - "nodes": [], - "body": { - "id": 107546, - "nodeType": "Block", - "src": "2024:165:145", - "nodes": [], - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 107528, - "name": "unauthorizedUser", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 107350, - "src": "2043:16:145", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "id": 107525, - "name": "vm", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5827, - "src": "2034:2:145", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Vm_$21485", - "typeString": "contract Vm" - } - }, - "id": 107527, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "2037:5:145", - "memberName": "prank", - "nodeType": "MemberAccess", - "referencedDeclaration": 21138, - "src": "2034:8:145", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$__$", - "typeString": "function (address) external" - } - }, - "id": 107529, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2034:26:145", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 107530, - "nodeType": "ExpressionStatement", - "src": "2034:26:145" - }, - { - "expression": { - "arguments": [ - { - "expression": { - "expression": { - "id": 107534, - "name": "PassportScorer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81159, - "src": "2086:14:145", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_PassportScorer_$81159_$", - "typeString": "type(contract PassportScorer)" - } - }, - "id": 107535, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "2101:14:145", - "memberName": "OnlyAuthorized", - "nodeType": "MemberAccess", - "referencedDeclaration": 80743, - "src": "2086:29:145", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 107536, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "2116:8:145", - "memberName": "selector", - "nodeType": "MemberAccess", - "src": "2086:38:145", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - ], - "expression": { - "id": 107531, - "name": "vm", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5827, - "src": "2070:2:145", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Vm_$21485", - "typeString": "contract Vm" - } - }, - "id": 107533, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "2073:12:145", - "memberName": "expectRevert", - "nodeType": "MemberAccess", - "referencedDeclaration": 21452, - "src": "2070:15:145", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_bytes4_$returns$__$", - "typeString": "function (bytes4) external" - } - }, - "id": 107537, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2070:55:145", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 107538, - "nodeType": "ExpressionStatement", - "src": "2070:55:145" - }, - { - "expression": { - "arguments": [ - { - "id": 107542, - "name": "user", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 107332, - "src": "2163:4:145", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 107543, - "name": "passportData", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 107353, - "src": "2169:12:145", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PassportData_$80585_storage", - "typeString": "struct PassportData storage ref" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_struct$_PassportData_$80585_storage", - "typeString": "struct PassportData storage ref" - } - ], - "expression": { - "id": 107539, - "name": "passportScorer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 107320, - "src": "2135:14:145", - "typeDescriptions": { - "typeIdentifier": "t_contract$_PassportScorer_$81159", - "typeString": "contract PassportScorer" - } - }, - "id": 107541, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "2150:12:145", - "memberName": "addUserScore", - "nodeType": "MemberAccess", - "referencedDeclaration": 80887, - "src": "2135:27:145", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_struct$_PassportData_$80585_memory_ptr_$returns$__$", - "typeString": "function (address,struct PassportData memory) external" - } - }, - "id": 107544, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2135:47:145", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 107545, - "nodeType": "ExpressionStatement", - "src": "2135:47:145" - } - ] - }, - "functionSelector": "25821153", - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "testOnlyAuthorizedCanAddUserScore", - "nameLocation": "1981:33:145", - "parameters": { - "id": 107523, - "nodeType": "ParameterList", - "parameters": [], - "src": "2014:2:145" - }, - "returnParameters": { - "id": 107524, - "nodeType": "ParameterList", - "parameters": [], - "src": "2024:0:145" - }, - "scope": 107928, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "id": 107571, - "nodeType": "FunctionDefinition", - "src": "2195:199:145", - "nodes": [], - "body": { - "id": 107570, - "nodeType": "Block", - "src": "2245:149:145", - "nodes": [], - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 107553, - "name": "unauthorizedUser", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 107350, - "src": "2264:16:145", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "id": 107550, - "name": "vm", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5827, - "src": "2255:2:145", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Vm_$21485", - "typeString": "contract Vm" - } - }, - "id": 107552, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "2258:5:145", - "memberName": "prank", - "nodeType": "MemberAccess", - "referencedDeclaration": 21138, - "src": "2255:8:145", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$__$", - "typeString": "function (address) external" - } - }, - "id": 107554, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2255:26:145", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 107555, - "nodeType": "ExpressionStatement", - "src": "2255:26:145" - }, - { - "expression": { - "arguments": [ - { - "expression": { - "expression": { - "id": 107559, - "name": "PassportScorer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81159, - "src": "2307:14:145", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_PassportScorer_$81159_$", - "typeString": "type(contract PassportScorer)" - } - }, - "id": 107560, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "2322:14:145", - "memberName": "OnlyAuthorized", - "nodeType": "MemberAccess", - "referencedDeclaration": 80743, - "src": "2307:29:145", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 107561, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "2337:8:145", - "memberName": "selector", - "nodeType": "MemberAccess", - "src": "2307:38:145", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - ], - "expression": { - "id": 107556, - "name": "vm", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5827, - "src": "2291:2:145", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Vm_$21485", - "typeString": "contract Vm" - } - }, - "id": 107558, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "2294:12:145", - "memberName": "expectRevert", - "nodeType": "MemberAccess", - "referencedDeclaration": 21452, - "src": "2291:15:145", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_bytes4_$returns$__$", - "typeString": "function (bytes4) external" - } - }, - "id": 107562, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2291:55:145", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 107563, - "nodeType": "ExpressionStatement", - "src": "2291:55:145" - }, - { - "expression": { - "arguments": [ - { - "id": 107567, - "name": "user", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 107332, - "src": "2382:4:145", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "id": 107564, - "name": "passportScorer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 107320, - "src": "2356:14:145", - "typeDescriptions": { - "typeIdentifier": "t_contract$_PassportScorer_$81159", - "typeString": "contract PassportScorer" - } - }, - "id": 107566, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "2371:10:145", - "memberName": "removeUser", - "nodeType": "MemberAccess", - "referencedDeclaration": 80910, - "src": "2356:25:145", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$__$", - "typeString": "function (address) external" - } - }, - "id": 107568, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2356:31:145", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 107569, - "nodeType": "ExpressionStatement", - "src": "2356:31:145" - } - ] - }, - "functionSelector": "82fad478", - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "testOnlyAuthorizedCanRemoveUser", - "nameLocation": "2204:31:145", - "parameters": { - "id": 107548, - "nodeType": "ParameterList", - "parameters": [], - "src": "2235:2:145" - }, - "returnParameters": { - "id": 107549, - "nodeType": "ParameterList", - "parameters": [], - "src": "2245:0:145" - }, - "scope": 107928, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "id": 107600, - "nodeType": "FunctionDefinition", - "src": "2400:247:145", - "nodes": [], - "body": { - "id": 107599, - "nodeType": "Block", - "src": "2452:195:145", - "nodes": [], - "statements": [ - { - "assignments": [ - 107575 - ], - "declarations": [ - { - "constant": false, - "id": 107575, - "mutability": "mutable", - "name": "newManager", - "nameLocation": "2470:10:145", - "nodeType": "VariableDeclaration", - "scope": 107599, - "src": "2462:18:145", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 107574, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2462:7:145", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "id": 107580, - "initialValue": { - "arguments": [ - { - "hexValue": "36", - "id": 107578, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2491:1:145", - "typeDescriptions": { - "typeIdentifier": "t_rational_6_by_1", - "typeString": "int_const 6" - }, - "value": "6" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_6_by_1", - "typeString": "int_const 6" - } - ], - "id": 107577, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2483:7:145", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 107576, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2483:7:145", - "typeDescriptions": {} - } - }, - "id": 107579, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2483:10:145", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2462:31:145" - }, - { - "expression": { - "arguments": [ - { - "id": 107584, - "name": "listManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 107326, - "src": "2513:11:145", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "id": 107581, - "name": "vm", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5827, - "src": "2504:2:145", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Vm_$21485", - "typeString": "contract Vm" - } - }, - "id": 107583, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "2507:5:145", - "memberName": "prank", - "nodeType": "MemberAccess", - "referencedDeclaration": 21138, - "src": "2504:8:145", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$__$", - "typeString": "function (address) external" - } - }, - "id": 107585, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2504:21:145", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 107586, - "nodeType": "ExpressionStatement", - "src": "2504:21:145" - }, - { - "expression": { - "arguments": [ - { - "hexValue": "4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572", - "id": 107590, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2551:34:145", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe", - "typeString": "literal_string \"Ownable: caller is not the owner\"" - }, - "value": "Ownable: caller is not the owner" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe", - "typeString": "literal_string \"Ownable: caller is not the owner\"" - } - ], - "expression": { - "id": 107587, - "name": "vm", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5827, - "src": "2535:2:145", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Vm_$21485", - "typeString": "contract Vm" - } - }, - "id": 107589, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "2538:12:145", - "memberName": "expectRevert", - "nodeType": "MemberAccess", - "referencedDeclaration": 21458, - "src": "2535:15:145", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_bytes_memory_ptr_$returns$__$", - "typeString": "function (bytes memory) external" - } - }, - "id": 107591, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2535:51:145", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 107592, - "nodeType": "ExpressionStatement", - "src": "2535:51:145" - }, - { - "expression": { - "arguments": [ - { - "id": 107596, - "name": "newManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 107575, - "src": "2629:10:145", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "id": 107593, - "name": "passportScorer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 107320, - "src": "2596:14:145", - "typeDescriptions": { - "typeIdentifier": "t_contract$_PassportScorer_$81159", - "typeString": "contract PassportScorer" - } - }, - "id": 107595, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "2611:17:145", - "memberName": "changeListManager", - "nodeType": "MemberAccess", - "referencedDeclaration": 80937, - "src": "2596:32:145", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$__$", - "typeString": "function (address) external" - } - }, - "id": 107597, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2596:44:145", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 107598, - "nodeType": "ExpressionStatement", - "src": "2596:44:145" - } - ] - }, - "functionSelector": "24e40b97", - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "testOnlyOwnerCanChangeListManager", - "nameLocation": "2409:33:145", - "parameters": { - "id": 107572, - "nodeType": "ParameterList", - "parameters": [], - "src": "2442:2:145" - }, - "returnParameters": { - "id": 107573, - "nodeType": "ParameterList", - "parameters": [], - "src": "2452:0:145" - }, - "scope": 107928, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "id": 107648, - "nodeType": "FunctionDefinition", - "src": "2653:430:145", - "nodes": [], - "body": { - "id": 107647, - "nodeType": "Block", - "src": "2687:396:145", - "nodes": [], - "statements": [ - { - "assignments": [ - 107604 - ], - "declarations": [ - { - "constant": false, - "id": 107604, - "mutability": "mutable", - "name": "threshold", - "nameLocation": "2705:9:145", - "nodeType": "VariableDeclaration", - "scope": 107647, - "src": "2697:17:145", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 107603, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2697:7:145", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 107606, - "initialValue": { - "hexValue": "3530", - "id": 107605, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2717:2:145", - "typeDescriptions": { - "typeIdentifier": "t_rational_50_by_1", - "typeString": "int_const 50" - }, - "value": "50" - }, - "nodeType": "VariableDeclarationStatement", - "src": "2697:22:145" - }, - { - "expression": { - "arguments": [ - { - "id": 107610, - "name": "listManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 107326, - "src": "2739:11:145", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "id": 107607, - "name": "vm", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5827, - "src": "2730:2:145", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Vm_$21485", - "typeString": "contract Vm" - } - }, - "id": 107609, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "2733:5:145", - "memberName": "prank", - "nodeType": "MemberAccess", - "referencedDeclaration": 21138, - "src": "2730:8:145", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$__$", - "typeString": "function (address) external" - } - }, - "id": 107611, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2730:21:145", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 107612, - "nodeType": "ExpressionStatement", - "src": "2730:21:145" - }, - { - "expression": { - "arguments": [ - { - "id": 107616, - "name": "strategy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 107338, - "src": "2788:8:145", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 107617, - "name": "threshold", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 107604, - "src": "2798:9:145", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 107618, - "name": "councilSafe", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 107344, - "src": "2809:11:145", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "id": 107613, - "name": "passportScorer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 107320, - "src": "2761:14:145", - "typeDescriptions": { - "typeIdentifier": "t_contract$_PassportScorer_$81159", - "typeString": "contract PassportScorer" - } - }, - "id": 107615, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "2776:11:145", - "memberName": "addStrategy", - "nodeType": "MemberAccess", - "referencedDeclaration": 80996, - "src": "2761:26:145", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$_t_address_$returns$__$", - "typeString": "function (address,uint256,address) external" - } - }, - "id": 107619, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2761:60:145", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 107620, - "nodeType": "ExpressionStatement", - "src": "2761:60:145" - }, - { - "assignments": [ - 107622, - 107624, - 107626 - ], - "declarations": [ - { - "constant": false, - "id": 107622, - "mutability": "mutable", - "name": "storedThreshold", - "nameLocation": "2841:15:145", - "nodeType": "VariableDeclaration", - "scope": 107647, - "src": "2833:23:145", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 107621, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2833:7:145", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 107624, - "mutability": "mutable", - "name": "storedActive", - "nameLocation": "2863:12:145", - "nodeType": "VariableDeclaration", - "scope": 107647, - "src": "2858:17:145", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 107623, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "2858:4:145", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 107626, - "mutability": "mutable", - "name": "storedCouncilSafe", - "nameLocation": "2885:17:145", - "nodeType": "VariableDeclaration", - "scope": 107647, - "src": "2877:25:145", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 107625, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2877:7:145", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "id": 107631, - "initialValue": { - "arguments": [ - { - "id": 107629, - "name": "strategy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 107338, - "src": "2932:8:145", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "id": 107627, - "name": "passportScorer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 107320, - "src": "2906:14:145", - "typeDescriptions": { - "typeIdentifier": "t_contract$_PassportScorer_$81159", - "typeString": "contract PassportScorer" - } - }, - "id": 107628, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "2921:10:145", - "memberName": "strategies", - "nodeType": "MemberAccess", - "referencedDeclaration": 80699, - "src": "2906:25:145", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$_t_bool_$_t_address_$", - "typeString": "function (address) view external returns (uint256,bool,address)" - } - }, - "id": 107630, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2906:35:145", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_bool_$_t_address_$", - "typeString": "tuple(uint256,bool,address)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2832:109:145" - }, - { - "expression": { - "arguments": [ - { - "id": 107633, - "name": "storedThreshold", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 107622, - "src": "2960:15:145", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 107634, - "name": "threshold", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 107604, - "src": "2977:9:145", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 107632, - "name": "assertEq", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 6152, - 6170, - 6185, - 6203, - 6257, - 6275, - 6329, - 6347, - 6362, - 6380, - 6424, - 6442, - 6457, - 6475, - 6492, - 6512, - 6529, - 6549, - 6566, - 6586, - 6603, - 6623, - 6640, - 6660, - 6677, - 6697, - 6714, - 6734 - ], - "referencedDeclaration": 6185, - "src": "2951:8:145", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (uint256,uint256) pure" - } - }, - "id": 107635, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2951:36:145", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 107636, - "nodeType": "ExpressionStatement", - "src": "2951:36:145" - }, - { - "expression": { - "arguments": [ - { - "id": 107638, - "name": "storedActive", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 107624, - "src": "3006:12:145", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "66616c7365", - "id": 107639, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3020:5:145", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 107637, - "name": "assertEq", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 6152, - 6170, - 6185, - 6203, - 6257, - 6275, - 6329, - 6347, - 6362, - 6380, - 6424, - 6442, - 6457, - 6475, - 6492, - 6512, - 6529, - 6549, - 6566, - 6586, - 6603, - 6623, - 6640, - 6660, - 6677, - 6697, - 6714, - 6734 - ], - "referencedDeclaration": 6152, - "src": "2997:8:145", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_bool_$_t_bool_$returns$__$", - "typeString": "function (bool,bool) pure" - } - }, - "id": 107640, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2997:29:145", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 107641, - "nodeType": "ExpressionStatement", - "src": "2997:29:145" - }, - { - "expression": { - "arguments": [ - { - "id": 107643, - "name": "storedCouncilSafe", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 107626, - "src": "3045:17:145", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 107644, - "name": "councilSafe", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 107344, - "src": "3064:11:145", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 107642, - "name": "assertEq", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 6152, - 6170, - 6185, - 6203, - 6257, - 6275, - 6329, - 6347, - 6362, - 6380, - 6424, - 6442, - 6457, - 6475, - 6492, - 6512, - 6529, - 6549, - 6566, - 6586, - 6603, - 6623, - 6640, - 6660, - 6677, - 6697, - 6714, - 6734 - ], - "referencedDeclaration": 6329, - "src": "3036:8:145", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_address_$_t_address_$returns$__$", - "typeString": "function (address,address) pure" - } - }, - "id": 107645, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "3036:40:145", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 107646, - "nodeType": "ExpressionStatement", - "src": "3036:40:145" - } - ] - }, - "functionSelector": "9693f128", - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "testAddStrategy", - "nameLocation": "2662:15:145", - "parameters": { - "id": 107601, - "nodeType": "ParameterList", - "parameters": [], - "src": "2677:2:145" - }, - "returnParameters": { - "id": 107602, - "nodeType": "ParameterList", - "parameters": [], - "src": "2687:0:145" - }, - "scope": 107928, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "id": 107708, - "nodeType": "FunctionDefinition", - "src": "3089:544:145", - "nodes": [], - "body": { - "id": 107707, - "nodeType": "Block", - "src": "3126:507:145", - "nodes": [], - "statements": [ - { - "assignments": [ - 107652 - ], - "declarations": [ - { - "constant": false, - "id": 107652, - "mutability": "mutable", - "name": "threshold", - "nameLocation": "3144:9:145", - "nodeType": "VariableDeclaration", - "scope": 107707, - "src": "3136:17:145", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 107651, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3136:7:145", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 107654, - "initialValue": { - "hexValue": "3530", - "id": 107653, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3156:2:145", - "typeDescriptions": { - "typeIdentifier": "t_rational_50_by_1", - "typeString": "int_const 50" - }, - "value": "50" - }, - "nodeType": "VariableDeclarationStatement", - "src": "3136:22:145" - }, - { - "expression": { - "arguments": [ - { - "id": 107658, - "name": "listManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 107326, - "src": "3178:11:145", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "id": 107655, - "name": "vm", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5827, - "src": "3169:2:145", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Vm_$21485", - "typeString": "contract Vm" - } - }, - "id": 107657, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "3172:5:145", - "memberName": "prank", - "nodeType": "MemberAccess", - "referencedDeclaration": 21138, - "src": "3169:8:145", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$__$", - "typeString": "function (address) external" - } - }, - "id": 107659, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "3169:21:145", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 107660, - "nodeType": "ExpressionStatement", - "src": "3169:21:145" - }, - { - "expression": { - "arguments": [ - { - "id": 107664, - "name": "strategy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 107338, - "src": "3227:8:145", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 107665, - "name": "threshold", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 107652, - "src": "3237:9:145", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 107666, - "name": "councilSafe", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 107344, - "src": "3248:11:145", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "id": 107661, - "name": "passportScorer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 107320, - "src": "3200:14:145", - "typeDescriptions": { - "typeIdentifier": "t_contract$_PassportScorer_$81159", - "typeString": "contract PassportScorer" - } - }, - "id": 107663, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "3215:11:145", - "memberName": "addStrategy", - "nodeType": "MemberAccess", - "referencedDeclaration": 80996, - "src": "3200:26:145", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$_t_address_$returns$__$", - "typeString": "function (address,uint256,address) external" - } - }, - "id": 107667, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "3200:60:145", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 107668, - "nodeType": "ExpressionStatement", - "src": "3200:60:145" - }, - { - "expression": { - "arguments": [ - { - "id": 107672, - "name": "listManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 107326, - "src": "3280:11:145", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "id": 107669, - "name": "vm", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5827, - "src": "3271:2:145", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Vm_$21485", - "typeString": "contract Vm" - } - }, - "id": 107671, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "3274:5:145", - "memberName": "prank", - "nodeType": "MemberAccess", - "referencedDeclaration": 21138, - "src": "3271:8:145", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$__$", - "typeString": "function (address) external" - } - }, - "id": 107673, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "3271:21:145", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 107674, - "nodeType": "ExpressionStatement", - "src": "3271:21:145" - }, - { - "expression": { - "arguments": [ - { - "id": 107678, - "name": "strategy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 107338, - "src": "3332:8:145", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "id": 107675, - "name": "passportScorer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 107320, - "src": "3302:14:145", - "typeDescriptions": { - "typeIdentifier": "t_contract$_PassportScorer_$81159", - "typeString": "contract PassportScorer" - } - }, - "id": 107677, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "3317:14:145", - "memberName": "removeStrategy", - "nodeType": "MemberAccess", - "referencedDeclaration": 81029, - "src": "3302:29:145", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$__$", - "typeString": "function (address) external" - } - }, - "id": 107679, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "3302:39:145", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 107680, - "nodeType": "ExpressionStatement", - "src": "3302:39:145" - }, - { - "assignments": [ - 107682, - 107684, - 107686 - ], - "declarations": [ - { - "constant": false, - "id": 107682, - "mutability": "mutable", - "name": "storedThreshold", - "nameLocation": "3361:15:145", - "nodeType": "VariableDeclaration", - "scope": 107707, - "src": "3353:23:145", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 107681, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3353:7:145", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 107684, - "mutability": "mutable", - "name": "storedActive", - "nameLocation": "3383:12:145", - "nodeType": "VariableDeclaration", - "scope": 107707, - "src": "3378:17:145", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 107683, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "3378:4:145", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 107686, - "mutability": "mutable", - "name": "storedCouncilSafe", - "nameLocation": "3405:17:145", - "nodeType": "VariableDeclaration", - "scope": 107707, - "src": "3397:25:145", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 107685, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3397:7:145", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "id": 107691, - "initialValue": { - "arguments": [ - { - "id": 107689, - "name": "strategy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 107338, - "src": "3452:8:145", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "id": 107687, - "name": "passportScorer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 107320, - "src": "3426:14:145", - "typeDescriptions": { - "typeIdentifier": "t_contract$_PassportScorer_$81159", - "typeString": "contract PassportScorer" - } - }, - "id": 107688, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "3441:10:145", - "memberName": "strategies", - "nodeType": "MemberAccess", - "referencedDeclaration": 80699, - "src": "3426:25:145", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$_t_bool_$_t_address_$", - "typeString": "function (address) view external returns (uint256,bool,address)" - } - }, - "id": 107690, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "3426:35:145", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_bool_$_t_address_$", - "typeString": "tuple(uint256,bool,address)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "3352:109:145" - }, - { - "expression": { - "arguments": [ - { - "id": 107693, - "name": "storedThreshold", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 107682, - "src": "3480:15:145", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "hexValue": "30", - "id": 107694, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3497:1:145", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 107692, - "name": "assertEq", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 6152, - 6170, - 6185, - 6203, - 6257, - 6275, - 6329, - 6347, - 6362, - 6380, - 6424, - 6442, - 6457, - 6475, - 6492, - 6512, - 6529, - 6549, - 6566, - 6586, - 6603, - 6623, - 6640, - 6660, - 6677, - 6697, - 6714, - 6734 - ], - "referencedDeclaration": 6185, - "src": "3471:8:145", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (uint256,uint256) pure" - } - }, - "id": 107695, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "3471:28:145", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 107696, - "nodeType": "ExpressionStatement", - "src": "3471:28:145" - }, - { - "expression": { - "arguments": [ - { - "id": 107698, - "name": "storedActive", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 107684, - "src": "3518:12:145", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "66616c7365", - "id": 107699, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3532:5:145", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 107697, - "name": "assertEq", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 6152, - 6170, - 6185, - 6203, - 6257, - 6275, - 6329, - 6347, - 6362, - 6380, - 6424, - 6442, - 6457, - 6475, - 6492, - 6512, - 6529, - 6549, - 6566, - 6586, - 6603, - 6623, - 6640, - 6660, - 6677, - 6697, - 6714, - 6734 - ], - "referencedDeclaration": 6152, - "src": "3509:8:145", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_bool_$_t_bool_$returns$__$", - "typeString": "function (bool,bool) pure" - } - }, - "id": 107700, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "3509:29:145", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 107701, - "nodeType": "ExpressionStatement", - "src": "3509:29:145" - }, - { - "expression": { - "arguments": [ - { - "id": 107703, - "name": "storedCouncilSafe", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 107686, - "src": "3557:17:145", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 107704, - "name": "councilSafe", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 107344, - "src": "3576:11:145", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 107702, - "name": "assertEq", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 6152, - 6170, - 6185, - 6203, - 6257, - 6275, - 6329, - 6347, - 6362, - 6380, - 6424, - 6442, - 6457, - 6475, - 6492, - 6512, - 6529, - 6549, - 6566, - 6586, - 6603, - 6623, - 6640, - 6660, - 6677, - 6697, - 6714, - 6734 - ], - "referencedDeclaration": 6329, - "src": "3548:8:145", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_address_$_t_address_$returns$__$", - "typeString": "function (address,address) pure" - } - }, - "id": 107705, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "3548:40:145", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 107706, - "nodeType": "ExpressionStatement", - "src": "3548:40:145" - } - ] - }, - "functionSelector": "0778c72c", - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "testRemoveStrategy", - "nameLocation": "3098:18:145", - "parameters": { - "id": 107649, - "nodeType": "ParameterList", - "parameters": [], - "src": "3116:2:145" - }, - "returnParameters": { - "id": 107650, - "nodeType": "ParameterList", - "parameters": [], - "src": "3126:0:145" - }, - "scope": 107928, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "id": 107773, - "nodeType": "FunctionDefinition", - "src": "3639:580:145", - "nodes": [], - "body": { - "id": 107772, - "nodeType": "Block", - "src": "3689:530:145", - "nodes": [], - "statements": [ - { - "assignments": [ - 107712 - ], - "declarations": [ - { - "constant": false, - "id": 107712, - "mutability": "mutable", - "name": "threshold", - "nameLocation": "3707:9:145", - "nodeType": "VariableDeclaration", - "scope": 107772, - "src": "3699:17:145", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 107711, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3699:7:145", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 107714, - "initialValue": { - "hexValue": "3530", - "id": 107713, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3719:2:145", - "typeDescriptions": { - "typeIdentifier": "t_rational_50_by_1", - "typeString": "int_const 50" - }, - "value": "50" - }, - "nodeType": "VariableDeclarationStatement", - "src": "3699:22:145" - }, - { - "assignments": [ - 107716 - ], - "declarations": [ - { - "constant": false, - "id": 107716, - "mutability": "mutable", - "name": "newThreshold", - "nameLocation": "3739:12:145", - "nodeType": "VariableDeclaration", - "scope": 107772, - "src": "3731:20:145", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 107715, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3731:7:145", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 107718, - "initialValue": { - "hexValue": "3735", - "id": 107717, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3754:2:145", - "typeDescriptions": { - "typeIdentifier": "t_rational_75_by_1", - "typeString": "int_const 75" - }, - "value": "75" - }, - "nodeType": "VariableDeclarationStatement", - "src": "3731:25:145" - }, - { - "expression": { - "arguments": [ - { - "id": 107722, - "name": "listManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 107326, - "src": "3776:11:145", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "id": 107719, - "name": "vm", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5827, - "src": "3767:2:145", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Vm_$21485", - "typeString": "contract Vm" - } - }, - "id": 107721, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "3770:5:145", - "memberName": "prank", - "nodeType": "MemberAccess", - "referencedDeclaration": 21138, - "src": "3767:8:145", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$__$", - "typeString": "function (address) external" - } - }, - "id": 107723, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "3767:21:145", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 107724, - "nodeType": "ExpressionStatement", - "src": "3767:21:145" - }, - { - "expression": { - "arguments": [ - { - "id": 107728, - "name": "strategy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 107338, - "src": "3825:8:145", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 107729, - "name": "threshold", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 107712, - "src": "3835:9:145", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 107730, - "name": "councilSafe", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 107344, - "src": "3846:11:145", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "id": 107725, - "name": "passportScorer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 107320, - "src": "3798:14:145", - "typeDescriptions": { - "typeIdentifier": "t_contract$_PassportScorer_$81159", - "typeString": "contract PassportScorer" - } - }, - "id": 107727, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "3813:11:145", - "memberName": "addStrategy", - "nodeType": "MemberAccess", - "referencedDeclaration": 80996, - "src": "3798:26:145", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$_t_address_$returns$__$", - "typeString": "function (address,uint256,address) external" - } - }, - "id": 107731, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "3798:60:145", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 107732, - "nodeType": "ExpressionStatement", - "src": "3798:60:145" - }, - { - "expression": { - "arguments": [ - { - "id": 107736, - "name": "listManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 107326, - "src": "3878:11:145", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "id": 107733, - "name": "vm", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5827, - "src": "3869:2:145", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Vm_$21485", - "typeString": "contract Vm" - } - }, - "id": 107735, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "3872:5:145", - "memberName": "prank", - "nodeType": "MemberAccess", - "referencedDeclaration": 21138, - "src": "3869:8:145", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$__$", - "typeString": "function (address) external" - } - }, - "id": 107737, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "3869:21:145", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 107738, - "nodeType": "ExpressionStatement", - "src": "3869:21:145" - }, - { - "expression": { - "arguments": [ - { - "id": 107742, - "name": "strategy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 107338, - "src": "3931:8:145", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 107743, - "name": "newThreshold", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 107716, - "src": "3941:12:145", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 107739, - "name": "passportScorer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 107320, - "src": "3900:14:145", - "typeDescriptions": { - "typeIdentifier": "t_contract$_PassportScorer_$81159", - "typeString": "contract PassportScorer" - } - }, - "id": 107741, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "3915:15:145", - "memberName": "modifyThreshold", - "nodeType": "MemberAccess", - "referencedDeclaration": 81082, - "src": "3900:30:145", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256) external" - } - }, - "id": 107744, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "3900:54:145", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 107745, - "nodeType": "ExpressionStatement", - "src": "3900:54:145" - }, - { - "assignments": [ - 107747, - 107749, - 107751 - ], - "declarations": [ - { - "constant": false, - "id": 107747, - "mutability": "mutable", - "name": "storedThreshold", - "nameLocation": "3974:15:145", - "nodeType": "VariableDeclaration", - "scope": 107772, - "src": "3966:23:145", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 107746, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3966:7:145", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 107749, - "mutability": "mutable", - "name": "storedActive", - "nameLocation": "3996:12:145", - "nodeType": "VariableDeclaration", - "scope": 107772, - "src": "3991:17:145", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 107748, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "3991:4:145", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 107751, - "mutability": "mutable", - "name": "storedCouncilSafe", - "nameLocation": "4018:17:145", - "nodeType": "VariableDeclaration", - "scope": 107772, - "src": "4010:25:145", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 107750, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4010:7:145", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "id": 107756, - "initialValue": { - "arguments": [ - { - "id": 107754, - "name": "strategy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 107338, - "src": "4065:8:145", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "id": 107752, - "name": "passportScorer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 107320, - "src": "4039:14:145", - "typeDescriptions": { - "typeIdentifier": "t_contract$_PassportScorer_$81159", - "typeString": "contract PassportScorer" - } - }, - "id": 107753, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "4054:10:145", - "memberName": "strategies", - "nodeType": "MemberAccess", - "referencedDeclaration": 80699, - "src": "4039:25:145", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$_t_bool_$_t_address_$", - "typeString": "function (address) view external returns (uint256,bool,address)" - } - }, - "id": 107755, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "4039:35:145", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_bool_$_t_address_$", - "typeString": "tuple(uint256,bool,address)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "3965:109:145" - }, - { - "expression": { - "arguments": [ - { - "id": 107758, - "name": "storedThreshold", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 107747, - "src": "4093:15:145", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 107759, - "name": "newThreshold", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 107716, - "src": "4110:12:145", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 107757, - "name": "assertEq", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 6152, - 6170, - 6185, - 6203, - 6257, - 6275, - 6329, - 6347, - 6362, - 6380, - 6424, - 6442, - 6457, - 6475, - 6492, - 6512, - 6529, - 6549, - 6566, - 6586, - 6603, - 6623, - 6640, - 6660, - 6677, - 6697, - 6714, - 6734 - ], - "referencedDeclaration": 6185, - "src": "4084:8:145", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (uint256,uint256) pure" - } - }, - "id": 107760, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "4084:39:145", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 107761, - "nodeType": "ExpressionStatement", - "src": "4084:39:145" - }, - { - "expression": { - "arguments": [ - { - "id": 107763, - "name": "storedActive", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 107749, - "src": "4142:12:145", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "66616c7365", - "id": 107764, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4156:5:145", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 107762, - "name": "assertEq", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 6152, - 6170, - 6185, - 6203, - 6257, - 6275, - 6329, - 6347, - 6362, - 6380, - 6424, - 6442, - 6457, - 6475, - 6492, - 6512, - 6529, - 6549, - 6566, - 6586, - 6603, - 6623, - 6640, - 6660, - 6677, - 6697, - 6714, - 6734 - ], - "referencedDeclaration": 6152, - "src": "4133:8:145", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_bool_$_t_bool_$returns$__$", - "typeString": "function (bool,bool) pure" - } - }, - "id": 107765, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "4133:29:145", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 107766, - "nodeType": "ExpressionStatement", - "src": "4133:29:145" - }, - { - "expression": { - "arguments": [ - { - "id": 107768, - "name": "storedCouncilSafe", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 107751, - "src": "4181:17:145", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 107769, - "name": "councilSafe", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 107344, - "src": "4200:11:145", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 107767, - "name": "assertEq", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 6152, - 6170, - 6185, - 6203, - 6257, - 6275, - 6329, - 6347, - 6362, - 6380, - 6424, - 6442, - 6457, - 6475, - 6492, - 6512, - 6529, - 6549, - 6566, - 6586, - 6603, - 6623, - 6640, - 6660, - 6677, - 6697, - 6714, - 6734 - ], - "referencedDeclaration": 6329, - "src": "4172:8:145", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_address_$_t_address_$returns$__$", - "typeString": "function (address,address) pure" - } - }, - "id": 107770, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "4172:40:145", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 107771, - "nodeType": "ExpressionStatement", - "src": "4172:40:145" - } - ] - }, - "functionSelector": "e68393b4", - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "testModifyThresholdByAuthorized", - "nameLocation": "3648:31:145", - "parameters": { - "id": 107709, - "nodeType": "ParameterList", - "parameters": [], - "src": "3679:2:145" - }, - "returnParameters": { - "id": 107710, - "nodeType": "ParameterList", - "parameters": [], - "src": "3689:0:145" - }, - "scope": 107928, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "id": 107838, - "nodeType": "FunctionDefinition", - "src": "4225:581:145", - "nodes": [], - "body": { - "id": 107837, - "nodeType": "Block", - "src": "4276:530:145", - "nodes": [], - "statements": [ - { - "assignments": [ - 107777 - ], - "declarations": [ - { - "constant": false, - "id": 107777, - "mutability": "mutable", - "name": "threshold", - "nameLocation": "4294:9:145", - "nodeType": "VariableDeclaration", - "scope": 107837, - "src": "4286:17:145", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 107776, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4286:7:145", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 107779, - "initialValue": { - "hexValue": "3530", - "id": 107778, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4306:2:145", - "typeDescriptions": { - "typeIdentifier": "t_rational_50_by_1", - "typeString": "int_const 50" - }, - "value": "50" - }, - "nodeType": "VariableDeclarationStatement", - "src": "4286:22:145" - }, - { - "assignments": [ - 107781 - ], - "declarations": [ - { - "constant": false, - "id": 107781, - "mutability": "mutable", - "name": "newThreshold", - "nameLocation": "4326:12:145", - "nodeType": "VariableDeclaration", - "scope": 107837, - "src": "4318:20:145", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 107780, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4318:7:145", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 107783, - "initialValue": { - "hexValue": "3735", - "id": 107782, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4341:2:145", - "typeDescriptions": { - "typeIdentifier": "t_rational_75_by_1", - "typeString": "int_const 75" - }, - "value": "75" - }, - "nodeType": "VariableDeclarationStatement", - "src": "4318:25:145" - }, - { - "expression": { - "arguments": [ - { - "id": 107787, - "name": "listManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 107326, - "src": "4363:11:145", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "id": 107784, - "name": "vm", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5827, - "src": "4354:2:145", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Vm_$21485", - "typeString": "contract Vm" - } - }, - "id": 107786, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "4357:5:145", - "memberName": "prank", - "nodeType": "MemberAccess", - "referencedDeclaration": 21138, - "src": "4354:8:145", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$__$", - "typeString": "function (address) external" - } - }, - "id": 107788, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "4354:21:145", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 107789, - "nodeType": "ExpressionStatement", - "src": "4354:21:145" - }, - { - "expression": { - "arguments": [ - { - "id": 107793, - "name": "strategy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 107338, - "src": "4412:8:145", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 107794, - "name": "threshold", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 107777, - "src": "4422:9:145", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 107795, - "name": "councilSafe", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 107344, - "src": "4433:11:145", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "id": 107790, - "name": "passportScorer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 107320, - "src": "4385:14:145", - "typeDescriptions": { - "typeIdentifier": "t_contract$_PassportScorer_$81159", - "typeString": "contract PassportScorer" - } - }, - "id": 107792, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "4400:11:145", - "memberName": "addStrategy", - "nodeType": "MemberAccess", - "referencedDeclaration": 80996, - "src": "4385:26:145", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$_t_address_$returns$__$", - "typeString": "function (address,uint256,address) external" - } - }, - "id": 107796, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "4385:60:145", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 107797, - "nodeType": "ExpressionStatement", - "src": "4385:60:145" - }, - { - "expression": { - "arguments": [ - { - "id": 107801, - "name": "councilSafe", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 107344, - "src": "4465:11:145", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "id": 107798, - "name": "vm", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5827, - "src": "4456:2:145", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Vm_$21485", - "typeString": "contract Vm" - } - }, - "id": 107800, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "4459:5:145", - "memberName": "prank", - "nodeType": "MemberAccess", - "referencedDeclaration": 21138, - "src": "4456:8:145", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$__$", - "typeString": "function (address) external" - } - }, - "id": 107802, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "4456:21:145", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 107803, - "nodeType": "ExpressionStatement", - "src": "4456:21:145" - }, - { - "expression": { - "arguments": [ - { - "id": 107807, - "name": "strategy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 107338, - "src": "4518:8:145", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 107808, - "name": "newThreshold", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 107781, - "src": "4528:12:145", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 107804, - "name": "passportScorer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 107320, - "src": "4487:14:145", - "typeDescriptions": { - "typeIdentifier": "t_contract$_PassportScorer_$81159", - "typeString": "contract PassportScorer" - } - }, - "id": 107806, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "4502:15:145", - "memberName": "modifyThreshold", - "nodeType": "MemberAccess", - "referencedDeclaration": 81082, - "src": "4487:30:145", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256) external" - } - }, - "id": 107809, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "4487:54:145", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 107810, - "nodeType": "ExpressionStatement", - "src": "4487:54:145" - }, - { - "assignments": [ - 107812, - 107814, - 107816 - ], - "declarations": [ - { - "constant": false, - "id": 107812, - "mutability": "mutable", - "name": "storedThreshold", - "nameLocation": "4561:15:145", - "nodeType": "VariableDeclaration", - "scope": 107837, - "src": "4553:23:145", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 107811, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4553:7:145", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 107814, - "mutability": "mutable", - "name": "storedActive", - "nameLocation": "4583:12:145", - "nodeType": "VariableDeclaration", - "scope": 107837, - "src": "4578:17:145", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 107813, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "4578:4:145", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 107816, - "mutability": "mutable", - "name": "storedCouncilSafe", - "nameLocation": "4605:17:145", - "nodeType": "VariableDeclaration", - "scope": 107837, - "src": "4597:25:145", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 107815, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4597:7:145", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "id": 107821, - "initialValue": { - "arguments": [ - { - "id": 107819, - "name": "strategy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 107338, - "src": "4652:8:145", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "id": 107817, - "name": "passportScorer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 107320, - "src": "4626:14:145", - "typeDescriptions": { - "typeIdentifier": "t_contract$_PassportScorer_$81159", - "typeString": "contract PassportScorer" - } - }, - "id": 107818, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "4641:10:145", - "memberName": "strategies", - "nodeType": "MemberAccess", - "referencedDeclaration": 80699, - "src": "4626:25:145", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$_t_bool_$_t_address_$", - "typeString": "function (address) view external returns (uint256,bool,address)" - } - }, - "id": 107820, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "4626:35:145", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_bool_$_t_address_$", - "typeString": "tuple(uint256,bool,address)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4552:109:145" - }, - { - "expression": { - "arguments": [ - { - "id": 107823, - "name": "storedThreshold", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 107812, - "src": "4680:15:145", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 107824, - "name": "newThreshold", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 107781, - "src": "4697:12:145", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 107822, - "name": "assertEq", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 6152, - 6170, - 6185, - 6203, - 6257, - 6275, - 6329, - 6347, - 6362, - 6380, - 6424, - 6442, - 6457, - 6475, - 6492, - 6512, - 6529, - 6549, - 6566, - 6586, - 6603, - 6623, - 6640, - 6660, - 6677, - 6697, - 6714, - 6734 - ], - "referencedDeclaration": 6185, - "src": "4671:8:145", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (uint256,uint256) pure" - } - }, - "id": 107825, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "4671:39:145", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 107826, - "nodeType": "ExpressionStatement", - "src": "4671:39:145" - }, - { - "expression": { - "arguments": [ - { - "id": 107828, - "name": "storedActive", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 107814, - "src": "4729:12:145", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "66616c7365", - "id": 107829, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4743:5:145", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 107827, - "name": "assertEq", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 6152, - 6170, - 6185, - 6203, - 6257, - 6275, - 6329, - 6347, - 6362, - 6380, - 6424, - 6442, - 6457, - 6475, - 6492, - 6512, - 6529, - 6549, - 6566, - 6586, - 6603, - 6623, - 6640, - 6660, - 6677, - 6697, - 6714, - 6734 - ], - "referencedDeclaration": 6152, - "src": "4720:8:145", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_bool_$_t_bool_$returns$__$", - "typeString": "function (bool,bool) pure" - } - }, - "id": 107830, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "4720:29:145", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 107831, - "nodeType": "ExpressionStatement", - "src": "4720:29:145" - }, - { - "expression": { - "arguments": [ - { - "id": 107833, - "name": "storedCouncilSafe", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 107816, - "src": "4768:17:145", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 107834, - "name": "councilSafe", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 107344, - "src": "4787:11:145", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 107832, - "name": "assertEq", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 6152, - 6170, - 6185, - 6203, - 6257, - 6275, - 6329, - 6347, - 6362, - 6380, - 6424, - 6442, - 6457, - 6475, - 6492, - 6512, - 6529, - 6549, - 6566, - 6586, - 6603, - 6623, - 6640, - 6660, - 6677, - 6697, - 6714, - 6734 - ], - "referencedDeclaration": 6329, - "src": "4759:8:145", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_address_$_t_address_$returns$__$", - "typeString": "function (address,address) pure" - } - }, - "id": 107835, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "4759:40:145", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 107836, - "nodeType": "ExpressionStatement", - "src": "4759:40:145" - } - ] - }, - "functionSelector": "3668aa29", - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "testModifyThresholdByCouncilSafe", - "nameLocation": "4234:32:145", - "parameters": { - "id": 107774, - "nodeType": "ParameterList", - "parameters": [], - "src": "4266:2:145" - }, - "returnParameters": { - "id": 107775, - "nodeType": "ParameterList", - "parameters": [], - "src": "4276:0:145" - }, - "scope": 107928, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "id": 107927, - "nodeType": "FunctionDefinition", - "src": "4812:679:145", - "nodes": [], - "body": { - "id": 107926, - "nodeType": "Block", - "src": "4851:640:145", - "nodes": [], - "statements": [ - { - "assignments": [ - 107842 - ], - "declarations": [ - { - "constant": false, - "id": 107842, - "mutability": "mutable", - "name": "threshold", - "nameLocation": "4869:9:145", - "nodeType": "VariableDeclaration", - "scope": 107926, - "src": "4861:17:145", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 107841, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4861:7:145", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 107844, - "initialValue": { - "hexValue": "3530", - "id": 107843, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4881:2:145", - "typeDescriptions": { - "typeIdentifier": "t_rational_50_by_1", - "typeString": "int_const 50" - }, - "value": "50" - }, - "nodeType": "VariableDeclarationStatement", - "src": "4861:22:145" - }, - { - "expression": { - "arguments": [ - { - "id": 107848, - "name": "listManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 107326, - "src": "4903:11:145", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "id": 107845, - "name": "vm", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5827, - "src": "4894:2:145", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Vm_$21485", - "typeString": "contract Vm" - } - }, - "id": 107847, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "4897:5:145", - "memberName": "prank", - "nodeType": "MemberAccess", - "referencedDeclaration": 21138, - "src": "4894:8:145", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$__$", - "typeString": "function (address) external" - } - }, - "id": 107849, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "4894:21:145", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 107850, - "nodeType": "ExpressionStatement", - "src": "4894:21:145" - }, - { - "expression": { - "arguments": [ - { - "id": 107854, - "name": "strategy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 107338, - "src": "4952:8:145", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 107855, - "name": "threshold", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 107842, - "src": "4962:9:145", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 107856, - "name": "councilSafe", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 107344, - "src": "4973:11:145", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "id": 107851, - "name": "passportScorer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 107320, - "src": "4925:14:145", - "typeDescriptions": { - "typeIdentifier": "t_contract$_PassportScorer_$81159", - "typeString": "contract PassportScorer" - } - }, - "id": 107853, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "4940:11:145", - "memberName": "addStrategy", - "nodeType": "MemberAccess", - "referencedDeclaration": 80996, - "src": "4925:26:145", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$_t_address_$returns$__$", - "typeString": "function (address,uint256,address) external" - } - }, - "id": 107857, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "4925:60:145", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 107858, - "nodeType": "ExpressionStatement", - "src": "4925:60:145" - }, - { - "expression": { - "arguments": [ - { - "id": 107862, - "name": "councilSafe", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 107344, - "src": "5009:11:145", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "id": 107859, - "name": "vm", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5827, - "src": "4995:2:145", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Vm_$21485", - "typeString": "contract Vm" - } - }, - "id": 107861, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "4998:10:145", - "memberName": "startPrank", - "nodeType": "MemberAccess", - "referencedDeclaration": 21266, - "src": "4995:13:145", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$__$", - "typeString": "function (address) external" - } - }, - "id": 107863, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "4995:26:145", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 107864, - "nodeType": "ExpressionStatement", - "src": "4995:26:145" - }, - { - "expression": { - "arguments": [ - { - "id": 107868, - "name": "strategy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 107338, - "src": "5063:8:145", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "id": 107865, - "name": "passportScorer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 107320, - "src": "5031:14:145", - "typeDescriptions": { - "typeIdentifier": "t_contract$_PassportScorer_$81159", - "typeString": "contract PassportScorer" - } - }, - "id": 107867, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "5046:16:145", - "memberName": "activateStrategy", - "nodeType": "MemberAccess", - "referencedDeclaration": 81054, - "src": "5031:31:145", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$__$", - "typeString": "function (address) external" - } - }, - "id": 107869, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "5031:41:145", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 107870, - "nodeType": "ExpressionStatement", - "src": "5031:41:145" - }, - { - "expression": { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "id": 107871, - "name": "vm", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5827, - "src": "5082:2:145", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Vm_$21485", - "typeString": "contract Vm" - } - }, - "id": 107873, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "5085:9:145", - "memberName": "stopPrank", - "nodeType": "MemberAccess", - "referencedDeclaration": 21278, - "src": "5082:12:145", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$__$returns$__$", - "typeString": "function () external" - } - }, - "id": 107874, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "5082:14:145", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 107875, - "nodeType": "ExpressionStatement", - "src": "5082:14:145" - }, - { - "expression": { - "arguments": [ - { - "id": 107879, - "name": "listManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 107326, - "src": "5116:11:145", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "id": 107876, - "name": "vm", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5827, - "src": "5107:2:145", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Vm_$21485", - "typeString": "contract Vm" - } - }, - "id": 107878, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "5110:5:145", - "memberName": "prank", - "nodeType": "MemberAccess", - "referencedDeclaration": 21138, - "src": "5107:8:145", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$__$", - "typeString": "function (address) external" - } - }, - "id": 107880, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "5107:21:145", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 107881, - "nodeType": "ExpressionStatement", - "src": "5107:21:145" - }, - { - "expression": { - "arguments": [ - { - "id": 107885, - "name": "user", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 107332, - "src": "5166:4:145", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 107886, - "name": "passportData", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 107353, - "src": "5172:12:145", - "typeDescriptions": { - "typeIdentifier": "t_struct$_PassportData_$80585_storage", - "typeString": "struct PassportData storage ref" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_struct$_PassportData_$80585_storage", - "typeString": "struct PassportData storage ref" - } - ], - "expression": { - "id": 107882, - "name": "passportScorer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 107320, - "src": "5138:14:145", - "typeDescriptions": { - "typeIdentifier": "t_contract$_PassportScorer_$81159", - "typeString": "contract PassportScorer" - } - }, - "id": 107884, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "5153:12:145", - "memberName": "addUserScore", - "nodeType": "MemberAccess", - "referencedDeclaration": 80887, - "src": "5138:27:145", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_struct$_PassportData_$80585_memory_ptr_$returns$__$", - "typeString": "function (address,struct PassportData memory) external" - } - }, - "id": 107887, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "5138:47:145", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 107888, - "nodeType": "ExpressionStatement", - "src": "5138:47:145" - }, - { - "assignments": [ - 107890 - ], - "declarations": [ - { - "constant": false, - "id": 107890, - "mutability": "mutable", - "name": "canExecute", - "nameLocation": "5201:10:145", - "nodeType": "VariableDeclaration", - "scope": 107926, - "src": "5196:15:145", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 107889, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "5196:4:145", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "id": 107896, - "initialValue": { - "arguments": [ - { - "id": 107893, - "name": "user", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 107332, - "src": "5246:4:145", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 107894, - "name": "strategy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 107338, - "src": "5252:8:145", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "id": 107891, - "name": "passportScorer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 107320, - "src": "5214:14:145", - "typeDescriptions": { - "typeIdentifier": "t_contract$_PassportScorer_$81159", - "typeString": "contract PassportScorer" - } - }, - "id": 107892, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "5229:16:145", - "memberName": "canExecuteAction", - "nodeType": "MemberAccess", - "referencedDeclaration": 81121, - "src": "5214:31:145", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$_t_address_$returns$_t_bool_$", - "typeString": "function (address,address) view external returns (bool)" - } - }, - "id": 107895, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "5214:47:145", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5196:65:145" - }, - { - "expression": { - "arguments": [ - { - "id": 107898, - "name": "canExecute", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 107890, - "src": "5282:10:145", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 107897, - "name": "assertTrue", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 6095, - 6110 - ], - "referencedDeclaration": 6095, - "src": "5271:10:145", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 107899, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "5271:22:145", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 107900, - "nodeType": "ExpressionStatement", - "src": "5271:22:145" - }, - { - "expression": { - "arguments": [ - { - "id": 107904, - "name": "listManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 107326, - "src": "5313:11:145", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "id": 107901, - "name": "vm", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5827, - "src": "5304:2:145", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Vm_$21485", - "typeString": "contract Vm" - } - }, - "id": 107903, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "5307:5:145", - "memberName": "prank", - "nodeType": "MemberAccess", - "referencedDeclaration": 21138, - "src": "5304:8:145", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$__$", - "typeString": "function (address) external" - } - }, - "id": 107905, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "5304:21:145", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 107906, - "nodeType": "ExpressionStatement", - "src": "5304:21:145" - }, - { - "expression": { - "arguments": [ - { - "id": 107910, - "name": "strategy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 107338, - "src": "5366:8:145", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "hexValue": "313530", - "id": 107911, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5376:3:145", - "typeDescriptions": { - "typeIdentifier": "t_rational_150_by_1", - "typeString": "int_const 150" - }, - "value": "150" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_rational_150_by_1", - "typeString": "int_const 150" - } - ], - "expression": { - "id": 107907, - "name": "passportScorer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 107320, - "src": "5335:14:145", - "typeDescriptions": { - "typeIdentifier": "t_contract$_PassportScorer_$81159", - "typeString": "contract PassportScorer" - } - }, - "id": 107909, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "5350:15:145", - "memberName": "modifyThreshold", - "nodeType": "MemberAccess", - "referencedDeclaration": 81082, - "src": "5335:30:145", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256) external" - } - }, - "id": 107912, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "5335:45:145", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 107913, - "nodeType": "ExpressionStatement", - "src": "5335:45:145" - }, - { - "expression": { - "id": 107920, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 107914, - "name": "canExecute", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 107890, - "src": "5391:10:145", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "id": 107917, - "name": "user", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 107332, - "src": "5436:4:145", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 107918, - "name": "strategy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 107338, - "src": "5442:8:145", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "id": 107915, - "name": "passportScorer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 107320, - "src": "5404:14:145", - "typeDescriptions": { - "typeIdentifier": "t_contract$_PassportScorer_$81159", - "typeString": "contract PassportScorer" - } - }, - "id": 107916, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "5419:16:145", - "memberName": "canExecuteAction", - "nodeType": "MemberAccess", - "referencedDeclaration": 81121, - "src": "5404:31:145", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$_t_address_$returns$_t_bool_$", - "typeString": "function (address,address) view external returns (bool)" - } - }, - "id": 107919, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "5404:47:145", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "5391:60:145", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 107921, - "nodeType": "ExpressionStatement", - "src": "5391:60:145" - }, - { - "expression": { - "arguments": [ - { - "id": 107923, - "name": "canExecute", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 107890, - "src": "5473:10:145", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 107922, - "name": "assertFalse", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 6122, - 6137 - ], - "referencedDeclaration": 6122, - "src": "5461:11:145", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 107924, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "5461:23:145", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 107925, - "nodeType": "ExpressionStatement", - "src": "5461:23:145" - } - ] - }, - "functionSelector": "8caa5c44", - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "testCanExecuteAction", - "nameLocation": "4821:20:145", - "parameters": { - "id": 107839, - "nodeType": "ParameterList", - "parameters": [], - "src": "4841:2:145" - }, - "returnParameters": { - "id": 107840, - "nodeType": "ParameterList", - "parameters": [], - "src": "4851:0:145" - }, - "scope": 107928, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - } - ], - "abstract": false, - "baseContracts": [ - { - "baseName": { - "id": 107316, - "name": "Test", - "nameLocations": [ - "323:4:145" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 17835, - "src": "323:4:145" - }, - "id": 107317, - "nodeType": "InheritanceSpecifier", - "src": "323:4:145" - } - ], - "canonicalName": "PassportScorerTest", - "contractDependencies": [ - 55562, - 81159 - ], - "contractKind": "contract", - "fullyImplemented": true, - "linearizedBaseContracts": [ - 107928, - 17835, - 17783, - 12463, - 12138, - 11345, - 9285, - 8503, - 5834, - 5831 - ], - "name": "PassportScorerTest", - "nameLocation": "301:18:145", - "scope": 107929, - "usedErrors": [] - } - ], - "license": "AGPL-3.0-or-later" - }, - "id": 145 -} \ No newline at end of file +{"abi":[{"type":"function","name":"IS_TEST","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"councilSafe","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"excludeArtifacts","inputs":[],"outputs":[{"name":"excludedArtifacts_","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"excludeContracts","inputs":[],"outputs":[{"name":"excludedContracts_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"excludeSenders","inputs":[],"outputs":[{"name":"excludedSenders_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"failed","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"listManager","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"passportData","inputs":[],"outputs":[{"name":"score","type":"uint256","internalType":"uint256"},{"name":"lastUpdated","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"passportScorer","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract PassportScorer"}],"stateMutability":"view"},{"type":"function","name":"setUp","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"strategy","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"targetArtifactSelectors","inputs":[],"outputs":[{"name":"targetedArtifactSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzSelector[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetArtifacts","inputs":[],"outputs":[{"name":"targetedArtifacts_","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"targetContracts","inputs":[],"outputs":[{"name":"targetedContracts_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"targetInterfaces","inputs":[],"outputs":[{"name":"targetedInterfaces_","type":"tuple[]","internalType":"struct StdInvariant.FuzzInterface[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"artifacts","type":"string[]","internalType":"string[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetSelectors","inputs":[],"outputs":[{"name":"targetedSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzSelector[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetSenders","inputs":[],"outputs":[{"name":"targetedSenders_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"testAddStrategy","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testAddUserScore","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testCanExecuteAction","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testChangeListManager","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testModifyThresholdByAuthorized","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testModifyThresholdByCouncilSafe","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testOnlyAuthorizedCanAddUserScore","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testOnlyAuthorizedCanRemoveUser","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testOnlyOwnerCanChangeListManager","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testRemoveStrategy","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testRemoveUser","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"unauthorizedUser","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"user","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"event","name":"log","inputs":[{"name":"","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_address","inputs":[{"name":"","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"uint256[]","indexed":false,"internalType":"uint256[]"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"int256[]","indexed":false,"internalType":"int256[]"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"address[]","indexed":false,"internalType":"address[]"}],"anonymous":false},{"type":"event","name":"log_bytes","inputs":[{"name":"","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"log_bytes32","inputs":[{"name":"","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"log_int","inputs":[{"name":"","type":"int256","indexed":false,"internalType":"int256"}],"anonymous":false},{"type":"event","name":"log_named_address","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256[]","indexed":false,"internalType":"uint256[]"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256[]","indexed":false,"internalType":"int256[]"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"address[]","indexed":false,"internalType":"address[]"}],"anonymous":false},{"type":"event","name":"log_named_bytes","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"log_named_bytes32","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"log_named_decimal_int","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256","indexed":false,"internalType":"int256"},{"name":"decimals","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_named_decimal_uint","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"decimals","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_named_int","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256","indexed":false,"internalType":"int256"}],"anonymous":false},{"type":"event","name":"log_named_string","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_named_uint","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_string","inputs":[{"name":"","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_uint","inputs":[{"name":"","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"logs","inputs":[{"name":"","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false}],"bytecode":{"object":"0x6080604052600c805460ff199081166001908117909255601e805490911682179055601f80546001600160a01b0319908116909217905560208054821660021790556021805482166003179055602280548216600417905560238054909116600517905534801561006f57600080fd5b506149f68061007f6000396000f3fe60806040523480156200001157600080fd5b5060043610620002015760003560e01c80636c53db9a1162000119578063a8c62e7611620000af578063e20c9f71116200007a578063e20c9f7114620003d2578063e68393b414620003dc578063ebe69a5f14620003e6578063fa7626d414620003f057600080fd5b8063a8c62e76146200038f578063b5508aa914620003a3578063ba414fa614620003ad578063d4dadecb14620003c857600080fd5b80638caa5c4411620000f05780638caa5c44146200035d5780638df8b2fe1462000367578063916a17c6146200037b5780639693f128146200038557600080fd5b80636c53db9a146200032657806382fad478146200033a57806385226c81146200034457600080fd5b80632ade3880116200019b5780633f7286f411620001665780633f7286f414620002d65780634905e83114620002e05780634f8632ba14620002f957806366d9a9a0146200030d57600080fd5b80632ade3880146200027c5780633668aa2914620002955780633e5e3c23146200029f5780633ea7771b14620002a957600080fd5b80630c2759da11620001dc5780630c2759da14620002455780631ed7831c146200024f57806324e40b97146200026857806325821153146200027257600080fd5b8063073a2d8c14620002065780630778c72c146200022f5780630a9254e4146200023b575b600080fd5b60245460255462000215919082565b604080519283526020830191909152015b60405180910390f35b62000239620003fe565b005b62000239620006a1565b62000239620007c3565b6200025962000953565b604051620002269190620025da565b62000239620009b7565b6200023962000b44565b6200028662000c99565b60405162000226919062002671565b6200023962000de7565b6200025962001075565b602354620002bd906001600160a01b031681565b6040516001600160a01b03909116815260200162000226565b62000259620010d7565b601e54620002bd9061010090046001600160a01b031681565b602054620002bd906001600160a01b031681565b6200031762001139565b60405162000226919062002737565b602254620002bd906001600160a01b031681565b6200023962001223565b6200034e6200133d565b60405162000226919062002806565b6200023962001417565b601f54620002bd906001600160a01b031681565b6200031762001980565b6200023962001a6a565b602154620002bd906001600160a01b031681565b6200034e62001bec565b620003b762001cc6565b604051901515815260200162000226565b6200023962001d9e565b6200025962002002565b6200023962002064565b620002396200219c565b601e54620003b79060ff1681565b601f5460405163ca669fa760e01b81526001600160a01b039091166004820152603290737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ca669fa790602401600060405180830381600087803b1580156200045b57600080fd5b505af115801562000470573d6000803e3d6000fd5b5050601e5460215460225460405163fc2ebdd160e01b81526001600160a01b03928316600482015260248101879052908216604482015261010090920416925063fc2ebdd19150606401600060405180830381600087803b158015620004d557600080fd5b505af1158015620004ea573d6000803e3d6000fd5b5050601f5460405163ca669fa760e01b81526001600160a01b039091166004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d925063ca669fa79150602401600060405180830381600087803b1580156200054857600080fd5b505af11580156200055d573d6000803e3d6000fd5b5050601e546021546040517f175188e80000000000000000000000000000000000000000000000000000000081526001600160a01b03918216600482015261010090920416925063175188e89150602401600060405180830381600087803b158015620005c957600080fd5b505af1158015620005de573d6000803e3d6000fd5b5050601e546021546040516339ebf82360e01b81526001600160a01b0391821660048201526000945084935083926101009004909116906339ebf82390602401606060405180830381865afa1580156200063c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200066291906200289a565b92509250925062000675836000620023a8565b6200068282600062002432565b6022546200069b9082906001600160a01b03166200248d565b50505050565b6000604051620006b190620025be565b604051809103906000f080158015620006ce573d6000803e3d6000fd5b50601f54604080516001600160a01b0390921660248084019190915281518084039091018152604490920181526020820180516001600160e01b03167fc4d66de800000000000000000000000000000000000000000000000000000000179052516200073a90620025cc565b62000747929190620028db565b604051809103906000f08015801562000764573d6000803e3d6000fd5b50601e80546001600160a01b03909216610100027fffffffffffffffffffffff0000000000000000000000000000000000000000ff90921691909117905550604080518082019091526064808252426020909201829052602455602555565b601f5460405163ca669fa760e01b81526001600160a01b039091166004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ca669fa790602401600060405180830381600087803b1580156200081d57600080fd5b505af115801562000832573d6000803e3d6000fd5b5050601e54602054604051630f029aad60e31b81526001600160a01b03918216600482015260248054908201526025546044820152610100909204169250637814d5689150606401600060405180830381600087803b1580156200089557600080fd5b505af1158015620008aa573d6000803e3d6000fd5b5050601e5460205460405163b34e0c4760e01b81526001600160a01b0391821660048201526000945061010090920416915063b34e0c47906024016040805180830381865afa15801562000902573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000928919062002907565b80516024549192506200093b91620023a8565b620009508160200151602460010154620023a8565b50565b60606016805480602002602001604051908101604052809291908181526020018280548015620009ad57602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116200098e575b5050505050905090565b601f5460405163ca669fa760e01b81526001600160a01b039091166004820152600690737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ca669fa790602401600060405180830381600087803b15801562000a1457600080fd5b505af115801562000a29573d6000803e3d6000fd5b50506040517ff28dceb300000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152737109709ecfa91a80626ff3989d68f67f5b1dd12d925063f28dceb39150606401600060405180830381600087803b15801562000ac157600080fd5b505af115801562000ad6573d6000803e3d6000fd5b5050601e546040516303d4768360e41b81526001600160a01b0385811660048301526101009092049091169250633d4768309150602401600060405180830381600087803b15801562000b2857600080fd5b505af115801562000b3d573d6000803e3d6000fd5b5050505050565b60235460405163ca669fa760e01b81526001600160a01b039091166004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ca669fa790602401600060405180830381600087803b15801562000b9e57600080fd5b505af115801562000bb3573d6000803e3d6000fd5b5050604051630618f58760e51b8152637d7b71b560e01b6004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d925063c31eb0e09150602401600060405180830381600087803b15801562000c0b57600080fd5b505af115801562000c20573d6000803e3d6000fd5b5050601e54602054604051630f029aad60e31b81526001600160a01b03918216600482015260248054908201526025546044820152610100909204169250637814d56891506064015b600060405180830381600087803b15801562000c8457600080fd5b505af11580156200069b573d6000803e3d6000fd5b6060601d805480602002602001604051908101604052809291908181526020016000905b8282101562000dde57600084815260208082206040805180820182526002870290920180546001600160a01b03168352600181018054835181870281018701909452808452939591948681019491929084015b8282101562000dc657838290600052602060002001805462000d329062002966565b80601f016020809104026020016040519081016040528092919081815260200182805462000d609062002966565b801562000db15780601f1062000d855761010080835404028352916020019162000db1565b820191906000526020600020905b81548152906001019060200180831162000d9357829003601f168201915b50505050508152602001906001019062000d10565b50505050815250508152602001906001019062000cbd565b50505050905090565b601f5460405163ca669fa760e01b81526001600160a01b039091166004820152603290604b90737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ca669fa790602401600060405180830381600087803b15801562000e4757600080fd5b505af115801562000e5c573d6000803e3d6000fd5b5050601e5460215460225460405163fc2ebdd160e01b81526001600160a01b03928316600482015260248101889052908216604482015261010090920416925063fc2ebdd19150606401600060405180830381600087803b15801562000ec157600080fd5b505af115801562000ed6573d6000803e3d6000fd5b505060225460405163ca669fa760e01b81526001600160a01b039091166004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d925063ca669fa791506024015b600060405180830381600087803b15801562000f3557600080fd5b505af115801562000f4a573d6000803e3d6000fd5b5050601e5460215460405163642ce76b60e01b81526001600160a01b0391821660048201526024810186905261010090920416925063642ce76b9150604401600060405180830381600087803b15801562000fa457600080fd5b505af115801562000fb9573d6000803e3d6000fd5b5050601e546021546040516339ebf82360e01b81526001600160a01b0391821660048201526000945084935083926101009004909116906339ebf82390602401606060405180830381865afa15801562001017573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200103d91906200289a565b9250925092506200104f8385620023a8565b6200105c82600062002432565b60225462000b3d9082906001600160a01b03166200248d565b60606018805480602002602001604051908101604052809291908181526020018280548015620009ad576020028201919060005260206000209081546001600160a01b031681526001909101906020018083116200098e575050505050905090565b60606017805480602002602001604051908101604052809291908181526020018280548015620009ad576020028201919060005260206000209081546001600160a01b031681526001909101906020018083116200098e575050505050905090565b6060601b805480602002602001604051908101604052809291908181526020016000905b8282101562000dde5760008481526020908190206040805180820182526002860290920180546001600160a01b031683526001810180548351818702810187019094528084529394919385830193928301828280156200120a57602002820191906000526020600020906000905b82829054906101000a900460e01b6001600160e01b03191681526020019060040190602082600301049283019260010382029150808411620011cb5790505b505050505081525050815260200190600101906200115d565b60235460405163ca669fa760e01b81526001600160a01b039091166004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ca669fa790602401600060405180830381600087803b1580156200127d57600080fd5b505af115801562001292573d6000803e3d6000fd5b5050604051630618f58760e51b8152637d7b71b560e01b6004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d925063c31eb0e09150602401600060405180830381600087803b158015620012ea57600080fd5b505af1158015620012ff573d6000803e3d6000fd5b5050601e5460205460405163130aea3160e31b81526001600160a01b0391821660048201526101009092041692506398575188915060240162000c69565b6060601a805480602002602001604051908101604052809291908181526020016000905b8282101562000dde578382906000526020600020018054620013839062002966565b80601f0160208091040260200160405190810160405280929190818152602001828054620013b19062002966565b8015620014025780601f10620013d65761010080835404028352916020019162001402565b820191906000526020600020905b815481529060010190602001808311620013e457829003601f168201915b50505050508152602001906001019062001361565b601f5460405163ca669fa760e01b81526001600160a01b039091166004820152603290737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ca669fa790602401600060405180830381600087803b1580156200147457600080fd5b505af115801562001489573d6000803e3d6000fd5b5050601e5460215460225460405163fc2ebdd160e01b81526001600160a01b03928316600482015260248101879052908216604482015261010090920416925063fc2ebdd19150606401600060405180830381600087803b158015620014ee57600080fd5b505af115801562001503573d6000803e3d6000fd5b50506022546040517f06447d560000000000000000000000000000000000000000000000000000000081526001600160a01b039091166004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d92506306447d569150602401600060405180830381600087803b1580156200157a57600080fd5b505af11580156200158f573d6000803e3d6000fd5b5050601e546021546040517fd80ea5a00000000000000000000000000000000000000000000000000000000081526001600160a01b03918216600482015261010090920416925063d80ea5a09150602401600060405180830381600087803b158015620015fb57600080fd5b505af115801562001610573d6000803e3d6000fd5b505050507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156200167357600080fd5b505af115801562001688573d6000803e3d6000fd5b5050601f5460405163ca669fa760e01b81526001600160a01b039091166004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d925063ca669fa79150602401600060405180830381600087803b158015620016e657600080fd5b505af1158015620016fb573d6000803e3d6000fd5b5050601e54602054604051630f029aad60e31b81526001600160a01b03918216600482015260248054908201526025546044820152610100909204169250637814d5689150606401600060405180830381600087803b1580156200175e57600080fd5b505af115801562001773573d6000803e3d6000fd5b5050601e546020546021546040516302154c3d60e51b81526001600160a01b0392831660048201529082166024820152600094506101009092041691506342a987a090604401602060405180830381865afa158015620017d7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620017fd9190620029a2565b90506200180a81620024ef565b601f5460405163ca669fa760e01b81526001600160a01b039091166004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ca669fa790602401600060405180830381600087803b1580156200186457600080fd5b505af115801562001879573d6000803e3d6000fd5b5050601e5460215460405163642ce76b60e01b81526001600160a01b0391821660048201526096602482015261010090920416925063642ce76b9150604401600060405180830381600087803b158015620018d357600080fd5b505af1158015620018e8573d6000803e3d6000fd5b5050601e546020546021546040516302154c3d60e51b81526001600160a01b03928316600482015290821660248201526101009092041692506342a987a09150604401602060405180830381865afa15801562001949573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200196f9190620029a2565b90506200197c816200256b565b5050565b6060601c805480602002602001604051908101604052809291908181526020016000905b8282101562000dde5760008481526020908190206040805180820182526002860290920180546001600160a01b0316835260018101805483518187028101870190945280845293949193858301939283018282801562001a5157602002820191906000526020600020906000905b82829054906101000a900460e01b6001600160e01b0319168152602001906004019060208260030104928301926001038202915080841162001a125790505b50505050508152505081526020019060010190620019a4565b601f5460405163ca669fa760e01b81526001600160a01b039091166004820152603290737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ca669fa790602401600060405180830381600087803b15801562001ac757600080fd5b505af115801562001adc573d6000803e3d6000fd5b5050601e5460215460225460405163fc2ebdd160e01b81526001600160a01b03928316600482015260248101879052908216604482015261010090920416925063fc2ebdd19150606401600060405180830381600087803b15801562001b4157600080fd5b505af115801562001b56573d6000803e3d6000fd5b5050601e546021546040516339ebf82360e01b81526001600160a01b0391821660048201526000945084935083926101009004909116906339ebf82390602401606060405180830381865afa15801562001bb4573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001bda91906200289a565b925092509250620006758385620023a8565b60606019805480602002602001604051908101604052809291908181526020016000905b8282101562000dde57838290600052602060002001805462001c329062002966565b80601f016020809104026020016040519081016040528092919081815260200182805462001c609062002966565b801562001cb15780601f1062001c855761010080835404028352916020019162001cb1565b820191906000526020600020905b81548152906001019060200180831162001c9357829003601f168201915b50505050508152602001906001019062001c10565b60085460009060ff161562001cdf575060085460ff1690565b6040517f667f9d70000000000000000000000000000000000000000000000000000000008152737109709ecfa91a80626ff3989d68f67f5b1dd12d600482018190527f6661696c65640000000000000000000000000000000000000000000000000000602483015260009163667f9d7090604401602060405180830381865afa15801562001d71573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001d979190620029c7565b1415905090565b601f5460405163ca669fa760e01b81526001600160a01b039091166004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ca669fa790602401600060405180830381600087803b15801562001df857600080fd5b505af115801562001e0d573d6000803e3d6000fd5b5050601e54602054604051630f029aad60e31b81526001600160a01b03918216600482015260248054908201526025546044820152610100909204169250637814d5689150606401600060405180830381600087803b15801562001e7057600080fd5b505af115801562001e85573d6000803e3d6000fd5b5050601f5460405163ca669fa760e01b81526001600160a01b039091166004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d925063ca669fa79150602401600060405180830381600087803b15801562001ee357600080fd5b505af115801562001ef8573d6000803e3d6000fd5b5050601e5460205460405163130aea3160e31b81526001600160a01b03918216600482015261010090920416925063985751889150602401600060405180830381600087803b15801562001f4b57600080fd5b505af115801562001f60573d6000803e3d6000fd5b5050601e5460205460405163b34e0c4760e01b81526001600160a01b0391821660048201526000945061010090920416915063b34e0c47906024016040805180830381865afa15801562001fb8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001fde919062002907565b905062001ff181600001516000620023a8565b6200095081602001516000620023a8565b60606015805480602002602001604051908101604052809291908181526020018280548015620009ad576020028201919060005260206000209081546001600160a01b031681526001909101906020018083116200098e575050505050905090565b601f5460405163ca669fa760e01b81526001600160a01b039091166004820152603290604b90737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ca669fa790602401600060405180830381600087803b158015620020c457600080fd5b505af1158015620020d9573d6000803e3d6000fd5b5050601e5460215460225460405163fc2ebdd160e01b81526001600160a01b03928316600482015260248101889052908216604482015261010090920416925063fc2ebdd19150606401600060405180830381600087803b1580156200213e57600080fd5b505af115801562002153573d6000803e3d6000fd5b5050601f5460405163ca669fa760e01b81526001600160a01b039091166004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d925063ca669fa7915060240162000f1a565b601e54604080517f8da5cb5b0000000000000000000000000000000000000000000000000000000081529051600692737109709ecfa91a80626ff3989d68f67f5b1dd12d9263ca669fa7926101009092046001600160a01b031691638da5cb5b916004808201926020929091908290030181865afa15801562002223573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620022499190620029e1565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b158015620022a357600080fd5b505af1158015620022b8573d6000803e3d6000fd5b5050601e546040516303d4768360e41b81526001600160a01b0385811660048301526101009092049091169250633d4768309150602401600060405180830381600087803b1580156200230a57600080fd5b505af11580156200231f573d6000803e3d6000fd5b5050505062000950601e60019054906101000a90046001600160a01b03166001600160a01b0316638df8b2fe6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200237b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620023a19190620029e1565b826200248d565b6040517f98296c540000000000000000000000000000000000000000000000000000000081526004810183905260248101829052737109709ecfa91a80626ff3989d68f67f5b1dd12d906398296c54906044015b60006040518083038186803b1580156200241557600080fd5b505afa1580156200242a573d6000803e3d6000fd5b505050505050565b6040517ff7fe347700000000000000000000000000000000000000000000000000000000815282151560048201528115156024820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9063f7fe347790604401620023fc565b6040517f515361f60000000000000000000000000000000000000000000000000000000081526001600160a01b03808416600483015282166024820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9063515361f690604401620023fc565b6040517f0c9fd5810000000000000000000000000000000000000000000000000000000081528115156004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d90630c9fd581906024015b60006040518083038186803b1580156200255657600080fd5b505afa15801562000b3d573d6000803e3d6000fd5b6040517fa59828850000000000000000000000000000000000000000000000000000000081528115156004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9063a5982885906024016200253d565b611ad38062002a0083390190565b6104ee80620044d383390190565b6020808252825182820181905260009190848201906040850190845b818110156200261d5783516001600160a01b031683529284019291840191600101620025f6565b50909695505050505050565b6000815180845260005b81811015620026515760208185018101518683018201520162002633565b506000602082860101526020601f19601f83011685010191505092915050565b602080825282518282018190526000919060409081850190600581811b8701840188860187805b858110156200272757603f198b8503018752825180516001600160a01b031685528901518985018990528051898601819052908a0190606081881b870181019190870190855b818110156200271057605f19898503018352620026fd84865162002629565b948e01949350918d0191600101620026de565b505050978a01979450509188019160010162002698565b50919a9950505050505050505050565b60006020808301818452808551808352604092508286019150828160051b8701018488016000805b84811015620027f757898403603f19018652825180516001600160a01b03168552880151888501889052805188860181905290890190839060608701905b80831015620027e15783517fffffffff00000000000000000000000000000000000000000000000000000000168252928b019260019290920191908b01906200279d565b50978a019795505050918701916001016200275f565b50919998505050505050505050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b828110156200285f57603f198886030184526200284c85835162002629565b945092850192908501906001016200282d565b5092979650505050505050565b805180151581146200287d57600080fd5b919050565b80516001600160a01b03811681146200287d57600080fd5b600080600060608486031215620028b057600080fd5b83519250620028c2602085016200286c565b9150620028d26040850162002882565b90509250925092565b6001600160a01b0383168152604060208201526000620028ff604083018462002629565b949350505050565b6000604082840312156200291a57600080fd5b6040516040810181811067ffffffffffffffff821117156200294c57634e487b7160e01b600052604160045260246000fd5b604052825181526020928301519281019290925250919050565b600181811c908216806200297b57607f821691505b6020821081036200299c57634e487b7160e01b600052602260045260246000fd5b50919050565b600060208284031215620029b557600080fd5b620029c0826200286c565b9392505050565b600060208284031215620029da57600080fd5b5051919050565b600060208284031215620029f457600080fd5b620029c0826200288256fe60a06040523060805234801561001457600080fd5b50608051611a8761004c60003960008181610656015281816106e0015281816108ce015281816109530152610a390152611a876000f3fe60806040526004361061015f5760003560e01c80637814d568116100c0578063c4d66de811610074578063f2fde38b11610059578063f2fde38b14610469578063f8806a1314610489578063fc2ebdd11461052f57600080fd5b8063c4d66de814610429578063d80ea5a01461044957600080fd5b80638df8b2fe116100a55780638df8b2fe1461036c578063985751881461038c578063b34e0c47146103ac57600080fd5b80637814d5681461031a5780638da5cb5b1461033a57600080fd5b806342a987a01161011757806352d1902d116100fc57806352d1902d146102c2578063642ce76b146102e5578063715018a61461030557600080fd5b806342a987a01461027f5780634f1ef286146102af57600080fd5b80633659cfe6116101485780633659cfe6146101d457806339ebf823146101f45780633d4768301461025f57600080fd5b80631413d4c014610164578063175188e8146101b2575b600080fd5b34801561017057600080fd5b5061019861017f366004611771565b6066602052600090815260409020805460019091015482565b604080519283526020830191909152015b60405180910390f35b3480156101be57600080fd5b506101d26101cd366004611771565b61054f565b005b3480156101e057600080fd5b506101d26101ef366004611771565b61064c565b34801561020057600080fd5b5061023b61020f366004611771565b6067602052600090815260409020805460019091015460ff81169061010090046001600160a01b031683565b6040805193845291151560208401526001600160a01b0316908201526060016101a9565b34801561026b57600080fd5b506101d261027a366004611771565b6107cc565b34801561028b57600080fd5b5061029f61029a36600461178c565b61083c565b60405190151581526020016101a9565b6101d26102bd36600461181f565b6108c4565b3480156102ce57600080fd5b506102d7610a2c565b6040519081526020016101a9565b3480156102f157600080fd5b506101d26103003660046118c5565b610af1565b34801561031157600080fd5b506101d2610bc6565b34801561032657600080fd5b506101d26103353660046118ef565b610bda565b34801561034657600080fd5b506033546001600160a01b03165b6040516001600160a01b0390911681526020016101a9565b34801561037857600080fd5b50606554610354906001600160a01b031681565b34801561039857600080fd5b506101d26103a7366004611771565b610ca2565b3480156103b857600080fd5b5061040e6103c7366004611771565b6040805180820190915260008082526020820152506001600160a01b0316600090815260666020908152604091829020825180840190935280548352600101549082015290565b604080518251815260209283015192810192909252016101a9565b34801561043557600080fd5b506101d2610444366004611771565b610d1d565b34801561045557600080fd5b506101d2610464366004611771565b610e6e565b34801561047557600080fd5b506101d2610484366004611771565b610f27565b34801561049557600080fd5b506105026104a4366004611771565b6040805160608082018352600080835260208084018290529284018190526001600160a01b0394851681526067835283902083519182018452805482526001015460ff81161515928201929092526101009091049092169082015290565b6040805182518152602080840151151590820152918101516001600160a01b0316908201526060016101a9565b34801561053b57600080fd5b506101d261054a366004611962565b610fb4565b806105626033546001600160a01b031690565b6001600160a01b0316336001600160a01b0316148061058b57506065546001600160a01b031633145b806105b757506001600160a01b0381811660009081526067602052604090206001015461010090041633145b15610616576105c582611148565b6001600160a01b03821660008181526067602052604080822060018101805460ff19169055829055517f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea49190a25050565b6040517fe3b6914b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036106de5760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b19195b1959d85d1958d85b1b60a21b60648201526084015b60405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166107397f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b6001600160a01b0316146107a45760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b6163746976652070726f787960a01b60648201526084016106d5565b6107ad81611188565b604080516000808252602082019092526107c991839190611190565b50565b6107d4611330565b6107dd81611148565b606580546001600160a01b0383811673ffffffffffffffffffffffffffffffffffffffff19831681179093556040519116919082907f5117c6c457d7b27a4cb68df40b118f157ac1f1ba81f8a571d189f829d74fbc8690600090a35050565b6001600160a01b03808316600090815260666020908152604080832081518083018352815481526001918201548185015286861685526067845282852083516060810185528154815292015460ff81161515948301859052610100900490951691810191909152919291906108b6576001925050506108be565b519051101590505b92915050565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036109515760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b19195b1959d85d1958d85b1b60a21b60648201526084016106d5565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166109ac7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b6001600160a01b031614610a175760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b6163746976652070726f787960a01b60648201526084016106d5565b610a2082611188565b61064882826001611190565b6000306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610acc5760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c000000000000000060648201526084016106d5565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc90565b81610b046033546001600160a01b031690565b6001600160a01b0316336001600160a01b03161480610b2d57506065546001600160a01b031633145b80610b5957506001600160a01b0381811660009081526067602052604090206001015461010090041633145b1561061657610b6783611148565b6001600160a01b03831660008181526067602052604090819020849055517f40ba4d5d9facd2fda74e22251d1638576e05a30482470363c7c87a7b5b298c0990610bb49085815260200190565b60405180910390a2505050565b505050565b610bce611330565b610bd8600061138a565b565b6033546001600160a01b0316331480610bfd57506065546001600160a01b031633145b15610c7057610c0b82611148565b6001600160a01b03821660008181526066602090815260409182902084518082558583015160019092018290558351908152918201527f1e0ca12706807bceff25136f95fe6f69c1319c044f6073e6056a287e4f541b1d910160405180910390a25050565b6040517f7d7b71b500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6033546001600160a01b0316331480610cc557506065546001600160a01b031633145b15610c7057610cd381611148565b6001600160a01b038116600081815260666020526040808220828155600101829055517fe9dce8c992623ce791725b21e857e33248d1f190a25b5168313420eebdaae99d9190a250565b600054610100900460ff1615808015610d3d5750600054600160ff909116105b80610d575750303b158015610d57575060005460ff166001145b610dc95760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084016106d5565b6000805460ff191660011790558015610dec576000805461ff0019166101001790555b610df46113e9565b610dfd82611148565b6065805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0384161790558015610648576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b6001600160a01b038082166000908152606760205260409020600101548291610100909104163303610ef557610ea382611148565b6001600160a01b0382166000818152606760205260408082206001908101805460ff19169091179055517f652f053fc39779b70b29678135ade972fcb79966fc68fcb77c996b1aa4fd9afb9190a25050565b6040517f97ffbac900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610f2f611330565b6001600160a01b038116610fab5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084016106d5565b6107c98161138a565b6033546001600160a01b0316331480610fd757506065546001600160a01b031633145b15610c7057610fe583611148565b610fee81611148565b6001600160a01b03831660009081526067602052604090205415158061103557506001600160a01b0383811660009081526067602052604090206001015461010090041615155b1561106c576040517fc45546f700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040805160608082018352848252600060208084018281526001600160a01b038781168688018181528b831680875260678652898720985189559351600190980180549151909316610100027fffffffffffffffffffffff0000000000000000000000000000000000000000ff981515989098167fffffffffffffffffffffff000000000000000000000000000000000000000000909116179690961790558551888152918201929092529384019290925290917f9b1a157188de9a0bd2e7995d72aaba244d9bd012ddf3ae3d4f492135175070cb9101610bb4565b6001600160a01b0381166107c9576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6107c9611330565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff16156111c357610bc18361145c565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa92505050801561121d575060408051601f3d908101601f1916820190925261121a9181019061199e565b60015b61128f5760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201527f6f6e206973206e6f74205555505300000000000000000000000000000000000060648201526084016106d5565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc81146113245760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f7860448201527f6961626c6555554944000000000000000000000000000000000000000000000060648201526084016106d5565b50610bc1838383611527565b6033546001600160a01b03163314610bd85760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016106d5565b603380546001600160a01b0383811673ffffffffffffffffffffffffffffffffffffffff19831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600054610100900460ff166114545760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b60648201526084016106d5565b610bd8611552565b6001600160a01b0381163b6114d95760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201527f6f74206120636f6e74726163740000000000000000000000000000000000000060648201526084016106d5565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b611530836115c6565b60008251118061153d5750805b15610bc15761154c8383611606565b50505050565b600054610100900460ff166115bd5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b60648201526084016106d5565b610bd83361138a565b6115cf8161145c565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b606061162b8383604051806060016040528060278152602001611a2b60279139611632565b9392505050565b6060600080856001600160a01b03168560405161164f91906119db565b600060405180830381855af49150503d806000811461168a576040519150601f19603f3d011682016040523d82523d6000602084013e61168f565b606091505b50915091506116a0868383876116aa565b9695505050505050565b60608315611719578251600003611712576001600160a01b0385163b6117125760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016106d5565b5081611723565b611723838361172b565b949350505050565b81511561173b5781518083602001fd5b8060405162461bcd60e51b81526004016106d591906119f7565b80356001600160a01b038116811461176c57600080fd5b919050565b60006020828403121561178357600080fd5b61162b82611755565b6000806040838503121561179f57600080fd5b6117a883611755565b91506117b660208401611755565b90509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715611817576118176117bf565b604052919050565b6000806040838503121561183257600080fd5b61183b83611755565b915060208084013567ffffffffffffffff8082111561185957600080fd5b818601915086601f83011261186d57600080fd5b81358181111561187f5761187f6117bf565b611891601f8201601f191685016117ee565b915080825287848285010111156118a757600080fd5b80848401858401376000848284010152508093505050509250929050565b600080604083850312156118d857600080fd5b6118e183611755565b946020939093013593505050565b600080828403606081121561190357600080fd5b61190c84611755565b92506040601f198201121561192057600080fd5b506040516040810181811067ffffffffffffffff82111715611944576119446117bf565b60409081526020858101358352940135938101939093525092909150565b60008060006060848603121561197757600080fd5b61198084611755565b92506020840135915061199560408501611755565b90509250925092565b6000602082840312156119b057600080fd5b5051919050565b60005b838110156119d25781810151838201526020016119ba565b50506000910152565b600082516119ed8184602087016119b7565b9190910192915050565b6020815260008251806020840152611a168160408501602087016119b7565b601f01601f1916919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220195e24eaa878228f854e3fdd0b40a0da49158534c8a4e0c15214bc386b39bef464736f6c6343000813003360806040526040516104ee3803806104ee833981016040819052610022916102de565b61002e82826000610035565b50506103fb565b61003e83610061565b60008251118061004b5750805b1561005c5761005a83836100a1565b505b505050565b61006a816100cd565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606100c683836040518060600160405280602781526020016104c760279139610180565b9392505050565b6001600160a01b0381163b61013f5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080856001600160a01b03168560405161019d91906103ac565b600060405180830381855af49150503d80600081146101d8576040519150601f19603f3d011682016040523d82523d6000602084013e6101dd565b606091505b5090925090506101ef868383876101f9565b9695505050505050565b60608315610268578251600003610261576001600160a01b0385163b6102615760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610136565b5081610272565b610272838361027a565b949350505050565b81511561028a5781518083602001fd5b8060405162461bcd60e51b815260040161013691906103c8565b634e487b7160e01b600052604160045260246000fd5b60005b838110156102d55781810151838201526020016102bd565b50506000910152565b600080604083850312156102f157600080fd5b82516001600160a01b038116811461030857600080fd5b60208401519092506001600160401b038082111561032557600080fd5b818501915085601f83011261033957600080fd5b81518181111561034b5761034b6102a4565b604051601f8201601f19908116603f01168101908382118183101715610373576103736102a4565b8160405282815288602084870101111561038c57600080fd5b61039d8360208301602088016102ba565b80955050505050509250929050565b600082516103be8184602087016102ba565b9190910192915050565b60208152600082518060208401526103e78160408501602087016102ba565b601f01601f19169190910160400192915050565b60be806104096000396000f3fe608060405236601057600e6013565b005b600e5b601f601b6021565b6065565b565b600060607f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b905090565b3660008037600080366000845af43d6000803e8080156083573d6000f35b3d6000fdfea26469706673582212204ff6082523a0497cb45cb43d3d639dba31b196359b7f035ed946d507d89a80c764736f6c63430008130033416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220432fc52aeec94c9bcb36f203d6313b34be38b016aef2dbc0b05645458c554a1a64736f6c63430008130033","sourceMap":"292:5201:145:-:0;;;3126:44:23;;;-1:-1:-1;;3126:44:23;;;3166:4;3126:44;;;;;;1016:26:33;;;;;;;;;;376:39:145;;;-1:-1:-1;;;;;;376:39:145;;;;;;;;421:32;;;;;451:1;421:32;;;459:36;;;;;493:1;459:36;;;501:39;;;;;538:1;501:39;;;546:44;;;;;;588:1;546:44;;;292:5201;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x60806040523480156200001157600080fd5b5060043610620002015760003560e01c80636c53db9a1162000119578063a8c62e7611620000af578063e20c9f71116200007a578063e20c9f7114620003d2578063e68393b414620003dc578063ebe69a5f14620003e6578063fa7626d414620003f057600080fd5b8063a8c62e76146200038f578063b5508aa914620003a3578063ba414fa614620003ad578063d4dadecb14620003c857600080fd5b80638caa5c4411620000f05780638caa5c44146200035d5780638df8b2fe1462000367578063916a17c6146200037b5780639693f128146200038557600080fd5b80636c53db9a146200032657806382fad478146200033a57806385226c81146200034457600080fd5b80632ade3880116200019b5780633f7286f411620001665780633f7286f414620002d65780634905e83114620002e05780634f8632ba14620002f957806366d9a9a0146200030d57600080fd5b80632ade3880146200027c5780633668aa2914620002955780633e5e3c23146200029f5780633ea7771b14620002a957600080fd5b80630c2759da11620001dc5780630c2759da14620002455780631ed7831c146200024f57806324e40b97146200026857806325821153146200027257600080fd5b8063073a2d8c14620002065780630778c72c146200022f5780630a9254e4146200023b575b600080fd5b60245460255462000215919082565b604080519283526020830191909152015b60405180910390f35b62000239620003fe565b005b62000239620006a1565b62000239620007c3565b6200025962000953565b604051620002269190620025da565b62000239620009b7565b6200023962000b44565b6200028662000c99565b60405162000226919062002671565b6200023962000de7565b6200025962001075565b602354620002bd906001600160a01b031681565b6040516001600160a01b03909116815260200162000226565b62000259620010d7565b601e54620002bd9061010090046001600160a01b031681565b602054620002bd906001600160a01b031681565b6200031762001139565b60405162000226919062002737565b602254620002bd906001600160a01b031681565b6200023962001223565b6200034e6200133d565b60405162000226919062002806565b6200023962001417565b601f54620002bd906001600160a01b031681565b6200031762001980565b6200023962001a6a565b602154620002bd906001600160a01b031681565b6200034e62001bec565b620003b762001cc6565b604051901515815260200162000226565b6200023962001d9e565b6200025962002002565b6200023962002064565b620002396200219c565b601e54620003b79060ff1681565b601f5460405163ca669fa760e01b81526001600160a01b039091166004820152603290737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ca669fa790602401600060405180830381600087803b1580156200045b57600080fd5b505af115801562000470573d6000803e3d6000fd5b5050601e5460215460225460405163fc2ebdd160e01b81526001600160a01b03928316600482015260248101879052908216604482015261010090920416925063fc2ebdd19150606401600060405180830381600087803b158015620004d557600080fd5b505af1158015620004ea573d6000803e3d6000fd5b5050601f5460405163ca669fa760e01b81526001600160a01b039091166004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d925063ca669fa79150602401600060405180830381600087803b1580156200054857600080fd5b505af11580156200055d573d6000803e3d6000fd5b5050601e546021546040517f175188e80000000000000000000000000000000000000000000000000000000081526001600160a01b03918216600482015261010090920416925063175188e89150602401600060405180830381600087803b158015620005c957600080fd5b505af1158015620005de573d6000803e3d6000fd5b5050601e546021546040516339ebf82360e01b81526001600160a01b0391821660048201526000945084935083926101009004909116906339ebf82390602401606060405180830381865afa1580156200063c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200066291906200289a565b92509250925062000675836000620023a8565b6200068282600062002432565b6022546200069b9082906001600160a01b03166200248d565b50505050565b6000604051620006b190620025be565b604051809103906000f080158015620006ce573d6000803e3d6000fd5b50601f54604080516001600160a01b0390921660248084019190915281518084039091018152604490920181526020820180516001600160e01b03167fc4d66de800000000000000000000000000000000000000000000000000000000179052516200073a90620025cc565b62000747929190620028db565b604051809103906000f08015801562000764573d6000803e3d6000fd5b50601e80546001600160a01b03909216610100027fffffffffffffffffffffff0000000000000000000000000000000000000000ff90921691909117905550604080518082019091526064808252426020909201829052602455602555565b601f5460405163ca669fa760e01b81526001600160a01b039091166004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ca669fa790602401600060405180830381600087803b1580156200081d57600080fd5b505af115801562000832573d6000803e3d6000fd5b5050601e54602054604051630f029aad60e31b81526001600160a01b03918216600482015260248054908201526025546044820152610100909204169250637814d5689150606401600060405180830381600087803b1580156200089557600080fd5b505af1158015620008aa573d6000803e3d6000fd5b5050601e5460205460405163b34e0c4760e01b81526001600160a01b0391821660048201526000945061010090920416915063b34e0c47906024016040805180830381865afa15801562000902573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000928919062002907565b80516024549192506200093b91620023a8565b620009508160200151602460010154620023a8565b50565b60606016805480602002602001604051908101604052809291908181526020018280548015620009ad57602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116200098e575b5050505050905090565b601f5460405163ca669fa760e01b81526001600160a01b039091166004820152600690737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ca669fa790602401600060405180830381600087803b15801562000a1457600080fd5b505af115801562000a29573d6000803e3d6000fd5b50506040517ff28dceb300000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152737109709ecfa91a80626ff3989d68f67f5b1dd12d925063f28dceb39150606401600060405180830381600087803b15801562000ac157600080fd5b505af115801562000ad6573d6000803e3d6000fd5b5050601e546040516303d4768360e41b81526001600160a01b0385811660048301526101009092049091169250633d4768309150602401600060405180830381600087803b15801562000b2857600080fd5b505af115801562000b3d573d6000803e3d6000fd5b5050505050565b60235460405163ca669fa760e01b81526001600160a01b039091166004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ca669fa790602401600060405180830381600087803b15801562000b9e57600080fd5b505af115801562000bb3573d6000803e3d6000fd5b5050604051630618f58760e51b8152637d7b71b560e01b6004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d925063c31eb0e09150602401600060405180830381600087803b15801562000c0b57600080fd5b505af115801562000c20573d6000803e3d6000fd5b5050601e54602054604051630f029aad60e31b81526001600160a01b03918216600482015260248054908201526025546044820152610100909204169250637814d56891506064015b600060405180830381600087803b15801562000c8457600080fd5b505af11580156200069b573d6000803e3d6000fd5b6060601d805480602002602001604051908101604052809291908181526020016000905b8282101562000dde57600084815260208082206040805180820182526002870290920180546001600160a01b03168352600181018054835181870281018701909452808452939591948681019491929084015b8282101562000dc657838290600052602060002001805462000d329062002966565b80601f016020809104026020016040519081016040528092919081815260200182805462000d609062002966565b801562000db15780601f1062000d855761010080835404028352916020019162000db1565b820191906000526020600020905b81548152906001019060200180831162000d9357829003601f168201915b50505050508152602001906001019062000d10565b50505050815250508152602001906001019062000cbd565b50505050905090565b601f5460405163ca669fa760e01b81526001600160a01b039091166004820152603290604b90737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ca669fa790602401600060405180830381600087803b15801562000e4757600080fd5b505af115801562000e5c573d6000803e3d6000fd5b5050601e5460215460225460405163fc2ebdd160e01b81526001600160a01b03928316600482015260248101889052908216604482015261010090920416925063fc2ebdd19150606401600060405180830381600087803b15801562000ec157600080fd5b505af115801562000ed6573d6000803e3d6000fd5b505060225460405163ca669fa760e01b81526001600160a01b039091166004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d925063ca669fa791506024015b600060405180830381600087803b15801562000f3557600080fd5b505af115801562000f4a573d6000803e3d6000fd5b5050601e5460215460405163642ce76b60e01b81526001600160a01b0391821660048201526024810186905261010090920416925063642ce76b9150604401600060405180830381600087803b15801562000fa457600080fd5b505af115801562000fb9573d6000803e3d6000fd5b5050601e546021546040516339ebf82360e01b81526001600160a01b0391821660048201526000945084935083926101009004909116906339ebf82390602401606060405180830381865afa15801562001017573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200103d91906200289a565b9250925092506200104f8385620023a8565b6200105c82600062002432565b60225462000b3d9082906001600160a01b03166200248d565b60606018805480602002602001604051908101604052809291908181526020018280548015620009ad576020028201919060005260206000209081546001600160a01b031681526001909101906020018083116200098e575050505050905090565b60606017805480602002602001604051908101604052809291908181526020018280548015620009ad576020028201919060005260206000209081546001600160a01b031681526001909101906020018083116200098e575050505050905090565b6060601b805480602002602001604051908101604052809291908181526020016000905b8282101562000dde5760008481526020908190206040805180820182526002860290920180546001600160a01b031683526001810180548351818702810187019094528084529394919385830193928301828280156200120a57602002820191906000526020600020906000905b82829054906101000a900460e01b6001600160e01b03191681526020019060040190602082600301049283019260010382029150808411620011cb5790505b505050505081525050815260200190600101906200115d565b60235460405163ca669fa760e01b81526001600160a01b039091166004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ca669fa790602401600060405180830381600087803b1580156200127d57600080fd5b505af115801562001292573d6000803e3d6000fd5b5050604051630618f58760e51b8152637d7b71b560e01b6004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d925063c31eb0e09150602401600060405180830381600087803b158015620012ea57600080fd5b505af1158015620012ff573d6000803e3d6000fd5b5050601e5460205460405163130aea3160e31b81526001600160a01b0391821660048201526101009092041692506398575188915060240162000c69565b6060601a805480602002602001604051908101604052809291908181526020016000905b8282101562000dde578382906000526020600020018054620013839062002966565b80601f0160208091040260200160405190810160405280929190818152602001828054620013b19062002966565b8015620014025780601f10620013d65761010080835404028352916020019162001402565b820191906000526020600020905b815481529060010190602001808311620013e457829003601f168201915b50505050508152602001906001019062001361565b601f5460405163ca669fa760e01b81526001600160a01b039091166004820152603290737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ca669fa790602401600060405180830381600087803b1580156200147457600080fd5b505af115801562001489573d6000803e3d6000fd5b5050601e5460215460225460405163fc2ebdd160e01b81526001600160a01b03928316600482015260248101879052908216604482015261010090920416925063fc2ebdd19150606401600060405180830381600087803b158015620014ee57600080fd5b505af115801562001503573d6000803e3d6000fd5b50506022546040517f06447d560000000000000000000000000000000000000000000000000000000081526001600160a01b039091166004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d92506306447d569150602401600060405180830381600087803b1580156200157a57600080fd5b505af11580156200158f573d6000803e3d6000fd5b5050601e546021546040517fd80ea5a00000000000000000000000000000000000000000000000000000000081526001600160a01b03918216600482015261010090920416925063d80ea5a09150602401600060405180830381600087803b158015620015fb57600080fd5b505af115801562001610573d6000803e3d6000fd5b505050507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156200167357600080fd5b505af115801562001688573d6000803e3d6000fd5b5050601f5460405163ca669fa760e01b81526001600160a01b039091166004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d925063ca669fa79150602401600060405180830381600087803b158015620016e657600080fd5b505af1158015620016fb573d6000803e3d6000fd5b5050601e54602054604051630f029aad60e31b81526001600160a01b03918216600482015260248054908201526025546044820152610100909204169250637814d5689150606401600060405180830381600087803b1580156200175e57600080fd5b505af115801562001773573d6000803e3d6000fd5b5050601e546020546021546040516302154c3d60e51b81526001600160a01b0392831660048201529082166024820152600094506101009092041691506342a987a090604401602060405180830381865afa158015620017d7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620017fd9190620029a2565b90506200180a81620024ef565b601f5460405163ca669fa760e01b81526001600160a01b039091166004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ca669fa790602401600060405180830381600087803b1580156200186457600080fd5b505af115801562001879573d6000803e3d6000fd5b5050601e5460215460405163642ce76b60e01b81526001600160a01b0391821660048201526096602482015261010090920416925063642ce76b9150604401600060405180830381600087803b158015620018d357600080fd5b505af1158015620018e8573d6000803e3d6000fd5b5050601e546020546021546040516302154c3d60e51b81526001600160a01b03928316600482015290821660248201526101009092041692506342a987a09150604401602060405180830381865afa15801562001949573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200196f9190620029a2565b90506200197c816200256b565b5050565b6060601c805480602002602001604051908101604052809291908181526020016000905b8282101562000dde5760008481526020908190206040805180820182526002860290920180546001600160a01b0316835260018101805483518187028101870190945280845293949193858301939283018282801562001a5157602002820191906000526020600020906000905b82829054906101000a900460e01b6001600160e01b0319168152602001906004019060208260030104928301926001038202915080841162001a125790505b50505050508152505081526020019060010190620019a4565b601f5460405163ca669fa760e01b81526001600160a01b039091166004820152603290737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ca669fa790602401600060405180830381600087803b15801562001ac757600080fd5b505af115801562001adc573d6000803e3d6000fd5b5050601e5460215460225460405163fc2ebdd160e01b81526001600160a01b03928316600482015260248101879052908216604482015261010090920416925063fc2ebdd19150606401600060405180830381600087803b15801562001b4157600080fd5b505af115801562001b56573d6000803e3d6000fd5b5050601e546021546040516339ebf82360e01b81526001600160a01b0391821660048201526000945084935083926101009004909116906339ebf82390602401606060405180830381865afa15801562001bb4573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001bda91906200289a565b925092509250620006758385620023a8565b60606019805480602002602001604051908101604052809291908181526020016000905b8282101562000dde57838290600052602060002001805462001c329062002966565b80601f016020809104026020016040519081016040528092919081815260200182805462001c609062002966565b801562001cb15780601f1062001c855761010080835404028352916020019162001cb1565b820191906000526020600020905b81548152906001019060200180831162001c9357829003601f168201915b50505050508152602001906001019062001c10565b60085460009060ff161562001cdf575060085460ff1690565b6040517f667f9d70000000000000000000000000000000000000000000000000000000008152737109709ecfa91a80626ff3989d68f67f5b1dd12d600482018190527f6661696c65640000000000000000000000000000000000000000000000000000602483015260009163667f9d7090604401602060405180830381865afa15801562001d71573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001d979190620029c7565b1415905090565b601f5460405163ca669fa760e01b81526001600160a01b039091166004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ca669fa790602401600060405180830381600087803b15801562001df857600080fd5b505af115801562001e0d573d6000803e3d6000fd5b5050601e54602054604051630f029aad60e31b81526001600160a01b03918216600482015260248054908201526025546044820152610100909204169250637814d5689150606401600060405180830381600087803b15801562001e7057600080fd5b505af115801562001e85573d6000803e3d6000fd5b5050601f5460405163ca669fa760e01b81526001600160a01b039091166004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d925063ca669fa79150602401600060405180830381600087803b15801562001ee357600080fd5b505af115801562001ef8573d6000803e3d6000fd5b5050601e5460205460405163130aea3160e31b81526001600160a01b03918216600482015261010090920416925063985751889150602401600060405180830381600087803b15801562001f4b57600080fd5b505af115801562001f60573d6000803e3d6000fd5b5050601e5460205460405163b34e0c4760e01b81526001600160a01b0391821660048201526000945061010090920416915063b34e0c47906024016040805180830381865afa15801562001fb8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001fde919062002907565b905062001ff181600001516000620023a8565b6200095081602001516000620023a8565b60606015805480602002602001604051908101604052809291908181526020018280548015620009ad576020028201919060005260206000209081546001600160a01b031681526001909101906020018083116200098e575050505050905090565b601f5460405163ca669fa760e01b81526001600160a01b039091166004820152603290604b90737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ca669fa790602401600060405180830381600087803b158015620020c457600080fd5b505af1158015620020d9573d6000803e3d6000fd5b5050601e5460215460225460405163fc2ebdd160e01b81526001600160a01b03928316600482015260248101889052908216604482015261010090920416925063fc2ebdd19150606401600060405180830381600087803b1580156200213e57600080fd5b505af115801562002153573d6000803e3d6000fd5b5050601f5460405163ca669fa760e01b81526001600160a01b039091166004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d925063ca669fa7915060240162000f1a565b601e54604080517f8da5cb5b0000000000000000000000000000000000000000000000000000000081529051600692737109709ecfa91a80626ff3989d68f67f5b1dd12d9263ca669fa7926101009092046001600160a01b031691638da5cb5b916004808201926020929091908290030181865afa15801562002223573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620022499190620029e1565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b158015620022a357600080fd5b505af1158015620022b8573d6000803e3d6000fd5b5050601e546040516303d4768360e41b81526001600160a01b0385811660048301526101009092049091169250633d4768309150602401600060405180830381600087803b1580156200230a57600080fd5b505af11580156200231f573d6000803e3d6000fd5b5050505062000950601e60019054906101000a90046001600160a01b03166001600160a01b0316638df8b2fe6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200237b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620023a19190620029e1565b826200248d565b6040517f98296c540000000000000000000000000000000000000000000000000000000081526004810183905260248101829052737109709ecfa91a80626ff3989d68f67f5b1dd12d906398296c54906044015b60006040518083038186803b1580156200241557600080fd5b505afa1580156200242a573d6000803e3d6000fd5b505050505050565b6040517ff7fe347700000000000000000000000000000000000000000000000000000000815282151560048201528115156024820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9063f7fe347790604401620023fc565b6040517f515361f60000000000000000000000000000000000000000000000000000000081526001600160a01b03808416600483015282166024820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9063515361f690604401620023fc565b6040517f0c9fd5810000000000000000000000000000000000000000000000000000000081528115156004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d90630c9fd581906024015b60006040518083038186803b1580156200255657600080fd5b505afa15801562000b3d573d6000803e3d6000fd5b6040517fa59828850000000000000000000000000000000000000000000000000000000081528115156004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9063a5982885906024016200253d565b611ad38062002a0083390190565b6104ee80620044d383390190565b6020808252825182820181905260009190848201906040850190845b818110156200261d5783516001600160a01b031683529284019291840191600101620025f6565b50909695505050505050565b6000815180845260005b81811015620026515760208185018101518683018201520162002633565b506000602082860101526020601f19601f83011685010191505092915050565b602080825282518282018190526000919060409081850190600581811b8701840188860187805b858110156200272757603f198b8503018752825180516001600160a01b031685528901518985018990528051898601819052908a0190606081881b870181019190870190855b818110156200271057605f19898503018352620026fd84865162002629565b948e01949350918d0191600101620026de565b505050978a01979450509188019160010162002698565b50919a9950505050505050505050565b60006020808301818452808551808352604092508286019150828160051b8701018488016000805b84811015620027f757898403603f19018652825180516001600160a01b03168552880151888501889052805188860181905290890190839060608701905b80831015620027e15783517fffffffff00000000000000000000000000000000000000000000000000000000168252928b019260019290920191908b01906200279d565b50978a019795505050918701916001016200275f565b50919998505050505050505050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b828110156200285f57603f198886030184526200284c85835162002629565b945092850192908501906001016200282d565b5092979650505050505050565b805180151581146200287d57600080fd5b919050565b80516001600160a01b03811681146200287d57600080fd5b600080600060608486031215620028b057600080fd5b83519250620028c2602085016200286c565b9150620028d26040850162002882565b90509250925092565b6001600160a01b0383168152604060208201526000620028ff604083018462002629565b949350505050565b6000604082840312156200291a57600080fd5b6040516040810181811067ffffffffffffffff821117156200294c57634e487b7160e01b600052604160045260246000fd5b604052825181526020928301519281019290925250919050565b600181811c908216806200297b57607f821691505b6020821081036200299c57634e487b7160e01b600052602260045260246000fd5b50919050565b600060208284031215620029b557600080fd5b620029c0826200286c565b9392505050565b600060208284031215620029da57600080fd5b5051919050565b600060208284031215620029f457600080fd5b620029c0826200288256fe60a06040523060805234801561001457600080fd5b50608051611a8761004c60003960008181610656015281816106e0015281816108ce015281816109530152610a390152611a876000f3fe60806040526004361061015f5760003560e01c80637814d568116100c0578063c4d66de811610074578063f2fde38b11610059578063f2fde38b14610469578063f8806a1314610489578063fc2ebdd11461052f57600080fd5b8063c4d66de814610429578063d80ea5a01461044957600080fd5b80638df8b2fe116100a55780638df8b2fe1461036c578063985751881461038c578063b34e0c47146103ac57600080fd5b80637814d5681461031a5780638da5cb5b1461033a57600080fd5b806342a987a01161011757806352d1902d116100fc57806352d1902d146102c2578063642ce76b146102e5578063715018a61461030557600080fd5b806342a987a01461027f5780634f1ef286146102af57600080fd5b80633659cfe6116101485780633659cfe6146101d457806339ebf823146101f45780633d4768301461025f57600080fd5b80631413d4c014610164578063175188e8146101b2575b600080fd5b34801561017057600080fd5b5061019861017f366004611771565b6066602052600090815260409020805460019091015482565b604080519283526020830191909152015b60405180910390f35b3480156101be57600080fd5b506101d26101cd366004611771565b61054f565b005b3480156101e057600080fd5b506101d26101ef366004611771565b61064c565b34801561020057600080fd5b5061023b61020f366004611771565b6067602052600090815260409020805460019091015460ff81169061010090046001600160a01b031683565b6040805193845291151560208401526001600160a01b0316908201526060016101a9565b34801561026b57600080fd5b506101d261027a366004611771565b6107cc565b34801561028b57600080fd5b5061029f61029a36600461178c565b61083c565b60405190151581526020016101a9565b6101d26102bd36600461181f565b6108c4565b3480156102ce57600080fd5b506102d7610a2c565b6040519081526020016101a9565b3480156102f157600080fd5b506101d26103003660046118c5565b610af1565b34801561031157600080fd5b506101d2610bc6565b34801561032657600080fd5b506101d26103353660046118ef565b610bda565b34801561034657600080fd5b506033546001600160a01b03165b6040516001600160a01b0390911681526020016101a9565b34801561037857600080fd5b50606554610354906001600160a01b031681565b34801561039857600080fd5b506101d26103a7366004611771565b610ca2565b3480156103b857600080fd5b5061040e6103c7366004611771565b6040805180820190915260008082526020820152506001600160a01b0316600090815260666020908152604091829020825180840190935280548352600101549082015290565b604080518251815260209283015192810192909252016101a9565b34801561043557600080fd5b506101d2610444366004611771565b610d1d565b34801561045557600080fd5b506101d2610464366004611771565b610e6e565b34801561047557600080fd5b506101d2610484366004611771565b610f27565b34801561049557600080fd5b506105026104a4366004611771565b6040805160608082018352600080835260208084018290529284018190526001600160a01b0394851681526067835283902083519182018452805482526001015460ff81161515928201929092526101009091049092169082015290565b6040805182518152602080840151151590820152918101516001600160a01b0316908201526060016101a9565b34801561053b57600080fd5b506101d261054a366004611962565b610fb4565b806105626033546001600160a01b031690565b6001600160a01b0316336001600160a01b0316148061058b57506065546001600160a01b031633145b806105b757506001600160a01b0381811660009081526067602052604090206001015461010090041633145b15610616576105c582611148565b6001600160a01b03821660008181526067602052604080822060018101805460ff19169055829055517f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea49190a25050565b6040517fe3b6914b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036106de5760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b19195b1959d85d1958d85b1b60a21b60648201526084015b60405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166107397f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b6001600160a01b0316146107a45760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b6163746976652070726f787960a01b60648201526084016106d5565b6107ad81611188565b604080516000808252602082019092526107c991839190611190565b50565b6107d4611330565b6107dd81611148565b606580546001600160a01b0383811673ffffffffffffffffffffffffffffffffffffffff19831681179093556040519116919082907f5117c6c457d7b27a4cb68df40b118f157ac1f1ba81f8a571d189f829d74fbc8690600090a35050565b6001600160a01b03808316600090815260666020908152604080832081518083018352815481526001918201548185015286861685526067845282852083516060810185528154815292015460ff81161515948301859052610100900490951691810191909152919291906108b6576001925050506108be565b519051101590505b92915050565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036109515760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b19195b1959d85d1958d85b1b60a21b60648201526084016106d5565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166109ac7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b6001600160a01b031614610a175760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b6163746976652070726f787960a01b60648201526084016106d5565b610a2082611188565b61064882826001611190565b6000306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610acc5760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c000000000000000060648201526084016106d5565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc90565b81610b046033546001600160a01b031690565b6001600160a01b0316336001600160a01b03161480610b2d57506065546001600160a01b031633145b80610b5957506001600160a01b0381811660009081526067602052604090206001015461010090041633145b1561061657610b6783611148565b6001600160a01b03831660008181526067602052604090819020849055517f40ba4d5d9facd2fda74e22251d1638576e05a30482470363c7c87a7b5b298c0990610bb49085815260200190565b60405180910390a2505050565b505050565b610bce611330565b610bd8600061138a565b565b6033546001600160a01b0316331480610bfd57506065546001600160a01b031633145b15610c7057610c0b82611148565b6001600160a01b03821660008181526066602090815260409182902084518082558583015160019092018290558351908152918201527f1e0ca12706807bceff25136f95fe6f69c1319c044f6073e6056a287e4f541b1d910160405180910390a25050565b6040517f7d7b71b500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6033546001600160a01b0316331480610cc557506065546001600160a01b031633145b15610c7057610cd381611148565b6001600160a01b038116600081815260666020526040808220828155600101829055517fe9dce8c992623ce791725b21e857e33248d1f190a25b5168313420eebdaae99d9190a250565b600054610100900460ff1615808015610d3d5750600054600160ff909116105b80610d575750303b158015610d57575060005460ff166001145b610dc95760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084016106d5565b6000805460ff191660011790558015610dec576000805461ff0019166101001790555b610df46113e9565b610dfd82611148565b6065805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0384161790558015610648576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b6001600160a01b038082166000908152606760205260409020600101548291610100909104163303610ef557610ea382611148565b6001600160a01b0382166000818152606760205260408082206001908101805460ff19169091179055517f652f053fc39779b70b29678135ade972fcb79966fc68fcb77c996b1aa4fd9afb9190a25050565b6040517f97ffbac900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610f2f611330565b6001600160a01b038116610fab5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084016106d5565b6107c98161138a565b6033546001600160a01b0316331480610fd757506065546001600160a01b031633145b15610c7057610fe583611148565b610fee81611148565b6001600160a01b03831660009081526067602052604090205415158061103557506001600160a01b0383811660009081526067602052604090206001015461010090041615155b1561106c576040517fc45546f700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040805160608082018352848252600060208084018281526001600160a01b038781168688018181528b831680875260678652898720985189559351600190980180549151909316610100027fffffffffffffffffffffff0000000000000000000000000000000000000000ff981515989098167fffffffffffffffffffffff000000000000000000000000000000000000000000909116179690961790558551888152918201929092529384019290925290917f9b1a157188de9a0bd2e7995d72aaba244d9bd012ddf3ae3d4f492135175070cb9101610bb4565b6001600160a01b0381166107c9576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6107c9611330565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff16156111c357610bc18361145c565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa92505050801561121d575060408051601f3d908101601f1916820190925261121a9181019061199e565b60015b61128f5760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201527f6f6e206973206e6f74205555505300000000000000000000000000000000000060648201526084016106d5565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc81146113245760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f7860448201527f6961626c6555554944000000000000000000000000000000000000000000000060648201526084016106d5565b50610bc1838383611527565b6033546001600160a01b03163314610bd85760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016106d5565b603380546001600160a01b0383811673ffffffffffffffffffffffffffffffffffffffff19831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600054610100900460ff166114545760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b60648201526084016106d5565b610bd8611552565b6001600160a01b0381163b6114d95760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201527f6f74206120636f6e74726163740000000000000000000000000000000000000060648201526084016106d5565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b611530836115c6565b60008251118061153d5750805b15610bc15761154c8383611606565b50505050565b600054610100900460ff166115bd5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b60648201526084016106d5565b610bd83361138a565b6115cf8161145c565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b606061162b8383604051806060016040528060278152602001611a2b60279139611632565b9392505050565b6060600080856001600160a01b03168560405161164f91906119db565b600060405180830381855af49150503d806000811461168a576040519150601f19603f3d011682016040523d82523d6000602084013e61168f565b606091505b50915091506116a0868383876116aa565b9695505050505050565b60608315611719578251600003611712576001600160a01b0385163b6117125760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016106d5565b5081611723565b611723838361172b565b949350505050565b81511561173b5781518083602001fd5b8060405162461bcd60e51b81526004016106d591906119f7565b80356001600160a01b038116811461176c57600080fd5b919050565b60006020828403121561178357600080fd5b61162b82611755565b6000806040838503121561179f57600080fd5b6117a883611755565b91506117b660208401611755565b90509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715611817576118176117bf565b604052919050565b6000806040838503121561183257600080fd5b61183b83611755565b915060208084013567ffffffffffffffff8082111561185957600080fd5b818601915086601f83011261186d57600080fd5b81358181111561187f5761187f6117bf565b611891601f8201601f191685016117ee565b915080825287848285010111156118a757600080fd5b80848401858401376000848284010152508093505050509250929050565b600080604083850312156118d857600080fd5b6118e183611755565b946020939093013593505050565b600080828403606081121561190357600080fd5b61190c84611755565b92506040601f198201121561192057600080fd5b506040516040810181811067ffffffffffffffff82111715611944576119446117bf565b60409081526020858101358352940135938101939093525092909150565b60008060006060848603121561197757600080fd5b61198084611755565b92506020840135915061199560408501611755565b90509250925092565b6000602082840312156119b057600080fd5b5051919050565b60005b838110156119d25781810151838201526020016119ba565b50506000910152565b600082516119ed8184602087016119b7565b9190910192915050565b6020815260008251806020840152611a168160408501602087016119b7565b601f01601f1916919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220195e24eaa878228f854e3fdd0b40a0da49158534c8a4e0c15214bc386b39bef464736f6c6343000813003360806040526040516104ee3803806104ee833981016040819052610022916102de565b61002e82826000610035565b50506103fb565b61003e83610061565b60008251118061004b5750805b1561005c5761005a83836100a1565b505b505050565b61006a816100cd565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606100c683836040518060600160405280602781526020016104c760279139610180565b9392505050565b6001600160a01b0381163b61013f5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080856001600160a01b03168560405161019d91906103ac565b600060405180830381855af49150503d80600081146101d8576040519150601f19603f3d011682016040523d82523d6000602084013e6101dd565b606091505b5090925090506101ef868383876101f9565b9695505050505050565b60608315610268578251600003610261576001600160a01b0385163b6102615760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610136565b5081610272565b610272838361027a565b949350505050565b81511561028a5781518083602001fd5b8060405162461bcd60e51b815260040161013691906103c8565b634e487b7160e01b600052604160045260246000fd5b60005b838110156102d55781810151838201526020016102bd565b50506000910152565b600080604083850312156102f157600080fd5b82516001600160a01b038116811461030857600080fd5b60208401519092506001600160401b038082111561032557600080fd5b818501915085601f83011261033957600080fd5b81518181111561034b5761034b6102a4565b604051601f8201601f19908116603f01168101908382118183101715610373576103736102a4565b8160405282815288602084870101111561038c57600080fd5b61039d8360208301602088016102ba565b80955050505050509250929050565b600082516103be8184602087016102ba565b9190910192915050565b60208152600082518060208401526103e78160408501602087016102ba565b601f01601f19169190910160400192915050565b60be806104096000396000f3fe608060405236601057600e6013565b005b600e5b601f601b6021565b6065565b565b600060607f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b905090565b3660008037600080366000845af43d6000803e8080156083573d6000f35b3d6000fdfea26469706673582212204ff6082523a0497cb45cb43d3d639dba31b196359b7f035ed946d507d89a80c764736f6c63430008130033416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220432fc52aeec94c9bcb36f203d6313b34be38b016aef2dbc0b05645458c554a1a64736f6c63430008130033","sourceMap":"292:5201:145:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;596:32;;;;;;;;;;;;;;188:25:151;;;244:2;229:18;;222:34;;;;161:18;596:32:145;;;;;;;;3089:544;;;:::i;:::-;;635:374;;;:::i;1015:331::-;;;:::i;2452:134:26:-;;;:::i;:::-;;;;;;;:::i;2400:247:145:-;;;:::i;1972:217::-;;;:::i;3360:151:26:-;;;:::i;:::-;;;;;;;:::i;4225:581:145:-;;;:::i;3221:133:26:-;;;:::i;546:44:145:-;;;;;-1:-1:-1;;;;;546:44:145;;;;;;-1:-1:-1;;;;;3317:55:151;;;3299:74;;3287:2;3272:18;546:44:145;3153:226:151;2922:141:26;;;:::i;334:36:145:-;;;;;;;;-1:-1:-1;;;;;334:36:145;;;421:32;;;;;-1:-1:-1;;;;;421:32:145;;;2738:178:26;;;:::i;:::-;;;;;;;:::i;501:39:145:-;;;;;-1:-1:-1;;;;;501:39:145;;;2195:199;;;:::i;2592:140:26:-;;;:::i;:::-;;;;;;;:::i;4812:679:145:-;;;:::i;376:39::-;;;;;-1:-1:-1;;;;;376:39:145;;;3069:146:26;;;:::i;2653:430:145:-;;;:::i;459:36::-;;;;;-1:-1:-1;;;;;459:36:145;;;2157:141:26;;;:::i;1243:204:22:-;;;:::i;:::-;;;6255:14:151;;6248:22;6230:41;;6218:2;6203:18;1243:204:22;6090:187:151;1352:362:145;;;:::i;2304:142:26:-;;;:::i;3639:580:145:-;;;:::i;1720:246::-;;;:::i;1016:26:33:-;;;;;;;;;3089:544:145;3178:11;;3169:21;;-1:-1:-1;;;3169:21:145;;-1:-1:-1;;;;;3178:11:145;;;3169:21;;;3299:74:151;3156:2:145;;3169:8;;;;3272:18:151;;3169:21:145;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3200:14:145;;3227:8;;3248:11;;3200:60;;-1:-1:-1;;;3200:60:145;;-1:-1:-1;;;;;3227:8:145;;;3200:60;;;6545:34:151;6595:18;;;6588:34;;;3248:11:145;;;6638:18:151;;;6631:43;3200:14:145;;;;;;-1:-1:-1;3200:26:145;;-1:-1:-1;6457:18:151;;3200:60:145;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3280:11:145;;3271:21;;-1:-1:-1;;;3271:21:145;;-1:-1:-1;;;;;3280:11:145;;;3271:21;;;3299:74:151;3271:8:145;;-1:-1:-1;3271:8:145;;-1:-1:-1;3272:18:151;;3271:21:145;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3302:14:145;;3332:8;;3302:39;;;;;-1:-1:-1;;;;;3332:8:145;;;3302:39;;;3299:74:151;3302:14:145;;;;;;-1:-1:-1;3302:29:145;;-1:-1:-1;3272:18:151;;3302:39:145;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3426:14:145;;3452:8;;3426:35;;-1:-1:-1;;;3426:35:145;;-1:-1:-1;;;;;3452:8:145;;;3426:35;;;3299:74:151;3353:23:145;;-1:-1:-1;3353:23:145;;-1:-1:-1;3353:23:145;;3426:14;;;;;;;:25;;3272:18:151;;3426:35:145;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3352:109;;;;;;3471:28;3480:15;3497:1;3471:8;:28::i;:::-;3509:29;3518:12;3532:5;3509:8;:29::i;:::-;3576:11;;3548:40;;3557:17;;-1:-1:-1;;;;;3576:11:145;3548:8;:40::i;:::-;3126:507;;;;3089:544::o;635:374::-;669:18;728:20;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;830:11:145;;763:80;;;-1:-1:-1;;;;;830:11:145;;;763:80;;;;3299:74:151;;;;763:80:145;;;;;;;;;;3272:18:151;;;;763:80:145;;;;;;;-1:-1:-1;;;;;763:80:145;786:34;763:80;;;690:163;;;;:::i;:::-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;864:14:145;:56;;-1:-1:-1;;;;;864:56:145;;;;;;;;;;;;;;;-1:-1:-1;946:56:145;;;;;;;;;967:3;946:56;;;985:15;946:56;;;;;;;931:12;:71;;;635:374::o;1015:331::-;1069:11;;1060:21;;-1:-1:-1;;;1060:21:145;;-1:-1:-1;;;;;1069:11:145;;;1060:21;;;3299:74:151;1060:8:145;;;;3272:18:151;;1060:21:145;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1091:14:145;;1119:4;;1091:47;;-1:-1:-1;;;1091:47:145;;-1:-1:-1;;;;;1119:4:145;;;1091:47;;;7988:74:151;1125:12:145;8098:13:151;;8078:18;;;8071:41;8154:17;8148:24;8128:18;;;8121:52;1091:14:145;;;;;;-1:-1:-1;1091:27:145;;-1:-1:-1;7961:18:151;;1091:47:145;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1182:14:145;;1210:4;;1182:33;;-1:-1:-1;;;1182:33:145;;-1:-1:-1;;;;;1210:4:145;;;1182:33;;;3299:74:151;1149:30:145;;-1:-1:-1;1182:14:145;;;;;;-1:-1:-1;1182:27:145;;3272:18:151;;1182:33:145;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1234:16;;1252:12;:18;1149:66;;-1:-1:-1;1225:46:145;;:8;:46::i;:::-;1281:58;1290:10;:22;;;1314:12;:24;;;1281:8;:58::i;:::-;1050:296;1015:331::o;2452:134:26:-;2499:33;2563:16;2544:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2544:35:26;;;;;;;;;;;;;;;;;;;;;;;2452:134;:::o;2400:247:145:-;2513:11;;2504:21;;-1:-1:-1;;;2504:21:145;;-1:-1:-1;;;;;2513:11:145;;;2504:21;;;3299:74:151;2491:1:145;;2504:8;;;;3272:18:151;;2504:21:145;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2535:51:145;;;;;9051:2:151;2535:51:145;;;9033:21:151;;;9070:18;;;9063:30;9129:34;9109:18;;;9102:62;2535:15:145;;-1:-1:-1;2535:15:145;;-1:-1:-1;9181:18:151;;2535:51:145;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2596:14:145;;:44;;-1:-1:-1;;;2596:44:145;;-1:-1:-1;;;;;3317:55:151;;;2596:44:145;;;3299:74:151;2596:14:145;;;;;;;;-1:-1:-1;2596:32:145;;-1:-1:-1;3272:18:151;;2596:44:145;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2452:195;2400:247::o;1972:217::-;2043:16;;2034:26;;-1:-1:-1;;;2034:26:145;;-1:-1:-1;;;;;2043:16:145;;;2034:26;;;3299:74:151;2034:8:145;;;;3272:18:151;;2034:26:145;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2070:55:145;;-1:-1:-1;;;2070:55:145;;-1:-1:-1;;;2070:55:145;;;9354:98:151;2070:15:145;;-1:-1:-1;2070:15:145;;-1:-1:-1;9327:18:151;;2070:55:145;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2135:14:145;;2163:4;;2135:47;;-1:-1:-1;;;2135:47:145;;-1:-1:-1;;;;;2163:4:145;;;2135:47;;;7988:74:151;2169:12:145;8098:13:151;;8078:18;;;8071:41;8154:17;8148:24;8128:18;;;8121:52;2135:14:145;;;;;;-1:-1:-1;2135:27:145;;-1:-1:-1;7961:18:151;;2135:47:145;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3360:151:26;3409:42;3485:19;3463:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3463:41:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3360:151;:::o;4225:581:145:-;4363:11;;4354:21;;-1:-1:-1;;;4354:21:145;;-1:-1:-1;;;;;4363:11:145;;;4354:21;;;3299:74:151;4306:2:145;;4341;;4354:8;;;;3272:18:151;;4354:21:145;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;4385:14:145;;4412:8;;4433:11;;4385:60;;-1:-1:-1;;;4385:60:145;;-1:-1:-1;;;;;4412:8:145;;;4385:60;;;6545:34:151;6595:18;;;6588:34;;;4433:11:145;;;6638:18:151;;;6631:43;4385:14:145;;;;;;-1:-1:-1;4385:26:145;;-1:-1:-1;6457:18:151;;4385:60:145;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;4465:11:145;;4456:21;;-1:-1:-1;;;4456:21:145;;-1:-1:-1;;;;;4465:11:145;;;4456:21;;;3299:74:151;4456:8:145;;-1:-1:-1;4456:8:145;;-1:-1:-1;3272:18:151;;4456:21:145;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;4487:14:145;;4518:8;;4487:54;;-1:-1:-1;;;4487:54:145;;-1:-1:-1;;;;;4518:8:145;;;4487:54;;;10079:74:151;10169:18;;;10162:34;;;4487:14:145;;;;;;-1:-1:-1;4487:30:145;;-1:-1:-1;10052:18:151;;4487:54:145;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;4626:14:145;;4652:8;;4626:35;;-1:-1:-1;;;4626:35:145;;-1:-1:-1;;;;;4652:8:145;;;4626:35;;;3299:74:151;4553:23:145;;-1:-1:-1;4553:23:145;;-1:-1:-1;4553:23:145;;4626:14;;;;;;;:25;;3272:18:151;;4626:35:145;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4552:109;;;;;;4671:39;4680:15;4697:12;4671:8;:39::i;:::-;4720:29;4729:12;4743:5;4720:8;:29::i;:::-;4787:11;;4759:40;;4768:17;;-1:-1:-1;;;;;4787:11:145;4759:8;:40::i;3221:133:26:-;3267:33;3331:16;3312:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3312:35:26;;;;;;;;;;;;;;;;;;;;;;3221:133;:::o;2922:141::-;2970:35;3038:18;3017:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3017:39:26;;;;;;;;;;;;;;;;;;;;;;2922:141;:::o;2738:178::-;2794:48;2883:26;2854:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2854:55:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2854:55:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2195:199:145;2264:16;;2255:26;;-1:-1:-1;;;2255:26:145;;-1:-1:-1;;;;;2264:16:145;;;2255:26;;;3299:74:151;2255:8:145;;;;3272:18:151;;2255:26:145;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2291:55:145;;-1:-1:-1;;;2291:55:145;;-1:-1:-1;;;2291:55:145;;;9354:98:151;2291:15:145;;-1:-1:-1;2291:15:145;;-1:-1:-1;9327:18:151;;2291:55:145;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2356:14:145;;2382:4;;2356:31;;-1:-1:-1;;;2356:31:145;;-1:-1:-1;;;;;2382:4:145;;;2356:31;;;3299:74:151;2356:14:145;;;;;;-1:-1:-1;2356:25:145;;-1:-1:-1;3272:18:151;;2356:31:145;3153:226:151;2592:140:26;2640:34;2707:18;2686:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4812:679:145;4903:11;;4894:21;;-1:-1:-1;;;4894:21:145;;-1:-1:-1;;;;;4903:11:145;;;4894:21;;;3299:74:151;4881:2:145;;4894:8;;;;3272:18:151;;4894:21:145;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;4925:14:145;;4952:8;;4973:11;;4925:60;;-1:-1:-1;;;4925:60:145;;-1:-1:-1;;;;;4952:8:145;;;4925:60;;;6545:34:151;6595:18;;;6588:34;;;4973:11:145;;;6638:18:151;;;6631:43;4925:14:145;;;;;;-1:-1:-1;4925:26:145;;-1:-1:-1;6457:18:151;;4925:60:145;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5009:11:145;;4995:26;;;;;-1:-1:-1;;;;;5009:11:145;;;4995:26;;;3299:74:151;4995:13:145;;-1:-1:-1;4995:13:145;;-1:-1:-1;3272:18:151;;4995:26:145;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5031:14:145;;5063:8;;5031:41;;;;;-1:-1:-1;;;;;5063:8:145;;;5031:41;;;3299:74:151;5031:14:145;;;;;;-1:-1:-1;5031:31:145;;-1:-1:-1;3272:18:151;;5031:41:145;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;317:28:20;309:37;;-1:-1:-1;;;;;5082:12:145;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5116:11:145;;5107:21;;-1:-1:-1;;;5107:21:145;;-1:-1:-1;;;;;5116:11:145;;;5107:21;;;3299:74:151;5107:8:145;;-1:-1:-1;5107:8:145;;-1:-1:-1;3272:18:151;;5107:21:145;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5138:14:145;;5166:4;;5138:47;;-1:-1:-1;;;5138:47:145;;-1:-1:-1;;;;;5166:4:145;;;5138:47;;;7988:74:151;5172:12:145;8098:13:151;;8078:18;;;8071:41;8154:17;8148:24;8128:18;;;8121:52;5138:14:145;;;;;;-1:-1:-1;5138:27:145;;-1:-1:-1;7961:18:151;;5138:47:145;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5214:14:145;;5246:4;;5252:8;;5214:47;;-1:-1:-1;;;5214:47:145;;-1:-1:-1;;;;;5246:4:145;;;5214:47;;;10442:34:151;5252:8:145;;;10492:18:151;;;10485:43;5196:15:145;;-1:-1:-1;5214:14:145;;;;;;-1:-1:-1;5214:31:145;;10354:18:151;;5214:47:145;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5196:65;;5271:22;5282:10;5271;:22::i;:::-;5313:11;;5304:21;;-1:-1:-1;;;5304:21:145;;-1:-1:-1;;;;;5313:11:145;;;5304:21;;;3299:74:151;5304:8:145;;;;3272:18:151;;5304:21:145;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5335:14:145;;5366:8;;5335:45;;-1:-1:-1;;;5335:45:145;;-1:-1:-1;;;;;5366:8:145;;;5335:45;;;10079:74:151;5376:3:145;10169:18:151;;;10162:34;5335:14:145;;;;;;-1:-1:-1;5335:30:145;;-1:-1:-1;10052:18:151;;5335:45:145;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5404:14:145;;5436:4;;5442:8;;5404:47;;-1:-1:-1;;;5404:47:145;;-1:-1:-1;;;;;5436:4:145;;;5404:47;;;10442:34:151;5442:8:145;;;10492:18:151;;;10485:43;5404:14:145;;;;;;-1:-1:-1;5404:31:145;;-1:-1:-1;10354:18:151;;5404:47:145;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5391:60;;5461:23;5473:10;5461:11;:23::i;:::-;4851:640;;4812:679::o;3069:146:26:-;3117:40;3190:18;3169:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3169:39:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3169:39:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2653:430:145;2739:11;;2730:21;;-1:-1:-1;;;2730:21:145;;-1:-1:-1;;;;;2739:11:145;;;2730:21;;;3299:74:151;2717:2:145;;2730:8;;;;3272:18:151;;2730:21:145;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2761:14:145;;2788:8;;2809:11;;2761:60;;-1:-1:-1;;;2761:60:145;;-1:-1:-1;;;;;2788:8:145;;;2761:60;;;6545:34:151;6595:18;;;6588:34;;;2809:11:145;;;6638:18:151;;;6631:43;2761:14:145;;;;;;-1:-1:-1;2761:26:145;;-1:-1:-1;6457:18:151;;2761:60:145;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2906:14:145;;2932:8;;2906:35;;-1:-1:-1;;;2906:35:145;;-1:-1:-1;;;;;2932:8:145;;;2906:35;;;3299:74:151;2833:23:145;;-1:-1:-1;2833:23:145;;-1:-1:-1;2833:23:145;;2906:14;;;;;;;:25;;3272:18:151;;2906:35:145;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2832:109;;;;;;2951:36;2960:15;2977:9;2951:8;:36::i;2157:141:26:-;2206:34;2273:18;2252:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1243:204:22;1302:7;;1282:4;;1302:7;;1298:143;;;-1:-1:-1;1332:7:22;;;;;1243:204::o;1298:143::-;1377:39;;;;;:7;:39;;;10079:74:151;;;1398:17:22;10169:18:151;;;10162:34;1428:1:22;;1377:7;;10052:18:151;;1377:39:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:53;;1370:60;;1243:204;:::o;1352:362:145:-;1404:11;;1395:21;;-1:-1:-1;;;1395:21:145;;-1:-1:-1;;;;;1404:11:145;;;1395:21;;;3299:74:151;1395:8:145;;;;3272:18:151;;1395:21:145;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1426:14:145;;1454:4;;1426:47;;-1:-1:-1;;;1426:47:145;;-1:-1:-1;;;;;1454:4:145;;;1426:47;;;7988:74:151;1460:12:145;8098:13:151;;8078:18;;;8071:41;8154:17;8148:24;8128:18;;;8121:52;1426:14:145;;;;;;-1:-1:-1;1426:27:145;;-1:-1:-1;7961:18:151;;1426:47:145;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1493:11:145;;1484:21;;-1:-1:-1;;;1484:21:145;;-1:-1:-1;;;;;1493:11:145;;;1484:21;;;3299:74:151;1484:8:145;;-1:-1:-1;1484:8:145;;-1:-1:-1;3272:18:151;;1484:21:145;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1515:14:145;;1541:4;;1515:31;;-1:-1:-1;;;1515:31:145;;-1:-1:-1;;;;;1541:4:145;;;1515:31;;;3299:74:151;1515:14:145;;;;;;-1:-1:-1;1515:25:145;;-1:-1:-1;3272:18:151;;1515:31:145;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1590:14:145;;1618:4;;1590:33;;-1:-1:-1;;;1590:33:145;;-1:-1:-1;;;;;1618:4:145;;;1590:33;;;3299:74:151;1557:30:145;;-1:-1:-1;1590:14:145;;;;;;-1:-1:-1;1590:27:145;;3272:18:151;;1590:33:145;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1557:66;;1633:29;1642:10;:16;;;1660:1;1633:8;:29::i;:::-;1672:35;1681:10;:22;;;1705:1;1672:8;:35::i;2304:142:26:-;2353:35;2421:18;2400:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2400:39:26;;;;;;;;;;;;;;;;;;;;;;2304:142;:::o;3639:580:145:-;3776:11;;3767:21;;-1:-1:-1;;;3767:21:145;;-1:-1:-1;;;;;3776:11:145;;;3767:21;;;3299:74:151;3719:2:145;;3754;;3767:8;;;;3272:18:151;;3767:21:145;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3798:14:145;;3825:8;;3846:11;;3798:60;;-1:-1:-1;;;3798:60:145;;-1:-1:-1;;;;;3825:8:145;;;3798:60;;;6545:34:151;6595:18;;;6588:34;;;3846:11:145;;;6638:18:151;;;6631:43;3798:14:145;;;;;;-1:-1:-1;3798:26:145;;-1:-1:-1;6457:18:151;;3798:60:145;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3878:11:145;;3869:21;;-1:-1:-1;;;3869:21:145;;-1:-1:-1;;;;;3878:11:145;;;3869:21;;;3299:74:151;3869:8:145;;-1:-1:-1;3869:8:145;;-1:-1:-1;3272:18:151;;3869:21:145;3153:226:151;1720:246:145;1821:14;;:22;;;;;;;;1799:1;;1812:8;;;;1821:14;;;;-1:-1:-1;;;;;1821:14:145;;:20;;:22;;;;;;;;;;;;;;;:14;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1812:32;;;;;;;;;;-1:-1:-1;;;;;3317:55:151;;;1812:32:145;;;3299:74:151;3272:18;;1812:32:145;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1854:14:145;;:44;;-1:-1:-1;;;1854:44:145;;-1:-1:-1;;;;;3317:55:151;;;1854:44:145;;;3299:74:151;1854:14:145;;;;;;;;-1:-1:-1;1854:32:145;;-1:-1:-1;3272:18:151;;1854:44:145;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1909:50;1918:14;;;;;;;;;-1:-1:-1;;;;;1918:14:145;-1:-1:-1;;;;;1918:26:145;;:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1948:10;1909:8;:50::i;2270:110:22:-;2349:24;;;;;;;;188:25:151;;;229:18;;;222:34;;;2349:11:22;;;;161:18:151;;2349:24:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2270:110;;:::o;2026:104::-;2099:24;;;;;11949:14:151;;11942:22;2099:24:22;;;11924:41:151;12008:14;;12001:22;11981:18;;;11974:50;2099:11:22;;;;11897:18:151;;2099:24:22;11762:268:151;3454:110:22;3533:24;;;;;-1:-1:-1;;;;;10460:15:151;;;3533:24:22;;;10442:34:151;10512:15;;10492:18;;;10485:43;3533:11:22;;;;10354:18:151;;3533:24:22;10207:327:151;1594:89:22;1657:19;;;;;6255:14:151;;6248:22;1657:19:22;;;6230:41:151;1657:13:22;;;;6203:18:151;;1657:19:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1808:91;1872:20;;;;;6255:14:151;;6248:22;1872:20:22;;;6230:41:151;1872:14:22;;;;6203:18:151;;1872:20:22;6090:187:151;-1:-1:-1;;;;;;;;:::o;:::-;;;;;;;;:::o;267:681:151:-;438:2;490:21;;;560:13;;463:18;;;582:22;;;409:4;;438:2;661:15;;;;635:2;620:18;;;409:4;704:218;718:6;715:1;712:13;704:218;;;783:13;;-1:-1:-1;;;;;779:62:151;767:75;;897:15;;;;862:12;;;;740:1;733:9;704:218;;;-1:-1:-1;939:3:151;;267:681;-1:-1:-1;;;;;;267:681:151:o;953:423::-;995:3;1033:5;1027:12;1060:6;1055:3;1048:19;1085:1;1095:162;1109:6;1106:1;1103:13;1095:162;;;1171:4;1227:13;;;1223:22;;1217:29;1199:11;;;1195:20;;1188:59;1124:12;1095:162;;;1099:3;1302:1;1295:4;1286:6;1281:3;1277:16;1273:27;1266:38;1365:4;1358:2;1354:7;1349:2;1341:6;1337:15;1333:29;1328:3;1324:39;1320:50;1313:57;;;953:423;;;;:::o;1381:1767::-;1616:2;1668:21;;;1738:13;;1641:18;;;1760:22;;;1587:4;;1616:2;1801;;1819:18;;;;1856:1;1899:15;;;1884:31;;1880:40;;1943:15;;;1587:4;;2007:1112;2023:6;2018:3;2015:15;2007:1112;;;-1:-1:-1;;2092:22:151;;;2088:36;2076:49;;2148:13;;2235:9;;-1:-1:-1;;;;;2231:58:151;2216:74;;2329:11;;2323:18;2361:15;;;2354:27;;;2442:19;;2188:15;;;2474:24;;;2655:21;;;;2521:2;2603:17;;;2591:30;;2587:39;;;2545:15;;;;2700:1;2714:296;2730:8;2725:3;2722:17;2714:296;;;2836:2;2832:7;2823:6;2815;2811:19;2807:33;2800:5;2793:48;2868:42;2903:6;2892:8;2886:15;2868:42;:::i;:::-;2939:17;;;;2858:52;-1:-1:-1;2982:14:151;;;;2758:1;2749:11;2714:296;;;-1:-1:-1;;;3097:12:151;;;;3033:6;-1:-1:-1;;3062:15:151;;;;2049:1;2040:11;2007:1112;;;-1:-1:-1;3136:6:151;;1381:1767;-1:-1:-1;;;;;;;;;;1381:1767:151:o;3639:1638::-;3843:4;3872:2;3912;3901:9;3897:18;3942:2;3931:9;3924:21;3965:6;4000;3994:13;4031:6;4023;4016:22;4057:2;4047:12;;4090:2;4079:9;4075:18;4068:25;;4152:2;4142:6;4139:1;4135:14;4124:9;4120:30;4116:39;4190:2;4182:6;4178:15;4211:1;4232;4242:1006;4258:6;4253:3;4250:15;4242:1006;;;4327:22;;;-1:-1:-1;;4323:36:151;4311:49;;4383:13;;4470:9;;-1:-1:-1;;;;;4466:58:151;4451:74;;4564:11;;4558:18;4596:15;;;4589:27;;;4677:19;;4423:15;;;4709:24;;;4799:21;;;;4844:1;;4767:2;4755:15;;;4858:282;4874:8;4869:3;4866:17;4858:282;;;4955:15;;4972:66;4951:88;4937:103;;5109:17;;;;4902:1;4893:11;;;;;5066:14;;;;4858:282;;;-1:-1:-1;5226:12:151;;;;5163:5;-1:-1:-1;;;5191:15:151;;;;4284:1;4275:11;4242:1006;;;-1:-1:-1;5265:6:151;;3639:1638;-1:-1:-1;;;;;;;;;3639:1638:151:o;5282:803::-;5444:4;5473:2;5513;5502:9;5498:18;5543:2;5532:9;5525:21;5566:6;5601;5595:13;5632:6;5624;5617:22;5670:2;5659:9;5655:18;5648:25;;5732:2;5722:6;5719:1;5715:14;5704:9;5700:30;5696:39;5682:53;;5770:2;5762:6;5758:15;5791:1;5801:255;5815:6;5812:1;5809:13;5801:255;;;5908:2;5904:7;5892:9;5884:6;5880:22;5876:36;5871:3;5864:49;5936:40;5969:6;5960;5954:13;5936:40;:::i;:::-;5926:50;-1:-1:-1;6034:12:151;;;;5999:15;;;;5837:1;5830:9;5801:255;;;-1:-1:-1;6073:6:151;;5282:803;-1:-1:-1;;;;;;;5282:803:151:o;6685:164::-;6761:13;;6810;;6803:21;6793:32;;6783:60;;6839:1;6836;6829:12;6783:60;6685:164;;;:::o;6854:200::-;6933:13;;-1:-1:-1;;;;;6975:54:151;;6965:65;;6955:93;;7044:1;7041;7034:12;7059:348;7144:6;7152;7160;7213:2;7201:9;7192:7;7188:23;7184:32;7181:52;;;7229:1;7226;7219:12;7181:52;7258:9;7252:16;7242:26;;7287:46;7329:2;7318:9;7314:18;7287:46;:::i;:::-;7277:56;;7352:49;7397:2;7386:9;7382:18;7352:49;:::i;:::-;7342:59;;7059:348;;;;;:::o;7412:338::-;-1:-1:-1;;;;;7591:6:151;7587:55;7576:9;7569:74;7679:2;7674;7663:9;7659:18;7652:30;7550:4;7699:45;7740:2;7729:9;7725:18;7717:6;7699:45;:::i;:::-;7691:53;7412:338;-1:-1:-1;;;;7412:338:151:o;8184:661::-;8285:6;8338:2;8326:9;8317:7;8313:23;8309:32;8306:52;;;8354:1;8351;8344:12;8306:52;8387:2;8381:9;8429:2;8421:6;8417:15;8498:6;8486:10;8483:22;8462:18;8450:10;8447:34;8444:62;8441:242;;;-1:-1:-1;;;8536:1:151;8529:88;8640:4;8637:1;8630:15;8668:4;8665:1;8658:15;8441:242;8699:2;8692:22;8738:16;;8723:32;;8809:2;8794:18;;;8788:25;8771:15;;;8764:50;;;;-1:-1:-1;8730:6:151;8184:661;-1:-1:-1;8184:661:151:o;9463:437::-;9542:1;9538:12;;;;9585;;;9606:61;;9660:4;9652:6;9648:17;9638:27;;9606:61;9713:2;9705:6;9702:14;9682:18;9679:38;9676:218;;-1:-1:-1;;;9747:1:151;9740:88;9851:4;9848:1;9841:15;9879:4;9876:1;9869:15;9676:218;;9463:437;;;:::o;10539:202::-;10606:6;10659:2;10647:9;10638:7;10634:23;10630:32;10627:52;;;10675:1;10672;10665:12;10627:52;10698:37;10725:9;10698:37;:::i;:::-;10688:47;10539:202;-1:-1:-1;;;10539:202:151:o;11360:184::-;11430:6;11483:2;11471:9;11462:7;11458:23;11454:32;11451:52;;;11499:1;11496;11489:12;11451:52;-1:-1:-1;11522:16:151;;11360:184;-1:-1:-1;11360:184:151:o;11549:208::-;11619:6;11672:2;11660:9;11651:7;11647:23;11643:32;11640:52;;;11688:1;11685;11678:12;11640:52;11711:40;11741:9;11711:40;:::i","linkReferences":{}},"methodIdentifiers":{"IS_TEST()":"fa7626d4","councilSafe()":"6c53db9a","excludeArtifacts()":"b5508aa9","excludeContracts()":"e20c9f71","excludeSenders()":"1ed7831c","failed()":"ba414fa6","listManager()":"8df8b2fe","passportData()":"073a2d8c","passportScorer()":"4905e831","setUp()":"0a9254e4","strategy()":"a8c62e76","targetArtifactSelectors()":"66d9a9a0","targetArtifacts()":"85226c81","targetContracts()":"3f7286f4","targetInterfaces()":"2ade3880","targetSelectors()":"916a17c6","targetSenders()":"3e5e3c23","testAddStrategy()":"9693f128","testAddUserScore()":"0c2759da","testCanExecuteAction()":"8caa5c44","testChangeListManager()":"ebe69a5f","testModifyThresholdByAuthorized()":"e68393b4","testModifyThresholdByCouncilSafe()":"3668aa29","testOnlyAuthorizedCanAddUserScore()":"25821153","testOnlyAuthorizedCanRemoveUser()":"82fad478","testOnlyOwnerCanChangeListManager()":"24e40b97","testRemoveStrategy()":"0778c72c","testRemoveUser()":"d4dadecb","unauthorizedUser()":"3ea7771b","user()":"4f8632ba"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"log_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"val\",\"type\":\"uint256[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256[]\",\"name\":\"val\",\"type\":\"int256[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"val\",\"type\":\"address[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"log_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"log_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"name\":\"log_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"val\",\"type\":\"address\"}],\"name\":\"log_named_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"val\",\"type\":\"uint256[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256[]\",\"name\":\"val\",\"type\":\"int256[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"val\",\"type\":\"address[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"val\",\"type\":\"bytes\"}],\"name\":\"log_named_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"val\",\"type\":\"bytes32\"}],\"name\":\"log_named_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"}],\"name\":\"log_named_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"val\",\"type\":\"string\"}],\"name\":\"log_named_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"}],\"name\":\"log_named_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"log_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"logs\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"IS_TEST\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"councilSafe\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeArtifacts\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"excludedArtifacts_\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeContracts\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"excludedContracts_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeSenders\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"excludedSenders_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"failed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"listManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"passportData\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"score\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"lastUpdated\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"passportScorer\",\"outputs\":[{\"internalType\":\"contract PassportScorer\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"setUp\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"strategy\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetArtifactSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzSelector[]\",\"name\":\"targetedArtifactSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetArtifacts\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"targetedArtifacts_\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetContracts\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"targetedContracts_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetInterfaces\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"string[]\",\"name\":\"artifacts\",\"type\":\"string[]\"}],\"internalType\":\"struct StdInvariant.FuzzInterface[]\",\"name\":\"targetedInterfaces_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzSelector[]\",\"name\":\"targetedSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetSenders\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"targetedSenders_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testAddStrategy\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testAddUserScore\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testCanExecuteAction\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testChangeListManager\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testModifyThresholdByAuthorized\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testModifyThresholdByCouncilSafe\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testOnlyAuthorizedCanAddUserScore\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testOnlyAuthorizedCanRemoveUser\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testOnlyOwnerCanChangeListManager\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testRemoveStrategy\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testRemoveUser\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"unauthorizedUser\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"user\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"pkg/contracts/test/PassportScorerTest.t.sol\":\"PassportScorerTest\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1000},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":eas-proxy/=lib/allo-v2/lib/eas-proxy/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":hedgey-vesting/=lib/allo-v2/lib/hedgey-vesting/contracts/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-contracts/=lib/safe-contracts/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":superfluid-protocol-monorepo/=lib/allo-v2/lib/superfluid-protocol-monorepo/packages/solidity-semantic-money/src/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"]},\"sources\":{\"lib/forge-std/src/Base.sol\":{\"keccak256\":\"0x4ff1a785311017d1eedb1b4737956fa383067ad34eb439abfec1d989754dde1c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f553622969b9fdb930246704a4c10dfaee6b1a4468c142fa7eb9dc292a438224\",\"dweb:/ipfs/QmcxqHnqdQsMVtgsfH9VNLmZ3g7GhgNagfq7yvNCDcCHFK\"]},\"lib/forge-std/src/StdAssertions.sol\":{\"keccak256\":\"0xf513292ab066e6017db48ca749c1e63a44dfc5cba0326fc65c718f96e029d361\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://02d715ae2898f1fabd08133f80e6a7a3b87a2796ca5d23d1cb3fed9f4367f34c\",\"dweb:/ipfs/QmfESqa4j3PQAvvdfrnDQ1xUH1TnVCfvZYHsAEDK8z4X4k\"]},\"lib/forge-std/src/StdChains.sol\":{\"keccak256\":\"0x9cc29c28f49d0b7f7b2f1aa32d8273f8a087bf62eb3fb22d893df824052c25ef\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://42dcb36cb10b878a0d5b20ce3a4a3ba4f51f44d7731a66ac1133c699bc80b31b\",\"dweb:/ipfs/QmY6q7SaHQMLBb3rS6xZdArPaXoskWeqF6oJwUeZ3gKLZj\"]},\"lib/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0xb72f3519e0bf7d31df5d68557525f4fc55d861c3fb3b0f7793144ef7c94cbeb7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f3456d0f78e6f61203fa7871ba2df0d35925f10db3baee14be623ce2a35b84e2\",\"dweb:/ipfs/QmWE6QQSBvJifHMraisBTrf1x4WCwrDoTPLX8UKajTiApc\"]},\"lib/forge-std/src/StdError.sol\":{\"keccak256\":\"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6\",\"dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj\"]},\"lib/forge-std/src/StdInvariant.sol\":{\"keccak256\":\"0x67299bfacd77fddfa2a67b8e2b901e0e333618a4975fb94850b07475e51f6de6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1b61121d310f4053ce344b345b4a9ccf43b059daf9097ec2647f594beaca896d\",\"dweb:/ipfs/QmZUCoTtXBM9zfAZVbj2dFPPnKaV1CSZzXE7zictyg3Gfz\"]},\"lib/forge-std/src/StdJson.sol\":{\"keccak256\":\"0x62bed173cb126f6d5006706cf249bac8a2d51bfa18f773f314784ff18adc622d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5acc33dddbf2492e37dc32e89cd56ce917272d303a6874805f3a5768a6bfbf54\",\"dweb:/ipfs/QmTsgFhcpUf16gAVazUXU3WspgX8nHke2hzVCvoqS25WEp\"]},\"lib/forge-std/src/StdMath.sol\":{\"keccak256\":\"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92\",\"dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0x651d84d948832f0ef45686417aa68ffb871378fa788a4123dbf37844903c66f3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ff20f5ac9de3dc3ba86b1bf1f2723174e82ce3499ad67cb0ccfa7d28baeee678\",\"dweb:/ipfs/QmRZkUFKz7AmF7yk6o317sk822HHhGVPXZQgX8G4LfYfft\"]},\"lib/forge-std/src/StdStyle.sol\":{\"keccak256\":\"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8\",\"dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK\"]},\"lib/forge-std/src/StdToml.sol\":{\"keccak256\":\"0xc8a57915ace96f5b6a85b57e57690fc038cad9034a3dc368c11828a3707c61ab\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fa880a1a6e5d94005dcf4811b4c0df8d9c06407017ae111bd351483e2b76a72d\",\"dweb:/ipfs/QmcxkEE58gE1vDcZofTr8QpvdjXjgR72yYg7o4vTPSLCsy\"]},\"lib/forge-std/src/StdUtils.sol\":{\"keccak256\":\"0x502b18a4becda6ecd91fa8b419d8034946bfa80e6cc7f6497f51f8565bfadae0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bf499ee483a1dfd02023d4ce78ed4029a49794ccd5b849aaab912faea0d2ba61\",\"dweb:/ipfs/QmP6hwNZW7sYbQK9fBzuZWxfLm6Swx2nKzvZ54qWNqQkzX\"]},\"lib/forge-std/src/Test.sol\":{\"keccak256\":\"0x3b4bb409a156dee9ce261458117fe9f81080ca844a8a26c07c857c46d155effe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5792c69fe24bdc063a14e08fe68275007fdb1e5e7e343840a77938cb7e95a64e\",\"dweb:/ipfs/QmcAMhaurUwzhytJFYix4vRNeZeV8g27b8LnV3t7dvYtiK\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x51fec240abc6dd23e0ee6de7c65106379aef732cad6c4ae5df6b55db886e7456\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://a47d9c0a9876e7f9e411843b994a741d4ac1a87d8459ffc3c56359de691ddc1a\",\"dweb:/ipfs/QmQiFN9b3Y2azrD1RBfAKEuAG3YeJkMzA2DGzgEE9kMeEK\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]},\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0x954646445d1014c3cd85c7918f5e7adeeca5ee44b68c00bafa237e597a4e35ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://516fa3be52da4763147175bfba4be0aa011fadbb0c1afb01f97265bd4cee7973\",\"dweb:/ipfs/QmdixAyMJefx7qePChgdxcBH5MxhmN7vsqPuPLx3CgrVmF\"]},\"lib/forge-std/src/interfaces/IERC165.sol\":{\"keccak256\":\"0x414b2861b1acbf816ccb7346d3f16cf6c1e002e9e5e40d2f1f26fa5ddc2ea600\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://698352fb240868ea8f1d1fe389993035eeab930f10d06934f80ccfb2b6ccbfbc\",\"dweb:/ipfs/QmT6WLHAgXxFhh12kWym895oTzXid1326iZiwT3pyfggoT\"]},\"lib/forge-std/src/interfaces/IERC20.sol\":{\"keccak256\":\"0x4cab887298790f908c27de107e4e2907ca5413aee482ef776f8d2f353c5ef947\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb715e0c4a2bdbe432bb624501506041f06e878e0b72675aebba30ad2c2b72e7\",\"dweb:/ipfs/QmWhhLSvkxS2NrukJJHqFY8gDVE5r9rD4PfHvR24pwdKv9\"]},\"lib/forge-std/src/interfaces/IERC721.sol\":{\"keccak256\":\"0xf069262a264fdb69f8f37a10d2df7374649e9ba73f8414c9c8a3b51184625f15\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://924a41ca82a68ffbd503a5faf2f76d13e9938f10501a71094716f12bb64b4b7f\",\"dweb:/ipfs/QmdWnqfKc5ZGhmxNPTde4zrFchnv9Yk9MpCMb2rdhXE5gm\"]},\"lib/forge-std/src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0\",\"dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2\"]},\"lib/forge-std/src/mocks/MockERC20.sol\":{\"keccak256\":\"0xadbdfc6639edec00ba94bb1133a0fd8de31ccafe45c2ef5df9b3ca61b60b559b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc766f01bccf669abac8cc7b2096cc1352a66471ca3772ae61b1801dedc4ed4f\",\"dweb:/ipfs/QmNigaPj1LYkP7Z5xr4ijkUxr2K66fDGeoifG3WoM9ruyw\"]},\"lib/forge-std/src/mocks/MockERC721.sol\":{\"keccak256\":\"0x3293dcbb7acd28df553c954e4e39e288bf10aab7ecda8d50ef21b4f4a91a28d9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9eb374daf6df34f4392f8926f1fddbce9f22c423066aeaefdfbe77395f77967b\",\"dweb:/ipfs/QmWR81zBJRX2uyRjveGzikYPj6ZwKppWsU49YEQXTLWUsN\"]},\"lib/forge-std/src/safeconsole.sol\":{\"keccak256\":\"0xbaf41fdc6c54297e7cd8250e48b0f20eaac918e342a1028cef3f9a52ac086381\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a500ad81dea226f9910e6b50f99a9ff930105e393a692cbfb2185e4cdb4424ae\",\"dweb:/ipfs/QmVbUQpXNMmMWRiy4FvBNczzq46BMGfUoBikvSHNiCxVTq\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol\":{\"keccak256\":\"0x359a1ab89b46b9aba7bcad3fb651924baf4893d15153049b9976b0fc9be1358e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e89863421b4014b96a4b62be76eb3b9f0a8afe9684664a6f389124c0964bfe5c\",\"dweb:/ipfs/Qmbk7xr1irpDuU1WdxXgxELBXxs61rHhCgod7heVcvFx16\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e\",\"dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b\",\"dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95\",\"dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol\":{\"keccak256\":\"0x3cbef5ebc24b415252e2f8c0c9254555d30d9f085603b4b80d9b5ed20ab87e90\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e8fa670c3bdce78e642cc6ae11c4cb38b133499cdce5e1990a9979d424703263\",\"dweb:/ipfs/QmVxeCUk4jL2pXQyhsoNJwyU874wRufS2WvGe8TgPKPqhE\"]},\"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol\":{\"keccak256\":\"0x1d4afe6cb24200cc4545eed814ecf5847277dfe5d613a1707aad5fceecebcfff\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://383fb7b8181016ac5ccf07bc9cdb7c1b5045ea36e2cc4df52bcbf20396fc7688\",\"dweb:/ipfs/QmYJ7Cg4WmE3rR8KGQxjUCXFfTH6TcwZ2Z1f6tPrq7jHFr\"]},\"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol\":{\"keccak256\":\"0xa2b22da3032e50b55f95ec1d13336102d675f341167aa76db571ef7f8bb7975d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96b6d77a20bebd4eb06b801d3d020c7e82be13bd535cb0d0a6b7181c51dab5d5\",\"dweb:/ipfs/QmPUR9Cv9jNFdQX6PtBfaBW1ZCnKwiu65R2VD5kbdanDyn\"]},\"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Upgrade.sol\":{\"keccak256\":\"0x3b21ae06bf5957f73fa16754b0669c77b7abd8ba6c072d35c3281d446fdb86c2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2db8e18505e86e02526847005d7287a33e397ed7fb9eaba3fd4a4a197add16e2\",\"dweb:/ipfs/QmW9BSuKTzHWHBNSHF4L8XfVuU1uJrP2vLg84YtBd8mL82\"]},\"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol\":{\"keccak256\":\"0xc130fe33f1b2132158531a87734153293f6d07bc263ff4ac90e85da9c82c0e27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8831721b6f4cc26534d190f9f1631c3f59c9ff38efdd911f85e0882b8e360472\",\"dweb:/ipfs/QmQZnLErZNStirSQ13ZNWQgvEYUtGE5tXYwn4QUPaVUfPN\"]},\"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0xd50a3421ac379ccb1be435fa646d66a65c986b4924f0849839f08692f39dde61\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ada1e030c0231db8d143b44ce92b4d1158eedb087880cad6d8cc7bd7ebe7b354\",\"dweb:/ipfs/QmWZ2NHZweRpz1U9GF6R1h65ri76dnX7fNxLBeM2t5N5Ce\"]},\"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol\":{\"keccak256\":\"0xc6619957bcc6641fe8984bfaf9ff11a9e4b97d8149c0495f608f9a2416d7c5cf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://543be67f7fa43b1b932637c1c7f12035f0f4b0f7ee2bd3c33841186f79c165c1\",\"dweb:/ipfs/QmSBPM2UVKbmJqWfD9i6hSiqbaE8TV4TSqfuiivziRRLKM\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]},\"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xf09e68aa0dc6722a25bc46490e8d48ed864466d17313b8a0b254c36b54e49899\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e26daf81e2252dc1fe1ce0e4b55c2eb7c6d1ee84ae6558d1a9554432ea1d32da\",\"dweb:/ipfs/Qmb1UANWiWq5pCKbmHSu772hd4nt374dVaghGmwSVNuk8Q\"]},\"lib/openzeppelin-contracts/contracts/utils/Strings.sol\":{\"keccak256\":\"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f\",\"dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n\"]},\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]},\"lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/src/strings.sol\":{\"keccak256\":\"0x42cad11a7033f2fe05dd68611d2304407a620ac985b91edf29d5868cfe196223\",\"urls\":[\"bzz-raw://3cbc2333234e1f00eab5e57c4bcaf5115661e5e066a17c70af587a0a96f24669\",\"dweb:/ipfs/QmPHvStqcvZL46LW5N2ExTwAaqNhRCcmAX66aR6oE1WDar\"]},\"lib/openzeppelin-foundry-upgrades/src/Defender.sol\":{\"keccak256\":\"0x2114e4d70d53b36e8cec54ba11ff78d9f38a466ec3504c76c7f26101a7cff37f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://58f4d9bc58646e7631b263cdb8ef260e6818e9f716036d81d1c18218c9557a23\",\"dweb:/ipfs/QmS18L4R4gPtay9eQBcR28DnwmBkGSWsiCFwm2tXc3BkHL\"]},\"lib/openzeppelin-foundry-upgrades/src/LegacyUpgrades.sol\":{\"keccak256\":\"0x8436719f73c76efadaa16cd719d088f698ea3591595dfdf2c15fd66f3e203197\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ac8d0e55defe124adcc3845348602d6528b00b7dc5f7abf9e1b245d0cea9b55e\",\"dweb:/ipfs/QmaPBoG89Bd2btJZW5kjXx7zXo6KhAdeTuMq5xo431M8xq\"]},\"lib/openzeppelin-foundry-upgrades/src/Options.sol\":{\"keccak256\":\"0xa5414683d6b219b28e75ecaab3d00a305dfaf4d970389a88992275c8072ce8ac\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1dbfd566ba318f2b740159c28e4511c84c9d76fcc293ae17c9b1a87b3ea16c9\",\"dweb:/ipfs/QmcyxPoeBdzA9iHEgd76xKhaQ8HKfpV4owdSv6127MmveT\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Core.sol\":{\"keccak256\":\"0x37073df20d2b5fbb0a873e6b2dd76c23e23455d1c2d2ba57d2f0998201a4251d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://79d507647ea48d93371341684cf4199d55ed799db9d3489bc016f53990d2ff7c\",\"dweb:/ipfs/QmQWgXiYcPcwNcrkTHb72WtHd4xPcXfRUMfBrhkDHgr2ut\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/DefenderDeploy.sol\":{\"keccak256\":\"0x868ffdaf5d185fee103fc4581385392b47c209a5cfd2aec01f0307dbc0101d73\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://76e51bf69a4d0b5d1d9cfa7efa442bdcf9d713966563432ef8fdd00ec959a25e\",\"dweb:/ipfs/QmTHkdvMnqmEvus7zbmHhPkWk3fM9SW2Jq8gnyBLwVJtxG\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Utils.sol\":{\"keccak256\":\"0x4de002af810f6a5fe26a6381e0ead3331735bd0059434a22df75e17c177b5f87\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af32ff07f606e530a53030db141a75af144cfe065a6543939d412018c6159540\",\"dweb:/ipfs/QmbfTB92Zd8VQHW61g9dx1CvGgSL5SCoZDLrvJfnR7Ctio\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Versions.sol\":{\"keccak256\":\"0xf1a1441c18a296853509e9b1d18be794ed3de836caea49d6948b5e9ac566e8c6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6f3463514235bd875ecacf45f95cac64aa650dd38d05c15fe1f4203b6b5733bd\",\"dweb:/ipfs/Qmcbhmw9NPkG8MqiVsQ4qUupeQFCRgyBDKuoUwohwa8EP3\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IProxyAdmin.sol\":{\"keccak256\":\"0xf5e514595089f8959da130507086e7388602a71ce60575d141e7d892dfbddbfc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9b41366e2823ccc8cb42304496d761b3df80946d17384634a61afd7139495c91\",\"dweb:/ipfs/QmZE2nRMxax1NPj63ifemKdScGJzKNWi7BCGudjFLsUz1y\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableBeacon.sol\":{\"keccak256\":\"0xa8d7bffdd26eb763e459650c83f247b54af79800c2df52ad05878f238fc1c2f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ed47f1e53e5eb7d48fed60a414755641fca8fa0e713fd503b2597227da78a2f\",\"dweb:/ipfs/QmQr8A5wddHdhQNauFShXxRkPcuVVpVsYpq846WhmFC8Tv\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableProxy.sol\":{\"keccak256\":\"0x781b564b90bba0c0e8e12fb66b1c910f42d369db469f2e88592b4cff29de99a5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://45fcab02a43fde934445b88e905aba3f58a70b75dd6ee6eb86a3d593424aeb03\",\"dweb:/ipfs/QmXmhAgrctaYUDLoTRgUjwD4deoXu1E2QT1kftVGcVa56j\"]},\"pkg/contracts/src/ISybilScorer.sol\":{\"keccak256\":\"0x0e25fbb8497ac3c969d80c9032362d45e56c0a45dc9ba3dff6a8a704571f38ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0dff90ebae6e7131a5300fcaf525bc2ab0ae90fcd13f277d7b7b6939eeb8b7eb\",\"dweb:/ipfs/QmYGkYqpUVrBWoNY6f3CtwrrVQFWSvnJfpu68t95f6AkBY\"]},\"pkg/contracts/src/PassportScorer.sol\":{\"keccak256\":\"0x1244948644eb13bbdbf2b62e465427229a9e227e0c214c92eeaf6021401a6513\",\"license\":\"AGPL-3.0-or-later\",\"urls\":[\"bzz-raw://02dc7d6dcc3c0fe5bdd401f58c2b767030a31878734b133e09ea0aa282566d23\",\"dweb:/ipfs/QmVY9NQLx4kKyV7Cxbj9yA4soZ7DuNUEHHPoNfcdmauM3M\"]},\"pkg/contracts/test/PassportScorerTest.t.sol\":{\"keccak256\":\"0xbeb984e08da607b0d2eaa84cc83644c4d7bc68c6092719e0a38d2297a5e3d21b\",\"license\":\"AGPL-3.0-or-later\",\"urls\":[\"bzz-raw://3d7b92d67443c5e54a977185e727543b4429a96af3ac092b54f4eacb8421edac\",\"dweb:/ipfs/QmRksjaxxgPFGLnXKgtcAU5i23oCWPaV2r76YtN9WBoawN\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"string","name":"","type":"string","indexed":false}],"type":"event","name":"log","anonymous":false},{"inputs":[{"internalType":"address","name":"","type":"address","indexed":false}],"type":"event","name":"log_address","anonymous":false},{"inputs":[{"internalType":"uint256[]","name":"val","type":"uint256[]","indexed":false}],"type":"event","name":"log_array","anonymous":false},{"inputs":[{"internalType":"int256[]","name":"val","type":"int256[]","indexed":false}],"type":"event","name":"log_array","anonymous":false},{"inputs":[{"internalType":"address[]","name":"val","type":"address[]","indexed":false}],"type":"event","name":"log_array","anonymous":false},{"inputs":[{"internalType":"bytes","name":"","type":"bytes","indexed":false}],"type":"event","name":"log_bytes","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32","indexed":false}],"type":"event","name":"log_bytes32","anonymous":false},{"inputs":[{"internalType":"int256","name":"","type":"int256","indexed":false}],"type":"event","name":"log_int","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"address","name":"val","type":"address","indexed":false}],"type":"event","name":"log_named_address","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"uint256[]","name":"val","type":"uint256[]","indexed":false}],"type":"event","name":"log_named_array","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"int256[]","name":"val","type":"int256[]","indexed":false}],"type":"event","name":"log_named_array","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"address[]","name":"val","type":"address[]","indexed":false}],"type":"event","name":"log_named_array","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"bytes","name":"val","type":"bytes","indexed":false}],"type":"event","name":"log_named_bytes","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"bytes32","name":"val","type":"bytes32","indexed":false}],"type":"event","name":"log_named_bytes32","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"int256","name":"val","type":"int256","indexed":false},{"internalType":"uint256","name":"decimals","type":"uint256","indexed":false}],"type":"event","name":"log_named_decimal_int","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"uint256","name":"val","type":"uint256","indexed":false},{"internalType":"uint256","name":"decimals","type":"uint256","indexed":false}],"type":"event","name":"log_named_decimal_uint","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"int256","name":"val","type":"int256","indexed":false}],"type":"event","name":"log_named_int","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"string","name":"val","type":"string","indexed":false}],"type":"event","name":"log_named_string","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"uint256","name":"val","type":"uint256","indexed":false}],"type":"event","name":"log_named_uint","anonymous":false},{"inputs":[{"internalType":"string","name":"","type":"string","indexed":false}],"type":"event","name":"log_string","anonymous":false},{"inputs":[{"internalType":"uint256","name":"","type":"uint256","indexed":false}],"type":"event","name":"log_uint","anonymous":false},{"inputs":[{"internalType":"bytes","name":"","type":"bytes","indexed":false}],"type":"event","name":"logs","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"IS_TEST","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"councilSafe","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"excludeArtifacts","outputs":[{"internalType":"string[]","name":"excludedArtifacts_","type":"string[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"excludeContracts","outputs":[{"internalType":"address[]","name":"excludedContracts_","type":"address[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"excludeSenders","outputs":[{"internalType":"address[]","name":"excludedSenders_","type":"address[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"failed","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"listManager","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"passportData","outputs":[{"internalType":"uint256","name":"score","type":"uint256"},{"internalType":"uint256","name":"lastUpdated","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"passportScorer","outputs":[{"internalType":"contract PassportScorer","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"setUp"},{"inputs":[],"stateMutability":"view","type":"function","name":"strategy","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetArtifactSelectors","outputs":[{"internalType":"struct StdInvariant.FuzzSelector[]","name":"targetedArtifactSelectors_","type":"tuple[]","components":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"bytes4[]","name":"selectors","type":"bytes4[]"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetArtifacts","outputs":[{"internalType":"string[]","name":"targetedArtifacts_","type":"string[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetContracts","outputs":[{"internalType":"address[]","name":"targetedContracts_","type":"address[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetInterfaces","outputs":[{"internalType":"struct StdInvariant.FuzzInterface[]","name":"targetedInterfaces_","type":"tuple[]","components":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"string[]","name":"artifacts","type":"string[]"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetSelectors","outputs":[{"internalType":"struct StdInvariant.FuzzSelector[]","name":"targetedSelectors_","type":"tuple[]","components":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"bytes4[]","name":"selectors","type":"bytes4[]"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetSenders","outputs":[{"internalType":"address[]","name":"targetedSenders_","type":"address[]"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"testAddStrategy"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"testAddUserScore"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"testCanExecuteAction"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"testChangeListManager"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"testModifyThresholdByAuthorized"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"testModifyThresholdByCouncilSafe"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"testOnlyAuthorizedCanAddUserScore"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"testOnlyAuthorizedCanRemoveUser"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"testOnlyOwnerCanChangeListManager"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"testRemoveStrategy"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"testRemoveUser"},{"inputs":[],"stateMutability":"view","type":"function","name":"unauthorizedUser","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"user","outputs":[{"internalType":"address","name":"","type":"address"}]}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","eas-proxy/=lib/allo-v2/lib/eas-proxy/contracts/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","hedgey-vesting/=lib/allo-v2/lib/hedgey-vesting/contracts/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-contracts/=lib/safe-contracts/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","superfluid-protocol-monorepo/=lib/allo-v2/lib/superfluid-protocol-monorepo/packages/solidity-semantic-money/src/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":1000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"pkg/contracts/test/PassportScorerTest.t.sol":"PassportScorerTest"},"evmVersion":"paris","libraries":{}},"sources":{"lib/forge-std/src/Base.sol":{"keccak256":"0x4ff1a785311017d1eedb1b4737956fa383067ad34eb439abfec1d989754dde1c","urls":["bzz-raw://f553622969b9fdb930246704a4c10dfaee6b1a4468c142fa7eb9dc292a438224","dweb:/ipfs/QmcxqHnqdQsMVtgsfH9VNLmZ3g7GhgNagfq7yvNCDcCHFK"],"license":"MIT"},"lib/forge-std/src/StdAssertions.sol":{"keccak256":"0xf513292ab066e6017db48ca749c1e63a44dfc5cba0326fc65c718f96e029d361","urls":["bzz-raw://02d715ae2898f1fabd08133f80e6a7a3b87a2796ca5d23d1cb3fed9f4367f34c","dweb:/ipfs/QmfESqa4j3PQAvvdfrnDQ1xUH1TnVCfvZYHsAEDK8z4X4k"],"license":"MIT"},"lib/forge-std/src/StdChains.sol":{"keccak256":"0x9cc29c28f49d0b7f7b2f1aa32d8273f8a087bf62eb3fb22d893df824052c25ef","urls":["bzz-raw://42dcb36cb10b878a0d5b20ce3a4a3ba4f51f44d7731a66ac1133c699bc80b31b","dweb:/ipfs/QmY6q7SaHQMLBb3rS6xZdArPaXoskWeqF6oJwUeZ3gKLZj"],"license":"MIT"},"lib/forge-std/src/StdCheats.sol":{"keccak256":"0xb72f3519e0bf7d31df5d68557525f4fc55d861c3fb3b0f7793144ef7c94cbeb7","urls":["bzz-raw://f3456d0f78e6f61203fa7871ba2df0d35925f10db3baee14be623ce2a35b84e2","dweb:/ipfs/QmWE6QQSBvJifHMraisBTrf1x4WCwrDoTPLX8UKajTiApc"],"license":"MIT"},"lib/forge-std/src/StdError.sol":{"keccak256":"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77","urls":["bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6","dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj"],"license":"MIT"},"lib/forge-std/src/StdInvariant.sol":{"keccak256":"0x67299bfacd77fddfa2a67b8e2b901e0e333618a4975fb94850b07475e51f6de6","urls":["bzz-raw://1b61121d310f4053ce344b345b4a9ccf43b059daf9097ec2647f594beaca896d","dweb:/ipfs/QmZUCoTtXBM9zfAZVbj2dFPPnKaV1CSZzXE7zictyg3Gfz"],"license":"MIT"},"lib/forge-std/src/StdJson.sol":{"keccak256":"0x62bed173cb126f6d5006706cf249bac8a2d51bfa18f773f314784ff18adc622d","urls":["bzz-raw://5acc33dddbf2492e37dc32e89cd56ce917272d303a6874805f3a5768a6bfbf54","dweb:/ipfs/QmTsgFhcpUf16gAVazUXU3WspgX8nHke2hzVCvoqS25WEp"],"license":"MIT"},"lib/forge-std/src/StdMath.sol":{"keccak256":"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2","urls":["bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92","dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC"],"license":"MIT"},"lib/forge-std/src/StdStorage.sol":{"keccak256":"0x651d84d948832f0ef45686417aa68ffb871378fa788a4123dbf37844903c66f3","urls":["bzz-raw://ff20f5ac9de3dc3ba86b1bf1f2723174e82ce3499ad67cb0ccfa7d28baeee678","dweb:/ipfs/QmRZkUFKz7AmF7yk6o317sk822HHhGVPXZQgX8G4LfYfft"],"license":"MIT"},"lib/forge-std/src/StdStyle.sol":{"keccak256":"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d","urls":["bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8","dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK"],"license":"MIT"},"lib/forge-std/src/StdToml.sol":{"keccak256":"0xc8a57915ace96f5b6a85b57e57690fc038cad9034a3dc368c11828a3707c61ab","urls":["bzz-raw://fa880a1a6e5d94005dcf4811b4c0df8d9c06407017ae111bd351483e2b76a72d","dweb:/ipfs/QmcxkEE58gE1vDcZofTr8QpvdjXjgR72yYg7o4vTPSLCsy"],"license":"MIT"},"lib/forge-std/src/StdUtils.sol":{"keccak256":"0x502b18a4becda6ecd91fa8b419d8034946bfa80e6cc7f6497f51f8565bfadae0","urls":["bzz-raw://bf499ee483a1dfd02023d4ce78ed4029a49794ccd5b849aaab912faea0d2ba61","dweb:/ipfs/QmP6hwNZW7sYbQK9fBzuZWxfLm6Swx2nKzvZ54qWNqQkzX"],"license":"MIT"},"lib/forge-std/src/Test.sol":{"keccak256":"0x3b4bb409a156dee9ce261458117fe9f81080ca844a8a26c07c857c46d155effe","urls":["bzz-raw://5792c69fe24bdc063a14e08fe68275007fdb1e5e7e343840a77938cb7e95a64e","dweb:/ipfs/QmcAMhaurUwzhytJFYix4vRNeZeV8g27b8LnV3t7dvYtiK"],"license":"MIT"},"lib/forge-std/src/Vm.sol":{"keccak256":"0x51fec240abc6dd23e0ee6de7c65106379aef732cad6c4ae5df6b55db886e7456","urls":["bzz-raw://a47d9c0a9876e7f9e411843b994a741d4ac1a87d8459ffc3c56359de691ddc1a","dweb:/ipfs/QmQiFN9b3Y2azrD1RBfAKEuAG3YeJkMzA2DGzgEE9kMeEK"],"license":"MIT OR Apache-2.0"},"lib/forge-std/src/console.sol":{"keccak256":"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba","urls":["bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70","dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec"],"license":"MIT"},"lib/forge-std/src/console2.sol":{"keccak256":"0x954646445d1014c3cd85c7918f5e7adeeca5ee44b68c00bafa237e597a4e35ea","urls":["bzz-raw://516fa3be52da4763147175bfba4be0aa011fadbb0c1afb01f97265bd4cee7973","dweb:/ipfs/QmdixAyMJefx7qePChgdxcBH5MxhmN7vsqPuPLx3CgrVmF"],"license":"MIT"},"lib/forge-std/src/interfaces/IERC165.sol":{"keccak256":"0x414b2861b1acbf816ccb7346d3f16cf6c1e002e9e5e40d2f1f26fa5ddc2ea600","urls":["bzz-raw://698352fb240868ea8f1d1fe389993035eeab930f10d06934f80ccfb2b6ccbfbc","dweb:/ipfs/QmT6WLHAgXxFhh12kWym895oTzXid1326iZiwT3pyfggoT"],"license":"MIT"},"lib/forge-std/src/interfaces/IERC20.sol":{"keccak256":"0x4cab887298790f908c27de107e4e2907ca5413aee482ef776f8d2f353c5ef947","urls":["bzz-raw://bb715e0c4a2bdbe432bb624501506041f06e878e0b72675aebba30ad2c2b72e7","dweb:/ipfs/QmWhhLSvkxS2NrukJJHqFY8gDVE5r9rD4PfHvR24pwdKv9"],"license":"MIT"},"lib/forge-std/src/interfaces/IERC721.sol":{"keccak256":"0xf069262a264fdb69f8f37a10d2df7374649e9ba73f8414c9c8a3b51184625f15","urls":["bzz-raw://924a41ca82a68ffbd503a5faf2f76d13e9938f10501a71094716f12bb64b4b7f","dweb:/ipfs/QmdWnqfKc5ZGhmxNPTde4zrFchnv9Yk9MpCMb2rdhXE5gm"],"license":"MIT"},"lib/forge-std/src/interfaces/IMulticall3.sol":{"keccak256":"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a","urls":["bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0","dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2"],"license":"MIT"},"lib/forge-std/src/mocks/MockERC20.sol":{"keccak256":"0xadbdfc6639edec00ba94bb1133a0fd8de31ccafe45c2ef5df9b3ca61b60b559b","urls":["bzz-raw://bc766f01bccf669abac8cc7b2096cc1352a66471ca3772ae61b1801dedc4ed4f","dweb:/ipfs/QmNigaPj1LYkP7Z5xr4ijkUxr2K66fDGeoifG3WoM9ruyw"],"license":"MIT"},"lib/forge-std/src/mocks/MockERC721.sol":{"keccak256":"0x3293dcbb7acd28df553c954e4e39e288bf10aab7ecda8d50ef21b4f4a91a28d9","urls":["bzz-raw://9eb374daf6df34f4392f8926f1fddbce9f22c423066aeaefdfbe77395f77967b","dweb:/ipfs/QmWR81zBJRX2uyRjveGzikYPj6ZwKppWsU49YEQXTLWUsN"],"license":"MIT"},"lib/forge-std/src/safeconsole.sol":{"keccak256":"0xbaf41fdc6c54297e7cd8250e48b0f20eaac918e342a1028cef3f9a52ac086381","urls":["bzz-raw://a500ad81dea226f9910e6b50f99a9ff930105e393a692cbfb2185e4cdb4424ae","dweb:/ipfs/QmVbUQpXNMmMWRiy4FvBNczzq46BMGfUoBikvSHNiCxVTq"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol":{"keccak256":"0x359a1ab89b46b9aba7bcad3fb651924baf4893d15153049b9976b0fc9be1358e","urls":["bzz-raw://e89863421b4014b96a4b62be76eb3b9f0a8afe9684664a6f389124c0964bfe5c","dweb:/ipfs/Qmbk7xr1irpDuU1WdxXgxELBXxs61rHhCgod7heVcvFx16"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794","urls":["bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e","dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol":{"keccak256":"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422","urls":["bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b","dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef","urls":["bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95","dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol":{"keccak256":"0x3cbef5ebc24b415252e2f8c0c9254555d30d9f085603b4b80d9b5ed20ab87e90","urls":["bzz-raw://e8fa670c3bdce78e642cc6ae11c4cb38b133499cdce5e1990a9979d424703263","dweb:/ipfs/QmVxeCUk4jL2pXQyhsoNJwyU874wRufS2WvGe8TgPKPqhE"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol":{"keccak256":"0x1d4afe6cb24200cc4545eed814ecf5847277dfe5d613a1707aad5fceecebcfff","urls":["bzz-raw://383fb7b8181016ac5ccf07bc9cdb7c1b5045ea36e2cc4df52bcbf20396fc7688","dweb:/ipfs/QmYJ7Cg4WmE3rR8KGQxjUCXFfTH6TcwZ2Z1f6tPrq7jHFr"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol":{"keccak256":"0xa2b22da3032e50b55f95ec1d13336102d675f341167aa76db571ef7f8bb7975d","urls":["bzz-raw://96b6d77a20bebd4eb06b801d3d020c7e82be13bd535cb0d0a6b7181c51dab5d5","dweb:/ipfs/QmPUR9Cv9jNFdQX6PtBfaBW1ZCnKwiu65R2VD5kbdanDyn"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Upgrade.sol":{"keccak256":"0x3b21ae06bf5957f73fa16754b0669c77b7abd8ba6c072d35c3281d446fdb86c2","urls":["bzz-raw://2db8e18505e86e02526847005d7287a33e397ed7fb9eaba3fd4a4a197add16e2","dweb:/ipfs/QmW9BSuKTzHWHBNSHF4L8XfVuU1uJrP2vLg84YtBd8mL82"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol":{"keccak256":"0xc130fe33f1b2132158531a87734153293f6d07bc263ff4ac90e85da9c82c0e27","urls":["bzz-raw://8831721b6f4cc26534d190f9f1631c3f59c9ff38efdd911f85e0882b8e360472","dweb:/ipfs/QmQZnLErZNStirSQ13ZNWQgvEYUtGE5tXYwn4QUPaVUfPN"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol":{"keccak256":"0xd50a3421ac379ccb1be435fa646d66a65c986b4924f0849839f08692f39dde61","urls":["bzz-raw://ada1e030c0231db8d143b44ce92b4d1158eedb087880cad6d8cc7bd7ebe7b354","dweb:/ipfs/QmWZ2NHZweRpz1U9GF6R1h65ri76dnX7fNxLBeM2t5N5Ce"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol":{"keccak256":"0xc6619957bcc6641fe8984bfaf9ff11a9e4b97d8149c0495f608f9a2416d7c5cf","urls":["bzz-raw://543be67f7fa43b1b932637c1c7f12035f0f4b0f7ee2bd3c33841186f79c165c1","dweb:/ipfs/QmSBPM2UVKbmJqWfD9i6hSiqbaE8TV4TSqfuiivziRRLKM"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Address.sol":{"keccak256":"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa","urls":["bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931","dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol":{"keccak256":"0xf09e68aa0dc6722a25bc46490e8d48ed864466d17313b8a0b254c36b54e49899","urls":["bzz-raw://e26daf81e2252dc1fe1ce0e4b55c2eb7c6d1ee84ae6558d1a9554432ea1d32da","dweb:/ipfs/Qmb1UANWiWq5pCKbmHSu772hd4nt374dVaghGmwSVNuk8Q"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Strings.sol":{"keccak256":"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0","urls":["bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f","dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/Math.sol":{"keccak256":"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3","urls":["bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c","dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol":{"keccak256":"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc","urls":["bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7","dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/src/strings.sol":{"keccak256":"0x42cad11a7033f2fe05dd68611d2304407a620ac985b91edf29d5868cfe196223","urls":["bzz-raw://3cbc2333234e1f00eab5e57c4bcaf5115661e5e066a17c70af587a0a96f24669","dweb:/ipfs/QmPHvStqcvZL46LW5N2ExTwAaqNhRCcmAX66aR6oE1WDar"],"license":null},"lib/openzeppelin-foundry-upgrades/src/Defender.sol":{"keccak256":"0x2114e4d70d53b36e8cec54ba11ff78d9f38a466ec3504c76c7f26101a7cff37f","urls":["bzz-raw://58f4d9bc58646e7631b263cdb8ef260e6818e9f716036d81d1c18218c9557a23","dweb:/ipfs/QmS18L4R4gPtay9eQBcR28DnwmBkGSWsiCFwm2tXc3BkHL"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/LegacyUpgrades.sol":{"keccak256":"0x8436719f73c76efadaa16cd719d088f698ea3591595dfdf2c15fd66f3e203197","urls":["bzz-raw://ac8d0e55defe124adcc3845348602d6528b00b7dc5f7abf9e1b245d0cea9b55e","dweb:/ipfs/QmaPBoG89Bd2btJZW5kjXx7zXo6KhAdeTuMq5xo431M8xq"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/Options.sol":{"keccak256":"0xa5414683d6b219b28e75ecaab3d00a305dfaf4d970389a88992275c8072ce8ac","urls":["bzz-raw://b1dbfd566ba318f2b740159c28e4511c84c9d76fcc293ae17c9b1a87b3ea16c9","dweb:/ipfs/QmcyxPoeBdzA9iHEgd76xKhaQ8HKfpV4owdSv6127MmveT"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Core.sol":{"keccak256":"0x37073df20d2b5fbb0a873e6b2dd76c23e23455d1c2d2ba57d2f0998201a4251d","urls":["bzz-raw://79d507647ea48d93371341684cf4199d55ed799db9d3489bc016f53990d2ff7c","dweb:/ipfs/QmQWgXiYcPcwNcrkTHb72WtHd4xPcXfRUMfBrhkDHgr2ut"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/DefenderDeploy.sol":{"keccak256":"0x868ffdaf5d185fee103fc4581385392b47c209a5cfd2aec01f0307dbc0101d73","urls":["bzz-raw://76e51bf69a4d0b5d1d9cfa7efa442bdcf9d713966563432ef8fdd00ec959a25e","dweb:/ipfs/QmTHkdvMnqmEvus7zbmHhPkWk3fM9SW2Jq8gnyBLwVJtxG"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Utils.sol":{"keccak256":"0x4de002af810f6a5fe26a6381e0ead3331735bd0059434a22df75e17c177b5f87","urls":["bzz-raw://af32ff07f606e530a53030db141a75af144cfe065a6543939d412018c6159540","dweb:/ipfs/QmbfTB92Zd8VQHW61g9dx1CvGgSL5SCoZDLrvJfnR7Ctio"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Versions.sol":{"keccak256":"0xf1a1441c18a296853509e9b1d18be794ed3de836caea49d6948b5e9ac566e8c6","urls":["bzz-raw://6f3463514235bd875ecacf45f95cac64aa650dd38d05c15fe1f4203b6b5733bd","dweb:/ipfs/Qmcbhmw9NPkG8MqiVsQ4qUupeQFCRgyBDKuoUwohwa8EP3"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IProxyAdmin.sol":{"keccak256":"0xf5e514595089f8959da130507086e7388602a71ce60575d141e7d892dfbddbfc","urls":["bzz-raw://9b41366e2823ccc8cb42304496d761b3df80946d17384634a61afd7139495c91","dweb:/ipfs/QmZE2nRMxax1NPj63ifemKdScGJzKNWi7BCGudjFLsUz1y"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableBeacon.sol":{"keccak256":"0xa8d7bffdd26eb763e459650c83f247b54af79800c2df52ad05878f238fc1c2f8","urls":["bzz-raw://8ed47f1e53e5eb7d48fed60a414755641fca8fa0e713fd503b2597227da78a2f","dweb:/ipfs/QmQr8A5wddHdhQNauFShXxRkPcuVVpVsYpq846WhmFC8Tv"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableProxy.sol":{"keccak256":"0x781b564b90bba0c0e8e12fb66b1c910f42d369db469f2e88592b4cff29de99a5","urls":["bzz-raw://45fcab02a43fde934445b88e905aba3f58a70b75dd6ee6eb86a3d593424aeb03","dweb:/ipfs/QmXmhAgrctaYUDLoTRgUjwD4deoXu1E2QT1kftVGcVa56j"],"license":"MIT"},"pkg/contracts/src/ISybilScorer.sol":{"keccak256":"0x0e25fbb8497ac3c969d80c9032362d45e56c0a45dc9ba3dff6a8a704571f38ea","urls":["bzz-raw://0dff90ebae6e7131a5300fcaf525bc2ab0ae90fcd13f277d7b7b6939eeb8b7eb","dweb:/ipfs/QmYGkYqpUVrBWoNY6f3CtwrrVQFWSvnJfpu68t95f6AkBY"],"license":"MIT"},"pkg/contracts/src/PassportScorer.sol":{"keccak256":"0x1244948644eb13bbdbf2b62e465427229a9e227e0c214c92eeaf6021401a6513","urls":["bzz-raw://02dc7d6dcc3c0fe5bdd401f58c2b767030a31878734b133e09ea0aa282566d23","dweb:/ipfs/QmVY9NQLx4kKyV7Cxbj9yA4soZ7DuNUEHHPoNfcdmauM3M"],"license":"AGPL-3.0-or-later"},"pkg/contracts/test/PassportScorerTest.t.sol":{"keccak256":"0xbeb984e08da607b0d2eaa84cc83644c4d7bc68c6092719e0a38d2297a5e3d21b","urls":["bzz-raw://3d7b92d67443c5e54a977185e727543b4429a96af3ac092b54f4eacb8421edac","dweb:/ipfs/QmRksjaxxgPFGLnXKgtcAU5i23oCWPaV2r76YtN9WBoawN"],"license":"AGPL-3.0-or-later"}},"version":1},"storageLayout":{"storage":[{"astId":5830,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"stdstore","offset":0,"slot":"0","type":"t_struct(StdStorage)13235_storage"},{"astId":6026,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"_failed","offset":0,"slot":"8","type":"t_bool"},{"astId":8527,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"stdChainsInitialized","offset":1,"slot":"8","type":"t_bool"},{"astId":8548,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"chains","offset":0,"slot":"9","type":"t_mapping(t_string_memory_ptr,t_struct(Chain)8543_storage)"},{"astId":8552,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"defaultRpcUrls","offset":0,"slot":"10","type":"t_mapping(t_string_memory_ptr,t_string_storage)"},{"astId":8556,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"idToAlias","offset":0,"slot":"11","type":"t_mapping(t_uint256,t_string_storage)"},{"astId":8559,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"fallbackToDefaultRpcUrls","offset":0,"slot":"12","type":"t_bool"},{"astId":9317,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"gasMeteringOff","offset":1,"slot":"12","type":"t_bool"},{"astId":11354,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"stdstore","offset":0,"slot":"13","type":"t_struct(StdStorage)13235_storage"},{"astId":12222,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"_excludedContracts","offset":0,"slot":"21","type":"t_array(t_address)dyn_storage"},{"astId":12225,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"_excludedSenders","offset":0,"slot":"22","type":"t_array(t_address)dyn_storage"},{"astId":12228,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"_targetedContracts","offset":0,"slot":"23","type":"t_array(t_address)dyn_storage"},{"astId":12231,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"_targetedSenders","offset":0,"slot":"24","type":"t_array(t_address)dyn_storage"},{"astId":12234,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"_excludedArtifacts","offset":0,"slot":"25","type":"t_array(t_string_storage)dyn_storage"},{"astId":12237,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"_targetedArtifacts","offset":0,"slot":"26","type":"t_array(t_string_storage)dyn_storage"},{"astId":12241,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"_targetedArtifactSelectors","offset":0,"slot":"27","type":"t_array(t_struct(FuzzSelector)12213_storage)dyn_storage"},{"astId":12245,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"_targetedSelectors","offset":0,"slot":"28","type":"t_array(t_struct(FuzzSelector)12213_storage)dyn_storage"},{"astId":12249,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"_targetedInterfaces","offset":0,"slot":"29","type":"t_array(t_struct(FuzzInterface)12219_storage)dyn_storage"},{"astId":17834,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"IS_TEST","offset":0,"slot":"30","type":"t_bool"},{"astId":107320,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"passportScorer","offset":1,"slot":"30","type":"t_contract(PassportScorer)81159"},{"astId":107326,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"listManager","offset":0,"slot":"31","type":"t_address"},{"astId":107332,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"user","offset":0,"slot":"32","type":"t_address"},{"astId":107338,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"strategy","offset":0,"slot":"33","type":"t_address"},{"astId":107344,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"councilSafe","offset":0,"slot":"34","type":"t_address"},{"astId":107350,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"unauthorizedUser","offset":0,"slot":"35","type":"t_address"},{"astId":107353,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"passportData","offset":0,"slot":"36","type":"t_struct(PassportData)80585_storage"}],"types":{"t_address":{"encoding":"inplace","label":"address","numberOfBytes":"20"},"t_array(t_address)dyn_storage":{"encoding":"dynamic_array","label":"address[]","numberOfBytes":"32","base":"t_address"},"t_array(t_bytes32)dyn_storage":{"encoding":"dynamic_array","label":"bytes32[]","numberOfBytes":"32","base":"t_bytes32"},"t_array(t_bytes4)dyn_storage":{"encoding":"dynamic_array","label":"bytes4[]","numberOfBytes":"32","base":"t_bytes4"},"t_array(t_string_storage)dyn_storage":{"encoding":"dynamic_array","label":"string[]","numberOfBytes":"32","base":"t_string_storage"},"t_array(t_struct(FuzzInterface)12219_storage)dyn_storage":{"encoding":"dynamic_array","label":"struct StdInvariant.FuzzInterface[]","numberOfBytes":"32","base":"t_struct(FuzzInterface)12219_storage"},"t_array(t_struct(FuzzSelector)12213_storage)dyn_storage":{"encoding":"dynamic_array","label":"struct StdInvariant.FuzzSelector[]","numberOfBytes":"32","base":"t_struct(FuzzSelector)12213_storage"},"t_bool":{"encoding":"inplace","label":"bool","numberOfBytes":"1"},"t_bytes32":{"encoding":"inplace","label":"bytes32","numberOfBytes":"32"},"t_bytes4":{"encoding":"inplace","label":"bytes4","numberOfBytes":"4"},"t_bytes_storage":{"encoding":"bytes","label":"bytes","numberOfBytes":"32"},"t_contract(PassportScorer)81159":{"encoding":"inplace","label":"contract PassportScorer","numberOfBytes":"20"},"t_mapping(t_address,t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)13210_storage)))":{"encoding":"mapping","key":"t_address","label":"mapping(address => mapping(bytes4 => mapping(bytes32 => struct FindData)))","numberOfBytes":"32","value":"t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)13210_storage))"},"t_mapping(t_bytes32,t_struct(FindData)13210_storage)":{"encoding":"mapping","key":"t_bytes32","label":"mapping(bytes32 => struct FindData)","numberOfBytes":"32","value":"t_struct(FindData)13210_storage"},"t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)13210_storage))":{"encoding":"mapping","key":"t_bytes4","label":"mapping(bytes4 => mapping(bytes32 => struct FindData))","numberOfBytes":"32","value":"t_mapping(t_bytes32,t_struct(FindData)13210_storage)"},"t_mapping(t_string_memory_ptr,t_string_storage)":{"encoding":"mapping","key":"t_string_memory_ptr","label":"mapping(string => string)","numberOfBytes":"32","value":"t_string_storage"},"t_mapping(t_string_memory_ptr,t_struct(Chain)8543_storage)":{"encoding":"mapping","key":"t_string_memory_ptr","label":"mapping(string => struct StdChains.Chain)","numberOfBytes":"32","value":"t_struct(Chain)8543_storage"},"t_mapping(t_uint256,t_string_storage)":{"encoding":"mapping","key":"t_uint256","label":"mapping(uint256 => string)","numberOfBytes":"32","value":"t_string_storage"},"t_string_memory_ptr":{"encoding":"bytes","label":"string","numberOfBytes":"32"},"t_string_storage":{"encoding":"bytes","label":"string","numberOfBytes":"32"},"t_struct(Chain)8543_storage":{"encoding":"inplace","label":"struct StdChains.Chain","numberOfBytes":"128","members":[{"astId":8536,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"name","offset":0,"slot":"0","type":"t_string_storage"},{"astId":8538,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"chainId","offset":0,"slot":"1","type":"t_uint256"},{"astId":8540,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"chainAlias","offset":0,"slot":"2","type":"t_string_storage"},{"astId":8542,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"rpcUrl","offset":0,"slot":"3","type":"t_string_storage"}]},"t_struct(FindData)13210_storage":{"encoding":"inplace","label":"struct FindData","numberOfBytes":"128","members":[{"astId":13203,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"slot","offset":0,"slot":"0","type":"t_uint256"},{"astId":13205,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"offsetLeft","offset":0,"slot":"1","type":"t_uint256"},{"astId":13207,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"offsetRight","offset":0,"slot":"2","type":"t_uint256"},{"astId":13209,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"found","offset":0,"slot":"3","type":"t_bool"}]},"t_struct(FuzzInterface)12219_storage":{"encoding":"inplace","label":"struct StdInvariant.FuzzInterface","numberOfBytes":"64","members":[{"astId":12215,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"addr","offset":0,"slot":"0","type":"t_address"},{"astId":12218,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"artifacts","offset":0,"slot":"1","type":"t_array(t_string_storage)dyn_storage"}]},"t_struct(FuzzSelector)12213_storage":{"encoding":"inplace","label":"struct StdInvariant.FuzzSelector","numberOfBytes":"64","members":[{"astId":12209,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"addr","offset":0,"slot":"0","type":"t_address"},{"astId":12212,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"selectors","offset":0,"slot":"1","type":"t_array(t_bytes4)dyn_storage"}]},"t_struct(PassportData)80585_storage":{"encoding":"inplace","label":"struct PassportData","numberOfBytes":"64","members":[{"astId":80582,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"score","offset":0,"slot":"0","type":"t_uint256"},{"astId":80584,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"lastUpdated","offset":0,"slot":"1","type":"t_uint256"}]},"t_struct(StdStorage)13235_storage":{"encoding":"inplace","label":"struct StdStorage","numberOfBytes":"256","members":[{"astId":13219,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"finds","offset":0,"slot":"0","type":"t_mapping(t_address,t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)13210_storage)))"},{"astId":13222,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"_keys","offset":0,"slot":"1","type":"t_array(t_bytes32)dyn_storage"},{"astId":13224,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"_sig","offset":0,"slot":"2","type":"t_bytes4"},{"astId":13226,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"_depth","offset":0,"slot":"3","type":"t_uint256"},{"astId":13228,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"_target","offset":0,"slot":"4","type":"t_address"},{"astId":13230,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"_set","offset":0,"slot":"5","type":"t_bytes32"},{"astId":13232,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"_enable_packed_slots","offset":0,"slot":"6","type":"t_bool"},{"astId":13234,"contract":"pkg/contracts/test/PassportScorerTest.t.sol:PassportScorerTest","label":"_calldata","offset":0,"slot":"7","type":"t_bytes_storage"}]},"t_uint256":{"encoding":"inplace","label":"uint256","numberOfBytes":"32"}}},"ast":{"absolutePath":"pkg/contracts/test/PassportScorerTest.t.sol","id":107929,"exportedSymbols":{"ERC1967Proxy":[55562],"ISybilScorer":[80667],"Initializable":[53191],"OwnableUpgradeable":[52942],"PassportData":[80585],"PassportScorer":[81159],"PassportScorerTest":[107928],"StdAssertions":[8503],"StdChains":[9285],"StdCheats":[12138],"StdInvariant":[12463],"StdStorage":[13235],"StdStyle":[16405],"StdUtils":[17783],"Strategy":[80592],"Test":[17835],"TestBase":[5834],"UUPSUpgradeable":[56213],"Upgrades":[61717],"Vm":[21485],"console":[29549],"console2":[37674],"safeconsole":[52399],"stdError":[12204],"stdJson":[13055],"stdMath":[13197],"stdStorage":[15194],"stdToml":[16997]},"nodeType":"SourceUnit","src":"46:5448:145","nodes":[{"id":107309,"nodeType":"PragmaDirective","src":"46:24:145","nodes":[],"literals":["solidity","^","0.8",".19"]},{"id":107310,"nodeType":"ImportDirective","src":"72:28:145","nodes":[],"absolutePath":"lib/forge-std/src/Test.sol","file":"forge-std/Test.sol","nameLocation":"-1:-1:-1","scope":107929,"sourceUnit":17836,"symbolAliases":[],"unitAlias":""},{"id":107311,"nodeType":"ImportDirective","src":"101:35:145","nodes":[],"absolutePath":"pkg/contracts/src/PassportScorer.sol","file":"../src/PassportScorer.sol","nameLocation":"-1:-1:-1","scope":107929,"sourceUnit":81160,"symbolAliases":[],"unitAlias":""},{"id":107313,"nodeType":"ImportDirective","src":"138:66:145","nodes":[],"absolutePath":"lib/openzeppelin-foundry-upgrades/src/LegacyUpgrades.sol","file":"@openzeppelin/foundry/LegacyUpgrades.sol","nameLocation":"-1:-1:-1","scope":107929,"sourceUnit":61838,"symbolAliases":[{"foreign":{"id":107312,"name":"Upgrades","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61717,"src":"146:8:145","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":107315,"nodeType":"ImportDirective","src":"206:84:145","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol","file":"@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.sol","nameLocation":"-1:-1:-1","scope":107929,"sourceUnit":55563,"symbolAliases":[{"foreign":{"id":107314,"name":"ERC1967Proxy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55562,"src":"214:12:145","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":107928,"nodeType":"ContractDefinition","src":"292:5201:145","nodes":[{"id":107320,"nodeType":"VariableDeclaration","src":"334:36:145","nodes":[],"constant":false,"functionSelector":"4905e831","mutability":"mutable","name":"passportScorer","nameLocation":"356:14:145","scope":107928,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_PassportScorer_$81159","typeString":"contract PassportScorer"},"typeName":{"id":107319,"nodeType":"UserDefinedTypeName","pathNode":{"id":107318,"name":"PassportScorer","nameLocations":["334:14:145"],"nodeType":"IdentifierPath","referencedDeclaration":81159,"src":"334:14:145"},"referencedDeclaration":81159,"src":"334:14:145","typeDescriptions":{"typeIdentifier":"t_contract$_PassportScorer_$81159","typeString":"contract PassportScorer"}},"visibility":"public"},{"id":107326,"nodeType":"VariableDeclaration","src":"376:39:145","nodes":[],"constant":false,"functionSelector":"8df8b2fe","mutability":"mutable","name":"listManager","nameLocation":"391:11:145","scope":107928,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":107321,"name":"address","nodeType":"ElementaryTypeName","src":"376:7:145","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":{"arguments":[{"hexValue":"31","id":107324,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"413:1:145","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":107323,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"405:7:145","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":107322,"name":"address","nodeType":"ElementaryTypeName","src":"405:7:145","typeDescriptions":{}}},"id":107325,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"405:10:145","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"public"},{"id":107332,"nodeType":"VariableDeclaration","src":"421:32:145","nodes":[],"constant":false,"functionSelector":"4f8632ba","mutability":"mutable","name":"user","nameLocation":"436:4:145","scope":107928,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":107327,"name":"address","nodeType":"ElementaryTypeName","src":"421:7:145","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":{"arguments":[{"hexValue":"32","id":107330,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"451:1:145","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"}],"id":107329,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"443:7:145","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":107328,"name":"address","nodeType":"ElementaryTypeName","src":"443:7:145","typeDescriptions":{}}},"id":107331,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"443:10:145","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"public"},{"id":107338,"nodeType":"VariableDeclaration","src":"459:36:145","nodes":[],"constant":false,"functionSelector":"a8c62e76","mutability":"mutable","name":"strategy","nameLocation":"474:8:145","scope":107928,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":107333,"name":"address","nodeType":"ElementaryTypeName","src":"459:7:145","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":{"arguments":[{"hexValue":"33","id":107336,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"493:1:145","typeDescriptions":{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"},"value":"3"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"}],"id":107335,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"485:7:145","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":107334,"name":"address","nodeType":"ElementaryTypeName","src":"485:7:145","typeDescriptions":{}}},"id":107337,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"485:10:145","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"public"},{"id":107344,"nodeType":"VariableDeclaration","src":"501:39:145","nodes":[],"constant":false,"functionSelector":"6c53db9a","mutability":"mutable","name":"councilSafe","nameLocation":"516:11:145","scope":107928,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":107339,"name":"address","nodeType":"ElementaryTypeName","src":"501:7:145","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":{"arguments":[{"hexValue":"34","id":107342,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"538:1:145","typeDescriptions":{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},"value":"4"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"}],"id":107341,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"530:7:145","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":107340,"name":"address","nodeType":"ElementaryTypeName","src":"530:7:145","typeDescriptions":{}}},"id":107343,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"530:10:145","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"public"},{"id":107350,"nodeType":"VariableDeclaration","src":"546:44:145","nodes":[],"constant":false,"functionSelector":"3ea7771b","mutability":"mutable","name":"unauthorizedUser","nameLocation":"561:16:145","scope":107928,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":107345,"name":"address","nodeType":"ElementaryTypeName","src":"546:7:145","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":{"arguments":[{"hexValue":"35","id":107348,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"588:1:145","typeDescriptions":{"typeIdentifier":"t_rational_5_by_1","typeString":"int_const 5"},"value":"5"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_5_by_1","typeString":"int_const 5"}],"id":107347,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"580:7:145","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":107346,"name":"address","nodeType":"ElementaryTypeName","src":"580:7:145","typeDescriptions":{}}},"id":107349,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"580:10:145","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"public"},{"id":107353,"nodeType":"VariableDeclaration","src":"596:32:145","nodes":[],"constant":false,"functionSelector":"073a2d8c","mutability":"mutable","name":"passportData","nameLocation":"616:12:145","scope":107928,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$80585_storage","typeString":"struct PassportData"},"typeName":{"id":107352,"nodeType":"UserDefinedTypeName","pathNode":{"id":107351,"name":"PassportData","nameLocations":["596:12:145"],"nodeType":"IdentifierPath","referencedDeclaration":80585,"src":"596:12:145"},"referencedDeclaration":80585,"src":"596:12:145","typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$80585_storage_ptr","typeString":"struct PassportData"}},"visibility":"public"},{"id":107402,"nodeType":"FunctionDefinition","src":"635:374:145","nodes":[],"body":{"id":107401,"nodeType":"Block","src":"659:350:145","nodes":[],"statements":[{"assignments":[107358],"declarations":[{"constant":false,"id":107358,"mutability":"mutable","name":"proxy","nameLocation":"682:5:145","nodeType":"VariableDeclaration","scope":107401,"src":"669:18:145","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_ERC1967Proxy_$55562","typeString":"contract ERC1967Proxy"},"typeName":{"id":107357,"nodeType":"UserDefinedTypeName","pathNode":{"id":107356,"name":"ERC1967Proxy","nameLocations":["669:12:145"],"nodeType":"IdentifierPath","referencedDeclaration":55562,"src":"669:12:145"},"referencedDeclaration":55562,"src":"669:12:145","typeDescriptions":{"typeIdentifier":"t_contract$_ERC1967Proxy_$55562","typeString":"contract ERC1967Proxy"}},"visibility":"internal"}],"id":107380,"initialValue":{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":107366,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"728:18:145","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$__$returns$_t_contract$_PassportScorer_$81159_$","typeString":"function () returns (contract PassportScorer)"},"typeName":{"id":107365,"nodeType":"UserDefinedTypeName","pathNode":{"id":107364,"name":"PassportScorer","nameLocations":["732:14:145"],"nodeType":"IdentifierPath","referencedDeclaration":81159,"src":"732:14:145"},"referencedDeclaration":81159,"src":"732:14:145","typeDescriptions":{"typeIdentifier":"t_contract$_PassportScorer_$81159","typeString":"contract PassportScorer"}}},"id":107367,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"728:20:145","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_PassportScorer_$81159","typeString":"contract PassportScorer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_PassportScorer_$81159","typeString":"contract PassportScorer"}],"id":107363,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"720:7:145","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":107362,"name":"address","nodeType":"ElementaryTypeName","src":"720:7:145","typeDescriptions":{}}},"id":107368,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"720:29:145","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"expression":{"expression":{"id":107371,"name":"PassportScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81159,"src":"786:14:145","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_PassportScorer_$81159_$","typeString":"type(contract PassportScorer)"}},"id":107372,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"801:10:145","memberName":"initialize","nodeType":"MemberAccess","referencedDeclaration":80856,"src":"786:25:145","typeDescriptions":{"typeIdentifier":"t_function_declaration_nonpayable$_t_address_$returns$__$","typeString":"function PassportScorer.initialize(address)"}},"id":107373,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"812:8:145","memberName":"selector","nodeType":"MemberAccess","src":"786:34:145","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"arguments":[{"id":107376,"name":"listManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":107326,"src":"830:11:145","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":107375,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"822:7:145","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":107374,"name":"address","nodeType":"ElementaryTypeName","src":"822:7:145","typeDescriptions":{}}},"id":107377,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"822:20:145","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":107369,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"763:3:145","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":107370,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"767:18:145","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"763:22:145","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":107378,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"763:80:145","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":107361,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"690:16:145","typeDescriptions":{"typeIdentifier":"t_function_creation_payable$_t_address_$_t_bytes_memory_ptr_$returns$_t_contract$_ERC1967Proxy_$55562_$","typeString":"function (address,bytes memory) payable returns (contract ERC1967Proxy)"},"typeName":{"id":107360,"nodeType":"UserDefinedTypeName","pathNode":{"id":107359,"name":"ERC1967Proxy","nameLocations":["694:12:145"],"nodeType":"IdentifierPath","referencedDeclaration":55562,"src":"694:12:145"},"referencedDeclaration":55562,"src":"694:12:145","typeDescriptions":{"typeIdentifier":"t_contract$_ERC1967Proxy_$55562","typeString":"contract ERC1967Proxy"}}},"id":107379,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"690:163:145","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ERC1967Proxy_$55562","typeString":"contract ERC1967Proxy"}},"nodeType":"VariableDeclarationStatement","src":"669:184:145"},{"expression":{"id":107391,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":107381,"name":"passportScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":107320,"src":"864:14:145","typeDescriptions":{"typeIdentifier":"t_contract$_PassportScorer_$81159","typeString":"contract PassportScorer"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"arguments":[{"id":107387,"name":"proxy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":107358,"src":"912:5:145","typeDescriptions":{"typeIdentifier":"t_contract$_ERC1967Proxy_$55562","typeString":"contract ERC1967Proxy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ERC1967Proxy_$55562","typeString":"contract ERC1967Proxy"}],"id":107386,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"904:7:145","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":107385,"name":"address","nodeType":"ElementaryTypeName","src":"904:7:145","typeDescriptions":{}}},"id":107388,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"904:14:145","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":107384,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"896:8:145","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":107383,"name":"address","nodeType":"ElementaryTypeName","src":"896:8:145","stateMutability":"payable","typeDescriptions":{}}},"id":107389,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"896:23:145","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":107382,"name":"PassportScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81159,"src":"881:14:145","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_PassportScorer_$81159_$","typeString":"type(contract PassportScorer)"}},"id":107390,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"881:39:145","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_PassportScorer_$81159","typeString":"contract PassportScorer"}},"src":"864:56:145","typeDescriptions":{"typeIdentifier":"t_contract$_PassportScorer_$81159","typeString":"contract PassportScorer"}},"id":107392,"nodeType":"ExpressionStatement","src":"864:56:145"},{"expression":{"id":107399,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":107393,"name":"passportData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":107353,"src":"931:12:145","typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$80585_storage","typeString":"struct PassportData storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"313030","id":107395,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"967:3:145","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},{"expression":{"id":107396,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"985:5:145","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":107397,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"991:9:145","memberName":"timestamp","nodeType":"MemberAccess","src":"985:15:145","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":107394,"name":"PassportData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80585,"src":"946:12:145","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_PassportData_$80585_storage_ptr_$","typeString":"type(struct PassportData storage pointer)"}},"id":107398,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["960:5:145","972:11:145"],"names":["score","lastUpdated"],"nodeType":"FunctionCall","src":"946:56:145","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$80585_memory_ptr","typeString":"struct PassportData memory"}},"src":"931:71:145","typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$80585_storage","typeString":"struct PassportData storage ref"}},"id":107400,"nodeType":"ExpressionStatement","src":"931:71:145"}]},"functionSelector":"0a9254e4","implemented":true,"kind":"function","modifiers":[],"name":"setUp","nameLocation":"644:5:145","parameters":{"id":107354,"nodeType":"ParameterList","parameters":[],"src":"649:2:145"},"returnParameters":{"id":107355,"nodeType":"ParameterList","parameters":[],"src":"659:0:145"},"scope":107928,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":107441,"nodeType":"FunctionDefinition","src":"1015:331:145","nodes":[],"body":{"id":107440,"nodeType":"Block","src":"1050:296:145","nodes":[],"statements":[{"expression":{"arguments":[{"id":107408,"name":"listManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":107326,"src":"1069:11:145","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":107405,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5827,"src":"1060:2:145","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21485","typeString":"contract Vm"}},"id":107407,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1063:5:145","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":21138,"src":"1060:8:145","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":107409,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1060:21:145","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":107410,"nodeType":"ExpressionStatement","src":"1060:21:145"},{"expression":{"arguments":[{"id":107414,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":107332,"src":"1119:4:145","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":107415,"name":"passportData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":107353,"src":"1125:12:145","typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$80585_storage","typeString":"struct PassportData storage ref"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_struct$_PassportData_$80585_storage","typeString":"struct PassportData storage ref"}],"expression":{"id":107411,"name":"passportScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":107320,"src":"1091:14:145","typeDescriptions":{"typeIdentifier":"t_contract$_PassportScorer_$81159","typeString":"contract PassportScorer"}},"id":107413,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1106:12:145","memberName":"addUserScore","nodeType":"MemberAccess","referencedDeclaration":80887,"src":"1091:27:145","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_struct$_PassportData_$80585_memory_ptr_$returns$__$","typeString":"function (address,struct PassportData memory) external"}},"id":107416,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1091:47:145","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":107417,"nodeType":"ExpressionStatement","src":"1091:47:145"},{"assignments":[107420],"declarations":[{"constant":false,"id":107420,"mutability":"mutable","name":"storedData","nameLocation":"1169:10:145","nodeType":"VariableDeclaration","scope":107440,"src":"1149:30:145","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$80585_memory_ptr","typeString":"struct PassportData"},"typeName":{"id":107419,"nodeType":"UserDefinedTypeName","pathNode":{"id":107418,"name":"PassportData","nameLocations":["1149:12:145"],"nodeType":"IdentifierPath","referencedDeclaration":80585,"src":"1149:12:145"},"referencedDeclaration":80585,"src":"1149:12:145","typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$80585_storage_ptr","typeString":"struct PassportData"}},"visibility":"internal"}],"id":107425,"initialValue":{"arguments":[{"id":107423,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":107332,"src":"1210:4:145","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":107421,"name":"passportScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":107320,"src":"1182:14:145","typeDescriptions":{"typeIdentifier":"t_contract$_PassportScorer_$81159","typeString":"contract PassportScorer"}},"id":107422,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1197:12:145","memberName":"getUserScore","nodeType":"MemberAccess","referencedDeclaration":81135,"src":"1182:27:145","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_struct$_PassportData_$80585_memory_ptr_$","typeString":"function (address) view external returns (struct PassportData memory)"}},"id":107424,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1182:33:145","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$80585_memory_ptr","typeString":"struct PassportData memory"}},"nodeType":"VariableDeclarationStatement","src":"1149:66:145"},{"expression":{"arguments":[{"expression":{"id":107427,"name":"storedData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":107420,"src":"1234:10:145","typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$80585_memory_ptr","typeString":"struct PassportData memory"}},"id":107428,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1245:5:145","memberName":"score","nodeType":"MemberAccess","referencedDeclaration":80582,"src":"1234:16:145","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":107429,"name":"passportData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":107353,"src":"1252:12:145","typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$80585_storage","typeString":"struct PassportData storage ref"}},"id":107430,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1265:5:145","memberName":"score","nodeType":"MemberAccess","referencedDeclaration":80582,"src":"1252:18:145","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":107426,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[6152,6170,6185,6203,6257,6275,6329,6347,6362,6380,6424,6442,6457,6475,6492,6512,6529,6549,6566,6586,6603,6623,6640,6660,6677,6697,6714,6734],"referencedDeclaration":6185,"src":"1225:8:145","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":107431,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1225:46:145","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":107432,"nodeType":"ExpressionStatement","src":"1225:46:145"},{"expression":{"arguments":[{"expression":{"id":107434,"name":"storedData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":107420,"src":"1290:10:145","typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$80585_memory_ptr","typeString":"struct PassportData memory"}},"id":107435,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1301:11:145","memberName":"lastUpdated","nodeType":"MemberAccess","referencedDeclaration":80584,"src":"1290:22:145","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":107436,"name":"passportData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":107353,"src":"1314:12:145","typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$80585_storage","typeString":"struct PassportData storage ref"}},"id":107437,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1327:11:145","memberName":"lastUpdated","nodeType":"MemberAccess","referencedDeclaration":80584,"src":"1314:24:145","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":107433,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[6152,6170,6185,6203,6257,6275,6329,6347,6362,6380,6424,6442,6457,6475,6492,6512,6529,6549,6566,6586,6603,6623,6640,6660,6677,6697,6714,6734],"referencedDeclaration":6185,"src":"1281:8:145","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":107438,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1281:58:145","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":107439,"nodeType":"ExpressionStatement","src":"1281:58:145"}]},"functionSelector":"0c2759da","implemented":true,"kind":"function","modifiers":[],"name":"testAddUserScore","nameLocation":"1024:16:145","parameters":{"id":107403,"nodeType":"ParameterList","parameters":[],"src":"1040:2:145"},"returnParameters":{"id":107404,"nodeType":"ParameterList","parameters":[],"src":"1050:0:145"},"scope":107928,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":107490,"nodeType":"FunctionDefinition","src":"1352:362:145","nodes":[],"body":{"id":107489,"nodeType":"Block","src":"1385:329:145","nodes":[],"statements":[{"expression":{"arguments":[{"id":107447,"name":"listManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":107326,"src":"1404:11:145","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":107444,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5827,"src":"1395:2:145","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21485","typeString":"contract Vm"}},"id":107446,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1398:5:145","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":21138,"src":"1395:8:145","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":107448,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1395:21:145","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":107449,"nodeType":"ExpressionStatement","src":"1395:21:145"},{"expression":{"arguments":[{"id":107453,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":107332,"src":"1454:4:145","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":107454,"name":"passportData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":107353,"src":"1460:12:145","typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$80585_storage","typeString":"struct PassportData storage ref"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_struct$_PassportData_$80585_storage","typeString":"struct PassportData storage ref"}],"expression":{"id":107450,"name":"passportScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":107320,"src":"1426:14:145","typeDescriptions":{"typeIdentifier":"t_contract$_PassportScorer_$81159","typeString":"contract PassportScorer"}},"id":107452,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1441:12:145","memberName":"addUserScore","nodeType":"MemberAccess","referencedDeclaration":80887,"src":"1426:27:145","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_struct$_PassportData_$80585_memory_ptr_$returns$__$","typeString":"function (address,struct PassportData memory) external"}},"id":107455,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1426:47:145","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":107456,"nodeType":"ExpressionStatement","src":"1426:47:145"},{"expression":{"arguments":[{"id":107460,"name":"listManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":107326,"src":"1493:11:145","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":107457,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5827,"src":"1484:2:145","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21485","typeString":"contract Vm"}},"id":107459,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1487:5:145","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":21138,"src":"1484:8:145","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":107461,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1484:21:145","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":107462,"nodeType":"ExpressionStatement","src":"1484:21:145"},{"expression":{"arguments":[{"id":107466,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":107332,"src":"1541:4:145","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":107463,"name":"passportScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":107320,"src":"1515:14:145","typeDescriptions":{"typeIdentifier":"t_contract$_PassportScorer_$81159","typeString":"contract PassportScorer"}},"id":107465,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1530:10:145","memberName":"removeUser","nodeType":"MemberAccess","referencedDeclaration":80910,"src":"1515:25:145","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":107467,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1515:31:145","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":107468,"nodeType":"ExpressionStatement","src":"1515:31:145"},{"assignments":[107471],"declarations":[{"constant":false,"id":107471,"mutability":"mutable","name":"storedData","nameLocation":"1577:10:145","nodeType":"VariableDeclaration","scope":107489,"src":"1557:30:145","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$80585_memory_ptr","typeString":"struct PassportData"},"typeName":{"id":107470,"nodeType":"UserDefinedTypeName","pathNode":{"id":107469,"name":"PassportData","nameLocations":["1557:12:145"],"nodeType":"IdentifierPath","referencedDeclaration":80585,"src":"1557:12:145"},"referencedDeclaration":80585,"src":"1557:12:145","typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$80585_storage_ptr","typeString":"struct PassportData"}},"visibility":"internal"}],"id":107476,"initialValue":{"arguments":[{"id":107474,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":107332,"src":"1618:4:145","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":107472,"name":"passportScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":107320,"src":"1590:14:145","typeDescriptions":{"typeIdentifier":"t_contract$_PassportScorer_$81159","typeString":"contract PassportScorer"}},"id":107473,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1605:12:145","memberName":"getUserScore","nodeType":"MemberAccess","referencedDeclaration":81135,"src":"1590:27:145","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_struct$_PassportData_$80585_memory_ptr_$","typeString":"function (address) view external returns (struct PassportData memory)"}},"id":107475,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1590:33:145","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$80585_memory_ptr","typeString":"struct PassportData memory"}},"nodeType":"VariableDeclarationStatement","src":"1557:66:145"},{"expression":{"arguments":[{"expression":{"id":107478,"name":"storedData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":107471,"src":"1642:10:145","typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$80585_memory_ptr","typeString":"struct PassportData memory"}},"id":107479,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1653:5:145","memberName":"score","nodeType":"MemberAccess","referencedDeclaration":80582,"src":"1642:16:145","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":107480,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1660:1:145","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":107477,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[6152,6170,6185,6203,6257,6275,6329,6347,6362,6380,6424,6442,6457,6475,6492,6512,6529,6549,6566,6586,6603,6623,6640,6660,6677,6697,6714,6734],"referencedDeclaration":6185,"src":"1633:8:145","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":107481,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1633:29:145","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":107482,"nodeType":"ExpressionStatement","src":"1633:29:145"},{"expression":{"arguments":[{"expression":{"id":107484,"name":"storedData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":107471,"src":"1681:10:145","typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$80585_memory_ptr","typeString":"struct PassportData memory"}},"id":107485,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1692:11:145","memberName":"lastUpdated","nodeType":"MemberAccess","referencedDeclaration":80584,"src":"1681:22:145","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":107486,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1705:1:145","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":107483,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[6152,6170,6185,6203,6257,6275,6329,6347,6362,6380,6424,6442,6457,6475,6492,6512,6529,6549,6566,6586,6603,6623,6640,6660,6677,6697,6714,6734],"referencedDeclaration":6185,"src":"1672:8:145","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":107487,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1672:35:145","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":107488,"nodeType":"ExpressionStatement","src":"1672:35:145"}]},"functionSelector":"d4dadecb","implemented":true,"kind":"function","modifiers":[],"name":"testRemoveUser","nameLocation":"1361:14:145","parameters":{"id":107442,"nodeType":"ParameterList","parameters":[],"src":"1375:2:145"},"returnParameters":{"id":107443,"nodeType":"ParameterList","parameters":[],"src":"1385:0:145"},"scope":107928,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":107522,"nodeType":"FunctionDefinition","src":"1720:246:145","nodes":[],"body":{"id":107521,"nodeType":"Block","src":"1760:206:145","nodes":[],"statements":[{"assignments":[107494],"declarations":[{"constant":false,"id":107494,"mutability":"mutable","name":"newManager","nameLocation":"1778:10:145","nodeType":"VariableDeclaration","scope":107521,"src":"1770:18:145","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":107493,"name":"address","nodeType":"ElementaryTypeName","src":"1770:7:145","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":107499,"initialValue":{"arguments":[{"hexValue":"36","id":107497,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1799:1:145","typeDescriptions":{"typeIdentifier":"t_rational_6_by_1","typeString":"int_const 6"},"value":"6"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_6_by_1","typeString":"int_const 6"}],"id":107496,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1791:7:145","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":107495,"name":"address","nodeType":"ElementaryTypeName","src":"1791:7:145","typeDescriptions":{}}},"id":107498,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1791:10:145","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"1770:31:145"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":107503,"name":"passportScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":107320,"src":"1821:14:145","typeDescriptions":{"typeIdentifier":"t_contract$_PassportScorer_$81159","typeString":"contract PassportScorer"}},"id":107504,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1836:5:145","memberName":"owner","nodeType":"MemberAccess","referencedDeclaration":52865,"src":"1821:20:145","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_address_$","typeString":"function () view external returns (address)"}},"id":107505,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1821:22:145","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":107500,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5827,"src":"1812:2:145","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21485","typeString":"contract Vm"}},"id":107502,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1815:5:145","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":21138,"src":"1812:8:145","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":107506,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1812:32:145","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":107507,"nodeType":"ExpressionStatement","src":"1812:32:145"},{"expression":{"arguments":[{"id":107511,"name":"newManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":107494,"src":"1887:10:145","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":107508,"name":"passportScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":107320,"src":"1854:14:145","typeDescriptions":{"typeIdentifier":"t_contract$_PassportScorer_$81159","typeString":"contract PassportScorer"}},"id":107510,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1869:17:145","memberName":"changeListManager","nodeType":"MemberAccess","referencedDeclaration":80937,"src":"1854:32:145","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":107512,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1854:44:145","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":107513,"nodeType":"ExpressionStatement","src":"1854:44:145"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":107515,"name":"passportScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":107320,"src":"1918:14:145","typeDescriptions":{"typeIdentifier":"t_contract$_PassportScorer_$81159","typeString":"contract PassportScorer"}},"id":107516,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1933:11:145","memberName":"listManager","nodeType":"MemberAccess","referencedDeclaration":80689,"src":"1918:26:145","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_address_$","typeString":"function () view external returns (address)"}},"id":107517,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1918:28:145","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":107518,"name":"newManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":107494,"src":"1948:10:145","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":107514,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[6152,6170,6185,6203,6257,6275,6329,6347,6362,6380,6424,6442,6457,6475,6492,6512,6529,6549,6566,6586,6603,6623,6640,6660,6677,6697,6714,6734],"referencedDeclaration":6329,"src":"1909:8:145","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$_t_address_$returns$__$","typeString":"function (address,address) pure"}},"id":107519,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1909:50:145","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":107520,"nodeType":"ExpressionStatement","src":"1909:50:145"}]},"functionSelector":"ebe69a5f","implemented":true,"kind":"function","modifiers":[],"name":"testChangeListManager","nameLocation":"1729:21:145","parameters":{"id":107491,"nodeType":"ParameterList","parameters":[],"src":"1750:2:145"},"returnParameters":{"id":107492,"nodeType":"ParameterList","parameters":[],"src":"1760:0:145"},"scope":107928,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":107547,"nodeType":"FunctionDefinition","src":"1972:217:145","nodes":[],"body":{"id":107546,"nodeType":"Block","src":"2024:165:145","nodes":[],"statements":[{"expression":{"arguments":[{"id":107528,"name":"unauthorizedUser","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":107350,"src":"2043:16:145","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":107525,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5827,"src":"2034:2:145","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21485","typeString":"contract Vm"}},"id":107527,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2037:5:145","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":21138,"src":"2034:8:145","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":107529,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2034:26:145","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":107530,"nodeType":"ExpressionStatement","src":"2034:26:145"},{"expression":{"arguments":[{"expression":{"expression":{"id":107534,"name":"PassportScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81159,"src":"2086:14:145","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_PassportScorer_$81159_$","typeString":"type(contract PassportScorer)"}},"id":107535,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2101:14:145","memberName":"OnlyAuthorized","nodeType":"MemberAccess","referencedDeclaration":80743,"src":"2086:29:145","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":107536,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2116:8:145","memberName":"selector","nodeType":"MemberAccess","src":"2086:38:145","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":107531,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5827,"src":"2070:2:145","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21485","typeString":"contract Vm"}},"id":107533,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2073:12:145","memberName":"expectRevert","nodeType":"MemberAccess","referencedDeclaration":21452,"src":"2070:15:145","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes4_$returns$__$","typeString":"function (bytes4) external"}},"id":107537,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2070:55:145","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":107538,"nodeType":"ExpressionStatement","src":"2070:55:145"},{"expression":{"arguments":[{"id":107542,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":107332,"src":"2163:4:145","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":107543,"name":"passportData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":107353,"src":"2169:12:145","typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$80585_storage","typeString":"struct PassportData storage ref"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_struct$_PassportData_$80585_storage","typeString":"struct PassportData storage ref"}],"expression":{"id":107539,"name":"passportScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":107320,"src":"2135:14:145","typeDescriptions":{"typeIdentifier":"t_contract$_PassportScorer_$81159","typeString":"contract PassportScorer"}},"id":107541,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2150:12:145","memberName":"addUserScore","nodeType":"MemberAccess","referencedDeclaration":80887,"src":"2135:27:145","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_struct$_PassportData_$80585_memory_ptr_$returns$__$","typeString":"function (address,struct PassportData memory) external"}},"id":107544,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2135:47:145","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":107545,"nodeType":"ExpressionStatement","src":"2135:47:145"}]},"functionSelector":"25821153","implemented":true,"kind":"function","modifiers":[],"name":"testOnlyAuthorizedCanAddUserScore","nameLocation":"1981:33:145","parameters":{"id":107523,"nodeType":"ParameterList","parameters":[],"src":"2014:2:145"},"returnParameters":{"id":107524,"nodeType":"ParameterList","parameters":[],"src":"2024:0:145"},"scope":107928,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":107571,"nodeType":"FunctionDefinition","src":"2195:199:145","nodes":[],"body":{"id":107570,"nodeType":"Block","src":"2245:149:145","nodes":[],"statements":[{"expression":{"arguments":[{"id":107553,"name":"unauthorizedUser","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":107350,"src":"2264:16:145","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":107550,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5827,"src":"2255:2:145","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21485","typeString":"contract Vm"}},"id":107552,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2258:5:145","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":21138,"src":"2255:8:145","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":107554,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2255:26:145","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":107555,"nodeType":"ExpressionStatement","src":"2255:26:145"},{"expression":{"arguments":[{"expression":{"expression":{"id":107559,"name":"PassportScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81159,"src":"2307:14:145","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_PassportScorer_$81159_$","typeString":"type(contract PassportScorer)"}},"id":107560,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2322:14:145","memberName":"OnlyAuthorized","nodeType":"MemberAccess","referencedDeclaration":80743,"src":"2307:29:145","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":107561,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2337:8:145","memberName":"selector","nodeType":"MemberAccess","src":"2307:38:145","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":107556,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5827,"src":"2291:2:145","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21485","typeString":"contract Vm"}},"id":107558,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2294:12:145","memberName":"expectRevert","nodeType":"MemberAccess","referencedDeclaration":21452,"src":"2291:15:145","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes4_$returns$__$","typeString":"function (bytes4) external"}},"id":107562,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2291:55:145","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":107563,"nodeType":"ExpressionStatement","src":"2291:55:145"},{"expression":{"arguments":[{"id":107567,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":107332,"src":"2382:4:145","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":107564,"name":"passportScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":107320,"src":"2356:14:145","typeDescriptions":{"typeIdentifier":"t_contract$_PassportScorer_$81159","typeString":"contract PassportScorer"}},"id":107566,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2371:10:145","memberName":"removeUser","nodeType":"MemberAccess","referencedDeclaration":80910,"src":"2356:25:145","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":107568,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2356:31:145","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":107569,"nodeType":"ExpressionStatement","src":"2356:31:145"}]},"functionSelector":"82fad478","implemented":true,"kind":"function","modifiers":[],"name":"testOnlyAuthorizedCanRemoveUser","nameLocation":"2204:31:145","parameters":{"id":107548,"nodeType":"ParameterList","parameters":[],"src":"2235:2:145"},"returnParameters":{"id":107549,"nodeType":"ParameterList","parameters":[],"src":"2245:0:145"},"scope":107928,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":107600,"nodeType":"FunctionDefinition","src":"2400:247:145","nodes":[],"body":{"id":107599,"nodeType":"Block","src":"2452:195:145","nodes":[],"statements":[{"assignments":[107575],"declarations":[{"constant":false,"id":107575,"mutability":"mutable","name":"newManager","nameLocation":"2470:10:145","nodeType":"VariableDeclaration","scope":107599,"src":"2462:18:145","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":107574,"name":"address","nodeType":"ElementaryTypeName","src":"2462:7:145","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":107580,"initialValue":{"arguments":[{"hexValue":"36","id":107578,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2491:1:145","typeDescriptions":{"typeIdentifier":"t_rational_6_by_1","typeString":"int_const 6"},"value":"6"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_6_by_1","typeString":"int_const 6"}],"id":107577,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2483:7:145","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":107576,"name":"address","nodeType":"ElementaryTypeName","src":"2483:7:145","typeDescriptions":{}}},"id":107579,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2483:10:145","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"2462:31:145"},{"expression":{"arguments":[{"id":107584,"name":"listManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":107326,"src":"2513:11:145","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":107581,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5827,"src":"2504:2:145","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21485","typeString":"contract Vm"}},"id":107583,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2507:5:145","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":21138,"src":"2504:8:145","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":107585,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2504:21:145","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":107586,"nodeType":"ExpressionStatement","src":"2504:21:145"},{"expression":{"arguments":[{"hexValue":"4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572","id":107590,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2551:34:145","typeDescriptions":{"typeIdentifier":"t_stringliteral_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe","typeString":"literal_string \"Ownable: caller is not the owner\""},"value":"Ownable: caller is not the owner"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe","typeString":"literal_string \"Ownable: caller is not the owner\""}],"expression":{"id":107587,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5827,"src":"2535:2:145","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21485","typeString":"contract Vm"}},"id":107589,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2538:12:145","memberName":"expectRevert","nodeType":"MemberAccess","referencedDeclaration":21458,"src":"2535:15:145","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) external"}},"id":107591,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2535:51:145","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":107592,"nodeType":"ExpressionStatement","src":"2535:51:145"},{"expression":{"arguments":[{"id":107596,"name":"newManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":107575,"src":"2629:10:145","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":107593,"name":"passportScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":107320,"src":"2596:14:145","typeDescriptions":{"typeIdentifier":"t_contract$_PassportScorer_$81159","typeString":"contract PassportScorer"}},"id":107595,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2611:17:145","memberName":"changeListManager","nodeType":"MemberAccess","referencedDeclaration":80937,"src":"2596:32:145","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":107597,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2596:44:145","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":107598,"nodeType":"ExpressionStatement","src":"2596:44:145"}]},"functionSelector":"24e40b97","implemented":true,"kind":"function","modifiers":[],"name":"testOnlyOwnerCanChangeListManager","nameLocation":"2409:33:145","parameters":{"id":107572,"nodeType":"ParameterList","parameters":[],"src":"2442:2:145"},"returnParameters":{"id":107573,"nodeType":"ParameterList","parameters":[],"src":"2452:0:145"},"scope":107928,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":107648,"nodeType":"FunctionDefinition","src":"2653:430:145","nodes":[],"body":{"id":107647,"nodeType":"Block","src":"2687:396:145","nodes":[],"statements":[{"assignments":[107604],"declarations":[{"constant":false,"id":107604,"mutability":"mutable","name":"threshold","nameLocation":"2705:9:145","nodeType":"VariableDeclaration","scope":107647,"src":"2697:17:145","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":107603,"name":"uint256","nodeType":"ElementaryTypeName","src":"2697:7:145","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":107606,"initialValue":{"hexValue":"3530","id":107605,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2717:2:145","typeDescriptions":{"typeIdentifier":"t_rational_50_by_1","typeString":"int_const 50"},"value":"50"},"nodeType":"VariableDeclarationStatement","src":"2697:22:145"},{"expression":{"arguments":[{"id":107610,"name":"listManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":107326,"src":"2739:11:145","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":107607,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5827,"src":"2730:2:145","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21485","typeString":"contract Vm"}},"id":107609,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2733:5:145","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":21138,"src":"2730:8:145","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":107611,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2730:21:145","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":107612,"nodeType":"ExpressionStatement","src":"2730:21:145"},{"expression":{"arguments":[{"id":107616,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":107338,"src":"2788:8:145","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":107617,"name":"threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":107604,"src":"2798:9:145","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":107618,"name":"councilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":107344,"src":"2809:11:145","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":107613,"name":"passportScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":107320,"src":"2761:14:145","typeDescriptions":{"typeIdentifier":"t_contract$_PassportScorer_$81159","typeString":"contract PassportScorer"}},"id":107615,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2776:11:145","memberName":"addStrategy","nodeType":"MemberAccess","referencedDeclaration":80996,"src":"2761:26:145","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$_t_address_$returns$__$","typeString":"function (address,uint256,address) external"}},"id":107619,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2761:60:145","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":107620,"nodeType":"ExpressionStatement","src":"2761:60:145"},{"assignments":[107622,107624,107626],"declarations":[{"constant":false,"id":107622,"mutability":"mutable","name":"storedThreshold","nameLocation":"2841:15:145","nodeType":"VariableDeclaration","scope":107647,"src":"2833:23:145","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":107621,"name":"uint256","nodeType":"ElementaryTypeName","src":"2833:7:145","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":107624,"mutability":"mutable","name":"storedActive","nameLocation":"2863:12:145","nodeType":"VariableDeclaration","scope":107647,"src":"2858:17:145","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":107623,"name":"bool","nodeType":"ElementaryTypeName","src":"2858:4:145","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":107626,"mutability":"mutable","name":"storedCouncilSafe","nameLocation":"2885:17:145","nodeType":"VariableDeclaration","scope":107647,"src":"2877:25:145","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":107625,"name":"address","nodeType":"ElementaryTypeName","src":"2877:7:145","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":107631,"initialValue":{"arguments":[{"id":107629,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":107338,"src":"2932:8:145","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":107627,"name":"passportScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":107320,"src":"2906:14:145","typeDescriptions":{"typeIdentifier":"t_contract$_PassportScorer_$81159","typeString":"contract PassportScorer"}},"id":107628,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2921:10:145","memberName":"strategies","nodeType":"MemberAccess","referencedDeclaration":80699,"src":"2906:25:145","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$_t_bool_$_t_address_$","typeString":"function (address) view external returns (uint256,bool,address)"}},"id":107630,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2906:35:145","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_bool_$_t_address_$","typeString":"tuple(uint256,bool,address)"}},"nodeType":"VariableDeclarationStatement","src":"2832:109:145"},{"expression":{"arguments":[{"id":107633,"name":"storedThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":107622,"src":"2960:15:145","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":107634,"name":"threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":107604,"src":"2977:9:145","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":107632,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[6152,6170,6185,6203,6257,6275,6329,6347,6362,6380,6424,6442,6457,6475,6492,6512,6529,6549,6566,6586,6603,6623,6640,6660,6677,6697,6714,6734],"referencedDeclaration":6185,"src":"2951:8:145","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":107635,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2951:36:145","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":107636,"nodeType":"ExpressionStatement","src":"2951:36:145"},{"expression":{"arguments":[{"id":107638,"name":"storedActive","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":107624,"src":"3006:12:145","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"66616c7365","id":107639,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"3020:5:145","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":107637,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[6152,6170,6185,6203,6257,6275,6329,6347,6362,6380,6424,6442,6457,6475,6492,6512,6529,6549,6566,6586,6603,6623,6640,6660,6677,6697,6714,6734],"referencedDeclaration":6152,"src":"2997:8:145","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bool_$_t_bool_$returns$__$","typeString":"function (bool,bool) pure"}},"id":107640,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2997:29:145","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":107641,"nodeType":"ExpressionStatement","src":"2997:29:145"},{"expression":{"arguments":[{"id":107643,"name":"storedCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":107626,"src":"3045:17:145","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":107644,"name":"councilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":107344,"src":"3064:11:145","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":107642,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[6152,6170,6185,6203,6257,6275,6329,6347,6362,6380,6424,6442,6457,6475,6492,6512,6529,6549,6566,6586,6603,6623,6640,6660,6677,6697,6714,6734],"referencedDeclaration":6329,"src":"3036:8:145","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$_t_address_$returns$__$","typeString":"function (address,address) pure"}},"id":107645,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3036:40:145","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":107646,"nodeType":"ExpressionStatement","src":"3036:40:145"}]},"functionSelector":"9693f128","implemented":true,"kind":"function","modifiers":[],"name":"testAddStrategy","nameLocation":"2662:15:145","parameters":{"id":107601,"nodeType":"ParameterList","parameters":[],"src":"2677:2:145"},"returnParameters":{"id":107602,"nodeType":"ParameterList","parameters":[],"src":"2687:0:145"},"scope":107928,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":107708,"nodeType":"FunctionDefinition","src":"3089:544:145","nodes":[],"body":{"id":107707,"nodeType":"Block","src":"3126:507:145","nodes":[],"statements":[{"assignments":[107652],"declarations":[{"constant":false,"id":107652,"mutability":"mutable","name":"threshold","nameLocation":"3144:9:145","nodeType":"VariableDeclaration","scope":107707,"src":"3136:17:145","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":107651,"name":"uint256","nodeType":"ElementaryTypeName","src":"3136:7:145","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":107654,"initialValue":{"hexValue":"3530","id":107653,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3156:2:145","typeDescriptions":{"typeIdentifier":"t_rational_50_by_1","typeString":"int_const 50"},"value":"50"},"nodeType":"VariableDeclarationStatement","src":"3136:22:145"},{"expression":{"arguments":[{"id":107658,"name":"listManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":107326,"src":"3178:11:145","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":107655,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5827,"src":"3169:2:145","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21485","typeString":"contract Vm"}},"id":107657,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3172:5:145","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":21138,"src":"3169:8:145","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":107659,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3169:21:145","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":107660,"nodeType":"ExpressionStatement","src":"3169:21:145"},{"expression":{"arguments":[{"id":107664,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":107338,"src":"3227:8:145","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":107665,"name":"threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":107652,"src":"3237:9:145","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":107666,"name":"councilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":107344,"src":"3248:11:145","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":107661,"name":"passportScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":107320,"src":"3200:14:145","typeDescriptions":{"typeIdentifier":"t_contract$_PassportScorer_$81159","typeString":"contract PassportScorer"}},"id":107663,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3215:11:145","memberName":"addStrategy","nodeType":"MemberAccess","referencedDeclaration":80996,"src":"3200:26:145","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$_t_address_$returns$__$","typeString":"function (address,uint256,address) external"}},"id":107667,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3200:60:145","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":107668,"nodeType":"ExpressionStatement","src":"3200:60:145"},{"expression":{"arguments":[{"id":107672,"name":"listManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":107326,"src":"3280:11:145","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":107669,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5827,"src":"3271:2:145","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21485","typeString":"contract Vm"}},"id":107671,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3274:5:145","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":21138,"src":"3271:8:145","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":107673,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3271:21:145","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":107674,"nodeType":"ExpressionStatement","src":"3271:21:145"},{"expression":{"arguments":[{"id":107678,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":107338,"src":"3332:8:145","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":107675,"name":"passportScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":107320,"src":"3302:14:145","typeDescriptions":{"typeIdentifier":"t_contract$_PassportScorer_$81159","typeString":"contract PassportScorer"}},"id":107677,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3317:14:145","memberName":"removeStrategy","nodeType":"MemberAccess","referencedDeclaration":81029,"src":"3302:29:145","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":107679,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3302:39:145","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":107680,"nodeType":"ExpressionStatement","src":"3302:39:145"},{"assignments":[107682,107684,107686],"declarations":[{"constant":false,"id":107682,"mutability":"mutable","name":"storedThreshold","nameLocation":"3361:15:145","nodeType":"VariableDeclaration","scope":107707,"src":"3353:23:145","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":107681,"name":"uint256","nodeType":"ElementaryTypeName","src":"3353:7:145","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":107684,"mutability":"mutable","name":"storedActive","nameLocation":"3383:12:145","nodeType":"VariableDeclaration","scope":107707,"src":"3378:17:145","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":107683,"name":"bool","nodeType":"ElementaryTypeName","src":"3378:4:145","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":107686,"mutability":"mutable","name":"storedCouncilSafe","nameLocation":"3405:17:145","nodeType":"VariableDeclaration","scope":107707,"src":"3397:25:145","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":107685,"name":"address","nodeType":"ElementaryTypeName","src":"3397:7:145","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":107691,"initialValue":{"arguments":[{"id":107689,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":107338,"src":"3452:8:145","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":107687,"name":"passportScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":107320,"src":"3426:14:145","typeDescriptions":{"typeIdentifier":"t_contract$_PassportScorer_$81159","typeString":"contract PassportScorer"}},"id":107688,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3441:10:145","memberName":"strategies","nodeType":"MemberAccess","referencedDeclaration":80699,"src":"3426:25:145","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$_t_bool_$_t_address_$","typeString":"function (address) view external returns (uint256,bool,address)"}},"id":107690,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3426:35:145","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_bool_$_t_address_$","typeString":"tuple(uint256,bool,address)"}},"nodeType":"VariableDeclarationStatement","src":"3352:109:145"},{"expression":{"arguments":[{"id":107693,"name":"storedThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":107682,"src":"3480:15:145","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":107694,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3497:1:145","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":107692,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[6152,6170,6185,6203,6257,6275,6329,6347,6362,6380,6424,6442,6457,6475,6492,6512,6529,6549,6566,6586,6603,6623,6640,6660,6677,6697,6714,6734],"referencedDeclaration":6185,"src":"3471:8:145","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":107695,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3471:28:145","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":107696,"nodeType":"ExpressionStatement","src":"3471:28:145"},{"expression":{"arguments":[{"id":107698,"name":"storedActive","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":107684,"src":"3518:12:145","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"66616c7365","id":107699,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"3532:5:145","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":107697,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[6152,6170,6185,6203,6257,6275,6329,6347,6362,6380,6424,6442,6457,6475,6492,6512,6529,6549,6566,6586,6603,6623,6640,6660,6677,6697,6714,6734],"referencedDeclaration":6152,"src":"3509:8:145","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bool_$_t_bool_$returns$__$","typeString":"function (bool,bool) pure"}},"id":107700,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3509:29:145","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":107701,"nodeType":"ExpressionStatement","src":"3509:29:145"},{"expression":{"arguments":[{"id":107703,"name":"storedCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":107686,"src":"3557:17:145","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":107704,"name":"councilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":107344,"src":"3576:11:145","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":107702,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[6152,6170,6185,6203,6257,6275,6329,6347,6362,6380,6424,6442,6457,6475,6492,6512,6529,6549,6566,6586,6603,6623,6640,6660,6677,6697,6714,6734],"referencedDeclaration":6329,"src":"3548:8:145","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$_t_address_$returns$__$","typeString":"function (address,address) pure"}},"id":107705,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3548:40:145","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":107706,"nodeType":"ExpressionStatement","src":"3548:40:145"}]},"functionSelector":"0778c72c","implemented":true,"kind":"function","modifiers":[],"name":"testRemoveStrategy","nameLocation":"3098:18:145","parameters":{"id":107649,"nodeType":"ParameterList","parameters":[],"src":"3116:2:145"},"returnParameters":{"id":107650,"nodeType":"ParameterList","parameters":[],"src":"3126:0:145"},"scope":107928,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":107773,"nodeType":"FunctionDefinition","src":"3639:580:145","nodes":[],"body":{"id":107772,"nodeType":"Block","src":"3689:530:145","nodes":[],"statements":[{"assignments":[107712],"declarations":[{"constant":false,"id":107712,"mutability":"mutable","name":"threshold","nameLocation":"3707:9:145","nodeType":"VariableDeclaration","scope":107772,"src":"3699:17:145","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":107711,"name":"uint256","nodeType":"ElementaryTypeName","src":"3699:7:145","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":107714,"initialValue":{"hexValue":"3530","id":107713,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3719:2:145","typeDescriptions":{"typeIdentifier":"t_rational_50_by_1","typeString":"int_const 50"},"value":"50"},"nodeType":"VariableDeclarationStatement","src":"3699:22:145"},{"assignments":[107716],"declarations":[{"constant":false,"id":107716,"mutability":"mutable","name":"newThreshold","nameLocation":"3739:12:145","nodeType":"VariableDeclaration","scope":107772,"src":"3731:20:145","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":107715,"name":"uint256","nodeType":"ElementaryTypeName","src":"3731:7:145","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":107718,"initialValue":{"hexValue":"3735","id":107717,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3754:2:145","typeDescriptions":{"typeIdentifier":"t_rational_75_by_1","typeString":"int_const 75"},"value":"75"},"nodeType":"VariableDeclarationStatement","src":"3731:25:145"},{"expression":{"arguments":[{"id":107722,"name":"listManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":107326,"src":"3776:11:145","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":107719,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5827,"src":"3767:2:145","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21485","typeString":"contract Vm"}},"id":107721,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3770:5:145","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":21138,"src":"3767:8:145","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":107723,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3767:21:145","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":107724,"nodeType":"ExpressionStatement","src":"3767:21:145"},{"expression":{"arguments":[{"id":107728,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":107338,"src":"3825:8:145","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":107729,"name":"threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":107712,"src":"3835:9:145","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":107730,"name":"councilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":107344,"src":"3846:11:145","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":107725,"name":"passportScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":107320,"src":"3798:14:145","typeDescriptions":{"typeIdentifier":"t_contract$_PassportScorer_$81159","typeString":"contract PassportScorer"}},"id":107727,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3813:11:145","memberName":"addStrategy","nodeType":"MemberAccess","referencedDeclaration":80996,"src":"3798:26:145","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$_t_address_$returns$__$","typeString":"function (address,uint256,address) external"}},"id":107731,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3798:60:145","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":107732,"nodeType":"ExpressionStatement","src":"3798:60:145"},{"expression":{"arguments":[{"id":107736,"name":"listManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":107326,"src":"3878:11:145","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":107733,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5827,"src":"3869:2:145","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21485","typeString":"contract Vm"}},"id":107735,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3872:5:145","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":21138,"src":"3869:8:145","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":107737,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3869:21:145","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":107738,"nodeType":"ExpressionStatement","src":"3869:21:145"},{"expression":{"arguments":[{"id":107742,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":107338,"src":"3931:8:145","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":107743,"name":"newThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":107716,"src":"3941:12:145","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":107739,"name":"passportScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":107320,"src":"3900:14:145","typeDescriptions":{"typeIdentifier":"t_contract$_PassportScorer_$81159","typeString":"contract PassportScorer"}},"id":107741,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3915:15:145","memberName":"modifyThreshold","nodeType":"MemberAccess","referencedDeclaration":81082,"src":"3900:30:145","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":107744,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3900:54:145","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":107745,"nodeType":"ExpressionStatement","src":"3900:54:145"},{"assignments":[107747,107749,107751],"declarations":[{"constant":false,"id":107747,"mutability":"mutable","name":"storedThreshold","nameLocation":"3974:15:145","nodeType":"VariableDeclaration","scope":107772,"src":"3966:23:145","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":107746,"name":"uint256","nodeType":"ElementaryTypeName","src":"3966:7:145","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":107749,"mutability":"mutable","name":"storedActive","nameLocation":"3996:12:145","nodeType":"VariableDeclaration","scope":107772,"src":"3991:17:145","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":107748,"name":"bool","nodeType":"ElementaryTypeName","src":"3991:4:145","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":107751,"mutability":"mutable","name":"storedCouncilSafe","nameLocation":"4018:17:145","nodeType":"VariableDeclaration","scope":107772,"src":"4010:25:145","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":107750,"name":"address","nodeType":"ElementaryTypeName","src":"4010:7:145","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":107756,"initialValue":{"arguments":[{"id":107754,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":107338,"src":"4065:8:145","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":107752,"name":"passportScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":107320,"src":"4039:14:145","typeDescriptions":{"typeIdentifier":"t_contract$_PassportScorer_$81159","typeString":"contract PassportScorer"}},"id":107753,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4054:10:145","memberName":"strategies","nodeType":"MemberAccess","referencedDeclaration":80699,"src":"4039:25:145","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$_t_bool_$_t_address_$","typeString":"function (address) view external returns (uint256,bool,address)"}},"id":107755,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4039:35:145","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_bool_$_t_address_$","typeString":"tuple(uint256,bool,address)"}},"nodeType":"VariableDeclarationStatement","src":"3965:109:145"},{"expression":{"arguments":[{"id":107758,"name":"storedThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":107747,"src":"4093:15:145","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":107759,"name":"newThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":107716,"src":"4110:12:145","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":107757,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[6152,6170,6185,6203,6257,6275,6329,6347,6362,6380,6424,6442,6457,6475,6492,6512,6529,6549,6566,6586,6603,6623,6640,6660,6677,6697,6714,6734],"referencedDeclaration":6185,"src":"4084:8:145","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":107760,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4084:39:145","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":107761,"nodeType":"ExpressionStatement","src":"4084:39:145"},{"expression":{"arguments":[{"id":107763,"name":"storedActive","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":107749,"src":"4142:12:145","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"66616c7365","id":107764,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"4156:5:145","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":107762,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[6152,6170,6185,6203,6257,6275,6329,6347,6362,6380,6424,6442,6457,6475,6492,6512,6529,6549,6566,6586,6603,6623,6640,6660,6677,6697,6714,6734],"referencedDeclaration":6152,"src":"4133:8:145","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bool_$_t_bool_$returns$__$","typeString":"function (bool,bool) pure"}},"id":107765,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4133:29:145","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":107766,"nodeType":"ExpressionStatement","src":"4133:29:145"},{"expression":{"arguments":[{"id":107768,"name":"storedCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":107751,"src":"4181:17:145","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":107769,"name":"councilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":107344,"src":"4200:11:145","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":107767,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[6152,6170,6185,6203,6257,6275,6329,6347,6362,6380,6424,6442,6457,6475,6492,6512,6529,6549,6566,6586,6603,6623,6640,6660,6677,6697,6714,6734],"referencedDeclaration":6329,"src":"4172:8:145","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$_t_address_$returns$__$","typeString":"function (address,address) pure"}},"id":107770,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4172:40:145","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":107771,"nodeType":"ExpressionStatement","src":"4172:40:145"}]},"functionSelector":"e68393b4","implemented":true,"kind":"function","modifiers":[],"name":"testModifyThresholdByAuthorized","nameLocation":"3648:31:145","parameters":{"id":107709,"nodeType":"ParameterList","parameters":[],"src":"3679:2:145"},"returnParameters":{"id":107710,"nodeType":"ParameterList","parameters":[],"src":"3689:0:145"},"scope":107928,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":107838,"nodeType":"FunctionDefinition","src":"4225:581:145","nodes":[],"body":{"id":107837,"nodeType":"Block","src":"4276:530:145","nodes":[],"statements":[{"assignments":[107777],"declarations":[{"constant":false,"id":107777,"mutability":"mutable","name":"threshold","nameLocation":"4294:9:145","nodeType":"VariableDeclaration","scope":107837,"src":"4286:17:145","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":107776,"name":"uint256","nodeType":"ElementaryTypeName","src":"4286:7:145","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":107779,"initialValue":{"hexValue":"3530","id":107778,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4306:2:145","typeDescriptions":{"typeIdentifier":"t_rational_50_by_1","typeString":"int_const 50"},"value":"50"},"nodeType":"VariableDeclarationStatement","src":"4286:22:145"},{"assignments":[107781],"declarations":[{"constant":false,"id":107781,"mutability":"mutable","name":"newThreshold","nameLocation":"4326:12:145","nodeType":"VariableDeclaration","scope":107837,"src":"4318:20:145","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":107780,"name":"uint256","nodeType":"ElementaryTypeName","src":"4318:7:145","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":107783,"initialValue":{"hexValue":"3735","id":107782,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4341:2:145","typeDescriptions":{"typeIdentifier":"t_rational_75_by_1","typeString":"int_const 75"},"value":"75"},"nodeType":"VariableDeclarationStatement","src":"4318:25:145"},{"expression":{"arguments":[{"id":107787,"name":"listManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":107326,"src":"4363:11:145","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":107784,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5827,"src":"4354:2:145","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21485","typeString":"contract Vm"}},"id":107786,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4357:5:145","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":21138,"src":"4354:8:145","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":107788,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4354:21:145","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":107789,"nodeType":"ExpressionStatement","src":"4354:21:145"},{"expression":{"arguments":[{"id":107793,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":107338,"src":"4412:8:145","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":107794,"name":"threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":107777,"src":"4422:9:145","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":107795,"name":"councilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":107344,"src":"4433:11:145","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":107790,"name":"passportScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":107320,"src":"4385:14:145","typeDescriptions":{"typeIdentifier":"t_contract$_PassportScorer_$81159","typeString":"contract PassportScorer"}},"id":107792,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4400:11:145","memberName":"addStrategy","nodeType":"MemberAccess","referencedDeclaration":80996,"src":"4385:26:145","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$_t_address_$returns$__$","typeString":"function (address,uint256,address) external"}},"id":107796,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4385:60:145","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":107797,"nodeType":"ExpressionStatement","src":"4385:60:145"},{"expression":{"arguments":[{"id":107801,"name":"councilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":107344,"src":"4465:11:145","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":107798,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5827,"src":"4456:2:145","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21485","typeString":"contract Vm"}},"id":107800,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4459:5:145","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":21138,"src":"4456:8:145","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":107802,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4456:21:145","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":107803,"nodeType":"ExpressionStatement","src":"4456:21:145"},{"expression":{"arguments":[{"id":107807,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":107338,"src":"4518:8:145","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":107808,"name":"newThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":107781,"src":"4528:12:145","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":107804,"name":"passportScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":107320,"src":"4487:14:145","typeDescriptions":{"typeIdentifier":"t_contract$_PassportScorer_$81159","typeString":"contract PassportScorer"}},"id":107806,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4502:15:145","memberName":"modifyThreshold","nodeType":"MemberAccess","referencedDeclaration":81082,"src":"4487:30:145","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":107809,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4487:54:145","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":107810,"nodeType":"ExpressionStatement","src":"4487:54:145"},{"assignments":[107812,107814,107816],"declarations":[{"constant":false,"id":107812,"mutability":"mutable","name":"storedThreshold","nameLocation":"4561:15:145","nodeType":"VariableDeclaration","scope":107837,"src":"4553:23:145","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":107811,"name":"uint256","nodeType":"ElementaryTypeName","src":"4553:7:145","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":107814,"mutability":"mutable","name":"storedActive","nameLocation":"4583:12:145","nodeType":"VariableDeclaration","scope":107837,"src":"4578:17:145","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":107813,"name":"bool","nodeType":"ElementaryTypeName","src":"4578:4:145","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":107816,"mutability":"mutable","name":"storedCouncilSafe","nameLocation":"4605:17:145","nodeType":"VariableDeclaration","scope":107837,"src":"4597:25:145","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":107815,"name":"address","nodeType":"ElementaryTypeName","src":"4597:7:145","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":107821,"initialValue":{"arguments":[{"id":107819,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":107338,"src":"4652:8:145","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":107817,"name":"passportScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":107320,"src":"4626:14:145","typeDescriptions":{"typeIdentifier":"t_contract$_PassportScorer_$81159","typeString":"contract PassportScorer"}},"id":107818,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4641:10:145","memberName":"strategies","nodeType":"MemberAccess","referencedDeclaration":80699,"src":"4626:25:145","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$_t_bool_$_t_address_$","typeString":"function (address) view external returns (uint256,bool,address)"}},"id":107820,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4626:35:145","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_bool_$_t_address_$","typeString":"tuple(uint256,bool,address)"}},"nodeType":"VariableDeclarationStatement","src":"4552:109:145"},{"expression":{"arguments":[{"id":107823,"name":"storedThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":107812,"src":"4680:15:145","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":107824,"name":"newThreshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":107781,"src":"4697:12:145","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":107822,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[6152,6170,6185,6203,6257,6275,6329,6347,6362,6380,6424,6442,6457,6475,6492,6512,6529,6549,6566,6586,6603,6623,6640,6660,6677,6697,6714,6734],"referencedDeclaration":6185,"src":"4671:8:145","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":107825,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4671:39:145","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":107826,"nodeType":"ExpressionStatement","src":"4671:39:145"},{"expression":{"arguments":[{"id":107828,"name":"storedActive","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":107814,"src":"4729:12:145","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"66616c7365","id":107829,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"4743:5:145","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":107827,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[6152,6170,6185,6203,6257,6275,6329,6347,6362,6380,6424,6442,6457,6475,6492,6512,6529,6549,6566,6586,6603,6623,6640,6660,6677,6697,6714,6734],"referencedDeclaration":6152,"src":"4720:8:145","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bool_$_t_bool_$returns$__$","typeString":"function (bool,bool) pure"}},"id":107830,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4720:29:145","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":107831,"nodeType":"ExpressionStatement","src":"4720:29:145"},{"expression":{"arguments":[{"id":107833,"name":"storedCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":107816,"src":"4768:17:145","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":107834,"name":"councilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":107344,"src":"4787:11:145","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":107832,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[6152,6170,6185,6203,6257,6275,6329,6347,6362,6380,6424,6442,6457,6475,6492,6512,6529,6549,6566,6586,6603,6623,6640,6660,6677,6697,6714,6734],"referencedDeclaration":6329,"src":"4759:8:145","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$_t_address_$returns$__$","typeString":"function (address,address) pure"}},"id":107835,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4759:40:145","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":107836,"nodeType":"ExpressionStatement","src":"4759:40:145"}]},"functionSelector":"3668aa29","implemented":true,"kind":"function","modifiers":[],"name":"testModifyThresholdByCouncilSafe","nameLocation":"4234:32:145","parameters":{"id":107774,"nodeType":"ParameterList","parameters":[],"src":"4266:2:145"},"returnParameters":{"id":107775,"nodeType":"ParameterList","parameters":[],"src":"4276:0:145"},"scope":107928,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":107927,"nodeType":"FunctionDefinition","src":"4812:679:145","nodes":[],"body":{"id":107926,"nodeType":"Block","src":"4851:640:145","nodes":[],"statements":[{"assignments":[107842],"declarations":[{"constant":false,"id":107842,"mutability":"mutable","name":"threshold","nameLocation":"4869:9:145","nodeType":"VariableDeclaration","scope":107926,"src":"4861:17:145","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":107841,"name":"uint256","nodeType":"ElementaryTypeName","src":"4861:7:145","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":107844,"initialValue":{"hexValue":"3530","id":107843,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4881:2:145","typeDescriptions":{"typeIdentifier":"t_rational_50_by_1","typeString":"int_const 50"},"value":"50"},"nodeType":"VariableDeclarationStatement","src":"4861:22:145"},{"expression":{"arguments":[{"id":107848,"name":"listManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":107326,"src":"4903:11:145","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":107845,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5827,"src":"4894:2:145","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21485","typeString":"contract Vm"}},"id":107847,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4897:5:145","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":21138,"src":"4894:8:145","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":107849,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4894:21:145","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":107850,"nodeType":"ExpressionStatement","src":"4894:21:145"},{"expression":{"arguments":[{"id":107854,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":107338,"src":"4952:8:145","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":107855,"name":"threshold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":107842,"src":"4962:9:145","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":107856,"name":"councilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":107344,"src":"4973:11:145","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":107851,"name":"passportScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":107320,"src":"4925:14:145","typeDescriptions":{"typeIdentifier":"t_contract$_PassportScorer_$81159","typeString":"contract PassportScorer"}},"id":107853,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4940:11:145","memberName":"addStrategy","nodeType":"MemberAccess","referencedDeclaration":80996,"src":"4925:26:145","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$_t_address_$returns$__$","typeString":"function (address,uint256,address) external"}},"id":107857,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4925:60:145","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":107858,"nodeType":"ExpressionStatement","src":"4925:60:145"},{"expression":{"arguments":[{"id":107862,"name":"councilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":107344,"src":"5009:11:145","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":107859,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5827,"src":"4995:2:145","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21485","typeString":"contract Vm"}},"id":107861,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4998:10:145","memberName":"startPrank","nodeType":"MemberAccess","referencedDeclaration":21266,"src":"4995:13:145","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":107863,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4995:26:145","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":107864,"nodeType":"ExpressionStatement","src":"4995:26:145"},{"expression":{"arguments":[{"id":107868,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":107338,"src":"5063:8:145","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":107865,"name":"passportScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":107320,"src":"5031:14:145","typeDescriptions":{"typeIdentifier":"t_contract$_PassportScorer_$81159","typeString":"contract PassportScorer"}},"id":107867,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5046:16:145","memberName":"activateStrategy","nodeType":"MemberAccess","referencedDeclaration":81054,"src":"5031:31:145","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":107869,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5031:41:145","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":107870,"nodeType":"ExpressionStatement","src":"5031:41:145"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":107871,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5827,"src":"5082:2:145","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21485","typeString":"contract Vm"}},"id":107873,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5085:9:145","memberName":"stopPrank","nodeType":"MemberAccess","referencedDeclaration":21278,"src":"5082:12:145","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":107874,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5082:14:145","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":107875,"nodeType":"ExpressionStatement","src":"5082:14:145"},{"expression":{"arguments":[{"id":107879,"name":"listManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":107326,"src":"5116:11:145","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":107876,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5827,"src":"5107:2:145","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21485","typeString":"contract Vm"}},"id":107878,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5110:5:145","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":21138,"src":"5107:8:145","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":107880,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5107:21:145","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":107881,"nodeType":"ExpressionStatement","src":"5107:21:145"},{"expression":{"arguments":[{"id":107885,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":107332,"src":"5166:4:145","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":107886,"name":"passportData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":107353,"src":"5172:12:145","typeDescriptions":{"typeIdentifier":"t_struct$_PassportData_$80585_storage","typeString":"struct PassportData storage ref"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_struct$_PassportData_$80585_storage","typeString":"struct PassportData storage ref"}],"expression":{"id":107882,"name":"passportScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":107320,"src":"5138:14:145","typeDescriptions":{"typeIdentifier":"t_contract$_PassportScorer_$81159","typeString":"contract PassportScorer"}},"id":107884,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5153:12:145","memberName":"addUserScore","nodeType":"MemberAccess","referencedDeclaration":80887,"src":"5138:27:145","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_struct$_PassportData_$80585_memory_ptr_$returns$__$","typeString":"function (address,struct PassportData memory) external"}},"id":107887,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5138:47:145","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":107888,"nodeType":"ExpressionStatement","src":"5138:47:145"},{"assignments":[107890],"declarations":[{"constant":false,"id":107890,"mutability":"mutable","name":"canExecute","nameLocation":"5201:10:145","nodeType":"VariableDeclaration","scope":107926,"src":"5196:15:145","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":107889,"name":"bool","nodeType":"ElementaryTypeName","src":"5196:4:145","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":107896,"initialValue":{"arguments":[{"id":107893,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":107332,"src":"5246:4:145","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":107894,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":107338,"src":"5252:8:145","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":107891,"name":"passportScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":107320,"src":"5214:14:145","typeDescriptions":{"typeIdentifier":"t_contract$_PassportScorer_$81159","typeString":"contract PassportScorer"}},"id":107892,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5229:16:145","memberName":"canExecuteAction","nodeType":"MemberAccess","referencedDeclaration":81121,"src":"5214:31:145","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_bool_$","typeString":"function (address,address) view external returns (bool)"}},"id":107895,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5214:47:145","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"VariableDeclarationStatement","src":"5196:65:145"},{"expression":{"arguments":[{"id":107898,"name":"canExecute","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":107890,"src":"5282:10:145","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":107897,"name":"assertTrue","nodeType":"Identifier","overloadedDeclarations":[6095,6110],"referencedDeclaration":6095,"src":"5271:10:145","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":107899,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5271:22:145","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":107900,"nodeType":"ExpressionStatement","src":"5271:22:145"},{"expression":{"arguments":[{"id":107904,"name":"listManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":107326,"src":"5313:11:145","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":107901,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5827,"src":"5304:2:145","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21485","typeString":"contract Vm"}},"id":107903,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5307:5:145","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":21138,"src":"5304:8:145","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":107905,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5304:21:145","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":107906,"nodeType":"ExpressionStatement","src":"5304:21:145"},{"expression":{"arguments":[{"id":107910,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":107338,"src":"5366:8:145","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"313530","id":107911,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5376:3:145","typeDescriptions":{"typeIdentifier":"t_rational_150_by_1","typeString":"int_const 150"},"value":"150"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_150_by_1","typeString":"int_const 150"}],"expression":{"id":107907,"name":"passportScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":107320,"src":"5335:14:145","typeDescriptions":{"typeIdentifier":"t_contract$_PassportScorer_$81159","typeString":"contract PassportScorer"}},"id":107909,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5350:15:145","memberName":"modifyThreshold","nodeType":"MemberAccess","referencedDeclaration":81082,"src":"5335:30:145","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":107912,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5335:45:145","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":107913,"nodeType":"ExpressionStatement","src":"5335:45:145"},{"expression":{"id":107920,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":107914,"name":"canExecute","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":107890,"src":"5391:10:145","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":107917,"name":"user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":107332,"src":"5436:4:145","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":107918,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":107338,"src":"5442:8:145","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":107915,"name":"passportScorer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":107320,"src":"5404:14:145","typeDescriptions":{"typeIdentifier":"t_contract$_PassportScorer_$81159","typeString":"contract PassportScorer"}},"id":107916,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5419:16:145","memberName":"canExecuteAction","nodeType":"MemberAccess","referencedDeclaration":81121,"src":"5404:31:145","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_bool_$","typeString":"function (address,address) view external returns (bool)"}},"id":107919,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5404:47:145","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"5391:60:145","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":107921,"nodeType":"ExpressionStatement","src":"5391:60:145"},{"expression":{"arguments":[{"id":107923,"name":"canExecute","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":107890,"src":"5473:10:145","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":107922,"name":"assertFalse","nodeType":"Identifier","overloadedDeclarations":[6122,6137],"referencedDeclaration":6122,"src":"5461:11:145","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":107924,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5461:23:145","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":107925,"nodeType":"ExpressionStatement","src":"5461:23:145"}]},"functionSelector":"8caa5c44","implemented":true,"kind":"function","modifiers":[],"name":"testCanExecuteAction","nameLocation":"4821:20:145","parameters":{"id":107839,"nodeType":"ParameterList","parameters":[],"src":"4841:2:145"},"returnParameters":{"id":107840,"nodeType":"ParameterList","parameters":[],"src":"4851:0:145"},"scope":107928,"stateMutability":"nonpayable","virtual":false,"visibility":"public"}],"abstract":false,"baseContracts":[{"baseName":{"id":107316,"name":"Test","nameLocations":["323:4:145"],"nodeType":"IdentifierPath","referencedDeclaration":17835,"src":"323:4:145"},"id":107317,"nodeType":"InheritanceSpecifier","src":"323:4:145"}],"canonicalName":"PassportScorerTest","contractDependencies":[55562,81159],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[107928,17835,17783,12463,12138,11345,9285,8503,5834,5831],"name":"PassportScorerTest","nameLocation":"301:18:145","scope":107929,"usedErrors":[]}],"license":"AGPL-3.0-or-later"},"id":145} \ No newline at end of file diff --git a/pkg/contracts/out/Registry.sol/Registry.json b/pkg/contracts/out/Registry.sol/Registry.json index cb0ed1f72..cf62c5166 100644 --- a/pkg/contracts/out/Registry.sol/Registry.json +++ b/pkg/contracts/out/Registry.sol/Registry.json @@ -1 +1 @@ -{"abi":[{"type":"function","name":"ALLO_OWNER","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"DEFAULT_ADMIN_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"NATIVE","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"acceptProfileOwnership","inputs":[{"name":"_profileId","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"addMembers","inputs":[{"name":"_profileId","type":"bytes32","internalType":"bytes32"},{"name":"_members","type":"address[]","internalType":"address[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"anchorToProfileId","inputs":[{"name":"","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"createProfile","inputs":[{"name":"_nonce","type":"uint256","internalType":"uint256"},{"name":"_name","type":"string","internalType":"string"},{"name":"_metadata","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]},{"name":"_owner","type":"address","internalType":"address"},{"name":"_members","type":"address[]","internalType":"address[]"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"nonpayable"},{"type":"function","name":"getProfileByAnchor","inputs":[{"name":"_anchor","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"tuple","internalType":"struct IRegistry.Profile","components":[{"name":"id","type":"bytes32","internalType":"bytes32"},{"name":"nonce","type":"uint256","internalType":"uint256"},{"name":"name","type":"string","internalType":"string"},{"name":"metadata","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]},{"name":"owner","type":"address","internalType":"address"},{"name":"anchor","type":"address","internalType":"address"}]}],"stateMutability":"view"},{"type":"function","name":"getProfileById","inputs":[{"name":"_profileId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"tuple","internalType":"struct IRegistry.Profile","components":[{"name":"id","type":"bytes32","internalType":"bytes32"},{"name":"nonce","type":"uint256","internalType":"uint256"},{"name":"name","type":"string","internalType":"string"},{"name":"metadata","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]},{"name":"owner","type":"address","internalType":"address"},{"name":"anchor","type":"address","internalType":"address"}]}],"stateMutability":"view"},{"type":"function","name":"getRoleAdmin","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"grantRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"hasRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"initialize","inputs":[{"name":"_owner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"isMemberOfProfile","inputs":[{"name":"_profileId","type":"bytes32","internalType":"bytes32"},{"name":"_member","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isOwnerOfProfile","inputs":[{"name":"_profileId","type":"bytes32","internalType":"bytes32"},{"name":"_owner","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isOwnerOrMemberOfProfile","inputs":[{"name":"_profileId","type":"bytes32","internalType":"bytes32"},{"name":"_account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"profileIdToPendingOwner","inputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"profilesById","inputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"id","type":"bytes32","internalType":"bytes32"},{"name":"nonce","type":"uint256","internalType":"uint256"},{"name":"name","type":"string","internalType":"string"},{"name":"metadata","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]},{"name":"owner","type":"address","internalType":"address"},{"name":"anchor","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"recoverFunds","inputs":[{"name":"_token","type":"address","internalType":"address"},{"name":"_recipient","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"removeMembers","inputs":[{"name":"_profileId","type":"bytes32","internalType":"bytes32"},{"name":"_members","type":"address[]","internalType":"address[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"renounceRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"revokeRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"updateProfileMetadata","inputs":[{"name":"_profileId","type":"bytes32","internalType":"bytes32"},{"name":"_metadata","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"updateProfileName","inputs":[{"name":"_profileId","type":"bytes32","internalType":"bytes32"},{"name":"_name","type":"string","internalType":"string"}],"outputs":[{"name":"anchor","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"updateProfilePendingOwner","inputs":[{"name":"_profileId","type":"bytes32","internalType":"bytes32"},{"name":"_pendingOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint8","indexed":false,"internalType":"uint8"}],"anonymous":false},{"type":"event","name":"ProfileCreated","inputs":[{"name":"profileId","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"nonce","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"name","type":"string","indexed":false,"internalType":"string"},{"name":"metadata","type":"tuple","indexed":false,"internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]},{"name":"owner","type":"address","indexed":false,"internalType":"address"},{"name":"anchor","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"ProfileMetadataUpdated","inputs":[{"name":"profileId","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"metadata","type":"tuple","indexed":false,"internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]}],"anonymous":false},{"type":"event","name":"ProfileNameUpdated","inputs":[{"name":"profileId","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"name","type":"string","indexed":false,"internalType":"string"},{"name":"anchor","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"ProfileOwnerUpdated","inputs":[{"name":"profileId","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"owner","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"ProfilePendingOwnerUpdated","inputs":[{"name":"profileId","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"pendingOwner","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"RoleAdminChanged","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"previousAdminRole","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"newAdminRole","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"RoleGranted","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"sender","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"RoleRevoked","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"sender","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"error","name":"ALLOCATION_ACTIVE","inputs":[]},{"type":"error","name":"ALLOCATION_NOT_ACTIVE","inputs":[]},{"type":"error","name":"ALLOCATION_NOT_ENDED","inputs":[]},{"type":"error","name":"ALREADY_INITIALIZED","inputs":[]},{"type":"error","name":"AMOUNT_MISMATCH","inputs":[]},{"type":"error","name":"ANCHOR_ERROR","inputs":[]},{"type":"error","name":"ARRAY_MISMATCH","inputs":[]},{"type":"error","name":"INVALID","inputs":[]},{"type":"error","name":"INVALID_ADDRESS","inputs":[]},{"type":"error","name":"INVALID_FEE","inputs":[]},{"type":"error","name":"INVALID_METADATA","inputs":[]},{"type":"error","name":"INVALID_REGISTRATION","inputs":[]},{"type":"error","name":"IS_APPROVED_STRATEGY","inputs":[]},{"type":"error","name":"MISMATCH","inputs":[]},{"type":"error","name":"NONCE_NOT_AVAILABLE","inputs":[]},{"type":"error","name":"NOT_APPROVED_STRATEGY","inputs":[]},{"type":"error","name":"NOT_ENOUGH_FUNDS","inputs":[]},{"type":"error","name":"NOT_IMPLEMENTED","inputs":[]},{"type":"error","name":"NOT_INITIALIZED","inputs":[]},{"type":"error","name":"NOT_PENDING_OWNER","inputs":[]},{"type":"error","name":"POOL_ACTIVE","inputs":[]},{"type":"error","name":"POOL_INACTIVE","inputs":[]},{"type":"error","name":"RECIPIENT_ALREADY_ACCEPTED","inputs":[]},{"type":"error","name":"RECIPIENT_ERROR","inputs":[{"name":"recipientId","type":"address","internalType":"address"}]},{"type":"error","name":"RECIPIENT_NOT_ACCEPTED","inputs":[]},{"type":"error","name":"REGISTRATION_NOT_ACTIVE","inputs":[]},{"type":"error","name":"UNAUTHORIZED","inputs":[]},{"type":"error","name":"ZERO_ADDRESS","inputs":[]}],"bytecode":{"object":"0x608060405234801561001057600080fd5b50612e96806100206000396000f3fe60806040523480156200001157600080fd5b5060043610620001d15760003560e01c806350d005e01162000101578063c4d66de811620000a3578063d547741f116200007a578063d547741f1462000480578063dd93da431462000497578063e0cf1e4c14620004ae578063ee88819614620004c557600080fd5b8063c4d66de8146200042a578063cf189ff21462000441578063cfda7e0a146200045857600080fd5b8063a0cf0aea11620000d8578063a0cf0aea14620003ee578063a217fddf146200040a578063ac402839146200041357600080fd5b806350d005e014620003565780635e8a7915146200039b57806391d1485414620003b257600080fd5b80632f2ff15d11620001775780633a92f65f116200014e5780633a92f65f14620002ee5780633b66dacd14620003055780634756487f146200031c5780635063f361146200033f57600080fd5b80632f2ff15d14620002a957806336568abe14620002c057806339b86b8c14620002d757600080fd5b8063248a9ca311620001ac578063248a9ca314620002445780632497f3c6146200027957806324ae6a27146200029257600080fd5b80630114cf0a14620001d657806301ffc9a714620002055780630ec1fbac146200022d575b600080fd5b620001ed620001e736600462001c07565b620004f0565b604051620001fc919062001c9e565b60405180910390f35b6200021c6200021636600462001d1f565b620006a7565b6040519015158152602001620001fc565b6200021c6200023e36600462001d80565b62000741565b6200026a6200025536600462001c07565b60009081526065602052604090206001015490565b604051908152602001620001fc565b620002906200028a36600462001c07565b62000756565b005b62000290620002a336600462001daf565b62000835565b62000290620002ba36600462001d80565b62000951565b62000290620002d136600462001d80565b6200097f565b6200021c620002e836600462001d80565b62000a13565b6200026a620002ff36600462001fa7565b62000a39565b620002906200031636600462001d80565b62000cea565b6200026a6200032d36600462002056565b60976020526000908152604090205481565b620002906200035036600462002074565b62000d61565b620003826200036736600462001c07565b6099602052600090815260409020546001600160a01b031681565b6040516001600160a01b039091168152602001620001fc565b6200021c620003ac36600462001d80565b62000ded565b6200021c620003c336600462001d80565b60009182526065602090815260408084206001600160a01b0393909316845291905290205460ff1690565b6200038273eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b6200026a600081565b6200029062000424366004620020bf565b62000e20565b620002906200043b36600462002056565b62000e93565b620003826200045236600462002100565b62000fd7565b6200026a7f815b5a78dc333d344c7df9da23c04dbd432015cc701876ddb9ffe850e688274781565b620002906200049136600462001d80565b620010a5565b620001ed620004a836600462002056565b620010ce565b62000290620004bf36600462002074565b62001297565b620004dc620004d636600462001c07565b620012e2565b604051620001fc9695949392919062002141565b620004fa62001ba4565b609860008381526020019081526020016000206040518060c001604052908160008201548152602001600182015481526020016002820180546200053e906200219d565b80601f01602080910402602001604051908101604052809291908181526020018280546200056c906200219d565b8015620005bd5780601f106200059157610100808354040283529160200191620005bd565b820191906000526020600020905b8154815290600101906020018083116200059f57829003601f168201915b505050505081526020016003820160405180604001604052908160008201548152602001600182018054620005f2906200219d565b80601f016020809104026020016040519081016040528092919081815260200182805462000620906200219d565b8015620006715780601f10620006455761010080835404028352916020019162000671565b820191906000526020600020905b8154815290600101906020018083116200065357829003601f168201915b50505091909252505050815260058201546001600160a01b03908116602083015260069092015490911660409091015292915050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f7965db0b0000000000000000000000000000000000000000000000000000000014806200073b57507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b60006200074f838362001462565b9392505050565b60008181526098602090815260408083206099909252909120546001600160a01b0316338114620007b3576040517fb4d48c1000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6005820180546001600160a01b0383811673ffffffffffffffffffffffffffffffffffffffff199283161783556000868152609960209081526040918290208054909416909355925492519216825284917ffd9ad63830df7bdf1586c8293dc88a30864cb43e9037e7afdb2c7210facf217d91015b60405180910390a2505050565b7f815b5a78dc333d344c7df9da23c04dbd432015cc701876ddb9ffe850e688274762000861816200148e565b6001600160a01b038216620008895760405163538ba4f960e01b815260040160405180910390fd5b60006001600160a01b03841673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee146200093a576040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b038516906370a0823190602401602060405180830381865afa1580156200090e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620009349190620021d9565b6200093c565b475b90506200094b8484836200149d565b50505050565b6000828152606560205260409020600101546200096e816200148e565b6200097a8383620014e7565b505050565b6001600160a01b038116331462000a035760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201527f20726f6c657320666f722073656c66000000000000000000000000000000000060648201526084015b60405180910390fd5b62000a0f82826200158b565b5050565b6000828152609860205260408120600501546001600160a01b038381169116146200074f565b60008062000a4887856200160f565b6000818152609860205260409020600601549091506001600160a01b03161562000a9e576040517f527e059000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b03841662000ac65760405163538ba4f960e01b815260040160405180910390fd5b60006040518060c00160405280838152602001898152602001888152602001878152602001866001600160a01b0316815260200162000b06848a6200165e565b6001600160a01b0316905260008381526098602090815260409182902083518155908301516001820155908201519192508291600282019062000b4a908262002245565b5060608201518051600383019081556020820151600484019062000b6f908262002245565b505050608082015160058201805473ffffffffffffffffffffffffffffffffffffffff199081166001600160a01b039384161790915560a0938401516006909301805490911692821692909217909155908201511660009081526097602052604090208290558351801580159062000bf057506001600160a01b0386163314155b1562000c0f5760405163075fd2b160e01b815260040160405180910390fd5b60005b8181101562000c8657600086828151811062000c325762000c3262002312565b6020026020010151905060006001600160a01b0316816001600160a01b03160362000c705760405163538ba4f960e01b815260040160405180910390fd5b62000c7c8582620014e7565b5060010162000c12565b50827f1e28352ff00d67474b59b87e6817d6ba65daa0130446266db8640214d8b8060983602001518460400151856060015186608001518760a0015160405162000cd595949392919062002328565b60405180910390a25090979650505050505050565b8162000cf6816200186c565b600083815260996020908152604091829020805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b038616908117909155915191825284917f21fe5cd61055ef88f636a264885b927f3ec2b380b6053a6b4a7495a6336a95c8910162000828565b8162000d6d816200186c565b815160005b8181101562000de657600084828151811062000d925762000d9262002312565b6020026020010151905060006001600160a01b0316816001600160a01b03160362000dd05760405163538ba4f960e01b815260040160405180910390fd5b62000ddc8682620014e7565b5060010162000d72565b5050505050565b6000828152609860205260408120600501546001600160a01b03838116911614806200074f57506200074f838362001462565b8162000e2c816200186c565b6000838152609860209081526040909120835160038201908155918401518492916004019062000e5d908262002245565b50905050827fa366054a574e4f861cb295fd23b5440c5119c1ba329c36f5dfeb5643537cb0f3836040516200082891906200237d565b600054600190610100900460ff1615801562000eb6575060005460ff8083169116105b62000f2a5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401620009fa565b6000805461ffff191660ff8316176101001790556001600160a01b03821662000f665760405163538ba4f960e01b815260040160405180910390fd5b62000f927f815b5a78dc333d344c7df9da23c04dbd432015cc701876ddb9ffe850e688274783620014e7565b6000805461ff001916905560405160ff821681527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b60008262000fe5816200186c565b62000ff184846200165e565b60008581526098602052604090209092506002810162001012858262002245565b506006810180546001600160a01b03908116600090815260976020526040808220829055835473ffffffffffffffffffffffffffffffffffffffff19169287169283179093559081528190208690555185907f54cd733148631b9ff1cb945f2d0dcd33c0692e154763bfa2f35e2d10a76c432f9062001095908790879062002392565b60405180910390a2505092915050565b600082815260656020526040902060010154620010c2816200148e565b6200097a83836200158b565b620010d862001ba4565b6001600160a01b0382166000908152609760209081526040808320548084526098835292819020815160c0810183528154815260018201549381019390935260028101805491928401916200112d906200219d565b80601f01602080910402602001604051908101604052809291908181526020018280546200115b906200219d565b8015620011ac5780601f106200118057610100808354040283529160200191620011ac565b820191906000526020600020905b8154815290600101906020018083116200118e57829003601f168201915b505050505081526020016003820160405180604001604052908160008201548152602001600182018054620011e1906200219d565b80601f01602080910402602001604051908101604052809291908181526020018280546200120f906200219d565b8015620012605780601f10620012345761010080835404028352916020019162001260565b820191906000526020600020905b8154815290600101906020018083116200124257829003601f168201915b50505091909252505050815260058201546001600160a01b0390811660208301526006909201549091166040909101529392505050565b81620012a3816200186c565b815160005b8181101562000de657620012d985858381518110620012cb57620012cb62002312565b60200260200101516200158b565b600101620012a8565b609860205260009081526040902080546001820154600283018054929391926200130c906200219d565b80601f01602080910402602001604051908101604052809291908181526020018280546200133a906200219d565b80156200138b5780601f106200135f576101008083540402835291602001916200138b565b820191906000526020600020905b8154815290600101906020018083116200136d57829003601f168201915b5050505050908060030160405180604001604052908160008201548152602001600182018054620013bc906200219d565b80601f0160208091040260200160405190810160405280929190818152602001828054620013ea906200219d565b80156200143b5780601f106200140f576101008083540402835291602001916200143b565b820191906000526020600020905b8154815290600101906020018083116200141d57829003601f168201915b50505091909252505050600582015460069092015490916001600160a01b03908116911686565b60008281526065602090815260408083206001600160a01b038516845290915281205460ff166200074f565b6200149a8133620018a7565b50565b7fffffffffffffffffffffffff11111111111111111111111111111111111111126001600160a01b03841601620014da576200097a828262001925565b6200097a83838362001942565b60008281526065602090815260408083206001600160a01b038516845290915290205460ff1662000a0f5760008281526065602090815260408083206001600160a01b03851684529091529020805460ff19166001179055620015473390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b60008281526065602090815260408083206001600160a01b038516845290915290205460ff161562000a0f5760008281526065602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b600082826040516020016200164092919091825260601b6bffffffffffffffffffffffff1916602082015260340190565b60405160208183030381529060405280519060200120905092915050565b600080838360405160200162001676929190620023bf565b60408051808303601f1901815282825260208301879052308383015281518084038301815260608401928390529093509160009190620016b99060800162001bf9565b601f1982820381018352601f909101166040819052620016df91908490602001620023da565b60408051601f198184030181529082905284516020868101919091208251828401207fff00000000000000000000000000000000000000000000000000000000000000928501929092526bffffffffffffffffffffffff193060601b166021850152603584018190526055840191909152909250906000906075016040516020818303038152906040528051906020012060001c9050818830604051620017869062001bf9565b9182526001600160a01b031660208201526040018190604051809103906000f590508015620017b25760015b6200185e5787816001600160a01b03166308386eba6040518163ffffffff1660e01b8152600401602060405180830381865afa158015620017f7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200181d9190620021d9565b1462001855576040517f113b81f000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80955062001861565b95505b505050505092915050565b6000818152609860205260409020600501546001600160a01b031633146200149a5760405163075fd2b160e01b815260040160405180910390fd5b60008281526065602090815260408083206001600160a01b038516845290915290205460ff1662000a0f57620018dd8162001992565b620018ea836020620019a5565b604051602001620018fd9291906200240d565b60408051601f198184030181529082905262461bcd60e51b8252620009fa9160040162002492565b60008060008084865af162000a0f5763b12d13eb6000526004601cfd5b81601452806034526fa9059cbb00000000000000000000000060005260206000604460106000875af13d15600160005114171662001988576390b8ec186000526004601cfd5b6000603452505050565b60606200073b6001600160a01b03831660145b60606000620019b6836002620024bd565b620019c3906002620024d7565b67ffffffffffffffff811115620019de57620019de62001dde565b6040519080825280601f01601f19166020018201604052801562001a09576020820181803683370190505b5090507f30000000000000000000000000000000000000000000000000000000000000008160008151811062001a435762001a4362002312565b60200101906001600160f81b031916908160001a9053507f78000000000000000000000000000000000000000000000000000000000000008160018151811062001a915762001a9162002312565b60200101906001600160f81b031916908160001a905350600062001ab7846002620024bd565b62001ac4906001620024d7565b90505b600181111562001b53577f303132333435363738396162636465660000000000000000000000000000000085600f166010811062001b095762001b0962002312565b1a60f81b82828151811062001b225762001b2262002312565b60200101906001600160f81b031916908160001a90535060049490941c9362001b4b81620024ed565b905062001ac7565b5083156200074f5760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401620009fa565b6040518060c0016040528060008019168152602001600081526020016060815260200162001be5604051806040016040528060008152602001606081525090565b815260006020820181905260409091015290565b610959806200250883390190565b60006020828403121562001c1a57600080fd5b5035919050565b60005b8381101562001c3e57818101518382015260200162001c24565b50506000910152565b6000815180845262001c6181602086016020860162001c21565b601f01601f19169290920160200192915050565b80518252600060208201516040602085015262001c96604085018262001c47565b949350505050565b6020815281516020820152602082015160408201526000604083015160c0606084015262001cd060e084018262001c47565b90506060840151601f1984830301608085015262001cef828262001c75565b91505060808401516001600160a01b0380821660a08601528060a08701511660c086015250508091505092915050565b60006020828403121562001d3257600080fd5b81357fffffffff00000000000000000000000000000000000000000000000000000000811681146200074f57600080fd5b80356001600160a01b038116811462001d7b57600080fd5b919050565b6000806040838503121562001d9457600080fd5b8235915062001da66020840162001d63565b90509250929050565b6000806040838503121562001dc357600080fd5b62001dce8362001d63565b915062001da66020840162001d63565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff8111828210171562001e205762001e2062001dde565b604052919050565b600082601f83011262001e3a57600080fd5b813567ffffffffffffffff81111562001e575762001e5762001dde565b62001e6c601f8201601f191660200162001df4565b81815284602083860101111562001e8257600080fd5b816020850160208301376000918101602001919091529392505050565b60006040828403121562001eb257600080fd5b6040516040810167ffffffffffffffff828210818311171562001ed95762001ed962001dde565b8160405282935084358352602085013591508082111562001ef957600080fd5b5062001f088582860162001e28565b6020830152505092915050565b600082601f83011262001f2757600080fd5b8135602067ffffffffffffffff82111562001f465762001f4662001dde565b8160051b62001f5782820162001df4565b928352848101820192828101908785111562001f7257600080fd5b83870192505b8483101562001f9c5762001f8c8362001d63565b8252918301919083019062001f78565b979650505050505050565b600080600080600060a0868803121562001fc057600080fd5b85359450602086013567ffffffffffffffff8082111562001fe057600080fd5b62001fee89838a0162001e28565b955060408801359150808211156200200557600080fd5b6200201389838a0162001e9f565b9450620020236060890162001d63565b935060808801359150808211156200203a57600080fd5b50620020498882890162001f15565b9150509295509295909350565b6000602082840312156200206957600080fd5b6200074f8262001d63565b600080604083850312156200208857600080fd5b82359150602083013567ffffffffffffffff811115620020a757600080fd5b620020b58582860162001f15565b9150509250929050565b60008060408385031215620020d357600080fd5b82359150602083013567ffffffffffffffff811115620020f257600080fd5b620020b58582860162001e9f565b600080604083850312156200211457600080fd5b82359150602083013567ffffffffffffffff8111156200213357600080fd5b620020b58582860162001e28565b86815285602082015260c0604082015260006200216260c083018762001c47565b828103606084015262002176818762001c75565b9150506001600160a01b03808516608084015280841660a084015250979650505050505050565b600181811c90821680620021b257607f821691505b602082108103620021d357634e487b7160e01b600052602260045260246000fd5b50919050565b600060208284031215620021ec57600080fd5b5051919050565b601f8211156200097a57600081815260208120601f850160051c810160208610156200221c5750805b601f850160051c820191505b818110156200223d5782815560010162002228565b505050505050565b815167ffffffffffffffff81111562002262576200226262001dde565b6200227a816200227384546200219d565b84620021f3565b602080601f831160018114620022b25760008415620022995750858301515b600019600386901b1c1916600185901b1785556200223d565b600085815260208120601f198616915b82811015620022e357888601518255948401946001909101908401620022c2565b5085821015620023025787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052603260045260246000fd5b85815260a0602082015260006200234360a083018762001c47565b828103604084015262002357818762001c75565b9150506001600160a01b0380851660608401528084166080840152509695505050505050565b6020815260006200074f602083018462001c75565b604081526000620023a7604083018562001c47565b90506001600160a01b03831660208301529392505050565b82815260406020820152600062001c96604083018462001c47565b60008351620023ee81846020880162001c21565b8351908301906200240481836020880162001c21565b01949350505050565b7f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008152600083516200244781601785016020880162001c21565b7f206973206d697373696e6720726f6c652000000000000000000000000000000060179184019182015283516200248681602884016020880162001c21565b01602801949350505050565b6020815260006200074f602083018462001c47565b634e487b7160e01b600052601160045260246000fd5b80820281158282048414176200073b576200073b620024a7565b808201808211156200073b576200073b620024a7565b600081620024ff57620024ff620024a7565b50600019019056fe60c060405234801561001057600080fd5b5060405161095938038061095983398101604081905261002f91610043565b6001600160a01b031660805260a052610080565b6000806040838503121561005657600080fd5b825160208401519092506001600160a01b038116811461007557600080fd5b809150509250929050565b60805160a0516108a76100b26000396000818160c701526102e8015260008181610166015261031701526108a76000f3fe6080604052600436106100745760003560e01c80637b1039991161004e5780637b10399914610154578063b61d27f6146101a0578063bc197c81146101cd578063f23a6e611461021257600080fd5b806301ffc9a71461008057806308386eba146100b5578063150b7a02146100f757600080fd5b3661007b57005b600080fd5b34801561008c57600080fd5b506100a061009b366004610471565b610257565b60405190151581526020015b60405180910390f35b3480156100c157600080fd5b506100e97f000000000000000000000000000000000000000000000000000000000000000081565b6040519081526020016100ac565b34801561010357600080fd5b5061013b61011236600461058e565b7f150b7a0200000000000000000000000000000000000000000000000000000000949350505050565b6040516001600160e01b031990911681526020016100ac565b34801561016057600080fd5b506101887f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016100ac565b3480156101ac57600080fd5b506101c06101bb3660046105f6565b6102c0565b6040516100ac9190610671565b3480156101d957600080fd5b5061013b6101e8366004610724565b7fbc197c810000000000000000000000000000000000000000000000000000000095945050505050565b34801561021e57600080fd5b5061013b61022d3660046107ce565b7ff23a6e610000000000000000000000000000000000000000000000000000000095945050505050565b60006001600160e01b031982167f4e2312e00000000000000000000000000000000000000000000000000000000014806102ba57507f01ffc9a7000000000000000000000000000000000000000000000000000000006001600160e01b03198316145b92915050565b6040517f39b86b8c0000000000000000000000000000000000000000000000000000000081527f000000000000000000000000000000000000000000000000000000000000000060048201523360248201526060907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906339b86b8c90604401602060405180830381865afa158015610366573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061038a9190610833565b6103c0576040517f075fd2b100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0384166103e7576040516384aed38d60e01b815260040160405180910390fd5b600080856001600160a01b031685856040516104039190610855565b60006040518083038185875af1925050503d8060008114610440576040519150601f19603f3d011682016040523d82523d6000602084013e610445565b606091505b509150915081610468576040516384aed38d60e01b815260040160405180910390fd5b95945050505050565b60006020828403121561048357600080fd5b81356001600160e01b03198116811461049b57600080fd5b9392505050565b80356001600160a01b03811681146104b957600080fd5b919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715610516576105166104be565b604052919050565b600082601f83011261052f57600080fd5b813567ffffffffffffffff811115610549576105496104be565b61055c601f8201601f19166020016104ed565b81815284602083860101111561057157600080fd5b816020850160208301376000918101602001919091529392505050565b600080600080608085870312156105a457600080fd5b6105ad856104a2565b93506105bb602086016104a2565b925060408501359150606085013567ffffffffffffffff8111156105de57600080fd5b6105ea8782880161051e565b91505092959194509250565b60008060006060848603121561060b57600080fd5b610614846104a2565b925060208401359150604084013567ffffffffffffffff81111561063757600080fd5b6106438682870161051e565b9150509250925092565b60005b83811015610668578181015183820152602001610650565b50506000910152565b602081526000825180602084015261069081604085016020870161064d565b601f01601f19169190910160400192915050565b600082601f8301126106b557600080fd5b8135602067ffffffffffffffff8211156106d1576106d16104be565b8160051b6106e08282016104ed565b92835284810182019282810190878511156106fa57600080fd5b83870192505b8483101561071957823582529183019190830190610700565b979650505050505050565b600080600080600060a0868803121561073c57600080fd5b610745866104a2565b9450610753602087016104a2565b9350604086013567ffffffffffffffff8082111561077057600080fd5b61077c89838a016106a4565b9450606088013591508082111561079257600080fd5b61079e89838a016106a4565b935060808801359150808211156107b457600080fd5b506107c18882890161051e565b9150509295509295909350565b600080600080600060a086880312156107e657600080fd5b6107ef866104a2565b94506107fd602087016104a2565b93506040860135925060608601359150608086013567ffffffffffffffff81111561082757600080fd5b6107c18882890161051e565b60006020828403121561084557600080fd5b8151801515811461049b57600080fd5b6000825161086781846020870161064d565b919091019291505056fea264697066735822122061dcf639e93e0be87945d7a3c6df829e8b3ca3be42e6772aca52a9056e71bb4364736f6c63430008130033a2646970667358221220590b0b235aedf3a973a94f17655cc66b999e52fea170a78dee65da4ad7d2833364736f6c63430008130033","sourceMap":"5237:15930:2:-:0;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x60806040523480156200001157600080fd5b5060043610620001d15760003560e01c806350d005e01162000101578063c4d66de811620000a3578063d547741f116200007a578063d547741f1462000480578063dd93da431462000497578063e0cf1e4c14620004ae578063ee88819614620004c557600080fd5b8063c4d66de8146200042a578063cf189ff21462000441578063cfda7e0a146200045857600080fd5b8063a0cf0aea11620000d8578063a0cf0aea14620003ee578063a217fddf146200040a578063ac402839146200041357600080fd5b806350d005e014620003565780635e8a7915146200039b57806391d1485414620003b257600080fd5b80632f2ff15d11620001775780633a92f65f116200014e5780633a92f65f14620002ee5780633b66dacd14620003055780634756487f146200031c5780635063f361146200033f57600080fd5b80632f2ff15d14620002a957806336568abe14620002c057806339b86b8c14620002d757600080fd5b8063248a9ca311620001ac578063248a9ca314620002445780632497f3c6146200027957806324ae6a27146200029257600080fd5b80630114cf0a14620001d657806301ffc9a714620002055780630ec1fbac146200022d575b600080fd5b620001ed620001e736600462001c07565b620004f0565b604051620001fc919062001c9e565b60405180910390f35b6200021c6200021636600462001d1f565b620006a7565b6040519015158152602001620001fc565b6200021c6200023e36600462001d80565b62000741565b6200026a6200025536600462001c07565b60009081526065602052604090206001015490565b604051908152602001620001fc565b620002906200028a36600462001c07565b62000756565b005b62000290620002a336600462001daf565b62000835565b62000290620002ba36600462001d80565b62000951565b62000290620002d136600462001d80565b6200097f565b6200021c620002e836600462001d80565b62000a13565b6200026a620002ff36600462001fa7565b62000a39565b620002906200031636600462001d80565b62000cea565b6200026a6200032d36600462002056565b60976020526000908152604090205481565b620002906200035036600462002074565b62000d61565b620003826200036736600462001c07565b6099602052600090815260409020546001600160a01b031681565b6040516001600160a01b039091168152602001620001fc565b6200021c620003ac36600462001d80565b62000ded565b6200021c620003c336600462001d80565b60009182526065602090815260408084206001600160a01b0393909316845291905290205460ff1690565b6200038273eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b6200026a600081565b6200029062000424366004620020bf565b62000e20565b620002906200043b36600462002056565b62000e93565b620003826200045236600462002100565b62000fd7565b6200026a7f815b5a78dc333d344c7df9da23c04dbd432015cc701876ddb9ffe850e688274781565b620002906200049136600462001d80565b620010a5565b620001ed620004a836600462002056565b620010ce565b62000290620004bf36600462002074565b62001297565b620004dc620004d636600462001c07565b620012e2565b604051620001fc9695949392919062002141565b620004fa62001ba4565b609860008381526020019081526020016000206040518060c001604052908160008201548152602001600182015481526020016002820180546200053e906200219d565b80601f01602080910402602001604051908101604052809291908181526020018280546200056c906200219d565b8015620005bd5780601f106200059157610100808354040283529160200191620005bd565b820191906000526020600020905b8154815290600101906020018083116200059f57829003601f168201915b505050505081526020016003820160405180604001604052908160008201548152602001600182018054620005f2906200219d565b80601f016020809104026020016040519081016040528092919081815260200182805462000620906200219d565b8015620006715780601f10620006455761010080835404028352916020019162000671565b820191906000526020600020905b8154815290600101906020018083116200065357829003601f168201915b50505091909252505050815260058201546001600160a01b03908116602083015260069092015490911660409091015292915050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f7965db0b0000000000000000000000000000000000000000000000000000000014806200073b57507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b60006200074f838362001462565b9392505050565b60008181526098602090815260408083206099909252909120546001600160a01b0316338114620007b3576040517fb4d48c1000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6005820180546001600160a01b0383811673ffffffffffffffffffffffffffffffffffffffff199283161783556000868152609960209081526040918290208054909416909355925492519216825284917ffd9ad63830df7bdf1586c8293dc88a30864cb43e9037e7afdb2c7210facf217d91015b60405180910390a2505050565b7f815b5a78dc333d344c7df9da23c04dbd432015cc701876ddb9ffe850e688274762000861816200148e565b6001600160a01b038216620008895760405163538ba4f960e01b815260040160405180910390fd5b60006001600160a01b03841673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee146200093a576040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b038516906370a0823190602401602060405180830381865afa1580156200090e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620009349190620021d9565b6200093c565b475b90506200094b8484836200149d565b50505050565b6000828152606560205260409020600101546200096e816200148e565b6200097a8383620014e7565b505050565b6001600160a01b038116331462000a035760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201527f20726f6c657320666f722073656c66000000000000000000000000000000000060648201526084015b60405180910390fd5b62000a0f82826200158b565b5050565b6000828152609860205260408120600501546001600160a01b038381169116146200074f565b60008062000a4887856200160f565b6000818152609860205260409020600601549091506001600160a01b03161562000a9e576040517f527e059000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b03841662000ac65760405163538ba4f960e01b815260040160405180910390fd5b60006040518060c00160405280838152602001898152602001888152602001878152602001866001600160a01b0316815260200162000b06848a6200165e565b6001600160a01b0316905260008381526098602090815260409182902083518155908301516001820155908201519192508291600282019062000b4a908262002245565b5060608201518051600383019081556020820151600484019062000b6f908262002245565b505050608082015160058201805473ffffffffffffffffffffffffffffffffffffffff199081166001600160a01b039384161790915560a0938401516006909301805490911692821692909217909155908201511660009081526097602052604090208290558351801580159062000bf057506001600160a01b0386163314155b1562000c0f5760405163075fd2b160e01b815260040160405180910390fd5b60005b8181101562000c8657600086828151811062000c325762000c3262002312565b6020026020010151905060006001600160a01b0316816001600160a01b03160362000c705760405163538ba4f960e01b815260040160405180910390fd5b62000c7c8582620014e7565b5060010162000c12565b50827f1e28352ff00d67474b59b87e6817d6ba65daa0130446266db8640214d8b8060983602001518460400151856060015186608001518760a0015160405162000cd595949392919062002328565b60405180910390a25090979650505050505050565b8162000cf6816200186c565b600083815260996020908152604091829020805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b038616908117909155915191825284917f21fe5cd61055ef88f636a264885b927f3ec2b380b6053a6b4a7495a6336a95c8910162000828565b8162000d6d816200186c565b815160005b8181101562000de657600084828151811062000d925762000d9262002312565b6020026020010151905060006001600160a01b0316816001600160a01b03160362000dd05760405163538ba4f960e01b815260040160405180910390fd5b62000ddc8682620014e7565b5060010162000d72565b5050505050565b6000828152609860205260408120600501546001600160a01b03838116911614806200074f57506200074f838362001462565b8162000e2c816200186c565b6000838152609860209081526040909120835160038201908155918401518492916004019062000e5d908262002245565b50905050827fa366054a574e4f861cb295fd23b5440c5119c1ba329c36f5dfeb5643537cb0f3836040516200082891906200237d565b600054600190610100900460ff1615801562000eb6575060005460ff8083169116105b62000f2a5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401620009fa565b6000805461ffff191660ff8316176101001790556001600160a01b03821662000f665760405163538ba4f960e01b815260040160405180910390fd5b62000f927f815b5a78dc333d344c7df9da23c04dbd432015cc701876ddb9ffe850e688274783620014e7565b6000805461ff001916905560405160ff821681527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b60008262000fe5816200186c565b62000ff184846200165e565b60008581526098602052604090209092506002810162001012858262002245565b506006810180546001600160a01b03908116600090815260976020526040808220829055835473ffffffffffffffffffffffffffffffffffffffff19169287169283179093559081528190208690555185907f54cd733148631b9ff1cb945f2d0dcd33c0692e154763bfa2f35e2d10a76c432f9062001095908790879062002392565b60405180910390a2505092915050565b600082815260656020526040902060010154620010c2816200148e565b6200097a83836200158b565b620010d862001ba4565b6001600160a01b0382166000908152609760209081526040808320548084526098835292819020815160c0810183528154815260018201549381019390935260028101805491928401916200112d906200219d565b80601f01602080910402602001604051908101604052809291908181526020018280546200115b906200219d565b8015620011ac5780601f106200118057610100808354040283529160200191620011ac565b820191906000526020600020905b8154815290600101906020018083116200118e57829003601f168201915b505050505081526020016003820160405180604001604052908160008201548152602001600182018054620011e1906200219d565b80601f01602080910402602001604051908101604052809291908181526020018280546200120f906200219d565b8015620012605780601f10620012345761010080835404028352916020019162001260565b820191906000526020600020905b8154815290600101906020018083116200124257829003601f168201915b50505091909252505050815260058201546001600160a01b0390811660208301526006909201549091166040909101529392505050565b81620012a3816200186c565b815160005b8181101562000de657620012d985858381518110620012cb57620012cb62002312565b60200260200101516200158b565b600101620012a8565b609860205260009081526040902080546001820154600283018054929391926200130c906200219d565b80601f01602080910402602001604051908101604052809291908181526020018280546200133a906200219d565b80156200138b5780601f106200135f576101008083540402835291602001916200138b565b820191906000526020600020905b8154815290600101906020018083116200136d57829003601f168201915b5050505050908060030160405180604001604052908160008201548152602001600182018054620013bc906200219d565b80601f0160208091040260200160405190810160405280929190818152602001828054620013ea906200219d565b80156200143b5780601f106200140f576101008083540402835291602001916200143b565b820191906000526020600020905b8154815290600101906020018083116200141d57829003601f168201915b50505091909252505050600582015460069092015490916001600160a01b03908116911686565b60008281526065602090815260408083206001600160a01b038516845290915281205460ff166200074f565b6200149a8133620018a7565b50565b7fffffffffffffffffffffffff11111111111111111111111111111111111111126001600160a01b03841601620014da576200097a828262001925565b6200097a83838362001942565b60008281526065602090815260408083206001600160a01b038516845290915290205460ff1662000a0f5760008281526065602090815260408083206001600160a01b03851684529091529020805460ff19166001179055620015473390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b60008281526065602090815260408083206001600160a01b038516845290915290205460ff161562000a0f5760008281526065602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b600082826040516020016200164092919091825260601b6bffffffffffffffffffffffff1916602082015260340190565b60405160208183030381529060405280519060200120905092915050565b600080838360405160200162001676929190620023bf565b60408051808303601f1901815282825260208301879052308383015281518084038301815260608401928390529093509160009190620016b99060800162001bf9565b601f1982820381018352601f909101166040819052620016df91908490602001620023da565b60408051601f198184030181529082905284516020868101919091208251828401207fff00000000000000000000000000000000000000000000000000000000000000928501929092526bffffffffffffffffffffffff193060601b166021850152603584018190526055840191909152909250906000906075016040516020818303038152906040528051906020012060001c9050818830604051620017869062001bf9565b9182526001600160a01b031660208201526040018190604051809103906000f590508015620017b25760015b6200185e5787816001600160a01b03166308386eba6040518163ffffffff1660e01b8152600401602060405180830381865afa158015620017f7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200181d9190620021d9565b1462001855576040517f113b81f000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80955062001861565b95505b505050505092915050565b6000818152609860205260409020600501546001600160a01b031633146200149a5760405163075fd2b160e01b815260040160405180910390fd5b60008281526065602090815260408083206001600160a01b038516845290915290205460ff1662000a0f57620018dd8162001992565b620018ea836020620019a5565b604051602001620018fd9291906200240d565b60408051601f198184030181529082905262461bcd60e51b8252620009fa9160040162002492565b60008060008084865af162000a0f5763b12d13eb6000526004601cfd5b81601452806034526fa9059cbb00000000000000000000000060005260206000604460106000875af13d15600160005114171662001988576390b8ec186000526004601cfd5b6000603452505050565b60606200073b6001600160a01b03831660145b60606000620019b6836002620024bd565b620019c3906002620024d7565b67ffffffffffffffff811115620019de57620019de62001dde565b6040519080825280601f01601f19166020018201604052801562001a09576020820181803683370190505b5090507f30000000000000000000000000000000000000000000000000000000000000008160008151811062001a435762001a4362002312565b60200101906001600160f81b031916908160001a9053507f78000000000000000000000000000000000000000000000000000000000000008160018151811062001a915762001a9162002312565b60200101906001600160f81b031916908160001a905350600062001ab7846002620024bd565b62001ac4906001620024d7565b90505b600181111562001b53577f303132333435363738396162636465660000000000000000000000000000000085600f166010811062001b095762001b0962002312565b1a60f81b82828151811062001b225762001b2262002312565b60200101906001600160f81b031916908160001a90535060049490941c9362001b4b81620024ed565b905062001ac7565b5083156200074f5760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401620009fa565b6040518060c0016040528060008019168152602001600081526020016060815260200162001be5604051806040016040528060008152602001606081525090565b815260006020820181905260409091015290565b610959806200250883390190565b60006020828403121562001c1a57600080fd5b5035919050565b60005b8381101562001c3e57818101518382015260200162001c24565b50506000910152565b6000815180845262001c6181602086016020860162001c21565b601f01601f19169290920160200192915050565b80518252600060208201516040602085015262001c96604085018262001c47565b949350505050565b6020815281516020820152602082015160408201526000604083015160c0606084015262001cd060e084018262001c47565b90506060840151601f1984830301608085015262001cef828262001c75565b91505060808401516001600160a01b0380821660a08601528060a08701511660c086015250508091505092915050565b60006020828403121562001d3257600080fd5b81357fffffffff00000000000000000000000000000000000000000000000000000000811681146200074f57600080fd5b80356001600160a01b038116811462001d7b57600080fd5b919050565b6000806040838503121562001d9457600080fd5b8235915062001da66020840162001d63565b90509250929050565b6000806040838503121562001dc357600080fd5b62001dce8362001d63565b915062001da66020840162001d63565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff8111828210171562001e205762001e2062001dde565b604052919050565b600082601f83011262001e3a57600080fd5b813567ffffffffffffffff81111562001e575762001e5762001dde565b62001e6c601f8201601f191660200162001df4565b81815284602083860101111562001e8257600080fd5b816020850160208301376000918101602001919091529392505050565b60006040828403121562001eb257600080fd5b6040516040810167ffffffffffffffff828210818311171562001ed95762001ed962001dde565b8160405282935084358352602085013591508082111562001ef957600080fd5b5062001f088582860162001e28565b6020830152505092915050565b600082601f83011262001f2757600080fd5b8135602067ffffffffffffffff82111562001f465762001f4662001dde565b8160051b62001f5782820162001df4565b928352848101820192828101908785111562001f7257600080fd5b83870192505b8483101562001f9c5762001f8c8362001d63565b8252918301919083019062001f78565b979650505050505050565b600080600080600060a0868803121562001fc057600080fd5b85359450602086013567ffffffffffffffff8082111562001fe057600080fd5b62001fee89838a0162001e28565b955060408801359150808211156200200557600080fd5b6200201389838a0162001e9f565b9450620020236060890162001d63565b935060808801359150808211156200203a57600080fd5b50620020498882890162001f15565b9150509295509295909350565b6000602082840312156200206957600080fd5b6200074f8262001d63565b600080604083850312156200208857600080fd5b82359150602083013567ffffffffffffffff811115620020a757600080fd5b620020b58582860162001f15565b9150509250929050565b60008060408385031215620020d357600080fd5b82359150602083013567ffffffffffffffff811115620020f257600080fd5b620020b58582860162001e9f565b600080604083850312156200211457600080fd5b82359150602083013567ffffffffffffffff8111156200213357600080fd5b620020b58582860162001e28565b86815285602082015260c0604082015260006200216260c083018762001c47565b828103606084015262002176818762001c75565b9150506001600160a01b03808516608084015280841660a084015250979650505050505050565b600181811c90821680620021b257607f821691505b602082108103620021d357634e487b7160e01b600052602260045260246000fd5b50919050565b600060208284031215620021ec57600080fd5b5051919050565b601f8211156200097a57600081815260208120601f850160051c810160208610156200221c5750805b601f850160051c820191505b818110156200223d5782815560010162002228565b505050505050565b815167ffffffffffffffff81111562002262576200226262001dde565b6200227a816200227384546200219d565b84620021f3565b602080601f831160018114620022b25760008415620022995750858301515b600019600386901b1c1916600185901b1785556200223d565b600085815260208120601f198616915b82811015620022e357888601518255948401946001909101908401620022c2565b5085821015620023025787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052603260045260246000fd5b85815260a0602082015260006200234360a083018762001c47565b828103604084015262002357818762001c75565b9150506001600160a01b0380851660608401528084166080840152509695505050505050565b6020815260006200074f602083018462001c75565b604081526000620023a7604083018562001c47565b90506001600160a01b03831660208301529392505050565b82815260406020820152600062001c96604083018462001c47565b60008351620023ee81846020880162001c21565b8351908301906200240481836020880162001c21565b01949350505050565b7f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008152600083516200244781601785016020880162001c21565b7f206973206d697373696e6720726f6c652000000000000000000000000000000060179184019182015283516200248681602884016020880162001c21565b01602801949350505050565b6020815260006200074f602083018462001c47565b634e487b7160e01b600052601160045260246000fd5b80820281158282048414176200073b576200073b620024a7565b808201808211156200073b576200073b620024a7565b600081620024ff57620024ff620024a7565b50600019019056fe60c060405234801561001057600080fd5b5060405161095938038061095983398101604081905261002f91610043565b6001600160a01b031660805260a052610080565b6000806040838503121561005657600080fd5b825160208401519092506001600160a01b038116811461007557600080fd5b809150509250929050565b60805160a0516108a76100b26000396000818160c701526102e8015260008181610166015261031701526108a76000f3fe6080604052600436106100745760003560e01c80637b1039991161004e5780637b10399914610154578063b61d27f6146101a0578063bc197c81146101cd578063f23a6e611461021257600080fd5b806301ffc9a71461008057806308386eba146100b5578063150b7a02146100f757600080fd5b3661007b57005b600080fd5b34801561008c57600080fd5b506100a061009b366004610471565b610257565b60405190151581526020015b60405180910390f35b3480156100c157600080fd5b506100e97f000000000000000000000000000000000000000000000000000000000000000081565b6040519081526020016100ac565b34801561010357600080fd5b5061013b61011236600461058e565b7f150b7a0200000000000000000000000000000000000000000000000000000000949350505050565b6040516001600160e01b031990911681526020016100ac565b34801561016057600080fd5b506101887f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016100ac565b3480156101ac57600080fd5b506101c06101bb3660046105f6565b6102c0565b6040516100ac9190610671565b3480156101d957600080fd5b5061013b6101e8366004610724565b7fbc197c810000000000000000000000000000000000000000000000000000000095945050505050565b34801561021e57600080fd5b5061013b61022d3660046107ce565b7ff23a6e610000000000000000000000000000000000000000000000000000000095945050505050565b60006001600160e01b031982167f4e2312e00000000000000000000000000000000000000000000000000000000014806102ba57507f01ffc9a7000000000000000000000000000000000000000000000000000000006001600160e01b03198316145b92915050565b6040517f39b86b8c0000000000000000000000000000000000000000000000000000000081527f000000000000000000000000000000000000000000000000000000000000000060048201523360248201526060907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906339b86b8c90604401602060405180830381865afa158015610366573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061038a9190610833565b6103c0576040517f075fd2b100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0384166103e7576040516384aed38d60e01b815260040160405180910390fd5b600080856001600160a01b031685856040516104039190610855565b60006040518083038185875af1925050503d8060008114610440576040519150601f19603f3d011682016040523d82523d6000602084013e610445565b606091505b509150915081610468576040516384aed38d60e01b815260040160405180910390fd5b95945050505050565b60006020828403121561048357600080fd5b81356001600160e01b03198116811461049b57600080fd5b9392505050565b80356001600160a01b03811681146104b957600080fd5b919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715610516576105166104be565b604052919050565b600082601f83011261052f57600080fd5b813567ffffffffffffffff811115610549576105496104be565b61055c601f8201601f19166020016104ed565b81815284602083860101111561057157600080fd5b816020850160208301376000918101602001919091529392505050565b600080600080608085870312156105a457600080fd5b6105ad856104a2565b93506105bb602086016104a2565b925060408501359150606085013567ffffffffffffffff8111156105de57600080fd5b6105ea8782880161051e565b91505092959194509250565b60008060006060848603121561060b57600080fd5b610614846104a2565b925060208401359150604084013567ffffffffffffffff81111561063757600080fd5b6106438682870161051e565b9150509250925092565b60005b83811015610668578181015183820152602001610650565b50506000910152565b602081526000825180602084015261069081604085016020870161064d565b601f01601f19169190910160400192915050565b600082601f8301126106b557600080fd5b8135602067ffffffffffffffff8211156106d1576106d16104be565b8160051b6106e08282016104ed565b92835284810182019282810190878511156106fa57600080fd5b83870192505b8483101561071957823582529183019190830190610700565b979650505050505050565b600080600080600060a0868803121561073c57600080fd5b610745866104a2565b9450610753602087016104a2565b9350604086013567ffffffffffffffff8082111561077057600080fd5b61077c89838a016106a4565b9450606088013591508082111561079257600080fd5b61079e89838a016106a4565b935060808801359150808211156107b457600080fd5b506107c18882890161051e565b9150509295509295909350565b600080600080600060a086880312156107e657600080fd5b6107ef866104a2565b94506107fd602087016104a2565b93506040860135925060608601359150608086013567ffffffffffffffff81111561082757600080fd5b6107c18882890161051e565b60006020828403121561084557600080fd5b8151801515811461049b57600080fd5b6000825161086781846020870161064d565b919091019291505056fea264697066735822122061dcf639e93e0be87945d7a3c6df829e8b3ca3be42e6772aca52a9056e71bb4364736f6c63430008130033a2646970667358221220590b0b235aedf3a973a94f17655cc66b999e52fea170a78dee65da4ad7d2833364736f6c63430008130033","sourceMap":"5237:15930:2:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7472:131;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3050:213:44;;;;;;:::i;:::-;;:::i;:::-;;;2428:14:151;;2421:22;2403:41;;2391:2;2376:18;3050:213:44;2263:187:151;13857:156:2;;;;;;:::i;:::-;;:::i;4855:129:44:-;;;;;;:::i;:::-;4929:7;4955:12;;;:6;:12;;;;;:22;;;;4855:129;;;;3061:25:151;;;3049:2;3034:18;4855:129:44;2915:177:151;15016:745:2;;;;;;:::i;:::-;;:::i;:::-;;20847:318;;;;;;:::i;:::-;;:::i;5280:145:44:-;;;;;;:::i;:::-;;:::i;6389:214::-;;;;;;:::i;:::-;;:::i;13452:152:2:-;;;;;;:::i;:::-;;:::i;8781:1901::-;;;;;;:::i;:::-;;:::i;14336:382::-;;;;;;:::i;:::-;;:::i;5544:52::-;;;;;;:::i;:::-;;;;;;;;;;;;;;15962:658;;;;;;:::i;:::-;;:::i;5859:58::-;;;;;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;;;;;5859:58:2;;;;;;-1:-1:-1;;;;;7424:55:151;;;7406:74;;7394:2;7379:18;5859:58:2;7260:226:151;12992:208:2;;;;;;:::i;:::-;;:::i;3350:145:44:-;;;;;;:::i;:::-;3436:4;3459:12;;;:6;:12;;;;;;;;-1:-1:-1;;;;;3459:29:44;;;;;;;;;;;;;;;3350:145;4412:75:9;;4445:42;4412:75;;2320:49:44;;2365:4;2320:49;;12309:415:2;;;;;;:::i;:::-;;:::i;6841:257::-;;;;;;:::i;:::-;;:::i;11210:830::-;;;;;;:::i;:::-;;:::i;5974:60::-;;6011:23;5974:60;;5705:147:44;;;;;;:::i;:::-;;:::i;7837:187:2:-;;;;;;:::i;:::-;;:::i;16837:500::-;;;;;;:::i;:::-;;:::i;5702:47::-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;:::i;7472:131::-;7539:14;;:::i;:::-;7572:12;:24;7585:10;7572:24;;;;;;;;;;;7565:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;7565:31:2;;;;-1:-1:-1;;;7565:31:2;;;;;;-1:-1:-1;;;;;7565:31:2;;;;;;;;;;;;;;;;;;;;;7472:131;-1:-1:-1;;7472:131:2:o;3050:213:44:-;3135:4;3158:58;;;3173:43;3158:58;;:98;;-1:-1:-1;1204:36:54;1189:51;;;;3220:36:44;3151:105;3050:213;-1:-1:-1;;3050:213:44:o;13857:156:2:-;13944:4;13967:39;13986:10;13998:7;13967:18;:39::i;:::-;13960:46;13857:156;-1:-1:-1;;;13857:156:2:o;15016:745::-;15131:23;15157:24;;;:12;:24;;;;;;;;15301:23;:35;;;;;;;-1:-1:-1;;;;;15301:35:2;15414:10;:22;;15410:54;;15445:19;;;;;;;;;;;;;;15410:54;15550:13;;;:24;;-1:-1:-1;;;;;15550:24:2;;;-1:-1:-1;;15550:24:2;;;;;;-1:-1:-1;15591:35:2;;;:23;:35;;;;;;;;;15584:42;;;;;;;;15740:13;;15708:46;;15740:13;;7406:74:151;;15591:35:2;;15708:46;;7379:18:151;15708:46:2;;;;;;;;15077:684;;15016:745;:::o;20847:318::-;6011:23;2798:16:44;2809:4;2798:10;:16::i;:::-;-1:-1:-1;;;;;20949:24:2;::::1;20945:51;;20982:14;;-1:-1:-1::0;;;20982:14:2::1;;;;;;;;;;;20945:51;21007:14;-1:-1:-1::0;;;;;21024:16:2;::::1;4445:42:9;21024:16:2;:81;;21067:38;::::0;;;;21099:4:::1;21067:38;::::0;::::1;7406:74:151::0;-1:-1:-1;;;;;21067:23:2;::::1;::::0;::::1;::::0;7379:18:151;;21067:38:2::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;21024:81;;;21043:21;21024:81;21007:98;;21115:43;21131:6;21139:10;21151:6;21115:15;:43::i;:::-;20935:230;20847:318:::0;;;:::o;5280:145:44:-;4929:7;4955:12;;;:6;:12;;;;;:22;;;2798:16;2809:4;2798:10;:16::i;:::-;5393:25:::1;5404:4;5410:7;5393:10;:25::i;:::-;5280:145:::0;;;:::o;6389:214::-;-1:-1:-1;;;;;6484:23:44;;965:10:52;6484:23:44;6476:83;;;;-1:-1:-1;;;6476:83:44;;9935:2:151;6476:83:44;;;9917:21:151;9974:2;9954:18;;;9947:30;10013:34;9993:18;;;9986:62;10084:17;10064:18;;;10057:45;10119:19;;6476:83:44;;;;;;;;;6570:26;6582:4;6588:7;6570:11;:26::i;:::-;6389:214;;:::o;13452:152:2:-;13537:4;20072:24;;;:12;:24;;;;;:30;;;-1:-1:-1;;;;;20072:40:2;;;:30;;:40;13560:37;19963:156;8781:1901;8975:7;9060:17;9080:34;9099:6;9107;9080:18;:34::i;:::-;9215:1;9173:23;;;:12;:23;;;;;:30;;;9060:54;;-1:-1:-1;;;;;;9173:30:2;:44;9169:78;;9226:21;;;;;;;;;;;;;;9169:78;-1:-1:-1;;;;;9317:20:2;;9313:47;;9346:14;;-1:-1:-1;;;9346:14:2;;;;;;;;;;;9313:47;9447:22;9472:213;;;;;;;;9498:9;9472:213;;;;9528:6;9472:213;;;;9554:5;9472:213;;;;9583:9;9472:213;;;;9613:6;-1:-1:-1;;;;;9472:213:2;;;;;9641:33;9657:9;9668:5;9641:15;:33::i;:::-;-1:-1:-1;;;;;9472:213:2;;;9696:23;;;;:12;:23;;;;;;;;;:33;;;;;;;;;;;;;;;;9447:238;;-1:-1:-1;9447:238:2;;9696:33;;;;;;;;:::i;:::-;-1:-1:-1;9696:33:2;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;9696:33:2;;;;;;;;;-1:-1:-1;;9696:33:2;;;-1:-1:-1;;;;;9696:33:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9757:14;;;;9739:33;-1:-1:-1;9739:33:2;;;:17;:33;;;;;:45;;;9866:15;;9942:16;;;;;:40;;-1:-1:-1;;;;;;9962:20:2;;9972:10;9962:20;;9942:40;9938:92;;;10005:14;;-1:-1:-1;;;10005:14:2;;;;;;;;;;;9938:92;10045:9;10040:402;10060:12;10056:1;:16;10040:402;;;10089:14;10106:8;10115:1;10106:11;;;;;;;;:::i;:::-;;;;;;;10089:28;;10224:1;-1:-1:-1;;;;;10206:20:2;:6;-1:-1:-1;;;;;10206:20:2;;10202:47;;10235:14;;-1:-1:-1;;;10235:14:2;;;;;;;;;;;10202:47;10343:29;10354:9;10365:6;10343:10;:29::i;:::-;-1:-1:-1;10414:3:2;;10040:402;;;;10527:9;10512:103;10538:7;:13;;;10553:7;:12;;;10567:7;:16;;;10585:7;:13;;;10600:7;:14;;;10512:103;;;;;;;;;;:::i;:::-;;;;;;;;-1:-1:-1;10666:9:2;;8781:1901;-1:-1:-1;;;;;;;8781:1901:2:o;14336:382::-;14456:10;6416:34;6439:10;6416:22;:34::i;:::-;14530:35:::1;::::0;;;:23:::1;:35;::::0;;;;;;;;:51;;-1:-1:-1;;14530:51:2::1;-1:-1:-1::0;;;;;14530:51:2;::::1;::::0;;::::1;::::0;;;14658:53;;7406:74:151;;;14530:35:2;;14658:53:::1;::::0;7379:18:151;14658:53:2::1;7260:226:151::0;15962:658:2;16055:10;6416:34;6439:10;6416:22;:34::i;:::-;16100:15;;16077:20:::1;16211:403;16231:12;16227:1;:16;16211:403;;;16260:14;16277:8;16286:1;16277:11;;;;;;;;:::i;:::-;;;;;;;16260:28;;16395:1;-1:-1:-1::0;;;;;16377:20:2::1;:6;-1:-1:-1::0;;;;;16377:20:2::1;::::0;16373:47:::1;;16406:14;;-1:-1:-1::0;;;16406:14:2::1;;;;;;;;;;;16373:47;16514:30;16525:10;16537:6;16514:10;:30::i;:::-;-1:-1:-1::0;16586:3:2::1;;16211:403;;;;16067:553;15962:658:::0;;;:::o;12992:208::-;13087:4;20072:24;;;:12;:24;;;;;:30;;;-1:-1:-1;;;;;20072:40:2;;;:30;;:40;13110:83;;;;13153:40;13172:10;13184:8;13153:18;:40::i;12309:415::-;12429:10;6416:34;6439:10;6416:22;:34::i;:::-;12553:24:::1;::::0;;;:12:::1;:24;::::0;;;;;;;:45;;:33:::1;::::0;::::1;:45:::0;;;;;::::1;::::0;12589:9;;12553:33;:45;;;::::1;::::0;;::::1;:::i;:::-;;;;;12695:10;12672:45;12707:9;12672:45;;;;;;:::i;6841:257::-:0;4882:13:48;;6900:1:2;;4882:13:48;;;;;4881:14;:40;;;;-1:-1:-1;4899:12:48;;:22;;;;:12;;:22;4881:40;4873:99;;;;-1:-1:-1;;;4873:99:48;;13734:2:151;4873:99:48;;;13716:21:151;13773:2;13753:18;;;13746:30;13812:34;13792:18;;;13785:62;13883:16;13863:18;;;13856:44;13917:19;;4873:99:48;13532:410:151;4873:99:48;4982:12;:22;;-1:-1:-1;;5014:20:48;4982:22;;;5014:20;4982:22;5014:20;;;-1:-1:-1;;;;;6968:20:2;::::1;6964:47;;6997:14;;-1:-1:-1::0;;;6997:14:2::1;;;;;;;;;;;6964:47;7061:30;6011:23;7084:6;7061:10;:30::i;:::-;5071:5:48::0;5055:21;;-1:-1:-1;;5055:21:48;;;5091:20;;14119:4:151;14107:17;;14089:36;;5091:20:48;;14077:2:151;14062:18;5091:20:48;;;;;;;6841:257:2;;:::o;11210:830::-;11349:14;11320:10;6416:34;6439:10;6416:22;:34::i;:::-;11429::::1;11445:10;11457:5;11429:15;:34::i;:::-;11538:23;11564:24:::0;;;:12:::1;:24;::::0;;;;11420:43;;-1:-1:-1;11627:12:2::1;::::0;::::1;:20;11642:5:::0;11627:12;:20:::1;:::i;:::-;-1:-1:-1::0;11705:14:2::1;::::0;::::1;::::0;;-1:-1:-1;;;;;11705:14:2;;::::1;11731:1;11687:33:::0;;;:17:::1;:33;::::0;;;;;:46;;;11774:23;;-1:-1:-1;;11774:23:2::1;::::0;;::::1;::::0;;::::1;::::0;;;11807:25;;;;;;:38;;;11931:45;11807:38;;11931:45:::1;::::0;::::1;::::0;11962:5;;11774:23;;11931:45:::1;:::i;:::-;;;;;;;;12020:13;11210:830:::0;;;;;:::o;5705:147:44:-;4929:7;4955:12;;;:6;:12;;;;;:22;;;2798:16;2809:4;2798:10;:16::i;:::-;5819:26:::1;5831:4;5837:7;5819:11;:26::i;7837:187:2:-:0;7905:14;;:::i;:::-;-1:-1:-1;;;;;7951:26:2;;7931:17;7951:26;;;:17;:26;;;;;;;;;7994:23;;;:12;:23;;;;;;7987:30;;;;;;;;;;;;;;;;;;;;;;;;;;;7994:23;;7987:30;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;7987:30:2;;;;-1:-1:-1;;;7987:30:2;;;;;;-1:-1:-1;;;;;7987:30:2;;;;;;;;;;;;;;;;;;;;;7837:187;-1:-1:-1;;;7837:187:2:o;16837:500::-;16933:10;6416:34;6439:10;6416:22;:34::i;:::-;16978:15;;16955:20:::1;17094:237;17114:12;17110:1;:16;17094:237;;;17225:36;17237:10;17249:8;17258:1;17249:11;;;;;;;;:::i;:::-;;;;;;;17225;:36::i;:::-;17303:3;;17094:237;;5702:47:::0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;5702:47:2;;;;-1:-1:-1;;;5702:47:2;;;;;;;;;;;-1:-1:-1;;;;;5702:47:2;;;;;;:::o;20464:146::-;20552:4;3459:12:44;;;:6;:12;;;;;;;;-1:-1:-1;;;;;3459:29:44;;;;;;;;;;;;20575:28:2;3350:145:44;3789:103;3855:30;3866:4;965:10:52;3855::44;:30::i;:::-;3789:103;:::o;6721:269:10:-;6815:16;-1:-1:-1;;;;;6815:16:10;;;6811:173;;6847:45;6879:3;6884:7;6847:31;:45::i;6811:173::-;6923:50;6952:6;6960:3;6965:7;6923:28;:50::i;7938:233:44:-;3436:4;3459:12;;;:6;:12;;;;;;;;-1:-1:-1;;;;;3459:29:44;;;;;;;;;;;;8016:149;;8059:12;;;;:6;:12;;;;;;;;-1:-1:-1;;;;;8059:29:44;;;;;;;;;:36;;-1:-1:-1;;8059:36:44;8091:4;8059:36;;;8141:12;965:10:52;;886:96;8141:12:44;-1:-1:-1;;;;;8114:40:44;8132:7;-1:-1:-1;;;;;8114:40:44;8126:4;8114:40;;;;;;;;;;7938:233;;:::o;8342:234::-;3436:4;3459:12;;;:6;:12;;;;;;;;-1:-1:-1;;;;;3459:29:44;;;;;;;;;;;;8421:149;;;8495:5;8463:12;;;:6;:12;;;;;;;;-1:-1:-1;;;;;8463:29:44;;;;;;;;;;:37;;-1:-1:-1;;8463:37:44;;;8519:40;965:10:52;;8463:12:44;;8519:40;;8495:5;8519:40;8342:234;;:::o;19465:159:2:-;19548:7;19601:6;19609;19584:32;;;;;;;;14638:19:151;;;14695:2;14691:15;-1:-1:-1;;14687:53:151;14682:2;14673:12;;14666:75;14766:2;14757:12;;14481:294;19584:32:2;;;;;;;;;;;;;19574:43;;;;;;19567:50;;19465:159;;;;:::o;18166:969::-;18250:14;18276:24;18314:10;18326:5;18303:29;;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;18303:29:2;;;;;;;18380:37;;15250:25:151;;;18411:4:2;15291:18:151;;;15284:83;18380:37:2;;;;;;;;;15223:18:151;;;18380:37:2;;;;18303:29;;-1:-1:-1;18380:37:2;-1:-1:-1;;15223:18:151;18469:25:2;;;;;:::i;:::-;-1:-1:-1;;18469:25:2;;;;;;;;;;;;;;;;18452:67;;18469:25;18496:22;;18469:25;18452:67;;:::i;:::-;;;;-1:-1:-1;;18452:67:2;;;;;;;;;;18545:22;;18452:67;18545:22;;;;;;;18706:19;;;;;;18671:12;18654:72;;;16086:92:151;;;;-1:-1:-1;;18693:4:2;16215:2:151;16211:15;16207:53;16194:11;;;16187:74;16277:12;;;16270:28;;;16314:12;;;16307:28;;;;18452:67:2;;-1:-1:-1;18545:22:2;18530:12;;16351::151;;18654:72:2;;;;;;;;;;;;18644:83;;;;;;18636:92;;18578:161;;18860:4;18866:10;18886:4;18843:49;;;;;:::i;:::-;15250:25:151;;;-1:-1:-1;;;;;15311:55:151;15306:2;15291:18;;15284:83;15238:2;15223:18;18843:49:2;;;;;;;;;;;;;;;;;;18839:290;;19044:10;19008:18;-1:-1:-1;;;;;18993:45:2;;:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:61;18989:88;;19063:14;;;;;;;;;;;;;;18989:88;19100:18;19091:27;;18839:290;;;18949:7;-1:-1:-1;18839:290:2;18266:869;;;;;18166:969;;;;:::o;17659:152::-;20049:4;20072:24;;;:12;:24;;;;;:30;;;-1:-1:-1;;;;;20072:30:2;17770:10;20072:40;17735:69;;17790:14;;-1:-1:-1;;;17790:14:2;;;;;;;;;;;4173:501:44;3436:4;3459:12;;;:6;:12;;;;;;;;-1:-1:-1;;;;;3459:29:44;;;;;;;;;;;;4256:412;;4444:39;4475:7;4444:30;:39::i;:::-;4554:49;4593:4;4600:2;4554:30;:49::i;:::-;4351:274;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;4351:274:44;;;;;;;;;;-1:-1:-1;;;4299:358:44;;;;;;;:::i;2455:490:14:-;2711:4;2705;2699;2693;2685:6;2681:2;2674:5;2669:47;2659:270;;2822:10;2816:4;2809:24;2910:4;2904;2897:18;11454:1189;11617:2;11611:4;11604:16;11674:6;11668:4;11661:20;11814:34;11808:4;11801:48;12272:4;12266;12260;12254;12251:1;12244:5;12237;12232:45;12192:16;12185:24;12181:1;12174:4;12168:11;12165:18;12162:48;11890:405;11863:655;;12411:10;12405:4;12398:24;12499:4;12493;12486:18;11863:655;12625:1;12619:4;12612:15;11454:1189;;;:::o;2473:149:53:-;2531:13;2563:52;-1:-1:-1;;;;;2575:22:53;;376:2;1884:437;1959:13;1984:19;2016:10;2020:6;2016:1;:10;:::i;:::-;:14;;2029:1;2016:14;:::i;:::-;2006:25;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2006:25:53;;1984:47;;2041:15;:6;2048:1;2041:9;;;;;;;;:::i;:::-;;;;:15;-1:-1:-1;;;;;2041:15:53;;;;;;;;;2066;:6;2073:1;2066:9;;;;;;;;:::i;:::-;;;;:15;-1:-1:-1;;;;;2066:15:53;;;;;;;;-1:-1:-1;2096:9:53;2108:10;2112:6;2108:1;:10;:::i;:::-;:14;;2121:1;2108:14;:::i;:::-;2096:26;;2091:128;2128:1;2124;:5;2091:128;;;2162:8;2171:5;2179:3;2171:11;2162:21;;;;;;;:::i;:::-;;;;2150:6;2157:1;2150:9;;;;;;;;:::i;:::-;;;;:33;-1:-1:-1;;;;;2150:33:53;;;;;;;;-1:-1:-1;2207:1:53;2197:11;;;;;2131:3;;;:::i;:::-;;;2091:128;;;-1:-1:-1;2236:10:53;;2228:55;;;;-1:-1:-1;;;2228:55:53;;18440:2:151;2228:55:53;;;18422:21:151;;;18459:18;;;18452:30;18518:34;18498:18;;;18491:62;18570:18;;2228:55:53;18238:356:151;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;:::o;14:180:151:-;73:6;126:2;114:9;105:7;101:23;97:32;94:52;;;142:1;139;132:12;94:52;-1:-1:-1;165:23:151;;14:180;-1:-1:-1;14:180:151:o;199:250::-;284:1;294:113;308:6;305:1;302:13;294:113;;;384:11;;;378:18;365:11;;;358:39;330:2;323:10;294:113;;;-1:-1:-1;;441:1:151;423:16;;416:27;199:250::o;454:271::-;496:3;534:5;528:12;561:6;556:3;549:19;577:76;646:6;639:4;634:3;630:14;623:4;616:5;612:16;577:76;:::i;:::-;707:2;686:15;-1:-1:-1;;682:29:151;673:39;;;;714:4;669:50;;454:271;-1:-1:-1;;454:271:151:o;730:252::-;817:5;811:12;806:3;799:25;781:3;870:4;863:5;859:16;853:23;908:4;901;896:3;892:14;885:28;929:47;970:4;965:3;961:14;947:12;929:47;:::i;:::-;922:54;730:252;-1:-1:-1;;;;730:252:151:o;987:934::-;1166:2;1155:9;1148:21;1211:6;1205:13;1200:2;1189:9;1185:18;1178:41;1273:2;1265:6;1261:15;1255:22;1250:2;1239:9;1235:18;1228:50;1129:4;1325:2;1317:6;1313:15;1307:22;1365:4;1360:2;1349:9;1345:18;1338:32;1393:52;1440:3;1429:9;1425:19;1411:12;1393:52;:::i;:::-;1379:66;;1494:2;1486:6;1482:15;1476:22;1567:2;1563:7;1551:9;1543:6;1539:22;1535:36;1529:3;1518:9;1514:19;1507:65;1595:50;1638:6;1622:14;1595:50;:::i;:::-;1581:64;;;1694:3;1686:6;1682:16;1676:23;-1:-1:-1;;;;;1817:2:151;1801:14;1797:23;1791:3;1780:9;1776:19;1769:52;1888:2;1881:3;1873:6;1869:16;1863:23;1859:32;1852:4;1841:9;1837:20;1830:62;;;1909:6;1901:14;;;987:934;;;;:::o;1926:332::-;1984:6;2037:2;2025:9;2016:7;2012:23;2008:32;2005:52;;;2053:1;2050;2043:12;2005:52;2092:9;2079:23;2142:66;2135:5;2131:78;2124:5;2121:89;2111:117;;2224:1;2221;2214:12;2455:196;2523:20;;-1:-1:-1;;;;;2572:54:151;;2562:65;;2552:93;;2641:1;2638;2631:12;2552:93;2455:196;;;:::o;2656:254::-;2724:6;2732;2785:2;2773:9;2764:7;2760:23;2756:32;2753:52;;;2801:1;2798;2791:12;2753:52;2837:9;2824:23;2814:33;;2866:38;2900:2;2889:9;2885:18;2866:38;:::i;:::-;2856:48;;2656:254;;;;;:::o;3097:260::-;3165:6;3173;3226:2;3214:9;3205:7;3201:23;3197:32;3194:52;;;3242:1;3239;3232:12;3194:52;3265:29;3284:9;3265:29;:::i;:::-;3255:39;;3313:38;3347:2;3336:9;3332:18;3313:38;:::i;3362:184::-;-1:-1:-1;;;3411:1:151;3404:88;3511:4;3508:1;3501:15;3535:4;3532:1;3525:15;3551:275;3622:2;3616:9;3687:2;3668:13;;-1:-1:-1;;3664:27:151;3652:40;;3722:18;3707:34;;3743:22;;;3704:62;3701:88;;;3769:18;;:::i;:::-;3805:2;3798:22;3551:275;;-1:-1:-1;3551:275:151:o;3831:531::-;3874:5;3927:3;3920:4;3912:6;3908:17;3904:27;3894:55;;3945:1;3942;3935:12;3894:55;3981:6;3968:20;4007:18;4003:2;4000:26;3997:52;;;4029:18;;:::i;:::-;4073:55;4116:2;4097:13;;-1:-1:-1;;4093:27:151;4122:4;4089:38;4073:55;:::i;:::-;4153:2;4144:7;4137:19;4199:3;4192:4;4187:2;4179:6;4175:15;4171:26;4168:35;4165:55;;;4216:1;4213;4206:12;4165:55;4281:2;4274:4;4266:6;4262:17;4255:4;4246:7;4242:18;4229:55;4329:1;4304:16;;;4322:4;4300:27;4293:38;;;;4308:7;3831:531;-1:-1:-1;;;3831:531:151:o;4367:610::-;4422:5;4470:4;4458:9;4453:3;4449:19;4445:30;4442:50;;;4488:1;4485;4478:12;4442:50;4521:4;4515:11;4565:4;4557:6;4553:17;4589:18;4657:6;4645:10;4642:22;4637:2;4625:10;4622:18;4619:46;4616:72;;;4668:18;;:::i;:::-;4710:10;4704:4;4697:24;4739:6;4730:15;;4782:9;4769:23;4761:6;4754:39;4844:2;4833:9;4829:18;4816:32;4802:46;;4871:2;4863:6;4860:14;4857:34;;;4887:1;4884;4877:12;4857:34;;4924:46;4966:3;4957:6;4946:9;4942:22;4924:46;:::i;:::-;4919:2;4911:6;4907:15;4900:71;;;4367:610;;;;:::o;4982:718::-;5036:5;5089:3;5082:4;5074:6;5070:17;5066:27;5056:55;;5107:1;5104;5097:12;5056:55;5143:6;5130:20;5169:4;5192:18;5188:2;5185:26;5182:52;;;5214:18;;:::i;:::-;5260:2;5257:1;5253:10;5283:28;5307:2;5303;5299:11;5283:28;:::i;:::-;5345:15;;;5415;;;5411:24;;;5376:12;;;;5447:15;;;5444:35;;;5475:1;5472;5465:12;5444:35;5511:2;5503:6;5499:15;5488:26;;5523:148;5539:6;5534:3;5531:15;5523:148;;;5605:23;5624:3;5605:23;:::i;:::-;5593:36;;5556:12;;;;5649;;;;5523:148;;;5689:5;4982:718;-1:-1:-1;;;;;;;4982:718:151:o;5705:938::-;5861:6;5869;5877;5885;5893;5946:3;5934:9;5925:7;5921:23;5917:33;5914:53;;;5963:1;5960;5953:12;5914:53;5999:9;5986:23;5976:33;;6060:2;6049:9;6045:18;6032:32;6083:18;6124:2;6116:6;6113:14;6110:34;;;6140:1;6137;6130:12;6110:34;6163:50;6205:7;6196:6;6185:9;6181:22;6163:50;:::i;:::-;6153:60;;6266:2;6255:9;6251:18;6238:32;6222:48;;6295:2;6285:8;6282:16;6279:36;;;6311:1;6308;6301:12;6279:36;6334:61;6387:7;6376:8;6365:9;6361:24;6334:61;:::i;:::-;6324:71;;6414:38;6448:2;6437:9;6433:18;6414:38;:::i;:::-;6404:48;;6505:3;6494:9;6490:19;6477:33;6461:49;;6535:2;6525:8;6522:16;6519:36;;;6551:1;6548;6541:12;6519:36;;6574:63;6629:7;6618:8;6607:9;6603:24;6574:63;:::i;:::-;6564:73;;;5705:938;;;;;;;;:::o;6648:186::-;6707:6;6760:2;6748:9;6739:7;6735:23;6731:32;6728:52;;;6776:1;6773;6766:12;6728:52;6799:29;6818:9;6799:29;:::i;6839:416::-;6932:6;6940;6993:2;6981:9;6972:7;6968:23;6964:32;6961:52;;;7009:1;7006;6999:12;6961:52;7045:9;7032:23;7022:33;;7106:2;7095:9;7091:18;7078:32;7133:18;7125:6;7122:30;7119:50;;;7165:1;7162;7155:12;7119:50;7188:61;7241:7;7232:6;7221:9;7217:22;7188:61;:::i;:::-;7178:71;;;6839:416;;;;;:::o;7491:415::-;7585:6;7593;7646:2;7634:9;7625:7;7621:23;7617:32;7614:52;;;7662:1;7659;7652:12;7614:52;7698:9;7685:23;7675:33;;7759:2;7748:9;7744:18;7731:32;7786:18;7778:6;7775:30;7772:50;;;7818:1;7815;7808:12;7772:50;7841:59;7892:7;7883:6;7872:9;7868:22;7841:59;:::i;7911:390::-;7989:6;7997;8050:2;8038:9;8029:7;8025:23;8021:32;8018:52;;;8066:1;8063;8056:12;8018:52;8102:9;8089:23;8079:33;;8163:2;8152:9;8148:18;8135:32;8190:18;8182:6;8179:30;8176:50;;;8222:1;8219;8212:12;8176:50;8245;8287:7;8278:6;8267:9;8263:22;8245:50;:::i;8306:791::-;8647:6;8636:9;8629:25;8690:6;8685:2;8674:9;8670:18;8663:34;8733:3;8728:2;8717:9;8713:18;8706:31;8610:4;8760:46;8801:3;8790:9;8786:19;8778:6;8760:46;:::i;:::-;8854:9;8846:6;8842:22;8837:2;8826:9;8822:18;8815:50;8882:42;8917:6;8909;8882:42;:::i;:::-;8874:50;;;-1:-1:-1;;;;;9034:2:151;9026:6;9022:15;9016:3;9005:9;9001:19;8994:44;9087:2;9079:6;9075:15;9069:3;9058:9;9054:19;9047:44;;8306:791;;;;;;;;;:::o;9102:437::-;9181:1;9177:12;;;;9224;;;9245:61;;9299:4;9291:6;9287:17;9277:27;;9245:61;9352:2;9344:6;9341:14;9321:18;9318:38;9315:218;;-1:-1:-1;;;9386:1:151;9379:88;9490:4;9487:1;9480:15;9518:4;9515:1;9508:15;9315:218;;9102:437;;;:::o;9544:184::-;9614:6;9667:2;9655:9;9646:7;9642:23;9638:32;9635:52;;;9683:1;9680;9673:12;9635:52;-1:-1:-1;9706:16:151;;9544:184;-1:-1:-1;9544:184:151:o;10275:545::-;10377:2;10372:3;10369:11;10366:448;;;10413:1;10438:5;10434:2;10427:17;10483:4;10479:2;10469:19;10553:2;10541:10;10537:19;10534:1;10530:27;10524:4;10520:38;10589:4;10577:10;10574:20;10571:47;;;-1:-1:-1;10612:4:151;10571:47;10667:2;10662:3;10658:12;10655:1;10651:20;10645:4;10641:31;10631:41;;10722:82;10740:2;10733:5;10730:13;10722:82;;;10785:17;;;10766:1;10755:13;10722:82;;;10726:3;;;10275:545;;;:::o;10996:1352::-;11122:3;11116:10;11149:18;11141:6;11138:30;11135:56;;;11171:18;;:::i;:::-;11200:97;11290:6;11250:38;11282:4;11276:11;11250:38;:::i;:::-;11244:4;11200:97;:::i;:::-;11352:4;;11416:2;11405:14;;11433:1;11428:663;;;;12135:1;12152:6;12149:89;;;-1:-1:-1;12204:19:151;;;12198:26;12149:89;-1:-1:-1;;10953:1:151;10949:11;;;10945:24;10941:29;10931:40;10977:1;10973:11;;;10928:57;12251:81;;11398:944;;11428:663;10222:1;10215:14;;;10259:4;10246:18;;-1:-1:-1;;11464:20:151;;;11582:236;11596:7;11593:1;11590:14;11582:236;;;11685:19;;;11679:26;11664:42;;11777:27;;;;11745:1;11733:14;;;;11612:19;;11582:236;;;11586:3;11846:6;11837:7;11834:19;11831:201;;;11907:19;;;11901:26;-1:-1:-1;;11990:1:151;11986:14;;;12002:3;11982:24;11978:37;11974:42;11959:58;11944:74;;11831:201;-1:-1:-1;;;;;12078:1:151;12062:14;;;12058:22;12045:36;;-1:-1:-1;10996:1352:151:o;12353:184::-;-1:-1:-1;;;12402:1:151;12395:88;12502:4;12499:1;12492:15;12526:4;12523:1;12516:15;12542:719;12855:6;12844:9;12837:25;12898:3;12893:2;12882:9;12878:18;12871:31;12818:4;12925:46;12966:3;12955:9;12951:19;12943:6;12925:46;:::i;:::-;13019:9;13011:6;13007:22;13002:2;12991:9;12987:18;12980:50;13047:42;13082:6;13074;13047:42;:::i;:::-;13039:50;;;-1:-1:-1;;;;;13198:2:151;13190:6;13186:15;13181:2;13170:9;13166:18;13159:43;13251:2;13243:6;13239:15;13233:3;13222:9;13218:19;13211:44;;12542:719;;;;;;;;:::o;13266:261::-;13447:2;13436:9;13429:21;13410:4;13467:54;13517:2;13506:9;13502:18;13494:6;13467:54;:::i;14136:340::-;14313:2;14302:9;14295:21;14276:4;14333:45;14374:2;14363:9;14359:18;14351:6;14333:45;:::i;:::-;14325:53;;-1:-1:-1;;;;;14418:6:151;14414:55;14409:2;14398:9;14394:18;14387:83;14136:340;;;;;:::o;14780:291::-;14957:6;14946:9;14939:25;15000:2;14995;14984:9;14980:18;14973:30;14920:4;15020:45;15061:2;15050:9;15046:18;15038:6;15020:45;:::i;15378:492::-;15553:3;15591:6;15585:13;15607:66;15666:6;15661:3;15654:4;15646:6;15642:17;15607:66;:::i;:::-;15736:13;;15695:16;;;;15758:70;15736:13;15695:16;15805:4;15793:17;;15758:70;:::i;:::-;15844:20;;15378:492;-1:-1:-1;;;;15378:492:151:o;16563:812::-;16974:25;16969:3;16962:38;16944:3;17029:6;17023:13;17045:75;17113:6;17108:2;17103:3;17099:12;17092:4;17084:6;17080:17;17045:75;:::i;:::-;17184:19;17179:2;17139:16;;;17171:11;;;17164:40;17229:13;;17251:76;17229:13;17313:2;17305:11;;17298:4;17286:17;;17251:76;:::i;:::-;17347:17;17366:2;17343:26;;16563:812;-1:-1:-1;;;;16563:812:151:o;17380:220::-;17529:2;17518:9;17511:21;17492:4;17549:45;17590:2;17579:9;17575:18;17567:6;17549:45;:::i;17605:184::-;-1:-1:-1;;;17654:1:151;17647:88;17754:4;17751:1;17744:15;17778:4;17775:1;17768:15;17794:168;17867:9;;;17898;;17915:15;;;17909:22;;17895:37;17885:71;;17936:18;;:::i;17967:125::-;18032:9;;;18053:10;;;18050:36;;;18066:18;;:::i;18097:136::-;18136:3;18164:5;18154:39;;18173:18;;:::i;:::-;-1:-1:-1;;;18209:18:151;;18097:136::o","linkReferences":{}},"methodIdentifiers":{"ALLO_OWNER()":"cfda7e0a","DEFAULT_ADMIN_ROLE()":"a217fddf","NATIVE()":"a0cf0aea","acceptProfileOwnership(bytes32)":"2497f3c6","addMembers(bytes32,address[])":"5063f361","anchorToProfileId(address)":"4756487f","createProfile(uint256,string,(uint256,string),address,address[])":"3a92f65f","getProfileByAnchor(address)":"dd93da43","getProfileById(bytes32)":"0114cf0a","getRoleAdmin(bytes32)":"248a9ca3","grantRole(bytes32,address)":"2f2ff15d","hasRole(bytes32,address)":"91d14854","initialize(address)":"c4d66de8","isMemberOfProfile(bytes32,address)":"0ec1fbac","isOwnerOfProfile(bytes32,address)":"39b86b8c","isOwnerOrMemberOfProfile(bytes32,address)":"5e8a7915","profileIdToPendingOwner(bytes32)":"50d005e0","profilesById(bytes32)":"ee888196","recoverFunds(address,address)":"24ae6a27","removeMembers(bytes32,address[])":"e0cf1e4c","renounceRole(bytes32,address)":"36568abe","revokeRole(bytes32,address)":"d547741f","supportsInterface(bytes4)":"01ffc9a7","updateProfileMetadata(bytes32,(uint256,string))":"ac402839","updateProfileName(bytes32,string)":"cf189ff2","updateProfilePendingOwner(bytes32,address)":"3b66dacd"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"ALLOCATION_ACTIVE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ALLOCATION_NOT_ACTIVE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ALLOCATION_NOT_ENDED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ALREADY_INITIALIZED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"AMOUNT_MISMATCH\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ANCHOR_ERROR\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ARRAY_MISMATCH\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID_ADDRESS\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID_FEE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID_METADATA\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID_REGISTRATION\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"IS_APPROVED_STRATEGY\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"MISMATCH\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NONCE_NOT_AVAILABLE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NOT_APPROVED_STRATEGY\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NOT_ENOUGH_FUNDS\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NOT_IMPLEMENTED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NOT_INITIALIZED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NOT_PENDING_OWNER\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"POOL_ACTIVE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"POOL_INACTIVE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"RECIPIENT_ALREADY_ACCEPTED\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"recipientId\",\"type\":\"address\"}],\"name\":\"RECIPIENT_ERROR\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"RECIPIENT_NOT_ACCEPTED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"REGISTRATION_NOT_ACTIVE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UNAUTHORIZED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ZERO_ADDRESS\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"version\",\"type\":\"uint8\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"profileId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"indexed\":false,\"internalType\":\"struct Metadata\",\"name\":\"metadata\",\"type\":\"tuple\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"anchor\",\"type\":\"address\"}],\"name\":\"ProfileCreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"profileId\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"indexed\":false,\"internalType\":\"struct Metadata\",\"name\":\"metadata\",\"type\":\"tuple\"}],\"name\":\"ProfileMetadataUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"profileId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"anchor\",\"type\":\"address\"}],\"name\":\"ProfileNameUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"profileId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"ProfileOwnerUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"profileId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"pendingOwner\",\"type\":\"address\"}],\"name\":\"ProfilePendingOwnerUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"previousAdminRole\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"newAdminRole\",\"type\":\"bytes32\"}],\"name\":\"RoleAdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleGranted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleRevoked\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"ALLO_OWNER\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"DEFAULT_ADMIN_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"NATIVE\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_profileId\",\"type\":\"bytes32\"}],\"name\":\"acceptProfileOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_profileId\",\"type\":\"bytes32\"},{\"internalType\":\"address[]\",\"name\":\"_members\",\"type\":\"address[]\"}],\"name\":\"addMembers\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"anchorToProfileId\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_nonce\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"_name\",\"type\":\"string\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"_metadata\",\"type\":\"tuple\"},{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"},{\"internalType\":\"address[]\",\"name\":\"_members\",\"type\":\"address[]\"}],\"name\":\"createProfile\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_anchor\",\"type\":\"address\"}],\"name\":\"getProfileByAnchor\",\"outputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"id\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"metadata\",\"type\":\"tuple\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"anchor\",\"type\":\"address\"}],\"internalType\":\"struct IRegistry.Profile\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_profileId\",\"type\":\"bytes32\"}],\"name\":\"getProfileById\",\"outputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"id\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"metadata\",\"type\":\"tuple\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"anchor\",\"type\":\"address\"}],\"internalType\":\"struct IRegistry.Profile\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"}],\"name\":\"getRoleAdmin\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"grantRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"hasRole\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_profileId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"}],\"name\":\"isMemberOfProfile\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_profileId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"}],\"name\":\"isOwnerOfProfile\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_profileId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"_account\",\"type\":\"address\"}],\"name\":\"isOwnerOrMemberOfProfile\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"profileIdToPendingOwner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"profilesById\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"id\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"metadata\",\"type\":\"tuple\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"anchor\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_recipient\",\"type\":\"address\"}],\"name\":\"recoverFunds\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_profileId\",\"type\":\"bytes32\"},{\"internalType\":\"address[]\",\"name\":\"_members\",\"type\":\"address[]\"}],\"name\":\"removeMembers\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"renounceRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"revokeRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_profileId\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"_metadata\",\"type\":\"tuple\"}],\"name\":\"updateProfileMetadata\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_profileId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"_name\",\"type\":\"string\"}],\"name\":\"updateProfileName\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"anchor\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_profileId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"_pendingOwner\",\"type\":\"address\"}],\"name\":\"updateProfilePendingOwner\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"@thelostone-mc , @0xKurt , @codenamejason , @0xZakk , @nfrgosselin \",\"details\":\"This contract is used to create and manage profiles for the Allo protocol It is also used to deploy the anchor contract for each profile which acts as a proxy for the profile and is used to receive funds and execute transactions on behalf of the profile The Registry is also used to add and remove members from a profile and update the profile 'Metadata'\",\"errors\":{\"ANCHOR_ERROR()\":[{\"details\":\"Thrown if the anchor creation fails\"}],\"NONCE_NOT_AVAILABLE()\":[{\"details\":\"Thrown when the nonce passed has been used or not available\"}],\"NOT_PENDING_OWNER()\":[{\"details\":\"Thrown when the 'msg.sender' is not the pending owner on ownership transfer\"}]},\"events\":{\"Initialized(uint8)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"ProfileCreated(bytes32,uint256,string,(uint256,string),address,address)\":{\"details\":\"Emitted when a profile is created. This will return your anchor address.\"},\"ProfileMetadataUpdated(bytes32,(uint256,string))\":{\"details\":\"Emitted when a profile's metadata is updated.\"},\"ProfileNameUpdated(bytes32,string,address)\":{\"details\":\"Emitted when a profile name is updated. This will update the anchor when the name is updated and return it.\"},\"ProfileOwnerUpdated(bytes32,address)\":{\"details\":\"Emitted when a profile owner is updated.\"},\"ProfilePendingOwnerUpdated(bytes32,address)\":{\"details\":\"Emitted when a profile pending owner is updated.\"},\"RoleAdminChanged(bytes32,bytes32,bytes32)\":{\"details\":\"Emitted when `newAdminRole` is set as ``role``'s admin role, replacing `previousAdminRole` `DEFAULT_ADMIN_ROLE` is the starting admin for all roles, despite {RoleAdminChanged} not being emitted signaling this. _Available since v3.1._\"},\"RoleGranted(bytes32,address,address)\":{\"details\":\"Emitted when `account` is granted `role`. `sender` is the account that originated the contract call, an admin role bearer except when using {AccessControl-_setupRole}.\"},\"RoleRevoked(bytes32,address,address)\":{\"details\":\"Emitted when `account` is revoked `role`. `sender` is the account that originated the contract call: - if using `revokeRole`, it is the admin role bearer - if using `renounceRole`, it is the role bearer (i.e. `account`)\"}},\"kind\":\"dev\",\"methods\":{\"acceptProfileOwnership(bytes32)\":{\"details\":\"'msg.sender' must be the pending owner of the profile. [2]*This is step two of two when transferring ownership.\",\"params\":{\"_profileId\":\"The ID of the profile\"}},\"addMembers(bytes32,address[])\":{\"details\":\"'msg.sender' must be the owner of the profile.\",\"params\":{\"_members\":\"The members to add\",\"_profileId\":\"The ID of the profile\"}},\"createProfile(uint256,string,(uint256,string),address,address[])\":{\"details\":\"This will also generate the 'profileId' and 'anchor' address, emits a 'ProfileCreated()' event Note: The 'nonce' is used to generate the 'profileId' and should be unique for each profile Note: The 'name' and 'profileId' are used to generate the 'anchor' address\",\"params\":{\"_members\":\"The members of the profile (can be set only if msg.sender == _owner)\",\"_metadata\":\"The metadata of the profile\",\"_name\":\"The name of the profile\",\"_nonce\":\"Nonce used to generate profileId. Can be any integer, but should be unique for each profile.\",\"_owner\":\"The owner of the profile\"},\"returns\":{\"_0\":\"The ID for the created profile\"}},\"getProfileByAnchor(address)\":{\"details\":\"Used when you have the 'anchor' address and want to retrieve the profile\",\"params\":{\"_anchor\":\"The anchor of the profile\"},\"returns\":{\"_0\":\"Profile details for the `_anchor`\"}},\"getProfileById(bytes32)\":{\"details\":\"Used when you have the 'profileId' and want to retrieve the profile\",\"params\":{\"_profileId\":\"The ID of the profile\"},\"returns\":{\"_0\":\"The Profile details for the `_profileId`\"}},\"getRoleAdmin(bytes32)\":{\"details\":\"Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}.\"},\"grantRole(bytes32,address)\":{\"details\":\"Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleGranted} event.\"},\"hasRole(bytes32,address)\":{\"details\":\"Returns `true` if `account` has been granted `role`.\"},\"initialize(address)\":{\"details\":\"During upgrade -> a higher version should be passed to reinitializer. Reverts if the '_owner' is the 'address(0)'\",\"params\":{\"_owner\":\"The owner of the contract\"}},\"isMemberOfProfile(bytes32,address)\":{\"params\":{\"_member\":\"The address to check\",\"_profileId\":\"The ID of the profile\"},\"returns\":{\"_0\":\"'true' if the address is a member of the profile, otherwise 'false'\"}},\"isOwnerOfProfile(bytes32,address)\":{\"params\":{\"_owner\":\"The address to check\",\"_profileId\":\"The ID of the profile\"},\"returns\":{\"_0\":\"'true' if the address is an owner of the profile, otherwise 'false'\"}},\"isOwnerOrMemberOfProfile(bytes32,address)\":{\"params\":{\"_account\":\"The address to check\",\"_profileId\":\"The ID of the profile\"},\"returns\":{\"_0\":\"'true' if the address is an owner or member of the profile, otherwise 'false'\"}},\"recoverFunds(address,address)\":{\"details\":\"'msg.sender' must be the Allo owner\",\"params\":{\"_recipient\":\"The address of the recipient\",\"_token\":\"The address of the token to transfer\"}},\"removeMembers(bytes32,address[])\":{\"details\":\"'msg.sender' must be the pending owner of the profile.\",\"params\":{\"_members\":\"The members to remove\",\"_profileId\":\"The ID of the profile\"}},\"renounceRole(bytes32,address)\":{\"details\":\"Revokes `role` from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been revoked `role`, emits a {RoleRevoked} event. Requirements: - the caller must be `account`. May emit a {RoleRevoked} event.\"},\"revokeRole(bytes32,address)\":{\"details\":\"Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleRevoked} event.\"},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"},\"updateProfileMetadata(bytes32,(uint256,string))\":{\"details\":\"'msg.sender' must be the owner of the profile.\",\"params\":{\"_metadata\":\"The new 'Metadata' of the profile\",\"_profileId\":\"The ID of the profile\"}},\"updateProfileName(bytes32,string)\":{\"details\":\"Use caution when updating your profile name as it will generate a new anchor address. You can always update the name back to the original name to get the original anchor address. 'msg.sender' must be the owner of the profile.\",\"params\":{\"_name\":\"The new name of the profile\",\"_profileId\":\"The profileId of the profile\"},\"returns\":{\"anchor\":\"The new anchor\"}},\"updateProfilePendingOwner(bytes32,address)\":{\"details\":\"'msg.sender' must be the owner of the profile. [1]*This is step one of two when transferring ownership.\",\"params\":{\"_pendingOwner\":\"The new pending owner\",\"_profileId\":\"The ID of the profile\"}}},\"stateVariables\":{\"anchorToProfileId\":{\"details\":\"anchor -> Profile.id\"},\"profileIdToPendingOwner\":{\"details\":\"Profile.id -> pending owner\"},\"profilesById\":{\"details\":\"Profile.id -> Profile\"}},\"title\":\"Registry Contract\",\"version\":1},\"userdoc\":{\"errors\":{\"ALLOCATION_ACTIVE()\":[{\"notice\":\"Thrown when the allocation is active.\"}],\"ALLOCATION_NOT_ACTIVE()\":[{\"notice\":\"Thrown when the allocation is not active.\"}],\"ALLOCATION_NOT_ENDED()\":[{\"notice\":\"Thrown when the allocation is not ended.\"}],\"ALREADY_INITIALIZED()\":[{\"notice\":\"Thrown when data is already intialized\"}],\"AMOUNT_MISMATCH()\":[{\"notice\":\"Thrown when the amount of tokens sent does not match the amount of tokens expected\"}],\"ARRAY_MISMATCH()\":[{\"notice\":\"Thrown when two arrays length are not equal\"}],\"INVALID()\":[{\"notice\":\"Thrown as a general error when input / data is invalid\"}],\"INVALID_ADDRESS()\":[{\"notice\":\"Thrown when an invalid address is used\"}],\"INVALID_FEE()\":[{\"notice\":\"Thrown when the fee is below 1e18 which is the fee percentage denominator\"}],\"INVALID_METADATA()\":[{\"notice\":\"Thrown when the metadata is invalid.\"}],\"INVALID_REGISTRATION()\":[{\"notice\":\"Thrown when the registration is invalid.\"}],\"IS_APPROVED_STRATEGY()\":[{\"notice\":\"Thrown when the strategy is approved and should be cloned\"}],\"MISMATCH()\":[{\"notice\":\"Thrown when mismatch in decoding data\"}],\"NOT_APPROVED_STRATEGY()\":[{\"notice\":\"Thrown when the strategy is not approved\"}],\"NOT_ENOUGH_FUNDS()\":[{\"notice\":\"Thrown when not enough funds are available\"}],\"NOT_IMPLEMENTED()\":[{\"notice\":\"Thrown when the function is not implemented\"}],\"NOT_INITIALIZED()\":[{\"notice\":\"Thrown when data is yet to be initialized\"}],\"POOL_ACTIVE()\":[{\"notice\":\"Thrown when a pool is already active\"}],\"POOL_INACTIVE()\":[{\"notice\":\"Thrown when a pool is inactive\"}],\"RECIPIENT_ALREADY_ACCEPTED()\":[{\"notice\":\"Thrown when recipient is already accepted.\"}],\"RECIPIENT_ERROR(address)\":[{\"notice\":\"Thrown when there is an error in recipient.\"}],\"RECIPIENT_NOT_ACCEPTED()\":[{\"notice\":\"Thrown when the recipient is not accepted.\"}],\"REGISTRATION_NOT_ACTIVE()\":[{\"notice\":\"Thrown when registration is not active.\"}],\"UNAUTHORIZED()\":[{\"notice\":\"Thrown when user is not authorized\"}],\"ZERO_ADDRESS()\":[{\"notice\":\"Thrown when address is the zero address\"}]},\"kind\":\"user\",\"methods\":{\"ALLO_OWNER()\":{\"notice\":\"Allo Owner Role for fund recovery\"},\"NATIVE()\":{\"notice\":\"Address of the native token\"},\"acceptProfileOwnership(bytes32)\":{\"notice\":\"Transfers the ownership of the profile to the pending owner and Emits a 'ProfileOwnerUdpated()' event.\"},\"addMembers(bytes32,address[])\":{\"notice\":\"Adds members to the profile\"},\"anchorToProfileId(address)\":{\"notice\":\"This maps the anchor address to the profile ID\"},\"createProfile(uint256,string,(uint256,string),address,address[])\":{\"notice\":\"Creates a new profile\"},\"getProfileByAnchor(address)\":{\"notice\":\"Retrieve profile by anchor\"},\"getProfileById(bytes32)\":{\"notice\":\"Retrieve profile by profileId\"},\"initialize(address)\":{\"notice\":\"Initializes the contract after an upgrade\"},\"isMemberOfProfile(bytes32,address)\":{\"notice\":\"Checks if the given address is a member of the profile\"},\"isOwnerOfProfile(bytes32,address)\":{\"notice\":\"Checks if the given address is an owner of the profile\"},\"isOwnerOrMemberOfProfile(bytes32,address)\":{\"notice\":\"Checks if the address is an owner or member of the profile\"},\"profileIdToPendingOwner(bytes32)\":{\"notice\":\"This maps the profile ID to the pending owner\"},\"profilesById(bytes32)\":{\"notice\":\"This maps the profile ID to the profile details\"},\"recoverFunds(address,address)\":{\"notice\":\"Transfers any fund balance in Allo to the recipient\"},\"removeMembers(bytes32,address[])\":{\"notice\":\"Removes members from the profile\"},\"updateProfileMetadata(bytes32,(uint256,string))\":{\"notice\":\"Update the 'Metadata' of the profile. Emits a 'ProfileMetadataUpdated()' event.\"},\"updateProfileName(bytes32,string)\":{\"notice\":\"Updates the name of the profile and generates new anchor. Emits a 'ProfileNameUpdated()' event.\"},\"updateProfilePendingOwner(bytes32,address)\":{\"notice\":\"Updates the pending owner of the profile. Emits a 'ProfilePendingOwnership()' event.\"}},\"notice\":\"Registry contract for creating and managing profiles\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/allo-v2/contracts/core/Registry.sol\":\"Registry\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1000},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-contracts/=lib/safe-contracts/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"]},\"sources\":{\"lib/allo-v2/contracts/core/Anchor.sol\":{\"keccak256\":\"0x6f470a8d0bab0848d3c3b7fb076b4001ff8b6bfd18f4bd6691a50ee6a13910cd\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://4ed2ae6e417c282a07088fa9a30325fe5b2fa6d406ec02dc1df63027e82ec139\",\"dweb:/ipfs/QmdVDTJKzjJqkygZ9768krrVQicLZTJVrZXbvet7KsmT8H\"]},\"lib/allo-v2/contracts/core/Registry.sol\":{\"keccak256\":\"0xb4fb0c6d9eb0f27dd6f6099f2832054a0b194ce420c6870deb5a7a94dd88b998\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://0e82595dcff5471f50e67cc35f73dbc1c9344eac1ee9b42235372bd23ceee283\",\"dweb:/ipfs/QmS34kQKRBaE7ih8c5upBb11bg3QtjunvctxKYNrtfGWhR\"]},\"lib/allo-v2/contracts/core/interfaces/IRegistry.sol\":{\"keccak256\":\"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e\",\"dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA\"]},\"lib/allo-v2/contracts/core/libraries/Errors.sol\":{\"keccak256\":\"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf\",\"dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA\"]},\"lib/allo-v2/contracts/core/libraries/Metadata.sol\":{\"keccak256\":\"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c\",\"dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn\"]},\"lib/allo-v2/contracts/core/libraries/Native.sol\":{\"keccak256\":\"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a\",\"dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv\"]},\"lib/allo-v2/contracts/core/libraries/Transfer.sol\":{\"keccak256\":\"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11\",\"dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5\"]},\"lib/allo-v2/lib/solady/src/tokens/ERC20.sol\":{\"keccak256\":\"0x264e4675697d05dfb9bbe9cc91c6bda7962d934f1e940336fd75d509b7f396c4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5856338689f03f36c057203c5085243e104b8487274432062ebf076b512edeea\",\"dweb:/ipfs/QmXrqgaWQikKkHfoBkYPxeMTJWUY5uf7kSmipNbpU35XwK\"]},\"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol\":{\"keccak256\":\"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298\",\"dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0xc8710577334e8d0799ae2b2a731b1924a7bddd64319da9787ddd2dc69bdd1ce5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b83b7afa4d2372da3ba5402fb10860a105c35d79812c60dc61007be2afc17618\",\"dweb:/ipfs/QmYX9xPmbNVSKXrepKiUZiG5oL3SdzFp9a4kqspxX1sEUx\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol\":{\"keccak256\":\"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c\",\"dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e\",\"dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b\",\"dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95\",\"dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol\":{\"keccak256\":\"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a\",\"dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0xd90d7723512df65ae417adaf0801042940f0dabd60039ceeaffe34aa5b238da1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1b13befeb3413749292f9fb229de1c7a509a5ce2c8047d9094fc004ca9d3af89\",\"dweb:/ipfs/QmRzJ2hZSwRtMejHUZAYTPRKgZsnfb112Fno9Jf3EiDfwA\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol\":{\"keccak256\":\"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758\",\"dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol\":{\"keccak256\":\"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91\",\"dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol\":{\"keccak256\":\"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4\",\"dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z\"]},\"lib/openzeppelin-contracts/contracts/token/ERC1155/IERC1155Receiver.sol\":{\"keccak256\":\"0xeb373f1fdc7b755c6a750123a9b9e3a8a02c1470042fd6505d875000a80bde0b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0e28648f994abf1d6bc345644a361cc0b7efa544f8bc0c8ec26011fed85a91ec\",\"dweb:/ipfs/QmVVE7AiRjKaQYYji7TkjmTeVzGpNmms5eoxqTCfvvpj6D\"]},\"lib/openzeppelin-contracts/contracts/token/ERC1155/utils/ERC1155Holder.sol\":{\"keccak256\":\"0x2e024ca51ce5abe16c0d34e6992a1104f356e2244eb4ccbec970435e8b3405e3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a74009db3c6fc8db851ba69ddb6795b5c1ef1120c5a00fd1a8dc3a717dd9d519\",\"dweb:/ipfs/QmZMk8Yh2X3gPS51ckUVLEXjZUhMSEeGApnA53WtjvLb9h\"]},\"lib/openzeppelin-contracts/contracts/token/ERC1155/utils/ERC1155Receiver.sol\":{\"keccak256\":\"0x3dd5e1a66a56f30302108a1da97d677a42b1daa60e503696b2bcbbf3e4c95bcb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0808de0ae4918c664643c885ca7fa6503e8ef2bd75609dfc85152c0128a3422d\",\"dweb:/ipfs/QmNrhFC1XgBKuuxfahFeiwi1MCdu3FLNpHj2uStgmf4iJj\"]},\"lib/openzeppelin-contracts/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708\",\"dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV\"]},\"lib/openzeppelin-contracts/contracts/token/ERC721/utils/ERC721Holder.sol\":{\"keccak256\":\"0x67ef46fef257faae47adb630aad49694dda0334e5f7a7c5fb386243b974886b5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c63284cf05ff845109190961e72ca27bd6a7b997f053d2ce21db83e9e285085c\",\"dweb:/ipfs/QmQBQVYJRzscToP6YaTRDvwYeLmr4V7kD1PjoG9mRpUYzU\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[],"type":"error","name":"ALLOCATION_ACTIVE"},{"inputs":[],"type":"error","name":"ALLOCATION_NOT_ACTIVE"},{"inputs":[],"type":"error","name":"ALLOCATION_NOT_ENDED"},{"inputs":[],"type":"error","name":"ALREADY_INITIALIZED"},{"inputs":[],"type":"error","name":"AMOUNT_MISMATCH"},{"inputs":[],"type":"error","name":"ANCHOR_ERROR"},{"inputs":[],"type":"error","name":"ARRAY_MISMATCH"},{"inputs":[],"type":"error","name":"INVALID"},{"inputs":[],"type":"error","name":"INVALID_ADDRESS"},{"inputs":[],"type":"error","name":"INVALID_FEE"},{"inputs":[],"type":"error","name":"INVALID_METADATA"},{"inputs":[],"type":"error","name":"INVALID_REGISTRATION"},{"inputs":[],"type":"error","name":"IS_APPROVED_STRATEGY"},{"inputs":[],"type":"error","name":"MISMATCH"},{"inputs":[],"type":"error","name":"NONCE_NOT_AVAILABLE"},{"inputs":[],"type":"error","name":"NOT_APPROVED_STRATEGY"},{"inputs":[],"type":"error","name":"NOT_ENOUGH_FUNDS"},{"inputs":[],"type":"error","name":"NOT_IMPLEMENTED"},{"inputs":[],"type":"error","name":"NOT_INITIALIZED"},{"inputs":[],"type":"error","name":"NOT_PENDING_OWNER"},{"inputs":[],"type":"error","name":"POOL_ACTIVE"},{"inputs":[],"type":"error","name":"POOL_INACTIVE"},{"inputs":[],"type":"error","name":"RECIPIENT_ALREADY_ACCEPTED"},{"inputs":[{"internalType":"address","name":"recipientId","type":"address"}],"type":"error","name":"RECIPIENT_ERROR"},{"inputs":[],"type":"error","name":"RECIPIENT_NOT_ACCEPTED"},{"inputs":[],"type":"error","name":"REGISTRATION_NOT_ACTIVE"},{"inputs":[],"type":"error","name":"UNAUTHORIZED"},{"inputs":[],"type":"error","name":"ZERO_ADDRESS"},{"inputs":[{"internalType":"uint8","name":"version","type":"uint8","indexed":false}],"type":"event","name":"Initialized","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"profileId","type":"bytes32","indexed":true},{"internalType":"uint256","name":"nonce","type":"uint256","indexed":false},{"internalType":"string","name":"name","type":"string","indexed":false},{"internalType":"struct Metadata","name":"metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}],"indexed":false},{"internalType":"address","name":"owner","type":"address","indexed":false},{"internalType":"address","name":"anchor","type":"address","indexed":false}],"type":"event","name":"ProfileCreated","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"profileId","type":"bytes32","indexed":true},{"internalType":"struct Metadata","name":"metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}],"indexed":false}],"type":"event","name":"ProfileMetadataUpdated","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"profileId","type":"bytes32","indexed":true},{"internalType":"string","name":"name","type":"string","indexed":false},{"internalType":"address","name":"anchor","type":"address","indexed":false}],"type":"event","name":"ProfileNameUpdated","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"profileId","type":"bytes32","indexed":true},{"internalType":"address","name":"owner","type":"address","indexed":false}],"type":"event","name":"ProfileOwnerUpdated","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"profileId","type":"bytes32","indexed":true},{"internalType":"address","name":"pendingOwner","type":"address","indexed":false}],"type":"event","name":"ProfilePendingOwnerUpdated","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32","indexed":true},{"internalType":"bytes32","name":"previousAdminRole","type":"bytes32","indexed":true},{"internalType":"bytes32","name":"newAdminRole","type":"bytes32","indexed":true}],"type":"event","name":"RoleAdminChanged","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32","indexed":true},{"internalType":"address","name":"account","type":"address","indexed":true},{"internalType":"address","name":"sender","type":"address","indexed":true}],"type":"event","name":"RoleGranted","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32","indexed":true},{"internalType":"address","name":"account","type":"address","indexed":true},{"internalType":"address","name":"sender","type":"address","indexed":true}],"type":"event","name":"RoleRevoked","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"ALLO_OWNER","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"DEFAULT_ADMIN_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"NATIVE","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"bytes32","name":"_profileId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"acceptProfileOwnership"},{"inputs":[{"internalType":"bytes32","name":"_profileId","type":"bytes32"},{"internalType":"address[]","name":"_members","type":"address[]"}],"stateMutability":"nonpayable","type":"function","name":"addMembers"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function","name":"anchorToProfileId","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"uint256","name":"_nonce","type":"uint256"},{"internalType":"string","name":"_name","type":"string"},{"internalType":"struct Metadata","name":"_metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]},{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address[]","name":"_members","type":"address[]"}],"stateMutability":"nonpayable","type":"function","name":"createProfile","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"address","name":"_anchor","type":"address"}],"stateMutability":"view","type":"function","name":"getProfileByAnchor","outputs":[{"internalType":"struct IRegistry.Profile","name":"","type":"tuple","components":[{"internalType":"bytes32","name":"id","type":"bytes32"},{"internalType":"uint256","name":"nonce","type":"uint256"},{"internalType":"string","name":"name","type":"string"},{"internalType":"struct Metadata","name":"metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]},{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"anchor","type":"address"}]}]},{"inputs":[{"internalType":"bytes32","name":"_profileId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getProfileById","outputs":[{"internalType":"struct IRegistry.Profile","name":"","type":"tuple","components":[{"internalType":"bytes32","name":"id","type":"bytes32"},{"internalType":"uint256","name":"nonce","type":"uint256"},{"internalType":"string","name":"name","type":"string"},{"internalType":"struct Metadata","name":"metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]},{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"anchor","type":"address"}]}]},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getRoleAdmin","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"grantRole"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"hasRole","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[{"internalType":"bytes32","name":"_profileId","type":"bytes32"},{"internalType":"address","name":"_member","type":"address"}],"stateMutability":"view","type":"function","name":"isMemberOfProfile","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"_profileId","type":"bytes32"},{"internalType":"address","name":"_owner","type":"address"}],"stateMutability":"view","type":"function","name":"isOwnerOfProfile","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"_profileId","type":"bytes32"},{"internalType":"address","name":"_account","type":"address"}],"stateMutability":"view","type":"function","name":"isOwnerOrMemberOfProfile","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function","name":"profileIdToPendingOwner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function","name":"profilesById","outputs":[{"internalType":"bytes32","name":"id","type":"bytes32"},{"internalType":"uint256","name":"nonce","type":"uint256"},{"internalType":"string","name":"name","type":"string"},{"internalType":"struct Metadata","name":"metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]},{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"anchor","type":"address"}]},{"inputs":[{"internalType":"address","name":"_token","type":"address"},{"internalType":"address","name":"_recipient","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"recoverFunds"},{"inputs":[{"internalType":"bytes32","name":"_profileId","type":"bytes32"},{"internalType":"address[]","name":"_members","type":"address[]"}],"stateMutability":"nonpayable","type":"function","name":"removeMembers"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"renounceRole"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"revokeRole"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"stateMutability":"view","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"_profileId","type":"bytes32"},{"internalType":"struct Metadata","name":"_metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]}],"stateMutability":"nonpayable","type":"function","name":"updateProfileMetadata"},{"inputs":[{"internalType":"bytes32","name":"_profileId","type":"bytes32"},{"internalType":"string","name":"_name","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"updateProfileName","outputs":[{"internalType":"address","name":"anchor","type":"address"}]},{"inputs":[{"internalType":"bytes32","name":"_profileId","type":"bytes32"},{"internalType":"address","name":"_pendingOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"updateProfilePendingOwner"}],"devdoc":{"kind":"dev","methods":{"acceptProfileOwnership(bytes32)":{"details":"'msg.sender' must be the pending owner of the profile. [2]*This is step two of two when transferring ownership.","params":{"_profileId":"The ID of the profile"}},"addMembers(bytes32,address[])":{"details":"'msg.sender' must be the owner of the profile.","params":{"_members":"The members to add","_profileId":"The ID of the profile"}},"createProfile(uint256,string,(uint256,string),address,address[])":{"details":"This will also generate the 'profileId' and 'anchor' address, emits a 'ProfileCreated()' event Note: The 'nonce' is used to generate the 'profileId' and should be unique for each profile Note: The 'name' and 'profileId' are used to generate the 'anchor' address","params":{"_members":"The members of the profile (can be set only if msg.sender == _owner)","_metadata":"The metadata of the profile","_name":"The name of the profile","_nonce":"Nonce used to generate profileId. Can be any integer, but should be unique for each profile.","_owner":"The owner of the profile"},"returns":{"_0":"The ID for the created profile"}},"getProfileByAnchor(address)":{"details":"Used when you have the 'anchor' address and want to retrieve the profile","params":{"_anchor":"The anchor of the profile"},"returns":{"_0":"Profile details for the `_anchor`"}},"getProfileById(bytes32)":{"details":"Used when you have the 'profileId' and want to retrieve the profile","params":{"_profileId":"The ID of the profile"},"returns":{"_0":"The Profile details for the `_profileId`"}},"getRoleAdmin(bytes32)":{"details":"Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}."},"grantRole(bytes32,address)":{"details":"Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleGranted} event."},"hasRole(bytes32,address)":{"details":"Returns `true` if `account` has been granted `role`."},"initialize(address)":{"details":"During upgrade -> a higher version should be passed to reinitializer. Reverts if the '_owner' is the 'address(0)'","params":{"_owner":"The owner of the contract"}},"isMemberOfProfile(bytes32,address)":{"params":{"_member":"The address to check","_profileId":"The ID of the profile"},"returns":{"_0":"'true' if the address is a member of the profile, otherwise 'false'"}},"isOwnerOfProfile(bytes32,address)":{"params":{"_owner":"The address to check","_profileId":"The ID of the profile"},"returns":{"_0":"'true' if the address is an owner of the profile, otherwise 'false'"}},"isOwnerOrMemberOfProfile(bytes32,address)":{"params":{"_account":"The address to check","_profileId":"The ID of the profile"},"returns":{"_0":"'true' if the address is an owner or member of the profile, otherwise 'false'"}},"recoverFunds(address,address)":{"details":"'msg.sender' must be the Allo owner","params":{"_recipient":"The address of the recipient","_token":"The address of the token to transfer"}},"removeMembers(bytes32,address[])":{"details":"'msg.sender' must be the pending owner of the profile.","params":{"_members":"The members to remove","_profileId":"The ID of the profile"}},"renounceRole(bytes32,address)":{"details":"Revokes `role` from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been revoked `role`, emits a {RoleRevoked} event. Requirements: - the caller must be `account`. May emit a {RoleRevoked} event."},"revokeRole(bytes32,address)":{"details":"Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleRevoked} event."},"supportsInterface(bytes4)":{"details":"See {IERC165-supportsInterface}."},"updateProfileMetadata(bytes32,(uint256,string))":{"details":"'msg.sender' must be the owner of the profile.","params":{"_metadata":"The new 'Metadata' of the profile","_profileId":"The ID of the profile"}},"updateProfileName(bytes32,string)":{"details":"Use caution when updating your profile name as it will generate a new anchor address. You can always update the name back to the original name to get the original anchor address. 'msg.sender' must be the owner of the profile.","params":{"_name":"The new name of the profile","_profileId":"The profileId of the profile"},"returns":{"anchor":"The new anchor"}},"updateProfilePendingOwner(bytes32,address)":{"details":"'msg.sender' must be the owner of the profile. [1]*This is step one of two when transferring ownership.","params":{"_pendingOwner":"The new pending owner","_profileId":"The ID of the profile"}}},"version":1},"userdoc":{"kind":"user","methods":{"ALLO_OWNER()":{"notice":"Allo Owner Role for fund recovery"},"NATIVE()":{"notice":"Address of the native token"},"acceptProfileOwnership(bytes32)":{"notice":"Transfers the ownership of the profile to the pending owner and Emits a 'ProfileOwnerUdpated()' event."},"addMembers(bytes32,address[])":{"notice":"Adds members to the profile"},"anchorToProfileId(address)":{"notice":"This maps the anchor address to the profile ID"},"createProfile(uint256,string,(uint256,string),address,address[])":{"notice":"Creates a new profile"},"getProfileByAnchor(address)":{"notice":"Retrieve profile by anchor"},"getProfileById(bytes32)":{"notice":"Retrieve profile by profileId"},"initialize(address)":{"notice":"Initializes the contract after an upgrade"},"isMemberOfProfile(bytes32,address)":{"notice":"Checks if the given address is a member of the profile"},"isOwnerOfProfile(bytes32,address)":{"notice":"Checks if the given address is an owner of the profile"},"isOwnerOrMemberOfProfile(bytes32,address)":{"notice":"Checks if the address is an owner or member of the profile"},"profileIdToPendingOwner(bytes32)":{"notice":"This maps the profile ID to the pending owner"},"profilesById(bytes32)":{"notice":"This maps the profile ID to the profile details"},"recoverFunds(address,address)":{"notice":"Transfers any fund balance in Allo to the recipient"},"removeMembers(bytes32,address[])":{"notice":"Removes members from the profile"},"updateProfileMetadata(bytes32,(uint256,string))":{"notice":"Update the 'Metadata' of the profile. Emits a 'ProfileMetadataUpdated()' event."},"updateProfileName(bytes32,string)":{"notice":"Updates the name of the profile and generates new anchor. Emits a 'ProfileNameUpdated()' event."},"updateProfilePendingOwner(bytes32,address)":{"notice":"Updates the pending owner of the profile. Emits a 'ProfilePendingOwnership()' event."}},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-contracts/=lib/safe-contracts/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":1000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib/allo-v2/contracts/core/Registry.sol":"Registry"},"evmVersion":"paris","libraries":{}},"sources":{"lib/allo-v2/contracts/core/Anchor.sol":{"keccak256":"0x6f470a8d0bab0848d3c3b7fb076b4001ff8b6bfd18f4bd6691a50ee6a13910cd","urls":["bzz-raw://4ed2ae6e417c282a07088fa9a30325fe5b2fa6d406ec02dc1df63027e82ec139","dweb:/ipfs/QmdVDTJKzjJqkygZ9768krrVQicLZTJVrZXbvet7KsmT8H"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/Registry.sol":{"keccak256":"0xb4fb0c6d9eb0f27dd6f6099f2832054a0b194ce420c6870deb5a7a94dd88b998","urls":["bzz-raw://0e82595dcff5471f50e67cc35f73dbc1c9344eac1ee9b42235372bd23ceee283","dweb:/ipfs/QmS34kQKRBaE7ih8c5upBb11bg3QtjunvctxKYNrtfGWhR"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/interfaces/IRegistry.sol":{"keccak256":"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f","urls":["bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e","dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA"],"license":"MIT"},"lib/allo-v2/contracts/core/libraries/Errors.sol":{"keccak256":"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15","urls":["bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf","dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Metadata.sol":{"keccak256":"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44","urls":["bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c","dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Native.sol":{"keccak256":"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5","urls":["bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a","dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Transfer.sol":{"keccak256":"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286","urls":["bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11","dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5"],"license":"AGPL-3.0-only"},"lib/allo-v2/lib/solady/src/tokens/ERC20.sol":{"keccak256":"0x264e4675697d05dfb9bbe9cc91c6bda7962d934f1e940336fd75d509b7f396c4","urls":["bzz-raw://5856338689f03f36c057203c5085243e104b8487274432062ebf076b512edeea","dweb:/ipfs/QmXrqgaWQikKkHfoBkYPxeMTJWUY5uf7kSmipNbpU35XwK"],"license":"MIT"},"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol":{"keccak256":"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624","urls":["bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298","dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol":{"keccak256":"0xc8710577334e8d0799ae2b2a731b1924a7bddd64319da9787ddd2dc69bdd1ce5","urls":["bzz-raw://b83b7afa4d2372da3ba5402fb10860a105c35d79812c60dc61007be2afc17618","dweb:/ipfs/QmYX9xPmbNVSKXrepKiUZiG5oL3SdzFp9a4kqspxX1sEUx"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol":{"keccak256":"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa","urls":["bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c","dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794","urls":["bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e","dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol":{"keccak256":"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422","urls":["bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b","dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef","urls":["bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95","dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol":{"keccak256":"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb","urls":["bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a","dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol":{"keccak256":"0xd90d7723512df65ae417adaf0801042940f0dabd60039ceeaffe34aa5b238da1","urls":["bzz-raw://1b13befeb3413749292f9fb229de1c7a509a5ce2c8047d9094fc004ca9d3af89","dweb:/ipfs/QmRzJ2hZSwRtMejHUZAYTPRKgZsnfb112Fno9Jf3EiDfwA"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol":{"keccak256":"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09","urls":["bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758","dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol":{"keccak256":"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e","urls":["bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91","dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol":{"keccak256":"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a","urls":["bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4","dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC1155/IERC1155Receiver.sol":{"keccak256":"0xeb373f1fdc7b755c6a750123a9b9e3a8a02c1470042fd6505d875000a80bde0b","urls":["bzz-raw://0e28648f994abf1d6bc345644a361cc0b7efa544f8bc0c8ec26011fed85a91ec","dweb:/ipfs/QmVVE7AiRjKaQYYji7TkjmTeVzGpNmms5eoxqTCfvvpj6D"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC1155/utils/ERC1155Holder.sol":{"keccak256":"0x2e024ca51ce5abe16c0d34e6992a1104f356e2244eb4ccbec970435e8b3405e3","urls":["bzz-raw://a74009db3c6fc8db851ba69ddb6795b5c1ef1120c5a00fd1a8dc3a717dd9d519","dweb:/ipfs/QmZMk8Yh2X3gPS51ckUVLEXjZUhMSEeGApnA53WtjvLb9h"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC1155/utils/ERC1155Receiver.sol":{"keccak256":"0x3dd5e1a66a56f30302108a1da97d677a42b1daa60e503696b2bcbbf3e4c95bcb","urls":["bzz-raw://0808de0ae4918c664643c885ca7fa6503e8ef2bd75609dfc85152c0128a3422d","dweb:/ipfs/QmNrhFC1XgBKuuxfahFeiwi1MCdu3FLNpHj2uStgmf4iJj"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC721/IERC721Receiver.sol":{"keccak256":"0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da","urls":["bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708","dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC721/utils/ERC721Holder.sol":{"keccak256":"0x67ef46fef257faae47adb630aad49694dda0334e5f7a7c5fb386243b974886b5","urls":["bzz-raw://c63284cf05ff845109190961e72ca27bd6a7b997f053d2ce21db83e9e285085c","dweb:/ipfs/QmQBQVYJRzscToP6YaTRDvwYeLmr4V7kD1PjoG9mRpUYzU"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol":{"keccak256":"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b","urls":["bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d","dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"}},"version":1},"storageLayout":{"storage":[{"astId":53029,"contract":"lib/allo-v2/contracts/core/Registry.sol:Registry","label":"_initialized","offset":0,"slot":"0","type":"t_uint8"},{"astId":53032,"contract":"lib/allo-v2/contracts/core/Registry.sol:Registry","label":"_initializing","offset":1,"slot":"0","type":"t_bool"},{"astId":53734,"contract":"lib/allo-v2/contracts/core/Registry.sol:Registry","label":"__gap","offset":0,"slot":"1","type":"t_array(t_uint256)50_storage"},{"astId":54008,"contract":"lib/allo-v2/contracts/core/Registry.sol:Registry","label":"__gap","offset":0,"slot":"51","type":"t_array(t_uint256)50_storage"},{"astId":52428,"contract":"lib/allo-v2/contracts/core/Registry.sol:Registry","label":"_roles","offset":0,"slot":"101","type":"t_mapping(t_bytes32,t_struct(RoleData)52423_storage)"},{"astId":52735,"contract":"lib/allo-v2/contracts/core/Registry.sol:Registry","label":"__gap","offset":0,"slot":"102","type":"t_array(t_uint256)49_storage"},{"astId":1525,"contract":"lib/allo-v2/contracts/core/Registry.sol:Registry","label":"anchorToProfileId","offset":0,"slot":"151","type":"t_mapping(t_address,t_bytes32)"},{"astId":1531,"contract":"lib/allo-v2/contracts/core/Registry.sol:Registry","label":"profilesById","offset":0,"slot":"152","type":"t_mapping(t_bytes32,t_struct(Profile)2629_storage)"},{"astId":1536,"contract":"lib/allo-v2/contracts/core/Registry.sol:Registry","label":"profileIdToPendingOwner","offset":0,"slot":"153","type":"t_mapping(t_bytes32,t_address)"}],"types":{"t_address":{"encoding":"inplace","label":"address","numberOfBytes":"20"},"t_array(t_uint256)49_storage":{"encoding":"inplace","label":"uint256[49]","numberOfBytes":"1568","base":"t_uint256"},"t_array(t_uint256)50_storage":{"encoding":"inplace","label":"uint256[50]","numberOfBytes":"1600","base":"t_uint256"},"t_bool":{"encoding":"inplace","label":"bool","numberOfBytes":"1"},"t_bytes32":{"encoding":"inplace","label":"bytes32","numberOfBytes":"32"},"t_mapping(t_address,t_bool)":{"encoding":"mapping","key":"t_address","label":"mapping(address => bool)","numberOfBytes":"32","value":"t_bool"},"t_mapping(t_address,t_bytes32)":{"encoding":"mapping","key":"t_address","label":"mapping(address => bytes32)","numberOfBytes":"32","value":"t_bytes32"},"t_mapping(t_bytes32,t_address)":{"encoding":"mapping","key":"t_bytes32","label":"mapping(bytes32 => address)","numberOfBytes":"32","value":"t_address"},"t_mapping(t_bytes32,t_struct(Profile)2629_storage)":{"encoding":"mapping","key":"t_bytes32","label":"mapping(bytes32 => struct IRegistry.Profile)","numberOfBytes":"32","value":"t_struct(Profile)2629_storage"},"t_mapping(t_bytes32,t_struct(RoleData)52423_storage)":{"encoding":"mapping","key":"t_bytes32","label":"mapping(bytes32 => struct AccessControlUpgradeable.RoleData)","numberOfBytes":"32","value":"t_struct(RoleData)52423_storage"},"t_string_storage":{"encoding":"bytes","label":"string","numberOfBytes":"32"},"t_struct(Metadata)3098_storage":{"encoding":"inplace","label":"struct Metadata","numberOfBytes":"64","members":[{"astId":3094,"contract":"lib/allo-v2/contracts/core/Registry.sol:Registry","label":"protocol","offset":0,"slot":"0","type":"t_uint256"},{"astId":3097,"contract":"lib/allo-v2/contracts/core/Registry.sol:Registry","label":"pointer","offset":0,"slot":"1","type":"t_string_storage"}]},"t_struct(Profile)2629_storage":{"encoding":"inplace","label":"struct IRegistry.Profile","numberOfBytes":"224","members":[{"astId":2617,"contract":"lib/allo-v2/contracts/core/Registry.sol:Registry","label":"id","offset":0,"slot":"0","type":"t_bytes32"},{"astId":2619,"contract":"lib/allo-v2/contracts/core/Registry.sol:Registry","label":"nonce","offset":0,"slot":"1","type":"t_uint256"},{"astId":2621,"contract":"lib/allo-v2/contracts/core/Registry.sol:Registry","label":"name","offset":0,"slot":"2","type":"t_string_storage"},{"astId":2624,"contract":"lib/allo-v2/contracts/core/Registry.sol:Registry","label":"metadata","offset":0,"slot":"3","type":"t_struct(Metadata)3098_storage"},{"astId":2626,"contract":"lib/allo-v2/contracts/core/Registry.sol:Registry","label":"owner","offset":0,"slot":"5","type":"t_address"},{"astId":2628,"contract":"lib/allo-v2/contracts/core/Registry.sol:Registry","label":"anchor","offset":0,"slot":"6","type":"t_address"}]},"t_struct(RoleData)52423_storage":{"encoding":"inplace","label":"struct AccessControlUpgradeable.RoleData","numberOfBytes":"64","members":[{"astId":52420,"contract":"lib/allo-v2/contracts/core/Registry.sol:Registry","label":"members","offset":0,"slot":"0","type":"t_mapping(t_address,t_bool)"},{"astId":52422,"contract":"lib/allo-v2/contracts/core/Registry.sol:Registry","label":"adminRole","offset":0,"slot":"1","type":"t_bytes32"}]},"t_uint256":{"encoding":"inplace","label":"uint256","numberOfBytes":"32"},"t_uint8":{"encoding":"inplace","label":"uint8","numberOfBytes":"1"}}},"ast":{"absolutePath":"lib/allo-v2/contracts/core/Registry.sol","id":2296,"exportedSymbols":{"AccessControlUpgradeable":[52736],"AddressUpgradeable":[53684],"Anchor":[1492],"ContextUpgradeable":[53735],"ERC165Upgradeable":[54009],"ERC20":[4491],"Errors":[3089],"IAccessControlUpgradeable":[52809],"IERC165Upgradeable":[54021],"IRegistry":[2802],"Initializable":[53191],"MathUpgradeable":[54887],"Metadata":[3098],"Native":[3106],"Registry":[2295],"SafeTransferLib":[4649],"SignedMathUpgradeable":[54992],"StringsUpgradeable":[53964],"Transfer":[3317]},"nodeType":"SourceUnit","src":"42:21126:2","nodes":[{"id":1494,"nodeType":"PragmaDirective","src":"42:23:2","nodes":[],"literals":["solidity","0.8",".19"]},{"id":1495,"nodeType":"ImportDirective","src":"89:90:2","nodes":[],"absolutePath":"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol","file":"openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol","nameLocation":"-1:-1:-1","scope":2296,"sourceUnit":52737,"symbolAliases":[],"unitAlias":""},{"id":1496,"nodeType":"ImportDirective","src":"180:84:2","nodes":[],"absolutePath":"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol","file":"openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol","nameLocation":"-1:-1:-1","scope":2296,"sourceUnit":53192,"symbolAliases":[],"unitAlias":""},{"id":1498,"nodeType":"ImportDirective","src":"265:50:2","nodes":[],"absolutePath":"lib/allo-v2/lib/solady/src/tokens/ERC20.sol","file":"solady/src/tokens/ERC20.sol","nameLocation":"-1:-1:-1","scope":2296,"sourceUnit":4492,"symbolAliases":[{"foreign":{"id":1497,"name":"ERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4491,"src":"273:5:2","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":1499,"nodeType":"ImportDirective","src":"330:36:2","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/interfaces/IRegistry.sol","file":"./interfaces/IRegistry.sol","nameLocation":"-1:-1:-1","scope":2296,"sourceUnit":2803,"symbolAliases":[],"unitAlias":""},{"id":1501,"nodeType":"ImportDirective","src":"389:36:2","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/Anchor.sol","file":"./Anchor.sol","nameLocation":"-1:-1:-1","scope":2296,"sourceUnit":1493,"symbolAliases":[{"foreign":{"id":1500,"name":"Anchor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1492,"src":"397:6:2","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":1503,"nodeType":"ImportDirective","src":"426:46:2","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/libraries/Errors.sol","file":"./libraries/Errors.sol","nameLocation":"-1:-1:-1","scope":2296,"sourceUnit":3090,"symbolAliases":[{"foreign":{"id":1502,"name":"Errors","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3089,"src":"434:6:2","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":1505,"nodeType":"ImportDirective","src":"473:50:2","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/libraries/Metadata.sol","file":"./libraries/Metadata.sol","nameLocation":"-1:-1:-1","scope":2296,"sourceUnit":3099,"symbolAliases":[{"foreign":{"id":1504,"name":"Metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3098,"src":"481:8:2","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":1506,"nodeType":"ImportDirective","src":"524:32:2","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/libraries/Native.sol","file":"./libraries/Native.sol","nameLocation":"-1:-1:-1","scope":2296,"sourceUnit":3107,"symbolAliases":[],"unitAlias":""},{"id":1507,"nodeType":"ImportDirective","src":"557:34:2","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/libraries/Transfer.sol","file":"./libraries/Transfer.sol","nameLocation":"-1:-1:-1","scope":2296,"sourceUnit":3318,"symbolAliases":[],"unitAlias":""},{"id":2295,"nodeType":"ContractDefinition","src":"5237:15930:2","nodes":[{"id":1525,"nodeType":"VariableDeclaration","src":"5544:52:2","nodes":[],"constant":false,"documentation":{"id":1521,"nodeType":"StructuredDocumentation","src":"5447:92:2","text":"@notice This maps the anchor address to the profile ID\n @dev anchor -> Profile.id"},"functionSelector":"4756487f","mutability":"mutable","name":"anchorToProfileId","nameLocation":"5579:17:2","scope":2295,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bytes32_$","typeString":"mapping(address => bytes32)"},"typeName":{"id":1524,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":1522,"name":"address","nodeType":"ElementaryTypeName","src":"5552:7:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"5544:27:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bytes32_$","typeString":"mapping(address => bytes32)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":1523,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5563:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}},"visibility":"public"},{"id":1531,"nodeType":"VariableDeclaration","src":"5702:47:2","nodes":[],"constant":false,"documentation":{"id":1526,"nodeType":"StructuredDocumentation","src":"5603:94:2","text":"@notice This maps the profile ID to the profile details\n @dev Profile.id -> Profile"},"functionSelector":"ee888196","mutability":"mutable","name":"profilesById","nameLocation":"5737:12:2","scope":2295,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_Profile_$2629_storage_$","typeString":"mapping(bytes32 => struct IRegistry.Profile)"},"typeName":{"id":1530,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":1527,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5710:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Mapping","src":"5702:27:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_Profile_$2629_storage_$","typeString":"mapping(bytes32 => struct IRegistry.Profile)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":1529,"nodeType":"UserDefinedTypeName","pathNode":{"id":1528,"name":"Profile","nameLocations":["5721:7:2"],"nodeType":"IdentifierPath","referencedDeclaration":2629,"src":"5721:7:2"},"referencedDeclaration":2629,"src":"5721:7:2","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_storage_ptr","typeString":"struct IRegistry.Profile"}}},"visibility":"public"},{"id":1536,"nodeType":"VariableDeclaration","src":"5859:58:2","nodes":[],"constant":false,"documentation":{"id":1532,"nodeType":"StructuredDocumentation","src":"5756:98:2","text":"@notice This maps the profile ID to the pending owner\n @dev Profile.id -> pending owner"},"functionSelector":"50d005e0","mutability":"mutable","name":"profileIdToPendingOwner","nameLocation":"5894:23:2","scope":2295,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_address_$","typeString":"mapping(bytes32 => address)"},"typeName":{"id":1535,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":1533,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5867:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Mapping","src":"5859:27:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_address_$","typeString":"mapping(bytes32 => address)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":1534,"name":"address","nodeType":"ElementaryTypeName","src":"5878:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}},"visibility":"public"},{"id":1542,"nodeType":"VariableDeclaration","src":"5974:60:2","nodes":[],"constant":true,"documentation":{"id":1537,"nodeType":"StructuredDocumentation","src":"5924:45:2","text":"@notice Allo Owner Role for fund recovery"},"functionSelector":"cfda7e0a","mutability":"constant","name":"ALLO_OWNER","nameLocation":"5998:10:2","scope":2295,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1538,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5974:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"arguments":[{"hexValue":"414c4c4f5f4f574e4552","id":1540,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6021:12:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_815b5a78dc333d344c7df9da23c04dbd432015cc701876ddb9ffe850e6882747","typeString":"literal_string \"ALLO_OWNER\""},"value":"ALLO_OWNER"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_815b5a78dc333d344c7df9da23c04dbd432015cc701876ddb9ffe850e6882747","typeString":"literal_string \"ALLO_OWNER\""}],"id":1539,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"6011:9:2","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":1541,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6011:23:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"public"},{"id":1553,"nodeType":"ModifierDefinition","src":"6360:108:2","nodes":[],"body":{"id":1552,"nodeType":"Block","src":"6406:62:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":1548,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1545,"src":"6439:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":1547,"name":"_checkOnlyProfileOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2071,"src":"6416:22:2","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$returns$__$","typeString":"function (bytes32) view"}},"id":1549,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6416:34:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1550,"nodeType":"ExpressionStatement","src":"6416:34:2"},{"id":1551,"nodeType":"PlaceholderStatement","src":"6460:1:2"}]},"documentation":{"id":1543,"nodeType":"StructuredDocumentation","src":"6177:178:2","text":"@notice Checks if the caller is the profile owner\n @dev Reverts `UNAUTHORIZED()` if the caller is not the profile owner\n @param _profileId The ID of the profile"},"name":"onlyProfileOwner","nameLocation":"6369:16:2","parameters":{"id":1546,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1545,"mutability":"mutable","name":"_profileId","nameLocation":"6394:10:2","nodeType":"VariableDeclaration","scope":1553,"src":"6386:18:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1544,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6386:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"6385:20:2"},"virtual":false,"visibility":"internal"},{"id":1578,"nodeType":"FunctionDefinition","src":"6841:257:2","nodes":[],"body":{"id":1577,"nodeType":"Block","src":"6903:195:2","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":1567,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1562,"name":"_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1556,"src":"6968:6:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":1565,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6986:1:2","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":1564,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6978:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":1563,"name":"address","nodeType":"ElementaryTypeName","src":"6978:7:2","typeDescriptions":{}}},"id":1566,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6978:10:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"6968:20:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1571,"nodeType":"IfStatement","src":"6964:47:2","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":1568,"name":"ZERO_ADDRESS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3020,"src":"6997:12:2","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":1569,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6997:14:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1570,"nodeType":"RevertStatement","src":"6990:21:2"}},{"expression":{"arguments":[{"id":1573,"name":"ALLO_OWNER","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1542,"src":"7072:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":1574,"name":"_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1556,"src":"7084:6:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":1572,"name":"_grantRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52699,"src":"7061:10:2","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$","typeString":"function (bytes32,address)"}},"id":1575,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7061:30:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1576,"nodeType":"ExpressionStatement","src":"7061:30:2"}]},"documentation":{"id":1554,"nodeType":"StructuredDocumentation","src":"6608:228:2","text":"@notice Initializes the contract after an upgrade\n @dev During upgrade -> a higher version should be passed to reinitializer. Reverts if the '_owner' is the 'address(0)'\n @param _owner The owner of the contract"},"functionSelector":"c4d66de8","implemented":true,"kind":"function","modifiers":[{"arguments":[{"hexValue":"31","id":1559,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6900:1:2","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"id":1560,"kind":"modifierInvocation","modifierName":{"id":1558,"name":"reinitializer","nameLocations":["6886:13:2"],"nodeType":"IdentifierPath","referencedDeclaration":53126,"src":"6886:13:2"},"nodeType":"ModifierInvocation","src":"6886:16:2"}],"name":"initialize","nameLocation":"6850:10:2","parameters":{"id":1557,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1556,"mutability":"mutable","name":"_owner","nameLocation":"6869:6:2","nodeType":"VariableDeclaration","scope":1578,"src":"6861:14:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1555,"name":"address","nodeType":"ElementaryTypeName","src":"6861:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6860:16:2"},"returnParameters":{"id":1561,"nodeType":"ParameterList","parameters":[],"src":"6903:0:2"},"scope":2295,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":1592,"nodeType":"FunctionDefinition","src":"7472:131:2","nodes":[],"body":{"id":1591,"nodeType":"Block","src":"7555:48:2","nodes":[],"statements":[{"expression":{"baseExpression":{"id":1587,"name":"profilesById","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1531,"src":"7572:12:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_Profile_$2629_storage_$","typeString":"mapping(bytes32 => struct IRegistry.Profile storage ref)"}},"id":1589,"indexExpression":{"id":1588,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1581,"src":"7585:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"7572:24:2","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_storage","typeString":"struct IRegistry.Profile storage ref"}},"functionReturnParameters":1586,"id":1590,"nodeType":"Return","src":"7565:31:2"}]},"baseFunctions":[2685],"documentation":{"id":1579,"nodeType":"StructuredDocumentation","src":"7240:227:2","text":"@notice Retrieve profile by profileId\n @dev Used when you have the 'profileId' and want to retrieve the profile\n @param _profileId The ID of the profile\n @return The Profile details for the `_profileId`"},"functionSelector":"0114cf0a","implemented":true,"kind":"function","modifiers":[],"name":"getProfileById","nameLocation":"7481:14:2","parameters":{"id":1582,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1581,"mutability":"mutable","name":"_profileId","nameLocation":"7504:10:2","nodeType":"VariableDeclaration","scope":1592,"src":"7496:18:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1580,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7496:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"7495:20:2"},"returnParameters":{"id":1586,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1585,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1592,"src":"7539:14:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_memory_ptr","typeString":"struct IRegistry.Profile"},"typeName":{"id":1584,"nodeType":"UserDefinedTypeName","pathNode":{"id":1583,"name":"Profile","nameLocations":["7539:7:2"],"nodeType":"IdentifierPath","referencedDeclaration":2629,"src":"7539:7:2"},"referencedDeclaration":2629,"src":"7539:7:2","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_storage_ptr","typeString":"struct IRegistry.Profile"}},"visibility":"internal"}],"src":"7538:16:2"},"scope":2295,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":1612,"nodeType":"FunctionDefinition","src":"7837:187:2","nodes":[],"body":{"id":1611,"nodeType":"Block","src":"7921:103:2","nodes":[],"statements":[{"assignments":[1602],"declarations":[{"constant":false,"id":1602,"mutability":"mutable","name":"profileId","nameLocation":"7939:9:2","nodeType":"VariableDeclaration","scope":1611,"src":"7931:17:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1601,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7931:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":1606,"initialValue":{"baseExpression":{"id":1603,"name":"anchorToProfileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1525,"src":"7951:17:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bytes32_$","typeString":"mapping(address => bytes32)"}},"id":1605,"indexExpression":{"id":1604,"name":"_anchor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1595,"src":"7969:7:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"7951:26:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"7931:46:2"},{"expression":{"baseExpression":{"id":1607,"name":"profilesById","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1531,"src":"7994:12:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_Profile_$2629_storage_$","typeString":"mapping(bytes32 => struct IRegistry.Profile storage ref)"}},"id":1609,"indexExpression":{"id":1608,"name":"profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1602,"src":"8007:9:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"7994:23:2","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_storage","typeString":"struct IRegistry.Profile storage ref"}},"functionReturnParameters":1600,"id":1610,"nodeType":"Return","src":"7987:30:2"}]},"baseFunctions":[2694],"documentation":{"id":1593,"nodeType":"StructuredDocumentation","src":"7609:223:2","text":"@notice Retrieve profile by anchor\n @dev Used when you have the 'anchor' address and want to retrieve the profile\n @param _anchor The anchor of the profile\n @return Profile details for the `_anchor`"},"functionSelector":"dd93da43","implemented":true,"kind":"function","modifiers":[],"name":"getProfileByAnchor","nameLocation":"7846:18:2","parameters":{"id":1596,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1595,"mutability":"mutable","name":"_anchor","nameLocation":"7873:7:2","nodeType":"VariableDeclaration","scope":1612,"src":"7865:15:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1594,"name":"address","nodeType":"ElementaryTypeName","src":"7865:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"7864:17:2"},"returnParameters":{"id":1600,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1599,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1612,"src":"7905:14:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_memory_ptr","typeString":"struct IRegistry.Profile"},"typeName":{"id":1598,"nodeType":"UserDefinedTypeName","pathNode":{"id":1597,"name":"Profile","nameLocations":["7905:7:2"],"nodeType":"IdentifierPath","referencedDeclaration":2629,"src":"7905:7:2"},"referencedDeclaration":2629,"src":"7905:7:2","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_storage_ptr","typeString":"struct IRegistry.Profile"}},"visibility":"internal"}],"src":"7904:16:2"},"scope":2295,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":1756,"nodeType":"FunctionDefinition","src":"8781:1901:2","nodes":[],"body":{"id":1755,"nodeType":"Block","src":"8984:1698:2","nodes":[],"statements":[{"assignments":[1631],"declarations":[{"constant":false,"id":1631,"mutability":"mutable","name":"profileId","nameLocation":"9068:9:2","nodeType":"VariableDeclaration","scope":1755,"src":"9060:17:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1630,"name":"bytes32","nodeType":"ElementaryTypeName","src":"9060:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":1636,"initialValue":{"arguments":[{"id":1633,"name":"_nonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1615,"src":"9099:6:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1634,"name":"_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1622,"src":"9107:6:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"id":1632,"name":"_generateProfileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2211,"src":"9080:18:2","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_address_$returns$_t_bytes32_$","typeString":"function (uint256,address) pure returns (bytes32)"}},"id":1635,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9080:34:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"9060:54:2"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":1645,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":1637,"name":"profilesById","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1531,"src":"9173:12:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_Profile_$2629_storage_$","typeString":"mapping(bytes32 => struct IRegistry.Profile storage ref)"}},"id":1639,"indexExpression":{"id":1638,"name":"profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1631,"src":"9186:9:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"9173:23:2","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_storage","typeString":"struct IRegistry.Profile storage ref"}},"id":1640,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9197:6:2","memberName":"anchor","nodeType":"MemberAccess","referencedDeclaration":2628,"src":"9173:30:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":1643,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9215:1:2","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":1642,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9207:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":1641,"name":"address","nodeType":"ElementaryTypeName","src":"9207:7:2","typeDescriptions":{}}},"id":1644,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9207:10:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"9173:44:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1649,"nodeType":"IfStatement","src":"9169:78:2","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":1646,"name":"NONCE_NOT_AVAILABLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3026,"src":"9226:19:2","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":1647,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9226:21:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1648,"nodeType":"RevertStatement","src":"9219:28:2"}},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":1655,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1650,"name":"_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1622,"src":"9317:6:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":1653,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9335:1:2","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":1652,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9327:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":1651,"name":"address","nodeType":"ElementaryTypeName","src":"9327:7:2","typeDescriptions":{}}},"id":1654,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9327:10:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"9317:20:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1659,"nodeType":"IfStatement","src":"9313:47:2","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":1656,"name":"ZERO_ADDRESS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3020,"src":"9346:12:2","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":1657,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9346:14:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1658,"nodeType":"RevertStatement","src":"9339:21:2"}},{"assignments":[1662],"declarations":[{"constant":false,"id":1662,"mutability":"mutable","name":"profile","nameLocation":"9462:7:2","nodeType":"VariableDeclaration","scope":1755,"src":"9447:22:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_memory_ptr","typeString":"struct IRegistry.Profile"},"typeName":{"id":1661,"nodeType":"UserDefinedTypeName","pathNode":{"id":1660,"name":"Profile","nameLocations":["9447:7:2"],"nodeType":"IdentifierPath","referencedDeclaration":2629,"src":"9447:7:2"},"referencedDeclaration":2629,"src":"9447:7:2","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_storage_ptr","typeString":"struct IRegistry.Profile"}},"visibility":"internal"}],"id":1674,"initialValue":{"arguments":[{"id":1664,"name":"profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1631,"src":"9498:9:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":1665,"name":"_nonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1615,"src":"9528:6:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1666,"name":"_name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1617,"src":"9554:5:2","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":1667,"name":"_metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1620,"src":"9583:9:2","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}},{"id":1668,"name":"_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1622,"src":"9613:6:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":1670,"name":"profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1631,"src":"9657:9:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":1671,"name":"_name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1617,"src":"9668:5:2","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":1669,"name":"_generateAnchor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2192,"src":"9641:15:2","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_string_memory_ptr_$returns$_t_address_$","typeString":"function (bytes32,string memory) returns (address)"}},"id":1672,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9641:33:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":1663,"name":"Profile","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2629,"src":"9472:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Profile_$2629_storage_ptr_$","typeString":"type(struct IRegistry.Profile storage pointer)"}},"id":1673,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["9494:2:2","9521:5:2","9548:4:2","9573:8:2","9606:5:2","9633:6:2"],"names":["id","nonce","name","metadata","owner","anchor"],"nodeType":"FunctionCall","src":"9472:213:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_memory_ptr","typeString":"struct IRegistry.Profile memory"}},"nodeType":"VariableDeclarationStatement","src":"9447:238:2"},{"expression":{"id":1679,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":1675,"name":"profilesById","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1531,"src":"9696:12:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_Profile_$2629_storage_$","typeString":"mapping(bytes32 => struct IRegistry.Profile storage ref)"}},"id":1677,"indexExpression":{"id":1676,"name":"profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1631,"src":"9709:9:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"9696:23:2","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_storage","typeString":"struct IRegistry.Profile storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":1678,"name":"profile","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1662,"src":"9722:7:2","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_memory_ptr","typeString":"struct IRegistry.Profile memory"}},"src":"9696:33:2","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_storage","typeString":"struct IRegistry.Profile storage ref"}},"id":1680,"nodeType":"ExpressionStatement","src":"9696:33:2"},{"expression":{"id":1686,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":1681,"name":"anchorToProfileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1525,"src":"9739:17:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bytes32_$","typeString":"mapping(address => bytes32)"}},"id":1684,"indexExpression":{"expression":{"id":1682,"name":"profile","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1662,"src":"9757:7:2","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_memory_ptr","typeString":"struct IRegistry.Profile memory"}},"id":1683,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9765:6:2","memberName":"anchor","nodeType":"MemberAccess","referencedDeclaration":2628,"src":"9757:14:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"9739:33:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":1685,"name":"profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1631,"src":"9775:9:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"9739:45:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":1687,"nodeType":"ExpressionStatement","src":"9739:45:2"},{"assignments":[1689],"declarations":[{"constant":false,"id":1689,"mutability":"mutable","name":"memberLength","nameLocation":"9851:12:2","nodeType":"VariableDeclaration","scope":1755,"src":"9843:20:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1688,"name":"uint256","nodeType":"ElementaryTypeName","src":"9843:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":1692,"initialValue":{"expression":{"id":1690,"name":"_members","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1625,"src":"9866:8:2","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":1691,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9875:6:2","memberName":"length","nodeType":"MemberAccess","src":"9866:15:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"9843:38:2"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":1700,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1695,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1693,"name":"memberLength","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1689,"src":"9942:12:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":1694,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9957:1:2","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"9942:16:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":1699,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1696,"name":"_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1622,"src":"9962:6:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":1697,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"9972:3:2","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":1698,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9976:6:2","memberName":"sender","nodeType":"MemberAccess","src":"9972:10:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"9962:20:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"9942:40:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1705,"nodeType":"IfStatement","src":"9938:92:2","trueBody":{"id":1704,"nodeType":"Block","src":"9984:46:2","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":1701,"name":"UNAUTHORIZED","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3017,"src":"10005:12:2","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":1702,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10005:14:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1703,"nodeType":"RevertStatement","src":"9998:21:2"}]}},{"body":{"id":1737,"nodeType":"Block","src":"10075:367:2","statements":[{"assignments":[1713],"declarations":[{"constant":false,"id":1713,"mutability":"mutable","name":"member","nameLocation":"10097:6:2","nodeType":"VariableDeclaration","scope":1737,"src":"10089:14:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1712,"name":"address","nodeType":"ElementaryTypeName","src":"10089:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":1717,"initialValue":{"baseExpression":{"id":1714,"name":"_members","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1625,"src":"10106:8:2","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":1716,"indexExpression":{"id":1715,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1707,"src":"10115:1:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"10106:11:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"10089:28:2"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":1723,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1718,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1713,"src":"10206:6:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":1721,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10224:1:2","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":1720,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10216:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":1719,"name":"address","nodeType":"ElementaryTypeName","src":"10216:7:2","typeDescriptions":{}}},"id":1722,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10216:10:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"10206:20:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1727,"nodeType":"IfStatement","src":"10202:47:2","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":1724,"name":"ZERO_ADDRESS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3020,"src":"10235:12:2","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":1725,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10235:14:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1726,"nodeType":"RevertStatement","src":"10228:21:2"}},{"expression":{"arguments":[{"id":1729,"name":"profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1631,"src":"10354:9:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":1730,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1713,"src":"10365:6:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":1728,"name":"_grantRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52699,"src":"10343:10:2","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$","typeString":"function (bytes32,address)"}},"id":1731,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10343:29:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1732,"nodeType":"ExpressionStatement","src":"10343:29:2"},{"id":1736,"nodeType":"UncheckedBlock","src":"10386:46:2","statements":[{"expression":{"id":1734,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":true,"src":"10414:3:2","subExpression":{"id":1733,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1707,"src":"10416:1:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":1735,"nodeType":"ExpressionStatement","src":"10414:3:2"}]}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1711,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1709,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1707,"src":"10056:1:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":1710,"name":"memberLength","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1689,"src":"10060:12:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10056:16:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1738,"initializationExpression":{"assignments":[1707],"declarations":[{"constant":false,"id":1707,"mutability":"mutable","name":"i","nameLocation":"10053:1:2","nodeType":"VariableDeclaration","scope":1738,"src":"10045:9:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1706,"name":"uint256","nodeType":"ElementaryTypeName","src":"10045:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":1708,"nodeType":"VariableDeclarationStatement","src":"10045:9:2"},"nodeType":"ForStatement","src":"10040:402:2"},{"eventCall":{"arguments":[{"id":1740,"name":"profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1631,"src":"10527:9:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"expression":{"id":1741,"name":"profile","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1662,"src":"10538:7:2","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_memory_ptr","typeString":"struct IRegistry.Profile memory"}},"id":1742,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10546:5:2","memberName":"nonce","nodeType":"MemberAccess","referencedDeclaration":2619,"src":"10538:13:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":1743,"name":"profile","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1662,"src":"10553:7:2","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_memory_ptr","typeString":"struct IRegistry.Profile memory"}},"id":1744,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10561:4:2","memberName":"name","nodeType":"MemberAccess","referencedDeclaration":2621,"src":"10553:12:2","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"expression":{"id":1745,"name":"profile","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1662,"src":"10567:7:2","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_memory_ptr","typeString":"struct IRegistry.Profile memory"}},"id":1746,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10575:8:2","memberName":"metadata","nodeType":"MemberAccess","referencedDeclaration":2624,"src":"10567:16:2","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}},{"expression":{"id":1747,"name":"profile","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1662,"src":"10585:7:2","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_memory_ptr","typeString":"struct IRegistry.Profile memory"}},"id":1748,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10593:5:2","memberName":"owner","nodeType":"MemberAccess","referencedDeclaration":2626,"src":"10585:13:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":1749,"name":"profile","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1662,"src":"10600:7:2","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_memory_ptr","typeString":"struct IRegistry.Profile memory"}},"id":1750,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10608:6:2","memberName":"anchor","nodeType":"MemberAccess","referencedDeclaration":2628,"src":"10600:14:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":1739,"name":"ProfileCreated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2645,"src":"10512:14:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_bytes32_$_t_uint256_$_t_string_memory_ptr_$_t_struct$_Metadata_$3098_memory_ptr_$_t_address_$_t_address_$returns$__$","typeString":"function (bytes32,uint256,string memory,struct Metadata memory,address,address)"}},"id":1751,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10512:103:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1752,"nodeType":"EmitStatement","src":"10507:108:2"},{"expression":{"id":1753,"name":"profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1631,"src":"10666:9:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":1629,"id":1754,"nodeType":"Return","src":"10659:16:2"}]},"baseFunctions":[2742],"documentation":{"id":1613,"nodeType":"StructuredDocumentation","src":"8030:746:2","text":"@notice Creates a new profile\n @dev This will also generate the 'profileId' and 'anchor' address, emits a 'ProfileCreated()' event\n Note: The 'nonce' is used to generate the 'profileId' and should be unique for each profile\n Note: The 'name' and 'profileId' are used to generate the 'anchor' address\n @param _nonce Nonce used to generate profileId. Can be any integer, but should be unique\n for each profile.\n @param _name The name of the profile\n @param _metadata The metadata of the profile\n @param _owner The owner of the profile\n @param _members The members of the profile (can be set only if msg.sender == _owner)\n @return The ID for the created profile"},"functionSelector":"3a92f65f","implemented":true,"kind":"function","modifiers":[],"name":"createProfile","nameLocation":"8790:13:2","parameters":{"id":1626,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1615,"mutability":"mutable","name":"_nonce","nameLocation":"8821:6:2","nodeType":"VariableDeclaration","scope":1756,"src":"8813:14:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1614,"name":"uint256","nodeType":"ElementaryTypeName","src":"8813:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1617,"mutability":"mutable","name":"_name","nameLocation":"8851:5:2","nodeType":"VariableDeclaration","scope":1756,"src":"8837:19:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1616,"name":"string","nodeType":"ElementaryTypeName","src":"8837:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":1620,"mutability":"mutable","name":"_metadata","nameLocation":"8882:9:2","nodeType":"VariableDeclaration","scope":1756,"src":"8866:25:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata"},"typeName":{"id":1619,"nodeType":"UserDefinedTypeName","pathNode":{"id":1618,"name":"Metadata","nameLocations":["8866:8:2"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"8866:8:2"},"referencedDeclaration":3098,"src":"8866:8:2","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"},{"constant":false,"id":1622,"mutability":"mutable","name":"_owner","nameLocation":"8909:6:2","nodeType":"VariableDeclaration","scope":1756,"src":"8901:14:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1621,"name":"address","nodeType":"ElementaryTypeName","src":"8901:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1625,"mutability":"mutable","name":"_members","nameLocation":"8942:8:2","nodeType":"VariableDeclaration","scope":1756,"src":"8925:25:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":1623,"name":"address","nodeType":"ElementaryTypeName","src":"8925:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":1624,"nodeType":"ArrayTypeName","src":"8925:9:2","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"8803:153:2"},"returnParameters":{"id":1629,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1628,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1756,"src":"8975:7:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1627,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8975:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"8974:9:2"},"scope":2295,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":1820,"nodeType":"FunctionDefinition","src":"11210:830:2","nodes":[],"body":{"id":1819,"nodeType":"Block","src":"11369:671:2","nodes":[],"statements":[{"expression":{"id":1774,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":1769,"name":"anchor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1767,"src":"11420:6:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":1771,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1759,"src":"11445:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":1772,"name":"_name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1761,"src":"11457:5:2","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":1770,"name":"_generateAnchor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2192,"src":"11429:15:2","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_string_memory_ptr_$returns$_t_address_$","typeString":"function (bytes32,string memory) returns (address)"}},"id":1773,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11429:34:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"11420:43:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":1775,"nodeType":"ExpressionStatement","src":"11420:43:2"},{"assignments":[1778],"declarations":[{"constant":false,"id":1778,"mutability":"mutable","name":"profile","nameLocation":"11554:7:2","nodeType":"VariableDeclaration","scope":1819,"src":"11538:23:2","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_storage_ptr","typeString":"struct IRegistry.Profile"},"typeName":{"id":1777,"nodeType":"UserDefinedTypeName","pathNode":{"id":1776,"name":"Profile","nameLocations":["11538:7:2"],"nodeType":"IdentifierPath","referencedDeclaration":2629,"src":"11538:7:2"},"referencedDeclaration":2629,"src":"11538:7:2","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_storage_ptr","typeString":"struct IRegistry.Profile"}},"visibility":"internal"}],"id":1782,"initialValue":{"baseExpression":{"id":1779,"name":"profilesById","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1531,"src":"11564:12:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_Profile_$2629_storage_$","typeString":"mapping(bytes32 => struct IRegistry.Profile storage ref)"}},"id":1781,"indexExpression":{"id":1780,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1759,"src":"11577:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"11564:24:2","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_storage","typeString":"struct IRegistry.Profile storage ref"}},"nodeType":"VariableDeclarationStatement","src":"11538:50:2"},{"expression":{"id":1787,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":1783,"name":"profile","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1778,"src":"11627:7:2","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_storage_ptr","typeString":"struct IRegistry.Profile storage pointer"}},"id":1785,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"11635:4:2","memberName":"name","nodeType":"MemberAccess","referencedDeclaration":2621,"src":"11627:12:2","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":1786,"name":"_name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1761,"src":"11642:5:2","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"11627:20:2","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"id":1788,"nodeType":"ExpressionStatement","src":"11627:20:2"},{"expression":{"id":1797,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":1789,"name":"anchorToProfileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1525,"src":"11687:17:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bytes32_$","typeString":"mapping(address => bytes32)"}},"id":1792,"indexExpression":{"expression":{"id":1790,"name":"profile","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1778,"src":"11705:7:2","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_storage_ptr","typeString":"struct IRegistry.Profile storage pointer"}},"id":1791,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11713:6:2","memberName":"anchor","nodeType":"MemberAccess","referencedDeclaration":2628,"src":"11705:14:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"11687:33:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"30","id":1795,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11731:1:2","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":1794,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11723:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":1793,"name":"bytes32","nodeType":"ElementaryTypeName","src":"11723:7:2","typeDescriptions":{}}},"id":1796,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11723:10:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"11687:46:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":1798,"nodeType":"ExpressionStatement","src":"11687:46:2"},{"expression":{"id":1803,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":1799,"name":"profile","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1778,"src":"11774:7:2","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_storage_ptr","typeString":"struct IRegistry.Profile storage pointer"}},"id":1801,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"11782:6:2","memberName":"anchor","nodeType":"MemberAccess","referencedDeclaration":2628,"src":"11774:14:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":1802,"name":"anchor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1767,"src":"11791:6:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"11774:23:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":1804,"nodeType":"ExpressionStatement","src":"11774:23:2"},{"expression":{"id":1809,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":1805,"name":"anchorToProfileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1525,"src":"11807:17:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bytes32_$","typeString":"mapping(address => bytes32)"}},"id":1807,"indexExpression":{"id":1806,"name":"anchor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1767,"src":"11825:6:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"11807:25:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":1808,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1759,"src":"11835:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"11807:38:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":1810,"nodeType":"ExpressionStatement","src":"11807:38:2"},{"eventCall":{"arguments":[{"id":1812,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1759,"src":"11950:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":1813,"name":"_name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1761,"src":"11962:5:2","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":1814,"name":"anchor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1767,"src":"11969:6:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"id":1811,"name":"ProfileNameUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2654,"src":"11931:18:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_bytes32_$_t_string_memory_ptr_$_t_address_$returns$__$","typeString":"function (bytes32,string memory,address)"}},"id":1815,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11931:45:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1816,"nodeType":"EmitStatement","src":"11926:50:2"},{"expression":{"id":1817,"name":"anchor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1767,"src":"12027:6:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":1768,"id":1818,"nodeType":"Return","src":"12020:13:2"}]},"baseFunctions":[2752],"documentation":{"id":1757,"nodeType":"StructuredDocumentation","src":"10688:517:2","text":"@notice Updates the name of the profile and generates new anchor.\n Emits a 'ProfileNameUpdated()' event.\n @dev Use caution when updating your profile name as it will generate a new anchor address. You can always update the name\n back to the original name to get the original anchor address. 'msg.sender' must be the owner of the profile.\n @param _profileId The profileId of the profile\n @param _name The new name of the profile\n @return anchor The new anchor"},"functionSelector":"cf189ff2","implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":1764,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1759,"src":"11320:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":1765,"kind":"modifierInvocation","modifierName":{"id":1763,"name":"onlyProfileOwner","nameLocations":["11303:16:2"],"nodeType":"IdentifierPath","referencedDeclaration":1553,"src":"11303:16:2"},"nodeType":"ModifierInvocation","src":"11303:28:2"}],"name":"updateProfileName","nameLocation":"11219:17:2","parameters":{"id":1762,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1759,"mutability":"mutable","name":"_profileId","nameLocation":"11245:10:2","nodeType":"VariableDeclaration","scope":1820,"src":"11237:18:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1758,"name":"bytes32","nodeType":"ElementaryTypeName","src":"11237:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":1761,"mutability":"mutable","name":"_name","nameLocation":"11271:5:2","nodeType":"VariableDeclaration","scope":1820,"src":"11257:19:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1760,"name":"string","nodeType":"ElementaryTypeName","src":"11257:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"11236:41:2"},"returnParameters":{"id":1768,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1767,"mutability":"mutable","name":"anchor","nameLocation":"11357:6:2","nodeType":"VariableDeclaration","scope":1820,"src":"11349:14:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1766,"name":"address","nodeType":"ElementaryTypeName","src":"11349:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"11348:16:2"},"scope":2295,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":1845,"nodeType":"FunctionDefinition","src":"12309:415:2","nodes":[],"body":{"id":1844,"nodeType":"Block","src":"12445:279:2","nodes":[],"statements":[{"expression":{"id":1837,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"baseExpression":{"id":1832,"name":"profilesById","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1531,"src":"12553:12:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_Profile_$2629_storage_$","typeString":"mapping(bytes32 => struct IRegistry.Profile storage ref)"}},"id":1834,"indexExpression":{"id":1833,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1823,"src":"12566:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"12553:24:2","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_storage","typeString":"struct IRegistry.Profile storage ref"}},"id":1835,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"12578:8:2","memberName":"metadata","nodeType":"MemberAccess","referencedDeclaration":2624,"src":"12553:33:2","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage","typeString":"struct Metadata storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":1836,"name":"_metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1826,"src":"12589:9:2","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}},"src":"12553:45:2","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage","typeString":"struct Metadata storage ref"}},"id":1838,"nodeType":"ExpressionStatement","src":"12553:45:2"},{"eventCall":{"arguments":[{"id":1840,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1823,"src":"12695:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":1841,"name":"_metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1826,"src":"12707:9:2","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}],"id":1839,"name":"ProfileMetadataUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2662,"src":"12672:22:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_bytes32_$_t_struct$_Metadata_$3098_memory_ptr_$returns$__$","typeString":"function (bytes32,struct Metadata memory)"}},"id":1842,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12672:45:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1843,"nodeType":"EmitStatement","src":"12667:50:2"}]},"baseFunctions":[2761],"documentation":{"id":1821,"nodeType":"StructuredDocumentation","src":"12046:258:2","text":"@notice Update the 'Metadata' of the profile. Emits a 'ProfileMetadataUpdated()' event.\n @dev 'msg.sender' must be the owner of the profile.\n @param _profileId The ID of the profile\n @param _metadata The new 'Metadata' of the profile"},"functionSelector":"ac402839","implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":1829,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1823,"src":"12429:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":1830,"kind":"modifierInvocation","modifierName":{"id":1828,"name":"onlyProfileOwner","nameLocations":["12412:16:2"],"nodeType":"IdentifierPath","referencedDeclaration":1553,"src":"12412:16:2"},"nodeType":"ModifierInvocation","src":"12412:28:2"}],"name":"updateProfileMetadata","nameLocation":"12318:21:2","parameters":{"id":1827,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1823,"mutability":"mutable","name":"_profileId","nameLocation":"12348:10:2","nodeType":"VariableDeclaration","scope":1845,"src":"12340:18:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1822,"name":"bytes32","nodeType":"ElementaryTypeName","src":"12340:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":1826,"mutability":"mutable","name":"_metadata","nameLocation":"12376:9:2","nodeType":"VariableDeclaration","scope":1845,"src":"12360:25:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata"},"typeName":{"id":1825,"nodeType":"UserDefinedTypeName","pathNode":{"id":1824,"name":"Metadata","nameLocations":["12360:8:2"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"12360:8:2"},"referencedDeclaration":3098,"src":"12360:8:2","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"}],"src":"12339:47:2"},"returnParameters":{"id":1831,"nodeType":"ParameterList","parameters":[],"src":"12445:0:2"},"scope":2295,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":1866,"nodeType":"FunctionDefinition","src":"12992:208:2","nodes":[],"body":{"id":1865,"nodeType":"Block","src":"13093:107:2","nodes":[],"statements":[{"expression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":1863,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":1856,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1848,"src":"13128:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":1857,"name":"_account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1850,"src":"13140:8:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":1855,"name":"_isOwnerOfProfile","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2229,"src":"13110:17:2","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) view returns (bool)"}},"id":1858,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13110:39:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"arguments":[{"id":1860,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1848,"src":"13172:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":1861,"name":"_account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1850,"src":"13184:8:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":1859,"name":"_isMemberOfProfile","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2245,"src":"13153:18:2","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) view returns (bool)"}},"id":1862,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13153:40:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"13110:83:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":1854,"id":1864,"nodeType":"Return","src":"13103:90:2"}]},"baseFunctions":[2704],"documentation":{"id":1846,"nodeType":"StructuredDocumentation","src":"12730:257:2","text":"@notice Checks if the address is an owner or member of the profile\n @param _profileId The ID of the profile\n @param _account The address to check\n @return 'true' if the address is an owner or member of the profile, otherwise 'false'"},"functionSelector":"5e8a7915","implemented":true,"kind":"function","modifiers":[],"name":"isOwnerOrMemberOfProfile","nameLocation":"13001:24:2","parameters":{"id":1851,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1848,"mutability":"mutable","name":"_profileId","nameLocation":"13034:10:2","nodeType":"VariableDeclaration","scope":1866,"src":"13026:18:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1847,"name":"bytes32","nodeType":"ElementaryTypeName","src":"13026:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":1850,"mutability":"mutable","name":"_account","nameLocation":"13054:8:2","nodeType":"VariableDeclaration","scope":1866,"src":"13046:16:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1849,"name":"address","nodeType":"ElementaryTypeName","src":"13046:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"13025:38:2"},"returnParameters":{"id":1854,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1853,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1866,"src":"13087:4:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1852,"name":"bool","nodeType":"ElementaryTypeName","src":"13087:4:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"13086:6:2"},"scope":2295,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":1882,"nodeType":"FunctionDefinition","src":"13452:152:2","nodes":[],"body":{"id":1881,"nodeType":"Block","src":"13543:61:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":1877,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1869,"src":"13578:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":1878,"name":"_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1871,"src":"13590:6:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":1876,"name":"_isOwnerOfProfile","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2229,"src":"13560:17:2","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) view returns (bool)"}},"id":1879,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13560:37:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":1875,"id":1880,"nodeType":"Return","src":"13553:44:2"}]},"baseFunctions":[2714],"documentation":{"id":1867,"nodeType":"StructuredDocumentation","src":"13206:241:2","text":"@notice Checks if the given address is an owner of the profile\n @param _profileId The ID of the profile\n @param _owner The address to check\n @return 'true' if the address is an owner of the profile, otherwise 'false'"},"functionSelector":"39b86b8c","implemented":true,"kind":"function","modifiers":[],"name":"isOwnerOfProfile","nameLocation":"13461:16:2","parameters":{"id":1872,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1869,"mutability":"mutable","name":"_profileId","nameLocation":"13486:10:2","nodeType":"VariableDeclaration","scope":1882,"src":"13478:18:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1868,"name":"bytes32","nodeType":"ElementaryTypeName","src":"13478:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":1871,"mutability":"mutable","name":"_owner","nameLocation":"13506:6:2","nodeType":"VariableDeclaration","scope":1882,"src":"13498:14:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1870,"name":"address","nodeType":"ElementaryTypeName","src":"13498:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"13477:36:2"},"returnParameters":{"id":1875,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1874,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1882,"src":"13537:4:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1873,"name":"bool","nodeType":"ElementaryTypeName","src":"13537:4:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"13536:6:2"},"scope":2295,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":1898,"nodeType":"FunctionDefinition","src":"13857:156:2","nodes":[],"body":{"id":1897,"nodeType":"Block","src":"13950:63:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":1893,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1885,"src":"13986:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":1894,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1887,"src":"13998:7:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":1892,"name":"_isMemberOfProfile","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2245,"src":"13967:18:2","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) view returns (bool)"}},"id":1895,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13967:39:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":1891,"id":1896,"nodeType":"Return","src":"13960:46:2"}]},"baseFunctions":[2724],"documentation":{"id":1883,"nodeType":"StructuredDocumentation","src":"13610:242:2","text":"@notice Checks if the given address is a member of the profile\n @param _profileId The ID of the profile\n @param _member The address to check\n @return 'true' if the address is a member of the profile, otherwise 'false'"},"functionSelector":"0ec1fbac","implemented":true,"kind":"function","modifiers":[],"name":"isMemberOfProfile","nameLocation":"13866:17:2","parameters":{"id":1888,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1885,"mutability":"mutable","name":"_profileId","nameLocation":"13892:10:2","nodeType":"VariableDeclaration","scope":1898,"src":"13884:18:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1884,"name":"bytes32","nodeType":"ElementaryTypeName","src":"13884:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":1887,"mutability":"mutable","name":"_member","nameLocation":"13912:7:2","nodeType":"VariableDeclaration","scope":1898,"src":"13904:15:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1886,"name":"address","nodeType":"ElementaryTypeName","src":"13904:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"13883:37:2"},"returnParameters":{"id":1891,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1890,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1898,"src":"13944:4:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1889,"name":"bool","nodeType":"ElementaryTypeName","src":"13944:4:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"13943:6:2"},"scope":2295,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":1921,"nodeType":"FunctionDefinition","src":"14336:382:2","nodes":[],"body":{"id":1920,"nodeType":"Block","src":"14472:246:2","nodes":[],"statements":[{"expression":{"id":1913,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":1909,"name":"profileIdToPendingOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1536,"src":"14530:23:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_address_$","typeString":"mapping(bytes32 => address)"}},"id":1911,"indexExpression":{"id":1910,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1901,"src":"14554:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"14530:35:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":1912,"name":"_pendingOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1903,"src":"14568:13:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"14530:51:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":1914,"nodeType":"ExpressionStatement","src":"14530:51:2"},{"eventCall":{"arguments":[{"id":1916,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1901,"src":"14685:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":1917,"name":"_pendingOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1903,"src":"14697:13:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":1915,"name":"ProfilePendingOwnerUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2676,"src":"14658:26:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_bytes32_$_t_address_$returns$__$","typeString":"function (bytes32,address)"}},"id":1918,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14658:53:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1919,"nodeType":"EmitStatement","src":"14653:58:2"}]},"baseFunctions":[2769],"documentation":{"id":1899,"nodeType":"StructuredDocumentation","src":"14019:312:2","text":"@notice Updates the pending owner of the profile. Emits a 'ProfilePendingOwnership()' event.\n @dev 'msg.sender' must be the owner of the profile. [1]*This is step one of two when transferring ownership.\n @param _profileId The ID of the profile\n @param _pendingOwner The new pending owner"},"functionSelector":"3b66dacd","implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":1906,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1901,"src":"14456:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":1907,"kind":"modifierInvocation","modifierName":{"id":1905,"name":"onlyProfileOwner","nameLocations":["14439:16:2"],"nodeType":"IdentifierPath","referencedDeclaration":1553,"src":"14439:16:2"},"nodeType":"ModifierInvocation","src":"14439:28:2"}],"name":"updateProfilePendingOwner","nameLocation":"14345:25:2","parameters":{"id":1904,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1901,"mutability":"mutable","name":"_profileId","nameLocation":"14379:10:2","nodeType":"VariableDeclaration","scope":1921,"src":"14371:18:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1900,"name":"bytes32","nodeType":"ElementaryTypeName","src":"14371:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":1903,"mutability":"mutable","name":"_pendingOwner","nameLocation":"14399:13:2","nodeType":"VariableDeclaration","scope":1921,"src":"14391:21:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1902,"name":"address","nodeType":"ElementaryTypeName","src":"14391:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"14370:43:2"},"returnParameters":{"id":1908,"nodeType":"ParameterList","parameters":[],"src":"14472:0:2"},"scope":2295,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":1966,"nodeType":"FunctionDefinition","src":"15016:745:2","nodes":[],"body":{"id":1965,"nodeType":"Block","src":"15077:684:2","nodes":[],"statements":[{"assignments":[1929],"declarations":[{"constant":false,"id":1929,"mutability":"mutable","name":"profile","nameLocation":"15147:7:2","nodeType":"VariableDeclaration","scope":1965,"src":"15131:23:2","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_storage_ptr","typeString":"struct IRegistry.Profile"},"typeName":{"id":1928,"nodeType":"UserDefinedTypeName","pathNode":{"id":1927,"name":"Profile","nameLocations":["15131:7:2"],"nodeType":"IdentifierPath","referencedDeclaration":2629,"src":"15131:7:2"},"referencedDeclaration":2629,"src":"15131:7:2","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_storage_ptr","typeString":"struct IRegistry.Profile"}},"visibility":"internal"}],"id":1933,"initialValue":{"baseExpression":{"id":1930,"name":"profilesById","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1531,"src":"15157:12:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_Profile_$2629_storage_$","typeString":"mapping(bytes32 => struct IRegistry.Profile storage ref)"}},"id":1932,"indexExpression":{"id":1931,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1924,"src":"15170:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15157:24:2","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_storage","typeString":"struct IRegistry.Profile storage ref"}},"nodeType":"VariableDeclarationStatement","src":"15131:50:2"},{"assignments":[1935],"declarations":[{"constant":false,"id":1935,"mutability":"mutable","name":"newOwner","nameLocation":"15290:8:2","nodeType":"VariableDeclaration","scope":1965,"src":"15282:16:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1934,"name":"address","nodeType":"ElementaryTypeName","src":"15282:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":1939,"initialValue":{"baseExpression":{"id":1936,"name":"profileIdToPendingOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1536,"src":"15301:23:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_address_$","typeString":"mapping(bytes32 => address)"}},"id":1938,"indexExpression":{"id":1937,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1924,"src":"15325:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15301:35:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"15282:54:2"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":1943,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":1940,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"15414:3:2","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":1941,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15418:6:2","memberName":"sender","nodeType":"MemberAccess","src":"15414:10:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":1942,"name":"newOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1935,"src":"15428:8:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"15414:22:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1947,"nodeType":"IfStatement","src":"15410:54:2","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":1944,"name":"NOT_PENDING_OWNER","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3029,"src":"15445:17:2","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":1945,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15445:19:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1946,"nodeType":"RevertStatement","src":"15438:26:2"}},{"expression":{"id":1952,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":1948,"name":"profile","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1929,"src":"15550:7:2","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_storage_ptr","typeString":"struct IRegistry.Profile storage pointer"}},"id":1950,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"15558:5:2","memberName":"owner","nodeType":"MemberAccess","referencedDeclaration":2626,"src":"15550:13:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":1951,"name":"newOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1935,"src":"15566:8:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"15550:24:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":1953,"nodeType":"ExpressionStatement","src":"15550:24:2"},{"expression":{"id":1957,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"15584:42:2","subExpression":{"baseExpression":{"id":1954,"name":"profileIdToPendingOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1536,"src":"15591:23:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_address_$","typeString":"mapping(bytes32 => address)"}},"id":1956,"indexExpression":{"id":1955,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1924,"src":"15615:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"15591:35:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1958,"nodeType":"ExpressionStatement","src":"15584:42:2"},{"eventCall":{"arguments":[{"id":1960,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1924,"src":"15728:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"expression":{"id":1961,"name":"profile","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1929,"src":"15740:7:2","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_storage_ptr","typeString":"struct IRegistry.Profile storage pointer"}},"id":1962,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15748:5:2","memberName":"owner","nodeType":"MemberAccess","referencedDeclaration":2626,"src":"15740:13:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":1959,"name":"ProfileOwnerUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2669,"src":"15708:19:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_bytes32_$_t_address_$returns$__$","typeString":"function (bytes32,address)"}},"id":1963,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15708:46:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1964,"nodeType":"EmitStatement","src":"15703:51:2"}]},"baseFunctions":[2775],"documentation":{"id":1922,"nodeType":"StructuredDocumentation","src":"14724:287:2","text":"@notice Transfers the ownership of the profile to the pending owner and Emits a 'ProfileOwnerUdpated()' event.\n @dev 'msg.sender' must be the pending owner of the profile. [2]*This is step two of two when transferring ownership.\n @param _profileId The ID of the profile"},"functionSelector":"2497f3c6","implemented":true,"kind":"function","modifiers":[],"name":"acceptProfileOwnership","nameLocation":"15025:22:2","parameters":{"id":1925,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1924,"mutability":"mutable","name":"_profileId","nameLocation":"15056:10:2","nodeType":"VariableDeclaration","scope":1966,"src":"15048:18:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1923,"name":"bytes32","nodeType":"ElementaryTypeName","src":"15048:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"15047:20:2"},"returnParameters":{"id":1926,"nodeType":"ParameterList","parameters":[],"src":"15077:0:2"},"scope":2295,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":2017,"nodeType":"FunctionDefinition","src":"15962:658:2","nodes":[],"body":{"id":2016,"nodeType":"Block","src":"16067:553:2","nodes":[],"statements":[{"assignments":[1979],"declarations":[{"constant":false,"id":1979,"mutability":"mutable","name":"memberLength","nameLocation":"16085:12:2","nodeType":"VariableDeclaration","scope":2016,"src":"16077:20:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1978,"name":"uint256","nodeType":"ElementaryTypeName","src":"16077:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":1982,"initialValue":{"expression":{"id":1980,"name":"_members","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1972,"src":"16100:8:2","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":1981,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16109:6:2","memberName":"length","nodeType":"MemberAccess","src":"16100:15:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"16077:38:2"},{"body":{"id":2014,"nodeType":"Block","src":"16246:368:2","statements":[{"assignments":[1990],"declarations":[{"constant":false,"id":1990,"mutability":"mutable","name":"member","nameLocation":"16268:6:2","nodeType":"VariableDeclaration","scope":2014,"src":"16260:14:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1989,"name":"address","nodeType":"ElementaryTypeName","src":"16260:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":1994,"initialValue":{"baseExpression":{"id":1991,"name":"_members","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1972,"src":"16277:8:2","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":1993,"indexExpression":{"id":1992,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1984,"src":"16286:1:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"16277:11:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"16260:28:2"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":2000,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1995,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1990,"src":"16377:6:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":1998,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16395:1:2","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":1997,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16387:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":1996,"name":"address","nodeType":"ElementaryTypeName","src":"16387:7:2","typeDescriptions":{}}},"id":1999,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16387:10:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"16377:20:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2004,"nodeType":"IfStatement","src":"16373:47:2","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":2001,"name":"ZERO_ADDRESS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3020,"src":"16406:12:2","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":2002,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16406:14:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2003,"nodeType":"RevertStatement","src":"16399:21:2"}},{"expression":{"arguments":[{"id":2006,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1969,"src":"16525:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":2007,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1990,"src":"16537:6:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":2005,"name":"_grantRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52699,"src":"16514:10:2","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$","typeString":"function (bytes32,address)"}},"id":2008,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16514:30:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2009,"nodeType":"ExpressionStatement","src":"16514:30:2"},{"id":2013,"nodeType":"UncheckedBlock","src":"16558:46:2","statements":[{"expression":{"id":2011,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":true,"src":"16586:3:2","subExpression":{"id":2010,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1984,"src":"16588:1:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":2012,"nodeType":"ExpressionStatement","src":"16586:3:2"}]}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1988,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1986,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1984,"src":"16227:1:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":1987,"name":"memberLength","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1979,"src":"16231:12:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16227:16:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2015,"initializationExpression":{"assignments":[1984],"declarations":[{"constant":false,"id":1984,"mutability":"mutable","name":"i","nameLocation":"16224:1:2","nodeType":"VariableDeclaration","scope":2015,"src":"16216:9:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1983,"name":"uint256","nodeType":"ElementaryTypeName","src":"16216:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":1985,"nodeType":"VariableDeclarationStatement","src":"16216:9:2"},"nodeType":"ForStatement","src":"16211:403:2"}]},"baseFunctions":[2784],"documentation":{"id":1967,"nodeType":"StructuredDocumentation","src":"15767:190:2","text":"@notice Adds members to the profile\n @dev 'msg.sender' must be the owner of the profile.\n @param _profileId The ID of the profile\n @param _members The members to add"},"functionSelector":"5063f361","implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":1975,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1969,"src":"16055:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":1976,"kind":"modifierInvocation","modifierName":{"id":1974,"name":"onlyProfileOwner","nameLocations":["16038:16:2"],"nodeType":"IdentifierPath","referencedDeclaration":1553,"src":"16038:16:2"},"nodeType":"ModifierInvocation","src":"16038:28:2"}],"name":"addMembers","nameLocation":"15971:10:2","parameters":{"id":1973,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1969,"mutability":"mutable","name":"_profileId","nameLocation":"15990:10:2","nodeType":"VariableDeclaration","scope":2017,"src":"15982:18:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1968,"name":"bytes32","nodeType":"ElementaryTypeName","src":"15982:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":1972,"mutability":"mutable","name":"_members","nameLocation":"16019:8:2","nodeType":"VariableDeclaration","scope":2017,"src":"16002:25:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":1970,"name":"address","nodeType":"ElementaryTypeName","src":"16002:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":1971,"nodeType":"ArrayTypeName","src":"16002:9:2","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"15981:47:2"},"returnParameters":{"id":1977,"nodeType":"ParameterList","parameters":[],"src":"16067:0:2"},"scope":2295,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":2054,"nodeType":"FunctionDefinition","src":"16837:500:2","nodes":[],"body":{"id":2053,"nodeType":"Block","src":"16945:392:2","nodes":[],"statements":[{"assignments":[2030],"declarations":[{"constant":false,"id":2030,"mutability":"mutable","name":"memberLength","nameLocation":"16963:12:2","nodeType":"VariableDeclaration","scope":2053,"src":"16955:20:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2029,"name":"uint256","nodeType":"ElementaryTypeName","src":"16955:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":2033,"initialValue":{"expression":{"id":2031,"name":"_members","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2023,"src":"16978:8:2","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":2032,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16987:6:2","memberName":"length","nodeType":"MemberAccess","src":"16978:15:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"16955:38:2"},{"body":{"id":2051,"nodeType":"Block","src":"17129:202:2","statements":[{"expression":{"arguments":[{"id":2041,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2020,"src":"17237:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"baseExpression":{"id":2042,"name":"_members","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2023,"src":"17249:8:2","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":2044,"indexExpression":{"id":2043,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2035,"src":"17258:1:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"17249:11:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":2040,"name":"_revokeRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52730,"src":"17225:11:2","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$","typeString":"function (bytes32,address)"}},"id":2045,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17225:36:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2046,"nodeType":"ExpressionStatement","src":"17225:36:2"},{"id":2050,"nodeType":"UncheckedBlock","src":"17275:46:2","statements":[{"expression":{"id":2048,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":true,"src":"17303:3:2","subExpression":{"id":2047,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2035,"src":"17305:1:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":2049,"nodeType":"ExpressionStatement","src":"17303:3:2"}]}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2039,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2037,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2035,"src":"17110:1:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":2038,"name":"memberLength","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2030,"src":"17114:12:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17110:16:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2052,"initializationExpression":{"assignments":[2035],"declarations":[{"constant":false,"id":2035,"mutability":"mutable","name":"i","nameLocation":"17107:1:2","nodeType":"VariableDeclaration","scope":2052,"src":"17099:9:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2034,"name":"uint256","nodeType":"ElementaryTypeName","src":"17099:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":2036,"nodeType":"VariableDeclarationStatement","src":"17099:9:2"},"nodeType":"ForStatement","src":"17094:237:2"}]},"baseFunctions":[2793],"documentation":{"id":2018,"nodeType":"StructuredDocumentation","src":"16626:206:2","text":"@notice Removes members from the profile\n @dev 'msg.sender' must be the pending owner of the profile.\n @param _profileId The ID of the profile\n @param _members The members to remove"},"functionSelector":"e0cf1e4c","implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":2026,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2020,"src":"16933:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":2027,"kind":"modifierInvocation","modifierName":{"id":2025,"name":"onlyProfileOwner","nameLocations":["16916:16:2"],"nodeType":"IdentifierPath","referencedDeclaration":1553,"src":"16916:16:2"},"nodeType":"ModifierInvocation","src":"16916:28:2"}],"name":"removeMembers","nameLocation":"16846:13:2","parameters":{"id":2024,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2020,"mutability":"mutable","name":"_profileId","nameLocation":"16868:10:2","nodeType":"VariableDeclaration","scope":2054,"src":"16860:18:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2019,"name":"bytes32","nodeType":"ElementaryTypeName","src":"16860:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":2023,"mutability":"mutable","name":"_members","nameLocation":"16897:8:2","nodeType":"VariableDeclaration","scope":2054,"src":"16880:25:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":2021,"name":"address","nodeType":"ElementaryTypeName","src":"16880:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":2022,"nodeType":"ArrayTypeName","src":"16880:9:2","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"16859:47:2"},"returnParameters":{"id":2028,"nodeType":"ParameterList","parameters":[],"src":"16945:0:2"},"scope":2295,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":2071,"nodeType":"FunctionDefinition","src":"17659:152:2","nodes":[],"body":{"id":2070,"nodeType":"Block","src":"17725:86:2","nodes":[],"statements":[{"condition":{"id":2065,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"17739:42:2","subExpression":{"arguments":[{"id":2061,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2057,"src":"17758:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"expression":{"id":2062,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"17770:3:2","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":2063,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17774:6:2","memberName":"sender","nodeType":"MemberAccess","src":"17770:10:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":2060,"name":"_isOwnerOfProfile","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2229,"src":"17740:17:2","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) view returns (bool)"}},"id":2064,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17740:41:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2069,"nodeType":"IfStatement","src":"17735:69:2","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":2066,"name":"UNAUTHORIZED","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3017,"src":"17790:12:2","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":2067,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17790:14:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2068,"nodeType":"RevertStatement","src":"17783:21:2"}}]},"documentation":{"id":2055,"nodeType":"StructuredDocumentation","src":"17479:175:2","text":"@notice Checks if the caller is the owner of the profile\n @dev Internal function used by modifier 'onlyProfileOwner'\n @param _profileId The ID of the profile"},"implemented":true,"kind":"function","modifiers":[],"name":"_checkOnlyProfileOwner","nameLocation":"17668:22:2","parameters":{"id":2058,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2057,"mutability":"mutable","name":"_profileId","nameLocation":"17699:10:2","nodeType":"VariableDeclaration","scope":2071,"src":"17691:18:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2056,"name":"bytes32","nodeType":"ElementaryTypeName","src":"17691:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"17690:20:2"},"returnParameters":{"id":2059,"nodeType":"ParameterList","parameters":[],"src":"17725:0:2"},"scope":2295,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":2192,"nodeType":"FunctionDefinition","src":"18166:969:2","nodes":[],"body":{"id":2191,"nodeType":"Block","src":"18266:869:2","nodes":[],"statements":[{"assignments":[2082],"declarations":[{"constant":false,"id":2082,"mutability":"mutable","name":"encodedData","nameLocation":"18289:11:2","nodeType":"VariableDeclaration","scope":2191,"src":"18276:24:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":2081,"name":"bytes","nodeType":"ElementaryTypeName","src":"18276:5:2","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":2088,"initialValue":{"arguments":[{"id":2085,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2074,"src":"18314:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":2086,"name":"_name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2076,"src":"18326:5:2","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":2083,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"18303:3:2","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":2084,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"18307:6:2","memberName":"encode","nodeType":"MemberAccess","src":"18303:10:2","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":2087,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18303:29:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"18276:56:2"},{"assignments":[2090],"declarations":[{"constant":false,"id":2090,"mutability":"mutable","name":"encodedConstructorArgs","nameLocation":"18355:22:2","nodeType":"VariableDeclaration","scope":2191,"src":"18342:35:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":2089,"name":"bytes","nodeType":"ElementaryTypeName","src":"18342:5:2","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":2099,"initialValue":{"arguments":[{"id":2093,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2074,"src":"18391:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"id":2096,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"18411:4:2","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}],"id":2095,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"18403:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":2094,"name":"address","nodeType":"ElementaryTypeName","src":"18403:7:2","typeDescriptions":{}}},"id":2097,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18403:13:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":2091,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"18380:3:2","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":2092,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"18384:6:2","memberName":"encode","nodeType":"MemberAccess","src":"18380:10:2","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":2098,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18380:37:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"18342:75:2"},{"assignments":[2101],"declarations":[{"constant":false,"id":2101,"mutability":"mutable","name":"bytecode","nameLocation":"18441:8:2","nodeType":"VariableDeclaration","scope":2191,"src":"18428:21:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":2100,"name":"bytes","nodeType":"ElementaryTypeName","src":"18428:5:2","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":2110,"initialValue":{"arguments":[{"expression":{"arguments":[{"id":2105,"name":"Anchor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1492,"src":"18474:6:2","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Anchor_$1492_$","typeString":"type(contract Anchor)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_contract$_Anchor_$1492_$","typeString":"type(contract Anchor)"}],"id":2104,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"18469:4:2","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":2106,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18469:12:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_contract$_Anchor_$1492","typeString":"type(contract Anchor)"}},"id":2107,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"18482:12:2","memberName":"creationCode","nodeType":"MemberAccess","src":"18469:25:2","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":2108,"name":"encodedConstructorArgs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2090,"src":"18496:22:2","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":2102,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"18452:3:2","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":2103,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"18456:12:2","memberName":"encodePacked","nodeType":"MemberAccess","src":"18452:16:2","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":2109,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18452:67:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"18428:91:2"},{"assignments":[2112],"declarations":[{"constant":false,"id":2112,"mutability":"mutable","name":"salt","nameLocation":"18538:4:2","nodeType":"VariableDeclaration","scope":2191,"src":"18530:12:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2111,"name":"bytes32","nodeType":"ElementaryTypeName","src":"18530:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":2116,"initialValue":{"arguments":[{"id":2114,"name":"encodedData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2082,"src":"18555:11:2","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":2113,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"18545:9:2","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":2115,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18545:22:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"18530:37:2"},{"assignments":[2118],"declarations":[{"constant":false,"id":2118,"mutability":"mutable","name":"preComputedAddress","nameLocation":"18586:18:2","nodeType":"VariableDeclaration","scope":2191,"src":"18578:26:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2117,"name":"address","nodeType":"ElementaryTypeName","src":"18578:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":2145,"initialValue":{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"hexValue":"30786666","id":2130,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18678:4:2","typeDescriptions":{"typeIdentifier":"t_rational_255_by_1","typeString":"int_const 255"},"value":"0xff"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_255_by_1","typeString":"int_const 255"}],"id":2129,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"18671:6:2","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes1_$","typeString":"type(bytes1)"},"typeName":{"id":2128,"name":"bytes1","nodeType":"ElementaryTypeName","src":"18671:6:2","typeDescriptions":{}}},"id":2131,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18671:12:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},{"arguments":[{"id":2134,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"18693:4:2","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}],"id":2133,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"18685:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":2132,"name":"address","nodeType":"ElementaryTypeName","src":"18685:7:2","typeDescriptions":{}}},"id":2135,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18685:13:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":2136,"name":"salt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2112,"src":"18700:4:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"id":2138,"name":"bytecode","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2101,"src":"18716:8:2","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":2137,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"18706:9:2","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":2139,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18706:19:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes1","typeString":"bytes1"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":2126,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"18654:3:2","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":2127,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"18658:12:2","memberName":"encodePacked","nodeType":"MemberAccess","src":"18654:16:2","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":2140,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18654:72:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":2125,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"18644:9:2","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":2141,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18644:83:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":2124,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"18636:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":2123,"name":"uint256","nodeType":"ElementaryTypeName","src":"18636:7:2","typeDescriptions":{}}},"id":2142,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18636:92:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":2122,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"18628:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":2121,"name":"uint160","nodeType":"ElementaryTypeName","src":"18628:7:2","typeDescriptions":{}}},"id":2143,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18628:101:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":2120,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"18607:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":2119,"name":"address","nodeType":"ElementaryTypeName","src":"18607:7:2","typeDescriptions":{}}},"id":2144,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18607:132:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"18578:161:2"},{"clauses":[{"block":{"id":2168,"nodeType":"Block","src":"18918:50:2","statements":[{"expression":{"id":2166,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":2161,"name":"anchor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2079,"src":"18932:6:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":2164,"name":"_anchor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2159,"src":"18949:7:2","typeDescriptions":{"typeIdentifier":"t_contract$_Anchor_$1492","typeString":"contract Anchor"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Anchor_$1492","typeString":"contract Anchor"}],"id":2163,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"18941:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":2162,"name":"address","nodeType":"ElementaryTypeName","src":"18941:7:2","typeDescriptions":{}}},"id":2165,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18941:16:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"18932:25:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":2167,"nodeType":"ExpressionStatement","src":"18932:25:2"}]},"errorName":"","id":2169,"nodeType":"TryCatchClause","parameters":{"id":2160,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2159,"mutability":"mutable","name":"_anchor","nameLocation":"18909:7:2","nodeType":"VariableDeclaration","scope":2169,"src":"18902:14:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_Anchor_$1492","typeString":"contract Anchor"},"typeName":{"id":2158,"nodeType":"UserDefinedTypeName","pathNode":{"id":2157,"name":"Anchor","nameLocations":["18902:6:2"],"nodeType":"IdentifierPath","referencedDeclaration":1492,"src":"18902:6:2"},"referencedDeclaration":1492,"src":"18902:6:2","typeDescriptions":{"typeIdentifier":"t_contract$_Anchor_$1492","typeString":"contract Anchor"}},"visibility":"internal"}],"src":"18901:16:2"},"src":"18893:75:2"},{"block":{"id":2188,"nodeType":"Block","src":"18975:154:2","statements":[{"condition":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":2179,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[{"arguments":[{"id":2173,"name":"preComputedAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2118,"src":"19008:18:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":2172,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"19000:8:2","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":2171,"name":"address","nodeType":"ElementaryTypeName","src":"19000:8:2","stateMutability":"payable","typeDescriptions":{}}},"id":2174,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19000:27:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":2170,"name":"Anchor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1492,"src":"18993:6:2","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Anchor_$1492_$","typeString":"type(contract Anchor)"}},"id":2175,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18993:35:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Anchor_$1492","typeString":"contract Anchor"}},"id":2176,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19029:9:2","memberName":"profileId","nodeType":"MemberAccess","referencedDeclaration":1408,"src":"18993:45:2","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_bytes32_$","typeString":"function () view external returns (bytes32)"}},"id":2177,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18993:47:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":2178,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2074,"src":"19044:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"18993:61:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2183,"nodeType":"IfStatement","src":"18989:88:2","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":2180,"name":"ANCHOR_ERROR","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3032,"src":"19063:12:2","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":2181,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19063:14:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2182,"nodeType":"RevertStatement","src":"19056:21:2"}},{"expression":{"id":2186,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":2184,"name":"anchor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2079,"src":"19091:6:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":2185,"name":"preComputedAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2118,"src":"19100:18:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"19091:27:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":2187,"nodeType":"ExpressionStatement","src":"19091:27:2"}]},"errorName":"","id":2189,"nodeType":"TryCatchClause","src":"18969:160:2"}],"externalCall":{"arguments":[{"id":2151,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2074,"src":"18866:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"id":2154,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"18886:4:2","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}],"id":2153,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"18878:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":2152,"name":"address","nodeType":"ElementaryTypeName","src":"18878:7:2","typeDescriptions":{}}},"id":2155,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18878:13:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":2148,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"18843:10:2","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$_t_bytes32_$_t_address_$returns$_t_contract$_Anchor_$1492_$","typeString":"function (bytes32,address) returns (contract Anchor)"},"typeName":{"id":2147,"nodeType":"UserDefinedTypeName","pathNode":{"id":2146,"name":"Anchor","nameLocations":["18847:6:2"],"nodeType":"IdentifierPath","referencedDeclaration":1492,"src":"18847:6:2"},"referencedDeclaration":1492,"src":"18847:6:2","typeDescriptions":{"typeIdentifier":"t_contract$_Anchor_$1492","typeString":"contract Anchor"}}},"id":2150,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"names":["salt"],"nodeType":"FunctionCallOptions","options":[{"id":2149,"name":"salt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2112,"src":"18860:4:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"src":"18843:22:2","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$_t_bytes32_$_t_address_$returns$_t_contract$_Anchor_$1492_$salt","typeString":"function (bytes32,address) returns (contract Anchor)"}},"id":2156,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18843:49:2","tryCall":true,"typeDescriptions":{"typeIdentifier":"t_contract$_Anchor_$1492","typeString":"contract Anchor"}},"id":2190,"nodeType":"TryStatement","src":"18839:290:2"}]},"documentation":{"id":2072,"nodeType":"StructuredDocumentation","src":"17817:344:2","text":"@notice Generates and deploys the anchor for the given 'profileId' and name\n @dev Internal function used by 'createProfile()' and 'updateProfileName()' to create and anchor.\n @param _profileId The ID of the profile\n @param _name The name of the profile\n @return anchor The address of the deployed anchor contract"},"implemented":true,"kind":"function","modifiers":[],"name":"_generateAnchor","nameLocation":"18175:15:2","parameters":{"id":2077,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2074,"mutability":"mutable","name":"_profileId","nameLocation":"18199:10:2","nodeType":"VariableDeclaration","scope":2192,"src":"18191:18:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2073,"name":"bytes32","nodeType":"ElementaryTypeName","src":"18191:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":2076,"mutability":"mutable","name":"_name","nameLocation":"18225:5:2","nodeType":"VariableDeclaration","scope":2192,"src":"18211:19:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":2075,"name":"string","nodeType":"ElementaryTypeName","src":"18211:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"18190:41:2"},"returnParameters":{"id":2080,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2079,"mutability":"mutable","name":"anchor","nameLocation":"18258:6:2","nodeType":"VariableDeclaration","scope":2192,"src":"18250:14:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2078,"name":"address","nodeType":"ElementaryTypeName","src":"18250:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"18249:16:2"},"scope":2295,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":2211,"nodeType":"FunctionDefinition","src":"19465:159:2","nodes":[],"body":{"id":2210,"nodeType":"Block","src":"19557:67:2","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":2205,"name":"_nonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2195,"src":"19601:6:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2206,"name":"_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2197,"src":"19609:6:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":2203,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"19584:3:2","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":2204,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"19588:12:2","memberName":"encodePacked","nodeType":"MemberAccess","src":"19584:16:2","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":2207,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19584:32:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":2202,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"19574:9:2","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":2208,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19574:43:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":2201,"id":2209,"nodeType":"Return","src":"19567:50:2"}]},"documentation":{"id":2193,"nodeType":"StructuredDocumentation","src":"19141:319:2","text":"@notice Generates the 'profileId' based on msg.sender and nonce\n @dev Internal function used by 'createProfile()' to generate profileId.\n @param _nonce Nonce provided by the caller to generate 'profileId'\n @param _owner The owner of the profile\n @return 'profileId' The ID of the profile"},"implemented":true,"kind":"function","modifiers":[],"name":"_generateProfileId","nameLocation":"19474:18:2","parameters":{"id":2198,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2195,"mutability":"mutable","name":"_nonce","nameLocation":"19501:6:2","nodeType":"VariableDeclaration","scope":2211,"src":"19493:14:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2194,"name":"uint256","nodeType":"ElementaryTypeName","src":"19493:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2197,"mutability":"mutable","name":"_owner","nameLocation":"19517:6:2","nodeType":"VariableDeclaration","scope":2211,"src":"19509:14:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2196,"name":"address","nodeType":"ElementaryTypeName","src":"19509:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"19492:32:2"},"returnParameters":{"id":2201,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2200,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2211,"src":"19548:7:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2199,"name":"bytes32","nodeType":"ElementaryTypeName","src":"19548:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"19547:9:2"},"scope":2295,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":2229,"nodeType":"FunctionDefinition","src":"19963:156:2","nodes":[],"body":{"id":2228,"nodeType":"Block","src":"20055:64:2","nodes":[],"statements":[{"expression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":2226,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":2221,"name":"profilesById","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1531,"src":"20072:12:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_Profile_$2629_storage_$","typeString":"mapping(bytes32 => struct IRegistry.Profile storage ref)"}},"id":2223,"indexExpression":{"id":2222,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2214,"src":"20085:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"20072:24:2","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_storage","typeString":"struct IRegistry.Profile storage ref"}},"id":2224,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"20097:5:2","memberName":"owner","nodeType":"MemberAccess","referencedDeclaration":2626,"src":"20072:30:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":2225,"name":"_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2216,"src":"20106:6:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"20072:40:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":2220,"id":2227,"nodeType":"Return","src":"20065:47:2"}]},"documentation":{"id":2212,"nodeType":"StructuredDocumentation","src":"19630:328:2","text":"@notice Checks if an address is the owner of the profile\n @dev Internal function used to determine if an address is the profile owner\n @param _profileId The 'profileId' of the profile\n @param _owner The address to check\n @return 'true' if the address is an owner of the profile, otherwise 'false'"},"implemented":true,"kind":"function","modifiers":[],"name":"_isOwnerOfProfile","nameLocation":"19972:17:2","parameters":{"id":2217,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2214,"mutability":"mutable","name":"_profileId","nameLocation":"19998:10:2","nodeType":"VariableDeclaration","scope":2229,"src":"19990:18:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2213,"name":"bytes32","nodeType":"ElementaryTypeName","src":"19990:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":2216,"mutability":"mutable","name":"_owner","nameLocation":"20018:6:2","nodeType":"VariableDeclaration","scope":2229,"src":"20010:14:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2215,"name":"address","nodeType":"ElementaryTypeName","src":"20010:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"19989:36:2"},"returnParameters":{"id":2220,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2219,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2229,"src":"20049:4:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":2218,"name":"bool","nodeType":"ElementaryTypeName","src":"20049:4:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"20048:6:2"},"scope":2295,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":2245,"nodeType":"FunctionDefinition","src":"20464:146:2","nodes":[],"body":{"id":2244,"nodeType":"Block","src":"20558:52:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":2240,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2232,"src":"20583:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":2241,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2234,"src":"20595:7:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":2239,"name":"hasRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52495,"src":"20575:7:2","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) view returns (bool)"}},"id":2242,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20575:28:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":2238,"id":2243,"nodeType":"Return","src":"20568:35:2"}]},"documentation":{"id":2230,"nodeType":"StructuredDocumentation","src":"20125:334:2","text":"@notice Checks if an address is a member of the profile\n @dev Internal function used to determine if an address is a member of the profile\n @param _profileId The 'profileId' of the profile\n @param _member The address to check\n @return 'true' if the address is a member of the profile, otherwise 'false'"},"implemented":true,"kind":"function","modifiers":[],"name":"_isMemberOfProfile","nameLocation":"20473:18:2","parameters":{"id":2235,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2232,"mutability":"mutable","name":"_profileId","nameLocation":"20500:10:2","nodeType":"VariableDeclaration","scope":2245,"src":"20492:18:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2231,"name":"bytes32","nodeType":"ElementaryTypeName","src":"20492:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":2234,"mutability":"mutable","name":"_member","nameLocation":"20520:7:2","nodeType":"VariableDeclaration","scope":2245,"src":"20512:15:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2233,"name":"address","nodeType":"ElementaryTypeName","src":"20512:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"20491:37:2"},"returnParameters":{"id":2238,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2237,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2245,"src":"20552:4:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":2236,"name":"bool","nodeType":"ElementaryTypeName","src":"20552:4:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"20551:6:2"},"scope":2295,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":2294,"nodeType":"FunctionDefinition","src":"20847:318:2","nodes":[],"body":{"id":2293,"nodeType":"Block","src":"20935:230:2","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":2261,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2256,"name":"_recipient","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2250,"src":"20949:10:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":2259,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20971:1:2","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":2258,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"20963:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":2257,"name":"address","nodeType":"ElementaryTypeName","src":"20963:7:2","typeDescriptions":{}}},"id":2260,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20963:10:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"20949:24:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2265,"nodeType":"IfStatement","src":"20945:51:2","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":2262,"name":"ZERO_ADDRESS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3020,"src":"20982:12:2","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":2263,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20982:14:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2264,"nodeType":"RevertStatement","src":"20975:21:2"}},{"assignments":[2267],"declarations":[{"constant":false,"id":2267,"mutability":"mutable","name":"amount","nameLocation":"21015:6:2","nodeType":"VariableDeclaration","scope":2293,"src":"21007:14:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2266,"name":"uint256","nodeType":"ElementaryTypeName","src":"21007:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":2286,"initialValue":{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":2270,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2268,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2248,"src":"21024:6:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":2269,"name":"NATIVE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3105,"src":"21034:6:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"21024:16:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"arguments":[{"arguments":[{"id":2282,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"21099:4:2","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}],"id":2281,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"21091:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":2280,"name":"address","nodeType":"ElementaryTypeName","src":"21091:7:2","typeDescriptions":{}}},"id":2283,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21091:13:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"arguments":[{"id":2277,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2248,"src":"21073:6:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":2276,"name":"ERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4491,"src":"21067:5:2","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ERC20_$4491_$","typeString":"type(contract ERC20)"}},"id":2278,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21067:13:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ERC20_$4491","typeString":"contract ERC20"}},"id":2279,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21081:9:2","memberName":"balanceOf","nodeType":"MemberAccess","referencedDeclaration":4200,"src":"21067:23:2","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":2284,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21067:38:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":2285,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"21024:81:2","trueExpression":{"expression":{"arguments":[{"id":2273,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"21051:4:2","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}],"id":2272,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"21043:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":2271,"name":"address","nodeType":"ElementaryTypeName","src":"21043:7:2","typeDescriptions":{}}},"id":2274,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21043:13:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":2275,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21057:7:2","memberName":"balance","nodeType":"MemberAccess","src":"21043:21:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"21007:98:2"},{"expression":{"arguments":[{"id":2288,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2248,"src":"21131:6:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":2289,"name":"_recipient","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2250,"src":"21139:10:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":2290,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2267,"src":"21151:6:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":2287,"name":"_transferAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3287,"src":"21115:15:2","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":2291,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21115:43:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2292,"nodeType":"ExpressionStatement","src":"21115:43:2"}]},"baseFunctions":[2801],"documentation":{"id":2246,"nodeType":"StructuredDocumentation","src":"20616:226:2","text":"@notice Transfers any fund balance in Allo to the recipient\n @dev 'msg.sender' must be the Allo owner\n @param _token The address of the token to transfer\n @param _recipient The address of the recipient"},"functionSelector":"24ae6a27","implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":2253,"name":"ALLO_OWNER","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1542,"src":"20923:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":2254,"kind":"modifierInvocation","modifierName":{"id":2252,"name":"onlyRole","nameLocations":["20914:8:2"],"nodeType":"IdentifierPath","referencedDeclaration":52442,"src":"20914:8:2"},"nodeType":"ModifierInvocation","src":"20914:20:2"}],"name":"recoverFunds","nameLocation":"20856:12:2","parameters":{"id":2251,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2248,"mutability":"mutable","name":"_token","nameLocation":"20877:6:2","nodeType":"VariableDeclaration","scope":2294,"src":"20869:14:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2247,"name":"address","nodeType":"ElementaryTypeName","src":"20869:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":2250,"mutability":"mutable","name":"_recipient","nameLocation":"20893:10:2","nodeType":"VariableDeclaration","scope":2294,"src":"20885:18:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2249,"name":"address","nodeType":"ElementaryTypeName","src":"20885:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"20868:36:2"},"returnParameters":{"id":2255,"nodeType":"ParameterList","parameters":[],"src":"20935:0:2"},"scope":2295,"stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[{"baseName":{"id":1509,"name":"IRegistry","nameLocations":["5258:9:2"],"nodeType":"IdentifierPath","referencedDeclaration":2802,"src":"5258:9:2"},"id":1510,"nodeType":"InheritanceSpecifier","src":"5258:9:2"},{"baseName":{"id":1511,"name":"Initializable","nameLocations":["5269:13:2"],"nodeType":"IdentifierPath","referencedDeclaration":53191,"src":"5269:13:2"},"id":1512,"nodeType":"InheritanceSpecifier","src":"5269:13:2"},{"baseName":{"id":1513,"name":"Native","nameLocations":["5284:6:2"],"nodeType":"IdentifierPath","referencedDeclaration":3106,"src":"5284:6:2"},"id":1514,"nodeType":"InheritanceSpecifier","src":"5284:6:2"},{"baseName":{"id":1515,"name":"AccessControlUpgradeable","nameLocations":["5292:24:2"],"nodeType":"IdentifierPath","referencedDeclaration":52736,"src":"5292:24:2"},"id":1516,"nodeType":"InheritanceSpecifier","src":"5292:24:2"},{"baseName":{"id":1517,"name":"Transfer","nameLocations":["5318:8:2"],"nodeType":"IdentifierPath","referencedDeclaration":3317,"src":"5318:8:2"},"id":1518,"nodeType":"InheritanceSpecifier","src":"5318:8:2"},{"baseName":{"id":1519,"name":"Errors","nameLocations":["5328:6:2"],"nodeType":"IdentifierPath","referencedDeclaration":3089,"src":"5328:6:2"},"id":1520,"nodeType":"InheritanceSpecifier","src":"5328:6:2"}],"canonicalName":"Registry","contractDependencies":[1492],"contractKind":"contract","documentation":{"id":1508,"nodeType":"StructuredDocumentation","src":"4584:653:2","text":"@title Registry Contract\n @author @thelostone-mc , @0xKurt , @codenamejason , @0xZakk , @nfrgosselin \n @notice Registry contract for creating and managing profiles\n @dev This contract is used to create and manage profiles for the Allo protocol\n It is also used to deploy the anchor contract for each profile which acts as a proxy\n for the profile and is used to receive funds and execute transactions on behalf of the profile\n The Registry is also used to add and remove members from a profile and update the profile 'Metadata'"},"fullyImplemented":true,"linearizedBaseContracts":[2295,3089,3317,52736,3106,54009,54021,52809,53735,53191,2802],"name":"Registry","nameLocation":"5246:8:2","scope":2296,"usedErrors":[3008,3011,3014,3017,3020,3023,3026,3029,3032,3035,3038,3041,3044,3047,3050,3053,3056,3059,3062,3065,3068,3071,3074,3079,3082,3085,3088,3117]}],"license":"AGPL-3.0-only"},"id":2} \ No newline at end of file +{"abi":[{"type":"function","name":"ALLO_OWNER","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"DEFAULT_ADMIN_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"NATIVE","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"acceptProfileOwnership","inputs":[{"name":"_profileId","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"addMembers","inputs":[{"name":"_profileId","type":"bytes32","internalType":"bytes32"},{"name":"_members","type":"address[]","internalType":"address[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"anchorToProfileId","inputs":[{"name":"","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"createProfile","inputs":[{"name":"_nonce","type":"uint256","internalType":"uint256"},{"name":"_name","type":"string","internalType":"string"},{"name":"_metadata","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]},{"name":"_owner","type":"address","internalType":"address"},{"name":"_members","type":"address[]","internalType":"address[]"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"nonpayable"},{"type":"function","name":"getProfileByAnchor","inputs":[{"name":"_anchor","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"tuple","internalType":"struct IRegistry.Profile","components":[{"name":"id","type":"bytes32","internalType":"bytes32"},{"name":"nonce","type":"uint256","internalType":"uint256"},{"name":"name","type":"string","internalType":"string"},{"name":"metadata","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]},{"name":"owner","type":"address","internalType":"address"},{"name":"anchor","type":"address","internalType":"address"}]}],"stateMutability":"view"},{"type":"function","name":"getProfileById","inputs":[{"name":"_profileId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"tuple","internalType":"struct IRegistry.Profile","components":[{"name":"id","type":"bytes32","internalType":"bytes32"},{"name":"nonce","type":"uint256","internalType":"uint256"},{"name":"name","type":"string","internalType":"string"},{"name":"metadata","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]},{"name":"owner","type":"address","internalType":"address"},{"name":"anchor","type":"address","internalType":"address"}]}],"stateMutability":"view"},{"type":"function","name":"getRoleAdmin","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"grantRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"hasRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"initialize","inputs":[{"name":"_owner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"isMemberOfProfile","inputs":[{"name":"_profileId","type":"bytes32","internalType":"bytes32"},{"name":"_member","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isOwnerOfProfile","inputs":[{"name":"_profileId","type":"bytes32","internalType":"bytes32"},{"name":"_owner","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isOwnerOrMemberOfProfile","inputs":[{"name":"_profileId","type":"bytes32","internalType":"bytes32"},{"name":"_account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"profileIdToPendingOwner","inputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"profilesById","inputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"id","type":"bytes32","internalType":"bytes32"},{"name":"nonce","type":"uint256","internalType":"uint256"},{"name":"name","type":"string","internalType":"string"},{"name":"metadata","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]},{"name":"owner","type":"address","internalType":"address"},{"name":"anchor","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"recoverFunds","inputs":[{"name":"_token","type":"address","internalType":"address"},{"name":"_recipient","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"removeMembers","inputs":[{"name":"_profileId","type":"bytes32","internalType":"bytes32"},{"name":"_members","type":"address[]","internalType":"address[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"renounceRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"revokeRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"updateProfileMetadata","inputs":[{"name":"_profileId","type":"bytes32","internalType":"bytes32"},{"name":"_metadata","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"updateProfileName","inputs":[{"name":"_profileId","type":"bytes32","internalType":"bytes32"},{"name":"_name","type":"string","internalType":"string"}],"outputs":[{"name":"anchor","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"updateProfilePendingOwner","inputs":[{"name":"_profileId","type":"bytes32","internalType":"bytes32"},{"name":"_pendingOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint8","indexed":false,"internalType":"uint8"}],"anonymous":false},{"type":"event","name":"ProfileCreated","inputs":[{"name":"profileId","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"nonce","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"name","type":"string","indexed":false,"internalType":"string"},{"name":"metadata","type":"tuple","indexed":false,"internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]},{"name":"owner","type":"address","indexed":false,"internalType":"address"},{"name":"anchor","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"ProfileMetadataUpdated","inputs":[{"name":"profileId","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"metadata","type":"tuple","indexed":false,"internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]}],"anonymous":false},{"type":"event","name":"ProfileNameUpdated","inputs":[{"name":"profileId","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"name","type":"string","indexed":false,"internalType":"string"},{"name":"anchor","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"ProfileOwnerUpdated","inputs":[{"name":"profileId","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"owner","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"ProfilePendingOwnerUpdated","inputs":[{"name":"profileId","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"pendingOwner","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"RoleAdminChanged","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"previousAdminRole","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"newAdminRole","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"RoleGranted","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"sender","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"RoleRevoked","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"sender","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"error","name":"ALLOCATION_ACTIVE","inputs":[]},{"type":"error","name":"ALLOCATION_NOT_ACTIVE","inputs":[]},{"type":"error","name":"ALLOCATION_NOT_ENDED","inputs":[]},{"type":"error","name":"ALREADY_INITIALIZED","inputs":[]},{"type":"error","name":"AMOUNT_MISMATCH","inputs":[]},{"type":"error","name":"ANCHOR_ERROR","inputs":[]},{"type":"error","name":"ARRAY_MISMATCH","inputs":[]},{"type":"error","name":"INVALID","inputs":[]},{"type":"error","name":"INVALID_ADDRESS","inputs":[]},{"type":"error","name":"INVALID_FEE","inputs":[]},{"type":"error","name":"INVALID_METADATA","inputs":[]},{"type":"error","name":"INVALID_REGISTRATION","inputs":[]},{"type":"error","name":"IS_APPROVED_STRATEGY","inputs":[]},{"type":"error","name":"MISMATCH","inputs":[]},{"type":"error","name":"NONCE_NOT_AVAILABLE","inputs":[]},{"type":"error","name":"NOT_APPROVED_STRATEGY","inputs":[]},{"type":"error","name":"NOT_ENOUGH_FUNDS","inputs":[]},{"type":"error","name":"NOT_IMPLEMENTED","inputs":[]},{"type":"error","name":"NOT_INITIALIZED","inputs":[]},{"type":"error","name":"NOT_PENDING_OWNER","inputs":[]},{"type":"error","name":"POOL_ACTIVE","inputs":[]},{"type":"error","name":"POOL_INACTIVE","inputs":[]},{"type":"error","name":"RECIPIENT_ALREADY_ACCEPTED","inputs":[]},{"type":"error","name":"RECIPIENT_ERROR","inputs":[{"name":"recipientId","type":"address","internalType":"address"}]},{"type":"error","name":"RECIPIENT_NOT_ACCEPTED","inputs":[]},{"type":"error","name":"REGISTRATION_NOT_ACTIVE","inputs":[]},{"type":"error","name":"UNAUTHORIZED","inputs":[]},{"type":"error","name":"ZERO_ADDRESS","inputs":[]}],"bytecode":{"object":"0x608060405234801561001057600080fd5b50612e96806100206000396000f3fe60806040523480156200001157600080fd5b5060043610620001d15760003560e01c806350d005e01162000101578063c4d66de811620000a3578063d547741f116200007a578063d547741f1462000480578063dd93da431462000497578063e0cf1e4c14620004ae578063ee88819614620004c557600080fd5b8063c4d66de8146200042a578063cf189ff21462000441578063cfda7e0a146200045857600080fd5b8063a0cf0aea11620000d8578063a0cf0aea14620003ee578063a217fddf146200040a578063ac402839146200041357600080fd5b806350d005e014620003565780635e8a7915146200039b57806391d1485414620003b257600080fd5b80632f2ff15d11620001775780633a92f65f116200014e5780633a92f65f14620002ee5780633b66dacd14620003055780634756487f146200031c5780635063f361146200033f57600080fd5b80632f2ff15d14620002a957806336568abe14620002c057806339b86b8c14620002d757600080fd5b8063248a9ca311620001ac578063248a9ca314620002445780632497f3c6146200027957806324ae6a27146200029257600080fd5b80630114cf0a14620001d657806301ffc9a714620002055780630ec1fbac146200022d575b600080fd5b620001ed620001e736600462001c07565b620004f0565b604051620001fc919062001c9e565b60405180910390f35b6200021c6200021636600462001d1f565b620006a7565b6040519015158152602001620001fc565b6200021c6200023e36600462001d80565b62000741565b6200026a6200025536600462001c07565b60009081526065602052604090206001015490565b604051908152602001620001fc565b620002906200028a36600462001c07565b62000756565b005b62000290620002a336600462001daf565b62000835565b62000290620002ba36600462001d80565b62000951565b62000290620002d136600462001d80565b6200097f565b6200021c620002e836600462001d80565b62000a13565b6200026a620002ff36600462001fa7565b62000a39565b620002906200031636600462001d80565b62000cea565b6200026a6200032d36600462002056565b60976020526000908152604090205481565b620002906200035036600462002074565b62000d61565b620003826200036736600462001c07565b6099602052600090815260409020546001600160a01b031681565b6040516001600160a01b039091168152602001620001fc565b6200021c620003ac36600462001d80565b62000ded565b6200021c620003c336600462001d80565b60009182526065602090815260408084206001600160a01b0393909316845291905290205460ff1690565b6200038273eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b6200026a600081565b6200029062000424366004620020bf565b62000e20565b620002906200043b36600462002056565b62000e93565b620003826200045236600462002100565b62000fd7565b6200026a7f815b5a78dc333d344c7df9da23c04dbd432015cc701876ddb9ffe850e688274781565b620002906200049136600462001d80565b620010a5565b620001ed620004a836600462002056565b620010ce565b62000290620004bf36600462002074565b62001297565b620004dc620004d636600462001c07565b620012e2565b604051620001fc9695949392919062002141565b620004fa62001ba4565b609860008381526020019081526020016000206040518060c001604052908160008201548152602001600182015481526020016002820180546200053e906200219d565b80601f01602080910402602001604051908101604052809291908181526020018280546200056c906200219d565b8015620005bd5780601f106200059157610100808354040283529160200191620005bd565b820191906000526020600020905b8154815290600101906020018083116200059f57829003601f168201915b505050505081526020016003820160405180604001604052908160008201548152602001600182018054620005f2906200219d565b80601f016020809104026020016040519081016040528092919081815260200182805462000620906200219d565b8015620006715780601f10620006455761010080835404028352916020019162000671565b820191906000526020600020905b8154815290600101906020018083116200065357829003601f168201915b50505091909252505050815260058201546001600160a01b03908116602083015260069092015490911660409091015292915050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f7965db0b0000000000000000000000000000000000000000000000000000000014806200073b57507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b60006200074f838362001462565b9392505050565b60008181526098602090815260408083206099909252909120546001600160a01b0316338114620007b3576040517fb4d48c1000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6005820180546001600160a01b0383811673ffffffffffffffffffffffffffffffffffffffff199283161783556000868152609960209081526040918290208054909416909355925492519216825284917ffd9ad63830df7bdf1586c8293dc88a30864cb43e9037e7afdb2c7210facf217d91015b60405180910390a2505050565b7f815b5a78dc333d344c7df9da23c04dbd432015cc701876ddb9ffe850e688274762000861816200148e565b6001600160a01b038216620008895760405163538ba4f960e01b815260040160405180910390fd5b60006001600160a01b03841673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee146200093a576040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b038516906370a0823190602401602060405180830381865afa1580156200090e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620009349190620021d9565b6200093c565b475b90506200094b8484836200149d565b50505050565b6000828152606560205260409020600101546200096e816200148e565b6200097a8383620014e7565b505050565b6001600160a01b038116331462000a035760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201527f20726f6c657320666f722073656c66000000000000000000000000000000000060648201526084015b60405180910390fd5b62000a0f82826200158b565b5050565b6000828152609860205260408120600501546001600160a01b038381169116146200074f565b60008062000a4887856200160f565b6000818152609860205260409020600601549091506001600160a01b03161562000a9e576040517f527e059000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b03841662000ac65760405163538ba4f960e01b815260040160405180910390fd5b60006040518060c00160405280838152602001898152602001888152602001878152602001866001600160a01b0316815260200162000b06848a6200165e565b6001600160a01b0316905260008381526098602090815260409182902083518155908301516001820155908201519192508291600282019062000b4a908262002245565b5060608201518051600383019081556020820151600484019062000b6f908262002245565b505050608082015160058201805473ffffffffffffffffffffffffffffffffffffffff199081166001600160a01b039384161790915560a0938401516006909301805490911692821692909217909155908201511660009081526097602052604090208290558351801580159062000bf057506001600160a01b0386163314155b1562000c0f5760405163075fd2b160e01b815260040160405180910390fd5b60005b8181101562000c8657600086828151811062000c325762000c3262002312565b6020026020010151905060006001600160a01b0316816001600160a01b03160362000c705760405163538ba4f960e01b815260040160405180910390fd5b62000c7c8582620014e7565b5060010162000c12565b50827f1e28352ff00d67474b59b87e6817d6ba65daa0130446266db8640214d8b8060983602001518460400151856060015186608001518760a0015160405162000cd595949392919062002328565b60405180910390a25090979650505050505050565b8162000cf6816200186c565b600083815260996020908152604091829020805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b038616908117909155915191825284917f21fe5cd61055ef88f636a264885b927f3ec2b380b6053a6b4a7495a6336a95c8910162000828565b8162000d6d816200186c565b815160005b8181101562000de657600084828151811062000d925762000d9262002312565b6020026020010151905060006001600160a01b0316816001600160a01b03160362000dd05760405163538ba4f960e01b815260040160405180910390fd5b62000ddc8682620014e7565b5060010162000d72565b5050505050565b6000828152609860205260408120600501546001600160a01b03838116911614806200074f57506200074f838362001462565b8162000e2c816200186c565b6000838152609860209081526040909120835160038201908155918401518492916004019062000e5d908262002245565b50905050827fa366054a574e4f861cb295fd23b5440c5119c1ba329c36f5dfeb5643537cb0f3836040516200082891906200237d565b600054600190610100900460ff1615801562000eb6575060005460ff8083169116105b62000f2a5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401620009fa565b6000805461ffff191660ff8316176101001790556001600160a01b03821662000f665760405163538ba4f960e01b815260040160405180910390fd5b62000f927f815b5a78dc333d344c7df9da23c04dbd432015cc701876ddb9ffe850e688274783620014e7565b6000805461ff001916905560405160ff821681527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b60008262000fe5816200186c565b62000ff184846200165e565b60008581526098602052604090209092506002810162001012858262002245565b506006810180546001600160a01b03908116600090815260976020526040808220829055835473ffffffffffffffffffffffffffffffffffffffff19169287169283179093559081528190208690555185907f54cd733148631b9ff1cb945f2d0dcd33c0692e154763bfa2f35e2d10a76c432f9062001095908790879062002392565b60405180910390a2505092915050565b600082815260656020526040902060010154620010c2816200148e565b6200097a83836200158b565b620010d862001ba4565b6001600160a01b0382166000908152609760209081526040808320548084526098835292819020815160c0810183528154815260018201549381019390935260028101805491928401916200112d906200219d565b80601f01602080910402602001604051908101604052809291908181526020018280546200115b906200219d565b8015620011ac5780601f106200118057610100808354040283529160200191620011ac565b820191906000526020600020905b8154815290600101906020018083116200118e57829003601f168201915b505050505081526020016003820160405180604001604052908160008201548152602001600182018054620011e1906200219d565b80601f01602080910402602001604051908101604052809291908181526020018280546200120f906200219d565b8015620012605780601f10620012345761010080835404028352916020019162001260565b820191906000526020600020905b8154815290600101906020018083116200124257829003601f168201915b50505091909252505050815260058201546001600160a01b0390811660208301526006909201549091166040909101529392505050565b81620012a3816200186c565b815160005b8181101562000de657620012d985858381518110620012cb57620012cb62002312565b60200260200101516200158b565b600101620012a8565b609860205260009081526040902080546001820154600283018054929391926200130c906200219d565b80601f01602080910402602001604051908101604052809291908181526020018280546200133a906200219d565b80156200138b5780601f106200135f576101008083540402835291602001916200138b565b820191906000526020600020905b8154815290600101906020018083116200136d57829003601f168201915b5050505050908060030160405180604001604052908160008201548152602001600182018054620013bc906200219d565b80601f0160208091040260200160405190810160405280929190818152602001828054620013ea906200219d565b80156200143b5780601f106200140f576101008083540402835291602001916200143b565b820191906000526020600020905b8154815290600101906020018083116200141d57829003601f168201915b50505091909252505050600582015460069092015490916001600160a01b03908116911686565b60008281526065602090815260408083206001600160a01b038516845290915281205460ff166200074f565b6200149a8133620018a7565b50565b7fffffffffffffffffffffffff11111111111111111111111111111111111111126001600160a01b03841601620014da576200097a828262001925565b6200097a83838362001942565b60008281526065602090815260408083206001600160a01b038516845290915290205460ff1662000a0f5760008281526065602090815260408083206001600160a01b03851684529091529020805460ff19166001179055620015473390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b60008281526065602090815260408083206001600160a01b038516845290915290205460ff161562000a0f5760008281526065602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b600082826040516020016200164092919091825260601b6bffffffffffffffffffffffff1916602082015260340190565b60405160208183030381529060405280519060200120905092915050565b600080838360405160200162001676929190620023bf565b60408051808303601f1901815282825260208301879052308383015281518084038301815260608401928390529093509160009190620016b99060800162001bf9565b601f1982820381018352601f909101166040819052620016df91908490602001620023da565b60408051601f198184030181529082905284516020868101919091208251828401207fff00000000000000000000000000000000000000000000000000000000000000928501929092526bffffffffffffffffffffffff193060601b166021850152603584018190526055840191909152909250906000906075016040516020818303038152906040528051906020012060001c9050818830604051620017869062001bf9565b9182526001600160a01b031660208201526040018190604051809103906000f590508015620017b25760015b6200185e5787816001600160a01b03166308386eba6040518163ffffffff1660e01b8152600401602060405180830381865afa158015620017f7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200181d9190620021d9565b1462001855576040517f113b81f000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80955062001861565b95505b505050505092915050565b6000818152609860205260409020600501546001600160a01b031633146200149a5760405163075fd2b160e01b815260040160405180910390fd5b60008281526065602090815260408083206001600160a01b038516845290915290205460ff1662000a0f57620018dd8162001992565b620018ea836020620019a5565b604051602001620018fd9291906200240d565b60408051601f198184030181529082905262461bcd60e51b8252620009fa9160040162002492565b60008060008084865af162000a0f5763b12d13eb6000526004601cfd5b81601452806034526fa9059cbb00000000000000000000000060005260206000604460106000875af13d15600160005114171662001988576390b8ec186000526004601cfd5b6000603452505050565b60606200073b6001600160a01b03831660145b60606000620019b6836002620024bd565b620019c3906002620024d7565b67ffffffffffffffff811115620019de57620019de62001dde565b6040519080825280601f01601f19166020018201604052801562001a09576020820181803683370190505b5090507f30000000000000000000000000000000000000000000000000000000000000008160008151811062001a435762001a4362002312565b60200101906001600160f81b031916908160001a9053507f78000000000000000000000000000000000000000000000000000000000000008160018151811062001a915762001a9162002312565b60200101906001600160f81b031916908160001a905350600062001ab7846002620024bd565b62001ac4906001620024d7565b90505b600181111562001b53577f303132333435363738396162636465660000000000000000000000000000000085600f166010811062001b095762001b0962002312565b1a60f81b82828151811062001b225762001b2262002312565b60200101906001600160f81b031916908160001a90535060049490941c9362001b4b81620024ed565b905062001ac7565b5083156200074f5760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401620009fa565b6040518060c0016040528060008019168152602001600081526020016060815260200162001be5604051806040016040528060008152602001606081525090565b815260006020820181905260409091015290565b610959806200250883390190565b60006020828403121562001c1a57600080fd5b5035919050565b60005b8381101562001c3e57818101518382015260200162001c24565b50506000910152565b6000815180845262001c6181602086016020860162001c21565b601f01601f19169290920160200192915050565b80518252600060208201516040602085015262001c96604085018262001c47565b949350505050565b6020815281516020820152602082015160408201526000604083015160c0606084015262001cd060e084018262001c47565b90506060840151601f1984830301608085015262001cef828262001c75565b91505060808401516001600160a01b0380821660a08601528060a08701511660c086015250508091505092915050565b60006020828403121562001d3257600080fd5b81357fffffffff00000000000000000000000000000000000000000000000000000000811681146200074f57600080fd5b80356001600160a01b038116811462001d7b57600080fd5b919050565b6000806040838503121562001d9457600080fd5b8235915062001da66020840162001d63565b90509250929050565b6000806040838503121562001dc357600080fd5b62001dce8362001d63565b915062001da66020840162001d63565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff8111828210171562001e205762001e2062001dde565b604052919050565b600082601f83011262001e3a57600080fd5b813567ffffffffffffffff81111562001e575762001e5762001dde565b62001e6c601f8201601f191660200162001df4565b81815284602083860101111562001e8257600080fd5b816020850160208301376000918101602001919091529392505050565b60006040828403121562001eb257600080fd5b6040516040810167ffffffffffffffff828210818311171562001ed95762001ed962001dde565b8160405282935084358352602085013591508082111562001ef957600080fd5b5062001f088582860162001e28565b6020830152505092915050565b600082601f83011262001f2757600080fd5b8135602067ffffffffffffffff82111562001f465762001f4662001dde565b8160051b62001f5782820162001df4565b928352848101820192828101908785111562001f7257600080fd5b83870192505b8483101562001f9c5762001f8c8362001d63565b8252918301919083019062001f78565b979650505050505050565b600080600080600060a0868803121562001fc057600080fd5b85359450602086013567ffffffffffffffff8082111562001fe057600080fd5b62001fee89838a0162001e28565b955060408801359150808211156200200557600080fd5b6200201389838a0162001e9f565b9450620020236060890162001d63565b935060808801359150808211156200203a57600080fd5b50620020498882890162001f15565b9150509295509295909350565b6000602082840312156200206957600080fd5b6200074f8262001d63565b600080604083850312156200208857600080fd5b82359150602083013567ffffffffffffffff811115620020a757600080fd5b620020b58582860162001f15565b9150509250929050565b60008060408385031215620020d357600080fd5b82359150602083013567ffffffffffffffff811115620020f257600080fd5b620020b58582860162001e9f565b600080604083850312156200211457600080fd5b82359150602083013567ffffffffffffffff8111156200213357600080fd5b620020b58582860162001e28565b86815285602082015260c0604082015260006200216260c083018762001c47565b828103606084015262002176818762001c75565b9150506001600160a01b03808516608084015280841660a084015250979650505050505050565b600181811c90821680620021b257607f821691505b602082108103620021d357634e487b7160e01b600052602260045260246000fd5b50919050565b600060208284031215620021ec57600080fd5b5051919050565b601f8211156200097a57600081815260208120601f850160051c810160208610156200221c5750805b601f850160051c820191505b818110156200223d5782815560010162002228565b505050505050565b815167ffffffffffffffff81111562002262576200226262001dde565b6200227a816200227384546200219d565b84620021f3565b602080601f831160018114620022b25760008415620022995750858301515b600019600386901b1c1916600185901b1785556200223d565b600085815260208120601f198616915b82811015620022e357888601518255948401946001909101908401620022c2565b5085821015620023025787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052603260045260246000fd5b85815260a0602082015260006200234360a083018762001c47565b828103604084015262002357818762001c75565b9150506001600160a01b0380851660608401528084166080840152509695505050505050565b6020815260006200074f602083018462001c75565b604081526000620023a7604083018562001c47565b90506001600160a01b03831660208301529392505050565b82815260406020820152600062001c96604083018462001c47565b60008351620023ee81846020880162001c21565b8351908301906200240481836020880162001c21565b01949350505050565b7f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008152600083516200244781601785016020880162001c21565b7f206973206d697373696e6720726f6c652000000000000000000000000000000060179184019182015283516200248681602884016020880162001c21565b01602801949350505050565b6020815260006200074f602083018462001c47565b634e487b7160e01b600052601160045260246000fd5b80820281158282048414176200073b576200073b620024a7565b808201808211156200073b576200073b620024a7565b600081620024ff57620024ff620024a7565b50600019019056fe60c060405234801561001057600080fd5b5060405161095938038061095983398101604081905261002f91610043565b6001600160a01b031660805260a052610080565b6000806040838503121561005657600080fd5b825160208401519092506001600160a01b038116811461007557600080fd5b809150509250929050565b60805160a0516108a76100b26000396000818160c701526102e8015260008181610166015261031701526108a76000f3fe6080604052600436106100745760003560e01c80637b1039991161004e5780637b10399914610154578063b61d27f6146101a0578063bc197c81146101cd578063f23a6e611461021257600080fd5b806301ffc9a71461008057806308386eba146100b5578063150b7a02146100f757600080fd5b3661007b57005b600080fd5b34801561008c57600080fd5b506100a061009b366004610471565b610257565b60405190151581526020015b60405180910390f35b3480156100c157600080fd5b506100e97f000000000000000000000000000000000000000000000000000000000000000081565b6040519081526020016100ac565b34801561010357600080fd5b5061013b61011236600461058e565b7f150b7a0200000000000000000000000000000000000000000000000000000000949350505050565b6040516001600160e01b031990911681526020016100ac565b34801561016057600080fd5b506101887f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016100ac565b3480156101ac57600080fd5b506101c06101bb3660046105f6565b6102c0565b6040516100ac9190610671565b3480156101d957600080fd5b5061013b6101e8366004610724565b7fbc197c810000000000000000000000000000000000000000000000000000000095945050505050565b34801561021e57600080fd5b5061013b61022d3660046107ce565b7ff23a6e610000000000000000000000000000000000000000000000000000000095945050505050565b60006001600160e01b031982167f4e2312e00000000000000000000000000000000000000000000000000000000014806102ba57507f01ffc9a7000000000000000000000000000000000000000000000000000000006001600160e01b03198316145b92915050565b6040517f39b86b8c0000000000000000000000000000000000000000000000000000000081527f000000000000000000000000000000000000000000000000000000000000000060048201523360248201526060907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906339b86b8c90604401602060405180830381865afa158015610366573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061038a9190610833565b6103c0576040517f075fd2b100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0384166103e7576040516384aed38d60e01b815260040160405180910390fd5b600080856001600160a01b031685856040516104039190610855565b60006040518083038185875af1925050503d8060008114610440576040519150601f19603f3d011682016040523d82523d6000602084013e610445565b606091505b509150915081610468576040516384aed38d60e01b815260040160405180910390fd5b95945050505050565b60006020828403121561048357600080fd5b81356001600160e01b03198116811461049b57600080fd5b9392505050565b80356001600160a01b03811681146104b957600080fd5b919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715610516576105166104be565b604052919050565b600082601f83011261052f57600080fd5b813567ffffffffffffffff811115610549576105496104be565b61055c601f8201601f19166020016104ed565b81815284602083860101111561057157600080fd5b816020850160208301376000918101602001919091529392505050565b600080600080608085870312156105a457600080fd5b6105ad856104a2565b93506105bb602086016104a2565b925060408501359150606085013567ffffffffffffffff8111156105de57600080fd5b6105ea8782880161051e565b91505092959194509250565b60008060006060848603121561060b57600080fd5b610614846104a2565b925060208401359150604084013567ffffffffffffffff81111561063757600080fd5b6106438682870161051e565b9150509250925092565b60005b83811015610668578181015183820152602001610650565b50506000910152565b602081526000825180602084015261069081604085016020870161064d565b601f01601f19169190910160400192915050565b600082601f8301126106b557600080fd5b8135602067ffffffffffffffff8211156106d1576106d16104be565b8160051b6106e08282016104ed565b92835284810182019282810190878511156106fa57600080fd5b83870192505b8483101561071957823582529183019190830190610700565b979650505050505050565b600080600080600060a0868803121561073c57600080fd5b610745866104a2565b9450610753602087016104a2565b9350604086013567ffffffffffffffff8082111561077057600080fd5b61077c89838a016106a4565b9450606088013591508082111561079257600080fd5b61079e89838a016106a4565b935060808801359150808211156107b457600080fd5b506107c18882890161051e565b9150509295509295909350565b600080600080600060a086880312156107e657600080fd5b6107ef866104a2565b94506107fd602087016104a2565b93506040860135925060608601359150608086013567ffffffffffffffff81111561082757600080fd5b6107c18882890161051e565b60006020828403121561084557600080fd5b8151801515811461049b57600080fd5b6000825161086781846020870161064d565b919091019291505056fea2646970667358221220a27adb2f6ffa06f0ffb5a9298fe56a5568be257855ddb6a4b3bf4bce3166afca64736f6c63430008130033a264697066735822122087c97140f0971d40c7f32d5d8dc7ebc2aa168def7bd056b7a014e227a65d904a64736f6c63430008130033","sourceMap":"5237:15930:2:-:0;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x60806040523480156200001157600080fd5b5060043610620001d15760003560e01c806350d005e01162000101578063c4d66de811620000a3578063d547741f116200007a578063d547741f1462000480578063dd93da431462000497578063e0cf1e4c14620004ae578063ee88819614620004c557600080fd5b8063c4d66de8146200042a578063cf189ff21462000441578063cfda7e0a146200045857600080fd5b8063a0cf0aea11620000d8578063a0cf0aea14620003ee578063a217fddf146200040a578063ac402839146200041357600080fd5b806350d005e014620003565780635e8a7915146200039b57806391d1485414620003b257600080fd5b80632f2ff15d11620001775780633a92f65f116200014e5780633a92f65f14620002ee5780633b66dacd14620003055780634756487f146200031c5780635063f361146200033f57600080fd5b80632f2ff15d14620002a957806336568abe14620002c057806339b86b8c14620002d757600080fd5b8063248a9ca311620001ac578063248a9ca314620002445780632497f3c6146200027957806324ae6a27146200029257600080fd5b80630114cf0a14620001d657806301ffc9a714620002055780630ec1fbac146200022d575b600080fd5b620001ed620001e736600462001c07565b620004f0565b604051620001fc919062001c9e565b60405180910390f35b6200021c6200021636600462001d1f565b620006a7565b6040519015158152602001620001fc565b6200021c6200023e36600462001d80565b62000741565b6200026a6200025536600462001c07565b60009081526065602052604090206001015490565b604051908152602001620001fc565b620002906200028a36600462001c07565b62000756565b005b62000290620002a336600462001daf565b62000835565b62000290620002ba36600462001d80565b62000951565b62000290620002d136600462001d80565b6200097f565b6200021c620002e836600462001d80565b62000a13565b6200026a620002ff36600462001fa7565b62000a39565b620002906200031636600462001d80565b62000cea565b6200026a6200032d36600462002056565b60976020526000908152604090205481565b620002906200035036600462002074565b62000d61565b620003826200036736600462001c07565b6099602052600090815260409020546001600160a01b031681565b6040516001600160a01b039091168152602001620001fc565b6200021c620003ac36600462001d80565b62000ded565b6200021c620003c336600462001d80565b60009182526065602090815260408084206001600160a01b0393909316845291905290205460ff1690565b6200038273eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b6200026a600081565b6200029062000424366004620020bf565b62000e20565b620002906200043b36600462002056565b62000e93565b620003826200045236600462002100565b62000fd7565b6200026a7f815b5a78dc333d344c7df9da23c04dbd432015cc701876ddb9ffe850e688274781565b620002906200049136600462001d80565b620010a5565b620001ed620004a836600462002056565b620010ce565b62000290620004bf36600462002074565b62001297565b620004dc620004d636600462001c07565b620012e2565b604051620001fc9695949392919062002141565b620004fa62001ba4565b609860008381526020019081526020016000206040518060c001604052908160008201548152602001600182015481526020016002820180546200053e906200219d565b80601f01602080910402602001604051908101604052809291908181526020018280546200056c906200219d565b8015620005bd5780601f106200059157610100808354040283529160200191620005bd565b820191906000526020600020905b8154815290600101906020018083116200059f57829003601f168201915b505050505081526020016003820160405180604001604052908160008201548152602001600182018054620005f2906200219d565b80601f016020809104026020016040519081016040528092919081815260200182805462000620906200219d565b8015620006715780601f10620006455761010080835404028352916020019162000671565b820191906000526020600020905b8154815290600101906020018083116200065357829003601f168201915b50505091909252505050815260058201546001600160a01b03908116602083015260069092015490911660409091015292915050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f7965db0b0000000000000000000000000000000000000000000000000000000014806200073b57507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b60006200074f838362001462565b9392505050565b60008181526098602090815260408083206099909252909120546001600160a01b0316338114620007b3576040517fb4d48c1000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6005820180546001600160a01b0383811673ffffffffffffffffffffffffffffffffffffffff199283161783556000868152609960209081526040918290208054909416909355925492519216825284917ffd9ad63830df7bdf1586c8293dc88a30864cb43e9037e7afdb2c7210facf217d91015b60405180910390a2505050565b7f815b5a78dc333d344c7df9da23c04dbd432015cc701876ddb9ffe850e688274762000861816200148e565b6001600160a01b038216620008895760405163538ba4f960e01b815260040160405180910390fd5b60006001600160a01b03841673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee146200093a576040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b038516906370a0823190602401602060405180830381865afa1580156200090e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620009349190620021d9565b6200093c565b475b90506200094b8484836200149d565b50505050565b6000828152606560205260409020600101546200096e816200148e565b6200097a8383620014e7565b505050565b6001600160a01b038116331462000a035760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201527f20726f6c657320666f722073656c66000000000000000000000000000000000060648201526084015b60405180910390fd5b62000a0f82826200158b565b5050565b6000828152609860205260408120600501546001600160a01b038381169116146200074f565b60008062000a4887856200160f565b6000818152609860205260409020600601549091506001600160a01b03161562000a9e576040517f527e059000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b03841662000ac65760405163538ba4f960e01b815260040160405180910390fd5b60006040518060c00160405280838152602001898152602001888152602001878152602001866001600160a01b0316815260200162000b06848a6200165e565b6001600160a01b0316905260008381526098602090815260409182902083518155908301516001820155908201519192508291600282019062000b4a908262002245565b5060608201518051600383019081556020820151600484019062000b6f908262002245565b505050608082015160058201805473ffffffffffffffffffffffffffffffffffffffff199081166001600160a01b039384161790915560a0938401516006909301805490911692821692909217909155908201511660009081526097602052604090208290558351801580159062000bf057506001600160a01b0386163314155b1562000c0f5760405163075fd2b160e01b815260040160405180910390fd5b60005b8181101562000c8657600086828151811062000c325762000c3262002312565b6020026020010151905060006001600160a01b0316816001600160a01b03160362000c705760405163538ba4f960e01b815260040160405180910390fd5b62000c7c8582620014e7565b5060010162000c12565b50827f1e28352ff00d67474b59b87e6817d6ba65daa0130446266db8640214d8b8060983602001518460400151856060015186608001518760a0015160405162000cd595949392919062002328565b60405180910390a25090979650505050505050565b8162000cf6816200186c565b600083815260996020908152604091829020805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b038616908117909155915191825284917f21fe5cd61055ef88f636a264885b927f3ec2b380b6053a6b4a7495a6336a95c8910162000828565b8162000d6d816200186c565b815160005b8181101562000de657600084828151811062000d925762000d9262002312565b6020026020010151905060006001600160a01b0316816001600160a01b03160362000dd05760405163538ba4f960e01b815260040160405180910390fd5b62000ddc8682620014e7565b5060010162000d72565b5050505050565b6000828152609860205260408120600501546001600160a01b03838116911614806200074f57506200074f838362001462565b8162000e2c816200186c565b6000838152609860209081526040909120835160038201908155918401518492916004019062000e5d908262002245565b50905050827fa366054a574e4f861cb295fd23b5440c5119c1ba329c36f5dfeb5643537cb0f3836040516200082891906200237d565b600054600190610100900460ff1615801562000eb6575060005460ff8083169116105b62000f2a5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401620009fa565b6000805461ffff191660ff8316176101001790556001600160a01b03821662000f665760405163538ba4f960e01b815260040160405180910390fd5b62000f927f815b5a78dc333d344c7df9da23c04dbd432015cc701876ddb9ffe850e688274783620014e7565b6000805461ff001916905560405160ff821681527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b60008262000fe5816200186c565b62000ff184846200165e565b60008581526098602052604090209092506002810162001012858262002245565b506006810180546001600160a01b03908116600090815260976020526040808220829055835473ffffffffffffffffffffffffffffffffffffffff19169287169283179093559081528190208690555185907f54cd733148631b9ff1cb945f2d0dcd33c0692e154763bfa2f35e2d10a76c432f9062001095908790879062002392565b60405180910390a2505092915050565b600082815260656020526040902060010154620010c2816200148e565b6200097a83836200158b565b620010d862001ba4565b6001600160a01b0382166000908152609760209081526040808320548084526098835292819020815160c0810183528154815260018201549381019390935260028101805491928401916200112d906200219d565b80601f01602080910402602001604051908101604052809291908181526020018280546200115b906200219d565b8015620011ac5780601f106200118057610100808354040283529160200191620011ac565b820191906000526020600020905b8154815290600101906020018083116200118e57829003601f168201915b505050505081526020016003820160405180604001604052908160008201548152602001600182018054620011e1906200219d565b80601f01602080910402602001604051908101604052809291908181526020018280546200120f906200219d565b8015620012605780601f10620012345761010080835404028352916020019162001260565b820191906000526020600020905b8154815290600101906020018083116200124257829003601f168201915b50505091909252505050815260058201546001600160a01b0390811660208301526006909201549091166040909101529392505050565b81620012a3816200186c565b815160005b8181101562000de657620012d985858381518110620012cb57620012cb62002312565b60200260200101516200158b565b600101620012a8565b609860205260009081526040902080546001820154600283018054929391926200130c906200219d565b80601f01602080910402602001604051908101604052809291908181526020018280546200133a906200219d565b80156200138b5780601f106200135f576101008083540402835291602001916200138b565b820191906000526020600020905b8154815290600101906020018083116200136d57829003601f168201915b5050505050908060030160405180604001604052908160008201548152602001600182018054620013bc906200219d565b80601f0160208091040260200160405190810160405280929190818152602001828054620013ea906200219d565b80156200143b5780601f106200140f576101008083540402835291602001916200143b565b820191906000526020600020905b8154815290600101906020018083116200141d57829003601f168201915b50505091909252505050600582015460069092015490916001600160a01b03908116911686565b60008281526065602090815260408083206001600160a01b038516845290915281205460ff166200074f565b6200149a8133620018a7565b50565b7fffffffffffffffffffffffff11111111111111111111111111111111111111126001600160a01b03841601620014da576200097a828262001925565b6200097a83838362001942565b60008281526065602090815260408083206001600160a01b038516845290915290205460ff1662000a0f5760008281526065602090815260408083206001600160a01b03851684529091529020805460ff19166001179055620015473390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b60008281526065602090815260408083206001600160a01b038516845290915290205460ff161562000a0f5760008281526065602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b600082826040516020016200164092919091825260601b6bffffffffffffffffffffffff1916602082015260340190565b60405160208183030381529060405280519060200120905092915050565b600080838360405160200162001676929190620023bf565b60408051808303601f1901815282825260208301879052308383015281518084038301815260608401928390529093509160009190620016b99060800162001bf9565b601f1982820381018352601f909101166040819052620016df91908490602001620023da565b60408051601f198184030181529082905284516020868101919091208251828401207fff00000000000000000000000000000000000000000000000000000000000000928501929092526bffffffffffffffffffffffff193060601b166021850152603584018190526055840191909152909250906000906075016040516020818303038152906040528051906020012060001c9050818830604051620017869062001bf9565b9182526001600160a01b031660208201526040018190604051809103906000f590508015620017b25760015b6200185e5787816001600160a01b03166308386eba6040518163ffffffff1660e01b8152600401602060405180830381865afa158015620017f7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200181d9190620021d9565b1462001855576040517f113b81f000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80955062001861565b95505b505050505092915050565b6000818152609860205260409020600501546001600160a01b031633146200149a5760405163075fd2b160e01b815260040160405180910390fd5b60008281526065602090815260408083206001600160a01b038516845290915290205460ff1662000a0f57620018dd8162001992565b620018ea836020620019a5565b604051602001620018fd9291906200240d565b60408051601f198184030181529082905262461bcd60e51b8252620009fa9160040162002492565b60008060008084865af162000a0f5763b12d13eb6000526004601cfd5b81601452806034526fa9059cbb00000000000000000000000060005260206000604460106000875af13d15600160005114171662001988576390b8ec186000526004601cfd5b6000603452505050565b60606200073b6001600160a01b03831660145b60606000620019b6836002620024bd565b620019c3906002620024d7565b67ffffffffffffffff811115620019de57620019de62001dde565b6040519080825280601f01601f19166020018201604052801562001a09576020820181803683370190505b5090507f30000000000000000000000000000000000000000000000000000000000000008160008151811062001a435762001a4362002312565b60200101906001600160f81b031916908160001a9053507f78000000000000000000000000000000000000000000000000000000000000008160018151811062001a915762001a9162002312565b60200101906001600160f81b031916908160001a905350600062001ab7846002620024bd565b62001ac4906001620024d7565b90505b600181111562001b53577f303132333435363738396162636465660000000000000000000000000000000085600f166010811062001b095762001b0962002312565b1a60f81b82828151811062001b225762001b2262002312565b60200101906001600160f81b031916908160001a90535060049490941c9362001b4b81620024ed565b905062001ac7565b5083156200074f5760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401620009fa565b6040518060c0016040528060008019168152602001600081526020016060815260200162001be5604051806040016040528060008152602001606081525090565b815260006020820181905260409091015290565b610959806200250883390190565b60006020828403121562001c1a57600080fd5b5035919050565b60005b8381101562001c3e57818101518382015260200162001c24565b50506000910152565b6000815180845262001c6181602086016020860162001c21565b601f01601f19169290920160200192915050565b80518252600060208201516040602085015262001c96604085018262001c47565b949350505050565b6020815281516020820152602082015160408201526000604083015160c0606084015262001cd060e084018262001c47565b90506060840151601f1984830301608085015262001cef828262001c75565b91505060808401516001600160a01b0380821660a08601528060a08701511660c086015250508091505092915050565b60006020828403121562001d3257600080fd5b81357fffffffff00000000000000000000000000000000000000000000000000000000811681146200074f57600080fd5b80356001600160a01b038116811462001d7b57600080fd5b919050565b6000806040838503121562001d9457600080fd5b8235915062001da66020840162001d63565b90509250929050565b6000806040838503121562001dc357600080fd5b62001dce8362001d63565b915062001da66020840162001d63565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff8111828210171562001e205762001e2062001dde565b604052919050565b600082601f83011262001e3a57600080fd5b813567ffffffffffffffff81111562001e575762001e5762001dde565b62001e6c601f8201601f191660200162001df4565b81815284602083860101111562001e8257600080fd5b816020850160208301376000918101602001919091529392505050565b60006040828403121562001eb257600080fd5b6040516040810167ffffffffffffffff828210818311171562001ed95762001ed962001dde565b8160405282935084358352602085013591508082111562001ef957600080fd5b5062001f088582860162001e28565b6020830152505092915050565b600082601f83011262001f2757600080fd5b8135602067ffffffffffffffff82111562001f465762001f4662001dde565b8160051b62001f5782820162001df4565b928352848101820192828101908785111562001f7257600080fd5b83870192505b8483101562001f9c5762001f8c8362001d63565b8252918301919083019062001f78565b979650505050505050565b600080600080600060a0868803121562001fc057600080fd5b85359450602086013567ffffffffffffffff8082111562001fe057600080fd5b62001fee89838a0162001e28565b955060408801359150808211156200200557600080fd5b6200201389838a0162001e9f565b9450620020236060890162001d63565b935060808801359150808211156200203a57600080fd5b50620020498882890162001f15565b9150509295509295909350565b6000602082840312156200206957600080fd5b6200074f8262001d63565b600080604083850312156200208857600080fd5b82359150602083013567ffffffffffffffff811115620020a757600080fd5b620020b58582860162001f15565b9150509250929050565b60008060408385031215620020d357600080fd5b82359150602083013567ffffffffffffffff811115620020f257600080fd5b620020b58582860162001e9f565b600080604083850312156200211457600080fd5b82359150602083013567ffffffffffffffff8111156200213357600080fd5b620020b58582860162001e28565b86815285602082015260c0604082015260006200216260c083018762001c47565b828103606084015262002176818762001c75565b9150506001600160a01b03808516608084015280841660a084015250979650505050505050565b600181811c90821680620021b257607f821691505b602082108103620021d357634e487b7160e01b600052602260045260246000fd5b50919050565b600060208284031215620021ec57600080fd5b5051919050565b601f8211156200097a57600081815260208120601f850160051c810160208610156200221c5750805b601f850160051c820191505b818110156200223d5782815560010162002228565b505050505050565b815167ffffffffffffffff81111562002262576200226262001dde565b6200227a816200227384546200219d565b84620021f3565b602080601f831160018114620022b25760008415620022995750858301515b600019600386901b1c1916600185901b1785556200223d565b600085815260208120601f198616915b82811015620022e357888601518255948401946001909101908401620022c2565b5085821015620023025787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052603260045260246000fd5b85815260a0602082015260006200234360a083018762001c47565b828103604084015262002357818762001c75565b9150506001600160a01b0380851660608401528084166080840152509695505050505050565b6020815260006200074f602083018462001c75565b604081526000620023a7604083018562001c47565b90506001600160a01b03831660208301529392505050565b82815260406020820152600062001c96604083018462001c47565b60008351620023ee81846020880162001c21565b8351908301906200240481836020880162001c21565b01949350505050565b7f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008152600083516200244781601785016020880162001c21565b7f206973206d697373696e6720726f6c652000000000000000000000000000000060179184019182015283516200248681602884016020880162001c21565b01602801949350505050565b6020815260006200074f602083018462001c47565b634e487b7160e01b600052601160045260246000fd5b80820281158282048414176200073b576200073b620024a7565b808201808211156200073b576200073b620024a7565b600081620024ff57620024ff620024a7565b50600019019056fe60c060405234801561001057600080fd5b5060405161095938038061095983398101604081905261002f91610043565b6001600160a01b031660805260a052610080565b6000806040838503121561005657600080fd5b825160208401519092506001600160a01b038116811461007557600080fd5b809150509250929050565b60805160a0516108a76100b26000396000818160c701526102e8015260008181610166015261031701526108a76000f3fe6080604052600436106100745760003560e01c80637b1039991161004e5780637b10399914610154578063b61d27f6146101a0578063bc197c81146101cd578063f23a6e611461021257600080fd5b806301ffc9a71461008057806308386eba146100b5578063150b7a02146100f757600080fd5b3661007b57005b600080fd5b34801561008c57600080fd5b506100a061009b366004610471565b610257565b60405190151581526020015b60405180910390f35b3480156100c157600080fd5b506100e97f000000000000000000000000000000000000000000000000000000000000000081565b6040519081526020016100ac565b34801561010357600080fd5b5061013b61011236600461058e565b7f150b7a0200000000000000000000000000000000000000000000000000000000949350505050565b6040516001600160e01b031990911681526020016100ac565b34801561016057600080fd5b506101887f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016100ac565b3480156101ac57600080fd5b506101c06101bb3660046105f6565b6102c0565b6040516100ac9190610671565b3480156101d957600080fd5b5061013b6101e8366004610724565b7fbc197c810000000000000000000000000000000000000000000000000000000095945050505050565b34801561021e57600080fd5b5061013b61022d3660046107ce565b7ff23a6e610000000000000000000000000000000000000000000000000000000095945050505050565b60006001600160e01b031982167f4e2312e00000000000000000000000000000000000000000000000000000000014806102ba57507f01ffc9a7000000000000000000000000000000000000000000000000000000006001600160e01b03198316145b92915050565b6040517f39b86b8c0000000000000000000000000000000000000000000000000000000081527f000000000000000000000000000000000000000000000000000000000000000060048201523360248201526060907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906339b86b8c90604401602060405180830381865afa158015610366573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061038a9190610833565b6103c0576040517f075fd2b100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0384166103e7576040516384aed38d60e01b815260040160405180910390fd5b600080856001600160a01b031685856040516104039190610855565b60006040518083038185875af1925050503d8060008114610440576040519150601f19603f3d011682016040523d82523d6000602084013e610445565b606091505b509150915081610468576040516384aed38d60e01b815260040160405180910390fd5b95945050505050565b60006020828403121561048357600080fd5b81356001600160e01b03198116811461049b57600080fd5b9392505050565b80356001600160a01b03811681146104b957600080fd5b919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715610516576105166104be565b604052919050565b600082601f83011261052f57600080fd5b813567ffffffffffffffff811115610549576105496104be565b61055c601f8201601f19166020016104ed565b81815284602083860101111561057157600080fd5b816020850160208301376000918101602001919091529392505050565b600080600080608085870312156105a457600080fd5b6105ad856104a2565b93506105bb602086016104a2565b925060408501359150606085013567ffffffffffffffff8111156105de57600080fd5b6105ea8782880161051e565b91505092959194509250565b60008060006060848603121561060b57600080fd5b610614846104a2565b925060208401359150604084013567ffffffffffffffff81111561063757600080fd5b6106438682870161051e565b9150509250925092565b60005b83811015610668578181015183820152602001610650565b50506000910152565b602081526000825180602084015261069081604085016020870161064d565b601f01601f19169190910160400192915050565b600082601f8301126106b557600080fd5b8135602067ffffffffffffffff8211156106d1576106d16104be565b8160051b6106e08282016104ed565b92835284810182019282810190878511156106fa57600080fd5b83870192505b8483101561071957823582529183019190830190610700565b979650505050505050565b600080600080600060a0868803121561073c57600080fd5b610745866104a2565b9450610753602087016104a2565b9350604086013567ffffffffffffffff8082111561077057600080fd5b61077c89838a016106a4565b9450606088013591508082111561079257600080fd5b61079e89838a016106a4565b935060808801359150808211156107b457600080fd5b506107c18882890161051e565b9150509295509295909350565b600080600080600060a086880312156107e657600080fd5b6107ef866104a2565b94506107fd602087016104a2565b93506040860135925060608601359150608086013567ffffffffffffffff81111561082757600080fd5b6107c18882890161051e565b60006020828403121561084557600080fd5b8151801515811461049b57600080fd5b6000825161086781846020870161064d565b919091019291505056fea2646970667358221220a27adb2f6ffa06f0ffb5a9298fe56a5568be257855ddb6a4b3bf4bce3166afca64736f6c63430008130033a264697066735822122087c97140f0971d40c7f32d5d8dc7ebc2aa168def7bd056b7a014e227a65d904a64736f6c63430008130033","sourceMap":"5237:15930:2:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7472:131;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3050:213:44;;;;;;:::i;:::-;;:::i;:::-;;;2428:14:151;;2421:22;2403:41;;2391:2;2376:18;3050:213:44;2263:187:151;13857:156:2;;;;;;:::i;:::-;;:::i;4855:129:44:-;;;;;;:::i;:::-;4929:7;4955:12;;;:6;:12;;;;;:22;;;;4855:129;;;;3061:25:151;;;3049:2;3034:18;4855:129:44;2915:177:151;15016:745:2;;;;;;:::i;:::-;;:::i;:::-;;20847:318;;;;;;:::i;:::-;;:::i;5280:145:44:-;;;;;;:::i;:::-;;:::i;6389:214::-;;;;;;:::i;:::-;;:::i;13452:152:2:-;;;;;;:::i;:::-;;:::i;8781:1901::-;;;;;;:::i;:::-;;:::i;14336:382::-;;;;;;:::i;:::-;;:::i;5544:52::-;;;;;;:::i;:::-;;;;;;;;;;;;;;15962:658;;;;;;:::i;:::-;;:::i;5859:58::-;;;;;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;;;;;5859:58:2;;;;;;-1:-1:-1;;;;;7424:55:151;;;7406:74;;7394:2;7379:18;5859:58:2;7260:226:151;12992:208:2;;;;;;:::i;:::-;;:::i;3350:145:44:-;;;;;;:::i;:::-;3436:4;3459:12;;;:6;:12;;;;;;;;-1:-1:-1;;;;;3459:29:44;;;;;;;;;;;;;;;3350:145;4412:75:9;;4445:42;4412:75;;2320:49:44;;2365:4;2320:49;;12309:415:2;;;;;;:::i;:::-;;:::i;6841:257::-;;;;;;:::i;:::-;;:::i;11210:830::-;;;;;;:::i;:::-;;:::i;5974:60::-;;6011:23;5974:60;;5705:147:44;;;;;;:::i;:::-;;:::i;7837:187:2:-;;;;;;:::i;:::-;;:::i;16837:500::-;;;;;;:::i;:::-;;:::i;5702:47::-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;:::i;7472:131::-;7539:14;;:::i;:::-;7572:12;:24;7585:10;7572:24;;;;;;;;;;;7565:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;7565:31:2;;;;-1:-1:-1;;;7565:31:2;;;;;;-1:-1:-1;;;;;7565:31:2;;;;;;;;;;;;;;;;;;;;;7472:131;-1:-1:-1;;7472:131:2:o;3050:213:44:-;3135:4;3158:58;;;3173:43;3158:58;;:98;;-1:-1:-1;1204:36:54;1189:51;;;;3220:36:44;3151:105;3050:213;-1:-1:-1;;3050:213:44:o;13857:156:2:-;13944:4;13967:39;13986:10;13998:7;13967:18;:39::i;:::-;13960:46;13857:156;-1:-1:-1;;;13857:156:2:o;15016:745::-;15131:23;15157:24;;;:12;:24;;;;;;;;15301:23;:35;;;;;;;-1:-1:-1;;;;;15301:35:2;15414:10;:22;;15410:54;;15445:19;;;;;;;;;;;;;;15410:54;15550:13;;;:24;;-1:-1:-1;;;;;15550:24:2;;;-1:-1:-1;;15550:24:2;;;;;;-1:-1:-1;15591:35:2;;;:23;:35;;;;;;;;;15584:42;;;;;;;;15740:13;;15708:46;;15740:13;;7406:74:151;;15591:35:2;;15708:46;;7379:18:151;15708:46:2;;;;;;;;15077:684;;15016:745;:::o;20847:318::-;6011:23;2798:16:44;2809:4;2798:10;:16::i;:::-;-1:-1:-1;;;;;20949:24:2;::::1;20945:51;;20982:14;;-1:-1:-1::0;;;20982:14:2::1;;;;;;;;;;;20945:51;21007:14;-1:-1:-1::0;;;;;21024:16:2;::::1;4445:42:9;21024:16:2;:81;;21067:38;::::0;;;;21099:4:::1;21067:38;::::0;::::1;7406:74:151::0;-1:-1:-1;;;;;21067:23:2;::::1;::::0;::::1;::::0;7379:18:151;;21067:38:2::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;21024:81;;;21043:21;21024:81;21007:98;;21115:43;21131:6;21139:10;21151:6;21115:15;:43::i;:::-;20935:230;20847:318:::0;;;:::o;5280:145:44:-;4929:7;4955:12;;;:6;:12;;;;;:22;;;2798:16;2809:4;2798:10;:16::i;:::-;5393:25:::1;5404:4;5410:7;5393:10;:25::i;:::-;5280:145:::0;;;:::o;6389:214::-;-1:-1:-1;;;;;6484:23:44;;965:10:52;6484:23:44;6476:83;;;;-1:-1:-1;;;6476:83:44;;9935:2:151;6476:83:44;;;9917:21:151;9974:2;9954:18;;;9947:30;10013:34;9993:18;;;9986:62;10084:17;10064:18;;;10057:45;10119:19;;6476:83:44;;;;;;;;;6570:26;6582:4;6588:7;6570:11;:26::i;:::-;6389:214;;:::o;13452:152:2:-;13537:4;20072:24;;;:12;:24;;;;;:30;;;-1:-1:-1;;;;;20072:40:2;;;:30;;:40;13560:37;19963:156;8781:1901;8975:7;9060:17;9080:34;9099:6;9107;9080:18;:34::i;:::-;9215:1;9173:23;;;:12;:23;;;;;:30;;;9060:54;;-1:-1:-1;;;;;;9173:30:2;:44;9169:78;;9226:21;;;;;;;;;;;;;;9169:78;-1:-1:-1;;;;;9317:20:2;;9313:47;;9346:14;;-1:-1:-1;;;9346:14:2;;;;;;;;;;;9313:47;9447:22;9472:213;;;;;;;;9498:9;9472:213;;;;9528:6;9472:213;;;;9554:5;9472:213;;;;9583:9;9472:213;;;;9613:6;-1:-1:-1;;;;;9472:213:2;;;;;9641:33;9657:9;9668:5;9641:15;:33::i;:::-;-1:-1:-1;;;;;9472:213:2;;;9696:23;;;;:12;:23;;;;;;;;;:33;;;;;;;;;;;;;;;;9447:238;;-1:-1:-1;9447:238:2;;9696:33;;;;;;;;:::i;:::-;-1:-1:-1;9696:33:2;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;9696:33:2;;;;;;;;;-1:-1:-1;;9696:33:2;;;-1:-1:-1;;;;;9696:33:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9757:14;;;;9739:33;-1:-1:-1;9739:33:2;;;:17;:33;;;;;:45;;;9866:15;;9942:16;;;;;:40;;-1:-1:-1;;;;;;9962:20:2;;9972:10;9962:20;;9942:40;9938:92;;;10005:14;;-1:-1:-1;;;10005:14:2;;;;;;;;;;;9938:92;10045:9;10040:402;10060:12;10056:1;:16;10040:402;;;10089:14;10106:8;10115:1;10106:11;;;;;;;;:::i;:::-;;;;;;;10089:28;;10224:1;-1:-1:-1;;;;;10206:20:2;:6;-1:-1:-1;;;;;10206:20:2;;10202:47;;10235:14;;-1:-1:-1;;;10235:14:2;;;;;;;;;;;10202:47;10343:29;10354:9;10365:6;10343:10;:29::i;:::-;-1:-1:-1;10414:3:2;;10040:402;;;;10527:9;10512:103;10538:7;:13;;;10553:7;:12;;;10567:7;:16;;;10585:7;:13;;;10600:7;:14;;;10512:103;;;;;;;;;;:::i;:::-;;;;;;;;-1:-1:-1;10666:9:2;;8781:1901;-1:-1:-1;;;;;;;8781:1901:2:o;14336:382::-;14456:10;6416:34;6439:10;6416:22;:34::i;:::-;14530:35:::1;::::0;;;:23:::1;:35;::::0;;;;;;;;:51;;-1:-1:-1;;14530:51:2::1;-1:-1:-1::0;;;;;14530:51:2;::::1;::::0;;::::1;::::0;;;14658:53;;7406:74:151;;;14530:35:2;;14658:53:::1;::::0;7379:18:151;14658:53:2::1;7260:226:151::0;15962:658:2;16055:10;6416:34;6439:10;6416:22;:34::i;:::-;16100:15;;16077:20:::1;16211:403;16231:12;16227:1;:16;16211:403;;;16260:14;16277:8;16286:1;16277:11;;;;;;;;:::i;:::-;;;;;;;16260:28;;16395:1;-1:-1:-1::0;;;;;16377:20:2::1;:6;-1:-1:-1::0;;;;;16377:20:2::1;::::0;16373:47:::1;;16406:14;;-1:-1:-1::0;;;16406:14:2::1;;;;;;;;;;;16373:47;16514:30;16525:10;16537:6;16514:10;:30::i;:::-;-1:-1:-1::0;16586:3:2::1;;16211:403;;;;16067:553;15962:658:::0;;;:::o;12992:208::-;13087:4;20072:24;;;:12;:24;;;;;:30;;;-1:-1:-1;;;;;20072:40:2;;;:30;;:40;13110:83;;;;13153:40;13172:10;13184:8;13153:18;:40::i;12309:415::-;12429:10;6416:34;6439:10;6416:22;:34::i;:::-;12553:24:::1;::::0;;;:12:::1;:24;::::0;;;;;;;:45;;:33:::1;::::0;::::1;:45:::0;;;;;::::1;::::0;12589:9;;12553:33;:45;;;::::1;::::0;;::::1;:::i;:::-;;;;;12695:10;12672:45;12707:9;12672:45;;;;;;:::i;6841:257::-:0;4882:13:48;;6900:1:2;;4882:13:48;;;;;4881:14;:40;;;;-1:-1:-1;4899:12:48;;:22;;;;:12;;:22;4881:40;4873:99;;;;-1:-1:-1;;;4873:99:48;;13734:2:151;4873:99:48;;;13716:21:151;13773:2;13753:18;;;13746:30;13812:34;13792:18;;;13785:62;13883:16;13863:18;;;13856:44;13917:19;;4873:99:48;13532:410:151;4873:99:48;4982:12;:22;;-1:-1:-1;;5014:20:48;4982:22;;;5014:20;4982:22;5014:20;;;-1:-1:-1;;;;;6968:20:2;::::1;6964:47;;6997:14;;-1:-1:-1::0;;;6997:14:2::1;;;;;;;;;;;6964:47;7061:30;6011:23;7084:6;7061:10;:30::i;:::-;5071:5:48::0;5055:21;;-1:-1:-1;;5055:21:48;;;5091:20;;14119:4:151;14107:17;;14089:36;;5091:20:48;;14077:2:151;14062:18;5091:20:48;;;;;;;6841:257:2;;:::o;11210:830::-;11349:14;11320:10;6416:34;6439:10;6416:22;:34::i;:::-;11429::::1;11445:10;11457:5;11429:15;:34::i;:::-;11538:23;11564:24:::0;;;:12:::1;:24;::::0;;;;11420:43;;-1:-1:-1;11627:12:2::1;::::0;::::1;:20;11642:5:::0;11627:12;:20:::1;:::i;:::-;-1:-1:-1::0;11705:14:2::1;::::0;::::1;::::0;;-1:-1:-1;;;;;11705:14:2;;::::1;11731:1;11687:33:::0;;;:17:::1;:33;::::0;;;;;:46;;;11774:23;;-1:-1:-1;;11774:23:2::1;::::0;;::::1;::::0;;::::1;::::0;;;11807:25;;;;;;:38;;;11931:45;11807:38;;11931:45:::1;::::0;::::1;::::0;11962:5;;11774:23;;11931:45:::1;:::i;:::-;;;;;;;;12020:13;11210:830:::0;;;;;:::o;5705:147:44:-;4929:7;4955:12;;;:6;:12;;;;;:22;;;2798:16;2809:4;2798:10;:16::i;:::-;5819:26:::1;5831:4;5837:7;5819:11;:26::i;7837:187:2:-:0;7905:14;;:::i;:::-;-1:-1:-1;;;;;7951:26:2;;7931:17;7951:26;;;:17;:26;;;;;;;;;7994:23;;;:12;:23;;;;;;7987:30;;;;;;;;;;;;;;;;;;;;;;;;;;;7994:23;;7987:30;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;7987:30:2;;;;-1:-1:-1;;;7987:30:2;;;;;;-1:-1:-1;;;;;7987:30:2;;;;;;;;;;;;;;;;;;;;;7837:187;-1:-1:-1;;;7837:187:2:o;16837:500::-;16933:10;6416:34;6439:10;6416:22;:34::i;:::-;16978:15;;16955:20:::1;17094:237;17114:12;17110:1;:16;17094:237;;;17225:36;17237:10;17249:8;17258:1;17249:11;;;;;;;;:::i;:::-;;;;;;;17225;:36::i;:::-;17303:3;;17094:237;;5702:47:::0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;5702:47:2;;;;-1:-1:-1;;;5702:47:2;;;;;;;;;;;-1:-1:-1;;;;;5702:47:2;;;;;;:::o;20464:146::-;20552:4;3459:12:44;;;:6;:12;;;;;;;;-1:-1:-1;;;;;3459:29:44;;;;;;;;;;;;20575:28:2;3350:145:44;3789:103;3855:30;3866:4;965:10:52;3855::44;:30::i;:::-;3789:103;:::o;6721:269:10:-;6815:16;-1:-1:-1;;;;;6815:16:10;;;6811:173;;6847:45;6879:3;6884:7;6847:31;:45::i;6811:173::-;6923:50;6952:6;6960:3;6965:7;6923:28;:50::i;7938:233:44:-;3436:4;3459:12;;;:6;:12;;;;;;;;-1:-1:-1;;;;;3459:29:44;;;;;;;;;;;;8016:149;;8059:12;;;;:6;:12;;;;;;;;-1:-1:-1;;;;;8059:29:44;;;;;;;;;:36;;-1:-1:-1;;8059:36:44;8091:4;8059:36;;;8141:12;965:10:52;;886:96;8141:12:44;-1:-1:-1;;;;;8114:40:44;8132:7;-1:-1:-1;;;;;8114:40:44;8126:4;8114:40;;;;;;;;;;7938:233;;:::o;8342:234::-;3436:4;3459:12;;;:6;:12;;;;;;;;-1:-1:-1;;;;;3459:29:44;;;;;;;;;;;;8421:149;;;8495:5;8463:12;;;:6;:12;;;;;;;;-1:-1:-1;;;;;8463:29:44;;;;;;;;;;:37;;-1:-1:-1;;8463:37:44;;;8519:40;965:10:52;;8463:12:44;;8519:40;;8495:5;8519:40;8342:234;;:::o;19465:159:2:-;19548:7;19601:6;19609;19584:32;;;;;;;;14638:19:151;;;14695:2;14691:15;-1:-1:-1;;14687:53:151;14682:2;14673:12;;14666:75;14766:2;14757:12;;14481:294;19584:32:2;;;;;;;;;;;;;19574:43;;;;;;19567:50;;19465:159;;;;:::o;18166:969::-;18250:14;18276:24;18314:10;18326:5;18303:29;;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;18303:29:2;;;;;;;18380:37;;15250:25:151;;;18411:4:2;15291:18:151;;;15284:83;18380:37:2;;;;;;;;;15223:18:151;;;18380:37:2;;;;18303:29;;-1:-1:-1;18380:37:2;-1:-1:-1;;15223:18:151;18469:25:2;;;;;:::i;:::-;-1:-1:-1;;18469:25:2;;;;;;;;;;;;;;;;18452:67;;18469:25;18496:22;;18469:25;18452:67;;:::i;:::-;;;;-1:-1:-1;;18452:67:2;;;;;;;;;;18545:22;;18452:67;18545:22;;;;;;;18706:19;;;;;;18671:12;18654:72;;;16086:92:151;;;;-1:-1:-1;;18693:4:2;16215:2:151;16211:15;16207:53;16194:11;;;16187:74;16277:12;;;16270:28;;;16314:12;;;16307:28;;;;18452:67:2;;-1:-1:-1;18545:22:2;18530:12;;16351::151;;18654:72:2;;;;;;;;;;;;18644:83;;;;;;18636:92;;18578:161;;18860:4;18866:10;18886:4;18843:49;;;;;:::i;:::-;15250:25:151;;;-1:-1:-1;;;;;15311:55:151;15306:2;15291:18;;15284:83;15238:2;15223:18;18843:49:2;;;;;;;;;;;;;;;;;;18839:290;;19044:10;19008:18;-1:-1:-1;;;;;18993:45:2;;:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:61;18989:88;;19063:14;;;;;;;;;;;;;;18989:88;19100:18;19091:27;;18839:290;;;18949:7;-1:-1:-1;18839:290:2;18266:869;;;;;18166:969;;;;:::o;17659:152::-;20049:4;20072:24;;;:12;:24;;;;;:30;;;-1:-1:-1;;;;;20072:30:2;17770:10;20072:40;17735:69;;17790:14;;-1:-1:-1;;;17790:14:2;;;;;;;;;;;4173:501:44;3436:4;3459:12;;;:6;:12;;;;;;;;-1:-1:-1;;;;;3459:29:44;;;;;;;;;;;;4256:412;;4444:39;4475:7;4444:30;:39::i;:::-;4554:49;4593:4;4600:2;4554:30;:49::i;:::-;4351:274;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;4351:274:44;;;;;;;;;;-1:-1:-1;;;4299:358:44;;;;;;;:::i;2455:490:14:-;2711:4;2705;2699;2693;2685:6;2681:2;2674:5;2669:47;2659:270;;2822:10;2816:4;2809:24;2910:4;2904;2897:18;11454:1189;11617:2;11611:4;11604:16;11674:6;11668:4;11661:20;11814:34;11808:4;11801:48;12272:4;12266;12260;12254;12251:1;12244:5;12237;12232:45;12192:16;12185:24;12181:1;12174:4;12168:11;12165:18;12162:48;11890:405;11863:655;;12411:10;12405:4;12398:24;12499:4;12493;12486:18;11863:655;12625:1;12619:4;12612:15;11454:1189;;;:::o;2473:149:53:-;2531:13;2563:52;-1:-1:-1;;;;;2575:22:53;;376:2;1884:437;1959:13;1984:19;2016:10;2020:6;2016:1;:10;:::i;:::-;:14;;2029:1;2016:14;:::i;:::-;2006:25;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2006:25:53;;1984:47;;2041:15;:6;2048:1;2041:9;;;;;;;;:::i;:::-;;;;:15;-1:-1:-1;;;;;2041:15:53;;;;;;;;;2066;:6;2073:1;2066:9;;;;;;;;:::i;:::-;;;;:15;-1:-1:-1;;;;;2066:15:53;;;;;;;;-1:-1:-1;2096:9:53;2108:10;2112:6;2108:1;:10;:::i;:::-;:14;;2121:1;2108:14;:::i;:::-;2096:26;;2091:128;2128:1;2124;:5;2091:128;;;2162:8;2171:5;2179:3;2171:11;2162:21;;;;;;;:::i;:::-;;;;2150:6;2157:1;2150:9;;;;;;;;:::i;:::-;;;;:33;-1:-1:-1;;;;;2150:33:53;;;;;;;;-1:-1:-1;2207:1:53;2197:11;;;;;2131:3;;;:::i;:::-;;;2091:128;;;-1:-1:-1;2236:10:53;;2228:55;;;;-1:-1:-1;;;2228:55:53;;18440:2:151;2228:55:53;;;18422:21:151;;;18459:18;;;18452:30;18518:34;18498:18;;;18491:62;18570:18;;2228:55:53;18238:356:151;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;:::o;14:180:151:-;73:6;126:2;114:9;105:7;101:23;97:32;94:52;;;142:1;139;132:12;94:52;-1:-1:-1;165:23:151;;14:180;-1:-1:-1;14:180:151:o;199:250::-;284:1;294:113;308:6;305:1;302:13;294:113;;;384:11;;;378:18;365:11;;;358:39;330:2;323:10;294:113;;;-1:-1:-1;;441:1:151;423:16;;416:27;199:250::o;454:271::-;496:3;534:5;528:12;561:6;556:3;549:19;577:76;646:6;639:4;634:3;630:14;623:4;616:5;612:16;577:76;:::i;:::-;707:2;686:15;-1:-1:-1;;682:29:151;673:39;;;;714:4;669:50;;454:271;-1:-1:-1;;454:271:151:o;730:252::-;817:5;811:12;806:3;799:25;781:3;870:4;863:5;859:16;853:23;908:4;901;896:3;892:14;885:28;929:47;970:4;965:3;961:14;947:12;929:47;:::i;:::-;922:54;730:252;-1:-1:-1;;;;730:252:151:o;987:934::-;1166:2;1155:9;1148:21;1211:6;1205:13;1200:2;1189:9;1185:18;1178:41;1273:2;1265:6;1261:15;1255:22;1250:2;1239:9;1235:18;1228:50;1129:4;1325:2;1317:6;1313:15;1307:22;1365:4;1360:2;1349:9;1345:18;1338:32;1393:52;1440:3;1429:9;1425:19;1411:12;1393:52;:::i;:::-;1379:66;;1494:2;1486:6;1482:15;1476:22;1567:2;1563:7;1551:9;1543:6;1539:22;1535:36;1529:3;1518:9;1514:19;1507:65;1595:50;1638:6;1622:14;1595:50;:::i;:::-;1581:64;;;1694:3;1686:6;1682:16;1676:23;-1:-1:-1;;;;;1817:2:151;1801:14;1797:23;1791:3;1780:9;1776:19;1769:52;1888:2;1881:3;1873:6;1869:16;1863:23;1859:32;1852:4;1841:9;1837:20;1830:62;;;1909:6;1901:14;;;987:934;;;;:::o;1926:332::-;1984:6;2037:2;2025:9;2016:7;2012:23;2008:32;2005:52;;;2053:1;2050;2043:12;2005:52;2092:9;2079:23;2142:66;2135:5;2131:78;2124:5;2121:89;2111:117;;2224:1;2221;2214:12;2455:196;2523:20;;-1:-1:-1;;;;;2572:54:151;;2562:65;;2552:93;;2641:1;2638;2631:12;2552:93;2455:196;;;:::o;2656:254::-;2724:6;2732;2785:2;2773:9;2764:7;2760:23;2756:32;2753:52;;;2801:1;2798;2791:12;2753:52;2837:9;2824:23;2814:33;;2866:38;2900:2;2889:9;2885:18;2866:38;:::i;:::-;2856:48;;2656:254;;;;;:::o;3097:260::-;3165:6;3173;3226:2;3214:9;3205:7;3201:23;3197:32;3194:52;;;3242:1;3239;3232:12;3194:52;3265:29;3284:9;3265:29;:::i;:::-;3255:39;;3313:38;3347:2;3336:9;3332:18;3313:38;:::i;3362:184::-;-1:-1:-1;;;3411:1:151;3404:88;3511:4;3508:1;3501:15;3535:4;3532:1;3525:15;3551:275;3622:2;3616:9;3687:2;3668:13;;-1:-1:-1;;3664:27:151;3652:40;;3722:18;3707:34;;3743:22;;;3704:62;3701:88;;;3769:18;;:::i;:::-;3805:2;3798:22;3551:275;;-1:-1:-1;3551:275:151:o;3831:531::-;3874:5;3927:3;3920:4;3912:6;3908:17;3904:27;3894:55;;3945:1;3942;3935:12;3894:55;3981:6;3968:20;4007:18;4003:2;4000:26;3997:52;;;4029:18;;:::i;:::-;4073:55;4116:2;4097:13;;-1:-1:-1;;4093:27:151;4122:4;4089:38;4073:55;:::i;:::-;4153:2;4144:7;4137:19;4199:3;4192:4;4187:2;4179:6;4175:15;4171:26;4168:35;4165:55;;;4216:1;4213;4206:12;4165:55;4281:2;4274:4;4266:6;4262:17;4255:4;4246:7;4242:18;4229:55;4329:1;4304:16;;;4322:4;4300:27;4293:38;;;;4308:7;3831:531;-1:-1:-1;;;3831:531:151:o;4367:610::-;4422:5;4470:4;4458:9;4453:3;4449:19;4445:30;4442:50;;;4488:1;4485;4478:12;4442:50;4521:4;4515:11;4565:4;4557:6;4553:17;4589:18;4657:6;4645:10;4642:22;4637:2;4625:10;4622:18;4619:46;4616:72;;;4668:18;;:::i;:::-;4710:10;4704:4;4697:24;4739:6;4730:15;;4782:9;4769:23;4761:6;4754:39;4844:2;4833:9;4829:18;4816:32;4802:46;;4871:2;4863:6;4860:14;4857:34;;;4887:1;4884;4877:12;4857:34;;4924:46;4966:3;4957:6;4946:9;4942:22;4924:46;:::i;:::-;4919:2;4911:6;4907:15;4900:71;;;4367:610;;;;:::o;4982:718::-;5036:5;5089:3;5082:4;5074:6;5070:17;5066:27;5056:55;;5107:1;5104;5097:12;5056:55;5143:6;5130:20;5169:4;5192:18;5188:2;5185:26;5182:52;;;5214:18;;:::i;:::-;5260:2;5257:1;5253:10;5283:28;5307:2;5303;5299:11;5283:28;:::i;:::-;5345:15;;;5415;;;5411:24;;;5376:12;;;;5447:15;;;5444:35;;;5475:1;5472;5465:12;5444:35;5511:2;5503:6;5499:15;5488:26;;5523:148;5539:6;5534:3;5531:15;5523:148;;;5605:23;5624:3;5605:23;:::i;:::-;5593:36;;5556:12;;;;5649;;;;5523:148;;;5689:5;4982:718;-1:-1:-1;;;;;;;4982:718:151:o;5705:938::-;5861:6;5869;5877;5885;5893;5946:3;5934:9;5925:7;5921:23;5917:33;5914:53;;;5963:1;5960;5953:12;5914:53;5999:9;5986:23;5976:33;;6060:2;6049:9;6045:18;6032:32;6083:18;6124:2;6116:6;6113:14;6110:34;;;6140:1;6137;6130:12;6110:34;6163:50;6205:7;6196:6;6185:9;6181:22;6163:50;:::i;:::-;6153:60;;6266:2;6255:9;6251:18;6238:32;6222:48;;6295:2;6285:8;6282:16;6279:36;;;6311:1;6308;6301:12;6279:36;6334:61;6387:7;6376:8;6365:9;6361:24;6334:61;:::i;:::-;6324:71;;6414:38;6448:2;6437:9;6433:18;6414:38;:::i;:::-;6404:48;;6505:3;6494:9;6490:19;6477:33;6461:49;;6535:2;6525:8;6522:16;6519:36;;;6551:1;6548;6541:12;6519:36;;6574:63;6629:7;6618:8;6607:9;6603:24;6574:63;:::i;:::-;6564:73;;;5705:938;;;;;;;;:::o;6648:186::-;6707:6;6760:2;6748:9;6739:7;6735:23;6731:32;6728:52;;;6776:1;6773;6766:12;6728:52;6799:29;6818:9;6799:29;:::i;6839:416::-;6932:6;6940;6993:2;6981:9;6972:7;6968:23;6964:32;6961:52;;;7009:1;7006;6999:12;6961:52;7045:9;7032:23;7022:33;;7106:2;7095:9;7091:18;7078:32;7133:18;7125:6;7122:30;7119:50;;;7165:1;7162;7155:12;7119:50;7188:61;7241:7;7232:6;7221:9;7217:22;7188:61;:::i;:::-;7178:71;;;6839:416;;;;;:::o;7491:415::-;7585:6;7593;7646:2;7634:9;7625:7;7621:23;7617:32;7614:52;;;7662:1;7659;7652:12;7614:52;7698:9;7685:23;7675:33;;7759:2;7748:9;7744:18;7731:32;7786:18;7778:6;7775:30;7772:50;;;7818:1;7815;7808:12;7772:50;7841:59;7892:7;7883:6;7872:9;7868:22;7841:59;:::i;7911:390::-;7989:6;7997;8050:2;8038:9;8029:7;8025:23;8021:32;8018:52;;;8066:1;8063;8056:12;8018:52;8102:9;8089:23;8079:33;;8163:2;8152:9;8148:18;8135:32;8190:18;8182:6;8179:30;8176:50;;;8222:1;8219;8212:12;8176:50;8245;8287:7;8278:6;8267:9;8263:22;8245:50;:::i;8306:791::-;8647:6;8636:9;8629:25;8690:6;8685:2;8674:9;8670:18;8663:34;8733:3;8728:2;8717:9;8713:18;8706:31;8610:4;8760:46;8801:3;8790:9;8786:19;8778:6;8760:46;:::i;:::-;8854:9;8846:6;8842:22;8837:2;8826:9;8822:18;8815:50;8882:42;8917:6;8909;8882:42;:::i;:::-;8874:50;;;-1:-1:-1;;;;;9034:2:151;9026:6;9022:15;9016:3;9005:9;9001:19;8994:44;9087:2;9079:6;9075:15;9069:3;9058:9;9054:19;9047:44;;8306:791;;;;;;;;;:::o;9102:437::-;9181:1;9177:12;;;;9224;;;9245:61;;9299:4;9291:6;9287:17;9277:27;;9245:61;9352:2;9344:6;9341:14;9321:18;9318:38;9315:218;;-1:-1:-1;;;9386:1:151;9379:88;9490:4;9487:1;9480:15;9518:4;9515:1;9508:15;9315:218;;9102:437;;;:::o;9544:184::-;9614:6;9667:2;9655:9;9646:7;9642:23;9638:32;9635:52;;;9683:1;9680;9673:12;9635:52;-1:-1:-1;9706:16:151;;9544:184;-1:-1:-1;9544:184:151:o;10275:545::-;10377:2;10372:3;10369:11;10366:448;;;10413:1;10438:5;10434:2;10427:17;10483:4;10479:2;10469:19;10553:2;10541:10;10537:19;10534:1;10530:27;10524:4;10520:38;10589:4;10577:10;10574:20;10571:47;;;-1:-1:-1;10612:4:151;10571:47;10667:2;10662:3;10658:12;10655:1;10651:20;10645:4;10641:31;10631:41;;10722:82;10740:2;10733:5;10730:13;10722:82;;;10785:17;;;10766:1;10755:13;10722:82;;;10726:3;;;10275:545;;;:::o;10996:1352::-;11122:3;11116:10;11149:18;11141:6;11138:30;11135:56;;;11171:18;;:::i;:::-;11200:97;11290:6;11250:38;11282:4;11276:11;11250:38;:::i;:::-;11244:4;11200:97;:::i;:::-;11352:4;;11416:2;11405:14;;11433:1;11428:663;;;;12135:1;12152:6;12149:89;;;-1:-1:-1;12204:19:151;;;12198:26;12149:89;-1:-1:-1;;10953:1:151;10949:11;;;10945:24;10941:29;10931:40;10977:1;10973:11;;;10928:57;12251:81;;11398:944;;11428:663;10222:1;10215:14;;;10259:4;10246:18;;-1:-1:-1;;11464:20:151;;;11582:236;11596:7;11593:1;11590:14;11582:236;;;11685:19;;;11679:26;11664:42;;11777:27;;;;11745:1;11733:14;;;;11612:19;;11582:236;;;11586:3;11846:6;11837:7;11834:19;11831:201;;;11907:19;;;11901:26;-1:-1:-1;;11990:1:151;11986:14;;;12002:3;11982:24;11978:37;11974:42;11959:58;11944:74;;11831:201;-1:-1:-1;;;;;12078:1:151;12062:14;;;12058:22;12045:36;;-1:-1:-1;10996:1352:151:o;12353:184::-;-1:-1:-1;;;12402:1:151;12395:88;12502:4;12499:1;12492:15;12526:4;12523:1;12516:15;12542:719;12855:6;12844:9;12837:25;12898:3;12893:2;12882:9;12878:18;12871:31;12818:4;12925:46;12966:3;12955:9;12951:19;12943:6;12925:46;:::i;:::-;13019:9;13011:6;13007:22;13002:2;12991:9;12987:18;12980:50;13047:42;13082:6;13074;13047:42;:::i;:::-;13039:50;;;-1:-1:-1;;;;;13198:2:151;13190:6;13186:15;13181:2;13170:9;13166:18;13159:43;13251:2;13243:6;13239:15;13233:3;13222:9;13218:19;13211:44;;12542:719;;;;;;;;:::o;13266:261::-;13447:2;13436:9;13429:21;13410:4;13467:54;13517:2;13506:9;13502:18;13494:6;13467:54;:::i;14136:340::-;14313:2;14302:9;14295:21;14276:4;14333:45;14374:2;14363:9;14359:18;14351:6;14333:45;:::i;:::-;14325:53;;-1:-1:-1;;;;;14418:6:151;14414:55;14409:2;14398:9;14394:18;14387:83;14136:340;;;;;:::o;14780:291::-;14957:6;14946:9;14939:25;15000:2;14995;14984:9;14980:18;14973:30;14920:4;15020:45;15061:2;15050:9;15046:18;15038:6;15020:45;:::i;15378:492::-;15553:3;15591:6;15585:13;15607:66;15666:6;15661:3;15654:4;15646:6;15642:17;15607:66;:::i;:::-;15736:13;;15695:16;;;;15758:70;15736:13;15695:16;15805:4;15793:17;;15758:70;:::i;:::-;15844:20;;15378:492;-1:-1:-1;;;;15378:492:151:o;16563:812::-;16974:25;16969:3;16962:38;16944:3;17029:6;17023:13;17045:75;17113:6;17108:2;17103:3;17099:12;17092:4;17084:6;17080:17;17045:75;:::i;:::-;17184:19;17179:2;17139:16;;;17171:11;;;17164:40;17229:13;;17251:76;17229:13;17313:2;17305:11;;17298:4;17286:17;;17251:76;:::i;:::-;17347:17;17366:2;17343:26;;16563:812;-1:-1:-1;;;;16563:812:151:o;17380:220::-;17529:2;17518:9;17511:21;17492:4;17549:45;17590:2;17579:9;17575:18;17567:6;17549:45;:::i;17605:184::-;-1:-1:-1;;;17654:1:151;17647:88;17754:4;17751:1;17744:15;17778:4;17775:1;17768:15;17794:168;17867:9;;;17898;;17915:15;;;17909:22;;17895:37;17885:71;;17936:18;;:::i;17967:125::-;18032:9;;;18053:10;;;18050:36;;;18066:18;;:::i;18097:136::-;18136:3;18164:5;18154:39;;18173:18;;:::i;:::-;-1:-1:-1;;;18209:18:151;;18097:136::o","linkReferences":{}},"methodIdentifiers":{"ALLO_OWNER()":"cfda7e0a","DEFAULT_ADMIN_ROLE()":"a217fddf","NATIVE()":"a0cf0aea","acceptProfileOwnership(bytes32)":"2497f3c6","addMembers(bytes32,address[])":"5063f361","anchorToProfileId(address)":"4756487f","createProfile(uint256,string,(uint256,string),address,address[])":"3a92f65f","getProfileByAnchor(address)":"dd93da43","getProfileById(bytes32)":"0114cf0a","getRoleAdmin(bytes32)":"248a9ca3","grantRole(bytes32,address)":"2f2ff15d","hasRole(bytes32,address)":"91d14854","initialize(address)":"c4d66de8","isMemberOfProfile(bytes32,address)":"0ec1fbac","isOwnerOfProfile(bytes32,address)":"39b86b8c","isOwnerOrMemberOfProfile(bytes32,address)":"5e8a7915","profileIdToPendingOwner(bytes32)":"50d005e0","profilesById(bytes32)":"ee888196","recoverFunds(address,address)":"24ae6a27","removeMembers(bytes32,address[])":"e0cf1e4c","renounceRole(bytes32,address)":"36568abe","revokeRole(bytes32,address)":"d547741f","supportsInterface(bytes4)":"01ffc9a7","updateProfileMetadata(bytes32,(uint256,string))":"ac402839","updateProfileName(bytes32,string)":"cf189ff2","updateProfilePendingOwner(bytes32,address)":"3b66dacd"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"ALLOCATION_ACTIVE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ALLOCATION_NOT_ACTIVE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ALLOCATION_NOT_ENDED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ALREADY_INITIALIZED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"AMOUNT_MISMATCH\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ANCHOR_ERROR\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ARRAY_MISMATCH\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID_ADDRESS\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID_FEE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID_METADATA\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID_REGISTRATION\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"IS_APPROVED_STRATEGY\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"MISMATCH\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NONCE_NOT_AVAILABLE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NOT_APPROVED_STRATEGY\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NOT_ENOUGH_FUNDS\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NOT_IMPLEMENTED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NOT_INITIALIZED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NOT_PENDING_OWNER\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"POOL_ACTIVE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"POOL_INACTIVE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"RECIPIENT_ALREADY_ACCEPTED\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"recipientId\",\"type\":\"address\"}],\"name\":\"RECIPIENT_ERROR\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"RECIPIENT_NOT_ACCEPTED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"REGISTRATION_NOT_ACTIVE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UNAUTHORIZED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ZERO_ADDRESS\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"version\",\"type\":\"uint8\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"profileId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"indexed\":false,\"internalType\":\"struct Metadata\",\"name\":\"metadata\",\"type\":\"tuple\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"anchor\",\"type\":\"address\"}],\"name\":\"ProfileCreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"profileId\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"indexed\":false,\"internalType\":\"struct Metadata\",\"name\":\"metadata\",\"type\":\"tuple\"}],\"name\":\"ProfileMetadataUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"profileId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"anchor\",\"type\":\"address\"}],\"name\":\"ProfileNameUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"profileId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"ProfileOwnerUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"profileId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"pendingOwner\",\"type\":\"address\"}],\"name\":\"ProfilePendingOwnerUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"previousAdminRole\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"newAdminRole\",\"type\":\"bytes32\"}],\"name\":\"RoleAdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleGranted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleRevoked\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"ALLO_OWNER\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"DEFAULT_ADMIN_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"NATIVE\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_profileId\",\"type\":\"bytes32\"}],\"name\":\"acceptProfileOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_profileId\",\"type\":\"bytes32\"},{\"internalType\":\"address[]\",\"name\":\"_members\",\"type\":\"address[]\"}],\"name\":\"addMembers\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"anchorToProfileId\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_nonce\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"_name\",\"type\":\"string\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"_metadata\",\"type\":\"tuple\"},{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"},{\"internalType\":\"address[]\",\"name\":\"_members\",\"type\":\"address[]\"}],\"name\":\"createProfile\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_anchor\",\"type\":\"address\"}],\"name\":\"getProfileByAnchor\",\"outputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"id\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"metadata\",\"type\":\"tuple\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"anchor\",\"type\":\"address\"}],\"internalType\":\"struct IRegistry.Profile\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_profileId\",\"type\":\"bytes32\"}],\"name\":\"getProfileById\",\"outputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"id\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"metadata\",\"type\":\"tuple\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"anchor\",\"type\":\"address\"}],\"internalType\":\"struct IRegistry.Profile\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"}],\"name\":\"getRoleAdmin\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"grantRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"hasRole\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_profileId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"}],\"name\":\"isMemberOfProfile\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_profileId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"}],\"name\":\"isOwnerOfProfile\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_profileId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"_account\",\"type\":\"address\"}],\"name\":\"isOwnerOrMemberOfProfile\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"profileIdToPendingOwner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"profilesById\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"id\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"metadata\",\"type\":\"tuple\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"anchor\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_recipient\",\"type\":\"address\"}],\"name\":\"recoverFunds\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_profileId\",\"type\":\"bytes32\"},{\"internalType\":\"address[]\",\"name\":\"_members\",\"type\":\"address[]\"}],\"name\":\"removeMembers\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"renounceRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"revokeRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_profileId\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"_metadata\",\"type\":\"tuple\"}],\"name\":\"updateProfileMetadata\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_profileId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"_name\",\"type\":\"string\"}],\"name\":\"updateProfileName\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"anchor\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_profileId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"_pendingOwner\",\"type\":\"address\"}],\"name\":\"updateProfilePendingOwner\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"@thelostone-mc , @0xKurt , @codenamejason , @0xZakk , @nfrgosselin \",\"details\":\"This contract is used to create and manage profiles for the Allo protocol It is also used to deploy the anchor contract for each profile which acts as a proxy for the profile and is used to receive funds and execute transactions on behalf of the profile The Registry is also used to add and remove members from a profile and update the profile 'Metadata'\",\"errors\":{\"ANCHOR_ERROR()\":[{\"details\":\"Thrown if the anchor creation fails\"}],\"NONCE_NOT_AVAILABLE()\":[{\"details\":\"Thrown when the nonce passed has been used or not available\"}],\"NOT_PENDING_OWNER()\":[{\"details\":\"Thrown when the 'msg.sender' is not the pending owner on ownership transfer\"}]},\"events\":{\"Initialized(uint8)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"ProfileCreated(bytes32,uint256,string,(uint256,string),address,address)\":{\"details\":\"Emitted when a profile is created. This will return your anchor address.\"},\"ProfileMetadataUpdated(bytes32,(uint256,string))\":{\"details\":\"Emitted when a profile's metadata is updated.\"},\"ProfileNameUpdated(bytes32,string,address)\":{\"details\":\"Emitted when a profile name is updated. This will update the anchor when the name is updated and return it.\"},\"ProfileOwnerUpdated(bytes32,address)\":{\"details\":\"Emitted when a profile owner is updated.\"},\"ProfilePendingOwnerUpdated(bytes32,address)\":{\"details\":\"Emitted when a profile pending owner is updated.\"},\"RoleAdminChanged(bytes32,bytes32,bytes32)\":{\"details\":\"Emitted when `newAdminRole` is set as ``role``'s admin role, replacing `previousAdminRole` `DEFAULT_ADMIN_ROLE` is the starting admin for all roles, despite {RoleAdminChanged} not being emitted signaling this. _Available since v3.1._\"},\"RoleGranted(bytes32,address,address)\":{\"details\":\"Emitted when `account` is granted `role`. `sender` is the account that originated the contract call, an admin role bearer except when using {AccessControl-_setupRole}.\"},\"RoleRevoked(bytes32,address,address)\":{\"details\":\"Emitted when `account` is revoked `role`. `sender` is the account that originated the contract call: - if using `revokeRole`, it is the admin role bearer - if using `renounceRole`, it is the role bearer (i.e. `account`)\"}},\"kind\":\"dev\",\"methods\":{\"acceptProfileOwnership(bytes32)\":{\"details\":\"'msg.sender' must be the pending owner of the profile. [2]*This is step two of two when transferring ownership.\",\"params\":{\"_profileId\":\"The ID of the profile\"}},\"addMembers(bytes32,address[])\":{\"details\":\"'msg.sender' must be the owner of the profile.\",\"params\":{\"_members\":\"The members to add\",\"_profileId\":\"The ID of the profile\"}},\"createProfile(uint256,string,(uint256,string),address,address[])\":{\"details\":\"This will also generate the 'profileId' and 'anchor' address, emits a 'ProfileCreated()' event Note: The 'nonce' is used to generate the 'profileId' and should be unique for each profile Note: The 'name' and 'profileId' are used to generate the 'anchor' address\",\"params\":{\"_members\":\"The members of the profile (can be set only if msg.sender == _owner)\",\"_metadata\":\"The metadata of the profile\",\"_name\":\"The name of the profile\",\"_nonce\":\"Nonce used to generate profileId. Can be any integer, but should be unique for each profile.\",\"_owner\":\"The owner of the profile\"},\"returns\":{\"_0\":\"The ID for the created profile\"}},\"getProfileByAnchor(address)\":{\"details\":\"Used when you have the 'anchor' address and want to retrieve the profile\",\"params\":{\"_anchor\":\"The anchor of the profile\"},\"returns\":{\"_0\":\"Profile details for the `_anchor`\"}},\"getProfileById(bytes32)\":{\"details\":\"Used when you have the 'profileId' and want to retrieve the profile\",\"params\":{\"_profileId\":\"The ID of the profile\"},\"returns\":{\"_0\":\"The Profile details for the `_profileId`\"}},\"getRoleAdmin(bytes32)\":{\"details\":\"Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}.\"},\"grantRole(bytes32,address)\":{\"details\":\"Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleGranted} event.\"},\"hasRole(bytes32,address)\":{\"details\":\"Returns `true` if `account` has been granted `role`.\"},\"initialize(address)\":{\"details\":\"During upgrade -> a higher version should be passed to reinitializer. Reverts if the '_owner' is the 'address(0)'\",\"params\":{\"_owner\":\"The owner of the contract\"}},\"isMemberOfProfile(bytes32,address)\":{\"params\":{\"_member\":\"The address to check\",\"_profileId\":\"The ID of the profile\"},\"returns\":{\"_0\":\"'true' if the address is a member of the profile, otherwise 'false'\"}},\"isOwnerOfProfile(bytes32,address)\":{\"params\":{\"_owner\":\"The address to check\",\"_profileId\":\"The ID of the profile\"},\"returns\":{\"_0\":\"'true' if the address is an owner of the profile, otherwise 'false'\"}},\"isOwnerOrMemberOfProfile(bytes32,address)\":{\"params\":{\"_account\":\"The address to check\",\"_profileId\":\"The ID of the profile\"},\"returns\":{\"_0\":\"'true' if the address is an owner or member of the profile, otherwise 'false'\"}},\"recoverFunds(address,address)\":{\"details\":\"'msg.sender' must be the Allo owner\",\"params\":{\"_recipient\":\"The address of the recipient\",\"_token\":\"The address of the token to transfer\"}},\"removeMembers(bytes32,address[])\":{\"details\":\"'msg.sender' must be the pending owner of the profile.\",\"params\":{\"_members\":\"The members to remove\",\"_profileId\":\"The ID of the profile\"}},\"renounceRole(bytes32,address)\":{\"details\":\"Revokes `role` from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been revoked `role`, emits a {RoleRevoked} event. Requirements: - the caller must be `account`. May emit a {RoleRevoked} event.\"},\"revokeRole(bytes32,address)\":{\"details\":\"Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleRevoked} event.\"},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"},\"updateProfileMetadata(bytes32,(uint256,string))\":{\"details\":\"'msg.sender' must be the owner of the profile.\",\"params\":{\"_metadata\":\"The new 'Metadata' of the profile\",\"_profileId\":\"The ID of the profile\"}},\"updateProfileName(bytes32,string)\":{\"details\":\"Use caution when updating your profile name as it will generate a new anchor address. You can always update the name back to the original name to get the original anchor address. 'msg.sender' must be the owner of the profile.\",\"params\":{\"_name\":\"The new name of the profile\",\"_profileId\":\"The profileId of the profile\"},\"returns\":{\"anchor\":\"The new anchor\"}},\"updateProfilePendingOwner(bytes32,address)\":{\"details\":\"'msg.sender' must be the owner of the profile. [1]*This is step one of two when transferring ownership.\",\"params\":{\"_pendingOwner\":\"The new pending owner\",\"_profileId\":\"The ID of the profile\"}}},\"stateVariables\":{\"anchorToProfileId\":{\"details\":\"anchor -> Profile.id\"},\"profileIdToPendingOwner\":{\"details\":\"Profile.id -> pending owner\"},\"profilesById\":{\"details\":\"Profile.id -> Profile\"}},\"title\":\"Registry Contract\",\"version\":1},\"userdoc\":{\"errors\":{\"ALLOCATION_ACTIVE()\":[{\"notice\":\"Thrown when the allocation is active.\"}],\"ALLOCATION_NOT_ACTIVE()\":[{\"notice\":\"Thrown when the allocation is not active.\"}],\"ALLOCATION_NOT_ENDED()\":[{\"notice\":\"Thrown when the allocation is not ended.\"}],\"ALREADY_INITIALIZED()\":[{\"notice\":\"Thrown when data is already intialized\"}],\"AMOUNT_MISMATCH()\":[{\"notice\":\"Thrown when the amount of tokens sent does not match the amount of tokens expected\"}],\"ARRAY_MISMATCH()\":[{\"notice\":\"Thrown when two arrays length are not equal\"}],\"INVALID()\":[{\"notice\":\"Thrown as a general error when input / data is invalid\"}],\"INVALID_ADDRESS()\":[{\"notice\":\"Thrown when an invalid address is used\"}],\"INVALID_FEE()\":[{\"notice\":\"Thrown when the fee is below 1e18 which is the fee percentage denominator\"}],\"INVALID_METADATA()\":[{\"notice\":\"Thrown when the metadata is invalid.\"}],\"INVALID_REGISTRATION()\":[{\"notice\":\"Thrown when the registration is invalid.\"}],\"IS_APPROVED_STRATEGY()\":[{\"notice\":\"Thrown when the strategy is approved and should be cloned\"}],\"MISMATCH()\":[{\"notice\":\"Thrown when mismatch in decoding data\"}],\"NOT_APPROVED_STRATEGY()\":[{\"notice\":\"Thrown when the strategy is not approved\"}],\"NOT_ENOUGH_FUNDS()\":[{\"notice\":\"Thrown when not enough funds are available\"}],\"NOT_IMPLEMENTED()\":[{\"notice\":\"Thrown when the function is not implemented\"}],\"NOT_INITIALIZED()\":[{\"notice\":\"Thrown when data is yet to be initialized\"}],\"POOL_ACTIVE()\":[{\"notice\":\"Thrown when a pool is already active\"}],\"POOL_INACTIVE()\":[{\"notice\":\"Thrown when a pool is inactive\"}],\"RECIPIENT_ALREADY_ACCEPTED()\":[{\"notice\":\"Thrown when recipient is already accepted.\"}],\"RECIPIENT_ERROR(address)\":[{\"notice\":\"Thrown when there is an error in recipient.\"}],\"RECIPIENT_NOT_ACCEPTED()\":[{\"notice\":\"Thrown when the recipient is not accepted.\"}],\"REGISTRATION_NOT_ACTIVE()\":[{\"notice\":\"Thrown when registration is not active.\"}],\"UNAUTHORIZED()\":[{\"notice\":\"Thrown when user is not authorized\"}],\"ZERO_ADDRESS()\":[{\"notice\":\"Thrown when address is the zero address\"}]},\"kind\":\"user\",\"methods\":{\"ALLO_OWNER()\":{\"notice\":\"Allo Owner Role for fund recovery\"},\"NATIVE()\":{\"notice\":\"Address of the native token\"},\"acceptProfileOwnership(bytes32)\":{\"notice\":\"Transfers the ownership of the profile to the pending owner and Emits a 'ProfileOwnerUdpated()' event.\"},\"addMembers(bytes32,address[])\":{\"notice\":\"Adds members to the profile\"},\"anchorToProfileId(address)\":{\"notice\":\"This maps the anchor address to the profile ID\"},\"createProfile(uint256,string,(uint256,string),address,address[])\":{\"notice\":\"Creates a new profile\"},\"getProfileByAnchor(address)\":{\"notice\":\"Retrieve profile by anchor\"},\"getProfileById(bytes32)\":{\"notice\":\"Retrieve profile by profileId\"},\"initialize(address)\":{\"notice\":\"Initializes the contract after an upgrade\"},\"isMemberOfProfile(bytes32,address)\":{\"notice\":\"Checks if the given address is a member of the profile\"},\"isOwnerOfProfile(bytes32,address)\":{\"notice\":\"Checks if the given address is an owner of the profile\"},\"isOwnerOrMemberOfProfile(bytes32,address)\":{\"notice\":\"Checks if the address is an owner or member of the profile\"},\"profileIdToPendingOwner(bytes32)\":{\"notice\":\"This maps the profile ID to the pending owner\"},\"profilesById(bytes32)\":{\"notice\":\"This maps the profile ID to the profile details\"},\"recoverFunds(address,address)\":{\"notice\":\"Transfers any fund balance in Allo to the recipient\"},\"removeMembers(bytes32,address[])\":{\"notice\":\"Removes members from the profile\"},\"updateProfileMetadata(bytes32,(uint256,string))\":{\"notice\":\"Update the 'Metadata' of the profile. Emits a 'ProfileMetadataUpdated()' event.\"},\"updateProfileName(bytes32,string)\":{\"notice\":\"Updates the name of the profile and generates new anchor. Emits a 'ProfileNameUpdated()' event.\"},\"updateProfilePendingOwner(bytes32,address)\":{\"notice\":\"Updates the pending owner of the profile. Emits a 'ProfilePendingOwnership()' event.\"}},\"notice\":\"Registry contract for creating and managing profiles\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/allo-v2/contracts/core/Registry.sol\":\"Registry\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1000},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":eas-proxy/=lib/allo-v2/lib/eas-proxy/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":hedgey-vesting/=lib/allo-v2/lib/hedgey-vesting/contracts/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-contracts/=lib/safe-contracts/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":superfluid-protocol-monorepo/=lib/allo-v2/lib/superfluid-protocol-monorepo/packages/solidity-semantic-money/src/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"]},\"sources\":{\"lib/allo-v2/contracts/core/Anchor.sol\":{\"keccak256\":\"0x6f470a8d0bab0848d3c3b7fb076b4001ff8b6bfd18f4bd6691a50ee6a13910cd\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://4ed2ae6e417c282a07088fa9a30325fe5b2fa6d406ec02dc1df63027e82ec139\",\"dweb:/ipfs/QmdVDTJKzjJqkygZ9768krrVQicLZTJVrZXbvet7KsmT8H\"]},\"lib/allo-v2/contracts/core/Registry.sol\":{\"keccak256\":\"0xb4fb0c6d9eb0f27dd6f6099f2832054a0b194ce420c6870deb5a7a94dd88b998\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://0e82595dcff5471f50e67cc35f73dbc1c9344eac1ee9b42235372bd23ceee283\",\"dweb:/ipfs/QmS34kQKRBaE7ih8c5upBb11bg3QtjunvctxKYNrtfGWhR\"]},\"lib/allo-v2/contracts/core/interfaces/IRegistry.sol\":{\"keccak256\":\"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e\",\"dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA\"]},\"lib/allo-v2/contracts/core/libraries/Errors.sol\":{\"keccak256\":\"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf\",\"dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA\"]},\"lib/allo-v2/contracts/core/libraries/Metadata.sol\":{\"keccak256\":\"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c\",\"dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn\"]},\"lib/allo-v2/contracts/core/libraries/Native.sol\":{\"keccak256\":\"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a\",\"dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv\"]},\"lib/allo-v2/contracts/core/libraries/Transfer.sol\":{\"keccak256\":\"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11\",\"dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5\"]},\"lib/allo-v2/lib/solady/src/tokens/ERC20.sol\":{\"keccak256\":\"0x264e4675697d05dfb9bbe9cc91c6bda7962d934f1e940336fd75d509b7f396c4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5856338689f03f36c057203c5085243e104b8487274432062ebf076b512edeea\",\"dweb:/ipfs/QmXrqgaWQikKkHfoBkYPxeMTJWUY5uf7kSmipNbpU35XwK\"]},\"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol\":{\"keccak256\":\"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298\",\"dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0xc8710577334e8d0799ae2b2a731b1924a7bddd64319da9787ddd2dc69bdd1ce5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b83b7afa4d2372da3ba5402fb10860a105c35d79812c60dc61007be2afc17618\",\"dweb:/ipfs/QmYX9xPmbNVSKXrepKiUZiG5oL3SdzFp9a4kqspxX1sEUx\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol\":{\"keccak256\":\"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c\",\"dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e\",\"dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b\",\"dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95\",\"dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol\":{\"keccak256\":\"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a\",\"dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0xd90d7723512df65ae417adaf0801042940f0dabd60039ceeaffe34aa5b238da1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1b13befeb3413749292f9fb229de1c7a509a5ce2c8047d9094fc004ca9d3af89\",\"dweb:/ipfs/QmRzJ2hZSwRtMejHUZAYTPRKgZsnfb112Fno9Jf3EiDfwA\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol\":{\"keccak256\":\"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758\",\"dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol\":{\"keccak256\":\"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91\",\"dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol\":{\"keccak256\":\"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4\",\"dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z\"]},\"lib/openzeppelin-contracts/contracts/token/ERC1155/IERC1155Receiver.sol\":{\"keccak256\":\"0xeb373f1fdc7b755c6a750123a9b9e3a8a02c1470042fd6505d875000a80bde0b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0e28648f994abf1d6bc345644a361cc0b7efa544f8bc0c8ec26011fed85a91ec\",\"dweb:/ipfs/QmVVE7AiRjKaQYYji7TkjmTeVzGpNmms5eoxqTCfvvpj6D\"]},\"lib/openzeppelin-contracts/contracts/token/ERC1155/utils/ERC1155Holder.sol\":{\"keccak256\":\"0x2e024ca51ce5abe16c0d34e6992a1104f356e2244eb4ccbec970435e8b3405e3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a74009db3c6fc8db851ba69ddb6795b5c1ef1120c5a00fd1a8dc3a717dd9d519\",\"dweb:/ipfs/QmZMk8Yh2X3gPS51ckUVLEXjZUhMSEeGApnA53WtjvLb9h\"]},\"lib/openzeppelin-contracts/contracts/token/ERC1155/utils/ERC1155Receiver.sol\":{\"keccak256\":\"0x3dd5e1a66a56f30302108a1da97d677a42b1daa60e503696b2bcbbf3e4c95bcb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0808de0ae4918c664643c885ca7fa6503e8ef2bd75609dfc85152c0128a3422d\",\"dweb:/ipfs/QmNrhFC1XgBKuuxfahFeiwi1MCdu3FLNpHj2uStgmf4iJj\"]},\"lib/openzeppelin-contracts/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708\",\"dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV\"]},\"lib/openzeppelin-contracts/contracts/token/ERC721/utils/ERC721Holder.sol\":{\"keccak256\":\"0x67ef46fef257faae47adb630aad49694dda0334e5f7a7c5fb386243b974886b5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c63284cf05ff845109190961e72ca27bd6a7b997f053d2ce21db83e9e285085c\",\"dweb:/ipfs/QmQBQVYJRzscToP6YaTRDvwYeLmr4V7kD1PjoG9mRpUYzU\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[],"type":"error","name":"ALLOCATION_ACTIVE"},{"inputs":[],"type":"error","name":"ALLOCATION_NOT_ACTIVE"},{"inputs":[],"type":"error","name":"ALLOCATION_NOT_ENDED"},{"inputs":[],"type":"error","name":"ALREADY_INITIALIZED"},{"inputs":[],"type":"error","name":"AMOUNT_MISMATCH"},{"inputs":[],"type":"error","name":"ANCHOR_ERROR"},{"inputs":[],"type":"error","name":"ARRAY_MISMATCH"},{"inputs":[],"type":"error","name":"INVALID"},{"inputs":[],"type":"error","name":"INVALID_ADDRESS"},{"inputs":[],"type":"error","name":"INVALID_FEE"},{"inputs":[],"type":"error","name":"INVALID_METADATA"},{"inputs":[],"type":"error","name":"INVALID_REGISTRATION"},{"inputs":[],"type":"error","name":"IS_APPROVED_STRATEGY"},{"inputs":[],"type":"error","name":"MISMATCH"},{"inputs":[],"type":"error","name":"NONCE_NOT_AVAILABLE"},{"inputs":[],"type":"error","name":"NOT_APPROVED_STRATEGY"},{"inputs":[],"type":"error","name":"NOT_ENOUGH_FUNDS"},{"inputs":[],"type":"error","name":"NOT_IMPLEMENTED"},{"inputs":[],"type":"error","name":"NOT_INITIALIZED"},{"inputs":[],"type":"error","name":"NOT_PENDING_OWNER"},{"inputs":[],"type":"error","name":"POOL_ACTIVE"},{"inputs":[],"type":"error","name":"POOL_INACTIVE"},{"inputs":[],"type":"error","name":"RECIPIENT_ALREADY_ACCEPTED"},{"inputs":[{"internalType":"address","name":"recipientId","type":"address"}],"type":"error","name":"RECIPIENT_ERROR"},{"inputs":[],"type":"error","name":"RECIPIENT_NOT_ACCEPTED"},{"inputs":[],"type":"error","name":"REGISTRATION_NOT_ACTIVE"},{"inputs":[],"type":"error","name":"UNAUTHORIZED"},{"inputs":[],"type":"error","name":"ZERO_ADDRESS"},{"inputs":[{"internalType":"uint8","name":"version","type":"uint8","indexed":false}],"type":"event","name":"Initialized","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"profileId","type":"bytes32","indexed":true},{"internalType":"uint256","name":"nonce","type":"uint256","indexed":false},{"internalType":"string","name":"name","type":"string","indexed":false},{"internalType":"struct Metadata","name":"metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}],"indexed":false},{"internalType":"address","name":"owner","type":"address","indexed":false},{"internalType":"address","name":"anchor","type":"address","indexed":false}],"type":"event","name":"ProfileCreated","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"profileId","type":"bytes32","indexed":true},{"internalType":"struct Metadata","name":"metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}],"indexed":false}],"type":"event","name":"ProfileMetadataUpdated","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"profileId","type":"bytes32","indexed":true},{"internalType":"string","name":"name","type":"string","indexed":false},{"internalType":"address","name":"anchor","type":"address","indexed":false}],"type":"event","name":"ProfileNameUpdated","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"profileId","type":"bytes32","indexed":true},{"internalType":"address","name":"owner","type":"address","indexed":false}],"type":"event","name":"ProfileOwnerUpdated","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"profileId","type":"bytes32","indexed":true},{"internalType":"address","name":"pendingOwner","type":"address","indexed":false}],"type":"event","name":"ProfilePendingOwnerUpdated","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32","indexed":true},{"internalType":"bytes32","name":"previousAdminRole","type":"bytes32","indexed":true},{"internalType":"bytes32","name":"newAdminRole","type":"bytes32","indexed":true}],"type":"event","name":"RoleAdminChanged","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32","indexed":true},{"internalType":"address","name":"account","type":"address","indexed":true},{"internalType":"address","name":"sender","type":"address","indexed":true}],"type":"event","name":"RoleGranted","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32","indexed":true},{"internalType":"address","name":"account","type":"address","indexed":true},{"internalType":"address","name":"sender","type":"address","indexed":true}],"type":"event","name":"RoleRevoked","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"ALLO_OWNER","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"DEFAULT_ADMIN_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"NATIVE","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"bytes32","name":"_profileId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"acceptProfileOwnership"},{"inputs":[{"internalType":"bytes32","name":"_profileId","type":"bytes32"},{"internalType":"address[]","name":"_members","type":"address[]"}],"stateMutability":"nonpayable","type":"function","name":"addMembers"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function","name":"anchorToProfileId","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"uint256","name":"_nonce","type":"uint256"},{"internalType":"string","name":"_name","type":"string"},{"internalType":"struct Metadata","name":"_metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]},{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address[]","name":"_members","type":"address[]"}],"stateMutability":"nonpayable","type":"function","name":"createProfile","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"address","name":"_anchor","type":"address"}],"stateMutability":"view","type":"function","name":"getProfileByAnchor","outputs":[{"internalType":"struct IRegistry.Profile","name":"","type":"tuple","components":[{"internalType":"bytes32","name":"id","type":"bytes32"},{"internalType":"uint256","name":"nonce","type":"uint256"},{"internalType":"string","name":"name","type":"string"},{"internalType":"struct Metadata","name":"metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]},{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"anchor","type":"address"}]}]},{"inputs":[{"internalType":"bytes32","name":"_profileId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getProfileById","outputs":[{"internalType":"struct IRegistry.Profile","name":"","type":"tuple","components":[{"internalType":"bytes32","name":"id","type":"bytes32"},{"internalType":"uint256","name":"nonce","type":"uint256"},{"internalType":"string","name":"name","type":"string"},{"internalType":"struct Metadata","name":"metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]},{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"anchor","type":"address"}]}]},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getRoleAdmin","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"grantRole"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"hasRole","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[{"internalType":"bytes32","name":"_profileId","type":"bytes32"},{"internalType":"address","name":"_member","type":"address"}],"stateMutability":"view","type":"function","name":"isMemberOfProfile","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"_profileId","type":"bytes32"},{"internalType":"address","name":"_owner","type":"address"}],"stateMutability":"view","type":"function","name":"isOwnerOfProfile","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"_profileId","type":"bytes32"},{"internalType":"address","name":"_account","type":"address"}],"stateMutability":"view","type":"function","name":"isOwnerOrMemberOfProfile","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function","name":"profileIdToPendingOwner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function","name":"profilesById","outputs":[{"internalType":"bytes32","name":"id","type":"bytes32"},{"internalType":"uint256","name":"nonce","type":"uint256"},{"internalType":"string","name":"name","type":"string"},{"internalType":"struct Metadata","name":"metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]},{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"anchor","type":"address"}]},{"inputs":[{"internalType":"address","name":"_token","type":"address"},{"internalType":"address","name":"_recipient","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"recoverFunds"},{"inputs":[{"internalType":"bytes32","name":"_profileId","type":"bytes32"},{"internalType":"address[]","name":"_members","type":"address[]"}],"stateMutability":"nonpayable","type":"function","name":"removeMembers"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"renounceRole"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"revokeRole"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"stateMutability":"view","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"_profileId","type":"bytes32"},{"internalType":"struct Metadata","name":"_metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]}],"stateMutability":"nonpayable","type":"function","name":"updateProfileMetadata"},{"inputs":[{"internalType":"bytes32","name":"_profileId","type":"bytes32"},{"internalType":"string","name":"_name","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"updateProfileName","outputs":[{"internalType":"address","name":"anchor","type":"address"}]},{"inputs":[{"internalType":"bytes32","name":"_profileId","type":"bytes32"},{"internalType":"address","name":"_pendingOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"updateProfilePendingOwner"}],"devdoc":{"kind":"dev","methods":{"acceptProfileOwnership(bytes32)":{"details":"'msg.sender' must be the pending owner of the profile. [2]*This is step two of two when transferring ownership.","params":{"_profileId":"The ID of the profile"}},"addMembers(bytes32,address[])":{"details":"'msg.sender' must be the owner of the profile.","params":{"_members":"The members to add","_profileId":"The ID of the profile"}},"createProfile(uint256,string,(uint256,string),address,address[])":{"details":"This will also generate the 'profileId' and 'anchor' address, emits a 'ProfileCreated()' event Note: The 'nonce' is used to generate the 'profileId' and should be unique for each profile Note: The 'name' and 'profileId' are used to generate the 'anchor' address","params":{"_members":"The members of the profile (can be set only if msg.sender == _owner)","_metadata":"The metadata of the profile","_name":"The name of the profile","_nonce":"Nonce used to generate profileId. Can be any integer, but should be unique for each profile.","_owner":"The owner of the profile"},"returns":{"_0":"The ID for the created profile"}},"getProfileByAnchor(address)":{"details":"Used when you have the 'anchor' address and want to retrieve the profile","params":{"_anchor":"The anchor of the profile"},"returns":{"_0":"Profile details for the `_anchor`"}},"getProfileById(bytes32)":{"details":"Used when you have the 'profileId' and want to retrieve the profile","params":{"_profileId":"The ID of the profile"},"returns":{"_0":"The Profile details for the `_profileId`"}},"getRoleAdmin(bytes32)":{"details":"Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}."},"grantRole(bytes32,address)":{"details":"Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleGranted} event."},"hasRole(bytes32,address)":{"details":"Returns `true` if `account` has been granted `role`."},"initialize(address)":{"details":"During upgrade -> a higher version should be passed to reinitializer. Reverts if the '_owner' is the 'address(0)'","params":{"_owner":"The owner of the contract"}},"isMemberOfProfile(bytes32,address)":{"params":{"_member":"The address to check","_profileId":"The ID of the profile"},"returns":{"_0":"'true' if the address is a member of the profile, otherwise 'false'"}},"isOwnerOfProfile(bytes32,address)":{"params":{"_owner":"The address to check","_profileId":"The ID of the profile"},"returns":{"_0":"'true' if the address is an owner of the profile, otherwise 'false'"}},"isOwnerOrMemberOfProfile(bytes32,address)":{"params":{"_account":"The address to check","_profileId":"The ID of the profile"},"returns":{"_0":"'true' if the address is an owner or member of the profile, otherwise 'false'"}},"recoverFunds(address,address)":{"details":"'msg.sender' must be the Allo owner","params":{"_recipient":"The address of the recipient","_token":"The address of the token to transfer"}},"removeMembers(bytes32,address[])":{"details":"'msg.sender' must be the pending owner of the profile.","params":{"_members":"The members to remove","_profileId":"The ID of the profile"}},"renounceRole(bytes32,address)":{"details":"Revokes `role` from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been revoked `role`, emits a {RoleRevoked} event. Requirements: - the caller must be `account`. May emit a {RoleRevoked} event."},"revokeRole(bytes32,address)":{"details":"Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleRevoked} event."},"supportsInterface(bytes4)":{"details":"See {IERC165-supportsInterface}."},"updateProfileMetadata(bytes32,(uint256,string))":{"details":"'msg.sender' must be the owner of the profile.","params":{"_metadata":"The new 'Metadata' of the profile","_profileId":"The ID of the profile"}},"updateProfileName(bytes32,string)":{"details":"Use caution when updating your profile name as it will generate a new anchor address. You can always update the name back to the original name to get the original anchor address. 'msg.sender' must be the owner of the profile.","params":{"_name":"The new name of the profile","_profileId":"The profileId of the profile"},"returns":{"anchor":"The new anchor"}},"updateProfilePendingOwner(bytes32,address)":{"details":"'msg.sender' must be the owner of the profile. [1]*This is step one of two when transferring ownership.","params":{"_pendingOwner":"The new pending owner","_profileId":"The ID of the profile"}}},"version":1},"userdoc":{"kind":"user","methods":{"ALLO_OWNER()":{"notice":"Allo Owner Role for fund recovery"},"NATIVE()":{"notice":"Address of the native token"},"acceptProfileOwnership(bytes32)":{"notice":"Transfers the ownership of the profile to the pending owner and Emits a 'ProfileOwnerUdpated()' event."},"addMembers(bytes32,address[])":{"notice":"Adds members to the profile"},"anchorToProfileId(address)":{"notice":"This maps the anchor address to the profile ID"},"createProfile(uint256,string,(uint256,string),address,address[])":{"notice":"Creates a new profile"},"getProfileByAnchor(address)":{"notice":"Retrieve profile by anchor"},"getProfileById(bytes32)":{"notice":"Retrieve profile by profileId"},"initialize(address)":{"notice":"Initializes the contract after an upgrade"},"isMemberOfProfile(bytes32,address)":{"notice":"Checks if the given address is a member of the profile"},"isOwnerOfProfile(bytes32,address)":{"notice":"Checks if the given address is an owner of the profile"},"isOwnerOrMemberOfProfile(bytes32,address)":{"notice":"Checks if the address is an owner or member of the profile"},"profileIdToPendingOwner(bytes32)":{"notice":"This maps the profile ID to the pending owner"},"profilesById(bytes32)":{"notice":"This maps the profile ID to the profile details"},"recoverFunds(address,address)":{"notice":"Transfers any fund balance in Allo to the recipient"},"removeMembers(bytes32,address[])":{"notice":"Removes members from the profile"},"updateProfileMetadata(bytes32,(uint256,string))":{"notice":"Update the 'Metadata' of the profile. Emits a 'ProfileMetadataUpdated()' event."},"updateProfileName(bytes32,string)":{"notice":"Updates the name of the profile and generates new anchor. Emits a 'ProfileNameUpdated()' event."},"updateProfilePendingOwner(bytes32,address)":{"notice":"Updates the pending owner of the profile. Emits a 'ProfilePendingOwnership()' event."}},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","eas-proxy/=lib/allo-v2/lib/eas-proxy/contracts/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","hedgey-vesting/=lib/allo-v2/lib/hedgey-vesting/contracts/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-contracts/=lib/safe-contracts/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","superfluid-protocol-monorepo/=lib/allo-v2/lib/superfluid-protocol-monorepo/packages/solidity-semantic-money/src/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":1000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib/allo-v2/contracts/core/Registry.sol":"Registry"},"evmVersion":"paris","libraries":{}},"sources":{"lib/allo-v2/contracts/core/Anchor.sol":{"keccak256":"0x6f470a8d0bab0848d3c3b7fb076b4001ff8b6bfd18f4bd6691a50ee6a13910cd","urls":["bzz-raw://4ed2ae6e417c282a07088fa9a30325fe5b2fa6d406ec02dc1df63027e82ec139","dweb:/ipfs/QmdVDTJKzjJqkygZ9768krrVQicLZTJVrZXbvet7KsmT8H"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/Registry.sol":{"keccak256":"0xb4fb0c6d9eb0f27dd6f6099f2832054a0b194ce420c6870deb5a7a94dd88b998","urls":["bzz-raw://0e82595dcff5471f50e67cc35f73dbc1c9344eac1ee9b42235372bd23ceee283","dweb:/ipfs/QmS34kQKRBaE7ih8c5upBb11bg3QtjunvctxKYNrtfGWhR"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/interfaces/IRegistry.sol":{"keccak256":"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f","urls":["bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e","dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA"],"license":"MIT"},"lib/allo-v2/contracts/core/libraries/Errors.sol":{"keccak256":"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15","urls":["bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf","dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Metadata.sol":{"keccak256":"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44","urls":["bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c","dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Native.sol":{"keccak256":"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5","urls":["bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a","dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Transfer.sol":{"keccak256":"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286","urls":["bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11","dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5"],"license":"AGPL-3.0-only"},"lib/allo-v2/lib/solady/src/tokens/ERC20.sol":{"keccak256":"0x264e4675697d05dfb9bbe9cc91c6bda7962d934f1e940336fd75d509b7f396c4","urls":["bzz-raw://5856338689f03f36c057203c5085243e104b8487274432062ebf076b512edeea","dweb:/ipfs/QmXrqgaWQikKkHfoBkYPxeMTJWUY5uf7kSmipNbpU35XwK"],"license":"MIT"},"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol":{"keccak256":"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624","urls":["bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298","dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol":{"keccak256":"0xc8710577334e8d0799ae2b2a731b1924a7bddd64319da9787ddd2dc69bdd1ce5","urls":["bzz-raw://b83b7afa4d2372da3ba5402fb10860a105c35d79812c60dc61007be2afc17618","dweb:/ipfs/QmYX9xPmbNVSKXrepKiUZiG5oL3SdzFp9a4kqspxX1sEUx"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol":{"keccak256":"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa","urls":["bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c","dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794","urls":["bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e","dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol":{"keccak256":"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422","urls":["bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b","dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef","urls":["bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95","dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol":{"keccak256":"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb","urls":["bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a","dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol":{"keccak256":"0xd90d7723512df65ae417adaf0801042940f0dabd60039ceeaffe34aa5b238da1","urls":["bzz-raw://1b13befeb3413749292f9fb229de1c7a509a5ce2c8047d9094fc004ca9d3af89","dweb:/ipfs/QmRzJ2hZSwRtMejHUZAYTPRKgZsnfb112Fno9Jf3EiDfwA"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol":{"keccak256":"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09","urls":["bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758","dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol":{"keccak256":"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e","urls":["bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91","dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol":{"keccak256":"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a","urls":["bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4","dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC1155/IERC1155Receiver.sol":{"keccak256":"0xeb373f1fdc7b755c6a750123a9b9e3a8a02c1470042fd6505d875000a80bde0b","urls":["bzz-raw://0e28648f994abf1d6bc345644a361cc0b7efa544f8bc0c8ec26011fed85a91ec","dweb:/ipfs/QmVVE7AiRjKaQYYji7TkjmTeVzGpNmms5eoxqTCfvvpj6D"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC1155/utils/ERC1155Holder.sol":{"keccak256":"0x2e024ca51ce5abe16c0d34e6992a1104f356e2244eb4ccbec970435e8b3405e3","urls":["bzz-raw://a74009db3c6fc8db851ba69ddb6795b5c1ef1120c5a00fd1a8dc3a717dd9d519","dweb:/ipfs/QmZMk8Yh2X3gPS51ckUVLEXjZUhMSEeGApnA53WtjvLb9h"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC1155/utils/ERC1155Receiver.sol":{"keccak256":"0x3dd5e1a66a56f30302108a1da97d677a42b1daa60e503696b2bcbbf3e4c95bcb","urls":["bzz-raw://0808de0ae4918c664643c885ca7fa6503e8ef2bd75609dfc85152c0128a3422d","dweb:/ipfs/QmNrhFC1XgBKuuxfahFeiwi1MCdu3FLNpHj2uStgmf4iJj"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC721/IERC721Receiver.sol":{"keccak256":"0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da","urls":["bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708","dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC721/utils/ERC721Holder.sol":{"keccak256":"0x67ef46fef257faae47adb630aad49694dda0334e5f7a7c5fb386243b974886b5","urls":["bzz-raw://c63284cf05ff845109190961e72ca27bd6a7b997f053d2ce21db83e9e285085c","dweb:/ipfs/QmQBQVYJRzscToP6YaTRDvwYeLmr4V7kD1PjoG9mRpUYzU"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol":{"keccak256":"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b","urls":["bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d","dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"}},"version":1},"storageLayout":{"storage":[{"astId":53029,"contract":"lib/allo-v2/contracts/core/Registry.sol:Registry","label":"_initialized","offset":0,"slot":"0","type":"t_uint8"},{"astId":53032,"contract":"lib/allo-v2/contracts/core/Registry.sol:Registry","label":"_initializing","offset":1,"slot":"0","type":"t_bool"},{"astId":53734,"contract":"lib/allo-v2/contracts/core/Registry.sol:Registry","label":"__gap","offset":0,"slot":"1","type":"t_array(t_uint256)50_storage"},{"astId":54008,"contract":"lib/allo-v2/contracts/core/Registry.sol:Registry","label":"__gap","offset":0,"slot":"51","type":"t_array(t_uint256)50_storage"},{"astId":52428,"contract":"lib/allo-v2/contracts/core/Registry.sol:Registry","label":"_roles","offset":0,"slot":"101","type":"t_mapping(t_bytes32,t_struct(RoleData)52423_storage)"},{"astId":52735,"contract":"lib/allo-v2/contracts/core/Registry.sol:Registry","label":"__gap","offset":0,"slot":"102","type":"t_array(t_uint256)49_storage"},{"astId":1525,"contract":"lib/allo-v2/contracts/core/Registry.sol:Registry","label":"anchorToProfileId","offset":0,"slot":"151","type":"t_mapping(t_address,t_bytes32)"},{"astId":1531,"contract":"lib/allo-v2/contracts/core/Registry.sol:Registry","label":"profilesById","offset":0,"slot":"152","type":"t_mapping(t_bytes32,t_struct(Profile)2629_storage)"},{"astId":1536,"contract":"lib/allo-v2/contracts/core/Registry.sol:Registry","label":"profileIdToPendingOwner","offset":0,"slot":"153","type":"t_mapping(t_bytes32,t_address)"}],"types":{"t_address":{"encoding":"inplace","label":"address","numberOfBytes":"20"},"t_array(t_uint256)49_storage":{"encoding":"inplace","label":"uint256[49]","numberOfBytes":"1568","base":"t_uint256"},"t_array(t_uint256)50_storage":{"encoding":"inplace","label":"uint256[50]","numberOfBytes":"1600","base":"t_uint256"},"t_bool":{"encoding":"inplace","label":"bool","numberOfBytes":"1"},"t_bytes32":{"encoding":"inplace","label":"bytes32","numberOfBytes":"32"},"t_mapping(t_address,t_bool)":{"encoding":"mapping","key":"t_address","label":"mapping(address => bool)","numberOfBytes":"32","value":"t_bool"},"t_mapping(t_address,t_bytes32)":{"encoding":"mapping","key":"t_address","label":"mapping(address => bytes32)","numberOfBytes":"32","value":"t_bytes32"},"t_mapping(t_bytes32,t_address)":{"encoding":"mapping","key":"t_bytes32","label":"mapping(bytes32 => address)","numberOfBytes":"32","value":"t_address"},"t_mapping(t_bytes32,t_struct(Profile)2629_storage)":{"encoding":"mapping","key":"t_bytes32","label":"mapping(bytes32 => struct IRegistry.Profile)","numberOfBytes":"32","value":"t_struct(Profile)2629_storage"},"t_mapping(t_bytes32,t_struct(RoleData)52423_storage)":{"encoding":"mapping","key":"t_bytes32","label":"mapping(bytes32 => struct AccessControlUpgradeable.RoleData)","numberOfBytes":"32","value":"t_struct(RoleData)52423_storage"},"t_string_storage":{"encoding":"bytes","label":"string","numberOfBytes":"32"},"t_struct(Metadata)3098_storage":{"encoding":"inplace","label":"struct Metadata","numberOfBytes":"64","members":[{"astId":3094,"contract":"lib/allo-v2/contracts/core/Registry.sol:Registry","label":"protocol","offset":0,"slot":"0","type":"t_uint256"},{"astId":3097,"contract":"lib/allo-v2/contracts/core/Registry.sol:Registry","label":"pointer","offset":0,"slot":"1","type":"t_string_storage"}]},"t_struct(Profile)2629_storage":{"encoding":"inplace","label":"struct IRegistry.Profile","numberOfBytes":"224","members":[{"astId":2617,"contract":"lib/allo-v2/contracts/core/Registry.sol:Registry","label":"id","offset":0,"slot":"0","type":"t_bytes32"},{"astId":2619,"contract":"lib/allo-v2/contracts/core/Registry.sol:Registry","label":"nonce","offset":0,"slot":"1","type":"t_uint256"},{"astId":2621,"contract":"lib/allo-v2/contracts/core/Registry.sol:Registry","label":"name","offset":0,"slot":"2","type":"t_string_storage"},{"astId":2624,"contract":"lib/allo-v2/contracts/core/Registry.sol:Registry","label":"metadata","offset":0,"slot":"3","type":"t_struct(Metadata)3098_storage"},{"astId":2626,"contract":"lib/allo-v2/contracts/core/Registry.sol:Registry","label":"owner","offset":0,"slot":"5","type":"t_address"},{"astId":2628,"contract":"lib/allo-v2/contracts/core/Registry.sol:Registry","label":"anchor","offset":0,"slot":"6","type":"t_address"}]},"t_struct(RoleData)52423_storage":{"encoding":"inplace","label":"struct AccessControlUpgradeable.RoleData","numberOfBytes":"64","members":[{"astId":52420,"contract":"lib/allo-v2/contracts/core/Registry.sol:Registry","label":"members","offset":0,"slot":"0","type":"t_mapping(t_address,t_bool)"},{"astId":52422,"contract":"lib/allo-v2/contracts/core/Registry.sol:Registry","label":"adminRole","offset":0,"slot":"1","type":"t_bytes32"}]},"t_uint256":{"encoding":"inplace","label":"uint256","numberOfBytes":"32"},"t_uint8":{"encoding":"inplace","label":"uint8","numberOfBytes":"1"}}},"ast":{"absolutePath":"lib/allo-v2/contracts/core/Registry.sol","id":2296,"exportedSymbols":{"AccessControlUpgradeable":[52736],"AddressUpgradeable":[53684],"Anchor":[1492],"ContextUpgradeable":[53735],"ERC165Upgradeable":[54009],"ERC20":[4491],"Errors":[3089],"IAccessControlUpgradeable":[52809],"IERC165Upgradeable":[54021],"IRegistry":[2802],"Initializable":[53191],"MathUpgradeable":[54887],"Metadata":[3098],"Native":[3106],"Registry":[2295],"SafeTransferLib":[4649],"SignedMathUpgradeable":[54992],"StringsUpgradeable":[53964],"Transfer":[3317]},"nodeType":"SourceUnit","src":"42:21126:2","nodes":[{"id":1494,"nodeType":"PragmaDirective","src":"42:23:2","nodes":[],"literals":["solidity","0.8",".19"]},{"id":1495,"nodeType":"ImportDirective","src":"89:90:2","nodes":[],"absolutePath":"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol","file":"openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol","nameLocation":"-1:-1:-1","scope":2296,"sourceUnit":52737,"symbolAliases":[],"unitAlias":""},{"id":1496,"nodeType":"ImportDirective","src":"180:84:2","nodes":[],"absolutePath":"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol","file":"openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol","nameLocation":"-1:-1:-1","scope":2296,"sourceUnit":53192,"symbolAliases":[],"unitAlias":""},{"id":1498,"nodeType":"ImportDirective","src":"265:50:2","nodes":[],"absolutePath":"lib/allo-v2/lib/solady/src/tokens/ERC20.sol","file":"solady/src/tokens/ERC20.sol","nameLocation":"-1:-1:-1","scope":2296,"sourceUnit":4492,"symbolAliases":[{"foreign":{"id":1497,"name":"ERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4491,"src":"273:5:2","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":1499,"nodeType":"ImportDirective","src":"330:36:2","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/interfaces/IRegistry.sol","file":"./interfaces/IRegistry.sol","nameLocation":"-1:-1:-1","scope":2296,"sourceUnit":2803,"symbolAliases":[],"unitAlias":""},{"id":1501,"nodeType":"ImportDirective","src":"389:36:2","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/Anchor.sol","file":"./Anchor.sol","nameLocation":"-1:-1:-1","scope":2296,"sourceUnit":1493,"symbolAliases":[{"foreign":{"id":1500,"name":"Anchor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1492,"src":"397:6:2","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":1503,"nodeType":"ImportDirective","src":"426:46:2","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/libraries/Errors.sol","file":"./libraries/Errors.sol","nameLocation":"-1:-1:-1","scope":2296,"sourceUnit":3090,"symbolAliases":[{"foreign":{"id":1502,"name":"Errors","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3089,"src":"434:6:2","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":1505,"nodeType":"ImportDirective","src":"473:50:2","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/libraries/Metadata.sol","file":"./libraries/Metadata.sol","nameLocation":"-1:-1:-1","scope":2296,"sourceUnit":3099,"symbolAliases":[{"foreign":{"id":1504,"name":"Metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3098,"src":"481:8:2","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":1506,"nodeType":"ImportDirective","src":"524:32:2","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/libraries/Native.sol","file":"./libraries/Native.sol","nameLocation":"-1:-1:-1","scope":2296,"sourceUnit":3107,"symbolAliases":[],"unitAlias":""},{"id":1507,"nodeType":"ImportDirective","src":"557:34:2","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/libraries/Transfer.sol","file":"./libraries/Transfer.sol","nameLocation":"-1:-1:-1","scope":2296,"sourceUnit":3318,"symbolAliases":[],"unitAlias":""},{"id":2295,"nodeType":"ContractDefinition","src":"5237:15930:2","nodes":[{"id":1525,"nodeType":"VariableDeclaration","src":"5544:52:2","nodes":[],"constant":false,"documentation":{"id":1521,"nodeType":"StructuredDocumentation","src":"5447:92:2","text":"@notice This maps the anchor address to the profile ID\n @dev anchor -> Profile.id"},"functionSelector":"4756487f","mutability":"mutable","name":"anchorToProfileId","nameLocation":"5579:17:2","scope":2295,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bytes32_$","typeString":"mapping(address => bytes32)"},"typeName":{"id":1524,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":1522,"name":"address","nodeType":"ElementaryTypeName","src":"5552:7:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"5544:27:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bytes32_$","typeString":"mapping(address => bytes32)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":1523,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5563:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}},"visibility":"public"},{"id":1531,"nodeType":"VariableDeclaration","src":"5702:47:2","nodes":[],"constant":false,"documentation":{"id":1526,"nodeType":"StructuredDocumentation","src":"5603:94:2","text":"@notice This maps the profile ID to the profile details\n @dev Profile.id -> Profile"},"functionSelector":"ee888196","mutability":"mutable","name":"profilesById","nameLocation":"5737:12:2","scope":2295,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_Profile_$2629_storage_$","typeString":"mapping(bytes32 => struct IRegistry.Profile)"},"typeName":{"id":1530,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":1527,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5710:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Mapping","src":"5702:27:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_Profile_$2629_storage_$","typeString":"mapping(bytes32 => struct IRegistry.Profile)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":1529,"nodeType":"UserDefinedTypeName","pathNode":{"id":1528,"name":"Profile","nameLocations":["5721:7:2"],"nodeType":"IdentifierPath","referencedDeclaration":2629,"src":"5721:7:2"},"referencedDeclaration":2629,"src":"5721:7:2","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_storage_ptr","typeString":"struct IRegistry.Profile"}}},"visibility":"public"},{"id":1536,"nodeType":"VariableDeclaration","src":"5859:58:2","nodes":[],"constant":false,"documentation":{"id":1532,"nodeType":"StructuredDocumentation","src":"5756:98:2","text":"@notice This maps the profile ID to the pending owner\n @dev Profile.id -> pending owner"},"functionSelector":"50d005e0","mutability":"mutable","name":"profileIdToPendingOwner","nameLocation":"5894:23:2","scope":2295,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_address_$","typeString":"mapping(bytes32 => address)"},"typeName":{"id":1535,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":1533,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5867:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Mapping","src":"5859:27:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_address_$","typeString":"mapping(bytes32 => address)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":1534,"name":"address","nodeType":"ElementaryTypeName","src":"5878:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}},"visibility":"public"},{"id":1542,"nodeType":"VariableDeclaration","src":"5974:60:2","nodes":[],"constant":true,"documentation":{"id":1537,"nodeType":"StructuredDocumentation","src":"5924:45:2","text":"@notice Allo Owner Role for fund recovery"},"functionSelector":"cfda7e0a","mutability":"constant","name":"ALLO_OWNER","nameLocation":"5998:10:2","scope":2295,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1538,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5974:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"arguments":[{"hexValue":"414c4c4f5f4f574e4552","id":1540,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6021:12:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_815b5a78dc333d344c7df9da23c04dbd432015cc701876ddb9ffe850e6882747","typeString":"literal_string \"ALLO_OWNER\""},"value":"ALLO_OWNER"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_815b5a78dc333d344c7df9da23c04dbd432015cc701876ddb9ffe850e6882747","typeString":"literal_string \"ALLO_OWNER\""}],"id":1539,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"6011:9:2","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":1541,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6011:23:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"public"},{"id":1553,"nodeType":"ModifierDefinition","src":"6360:108:2","nodes":[],"body":{"id":1552,"nodeType":"Block","src":"6406:62:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":1548,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1545,"src":"6439:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":1547,"name":"_checkOnlyProfileOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2071,"src":"6416:22:2","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$returns$__$","typeString":"function (bytes32) view"}},"id":1549,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6416:34:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1550,"nodeType":"ExpressionStatement","src":"6416:34:2"},{"id":1551,"nodeType":"PlaceholderStatement","src":"6460:1:2"}]},"documentation":{"id":1543,"nodeType":"StructuredDocumentation","src":"6177:178:2","text":"@notice Checks if the caller is the profile owner\n @dev Reverts `UNAUTHORIZED()` if the caller is not the profile owner\n @param _profileId The ID of the profile"},"name":"onlyProfileOwner","nameLocation":"6369:16:2","parameters":{"id":1546,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1545,"mutability":"mutable","name":"_profileId","nameLocation":"6394:10:2","nodeType":"VariableDeclaration","scope":1553,"src":"6386:18:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1544,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6386:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"6385:20:2"},"virtual":false,"visibility":"internal"},{"id":1578,"nodeType":"FunctionDefinition","src":"6841:257:2","nodes":[],"body":{"id":1577,"nodeType":"Block","src":"6903:195:2","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":1567,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1562,"name":"_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1556,"src":"6968:6:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":1565,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6986:1:2","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":1564,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6978:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":1563,"name":"address","nodeType":"ElementaryTypeName","src":"6978:7:2","typeDescriptions":{}}},"id":1566,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6978:10:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"6968:20:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1571,"nodeType":"IfStatement","src":"6964:47:2","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":1568,"name":"ZERO_ADDRESS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3020,"src":"6997:12:2","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":1569,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6997:14:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1570,"nodeType":"RevertStatement","src":"6990:21:2"}},{"expression":{"arguments":[{"id":1573,"name":"ALLO_OWNER","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1542,"src":"7072:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":1574,"name":"_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1556,"src":"7084:6:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":1572,"name":"_grantRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52699,"src":"7061:10:2","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$","typeString":"function (bytes32,address)"}},"id":1575,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7061:30:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1576,"nodeType":"ExpressionStatement","src":"7061:30:2"}]},"documentation":{"id":1554,"nodeType":"StructuredDocumentation","src":"6608:228:2","text":"@notice Initializes the contract after an upgrade\n @dev During upgrade -> a higher version should be passed to reinitializer. Reverts if the '_owner' is the 'address(0)'\n @param _owner The owner of the contract"},"functionSelector":"c4d66de8","implemented":true,"kind":"function","modifiers":[{"arguments":[{"hexValue":"31","id":1559,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6900:1:2","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"id":1560,"kind":"modifierInvocation","modifierName":{"id":1558,"name":"reinitializer","nameLocations":["6886:13:2"],"nodeType":"IdentifierPath","referencedDeclaration":53126,"src":"6886:13:2"},"nodeType":"ModifierInvocation","src":"6886:16:2"}],"name":"initialize","nameLocation":"6850:10:2","parameters":{"id":1557,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1556,"mutability":"mutable","name":"_owner","nameLocation":"6869:6:2","nodeType":"VariableDeclaration","scope":1578,"src":"6861:14:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1555,"name":"address","nodeType":"ElementaryTypeName","src":"6861:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6860:16:2"},"returnParameters":{"id":1561,"nodeType":"ParameterList","parameters":[],"src":"6903:0:2"},"scope":2295,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":1592,"nodeType":"FunctionDefinition","src":"7472:131:2","nodes":[],"body":{"id":1591,"nodeType":"Block","src":"7555:48:2","nodes":[],"statements":[{"expression":{"baseExpression":{"id":1587,"name":"profilesById","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1531,"src":"7572:12:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_Profile_$2629_storage_$","typeString":"mapping(bytes32 => struct IRegistry.Profile storage ref)"}},"id":1589,"indexExpression":{"id":1588,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1581,"src":"7585:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"7572:24:2","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_storage","typeString":"struct IRegistry.Profile storage ref"}},"functionReturnParameters":1586,"id":1590,"nodeType":"Return","src":"7565:31:2"}]},"baseFunctions":[2685],"documentation":{"id":1579,"nodeType":"StructuredDocumentation","src":"7240:227:2","text":"@notice Retrieve profile by profileId\n @dev Used when you have the 'profileId' and want to retrieve the profile\n @param _profileId The ID of the profile\n @return The Profile details for the `_profileId`"},"functionSelector":"0114cf0a","implemented":true,"kind":"function","modifiers":[],"name":"getProfileById","nameLocation":"7481:14:2","parameters":{"id":1582,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1581,"mutability":"mutable","name":"_profileId","nameLocation":"7504:10:2","nodeType":"VariableDeclaration","scope":1592,"src":"7496:18:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1580,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7496:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"7495:20:2"},"returnParameters":{"id":1586,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1585,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1592,"src":"7539:14:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_memory_ptr","typeString":"struct IRegistry.Profile"},"typeName":{"id":1584,"nodeType":"UserDefinedTypeName","pathNode":{"id":1583,"name":"Profile","nameLocations":["7539:7:2"],"nodeType":"IdentifierPath","referencedDeclaration":2629,"src":"7539:7:2"},"referencedDeclaration":2629,"src":"7539:7:2","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_storage_ptr","typeString":"struct IRegistry.Profile"}},"visibility":"internal"}],"src":"7538:16:2"},"scope":2295,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":1612,"nodeType":"FunctionDefinition","src":"7837:187:2","nodes":[],"body":{"id":1611,"nodeType":"Block","src":"7921:103:2","nodes":[],"statements":[{"assignments":[1602],"declarations":[{"constant":false,"id":1602,"mutability":"mutable","name":"profileId","nameLocation":"7939:9:2","nodeType":"VariableDeclaration","scope":1611,"src":"7931:17:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1601,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7931:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":1606,"initialValue":{"baseExpression":{"id":1603,"name":"anchorToProfileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1525,"src":"7951:17:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bytes32_$","typeString":"mapping(address => bytes32)"}},"id":1605,"indexExpression":{"id":1604,"name":"_anchor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1595,"src":"7969:7:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"7951:26:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"7931:46:2"},{"expression":{"baseExpression":{"id":1607,"name":"profilesById","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1531,"src":"7994:12:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_Profile_$2629_storage_$","typeString":"mapping(bytes32 => struct IRegistry.Profile storage ref)"}},"id":1609,"indexExpression":{"id":1608,"name":"profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1602,"src":"8007:9:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"7994:23:2","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_storage","typeString":"struct IRegistry.Profile storage ref"}},"functionReturnParameters":1600,"id":1610,"nodeType":"Return","src":"7987:30:2"}]},"baseFunctions":[2694],"documentation":{"id":1593,"nodeType":"StructuredDocumentation","src":"7609:223:2","text":"@notice Retrieve profile by anchor\n @dev Used when you have the 'anchor' address and want to retrieve the profile\n @param _anchor The anchor of the profile\n @return Profile details for the `_anchor`"},"functionSelector":"dd93da43","implemented":true,"kind":"function","modifiers":[],"name":"getProfileByAnchor","nameLocation":"7846:18:2","parameters":{"id":1596,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1595,"mutability":"mutable","name":"_anchor","nameLocation":"7873:7:2","nodeType":"VariableDeclaration","scope":1612,"src":"7865:15:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1594,"name":"address","nodeType":"ElementaryTypeName","src":"7865:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"7864:17:2"},"returnParameters":{"id":1600,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1599,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1612,"src":"7905:14:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_memory_ptr","typeString":"struct IRegistry.Profile"},"typeName":{"id":1598,"nodeType":"UserDefinedTypeName","pathNode":{"id":1597,"name":"Profile","nameLocations":["7905:7:2"],"nodeType":"IdentifierPath","referencedDeclaration":2629,"src":"7905:7:2"},"referencedDeclaration":2629,"src":"7905:7:2","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_storage_ptr","typeString":"struct IRegistry.Profile"}},"visibility":"internal"}],"src":"7904:16:2"},"scope":2295,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":1756,"nodeType":"FunctionDefinition","src":"8781:1901:2","nodes":[],"body":{"id":1755,"nodeType":"Block","src":"8984:1698:2","nodes":[],"statements":[{"assignments":[1631],"declarations":[{"constant":false,"id":1631,"mutability":"mutable","name":"profileId","nameLocation":"9068:9:2","nodeType":"VariableDeclaration","scope":1755,"src":"9060:17:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1630,"name":"bytes32","nodeType":"ElementaryTypeName","src":"9060:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":1636,"initialValue":{"arguments":[{"id":1633,"name":"_nonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1615,"src":"9099:6:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1634,"name":"_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1622,"src":"9107:6:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"id":1632,"name":"_generateProfileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2211,"src":"9080:18:2","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_address_$returns$_t_bytes32_$","typeString":"function (uint256,address) pure returns (bytes32)"}},"id":1635,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9080:34:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"9060:54:2"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":1645,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":1637,"name":"profilesById","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1531,"src":"9173:12:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_Profile_$2629_storage_$","typeString":"mapping(bytes32 => struct IRegistry.Profile storage ref)"}},"id":1639,"indexExpression":{"id":1638,"name":"profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1631,"src":"9186:9:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"9173:23:2","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_storage","typeString":"struct IRegistry.Profile storage ref"}},"id":1640,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9197:6:2","memberName":"anchor","nodeType":"MemberAccess","referencedDeclaration":2628,"src":"9173:30:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":1643,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9215:1:2","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":1642,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9207:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":1641,"name":"address","nodeType":"ElementaryTypeName","src":"9207:7:2","typeDescriptions":{}}},"id":1644,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9207:10:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"9173:44:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1649,"nodeType":"IfStatement","src":"9169:78:2","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":1646,"name":"NONCE_NOT_AVAILABLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3026,"src":"9226:19:2","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":1647,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9226:21:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1648,"nodeType":"RevertStatement","src":"9219:28:2"}},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":1655,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1650,"name":"_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1622,"src":"9317:6:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":1653,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9335:1:2","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":1652,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9327:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":1651,"name":"address","nodeType":"ElementaryTypeName","src":"9327:7:2","typeDescriptions":{}}},"id":1654,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9327:10:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"9317:20:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1659,"nodeType":"IfStatement","src":"9313:47:2","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":1656,"name":"ZERO_ADDRESS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3020,"src":"9346:12:2","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":1657,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9346:14:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1658,"nodeType":"RevertStatement","src":"9339:21:2"}},{"assignments":[1662],"declarations":[{"constant":false,"id":1662,"mutability":"mutable","name":"profile","nameLocation":"9462:7:2","nodeType":"VariableDeclaration","scope":1755,"src":"9447:22:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_memory_ptr","typeString":"struct IRegistry.Profile"},"typeName":{"id":1661,"nodeType":"UserDefinedTypeName","pathNode":{"id":1660,"name":"Profile","nameLocations":["9447:7:2"],"nodeType":"IdentifierPath","referencedDeclaration":2629,"src":"9447:7:2"},"referencedDeclaration":2629,"src":"9447:7:2","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_storage_ptr","typeString":"struct IRegistry.Profile"}},"visibility":"internal"}],"id":1674,"initialValue":{"arguments":[{"id":1664,"name":"profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1631,"src":"9498:9:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":1665,"name":"_nonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1615,"src":"9528:6:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1666,"name":"_name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1617,"src":"9554:5:2","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":1667,"name":"_metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1620,"src":"9583:9:2","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}},{"id":1668,"name":"_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1622,"src":"9613:6:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":1670,"name":"profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1631,"src":"9657:9:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":1671,"name":"_name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1617,"src":"9668:5:2","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":1669,"name":"_generateAnchor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2192,"src":"9641:15:2","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_string_memory_ptr_$returns$_t_address_$","typeString":"function (bytes32,string memory) returns (address)"}},"id":1672,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9641:33:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":1663,"name":"Profile","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2629,"src":"9472:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Profile_$2629_storage_ptr_$","typeString":"type(struct IRegistry.Profile storage pointer)"}},"id":1673,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["9494:2:2","9521:5:2","9548:4:2","9573:8:2","9606:5:2","9633:6:2"],"names":["id","nonce","name","metadata","owner","anchor"],"nodeType":"FunctionCall","src":"9472:213:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_memory_ptr","typeString":"struct IRegistry.Profile memory"}},"nodeType":"VariableDeclarationStatement","src":"9447:238:2"},{"expression":{"id":1679,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":1675,"name":"profilesById","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1531,"src":"9696:12:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_Profile_$2629_storage_$","typeString":"mapping(bytes32 => struct IRegistry.Profile storage ref)"}},"id":1677,"indexExpression":{"id":1676,"name":"profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1631,"src":"9709:9:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"9696:23:2","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_storage","typeString":"struct IRegistry.Profile storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":1678,"name":"profile","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1662,"src":"9722:7:2","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_memory_ptr","typeString":"struct IRegistry.Profile memory"}},"src":"9696:33:2","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_storage","typeString":"struct IRegistry.Profile storage ref"}},"id":1680,"nodeType":"ExpressionStatement","src":"9696:33:2"},{"expression":{"id":1686,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":1681,"name":"anchorToProfileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1525,"src":"9739:17:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bytes32_$","typeString":"mapping(address => bytes32)"}},"id":1684,"indexExpression":{"expression":{"id":1682,"name":"profile","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1662,"src":"9757:7:2","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_memory_ptr","typeString":"struct IRegistry.Profile memory"}},"id":1683,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9765:6:2","memberName":"anchor","nodeType":"MemberAccess","referencedDeclaration":2628,"src":"9757:14:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"9739:33:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":1685,"name":"profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1631,"src":"9775:9:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"9739:45:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":1687,"nodeType":"ExpressionStatement","src":"9739:45:2"},{"assignments":[1689],"declarations":[{"constant":false,"id":1689,"mutability":"mutable","name":"memberLength","nameLocation":"9851:12:2","nodeType":"VariableDeclaration","scope":1755,"src":"9843:20:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1688,"name":"uint256","nodeType":"ElementaryTypeName","src":"9843:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":1692,"initialValue":{"expression":{"id":1690,"name":"_members","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1625,"src":"9866:8:2","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":1691,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9875:6:2","memberName":"length","nodeType":"MemberAccess","src":"9866:15:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"9843:38:2"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":1700,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1695,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1693,"name":"memberLength","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1689,"src":"9942:12:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":1694,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9957:1:2","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"9942:16:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":1699,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1696,"name":"_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1622,"src":"9962:6:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":1697,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"9972:3:2","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":1698,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9976:6:2","memberName":"sender","nodeType":"MemberAccess","src":"9972:10:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"9962:20:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"9942:40:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1705,"nodeType":"IfStatement","src":"9938:92:2","trueBody":{"id":1704,"nodeType":"Block","src":"9984:46:2","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":1701,"name":"UNAUTHORIZED","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3017,"src":"10005:12:2","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":1702,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10005:14:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1703,"nodeType":"RevertStatement","src":"9998:21:2"}]}},{"body":{"id":1737,"nodeType":"Block","src":"10075:367:2","statements":[{"assignments":[1713],"declarations":[{"constant":false,"id":1713,"mutability":"mutable","name":"member","nameLocation":"10097:6:2","nodeType":"VariableDeclaration","scope":1737,"src":"10089:14:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1712,"name":"address","nodeType":"ElementaryTypeName","src":"10089:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":1717,"initialValue":{"baseExpression":{"id":1714,"name":"_members","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1625,"src":"10106:8:2","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":1716,"indexExpression":{"id":1715,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1707,"src":"10115:1:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"10106:11:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"10089:28:2"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":1723,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1718,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1713,"src":"10206:6:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":1721,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10224:1:2","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":1720,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10216:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":1719,"name":"address","nodeType":"ElementaryTypeName","src":"10216:7:2","typeDescriptions":{}}},"id":1722,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10216:10:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"10206:20:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1727,"nodeType":"IfStatement","src":"10202:47:2","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":1724,"name":"ZERO_ADDRESS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3020,"src":"10235:12:2","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":1725,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10235:14:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1726,"nodeType":"RevertStatement","src":"10228:21:2"}},{"expression":{"arguments":[{"id":1729,"name":"profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1631,"src":"10354:9:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":1730,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1713,"src":"10365:6:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":1728,"name":"_grantRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52699,"src":"10343:10:2","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$","typeString":"function (bytes32,address)"}},"id":1731,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10343:29:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1732,"nodeType":"ExpressionStatement","src":"10343:29:2"},{"id":1736,"nodeType":"UncheckedBlock","src":"10386:46:2","statements":[{"expression":{"id":1734,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":true,"src":"10414:3:2","subExpression":{"id":1733,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1707,"src":"10416:1:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":1735,"nodeType":"ExpressionStatement","src":"10414:3:2"}]}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1711,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1709,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1707,"src":"10056:1:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":1710,"name":"memberLength","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1689,"src":"10060:12:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10056:16:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1738,"initializationExpression":{"assignments":[1707],"declarations":[{"constant":false,"id":1707,"mutability":"mutable","name":"i","nameLocation":"10053:1:2","nodeType":"VariableDeclaration","scope":1738,"src":"10045:9:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1706,"name":"uint256","nodeType":"ElementaryTypeName","src":"10045:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":1708,"nodeType":"VariableDeclarationStatement","src":"10045:9:2"},"nodeType":"ForStatement","src":"10040:402:2"},{"eventCall":{"arguments":[{"id":1740,"name":"profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1631,"src":"10527:9:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"expression":{"id":1741,"name":"profile","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1662,"src":"10538:7:2","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_memory_ptr","typeString":"struct IRegistry.Profile memory"}},"id":1742,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10546:5:2","memberName":"nonce","nodeType":"MemberAccess","referencedDeclaration":2619,"src":"10538:13:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":1743,"name":"profile","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1662,"src":"10553:7:2","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_memory_ptr","typeString":"struct IRegistry.Profile memory"}},"id":1744,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10561:4:2","memberName":"name","nodeType":"MemberAccess","referencedDeclaration":2621,"src":"10553:12:2","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"expression":{"id":1745,"name":"profile","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1662,"src":"10567:7:2","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_memory_ptr","typeString":"struct IRegistry.Profile memory"}},"id":1746,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10575:8:2","memberName":"metadata","nodeType":"MemberAccess","referencedDeclaration":2624,"src":"10567:16:2","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}},{"expression":{"id":1747,"name":"profile","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1662,"src":"10585:7:2","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_memory_ptr","typeString":"struct IRegistry.Profile memory"}},"id":1748,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10593:5:2","memberName":"owner","nodeType":"MemberAccess","referencedDeclaration":2626,"src":"10585:13:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":1749,"name":"profile","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1662,"src":"10600:7:2","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_memory_ptr","typeString":"struct IRegistry.Profile memory"}},"id":1750,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10608:6:2","memberName":"anchor","nodeType":"MemberAccess","referencedDeclaration":2628,"src":"10600:14:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":1739,"name":"ProfileCreated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2645,"src":"10512:14:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_bytes32_$_t_uint256_$_t_string_memory_ptr_$_t_struct$_Metadata_$3098_memory_ptr_$_t_address_$_t_address_$returns$__$","typeString":"function (bytes32,uint256,string memory,struct Metadata memory,address,address)"}},"id":1751,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10512:103:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1752,"nodeType":"EmitStatement","src":"10507:108:2"},{"expression":{"id":1753,"name":"profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1631,"src":"10666:9:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":1629,"id":1754,"nodeType":"Return","src":"10659:16:2"}]},"baseFunctions":[2742],"documentation":{"id":1613,"nodeType":"StructuredDocumentation","src":"8030:746:2","text":"@notice Creates a new profile\n @dev This will also generate the 'profileId' and 'anchor' address, emits a 'ProfileCreated()' event\n Note: The 'nonce' is used to generate the 'profileId' and should be unique for each profile\n Note: The 'name' and 'profileId' are used to generate the 'anchor' address\n @param _nonce Nonce used to generate profileId. Can be any integer, but should be unique\n for each profile.\n @param _name The name of the profile\n @param _metadata The metadata of the profile\n @param _owner The owner of the profile\n @param _members The members of the profile (can be set only if msg.sender == _owner)\n @return The ID for the created profile"},"functionSelector":"3a92f65f","implemented":true,"kind":"function","modifiers":[],"name":"createProfile","nameLocation":"8790:13:2","parameters":{"id":1626,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1615,"mutability":"mutable","name":"_nonce","nameLocation":"8821:6:2","nodeType":"VariableDeclaration","scope":1756,"src":"8813:14:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1614,"name":"uint256","nodeType":"ElementaryTypeName","src":"8813:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1617,"mutability":"mutable","name":"_name","nameLocation":"8851:5:2","nodeType":"VariableDeclaration","scope":1756,"src":"8837:19:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1616,"name":"string","nodeType":"ElementaryTypeName","src":"8837:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":1620,"mutability":"mutable","name":"_metadata","nameLocation":"8882:9:2","nodeType":"VariableDeclaration","scope":1756,"src":"8866:25:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata"},"typeName":{"id":1619,"nodeType":"UserDefinedTypeName","pathNode":{"id":1618,"name":"Metadata","nameLocations":["8866:8:2"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"8866:8:2"},"referencedDeclaration":3098,"src":"8866:8:2","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"},{"constant":false,"id":1622,"mutability":"mutable","name":"_owner","nameLocation":"8909:6:2","nodeType":"VariableDeclaration","scope":1756,"src":"8901:14:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1621,"name":"address","nodeType":"ElementaryTypeName","src":"8901:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1625,"mutability":"mutable","name":"_members","nameLocation":"8942:8:2","nodeType":"VariableDeclaration","scope":1756,"src":"8925:25:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":1623,"name":"address","nodeType":"ElementaryTypeName","src":"8925:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":1624,"nodeType":"ArrayTypeName","src":"8925:9:2","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"8803:153:2"},"returnParameters":{"id":1629,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1628,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1756,"src":"8975:7:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1627,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8975:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"8974:9:2"},"scope":2295,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":1820,"nodeType":"FunctionDefinition","src":"11210:830:2","nodes":[],"body":{"id":1819,"nodeType":"Block","src":"11369:671:2","nodes":[],"statements":[{"expression":{"id":1774,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":1769,"name":"anchor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1767,"src":"11420:6:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":1771,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1759,"src":"11445:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":1772,"name":"_name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1761,"src":"11457:5:2","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":1770,"name":"_generateAnchor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2192,"src":"11429:15:2","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_string_memory_ptr_$returns$_t_address_$","typeString":"function (bytes32,string memory) returns (address)"}},"id":1773,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11429:34:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"11420:43:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":1775,"nodeType":"ExpressionStatement","src":"11420:43:2"},{"assignments":[1778],"declarations":[{"constant":false,"id":1778,"mutability":"mutable","name":"profile","nameLocation":"11554:7:2","nodeType":"VariableDeclaration","scope":1819,"src":"11538:23:2","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_storage_ptr","typeString":"struct IRegistry.Profile"},"typeName":{"id":1777,"nodeType":"UserDefinedTypeName","pathNode":{"id":1776,"name":"Profile","nameLocations":["11538:7:2"],"nodeType":"IdentifierPath","referencedDeclaration":2629,"src":"11538:7:2"},"referencedDeclaration":2629,"src":"11538:7:2","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_storage_ptr","typeString":"struct IRegistry.Profile"}},"visibility":"internal"}],"id":1782,"initialValue":{"baseExpression":{"id":1779,"name":"profilesById","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1531,"src":"11564:12:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_Profile_$2629_storage_$","typeString":"mapping(bytes32 => struct IRegistry.Profile storage ref)"}},"id":1781,"indexExpression":{"id":1780,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1759,"src":"11577:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"11564:24:2","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_storage","typeString":"struct IRegistry.Profile storage ref"}},"nodeType":"VariableDeclarationStatement","src":"11538:50:2"},{"expression":{"id":1787,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":1783,"name":"profile","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1778,"src":"11627:7:2","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_storage_ptr","typeString":"struct IRegistry.Profile storage pointer"}},"id":1785,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"11635:4:2","memberName":"name","nodeType":"MemberAccess","referencedDeclaration":2621,"src":"11627:12:2","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":1786,"name":"_name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1761,"src":"11642:5:2","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"11627:20:2","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"id":1788,"nodeType":"ExpressionStatement","src":"11627:20:2"},{"expression":{"id":1797,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":1789,"name":"anchorToProfileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1525,"src":"11687:17:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bytes32_$","typeString":"mapping(address => bytes32)"}},"id":1792,"indexExpression":{"expression":{"id":1790,"name":"profile","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1778,"src":"11705:7:2","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_storage_ptr","typeString":"struct IRegistry.Profile storage pointer"}},"id":1791,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11713:6:2","memberName":"anchor","nodeType":"MemberAccess","referencedDeclaration":2628,"src":"11705:14:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"11687:33:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"30","id":1795,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11731:1:2","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":1794,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11723:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":1793,"name":"bytes32","nodeType":"ElementaryTypeName","src":"11723:7:2","typeDescriptions":{}}},"id":1796,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11723:10:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"11687:46:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":1798,"nodeType":"ExpressionStatement","src":"11687:46:2"},{"expression":{"id":1803,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":1799,"name":"profile","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1778,"src":"11774:7:2","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_storage_ptr","typeString":"struct IRegistry.Profile storage pointer"}},"id":1801,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"11782:6:2","memberName":"anchor","nodeType":"MemberAccess","referencedDeclaration":2628,"src":"11774:14:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":1802,"name":"anchor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1767,"src":"11791:6:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"11774:23:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":1804,"nodeType":"ExpressionStatement","src":"11774:23:2"},{"expression":{"id":1809,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":1805,"name":"anchorToProfileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1525,"src":"11807:17:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bytes32_$","typeString":"mapping(address => bytes32)"}},"id":1807,"indexExpression":{"id":1806,"name":"anchor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1767,"src":"11825:6:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"11807:25:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":1808,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1759,"src":"11835:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"11807:38:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":1810,"nodeType":"ExpressionStatement","src":"11807:38:2"},{"eventCall":{"arguments":[{"id":1812,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1759,"src":"11950:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":1813,"name":"_name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1761,"src":"11962:5:2","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":1814,"name":"anchor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1767,"src":"11969:6:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"id":1811,"name":"ProfileNameUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2654,"src":"11931:18:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_bytes32_$_t_string_memory_ptr_$_t_address_$returns$__$","typeString":"function (bytes32,string memory,address)"}},"id":1815,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11931:45:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1816,"nodeType":"EmitStatement","src":"11926:50:2"},{"expression":{"id":1817,"name":"anchor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1767,"src":"12027:6:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":1768,"id":1818,"nodeType":"Return","src":"12020:13:2"}]},"baseFunctions":[2752],"documentation":{"id":1757,"nodeType":"StructuredDocumentation","src":"10688:517:2","text":"@notice Updates the name of the profile and generates new anchor.\n Emits a 'ProfileNameUpdated()' event.\n @dev Use caution when updating your profile name as it will generate a new anchor address. You can always update the name\n back to the original name to get the original anchor address. 'msg.sender' must be the owner of the profile.\n @param _profileId The profileId of the profile\n @param _name The new name of the profile\n @return anchor The new anchor"},"functionSelector":"cf189ff2","implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":1764,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1759,"src":"11320:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":1765,"kind":"modifierInvocation","modifierName":{"id":1763,"name":"onlyProfileOwner","nameLocations":["11303:16:2"],"nodeType":"IdentifierPath","referencedDeclaration":1553,"src":"11303:16:2"},"nodeType":"ModifierInvocation","src":"11303:28:2"}],"name":"updateProfileName","nameLocation":"11219:17:2","parameters":{"id":1762,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1759,"mutability":"mutable","name":"_profileId","nameLocation":"11245:10:2","nodeType":"VariableDeclaration","scope":1820,"src":"11237:18:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1758,"name":"bytes32","nodeType":"ElementaryTypeName","src":"11237:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":1761,"mutability":"mutable","name":"_name","nameLocation":"11271:5:2","nodeType":"VariableDeclaration","scope":1820,"src":"11257:19:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1760,"name":"string","nodeType":"ElementaryTypeName","src":"11257:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"11236:41:2"},"returnParameters":{"id":1768,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1767,"mutability":"mutable","name":"anchor","nameLocation":"11357:6:2","nodeType":"VariableDeclaration","scope":1820,"src":"11349:14:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1766,"name":"address","nodeType":"ElementaryTypeName","src":"11349:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"11348:16:2"},"scope":2295,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":1845,"nodeType":"FunctionDefinition","src":"12309:415:2","nodes":[],"body":{"id":1844,"nodeType":"Block","src":"12445:279:2","nodes":[],"statements":[{"expression":{"id":1837,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"baseExpression":{"id":1832,"name":"profilesById","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1531,"src":"12553:12:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_Profile_$2629_storage_$","typeString":"mapping(bytes32 => struct IRegistry.Profile storage ref)"}},"id":1834,"indexExpression":{"id":1833,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1823,"src":"12566:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"12553:24:2","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_storage","typeString":"struct IRegistry.Profile storage ref"}},"id":1835,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"12578:8:2","memberName":"metadata","nodeType":"MemberAccess","referencedDeclaration":2624,"src":"12553:33:2","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage","typeString":"struct Metadata storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":1836,"name":"_metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1826,"src":"12589:9:2","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}},"src":"12553:45:2","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage","typeString":"struct Metadata storage ref"}},"id":1838,"nodeType":"ExpressionStatement","src":"12553:45:2"},{"eventCall":{"arguments":[{"id":1840,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1823,"src":"12695:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":1841,"name":"_metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1826,"src":"12707:9:2","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}],"id":1839,"name":"ProfileMetadataUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2662,"src":"12672:22:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_bytes32_$_t_struct$_Metadata_$3098_memory_ptr_$returns$__$","typeString":"function (bytes32,struct Metadata memory)"}},"id":1842,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12672:45:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1843,"nodeType":"EmitStatement","src":"12667:50:2"}]},"baseFunctions":[2761],"documentation":{"id":1821,"nodeType":"StructuredDocumentation","src":"12046:258:2","text":"@notice Update the 'Metadata' of the profile. Emits a 'ProfileMetadataUpdated()' event.\n @dev 'msg.sender' must be the owner of the profile.\n @param _profileId The ID of the profile\n @param _metadata The new 'Metadata' of the profile"},"functionSelector":"ac402839","implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":1829,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1823,"src":"12429:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":1830,"kind":"modifierInvocation","modifierName":{"id":1828,"name":"onlyProfileOwner","nameLocations":["12412:16:2"],"nodeType":"IdentifierPath","referencedDeclaration":1553,"src":"12412:16:2"},"nodeType":"ModifierInvocation","src":"12412:28:2"}],"name":"updateProfileMetadata","nameLocation":"12318:21:2","parameters":{"id":1827,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1823,"mutability":"mutable","name":"_profileId","nameLocation":"12348:10:2","nodeType":"VariableDeclaration","scope":1845,"src":"12340:18:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1822,"name":"bytes32","nodeType":"ElementaryTypeName","src":"12340:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":1826,"mutability":"mutable","name":"_metadata","nameLocation":"12376:9:2","nodeType":"VariableDeclaration","scope":1845,"src":"12360:25:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata"},"typeName":{"id":1825,"nodeType":"UserDefinedTypeName","pathNode":{"id":1824,"name":"Metadata","nameLocations":["12360:8:2"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"12360:8:2"},"referencedDeclaration":3098,"src":"12360:8:2","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"}],"src":"12339:47:2"},"returnParameters":{"id":1831,"nodeType":"ParameterList","parameters":[],"src":"12445:0:2"},"scope":2295,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":1866,"nodeType":"FunctionDefinition","src":"12992:208:2","nodes":[],"body":{"id":1865,"nodeType":"Block","src":"13093:107:2","nodes":[],"statements":[{"expression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":1863,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":1856,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1848,"src":"13128:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":1857,"name":"_account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1850,"src":"13140:8:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":1855,"name":"_isOwnerOfProfile","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2229,"src":"13110:17:2","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) view returns (bool)"}},"id":1858,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13110:39:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"arguments":[{"id":1860,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1848,"src":"13172:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":1861,"name":"_account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1850,"src":"13184:8:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":1859,"name":"_isMemberOfProfile","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2245,"src":"13153:18:2","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) view returns (bool)"}},"id":1862,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13153:40:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"13110:83:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":1854,"id":1864,"nodeType":"Return","src":"13103:90:2"}]},"baseFunctions":[2704],"documentation":{"id":1846,"nodeType":"StructuredDocumentation","src":"12730:257:2","text":"@notice Checks if the address is an owner or member of the profile\n @param _profileId The ID of the profile\n @param _account The address to check\n @return 'true' if the address is an owner or member of the profile, otherwise 'false'"},"functionSelector":"5e8a7915","implemented":true,"kind":"function","modifiers":[],"name":"isOwnerOrMemberOfProfile","nameLocation":"13001:24:2","parameters":{"id":1851,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1848,"mutability":"mutable","name":"_profileId","nameLocation":"13034:10:2","nodeType":"VariableDeclaration","scope":1866,"src":"13026:18:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1847,"name":"bytes32","nodeType":"ElementaryTypeName","src":"13026:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":1850,"mutability":"mutable","name":"_account","nameLocation":"13054:8:2","nodeType":"VariableDeclaration","scope":1866,"src":"13046:16:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1849,"name":"address","nodeType":"ElementaryTypeName","src":"13046:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"13025:38:2"},"returnParameters":{"id":1854,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1853,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1866,"src":"13087:4:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1852,"name":"bool","nodeType":"ElementaryTypeName","src":"13087:4:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"13086:6:2"},"scope":2295,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":1882,"nodeType":"FunctionDefinition","src":"13452:152:2","nodes":[],"body":{"id":1881,"nodeType":"Block","src":"13543:61:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":1877,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1869,"src":"13578:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":1878,"name":"_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1871,"src":"13590:6:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":1876,"name":"_isOwnerOfProfile","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2229,"src":"13560:17:2","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) view returns (bool)"}},"id":1879,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13560:37:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":1875,"id":1880,"nodeType":"Return","src":"13553:44:2"}]},"baseFunctions":[2714],"documentation":{"id":1867,"nodeType":"StructuredDocumentation","src":"13206:241:2","text":"@notice Checks if the given address is an owner of the profile\n @param _profileId The ID of the profile\n @param _owner The address to check\n @return 'true' if the address is an owner of the profile, otherwise 'false'"},"functionSelector":"39b86b8c","implemented":true,"kind":"function","modifiers":[],"name":"isOwnerOfProfile","nameLocation":"13461:16:2","parameters":{"id":1872,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1869,"mutability":"mutable","name":"_profileId","nameLocation":"13486:10:2","nodeType":"VariableDeclaration","scope":1882,"src":"13478:18:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1868,"name":"bytes32","nodeType":"ElementaryTypeName","src":"13478:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":1871,"mutability":"mutable","name":"_owner","nameLocation":"13506:6:2","nodeType":"VariableDeclaration","scope":1882,"src":"13498:14:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1870,"name":"address","nodeType":"ElementaryTypeName","src":"13498:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"13477:36:2"},"returnParameters":{"id":1875,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1874,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1882,"src":"13537:4:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1873,"name":"bool","nodeType":"ElementaryTypeName","src":"13537:4:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"13536:6:2"},"scope":2295,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":1898,"nodeType":"FunctionDefinition","src":"13857:156:2","nodes":[],"body":{"id":1897,"nodeType":"Block","src":"13950:63:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":1893,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1885,"src":"13986:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":1894,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1887,"src":"13998:7:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":1892,"name":"_isMemberOfProfile","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2245,"src":"13967:18:2","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) view returns (bool)"}},"id":1895,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13967:39:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":1891,"id":1896,"nodeType":"Return","src":"13960:46:2"}]},"baseFunctions":[2724],"documentation":{"id":1883,"nodeType":"StructuredDocumentation","src":"13610:242:2","text":"@notice Checks if the given address is a member of the profile\n @param _profileId The ID of the profile\n @param _member The address to check\n @return 'true' if the address is a member of the profile, otherwise 'false'"},"functionSelector":"0ec1fbac","implemented":true,"kind":"function","modifiers":[],"name":"isMemberOfProfile","nameLocation":"13866:17:2","parameters":{"id":1888,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1885,"mutability":"mutable","name":"_profileId","nameLocation":"13892:10:2","nodeType":"VariableDeclaration","scope":1898,"src":"13884:18:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1884,"name":"bytes32","nodeType":"ElementaryTypeName","src":"13884:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":1887,"mutability":"mutable","name":"_member","nameLocation":"13912:7:2","nodeType":"VariableDeclaration","scope":1898,"src":"13904:15:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1886,"name":"address","nodeType":"ElementaryTypeName","src":"13904:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"13883:37:2"},"returnParameters":{"id":1891,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1890,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1898,"src":"13944:4:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1889,"name":"bool","nodeType":"ElementaryTypeName","src":"13944:4:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"13943:6:2"},"scope":2295,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":1921,"nodeType":"FunctionDefinition","src":"14336:382:2","nodes":[],"body":{"id":1920,"nodeType":"Block","src":"14472:246:2","nodes":[],"statements":[{"expression":{"id":1913,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":1909,"name":"profileIdToPendingOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1536,"src":"14530:23:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_address_$","typeString":"mapping(bytes32 => address)"}},"id":1911,"indexExpression":{"id":1910,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1901,"src":"14554:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"14530:35:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":1912,"name":"_pendingOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1903,"src":"14568:13:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"14530:51:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":1914,"nodeType":"ExpressionStatement","src":"14530:51:2"},{"eventCall":{"arguments":[{"id":1916,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1901,"src":"14685:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":1917,"name":"_pendingOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1903,"src":"14697:13:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":1915,"name":"ProfilePendingOwnerUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2676,"src":"14658:26:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_bytes32_$_t_address_$returns$__$","typeString":"function (bytes32,address)"}},"id":1918,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14658:53:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1919,"nodeType":"EmitStatement","src":"14653:58:2"}]},"baseFunctions":[2769],"documentation":{"id":1899,"nodeType":"StructuredDocumentation","src":"14019:312:2","text":"@notice Updates the pending owner of the profile. Emits a 'ProfilePendingOwnership()' event.\n @dev 'msg.sender' must be the owner of the profile. [1]*This is step one of two when transferring ownership.\n @param _profileId The ID of the profile\n @param _pendingOwner The new pending owner"},"functionSelector":"3b66dacd","implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":1906,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1901,"src":"14456:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":1907,"kind":"modifierInvocation","modifierName":{"id":1905,"name":"onlyProfileOwner","nameLocations":["14439:16:2"],"nodeType":"IdentifierPath","referencedDeclaration":1553,"src":"14439:16:2"},"nodeType":"ModifierInvocation","src":"14439:28:2"}],"name":"updateProfilePendingOwner","nameLocation":"14345:25:2","parameters":{"id":1904,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1901,"mutability":"mutable","name":"_profileId","nameLocation":"14379:10:2","nodeType":"VariableDeclaration","scope":1921,"src":"14371:18:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1900,"name":"bytes32","nodeType":"ElementaryTypeName","src":"14371:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":1903,"mutability":"mutable","name":"_pendingOwner","nameLocation":"14399:13:2","nodeType":"VariableDeclaration","scope":1921,"src":"14391:21:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1902,"name":"address","nodeType":"ElementaryTypeName","src":"14391:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"14370:43:2"},"returnParameters":{"id":1908,"nodeType":"ParameterList","parameters":[],"src":"14472:0:2"},"scope":2295,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":1966,"nodeType":"FunctionDefinition","src":"15016:745:2","nodes":[],"body":{"id":1965,"nodeType":"Block","src":"15077:684:2","nodes":[],"statements":[{"assignments":[1929],"declarations":[{"constant":false,"id":1929,"mutability":"mutable","name":"profile","nameLocation":"15147:7:2","nodeType":"VariableDeclaration","scope":1965,"src":"15131:23:2","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_storage_ptr","typeString":"struct IRegistry.Profile"},"typeName":{"id":1928,"nodeType":"UserDefinedTypeName","pathNode":{"id":1927,"name":"Profile","nameLocations":["15131:7:2"],"nodeType":"IdentifierPath","referencedDeclaration":2629,"src":"15131:7:2"},"referencedDeclaration":2629,"src":"15131:7:2","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_storage_ptr","typeString":"struct IRegistry.Profile"}},"visibility":"internal"}],"id":1933,"initialValue":{"baseExpression":{"id":1930,"name":"profilesById","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1531,"src":"15157:12:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_Profile_$2629_storage_$","typeString":"mapping(bytes32 => struct IRegistry.Profile storage ref)"}},"id":1932,"indexExpression":{"id":1931,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1924,"src":"15170:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15157:24:2","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_storage","typeString":"struct IRegistry.Profile storage ref"}},"nodeType":"VariableDeclarationStatement","src":"15131:50:2"},{"assignments":[1935],"declarations":[{"constant":false,"id":1935,"mutability":"mutable","name":"newOwner","nameLocation":"15290:8:2","nodeType":"VariableDeclaration","scope":1965,"src":"15282:16:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1934,"name":"address","nodeType":"ElementaryTypeName","src":"15282:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":1939,"initialValue":{"baseExpression":{"id":1936,"name":"profileIdToPendingOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1536,"src":"15301:23:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_address_$","typeString":"mapping(bytes32 => address)"}},"id":1938,"indexExpression":{"id":1937,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1924,"src":"15325:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15301:35:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"15282:54:2"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":1943,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":1940,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"15414:3:2","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":1941,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15418:6:2","memberName":"sender","nodeType":"MemberAccess","src":"15414:10:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":1942,"name":"newOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1935,"src":"15428:8:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"15414:22:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1947,"nodeType":"IfStatement","src":"15410:54:2","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":1944,"name":"NOT_PENDING_OWNER","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3029,"src":"15445:17:2","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":1945,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15445:19:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1946,"nodeType":"RevertStatement","src":"15438:26:2"}},{"expression":{"id":1952,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":1948,"name":"profile","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1929,"src":"15550:7:2","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_storage_ptr","typeString":"struct IRegistry.Profile storage pointer"}},"id":1950,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"15558:5:2","memberName":"owner","nodeType":"MemberAccess","referencedDeclaration":2626,"src":"15550:13:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":1951,"name":"newOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1935,"src":"15566:8:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"15550:24:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":1953,"nodeType":"ExpressionStatement","src":"15550:24:2"},{"expression":{"id":1957,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"15584:42:2","subExpression":{"baseExpression":{"id":1954,"name":"profileIdToPendingOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1536,"src":"15591:23:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_address_$","typeString":"mapping(bytes32 => address)"}},"id":1956,"indexExpression":{"id":1955,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1924,"src":"15615:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"15591:35:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1958,"nodeType":"ExpressionStatement","src":"15584:42:2"},{"eventCall":{"arguments":[{"id":1960,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1924,"src":"15728:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"expression":{"id":1961,"name":"profile","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1929,"src":"15740:7:2","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_storage_ptr","typeString":"struct IRegistry.Profile storage pointer"}},"id":1962,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15748:5:2","memberName":"owner","nodeType":"MemberAccess","referencedDeclaration":2626,"src":"15740:13:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":1959,"name":"ProfileOwnerUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2669,"src":"15708:19:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_bytes32_$_t_address_$returns$__$","typeString":"function (bytes32,address)"}},"id":1963,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15708:46:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1964,"nodeType":"EmitStatement","src":"15703:51:2"}]},"baseFunctions":[2775],"documentation":{"id":1922,"nodeType":"StructuredDocumentation","src":"14724:287:2","text":"@notice Transfers the ownership of the profile to the pending owner and Emits a 'ProfileOwnerUdpated()' event.\n @dev 'msg.sender' must be the pending owner of the profile. [2]*This is step two of two when transferring ownership.\n @param _profileId The ID of the profile"},"functionSelector":"2497f3c6","implemented":true,"kind":"function","modifiers":[],"name":"acceptProfileOwnership","nameLocation":"15025:22:2","parameters":{"id":1925,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1924,"mutability":"mutable","name":"_profileId","nameLocation":"15056:10:2","nodeType":"VariableDeclaration","scope":1966,"src":"15048:18:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1923,"name":"bytes32","nodeType":"ElementaryTypeName","src":"15048:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"15047:20:2"},"returnParameters":{"id":1926,"nodeType":"ParameterList","parameters":[],"src":"15077:0:2"},"scope":2295,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":2017,"nodeType":"FunctionDefinition","src":"15962:658:2","nodes":[],"body":{"id":2016,"nodeType":"Block","src":"16067:553:2","nodes":[],"statements":[{"assignments":[1979],"declarations":[{"constant":false,"id":1979,"mutability":"mutable","name":"memberLength","nameLocation":"16085:12:2","nodeType":"VariableDeclaration","scope":2016,"src":"16077:20:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1978,"name":"uint256","nodeType":"ElementaryTypeName","src":"16077:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":1982,"initialValue":{"expression":{"id":1980,"name":"_members","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1972,"src":"16100:8:2","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":1981,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16109:6:2","memberName":"length","nodeType":"MemberAccess","src":"16100:15:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"16077:38:2"},{"body":{"id":2014,"nodeType":"Block","src":"16246:368:2","statements":[{"assignments":[1990],"declarations":[{"constant":false,"id":1990,"mutability":"mutable","name":"member","nameLocation":"16268:6:2","nodeType":"VariableDeclaration","scope":2014,"src":"16260:14:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1989,"name":"address","nodeType":"ElementaryTypeName","src":"16260:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":1994,"initialValue":{"baseExpression":{"id":1991,"name":"_members","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1972,"src":"16277:8:2","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":1993,"indexExpression":{"id":1992,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1984,"src":"16286:1:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"16277:11:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"16260:28:2"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":2000,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1995,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1990,"src":"16377:6:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":1998,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16395:1:2","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":1997,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16387:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":1996,"name":"address","nodeType":"ElementaryTypeName","src":"16387:7:2","typeDescriptions":{}}},"id":1999,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16387:10:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"16377:20:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2004,"nodeType":"IfStatement","src":"16373:47:2","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":2001,"name":"ZERO_ADDRESS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3020,"src":"16406:12:2","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":2002,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16406:14:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2003,"nodeType":"RevertStatement","src":"16399:21:2"}},{"expression":{"arguments":[{"id":2006,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1969,"src":"16525:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":2007,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1990,"src":"16537:6:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":2005,"name":"_grantRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52699,"src":"16514:10:2","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$","typeString":"function (bytes32,address)"}},"id":2008,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16514:30:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2009,"nodeType":"ExpressionStatement","src":"16514:30:2"},{"id":2013,"nodeType":"UncheckedBlock","src":"16558:46:2","statements":[{"expression":{"id":2011,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":true,"src":"16586:3:2","subExpression":{"id":2010,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1984,"src":"16588:1:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":2012,"nodeType":"ExpressionStatement","src":"16586:3:2"}]}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1988,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1986,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1984,"src":"16227:1:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":1987,"name":"memberLength","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1979,"src":"16231:12:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16227:16:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2015,"initializationExpression":{"assignments":[1984],"declarations":[{"constant":false,"id":1984,"mutability":"mutable","name":"i","nameLocation":"16224:1:2","nodeType":"VariableDeclaration","scope":2015,"src":"16216:9:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1983,"name":"uint256","nodeType":"ElementaryTypeName","src":"16216:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":1985,"nodeType":"VariableDeclarationStatement","src":"16216:9:2"},"nodeType":"ForStatement","src":"16211:403:2"}]},"baseFunctions":[2784],"documentation":{"id":1967,"nodeType":"StructuredDocumentation","src":"15767:190:2","text":"@notice Adds members to the profile\n @dev 'msg.sender' must be the owner of the profile.\n @param _profileId The ID of the profile\n @param _members The members to add"},"functionSelector":"5063f361","implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":1975,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1969,"src":"16055:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":1976,"kind":"modifierInvocation","modifierName":{"id":1974,"name":"onlyProfileOwner","nameLocations":["16038:16:2"],"nodeType":"IdentifierPath","referencedDeclaration":1553,"src":"16038:16:2"},"nodeType":"ModifierInvocation","src":"16038:28:2"}],"name":"addMembers","nameLocation":"15971:10:2","parameters":{"id":1973,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1969,"mutability":"mutable","name":"_profileId","nameLocation":"15990:10:2","nodeType":"VariableDeclaration","scope":2017,"src":"15982:18:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1968,"name":"bytes32","nodeType":"ElementaryTypeName","src":"15982:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":1972,"mutability":"mutable","name":"_members","nameLocation":"16019:8:2","nodeType":"VariableDeclaration","scope":2017,"src":"16002:25:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":1970,"name":"address","nodeType":"ElementaryTypeName","src":"16002:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":1971,"nodeType":"ArrayTypeName","src":"16002:9:2","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"15981:47:2"},"returnParameters":{"id":1977,"nodeType":"ParameterList","parameters":[],"src":"16067:0:2"},"scope":2295,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":2054,"nodeType":"FunctionDefinition","src":"16837:500:2","nodes":[],"body":{"id":2053,"nodeType":"Block","src":"16945:392:2","nodes":[],"statements":[{"assignments":[2030],"declarations":[{"constant":false,"id":2030,"mutability":"mutable","name":"memberLength","nameLocation":"16963:12:2","nodeType":"VariableDeclaration","scope":2053,"src":"16955:20:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2029,"name":"uint256","nodeType":"ElementaryTypeName","src":"16955:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":2033,"initialValue":{"expression":{"id":2031,"name":"_members","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2023,"src":"16978:8:2","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":2032,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16987:6:2","memberName":"length","nodeType":"MemberAccess","src":"16978:15:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"16955:38:2"},{"body":{"id":2051,"nodeType":"Block","src":"17129:202:2","statements":[{"expression":{"arguments":[{"id":2041,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2020,"src":"17237:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"baseExpression":{"id":2042,"name":"_members","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2023,"src":"17249:8:2","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":2044,"indexExpression":{"id":2043,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2035,"src":"17258:1:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"17249:11:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":2040,"name":"_revokeRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52730,"src":"17225:11:2","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$","typeString":"function (bytes32,address)"}},"id":2045,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17225:36:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2046,"nodeType":"ExpressionStatement","src":"17225:36:2"},{"id":2050,"nodeType":"UncheckedBlock","src":"17275:46:2","statements":[{"expression":{"id":2048,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":true,"src":"17303:3:2","subExpression":{"id":2047,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2035,"src":"17305:1:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":2049,"nodeType":"ExpressionStatement","src":"17303:3:2"}]}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2039,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2037,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2035,"src":"17110:1:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":2038,"name":"memberLength","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2030,"src":"17114:12:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17110:16:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2052,"initializationExpression":{"assignments":[2035],"declarations":[{"constant":false,"id":2035,"mutability":"mutable","name":"i","nameLocation":"17107:1:2","nodeType":"VariableDeclaration","scope":2052,"src":"17099:9:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2034,"name":"uint256","nodeType":"ElementaryTypeName","src":"17099:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":2036,"nodeType":"VariableDeclarationStatement","src":"17099:9:2"},"nodeType":"ForStatement","src":"17094:237:2"}]},"baseFunctions":[2793],"documentation":{"id":2018,"nodeType":"StructuredDocumentation","src":"16626:206:2","text":"@notice Removes members from the profile\n @dev 'msg.sender' must be the pending owner of the profile.\n @param _profileId The ID of the profile\n @param _members The members to remove"},"functionSelector":"e0cf1e4c","implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":2026,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2020,"src":"16933:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":2027,"kind":"modifierInvocation","modifierName":{"id":2025,"name":"onlyProfileOwner","nameLocations":["16916:16:2"],"nodeType":"IdentifierPath","referencedDeclaration":1553,"src":"16916:16:2"},"nodeType":"ModifierInvocation","src":"16916:28:2"}],"name":"removeMembers","nameLocation":"16846:13:2","parameters":{"id":2024,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2020,"mutability":"mutable","name":"_profileId","nameLocation":"16868:10:2","nodeType":"VariableDeclaration","scope":2054,"src":"16860:18:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2019,"name":"bytes32","nodeType":"ElementaryTypeName","src":"16860:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":2023,"mutability":"mutable","name":"_members","nameLocation":"16897:8:2","nodeType":"VariableDeclaration","scope":2054,"src":"16880:25:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":2021,"name":"address","nodeType":"ElementaryTypeName","src":"16880:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":2022,"nodeType":"ArrayTypeName","src":"16880:9:2","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"16859:47:2"},"returnParameters":{"id":2028,"nodeType":"ParameterList","parameters":[],"src":"16945:0:2"},"scope":2295,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":2071,"nodeType":"FunctionDefinition","src":"17659:152:2","nodes":[],"body":{"id":2070,"nodeType":"Block","src":"17725:86:2","nodes":[],"statements":[{"condition":{"id":2065,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"17739:42:2","subExpression":{"arguments":[{"id":2061,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2057,"src":"17758:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"expression":{"id":2062,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"17770:3:2","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":2063,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17774:6:2","memberName":"sender","nodeType":"MemberAccess","src":"17770:10:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":2060,"name":"_isOwnerOfProfile","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2229,"src":"17740:17:2","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) view returns (bool)"}},"id":2064,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17740:41:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2069,"nodeType":"IfStatement","src":"17735:69:2","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":2066,"name":"UNAUTHORIZED","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3017,"src":"17790:12:2","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":2067,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17790:14:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2068,"nodeType":"RevertStatement","src":"17783:21:2"}}]},"documentation":{"id":2055,"nodeType":"StructuredDocumentation","src":"17479:175:2","text":"@notice Checks if the caller is the owner of the profile\n @dev Internal function used by modifier 'onlyProfileOwner'\n @param _profileId The ID of the profile"},"implemented":true,"kind":"function","modifiers":[],"name":"_checkOnlyProfileOwner","nameLocation":"17668:22:2","parameters":{"id":2058,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2057,"mutability":"mutable","name":"_profileId","nameLocation":"17699:10:2","nodeType":"VariableDeclaration","scope":2071,"src":"17691:18:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2056,"name":"bytes32","nodeType":"ElementaryTypeName","src":"17691:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"17690:20:2"},"returnParameters":{"id":2059,"nodeType":"ParameterList","parameters":[],"src":"17725:0:2"},"scope":2295,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":2192,"nodeType":"FunctionDefinition","src":"18166:969:2","nodes":[],"body":{"id":2191,"nodeType":"Block","src":"18266:869:2","nodes":[],"statements":[{"assignments":[2082],"declarations":[{"constant":false,"id":2082,"mutability":"mutable","name":"encodedData","nameLocation":"18289:11:2","nodeType":"VariableDeclaration","scope":2191,"src":"18276:24:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":2081,"name":"bytes","nodeType":"ElementaryTypeName","src":"18276:5:2","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":2088,"initialValue":{"arguments":[{"id":2085,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2074,"src":"18314:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":2086,"name":"_name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2076,"src":"18326:5:2","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":2083,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"18303:3:2","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":2084,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"18307:6:2","memberName":"encode","nodeType":"MemberAccess","src":"18303:10:2","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":2087,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18303:29:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"18276:56:2"},{"assignments":[2090],"declarations":[{"constant":false,"id":2090,"mutability":"mutable","name":"encodedConstructorArgs","nameLocation":"18355:22:2","nodeType":"VariableDeclaration","scope":2191,"src":"18342:35:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":2089,"name":"bytes","nodeType":"ElementaryTypeName","src":"18342:5:2","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":2099,"initialValue":{"arguments":[{"id":2093,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2074,"src":"18391:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"id":2096,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"18411:4:2","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}],"id":2095,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"18403:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":2094,"name":"address","nodeType":"ElementaryTypeName","src":"18403:7:2","typeDescriptions":{}}},"id":2097,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18403:13:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":2091,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"18380:3:2","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":2092,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"18384:6:2","memberName":"encode","nodeType":"MemberAccess","src":"18380:10:2","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":2098,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18380:37:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"18342:75:2"},{"assignments":[2101],"declarations":[{"constant":false,"id":2101,"mutability":"mutable","name":"bytecode","nameLocation":"18441:8:2","nodeType":"VariableDeclaration","scope":2191,"src":"18428:21:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":2100,"name":"bytes","nodeType":"ElementaryTypeName","src":"18428:5:2","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":2110,"initialValue":{"arguments":[{"expression":{"arguments":[{"id":2105,"name":"Anchor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1492,"src":"18474:6:2","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Anchor_$1492_$","typeString":"type(contract Anchor)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_contract$_Anchor_$1492_$","typeString":"type(contract Anchor)"}],"id":2104,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"18469:4:2","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":2106,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18469:12:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_contract$_Anchor_$1492","typeString":"type(contract Anchor)"}},"id":2107,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"18482:12:2","memberName":"creationCode","nodeType":"MemberAccess","src":"18469:25:2","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":2108,"name":"encodedConstructorArgs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2090,"src":"18496:22:2","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":2102,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"18452:3:2","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":2103,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"18456:12:2","memberName":"encodePacked","nodeType":"MemberAccess","src":"18452:16:2","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":2109,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18452:67:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"18428:91:2"},{"assignments":[2112],"declarations":[{"constant":false,"id":2112,"mutability":"mutable","name":"salt","nameLocation":"18538:4:2","nodeType":"VariableDeclaration","scope":2191,"src":"18530:12:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2111,"name":"bytes32","nodeType":"ElementaryTypeName","src":"18530:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":2116,"initialValue":{"arguments":[{"id":2114,"name":"encodedData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2082,"src":"18555:11:2","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":2113,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"18545:9:2","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":2115,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18545:22:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"18530:37:2"},{"assignments":[2118],"declarations":[{"constant":false,"id":2118,"mutability":"mutable","name":"preComputedAddress","nameLocation":"18586:18:2","nodeType":"VariableDeclaration","scope":2191,"src":"18578:26:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2117,"name":"address","nodeType":"ElementaryTypeName","src":"18578:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":2145,"initialValue":{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"hexValue":"30786666","id":2130,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18678:4:2","typeDescriptions":{"typeIdentifier":"t_rational_255_by_1","typeString":"int_const 255"},"value":"0xff"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_255_by_1","typeString":"int_const 255"}],"id":2129,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"18671:6:2","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes1_$","typeString":"type(bytes1)"},"typeName":{"id":2128,"name":"bytes1","nodeType":"ElementaryTypeName","src":"18671:6:2","typeDescriptions":{}}},"id":2131,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18671:12:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},{"arguments":[{"id":2134,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"18693:4:2","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}],"id":2133,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"18685:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":2132,"name":"address","nodeType":"ElementaryTypeName","src":"18685:7:2","typeDescriptions":{}}},"id":2135,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18685:13:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":2136,"name":"salt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2112,"src":"18700:4:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"id":2138,"name":"bytecode","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2101,"src":"18716:8:2","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":2137,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"18706:9:2","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":2139,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18706:19:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes1","typeString":"bytes1"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":2126,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"18654:3:2","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":2127,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"18658:12:2","memberName":"encodePacked","nodeType":"MemberAccess","src":"18654:16:2","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":2140,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18654:72:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":2125,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"18644:9:2","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":2141,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18644:83:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":2124,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"18636:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":2123,"name":"uint256","nodeType":"ElementaryTypeName","src":"18636:7:2","typeDescriptions":{}}},"id":2142,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18636:92:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":2122,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"18628:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":2121,"name":"uint160","nodeType":"ElementaryTypeName","src":"18628:7:2","typeDescriptions":{}}},"id":2143,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18628:101:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":2120,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"18607:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":2119,"name":"address","nodeType":"ElementaryTypeName","src":"18607:7:2","typeDescriptions":{}}},"id":2144,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18607:132:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"18578:161:2"},{"clauses":[{"block":{"id":2168,"nodeType":"Block","src":"18918:50:2","statements":[{"expression":{"id":2166,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":2161,"name":"anchor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2079,"src":"18932:6:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":2164,"name":"_anchor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2159,"src":"18949:7:2","typeDescriptions":{"typeIdentifier":"t_contract$_Anchor_$1492","typeString":"contract Anchor"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Anchor_$1492","typeString":"contract Anchor"}],"id":2163,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"18941:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":2162,"name":"address","nodeType":"ElementaryTypeName","src":"18941:7:2","typeDescriptions":{}}},"id":2165,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18941:16:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"18932:25:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":2167,"nodeType":"ExpressionStatement","src":"18932:25:2"}]},"errorName":"","id":2169,"nodeType":"TryCatchClause","parameters":{"id":2160,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2159,"mutability":"mutable","name":"_anchor","nameLocation":"18909:7:2","nodeType":"VariableDeclaration","scope":2169,"src":"18902:14:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_Anchor_$1492","typeString":"contract Anchor"},"typeName":{"id":2158,"nodeType":"UserDefinedTypeName","pathNode":{"id":2157,"name":"Anchor","nameLocations":["18902:6:2"],"nodeType":"IdentifierPath","referencedDeclaration":1492,"src":"18902:6:2"},"referencedDeclaration":1492,"src":"18902:6:2","typeDescriptions":{"typeIdentifier":"t_contract$_Anchor_$1492","typeString":"contract Anchor"}},"visibility":"internal"}],"src":"18901:16:2"},"src":"18893:75:2"},{"block":{"id":2188,"nodeType":"Block","src":"18975:154:2","statements":[{"condition":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":2179,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[{"arguments":[{"id":2173,"name":"preComputedAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2118,"src":"19008:18:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":2172,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"19000:8:2","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":2171,"name":"address","nodeType":"ElementaryTypeName","src":"19000:8:2","stateMutability":"payable","typeDescriptions":{}}},"id":2174,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19000:27:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":2170,"name":"Anchor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1492,"src":"18993:6:2","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Anchor_$1492_$","typeString":"type(contract Anchor)"}},"id":2175,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18993:35:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Anchor_$1492","typeString":"contract Anchor"}},"id":2176,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19029:9:2","memberName":"profileId","nodeType":"MemberAccess","referencedDeclaration":1408,"src":"18993:45:2","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_bytes32_$","typeString":"function () view external returns (bytes32)"}},"id":2177,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18993:47:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":2178,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2074,"src":"19044:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"18993:61:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2183,"nodeType":"IfStatement","src":"18989:88:2","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":2180,"name":"ANCHOR_ERROR","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3032,"src":"19063:12:2","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":2181,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19063:14:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2182,"nodeType":"RevertStatement","src":"19056:21:2"}},{"expression":{"id":2186,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":2184,"name":"anchor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2079,"src":"19091:6:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":2185,"name":"preComputedAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2118,"src":"19100:18:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"19091:27:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":2187,"nodeType":"ExpressionStatement","src":"19091:27:2"}]},"errorName":"","id":2189,"nodeType":"TryCatchClause","src":"18969:160:2"}],"externalCall":{"arguments":[{"id":2151,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2074,"src":"18866:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"id":2154,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"18886:4:2","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}],"id":2153,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"18878:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":2152,"name":"address","nodeType":"ElementaryTypeName","src":"18878:7:2","typeDescriptions":{}}},"id":2155,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18878:13:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":2148,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"18843:10:2","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$_t_bytes32_$_t_address_$returns$_t_contract$_Anchor_$1492_$","typeString":"function (bytes32,address) returns (contract Anchor)"},"typeName":{"id":2147,"nodeType":"UserDefinedTypeName","pathNode":{"id":2146,"name":"Anchor","nameLocations":["18847:6:2"],"nodeType":"IdentifierPath","referencedDeclaration":1492,"src":"18847:6:2"},"referencedDeclaration":1492,"src":"18847:6:2","typeDescriptions":{"typeIdentifier":"t_contract$_Anchor_$1492","typeString":"contract Anchor"}}},"id":2150,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"names":["salt"],"nodeType":"FunctionCallOptions","options":[{"id":2149,"name":"salt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2112,"src":"18860:4:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"src":"18843:22:2","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$_t_bytes32_$_t_address_$returns$_t_contract$_Anchor_$1492_$salt","typeString":"function (bytes32,address) returns (contract Anchor)"}},"id":2156,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18843:49:2","tryCall":true,"typeDescriptions":{"typeIdentifier":"t_contract$_Anchor_$1492","typeString":"contract Anchor"}},"id":2190,"nodeType":"TryStatement","src":"18839:290:2"}]},"documentation":{"id":2072,"nodeType":"StructuredDocumentation","src":"17817:344:2","text":"@notice Generates and deploys the anchor for the given 'profileId' and name\n @dev Internal function used by 'createProfile()' and 'updateProfileName()' to create and anchor.\n @param _profileId The ID of the profile\n @param _name The name of the profile\n @return anchor The address of the deployed anchor contract"},"implemented":true,"kind":"function","modifiers":[],"name":"_generateAnchor","nameLocation":"18175:15:2","parameters":{"id":2077,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2074,"mutability":"mutable","name":"_profileId","nameLocation":"18199:10:2","nodeType":"VariableDeclaration","scope":2192,"src":"18191:18:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2073,"name":"bytes32","nodeType":"ElementaryTypeName","src":"18191:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":2076,"mutability":"mutable","name":"_name","nameLocation":"18225:5:2","nodeType":"VariableDeclaration","scope":2192,"src":"18211:19:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":2075,"name":"string","nodeType":"ElementaryTypeName","src":"18211:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"18190:41:2"},"returnParameters":{"id":2080,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2079,"mutability":"mutable","name":"anchor","nameLocation":"18258:6:2","nodeType":"VariableDeclaration","scope":2192,"src":"18250:14:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2078,"name":"address","nodeType":"ElementaryTypeName","src":"18250:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"18249:16:2"},"scope":2295,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":2211,"nodeType":"FunctionDefinition","src":"19465:159:2","nodes":[],"body":{"id":2210,"nodeType":"Block","src":"19557:67:2","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":2205,"name":"_nonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2195,"src":"19601:6:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2206,"name":"_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2197,"src":"19609:6:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":2203,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"19584:3:2","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":2204,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"19588:12:2","memberName":"encodePacked","nodeType":"MemberAccess","src":"19584:16:2","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":2207,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19584:32:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":2202,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"19574:9:2","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":2208,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19574:43:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":2201,"id":2209,"nodeType":"Return","src":"19567:50:2"}]},"documentation":{"id":2193,"nodeType":"StructuredDocumentation","src":"19141:319:2","text":"@notice Generates the 'profileId' based on msg.sender and nonce\n @dev Internal function used by 'createProfile()' to generate profileId.\n @param _nonce Nonce provided by the caller to generate 'profileId'\n @param _owner The owner of the profile\n @return 'profileId' The ID of the profile"},"implemented":true,"kind":"function","modifiers":[],"name":"_generateProfileId","nameLocation":"19474:18:2","parameters":{"id":2198,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2195,"mutability":"mutable","name":"_nonce","nameLocation":"19501:6:2","nodeType":"VariableDeclaration","scope":2211,"src":"19493:14:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2194,"name":"uint256","nodeType":"ElementaryTypeName","src":"19493:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2197,"mutability":"mutable","name":"_owner","nameLocation":"19517:6:2","nodeType":"VariableDeclaration","scope":2211,"src":"19509:14:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2196,"name":"address","nodeType":"ElementaryTypeName","src":"19509:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"19492:32:2"},"returnParameters":{"id":2201,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2200,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2211,"src":"19548:7:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2199,"name":"bytes32","nodeType":"ElementaryTypeName","src":"19548:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"19547:9:2"},"scope":2295,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":2229,"nodeType":"FunctionDefinition","src":"19963:156:2","nodes":[],"body":{"id":2228,"nodeType":"Block","src":"20055:64:2","nodes":[],"statements":[{"expression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":2226,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":2221,"name":"profilesById","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1531,"src":"20072:12:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_Profile_$2629_storage_$","typeString":"mapping(bytes32 => struct IRegistry.Profile storage ref)"}},"id":2223,"indexExpression":{"id":2222,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2214,"src":"20085:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"20072:24:2","typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_storage","typeString":"struct IRegistry.Profile storage ref"}},"id":2224,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"20097:5:2","memberName":"owner","nodeType":"MemberAccess","referencedDeclaration":2626,"src":"20072:30:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":2225,"name":"_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2216,"src":"20106:6:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"20072:40:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":2220,"id":2227,"nodeType":"Return","src":"20065:47:2"}]},"documentation":{"id":2212,"nodeType":"StructuredDocumentation","src":"19630:328:2","text":"@notice Checks if an address is the owner of the profile\n @dev Internal function used to determine if an address is the profile owner\n @param _profileId The 'profileId' of the profile\n @param _owner The address to check\n @return 'true' if the address is an owner of the profile, otherwise 'false'"},"implemented":true,"kind":"function","modifiers":[],"name":"_isOwnerOfProfile","nameLocation":"19972:17:2","parameters":{"id":2217,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2214,"mutability":"mutable","name":"_profileId","nameLocation":"19998:10:2","nodeType":"VariableDeclaration","scope":2229,"src":"19990:18:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2213,"name":"bytes32","nodeType":"ElementaryTypeName","src":"19990:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":2216,"mutability":"mutable","name":"_owner","nameLocation":"20018:6:2","nodeType":"VariableDeclaration","scope":2229,"src":"20010:14:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2215,"name":"address","nodeType":"ElementaryTypeName","src":"20010:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"19989:36:2"},"returnParameters":{"id":2220,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2219,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2229,"src":"20049:4:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":2218,"name":"bool","nodeType":"ElementaryTypeName","src":"20049:4:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"20048:6:2"},"scope":2295,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":2245,"nodeType":"FunctionDefinition","src":"20464:146:2","nodes":[],"body":{"id":2244,"nodeType":"Block","src":"20558:52:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":2240,"name":"_profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2232,"src":"20583:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":2241,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2234,"src":"20595:7:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":2239,"name":"hasRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52495,"src":"20575:7:2","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) view returns (bool)"}},"id":2242,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20575:28:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":2238,"id":2243,"nodeType":"Return","src":"20568:35:2"}]},"documentation":{"id":2230,"nodeType":"StructuredDocumentation","src":"20125:334:2","text":"@notice Checks if an address is a member of the profile\n @dev Internal function used to determine if an address is a member of the profile\n @param _profileId The 'profileId' of the profile\n @param _member The address to check\n @return 'true' if the address is a member of the profile, otherwise 'false'"},"implemented":true,"kind":"function","modifiers":[],"name":"_isMemberOfProfile","nameLocation":"20473:18:2","parameters":{"id":2235,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2232,"mutability":"mutable","name":"_profileId","nameLocation":"20500:10:2","nodeType":"VariableDeclaration","scope":2245,"src":"20492:18:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2231,"name":"bytes32","nodeType":"ElementaryTypeName","src":"20492:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":2234,"mutability":"mutable","name":"_member","nameLocation":"20520:7:2","nodeType":"VariableDeclaration","scope":2245,"src":"20512:15:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2233,"name":"address","nodeType":"ElementaryTypeName","src":"20512:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"20491:37:2"},"returnParameters":{"id":2238,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2237,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2245,"src":"20552:4:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":2236,"name":"bool","nodeType":"ElementaryTypeName","src":"20552:4:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"20551:6:2"},"scope":2295,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":2294,"nodeType":"FunctionDefinition","src":"20847:318:2","nodes":[],"body":{"id":2293,"nodeType":"Block","src":"20935:230:2","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":2261,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2256,"name":"_recipient","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2250,"src":"20949:10:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":2259,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20971:1:2","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":2258,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"20963:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":2257,"name":"address","nodeType":"ElementaryTypeName","src":"20963:7:2","typeDescriptions":{}}},"id":2260,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20963:10:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"20949:24:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2265,"nodeType":"IfStatement","src":"20945:51:2","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":2262,"name":"ZERO_ADDRESS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3020,"src":"20982:12:2","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":2263,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20982:14:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2264,"nodeType":"RevertStatement","src":"20975:21:2"}},{"assignments":[2267],"declarations":[{"constant":false,"id":2267,"mutability":"mutable","name":"amount","nameLocation":"21015:6:2","nodeType":"VariableDeclaration","scope":2293,"src":"21007:14:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2266,"name":"uint256","nodeType":"ElementaryTypeName","src":"21007:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":2286,"initialValue":{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":2270,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2268,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2248,"src":"21024:6:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":2269,"name":"NATIVE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3105,"src":"21034:6:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"21024:16:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"arguments":[{"arguments":[{"id":2282,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"21099:4:2","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}],"id":2281,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"21091:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":2280,"name":"address","nodeType":"ElementaryTypeName","src":"21091:7:2","typeDescriptions":{}}},"id":2283,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21091:13:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"arguments":[{"id":2277,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2248,"src":"21073:6:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":2276,"name":"ERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4491,"src":"21067:5:2","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ERC20_$4491_$","typeString":"type(contract ERC20)"}},"id":2278,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21067:13:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ERC20_$4491","typeString":"contract ERC20"}},"id":2279,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21081:9:2","memberName":"balanceOf","nodeType":"MemberAccess","referencedDeclaration":4200,"src":"21067:23:2","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":2284,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21067:38:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":2285,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"21024:81:2","trueExpression":{"expression":{"arguments":[{"id":2273,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"21051:4:2","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}],"id":2272,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"21043:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":2271,"name":"address","nodeType":"ElementaryTypeName","src":"21043:7:2","typeDescriptions":{}}},"id":2274,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21043:13:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":2275,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21057:7:2","memberName":"balance","nodeType":"MemberAccess","src":"21043:21:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"21007:98:2"},{"expression":{"arguments":[{"id":2288,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2248,"src":"21131:6:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":2289,"name":"_recipient","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2250,"src":"21139:10:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":2290,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2267,"src":"21151:6:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":2287,"name":"_transferAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3287,"src":"21115:15:2","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":2291,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21115:43:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2292,"nodeType":"ExpressionStatement","src":"21115:43:2"}]},"baseFunctions":[2801],"documentation":{"id":2246,"nodeType":"StructuredDocumentation","src":"20616:226:2","text":"@notice Transfers any fund balance in Allo to the recipient\n @dev 'msg.sender' must be the Allo owner\n @param _token The address of the token to transfer\n @param _recipient The address of the recipient"},"functionSelector":"24ae6a27","implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":2253,"name":"ALLO_OWNER","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1542,"src":"20923:10:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":2254,"kind":"modifierInvocation","modifierName":{"id":2252,"name":"onlyRole","nameLocations":["20914:8:2"],"nodeType":"IdentifierPath","referencedDeclaration":52442,"src":"20914:8:2"},"nodeType":"ModifierInvocation","src":"20914:20:2"}],"name":"recoverFunds","nameLocation":"20856:12:2","parameters":{"id":2251,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2248,"mutability":"mutable","name":"_token","nameLocation":"20877:6:2","nodeType":"VariableDeclaration","scope":2294,"src":"20869:14:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2247,"name":"address","nodeType":"ElementaryTypeName","src":"20869:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":2250,"mutability":"mutable","name":"_recipient","nameLocation":"20893:10:2","nodeType":"VariableDeclaration","scope":2294,"src":"20885:18:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2249,"name":"address","nodeType":"ElementaryTypeName","src":"20885:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"20868:36:2"},"returnParameters":{"id":2255,"nodeType":"ParameterList","parameters":[],"src":"20935:0:2"},"scope":2295,"stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[{"baseName":{"id":1509,"name":"IRegistry","nameLocations":["5258:9:2"],"nodeType":"IdentifierPath","referencedDeclaration":2802,"src":"5258:9:2"},"id":1510,"nodeType":"InheritanceSpecifier","src":"5258:9:2"},{"baseName":{"id":1511,"name":"Initializable","nameLocations":["5269:13:2"],"nodeType":"IdentifierPath","referencedDeclaration":53191,"src":"5269:13:2"},"id":1512,"nodeType":"InheritanceSpecifier","src":"5269:13:2"},{"baseName":{"id":1513,"name":"Native","nameLocations":["5284:6:2"],"nodeType":"IdentifierPath","referencedDeclaration":3106,"src":"5284:6:2"},"id":1514,"nodeType":"InheritanceSpecifier","src":"5284:6:2"},{"baseName":{"id":1515,"name":"AccessControlUpgradeable","nameLocations":["5292:24:2"],"nodeType":"IdentifierPath","referencedDeclaration":52736,"src":"5292:24:2"},"id":1516,"nodeType":"InheritanceSpecifier","src":"5292:24:2"},{"baseName":{"id":1517,"name":"Transfer","nameLocations":["5318:8:2"],"nodeType":"IdentifierPath","referencedDeclaration":3317,"src":"5318:8:2"},"id":1518,"nodeType":"InheritanceSpecifier","src":"5318:8:2"},{"baseName":{"id":1519,"name":"Errors","nameLocations":["5328:6:2"],"nodeType":"IdentifierPath","referencedDeclaration":3089,"src":"5328:6:2"},"id":1520,"nodeType":"InheritanceSpecifier","src":"5328:6:2"}],"canonicalName":"Registry","contractDependencies":[1492],"contractKind":"contract","documentation":{"id":1508,"nodeType":"StructuredDocumentation","src":"4584:653:2","text":"@title Registry Contract\n @author @thelostone-mc , @0xKurt , @codenamejason , @0xZakk , @nfrgosselin \n @notice Registry contract for creating and managing profiles\n @dev This contract is used to create and manage profiles for the Allo protocol\n It is also used to deploy the anchor contract for each profile which acts as a proxy\n for the profile and is used to receive funds and execute transactions on behalf of the profile\n The Registry is also used to add and remove members from a profile and update the profile 'Metadata'"},"fullyImplemented":true,"linearizedBaseContracts":[2295,3089,3317,52736,3106,54009,54021,52809,53735,53191,2802],"name":"Registry","nameLocation":"5246:8:2","scope":2296,"usedErrors":[3008,3011,3014,3017,3020,3023,3026,3029,3032,3035,3038,3041,3044,3047,3050,3053,3056,3059,3062,3065,3068,3071,3074,3079,3082,3085,3088,3117]}],"license":"AGPL-3.0-only"},"id":2} \ No newline at end of file diff --git a/pkg/contracts/out/RegistryCommunity.sol/FAllo.json b/pkg/contracts/out/RegistryCommunity.sol/FAllo.json index ae5de356b..d25f3d074 100644 --- a/pkg/contracts/out/RegistryCommunity.sol/FAllo.json +++ b/pkg/contracts/out/RegistryCommunity.sol/FAllo.json @@ -1,24662 +1 @@ -{ - "abi": [ - { - "type": "function", - "name": "createPoolWithCustomStrategy", - "inputs": [ - { - "name": "_profileId", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "_strategy", - "type": "address", - "internalType": "address" - }, - { - "name": "_initStrategyData", - "type": "bytes", - "internalType": "bytes" - }, - { - "name": "_token", - "type": "address", - "internalType": "address" - }, - { - "name": "_amount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_metadata", - "type": "tuple", - "internalType": "struct Metadata", - "components": [ - { - "name": "protocol", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "pointer", - "type": "string", - "internalType": "string" - } - ] - }, - { - "name": "_managers", - "type": "address[]", - "internalType": "address[]" - } - ], - "outputs": [ - { - "name": "poolId", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "payable" - }, - { - "type": "function", - "name": "getPool", - "inputs": [ - { - "name": "_poolId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "", - "type": "tuple", - "internalType": "struct IAllo.Pool", - "components": [ - { - "name": "profileId", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "strategy", - "type": "address", - "internalType": "contract IStrategy" - }, - { - "name": "token", - "type": "address", - "internalType": "address" - }, - { - "name": "metadata", - "type": "tuple", - "internalType": "struct Metadata", - "components": [ - { - "name": "protocol", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "pointer", - "type": "string", - "internalType": "string" - } - ] - }, - { - "name": "managerRole", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "adminRole", - "type": "bytes32", - "internalType": "bytes32" - } - ] - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getRegistry", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "createPoolWithCustomStrategy(bytes32,address,bytes,address,uint256,(uint256,string),address[])": "e1007d4a", - "getPool(uint256)": "068bcd8d", - "getRegistry()": "5ab1bd53" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_profileId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_initStrategyData\",\"type\":\"bytes\"},{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"_metadata\",\"type\":\"tuple\"},{\"internalType\":\"address[]\",\"name\":\"_managers\",\"type\":\"address[]\"}],\"name\":\"createPoolWithCustomStrategy\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_poolId\",\"type\":\"uint256\"}],\"name\":\"getPool\",\"outputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"profileId\",\"type\":\"bytes32\"},{\"internalType\":\"contract IStrategy\",\"name\":\"strategy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"metadata\",\"type\":\"tuple\"},{\"internalType\":\"bytes32\",\"name\":\"managerRole\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"adminRole\",\"type\":\"bytes32\"}],\"internalType\":\"struct IAllo.Pool\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getRegistry\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"pkg/contracts/src/RegistryCommunity.sol\":\"FAllo\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1000},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-contracts/=lib/safe-contracts/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"]},\"sources\":{\"lib/allo-v2/contracts/core/interfaces/IAllo.sol\":{\"keccak256\":\"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7\",\"dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1\"]},\"lib/allo-v2/contracts/core/interfaces/IRegistry.sol\":{\"keccak256\":\"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e\",\"dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA\"]},\"lib/allo-v2/contracts/core/interfaces/IStrategy.sol\":{\"keccak256\":\"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487\",\"dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH\"]},\"lib/allo-v2/contracts/core/libraries/Clone.sol\":{\"keccak256\":\"0xc348b24b7d8a98c4faa5f2aa37ce9264a74f81dbdef1a9bae2eaa125585c3c7e\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://1335b3ec59ec7e3d12ea7c90b3aa56f4c26e0d44d342f54412933be9d4f16067\",\"dweb:/ipfs/QmXNFo2wCyq9cpvfgbdHvBUQecThFSEoUnMuZNS6WinDrr\"]},\"lib/allo-v2/contracts/core/libraries/Errors.sol\":{\"keccak256\":\"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf\",\"dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA\"]},\"lib/allo-v2/contracts/core/libraries/Metadata.sol\":{\"keccak256\":\"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c\",\"dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn\"]},\"lib/allo-v2/contracts/core/libraries/Native.sol\":{\"keccak256\":\"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a\",\"dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv\"]},\"lib/allo-v2/contracts/core/libraries/Transfer.sol\":{\"keccak256\":\"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11\",\"dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5\"]},\"lib/allo-v2/contracts/strategies/BaseStrategy.sol\":{\"keccak256\":\"0x3f1382dc6c35d50545e327e7ed6016f2bd752357d446bd698014073f0b812873\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://99500abcd617fa43f6dde49e2c7802821ceaf54a65a8055cbbf2695ecd107974\",\"dweb:/ipfs/QmUktZkWuu3GCMEijY1fqt7NMy7BzpTvEtcmpB1fuoa7zt\"]},\"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol\":{\"keccak256\":\"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298\",\"dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol\":{\"keccak256\":\"0x5a55d1b148a0cb4183f1e09ceaff87bd2d828440f2f5dc01dfe03eb29e7c88ec\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3f9278bdda788763efbe569da77fc24feff36e871779e2da69f74ea5f8bfacf\",\"dweb:/ipfs/QmZF9cH4rfazmwKT55p3tZyzh9QGghNyss81f46d6yVXap\"]},\"lib/openzeppelin-contracts/contracts/access/AccessControl.sol\":{\"keccak256\":\"0x0dd6e52cb394d7f5abe5dca2d4908a6be40417914720932de757de34a99ab87f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://dc117ce50ea746cab6b97ed1a1facee17a715ae0cb95d67b943dacbaf15176fb\",\"dweb:/ipfs/QmYRZ2UGNYwsHwfNu7Wjr8L2j1LBZ1mKv6NvbwgterYMXc\"]},\"lib/openzeppelin-contracts/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0x59ce320a585d7e1f163cd70390a0ef2ff9cec832e2aa544293a00692465a7a57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb2c137c343ef0c4c7ce7b18c1d108afdc9d315a04e48307288d2d05adcbde3a\",\"dweb:/ipfs/QmUxhrAQM3MM3FF5j7AtcXLXguWCJBHJ14BRdVtuoQc8Fh\"]},\"lib/openzeppelin-contracts/contracts/access/Ownable.sol\":{\"keccak256\":\"0xba43b97fba0d32eb4254f6a5a297b39a19a247082a02d6e69349e071e2946218\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fc980984badf3984b6303b377711220e067722bbd6a135b24669ff5069ef9f32\",\"dweb:/ipfs/QmPHXMSXj99XjSVM21YsY6aNtLLjLVXDbyN76J5HQYvvrz\"]},\"lib/openzeppelin-contracts/contracts/security/ReentrancyGuard.sol\":{\"keccak256\":\"0xa535a5df777d44e945dd24aa43a11e44b024140fc340ad0dfe42acf4002aade1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://41319e7f621f2dc3733511332c4fd032f8e32ad2aa7fd6f665c19741d9941a34\",\"dweb:/ipfs/QmcYR3bd862GD1Bc7jwrU9bGxrhUu5na1oP964bDCu2id1\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15\",\"dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5\",\"dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd\",\"dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol\":{\"keccak256\":\"0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a\",\"dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0x909d608c2db6eb165ca178c81289a07ed2e118e444d0025b2a85c97d0b44a4fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://656cda26512ddd7373c2d5551c8fae759fc30f05b10f0fc2e738e9274199dbd4\",\"dweb:/ipfs/QmTSArSzQRFbQmHgq7U1PZXnsDFhvDZhKVu9CzMG4yo6Lx\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"lib/openzeppelin-contracts/contracts/utils/Strings.sol\":{\"keccak256\":\"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f\",\"dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol\":{\"keccak256\":\"0x5a08ad61f4e82b8a3323562661a86fb10b10190848073fdc13d4ac43710ffba5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6f7bb74cf88fd88daa34e118bc6e363381d05044f34f391d39a10c0c9dac3ebd\",\"dweb:/ipfs/QmNbQ3v8v4zuDtg7VeLAbdhAm3tCzUodNoDZZ8ekmCHWZX\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]},\"pkg/contracts/src/CVStrategy.sol\":{\"keccak256\":\"0x132bcf17470960e380d841159d9389985d609aaae1c9a657c78902f7871da957\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://84e905bf392579b44f33fff8586431b940e110b2210854cf487321cc92061705\",\"dweb:/ipfs/QmQpvszYu8RbrXmUFLifSodQzV8LAqazk1fzXNARGc5sBT\"]},\"pkg/contracts/src/ISybilScorer.sol\":{\"keccak256\":\"0x0e25fbb8497ac3c969d80c9032362d45e56c0a45dc9ba3dff6a8a704571f38ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0dff90ebae6e7131a5300fcaf525bc2ab0ae90fcd13f277d7b7b6939eeb8b7eb\",\"dweb:/ipfs/QmYGkYqpUVrBWoNY6f3CtwrrVQFWSvnJfpu68t95f6AkBY\"]},\"pkg/contracts/src/RegistryCommunity.sol\":{\"keccak256\":\"0xc735f4d2635149f2db9bff291da56e08c3c312d9eb1b767b8a1e3e51584d5734\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://247b33b78abface6a7e2da38174386de9b543f6a27e8340e26d854bff57184a3\",\"dweb:/ipfs/QmedNdqkqeboGzz9w868uGf7KnXUaYZe6i1YcdUPPkJnnf\"]},\"pkg/contracts/src/RegistryFactory.sol\":{\"keccak256\":\"0x888b7f5eb1079f90ccfa0b41d8a970bffd8d4d469f9b31917a58279b358dbda5\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://af25fd783de00adf01d1c7caa572801fed0d474306a43b862535b08e65ec10c6\",\"dweb:/ipfs/Qmeb2nEaMQLV86y1CYAAV2c6BYpBDTbpLuC1SigeNjdqLo\"]},\"pkg/contracts/src/interfaces/ISafe.sol\":{\"keccak256\":\"0x878a210809bb684c42157a10f3f90350a67d0a4863f130499942b06f0f2c9143\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://fa2d71bd427c3415e98a2ee15ff673f3cc61c17f14d7087c5eedc83b55f6b0ef\",\"dweb:/ipfs/QmesVSmJQQzi6ys1cvhQFCJyDXchb736mT5bXks4Yp6Cbj\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.8.19+commit.7dd6d404" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "bytes32", - "name": "_profileId", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "_strategy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_initStrategyData", - "type": "bytes" - }, - { - "internalType": "address", - "name": "_token", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - }, - { - "internalType": "struct Metadata", - "name": "_metadata", - "type": "tuple", - "components": [ - { - "internalType": "uint256", - "name": "protocol", - "type": "uint256" - }, - { - "internalType": "string", - "name": "pointer", - "type": "string" - } - ] - }, - { - "internalType": "address[]", - "name": "_managers", - "type": "address[]" - } - ], - "stateMutability": "payable", - "type": "function", - "name": "createPoolWithCustomStrategy", - "outputs": [ - { - "internalType": "uint256", - "name": "poolId", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_poolId", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getPool", - "outputs": [ - { - "internalType": "struct IAllo.Pool", - "name": "", - "type": "tuple", - "components": [ - { - "internalType": "bytes32", - "name": "profileId", - "type": "bytes32" - }, - { - "internalType": "contract IStrategy", - "name": "strategy", - "type": "address" - }, - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "struct Metadata", - "name": "metadata", - "type": "tuple", - "components": [ - { - "internalType": "uint256", - "name": "protocol", - "type": "uint256" - }, - { - "internalType": "string", - "name": "pointer", - "type": "string" - } - ] - }, - { - "internalType": "bytes32", - "name": "managerRole", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "adminRole", - "type": "bytes32" - } - ] - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getRegistry", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - "@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/", - "@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/", - "@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/", - "@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/", - "@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/", - "@sablier/v2-core/=lib/allo-v2/lib/v2-core/", - "ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/", - "allo-v2-contracts/=lib/allo-v2/contracts/", - "allo-v2-test/=lib/allo-v2/test/", - "allo-v2/=lib/allo-v2/", - "ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/", - "eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/", - "erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/", - "forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/", - "forge-std/=lib/forge-std/src/", - "hats-protocol/=lib/allo-v2/lib/hats-protocol/", - "openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/", - "openzeppelin-contracts/=lib/openzeppelin-contracts/", - "openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/", - "openzeppelin/=lib/openzeppelin-contracts/contracts/", - "permit2/=lib/allo-v2/lib/permit2/", - "prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/", - "prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/", - "safe-contracts/=lib/safe-contracts/", - "solady/=lib/allo-v2/lib/solady/", - "solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/", - "solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/", - "solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/", - "solmate/=lib/allo-v2/lib/permit2/lib/solmate/", - "utils/=lib/allo-v2/lib/hats-protocol/lib/utils/", - "v2-core/=lib/allo-v2/lib/v2-core/" - ], - "optimizer": { - "enabled": true, - "runs": 1000 - }, - "metadata": { - "bytecodeHash": "ipfs" - }, - "compilationTarget": { - "pkg/contracts/src/RegistryCommunity.sol": "FAllo" - }, - "evmVersion": "paris", - "libraries": {} - }, - "sources": { - "lib/allo-v2/contracts/core/interfaces/IAllo.sol": { - "keccak256": "0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce", - "urls": [ - "bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7", - "dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1" - ], - "license": "AGPL-3.0-only" - }, - "lib/allo-v2/contracts/core/interfaces/IRegistry.sol": { - "keccak256": "0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f", - "urls": [ - "bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e", - "dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA" - ], - "license": "MIT" - }, - "lib/allo-v2/contracts/core/interfaces/IStrategy.sol": { - "keccak256": "0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23", - "urls": [ - "bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487", - "dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH" - ], - "license": "AGPL-3.0-only" - }, - "lib/allo-v2/contracts/core/libraries/Clone.sol": { - "keccak256": "0xc348b24b7d8a98c4faa5f2aa37ce9264a74f81dbdef1a9bae2eaa125585c3c7e", - "urls": [ - "bzz-raw://1335b3ec59ec7e3d12ea7c90b3aa56f4c26e0d44d342f54412933be9d4f16067", - "dweb:/ipfs/QmXNFo2wCyq9cpvfgbdHvBUQecThFSEoUnMuZNS6WinDrr" - ], - "license": "AGPL-3.0-only" - }, - "lib/allo-v2/contracts/core/libraries/Errors.sol": { - "keccak256": "0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15", - "urls": [ - "bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf", - "dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA" - ], - "license": "AGPL-3.0-only" - }, - "lib/allo-v2/contracts/core/libraries/Metadata.sol": { - "keccak256": "0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44", - "urls": [ - "bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c", - "dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn" - ], - "license": "AGPL-3.0-only" - }, - "lib/allo-v2/contracts/core/libraries/Native.sol": { - "keccak256": "0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5", - "urls": [ - "bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a", - "dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv" - ], - "license": "AGPL-3.0-only" - }, - "lib/allo-v2/contracts/core/libraries/Transfer.sol": { - "keccak256": "0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286", - "urls": [ - "bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11", - "dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5" - ], - "license": "AGPL-3.0-only" - }, - "lib/allo-v2/contracts/strategies/BaseStrategy.sol": { - "keccak256": "0x3f1382dc6c35d50545e327e7ed6016f2bd752357d446bd698014073f0b812873", - "urls": [ - "bzz-raw://99500abcd617fa43f6dde49e2c7802821ceaf54a65a8055cbbf2695ecd107974", - "dweb:/ipfs/QmUktZkWuu3GCMEijY1fqt7NMy7BzpTvEtcmpB1fuoa7zt" - ], - "license": "AGPL-3.0-only" - }, - "lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol": { - "keccak256": "0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624", - "urls": [ - "bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298", - "dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt" - ], - "license": "MIT" - }, - "lib/forge-std/src/console.sol": { - "keccak256": "0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba", - "urls": [ - "bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70", - "dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol": { - "keccak256": "0x5a55d1b148a0cb4183f1e09ceaff87bd2d828440f2f5dc01dfe03eb29e7c88ec", - "urls": [ - "bzz-raw://b3f9278bdda788763efbe569da77fc24feff36e871779e2da69f74ea5f8bfacf", - "dweb:/ipfs/QmZF9cH4rfazmwKT55p3tZyzh9QGghNyss81f46d6yVXap" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/access/AccessControl.sol": { - "keccak256": "0x0dd6e52cb394d7f5abe5dca2d4908a6be40417914720932de757de34a99ab87f", - "urls": [ - "bzz-raw://dc117ce50ea746cab6b97ed1a1facee17a715ae0cb95d67b943dacbaf15176fb", - "dweb:/ipfs/QmYRZ2UGNYwsHwfNu7Wjr8L2j1LBZ1mKv6NvbwgterYMXc" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/access/IAccessControl.sol": { - "keccak256": "0x59ce320a585d7e1f163cd70390a0ef2ff9cec832e2aa544293a00692465a7a57", - "urls": [ - "bzz-raw://bb2c137c343ef0c4c7ce7b18c1d108afdc9d315a04e48307288d2d05adcbde3a", - "dweb:/ipfs/QmUxhrAQM3MM3FF5j7AtcXLXguWCJBHJ14BRdVtuoQc8Fh" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/access/Ownable.sol": { - "keccak256": "0xba43b97fba0d32eb4254f6a5a297b39a19a247082a02d6e69349e071e2946218", - "urls": [ - "bzz-raw://fc980984badf3984b6303b377711220e067722bbd6a135b24669ff5069ef9f32", - "dweb:/ipfs/QmPHXMSXj99XjSVM21YsY6aNtLLjLVXDbyN76J5HQYvvrz" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/security/ReentrancyGuard.sol": { - "keccak256": "0xa535a5df777d44e945dd24aa43a11e44b024140fc340ad0dfe42acf4002aade1", - "urls": [ - "bzz-raw://41319e7f621f2dc3733511332c4fd032f8e32ad2aa7fd6f665c19741d9941a34", - "dweb:/ipfs/QmcYR3bd862GD1Bc7jwrU9bGxrhUu5na1oP964bDCu2id1" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol": { - "keccak256": "0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c", - "urls": [ - "bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15", - "dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol": { - "keccak256": "0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305", - "urls": [ - "bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5", - "dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol": { - "keccak256": "0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca", - "urls": [ - "bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd", - "dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol": { - "keccak256": "0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a", - "urls": [ - "bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a", - "dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol": { - "keccak256": "0x909d608c2db6eb165ca178c81289a07ed2e118e444d0025b2a85c97d0b44a4fa", - "urls": [ - "bzz-raw://656cda26512ddd7373c2d5551c8fae759fc30f05b10f0fc2e738e9274199dbd4", - "dweb:/ipfs/QmTSArSzQRFbQmHgq7U1PZXnsDFhvDZhKVu9CzMG4yo6Lx" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/utils/Address.sol": { - "keccak256": "0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa", - "urls": [ - "bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931", - "dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/utils/Context.sol": { - "keccak256": "0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7", - "urls": [ - "bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92", - "dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/utils/Strings.sol": { - "keccak256": "0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0", - "urls": [ - "bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f", - "dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol": { - "keccak256": "0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b", - "urls": [ - "bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d", - "dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol": { - "keccak256": "0x5a08ad61f4e82b8a3323562661a86fb10b10190848073fdc13d4ac43710ffba5", - "urls": [ - "bzz-raw://6f7bb74cf88fd88daa34e118bc6e363381d05044f34f391d39a10c0c9dac3ebd", - "dweb:/ipfs/QmNbQ3v8v4zuDtg7VeLAbdhAm3tCzUodNoDZZ8ekmCHWZX" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol": { - "keccak256": "0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1", - "urls": [ - "bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f", - "dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/utils/math/Math.sol": { - "keccak256": "0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3", - "urls": [ - "bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c", - "dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol": { - "keccak256": "0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc", - "urls": [ - "bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7", - "dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6" - ], - "license": "MIT" - }, - "pkg/contracts/src/CVStrategy.sol": { - "keccak256": "0x132bcf17470960e380d841159d9389985d609aaae1c9a657c78902f7871da957", - "urls": [ - "bzz-raw://84e905bf392579b44f33fff8586431b940e110b2210854cf487321cc92061705", - "dweb:/ipfs/QmQpvszYu8RbrXmUFLifSodQzV8LAqazk1fzXNARGc5sBT" - ], - "license": "AGPL-3.0-only" - }, - "pkg/contracts/src/ISybilScorer.sol": { - "keccak256": "0x0e25fbb8497ac3c969d80c9032362d45e56c0a45dc9ba3dff6a8a704571f38ea", - "urls": [ - "bzz-raw://0dff90ebae6e7131a5300fcaf525bc2ab0ae90fcd13f277d7b7b6939eeb8b7eb", - "dweb:/ipfs/QmYGkYqpUVrBWoNY6f3CtwrrVQFWSvnJfpu68t95f6AkBY" - ], - "license": "MIT" - }, - "pkg/contracts/src/RegistryCommunity.sol": { - "keccak256": "0xc735f4d2635149f2db9bff291da56e08c3c312d9eb1b767b8a1e3e51584d5734", - "urls": [ - "bzz-raw://247b33b78abface6a7e2da38174386de9b543f6a27e8340e26d854bff57184a3", - "dweb:/ipfs/QmedNdqkqeboGzz9w868uGf7KnXUaYZe6i1YcdUPPkJnnf" - ], - "license": "AGPL-3.0-only" - }, - "pkg/contracts/src/RegistryFactory.sol": { - "keccak256": "0x888b7f5eb1079f90ccfa0b41d8a970bffd8d4d469f9b31917a58279b358dbda5", - "urls": [ - "bzz-raw://af25fd783de00adf01d1c7caa572801fed0d474306a43b862535b08e65ec10c6", - "dweb:/ipfs/Qmeb2nEaMQLV86y1CYAAV2c6BYpBDTbpLuC1SigeNjdqLo" - ], - "license": "AGPL-3.0-only" - }, - "pkg/contracts/src/interfaces/ISafe.sol": { - "keccak256": "0x878a210809bb684c42157a10f3f90350a67d0a4863f130499942b06f0f2c9143", - "urls": [ - "bzz-raw://fa2d71bd427c3415e98a2ee15ff673f3cc61c17f14d7087c5eedc83b55f6b0ef", - "dweb:/ipfs/QmesVSmJQQzi6ys1cvhQFCJyDXchb736mT5bXks4Yp6Cbj" - ], - "license": "LGPL-3.0-only" - } - }, - "version": 1 - }, - "storageLayout": { - "storage": [], - "types": {} - }, - "ast": { - "absolutePath": "pkg/contracts/src/RegistryCommunity.sol", - "id": 83083, - "exportedSymbols": { - "AccessControl": [ - 55308 - ], - "CVStrategy": [ - 77611 - ], - "Clone": [ - 3002 - ], - "ERC165Checker": [ - 58460 - ], - "FAllo": [ - 81222 - ], - "IAllo": [ - 2610 - ], - "IERC20": [ - 57069 - ], - "IPointStrategy": [ - 74722 - ], - "IRegistry": [ - 2802 - ], - "ISafe": [ - 85665 - ], - "Metadata": [ - 3098 - ], - "ReentrancyGuard": [ - 56278 - ], - "RegistryCommunity": [ - 83082 - ], - "RegistryFactory": [ - 85283 - ], - "SafeERC20": [ - 57506 - ], - "StrategyStruct": [ - 74807 - ], - "console": [ - 29549 - ] - }, - "nodeType": "SourceUnit", - "src": "42:23124:133", - "nodes": [ - { - "id": 81161, - "nodeType": "PragmaDirective", - "src": "42:24:133", - "nodes": [], - "literals": [ - "solidity", - "^", - "0.8", - ".19" - ] - }, - { - "id": 81163, - "nodeType": "ImportDirective", - "src": "68:70:133", - "nodes": [], - "absolutePath": "lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol", - "file": "@openzeppelin/contracts/token/ERC20/IERC20.sol", - "nameLocation": "-1:-1:-1", - "scope": 83083, - "sourceUnit": 57070, - "symbolAliases": [ - { - "foreign": { - "id": 81162, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 57069, - "src": "76:6:133", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - } - ], - "unitAlias": "" - }, - { - "id": 81165, - "nodeType": "ImportDirective", - "src": "139:79:133", - "nodes": [], - "absolutePath": "lib/openzeppelin-contracts/contracts/access/AccessControl.sol", - "file": "@openzeppelin/contracts/access/AccessControl.sol", - "nameLocation": "-1:-1:-1", - "scope": 83083, - "sourceUnit": 55309, - "symbolAliases": [ - { - "foreign": { - "id": 81164, - "name": "AccessControl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 55308, - "src": "147:13:133", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - } - ], - "unitAlias": "" - }, - { - "id": 81167, - "nodeType": "ImportDirective", - "src": "219:82:133", - "nodes": [], - "absolutePath": "lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol", - "file": "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol", - "nameLocation": "-1:-1:-1", - "scope": 83083, - "sourceUnit": 57507, - "symbolAliases": [ - { - "foreign": { - "id": 81166, - "name": "SafeERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 57506, - "src": "227:9:133", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - } - ], - "unitAlias": "" - }, - { - "id": 81169, - "nodeType": "ImportDirective", - "src": "302:85:133", - "nodes": [], - "absolutePath": "lib/openzeppelin-contracts/contracts/security/ReentrancyGuard.sol", - "file": "@openzeppelin/contracts/security/ReentrancyGuard.sol", - "nameLocation": "-1:-1:-1", - "scope": 83083, - "sourceUnit": 56279, - "symbolAliases": [ - { - "foreign": { - "id": 81168, - "name": "ReentrancyGuard", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 56278, - "src": "310:15:133", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - } - ], - "unitAlias": "" - }, - { - "id": 81172, - "nodeType": "ImportDirective", - "src": "518:84:133", - "nodes": [], - "absolutePath": "lib/allo-v2/contracts/core/interfaces/IRegistry.sol", - "file": "allo-v2-contracts/core/interfaces/IRegistry.sol", - "nameLocation": "-1:-1:-1", - "scope": 83083, - "sourceUnit": 2803, - "symbolAliases": [ - { - "foreign": { - "id": 81170, - "name": "IRegistry", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2802, - "src": "526:9:133", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - }, - { - "foreign": { - "id": 81171, - "name": "Metadata", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3098, - "src": "537:8:133", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - } - ], - "unitAlias": "" - }, - { - "id": 81174, - "nodeType": "ImportDirective", - "src": "603:66:133", - "nodes": [], - "absolutePath": "lib/allo-v2/contracts/core/interfaces/IAllo.sol", - "file": "allo-v2-contracts/core/interfaces/IAllo.sol", - "nameLocation": "-1:-1:-1", - "scope": 83083, - "sourceUnit": 2611, - "symbolAliases": [ - { - "foreign": { - "id": 81173, - "name": "IAllo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2610, - "src": "611:5:133", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - } - ], - "unitAlias": "" - }, - { - "id": 81176, - "nodeType": "ImportDirective", - "src": "670:54:133", - "nodes": [], - "absolutePath": "pkg/contracts/src/RegistryFactory.sol", - "file": "./RegistryFactory.sol", - "nameLocation": "-1:-1:-1", - "scope": 83083, - "sourceUnit": 85284, - "symbolAliases": [ - { - "foreign": { - "id": 81175, - "name": "RegistryFactory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 85283, - "src": "678:15:133", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - } - ], - "unitAlias": "" - }, - { - "id": 81178, - "nodeType": "ImportDirective", - "src": "725:45:133", - "nodes": [], - "absolutePath": "pkg/contracts/src/interfaces/ISafe.sol", - "file": "./interfaces/ISafe.sol", - "nameLocation": "-1:-1:-1", - "scope": 83083, - "sourceUnit": 85666, - "symbolAliases": [ - { - "foreign": { - "id": 81177, - "name": "ISafe", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 85665, - "src": "733:5:133", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - } - ], - "unitAlias": "" - }, - { - "id": 81179, - "nodeType": "ImportDirective", - "src": "830:31:133", - "nodes": [], - "absolutePath": "lib/forge-std/src/console.sol", - "file": "forge-std/console.sol", - "nameLocation": "-1:-1:-1", - "scope": 83083, - "sourceUnit": 29550, - "symbolAliases": [], - "unitAlias": "" - }, - { - "id": 81181, - "nodeType": "ImportDirective", - "src": "862:92:133", - "nodes": [], - "absolutePath": "lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol", - "file": "@openzeppelin/contracts/utils/introspection/ERC165Checker.sol", - "nameLocation": "-1:-1:-1", - "scope": 83083, - "sourceUnit": 58461, - "symbolAliases": [ - { - "foreign": { - "id": 81180, - "name": "ERC165Checker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 58460, - "src": "870:13:133", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - } - ], - "unitAlias": "" - }, - { - "id": 81185, - "nodeType": "ImportDirective", - "src": "956:76:133", - "nodes": [], - "absolutePath": "pkg/contracts/src/CVStrategy.sol", - "file": "./CVStrategy.sol", - "nameLocation": "-1:-1:-1", - "scope": 83083, - "sourceUnit": 77612, - "symbolAliases": [ - { - "foreign": { - "id": 81182, - "name": "IPointStrategy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74722, - "src": "964:14:133", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - }, - { - "foreign": { - "id": 81183, - "name": "CVStrategy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77611, - "src": "980:10:133", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - }, - { - "foreign": { - "id": 81184, - "name": "StrategyStruct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74807, - "src": "992:14:133", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - } - ], - "unitAlias": "" - }, - { - "id": 81187, - "nodeType": "ImportDirective", - "src": "1034:65:133", - "nodes": [], - "absolutePath": "lib/allo-v2/contracts/core/libraries/Clone.sol", - "file": "allo-v2-contracts/core/libraries/Clone.sol", - "nameLocation": "-1:-1:-1", - "scope": 83083, - "sourceUnit": 3003, - "symbolAliases": [ - { - "foreign": { - "id": 81186, - "name": "Clone", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3002, - "src": "1042:5:133", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - } - ], - "unitAlias": "" - }, - { - "id": 81222, - "nodeType": "ContractDefinition", - "src": "1172:467:133", - "nodes": [ - { - "id": 81208, - "nodeType": "FunctionDefinition", - "src": "1194:301:133", - "nodes": [], - "functionSelector": "e1007d4a", - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "createPoolWithCustomStrategy", - "nameLocation": "1203:28:133", - "parameters": { - "id": 81204, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 81189, - "mutability": "mutable", - "name": "_profileId", - "nameLocation": "1249:10:133", - "nodeType": "VariableDeclaration", - "scope": 81208, - "src": "1241:18:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 81188, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1241:7:133", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 81191, - "mutability": "mutable", - "name": "_strategy", - "nameLocation": "1277:9:133", - "nodeType": "VariableDeclaration", - "scope": 81208, - "src": "1269:17:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 81190, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1269:7:133", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 81193, - "mutability": "mutable", - "name": "_initStrategyData", - "nameLocation": "1309:17:133", - "nodeType": "VariableDeclaration", - "scope": 81208, - "src": "1296:30:133", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 81192, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "1296:5:133", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 81195, - "mutability": "mutable", - "name": "_token", - "nameLocation": "1344:6:133", - "nodeType": "VariableDeclaration", - "scope": 81208, - "src": "1336:14:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 81194, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1336:7:133", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 81197, - "mutability": "mutable", - "name": "_amount", - "nameLocation": "1368:7:133", - "nodeType": "VariableDeclaration", - "scope": 81208, - "src": "1360:15:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 81196, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1360:7:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 81200, - "mutability": "mutable", - "name": "_metadata", - "nameLocation": "1401:9:133", - "nodeType": "VariableDeclaration", - "scope": 81208, - "src": "1385:25:133", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Metadata_$3098_memory_ptr", - "typeString": "struct Metadata" - }, - "typeName": { - "id": 81199, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 81198, - "name": "Metadata", - "nameLocations": [ - "1385:8:133" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 3098, - "src": "1385:8:133" - }, - "referencedDeclaration": 3098, - "src": "1385:8:133", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Metadata_$3098_storage_ptr", - "typeString": "struct Metadata" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 81203, - "mutability": "mutable", - "name": "_managers", - "nameLocation": "1437:9:133", - "nodeType": "VariableDeclaration", - "scope": 81208, - "src": "1420:26:133", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 81201, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1420:7:133", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 81202, - "nodeType": "ArrayTypeName", - "src": "1420:9:133", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "visibility": "internal" - } - ], - "src": "1231:221:133" - }, - "returnParameters": { - "id": 81207, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 81206, - "mutability": "mutable", - "name": "poolId", - "nameLocation": "1487:6:133", - "nodeType": "VariableDeclaration", - "scope": 81208, - "src": "1479:14:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 81205, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1479:7:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "1478:16:133" - }, - "scope": 81222, - "stateMutability": "payable", - "virtual": false, - "visibility": "external" - }, - { - "id": 81213, - "nodeType": "FunctionDefinition", - "src": "1501:55:133", - "nodes": [], - "functionSelector": "5ab1bd53", - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "getRegistry", - "nameLocation": "1510:11:133", - "parameters": { - "id": 81209, - "nodeType": "ParameterList", - "parameters": [], - "src": "1521:2:133" - }, - "returnParameters": { - "id": 81212, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 81211, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 81213, - "src": "1547:7:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 81210, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1547:7:133", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "1546:9:133" - }, - "scope": 81222, - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "id": 81221, - "nodeType": "FunctionDefinition", - "src": "1561:76:133", - "nodes": [], - "functionSelector": "068bcd8d", - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "getPool", - "nameLocation": "1570:7:133", - "parameters": { - "id": 81216, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 81215, - "mutability": "mutable", - "name": "_poolId", - "nameLocation": "1586:7:133", - "nodeType": "VariableDeclaration", - "scope": 81221, - "src": "1578:15:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 81214, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1578:7:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "1577:17:133" - }, - "returnParameters": { - "id": 81220, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 81219, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 81221, - "src": "1618:17:133", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pool_$2319_memory_ptr", - "typeString": "struct IAllo.Pool" - }, - "typeName": { - "id": 81218, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 81217, - "name": "IAllo.Pool", - "nameLocations": [ - "1618:5:133", - "1624:4:133" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 2319, - "src": "1618:10:133" - }, - "referencedDeclaration": 2319, - "src": "1618:10:133", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pool_$2319_storage_ptr", - "typeString": "struct IAllo.Pool" - } - }, - "visibility": "internal" - } - ], - "src": "1617:19:133" - }, - "scope": 81222, - "stateMutability": "view", - "virtual": false, - "visibility": "external" - } - ], - "abstract": false, - "baseContracts": [], - "canonicalName": "FAllo", - "contractDependencies": [], - "contractKind": "interface", - "fullyImplemented": false, - "linearizedBaseContracts": [ - 81222 - ], - "name": "FAllo", - "nameLocation": "1182:5:133", - "scope": 83083, - "usedErrors": [] - }, - { - "id": 83082, - "nodeType": "ContractDefinition", - "src": "1641:21524:133", - "nodes": [ - { - "id": 81229, - "nodeType": "UsingForDirective", - "src": "1708:32:133", - "nodes": [], - "global": false, - "libraryName": { - "id": 81227, - "name": "ERC165Checker", - "nameLocations": [ - "1714:13:133" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 58460, - "src": "1714:13:133" - }, - "typeName": { - "id": 81228, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1732:7:133", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - }, - { - "id": 81233, - "nodeType": "UsingForDirective", - "src": "1745:27:133", - "nodes": [], - "global": false, - "libraryName": { - "id": 81230, - "name": "SafeERC20", - "nameLocations": [ - "1751:9:133" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 57506, - "src": "1751:9:133" - }, - "typeName": { - "id": 81232, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 81231, - "name": "IERC20", - "nameLocations": [ - "1765:6:133" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 57069, - "src": "1765:6:133" - }, - "referencedDeclaration": 57069, - "src": "1765:6:133", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$57069", - "typeString": "contract IERC20" - } - } - }, - { - "id": 81236, - "nodeType": "UsingForDirective", - "src": "1777:24:133", - "nodes": [], - "global": false, - "libraryName": { - "id": 81234, - "name": "Clone", - "nameLocations": [ - "1783:5:133" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 3002, - "src": "1783:5:133" - }, - "typeName": { - "id": 81235, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1793:7:133", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - }, - { - "id": 81239, - "nodeType": "VariableDeclaration", - "src": "1807:75:133", - "nodes": [], - "constant": true, - "functionSelector": "a0cf0aea", - "mutability": "constant", - "name": "NATIVE", - "nameLocation": "1831:6:133", - "scope": 83082, - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 81237, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1807:7:133", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": { - "hexValue": "307845656565654565656545654565654565456545656545454565656565456565656565656545456545", - "id": 81238, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1840:42:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "value": "0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE" - }, - "visibility": "public" - }, - { - "id": 81244, - "nodeType": "VariableDeclaration", - "src": "2053:82:133", - "nodes": [], - "constant": true, - "functionSelector": "a0b21cdf", - "mutability": "constant", - "name": "COUNCIL_MEMBER_CHANGE", - "nameLocation": "2077:21:133", - "scope": 83082, - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 81240, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2053:7:133", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "arguments": [ - { - "hexValue": "434f554e43494c5f4d454d4245525f4348414e4745", - "id": 81242, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2111:23:133", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_bc6bbe35ebc64943402c04d2ae016d7bd2bba28e1a11cf66be743c9bd74c720b", - "typeString": "literal_string \"COUNCIL_MEMBER_CHANGE\"" - }, - "value": "COUNCIL_MEMBER_CHANGE" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_bc6bbe35ebc64943402c04d2ae016d7bd2bba28e1a11cf66be743c9bd74c720b", - "typeString": "literal_string \"COUNCIL_MEMBER_CHANGE\"" - } - ], - "id": 81241, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -8, - "src": "2101:9:133", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 81243, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2101:34:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "public" - }, - { - "id": 81248, - "nodeType": "EventDefinition", - "src": "2307:29:133", - "nodes": [], - "anonymous": false, - "eventSelector": "aaded18d4d508696508b945d03ff3d168110dbb73e17aeda699745655fa958d2", - "name": "AlloSet", - "nameLocation": "2313:7:133", - "parameters": { - "id": 81247, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 81246, - "indexed": false, - "mutability": "mutable", - "name": "_allo", - "nameLocation": "2329:5:133", - "nodeType": "VariableDeclaration", - "scope": 81248, - "src": "2321:13:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 81245, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2321:7:133", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "2320:15:133" - } - }, - { - "id": 81252, - "nodeType": "EventDefinition", - "src": "2341:36:133", - "nodes": [], - "anonymous": false, - "eventSelector": "ad0399dc40331b9a4977aa89da7a164a3fd482c65e6da73b25a94ea74fb68872", - "name": "CouncilSafeSet", - "nameLocation": "2347:14:133", - "parameters": { - "id": 81251, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 81250, - "indexed": false, - "mutability": "mutable", - "name": "_safe", - "nameLocation": "2370:5:133", - "nodeType": "VariableDeclaration", - "scope": 81252, - "src": "2362:13:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 81249, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2362:7:133", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "2361:15:133" - } - }, - { - "id": 81258, - "nodeType": "EventDefinition", - "src": "2382:74:133", - "nodes": [], - "anonymous": false, - "eventSelector": "83eac9fdaff0ac1017624b7eddeb9782e3d707cd894073cb7e8301a41c6e5cf8", - "name": "CouncilSafeChangeStarted", - "nameLocation": "2388:24:133", - "parameters": { - "id": 81257, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 81254, - "indexed": false, - "mutability": "mutable", - "name": "_safeOwner", - "nameLocation": "2421:10:133", - "nodeType": "VariableDeclaration", - "scope": 81258, - "src": "2413:18:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 81253, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2413:7:133", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 81256, - "indexed": false, - "mutability": "mutable", - "name": "_newSafeOwner", - "nameLocation": "2441:13:133", - "nodeType": "VariableDeclaration", - "scope": 81258, - "src": "2433:21:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 81255, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2433:7:133", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "2412:43:133" - } - }, - { - "id": 81264, - "nodeType": "EventDefinition", - "src": "2461:63:133", - "nodes": [], - "anonymous": false, - "eventSelector": "67e0244e28040fec15240cd4b6c04c776a2a0278caef23b59e8ada1df31f7689", - "name": "MemberRegistered", - "nameLocation": "2467:16:133", - "parameters": { - "id": 81263, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 81260, - "indexed": false, - "mutability": "mutable", - "name": "_member", - "nameLocation": "2492:7:133", - "nodeType": "VariableDeclaration", - "scope": 81264, - "src": "2484:15:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 81259, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2484:7:133", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 81262, - "indexed": false, - "mutability": "mutable", - "name": "_amountStaked", - "nameLocation": "2509:13:133", - "nodeType": "VariableDeclaration", - "scope": 81264, - "src": "2501:21:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 81261, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2501:7:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "2483:40:133" - } - }, - { - "id": 81270, - "nodeType": "EventDefinition", - "src": "2529:67:133", - "nodes": [], - "anonymous": false, - "eventSelector": "a13f4668aacb68c4e9eed8e3f6e1cbec3eca776896ec46b5eabcc3983fc8f5f4", - "name": "MemberUnregistered", - "nameLocation": "2535:18:133", - "parameters": { - "id": 81269, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 81266, - "indexed": false, - "mutability": "mutable", - "name": "_member", - "nameLocation": "2562:7:133", - "nodeType": "VariableDeclaration", - "scope": 81270, - "src": "2554:15:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 81265, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2554:7:133", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 81268, - "indexed": false, - "mutability": "mutable", - "name": "_amountReturned", - "nameLocation": "2579:15:133", - "nodeType": "VariableDeclaration", - "scope": 81270, - "src": "2571:23:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 81267, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2571:7:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "2553:42:133" - } - }, - { - "id": 81278, - "nodeType": "EventDefinition", - "src": "2601:87:133", - "nodes": [], - "anonymous": false, - "eventSelector": "b5946f249f8744efe9d14d49a483b54a589b1362944ff6694de93456cceb96a3", - "name": "MemberKicked", - "nameLocation": "2607:12:133", - "parameters": { - "id": 81277, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 81272, - "indexed": false, - "mutability": "mutable", - "name": "_member", - "nameLocation": "2628:7:133", - "nodeType": "VariableDeclaration", - "scope": 81278, - "src": "2620:15:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 81271, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2620:7:133", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 81274, - "indexed": false, - "mutability": "mutable", - "name": "_transferAddress", - "nameLocation": "2645:16:133", - "nodeType": "VariableDeclaration", - "scope": 81278, - "src": "2637:24:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 81273, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2637:7:133", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 81276, - "indexed": false, - "mutability": "mutable", - "name": "_amountReturned", - "nameLocation": "2671:15:133", - "nodeType": "VariableDeclaration", - "scope": 81278, - "src": "2663:23:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 81275, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2663:7:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "2619:68:133" - } - }, - { - "id": 81282, - "nodeType": "EventDefinition", - "src": "2693:43:133", - "nodes": [], - "anonymous": false, - "eventSelector": "611668bfcf654a99c33cdb66c29ec37a5aae5c1287d2d9715a24e18cb4d806d6", - "name": "CommunityFeeUpdated", - "nameLocation": "2699:19:133", - "parameters": { - "id": 81281, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 81280, - "indexed": false, - "mutability": "mutable", - "name": "_newFee", - "nameLocation": "2727:7:133", - "nodeType": "VariableDeclaration", - "scope": 81282, - "src": "2719:15:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 81279, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2719:7:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "2718:17:133" - } - }, - { - "id": 81291, - "nodeType": "EventDefinition", - "src": "2741:89:133", - "nodes": [], - "anonymous": false, - "eventSelector": "2f2ffcb06f8a1d35e2716f6b43ef2c19bfa76467d8f66964ae12c2583ed03205", - "name": "RegistryInitialized", - "nameLocation": "2747:19:133", - "parameters": { - "id": 81290, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 81284, - "indexed": false, - "mutability": "mutable", - "name": "_profileId", - "nameLocation": "2775:10:133", - "nodeType": "VariableDeclaration", - "scope": 81291, - "src": "2767:18:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 81283, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2767:7:133", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 81286, - "indexed": false, - "mutability": "mutable", - "name": "_communityName", - "nameLocation": "2794:14:133", - "nodeType": "VariableDeclaration", - "scope": 81291, - "src": "2787:21:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 81285, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2787:6:133", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 81289, - "indexed": false, - "mutability": "mutable", - "name": "_metadata", - "nameLocation": "2819:9:133", - "nodeType": "VariableDeclaration", - "scope": 81291, - "src": "2810:18:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Metadata_$3098_memory_ptr", - "typeString": "struct Metadata" - }, - "typeName": { - "id": 81288, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 81287, - "name": "Metadata", - "nameLocations": [ - "2810:8:133" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 3098, - "src": "2810:8:133" - }, - "referencedDeclaration": 3098, - "src": "2810:8:133", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Metadata_$3098_storage_ptr", - "typeString": "struct Metadata" - } - }, - "visibility": "internal" - } - ], - "src": "2766:63:133" - } - }, - { - "id": 81295, - "nodeType": "EventDefinition", - "src": "2835:39:133", - "nodes": [], - "anonymous": false, - "eventSelector": "3f008fd510eae7a9e7bee13513d7b83bef8003d488b5a3d0b0da4de71d6846f1", - "name": "StrategyAdded", - "nameLocation": "2841:13:133", - "parameters": { - "id": 81294, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 81293, - "indexed": false, - "mutability": "mutable", - "name": "_strategy", - "nameLocation": "2863:9:133", - "nodeType": "VariableDeclaration", - "scope": 81295, - "src": "2855:17:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 81292, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2855:7:133", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "2854:19:133" - } - }, - { - "id": 81299, - "nodeType": "EventDefinition", - "src": "2879:41:133", - "nodes": [], - "anonymous": false, - "eventSelector": "09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea4", - "name": "StrategyRemoved", - "nameLocation": "2885:15:133", - "parameters": { - "id": 81298, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 81297, - "indexed": false, - "mutability": "mutable", - "name": "_strategy", - "nameLocation": "2909:9:133", - "nodeType": "VariableDeclaration", - "scope": 81299, - "src": "2901:17:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 81296, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2901:7:133", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "2900:19:133" - } - }, - { - "id": 81307, - "nodeType": "EventDefinition", - "src": "2925:93:133", - "nodes": [], - "anonymous": false, - "eventSelector": "f56fa57e85e169a12200d12d9921ec069b52e688f6d309d9dab7bceff54614ec", - "name": "MemberActivatedStrategy", - "nameLocation": "2931:23:133", - "parameters": { - "id": 81306, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 81301, - "indexed": false, - "mutability": "mutable", - "name": "_member", - "nameLocation": "2963:7:133", - "nodeType": "VariableDeclaration", - "scope": 81307, - "src": "2955:15:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 81300, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2955:7:133", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 81303, - "indexed": false, - "mutability": "mutable", - "name": "_strategy", - "nameLocation": "2980:9:133", - "nodeType": "VariableDeclaration", - "scope": 81307, - "src": "2972:17:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 81302, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2972:7:133", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 81305, - "indexed": false, - "mutability": "mutable", - "name": "_pointsToIncrease", - "nameLocation": "2999:17:133", - "nodeType": "VariableDeclaration", - "scope": 81307, - "src": "2991:25:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 81304, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2991:7:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "2954:63:133" - } - }, - { - "id": 81313, - "nodeType": "EventDefinition", - "src": "3023:68:133", - "nodes": [], - "anonymous": false, - "eventSelector": "00de109bef4619f7e2cf00c8e5a50ca55f8deb44f87087eed414a91dbf8d1d1b", - "name": "MemberDeactivatedStrategy", - "nameLocation": "3029:25:133", - "parameters": { - "id": 81312, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 81309, - "indexed": false, - "mutability": "mutable", - "name": "_member", - "nameLocation": "3063:7:133", - "nodeType": "VariableDeclaration", - "scope": 81313, - "src": "3055:15:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 81308, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3055:7:133", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 81311, - "indexed": false, - "mutability": "mutable", - "name": "_strategy", - "nameLocation": "3080:9:133", - "nodeType": "VariableDeclaration", - "scope": 81313, - "src": "3072:17:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 81310, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3072:7:133", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "3054:36:133" - } - }, - { - "id": 81317, - "nodeType": "EventDefinition", - "src": "3096:47:133", - "nodes": [], - "anonymous": false, - "eventSelector": "5bcc2c453001fb0e2ba6266d56ecb411e7c6e15c8f9c3d301f93dd36ad25726f", - "name": "BasisStakedAmountSet", - "nameLocation": "3102:20:133", - "parameters": { - "id": 81316, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 81315, - "indexed": false, - "mutability": "mutable", - "name": "_newAmount", - "nameLocation": "3131:10:133", - "nodeType": "VariableDeclaration", - "scope": 81317, - "src": "3123:18:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 81314, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3123:7:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "3122:20:133" - } - }, - { - "id": 81323, - "nodeType": "EventDefinition", - "src": "3148:67:133", - "nodes": [], - "anonymous": false, - "eventSelector": "576605f9bfe8911e7508bed3763c7c5c8eb3b86e8b360b90a4bc6abe1104cb7f", - "name": "MemberPowerIncreased", - "nameLocation": "3154:20:133", - "parameters": { - "id": 81322, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 81319, - "indexed": false, - "mutability": "mutable", - "name": "_member", - "nameLocation": "3183:7:133", - "nodeType": "VariableDeclaration", - "scope": 81323, - "src": "3175:15:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 81318, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3175:7:133", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 81321, - "indexed": false, - "mutability": "mutable", - "name": "_stakedAmount", - "nameLocation": "3200:13:133", - "nodeType": "VariableDeclaration", - "scope": 81323, - "src": "3192:21:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 81320, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3192:7:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "3174:40:133" - } - }, - { - "id": 81329, - "nodeType": "EventDefinition", - "src": "3220:69:133", - "nodes": [], - "anonymous": false, - "eventSelector": "6ee2c70b2d6b89ae808a2313aab43e925c06624271419cd665d85cfa1ae04ff8", - "name": "MemberPowerDecreased", - "nameLocation": "3226:20:133", - "parameters": { - "id": 81328, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 81325, - "indexed": false, - "mutability": "mutable", - "name": "_member", - "nameLocation": "3255:7:133", - "nodeType": "VariableDeclaration", - "scope": 81329, - "src": "3247:15:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 81324, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3247:7:133", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 81327, - "indexed": false, - "mutability": "mutable", - "name": "_unstakedAmount", - "nameLocation": "3272:15:133", - "nodeType": "VariableDeclaration", - "scope": 81329, - "src": "3264:23:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 81326, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3264:7:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "3246:42:133" - } - }, - { - "id": 81342, - "nodeType": "EventDefinition", - "src": "3294:110:133", - "nodes": [], - "anonymous": false, - "eventSelector": "778cac0ae0b66477341553a4a89398c61ccf448313d3354ad0ca85a5a825d283", - "name": "PoolCreated", - "nameLocation": "3300:11:133", - "parameters": { - "id": 81341, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 81331, - "indexed": false, - "mutability": "mutable", - "name": "_poolId", - "nameLocation": "3320:7:133", - "nodeType": "VariableDeclaration", - "scope": 81342, - "src": "3312:15:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 81330, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3312:7:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 81333, - "indexed": false, - "mutability": "mutable", - "name": "_strategy", - "nameLocation": "3337:9:133", - "nodeType": "VariableDeclaration", - "scope": 81342, - "src": "3329:17:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 81332, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3329:7:133", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 81335, - "indexed": false, - "mutability": "mutable", - "name": "_community", - "nameLocation": "3356:10:133", - "nodeType": "VariableDeclaration", - "scope": 81342, - "src": "3348:18:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 81334, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3348:7:133", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 81337, - "indexed": false, - "mutability": "mutable", - "name": "_token", - "nameLocation": "3376:6:133", - "nodeType": "VariableDeclaration", - "scope": 81342, - "src": "3368:14:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 81336, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3368:7:133", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 81340, - "indexed": false, - "mutability": "mutable", - "name": "_metadata", - "nameLocation": "3393:9:133", - "nodeType": "VariableDeclaration", - "scope": 81342, - "src": "3384:18:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Metadata_$3098_memory_ptr", - "typeString": "struct Metadata" - }, - "typeName": { - "id": 81339, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 81338, - "name": "Metadata", - "nameLocations": [ - "3384:8:133" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 3098, - "src": "3384:8:133" - }, - "referencedDeclaration": 3098, - "src": "3384:8:133", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Metadata_$3098_storage_ptr", - "typeString": "struct Metadata" - } - }, - "visibility": "internal" - } - ], - "src": "3311:92:133" - } - }, - { - "id": 81357, - "nodeType": "FunctionDefinition", - "src": "3575:155:133", - "nodes": [], - "body": { - "id": 81356, - "nodeType": "Block", - "src": "3615:115:133", - "nodes": [], - "statements": [ - { - "condition": { - "id": 81350, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "3629:43:133", - "subExpression": { - "arguments": [ - { - "id": 81346, - "name": "COUNCIL_MEMBER_CHANGE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81244, - "src": "3638:21:133", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "expression": { - "id": 81347, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "3661:3:133", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 81348, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "3665:6:133", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "3661:10:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 81345, - "name": "hasRole", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 55072, - "src": "3630:7:133", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$", - "typeString": "function (bytes32,address) view returns (bool)" - } - }, - "id": 81349, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "3630:42:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 81355, - "nodeType": "IfStatement", - "src": "3625:99:133", - "trueBody": { - "id": 81354, - "nodeType": "Block", - "src": "3674:50:133", - "statements": [ - { - "errorCall": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 81351, - "name": "UserNotInCouncil", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81441, - "src": "3695:16:133", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 81352, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "3695:18:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 81353, - "nodeType": "RevertStatement", - "src": "3688:25:133" - } - ] - } - } - ] - }, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "onlyCouncilSafe", - "nameLocation": "3584:15:133", - "parameters": { - "id": 81343, - "nodeType": "ParameterList", - "parameters": [], - "src": "3599:2:133" - }, - "returnParameters": { - "id": 81344, - "nodeType": "ParameterList", - "parameters": [], - "src": "3615:0:133" - }, - "scope": 83082, - "stateMutability": "view", - "virtual": false, - "visibility": "private" - }, - { - "id": 81371, - "nodeType": "FunctionDefinition", - "src": "3736:143:133", - "nodes": [], - "body": { - "id": 81370, - "nodeType": "Block", - "src": "3785:94:133", - "nodes": [], - "statements": [ - { - "condition": { - "id": 81364, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "3799:21:133", - "subExpression": { - "arguments": [ - { - "expression": { - "id": 81361, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "3809:3:133", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 81362, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "3813:6:133", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "3809:10:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 81360, - "name": "isMember", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82663, - "src": "3800:8:133", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", - "typeString": "function (address) view returns (bool)" - } - }, - "id": 81363, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "3800:20:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 81369, - "nodeType": "IfStatement", - "src": "3795:78:133", - "trueBody": { - "id": 81368, - "nodeType": "Block", - "src": "3822:51:133", - "statements": [ - { - "errorCall": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 81365, - "name": "UserNotInRegistry", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81443, - "src": "3843:17:133", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 81366, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "3843:19:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 81367, - "nodeType": "RevertStatement", - "src": "3836:26:133" - } - ] - } - } - ] - }, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "onlyRegistryMemberSender", - "nameLocation": "3745:24:133", - "parameters": { - "id": 81358, - "nodeType": "ParameterList", - "parameters": [], - "src": "3769:2:133" - }, - "returnParameters": { - "id": 81359, - "nodeType": "ParameterList", - "parameters": [], - "src": "3785:0:133" - }, - "scope": 83082, - "stateMutability": "view", - "virtual": false, - "visibility": "private" - }, - { - "id": 81386, - "nodeType": "FunctionDefinition", - "src": "3885:156:133", - "nodes": [], - "body": { - "id": 81385, - "nodeType": "Block", - "src": "3950:91:133", - "nodes": [], - "statements": [ - { - "condition": { - "id": 81379, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "3964:18:133", - "subExpression": { - "arguments": [ - { - "id": 81377, - "name": "_sender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81373, - "src": "3974:7:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 81376, - "name": "isMember", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82663, - "src": "3965:8:133", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", - "typeString": "function (address) view returns (bool)" - } - }, - "id": 81378, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "3965:17:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 81384, - "nodeType": "IfStatement", - "src": "3960:75:133", - "trueBody": { - "id": 81383, - "nodeType": "Block", - "src": "3984:51:133", - "statements": [ - { - "errorCall": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 81380, - "name": "UserNotInRegistry", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81443, - "src": "4005:17:133", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 81381, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "4005:19:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 81382, - "nodeType": "RevertStatement", - "src": "3998:26:133" - } - ] - } - } - ] - }, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "onlyRegistryMemberAddress", - "nameLocation": "3894:25:133", - "parameters": { - "id": 81374, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 81373, - "mutability": "mutable", - "name": "_sender", - "nameLocation": "3928:7:133", - "nodeType": "VariableDeclaration", - "scope": 81386, - "src": "3920:15:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 81372, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3920:7:133", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "3919:17:133" - }, - "returnParameters": { - "id": 81375, - "nodeType": "ParameterList", - "parameters": [], - "src": "3950:0:133" - }, - "scope": 83082, - "stateMutability": "view", - "virtual": false, - "visibility": "private" - }, - { - "id": 81401, - "nodeType": "FunctionDefinition", - "src": "4047:162:133", - "nodes": [], - "body": { - "id": 81400, - "nodeType": "Block", - "src": "4108:101:133", - "nodes": [], - "statements": [ - { - "condition": { - "id": 81394, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "4122:29:133", - "subExpression": { - "baseExpression": { - "id": 81391, - "name": "enabledStrategies", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81553, - "src": "4123:17:133", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 81393, - "indexExpression": { - "id": 81392, - "name": "_strategy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81388, - "src": "4141:9:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4123:28:133", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 81399, - "nodeType": "IfStatement", - "src": "4118:85:133", - "trueBody": { - "id": 81398, - "nodeType": "Block", - "src": "4153:50:133", - "statements": [ - { - "errorCall": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 81395, - "name": "StrategyDisabled", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81455, - "src": "4174:16:133", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 81396, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "4174:18:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 81397, - "nodeType": "RevertStatement", - "src": "4167:25:133" - } - ] - } - } - ] - }, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "onlyStrategyEnabled", - "nameLocation": "4056:19:133", - "parameters": { - "id": 81389, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 81388, - "mutability": "mutable", - "name": "_strategy", - "nameLocation": "4084:9:133", - "nodeType": "VariableDeclaration", - "scope": 81401, - "src": "4076:17:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 81387, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4076:7:133", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "4075:19:133" - }, - "returnParameters": { - "id": 81390, - "nodeType": "ParameterList", - "parameters": [], - "src": "4108:0:133" - }, - "scope": 83082, - "stateMutability": "view", - "virtual": false, - "visibility": "private" - }, - { - "id": 81417, - "nodeType": "FunctionDefinition", - "src": "4215:171:133", - "nodes": [], - "body": { - "id": 81416, - "nodeType": "Block", - "src": "4293:93:133", - "nodes": [], - "statements": [ - { - "condition": { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 81410, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 81408, - "name": "_sender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81403, - "src": "4307:7:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "id": 81409, - "name": "_strategy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81405, - "src": "4318:9:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "4307:20:133", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 81415, - "nodeType": "IfStatement", - "src": "4303:77:133", - "trueBody": { - "id": 81414, - "nodeType": "Block", - "src": "4329:51:133", - "statements": [ - { - "errorCall": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 81411, - "name": "SenderNotStrategy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81459, - "src": "4350:17:133", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 81412, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "4350:19:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 81413, - "nodeType": "RevertStatement", - "src": "4343:26:133" - } - ] - } - } - ] - }, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "onlyStrategyAddress", - "nameLocation": "4224:19:133", - "parameters": { - "id": 81406, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 81403, - "mutability": "mutable", - "name": "_sender", - "nameLocation": "4252:7:133", - "nodeType": "VariableDeclaration", - "scope": 81417, - "src": "4244:15:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 81402, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4244:7:133", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 81405, - "mutability": "mutable", - "name": "_strategy", - "nameLocation": "4269:9:133", - "nodeType": "VariableDeclaration", - "scope": 81417, - "src": "4261:17:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 81404, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4261:7:133", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "4243:36:133" - }, - "returnParameters": { - "id": 81407, - "nodeType": "ParameterList", - "parameters": [], - "src": "4293:0:133" - }, - "scope": 83082, - "stateMutability": "pure", - "virtual": false, - "visibility": "private" - }, - { - "id": 81435, - "nodeType": "FunctionDefinition", - "src": "4392:189:133", - "nodes": [], - "body": { - "id": 81434, - "nodeType": "Block", - "src": "4457:124:133", - "nodes": [], - "statements": [ - { - "condition": { - "id": 81428, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "4471:51:133", - "subExpression": { - "baseExpression": { - "baseExpression": { - "id": 81422, - "name": "memberActivatedInStrategies", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81575, - "src": "4472:27:133", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$", - "typeString": "mapping(address => mapping(address => bool))" - } - }, - "id": 81425, - "indexExpression": { - "expression": { - "id": 81423, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "4500:3:133", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 81424, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "4504:6:133", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "4500:10:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4472:39:133", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 81427, - "indexExpression": { - "id": 81426, - "name": "_strategy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81419, - "src": "4512:9:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4472:50:133", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 81433, - "nodeType": "IfStatement", - "src": "4467:108:133", - "trueBody": { - "id": 81432, - "nodeType": "Block", - "src": "4524:51:133", - "statements": [ - { - "errorCall": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 81429, - "name": "PointsDeactivated", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81467, - "src": "4545:17:133", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 81430, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "4545:19:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 81431, - "nodeType": "RevertStatement", - "src": "4538:26:133" - } - ] - } - } - ] - }, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "onlyActivatedInStrategy", - "nameLocation": "4401:23:133", - "parameters": { - "id": 81420, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 81419, - "mutability": "mutable", - "name": "_strategy", - "nameLocation": "4433:9:133", - "nodeType": "VariableDeclaration", - "scope": 81435, - "src": "4425:17:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 81418, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4425:7:133", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "4424:19:133" - }, - "returnParameters": { - "id": 81421, - "nodeType": "ParameterList", - "parameters": [], - "src": "4457:0:133" - }, - "scope": 83082, - "stateMutability": "view", - "virtual": false, - "visibility": "private" - }, - { - "id": 81437, - "nodeType": "ErrorDefinition", - "src": "4753:28:133", - "nodes": [], - "errorSelector": "e622e040", - "name": "AddressCannotBeZero", - "nameLocation": "4759:19:133", - "parameters": { - "id": 81436, - "nodeType": "ParameterList", - "parameters": [], - "src": "4778:2:133" - } - }, - { - "id": 81439, - "nodeType": "ErrorDefinition", - "src": "4786:29:133", - "nodes": [], - "errorSelector": "5df4b1ef", - "name": "RegistryCannotBeZero", - "nameLocation": "4792:20:133", - "parameters": { - "id": 81438, - "nodeType": "ParameterList", - "parameters": [], - "src": "4812:2:133" - } - }, - { - "id": 81441, - "nodeType": "ErrorDefinition", - "src": "4820:25:133", - "nodes": [], - "errorSelector": "f62651fa", - "name": "UserNotInCouncil", - "nameLocation": "4826:16:133", - "parameters": { - "id": 81440, - "nodeType": "ParameterList", - "parameters": [], - "src": "4842:2:133" - } - }, - { - "id": 81443, - "nodeType": "ErrorDefinition", - "src": "4850:26:133", - "nodes": [], - "errorSelector": "6a5cfb6d", - "name": "UserNotInRegistry", - "nameLocation": "4856:17:133", - "parameters": { - "id": 81442, - "nodeType": "ParameterList", - "parameters": [], - "src": "4873:2:133" - } - }, - { - "id": 81445, - "nodeType": "ErrorDefinition", - "src": "4881:30:133", - "nodes": [], - "errorSelector": "9e4a65f6", - "name": "UserAlreadyRegistered", - "nameLocation": "4887:21:133", - "parameters": { - "id": 81444, - "nodeType": "ParameterList", - "parameters": [], - "src": "4908:2:133" - } - }, - { - "id": 81447, - "nodeType": "ErrorDefinition", - "src": "4916:27:133", - "nodes": [], - "errorSelector": "e9a644b8", - "name": "UserNotGardenOwner", - "nameLocation": "4922:18:133", - "parameters": { - "id": 81446, - "nodeType": "ParameterList", - "parameters": [], - "src": "4940:2:133" - } - }, - { - "id": 81449, - "nodeType": "ErrorDefinition", - "src": "4948:29:133", - "nodes": [], - "errorSelector": "d5b9bc96", - "name": "UserAlreadyActivated", - "nameLocation": "4954:20:133", - "parameters": { - "id": 81448, - "nodeType": "ParameterList", - "parameters": [], - "src": "4974:2:133" - } - }, - { - "id": 81451, - "nodeType": "ErrorDefinition", - "src": "4982:31:133", - "nodes": [], - "errorSelector": "c12369dc", - "name": "UserAlreadyDeactivated", - "nameLocation": "4988:22:133", - "parameters": { - "id": 81450, - "nodeType": "ParameterList", - "parameters": [], - "src": "5010:2:133" - } - }, - { - "id": 81453, - "nodeType": "ErrorDefinition", - "src": "5018:23:133", - "nodes": [], - "errorSelector": "968a4d2c", - "name": "StrategyExists", - "nameLocation": "5024:14:133", - "parameters": { - "id": 81452, - "nodeType": "ParameterList", - "parameters": [], - "src": "5038:2:133" - } - }, - { - "id": 81455, - "nodeType": "ErrorDefinition", - "src": "5046:25:133", - "nodes": [], - "errorSelector": "46c26e4b", - "name": "StrategyDisabled", - "nameLocation": "5052:16:133", - "parameters": { - "id": 81454, - "nodeType": "ParameterList", - "parameters": [], - "src": "5068:2:133" - } - }, - { - "id": 81457, - "nodeType": "ErrorDefinition", - "src": "5076:26:133", - "nodes": [], - "errorSelector": "ebcd0d6e", - "name": "SenderNotNewOwner", - "nameLocation": "5082:17:133", - "parameters": { - "id": 81456, - "nodeType": "ParameterList", - "parameters": [], - "src": "5099:2:133" - } - }, - { - "id": 81459, - "nodeType": "ErrorDefinition", - "src": "5107:26:133", - "nodes": [], - "errorSelector": "bbe79611", - "name": "SenderNotStrategy", - "nameLocation": "5113:17:133", - "parameters": { - "id": 81458, - "nodeType": "ParameterList", - "parameters": [], - "src": "5130:2:133" - } - }, - { - "id": 81461, - "nodeType": "ErrorDefinition", - "src": "5138:26:133", - "nodes": [], - "errorSelector": "c70d18aa", - "name": "ValueCannotBeZero", - "nameLocation": "5144:17:133", - "parameters": { - "id": 81460, - "nodeType": "ParameterList", - "parameters": [], - "src": "5161:2:133" - } - }, - { - "id": 81463, - "nodeType": "ErrorDefinition", - "src": "5169:29:133", - "nodes": [], - "errorSelector": "fe925f7d", - "name": "NewFeeGreaterThanMax", - "nameLocation": "5175:20:133", - "parameters": { - "id": 81462, - "nodeType": "ParameterList", - "parameters": [], - "src": "5195:2:133" - } - }, - { - "id": 81465, - "nodeType": "ErrorDefinition", - "src": "5203:23:133", - "nodes": [], - "errorSelector": "cb63dc72", - "name": "KickNotEnabled", - "nameLocation": "5209:14:133", - "parameters": { - "id": 81464, - "nodeType": "ParameterList", - "parameters": [], - "src": "5223:2:133" - } - }, - { - "id": 81467, - "nodeType": "ErrorDefinition", - "src": "5231:26:133", - "nodes": [], - "errorSelector": "d4d3290e", - "name": "PointsDeactivated", - "nameLocation": "5237:17:133", - "parameters": { - "id": 81466, - "nodeType": "ParameterList", - "parameters": [], - "src": "5254:2:133" - } - }, - { - "id": 81469, - "nodeType": "ErrorDefinition", - "src": "5262:29:133", - "nodes": [], - "errorSelector": "9c47d02e", - "name": "DecreaseUnderMinimum", - "nameLocation": "5268:20:133", - "parameters": { - "id": 81468, - "nodeType": "ParameterList", - "parameters": [], - "src": "5288:2:133" - } - }, - { - "id": 81475, - "nodeType": "ErrorDefinition", - "src": "5296:80:133", - "nodes": [], - "errorSelector": "8a11f318", - "name": "CantDecreaseMoreThanPower", - "nameLocation": "5302:25:133", - "parameters": { - "id": 81474, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 81471, - "mutability": "mutable", - "name": "_decreaseAmount", - "nameLocation": "5336:15:133", - "nodeType": "VariableDeclaration", - "scope": 81475, - "src": "5328:23:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 81470, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5328:7:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 81473, - "mutability": "mutable", - "name": "_currentPower", - "nameLocation": "5361:13:133", - "nodeType": "VariableDeclaration", - "scope": 81475, - "src": "5353:21:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 81472, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5353:7:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "5327:48:133" - } - }, - { - "id": 81482, - "nodeType": "StructDefinition", - "src": "5547:102:133", - "nodes": [], - "canonicalName": "RegistryCommunity.Member", - "members": [ - { - "constant": false, - "id": 81477, - "mutability": "mutable", - "name": "member", - "nameLocation": "5579:6:133", - "nodeType": "VariableDeclaration", - "scope": 81482, - "src": "5571:14:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 81476, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5571:7:133", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 81479, - "mutability": "mutable", - "name": "stakedAmount", - "nameLocation": "5603:12:133", - "nodeType": "VariableDeclaration", - "scope": 81482, - "src": "5595:20:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 81478, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5595:7:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 81481, - "mutability": "mutable", - "name": "isRegistered", - "nameLocation": "5630:12:133", - "nodeType": "VariableDeclaration", - "scope": 81482, - "src": "5625:17:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 81480, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "5625:4:133", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "name": "Member", - "nameLocation": "5554:6:133", - "scope": 83082, - "visibility": "public" - }, - { - "id": 81486, - "nodeType": "StructDefinition", - "src": "5655:55:133", - "nodes": [], - "canonicalName": "RegistryCommunity.Strategies", - "members": [ - { - "constant": false, - "id": 81485, - "mutability": "mutable", - "name": "strategies", - "nameLocation": "5693:10:133", - "nodeType": "VariableDeclaration", - "scope": 81486, - "src": "5683:20:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 81483, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5683:7:133", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 81484, - "nodeType": "ArrayTypeName", - "src": "5683:9:133", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "visibility": "internal" - } - ], - "name": "Strategies", - "nameLocation": "5662:10:133", - "scope": 83082, - "visibility": "public" - }, - { - "id": 81515, - "nodeType": "StructDefinition", - "src": "5716:490:133", - "nodes": [], - "canonicalName": "RegistryCommunity.InitializeParams", - "members": [ - { - "constant": false, - "id": 81488, - "mutability": "mutable", - "name": "_allo", - "nameLocation": "5758:5:133", - "nodeType": "VariableDeclaration", - "scope": 81515, - "src": "5750:13:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 81487, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5750:7:133", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 81491, - "mutability": "mutable", - "name": "_gardenToken", - "nameLocation": "5780:12:133", - "nodeType": "VariableDeclaration", - "scope": 81515, - "src": "5773:19:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$57069", - "typeString": "contract IERC20" - }, - "typeName": { - "id": 81490, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 81489, - "name": "IERC20", - "nameLocations": [ - "5773:6:133" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 57069, - "src": "5773:6:133" - }, - "referencedDeclaration": 57069, - "src": "5773:6:133", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$57069", - "typeString": "contract IERC20" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 81493, - "mutability": "mutable", - "name": "_registerStakeAmount", - "nameLocation": "5810:20:133", - "nodeType": "VariableDeclaration", - "scope": 81515, - "src": "5802:28:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 81492, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5802:7:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 81495, - "mutability": "mutable", - "name": "_communityFee", - "nameLocation": "5848:13:133", - "nodeType": "VariableDeclaration", - "scope": 81515, - "src": "5840:21:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 81494, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5840:7:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 81497, - "mutability": "mutable", - "name": "_nonce", - "nameLocation": "5935:6:133", - "nodeType": "VariableDeclaration", - "scope": 81515, - "src": "5927:14:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 81496, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5927:7:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 81499, - "mutability": "mutable", - "name": "_registryFactory", - "nameLocation": "5959:16:133", - "nodeType": "VariableDeclaration", - "scope": 81515, - "src": "5951:24:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 81498, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5951:7:133", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 81501, - "mutability": "mutable", - "name": "_feeReceiver", - "nameLocation": "5993:12:133", - "nodeType": "VariableDeclaration", - "scope": 81515, - "src": "5985:20:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 81500, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5985:7:133", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 81504, - "mutability": "mutable", - "name": "_metadata", - "nameLocation": "6024:9:133", - "nodeType": "VariableDeclaration", - "scope": 81515, - "src": "6015:18:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Metadata_$3098_storage_ptr", - "typeString": "struct Metadata" - }, - "typeName": { - "id": 81503, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 81502, - "name": "Metadata", - "nameLocations": [ - "6015:8:133" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 3098, - "src": "6015:8:133" - }, - "referencedDeclaration": 3098, - "src": "6015:8:133", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Metadata_$3098_storage_ptr", - "typeString": "struct Metadata" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 81506, - "mutability": "mutable", - "name": "_councilSafe", - "nameLocation": "6059:12:133", - "nodeType": "VariableDeclaration", - "scope": 81515, - "src": "6043:28:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - "typeName": { - "id": 81505, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6043:15:133", - "stateMutability": "payable", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 81508, - "mutability": "mutable", - "name": "_communityName", - "nameLocation": "6088:14:133", - "nodeType": "VariableDeclaration", - "scope": 81515, - "src": "6081:21:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - }, - "typeName": { - "id": 81507, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "6081:6:133", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 81510, - "mutability": "mutable", - "name": "_isKickEnabled", - "nameLocation": "6117:14:133", - "nodeType": "VariableDeclaration", - "scope": 81515, - "src": "6112:19:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 81509, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "6112:4:133", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 81512, - "mutability": "mutable", - "name": "covenantIpfsHash", - "nameLocation": "6148:16:133", - "nodeType": "VariableDeclaration", - "scope": 81515, - "src": "6141:23:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - }, - "typeName": { - "id": 81511, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "6141:6:133", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 81514, - "mutability": "mutable", - "name": "_strategyTemplate", - "nameLocation": "6182:17:133", - "nodeType": "VariableDeclaration", - "scope": 81515, - "src": "6174:25:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 81513, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6174:7:133", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "name": "InitializeParams", - "nameLocation": "5723:16:133", - "scope": 83082, - "visibility": "public" - }, - { - "id": 81517, - "nodeType": "VariableDeclaration", - "src": "6303:25:133", - "nodes": [], - "constant": false, - "functionSelector": "1f787d28", - "mutability": "mutable", - "name": "isKickEnabled", - "nameLocation": "6315:13:133", - "scope": 83082, - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 81516, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "6303:4:133", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "public" - }, - { - "id": 81519, - "nodeType": "VariableDeclaration", - "src": "6472:34:133", - "nodes": [], - "constant": false, - "functionSelector": "78a0b8a9", - "mutability": "mutable", - "name": "registerStakeAmount", - "nameLocation": "6487:19:133", - "scope": 83082, - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 81518, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6472:7:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "public" - }, - { - "id": 81521, - "nodeType": "VariableDeclaration", - "src": "6512:27:133", - "nodes": [], - "constant": false, - "functionSelector": "8961be6b", - "mutability": "mutable", - "name": "communityFee", - "nameLocation": "6527:12:133", - "scope": 83082, - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 81520, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6512:7:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "public" - }, - { - "id": 81523, - "nodeType": "VariableDeclaration", - "src": "6545:24:133", - "nodes": [], - "constant": false, - "functionSelector": "08386eba", - "mutability": "mutable", - "name": "profileId", - "nameLocation": "6560:9:133", - "scope": 83082, - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 81522, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "6545:7:133", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "public" - }, - { - "id": 81525, - "nodeType": "VariableDeclaration", - "src": "6620:26:133", - "nodes": [], - "constant": false, - "functionSelector": "b3f00674", - "mutability": "mutable", - "name": "feeReceiver", - "nameLocation": "6635:11:133", - "scope": 83082, - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 81524, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6620:7:133", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "public" - }, - { - "id": 81527, - "nodeType": "VariableDeclaration", - "src": "6652:30:133", - "nodes": [], - "constant": false, - "functionSelector": "f86c5f89", - "mutability": "mutable", - "name": "registryFactory", - "nameLocation": "6667:15:133", - "scope": 83082, - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 81526, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6652:7:133", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "public" - }, - { - "id": 81529, - "nodeType": "VariableDeclaration", - "src": "6688:31:133", - "nodes": [], - "constant": false, - "functionSelector": "5c94e4d2", - "mutability": "mutable", - "name": "strategyTemplate", - "nameLocation": "6703:16:133", - "scope": 83082, - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 81528, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6688:7:133", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "public" - }, - { - "id": 81531, - "nodeType": "VariableDeclaration", - "src": "6725:25:133", - "nodes": [], - "constant": false, - "functionSelector": "33960459", - "mutability": "mutable", - "name": "cloneNonce", - "nameLocation": "6740:10:133", - "scope": 83082, - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 81530, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6725:7:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "public" - }, - { - "id": 81533, - "nodeType": "VariableDeclaration", - "src": "6756:41:133", - "nodes": [], - "constant": false, - "functionSelector": "68decabb", - "mutability": "mutable", - "name": "pendingCouncilSafe", - "nameLocation": "6779:18:133", - "scope": 83082, - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - "typeName": { - "id": 81532, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6756:15:133", - "stateMutability": "payable", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "visibility": "public" - }, - { - "id": 81536, - "nodeType": "VariableDeclaration", - "src": "6875:25:133", - "nodes": [], - "constant": false, - "functionSelector": "7b103999", - "mutability": "mutable", - "name": "registry", - "nameLocation": "6892:8:133", - "scope": 83082, - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IRegistry_$2802", - "typeString": "contract IRegistry" - }, - "typeName": { - "id": 81535, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 81534, - "name": "IRegistry", - "nameLocations": [ - "6875:9:133" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 2802, - "src": "6875:9:133" - }, - "referencedDeclaration": 2802, - "src": "6875:9:133", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IRegistry_$2802", - "typeString": "contract IRegistry" - } - }, - "visibility": "public" - }, - { - "id": 81539, - "nodeType": "VariableDeclaration", - "src": "6906:25:133", - "nodes": [], - "constant": false, - "functionSelector": "db61d65c", - "mutability": "mutable", - "name": "gardenToken", - "nameLocation": "6920:11:133", - "scope": 83082, - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$57069", - "typeString": "contract IERC20" - }, - "typeName": { - "id": 81538, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 81537, - "name": "IERC20", - "nameLocations": [ - "6906:6:133" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 57069, - "src": "6906:6:133" - }, - "referencedDeclaration": 57069, - "src": "6906:6:133", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$57069", - "typeString": "contract IERC20" - } - }, - "visibility": "public" - }, - { - "id": 81542, - "nodeType": "VariableDeclaration", - "src": "6937:24:133", - "nodes": [], - "constant": false, - "functionSelector": "6c53db9a", - "mutability": "mutable", - "name": "councilSafe", - "nameLocation": "6950:11:133", - "scope": 83082, - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ISafe_$85665", - "typeString": "contract ISafe" - }, - "typeName": { - "id": 81541, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 81540, - "name": "ISafe", - "nameLocations": [ - "6937:5:133" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 85665, - "src": "6937:5:133" - }, - "referencedDeclaration": 85665, - "src": "6937:5:133", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ISafe_$85665", - "typeString": "contract ISafe" - } - }, - "visibility": "public" - }, - { - "id": 81545, - "nodeType": "VariableDeclaration", - "src": "6967:17:133", - "nodes": [], - "constant": false, - "functionSelector": "d6d8428d", - "mutability": "mutable", - "name": "allo", - "nameLocation": "6980:4:133", - "scope": 83082, - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_FAllo_$81222", - "typeString": "contract FAllo" - }, - "typeName": { - "id": 81544, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 81543, - "name": "FAllo", - "nameLocations": [ - "6967:5:133" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 81222, - "src": "6967:5:133" - }, - "referencedDeclaration": 81222, - "src": "6967:5:133", - "typeDescriptions": { - "typeIdentifier": "t_contract$_FAllo_$81222", - "typeString": "contract FAllo" - } - }, - "visibility": "public" - }, - { - "id": 81547, - "nodeType": "VariableDeclaration", - "src": "7048:27:133", - "nodes": [], - "constant": false, - "functionSelector": "c6d572ae", - "mutability": "mutable", - "name": "communityName", - "nameLocation": "7062:13:133", - "scope": 83082, - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string" - }, - "typeName": { - "id": 81546, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "7048:6:133", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "public" - }, - { - "id": 81549, - "nodeType": "VariableDeclaration", - "src": "7081:30:133", - "nodes": [], - "constant": false, - "functionSelector": "b64e39af", - "mutability": "mutable", - "name": "covenantIpfsHash", - "nameLocation": "7095:16:133", - "scope": 83082, - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string" - }, - "typeName": { - "id": 81548, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "7081:6:133", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "public" - }, - { - "id": 81553, - "nodeType": "VariableDeclaration", - "src": "7175:68:133", - "nodes": [], - "constant": false, - "functionSelector": "3a871fe1", - "mutability": "mutable", - "name": "enabledStrategies", - "nameLocation": "7226:17:133", - "scope": 83082, - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - }, - "typeName": { - "id": 81552, - "keyName": "strategy", - "keyNameLocation": "7191:8:133", - "keyType": { - "id": 81550, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7183:7:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "7175:43:133", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - }, - "valueName": "isEnabled", - "valueNameLocation": "7208:9:133", - "valueType": { - "id": 81551, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "7203:4:133", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - }, - "visibility": "public" - }, - { - "id": 81559, - "nodeType": "VariableDeclaration", - "src": "7249:98:133", - "nodes": [], - "constant": false, - "functionSelector": "65e3864c", - "mutability": "mutable", - "name": "memberPowerInStrategy", - "nameLocation": "7326:21:133", - "scope": 83082, - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - }, - "typeName": { - "id": 81558, - "keyName": "strategy", - "keyNameLocation": "7265:8:133", - "keyType": { - "id": 81554, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7257:7:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "7249:69:133", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - }, - "valueName": "", - "valueNameLocation": "-1:-1:-1", - "valueType": { - "id": 81557, - "keyName": "member", - "keyNameLocation": "7293:6:133", - "keyType": { - "id": 81555, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7285:7:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "7277:40:133", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueName": "power", - "valueNameLocation": "7311:5:133", - "valueType": { - "id": 81556, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7303:7:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - } - }, - "visibility": "public" - }, - { - "id": 81564, - "nodeType": "VariableDeclaration", - "src": "7354:60:133", - "nodes": [], - "constant": false, - "functionSelector": "88cfe684", - "mutability": "mutable", - "name": "addressToMemberInfo", - "nameLocation": "7395:19:133", - "scope": 83082, - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Member_$81482_storage_$", - "typeString": "mapping(address => struct RegistryCommunity.Member)" - }, - "typeName": { - "id": 81563, - "keyName": "member", - "keyNameLocation": "7370:6:133", - "keyType": { - "id": 81560, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7362:7:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "7354:33:133", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Member_$81482_storage_$", - "typeString": "mapping(address => struct RegistryCommunity.Member)" - }, - "valueName": "", - "valueNameLocation": "-1:-1:-1", - "valueType": { - "id": 81562, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 81561, - "name": "Member", - "nameLocations": [ - "7380:6:133" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 81482, - "src": "7380:6:133" - }, - "referencedDeclaration": 81482, - "src": "7380:6:133", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Member_$81482_storage_ptr", - "typeString": "struct RegistryCommunity.Member" - } - } - }, - "visibility": "public" - }, - { - "id": 81569, - "nodeType": "VariableDeclaration", - "src": "7420:82:133", - "nodes": [], - "constant": false, - "functionSelector": "2b38c69c", - "mutability": "mutable", - "name": "strategiesByMember", - "nameLocation": "7484:18:133", - "scope": 83082, - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_address_$dyn_storage_$", - "typeString": "mapping(address => address[])" - }, - "typeName": { - "id": 81568, - "keyName": "member", - "keyNameLocation": "7436:6:133", - "keyType": { - "id": 81565, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7428:7:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "7420:56:133", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_address_$dyn_storage_$", - "typeString": "mapping(address => address[])" - }, - "valueName": "strategiesAddresses", - "valueNameLocation": "7456:19:133", - "valueType": { - "baseType": { - "id": 81566, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7446:7:133", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 81567, - "nodeType": "ArrayTypeName", - "src": "7446:9:133", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - } - }, - "visibility": "public" - }, - { - "id": 81575, - "nodeType": "VariableDeclaration", - "src": "7508:107:133", - "nodes": [], - "constant": false, - "functionSelector": "477a5cc0", - "mutability": "mutable", - "name": "memberActivatedInStrategies", - "nameLocation": "7588:27:133", - "scope": 83082, - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$", - "typeString": "mapping(address => mapping(address => bool))" - }, - "typeName": { - "id": 81574, - "keyName": "member", - "keyNameLocation": "7524:6:133", - "keyType": { - "id": 81570, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7516:7:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "7508:72:133", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$", - "typeString": "mapping(address => mapping(address => bool))" - }, - "valueName": "", - "valueNameLocation": "-1:-1:-1", - "valueType": { - "id": 81573, - "keyName": "strategy", - "keyNameLocation": "7550:8:133", - "keyType": { - "id": 81571, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7542:7:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "7534:45:133", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - }, - "valueName": "isActivated", - "valueNameLocation": "7567:11:133", - "valueType": { - "id": 81572, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "7562:4:133", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - } - }, - "visibility": "public" - }, - { - "id": 81578, - "nodeType": "VariableDeclaration", - "src": "7622:24:133", - "nodes": [], - "constant": false, - "mutability": "mutable", - "name": "initialMembers", - "nameLocation": "7632:14:133", - "scope": 83082, - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 81576, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7622:7:133", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 81577, - "nodeType": "ArrayTypeName", - "src": "7622:9:133", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "visibility": "internal" - }, - { - "id": 81583, - "nodeType": "VariableDeclaration", - "src": "7653:49:133", - "nodes": [], - "constant": true, - "functionSelector": "d7050f07", - "mutability": "constant", - "name": "PRECISION_SCALE", - "nameLocation": "7677:15:133", - "scope": 83082, - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 81579, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7653:7:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "commonType": { - "typeIdentifier": "t_rational_10000_by_1", - "typeString": "int_const 10000" - }, - "id": 81582, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "hexValue": "3130", - "id": 81580, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7695:2:133", - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "hexValue": "34", - "id": 81581, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7701:1:133", - "typeDescriptions": { - "typeIdentifier": "t_rational_4_by_1", - "typeString": "int_const 4" - }, - "value": "4" - }, - "src": "7695:7:133", - "typeDescriptions": { - "typeIdentifier": "t_rational_10000_by_1", - "typeString": "int_const 10000" - } - }, - "visibility": "public" - }, - { - "id": 81588, - "nodeType": "VariableDeclaration", - "src": "7708:54:133", - "nodes": [], - "constant": true, - "functionSelector": "bc063e1a", - "mutability": "constant", - "name": "MAX_FEE", - "nameLocation": "7732:7:133", - "scope": 83082, - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 81584, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7708:7:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 81587, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "hexValue": "3130", - "id": 81585, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7742:2:133", - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "id": 81586, - "name": "PRECISION_SCALE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81583, - "src": "7747:15:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7742:20:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "public" - }, - { - "id": 81597, - "nodeType": "FunctionDefinition", - "src": "7769:145:133", - "nodes": [], - "body": { - "id": 81596, - "nodeType": "Block", - "src": "7783:131:133", - "nodes": [], - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 81592, - "name": "COUNCIL_MEMBER_CHANGE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81244, - "src": "7865:21:133", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "id": 81593, - "name": "DEFAULT_ADMIN_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 55020, - "src": "7888:18:133", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 81591, - "name": "_setRoleAdmin", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 55244, - "src": "7851:13:133", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$returns$__$", - "typeString": "function (bytes32,bytes32)" - } - }, - "id": 81594, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "7851:56:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 81595, - "nodeType": "ExpressionStatement", - "src": "7851:56:133" - } - ] - }, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "nameLocation": "-1:-1:-1", - "parameters": { - "id": 81589, - "nodeType": "ParameterList", - "parameters": [], - "src": "7780:2:133" - }, - "returnParameters": { - "id": 81590, - "nodeType": "ParameterList", - "parameters": [], - "src": "7783:0:133" - }, - "scope": 83082, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "id": 81820, - "nodeType": "FunctionDefinition", - "src": "7920:1945:133", - "nodes": [], - "body": { - "id": 81819, - "nodeType": "Block", - "src": "7997:1868:133", - "nodes": [], - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "expression": { - "id": 81606, - "name": "params", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81600, - "src": "8034:6:133", - "typeDescriptions": { - "typeIdentifier": "t_struct$_InitializeParams_$81515_memory_ptr", - "typeString": "struct RegistryCommunity.InitializeParams memory" - } - }, - "id": 81607, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "8041:12:133", - "memberName": "_gardenToken", - "nodeType": "MemberAccess", - "referencedDeclaration": 81491, - "src": "8034:19:133", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$57069", - "typeString": "contract IERC20" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_IERC20_$57069", - "typeString": "contract IERC20" - } - ], - "id": 81605, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "8026:7:133", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 81604, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8026:7:133", - "typeDescriptions": {} - } - }, - "id": 81608, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "8026:28:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 81603, - "name": "_revertZeroAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82526, - "src": "8007:18:133", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_address_$returns$__$", - "typeString": "function (address) pure" - } - }, - "id": 81609, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "8007:48:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 81610, - "nodeType": "ExpressionStatement", - "src": "8007:48:133" - }, - { - "expression": { - "arguments": [ - { - "expression": { - "id": 81612, - "name": "params", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81600, - "src": "8084:6:133", - "typeDescriptions": { - "typeIdentifier": "t_struct$_InitializeParams_$81515_memory_ptr", - "typeString": "struct RegistryCommunity.InitializeParams memory" - } - }, - "id": 81613, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "8091:12:133", - "memberName": "_councilSafe", - "nodeType": "MemberAccess", - "referencedDeclaration": 81506, - "src": "8084:19:133", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 81611, - "name": "_revertZeroAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82526, - "src": "8065:18:133", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_address_$returns$__$", - "typeString": "function (address) pure" - } - }, - "id": 81614, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "8065:39:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 81615, - "nodeType": "ExpressionStatement", - "src": "8065:39:133" - }, - { - "expression": { - "arguments": [ - { - "expression": { - "id": 81617, - "name": "params", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81600, - "src": "8133:6:133", - "typeDescriptions": { - "typeIdentifier": "t_struct$_InitializeParams_$81515_memory_ptr", - "typeString": "struct RegistryCommunity.InitializeParams memory" - } - }, - "id": 81618, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "8140:5:133", - "memberName": "_allo", - "nodeType": "MemberAccess", - "referencedDeclaration": 81488, - "src": "8133:12:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 81616, - "name": "_revertZeroAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82526, - "src": "8114:18:133", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_address_$returns$__$", - "typeString": "function (address) pure" - } - }, - "id": 81619, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "8114:32:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 81620, - "nodeType": "ExpressionStatement", - "src": "8114:32:133" - }, - { - "expression": { - "arguments": [ - { - "expression": { - "id": 81622, - "name": "params", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81600, - "src": "8175:6:133", - "typeDescriptions": { - "typeIdentifier": "t_struct$_InitializeParams_$81515_memory_ptr", - "typeString": "struct RegistryCommunity.InitializeParams memory" - } - }, - "id": 81623, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "8182:16:133", - "memberName": "_registryFactory", - "nodeType": "MemberAccess", - "referencedDeclaration": 81499, - "src": "8175:23:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 81621, - "name": "_revertZeroAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82526, - "src": "8156:18:133", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_address_$returns$__$", - "typeString": "function (address) pure" - } - }, - "id": 81624, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "8156:43:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 81625, - "nodeType": "ExpressionStatement", - "src": "8156:43:133" - }, - { - "expression": { - "arguments": [ - { - "expression": { - "id": 81627, - "name": "params", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81600, - "src": "8228:6:133", - "typeDescriptions": { - "typeIdentifier": "t_struct$_InitializeParams_$81515_memory_ptr", - "typeString": "struct RegistryCommunity.InitializeParams memory" - } - }, - "id": 81628, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "8235:17:133", - "memberName": "_strategyTemplate", - "nodeType": "MemberAccess", - "referencedDeclaration": 81514, - "src": "8228:24:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 81626, - "name": "_revertZeroAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82526, - "src": "8209:18:133", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_address_$returns$__$", - "typeString": "function (address) pure" - } - }, - "id": 81629, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "8209:44:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 81630, - "nodeType": "ExpressionStatement", - "src": "8209:44:133" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 81634, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 81631, - "name": "params", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81600, - "src": "8268:6:133", - "typeDescriptions": { - "typeIdentifier": "t_struct$_InitializeParams_$81515_memory_ptr", - "typeString": "struct RegistryCommunity.InitializeParams memory" - } - }, - "id": 81632, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "8275:13:133", - "memberName": "_communityFee", - "nodeType": "MemberAccess", - "referencedDeclaration": 81495, - "src": "8268:20:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "hexValue": "30", - "id": 81633, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8292:1:133", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "8268:25:133", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 81641, - "nodeType": "IfStatement", - "src": "8264:95:133", - "trueBody": { - "id": 81640, - "nodeType": "Block", - "src": "8295:64:133", - "statements": [ - { - "expression": { - "arguments": [ - { - "expression": { - "id": 81636, - "name": "params", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81600, - "src": "8328:6:133", - "typeDescriptions": { - "typeIdentifier": "t_struct$_InitializeParams_$81515_memory_ptr", - "typeString": "struct RegistryCommunity.InitializeParams memory" - } - }, - "id": 81637, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "8335:12:133", - "memberName": "_feeReceiver", - "nodeType": "MemberAccess", - "referencedDeclaration": 81501, - "src": "8328:19:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 81635, - "name": "_revertZeroAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82526, - "src": "8309:18:133", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_address_$returns$__$", - "typeString": "function (address) pure" - } - }, - "id": 81638, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "8309:39:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 81639, - "nodeType": "ExpressionStatement", - "src": "8309:39:133" - } - ] - } - }, - { - "expression": { - "id": 81647, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 81642, - "name": "allo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81545, - "src": "8368:4:133", - "typeDescriptions": { - "typeIdentifier": "t_contract$_FAllo_$81222", - "typeString": "contract FAllo" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "expression": { - "id": 81644, - "name": "params", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81600, - "src": "8381:6:133", - "typeDescriptions": { - "typeIdentifier": "t_struct$_InitializeParams_$81515_memory_ptr", - "typeString": "struct RegistryCommunity.InitializeParams memory" - } - }, - "id": 81645, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "8388:5:133", - "memberName": "_allo", - "nodeType": "MemberAccess", - "referencedDeclaration": 81488, - "src": "8381:12:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 81643, - "name": "FAllo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81222, - "src": "8375:5:133", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_FAllo_$81222_$", - "typeString": "type(contract FAllo)" - } - }, - "id": 81646, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "8375:19:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_FAllo_$81222", - "typeString": "contract FAllo" - } - }, - "src": "8368:26:133", - "typeDescriptions": { - "typeIdentifier": "t_contract$_FAllo_$81222", - "typeString": "contract FAllo" - } - }, - "id": 81648, - "nodeType": "ExpressionStatement", - "src": "8368:26:133" - }, - { - "expression": { - "id": 81652, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 81649, - "name": "gardenToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81539, - "src": "8404:11:133", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$57069", - "typeString": "contract IERC20" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "expression": { - "id": 81650, - "name": "params", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81600, - "src": "8418:6:133", - "typeDescriptions": { - "typeIdentifier": "t_struct$_InitializeParams_$81515_memory_ptr", - "typeString": "struct RegistryCommunity.InitializeParams memory" - } - }, - "id": 81651, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "8425:12:133", - "memberName": "_gardenToken", - "nodeType": "MemberAccess", - "referencedDeclaration": 81491, - "src": "8418:19:133", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$57069", - "typeString": "contract IERC20" - } - }, - "src": "8404:33:133", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$57069", - "typeString": "contract IERC20" - } - }, - "id": 81653, - "nodeType": "ExpressionStatement", - "src": "8404:33:133" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 81657, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 81654, - "name": "params", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81600, - "src": "8451:6:133", - "typeDescriptions": { - "typeIdentifier": "t_struct$_InitializeParams_$81515_memory_ptr", - "typeString": "struct RegistryCommunity.InitializeParams memory" - } - }, - "id": 81655, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "8458:20:133", - "memberName": "_registerStakeAmount", - "nodeType": "MemberAccess", - "referencedDeclaration": 81493, - "src": "8451:27:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "hexValue": "30", - "id": 81656, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8482:1:133", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "8451:32:133", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 81662, - "nodeType": "IfStatement", - "src": "8447:89:133", - "trueBody": { - "id": 81661, - "nodeType": "Block", - "src": "8485:51:133", - "statements": [ - { - "errorCall": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 81658, - "name": "ValueCannotBeZero", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81461, - "src": "8506:17:133", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 81659, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "8506:19:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 81660, - "nodeType": "RevertStatement", - "src": "8499:26:133" - } - ] - } - }, - { - "expression": { - "id": 81666, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 81663, - "name": "registerStakeAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81519, - "src": "8545:19:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "expression": { - "id": 81664, - "name": "params", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81600, - "src": "8567:6:133", - "typeDescriptions": { - "typeIdentifier": "t_struct$_InitializeParams_$81515_memory_ptr", - "typeString": "struct RegistryCommunity.InitializeParams memory" - } - }, - "id": 81665, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "8574:20:133", - "memberName": "_registerStakeAmount", - "nodeType": "MemberAccess", - "referencedDeclaration": 81493, - "src": "8567:27:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8545:49:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 81667, - "nodeType": "ExpressionStatement", - "src": "8545:49:133" - }, - { - "expression": { - "id": 81671, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 81668, - "name": "communityFee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81521, - "src": "8604:12:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "expression": { - "id": 81669, - "name": "params", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81600, - "src": "8619:6:133", - "typeDescriptions": { - "typeIdentifier": "t_struct$_InitializeParams_$81515_memory_ptr", - "typeString": "struct RegistryCommunity.InitializeParams memory" - } - }, - "id": 81670, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "8626:13:133", - "memberName": "_communityFee", - "nodeType": "MemberAccess", - "referencedDeclaration": 81495, - "src": "8619:20:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8604:35:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 81672, - "nodeType": "ExpressionStatement", - "src": "8604:35:133" - }, - { - "expression": { - "id": 81676, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 81673, - "name": "isKickEnabled", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81517, - "src": "8649:13:133", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "expression": { - "id": 81674, - "name": "params", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81600, - "src": "8665:6:133", - "typeDescriptions": { - "typeIdentifier": "t_struct$_InitializeParams_$81515_memory_ptr", - "typeString": "struct RegistryCommunity.InitializeParams memory" - } - }, - "id": 81675, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "8672:14:133", - "memberName": "_isKickEnabled", - "nodeType": "MemberAccess", - "referencedDeclaration": 81510, - "src": "8665:21:133", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "8649:37:133", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 81677, - "nodeType": "ExpressionStatement", - "src": "8649:37:133" - }, - { - "expression": { - "id": 81681, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 81678, - "name": "communityName", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81547, - "src": "8696:13:133", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "expression": { - "id": 81679, - "name": "params", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81600, - "src": "8712:6:133", - "typeDescriptions": { - "typeIdentifier": "t_struct$_InitializeParams_$81515_memory_ptr", - "typeString": "struct RegistryCommunity.InitializeParams memory" - } - }, - "id": 81680, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "8719:14:133", - "memberName": "_communityName", - "nodeType": "MemberAccess", - "referencedDeclaration": 81508, - "src": "8712:21:133", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "src": "8696:37:133", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "id": 81682, - "nodeType": "ExpressionStatement", - "src": "8696:37:133" - }, - { - "expression": { - "id": 81686, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 81683, - "name": "covenantIpfsHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81549, - "src": "8743:16:133", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "expression": { - "id": 81684, - "name": "params", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81600, - "src": "8762:6:133", - "typeDescriptions": { - "typeIdentifier": "t_struct$_InitializeParams_$81515_memory_ptr", - "typeString": "struct RegistryCommunity.InitializeParams memory" - } - }, - "id": 81685, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "8769:16:133", - "memberName": "covenantIpfsHash", - "nodeType": "MemberAccess", - "referencedDeclaration": 81512, - "src": "8762:23:133", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "src": "8743:42:133", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "id": 81687, - "nodeType": "ExpressionStatement", - "src": "8743:42:133" - }, - { - "expression": { - "id": 81691, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 81688, - "name": "registryFactory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81527, - "src": "8795:15:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "expression": { - "id": 81689, - "name": "params", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81600, - "src": "8813:6:133", - "typeDescriptions": { - "typeIdentifier": "t_struct$_InitializeParams_$81515_memory_ptr", - "typeString": "struct RegistryCommunity.InitializeParams memory" - } - }, - "id": 81690, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "8820:16:133", - "memberName": "_registryFactory", - "nodeType": "MemberAccess", - "referencedDeclaration": 81499, - "src": "8813:23:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "8795:41:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 81692, - "nodeType": "ExpressionStatement", - "src": "8795:41:133" - }, - { - "expression": { - "id": 81696, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 81693, - "name": "feeReceiver", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81525, - "src": "8846:11:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "expression": { - "id": 81694, - "name": "params", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81600, - "src": "8860:6:133", - "typeDescriptions": { - "typeIdentifier": "t_struct$_InitializeParams_$81515_memory_ptr", - "typeString": "struct RegistryCommunity.InitializeParams memory" - } - }, - "id": 81695, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "8867:12:133", - "memberName": "_feeReceiver", - "nodeType": "MemberAccess", - "referencedDeclaration": 81501, - "src": "8860:19:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "8846:33:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 81697, - "nodeType": "ExpressionStatement", - "src": "8846:33:133" - }, - { - "expression": { - "id": 81703, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 81698, - "name": "councilSafe", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81542, - "src": "8889:11:133", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ISafe_$85665", - "typeString": "contract ISafe" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "expression": { - "id": 81700, - "name": "params", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81600, - "src": "8909:6:133", - "typeDescriptions": { - "typeIdentifier": "t_struct$_InitializeParams_$81515_memory_ptr", - "typeString": "struct RegistryCommunity.InitializeParams memory" - } - }, - "id": 81701, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "8916:12:133", - "memberName": "_councilSafe", - "nodeType": "MemberAccess", - "referencedDeclaration": 81506, - "src": "8909:19:133", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 81699, - "name": "ISafe", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 85665, - "src": "8903:5:133", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ISafe_$85665_$", - "typeString": "type(contract ISafe)" - } - }, - "id": 81702, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "8903:26:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_ISafe_$85665", - "typeString": "contract ISafe" - } - }, - "src": "8889:40:133", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ISafe_$85665", - "typeString": "contract ISafe" - } - }, - "id": 81704, - "nodeType": "ExpressionStatement", - "src": "8889:40:133" - }, - { - "expression": { - "id": 81708, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 81705, - "name": "strategyTemplate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81529, - "src": "8939:16:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "expression": { - "id": 81706, - "name": "params", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81600, - "src": "8958:6:133", - "typeDescriptions": { - "typeIdentifier": "t_struct$_InitializeParams_$81515_memory_ptr", - "typeString": "struct RegistryCommunity.InitializeParams memory" - } - }, - "id": 81707, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "8965:17:133", - "memberName": "_strategyTemplate", - "nodeType": "MemberAccess", - "referencedDeclaration": 81514, - "src": "8958:24:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "8939:43:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 81709, - "nodeType": "ExpressionStatement", - "src": "8939:43:133" - }, - { - "expression": { - "arguments": [ - { - "id": 81711, - "name": "COUNCIL_MEMBER_CHANGE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81244, - "src": "9004:21:133", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "expression": { - "id": 81712, - "name": "params", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81600, - "src": "9027:6:133", - "typeDescriptions": { - "typeIdentifier": "t_struct$_InitializeParams_$81515_memory_ptr", - "typeString": "struct RegistryCommunity.InitializeParams memory" - } - }, - "id": 81713, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "9034:12:133", - "memberName": "_councilSafe", - "nodeType": "MemberAccess", - "referencedDeclaration": 81506, - "src": "9027:19:133", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 81710, - "name": "_grantRole", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 55276, - "src": "8993:10:133", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (bytes32,address)" - } - }, - "id": 81714, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "8993:54:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 81715, - "nodeType": "ExpressionStatement", - "src": "8993:54:133" - }, - { - "expression": { - "id": 81722, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 81716, - "name": "registry", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81536, - "src": "9058:8:133", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IRegistry_$2802", - "typeString": "contract IRegistry" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "id": 81718, - "name": "allo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81545, - "src": "9079:4:133", - "typeDescriptions": { - "typeIdentifier": "t_contract$_FAllo_$81222", - "typeString": "contract FAllo" - } - }, - "id": 81719, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "9084:11:133", - "memberName": "getRegistry", - "nodeType": "MemberAccess", - "referencedDeclaration": 81213, - "src": "9079:16:133", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", - "typeString": "function () view external returns (address)" - } - }, - "id": 81720, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "9079:18:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 81717, - "name": "IRegistry", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2802, - "src": "9069:9:133", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IRegistry_$2802_$", - "typeString": "type(contract IRegistry)" - } - }, - "id": 81721, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "9069:29:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IRegistry_$2802", - "typeString": "contract IRegistry" - } - }, - "src": "9058:40:133", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IRegistry_$2802", - "typeString": "contract IRegistry" - } - }, - "id": 81723, - "nodeType": "ExpressionStatement", - "src": "9058:40:133" - }, - { - "assignments": [ - 81728 - ], - "declarations": [ - { - "constant": false, - "id": 81728, - "mutability": "mutable", - "name": "owners", - "nameLocation": "9126:6:133", - "nodeType": "VariableDeclaration", - "scope": 81819, - "src": "9109:23:133", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 81726, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9109:7:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 81727, - "nodeType": "ArrayTypeName", - "src": "9109:9:133", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "visibility": "internal" - } - ], - "id": 81732, - "initialValue": { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "id": 81729, - "name": "councilSafe", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81542, - "src": "9135:11:133", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ISafe_$85665", - "typeString": "contract ISafe" - } - }, - "id": 81730, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "9147:9:133", - "memberName": "getOwners", - "nodeType": "MemberAccess", - "referencedDeclaration": 85664, - "src": "9135:21:133", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_array$_t_address_$dyn_memory_ptr_$", - "typeString": "function () view external returns (address[] memory)" - } - }, - "id": 81731, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "9135:23:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "9109:49:133" - }, - { - "assignments": [ - 81737 - ], - "declarations": [ - { - "constant": false, - "id": 81737, - "mutability": "mutable", - "name": "pool_initialMembers", - "nameLocation": "9185:19:133", - "nodeType": "VariableDeclaration", - "scope": 81819, - "src": "9168:36:133", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 81735, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9168:7:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 81736, - "nodeType": "ArrayTypeName", - "src": "9168:9:133", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "visibility": "internal" - } - ], - "id": 81746, - "initialValue": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 81744, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 81741, - "name": "owners", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81728, - "src": "9221:6:133", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 81742, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "9228:6:133", - "memberName": "length", - "nodeType": "MemberAccess", - "src": "9221:13:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "hexValue": "32", - "id": 81743, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9237:1:133", - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "src": "9221:17:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 81740, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "9207:13:133", - "typeDescriptions": { - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_address_$dyn_memory_ptr_$", - "typeString": "function (uint256) pure returns (address[] memory)" - }, - "typeName": { - "baseType": { - "id": 81738, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9211:7:133", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 81739, - "nodeType": "ArrayTypeName", - "src": "9211:9:133", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - } - }, - "id": 81745, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "9207:32:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "9168:71:133" - }, - { - "body": { - "id": 81766, - "nodeType": "Block", - "src": "9294:59:133", - "statements": [ - { - "expression": { - "id": 81764, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "id": 81758, - "name": "pool_initialMembers", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81737, - "src": "9308:19:133", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 81760, - "indexExpression": { - "id": 81759, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81748, - "src": "9328:1:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "9308:22:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "baseExpression": { - "id": 81761, - "name": "owners", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81728, - "src": "9333:6:133", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 81763, - "indexExpression": { - "id": 81762, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81748, - "src": "9340:1:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9333:9:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "9308:34:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 81765, - "nodeType": "ExpressionStatement", - "src": "9308:34:133" - } - ] - }, - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 81754, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 81751, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81748, - "src": "9270:1:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "expression": { - "id": 81752, - "name": "owners", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81728, - "src": "9274:6:133", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 81753, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "9281:6:133", - "memberName": "length", - "nodeType": "MemberAccess", - "src": "9274:13:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "9270:17:133", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 81767, - "initializationExpression": { - "assignments": [ - 81748 - ], - "declarations": [ - { - "constant": false, - "id": 81748, - "mutability": "mutable", - "name": "i", - "nameLocation": "9263:1:133", - "nodeType": "VariableDeclaration", - "scope": 81767, - "src": "9255:9:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 81747, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9255:7:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 81750, - "initialValue": { - "hexValue": "30", - "id": 81749, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9267:1:133", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "9255:13:133" - }, - "loopExpression": { - "expression": { - "id": 81756, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "9289:3:133", - "subExpression": { - "id": 81755, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81748, - "src": "9289:1:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 81757, - "nodeType": "ExpressionStatement", - "src": "9289:3:133" - }, - "nodeType": "ForStatement", - "src": "9250:103:133" - }, - { - "expression": { - "id": 81778, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "id": 81768, - "name": "pool_initialMembers", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81737, - "src": "9363:19:133", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 81773, - "indexExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 81772, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 81769, - "name": "pool_initialMembers", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81737, - "src": "9383:19:133", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 81770, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "9403:6:133", - "memberName": "length", - "nodeType": "MemberAccess", - "src": "9383:26:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "hexValue": "31", - "id": 81771, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9412:1:133", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "9383:30:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "9363:51:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "id": 81776, - "name": "councilSafe", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81542, - "src": "9425:11:133", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ISafe_$85665", - "typeString": "contract ISafe" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_ISafe_$85665", - "typeString": "contract ISafe" - } - ], - "id": 81775, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "9417:7:133", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 81774, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9417:7:133", - "typeDescriptions": {} - } - }, - "id": 81777, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "9417:20:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "9363:74:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 81779, - "nodeType": "ExpressionStatement", - "src": "9363:74:133" - }, - { - "expression": { - "id": 81790, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "id": 81780, - "name": "pool_initialMembers", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81737, - "src": "9447:19:133", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 81785, - "indexExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 81784, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 81781, - "name": "pool_initialMembers", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81737, - "src": "9467:19:133", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 81782, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "9487:6:133", - "memberName": "length", - "nodeType": "MemberAccess", - "src": "9467:26:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "hexValue": "32", - "id": 81783, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9496:1:133", - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "src": "9467:30:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "9447:51:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "id": 81788, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "9509:4:133", - "typeDescriptions": { - "typeIdentifier": "t_contract$_RegistryCommunity_$83082", - "typeString": "contract RegistryCommunity" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_RegistryCommunity_$83082", - "typeString": "contract RegistryCommunity" - } - ], - "id": 81787, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "9501:7:133", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 81786, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9501:7:133", - "typeDescriptions": {} - } - }, - "id": 81789, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "9501:13:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "9447:67:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 81791, - "nodeType": "ExpressionStatement", - "src": "9447:67:133" - }, - { - "expression": { - "id": 81806, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 81792, - "name": "profileId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81523, - "src": "9602:9:133", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "expression": { - "id": 81795, - "name": "params", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81600, - "src": "9649:6:133", - "typeDescriptions": { - "typeIdentifier": "t_struct$_InitializeParams_$81515_memory_ptr", - "typeString": "struct RegistryCommunity.InitializeParams memory" - } - }, - "id": 81796, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "9656:6:133", - "memberName": "_nonce", - "nodeType": "MemberAccess", - "referencedDeclaration": 81497, - "src": "9649:13:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 81797, - "name": "communityName", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81547, - "src": "9664:13:133", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - { - "expression": { - "id": 81798, - "name": "params", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81600, - "src": "9679:6:133", - "typeDescriptions": { - "typeIdentifier": "t_struct$_InitializeParams_$81515_memory_ptr", - "typeString": "struct RegistryCommunity.InitializeParams memory" - } - }, - "id": 81799, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "9686:9:133", - "memberName": "_metadata", - "nodeType": "MemberAccess", - "referencedDeclaration": 81504, - "src": "9679:16:133", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Metadata_$3098_memory_ptr", - "typeString": "struct Metadata memory" - } - }, - { - "arguments": [ - { - "id": 81802, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "9705:4:133", - "typeDescriptions": { - "typeIdentifier": "t_contract$_RegistryCommunity_$83082", - "typeString": "contract RegistryCommunity" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_RegistryCommunity_$83082", - "typeString": "contract RegistryCommunity" - } - ], - "id": 81801, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "9697:7:133", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 81800, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9697:7:133", - "typeDescriptions": {} - } - }, - "id": 81803, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "9697:13:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 81804, - "name": "pool_initialMembers", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81737, - "src": "9712:19:133", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - }, - { - "typeIdentifier": "t_struct$_Metadata_$3098_memory_ptr", - "typeString": "struct Metadata memory" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - ], - "expression": { - "id": 81793, - "name": "registry", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81536, - "src": "9626:8:133", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IRegistry_$2802", - "typeString": "contract IRegistry" - } - }, - "id": 81794, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "9635:13:133", - "memberName": "createProfile", - "nodeType": "MemberAccess", - "referencedDeclaration": 2742, - "src": "9626:22:133", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$_t_string_memory_ptr_$_t_struct$_Metadata_$3098_memory_ptr_$_t_address_$_t_array$_t_address_$dyn_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (uint256,string memory,struct Metadata memory,address,address[] memory) external returns (bytes32)" - } - }, - "id": 81805, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "9626:106:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "src": "9602:130:133", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "id": 81807, - "nodeType": "ExpressionStatement", - "src": "9602:130:133" - }, - { - "expression": { - "id": 81810, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 81808, - "name": "initialMembers", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81578, - "src": "9743:14:133", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 81809, - "name": "pool_initialMembers", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81737, - "src": "9760:19:133", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "src": "9743:36:133", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 81811, - "nodeType": "ExpressionStatement", - "src": "9743:36:133" - }, - { - "eventCall": { - "arguments": [ - { - "id": 81813, - "name": "profileId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81523, - "src": "9815:9:133", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "id": 81814, - "name": "communityName", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81547, - "src": "9826:13:133", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - { - "expression": { - "id": 81815, - "name": "params", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81600, - "src": "9841:6:133", - "typeDescriptions": { - "typeIdentifier": "t_struct$_InitializeParams_$81515_memory_ptr", - "typeString": "struct RegistryCommunity.InitializeParams memory" - } - }, - "id": 81816, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "9848:9:133", - "memberName": "_metadata", - "nodeType": "MemberAccess", - "referencedDeclaration": 81504, - "src": "9841:16:133", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Metadata_$3098_memory_ptr", - "typeString": "struct Metadata memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - }, - { - "typeIdentifier": "t_struct$_Metadata_$3098_memory_ptr", - "typeString": "struct Metadata memory" - } - ], - "id": 81812, - "name": "RegistryInitialized", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81291, - "src": "9795:19:133", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_string_memory_ptr_$_t_struct$_Metadata_$3098_memory_ptr_$returns$__$", - "typeString": "function (bytes32,string memory,struct Metadata memory)" - } - }, - "id": 81817, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "9795:63:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 81818, - "nodeType": "EmitStatement", - "src": "9790:68:133" - } - ] - }, - "functionSelector": "96f0adec", - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "initialize", - "nameLocation": "7929:10:133", - "parameters": { - "id": 81601, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 81600, - "mutability": "mutable", - "name": "params", - "nameLocation": "7982:6:133", - "nodeType": "VariableDeclaration", - "scope": 81820, - "src": "7940:48:133", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_InitializeParams_$81515_memory_ptr", - "typeString": "struct RegistryCommunity.InitializeParams" - }, - "typeName": { - "id": 81599, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 81598, - "name": "RegistryCommunity.InitializeParams", - "nameLocations": [ - "7940:17:133", - "7958:16:133" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 81515, - "src": "7940:34:133" - }, - "referencedDeclaration": 81515, - "src": "7940:34:133", - "typeDescriptions": { - "typeIdentifier": "t_struct$_InitializeParams_$81515_storage_ptr", - "typeString": "struct RegistryCommunity.InitializeParams" - } - }, - "visibility": "internal" - } - ], - "src": "7939:50:133" - }, - "returnParameters": { - "id": 81602, - "nodeType": "ParameterList", - "parameters": [], - "src": "7997:0:133" - }, - "scope": 83082, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "id": 81852, - "nodeType": "FunctionDefinition", - "src": "9871:341:133", - "nodes": [], - "body": { - "id": 81851, - "nodeType": "Block", - "src": "10052:160:133", - "nodes": [], - "statements": [ - { - "assignments": [ - 81836 - ], - "declarations": [ - { - "constant": false, - "id": 81836, - "mutability": "mutable", - "name": "strategyClone", - "nameLocation": "10070:13:133", - "nodeType": "VariableDeclaration", - "scope": 81851, - "src": "10062:21:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 81835, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10062:7:133", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "id": 81843, - "initialValue": { - "arguments": [ - { - "id": 81839, - "name": "strategyTemplate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81529, - "src": "10104:16:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 81841, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "10122:12:133", - "subExpression": { - "id": 81840, - "name": "cloneNonce", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81531, - "src": "10122:10:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 81837, - "name": "Clone", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3002, - "src": "10086:5:133", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Clone_$3002_$", - "typeString": "type(library Clone)" - } - }, - "id": 81838, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "10092:11:133", - "memberName": "createClone", - "nodeType": "MemberAccess", - "referencedDeclaration": 3001, - "src": "10086:17:133", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_address_$", - "typeString": "function (address,uint256) returns (address)" - } - }, - "id": 81842, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "10086:49:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "10062:73:133" - }, - { - "expression": { - "arguments": [ - { - "id": 81845, - "name": "strategyClone", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81836, - "src": "10163:13:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 81846, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81822, - "src": "10178:6:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 81847, - "name": "_params", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81825, - "src": "10186:7:133", - "typeDescriptions": { - "typeIdentifier": "t_struct$_InitializeParams_$74806_memory_ptr", - "typeString": "struct StrategyStruct.InitializeParams memory" - } - }, - { - "id": 81848, - "name": "_metadata", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81828, - "src": "10195:9:133", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Metadata_$3098_memory_ptr", - "typeString": "struct Metadata memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_struct$_InitializeParams_$74806_memory_ptr", - "typeString": "struct StrategyStruct.InitializeParams memory" - }, - { - "typeIdentifier": "t_struct$_Metadata_$3098_memory_ptr", - "typeString": "struct Metadata memory" - } - ], - "id": 81844, - "name": "createPool", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 81852, - 81924 - ], - "referencedDeclaration": 81924, - "src": "10152:10:133", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_struct$_InitializeParams_$74806_memory_ptr_$_t_struct$_Metadata_$3098_memory_ptr_$returns$_t_uint256_$_t_address_$", - "typeString": "function (address,address,struct StrategyStruct.InitializeParams memory,struct Metadata memory) returns (uint256,address)" - } - }, - "id": 81849, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "10152:53:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_address_$", - "typeString": "tuple(uint256,address)" - } - }, - "functionReturnParameters": 81834, - "id": 81850, - "nodeType": "Return", - "src": "10145:60:133" - } - ] - }, - "functionSelector": "97991cfa", - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "createPool", - "nameLocation": "9880:10:133", - "parameters": { - "id": 81829, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 81822, - "mutability": "mutable", - "name": "_token", - "nameLocation": "9899:6:133", - "nodeType": "VariableDeclaration", - "scope": 81852, - "src": "9891:14:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 81821, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9891:7:133", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 81825, - "mutability": "mutable", - "name": "_params", - "nameLocation": "9946:7:133", - "nodeType": "VariableDeclaration", - "scope": 81852, - "src": "9907:46:133", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_InitializeParams_$74806_memory_ptr", - "typeString": "struct StrategyStruct.InitializeParams" - }, - "typeName": { - "id": 81824, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 81823, - "name": "StrategyStruct.InitializeParams", - "nameLocations": [ - "9907:14:133", - "9922:16:133" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 74806, - "src": "9907:31:133" - }, - "referencedDeclaration": 74806, - "src": "9907:31:133", - "typeDescriptions": { - "typeIdentifier": "t_struct$_InitializeParams_$74806_storage_ptr", - "typeString": "struct StrategyStruct.InitializeParams" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 81828, - "mutability": "mutable", - "name": "_metadata", - "nameLocation": "9971:9:133", - "nodeType": "VariableDeclaration", - "scope": 81852, - "src": "9955:25:133", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Metadata_$3098_memory_ptr", - "typeString": "struct Metadata" - }, - "typeName": { - "id": 81827, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 81826, - "name": "Metadata", - "nameLocations": [ - "9955:8:133" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 3098, - "src": "9955:8:133" - }, - "referencedDeclaration": 3098, - "src": "9955:8:133", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Metadata_$3098_storage_ptr", - "typeString": "struct Metadata" - } - }, - "visibility": "internal" - } - ], - "src": "9890:91:133" - }, - "returnParameters": { - "id": 81834, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 81831, - "mutability": "mutable", - "name": "poolId", - "nameLocation": "10022:6:133", - "nodeType": "VariableDeclaration", - "scope": 81852, - "src": "10014:14:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 81830, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10014:7:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 81833, - "mutability": "mutable", - "name": "strategy", - "nameLocation": "10038:8:133", - "nodeType": "VariableDeclaration", - "scope": 81852, - "src": "10030:16:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 81832, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10030:7:133", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "10013:34:133" - }, - "scope": 83082, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "id": 81924, - "nodeType": "FunctionDefinition", - "src": "10218:653:133", - "nodes": [], - "body": { - "id": 81923, - "nodeType": "Block", - "src": "10436:435:133", - "nodes": [], - "statements": [ - { - "assignments": [ - 81870 - ], - "declarations": [ - { - "constant": false, - "id": 81870, - "mutability": "mutable", - "name": "token", - "nameLocation": "10454:5:133", - "nodeType": "VariableDeclaration", - "scope": 81923, - "src": "10446:13:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 81869, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10446:7:133", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "id": 81872, - "initialValue": { - "id": 81871, - "name": "NATIVE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81239, - "src": "10462:6:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "10446:22:133" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 81878, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 81873, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81856, - "src": "10482:6:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "arguments": [ - { - "hexValue": "30", - "id": 81876, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10500:1:133", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 81875, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "10492:7:133", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 81874, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10492:7:133", - "typeDescriptions": {} - } - }, - "id": 81877, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "10492:10:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "10482:20:133", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 81884, - "nodeType": "IfStatement", - "src": "10478:65:133", - "trueBody": { - "id": 81883, - "nodeType": "Block", - "src": "10504:39:133", - "statements": [ - { - "expression": { - "id": 81881, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 81879, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81870, - "src": "10518:5:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 81880, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81856, - "src": "10526:6:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "10518:14:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 81882, - "nodeType": "ExpressionStatement", - "src": "10518:14:133" - } - ] - } - }, - { - "expression": { - "id": 81887, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 81885, - "name": "strategy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81867, - "src": "10552:8:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 81886, - "name": "_strategy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81854, - "src": "10563:9:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "10552:20:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 81888, - "nodeType": "ExpressionStatement", - "src": "10552:20:133" - }, - { - "assignments": [ - 81893 - ], - "declarations": [ - { - "constant": false, - "id": 81893, - "mutability": "mutable", - "name": "_pool_managers", - "nameLocation": "10600:14:133", - "nodeType": "VariableDeclaration", - "scope": 81923, - "src": "10583:31:133", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 81891, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10583:7:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 81892, - "nodeType": "ArrayTypeName", - "src": "10583:9:133", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "visibility": "internal" - } - ], - "id": 81895, - "initialValue": { - "id": 81894, - "name": "initialMembers", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81578, - "src": "10617:14:133", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "10583:48:133" - }, - { - "expression": { - "id": 81910, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 81896, - "name": "poolId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81865, - "src": "10642:6:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "id": 81899, - "name": "profileId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81523, - "src": "10698:9:133", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "id": 81900, - "name": "strategy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81867, - "src": "10709:8:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "arguments": [ - { - "id": 81903, - "name": "_params", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81859, - "src": "10730:7:133", - "typeDescriptions": { - "typeIdentifier": "t_struct$_InitializeParams_$74806_memory_ptr", - "typeString": "struct StrategyStruct.InitializeParams memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_InitializeParams_$74806_memory_ptr", - "typeString": "struct StrategyStruct.InitializeParams memory" - } - ], - "expression": { - "id": 81901, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "10719:3:133", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 81902, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "10723:6:133", - "memberName": "encode", - "nodeType": "MemberAccess", - "src": "10719:10:133", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 81904, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "10719:19:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "id": 81905, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81870, - "src": "10740:5:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "hexValue": "30", - "id": 81906, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10747:1:133", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - { - "id": 81907, - "name": "_metadata", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81862, - "src": "10750:9:133", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Metadata_$3098_memory_ptr", - "typeString": "struct Metadata memory" - } - }, - { - "id": 81908, - "name": "_pool_managers", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81893, - "src": "10761:14:133", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - { - "typeIdentifier": "t_struct$_Metadata_$3098_memory_ptr", - "typeString": "struct Metadata memory" - }, - { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - ], - "expression": { - "id": 81897, - "name": "allo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81545, - "src": "10651:4:133", - "typeDescriptions": { - "typeIdentifier": "t_contract$_FAllo_$81222", - "typeString": "contract FAllo" - } - }, - "id": 81898, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "10656:28:133", - "memberName": "createPoolWithCustomStrategy", - "nodeType": "MemberAccess", - "referencedDeclaration": 81208, - "src": "10651:33:133", - "typeDescriptions": { - "typeIdentifier": "t_function_external_payable$_t_bytes32_$_t_address_$_t_bytes_memory_ptr_$_t_address_$_t_uint256_$_t_struct$_Metadata_$3098_memory_ptr_$_t_array$_t_address_$dyn_memory_ptr_$returns$_t_uint256_$", - "typeString": "function (bytes32,address,bytes memory,address,uint256,struct Metadata memory,address[] memory) payable external returns (uint256)" - } - }, - "id": 81909, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "10651:134:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "10642:143:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 81911, - "nodeType": "ExpressionStatement", - "src": "10642:143:133" - }, - { - "eventCall": { - "arguments": [ - { - "id": 81913, - "name": "poolId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81865, - "src": "10813:6:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 81914, - "name": "strategy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81867, - "src": "10821:8:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "arguments": [ - { - "id": 81917, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "10839:4:133", - "typeDescriptions": { - "typeIdentifier": "t_contract$_RegistryCommunity_$83082", - "typeString": "contract RegistryCommunity" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_RegistryCommunity_$83082", - "typeString": "contract RegistryCommunity" - } - ], - "id": 81916, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "10831:7:133", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 81915, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10831:7:133", - "typeDescriptions": {} - } - }, - "id": 81918, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "10831:13:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 81919, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81856, - "src": "10846:6:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 81920, - "name": "_metadata", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81862, - "src": "10854:9:133", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Metadata_$3098_memory_ptr", - "typeString": "struct Metadata memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_struct$_Metadata_$3098_memory_ptr", - "typeString": "struct Metadata memory" - } - ], - "id": 81912, - "name": "PoolCreated", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81342, - "src": "10801:11:133", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_address_$_t_address_$_t_address_$_t_struct$_Metadata_$3098_memory_ptr_$returns$__$", - "typeString": "function (uint256,address,address,address,struct Metadata memory)" - } - }, - "id": 81921, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "10801:63:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 81922, - "nodeType": "EmitStatement", - "src": "10796:68:133" - } - ] - }, - "functionSelector": "ff6409ef", - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "createPool", - "nameLocation": "10227:10:133", - "parameters": { - "id": 81863, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 81854, - "mutability": "mutable", - "name": "_strategy", - "nameLocation": "10255:9:133", - "nodeType": "VariableDeclaration", - "scope": 81924, - "src": "10247:17:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 81853, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10247:7:133", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 81856, - "mutability": "mutable", - "name": "_token", - "nameLocation": "10282:6:133", - "nodeType": "VariableDeclaration", - "scope": 81924, - "src": "10274:14:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 81855, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10274:7:133", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 81859, - "mutability": "mutable", - "name": "_params", - "nameLocation": "10337:7:133", - "nodeType": "VariableDeclaration", - "scope": 81924, - "src": "10298:46:133", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_InitializeParams_$74806_memory_ptr", - "typeString": "struct StrategyStruct.InitializeParams" - }, - "typeName": { - "id": 81858, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 81857, - "name": "StrategyStruct.InitializeParams", - "nameLocations": [ - "10298:14:133", - "10313:16:133" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 74806, - "src": "10298:31:133" - }, - "referencedDeclaration": 74806, - "src": "10298:31:133", - "typeDescriptions": { - "typeIdentifier": "t_struct$_InitializeParams_$74806_storage_ptr", - "typeString": "struct StrategyStruct.InitializeParams" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 81862, - "mutability": "mutable", - "name": "_metadata", - "nameLocation": "10370:9:133", - "nodeType": "VariableDeclaration", - "scope": 81924, - "src": "10354:25:133", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Metadata_$3098_memory_ptr", - "typeString": "struct Metadata" - }, - "typeName": { - "id": 81861, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 81860, - "name": "Metadata", - "nameLocations": [ - "10354:8:133" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 3098, - "src": "10354:8:133" - }, - "referencedDeclaration": 3098, - "src": "10354:8:133", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Metadata_$3098_storage_ptr", - "typeString": "struct Metadata" - } - }, - "visibility": "internal" - } - ], - "src": "10237:148:133" - }, - "returnParameters": { - "id": 81868, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 81865, - "mutability": "mutable", - "name": "poolId", - "nameLocation": "10410:6:133", - "nodeType": "VariableDeclaration", - "scope": 81924, - "src": "10402:14:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 81864, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10402:7:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 81867, - "mutability": "mutable", - "name": "strategy", - "nameLocation": "10426:8:133", - "nodeType": "VariableDeclaration", - "scope": 81924, - "src": "10418:16:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 81866, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10418:7:133", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "10401:34:133" - }, - "scope": 83082, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "id": 82041, - "nodeType": "FunctionDefinition", - "src": "10877:1179:133", - "nodes": [], - "body": { - "id": 82040, - "nodeType": "Block", - "src": "10954:1102:133", - "nodes": [], - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 81932, - "name": "_member", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81926, - "src": "10990:7:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 81931, - "name": "onlyRegistryMemberAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81386, - "src": "10964:25:133", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$__$", - "typeString": "function (address) view" - } - }, - "id": 81933, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "10964:34:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 81934, - "nodeType": "ExpressionStatement", - "src": "10964:34:133" - }, - { - "expression": { - "arguments": [ - { - "id": 81936, - "name": "_strategy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81928, - "src": "11028:9:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 81935, - "name": "onlyStrategyEnabled", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81401, - "src": "11008:19:133", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$__$", - "typeString": "function (address) view" - } - }, - "id": 81937, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "11008:30:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 81938, - "nodeType": "ExpressionStatement", - "src": "11008:30:133" - }, - { - "expression": { - "arguments": [ - { - "id": 81940, - "name": "_strategy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81928, - "src": "11067:9:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 81939, - "name": "_revertZeroAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82526, - "src": "11048:18:133", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_address_$returns$__$", - "typeString": "function (address) pure" - } - }, - "id": 81941, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "11048:29:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 81942, - "nodeType": "ExpressionStatement", - "src": "11048:29:133" - }, - { - "condition": { - "baseExpression": { - "baseExpression": { - "id": 81943, - "name": "memberActivatedInStrategies", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81575, - "src": "11092:27:133", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$", - "typeString": "mapping(address => mapping(address => bool))" - } - }, - "id": 81945, - "indexExpression": { - "id": 81944, - "name": "_member", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81926, - "src": "11120:7:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "11092:36:133", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 81947, - "indexExpression": { - "id": 81946, - "name": "_strategy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81928, - "src": "11129:9:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "11092:47:133", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 81952, - "nodeType": "IfStatement", - "src": "11088:107:133", - "trueBody": { - "id": 81951, - "nodeType": "Block", - "src": "11141:54:133", - "statements": [ - { - "errorCall": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 81948, - "name": "UserAlreadyActivated", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81449, - "src": "11162:20:133", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 81949, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "11162:22:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 81950, - "nodeType": "RevertStatement", - "src": "11155:29:133" - } - ] - } - }, - { - "assignments": [ - 81955 - ], - "declarations": [ - { - "constant": false, - "id": 81955, - "mutability": "mutable", - "name": "member", - "nameLocation": "11219:6:133", - "nodeType": "VariableDeclaration", - "scope": 82040, - "src": "11205:20:133", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Member_$81482_memory_ptr", - "typeString": "struct RegistryCommunity.Member" - }, - "typeName": { - "id": 81954, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 81953, - "name": "Member", - "nameLocations": [ - "11205:6:133" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 81482, - "src": "11205:6:133" - }, - "referencedDeclaration": 81482, - "src": "11205:6:133", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Member_$81482_storage_ptr", - "typeString": "struct RegistryCommunity.Member" - } - }, - "visibility": "internal" - } - ], - "id": 81959, - "initialValue": { - "baseExpression": { - "id": 81956, - "name": "addressToMemberInfo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81564, - "src": "11228:19:133", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Member_$81482_storage_$", - "typeString": "mapping(address => struct RegistryCommunity.Member storage ref)" - } - }, - "id": 81958, - "indexExpression": { - "id": 81957, - "name": "_member", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81926, - "src": "11248:7:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "11228:28:133", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Member_$81482_storage", - "typeString": "struct RegistryCommunity.Member storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "11205:51:133" - }, - { - "assignments": [ - 81961 - ], - "declarations": [ - { - "constant": false, - "id": 81961, - "mutability": "mutable", - "name": "totalStakedAmount", - "nameLocation": "11275:17:133", - "nodeType": "VariableDeclaration", - "scope": 82040, - "src": "11267:25:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 81960, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11267:7:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 81964, - "initialValue": { - "expression": { - "id": 81962, - "name": "member", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81955, - "src": "11295:6:133", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Member_$81482_memory_ptr", - "typeString": "struct RegistryCommunity.Member memory" - } - }, - "id": 81963, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "11302:12:133", - "memberName": "stakedAmount", - "nodeType": "MemberAccess", - "referencedDeclaration": 81479, - "src": "11295:19:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "11267:47:133" - }, - { - "assignments": [ - 81966 - ], - "declarations": [ - { - "constant": false, - "id": 81966, - "mutability": "mutable", - "name": "pointsToIncrease", - "nameLocation": "11332:16:133", - "nodeType": "VariableDeclaration", - "scope": 82040, - "src": "11324:24:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 81965, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11324:7:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 81968, - "initialValue": { - "id": 81967, - "name": "registerStakeAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81519, - "src": "11351:19:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "11324:46:133" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_enum$_PointSystem_$74731", - "typeString": "enum StrategyStruct.PointSystem" - }, - "id": 81977, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "arguments": [ - { - "id": 81970, - "name": "_strategy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81928, - "src": "11400:9:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 81969, - "name": "IPointStrategy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74722, - "src": "11385:14:133", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IPointStrategy_$74722_$", - "typeString": "type(contract IPointStrategy)" - } - }, - "id": 81971, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "11385:25:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IPointStrategy_$74722", - "typeString": "contract IPointStrategy" - } - }, - "id": 81972, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "11411:14:133", - "memberName": "getPointSystem", - "nodeType": "MemberAccess", - "referencedDeclaration": 74721, - "src": "11385:40:133", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$__$returns$_t_enum$_PointSystem_$74731_$", - "typeString": "function () external returns (enum StrategyStruct.PointSystem)" - } - }, - "id": 81973, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "11385:42:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_enum$_PointSystem_$74731", - "typeString": "enum StrategyStruct.PointSystem" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "expression": { - "expression": { - "id": 81974, - "name": "StrategyStruct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74807, - "src": "11431:14:133", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_StrategyStruct_$74807_$", - "typeString": "type(library StrategyStruct)" - } - }, - "id": 81975, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "11446:11:133", - "memberName": "PointSystem", - "nodeType": "MemberAccess", - "referencedDeclaration": 74731, - "src": "11431:26:133", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_PointSystem_$74731_$", - "typeString": "type(enum StrategyStruct.PointSystem)" - } - }, - "id": 81976, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "11458:9:133", - "memberName": "Quadratic", - "nodeType": "MemberAccess", - "referencedDeclaration": 74730, - "src": "11431:36:133", - "typeDescriptions": { - "typeIdentifier": "t_enum$_PointSystem_$74731", - "typeString": "enum StrategyStruct.PointSystem" - } - }, - "src": "11385:82:133", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "condition": { - "commonType": { - "typeIdentifier": "t_enum$_PointSystem_$74731", - "typeString": "enum StrategyStruct.PointSystem" - }, - "id": 81997, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "arguments": [ - { - "id": 81990, - "name": "_strategy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81928, - "src": "11589:9:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 81989, - "name": "IPointStrategy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74722, - "src": "11574:14:133", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IPointStrategy_$74722_$", - "typeString": "type(contract IPointStrategy)" - } - }, - "id": 81991, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "11574:25:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IPointStrategy_$74722", - "typeString": "contract IPointStrategy" - } - }, - "id": 81992, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "11600:14:133", - "memberName": "getPointSystem", - "nodeType": "MemberAccess", - "referencedDeclaration": 74721, - "src": "11574:40:133", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$__$returns$_t_enum$_PointSystem_$74731_$", - "typeString": "function () external returns (enum StrategyStruct.PointSystem)" - } - }, - "id": 81993, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "11574:42:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_enum$_PointSystem_$74731", - "typeString": "enum StrategyStruct.PointSystem" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "expression": { - "expression": { - "id": 81994, - "name": "StrategyStruct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74807, - "src": "11620:14:133", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_StrategyStruct_$74807_$", - "typeString": "type(library StrategyStruct)" - } - }, - "id": 81995, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "11635:11:133", - "memberName": "PointSystem", - "nodeType": "MemberAccess", - "referencedDeclaration": 74731, - "src": "11620:26:133", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_PointSystem_$74731_$", - "typeString": "type(enum StrategyStruct.PointSystem)" - } - }, - "id": 81996, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "11647:5:133", - "memberName": "Fixed", - "nodeType": "MemberAccess", - "referencedDeclaration": 74727, - "src": "11620:32:133", - "typeDescriptions": { - "typeIdentifier": "t_enum$_PointSystem_$74731", - "typeString": "enum StrategyStruct.PointSystem" - } - }, - "src": "11574:78:133", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 82009, - "nodeType": "IfStatement", - "src": "11570:195:133", - "trueBody": { - "id": 82008, - "nodeType": "Block", - "src": "11654:111:133", - "statements": [ - { - "expression": { - "id": 82006, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 81998, - "name": "pointsToIncrease", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81966, - "src": "11668:16:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "id": 82003, - "name": "_member", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81926, - "src": "11727:7:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 82004, - "name": "totalStakedAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81961, - "src": "11736:17:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "arguments": [ - { - "id": 82000, - "name": "_strategy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81928, - "src": "11702:9:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 81999, - "name": "IPointStrategy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74722, - "src": "11687:14:133", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IPointStrategy_$74722_$", - "typeString": "type(contract IPointStrategy)" - } - }, - "id": 82001, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "11687:25:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IPointStrategy_$74722", - "typeString": "contract IPointStrategy" - } - }, - "id": 82002, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "11713:13:133", - "memberName": "increasePower", - "nodeType": "MemberAccess", - "referencedDeclaration": 74706, - "src": "11687:39:133", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (address,uint256) external returns (uint256)" - } - }, - "id": 82005, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "11687:67:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "11668:86:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 82007, - "nodeType": "ExpressionStatement", - "src": "11668:86:133" - } - ] - } - }, - "id": 82010, - "nodeType": "IfStatement", - "src": "11381:384:133", - "trueBody": { - "id": 81988, - "nodeType": "Block", - "src": "11469:95:133", - "statements": [ - { - "expression": { - "id": 81986, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 81978, - "name": "pointsToIncrease", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81966, - "src": "11483:16:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "id": 81983, - "name": "_member", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81926, - "src": "11542:7:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "hexValue": "30", - "id": 81984, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11551:1:133", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "expression": { - "arguments": [ - { - "id": 81980, - "name": "_strategy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81928, - "src": "11517:9:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 81979, - "name": "IPointStrategy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74722, - "src": "11502:14:133", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IPointStrategy_$74722_$", - "typeString": "type(contract IPointStrategy)" - } - }, - "id": 81981, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "11502:25:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IPointStrategy_$74722", - "typeString": "contract IPointStrategy" - } - }, - "id": 81982, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "11528:13:133", - "memberName": "increasePower", - "nodeType": "MemberAccess", - "referencedDeclaration": 74706, - "src": "11502:39:133", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (address,uint256) external returns (uint256)" - } - }, - "id": 81985, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "11502:51:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "11483:70:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 81987, - "nodeType": "ExpressionStatement", - "src": "11483:70:133" - } - ] - } - }, - { - "expression": { - "id": 82017, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "baseExpression": { - "id": 82011, - "name": "memberPowerInStrategy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81559, - "src": "11775:21:133", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 82014, - "indexExpression": { - "id": 82012, - "name": "_member", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81926, - "src": "11797:7:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "11775:30:133", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 82015, - "indexExpression": { - "id": 82013, - "name": "_strategy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81928, - "src": "11806:9:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "11775:41:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 82016, - "name": "pointsToIncrease", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81966, - "src": "11819:16:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "11775:60:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 82018, - "nodeType": "ExpressionStatement", - "src": "11775:60:133" - }, - { - "expression": { - "id": 82025, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "baseExpression": { - "id": 82019, - "name": "memberActivatedInStrategies", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81575, - "src": "11864:27:133", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$", - "typeString": "mapping(address => mapping(address => bool))" - } - }, - "id": 82022, - "indexExpression": { - "id": 82020, - "name": "_member", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81926, - "src": "11892:7:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "11864:36:133", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 82023, - "indexExpression": { - "id": 82021, - "name": "_strategy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81928, - "src": "11901:9:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "11864:47:133", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "hexValue": "74727565", - "id": 82024, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11914:4:133", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "11864:54:133", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 82026, - "nodeType": "ExpressionStatement", - "src": "11864:54:133" - }, - { - "expression": { - "arguments": [ - { - "id": 82031, - "name": "_strategy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81928, - "src": "11962:9:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "baseExpression": { - "id": 82027, - "name": "strategiesByMember", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81569, - "src": "11929:18:133", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_address_$dyn_storage_$", - "typeString": "mapping(address => address[] storage ref)" - } - }, - "id": 82029, - "indexExpression": { - "id": 82028, - "name": "_member", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81926, - "src": "11948:7:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "11929:27:133", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 82030, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "11957:4:133", - "memberName": "push", - "nodeType": "MemberAccess", - "src": "11929:32:133", - "typeDescriptions": { - "typeIdentifier": "t_function_arraypush_nonpayable$_t_array$_t_address_$dyn_storage_ptr_$_t_address_$returns$__$attached_to$_t_array$_t_address_$dyn_storage_ptr_$", - "typeString": "function (address[] storage pointer,address)" - } - }, - "id": 82032, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "11929:43:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 82033, - "nodeType": "ExpressionStatement", - "src": "11929:43:133" - }, - { - "eventCall": { - "arguments": [ - { - "id": 82035, - "name": "_member", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81926, - "src": "12012:7:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 82036, - "name": "_strategy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81928, - "src": "12021:9:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 82037, - "name": "pointsToIncrease", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81966, - "src": "12032:16:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 82034, - "name": "MemberActivatedStrategy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81307, - "src": "11988:23:133", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 82038, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "11988:61:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 82039, - "nodeType": "EmitStatement", - "src": "11983:66:133" - } - ] - }, - "functionSelector": "0d4a8b49", - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "activateMemberInStrategy", - "nameLocation": "10886:24:133", - "parameters": { - "id": 81929, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 81926, - "mutability": "mutable", - "name": "_member", - "nameLocation": "10919:7:133", - "nodeType": "VariableDeclaration", - "scope": 82041, - "src": "10911:15:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 81925, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10911:7:133", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 81928, - "mutability": "mutable", - "name": "_strategy", - "nameLocation": "10936:9:133", - "nodeType": "VariableDeclaration", - "scope": 82041, - "src": "10928:17:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 81927, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10928:7:133", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "10910:36:133" - }, - "returnParameters": { - "id": 81930, - "nodeType": "ParameterList", - "parameters": [], - "src": "10954:0:133" - }, - "scope": 83082, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "id": 82100, - "nodeType": "FunctionDefinition", - "src": "12062:691:133", - "nodes": [], - "body": { - "id": 82099, - "nodeType": "Block", - "src": "12141:612:133", - "nodes": [], - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 82049, - "name": "_member", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82043, - "src": "12177:7:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 82048, - "name": "onlyRegistryMemberAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81386, - "src": "12151:25:133", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$__$", - "typeString": "function (address) view" - } - }, - "id": 82050, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "12151:34:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 82051, - "nodeType": "ExpressionStatement", - "src": "12151:34:133" - }, - { - "expression": { - "arguments": [ - { - "id": 82053, - "name": "_strategy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82045, - "src": "12214:9:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 82052, - "name": "_revertZeroAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82526, - "src": "12195:18:133", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_address_$returns$__$", - "typeString": "function (address) pure" - } - }, - "id": 82054, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "12195:29:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 82055, - "nodeType": "ExpressionStatement", - "src": "12195:29:133" - }, - { - "expression": { - "arguments": [ - { - "expression": { - "id": 82057, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "12254:3:133", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 82058, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "12258:6:133", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "12254:10:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 82059, - "name": "_strategy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82045, - "src": "12266:9:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 82056, - "name": "onlyStrategyAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81417, - "src": "12234:19:133", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_address_$_t_address_$returns$__$", - "typeString": "function (address,address) pure" - } - }, - "id": 82060, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "12234:42:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 82061, - "nodeType": "ExpressionStatement", - "src": "12234:42:133" - }, - { - "condition": { - "id": 82067, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "12291:48:133", - "subExpression": { - "baseExpression": { - "baseExpression": { - "id": 82062, - "name": "memberActivatedInStrategies", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81575, - "src": "12292:27:133", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$", - "typeString": "mapping(address => mapping(address => bool))" - } - }, - "id": 82064, - "indexExpression": { - "id": 82063, - "name": "_member", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82043, - "src": "12320:7:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "12292:36:133", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 82066, - "indexExpression": { - "id": 82065, - "name": "_strategy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82045, - "src": "12329:9:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "12292:47:133", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 82072, - "nodeType": "IfStatement", - "src": "12287:110:133", - "trueBody": { - "id": 82071, - "nodeType": "Block", - "src": "12341:56:133", - "statements": [ - { - "errorCall": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 82068, - "name": "UserAlreadyDeactivated", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81451, - "src": "12362:22:133", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 82069, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "12362:24:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 82070, - "nodeType": "RevertStatement", - "src": "12355:31:133" - } - ] - } - }, - { - "expression": { - "id": 82079, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "baseExpression": { - "id": 82073, - "name": "memberActivatedInStrategies", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81575, - "src": "12407:27:133", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$", - "typeString": "mapping(address => mapping(address => bool))" - } - }, - "id": 82076, - "indexExpression": { - "id": 82074, - "name": "_member", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82043, - "src": "12435:7:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "12407:36:133", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 82077, - "indexExpression": { - "id": 82075, - "name": "_strategy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82045, - "src": "12444:9:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "12407:47:133", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "hexValue": "66616c7365", - "id": 82078, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12457:5:133", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "src": "12407:55:133", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 82080, - "nodeType": "ExpressionStatement", - "src": "12407:55:133" - }, - { - "expression": { - "id": 82087, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "baseExpression": { - "id": 82081, - "name": "memberPowerInStrategy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81559, - "src": "12472:21:133", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 82084, - "indexExpression": { - "id": 82082, - "name": "_member", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82043, - "src": "12494:7:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "12472:30:133", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 82085, - "indexExpression": { - "id": 82083, - "name": "_strategy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82045, - "src": "12503:9:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "12472:41:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "hexValue": "30", - "id": 82086, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12516:1:133", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "12472:45:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 82088, - "nodeType": "ExpressionStatement", - "src": "12472:45:133" - }, - { - "expression": { - "arguments": [ - { - "id": 82090, - "name": "_member", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82043, - "src": "12552:7:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 82091, - "name": "_strategy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82045, - "src": "12561:9:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 82089, - "name": "removeStrategyFromMember", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82153, - "src": "12527:24:133", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$returns$__$", - "typeString": "function (address,address)" - } - }, - "id": 82092, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "12527:44:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 82093, - "nodeType": "ExpressionStatement", - "src": "12527:44:133" - }, - { - "eventCall": { - "arguments": [ - { - "id": 82095, - "name": "_member", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82043, - "src": "12727:7:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 82096, - "name": "_strategy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82045, - "src": "12736:9:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 82094, - "name": "MemberDeactivatedStrategy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81313, - "src": "12701:25:133", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$", - "typeString": "function (address,address)" - } - }, - "id": 82097, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "12701:45:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 82098, - "nodeType": "EmitStatement", - "src": "12696:50:133" - } - ] - }, - "functionSelector": "22bcf999", - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "deactivateMemberInStrategy", - "nameLocation": "12071:26:133", - "parameters": { - "id": 82046, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 82043, - "mutability": "mutable", - "name": "_member", - "nameLocation": "12106:7:133", - "nodeType": "VariableDeclaration", - "scope": 82100, - "src": "12098:15:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 82042, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12098:7:133", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 82045, - "mutability": "mutable", - "name": "_strategy", - "nameLocation": "12123:9:133", - "nodeType": "VariableDeclaration", - "scope": 82100, - "src": "12115:17:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 82044, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12115:7:133", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "12097:36:133" - }, - "returnParameters": { - "id": 82047, - "nodeType": "ParameterList", - "parameters": [], - "src": "12141:0:133" - }, - "scope": 83082, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "id": 82153, - "nodeType": "FunctionDefinition", - "src": "12759:425:133", - "nodes": [], - "body": { - "id": 82152, - "nodeType": "Block", - "src": "12838:346:133", - "nodes": [], - "statements": [ - { - "assignments": [ - 82111 - ], - "declarations": [ - { - "constant": false, - "id": 82111, - "mutability": "mutable", - "name": "memberStrategies", - "nameLocation": "12866:16:133", - "nodeType": "VariableDeclaration", - "scope": 82152, - "src": "12848:34:133", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 82109, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12848:7:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 82110, - "nodeType": "ArrayTypeName", - "src": "12848:9:133", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "visibility": "internal" - } - ], - "id": 82115, - "initialValue": { - "baseExpression": { - "id": 82112, - "name": "strategiesByMember", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81569, - "src": "12885:18:133", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_address_$dyn_storage_$", - "typeString": "mapping(address => address[] storage ref)" - } - }, - "id": 82114, - "indexExpression": { - "id": 82113, - "name": "_member", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82102, - "src": "12904:7:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "12885:27:133", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "12848:64:133" - }, - { - "body": { - "id": 82150, - "nodeType": "Block", - "src": "12976:202:133", - "statements": [ - { - "condition": { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 82131, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "baseExpression": { - "id": 82127, - "name": "memberStrategies", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82111, - "src": "12994:16:133", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[] storage pointer" - } - }, - "id": 82129, - "indexExpression": { - "id": 82128, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82117, - "src": "13011:1:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "12994:19:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "id": 82130, - "name": "_strategy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82104, - "src": "13017:9:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "12994:32:133", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 82149, - "nodeType": "IfStatement", - "src": "12990:178:133", - "trueBody": { - "id": 82148, - "nodeType": "Block", - "src": "13028:140:133", - "statements": [ - { - "expression": { - "id": 82141, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "id": 82132, - "name": "memberStrategies", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82111, - "src": "13046:16:133", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[] storage pointer" - } - }, - "id": 82134, - "indexExpression": { - "id": 82133, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82117, - "src": "13063:1:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "13046:19:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "baseExpression": { - "id": 82135, - "name": "memberStrategies", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82111, - "src": "13068:16:133", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[] storage pointer" - } - }, - "id": 82140, - "indexExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 82139, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 82136, - "name": "memberStrategies", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82111, - "src": "13085:16:133", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[] storage pointer" - } - }, - "id": 82137, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "13102:6:133", - "memberName": "length", - "nodeType": "MemberAccess", - "src": "13085:23:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "hexValue": "31", - "id": 82138, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13111:1:133", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "13085:27:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "13068:45:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "13046:67:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 82142, - "nodeType": "ExpressionStatement", - "src": "13046:67:133" - }, - { - "expression": { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "id": 82143, - "name": "memberStrategies", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82111, - "src": "13131:16:133", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[] storage pointer" - } - }, - "id": 82145, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "13148:3:133", - "memberName": "pop", - "nodeType": "MemberAccess", - "src": "13131:20:133", - "typeDescriptions": { - "typeIdentifier": "t_function_arraypop_nonpayable$_t_array$_t_address_$dyn_storage_ptr_$returns$__$attached_to$_t_array$_t_address_$dyn_storage_ptr_$", - "typeString": "function (address[] storage pointer)" - } - }, - "id": 82146, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "13131:22:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 82147, - "nodeType": "ExpressionStatement", - "src": "13131:22:133" - } - ] - } - } - ] - }, - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 82123, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 82120, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82117, - "src": "12942:1:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "expression": { - "id": 82121, - "name": "memberStrategies", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82111, - "src": "12946:16:133", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[] storage pointer" - } - }, - "id": 82122, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "12963:6:133", - "memberName": "length", - "nodeType": "MemberAccess", - "src": "12946:23:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "12942:27:133", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 82151, - "initializationExpression": { - "assignments": [ - 82117 - ], - "declarations": [ - { - "constant": false, - "id": 82117, - "mutability": "mutable", - "name": "i", - "nameLocation": "12935:1:133", - "nodeType": "VariableDeclaration", - "scope": 82151, - "src": "12927:9:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 82116, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12927:7:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 82119, - "initialValue": { - "hexValue": "30", - "id": 82118, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12939:1:133", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "12927:13:133" - }, - "loopExpression": { - "expression": { - "id": 82125, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "12971:3:133", - "subExpression": { - "id": 82124, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82117, - "src": "12971:1:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 82126, - "nodeType": "ExpressionStatement", - "src": "12971:3:133" - }, - "nodeType": "ForStatement", - "src": "12922:256:133" - } - ] - }, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "removeStrategyFromMember", - "nameLocation": "12768:24:133", - "parameters": { - "id": 82105, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 82102, - "mutability": "mutable", - "name": "_member", - "nameLocation": "12801:7:133", - "nodeType": "VariableDeclaration", - "scope": 82153, - "src": "12793:15:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 82101, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12793:7:133", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 82104, - "mutability": "mutable", - "name": "_strategy", - "nameLocation": "12818:9:133", - "nodeType": "VariableDeclaration", - "scope": 82153, - "src": "12810:17:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 82103, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12810:7:133", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "12792:36:133" - }, - "returnParameters": { - "id": 82106, - "nodeType": "ParameterList", - "parameters": [], - "src": "12838:0:133" - }, - "scope": 83082, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "id": 82257, - "nodeType": "FunctionDefinition", - "src": "13190:998:133", - "nodes": [], - "body": { - "id": 82256, - "nodeType": "Block", - "src": "13256:932:133", - "nodes": [], - "statements": [ - { - "expression": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 82160, - "name": "onlyRegistryMemberSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81371, - "src": "13266:24:133", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$__$", - "typeString": "function () view" - } - }, - "id": 82161, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "13266:26:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 82162, - "nodeType": "ExpressionStatement", - "src": "13266:26:133" - }, - { - "assignments": [ - 82164 - ], - "declarations": [ - { - "constant": false, - "id": 82164, - "mutability": "mutable", - "name": "member", - "nameLocation": "13310:6:133", - "nodeType": "VariableDeclaration", - "scope": 82256, - "src": "13302:14:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 82163, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "13302:7:133", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "id": 82167, - "initialValue": { - "expression": { - "id": 82165, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "13319:3:133", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 82166, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "13323:6:133", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "13319:10:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "13302:27:133" - }, - { - "assignments": [ - 82172 - ], - "declarations": [ - { - "constant": false, - "id": 82172, - "mutability": "mutable", - "name": "memberStrategies", - "nameLocation": "13356:16:133", - "nodeType": "VariableDeclaration", - "scope": 82256, - "src": "13339:33:133", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 82170, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "13339:7:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 82171, - "nodeType": "ArrayTypeName", - "src": "13339:9:133", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "visibility": "internal" - } - ], - "id": 82176, - "initialValue": { - "baseExpression": { - "id": 82173, - "name": "strategiesByMember", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81569, - "src": "13375:18:133", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_address_$dyn_storage_$", - "typeString": "mapping(address => address[] storage ref)" - } - }, - "id": 82175, - "indexExpression": { - "id": 82174, - "name": "member", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82164, - "src": "13394:6:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "13375:26:133", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "13339:62:133" - }, - { - "assignments": [ - 82178 - ], - "declarations": [ - { - "constant": false, - "id": 82178, - "mutability": "mutable", - "name": "pointsToIncrease", - "nameLocation": "13420:16:133", - "nodeType": "VariableDeclaration", - "scope": 82256, - "src": "13412:24:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 82177, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13412:7:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 82179, - "nodeType": "VariableDeclarationStatement", - "src": "13412:24:133" - }, - { - "body": { - "id": 82231, - "nodeType": "Block", - "src": "13501:479:133", - "statements": [ - { - "expression": { - "id": 82201, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 82191, - "name": "pointsToIncrease", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82178, - "src": "13620:16:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "id": 82198, - "name": "member", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82164, - "src": "13689:6:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 82199, - "name": "_amountStaked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82155, - "src": "13697:13:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "arguments": [ - { - "baseExpression": { - "id": 82193, - "name": "memberStrategies", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82172, - "src": "13654:16:133", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 82195, - "indexExpression": { - "id": 82194, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82181, - "src": "13671:1:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "13654:19:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 82192, - "name": "IPointStrategy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74722, - "src": "13639:14:133", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IPointStrategy_$74722_$", - "typeString": "type(contract IPointStrategy)" - } - }, - "id": 82196, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "13639:35:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IPointStrategy_$74722", - "typeString": "contract IPointStrategy" - } - }, - "id": 82197, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "13675:13:133", - "memberName": "increasePower", - "nodeType": "MemberAccess", - "referencedDeclaration": 74706, - "src": "13639:49:133", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (address,uint256) external returns (uint256)" - } - }, - "id": 82200, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "13639:72:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "13620:91:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 82202, - "nodeType": "ExpressionStatement", - "src": "13620:91:133" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 82205, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 82203, - "name": "pointsToIncrease", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82178, - "src": "13729:16:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "hexValue": "30", - "id": 82204, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13749:1:133", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "13729:21:133", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 82230, - "nodeType": "IfStatement", - "src": "13725:229:133", - "trueBody": { - "id": 82229, - "nodeType": "Block", - "src": "13752:202:133", - "statements": [ - { - "expression": { - "id": 82214, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "baseExpression": { - "id": 82206, - "name": "memberPowerInStrategy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81559, - "src": "13770:21:133", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 82211, - "indexExpression": { - "id": 82207, - "name": "member", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82164, - "src": "13792:6:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "13770:29:133", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 82212, - "indexExpression": { - "baseExpression": { - "id": 82208, - "name": "memberStrategies", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82172, - "src": "13800:16:133", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 82210, - "indexExpression": { - "id": 82209, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82181, - "src": "13817:1:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "13800:19:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "13770:50:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "id": 82213, - "name": "pointsToIncrease", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82178, - "src": "13824:16:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "13770:70:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 82215, - "nodeType": "ExpressionStatement", - "src": "13770:70:133" - }, - { - "expression": { - "arguments": [ - { - "hexValue": "537472617465677920706f776572", - "id": 82219, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13870:16:133", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_703ee8b122626afba084dc6507d90f45e4b99d124abdcce4d7ee9c70af76c3ee", - "typeString": "literal_string \"Strategy power\"" - }, - "value": "Strategy power" - }, - { - "baseExpression": { - "baseExpression": { - "id": 82220, - "name": "memberPowerInStrategy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81559, - "src": "13888:21:133", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 82222, - "indexExpression": { - "id": 82221, - "name": "member", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82164, - "src": "13910:6:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "13888:29:133", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 82226, - "indexExpression": { - "baseExpression": { - "id": 82223, - "name": "memberStrategies", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82172, - "src": "13918:16:133", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 82225, - "indexExpression": { - "id": 82224, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82181, - "src": "13935:1:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "13918:19:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "13888:50:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_703ee8b122626afba084dc6507d90f45e4b99d124abdcce4d7ee9c70af76c3ee", - "typeString": "literal_string \"Strategy power\"" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 82216, - "name": "console", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29549, - "src": "13858:7:133", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_console_$29549_$", - "typeString": "type(library console)" - } - }, - "id": 82218, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "13866:3:133", - "memberName": "log", - "nodeType": "MemberAccess", - "referencedDeclaration": 22193, - "src": "13858:11:133", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$", - "typeString": "function (string memory,uint256) view" - } - }, - "id": 82227, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "13858:81:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 82228, - "nodeType": "ExpressionStatement", - "src": "13858:81:133" - } - ] - } - } - ] - }, - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 82187, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 82184, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82181, - "src": "13467:1:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "expression": { - "id": 82185, - "name": "memberStrategies", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82172, - "src": "13471:16:133", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 82186, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "13488:6:133", - "memberName": "length", - "nodeType": "MemberAccess", - "src": "13471:23:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "13467:27:133", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 82232, - "initializationExpression": { - "assignments": [ - 82181 - ], - "declarations": [ - { - "constant": false, - "id": 82181, - "mutability": "mutable", - "name": "i", - "nameLocation": "13460:1:133", - "nodeType": "VariableDeclaration", - "scope": 82232, - "src": "13452:9:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 82180, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13452:7:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 82183, - "initialValue": { - "hexValue": "30", - "id": 82182, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13464:1:133", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "13452:13:133" - }, - "loopExpression": { - "expression": { - "id": 82189, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "13496:3:133", - "subExpression": { - "id": 82188, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82181, - "src": "13496:1:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 82190, - "nodeType": "ExpressionStatement", - "src": "13496:3:133" - }, - "nodeType": "ForStatement", - "src": "13447:533:133" - }, - { - "expression": { - "arguments": [ - { - "id": 82236, - "name": "member", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82164, - "src": "14019:6:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "arguments": [ - { - "id": 82239, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "14035:4:133", - "typeDescriptions": { - "typeIdentifier": "t_contract$_RegistryCommunity_$83082", - "typeString": "contract RegistryCommunity" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_RegistryCommunity_$83082", - "typeString": "contract RegistryCommunity" - } - ], - "id": 82238, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "14027:7:133", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 82237, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "14027:7:133", - "typeDescriptions": {} - } - }, - "id": 82240, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "14027:13:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 82241, - "name": "_amountStaked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82155, - "src": "14042:13:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 82233, - "name": "gardenToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81539, - "src": "13990:11:133", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$57069", - "typeString": "contract IERC20" - } - }, - "id": 82235, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "14002:16:133", - "memberName": "safeTransferFrom", - "nodeType": "MemberAccess", - "referencedDeclaration": 57190, - "src": "13990:28:133", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IERC20_$57069_$_t_address_$_t_address_$_t_uint256_$returns$__$attached_to$_t_contract$_IERC20_$57069_$", - "typeString": "function (contract IERC20,address,address,uint256)" - } - }, - "id": 82242, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "13990:66:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 82243, - "nodeType": "ExpressionStatement", - "src": "13990:66:133" - }, - { - "expression": { - "id": 82249, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "expression": { - "baseExpression": { - "id": 82244, - "name": "addressToMemberInfo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81564, - "src": "14066:19:133", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Member_$81482_storage_$", - "typeString": "mapping(address => struct RegistryCommunity.Member storage ref)" - } - }, - "id": 82246, - "indexExpression": { - "id": 82245, - "name": "member", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82164, - "src": "14086:6:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "14066:27:133", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Member_$81482_storage", - "typeString": "struct RegistryCommunity.Member storage ref" - } - }, - "id": 82247, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberLocation": "14094:12:133", - "memberName": "stakedAmount", - "nodeType": "MemberAccess", - "referencedDeclaration": 81479, - "src": "14066:40:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "id": 82248, - "name": "_amountStaked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82155, - "src": "14110:13:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "14066:57:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 82250, - "nodeType": "ExpressionStatement", - "src": "14066:57:133" - }, - { - "eventCall": { - "arguments": [ - { - "id": 82252, - "name": "member", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82164, - "src": "14159:6:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 82253, - "name": "_amountStaked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82155, - "src": "14167:13:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 82251, - "name": "MemberPowerIncreased", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81323, - "src": "14138:20:133", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 82254, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "14138:43:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 82255, - "nodeType": "EmitStatement", - "src": "14133:48:133" - } - ] - }, - "functionSelector": "559de05d", - "implemented": true, - "kind": "function", - "modifiers": [ - { - "id": 82158, - "kind": "modifierInvocation", - "modifierName": { - "id": 82157, - "name": "nonReentrant", - "nameLocations": [ - "13243:12:133" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 56243, - "src": "13243:12:133" - }, - "nodeType": "ModifierInvocation", - "src": "13243:12:133" - } - ], - "name": "increasePower", - "nameLocation": "13199:13:133", - "parameters": { - "id": 82156, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 82155, - "mutability": "mutable", - "name": "_amountStaked", - "nameLocation": "13221:13:133", - "nodeType": "VariableDeclaration", - "scope": 82257, - "src": "13213:21:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 82154, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13213:7:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "13212:23:133" - }, - "returnParameters": { - "id": 82159, - "nodeType": "ParameterList", - "parameters": [], - "src": "13256:0:133" - }, - "scope": 83082, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "id": 82407, - "nodeType": "FunctionDefinition", - "src": "14328:1554:133", - "nodes": [], - "body": { - "id": 82406, - "nodeType": "Block", - "src": "14396:1486:133", - "nodes": [], - "statements": [ - { - "expression": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 82264, - "name": "onlyRegistryMemberSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81371, - "src": "14406:24:133", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$__$", - "typeString": "function () view" - } - }, - "id": 82265, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "14406:26:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 82266, - "nodeType": "ExpressionStatement", - "src": "14406:26:133" - }, - { - "assignments": [ - 82268 - ], - "declarations": [ - { - "constant": false, - "id": 82268, - "mutability": "mutable", - "name": "member", - "nameLocation": "14450:6:133", - "nodeType": "VariableDeclaration", - "scope": 82406, - "src": "14442:14:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 82267, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "14442:7:133", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "id": 82271, - "initialValue": { - "expression": { - "id": 82269, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "14459:3:133", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 82270, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "14463:6:133", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "14459:10:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "14442:27:133" - }, - { - "assignments": [ - 82276 - ], - "declarations": [ - { - "constant": false, - "id": 82276, - "mutability": "mutable", - "name": "memberStrategies", - "nameLocation": "14497:16:133", - "nodeType": "VariableDeclaration", - "scope": 82406, - "src": "14479:34:133", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 82274, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "14479:7:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 82275, - "nodeType": "ArrayTypeName", - "src": "14479:9:133", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "visibility": "internal" - } - ], - "id": 82280, - "initialValue": { - "baseExpression": { - "id": 82277, - "name": "strategiesByMember", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81569, - "src": "14516:18:133", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_address_$dyn_storage_$", - "typeString": "mapping(address => address[] storage ref)" - } - }, - "id": 82279, - "indexExpression": { - "id": 82278, - "name": "member", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82268, - "src": "14535:6:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "14516:26:133", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "14479:63:133" - }, - { - "assignments": [ - 82282 - ], - "declarations": [ - { - "constant": false, - "id": 82282, - "mutability": "mutable", - "name": "pointsToDecrease", - "nameLocation": "14561:16:133", - "nodeType": "VariableDeclaration", - "scope": 82406, - "src": "14553:24:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 82281, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14553:7:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 82283, - "nodeType": "VariableDeclarationStatement", - "src": "14553:24:133" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 82291, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 82289, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "baseExpression": { - "id": 82284, - "name": "addressToMemberInfo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81564, - "src": "14592:19:133", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Member_$81482_storage_$", - "typeString": "mapping(address => struct RegistryCommunity.Member storage ref)" - } - }, - "id": 82286, - "indexExpression": { - "id": 82285, - "name": "member", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82268, - "src": "14612:6:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "14592:27:133", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Member_$81482_storage", - "typeString": "struct RegistryCommunity.Member storage ref" - } - }, - "id": 82287, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "14620:12:133", - "memberName": "stakedAmount", - "nodeType": "MemberAccess", - "referencedDeclaration": 81479, - "src": "14592:40:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "id": 82288, - "name": "_amountUnstaked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82259, - "src": "14635:15:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "14592:58:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "id": 82290, - "name": "registerStakeAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81519, - "src": "14653:19:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "14592:80:133", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 82296, - "nodeType": "IfStatement", - "src": "14588:140:133", - "trueBody": { - "id": 82295, - "nodeType": "Block", - "src": "14674:54:133", - "statements": [ - { - "errorCall": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 82292, - "name": "DecreaseUnderMinimum", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81469, - "src": "14695:20:133", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 82293, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "14695:22:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 82294, - "nodeType": "RevertStatement", - "src": "14688:29:133" - } - ] - } - }, - { - "expression": { - "arguments": [ - { - "id": 82300, - "name": "member", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82268, - "src": "14762:6:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 82301, - "name": "_amountUnstaked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82259, - "src": "14770:15:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 82297, - "name": "gardenToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81539, - "src": "14737:11:133", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$57069", - "typeString": "contract IERC20" - } - }, - "id": 82299, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "14749:12:133", - "memberName": "safeTransfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 57163, - "src": "14737:24:133", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IERC20_$57069_$_t_address_$_t_uint256_$returns$__$attached_to$_t_contract$_IERC20_$57069_$", - "typeString": "function (contract IERC20,address,uint256)" - } - }, - "id": 82302, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "14737:49:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 82303, - "nodeType": "ExpressionStatement", - "src": "14737:49:133" - }, - { - "body": { - "id": 82392, - "nodeType": "Block", - "src": "14850:897:133", - "statements": [ - { - "assignments": [ - 82316 - ], - "declarations": [ - { - "constant": false, - "id": 82316, - "mutability": "mutable", - "name": "strategy", - "nameLocation": "14872:8:133", - "nodeType": "VariableDeclaration", - "scope": 82392, - "src": "14864:16:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 82315, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "14864:7:133", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "id": 82320, - "initialValue": { - "baseExpression": { - "id": 82317, - "name": "memberStrategies", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82276, - "src": "14883:16:133", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[] storage pointer" - } - }, - "id": 82319, - "indexExpression": { - "id": 82318, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82305, - "src": "14900:1:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "14883:19:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "14864:38:133" - }, - { - "condition": { - "arguments": [ - { - "expression": { - "arguments": [ - { - "id": 82324, - "name": "IPointStrategy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74722, - "src": "14952:14:133", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IPointStrategy_$74722_$", - "typeString": "type(contract IPointStrategy)" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_type$_t_contract$_IPointStrategy_$74722_$", - "typeString": "type(contract IPointStrategy)" - } - ], - "id": 82323, - "name": "type", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -27, - "src": "14947:4:133", - "typeDescriptions": { - "typeIdentifier": "t_function_metatype_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 82325, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "14947:20:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_magic_meta_type_t_contract$_IPointStrategy_$74722", - "typeString": "type(contract IPointStrategy)" - } - }, - "id": 82326, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "14968:11:133", - "memberName": "interfaceId", - "nodeType": "MemberAccess", - "src": "14947:32:133", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - ], - "expression": { - "id": 82321, - "name": "strategy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82316, - "src": "14920:8:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 82322, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "14929:17:133", - "memberName": "supportsInterface", - "nodeType": "MemberAccess", - "referencedDeclaration": 58316, - "src": "14920:26:133", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_bytes4_$returns$_t_bool_$attached_to$_t_address_$", - "typeString": "function (address,bytes4) view returns (bool)" - } - }, - "id": 82327, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "14920:60:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 82390, - "nodeType": "Block", - "src": "15470:250:133", - "statements": [ - { - "expression": { - "id": 82379, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "id": 82370, - "name": "memberStrategies", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82276, - "src": "15555:16:133", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[] storage pointer" - } - }, - "id": 82372, - "indexExpression": { - "id": 82371, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82305, - "src": "15572:1:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "15555:19:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "baseExpression": { - "id": 82373, - "name": "memberStrategies", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82276, - "src": "15577:16:133", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[] storage pointer" - } - }, - "id": 82378, - "indexExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 82377, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 82374, - "name": "memberStrategies", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82276, - "src": "15594:16:133", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[] storage pointer" - } - }, - "id": 82375, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "15611:6:133", - "memberName": "length", - "nodeType": "MemberAccess", - "src": "15594:23:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "hexValue": "31", - "id": 82376, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15620:1:133", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "15594:27:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "15577:45:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "15555:67:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 82380, - "nodeType": "ExpressionStatement", - "src": "15555:67:133" - }, - { - "expression": { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "id": 82381, - "name": "memberStrategies", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82276, - "src": "15640:16:133", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[] storage pointer" - } - }, - "id": 82383, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "15657:3:133", - "memberName": "pop", - "nodeType": "MemberAccess", - "src": "15640:20:133", - "typeDescriptions": { - "typeIdentifier": "t_function_arraypop_nonpayable$_t_array$_t_address_$dyn_storage_ptr_$returns$__$attached_to$_t_array$_t_address_$dyn_storage_ptr_$", - "typeString": "function (address[] storage pointer)" - } - }, - "id": 82384, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "15640:22:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 82385, - "nodeType": "ExpressionStatement", - "src": "15640:22:133" - }, - { - "expression": { - "arguments": [ - { - "id": 82387, - "name": "strategy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82316, - "src": "15696:8:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 82386, - "name": "_removeStrategy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82574, - "src": "15680:15:133", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", - "typeString": "function (address)" - } - }, - "id": 82388, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "15680:25:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 82389, - "nodeType": "ExpressionStatement", - "src": "15680:25:133" - } - ] - }, - "id": 82391, - "nodeType": "IfStatement", - "src": "14916:804:133", - "trueBody": { - "id": 82369, - "nodeType": "Block", - "src": "14982:482:133", - "statements": [ - { - "expression": { - "id": 82336, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 82328, - "name": "pointsToDecrease", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82282, - "src": "15000:16:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "id": 82333, - "name": "member", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82268, - "src": "15058:6:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 82334, - "name": "_amountUnstaked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82259, - "src": "15066:15:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "arguments": [ - { - "id": 82330, - "name": "strategy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82316, - "src": "15034:8:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 82329, - "name": "IPointStrategy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74722, - "src": "15019:14:133", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IPointStrategy_$74722_$", - "typeString": "type(contract IPointStrategy)" - } - }, - "id": 82331, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "15019:24:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IPointStrategy_$74722", - "typeString": "contract IPointStrategy" - } - }, - "id": 82332, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "15044:13:133", - "memberName": "decreasePower", - "nodeType": "MemberAccess", - "referencedDeclaration": 74715, - "src": "15019:38:133", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (address,uint256) external returns (uint256)" - } - }, - "id": 82335, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "15019:63:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15000:82:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 82337, - "nodeType": "ExpressionStatement", - "src": "15000:82:133" - }, - { - "assignments": [ - 82339 - ], - "declarations": [ - { - "constant": false, - "id": 82339, - "mutability": "mutable", - "name": "currentPower", - "nameLocation": "15108:12:133", - "nodeType": "VariableDeclaration", - "scope": 82369, - "src": "15100:20:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 82338, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15100:7:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 82347, - "initialValue": { - "baseExpression": { - "baseExpression": { - "id": 82340, - "name": "memberPowerInStrategy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81559, - "src": "15123:21:133", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 82342, - "indexExpression": { - "id": 82341, - "name": "member", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82268, - "src": "15145:6:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "15123:29:133", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 82346, - "indexExpression": { - "baseExpression": { - "id": 82343, - "name": "memberStrategies", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82276, - "src": "15153:16:133", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[] storage pointer" - } - }, - "id": 82345, - "indexExpression": { - "id": 82344, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82305, - "src": "15170:1:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "15153:19:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "15123:50:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15100:73:133" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 82350, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 82348, - "name": "pointsToDecrease", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82282, - "src": "15195:16:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "id": 82349, - "name": "currentPower", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82339, - "src": "15214:12:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15195:31:133", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 82367, - "nodeType": "Block", - "src": "15339:111:133", - "statements": [ - { - "expression": { - "id": 82365, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "baseExpression": { - "id": 82357, - "name": "memberPowerInStrategy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81559, - "src": "15361:21:133", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 82362, - "indexExpression": { - "id": 82358, - "name": "member", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82268, - "src": "15383:6:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "15361:29:133", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 82363, - "indexExpression": { - "baseExpression": { - "id": 82359, - "name": "memberStrategies", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82276, - "src": "15391:16:133", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[] storage pointer" - } - }, - "id": 82361, - "indexExpression": { - "id": 82360, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82305, - "src": "15408:1:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "15391:19:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "15361:50:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "-=", - "rightHandSide": { - "id": 82364, - "name": "pointsToDecrease", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82282, - "src": "15415:16:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15361:70:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 82366, - "nodeType": "ExpressionStatement", - "src": "15361:70:133" - } - ] - }, - "id": 82368, - "nodeType": "IfStatement", - "src": "15191:259:133", - "trueBody": { - "id": 82356, - "nodeType": "Block", - "src": "15228:105:133", - "statements": [ - { - "errorCall": { - "arguments": [ - { - "id": 82352, - "name": "pointsToDecrease", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82282, - "src": "15283:16:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 82353, - "name": "currentPower", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82339, - "src": "15301:12:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 82351, - "name": "CantDecreaseMoreThanPower", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81475, - "src": "15257:25:133", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (uint256,uint256) pure" - } - }, - "id": 82354, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "15257:57:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 82355, - "nodeType": "RevertStatement", - "src": "15250:64:133" - } - ] - } - } - ] - } - } - ] - }, - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 82311, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 82308, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82305, - "src": "14816:1:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "expression": { - "id": 82309, - "name": "memberStrategies", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82276, - "src": "14820:16:133", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[] storage pointer" - } - }, - "id": 82310, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "14837:6:133", - "memberName": "length", - "nodeType": "MemberAccess", - "src": "14820:23:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "14816:27:133", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 82393, - "initializationExpression": { - "assignments": [ - 82305 - ], - "declarations": [ - { - "constant": false, - "id": 82305, - "mutability": "mutable", - "name": "i", - "nameLocation": "14809:1:133", - "nodeType": "VariableDeclaration", - "scope": 82393, - "src": "14801:9:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 82304, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14801:7:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 82307, - "initialValue": { - "hexValue": "30", - "id": 82306, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14813:1:133", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "14801:13:133" - }, - "loopExpression": { - "expression": { - "id": 82313, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "14845:3:133", - "subExpression": { - "id": 82312, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82305, - "src": "14845:1:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 82314, - "nodeType": "ExpressionStatement", - "src": "14845:3:133" - }, - "nodeType": "ForStatement", - "src": "14796:951:133" - }, - { - "expression": { - "id": 82399, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "expression": { - "baseExpression": { - "id": 82394, - "name": "addressToMemberInfo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81564, - "src": "15756:19:133", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Member_$81482_storage_$", - "typeString": "mapping(address => struct RegistryCommunity.Member storage ref)" - } - }, - "id": 82396, - "indexExpression": { - "id": 82395, - "name": "member", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82268, - "src": "15776:6:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "15756:27:133", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Member_$81482_storage", - "typeString": "struct RegistryCommunity.Member storage ref" - } - }, - "id": 82397, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberLocation": "15784:12:133", - "memberName": "stakedAmount", - "nodeType": "MemberAccess", - "referencedDeclaration": 81479, - "src": "15756:40:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "-=", - "rightHandSide": { - "id": 82398, - "name": "_amountUnstaked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82259, - "src": "15800:15:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15756:59:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 82400, - "nodeType": "ExpressionStatement", - "src": "15756:59:133" - }, - { - "eventCall": { - "arguments": [ - { - "id": 82402, - "name": "member", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82268, - "src": "15851:6:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 82403, - "name": "_amountUnstaked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82259, - "src": "15859:15:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 82401, - "name": "MemberPowerDecreased", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81329, - "src": "15830:20:133", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 82404, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "15830:45:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 82405, - "nodeType": "EmitStatement", - "src": "15825:50:133" - } - ] - }, - "functionSelector": "5ecf71c5", - "implemented": true, - "kind": "function", - "modifiers": [ - { - "id": 82262, - "kind": "modifierInvocation", - "modifierName": { - "id": 82261, - "name": "nonReentrant", - "nameLocations": [ - "14383:12:133" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 56243, - "src": "14383:12:133" - }, - "nodeType": "ModifierInvocation", - "src": "14383:12:133" - } - ], - "name": "decreasePower", - "nameLocation": "14337:13:133", - "parameters": { - "id": 82260, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 82259, - "mutability": "mutable", - "name": "_amountUnstaked", - "nameLocation": "14359:15:133", - "nodeType": "VariableDeclaration", - "scope": 82407, - "src": "14351:23:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 82258, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14351:7:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "14350:25:133" - }, - "returnParameters": { - "id": 82263, - "nodeType": "ParameterList", - "parameters": [], - "src": "14396:0:133" - }, - "scope": 83082, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "id": 82423, - "nodeType": "FunctionDefinition", - "src": "15888:165:133", - "nodes": [], - "body": { - "id": 82422, - "nodeType": "Block", - "src": "15988:65:133", - "nodes": [], - "statements": [ - { - "expression": { - "baseExpression": { - "baseExpression": { - "id": 82416, - "name": "memberPowerInStrategy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81559, - "src": "16005:21:133", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 82418, - "indexExpression": { - "id": 82417, - "name": "_member", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82409, - "src": "16027:7:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "16005:30:133", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 82420, - "indexExpression": { - "id": 82419, - "name": "_strategy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82411, - "src": "16036:9:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "16005:41:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 82415, - "id": 82421, - "nodeType": "Return", - "src": "15998:48:133" - } - ] - }, - "functionSelector": "7817ee4f", - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getMemberPowerInStrategy", - "nameLocation": "15897:24:133", - "parameters": { - "id": 82412, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 82409, - "mutability": "mutable", - "name": "_member", - "nameLocation": "15930:7:133", - "nodeType": "VariableDeclaration", - "scope": 82423, - "src": "15922:15:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 82408, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "15922:7:133", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 82411, - "mutability": "mutable", - "name": "_strategy", - "nameLocation": "15947:9:133", - "nodeType": "VariableDeclaration", - "scope": 82423, - "src": "15939:17:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 82410, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "15939:7:133", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "15921:36:133" - }, - "returnParameters": { - "id": 82415, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 82414, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 82423, - "src": "15979:7:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 82413, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15979:7:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "15978:9:133" - }, - "scope": 83082, - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "id": 82436, - "nodeType": "FunctionDefinition", - "src": "16059:143:133", - "nodes": [], - "body": { - "id": 82435, - "nodeType": "Block", - "src": "16137:65:133", - "nodes": [], - "statements": [ - { - "expression": { - "expression": { - "baseExpression": { - "id": 82430, - "name": "addressToMemberInfo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81564, - "src": "16154:19:133", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Member_$81482_storage_$", - "typeString": "mapping(address => struct RegistryCommunity.Member storage ref)" - } - }, - "id": 82432, - "indexExpression": { - "id": 82431, - "name": "_member", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82425, - "src": "16174:7:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "16154:28:133", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Member_$81482_storage", - "typeString": "struct RegistryCommunity.Member storage ref" - } - }, - "id": 82433, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "16183:12:133", - "memberName": "stakedAmount", - "nodeType": "MemberAccess", - "referencedDeclaration": 81479, - "src": "16154:41:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 82429, - "id": 82434, - "nodeType": "Return", - "src": "16147:48:133" - } - ] - }, - "functionSelector": "2c611c4a", - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getMemberStakedAmount", - "nameLocation": "16068:21:133", - "parameters": { - "id": 82426, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 82425, - "mutability": "mutable", - "name": "_member", - "nameLocation": "16098:7:133", - "nodeType": "VariableDeclaration", - "scope": 82436, - "src": "16090:15:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 82424, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "16090:7:133", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "16089:17:133" - }, - "returnParameters": { - "id": 82429, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 82428, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 82436, - "src": "16128:7:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 82427, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16128:7:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "16127:9:133" - }, - "scope": 83082, - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "id": 82473, - "nodeType": "FunctionDefinition", - "src": "16331:313:133", - "nodes": [], - "body": { - "id": 82472, - "nodeType": "Block", - "src": "16383:261:133", - "nodes": [], - "statements": [ - { - "expression": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 82441, - "name": "onlyCouncilSafe", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81357, - "src": "16393:15:133", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$__$", - "typeString": "function () view" - } - }, - "id": 82442, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "16393:17:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 82443, - "nodeType": "ExpressionStatement", - "src": "16393:17:133" - }, - { - "assignments": [ - 82445 - ], - "declarations": [ - { - "constant": false, - "id": 82445, - "mutability": "mutable", - "name": "strategy", - "nameLocation": "16428:8:133", - "nodeType": "VariableDeclaration", - "scope": 82472, - "src": "16420:16:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 82444, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "16420:7:133", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "id": 82454, - "initialValue": { - "arguments": [ - { - "expression": { - "arguments": [ - { - "id": 82450, - "name": "poolId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82438, - "src": "16460:6:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 82448, - "name": "allo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81545, - "src": "16447:4:133", - "typeDescriptions": { - "typeIdentifier": "t_contract$_FAllo_$81222", - "typeString": "contract FAllo" - } - }, - "id": 82449, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "16452:7:133", - "memberName": "getPool", - "nodeType": "MemberAccess", - "referencedDeclaration": 81221, - "src": "16447:12:133", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_struct$_Pool_$2319_memory_ptr_$", - "typeString": "function (uint256) view external returns (struct IAllo.Pool memory)" - } - }, - "id": 82451, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "16447:20:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pool_$2319_memory_ptr", - "typeString": "struct IAllo.Pool memory" - } - }, - "id": 82452, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "16468:8:133", - "memberName": "strategy", - "nodeType": "MemberAccess", - "referencedDeclaration": 2309, - "src": "16447:29:133", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IStrategy_$2969", - "typeString": "contract IStrategy" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_IStrategy_$2969", - "typeString": "contract IStrategy" - } - ], - "id": 82447, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "16439:7:133", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 82446, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "16439:7:133", - "typeDescriptions": {} - } - }, - "id": 82453, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "16439:38:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "16420:57:133" - }, - { - "expression": { - "arguments": [ - { - "id": 82456, - "name": "strategy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82445, - "src": "16506:8:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 82455, - "name": "_revertZeroAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82526, - "src": "16487:18:133", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_address_$returns$__$", - "typeString": "function (address) pure" - } - }, - "id": 82457, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "16487:28:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 82458, - "nodeType": "ExpressionStatement", - "src": "16487:28:133" - }, - { - "condition": { - "arguments": [ - { - "expression": { - "arguments": [ - { - "id": 82462, - "name": "IPointStrategy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74722, - "src": "16561:14:133", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IPointStrategy_$74722_$", - "typeString": "type(contract IPointStrategy)" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_type$_t_contract$_IPointStrategy_$74722_$", - "typeString": "type(contract IPointStrategy)" - } - ], - "id": 82461, - "name": "type", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -27, - "src": "16556:4:133", - "typeDescriptions": { - "typeIdentifier": "t_function_metatype_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 82463, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "16556:20:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_magic_meta_type_t_contract$_IPointStrategy_$74722", - "typeString": "type(contract IPointStrategy)" - } - }, - "id": 82464, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "16577:11:133", - "memberName": "interfaceId", - "nodeType": "MemberAccess", - "src": "16556:32:133", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - ], - "expression": { - "id": 82459, - "name": "strategy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82445, - "src": "16529:8:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 82460, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "16538:17:133", - "memberName": "supportsInterface", - "nodeType": "MemberAccess", - "referencedDeclaration": 58316, - "src": "16529:26:133", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_bytes4_$returns$_t_bool_$attached_to$_t_address_$", - "typeString": "function (address,bytes4) view returns (bool)" - } - }, - "id": 82465, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "16529:60:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 82471, - "nodeType": "IfStatement", - "src": "16525:113:133", - "trueBody": { - "id": 82470, - "nodeType": "Block", - "src": "16591:47:133", - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 82467, - "name": "strategy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82445, - "src": "16618:8:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 82466, - "name": "_addStrategy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82510, - "src": "16605:12:133", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", - "typeString": "function (address)" - } - }, - "id": 82468, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "16605:22:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 82469, - "nodeType": "ExpressionStatement", - "src": "16605:22:133" - } - ] - } - } - ] - }, - "functionSelector": "82d6a1e7", - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "addStrategyByPoolId", - "nameLocation": "16340:19:133", - "parameters": { - "id": 82439, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 82438, - "mutability": "mutable", - "name": "poolId", - "nameLocation": "16368:6:133", - "nodeType": "VariableDeclaration", - "scope": 82473, - "src": "16360:14:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 82437, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16360:7:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "16359:16:133" - }, - "returnParameters": { - "id": 82440, - "nodeType": "ParameterList", - "parameters": [], - "src": "16383:0:133" - }, - "scope": 83082, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "id": 82486, - "nodeType": "FunctionDefinition", - "src": "16650:120:133", - "nodes": [], - "body": { - "id": 82485, - "nodeType": "Block", - "src": "16700:70:133", - "nodes": [], - "statements": [ - { - "expression": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 82478, - "name": "onlyCouncilSafe", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81357, - "src": "16710:15:133", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$__$", - "typeString": "function () view" - } - }, - "id": 82479, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "16710:17:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 82480, - "nodeType": "ExpressionStatement", - "src": "16710:17:133" - }, - { - "expression": { - "arguments": [ - { - "id": 82482, - "name": "_newStrategy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82475, - "src": "16750:12:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 82481, - "name": "_addStrategy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82510, - "src": "16737:12:133", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", - "typeString": "function (address)" - } - }, - "id": 82483, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "16737:26:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 82484, - "nodeType": "ExpressionStatement", - "src": "16737:26:133" - } - ] - }, - "functionSelector": "223e5479", - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "addStrategy", - "nameLocation": "16659:11:133", - "parameters": { - "id": 82476, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 82475, - "mutability": "mutable", - "name": "_newStrategy", - "nameLocation": "16679:12:133", - "nodeType": "VariableDeclaration", - "scope": 82486, - "src": "16671:20:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 82474, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "16671:7:133", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "16670:22:133" - }, - "returnParameters": { - "id": 82477, - "nodeType": "ParameterList", - "parameters": [], - "src": "16700:0:133" - }, - "scope": 83082, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "id": 82510, - "nodeType": "FunctionDefinition", - "src": "16776:244:133", - "nodes": [], - "body": { - "id": 82509, - "nodeType": "Block", - "src": "16829:191:133", - "nodes": [], - "statements": [ - { - "condition": { - "baseExpression": { - "id": 82491, - "name": "enabledStrategies", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81553, - "src": "16843:17:133", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 82493, - "indexExpression": { - "id": 82492, - "name": "_newStrategy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82488, - "src": "16861:12:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "16843:31:133", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 82498, - "nodeType": "IfStatement", - "src": "16839:85:133", - "trueBody": { - "id": 82497, - "nodeType": "Block", - "src": "16876:48:133", - "statements": [ - { - "errorCall": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 82494, - "name": "StrategyExists", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81453, - "src": "16897:14:133", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 82495, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "16897:16:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 82496, - "nodeType": "RevertStatement", - "src": "16890:23:133" - } - ] - } - }, - { - "expression": { - "id": 82503, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "id": 82499, - "name": "enabledStrategies", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81553, - "src": "16933:17:133", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 82501, - "indexExpression": { - "id": 82500, - "name": "_newStrategy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82488, - "src": "16951:12:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "16933:31:133", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "hexValue": "74727565", - "id": 82502, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "16967:4:133", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "16933:38:133", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 82504, - "nodeType": "ExpressionStatement", - "src": "16933:38:133" - }, - { - "eventCall": { - "arguments": [ - { - "id": 82506, - "name": "_newStrategy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82488, - "src": "17000:12:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 82505, - "name": "StrategyAdded", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81295, - "src": "16986:13:133", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$", - "typeString": "function (address)" - } - }, - "id": 82507, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "16986:27:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 82508, - "nodeType": "EmitStatement", - "src": "16981:32:133" - } - ] - }, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_addStrategy", - "nameLocation": "16785:12:133", - "parameters": { - "id": 82489, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 82488, - "mutability": "mutable", - "name": "_newStrategy", - "nameLocation": "16806:12:133", - "nodeType": "VariableDeclaration", - "scope": 82510, - "src": "16798:20:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 82487, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "16798:7:133", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "16797:22:133" - }, - "returnParameters": { - "id": 82490, - "nodeType": "ParameterList", - "parameters": [], - "src": "16829:0:133" - }, - "scope": 83082, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "id": 82526, - "nodeType": "FunctionDefinition", - "src": "17026:133:133", - "nodes": [], - "body": { - "id": 82525, - "nodeType": "Block", - "src": "17086:73:133", - "nodes": [], - "statements": [ - { - "condition": { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 82520, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 82515, - "name": "_address", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82512, - "src": "17100:8:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "arguments": [ - { - "hexValue": "30", - "id": 82518, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "17120:1:133", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 82517, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "17112:7:133", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 82516, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "17112:7:133", - "typeDescriptions": {} - } - }, - "id": 82519, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "17112:10:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "17100:22:133", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 82524, - "nodeType": "IfStatement", - "src": "17096:56:133", - "trueBody": { - "errorCall": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 82521, - "name": "AddressCannotBeZero", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81437, - "src": "17131:19:133", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 82522, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "17131:21:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 82523, - "nodeType": "RevertStatement", - "src": "17124:28:133" - } - } - ] - }, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_revertZeroAddress", - "nameLocation": "17035:18:133", - "parameters": { - "id": 82513, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 82512, - "mutability": "mutable", - "name": "_address", - "nameLocation": "17062:8:133", - "nodeType": "VariableDeclaration", - "scope": 82526, - "src": "17054:16:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 82511, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "17054:7:133", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "17053:18:133" - }, - "returnParameters": { - "id": 82514, - "nodeType": "ParameterList", - "parameters": [], - "src": "17086:0:133" - }, - "scope": 83082, - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "id": 82554, - "nodeType": "FunctionDefinition", - "src": "17165:229:133", - "nodes": [], - "body": { - "id": 82553, - "nodeType": "Block", - "src": "17220:174:133", - "nodes": [], - "statements": [ - { - "expression": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 82531, - "name": "onlyCouncilSafe", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81357, - "src": "17230:15:133", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$__$", - "typeString": "function () view" - } - }, - "id": 82532, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "17230:17:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 82533, - "nodeType": "ExpressionStatement", - "src": "17230:17:133" - }, - { - "assignments": [ - 82535 - ], - "declarations": [ - { - "constant": false, - "id": 82535, - "mutability": "mutable", - "name": "strategy", - "nameLocation": "17265:8:133", - "nodeType": "VariableDeclaration", - "scope": 82553, - "src": "17257:16:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 82534, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "17257:7:133", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "id": 82544, - "initialValue": { - "arguments": [ - { - "expression": { - "arguments": [ - { - "id": 82540, - "name": "poolId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82528, - "src": "17297:6:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 82538, - "name": "allo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81545, - "src": "17284:4:133", - "typeDescriptions": { - "typeIdentifier": "t_contract$_FAllo_$81222", - "typeString": "contract FAllo" - } - }, - "id": 82539, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "17289:7:133", - "memberName": "getPool", - "nodeType": "MemberAccess", - "referencedDeclaration": 81221, - "src": "17284:12:133", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_struct$_Pool_$2319_memory_ptr_$", - "typeString": "function (uint256) view external returns (struct IAllo.Pool memory)" - } - }, - "id": 82541, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "17284:20:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pool_$2319_memory_ptr", - "typeString": "struct IAllo.Pool memory" - } - }, - "id": 82542, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "17305:8:133", - "memberName": "strategy", - "nodeType": "MemberAccess", - "referencedDeclaration": 2309, - "src": "17284:29:133", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IStrategy_$2969", - "typeString": "contract IStrategy" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_IStrategy_$2969", - "typeString": "contract IStrategy" - } - ], - "id": 82537, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "17276:7:133", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 82536, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "17276:7:133", - "typeDescriptions": {} - } - }, - "id": 82543, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "17276:38:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "17257:57:133" - }, - { - "expression": { - "arguments": [ - { - "id": 82546, - "name": "strategy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82535, - "src": "17343:8:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 82545, - "name": "_revertZeroAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82526, - "src": "17324:18:133", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_address_$returns$__$", - "typeString": "function (address) pure" - } - }, - "id": 82547, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "17324:28:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 82548, - "nodeType": "ExpressionStatement", - "src": "17324:28:133" - }, - { - "expression": { - "arguments": [ - { - "id": 82550, - "name": "strategy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82535, - "src": "17378:8:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 82549, - "name": "_removeStrategy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82574, - "src": "17362:15:133", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", - "typeString": "function (address)" - } - }, - "id": 82551, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "17362:25:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 82552, - "nodeType": "ExpressionStatement", - "src": "17362:25:133" - } - ] - }, - "functionSelector": "73265c37", - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "removeStrategyByPoolId", - "nameLocation": "17174:22:133", - "parameters": { - "id": 82529, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 82528, - "mutability": "mutable", - "name": "poolId", - "nameLocation": "17205:6:133", - "nodeType": "VariableDeclaration", - "scope": 82554, - "src": "17197:14:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 82527, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17197:7:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "17196:16:133" - }, - "returnParameters": { - "id": 82530, - "nodeType": "ParameterList", - "parameters": [], - "src": "17220:0:133" - }, - "scope": 83082, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "id": 82574, - "nodeType": "FunctionDefinition", - "src": "17400:186:133", - "nodes": [], - "body": { - "id": 82573, - "nodeType": "Block", - "src": "17453:133:133", - "nodes": [], - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 82560, - "name": "_strategy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82556, - "src": "17482:9:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 82559, - "name": "_revertZeroAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82526, - "src": "17463:18:133", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_address_$returns$__$", - "typeString": "function (address) pure" - } - }, - "id": 82561, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "17463:29:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 82562, - "nodeType": "ExpressionStatement", - "src": "17463:29:133" - }, - { - "expression": { - "id": 82567, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "id": 82563, - "name": "enabledStrategies", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81553, - "src": "17502:17:133", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 82565, - "indexExpression": { - "id": 82564, - "name": "_strategy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82556, - "src": "17520:9:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "17502:28:133", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "hexValue": "66616c7365", - "id": 82566, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "17533:5:133", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "src": "17502:36:133", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 82568, - "nodeType": "ExpressionStatement", - "src": "17502:36:133" - }, - { - "eventCall": { - "arguments": [ - { - "id": 82570, - "name": "_strategy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82556, - "src": "17569:9:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 82569, - "name": "StrategyRemoved", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81299, - "src": "17553:15:133", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$", - "typeString": "function (address)" - } - }, - "id": 82571, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "17553:26:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 82572, - "nodeType": "EmitStatement", - "src": "17548:31:133" - } - ] - }, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_removeStrategy", - "nameLocation": "17409:15:133", - "parameters": { - "id": 82557, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 82556, - "mutability": "mutable", - "name": "_strategy", - "nameLocation": "17433:9:133", - "nodeType": "VariableDeclaration", - "scope": 82574, - "src": "17425:17:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 82555, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "17425:7:133", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "17424:19:133" - }, - "returnParameters": { - "id": 82558, - "nodeType": "ParameterList", - "parameters": [], - "src": "17453:0:133" - }, - "scope": 83082, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "id": 82587, - "nodeType": "FunctionDefinition", - "src": "17592:120:133", - "nodes": [], - "body": { - "id": 82586, - "nodeType": "Block", - "src": "17642:70:133", - "nodes": [], - "statements": [ - { - "expression": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 82579, - "name": "onlyCouncilSafe", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81357, - "src": "17652:15:133", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$__$", - "typeString": "function () view" - } - }, - "id": 82580, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "17652:17:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 82581, - "nodeType": "ExpressionStatement", - "src": "17652:17:133" - }, - { - "expression": { - "arguments": [ - { - "id": 82583, - "name": "_strategy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82576, - "src": "17695:9:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 82582, - "name": "_removeStrategy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82574, - "src": "17679:15:133", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", - "typeString": "function (address)" - } - }, - "id": 82584, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "17679:26:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 82585, - "nodeType": "ExpressionStatement", - "src": "17679:26:133" - } - ] - }, - "functionSelector": "175188e8", - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "removeStrategy", - "nameLocation": "17601:14:133", - "parameters": { - "id": 82577, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 82576, - "mutability": "mutable", - "name": "_strategy", - "nameLocation": "17624:9:133", - "nodeType": "VariableDeclaration", - "scope": 82587, - "src": "17616:17:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 82575, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "17616:7:133", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "17615:19:133" - }, - "returnParameters": { - "id": 82578, - "nodeType": "ParameterList", - "parameters": [], - "src": "17642:0:133" - }, - "scope": 83082, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "id": 82612, - "nodeType": "FunctionDefinition", - "src": "17718:240:133", - "nodes": [], - "body": { - "id": 82611, - "nodeType": "Block", - "src": "17772:186:133", - "nodes": [], - "statements": [ - { - "expression": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 82592, - "name": "onlyCouncilSafe", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81357, - "src": "17782:15:133", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$__$", - "typeString": "function () view" - } - }, - "id": 82593, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "17782:17:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 82594, - "nodeType": "ExpressionStatement", - "src": "17782:17:133" - }, - { - "expression": { - "arguments": [ - { - "id": 82596, - "name": "_safe", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82589, - "src": "17828:5:133", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 82595, - "name": "_revertZeroAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82526, - "src": "17809:18:133", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_address_$returns$__$", - "typeString": "function (address) pure" - } - }, - "id": 82597, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "17809:25:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 82598, - "nodeType": "ExpressionStatement", - "src": "17809:25:133" - }, - { - "expression": { - "id": 82601, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 82599, - "name": "pendingCouncilSafe", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81533, - "src": "17844:18:133", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 82600, - "name": "_safe", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82589, - "src": "17865:5:133", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "17844:26:133", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "id": 82602, - "nodeType": "ExpressionStatement", - "src": "17844:26:133" - }, - { - "eventCall": { - "arguments": [ - { - "arguments": [ - { - "id": 82606, - "name": "councilSafe", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81542, - "src": "17918:11:133", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ISafe_$85665", - "typeString": "contract ISafe" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_ISafe_$85665", - "typeString": "contract ISafe" - } - ], - "id": 82605, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "17910:7:133", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 82604, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "17910:7:133", - "typeDescriptions": {} - } - }, - "id": 82607, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "17910:20:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 82608, - "name": "pendingCouncilSafe", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81533, - "src": "17932:18:133", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 82603, - "name": "CouncilSafeChangeStarted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81258, - "src": "17885:24:133", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$", - "typeString": "function (address,address)" - } - }, - "id": 82609, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "17885:66:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 82610, - "nodeType": "EmitStatement", - "src": "17880:71:133" - } - ] - }, - "functionSelector": "397e2543", - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "setCouncilSafe", - "nameLocation": "17727:14:133", - "parameters": { - "id": 82590, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 82589, - "mutability": "mutable", - "name": "_safe", - "nameLocation": "17758:5:133", - "nodeType": "VariableDeclaration", - "scope": 82612, - "src": "17742:21:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - "typeName": { - "id": 82588, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "17742:15:133", - "stateMutability": "payable", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "visibility": "internal" - } - ], - "src": "17741:23:133" - }, - "returnParameters": { - "id": 82591, - "nodeType": "ParameterList", - "parameters": [], - "src": "17772:0:133" - }, - "scope": 83082, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "id": 82629, - "nodeType": "FunctionDefinition", - "src": "17964:179:133", - "nodes": [], - "body": { - "id": 82628, - "nodeType": "Block", - "src": "18003:140:133", - "nodes": [], - "statements": [ - { - "expression": { - "id": 82619, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 82615, - "name": "councilSafe", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81542, - "src": "18013:11:133", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ISafe_$85665", - "typeString": "contract ISafe" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "id": 82617, - "name": "pendingCouncilSafe", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81533, - "src": "18033:18:133", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 82616, - "name": "ISafe", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 85665, - "src": "18027:5:133", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ISafe_$85665_$", - "typeString": "type(contract ISafe)" - } - }, - "id": 82618, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "18027:25:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_ISafe_$85665", - "typeString": "contract ISafe" - } - }, - "src": "18013:39:133", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ISafe_$85665", - "typeString": "contract ISafe" - } - }, - "id": 82620, - "nodeType": "ExpressionStatement", - "src": "18013:39:133" - }, - { - "expression": { - "id": 82622, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "delete", - "prefix": true, - "src": "18062:25:133", - "subExpression": { - "id": 82621, - "name": "pendingCouncilSafe", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81533, - "src": "18069:18:133", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 82623, - "nodeType": "ExpressionStatement", - "src": "18062:25:133" - }, - { - "eventCall": { - "arguments": [ - { - "id": 82625, - "name": "pendingCouncilSafe", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81533, - "src": "18117:18:133", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 82624, - "name": "CouncilSafeSet", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81252, - "src": "18102:14:133", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$", - "typeString": "function (address)" - } - }, - "id": 82626, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "18102:34:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 82627, - "nodeType": "EmitStatement", - "src": "18097:39:133" - } - ] - }, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_changeCouncilSafe", - "nameLocation": "17973:18:133", - "parameters": { - "id": 82613, - "nodeType": "ParameterList", - "parameters": [], - "src": "17991:2:133" - }, - "returnParameters": { - "id": 82614, - "nodeType": "ParameterList", - "parameters": [], - "src": "18003:0:133" - }, - "scope": 83082, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "id": 82645, - "nodeType": "FunctionDefinition", - "src": "18149:171:133", - "nodes": [], - "body": { - "id": 82644, - "nodeType": "Block", - "src": "18185:135:133", - "nodes": [], - "statements": [ - { - "condition": { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 82635, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 82632, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "18199:3:133", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 82633, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "18203:6:133", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "18199:10:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "id": 82634, - "name": "pendingCouncilSafe", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81533, - "src": "18213:18:133", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "18199:32:133", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 82640, - "nodeType": "IfStatement", - "src": "18195:89:133", - "trueBody": { - "id": 82639, - "nodeType": "Block", - "src": "18233:51:133", - "statements": [ - { - "errorCall": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 82636, - "name": "SenderNotNewOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81457, - "src": "18254:17:133", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 82637, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "18254:19:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 82638, - "nodeType": "RevertStatement", - "src": "18247:26:133" - } - ] - } - }, - { - "expression": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 82641, - "name": "_changeCouncilSafe", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82629, - "src": "18293:18:133", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", - "typeString": "function ()" - } - }, - "id": 82642, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "18293:20:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 82643, - "nodeType": "ExpressionStatement", - "src": "18293:20:133" - } - ] - }, - "functionSelector": "b5058c50", - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "acceptCouncilSafe", - "nameLocation": "18158:17:133", - "parameters": { - "id": 82630, - "nodeType": "ParameterList", - "parameters": [], - "src": "18175:2:133" - }, - "returnParameters": { - "id": 82631, - "nodeType": "ParameterList", - "parameters": [], - "src": "18185:0:133" - }, - "scope": 83082, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "id": 82663, - "nodeType": "FunctionDefinition", - "src": "18326:182:133", - "nodes": [], - "body": { - "id": 82662, - "nodeType": "Block", - "src": "18398:110:133", - "nodes": [], - "statements": [ - { - "assignments": [ - 82654 - ], - "declarations": [ - { - "constant": false, - "id": 82654, - "mutability": "mutable", - "name": "newMember", - "nameLocation": "18422:9:133", - "nodeType": "VariableDeclaration", - "scope": 82662, - "src": "18408:23:133", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Member_$81482_memory_ptr", - "typeString": "struct RegistryCommunity.Member" - }, - "typeName": { - "id": 82653, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 82652, - "name": "Member", - "nameLocations": [ - "18408:6:133" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 81482, - "src": "18408:6:133" - }, - "referencedDeclaration": 81482, - "src": "18408:6:133", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Member_$81482_storage_ptr", - "typeString": "struct RegistryCommunity.Member" - } - }, - "visibility": "internal" - } - ], - "id": 82658, - "initialValue": { - "baseExpression": { - "id": 82655, - "name": "addressToMemberInfo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81564, - "src": "18434:19:133", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Member_$81482_storage_$", - "typeString": "mapping(address => struct RegistryCommunity.Member storage ref)" - } - }, - "id": 82657, - "indexExpression": { - "id": 82656, - "name": "_member", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82647, - "src": "18454:7:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "18434:28:133", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Member_$81482_storage", - "typeString": "struct RegistryCommunity.Member storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "18408:54:133" - }, - { - "expression": { - "expression": { - "id": 82659, - "name": "newMember", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82654, - "src": "18479:9:133", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Member_$81482_memory_ptr", - "typeString": "struct RegistryCommunity.Member memory" - } - }, - "id": 82660, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "18489:12:133", - "memberName": "isRegistered", - "nodeType": "MemberAccess", - "referencedDeclaration": 81481, - "src": "18479:22:133", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 82651, - "id": 82661, - "nodeType": "Return", - "src": "18472:29:133" - } - ] - }, - "functionSelector": "a230c524", - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "isMember", - "nameLocation": "18335:8:133", - "parameters": { - "id": 82648, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 82647, - "mutability": "mutable", - "name": "_member", - "nameLocation": "18352:7:133", - "nodeType": "VariableDeclaration", - "scope": 82663, - "src": "18344:15:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 82646, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "18344:7:133", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "18343:17:133" - }, - "returnParameters": { - "id": 82651, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 82650, - "mutability": "mutable", - "name": "_isMember", - "nameLocation": "18387:9:133", - "nodeType": "VariableDeclaration", - "scope": 82663, - "src": "18382:14:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 82649, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "18382:4:133", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "18381:16:133" - }, - "scope": 83082, - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "id": 82822, - "nodeType": "FunctionDefinition", - "src": "18514:1907:133", - "nodes": [], - "body": { - "id": 82821, - "nodeType": "Block", - "src": "18568:1853:133", - "nodes": [], - "statements": [ - { - "assignments": [ - 82669 - ], - "declarations": [ - { - "constant": false, - "id": 82669, - "mutability": "mutable", - "name": "_member", - "nameLocation": "18586:7:133", - "nodeType": "VariableDeclaration", - "scope": 82821, - "src": "18578:15:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 82668, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "18578:7:133", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "id": 82672, - "initialValue": { - "expression": { - "id": 82670, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "18596:3:133", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 82671, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "18600:6:133", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "18596:10:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "18578:28:133" - }, - { - "assignments": [ - 82675 - ], - "declarations": [ - { - "constant": false, - "id": 82675, - "mutability": "mutable", - "name": "newMember", - "nameLocation": "18631:9:133", - "nodeType": "VariableDeclaration", - "scope": 82821, - "src": "18616:24:133", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Member_$81482_storage_ptr", - "typeString": "struct RegistryCommunity.Member" - }, - "typeName": { - "id": 82674, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 82673, - "name": "Member", - "nameLocations": [ - "18616:6:133" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 81482, - "src": "18616:6:133" - }, - "referencedDeclaration": 81482, - "src": "18616:6:133", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Member_$81482_storage_ptr", - "typeString": "struct RegistryCommunity.Member" - } - }, - "visibility": "internal" - } - ], - "id": 82679, - "initialValue": { - "baseExpression": { - "id": 82676, - "name": "addressToMemberInfo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81564, - "src": "18643:19:133", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Member_$81482_storage_$", - "typeString": "mapping(address => struct RegistryCommunity.Member storage ref)" - } - }, - "id": 82678, - "indexExpression": { - "id": 82677, - "name": "_member", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82669, - "src": "18663:7:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "18643:28:133", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Member_$81482_storage", - "typeString": "struct RegistryCommunity.Member storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "18616:55:133" - }, - { - "assignments": [ - 82682 - ], - "declarations": [ - { - "constant": false, - "id": 82682, - "mutability": "mutable", - "name": "gardensFactory", - "nameLocation": "18697:14:133", - "nodeType": "VariableDeclaration", - "scope": 82821, - "src": "18681:30:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_RegistryFactory_$85283", - "typeString": "contract RegistryFactory" - }, - "typeName": { - "id": 82681, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 82680, - "name": "RegistryFactory", - "nameLocations": [ - "18681:15:133" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 85283, - "src": "18681:15:133" - }, - "referencedDeclaration": 85283, - "src": "18681:15:133", - "typeDescriptions": { - "typeIdentifier": "t_contract$_RegistryFactory_$85283", - "typeString": "contract RegistryFactory" - } - }, - "visibility": "internal" - } - ], - "id": 82686, - "initialValue": { - "arguments": [ - { - "id": 82684, - "name": "registryFactory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81527, - "src": "18730:15:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 82683, - "name": "RegistryFactory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 85283, - "src": "18714:15:133", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_RegistryFactory_$85283_$", - "typeString": "type(contract RegistryFactory)" - } - }, - "id": 82685, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "18714:32:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_RegistryFactory_$85283", - "typeString": "contract RegistryFactory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "18681:65:133" - }, - { - "assignments": [ - 82688 - ], - "declarations": [ - { - "constant": false, - "id": 82688, - "mutability": "mutable", - "name": "communityFeeAmount", - "nameLocation": "18764:18:133", - "nodeType": "VariableDeclaration", - "scope": 82821, - "src": "18756:26:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 82687, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "18756:7:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 82698, - "initialValue": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 82697, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 82691, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 82689, - "name": "registerStakeAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81519, - "src": "18786:19:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "id": 82690, - "name": "communityFee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81521, - "src": "18808:12:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "18786:34:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 82692, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "18785:36:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 82695, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "hexValue": "313030", - "id": 82693, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18825:3:133", - "typeDescriptions": { - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - }, - "value": "100" - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "id": 82694, - "name": "PRECISION_SCALE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81583, - "src": "18831:15:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "18825:21:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 82696, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "18824:23:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "18785:62:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "18756:91:133" - }, - { - "assignments": [ - 82700 - ], - "declarations": [ - { - "constant": false, - "id": 82700, - "mutability": "mutable", - "name": "gardensFeeAmount", - "nameLocation": "18865:16:133", - "nodeType": "VariableDeclaration", - "scope": 82821, - "src": "18857:24:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 82699, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "18857:7:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 82716, - "initialValue": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 82715, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 82709, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 82701, - "name": "registerStakeAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81519, - "src": "18897:19:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "arguments": [ - { - "arguments": [ - { - "id": 82706, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "18957:4:133", - "typeDescriptions": { - "typeIdentifier": "t_contract$_RegistryCommunity_$83082", - "typeString": "contract RegistryCommunity" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_RegistryCommunity_$83082", - "typeString": "contract RegistryCommunity" - } - ], - "id": 82705, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "18949:7:133", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 82704, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "18949:7:133", - "typeDescriptions": {} - } - }, - "id": 82707, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "18949:13:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "id": 82702, - "name": "gardensFactory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82682, - "src": "18919:14:133", - "typeDescriptions": { - "typeIdentifier": "t_contract$_RegistryFactory_$85283", - "typeString": "contract RegistryFactory" - } - }, - "id": 82703, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "18934:14:133", - "memberName": "getProtocolFee", - "nodeType": "MemberAccess", - "referencedDeclaration": 85282, - "src": "18919:29:133", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 82708, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "18919:44:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "18897:66:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 82710, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "18896:68:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 82713, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "hexValue": "313030", - "id": 82711, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18968:3:133", - "typeDescriptions": { - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - }, - "value": "100" - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "id": 82712, - "name": "PRECISION_SCALE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81583, - "src": "18974:15:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "18968:21:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 82714, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "18967:23:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "18896:94:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "18857:133:133" - }, - { - "condition": { - "id": 82720, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "19004:18:133", - "subExpression": { - "arguments": [ - { - "id": 82718, - "name": "_member", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82669, - "src": "19014:7:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 82717, - "name": "isMember", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82663, - "src": "19005:8:133", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", - "typeString": "function (address) view returns (bool)" - } - }, - "id": 82719, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "19005:17:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 82820, - "nodeType": "IfStatement", - "src": "19000:1415:133", - "trueBody": { - "id": 82819, - "nodeType": "Block", - "src": "19024:1391:133", - "statements": [ - { - "expression": { - "id": 82725, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "expression": { - "id": 82721, - "name": "newMember", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82675, - "src": "19038:9:133", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Member_$81482_storage_ptr", - "typeString": "struct RegistryCommunity.Member storage pointer" - } - }, - "id": 82723, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberLocation": "19048:12:133", - "memberName": "isRegistered", - "nodeType": "MemberAccess", - "referencedDeclaration": 81481, - "src": "19038:22:133", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "hexValue": "74727565", - "id": 82724, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "19063:4:133", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "19038:29:133", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 82726, - "nodeType": "ExpressionStatement", - "src": "19038:29:133" - }, - { - "expression": { - "id": 82731, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "expression": { - "id": 82727, - "name": "newMember", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82675, - "src": "19082:9:133", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Member_$81482_storage_ptr", - "typeString": "struct RegistryCommunity.Member storage pointer" - } - }, - "id": 82729, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberLocation": "19092:12:133", - "memberName": "stakedAmount", - "nodeType": "MemberAccess", - "referencedDeclaration": 81479, - "src": "19082:22:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 82730, - "name": "registerStakeAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81519, - "src": "19107:19:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "19082:44:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 82732, - "nodeType": "ExpressionStatement", - "src": "19082:44:133" - }, - { - "expression": { - "arguments": [ - { - "hexValue": "67617264656e546f6b656e", - "id": 82736, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "19224:13:133", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_b6b24c50b8ec3de451e1d7969209d38d6bc12dc5d1266588ab0e293c9a1b753a", - "typeString": "literal_string \"gardenToken\"" - }, - "value": "gardenToken" - }, - { - "arguments": [ - { - "id": 82739, - "name": "gardenToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81539, - "src": "19247:11:133", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$57069", - "typeString": "contract IERC20" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_IERC20_$57069", - "typeString": "contract IERC20" - } - ], - "id": 82738, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "19239:7:133", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 82737, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "19239:7:133", - "typeDescriptions": {} - } - }, - "id": 82740, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "19239:20:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_b6b24c50b8ec3de451e1d7969209d38d6bc12dc5d1266588ab0e293c9a1b753a", - "typeString": "literal_string \"gardenToken\"" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "id": 82733, - "name": "console", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29549, - "src": "19212:7:133", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_console_$29549_$", - "typeString": "type(library console)" - } - }, - "id": 82735, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "19220:3:133", - "memberName": "log", - "nodeType": "MemberAccess", - "referencedDeclaration": 22244, - "src": "19212:11:133", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_string_memory_ptr_$_t_address_$returns$__$", - "typeString": "function (string memory,address) view" - } - }, - "id": 82741, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "19212:48:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 82742, - "nodeType": "ExpressionStatement", - "src": "19212:48:133" - }, - { - "expression": { - "arguments": [ - { - "id": 82746, - "name": "_member", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82669, - "src": "19321:7:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "arguments": [ - { - "id": 82749, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "19338:4:133", - "typeDescriptions": { - "typeIdentifier": "t_contract$_RegistryCommunity_$83082", - "typeString": "contract RegistryCommunity" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_RegistryCommunity_$83082", - "typeString": "contract RegistryCommunity" - } - ], - "id": 82748, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "19330:7:133", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 82747, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "19330:7:133", - "typeDescriptions": {} - } - }, - "id": 82750, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "19330:13:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 82755, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 82753, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 82751, - "name": "registerStakeAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81519, - "src": "19345:19:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "id": 82752, - "name": "communityFeeAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82688, - "src": "19367:18:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "19345:40:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "id": 82754, - "name": "gardensFeeAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82700, - "src": "19388:16:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "19345:59:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 82743, - "name": "gardenToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81539, - "src": "19275:11:133", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$57069", - "typeString": "contract IERC20" - } - }, - "id": 82745, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "19287:16:133", - "memberName": "safeTransferFrom", - "nodeType": "MemberAccess", - "referencedDeclaration": 57190, - "src": "19275:28:133", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IERC20_$57069_$_t_address_$_t_address_$_t_uint256_$returns$__$attached_to$_t_contract$_IERC20_$57069_$", - "typeString": "function (contract IERC20,address,address,uint256)" - } - }, - "id": 82756, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "19275:143:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 82757, - "nodeType": "ExpressionStatement", - "src": "19275:143:133" - }, - { - "expression": { - "arguments": [ - { - "hexValue": "636f6d6d756e697479466565416d6f756e74", - "id": 82761, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "19781:20:133", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_415492b98adc161fabebd8057944f6684f9fd452571affd947805630e42af66a", - "typeString": "literal_string \"communityFeeAmount\"" - }, - "value": "communityFeeAmount" - }, - { - "id": 82762, - "name": "communityFeeAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82688, - "src": "19803:18:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_415492b98adc161fabebd8057944f6684f9fd452571affd947805630e42af66a", - "typeString": "literal_string \"communityFeeAmount\"" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 82758, - "name": "console", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29549, - "src": "19769:7:133", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_console_$29549_$", - "typeString": "type(library console)" - } - }, - "id": 82760, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "19777:3:133", - "memberName": "log", - "nodeType": "MemberAccess", - "referencedDeclaration": 22193, - "src": "19769:11:133", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$", - "typeString": "function (string memory,uint256) view" - } - }, - "id": 82763, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "19769:53:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 82764, - "nodeType": "ExpressionStatement", - "src": "19769:53:133" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 82767, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 82765, - "name": "communityFeeAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82688, - "src": "19840:18:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "hexValue": "30", - "id": 82766, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "19861:1:133", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "19840:22:133", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 82783, - "nodeType": "IfStatement", - "src": "19836:175:133", - "trueBody": { - "id": 82782, - "nodeType": "Block", - "src": "19864:147:133", - "statements": [ - { - "expression": { - "arguments": [ - { - "hexValue": "6665655265636569766572", - "id": 82771, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "19894:13:133", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_389e7cbf003e878980985f1a72c90dbe5b79c41a44fb160ac26b4fef395d0916", - "typeString": "literal_string \"feeReceiver\"" - }, - "value": "feeReceiver" - }, - { - "id": 82772, - "name": "feeReceiver", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81525, - "src": "19909:11:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_389e7cbf003e878980985f1a72c90dbe5b79c41a44fb160ac26b4fef395d0916", - "typeString": "literal_string \"feeReceiver\"" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "id": 82768, - "name": "console", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29549, - "src": "19882:7:133", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_console_$29549_$", - "typeString": "type(library console)" - } - }, - "id": 82770, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "19890:3:133", - "memberName": "log", - "nodeType": "MemberAccess", - "referencedDeclaration": 22244, - "src": "19882:11:133", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_string_memory_ptr_$_t_address_$returns$__$", - "typeString": "function (string memory,address) view" - } - }, - "id": 82773, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "19882:39:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 82774, - "nodeType": "ExpressionStatement", - "src": "19882:39:133" - }, - { - "expression": { - "arguments": [ - { - "id": 82778, - "name": "feeReceiver", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81525, - "src": "19964:11:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 82779, - "name": "communityFeeAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82688, - "src": "19977:18:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 82775, - "name": "gardenToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81539, - "src": "19939:11:133", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$57069", - "typeString": "contract IERC20" - } - }, - "id": 82777, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "19951:12:133", - "memberName": "safeTransfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 57163, - "src": "19939:24:133", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IERC20_$57069_$_t_address_$_t_uint256_$returns$__$attached_to$_t_contract$_IERC20_$57069_$", - "typeString": "function (contract IERC20,address,uint256)" - } - }, - "id": 82780, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "19939:57:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 82781, - "nodeType": "ExpressionStatement", - "src": "19939:57:133" - } - ] - } - }, - { - "expression": { - "arguments": [ - { - "hexValue": "67617264656e73466565416d6f756e74", - "id": 82787, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20036:18:133", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_da8763bbba0536c18d8861cb49d3bb999157cbcc3d98d4bc78b4c3f620189681", - "typeString": "literal_string \"gardensFeeAmount\"" - }, - "value": "gardensFeeAmount" - }, - { - "id": 82788, - "name": "gardensFeeAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82700, - "src": "20056:16:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_da8763bbba0536c18d8861cb49d3bb999157cbcc3d98d4bc78b4c3f620189681", - "typeString": "literal_string \"gardensFeeAmount\"" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 82784, - "name": "console", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29549, - "src": "20024:7:133", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_console_$29549_$", - "typeString": "type(library console)" - } - }, - "id": 82786, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "20032:3:133", - "memberName": "log", - "nodeType": "MemberAccess", - "referencedDeclaration": 22193, - "src": "20024:11:133", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$", - "typeString": "function (string memory,uint256) view" - } - }, - "id": 82789, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "20024:49:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 82790, - "nodeType": "ExpressionStatement", - "src": "20024:49:133" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 82793, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 82791, - "name": "gardensFeeAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82700, - "src": "20091:16:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "hexValue": "30", - "id": 82792, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20110:1:133", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "20091:20:133", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 82813, - "nodeType": "IfStatement", - "src": "20087:252:133", - "trueBody": { - "id": 82812, - "nodeType": "Block", - "src": "20113:226:133", - "statements": [ - { - "expression": { - "arguments": [ - { - "hexValue": "67617264656e73466163746f72792e67657447617264656e7346656552656365697665722829", - "id": 82797, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20143:40:133", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_52073e8ed84f6dfe673a411cc23bb08f06da5bbdad4d391c0e8d90fc482c379a", - "typeString": "literal_string \"gardensFactory.getGardensFeeReceiver()\"" - }, - "value": "gardensFactory.getGardensFeeReceiver()" - }, - { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "id": 82798, - "name": "gardensFactory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82682, - "src": "20185:14:133", - "typeDescriptions": { - "typeIdentifier": "t_contract$_RegistryFactory_$85283", - "typeString": "contract RegistryFactory" - } - }, - "id": 82799, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "20200:21:133", - "memberName": "getGardensFeeReceiver", - "nodeType": "MemberAccess", - "referencedDeclaration": 85201, - "src": "20185:36:133", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", - "typeString": "function () view external returns (address)" - } - }, - "id": 82800, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "20185:38:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_52073e8ed84f6dfe673a411cc23bb08f06da5bbdad4d391c0e8d90fc482c379a", - "typeString": "literal_string \"gardensFactory.getGardensFeeReceiver()\"" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "id": 82794, - "name": "console", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29549, - "src": "20131:7:133", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_console_$29549_$", - "typeString": "type(library console)" - } - }, - "id": 82796, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "20139:3:133", - "memberName": "log", - "nodeType": "MemberAccess", - "referencedDeclaration": 22244, - "src": "20131:11:133", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_string_memory_ptr_$_t_address_$returns$__$", - "typeString": "function (string memory,address) view" - } - }, - "id": 82801, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "20131:93:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 82802, - "nodeType": "ExpressionStatement", - "src": "20131:93:133" - }, - { - "expression": { - "arguments": [ - { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "id": 82806, - "name": "gardensFactory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82682, - "src": "20267:14:133", - "typeDescriptions": { - "typeIdentifier": "t_contract$_RegistryFactory_$85283", - "typeString": "contract RegistryFactory" - } - }, - "id": 82807, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "20282:21:133", - "memberName": "getGardensFeeReceiver", - "nodeType": "MemberAccess", - "referencedDeclaration": 85201, - "src": "20267:36:133", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", - "typeString": "function () view external returns (address)" - } - }, - "id": 82808, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "20267:38:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 82809, - "name": "gardensFeeAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82700, - "src": "20307:16:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 82803, - "name": "gardenToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81539, - "src": "20242:11:133", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$57069", - "typeString": "contract IERC20" - } - }, - "id": 82805, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "20254:12:133", - "memberName": "safeTransfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 57163, - "src": "20242:24:133", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IERC20_$57069_$_t_address_$_t_uint256_$returns$__$attached_to$_t_contract$_IERC20_$57069_$", - "typeString": "function (contract IERC20,address,uint256)" - } - }, - "id": 82810, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "20242:82:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 82811, - "nodeType": "ExpressionStatement", - "src": "20242:82:133" - } - ] - } - }, - { - "eventCall": { - "arguments": [ - { - "id": 82815, - "name": "_member", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82669, - "src": "20375:7:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 82816, - "name": "registerStakeAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81519, - "src": "20384:19:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 82814, - "name": "MemberRegistered", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81264, - "src": "20358:16:133", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 82817, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "20358:46:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 82818, - "nodeType": "EmitStatement", - "src": "20353:51:133" - } - ] - } - } - ] - }, - "functionSelector": "3517aa7d", - "implemented": true, - "kind": "function", - "modifiers": [ - { - "id": 82666, - "kind": "modifierInvocation", - "modifierName": { - "id": 82665, - "name": "nonReentrant", - "nameLocations": [ - "18555:12:133" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 56243, - "src": "18555:12:133" - }, - "nodeType": "ModifierInvocation", - "src": "18555:12:133" - } - ], - "name": "stakeAndRegisterMember", - "nameLocation": "18523:22:133", - "parameters": { - "id": 82664, - "nodeType": "ParameterList", - "parameters": [], - "src": "18545:2:133" - }, - "returnParameters": { - "id": 82667, - "nodeType": "ParameterList", - "parameters": [], - "src": "18568:0:133" - }, - "scope": 83082, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "id": 82871, - "nodeType": "FunctionDefinition", - "src": "20427:467:133", - "nodes": [], - "body": { - "id": 82870, - "nodeType": "Block", - "src": "20491:403:133", - "nodes": [], - "statements": [ - { - "assignments": [ - 82829 - ], - "declarations": [ - { - "constant": false, - "id": 82829, - "mutability": "mutable", - "name": "gardensFactory", - "nameLocation": "20517:14:133", - "nodeType": "VariableDeclaration", - "scope": 82870, - "src": "20501:30:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_RegistryFactory_$85283", - "typeString": "contract RegistryFactory" - }, - "typeName": { - "id": 82828, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 82827, - "name": "RegistryFactory", - "nameLocations": [ - "20501:15:133" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 85283, - "src": "20501:15:133" - }, - "referencedDeclaration": 85283, - "src": "20501:15:133", - "typeDescriptions": { - "typeIdentifier": "t_contract$_RegistryFactory_$85283", - "typeString": "contract RegistryFactory" - } - }, - "visibility": "internal" - } - ], - "id": 82833, - "initialValue": { - "arguments": [ - { - "id": 82831, - "name": "registryFactory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81527, - "src": "20550:15:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 82830, - "name": "RegistryFactory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 85283, - "src": "20534:15:133", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_RegistryFactory_$85283_$", - "typeString": "type(contract RegistryFactory)" - } - }, - "id": 82832, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "20534:32:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_RegistryFactory_$85283", - "typeString": "contract RegistryFactory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "20501:65:133" - }, - { - "assignments": [ - 82835 - ], - "declarations": [ - { - "constant": false, - "id": 82835, - "mutability": "mutable", - "name": "communityFeeAmount", - "nameLocation": "20584:18:133", - "nodeType": "VariableDeclaration", - "scope": 82870, - "src": "20576:26:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 82834, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "20576:7:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 82845, - "initialValue": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 82844, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 82838, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 82836, - "name": "registerStakeAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81519, - "src": "20606:19:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "id": 82837, - "name": "communityFee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81521, - "src": "20628:12:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20606:34:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 82839, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "20605:36:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 82842, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "hexValue": "313030", - "id": 82840, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20645:3:133", - "typeDescriptions": { - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - }, - "value": "100" - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "id": 82841, - "name": "PRECISION_SCALE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81583, - "src": "20651:15:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20645:21:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 82843, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "20644:23:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20605:62:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "20576:91:133" - }, - { - "assignments": [ - 82847 - ], - "declarations": [ - { - "constant": false, - "id": 82847, - "mutability": "mutable", - "name": "gardensFeeAmount", - "nameLocation": "20685:16:133", - "nodeType": "VariableDeclaration", - "scope": 82870, - "src": "20677:24:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 82846, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "20677:7:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 82863, - "initialValue": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 82862, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 82856, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 82848, - "name": "registerStakeAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81519, - "src": "20717:19:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "arguments": [ - { - "arguments": [ - { - "id": 82853, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "20777:4:133", - "typeDescriptions": { - "typeIdentifier": "t_contract$_RegistryCommunity_$83082", - "typeString": "contract RegistryCommunity" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_RegistryCommunity_$83082", - "typeString": "contract RegistryCommunity" - } - ], - "id": 82852, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "20769:7:133", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 82851, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "20769:7:133", - "typeDescriptions": {} - } - }, - "id": 82854, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "20769:13:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "id": 82849, - "name": "gardensFactory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82829, - "src": "20739:14:133", - "typeDescriptions": { - "typeIdentifier": "t_contract$_RegistryFactory_$85283", - "typeString": "contract RegistryFactory" - } - }, - "id": 82850, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "20754:14:133", - "memberName": "getProtocolFee", - "nodeType": "MemberAccess", - "referencedDeclaration": 85282, - "src": "20739:29:133", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 82855, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "20739:44:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20717:66:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 82857, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "20716:68:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 82860, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "hexValue": "313030", - "id": 82858, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20788:3:133", - "typeDescriptions": { - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - }, - "value": "100" - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "id": 82859, - "name": "PRECISION_SCALE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81583, - "src": "20794:15:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20788:21:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 82861, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "20787:23:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20716:94:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "20677:133:133" - }, - { - "expression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 82868, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 82866, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 82864, - "name": "registerStakeAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81519, - "src": "20828:19:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "id": 82865, - "name": "communityFeeAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82835, - "src": "20850:18:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20828:40:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "id": 82867, - "name": "gardensFeeAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82847, - "src": "20871:16:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20828:59:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 82826, - "id": 82869, - "nodeType": "Return", - "src": "20821:66:133" - } - ] - }, - "functionSelector": "28c309e9", - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getStakeAmountWithFees", - "nameLocation": "20436:22:133", - "parameters": { - "id": 82823, - "nodeType": "ParameterList", - "parameters": [], - "src": "20458:2:133" - }, - "returnParameters": { - "id": 82826, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 82825, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 82871, - "src": "20482:7:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 82824, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "20482:7:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "20481:9:133" - }, - "scope": 83082, - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "id": 82879, - "nodeType": "FunctionDefinition", - "src": "20900:107:133", - "nodes": [], - "body": { - "id": 82878, - "nodeType": "Block", - "src": "20964:43:133", - "nodes": [], - "statements": [ - { - "expression": { - "id": 82876, - "name": "registerStakeAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81519, - "src": "20981:19:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 82875, - "id": 82877, - "nodeType": "Return", - "src": "20974:26:133" - } - ] - }, - "functionSelector": "0331383c", - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getBasisStakedAmount", - "nameLocation": "20909:20:133", - "parameters": { - "id": 82872, - "nodeType": "ParameterList", - "parameters": [], - "src": "20929:2:133" - }, - "returnParameters": { - "id": 82875, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 82874, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 82879, - "src": "20955:7:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 82873, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "20955:7:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "20954:9:133" - }, - "scope": 83082, - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "id": 82896, - "nodeType": "FunctionDefinition", - "src": "21013:182:133", - "nodes": [], - "body": { - "id": 82895, - "nodeType": "Block", - "src": "21072:123:133", - "nodes": [], - "statements": [ - { - "expression": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 82884, - "name": "onlyCouncilSafe", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81357, - "src": "21082:15:133", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$__$", - "typeString": "function () view" - } - }, - "id": 82885, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "21082:17:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 82886, - "nodeType": "ExpressionStatement", - "src": "21082:17:133" - }, - { - "expression": { - "id": 82889, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 82887, - "name": "registerStakeAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81519, - "src": "21109:19:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 82888, - "name": "_newAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82881, - "src": "21131:10:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "21109:32:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 82890, - "nodeType": "ExpressionStatement", - "src": "21109:32:133" - }, - { - "eventCall": { - "arguments": [ - { - "id": 82892, - "name": "_newAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82881, - "src": "21177:10:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 82891, - "name": "BasisStakedAmountSet", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81317, - "src": "21156:20:133", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 82893, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "21156:32:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 82894, - "nodeType": "EmitStatement", - "src": "21151:37:133" - } - ] - }, - "functionSelector": "31f61bca", - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "setBasisStakedAmount", - "nameLocation": "21022:20:133", - "parameters": { - "id": 82882, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 82881, - "mutability": "mutable", - "name": "_newAmount", - "nameLocation": "21051:10:133", - "nodeType": "VariableDeclaration", - "scope": 82896, - "src": "21043:18:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 82880, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "21043:7:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "21042:20:133" - }, - "returnParameters": { - "id": 82883, - "nodeType": "ParameterList", - "parameters": [], - "src": "21072:0:133" - }, - "scope": 83082, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "id": 82921, - "nodeType": "FunctionDefinition", - "src": "21201:280:133", - "nodes": [], - "body": { - "id": 82920, - "nodeType": "Block", - "src": "21259:222:133", - "nodes": [], - "statements": [ - { - "expression": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 82901, - "name": "onlyCouncilSafe", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81357, - "src": "21269:15:133", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$__$", - "typeString": "function () view" - } - }, - "id": 82902, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "21269:17:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 82903, - "nodeType": "ExpressionStatement", - "src": "21269:17:133" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 82906, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 82904, - "name": "_newCommunityFee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82898, - "src": "21300:16:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "id": 82905, - "name": "MAX_FEE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81588, - "src": "21319:7:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "21300:26:133", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 82911, - "nodeType": "IfStatement", - "src": "21296:86:133", - "trueBody": { - "id": 82910, - "nodeType": "Block", - "src": "21328:54:133", - "statements": [ - { - "errorCall": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 82907, - "name": "NewFeeGreaterThanMax", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81463, - "src": "21349:20:133", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 82908, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "21349:22:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 82909, - "nodeType": "RevertStatement", - "src": "21342:29:133" - } - ] - } - }, - { - "expression": { - "id": 82914, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 82912, - "name": "communityFee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81521, - "src": "21391:12:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 82913, - "name": "_newCommunityFee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82898, - "src": "21406:16:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "21391:31:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 82915, - "nodeType": "ExpressionStatement", - "src": "21391:31:133" - }, - { - "eventCall": { - "arguments": [ - { - "id": 82917, - "name": "_newCommunityFee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82898, - "src": "21457:16:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 82916, - "name": "CommunityFeeUpdated", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81282, - "src": "21437:19:133", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 82918, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "21437:37:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 82919, - "nodeType": "EmitStatement", - "src": "21432:42:133" - } - ] - }, - "functionSelector": "0d12bbdb", - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "setCommunityFee", - "nameLocation": "21210:15:133", - "parameters": { - "id": 82899, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 82898, - "mutability": "mutable", - "name": "_newCommunityFee", - "nameLocation": "21234:16:133", - "nodeType": "VariableDeclaration", - "scope": 82921, - "src": "21226:24:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 82897, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "21226:7:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "21225:26:133" - }, - "returnParameters": { - "id": 82900, - "nodeType": "ParameterList", - "parameters": [], - "src": "21259:0:133" - }, - "scope": 83082, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "id": 82934, - "nodeType": "FunctionDefinition", - "src": "21523:132:133", - "nodes": [], - "body": { - "id": 82933, - "nodeType": "Block", - "src": "21592:63:133", - "nodes": [], - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 82929, - "name": "COUNCIL_MEMBER_CHANGE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81244, - "src": "21617:21:133", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "id": 82930, - "name": "_member", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82923, - "src": "21640:7:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 82928, - "name": "hasRole", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 55072, - "src": "21609:7:133", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$", - "typeString": "function (bytes32,address) view returns (bool)" - } - }, - "id": 82931, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "21609:39:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 82927, - "id": 82932, - "nodeType": "Return", - "src": "21602:46:133" - } - ] - }, - "functionSelector": "ebd7dc52", - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "isCouncilMember", - "nameLocation": "21532:15:133", - "parameters": { - "id": 82924, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 82923, - "mutability": "mutable", - "name": "_member", - "nameLocation": "21556:7:133", - "nodeType": "VariableDeclaration", - "scope": 82934, - "src": "21548:15:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 82922, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "21548:7:133", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "21547:17:133" - }, - "returnParameters": { - "id": 82927, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 82926, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 82934, - "src": "21586:4:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 82925, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "21586:4:133", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "21585:6:133" - }, - "scope": 83082, - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "id": 82984, - "nodeType": "FunctionDefinition", - "src": "21661:453:133", - "nodes": [], - "body": { - "id": 82983, - "nodeType": "Block", - "src": "21709:405:133", - "nodes": [], - "statements": [ - { - "assignments": [ - 82940 - ], - "declarations": [ - { - "constant": false, - "id": 82940, - "mutability": "mutable", - "name": "_member", - "nameLocation": "21727:7:133", - "nodeType": "VariableDeclaration", - "scope": 82983, - "src": "21719:15:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 82939, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "21719:7:133", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "id": 82943, - "initialValue": { - "expression": { - "id": 82941, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "21737:3:133", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 82942, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "21741:6:133", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "21737:10:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "21719:28:133" - }, - { - "expression": { - "arguments": [ - { - "id": 82945, - "name": "_member", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82940, - "src": "21783:7:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 82944, - "name": "onlyRegistryMemberAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81386, - "src": "21757:25:133", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$__$", - "typeString": "function (address) view" - } - }, - "id": 82946, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "21757:34:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 82947, - "nodeType": "ExpressionStatement", - "src": "21757:34:133" - }, - { - "expression": { - "arguments": [ - { - "id": 82949, - "name": "_member", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82940, - "src": "21825:7:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 82948, - "name": "deactivateAllStrategies", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 83021, - "src": "21801:23:133", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", - "typeString": "function (address)" - } - }, - "id": 82950, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "21801:32:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 82951, - "nodeType": "ExpressionStatement", - "src": "21801:32:133" - }, - { - "assignments": [ - 82954 - ], - "declarations": [ - { - "constant": false, - "id": 82954, - "mutability": "mutable", - "name": "member", - "nameLocation": "21857:6:133", - "nodeType": "VariableDeclaration", - "scope": 82983, - "src": "21843:20:133", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Member_$81482_memory_ptr", - "typeString": "struct RegistryCommunity.Member" - }, - "typeName": { - "id": 82953, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 82952, - "name": "Member", - "nameLocations": [ - "21843:6:133" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 81482, - "src": "21843:6:133" - }, - "referencedDeclaration": 81482, - "src": "21843:6:133", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Member_$81482_storage_ptr", - "typeString": "struct RegistryCommunity.Member" - } - }, - "visibility": "internal" - } - ], - "id": 82958, - "initialValue": { - "baseExpression": { - "id": 82955, - "name": "addressToMemberInfo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81564, - "src": "21866:19:133", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Member_$81482_storage_$", - "typeString": "mapping(address => struct RegistryCommunity.Member storage ref)" - } - }, - "id": 82957, - "indexExpression": { - "id": 82956, - "name": "_member", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82940, - "src": "21886:7:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "21866:28:133", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Member_$81482_storage", - "typeString": "struct RegistryCommunity.Member storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "21843:51:133" - }, - { - "expression": { - "id": 82962, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "delete", - "prefix": true, - "src": "21904:35:133", - "subExpression": { - "baseExpression": { - "id": 82959, - "name": "addressToMemberInfo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81564, - "src": "21911:19:133", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Member_$81482_storage_$", - "typeString": "mapping(address => struct RegistryCommunity.Member storage ref)" - } - }, - "id": 82961, - "indexExpression": { - "id": 82960, - "name": "_member", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82940, - "src": "21931:7:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "21911:28:133", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Member_$81482_storage", - "typeString": "struct RegistryCommunity.Member storage ref" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 82963, - "nodeType": "ExpressionStatement", - "src": "21904:35:133" - }, - { - "expression": { - "id": 82967, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "delete", - "prefix": true, - "src": "21949:34:133", - "subExpression": { - "baseExpression": { - "id": 82964, - "name": "strategiesByMember", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81569, - "src": "21956:18:133", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_address_$dyn_storage_$", - "typeString": "mapping(address => address[] storage ref)" - } - }, - "id": 82966, - "indexExpression": { - "id": 82965, - "name": "_member", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82940, - "src": "21975:7:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "21956:27:133", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 82968, - "nodeType": "ExpressionStatement", - "src": "21949:34:133" - }, - { - "expression": { - "arguments": [ - { - "id": 82972, - "name": "_member", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82940, - "src": "22015:7:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "expression": { - "id": 82973, - "name": "member", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82954, - "src": "22024:6:133", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Member_$81482_memory_ptr", - "typeString": "struct RegistryCommunity.Member memory" - } - }, - "id": 82974, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "22031:12:133", - "memberName": "stakedAmount", - "nodeType": "MemberAccess", - "referencedDeclaration": 81479, - "src": "22024:19:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 82969, - "name": "gardenToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81539, - "src": "21994:11:133", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$57069", - "typeString": "contract IERC20" - } - }, - "id": 82971, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "22006:8:133", - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 57036, - "src": "21994:20:133", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) external returns (bool)" - } - }, - "id": 82975, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "21994:50:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 82976, - "nodeType": "ExpressionStatement", - "src": "21994:50:133" - }, - { - "eventCall": { - "arguments": [ - { - "id": 82978, - "name": "_member", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82940, - "src": "22078:7:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "expression": { - "id": 82979, - "name": "member", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82954, - "src": "22087:6:133", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Member_$81482_memory_ptr", - "typeString": "struct RegistryCommunity.Member memory" - } - }, - "id": 82980, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "22094:12:133", - "memberName": "stakedAmount", - "nodeType": "MemberAccess", - "referencedDeclaration": 81479, - "src": "22087:19:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 82977, - "name": "MemberUnregistered", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81270, - "src": "22059:18:133", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 82981, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "22059:48:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 82982, - "nodeType": "EmitStatement", - "src": "22054:53:133" - } - ] - }, - "functionSelector": "b99b4370", - "implemented": true, - "kind": "function", - "modifiers": [ - { - "id": 82937, - "kind": "modifierInvocation", - "modifierName": { - "id": 82936, - "name": "nonReentrant", - "nameLocations": [ - "21696:12:133" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 56243, - "src": "21696:12:133" - }, - "nodeType": "ModifierInvocation", - "src": "21696:12:133" - } - ], - "name": "unregisterMember", - "nameLocation": "21670:16:133", - "parameters": { - "id": 82935, - "nodeType": "ParameterList", - "parameters": [], - "src": "21686:2:133" - }, - "returnParameters": { - "id": 82938, - "nodeType": "ParameterList", - "parameters": [], - "src": "21709:0:133" - }, - "scope": 83082, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "id": 83021, - "nodeType": "FunctionDefinition", - "src": "22120:466:133", - "nodes": [], - "body": { - "id": 83020, - "nodeType": "Block", - "src": "22179:407:133", - "nodes": [], - "statements": [ - { - "assignments": [ - 82993 - ], - "declarations": [ - { - "constant": false, - "id": 82993, - "mutability": "mutable", - "name": "memberStrategies", - "nameLocation": "22206:16:133", - "nodeType": "VariableDeclaration", - "scope": 83020, - "src": "22189:33:133", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 82991, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "22189:7:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 82992, - "nodeType": "ArrayTypeName", - "src": "22189:9:133", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "visibility": "internal" - } - ], - "id": 82997, - "initialValue": { - "baseExpression": { - "id": 82994, - "name": "strategiesByMember", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81569, - "src": "22225:18:133", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_address_$dyn_storage_$", - "typeString": "mapping(address => address[] storage ref)" - } - }, - "id": 82996, - "indexExpression": { - "id": 82995, - "name": "_member", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82986, - "src": "22244:7:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "22225:27:133", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "22189:63:133" - }, - { - "body": { - "id": 83018, - "nodeType": "Block", - "src": "22382:198:133", - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 83015, - "name": "_member", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82986, - "src": "22561:7:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "arguments": [ - { - "baseExpression": { - "id": 83010, - "name": "memberStrategies", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82993, - "src": "22523:16:133", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 83012, - "indexExpression": { - "id": 83011, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82999, - "src": "22540:1:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "22523:19:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 83009, - "name": "IPointStrategy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74722, - "src": "22508:14:133", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IPointStrategy_$74722_$", - "typeString": "type(contract IPointStrategy)" - } - }, - "id": 83013, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "22508:35:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IPointStrategy_$74722", - "typeString": "contract IPointStrategy" - } - }, - "id": 83014, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "22544:16:133", - "memberName": "deactivatePoints", - "nodeType": "MemberAccess", - "referencedDeclaration": 74697, - "src": "22508:52:133", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$__$", - "typeString": "function (address) external" - } - }, - "id": 83016, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "22508:61:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 83017, - "nodeType": "ExpressionStatement", - "src": "22508:61:133" - } - ] - }, - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 83005, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 83002, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82999, - "src": "22348:1:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "expression": { - "id": 83003, - "name": "memberStrategies", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82993, - "src": "22352:16:133", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 83004, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "22369:6:133", - "memberName": "length", - "nodeType": "MemberAccess", - "src": "22352:23:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "22348:27:133", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 83019, - "initializationExpression": { - "assignments": [ - 82999 - ], - "declarations": [ - { - "constant": false, - "id": 82999, - "mutability": "mutable", - "name": "i", - "nameLocation": "22341:1:133", - "nodeType": "VariableDeclaration", - "scope": 83019, - "src": "22333:9:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 82998, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "22333:7:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 83001, - "initialValue": { - "hexValue": "30", - "id": 83000, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "22345:1:133", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "22333:13:133" - }, - "loopExpression": { - "expression": { - "id": 83007, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "22377:3:133", - "subExpression": { - "id": 83006, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82999, - "src": "22377:1:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 83008, - "nodeType": "ExpressionStatement", - "src": "22377:3:133" - }, - "nodeType": "ForStatement", - "src": "22328:252:133" - } - ] - }, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "deactivateAllStrategies", - "nameLocation": "22129:23:133", - "parameters": { - "id": 82987, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 82986, - "mutability": "mutable", - "name": "_member", - "nameLocation": "22161:7:133", - "nodeType": "VariableDeclaration", - "scope": 83021, - "src": "22153:15:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 82985, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "22153:7:133", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "22152:17:133" - }, - "returnParameters": { - "id": 82988, - "nodeType": "ParameterList", - "parameters": [], - "src": "22179:0:133" - }, - "scope": 83082, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "id": 83081, - "nodeType": "FunctionDefinition", - "src": "22592:571:133", - "nodes": [], - "body": { - "id": 83080, - "nodeType": "Block", - "src": "22675:488:133", - "nodes": [], - "statements": [ - { - "expression": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 83030, - "name": "onlyCouncilSafe", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81357, - "src": "22685:15:133", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$__$", - "typeString": "function () view" - } - }, - "id": 83031, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "22685:17:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 83032, - "nodeType": "ExpressionStatement", - "src": "22685:17:133" - }, - { - "condition": { - "id": 83034, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "22716:14:133", - "subExpression": { - "id": 83033, - "name": "isKickEnabled", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81517, - "src": "22717:13:133", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 83039, - "nodeType": "IfStatement", - "src": "22712:68:133", - "trueBody": { - "id": 83038, - "nodeType": "Block", - "src": "22732:48:133", - "statements": [ - { - "errorCall": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 83035, - "name": "KickNotEnabled", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81465, - "src": "22753:14:133", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 83036, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "22753:16:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 83037, - "nodeType": "RevertStatement", - "src": "22746:23:133" - } - ] - } - }, - { - "condition": { - "id": 83043, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "22793:18:133", - "subExpression": { - "arguments": [ - { - "id": 83041, - "name": "_member", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 83023, - "src": "22803:7:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 83040, - "name": "isMember", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82663, - "src": "22794:8:133", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", - "typeString": "function (address) view returns (bool)" - } - }, - "id": 83042, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "22794:17:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 83048, - "nodeType": "IfStatement", - "src": "22789:75:133", - "trueBody": { - "id": 83047, - "nodeType": "Block", - "src": "22813:51:133", - "statements": [ - { - "errorCall": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 83044, - "name": "UserNotInRegistry", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81443, - "src": "22834:17:133", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 83045, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "22834:19:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 83046, - "nodeType": "RevertStatement", - "src": "22827:26:133" - } - ] - } - }, - { - "assignments": [ - 83051 - ], - "declarations": [ - { - "constant": false, - "id": 83051, - "mutability": "mutable", - "name": "member", - "nameLocation": "22887:6:133", - "nodeType": "VariableDeclaration", - "scope": 83080, - "src": "22873:20:133", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Member_$81482_memory_ptr", - "typeString": "struct RegistryCommunity.Member" - }, - "typeName": { - "id": 83050, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 83049, - "name": "Member", - "nameLocations": [ - "22873:6:133" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 81482, - "src": "22873:6:133" - }, - "referencedDeclaration": 81482, - "src": "22873:6:133", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Member_$81482_storage_ptr", - "typeString": "struct RegistryCommunity.Member" - } - }, - "visibility": "internal" - } - ], - "id": 83055, - "initialValue": { - "baseExpression": { - "id": 83052, - "name": "addressToMemberInfo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81564, - "src": "22896:19:133", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Member_$81482_storage_$", - "typeString": "mapping(address => struct RegistryCommunity.Member storage ref)" - } - }, - "id": 83054, - "indexExpression": { - "id": 83053, - "name": "_member", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 83023, - "src": "22916:7:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "22896:28:133", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Member_$81482_storage", - "typeString": "struct RegistryCommunity.Member storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "22873:51:133" - }, - { - "expression": { - "arguments": [ - { - "id": 83057, - "name": "_member", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 83023, - "src": "22958:7:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 83056, - "name": "deactivateAllStrategies", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 83021, - "src": "22934:23:133", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", - "typeString": "function (address)" - } - }, - "id": 83058, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "22934:32:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 83059, - "nodeType": "ExpressionStatement", - "src": "22934:32:133" - }, - { - "expression": { - "id": 83063, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "delete", - "prefix": true, - "src": "22976:35:133", - "subExpression": { - "baseExpression": { - "id": 83060, - "name": "addressToMemberInfo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81564, - "src": "22983:19:133", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Member_$81482_storage_$", - "typeString": "mapping(address => struct RegistryCommunity.Member storage ref)" - } - }, - "id": 83062, - "indexExpression": { - "id": 83061, - "name": "_member", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 83023, - "src": "23003:7:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "22983:28:133", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Member_$81482_storage", - "typeString": "struct RegistryCommunity.Member storage ref" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 83064, - "nodeType": "ExpressionStatement", - "src": "22976:35:133" - }, - { - "expression": { - "arguments": [ - { - "id": 83068, - "name": "_transferAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 83025, - "src": "23043:16:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "expression": { - "id": 83069, - "name": "member", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 83051, - "src": "23061:6:133", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Member_$81482_memory_ptr", - "typeString": "struct RegistryCommunity.Member memory" - } - }, - "id": 83070, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "23068:12:133", - "memberName": "stakedAmount", - "nodeType": "MemberAccess", - "referencedDeclaration": 81479, - "src": "23061:19:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 83065, - "name": "gardenToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81539, - "src": "23022:11:133", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$57069", - "typeString": "contract IERC20" - } - }, - "id": 83067, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "23034:8:133", - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 57036, - "src": "23022:20:133", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) external returns (bool)" - } - }, - "id": 83071, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "23022:59:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 83072, - "nodeType": "ExpressionStatement", - "src": "23022:59:133" - }, - { - "eventCall": { - "arguments": [ - { - "id": 83074, - "name": "_member", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 83023, - "src": "23109:7:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 83075, - "name": "_transferAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 83025, - "src": "23118:16:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "expression": { - "id": 83076, - "name": "member", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 83051, - "src": "23136:6:133", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Member_$81482_memory_ptr", - "typeString": "struct RegistryCommunity.Member memory" - } - }, - "id": 83077, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "23143:12:133", - "memberName": "stakedAmount", - "nodeType": "MemberAccess", - "referencedDeclaration": 81479, - "src": "23136:19:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 83073, - "name": "MemberKicked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81278, - "src": "23096:12:133", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 83078, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "23096:60:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 83079, - "nodeType": "EmitStatement", - "src": "23091:65:133" - } - ] - }, - "functionSelector": "6871eb4d", - "implemented": true, - "kind": "function", - "modifiers": [ - { - "id": 83028, - "kind": "modifierInvocation", - "modifierName": { - "id": 83027, - "name": "nonReentrant", - "nameLocations": [ - "22662:12:133" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 56243, - "src": "22662:12:133" - }, - "nodeType": "ModifierInvocation", - "src": "22662:12:133" - } - ], - "name": "kickMember", - "nameLocation": "22601:10:133", - "parameters": { - "id": 83026, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 83023, - "mutability": "mutable", - "name": "_member", - "nameLocation": "22620:7:133", - "nodeType": "VariableDeclaration", - "scope": 83081, - "src": "22612:15:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 83022, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "22612:7:133", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 83025, - "mutability": "mutable", - "name": "_transferAddress", - "nameLocation": "22637:16:133", - "nodeType": "VariableDeclaration", - "scope": 83081, - "src": "22629:24:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 83024, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "22629:7:133", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "22611:43:133" - }, - "returnParameters": { - "id": 83029, - "nodeType": "ParameterList", - "parameters": [], - "src": "22675:0:133" - }, - "scope": 83082, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - } - ], - "abstract": false, - "baseContracts": [ - { - "baseName": { - "id": 81223, - "name": "ReentrancyGuard", - "nameLocations": [ - "1671:15:133" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 56278, - "src": "1671:15:133" - }, - "id": 81224, - "nodeType": "InheritanceSpecifier", - "src": "1671:15:133" - }, - { - "baseName": { - "id": 81225, - "name": "AccessControl", - "nameLocations": [ - "1688:13:133" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 55308, - "src": "1688:13:133" - }, - "id": 81226, - "nodeType": "InheritanceSpecifier", - "src": "1688:13:133" - } - ], - "canonicalName": "RegistryCommunity", - "contractDependencies": [], - "contractKind": "contract", - "fullyImplemented": true, - "linearizedBaseContracts": [ - 83082, - 55308, - 58266, - 58472, - 55381, - 57903, - 56278 - ], - "name": "RegistryCommunity", - "nameLocation": "1650:17:133", - "scope": 83083, - "usedErrors": [ - 81437, - 81439, - 81441, - 81443, - 81445, - 81447, - 81449, - 81451, - 81453, - 81455, - 81457, - 81459, - 81461, - 81463, - 81465, - 81467, - 81469, - 81475 - ] - } - ], - "license": "AGPL-3.0-only" - }, - "id": 133 -} \ No newline at end of file +{"abi":[{"type":"function","name":"createPoolWithCustomStrategy","inputs":[{"name":"_profileId","type":"bytes32","internalType":"bytes32"},{"name":"_strategy","type":"address","internalType":"address"},{"name":"_initStrategyData","type":"bytes","internalType":"bytes"},{"name":"_token","type":"address","internalType":"address"},{"name":"_amount","type":"uint256","internalType":"uint256"},{"name":"_metadata","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]},{"name":"_managers","type":"address[]","internalType":"address[]"}],"outputs":[{"name":"poolId","type":"uint256","internalType":"uint256"}],"stateMutability":"payable"},{"type":"function","name":"getPool","inputs":[{"name":"_poolId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"tuple","internalType":"struct IAllo.Pool","components":[{"name":"profileId","type":"bytes32","internalType":"bytes32"},{"name":"strategy","type":"address","internalType":"contract IStrategy"},{"name":"token","type":"address","internalType":"address"},{"name":"metadata","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]},{"name":"managerRole","type":"bytes32","internalType":"bytes32"},{"name":"adminRole","type":"bytes32","internalType":"bytes32"}]}],"stateMutability":"view"},{"type":"function","name":"getRegistry","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"createPoolWithCustomStrategy(bytes32,address,bytes,address,uint256,(uint256,string),address[])":"e1007d4a","getPool(uint256)":"068bcd8d","getRegistry()":"5ab1bd53"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_profileId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_initStrategyData\",\"type\":\"bytes\"},{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"_metadata\",\"type\":\"tuple\"},{\"internalType\":\"address[]\",\"name\":\"_managers\",\"type\":\"address[]\"}],\"name\":\"createPoolWithCustomStrategy\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_poolId\",\"type\":\"uint256\"}],\"name\":\"getPool\",\"outputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"profileId\",\"type\":\"bytes32\"},{\"internalType\":\"contract IStrategy\",\"name\":\"strategy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"metadata\",\"type\":\"tuple\"},{\"internalType\":\"bytes32\",\"name\":\"managerRole\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"adminRole\",\"type\":\"bytes32\"}],\"internalType\":\"struct IAllo.Pool\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getRegistry\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"pkg/contracts/src/RegistryCommunity.sol\":\"FAllo\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1000},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":eas-proxy/=lib/allo-v2/lib/eas-proxy/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":hedgey-vesting/=lib/allo-v2/lib/hedgey-vesting/contracts/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-contracts/=lib/safe-contracts/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":superfluid-protocol-monorepo/=lib/allo-v2/lib/superfluid-protocol-monorepo/packages/solidity-semantic-money/src/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"]},\"sources\":{\"lib/allo-v2/contracts/core/interfaces/IAllo.sol\":{\"keccak256\":\"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7\",\"dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1\"]},\"lib/allo-v2/contracts/core/interfaces/IRegistry.sol\":{\"keccak256\":\"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e\",\"dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA\"]},\"lib/allo-v2/contracts/core/interfaces/IStrategy.sol\":{\"keccak256\":\"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487\",\"dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH\"]},\"lib/allo-v2/contracts/core/libraries/Clone.sol\":{\"keccak256\":\"0xc348b24b7d8a98c4faa5f2aa37ce9264a74f81dbdef1a9bae2eaa125585c3c7e\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://1335b3ec59ec7e3d12ea7c90b3aa56f4c26e0d44d342f54412933be9d4f16067\",\"dweb:/ipfs/QmXNFo2wCyq9cpvfgbdHvBUQecThFSEoUnMuZNS6WinDrr\"]},\"lib/allo-v2/contracts/core/libraries/Errors.sol\":{\"keccak256\":\"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf\",\"dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA\"]},\"lib/allo-v2/contracts/core/libraries/Metadata.sol\":{\"keccak256\":\"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c\",\"dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn\"]},\"lib/allo-v2/contracts/core/libraries/Native.sol\":{\"keccak256\":\"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a\",\"dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv\"]},\"lib/allo-v2/contracts/core/libraries/Transfer.sol\":{\"keccak256\":\"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11\",\"dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5\"]},\"lib/allo-v2/contracts/strategies/BaseStrategy.sol\":{\"keccak256\":\"0x3f1382dc6c35d50545e327e7ed6016f2bd752357d446bd698014073f0b812873\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://99500abcd617fa43f6dde49e2c7802821ceaf54a65a8055cbbf2695ecd107974\",\"dweb:/ipfs/QmUktZkWuu3GCMEijY1fqt7NMy7BzpTvEtcmpB1fuoa7zt\"]},\"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol\":{\"keccak256\":\"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298\",\"dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol\":{\"keccak256\":\"0x3d98edeb5d5be8410fca707b73dabe7544d1dd11e35b73dd907c473fe43cc3ae\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1a3fa9fc3aec149b8ad0dd8895277ab11e9244e9d2b7adc8404b22de974fc964\",\"dweb:/ipfs/QmRggzxs1WjuvGJSAKb2Nw5r7P3VDMefCWKTbkNPKRkv2j\"]},\"lib/openzeppelin-contracts/contracts/access/AccessControl.sol\":{\"keccak256\":\"0x0dd6e52cb394d7f5abe5dca2d4908a6be40417914720932de757de34a99ab87f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://dc117ce50ea746cab6b97ed1a1facee17a715ae0cb95d67b943dacbaf15176fb\",\"dweb:/ipfs/QmYRZ2UGNYwsHwfNu7Wjr8L2j1LBZ1mKv6NvbwgterYMXc\"]},\"lib/openzeppelin-contracts/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0x59ce320a585d7e1f163cd70390a0ef2ff9cec832e2aa544293a00692465a7a57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb2c137c343ef0c4c7ce7b18c1d108afdc9d315a04e48307288d2d05adcbde3a\",\"dweb:/ipfs/QmUxhrAQM3MM3FF5j7AtcXLXguWCJBHJ14BRdVtuoQc8Fh\"]},\"lib/openzeppelin-contracts/contracts/access/Ownable.sol\":{\"keccak256\":\"0xba43b97fba0d32eb4254f6a5a297b39a19a247082a02d6e69349e071e2946218\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fc980984badf3984b6303b377711220e067722bbd6a135b24669ff5069ef9f32\",\"dweb:/ipfs/QmPHXMSXj99XjSVM21YsY6aNtLLjLVXDbyN76J5HQYvvrz\"]},\"lib/openzeppelin-contracts/contracts/security/ReentrancyGuard.sol\":{\"keccak256\":\"0xa535a5df777d44e945dd24aa43a11e44b024140fc340ad0dfe42acf4002aade1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://41319e7f621f2dc3733511332c4fd032f8e32ad2aa7fd6f665c19741d9941a34\",\"dweb:/ipfs/QmcYR3bd862GD1Bc7jwrU9bGxrhUu5na1oP964bDCu2id1\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15\",\"dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5\",\"dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd\",\"dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol\":{\"keccak256\":\"0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a\",\"dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0x909d608c2db6eb165ca178c81289a07ed2e118e444d0025b2a85c97d0b44a4fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://656cda26512ddd7373c2d5551c8fae759fc30f05b10f0fc2e738e9274199dbd4\",\"dweb:/ipfs/QmTSArSzQRFbQmHgq7U1PZXnsDFhvDZhKVu9CzMG4yo6Lx\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"lib/openzeppelin-contracts/contracts/utils/Strings.sol\":{\"keccak256\":\"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f\",\"dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol\":{\"keccak256\":\"0x5a08ad61f4e82b8a3323562661a86fb10b10190848073fdc13d4ac43710ffba5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6f7bb74cf88fd88daa34e118bc6e363381d05044f34f391d39a10c0c9dac3ebd\",\"dweb:/ipfs/QmNbQ3v8v4zuDtg7VeLAbdhAm3tCzUodNoDZZ8ekmCHWZX\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]},\"pkg/contracts/src/CVStrategy.sol\":{\"keccak256\":\"0x132bcf17470960e380d841159d9389985d609aaae1c9a657c78902f7871da957\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://84e905bf392579b44f33fff8586431b940e110b2210854cf487321cc92061705\",\"dweb:/ipfs/QmQpvszYu8RbrXmUFLifSodQzV8LAqazk1fzXNARGc5sBT\"]},\"pkg/contracts/src/ISybilScorer.sol\":{\"keccak256\":\"0x0e25fbb8497ac3c969d80c9032362d45e56c0a45dc9ba3dff6a8a704571f38ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0dff90ebae6e7131a5300fcaf525bc2ab0ae90fcd13f277d7b7b6939eeb8b7eb\",\"dweb:/ipfs/QmYGkYqpUVrBWoNY6f3CtwrrVQFWSvnJfpu68t95f6AkBY\"]},\"pkg/contracts/src/RegistryCommunity.sol\":{\"keccak256\":\"0xc735f4d2635149f2db9bff291da56e08c3c312d9eb1b767b8a1e3e51584d5734\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://247b33b78abface6a7e2da38174386de9b543f6a27e8340e26d854bff57184a3\",\"dweb:/ipfs/QmedNdqkqeboGzz9w868uGf7KnXUaYZe6i1YcdUPPkJnnf\"]},\"pkg/contracts/src/RegistryFactory.sol\":{\"keccak256\":\"0x888b7f5eb1079f90ccfa0b41d8a970bffd8d4d469f9b31917a58279b358dbda5\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://af25fd783de00adf01d1c7caa572801fed0d474306a43b862535b08e65ec10c6\",\"dweb:/ipfs/Qmeb2nEaMQLV86y1CYAAV2c6BYpBDTbpLuC1SigeNjdqLo\"]},\"pkg/contracts/src/interfaces/ISafe.sol\":{\"keccak256\":\"0x878a210809bb684c42157a10f3f90350a67d0a4863f130499942b06f0f2c9143\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://fa2d71bd427c3415e98a2ee15ff673f3cc61c17f14d7087c5eedc83b55f6b0ef\",\"dweb:/ipfs/QmesVSmJQQzi6ys1cvhQFCJyDXchb736mT5bXks4Yp6Cbj\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"bytes32","name":"_profileId","type":"bytes32"},{"internalType":"address","name":"_strategy","type":"address"},{"internalType":"bytes","name":"_initStrategyData","type":"bytes"},{"internalType":"address","name":"_token","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"},{"internalType":"struct Metadata","name":"_metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]},{"internalType":"address[]","name":"_managers","type":"address[]"}],"stateMutability":"payable","type":"function","name":"createPoolWithCustomStrategy","outputs":[{"internalType":"uint256","name":"poolId","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"_poolId","type":"uint256"}],"stateMutability":"view","type":"function","name":"getPool","outputs":[{"internalType":"struct IAllo.Pool","name":"","type":"tuple","components":[{"internalType":"bytes32","name":"profileId","type":"bytes32"},{"internalType":"contract IStrategy","name":"strategy","type":"address"},{"internalType":"address","name":"token","type":"address"},{"internalType":"struct Metadata","name":"metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]},{"internalType":"bytes32","name":"managerRole","type":"bytes32"},{"internalType":"bytes32","name":"adminRole","type":"bytes32"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getRegistry","outputs":[{"internalType":"address","name":"","type":"address"}]}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","eas-proxy/=lib/allo-v2/lib/eas-proxy/contracts/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","hedgey-vesting/=lib/allo-v2/lib/hedgey-vesting/contracts/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-contracts/=lib/safe-contracts/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","superfluid-protocol-monorepo/=lib/allo-v2/lib/superfluid-protocol-monorepo/packages/solidity-semantic-money/src/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":1000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"pkg/contracts/src/RegistryCommunity.sol":"FAllo"},"evmVersion":"paris","libraries":{}},"sources":{"lib/allo-v2/contracts/core/interfaces/IAllo.sol":{"keccak256":"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce","urls":["bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7","dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/interfaces/IRegistry.sol":{"keccak256":"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f","urls":["bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e","dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA"],"license":"MIT"},"lib/allo-v2/contracts/core/interfaces/IStrategy.sol":{"keccak256":"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23","urls":["bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487","dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Clone.sol":{"keccak256":"0xc348b24b7d8a98c4faa5f2aa37ce9264a74f81dbdef1a9bae2eaa125585c3c7e","urls":["bzz-raw://1335b3ec59ec7e3d12ea7c90b3aa56f4c26e0d44d342f54412933be9d4f16067","dweb:/ipfs/QmXNFo2wCyq9cpvfgbdHvBUQecThFSEoUnMuZNS6WinDrr"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Errors.sol":{"keccak256":"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15","urls":["bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf","dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Metadata.sol":{"keccak256":"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44","urls":["bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c","dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Native.sol":{"keccak256":"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5","urls":["bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a","dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Transfer.sol":{"keccak256":"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286","urls":["bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11","dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/strategies/BaseStrategy.sol":{"keccak256":"0x3f1382dc6c35d50545e327e7ed6016f2bd752357d446bd698014073f0b812873","urls":["bzz-raw://99500abcd617fa43f6dde49e2c7802821ceaf54a65a8055cbbf2695ecd107974","dweb:/ipfs/QmUktZkWuu3GCMEijY1fqt7NMy7BzpTvEtcmpB1fuoa7zt"],"license":"AGPL-3.0-only"},"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol":{"keccak256":"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624","urls":["bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298","dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt"],"license":"MIT"},"lib/forge-std/src/console.sol":{"keccak256":"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba","urls":["bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70","dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol":{"keccak256":"0x3d98edeb5d5be8410fca707b73dabe7544d1dd11e35b73dd907c473fe43cc3ae","urls":["bzz-raw://1a3fa9fc3aec149b8ad0dd8895277ab11e9244e9d2b7adc8404b22de974fc964","dweb:/ipfs/QmRggzxs1WjuvGJSAKb2Nw5r7P3VDMefCWKTbkNPKRkv2j"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/access/AccessControl.sol":{"keccak256":"0x0dd6e52cb394d7f5abe5dca2d4908a6be40417914720932de757de34a99ab87f","urls":["bzz-raw://dc117ce50ea746cab6b97ed1a1facee17a715ae0cb95d67b943dacbaf15176fb","dweb:/ipfs/QmYRZ2UGNYwsHwfNu7Wjr8L2j1LBZ1mKv6NvbwgterYMXc"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/access/IAccessControl.sol":{"keccak256":"0x59ce320a585d7e1f163cd70390a0ef2ff9cec832e2aa544293a00692465a7a57","urls":["bzz-raw://bb2c137c343ef0c4c7ce7b18c1d108afdc9d315a04e48307288d2d05adcbde3a","dweb:/ipfs/QmUxhrAQM3MM3FF5j7AtcXLXguWCJBHJ14BRdVtuoQc8Fh"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/access/Ownable.sol":{"keccak256":"0xba43b97fba0d32eb4254f6a5a297b39a19a247082a02d6e69349e071e2946218","urls":["bzz-raw://fc980984badf3984b6303b377711220e067722bbd6a135b24669ff5069ef9f32","dweb:/ipfs/QmPHXMSXj99XjSVM21YsY6aNtLLjLVXDbyN76J5HQYvvrz"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/security/ReentrancyGuard.sol":{"keccak256":"0xa535a5df777d44e945dd24aa43a11e44b024140fc340ad0dfe42acf4002aade1","urls":["bzz-raw://41319e7f621f2dc3733511332c4fd032f8e32ad2aa7fd6f665c19741d9941a34","dweb:/ipfs/QmcYR3bd862GD1Bc7jwrU9bGxrhUu5na1oP964bDCu2id1"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol":{"keccak256":"0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c","urls":["bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15","dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305","urls":["bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5","dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol":{"keccak256":"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca","urls":["bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd","dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol":{"keccak256":"0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a","urls":["bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a","dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol":{"keccak256":"0x909d608c2db6eb165ca178c81289a07ed2e118e444d0025b2a85c97d0b44a4fa","urls":["bzz-raw://656cda26512ddd7373c2d5551c8fae759fc30f05b10f0fc2e738e9274199dbd4","dweb:/ipfs/QmTSArSzQRFbQmHgq7U1PZXnsDFhvDZhKVu9CzMG4yo6Lx"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Address.sol":{"keccak256":"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa","urls":["bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931","dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Context.sol":{"keccak256":"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7","urls":["bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92","dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Strings.sol":{"keccak256":"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0","urls":["bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f","dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol":{"keccak256":"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b","urls":["bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d","dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol":{"keccak256":"0x5a08ad61f4e82b8a3323562661a86fb10b10190848073fdc13d4ac43710ffba5","urls":["bzz-raw://6f7bb74cf88fd88daa34e118bc6e363381d05044f34f391d39a10c0c9dac3ebd","dweb:/ipfs/QmNbQ3v8v4zuDtg7VeLAbdhAm3tCzUodNoDZZ8ekmCHWZX"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/Math.sol":{"keccak256":"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3","urls":["bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c","dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol":{"keccak256":"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc","urls":["bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7","dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6"],"license":"MIT"},"pkg/contracts/src/CVStrategy.sol":{"keccak256":"0x132bcf17470960e380d841159d9389985d609aaae1c9a657c78902f7871da957","urls":["bzz-raw://84e905bf392579b44f33fff8586431b940e110b2210854cf487321cc92061705","dweb:/ipfs/QmQpvszYu8RbrXmUFLifSodQzV8LAqazk1fzXNARGc5sBT"],"license":"AGPL-3.0-only"},"pkg/contracts/src/ISybilScorer.sol":{"keccak256":"0x0e25fbb8497ac3c969d80c9032362d45e56c0a45dc9ba3dff6a8a704571f38ea","urls":["bzz-raw://0dff90ebae6e7131a5300fcaf525bc2ab0ae90fcd13f277d7b7b6939eeb8b7eb","dweb:/ipfs/QmYGkYqpUVrBWoNY6f3CtwrrVQFWSvnJfpu68t95f6AkBY"],"license":"MIT"},"pkg/contracts/src/RegistryCommunity.sol":{"keccak256":"0xc735f4d2635149f2db9bff291da56e08c3c312d9eb1b767b8a1e3e51584d5734","urls":["bzz-raw://247b33b78abface6a7e2da38174386de9b543f6a27e8340e26d854bff57184a3","dweb:/ipfs/QmedNdqkqeboGzz9w868uGf7KnXUaYZe6i1YcdUPPkJnnf"],"license":"AGPL-3.0-only"},"pkg/contracts/src/RegistryFactory.sol":{"keccak256":"0x888b7f5eb1079f90ccfa0b41d8a970bffd8d4d469f9b31917a58279b358dbda5","urls":["bzz-raw://af25fd783de00adf01d1c7caa572801fed0d474306a43b862535b08e65ec10c6","dweb:/ipfs/Qmeb2nEaMQLV86y1CYAAV2c6BYpBDTbpLuC1SigeNjdqLo"],"license":"AGPL-3.0-only"},"pkg/contracts/src/interfaces/ISafe.sol":{"keccak256":"0x878a210809bb684c42157a10f3f90350a67d0a4863f130499942b06f0f2c9143","urls":["bzz-raw://fa2d71bd427c3415e98a2ee15ff673f3cc61c17f14d7087c5eedc83b55f6b0ef","dweb:/ipfs/QmesVSmJQQzi6ys1cvhQFCJyDXchb736mT5bXks4Yp6Cbj"],"license":"LGPL-3.0-only"}},"version":1},"storageLayout":{"storage":[],"types":{}},"ast":{"absolutePath":"pkg/contracts/src/RegistryCommunity.sol","id":83083,"exportedSymbols":{"AccessControl":[55308],"CVStrategy":[77611],"Clone":[3002],"ERC165Checker":[58460],"FAllo":[81222],"IAllo":[2610],"IERC20":[57069],"IPointStrategy":[74722],"IRegistry":[2802],"ISafe":[85665],"Metadata":[3098],"ReentrancyGuard":[56278],"RegistryCommunity":[83082],"RegistryFactory":[85283],"SafeERC20":[57506],"StrategyStruct":[74807],"console":[29549]},"nodeType":"SourceUnit","src":"42:23124:133","nodes":[{"id":81161,"nodeType":"PragmaDirective","src":"42:24:133","nodes":[],"literals":["solidity","^","0.8",".19"]},{"id":81163,"nodeType":"ImportDirective","src":"68:70:133","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol","file":"@openzeppelin/contracts/token/ERC20/IERC20.sol","nameLocation":"-1:-1:-1","scope":83083,"sourceUnit":57070,"symbolAliases":[{"foreign":{"id":81162,"name":"IERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57069,"src":"76:6:133","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":81165,"nodeType":"ImportDirective","src":"139:79:133","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/access/AccessControl.sol","file":"@openzeppelin/contracts/access/AccessControl.sol","nameLocation":"-1:-1:-1","scope":83083,"sourceUnit":55309,"symbolAliases":[{"foreign":{"id":81164,"name":"AccessControl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55308,"src":"147:13:133","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":81167,"nodeType":"ImportDirective","src":"219:82:133","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol","file":"@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol","nameLocation":"-1:-1:-1","scope":83083,"sourceUnit":57507,"symbolAliases":[{"foreign":{"id":81166,"name":"SafeERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57506,"src":"227:9:133","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":81169,"nodeType":"ImportDirective","src":"302:85:133","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/security/ReentrancyGuard.sol","file":"@openzeppelin/contracts/security/ReentrancyGuard.sol","nameLocation":"-1:-1:-1","scope":83083,"sourceUnit":56279,"symbolAliases":[{"foreign":{"id":81168,"name":"ReentrancyGuard","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56278,"src":"310:15:133","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":81172,"nodeType":"ImportDirective","src":"518:84:133","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/interfaces/IRegistry.sol","file":"allo-v2-contracts/core/interfaces/IRegistry.sol","nameLocation":"-1:-1:-1","scope":83083,"sourceUnit":2803,"symbolAliases":[{"foreign":{"id":81170,"name":"IRegistry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2802,"src":"526:9:133","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":81171,"name":"Metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3098,"src":"537:8:133","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":81174,"nodeType":"ImportDirective","src":"603:66:133","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/interfaces/IAllo.sol","file":"allo-v2-contracts/core/interfaces/IAllo.sol","nameLocation":"-1:-1:-1","scope":83083,"sourceUnit":2611,"symbolAliases":[{"foreign":{"id":81173,"name":"IAllo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2610,"src":"611:5:133","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":81176,"nodeType":"ImportDirective","src":"670:54:133","nodes":[],"absolutePath":"pkg/contracts/src/RegistryFactory.sol","file":"./RegistryFactory.sol","nameLocation":"-1:-1:-1","scope":83083,"sourceUnit":85284,"symbolAliases":[{"foreign":{"id":81175,"name":"RegistryFactory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85283,"src":"678:15:133","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":81178,"nodeType":"ImportDirective","src":"725:45:133","nodes":[],"absolutePath":"pkg/contracts/src/interfaces/ISafe.sol","file":"./interfaces/ISafe.sol","nameLocation":"-1:-1:-1","scope":83083,"sourceUnit":85666,"symbolAliases":[{"foreign":{"id":81177,"name":"ISafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85665,"src":"733:5:133","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":81179,"nodeType":"ImportDirective","src":"830:31:133","nodes":[],"absolutePath":"lib/forge-std/src/console.sol","file":"forge-std/console.sol","nameLocation":"-1:-1:-1","scope":83083,"sourceUnit":29550,"symbolAliases":[],"unitAlias":""},{"id":81181,"nodeType":"ImportDirective","src":"862:92:133","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol","file":"@openzeppelin/contracts/utils/introspection/ERC165Checker.sol","nameLocation":"-1:-1:-1","scope":83083,"sourceUnit":58461,"symbolAliases":[{"foreign":{"id":81180,"name":"ERC165Checker","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58460,"src":"870:13:133","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":81185,"nodeType":"ImportDirective","src":"956:76:133","nodes":[],"absolutePath":"pkg/contracts/src/CVStrategy.sol","file":"./CVStrategy.sol","nameLocation":"-1:-1:-1","scope":83083,"sourceUnit":77612,"symbolAliases":[{"foreign":{"id":81182,"name":"IPointStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74722,"src":"964:14:133","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":81183,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77611,"src":"980:10:133","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":81184,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74807,"src":"992:14:133","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":81187,"nodeType":"ImportDirective","src":"1034:65:133","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/libraries/Clone.sol","file":"allo-v2-contracts/core/libraries/Clone.sol","nameLocation":"-1:-1:-1","scope":83083,"sourceUnit":3003,"symbolAliases":[{"foreign":{"id":81186,"name":"Clone","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3002,"src":"1042:5:133","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":81222,"nodeType":"ContractDefinition","src":"1172:467:133","nodes":[{"id":81208,"nodeType":"FunctionDefinition","src":"1194:301:133","nodes":[],"functionSelector":"e1007d4a","implemented":false,"kind":"function","modifiers":[],"name":"createPoolWithCustomStrategy","nameLocation":"1203:28:133","parameters":{"id":81204,"nodeType":"ParameterList","parameters":[{"constant":false,"id":81189,"mutability":"mutable","name":"_profileId","nameLocation":"1249:10:133","nodeType":"VariableDeclaration","scope":81208,"src":"1241:18:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":81188,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1241:7:133","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":81191,"mutability":"mutable","name":"_strategy","nameLocation":"1277:9:133","nodeType":"VariableDeclaration","scope":81208,"src":"1269:17:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":81190,"name":"address","nodeType":"ElementaryTypeName","src":"1269:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":81193,"mutability":"mutable","name":"_initStrategyData","nameLocation":"1309:17:133","nodeType":"VariableDeclaration","scope":81208,"src":"1296:30:133","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":81192,"name":"bytes","nodeType":"ElementaryTypeName","src":"1296:5:133","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":81195,"mutability":"mutable","name":"_token","nameLocation":"1344:6:133","nodeType":"VariableDeclaration","scope":81208,"src":"1336:14:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":81194,"name":"address","nodeType":"ElementaryTypeName","src":"1336:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":81197,"mutability":"mutable","name":"_amount","nameLocation":"1368:7:133","nodeType":"VariableDeclaration","scope":81208,"src":"1360:15:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":81196,"name":"uint256","nodeType":"ElementaryTypeName","src":"1360:7:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":81200,"mutability":"mutable","name":"_metadata","nameLocation":"1401:9:133","nodeType":"VariableDeclaration","scope":81208,"src":"1385:25:133","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata"},"typeName":{"id":81199,"nodeType":"UserDefinedTypeName","pathNode":{"id":81198,"name":"Metadata","nameLocations":["1385:8:133"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"1385:8:133"},"referencedDeclaration":3098,"src":"1385:8:133","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"},{"constant":false,"id":81203,"mutability":"mutable","name":"_managers","nameLocation":"1437:9:133","nodeType":"VariableDeclaration","scope":81208,"src":"1420:26:133","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":81201,"name":"address","nodeType":"ElementaryTypeName","src":"1420:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":81202,"nodeType":"ArrayTypeName","src":"1420:9:133","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"1231:221:133"},"returnParameters":{"id":81207,"nodeType":"ParameterList","parameters":[{"constant":false,"id":81206,"mutability":"mutable","name":"poolId","nameLocation":"1487:6:133","nodeType":"VariableDeclaration","scope":81208,"src":"1479:14:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":81205,"name":"uint256","nodeType":"ElementaryTypeName","src":"1479:7:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1478:16:133"},"scope":81222,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":81213,"nodeType":"FunctionDefinition","src":"1501:55:133","nodes":[],"functionSelector":"5ab1bd53","implemented":false,"kind":"function","modifiers":[],"name":"getRegistry","nameLocation":"1510:11:133","parameters":{"id":81209,"nodeType":"ParameterList","parameters":[],"src":"1521:2:133"},"returnParameters":{"id":81212,"nodeType":"ParameterList","parameters":[{"constant":false,"id":81211,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":81213,"src":"1547:7:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":81210,"name":"address","nodeType":"ElementaryTypeName","src":"1547:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1546:9:133"},"scope":81222,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":81221,"nodeType":"FunctionDefinition","src":"1561:76:133","nodes":[],"functionSelector":"068bcd8d","implemented":false,"kind":"function","modifiers":[],"name":"getPool","nameLocation":"1570:7:133","parameters":{"id":81216,"nodeType":"ParameterList","parameters":[{"constant":false,"id":81215,"mutability":"mutable","name":"_poolId","nameLocation":"1586:7:133","nodeType":"VariableDeclaration","scope":81221,"src":"1578:15:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":81214,"name":"uint256","nodeType":"ElementaryTypeName","src":"1578:7:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1577:17:133"},"returnParameters":{"id":81220,"nodeType":"ParameterList","parameters":[{"constant":false,"id":81219,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":81221,"src":"1618:17:133","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool"},"typeName":{"id":81218,"nodeType":"UserDefinedTypeName","pathNode":{"id":81217,"name":"IAllo.Pool","nameLocations":["1618:5:133","1624:4:133"],"nodeType":"IdentifierPath","referencedDeclaration":2319,"src":"1618:10:133"},"referencedDeclaration":2319,"src":"1618:10:133","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool"}},"visibility":"internal"}],"src":"1617:19:133"},"scope":81222,"stateMutability":"view","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"FAllo","contractDependencies":[],"contractKind":"interface","fullyImplemented":false,"linearizedBaseContracts":[81222],"name":"FAllo","nameLocation":"1182:5:133","scope":83083,"usedErrors":[]},{"id":83082,"nodeType":"ContractDefinition","src":"1641:21524:133","nodes":[{"id":81229,"nodeType":"UsingForDirective","src":"1708:32:133","nodes":[],"global":false,"libraryName":{"id":81227,"name":"ERC165Checker","nameLocations":["1714:13:133"],"nodeType":"IdentifierPath","referencedDeclaration":58460,"src":"1714:13:133"},"typeName":{"id":81228,"name":"address","nodeType":"ElementaryTypeName","src":"1732:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}},{"id":81233,"nodeType":"UsingForDirective","src":"1745:27:133","nodes":[],"global":false,"libraryName":{"id":81230,"name":"SafeERC20","nameLocations":["1751:9:133"],"nodeType":"IdentifierPath","referencedDeclaration":57506,"src":"1751:9:133"},"typeName":{"id":81232,"nodeType":"UserDefinedTypeName","pathNode":{"id":81231,"name":"IERC20","nameLocations":["1765:6:133"],"nodeType":"IdentifierPath","referencedDeclaration":57069,"src":"1765:6:133"},"referencedDeclaration":57069,"src":"1765:6:133","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$57069","typeString":"contract IERC20"}}},{"id":81236,"nodeType":"UsingForDirective","src":"1777:24:133","nodes":[],"global":false,"libraryName":{"id":81234,"name":"Clone","nameLocations":["1783:5:133"],"nodeType":"IdentifierPath","referencedDeclaration":3002,"src":"1783:5:133"},"typeName":{"id":81235,"name":"address","nodeType":"ElementaryTypeName","src":"1793:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}},{"id":81239,"nodeType":"VariableDeclaration","src":"1807:75:133","nodes":[],"constant":true,"functionSelector":"a0cf0aea","mutability":"constant","name":"NATIVE","nameLocation":"1831:6:133","scope":83082,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":81237,"name":"address","nodeType":"ElementaryTypeName","src":"1807:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":{"hexValue":"307845656565654565656545654565654565456545656545454565656565456565656565656545456545","id":81238,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1840:42:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE"},"visibility":"public"},{"id":81244,"nodeType":"VariableDeclaration","src":"2053:82:133","nodes":[],"constant":true,"functionSelector":"a0b21cdf","mutability":"constant","name":"COUNCIL_MEMBER_CHANGE","nameLocation":"2077:21:133","scope":83082,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":81240,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2053:7:133","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"arguments":[{"hexValue":"434f554e43494c5f4d454d4245525f4348414e4745","id":81242,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2111:23:133","typeDescriptions":{"typeIdentifier":"t_stringliteral_bc6bbe35ebc64943402c04d2ae016d7bd2bba28e1a11cf66be743c9bd74c720b","typeString":"literal_string \"COUNCIL_MEMBER_CHANGE\""},"value":"COUNCIL_MEMBER_CHANGE"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_bc6bbe35ebc64943402c04d2ae016d7bd2bba28e1a11cf66be743c9bd74c720b","typeString":"literal_string \"COUNCIL_MEMBER_CHANGE\""}],"id":81241,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"2101:9:133","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":81243,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2101:34:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"public"},{"id":81248,"nodeType":"EventDefinition","src":"2307:29:133","nodes":[],"anonymous":false,"eventSelector":"aaded18d4d508696508b945d03ff3d168110dbb73e17aeda699745655fa958d2","name":"AlloSet","nameLocation":"2313:7:133","parameters":{"id":81247,"nodeType":"ParameterList","parameters":[{"constant":false,"id":81246,"indexed":false,"mutability":"mutable","name":"_allo","nameLocation":"2329:5:133","nodeType":"VariableDeclaration","scope":81248,"src":"2321:13:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":81245,"name":"address","nodeType":"ElementaryTypeName","src":"2321:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2320:15:133"}},{"id":81252,"nodeType":"EventDefinition","src":"2341:36:133","nodes":[],"anonymous":false,"eventSelector":"ad0399dc40331b9a4977aa89da7a164a3fd482c65e6da73b25a94ea74fb68872","name":"CouncilSafeSet","nameLocation":"2347:14:133","parameters":{"id":81251,"nodeType":"ParameterList","parameters":[{"constant":false,"id":81250,"indexed":false,"mutability":"mutable","name":"_safe","nameLocation":"2370:5:133","nodeType":"VariableDeclaration","scope":81252,"src":"2362:13:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":81249,"name":"address","nodeType":"ElementaryTypeName","src":"2362:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2361:15:133"}},{"id":81258,"nodeType":"EventDefinition","src":"2382:74:133","nodes":[],"anonymous":false,"eventSelector":"83eac9fdaff0ac1017624b7eddeb9782e3d707cd894073cb7e8301a41c6e5cf8","name":"CouncilSafeChangeStarted","nameLocation":"2388:24:133","parameters":{"id":81257,"nodeType":"ParameterList","parameters":[{"constant":false,"id":81254,"indexed":false,"mutability":"mutable","name":"_safeOwner","nameLocation":"2421:10:133","nodeType":"VariableDeclaration","scope":81258,"src":"2413:18:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":81253,"name":"address","nodeType":"ElementaryTypeName","src":"2413:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":81256,"indexed":false,"mutability":"mutable","name":"_newSafeOwner","nameLocation":"2441:13:133","nodeType":"VariableDeclaration","scope":81258,"src":"2433:21:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":81255,"name":"address","nodeType":"ElementaryTypeName","src":"2433:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2412:43:133"}},{"id":81264,"nodeType":"EventDefinition","src":"2461:63:133","nodes":[],"anonymous":false,"eventSelector":"67e0244e28040fec15240cd4b6c04c776a2a0278caef23b59e8ada1df31f7689","name":"MemberRegistered","nameLocation":"2467:16:133","parameters":{"id":81263,"nodeType":"ParameterList","parameters":[{"constant":false,"id":81260,"indexed":false,"mutability":"mutable","name":"_member","nameLocation":"2492:7:133","nodeType":"VariableDeclaration","scope":81264,"src":"2484:15:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":81259,"name":"address","nodeType":"ElementaryTypeName","src":"2484:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":81262,"indexed":false,"mutability":"mutable","name":"_amountStaked","nameLocation":"2509:13:133","nodeType":"VariableDeclaration","scope":81264,"src":"2501:21:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":81261,"name":"uint256","nodeType":"ElementaryTypeName","src":"2501:7:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2483:40:133"}},{"id":81270,"nodeType":"EventDefinition","src":"2529:67:133","nodes":[],"anonymous":false,"eventSelector":"a13f4668aacb68c4e9eed8e3f6e1cbec3eca776896ec46b5eabcc3983fc8f5f4","name":"MemberUnregistered","nameLocation":"2535:18:133","parameters":{"id":81269,"nodeType":"ParameterList","parameters":[{"constant":false,"id":81266,"indexed":false,"mutability":"mutable","name":"_member","nameLocation":"2562:7:133","nodeType":"VariableDeclaration","scope":81270,"src":"2554:15:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":81265,"name":"address","nodeType":"ElementaryTypeName","src":"2554:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":81268,"indexed":false,"mutability":"mutable","name":"_amountReturned","nameLocation":"2579:15:133","nodeType":"VariableDeclaration","scope":81270,"src":"2571:23:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":81267,"name":"uint256","nodeType":"ElementaryTypeName","src":"2571:7:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2553:42:133"}},{"id":81278,"nodeType":"EventDefinition","src":"2601:87:133","nodes":[],"anonymous":false,"eventSelector":"b5946f249f8744efe9d14d49a483b54a589b1362944ff6694de93456cceb96a3","name":"MemberKicked","nameLocation":"2607:12:133","parameters":{"id":81277,"nodeType":"ParameterList","parameters":[{"constant":false,"id":81272,"indexed":false,"mutability":"mutable","name":"_member","nameLocation":"2628:7:133","nodeType":"VariableDeclaration","scope":81278,"src":"2620:15:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":81271,"name":"address","nodeType":"ElementaryTypeName","src":"2620:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":81274,"indexed":false,"mutability":"mutable","name":"_transferAddress","nameLocation":"2645:16:133","nodeType":"VariableDeclaration","scope":81278,"src":"2637:24:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":81273,"name":"address","nodeType":"ElementaryTypeName","src":"2637:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":81276,"indexed":false,"mutability":"mutable","name":"_amountReturned","nameLocation":"2671:15:133","nodeType":"VariableDeclaration","scope":81278,"src":"2663:23:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":81275,"name":"uint256","nodeType":"ElementaryTypeName","src":"2663:7:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2619:68:133"}},{"id":81282,"nodeType":"EventDefinition","src":"2693:43:133","nodes":[],"anonymous":false,"eventSelector":"611668bfcf654a99c33cdb66c29ec37a5aae5c1287d2d9715a24e18cb4d806d6","name":"CommunityFeeUpdated","nameLocation":"2699:19:133","parameters":{"id":81281,"nodeType":"ParameterList","parameters":[{"constant":false,"id":81280,"indexed":false,"mutability":"mutable","name":"_newFee","nameLocation":"2727:7:133","nodeType":"VariableDeclaration","scope":81282,"src":"2719:15:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":81279,"name":"uint256","nodeType":"ElementaryTypeName","src":"2719:7:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2718:17:133"}},{"id":81291,"nodeType":"EventDefinition","src":"2741:89:133","nodes":[],"anonymous":false,"eventSelector":"2f2ffcb06f8a1d35e2716f6b43ef2c19bfa76467d8f66964ae12c2583ed03205","name":"RegistryInitialized","nameLocation":"2747:19:133","parameters":{"id":81290,"nodeType":"ParameterList","parameters":[{"constant":false,"id":81284,"indexed":false,"mutability":"mutable","name":"_profileId","nameLocation":"2775:10:133","nodeType":"VariableDeclaration","scope":81291,"src":"2767:18:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":81283,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2767:7:133","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":81286,"indexed":false,"mutability":"mutable","name":"_communityName","nameLocation":"2794:14:133","nodeType":"VariableDeclaration","scope":81291,"src":"2787:21:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":81285,"name":"string","nodeType":"ElementaryTypeName","src":"2787:6:133","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":81289,"indexed":false,"mutability":"mutable","name":"_metadata","nameLocation":"2819:9:133","nodeType":"VariableDeclaration","scope":81291,"src":"2810:18:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata"},"typeName":{"id":81288,"nodeType":"UserDefinedTypeName","pathNode":{"id":81287,"name":"Metadata","nameLocations":["2810:8:133"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"2810:8:133"},"referencedDeclaration":3098,"src":"2810:8:133","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"}],"src":"2766:63:133"}},{"id":81295,"nodeType":"EventDefinition","src":"2835:39:133","nodes":[],"anonymous":false,"eventSelector":"3f008fd510eae7a9e7bee13513d7b83bef8003d488b5a3d0b0da4de71d6846f1","name":"StrategyAdded","nameLocation":"2841:13:133","parameters":{"id":81294,"nodeType":"ParameterList","parameters":[{"constant":false,"id":81293,"indexed":false,"mutability":"mutable","name":"_strategy","nameLocation":"2863:9:133","nodeType":"VariableDeclaration","scope":81295,"src":"2855:17:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":81292,"name":"address","nodeType":"ElementaryTypeName","src":"2855:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2854:19:133"}},{"id":81299,"nodeType":"EventDefinition","src":"2879:41:133","nodes":[],"anonymous":false,"eventSelector":"09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea4","name":"StrategyRemoved","nameLocation":"2885:15:133","parameters":{"id":81298,"nodeType":"ParameterList","parameters":[{"constant":false,"id":81297,"indexed":false,"mutability":"mutable","name":"_strategy","nameLocation":"2909:9:133","nodeType":"VariableDeclaration","scope":81299,"src":"2901:17:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":81296,"name":"address","nodeType":"ElementaryTypeName","src":"2901:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2900:19:133"}},{"id":81307,"nodeType":"EventDefinition","src":"2925:93:133","nodes":[],"anonymous":false,"eventSelector":"f56fa57e85e169a12200d12d9921ec069b52e688f6d309d9dab7bceff54614ec","name":"MemberActivatedStrategy","nameLocation":"2931:23:133","parameters":{"id":81306,"nodeType":"ParameterList","parameters":[{"constant":false,"id":81301,"indexed":false,"mutability":"mutable","name":"_member","nameLocation":"2963:7:133","nodeType":"VariableDeclaration","scope":81307,"src":"2955:15:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":81300,"name":"address","nodeType":"ElementaryTypeName","src":"2955:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":81303,"indexed":false,"mutability":"mutable","name":"_strategy","nameLocation":"2980:9:133","nodeType":"VariableDeclaration","scope":81307,"src":"2972:17:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":81302,"name":"address","nodeType":"ElementaryTypeName","src":"2972:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":81305,"indexed":false,"mutability":"mutable","name":"_pointsToIncrease","nameLocation":"2999:17:133","nodeType":"VariableDeclaration","scope":81307,"src":"2991:25:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":81304,"name":"uint256","nodeType":"ElementaryTypeName","src":"2991:7:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2954:63:133"}},{"id":81313,"nodeType":"EventDefinition","src":"3023:68:133","nodes":[],"anonymous":false,"eventSelector":"00de109bef4619f7e2cf00c8e5a50ca55f8deb44f87087eed414a91dbf8d1d1b","name":"MemberDeactivatedStrategy","nameLocation":"3029:25:133","parameters":{"id":81312,"nodeType":"ParameterList","parameters":[{"constant":false,"id":81309,"indexed":false,"mutability":"mutable","name":"_member","nameLocation":"3063:7:133","nodeType":"VariableDeclaration","scope":81313,"src":"3055:15:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":81308,"name":"address","nodeType":"ElementaryTypeName","src":"3055:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":81311,"indexed":false,"mutability":"mutable","name":"_strategy","nameLocation":"3080:9:133","nodeType":"VariableDeclaration","scope":81313,"src":"3072:17:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":81310,"name":"address","nodeType":"ElementaryTypeName","src":"3072:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3054:36:133"}},{"id":81317,"nodeType":"EventDefinition","src":"3096:47:133","nodes":[],"anonymous":false,"eventSelector":"5bcc2c453001fb0e2ba6266d56ecb411e7c6e15c8f9c3d301f93dd36ad25726f","name":"BasisStakedAmountSet","nameLocation":"3102:20:133","parameters":{"id":81316,"nodeType":"ParameterList","parameters":[{"constant":false,"id":81315,"indexed":false,"mutability":"mutable","name":"_newAmount","nameLocation":"3131:10:133","nodeType":"VariableDeclaration","scope":81317,"src":"3123:18:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":81314,"name":"uint256","nodeType":"ElementaryTypeName","src":"3123:7:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3122:20:133"}},{"id":81323,"nodeType":"EventDefinition","src":"3148:67:133","nodes":[],"anonymous":false,"eventSelector":"576605f9bfe8911e7508bed3763c7c5c8eb3b86e8b360b90a4bc6abe1104cb7f","name":"MemberPowerIncreased","nameLocation":"3154:20:133","parameters":{"id":81322,"nodeType":"ParameterList","parameters":[{"constant":false,"id":81319,"indexed":false,"mutability":"mutable","name":"_member","nameLocation":"3183:7:133","nodeType":"VariableDeclaration","scope":81323,"src":"3175:15:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":81318,"name":"address","nodeType":"ElementaryTypeName","src":"3175:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":81321,"indexed":false,"mutability":"mutable","name":"_stakedAmount","nameLocation":"3200:13:133","nodeType":"VariableDeclaration","scope":81323,"src":"3192:21:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":81320,"name":"uint256","nodeType":"ElementaryTypeName","src":"3192:7:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3174:40:133"}},{"id":81329,"nodeType":"EventDefinition","src":"3220:69:133","nodes":[],"anonymous":false,"eventSelector":"6ee2c70b2d6b89ae808a2313aab43e925c06624271419cd665d85cfa1ae04ff8","name":"MemberPowerDecreased","nameLocation":"3226:20:133","parameters":{"id":81328,"nodeType":"ParameterList","parameters":[{"constant":false,"id":81325,"indexed":false,"mutability":"mutable","name":"_member","nameLocation":"3255:7:133","nodeType":"VariableDeclaration","scope":81329,"src":"3247:15:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":81324,"name":"address","nodeType":"ElementaryTypeName","src":"3247:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":81327,"indexed":false,"mutability":"mutable","name":"_unstakedAmount","nameLocation":"3272:15:133","nodeType":"VariableDeclaration","scope":81329,"src":"3264:23:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":81326,"name":"uint256","nodeType":"ElementaryTypeName","src":"3264:7:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3246:42:133"}},{"id":81342,"nodeType":"EventDefinition","src":"3294:110:133","nodes":[],"anonymous":false,"eventSelector":"778cac0ae0b66477341553a4a89398c61ccf448313d3354ad0ca85a5a825d283","name":"PoolCreated","nameLocation":"3300:11:133","parameters":{"id":81341,"nodeType":"ParameterList","parameters":[{"constant":false,"id":81331,"indexed":false,"mutability":"mutable","name":"_poolId","nameLocation":"3320:7:133","nodeType":"VariableDeclaration","scope":81342,"src":"3312:15:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":81330,"name":"uint256","nodeType":"ElementaryTypeName","src":"3312:7:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":81333,"indexed":false,"mutability":"mutable","name":"_strategy","nameLocation":"3337:9:133","nodeType":"VariableDeclaration","scope":81342,"src":"3329:17:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":81332,"name":"address","nodeType":"ElementaryTypeName","src":"3329:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":81335,"indexed":false,"mutability":"mutable","name":"_community","nameLocation":"3356:10:133","nodeType":"VariableDeclaration","scope":81342,"src":"3348:18:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":81334,"name":"address","nodeType":"ElementaryTypeName","src":"3348:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":81337,"indexed":false,"mutability":"mutable","name":"_token","nameLocation":"3376:6:133","nodeType":"VariableDeclaration","scope":81342,"src":"3368:14:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":81336,"name":"address","nodeType":"ElementaryTypeName","src":"3368:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":81340,"indexed":false,"mutability":"mutable","name":"_metadata","nameLocation":"3393:9:133","nodeType":"VariableDeclaration","scope":81342,"src":"3384:18:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata"},"typeName":{"id":81339,"nodeType":"UserDefinedTypeName","pathNode":{"id":81338,"name":"Metadata","nameLocations":["3384:8:133"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"3384:8:133"},"referencedDeclaration":3098,"src":"3384:8:133","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"}],"src":"3311:92:133"}},{"id":81357,"nodeType":"FunctionDefinition","src":"3575:155:133","nodes":[],"body":{"id":81356,"nodeType":"Block","src":"3615:115:133","nodes":[],"statements":[{"condition":{"id":81350,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"3629:43:133","subExpression":{"arguments":[{"id":81346,"name":"COUNCIL_MEMBER_CHANGE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81244,"src":"3638:21:133","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"expression":{"id":81347,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"3661:3:133","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":81348,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3665:6:133","memberName":"sender","nodeType":"MemberAccess","src":"3661:10:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":81345,"name":"hasRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55072,"src":"3630:7:133","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) view returns (bool)"}},"id":81349,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3630:42:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":81355,"nodeType":"IfStatement","src":"3625:99:133","trueBody":{"id":81354,"nodeType":"Block","src":"3674:50:133","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":81351,"name":"UserNotInCouncil","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81441,"src":"3695:16:133","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":81352,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3695:18:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":81353,"nodeType":"RevertStatement","src":"3688:25:133"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"onlyCouncilSafe","nameLocation":"3584:15:133","parameters":{"id":81343,"nodeType":"ParameterList","parameters":[],"src":"3599:2:133"},"returnParameters":{"id":81344,"nodeType":"ParameterList","parameters":[],"src":"3615:0:133"},"scope":83082,"stateMutability":"view","virtual":false,"visibility":"private"},{"id":81371,"nodeType":"FunctionDefinition","src":"3736:143:133","nodes":[],"body":{"id":81370,"nodeType":"Block","src":"3785:94:133","nodes":[],"statements":[{"condition":{"id":81364,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"3799:21:133","subExpression":{"arguments":[{"expression":{"id":81361,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"3809:3:133","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":81362,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3813:6:133","memberName":"sender","nodeType":"MemberAccess","src":"3809:10:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":81360,"name":"isMember","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82663,"src":"3800:8:133","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":81363,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3800:20:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":81369,"nodeType":"IfStatement","src":"3795:78:133","trueBody":{"id":81368,"nodeType":"Block","src":"3822:51:133","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":81365,"name":"UserNotInRegistry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81443,"src":"3843:17:133","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":81366,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3843:19:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":81367,"nodeType":"RevertStatement","src":"3836:26:133"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"onlyRegistryMemberSender","nameLocation":"3745:24:133","parameters":{"id":81358,"nodeType":"ParameterList","parameters":[],"src":"3769:2:133"},"returnParameters":{"id":81359,"nodeType":"ParameterList","parameters":[],"src":"3785:0:133"},"scope":83082,"stateMutability":"view","virtual":false,"visibility":"private"},{"id":81386,"nodeType":"FunctionDefinition","src":"3885:156:133","nodes":[],"body":{"id":81385,"nodeType":"Block","src":"3950:91:133","nodes":[],"statements":[{"condition":{"id":81379,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"3964:18:133","subExpression":{"arguments":[{"id":81377,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81373,"src":"3974:7:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":81376,"name":"isMember","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82663,"src":"3965:8:133","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":81378,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3965:17:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":81384,"nodeType":"IfStatement","src":"3960:75:133","trueBody":{"id":81383,"nodeType":"Block","src":"3984:51:133","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":81380,"name":"UserNotInRegistry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81443,"src":"4005:17:133","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":81381,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4005:19:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":81382,"nodeType":"RevertStatement","src":"3998:26:133"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"onlyRegistryMemberAddress","nameLocation":"3894:25:133","parameters":{"id":81374,"nodeType":"ParameterList","parameters":[{"constant":false,"id":81373,"mutability":"mutable","name":"_sender","nameLocation":"3928:7:133","nodeType":"VariableDeclaration","scope":81386,"src":"3920:15:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":81372,"name":"address","nodeType":"ElementaryTypeName","src":"3920:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3919:17:133"},"returnParameters":{"id":81375,"nodeType":"ParameterList","parameters":[],"src":"3950:0:133"},"scope":83082,"stateMutability":"view","virtual":false,"visibility":"private"},{"id":81401,"nodeType":"FunctionDefinition","src":"4047:162:133","nodes":[],"body":{"id":81400,"nodeType":"Block","src":"4108:101:133","nodes":[],"statements":[{"condition":{"id":81394,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"4122:29:133","subExpression":{"baseExpression":{"id":81391,"name":"enabledStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81553,"src":"4123:17:133","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":81393,"indexExpression":{"id":81392,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81388,"src":"4141:9:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4123:28:133","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":81399,"nodeType":"IfStatement","src":"4118:85:133","trueBody":{"id":81398,"nodeType":"Block","src":"4153:50:133","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":81395,"name":"StrategyDisabled","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81455,"src":"4174:16:133","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":81396,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4174:18:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":81397,"nodeType":"RevertStatement","src":"4167:25:133"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"onlyStrategyEnabled","nameLocation":"4056:19:133","parameters":{"id":81389,"nodeType":"ParameterList","parameters":[{"constant":false,"id":81388,"mutability":"mutable","name":"_strategy","nameLocation":"4084:9:133","nodeType":"VariableDeclaration","scope":81401,"src":"4076:17:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":81387,"name":"address","nodeType":"ElementaryTypeName","src":"4076:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4075:19:133"},"returnParameters":{"id":81390,"nodeType":"ParameterList","parameters":[],"src":"4108:0:133"},"scope":83082,"stateMutability":"view","virtual":false,"visibility":"private"},{"id":81417,"nodeType":"FunctionDefinition","src":"4215:171:133","nodes":[],"body":{"id":81416,"nodeType":"Block","src":"4293:93:133","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":81410,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":81408,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81403,"src":"4307:7:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":81409,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81405,"src":"4318:9:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"4307:20:133","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":81415,"nodeType":"IfStatement","src":"4303:77:133","trueBody":{"id":81414,"nodeType":"Block","src":"4329:51:133","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":81411,"name":"SenderNotStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81459,"src":"4350:17:133","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":81412,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4350:19:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":81413,"nodeType":"RevertStatement","src":"4343:26:133"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"onlyStrategyAddress","nameLocation":"4224:19:133","parameters":{"id":81406,"nodeType":"ParameterList","parameters":[{"constant":false,"id":81403,"mutability":"mutable","name":"_sender","nameLocation":"4252:7:133","nodeType":"VariableDeclaration","scope":81417,"src":"4244:15:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":81402,"name":"address","nodeType":"ElementaryTypeName","src":"4244:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":81405,"mutability":"mutable","name":"_strategy","nameLocation":"4269:9:133","nodeType":"VariableDeclaration","scope":81417,"src":"4261:17:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":81404,"name":"address","nodeType":"ElementaryTypeName","src":"4261:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4243:36:133"},"returnParameters":{"id":81407,"nodeType":"ParameterList","parameters":[],"src":"4293:0:133"},"scope":83082,"stateMutability":"pure","virtual":false,"visibility":"private"},{"id":81435,"nodeType":"FunctionDefinition","src":"4392:189:133","nodes":[],"body":{"id":81434,"nodeType":"Block","src":"4457:124:133","nodes":[],"statements":[{"condition":{"id":81428,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"4471:51:133","subExpression":{"baseExpression":{"baseExpression":{"id":81422,"name":"memberActivatedInStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81575,"src":"4472:27:133","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$","typeString":"mapping(address => mapping(address => bool))"}},"id":81425,"indexExpression":{"expression":{"id":81423,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"4500:3:133","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":81424,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4504:6:133","memberName":"sender","nodeType":"MemberAccess","src":"4500:10:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4472:39:133","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":81427,"indexExpression":{"id":81426,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81419,"src":"4512:9:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4472:50:133","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":81433,"nodeType":"IfStatement","src":"4467:108:133","trueBody":{"id":81432,"nodeType":"Block","src":"4524:51:133","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":81429,"name":"PointsDeactivated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81467,"src":"4545:17:133","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":81430,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4545:19:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":81431,"nodeType":"RevertStatement","src":"4538:26:133"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"onlyActivatedInStrategy","nameLocation":"4401:23:133","parameters":{"id":81420,"nodeType":"ParameterList","parameters":[{"constant":false,"id":81419,"mutability":"mutable","name":"_strategy","nameLocation":"4433:9:133","nodeType":"VariableDeclaration","scope":81435,"src":"4425:17:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":81418,"name":"address","nodeType":"ElementaryTypeName","src":"4425:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4424:19:133"},"returnParameters":{"id":81421,"nodeType":"ParameterList","parameters":[],"src":"4457:0:133"},"scope":83082,"stateMutability":"view","virtual":false,"visibility":"private"},{"id":81437,"nodeType":"ErrorDefinition","src":"4753:28:133","nodes":[],"errorSelector":"e622e040","name":"AddressCannotBeZero","nameLocation":"4759:19:133","parameters":{"id":81436,"nodeType":"ParameterList","parameters":[],"src":"4778:2:133"}},{"id":81439,"nodeType":"ErrorDefinition","src":"4786:29:133","nodes":[],"errorSelector":"5df4b1ef","name":"RegistryCannotBeZero","nameLocation":"4792:20:133","parameters":{"id":81438,"nodeType":"ParameterList","parameters":[],"src":"4812:2:133"}},{"id":81441,"nodeType":"ErrorDefinition","src":"4820:25:133","nodes":[],"errorSelector":"f62651fa","name":"UserNotInCouncil","nameLocation":"4826:16:133","parameters":{"id":81440,"nodeType":"ParameterList","parameters":[],"src":"4842:2:133"}},{"id":81443,"nodeType":"ErrorDefinition","src":"4850:26:133","nodes":[],"errorSelector":"6a5cfb6d","name":"UserNotInRegistry","nameLocation":"4856:17:133","parameters":{"id":81442,"nodeType":"ParameterList","parameters":[],"src":"4873:2:133"}},{"id":81445,"nodeType":"ErrorDefinition","src":"4881:30:133","nodes":[],"errorSelector":"9e4a65f6","name":"UserAlreadyRegistered","nameLocation":"4887:21:133","parameters":{"id":81444,"nodeType":"ParameterList","parameters":[],"src":"4908:2:133"}},{"id":81447,"nodeType":"ErrorDefinition","src":"4916:27:133","nodes":[],"errorSelector":"e9a644b8","name":"UserNotGardenOwner","nameLocation":"4922:18:133","parameters":{"id":81446,"nodeType":"ParameterList","parameters":[],"src":"4940:2:133"}},{"id":81449,"nodeType":"ErrorDefinition","src":"4948:29:133","nodes":[],"errorSelector":"d5b9bc96","name":"UserAlreadyActivated","nameLocation":"4954:20:133","parameters":{"id":81448,"nodeType":"ParameterList","parameters":[],"src":"4974:2:133"}},{"id":81451,"nodeType":"ErrorDefinition","src":"4982:31:133","nodes":[],"errorSelector":"c12369dc","name":"UserAlreadyDeactivated","nameLocation":"4988:22:133","parameters":{"id":81450,"nodeType":"ParameterList","parameters":[],"src":"5010:2:133"}},{"id":81453,"nodeType":"ErrorDefinition","src":"5018:23:133","nodes":[],"errorSelector":"968a4d2c","name":"StrategyExists","nameLocation":"5024:14:133","parameters":{"id":81452,"nodeType":"ParameterList","parameters":[],"src":"5038:2:133"}},{"id":81455,"nodeType":"ErrorDefinition","src":"5046:25:133","nodes":[],"errorSelector":"46c26e4b","name":"StrategyDisabled","nameLocation":"5052:16:133","parameters":{"id":81454,"nodeType":"ParameterList","parameters":[],"src":"5068:2:133"}},{"id":81457,"nodeType":"ErrorDefinition","src":"5076:26:133","nodes":[],"errorSelector":"ebcd0d6e","name":"SenderNotNewOwner","nameLocation":"5082:17:133","parameters":{"id":81456,"nodeType":"ParameterList","parameters":[],"src":"5099:2:133"}},{"id":81459,"nodeType":"ErrorDefinition","src":"5107:26:133","nodes":[],"errorSelector":"bbe79611","name":"SenderNotStrategy","nameLocation":"5113:17:133","parameters":{"id":81458,"nodeType":"ParameterList","parameters":[],"src":"5130:2:133"}},{"id":81461,"nodeType":"ErrorDefinition","src":"5138:26:133","nodes":[],"errorSelector":"c70d18aa","name":"ValueCannotBeZero","nameLocation":"5144:17:133","parameters":{"id":81460,"nodeType":"ParameterList","parameters":[],"src":"5161:2:133"}},{"id":81463,"nodeType":"ErrorDefinition","src":"5169:29:133","nodes":[],"errorSelector":"fe925f7d","name":"NewFeeGreaterThanMax","nameLocation":"5175:20:133","parameters":{"id":81462,"nodeType":"ParameterList","parameters":[],"src":"5195:2:133"}},{"id":81465,"nodeType":"ErrorDefinition","src":"5203:23:133","nodes":[],"errorSelector":"cb63dc72","name":"KickNotEnabled","nameLocation":"5209:14:133","parameters":{"id":81464,"nodeType":"ParameterList","parameters":[],"src":"5223:2:133"}},{"id":81467,"nodeType":"ErrorDefinition","src":"5231:26:133","nodes":[],"errorSelector":"d4d3290e","name":"PointsDeactivated","nameLocation":"5237:17:133","parameters":{"id":81466,"nodeType":"ParameterList","parameters":[],"src":"5254:2:133"}},{"id":81469,"nodeType":"ErrorDefinition","src":"5262:29:133","nodes":[],"errorSelector":"9c47d02e","name":"DecreaseUnderMinimum","nameLocation":"5268:20:133","parameters":{"id":81468,"nodeType":"ParameterList","parameters":[],"src":"5288:2:133"}},{"id":81475,"nodeType":"ErrorDefinition","src":"5296:80:133","nodes":[],"errorSelector":"8a11f318","name":"CantDecreaseMoreThanPower","nameLocation":"5302:25:133","parameters":{"id":81474,"nodeType":"ParameterList","parameters":[{"constant":false,"id":81471,"mutability":"mutable","name":"_decreaseAmount","nameLocation":"5336:15:133","nodeType":"VariableDeclaration","scope":81475,"src":"5328:23:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":81470,"name":"uint256","nodeType":"ElementaryTypeName","src":"5328:7:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":81473,"mutability":"mutable","name":"_currentPower","nameLocation":"5361:13:133","nodeType":"VariableDeclaration","scope":81475,"src":"5353:21:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":81472,"name":"uint256","nodeType":"ElementaryTypeName","src":"5353:7:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5327:48:133"}},{"id":81482,"nodeType":"StructDefinition","src":"5547:102:133","nodes":[],"canonicalName":"RegistryCommunity.Member","members":[{"constant":false,"id":81477,"mutability":"mutable","name":"member","nameLocation":"5579:6:133","nodeType":"VariableDeclaration","scope":81482,"src":"5571:14:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":81476,"name":"address","nodeType":"ElementaryTypeName","src":"5571:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":81479,"mutability":"mutable","name":"stakedAmount","nameLocation":"5603:12:133","nodeType":"VariableDeclaration","scope":81482,"src":"5595:20:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":81478,"name":"uint256","nodeType":"ElementaryTypeName","src":"5595:7:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":81481,"mutability":"mutable","name":"isRegistered","nameLocation":"5630:12:133","nodeType":"VariableDeclaration","scope":81482,"src":"5625:17:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":81480,"name":"bool","nodeType":"ElementaryTypeName","src":"5625:4:133","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"name":"Member","nameLocation":"5554:6:133","scope":83082,"visibility":"public"},{"id":81486,"nodeType":"StructDefinition","src":"5655:55:133","nodes":[],"canonicalName":"RegistryCommunity.Strategies","members":[{"constant":false,"id":81485,"mutability":"mutable","name":"strategies","nameLocation":"5693:10:133","nodeType":"VariableDeclaration","scope":81486,"src":"5683:20:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":81483,"name":"address","nodeType":"ElementaryTypeName","src":"5683:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":81484,"nodeType":"ArrayTypeName","src":"5683:9:133","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"name":"Strategies","nameLocation":"5662:10:133","scope":83082,"visibility":"public"},{"id":81515,"nodeType":"StructDefinition","src":"5716:490:133","nodes":[],"canonicalName":"RegistryCommunity.InitializeParams","members":[{"constant":false,"id":81488,"mutability":"mutable","name":"_allo","nameLocation":"5758:5:133","nodeType":"VariableDeclaration","scope":81515,"src":"5750:13:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":81487,"name":"address","nodeType":"ElementaryTypeName","src":"5750:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":81491,"mutability":"mutable","name":"_gardenToken","nameLocation":"5780:12:133","nodeType":"VariableDeclaration","scope":81515,"src":"5773:19:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$57069","typeString":"contract IERC20"},"typeName":{"id":81490,"nodeType":"UserDefinedTypeName","pathNode":{"id":81489,"name":"IERC20","nameLocations":["5773:6:133"],"nodeType":"IdentifierPath","referencedDeclaration":57069,"src":"5773:6:133"},"referencedDeclaration":57069,"src":"5773:6:133","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$57069","typeString":"contract IERC20"}},"visibility":"internal"},{"constant":false,"id":81493,"mutability":"mutable","name":"_registerStakeAmount","nameLocation":"5810:20:133","nodeType":"VariableDeclaration","scope":81515,"src":"5802:28:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":81492,"name":"uint256","nodeType":"ElementaryTypeName","src":"5802:7:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":81495,"mutability":"mutable","name":"_communityFee","nameLocation":"5848:13:133","nodeType":"VariableDeclaration","scope":81515,"src":"5840:21:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":81494,"name":"uint256","nodeType":"ElementaryTypeName","src":"5840:7:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":81497,"mutability":"mutable","name":"_nonce","nameLocation":"5935:6:133","nodeType":"VariableDeclaration","scope":81515,"src":"5927:14:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":81496,"name":"uint256","nodeType":"ElementaryTypeName","src":"5927:7:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":81499,"mutability":"mutable","name":"_registryFactory","nameLocation":"5959:16:133","nodeType":"VariableDeclaration","scope":81515,"src":"5951:24:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":81498,"name":"address","nodeType":"ElementaryTypeName","src":"5951:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":81501,"mutability":"mutable","name":"_feeReceiver","nameLocation":"5993:12:133","nodeType":"VariableDeclaration","scope":81515,"src":"5985:20:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":81500,"name":"address","nodeType":"ElementaryTypeName","src":"5985:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":81504,"mutability":"mutable","name":"_metadata","nameLocation":"6024:9:133","nodeType":"VariableDeclaration","scope":81515,"src":"6015:18:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"},"typeName":{"id":81503,"nodeType":"UserDefinedTypeName","pathNode":{"id":81502,"name":"Metadata","nameLocations":["6015:8:133"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"6015:8:133"},"referencedDeclaration":3098,"src":"6015:8:133","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"},{"constant":false,"id":81506,"mutability":"mutable","name":"_councilSafe","nameLocation":"6059:12:133","nodeType":"VariableDeclaration","scope":81515,"src":"6043:28:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"},"typeName":{"id":81505,"name":"address","nodeType":"ElementaryTypeName","src":"6043:15:133","stateMutability":"payable","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"visibility":"internal"},{"constant":false,"id":81508,"mutability":"mutable","name":"_communityName","nameLocation":"6088:14:133","nodeType":"VariableDeclaration","scope":81515,"src":"6081:21:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":81507,"name":"string","nodeType":"ElementaryTypeName","src":"6081:6:133","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":81510,"mutability":"mutable","name":"_isKickEnabled","nameLocation":"6117:14:133","nodeType":"VariableDeclaration","scope":81515,"src":"6112:19:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":81509,"name":"bool","nodeType":"ElementaryTypeName","src":"6112:4:133","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":81512,"mutability":"mutable","name":"covenantIpfsHash","nameLocation":"6148:16:133","nodeType":"VariableDeclaration","scope":81515,"src":"6141:23:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":81511,"name":"string","nodeType":"ElementaryTypeName","src":"6141:6:133","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":81514,"mutability":"mutable","name":"_strategyTemplate","nameLocation":"6182:17:133","nodeType":"VariableDeclaration","scope":81515,"src":"6174:25:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":81513,"name":"address","nodeType":"ElementaryTypeName","src":"6174:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"name":"InitializeParams","nameLocation":"5723:16:133","scope":83082,"visibility":"public"},{"id":81517,"nodeType":"VariableDeclaration","src":"6303:25:133","nodes":[],"constant":false,"functionSelector":"1f787d28","mutability":"mutable","name":"isKickEnabled","nameLocation":"6315:13:133","scope":83082,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":81516,"name":"bool","nodeType":"ElementaryTypeName","src":"6303:4:133","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"public"},{"id":81519,"nodeType":"VariableDeclaration","src":"6472:34:133","nodes":[],"constant":false,"functionSelector":"78a0b8a9","mutability":"mutable","name":"registerStakeAmount","nameLocation":"6487:19:133","scope":83082,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":81518,"name":"uint256","nodeType":"ElementaryTypeName","src":"6472:7:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"id":81521,"nodeType":"VariableDeclaration","src":"6512:27:133","nodes":[],"constant":false,"functionSelector":"8961be6b","mutability":"mutable","name":"communityFee","nameLocation":"6527:12:133","scope":83082,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":81520,"name":"uint256","nodeType":"ElementaryTypeName","src":"6512:7:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"id":81523,"nodeType":"VariableDeclaration","src":"6545:24:133","nodes":[],"constant":false,"functionSelector":"08386eba","mutability":"mutable","name":"profileId","nameLocation":"6560:9:133","scope":83082,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":81522,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6545:7:133","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"public"},{"id":81525,"nodeType":"VariableDeclaration","src":"6620:26:133","nodes":[],"constant":false,"functionSelector":"b3f00674","mutability":"mutable","name":"feeReceiver","nameLocation":"6635:11:133","scope":83082,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":81524,"name":"address","nodeType":"ElementaryTypeName","src":"6620:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"public"},{"id":81527,"nodeType":"VariableDeclaration","src":"6652:30:133","nodes":[],"constant":false,"functionSelector":"f86c5f89","mutability":"mutable","name":"registryFactory","nameLocation":"6667:15:133","scope":83082,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":81526,"name":"address","nodeType":"ElementaryTypeName","src":"6652:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"public"},{"id":81529,"nodeType":"VariableDeclaration","src":"6688:31:133","nodes":[],"constant":false,"functionSelector":"5c94e4d2","mutability":"mutable","name":"strategyTemplate","nameLocation":"6703:16:133","scope":83082,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":81528,"name":"address","nodeType":"ElementaryTypeName","src":"6688:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"public"},{"id":81531,"nodeType":"VariableDeclaration","src":"6725:25:133","nodes":[],"constant":false,"functionSelector":"33960459","mutability":"mutable","name":"cloneNonce","nameLocation":"6740:10:133","scope":83082,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":81530,"name":"uint256","nodeType":"ElementaryTypeName","src":"6725:7:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"id":81533,"nodeType":"VariableDeclaration","src":"6756:41:133","nodes":[],"constant":false,"functionSelector":"68decabb","mutability":"mutable","name":"pendingCouncilSafe","nameLocation":"6779:18:133","scope":83082,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"},"typeName":{"id":81532,"name":"address","nodeType":"ElementaryTypeName","src":"6756:15:133","stateMutability":"payable","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"visibility":"public"},{"id":81536,"nodeType":"VariableDeclaration","src":"6875:25:133","nodes":[],"constant":false,"functionSelector":"7b103999","mutability":"mutable","name":"registry","nameLocation":"6892:8:133","scope":83082,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"},"typeName":{"id":81535,"nodeType":"UserDefinedTypeName","pathNode":{"id":81534,"name":"IRegistry","nameLocations":["6875:9:133"],"nodeType":"IdentifierPath","referencedDeclaration":2802,"src":"6875:9:133"},"referencedDeclaration":2802,"src":"6875:9:133","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"}},"visibility":"public"},{"id":81539,"nodeType":"VariableDeclaration","src":"6906:25:133","nodes":[],"constant":false,"functionSelector":"db61d65c","mutability":"mutable","name":"gardenToken","nameLocation":"6920:11:133","scope":83082,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$57069","typeString":"contract IERC20"},"typeName":{"id":81538,"nodeType":"UserDefinedTypeName","pathNode":{"id":81537,"name":"IERC20","nameLocations":["6906:6:133"],"nodeType":"IdentifierPath","referencedDeclaration":57069,"src":"6906:6:133"},"referencedDeclaration":57069,"src":"6906:6:133","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$57069","typeString":"contract IERC20"}},"visibility":"public"},{"id":81542,"nodeType":"VariableDeclaration","src":"6937:24:133","nodes":[],"constant":false,"functionSelector":"6c53db9a","mutability":"mutable","name":"councilSafe","nameLocation":"6950:11:133","scope":83082,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_ISafe_$85665","typeString":"contract ISafe"},"typeName":{"id":81541,"nodeType":"UserDefinedTypeName","pathNode":{"id":81540,"name":"ISafe","nameLocations":["6937:5:133"],"nodeType":"IdentifierPath","referencedDeclaration":85665,"src":"6937:5:133"},"referencedDeclaration":85665,"src":"6937:5:133","typeDescriptions":{"typeIdentifier":"t_contract$_ISafe_$85665","typeString":"contract ISafe"}},"visibility":"public"},{"id":81545,"nodeType":"VariableDeclaration","src":"6967:17:133","nodes":[],"constant":false,"functionSelector":"d6d8428d","mutability":"mutable","name":"allo","nameLocation":"6980:4:133","scope":83082,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_FAllo_$81222","typeString":"contract FAllo"},"typeName":{"id":81544,"nodeType":"UserDefinedTypeName","pathNode":{"id":81543,"name":"FAllo","nameLocations":["6967:5:133"],"nodeType":"IdentifierPath","referencedDeclaration":81222,"src":"6967:5:133"},"referencedDeclaration":81222,"src":"6967:5:133","typeDescriptions":{"typeIdentifier":"t_contract$_FAllo_$81222","typeString":"contract FAllo"}},"visibility":"public"},{"id":81547,"nodeType":"VariableDeclaration","src":"7048:27:133","nodes":[],"constant":false,"functionSelector":"c6d572ae","mutability":"mutable","name":"communityName","nameLocation":"7062:13:133","scope":83082,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string"},"typeName":{"id":81546,"name":"string","nodeType":"ElementaryTypeName","src":"7048:6:133","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"public"},{"id":81549,"nodeType":"VariableDeclaration","src":"7081:30:133","nodes":[],"constant":false,"functionSelector":"b64e39af","mutability":"mutable","name":"covenantIpfsHash","nameLocation":"7095:16:133","scope":83082,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string"},"typeName":{"id":81548,"name":"string","nodeType":"ElementaryTypeName","src":"7081:6:133","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"public"},{"id":81553,"nodeType":"VariableDeclaration","src":"7175:68:133","nodes":[],"constant":false,"functionSelector":"3a871fe1","mutability":"mutable","name":"enabledStrategies","nameLocation":"7226:17:133","scope":83082,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"},"typeName":{"id":81552,"keyName":"strategy","keyNameLocation":"7191:8:133","keyType":{"id":81550,"name":"address","nodeType":"ElementaryTypeName","src":"7183:7:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"7175:43:133","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"},"valueName":"isEnabled","valueNameLocation":"7208:9:133","valueType":{"id":81551,"name":"bool","nodeType":"ElementaryTypeName","src":"7203:4:133","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}},"visibility":"public"},{"id":81559,"nodeType":"VariableDeclaration","src":"7249:98:133","nodes":[],"constant":false,"functionSelector":"65e3864c","mutability":"mutable","name":"memberPowerInStrategy","nameLocation":"7326:21:133","scope":83082,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"},"typeName":{"id":81558,"keyName":"strategy","keyNameLocation":"7265:8:133","keyType":{"id":81554,"name":"address","nodeType":"ElementaryTypeName","src":"7257:7:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"7249:69:133","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":81557,"keyName":"member","keyNameLocation":"7293:6:133","keyType":{"id":81555,"name":"address","nodeType":"ElementaryTypeName","src":"7285:7:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"7277:40:133","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"valueName":"power","valueNameLocation":"7311:5:133","valueType":{"id":81556,"name":"uint256","nodeType":"ElementaryTypeName","src":"7303:7:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}}},"visibility":"public"},{"id":81564,"nodeType":"VariableDeclaration","src":"7354:60:133","nodes":[],"constant":false,"functionSelector":"88cfe684","mutability":"mutable","name":"addressToMemberInfo","nameLocation":"7395:19:133","scope":83082,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Member_$81482_storage_$","typeString":"mapping(address => struct RegistryCommunity.Member)"},"typeName":{"id":81563,"keyName":"member","keyNameLocation":"7370:6:133","keyType":{"id":81560,"name":"address","nodeType":"ElementaryTypeName","src":"7362:7:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"7354:33:133","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Member_$81482_storage_$","typeString":"mapping(address => struct RegistryCommunity.Member)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":81562,"nodeType":"UserDefinedTypeName","pathNode":{"id":81561,"name":"Member","nameLocations":["7380:6:133"],"nodeType":"IdentifierPath","referencedDeclaration":81482,"src":"7380:6:133"},"referencedDeclaration":81482,"src":"7380:6:133","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$81482_storage_ptr","typeString":"struct RegistryCommunity.Member"}}},"visibility":"public"},{"id":81569,"nodeType":"VariableDeclaration","src":"7420:82:133","nodes":[],"constant":false,"functionSelector":"2b38c69c","mutability":"mutable","name":"strategiesByMember","nameLocation":"7484:18:133","scope":83082,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_address_$dyn_storage_$","typeString":"mapping(address => address[])"},"typeName":{"id":81568,"keyName":"member","keyNameLocation":"7436:6:133","keyType":{"id":81565,"name":"address","nodeType":"ElementaryTypeName","src":"7428:7:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"7420:56:133","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_address_$dyn_storage_$","typeString":"mapping(address => address[])"},"valueName":"strategiesAddresses","valueNameLocation":"7456:19:133","valueType":{"baseType":{"id":81566,"name":"address","nodeType":"ElementaryTypeName","src":"7446:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":81567,"nodeType":"ArrayTypeName","src":"7446:9:133","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}}},"visibility":"public"},{"id":81575,"nodeType":"VariableDeclaration","src":"7508:107:133","nodes":[],"constant":false,"functionSelector":"477a5cc0","mutability":"mutable","name":"memberActivatedInStrategies","nameLocation":"7588:27:133","scope":83082,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$","typeString":"mapping(address => mapping(address => bool))"},"typeName":{"id":81574,"keyName":"member","keyNameLocation":"7524:6:133","keyType":{"id":81570,"name":"address","nodeType":"ElementaryTypeName","src":"7516:7:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"7508:72:133","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$","typeString":"mapping(address => mapping(address => bool))"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":81573,"keyName":"strategy","keyNameLocation":"7550:8:133","keyType":{"id":81571,"name":"address","nodeType":"ElementaryTypeName","src":"7542:7:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"7534:45:133","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"},"valueName":"isActivated","valueNameLocation":"7567:11:133","valueType":{"id":81572,"name":"bool","nodeType":"ElementaryTypeName","src":"7562:4:133","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}}},"visibility":"public"},{"id":81578,"nodeType":"VariableDeclaration","src":"7622:24:133","nodes":[],"constant":false,"mutability":"mutable","name":"initialMembers","nameLocation":"7632:14:133","scope":83082,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[]"},"typeName":{"baseType":{"id":81576,"name":"address","nodeType":"ElementaryTypeName","src":"7622:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":81577,"nodeType":"ArrayTypeName","src":"7622:9:133","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"id":81583,"nodeType":"VariableDeclaration","src":"7653:49:133","nodes":[],"constant":true,"functionSelector":"d7050f07","mutability":"constant","name":"PRECISION_SCALE","nameLocation":"7677:15:133","scope":83082,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":81579,"name":"uint256","nodeType":"ElementaryTypeName","src":"7653:7:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"commonType":{"typeIdentifier":"t_rational_10000_by_1","typeString":"int_const 10000"},"id":81582,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":81580,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7695:2:133","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"34","id":81581,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7701:1:133","typeDescriptions":{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},"value":"4"},"src":"7695:7:133","typeDescriptions":{"typeIdentifier":"t_rational_10000_by_1","typeString":"int_const 10000"}},"visibility":"public"},{"id":81588,"nodeType":"VariableDeclaration","src":"7708:54:133","nodes":[],"constant":true,"functionSelector":"bc063e1a","mutability":"constant","name":"MAX_FEE","nameLocation":"7732:7:133","scope":83082,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":81584,"name":"uint256","nodeType":"ElementaryTypeName","src":"7708:7:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":81587,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":81585,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7742:2:133","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":81586,"name":"PRECISION_SCALE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81583,"src":"7747:15:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7742:20:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"id":81597,"nodeType":"FunctionDefinition","src":"7769:145:133","nodes":[],"body":{"id":81596,"nodeType":"Block","src":"7783:131:133","nodes":[],"statements":[{"expression":{"arguments":[{"id":81592,"name":"COUNCIL_MEMBER_CHANGE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81244,"src":"7865:21:133","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":81593,"name":"DEFAULT_ADMIN_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55020,"src":"7888:18:133","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":81591,"name":"_setRoleAdmin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55244,"src":"7851:13:133","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (bytes32,bytes32)"}},"id":81594,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7851:56:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":81595,"nodeType":"ExpressionStatement","src":"7851:56:133"}]},"implemented":true,"kind":"constructor","modifiers":[],"name":"","nameLocation":"-1:-1:-1","parameters":{"id":81589,"nodeType":"ParameterList","parameters":[],"src":"7780:2:133"},"returnParameters":{"id":81590,"nodeType":"ParameterList","parameters":[],"src":"7783:0:133"},"scope":83082,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":81820,"nodeType":"FunctionDefinition","src":"7920:1945:133","nodes":[],"body":{"id":81819,"nodeType":"Block","src":"7997:1868:133","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"expression":{"id":81606,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81600,"src":"8034:6:133","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$81515_memory_ptr","typeString":"struct RegistryCommunity.InitializeParams memory"}},"id":81607,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8041:12:133","memberName":"_gardenToken","nodeType":"MemberAccess","referencedDeclaration":81491,"src":"8034:19:133","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$57069","typeString":"contract IERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$57069","typeString":"contract IERC20"}],"id":81605,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8026:7:133","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":81604,"name":"address","nodeType":"ElementaryTypeName","src":"8026:7:133","typeDescriptions":{}}},"id":81608,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8026:28:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":81603,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82526,"src":"8007:18:133","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":81609,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8007:48:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":81610,"nodeType":"ExpressionStatement","src":"8007:48:133"},{"expression":{"arguments":[{"expression":{"id":81612,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81600,"src":"8084:6:133","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$81515_memory_ptr","typeString":"struct RegistryCommunity.InitializeParams memory"}},"id":81613,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8091:12:133","memberName":"_councilSafe","nodeType":"MemberAccess","referencedDeclaration":81506,"src":"8084:19:133","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":81611,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82526,"src":"8065:18:133","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":81614,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8065:39:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":81615,"nodeType":"ExpressionStatement","src":"8065:39:133"},{"expression":{"arguments":[{"expression":{"id":81617,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81600,"src":"8133:6:133","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$81515_memory_ptr","typeString":"struct RegistryCommunity.InitializeParams memory"}},"id":81618,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8140:5:133","memberName":"_allo","nodeType":"MemberAccess","referencedDeclaration":81488,"src":"8133:12:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":81616,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82526,"src":"8114:18:133","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":81619,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8114:32:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":81620,"nodeType":"ExpressionStatement","src":"8114:32:133"},{"expression":{"arguments":[{"expression":{"id":81622,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81600,"src":"8175:6:133","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$81515_memory_ptr","typeString":"struct RegistryCommunity.InitializeParams memory"}},"id":81623,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8182:16:133","memberName":"_registryFactory","nodeType":"MemberAccess","referencedDeclaration":81499,"src":"8175:23:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":81621,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82526,"src":"8156:18:133","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":81624,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8156:43:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":81625,"nodeType":"ExpressionStatement","src":"8156:43:133"},{"expression":{"arguments":[{"expression":{"id":81627,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81600,"src":"8228:6:133","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$81515_memory_ptr","typeString":"struct RegistryCommunity.InitializeParams memory"}},"id":81628,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8235:17:133","memberName":"_strategyTemplate","nodeType":"MemberAccess","referencedDeclaration":81514,"src":"8228:24:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":81626,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82526,"src":"8209:18:133","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":81629,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8209:44:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":81630,"nodeType":"ExpressionStatement","src":"8209:44:133"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":81634,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":81631,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81600,"src":"8268:6:133","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$81515_memory_ptr","typeString":"struct RegistryCommunity.InitializeParams memory"}},"id":81632,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8275:13:133","memberName":"_communityFee","nodeType":"MemberAccess","referencedDeclaration":81495,"src":"8268:20:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":81633,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8292:1:133","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"8268:25:133","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":81641,"nodeType":"IfStatement","src":"8264:95:133","trueBody":{"id":81640,"nodeType":"Block","src":"8295:64:133","statements":[{"expression":{"arguments":[{"expression":{"id":81636,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81600,"src":"8328:6:133","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$81515_memory_ptr","typeString":"struct RegistryCommunity.InitializeParams memory"}},"id":81637,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8335:12:133","memberName":"_feeReceiver","nodeType":"MemberAccess","referencedDeclaration":81501,"src":"8328:19:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":81635,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82526,"src":"8309:18:133","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":81638,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8309:39:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":81639,"nodeType":"ExpressionStatement","src":"8309:39:133"}]}},{"expression":{"id":81647,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":81642,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81545,"src":"8368:4:133","typeDescriptions":{"typeIdentifier":"t_contract$_FAllo_$81222","typeString":"contract FAllo"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":81644,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81600,"src":"8381:6:133","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$81515_memory_ptr","typeString":"struct RegistryCommunity.InitializeParams memory"}},"id":81645,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8388:5:133","memberName":"_allo","nodeType":"MemberAccess","referencedDeclaration":81488,"src":"8381:12:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":81643,"name":"FAllo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81222,"src":"8375:5:133","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_FAllo_$81222_$","typeString":"type(contract FAllo)"}},"id":81646,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8375:19:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_FAllo_$81222","typeString":"contract FAllo"}},"src":"8368:26:133","typeDescriptions":{"typeIdentifier":"t_contract$_FAllo_$81222","typeString":"contract FAllo"}},"id":81648,"nodeType":"ExpressionStatement","src":"8368:26:133"},{"expression":{"id":81652,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":81649,"name":"gardenToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81539,"src":"8404:11:133","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$57069","typeString":"contract IERC20"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":81650,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81600,"src":"8418:6:133","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$81515_memory_ptr","typeString":"struct RegistryCommunity.InitializeParams memory"}},"id":81651,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8425:12:133","memberName":"_gardenToken","nodeType":"MemberAccess","referencedDeclaration":81491,"src":"8418:19:133","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$57069","typeString":"contract IERC20"}},"src":"8404:33:133","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$57069","typeString":"contract IERC20"}},"id":81653,"nodeType":"ExpressionStatement","src":"8404:33:133"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":81657,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":81654,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81600,"src":"8451:6:133","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$81515_memory_ptr","typeString":"struct RegistryCommunity.InitializeParams memory"}},"id":81655,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8458:20:133","memberName":"_registerStakeAmount","nodeType":"MemberAccess","referencedDeclaration":81493,"src":"8451:27:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":81656,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8482:1:133","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"8451:32:133","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":81662,"nodeType":"IfStatement","src":"8447:89:133","trueBody":{"id":81661,"nodeType":"Block","src":"8485:51:133","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":81658,"name":"ValueCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81461,"src":"8506:17:133","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":81659,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8506:19:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":81660,"nodeType":"RevertStatement","src":"8499:26:133"}]}},{"expression":{"id":81666,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":81663,"name":"registerStakeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81519,"src":"8545:19:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":81664,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81600,"src":"8567:6:133","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$81515_memory_ptr","typeString":"struct RegistryCommunity.InitializeParams memory"}},"id":81665,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8574:20:133","memberName":"_registerStakeAmount","nodeType":"MemberAccess","referencedDeclaration":81493,"src":"8567:27:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8545:49:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":81667,"nodeType":"ExpressionStatement","src":"8545:49:133"},{"expression":{"id":81671,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":81668,"name":"communityFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81521,"src":"8604:12:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":81669,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81600,"src":"8619:6:133","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$81515_memory_ptr","typeString":"struct RegistryCommunity.InitializeParams memory"}},"id":81670,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8626:13:133","memberName":"_communityFee","nodeType":"MemberAccess","referencedDeclaration":81495,"src":"8619:20:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8604:35:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":81672,"nodeType":"ExpressionStatement","src":"8604:35:133"},{"expression":{"id":81676,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":81673,"name":"isKickEnabled","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81517,"src":"8649:13:133","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":81674,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81600,"src":"8665:6:133","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$81515_memory_ptr","typeString":"struct RegistryCommunity.InitializeParams memory"}},"id":81675,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8672:14:133","memberName":"_isKickEnabled","nodeType":"MemberAccess","referencedDeclaration":81510,"src":"8665:21:133","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"8649:37:133","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":81677,"nodeType":"ExpressionStatement","src":"8649:37:133"},{"expression":{"id":81681,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":81678,"name":"communityName","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81547,"src":"8696:13:133","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":81679,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81600,"src":"8712:6:133","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$81515_memory_ptr","typeString":"struct RegistryCommunity.InitializeParams memory"}},"id":81680,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8719:14:133","memberName":"_communityName","nodeType":"MemberAccess","referencedDeclaration":81508,"src":"8712:21:133","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"8696:37:133","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"id":81682,"nodeType":"ExpressionStatement","src":"8696:37:133"},{"expression":{"id":81686,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":81683,"name":"covenantIpfsHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81549,"src":"8743:16:133","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":81684,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81600,"src":"8762:6:133","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$81515_memory_ptr","typeString":"struct RegistryCommunity.InitializeParams memory"}},"id":81685,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8769:16:133","memberName":"covenantIpfsHash","nodeType":"MemberAccess","referencedDeclaration":81512,"src":"8762:23:133","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"8743:42:133","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"id":81687,"nodeType":"ExpressionStatement","src":"8743:42:133"},{"expression":{"id":81691,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":81688,"name":"registryFactory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81527,"src":"8795:15:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":81689,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81600,"src":"8813:6:133","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$81515_memory_ptr","typeString":"struct RegistryCommunity.InitializeParams memory"}},"id":81690,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8820:16:133","memberName":"_registryFactory","nodeType":"MemberAccess","referencedDeclaration":81499,"src":"8813:23:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"8795:41:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":81692,"nodeType":"ExpressionStatement","src":"8795:41:133"},{"expression":{"id":81696,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":81693,"name":"feeReceiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81525,"src":"8846:11:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":81694,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81600,"src":"8860:6:133","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$81515_memory_ptr","typeString":"struct RegistryCommunity.InitializeParams memory"}},"id":81695,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8867:12:133","memberName":"_feeReceiver","nodeType":"MemberAccess","referencedDeclaration":81501,"src":"8860:19:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"8846:33:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":81697,"nodeType":"ExpressionStatement","src":"8846:33:133"},{"expression":{"id":81703,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":81698,"name":"councilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81542,"src":"8889:11:133","typeDescriptions":{"typeIdentifier":"t_contract$_ISafe_$85665","typeString":"contract ISafe"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":81700,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81600,"src":"8909:6:133","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$81515_memory_ptr","typeString":"struct RegistryCommunity.InitializeParams memory"}},"id":81701,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8916:12:133","memberName":"_councilSafe","nodeType":"MemberAccess","referencedDeclaration":81506,"src":"8909:19:133","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":81699,"name":"ISafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85665,"src":"8903:5:133","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ISafe_$85665_$","typeString":"type(contract ISafe)"}},"id":81702,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8903:26:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ISafe_$85665","typeString":"contract ISafe"}},"src":"8889:40:133","typeDescriptions":{"typeIdentifier":"t_contract$_ISafe_$85665","typeString":"contract ISafe"}},"id":81704,"nodeType":"ExpressionStatement","src":"8889:40:133"},{"expression":{"id":81708,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":81705,"name":"strategyTemplate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81529,"src":"8939:16:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":81706,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81600,"src":"8958:6:133","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$81515_memory_ptr","typeString":"struct RegistryCommunity.InitializeParams memory"}},"id":81707,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8965:17:133","memberName":"_strategyTemplate","nodeType":"MemberAccess","referencedDeclaration":81514,"src":"8958:24:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"8939:43:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":81709,"nodeType":"ExpressionStatement","src":"8939:43:133"},{"expression":{"arguments":[{"id":81711,"name":"COUNCIL_MEMBER_CHANGE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81244,"src":"9004:21:133","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"expression":{"id":81712,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81600,"src":"9027:6:133","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$81515_memory_ptr","typeString":"struct RegistryCommunity.InitializeParams memory"}},"id":81713,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9034:12:133","memberName":"_councilSafe","nodeType":"MemberAccess","referencedDeclaration":81506,"src":"9027:19:133","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":81710,"name":"_grantRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55276,"src":"8993:10:133","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$","typeString":"function (bytes32,address)"}},"id":81714,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8993:54:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":81715,"nodeType":"ExpressionStatement","src":"8993:54:133"},{"expression":{"id":81722,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":81716,"name":"registry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81536,"src":"9058:8:133","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":81718,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81545,"src":"9079:4:133","typeDescriptions":{"typeIdentifier":"t_contract$_FAllo_$81222","typeString":"contract FAllo"}},"id":81719,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9084:11:133","memberName":"getRegistry","nodeType":"MemberAccess","referencedDeclaration":81213,"src":"9079:16:133","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_address_$","typeString":"function () view external returns (address)"}},"id":81720,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9079:18:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":81717,"name":"IRegistry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2802,"src":"9069:9:133","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IRegistry_$2802_$","typeString":"type(contract IRegistry)"}},"id":81721,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9069:29:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"}},"src":"9058:40:133","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"}},"id":81723,"nodeType":"ExpressionStatement","src":"9058:40:133"},{"assignments":[81728],"declarations":[{"constant":false,"id":81728,"mutability":"mutable","name":"owners","nameLocation":"9126:6:133","nodeType":"VariableDeclaration","scope":81819,"src":"9109:23:133","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":81726,"name":"address","nodeType":"ElementaryTypeName","src":"9109:7:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":81727,"nodeType":"ArrayTypeName","src":"9109:9:133","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"id":81732,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":81729,"name":"councilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81542,"src":"9135:11:133","typeDescriptions":{"typeIdentifier":"t_contract$_ISafe_$85665","typeString":"contract ISafe"}},"id":81730,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9147:9:133","memberName":"getOwners","nodeType":"MemberAccess","referencedDeclaration":85664,"src":"9135:21:133","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_array$_t_address_$dyn_memory_ptr_$","typeString":"function () view external returns (address[] memory)"}},"id":81731,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9135:23:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"nodeType":"VariableDeclarationStatement","src":"9109:49:133"},{"assignments":[81737],"declarations":[{"constant":false,"id":81737,"mutability":"mutable","name":"pool_initialMembers","nameLocation":"9185:19:133","nodeType":"VariableDeclaration","scope":81819,"src":"9168:36:133","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":81735,"name":"address","nodeType":"ElementaryTypeName","src":"9168:7:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":81736,"nodeType":"ArrayTypeName","src":"9168:9:133","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"id":81746,"initialValue":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":81744,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":81741,"name":"owners","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81728,"src":"9221:6:133","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":81742,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9228:6:133","memberName":"length","nodeType":"MemberAccess","src":"9221:13:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"32","id":81743,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9237:1:133","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"9221:17:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":81740,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"9207:13:133","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_address_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (address[] memory)"},"typeName":{"baseType":{"id":81738,"name":"address","nodeType":"ElementaryTypeName","src":"9211:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":81739,"nodeType":"ArrayTypeName","src":"9211:9:133","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}}},"id":81745,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9207:32:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"nodeType":"VariableDeclarationStatement","src":"9168:71:133"},{"body":{"id":81766,"nodeType":"Block","src":"9294:59:133","statements":[{"expression":{"id":81764,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":81758,"name":"pool_initialMembers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81737,"src":"9308:19:133","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":81760,"indexExpression":{"id":81759,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81748,"src":"9328:1:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"9308:22:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"baseExpression":{"id":81761,"name":"owners","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81728,"src":"9333:6:133","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":81763,"indexExpression":{"id":81762,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81748,"src":"9340:1:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"9333:9:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"9308:34:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":81765,"nodeType":"ExpressionStatement","src":"9308:34:133"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":81754,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":81751,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81748,"src":"9270:1:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":81752,"name":"owners","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81728,"src":"9274:6:133","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":81753,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9281:6:133","memberName":"length","nodeType":"MemberAccess","src":"9274:13:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9270:17:133","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":81767,"initializationExpression":{"assignments":[81748],"declarations":[{"constant":false,"id":81748,"mutability":"mutable","name":"i","nameLocation":"9263:1:133","nodeType":"VariableDeclaration","scope":81767,"src":"9255:9:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":81747,"name":"uint256","nodeType":"ElementaryTypeName","src":"9255:7:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":81750,"initialValue":{"hexValue":"30","id":81749,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9267:1:133","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"9255:13:133"},"loopExpression":{"expression":{"id":81756,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"9289:3:133","subExpression":{"id":81755,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81748,"src":"9289:1:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":81757,"nodeType":"ExpressionStatement","src":"9289:3:133"},"nodeType":"ForStatement","src":"9250:103:133"},{"expression":{"id":81778,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":81768,"name":"pool_initialMembers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81737,"src":"9363:19:133","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":81773,"indexExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":81772,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":81769,"name":"pool_initialMembers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81737,"src":"9383:19:133","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":81770,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9403:6:133","memberName":"length","nodeType":"MemberAccess","src":"9383:26:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":81771,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9412:1:133","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"9383:30:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"9363:51:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":81776,"name":"councilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81542,"src":"9425:11:133","typeDescriptions":{"typeIdentifier":"t_contract$_ISafe_$85665","typeString":"contract ISafe"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ISafe_$85665","typeString":"contract ISafe"}],"id":81775,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9417:7:133","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":81774,"name":"address","nodeType":"ElementaryTypeName","src":"9417:7:133","typeDescriptions":{}}},"id":81777,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9417:20:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"9363:74:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":81779,"nodeType":"ExpressionStatement","src":"9363:74:133"},{"expression":{"id":81790,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":81780,"name":"pool_initialMembers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81737,"src":"9447:19:133","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":81785,"indexExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":81784,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":81781,"name":"pool_initialMembers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81737,"src":"9467:19:133","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":81782,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9487:6:133","memberName":"length","nodeType":"MemberAccess","src":"9467:26:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"32","id":81783,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9496:1:133","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"9467:30:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"9447:51:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":81788,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"9509:4:133","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunity_$83082","typeString":"contract RegistryCommunity"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryCommunity_$83082","typeString":"contract RegistryCommunity"}],"id":81787,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9501:7:133","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":81786,"name":"address","nodeType":"ElementaryTypeName","src":"9501:7:133","typeDescriptions":{}}},"id":81789,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9501:13:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"9447:67:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":81791,"nodeType":"ExpressionStatement","src":"9447:67:133"},{"expression":{"id":81806,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":81792,"name":"profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81523,"src":"9602:9:133","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":81795,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81600,"src":"9649:6:133","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$81515_memory_ptr","typeString":"struct RegistryCommunity.InitializeParams memory"}},"id":81796,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9656:6:133","memberName":"_nonce","nodeType":"MemberAccess","referencedDeclaration":81497,"src":"9649:13:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":81797,"name":"communityName","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81547,"src":"9664:13:133","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},{"expression":{"id":81798,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81600,"src":"9679:6:133","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$81515_memory_ptr","typeString":"struct RegistryCommunity.InitializeParams memory"}},"id":81799,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9686:9:133","memberName":"_metadata","nodeType":"MemberAccess","referencedDeclaration":81504,"src":"9679:16:133","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}},{"arguments":[{"id":81802,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"9705:4:133","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunity_$83082","typeString":"contract RegistryCommunity"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryCommunity_$83082","typeString":"contract RegistryCommunity"}],"id":81801,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9697:7:133","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":81800,"name":"address","nodeType":"ElementaryTypeName","src":"9697:7:133","typeDescriptions":{}}},"id":81803,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9697:13:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":81804,"name":"pool_initialMembers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81737,"src":"9712:19:133","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_storage","typeString":"string storage ref"},{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}],"expression":{"id":81793,"name":"registry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81536,"src":"9626:8:133","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"}},"id":81794,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9635:13:133","memberName":"createProfile","nodeType":"MemberAccess","referencedDeclaration":2742,"src":"9626:22:133","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_string_memory_ptr_$_t_struct$_Metadata_$3098_memory_ptr_$_t_address_$_t_array$_t_address_$dyn_memory_ptr_$returns$_t_bytes32_$","typeString":"function (uint256,string memory,struct Metadata memory,address,address[] memory) external returns (bytes32)"}},"id":81805,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9626:106:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"9602:130:133","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":81807,"nodeType":"ExpressionStatement","src":"9602:130:133"},{"expression":{"id":81810,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":81808,"name":"initialMembers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81578,"src":"9743:14:133","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[] storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":81809,"name":"pool_initialMembers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81737,"src":"9760:19:133","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"src":"9743:36:133","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[] storage ref"}},"id":81811,"nodeType":"ExpressionStatement","src":"9743:36:133"},{"eventCall":{"arguments":[{"id":81813,"name":"profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81523,"src":"9815:9:133","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":81814,"name":"communityName","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81547,"src":"9826:13:133","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},{"expression":{"id":81815,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81600,"src":"9841:6:133","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$81515_memory_ptr","typeString":"struct RegistryCommunity.InitializeParams memory"}},"id":81816,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9848:9:133","memberName":"_metadata","nodeType":"MemberAccess","referencedDeclaration":81504,"src":"9841:16:133","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_string_storage","typeString":"string storage ref"},{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}],"id":81812,"name":"RegistryInitialized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81291,"src":"9795:19:133","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_bytes32_$_t_string_memory_ptr_$_t_struct$_Metadata_$3098_memory_ptr_$returns$__$","typeString":"function (bytes32,string memory,struct Metadata memory)"}},"id":81817,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9795:63:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":81818,"nodeType":"EmitStatement","src":"9790:68:133"}]},"functionSelector":"96f0adec","implemented":true,"kind":"function","modifiers":[],"name":"initialize","nameLocation":"7929:10:133","parameters":{"id":81601,"nodeType":"ParameterList","parameters":[{"constant":false,"id":81600,"mutability":"mutable","name":"params","nameLocation":"7982:6:133","nodeType":"VariableDeclaration","scope":81820,"src":"7940:48:133","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$81515_memory_ptr","typeString":"struct RegistryCommunity.InitializeParams"},"typeName":{"id":81599,"nodeType":"UserDefinedTypeName","pathNode":{"id":81598,"name":"RegistryCommunity.InitializeParams","nameLocations":["7940:17:133","7958:16:133"],"nodeType":"IdentifierPath","referencedDeclaration":81515,"src":"7940:34:133"},"referencedDeclaration":81515,"src":"7940:34:133","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$81515_storage_ptr","typeString":"struct RegistryCommunity.InitializeParams"}},"visibility":"internal"}],"src":"7939:50:133"},"returnParameters":{"id":81602,"nodeType":"ParameterList","parameters":[],"src":"7997:0:133"},"scope":83082,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":81852,"nodeType":"FunctionDefinition","src":"9871:341:133","nodes":[],"body":{"id":81851,"nodeType":"Block","src":"10052:160:133","nodes":[],"statements":[{"assignments":[81836],"declarations":[{"constant":false,"id":81836,"mutability":"mutable","name":"strategyClone","nameLocation":"10070:13:133","nodeType":"VariableDeclaration","scope":81851,"src":"10062:21:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":81835,"name":"address","nodeType":"ElementaryTypeName","src":"10062:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":81843,"initialValue":{"arguments":[{"id":81839,"name":"strategyTemplate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81529,"src":"10104:16:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":81841,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"10122:12:133","subExpression":{"id":81840,"name":"cloneNonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81531,"src":"10122:10:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":81837,"name":"Clone","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3002,"src":"10086:5:133","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Clone_$3002_$","typeString":"type(library Clone)"}},"id":81838,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10092:11:133","memberName":"createClone","nodeType":"MemberAccess","referencedDeclaration":3001,"src":"10086:17:133","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_address_$","typeString":"function (address,uint256) returns (address)"}},"id":81842,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10086:49:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"10062:73:133"},{"expression":{"arguments":[{"id":81845,"name":"strategyClone","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81836,"src":"10163:13:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":81846,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81822,"src":"10178:6:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":81847,"name":"_params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81825,"src":"10186:7:133","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$74806_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},{"id":81848,"name":"_metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81828,"src":"10195:9:133","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_struct$_InitializeParams_$74806_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"},{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}],"id":81844,"name":"createPool","nodeType":"Identifier","overloadedDeclarations":[81852,81924],"referencedDeclaration":81924,"src":"10152:10:133","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_struct$_InitializeParams_$74806_memory_ptr_$_t_struct$_Metadata_$3098_memory_ptr_$returns$_t_uint256_$_t_address_$","typeString":"function (address,address,struct StrategyStruct.InitializeParams memory,struct Metadata memory) returns (uint256,address)"}},"id":81849,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10152:53:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_address_$","typeString":"tuple(uint256,address)"}},"functionReturnParameters":81834,"id":81850,"nodeType":"Return","src":"10145:60:133"}]},"functionSelector":"97991cfa","implemented":true,"kind":"function","modifiers":[],"name":"createPool","nameLocation":"9880:10:133","parameters":{"id":81829,"nodeType":"ParameterList","parameters":[{"constant":false,"id":81822,"mutability":"mutable","name":"_token","nameLocation":"9899:6:133","nodeType":"VariableDeclaration","scope":81852,"src":"9891:14:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":81821,"name":"address","nodeType":"ElementaryTypeName","src":"9891:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":81825,"mutability":"mutable","name":"_params","nameLocation":"9946:7:133","nodeType":"VariableDeclaration","scope":81852,"src":"9907:46:133","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$74806_memory_ptr","typeString":"struct StrategyStruct.InitializeParams"},"typeName":{"id":81824,"nodeType":"UserDefinedTypeName","pathNode":{"id":81823,"name":"StrategyStruct.InitializeParams","nameLocations":["9907:14:133","9922:16:133"],"nodeType":"IdentifierPath","referencedDeclaration":74806,"src":"9907:31:133"},"referencedDeclaration":74806,"src":"9907:31:133","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$74806_storage_ptr","typeString":"struct StrategyStruct.InitializeParams"}},"visibility":"internal"},{"constant":false,"id":81828,"mutability":"mutable","name":"_metadata","nameLocation":"9971:9:133","nodeType":"VariableDeclaration","scope":81852,"src":"9955:25:133","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata"},"typeName":{"id":81827,"nodeType":"UserDefinedTypeName","pathNode":{"id":81826,"name":"Metadata","nameLocations":["9955:8:133"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"9955:8:133"},"referencedDeclaration":3098,"src":"9955:8:133","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"}],"src":"9890:91:133"},"returnParameters":{"id":81834,"nodeType":"ParameterList","parameters":[{"constant":false,"id":81831,"mutability":"mutable","name":"poolId","nameLocation":"10022:6:133","nodeType":"VariableDeclaration","scope":81852,"src":"10014:14:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":81830,"name":"uint256","nodeType":"ElementaryTypeName","src":"10014:7:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":81833,"mutability":"mutable","name":"strategy","nameLocation":"10038:8:133","nodeType":"VariableDeclaration","scope":81852,"src":"10030:16:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":81832,"name":"address","nodeType":"ElementaryTypeName","src":"10030:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"10013:34:133"},"scope":83082,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":81924,"nodeType":"FunctionDefinition","src":"10218:653:133","nodes":[],"body":{"id":81923,"nodeType":"Block","src":"10436:435:133","nodes":[],"statements":[{"assignments":[81870],"declarations":[{"constant":false,"id":81870,"mutability":"mutable","name":"token","nameLocation":"10454:5:133","nodeType":"VariableDeclaration","scope":81923,"src":"10446:13:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":81869,"name":"address","nodeType":"ElementaryTypeName","src":"10446:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":81872,"initialValue":{"id":81871,"name":"NATIVE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81239,"src":"10462:6:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"10446:22:133"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":81878,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":81873,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81856,"src":"10482:6:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":81876,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10500:1:133","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":81875,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10492:7:133","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":81874,"name":"address","nodeType":"ElementaryTypeName","src":"10492:7:133","typeDescriptions":{}}},"id":81877,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10492:10:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"10482:20:133","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":81884,"nodeType":"IfStatement","src":"10478:65:133","trueBody":{"id":81883,"nodeType":"Block","src":"10504:39:133","statements":[{"expression":{"id":81881,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":81879,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81870,"src":"10518:5:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":81880,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81856,"src":"10526:6:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"10518:14:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":81882,"nodeType":"ExpressionStatement","src":"10518:14:133"}]}},{"expression":{"id":81887,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":81885,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81867,"src":"10552:8:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":81886,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81854,"src":"10563:9:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"10552:20:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":81888,"nodeType":"ExpressionStatement","src":"10552:20:133"},{"assignments":[81893],"declarations":[{"constant":false,"id":81893,"mutability":"mutable","name":"_pool_managers","nameLocation":"10600:14:133","nodeType":"VariableDeclaration","scope":81923,"src":"10583:31:133","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":81891,"name":"address","nodeType":"ElementaryTypeName","src":"10583:7:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":81892,"nodeType":"ArrayTypeName","src":"10583:9:133","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"id":81895,"initialValue":{"id":81894,"name":"initialMembers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81578,"src":"10617:14:133","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[] storage ref"}},"nodeType":"VariableDeclarationStatement","src":"10583:48:133"},{"expression":{"id":81910,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":81896,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81865,"src":"10642:6:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":81899,"name":"profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81523,"src":"10698:9:133","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":81900,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81867,"src":"10709:8:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":81903,"name":"_params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81859,"src":"10730:7:133","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$74806_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_InitializeParams_$74806_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}],"expression":{"id":81901,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"10719:3:133","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":81902,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"10723:6:133","memberName":"encode","nodeType":"MemberAccess","src":"10719:10:133","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":81904,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10719:19:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":81905,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81870,"src":"10740:5:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":81906,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10747:1:133","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"id":81907,"name":"_metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81862,"src":"10750:9:133","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}},{"id":81908,"name":"_pool_managers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81893,"src":"10761:14:133","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"},{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}],"expression":{"id":81897,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81545,"src":"10651:4:133","typeDescriptions":{"typeIdentifier":"t_contract$_FAllo_$81222","typeString":"contract FAllo"}},"id":81898,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10656:28:133","memberName":"createPoolWithCustomStrategy","nodeType":"MemberAccess","referencedDeclaration":81208,"src":"10651:33:133","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_bytes32_$_t_address_$_t_bytes_memory_ptr_$_t_address_$_t_uint256_$_t_struct$_Metadata_$3098_memory_ptr_$_t_array$_t_address_$dyn_memory_ptr_$returns$_t_uint256_$","typeString":"function (bytes32,address,bytes memory,address,uint256,struct Metadata memory,address[] memory) payable external returns (uint256)"}},"id":81909,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10651:134:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10642:143:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":81911,"nodeType":"ExpressionStatement","src":"10642:143:133"},{"eventCall":{"arguments":[{"id":81913,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81865,"src":"10813:6:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":81914,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81867,"src":"10821:8:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":81917,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"10839:4:133","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunity_$83082","typeString":"contract RegistryCommunity"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryCommunity_$83082","typeString":"contract RegistryCommunity"}],"id":81916,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10831:7:133","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":81915,"name":"address","nodeType":"ElementaryTypeName","src":"10831:7:133","typeDescriptions":{}}},"id":81918,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10831:13:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":81919,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81856,"src":"10846:6:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":81920,"name":"_metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81862,"src":"10854:9:133","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}],"id":81912,"name":"PoolCreated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81342,"src":"10801:11:133","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_address_$_t_address_$_t_address_$_t_struct$_Metadata_$3098_memory_ptr_$returns$__$","typeString":"function (uint256,address,address,address,struct Metadata memory)"}},"id":81921,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10801:63:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":81922,"nodeType":"EmitStatement","src":"10796:68:133"}]},"functionSelector":"ff6409ef","implemented":true,"kind":"function","modifiers":[],"name":"createPool","nameLocation":"10227:10:133","parameters":{"id":81863,"nodeType":"ParameterList","parameters":[{"constant":false,"id":81854,"mutability":"mutable","name":"_strategy","nameLocation":"10255:9:133","nodeType":"VariableDeclaration","scope":81924,"src":"10247:17:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":81853,"name":"address","nodeType":"ElementaryTypeName","src":"10247:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":81856,"mutability":"mutable","name":"_token","nameLocation":"10282:6:133","nodeType":"VariableDeclaration","scope":81924,"src":"10274:14:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":81855,"name":"address","nodeType":"ElementaryTypeName","src":"10274:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":81859,"mutability":"mutable","name":"_params","nameLocation":"10337:7:133","nodeType":"VariableDeclaration","scope":81924,"src":"10298:46:133","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$74806_memory_ptr","typeString":"struct StrategyStruct.InitializeParams"},"typeName":{"id":81858,"nodeType":"UserDefinedTypeName","pathNode":{"id":81857,"name":"StrategyStruct.InitializeParams","nameLocations":["10298:14:133","10313:16:133"],"nodeType":"IdentifierPath","referencedDeclaration":74806,"src":"10298:31:133"},"referencedDeclaration":74806,"src":"10298:31:133","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$74806_storage_ptr","typeString":"struct StrategyStruct.InitializeParams"}},"visibility":"internal"},{"constant":false,"id":81862,"mutability":"mutable","name":"_metadata","nameLocation":"10370:9:133","nodeType":"VariableDeclaration","scope":81924,"src":"10354:25:133","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata"},"typeName":{"id":81861,"nodeType":"UserDefinedTypeName","pathNode":{"id":81860,"name":"Metadata","nameLocations":["10354:8:133"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"10354:8:133"},"referencedDeclaration":3098,"src":"10354:8:133","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"}],"src":"10237:148:133"},"returnParameters":{"id":81868,"nodeType":"ParameterList","parameters":[{"constant":false,"id":81865,"mutability":"mutable","name":"poolId","nameLocation":"10410:6:133","nodeType":"VariableDeclaration","scope":81924,"src":"10402:14:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":81864,"name":"uint256","nodeType":"ElementaryTypeName","src":"10402:7:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":81867,"mutability":"mutable","name":"strategy","nameLocation":"10426:8:133","nodeType":"VariableDeclaration","scope":81924,"src":"10418:16:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":81866,"name":"address","nodeType":"ElementaryTypeName","src":"10418:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"10401:34:133"},"scope":83082,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":82041,"nodeType":"FunctionDefinition","src":"10877:1179:133","nodes":[],"body":{"id":82040,"nodeType":"Block","src":"10954:1102:133","nodes":[],"statements":[{"expression":{"arguments":[{"id":81932,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81926,"src":"10990:7:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":81931,"name":"onlyRegistryMemberAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81386,"src":"10964:25:133","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$__$","typeString":"function (address) view"}},"id":81933,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10964:34:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":81934,"nodeType":"ExpressionStatement","src":"10964:34:133"},{"expression":{"arguments":[{"id":81936,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81928,"src":"11028:9:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":81935,"name":"onlyStrategyEnabled","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81401,"src":"11008:19:133","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$__$","typeString":"function (address) view"}},"id":81937,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11008:30:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":81938,"nodeType":"ExpressionStatement","src":"11008:30:133"},{"expression":{"arguments":[{"id":81940,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81928,"src":"11067:9:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":81939,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82526,"src":"11048:18:133","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":81941,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11048:29:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":81942,"nodeType":"ExpressionStatement","src":"11048:29:133"},{"condition":{"baseExpression":{"baseExpression":{"id":81943,"name":"memberActivatedInStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81575,"src":"11092:27:133","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$","typeString":"mapping(address => mapping(address => bool))"}},"id":81945,"indexExpression":{"id":81944,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81926,"src":"11120:7:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"11092:36:133","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":81947,"indexExpression":{"id":81946,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81928,"src":"11129:9:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"11092:47:133","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":81952,"nodeType":"IfStatement","src":"11088:107:133","trueBody":{"id":81951,"nodeType":"Block","src":"11141:54:133","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":81948,"name":"UserAlreadyActivated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81449,"src":"11162:20:133","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":81949,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11162:22:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":81950,"nodeType":"RevertStatement","src":"11155:29:133"}]}},{"assignments":[81955],"declarations":[{"constant":false,"id":81955,"mutability":"mutable","name":"member","nameLocation":"11219:6:133","nodeType":"VariableDeclaration","scope":82040,"src":"11205:20:133","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$81482_memory_ptr","typeString":"struct RegistryCommunity.Member"},"typeName":{"id":81954,"nodeType":"UserDefinedTypeName","pathNode":{"id":81953,"name":"Member","nameLocations":["11205:6:133"],"nodeType":"IdentifierPath","referencedDeclaration":81482,"src":"11205:6:133"},"referencedDeclaration":81482,"src":"11205:6:133","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$81482_storage_ptr","typeString":"struct RegistryCommunity.Member"}},"visibility":"internal"}],"id":81959,"initialValue":{"baseExpression":{"id":81956,"name":"addressToMemberInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81564,"src":"11228:19:133","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Member_$81482_storage_$","typeString":"mapping(address => struct RegistryCommunity.Member storage ref)"}},"id":81958,"indexExpression":{"id":81957,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81926,"src":"11248:7:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"11228:28:133","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$81482_storage","typeString":"struct RegistryCommunity.Member storage ref"}},"nodeType":"VariableDeclarationStatement","src":"11205:51:133"},{"assignments":[81961],"declarations":[{"constant":false,"id":81961,"mutability":"mutable","name":"totalStakedAmount","nameLocation":"11275:17:133","nodeType":"VariableDeclaration","scope":82040,"src":"11267:25:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":81960,"name":"uint256","nodeType":"ElementaryTypeName","src":"11267:7:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":81964,"initialValue":{"expression":{"id":81962,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81955,"src":"11295:6:133","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$81482_memory_ptr","typeString":"struct RegistryCommunity.Member memory"}},"id":81963,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11302:12:133","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":81479,"src":"11295:19:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"11267:47:133"},{"assignments":[81966],"declarations":[{"constant":false,"id":81966,"mutability":"mutable","name":"pointsToIncrease","nameLocation":"11332:16:133","nodeType":"VariableDeclaration","scope":82040,"src":"11324:24:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":81965,"name":"uint256","nodeType":"ElementaryTypeName","src":"11324:7:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":81968,"initialValue":{"id":81967,"name":"registerStakeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81519,"src":"11351:19:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"11324:46:133"},{"condition":{"commonType":{"typeIdentifier":"t_enum$_PointSystem_$74731","typeString":"enum StrategyStruct.PointSystem"},"id":81977,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[{"id":81970,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81928,"src":"11400:9:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":81969,"name":"IPointStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74722,"src":"11385:14:133","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IPointStrategy_$74722_$","typeString":"type(contract IPointStrategy)"}},"id":81971,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11385:25:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IPointStrategy_$74722","typeString":"contract IPointStrategy"}},"id":81972,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11411:14:133","memberName":"getPointSystem","nodeType":"MemberAccess","referencedDeclaration":74721,"src":"11385:40:133","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$_t_enum$_PointSystem_$74731_$","typeString":"function () external returns (enum StrategyStruct.PointSystem)"}},"id":81973,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11385:42:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$74731","typeString":"enum StrategyStruct.PointSystem"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":81974,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74807,"src":"11431:14:133","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$74807_$","typeString":"type(library StrategyStruct)"}},"id":81975,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11446:11:133","memberName":"PointSystem","nodeType":"MemberAccess","referencedDeclaration":74731,"src":"11431:26:133","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_PointSystem_$74731_$","typeString":"type(enum StrategyStruct.PointSystem)"}},"id":81976,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"11458:9:133","memberName":"Quadratic","nodeType":"MemberAccess","referencedDeclaration":74730,"src":"11431:36:133","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$74731","typeString":"enum StrategyStruct.PointSystem"}},"src":"11385:82:133","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_enum$_PointSystem_$74731","typeString":"enum StrategyStruct.PointSystem"},"id":81997,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[{"id":81990,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81928,"src":"11589:9:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":81989,"name":"IPointStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74722,"src":"11574:14:133","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IPointStrategy_$74722_$","typeString":"type(contract IPointStrategy)"}},"id":81991,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11574:25:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IPointStrategy_$74722","typeString":"contract IPointStrategy"}},"id":81992,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11600:14:133","memberName":"getPointSystem","nodeType":"MemberAccess","referencedDeclaration":74721,"src":"11574:40:133","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$_t_enum$_PointSystem_$74731_$","typeString":"function () external returns (enum StrategyStruct.PointSystem)"}},"id":81993,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11574:42:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$74731","typeString":"enum StrategyStruct.PointSystem"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"expression":{"id":81994,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74807,"src":"11620:14:133","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$74807_$","typeString":"type(library StrategyStruct)"}},"id":81995,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11635:11:133","memberName":"PointSystem","nodeType":"MemberAccess","referencedDeclaration":74731,"src":"11620:26:133","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_PointSystem_$74731_$","typeString":"type(enum StrategyStruct.PointSystem)"}},"id":81996,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"11647:5:133","memberName":"Fixed","nodeType":"MemberAccess","referencedDeclaration":74727,"src":"11620:32:133","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$74731","typeString":"enum StrategyStruct.PointSystem"}},"src":"11574:78:133","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":82009,"nodeType":"IfStatement","src":"11570:195:133","trueBody":{"id":82008,"nodeType":"Block","src":"11654:111:133","statements":[{"expression":{"id":82006,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":81998,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81966,"src":"11668:16:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":82003,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81926,"src":"11727:7:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":82004,"name":"totalStakedAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81961,"src":"11736:17:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"arguments":[{"id":82000,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81928,"src":"11702:9:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":81999,"name":"IPointStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74722,"src":"11687:14:133","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IPointStrategy_$74722_$","typeString":"type(contract IPointStrategy)"}},"id":82001,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11687:25:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IPointStrategy_$74722","typeString":"contract IPointStrategy"}},"id":82002,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11713:13:133","memberName":"increasePower","nodeType":"MemberAccess","referencedDeclaration":74706,"src":"11687:39:133","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256) external returns (uint256)"}},"id":82005,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11687:67:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"11668:86:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":82007,"nodeType":"ExpressionStatement","src":"11668:86:133"}]}},"id":82010,"nodeType":"IfStatement","src":"11381:384:133","trueBody":{"id":81988,"nodeType":"Block","src":"11469:95:133","statements":[{"expression":{"id":81986,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":81978,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81966,"src":"11483:16:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":81983,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81926,"src":"11542:7:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":81984,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11551:1:133","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"expression":{"arguments":[{"id":81980,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81928,"src":"11517:9:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":81979,"name":"IPointStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74722,"src":"11502:14:133","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IPointStrategy_$74722_$","typeString":"type(contract IPointStrategy)"}},"id":81981,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11502:25:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IPointStrategy_$74722","typeString":"contract IPointStrategy"}},"id":81982,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11528:13:133","memberName":"increasePower","nodeType":"MemberAccess","referencedDeclaration":74706,"src":"11502:39:133","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256) external returns (uint256)"}},"id":81985,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11502:51:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"11483:70:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":81987,"nodeType":"ExpressionStatement","src":"11483:70:133"}]}},{"expression":{"id":82017,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"id":82011,"name":"memberPowerInStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81559,"src":"11775:21:133","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"}},"id":82014,"indexExpression":{"id":82012,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81926,"src":"11797:7:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"11775:30:133","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":82015,"indexExpression":{"id":82013,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81928,"src":"11806:9:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"11775:41:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":82016,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81966,"src":"11819:16:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"11775:60:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":82018,"nodeType":"ExpressionStatement","src":"11775:60:133"},{"expression":{"id":82025,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"id":82019,"name":"memberActivatedInStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81575,"src":"11864:27:133","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$","typeString":"mapping(address => mapping(address => bool))"}},"id":82022,"indexExpression":{"id":82020,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81926,"src":"11892:7:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"11864:36:133","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":82023,"indexExpression":{"id":82021,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81928,"src":"11901:9:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"11864:47:133","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":82024,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"11914:4:133","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"11864:54:133","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":82026,"nodeType":"ExpressionStatement","src":"11864:54:133"},{"expression":{"arguments":[{"id":82031,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81928,"src":"11962:9:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"baseExpression":{"id":82027,"name":"strategiesByMember","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81569,"src":"11929:18:133","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_address_$dyn_storage_$","typeString":"mapping(address => address[] storage ref)"}},"id":82029,"indexExpression":{"id":82028,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81926,"src":"11948:7:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"11929:27:133","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[] storage ref"}},"id":82030,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11957:4:133","memberName":"push","nodeType":"MemberAccess","src":"11929:32:133","typeDescriptions":{"typeIdentifier":"t_function_arraypush_nonpayable$_t_array$_t_address_$dyn_storage_ptr_$_t_address_$returns$__$attached_to$_t_array$_t_address_$dyn_storage_ptr_$","typeString":"function (address[] storage pointer,address)"}},"id":82032,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11929:43:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":82033,"nodeType":"ExpressionStatement","src":"11929:43:133"},{"eventCall":{"arguments":[{"id":82035,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81926,"src":"12012:7:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":82036,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81928,"src":"12021:9:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":82037,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81966,"src":"12032:16:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":82034,"name":"MemberActivatedStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81307,"src":"11988:23:133","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":82038,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11988:61:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":82039,"nodeType":"EmitStatement","src":"11983:66:133"}]},"functionSelector":"0d4a8b49","implemented":true,"kind":"function","modifiers":[],"name":"activateMemberInStrategy","nameLocation":"10886:24:133","parameters":{"id":81929,"nodeType":"ParameterList","parameters":[{"constant":false,"id":81926,"mutability":"mutable","name":"_member","nameLocation":"10919:7:133","nodeType":"VariableDeclaration","scope":82041,"src":"10911:15:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":81925,"name":"address","nodeType":"ElementaryTypeName","src":"10911:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":81928,"mutability":"mutable","name":"_strategy","nameLocation":"10936:9:133","nodeType":"VariableDeclaration","scope":82041,"src":"10928:17:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":81927,"name":"address","nodeType":"ElementaryTypeName","src":"10928:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"10910:36:133"},"returnParameters":{"id":81930,"nodeType":"ParameterList","parameters":[],"src":"10954:0:133"},"scope":83082,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":82100,"nodeType":"FunctionDefinition","src":"12062:691:133","nodes":[],"body":{"id":82099,"nodeType":"Block","src":"12141:612:133","nodes":[],"statements":[{"expression":{"arguments":[{"id":82049,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82043,"src":"12177:7:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":82048,"name":"onlyRegistryMemberAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81386,"src":"12151:25:133","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$__$","typeString":"function (address) view"}},"id":82050,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12151:34:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":82051,"nodeType":"ExpressionStatement","src":"12151:34:133"},{"expression":{"arguments":[{"id":82053,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82045,"src":"12214:9:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":82052,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82526,"src":"12195:18:133","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":82054,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12195:29:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":82055,"nodeType":"ExpressionStatement","src":"12195:29:133"},{"expression":{"arguments":[{"expression":{"id":82057,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"12254:3:133","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":82058,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12258:6:133","memberName":"sender","nodeType":"MemberAccess","src":"12254:10:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":82059,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82045,"src":"12266:9:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":82056,"name":"onlyStrategyAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81417,"src":"12234:19:133","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$_t_address_$returns$__$","typeString":"function (address,address) pure"}},"id":82060,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12234:42:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":82061,"nodeType":"ExpressionStatement","src":"12234:42:133"},{"condition":{"id":82067,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"12291:48:133","subExpression":{"baseExpression":{"baseExpression":{"id":82062,"name":"memberActivatedInStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81575,"src":"12292:27:133","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$","typeString":"mapping(address => mapping(address => bool))"}},"id":82064,"indexExpression":{"id":82063,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82043,"src":"12320:7:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"12292:36:133","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":82066,"indexExpression":{"id":82065,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82045,"src":"12329:9:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"12292:47:133","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":82072,"nodeType":"IfStatement","src":"12287:110:133","trueBody":{"id":82071,"nodeType":"Block","src":"12341:56:133","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":82068,"name":"UserAlreadyDeactivated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81451,"src":"12362:22:133","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":82069,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12362:24:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":82070,"nodeType":"RevertStatement","src":"12355:31:133"}]}},{"expression":{"id":82079,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"id":82073,"name":"memberActivatedInStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81575,"src":"12407:27:133","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$","typeString":"mapping(address => mapping(address => bool))"}},"id":82076,"indexExpression":{"id":82074,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82043,"src":"12435:7:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"12407:36:133","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":82077,"indexExpression":{"id":82075,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82045,"src":"12444:9:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"12407:47:133","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"66616c7365","id":82078,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"12457:5:133","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"src":"12407:55:133","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":82080,"nodeType":"ExpressionStatement","src":"12407:55:133"},{"expression":{"id":82087,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"id":82081,"name":"memberPowerInStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81559,"src":"12472:21:133","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"}},"id":82084,"indexExpression":{"id":82082,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82043,"src":"12494:7:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"12472:30:133","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":82085,"indexExpression":{"id":82083,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82045,"src":"12503:9:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"12472:41:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"30","id":82086,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12516:1:133","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"12472:45:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":82088,"nodeType":"ExpressionStatement","src":"12472:45:133"},{"expression":{"arguments":[{"id":82090,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82043,"src":"12552:7:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":82091,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82045,"src":"12561:9:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":82089,"name":"removeStrategyFromMember","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82153,"src":"12527:24:133","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address)"}},"id":82092,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12527:44:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":82093,"nodeType":"ExpressionStatement","src":"12527:44:133"},{"eventCall":{"arguments":[{"id":82095,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82043,"src":"12727:7:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":82096,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82045,"src":"12736:9:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":82094,"name":"MemberDeactivatedStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81313,"src":"12701:25:133","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address)"}},"id":82097,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12701:45:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":82098,"nodeType":"EmitStatement","src":"12696:50:133"}]},"functionSelector":"22bcf999","implemented":true,"kind":"function","modifiers":[],"name":"deactivateMemberInStrategy","nameLocation":"12071:26:133","parameters":{"id":82046,"nodeType":"ParameterList","parameters":[{"constant":false,"id":82043,"mutability":"mutable","name":"_member","nameLocation":"12106:7:133","nodeType":"VariableDeclaration","scope":82100,"src":"12098:15:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":82042,"name":"address","nodeType":"ElementaryTypeName","src":"12098:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":82045,"mutability":"mutable","name":"_strategy","nameLocation":"12123:9:133","nodeType":"VariableDeclaration","scope":82100,"src":"12115:17:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":82044,"name":"address","nodeType":"ElementaryTypeName","src":"12115:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"12097:36:133"},"returnParameters":{"id":82047,"nodeType":"ParameterList","parameters":[],"src":"12141:0:133"},"scope":83082,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":82153,"nodeType":"FunctionDefinition","src":"12759:425:133","nodes":[],"body":{"id":82152,"nodeType":"Block","src":"12838:346:133","nodes":[],"statements":[{"assignments":[82111],"declarations":[{"constant":false,"id":82111,"mutability":"mutable","name":"memberStrategies","nameLocation":"12866:16:133","nodeType":"VariableDeclaration","scope":82152,"src":"12848:34:133","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":82109,"name":"address","nodeType":"ElementaryTypeName","src":"12848:7:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":82110,"nodeType":"ArrayTypeName","src":"12848:9:133","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"id":82115,"initialValue":{"baseExpression":{"id":82112,"name":"strategiesByMember","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81569,"src":"12885:18:133","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_address_$dyn_storage_$","typeString":"mapping(address => address[] storage ref)"}},"id":82114,"indexExpression":{"id":82113,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82102,"src":"12904:7:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"12885:27:133","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[] storage ref"}},"nodeType":"VariableDeclarationStatement","src":"12848:64:133"},{"body":{"id":82150,"nodeType":"Block","src":"12976:202:133","statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":82131,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"id":82127,"name":"memberStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82111,"src":"12994:16:133","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[] storage pointer"}},"id":82129,"indexExpression":{"id":82128,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82117,"src":"13011:1:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"12994:19:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":82130,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82104,"src":"13017:9:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"12994:32:133","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":82149,"nodeType":"IfStatement","src":"12990:178:133","trueBody":{"id":82148,"nodeType":"Block","src":"13028:140:133","statements":[{"expression":{"id":82141,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":82132,"name":"memberStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82111,"src":"13046:16:133","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[] storage pointer"}},"id":82134,"indexExpression":{"id":82133,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82117,"src":"13063:1:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"13046:19:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"baseExpression":{"id":82135,"name":"memberStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82111,"src":"13068:16:133","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[] storage pointer"}},"id":82140,"indexExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":82139,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":82136,"name":"memberStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82111,"src":"13085:16:133","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[] storage pointer"}},"id":82137,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13102:6:133","memberName":"length","nodeType":"MemberAccess","src":"13085:23:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":82138,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13111:1:133","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"13085:27:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"13068:45:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"13046:67:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":82142,"nodeType":"ExpressionStatement","src":"13046:67:133"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":82143,"name":"memberStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82111,"src":"13131:16:133","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[] storage pointer"}},"id":82145,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13148:3:133","memberName":"pop","nodeType":"MemberAccess","src":"13131:20:133","typeDescriptions":{"typeIdentifier":"t_function_arraypop_nonpayable$_t_array$_t_address_$dyn_storage_ptr_$returns$__$attached_to$_t_array$_t_address_$dyn_storage_ptr_$","typeString":"function (address[] storage pointer)"}},"id":82146,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13131:22:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":82147,"nodeType":"ExpressionStatement","src":"13131:22:133"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":82123,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":82120,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82117,"src":"12942:1:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":82121,"name":"memberStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82111,"src":"12946:16:133","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[] storage pointer"}},"id":82122,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12963:6:133","memberName":"length","nodeType":"MemberAccess","src":"12946:23:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"12942:27:133","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":82151,"initializationExpression":{"assignments":[82117],"declarations":[{"constant":false,"id":82117,"mutability":"mutable","name":"i","nameLocation":"12935:1:133","nodeType":"VariableDeclaration","scope":82151,"src":"12927:9:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":82116,"name":"uint256","nodeType":"ElementaryTypeName","src":"12927:7:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":82119,"initialValue":{"hexValue":"30","id":82118,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12939:1:133","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"12927:13:133"},"loopExpression":{"expression":{"id":82125,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"12971:3:133","subExpression":{"id":82124,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82117,"src":"12971:1:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":82126,"nodeType":"ExpressionStatement","src":"12971:3:133"},"nodeType":"ForStatement","src":"12922:256:133"}]},"implemented":true,"kind":"function","modifiers":[],"name":"removeStrategyFromMember","nameLocation":"12768:24:133","parameters":{"id":82105,"nodeType":"ParameterList","parameters":[{"constant":false,"id":82102,"mutability":"mutable","name":"_member","nameLocation":"12801:7:133","nodeType":"VariableDeclaration","scope":82153,"src":"12793:15:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":82101,"name":"address","nodeType":"ElementaryTypeName","src":"12793:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":82104,"mutability":"mutable","name":"_strategy","nameLocation":"12818:9:133","nodeType":"VariableDeclaration","scope":82153,"src":"12810:17:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":82103,"name":"address","nodeType":"ElementaryTypeName","src":"12810:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"12792:36:133"},"returnParameters":{"id":82106,"nodeType":"ParameterList","parameters":[],"src":"12838:0:133"},"scope":83082,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":82257,"nodeType":"FunctionDefinition","src":"13190:998:133","nodes":[],"body":{"id":82256,"nodeType":"Block","src":"13256:932:133","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":82160,"name":"onlyRegistryMemberSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81371,"src":"13266:24:133","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":82161,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13266:26:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":82162,"nodeType":"ExpressionStatement","src":"13266:26:133"},{"assignments":[82164],"declarations":[{"constant":false,"id":82164,"mutability":"mutable","name":"member","nameLocation":"13310:6:133","nodeType":"VariableDeclaration","scope":82256,"src":"13302:14:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":82163,"name":"address","nodeType":"ElementaryTypeName","src":"13302:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":82167,"initialValue":{"expression":{"id":82165,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"13319:3:133","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":82166,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13323:6:133","memberName":"sender","nodeType":"MemberAccess","src":"13319:10:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"13302:27:133"},{"assignments":[82172],"declarations":[{"constant":false,"id":82172,"mutability":"mutable","name":"memberStrategies","nameLocation":"13356:16:133","nodeType":"VariableDeclaration","scope":82256,"src":"13339:33:133","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":82170,"name":"address","nodeType":"ElementaryTypeName","src":"13339:7:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":82171,"nodeType":"ArrayTypeName","src":"13339:9:133","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"id":82176,"initialValue":{"baseExpression":{"id":82173,"name":"strategiesByMember","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81569,"src":"13375:18:133","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_address_$dyn_storage_$","typeString":"mapping(address => address[] storage ref)"}},"id":82175,"indexExpression":{"id":82174,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82164,"src":"13394:6:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"13375:26:133","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[] storage ref"}},"nodeType":"VariableDeclarationStatement","src":"13339:62:133"},{"assignments":[82178],"declarations":[{"constant":false,"id":82178,"mutability":"mutable","name":"pointsToIncrease","nameLocation":"13420:16:133","nodeType":"VariableDeclaration","scope":82256,"src":"13412:24:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":82177,"name":"uint256","nodeType":"ElementaryTypeName","src":"13412:7:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":82179,"nodeType":"VariableDeclarationStatement","src":"13412:24:133"},{"body":{"id":82231,"nodeType":"Block","src":"13501:479:133","statements":[{"expression":{"id":82201,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":82191,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82178,"src":"13620:16:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":82198,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82164,"src":"13689:6:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":82199,"name":"_amountStaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82155,"src":"13697:13:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"arguments":[{"baseExpression":{"id":82193,"name":"memberStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82172,"src":"13654:16:133","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":82195,"indexExpression":{"id":82194,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82181,"src":"13671:1:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"13654:19:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":82192,"name":"IPointStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74722,"src":"13639:14:133","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IPointStrategy_$74722_$","typeString":"type(contract IPointStrategy)"}},"id":82196,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13639:35:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IPointStrategy_$74722","typeString":"contract IPointStrategy"}},"id":82197,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13675:13:133","memberName":"increasePower","nodeType":"MemberAccess","referencedDeclaration":74706,"src":"13639:49:133","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256) external returns (uint256)"}},"id":82200,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13639:72:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"13620:91:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":82202,"nodeType":"ExpressionStatement","src":"13620:91:133"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":82205,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":82203,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82178,"src":"13729:16:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":82204,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13749:1:133","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"13729:21:133","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":82230,"nodeType":"IfStatement","src":"13725:229:133","trueBody":{"id":82229,"nodeType":"Block","src":"13752:202:133","statements":[{"expression":{"id":82214,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"id":82206,"name":"memberPowerInStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81559,"src":"13770:21:133","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"}},"id":82211,"indexExpression":{"id":82207,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82164,"src":"13792:6:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"13770:29:133","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":82212,"indexExpression":{"baseExpression":{"id":82208,"name":"memberStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82172,"src":"13800:16:133","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":82210,"indexExpression":{"id":82209,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82181,"src":"13817:1:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"13800:19:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"13770:50:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"id":82213,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82178,"src":"13824:16:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"13770:70:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":82215,"nodeType":"ExpressionStatement","src":"13770:70:133"},{"expression":{"arguments":[{"hexValue":"537472617465677920706f776572","id":82219,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13870:16:133","typeDescriptions":{"typeIdentifier":"t_stringliteral_703ee8b122626afba084dc6507d90f45e4b99d124abdcce4d7ee9c70af76c3ee","typeString":"literal_string \"Strategy power\""},"value":"Strategy power"},{"baseExpression":{"baseExpression":{"id":82220,"name":"memberPowerInStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81559,"src":"13888:21:133","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"}},"id":82222,"indexExpression":{"id":82221,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82164,"src":"13910:6:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"13888:29:133","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":82226,"indexExpression":{"baseExpression":{"id":82223,"name":"memberStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82172,"src":"13918:16:133","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":82225,"indexExpression":{"id":82224,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82181,"src":"13935:1:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"13918:19:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"13888:50:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_703ee8b122626afba084dc6507d90f45e4b99d124abdcce4d7ee9c70af76c3ee","typeString":"literal_string \"Strategy power\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":82216,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29549,"src":"13858:7:133","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$29549_$","typeString":"type(library console)"}},"id":82218,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13866:3:133","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":22193,"src":"13858:11:133","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":82227,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13858:81:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":82228,"nodeType":"ExpressionStatement","src":"13858:81:133"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":82187,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":82184,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82181,"src":"13467:1:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":82185,"name":"memberStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82172,"src":"13471:16:133","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":82186,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13488:6:133","memberName":"length","nodeType":"MemberAccess","src":"13471:23:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"13467:27:133","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":82232,"initializationExpression":{"assignments":[82181],"declarations":[{"constant":false,"id":82181,"mutability":"mutable","name":"i","nameLocation":"13460:1:133","nodeType":"VariableDeclaration","scope":82232,"src":"13452:9:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":82180,"name":"uint256","nodeType":"ElementaryTypeName","src":"13452:7:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":82183,"initialValue":{"hexValue":"30","id":82182,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13464:1:133","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"13452:13:133"},"loopExpression":{"expression":{"id":82189,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"13496:3:133","subExpression":{"id":82188,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82181,"src":"13496:1:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":82190,"nodeType":"ExpressionStatement","src":"13496:3:133"},"nodeType":"ForStatement","src":"13447:533:133"},{"expression":{"arguments":[{"id":82236,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82164,"src":"14019:6:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":82239,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"14035:4:133","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunity_$83082","typeString":"contract RegistryCommunity"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryCommunity_$83082","typeString":"contract RegistryCommunity"}],"id":82238,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"14027:7:133","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":82237,"name":"address","nodeType":"ElementaryTypeName","src":"14027:7:133","typeDescriptions":{}}},"id":82240,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14027:13:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":82241,"name":"_amountStaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82155,"src":"14042:13:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":82233,"name":"gardenToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81539,"src":"13990:11:133","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$57069","typeString":"contract IERC20"}},"id":82235,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14002:16:133","memberName":"safeTransferFrom","nodeType":"MemberAccess","referencedDeclaration":57190,"src":"13990:28:133","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IERC20_$57069_$_t_address_$_t_address_$_t_uint256_$returns$__$attached_to$_t_contract$_IERC20_$57069_$","typeString":"function (contract IERC20,address,address,uint256)"}},"id":82242,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13990:66:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":82243,"nodeType":"ExpressionStatement","src":"13990:66:133"},{"expression":{"id":82249,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"baseExpression":{"id":82244,"name":"addressToMemberInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81564,"src":"14066:19:133","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Member_$81482_storage_$","typeString":"mapping(address => struct RegistryCommunity.Member storage ref)"}},"id":82246,"indexExpression":{"id":82245,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82164,"src":"14086:6:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"14066:27:133","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$81482_storage","typeString":"struct RegistryCommunity.Member storage ref"}},"id":82247,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"14094:12:133","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":81479,"src":"14066:40:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"id":82248,"name":"_amountStaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82155,"src":"14110:13:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"14066:57:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":82250,"nodeType":"ExpressionStatement","src":"14066:57:133"},{"eventCall":{"arguments":[{"id":82252,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82164,"src":"14159:6:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":82253,"name":"_amountStaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82155,"src":"14167:13:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":82251,"name":"MemberPowerIncreased","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81323,"src":"14138:20:133","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":82254,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14138:43:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":82255,"nodeType":"EmitStatement","src":"14133:48:133"}]},"functionSelector":"559de05d","implemented":true,"kind":"function","modifiers":[{"id":82158,"kind":"modifierInvocation","modifierName":{"id":82157,"name":"nonReentrant","nameLocations":["13243:12:133"],"nodeType":"IdentifierPath","referencedDeclaration":56243,"src":"13243:12:133"},"nodeType":"ModifierInvocation","src":"13243:12:133"}],"name":"increasePower","nameLocation":"13199:13:133","parameters":{"id":82156,"nodeType":"ParameterList","parameters":[{"constant":false,"id":82155,"mutability":"mutable","name":"_amountStaked","nameLocation":"13221:13:133","nodeType":"VariableDeclaration","scope":82257,"src":"13213:21:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":82154,"name":"uint256","nodeType":"ElementaryTypeName","src":"13213:7:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13212:23:133"},"returnParameters":{"id":82159,"nodeType":"ParameterList","parameters":[],"src":"13256:0:133"},"scope":83082,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":82407,"nodeType":"FunctionDefinition","src":"14328:1554:133","nodes":[],"body":{"id":82406,"nodeType":"Block","src":"14396:1486:133","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":82264,"name":"onlyRegistryMemberSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81371,"src":"14406:24:133","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":82265,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14406:26:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":82266,"nodeType":"ExpressionStatement","src":"14406:26:133"},{"assignments":[82268],"declarations":[{"constant":false,"id":82268,"mutability":"mutable","name":"member","nameLocation":"14450:6:133","nodeType":"VariableDeclaration","scope":82406,"src":"14442:14:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":82267,"name":"address","nodeType":"ElementaryTypeName","src":"14442:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":82271,"initialValue":{"expression":{"id":82269,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"14459:3:133","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":82270,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14463:6:133","memberName":"sender","nodeType":"MemberAccess","src":"14459:10:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"14442:27:133"},{"assignments":[82276],"declarations":[{"constant":false,"id":82276,"mutability":"mutable","name":"memberStrategies","nameLocation":"14497:16:133","nodeType":"VariableDeclaration","scope":82406,"src":"14479:34:133","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":82274,"name":"address","nodeType":"ElementaryTypeName","src":"14479:7:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":82275,"nodeType":"ArrayTypeName","src":"14479:9:133","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"id":82280,"initialValue":{"baseExpression":{"id":82277,"name":"strategiesByMember","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81569,"src":"14516:18:133","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_address_$dyn_storage_$","typeString":"mapping(address => address[] storage ref)"}},"id":82279,"indexExpression":{"id":82278,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82268,"src":"14535:6:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"14516:26:133","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[] storage ref"}},"nodeType":"VariableDeclarationStatement","src":"14479:63:133"},{"assignments":[82282],"declarations":[{"constant":false,"id":82282,"mutability":"mutable","name":"pointsToDecrease","nameLocation":"14561:16:133","nodeType":"VariableDeclaration","scope":82406,"src":"14553:24:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":82281,"name":"uint256","nodeType":"ElementaryTypeName","src":"14553:7:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":82283,"nodeType":"VariableDeclarationStatement","src":"14553:24:133"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":82291,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":82289,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":82284,"name":"addressToMemberInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81564,"src":"14592:19:133","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Member_$81482_storage_$","typeString":"mapping(address => struct RegistryCommunity.Member storage ref)"}},"id":82286,"indexExpression":{"id":82285,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82268,"src":"14612:6:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"14592:27:133","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$81482_storage","typeString":"struct RegistryCommunity.Member storage ref"}},"id":82287,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14620:12:133","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":81479,"src":"14592:40:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":82288,"name":"_amountUnstaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82259,"src":"14635:15:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"14592:58:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":82290,"name":"registerStakeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81519,"src":"14653:19:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"14592:80:133","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":82296,"nodeType":"IfStatement","src":"14588:140:133","trueBody":{"id":82295,"nodeType":"Block","src":"14674:54:133","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":82292,"name":"DecreaseUnderMinimum","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81469,"src":"14695:20:133","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":82293,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14695:22:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":82294,"nodeType":"RevertStatement","src":"14688:29:133"}]}},{"expression":{"arguments":[{"id":82300,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82268,"src":"14762:6:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":82301,"name":"_amountUnstaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82259,"src":"14770:15:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":82297,"name":"gardenToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81539,"src":"14737:11:133","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$57069","typeString":"contract IERC20"}},"id":82299,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14749:12:133","memberName":"safeTransfer","nodeType":"MemberAccess","referencedDeclaration":57163,"src":"14737:24:133","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IERC20_$57069_$_t_address_$_t_uint256_$returns$__$attached_to$_t_contract$_IERC20_$57069_$","typeString":"function (contract IERC20,address,uint256)"}},"id":82302,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14737:49:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":82303,"nodeType":"ExpressionStatement","src":"14737:49:133"},{"body":{"id":82392,"nodeType":"Block","src":"14850:897:133","statements":[{"assignments":[82316],"declarations":[{"constant":false,"id":82316,"mutability":"mutable","name":"strategy","nameLocation":"14872:8:133","nodeType":"VariableDeclaration","scope":82392,"src":"14864:16:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":82315,"name":"address","nodeType":"ElementaryTypeName","src":"14864:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":82320,"initialValue":{"baseExpression":{"id":82317,"name":"memberStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82276,"src":"14883:16:133","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[] storage pointer"}},"id":82319,"indexExpression":{"id":82318,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82305,"src":"14900:1:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"14883:19:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"14864:38:133"},{"condition":{"arguments":[{"expression":{"arguments":[{"id":82324,"name":"IPointStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74722,"src":"14952:14:133","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IPointStrategy_$74722_$","typeString":"type(contract IPointStrategy)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_contract$_IPointStrategy_$74722_$","typeString":"type(contract IPointStrategy)"}],"id":82323,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"14947:4:133","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":82325,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14947:20:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_contract$_IPointStrategy_$74722","typeString":"type(contract IPointStrategy)"}},"id":82326,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"14968:11:133","memberName":"interfaceId","nodeType":"MemberAccess","src":"14947:32:133","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":82321,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82316,"src":"14920:8:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":82322,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14929:17:133","memberName":"supportsInterface","nodeType":"MemberAccess","referencedDeclaration":58316,"src":"14920:26:133","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_bytes4_$returns$_t_bool_$attached_to$_t_address_$","typeString":"function (address,bytes4) view returns (bool)"}},"id":82327,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14920:60:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":82390,"nodeType":"Block","src":"15470:250:133","statements":[{"expression":{"id":82379,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":82370,"name":"memberStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82276,"src":"15555:16:133","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[] storage pointer"}},"id":82372,"indexExpression":{"id":82371,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82305,"src":"15572:1:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"15555:19:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"baseExpression":{"id":82373,"name":"memberStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82276,"src":"15577:16:133","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[] storage pointer"}},"id":82378,"indexExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":82377,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":82374,"name":"memberStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82276,"src":"15594:16:133","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[] storage pointer"}},"id":82375,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15611:6:133","memberName":"length","nodeType":"MemberAccess","src":"15594:23:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":82376,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15620:1:133","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"15594:27:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15577:45:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"15555:67:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":82380,"nodeType":"ExpressionStatement","src":"15555:67:133"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":82381,"name":"memberStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82276,"src":"15640:16:133","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[] storage pointer"}},"id":82383,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15657:3:133","memberName":"pop","nodeType":"MemberAccess","src":"15640:20:133","typeDescriptions":{"typeIdentifier":"t_function_arraypop_nonpayable$_t_array$_t_address_$dyn_storage_ptr_$returns$__$attached_to$_t_array$_t_address_$dyn_storage_ptr_$","typeString":"function (address[] storage pointer)"}},"id":82384,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15640:22:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":82385,"nodeType":"ExpressionStatement","src":"15640:22:133"},{"expression":{"arguments":[{"id":82387,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82316,"src":"15696:8:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":82386,"name":"_removeStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82574,"src":"15680:15:133","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":82388,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15680:25:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":82389,"nodeType":"ExpressionStatement","src":"15680:25:133"}]},"id":82391,"nodeType":"IfStatement","src":"14916:804:133","trueBody":{"id":82369,"nodeType":"Block","src":"14982:482:133","statements":[{"expression":{"id":82336,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":82328,"name":"pointsToDecrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82282,"src":"15000:16:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":82333,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82268,"src":"15058:6:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":82334,"name":"_amountUnstaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82259,"src":"15066:15:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"arguments":[{"id":82330,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82316,"src":"15034:8:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":82329,"name":"IPointStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74722,"src":"15019:14:133","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IPointStrategy_$74722_$","typeString":"type(contract IPointStrategy)"}},"id":82331,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15019:24:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IPointStrategy_$74722","typeString":"contract IPointStrategy"}},"id":82332,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15044:13:133","memberName":"decreasePower","nodeType":"MemberAccess","referencedDeclaration":74715,"src":"15019:38:133","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256) external returns (uint256)"}},"id":82335,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15019:63:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"15000:82:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":82337,"nodeType":"ExpressionStatement","src":"15000:82:133"},{"assignments":[82339],"declarations":[{"constant":false,"id":82339,"mutability":"mutable","name":"currentPower","nameLocation":"15108:12:133","nodeType":"VariableDeclaration","scope":82369,"src":"15100:20:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":82338,"name":"uint256","nodeType":"ElementaryTypeName","src":"15100:7:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":82347,"initialValue":{"baseExpression":{"baseExpression":{"id":82340,"name":"memberPowerInStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81559,"src":"15123:21:133","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"}},"id":82342,"indexExpression":{"id":82341,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82268,"src":"15145:6:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15123:29:133","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":82346,"indexExpression":{"baseExpression":{"id":82343,"name":"memberStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82276,"src":"15153:16:133","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[] storage pointer"}},"id":82345,"indexExpression":{"id":82344,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82305,"src":"15170:1:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15153:19:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15123:50:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"15100:73:133"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":82350,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":82348,"name":"pointsToDecrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82282,"src":"15195:16:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":82349,"name":"currentPower","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82339,"src":"15214:12:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"15195:31:133","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":82367,"nodeType":"Block","src":"15339:111:133","statements":[{"expression":{"id":82365,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"id":82357,"name":"memberPowerInStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81559,"src":"15361:21:133","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"}},"id":82362,"indexExpression":{"id":82358,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82268,"src":"15383:6:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15361:29:133","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":82363,"indexExpression":{"baseExpression":{"id":82359,"name":"memberStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82276,"src":"15391:16:133","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[] storage pointer"}},"id":82361,"indexExpression":{"id":82360,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82305,"src":"15408:1:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15391:19:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"15361:50:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"id":82364,"name":"pointsToDecrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82282,"src":"15415:16:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"15361:70:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":82366,"nodeType":"ExpressionStatement","src":"15361:70:133"}]},"id":82368,"nodeType":"IfStatement","src":"15191:259:133","trueBody":{"id":82356,"nodeType":"Block","src":"15228:105:133","statements":[{"errorCall":{"arguments":[{"id":82352,"name":"pointsToDecrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82282,"src":"15283:16:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":82353,"name":"currentPower","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82339,"src":"15301:12:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":82351,"name":"CantDecreaseMoreThanPower","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81475,"src":"15257:25:133","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":82354,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15257:57:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":82355,"nodeType":"RevertStatement","src":"15250:64:133"}]}}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":82311,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":82308,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82305,"src":"14816:1:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":82309,"name":"memberStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82276,"src":"14820:16:133","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[] storage pointer"}},"id":82310,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14837:6:133","memberName":"length","nodeType":"MemberAccess","src":"14820:23:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"14816:27:133","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":82393,"initializationExpression":{"assignments":[82305],"declarations":[{"constant":false,"id":82305,"mutability":"mutable","name":"i","nameLocation":"14809:1:133","nodeType":"VariableDeclaration","scope":82393,"src":"14801:9:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":82304,"name":"uint256","nodeType":"ElementaryTypeName","src":"14801:7:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":82307,"initialValue":{"hexValue":"30","id":82306,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14813:1:133","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"14801:13:133"},"loopExpression":{"expression":{"id":82313,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"14845:3:133","subExpression":{"id":82312,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82305,"src":"14845:1:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":82314,"nodeType":"ExpressionStatement","src":"14845:3:133"},"nodeType":"ForStatement","src":"14796:951:133"},{"expression":{"id":82399,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"baseExpression":{"id":82394,"name":"addressToMemberInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81564,"src":"15756:19:133","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Member_$81482_storage_$","typeString":"mapping(address => struct RegistryCommunity.Member storage ref)"}},"id":82396,"indexExpression":{"id":82395,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82268,"src":"15776:6:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15756:27:133","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$81482_storage","typeString":"struct RegistryCommunity.Member storage ref"}},"id":82397,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"15784:12:133","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":81479,"src":"15756:40:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"id":82398,"name":"_amountUnstaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82259,"src":"15800:15:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"15756:59:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":82400,"nodeType":"ExpressionStatement","src":"15756:59:133"},{"eventCall":{"arguments":[{"id":82402,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82268,"src":"15851:6:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":82403,"name":"_amountUnstaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82259,"src":"15859:15:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":82401,"name":"MemberPowerDecreased","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81329,"src":"15830:20:133","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":82404,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15830:45:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":82405,"nodeType":"EmitStatement","src":"15825:50:133"}]},"functionSelector":"5ecf71c5","implemented":true,"kind":"function","modifiers":[{"id":82262,"kind":"modifierInvocation","modifierName":{"id":82261,"name":"nonReentrant","nameLocations":["14383:12:133"],"nodeType":"IdentifierPath","referencedDeclaration":56243,"src":"14383:12:133"},"nodeType":"ModifierInvocation","src":"14383:12:133"}],"name":"decreasePower","nameLocation":"14337:13:133","parameters":{"id":82260,"nodeType":"ParameterList","parameters":[{"constant":false,"id":82259,"mutability":"mutable","name":"_amountUnstaked","nameLocation":"14359:15:133","nodeType":"VariableDeclaration","scope":82407,"src":"14351:23:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":82258,"name":"uint256","nodeType":"ElementaryTypeName","src":"14351:7:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"14350:25:133"},"returnParameters":{"id":82263,"nodeType":"ParameterList","parameters":[],"src":"14396:0:133"},"scope":83082,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":82423,"nodeType":"FunctionDefinition","src":"15888:165:133","nodes":[],"body":{"id":82422,"nodeType":"Block","src":"15988:65:133","nodes":[],"statements":[{"expression":{"baseExpression":{"baseExpression":{"id":82416,"name":"memberPowerInStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81559,"src":"16005:21:133","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"}},"id":82418,"indexExpression":{"id":82417,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82409,"src":"16027:7:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"16005:30:133","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":82420,"indexExpression":{"id":82419,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82411,"src":"16036:9:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"16005:41:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":82415,"id":82421,"nodeType":"Return","src":"15998:48:133"}]},"functionSelector":"7817ee4f","implemented":true,"kind":"function","modifiers":[],"name":"getMemberPowerInStrategy","nameLocation":"15897:24:133","parameters":{"id":82412,"nodeType":"ParameterList","parameters":[{"constant":false,"id":82409,"mutability":"mutable","name":"_member","nameLocation":"15930:7:133","nodeType":"VariableDeclaration","scope":82423,"src":"15922:15:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":82408,"name":"address","nodeType":"ElementaryTypeName","src":"15922:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":82411,"mutability":"mutable","name":"_strategy","nameLocation":"15947:9:133","nodeType":"VariableDeclaration","scope":82423,"src":"15939:17:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":82410,"name":"address","nodeType":"ElementaryTypeName","src":"15939:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"15921:36:133"},"returnParameters":{"id":82415,"nodeType":"ParameterList","parameters":[{"constant":false,"id":82414,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":82423,"src":"15979:7:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":82413,"name":"uint256","nodeType":"ElementaryTypeName","src":"15979:7:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15978:9:133"},"scope":83082,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":82436,"nodeType":"FunctionDefinition","src":"16059:143:133","nodes":[],"body":{"id":82435,"nodeType":"Block","src":"16137:65:133","nodes":[],"statements":[{"expression":{"expression":{"baseExpression":{"id":82430,"name":"addressToMemberInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81564,"src":"16154:19:133","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Member_$81482_storage_$","typeString":"mapping(address => struct RegistryCommunity.Member storage ref)"}},"id":82432,"indexExpression":{"id":82431,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82425,"src":"16174:7:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"16154:28:133","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$81482_storage","typeString":"struct RegistryCommunity.Member storage ref"}},"id":82433,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"16183:12:133","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":81479,"src":"16154:41:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":82429,"id":82434,"nodeType":"Return","src":"16147:48:133"}]},"functionSelector":"2c611c4a","implemented":true,"kind":"function","modifiers":[],"name":"getMemberStakedAmount","nameLocation":"16068:21:133","parameters":{"id":82426,"nodeType":"ParameterList","parameters":[{"constant":false,"id":82425,"mutability":"mutable","name":"_member","nameLocation":"16098:7:133","nodeType":"VariableDeclaration","scope":82436,"src":"16090:15:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":82424,"name":"address","nodeType":"ElementaryTypeName","src":"16090:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"16089:17:133"},"returnParameters":{"id":82429,"nodeType":"ParameterList","parameters":[{"constant":false,"id":82428,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":82436,"src":"16128:7:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":82427,"name":"uint256","nodeType":"ElementaryTypeName","src":"16128:7:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"16127:9:133"},"scope":83082,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":82473,"nodeType":"FunctionDefinition","src":"16331:313:133","nodes":[],"body":{"id":82472,"nodeType":"Block","src":"16383:261:133","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":82441,"name":"onlyCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81357,"src":"16393:15:133","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":82442,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16393:17:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":82443,"nodeType":"ExpressionStatement","src":"16393:17:133"},{"assignments":[82445],"declarations":[{"constant":false,"id":82445,"mutability":"mutable","name":"strategy","nameLocation":"16428:8:133","nodeType":"VariableDeclaration","scope":82472,"src":"16420:16:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":82444,"name":"address","nodeType":"ElementaryTypeName","src":"16420:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":82454,"initialValue":{"arguments":[{"expression":{"arguments":[{"id":82450,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82438,"src":"16460:6:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":82448,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81545,"src":"16447:4:133","typeDescriptions":{"typeIdentifier":"t_contract$_FAllo_$81222","typeString":"contract FAllo"}},"id":82449,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16452:7:133","memberName":"getPool","nodeType":"MemberAccess","referencedDeclaration":81221,"src":"16447:12:133","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_struct$_Pool_$2319_memory_ptr_$","typeString":"function (uint256) view external returns (struct IAllo.Pool memory)"}},"id":82451,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16447:20:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"id":82452,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"16468:8:133","memberName":"strategy","nodeType":"MemberAccess","referencedDeclaration":2309,"src":"16447:29:133","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}],"id":82447,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16439:7:133","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":82446,"name":"address","nodeType":"ElementaryTypeName","src":"16439:7:133","typeDescriptions":{}}},"id":82453,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16439:38:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"16420:57:133"},{"expression":{"arguments":[{"id":82456,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82445,"src":"16506:8:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":82455,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82526,"src":"16487:18:133","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":82457,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16487:28:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":82458,"nodeType":"ExpressionStatement","src":"16487:28:133"},{"condition":{"arguments":[{"expression":{"arguments":[{"id":82462,"name":"IPointStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74722,"src":"16561:14:133","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IPointStrategy_$74722_$","typeString":"type(contract IPointStrategy)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_contract$_IPointStrategy_$74722_$","typeString":"type(contract IPointStrategy)"}],"id":82461,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"16556:4:133","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":82463,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16556:20:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_contract$_IPointStrategy_$74722","typeString":"type(contract IPointStrategy)"}},"id":82464,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"16577:11:133","memberName":"interfaceId","nodeType":"MemberAccess","src":"16556:32:133","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":82459,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82445,"src":"16529:8:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":82460,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16538:17:133","memberName":"supportsInterface","nodeType":"MemberAccess","referencedDeclaration":58316,"src":"16529:26:133","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_bytes4_$returns$_t_bool_$attached_to$_t_address_$","typeString":"function (address,bytes4) view returns (bool)"}},"id":82465,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16529:60:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":82471,"nodeType":"IfStatement","src":"16525:113:133","trueBody":{"id":82470,"nodeType":"Block","src":"16591:47:133","statements":[{"expression":{"arguments":[{"id":82467,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82445,"src":"16618:8:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":82466,"name":"_addStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82510,"src":"16605:12:133","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":82468,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16605:22:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":82469,"nodeType":"ExpressionStatement","src":"16605:22:133"}]}}]},"functionSelector":"82d6a1e7","implemented":true,"kind":"function","modifiers":[],"name":"addStrategyByPoolId","nameLocation":"16340:19:133","parameters":{"id":82439,"nodeType":"ParameterList","parameters":[{"constant":false,"id":82438,"mutability":"mutable","name":"poolId","nameLocation":"16368:6:133","nodeType":"VariableDeclaration","scope":82473,"src":"16360:14:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":82437,"name":"uint256","nodeType":"ElementaryTypeName","src":"16360:7:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"16359:16:133"},"returnParameters":{"id":82440,"nodeType":"ParameterList","parameters":[],"src":"16383:0:133"},"scope":83082,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":82486,"nodeType":"FunctionDefinition","src":"16650:120:133","nodes":[],"body":{"id":82485,"nodeType":"Block","src":"16700:70:133","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":82478,"name":"onlyCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81357,"src":"16710:15:133","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":82479,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16710:17:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":82480,"nodeType":"ExpressionStatement","src":"16710:17:133"},{"expression":{"arguments":[{"id":82482,"name":"_newStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82475,"src":"16750:12:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":82481,"name":"_addStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82510,"src":"16737:12:133","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":82483,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16737:26:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":82484,"nodeType":"ExpressionStatement","src":"16737:26:133"}]},"functionSelector":"223e5479","implemented":true,"kind":"function","modifiers":[],"name":"addStrategy","nameLocation":"16659:11:133","parameters":{"id":82476,"nodeType":"ParameterList","parameters":[{"constant":false,"id":82475,"mutability":"mutable","name":"_newStrategy","nameLocation":"16679:12:133","nodeType":"VariableDeclaration","scope":82486,"src":"16671:20:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":82474,"name":"address","nodeType":"ElementaryTypeName","src":"16671:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"16670:22:133"},"returnParameters":{"id":82477,"nodeType":"ParameterList","parameters":[],"src":"16700:0:133"},"scope":83082,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":82510,"nodeType":"FunctionDefinition","src":"16776:244:133","nodes":[],"body":{"id":82509,"nodeType":"Block","src":"16829:191:133","nodes":[],"statements":[{"condition":{"baseExpression":{"id":82491,"name":"enabledStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81553,"src":"16843:17:133","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":82493,"indexExpression":{"id":82492,"name":"_newStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82488,"src":"16861:12:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"16843:31:133","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":82498,"nodeType":"IfStatement","src":"16839:85:133","trueBody":{"id":82497,"nodeType":"Block","src":"16876:48:133","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":82494,"name":"StrategyExists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81453,"src":"16897:14:133","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":82495,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16897:16:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":82496,"nodeType":"RevertStatement","src":"16890:23:133"}]}},{"expression":{"id":82503,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":82499,"name":"enabledStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81553,"src":"16933:17:133","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":82501,"indexExpression":{"id":82500,"name":"_newStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82488,"src":"16951:12:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"16933:31:133","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":82502,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"16967:4:133","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"16933:38:133","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":82504,"nodeType":"ExpressionStatement","src":"16933:38:133"},{"eventCall":{"arguments":[{"id":82506,"name":"_newStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82488,"src":"17000:12:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":82505,"name":"StrategyAdded","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81295,"src":"16986:13:133","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":82507,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16986:27:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":82508,"nodeType":"EmitStatement","src":"16981:32:133"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_addStrategy","nameLocation":"16785:12:133","parameters":{"id":82489,"nodeType":"ParameterList","parameters":[{"constant":false,"id":82488,"mutability":"mutable","name":"_newStrategy","nameLocation":"16806:12:133","nodeType":"VariableDeclaration","scope":82510,"src":"16798:20:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":82487,"name":"address","nodeType":"ElementaryTypeName","src":"16798:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"16797:22:133"},"returnParameters":{"id":82490,"nodeType":"ParameterList","parameters":[],"src":"16829:0:133"},"scope":83082,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":82526,"nodeType":"FunctionDefinition","src":"17026:133:133","nodes":[],"body":{"id":82525,"nodeType":"Block","src":"17086:73:133","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":82520,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":82515,"name":"_address","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82512,"src":"17100:8:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":82518,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17120:1:133","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":82517,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"17112:7:133","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":82516,"name":"address","nodeType":"ElementaryTypeName","src":"17112:7:133","typeDescriptions":{}}},"id":82519,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17112:10:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"17100:22:133","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":82524,"nodeType":"IfStatement","src":"17096:56:133","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":82521,"name":"AddressCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81437,"src":"17131:19:133","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":82522,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17131:21:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":82523,"nodeType":"RevertStatement","src":"17124:28:133"}}]},"implemented":true,"kind":"function","modifiers":[],"name":"_revertZeroAddress","nameLocation":"17035:18:133","parameters":{"id":82513,"nodeType":"ParameterList","parameters":[{"constant":false,"id":82512,"mutability":"mutable","name":"_address","nameLocation":"17062:8:133","nodeType":"VariableDeclaration","scope":82526,"src":"17054:16:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":82511,"name":"address","nodeType":"ElementaryTypeName","src":"17054:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"17053:18:133"},"returnParameters":{"id":82514,"nodeType":"ParameterList","parameters":[],"src":"17086:0:133"},"scope":83082,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":82554,"nodeType":"FunctionDefinition","src":"17165:229:133","nodes":[],"body":{"id":82553,"nodeType":"Block","src":"17220:174:133","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":82531,"name":"onlyCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81357,"src":"17230:15:133","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":82532,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17230:17:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":82533,"nodeType":"ExpressionStatement","src":"17230:17:133"},{"assignments":[82535],"declarations":[{"constant":false,"id":82535,"mutability":"mutable","name":"strategy","nameLocation":"17265:8:133","nodeType":"VariableDeclaration","scope":82553,"src":"17257:16:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":82534,"name":"address","nodeType":"ElementaryTypeName","src":"17257:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":82544,"initialValue":{"arguments":[{"expression":{"arguments":[{"id":82540,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82528,"src":"17297:6:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":82538,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81545,"src":"17284:4:133","typeDescriptions":{"typeIdentifier":"t_contract$_FAllo_$81222","typeString":"contract FAllo"}},"id":82539,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17289:7:133","memberName":"getPool","nodeType":"MemberAccess","referencedDeclaration":81221,"src":"17284:12:133","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_struct$_Pool_$2319_memory_ptr_$","typeString":"function (uint256) view external returns (struct IAllo.Pool memory)"}},"id":82541,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17284:20:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"id":82542,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"17305:8:133","memberName":"strategy","nodeType":"MemberAccess","referencedDeclaration":2309,"src":"17284:29:133","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}],"id":82537,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"17276:7:133","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":82536,"name":"address","nodeType":"ElementaryTypeName","src":"17276:7:133","typeDescriptions":{}}},"id":82543,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17276:38:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"17257:57:133"},{"expression":{"arguments":[{"id":82546,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82535,"src":"17343:8:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":82545,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82526,"src":"17324:18:133","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":82547,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17324:28:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":82548,"nodeType":"ExpressionStatement","src":"17324:28:133"},{"expression":{"arguments":[{"id":82550,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82535,"src":"17378:8:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":82549,"name":"_removeStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82574,"src":"17362:15:133","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":82551,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17362:25:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":82552,"nodeType":"ExpressionStatement","src":"17362:25:133"}]},"functionSelector":"73265c37","implemented":true,"kind":"function","modifiers":[],"name":"removeStrategyByPoolId","nameLocation":"17174:22:133","parameters":{"id":82529,"nodeType":"ParameterList","parameters":[{"constant":false,"id":82528,"mutability":"mutable","name":"poolId","nameLocation":"17205:6:133","nodeType":"VariableDeclaration","scope":82554,"src":"17197:14:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":82527,"name":"uint256","nodeType":"ElementaryTypeName","src":"17197:7:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"17196:16:133"},"returnParameters":{"id":82530,"nodeType":"ParameterList","parameters":[],"src":"17220:0:133"},"scope":83082,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":82574,"nodeType":"FunctionDefinition","src":"17400:186:133","nodes":[],"body":{"id":82573,"nodeType":"Block","src":"17453:133:133","nodes":[],"statements":[{"expression":{"arguments":[{"id":82560,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82556,"src":"17482:9:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":82559,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82526,"src":"17463:18:133","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":82561,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17463:29:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":82562,"nodeType":"ExpressionStatement","src":"17463:29:133"},{"expression":{"id":82567,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":82563,"name":"enabledStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81553,"src":"17502:17:133","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":82565,"indexExpression":{"id":82564,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82556,"src":"17520:9:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"17502:28:133","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"66616c7365","id":82566,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"17533:5:133","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"src":"17502:36:133","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":82568,"nodeType":"ExpressionStatement","src":"17502:36:133"},{"eventCall":{"arguments":[{"id":82570,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82556,"src":"17569:9:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":82569,"name":"StrategyRemoved","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81299,"src":"17553:15:133","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":82571,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17553:26:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":82572,"nodeType":"EmitStatement","src":"17548:31:133"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_removeStrategy","nameLocation":"17409:15:133","parameters":{"id":82557,"nodeType":"ParameterList","parameters":[{"constant":false,"id":82556,"mutability":"mutable","name":"_strategy","nameLocation":"17433:9:133","nodeType":"VariableDeclaration","scope":82574,"src":"17425:17:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":82555,"name":"address","nodeType":"ElementaryTypeName","src":"17425:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"17424:19:133"},"returnParameters":{"id":82558,"nodeType":"ParameterList","parameters":[],"src":"17453:0:133"},"scope":83082,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":82587,"nodeType":"FunctionDefinition","src":"17592:120:133","nodes":[],"body":{"id":82586,"nodeType":"Block","src":"17642:70:133","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":82579,"name":"onlyCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81357,"src":"17652:15:133","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":82580,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17652:17:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":82581,"nodeType":"ExpressionStatement","src":"17652:17:133"},{"expression":{"arguments":[{"id":82583,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82576,"src":"17695:9:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":82582,"name":"_removeStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82574,"src":"17679:15:133","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":82584,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17679:26:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":82585,"nodeType":"ExpressionStatement","src":"17679:26:133"}]},"functionSelector":"175188e8","implemented":true,"kind":"function","modifiers":[],"name":"removeStrategy","nameLocation":"17601:14:133","parameters":{"id":82577,"nodeType":"ParameterList","parameters":[{"constant":false,"id":82576,"mutability":"mutable","name":"_strategy","nameLocation":"17624:9:133","nodeType":"VariableDeclaration","scope":82587,"src":"17616:17:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":82575,"name":"address","nodeType":"ElementaryTypeName","src":"17616:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"17615:19:133"},"returnParameters":{"id":82578,"nodeType":"ParameterList","parameters":[],"src":"17642:0:133"},"scope":83082,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":82612,"nodeType":"FunctionDefinition","src":"17718:240:133","nodes":[],"body":{"id":82611,"nodeType":"Block","src":"17772:186:133","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":82592,"name":"onlyCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81357,"src":"17782:15:133","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":82593,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17782:17:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":82594,"nodeType":"ExpressionStatement","src":"17782:17:133"},{"expression":{"arguments":[{"id":82596,"name":"_safe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82589,"src":"17828:5:133","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":82595,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82526,"src":"17809:18:133","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":82597,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17809:25:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":82598,"nodeType":"ExpressionStatement","src":"17809:25:133"},{"expression":{"id":82601,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":82599,"name":"pendingCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81533,"src":"17844:18:133","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":82600,"name":"_safe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82589,"src":"17865:5:133","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"src":"17844:26:133","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"id":82602,"nodeType":"ExpressionStatement","src":"17844:26:133"},{"eventCall":{"arguments":[{"arguments":[{"id":82606,"name":"councilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81542,"src":"17918:11:133","typeDescriptions":{"typeIdentifier":"t_contract$_ISafe_$85665","typeString":"contract ISafe"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ISafe_$85665","typeString":"contract ISafe"}],"id":82605,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"17910:7:133","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":82604,"name":"address","nodeType":"ElementaryTypeName","src":"17910:7:133","typeDescriptions":{}}},"id":82607,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17910:20:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":82608,"name":"pendingCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81533,"src":"17932:18:133","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":82603,"name":"CouncilSafeChangeStarted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81258,"src":"17885:24:133","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address)"}},"id":82609,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17885:66:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":82610,"nodeType":"EmitStatement","src":"17880:71:133"}]},"functionSelector":"397e2543","implemented":true,"kind":"function","modifiers":[],"name":"setCouncilSafe","nameLocation":"17727:14:133","parameters":{"id":82590,"nodeType":"ParameterList","parameters":[{"constant":false,"id":82589,"mutability":"mutable","name":"_safe","nameLocation":"17758:5:133","nodeType":"VariableDeclaration","scope":82612,"src":"17742:21:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"},"typeName":{"id":82588,"name":"address","nodeType":"ElementaryTypeName","src":"17742:15:133","stateMutability":"payable","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"visibility":"internal"}],"src":"17741:23:133"},"returnParameters":{"id":82591,"nodeType":"ParameterList","parameters":[],"src":"17772:0:133"},"scope":83082,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":82629,"nodeType":"FunctionDefinition","src":"17964:179:133","nodes":[],"body":{"id":82628,"nodeType":"Block","src":"18003:140:133","nodes":[],"statements":[{"expression":{"id":82619,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":82615,"name":"councilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81542,"src":"18013:11:133","typeDescriptions":{"typeIdentifier":"t_contract$_ISafe_$85665","typeString":"contract ISafe"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":82617,"name":"pendingCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81533,"src":"18033:18:133","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":82616,"name":"ISafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85665,"src":"18027:5:133","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ISafe_$85665_$","typeString":"type(contract ISafe)"}},"id":82618,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18027:25:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ISafe_$85665","typeString":"contract ISafe"}},"src":"18013:39:133","typeDescriptions":{"typeIdentifier":"t_contract$_ISafe_$85665","typeString":"contract ISafe"}},"id":82620,"nodeType":"ExpressionStatement","src":"18013:39:133"},{"expression":{"id":82622,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"18062:25:133","subExpression":{"id":82621,"name":"pendingCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81533,"src":"18069:18:133","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":82623,"nodeType":"ExpressionStatement","src":"18062:25:133"},{"eventCall":{"arguments":[{"id":82625,"name":"pendingCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81533,"src":"18117:18:133","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":82624,"name":"CouncilSafeSet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81252,"src":"18102:14:133","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":82626,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18102:34:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":82627,"nodeType":"EmitStatement","src":"18097:39:133"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_changeCouncilSafe","nameLocation":"17973:18:133","parameters":{"id":82613,"nodeType":"ParameterList","parameters":[],"src":"17991:2:133"},"returnParameters":{"id":82614,"nodeType":"ParameterList","parameters":[],"src":"18003:0:133"},"scope":83082,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":82645,"nodeType":"FunctionDefinition","src":"18149:171:133","nodes":[],"body":{"id":82644,"nodeType":"Block","src":"18185:135:133","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":82635,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":82632,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"18199:3:133","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":82633,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18203:6:133","memberName":"sender","nodeType":"MemberAccess","src":"18199:10:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":82634,"name":"pendingCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81533,"src":"18213:18:133","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"src":"18199:32:133","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":82640,"nodeType":"IfStatement","src":"18195:89:133","trueBody":{"id":82639,"nodeType":"Block","src":"18233:51:133","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":82636,"name":"SenderNotNewOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81457,"src":"18254:17:133","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":82637,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18254:19:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":82638,"nodeType":"RevertStatement","src":"18247:26:133"}]}},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":82641,"name":"_changeCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82629,"src":"18293:18:133","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":82642,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18293:20:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":82643,"nodeType":"ExpressionStatement","src":"18293:20:133"}]},"functionSelector":"b5058c50","implemented":true,"kind":"function","modifiers":[],"name":"acceptCouncilSafe","nameLocation":"18158:17:133","parameters":{"id":82630,"nodeType":"ParameterList","parameters":[],"src":"18175:2:133"},"returnParameters":{"id":82631,"nodeType":"ParameterList","parameters":[],"src":"18185:0:133"},"scope":83082,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":82663,"nodeType":"FunctionDefinition","src":"18326:182:133","nodes":[],"body":{"id":82662,"nodeType":"Block","src":"18398:110:133","nodes":[],"statements":[{"assignments":[82654],"declarations":[{"constant":false,"id":82654,"mutability":"mutable","name":"newMember","nameLocation":"18422:9:133","nodeType":"VariableDeclaration","scope":82662,"src":"18408:23:133","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$81482_memory_ptr","typeString":"struct RegistryCommunity.Member"},"typeName":{"id":82653,"nodeType":"UserDefinedTypeName","pathNode":{"id":82652,"name":"Member","nameLocations":["18408:6:133"],"nodeType":"IdentifierPath","referencedDeclaration":81482,"src":"18408:6:133"},"referencedDeclaration":81482,"src":"18408:6:133","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$81482_storage_ptr","typeString":"struct RegistryCommunity.Member"}},"visibility":"internal"}],"id":82658,"initialValue":{"baseExpression":{"id":82655,"name":"addressToMemberInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81564,"src":"18434:19:133","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Member_$81482_storage_$","typeString":"mapping(address => struct RegistryCommunity.Member storage ref)"}},"id":82657,"indexExpression":{"id":82656,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82647,"src":"18454:7:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"18434:28:133","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$81482_storage","typeString":"struct RegistryCommunity.Member storage ref"}},"nodeType":"VariableDeclarationStatement","src":"18408:54:133"},{"expression":{"expression":{"id":82659,"name":"newMember","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82654,"src":"18479:9:133","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$81482_memory_ptr","typeString":"struct RegistryCommunity.Member memory"}},"id":82660,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"18489:12:133","memberName":"isRegistered","nodeType":"MemberAccess","referencedDeclaration":81481,"src":"18479:22:133","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":82651,"id":82661,"nodeType":"Return","src":"18472:29:133"}]},"functionSelector":"a230c524","implemented":true,"kind":"function","modifiers":[],"name":"isMember","nameLocation":"18335:8:133","parameters":{"id":82648,"nodeType":"ParameterList","parameters":[{"constant":false,"id":82647,"mutability":"mutable","name":"_member","nameLocation":"18352:7:133","nodeType":"VariableDeclaration","scope":82663,"src":"18344:15:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":82646,"name":"address","nodeType":"ElementaryTypeName","src":"18344:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"18343:17:133"},"returnParameters":{"id":82651,"nodeType":"ParameterList","parameters":[{"constant":false,"id":82650,"mutability":"mutable","name":"_isMember","nameLocation":"18387:9:133","nodeType":"VariableDeclaration","scope":82663,"src":"18382:14:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":82649,"name":"bool","nodeType":"ElementaryTypeName","src":"18382:4:133","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"18381:16:133"},"scope":83082,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":82822,"nodeType":"FunctionDefinition","src":"18514:1907:133","nodes":[],"body":{"id":82821,"nodeType":"Block","src":"18568:1853:133","nodes":[],"statements":[{"assignments":[82669],"declarations":[{"constant":false,"id":82669,"mutability":"mutable","name":"_member","nameLocation":"18586:7:133","nodeType":"VariableDeclaration","scope":82821,"src":"18578:15:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":82668,"name":"address","nodeType":"ElementaryTypeName","src":"18578:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":82672,"initialValue":{"expression":{"id":82670,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"18596:3:133","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":82671,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18600:6:133","memberName":"sender","nodeType":"MemberAccess","src":"18596:10:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"18578:28:133"},{"assignments":[82675],"declarations":[{"constant":false,"id":82675,"mutability":"mutable","name":"newMember","nameLocation":"18631:9:133","nodeType":"VariableDeclaration","scope":82821,"src":"18616:24:133","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$81482_storage_ptr","typeString":"struct RegistryCommunity.Member"},"typeName":{"id":82674,"nodeType":"UserDefinedTypeName","pathNode":{"id":82673,"name":"Member","nameLocations":["18616:6:133"],"nodeType":"IdentifierPath","referencedDeclaration":81482,"src":"18616:6:133"},"referencedDeclaration":81482,"src":"18616:6:133","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$81482_storage_ptr","typeString":"struct RegistryCommunity.Member"}},"visibility":"internal"}],"id":82679,"initialValue":{"baseExpression":{"id":82676,"name":"addressToMemberInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81564,"src":"18643:19:133","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Member_$81482_storage_$","typeString":"mapping(address => struct RegistryCommunity.Member storage ref)"}},"id":82678,"indexExpression":{"id":82677,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82669,"src":"18663:7:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"18643:28:133","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$81482_storage","typeString":"struct RegistryCommunity.Member storage ref"}},"nodeType":"VariableDeclarationStatement","src":"18616:55:133"},{"assignments":[82682],"declarations":[{"constant":false,"id":82682,"mutability":"mutable","name":"gardensFactory","nameLocation":"18697:14:133","nodeType":"VariableDeclaration","scope":82821,"src":"18681:30:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryFactory_$85283","typeString":"contract RegistryFactory"},"typeName":{"id":82681,"nodeType":"UserDefinedTypeName","pathNode":{"id":82680,"name":"RegistryFactory","nameLocations":["18681:15:133"],"nodeType":"IdentifierPath","referencedDeclaration":85283,"src":"18681:15:133"},"referencedDeclaration":85283,"src":"18681:15:133","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryFactory_$85283","typeString":"contract RegistryFactory"}},"visibility":"internal"}],"id":82686,"initialValue":{"arguments":[{"id":82684,"name":"registryFactory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81527,"src":"18730:15:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":82683,"name":"RegistryFactory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85283,"src":"18714:15:133","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_RegistryFactory_$85283_$","typeString":"type(contract RegistryFactory)"}},"id":82685,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18714:32:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryFactory_$85283","typeString":"contract RegistryFactory"}},"nodeType":"VariableDeclarationStatement","src":"18681:65:133"},{"assignments":[82688],"declarations":[{"constant":false,"id":82688,"mutability":"mutable","name":"communityFeeAmount","nameLocation":"18764:18:133","nodeType":"VariableDeclaration","scope":82821,"src":"18756:26:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":82687,"name":"uint256","nodeType":"ElementaryTypeName","src":"18756:7:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":82698,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":82697,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":82691,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":82689,"name":"registerStakeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81519,"src":"18786:19:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":82690,"name":"communityFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81521,"src":"18808:12:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"18786:34:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":82692,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"18785:36:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":82695,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"313030","id":82693,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18825:3:133","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":82694,"name":"PRECISION_SCALE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81583,"src":"18831:15:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"18825:21:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":82696,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"18824:23:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"18785:62:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"18756:91:133"},{"assignments":[82700],"declarations":[{"constant":false,"id":82700,"mutability":"mutable","name":"gardensFeeAmount","nameLocation":"18865:16:133","nodeType":"VariableDeclaration","scope":82821,"src":"18857:24:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":82699,"name":"uint256","nodeType":"ElementaryTypeName","src":"18857:7:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":82716,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":82715,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":82709,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":82701,"name":"registerStakeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81519,"src":"18897:19:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"arguments":[{"arguments":[{"id":82706,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"18957:4:133","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunity_$83082","typeString":"contract RegistryCommunity"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryCommunity_$83082","typeString":"contract RegistryCommunity"}],"id":82705,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"18949:7:133","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":82704,"name":"address","nodeType":"ElementaryTypeName","src":"18949:7:133","typeDescriptions":{}}},"id":82707,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18949:13:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":82702,"name":"gardensFactory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82682,"src":"18919:14:133","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryFactory_$85283","typeString":"contract RegistryFactory"}},"id":82703,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18934:14:133","memberName":"getProtocolFee","nodeType":"MemberAccess","referencedDeclaration":85282,"src":"18919:29:133","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":82708,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18919:44:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"18897:66:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":82710,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"18896:68:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":82713,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"313030","id":82711,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18968:3:133","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":82712,"name":"PRECISION_SCALE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81583,"src":"18974:15:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"18968:21:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":82714,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"18967:23:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"18896:94:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"18857:133:133"},{"condition":{"id":82720,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"19004:18:133","subExpression":{"arguments":[{"id":82718,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82669,"src":"19014:7:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":82717,"name":"isMember","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82663,"src":"19005:8:133","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":82719,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19005:17:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":82820,"nodeType":"IfStatement","src":"19000:1415:133","trueBody":{"id":82819,"nodeType":"Block","src":"19024:1391:133","statements":[{"expression":{"id":82725,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":82721,"name":"newMember","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82675,"src":"19038:9:133","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$81482_storage_ptr","typeString":"struct RegistryCommunity.Member storage pointer"}},"id":82723,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"19048:12:133","memberName":"isRegistered","nodeType":"MemberAccess","referencedDeclaration":81481,"src":"19038:22:133","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":82724,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"19063:4:133","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"19038:29:133","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":82726,"nodeType":"ExpressionStatement","src":"19038:29:133"},{"expression":{"id":82731,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":82727,"name":"newMember","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82675,"src":"19082:9:133","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$81482_storage_ptr","typeString":"struct RegistryCommunity.Member storage pointer"}},"id":82729,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"19092:12:133","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":81479,"src":"19082:22:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":82730,"name":"registerStakeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81519,"src":"19107:19:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"19082:44:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":82732,"nodeType":"ExpressionStatement","src":"19082:44:133"},{"expression":{"arguments":[{"hexValue":"67617264656e546f6b656e","id":82736,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"19224:13:133","typeDescriptions":{"typeIdentifier":"t_stringliteral_b6b24c50b8ec3de451e1d7969209d38d6bc12dc5d1266588ab0e293c9a1b753a","typeString":"literal_string \"gardenToken\""},"value":"gardenToken"},{"arguments":[{"id":82739,"name":"gardenToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81539,"src":"19247:11:133","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$57069","typeString":"contract IERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$57069","typeString":"contract IERC20"}],"id":82738,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"19239:7:133","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":82737,"name":"address","nodeType":"ElementaryTypeName","src":"19239:7:133","typeDescriptions":{}}},"id":82740,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19239:20:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_b6b24c50b8ec3de451e1d7969209d38d6bc12dc5d1266588ab0e293c9a1b753a","typeString":"literal_string \"gardenToken\""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":82733,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29549,"src":"19212:7:133","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$29549_$","typeString":"type(library console)"}},"id":82735,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19220:3:133","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":22244,"src":"19212:11:133","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_address_$returns$__$","typeString":"function (string memory,address) view"}},"id":82741,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19212:48:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":82742,"nodeType":"ExpressionStatement","src":"19212:48:133"},{"expression":{"arguments":[{"id":82746,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82669,"src":"19321:7:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":82749,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"19338:4:133","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunity_$83082","typeString":"contract RegistryCommunity"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryCommunity_$83082","typeString":"contract RegistryCommunity"}],"id":82748,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"19330:7:133","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":82747,"name":"address","nodeType":"ElementaryTypeName","src":"19330:7:133","typeDescriptions":{}}},"id":82750,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19330:13:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":82755,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":82753,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":82751,"name":"registerStakeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81519,"src":"19345:19:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":82752,"name":"communityFeeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82688,"src":"19367:18:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"19345:40:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":82754,"name":"gardensFeeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82700,"src":"19388:16:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"19345:59:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":82743,"name":"gardenToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81539,"src":"19275:11:133","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$57069","typeString":"contract IERC20"}},"id":82745,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19287:16:133","memberName":"safeTransferFrom","nodeType":"MemberAccess","referencedDeclaration":57190,"src":"19275:28:133","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IERC20_$57069_$_t_address_$_t_address_$_t_uint256_$returns$__$attached_to$_t_contract$_IERC20_$57069_$","typeString":"function (contract IERC20,address,address,uint256)"}},"id":82756,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19275:143:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":82757,"nodeType":"ExpressionStatement","src":"19275:143:133"},{"expression":{"arguments":[{"hexValue":"636f6d6d756e697479466565416d6f756e74","id":82761,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"19781:20:133","typeDescriptions":{"typeIdentifier":"t_stringliteral_415492b98adc161fabebd8057944f6684f9fd452571affd947805630e42af66a","typeString":"literal_string \"communityFeeAmount\""},"value":"communityFeeAmount"},{"id":82762,"name":"communityFeeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82688,"src":"19803:18:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_415492b98adc161fabebd8057944f6684f9fd452571affd947805630e42af66a","typeString":"literal_string \"communityFeeAmount\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":82758,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29549,"src":"19769:7:133","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$29549_$","typeString":"type(library console)"}},"id":82760,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19777:3:133","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":22193,"src":"19769:11:133","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":82763,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19769:53:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":82764,"nodeType":"ExpressionStatement","src":"19769:53:133"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":82767,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":82765,"name":"communityFeeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82688,"src":"19840:18:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":82766,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"19861:1:133","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"19840:22:133","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":82783,"nodeType":"IfStatement","src":"19836:175:133","trueBody":{"id":82782,"nodeType":"Block","src":"19864:147:133","statements":[{"expression":{"arguments":[{"hexValue":"6665655265636569766572","id":82771,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"19894:13:133","typeDescriptions":{"typeIdentifier":"t_stringliteral_389e7cbf003e878980985f1a72c90dbe5b79c41a44fb160ac26b4fef395d0916","typeString":"literal_string \"feeReceiver\""},"value":"feeReceiver"},{"id":82772,"name":"feeReceiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81525,"src":"19909:11:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_389e7cbf003e878980985f1a72c90dbe5b79c41a44fb160ac26b4fef395d0916","typeString":"literal_string \"feeReceiver\""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":82768,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29549,"src":"19882:7:133","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$29549_$","typeString":"type(library console)"}},"id":82770,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19890:3:133","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":22244,"src":"19882:11:133","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_address_$returns$__$","typeString":"function (string memory,address) view"}},"id":82773,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19882:39:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":82774,"nodeType":"ExpressionStatement","src":"19882:39:133"},{"expression":{"arguments":[{"id":82778,"name":"feeReceiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81525,"src":"19964:11:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":82779,"name":"communityFeeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82688,"src":"19977:18:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":82775,"name":"gardenToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81539,"src":"19939:11:133","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$57069","typeString":"contract IERC20"}},"id":82777,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19951:12:133","memberName":"safeTransfer","nodeType":"MemberAccess","referencedDeclaration":57163,"src":"19939:24:133","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IERC20_$57069_$_t_address_$_t_uint256_$returns$__$attached_to$_t_contract$_IERC20_$57069_$","typeString":"function (contract IERC20,address,uint256)"}},"id":82780,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19939:57:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":82781,"nodeType":"ExpressionStatement","src":"19939:57:133"}]}},{"expression":{"arguments":[{"hexValue":"67617264656e73466565416d6f756e74","id":82787,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"20036:18:133","typeDescriptions":{"typeIdentifier":"t_stringliteral_da8763bbba0536c18d8861cb49d3bb999157cbcc3d98d4bc78b4c3f620189681","typeString":"literal_string \"gardensFeeAmount\""},"value":"gardensFeeAmount"},{"id":82788,"name":"gardensFeeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82700,"src":"20056:16:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_da8763bbba0536c18d8861cb49d3bb999157cbcc3d98d4bc78b4c3f620189681","typeString":"literal_string \"gardensFeeAmount\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":82784,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29549,"src":"20024:7:133","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$29549_$","typeString":"type(library console)"}},"id":82786,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20032:3:133","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":22193,"src":"20024:11:133","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":82789,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20024:49:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":82790,"nodeType":"ExpressionStatement","src":"20024:49:133"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":82793,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":82791,"name":"gardensFeeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82700,"src":"20091:16:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":82792,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20110:1:133","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"20091:20:133","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":82813,"nodeType":"IfStatement","src":"20087:252:133","trueBody":{"id":82812,"nodeType":"Block","src":"20113:226:133","statements":[{"expression":{"arguments":[{"hexValue":"67617264656e73466163746f72792e67657447617264656e7346656552656365697665722829","id":82797,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"20143:40:133","typeDescriptions":{"typeIdentifier":"t_stringliteral_52073e8ed84f6dfe673a411cc23bb08f06da5bbdad4d391c0e8d90fc482c379a","typeString":"literal_string \"gardensFactory.getGardensFeeReceiver()\""},"value":"gardensFactory.getGardensFeeReceiver()"},{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":82798,"name":"gardensFactory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82682,"src":"20185:14:133","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryFactory_$85283","typeString":"contract RegistryFactory"}},"id":82799,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20200:21:133","memberName":"getGardensFeeReceiver","nodeType":"MemberAccess","referencedDeclaration":85201,"src":"20185:36:133","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_address_$","typeString":"function () view external returns (address)"}},"id":82800,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20185:38:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_52073e8ed84f6dfe673a411cc23bb08f06da5bbdad4d391c0e8d90fc482c379a","typeString":"literal_string \"gardensFactory.getGardensFeeReceiver()\""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":82794,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29549,"src":"20131:7:133","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$29549_$","typeString":"type(library console)"}},"id":82796,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20139:3:133","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":22244,"src":"20131:11:133","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_address_$returns$__$","typeString":"function (string memory,address) view"}},"id":82801,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20131:93:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":82802,"nodeType":"ExpressionStatement","src":"20131:93:133"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":82806,"name":"gardensFactory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82682,"src":"20267:14:133","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryFactory_$85283","typeString":"contract RegistryFactory"}},"id":82807,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20282:21:133","memberName":"getGardensFeeReceiver","nodeType":"MemberAccess","referencedDeclaration":85201,"src":"20267:36:133","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_address_$","typeString":"function () view external returns (address)"}},"id":82808,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20267:38:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":82809,"name":"gardensFeeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82700,"src":"20307:16:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":82803,"name":"gardenToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81539,"src":"20242:11:133","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$57069","typeString":"contract IERC20"}},"id":82805,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20254:12:133","memberName":"safeTransfer","nodeType":"MemberAccess","referencedDeclaration":57163,"src":"20242:24:133","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IERC20_$57069_$_t_address_$_t_uint256_$returns$__$attached_to$_t_contract$_IERC20_$57069_$","typeString":"function (contract IERC20,address,uint256)"}},"id":82810,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20242:82:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":82811,"nodeType":"ExpressionStatement","src":"20242:82:133"}]}},{"eventCall":{"arguments":[{"id":82815,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82669,"src":"20375:7:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":82816,"name":"registerStakeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81519,"src":"20384:19:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":82814,"name":"MemberRegistered","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81264,"src":"20358:16:133","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":82817,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20358:46:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":82818,"nodeType":"EmitStatement","src":"20353:51:133"}]}}]},"functionSelector":"3517aa7d","implemented":true,"kind":"function","modifiers":[{"id":82666,"kind":"modifierInvocation","modifierName":{"id":82665,"name":"nonReentrant","nameLocations":["18555:12:133"],"nodeType":"IdentifierPath","referencedDeclaration":56243,"src":"18555:12:133"},"nodeType":"ModifierInvocation","src":"18555:12:133"}],"name":"stakeAndRegisterMember","nameLocation":"18523:22:133","parameters":{"id":82664,"nodeType":"ParameterList","parameters":[],"src":"18545:2:133"},"returnParameters":{"id":82667,"nodeType":"ParameterList","parameters":[],"src":"18568:0:133"},"scope":83082,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":82871,"nodeType":"FunctionDefinition","src":"20427:467:133","nodes":[],"body":{"id":82870,"nodeType":"Block","src":"20491:403:133","nodes":[],"statements":[{"assignments":[82829],"declarations":[{"constant":false,"id":82829,"mutability":"mutable","name":"gardensFactory","nameLocation":"20517:14:133","nodeType":"VariableDeclaration","scope":82870,"src":"20501:30:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryFactory_$85283","typeString":"contract RegistryFactory"},"typeName":{"id":82828,"nodeType":"UserDefinedTypeName","pathNode":{"id":82827,"name":"RegistryFactory","nameLocations":["20501:15:133"],"nodeType":"IdentifierPath","referencedDeclaration":85283,"src":"20501:15:133"},"referencedDeclaration":85283,"src":"20501:15:133","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryFactory_$85283","typeString":"contract RegistryFactory"}},"visibility":"internal"}],"id":82833,"initialValue":{"arguments":[{"id":82831,"name":"registryFactory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81527,"src":"20550:15:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":82830,"name":"RegistryFactory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85283,"src":"20534:15:133","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_RegistryFactory_$85283_$","typeString":"type(contract RegistryFactory)"}},"id":82832,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20534:32:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryFactory_$85283","typeString":"contract RegistryFactory"}},"nodeType":"VariableDeclarationStatement","src":"20501:65:133"},{"assignments":[82835],"declarations":[{"constant":false,"id":82835,"mutability":"mutable","name":"communityFeeAmount","nameLocation":"20584:18:133","nodeType":"VariableDeclaration","scope":82870,"src":"20576:26:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":82834,"name":"uint256","nodeType":"ElementaryTypeName","src":"20576:7:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":82845,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":82844,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":82838,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":82836,"name":"registerStakeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81519,"src":"20606:19:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":82837,"name":"communityFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81521,"src":"20628:12:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20606:34:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":82839,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"20605:36:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":82842,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"313030","id":82840,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20645:3:133","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":82841,"name":"PRECISION_SCALE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81583,"src":"20651:15:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20645:21:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":82843,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"20644:23:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20605:62:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"20576:91:133"},{"assignments":[82847],"declarations":[{"constant":false,"id":82847,"mutability":"mutable","name":"gardensFeeAmount","nameLocation":"20685:16:133","nodeType":"VariableDeclaration","scope":82870,"src":"20677:24:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":82846,"name":"uint256","nodeType":"ElementaryTypeName","src":"20677:7:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":82863,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":82862,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":82856,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":82848,"name":"registerStakeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81519,"src":"20717:19:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"arguments":[{"arguments":[{"id":82853,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"20777:4:133","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunity_$83082","typeString":"contract RegistryCommunity"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryCommunity_$83082","typeString":"contract RegistryCommunity"}],"id":82852,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"20769:7:133","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":82851,"name":"address","nodeType":"ElementaryTypeName","src":"20769:7:133","typeDescriptions":{}}},"id":82854,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20769:13:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":82849,"name":"gardensFactory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82829,"src":"20739:14:133","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryFactory_$85283","typeString":"contract RegistryFactory"}},"id":82850,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20754:14:133","memberName":"getProtocolFee","nodeType":"MemberAccess","referencedDeclaration":85282,"src":"20739:29:133","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":82855,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20739:44:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20717:66:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":82857,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"20716:68:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":82860,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"313030","id":82858,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20788:3:133","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":82859,"name":"PRECISION_SCALE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81583,"src":"20794:15:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20788:21:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":82861,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"20787:23:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20716:94:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"20677:133:133"},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":82868,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":82866,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":82864,"name":"registerStakeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81519,"src":"20828:19:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":82865,"name":"communityFeeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82835,"src":"20850:18:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20828:40:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":82867,"name":"gardensFeeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82847,"src":"20871:16:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20828:59:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":82826,"id":82869,"nodeType":"Return","src":"20821:66:133"}]},"functionSelector":"28c309e9","implemented":true,"kind":"function","modifiers":[],"name":"getStakeAmountWithFees","nameLocation":"20436:22:133","parameters":{"id":82823,"nodeType":"ParameterList","parameters":[],"src":"20458:2:133"},"returnParameters":{"id":82826,"nodeType":"ParameterList","parameters":[{"constant":false,"id":82825,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":82871,"src":"20482:7:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":82824,"name":"uint256","nodeType":"ElementaryTypeName","src":"20482:7:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"20481:9:133"},"scope":83082,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":82879,"nodeType":"FunctionDefinition","src":"20900:107:133","nodes":[],"body":{"id":82878,"nodeType":"Block","src":"20964:43:133","nodes":[],"statements":[{"expression":{"id":82876,"name":"registerStakeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81519,"src":"20981:19:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":82875,"id":82877,"nodeType":"Return","src":"20974:26:133"}]},"functionSelector":"0331383c","implemented":true,"kind":"function","modifiers":[],"name":"getBasisStakedAmount","nameLocation":"20909:20:133","parameters":{"id":82872,"nodeType":"ParameterList","parameters":[],"src":"20929:2:133"},"returnParameters":{"id":82875,"nodeType":"ParameterList","parameters":[{"constant":false,"id":82874,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":82879,"src":"20955:7:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":82873,"name":"uint256","nodeType":"ElementaryTypeName","src":"20955:7:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"20954:9:133"},"scope":83082,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":82896,"nodeType":"FunctionDefinition","src":"21013:182:133","nodes":[],"body":{"id":82895,"nodeType":"Block","src":"21072:123:133","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":82884,"name":"onlyCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81357,"src":"21082:15:133","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":82885,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21082:17:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":82886,"nodeType":"ExpressionStatement","src":"21082:17:133"},{"expression":{"id":82889,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":82887,"name":"registerStakeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81519,"src":"21109:19:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":82888,"name":"_newAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82881,"src":"21131:10:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"21109:32:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":82890,"nodeType":"ExpressionStatement","src":"21109:32:133"},{"eventCall":{"arguments":[{"id":82892,"name":"_newAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82881,"src":"21177:10:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":82891,"name":"BasisStakedAmountSet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81317,"src":"21156:20:133","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":82893,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21156:32:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":82894,"nodeType":"EmitStatement","src":"21151:37:133"}]},"functionSelector":"31f61bca","implemented":true,"kind":"function","modifiers":[],"name":"setBasisStakedAmount","nameLocation":"21022:20:133","parameters":{"id":82882,"nodeType":"ParameterList","parameters":[{"constant":false,"id":82881,"mutability":"mutable","name":"_newAmount","nameLocation":"21051:10:133","nodeType":"VariableDeclaration","scope":82896,"src":"21043:18:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":82880,"name":"uint256","nodeType":"ElementaryTypeName","src":"21043:7:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"21042:20:133"},"returnParameters":{"id":82883,"nodeType":"ParameterList","parameters":[],"src":"21072:0:133"},"scope":83082,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":82921,"nodeType":"FunctionDefinition","src":"21201:280:133","nodes":[],"body":{"id":82920,"nodeType":"Block","src":"21259:222:133","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":82901,"name":"onlyCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81357,"src":"21269:15:133","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":82902,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21269:17:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":82903,"nodeType":"ExpressionStatement","src":"21269:17:133"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":82906,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":82904,"name":"_newCommunityFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82898,"src":"21300:16:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":82905,"name":"MAX_FEE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81588,"src":"21319:7:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"21300:26:133","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":82911,"nodeType":"IfStatement","src":"21296:86:133","trueBody":{"id":82910,"nodeType":"Block","src":"21328:54:133","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":82907,"name":"NewFeeGreaterThanMax","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81463,"src":"21349:20:133","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":82908,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21349:22:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":82909,"nodeType":"RevertStatement","src":"21342:29:133"}]}},{"expression":{"id":82914,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":82912,"name":"communityFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81521,"src":"21391:12:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":82913,"name":"_newCommunityFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82898,"src":"21406:16:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"21391:31:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":82915,"nodeType":"ExpressionStatement","src":"21391:31:133"},{"eventCall":{"arguments":[{"id":82917,"name":"_newCommunityFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82898,"src":"21457:16:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":82916,"name":"CommunityFeeUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81282,"src":"21437:19:133","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":82918,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21437:37:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":82919,"nodeType":"EmitStatement","src":"21432:42:133"}]},"functionSelector":"0d12bbdb","implemented":true,"kind":"function","modifiers":[],"name":"setCommunityFee","nameLocation":"21210:15:133","parameters":{"id":82899,"nodeType":"ParameterList","parameters":[{"constant":false,"id":82898,"mutability":"mutable","name":"_newCommunityFee","nameLocation":"21234:16:133","nodeType":"VariableDeclaration","scope":82921,"src":"21226:24:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":82897,"name":"uint256","nodeType":"ElementaryTypeName","src":"21226:7:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"21225:26:133"},"returnParameters":{"id":82900,"nodeType":"ParameterList","parameters":[],"src":"21259:0:133"},"scope":83082,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":82934,"nodeType":"FunctionDefinition","src":"21523:132:133","nodes":[],"body":{"id":82933,"nodeType":"Block","src":"21592:63:133","nodes":[],"statements":[{"expression":{"arguments":[{"id":82929,"name":"COUNCIL_MEMBER_CHANGE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81244,"src":"21617:21:133","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":82930,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82923,"src":"21640:7:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":82928,"name":"hasRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55072,"src":"21609:7:133","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) view returns (bool)"}},"id":82931,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21609:39:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":82927,"id":82932,"nodeType":"Return","src":"21602:46:133"}]},"functionSelector":"ebd7dc52","implemented":true,"kind":"function","modifiers":[],"name":"isCouncilMember","nameLocation":"21532:15:133","parameters":{"id":82924,"nodeType":"ParameterList","parameters":[{"constant":false,"id":82923,"mutability":"mutable","name":"_member","nameLocation":"21556:7:133","nodeType":"VariableDeclaration","scope":82934,"src":"21548:15:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":82922,"name":"address","nodeType":"ElementaryTypeName","src":"21548:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"21547:17:133"},"returnParameters":{"id":82927,"nodeType":"ParameterList","parameters":[{"constant":false,"id":82926,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":82934,"src":"21586:4:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":82925,"name":"bool","nodeType":"ElementaryTypeName","src":"21586:4:133","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"21585:6:133"},"scope":83082,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":82984,"nodeType":"FunctionDefinition","src":"21661:453:133","nodes":[],"body":{"id":82983,"nodeType":"Block","src":"21709:405:133","nodes":[],"statements":[{"assignments":[82940],"declarations":[{"constant":false,"id":82940,"mutability":"mutable","name":"_member","nameLocation":"21727:7:133","nodeType":"VariableDeclaration","scope":82983,"src":"21719:15:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":82939,"name":"address","nodeType":"ElementaryTypeName","src":"21719:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":82943,"initialValue":{"expression":{"id":82941,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"21737:3:133","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":82942,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21741:6:133","memberName":"sender","nodeType":"MemberAccess","src":"21737:10:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"21719:28:133"},{"expression":{"arguments":[{"id":82945,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82940,"src":"21783:7:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":82944,"name":"onlyRegistryMemberAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81386,"src":"21757:25:133","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$__$","typeString":"function (address) view"}},"id":82946,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21757:34:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":82947,"nodeType":"ExpressionStatement","src":"21757:34:133"},{"expression":{"arguments":[{"id":82949,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82940,"src":"21825:7:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":82948,"name":"deactivateAllStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83021,"src":"21801:23:133","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":82950,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21801:32:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":82951,"nodeType":"ExpressionStatement","src":"21801:32:133"},{"assignments":[82954],"declarations":[{"constant":false,"id":82954,"mutability":"mutable","name":"member","nameLocation":"21857:6:133","nodeType":"VariableDeclaration","scope":82983,"src":"21843:20:133","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$81482_memory_ptr","typeString":"struct RegistryCommunity.Member"},"typeName":{"id":82953,"nodeType":"UserDefinedTypeName","pathNode":{"id":82952,"name":"Member","nameLocations":["21843:6:133"],"nodeType":"IdentifierPath","referencedDeclaration":81482,"src":"21843:6:133"},"referencedDeclaration":81482,"src":"21843:6:133","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$81482_storage_ptr","typeString":"struct RegistryCommunity.Member"}},"visibility":"internal"}],"id":82958,"initialValue":{"baseExpression":{"id":82955,"name":"addressToMemberInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81564,"src":"21866:19:133","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Member_$81482_storage_$","typeString":"mapping(address => struct RegistryCommunity.Member storage ref)"}},"id":82957,"indexExpression":{"id":82956,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82940,"src":"21886:7:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"21866:28:133","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$81482_storage","typeString":"struct RegistryCommunity.Member storage ref"}},"nodeType":"VariableDeclarationStatement","src":"21843:51:133"},{"expression":{"id":82962,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"21904:35:133","subExpression":{"baseExpression":{"id":82959,"name":"addressToMemberInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81564,"src":"21911:19:133","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Member_$81482_storage_$","typeString":"mapping(address => struct RegistryCommunity.Member storage ref)"}},"id":82961,"indexExpression":{"id":82960,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82940,"src":"21931:7:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"21911:28:133","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$81482_storage","typeString":"struct RegistryCommunity.Member storage ref"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":82963,"nodeType":"ExpressionStatement","src":"21904:35:133"},{"expression":{"id":82967,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"21949:34:133","subExpression":{"baseExpression":{"id":82964,"name":"strategiesByMember","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81569,"src":"21956:18:133","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_address_$dyn_storage_$","typeString":"mapping(address => address[] storage ref)"}},"id":82966,"indexExpression":{"id":82965,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82940,"src":"21975:7:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"21956:27:133","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[] storage ref"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":82968,"nodeType":"ExpressionStatement","src":"21949:34:133"},{"expression":{"arguments":[{"id":82972,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82940,"src":"22015:7:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":82973,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82954,"src":"22024:6:133","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$81482_memory_ptr","typeString":"struct RegistryCommunity.Member memory"}},"id":82974,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"22031:12:133","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":81479,"src":"22024:19:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":82969,"name":"gardenToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81539,"src":"21994:11:133","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$57069","typeString":"contract IERC20"}},"id":82971,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22006:8:133","memberName":"transfer","nodeType":"MemberAccess","referencedDeclaration":57036,"src":"21994:20:133","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) external returns (bool)"}},"id":82975,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21994:50:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":82976,"nodeType":"ExpressionStatement","src":"21994:50:133"},{"eventCall":{"arguments":[{"id":82978,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82940,"src":"22078:7:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":82979,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82954,"src":"22087:6:133","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$81482_memory_ptr","typeString":"struct RegistryCommunity.Member memory"}},"id":82980,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"22094:12:133","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":81479,"src":"22087:19:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":82977,"name":"MemberUnregistered","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81270,"src":"22059:18:133","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":82981,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22059:48:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":82982,"nodeType":"EmitStatement","src":"22054:53:133"}]},"functionSelector":"b99b4370","implemented":true,"kind":"function","modifiers":[{"id":82937,"kind":"modifierInvocation","modifierName":{"id":82936,"name":"nonReentrant","nameLocations":["21696:12:133"],"nodeType":"IdentifierPath","referencedDeclaration":56243,"src":"21696:12:133"},"nodeType":"ModifierInvocation","src":"21696:12:133"}],"name":"unregisterMember","nameLocation":"21670:16:133","parameters":{"id":82935,"nodeType":"ParameterList","parameters":[],"src":"21686:2:133"},"returnParameters":{"id":82938,"nodeType":"ParameterList","parameters":[],"src":"21709:0:133"},"scope":83082,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":83021,"nodeType":"FunctionDefinition","src":"22120:466:133","nodes":[],"body":{"id":83020,"nodeType":"Block","src":"22179:407:133","nodes":[],"statements":[{"assignments":[82993],"declarations":[{"constant":false,"id":82993,"mutability":"mutable","name":"memberStrategies","nameLocation":"22206:16:133","nodeType":"VariableDeclaration","scope":83020,"src":"22189:33:133","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":82991,"name":"address","nodeType":"ElementaryTypeName","src":"22189:7:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":82992,"nodeType":"ArrayTypeName","src":"22189:9:133","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"id":82997,"initialValue":{"baseExpression":{"id":82994,"name":"strategiesByMember","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81569,"src":"22225:18:133","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_address_$dyn_storage_$","typeString":"mapping(address => address[] storage ref)"}},"id":82996,"indexExpression":{"id":82995,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82986,"src":"22244:7:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"22225:27:133","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[] storage ref"}},"nodeType":"VariableDeclarationStatement","src":"22189:63:133"},{"body":{"id":83018,"nodeType":"Block","src":"22382:198:133","statements":[{"expression":{"arguments":[{"id":83015,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82986,"src":"22561:7:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"arguments":[{"baseExpression":{"id":83010,"name":"memberStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82993,"src":"22523:16:133","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":83012,"indexExpression":{"id":83011,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82999,"src":"22540:1:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"22523:19:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":83009,"name":"IPointStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74722,"src":"22508:14:133","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IPointStrategy_$74722_$","typeString":"type(contract IPointStrategy)"}},"id":83013,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22508:35:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IPointStrategy_$74722","typeString":"contract IPointStrategy"}},"id":83014,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22544:16:133","memberName":"deactivatePoints","nodeType":"MemberAccess","referencedDeclaration":74697,"src":"22508:52:133","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":83016,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22508:61:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":83017,"nodeType":"ExpressionStatement","src":"22508:61:133"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":83005,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":83002,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82999,"src":"22348:1:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":83003,"name":"memberStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82993,"src":"22352:16:133","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":83004,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22369:6:133","memberName":"length","nodeType":"MemberAccess","src":"22352:23:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"22348:27:133","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":83019,"initializationExpression":{"assignments":[82999],"declarations":[{"constant":false,"id":82999,"mutability":"mutable","name":"i","nameLocation":"22341:1:133","nodeType":"VariableDeclaration","scope":83019,"src":"22333:9:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":82998,"name":"uint256","nodeType":"ElementaryTypeName","src":"22333:7:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":83001,"initialValue":{"hexValue":"30","id":83000,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22345:1:133","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"22333:13:133"},"loopExpression":{"expression":{"id":83007,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"22377:3:133","subExpression":{"id":83006,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82999,"src":"22377:1:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":83008,"nodeType":"ExpressionStatement","src":"22377:3:133"},"nodeType":"ForStatement","src":"22328:252:133"}]},"implemented":true,"kind":"function","modifiers":[],"name":"deactivateAllStrategies","nameLocation":"22129:23:133","parameters":{"id":82987,"nodeType":"ParameterList","parameters":[{"constant":false,"id":82986,"mutability":"mutable","name":"_member","nameLocation":"22161:7:133","nodeType":"VariableDeclaration","scope":83021,"src":"22153:15:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":82985,"name":"address","nodeType":"ElementaryTypeName","src":"22153:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"22152:17:133"},"returnParameters":{"id":82988,"nodeType":"ParameterList","parameters":[],"src":"22179:0:133"},"scope":83082,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":83081,"nodeType":"FunctionDefinition","src":"22592:571:133","nodes":[],"body":{"id":83080,"nodeType":"Block","src":"22675:488:133","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":83030,"name":"onlyCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81357,"src":"22685:15:133","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":83031,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22685:17:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":83032,"nodeType":"ExpressionStatement","src":"22685:17:133"},{"condition":{"id":83034,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"22716:14:133","subExpression":{"id":83033,"name":"isKickEnabled","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81517,"src":"22717:13:133","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":83039,"nodeType":"IfStatement","src":"22712:68:133","trueBody":{"id":83038,"nodeType":"Block","src":"22732:48:133","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":83035,"name":"KickNotEnabled","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81465,"src":"22753:14:133","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":83036,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22753:16:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":83037,"nodeType":"RevertStatement","src":"22746:23:133"}]}},{"condition":{"id":83043,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"22793:18:133","subExpression":{"arguments":[{"id":83041,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83023,"src":"22803:7:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":83040,"name":"isMember","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82663,"src":"22794:8:133","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":83042,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22794:17:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":83048,"nodeType":"IfStatement","src":"22789:75:133","trueBody":{"id":83047,"nodeType":"Block","src":"22813:51:133","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":83044,"name":"UserNotInRegistry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81443,"src":"22834:17:133","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":83045,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22834:19:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":83046,"nodeType":"RevertStatement","src":"22827:26:133"}]}},{"assignments":[83051],"declarations":[{"constant":false,"id":83051,"mutability":"mutable","name":"member","nameLocation":"22887:6:133","nodeType":"VariableDeclaration","scope":83080,"src":"22873:20:133","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$81482_memory_ptr","typeString":"struct RegistryCommunity.Member"},"typeName":{"id":83050,"nodeType":"UserDefinedTypeName","pathNode":{"id":83049,"name":"Member","nameLocations":["22873:6:133"],"nodeType":"IdentifierPath","referencedDeclaration":81482,"src":"22873:6:133"},"referencedDeclaration":81482,"src":"22873:6:133","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$81482_storage_ptr","typeString":"struct RegistryCommunity.Member"}},"visibility":"internal"}],"id":83055,"initialValue":{"baseExpression":{"id":83052,"name":"addressToMemberInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81564,"src":"22896:19:133","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Member_$81482_storage_$","typeString":"mapping(address => struct RegistryCommunity.Member storage ref)"}},"id":83054,"indexExpression":{"id":83053,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83023,"src":"22916:7:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"22896:28:133","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$81482_storage","typeString":"struct RegistryCommunity.Member storage ref"}},"nodeType":"VariableDeclarationStatement","src":"22873:51:133"},{"expression":{"arguments":[{"id":83057,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83023,"src":"22958:7:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":83056,"name":"deactivateAllStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83021,"src":"22934:23:133","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":83058,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22934:32:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":83059,"nodeType":"ExpressionStatement","src":"22934:32:133"},{"expression":{"id":83063,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"22976:35:133","subExpression":{"baseExpression":{"id":83060,"name":"addressToMemberInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81564,"src":"22983:19:133","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Member_$81482_storage_$","typeString":"mapping(address => struct RegistryCommunity.Member storage ref)"}},"id":83062,"indexExpression":{"id":83061,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83023,"src":"23003:7:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"22983:28:133","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$81482_storage","typeString":"struct RegistryCommunity.Member storage ref"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":83064,"nodeType":"ExpressionStatement","src":"22976:35:133"},{"expression":{"arguments":[{"id":83068,"name":"_transferAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83025,"src":"23043:16:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":83069,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83051,"src":"23061:6:133","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$81482_memory_ptr","typeString":"struct RegistryCommunity.Member memory"}},"id":83070,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"23068:12:133","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":81479,"src":"23061:19:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":83065,"name":"gardenToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81539,"src":"23022:11:133","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$57069","typeString":"contract IERC20"}},"id":83067,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23034:8:133","memberName":"transfer","nodeType":"MemberAccess","referencedDeclaration":57036,"src":"23022:20:133","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) external returns (bool)"}},"id":83071,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23022:59:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":83072,"nodeType":"ExpressionStatement","src":"23022:59:133"},{"eventCall":{"arguments":[{"id":83074,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83023,"src":"23109:7:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":83075,"name":"_transferAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83025,"src":"23118:16:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":83076,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83051,"src":"23136:6:133","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$81482_memory_ptr","typeString":"struct RegistryCommunity.Member memory"}},"id":83077,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"23143:12:133","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":81479,"src":"23136:19:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":83073,"name":"MemberKicked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81278,"src":"23096:12:133","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":83078,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23096:60:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":83079,"nodeType":"EmitStatement","src":"23091:65:133"}]},"functionSelector":"6871eb4d","implemented":true,"kind":"function","modifiers":[{"id":83028,"kind":"modifierInvocation","modifierName":{"id":83027,"name":"nonReentrant","nameLocations":["22662:12:133"],"nodeType":"IdentifierPath","referencedDeclaration":56243,"src":"22662:12:133"},"nodeType":"ModifierInvocation","src":"22662:12:133"}],"name":"kickMember","nameLocation":"22601:10:133","parameters":{"id":83026,"nodeType":"ParameterList","parameters":[{"constant":false,"id":83023,"mutability":"mutable","name":"_member","nameLocation":"22620:7:133","nodeType":"VariableDeclaration","scope":83081,"src":"22612:15:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":83022,"name":"address","nodeType":"ElementaryTypeName","src":"22612:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":83025,"mutability":"mutable","name":"_transferAddress","nameLocation":"22637:16:133","nodeType":"VariableDeclaration","scope":83081,"src":"22629:24:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":83024,"name":"address","nodeType":"ElementaryTypeName","src":"22629:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"22611:43:133"},"returnParameters":{"id":83029,"nodeType":"ParameterList","parameters":[],"src":"22675:0:133"},"scope":83082,"stateMutability":"nonpayable","virtual":false,"visibility":"public"}],"abstract":false,"baseContracts":[{"baseName":{"id":81223,"name":"ReentrancyGuard","nameLocations":["1671:15:133"],"nodeType":"IdentifierPath","referencedDeclaration":56278,"src":"1671:15:133"},"id":81224,"nodeType":"InheritanceSpecifier","src":"1671:15:133"},{"baseName":{"id":81225,"name":"AccessControl","nameLocations":["1688:13:133"],"nodeType":"IdentifierPath","referencedDeclaration":55308,"src":"1688:13:133"},"id":81226,"nodeType":"InheritanceSpecifier","src":"1688:13:133"}],"canonicalName":"RegistryCommunity","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[83082,55308,58266,58472,55381,57903,56278],"name":"RegistryCommunity","nameLocation":"1650:17:133","scope":83083,"usedErrors":[81437,81439,81441,81443,81445,81447,81449,81451,81453,81455,81457,81459,81461,81463,81465,81467,81469,81475]}],"license":"AGPL-3.0-only"},"id":133} \ No newline at end of file diff --git a/pkg/contracts/out/RegistryCommunity.sol/RegistryCommunity.json b/pkg/contracts/out/RegistryCommunity.sol/RegistryCommunity.json index 533211ae5..9ea563bab 100644 --- a/pkg/contracts/out/RegistryCommunity.sol/RegistryCommunity.json +++ b/pkg/contracts/out/RegistryCommunity.sol/RegistryCommunity.json @@ -1,27987 +1 @@ -{ - "abi": [ - { - "type": "constructor", - "inputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "COUNCIL_MEMBER_CHANGE", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "DEFAULT_ADMIN_ROLE", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "MAX_FEE", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "NATIVE", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "PRECISION_SCALE", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "acceptCouncilSafe", - "inputs": [], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "activateMemberInStrategy", - "inputs": [ - { - "name": "_member", - "type": "address", - "internalType": "address" - }, - { - "name": "_strategy", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "addStrategy", - "inputs": [ - { - "name": "_newStrategy", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "addStrategyByPoolId", - "inputs": [ - { - "name": "poolId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "addressToMemberInfo", - "inputs": [ - { - "name": "member", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "member", - "type": "address", - "internalType": "address" - }, - { - "name": "stakedAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "isRegistered", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "allo", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract FAllo" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "cloneNonce", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "communityFee", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "communityName", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "councilSafe", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract ISafe" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "covenantIpfsHash", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "string", - "internalType": "string" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "createPool", - "inputs": [ - { - "name": "_token", - "type": "address", - "internalType": "address" - }, - { - "name": "_params", - "type": "tuple", - "internalType": "struct StrategyStruct.InitializeParams", - "components": [ - { - "name": "registryCommunity", - "type": "address", - "internalType": "address" - }, - { - "name": "decay", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "maxRatio", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "weight", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minThresholdPoints", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "proposalType", - "type": "uint8", - "internalType": "enum StrategyStruct.ProposalType" - }, - { - "name": "pointSystem", - "type": "uint8", - "internalType": "enum StrategyStruct.PointSystem" - }, - { - "name": "pointConfig", - "type": "tuple", - "internalType": "struct StrategyStruct.PointSystemConfig", - "components": [ - { - "name": "maxAmount", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "name": "sybilScorer", - "type": "address", - "internalType": "address" - } - ] - }, - { - "name": "_metadata", - "type": "tuple", - "internalType": "struct Metadata", - "components": [ - { - "name": "protocol", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "pointer", - "type": "string", - "internalType": "string" - } - ] - } - ], - "outputs": [ - { - "name": "poolId", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "strategy", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "createPool", - "inputs": [ - { - "name": "_strategy", - "type": "address", - "internalType": "address" - }, - { - "name": "_token", - "type": "address", - "internalType": "address" - }, - { - "name": "_params", - "type": "tuple", - "internalType": "struct StrategyStruct.InitializeParams", - "components": [ - { - "name": "registryCommunity", - "type": "address", - "internalType": "address" - }, - { - "name": "decay", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "maxRatio", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "weight", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "minThresholdPoints", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "proposalType", - "type": "uint8", - "internalType": "enum StrategyStruct.ProposalType" - }, - { - "name": "pointSystem", - "type": "uint8", - "internalType": "enum StrategyStruct.PointSystem" - }, - { - "name": "pointConfig", - "type": "tuple", - "internalType": "struct StrategyStruct.PointSystemConfig", - "components": [ - { - "name": "maxAmount", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "name": "sybilScorer", - "type": "address", - "internalType": "address" - } - ] - }, - { - "name": "_metadata", - "type": "tuple", - "internalType": "struct Metadata", - "components": [ - { - "name": "protocol", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "pointer", - "type": "string", - "internalType": "string" - } - ] - } - ], - "outputs": [ - { - "name": "poolId", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "strategy", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "deactivateMemberInStrategy", - "inputs": [ - { - "name": "_member", - "type": "address", - "internalType": "address" - }, - { - "name": "_strategy", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "decreasePower", - "inputs": [ - { - "name": "_amountUnstaked", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "enabledStrategies", - "inputs": [ - { - "name": "strategy", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "isEnabled", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "feeReceiver", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "gardenToken", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract IERC20" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getBasisStakedAmount", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getMemberPowerInStrategy", - "inputs": [ - { - "name": "_member", - "type": "address", - "internalType": "address" - }, - { - "name": "_strategy", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getMemberStakedAmount", - "inputs": [ - { - "name": "_member", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getRoleAdmin", - "inputs": [ - { - "name": "role", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getStakeAmountWithFees", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "grantRole", - "inputs": [ - { - "name": "role", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "hasRole", - "inputs": [ - { - "name": "role", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "increasePower", - "inputs": [ - { - "name": "_amountStaked", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "initialize", - "inputs": [ - { - "name": "params", - "type": "tuple", - "internalType": "struct RegistryCommunity.InitializeParams", - "components": [ - { - "name": "_allo", - "type": "address", - "internalType": "address" - }, - { - "name": "_gardenToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "_registerStakeAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_communityFee", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_nonce", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_registryFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "_feeReceiver", - "type": "address", - "internalType": "address" - }, - { - "name": "_metadata", - "type": "tuple", - "internalType": "struct Metadata", - "components": [ - { - "name": "protocol", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "pointer", - "type": "string", - "internalType": "string" - } - ] - }, - { - "name": "_councilSafe", - "type": "address", - "internalType": "address payable" - }, - { - "name": "_communityName", - "type": "string", - "internalType": "string" - }, - { - "name": "_isKickEnabled", - "type": "bool", - "internalType": "bool" - }, - { - "name": "covenantIpfsHash", - "type": "string", - "internalType": "string" - }, - { - "name": "_strategyTemplate", - "type": "address", - "internalType": "address" - } - ] - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "isCouncilMember", - "inputs": [ - { - "name": "_member", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isKickEnabled", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isMember", - "inputs": [ - { - "name": "_member", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "_isMember", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "kickMember", - "inputs": [ - { - "name": "_member", - "type": "address", - "internalType": "address" - }, - { - "name": "_transferAddress", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "memberActivatedInStrategies", - "inputs": [ - { - "name": "member", - "type": "address", - "internalType": "address" - }, - { - "name": "strategy", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "isActivated", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "memberPowerInStrategy", - "inputs": [ - { - "name": "strategy", - "type": "address", - "internalType": "address" - }, - { - "name": "member", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "power", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "pendingCouncilSafe", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address payable" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "profileId", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "bytes32", - "internalType": "bytes32" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "registerStakeAmount", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "registry", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "contract IRegistry" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "registryFactory", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "removeStrategy", - "inputs": [ - { - "name": "_strategy", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "removeStrategyByPoolId", - "inputs": [ - { - "name": "poolId", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "renounceRole", - "inputs": [ - { - "name": "role", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "revokeRole", - "inputs": [ - { - "name": "role", - "type": "bytes32", - "internalType": "bytes32" - }, - { - "name": "account", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setBasisStakedAmount", - "inputs": [ - { - "name": "_newAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setCommunityFee", - "inputs": [ - { - "name": "_newCommunityFee", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setCouncilSafe", - "inputs": [ - { - "name": "_safe", - "type": "address", - "internalType": "address payable" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "stakeAndRegisterMember", - "inputs": [], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "strategiesByMember", - "inputs": [ - { - "name": "member", - "type": "address", - "internalType": "address" - }, - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [ - { - "name": "strategiesAddresses", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "strategyTemplate", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "supportsInterface", - "inputs": [ - { - "name": "interfaceId", - "type": "bytes4", - "internalType": "bytes4" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "unregisterMember", - "inputs": [], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "event", - "name": "AlloSet", - "inputs": [ - { - "name": "_allo", - "type": "address", - "indexed": false, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "BasisStakedAmountSet", - "inputs": [ - { - "name": "_newAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CommunityFeeUpdated", - "inputs": [ - { - "name": "_newFee", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CouncilSafeChangeStarted", - "inputs": [ - { - "name": "_safeOwner", - "type": "address", - "indexed": false, - "internalType": "address" - }, - { - "name": "_newSafeOwner", - "type": "address", - "indexed": false, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CouncilSafeSet", - "inputs": [ - { - "name": "_safe", - "type": "address", - "indexed": false, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "MemberActivatedStrategy", - "inputs": [ - { - "name": "_member", - "type": "address", - "indexed": false, - "internalType": "address" - }, - { - "name": "_strategy", - "type": "address", - "indexed": false, - "internalType": "address" - }, - { - "name": "_pointsToIncrease", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "MemberDeactivatedStrategy", - "inputs": [ - { - "name": "_member", - "type": "address", - "indexed": false, - "internalType": "address" - }, - { - "name": "_strategy", - "type": "address", - "indexed": false, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "MemberKicked", - "inputs": [ - { - "name": "_member", - "type": "address", - "indexed": false, - "internalType": "address" - }, - { - "name": "_transferAddress", - "type": "address", - "indexed": false, - "internalType": "address" - }, - { - "name": "_amountReturned", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "MemberPowerDecreased", - "inputs": [ - { - "name": "_member", - "type": "address", - "indexed": false, - "internalType": "address" - }, - { - "name": "_unstakedAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "MemberPowerIncreased", - "inputs": [ - { - "name": "_member", - "type": "address", - "indexed": false, - "internalType": "address" - }, - { - "name": "_stakedAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "MemberRegistered", - "inputs": [ - { - "name": "_member", - "type": "address", - "indexed": false, - "internalType": "address" - }, - { - "name": "_amountStaked", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "MemberUnregistered", - "inputs": [ - { - "name": "_member", - "type": "address", - "indexed": false, - "internalType": "address" - }, - { - "name": "_amountReturned", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "PoolCreated", - "inputs": [ - { - "name": "_poolId", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "_strategy", - "type": "address", - "indexed": false, - "internalType": "address" - }, - { - "name": "_community", - "type": "address", - "indexed": false, - "internalType": "address" - }, - { - "name": "_token", - "type": "address", - "indexed": false, - "internalType": "address" - }, - { - "name": "_metadata", - "type": "tuple", - "indexed": false, - "internalType": "struct Metadata", - "components": [ - { - "name": "protocol", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "pointer", - "type": "string", - "internalType": "string" - } - ] - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RegistryInitialized", - "inputs": [ - { - "name": "_profileId", - "type": "bytes32", - "indexed": false, - "internalType": "bytes32" - }, - { - "name": "_communityName", - "type": "string", - "indexed": false, - "internalType": "string" - }, - { - "name": "_metadata", - "type": "tuple", - "indexed": false, - "internalType": "struct Metadata", - "components": [ - { - "name": "protocol", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "pointer", - "type": "string", - "internalType": "string" - } - ] - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RoleAdminChanged", - "inputs": [ - { - "name": "role", - "type": "bytes32", - "indexed": true, - "internalType": "bytes32" - }, - { - "name": "previousAdminRole", - "type": "bytes32", - "indexed": true, - "internalType": "bytes32" - }, - { - "name": "newAdminRole", - "type": "bytes32", - "indexed": true, - "internalType": "bytes32" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RoleGranted", - "inputs": [ - { - "name": "role", - "type": "bytes32", - "indexed": true, - "internalType": "bytes32" - }, - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "sender", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RoleRevoked", - "inputs": [ - { - "name": "role", - "type": "bytes32", - "indexed": true, - "internalType": "bytes32" - }, - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "sender", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "StrategyAdded", - "inputs": [ - { - "name": "_strategy", - "type": "address", - "indexed": false, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "StrategyRemoved", - "inputs": [ - { - "name": "_strategy", - "type": "address", - "indexed": false, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "AddressCannotBeZero", - "inputs": [] - }, - { - "type": "error", - "name": "CantDecreaseMoreThanPower", - "inputs": [ - { - "name": "_decreaseAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_currentPower", - "type": "uint256", - "internalType": "uint256" - } - ] - }, - { - "type": "error", - "name": "DecreaseUnderMinimum", - "inputs": [] - }, - { - "type": "error", - "name": "KickNotEnabled", - "inputs": [] - }, - { - "type": "error", - "name": "NewFeeGreaterThanMax", - "inputs": [] - }, - { - "type": "error", - "name": "PointsDeactivated", - "inputs": [] - }, - { - "type": "error", - "name": "RegistryCannotBeZero", - "inputs": [] - }, - { - "type": "error", - "name": "SenderNotNewOwner", - "inputs": [] - }, - { - "type": "error", - "name": "SenderNotStrategy", - "inputs": [] - }, - { - "type": "error", - "name": "StrategyDisabled", - "inputs": [] - }, - { - "type": "error", - "name": "StrategyExists", - "inputs": [] - }, - { - "type": "error", - "name": "UserAlreadyActivated", - "inputs": [] - }, - { - "type": "error", - "name": "UserAlreadyDeactivated", - "inputs": [] - }, - { - "type": "error", - "name": "UserAlreadyRegistered", - "inputs": [] - }, - { - "type": "error", - "name": "UserNotGardenOwner", - "inputs": [] - }, - { - "type": "error", - "name": "UserNotInCouncil", - "inputs": [] - }, - { - "type": "error", - "name": "UserNotInRegistry", - "inputs": [] - }, - { - "type": "error", - "name": "ValueCannotBeZero", - "inputs": [] - } - ], - "bytecode": { - "object": "0x60806040523480156200001157600080fd5b506001600090815562000046907fbc6bbe35ebc64943402c04d2ae016d7bd2bba28e1a11cf66be743c9bd74c720b906200004c565b62000099565b6000828152600160208190526040808320909101805490849055905190918391839186917fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff9190a4505050565b61465580620000a96000396000f3fe608060405234801561001057600080fd5b506004361061036d5760003560e01c80636c53db9a116101d3578063a230c52411610104578063d547741f116100a2578063db61d65c1161007c578063db61d65c1461086c578063ebd7dc521461087f578063f86c5f8914610892578063ff6409ef146108a557600080fd5b8063d547741f1461083d578063d6d8428d14610850578063d7050f071461086357600080fd5b8063b64e39af116100de578063b64e39af14610810578063b99b437014610825578063bc063e1a1461082d578063c6d572ae1461083557600080fd5b8063a230c5241461079e578063b3f00674146107f5578063b5058c501461080857600080fd5b80638961be6b1161017157806397991cfa1161014b57806397991cfa14610724578063a0b21cdf14610754578063a0cf0aea1461077b578063a217fddf1461079657600080fd5b80638961be6b146106cf57806391d14854146106d857806396f0adec1461071157600080fd5b806378a0b8a9116101ad57806378a0b8a91461063d5780637b1039991461064657806382d6a1e71461065957806388cfe6841461066c57600080fd5b80636c53db9a146105de57806373265c37146105f15780637817ee4f1461060457600080fd5b80632f2ff15d116102ad578063477a5cc01161024b5780635ecf71c5116102255780635ecf71c51461057a57806365e3864c1461058d5780636871eb4d146105b857806368decabb146105cb57600080fd5b8063477a5cc014610526578063559de05d146105545780635c94e4d21461056757600080fd5b80633517aa7d116102875780633517aa7d146104d557806336568abe146104dd578063397e2543146104f05780633a871fe11461050357600080fd5b80632f2ff15d146104a657806331f61bca146104b957806333960459146104cc57600080fd5b80631f787d281161031a578063248a9ca3116102f4578063248a9ca31461042357806328c309e9146104475780632b38c69c1461044f5780632c611c4a1461047a57600080fd5b80631f787d28146103f0578063223e5479146103fd57806322bcf9991461041057600080fd5b80630d12bbdb1161034b5780630d12bbdb146103b55780630d4a8b49146103ca578063175188e8146103dd57600080fd5b806301ffc9a7146103725780630331383c1461039a57806308386eba146103ac575b600080fd5b61038561038036600461377d565b6108b8565b60405190151581526020015b60405180910390f35b6003545b604051908152602001610391565b61039e60055481565b6103c86103c33660046137a7565b610908565b005b6103c86103d83660046137e5565b610992565b6103c86103eb36600461381e565b610cf9565b6002546103859060ff1681565b6103c861040b36600461381e565b610d0d565b6103c861041e3660046137e5565b610d1e565b61039e6104313660046137a7565b6000908152600160208190526040909120015490565b61039e610e2d565b61046261045d36600461383b565b610f17565b6040516001600160a01b039091168152602001610391565b61039e61048836600461381e565b6001600160a01b031660009081526013602052604090206001015490565b6103c86104b4366004613867565b610f4f565b6103c86104c73660046137a7565b610f7a565b61039e60095481565b6103c8610fb7565b6103c86104eb366004613867565b6113bc565b6103c86104fe36600461381e565b61144d565b61038561051136600461381e565b60116020526000908152604090205460ff1681565b6103856105343660046137e5565b601560209081526000928352604080842090915290825290205460ff1681565b6103c86105623660046137a7565b6114ba565b600854610462906001600160a01b031681565b6103c86105883660046137a7565b611794565b61039e61059b3660046137e5565b601260209081526000928352604080842090915290825290205481565b6103c86105c63660046137e5565b611b4e565b600a54610462906001600160a01b031681565b600d54610462906001600160a01b031681565b6103c86105ff3660046137a7565b611d59565b61039e6106123660046137e5565b6001600160a01b03918216600090815260126020908152604080832093909416825291909152205490565b61039e60035481565b600b54610462906001600160a01b031681565b6103c86106673660046137a7565b611deb565b6106a861067a36600461381e565b6013602052600090815260409020805460018201546002909201546001600160a01b03909116919060ff1683565b604080516001600160a01b0390941684526020840192909252151590820152606001610391565b61039e60045481565b6103856106e6366004613867565b60009182526001602090815260408084206001600160a01b0393909316845291905290205460ff1690565b6103c861071f366004613a50565b611e9c565b610737610732366004613cab565b612388565b604080519283526001600160a01b03909116602083015201610391565b61039e7fbc6bbe35ebc64943402c04d2ae016d7bd2bba28e1a11cf66be743c9bd74c720b81565b61046273eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b61039e600081565b6103856107ac36600461381e565b6001600160a01b039081166000908152601360209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff161515910181905290565b600654610462906001600160a01b031681565b6103c86123d2565b61081861241e565b6040516103919190613d5e565b6103c86124ac565b61039e61260f565b61081861261f565b6103c861084b366004613867565b61262c565b600e54610462906001600160a01b031681565b61039e61271081565b600c54610462906001600160a01b031681565b61038561088d36600461381e565b612652565b600754610462906001600160a01b031681565b6107376108b3366004613d71565b612692565b60006001600160e01b031982167f7965db0b00000000000000000000000000000000000000000000000000000000148061090257506301ffc9a760e01b6001600160e01b03198316145b92915050565b610910612811565b61091d612710600a613dfd565b811115610956576040517ffe925f7d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60048190556040518181527f611668bfcf654a99c33cdb66c29ec37a5aae5c1287d2d9715a24e18cb4d806d6906020015b60405180910390a150565b61099b82612879565b6109a4816128dc565b6109ad8161292e565b6001600160a01b0380831660009081526015602090815260408083209385168352929052205460ff1615610a0d576040517fd5b9bc9600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0380831660009081526013602090815260409182902082516060810184528154909416845260018101549184018290526002015460ff161515918301919091526003805490846001600160a01b031663c32921716040518163ffffffff1660e01b81526004016020604051808303816000875af1158015610a99573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610abd9190613e2a565b6003811115610ace57610ace613e14565b03610b4d5760405163782aadff60e01b81526001600160a01b0386811660048301526000602483015285169063782aadff906044016020604051808303816000875af1158015610b22573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b469190613e47565b9050610c3f565b6000846001600160a01b031663c32921716040518163ffffffff1660e01b81526004016020604051808303816000875af1158015610b8f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bb39190613e2a565b6003811115610bc457610bc4613e14565b14610c3f5760405163782aadff60e01b81526001600160a01b0386811660048301526024820184905285169063782aadff906044016020604051808303816000875af1158015610c18573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c3c9190613e47565b90505b6001600160a01b038581166000818152601260209081526040808320948916808452948252808320869055838352601582528083208584528252808320805460ff19166001908117909155848452601483528184208054918201815584529282902090920180546001600160a01b0319168517905581519283528201929092529081018290527ff56fa57e85e169a12200d12d9921ec069b52e688f6d309d9dab7bceff54614ec9060600160405180910390a15050505050565b610d01612811565b610d0a8161296e565b50565b610d15612811565b610d0a816129c8565b610d2782612879565b610d308161292e565b610d3a3382612a6f565b6001600160a01b0380831660009081526015602090815260408083209385168352929052205460ff16610d99576040517fc12369dc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038083166000818152601560209081526040808320948616808452948252808320805460ff191690559282526012815282822093825292909252812055610de78282612aba565b604080516001600160a01b038085168252831660208201527ede109bef4619f7e2cf00c8e5a50ca55f8deb44f87087eed414a91dbf8d1d1b910160405180910390a15050565b6007546000906001600160a01b031681610e4a6127106064613dfd565b600454600354610e5a9190613dfd565b610e649190613e60565b90506000610e756127106064613dfd565b6040516302a64b8360e21b81523060048201526001600160a01b03851690630a992e0c90602401602060405180830381865afa158015610eb9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610edd9190613e47565b600354610eea9190613dfd565b610ef49190613e60565b90508082600354610f059190613e82565b610f0f9190613e82565b935050505090565b60146020528160005260406000208181548110610f3357600080fd5b6000918252602090912001546001600160a01b03169150829050565b60008281526001602081905260409091200154610f6b81612bdc565b610f758383612be6565b505050565b610f82612811565b60038190556040518181527f5bcc2c453001fb0e2ba6266d56ecb411e7c6e15c8f9c3d301f93dd36ad25726f90602001610987565b610fbf612c6d565b33600081815260136020526040812060075490916001600160a01b0390911690610fec6127106064613dfd565b600454600354610ffc9190613dfd565b6110069190613e60565b905060006110176127106064613dfd565b6040516302a64b8360e21b81523060048201526001600160a01b03851690630a992e0c90602401602060405180830381865afa15801561105b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061107f9190613e47565b60035461108c9190613dfd565b6110969190613e60565b6001600160a01b038087166000908152601360209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff16151591018190529091506113ab5760028401805460ff191660019081179091556003549085015560408051808201909152600b81527f67617264656e546f6b656e0000000000000000000000000000000000000000006020820152600c5461114691906001600160a01b0316612cc6565b6111788530838560035461115a9190613e82565b6111649190613e82565b600c546001600160a01b0316929190612d24565b6111b76040518060400160405280601281526020017f636f6d6d756e697479466565416d6f756e74000000000000000000000000000081525083612da8565b81156112245760408051808201909152600b81527f6665655265636569766572000000000000000000000000000000000000000000602082015260065461120791906001600160a01b0316612cc6565b600654600c54611224916001600160a01b03918216911684612e06565b6112636040518060400160405280601081526020017f67617264656e73466565416d6f756e740000000000000000000000000000000081525082612da8565b8015611364576112ec6040518060600160405280602681526020016145fa60269139846001600160a01b031663987435be6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112c3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112e79190613e95565b612cc6565b611364836001600160a01b031663987435be6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561132d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113519190613e95565b600c546001600160a01b03169083612e06565b600354604080516001600160a01b038816815260208101929092527f67e0244e28040fec15240cd4b6c04c776a2a0278caef23b59e8ada1df31f7689910160405180910390a15b50505050506113ba6001600055565b565b6001600160a01b038116331461143f5760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201527f20726f6c657320666f722073656c66000000000000000000000000000000000060648201526084015b60405180910390fd5b6114498282612e36565b5050565b611455612811565b61145e8161292e565b600a80546001600160a01b0319166001600160a01b03838116918217909255600d546040805191909316815260208101919091527f83eac9fdaff0ac1017624b7eddeb9782e3d707cd894073cb7e8301a41c6e5cf89101610987565b6114c2612c6d565b6114ca612eb9565b3360008181526014602090815260408083208054825181850281018501909352808352919290919083018282801561152b57602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831161150d575b50505050509050600080600090505b82518110156116fb5782818151811061155557611555613eb2565b602090810291909101015160405163782aadff60e01b81526001600160a01b038681166004830152602482018890529091169063782aadff906044016020604051808303816000875af11580156115b0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115d49190613e47565b915081156116e9576001600160a01b0384166000908152601260205260408120845184929086908590811061160b5761160b613eb2565b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060008282546116429190613e82565b925050819055506116e96040518060400160405280600e81526020017f537472617465677920706f77657200000000000000000000000000000000000081525060126000876001600160a01b03166001600160a01b0316815260200190815260200160002060008685815181106116bb576116bb613eb2565b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002054612da8565b806116f381613ec8565b91505061153a565b50600c54611714906001600160a01b0316843087612d24565b6001600160a01b0383166000908152601360205260408120600101805486929061173f908490613e82565b9091555050604080516001600160a01b0385168152602081018690527f576605f9bfe8911e7508bed3763c7c5c8eb3b86e8b360b90a4bc6abe1104cb7f91015b60405180910390a1505050610d0a6001600055565b61179c612c6d565b6117a4612eb9565b336000818152601460209081526040808320600354601390935290832060010154909291906117d4908690613ee1565b101561180c576040517f9c47d02e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600c54611823906001600160a01b03168486612e06565b60005b8254811015611ade57600083828154811061184357611843613eb2565b6000918252602090912001546001600160a01b0316905061186b8163f1801e6160e01b612f18565b15611a12576040517f2ed04b2b0000000000000000000000000000000000000000000000000000000081526001600160a01b03868116600483015260248201889052821690632ed04b2b906044016020604051808303816000875af11580156118d8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118fc9190613e47565b9250600060126000876001600160a01b03166001600160a01b03168152602001908152602001600020600086858154811061193957611939613eb2565b60009182526020808320909101546001600160a01b031683528201929092526040019020549050808411156119a4576040517f8a11f3180000000000000000000000000000000000000000000000000000000081526004810185905260248101829052604401611436565b6001600160a01b038616600090815260126020526040812086548692908890879081106119d3576119d3613eb2565b60009182526020808320909101546001600160a01b0316835282019290925260400181208054909190611a07908490613ee1565b909155505050611acb565b83548490611a2290600190613ee1565b81548110611a3257611a32613eb2565b9060005260206000200160009054906101000a90046001600160a01b0316848381548110611a6257611a62613eb2565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555083805480611aa057611aa0613ef4565b600082815260209020810160001990810180546001600160a01b0319169055019055611acb8161296e565b5080611ad681613ec8565b915050611826565b506001600160a01b03831660009081526013602052604081206001018054869290611b0a908490613ee1565b9091555050604080516001600160a01b0385168152602081018690527f6ee2c70b2d6b89ae808a2313aab43e925c06624271419cd665d85cfa1ae04ff8910161177f565b611b56612c6d565b611b5e612811565b60025460ff16611b9a576040517fcb63dc7200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038083166000908152601360209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff1615159101819052611bfd57604051636a5cfb6d60e01b815260040160405180910390fd5b6001600160a01b038083166000908152601360209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff16151590820152611c4b83612f3b565b6001600160a01b03838116600090815260136020908152604080832080546001600160a01b031916815560018101939093556002909201805460ff19169055600c5490840151915163a9059cbb60e01b8152858416600482015260248101929092529091169063a9059cbb906044016020604051808303816000875af1158015611cd9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cfd9190613f0a565b50602080820151604080516001600160a01b0380881682528616938101939093528201527fb5946f249f8744efe9d14d49a483b54a589b1362944ff6694de93456cceb96a39060600160405180910390a1506114496001600055565b611d61612811565b600e5460405163068bcd8d60e01b8152600481018390526000916001600160a01b03169063068bcd8d90602401600060405180830381865afa158015611dab573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611dd39190810190613f27565b602001519050611de28161292e565b6114498161296e565b611df3612811565b600e5460405163068bcd8d60e01b8152600481018390526000916001600160a01b03169063068bcd8d90602401600060405180830381865afa158015611e3d573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611e659190810190613f27565b602001519050611e748161292e565b611e8e6001600160a01b03821663f1801e6160e01b612f18565b1561144957611449816129c8565b611ea9816020015161292e565b611eb781610100015161292e565b8051611ec29061292e565b611ecf8160a0015161292e565b611edd81610180015161292e565b606081015115611ef457611ef48160c0015161292e565b8051600e80546001600160a01b039283166001600160a01b0319918216179091556020830151600c80549190931691161790556040810151600003611f65576040517fc70d18aa00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604081015160035560608101516004556101408101516002805460ff1916911515919091179055610120810151600f90611f9f90826140d1565b50610160810151601090611fb390826140d1565b5060a0810151600780546001600160a01b03199081166001600160a01b039384161790915560c0830151600680548316918416919091179055610100830151600d8054831682851617905561018084015160088054909316931692909217905561203e907fbc6bbe35ebc64943402c04d2ae016d7bd2bba28e1a11cf66be743c9bd74c720b90612be6565b600e60009054906101000a90046001600160a01b03166001600160a01b0316635ab1bd536040518163ffffffff1660e01b8152600401602060405180830381865afa158015612091573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120b59190613e95565b600b80546001600160a01b0319166001600160a01b03928316179055600d54604080517fa0e67e2b0000000000000000000000000000000000000000000000000000000081529051600093929092169163a0e67e2b9160048082019286929091908290030181865afa15801561212f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526121579190810190614191565b90506000815160026121699190613e82565b67ffffffffffffffff8111156121815761218161388c565b6040519080825280602002602001820160405280156121aa578160200160208202803683370190505b50905060005b825181101561220f578281815181106121cb576121cb613eb2565b60200260200101518282815181106121e5576121e5613eb2565b6001600160a01b03909216602092830291909101909101528061220781613ec8565b9150506121b0565b50600d5481516001600160a01b0390911690829061222f90600190613ee1565b8151811061223f5761223f613eb2565b60200260200101906001600160a01b031690816001600160a01b03168152505030816002835161226f9190613ee1565b8151811061227f5761227f613eb2565b6001600160a01b039283166020918202929092010152600b54608085015160e08601516040517f3a92f65f0000000000000000000000000000000000000000000000000000000081529290931692633a92f65f926122e79291600f9130908890600401614323565b6020604051808303816000875af1158015612306573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061232a9190613e47565b60055580516123409060169060208401906136e9565b507f2f2ffcb06f8a1d35e2716f6b43ef2c19bfa76467d8f66964ae12c2583ed03205600554600f8560e0015160405161237b93929190614371565b60405180910390a1505050565b60085460098054600092839283926123b7926001600160a01b031691846123ae83613ec8565b9190505561305d565b90506123c581878787612692565b9250925050935093915050565b600a546001600160a01b03163314612416576040517febcd0d6e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6113ba6130b1565b6010805461242b90614049565b80601f016020809104026020016040519081016040528092919081815260200182805461245790614049565b80156124a45780601f10612479576101008083540402835291602001916124a4565b820191906000526020600020905b81548152906001019060200180831161248757829003601f168201915b505050505081565b6124b4612c6d565b336124be81612879565b6124c781612f3b565b6001600160a01b0380821660008181526013602090815260408083208151606081018352815496871681526001820180548286015260028301805460ff81161515848701529787526001600160a01b03199098169092559084905560ff1990941690945560149052918220909161253e919061374e565b600c54602082015160405163a9059cbb60e01b81526001600160a01b038581166004830152602482019290925291169063a9059cbb906044016020604051808303816000875af1158015612596573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125ba9190613f0a565b50602080820151604080516001600160a01b0386168152928301919091527fa13f4668aacb68c4e9eed8e3f6e1cbec3eca776896ec46b5eabcc3983fc8f5f4910160405180910390a150506113ba6001600055565b61261c612710600a613dfd565b81565b600f805461242b90614049565b6000828152600160208190526040909120015461264881612bdc565b610f758383612e36565b6001600160a01b03811660009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604081205460ff16610902565b60008073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6001600160a01b038616156126bc5750845b8691506000601680548060200260200160405190810160405280929190818152602001828054801561271757602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116126f9575b5050600e546005546040519596506001600160a01b039091169463e1007d4a945090925087915061274c908b906020016143ba565b6040516020818303038152906040528660008b886040518863ffffffff1660e01b81526004016127829796959493929190614452565b6020604051808303816000875af11580156127a1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127c59190613e47565b93507f778cac0ae0b66477341553a4a89398c61ccf448313d3354ad0ca85a5a825d2838484308a896040516127fe9594939291906144be565b60405180910390a1505094509492505050565b3360009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604090205460ff166113ba576040517ff62651fa00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038082166000908152601360209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff1615159101819052610d0a57604051636a5cfb6d60e01b815260040160405180910390fd5b6001600160a01b03811660009081526011602052604090205460ff16610d0a576040517f46c26e4b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038116610d0a576040517fe622e04000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6129778161292e565b6001600160a01b038116600081815260116020908152604091829020805460ff1916905590519182527f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea49101610987565b6001600160a01b03811660009081526011602052604090205460ff1615612a1b576040517f968a4d2c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038116600081815260116020908152604091829020805460ff1916600117905590519182527f3f008fd510eae7a9e7bee13513d7b83bef8003d488b5a3d0b0da4de71d6846f19101610987565b806001600160a01b0316826001600160a01b031614611449576040517fbbe7961100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0382166000908152601460205260408120905b8154811015612bd657826001600160a01b0316828281548110612af957612af9613eb2565b6000918252602090912001546001600160a01b031603612bc45781548290612b2390600190613ee1565b81548110612b3357612b33613eb2565b9060005260206000200160009054906101000a90046001600160a01b0316828281548110612b6357612b63613eb2565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555081805480612ba157612ba1613ef4565b600082815260209020810160001990810180546001600160a01b03191690550190555b80612bce81613ec8565b915050612ad4565b50505050565b610d0a813361310c565b60008281526001602090815260408083206001600160a01b038516845290915290205460ff166114495760008281526001602081815260408084206001600160a01b0386168086529252808420805460ff19169093179092559051339285917f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d9190a45050565b600260005403612cbf5760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401611436565b6002600055565b6114498282604051602401612cdc9291906144f8565b60408051601f198184030181529190526020810180516001600160e01b03167f319af33300000000000000000000000000000000000000000000000000000000179052613181565b6040516001600160a01b0380851660248301528316604482015260648101829052612bd69085907f23b872dd00000000000000000000000000000000000000000000000000000000906084015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091526131a2565b6114498282604051602401612dbe929190614523565b60408051601f198184030181529190526020810180516001600160e01b03167f9710a9d000000000000000000000000000000000000000000000000000000000179052613181565b6040516001600160a01b038316602482015260448101829052610f7590849063a9059cbb60e01b90606401612d71565b60008281526001602090815260408083206001600160a01b038516845290915290205460ff16156114495760008281526001602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b33600090815260136020908152604091829020825160608101845281546001600160a01b031681526001820154928101929092526002015460ff16151591018190526113ba57604051636a5cfb6d60e01b815260040160405180910390fd5b6000612f238361328a565b8015612f345750612f3483836132bd565b9392505050565b6001600160a01b038116600090815260146020908152604080832080548251818502810185019093528083529192909190830182828015612fa557602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311612f87575b5050505050905060005b8151811015610f7557818181518110612fca57612fca613eb2565b60209081029190910101516040517f6453d9c40000000000000000000000000000000000000000000000000000000081526001600160a01b03858116600483015290911690636453d9c490602401600060405180830381600087803b15801561303257600080fd5b505af1158015613046573d6000803e3d6000fd5b50505050808061305590613ec8565b915050612faf565b6040516bffffffffffffffffffffffff193360601b1660208201526034810182905260009081906054016040516020818303038152906040528051906020012090506130a98482613346565b949350505050565b600a8054600d80546001600160a01b0383166001600160a01b031991821617909155169055604051600081527fad0399dc40331b9a4977aa89da7a164a3fd482c65e6da73b25a94ea74fb688729060200160405180910390a1565b60008281526001602090815260408083206001600160a01b038516845290915290205460ff166114495761313f816133e3565b61314a8360206133f5565b60405160200161315b929190614545565b60408051601f198184030181529082905262461bcd60e51b825261143691600401613d5e565b80516a636f6e736f6c652e6c6f67602083016000808483855afa5050505050565b60006131f7826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166135d69092919063ffffffff16565b90508051600014806132185750808060200190518101906132189190613f0a565b610f755760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152608401611436565b600061329d826301ffc9a760e01b6132bd565b801561090257506132b6826001600160e01b03196132bd565b1592915050565b604080516001600160e01b03198316602480830191909152825180830390910181526044909101909152602080820180516001600160e01b03166301ffc9a760e01b178152825160009392849283928392918391908a617530fa92503d9150600051905082801561332f575060208210155b801561333b5750600081115b979650505050505050565b6000763d602d80600a3d3981f3363d3d373d3d3d363d730000008360601b60e81c176000526e5af43d82803e903d91602b57fd5bf38360781b1760205281603760096000f590506001600160a01b0381166109025760405162461bcd60e51b815260206004820152601760248201527f455243313136373a2063726561746532206661696c65640000000000000000006044820152606401611436565b60606109026001600160a01b03831660145b60606000613404836002613dfd565b61340f906002613e82565b67ffffffffffffffff8111156134275761342761388c565b6040519080825280601f01601f191660200182016040528015613451576020820181803683370190505b5090507f30000000000000000000000000000000000000000000000000000000000000008160008151811061348857613488613eb2565b60200101906001600160f81b031916908160001a9053507f7800000000000000000000000000000000000000000000000000000000000000816001815181106134d3576134d3613eb2565b60200101906001600160f81b031916908160001a90535060006134f7846002613dfd565b613502906001613e82565b90505b6001811115613587577f303132333435363738396162636465660000000000000000000000000000000085600f166010811061354357613543613eb2565b1a60f81b82828151811061355957613559613eb2565b60200101906001600160f81b031916908160001a90535060049490941c93613580816145c6565b9050613505565b508315612f345760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401611436565b60606130a9848460008585600080866001600160a01b031685876040516135fd91906145dd565b60006040518083038185875af1925050503d806000811461363a576040519150601f19603f3d011682016040523d82523d6000602084013e61363f565b606091505b509150915061333b87838387606083156136ba5782516000036136b3576001600160a01b0385163b6136b35760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401611436565b50816130a9565b6130a983838151156136cf5781518083602001fd5b8060405162461bcd60e51b81526004016114369190613d5e565b82805482825590600052602060002090810192821561373e579160200282015b8281111561373e57825182546001600160a01b0319166001600160a01b03909116178255602090920191600190910190613709565b5061374a929150613768565b5090565b5080546000825590600052602060002090810190610d0a91905b5b8082111561374a5760008155600101613769565b60006020828403121561378f57600080fd5b81356001600160e01b031981168114612f3457600080fd5b6000602082840312156137b957600080fd5b5035919050565b6001600160a01b0381168114610d0a57600080fd5b80356137e0816137c0565b919050565b600080604083850312156137f857600080fd5b8235613803816137c0565b91506020830135613813816137c0565b809150509250929050565b60006020828403121561383057600080fd5b8135612f34816137c0565b6000806040838503121561384e57600080fd5b8235613859816137c0565b946020939093013593505050565b6000806040838503121561387a57600080fd5b823591506020830135613813816137c0565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff811182821017156138c5576138c561388c565b60405290565b6040516101a0810167ffffffffffffffff811182821017156138c5576138c561388c565b604051610120810167ffffffffffffffff811182821017156138c5576138c561388c565b60405160c0810167ffffffffffffffff811182821017156138c5576138c561388c565b604051601f8201601f1916810167ffffffffffffffff8111828210171561395f5761395f61388c565b604052919050565b600067ffffffffffffffff8211156139815761398161388c565b50601f01601f191660200190565b600082601f8301126139a057600080fd5b81356139b36139ae82613967565b613936565b8181528460208386010111156139c857600080fd5b816020850160208301376000918101602001919091529392505050565b6000604082840312156139f757600080fd5b6139ff6138a2565b905081358152602082013567ffffffffffffffff811115613a1f57600080fd5b613a2b8482850161398f565b60208301525092915050565b8015158114610d0a57600080fd5b80356137e081613a37565b600060208284031215613a6257600080fd5b813567ffffffffffffffff80821115613a7a57600080fd5b908301906101a08286031215613a8f57600080fd5b613a976138cb565b613aa0836137d5565b8152613aae602084016137d5565b6020820152604083013560408201526060830135606082015260808301356080820152613add60a084016137d5565b60a0820152613aee60c084016137d5565b60c082015260e083013582811115613b0557600080fd5b613b11878286016139e5565b60e083015250610100613b258185016137d5565b908201526101208381013583811115613b3d57600080fd5b613b498882870161398f565b828401525050610140613b5d818501613a45565b908201526101608381013583811115613b7557600080fd5b613b818882870161398f565b8284015250506101809150613b978284016137d5565b91810191909152949350505050565b8035600381106137e057600080fd5b60048110610d0a57600080fd5b80356137e081613bb5565b600060208284031215613bdf57600080fd5b6040516020810181811067ffffffffffffffff82111715613c0257613c0261388c565b6040529135825250919050565b60006101208284031215613c2257600080fd5b613c2a6138ef565b9050613c35826137d5565b815260208201356020820152604082013560408201526060820135606082015260808201356080820152613c6b60a08301613ba6565b60a0820152613c7c60c08301613bc2565b60c0820152613c8e8360e08401613bcd565b60e0820152610100613ca18184016137d5565b9082015292915050565b60008060006101608486031215613cc157600080fd5b8335613ccc816137c0565b9250613cdb8560208601613c0f565b915061014084013567ffffffffffffffff811115613cf857600080fd5b613d04868287016139e5565b9150509250925092565b60005b83811015613d29578181015183820152602001613d11565b50506000910152565b60008151808452613d4a816020860160208601613d0e565b601f01601f19169290920160200192915050565b602081526000612f346020830184613d32565b6000806000806101808587031215613d8857600080fd5b8435613d93816137c0565b93506020850135613da3816137c0565b9250613db28660408701613c0f565b915061016085013567ffffffffffffffff811115613dcf57600080fd5b613ddb878288016139e5565b91505092959194509250565b634e487b7160e01b600052601160045260246000fd5b808202811582820484141761090257610902613de7565b634e487b7160e01b600052602160045260246000fd5b600060208284031215613e3c57600080fd5b8151612f3481613bb5565b600060208284031215613e5957600080fd5b5051919050565b600082613e7d57634e487b7160e01b600052601260045260246000fd5b500490565b8082018082111561090257610902613de7565b600060208284031215613ea757600080fd5b8151612f34816137c0565b634e487b7160e01b600052603260045260246000fd5b600060018201613eda57613eda613de7565b5060010190565b8181038181111561090257610902613de7565b634e487b7160e01b600052603160045260246000fd5b600060208284031215613f1c57600080fd5b8151612f3481613a37565b60006020808385031215613f3a57600080fd5b825167ffffffffffffffff80821115613f5257600080fd5b9084019060c08287031215613f6657600080fd5b613f6e613913565b8251815283830151613f7f816137c0565b818501526040830151613f91816137c0565b6040820152606083015182811115613fa857600080fd5b830160408189031215613fba57600080fd5b613fc26138a2565b815181528582015184811115613fd757600080fd5b82019350601f84018913613fea57600080fd5b83519150613ffa6139ae83613967565b828152898784870101111561400e57600080fd5b61401d83888301898801613d0e565b95810195909552506060810193909352506080818101519083015260a090810151908201529392505050565b600181811c9082168061405d57607f821691505b60208210810361407d57634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115610f7557600081815260208120601f850160051c810160208610156140aa5750805b601f850160051c820191505b818110156140c9578281556001016140b6565b505050505050565b815167ffffffffffffffff8111156140eb576140eb61388c565b6140ff816140f98454614049565b84614083565b602080601f831160018114614134576000841561411c5750858301515b600019600386901b1c1916600185901b1785556140c9565b600085815260208120601f198616915b8281101561416357888601518255948401946001909101908401614144565b50858210156141815787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b600060208083850312156141a457600080fd5b825167ffffffffffffffff808211156141bc57600080fd5b818501915085601f8301126141d057600080fd5b8151818111156141e2576141e261388c565b8060051b91506141f3848301613936565b818152918301840191848101908884111561420d57600080fd5b938501935b838510156142375784519250614227836137c0565b8282529385019390850190614212565b98975050505050505050565b6000815461425081614049565b80855260206001838116801561426d5760018114614287576142b5565b60ff1985168884015283151560051b8801830195506142b5565b866000528260002060005b858110156142ad5781548a8201860152908301908401614292565b890184019650505b505050505092915050565b8051825260006020820151604060208501526130a96040850182613d32565b600081518084526020808501945080840160005b838110156143185781516001600160a01b0316875295820195908201906001016142f3565b509495945050505050565b85815260a06020820152600061433c60a0830187614243565b828103604084015261434e81876142c0565b90506001600160a01b0385166060840152828103608084015261423781856142df565b83815260606020820152600061438a6060830185614243565b828103604084015261439c81856142c0565b9695505050505050565b600481106143b6576143b6613e14565b9052565b6000610120820190506001600160a01b0383511682526020830151602083015260408301516040830152606083015160608301526080830151608083015260a08301516003811061440d5761440d613e14565b8060a08401525060c083015161442660c08401826143a6565b5060e083015161443960e0840182519052565b50610100928301516001600160a01b0316919092015290565b87815260006001600160a01b03808916602084015260e0604084015261447b60e0840189613d32565b818816606085015286608085015283810360a085015261449b81876142c0565b91505082810360c08401526144b081856142df565b9a9950505050505050505050565b85815260006001600160a01b038087166020840152808616604084015280851660608401525060a0608083015261333b60a08301846142c0565b60408152600061450b6040830185613d32565b90506001600160a01b03831660208301529392505050565b6040815260006145366040830185613d32565b90508260208301529392505050565b7f416363657373436f6e74726f6c3a206163636f756e742000000000000000000081526000835161457d816017850160208801613d0e565b7f206973206d697373696e6720726f6c652000000000000000000000000000000060179184019182015283516145ba816028840160208801613d0e565b01602801949350505050565b6000816145d5576145d5613de7565b506000190190565b600082516145ef818460208701613d0e565b919091019291505056fe67617264656e73466163746f72792e67657447617264656e7346656552656365697665722829a264697066735822122084e2c8b555b2ef161e2f709baddfca3402faa4482a0277b2a995b1521474725664736f6c63430008130033", - "sourceMap": "1641:21524:133:-:0;;;7769:145;;;;;;;;;-1:-1:-1;1716:1:69;1821:7;:22;;;7851:56:133;;2101:34;;7851:13;:56::i;:::-;1641:21524;;7172:247:58;7255:25;4604:12;;;:6;:12;;;;;;;;:22;;;;;7311:34;;;;7360:52;;4604:22;;7311:34;;4604:22;;:12;;7360:52;;7255:25;7360:52;7245:174;7172:247;;:::o;1641:21524:133:-;;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x608060405234801561001057600080fd5b506004361061036d5760003560e01c80636c53db9a116101d3578063a230c52411610104578063d547741f116100a2578063db61d65c1161007c578063db61d65c1461086c578063ebd7dc521461087f578063f86c5f8914610892578063ff6409ef146108a557600080fd5b8063d547741f1461083d578063d6d8428d14610850578063d7050f071461086357600080fd5b8063b64e39af116100de578063b64e39af14610810578063b99b437014610825578063bc063e1a1461082d578063c6d572ae1461083557600080fd5b8063a230c5241461079e578063b3f00674146107f5578063b5058c501461080857600080fd5b80638961be6b1161017157806397991cfa1161014b57806397991cfa14610724578063a0b21cdf14610754578063a0cf0aea1461077b578063a217fddf1461079657600080fd5b80638961be6b146106cf57806391d14854146106d857806396f0adec1461071157600080fd5b806378a0b8a9116101ad57806378a0b8a91461063d5780637b1039991461064657806382d6a1e71461065957806388cfe6841461066c57600080fd5b80636c53db9a146105de57806373265c37146105f15780637817ee4f1461060457600080fd5b80632f2ff15d116102ad578063477a5cc01161024b5780635ecf71c5116102255780635ecf71c51461057a57806365e3864c1461058d5780636871eb4d146105b857806368decabb146105cb57600080fd5b8063477a5cc014610526578063559de05d146105545780635c94e4d21461056757600080fd5b80633517aa7d116102875780633517aa7d146104d557806336568abe146104dd578063397e2543146104f05780633a871fe11461050357600080fd5b80632f2ff15d146104a657806331f61bca146104b957806333960459146104cc57600080fd5b80631f787d281161031a578063248a9ca3116102f4578063248a9ca31461042357806328c309e9146104475780632b38c69c1461044f5780632c611c4a1461047a57600080fd5b80631f787d28146103f0578063223e5479146103fd57806322bcf9991461041057600080fd5b80630d12bbdb1161034b5780630d12bbdb146103b55780630d4a8b49146103ca578063175188e8146103dd57600080fd5b806301ffc9a7146103725780630331383c1461039a57806308386eba146103ac575b600080fd5b61038561038036600461377d565b6108b8565b60405190151581526020015b60405180910390f35b6003545b604051908152602001610391565b61039e60055481565b6103c86103c33660046137a7565b610908565b005b6103c86103d83660046137e5565b610992565b6103c86103eb36600461381e565b610cf9565b6002546103859060ff1681565b6103c861040b36600461381e565b610d0d565b6103c861041e3660046137e5565b610d1e565b61039e6104313660046137a7565b6000908152600160208190526040909120015490565b61039e610e2d565b61046261045d36600461383b565b610f17565b6040516001600160a01b039091168152602001610391565b61039e61048836600461381e565b6001600160a01b031660009081526013602052604090206001015490565b6103c86104b4366004613867565b610f4f565b6103c86104c73660046137a7565b610f7a565b61039e60095481565b6103c8610fb7565b6103c86104eb366004613867565b6113bc565b6103c86104fe36600461381e565b61144d565b61038561051136600461381e565b60116020526000908152604090205460ff1681565b6103856105343660046137e5565b601560209081526000928352604080842090915290825290205460ff1681565b6103c86105623660046137a7565b6114ba565b600854610462906001600160a01b031681565b6103c86105883660046137a7565b611794565b61039e61059b3660046137e5565b601260209081526000928352604080842090915290825290205481565b6103c86105c63660046137e5565b611b4e565b600a54610462906001600160a01b031681565b600d54610462906001600160a01b031681565b6103c86105ff3660046137a7565b611d59565b61039e6106123660046137e5565b6001600160a01b03918216600090815260126020908152604080832093909416825291909152205490565b61039e60035481565b600b54610462906001600160a01b031681565b6103c86106673660046137a7565b611deb565b6106a861067a36600461381e565b6013602052600090815260409020805460018201546002909201546001600160a01b03909116919060ff1683565b604080516001600160a01b0390941684526020840192909252151590820152606001610391565b61039e60045481565b6103856106e6366004613867565b60009182526001602090815260408084206001600160a01b0393909316845291905290205460ff1690565b6103c861071f366004613a50565b611e9c565b610737610732366004613cab565b612388565b604080519283526001600160a01b03909116602083015201610391565b61039e7fbc6bbe35ebc64943402c04d2ae016d7bd2bba28e1a11cf66be743c9bd74c720b81565b61046273eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b61039e600081565b6103856107ac36600461381e565b6001600160a01b039081166000908152601360209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff161515910181905290565b600654610462906001600160a01b031681565b6103c86123d2565b61081861241e565b6040516103919190613d5e565b6103c86124ac565b61039e61260f565b61081861261f565b6103c861084b366004613867565b61262c565b600e54610462906001600160a01b031681565b61039e61271081565b600c54610462906001600160a01b031681565b61038561088d36600461381e565b612652565b600754610462906001600160a01b031681565b6107376108b3366004613d71565b612692565b60006001600160e01b031982167f7965db0b00000000000000000000000000000000000000000000000000000000148061090257506301ffc9a760e01b6001600160e01b03198316145b92915050565b610910612811565b61091d612710600a613dfd565b811115610956576040517ffe925f7d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60048190556040518181527f611668bfcf654a99c33cdb66c29ec37a5aae5c1287d2d9715a24e18cb4d806d6906020015b60405180910390a150565b61099b82612879565b6109a4816128dc565b6109ad8161292e565b6001600160a01b0380831660009081526015602090815260408083209385168352929052205460ff1615610a0d576040517fd5b9bc9600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0380831660009081526013602090815260409182902082516060810184528154909416845260018101549184018290526002015460ff161515918301919091526003805490846001600160a01b031663c32921716040518163ffffffff1660e01b81526004016020604051808303816000875af1158015610a99573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610abd9190613e2a565b6003811115610ace57610ace613e14565b03610b4d5760405163782aadff60e01b81526001600160a01b0386811660048301526000602483015285169063782aadff906044016020604051808303816000875af1158015610b22573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b469190613e47565b9050610c3f565b6000846001600160a01b031663c32921716040518163ffffffff1660e01b81526004016020604051808303816000875af1158015610b8f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bb39190613e2a565b6003811115610bc457610bc4613e14565b14610c3f5760405163782aadff60e01b81526001600160a01b0386811660048301526024820184905285169063782aadff906044016020604051808303816000875af1158015610c18573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c3c9190613e47565b90505b6001600160a01b038581166000818152601260209081526040808320948916808452948252808320869055838352601582528083208584528252808320805460ff19166001908117909155848452601483528184208054918201815584529282902090920180546001600160a01b0319168517905581519283528201929092529081018290527ff56fa57e85e169a12200d12d9921ec069b52e688f6d309d9dab7bceff54614ec9060600160405180910390a15050505050565b610d01612811565b610d0a8161296e565b50565b610d15612811565b610d0a816129c8565b610d2782612879565b610d308161292e565b610d3a3382612a6f565b6001600160a01b0380831660009081526015602090815260408083209385168352929052205460ff16610d99576040517fc12369dc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038083166000818152601560209081526040808320948616808452948252808320805460ff191690559282526012815282822093825292909252812055610de78282612aba565b604080516001600160a01b038085168252831660208201527ede109bef4619f7e2cf00c8e5a50ca55f8deb44f87087eed414a91dbf8d1d1b910160405180910390a15050565b6007546000906001600160a01b031681610e4a6127106064613dfd565b600454600354610e5a9190613dfd565b610e649190613e60565b90506000610e756127106064613dfd565b6040516302a64b8360e21b81523060048201526001600160a01b03851690630a992e0c90602401602060405180830381865afa158015610eb9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610edd9190613e47565b600354610eea9190613dfd565b610ef49190613e60565b90508082600354610f059190613e82565b610f0f9190613e82565b935050505090565b60146020528160005260406000208181548110610f3357600080fd5b6000918252602090912001546001600160a01b03169150829050565b60008281526001602081905260409091200154610f6b81612bdc565b610f758383612be6565b505050565b610f82612811565b60038190556040518181527f5bcc2c453001fb0e2ba6266d56ecb411e7c6e15c8f9c3d301f93dd36ad25726f90602001610987565b610fbf612c6d565b33600081815260136020526040812060075490916001600160a01b0390911690610fec6127106064613dfd565b600454600354610ffc9190613dfd565b6110069190613e60565b905060006110176127106064613dfd565b6040516302a64b8360e21b81523060048201526001600160a01b03851690630a992e0c90602401602060405180830381865afa15801561105b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061107f9190613e47565b60035461108c9190613dfd565b6110969190613e60565b6001600160a01b038087166000908152601360209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff16151591018190529091506113ab5760028401805460ff191660019081179091556003549085015560408051808201909152600b81527f67617264656e546f6b656e0000000000000000000000000000000000000000006020820152600c5461114691906001600160a01b0316612cc6565b6111788530838560035461115a9190613e82565b6111649190613e82565b600c546001600160a01b0316929190612d24565b6111b76040518060400160405280601281526020017f636f6d6d756e697479466565416d6f756e74000000000000000000000000000081525083612da8565b81156112245760408051808201909152600b81527f6665655265636569766572000000000000000000000000000000000000000000602082015260065461120791906001600160a01b0316612cc6565b600654600c54611224916001600160a01b03918216911684612e06565b6112636040518060400160405280601081526020017f67617264656e73466565416d6f756e740000000000000000000000000000000081525082612da8565b8015611364576112ec6040518060600160405280602681526020016145fa60269139846001600160a01b031663987435be6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112c3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112e79190613e95565b612cc6565b611364836001600160a01b031663987435be6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561132d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113519190613e95565b600c546001600160a01b03169083612e06565b600354604080516001600160a01b038816815260208101929092527f67e0244e28040fec15240cd4b6c04c776a2a0278caef23b59e8ada1df31f7689910160405180910390a15b50505050506113ba6001600055565b565b6001600160a01b038116331461143f5760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201527f20726f6c657320666f722073656c66000000000000000000000000000000000060648201526084015b60405180910390fd5b6114498282612e36565b5050565b611455612811565b61145e8161292e565b600a80546001600160a01b0319166001600160a01b03838116918217909255600d546040805191909316815260208101919091527f83eac9fdaff0ac1017624b7eddeb9782e3d707cd894073cb7e8301a41c6e5cf89101610987565b6114c2612c6d565b6114ca612eb9565b3360008181526014602090815260408083208054825181850281018501909352808352919290919083018282801561152b57602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831161150d575b50505050509050600080600090505b82518110156116fb5782818151811061155557611555613eb2565b602090810291909101015160405163782aadff60e01b81526001600160a01b038681166004830152602482018890529091169063782aadff906044016020604051808303816000875af11580156115b0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115d49190613e47565b915081156116e9576001600160a01b0384166000908152601260205260408120845184929086908590811061160b5761160b613eb2565b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060008282546116429190613e82565b925050819055506116e96040518060400160405280600e81526020017f537472617465677920706f77657200000000000000000000000000000000000081525060126000876001600160a01b03166001600160a01b0316815260200190815260200160002060008685815181106116bb576116bb613eb2565b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002054612da8565b806116f381613ec8565b91505061153a565b50600c54611714906001600160a01b0316843087612d24565b6001600160a01b0383166000908152601360205260408120600101805486929061173f908490613e82565b9091555050604080516001600160a01b0385168152602081018690527f576605f9bfe8911e7508bed3763c7c5c8eb3b86e8b360b90a4bc6abe1104cb7f91015b60405180910390a1505050610d0a6001600055565b61179c612c6d565b6117a4612eb9565b336000818152601460209081526040808320600354601390935290832060010154909291906117d4908690613ee1565b101561180c576040517f9c47d02e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600c54611823906001600160a01b03168486612e06565b60005b8254811015611ade57600083828154811061184357611843613eb2565b6000918252602090912001546001600160a01b0316905061186b8163f1801e6160e01b612f18565b15611a12576040517f2ed04b2b0000000000000000000000000000000000000000000000000000000081526001600160a01b03868116600483015260248201889052821690632ed04b2b906044016020604051808303816000875af11580156118d8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118fc9190613e47565b9250600060126000876001600160a01b03166001600160a01b03168152602001908152602001600020600086858154811061193957611939613eb2565b60009182526020808320909101546001600160a01b031683528201929092526040019020549050808411156119a4576040517f8a11f3180000000000000000000000000000000000000000000000000000000081526004810185905260248101829052604401611436565b6001600160a01b038616600090815260126020526040812086548692908890879081106119d3576119d3613eb2565b60009182526020808320909101546001600160a01b0316835282019290925260400181208054909190611a07908490613ee1565b909155505050611acb565b83548490611a2290600190613ee1565b81548110611a3257611a32613eb2565b9060005260206000200160009054906101000a90046001600160a01b0316848381548110611a6257611a62613eb2565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555083805480611aa057611aa0613ef4565b600082815260209020810160001990810180546001600160a01b0319169055019055611acb8161296e565b5080611ad681613ec8565b915050611826565b506001600160a01b03831660009081526013602052604081206001018054869290611b0a908490613ee1565b9091555050604080516001600160a01b0385168152602081018690527f6ee2c70b2d6b89ae808a2313aab43e925c06624271419cd665d85cfa1ae04ff8910161177f565b611b56612c6d565b611b5e612811565b60025460ff16611b9a576040517fcb63dc7200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038083166000908152601360209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff1615159101819052611bfd57604051636a5cfb6d60e01b815260040160405180910390fd5b6001600160a01b038083166000908152601360209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff16151590820152611c4b83612f3b565b6001600160a01b03838116600090815260136020908152604080832080546001600160a01b031916815560018101939093556002909201805460ff19169055600c5490840151915163a9059cbb60e01b8152858416600482015260248101929092529091169063a9059cbb906044016020604051808303816000875af1158015611cd9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cfd9190613f0a565b50602080820151604080516001600160a01b0380881682528616938101939093528201527fb5946f249f8744efe9d14d49a483b54a589b1362944ff6694de93456cceb96a39060600160405180910390a1506114496001600055565b611d61612811565b600e5460405163068bcd8d60e01b8152600481018390526000916001600160a01b03169063068bcd8d90602401600060405180830381865afa158015611dab573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611dd39190810190613f27565b602001519050611de28161292e565b6114498161296e565b611df3612811565b600e5460405163068bcd8d60e01b8152600481018390526000916001600160a01b03169063068bcd8d90602401600060405180830381865afa158015611e3d573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611e659190810190613f27565b602001519050611e748161292e565b611e8e6001600160a01b03821663f1801e6160e01b612f18565b1561144957611449816129c8565b611ea9816020015161292e565b611eb781610100015161292e565b8051611ec29061292e565b611ecf8160a0015161292e565b611edd81610180015161292e565b606081015115611ef457611ef48160c0015161292e565b8051600e80546001600160a01b039283166001600160a01b0319918216179091556020830151600c80549190931691161790556040810151600003611f65576040517fc70d18aa00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604081015160035560608101516004556101408101516002805460ff1916911515919091179055610120810151600f90611f9f90826140d1565b50610160810151601090611fb390826140d1565b5060a0810151600780546001600160a01b03199081166001600160a01b039384161790915560c0830151600680548316918416919091179055610100830151600d8054831682851617905561018084015160088054909316931692909217905561203e907fbc6bbe35ebc64943402c04d2ae016d7bd2bba28e1a11cf66be743c9bd74c720b90612be6565b600e60009054906101000a90046001600160a01b03166001600160a01b0316635ab1bd536040518163ffffffff1660e01b8152600401602060405180830381865afa158015612091573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120b59190613e95565b600b80546001600160a01b0319166001600160a01b03928316179055600d54604080517fa0e67e2b0000000000000000000000000000000000000000000000000000000081529051600093929092169163a0e67e2b9160048082019286929091908290030181865afa15801561212f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526121579190810190614191565b90506000815160026121699190613e82565b67ffffffffffffffff8111156121815761218161388c565b6040519080825280602002602001820160405280156121aa578160200160208202803683370190505b50905060005b825181101561220f578281815181106121cb576121cb613eb2565b60200260200101518282815181106121e5576121e5613eb2565b6001600160a01b03909216602092830291909101909101528061220781613ec8565b9150506121b0565b50600d5481516001600160a01b0390911690829061222f90600190613ee1565b8151811061223f5761223f613eb2565b60200260200101906001600160a01b031690816001600160a01b03168152505030816002835161226f9190613ee1565b8151811061227f5761227f613eb2565b6001600160a01b039283166020918202929092010152600b54608085015160e08601516040517f3a92f65f0000000000000000000000000000000000000000000000000000000081529290931692633a92f65f926122e79291600f9130908890600401614323565b6020604051808303816000875af1158015612306573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061232a9190613e47565b60055580516123409060169060208401906136e9565b507f2f2ffcb06f8a1d35e2716f6b43ef2c19bfa76467d8f66964ae12c2583ed03205600554600f8560e0015160405161237b93929190614371565b60405180910390a1505050565b60085460098054600092839283926123b7926001600160a01b031691846123ae83613ec8565b9190505561305d565b90506123c581878787612692565b9250925050935093915050565b600a546001600160a01b03163314612416576040517febcd0d6e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6113ba6130b1565b6010805461242b90614049565b80601f016020809104026020016040519081016040528092919081815260200182805461245790614049565b80156124a45780601f10612479576101008083540402835291602001916124a4565b820191906000526020600020905b81548152906001019060200180831161248757829003601f168201915b505050505081565b6124b4612c6d565b336124be81612879565b6124c781612f3b565b6001600160a01b0380821660008181526013602090815260408083208151606081018352815496871681526001820180548286015260028301805460ff81161515848701529787526001600160a01b03199098169092559084905560ff1990941690945560149052918220909161253e919061374e565b600c54602082015160405163a9059cbb60e01b81526001600160a01b038581166004830152602482019290925291169063a9059cbb906044016020604051808303816000875af1158015612596573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125ba9190613f0a565b50602080820151604080516001600160a01b0386168152928301919091527fa13f4668aacb68c4e9eed8e3f6e1cbec3eca776896ec46b5eabcc3983fc8f5f4910160405180910390a150506113ba6001600055565b61261c612710600a613dfd565b81565b600f805461242b90614049565b6000828152600160208190526040909120015461264881612bdc565b610f758383612e36565b6001600160a01b03811660009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604081205460ff16610902565b60008073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6001600160a01b038616156126bc5750845b8691506000601680548060200260200160405190810160405280929190818152602001828054801561271757602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116126f9575b5050600e546005546040519596506001600160a01b039091169463e1007d4a945090925087915061274c908b906020016143ba565b6040516020818303038152906040528660008b886040518863ffffffff1660e01b81526004016127829796959493929190614452565b6020604051808303816000875af11580156127a1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127c59190613e47565b93507f778cac0ae0b66477341553a4a89398c61ccf448313d3354ad0ca85a5a825d2838484308a896040516127fe9594939291906144be565b60405180910390a1505094509492505050565b3360009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604090205460ff166113ba576040517ff62651fa00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038082166000908152601360209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff1615159101819052610d0a57604051636a5cfb6d60e01b815260040160405180910390fd5b6001600160a01b03811660009081526011602052604090205460ff16610d0a576040517f46c26e4b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038116610d0a576040517fe622e04000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6129778161292e565b6001600160a01b038116600081815260116020908152604091829020805460ff1916905590519182527f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea49101610987565b6001600160a01b03811660009081526011602052604090205460ff1615612a1b576040517f968a4d2c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038116600081815260116020908152604091829020805460ff1916600117905590519182527f3f008fd510eae7a9e7bee13513d7b83bef8003d488b5a3d0b0da4de71d6846f19101610987565b806001600160a01b0316826001600160a01b031614611449576040517fbbe7961100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0382166000908152601460205260408120905b8154811015612bd657826001600160a01b0316828281548110612af957612af9613eb2565b6000918252602090912001546001600160a01b031603612bc45781548290612b2390600190613ee1565b81548110612b3357612b33613eb2565b9060005260206000200160009054906101000a90046001600160a01b0316828281548110612b6357612b63613eb2565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555081805480612ba157612ba1613ef4565b600082815260209020810160001990810180546001600160a01b03191690550190555b80612bce81613ec8565b915050612ad4565b50505050565b610d0a813361310c565b60008281526001602090815260408083206001600160a01b038516845290915290205460ff166114495760008281526001602081815260408084206001600160a01b0386168086529252808420805460ff19169093179092559051339285917f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d9190a45050565b600260005403612cbf5760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401611436565b6002600055565b6114498282604051602401612cdc9291906144f8565b60408051601f198184030181529190526020810180516001600160e01b03167f319af33300000000000000000000000000000000000000000000000000000000179052613181565b6040516001600160a01b0380851660248301528316604482015260648101829052612bd69085907f23b872dd00000000000000000000000000000000000000000000000000000000906084015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091526131a2565b6114498282604051602401612dbe929190614523565b60408051601f198184030181529190526020810180516001600160e01b03167f9710a9d000000000000000000000000000000000000000000000000000000000179052613181565b6040516001600160a01b038316602482015260448101829052610f7590849063a9059cbb60e01b90606401612d71565b60008281526001602090815260408083206001600160a01b038516845290915290205460ff16156114495760008281526001602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b33600090815260136020908152604091829020825160608101845281546001600160a01b031681526001820154928101929092526002015460ff16151591018190526113ba57604051636a5cfb6d60e01b815260040160405180910390fd5b6000612f238361328a565b8015612f345750612f3483836132bd565b9392505050565b6001600160a01b038116600090815260146020908152604080832080548251818502810185019093528083529192909190830182828015612fa557602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311612f87575b5050505050905060005b8151811015610f7557818181518110612fca57612fca613eb2565b60209081029190910101516040517f6453d9c40000000000000000000000000000000000000000000000000000000081526001600160a01b03858116600483015290911690636453d9c490602401600060405180830381600087803b15801561303257600080fd5b505af1158015613046573d6000803e3d6000fd5b50505050808061305590613ec8565b915050612faf565b6040516bffffffffffffffffffffffff193360601b1660208201526034810182905260009081906054016040516020818303038152906040528051906020012090506130a98482613346565b949350505050565b600a8054600d80546001600160a01b0383166001600160a01b031991821617909155169055604051600081527fad0399dc40331b9a4977aa89da7a164a3fd482c65e6da73b25a94ea74fb688729060200160405180910390a1565b60008281526001602090815260408083206001600160a01b038516845290915290205460ff166114495761313f816133e3565b61314a8360206133f5565b60405160200161315b929190614545565b60408051601f198184030181529082905262461bcd60e51b825261143691600401613d5e565b80516a636f6e736f6c652e6c6f67602083016000808483855afa5050505050565b60006131f7826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166135d69092919063ffffffff16565b90508051600014806132185750808060200190518101906132189190613f0a565b610f755760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152608401611436565b600061329d826301ffc9a760e01b6132bd565b801561090257506132b6826001600160e01b03196132bd565b1592915050565b604080516001600160e01b03198316602480830191909152825180830390910181526044909101909152602080820180516001600160e01b03166301ffc9a760e01b178152825160009392849283928392918391908a617530fa92503d9150600051905082801561332f575060208210155b801561333b5750600081115b979650505050505050565b6000763d602d80600a3d3981f3363d3d373d3d3d363d730000008360601b60e81c176000526e5af43d82803e903d91602b57fd5bf38360781b1760205281603760096000f590506001600160a01b0381166109025760405162461bcd60e51b815260206004820152601760248201527f455243313136373a2063726561746532206661696c65640000000000000000006044820152606401611436565b60606109026001600160a01b03831660145b60606000613404836002613dfd565b61340f906002613e82565b67ffffffffffffffff8111156134275761342761388c565b6040519080825280601f01601f191660200182016040528015613451576020820181803683370190505b5090507f30000000000000000000000000000000000000000000000000000000000000008160008151811061348857613488613eb2565b60200101906001600160f81b031916908160001a9053507f7800000000000000000000000000000000000000000000000000000000000000816001815181106134d3576134d3613eb2565b60200101906001600160f81b031916908160001a90535060006134f7846002613dfd565b613502906001613e82565b90505b6001811115613587577f303132333435363738396162636465660000000000000000000000000000000085600f166010811061354357613543613eb2565b1a60f81b82828151811061355957613559613eb2565b60200101906001600160f81b031916908160001a90535060049490941c93613580816145c6565b9050613505565b508315612f345760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401611436565b60606130a9848460008585600080866001600160a01b031685876040516135fd91906145dd565b60006040518083038185875af1925050503d806000811461363a576040519150601f19603f3d011682016040523d82523d6000602084013e61363f565b606091505b509150915061333b87838387606083156136ba5782516000036136b3576001600160a01b0385163b6136b35760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401611436565b50816130a9565b6130a983838151156136cf5781518083602001fd5b8060405162461bcd60e51b81526004016114369190613d5e565b82805482825590600052602060002090810192821561373e579160200282015b8281111561373e57825182546001600160a01b0319166001600160a01b03909116178255602090920191600190910190613709565b5061374a929150613768565b5090565b5080546000825590600052602060002090810190610d0a91905b5b8082111561374a5760008155600101613769565b60006020828403121561378f57600080fd5b81356001600160e01b031981168114612f3457600080fd5b6000602082840312156137b957600080fd5b5035919050565b6001600160a01b0381168114610d0a57600080fd5b80356137e0816137c0565b919050565b600080604083850312156137f857600080fd5b8235613803816137c0565b91506020830135613813816137c0565b809150509250929050565b60006020828403121561383057600080fd5b8135612f34816137c0565b6000806040838503121561384e57600080fd5b8235613859816137c0565b946020939093013593505050565b6000806040838503121561387a57600080fd5b823591506020830135613813816137c0565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff811182821017156138c5576138c561388c565b60405290565b6040516101a0810167ffffffffffffffff811182821017156138c5576138c561388c565b604051610120810167ffffffffffffffff811182821017156138c5576138c561388c565b60405160c0810167ffffffffffffffff811182821017156138c5576138c561388c565b604051601f8201601f1916810167ffffffffffffffff8111828210171561395f5761395f61388c565b604052919050565b600067ffffffffffffffff8211156139815761398161388c565b50601f01601f191660200190565b600082601f8301126139a057600080fd5b81356139b36139ae82613967565b613936565b8181528460208386010111156139c857600080fd5b816020850160208301376000918101602001919091529392505050565b6000604082840312156139f757600080fd5b6139ff6138a2565b905081358152602082013567ffffffffffffffff811115613a1f57600080fd5b613a2b8482850161398f565b60208301525092915050565b8015158114610d0a57600080fd5b80356137e081613a37565b600060208284031215613a6257600080fd5b813567ffffffffffffffff80821115613a7a57600080fd5b908301906101a08286031215613a8f57600080fd5b613a976138cb565b613aa0836137d5565b8152613aae602084016137d5565b6020820152604083013560408201526060830135606082015260808301356080820152613add60a084016137d5565b60a0820152613aee60c084016137d5565b60c082015260e083013582811115613b0557600080fd5b613b11878286016139e5565b60e083015250610100613b258185016137d5565b908201526101208381013583811115613b3d57600080fd5b613b498882870161398f565b828401525050610140613b5d818501613a45565b908201526101608381013583811115613b7557600080fd5b613b818882870161398f565b8284015250506101809150613b978284016137d5565b91810191909152949350505050565b8035600381106137e057600080fd5b60048110610d0a57600080fd5b80356137e081613bb5565b600060208284031215613bdf57600080fd5b6040516020810181811067ffffffffffffffff82111715613c0257613c0261388c565b6040529135825250919050565b60006101208284031215613c2257600080fd5b613c2a6138ef565b9050613c35826137d5565b815260208201356020820152604082013560408201526060820135606082015260808201356080820152613c6b60a08301613ba6565b60a0820152613c7c60c08301613bc2565b60c0820152613c8e8360e08401613bcd565b60e0820152610100613ca18184016137d5565b9082015292915050565b60008060006101608486031215613cc157600080fd5b8335613ccc816137c0565b9250613cdb8560208601613c0f565b915061014084013567ffffffffffffffff811115613cf857600080fd5b613d04868287016139e5565b9150509250925092565b60005b83811015613d29578181015183820152602001613d11565b50506000910152565b60008151808452613d4a816020860160208601613d0e565b601f01601f19169290920160200192915050565b602081526000612f346020830184613d32565b6000806000806101808587031215613d8857600080fd5b8435613d93816137c0565b93506020850135613da3816137c0565b9250613db28660408701613c0f565b915061016085013567ffffffffffffffff811115613dcf57600080fd5b613ddb878288016139e5565b91505092959194509250565b634e487b7160e01b600052601160045260246000fd5b808202811582820484141761090257610902613de7565b634e487b7160e01b600052602160045260246000fd5b600060208284031215613e3c57600080fd5b8151612f3481613bb5565b600060208284031215613e5957600080fd5b5051919050565b600082613e7d57634e487b7160e01b600052601260045260246000fd5b500490565b8082018082111561090257610902613de7565b600060208284031215613ea757600080fd5b8151612f34816137c0565b634e487b7160e01b600052603260045260246000fd5b600060018201613eda57613eda613de7565b5060010190565b8181038181111561090257610902613de7565b634e487b7160e01b600052603160045260246000fd5b600060208284031215613f1c57600080fd5b8151612f3481613a37565b60006020808385031215613f3a57600080fd5b825167ffffffffffffffff80821115613f5257600080fd5b9084019060c08287031215613f6657600080fd5b613f6e613913565b8251815283830151613f7f816137c0565b818501526040830151613f91816137c0565b6040820152606083015182811115613fa857600080fd5b830160408189031215613fba57600080fd5b613fc26138a2565b815181528582015184811115613fd757600080fd5b82019350601f84018913613fea57600080fd5b83519150613ffa6139ae83613967565b828152898784870101111561400e57600080fd5b61401d83888301898801613d0e565b95810195909552506060810193909352506080818101519083015260a090810151908201529392505050565b600181811c9082168061405d57607f821691505b60208210810361407d57634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115610f7557600081815260208120601f850160051c810160208610156140aa5750805b601f850160051c820191505b818110156140c9578281556001016140b6565b505050505050565b815167ffffffffffffffff8111156140eb576140eb61388c565b6140ff816140f98454614049565b84614083565b602080601f831160018114614134576000841561411c5750858301515b600019600386901b1c1916600185901b1785556140c9565b600085815260208120601f198616915b8281101561416357888601518255948401946001909101908401614144565b50858210156141815787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b600060208083850312156141a457600080fd5b825167ffffffffffffffff808211156141bc57600080fd5b818501915085601f8301126141d057600080fd5b8151818111156141e2576141e261388c565b8060051b91506141f3848301613936565b818152918301840191848101908884111561420d57600080fd5b938501935b838510156142375784519250614227836137c0565b8282529385019390850190614212565b98975050505050505050565b6000815461425081614049565b80855260206001838116801561426d5760018114614287576142b5565b60ff1985168884015283151560051b8801830195506142b5565b866000528260002060005b858110156142ad5781548a8201860152908301908401614292565b890184019650505b505050505092915050565b8051825260006020820151604060208501526130a96040850182613d32565b600081518084526020808501945080840160005b838110156143185781516001600160a01b0316875295820195908201906001016142f3565b509495945050505050565b85815260a06020820152600061433c60a0830187614243565b828103604084015261434e81876142c0565b90506001600160a01b0385166060840152828103608084015261423781856142df565b83815260606020820152600061438a6060830185614243565b828103604084015261439c81856142c0565b9695505050505050565b600481106143b6576143b6613e14565b9052565b6000610120820190506001600160a01b0383511682526020830151602083015260408301516040830152606083015160608301526080830151608083015260a08301516003811061440d5761440d613e14565b8060a08401525060c083015161442660c08401826143a6565b5060e083015161443960e0840182519052565b50610100928301516001600160a01b0316919092015290565b87815260006001600160a01b03808916602084015260e0604084015261447b60e0840189613d32565b818816606085015286608085015283810360a085015261449b81876142c0565b91505082810360c08401526144b081856142df565b9a9950505050505050505050565b85815260006001600160a01b038087166020840152808616604084015280851660608401525060a0608083015261333b60a08301846142c0565b60408152600061450b6040830185613d32565b90506001600160a01b03831660208301529392505050565b6040815260006145366040830185613d32565b90508260208301529392505050565b7f416363657373436f6e74726f6c3a206163636f756e742000000000000000000081526000835161457d816017850160208801613d0e565b7f206973206d697373696e6720726f6c652000000000000000000000000000000060179184019182015283516145ba816028840160208801613d0e565b01602801949350505050565b6000816145d5576145d5613de7565b506000190190565b600082516145ef818460208701613d0e565b919091019291505056fe67617264656e73466163746f72792e67657447617264656e7346656552656365697665722829a264697066735822122084e2c8b555b2ef161e2f709baddfca3402faa4482a0277b2a995b1521474725664736f6c63430008130033", - "sourceMap": "1641:21524:133:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2732:202:58;;;;;;:::i;:::-;;:::i;:::-;;;516:14:151;;509:22;491:41;;479:2;464:18;2732:202:58;;;;;;;;20900:107:133;20981:19;;20900:107;;;689:25:151;;;677:2;662:18;20900:107:133;543:177:151;6545:24:133;;;;;;21201:280;;;;;;:::i;:::-;;:::i;:::-;;10877:1179;;;;;;:::i;:::-;;:::i;17592:120::-;;;;;;:::i;:::-;;:::i;6303:25::-;;;;;;;;;16650:120;;;;;;:::i;:::-;;:::i;12062:691::-;;;;;;:::i;:::-;;:::i;4504:129:58:-;;;;;;:::i;:::-;4578:7;4604:12;;;:6;:12;;;;;;;;:22;;;4504:129;20427:467:133;;;:::i;7420:82::-;;;;;;:::i;:::-;;:::i;:::-;;;-1:-1:-1;;;;;2836:55:151;;;2818:74;;2806:2;2791:18;7420:82:133;2672:226:151;16059:143:133;;;;;;:::i;:::-;-1:-1:-1;;;;;16154:28:133;16128:7;16154:28;;;:19;:28;;;;;:41;;;;16059:143;4929:145:58;;;;;;:::i;:::-;;:::i;21013:182:133:-;;;;;;:::i;:::-;;:::i;6725:25::-;;;;;;18514:1907;;;:::i;6038:214:58:-;;;;;;:::i;:::-;;:::i;17718:240:133:-;;;;;;:::i;:::-;;:::i;7175:68::-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;7508:107;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;13190:998;;;;;;:::i;:::-;;:::i;6688:31::-;;;;;-1:-1:-1;;;;;6688:31:133;;;14328:1554;;;;;;:::i;:::-;;:::i;7249:98::-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;22592:571;;;;;;:::i;:::-;;:::i;6756:41::-;;;;;-1:-1:-1;;;;;6756:41:133;;;6937:24;;;;;-1:-1:-1;;;;;6937:24:133;;;17165:229;;;;;;:::i;:::-;;:::i;15888:165::-;;;;;;:::i;:::-;-1:-1:-1;;;;;16005:30:133;;;15979:7;16005:30;;;:21;:30;;;;;;;;:41;;;;;;;;;;;;;15888:165;6472:34;;;;;;6875:25;;;;;-1:-1:-1;;;;;6875:25:133;;;16331:313;;;;;;:::i;:::-;;:::i;7354:60::-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7354:60:133;;;;;;;;;;;;;-1:-1:-1;;;;;4439:55:151;;;4421:74;;4526:2;4511:18;;4504:34;;;;4581:14;4574:22;4554:18;;;4547:50;4409:2;4394:18;7354:60:133;4225:378:151;6512:27:133;;;;;;3021:145:58;;;;;;:::i;:::-;3107:4;3130:12;;;:6;:12;;;;;;;;-1:-1:-1;;;;;3130:29:58;;;;;;;;;;;;;;;3021:145;7920:1945:133;;;;;;:::i;:::-;;:::i;9871:341::-;;;;;;:::i;:::-;;:::i;:::-;;;;11670:25:151;;;-1:-1:-1;;;;;11731:55:151;;;11726:2;11711:18;;11704:83;11643:18;9871:341:133;11496:297:151;2053:82:133;;2101:34;2053:82;;1807:75;;1840:42;1807:75;;2153:49:58;;2198:4;2153:49;;18326:182:133;;;;;;:::i;:::-;-1:-1:-1;;;;;18434:28:133;;;18382:14;18434:28;;;:19;:28;;;;;;;;;18408:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18326:182;6620:26;;;;;-1:-1:-1;;;;;6620:26:133;;;18149:171;;;:::i;7081:30::-;;;:::i;:::-;;;;;;;:::i;21661:453::-;;;:::i;7708:54::-;;;:::i;7048:27::-;;;:::i;5354:147:58:-;;;;;;:::i;:::-;;:::i;6967:17:133:-;;;;;-1:-1:-1;;;;;6967:17:133;;;7653:49;;7695:7;7653:49;;6906:25;;;;;-1:-1:-1;;;;;6906:25:133;;;21523:132;;;;;;:::i;:::-;;:::i;6652:30::-;;;;;-1:-1:-1;;;;;6652:30:133;;;10218:653;;;;;;:::i;:::-;;:::i;2732:202:58:-;2817:4;-1:-1:-1;;;;;;2840:47:58;;2855:32;2840:47;;:87;;-1:-1:-1;;;;;;;;;;937:40:84;;;2891:36:58;2833:94;2732:202;-1:-1:-1;;2732:202:58:o;21201:280:133:-;21269:17;:15;:17::i;:::-;7742:20;7695:7;7742:2;:20;:::i;:::-;21300:16;:26;21296:86;;;21349:22;;;;;;;;;;;;;;21296:86;21391:12;:31;;;21437:37;;689:25:151;;;21437:37:133;;677:2:151;662:18;21437:37:133;;;;;;;;21201:280;:::o;10877:1179::-;10964:34;10990:7;10964:25;:34::i;:::-;11008:30;11028:9;11008:19;:30::i;:::-;11048:29;11067:9;11048:18;:29::i;:::-;-1:-1:-1;;;;;11092:36:133;;;;;;;:27;:36;;;;;;;;:47;;;;;;;;;;;;11088:107;;;11162:22;;;;;;;;;;;;;;11088:107;-1:-1:-1;;;;;11228:28:133;;;11205:20;11228:28;;;:19;:28;;;;;;;;;11205:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11351:19;;;;11400:9;-1:-1:-1;;;;;11385:40:133;;:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:82;;;;;;;;:::i;:::-;;11381:384;;11502:51;;-1:-1:-1;;;11502:51:133;;-1:-1:-1;;;;;14844:55:151;;;11502:51:133;;;14826:74:151;11551:1:133;14916:18:151;;;14909:34;11502:39:133;;;;;14799:18:151;;11502:51:133;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11483:70;;11381:384;;;11620:32;11589:9;-1:-1:-1;;;;;11574:40:133;;:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:78;;;;;;;;:::i;:::-;;11570:195;;11687:67;;-1:-1:-1;;;11687:67:133;;-1:-1:-1;;;;;14844:55:151;;;11687:67:133;;;14826:74:151;14916:18;;;14909:34;;;11687:39:133;;;;;14799:18:151;;11687:67:133;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11668:86;;11570:195;-1:-1:-1;;;;;11775:30:133;;;;;;;:21;:30;;;;;;;;:41;;;;;;;;;;;;:60;;;11864:36;;;:27;:36;;;;;:47;;;;;;;;:54;;-1:-1:-1;;11864:54:133;11914:4;11864:54;;;;;;11929:27;;;:18;:27;;;;;:43;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;11929:43:133;;;;;11988:61;;15708:34:151;;;15758:18;;15751:43;;;;15810:18;;;15803:34;;;11988:61:133;;15635:2:151;15620:18;11988:61:133;;;;;;;10954:1102;;;10877:1179;;:::o;17592:120::-;17652:17;:15;:17::i;:::-;17679:26;17695:9;17679:15;:26::i;:::-;17592:120;:::o;16650:::-;16710:17;:15;:17::i;:::-;16737:26;16750:12;16737;:26::i;12062:691::-;12151:34;12177:7;12151:25;:34::i;:::-;12195:29;12214:9;12195:18;:29::i;:::-;12234:42;12254:10;12266:9;12234:19;:42::i;:::-;-1:-1:-1;;;;;12292:36:133;;;;;;;:27;:36;;;;;;;;:47;;;;;;;;;;;;12287:110;;12362:24;;;;;;;;;;;;;;12287:110;-1:-1:-1;;;;;12407:36:133;;;12457:5;12407:36;;;:27;:36;;;;;;;;:47;;;;;;;;;;;;:55;;-1:-1:-1;;12407:55:133;;;12472:30;;;:21;:30;;;;;:41;;;;;;;;;:45;12527:44;12435:7;12444:9;12527:24;:44::i;:::-;12701:45;;;-1:-1:-1;;;;;16101:15:151;;;16083:34;;16153:15;;16148:2;16133:18;;16126:43;12701:45:133;;15995:18:151;12701:45:133;;;;;;;12062:691;;:::o;20427:467::-;20550:15;;20482:7;;-1:-1:-1;;;;;20550:15:133;20482:7;20645:21;7695:7;20645:3;:21;:::i;:::-;20628:12;;20606:19;;:34;;;;:::i;:::-;20605:62;;;;:::i;:::-;20576:91;-1:-1:-1;20677:24:133;20788:21;7695:7;20788:3;:21;:::i;:::-;20739:44;;-1:-1:-1;;;20739:44:133;;20777:4;20739:44;;;2818:74:151;-1:-1:-1;;;;;20739:29:133;;;;;2791:18:151;;20739:44:133;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;20717:19;;:66;;;;:::i;:::-;20716:94;;;;:::i;:::-;20677:133;;20871:16;20850:18;20828:19;;:40;;;;:::i;:::-;:59;;;;:::i;:::-;20821:66;;;;;20427:467;:::o;7420:82::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7420:82:133;;-1:-1:-1;7420:82:133;;-1:-1:-1;7420:82:133:o;4929:145:58:-;4578:7;4604:12;;;:6;:12;;;;;;;;:22;;2631:16;2642:4;2631:10;:16::i;:::-;5042:25:::1;5053:4;5059:7;5042:10;:25::i;:::-;4929:145:::0;;;:::o;21013:182:133:-;21082:17;:15;:17::i;:::-;21109:19;:32;;;21156;;689:25:151;;;21156:32:133;;677:2:151;662:18;21156:32:133;543:177:151;18514:1907:133;2261:21:69;:19;:21::i;:::-;18596:10:133::1;18578:15;18643:28:::0;;;:19:::1;:28;::::0;;;;18730:15:::1;::::0;18643:28;;-1:-1:-1;;;;;18730:15:133;;::::1;::::0;18825:21:::1;7695:7;18825:3;:21;:::i;:::-;18808:12;;18786:19;;:34;;;;:::i;:::-;18785:62;;;;:::i;:::-;18756:91:::0;-1:-1:-1;18857:24:133::1;18968:21;7695:7;18968:3;:21;:::i;:::-;18919:44;::::0;-1:-1:-1;;;18919:44:133;;18957:4:::1;18919:44;::::0;::::1;2818:74:151::0;-1:-1:-1;;;;;18919:29:133;::::1;::::0;::::1;::::0;2791:18:151;;18919:44:133::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;18897:19;;:66;;;;:::i;:::-;18896:94;;;;:::i;:::-;-1:-1:-1::0;;;;;18434:28:133;;;18382:14;18434:28;;;:19;:28;;;;;;;;;18408:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18857:133;;-1:-1:-1;19000:1415:133::1;;19038:22;::::0;::::1;:29:::0;;-1:-1:-1;;19038:29:133::1;19063:4;19038:29:::0;;::::1;::::0;;;19107:19:::1;::::0;19082:22;;::::1;:44:::0;19212:48:::1;::::0;;;;::::1;::::0;;;::::1;::::0;;::::1;;::::0;::::1;::::0;19247:11:::1;::::0;19212:48:::1;::::0;;-1:-1:-1;;;;;19247:11:133::1;19212;:48::i;:::-;19275:143;19321:7;19338:4;19388:16;19367:18;19345:19;;:40;;;;:::i;:::-;:59;;;;:::i;:::-;19275:11;::::0;-1:-1:-1;;;;;19275:11:133::1;::::0;:143;;:28:::1;:143::i;:::-;19769:53;;;;;;;;;;;;;;;;;::::0;19803:18:::1;19769:11;:53::i;:::-;19840:22:::0;;19836:175:::1;;19882:39;::::0;;;;::::1;::::0;;;::::1;::::0;;::::1;;::::0;::::1;::::0;19909:11:::1;::::0;19882:39:::1;::::0;;-1:-1:-1;;;;;19909:11:133::1;19882;:39::i;:::-;19964:11;::::0;19939::::1;::::0;:57:::1;::::0;-1:-1:-1;;;;;19939:11:133;;::::1;::::0;19964::::1;19977:18:::0;19939:24:::1;:57::i;:::-;20024:49;;;;;;;;;;;;;;;;;::::0;20056:16:::1;20024:11;:49::i;:::-;20091:20:::0;;20087:252:::1;;20131:93;;;;;;;;;;;;;;;;;;20185:14;-1:-1:-1::0;;;;;20185:36:133::1;;:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;20131:11;:93::i;:::-;20242:82;20267:14;-1:-1:-1::0;;;;;20267:36:133::1;;:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;20242:11;::::0;-1:-1:-1;;;;;20242:11:133::1;::::0;20307:16;20242:24:::1;:82::i;:::-;20384:19;::::0;20358:46:::1;::::0;;-1:-1:-1;;;;;14844:55:151;;14826:74;;14931:2;14916:18;;14909:34;;;;20358:46:133::1;::::0;14799:18:151;20358:46:133::1;;;;;;;19000:1415;18568:1853;;;;;2303:20:69::0;1716:1;2809:7;:22;2629:209;2303:20;18514:1907:133:o;6038:214:58:-;-1:-1:-1;;;;;6133:23:58;;719:10:81;6133:23:58;6125:83;;;;-1:-1:-1;;;6125:83:58;;17047:2:151;6125:83:58;;;17029:21:151;17086:2;17066:18;;;17059:30;17125:34;17105:18;;;17098:62;17196:17;17176:18;;;17169:45;17231:19;;6125:83:58;;;;;;;;;6219:26;6231:4;6237:7;6219:11;:26::i;:::-;6038:214;;:::o;17718:240:133:-;17782:17;:15;:17::i;:::-;17809:25;17828:5;17809:18;:25::i;:::-;17844:18;:26;;-1:-1:-1;;;;;;17844:26:133;-1:-1:-1;;;;;17844:26:133;;;;;;;;;17918:11;;17885:66;;;17918:11;;;;16083:34:151;;16148:2;16133:18;;16126:43;;;;17885:66:133;;15995:18:151;17885:66:133;15848:327:151;13190:998:133;2261:21:69;:19;:21::i;:::-;13266:26:133::1;:24;:26::i;:::-;13319:10;13302:14;13375:26:::0;;;:18:::1;:26;::::0;;;;;;;13339:62;;;;;;::::1;::::0;;;;;;;;;;;;13375:26;;13339:62;;::::1;13375:26:::0;13339:62;;::::1;;;;;;;;;;;;;;;;::::0;;-1:-1:-1;;;;;13339:62:133::1;::::0;;;;;::::1;::::0;::::1;;::::0;;::::1;;;;;;;;;;;13412:24;13452:9:::0;13464:1:::1;13452:13;;13447:533;13471:16;:23;13467:1;:27;13447:533;;;13654:16;13671:1;13654:19;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;13639:72:::1;::::0;-1:-1:-1;;;13639:72:133;;-1:-1:-1;;;;;14844:55:151;;;13639:72:133::1;::::0;::::1;14826:74:151::0;14916:18;;;14909:34;;;13639:49:133;;::::1;::::0;::::1;::::0;14799:18:151;;13639:72:133::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13620:91:::0;-1:-1:-1;13729:21:133;;13725:229:::1;;-1:-1:-1::0;;;;;13770:29:133;::::1;;::::0;;;:21:::1;:29;::::0;;;;13800:19;;13824:16;;13770:29;13800:16;;13817:1;;13800:19;::::1;;;;;:::i;:::-;;;;;;;-1:-1:-1::0;;;;;13770:50:133::1;-1:-1:-1::0;;;;;13770:50:133::1;;;;;;;;;;;;;:70;;;;;;;:::i;:::-;;;;;;;;13858:81;;;;;;;;;;;;;;;;;::::0;13888:21:::1;:29;13910:6;-1:-1:-1::0;;;;;13888:29:133::1;-1:-1:-1::0;;;;;13888:29:133::1;;;;;;;;;;;;:50;13918:16;13935:1;13918:19;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1::0;;;;;13888:50:133::1;-1:-1:-1::0;;;;;13888:50:133::1;;;;;;;;;;;;;13858:11;:81::i;:::-;13496:3:::0;::::1;::::0;::::1;:::i;:::-;;;;13447:533;;;-1:-1:-1::0;13990:11:133::1;::::0;:66:::1;::::0;-1:-1:-1;;;;;13990:11:133::1;14019:6:::0;14035:4:::1;14042:13:::0;13990:28:::1;:66::i;:::-;-1:-1:-1::0;;;;;14066:27:133;::::1;;::::0;;;:19:::1;:27;::::0;;;;:40:::1;;:57:::0;;14110:13;;14066:27;:57:::1;::::0;14110:13;;14066:57:::1;:::i;:::-;::::0;;;-1:-1:-1;;14138:43:133::1;::::0;;-1:-1:-1;;;;;14844:55:151;;14826:74;;14931:2;14916:18;;14909:34;;;14138:43:133::1;::::0;14799:18:151;14138:43:133::1;;;;;;;;13256:932;;;2303:20:69::0;1716:1;2809:7;:22;2629:209;14328:1554:133;2261:21:69;:19;:21::i;:::-;14406:26:133::1;:24;:26::i;:::-;14459:10;14442:14;14516:26:::0;;;:18:::1;:26;::::0;;;;;;;14653:19:::1;::::0;14592::::1;:27:::0;;;;;;:40:::1;;::::0;14516:26;;14442:14;14653:19;14592:58:::1;::::0;14635:15;;14592:58:::1;:::i;:::-;:80;14588:140;;;14695:22;;;;;;;;;;;;;;14588:140;14737:11;::::0;:49:::1;::::0;-1:-1:-1;;;;;14737:11:133::1;14762:6:::0;14770:15;14737:24:::1;:49::i;:::-;14801:9;14796:951;14820:23:::0;;14816:27;::::1;14796:951;;;14864:16;14883;14900:1;14883:19;;;;;;;;:::i;:::-;;::::0;;;::::1;::::0;;;::::1;::::0;-1:-1:-1;;;;;14883:19:133::1;::::0;-1:-1:-1;14920:60:133::1;14883:19:::0;-1:-1:-1;;;14920:26:133::1;:60::i;:::-;14916:804;;;15019:63;::::0;;;;-1:-1:-1;;;;;14844:55:151;;;15019:63:133::1;::::0;::::1;14826:74:151::0;14916:18;;;14909:34;;;15019:38:133;::::1;::::0;::::1;::::0;14799:18:151;;15019:63:133::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;15000:82;;15100:20;15123:21;:29;15145:6;-1:-1:-1::0;;;;;15123:29:133::1;-1:-1:-1::0;;;;;15123:29:133::1;;;;;;;;;;;;:50;15153:16;15170:1;15153:19;;;;;;;;:::i;:::-;;::::0;;;::::1;::::0;;;;;::::1;::::0;-1:-1:-1;;;;;15153:19:133::1;15123:50:::0;;;::::1;::::0;;;;;;;;;;-1:-1:-1;15195:31:133;;::::1;15191:259;;;15257:57;::::0;::::1;::::0;;::::1;::::0;::::1;18237:25:151::0;;;18278:18;;;18271:34;;;18210:18;;15257:57:133::1;18063:248:151::0;15191:259:133::1;-1:-1:-1::0;;;;;15361:29:133;::::1;;::::0;;;:21:::1;:29;::::0;;;;15391:19;;15415:16;;15361:29;15391:16;;15408:1;;15391:19;::::1;;;;;:::i;:::-;;::::0;;;::::1;::::0;;;;;::::1;::::0;-1:-1:-1;;;;;15391:19:133::1;15361:50:::0;;;::::1;::::0;;;;;;;;:70;;:50;;15391:19;15361:70:::1;::::0;;;::::1;:::i;:::-;::::0;;;-1:-1:-1;;14982:482:133::1;14916:804;;;15594:23:::0;;15577:16;;15594:27:::1;::::0;15620:1:::1;::::0;15594:27:::1;:::i;:::-;15577:45;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;-1:-1:-1::0;;;;;15577:45:133::1;15555:16;15572:1;15555:19;;;;;;;;:::i;:::-;;;;;;;;;:67;;;;;-1:-1:-1::0;;;;;15555:67:133::1;;;;;-1:-1:-1::0;;;;;15555:67:133::1;;;;;;15640:16;:22;;;;;;;:::i;:::-;;::::0;;;::::1;::::0;;;;-1:-1:-1;;15640:22:133;;;;;-1:-1:-1;;;;;;15640:22:133::1;::::0;;;;;15680:25:::1;15696:8:::0;15680:15:::1;:25::i;:::-;-1:-1:-1::0;14845:3:133;::::1;::::0;::::1;:::i;:::-;;;;14796:951;;;-1:-1:-1::0;;;;;;15756:27:133;::::1;;::::0;;;:19:::1;:27;::::0;;;;:40:::1;;:59:::0;;15800:15;;15756:27;:59:::1;::::0;15800:15;;15756:59:::1;:::i;:::-;::::0;;;-1:-1:-1;;15830:45:133::1;::::0;;-1:-1:-1;;;;;14844:55:151;;14826:74;;14931:2;14916:18;;14909:34;;;15830:45:133::1;::::0;14799:18:151;15830:45:133::1;14644:305:151::0;22592:571:133;2261:21:69;:19;:21::i;:::-;22685:17:133::1;:15;:17::i;:::-;22717:13;::::0;::::1;;22712:68;;22753:16;;;;;;;;;;;;;;22712:68;-1:-1:-1::0;;;;;18434:28:133;;;18382:14;18434:28;;;:19;:28;;;;;;;;;18408:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22789:75:::1;;22834:19;;-1:-1:-1::0;;;22834:19:133::1;;;;;;;;;;;22789:75;-1:-1:-1::0;;;;;22896:28:133;;::::1;22873:20;22896:28:::0;;;:19:::1;:28;::::0;;;;;;;;22873:51;;::::1;::::0;::::1;::::0;;;;;;::::1;::::0;;;;::::1;::::0;;;::::1;::::0;;;;::::1;;::::0;::::1;;;;::::0;;;;22934:32:::1;22916:7:::0;22934:23:::1;:32::i;:::-;-1:-1:-1::0;;;;;22983:28:133;;::::1;;::::0;;;:19:::1;:28;::::0;;;;;;;22976:35;;-1:-1:-1;;;;;;22976:35:133::1;::::0;;-1:-1:-1;22976:35:133;::::1;::::0;;;;::::1;::::0;;::::1;::::0;;-1:-1:-1;;22976:35:133::1;::::0;;23022:11:::1;::::0;23061:19;;::::1;::::0;23022:59;;-1:-1:-1;;;23022:59:133;;14844:55:151;;;23022:59:133::1;::::0;::::1;14826:74:151::0;14916:18;;;14909:34;;;;23022:11:133;;::::1;::::0;:20:::1;::::0;14799:18:151;;23022:59:133::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;23136:19:133::1;::::0;;::::1;::::0;23096:60:::1;::::0;;-1:-1:-1;;;;;15726:15:151;;;15708:34;;15778:15;;15758:18;;;15751:43;;;;15810:18;;15803:34;23096:60:133::1;::::0;15635:2:151;15620:18;23096:60:133::1;;;;;;;22675:488;2303:20:69::0;1716:1;2809:7;:22;2629:209;17165:229:133;17230:17;:15;:17::i;:::-;17284:4;;:20;;-1:-1:-1;;;17284:20:133;;;;;689:25:151;;;17257:16:133;;-1:-1:-1;;;;;17284:4:133;;:12;;662:18:151;;17284:20:133;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;17284:20:133;;;;;;;;;;;;:::i;:::-;:29;;;17257:57;;17324:28;17343:8;17324:18;:28::i;:::-;17362:25;17378:8;17362:15;:25::i;16331:313::-;16393:17;:15;:17::i;:::-;16447:4;;:20;;-1:-1:-1;;;16447:20:133;;;;;689:25:151;;;16420:16:133;;-1:-1:-1;;;;;16447:4:133;;:12;;662:18:151;;16447:20:133;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;16447:20:133;;;;;;;;;;;;:::i;:::-;:29;;;16420:57;;16487:28;16506:8;16487:18;:28::i;:::-;16529:60;-1:-1:-1;;;;;16529:26:133;;-1:-1:-1;;;16529:26:133;:60::i;:::-;16525:113;;;16605:22;16618:8;16605:12;:22::i;7920:1945::-;8007:48;8034:6;:19;;;8007:18;:48::i;:::-;8065:39;8084:6;:19;;;8065:18;:39::i;:::-;8133:12;;8114:32;;:18;:32::i;:::-;8156:43;8175:6;:23;;;8156:18;:43::i;:::-;8209:44;8228:6;:24;;;8209:18;:44::i;:::-;8268:20;;;;:25;8264:95;;8309:39;8328:6;:19;;;8309:18;:39::i;:::-;8381:12;;8368:4;:26;;-1:-1:-1;;;;;8368:26:133;;;-1:-1:-1;;;;;;8368:26:133;;;;;;;8418:19;;;;8404:11;:33;;;;;;;;;;;8451:27;;;;8381:12;8451:32;8447:89;;8506:19;;;;;;;;;;;;;;8447:89;8567:27;;;;8545:19;:49;8619:20;;;;8604:12;:35;8665:21;;;;8649:13;:37;;-1:-1:-1;;8649:37:133;;;;;;;;;;8712:21;;;;8696:13;;:37;;:13;:37;:::i;:::-;-1:-1:-1;8762:23:133;;;;8743:16;;:42;;:16;:42;:::i;:::-;-1:-1:-1;8813:23:133;;;;8795:15;:41;;-1:-1:-1;;;;;;8795:41:133;;;-1:-1:-1;;;;;8795:41:133;;;;;;;8860:19;;;;8846:11;:33;;;;;;;;;;;;;8795:41;8909:19;;;8889:11;:40;;;;;;;;;;8958:24;;;;8939:16;:43;;;;;;;;;;;;;8993:54;;2101:34;;8993:10;:54::i;:::-;9079:4;;;;;;;;;-1:-1:-1;;;;;9079:4:133;-1:-1:-1;;;;;9079:16:133;;:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9058:8;:40;;-1:-1:-1;;;;;;9058:40:133;-1:-1:-1;;;;;9058:40:133;;;;;;9135:11;;:23;;;;;;;;-1:-1:-1;;9135:11:133;;;;;:21;;:23;;;;;-1:-1:-1;;9135:23:133;;;;;;;;:11;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;9135:23:133;;;;;;;;;;;;:::i;:::-;9109:49;;9168:36;9221:6;:13;9237:1;9221:17;;;;:::i;:::-;9207:32;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;9207:32:133;;9168:71;;9255:9;9250:103;9274:6;:13;9270:1;:17;9250:103;;;9333:6;9340:1;9333:9;;;;;;;;:::i;:::-;;;;;;;9308:19;9328:1;9308:22;;;;;;;;:::i;:::-;-1:-1:-1;;;;;9308:34:133;;;:22;;;;;;;;;;;:34;9289:3;;;;:::i;:::-;;;;9250:103;;;-1:-1:-1;9425:11:133;;9383:26;;-1:-1:-1;;;;;9425:11:133;;;;9363:19;;9383:30;;9425:11;;9383:30;:::i;:::-;9363:51;;;;;;;;:::i;:::-;;;;;;:74;-1:-1:-1;;;;;9363:74:133;;;-1:-1:-1;;;;;9363:74:133;;;;;9509:4;9447:19;9496:1;9467:19;:26;:30;;;;:::i;:::-;9447:51;;;;;;;;:::i;:::-;-1:-1:-1;;;;;9447:67:133;;;:51;;;;;;;;;:67;9626:8;;9649:13;;;;9679:16;;;;9626:106;;;;;:8;;;;;:22;;:106;;9649:13;9664;;9705:4;;9712:19;;9626:106;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9602:9;:130;9743:36;;;;:14;;:36;;;;;:::i;:::-;;9795:63;9815:9;;9826:13;9841:6;:16;;;9795:63;;;;;;;;:::i;:::-;;;;;;;;7997:1868;;7920:1945;:::o;9871:341::-;10104:16;;10122:10;:12;;10014:14;;;;;;10086:49;;-1:-1:-1;;;;;10104:16:133;;10014:14;10122:12;;;:::i;:::-;;;;;10086:17;:49::i;:::-;10062:73;;10152:53;10163:13;10178:6;10186:7;10195:9;10152:10;:53::i;:::-;10145:60;;;;;9871:341;;;;;;:::o;18149:171::-;18213:18;;-1:-1:-1;;;;;18213:18:133;18199:10;:32;18195:89;;18254:19;;;;;;;;;;;;;;18195:89;18293:20;:18;:20::i;7081:30::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;21661:453::-;2261:21:69;:19;:21::i;:::-;21737:10:133::1;21757:34;21737:10:::0;21757:25:::1;:34::i;:::-;21801:32;21825:7;21801:23;:32::i;:::-;-1:-1:-1::0;;;;;21866:28:133;;::::1;21843:20;21866:28:::0;;;:19:::1;:28;::::0;;;;;;;21843:51;;::::1;::::0;::::1;::::0;;;;;;::::1;::::0;;;;::::1;::::0;;;;::::1;::::0;::::1;::::0;::::1;::::0;;::::1;::::0;::::1;;;::::0;;;;21911:28;;;-1:-1:-1;;;;;;21904:35:133;;::::1;::::0;;;;;;;-1:-1:-1;;21904:35:133;;::::1;::::0;;;21956:18:::1;:27:::0;;;;;21843:51;;21949:34:::1;::::0;21956:27;21949:34:::1;:::i;:::-;21994:11;::::0;22024:19:::1;::::0;::::1;::::0;21994:50:::1;::::0;-1:-1:-1;;;21994:50:133;;-1:-1:-1;;;;;14844:55:151;;;21994:50:133::1;::::0;::::1;14826:74:151::0;14916:18;;;14909:34;;;;21994:11:133;::::1;::::0;:20:::1;::::0;14799:18:151;;21994:50:133::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;22087:19:133::1;::::0;;::::1;::::0;22059:48:::1;::::0;;-1:-1:-1;;;;;14844:55:151;;14826:74;;14916:18;;;14909:34;;;;22059:48:133::1;::::0;14799:18:151;22059:48:133::1;;;;;;;21709:405;;2303:20:69::0;1716:1;2809:7;:22;2629:209;7708:54:133;7742:20;7695:7;7742:2;:20;:::i;:::-;7708:54;:::o;7048:27::-;;;;;;;:::i;5354:147:58:-;4578:7;4604:12;;;:6;:12;;;;;;;;:22;;2631:16;2642:4;2631:10;:16::i;:::-;5468:26:::1;5480:4;5486:7;5468:11;:26::i;21523:132:133:-:0;-1:-1:-1;;;;;3130:29:58;;21586:4:133;3130:29:58;;;:12;;:29;:12;:29;;;;;21609:39:133;3021:145:58;10218:653:133;10402:14;;1840:42;-1:-1:-1;;;;;10482:20:133;;;10478:65;;-1:-1:-1;10526:6:133;10478:65;10563:9;10552:20;;10583:31;10617:14;10583:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;10583:48:133;;;;;;;;;;;;;;;;-1:-1:-1;;10651:4:133;;10698:9;;10719:19;;10583:48;;-1:-1:-1;;;;;;10651:4:133;;;;:33;;-1:-1:-1;10698:9:133;;-1:-1:-1;10709:8:133;;-1:-1:-1;10719:19:133;;10730:7;;10719:19;;;:::i;:::-;;;;;;;;;;;;;10740:5;10747:1;10750:9;10761:14;10651:134;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10642:143;;10801:63;10813:6;10821:8;10839:4;10846:6;10854:9;10801:63;;;;;;;;;;:::i;:::-;;;;;;;;10436:435;;10218:653;;;;;;;:::o;3575:155::-;3661:10;3107:4:58;3130:29;;;:12;;:29;:12;:29;;;;;3625:99:133;;3695:18;;;;;;;;;;;;;;3885:156;-1:-1:-1;;;;;18434:28:133;;;18382:14;18434:28;;;:19;:28;;;;;;;;;18408:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3960:75;;4005:19;;-1:-1:-1;;;4005:19:133;;;;;;;;;;;4047:162;-1:-1:-1;;;;;4123:28:133;;;;;;:17;:28;;;;;;;;4118:85;;4174:18;;;;;;;;;;;;;;17026:133;-1:-1:-1;;;;;17100:22:133;;17096:56;;17131:21;;;;;;;;;;;;;;17400:186;17463:29;17482:9;17463:18;:29::i;:::-;-1:-1:-1;;;;;17502:28:133;;17533:5;17502:28;;;:17;:28;;;;;;;;;:36;;-1:-1:-1;;17502:36:133;;;17553:26;;2818:74:151;;;17553:26:133;;2791:18:151;17553:26:133;2672:226:151;16776:244:133;-1:-1:-1;;;;;16843:31:133;;;;;;:17;:31;;;;;;;;16839:85;;;16897:16;;;;;;;;;;;;;;16839:85;-1:-1:-1;;;;;16933:31:133;;;;;;:17;:31;;;;;;;;;:38;;-1:-1:-1;;16933:38:133;16967:4;16933:38;;;16986:27;;2818:74:151;;;16986:27:133;;2791:18:151;16986:27:133;2672:226:151;4215:171:133;4318:9;-1:-1:-1;;;;;4307:20:133;:7;-1:-1:-1;;;;;4307:20:133;;4303:77;;4350:19;;;;;;;;;;;;;;12759:425;-1:-1:-1;;;;;12885:27:133;;12848:34;12885:27;;;:18;:27;;;;;;12922:256;12946:23;;12942:27;;12922:256;;;13017:9;-1:-1:-1;;;;;12994:32:133;:16;13011:1;12994:19;;;;;;;;:::i;:::-;;;;;;;;;;;-1:-1:-1;;;;;12994:19:133;:32;12990:178;;13085:23;;13068:16;;13085:27;;13111:1;;13085:27;:::i;:::-;13068:45;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;13068:45:133;13046:16;13063:1;13046:19;;;;;;;;:::i;:::-;;;;;;;;;:67;;;;;-1:-1:-1;;;;;13046:67:133;;;;;-1:-1:-1;;;;;13046:67:133;;;;;;13131:16;:22;;;;;;;:::i;:::-;;;;;;;;;;-1:-1:-1;;13131:22:133;;;;;-1:-1:-1;;;;;;13131:22:133;;;;;;12990:178;12971:3;;;;:::i;:::-;;;;12922:256;;;;12838:346;12759:425;;:::o;3460:103:58:-;3526:30;3537:4;719:10:81;3526::58;:30::i;7587:233::-;3107:4;3130:12;;;:6;:12;;;;;;;;-1:-1:-1;;;;;3130:29:58;;;;;;;;;;;;7665:149;;7708:12;;;;7740:4;7708:12;;;;;;;;-1:-1:-1;;;;;7708:29:58;;;;;;;;;;:36;;-1:-1:-1;;7708:36:58;;;;;;;7763:40;;719:10:81;;7708:12:58;;7763:40;;7708:12;7763:40;7587:233;;:::o;2336:287:69:-;1759:1;2468:7;;:19;2460:63;;;;-1:-1:-1;;;2460:63:69;;30350:2:151;2460:63:69;;;30332:21:151;30389:2;30369:18;;;30362:30;30428:33;30408:18;;;30401:61;30479:18;;2460:63:69;30148:355:151;2460:63:69;1759:1;2598:7;:18;2336:287::o;6994:145:35:-;7061:71;7124:2;7128;7077:54;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;7077:54:35;;;;;;;;;;;;;;-1:-1:-1;;;;;7077:54:35;;;;;7061:15;:71::i;1355:203:77:-;1482:68;;-1:-1:-1;;;;;15726:15:151;;;1482:68:77;;;15708:34:151;15778:15;;15758:18;;;15751:43;15810:18;;;15803:34;;;1455:96:77;;1475:5;;1505:27;;15620:18:151;;1482:68:77;;;;-1:-1:-1;;1482:68:77;;;;;;;;;;;;;;-1:-1:-1;;;;;1482:68:77;-1:-1:-1;;;;;;1482:68:77;;;;;;;;;;1455:19;:96::i;6548:139:35:-;6612:68;6672:2;6676;6628:51;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;6628:51:35;;;;;;;;;;;;;;-1:-1:-1;;;;;6628:51:35;;;;;6612:15;:68::i;941:175:77:-;1050:58;;-1:-1:-1;;;;;14844:55:151;;1050:58:77;;;14826:74:151;14916:18;;;14909:34;;;1023:86:77;;1043:5;;-1:-1:-1;;;1073:23:77;14799:18:151;;1050:58:77;14644:305:151;7991:234:58;3107:4;3130:12;;;:6;:12;;;;;;;;-1:-1:-1;;;;;3130:29:58;;;;;;;;;;;;8070:149;;;8144:5;8112:12;;;:6;:12;;;;;;;;-1:-1:-1;;;;;8112:29:58;;;;;;;;;;:37;;-1:-1:-1;;8112:37:58;;;8168:40;719:10:81;;8112:12:58;;8168:40;;8144:5;8168:40;7991:234;;:::o;3736:143:133:-;3809:10;18382:14;18434:28;;;:19;:28;;;;;;;;;18408:54;;;;;;;;;-1:-1:-1;;;;;18408:54:133;;;;;;;;;;;;;;;;;;;;;;;;;;3795:78;;3843:19;;-1:-1:-1;;;3843:19:133;;;;;;;;;;;1349:282:85;1436:4;1543:23;1558:7;1543:14;:23::i;:::-;:81;;;;;1570:54;1603:7;1612:11;1570:32;:54::i;:::-;1536:88;1349:282;-1:-1:-1;;;1349:282:85:o;22120:466:133:-;-1:-1:-1;;;;;22225:27:133;;22189:33;22225:27;;;:18;:27;;;;;;;;22189:63;;;;;;;;;;;;;;;;;;;22225:27;;22189:63;;;22225:27;22189:63;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;22189:63:133;;;;;;;;;;;;;;;;;;;;;;;22333:9;22328:252;22352:16;:23;22348:1;:27;22328:252;;;22523:16;22540:1;22523:19;;;;;;;;:::i;:::-;;;;;;;;;;;22508:61;;;;;-1:-1:-1;;;;;2836:55:151;;;22508:61:133;;;2818:74:151;22508:52:133;;;;;;2791:18:151;;22508:61:133;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22377:3;;;;;:::i;:::-;;;;22328:252;;4749:279:6;4867:36;;-1:-1:-1;;4884:10:6;31326:2:151;31322:15;31318:53;4867:36:6;;;31306:66:151;31388:12;;;31381:28;;;4823:7:6;;;;31425:12:151;;4867:36:6;;;;;;;;;;;;4857:47;;;;;;4842:62;;4968:53;5005:9;5016:4;4968:36;:53::i;:::-;4961:60;4749:279;-1:-1:-1;;;;4749:279:6:o;17964:179:133:-;18033:18;;;18013:11;:39;;-1:-1:-1;;;;;18033:18:133;;-1:-1:-1;;;;;;18013:39:133;;;;;;;18062:25;;;18102:34;;-1:-1:-1;2818:74:151;;18102:34:133;;2806:2:151;2791:18;18102:34:133;;;;;;;17964:179::o;3844:479:58:-;3107:4;3130:12;;;:6;:12;;;;;;;;-1:-1:-1;;;;;3130:29:58;;;;;;;;;;;;3927:390;;4115:28;4135:7;4115:19;:28::i;:::-;4214:38;4242:4;4249:2;4214:19;:38::i;:::-;4022:252;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;4022:252:58;;;;;;;;;;-1:-1:-1;;;3970:336:58;;;;;;;:::i;181:376:35:-;275:14;;131:42;448:2;435:16;;251:21;;275:14;435:16;131:42;484:5;473:68;464:77;;401:150;;181:376;:::o;5173:642:77:-;5592:23;5618:69;5646:4;5618:69;;;;;;;;;;;;;;;;;5626:5;-1:-1:-1;;;;;5618:27:77;;;:69;;;;;:::i;:::-;5592:95;;5705:10;:17;5726:1;5705:22;:56;;;;5742:10;5731:30;;;;;;;;;;;;:::i;:::-;5697:111;;;;-1:-1:-1;;;5697:111:77;;32706:2:151;5697:111:77;;;32688:21:151;32745:2;32725:18;;;32718:30;32784:34;32764:18;;;32757:62;32855:12;32835:18;;;32828:40;32885:19;;5697:111:77;32504:406:151;704:427:85;768:4;975:68;1008:7;-1:-1:-1;;;975:32:85;:68::i;:::-;:149;;;;-1:-1:-1;1060:64:85;1093:7;-1:-1:-1;;;;;;1060:32:85;:64::i;:::-;1059:65;956:168;704:427;-1:-1:-1;;704:427:85:o;4421:647::-;4592:71;;;-1:-1:-1;;;;;;33077:79:151;;4592:71:85;;;;33059:98:151;;;;4592:71:85;;;;;;;;;;33032:18:151;;;;4592:71:85;;;;;;;;;-1:-1:-1;;;;;4592:71:85;-1:-1:-1;;;4592:71:85;;;4871:20;;4523:4;;4592:71;4523:4;;;;;;4592:71;4523:4;;4871:20;4836:7;4829:5;4818:86;4807:97;;4931:16;4917:30;;4981:4;4975:11;4960:26;;5013:7;:29;;;;;5038:4;5024:10;:18;;5013:29;:48;;;;;5060:1;5046:11;:15;5013:48;5006:55;4421:647;-1:-1:-1;;;;;;;4421:647:85:o;2118:828:47:-;2202:16;2472:48;2412:14;2406:4;2402:25;2371:4;2367:82;2343:178;2320:4;2296:235;2681:32;2664:14;2658:4;2654:25;2651:63;2645:4;2638:77;2857:4;2851;2845;2842:1;2834:28;2822:40;-1:-1:-1;;;;;;2889:22:47;;2881:58;;;;-1:-1:-1;;;2881:58:47;;33370:2:151;2881:58:47;;;33352:21:151;33409:2;33389:18;;;33382:30;33448:25;33428:18;;;33421:53;33491:18;;2881:58:47;33168:347:151;2407:149:83;2465:13;2497:52;-1:-1:-1;;;;;2509:22:83;;343:2;1818:437;1893:13;1918:19;1950:10;1954:6;1950:1;:10;:::i;:::-;:14;;1963:1;1950:14;:::i;:::-;1940:25;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1940:25:83;;1918:47;;1975:15;:6;1982:1;1975:9;;;;;;;;:::i;:::-;;;;:15;-1:-1:-1;;;;;1975:15:83;;;;;;;;;2000;:6;2007:1;2000:9;;;;;;;;:::i;:::-;;;;:15;-1:-1:-1;;;;;2000:15:83;;;;;;;;-1:-1:-1;2030:9:83;2042:10;2046:6;2042:1;:10;:::i;:::-;:14;;2055:1;2042:14;:::i;:::-;2030:26;;2025:128;2062:1;2058;:5;2025:128;;;2096:8;2105:5;2113:3;2105:11;2096:21;;;;;;;:::i;:::-;;;;2084:6;2091:1;2084:9;;;;;;;;:::i;:::-;;;;:33;-1:-1:-1;;;;;2084:33:83;;;;;;;;-1:-1:-1;2141:1:83;2131:11;;;;;2065:3;;;:::i;:::-;;;2025:128;;;-1:-1:-1;2170:10:83;;2162:55;;;;-1:-1:-1;;;2162:55:83;;33863:2:151;2162:55:83;;;33845:21:151;;;33882:18;;;33875:30;33941:34;33921:18;;;33914:62;33993:18;;2162:55:83;33661:356:151;4108:223:80;4241:12;4272:52;4294:6;4302:4;4308:1;4311:12;4241;5446;5460:23;5487:6;-1:-1:-1;;;;;5487:11:80;5506:5;5513:4;5487:31;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5445:73;;;;5535:69;5562:6;5570:7;5579:10;5591:12;7851;7879:7;7875:418;;;7906:10;:17;7927:1;7906:22;7902:286;;-1:-1:-1;;;;;1702:19:80;;;8113:60;;;;-1:-1:-1;;;8113:60:80;;34923:2:151;8113:60:80;;;34905:21:151;34962:2;34942:18;;;34935:30;35001:31;34981:18;;;34974:59;35050:18;;8113:60:80;34721:353:151;8113:60:80;-1:-1:-1;8208:10:80;8201:17;;7875:418;8249:33;8257:10;8269:12;8980:17;;:21;8976:379;;9208:10;9202:17;9264:15;9251:10;9247:2;9243:19;9236:44;8976:379;9331:12;9324:20;;-1:-1:-1;;;9324:20:80;;;;;;;;:::i;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14:332:151;72:6;125:2;113:9;104:7;100:23;96:32;93:52;;;141:1;138;131:12;93:52;180:9;167:23;-1:-1:-1;;;;;;223:5:151;219:78;212:5;209:89;199:117;;312:1;309;302:12;907:180;966:6;1019:2;1007:9;998:7;994:23;990:32;987:52;;;1035:1;1032;1025:12;987:52;-1:-1:-1;1058:23:151;;907:180;-1:-1:-1;907:180:151:o;1092:154::-;-1:-1:-1;;;;;1171:5:151;1167:54;1160:5;1157:65;1147:93;;1236:1;1233;1226:12;1251:134;1319:20;;1348:31;1319:20;1348:31;:::i;:::-;1251:134;;;:::o;1390:388::-;1458:6;1466;1519:2;1507:9;1498:7;1494:23;1490:32;1487:52;;;1535:1;1532;1525:12;1487:52;1574:9;1561:23;1593:31;1618:5;1593:31;:::i;:::-;1643:5;-1:-1:-1;1700:2:151;1685:18;;1672:32;1713:33;1672:32;1713:33;:::i;:::-;1765:7;1755:17;;;1390:388;;;;;:::o;1783:247::-;1842:6;1895:2;1883:9;1874:7;1870:23;1866:32;1863:52;;;1911:1;1908;1901:12;1863:52;1950:9;1937:23;1969:31;1994:5;1969:31;:::i;2220:315::-;2288:6;2296;2349:2;2337:9;2328:7;2324:23;2320:32;2317:52;;;2365:1;2362;2355:12;2317:52;2404:9;2391:23;2423:31;2448:5;2423:31;:::i;:::-;2473:5;2525:2;2510:18;;;;2497:32;;-1:-1:-1;;;2220:315:151:o;2903:::-;2971:6;2979;3032:2;3020:9;3011:7;3007:23;3003:32;3000:52;;;3048:1;3045;3038:12;3000:52;3084:9;3071:23;3061:33;;3144:2;3133:9;3129:18;3116:32;3157:31;3182:5;3157:31;:::i;4608:184::-;-1:-1:-1;;;4657:1:151;4650:88;4757:4;4754:1;4747:15;4781:4;4778:1;4771:15;4797:257;4869:4;4863:11;;;4901:17;;4948:18;4933:34;;4969:22;;;4930:62;4927:88;;;4995:18;;:::i;:::-;5031:4;5024:24;4797:257;:::o;5059:255::-;5131:2;5125:9;5173:6;5161:19;;5210:18;5195:34;;5231:22;;;5192:62;5189:88;;;5257:18;;:::i;5319:255::-;5391:2;5385:9;5433:6;5421:19;;5470:18;5455:34;;5491:22;;;5452:62;5449:88;;;5517:18;;:::i;5579:253::-;5651:2;5645:9;5693:4;5681:17;;5728:18;5713:34;;5749:22;;;5710:62;5707:88;;;5775:18;;:::i;5837:275::-;5908:2;5902:9;5973:2;5954:13;;-1:-1:-1;;5950:27:151;5938:40;;6008:18;5993:34;;6029:22;;;5990:62;5987:88;;;6055:18;;:::i;:::-;6091:2;6084:22;5837:275;;-1:-1:-1;5837:275:151:o;6117:187::-;6166:4;6199:18;6191:6;6188:30;6185:56;;;6221:18;;:::i;:::-;-1:-1:-1;6287:2:151;6266:15;-1:-1:-1;;6262:29:151;6293:4;6258:40;;6117:187::o;6309:464::-;6352:5;6405:3;6398:4;6390:6;6386:17;6382:27;6372:55;;6423:1;6420;6413:12;6372:55;6459:6;6446:20;6490:49;6506:32;6535:2;6506:32;:::i;:::-;6490:49;:::i;:::-;6564:2;6555:7;6548:19;6610:3;6603:4;6598:2;6590:6;6586:15;6582:26;6579:35;6576:55;;;6627:1;6624;6617:12;6576:55;6692:2;6685:4;6677:6;6673:17;6666:4;6657:7;6653:18;6640:55;6740:1;6715:16;;;6733:4;6711:27;6704:38;;;;6719:7;6309:464;-1:-1:-1;;;6309:464:151:o;6778:411::-;6833:5;6881:4;6869:9;6864:3;6860:19;6856:30;6853:50;;;6899:1;6896;6889:12;6853:50;6921:22;;:::i;:::-;6912:31;;6979:9;6966:23;6959:5;6952:38;7041:2;7030:9;7026:18;7013:32;7068:18;7060:6;7057:30;7054:50;;;7100:1;7097;7090:12;7054:50;7136:46;7178:3;7169:6;7158:9;7154:22;7136:46;:::i;:::-;7131:2;7124:5;7120:14;7113:70;;6778:411;;;;:::o;7194:118::-;7280:5;7273:13;7266:21;7259:5;7256:32;7246:60;;7302:1;7299;7292:12;7317:128;7382:20;;7411:28;7382:20;7411:28;:::i;7450:1713::-;7544:6;7597:2;7585:9;7576:7;7572:23;7568:32;7565:52;;;7613:1;7610;7603:12;7565:52;7653:9;7640:23;7682:18;7723:2;7715:6;7712:14;7709:34;;;7739:1;7736;7729:12;7709:34;7762:22;;;;7818:6;7800:16;;;7796:29;7793:49;;;7838:1;7835;7828:12;7793:49;7864:22;;:::i;:::-;7909;7928:2;7909:22;:::i;:::-;7902:5;7895:37;7964:31;7991:2;7987;7983:11;7964:31;:::i;:::-;7959:2;7952:5;7948:14;7941:55;8049:2;8045;8041:11;8028:25;8023:2;8016:5;8012:14;8005:49;8107:2;8103;8099:11;8086:25;8081:2;8074:5;8070:14;8063:49;8166:3;8162:2;8158:12;8145:26;8139:3;8132:5;8128:15;8121:51;8205:32;8232:3;8228:2;8224:12;8205:32;:::i;:::-;8199:3;8192:5;8188:15;8181:57;8271:32;8298:3;8294:2;8290:12;8271:32;:::i;:::-;8265:3;8258:5;8254:15;8247:57;8350:3;8346:2;8342:12;8329:26;8380:2;8370:8;8367:16;8364:36;;;8396:1;8393;8386:12;8364:36;8433:54;8479:7;8468:8;8464:2;8460:17;8433:54;:::i;:::-;8427:3;8420:5;8416:15;8409:79;;8507:3;8542:31;8569:2;8565;8561:11;8542:31;:::i;:::-;8526:14;;;8519:55;8593:3;8634:11;;;8621:25;8658:16;;;8655:36;;;8687:1;8684;8677:12;8655:36;8723:45;8760:7;8749:8;8745:2;8741:17;8723:45;:::i;:::-;8718:2;8711:5;8707:14;8700:69;;;8788:3;8823:28;8847:2;8843;8839:11;8823:28;:::i;:::-;8807:14;;;8800:52;8871:3;8912:11;;;8899:25;8936:16;;;8933:36;;;8965:1;8962;8955:12;8933:36;9001:45;9038:7;9027:8;9023:2;9019:17;9001:45;:::i;:::-;8996:2;8989:5;8985:14;8978:69;;;9066:3;9056:13;;9101:31;9128:2;9124;9120:11;9101:31;:::i;:::-;9085:14;;;9078:55;;;;9089:5;7450:1713;-1:-1:-1;;;;7450:1713:151:o;9168:153::-;9246:20;;9295:1;9285:12;;9275:40;;9311:1;9308;9301:12;9326:110;9410:1;9403:5;9400:12;9390:40;;9426:1;9423;9416:12;9441:152;9518:20;;9547:40;9518:20;9547:40;:::i;9598:416::-;9662:5;9710:4;9698:9;9693:3;9689:19;9685:30;9682:50;;;9728:1;9725;9718:12;9682:50;9761:2;9755:9;9803:4;9795:6;9791:17;9874:6;9862:10;9859:22;9838:18;9826:10;9823:34;9820:62;9817:88;;;9885:18;;:::i;:::-;9921:2;9914:22;9984:23;;9969:39;;-1:-1:-1;9954:6:151;9598:416;-1:-1:-1;9598:416:151:o;10019:849::-;10082:5;10130:6;10118:9;10113:3;10109:19;10105:32;10102:52;;;10150:1;10147;10140:12;10102:52;10172:22;;:::i;:::-;10163:31;;10217:29;10236:9;10217:29;:::i;:::-;10210:5;10203:44;10307:2;10296:9;10292:18;10279:32;10274:2;10267:5;10263:14;10256:56;10372:2;10361:9;10357:18;10344:32;10339:2;10332:5;10328:14;10321:56;10437:2;10426:9;10422:18;10409:32;10404:2;10397:5;10393:14;10386:56;10503:3;10492:9;10488:19;10475:33;10469:3;10462:5;10458:15;10451:58;10542:49;10586:3;10575:9;10571:19;10542:49;:::i;:::-;10536:3;10529:5;10525:15;10518:74;10625:48;10668:3;10657:9;10653:19;10625:48;:::i;:::-;10619:3;10612:5;10608:15;10601:73;10707:61;10764:3;10758;10747:9;10743:19;10707:61;:::i;:::-;10701:3;10694:5;10690:15;10683:86;10788:3;10823:38;10857:2;10846:9;10842:18;10823:38;:::i;:::-;10807:14;;;10800:62;10811:5;10019:849;-1:-1:-1;;10019:849:151:o;10873:618::-;11011:6;11019;11027;11080:3;11068:9;11059:7;11055:23;11051:33;11048:53;;;11097:1;11094;11087:12;11048:53;11136:9;11123:23;11155:31;11180:5;11155:31;:::i;:::-;11205:5;-1:-1:-1;11229:63:151;11284:7;11279:2;11264:18;;11229:63;:::i;:::-;11219:73;;11343:3;11332:9;11328:19;11315:33;11371:18;11363:6;11360:30;11357:50;;;11403:1;11400;11393:12;11357:50;11426:59;11477:7;11468:6;11457:9;11453:22;11426:59;:::i;:::-;11416:69;;;10873:618;;;;;:::o;11798:250::-;11883:1;11893:113;11907:6;11904:1;11901:13;11893:113;;;11983:11;;;11977:18;11964:11;;;11957:39;11929:2;11922:10;11893:113;;;-1:-1:-1;;12040:1:151;12022:16;;12015:27;11798:250::o;12053:271::-;12095:3;12133:5;12127:12;12160:6;12155:3;12148:19;12176:76;12245:6;12238:4;12233:3;12229:14;12222:4;12215:5;12211:16;12176:76;:::i;:::-;12306:2;12285:15;-1:-1:-1;;12281:29:151;12272:39;;;;12313:4;12268:50;;12053:271;-1:-1:-1;;12053:271:151:o;12329:220::-;12478:2;12467:9;12460:21;12441:4;12498:45;12539:2;12528:9;12524:18;12516:6;12498:45;:::i;13047:759::-;13194:6;13202;13210;13218;13271:3;13259:9;13250:7;13246:23;13242:33;13239:53;;;13288:1;13285;13278:12;13239:53;13327:9;13314:23;13346:31;13371:5;13346:31;:::i;:::-;13396:5;-1:-1:-1;13453:2:151;13438:18;;13425:32;13466:33;13425:32;13466:33;:::i;:::-;13518:7;-1:-1:-1;13544:63:151;13599:7;13594:2;13579:18;;13544:63;:::i;:::-;13534:73;;13658:3;13647:9;13643:19;13630:33;13686:18;13678:6;13675:30;13672:50;;;13718:1;13715;13708:12;13672:50;13741:59;13792:7;13783:6;13772:9;13768:22;13741:59;:::i;:::-;13731:69;;;13047:759;;;;;;;:::o;13811:184::-;-1:-1:-1;;;13860:1:151;13853:88;13960:4;13957:1;13950:15;13984:4;13981:1;13974:15;14000:168;14073:9;;;14104;;14121:15;;;14115:22;;14101:37;14091:71;;14142:18;;:::i;14173:184::-;-1:-1:-1;;;14222:1:151;14215:88;14322:4;14319:1;14312:15;14346:4;14343:1;14336:15;14362:277;14449:6;14502:2;14490:9;14481:7;14477:23;14473:32;14470:52;;;14518:1;14515;14508:12;14470:52;14550:9;14544:16;14569:40;14603:5;14569:40;:::i;14954:184::-;15024:6;15077:2;15065:9;15056:7;15052:23;15048:32;15045:52;;;15093:1;15090;15083:12;15045:52;-1:-1:-1;15116:16:151;;14954:184;-1:-1:-1;14954:184:151:o;16180:274::-;16220:1;16246;16236:189;;-1:-1:-1;;;16278:1:151;16271:88;16382:4;16379:1;16372:15;16410:4;16407:1;16400:15;16236:189;-1:-1:-1;16439:9:151;;16180:274::o;16459:125::-;16524:9;;;16545:10;;;16542:36;;;16558:18;;:::i;16589:251::-;16659:6;16712:2;16700:9;16691:7;16687:23;16683:32;16680:52;;;16728:1;16725;16718:12;16680:52;16760:9;16754:16;16779:31;16804:5;16779:31;:::i;17601:184::-;-1:-1:-1;;;17650:1:151;17643:88;17750:4;17747:1;17740:15;17774:4;17771:1;17764:15;17790:135;17829:3;17850:17;;;17847:43;;17870:18;;:::i;:::-;-1:-1:-1;17917:1:151;17906:13;;17790:135::o;17930:128::-;17997:9;;;18018:11;;;18015:37;;;18032:18;;:::i;18316:184::-;-1:-1:-1;;;18365:1:151;18358:88;18465:4;18462:1;18455:15;18489:4;18486:1;18479:15;18505:245;18572:6;18625:2;18613:9;18604:7;18600:23;18596:32;18593:52;;;18641:1;18638;18631:12;18593:52;18673:9;18667:16;18692:28;18714:5;18692:28;:::i;18755:1653::-;18847:6;18878:2;18921;18909:9;18900:7;18896:23;18892:32;18889:52;;;18937:1;18934;18927:12;18889:52;18970:9;18964:16;18999:18;19040:2;19032:6;19029:14;19026:34;;;19056:1;19053;19046:12;19026:34;19079:22;;;;19135:4;19117:16;;;19113:27;19110:47;;;19153:1;19150;19143:12;19110:47;19179:22;;:::i;:::-;19230:2;19224:9;19217:5;19210:24;19272:2;19268;19264:11;19258:18;19285:33;19310:7;19285:33;:::i;:::-;19334:14;;;19327:31;19396:2;19388:11;;19382:18;19409:33;19382:18;19409:33;:::i;:::-;19469:2;19458:14;;19451:31;19521:2;19513:11;;19507:18;19537:16;;;19534:36;;;19566:1;19563;19556:12;19534:36;19589:17;;19640:2;19622:16;;;19618:25;19615:45;;;19656:1;19653;19646:12;19615:45;19684:22;;:::i;:::-;19737:2;19731:9;19722:7;19715:26;19780:2;19776;19772:11;19766:18;19809:2;19799:8;19796:16;19793:36;;;19825:1;19822;19815:12;19793:36;19848:17;;;-1:-1:-1;19896:4:151;19888:13;;19884:27;-1:-1:-1;19874:55:151;;19925:1;19922;19915:12;19874:55;19954:2;19948:9;19938:19;;19979:49;19995:32;20024:2;19995:32;:::i;19979:49::-;20051:2;20044:5;20037:17;20091:7;20086:2;20081;20077;20073:11;20069:20;20066:33;20063:53;;;20112:1;20109;20102:12;20063:53;20125:67;20189:2;20184;20177:5;20173:14;20168:2;20164;20160:11;20125:67;:::i;:::-;20208:16;;;20201:31;;;;-1:-1:-1;20259:2:151;20248:14;;20241:31;;;;-1:-1:-1;20319:3:151;20311:12;;;20305:19;20288:15;;;20281:44;20372:3;20364:12;;;20358:19;20341:15;;;20334:44;20252:5;18755:1653;-1:-1:-1;;;18755:1653:151:o;20413:437::-;20492:1;20488:12;;;;20535;;;20556:61;;20610:4;20602:6;20598:17;20588:27;;20556:61;20663:2;20655:6;20652:14;20632:18;20629:38;20626:218;;-1:-1:-1;;;20697:1:151;20690:88;20801:4;20798:1;20791:15;20829:4;20826:1;20819:15;20626:218;;20413:437;;;:::o;20981:545::-;21083:2;21078:3;21075:11;21072:448;;;21119:1;21144:5;21140:2;21133:17;21189:4;21185:2;21175:19;21259:2;21247:10;21243:19;21240:1;21236:27;21230:4;21226:38;21295:4;21283:10;21280:20;21277:47;;;-1:-1:-1;21318:4:151;21277:47;21373:2;21368:3;21364:12;21361:1;21357:20;21351:4;21347:31;21337:41;;21428:82;21446:2;21439:5;21436:13;21428:82;;;21491:17;;;21472:1;21461:13;21428:82;;;21432:3;;;20981:545;;;:::o;21702:1352::-;21828:3;21822:10;21855:18;21847:6;21844:30;21841:56;;;21877:18;;:::i;:::-;21906:97;21996:6;21956:38;21988:4;21982:11;21956:38;:::i;:::-;21950:4;21906:97;:::i;:::-;22058:4;;22122:2;22111:14;;22139:1;22134:663;;;;22841:1;22858:6;22855:89;;;-1:-1:-1;22910:19:151;;;22904:26;22855:89;-1:-1:-1;;21659:1:151;21655:11;;;21651:24;21647:29;21637:40;21683:1;21679:11;;;21634:57;22957:81;;22104:944;;22134:663;20928:1;20921:14;;;20965:4;20952:18;;-1:-1:-1;;22170:20:151;;;22288:236;22302:7;22299:1;22296:14;22288:236;;;22391:19;;;22385:26;22370:42;;22483:27;;;;22451:1;22439:14;;;;22318:19;;22288:236;;;22292:3;22552:6;22543:7;22540:19;22537:201;;;22613:19;;;22607:26;-1:-1:-1;;22696:1:151;22692:14;;;22708:3;22688:24;22684:37;22680:42;22665:58;22650:74;;22537:201;-1:-1:-1;;;;;22784:1:151;22768:14;;;22764:22;22751:36;;-1:-1:-1;21702:1352:151:o;23059:1011::-;23154:6;23185:2;23228;23216:9;23207:7;23203:23;23199:32;23196:52;;;23244:1;23241;23234:12;23196:52;23277:9;23271:16;23306:18;23347:2;23339:6;23336:14;23333:34;;;23363:1;23360;23353:12;23333:34;23401:6;23390:9;23386:22;23376:32;;23446:7;23439:4;23435:2;23431:13;23427:27;23417:55;;23468:1;23465;23458:12;23417:55;23497:2;23491:9;23519:2;23515;23512:10;23509:36;;;23525:18;;:::i;:::-;23571:2;23568:1;23564:10;23554:20;;23594:28;23618:2;23614;23610:11;23594:28;:::i;:::-;23656:15;;;23726:11;;;23722:20;;;23687:12;;;;23754:19;;;23751:39;;;23786:1;23783;23776:12;23751:39;23810:11;;;;23830:210;23846:6;23841:3;23838:15;23830:210;;;23919:3;23913:10;23900:23;;23936:31;23961:5;23936:31;:::i;:::-;23980:18;;;23863:12;;;;24018;;;;23830:210;;;24059:5;23059:1011;-1:-1:-1;;;;;;;;23059:1011:151:o;24075:772::-;24125:3;24166:5;24160:12;24195:36;24221:9;24195:36;:::i;:::-;24240:19;;;24278:4;24301:1;24318:18;;;24345:146;;;;24505:1;24500:341;;;;24311:530;;24345:146;-1:-1:-1;;24387:24:151;;24373:12;;;24366:46;24459:14;;24452:22;24449:1;24445:30;24436:40;;24432:49;;;-1:-1:-1;24345:146:151;;24500:341;24531:5;24528:1;24521:16;24578:2;24575:1;24565:16;24603:1;24617:174;24631:6;24628:1;24625:13;24617:174;;;24718:14;;24700:11;;;24696:20;;24689:44;24761:16;;;;24646:10;;24617:174;;;24815:11;;24811:20;;;-1:-1:-1;;24311:530:151;;;;;;24075:772;;;;:::o;24852:252::-;24939:5;24933:12;24928:3;24921:25;24903:3;24992:4;24985:5;24981:16;24975:23;25030:4;25023;25018:3;25014:14;25007:28;25051:47;25092:4;25087:3;25083:14;25069:12;25051:47;:::i;25109:484::-;25162:3;25200:5;25194:12;25227:6;25222:3;25215:19;25253:4;25282:2;25277:3;25273:12;25266:19;;25319:2;25312:5;25308:14;25340:1;25350:218;25364:6;25361:1;25358:13;25350:218;;;25429:13;;-1:-1:-1;;;;;25425:62:151;25413:75;;25508:12;;;;25543:15;;;;25386:1;25379:9;25350:218;;;-1:-1:-1;25584:3:151;;25109:484;-1:-1:-1;;;;;25109:484:151:o;25598:827::-;25958:6;25947:9;25940:25;26001:3;25996:2;25985:9;25981:18;25974:31;25921:4;26028:54;26077:3;26066:9;26062:19;26054:6;26028:54;:::i;:::-;26130:9;26122:6;26118:22;26113:2;26102:9;26098:18;26091:50;26164:42;26199:6;26191;26164:42;:::i;:::-;26150:56;;-1:-1:-1;;;;;26246:6:151;26242:55;26237:2;26226:9;26222:18;26215:83;26347:9;26339:6;26335:22;26329:3;26318:9;26314:19;26307:51;26375:44;26412:6;26404;26375:44;:::i;26619:500::-;26873:6;26862:9;26855:25;26916:2;26911;26900:9;26896:18;26889:30;26836:4;26942:53;26991:2;26980:9;26976:18;26968:6;26942:53;:::i;:::-;27043:9;27035:6;27031:22;27026:2;27015:9;27011:18;27004:50;27071:42;27106:6;27098;27071:42;:::i;:::-;27063:50;26619:500;-1:-1:-1;;;;;;26619:500:151:o;27124:142::-;27207:1;27200:5;27197:12;27187:46;;27213:18;;:::i;:::-;27242;;27124:142::o;27366:1129::-;27528:4;27570:3;27559:9;27555:19;27547:27;;-1:-1:-1;;;;;27611:6:151;27605:13;27601:62;27590:9;27583:81;27720:4;27712:6;27708:17;27702:24;27695:4;27684:9;27680:20;27673:54;27783:4;27775:6;27771:17;27765:24;27758:4;27747:9;27743:20;27736:54;27846:4;27838:6;27834:17;27828:24;27821:4;27810:9;27806:20;27799:54;27909:4;27901:6;27897:17;27891:24;27884:4;27873:9;27869:20;27862:54;27963:4;27955:6;27951:17;27945:24;28005:1;27991:12;27988:19;27978:53;;28011:18;;:::i;:::-;28069:12;28062:4;28051:9;28047:20;28040:42;;28131:4;28123:6;28119:17;28113:24;28146:65;28205:4;28194:9;28190:20;28174:14;28146:65;:::i;:::-;;28260:4;28252:6;28248:17;28242:24;28275:73;28342:4;28331:9;28327:20;28311:14;27346:12;27334:25;;27271:90;28275:73;-1:-1:-1;28367:6:151;28410:15;;;28404:22;-1:-1:-1;;;;;2606:54:151;28470:18;;;;2594:67;27366:1129;:::o;28500:1002::-;28925:6;28914:9;28907:25;28888:4;-1:-1:-1;;;;;29041:2:151;29033:6;29029:15;29024:2;29013:9;29009:18;29002:43;29081:3;29076:2;29065:9;29061:18;29054:31;29108:46;29149:3;29138:9;29134:19;29126:6;29108:46;:::i;:::-;29202:2;29194:6;29190:15;29185:2;29174:9;29170:18;29163:43;29243:6;29237:3;29226:9;29222:19;29215:35;29299:9;29291:6;29287:22;29281:3;29270:9;29266:19;29259:51;29333:42;29368:6;29360;29333:42;:::i;:::-;29319:56;;;29424:9;29416:6;29412:22;29406:3;29395:9;29391:19;29384:51;29452:44;29489:6;29481;29452:44;:::i;:::-;29444:52;28500:1002;-1:-1:-1;;;;;;;;;;28500:1002:151:o;29507:636::-;29800:6;29789:9;29782:25;29763:4;-1:-1:-1;;;;;29916:2:151;29908:6;29904:15;29899:2;29888:9;29884:18;29877:43;29968:2;29960:6;29956:15;29951:2;29940:9;29936:18;29929:43;30020:2;30012:6;30008:15;30003:2;29992:9;29988:18;29981:43;;30061:3;30055;30044:9;30040:19;30033:32;30082:55;30132:3;30121:9;30117:19;30109:6;30082:55;:::i;30508:340::-;30685:2;30674:9;30667:21;30648:4;30705:45;30746:2;30735:9;30731:18;30723:6;30705:45;:::i;:::-;30697:53;;-1:-1:-1;;;;;30790:6:151;30786:55;30781:2;30770:9;30766:18;30759:83;30508:340;;;;;:::o;30853:291::-;31030:2;31019:9;31012:21;30993:4;31050:45;31091:2;31080:9;31076:18;31068:6;31050:45;:::i;:::-;31042:53;;31131:6;31126:2;31115:9;31111:18;31104:34;30853:291;;;;;:::o;31687:812::-;32098:25;32093:3;32086:38;32068:3;32153:6;32147:13;32169:75;32237:6;32232:2;32227:3;32223:12;32216:4;32208:6;32204:17;32169:75;:::i;:::-;32308:19;32303:2;32263:16;;;32295:11;;;32288:40;32353:13;;32375:76;32353:13;32437:2;32429:11;;32422:4;32410:17;;32375:76;:::i;:::-;32471:17;32490:2;32467:26;;31687:812;-1:-1:-1;;;;31687:812:151:o;33520:136::-;33559:3;33587:5;33577:39;;33596:18;;:::i;:::-;-1:-1:-1;;;33632:18:151;;33520:136::o;34429:287::-;34558:3;34596:6;34590:13;34612:66;34671:6;34666:3;34659:4;34651:6;34647:17;34612:66;:::i;:::-;34694:16;;;;;34429:287;-1:-1:-1;;34429:287:151:o", - "linkReferences": {} - }, - "methodIdentifiers": { - "COUNCIL_MEMBER_CHANGE()": "a0b21cdf", - "DEFAULT_ADMIN_ROLE()": "a217fddf", - "MAX_FEE()": "bc063e1a", - "NATIVE()": "a0cf0aea", - "PRECISION_SCALE()": "d7050f07", - "acceptCouncilSafe()": "b5058c50", - "activateMemberInStrategy(address,address)": "0d4a8b49", - "addStrategy(address)": "223e5479", - "addStrategyByPoolId(uint256)": "82d6a1e7", - "addressToMemberInfo(address)": "88cfe684", - "allo()": "d6d8428d", - "cloneNonce()": "33960459", - "communityFee()": "8961be6b", - "communityName()": "c6d572ae", - "councilSafe()": "6c53db9a", - "covenantIpfsHash()": "b64e39af", - "createPool(address,(address,uint256,uint256,uint256,uint256,uint8,uint8,(uint256),address),(uint256,string))": "97991cfa", - "createPool(address,address,(address,uint256,uint256,uint256,uint256,uint8,uint8,(uint256),address),(uint256,string))": "ff6409ef", - "deactivateMemberInStrategy(address,address)": "22bcf999", - "decreasePower(uint256)": "5ecf71c5", - "enabledStrategies(address)": "3a871fe1", - "feeReceiver()": "b3f00674", - "gardenToken()": "db61d65c", - "getBasisStakedAmount()": "0331383c", - "getMemberPowerInStrategy(address,address)": "7817ee4f", - "getMemberStakedAmount(address)": "2c611c4a", - "getRoleAdmin(bytes32)": "248a9ca3", - "getStakeAmountWithFees()": "28c309e9", - "grantRole(bytes32,address)": "2f2ff15d", - "hasRole(bytes32,address)": "91d14854", - "increasePower(uint256)": "559de05d", - "initialize((address,address,uint256,uint256,uint256,address,address,(uint256,string),address,string,bool,string,address))": "96f0adec", - "isCouncilMember(address)": "ebd7dc52", - "isKickEnabled()": "1f787d28", - "isMember(address)": "a230c524", - "kickMember(address,address)": "6871eb4d", - "memberActivatedInStrategies(address,address)": "477a5cc0", - "memberPowerInStrategy(address,address)": "65e3864c", - "pendingCouncilSafe()": "68decabb", - "profileId()": "08386eba", - "registerStakeAmount()": "78a0b8a9", - "registry()": "7b103999", - "registryFactory()": "f86c5f89", - "removeStrategy(address)": "175188e8", - "removeStrategyByPoolId(uint256)": "73265c37", - "renounceRole(bytes32,address)": "36568abe", - "revokeRole(bytes32,address)": "d547741f", - "setBasisStakedAmount(uint256)": "31f61bca", - "setCommunityFee(uint256)": "0d12bbdb", - "setCouncilSafe(address)": "397e2543", - "stakeAndRegisterMember()": "3517aa7d", - "strategiesByMember(address,uint256)": "2b38c69c", - "strategyTemplate()": "5c94e4d2", - "supportsInterface(bytes4)": "01ffc9a7", - "unregisterMember()": "b99b4370" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"AddressCannotBeZero\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_decreaseAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_currentPower\",\"type\":\"uint256\"}],\"name\":\"CantDecreaseMoreThanPower\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"DecreaseUnderMinimum\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"KickNotEnabled\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NewFeeGreaterThanMax\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"PointsDeactivated\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"RegistryCannotBeZero\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"SenderNotNewOwner\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"SenderNotStrategy\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"StrategyDisabled\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"StrategyExists\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UserAlreadyActivated\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UserAlreadyDeactivated\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UserAlreadyRegistered\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UserNotGardenOwner\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UserNotInCouncil\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UserNotInRegistry\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ValueCannotBeZero\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_allo\",\"type\":\"address\"}],\"name\":\"AlloSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_newAmount\",\"type\":\"uint256\"}],\"name\":\"BasisStakedAmountSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_newFee\",\"type\":\"uint256\"}],\"name\":\"CommunityFeeUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_safeOwner\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_newSafeOwner\",\"type\":\"address\"}],\"name\":\"CouncilSafeChangeStarted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_safe\",\"type\":\"address\"}],\"name\":\"CouncilSafeSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_pointsToIncrease\",\"type\":\"uint256\"}],\"name\":\"MemberActivatedStrategy\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"}],\"name\":\"MemberDeactivatedStrategy\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_transferAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_amountReturned\",\"type\":\"uint256\"}],\"name\":\"MemberKicked\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_unstakedAmount\",\"type\":\"uint256\"}],\"name\":\"MemberPowerDecreased\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_stakedAmount\",\"type\":\"uint256\"}],\"name\":\"MemberPowerIncreased\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_amountStaked\",\"type\":\"uint256\"}],\"name\":\"MemberRegistered\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_amountReturned\",\"type\":\"uint256\"}],\"name\":\"MemberUnregistered\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_poolId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_community\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"indexed\":false,\"internalType\":\"struct Metadata\",\"name\":\"_metadata\",\"type\":\"tuple\"}],\"name\":\"PoolCreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"_profileId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"_communityName\",\"type\":\"string\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"indexed\":false,\"internalType\":\"struct Metadata\",\"name\":\"_metadata\",\"type\":\"tuple\"}],\"name\":\"RegistryInitialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"previousAdminRole\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"newAdminRole\",\"type\":\"bytes32\"}],\"name\":\"RoleAdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleGranted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleRevoked\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"}],\"name\":\"StrategyAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"}],\"name\":\"StrategyRemoved\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"COUNCIL_MEMBER_CHANGE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"DEFAULT_ADMIN_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"MAX_FEE\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"NATIVE\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"PRECISION_SCALE\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"acceptCouncilSafe\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"}],\"name\":\"activateMemberInStrategy\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_newStrategy\",\"type\":\"address\"}],\"name\":\"addStrategy\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"}],\"name\":\"addStrategyByPoolId\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"member\",\"type\":\"address\"}],\"name\":\"addressToMemberInfo\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"member\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"stakedAmount\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"isRegistered\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"allo\",\"outputs\":[{\"internalType\":\"contract FAllo\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"cloneNonce\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"communityFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"communityName\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"councilSafe\",\"outputs\":[{\"internalType\":\"contract ISafe\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"covenantIpfsHash\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"registryCommunity\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"decay\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxRatio\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"weight\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"minThresholdPoints\",\"type\":\"uint256\"},{\"internalType\":\"enum StrategyStruct.ProposalType\",\"name\":\"proposalType\",\"type\":\"uint8\"},{\"internalType\":\"enum StrategyStruct.PointSystem\",\"name\":\"pointSystem\",\"type\":\"uint8\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"maxAmount\",\"type\":\"uint256\"}],\"internalType\":\"struct StrategyStruct.PointSystemConfig\",\"name\":\"pointConfig\",\"type\":\"tuple\"},{\"internalType\":\"address\",\"name\":\"sybilScorer\",\"type\":\"address\"}],\"internalType\":\"struct StrategyStruct.InitializeParams\",\"name\":\"_params\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"_metadata\",\"type\":\"tuple\"}],\"name\":\"createPool\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"strategy\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"registryCommunity\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"decay\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxRatio\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"weight\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"minThresholdPoints\",\"type\":\"uint256\"},{\"internalType\":\"enum StrategyStruct.ProposalType\",\"name\":\"proposalType\",\"type\":\"uint8\"},{\"internalType\":\"enum StrategyStruct.PointSystem\",\"name\":\"pointSystem\",\"type\":\"uint8\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"maxAmount\",\"type\":\"uint256\"}],\"internalType\":\"struct StrategyStruct.PointSystemConfig\",\"name\":\"pointConfig\",\"type\":\"tuple\"},{\"internalType\":\"address\",\"name\":\"sybilScorer\",\"type\":\"address\"}],\"internalType\":\"struct StrategyStruct.InitializeParams\",\"name\":\"_params\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"_metadata\",\"type\":\"tuple\"}],\"name\":\"createPool\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"strategy\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"}],\"name\":\"deactivateMemberInStrategy\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_amountUnstaked\",\"type\":\"uint256\"}],\"name\":\"decreasePower\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"strategy\",\"type\":\"address\"}],\"name\":\"enabledStrategies\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isEnabled\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"feeReceiver\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"gardenToken\",\"outputs\":[{\"internalType\":\"contract IERC20\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getBasisStakedAmount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"}],\"name\":\"getMemberPowerInStrategy\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"}],\"name\":\"getMemberStakedAmount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"}],\"name\":\"getRoleAdmin\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getStakeAmountWithFees\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"grantRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"hasRole\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_amountStaked\",\"type\":\"uint256\"}],\"name\":\"increasePower\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"_allo\",\"type\":\"address\"},{\"internalType\":\"contract IERC20\",\"name\":\"_gardenToken\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_registerStakeAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_communityFee\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_nonce\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_registryFactory\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_feeReceiver\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"_metadata\",\"type\":\"tuple\"},{\"internalType\":\"address payable\",\"name\":\"_councilSafe\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"_communityName\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"_isKickEnabled\",\"type\":\"bool\"},{\"internalType\":\"string\",\"name\":\"covenantIpfsHash\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"_strategyTemplate\",\"type\":\"address\"}],\"internalType\":\"struct RegistryCommunity.InitializeParams\",\"name\":\"params\",\"type\":\"tuple\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"}],\"name\":\"isCouncilMember\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"isKickEnabled\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"}],\"name\":\"isMember\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"_isMember\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_transferAddress\",\"type\":\"address\"}],\"name\":\"kickMember\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"member\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"strategy\",\"type\":\"address\"}],\"name\":\"memberActivatedInStrategies\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isActivated\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"strategy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"member\",\"type\":\"address\"}],\"name\":\"memberPowerInStrategy\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"power\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pendingCouncilSafe\",\"outputs\":[{\"internalType\":\"address payable\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profileId\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"registerStakeAmount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"registry\",\"outputs\":[{\"internalType\":\"contract IRegistry\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"registryFactory\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"}],\"name\":\"removeStrategy\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"}],\"name\":\"removeStrategyByPoolId\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"renounceRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"revokeRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_newAmount\",\"type\":\"uint256\"}],\"name\":\"setBasisStakedAmount\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_newCommunityFee\",\"type\":\"uint256\"}],\"name\":\"setCommunityFee\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address payable\",\"name\":\"_safe\",\"type\":\"address\"}],\"name\":\"setCouncilSafe\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"stakeAndRegisterMember\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"member\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"strategiesByMember\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"strategiesAddresses\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"strategyTemplate\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"unregisterMember\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"events\":{\"RoleAdminChanged(bytes32,bytes32,bytes32)\":{\"details\":\"Emitted when `newAdminRole` is set as ``role``'s admin role, replacing `previousAdminRole` `DEFAULT_ADMIN_ROLE` is the starting admin for all roles, despite {RoleAdminChanged} not being emitted signaling this. _Available since v3.1._\"},\"RoleGranted(bytes32,address,address)\":{\"details\":\"Emitted when `account` is granted `role`. `sender` is the account that originated the contract call, an admin role bearer except when using {AccessControl-_setupRole}.\"},\"RoleRevoked(bytes32,address,address)\":{\"details\":\"Emitted when `account` is revoked `role`. `sender` is the account that originated the contract call: - if using `revokeRole`, it is the admin role bearer - if using `renounceRole`, it is the role bearer (i.e. `account`)\"}},\"kind\":\"dev\",\"methods\":{\"getRoleAdmin(bytes32)\":{\"details\":\"Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}.\"},\"grantRole(bytes32,address)\":{\"details\":\"Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleGranted} event.\"},\"hasRole(bytes32,address)\":{\"details\":\"Returns `true` if `account` has been granted `role`.\"},\"renounceRole(bytes32,address)\":{\"details\":\"Revokes `role` from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been revoked `role`, emits a {RoleRevoked} event. Requirements: - the caller must be `account`. May emit a {RoleRevoked} event.\"},\"revokeRole(bytes32,address)\":{\"details\":\"Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleRevoked} event.\"},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"pkg/contracts/src/RegistryCommunity.sol\":\"RegistryCommunity\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1000},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-contracts/=lib/safe-contracts/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"]},\"sources\":{\"lib/allo-v2/contracts/core/interfaces/IAllo.sol\":{\"keccak256\":\"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7\",\"dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1\"]},\"lib/allo-v2/contracts/core/interfaces/IRegistry.sol\":{\"keccak256\":\"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e\",\"dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA\"]},\"lib/allo-v2/contracts/core/interfaces/IStrategy.sol\":{\"keccak256\":\"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487\",\"dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH\"]},\"lib/allo-v2/contracts/core/libraries/Clone.sol\":{\"keccak256\":\"0xc348b24b7d8a98c4faa5f2aa37ce9264a74f81dbdef1a9bae2eaa125585c3c7e\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://1335b3ec59ec7e3d12ea7c90b3aa56f4c26e0d44d342f54412933be9d4f16067\",\"dweb:/ipfs/QmXNFo2wCyq9cpvfgbdHvBUQecThFSEoUnMuZNS6WinDrr\"]},\"lib/allo-v2/contracts/core/libraries/Errors.sol\":{\"keccak256\":\"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf\",\"dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA\"]},\"lib/allo-v2/contracts/core/libraries/Metadata.sol\":{\"keccak256\":\"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c\",\"dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn\"]},\"lib/allo-v2/contracts/core/libraries/Native.sol\":{\"keccak256\":\"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a\",\"dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv\"]},\"lib/allo-v2/contracts/core/libraries/Transfer.sol\":{\"keccak256\":\"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11\",\"dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5\"]},\"lib/allo-v2/contracts/strategies/BaseStrategy.sol\":{\"keccak256\":\"0x3f1382dc6c35d50545e327e7ed6016f2bd752357d446bd698014073f0b812873\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://99500abcd617fa43f6dde49e2c7802821ceaf54a65a8055cbbf2695ecd107974\",\"dweb:/ipfs/QmUktZkWuu3GCMEijY1fqt7NMy7BzpTvEtcmpB1fuoa7zt\"]},\"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol\":{\"keccak256\":\"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298\",\"dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol\":{\"keccak256\":\"0x5a55d1b148a0cb4183f1e09ceaff87bd2d828440f2f5dc01dfe03eb29e7c88ec\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3f9278bdda788763efbe569da77fc24feff36e871779e2da69f74ea5f8bfacf\",\"dweb:/ipfs/QmZF9cH4rfazmwKT55p3tZyzh9QGghNyss81f46d6yVXap\"]},\"lib/openzeppelin-contracts/contracts/access/AccessControl.sol\":{\"keccak256\":\"0x0dd6e52cb394d7f5abe5dca2d4908a6be40417914720932de757de34a99ab87f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://dc117ce50ea746cab6b97ed1a1facee17a715ae0cb95d67b943dacbaf15176fb\",\"dweb:/ipfs/QmYRZ2UGNYwsHwfNu7Wjr8L2j1LBZ1mKv6NvbwgterYMXc\"]},\"lib/openzeppelin-contracts/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0x59ce320a585d7e1f163cd70390a0ef2ff9cec832e2aa544293a00692465a7a57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb2c137c343ef0c4c7ce7b18c1d108afdc9d315a04e48307288d2d05adcbde3a\",\"dweb:/ipfs/QmUxhrAQM3MM3FF5j7AtcXLXguWCJBHJ14BRdVtuoQc8Fh\"]},\"lib/openzeppelin-contracts/contracts/access/Ownable.sol\":{\"keccak256\":\"0xba43b97fba0d32eb4254f6a5a297b39a19a247082a02d6e69349e071e2946218\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fc980984badf3984b6303b377711220e067722bbd6a135b24669ff5069ef9f32\",\"dweb:/ipfs/QmPHXMSXj99XjSVM21YsY6aNtLLjLVXDbyN76J5HQYvvrz\"]},\"lib/openzeppelin-contracts/contracts/security/ReentrancyGuard.sol\":{\"keccak256\":\"0xa535a5df777d44e945dd24aa43a11e44b024140fc340ad0dfe42acf4002aade1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://41319e7f621f2dc3733511332c4fd032f8e32ad2aa7fd6f665c19741d9941a34\",\"dweb:/ipfs/QmcYR3bd862GD1Bc7jwrU9bGxrhUu5na1oP964bDCu2id1\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15\",\"dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5\",\"dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd\",\"dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol\":{\"keccak256\":\"0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a\",\"dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0x909d608c2db6eb165ca178c81289a07ed2e118e444d0025b2a85c97d0b44a4fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://656cda26512ddd7373c2d5551c8fae759fc30f05b10f0fc2e738e9274199dbd4\",\"dweb:/ipfs/QmTSArSzQRFbQmHgq7U1PZXnsDFhvDZhKVu9CzMG4yo6Lx\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"lib/openzeppelin-contracts/contracts/utils/Strings.sol\":{\"keccak256\":\"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f\",\"dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol\":{\"keccak256\":\"0x5a08ad61f4e82b8a3323562661a86fb10b10190848073fdc13d4ac43710ffba5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6f7bb74cf88fd88daa34e118bc6e363381d05044f34f391d39a10c0c9dac3ebd\",\"dweb:/ipfs/QmNbQ3v8v4zuDtg7VeLAbdhAm3tCzUodNoDZZ8ekmCHWZX\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]},\"pkg/contracts/src/CVStrategy.sol\":{\"keccak256\":\"0x132bcf17470960e380d841159d9389985d609aaae1c9a657c78902f7871da957\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://84e905bf392579b44f33fff8586431b940e110b2210854cf487321cc92061705\",\"dweb:/ipfs/QmQpvszYu8RbrXmUFLifSodQzV8LAqazk1fzXNARGc5sBT\"]},\"pkg/contracts/src/ISybilScorer.sol\":{\"keccak256\":\"0x0e25fbb8497ac3c969d80c9032362d45e56c0a45dc9ba3dff6a8a704571f38ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0dff90ebae6e7131a5300fcaf525bc2ab0ae90fcd13f277d7b7b6939eeb8b7eb\",\"dweb:/ipfs/QmYGkYqpUVrBWoNY6f3CtwrrVQFWSvnJfpu68t95f6AkBY\"]},\"pkg/contracts/src/RegistryCommunity.sol\":{\"keccak256\":\"0xc735f4d2635149f2db9bff291da56e08c3c312d9eb1b767b8a1e3e51584d5734\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://247b33b78abface6a7e2da38174386de9b543f6a27e8340e26d854bff57184a3\",\"dweb:/ipfs/QmedNdqkqeboGzz9w868uGf7KnXUaYZe6i1YcdUPPkJnnf\"]},\"pkg/contracts/src/RegistryFactory.sol\":{\"keccak256\":\"0x888b7f5eb1079f90ccfa0b41d8a970bffd8d4d469f9b31917a58279b358dbda5\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://af25fd783de00adf01d1c7caa572801fed0d474306a43b862535b08e65ec10c6\",\"dweb:/ipfs/Qmeb2nEaMQLV86y1CYAAV2c6BYpBDTbpLuC1SigeNjdqLo\"]},\"pkg/contracts/src/interfaces/ISafe.sol\":{\"keccak256\":\"0x878a210809bb684c42157a10f3f90350a67d0a4863f130499942b06f0f2c9143\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://fa2d71bd427c3415e98a2ee15ff673f3cc61c17f14d7087c5eedc83b55f6b0ef\",\"dweb:/ipfs/QmesVSmJQQzi6ys1cvhQFCJyDXchb736mT5bXks4Yp6Cbj\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.8.19+commit.7dd6d404" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [], - "type": "error", - "name": "AddressCannotBeZero" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_decreaseAmount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_currentPower", - "type": "uint256" - } - ], - "type": "error", - "name": "CantDecreaseMoreThanPower" - }, - { - "inputs": [], - "type": "error", - "name": "DecreaseUnderMinimum" - }, - { - "inputs": [], - "type": "error", - "name": "KickNotEnabled" - }, - { - "inputs": [], - "type": "error", - "name": "NewFeeGreaterThanMax" - }, - { - "inputs": [], - "type": "error", - "name": "PointsDeactivated" - }, - { - "inputs": [], - "type": "error", - "name": "RegistryCannotBeZero" - }, - { - "inputs": [], - "type": "error", - "name": "SenderNotNewOwner" - }, - { - "inputs": [], - "type": "error", - "name": "SenderNotStrategy" - }, - { - "inputs": [], - "type": "error", - "name": "StrategyDisabled" - }, - { - "inputs": [], - "type": "error", - "name": "StrategyExists" - }, - { - "inputs": [], - "type": "error", - "name": "UserAlreadyActivated" - }, - { - "inputs": [], - "type": "error", - "name": "UserAlreadyDeactivated" - }, - { - "inputs": [], - "type": "error", - "name": "UserAlreadyRegistered" - }, - { - "inputs": [], - "type": "error", - "name": "UserNotGardenOwner" - }, - { - "inputs": [], - "type": "error", - "name": "UserNotInCouncil" - }, - { - "inputs": [], - "type": "error", - "name": "UserNotInRegistry" - }, - { - "inputs": [], - "type": "error", - "name": "ValueCannotBeZero" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_allo", - "type": "address", - "indexed": false - } - ], - "type": "event", - "name": "AlloSet", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_newAmount", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "BasisStakedAmountSet", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_newFee", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "CommunityFeeUpdated", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_safeOwner", - "type": "address", - "indexed": false - }, - { - "internalType": "address", - "name": "_newSafeOwner", - "type": "address", - "indexed": false - } - ], - "type": "event", - "name": "CouncilSafeChangeStarted", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_safe", - "type": "address", - "indexed": false - } - ], - "type": "event", - "name": "CouncilSafeSet", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_member", - "type": "address", - "indexed": false - }, - { - "internalType": "address", - "name": "_strategy", - "type": "address", - "indexed": false - }, - { - "internalType": "uint256", - "name": "_pointsToIncrease", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "MemberActivatedStrategy", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_member", - "type": "address", - "indexed": false - }, - { - "internalType": "address", - "name": "_strategy", - "type": "address", - "indexed": false - } - ], - "type": "event", - "name": "MemberDeactivatedStrategy", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_member", - "type": "address", - "indexed": false - }, - { - "internalType": "address", - "name": "_transferAddress", - "type": "address", - "indexed": false - }, - { - "internalType": "uint256", - "name": "_amountReturned", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "MemberKicked", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_member", - "type": "address", - "indexed": false - }, - { - "internalType": "uint256", - "name": "_unstakedAmount", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "MemberPowerDecreased", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_member", - "type": "address", - "indexed": false - }, - { - "internalType": "uint256", - "name": "_stakedAmount", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "MemberPowerIncreased", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_member", - "type": "address", - "indexed": false - }, - { - "internalType": "uint256", - "name": "_amountStaked", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "MemberRegistered", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_member", - "type": "address", - "indexed": false - }, - { - "internalType": "uint256", - "name": "_amountReturned", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "MemberUnregistered", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_poolId", - "type": "uint256", - "indexed": false - }, - { - "internalType": "address", - "name": "_strategy", - "type": "address", - "indexed": false - }, - { - "internalType": "address", - "name": "_community", - "type": "address", - "indexed": false - }, - { - "internalType": "address", - "name": "_token", - "type": "address", - "indexed": false - }, - { - "internalType": "struct Metadata", - "name": "_metadata", - "type": "tuple", - "components": [ - { - "internalType": "uint256", - "name": "protocol", - "type": "uint256" - }, - { - "internalType": "string", - "name": "pointer", - "type": "string" - } - ], - "indexed": false - } - ], - "type": "event", - "name": "PoolCreated", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "_profileId", - "type": "bytes32", - "indexed": false - }, - { - "internalType": "string", - "name": "_communityName", - "type": "string", - "indexed": false - }, - { - "internalType": "struct Metadata", - "name": "_metadata", - "type": "tuple", - "components": [ - { - "internalType": "uint256", - "name": "protocol", - "type": "uint256" - }, - { - "internalType": "string", - "name": "pointer", - "type": "string" - } - ], - "indexed": false - } - ], - "type": "event", - "name": "RegistryInitialized", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32", - "indexed": true - }, - { - "internalType": "bytes32", - "name": "previousAdminRole", - "type": "bytes32", - "indexed": true - }, - { - "internalType": "bytes32", - "name": "newAdminRole", - "type": "bytes32", - "indexed": true - } - ], - "type": "event", - "name": "RoleAdminChanged", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32", - "indexed": true - }, - { - "internalType": "address", - "name": "account", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "sender", - "type": "address", - "indexed": true - } - ], - "type": "event", - "name": "RoleGranted", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32", - "indexed": true - }, - { - "internalType": "address", - "name": "account", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "sender", - "type": "address", - "indexed": true - } - ], - "type": "event", - "name": "RoleRevoked", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_strategy", - "type": "address", - "indexed": false - } - ], - "type": "event", - "name": "StrategyAdded", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_strategy", - "type": "address", - "indexed": false - } - ], - "type": "event", - "name": "StrategyRemoved", - "anonymous": false - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "COUNCIL_MEMBER_CHANGE", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "DEFAULT_ADMIN_ROLE", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "MAX_FEE", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "NATIVE", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "PRECISION_SCALE", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "function", - "name": "acceptCouncilSafe" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_member", - "type": "address" - }, - { - "internalType": "address", - "name": "_strategy", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "activateMemberInStrategy" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_newStrategy", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "addStrategy" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "poolId", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "addStrategyByPoolId" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "member", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "addressToMemberInfo", - "outputs": [ - { - "internalType": "address", - "name": "member", - "type": "address" - }, - { - "internalType": "uint256", - "name": "stakedAmount", - "type": "uint256" - }, - { - "internalType": "bool", - "name": "isRegistered", - "type": "bool" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "allo", - "outputs": [ - { - "internalType": "contract FAllo", - "name": "", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "cloneNonce", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "communityFee", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "communityName", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "councilSafe", - "outputs": [ - { - "internalType": "contract ISafe", - "name": "", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "covenantIpfsHash", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_token", - "type": "address" - }, - { - "internalType": "struct StrategyStruct.InitializeParams", - "name": "_params", - "type": "tuple", - "components": [ - { - "internalType": "address", - "name": "registryCommunity", - "type": "address" - }, - { - "internalType": "uint256", - "name": "decay", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "maxRatio", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "weight", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "minThresholdPoints", - "type": "uint256" - }, - { - "internalType": "enum StrategyStruct.ProposalType", - "name": "proposalType", - "type": "uint8" - }, - { - "internalType": "enum StrategyStruct.PointSystem", - "name": "pointSystem", - "type": "uint8" - }, - { - "internalType": "struct StrategyStruct.PointSystemConfig", - "name": "pointConfig", - "type": "tuple", - "components": [ - { - "internalType": "uint256", - "name": "maxAmount", - "type": "uint256" - } - ] - }, - { - "internalType": "address", - "name": "sybilScorer", - "type": "address" - } - ] - }, - { - "internalType": "struct Metadata", - "name": "_metadata", - "type": "tuple", - "components": [ - { - "internalType": "uint256", - "name": "protocol", - "type": "uint256" - }, - { - "internalType": "string", - "name": "pointer", - "type": "string" - } - ] - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "createPool", - "outputs": [ - { - "internalType": "uint256", - "name": "poolId", - "type": "uint256" - }, - { - "internalType": "address", - "name": "strategy", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_strategy", - "type": "address" - }, - { - "internalType": "address", - "name": "_token", - "type": "address" - }, - { - "internalType": "struct StrategyStruct.InitializeParams", - "name": "_params", - "type": "tuple", - "components": [ - { - "internalType": "address", - "name": "registryCommunity", - "type": "address" - }, - { - "internalType": "uint256", - "name": "decay", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "maxRatio", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "weight", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "minThresholdPoints", - "type": "uint256" - }, - { - "internalType": "enum StrategyStruct.ProposalType", - "name": "proposalType", - "type": "uint8" - }, - { - "internalType": "enum StrategyStruct.PointSystem", - "name": "pointSystem", - "type": "uint8" - }, - { - "internalType": "struct StrategyStruct.PointSystemConfig", - "name": "pointConfig", - "type": "tuple", - "components": [ - { - "internalType": "uint256", - "name": "maxAmount", - "type": "uint256" - } - ] - }, - { - "internalType": "address", - "name": "sybilScorer", - "type": "address" - } - ] - }, - { - "internalType": "struct Metadata", - "name": "_metadata", - "type": "tuple", - "components": [ - { - "internalType": "uint256", - "name": "protocol", - "type": "uint256" - }, - { - "internalType": "string", - "name": "pointer", - "type": "string" - } - ] - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "createPool", - "outputs": [ - { - "internalType": "uint256", - "name": "poolId", - "type": "uint256" - }, - { - "internalType": "address", - "name": "strategy", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_member", - "type": "address" - }, - { - "internalType": "address", - "name": "_strategy", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "deactivateMemberInStrategy" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_amountUnstaked", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "decreasePower" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "strategy", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "enabledStrategies", - "outputs": [ - { - "internalType": "bool", - "name": "isEnabled", - "type": "bool" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "feeReceiver", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "gardenToken", - "outputs": [ - { - "internalType": "contract IERC20", - "name": "", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getBasisStakedAmount", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_member", - "type": "address" - }, - { - "internalType": "address", - "name": "_strategy", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getMemberPowerInStrategy", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_member", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getMemberStakedAmount", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getRoleAdmin", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getStakeAmountWithFees", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "grantRole" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "hasRole", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_amountStaked", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "increasePower" - }, - { - "inputs": [ - { - "internalType": "struct RegistryCommunity.InitializeParams", - "name": "params", - "type": "tuple", - "components": [ - { - "internalType": "address", - "name": "_allo", - "type": "address" - }, - { - "internalType": "contract IERC20", - "name": "_gardenToken", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_registerStakeAmount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_communityFee", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_nonce", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_registryFactory", - "type": "address" - }, - { - "internalType": "address", - "name": "_feeReceiver", - "type": "address" - }, - { - "internalType": "struct Metadata", - "name": "_metadata", - "type": "tuple", - "components": [ - { - "internalType": "uint256", - "name": "protocol", - "type": "uint256" - }, - { - "internalType": "string", - "name": "pointer", - "type": "string" - } - ] - }, - { - "internalType": "address payable", - "name": "_councilSafe", - "type": "address" - }, - { - "internalType": "string", - "name": "_communityName", - "type": "string" - }, - { - "internalType": "bool", - "name": "_isKickEnabled", - "type": "bool" - }, - { - "internalType": "string", - "name": "covenantIpfsHash", - "type": "string" - }, - { - "internalType": "address", - "name": "_strategyTemplate", - "type": "address" - } - ] - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "initialize" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_member", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "isCouncilMember", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "isKickEnabled", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_member", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "isMember", - "outputs": [ - { - "internalType": "bool", - "name": "_isMember", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_member", - "type": "address" - }, - { - "internalType": "address", - "name": "_transferAddress", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "kickMember" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "member", - "type": "address" - }, - { - "internalType": "address", - "name": "strategy", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "memberActivatedInStrategies", - "outputs": [ - { - "internalType": "bool", - "name": "isActivated", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "strategy", - "type": "address" - }, - { - "internalType": "address", - "name": "member", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "memberPowerInStrategy", - "outputs": [ - { - "internalType": "uint256", - "name": "power", - "type": "uint256" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "pendingCouncilSafe", - "outputs": [ - { - "internalType": "address payable", - "name": "", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "profileId", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "registerStakeAmount", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "registry", - "outputs": [ - { - "internalType": "contract IRegistry", - "name": "", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "registryFactory", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_strategy", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "removeStrategy" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "poolId", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "removeStrategyByPoolId" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "renounceRole" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "revokeRole" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_newAmount", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "setBasisStakedAmount" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_newCommunityFee", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "setCommunityFee" - }, - { - "inputs": [ - { - "internalType": "address payable", - "name": "_safe", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "setCouncilSafe" - }, - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "function", - "name": "stakeAndRegisterMember" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "member", - "type": "address" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function", - "name": "strategiesByMember", - "outputs": [ - { - "internalType": "address", - "name": "strategiesAddresses", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "strategyTemplate", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "bytes4", - "name": "interfaceId", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function", - "name": "supportsInterface", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ] - }, - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "function", - "name": "unregisterMember" - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "getRoleAdmin(bytes32)": { - "details": "Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}." - }, - "grantRole(bytes32,address)": { - "details": "Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleGranted} event." - }, - "hasRole(bytes32,address)": { - "details": "Returns `true` if `account` has been granted `role`." - }, - "renounceRole(bytes32,address)": { - "details": "Revokes `role` from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been revoked `role`, emits a {RoleRevoked} event. Requirements: - the caller must be `account`. May emit a {RoleRevoked} event." - }, - "revokeRole(bytes32,address)": { - "details": "Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleRevoked} event." - }, - "supportsInterface(bytes4)": { - "details": "See {IERC165-supportsInterface}." - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - "@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/", - "@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/", - "@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/", - "@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/", - "@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/", - "@sablier/v2-core/=lib/allo-v2/lib/v2-core/", - "ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/", - "allo-v2-contracts/=lib/allo-v2/contracts/", - "allo-v2-test/=lib/allo-v2/test/", - "allo-v2/=lib/allo-v2/", - "ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/", - "eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/", - "erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/", - "forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/", - "forge-std/=lib/forge-std/src/", - "hats-protocol/=lib/allo-v2/lib/hats-protocol/", - "openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/", - "openzeppelin-contracts/=lib/openzeppelin-contracts/", - "openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/", - "openzeppelin/=lib/openzeppelin-contracts/contracts/", - "permit2/=lib/allo-v2/lib/permit2/", - "prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/", - "prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/", - "safe-contracts/=lib/safe-contracts/", - "solady/=lib/allo-v2/lib/solady/", - "solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/", - "solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/", - "solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/", - "solmate/=lib/allo-v2/lib/permit2/lib/solmate/", - "utils/=lib/allo-v2/lib/hats-protocol/lib/utils/", - "v2-core/=lib/allo-v2/lib/v2-core/" - ], - "optimizer": { - "enabled": true, - "runs": 1000 - }, - "metadata": { - "bytecodeHash": "ipfs" - }, - "compilationTarget": { - "pkg/contracts/src/RegistryCommunity.sol": "RegistryCommunity" - }, - "evmVersion": "paris", - "libraries": {} - }, - "sources": { - "lib/allo-v2/contracts/core/interfaces/IAllo.sol": { - "keccak256": "0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce", - "urls": [ - "bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7", - "dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1" - ], - "license": "AGPL-3.0-only" - }, - "lib/allo-v2/contracts/core/interfaces/IRegistry.sol": { - "keccak256": "0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f", - "urls": [ - "bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e", - "dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA" - ], - "license": "MIT" - }, - "lib/allo-v2/contracts/core/interfaces/IStrategy.sol": { - "keccak256": "0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23", - "urls": [ - "bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487", - "dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH" - ], - "license": "AGPL-3.0-only" - }, - "lib/allo-v2/contracts/core/libraries/Clone.sol": { - "keccak256": "0xc348b24b7d8a98c4faa5f2aa37ce9264a74f81dbdef1a9bae2eaa125585c3c7e", - "urls": [ - "bzz-raw://1335b3ec59ec7e3d12ea7c90b3aa56f4c26e0d44d342f54412933be9d4f16067", - "dweb:/ipfs/QmXNFo2wCyq9cpvfgbdHvBUQecThFSEoUnMuZNS6WinDrr" - ], - "license": "AGPL-3.0-only" - }, - "lib/allo-v2/contracts/core/libraries/Errors.sol": { - "keccak256": "0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15", - "urls": [ - "bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf", - "dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA" - ], - "license": "AGPL-3.0-only" - }, - "lib/allo-v2/contracts/core/libraries/Metadata.sol": { - "keccak256": "0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44", - "urls": [ - "bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c", - "dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn" - ], - "license": "AGPL-3.0-only" - }, - "lib/allo-v2/contracts/core/libraries/Native.sol": { - "keccak256": "0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5", - "urls": [ - "bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a", - "dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv" - ], - "license": "AGPL-3.0-only" - }, - "lib/allo-v2/contracts/core/libraries/Transfer.sol": { - "keccak256": "0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286", - "urls": [ - "bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11", - "dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5" - ], - "license": "AGPL-3.0-only" - }, - "lib/allo-v2/contracts/strategies/BaseStrategy.sol": { - "keccak256": "0x3f1382dc6c35d50545e327e7ed6016f2bd752357d446bd698014073f0b812873", - "urls": [ - "bzz-raw://99500abcd617fa43f6dde49e2c7802821ceaf54a65a8055cbbf2695ecd107974", - "dweb:/ipfs/QmUktZkWuu3GCMEijY1fqt7NMy7BzpTvEtcmpB1fuoa7zt" - ], - "license": "AGPL-3.0-only" - }, - "lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol": { - "keccak256": "0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624", - "urls": [ - "bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298", - "dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt" - ], - "license": "MIT" - }, - "lib/forge-std/src/console.sol": { - "keccak256": "0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba", - "urls": [ - "bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70", - "dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol": { - "keccak256": "0x5a55d1b148a0cb4183f1e09ceaff87bd2d828440f2f5dc01dfe03eb29e7c88ec", - "urls": [ - "bzz-raw://b3f9278bdda788763efbe569da77fc24feff36e871779e2da69f74ea5f8bfacf", - "dweb:/ipfs/QmZF9cH4rfazmwKT55p3tZyzh9QGghNyss81f46d6yVXap" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/access/AccessControl.sol": { - "keccak256": "0x0dd6e52cb394d7f5abe5dca2d4908a6be40417914720932de757de34a99ab87f", - "urls": [ - "bzz-raw://dc117ce50ea746cab6b97ed1a1facee17a715ae0cb95d67b943dacbaf15176fb", - "dweb:/ipfs/QmYRZ2UGNYwsHwfNu7Wjr8L2j1LBZ1mKv6NvbwgterYMXc" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/access/IAccessControl.sol": { - "keccak256": "0x59ce320a585d7e1f163cd70390a0ef2ff9cec832e2aa544293a00692465a7a57", - "urls": [ - "bzz-raw://bb2c137c343ef0c4c7ce7b18c1d108afdc9d315a04e48307288d2d05adcbde3a", - "dweb:/ipfs/QmUxhrAQM3MM3FF5j7AtcXLXguWCJBHJ14BRdVtuoQc8Fh" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/access/Ownable.sol": { - "keccak256": "0xba43b97fba0d32eb4254f6a5a297b39a19a247082a02d6e69349e071e2946218", - "urls": [ - "bzz-raw://fc980984badf3984b6303b377711220e067722bbd6a135b24669ff5069ef9f32", - "dweb:/ipfs/QmPHXMSXj99XjSVM21YsY6aNtLLjLVXDbyN76J5HQYvvrz" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/security/ReentrancyGuard.sol": { - "keccak256": "0xa535a5df777d44e945dd24aa43a11e44b024140fc340ad0dfe42acf4002aade1", - "urls": [ - "bzz-raw://41319e7f621f2dc3733511332c4fd032f8e32ad2aa7fd6f665c19741d9941a34", - "dweb:/ipfs/QmcYR3bd862GD1Bc7jwrU9bGxrhUu5na1oP964bDCu2id1" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol": { - "keccak256": "0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c", - "urls": [ - "bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15", - "dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol": { - "keccak256": "0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305", - "urls": [ - "bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5", - "dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol": { - "keccak256": "0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca", - "urls": [ - "bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd", - "dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol": { - "keccak256": "0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a", - "urls": [ - "bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a", - "dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol": { - "keccak256": "0x909d608c2db6eb165ca178c81289a07ed2e118e444d0025b2a85c97d0b44a4fa", - "urls": [ - "bzz-raw://656cda26512ddd7373c2d5551c8fae759fc30f05b10f0fc2e738e9274199dbd4", - "dweb:/ipfs/QmTSArSzQRFbQmHgq7U1PZXnsDFhvDZhKVu9CzMG4yo6Lx" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/utils/Address.sol": { - "keccak256": "0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa", - "urls": [ - "bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931", - "dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/utils/Context.sol": { - "keccak256": "0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7", - "urls": [ - "bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92", - "dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/utils/Strings.sol": { - "keccak256": "0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0", - "urls": [ - "bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f", - "dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol": { - "keccak256": "0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b", - "urls": [ - "bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d", - "dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol": { - "keccak256": "0x5a08ad61f4e82b8a3323562661a86fb10b10190848073fdc13d4ac43710ffba5", - "urls": [ - "bzz-raw://6f7bb74cf88fd88daa34e118bc6e363381d05044f34f391d39a10c0c9dac3ebd", - "dweb:/ipfs/QmNbQ3v8v4zuDtg7VeLAbdhAm3tCzUodNoDZZ8ekmCHWZX" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol": { - "keccak256": "0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1", - "urls": [ - "bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f", - "dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/utils/math/Math.sol": { - "keccak256": "0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3", - "urls": [ - "bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c", - "dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol": { - "keccak256": "0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc", - "urls": [ - "bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7", - "dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6" - ], - "license": "MIT" - }, - "pkg/contracts/src/CVStrategy.sol": { - "keccak256": "0x132bcf17470960e380d841159d9389985d609aaae1c9a657c78902f7871da957", - "urls": [ - "bzz-raw://84e905bf392579b44f33fff8586431b940e110b2210854cf487321cc92061705", - "dweb:/ipfs/QmQpvszYu8RbrXmUFLifSodQzV8LAqazk1fzXNARGc5sBT" - ], - "license": "AGPL-3.0-only" - }, - "pkg/contracts/src/ISybilScorer.sol": { - "keccak256": "0x0e25fbb8497ac3c969d80c9032362d45e56c0a45dc9ba3dff6a8a704571f38ea", - "urls": [ - "bzz-raw://0dff90ebae6e7131a5300fcaf525bc2ab0ae90fcd13f277d7b7b6939eeb8b7eb", - "dweb:/ipfs/QmYGkYqpUVrBWoNY6f3CtwrrVQFWSvnJfpu68t95f6AkBY" - ], - "license": "MIT" - }, - "pkg/contracts/src/RegistryCommunity.sol": { - "keccak256": "0xc735f4d2635149f2db9bff291da56e08c3c312d9eb1b767b8a1e3e51584d5734", - "urls": [ - "bzz-raw://247b33b78abface6a7e2da38174386de9b543f6a27e8340e26d854bff57184a3", - "dweb:/ipfs/QmedNdqkqeboGzz9w868uGf7KnXUaYZe6i1YcdUPPkJnnf" - ], - "license": "AGPL-3.0-only" - }, - "pkg/contracts/src/RegistryFactory.sol": { - "keccak256": "0x888b7f5eb1079f90ccfa0b41d8a970bffd8d4d469f9b31917a58279b358dbda5", - "urls": [ - "bzz-raw://af25fd783de00adf01d1c7caa572801fed0d474306a43b862535b08e65ec10c6", - "dweb:/ipfs/Qmeb2nEaMQLV86y1CYAAV2c6BYpBDTbpLuC1SigeNjdqLo" - ], - "license": "AGPL-3.0-only" - }, - "pkg/contracts/src/interfaces/ISafe.sol": { - "keccak256": "0x878a210809bb684c42157a10f3f90350a67d0a4863f130499942b06f0f2c9143", - "urls": [ - "bzz-raw://fa2d71bd427c3415e98a2ee15ff673f3cc61c17f14d7087c5eedc83b55f6b0ef", - "dweb:/ipfs/QmesVSmJQQzi6ys1cvhQFCJyDXchb736mT5bXks4Yp6Cbj" - ], - "license": "LGPL-3.0-only" - } - }, - "version": 1 - }, - "storageLayout": { - "storage": [ - { - "astId": 56224, - "contract": "pkg/contracts/src/RegistryCommunity.sol:RegistryCommunity", - "label": "_status", - "offset": 0, - "slot": "0", - "type": "t_uint256" - }, - { - "astId": 55017, - "contract": "pkg/contracts/src/RegistryCommunity.sol:RegistryCommunity", - "label": "_roles", - "offset": 0, - "slot": "1", - "type": "t_mapping(t_bytes32,t_struct(RoleData)55012_storage)" - }, - { - "astId": 81517, - "contract": "pkg/contracts/src/RegistryCommunity.sol:RegistryCommunity", - "label": "isKickEnabled", - "offset": 0, - "slot": "2", - "type": "t_bool" - }, - { - "astId": 81519, - "contract": "pkg/contracts/src/RegistryCommunity.sol:RegistryCommunity", - "label": "registerStakeAmount", - "offset": 0, - "slot": "3", - "type": "t_uint256" - }, - { - "astId": 81521, - "contract": "pkg/contracts/src/RegistryCommunity.sol:RegistryCommunity", - "label": "communityFee", - "offset": 0, - "slot": "4", - "type": "t_uint256" - }, - { - "astId": 81523, - "contract": "pkg/contracts/src/RegistryCommunity.sol:RegistryCommunity", - "label": "profileId", - "offset": 0, - "slot": "5", - "type": "t_bytes32" - }, - { - "astId": 81525, - "contract": "pkg/contracts/src/RegistryCommunity.sol:RegistryCommunity", - "label": "feeReceiver", - "offset": 0, - "slot": "6", - "type": "t_address" - }, - { - "astId": 81527, - "contract": "pkg/contracts/src/RegistryCommunity.sol:RegistryCommunity", - "label": "registryFactory", - "offset": 0, - "slot": "7", - "type": "t_address" - }, - { - "astId": 81529, - "contract": "pkg/contracts/src/RegistryCommunity.sol:RegistryCommunity", - "label": "strategyTemplate", - "offset": 0, - "slot": "8", - "type": "t_address" - }, - { - "astId": 81531, - "contract": "pkg/contracts/src/RegistryCommunity.sol:RegistryCommunity", - "label": "cloneNonce", - "offset": 0, - "slot": "9", - "type": "t_uint256" - }, - { - "astId": 81533, - "contract": "pkg/contracts/src/RegistryCommunity.sol:RegistryCommunity", - "label": "pendingCouncilSafe", - "offset": 0, - "slot": "10", - "type": "t_address_payable" - }, - { - "astId": 81536, - "contract": "pkg/contracts/src/RegistryCommunity.sol:RegistryCommunity", - "label": "registry", - "offset": 0, - "slot": "11", - "type": "t_contract(IRegistry)2802" - }, - { - "astId": 81539, - "contract": "pkg/contracts/src/RegistryCommunity.sol:RegistryCommunity", - "label": "gardenToken", - "offset": 0, - "slot": "12", - "type": "t_contract(IERC20)57069" - }, - { - "astId": 81542, - "contract": "pkg/contracts/src/RegistryCommunity.sol:RegistryCommunity", - "label": "councilSafe", - "offset": 0, - "slot": "13", - "type": "t_contract(ISafe)85665" - }, - { - "astId": 81545, - "contract": "pkg/contracts/src/RegistryCommunity.sol:RegistryCommunity", - "label": "allo", - "offset": 0, - "slot": "14", - "type": "t_contract(FAllo)81222" - }, - { - "astId": 81547, - "contract": "pkg/contracts/src/RegistryCommunity.sol:RegistryCommunity", - "label": "communityName", - "offset": 0, - "slot": "15", - "type": "t_string_storage" - }, - { - "astId": 81549, - "contract": "pkg/contracts/src/RegistryCommunity.sol:RegistryCommunity", - "label": "covenantIpfsHash", - "offset": 0, - "slot": "16", - "type": "t_string_storage" - }, - { - "astId": 81553, - "contract": "pkg/contracts/src/RegistryCommunity.sol:RegistryCommunity", - "label": "enabledStrategies", - "offset": 0, - "slot": "17", - "type": "t_mapping(t_address,t_bool)" - }, - { - "astId": 81559, - "contract": "pkg/contracts/src/RegistryCommunity.sol:RegistryCommunity", - "label": "memberPowerInStrategy", - "offset": 0, - "slot": "18", - "type": "t_mapping(t_address,t_mapping(t_address,t_uint256))" - }, - { - "astId": 81564, - "contract": "pkg/contracts/src/RegistryCommunity.sol:RegistryCommunity", - "label": "addressToMemberInfo", - "offset": 0, - "slot": "19", - "type": "t_mapping(t_address,t_struct(Member)81482_storage)" - }, - { - "astId": 81569, - "contract": "pkg/contracts/src/RegistryCommunity.sol:RegistryCommunity", - "label": "strategiesByMember", - "offset": 0, - "slot": "20", - "type": "t_mapping(t_address,t_array(t_address)dyn_storage)" - }, - { - "astId": 81575, - "contract": "pkg/contracts/src/RegistryCommunity.sol:RegistryCommunity", - "label": "memberActivatedInStrategies", - "offset": 0, - "slot": "21", - "type": "t_mapping(t_address,t_mapping(t_address,t_bool))" - }, - { - "astId": 81578, - "contract": "pkg/contracts/src/RegistryCommunity.sol:RegistryCommunity", - "label": "initialMembers", - "offset": 0, - "slot": "22", - "type": "t_array(t_address)dyn_storage" - } - ], - "types": { - "t_address": { - "encoding": "inplace", - "label": "address", - "numberOfBytes": "20" - }, - "t_address_payable": { - "encoding": "inplace", - "label": "address payable", - "numberOfBytes": "20" - }, - "t_array(t_address)dyn_storage": { - "encoding": "dynamic_array", - "label": "address[]", - "numberOfBytes": "32", - "base": "t_address" - }, - "t_bool": { - "encoding": "inplace", - "label": "bool", - "numberOfBytes": "1" - }, - "t_bytes32": { - "encoding": "inplace", - "label": "bytes32", - "numberOfBytes": "32" - }, - "t_contract(FAllo)81222": { - "encoding": "inplace", - "label": "contract FAllo", - "numberOfBytes": "20" - }, - "t_contract(IERC20)57069": { - "encoding": "inplace", - "label": "contract IERC20", - "numberOfBytes": "20" - }, - "t_contract(IRegistry)2802": { - "encoding": "inplace", - "label": "contract IRegistry", - "numberOfBytes": "20" - }, - "t_contract(ISafe)85665": { - "encoding": "inplace", - "label": "contract ISafe", - "numberOfBytes": "20" - }, - "t_mapping(t_address,t_array(t_address)dyn_storage)": { - "encoding": "mapping", - "key": "t_address", - "label": "mapping(address => address[])", - "numberOfBytes": "32", - "value": "t_array(t_address)dyn_storage" - }, - "t_mapping(t_address,t_bool)": { - "encoding": "mapping", - "key": "t_address", - "label": "mapping(address => bool)", - "numberOfBytes": "32", - "value": "t_bool" - }, - "t_mapping(t_address,t_mapping(t_address,t_bool))": { - "encoding": "mapping", - "key": "t_address", - "label": "mapping(address => mapping(address => bool))", - "numberOfBytes": "32", - "value": "t_mapping(t_address,t_bool)" - }, - "t_mapping(t_address,t_mapping(t_address,t_uint256))": { - "encoding": "mapping", - "key": "t_address", - "label": "mapping(address => mapping(address => uint256))", - "numberOfBytes": "32", - "value": "t_mapping(t_address,t_uint256)" - }, - "t_mapping(t_address,t_struct(Member)81482_storage)": { - "encoding": "mapping", - "key": "t_address", - "label": "mapping(address => struct RegistryCommunity.Member)", - "numberOfBytes": "32", - "value": "t_struct(Member)81482_storage" - }, - "t_mapping(t_address,t_uint256)": { - "encoding": "mapping", - "key": "t_address", - "label": "mapping(address => uint256)", - "numberOfBytes": "32", - "value": "t_uint256" - }, - "t_mapping(t_bytes32,t_struct(RoleData)55012_storage)": { - "encoding": "mapping", - "key": "t_bytes32", - "label": "mapping(bytes32 => struct AccessControl.RoleData)", - "numberOfBytes": "32", - "value": "t_struct(RoleData)55012_storage" - }, - "t_string_storage": { - "encoding": "bytes", - "label": "string", - "numberOfBytes": "32" - }, - "t_struct(Member)81482_storage": { - "encoding": "inplace", - "label": "struct RegistryCommunity.Member", - "numberOfBytes": "96", - "members": [ - { - "astId": 81477, - "contract": "pkg/contracts/src/RegistryCommunity.sol:RegistryCommunity", - "label": "member", - "offset": 0, - "slot": "0", - "type": "t_address" - }, - { - "astId": 81479, - "contract": "pkg/contracts/src/RegistryCommunity.sol:RegistryCommunity", - "label": "stakedAmount", - "offset": 0, - "slot": "1", - "type": "t_uint256" - }, - { - "astId": 81481, - "contract": "pkg/contracts/src/RegistryCommunity.sol:RegistryCommunity", - "label": "isRegistered", - "offset": 0, - "slot": "2", - "type": "t_bool" - } - ] - }, - "t_struct(RoleData)55012_storage": { - "encoding": "inplace", - "label": "struct AccessControl.RoleData", - "numberOfBytes": "64", - "members": [ - { - "astId": 55009, - "contract": "pkg/contracts/src/RegistryCommunity.sol:RegistryCommunity", - "label": "members", - "offset": 0, - "slot": "0", - "type": "t_mapping(t_address,t_bool)" - }, - { - "astId": 55011, - "contract": "pkg/contracts/src/RegistryCommunity.sol:RegistryCommunity", - "label": "adminRole", - "offset": 0, - "slot": "1", - "type": "t_bytes32" - } - ] - }, - "t_uint256": { - "encoding": "inplace", - "label": "uint256", - "numberOfBytes": "32" - } - } - }, - "ast": { - "absolutePath": "pkg/contracts/src/RegistryCommunity.sol", - "id": 83083, - "exportedSymbols": { - "AccessControl": [ - 55308 - ], - "CVStrategy": [ - 77611 - ], - "Clone": [ - 3002 - ], - "ERC165Checker": [ - 58460 - ], - "FAllo": [ - 81222 - ], - "IAllo": [ - 2610 - ], - "IERC20": [ - 57069 - ], - "IPointStrategy": [ - 74722 - ], - "IRegistry": [ - 2802 - ], - "ISafe": [ - 85665 - ], - "Metadata": [ - 3098 - ], - "ReentrancyGuard": [ - 56278 - ], - "RegistryCommunity": [ - 83082 - ], - "RegistryFactory": [ - 85283 - ], - "SafeERC20": [ - 57506 - ], - "StrategyStruct": [ - 74807 - ], - "console": [ - 29549 - ] - }, - "nodeType": "SourceUnit", - "src": "42:23124:133", - "nodes": [ - { - "id": 81161, - "nodeType": "PragmaDirective", - "src": "42:24:133", - "nodes": [], - "literals": [ - "solidity", - "^", - "0.8", - ".19" - ] - }, - { - "id": 81163, - "nodeType": "ImportDirective", - "src": "68:70:133", - "nodes": [], - "absolutePath": "lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol", - "file": "@openzeppelin/contracts/token/ERC20/IERC20.sol", - "nameLocation": "-1:-1:-1", - "scope": 83083, - "sourceUnit": 57070, - "symbolAliases": [ - { - "foreign": { - "id": 81162, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 57069, - "src": "76:6:133", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - } - ], - "unitAlias": "" - }, - { - "id": 81165, - "nodeType": "ImportDirective", - "src": "139:79:133", - "nodes": [], - "absolutePath": "lib/openzeppelin-contracts/contracts/access/AccessControl.sol", - "file": "@openzeppelin/contracts/access/AccessControl.sol", - "nameLocation": "-1:-1:-1", - "scope": 83083, - "sourceUnit": 55309, - "symbolAliases": [ - { - "foreign": { - "id": 81164, - "name": "AccessControl", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 55308, - "src": "147:13:133", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - } - ], - "unitAlias": "" - }, - { - "id": 81167, - "nodeType": "ImportDirective", - "src": "219:82:133", - "nodes": [], - "absolutePath": "lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol", - "file": "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol", - "nameLocation": "-1:-1:-1", - "scope": 83083, - "sourceUnit": 57507, - "symbolAliases": [ - { - "foreign": { - "id": 81166, - "name": "SafeERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 57506, - "src": "227:9:133", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - } - ], - "unitAlias": "" - }, - { - "id": 81169, - "nodeType": "ImportDirective", - "src": "302:85:133", - "nodes": [], - "absolutePath": "lib/openzeppelin-contracts/contracts/security/ReentrancyGuard.sol", - "file": "@openzeppelin/contracts/security/ReentrancyGuard.sol", - "nameLocation": "-1:-1:-1", - "scope": 83083, - "sourceUnit": 56279, - "symbolAliases": [ - { - "foreign": { - "id": 81168, - "name": "ReentrancyGuard", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 56278, - "src": "310:15:133", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - } - ], - "unitAlias": "" - }, - { - "id": 81172, - "nodeType": "ImportDirective", - "src": "518:84:133", - "nodes": [], - "absolutePath": "lib/allo-v2/contracts/core/interfaces/IRegistry.sol", - "file": "allo-v2-contracts/core/interfaces/IRegistry.sol", - "nameLocation": "-1:-1:-1", - "scope": 83083, - "sourceUnit": 2803, - "symbolAliases": [ - { - "foreign": { - "id": 81170, - "name": "IRegistry", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2802, - "src": "526:9:133", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - }, - { - "foreign": { - "id": 81171, - "name": "Metadata", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3098, - "src": "537:8:133", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - } - ], - "unitAlias": "" - }, - { - "id": 81174, - "nodeType": "ImportDirective", - "src": "603:66:133", - "nodes": [], - "absolutePath": "lib/allo-v2/contracts/core/interfaces/IAllo.sol", - "file": "allo-v2-contracts/core/interfaces/IAllo.sol", - "nameLocation": "-1:-1:-1", - "scope": 83083, - "sourceUnit": 2611, - "symbolAliases": [ - { - "foreign": { - "id": 81173, - "name": "IAllo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2610, - "src": "611:5:133", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - } - ], - "unitAlias": "" - }, - { - "id": 81176, - "nodeType": "ImportDirective", - "src": "670:54:133", - "nodes": [], - "absolutePath": "pkg/contracts/src/RegistryFactory.sol", - "file": "./RegistryFactory.sol", - "nameLocation": "-1:-1:-1", - "scope": 83083, - "sourceUnit": 85284, - "symbolAliases": [ - { - "foreign": { - "id": 81175, - "name": "RegistryFactory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 85283, - "src": "678:15:133", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - } - ], - "unitAlias": "" - }, - { - "id": 81178, - "nodeType": "ImportDirective", - "src": "725:45:133", - "nodes": [], - "absolutePath": "pkg/contracts/src/interfaces/ISafe.sol", - "file": "./interfaces/ISafe.sol", - "nameLocation": "-1:-1:-1", - "scope": 83083, - "sourceUnit": 85666, - "symbolAliases": [ - { - "foreign": { - "id": 81177, - "name": "ISafe", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 85665, - "src": "733:5:133", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - } - ], - "unitAlias": "" - }, - { - "id": 81179, - "nodeType": "ImportDirective", - "src": "830:31:133", - "nodes": [], - "absolutePath": "lib/forge-std/src/console.sol", - "file": "forge-std/console.sol", - "nameLocation": "-1:-1:-1", - "scope": 83083, - "sourceUnit": 29550, - "symbolAliases": [], - "unitAlias": "" - }, - { - "id": 81181, - "nodeType": "ImportDirective", - "src": "862:92:133", - "nodes": [], - "absolutePath": "lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol", - "file": "@openzeppelin/contracts/utils/introspection/ERC165Checker.sol", - "nameLocation": "-1:-1:-1", - "scope": 83083, - "sourceUnit": 58461, - "symbolAliases": [ - { - "foreign": { - "id": 81180, - "name": "ERC165Checker", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 58460, - "src": "870:13:133", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - } - ], - "unitAlias": "" - }, - { - "id": 81185, - "nodeType": "ImportDirective", - "src": "956:76:133", - "nodes": [], - "absolutePath": "pkg/contracts/src/CVStrategy.sol", - "file": "./CVStrategy.sol", - "nameLocation": "-1:-1:-1", - "scope": 83083, - "sourceUnit": 77612, - "symbolAliases": [ - { - "foreign": { - "id": 81182, - "name": "IPointStrategy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74722, - "src": "964:14:133", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - }, - { - "foreign": { - "id": 81183, - "name": "CVStrategy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 77611, - "src": "980:10:133", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - }, - { - "foreign": { - "id": 81184, - "name": "StrategyStruct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74807, - "src": "992:14:133", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - } - ], - "unitAlias": "" - }, - { - "id": 81187, - "nodeType": "ImportDirective", - "src": "1034:65:133", - "nodes": [], - "absolutePath": "lib/allo-v2/contracts/core/libraries/Clone.sol", - "file": "allo-v2-contracts/core/libraries/Clone.sol", - "nameLocation": "-1:-1:-1", - "scope": 83083, - "sourceUnit": 3003, - "symbolAliases": [ - { - "foreign": { - "id": 81186, - "name": "Clone", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3002, - "src": "1042:5:133", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - } - ], - "unitAlias": "" - }, - { - "id": 81222, - "nodeType": "ContractDefinition", - "src": "1172:467:133", - "nodes": [ - { - "id": 81208, - "nodeType": "FunctionDefinition", - "src": "1194:301:133", - "nodes": [], - "functionSelector": "e1007d4a", - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "createPoolWithCustomStrategy", - "nameLocation": "1203:28:133", - "parameters": { - "id": 81204, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 81189, - "mutability": "mutable", - "name": "_profileId", - "nameLocation": "1249:10:133", - "nodeType": "VariableDeclaration", - "scope": 81208, - "src": "1241:18:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 81188, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1241:7:133", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 81191, - "mutability": "mutable", - "name": "_strategy", - "nameLocation": "1277:9:133", - "nodeType": "VariableDeclaration", - "scope": 81208, - "src": "1269:17:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 81190, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1269:7:133", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 81193, - "mutability": "mutable", - "name": "_initStrategyData", - "nameLocation": "1309:17:133", - "nodeType": "VariableDeclaration", - "scope": 81208, - "src": "1296:30:133", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 81192, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "1296:5:133", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 81195, - "mutability": "mutable", - "name": "_token", - "nameLocation": "1344:6:133", - "nodeType": "VariableDeclaration", - "scope": 81208, - "src": "1336:14:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 81194, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1336:7:133", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 81197, - "mutability": "mutable", - "name": "_amount", - "nameLocation": "1368:7:133", - "nodeType": "VariableDeclaration", - "scope": 81208, - "src": "1360:15:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 81196, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1360:7:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 81200, - "mutability": "mutable", - "name": "_metadata", - "nameLocation": "1401:9:133", - "nodeType": "VariableDeclaration", - "scope": 81208, - "src": "1385:25:133", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Metadata_$3098_memory_ptr", - "typeString": "struct Metadata" - }, - "typeName": { - "id": 81199, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 81198, - "name": "Metadata", - "nameLocations": [ - "1385:8:133" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 3098, - "src": "1385:8:133" - }, - "referencedDeclaration": 3098, - "src": "1385:8:133", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Metadata_$3098_storage_ptr", - "typeString": "struct Metadata" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 81203, - "mutability": "mutable", - "name": "_managers", - "nameLocation": "1437:9:133", - "nodeType": "VariableDeclaration", - "scope": 81208, - "src": "1420:26:133", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 81201, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1420:7:133", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 81202, - "nodeType": "ArrayTypeName", - "src": "1420:9:133", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "visibility": "internal" - } - ], - "src": "1231:221:133" - }, - "returnParameters": { - "id": 81207, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 81206, - "mutability": "mutable", - "name": "poolId", - "nameLocation": "1487:6:133", - "nodeType": "VariableDeclaration", - "scope": 81208, - "src": "1479:14:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 81205, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1479:7:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "1478:16:133" - }, - "scope": 81222, - "stateMutability": "payable", - "virtual": false, - "visibility": "external" - }, - { - "id": 81213, - "nodeType": "FunctionDefinition", - "src": "1501:55:133", - "nodes": [], - "functionSelector": "5ab1bd53", - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "getRegistry", - "nameLocation": "1510:11:133", - "parameters": { - "id": 81209, - "nodeType": "ParameterList", - "parameters": [], - "src": "1521:2:133" - }, - "returnParameters": { - "id": 81212, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 81211, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 81213, - "src": "1547:7:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 81210, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1547:7:133", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "1546:9:133" - }, - "scope": 81222, - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "id": 81221, - "nodeType": "FunctionDefinition", - "src": "1561:76:133", - "nodes": [], - "functionSelector": "068bcd8d", - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "getPool", - "nameLocation": "1570:7:133", - "parameters": { - "id": 81216, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 81215, - "mutability": "mutable", - "name": "_poolId", - "nameLocation": "1586:7:133", - "nodeType": "VariableDeclaration", - "scope": 81221, - "src": "1578:15:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 81214, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1578:7:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "1577:17:133" - }, - "returnParameters": { - "id": 81220, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 81219, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 81221, - "src": "1618:17:133", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pool_$2319_memory_ptr", - "typeString": "struct IAllo.Pool" - }, - "typeName": { - "id": 81218, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 81217, - "name": "IAllo.Pool", - "nameLocations": [ - "1618:5:133", - "1624:4:133" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 2319, - "src": "1618:10:133" - }, - "referencedDeclaration": 2319, - "src": "1618:10:133", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pool_$2319_storage_ptr", - "typeString": "struct IAllo.Pool" - } - }, - "visibility": "internal" - } - ], - "src": "1617:19:133" - }, - "scope": 81222, - "stateMutability": "view", - "virtual": false, - "visibility": "external" - } - ], - "abstract": false, - "baseContracts": [], - "canonicalName": "FAllo", - "contractDependencies": [], - "contractKind": "interface", - "fullyImplemented": false, - "linearizedBaseContracts": [ - 81222 - ], - "name": "FAllo", - "nameLocation": "1182:5:133", - "scope": 83083, - "usedErrors": [] - }, - { - "id": 83082, - "nodeType": "ContractDefinition", - "src": "1641:21524:133", - "nodes": [ - { - "id": 81229, - "nodeType": "UsingForDirective", - "src": "1708:32:133", - "nodes": [], - "global": false, - "libraryName": { - "id": 81227, - "name": "ERC165Checker", - "nameLocations": [ - "1714:13:133" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 58460, - "src": "1714:13:133" - }, - "typeName": { - "id": 81228, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1732:7:133", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - }, - { - "id": 81233, - "nodeType": "UsingForDirective", - "src": "1745:27:133", - "nodes": [], - "global": false, - "libraryName": { - "id": 81230, - "name": "SafeERC20", - "nameLocations": [ - "1751:9:133" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 57506, - "src": "1751:9:133" - }, - "typeName": { - "id": 81232, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 81231, - "name": "IERC20", - "nameLocations": [ - "1765:6:133" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 57069, - "src": "1765:6:133" - }, - "referencedDeclaration": 57069, - "src": "1765:6:133", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$57069", - "typeString": "contract IERC20" - } - } - }, - { - "id": 81236, - "nodeType": "UsingForDirective", - "src": "1777:24:133", - "nodes": [], - "global": false, - "libraryName": { - "id": 81234, - "name": "Clone", - "nameLocations": [ - "1783:5:133" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 3002, - "src": "1783:5:133" - }, - "typeName": { - "id": 81235, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1793:7:133", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - }, - { - "id": 81239, - "nodeType": "VariableDeclaration", - "src": "1807:75:133", - "nodes": [], - "constant": true, - "functionSelector": "a0cf0aea", - "mutability": "constant", - "name": "NATIVE", - "nameLocation": "1831:6:133", - "scope": 83082, - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 81237, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1807:7:133", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": { - "hexValue": "307845656565654565656545654565654565456545656545454565656565456565656565656545456545", - "id": 81238, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1840:42:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "value": "0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE" - }, - "visibility": "public" - }, - { - "id": 81244, - "nodeType": "VariableDeclaration", - "src": "2053:82:133", - "nodes": [], - "constant": true, - "functionSelector": "a0b21cdf", - "mutability": "constant", - "name": "COUNCIL_MEMBER_CHANGE", - "nameLocation": "2077:21:133", - "scope": 83082, - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 81240, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2053:7:133", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "arguments": [ - { - "hexValue": "434f554e43494c5f4d454d4245525f4348414e4745", - "id": 81242, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2111:23:133", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_bc6bbe35ebc64943402c04d2ae016d7bd2bba28e1a11cf66be743c9bd74c720b", - "typeString": "literal_string \"COUNCIL_MEMBER_CHANGE\"" - }, - "value": "COUNCIL_MEMBER_CHANGE" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_bc6bbe35ebc64943402c04d2ae016d7bd2bba28e1a11cf66be743c9bd74c720b", - "typeString": "literal_string \"COUNCIL_MEMBER_CHANGE\"" - } - ], - "id": 81241, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -8, - "src": "2101:9:133", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 81243, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2101:34:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "public" - }, - { - "id": 81248, - "nodeType": "EventDefinition", - "src": "2307:29:133", - "nodes": [], - "anonymous": false, - "eventSelector": "aaded18d4d508696508b945d03ff3d168110dbb73e17aeda699745655fa958d2", - "name": "AlloSet", - "nameLocation": "2313:7:133", - "parameters": { - "id": 81247, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 81246, - "indexed": false, - "mutability": "mutable", - "name": "_allo", - "nameLocation": "2329:5:133", - "nodeType": "VariableDeclaration", - "scope": 81248, - "src": "2321:13:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 81245, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2321:7:133", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "2320:15:133" - } - }, - { - "id": 81252, - "nodeType": "EventDefinition", - "src": "2341:36:133", - "nodes": [], - "anonymous": false, - "eventSelector": "ad0399dc40331b9a4977aa89da7a164a3fd482c65e6da73b25a94ea74fb68872", - "name": "CouncilSafeSet", - "nameLocation": "2347:14:133", - "parameters": { - "id": 81251, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 81250, - "indexed": false, - "mutability": "mutable", - "name": "_safe", - "nameLocation": "2370:5:133", - "nodeType": "VariableDeclaration", - "scope": 81252, - "src": "2362:13:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 81249, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2362:7:133", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "2361:15:133" - } - }, - { - "id": 81258, - "nodeType": "EventDefinition", - "src": "2382:74:133", - "nodes": [], - "anonymous": false, - "eventSelector": "83eac9fdaff0ac1017624b7eddeb9782e3d707cd894073cb7e8301a41c6e5cf8", - "name": "CouncilSafeChangeStarted", - "nameLocation": "2388:24:133", - "parameters": { - "id": 81257, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 81254, - "indexed": false, - "mutability": "mutable", - "name": "_safeOwner", - "nameLocation": "2421:10:133", - "nodeType": "VariableDeclaration", - "scope": 81258, - "src": "2413:18:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 81253, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2413:7:133", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 81256, - "indexed": false, - "mutability": "mutable", - "name": "_newSafeOwner", - "nameLocation": "2441:13:133", - "nodeType": "VariableDeclaration", - "scope": 81258, - "src": "2433:21:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 81255, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2433:7:133", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "2412:43:133" - } - }, - { - "id": 81264, - "nodeType": "EventDefinition", - "src": "2461:63:133", - "nodes": [], - "anonymous": false, - "eventSelector": "67e0244e28040fec15240cd4b6c04c776a2a0278caef23b59e8ada1df31f7689", - "name": "MemberRegistered", - "nameLocation": "2467:16:133", - "parameters": { - "id": 81263, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 81260, - "indexed": false, - "mutability": "mutable", - "name": "_member", - "nameLocation": "2492:7:133", - "nodeType": "VariableDeclaration", - "scope": 81264, - "src": "2484:15:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 81259, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2484:7:133", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 81262, - "indexed": false, - "mutability": "mutable", - "name": "_amountStaked", - "nameLocation": "2509:13:133", - "nodeType": "VariableDeclaration", - "scope": 81264, - "src": "2501:21:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 81261, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2501:7:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "2483:40:133" - } - }, - { - "id": 81270, - "nodeType": "EventDefinition", - "src": "2529:67:133", - "nodes": [], - "anonymous": false, - "eventSelector": "a13f4668aacb68c4e9eed8e3f6e1cbec3eca776896ec46b5eabcc3983fc8f5f4", - "name": "MemberUnregistered", - "nameLocation": "2535:18:133", - "parameters": { - "id": 81269, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 81266, - "indexed": false, - "mutability": "mutable", - "name": "_member", - "nameLocation": "2562:7:133", - "nodeType": "VariableDeclaration", - "scope": 81270, - "src": "2554:15:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 81265, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2554:7:133", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 81268, - "indexed": false, - "mutability": "mutable", - "name": "_amountReturned", - "nameLocation": "2579:15:133", - "nodeType": "VariableDeclaration", - "scope": 81270, - "src": "2571:23:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 81267, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2571:7:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "2553:42:133" - } - }, - { - "id": 81278, - "nodeType": "EventDefinition", - "src": "2601:87:133", - "nodes": [], - "anonymous": false, - "eventSelector": "b5946f249f8744efe9d14d49a483b54a589b1362944ff6694de93456cceb96a3", - "name": "MemberKicked", - "nameLocation": "2607:12:133", - "parameters": { - "id": 81277, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 81272, - "indexed": false, - "mutability": "mutable", - "name": "_member", - "nameLocation": "2628:7:133", - "nodeType": "VariableDeclaration", - "scope": 81278, - "src": "2620:15:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 81271, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2620:7:133", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 81274, - "indexed": false, - "mutability": "mutable", - "name": "_transferAddress", - "nameLocation": "2645:16:133", - "nodeType": "VariableDeclaration", - "scope": 81278, - "src": "2637:24:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 81273, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2637:7:133", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 81276, - "indexed": false, - "mutability": "mutable", - "name": "_amountReturned", - "nameLocation": "2671:15:133", - "nodeType": "VariableDeclaration", - "scope": 81278, - "src": "2663:23:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 81275, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2663:7:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "2619:68:133" - } - }, - { - "id": 81282, - "nodeType": "EventDefinition", - "src": "2693:43:133", - "nodes": [], - "anonymous": false, - "eventSelector": "611668bfcf654a99c33cdb66c29ec37a5aae5c1287d2d9715a24e18cb4d806d6", - "name": "CommunityFeeUpdated", - "nameLocation": "2699:19:133", - "parameters": { - "id": 81281, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 81280, - "indexed": false, - "mutability": "mutable", - "name": "_newFee", - "nameLocation": "2727:7:133", - "nodeType": "VariableDeclaration", - "scope": 81282, - "src": "2719:15:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 81279, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2719:7:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "2718:17:133" - } - }, - { - "id": 81291, - "nodeType": "EventDefinition", - "src": "2741:89:133", - "nodes": [], - "anonymous": false, - "eventSelector": "2f2ffcb06f8a1d35e2716f6b43ef2c19bfa76467d8f66964ae12c2583ed03205", - "name": "RegistryInitialized", - "nameLocation": "2747:19:133", - "parameters": { - "id": 81290, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 81284, - "indexed": false, - "mutability": "mutable", - "name": "_profileId", - "nameLocation": "2775:10:133", - "nodeType": "VariableDeclaration", - "scope": 81291, - "src": "2767:18:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 81283, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2767:7:133", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 81286, - "indexed": false, - "mutability": "mutable", - "name": "_communityName", - "nameLocation": "2794:14:133", - "nodeType": "VariableDeclaration", - "scope": 81291, - "src": "2787:21:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 81285, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2787:6:133", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 81289, - "indexed": false, - "mutability": "mutable", - "name": "_metadata", - "nameLocation": "2819:9:133", - "nodeType": "VariableDeclaration", - "scope": 81291, - "src": "2810:18:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Metadata_$3098_memory_ptr", - "typeString": "struct Metadata" - }, - "typeName": { - "id": 81288, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 81287, - "name": "Metadata", - "nameLocations": [ - "2810:8:133" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 3098, - "src": "2810:8:133" - }, - "referencedDeclaration": 3098, - "src": "2810:8:133", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Metadata_$3098_storage_ptr", - "typeString": "struct Metadata" - } - }, - "visibility": "internal" - } - ], - "src": "2766:63:133" - } - }, - { - "id": 81295, - "nodeType": "EventDefinition", - "src": "2835:39:133", - "nodes": [], - "anonymous": false, - "eventSelector": "3f008fd510eae7a9e7bee13513d7b83bef8003d488b5a3d0b0da4de71d6846f1", - "name": "StrategyAdded", - "nameLocation": "2841:13:133", - "parameters": { - "id": 81294, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 81293, - "indexed": false, - "mutability": "mutable", - "name": "_strategy", - "nameLocation": "2863:9:133", - "nodeType": "VariableDeclaration", - "scope": 81295, - "src": "2855:17:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 81292, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2855:7:133", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "2854:19:133" - } - }, - { - "id": 81299, - "nodeType": "EventDefinition", - "src": "2879:41:133", - "nodes": [], - "anonymous": false, - "eventSelector": "09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea4", - "name": "StrategyRemoved", - "nameLocation": "2885:15:133", - "parameters": { - "id": 81298, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 81297, - "indexed": false, - "mutability": "mutable", - "name": "_strategy", - "nameLocation": "2909:9:133", - "nodeType": "VariableDeclaration", - "scope": 81299, - "src": "2901:17:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 81296, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2901:7:133", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "2900:19:133" - } - }, - { - "id": 81307, - "nodeType": "EventDefinition", - "src": "2925:93:133", - "nodes": [], - "anonymous": false, - "eventSelector": "f56fa57e85e169a12200d12d9921ec069b52e688f6d309d9dab7bceff54614ec", - "name": "MemberActivatedStrategy", - "nameLocation": "2931:23:133", - "parameters": { - "id": 81306, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 81301, - "indexed": false, - "mutability": "mutable", - "name": "_member", - "nameLocation": "2963:7:133", - "nodeType": "VariableDeclaration", - "scope": 81307, - "src": "2955:15:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 81300, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2955:7:133", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 81303, - "indexed": false, - "mutability": "mutable", - "name": "_strategy", - "nameLocation": "2980:9:133", - "nodeType": "VariableDeclaration", - "scope": 81307, - "src": "2972:17:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 81302, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2972:7:133", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 81305, - "indexed": false, - "mutability": "mutable", - "name": "_pointsToIncrease", - "nameLocation": "2999:17:133", - "nodeType": "VariableDeclaration", - "scope": 81307, - "src": "2991:25:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 81304, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2991:7:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "2954:63:133" - } - }, - { - "id": 81313, - "nodeType": "EventDefinition", - "src": "3023:68:133", - "nodes": [], - "anonymous": false, - "eventSelector": "00de109bef4619f7e2cf00c8e5a50ca55f8deb44f87087eed414a91dbf8d1d1b", - "name": "MemberDeactivatedStrategy", - "nameLocation": "3029:25:133", - "parameters": { - "id": 81312, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 81309, - "indexed": false, - "mutability": "mutable", - "name": "_member", - "nameLocation": "3063:7:133", - "nodeType": "VariableDeclaration", - "scope": 81313, - "src": "3055:15:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 81308, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3055:7:133", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 81311, - "indexed": false, - "mutability": "mutable", - "name": "_strategy", - "nameLocation": "3080:9:133", - "nodeType": "VariableDeclaration", - "scope": 81313, - "src": "3072:17:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 81310, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3072:7:133", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "3054:36:133" - } - }, - { - "id": 81317, - "nodeType": "EventDefinition", - "src": "3096:47:133", - "nodes": [], - "anonymous": false, - "eventSelector": "5bcc2c453001fb0e2ba6266d56ecb411e7c6e15c8f9c3d301f93dd36ad25726f", - "name": "BasisStakedAmountSet", - "nameLocation": "3102:20:133", - "parameters": { - "id": 81316, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 81315, - "indexed": false, - "mutability": "mutable", - "name": "_newAmount", - "nameLocation": "3131:10:133", - "nodeType": "VariableDeclaration", - "scope": 81317, - "src": "3123:18:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 81314, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3123:7:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "3122:20:133" - } - }, - { - "id": 81323, - "nodeType": "EventDefinition", - "src": "3148:67:133", - "nodes": [], - "anonymous": false, - "eventSelector": "576605f9bfe8911e7508bed3763c7c5c8eb3b86e8b360b90a4bc6abe1104cb7f", - "name": "MemberPowerIncreased", - "nameLocation": "3154:20:133", - "parameters": { - "id": 81322, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 81319, - "indexed": false, - "mutability": "mutable", - "name": "_member", - "nameLocation": "3183:7:133", - "nodeType": "VariableDeclaration", - "scope": 81323, - "src": "3175:15:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 81318, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3175:7:133", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 81321, - "indexed": false, - "mutability": "mutable", - "name": "_stakedAmount", - "nameLocation": "3200:13:133", - "nodeType": "VariableDeclaration", - "scope": 81323, - "src": "3192:21:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 81320, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3192:7:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "3174:40:133" - } - }, - { - "id": 81329, - "nodeType": "EventDefinition", - "src": "3220:69:133", - "nodes": [], - "anonymous": false, - "eventSelector": "6ee2c70b2d6b89ae808a2313aab43e925c06624271419cd665d85cfa1ae04ff8", - "name": "MemberPowerDecreased", - "nameLocation": "3226:20:133", - "parameters": { - "id": 81328, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 81325, - "indexed": false, - "mutability": "mutable", - "name": "_member", - "nameLocation": "3255:7:133", - "nodeType": "VariableDeclaration", - "scope": 81329, - "src": "3247:15:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 81324, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3247:7:133", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 81327, - "indexed": false, - "mutability": "mutable", - "name": "_unstakedAmount", - "nameLocation": "3272:15:133", - "nodeType": "VariableDeclaration", - "scope": 81329, - "src": "3264:23:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 81326, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3264:7:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "3246:42:133" - } - }, - { - "id": 81342, - "nodeType": "EventDefinition", - "src": "3294:110:133", - "nodes": [], - "anonymous": false, - "eventSelector": "778cac0ae0b66477341553a4a89398c61ccf448313d3354ad0ca85a5a825d283", - "name": "PoolCreated", - "nameLocation": "3300:11:133", - "parameters": { - "id": 81341, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 81331, - "indexed": false, - "mutability": "mutable", - "name": "_poolId", - "nameLocation": "3320:7:133", - "nodeType": "VariableDeclaration", - "scope": 81342, - "src": "3312:15:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 81330, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3312:7:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 81333, - "indexed": false, - "mutability": "mutable", - "name": "_strategy", - "nameLocation": "3337:9:133", - "nodeType": "VariableDeclaration", - "scope": 81342, - "src": "3329:17:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 81332, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3329:7:133", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 81335, - "indexed": false, - "mutability": "mutable", - "name": "_community", - "nameLocation": "3356:10:133", - "nodeType": "VariableDeclaration", - "scope": 81342, - "src": "3348:18:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 81334, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3348:7:133", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 81337, - "indexed": false, - "mutability": "mutable", - "name": "_token", - "nameLocation": "3376:6:133", - "nodeType": "VariableDeclaration", - "scope": 81342, - "src": "3368:14:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 81336, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3368:7:133", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 81340, - "indexed": false, - "mutability": "mutable", - "name": "_metadata", - "nameLocation": "3393:9:133", - "nodeType": "VariableDeclaration", - "scope": 81342, - "src": "3384:18:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Metadata_$3098_memory_ptr", - "typeString": "struct Metadata" - }, - "typeName": { - "id": 81339, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 81338, - "name": "Metadata", - "nameLocations": [ - "3384:8:133" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 3098, - "src": "3384:8:133" - }, - "referencedDeclaration": 3098, - "src": "3384:8:133", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Metadata_$3098_storage_ptr", - "typeString": "struct Metadata" - } - }, - "visibility": "internal" - } - ], - "src": "3311:92:133" - } - }, - { - "id": 81357, - "nodeType": "FunctionDefinition", - "src": "3575:155:133", - "nodes": [], - "body": { - "id": 81356, - "nodeType": "Block", - "src": "3615:115:133", - "nodes": [], - "statements": [ - { - "condition": { - "id": 81350, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "3629:43:133", - "subExpression": { - "arguments": [ - { - "id": 81346, - "name": "COUNCIL_MEMBER_CHANGE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81244, - "src": "3638:21:133", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "expression": { - "id": 81347, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "3661:3:133", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 81348, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "3665:6:133", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "3661:10:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 81345, - "name": "hasRole", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 55072, - "src": "3630:7:133", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$", - "typeString": "function (bytes32,address) view returns (bool)" - } - }, - "id": 81349, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "3630:42:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 81355, - "nodeType": "IfStatement", - "src": "3625:99:133", - "trueBody": { - "id": 81354, - "nodeType": "Block", - "src": "3674:50:133", - "statements": [ - { - "errorCall": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 81351, - "name": "UserNotInCouncil", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81441, - "src": "3695:16:133", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 81352, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "3695:18:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 81353, - "nodeType": "RevertStatement", - "src": "3688:25:133" - } - ] - } - } - ] - }, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "onlyCouncilSafe", - "nameLocation": "3584:15:133", - "parameters": { - "id": 81343, - "nodeType": "ParameterList", - "parameters": [], - "src": "3599:2:133" - }, - "returnParameters": { - "id": 81344, - "nodeType": "ParameterList", - "parameters": [], - "src": "3615:0:133" - }, - "scope": 83082, - "stateMutability": "view", - "virtual": false, - "visibility": "private" - }, - { - "id": 81371, - "nodeType": "FunctionDefinition", - "src": "3736:143:133", - "nodes": [], - "body": { - "id": 81370, - "nodeType": "Block", - "src": "3785:94:133", - "nodes": [], - "statements": [ - { - "condition": { - "id": 81364, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "3799:21:133", - "subExpression": { - "arguments": [ - { - "expression": { - "id": 81361, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "3809:3:133", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 81362, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "3813:6:133", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "3809:10:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 81360, - "name": "isMember", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82663, - "src": "3800:8:133", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", - "typeString": "function (address) view returns (bool)" - } - }, - "id": 81363, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "3800:20:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 81369, - "nodeType": "IfStatement", - "src": "3795:78:133", - "trueBody": { - "id": 81368, - "nodeType": "Block", - "src": "3822:51:133", - "statements": [ - { - "errorCall": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 81365, - "name": "UserNotInRegistry", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81443, - "src": "3843:17:133", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 81366, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "3843:19:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 81367, - "nodeType": "RevertStatement", - "src": "3836:26:133" - } - ] - } - } - ] - }, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "onlyRegistryMemberSender", - "nameLocation": "3745:24:133", - "parameters": { - "id": 81358, - "nodeType": "ParameterList", - "parameters": [], - "src": "3769:2:133" - }, - "returnParameters": { - "id": 81359, - "nodeType": "ParameterList", - "parameters": [], - "src": "3785:0:133" - }, - "scope": 83082, - "stateMutability": "view", - "virtual": false, - "visibility": "private" - }, - { - "id": 81386, - "nodeType": "FunctionDefinition", - "src": "3885:156:133", - "nodes": [], - "body": { - "id": 81385, - "nodeType": "Block", - "src": "3950:91:133", - "nodes": [], - "statements": [ - { - "condition": { - "id": 81379, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "3964:18:133", - "subExpression": { - "arguments": [ - { - "id": 81377, - "name": "_sender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81373, - "src": "3974:7:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 81376, - "name": "isMember", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82663, - "src": "3965:8:133", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", - "typeString": "function (address) view returns (bool)" - } - }, - "id": 81378, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "3965:17:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 81384, - "nodeType": "IfStatement", - "src": "3960:75:133", - "trueBody": { - "id": 81383, - "nodeType": "Block", - "src": "3984:51:133", - "statements": [ - { - "errorCall": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 81380, - "name": "UserNotInRegistry", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81443, - "src": "4005:17:133", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 81381, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "4005:19:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 81382, - "nodeType": "RevertStatement", - "src": "3998:26:133" - } - ] - } - } - ] - }, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "onlyRegistryMemberAddress", - "nameLocation": "3894:25:133", - "parameters": { - "id": 81374, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 81373, - "mutability": "mutable", - "name": "_sender", - "nameLocation": "3928:7:133", - "nodeType": "VariableDeclaration", - "scope": 81386, - "src": "3920:15:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 81372, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3920:7:133", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "3919:17:133" - }, - "returnParameters": { - "id": 81375, - "nodeType": "ParameterList", - "parameters": [], - "src": "3950:0:133" - }, - "scope": 83082, - "stateMutability": "view", - "virtual": false, - "visibility": "private" - }, - { - "id": 81401, - "nodeType": "FunctionDefinition", - "src": "4047:162:133", - "nodes": [], - "body": { - "id": 81400, - "nodeType": "Block", - "src": "4108:101:133", - "nodes": [], - "statements": [ - { - "condition": { - "id": 81394, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "4122:29:133", - "subExpression": { - "baseExpression": { - "id": 81391, - "name": "enabledStrategies", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81553, - "src": "4123:17:133", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 81393, - "indexExpression": { - "id": 81392, - "name": "_strategy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81388, - "src": "4141:9:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4123:28:133", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 81399, - "nodeType": "IfStatement", - "src": "4118:85:133", - "trueBody": { - "id": 81398, - "nodeType": "Block", - "src": "4153:50:133", - "statements": [ - { - "errorCall": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 81395, - "name": "StrategyDisabled", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81455, - "src": "4174:16:133", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 81396, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "4174:18:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 81397, - "nodeType": "RevertStatement", - "src": "4167:25:133" - } - ] - } - } - ] - }, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "onlyStrategyEnabled", - "nameLocation": "4056:19:133", - "parameters": { - "id": 81389, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 81388, - "mutability": "mutable", - "name": "_strategy", - "nameLocation": "4084:9:133", - "nodeType": "VariableDeclaration", - "scope": 81401, - "src": "4076:17:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 81387, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4076:7:133", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "4075:19:133" - }, - "returnParameters": { - "id": 81390, - "nodeType": "ParameterList", - "parameters": [], - "src": "4108:0:133" - }, - "scope": 83082, - "stateMutability": "view", - "virtual": false, - "visibility": "private" - }, - { - "id": 81417, - "nodeType": "FunctionDefinition", - "src": "4215:171:133", - "nodes": [], - "body": { - "id": 81416, - "nodeType": "Block", - "src": "4293:93:133", - "nodes": [], - "statements": [ - { - "condition": { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 81410, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 81408, - "name": "_sender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81403, - "src": "4307:7:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "id": 81409, - "name": "_strategy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81405, - "src": "4318:9:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "4307:20:133", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 81415, - "nodeType": "IfStatement", - "src": "4303:77:133", - "trueBody": { - "id": 81414, - "nodeType": "Block", - "src": "4329:51:133", - "statements": [ - { - "errorCall": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 81411, - "name": "SenderNotStrategy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81459, - "src": "4350:17:133", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 81412, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "4350:19:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 81413, - "nodeType": "RevertStatement", - "src": "4343:26:133" - } - ] - } - } - ] - }, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "onlyStrategyAddress", - "nameLocation": "4224:19:133", - "parameters": { - "id": 81406, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 81403, - "mutability": "mutable", - "name": "_sender", - "nameLocation": "4252:7:133", - "nodeType": "VariableDeclaration", - "scope": 81417, - "src": "4244:15:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 81402, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4244:7:133", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 81405, - "mutability": "mutable", - "name": "_strategy", - "nameLocation": "4269:9:133", - "nodeType": "VariableDeclaration", - "scope": 81417, - "src": "4261:17:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 81404, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4261:7:133", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "4243:36:133" - }, - "returnParameters": { - "id": 81407, - "nodeType": "ParameterList", - "parameters": [], - "src": "4293:0:133" - }, - "scope": 83082, - "stateMutability": "pure", - "virtual": false, - "visibility": "private" - }, - { - "id": 81435, - "nodeType": "FunctionDefinition", - "src": "4392:189:133", - "nodes": [], - "body": { - "id": 81434, - "nodeType": "Block", - "src": "4457:124:133", - "nodes": [], - "statements": [ - { - "condition": { - "id": 81428, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "4471:51:133", - "subExpression": { - "baseExpression": { - "baseExpression": { - "id": 81422, - "name": "memberActivatedInStrategies", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81575, - "src": "4472:27:133", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$", - "typeString": "mapping(address => mapping(address => bool))" - } - }, - "id": 81425, - "indexExpression": { - "expression": { - "id": 81423, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "4500:3:133", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 81424, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "4504:6:133", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "4500:10:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4472:39:133", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 81427, - "indexExpression": { - "id": 81426, - "name": "_strategy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81419, - "src": "4512:9:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4472:50:133", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 81433, - "nodeType": "IfStatement", - "src": "4467:108:133", - "trueBody": { - "id": 81432, - "nodeType": "Block", - "src": "4524:51:133", - "statements": [ - { - "errorCall": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 81429, - "name": "PointsDeactivated", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81467, - "src": "4545:17:133", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 81430, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "4545:19:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 81431, - "nodeType": "RevertStatement", - "src": "4538:26:133" - } - ] - } - } - ] - }, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "onlyActivatedInStrategy", - "nameLocation": "4401:23:133", - "parameters": { - "id": 81420, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 81419, - "mutability": "mutable", - "name": "_strategy", - "nameLocation": "4433:9:133", - "nodeType": "VariableDeclaration", - "scope": 81435, - "src": "4425:17:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 81418, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4425:7:133", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "4424:19:133" - }, - "returnParameters": { - "id": 81421, - "nodeType": "ParameterList", - "parameters": [], - "src": "4457:0:133" - }, - "scope": 83082, - "stateMutability": "view", - "virtual": false, - "visibility": "private" - }, - { - "id": 81437, - "nodeType": "ErrorDefinition", - "src": "4753:28:133", - "nodes": [], - "errorSelector": "e622e040", - "name": "AddressCannotBeZero", - "nameLocation": "4759:19:133", - "parameters": { - "id": 81436, - "nodeType": "ParameterList", - "parameters": [], - "src": "4778:2:133" - } - }, - { - "id": 81439, - "nodeType": "ErrorDefinition", - "src": "4786:29:133", - "nodes": [], - "errorSelector": "5df4b1ef", - "name": "RegistryCannotBeZero", - "nameLocation": "4792:20:133", - "parameters": { - "id": 81438, - "nodeType": "ParameterList", - "parameters": [], - "src": "4812:2:133" - } - }, - { - "id": 81441, - "nodeType": "ErrorDefinition", - "src": "4820:25:133", - "nodes": [], - "errorSelector": "f62651fa", - "name": "UserNotInCouncil", - "nameLocation": "4826:16:133", - "parameters": { - "id": 81440, - "nodeType": "ParameterList", - "parameters": [], - "src": "4842:2:133" - } - }, - { - "id": 81443, - "nodeType": "ErrorDefinition", - "src": "4850:26:133", - "nodes": [], - "errorSelector": "6a5cfb6d", - "name": "UserNotInRegistry", - "nameLocation": "4856:17:133", - "parameters": { - "id": 81442, - "nodeType": "ParameterList", - "parameters": [], - "src": "4873:2:133" - } - }, - { - "id": 81445, - "nodeType": "ErrorDefinition", - "src": "4881:30:133", - "nodes": [], - "errorSelector": "9e4a65f6", - "name": "UserAlreadyRegistered", - "nameLocation": "4887:21:133", - "parameters": { - "id": 81444, - "nodeType": "ParameterList", - "parameters": [], - "src": "4908:2:133" - } - }, - { - "id": 81447, - "nodeType": "ErrorDefinition", - "src": "4916:27:133", - "nodes": [], - "errorSelector": "e9a644b8", - "name": "UserNotGardenOwner", - "nameLocation": "4922:18:133", - "parameters": { - "id": 81446, - "nodeType": "ParameterList", - "parameters": [], - "src": "4940:2:133" - } - }, - { - "id": 81449, - "nodeType": "ErrorDefinition", - "src": "4948:29:133", - "nodes": [], - "errorSelector": "d5b9bc96", - "name": "UserAlreadyActivated", - "nameLocation": "4954:20:133", - "parameters": { - "id": 81448, - "nodeType": "ParameterList", - "parameters": [], - "src": "4974:2:133" - } - }, - { - "id": 81451, - "nodeType": "ErrorDefinition", - "src": "4982:31:133", - "nodes": [], - "errorSelector": "c12369dc", - "name": "UserAlreadyDeactivated", - "nameLocation": "4988:22:133", - "parameters": { - "id": 81450, - "nodeType": "ParameterList", - "parameters": [], - "src": "5010:2:133" - } - }, - { - "id": 81453, - "nodeType": "ErrorDefinition", - "src": "5018:23:133", - "nodes": [], - "errorSelector": "968a4d2c", - "name": "StrategyExists", - "nameLocation": "5024:14:133", - "parameters": { - "id": 81452, - "nodeType": "ParameterList", - "parameters": [], - "src": "5038:2:133" - } - }, - { - "id": 81455, - "nodeType": "ErrorDefinition", - "src": "5046:25:133", - "nodes": [], - "errorSelector": "46c26e4b", - "name": "StrategyDisabled", - "nameLocation": "5052:16:133", - "parameters": { - "id": 81454, - "nodeType": "ParameterList", - "parameters": [], - "src": "5068:2:133" - } - }, - { - "id": 81457, - "nodeType": "ErrorDefinition", - "src": "5076:26:133", - "nodes": [], - "errorSelector": "ebcd0d6e", - "name": "SenderNotNewOwner", - "nameLocation": "5082:17:133", - "parameters": { - "id": 81456, - "nodeType": "ParameterList", - "parameters": [], - "src": "5099:2:133" - } - }, - { - "id": 81459, - "nodeType": "ErrorDefinition", - "src": "5107:26:133", - "nodes": [], - "errorSelector": "bbe79611", - "name": "SenderNotStrategy", - "nameLocation": "5113:17:133", - "parameters": { - "id": 81458, - "nodeType": "ParameterList", - "parameters": [], - "src": "5130:2:133" - } - }, - { - "id": 81461, - "nodeType": "ErrorDefinition", - "src": "5138:26:133", - "nodes": [], - "errorSelector": "c70d18aa", - "name": "ValueCannotBeZero", - "nameLocation": "5144:17:133", - "parameters": { - "id": 81460, - "nodeType": "ParameterList", - "parameters": [], - "src": "5161:2:133" - } - }, - { - "id": 81463, - "nodeType": "ErrorDefinition", - "src": "5169:29:133", - "nodes": [], - "errorSelector": "fe925f7d", - "name": "NewFeeGreaterThanMax", - "nameLocation": "5175:20:133", - "parameters": { - "id": 81462, - "nodeType": "ParameterList", - "parameters": [], - "src": "5195:2:133" - } - }, - { - "id": 81465, - "nodeType": "ErrorDefinition", - "src": "5203:23:133", - "nodes": [], - "errorSelector": "cb63dc72", - "name": "KickNotEnabled", - "nameLocation": "5209:14:133", - "parameters": { - "id": 81464, - "nodeType": "ParameterList", - "parameters": [], - "src": "5223:2:133" - } - }, - { - "id": 81467, - "nodeType": "ErrorDefinition", - "src": "5231:26:133", - "nodes": [], - "errorSelector": "d4d3290e", - "name": "PointsDeactivated", - "nameLocation": "5237:17:133", - "parameters": { - "id": 81466, - "nodeType": "ParameterList", - "parameters": [], - "src": "5254:2:133" - } - }, - { - "id": 81469, - "nodeType": "ErrorDefinition", - "src": "5262:29:133", - "nodes": [], - "errorSelector": "9c47d02e", - "name": "DecreaseUnderMinimum", - "nameLocation": "5268:20:133", - "parameters": { - "id": 81468, - "nodeType": "ParameterList", - "parameters": [], - "src": "5288:2:133" - } - }, - { - "id": 81475, - "nodeType": "ErrorDefinition", - "src": "5296:80:133", - "nodes": [], - "errorSelector": "8a11f318", - "name": "CantDecreaseMoreThanPower", - "nameLocation": "5302:25:133", - "parameters": { - "id": 81474, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 81471, - "mutability": "mutable", - "name": "_decreaseAmount", - "nameLocation": "5336:15:133", - "nodeType": "VariableDeclaration", - "scope": 81475, - "src": "5328:23:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 81470, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5328:7:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 81473, - "mutability": "mutable", - "name": "_currentPower", - "nameLocation": "5361:13:133", - "nodeType": "VariableDeclaration", - "scope": 81475, - "src": "5353:21:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 81472, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5353:7:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "5327:48:133" - } - }, - { - "id": 81482, - "nodeType": "StructDefinition", - "src": "5547:102:133", - "nodes": [], - "canonicalName": "RegistryCommunity.Member", - "members": [ - { - "constant": false, - "id": 81477, - "mutability": "mutable", - "name": "member", - "nameLocation": "5579:6:133", - "nodeType": "VariableDeclaration", - "scope": 81482, - "src": "5571:14:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 81476, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5571:7:133", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 81479, - "mutability": "mutable", - "name": "stakedAmount", - "nameLocation": "5603:12:133", - "nodeType": "VariableDeclaration", - "scope": 81482, - "src": "5595:20:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 81478, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5595:7:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 81481, - "mutability": "mutable", - "name": "isRegistered", - "nameLocation": "5630:12:133", - "nodeType": "VariableDeclaration", - "scope": 81482, - "src": "5625:17:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 81480, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "5625:4:133", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "name": "Member", - "nameLocation": "5554:6:133", - "scope": 83082, - "visibility": "public" - }, - { - "id": 81486, - "nodeType": "StructDefinition", - "src": "5655:55:133", - "nodes": [], - "canonicalName": "RegistryCommunity.Strategies", - "members": [ - { - "constant": false, - "id": 81485, - "mutability": "mutable", - "name": "strategies", - "nameLocation": "5693:10:133", - "nodeType": "VariableDeclaration", - "scope": 81486, - "src": "5683:20:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 81483, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5683:7:133", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 81484, - "nodeType": "ArrayTypeName", - "src": "5683:9:133", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "visibility": "internal" - } - ], - "name": "Strategies", - "nameLocation": "5662:10:133", - "scope": 83082, - "visibility": "public" - }, - { - "id": 81515, - "nodeType": "StructDefinition", - "src": "5716:490:133", - "nodes": [], - "canonicalName": "RegistryCommunity.InitializeParams", - "members": [ - { - "constant": false, - "id": 81488, - "mutability": "mutable", - "name": "_allo", - "nameLocation": "5758:5:133", - "nodeType": "VariableDeclaration", - "scope": 81515, - "src": "5750:13:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 81487, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5750:7:133", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 81491, - "mutability": "mutable", - "name": "_gardenToken", - "nameLocation": "5780:12:133", - "nodeType": "VariableDeclaration", - "scope": 81515, - "src": "5773:19:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$57069", - "typeString": "contract IERC20" - }, - "typeName": { - "id": 81490, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 81489, - "name": "IERC20", - "nameLocations": [ - "5773:6:133" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 57069, - "src": "5773:6:133" - }, - "referencedDeclaration": 57069, - "src": "5773:6:133", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$57069", - "typeString": "contract IERC20" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 81493, - "mutability": "mutable", - "name": "_registerStakeAmount", - "nameLocation": "5810:20:133", - "nodeType": "VariableDeclaration", - "scope": 81515, - "src": "5802:28:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 81492, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5802:7:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 81495, - "mutability": "mutable", - "name": "_communityFee", - "nameLocation": "5848:13:133", - "nodeType": "VariableDeclaration", - "scope": 81515, - "src": "5840:21:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 81494, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5840:7:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 81497, - "mutability": "mutable", - "name": "_nonce", - "nameLocation": "5935:6:133", - "nodeType": "VariableDeclaration", - "scope": 81515, - "src": "5927:14:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 81496, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5927:7:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 81499, - "mutability": "mutable", - "name": "_registryFactory", - "nameLocation": "5959:16:133", - "nodeType": "VariableDeclaration", - "scope": 81515, - "src": "5951:24:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 81498, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5951:7:133", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 81501, - "mutability": "mutable", - "name": "_feeReceiver", - "nameLocation": "5993:12:133", - "nodeType": "VariableDeclaration", - "scope": 81515, - "src": "5985:20:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 81500, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5985:7:133", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 81504, - "mutability": "mutable", - "name": "_metadata", - "nameLocation": "6024:9:133", - "nodeType": "VariableDeclaration", - "scope": 81515, - "src": "6015:18:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Metadata_$3098_storage_ptr", - "typeString": "struct Metadata" - }, - "typeName": { - "id": 81503, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 81502, - "name": "Metadata", - "nameLocations": [ - "6015:8:133" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 3098, - "src": "6015:8:133" - }, - "referencedDeclaration": 3098, - "src": "6015:8:133", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Metadata_$3098_storage_ptr", - "typeString": "struct Metadata" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 81506, - "mutability": "mutable", - "name": "_councilSafe", - "nameLocation": "6059:12:133", - "nodeType": "VariableDeclaration", - "scope": 81515, - "src": "6043:28:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - "typeName": { - "id": 81505, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6043:15:133", - "stateMutability": "payable", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 81508, - "mutability": "mutable", - "name": "_communityName", - "nameLocation": "6088:14:133", - "nodeType": "VariableDeclaration", - "scope": 81515, - "src": "6081:21:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - }, - "typeName": { - "id": 81507, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "6081:6:133", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 81510, - "mutability": "mutable", - "name": "_isKickEnabled", - "nameLocation": "6117:14:133", - "nodeType": "VariableDeclaration", - "scope": 81515, - "src": "6112:19:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 81509, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "6112:4:133", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 81512, - "mutability": "mutable", - "name": "covenantIpfsHash", - "nameLocation": "6148:16:133", - "nodeType": "VariableDeclaration", - "scope": 81515, - "src": "6141:23:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - }, - "typeName": { - "id": 81511, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "6141:6:133", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 81514, - "mutability": "mutable", - "name": "_strategyTemplate", - "nameLocation": "6182:17:133", - "nodeType": "VariableDeclaration", - "scope": 81515, - "src": "6174:25:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 81513, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6174:7:133", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "name": "InitializeParams", - "nameLocation": "5723:16:133", - "scope": 83082, - "visibility": "public" - }, - { - "id": 81517, - "nodeType": "VariableDeclaration", - "src": "6303:25:133", - "nodes": [], - "constant": false, - "functionSelector": "1f787d28", - "mutability": "mutable", - "name": "isKickEnabled", - "nameLocation": "6315:13:133", - "scope": 83082, - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 81516, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "6303:4:133", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "public" - }, - { - "id": 81519, - "nodeType": "VariableDeclaration", - "src": "6472:34:133", - "nodes": [], - "constant": false, - "functionSelector": "78a0b8a9", - "mutability": "mutable", - "name": "registerStakeAmount", - "nameLocation": "6487:19:133", - "scope": 83082, - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 81518, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6472:7:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "public" - }, - { - "id": 81521, - "nodeType": "VariableDeclaration", - "src": "6512:27:133", - "nodes": [], - "constant": false, - "functionSelector": "8961be6b", - "mutability": "mutable", - "name": "communityFee", - "nameLocation": "6527:12:133", - "scope": 83082, - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 81520, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6512:7:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "public" - }, - { - "id": 81523, - "nodeType": "VariableDeclaration", - "src": "6545:24:133", - "nodes": [], - "constant": false, - "functionSelector": "08386eba", - "mutability": "mutable", - "name": "profileId", - "nameLocation": "6560:9:133", - "scope": 83082, - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 81522, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "6545:7:133", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "public" - }, - { - "id": 81525, - "nodeType": "VariableDeclaration", - "src": "6620:26:133", - "nodes": [], - "constant": false, - "functionSelector": "b3f00674", - "mutability": "mutable", - "name": "feeReceiver", - "nameLocation": "6635:11:133", - "scope": 83082, - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 81524, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6620:7:133", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "public" - }, - { - "id": 81527, - "nodeType": "VariableDeclaration", - "src": "6652:30:133", - "nodes": [], - "constant": false, - "functionSelector": "f86c5f89", - "mutability": "mutable", - "name": "registryFactory", - "nameLocation": "6667:15:133", - "scope": 83082, - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 81526, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6652:7:133", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "public" - }, - { - "id": 81529, - "nodeType": "VariableDeclaration", - "src": "6688:31:133", - "nodes": [], - "constant": false, - "functionSelector": "5c94e4d2", - "mutability": "mutable", - "name": "strategyTemplate", - "nameLocation": "6703:16:133", - "scope": 83082, - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 81528, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6688:7:133", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "public" - }, - { - "id": 81531, - "nodeType": "VariableDeclaration", - "src": "6725:25:133", - "nodes": [], - "constant": false, - "functionSelector": "33960459", - "mutability": "mutable", - "name": "cloneNonce", - "nameLocation": "6740:10:133", - "scope": 83082, - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 81530, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6725:7:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "public" - }, - { - "id": 81533, - "nodeType": "VariableDeclaration", - "src": "6756:41:133", - "nodes": [], - "constant": false, - "functionSelector": "68decabb", - "mutability": "mutable", - "name": "pendingCouncilSafe", - "nameLocation": "6779:18:133", - "scope": 83082, - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - "typeName": { - "id": 81532, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6756:15:133", - "stateMutability": "payable", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "visibility": "public" - }, - { - "id": 81536, - "nodeType": "VariableDeclaration", - "src": "6875:25:133", - "nodes": [], - "constant": false, - "functionSelector": "7b103999", - "mutability": "mutable", - "name": "registry", - "nameLocation": "6892:8:133", - "scope": 83082, - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IRegistry_$2802", - "typeString": "contract IRegistry" - }, - "typeName": { - "id": 81535, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 81534, - "name": "IRegistry", - "nameLocations": [ - "6875:9:133" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 2802, - "src": "6875:9:133" - }, - "referencedDeclaration": 2802, - "src": "6875:9:133", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IRegistry_$2802", - "typeString": "contract IRegistry" - } - }, - "visibility": "public" - }, - { - "id": 81539, - "nodeType": "VariableDeclaration", - "src": "6906:25:133", - "nodes": [], - "constant": false, - "functionSelector": "db61d65c", - "mutability": "mutable", - "name": "gardenToken", - "nameLocation": "6920:11:133", - "scope": 83082, - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$57069", - "typeString": "contract IERC20" - }, - "typeName": { - "id": 81538, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 81537, - "name": "IERC20", - "nameLocations": [ - "6906:6:133" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 57069, - "src": "6906:6:133" - }, - "referencedDeclaration": 57069, - "src": "6906:6:133", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$57069", - "typeString": "contract IERC20" - } - }, - "visibility": "public" - }, - { - "id": 81542, - "nodeType": "VariableDeclaration", - "src": "6937:24:133", - "nodes": [], - "constant": false, - "functionSelector": "6c53db9a", - "mutability": "mutable", - "name": "councilSafe", - "nameLocation": "6950:11:133", - "scope": 83082, - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ISafe_$85665", - "typeString": "contract ISafe" - }, - "typeName": { - "id": 81541, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 81540, - "name": "ISafe", - "nameLocations": [ - "6937:5:133" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 85665, - "src": "6937:5:133" - }, - "referencedDeclaration": 85665, - "src": "6937:5:133", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ISafe_$85665", - "typeString": "contract ISafe" - } - }, - "visibility": "public" - }, - { - "id": 81545, - "nodeType": "VariableDeclaration", - "src": "6967:17:133", - "nodes": [], - "constant": false, - "functionSelector": "d6d8428d", - "mutability": "mutable", - "name": "allo", - "nameLocation": "6980:4:133", - "scope": 83082, - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_FAllo_$81222", - "typeString": "contract FAllo" - }, - "typeName": { - "id": 81544, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 81543, - "name": "FAllo", - "nameLocations": [ - "6967:5:133" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 81222, - "src": "6967:5:133" - }, - "referencedDeclaration": 81222, - "src": "6967:5:133", - "typeDescriptions": { - "typeIdentifier": "t_contract$_FAllo_$81222", - "typeString": "contract FAllo" - } - }, - "visibility": "public" - }, - { - "id": 81547, - "nodeType": "VariableDeclaration", - "src": "7048:27:133", - "nodes": [], - "constant": false, - "functionSelector": "c6d572ae", - "mutability": "mutable", - "name": "communityName", - "nameLocation": "7062:13:133", - "scope": 83082, - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string" - }, - "typeName": { - "id": 81546, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "7048:6:133", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "public" - }, - { - "id": 81549, - "nodeType": "VariableDeclaration", - "src": "7081:30:133", - "nodes": [], - "constant": false, - "functionSelector": "b64e39af", - "mutability": "mutable", - "name": "covenantIpfsHash", - "nameLocation": "7095:16:133", - "scope": 83082, - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string" - }, - "typeName": { - "id": 81548, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "7081:6:133", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "public" - }, - { - "id": 81553, - "nodeType": "VariableDeclaration", - "src": "7175:68:133", - "nodes": [], - "constant": false, - "functionSelector": "3a871fe1", - "mutability": "mutable", - "name": "enabledStrategies", - "nameLocation": "7226:17:133", - "scope": 83082, - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - }, - "typeName": { - "id": 81552, - "keyName": "strategy", - "keyNameLocation": "7191:8:133", - "keyType": { - "id": 81550, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7183:7:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "7175:43:133", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - }, - "valueName": "isEnabled", - "valueNameLocation": "7208:9:133", - "valueType": { - "id": 81551, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "7203:4:133", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - }, - "visibility": "public" - }, - { - "id": 81559, - "nodeType": "VariableDeclaration", - "src": "7249:98:133", - "nodes": [], - "constant": false, - "functionSelector": "65e3864c", - "mutability": "mutable", - "name": "memberPowerInStrategy", - "nameLocation": "7326:21:133", - "scope": 83082, - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - }, - "typeName": { - "id": 81558, - "keyName": "strategy", - "keyNameLocation": "7265:8:133", - "keyType": { - "id": 81554, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7257:7:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "7249:69:133", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - }, - "valueName": "", - "valueNameLocation": "-1:-1:-1", - "valueType": { - "id": 81557, - "keyName": "member", - "keyNameLocation": "7293:6:133", - "keyType": { - "id": 81555, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7285:7:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "7277:40:133", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueName": "power", - "valueNameLocation": "7311:5:133", - "valueType": { - "id": 81556, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7303:7:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - } - }, - "visibility": "public" - }, - { - "id": 81564, - "nodeType": "VariableDeclaration", - "src": "7354:60:133", - "nodes": [], - "constant": false, - "functionSelector": "88cfe684", - "mutability": "mutable", - "name": "addressToMemberInfo", - "nameLocation": "7395:19:133", - "scope": 83082, - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Member_$81482_storage_$", - "typeString": "mapping(address => struct RegistryCommunity.Member)" - }, - "typeName": { - "id": 81563, - "keyName": "member", - "keyNameLocation": "7370:6:133", - "keyType": { - "id": 81560, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7362:7:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "7354:33:133", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Member_$81482_storage_$", - "typeString": "mapping(address => struct RegistryCommunity.Member)" - }, - "valueName": "", - "valueNameLocation": "-1:-1:-1", - "valueType": { - "id": 81562, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 81561, - "name": "Member", - "nameLocations": [ - "7380:6:133" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 81482, - "src": "7380:6:133" - }, - "referencedDeclaration": 81482, - "src": "7380:6:133", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Member_$81482_storage_ptr", - "typeString": "struct RegistryCommunity.Member" - } - } - }, - "visibility": "public" - }, - { - "id": 81569, - "nodeType": "VariableDeclaration", - "src": "7420:82:133", - "nodes": [], - "constant": false, - "functionSelector": "2b38c69c", - "mutability": "mutable", - "name": "strategiesByMember", - "nameLocation": "7484:18:133", - "scope": 83082, - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_address_$dyn_storage_$", - "typeString": "mapping(address => address[])" - }, - "typeName": { - "id": 81568, - "keyName": "member", - "keyNameLocation": "7436:6:133", - "keyType": { - "id": 81565, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7428:7:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "7420:56:133", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_address_$dyn_storage_$", - "typeString": "mapping(address => address[])" - }, - "valueName": "strategiesAddresses", - "valueNameLocation": "7456:19:133", - "valueType": { - "baseType": { - "id": 81566, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7446:7:133", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 81567, - "nodeType": "ArrayTypeName", - "src": "7446:9:133", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - } - }, - "visibility": "public" - }, - { - "id": 81575, - "nodeType": "VariableDeclaration", - "src": "7508:107:133", - "nodes": [], - "constant": false, - "functionSelector": "477a5cc0", - "mutability": "mutable", - "name": "memberActivatedInStrategies", - "nameLocation": "7588:27:133", - "scope": 83082, - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$", - "typeString": "mapping(address => mapping(address => bool))" - }, - "typeName": { - "id": 81574, - "keyName": "member", - "keyNameLocation": "7524:6:133", - "keyType": { - "id": 81570, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7516:7:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "7508:72:133", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$", - "typeString": "mapping(address => mapping(address => bool))" - }, - "valueName": "", - "valueNameLocation": "-1:-1:-1", - "valueType": { - "id": 81573, - "keyName": "strategy", - "keyNameLocation": "7550:8:133", - "keyType": { - "id": 81571, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7542:7:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "7534:45:133", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - }, - "valueName": "isActivated", - "valueNameLocation": "7567:11:133", - "valueType": { - "id": 81572, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "7562:4:133", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - } - }, - "visibility": "public" - }, - { - "id": 81578, - "nodeType": "VariableDeclaration", - "src": "7622:24:133", - "nodes": [], - "constant": false, - "mutability": "mutable", - "name": "initialMembers", - "nameLocation": "7632:14:133", - "scope": 83082, - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 81576, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7622:7:133", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 81577, - "nodeType": "ArrayTypeName", - "src": "7622:9:133", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "visibility": "internal" - }, - { - "id": 81583, - "nodeType": "VariableDeclaration", - "src": "7653:49:133", - "nodes": [], - "constant": true, - "functionSelector": "d7050f07", - "mutability": "constant", - "name": "PRECISION_SCALE", - "nameLocation": "7677:15:133", - "scope": 83082, - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 81579, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7653:7:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "commonType": { - "typeIdentifier": "t_rational_10000_by_1", - "typeString": "int_const 10000" - }, - "id": 81582, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "hexValue": "3130", - "id": 81580, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7695:2:133", - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "hexValue": "34", - "id": 81581, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7701:1:133", - "typeDescriptions": { - "typeIdentifier": "t_rational_4_by_1", - "typeString": "int_const 4" - }, - "value": "4" - }, - "src": "7695:7:133", - "typeDescriptions": { - "typeIdentifier": "t_rational_10000_by_1", - "typeString": "int_const 10000" - } - }, - "visibility": "public" - }, - { - "id": 81588, - "nodeType": "VariableDeclaration", - "src": "7708:54:133", - "nodes": [], - "constant": true, - "functionSelector": "bc063e1a", - "mutability": "constant", - "name": "MAX_FEE", - "nameLocation": "7732:7:133", - "scope": 83082, - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 81584, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7708:7:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 81587, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "hexValue": "3130", - "id": 81585, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7742:2:133", - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "id": 81586, - "name": "PRECISION_SCALE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81583, - "src": "7747:15:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7742:20:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "public" - }, - { - "id": 81597, - "nodeType": "FunctionDefinition", - "src": "7769:145:133", - "nodes": [], - "body": { - "id": 81596, - "nodeType": "Block", - "src": "7783:131:133", - "nodes": [], - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 81592, - "name": "COUNCIL_MEMBER_CHANGE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81244, - "src": "7865:21:133", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "id": 81593, - "name": "DEFAULT_ADMIN_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 55020, - "src": "7888:18:133", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 81591, - "name": "_setRoleAdmin", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 55244, - "src": "7851:13:133", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$returns$__$", - "typeString": "function (bytes32,bytes32)" - } - }, - "id": 81594, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "7851:56:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 81595, - "nodeType": "ExpressionStatement", - "src": "7851:56:133" - } - ] - }, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "nameLocation": "-1:-1:-1", - "parameters": { - "id": 81589, - "nodeType": "ParameterList", - "parameters": [], - "src": "7780:2:133" - }, - "returnParameters": { - "id": 81590, - "nodeType": "ParameterList", - "parameters": [], - "src": "7783:0:133" - }, - "scope": 83082, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "id": 81820, - "nodeType": "FunctionDefinition", - "src": "7920:1945:133", - "nodes": [], - "body": { - "id": 81819, - "nodeType": "Block", - "src": "7997:1868:133", - "nodes": [], - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "expression": { - "id": 81606, - "name": "params", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81600, - "src": "8034:6:133", - "typeDescriptions": { - "typeIdentifier": "t_struct$_InitializeParams_$81515_memory_ptr", - "typeString": "struct RegistryCommunity.InitializeParams memory" - } - }, - "id": 81607, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "8041:12:133", - "memberName": "_gardenToken", - "nodeType": "MemberAccess", - "referencedDeclaration": 81491, - "src": "8034:19:133", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$57069", - "typeString": "contract IERC20" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_IERC20_$57069", - "typeString": "contract IERC20" - } - ], - "id": 81605, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "8026:7:133", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 81604, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8026:7:133", - "typeDescriptions": {} - } - }, - "id": 81608, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "8026:28:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 81603, - "name": "_revertZeroAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82526, - "src": "8007:18:133", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_address_$returns$__$", - "typeString": "function (address) pure" - } - }, - "id": 81609, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "8007:48:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 81610, - "nodeType": "ExpressionStatement", - "src": "8007:48:133" - }, - { - "expression": { - "arguments": [ - { - "expression": { - "id": 81612, - "name": "params", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81600, - "src": "8084:6:133", - "typeDescriptions": { - "typeIdentifier": "t_struct$_InitializeParams_$81515_memory_ptr", - "typeString": "struct RegistryCommunity.InitializeParams memory" - } - }, - "id": 81613, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "8091:12:133", - "memberName": "_councilSafe", - "nodeType": "MemberAccess", - "referencedDeclaration": 81506, - "src": "8084:19:133", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 81611, - "name": "_revertZeroAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82526, - "src": "8065:18:133", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_address_$returns$__$", - "typeString": "function (address) pure" - } - }, - "id": 81614, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "8065:39:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 81615, - "nodeType": "ExpressionStatement", - "src": "8065:39:133" - }, - { - "expression": { - "arguments": [ - { - "expression": { - "id": 81617, - "name": "params", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81600, - "src": "8133:6:133", - "typeDescriptions": { - "typeIdentifier": "t_struct$_InitializeParams_$81515_memory_ptr", - "typeString": "struct RegistryCommunity.InitializeParams memory" - } - }, - "id": 81618, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "8140:5:133", - "memberName": "_allo", - "nodeType": "MemberAccess", - "referencedDeclaration": 81488, - "src": "8133:12:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 81616, - "name": "_revertZeroAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82526, - "src": "8114:18:133", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_address_$returns$__$", - "typeString": "function (address) pure" - } - }, - "id": 81619, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "8114:32:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 81620, - "nodeType": "ExpressionStatement", - "src": "8114:32:133" - }, - { - "expression": { - "arguments": [ - { - "expression": { - "id": 81622, - "name": "params", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81600, - "src": "8175:6:133", - "typeDescriptions": { - "typeIdentifier": "t_struct$_InitializeParams_$81515_memory_ptr", - "typeString": "struct RegistryCommunity.InitializeParams memory" - } - }, - "id": 81623, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "8182:16:133", - "memberName": "_registryFactory", - "nodeType": "MemberAccess", - "referencedDeclaration": 81499, - "src": "8175:23:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 81621, - "name": "_revertZeroAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82526, - "src": "8156:18:133", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_address_$returns$__$", - "typeString": "function (address) pure" - } - }, - "id": 81624, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "8156:43:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 81625, - "nodeType": "ExpressionStatement", - "src": "8156:43:133" - }, - { - "expression": { - "arguments": [ - { - "expression": { - "id": 81627, - "name": "params", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81600, - "src": "8228:6:133", - "typeDescriptions": { - "typeIdentifier": "t_struct$_InitializeParams_$81515_memory_ptr", - "typeString": "struct RegistryCommunity.InitializeParams memory" - } - }, - "id": 81628, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "8235:17:133", - "memberName": "_strategyTemplate", - "nodeType": "MemberAccess", - "referencedDeclaration": 81514, - "src": "8228:24:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 81626, - "name": "_revertZeroAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82526, - "src": "8209:18:133", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_address_$returns$__$", - "typeString": "function (address) pure" - } - }, - "id": 81629, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "8209:44:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 81630, - "nodeType": "ExpressionStatement", - "src": "8209:44:133" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 81634, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 81631, - "name": "params", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81600, - "src": "8268:6:133", - "typeDescriptions": { - "typeIdentifier": "t_struct$_InitializeParams_$81515_memory_ptr", - "typeString": "struct RegistryCommunity.InitializeParams memory" - } - }, - "id": 81632, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "8275:13:133", - "memberName": "_communityFee", - "nodeType": "MemberAccess", - "referencedDeclaration": 81495, - "src": "8268:20:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "hexValue": "30", - "id": 81633, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8292:1:133", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "8268:25:133", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 81641, - "nodeType": "IfStatement", - "src": "8264:95:133", - "trueBody": { - "id": 81640, - "nodeType": "Block", - "src": "8295:64:133", - "statements": [ - { - "expression": { - "arguments": [ - { - "expression": { - "id": 81636, - "name": "params", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81600, - "src": "8328:6:133", - "typeDescriptions": { - "typeIdentifier": "t_struct$_InitializeParams_$81515_memory_ptr", - "typeString": "struct RegistryCommunity.InitializeParams memory" - } - }, - "id": 81637, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "8335:12:133", - "memberName": "_feeReceiver", - "nodeType": "MemberAccess", - "referencedDeclaration": 81501, - "src": "8328:19:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 81635, - "name": "_revertZeroAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82526, - "src": "8309:18:133", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_address_$returns$__$", - "typeString": "function (address) pure" - } - }, - "id": 81638, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "8309:39:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 81639, - "nodeType": "ExpressionStatement", - "src": "8309:39:133" - } - ] - } - }, - { - "expression": { - "id": 81647, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 81642, - "name": "allo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81545, - "src": "8368:4:133", - "typeDescriptions": { - "typeIdentifier": "t_contract$_FAllo_$81222", - "typeString": "contract FAllo" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "expression": { - "id": 81644, - "name": "params", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81600, - "src": "8381:6:133", - "typeDescriptions": { - "typeIdentifier": "t_struct$_InitializeParams_$81515_memory_ptr", - "typeString": "struct RegistryCommunity.InitializeParams memory" - } - }, - "id": 81645, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "8388:5:133", - "memberName": "_allo", - "nodeType": "MemberAccess", - "referencedDeclaration": 81488, - "src": "8381:12:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 81643, - "name": "FAllo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81222, - "src": "8375:5:133", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_FAllo_$81222_$", - "typeString": "type(contract FAllo)" - } - }, - "id": 81646, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "8375:19:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_FAllo_$81222", - "typeString": "contract FAllo" - } - }, - "src": "8368:26:133", - "typeDescriptions": { - "typeIdentifier": "t_contract$_FAllo_$81222", - "typeString": "contract FAllo" - } - }, - "id": 81648, - "nodeType": "ExpressionStatement", - "src": "8368:26:133" - }, - { - "expression": { - "id": 81652, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 81649, - "name": "gardenToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81539, - "src": "8404:11:133", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$57069", - "typeString": "contract IERC20" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "expression": { - "id": 81650, - "name": "params", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81600, - "src": "8418:6:133", - "typeDescriptions": { - "typeIdentifier": "t_struct$_InitializeParams_$81515_memory_ptr", - "typeString": "struct RegistryCommunity.InitializeParams memory" - } - }, - "id": 81651, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "8425:12:133", - "memberName": "_gardenToken", - "nodeType": "MemberAccess", - "referencedDeclaration": 81491, - "src": "8418:19:133", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$57069", - "typeString": "contract IERC20" - } - }, - "src": "8404:33:133", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$57069", - "typeString": "contract IERC20" - } - }, - "id": 81653, - "nodeType": "ExpressionStatement", - "src": "8404:33:133" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 81657, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 81654, - "name": "params", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81600, - "src": "8451:6:133", - "typeDescriptions": { - "typeIdentifier": "t_struct$_InitializeParams_$81515_memory_ptr", - "typeString": "struct RegistryCommunity.InitializeParams memory" - } - }, - "id": 81655, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "8458:20:133", - "memberName": "_registerStakeAmount", - "nodeType": "MemberAccess", - "referencedDeclaration": 81493, - "src": "8451:27:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "hexValue": "30", - "id": 81656, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8482:1:133", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "8451:32:133", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 81662, - "nodeType": "IfStatement", - "src": "8447:89:133", - "trueBody": { - "id": 81661, - "nodeType": "Block", - "src": "8485:51:133", - "statements": [ - { - "errorCall": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 81658, - "name": "ValueCannotBeZero", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81461, - "src": "8506:17:133", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 81659, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "8506:19:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 81660, - "nodeType": "RevertStatement", - "src": "8499:26:133" - } - ] - } - }, - { - "expression": { - "id": 81666, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 81663, - "name": "registerStakeAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81519, - "src": "8545:19:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "expression": { - "id": 81664, - "name": "params", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81600, - "src": "8567:6:133", - "typeDescriptions": { - "typeIdentifier": "t_struct$_InitializeParams_$81515_memory_ptr", - "typeString": "struct RegistryCommunity.InitializeParams memory" - } - }, - "id": 81665, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "8574:20:133", - "memberName": "_registerStakeAmount", - "nodeType": "MemberAccess", - "referencedDeclaration": 81493, - "src": "8567:27:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8545:49:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 81667, - "nodeType": "ExpressionStatement", - "src": "8545:49:133" - }, - { - "expression": { - "id": 81671, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 81668, - "name": "communityFee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81521, - "src": "8604:12:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "expression": { - "id": 81669, - "name": "params", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81600, - "src": "8619:6:133", - "typeDescriptions": { - "typeIdentifier": "t_struct$_InitializeParams_$81515_memory_ptr", - "typeString": "struct RegistryCommunity.InitializeParams memory" - } - }, - "id": 81670, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "8626:13:133", - "memberName": "_communityFee", - "nodeType": "MemberAccess", - "referencedDeclaration": 81495, - "src": "8619:20:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8604:35:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 81672, - "nodeType": "ExpressionStatement", - "src": "8604:35:133" - }, - { - "expression": { - "id": 81676, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 81673, - "name": "isKickEnabled", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81517, - "src": "8649:13:133", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "expression": { - "id": 81674, - "name": "params", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81600, - "src": "8665:6:133", - "typeDescriptions": { - "typeIdentifier": "t_struct$_InitializeParams_$81515_memory_ptr", - "typeString": "struct RegistryCommunity.InitializeParams memory" - } - }, - "id": 81675, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "8672:14:133", - "memberName": "_isKickEnabled", - "nodeType": "MemberAccess", - "referencedDeclaration": 81510, - "src": "8665:21:133", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "8649:37:133", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 81677, - "nodeType": "ExpressionStatement", - "src": "8649:37:133" - }, - { - "expression": { - "id": 81681, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 81678, - "name": "communityName", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81547, - "src": "8696:13:133", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "expression": { - "id": 81679, - "name": "params", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81600, - "src": "8712:6:133", - "typeDescriptions": { - "typeIdentifier": "t_struct$_InitializeParams_$81515_memory_ptr", - "typeString": "struct RegistryCommunity.InitializeParams memory" - } - }, - "id": 81680, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "8719:14:133", - "memberName": "_communityName", - "nodeType": "MemberAccess", - "referencedDeclaration": 81508, - "src": "8712:21:133", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "src": "8696:37:133", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "id": 81682, - "nodeType": "ExpressionStatement", - "src": "8696:37:133" - }, - { - "expression": { - "id": 81686, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 81683, - "name": "covenantIpfsHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81549, - "src": "8743:16:133", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "expression": { - "id": 81684, - "name": "params", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81600, - "src": "8762:6:133", - "typeDescriptions": { - "typeIdentifier": "t_struct$_InitializeParams_$81515_memory_ptr", - "typeString": "struct RegistryCommunity.InitializeParams memory" - } - }, - "id": 81685, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "8769:16:133", - "memberName": "covenantIpfsHash", - "nodeType": "MemberAccess", - "referencedDeclaration": 81512, - "src": "8762:23:133", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "src": "8743:42:133", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "id": 81687, - "nodeType": "ExpressionStatement", - "src": "8743:42:133" - }, - { - "expression": { - "id": 81691, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 81688, - "name": "registryFactory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81527, - "src": "8795:15:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "expression": { - "id": 81689, - "name": "params", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81600, - "src": "8813:6:133", - "typeDescriptions": { - "typeIdentifier": "t_struct$_InitializeParams_$81515_memory_ptr", - "typeString": "struct RegistryCommunity.InitializeParams memory" - } - }, - "id": 81690, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "8820:16:133", - "memberName": "_registryFactory", - "nodeType": "MemberAccess", - "referencedDeclaration": 81499, - "src": "8813:23:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "8795:41:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 81692, - "nodeType": "ExpressionStatement", - "src": "8795:41:133" - }, - { - "expression": { - "id": 81696, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 81693, - "name": "feeReceiver", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81525, - "src": "8846:11:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "expression": { - "id": 81694, - "name": "params", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81600, - "src": "8860:6:133", - "typeDescriptions": { - "typeIdentifier": "t_struct$_InitializeParams_$81515_memory_ptr", - "typeString": "struct RegistryCommunity.InitializeParams memory" - } - }, - "id": 81695, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "8867:12:133", - "memberName": "_feeReceiver", - "nodeType": "MemberAccess", - "referencedDeclaration": 81501, - "src": "8860:19:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "8846:33:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 81697, - "nodeType": "ExpressionStatement", - "src": "8846:33:133" - }, - { - "expression": { - "id": 81703, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 81698, - "name": "councilSafe", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81542, - "src": "8889:11:133", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ISafe_$85665", - "typeString": "contract ISafe" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "expression": { - "id": 81700, - "name": "params", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81600, - "src": "8909:6:133", - "typeDescriptions": { - "typeIdentifier": "t_struct$_InitializeParams_$81515_memory_ptr", - "typeString": "struct RegistryCommunity.InitializeParams memory" - } - }, - "id": 81701, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "8916:12:133", - "memberName": "_councilSafe", - "nodeType": "MemberAccess", - "referencedDeclaration": 81506, - "src": "8909:19:133", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 81699, - "name": "ISafe", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 85665, - "src": "8903:5:133", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ISafe_$85665_$", - "typeString": "type(contract ISafe)" - } - }, - "id": 81702, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "8903:26:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_ISafe_$85665", - "typeString": "contract ISafe" - } - }, - "src": "8889:40:133", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ISafe_$85665", - "typeString": "contract ISafe" - } - }, - "id": 81704, - "nodeType": "ExpressionStatement", - "src": "8889:40:133" - }, - { - "expression": { - "id": 81708, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 81705, - "name": "strategyTemplate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81529, - "src": "8939:16:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "expression": { - "id": 81706, - "name": "params", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81600, - "src": "8958:6:133", - "typeDescriptions": { - "typeIdentifier": "t_struct$_InitializeParams_$81515_memory_ptr", - "typeString": "struct RegistryCommunity.InitializeParams memory" - } - }, - "id": 81707, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "8965:17:133", - "memberName": "_strategyTemplate", - "nodeType": "MemberAccess", - "referencedDeclaration": 81514, - "src": "8958:24:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "8939:43:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 81709, - "nodeType": "ExpressionStatement", - "src": "8939:43:133" - }, - { - "expression": { - "arguments": [ - { - "id": 81711, - "name": "COUNCIL_MEMBER_CHANGE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81244, - "src": "9004:21:133", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "expression": { - "id": 81712, - "name": "params", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81600, - "src": "9027:6:133", - "typeDescriptions": { - "typeIdentifier": "t_struct$_InitializeParams_$81515_memory_ptr", - "typeString": "struct RegistryCommunity.InitializeParams memory" - } - }, - "id": 81713, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "9034:12:133", - "memberName": "_councilSafe", - "nodeType": "MemberAccess", - "referencedDeclaration": 81506, - "src": "9027:19:133", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 81710, - "name": "_grantRole", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 55276, - "src": "8993:10:133", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (bytes32,address)" - } - }, - "id": 81714, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "8993:54:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 81715, - "nodeType": "ExpressionStatement", - "src": "8993:54:133" - }, - { - "expression": { - "id": 81722, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 81716, - "name": "registry", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81536, - "src": "9058:8:133", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IRegistry_$2802", - "typeString": "contract IRegistry" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "id": 81718, - "name": "allo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81545, - "src": "9079:4:133", - "typeDescriptions": { - "typeIdentifier": "t_contract$_FAllo_$81222", - "typeString": "contract FAllo" - } - }, - "id": 81719, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "9084:11:133", - "memberName": "getRegistry", - "nodeType": "MemberAccess", - "referencedDeclaration": 81213, - "src": "9079:16:133", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", - "typeString": "function () view external returns (address)" - } - }, - "id": 81720, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "9079:18:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 81717, - "name": "IRegistry", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2802, - "src": "9069:9:133", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IRegistry_$2802_$", - "typeString": "type(contract IRegistry)" - } - }, - "id": 81721, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "9069:29:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IRegistry_$2802", - "typeString": "contract IRegistry" - } - }, - "src": "9058:40:133", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IRegistry_$2802", - "typeString": "contract IRegistry" - } - }, - "id": 81723, - "nodeType": "ExpressionStatement", - "src": "9058:40:133" - }, - { - "assignments": [ - 81728 - ], - "declarations": [ - { - "constant": false, - "id": 81728, - "mutability": "mutable", - "name": "owners", - "nameLocation": "9126:6:133", - "nodeType": "VariableDeclaration", - "scope": 81819, - "src": "9109:23:133", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 81726, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9109:7:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 81727, - "nodeType": "ArrayTypeName", - "src": "9109:9:133", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "visibility": "internal" - } - ], - "id": 81732, - "initialValue": { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "id": 81729, - "name": "councilSafe", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81542, - "src": "9135:11:133", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ISafe_$85665", - "typeString": "contract ISafe" - } - }, - "id": 81730, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "9147:9:133", - "memberName": "getOwners", - "nodeType": "MemberAccess", - "referencedDeclaration": 85664, - "src": "9135:21:133", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_array$_t_address_$dyn_memory_ptr_$", - "typeString": "function () view external returns (address[] memory)" - } - }, - "id": 81731, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "9135:23:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "9109:49:133" - }, - { - "assignments": [ - 81737 - ], - "declarations": [ - { - "constant": false, - "id": 81737, - "mutability": "mutable", - "name": "pool_initialMembers", - "nameLocation": "9185:19:133", - "nodeType": "VariableDeclaration", - "scope": 81819, - "src": "9168:36:133", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 81735, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9168:7:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 81736, - "nodeType": "ArrayTypeName", - "src": "9168:9:133", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "visibility": "internal" - } - ], - "id": 81746, - "initialValue": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 81744, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 81741, - "name": "owners", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81728, - "src": "9221:6:133", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 81742, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "9228:6:133", - "memberName": "length", - "nodeType": "MemberAccess", - "src": "9221:13:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "hexValue": "32", - "id": 81743, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9237:1:133", - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "src": "9221:17:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 81740, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "9207:13:133", - "typeDescriptions": { - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_address_$dyn_memory_ptr_$", - "typeString": "function (uint256) pure returns (address[] memory)" - }, - "typeName": { - "baseType": { - "id": 81738, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9211:7:133", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 81739, - "nodeType": "ArrayTypeName", - "src": "9211:9:133", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - } - }, - "id": 81745, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "9207:32:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "9168:71:133" - }, - { - "body": { - "id": 81766, - "nodeType": "Block", - "src": "9294:59:133", - "statements": [ - { - "expression": { - "id": 81764, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "id": 81758, - "name": "pool_initialMembers", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81737, - "src": "9308:19:133", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 81760, - "indexExpression": { - "id": 81759, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81748, - "src": "9328:1:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "9308:22:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "baseExpression": { - "id": 81761, - "name": "owners", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81728, - "src": "9333:6:133", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 81763, - "indexExpression": { - "id": 81762, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81748, - "src": "9340:1:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9333:9:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "9308:34:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 81765, - "nodeType": "ExpressionStatement", - "src": "9308:34:133" - } - ] - }, - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 81754, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 81751, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81748, - "src": "9270:1:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "expression": { - "id": 81752, - "name": "owners", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81728, - "src": "9274:6:133", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 81753, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "9281:6:133", - "memberName": "length", - "nodeType": "MemberAccess", - "src": "9274:13:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "9270:17:133", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 81767, - "initializationExpression": { - "assignments": [ - 81748 - ], - "declarations": [ - { - "constant": false, - "id": 81748, - "mutability": "mutable", - "name": "i", - "nameLocation": "9263:1:133", - "nodeType": "VariableDeclaration", - "scope": 81767, - "src": "9255:9:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 81747, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9255:7:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 81750, - "initialValue": { - "hexValue": "30", - "id": 81749, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9267:1:133", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "9255:13:133" - }, - "loopExpression": { - "expression": { - "id": 81756, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "9289:3:133", - "subExpression": { - "id": 81755, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81748, - "src": "9289:1:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 81757, - "nodeType": "ExpressionStatement", - "src": "9289:3:133" - }, - "nodeType": "ForStatement", - "src": "9250:103:133" - }, - { - "expression": { - "id": 81778, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "id": 81768, - "name": "pool_initialMembers", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81737, - "src": "9363:19:133", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 81773, - "indexExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 81772, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 81769, - "name": "pool_initialMembers", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81737, - "src": "9383:19:133", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 81770, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "9403:6:133", - "memberName": "length", - "nodeType": "MemberAccess", - "src": "9383:26:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "hexValue": "31", - "id": 81771, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9412:1:133", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "9383:30:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "9363:51:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "id": 81776, - "name": "councilSafe", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81542, - "src": "9425:11:133", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ISafe_$85665", - "typeString": "contract ISafe" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_ISafe_$85665", - "typeString": "contract ISafe" - } - ], - "id": 81775, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "9417:7:133", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 81774, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9417:7:133", - "typeDescriptions": {} - } - }, - "id": 81777, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "9417:20:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "9363:74:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 81779, - "nodeType": "ExpressionStatement", - "src": "9363:74:133" - }, - { - "expression": { - "id": 81790, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "id": 81780, - "name": "pool_initialMembers", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81737, - "src": "9447:19:133", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 81785, - "indexExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 81784, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 81781, - "name": "pool_initialMembers", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81737, - "src": "9467:19:133", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 81782, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "9487:6:133", - "memberName": "length", - "nodeType": "MemberAccess", - "src": "9467:26:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "hexValue": "32", - "id": 81783, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9496:1:133", - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "src": "9467:30:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "9447:51:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "id": 81788, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "9509:4:133", - "typeDescriptions": { - "typeIdentifier": "t_contract$_RegistryCommunity_$83082", - "typeString": "contract RegistryCommunity" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_RegistryCommunity_$83082", - "typeString": "contract RegistryCommunity" - } - ], - "id": 81787, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "9501:7:133", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 81786, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9501:7:133", - "typeDescriptions": {} - } - }, - "id": 81789, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "9501:13:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "9447:67:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 81791, - "nodeType": "ExpressionStatement", - "src": "9447:67:133" - }, - { - "expression": { - "id": 81806, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 81792, - "name": "profileId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81523, - "src": "9602:9:133", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "expression": { - "id": 81795, - "name": "params", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81600, - "src": "9649:6:133", - "typeDescriptions": { - "typeIdentifier": "t_struct$_InitializeParams_$81515_memory_ptr", - "typeString": "struct RegistryCommunity.InitializeParams memory" - } - }, - "id": 81796, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "9656:6:133", - "memberName": "_nonce", - "nodeType": "MemberAccess", - "referencedDeclaration": 81497, - "src": "9649:13:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 81797, - "name": "communityName", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81547, - "src": "9664:13:133", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - { - "expression": { - "id": 81798, - "name": "params", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81600, - "src": "9679:6:133", - "typeDescriptions": { - "typeIdentifier": "t_struct$_InitializeParams_$81515_memory_ptr", - "typeString": "struct RegistryCommunity.InitializeParams memory" - } - }, - "id": 81799, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "9686:9:133", - "memberName": "_metadata", - "nodeType": "MemberAccess", - "referencedDeclaration": 81504, - "src": "9679:16:133", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Metadata_$3098_memory_ptr", - "typeString": "struct Metadata memory" - } - }, - { - "arguments": [ - { - "id": 81802, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "9705:4:133", - "typeDescriptions": { - "typeIdentifier": "t_contract$_RegistryCommunity_$83082", - "typeString": "contract RegistryCommunity" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_RegistryCommunity_$83082", - "typeString": "contract RegistryCommunity" - } - ], - "id": 81801, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "9697:7:133", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 81800, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9697:7:133", - "typeDescriptions": {} - } - }, - "id": 81803, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "9697:13:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 81804, - "name": "pool_initialMembers", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81737, - "src": "9712:19:133", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - }, - { - "typeIdentifier": "t_struct$_Metadata_$3098_memory_ptr", - "typeString": "struct Metadata memory" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - ], - "expression": { - "id": 81793, - "name": "registry", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81536, - "src": "9626:8:133", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IRegistry_$2802", - "typeString": "contract IRegistry" - } - }, - "id": 81794, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "9635:13:133", - "memberName": "createProfile", - "nodeType": "MemberAccess", - "referencedDeclaration": 2742, - "src": "9626:22:133", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$_t_string_memory_ptr_$_t_struct$_Metadata_$3098_memory_ptr_$_t_address_$_t_array$_t_address_$dyn_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (uint256,string memory,struct Metadata memory,address,address[] memory) external returns (bytes32)" - } - }, - "id": 81805, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "9626:106:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "src": "9602:130:133", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "id": 81807, - "nodeType": "ExpressionStatement", - "src": "9602:130:133" - }, - { - "expression": { - "id": 81810, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 81808, - "name": "initialMembers", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81578, - "src": "9743:14:133", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 81809, - "name": "pool_initialMembers", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81737, - "src": "9760:19:133", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "src": "9743:36:133", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 81811, - "nodeType": "ExpressionStatement", - "src": "9743:36:133" - }, - { - "eventCall": { - "arguments": [ - { - "id": 81813, - "name": "profileId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81523, - "src": "9815:9:133", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "id": 81814, - "name": "communityName", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81547, - "src": "9826:13:133", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - { - "expression": { - "id": 81815, - "name": "params", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81600, - "src": "9841:6:133", - "typeDescriptions": { - "typeIdentifier": "t_struct$_InitializeParams_$81515_memory_ptr", - "typeString": "struct RegistryCommunity.InitializeParams memory" - } - }, - "id": 81816, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "9848:9:133", - "memberName": "_metadata", - "nodeType": "MemberAccess", - "referencedDeclaration": 81504, - "src": "9841:16:133", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Metadata_$3098_memory_ptr", - "typeString": "struct Metadata memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - }, - { - "typeIdentifier": "t_struct$_Metadata_$3098_memory_ptr", - "typeString": "struct Metadata memory" - } - ], - "id": 81812, - "name": "RegistryInitialized", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81291, - "src": "9795:19:133", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_string_memory_ptr_$_t_struct$_Metadata_$3098_memory_ptr_$returns$__$", - "typeString": "function (bytes32,string memory,struct Metadata memory)" - } - }, - "id": 81817, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "9795:63:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 81818, - "nodeType": "EmitStatement", - "src": "9790:68:133" - } - ] - }, - "functionSelector": "96f0adec", - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "initialize", - "nameLocation": "7929:10:133", - "parameters": { - "id": 81601, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 81600, - "mutability": "mutable", - "name": "params", - "nameLocation": "7982:6:133", - "nodeType": "VariableDeclaration", - "scope": 81820, - "src": "7940:48:133", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_InitializeParams_$81515_memory_ptr", - "typeString": "struct RegistryCommunity.InitializeParams" - }, - "typeName": { - "id": 81599, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 81598, - "name": "RegistryCommunity.InitializeParams", - "nameLocations": [ - "7940:17:133", - "7958:16:133" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 81515, - "src": "7940:34:133" - }, - "referencedDeclaration": 81515, - "src": "7940:34:133", - "typeDescriptions": { - "typeIdentifier": "t_struct$_InitializeParams_$81515_storage_ptr", - "typeString": "struct RegistryCommunity.InitializeParams" - } - }, - "visibility": "internal" - } - ], - "src": "7939:50:133" - }, - "returnParameters": { - "id": 81602, - "nodeType": "ParameterList", - "parameters": [], - "src": "7997:0:133" - }, - "scope": 83082, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "id": 81852, - "nodeType": "FunctionDefinition", - "src": "9871:341:133", - "nodes": [], - "body": { - "id": 81851, - "nodeType": "Block", - "src": "10052:160:133", - "nodes": [], - "statements": [ - { - "assignments": [ - 81836 - ], - "declarations": [ - { - "constant": false, - "id": 81836, - "mutability": "mutable", - "name": "strategyClone", - "nameLocation": "10070:13:133", - "nodeType": "VariableDeclaration", - "scope": 81851, - "src": "10062:21:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 81835, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10062:7:133", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "id": 81843, - "initialValue": { - "arguments": [ - { - "id": 81839, - "name": "strategyTemplate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81529, - "src": "10104:16:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 81841, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "10122:12:133", - "subExpression": { - "id": 81840, - "name": "cloneNonce", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81531, - "src": "10122:10:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 81837, - "name": "Clone", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3002, - "src": "10086:5:133", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Clone_$3002_$", - "typeString": "type(library Clone)" - } - }, - "id": 81838, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "10092:11:133", - "memberName": "createClone", - "nodeType": "MemberAccess", - "referencedDeclaration": 3001, - "src": "10086:17:133", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_address_$", - "typeString": "function (address,uint256) returns (address)" - } - }, - "id": 81842, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "10086:49:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "10062:73:133" - }, - { - "expression": { - "arguments": [ - { - "id": 81845, - "name": "strategyClone", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81836, - "src": "10163:13:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 81846, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81822, - "src": "10178:6:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 81847, - "name": "_params", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81825, - "src": "10186:7:133", - "typeDescriptions": { - "typeIdentifier": "t_struct$_InitializeParams_$74806_memory_ptr", - "typeString": "struct StrategyStruct.InitializeParams memory" - } - }, - { - "id": 81848, - "name": "_metadata", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81828, - "src": "10195:9:133", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Metadata_$3098_memory_ptr", - "typeString": "struct Metadata memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_struct$_InitializeParams_$74806_memory_ptr", - "typeString": "struct StrategyStruct.InitializeParams memory" - }, - { - "typeIdentifier": "t_struct$_Metadata_$3098_memory_ptr", - "typeString": "struct Metadata memory" - } - ], - "id": 81844, - "name": "createPool", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 81852, - 81924 - ], - "referencedDeclaration": 81924, - "src": "10152:10:133", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_struct$_InitializeParams_$74806_memory_ptr_$_t_struct$_Metadata_$3098_memory_ptr_$returns$_t_uint256_$_t_address_$", - "typeString": "function (address,address,struct StrategyStruct.InitializeParams memory,struct Metadata memory) returns (uint256,address)" - } - }, - "id": 81849, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "10152:53:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_address_$", - "typeString": "tuple(uint256,address)" - } - }, - "functionReturnParameters": 81834, - "id": 81850, - "nodeType": "Return", - "src": "10145:60:133" - } - ] - }, - "functionSelector": "97991cfa", - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "createPool", - "nameLocation": "9880:10:133", - "parameters": { - "id": 81829, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 81822, - "mutability": "mutable", - "name": "_token", - "nameLocation": "9899:6:133", - "nodeType": "VariableDeclaration", - "scope": 81852, - "src": "9891:14:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 81821, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9891:7:133", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 81825, - "mutability": "mutable", - "name": "_params", - "nameLocation": "9946:7:133", - "nodeType": "VariableDeclaration", - "scope": 81852, - "src": "9907:46:133", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_InitializeParams_$74806_memory_ptr", - "typeString": "struct StrategyStruct.InitializeParams" - }, - "typeName": { - "id": 81824, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 81823, - "name": "StrategyStruct.InitializeParams", - "nameLocations": [ - "9907:14:133", - "9922:16:133" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 74806, - "src": "9907:31:133" - }, - "referencedDeclaration": 74806, - "src": "9907:31:133", - "typeDescriptions": { - "typeIdentifier": "t_struct$_InitializeParams_$74806_storage_ptr", - "typeString": "struct StrategyStruct.InitializeParams" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 81828, - "mutability": "mutable", - "name": "_metadata", - "nameLocation": "9971:9:133", - "nodeType": "VariableDeclaration", - "scope": 81852, - "src": "9955:25:133", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Metadata_$3098_memory_ptr", - "typeString": "struct Metadata" - }, - "typeName": { - "id": 81827, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 81826, - "name": "Metadata", - "nameLocations": [ - "9955:8:133" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 3098, - "src": "9955:8:133" - }, - "referencedDeclaration": 3098, - "src": "9955:8:133", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Metadata_$3098_storage_ptr", - "typeString": "struct Metadata" - } - }, - "visibility": "internal" - } - ], - "src": "9890:91:133" - }, - "returnParameters": { - "id": 81834, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 81831, - "mutability": "mutable", - "name": "poolId", - "nameLocation": "10022:6:133", - "nodeType": "VariableDeclaration", - "scope": 81852, - "src": "10014:14:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 81830, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10014:7:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 81833, - "mutability": "mutable", - "name": "strategy", - "nameLocation": "10038:8:133", - "nodeType": "VariableDeclaration", - "scope": 81852, - "src": "10030:16:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 81832, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10030:7:133", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "10013:34:133" - }, - "scope": 83082, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "id": 81924, - "nodeType": "FunctionDefinition", - "src": "10218:653:133", - "nodes": [], - "body": { - "id": 81923, - "nodeType": "Block", - "src": "10436:435:133", - "nodes": [], - "statements": [ - { - "assignments": [ - 81870 - ], - "declarations": [ - { - "constant": false, - "id": 81870, - "mutability": "mutable", - "name": "token", - "nameLocation": "10454:5:133", - "nodeType": "VariableDeclaration", - "scope": 81923, - "src": "10446:13:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 81869, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10446:7:133", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "id": 81872, - "initialValue": { - "id": 81871, - "name": "NATIVE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81239, - "src": "10462:6:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "10446:22:133" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 81878, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 81873, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81856, - "src": "10482:6:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "arguments": [ - { - "hexValue": "30", - "id": 81876, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10500:1:133", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 81875, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "10492:7:133", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 81874, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10492:7:133", - "typeDescriptions": {} - } - }, - "id": 81877, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "10492:10:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "10482:20:133", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 81884, - "nodeType": "IfStatement", - "src": "10478:65:133", - "trueBody": { - "id": 81883, - "nodeType": "Block", - "src": "10504:39:133", - "statements": [ - { - "expression": { - "id": 81881, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 81879, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81870, - "src": "10518:5:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 81880, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81856, - "src": "10526:6:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "10518:14:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 81882, - "nodeType": "ExpressionStatement", - "src": "10518:14:133" - } - ] - } - }, - { - "expression": { - "id": 81887, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 81885, - "name": "strategy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81867, - "src": "10552:8:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 81886, - "name": "_strategy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81854, - "src": "10563:9:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "10552:20:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 81888, - "nodeType": "ExpressionStatement", - "src": "10552:20:133" - }, - { - "assignments": [ - 81893 - ], - "declarations": [ - { - "constant": false, - "id": 81893, - "mutability": "mutable", - "name": "_pool_managers", - "nameLocation": "10600:14:133", - "nodeType": "VariableDeclaration", - "scope": 81923, - "src": "10583:31:133", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 81891, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10583:7:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 81892, - "nodeType": "ArrayTypeName", - "src": "10583:9:133", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "visibility": "internal" - } - ], - "id": 81895, - "initialValue": { - "id": 81894, - "name": "initialMembers", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81578, - "src": "10617:14:133", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "10583:48:133" - }, - { - "expression": { - "id": 81910, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 81896, - "name": "poolId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81865, - "src": "10642:6:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "id": 81899, - "name": "profileId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81523, - "src": "10698:9:133", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "id": 81900, - "name": "strategy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81867, - "src": "10709:8:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "arguments": [ - { - "id": 81903, - "name": "_params", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81859, - "src": "10730:7:133", - "typeDescriptions": { - "typeIdentifier": "t_struct$_InitializeParams_$74806_memory_ptr", - "typeString": "struct StrategyStruct.InitializeParams memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_InitializeParams_$74806_memory_ptr", - "typeString": "struct StrategyStruct.InitializeParams memory" - } - ], - "expression": { - "id": 81901, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "10719:3:133", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 81902, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "10723:6:133", - "memberName": "encode", - "nodeType": "MemberAccess", - "src": "10719:10:133", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 81904, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "10719:19:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "id": 81905, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81870, - "src": "10740:5:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "hexValue": "30", - "id": 81906, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10747:1:133", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - { - "id": 81907, - "name": "_metadata", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81862, - "src": "10750:9:133", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Metadata_$3098_memory_ptr", - "typeString": "struct Metadata memory" - } - }, - { - "id": 81908, - "name": "_pool_managers", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81893, - "src": "10761:14:133", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - { - "typeIdentifier": "t_struct$_Metadata_$3098_memory_ptr", - "typeString": "struct Metadata memory" - }, - { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - ], - "expression": { - "id": 81897, - "name": "allo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81545, - "src": "10651:4:133", - "typeDescriptions": { - "typeIdentifier": "t_contract$_FAllo_$81222", - "typeString": "contract FAllo" - } - }, - "id": 81898, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "10656:28:133", - "memberName": "createPoolWithCustomStrategy", - "nodeType": "MemberAccess", - "referencedDeclaration": 81208, - "src": "10651:33:133", - "typeDescriptions": { - "typeIdentifier": "t_function_external_payable$_t_bytes32_$_t_address_$_t_bytes_memory_ptr_$_t_address_$_t_uint256_$_t_struct$_Metadata_$3098_memory_ptr_$_t_array$_t_address_$dyn_memory_ptr_$returns$_t_uint256_$", - "typeString": "function (bytes32,address,bytes memory,address,uint256,struct Metadata memory,address[] memory) payable external returns (uint256)" - } - }, - "id": 81909, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "10651:134:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "10642:143:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 81911, - "nodeType": "ExpressionStatement", - "src": "10642:143:133" - }, - { - "eventCall": { - "arguments": [ - { - "id": 81913, - "name": "poolId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81865, - "src": "10813:6:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 81914, - "name": "strategy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81867, - "src": "10821:8:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "arguments": [ - { - "id": 81917, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "10839:4:133", - "typeDescriptions": { - "typeIdentifier": "t_contract$_RegistryCommunity_$83082", - "typeString": "contract RegistryCommunity" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_RegistryCommunity_$83082", - "typeString": "contract RegistryCommunity" - } - ], - "id": 81916, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "10831:7:133", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 81915, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10831:7:133", - "typeDescriptions": {} - } - }, - "id": 81918, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "10831:13:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 81919, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81856, - "src": "10846:6:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 81920, - "name": "_metadata", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81862, - "src": "10854:9:133", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Metadata_$3098_memory_ptr", - "typeString": "struct Metadata memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_struct$_Metadata_$3098_memory_ptr", - "typeString": "struct Metadata memory" - } - ], - "id": 81912, - "name": "PoolCreated", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81342, - "src": "10801:11:133", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_address_$_t_address_$_t_address_$_t_struct$_Metadata_$3098_memory_ptr_$returns$__$", - "typeString": "function (uint256,address,address,address,struct Metadata memory)" - } - }, - "id": 81921, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "10801:63:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 81922, - "nodeType": "EmitStatement", - "src": "10796:68:133" - } - ] - }, - "functionSelector": "ff6409ef", - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "createPool", - "nameLocation": "10227:10:133", - "parameters": { - "id": 81863, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 81854, - "mutability": "mutable", - "name": "_strategy", - "nameLocation": "10255:9:133", - "nodeType": "VariableDeclaration", - "scope": 81924, - "src": "10247:17:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 81853, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10247:7:133", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 81856, - "mutability": "mutable", - "name": "_token", - "nameLocation": "10282:6:133", - "nodeType": "VariableDeclaration", - "scope": 81924, - "src": "10274:14:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 81855, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10274:7:133", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 81859, - "mutability": "mutable", - "name": "_params", - "nameLocation": "10337:7:133", - "nodeType": "VariableDeclaration", - "scope": 81924, - "src": "10298:46:133", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_InitializeParams_$74806_memory_ptr", - "typeString": "struct StrategyStruct.InitializeParams" - }, - "typeName": { - "id": 81858, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 81857, - "name": "StrategyStruct.InitializeParams", - "nameLocations": [ - "10298:14:133", - "10313:16:133" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 74806, - "src": "10298:31:133" - }, - "referencedDeclaration": 74806, - "src": "10298:31:133", - "typeDescriptions": { - "typeIdentifier": "t_struct$_InitializeParams_$74806_storage_ptr", - "typeString": "struct StrategyStruct.InitializeParams" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 81862, - "mutability": "mutable", - "name": "_metadata", - "nameLocation": "10370:9:133", - "nodeType": "VariableDeclaration", - "scope": 81924, - "src": "10354:25:133", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Metadata_$3098_memory_ptr", - "typeString": "struct Metadata" - }, - "typeName": { - "id": 81861, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 81860, - "name": "Metadata", - "nameLocations": [ - "10354:8:133" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 3098, - "src": "10354:8:133" - }, - "referencedDeclaration": 3098, - "src": "10354:8:133", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Metadata_$3098_storage_ptr", - "typeString": "struct Metadata" - } - }, - "visibility": "internal" - } - ], - "src": "10237:148:133" - }, - "returnParameters": { - "id": 81868, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 81865, - "mutability": "mutable", - "name": "poolId", - "nameLocation": "10410:6:133", - "nodeType": "VariableDeclaration", - "scope": 81924, - "src": "10402:14:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 81864, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10402:7:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 81867, - "mutability": "mutable", - "name": "strategy", - "nameLocation": "10426:8:133", - "nodeType": "VariableDeclaration", - "scope": 81924, - "src": "10418:16:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 81866, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10418:7:133", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "10401:34:133" - }, - "scope": 83082, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "id": 82041, - "nodeType": "FunctionDefinition", - "src": "10877:1179:133", - "nodes": [], - "body": { - "id": 82040, - "nodeType": "Block", - "src": "10954:1102:133", - "nodes": [], - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 81932, - "name": "_member", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81926, - "src": "10990:7:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 81931, - "name": "onlyRegistryMemberAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81386, - "src": "10964:25:133", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$__$", - "typeString": "function (address) view" - } - }, - "id": 81933, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "10964:34:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 81934, - "nodeType": "ExpressionStatement", - "src": "10964:34:133" - }, - { - "expression": { - "arguments": [ - { - "id": 81936, - "name": "_strategy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81928, - "src": "11028:9:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 81935, - "name": "onlyStrategyEnabled", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81401, - "src": "11008:19:133", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$__$", - "typeString": "function (address) view" - } - }, - "id": 81937, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "11008:30:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 81938, - "nodeType": "ExpressionStatement", - "src": "11008:30:133" - }, - { - "expression": { - "arguments": [ - { - "id": 81940, - "name": "_strategy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81928, - "src": "11067:9:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 81939, - "name": "_revertZeroAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82526, - "src": "11048:18:133", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_address_$returns$__$", - "typeString": "function (address) pure" - } - }, - "id": 81941, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "11048:29:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 81942, - "nodeType": "ExpressionStatement", - "src": "11048:29:133" - }, - { - "condition": { - "baseExpression": { - "baseExpression": { - "id": 81943, - "name": "memberActivatedInStrategies", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81575, - "src": "11092:27:133", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$", - "typeString": "mapping(address => mapping(address => bool))" - } - }, - "id": 81945, - "indexExpression": { - "id": 81944, - "name": "_member", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81926, - "src": "11120:7:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "11092:36:133", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 81947, - "indexExpression": { - "id": 81946, - "name": "_strategy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81928, - "src": "11129:9:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "11092:47:133", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 81952, - "nodeType": "IfStatement", - "src": "11088:107:133", - "trueBody": { - "id": 81951, - "nodeType": "Block", - "src": "11141:54:133", - "statements": [ - { - "errorCall": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 81948, - "name": "UserAlreadyActivated", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81449, - "src": "11162:20:133", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 81949, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "11162:22:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 81950, - "nodeType": "RevertStatement", - "src": "11155:29:133" - } - ] - } - }, - { - "assignments": [ - 81955 - ], - "declarations": [ - { - "constant": false, - "id": 81955, - "mutability": "mutable", - "name": "member", - "nameLocation": "11219:6:133", - "nodeType": "VariableDeclaration", - "scope": 82040, - "src": "11205:20:133", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Member_$81482_memory_ptr", - "typeString": "struct RegistryCommunity.Member" - }, - "typeName": { - "id": 81954, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 81953, - "name": "Member", - "nameLocations": [ - "11205:6:133" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 81482, - "src": "11205:6:133" - }, - "referencedDeclaration": 81482, - "src": "11205:6:133", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Member_$81482_storage_ptr", - "typeString": "struct RegistryCommunity.Member" - } - }, - "visibility": "internal" - } - ], - "id": 81959, - "initialValue": { - "baseExpression": { - "id": 81956, - "name": "addressToMemberInfo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81564, - "src": "11228:19:133", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Member_$81482_storage_$", - "typeString": "mapping(address => struct RegistryCommunity.Member storage ref)" - } - }, - "id": 81958, - "indexExpression": { - "id": 81957, - "name": "_member", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81926, - "src": "11248:7:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "11228:28:133", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Member_$81482_storage", - "typeString": "struct RegistryCommunity.Member storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "11205:51:133" - }, - { - "assignments": [ - 81961 - ], - "declarations": [ - { - "constant": false, - "id": 81961, - "mutability": "mutable", - "name": "totalStakedAmount", - "nameLocation": "11275:17:133", - "nodeType": "VariableDeclaration", - "scope": 82040, - "src": "11267:25:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 81960, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11267:7:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 81964, - "initialValue": { - "expression": { - "id": 81962, - "name": "member", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81955, - "src": "11295:6:133", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Member_$81482_memory_ptr", - "typeString": "struct RegistryCommunity.Member memory" - } - }, - "id": 81963, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "11302:12:133", - "memberName": "stakedAmount", - "nodeType": "MemberAccess", - "referencedDeclaration": 81479, - "src": "11295:19:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "11267:47:133" - }, - { - "assignments": [ - 81966 - ], - "declarations": [ - { - "constant": false, - "id": 81966, - "mutability": "mutable", - "name": "pointsToIncrease", - "nameLocation": "11332:16:133", - "nodeType": "VariableDeclaration", - "scope": 82040, - "src": "11324:24:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 81965, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11324:7:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 81968, - "initialValue": { - "id": 81967, - "name": "registerStakeAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81519, - "src": "11351:19:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "11324:46:133" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_enum$_PointSystem_$74731", - "typeString": "enum StrategyStruct.PointSystem" - }, - "id": 81977, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "arguments": [ - { - "id": 81970, - "name": "_strategy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81928, - "src": "11400:9:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 81969, - "name": "IPointStrategy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74722, - "src": "11385:14:133", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IPointStrategy_$74722_$", - "typeString": "type(contract IPointStrategy)" - } - }, - "id": 81971, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "11385:25:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IPointStrategy_$74722", - "typeString": "contract IPointStrategy" - } - }, - "id": 81972, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "11411:14:133", - "memberName": "getPointSystem", - "nodeType": "MemberAccess", - "referencedDeclaration": 74721, - "src": "11385:40:133", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$__$returns$_t_enum$_PointSystem_$74731_$", - "typeString": "function () external returns (enum StrategyStruct.PointSystem)" - } - }, - "id": 81973, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "11385:42:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_enum$_PointSystem_$74731", - "typeString": "enum StrategyStruct.PointSystem" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "expression": { - "expression": { - "id": 81974, - "name": "StrategyStruct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74807, - "src": "11431:14:133", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_StrategyStruct_$74807_$", - "typeString": "type(library StrategyStruct)" - } - }, - "id": 81975, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "11446:11:133", - "memberName": "PointSystem", - "nodeType": "MemberAccess", - "referencedDeclaration": 74731, - "src": "11431:26:133", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_PointSystem_$74731_$", - "typeString": "type(enum StrategyStruct.PointSystem)" - } - }, - "id": 81976, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "11458:9:133", - "memberName": "Quadratic", - "nodeType": "MemberAccess", - "referencedDeclaration": 74730, - "src": "11431:36:133", - "typeDescriptions": { - "typeIdentifier": "t_enum$_PointSystem_$74731", - "typeString": "enum StrategyStruct.PointSystem" - } - }, - "src": "11385:82:133", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "condition": { - "commonType": { - "typeIdentifier": "t_enum$_PointSystem_$74731", - "typeString": "enum StrategyStruct.PointSystem" - }, - "id": 81997, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "arguments": [ - { - "id": 81990, - "name": "_strategy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81928, - "src": "11589:9:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 81989, - "name": "IPointStrategy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74722, - "src": "11574:14:133", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IPointStrategy_$74722_$", - "typeString": "type(contract IPointStrategy)" - } - }, - "id": 81991, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "11574:25:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IPointStrategy_$74722", - "typeString": "contract IPointStrategy" - } - }, - "id": 81992, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "11600:14:133", - "memberName": "getPointSystem", - "nodeType": "MemberAccess", - "referencedDeclaration": 74721, - "src": "11574:40:133", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$__$returns$_t_enum$_PointSystem_$74731_$", - "typeString": "function () external returns (enum StrategyStruct.PointSystem)" - } - }, - "id": 81993, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "11574:42:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_enum$_PointSystem_$74731", - "typeString": "enum StrategyStruct.PointSystem" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "expression": { - "expression": { - "id": 81994, - "name": "StrategyStruct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74807, - "src": "11620:14:133", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_StrategyStruct_$74807_$", - "typeString": "type(library StrategyStruct)" - } - }, - "id": 81995, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "11635:11:133", - "memberName": "PointSystem", - "nodeType": "MemberAccess", - "referencedDeclaration": 74731, - "src": "11620:26:133", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_PointSystem_$74731_$", - "typeString": "type(enum StrategyStruct.PointSystem)" - } - }, - "id": 81996, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "11647:5:133", - "memberName": "Fixed", - "nodeType": "MemberAccess", - "referencedDeclaration": 74727, - "src": "11620:32:133", - "typeDescriptions": { - "typeIdentifier": "t_enum$_PointSystem_$74731", - "typeString": "enum StrategyStruct.PointSystem" - } - }, - "src": "11574:78:133", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 82009, - "nodeType": "IfStatement", - "src": "11570:195:133", - "trueBody": { - "id": 82008, - "nodeType": "Block", - "src": "11654:111:133", - "statements": [ - { - "expression": { - "id": 82006, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 81998, - "name": "pointsToIncrease", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81966, - "src": "11668:16:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "id": 82003, - "name": "_member", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81926, - "src": "11727:7:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 82004, - "name": "totalStakedAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81961, - "src": "11736:17:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "arguments": [ - { - "id": 82000, - "name": "_strategy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81928, - "src": "11702:9:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 81999, - "name": "IPointStrategy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74722, - "src": "11687:14:133", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IPointStrategy_$74722_$", - "typeString": "type(contract IPointStrategy)" - } - }, - "id": 82001, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "11687:25:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IPointStrategy_$74722", - "typeString": "contract IPointStrategy" - } - }, - "id": 82002, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "11713:13:133", - "memberName": "increasePower", - "nodeType": "MemberAccess", - "referencedDeclaration": 74706, - "src": "11687:39:133", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (address,uint256) external returns (uint256)" - } - }, - "id": 82005, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "11687:67:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "11668:86:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 82007, - "nodeType": "ExpressionStatement", - "src": "11668:86:133" - } - ] - } - }, - "id": 82010, - "nodeType": "IfStatement", - "src": "11381:384:133", - "trueBody": { - "id": 81988, - "nodeType": "Block", - "src": "11469:95:133", - "statements": [ - { - "expression": { - "id": 81986, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 81978, - "name": "pointsToIncrease", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81966, - "src": "11483:16:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "id": 81983, - "name": "_member", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81926, - "src": "11542:7:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "hexValue": "30", - "id": 81984, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11551:1:133", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "expression": { - "arguments": [ - { - "id": 81980, - "name": "_strategy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81928, - "src": "11517:9:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 81979, - "name": "IPointStrategy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74722, - "src": "11502:14:133", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IPointStrategy_$74722_$", - "typeString": "type(contract IPointStrategy)" - } - }, - "id": 81981, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "11502:25:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IPointStrategy_$74722", - "typeString": "contract IPointStrategy" - } - }, - "id": 81982, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "11528:13:133", - "memberName": "increasePower", - "nodeType": "MemberAccess", - "referencedDeclaration": 74706, - "src": "11502:39:133", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (address,uint256) external returns (uint256)" - } - }, - "id": 81985, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "11502:51:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "11483:70:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 81987, - "nodeType": "ExpressionStatement", - "src": "11483:70:133" - } - ] - } - }, - { - "expression": { - "id": 82017, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "baseExpression": { - "id": 82011, - "name": "memberPowerInStrategy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81559, - "src": "11775:21:133", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 82014, - "indexExpression": { - "id": 82012, - "name": "_member", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81926, - "src": "11797:7:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "11775:30:133", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 82015, - "indexExpression": { - "id": 82013, - "name": "_strategy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81928, - "src": "11806:9:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "11775:41:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 82016, - "name": "pointsToIncrease", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81966, - "src": "11819:16:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "11775:60:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 82018, - "nodeType": "ExpressionStatement", - "src": "11775:60:133" - }, - { - "expression": { - "id": 82025, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "baseExpression": { - "id": 82019, - "name": "memberActivatedInStrategies", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81575, - "src": "11864:27:133", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$", - "typeString": "mapping(address => mapping(address => bool))" - } - }, - "id": 82022, - "indexExpression": { - "id": 82020, - "name": "_member", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81926, - "src": "11892:7:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "11864:36:133", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 82023, - "indexExpression": { - "id": 82021, - "name": "_strategy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81928, - "src": "11901:9:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "11864:47:133", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "hexValue": "74727565", - "id": 82024, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11914:4:133", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "11864:54:133", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 82026, - "nodeType": "ExpressionStatement", - "src": "11864:54:133" - }, - { - "expression": { - "arguments": [ - { - "id": 82031, - "name": "_strategy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81928, - "src": "11962:9:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "baseExpression": { - "id": 82027, - "name": "strategiesByMember", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81569, - "src": "11929:18:133", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_address_$dyn_storage_$", - "typeString": "mapping(address => address[] storage ref)" - } - }, - "id": 82029, - "indexExpression": { - "id": 82028, - "name": "_member", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81926, - "src": "11948:7:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "11929:27:133", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 82030, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "11957:4:133", - "memberName": "push", - "nodeType": "MemberAccess", - "src": "11929:32:133", - "typeDescriptions": { - "typeIdentifier": "t_function_arraypush_nonpayable$_t_array$_t_address_$dyn_storage_ptr_$_t_address_$returns$__$attached_to$_t_array$_t_address_$dyn_storage_ptr_$", - "typeString": "function (address[] storage pointer,address)" - } - }, - "id": 82032, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "11929:43:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 82033, - "nodeType": "ExpressionStatement", - "src": "11929:43:133" - }, - { - "eventCall": { - "arguments": [ - { - "id": 82035, - "name": "_member", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81926, - "src": "12012:7:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 82036, - "name": "_strategy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81928, - "src": "12021:9:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 82037, - "name": "pointsToIncrease", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81966, - "src": "12032:16:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 82034, - "name": "MemberActivatedStrategy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81307, - "src": "11988:23:133", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 82038, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "11988:61:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 82039, - "nodeType": "EmitStatement", - "src": "11983:66:133" - } - ] - }, - "functionSelector": "0d4a8b49", - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "activateMemberInStrategy", - "nameLocation": "10886:24:133", - "parameters": { - "id": 81929, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 81926, - "mutability": "mutable", - "name": "_member", - "nameLocation": "10919:7:133", - "nodeType": "VariableDeclaration", - "scope": 82041, - "src": "10911:15:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 81925, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10911:7:133", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 81928, - "mutability": "mutable", - "name": "_strategy", - "nameLocation": "10936:9:133", - "nodeType": "VariableDeclaration", - "scope": 82041, - "src": "10928:17:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 81927, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10928:7:133", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "10910:36:133" - }, - "returnParameters": { - "id": 81930, - "nodeType": "ParameterList", - "parameters": [], - "src": "10954:0:133" - }, - "scope": 83082, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "id": 82100, - "nodeType": "FunctionDefinition", - "src": "12062:691:133", - "nodes": [], - "body": { - "id": 82099, - "nodeType": "Block", - "src": "12141:612:133", - "nodes": [], - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 82049, - "name": "_member", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82043, - "src": "12177:7:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 82048, - "name": "onlyRegistryMemberAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81386, - "src": "12151:25:133", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$__$", - "typeString": "function (address) view" - } - }, - "id": 82050, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "12151:34:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 82051, - "nodeType": "ExpressionStatement", - "src": "12151:34:133" - }, - { - "expression": { - "arguments": [ - { - "id": 82053, - "name": "_strategy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82045, - "src": "12214:9:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 82052, - "name": "_revertZeroAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82526, - "src": "12195:18:133", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_address_$returns$__$", - "typeString": "function (address) pure" - } - }, - "id": 82054, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "12195:29:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 82055, - "nodeType": "ExpressionStatement", - "src": "12195:29:133" - }, - { - "expression": { - "arguments": [ - { - "expression": { - "id": 82057, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "12254:3:133", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 82058, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "12258:6:133", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "12254:10:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 82059, - "name": "_strategy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82045, - "src": "12266:9:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 82056, - "name": "onlyStrategyAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81417, - "src": "12234:19:133", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_address_$_t_address_$returns$__$", - "typeString": "function (address,address) pure" - } - }, - "id": 82060, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "12234:42:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 82061, - "nodeType": "ExpressionStatement", - "src": "12234:42:133" - }, - { - "condition": { - "id": 82067, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "12291:48:133", - "subExpression": { - "baseExpression": { - "baseExpression": { - "id": 82062, - "name": "memberActivatedInStrategies", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81575, - "src": "12292:27:133", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$", - "typeString": "mapping(address => mapping(address => bool))" - } - }, - "id": 82064, - "indexExpression": { - "id": 82063, - "name": "_member", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82043, - "src": "12320:7:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "12292:36:133", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 82066, - "indexExpression": { - "id": 82065, - "name": "_strategy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82045, - "src": "12329:9:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "12292:47:133", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 82072, - "nodeType": "IfStatement", - "src": "12287:110:133", - "trueBody": { - "id": 82071, - "nodeType": "Block", - "src": "12341:56:133", - "statements": [ - { - "errorCall": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 82068, - "name": "UserAlreadyDeactivated", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81451, - "src": "12362:22:133", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 82069, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "12362:24:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 82070, - "nodeType": "RevertStatement", - "src": "12355:31:133" - } - ] - } - }, - { - "expression": { - "id": 82079, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "baseExpression": { - "id": 82073, - "name": "memberActivatedInStrategies", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81575, - "src": "12407:27:133", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$", - "typeString": "mapping(address => mapping(address => bool))" - } - }, - "id": 82076, - "indexExpression": { - "id": 82074, - "name": "_member", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82043, - "src": "12435:7:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "12407:36:133", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 82077, - "indexExpression": { - "id": 82075, - "name": "_strategy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82045, - "src": "12444:9:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "12407:47:133", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "hexValue": "66616c7365", - "id": 82078, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12457:5:133", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "src": "12407:55:133", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 82080, - "nodeType": "ExpressionStatement", - "src": "12407:55:133" - }, - { - "expression": { - "id": 82087, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "baseExpression": { - "id": 82081, - "name": "memberPowerInStrategy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81559, - "src": "12472:21:133", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 82084, - "indexExpression": { - "id": 82082, - "name": "_member", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82043, - "src": "12494:7:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "12472:30:133", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 82085, - "indexExpression": { - "id": 82083, - "name": "_strategy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82045, - "src": "12503:9:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "12472:41:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "hexValue": "30", - "id": 82086, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12516:1:133", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "12472:45:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 82088, - "nodeType": "ExpressionStatement", - "src": "12472:45:133" - }, - { - "expression": { - "arguments": [ - { - "id": 82090, - "name": "_member", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82043, - "src": "12552:7:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 82091, - "name": "_strategy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82045, - "src": "12561:9:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 82089, - "name": "removeStrategyFromMember", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82153, - "src": "12527:24:133", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$returns$__$", - "typeString": "function (address,address)" - } - }, - "id": 82092, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "12527:44:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 82093, - "nodeType": "ExpressionStatement", - "src": "12527:44:133" - }, - { - "eventCall": { - "arguments": [ - { - "id": 82095, - "name": "_member", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82043, - "src": "12727:7:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 82096, - "name": "_strategy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82045, - "src": "12736:9:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 82094, - "name": "MemberDeactivatedStrategy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81313, - "src": "12701:25:133", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$", - "typeString": "function (address,address)" - } - }, - "id": 82097, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "12701:45:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 82098, - "nodeType": "EmitStatement", - "src": "12696:50:133" - } - ] - }, - "functionSelector": "22bcf999", - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "deactivateMemberInStrategy", - "nameLocation": "12071:26:133", - "parameters": { - "id": 82046, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 82043, - "mutability": "mutable", - "name": "_member", - "nameLocation": "12106:7:133", - "nodeType": "VariableDeclaration", - "scope": 82100, - "src": "12098:15:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 82042, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12098:7:133", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 82045, - "mutability": "mutable", - "name": "_strategy", - "nameLocation": "12123:9:133", - "nodeType": "VariableDeclaration", - "scope": 82100, - "src": "12115:17:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 82044, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12115:7:133", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "12097:36:133" - }, - "returnParameters": { - "id": 82047, - "nodeType": "ParameterList", - "parameters": [], - "src": "12141:0:133" - }, - "scope": 83082, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "id": 82153, - "nodeType": "FunctionDefinition", - "src": "12759:425:133", - "nodes": [], - "body": { - "id": 82152, - "nodeType": "Block", - "src": "12838:346:133", - "nodes": [], - "statements": [ - { - "assignments": [ - 82111 - ], - "declarations": [ - { - "constant": false, - "id": 82111, - "mutability": "mutable", - "name": "memberStrategies", - "nameLocation": "12866:16:133", - "nodeType": "VariableDeclaration", - "scope": 82152, - "src": "12848:34:133", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 82109, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12848:7:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 82110, - "nodeType": "ArrayTypeName", - "src": "12848:9:133", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "visibility": "internal" - } - ], - "id": 82115, - "initialValue": { - "baseExpression": { - "id": 82112, - "name": "strategiesByMember", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81569, - "src": "12885:18:133", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_address_$dyn_storage_$", - "typeString": "mapping(address => address[] storage ref)" - } - }, - "id": 82114, - "indexExpression": { - "id": 82113, - "name": "_member", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82102, - "src": "12904:7:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "12885:27:133", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "12848:64:133" - }, - { - "body": { - "id": 82150, - "nodeType": "Block", - "src": "12976:202:133", - "statements": [ - { - "condition": { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 82131, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "baseExpression": { - "id": 82127, - "name": "memberStrategies", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82111, - "src": "12994:16:133", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[] storage pointer" - } - }, - "id": 82129, - "indexExpression": { - "id": 82128, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82117, - "src": "13011:1:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "12994:19:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "id": 82130, - "name": "_strategy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82104, - "src": "13017:9:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "12994:32:133", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 82149, - "nodeType": "IfStatement", - "src": "12990:178:133", - "trueBody": { - "id": 82148, - "nodeType": "Block", - "src": "13028:140:133", - "statements": [ - { - "expression": { - "id": 82141, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "id": 82132, - "name": "memberStrategies", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82111, - "src": "13046:16:133", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[] storage pointer" - } - }, - "id": 82134, - "indexExpression": { - "id": 82133, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82117, - "src": "13063:1:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "13046:19:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "baseExpression": { - "id": 82135, - "name": "memberStrategies", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82111, - "src": "13068:16:133", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[] storage pointer" - } - }, - "id": 82140, - "indexExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 82139, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 82136, - "name": "memberStrategies", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82111, - "src": "13085:16:133", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[] storage pointer" - } - }, - "id": 82137, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "13102:6:133", - "memberName": "length", - "nodeType": "MemberAccess", - "src": "13085:23:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "hexValue": "31", - "id": 82138, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13111:1:133", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "13085:27:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "13068:45:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "13046:67:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 82142, - "nodeType": "ExpressionStatement", - "src": "13046:67:133" - }, - { - "expression": { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "id": 82143, - "name": "memberStrategies", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82111, - "src": "13131:16:133", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[] storage pointer" - } - }, - "id": 82145, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "13148:3:133", - "memberName": "pop", - "nodeType": "MemberAccess", - "src": "13131:20:133", - "typeDescriptions": { - "typeIdentifier": "t_function_arraypop_nonpayable$_t_array$_t_address_$dyn_storage_ptr_$returns$__$attached_to$_t_array$_t_address_$dyn_storage_ptr_$", - "typeString": "function (address[] storage pointer)" - } - }, - "id": 82146, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "13131:22:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 82147, - "nodeType": "ExpressionStatement", - "src": "13131:22:133" - } - ] - } - } - ] - }, - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 82123, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 82120, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82117, - "src": "12942:1:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "expression": { - "id": 82121, - "name": "memberStrategies", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82111, - "src": "12946:16:133", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[] storage pointer" - } - }, - "id": 82122, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "12963:6:133", - "memberName": "length", - "nodeType": "MemberAccess", - "src": "12946:23:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "12942:27:133", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 82151, - "initializationExpression": { - "assignments": [ - 82117 - ], - "declarations": [ - { - "constant": false, - "id": 82117, - "mutability": "mutable", - "name": "i", - "nameLocation": "12935:1:133", - "nodeType": "VariableDeclaration", - "scope": 82151, - "src": "12927:9:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 82116, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12927:7:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 82119, - "initialValue": { - "hexValue": "30", - "id": 82118, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12939:1:133", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "12927:13:133" - }, - "loopExpression": { - "expression": { - "id": 82125, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "12971:3:133", - "subExpression": { - "id": 82124, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82117, - "src": "12971:1:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 82126, - "nodeType": "ExpressionStatement", - "src": "12971:3:133" - }, - "nodeType": "ForStatement", - "src": "12922:256:133" - } - ] - }, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "removeStrategyFromMember", - "nameLocation": "12768:24:133", - "parameters": { - "id": 82105, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 82102, - "mutability": "mutable", - "name": "_member", - "nameLocation": "12801:7:133", - "nodeType": "VariableDeclaration", - "scope": 82153, - "src": "12793:15:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 82101, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12793:7:133", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 82104, - "mutability": "mutable", - "name": "_strategy", - "nameLocation": "12818:9:133", - "nodeType": "VariableDeclaration", - "scope": 82153, - "src": "12810:17:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 82103, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12810:7:133", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "12792:36:133" - }, - "returnParameters": { - "id": 82106, - "nodeType": "ParameterList", - "parameters": [], - "src": "12838:0:133" - }, - "scope": 83082, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "id": 82257, - "nodeType": "FunctionDefinition", - "src": "13190:998:133", - "nodes": [], - "body": { - "id": 82256, - "nodeType": "Block", - "src": "13256:932:133", - "nodes": [], - "statements": [ - { - "expression": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 82160, - "name": "onlyRegistryMemberSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81371, - "src": "13266:24:133", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$__$", - "typeString": "function () view" - } - }, - "id": 82161, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "13266:26:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 82162, - "nodeType": "ExpressionStatement", - "src": "13266:26:133" - }, - { - "assignments": [ - 82164 - ], - "declarations": [ - { - "constant": false, - "id": 82164, - "mutability": "mutable", - "name": "member", - "nameLocation": "13310:6:133", - "nodeType": "VariableDeclaration", - "scope": 82256, - "src": "13302:14:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 82163, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "13302:7:133", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "id": 82167, - "initialValue": { - "expression": { - "id": 82165, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "13319:3:133", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 82166, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "13323:6:133", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "13319:10:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "13302:27:133" - }, - { - "assignments": [ - 82172 - ], - "declarations": [ - { - "constant": false, - "id": 82172, - "mutability": "mutable", - "name": "memberStrategies", - "nameLocation": "13356:16:133", - "nodeType": "VariableDeclaration", - "scope": 82256, - "src": "13339:33:133", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 82170, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "13339:7:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 82171, - "nodeType": "ArrayTypeName", - "src": "13339:9:133", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "visibility": "internal" - } - ], - "id": 82176, - "initialValue": { - "baseExpression": { - "id": 82173, - "name": "strategiesByMember", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81569, - "src": "13375:18:133", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_address_$dyn_storage_$", - "typeString": "mapping(address => address[] storage ref)" - } - }, - "id": 82175, - "indexExpression": { - "id": 82174, - "name": "member", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82164, - "src": "13394:6:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "13375:26:133", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "13339:62:133" - }, - { - "assignments": [ - 82178 - ], - "declarations": [ - { - "constant": false, - "id": 82178, - "mutability": "mutable", - "name": "pointsToIncrease", - "nameLocation": "13420:16:133", - "nodeType": "VariableDeclaration", - "scope": 82256, - "src": "13412:24:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 82177, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13412:7:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 82179, - "nodeType": "VariableDeclarationStatement", - "src": "13412:24:133" - }, - { - "body": { - "id": 82231, - "nodeType": "Block", - "src": "13501:479:133", - "statements": [ - { - "expression": { - "id": 82201, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 82191, - "name": "pointsToIncrease", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82178, - "src": "13620:16:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "id": 82198, - "name": "member", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82164, - "src": "13689:6:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 82199, - "name": "_amountStaked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82155, - "src": "13697:13:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "arguments": [ - { - "baseExpression": { - "id": 82193, - "name": "memberStrategies", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82172, - "src": "13654:16:133", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 82195, - "indexExpression": { - "id": 82194, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82181, - "src": "13671:1:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "13654:19:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 82192, - "name": "IPointStrategy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74722, - "src": "13639:14:133", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IPointStrategy_$74722_$", - "typeString": "type(contract IPointStrategy)" - } - }, - "id": 82196, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "13639:35:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IPointStrategy_$74722", - "typeString": "contract IPointStrategy" - } - }, - "id": 82197, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "13675:13:133", - "memberName": "increasePower", - "nodeType": "MemberAccess", - "referencedDeclaration": 74706, - "src": "13639:49:133", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (address,uint256) external returns (uint256)" - } - }, - "id": 82200, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "13639:72:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "13620:91:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 82202, - "nodeType": "ExpressionStatement", - "src": "13620:91:133" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 82205, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 82203, - "name": "pointsToIncrease", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82178, - "src": "13729:16:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "hexValue": "30", - "id": 82204, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13749:1:133", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "13729:21:133", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 82230, - "nodeType": "IfStatement", - "src": "13725:229:133", - "trueBody": { - "id": 82229, - "nodeType": "Block", - "src": "13752:202:133", - "statements": [ - { - "expression": { - "id": 82214, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "baseExpression": { - "id": 82206, - "name": "memberPowerInStrategy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81559, - "src": "13770:21:133", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 82211, - "indexExpression": { - "id": 82207, - "name": "member", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82164, - "src": "13792:6:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "13770:29:133", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 82212, - "indexExpression": { - "baseExpression": { - "id": 82208, - "name": "memberStrategies", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82172, - "src": "13800:16:133", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 82210, - "indexExpression": { - "id": 82209, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82181, - "src": "13817:1:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "13800:19:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "13770:50:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "id": 82213, - "name": "pointsToIncrease", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82178, - "src": "13824:16:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "13770:70:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 82215, - "nodeType": "ExpressionStatement", - "src": "13770:70:133" - }, - { - "expression": { - "arguments": [ - { - "hexValue": "537472617465677920706f776572", - "id": 82219, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13870:16:133", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_703ee8b122626afba084dc6507d90f45e4b99d124abdcce4d7ee9c70af76c3ee", - "typeString": "literal_string \"Strategy power\"" - }, - "value": "Strategy power" - }, - { - "baseExpression": { - "baseExpression": { - "id": 82220, - "name": "memberPowerInStrategy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81559, - "src": "13888:21:133", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 82222, - "indexExpression": { - "id": 82221, - "name": "member", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82164, - "src": "13910:6:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "13888:29:133", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 82226, - "indexExpression": { - "baseExpression": { - "id": 82223, - "name": "memberStrategies", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82172, - "src": "13918:16:133", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 82225, - "indexExpression": { - "id": 82224, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82181, - "src": "13935:1:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "13918:19:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "13888:50:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_703ee8b122626afba084dc6507d90f45e4b99d124abdcce4d7ee9c70af76c3ee", - "typeString": "literal_string \"Strategy power\"" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 82216, - "name": "console", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29549, - "src": "13858:7:133", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_console_$29549_$", - "typeString": "type(library console)" - } - }, - "id": 82218, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "13866:3:133", - "memberName": "log", - "nodeType": "MemberAccess", - "referencedDeclaration": 22193, - "src": "13858:11:133", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$", - "typeString": "function (string memory,uint256) view" - } - }, - "id": 82227, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "13858:81:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 82228, - "nodeType": "ExpressionStatement", - "src": "13858:81:133" - } - ] - } - } - ] - }, - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 82187, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 82184, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82181, - "src": "13467:1:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "expression": { - "id": 82185, - "name": "memberStrategies", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82172, - "src": "13471:16:133", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 82186, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "13488:6:133", - "memberName": "length", - "nodeType": "MemberAccess", - "src": "13471:23:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "13467:27:133", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 82232, - "initializationExpression": { - "assignments": [ - 82181 - ], - "declarations": [ - { - "constant": false, - "id": 82181, - "mutability": "mutable", - "name": "i", - "nameLocation": "13460:1:133", - "nodeType": "VariableDeclaration", - "scope": 82232, - "src": "13452:9:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 82180, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13452:7:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 82183, - "initialValue": { - "hexValue": "30", - "id": 82182, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13464:1:133", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "13452:13:133" - }, - "loopExpression": { - "expression": { - "id": 82189, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "13496:3:133", - "subExpression": { - "id": 82188, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82181, - "src": "13496:1:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 82190, - "nodeType": "ExpressionStatement", - "src": "13496:3:133" - }, - "nodeType": "ForStatement", - "src": "13447:533:133" - }, - { - "expression": { - "arguments": [ - { - "id": 82236, - "name": "member", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82164, - "src": "14019:6:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "arguments": [ - { - "id": 82239, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "14035:4:133", - "typeDescriptions": { - "typeIdentifier": "t_contract$_RegistryCommunity_$83082", - "typeString": "contract RegistryCommunity" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_RegistryCommunity_$83082", - "typeString": "contract RegistryCommunity" - } - ], - "id": 82238, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "14027:7:133", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 82237, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "14027:7:133", - "typeDescriptions": {} - } - }, - "id": 82240, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "14027:13:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 82241, - "name": "_amountStaked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82155, - "src": "14042:13:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 82233, - "name": "gardenToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81539, - "src": "13990:11:133", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$57069", - "typeString": "contract IERC20" - } - }, - "id": 82235, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "14002:16:133", - "memberName": "safeTransferFrom", - "nodeType": "MemberAccess", - "referencedDeclaration": 57190, - "src": "13990:28:133", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IERC20_$57069_$_t_address_$_t_address_$_t_uint256_$returns$__$attached_to$_t_contract$_IERC20_$57069_$", - "typeString": "function (contract IERC20,address,address,uint256)" - } - }, - "id": 82242, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "13990:66:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 82243, - "nodeType": "ExpressionStatement", - "src": "13990:66:133" - }, - { - "expression": { - "id": 82249, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "expression": { - "baseExpression": { - "id": 82244, - "name": "addressToMemberInfo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81564, - "src": "14066:19:133", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Member_$81482_storage_$", - "typeString": "mapping(address => struct RegistryCommunity.Member storage ref)" - } - }, - "id": 82246, - "indexExpression": { - "id": 82245, - "name": "member", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82164, - "src": "14086:6:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "14066:27:133", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Member_$81482_storage", - "typeString": "struct RegistryCommunity.Member storage ref" - } - }, - "id": 82247, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberLocation": "14094:12:133", - "memberName": "stakedAmount", - "nodeType": "MemberAccess", - "referencedDeclaration": 81479, - "src": "14066:40:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "id": 82248, - "name": "_amountStaked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82155, - "src": "14110:13:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "14066:57:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 82250, - "nodeType": "ExpressionStatement", - "src": "14066:57:133" - }, - { - "eventCall": { - "arguments": [ - { - "id": 82252, - "name": "member", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82164, - "src": "14159:6:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 82253, - "name": "_amountStaked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82155, - "src": "14167:13:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 82251, - "name": "MemberPowerIncreased", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81323, - "src": "14138:20:133", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 82254, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "14138:43:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 82255, - "nodeType": "EmitStatement", - "src": "14133:48:133" - } - ] - }, - "functionSelector": "559de05d", - "implemented": true, - "kind": "function", - "modifiers": [ - { - "id": 82158, - "kind": "modifierInvocation", - "modifierName": { - "id": 82157, - "name": "nonReentrant", - "nameLocations": [ - "13243:12:133" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 56243, - "src": "13243:12:133" - }, - "nodeType": "ModifierInvocation", - "src": "13243:12:133" - } - ], - "name": "increasePower", - "nameLocation": "13199:13:133", - "parameters": { - "id": 82156, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 82155, - "mutability": "mutable", - "name": "_amountStaked", - "nameLocation": "13221:13:133", - "nodeType": "VariableDeclaration", - "scope": 82257, - "src": "13213:21:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 82154, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13213:7:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "13212:23:133" - }, - "returnParameters": { - "id": 82159, - "nodeType": "ParameterList", - "parameters": [], - "src": "13256:0:133" - }, - "scope": 83082, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "id": 82407, - "nodeType": "FunctionDefinition", - "src": "14328:1554:133", - "nodes": [], - "body": { - "id": 82406, - "nodeType": "Block", - "src": "14396:1486:133", - "nodes": [], - "statements": [ - { - "expression": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 82264, - "name": "onlyRegistryMemberSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81371, - "src": "14406:24:133", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$__$", - "typeString": "function () view" - } - }, - "id": 82265, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "14406:26:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 82266, - "nodeType": "ExpressionStatement", - "src": "14406:26:133" - }, - { - "assignments": [ - 82268 - ], - "declarations": [ - { - "constant": false, - "id": 82268, - "mutability": "mutable", - "name": "member", - "nameLocation": "14450:6:133", - "nodeType": "VariableDeclaration", - "scope": 82406, - "src": "14442:14:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 82267, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "14442:7:133", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "id": 82271, - "initialValue": { - "expression": { - "id": 82269, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "14459:3:133", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 82270, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "14463:6:133", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "14459:10:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "14442:27:133" - }, - { - "assignments": [ - 82276 - ], - "declarations": [ - { - "constant": false, - "id": 82276, - "mutability": "mutable", - "name": "memberStrategies", - "nameLocation": "14497:16:133", - "nodeType": "VariableDeclaration", - "scope": 82406, - "src": "14479:34:133", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 82274, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "14479:7:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 82275, - "nodeType": "ArrayTypeName", - "src": "14479:9:133", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "visibility": "internal" - } - ], - "id": 82280, - "initialValue": { - "baseExpression": { - "id": 82277, - "name": "strategiesByMember", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81569, - "src": "14516:18:133", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_address_$dyn_storage_$", - "typeString": "mapping(address => address[] storage ref)" - } - }, - "id": 82279, - "indexExpression": { - "id": 82278, - "name": "member", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82268, - "src": "14535:6:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "14516:26:133", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "14479:63:133" - }, - { - "assignments": [ - 82282 - ], - "declarations": [ - { - "constant": false, - "id": 82282, - "mutability": "mutable", - "name": "pointsToDecrease", - "nameLocation": "14561:16:133", - "nodeType": "VariableDeclaration", - "scope": 82406, - "src": "14553:24:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 82281, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14553:7:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 82283, - "nodeType": "VariableDeclarationStatement", - "src": "14553:24:133" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 82291, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 82289, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "baseExpression": { - "id": 82284, - "name": "addressToMemberInfo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81564, - "src": "14592:19:133", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Member_$81482_storage_$", - "typeString": "mapping(address => struct RegistryCommunity.Member storage ref)" - } - }, - "id": 82286, - "indexExpression": { - "id": 82285, - "name": "member", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82268, - "src": "14612:6:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "14592:27:133", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Member_$81482_storage", - "typeString": "struct RegistryCommunity.Member storage ref" - } - }, - "id": 82287, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "14620:12:133", - "memberName": "stakedAmount", - "nodeType": "MemberAccess", - "referencedDeclaration": 81479, - "src": "14592:40:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "id": 82288, - "name": "_amountUnstaked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82259, - "src": "14635:15:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "14592:58:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "id": 82290, - "name": "registerStakeAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81519, - "src": "14653:19:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "14592:80:133", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 82296, - "nodeType": "IfStatement", - "src": "14588:140:133", - "trueBody": { - "id": 82295, - "nodeType": "Block", - "src": "14674:54:133", - "statements": [ - { - "errorCall": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 82292, - "name": "DecreaseUnderMinimum", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81469, - "src": "14695:20:133", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 82293, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "14695:22:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 82294, - "nodeType": "RevertStatement", - "src": "14688:29:133" - } - ] - } - }, - { - "expression": { - "arguments": [ - { - "id": 82300, - "name": "member", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82268, - "src": "14762:6:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 82301, - "name": "_amountUnstaked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82259, - "src": "14770:15:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 82297, - "name": "gardenToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81539, - "src": "14737:11:133", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$57069", - "typeString": "contract IERC20" - } - }, - "id": 82299, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "14749:12:133", - "memberName": "safeTransfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 57163, - "src": "14737:24:133", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IERC20_$57069_$_t_address_$_t_uint256_$returns$__$attached_to$_t_contract$_IERC20_$57069_$", - "typeString": "function (contract IERC20,address,uint256)" - } - }, - "id": 82302, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "14737:49:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 82303, - "nodeType": "ExpressionStatement", - "src": "14737:49:133" - }, - { - "body": { - "id": 82392, - "nodeType": "Block", - "src": "14850:897:133", - "statements": [ - { - "assignments": [ - 82316 - ], - "declarations": [ - { - "constant": false, - "id": 82316, - "mutability": "mutable", - "name": "strategy", - "nameLocation": "14872:8:133", - "nodeType": "VariableDeclaration", - "scope": 82392, - "src": "14864:16:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 82315, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "14864:7:133", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "id": 82320, - "initialValue": { - "baseExpression": { - "id": 82317, - "name": "memberStrategies", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82276, - "src": "14883:16:133", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[] storage pointer" - } - }, - "id": 82319, - "indexExpression": { - "id": 82318, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82305, - "src": "14900:1:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "14883:19:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "14864:38:133" - }, - { - "condition": { - "arguments": [ - { - "expression": { - "arguments": [ - { - "id": 82324, - "name": "IPointStrategy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74722, - "src": "14952:14:133", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IPointStrategy_$74722_$", - "typeString": "type(contract IPointStrategy)" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_type$_t_contract$_IPointStrategy_$74722_$", - "typeString": "type(contract IPointStrategy)" - } - ], - "id": 82323, - "name": "type", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -27, - "src": "14947:4:133", - "typeDescriptions": { - "typeIdentifier": "t_function_metatype_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 82325, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "14947:20:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_magic_meta_type_t_contract$_IPointStrategy_$74722", - "typeString": "type(contract IPointStrategy)" - } - }, - "id": 82326, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "14968:11:133", - "memberName": "interfaceId", - "nodeType": "MemberAccess", - "src": "14947:32:133", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - ], - "expression": { - "id": 82321, - "name": "strategy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82316, - "src": "14920:8:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 82322, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "14929:17:133", - "memberName": "supportsInterface", - "nodeType": "MemberAccess", - "referencedDeclaration": 58316, - "src": "14920:26:133", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_bytes4_$returns$_t_bool_$attached_to$_t_address_$", - "typeString": "function (address,bytes4) view returns (bool)" - } - }, - "id": 82327, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "14920:60:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 82390, - "nodeType": "Block", - "src": "15470:250:133", - "statements": [ - { - "expression": { - "id": 82379, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "id": 82370, - "name": "memberStrategies", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82276, - "src": "15555:16:133", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[] storage pointer" - } - }, - "id": 82372, - "indexExpression": { - "id": 82371, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82305, - "src": "15572:1:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "15555:19:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "baseExpression": { - "id": 82373, - "name": "memberStrategies", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82276, - "src": "15577:16:133", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[] storage pointer" - } - }, - "id": 82378, - "indexExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 82377, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 82374, - "name": "memberStrategies", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82276, - "src": "15594:16:133", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[] storage pointer" - } - }, - "id": 82375, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "15611:6:133", - "memberName": "length", - "nodeType": "MemberAccess", - "src": "15594:23:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "hexValue": "31", - "id": 82376, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15620:1:133", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "15594:27:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "15577:45:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "15555:67:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 82380, - "nodeType": "ExpressionStatement", - "src": "15555:67:133" - }, - { - "expression": { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "id": 82381, - "name": "memberStrategies", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82276, - "src": "15640:16:133", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[] storage pointer" - } - }, - "id": 82383, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "15657:3:133", - "memberName": "pop", - "nodeType": "MemberAccess", - "src": "15640:20:133", - "typeDescriptions": { - "typeIdentifier": "t_function_arraypop_nonpayable$_t_array$_t_address_$dyn_storage_ptr_$returns$__$attached_to$_t_array$_t_address_$dyn_storage_ptr_$", - "typeString": "function (address[] storage pointer)" - } - }, - "id": 82384, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "15640:22:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 82385, - "nodeType": "ExpressionStatement", - "src": "15640:22:133" - }, - { - "expression": { - "arguments": [ - { - "id": 82387, - "name": "strategy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82316, - "src": "15696:8:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 82386, - "name": "_removeStrategy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82574, - "src": "15680:15:133", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", - "typeString": "function (address)" - } - }, - "id": 82388, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "15680:25:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 82389, - "nodeType": "ExpressionStatement", - "src": "15680:25:133" - } - ] - }, - "id": 82391, - "nodeType": "IfStatement", - "src": "14916:804:133", - "trueBody": { - "id": 82369, - "nodeType": "Block", - "src": "14982:482:133", - "statements": [ - { - "expression": { - "id": 82336, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 82328, - "name": "pointsToDecrease", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82282, - "src": "15000:16:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "id": 82333, - "name": "member", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82268, - "src": "15058:6:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 82334, - "name": "_amountUnstaked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82259, - "src": "15066:15:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "arguments": [ - { - "id": 82330, - "name": "strategy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82316, - "src": "15034:8:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 82329, - "name": "IPointStrategy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74722, - "src": "15019:14:133", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IPointStrategy_$74722_$", - "typeString": "type(contract IPointStrategy)" - } - }, - "id": 82331, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "15019:24:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IPointStrategy_$74722", - "typeString": "contract IPointStrategy" - } - }, - "id": 82332, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "15044:13:133", - "memberName": "decreasePower", - "nodeType": "MemberAccess", - "referencedDeclaration": 74715, - "src": "15019:38:133", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (address,uint256) external returns (uint256)" - } - }, - "id": 82335, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "15019:63:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15000:82:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 82337, - "nodeType": "ExpressionStatement", - "src": "15000:82:133" - }, - { - "assignments": [ - 82339 - ], - "declarations": [ - { - "constant": false, - "id": 82339, - "mutability": "mutable", - "name": "currentPower", - "nameLocation": "15108:12:133", - "nodeType": "VariableDeclaration", - "scope": 82369, - "src": "15100:20:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 82338, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15100:7:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 82347, - "initialValue": { - "baseExpression": { - "baseExpression": { - "id": 82340, - "name": "memberPowerInStrategy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81559, - "src": "15123:21:133", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 82342, - "indexExpression": { - "id": 82341, - "name": "member", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82268, - "src": "15145:6:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "15123:29:133", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 82346, - "indexExpression": { - "baseExpression": { - "id": 82343, - "name": "memberStrategies", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82276, - "src": "15153:16:133", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[] storage pointer" - } - }, - "id": 82345, - "indexExpression": { - "id": 82344, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82305, - "src": "15170:1:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "15153:19:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "15123:50:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15100:73:133" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 82350, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 82348, - "name": "pointsToDecrease", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82282, - "src": "15195:16:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "id": 82349, - "name": "currentPower", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82339, - "src": "15214:12:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15195:31:133", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 82367, - "nodeType": "Block", - "src": "15339:111:133", - "statements": [ - { - "expression": { - "id": 82365, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "baseExpression": { - "id": 82357, - "name": "memberPowerInStrategy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81559, - "src": "15361:21:133", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 82362, - "indexExpression": { - "id": 82358, - "name": "member", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82268, - "src": "15383:6:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "15361:29:133", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 82363, - "indexExpression": { - "baseExpression": { - "id": 82359, - "name": "memberStrategies", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82276, - "src": "15391:16:133", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[] storage pointer" - } - }, - "id": 82361, - "indexExpression": { - "id": 82360, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82305, - "src": "15408:1:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "15391:19:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "15361:50:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "-=", - "rightHandSide": { - "id": 82364, - "name": "pointsToDecrease", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82282, - "src": "15415:16:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15361:70:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 82366, - "nodeType": "ExpressionStatement", - "src": "15361:70:133" - } - ] - }, - "id": 82368, - "nodeType": "IfStatement", - "src": "15191:259:133", - "trueBody": { - "id": 82356, - "nodeType": "Block", - "src": "15228:105:133", - "statements": [ - { - "errorCall": { - "arguments": [ - { - "id": 82352, - "name": "pointsToDecrease", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82282, - "src": "15283:16:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 82353, - "name": "currentPower", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82339, - "src": "15301:12:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 82351, - "name": "CantDecreaseMoreThanPower", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81475, - "src": "15257:25:133", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (uint256,uint256) pure" - } - }, - "id": 82354, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "15257:57:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 82355, - "nodeType": "RevertStatement", - "src": "15250:64:133" - } - ] - } - } - ] - } - } - ] - }, - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 82311, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 82308, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82305, - "src": "14816:1:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "expression": { - "id": 82309, - "name": "memberStrategies", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82276, - "src": "14820:16:133", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[] storage pointer" - } - }, - "id": 82310, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "14837:6:133", - "memberName": "length", - "nodeType": "MemberAccess", - "src": "14820:23:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "14816:27:133", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 82393, - "initializationExpression": { - "assignments": [ - 82305 - ], - "declarations": [ - { - "constant": false, - "id": 82305, - "mutability": "mutable", - "name": "i", - "nameLocation": "14809:1:133", - "nodeType": "VariableDeclaration", - "scope": 82393, - "src": "14801:9:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 82304, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14801:7:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 82307, - "initialValue": { - "hexValue": "30", - "id": 82306, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14813:1:133", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "14801:13:133" - }, - "loopExpression": { - "expression": { - "id": 82313, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "14845:3:133", - "subExpression": { - "id": 82312, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82305, - "src": "14845:1:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 82314, - "nodeType": "ExpressionStatement", - "src": "14845:3:133" - }, - "nodeType": "ForStatement", - "src": "14796:951:133" - }, - { - "expression": { - "id": 82399, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "expression": { - "baseExpression": { - "id": 82394, - "name": "addressToMemberInfo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81564, - "src": "15756:19:133", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Member_$81482_storage_$", - "typeString": "mapping(address => struct RegistryCommunity.Member storage ref)" - } - }, - "id": 82396, - "indexExpression": { - "id": 82395, - "name": "member", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82268, - "src": "15776:6:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "15756:27:133", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Member_$81482_storage", - "typeString": "struct RegistryCommunity.Member storage ref" - } - }, - "id": 82397, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberLocation": "15784:12:133", - "memberName": "stakedAmount", - "nodeType": "MemberAccess", - "referencedDeclaration": 81479, - "src": "15756:40:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "-=", - "rightHandSide": { - "id": 82398, - "name": "_amountUnstaked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82259, - "src": "15800:15:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15756:59:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 82400, - "nodeType": "ExpressionStatement", - "src": "15756:59:133" - }, - { - "eventCall": { - "arguments": [ - { - "id": 82402, - "name": "member", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82268, - "src": "15851:6:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 82403, - "name": "_amountUnstaked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82259, - "src": "15859:15:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 82401, - "name": "MemberPowerDecreased", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81329, - "src": "15830:20:133", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 82404, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "15830:45:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 82405, - "nodeType": "EmitStatement", - "src": "15825:50:133" - } - ] - }, - "functionSelector": "5ecf71c5", - "implemented": true, - "kind": "function", - "modifiers": [ - { - "id": 82262, - "kind": "modifierInvocation", - "modifierName": { - "id": 82261, - "name": "nonReentrant", - "nameLocations": [ - "14383:12:133" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 56243, - "src": "14383:12:133" - }, - "nodeType": "ModifierInvocation", - "src": "14383:12:133" - } - ], - "name": "decreasePower", - "nameLocation": "14337:13:133", - "parameters": { - "id": 82260, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 82259, - "mutability": "mutable", - "name": "_amountUnstaked", - "nameLocation": "14359:15:133", - "nodeType": "VariableDeclaration", - "scope": 82407, - "src": "14351:23:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 82258, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14351:7:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "14350:25:133" - }, - "returnParameters": { - "id": 82263, - "nodeType": "ParameterList", - "parameters": [], - "src": "14396:0:133" - }, - "scope": 83082, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "id": 82423, - "nodeType": "FunctionDefinition", - "src": "15888:165:133", - "nodes": [], - "body": { - "id": 82422, - "nodeType": "Block", - "src": "15988:65:133", - "nodes": [], - "statements": [ - { - "expression": { - "baseExpression": { - "baseExpression": { - "id": 82416, - "name": "memberPowerInStrategy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81559, - "src": "16005:21:133", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 82418, - "indexExpression": { - "id": 82417, - "name": "_member", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82409, - "src": "16027:7:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "16005:30:133", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 82420, - "indexExpression": { - "id": 82419, - "name": "_strategy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82411, - "src": "16036:9:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "16005:41:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 82415, - "id": 82421, - "nodeType": "Return", - "src": "15998:48:133" - } - ] - }, - "functionSelector": "7817ee4f", - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getMemberPowerInStrategy", - "nameLocation": "15897:24:133", - "parameters": { - "id": 82412, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 82409, - "mutability": "mutable", - "name": "_member", - "nameLocation": "15930:7:133", - "nodeType": "VariableDeclaration", - "scope": 82423, - "src": "15922:15:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 82408, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "15922:7:133", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 82411, - "mutability": "mutable", - "name": "_strategy", - "nameLocation": "15947:9:133", - "nodeType": "VariableDeclaration", - "scope": 82423, - "src": "15939:17:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 82410, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "15939:7:133", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "15921:36:133" - }, - "returnParameters": { - "id": 82415, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 82414, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 82423, - "src": "15979:7:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 82413, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15979:7:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "15978:9:133" - }, - "scope": 83082, - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "id": 82436, - "nodeType": "FunctionDefinition", - "src": "16059:143:133", - "nodes": [], - "body": { - "id": 82435, - "nodeType": "Block", - "src": "16137:65:133", - "nodes": [], - "statements": [ - { - "expression": { - "expression": { - "baseExpression": { - "id": 82430, - "name": "addressToMemberInfo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81564, - "src": "16154:19:133", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Member_$81482_storage_$", - "typeString": "mapping(address => struct RegistryCommunity.Member storage ref)" - } - }, - "id": 82432, - "indexExpression": { - "id": 82431, - "name": "_member", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82425, - "src": "16174:7:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "16154:28:133", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Member_$81482_storage", - "typeString": "struct RegistryCommunity.Member storage ref" - } - }, - "id": 82433, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "16183:12:133", - "memberName": "stakedAmount", - "nodeType": "MemberAccess", - "referencedDeclaration": 81479, - "src": "16154:41:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 82429, - "id": 82434, - "nodeType": "Return", - "src": "16147:48:133" - } - ] - }, - "functionSelector": "2c611c4a", - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getMemberStakedAmount", - "nameLocation": "16068:21:133", - "parameters": { - "id": 82426, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 82425, - "mutability": "mutable", - "name": "_member", - "nameLocation": "16098:7:133", - "nodeType": "VariableDeclaration", - "scope": 82436, - "src": "16090:15:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 82424, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "16090:7:133", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "16089:17:133" - }, - "returnParameters": { - "id": 82429, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 82428, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 82436, - "src": "16128:7:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 82427, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16128:7:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "16127:9:133" - }, - "scope": 83082, - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "id": 82473, - "nodeType": "FunctionDefinition", - "src": "16331:313:133", - "nodes": [], - "body": { - "id": 82472, - "nodeType": "Block", - "src": "16383:261:133", - "nodes": [], - "statements": [ - { - "expression": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 82441, - "name": "onlyCouncilSafe", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81357, - "src": "16393:15:133", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$__$", - "typeString": "function () view" - } - }, - "id": 82442, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "16393:17:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 82443, - "nodeType": "ExpressionStatement", - "src": "16393:17:133" - }, - { - "assignments": [ - 82445 - ], - "declarations": [ - { - "constant": false, - "id": 82445, - "mutability": "mutable", - "name": "strategy", - "nameLocation": "16428:8:133", - "nodeType": "VariableDeclaration", - "scope": 82472, - "src": "16420:16:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 82444, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "16420:7:133", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "id": 82454, - "initialValue": { - "arguments": [ - { - "expression": { - "arguments": [ - { - "id": 82450, - "name": "poolId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82438, - "src": "16460:6:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 82448, - "name": "allo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81545, - "src": "16447:4:133", - "typeDescriptions": { - "typeIdentifier": "t_contract$_FAllo_$81222", - "typeString": "contract FAllo" - } - }, - "id": 82449, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "16452:7:133", - "memberName": "getPool", - "nodeType": "MemberAccess", - "referencedDeclaration": 81221, - "src": "16447:12:133", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_struct$_Pool_$2319_memory_ptr_$", - "typeString": "function (uint256) view external returns (struct IAllo.Pool memory)" - } - }, - "id": 82451, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "16447:20:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pool_$2319_memory_ptr", - "typeString": "struct IAllo.Pool memory" - } - }, - "id": 82452, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "16468:8:133", - "memberName": "strategy", - "nodeType": "MemberAccess", - "referencedDeclaration": 2309, - "src": "16447:29:133", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IStrategy_$2969", - "typeString": "contract IStrategy" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_IStrategy_$2969", - "typeString": "contract IStrategy" - } - ], - "id": 82447, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "16439:7:133", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 82446, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "16439:7:133", - "typeDescriptions": {} - } - }, - "id": 82453, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "16439:38:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "16420:57:133" - }, - { - "expression": { - "arguments": [ - { - "id": 82456, - "name": "strategy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82445, - "src": "16506:8:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 82455, - "name": "_revertZeroAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82526, - "src": "16487:18:133", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_address_$returns$__$", - "typeString": "function (address) pure" - } - }, - "id": 82457, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "16487:28:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 82458, - "nodeType": "ExpressionStatement", - "src": "16487:28:133" - }, - { - "condition": { - "arguments": [ - { - "expression": { - "arguments": [ - { - "id": 82462, - "name": "IPointStrategy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74722, - "src": "16561:14:133", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IPointStrategy_$74722_$", - "typeString": "type(contract IPointStrategy)" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_type$_t_contract$_IPointStrategy_$74722_$", - "typeString": "type(contract IPointStrategy)" - } - ], - "id": 82461, - "name": "type", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -27, - "src": "16556:4:133", - "typeDescriptions": { - "typeIdentifier": "t_function_metatype_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 82463, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "16556:20:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_magic_meta_type_t_contract$_IPointStrategy_$74722", - "typeString": "type(contract IPointStrategy)" - } - }, - "id": 82464, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberLocation": "16577:11:133", - "memberName": "interfaceId", - "nodeType": "MemberAccess", - "src": "16556:32:133", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - ], - "expression": { - "id": 82459, - "name": "strategy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82445, - "src": "16529:8:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 82460, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "16538:17:133", - "memberName": "supportsInterface", - "nodeType": "MemberAccess", - "referencedDeclaration": 58316, - "src": "16529:26:133", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_bytes4_$returns$_t_bool_$attached_to$_t_address_$", - "typeString": "function (address,bytes4) view returns (bool)" - } - }, - "id": 82465, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "16529:60:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 82471, - "nodeType": "IfStatement", - "src": "16525:113:133", - "trueBody": { - "id": 82470, - "nodeType": "Block", - "src": "16591:47:133", - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 82467, - "name": "strategy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82445, - "src": "16618:8:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 82466, - "name": "_addStrategy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82510, - "src": "16605:12:133", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", - "typeString": "function (address)" - } - }, - "id": 82468, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "16605:22:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 82469, - "nodeType": "ExpressionStatement", - "src": "16605:22:133" - } - ] - } - } - ] - }, - "functionSelector": "82d6a1e7", - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "addStrategyByPoolId", - "nameLocation": "16340:19:133", - "parameters": { - "id": 82439, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 82438, - "mutability": "mutable", - "name": "poolId", - "nameLocation": "16368:6:133", - "nodeType": "VariableDeclaration", - "scope": 82473, - "src": "16360:14:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 82437, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16360:7:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "16359:16:133" - }, - "returnParameters": { - "id": 82440, - "nodeType": "ParameterList", - "parameters": [], - "src": "16383:0:133" - }, - "scope": 83082, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "id": 82486, - "nodeType": "FunctionDefinition", - "src": "16650:120:133", - "nodes": [], - "body": { - "id": 82485, - "nodeType": "Block", - "src": "16700:70:133", - "nodes": [], - "statements": [ - { - "expression": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 82478, - "name": "onlyCouncilSafe", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81357, - "src": "16710:15:133", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$__$", - "typeString": "function () view" - } - }, - "id": 82479, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "16710:17:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 82480, - "nodeType": "ExpressionStatement", - "src": "16710:17:133" - }, - { - "expression": { - "arguments": [ - { - "id": 82482, - "name": "_newStrategy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82475, - "src": "16750:12:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 82481, - "name": "_addStrategy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82510, - "src": "16737:12:133", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", - "typeString": "function (address)" - } - }, - "id": 82483, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "16737:26:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 82484, - "nodeType": "ExpressionStatement", - "src": "16737:26:133" - } - ] - }, - "functionSelector": "223e5479", - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "addStrategy", - "nameLocation": "16659:11:133", - "parameters": { - "id": 82476, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 82475, - "mutability": "mutable", - "name": "_newStrategy", - "nameLocation": "16679:12:133", - "nodeType": "VariableDeclaration", - "scope": 82486, - "src": "16671:20:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 82474, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "16671:7:133", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "16670:22:133" - }, - "returnParameters": { - "id": 82477, - "nodeType": "ParameterList", - "parameters": [], - "src": "16700:0:133" - }, - "scope": 83082, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "id": 82510, - "nodeType": "FunctionDefinition", - "src": "16776:244:133", - "nodes": [], - "body": { - "id": 82509, - "nodeType": "Block", - "src": "16829:191:133", - "nodes": [], - "statements": [ - { - "condition": { - "baseExpression": { - "id": 82491, - "name": "enabledStrategies", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81553, - "src": "16843:17:133", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 82493, - "indexExpression": { - "id": 82492, - "name": "_newStrategy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82488, - "src": "16861:12:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "16843:31:133", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 82498, - "nodeType": "IfStatement", - "src": "16839:85:133", - "trueBody": { - "id": 82497, - "nodeType": "Block", - "src": "16876:48:133", - "statements": [ - { - "errorCall": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 82494, - "name": "StrategyExists", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81453, - "src": "16897:14:133", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 82495, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "16897:16:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 82496, - "nodeType": "RevertStatement", - "src": "16890:23:133" - } - ] - } - }, - { - "expression": { - "id": 82503, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "id": 82499, - "name": "enabledStrategies", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81553, - "src": "16933:17:133", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 82501, - "indexExpression": { - "id": 82500, - "name": "_newStrategy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82488, - "src": "16951:12:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "16933:31:133", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "hexValue": "74727565", - "id": 82502, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "16967:4:133", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "16933:38:133", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 82504, - "nodeType": "ExpressionStatement", - "src": "16933:38:133" - }, - { - "eventCall": { - "arguments": [ - { - "id": 82506, - "name": "_newStrategy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82488, - "src": "17000:12:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 82505, - "name": "StrategyAdded", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81295, - "src": "16986:13:133", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$", - "typeString": "function (address)" - } - }, - "id": 82507, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "16986:27:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 82508, - "nodeType": "EmitStatement", - "src": "16981:32:133" - } - ] - }, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_addStrategy", - "nameLocation": "16785:12:133", - "parameters": { - "id": 82489, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 82488, - "mutability": "mutable", - "name": "_newStrategy", - "nameLocation": "16806:12:133", - "nodeType": "VariableDeclaration", - "scope": 82510, - "src": "16798:20:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 82487, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "16798:7:133", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "16797:22:133" - }, - "returnParameters": { - "id": 82490, - "nodeType": "ParameterList", - "parameters": [], - "src": "16829:0:133" - }, - "scope": 83082, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "id": 82526, - "nodeType": "FunctionDefinition", - "src": "17026:133:133", - "nodes": [], - "body": { - "id": 82525, - "nodeType": "Block", - "src": "17086:73:133", - "nodes": [], - "statements": [ - { - "condition": { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 82520, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 82515, - "name": "_address", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82512, - "src": "17100:8:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "arguments": [ - { - "hexValue": "30", - "id": 82518, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "17120:1:133", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 82517, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "17112:7:133", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 82516, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "17112:7:133", - "typeDescriptions": {} - } - }, - "id": 82519, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "17112:10:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "17100:22:133", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 82524, - "nodeType": "IfStatement", - "src": "17096:56:133", - "trueBody": { - "errorCall": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 82521, - "name": "AddressCannotBeZero", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81437, - "src": "17131:19:133", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 82522, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "17131:21:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 82523, - "nodeType": "RevertStatement", - "src": "17124:28:133" - } - } - ] - }, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_revertZeroAddress", - "nameLocation": "17035:18:133", - "parameters": { - "id": 82513, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 82512, - "mutability": "mutable", - "name": "_address", - "nameLocation": "17062:8:133", - "nodeType": "VariableDeclaration", - "scope": 82526, - "src": "17054:16:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 82511, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "17054:7:133", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "17053:18:133" - }, - "returnParameters": { - "id": 82514, - "nodeType": "ParameterList", - "parameters": [], - "src": "17086:0:133" - }, - "scope": 83082, - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "id": 82554, - "nodeType": "FunctionDefinition", - "src": "17165:229:133", - "nodes": [], - "body": { - "id": 82553, - "nodeType": "Block", - "src": "17220:174:133", - "nodes": [], - "statements": [ - { - "expression": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 82531, - "name": "onlyCouncilSafe", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81357, - "src": "17230:15:133", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$__$", - "typeString": "function () view" - } - }, - "id": 82532, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "17230:17:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 82533, - "nodeType": "ExpressionStatement", - "src": "17230:17:133" - }, - { - "assignments": [ - 82535 - ], - "declarations": [ - { - "constant": false, - "id": 82535, - "mutability": "mutable", - "name": "strategy", - "nameLocation": "17265:8:133", - "nodeType": "VariableDeclaration", - "scope": 82553, - "src": "17257:16:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 82534, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "17257:7:133", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "id": 82544, - "initialValue": { - "arguments": [ - { - "expression": { - "arguments": [ - { - "id": 82540, - "name": "poolId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82528, - "src": "17297:6:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 82538, - "name": "allo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81545, - "src": "17284:4:133", - "typeDescriptions": { - "typeIdentifier": "t_contract$_FAllo_$81222", - "typeString": "contract FAllo" - } - }, - "id": 82539, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "17289:7:133", - "memberName": "getPool", - "nodeType": "MemberAccess", - "referencedDeclaration": 81221, - "src": "17284:12:133", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_struct$_Pool_$2319_memory_ptr_$", - "typeString": "function (uint256) view external returns (struct IAllo.Pool memory)" - } - }, - "id": 82541, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "17284:20:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pool_$2319_memory_ptr", - "typeString": "struct IAllo.Pool memory" - } - }, - "id": 82542, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "17305:8:133", - "memberName": "strategy", - "nodeType": "MemberAccess", - "referencedDeclaration": 2309, - "src": "17284:29:133", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IStrategy_$2969", - "typeString": "contract IStrategy" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_IStrategy_$2969", - "typeString": "contract IStrategy" - } - ], - "id": 82537, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "17276:7:133", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 82536, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "17276:7:133", - "typeDescriptions": {} - } - }, - "id": 82543, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "17276:38:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "17257:57:133" - }, - { - "expression": { - "arguments": [ - { - "id": 82546, - "name": "strategy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82535, - "src": "17343:8:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 82545, - "name": "_revertZeroAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82526, - "src": "17324:18:133", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_address_$returns$__$", - "typeString": "function (address) pure" - } - }, - "id": 82547, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "17324:28:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 82548, - "nodeType": "ExpressionStatement", - "src": "17324:28:133" - }, - { - "expression": { - "arguments": [ - { - "id": 82550, - "name": "strategy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82535, - "src": "17378:8:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 82549, - "name": "_removeStrategy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82574, - "src": "17362:15:133", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", - "typeString": "function (address)" - } - }, - "id": 82551, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "17362:25:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 82552, - "nodeType": "ExpressionStatement", - "src": "17362:25:133" - } - ] - }, - "functionSelector": "73265c37", - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "removeStrategyByPoolId", - "nameLocation": "17174:22:133", - "parameters": { - "id": 82529, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 82528, - "mutability": "mutable", - "name": "poolId", - "nameLocation": "17205:6:133", - "nodeType": "VariableDeclaration", - "scope": 82554, - "src": "17197:14:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 82527, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17197:7:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "17196:16:133" - }, - "returnParameters": { - "id": 82530, - "nodeType": "ParameterList", - "parameters": [], - "src": "17220:0:133" - }, - "scope": 83082, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "id": 82574, - "nodeType": "FunctionDefinition", - "src": "17400:186:133", - "nodes": [], - "body": { - "id": 82573, - "nodeType": "Block", - "src": "17453:133:133", - "nodes": [], - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 82560, - "name": "_strategy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82556, - "src": "17482:9:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 82559, - "name": "_revertZeroAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82526, - "src": "17463:18:133", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_address_$returns$__$", - "typeString": "function (address) pure" - } - }, - "id": 82561, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "17463:29:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 82562, - "nodeType": "ExpressionStatement", - "src": "17463:29:133" - }, - { - "expression": { - "id": 82567, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "id": 82563, - "name": "enabledStrategies", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81553, - "src": "17502:17:133", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 82565, - "indexExpression": { - "id": 82564, - "name": "_strategy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82556, - "src": "17520:9:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "17502:28:133", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "hexValue": "66616c7365", - "id": 82566, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "17533:5:133", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "src": "17502:36:133", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 82568, - "nodeType": "ExpressionStatement", - "src": "17502:36:133" - }, - { - "eventCall": { - "arguments": [ - { - "id": 82570, - "name": "_strategy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82556, - "src": "17569:9:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 82569, - "name": "StrategyRemoved", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81299, - "src": "17553:15:133", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$", - "typeString": "function (address)" - } - }, - "id": 82571, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "17553:26:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 82572, - "nodeType": "EmitStatement", - "src": "17548:31:133" - } - ] - }, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_removeStrategy", - "nameLocation": "17409:15:133", - "parameters": { - "id": 82557, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 82556, - "mutability": "mutable", - "name": "_strategy", - "nameLocation": "17433:9:133", - "nodeType": "VariableDeclaration", - "scope": 82574, - "src": "17425:17:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 82555, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "17425:7:133", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "17424:19:133" - }, - "returnParameters": { - "id": 82558, - "nodeType": "ParameterList", - "parameters": [], - "src": "17453:0:133" - }, - "scope": 83082, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "id": 82587, - "nodeType": "FunctionDefinition", - "src": "17592:120:133", - "nodes": [], - "body": { - "id": 82586, - "nodeType": "Block", - "src": "17642:70:133", - "nodes": [], - "statements": [ - { - "expression": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 82579, - "name": "onlyCouncilSafe", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81357, - "src": "17652:15:133", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$__$", - "typeString": "function () view" - } - }, - "id": 82580, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "17652:17:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 82581, - "nodeType": "ExpressionStatement", - "src": "17652:17:133" - }, - { - "expression": { - "arguments": [ - { - "id": 82583, - "name": "_strategy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82576, - "src": "17695:9:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 82582, - "name": "_removeStrategy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82574, - "src": "17679:15:133", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", - "typeString": "function (address)" - } - }, - "id": 82584, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "17679:26:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 82585, - "nodeType": "ExpressionStatement", - "src": "17679:26:133" - } - ] - }, - "functionSelector": "175188e8", - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "removeStrategy", - "nameLocation": "17601:14:133", - "parameters": { - "id": 82577, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 82576, - "mutability": "mutable", - "name": "_strategy", - "nameLocation": "17624:9:133", - "nodeType": "VariableDeclaration", - "scope": 82587, - "src": "17616:17:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 82575, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "17616:7:133", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "17615:19:133" - }, - "returnParameters": { - "id": 82578, - "nodeType": "ParameterList", - "parameters": [], - "src": "17642:0:133" - }, - "scope": 83082, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "id": 82612, - "nodeType": "FunctionDefinition", - "src": "17718:240:133", - "nodes": [], - "body": { - "id": 82611, - "nodeType": "Block", - "src": "17772:186:133", - "nodes": [], - "statements": [ - { - "expression": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 82592, - "name": "onlyCouncilSafe", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81357, - "src": "17782:15:133", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$__$", - "typeString": "function () view" - } - }, - "id": 82593, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "17782:17:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 82594, - "nodeType": "ExpressionStatement", - "src": "17782:17:133" - }, - { - "expression": { - "arguments": [ - { - "id": 82596, - "name": "_safe", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82589, - "src": "17828:5:133", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 82595, - "name": "_revertZeroAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82526, - "src": "17809:18:133", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_address_$returns$__$", - "typeString": "function (address) pure" - } - }, - "id": 82597, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "17809:25:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 82598, - "nodeType": "ExpressionStatement", - "src": "17809:25:133" - }, - { - "expression": { - "id": 82601, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 82599, - "name": "pendingCouncilSafe", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81533, - "src": "17844:18:133", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 82600, - "name": "_safe", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82589, - "src": "17865:5:133", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "17844:26:133", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "id": 82602, - "nodeType": "ExpressionStatement", - "src": "17844:26:133" - }, - { - "eventCall": { - "arguments": [ - { - "arguments": [ - { - "id": 82606, - "name": "councilSafe", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81542, - "src": "17918:11:133", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ISafe_$85665", - "typeString": "contract ISafe" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_ISafe_$85665", - "typeString": "contract ISafe" - } - ], - "id": 82605, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "17910:7:133", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 82604, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "17910:7:133", - "typeDescriptions": {} - } - }, - "id": 82607, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "17910:20:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 82608, - "name": "pendingCouncilSafe", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81533, - "src": "17932:18:133", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 82603, - "name": "CouncilSafeChangeStarted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81258, - "src": "17885:24:133", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$", - "typeString": "function (address,address)" - } - }, - "id": 82609, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "17885:66:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 82610, - "nodeType": "EmitStatement", - "src": "17880:71:133" - } - ] - }, - "functionSelector": "397e2543", - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "setCouncilSafe", - "nameLocation": "17727:14:133", - "parameters": { - "id": 82590, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 82589, - "mutability": "mutable", - "name": "_safe", - "nameLocation": "17758:5:133", - "nodeType": "VariableDeclaration", - "scope": 82612, - "src": "17742:21:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - "typeName": { - "id": 82588, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "17742:15:133", - "stateMutability": "payable", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "visibility": "internal" - } - ], - "src": "17741:23:133" - }, - "returnParameters": { - "id": 82591, - "nodeType": "ParameterList", - "parameters": [], - "src": "17772:0:133" - }, - "scope": 83082, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "id": 82629, - "nodeType": "FunctionDefinition", - "src": "17964:179:133", - "nodes": [], - "body": { - "id": 82628, - "nodeType": "Block", - "src": "18003:140:133", - "nodes": [], - "statements": [ - { - "expression": { - "id": 82619, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 82615, - "name": "councilSafe", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81542, - "src": "18013:11:133", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ISafe_$85665", - "typeString": "contract ISafe" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "id": 82617, - "name": "pendingCouncilSafe", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81533, - "src": "18033:18:133", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 82616, - "name": "ISafe", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 85665, - "src": "18027:5:133", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ISafe_$85665_$", - "typeString": "type(contract ISafe)" - } - }, - "id": 82618, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "18027:25:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_ISafe_$85665", - "typeString": "contract ISafe" - } - }, - "src": "18013:39:133", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ISafe_$85665", - "typeString": "contract ISafe" - } - }, - "id": 82620, - "nodeType": "ExpressionStatement", - "src": "18013:39:133" - }, - { - "expression": { - "id": 82622, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "delete", - "prefix": true, - "src": "18062:25:133", - "subExpression": { - "id": 82621, - "name": "pendingCouncilSafe", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81533, - "src": "18069:18:133", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 82623, - "nodeType": "ExpressionStatement", - "src": "18062:25:133" - }, - { - "eventCall": { - "arguments": [ - { - "id": 82625, - "name": "pendingCouncilSafe", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81533, - "src": "18117:18:133", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 82624, - "name": "CouncilSafeSet", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81252, - "src": "18102:14:133", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$", - "typeString": "function (address)" - } - }, - "id": 82626, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "18102:34:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 82627, - "nodeType": "EmitStatement", - "src": "18097:39:133" - } - ] - }, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_changeCouncilSafe", - "nameLocation": "17973:18:133", - "parameters": { - "id": 82613, - "nodeType": "ParameterList", - "parameters": [], - "src": "17991:2:133" - }, - "returnParameters": { - "id": 82614, - "nodeType": "ParameterList", - "parameters": [], - "src": "18003:0:133" - }, - "scope": 83082, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "id": 82645, - "nodeType": "FunctionDefinition", - "src": "18149:171:133", - "nodes": [], - "body": { - "id": 82644, - "nodeType": "Block", - "src": "18185:135:133", - "nodes": [], - "statements": [ - { - "condition": { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 82635, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 82632, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "18199:3:133", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 82633, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "18203:6:133", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "18199:10:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "id": 82634, - "name": "pendingCouncilSafe", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81533, - "src": "18213:18:133", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "18199:32:133", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 82640, - "nodeType": "IfStatement", - "src": "18195:89:133", - "trueBody": { - "id": 82639, - "nodeType": "Block", - "src": "18233:51:133", - "statements": [ - { - "errorCall": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 82636, - "name": "SenderNotNewOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81457, - "src": "18254:17:133", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 82637, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "18254:19:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 82638, - "nodeType": "RevertStatement", - "src": "18247:26:133" - } - ] - } - }, - { - "expression": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 82641, - "name": "_changeCouncilSafe", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82629, - "src": "18293:18:133", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", - "typeString": "function ()" - } - }, - "id": 82642, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "18293:20:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 82643, - "nodeType": "ExpressionStatement", - "src": "18293:20:133" - } - ] - }, - "functionSelector": "b5058c50", - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "acceptCouncilSafe", - "nameLocation": "18158:17:133", - "parameters": { - "id": 82630, - "nodeType": "ParameterList", - "parameters": [], - "src": "18175:2:133" - }, - "returnParameters": { - "id": 82631, - "nodeType": "ParameterList", - "parameters": [], - "src": "18185:0:133" - }, - "scope": 83082, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "id": 82663, - "nodeType": "FunctionDefinition", - "src": "18326:182:133", - "nodes": [], - "body": { - "id": 82662, - "nodeType": "Block", - "src": "18398:110:133", - "nodes": [], - "statements": [ - { - "assignments": [ - 82654 - ], - "declarations": [ - { - "constant": false, - "id": 82654, - "mutability": "mutable", - "name": "newMember", - "nameLocation": "18422:9:133", - "nodeType": "VariableDeclaration", - "scope": 82662, - "src": "18408:23:133", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Member_$81482_memory_ptr", - "typeString": "struct RegistryCommunity.Member" - }, - "typeName": { - "id": 82653, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 82652, - "name": "Member", - "nameLocations": [ - "18408:6:133" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 81482, - "src": "18408:6:133" - }, - "referencedDeclaration": 81482, - "src": "18408:6:133", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Member_$81482_storage_ptr", - "typeString": "struct RegistryCommunity.Member" - } - }, - "visibility": "internal" - } - ], - "id": 82658, - "initialValue": { - "baseExpression": { - "id": 82655, - "name": "addressToMemberInfo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81564, - "src": "18434:19:133", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Member_$81482_storage_$", - "typeString": "mapping(address => struct RegistryCommunity.Member storage ref)" - } - }, - "id": 82657, - "indexExpression": { - "id": 82656, - "name": "_member", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82647, - "src": "18454:7:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "18434:28:133", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Member_$81482_storage", - "typeString": "struct RegistryCommunity.Member storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "18408:54:133" - }, - { - "expression": { - "expression": { - "id": 82659, - "name": "newMember", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82654, - "src": "18479:9:133", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Member_$81482_memory_ptr", - "typeString": "struct RegistryCommunity.Member memory" - } - }, - "id": 82660, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "18489:12:133", - "memberName": "isRegistered", - "nodeType": "MemberAccess", - "referencedDeclaration": 81481, - "src": "18479:22:133", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 82651, - "id": 82661, - "nodeType": "Return", - "src": "18472:29:133" - } - ] - }, - "functionSelector": "a230c524", - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "isMember", - "nameLocation": "18335:8:133", - "parameters": { - "id": 82648, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 82647, - "mutability": "mutable", - "name": "_member", - "nameLocation": "18352:7:133", - "nodeType": "VariableDeclaration", - "scope": 82663, - "src": "18344:15:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 82646, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "18344:7:133", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "18343:17:133" - }, - "returnParameters": { - "id": 82651, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 82650, - "mutability": "mutable", - "name": "_isMember", - "nameLocation": "18387:9:133", - "nodeType": "VariableDeclaration", - "scope": 82663, - "src": "18382:14:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 82649, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "18382:4:133", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "18381:16:133" - }, - "scope": 83082, - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "id": 82822, - "nodeType": "FunctionDefinition", - "src": "18514:1907:133", - "nodes": [], - "body": { - "id": 82821, - "nodeType": "Block", - "src": "18568:1853:133", - "nodes": [], - "statements": [ - { - "assignments": [ - 82669 - ], - "declarations": [ - { - "constant": false, - "id": 82669, - "mutability": "mutable", - "name": "_member", - "nameLocation": "18586:7:133", - "nodeType": "VariableDeclaration", - "scope": 82821, - "src": "18578:15:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 82668, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "18578:7:133", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "id": 82672, - "initialValue": { - "expression": { - "id": 82670, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "18596:3:133", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 82671, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "18600:6:133", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "18596:10:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "18578:28:133" - }, - { - "assignments": [ - 82675 - ], - "declarations": [ - { - "constant": false, - "id": 82675, - "mutability": "mutable", - "name": "newMember", - "nameLocation": "18631:9:133", - "nodeType": "VariableDeclaration", - "scope": 82821, - "src": "18616:24:133", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Member_$81482_storage_ptr", - "typeString": "struct RegistryCommunity.Member" - }, - "typeName": { - "id": 82674, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 82673, - "name": "Member", - "nameLocations": [ - "18616:6:133" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 81482, - "src": "18616:6:133" - }, - "referencedDeclaration": 81482, - "src": "18616:6:133", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Member_$81482_storage_ptr", - "typeString": "struct RegistryCommunity.Member" - } - }, - "visibility": "internal" - } - ], - "id": 82679, - "initialValue": { - "baseExpression": { - "id": 82676, - "name": "addressToMemberInfo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81564, - "src": "18643:19:133", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Member_$81482_storage_$", - "typeString": "mapping(address => struct RegistryCommunity.Member storage ref)" - } - }, - "id": 82678, - "indexExpression": { - "id": 82677, - "name": "_member", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82669, - "src": "18663:7:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "18643:28:133", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Member_$81482_storage", - "typeString": "struct RegistryCommunity.Member storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "18616:55:133" - }, - { - "assignments": [ - 82682 - ], - "declarations": [ - { - "constant": false, - "id": 82682, - "mutability": "mutable", - "name": "gardensFactory", - "nameLocation": "18697:14:133", - "nodeType": "VariableDeclaration", - "scope": 82821, - "src": "18681:30:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_RegistryFactory_$85283", - "typeString": "contract RegistryFactory" - }, - "typeName": { - "id": 82681, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 82680, - "name": "RegistryFactory", - "nameLocations": [ - "18681:15:133" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 85283, - "src": "18681:15:133" - }, - "referencedDeclaration": 85283, - "src": "18681:15:133", - "typeDescriptions": { - "typeIdentifier": "t_contract$_RegistryFactory_$85283", - "typeString": "contract RegistryFactory" - } - }, - "visibility": "internal" - } - ], - "id": 82686, - "initialValue": { - "arguments": [ - { - "id": 82684, - "name": "registryFactory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81527, - "src": "18730:15:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 82683, - "name": "RegistryFactory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 85283, - "src": "18714:15:133", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_RegistryFactory_$85283_$", - "typeString": "type(contract RegistryFactory)" - } - }, - "id": 82685, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "18714:32:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_RegistryFactory_$85283", - "typeString": "contract RegistryFactory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "18681:65:133" - }, - { - "assignments": [ - 82688 - ], - "declarations": [ - { - "constant": false, - "id": 82688, - "mutability": "mutable", - "name": "communityFeeAmount", - "nameLocation": "18764:18:133", - "nodeType": "VariableDeclaration", - "scope": 82821, - "src": "18756:26:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 82687, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "18756:7:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 82698, - "initialValue": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 82697, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 82691, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 82689, - "name": "registerStakeAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81519, - "src": "18786:19:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "id": 82690, - "name": "communityFee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81521, - "src": "18808:12:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "18786:34:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 82692, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "18785:36:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 82695, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "hexValue": "313030", - "id": 82693, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18825:3:133", - "typeDescriptions": { - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - }, - "value": "100" - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "id": 82694, - "name": "PRECISION_SCALE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81583, - "src": "18831:15:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "18825:21:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 82696, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "18824:23:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "18785:62:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "18756:91:133" - }, - { - "assignments": [ - 82700 - ], - "declarations": [ - { - "constant": false, - "id": 82700, - "mutability": "mutable", - "name": "gardensFeeAmount", - "nameLocation": "18865:16:133", - "nodeType": "VariableDeclaration", - "scope": 82821, - "src": "18857:24:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 82699, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "18857:7:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 82716, - "initialValue": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 82715, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 82709, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 82701, - "name": "registerStakeAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81519, - "src": "18897:19:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "arguments": [ - { - "arguments": [ - { - "id": 82706, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "18957:4:133", - "typeDescriptions": { - "typeIdentifier": "t_contract$_RegistryCommunity_$83082", - "typeString": "contract RegistryCommunity" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_RegistryCommunity_$83082", - "typeString": "contract RegistryCommunity" - } - ], - "id": 82705, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "18949:7:133", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 82704, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "18949:7:133", - "typeDescriptions": {} - } - }, - "id": 82707, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "18949:13:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "id": 82702, - "name": "gardensFactory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82682, - "src": "18919:14:133", - "typeDescriptions": { - "typeIdentifier": "t_contract$_RegistryFactory_$85283", - "typeString": "contract RegistryFactory" - } - }, - "id": 82703, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "18934:14:133", - "memberName": "getProtocolFee", - "nodeType": "MemberAccess", - "referencedDeclaration": 85282, - "src": "18919:29:133", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 82708, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "18919:44:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "18897:66:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 82710, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "18896:68:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 82713, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "hexValue": "313030", - "id": 82711, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18968:3:133", - "typeDescriptions": { - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - }, - "value": "100" - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "id": 82712, - "name": "PRECISION_SCALE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81583, - "src": "18974:15:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "18968:21:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 82714, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "18967:23:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "18896:94:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "18857:133:133" - }, - { - "condition": { - "id": 82720, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "19004:18:133", - "subExpression": { - "arguments": [ - { - "id": 82718, - "name": "_member", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82669, - "src": "19014:7:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 82717, - "name": "isMember", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82663, - "src": "19005:8:133", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", - "typeString": "function (address) view returns (bool)" - } - }, - "id": 82719, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "19005:17:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 82820, - "nodeType": "IfStatement", - "src": "19000:1415:133", - "trueBody": { - "id": 82819, - "nodeType": "Block", - "src": "19024:1391:133", - "statements": [ - { - "expression": { - "id": 82725, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "expression": { - "id": 82721, - "name": "newMember", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82675, - "src": "19038:9:133", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Member_$81482_storage_ptr", - "typeString": "struct RegistryCommunity.Member storage pointer" - } - }, - "id": 82723, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberLocation": "19048:12:133", - "memberName": "isRegistered", - "nodeType": "MemberAccess", - "referencedDeclaration": 81481, - "src": "19038:22:133", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "hexValue": "74727565", - "id": 82724, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "19063:4:133", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "19038:29:133", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 82726, - "nodeType": "ExpressionStatement", - "src": "19038:29:133" - }, - { - "expression": { - "id": 82731, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "expression": { - "id": 82727, - "name": "newMember", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82675, - "src": "19082:9:133", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Member_$81482_storage_ptr", - "typeString": "struct RegistryCommunity.Member storage pointer" - } - }, - "id": 82729, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberLocation": "19092:12:133", - "memberName": "stakedAmount", - "nodeType": "MemberAccess", - "referencedDeclaration": 81479, - "src": "19082:22:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 82730, - "name": "registerStakeAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81519, - "src": "19107:19:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "19082:44:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 82732, - "nodeType": "ExpressionStatement", - "src": "19082:44:133" - }, - { - "expression": { - "arguments": [ - { - "hexValue": "67617264656e546f6b656e", - "id": 82736, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "19224:13:133", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_b6b24c50b8ec3de451e1d7969209d38d6bc12dc5d1266588ab0e293c9a1b753a", - "typeString": "literal_string \"gardenToken\"" - }, - "value": "gardenToken" - }, - { - "arguments": [ - { - "id": 82739, - "name": "gardenToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81539, - "src": "19247:11:133", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$57069", - "typeString": "contract IERC20" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_IERC20_$57069", - "typeString": "contract IERC20" - } - ], - "id": 82738, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "19239:7:133", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 82737, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "19239:7:133", - "typeDescriptions": {} - } - }, - "id": 82740, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "19239:20:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_b6b24c50b8ec3de451e1d7969209d38d6bc12dc5d1266588ab0e293c9a1b753a", - "typeString": "literal_string \"gardenToken\"" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "id": 82733, - "name": "console", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29549, - "src": "19212:7:133", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_console_$29549_$", - "typeString": "type(library console)" - } - }, - "id": 82735, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "19220:3:133", - "memberName": "log", - "nodeType": "MemberAccess", - "referencedDeclaration": 22244, - "src": "19212:11:133", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_string_memory_ptr_$_t_address_$returns$__$", - "typeString": "function (string memory,address) view" - } - }, - "id": 82741, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "19212:48:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 82742, - "nodeType": "ExpressionStatement", - "src": "19212:48:133" - }, - { - "expression": { - "arguments": [ - { - "id": 82746, - "name": "_member", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82669, - "src": "19321:7:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "arguments": [ - { - "id": 82749, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "19338:4:133", - "typeDescriptions": { - "typeIdentifier": "t_contract$_RegistryCommunity_$83082", - "typeString": "contract RegistryCommunity" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_RegistryCommunity_$83082", - "typeString": "contract RegistryCommunity" - } - ], - "id": 82748, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "19330:7:133", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 82747, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "19330:7:133", - "typeDescriptions": {} - } - }, - "id": 82750, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "19330:13:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 82755, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 82753, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 82751, - "name": "registerStakeAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81519, - "src": "19345:19:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "id": 82752, - "name": "communityFeeAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82688, - "src": "19367:18:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "19345:40:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "id": 82754, - "name": "gardensFeeAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82700, - "src": "19388:16:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "19345:59:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 82743, - "name": "gardenToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81539, - "src": "19275:11:133", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$57069", - "typeString": "contract IERC20" - } - }, - "id": 82745, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "19287:16:133", - "memberName": "safeTransferFrom", - "nodeType": "MemberAccess", - "referencedDeclaration": 57190, - "src": "19275:28:133", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IERC20_$57069_$_t_address_$_t_address_$_t_uint256_$returns$__$attached_to$_t_contract$_IERC20_$57069_$", - "typeString": "function (contract IERC20,address,address,uint256)" - } - }, - "id": 82756, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "19275:143:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 82757, - "nodeType": "ExpressionStatement", - "src": "19275:143:133" - }, - { - "expression": { - "arguments": [ - { - "hexValue": "636f6d6d756e697479466565416d6f756e74", - "id": 82761, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "19781:20:133", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_415492b98adc161fabebd8057944f6684f9fd452571affd947805630e42af66a", - "typeString": "literal_string \"communityFeeAmount\"" - }, - "value": "communityFeeAmount" - }, - { - "id": 82762, - "name": "communityFeeAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82688, - "src": "19803:18:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_415492b98adc161fabebd8057944f6684f9fd452571affd947805630e42af66a", - "typeString": "literal_string \"communityFeeAmount\"" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 82758, - "name": "console", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29549, - "src": "19769:7:133", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_console_$29549_$", - "typeString": "type(library console)" - } - }, - "id": 82760, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "19777:3:133", - "memberName": "log", - "nodeType": "MemberAccess", - "referencedDeclaration": 22193, - "src": "19769:11:133", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$", - "typeString": "function (string memory,uint256) view" - } - }, - "id": 82763, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "19769:53:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 82764, - "nodeType": "ExpressionStatement", - "src": "19769:53:133" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 82767, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 82765, - "name": "communityFeeAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82688, - "src": "19840:18:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "hexValue": "30", - "id": 82766, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "19861:1:133", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "19840:22:133", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 82783, - "nodeType": "IfStatement", - "src": "19836:175:133", - "trueBody": { - "id": 82782, - "nodeType": "Block", - "src": "19864:147:133", - "statements": [ - { - "expression": { - "arguments": [ - { - "hexValue": "6665655265636569766572", - "id": 82771, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "19894:13:133", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_389e7cbf003e878980985f1a72c90dbe5b79c41a44fb160ac26b4fef395d0916", - "typeString": "literal_string \"feeReceiver\"" - }, - "value": "feeReceiver" - }, - { - "id": 82772, - "name": "feeReceiver", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81525, - "src": "19909:11:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_389e7cbf003e878980985f1a72c90dbe5b79c41a44fb160ac26b4fef395d0916", - "typeString": "literal_string \"feeReceiver\"" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "id": 82768, - "name": "console", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29549, - "src": "19882:7:133", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_console_$29549_$", - "typeString": "type(library console)" - } - }, - "id": 82770, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "19890:3:133", - "memberName": "log", - "nodeType": "MemberAccess", - "referencedDeclaration": 22244, - "src": "19882:11:133", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_string_memory_ptr_$_t_address_$returns$__$", - "typeString": "function (string memory,address) view" - } - }, - "id": 82773, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "19882:39:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 82774, - "nodeType": "ExpressionStatement", - "src": "19882:39:133" - }, - { - "expression": { - "arguments": [ - { - "id": 82778, - "name": "feeReceiver", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81525, - "src": "19964:11:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 82779, - "name": "communityFeeAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82688, - "src": "19977:18:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 82775, - "name": "gardenToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81539, - "src": "19939:11:133", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$57069", - "typeString": "contract IERC20" - } - }, - "id": 82777, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "19951:12:133", - "memberName": "safeTransfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 57163, - "src": "19939:24:133", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IERC20_$57069_$_t_address_$_t_uint256_$returns$__$attached_to$_t_contract$_IERC20_$57069_$", - "typeString": "function (contract IERC20,address,uint256)" - } - }, - "id": 82780, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "19939:57:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 82781, - "nodeType": "ExpressionStatement", - "src": "19939:57:133" - } - ] - } - }, - { - "expression": { - "arguments": [ - { - "hexValue": "67617264656e73466565416d6f756e74", - "id": 82787, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20036:18:133", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_da8763bbba0536c18d8861cb49d3bb999157cbcc3d98d4bc78b4c3f620189681", - "typeString": "literal_string \"gardensFeeAmount\"" - }, - "value": "gardensFeeAmount" - }, - { - "id": 82788, - "name": "gardensFeeAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82700, - "src": "20056:16:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_da8763bbba0536c18d8861cb49d3bb999157cbcc3d98d4bc78b4c3f620189681", - "typeString": "literal_string \"gardensFeeAmount\"" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 82784, - "name": "console", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29549, - "src": "20024:7:133", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_console_$29549_$", - "typeString": "type(library console)" - } - }, - "id": 82786, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "20032:3:133", - "memberName": "log", - "nodeType": "MemberAccess", - "referencedDeclaration": 22193, - "src": "20024:11:133", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$", - "typeString": "function (string memory,uint256) view" - } - }, - "id": 82789, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "20024:49:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 82790, - "nodeType": "ExpressionStatement", - "src": "20024:49:133" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 82793, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 82791, - "name": "gardensFeeAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82700, - "src": "20091:16:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "hexValue": "30", - "id": 82792, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20110:1:133", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "20091:20:133", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 82813, - "nodeType": "IfStatement", - "src": "20087:252:133", - "trueBody": { - "id": 82812, - "nodeType": "Block", - "src": "20113:226:133", - "statements": [ - { - "expression": { - "arguments": [ - { - "hexValue": "67617264656e73466163746f72792e67657447617264656e7346656552656365697665722829", - "id": 82797, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20143:40:133", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_52073e8ed84f6dfe673a411cc23bb08f06da5bbdad4d391c0e8d90fc482c379a", - "typeString": "literal_string \"gardensFactory.getGardensFeeReceiver()\"" - }, - "value": "gardensFactory.getGardensFeeReceiver()" - }, - { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "id": 82798, - "name": "gardensFactory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82682, - "src": "20185:14:133", - "typeDescriptions": { - "typeIdentifier": "t_contract$_RegistryFactory_$85283", - "typeString": "contract RegistryFactory" - } - }, - "id": 82799, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "20200:21:133", - "memberName": "getGardensFeeReceiver", - "nodeType": "MemberAccess", - "referencedDeclaration": 85201, - "src": "20185:36:133", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", - "typeString": "function () view external returns (address)" - } - }, - "id": 82800, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "20185:38:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_52073e8ed84f6dfe673a411cc23bb08f06da5bbdad4d391c0e8d90fc482c379a", - "typeString": "literal_string \"gardensFactory.getGardensFeeReceiver()\"" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "id": 82794, - "name": "console", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 29549, - "src": "20131:7:133", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_console_$29549_$", - "typeString": "type(library console)" - } - }, - "id": 82796, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "20139:3:133", - "memberName": "log", - "nodeType": "MemberAccess", - "referencedDeclaration": 22244, - "src": "20131:11:133", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_string_memory_ptr_$_t_address_$returns$__$", - "typeString": "function (string memory,address) view" - } - }, - "id": 82801, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "20131:93:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 82802, - "nodeType": "ExpressionStatement", - "src": "20131:93:133" - }, - { - "expression": { - "arguments": [ - { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "id": 82806, - "name": "gardensFactory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82682, - "src": "20267:14:133", - "typeDescriptions": { - "typeIdentifier": "t_contract$_RegistryFactory_$85283", - "typeString": "contract RegistryFactory" - } - }, - "id": 82807, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "20282:21:133", - "memberName": "getGardensFeeReceiver", - "nodeType": "MemberAccess", - "referencedDeclaration": 85201, - "src": "20267:36:133", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", - "typeString": "function () view external returns (address)" - } - }, - "id": 82808, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "20267:38:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 82809, - "name": "gardensFeeAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82700, - "src": "20307:16:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 82803, - "name": "gardenToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81539, - "src": "20242:11:133", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$57069", - "typeString": "contract IERC20" - } - }, - "id": 82805, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "20254:12:133", - "memberName": "safeTransfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 57163, - "src": "20242:24:133", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IERC20_$57069_$_t_address_$_t_uint256_$returns$__$attached_to$_t_contract$_IERC20_$57069_$", - "typeString": "function (contract IERC20,address,uint256)" - } - }, - "id": 82810, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "20242:82:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 82811, - "nodeType": "ExpressionStatement", - "src": "20242:82:133" - } - ] - } - }, - { - "eventCall": { - "arguments": [ - { - "id": 82815, - "name": "_member", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82669, - "src": "20375:7:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 82816, - "name": "registerStakeAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81519, - "src": "20384:19:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 82814, - "name": "MemberRegistered", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81264, - "src": "20358:16:133", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 82817, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "20358:46:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 82818, - "nodeType": "EmitStatement", - "src": "20353:51:133" - } - ] - } - } - ] - }, - "functionSelector": "3517aa7d", - "implemented": true, - "kind": "function", - "modifiers": [ - { - "id": 82666, - "kind": "modifierInvocation", - "modifierName": { - "id": 82665, - "name": "nonReentrant", - "nameLocations": [ - "18555:12:133" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 56243, - "src": "18555:12:133" - }, - "nodeType": "ModifierInvocation", - "src": "18555:12:133" - } - ], - "name": "stakeAndRegisterMember", - "nameLocation": "18523:22:133", - "parameters": { - "id": 82664, - "nodeType": "ParameterList", - "parameters": [], - "src": "18545:2:133" - }, - "returnParameters": { - "id": 82667, - "nodeType": "ParameterList", - "parameters": [], - "src": "18568:0:133" - }, - "scope": 83082, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "id": 82871, - "nodeType": "FunctionDefinition", - "src": "20427:467:133", - "nodes": [], - "body": { - "id": 82870, - "nodeType": "Block", - "src": "20491:403:133", - "nodes": [], - "statements": [ - { - "assignments": [ - 82829 - ], - "declarations": [ - { - "constant": false, - "id": 82829, - "mutability": "mutable", - "name": "gardensFactory", - "nameLocation": "20517:14:133", - "nodeType": "VariableDeclaration", - "scope": 82870, - "src": "20501:30:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_RegistryFactory_$85283", - "typeString": "contract RegistryFactory" - }, - "typeName": { - "id": 82828, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 82827, - "name": "RegistryFactory", - "nameLocations": [ - "20501:15:133" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 85283, - "src": "20501:15:133" - }, - "referencedDeclaration": 85283, - "src": "20501:15:133", - "typeDescriptions": { - "typeIdentifier": "t_contract$_RegistryFactory_$85283", - "typeString": "contract RegistryFactory" - } - }, - "visibility": "internal" - } - ], - "id": 82833, - "initialValue": { - "arguments": [ - { - "id": 82831, - "name": "registryFactory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81527, - "src": "20550:15:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 82830, - "name": "RegistryFactory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 85283, - "src": "20534:15:133", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_RegistryFactory_$85283_$", - "typeString": "type(contract RegistryFactory)" - } - }, - "id": 82832, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "20534:32:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_RegistryFactory_$85283", - "typeString": "contract RegistryFactory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "20501:65:133" - }, - { - "assignments": [ - 82835 - ], - "declarations": [ - { - "constant": false, - "id": 82835, - "mutability": "mutable", - "name": "communityFeeAmount", - "nameLocation": "20584:18:133", - "nodeType": "VariableDeclaration", - "scope": 82870, - "src": "20576:26:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 82834, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "20576:7:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 82845, - "initialValue": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 82844, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 82838, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 82836, - "name": "registerStakeAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81519, - "src": "20606:19:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "id": 82837, - "name": "communityFee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81521, - "src": "20628:12:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20606:34:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 82839, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "20605:36:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 82842, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "hexValue": "313030", - "id": 82840, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20645:3:133", - "typeDescriptions": { - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - }, - "value": "100" - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "id": 82841, - "name": "PRECISION_SCALE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81583, - "src": "20651:15:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20645:21:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 82843, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "20644:23:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20605:62:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "20576:91:133" - }, - { - "assignments": [ - 82847 - ], - "declarations": [ - { - "constant": false, - "id": 82847, - "mutability": "mutable", - "name": "gardensFeeAmount", - "nameLocation": "20685:16:133", - "nodeType": "VariableDeclaration", - "scope": 82870, - "src": "20677:24:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 82846, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "20677:7:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 82863, - "initialValue": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 82862, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 82856, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 82848, - "name": "registerStakeAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81519, - "src": "20717:19:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "arguments": [ - { - "arguments": [ - { - "id": 82853, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "20777:4:133", - "typeDescriptions": { - "typeIdentifier": "t_contract$_RegistryCommunity_$83082", - "typeString": "contract RegistryCommunity" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_RegistryCommunity_$83082", - "typeString": "contract RegistryCommunity" - } - ], - "id": 82852, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "20769:7:133", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 82851, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "20769:7:133", - "typeDescriptions": {} - } - }, - "id": 82854, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "20769:13:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "id": 82849, - "name": "gardensFactory", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82829, - "src": "20739:14:133", - "typeDescriptions": { - "typeIdentifier": "t_contract$_RegistryFactory_$85283", - "typeString": "contract RegistryFactory" - } - }, - "id": 82850, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "20754:14:133", - "memberName": "getProtocolFee", - "nodeType": "MemberAccess", - "referencedDeclaration": 85282, - "src": "20739:29:133", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 82855, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "20739:44:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20717:66:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 82857, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "20716:68:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 82860, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "hexValue": "313030", - "id": 82858, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20788:3:133", - "typeDescriptions": { - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - }, - "value": "100" - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "id": 82859, - "name": "PRECISION_SCALE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81583, - "src": "20794:15:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20788:21:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 82861, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "20787:23:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20716:94:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "20677:133:133" - }, - { - "expression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 82868, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 82866, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 82864, - "name": "registerStakeAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81519, - "src": "20828:19:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "id": 82865, - "name": "communityFeeAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82835, - "src": "20850:18:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20828:40:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "id": 82867, - "name": "gardensFeeAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82847, - "src": "20871:16:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20828:59:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 82826, - "id": 82869, - "nodeType": "Return", - "src": "20821:66:133" - } - ] - }, - "functionSelector": "28c309e9", - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getStakeAmountWithFees", - "nameLocation": "20436:22:133", - "parameters": { - "id": 82823, - "nodeType": "ParameterList", - "parameters": [], - "src": "20458:2:133" - }, - "returnParameters": { - "id": 82826, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 82825, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 82871, - "src": "20482:7:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 82824, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "20482:7:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "20481:9:133" - }, - "scope": 83082, - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "id": 82879, - "nodeType": "FunctionDefinition", - "src": "20900:107:133", - "nodes": [], - "body": { - "id": 82878, - "nodeType": "Block", - "src": "20964:43:133", - "nodes": [], - "statements": [ - { - "expression": { - "id": 82876, - "name": "registerStakeAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81519, - "src": "20981:19:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 82875, - "id": 82877, - "nodeType": "Return", - "src": "20974:26:133" - } - ] - }, - "functionSelector": "0331383c", - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getBasisStakedAmount", - "nameLocation": "20909:20:133", - "parameters": { - "id": 82872, - "nodeType": "ParameterList", - "parameters": [], - "src": "20929:2:133" - }, - "returnParameters": { - "id": 82875, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 82874, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 82879, - "src": "20955:7:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 82873, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "20955:7:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "20954:9:133" - }, - "scope": 83082, - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "id": 82896, - "nodeType": "FunctionDefinition", - "src": "21013:182:133", - "nodes": [], - "body": { - "id": 82895, - "nodeType": "Block", - "src": "21072:123:133", - "nodes": [], - "statements": [ - { - "expression": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 82884, - "name": "onlyCouncilSafe", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81357, - "src": "21082:15:133", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$__$", - "typeString": "function () view" - } - }, - "id": 82885, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "21082:17:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 82886, - "nodeType": "ExpressionStatement", - "src": "21082:17:133" - }, - { - "expression": { - "id": 82889, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 82887, - "name": "registerStakeAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81519, - "src": "21109:19:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 82888, - "name": "_newAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82881, - "src": "21131:10:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "21109:32:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 82890, - "nodeType": "ExpressionStatement", - "src": "21109:32:133" - }, - { - "eventCall": { - "arguments": [ - { - "id": 82892, - "name": "_newAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82881, - "src": "21177:10:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 82891, - "name": "BasisStakedAmountSet", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81317, - "src": "21156:20:133", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 82893, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "21156:32:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 82894, - "nodeType": "EmitStatement", - "src": "21151:37:133" - } - ] - }, - "functionSelector": "31f61bca", - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "setBasisStakedAmount", - "nameLocation": "21022:20:133", - "parameters": { - "id": 82882, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 82881, - "mutability": "mutable", - "name": "_newAmount", - "nameLocation": "21051:10:133", - "nodeType": "VariableDeclaration", - "scope": 82896, - "src": "21043:18:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 82880, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "21043:7:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "21042:20:133" - }, - "returnParameters": { - "id": 82883, - "nodeType": "ParameterList", - "parameters": [], - "src": "21072:0:133" - }, - "scope": 83082, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "id": 82921, - "nodeType": "FunctionDefinition", - "src": "21201:280:133", - "nodes": [], - "body": { - "id": 82920, - "nodeType": "Block", - "src": "21259:222:133", - "nodes": [], - "statements": [ - { - "expression": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 82901, - "name": "onlyCouncilSafe", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81357, - "src": "21269:15:133", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$__$", - "typeString": "function () view" - } - }, - "id": 82902, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "21269:17:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 82903, - "nodeType": "ExpressionStatement", - "src": "21269:17:133" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 82906, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 82904, - "name": "_newCommunityFee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82898, - "src": "21300:16:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "id": 82905, - "name": "MAX_FEE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81588, - "src": "21319:7:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "21300:26:133", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 82911, - "nodeType": "IfStatement", - "src": "21296:86:133", - "trueBody": { - "id": 82910, - "nodeType": "Block", - "src": "21328:54:133", - "statements": [ - { - "errorCall": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 82907, - "name": "NewFeeGreaterThanMax", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81463, - "src": "21349:20:133", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 82908, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "21349:22:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 82909, - "nodeType": "RevertStatement", - "src": "21342:29:133" - } - ] - } - }, - { - "expression": { - "id": 82914, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 82912, - "name": "communityFee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81521, - "src": "21391:12:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 82913, - "name": "_newCommunityFee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82898, - "src": "21406:16:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "21391:31:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 82915, - "nodeType": "ExpressionStatement", - "src": "21391:31:133" - }, - { - "eventCall": { - "arguments": [ - { - "id": 82917, - "name": "_newCommunityFee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82898, - "src": "21457:16:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 82916, - "name": "CommunityFeeUpdated", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81282, - "src": "21437:19:133", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 82918, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "21437:37:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 82919, - "nodeType": "EmitStatement", - "src": "21432:42:133" - } - ] - }, - "functionSelector": "0d12bbdb", - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "setCommunityFee", - "nameLocation": "21210:15:133", - "parameters": { - "id": 82899, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 82898, - "mutability": "mutable", - "name": "_newCommunityFee", - "nameLocation": "21234:16:133", - "nodeType": "VariableDeclaration", - "scope": 82921, - "src": "21226:24:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 82897, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "21226:7:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "21225:26:133" - }, - "returnParameters": { - "id": 82900, - "nodeType": "ParameterList", - "parameters": [], - "src": "21259:0:133" - }, - "scope": 83082, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "id": 82934, - "nodeType": "FunctionDefinition", - "src": "21523:132:133", - "nodes": [], - "body": { - "id": 82933, - "nodeType": "Block", - "src": "21592:63:133", - "nodes": [], - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 82929, - "name": "COUNCIL_MEMBER_CHANGE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81244, - "src": "21617:21:133", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "id": 82930, - "name": "_member", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82923, - "src": "21640:7:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 82928, - "name": "hasRole", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 55072, - "src": "21609:7:133", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$", - "typeString": "function (bytes32,address) view returns (bool)" - } - }, - "id": 82931, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "21609:39:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 82927, - "id": 82932, - "nodeType": "Return", - "src": "21602:46:133" - } - ] - }, - "functionSelector": "ebd7dc52", - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "isCouncilMember", - "nameLocation": "21532:15:133", - "parameters": { - "id": 82924, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 82923, - "mutability": "mutable", - "name": "_member", - "nameLocation": "21556:7:133", - "nodeType": "VariableDeclaration", - "scope": 82934, - "src": "21548:15:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 82922, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "21548:7:133", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "21547:17:133" - }, - "returnParameters": { - "id": 82927, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 82926, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 82934, - "src": "21586:4:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 82925, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "21586:4:133", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "21585:6:133" - }, - "scope": 83082, - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "id": 82984, - "nodeType": "FunctionDefinition", - "src": "21661:453:133", - "nodes": [], - "body": { - "id": 82983, - "nodeType": "Block", - "src": "21709:405:133", - "nodes": [], - "statements": [ - { - "assignments": [ - 82940 - ], - "declarations": [ - { - "constant": false, - "id": 82940, - "mutability": "mutable", - "name": "_member", - "nameLocation": "21727:7:133", - "nodeType": "VariableDeclaration", - "scope": 82983, - "src": "21719:15:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 82939, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "21719:7:133", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "id": 82943, - "initialValue": { - "expression": { - "id": 82941, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "21737:3:133", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 82942, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "21741:6:133", - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "21737:10:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "21719:28:133" - }, - { - "expression": { - "arguments": [ - { - "id": 82945, - "name": "_member", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82940, - "src": "21783:7:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 82944, - "name": "onlyRegistryMemberAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81386, - "src": "21757:25:133", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$__$", - "typeString": "function (address) view" - } - }, - "id": 82946, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "21757:34:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 82947, - "nodeType": "ExpressionStatement", - "src": "21757:34:133" - }, - { - "expression": { - "arguments": [ - { - "id": 82949, - "name": "_member", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82940, - "src": "21825:7:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 82948, - "name": "deactivateAllStrategies", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 83021, - "src": "21801:23:133", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", - "typeString": "function (address)" - } - }, - "id": 82950, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "21801:32:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 82951, - "nodeType": "ExpressionStatement", - "src": "21801:32:133" - }, - { - "assignments": [ - 82954 - ], - "declarations": [ - { - "constant": false, - "id": 82954, - "mutability": "mutable", - "name": "member", - "nameLocation": "21857:6:133", - "nodeType": "VariableDeclaration", - "scope": 82983, - "src": "21843:20:133", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Member_$81482_memory_ptr", - "typeString": "struct RegistryCommunity.Member" - }, - "typeName": { - "id": 82953, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 82952, - "name": "Member", - "nameLocations": [ - "21843:6:133" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 81482, - "src": "21843:6:133" - }, - "referencedDeclaration": 81482, - "src": "21843:6:133", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Member_$81482_storage_ptr", - "typeString": "struct RegistryCommunity.Member" - } - }, - "visibility": "internal" - } - ], - "id": 82958, - "initialValue": { - "baseExpression": { - "id": 82955, - "name": "addressToMemberInfo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81564, - "src": "21866:19:133", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Member_$81482_storage_$", - "typeString": "mapping(address => struct RegistryCommunity.Member storage ref)" - } - }, - "id": 82957, - "indexExpression": { - "id": 82956, - "name": "_member", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82940, - "src": "21886:7:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "21866:28:133", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Member_$81482_storage", - "typeString": "struct RegistryCommunity.Member storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "21843:51:133" - }, - { - "expression": { - "id": 82962, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "delete", - "prefix": true, - "src": "21904:35:133", - "subExpression": { - "baseExpression": { - "id": 82959, - "name": "addressToMemberInfo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81564, - "src": "21911:19:133", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Member_$81482_storage_$", - "typeString": "mapping(address => struct RegistryCommunity.Member storage ref)" - } - }, - "id": 82961, - "indexExpression": { - "id": 82960, - "name": "_member", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82940, - "src": "21931:7:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "21911:28:133", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Member_$81482_storage", - "typeString": "struct RegistryCommunity.Member storage ref" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 82963, - "nodeType": "ExpressionStatement", - "src": "21904:35:133" - }, - { - "expression": { - "id": 82967, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "delete", - "prefix": true, - "src": "21949:34:133", - "subExpression": { - "baseExpression": { - "id": 82964, - "name": "strategiesByMember", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81569, - "src": "21956:18:133", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_address_$dyn_storage_$", - "typeString": "mapping(address => address[] storage ref)" - } - }, - "id": 82966, - "indexExpression": { - "id": 82965, - "name": "_member", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82940, - "src": "21975:7:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "21956:27:133", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 82968, - "nodeType": "ExpressionStatement", - "src": "21949:34:133" - }, - { - "expression": { - "arguments": [ - { - "id": 82972, - "name": "_member", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82940, - "src": "22015:7:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "expression": { - "id": 82973, - "name": "member", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82954, - "src": "22024:6:133", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Member_$81482_memory_ptr", - "typeString": "struct RegistryCommunity.Member memory" - } - }, - "id": 82974, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "22031:12:133", - "memberName": "stakedAmount", - "nodeType": "MemberAccess", - "referencedDeclaration": 81479, - "src": "22024:19:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 82969, - "name": "gardenToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81539, - "src": "21994:11:133", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$57069", - "typeString": "contract IERC20" - } - }, - "id": 82971, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "22006:8:133", - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 57036, - "src": "21994:20:133", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) external returns (bool)" - } - }, - "id": 82975, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "21994:50:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 82976, - "nodeType": "ExpressionStatement", - "src": "21994:50:133" - }, - { - "eventCall": { - "arguments": [ - { - "id": 82978, - "name": "_member", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82940, - "src": "22078:7:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "expression": { - "id": 82979, - "name": "member", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82954, - "src": "22087:6:133", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Member_$81482_memory_ptr", - "typeString": "struct RegistryCommunity.Member memory" - } - }, - "id": 82980, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "22094:12:133", - "memberName": "stakedAmount", - "nodeType": "MemberAccess", - "referencedDeclaration": 81479, - "src": "22087:19:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 82977, - "name": "MemberUnregistered", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81270, - "src": "22059:18:133", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 82981, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "22059:48:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 82982, - "nodeType": "EmitStatement", - "src": "22054:53:133" - } - ] - }, - "functionSelector": "b99b4370", - "implemented": true, - "kind": "function", - "modifiers": [ - { - "id": 82937, - "kind": "modifierInvocation", - "modifierName": { - "id": 82936, - "name": "nonReentrant", - "nameLocations": [ - "21696:12:133" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 56243, - "src": "21696:12:133" - }, - "nodeType": "ModifierInvocation", - "src": "21696:12:133" - } - ], - "name": "unregisterMember", - "nameLocation": "21670:16:133", - "parameters": { - "id": 82935, - "nodeType": "ParameterList", - "parameters": [], - "src": "21686:2:133" - }, - "returnParameters": { - "id": 82938, - "nodeType": "ParameterList", - "parameters": [], - "src": "21709:0:133" - }, - "scope": 83082, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "id": 83021, - "nodeType": "FunctionDefinition", - "src": "22120:466:133", - "nodes": [], - "body": { - "id": 83020, - "nodeType": "Block", - "src": "22179:407:133", - "nodes": [], - "statements": [ - { - "assignments": [ - 82993 - ], - "declarations": [ - { - "constant": false, - "id": 82993, - "mutability": "mutable", - "name": "memberStrategies", - "nameLocation": "22206:16:133", - "nodeType": "VariableDeclaration", - "scope": 83020, - "src": "22189:33:133", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 82991, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "22189:7:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 82992, - "nodeType": "ArrayTypeName", - "src": "22189:9:133", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "visibility": "internal" - } - ], - "id": 82997, - "initialValue": { - "baseExpression": { - "id": 82994, - "name": "strategiesByMember", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81569, - "src": "22225:18:133", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_address_$dyn_storage_$", - "typeString": "mapping(address => address[] storage ref)" - } - }, - "id": 82996, - "indexExpression": { - "id": 82995, - "name": "_member", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82986, - "src": "22244:7:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "22225:27:133", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "22189:63:133" - }, - { - "body": { - "id": 83018, - "nodeType": "Block", - "src": "22382:198:133", - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 83015, - "name": "_member", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82986, - "src": "22561:7:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "arguments": [ - { - "baseExpression": { - "id": 83010, - "name": "memberStrategies", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82993, - "src": "22523:16:133", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 83012, - "indexExpression": { - "id": 83011, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82999, - "src": "22540:1:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "22523:19:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 83009, - "name": "IPointStrategy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74722, - "src": "22508:14:133", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IPointStrategy_$74722_$", - "typeString": "type(contract IPointStrategy)" - } - }, - "id": 83013, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "22508:35:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IPointStrategy_$74722", - "typeString": "contract IPointStrategy" - } - }, - "id": 83014, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "22544:16:133", - "memberName": "deactivatePoints", - "nodeType": "MemberAccess", - "referencedDeclaration": 74697, - "src": "22508:52:133", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$__$", - "typeString": "function (address) external" - } - }, - "id": 83016, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "22508:61:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 83017, - "nodeType": "ExpressionStatement", - "src": "22508:61:133" - } - ] - }, - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 83005, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 83002, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82999, - "src": "22348:1:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "expression": { - "id": 83003, - "name": "memberStrategies", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82993, - "src": "22352:16:133", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 83004, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "22369:6:133", - "memberName": "length", - "nodeType": "MemberAccess", - "src": "22352:23:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "22348:27:133", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 83019, - "initializationExpression": { - "assignments": [ - 82999 - ], - "declarations": [ - { - "constant": false, - "id": 82999, - "mutability": "mutable", - "name": "i", - "nameLocation": "22341:1:133", - "nodeType": "VariableDeclaration", - "scope": 83019, - "src": "22333:9:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 82998, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "22333:7:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 83001, - "initialValue": { - "hexValue": "30", - "id": 83000, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "22345:1:133", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "22333:13:133" - }, - "loopExpression": { - "expression": { - "id": 83007, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "22377:3:133", - "subExpression": { - "id": 83006, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82999, - "src": "22377:1:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 83008, - "nodeType": "ExpressionStatement", - "src": "22377:3:133" - }, - "nodeType": "ForStatement", - "src": "22328:252:133" - } - ] - }, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "deactivateAllStrategies", - "nameLocation": "22129:23:133", - "parameters": { - "id": 82987, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 82986, - "mutability": "mutable", - "name": "_member", - "nameLocation": "22161:7:133", - "nodeType": "VariableDeclaration", - "scope": 83021, - "src": "22153:15:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 82985, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "22153:7:133", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "22152:17:133" - }, - "returnParameters": { - "id": 82988, - "nodeType": "ParameterList", - "parameters": [], - "src": "22179:0:133" - }, - "scope": 83082, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "id": 83081, - "nodeType": "FunctionDefinition", - "src": "22592:571:133", - "nodes": [], - "body": { - "id": 83080, - "nodeType": "Block", - "src": "22675:488:133", - "nodes": [], - "statements": [ - { - "expression": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 83030, - "name": "onlyCouncilSafe", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81357, - "src": "22685:15:133", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$__$", - "typeString": "function () view" - } - }, - "id": 83031, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "22685:17:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 83032, - "nodeType": "ExpressionStatement", - "src": "22685:17:133" - }, - { - "condition": { - "id": 83034, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "22716:14:133", - "subExpression": { - "id": 83033, - "name": "isKickEnabled", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81517, - "src": "22717:13:133", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 83039, - "nodeType": "IfStatement", - "src": "22712:68:133", - "trueBody": { - "id": 83038, - "nodeType": "Block", - "src": "22732:48:133", - "statements": [ - { - "errorCall": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 83035, - "name": "KickNotEnabled", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81465, - "src": "22753:14:133", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 83036, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "22753:16:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 83037, - "nodeType": "RevertStatement", - "src": "22746:23:133" - } - ] - } - }, - { - "condition": { - "id": 83043, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "22793:18:133", - "subExpression": { - "arguments": [ - { - "id": 83041, - "name": "_member", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 83023, - "src": "22803:7:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 83040, - "name": "isMember", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 82663, - "src": "22794:8:133", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", - "typeString": "function (address) view returns (bool)" - } - }, - "id": 83042, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "22794:17:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 83048, - "nodeType": "IfStatement", - "src": "22789:75:133", - "trueBody": { - "id": 83047, - "nodeType": "Block", - "src": "22813:51:133", - "statements": [ - { - "errorCall": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 83044, - "name": "UserNotInRegistry", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81443, - "src": "22834:17:133", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 83045, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "22834:19:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 83046, - "nodeType": "RevertStatement", - "src": "22827:26:133" - } - ] - } - }, - { - "assignments": [ - 83051 - ], - "declarations": [ - { - "constant": false, - "id": 83051, - "mutability": "mutable", - "name": "member", - "nameLocation": "22887:6:133", - "nodeType": "VariableDeclaration", - "scope": 83080, - "src": "22873:20:133", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Member_$81482_memory_ptr", - "typeString": "struct RegistryCommunity.Member" - }, - "typeName": { - "id": 83050, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 83049, - "name": "Member", - "nameLocations": [ - "22873:6:133" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 81482, - "src": "22873:6:133" - }, - "referencedDeclaration": 81482, - "src": "22873:6:133", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Member_$81482_storage_ptr", - "typeString": "struct RegistryCommunity.Member" - } - }, - "visibility": "internal" - } - ], - "id": 83055, - "initialValue": { - "baseExpression": { - "id": 83052, - "name": "addressToMemberInfo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81564, - "src": "22896:19:133", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Member_$81482_storage_$", - "typeString": "mapping(address => struct RegistryCommunity.Member storage ref)" - } - }, - "id": 83054, - "indexExpression": { - "id": 83053, - "name": "_member", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 83023, - "src": "22916:7:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "22896:28:133", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Member_$81482_storage", - "typeString": "struct RegistryCommunity.Member storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "22873:51:133" - }, - { - "expression": { - "arguments": [ - { - "id": 83057, - "name": "_member", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 83023, - "src": "22958:7:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 83056, - "name": "deactivateAllStrategies", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 83021, - "src": "22934:23:133", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", - "typeString": "function (address)" - } - }, - "id": 83058, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "22934:32:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 83059, - "nodeType": "ExpressionStatement", - "src": "22934:32:133" - }, - { - "expression": { - "id": 83063, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "delete", - "prefix": true, - "src": "22976:35:133", - "subExpression": { - "baseExpression": { - "id": 83060, - "name": "addressToMemberInfo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81564, - "src": "22983:19:133", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Member_$81482_storage_$", - "typeString": "mapping(address => struct RegistryCommunity.Member storage ref)" - } - }, - "id": 83062, - "indexExpression": { - "id": 83061, - "name": "_member", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 83023, - "src": "23003:7:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "22983:28:133", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Member_$81482_storage", - "typeString": "struct RegistryCommunity.Member storage ref" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 83064, - "nodeType": "ExpressionStatement", - "src": "22976:35:133" - }, - { - "expression": { - "arguments": [ - { - "id": 83068, - "name": "_transferAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 83025, - "src": "23043:16:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "expression": { - "id": 83069, - "name": "member", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 83051, - "src": "23061:6:133", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Member_$81482_memory_ptr", - "typeString": "struct RegistryCommunity.Member memory" - } - }, - "id": 83070, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "23068:12:133", - "memberName": "stakedAmount", - "nodeType": "MemberAccess", - "referencedDeclaration": 81479, - "src": "23061:19:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 83065, - "name": "gardenToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81539, - "src": "23022:11:133", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$57069", - "typeString": "contract IERC20" - } - }, - "id": 83067, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "23034:8:133", - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 57036, - "src": "23022:20:133", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) external returns (bool)" - } - }, - "id": 83071, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "23022:59:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 83072, - "nodeType": "ExpressionStatement", - "src": "23022:59:133" - }, - { - "eventCall": { - "arguments": [ - { - "id": 83074, - "name": "_member", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 83023, - "src": "23109:7:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 83075, - "name": "_transferAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 83025, - "src": "23118:16:133", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "expression": { - "id": 83076, - "name": "member", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 83051, - "src": "23136:6:133", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Member_$81482_memory_ptr", - "typeString": "struct RegistryCommunity.Member memory" - } - }, - "id": 83077, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "23143:12:133", - "memberName": "stakedAmount", - "nodeType": "MemberAccess", - "referencedDeclaration": 81479, - "src": "23136:19:133", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 83073, - "name": "MemberKicked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 81278, - "src": "23096:12:133", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 83078, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "23096:60:133", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 83079, - "nodeType": "EmitStatement", - "src": "23091:65:133" - } - ] - }, - "functionSelector": "6871eb4d", - "implemented": true, - "kind": "function", - "modifiers": [ - { - "id": 83028, - "kind": "modifierInvocation", - "modifierName": { - "id": 83027, - "name": "nonReentrant", - "nameLocations": [ - "22662:12:133" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 56243, - "src": "22662:12:133" - }, - "nodeType": "ModifierInvocation", - "src": "22662:12:133" - } - ], - "name": "kickMember", - "nameLocation": "22601:10:133", - "parameters": { - "id": 83026, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 83023, - "mutability": "mutable", - "name": "_member", - "nameLocation": "22620:7:133", - "nodeType": "VariableDeclaration", - "scope": 83081, - "src": "22612:15:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 83022, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "22612:7:133", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 83025, - "mutability": "mutable", - "name": "_transferAddress", - "nameLocation": "22637:16:133", - "nodeType": "VariableDeclaration", - "scope": 83081, - "src": "22629:24:133", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 83024, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "22629:7:133", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "22611:43:133" - }, - "returnParameters": { - "id": 83029, - "nodeType": "ParameterList", - "parameters": [], - "src": "22675:0:133" - }, - "scope": 83082, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - } - ], - "abstract": false, - "baseContracts": [ - { - "baseName": { - "id": 81223, - "name": "ReentrancyGuard", - "nameLocations": [ - "1671:15:133" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 56278, - "src": "1671:15:133" - }, - "id": 81224, - "nodeType": "InheritanceSpecifier", - "src": "1671:15:133" - }, - { - "baseName": { - "id": 81225, - "name": "AccessControl", - "nameLocations": [ - "1688:13:133" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 55308, - "src": "1688:13:133" - }, - "id": 81226, - "nodeType": "InheritanceSpecifier", - "src": "1688:13:133" - } - ], - "canonicalName": "RegistryCommunity", - "contractDependencies": [], - "contractKind": "contract", - "fullyImplemented": true, - "linearizedBaseContracts": [ - 83082, - 55308, - 58266, - 58472, - 55381, - 57903, - 56278 - ], - "name": "RegistryCommunity", - "nameLocation": "1650:17:133", - "scope": 83083, - "usedErrors": [ - 81437, - 81439, - 81441, - 81443, - 81445, - 81447, - 81449, - 81451, - 81453, - 81455, - 81457, - 81459, - 81461, - 81463, - 81465, - 81467, - 81469, - 81475 - ] - } - ], - "license": "AGPL-3.0-only" - }, - "id": 133 -} \ No newline at end of file +{"abi":[{"type":"constructor","inputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"COUNCIL_MEMBER_CHANGE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"DEFAULT_ADMIN_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"MAX_FEE","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"NATIVE","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"PRECISION_SCALE","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"acceptCouncilSafe","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"activateMemberInStrategy","inputs":[{"name":"_member","type":"address","internalType":"address"},{"name":"_strategy","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"addStrategy","inputs":[{"name":"_newStrategy","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"addStrategyByPoolId","inputs":[{"name":"poolId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"addressToMemberInfo","inputs":[{"name":"member","type":"address","internalType":"address"}],"outputs":[{"name":"member","type":"address","internalType":"address"},{"name":"stakedAmount","type":"uint256","internalType":"uint256"},{"name":"isRegistered","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"allo","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract FAllo"}],"stateMutability":"view"},{"type":"function","name":"cloneNonce","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"communityFee","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"communityName","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"councilSafe","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract ISafe"}],"stateMutability":"view"},{"type":"function","name":"covenantIpfsHash","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"createPool","inputs":[{"name":"_token","type":"address","internalType":"address"},{"name":"_params","type":"tuple","internalType":"struct StrategyStruct.InitializeParams","components":[{"name":"registryCommunity","type":"address","internalType":"address"},{"name":"decay","type":"uint256","internalType":"uint256"},{"name":"maxRatio","type":"uint256","internalType":"uint256"},{"name":"weight","type":"uint256","internalType":"uint256"},{"name":"minThresholdPoints","type":"uint256","internalType":"uint256"},{"name":"proposalType","type":"uint8","internalType":"enum StrategyStruct.ProposalType"},{"name":"pointSystem","type":"uint8","internalType":"enum StrategyStruct.PointSystem"},{"name":"pointConfig","type":"tuple","internalType":"struct StrategyStruct.PointSystemConfig","components":[{"name":"maxAmount","type":"uint256","internalType":"uint256"}]},{"name":"sybilScorer","type":"address","internalType":"address"}]},{"name":"_metadata","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]}],"outputs":[{"name":"poolId","type":"uint256","internalType":"uint256"},{"name":"strategy","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"createPool","inputs":[{"name":"_strategy","type":"address","internalType":"address"},{"name":"_token","type":"address","internalType":"address"},{"name":"_params","type":"tuple","internalType":"struct StrategyStruct.InitializeParams","components":[{"name":"registryCommunity","type":"address","internalType":"address"},{"name":"decay","type":"uint256","internalType":"uint256"},{"name":"maxRatio","type":"uint256","internalType":"uint256"},{"name":"weight","type":"uint256","internalType":"uint256"},{"name":"minThresholdPoints","type":"uint256","internalType":"uint256"},{"name":"proposalType","type":"uint8","internalType":"enum StrategyStruct.ProposalType"},{"name":"pointSystem","type":"uint8","internalType":"enum StrategyStruct.PointSystem"},{"name":"pointConfig","type":"tuple","internalType":"struct StrategyStruct.PointSystemConfig","components":[{"name":"maxAmount","type":"uint256","internalType":"uint256"}]},{"name":"sybilScorer","type":"address","internalType":"address"}]},{"name":"_metadata","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]}],"outputs":[{"name":"poolId","type":"uint256","internalType":"uint256"},{"name":"strategy","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"deactivateMemberInStrategy","inputs":[{"name":"_member","type":"address","internalType":"address"},{"name":"_strategy","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"decreasePower","inputs":[{"name":"_amountUnstaked","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"enabledStrategies","inputs":[{"name":"strategy","type":"address","internalType":"address"}],"outputs":[{"name":"isEnabled","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"feeReceiver","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"gardenToken","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IERC20"}],"stateMutability":"view"},{"type":"function","name":"getBasisStakedAmount","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getMemberPowerInStrategy","inputs":[{"name":"_member","type":"address","internalType":"address"},{"name":"_strategy","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getMemberStakedAmount","inputs":[{"name":"_member","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getRoleAdmin","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"getStakeAmountWithFees","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"grantRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"hasRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"increasePower","inputs":[{"name":"_amountStaked","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"initialize","inputs":[{"name":"params","type":"tuple","internalType":"struct RegistryCommunity.InitializeParams","components":[{"name":"_allo","type":"address","internalType":"address"},{"name":"_gardenToken","type":"address","internalType":"contract IERC20"},{"name":"_registerStakeAmount","type":"uint256","internalType":"uint256"},{"name":"_communityFee","type":"uint256","internalType":"uint256"},{"name":"_nonce","type":"uint256","internalType":"uint256"},{"name":"_registryFactory","type":"address","internalType":"address"},{"name":"_feeReceiver","type":"address","internalType":"address"},{"name":"_metadata","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]},{"name":"_councilSafe","type":"address","internalType":"address payable"},{"name":"_communityName","type":"string","internalType":"string"},{"name":"_isKickEnabled","type":"bool","internalType":"bool"},{"name":"covenantIpfsHash","type":"string","internalType":"string"},{"name":"_strategyTemplate","type":"address","internalType":"address"}]}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"isCouncilMember","inputs":[{"name":"_member","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isKickEnabled","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isMember","inputs":[{"name":"_member","type":"address","internalType":"address"}],"outputs":[{"name":"_isMember","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"kickMember","inputs":[{"name":"_member","type":"address","internalType":"address"},{"name":"_transferAddress","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"memberActivatedInStrategies","inputs":[{"name":"member","type":"address","internalType":"address"},{"name":"strategy","type":"address","internalType":"address"}],"outputs":[{"name":"isActivated","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"memberPowerInStrategy","inputs":[{"name":"strategy","type":"address","internalType":"address"},{"name":"member","type":"address","internalType":"address"}],"outputs":[{"name":"power","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"pendingCouncilSafe","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address payable"}],"stateMutability":"view"},{"type":"function","name":"profileId","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"registerStakeAmount","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"registry","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IRegistry"}],"stateMutability":"view"},{"type":"function","name":"registryFactory","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"removeStrategy","inputs":[{"name":"_strategy","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"removeStrategyByPoolId","inputs":[{"name":"poolId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"renounceRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"revokeRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setBasisStakedAmount","inputs":[{"name":"_newAmount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setCommunityFee","inputs":[{"name":"_newCommunityFee","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setCouncilSafe","inputs":[{"name":"_safe","type":"address","internalType":"address payable"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"stakeAndRegisterMember","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"strategiesByMember","inputs":[{"name":"member","type":"address","internalType":"address"},{"name":"","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"strategiesAddresses","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"strategyTemplate","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"unregisterMember","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"AlloSet","inputs":[{"name":"_allo","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"BasisStakedAmountSet","inputs":[{"name":"_newAmount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"CommunityFeeUpdated","inputs":[{"name":"_newFee","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"CouncilSafeChangeStarted","inputs":[{"name":"_safeOwner","type":"address","indexed":false,"internalType":"address"},{"name":"_newSafeOwner","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"CouncilSafeSet","inputs":[{"name":"_safe","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"MemberActivatedStrategy","inputs":[{"name":"_member","type":"address","indexed":false,"internalType":"address"},{"name":"_strategy","type":"address","indexed":false,"internalType":"address"},{"name":"_pointsToIncrease","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"MemberDeactivatedStrategy","inputs":[{"name":"_member","type":"address","indexed":false,"internalType":"address"},{"name":"_strategy","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"MemberKicked","inputs":[{"name":"_member","type":"address","indexed":false,"internalType":"address"},{"name":"_transferAddress","type":"address","indexed":false,"internalType":"address"},{"name":"_amountReturned","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"MemberPowerDecreased","inputs":[{"name":"_member","type":"address","indexed":false,"internalType":"address"},{"name":"_unstakedAmount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"MemberPowerIncreased","inputs":[{"name":"_member","type":"address","indexed":false,"internalType":"address"},{"name":"_stakedAmount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"MemberRegistered","inputs":[{"name":"_member","type":"address","indexed":false,"internalType":"address"},{"name":"_amountStaked","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"MemberUnregistered","inputs":[{"name":"_member","type":"address","indexed":false,"internalType":"address"},{"name":"_amountReturned","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"PoolCreated","inputs":[{"name":"_poolId","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_strategy","type":"address","indexed":false,"internalType":"address"},{"name":"_community","type":"address","indexed":false,"internalType":"address"},{"name":"_token","type":"address","indexed":false,"internalType":"address"},{"name":"_metadata","type":"tuple","indexed":false,"internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]}],"anonymous":false},{"type":"event","name":"RegistryInitialized","inputs":[{"name":"_profileId","type":"bytes32","indexed":false,"internalType":"bytes32"},{"name":"_communityName","type":"string","indexed":false,"internalType":"string"},{"name":"_metadata","type":"tuple","indexed":false,"internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]}],"anonymous":false},{"type":"event","name":"RoleAdminChanged","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"previousAdminRole","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"newAdminRole","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"RoleGranted","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"sender","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"RoleRevoked","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"sender","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"StrategyAdded","inputs":[{"name":"_strategy","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"StrategyRemoved","inputs":[{"name":"_strategy","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"error","name":"AddressCannotBeZero","inputs":[]},{"type":"error","name":"CantDecreaseMoreThanPower","inputs":[{"name":"_decreaseAmount","type":"uint256","internalType":"uint256"},{"name":"_currentPower","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"DecreaseUnderMinimum","inputs":[]},{"type":"error","name":"KickNotEnabled","inputs":[]},{"type":"error","name":"NewFeeGreaterThanMax","inputs":[]},{"type":"error","name":"PointsDeactivated","inputs":[]},{"type":"error","name":"RegistryCannotBeZero","inputs":[]},{"type":"error","name":"SenderNotNewOwner","inputs":[]},{"type":"error","name":"SenderNotStrategy","inputs":[]},{"type":"error","name":"StrategyDisabled","inputs":[]},{"type":"error","name":"StrategyExists","inputs":[]},{"type":"error","name":"UserAlreadyActivated","inputs":[]},{"type":"error","name":"UserAlreadyDeactivated","inputs":[]},{"type":"error","name":"UserAlreadyRegistered","inputs":[]},{"type":"error","name":"UserNotGardenOwner","inputs":[]},{"type":"error","name":"UserNotInCouncil","inputs":[]},{"type":"error","name":"UserNotInRegistry","inputs":[]},{"type":"error","name":"ValueCannotBeZero","inputs":[]}],"bytecode":{"object":"0x60806040523480156200001157600080fd5b506001600090815562000046907fbc6bbe35ebc64943402c04d2ae016d7bd2bba28e1a11cf66be743c9bd74c720b906200004c565b62000099565b6000828152600160208190526040808320909101805490849055905190918391839186917fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff9190a4505050565b61465580620000a96000396000f3fe608060405234801561001057600080fd5b506004361061036d5760003560e01c80636c53db9a116101d3578063a230c52411610104578063d547741f116100a2578063db61d65c1161007c578063db61d65c1461086c578063ebd7dc521461087f578063f86c5f8914610892578063ff6409ef146108a557600080fd5b8063d547741f1461083d578063d6d8428d14610850578063d7050f071461086357600080fd5b8063b64e39af116100de578063b64e39af14610810578063b99b437014610825578063bc063e1a1461082d578063c6d572ae1461083557600080fd5b8063a230c5241461079e578063b3f00674146107f5578063b5058c501461080857600080fd5b80638961be6b1161017157806397991cfa1161014b57806397991cfa14610724578063a0b21cdf14610754578063a0cf0aea1461077b578063a217fddf1461079657600080fd5b80638961be6b146106cf57806391d14854146106d857806396f0adec1461071157600080fd5b806378a0b8a9116101ad57806378a0b8a91461063d5780637b1039991461064657806382d6a1e71461065957806388cfe6841461066c57600080fd5b80636c53db9a146105de57806373265c37146105f15780637817ee4f1461060457600080fd5b80632f2ff15d116102ad578063477a5cc01161024b5780635ecf71c5116102255780635ecf71c51461057a57806365e3864c1461058d5780636871eb4d146105b857806368decabb146105cb57600080fd5b8063477a5cc014610526578063559de05d146105545780635c94e4d21461056757600080fd5b80633517aa7d116102875780633517aa7d146104d557806336568abe146104dd578063397e2543146104f05780633a871fe11461050357600080fd5b80632f2ff15d146104a657806331f61bca146104b957806333960459146104cc57600080fd5b80631f787d281161031a578063248a9ca3116102f4578063248a9ca31461042357806328c309e9146104475780632b38c69c1461044f5780632c611c4a1461047a57600080fd5b80631f787d28146103f0578063223e5479146103fd57806322bcf9991461041057600080fd5b80630d12bbdb1161034b5780630d12bbdb146103b55780630d4a8b49146103ca578063175188e8146103dd57600080fd5b806301ffc9a7146103725780630331383c1461039a57806308386eba146103ac575b600080fd5b61038561038036600461377d565b6108b8565b60405190151581526020015b60405180910390f35b6003545b604051908152602001610391565b61039e60055481565b6103c86103c33660046137a7565b610908565b005b6103c86103d83660046137e5565b610992565b6103c86103eb36600461381e565b610cf9565b6002546103859060ff1681565b6103c861040b36600461381e565b610d0d565b6103c861041e3660046137e5565b610d1e565b61039e6104313660046137a7565b6000908152600160208190526040909120015490565b61039e610e2d565b61046261045d36600461383b565b610f17565b6040516001600160a01b039091168152602001610391565b61039e61048836600461381e565b6001600160a01b031660009081526013602052604090206001015490565b6103c86104b4366004613867565b610f4f565b6103c86104c73660046137a7565b610f7a565b61039e60095481565b6103c8610fb7565b6103c86104eb366004613867565b6113bc565b6103c86104fe36600461381e565b61144d565b61038561051136600461381e565b60116020526000908152604090205460ff1681565b6103856105343660046137e5565b601560209081526000928352604080842090915290825290205460ff1681565b6103c86105623660046137a7565b6114ba565b600854610462906001600160a01b031681565b6103c86105883660046137a7565b611794565b61039e61059b3660046137e5565b601260209081526000928352604080842090915290825290205481565b6103c86105c63660046137e5565b611b4e565b600a54610462906001600160a01b031681565b600d54610462906001600160a01b031681565b6103c86105ff3660046137a7565b611d59565b61039e6106123660046137e5565b6001600160a01b03918216600090815260126020908152604080832093909416825291909152205490565b61039e60035481565b600b54610462906001600160a01b031681565b6103c86106673660046137a7565b611deb565b6106a861067a36600461381e565b6013602052600090815260409020805460018201546002909201546001600160a01b03909116919060ff1683565b604080516001600160a01b0390941684526020840192909252151590820152606001610391565b61039e60045481565b6103856106e6366004613867565b60009182526001602090815260408084206001600160a01b0393909316845291905290205460ff1690565b6103c861071f366004613a50565b611e9c565b610737610732366004613cab565b612388565b604080519283526001600160a01b03909116602083015201610391565b61039e7fbc6bbe35ebc64943402c04d2ae016d7bd2bba28e1a11cf66be743c9bd74c720b81565b61046273eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b61039e600081565b6103856107ac36600461381e565b6001600160a01b039081166000908152601360209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff161515910181905290565b600654610462906001600160a01b031681565b6103c86123d2565b61081861241e565b6040516103919190613d5e565b6103c86124ac565b61039e61260f565b61081861261f565b6103c861084b366004613867565b61262c565b600e54610462906001600160a01b031681565b61039e61271081565b600c54610462906001600160a01b031681565b61038561088d36600461381e565b612652565b600754610462906001600160a01b031681565b6107376108b3366004613d71565b612692565b60006001600160e01b031982167f7965db0b00000000000000000000000000000000000000000000000000000000148061090257506301ffc9a760e01b6001600160e01b03198316145b92915050565b610910612811565b61091d612710600a613dfd565b811115610956576040517ffe925f7d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60048190556040518181527f611668bfcf654a99c33cdb66c29ec37a5aae5c1287d2d9715a24e18cb4d806d6906020015b60405180910390a150565b61099b82612879565b6109a4816128dc565b6109ad8161292e565b6001600160a01b0380831660009081526015602090815260408083209385168352929052205460ff1615610a0d576040517fd5b9bc9600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0380831660009081526013602090815260409182902082516060810184528154909416845260018101549184018290526002015460ff161515918301919091526003805490846001600160a01b031663c32921716040518163ffffffff1660e01b81526004016020604051808303816000875af1158015610a99573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610abd9190613e2a565b6003811115610ace57610ace613e14565b03610b4d5760405163782aadff60e01b81526001600160a01b0386811660048301526000602483015285169063782aadff906044016020604051808303816000875af1158015610b22573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b469190613e47565b9050610c3f565b6000846001600160a01b031663c32921716040518163ffffffff1660e01b81526004016020604051808303816000875af1158015610b8f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bb39190613e2a565b6003811115610bc457610bc4613e14565b14610c3f5760405163782aadff60e01b81526001600160a01b0386811660048301526024820184905285169063782aadff906044016020604051808303816000875af1158015610c18573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c3c9190613e47565b90505b6001600160a01b038581166000818152601260209081526040808320948916808452948252808320869055838352601582528083208584528252808320805460ff19166001908117909155848452601483528184208054918201815584529282902090920180546001600160a01b0319168517905581519283528201929092529081018290527ff56fa57e85e169a12200d12d9921ec069b52e688f6d309d9dab7bceff54614ec9060600160405180910390a15050505050565b610d01612811565b610d0a8161296e565b50565b610d15612811565b610d0a816129c8565b610d2782612879565b610d308161292e565b610d3a3382612a6f565b6001600160a01b0380831660009081526015602090815260408083209385168352929052205460ff16610d99576040517fc12369dc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038083166000818152601560209081526040808320948616808452948252808320805460ff191690559282526012815282822093825292909252812055610de78282612aba565b604080516001600160a01b038085168252831660208201527ede109bef4619f7e2cf00c8e5a50ca55f8deb44f87087eed414a91dbf8d1d1b910160405180910390a15050565b6007546000906001600160a01b031681610e4a6127106064613dfd565b600454600354610e5a9190613dfd565b610e649190613e60565b90506000610e756127106064613dfd565b6040516302a64b8360e21b81523060048201526001600160a01b03851690630a992e0c90602401602060405180830381865afa158015610eb9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610edd9190613e47565b600354610eea9190613dfd565b610ef49190613e60565b90508082600354610f059190613e82565b610f0f9190613e82565b935050505090565b60146020528160005260406000208181548110610f3357600080fd5b6000918252602090912001546001600160a01b03169150829050565b60008281526001602081905260409091200154610f6b81612bdc565b610f758383612be6565b505050565b610f82612811565b60038190556040518181527f5bcc2c453001fb0e2ba6266d56ecb411e7c6e15c8f9c3d301f93dd36ad25726f90602001610987565b610fbf612c6d565b33600081815260136020526040812060075490916001600160a01b0390911690610fec6127106064613dfd565b600454600354610ffc9190613dfd565b6110069190613e60565b905060006110176127106064613dfd565b6040516302a64b8360e21b81523060048201526001600160a01b03851690630a992e0c90602401602060405180830381865afa15801561105b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061107f9190613e47565b60035461108c9190613dfd565b6110969190613e60565b6001600160a01b038087166000908152601360209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff16151591018190529091506113ab5760028401805460ff191660019081179091556003549085015560408051808201909152600b81527f67617264656e546f6b656e0000000000000000000000000000000000000000006020820152600c5461114691906001600160a01b0316612cc6565b6111788530838560035461115a9190613e82565b6111649190613e82565b600c546001600160a01b0316929190612d24565b6111b76040518060400160405280601281526020017f636f6d6d756e697479466565416d6f756e74000000000000000000000000000081525083612da8565b81156112245760408051808201909152600b81527f6665655265636569766572000000000000000000000000000000000000000000602082015260065461120791906001600160a01b0316612cc6565b600654600c54611224916001600160a01b03918216911684612e06565b6112636040518060400160405280601081526020017f67617264656e73466565416d6f756e740000000000000000000000000000000081525082612da8565b8015611364576112ec6040518060600160405280602681526020016145fa60269139846001600160a01b031663987435be6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112c3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112e79190613e95565b612cc6565b611364836001600160a01b031663987435be6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561132d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113519190613e95565b600c546001600160a01b03169083612e06565b600354604080516001600160a01b038816815260208101929092527f67e0244e28040fec15240cd4b6c04c776a2a0278caef23b59e8ada1df31f7689910160405180910390a15b50505050506113ba6001600055565b565b6001600160a01b038116331461143f5760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201527f20726f6c657320666f722073656c66000000000000000000000000000000000060648201526084015b60405180910390fd5b6114498282612e36565b5050565b611455612811565b61145e8161292e565b600a80546001600160a01b0319166001600160a01b03838116918217909255600d546040805191909316815260208101919091527f83eac9fdaff0ac1017624b7eddeb9782e3d707cd894073cb7e8301a41c6e5cf89101610987565b6114c2612c6d565b6114ca612eb9565b3360008181526014602090815260408083208054825181850281018501909352808352919290919083018282801561152b57602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831161150d575b50505050509050600080600090505b82518110156116fb5782818151811061155557611555613eb2565b602090810291909101015160405163782aadff60e01b81526001600160a01b038681166004830152602482018890529091169063782aadff906044016020604051808303816000875af11580156115b0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115d49190613e47565b915081156116e9576001600160a01b0384166000908152601260205260408120845184929086908590811061160b5761160b613eb2565b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060008282546116429190613e82565b925050819055506116e96040518060400160405280600e81526020017f537472617465677920706f77657200000000000000000000000000000000000081525060126000876001600160a01b03166001600160a01b0316815260200190815260200160002060008685815181106116bb576116bb613eb2565b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002054612da8565b806116f381613ec8565b91505061153a565b50600c54611714906001600160a01b0316843087612d24565b6001600160a01b0383166000908152601360205260408120600101805486929061173f908490613e82565b9091555050604080516001600160a01b0385168152602081018690527f576605f9bfe8911e7508bed3763c7c5c8eb3b86e8b360b90a4bc6abe1104cb7f91015b60405180910390a1505050610d0a6001600055565b61179c612c6d565b6117a4612eb9565b336000818152601460209081526040808320600354601390935290832060010154909291906117d4908690613ee1565b101561180c576040517f9c47d02e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600c54611823906001600160a01b03168486612e06565b60005b8254811015611ade57600083828154811061184357611843613eb2565b6000918252602090912001546001600160a01b0316905061186b8163f1801e6160e01b612f18565b15611a12576040517f2ed04b2b0000000000000000000000000000000000000000000000000000000081526001600160a01b03868116600483015260248201889052821690632ed04b2b906044016020604051808303816000875af11580156118d8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118fc9190613e47565b9250600060126000876001600160a01b03166001600160a01b03168152602001908152602001600020600086858154811061193957611939613eb2565b60009182526020808320909101546001600160a01b031683528201929092526040019020549050808411156119a4576040517f8a11f3180000000000000000000000000000000000000000000000000000000081526004810185905260248101829052604401611436565b6001600160a01b038616600090815260126020526040812086548692908890879081106119d3576119d3613eb2565b60009182526020808320909101546001600160a01b0316835282019290925260400181208054909190611a07908490613ee1565b909155505050611acb565b83548490611a2290600190613ee1565b81548110611a3257611a32613eb2565b9060005260206000200160009054906101000a90046001600160a01b0316848381548110611a6257611a62613eb2565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555083805480611aa057611aa0613ef4565b600082815260209020810160001990810180546001600160a01b0319169055019055611acb8161296e565b5080611ad681613ec8565b915050611826565b506001600160a01b03831660009081526013602052604081206001018054869290611b0a908490613ee1565b9091555050604080516001600160a01b0385168152602081018690527f6ee2c70b2d6b89ae808a2313aab43e925c06624271419cd665d85cfa1ae04ff8910161177f565b611b56612c6d565b611b5e612811565b60025460ff16611b9a576040517fcb63dc7200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038083166000908152601360209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff1615159101819052611bfd57604051636a5cfb6d60e01b815260040160405180910390fd5b6001600160a01b038083166000908152601360209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff16151590820152611c4b83612f3b565b6001600160a01b03838116600090815260136020908152604080832080546001600160a01b031916815560018101939093556002909201805460ff19169055600c5490840151915163a9059cbb60e01b8152858416600482015260248101929092529091169063a9059cbb906044016020604051808303816000875af1158015611cd9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cfd9190613f0a565b50602080820151604080516001600160a01b0380881682528616938101939093528201527fb5946f249f8744efe9d14d49a483b54a589b1362944ff6694de93456cceb96a39060600160405180910390a1506114496001600055565b611d61612811565b600e5460405163068bcd8d60e01b8152600481018390526000916001600160a01b03169063068bcd8d90602401600060405180830381865afa158015611dab573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611dd39190810190613f27565b602001519050611de28161292e565b6114498161296e565b611df3612811565b600e5460405163068bcd8d60e01b8152600481018390526000916001600160a01b03169063068bcd8d90602401600060405180830381865afa158015611e3d573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611e659190810190613f27565b602001519050611e748161292e565b611e8e6001600160a01b03821663f1801e6160e01b612f18565b1561144957611449816129c8565b611ea9816020015161292e565b611eb781610100015161292e565b8051611ec29061292e565b611ecf8160a0015161292e565b611edd81610180015161292e565b606081015115611ef457611ef48160c0015161292e565b8051600e80546001600160a01b039283166001600160a01b0319918216179091556020830151600c80549190931691161790556040810151600003611f65576040517fc70d18aa00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604081015160035560608101516004556101408101516002805460ff1916911515919091179055610120810151600f90611f9f90826140d1565b50610160810151601090611fb390826140d1565b5060a0810151600780546001600160a01b03199081166001600160a01b039384161790915560c0830151600680548316918416919091179055610100830151600d8054831682851617905561018084015160088054909316931692909217905561203e907fbc6bbe35ebc64943402c04d2ae016d7bd2bba28e1a11cf66be743c9bd74c720b90612be6565b600e60009054906101000a90046001600160a01b03166001600160a01b0316635ab1bd536040518163ffffffff1660e01b8152600401602060405180830381865afa158015612091573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120b59190613e95565b600b80546001600160a01b0319166001600160a01b03928316179055600d54604080517fa0e67e2b0000000000000000000000000000000000000000000000000000000081529051600093929092169163a0e67e2b9160048082019286929091908290030181865afa15801561212f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526121579190810190614191565b90506000815160026121699190613e82565b67ffffffffffffffff8111156121815761218161388c565b6040519080825280602002602001820160405280156121aa578160200160208202803683370190505b50905060005b825181101561220f578281815181106121cb576121cb613eb2565b60200260200101518282815181106121e5576121e5613eb2565b6001600160a01b03909216602092830291909101909101528061220781613ec8565b9150506121b0565b50600d5481516001600160a01b0390911690829061222f90600190613ee1565b8151811061223f5761223f613eb2565b60200260200101906001600160a01b031690816001600160a01b03168152505030816002835161226f9190613ee1565b8151811061227f5761227f613eb2565b6001600160a01b039283166020918202929092010152600b54608085015160e08601516040517f3a92f65f0000000000000000000000000000000000000000000000000000000081529290931692633a92f65f926122e79291600f9130908890600401614323565b6020604051808303816000875af1158015612306573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061232a9190613e47565b60055580516123409060169060208401906136e9565b507f2f2ffcb06f8a1d35e2716f6b43ef2c19bfa76467d8f66964ae12c2583ed03205600554600f8560e0015160405161237b93929190614371565b60405180910390a1505050565b60085460098054600092839283926123b7926001600160a01b031691846123ae83613ec8565b9190505561305d565b90506123c581878787612692565b9250925050935093915050565b600a546001600160a01b03163314612416576040517febcd0d6e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6113ba6130b1565b6010805461242b90614049565b80601f016020809104026020016040519081016040528092919081815260200182805461245790614049565b80156124a45780601f10612479576101008083540402835291602001916124a4565b820191906000526020600020905b81548152906001019060200180831161248757829003601f168201915b505050505081565b6124b4612c6d565b336124be81612879565b6124c781612f3b565b6001600160a01b0380821660008181526013602090815260408083208151606081018352815496871681526001820180548286015260028301805460ff81161515848701529787526001600160a01b03199098169092559084905560ff1990941690945560149052918220909161253e919061374e565b600c54602082015160405163a9059cbb60e01b81526001600160a01b038581166004830152602482019290925291169063a9059cbb906044016020604051808303816000875af1158015612596573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125ba9190613f0a565b50602080820151604080516001600160a01b0386168152928301919091527fa13f4668aacb68c4e9eed8e3f6e1cbec3eca776896ec46b5eabcc3983fc8f5f4910160405180910390a150506113ba6001600055565b61261c612710600a613dfd565b81565b600f805461242b90614049565b6000828152600160208190526040909120015461264881612bdc565b610f758383612e36565b6001600160a01b03811660009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604081205460ff16610902565b60008073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6001600160a01b038616156126bc5750845b8691506000601680548060200260200160405190810160405280929190818152602001828054801561271757602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116126f9575b5050600e546005546040519596506001600160a01b039091169463e1007d4a945090925087915061274c908b906020016143ba565b6040516020818303038152906040528660008b886040518863ffffffff1660e01b81526004016127829796959493929190614452565b6020604051808303816000875af11580156127a1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127c59190613e47565b93507f778cac0ae0b66477341553a4a89398c61ccf448313d3354ad0ca85a5a825d2838484308a896040516127fe9594939291906144be565b60405180910390a1505094509492505050565b3360009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604090205460ff166113ba576040517ff62651fa00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038082166000908152601360209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff1615159101819052610d0a57604051636a5cfb6d60e01b815260040160405180910390fd5b6001600160a01b03811660009081526011602052604090205460ff16610d0a576040517f46c26e4b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038116610d0a576040517fe622e04000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6129778161292e565b6001600160a01b038116600081815260116020908152604091829020805460ff1916905590519182527f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea49101610987565b6001600160a01b03811660009081526011602052604090205460ff1615612a1b576040517f968a4d2c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038116600081815260116020908152604091829020805460ff1916600117905590519182527f3f008fd510eae7a9e7bee13513d7b83bef8003d488b5a3d0b0da4de71d6846f19101610987565b806001600160a01b0316826001600160a01b031614611449576040517fbbe7961100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0382166000908152601460205260408120905b8154811015612bd657826001600160a01b0316828281548110612af957612af9613eb2565b6000918252602090912001546001600160a01b031603612bc45781548290612b2390600190613ee1565b81548110612b3357612b33613eb2565b9060005260206000200160009054906101000a90046001600160a01b0316828281548110612b6357612b63613eb2565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555081805480612ba157612ba1613ef4565b600082815260209020810160001990810180546001600160a01b03191690550190555b80612bce81613ec8565b915050612ad4565b50505050565b610d0a813361310c565b60008281526001602090815260408083206001600160a01b038516845290915290205460ff166114495760008281526001602081815260408084206001600160a01b0386168086529252808420805460ff19169093179092559051339285917f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d9190a45050565b600260005403612cbf5760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401611436565b6002600055565b6114498282604051602401612cdc9291906144f8565b60408051601f198184030181529190526020810180516001600160e01b03167f319af33300000000000000000000000000000000000000000000000000000000179052613181565b6040516001600160a01b0380851660248301528316604482015260648101829052612bd69085907f23b872dd00000000000000000000000000000000000000000000000000000000906084015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091526131a2565b6114498282604051602401612dbe929190614523565b60408051601f198184030181529190526020810180516001600160e01b03167f9710a9d000000000000000000000000000000000000000000000000000000000179052613181565b6040516001600160a01b038316602482015260448101829052610f7590849063a9059cbb60e01b90606401612d71565b60008281526001602090815260408083206001600160a01b038516845290915290205460ff16156114495760008281526001602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b33600090815260136020908152604091829020825160608101845281546001600160a01b031681526001820154928101929092526002015460ff16151591018190526113ba57604051636a5cfb6d60e01b815260040160405180910390fd5b6000612f238361328a565b8015612f345750612f3483836132bd565b9392505050565b6001600160a01b038116600090815260146020908152604080832080548251818502810185019093528083529192909190830182828015612fa557602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311612f87575b5050505050905060005b8151811015610f7557818181518110612fca57612fca613eb2565b60209081029190910101516040517f6453d9c40000000000000000000000000000000000000000000000000000000081526001600160a01b03858116600483015290911690636453d9c490602401600060405180830381600087803b15801561303257600080fd5b505af1158015613046573d6000803e3d6000fd5b50505050808061305590613ec8565b915050612faf565b6040516bffffffffffffffffffffffff193360601b1660208201526034810182905260009081906054016040516020818303038152906040528051906020012090506130a98482613346565b949350505050565b600a8054600d80546001600160a01b0383166001600160a01b031991821617909155169055604051600081527fad0399dc40331b9a4977aa89da7a164a3fd482c65e6da73b25a94ea74fb688729060200160405180910390a1565b60008281526001602090815260408083206001600160a01b038516845290915290205460ff166114495761313f816133e3565b61314a8360206133f5565b60405160200161315b929190614545565b60408051601f198184030181529082905262461bcd60e51b825261143691600401613d5e565b80516a636f6e736f6c652e6c6f67602083016000808483855afa5050505050565b60006131f7826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166135d69092919063ffffffff16565b90508051600014806132185750808060200190518101906132189190613f0a565b610f755760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152608401611436565b600061329d826301ffc9a760e01b6132bd565b801561090257506132b6826001600160e01b03196132bd565b1592915050565b604080516001600160e01b03198316602480830191909152825180830390910181526044909101909152602080820180516001600160e01b03166301ffc9a760e01b178152825160009392849283928392918391908a617530fa92503d9150600051905082801561332f575060208210155b801561333b5750600081115b979650505050505050565b6000763d602d80600a3d3981f3363d3d373d3d3d363d730000008360601b60e81c176000526e5af43d82803e903d91602b57fd5bf38360781b1760205281603760096000f590506001600160a01b0381166109025760405162461bcd60e51b815260206004820152601760248201527f455243313136373a2063726561746532206661696c65640000000000000000006044820152606401611436565b60606109026001600160a01b03831660145b60606000613404836002613dfd565b61340f906002613e82565b67ffffffffffffffff8111156134275761342761388c565b6040519080825280601f01601f191660200182016040528015613451576020820181803683370190505b5090507f30000000000000000000000000000000000000000000000000000000000000008160008151811061348857613488613eb2565b60200101906001600160f81b031916908160001a9053507f7800000000000000000000000000000000000000000000000000000000000000816001815181106134d3576134d3613eb2565b60200101906001600160f81b031916908160001a90535060006134f7846002613dfd565b613502906001613e82565b90505b6001811115613587577f303132333435363738396162636465660000000000000000000000000000000085600f166010811061354357613543613eb2565b1a60f81b82828151811061355957613559613eb2565b60200101906001600160f81b031916908160001a90535060049490941c93613580816145c6565b9050613505565b508315612f345760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401611436565b60606130a9848460008585600080866001600160a01b031685876040516135fd91906145dd565b60006040518083038185875af1925050503d806000811461363a576040519150601f19603f3d011682016040523d82523d6000602084013e61363f565b606091505b509150915061333b87838387606083156136ba5782516000036136b3576001600160a01b0385163b6136b35760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401611436565b50816130a9565b6130a983838151156136cf5781518083602001fd5b8060405162461bcd60e51b81526004016114369190613d5e565b82805482825590600052602060002090810192821561373e579160200282015b8281111561373e57825182546001600160a01b0319166001600160a01b03909116178255602090920191600190910190613709565b5061374a929150613768565b5090565b5080546000825590600052602060002090810190610d0a91905b5b8082111561374a5760008155600101613769565b60006020828403121561378f57600080fd5b81356001600160e01b031981168114612f3457600080fd5b6000602082840312156137b957600080fd5b5035919050565b6001600160a01b0381168114610d0a57600080fd5b80356137e0816137c0565b919050565b600080604083850312156137f857600080fd5b8235613803816137c0565b91506020830135613813816137c0565b809150509250929050565b60006020828403121561383057600080fd5b8135612f34816137c0565b6000806040838503121561384e57600080fd5b8235613859816137c0565b946020939093013593505050565b6000806040838503121561387a57600080fd5b823591506020830135613813816137c0565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff811182821017156138c5576138c561388c565b60405290565b6040516101a0810167ffffffffffffffff811182821017156138c5576138c561388c565b604051610120810167ffffffffffffffff811182821017156138c5576138c561388c565b60405160c0810167ffffffffffffffff811182821017156138c5576138c561388c565b604051601f8201601f1916810167ffffffffffffffff8111828210171561395f5761395f61388c565b604052919050565b600067ffffffffffffffff8211156139815761398161388c565b50601f01601f191660200190565b600082601f8301126139a057600080fd5b81356139b36139ae82613967565b613936565b8181528460208386010111156139c857600080fd5b816020850160208301376000918101602001919091529392505050565b6000604082840312156139f757600080fd5b6139ff6138a2565b905081358152602082013567ffffffffffffffff811115613a1f57600080fd5b613a2b8482850161398f565b60208301525092915050565b8015158114610d0a57600080fd5b80356137e081613a37565b600060208284031215613a6257600080fd5b813567ffffffffffffffff80821115613a7a57600080fd5b908301906101a08286031215613a8f57600080fd5b613a976138cb565b613aa0836137d5565b8152613aae602084016137d5565b6020820152604083013560408201526060830135606082015260808301356080820152613add60a084016137d5565b60a0820152613aee60c084016137d5565b60c082015260e083013582811115613b0557600080fd5b613b11878286016139e5565b60e083015250610100613b258185016137d5565b908201526101208381013583811115613b3d57600080fd5b613b498882870161398f565b828401525050610140613b5d818501613a45565b908201526101608381013583811115613b7557600080fd5b613b818882870161398f565b8284015250506101809150613b978284016137d5565b91810191909152949350505050565b8035600381106137e057600080fd5b60048110610d0a57600080fd5b80356137e081613bb5565b600060208284031215613bdf57600080fd5b6040516020810181811067ffffffffffffffff82111715613c0257613c0261388c565b6040529135825250919050565b60006101208284031215613c2257600080fd5b613c2a6138ef565b9050613c35826137d5565b815260208201356020820152604082013560408201526060820135606082015260808201356080820152613c6b60a08301613ba6565b60a0820152613c7c60c08301613bc2565b60c0820152613c8e8360e08401613bcd565b60e0820152610100613ca18184016137d5565b9082015292915050565b60008060006101608486031215613cc157600080fd5b8335613ccc816137c0565b9250613cdb8560208601613c0f565b915061014084013567ffffffffffffffff811115613cf857600080fd5b613d04868287016139e5565b9150509250925092565b60005b83811015613d29578181015183820152602001613d11565b50506000910152565b60008151808452613d4a816020860160208601613d0e565b601f01601f19169290920160200192915050565b602081526000612f346020830184613d32565b6000806000806101808587031215613d8857600080fd5b8435613d93816137c0565b93506020850135613da3816137c0565b9250613db28660408701613c0f565b915061016085013567ffffffffffffffff811115613dcf57600080fd5b613ddb878288016139e5565b91505092959194509250565b634e487b7160e01b600052601160045260246000fd5b808202811582820484141761090257610902613de7565b634e487b7160e01b600052602160045260246000fd5b600060208284031215613e3c57600080fd5b8151612f3481613bb5565b600060208284031215613e5957600080fd5b5051919050565b600082613e7d57634e487b7160e01b600052601260045260246000fd5b500490565b8082018082111561090257610902613de7565b600060208284031215613ea757600080fd5b8151612f34816137c0565b634e487b7160e01b600052603260045260246000fd5b600060018201613eda57613eda613de7565b5060010190565b8181038181111561090257610902613de7565b634e487b7160e01b600052603160045260246000fd5b600060208284031215613f1c57600080fd5b8151612f3481613a37565b60006020808385031215613f3a57600080fd5b825167ffffffffffffffff80821115613f5257600080fd5b9084019060c08287031215613f6657600080fd5b613f6e613913565b8251815283830151613f7f816137c0565b818501526040830151613f91816137c0565b6040820152606083015182811115613fa857600080fd5b830160408189031215613fba57600080fd5b613fc26138a2565b815181528582015184811115613fd757600080fd5b82019350601f84018913613fea57600080fd5b83519150613ffa6139ae83613967565b828152898784870101111561400e57600080fd5b61401d83888301898801613d0e565b95810195909552506060810193909352506080818101519083015260a090810151908201529392505050565b600181811c9082168061405d57607f821691505b60208210810361407d57634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115610f7557600081815260208120601f850160051c810160208610156140aa5750805b601f850160051c820191505b818110156140c9578281556001016140b6565b505050505050565b815167ffffffffffffffff8111156140eb576140eb61388c565b6140ff816140f98454614049565b84614083565b602080601f831160018114614134576000841561411c5750858301515b600019600386901b1c1916600185901b1785556140c9565b600085815260208120601f198616915b8281101561416357888601518255948401946001909101908401614144565b50858210156141815787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b600060208083850312156141a457600080fd5b825167ffffffffffffffff808211156141bc57600080fd5b818501915085601f8301126141d057600080fd5b8151818111156141e2576141e261388c565b8060051b91506141f3848301613936565b818152918301840191848101908884111561420d57600080fd5b938501935b838510156142375784519250614227836137c0565b8282529385019390850190614212565b98975050505050505050565b6000815461425081614049565b80855260206001838116801561426d5760018114614287576142b5565b60ff1985168884015283151560051b8801830195506142b5565b866000528260002060005b858110156142ad5781548a8201860152908301908401614292565b890184019650505b505050505092915050565b8051825260006020820151604060208501526130a96040850182613d32565b600081518084526020808501945080840160005b838110156143185781516001600160a01b0316875295820195908201906001016142f3565b509495945050505050565b85815260a06020820152600061433c60a0830187614243565b828103604084015261434e81876142c0565b90506001600160a01b0385166060840152828103608084015261423781856142df565b83815260606020820152600061438a6060830185614243565b828103604084015261439c81856142c0565b9695505050505050565b600481106143b6576143b6613e14565b9052565b6000610120820190506001600160a01b0383511682526020830151602083015260408301516040830152606083015160608301526080830151608083015260a08301516003811061440d5761440d613e14565b8060a08401525060c083015161442660c08401826143a6565b5060e083015161443960e0840182519052565b50610100928301516001600160a01b0316919092015290565b87815260006001600160a01b03808916602084015260e0604084015261447b60e0840189613d32565b818816606085015286608085015283810360a085015261449b81876142c0565b91505082810360c08401526144b081856142df565b9a9950505050505050505050565b85815260006001600160a01b038087166020840152808616604084015280851660608401525060a0608083015261333b60a08301846142c0565b60408152600061450b6040830185613d32565b90506001600160a01b03831660208301529392505050565b6040815260006145366040830185613d32565b90508260208301529392505050565b7f416363657373436f6e74726f6c3a206163636f756e742000000000000000000081526000835161457d816017850160208801613d0e565b7f206973206d697373696e6720726f6c652000000000000000000000000000000060179184019182015283516145ba816028840160208801613d0e565b01602801949350505050565b6000816145d5576145d5613de7565b506000190190565b600082516145ef818460208701613d0e565b919091019291505056fe67617264656e73466163746f72792e67657447617264656e7346656552656365697665722829a2646970667358221220540d32ab4f01c7a604fe4a0814f512521bb48df079211c6379c9d265c28ddd8564736f6c63430008130033","sourceMap":"1641:21524:133:-:0;;;7769:145;;;;;;;;;-1:-1:-1;1716:1:69;1821:7;:22;;;7851:56:133;;2101:34;;7851:13;:56::i;:::-;1641:21524;;7172:247:58;7255:25;4604:12;;;:6;:12;;;;;;;;:22;;;;;7311:34;;;;7360:52;;4604:22;;7311:34;;4604:22;;:12;;7360:52;;7255:25;7360:52;7245:174;7172:247;;:::o;1641:21524:133:-;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b506004361061036d5760003560e01c80636c53db9a116101d3578063a230c52411610104578063d547741f116100a2578063db61d65c1161007c578063db61d65c1461086c578063ebd7dc521461087f578063f86c5f8914610892578063ff6409ef146108a557600080fd5b8063d547741f1461083d578063d6d8428d14610850578063d7050f071461086357600080fd5b8063b64e39af116100de578063b64e39af14610810578063b99b437014610825578063bc063e1a1461082d578063c6d572ae1461083557600080fd5b8063a230c5241461079e578063b3f00674146107f5578063b5058c501461080857600080fd5b80638961be6b1161017157806397991cfa1161014b57806397991cfa14610724578063a0b21cdf14610754578063a0cf0aea1461077b578063a217fddf1461079657600080fd5b80638961be6b146106cf57806391d14854146106d857806396f0adec1461071157600080fd5b806378a0b8a9116101ad57806378a0b8a91461063d5780637b1039991461064657806382d6a1e71461065957806388cfe6841461066c57600080fd5b80636c53db9a146105de57806373265c37146105f15780637817ee4f1461060457600080fd5b80632f2ff15d116102ad578063477a5cc01161024b5780635ecf71c5116102255780635ecf71c51461057a57806365e3864c1461058d5780636871eb4d146105b857806368decabb146105cb57600080fd5b8063477a5cc014610526578063559de05d146105545780635c94e4d21461056757600080fd5b80633517aa7d116102875780633517aa7d146104d557806336568abe146104dd578063397e2543146104f05780633a871fe11461050357600080fd5b80632f2ff15d146104a657806331f61bca146104b957806333960459146104cc57600080fd5b80631f787d281161031a578063248a9ca3116102f4578063248a9ca31461042357806328c309e9146104475780632b38c69c1461044f5780632c611c4a1461047a57600080fd5b80631f787d28146103f0578063223e5479146103fd57806322bcf9991461041057600080fd5b80630d12bbdb1161034b5780630d12bbdb146103b55780630d4a8b49146103ca578063175188e8146103dd57600080fd5b806301ffc9a7146103725780630331383c1461039a57806308386eba146103ac575b600080fd5b61038561038036600461377d565b6108b8565b60405190151581526020015b60405180910390f35b6003545b604051908152602001610391565b61039e60055481565b6103c86103c33660046137a7565b610908565b005b6103c86103d83660046137e5565b610992565b6103c86103eb36600461381e565b610cf9565b6002546103859060ff1681565b6103c861040b36600461381e565b610d0d565b6103c861041e3660046137e5565b610d1e565b61039e6104313660046137a7565b6000908152600160208190526040909120015490565b61039e610e2d565b61046261045d36600461383b565b610f17565b6040516001600160a01b039091168152602001610391565b61039e61048836600461381e565b6001600160a01b031660009081526013602052604090206001015490565b6103c86104b4366004613867565b610f4f565b6103c86104c73660046137a7565b610f7a565b61039e60095481565b6103c8610fb7565b6103c86104eb366004613867565b6113bc565b6103c86104fe36600461381e565b61144d565b61038561051136600461381e565b60116020526000908152604090205460ff1681565b6103856105343660046137e5565b601560209081526000928352604080842090915290825290205460ff1681565b6103c86105623660046137a7565b6114ba565b600854610462906001600160a01b031681565b6103c86105883660046137a7565b611794565b61039e61059b3660046137e5565b601260209081526000928352604080842090915290825290205481565b6103c86105c63660046137e5565b611b4e565b600a54610462906001600160a01b031681565b600d54610462906001600160a01b031681565b6103c86105ff3660046137a7565b611d59565b61039e6106123660046137e5565b6001600160a01b03918216600090815260126020908152604080832093909416825291909152205490565b61039e60035481565b600b54610462906001600160a01b031681565b6103c86106673660046137a7565b611deb565b6106a861067a36600461381e565b6013602052600090815260409020805460018201546002909201546001600160a01b03909116919060ff1683565b604080516001600160a01b0390941684526020840192909252151590820152606001610391565b61039e60045481565b6103856106e6366004613867565b60009182526001602090815260408084206001600160a01b0393909316845291905290205460ff1690565b6103c861071f366004613a50565b611e9c565b610737610732366004613cab565b612388565b604080519283526001600160a01b03909116602083015201610391565b61039e7fbc6bbe35ebc64943402c04d2ae016d7bd2bba28e1a11cf66be743c9bd74c720b81565b61046273eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b61039e600081565b6103856107ac36600461381e565b6001600160a01b039081166000908152601360209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff161515910181905290565b600654610462906001600160a01b031681565b6103c86123d2565b61081861241e565b6040516103919190613d5e565b6103c86124ac565b61039e61260f565b61081861261f565b6103c861084b366004613867565b61262c565b600e54610462906001600160a01b031681565b61039e61271081565b600c54610462906001600160a01b031681565b61038561088d36600461381e565b612652565b600754610462906001600160a01b031681565b6107376108b3366004613d71565b612692565b60006001600160e01b031982167f7965db0b00000000000000000000000000000000000000000000000000000000148061090257506301ffc9a760e01b6001600160e01b03198316145b92915050565b610910612811565b61091d612710600a613dfd565b811115610956576040517ffe925f7d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60048190556040518181527f611668bfcf654a99c33cdb66c29ec37a5aae5c1287d2d9715a24e18cb4d806d6906020015b60405180910390a150565b61099b82612879565b6109a4816128dc565b6109ad8161292e565b6001600160a01b0380831660009081526015602090815260408083209385168352929052205460ff1615610a0d576040517fd5b9bc9600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0380831660009081526013602090815260409182902082516060810184528154909416845260018101549184018290526002015460ff161515918301919091526003805490846001600160a01b031663c32921716040518163ffffffff1660e01b81526004016020604051808303816000875af1158015610a99573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610abd9190613e2a565b6003811115610ace57610ace613e14565b03610b4d5760405163782aadff60e01b81526001600160a01b0386811660048301526000602483015285169063782aadff906044016020604051808303816000875af1158015610b22573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b469190613e47565b9050610c3f565b6000846001600160a01b031663c32921716040518163ffffffff1660e01b81526004016020604051808303816000875af1158015610b8f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bb39190613e2a565b6003811115610bc457610bc4613e14565b14610c3f5760405163782aadff60e01b81526001600160a01b0386811660048301526024820184905285169063782aadff906044016020604051808303816000875af1158015610c18573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c3c9190613e47565b90505b6001600160a01b038581166000818152601260209081526040808320948916808452948252808320869055838352601582528083208584528252808320805460ff19166001908117909155848452601483528184208054918201815584529282902090920180546001600160a01b0319168517905581519283528201929092529081018290527ff56fa57e85e169a12200d12d9921ec069b52e688f6d309d9dab7bceff54614ec9060600160405180910390a15050505050565b610d01612811565b610d0a8161296e565b50565b610d15612811565b610d0a816129c8565b610d2782612879565b610d308161292e565b610d3a3382612a6f565b6001600160a01b0380831660009081526015602090815260408083209385168352929052205460ff16610d99576040517fc12369dc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038083166000818152601560209081526040808320948616808452948252808320805460ff191690559282526012815282822093825292909252812055610de78282612aba565b604080516001600160a01b038085168252831660208201527ede109bef4619f7e2cf00c8e5a50ca55f8deb44f87087eed414a91dbf8d1d1b910160405180910390a15050565b6007546000906001600160a01b031681610e4a6127106064613dfd565b600454600354610e5a9190613dfd565b610e649190613e60565b90506000610e756127106064613dfd565b6040516302a64b8360e21b81523060048201526001600160a01b03851690630a992e0c90602401602060405180830381865afa158015610eb9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610edd9190613e47565b600354610eea9190613dfd565b610ef49190613e60565b90508082600354610f059190613e82565b610f0f9190613e82565b935050505090565b60146020528160005260406000208181548110610f3357600080fd5b6000918252602090912001546001600160a01b03169150829050565b60008281526001602081905260409091200154610f6b81612bdc565b610f758383612be6565b505050565b610f82612811565b60038190556040518181527f5bcc2c453001fb0e2ba6266d56ecb411e7c6e15c8f9c3d301f93dd36ad25726f90602001610987565b610fbf612c6d565b33600081815260136020526040812060075490916001600160a01b0390911690610fec6127106064613dfd565b600454600354610ffc9190613dfd565b6110069190613e60565b905060006110176127106064613dfd565b6040516302a64b8360e21b81523060048201526001600160a01b03851690630a992e0c90602401602060405180830381865afa15801561105b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061107f9190613e47565b60035461108c9190613dfd565b6110969190613e60565b6001600160a01b038087166000908152601360209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff16151591018190529091506113ab5760028401805460ff191660019081179091556003549085015560408051808201909152600b81527f67617264656e546f6b656e0000000000000000000000000000000000000000006020820152600c5461114691906001600160a01b0316612cc6565b6111788530838560035461115a9190613e82565b6111649190613e82565b600c546001600160a01b0316929190612d24565b6111b76040518060400160405280601281526020017f636f6d6d756e697479466565416d6f756e74000000000000000000000000000081525083612da8565b81156112245760408051808201909152600b81527f6665655265636569766572000000000000000000000000000000000000000000602082015260065461120791906001600160a01b0316612cc6565b600654600c54611224916001600160a01b03918216911684612e06565b6112636040518060400160405280601081526020017f67617264656e73466565416d6f756e740000000000000000000000000000000081525082612da8565b8015611364576112ec6040518060600160405280602681526020016145fa60269139846001600160a01b031663987435be6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112c3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112e79190613e95565b612cc6565b611364836001600160a01b031663987435be6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561132d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113519190613e95565b600c546001600160a01b03169083612e06565b600354604080516001600160a01b038816815260208101929092527f67e0244e28040fec15240cd4b6c04c776a2a0278caef23b59e8ada1df31f7689910160405180910390a15b50505050506113ba6001600055565b565b6001600160a01b038116331461143f5760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201527f20726f6c657320666f722073656c66000000000000000000000000000000000060648201526084015b60405180910390fd5b6114498282612e36565b5050565b611455612811565b61145e8161292e565b600a80546001600160a01b0319166001600160a01b03838116918217909255600d546040805191909316815260208101919091527f83eac9fdaff0ac1017624b7eddeb9782e3d707cd894073cb7e8301a41c6e5cf89101610987565b6114c2612c6d565b6114ca612eb9565b3360008181526014602090815260408083208054825181850281018501909352808352919290919083018282801561152b57602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831161150d575b50505050509050600080600090505b82518110156116fb5782818151811061155557611555613eb2565b602090810291909101015160405163782aadff60e01b81526001600160a01b038681166004830152602482018890529091169063782aadff906044016020604051808303816000875af11580156115b0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115d49190613e47565b915081156116e9576001600160a01b0384166000908152601260205260408120845184929086908590811061160b5761160b613eb2565b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060008282546116429190613e82565b925050819055506116e96040518060400160405280600e81526020017f537472617465677920706f77657200000000000000000000000000000000000081525060126000876001600160a01b03166001600160a01b0316815260200190815260200160002060008685815181106116bb576116bb613eb2565b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002054612da8565b806116f381613ec8565b91505061153a565b50600c54611714906001600160a01b0316843087612d24565b6001600160a01b0383166000908152601360205260408120600101805486929061173f908490613e82565b9091555050604080516001600160a01b0385168152602081018690527f576605f9bfe8911e7508bed3763c7c5c8eb3b86e8b360b90a4bc6abe1104cb7f91015b60405180910390a1505050610d0a6001600055565b61179c612c6d565b6117a4612eb9565b336000818152601460209081526040808320600354601390935290832060010154909291906117d4908690613ee1565b101561180c576040517f9c47d02e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600c54611823906001600160a01b03168486612e06565b60005b8254811015611ade57600083828154811061184357611843613eb2565b6000918252602090912001546001600160a01b0316905061186b8163f1801e6160e01b612f18565b15611a12576040517f2ed04b2b0000000000000000000000000000000000000000000000000000000081526001600160a01b03868116600483015260248201889052821690632ed04b2b906044016020604051808303816000875af11580156118d8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118fc9190613e47565b9250600060126000876001600160a01b03166001600160a01b03168152602001908152602001600020600086858154811061193957611939613eb2565b60009182526020808320909101546001600160a01b031683528201929092526040019020549050808411156119a4576040517f8a11f3180000000000000000000000000000000000000000000000000000000081526004810185905260248101829052604401611436565b6001600160a01b038616600090815260126020526040812086548692908890879081106119d3576119d3613eb2565b60009182526020808320909101546001600160a01b0316835282019290925260400181208054909190611a07908490613ee1565b909155505050611acb565b83548490611a2290600190613ee1565b81548110611a3257611a32613eb2565b9060005260206000200160009054906101000a90046001600160a01b0316848381548110611a6257611a62613eb2565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555083805480611aa057611aa0613ef4565b600082815260209020810160001990810180546001600160a01b0319169055019055611acb8161296e565b5080611ad681613ec8565b915050611826565b506001600160a01b03831660009081526013602052604081206001018054869290611b0a908490613ee1565b9091555050604080516001600160a01b0385168152602081018690527f6ee2c70b2d6b89ae808a2313aab43e925c06624271419cd665d85cfa1ae04ff8910161177f565b611b56612c6d565b611b5e612811565b60025460ff16611b9a576040517fcb63dc7200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038083166000908152601360209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff1615159101819052611bfd57604051636a5cfb6d60e01b815260040160405180910390fd5b6001600160a01b038083166000908152601360209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff16151590820152611c4b83612f3b565b6001600160a01b03838116600090815260136020908152604080832080546001600160a01b031916815560018101939093556002909201805460ff19169055600c5490840151915163a9059cbb60e01b8152858416600482015260248101929092529091169063a9059cbb906044016020604051808303816000875af1158015611cd9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cfd9190613f0a565b50602080820151604080516001600160a01b0380881682528616938101939093528201527fb5946f249f8744efe9d14d49a483b54a589b1362944ff6694de93456cceb96a39060600160405180910390a1506114496001600055565b611d61612811565b600e5460405163068bcd8d60e01b8152600481018390526000916001600160a01b03169063068bcd8d90602401600060405180830381865afa158015611dab573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611dd39190810190613f27565b602001519050611de28161292e565b6114498161296e565b611df3612811565b600e5460405163068bcd8d60e01b8152600481018390526000916001600160a01b03169063068bcd8d90602401600060405180830381865afa158015611e3d573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611e659190810190613f27565b602001519050611e748161292e565b611e8e6001600160a01b03821663f1801e6160e01b612f18565b1561144957611449816129c8565b611ea9816020015161292e565b611eb781610100015161292e565b8051611ec29061292e565b611ecf8160a0015161292e565b611edd81610180015161292e565b606081015115611ef457611ef48160c0015161292e565b8051600e80546001600160a01b039283166001600160a01b0319918216179091556020830151600c80549190931691161790556040810151600003611f65576040517fc70d18aa00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604081015160035560608101516004556101408101516002805460ff1916911515919091179055610120810151600f90611f9f90826140d1565b50610160810151601090611fb390826140d1565b5060a0810151600780546001600160a01b03199081166001600160a01b039384161790915560c0830151600680548316918416919091179055610100830151600d8054831682851617905561018084015160088054909316931692909217905561203e907fbc6bbe35ebc64943402c04d2ae016d7bd2bba28e1a11cf66be743c9bd74c720b90612be6565b600e60009054906101000a90046001600160a01b03166001600160a01b0316635ab1bd536040518163ffffffff1660e01b8152600401602060405180830381865afa158015612091573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120b59190613e95565b600b80546001600160a01b0319166001600160a01b03928316179055600d54604080517fa0e67e2b0000000000000000000000000000000000000000000000000000000081529051600093929092169163a0e67e2b9160048082019286929091908290030181865afa15801561212f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526121579190810190614191565b90506000815160026121699190613e82565b67ffffffffffffffff8111156121815761218161388c565b6040519080825280602002602001820160405280156121aa578160200160208202803683370190505b50905060005b825181101561220f578281815181106121cb576121cb613eb2565b60200260200101518282815181106121e5576121e5613eb2565b6001600160a01b03909216602092830291909101909101528061220781613ec8565b9150506121b0565b50600d5481516001600160a01b0390911690829061222f90600190613ee1565b8151811061223f5761223f613eb2565b60200260200101906001600160a01b031690816001600160a01b03168152505030816002835161226f9190613ee1565b8151811061227f5761227f613eb2565b6001600160a01b039283166020918202929092010152600b54608085015160e08601516040517f3a92f65f0000000000000000000000000000000000000000000000000000000081529290931692633a92f65f926122e79291600f9130908890600401614323565b6020604051808303816000875af1158015612306573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061232a9190613e47565b60055580516123409060169060208401906136e9565b507f2f2ffcb06f8a1d35e2716f6b43ef2c19bfa76467d8f66964ae12c2583ed03205600554600f8560e0015160405161237b93929190614371565b60405180910390a1505050565b60085460098054600092839283926123b7926001600160a01b031691846123ae83613ec8565b9190505561305d565b90506123c581878787612692565b9250925050935093915050565b600a546001600160a01b03163314612416576040517febcd0d6e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6113ba6130b1565b6010805461242b90614049565b80601f016020809104026020016040519081016040528092919081815260200182805461245790614049565b80156124a45780601f10612479576101008083540402835291602001916124a4565b820191906000526020600020905b81548152906001019060200180831161248757829003601f168201915b505050505081565b6124b4612c6d565b336124be81612879565b6124c781612f3b565b6001600160a01b0380821660008181526013602090815260408083208151606081018352815496871681526001820180548286015260028301805460ff81161515848701529787526001600160a01b03199098169092559084905560ff1990941690945560149052918220909161253e919061374e565b600c54602082015160405163a9059cbb60e01b81526001600160a01b038581166004830152602482019290925291169063a9059cbb906044016020604051808303816000875af1158015612596573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125ba9190613f0a565b50602080820151604080516001600160a01b0386168152928301919091527fa13f4668aacb68c4e9eed8e3f6e1cbec3eca776896ec46b5eabcc3983fc8f5f4910160405180910390a150506113ba6001600055565b61261c612710600a613dfd565b81565b600f805461242b90614049565b6000828152600160208190526040909120015461264881612bdc565b610f758383612e36565b6001600160a01b03811660009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604081205460ff16610902565b60008073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6001600160a01b038616156126bc5750845b8691506000601680548060200260200160405190810160405280929190818152602001828054801561271757602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116126f9575b5050600e546005546040519596506001600160a01b039091169463e1007d4a945090925087915061274c908b906020016143ba565b6040516020818303038152906040528660008b886040518863ffffffff1660e01b81526004016127829796959493929190614452565b6020604051808303816000875af11580156127a1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127c59190613e47565b93507f778cac0ae0b66477341553a4a89398c61ccf448313d3354ad0ca85a5a825d2838484308a896040516127fe9594939291906144be565b60405180910390a1505094509492505050565b3360009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604090205460ff166113ba576040517ff62651fa00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038082166000908152601360209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff1615159101819052610d0a57604051636a5cfb6d60e01b815260040160405180910390fd5b6001600160a01b03811660009081526011602052604090205460ff16610d0a576040517f46c26e4b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038116610d0a576040517fe622e04000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6129778161292e565b6001600160a01b038116600081815260116020908152604091829020805460ff1916905590519182527f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea49101610987565b6001600160a01b03811660009081526011602052604090205460ff1615612a1b576040517f968a4d2c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038116600081815260116020908152604091829020805460ff1916600117905590519182527f3f008fd510eae7a9e7bee13513d7b83bef8003d488b5a3d0b0da4de71d6846f19101610987565b806001600160a01b0316826001600160a01b031614611449576040517fbbe7961100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0382166000908152601460205260408120905b8154811015612bd657826001600160a01b0316828281548110612af957612af9613eb2565b6000918252602090912001546001600160a01b031603612bc45781548290612b2390600190613ee1565b81548110612b3357612b33613eb2565b9060005260206000200160009054906101000a90046001600160a01b0316828281548110612b6357612b63613eb2565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555081805480612ba157612ba1613ef4565b600082815260209020810160001990810180546001600160a01b03191690550190555b80612bce81613ec8565b915050612ad4565b50505050565b610d0a813361310c565b60008281526001602090815260408083206001600160a01b038516845290915290205460ff166114495760008281526001602081815260408084206001600160a01b0386168086529252808420805460ff19169093179092559051339285917f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d9190a45050565b600260005403612cbf5760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401611436565b6002600055565b6114498282604051602401612cdc9291906144f8565b60408051601f198184030181529190526020810180516001600160e01b03167f319af33300000000000000000000000000000000000000000000000000000000179052613181565b6040516001600160a01b0380851660248301528316604482015260648101829052612bd69085907f23b872dd00000000000000000000000000000000000000000000000000000000906084015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091526131a2565b6114498282604051602401612dbe929190614523565b60408051601f198184030181529190526020810180516001600160e01b03167f9710a9d000000000000000000000000000000000000000000000000000000000179052613181565b6040516001600160a01b038316602482015260448101829052610f7590849063a9059cbb60e01b90606401612d71565b60008281526001602090815260408083206001600160a01b038516845290915290205460ff16156114495760008281526001602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b33600090815260136020908152604091829020825160608101845281546001600160a01b031681526001820154928101929092526002015460ff16151591018190526113ba57604051636a5cfb6d60e01b815260040160405180910390fd5b6000612f238361328a565b8015612f345750612f3483836132bd565b9392505050565b6001600160a01b038116600090815260146020908152604080832080548251818502810185019093528083529192909190830182828015612fa557602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311612f87575b5050505050905060005b8151811015610f7557818181518110612fca57612fca613eb2565b60209081029190910101516040517f6453d9c40000000000000000000000000000000000000000000000000000000081526001600160a01b03858116600483015290911690636453d9c490602401600060405180830381600087803b15801561303257600080fd5b505af1158015613046573d6000803e3d6000fd5b50505050808061305590613ec8565b915050612faf565b6040516bffffffffffffffffffffffff193360601b1660208201526034810182905260009081906054016040516020818303038152906040528051906020012090506130a98482613346565b949350505050565b600a8054600d80546001600160a01b0383166001600160a01b031991821617909155169055604051600081527fad0399dc40331b9a4977aa89da7a164a3fd482c65e6da73b25a94ea74fb688729060200160405180910390a1565b60008281526001602090815260408083206001600160a01b038516845290915290205460ff166114495761313f816133e3565b61314a8360206133f5565b60405160200161315b929190614545565b60408051601f198184030181529082905262461bcd60e51b825261143691600401613d5e565b80516a636f6e736f6c652e6c6f67602083016000808483855afa5050505050565b60006131f7826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166135d69092919063ffffffff16565b90508051600014806132185750808060200190518101906132189190613f0a565b610f755760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152608401611436565b600061329d826301ffc9a760e01b6132bd565b801561090257506132b6826001600160e01b03196132bd565b1592915050565b604080516001600160e01b03198316602480830191909152825180830390910181526044909101909152602080820180516001600160e01b03166301ffc9a760e01b178152825160009392849283928392918391908a617530fa92503d9150600051905082801561332f575060208210155b801561333b5750600081115b979650505050505050565b6000763d602d80600a3d3981f3363d3d373d3d3d363d730000008360601b60e81c176000526e5af43d82803e903d91602b57fd5bf38360781b1760205281603760096000f590506001600160a01b0381166109025760405162461bcd60e51b815260206004820152601760248201527f455243313136373a2063726561746532206661696c65640000000000000000006044820152606401611436565b60606109026001600160a01b03831660145b60606000613404836002613dfd565b61340f906002613e82565b67ffffffffffffffff8111156134275761342761388c565b6040519080825280601f01601f191660200182016040528015613451576020820181803683370190505b5090507f30000000000000000000000000000000000000000000000000000000000000008160008151811061348857613488613eb2565b60200101906001600160f81b031916908160001a9053507f7800000000000000000000000000000000000000000000000000000000000000816001815181106134d3576134d3613eb2565b60200101906001600160f81b031916908160001a90535060006134f7846002613dfd565b613502906001613e82565b90505b6001811115613587577f303132333435363738396162636465660000000000000000000000000000000085600f166010811061354357613543613eb2565b1a60f81b82828151811061355957613559613eb2565b60200101906001600160f81b031916908160001a90535060049490941c93613580816145c6565b9050613505565b508315612f345760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401611436565b60606130a9848460008585600080866001600160a01b031685876040516135fd91906145dd565b60006040518083038185875af1925050503d806000811461363a576040519150601f19603f3d011682016040523d82523d6000602084013e61363f565b606091505b509150915061333b87838387606083156136ba5782516000036136b3576001600160a01b0385163b6136b35760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401611436565b50816130a9565b6130a983838151156136cf5781518083602001fd5b8060405162461bcd60e51b81526004016114369190613d5e565b82805482825590600052602060002090810192821561373e579160200282015b8281111561373e57825182546001600160a01b0319166001600160a01b03909116178255602090920191600190910190613709565b5061374a929150613768565b5090565b5080546000825590600052602060002090810190610d0a91905b5b8082111561374a5760008155600101613769565b60006020828403121561378f57600080fd5b81356001600160e01b031981168114612f3457600080fd5b6000602082840312156137b957600080fd5b5035919050565b6001600160a01b0381168114610d0a57600080fd5b80356137e0816137c0565b919050565b600080604083850312156137f857600080fd5b8235613803816137c0565b91506020830135613813816137c0565b809150509250929050565b60006020828403121561383057600080fd5b8135612f34816137c0565b6000806040838503121561384e57600080fd5b8235613859816137c0565b946020939093013593505050565b6000806040838503121561387a57600080fd5b823591506020830135613813816137c0565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff811182821017156138c5576138c561388c565b60405290565b6040516101a0810167ffffffffffffffff811182821017156138c5576138c561388c565b604051610120810167ffffffffffffffff811182821017156138c5576138c561388c565b60405160c0810167ffffffffffffffff811182821017156138c5576138c561388c565b604051601f8201601f1916810167ffffffffffffffff8111828210171561395f5761395f61388c565b604052919050565b600067ffffffffffffffff8211156139815761398161388c565b50601f01601f191660200190565b600082601f8301126139a057600080fd5b81356139b36139ae82613967565b613936565b8181528460208386010111156139c857600080fd5b816020850160208301376000918101602001919091529392505050565b6000604082840312156139f757600080fd5b6139ff6138a2565b905081358152602082013567ffffffffffffffff811115613a1f57600080fd5b613a2b8482850161398f565b60208301525092915050565b8015158114610d0a57600080fd5b80356137e081613a37565b600060208284031215613a6257600080fd5b813567ffffffffffffffff80821115613a7a57600080fd5b908301906101a08286031215613a8f57600080fd5b613a976138cb565b613aa0836137d5565b8152613aae602084016137d5565b6020820152604083013560408201526060830135606082015260808301356080820152613add60a084016137d5565b60a0820152613aee60c084016137d5565b60c082015260e083013582811115613b0557600080fd5b613b11878286016139e5565b60e083015250610100613b258185016137d5565b908201526101208381013583811115613b3d57600080fd5b613b498882870161398f565b828401525050610140613b5d818501613a45565b908201526101608381013583811115613b7557600080fd5b613b818882870161398f565b8284015250506101809150613b978284016137d5565b91810191909152949350505050565b8035600381106137e057600080fd5b60048110610d0a57600080fd5b80356137e081613bb5565b600060208284031215613bdf57600080fd5b6040516020810181811067ffffffffffffffff82111715613c0257613c0261388c565b6040529135825250919050565b60006101208284031215613c2257600080fd5b613c2a6138ef565b9050613c35826137d5565b815260208201356020820152604082013560408201526060820135606082015260808201356080820152613c6b60a08301613ba6565b60a0820152613c7c60c08301613bc2565b60c0820152613c8e8360e08401613bcd565b60e0820152610100613ca18184016137d5565b9082015292915050565b60008060006101608486031215613cc157600080fd5b8335613ccc816137c0565b9250613cdb8560208601613c0f565b915061014084013567ffffffffffffffff811115613cf857600080fd5b613d04868287016139e5565b9150509250925092565b60005b83811015613d29578181015183820152602001613d11565b50506000910152565b60008151808452613d4a816020860160208601613d0e565b601f01601f19169290920160200192915050565b602081526000612f346020830184613d32565b6000806000806101808587031215613d8857600080fd5b8435613d93816137c0565b93506020850135613da3816137c0565b9250613db28660408701613c0f565b915061016085013567ffffffffffffffff811115613dcf57600080fd5b613ddb878288016139e5565b91505092959194509250565b634e487b7160e01b600052601160045260246000fd5b808202811582820484141761090257610902613de7565b634e487b7160e01b600052602160045260246000fd5b600060208284031215613e3c57600080fd5b8151612f3481613bb5565b600060208284031215613e5957600080fd5b5051919050565b600082613e7d57634e487b7160e01b600052601260045260246000fd5b500490565b8082018082111561090257610902613de7565b600060208284031215613ea757600080fd5b8151612f34816137c0565b634e487b7160e01b600052603260045260246000fd5b600060018201613eda57613eda613de7565b5060010190565b8181038181111561090257610902613de7565b634e487b7160e01b600052603160045260246000fd5b600060208284031215613f1c57600080fd5b8151612f3481613a37565b60006020808385031215613f3a57600080fd5b825167ffffffffffffffff80821115613f5257600080fd5b9084019060c08287031215613f6657600080fd5b613f6e613913565b8251815283830151613f7f816137c0565b818501526040830151613f91816137c0565b6040820152606083015182811115613fa857600080fd5b830160408189031215613fba57600080fd5b613fc26138a2565b815181528582015184811115613fd757600080fd5b82019350601f84018913613fea57600080fd5b83519150613ffa6139ae83613967565b828152898784870101111561400e57600080fd5b61401d83888301898801613d0e565b95810195909552506060810193909352506080818101519083015260a090810151908201529392505050565b600181811c9082168061405d57607f821691505b60208210810361407d57634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115610f7557600081815260208120601f850160051c810160208610156140aa5750805b601f850160051c820191505b818110156140c9578281556001016140b6565b505050505050565b815167ffffffffffffffff8111156140eb576140eb61388c565b6140ff816140f98454614049565b84614083565b602080601f831160018114614134576000841561411c5750858301515b600019600386901b1c1916600185901b1785556140c9565b600085815260208120601f198616915b8281101561416357888601518255948401946001909101908401614144565b50858210156141815787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b600060208083850312156141a457600080fd5b825167ffffffffffffffff808211156141bc57600080fd5b818501915085601f8301126141d057600080fd5b8151818111156141e2576141e261388c565b8060051b91506141f3848301613936565b818152918301840191848101908884111561420d57600080fd5b938501935b838510156142375784519250614227836137c0565b8282529385019390850190614212565b98975050505050505050565b6000815461425081614049565b80855260206001838116801561426d5760018114614287576142b5565b60ff1985168884015283151560051b8801830195506142b5565b866000528260002060005b858110156142ad5781548a8201860152908301908401614292565b890184019650505b505050505092915050565b8051825260006020820151604060208501526130a96040850182613d32565b600081518084526020808501945080840160005b838110156143185781516001600160a01b0316875295820195908201906001016142f3565b509495945050505050565b85815260a06020820152600061433c60a0830187614243565b828103604084015261434e81876142c0565b90506001600160a01b0385166060840152828103608084015261423781856142df565b83815260606020820152600061438a6060830185614243565b828103604084015261439c81856142c0565b9695505050505050565b600481106143b6576143b6613e14565b9052565b6000610120820190506001600160a01b0383511682526020830151602083015260408301516040830152606083015160608301526080830151608083015260a08301516003811061440d5761440d613e14565b8060a08401525060c083015161442660c08401826143a6565b5060e083015161443960e0840182519052565b50610100928301516001600160a01b0316919092015290565b87815260006001600160a01b03808916602084015260e0604084015261447b60e0840189613d32565b818816606085015286608085015283810360a085015261449b81876142c0565b91505082810360c08401526144b081856142df565b9a9950505050505050505050565b85815260006001600160a01b038087166020840152808616604084015280851660608401525060a0608083015261333b60a08301846142c0565b60408152600061450b6040830185613d32565b90506001600160a01b03831660208301529392505050565b6040815260006145366040830185613d32565b90508260208301529392505050565b7f416363657373436f6e74726f6c3a206163636f756e742000000000000000000081526000835161457d816017850160208801613d0e565b7f206973206d697373696e6720726f6c652000000000000000000000000000000060179184019182015283516145ba816028840160208801613d0e565b01602801949350505050565b6000816145d5576145d5613de7565b506000190190565b600082516145ef818460208701613d0e565b919091019291505056fe67617264656e73466163746f72792e67657447617264656e7346656552656365697665722829a2646970667358221220540d32ab4f01c7a604fe4a0814f512521bb48df079211c6379c9d265c28ddd8564736f6c63430008130033","sourceMap":"1641:21524:133:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2732:202:58;;;;;;:::i;:::-;;:::i;:::-;;;516:14:151;;509:22;491:41;;479:2;464:18;2732:202:58;;;;;;;;20900:107:133;20981:19;;20900:107;;;689:25:151;;;677:2;662:18;20900:107:133;543:177:151;6545:24:133;;;;;;21201:280;;;;;;:::i;:::-;;:::i;:::-;;10877:1179;;;;;;:::i;:::-;;:::i;17592:120::-;;;;;;:::i;:::-;;:::i;6303:25::-;;;;;;;;;16650:120;;;;;;:::i;:::-;;:::i;12062:691::-;;;;;;:::i;:::-;;:::i;4504:129:58:-;;;;;;:::i;:::-;4578:7;4604:12;;;:6;:12;;;;;;;;:22;;;4504:129;20427:467:133;;;:::i;7420:82::-;;;;;;:::i;:::-;;:::i;:::-;;;-1:-1:-1;;;;;2836:55:151;;;2818:74;;2806:2;2791:18;7420:82:133;2672:226:151;16059:143:133;;;;;;:::i;:::-;-1:-1:-1;;;;;16154:28:133;16128:7;16154:28;;;:19;:28;;;;;:41;;;;16059:143;4929:145:58;;;;;;:::i;:::-;;:::i;21013:182:133:-;;;;;;:::i;:::-;;:::i;6725:25::-;;;;;;18514:1907;;;:::i;6038:214:58:-;;;;;;:::i;:::-;;:::i;17718:240:133:-;;;;;;:::i;:::-;;:::i;7175:68::-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;7508:107;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;13190:998;;;;;;:::i;:::-;;:::i;6688:31::-;;;;;-1:-1:-1;;;;;6688:31:133;;;14328:1554;;;;;;:::i;:::-;;:::i;7249:98::-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;22592:571;;;;;;:::i;:::-;;:::i;6756:41::-;;;;;-1:-1:-1;;;;;6756:41:133;;;6937:24;;;;;-1:-1:-1;;;;;6937:24:133;;;17165:229;;;;;;:::i;:::-;;:::i;15888:165::-;;;;;;:::i;:::-;-1:-1:-1;;;;;16005:30:133;;;15979:7;16005:30;;;:21;:30;;;;;;;;:41;;;;;;;;;;;;;15888:165;6472:34;;;;;;6875:25;;;;;-1:-1:-1;;;;;6875:25:133;;;16331:313;;;;;;:::i;:::-;;:::i;7354:60::-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7354:60:133;;;;;;;;;;;;;-1:-1:-1;;;;;4439:55:151;;;4421:74;;4526:2;4511:18;;4504:34;;;;4581:14;4574:22;4554:18;;;4547:50;4409:2;4394:18;7354:60:133;4225:378:151;6512:27:133;;;;;;3021:145:58;;;;;;:::i;:::-;3107:4;3130:12;;;:6;:12;;;;;;;;-1:-1:-1;;;;;3130:29:58;;;;;;;;;;;;;;;3021:145;7920:1945:133;;;;;;:::i;:::-;;:::i;9871:341::-;;;;;;:::i;:::-;;:::i;:::-;;;;11670:25:151;;;-1:-1:-1;;;;;11731:55:151;;;11726:2;11711:18;;11704:83;11643:18;9871:341:133;11496:297:151;2053:82:133;;2101:34;2053:82;;1807:75;;1840:42;1807:75;;2153:49:58;;2198:4;2153:49;;18326:182:133;;;;;;:::i;:::-;-1:-1:-1;;;;;18434:28:133;;;18382:14;18434:28;;;:19;:28;;;;;;;;;18408:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18326:182;6620:26;;;;;-1:-1:-1;;;;;6620:26:133;;;18149:171;;;:::i;7081:30::-;;;:::i;:::-;;;;;;;:::i;21661:453::-;;;:::i;7708:54::-;;;:::i;7048:27::-;;;:::i;5354:147:58:-;;;;;;:::i;:::-;;:::i;6967:17:133:-;;;;;-1:-1:-1;;;;;6967:17:133;;;7653:49;;7695:7;7653:49;;6906:25;;;;;-1:-1:-1;;;;;6906:25:133;;;21523:132;;;;;;:::i;:::-;;:::i;6652:30::-;;;;;-1:-1:-1;;;;;6652:30:133;;;10218:653;;;;;;:::i;:::-;;:::i;2732:202:58:-;2817:4;-1:-1:-1;;;;;;2840:47:58;;2855:32;2840:47;;:87;;-1:-1:-1;;;;;;;;;;937:40:84;;;2891:36:58;2833:94;2732:202;-1:-1:-1;;2732:202:58:o;21201:280:133:-;21269:17;:15;:17::i;:::-;7742:20;7695:7;7742:2;:20;:::i;:::-;21300:16;:26;21296:86;;;21349:22;;;;;;;;;;;;;;21296:86;21391:12;:31;;;21437:37;;689:25:151;;;21437:37:133;;677:2:151;662:18;21437:37:133;;;;;;;;21201:280;:::o;10877:1179::-;10964:34;10990:7;10964:25;:34::i;:::-;11008:30;11028:9;11008:19;:30::i;:::-;11048:29;11067:9;11048:18;:29::i;:::-;-1:-1:-1;;;;;11092:36:133;;;;;;;:27;:36;;;;;;;;:47;;;;;;;;;;;;11088:107;;;11162:22;;;;;;;;;;;;;;11088:107;-1:-1:-1;;;;;11228:28:133;;;11205:20;11228:28;;;:19;:28;;;;;;;;;11205:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11351:19;;;;11400:9;-1:-1:-1;;;;;11385:40:133;;:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:82;;;;;;;;:::i;:::-;;11381:384;;11502:51;;-1:-1:-1;;;11502:51:133;;-1:-1:-1;;;;;14844:55:151;;;11502:51:133;;;14826:74:151;11551:1:133;14916:18:151;;;14909:34;11502:39:133;;;;;14799:18:151;;11502:51:133;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11483:70;;11381:384;;;11620:32;11589:9;-1:-1:-1;;;;;11574:40:133;;:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:78;;;;;;;;:::i;:::-;;11570:195;;11687:67;;-1:-1:-1;;;11687:67:133;;-1:-1:-1;;;;;14844:55:151;;;11687:67:133;;;14826:74:151;14916:18;;;14909:34;;;11687:39:133;;;;;14799:18:151;;11687:67:133;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11668:86;;11570:195;-1:-1:-1;;;;;11775:30:133;;;;;;;:21;:30;;;;;;;;:41;;;;;;;;;;;;:60;;;11864:36;;;:27;:36;;;;;:47;;;;;;;;:54;;-1:-1:-1;;11864:54:133;11914:4;11864:54;;;;;;11929:27;;;:18;:27;;;;;:43;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;11929:43:133;;;;;11988:61;;15708:34:151;;;15758:18;;15751:43;;;;15810:18;;;15803:34;;;11988:61:133;;15635:2:151;15620:18;11988:61:133;;;;;;;10954:1102;;;10877:1179;;:::o;17592:120::-;17652:17;:15;:17::i;:::-;17679:26;17695:9;17679:15;:26::i;:::-;17592:120;:::o;16650:::-;16710:17;:15;:17::i;:::-;16737:26;16750:12;16737;:26::i;12062:691::-;12151:34;12177:7;12151:25;:34::i;:::-;12195:29;12214:9;12195:18;:29::i;:::-;12234:42;12254:10;12266:9;12234:19;:42::i;:::-;-1:-1:-1;;;;;12292:36:133;;;;;;;:27;:36;;;;;;;;:47;;;;;;;;;;;;12287:110;;12362:24;;;;;;;;;;;;;;12287:110;-1:-1:-1;;;;;12407:36:133;;;12457:5;12407:36;;;:27;:36;;;;;;;;:47;;;;;;;;;;;;:55;;-1:-1:-1;;12407:55:133;;;12472:30;;;:21;:30;;;;;:41;;;;;;;;;:45;12527:44;12435:7;12444:9;12527:24;:44::i;:::-;12701:45;;;-1:-1:-1;;;;;16101:15:151;;;16083:34;;16153:15;;16148:2;16133:18;;16126:43;12701:45:133;;15995:18:151;12701:45:133;;;;;;;12062:691;;:::o;20427:467::-;20550:15;;20482:7;;-1:-1:-1;;;;;20550:15:133;20482:7;20645:21;7695:7;20645:3;:21;:::i;:::-;20628:12;;20606:19;;:34;;;;:::i;:::-;20605:62;;;;:::i;:::-;20576:91;-1:-1:-1;20677:24:133;20788:21;7695:7;20788:3;:21;:::i;:::-;20739:44;;-1:-1:-1;;;20739:44:133;;20777:4;20739:44;;;2818:74:151;-1:-1:-1;;;;;20739:29:133;;;;;2791:18:151;;20739:44:133;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;20717:19;;:66;;;;:::i;:::-;20716:94;;;;:::i;:::-;20677:133;;20871:16;20850:18;20828:19;;:40;;;;:::i;:::-;:59;;;;:::i;:::-;20821:66;;;;;20427:467;:::o;7420:82::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7420:82:133;;-1:-1:-1;7420:82:133;;-1:-1:-1;7420:82:133:o;4929:145:58:-;4578:7;4604:12;;;:6;:12;;;;;;;;:22;;2631:16;2642:4;2631:10;:16::i;:::-;5042:25:::1;5053:4;5059:7;5042:10;:25::i;:::-;4929:145:::0;;;:::o;21013:182:133:-;21082:17;:15;:17::i;:::-;21109:19;:32;;;21156;;689:25:151;;;21156:32:133;;677:2:151;662:18;21156:32:133;543:177:151;18514:1907:133;2261:21:69;:19;:21::i;:::-;18596:10:133::1;18578:15;18643:28:::0;;;:19:::1;:28;::::0;;;;18730:15:::1;::::0;18643:28;;-1:-1:-1;;;;;18730:15:133;;::::1;::::0;18825:21:::1;7695:7;18825:3;:21;:::i;:::-;18808:12;;18786:19;;:34;;;;:::i;:::-;18785:62;;;;:::i;:::-;18756:91:::0;-1:-1:-1;18857:24:133::1;18968:21;7695:7;18968:3;:21;:::i;:::-;18919:44;::::0;-1:-1:-1;;;18919:44:133;;18957:4:::1;18919:44;::::0;::::1;2818:74:151::0;-1:-1:-1;;;;;18919:29:133;::::1;::::0;::::1;::::0;2791:18:151;;18919:44:133::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;18897:19;;:66;;;;:::i;:::-;18896:94;;;;:::i;:::-;-1:-1:-1::0;;;;;18434:28:133;;;18382:14;18434:28;;;:19;:28;;;;;;;;;18408:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18857:133;;-1:-1:-1;19000:1415:133::1;;19038:22;::::0;::::1;:29:::0;;-1:-1:-1;;19038:29:133::1;19063:4;19038:29:::0;;::::1;::::0;;;19107:19:::1;::::0;19082:22;;::::1;:44:::0;19212:48:::1;::::0;;;;::::1;::::0;;;::::1;::::0;;::::1;;::::0;::::1;::::0;19247:11:::1;::::0;19212:48:::1;::::0;;-1:-1:-1;;;;;19247:11:133::1;19212;:48::i;:::-;19275:143;19321:7;19338:4;19388:16;19367:18;19345:19;;:40;;;;:::i;:::-;:59;;;;:::i;:::-;19275:11;::::0;-1:-1:-1;;;;;19275:11:133::1;::::0;:143;;:28:::1;:143::i;:::-;19769:53;;;;;;;;;;;;;;;;;::::0;19803:18:::1;19769:11;:53::i;:::-;19840:22:::0;;19836:175:::1;;19882:39;::::0;;;;::::1;::::0;;;::::1;::::0;;::::1;;::::0;::::1;::::0;19909:11:::1;::::0;19882:39:::1;::::0;;-1:-1:-1;;;;;19909:11:133::1;19882;:39::i;:::-;19964:11;::::0;19939::::1;::::0;:57:::1;::::0;-1:-1:-1;;;;;19939:11:133;;::::1;::::0;19964::::1;19977:18:::0;19939:24:::1;:57::i;:::-;20024:49;;;;;;;;;;;;;;;;;::::0;20056:16:::1;20024:11;:49::i;:::-;20091:20:::0;;20087:252:::1;;20131:93;;;;;;;;;;;;;;;;;;20185:14;-1:-1:-1::0;;;;;20185:36:133::1;;:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;20131:11;:93::i;:::-;20242:82;20267:14;-1:-1:-1::0;;;;;20267:36:133::1;;:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;20242:11;::::0;-1:-1:-1;;;;;20242:11:133::1;::::0;20307:16;20242:24:::1;:82::i;:::-;20384:19;::::0;20358:46:::1;::::0;;-1:-1:-1;;;;;14844:55:151;;14826:74;;14931:2;14916:18;;14909:34;;;;20358:46:133::1;::::0;14799:18:151;20358:46:133::1;;;;;;;19000:1415;18568:1853;;;;;2303:20:69::0;1716:1;2809:7;:22;2629:209;2303:20;18514:1907:133:o;6038:214:58:-;-1:-1:-1;;;;;6133:23:58;;719:10:81;6133:23:58;6125:83;;;;-1:-1:-1;;;6125:83:58;;17047:2:151;6125:83:58;;;17029:21:151;17086:2;17066:18;;;17059:30;17125:34;17105:18;;;17098:62;17196:17;17176:18;;;17169:45;17231:19;;6125:83:58;;;;;;;;;6219:26;6231:4;6237:7;6219:11;:26::i;:::-;6038:214;;:::o;17718:240:133:-;17782:17;:15;:17::i;:::-;17809:25;17828:5;17809:18;:25::i;:::-;17844:18;:26;;-1:-1:-1;;;;;;17844:26:133;-1:-1:-1;;;;;17844:26:133;;;;;;;;;17918:11;;17885:66;;;17918:11;;;;16083:34:151;;16148:2;16133:18;;16126:43;;;;17885:66:133;;15995:18:151;17885:66:133;15848:327:151;13190:998:133;2261:21:69;:19;:21::i;:::-;13266:26:133::1;:24;:26::i;:::-;13319:10;13302:14;13375:26:::0;;;:18:::1;:26;::::0;;;;;;;13339:62;;;;;;::::1;::::0;;;;;;;;;;;;13375:26;;13339:62;;::::1;13375:26:::0;13339:62;;::::1;;;;;;;;;;;;;;;;::::0;;-1:-1:-1;;;;;13339:62:133::1;::::0;;;;;::::1;::::0;::::1;;::::0;;::::1;;;;;;;;;;;13412:24;13452:9:::0;13464:1:::1;13452:13;;13447:533;13471:16;:23;13467:1;:27;13447:533;;;13654:16;13671:1;13654:19;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;13639:72:::1;::::0;-1:-1:-1;;;13639:72:133;;-1:-1:-1;;;;;14844:55:151;;;13639:72:133::1;::::0;::::1;14826:74:151::0;14916:18;;;14909:34;;;13639:49:133;;::::1;::::0;::::1;::::0;14799:18:151;;13639:72:133::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13620:91:::0;-1:-1:-1;13729:21:133;;13725:229:::1;;-1:-1:-1::0;;;;;13770:29:133;::::1;;::::0;;;:21:::1;:29;::::0;;;;13800:19;;13824:16;;13770:29;13800:16;;13817:1;;13800:19;::::1;;;;;:::i;:::-;;;;;;;-1:-1:-1::0;;;;;13770:50:133::1;-1:-1:-1::0;;;;;13770:50:133::1;;;;;;;;;;;;;:70;;;;;;;:::i;:::-;;;;;;;;13858:81;;;;;;;;;;;;;;;;;::::0;13888:21:::1;:29;13910:6;-1:-1:-1::0;;;;;13888:29:133::1;-1:-1:-1::0;;;;;13888:29:133::1;;;;;;;;;;;;:50;13918:16;13935:1;13918:19;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1::0;;;;;13888:50:133::1;-1:-1:-1::0;;;;;13888:50:133::1;;;;;;;;;;;;;13858:11;:81::i;:::-;13496:3:::0;::::1;::::0;::::1;:::i;:::-;;;;13447:533;;;-1:-1:-1::0;13990:11:133::1;::::0;:66:::1;::::0;-1:-1:-1;;;;;13990:11:133::1;14019:6:::0;14035:4:::1;14042:13:::0;13990:28:::1;:66::i;:::-;-1:-1:-1::0;;;;;14066:27:133;::::1;;::::0;;;:19:::1;:27;::::0;;;;:40:::1;;:57:::0;;14110:13;;14066:27;:57:::1;::::0;14110:13;;14066:57:::1;:::i;:::-;::::0;;;-1:-1:-1;;14138:43:133::1;::::0;;-1:-1:-1;;;;;14844:55:151;;14826:74;;14931:2;14916:18;;14909:34;;;14138:43:133::1;::::0;14799:18:151;14138:43:133::1;;;;;;;;13256:932;;;2303:20:69::0;1716:1;2809:7;:22;2629:209;14328:1554:133;2261:21:69;:19;:21::i;:::-;14406:26:133::1;:24;:26::i;:::-;14459:10;14442:14;14516:26:::0;;;:18:::1;:26;::::0;;;;;;;14653:19:::1;::::0;14592::::1;:27:::0;;;;;;:40:::1;;::::0;14516:26;;14442:14;14653:19;14592:58:::1;::::0;14635:15;;14592:58:::1;:::i;:::-;:80;14588:140;;;14695:22;;;;;;;;;;;;;;14588:140;14737:11;::::0;:49:::1;::::0;-1:-1:-1;;;;;14737:11:133::1;14762:6:::0;14770:15;14737:24:::1;:49::i;:::-;14801:9;14796:951;14820:23:::0;;14816:27;::::1;14796:951;;;14864:16;14883;14900:1;14883:19;;;;;;;;:::i;:::-;;::::0;;;::::1;::::0;;;::::1;::::0;-1:-1:-1;;;;;14883:19:133::1;::::0;-1:-1:-1;14920:60:133::1;14883:19:::0;-1:-1:-1;;;14920:26:133::1;:60::i;:::-;14916:804;;;15019:63;::::0;;;;-1:-1:-1;;;;;14844:55:151;;;15019:63:133::1;::::0;::::1;14826:74:151::0;14916:18;;;14909:34;;;15019:38:133;::::1;::::0;::::1;::::0;14799:18:151;;15019:63:133::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;15000:82;;15100:20;15123:21;:29;15145:6;-1:-1:-1::0;;;;;15123:29:133::1;-1:-1:-1::0;;;;;15123:29:133::1;;;;;;;;;;;;:50;15153:16;15170:1;15153:19;;;;;;;;:::i;:::-;;::::0;;;::::1;::::0;;;;;::::1;::::0;-1:-1:-1;;;;;15153:19:133::1;15123:50:::0;;;::::1;::::0;;;;;;;;;;-1:-1:-1;15195:31:133;;::::1;15191:259;;;15257:57;::::0;::::1;::::0;;::::1;::::0;::::1;18237:25:151::0;;;18278:18;;;18271:34;;;18210:18;;15257:57:133::1;18063:248:151::0;15191:259:133::1;-1:-1:-1::0;;;;;15361:29:133;::::1;;::::0;;;:21:::1;:29;::::0;;;;15391:19;;15415:16;;15361:29;15391:16;;15408:1;;15391:19;::::1;;;;;:::i;:::-;;::::0;;;::::1;::::0;;;;;::::1;::::0;-1:-1:-1;;;;;15391:19:133::1;15361:50:::0;;;::::1;::::0;;;;;;;;:70;;:50;;15391:19;15361:70:::1;::::0;;;::::1;:::i;:::-;::::0;;;-1:-1:-1;;14982:482:133::1;14916:804;;;15594:23:::0;;15577:16;;15594:27:::1;::::0;15620:1:::1;::::0;15594:27:::1;:::i;:::-;15577:45;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;-1:-1:-1::0;;;;;15577:45:133::1;15555:16;15572:1;15555:19;;;;;;;;:::i;:::-;;;;;;;;;:67;;;;;-1:-1:-1::0;;;;;15555:67:133::1;;;;;-1:-1:-1::0;;;;;15555:67:133::1;;;;;;15640:16;:22;;;;;;;:::i;:::-;;::::0;;;::::1;::::0;;;;-1:-1:-1;;15640:22:133;;;;;-1:-1:-1;;;;;;15640:22:133::1;::::0;;;;;15680:25:::1;15696:8:::0;15680:15:::1;:25::i;:::-;-1:-1:-1::0;14845:3:133;::::1;::::0;::::1;:::i;:::-;;;;14796:951;;;-1:-1:-1::0;;;;;;15756:27:133;::::1;;::::0;;;:19:::1;:27;::::0;;;;:40:::1;;:59:::0;;15800:15;;15756:27;:59:::1;::::0;15800:15;;15756:59:::1;:::i;:::-;::::0;;;-1:-1:-1;;15830:45:133::1;::::0;;-1:-1:-1;;;;;14844:55:151;;14826:74;;14931:2;14916:18;;14909:34;;;15830:45:133::1;::::0;14799:18:151;15830:45:133::1;14644:305:151::0;22592:571:133;2261:21:69;:19;:21::i;:::-;22685:17:133::1;:15;:17::i;:::-;22717:13;::::0;::::1;;22712:68;;22753:16;;;;;;;;;;;;;;22712:68;-1:-1:-1::0;;;;;18434:28:133;;;18382:14;18434:28;;;:19;:28;;;;;;;;;18408:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22789:75:::1;;22834:19;;-1:-1:-1::0;;;22834:19:133::1;;;;;;;;;;;22789:75;-1:-1:-1::0;;;;;22896:28:133;;::::1;22873:20;22896:28:::0;;;:19:::1;:28;::::0;;;;;;;;22873:51;;::::1;::::0;::::1;::::0;;;;;;::::1;::::0;;;;::::1;::::0;;;::::1;::::0;;;;::::1;;::::0;::::1;;;;::::0;;;;22934:32:::1;22916:7:::0;22934:23:::1;:32::i;:::-;-1:-1:-1::0;;;;;22983:28:133;;::::1;;::::0;;;:19:::1;:28;::::0;;;;;;;22976:35;;-1:-1:-1;;;;;;22976:35:133::1;::::0;;-1:-1:-1;22976:35:133;::::1;::::0;;;;::::1;::::0;;::::1;::::0;;-1:-1:-1;;22976:35:133::1;::::0;;23022:11:::1;::::0;23061:19;;::::1;::::0;23022:59;;-1:-1:-1;;;23022:59:133;;14844:55:151;;;23022:59:133::1;::::0;::::1;14826:74:151::0;14916:18;;;14909:34;;;;23022:11:133;;::::1;::::0;:20:::1;::::0;14799:18:151;;23022:59:133::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;23136:19:133::1;::::0;;::::1;::::0;23096:60:::1;::::0;;-1:-1:-1;;;;;15726:15:151;;;15708:34;;15778:15;;15758:18;;;15751:43;;;;15810:18;;15803:34;23096:60:133::1;::::0;15635:2:151;15620:18;23096:60:133::1;;;;;;;22675:488;2303:20:69::0;1716:1;2809:7;:22;2629:209;17165:229:133;17230:17;:15;:17::i;:::-;17284:4;;:20;;-1:-1:-1;;;17284:20:133;;;;;689:25:151;;;17257:16:133;;-1:-1:-1;;;;;17284:4:133;;:12;;662:18:151;;17284:20:133;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;17284:20:133;;;;;;;;;;;;:::i;:::-;:29;;;17257:57;;17324:28;17343:8;17324:18;:28::i;:::-;17362:25;17378:8;17362:15;:25::i;16331:313::-;16393:17;:15;:17::i;:::-;16447:4;;:20;;-1:-1:-1;;;16447:20:133;;;;;689:25:151;;;16420:16:133;;-1:-1:-1;;;;;16447:4:133;;:12;;662:18:151;;16447:20:133;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;16447:20:133;;;;;;;;;;;;:::i;:::-;:29;;;16420:57;;16487:28;16506:8;16487:18;:28::i;:::-;16529:60;-1:-1:-1;;;;;16529:26:133;;-1:-1:-1;;;16529:26:133;:60::i;:::-;16525:113;;;16605:22;16618:8;16605:12;:22::i;7920:1945::-;8007:48;8034:6;:19;;;8007:18;:48::i;:::-;8065:39;8084:6;:19;;;8065:18;:39::i;:::-;8133:12;;8114:32;;:18;:32::i;:::-;8156:43;8175:6;:23;;;8156:18;:43::i;:::-;8209:44;8228:6;:24;;;8209:18;:44::i;:::-;8268:20;;;;:25;8264:95;;8309:39;8328:6;:19;;;8309:18;:39::i;:::-;8381:12;;8368:4;:26;;-1:-1:-1;;;;;8368:26:133;;;-1:-1:-1;;;;;;8368:26:133;;;;;;;8418:19;;;;8404:11;:33;;;;;;;;;;;8451:27;;;;8381:12;8451:32;8447:89;;8506:19;;;;;;;;;;;;;;8447:89;8567:27;;;;8545:19;:49;8619:20;;;;8604:12;:35;8665:21;;;;8649:13;:37;;-1:-1:-1;;8649:37:133;;;;;;;;;;8712:21;;;;8696:13;;:37;;:13;:37;:::i;:::-;-1:-1:-1;8762:23:133;;;;8743:16;;:42;;:16;:42;:::i;:::-;-1:-1:-1;8813:23:133;;;;8795:15;:41;;-1:-1:-1;;;;;;8795:41:133;;;-1:-1:-1;;;;;8795:41:133;;;;;;;8860:19;;;;8846:11;:33;;;;;;;;;;;;;8795:41;8909:19;;;8889:11;:40;;;;;;;;;;8958:24;;;;8939:16;:43;;;;;;;;;;;;;8993:54;;2101:34;;8993:10;:54::i;:::-;9079:4;;;;;;;;;-1:-1:-1;;;;;9079:4:133;-1:-1:-1;;;;;9079:16:133;;:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9058:8;:40;;-1:-1:-1;;;;;;9058:40:133;-1:-1:-1;;;;;9058:40:133;;;;;;9135:11;;:23;;;;;;;;-1:-1:-1;;9135:11:133;;;;;:21;;:23;;;;;-1:-1:-1;;9135:23:133;;;;;;;;:11;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;9135:23:133;;;;;;;;;;;;:::i;:::-;9109:49;;9168:36;9221:6;:13;9237:1;9221:17;;;;:::i;:::-;9207:32;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;9207:32:133;;9168:71;;9255:9;9250:103;9274:6;:13;9270:1;:17;9250:103;;;9333:6;9340:1;9333:9;;;;;;;;:::i;:::-;;;;;;;9308:19;9328:1;9308:22;;;;;;;;:::i;:::-;-1:-1:-1;;;;;9308:34:133;;;:22;;;;;;;;;;;:34;9289:3;;;;:::i;:::-;;;;9250:103;;;-1:-1:-1;9425:11:133;;9383:26;;-1:-1:-1;;;;;9425:11:133;;;;9363:19;;9383:30;;9425:11;;9383:30;:::i;:::-;9363:51;;;;;;;;:::i;:::-;;;;;;:74;-1:-1:-1;;;;;9363:74:133;;;-1:-1:-1;;;;;9363:74:133;;;;;9509:4;9447:19;9496:1;9467:19;:26;:30;;;;:::i;:::-;9447:51;;;;;;;;:::i;:::-;-1:-1:-1;;;;;9447:67:133;;;:51;;;;;;;;;:67;9626:8;;9649:13;;;;9679:16;;;;9626:106;;;;;:8;;;;;:22;;:106;;9649:13;9664;;9705:4;;9712:19;;9626:106;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9602:9;:130;9743:36;;;;:14;;:36;;;;;:::i;:::-;;9795:63;9815:9;;9826:13;9841:6;:16;;;9795:63;;;;;;;;:::i;:::-;;;;;;;;7997:1868;;7920:1945;:::o;9871:341::-;10104:16;;10122:10;:12;;10014:14;;;;;;10086:49;;-1:-1:-1;;;;;10104:16:133;;10014:14;10122:12;;;:::i;:::-;;;;;10086:17;:49::i;:::-;10062:73;;10152:53;10163:13;10178:6;10186:7;10195:9;10152:10;:53::i;:::-;10145:60;;;;;9871:341;;;;;;:::o;18149:171::-;18213:18;;-1:-1:-1;;;;;18213:18:133;18199:10;:32;18195:89;;18254:19;;;;;;;;;;;;;;18195:89;18293:20;:18;:20::i;7081:30::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;21661:453::-;2261:21:69;:19;:21::i;:::-;21737:10:133::1;21757:34;21737:10:::0;21757:25:::1;:34::i;:::-;21801:32;21825:7;21801:23;:32::i;:::-;-1:-1:-1::0;;;;;21866:28:133;;::::1;21843:20;21866:28:::0;;;:19:::1;:28;::::0;;;;;;;21843:51;;::::1;::::0;::::1;::::0;;;;;;::::1;::::0;;;;::::1;::::0;;;;::::1;::::0;::::1;::::0;::::1;::::0;;::::1;::::0;::::1;;;::::0;;;;21911:28;;;-1:-1:-1;;;;;;21904:35:133;;::::1;::::0;;;;;;;-1:-1:-1;;21904:35:133;;::::1;::::0;;;21956:18:::1;:27:::0;;;;;21843:51;;21949:34:::1;::::0;21956:27;21949:34:::1;:::i;:::-;21994:11;::::0;22024:19:::1;::::0;::::1;::::0;21994:50:::1;::::0;-1:-1:-1;;;21994:50:133;;-1:-1:-1;;;;;14844:55:151;;;21994:50:133::1;::::0;::::1;14826:74:151::0;14916:18;;;14909:34;;;;21994:11:133;::::1;::::0;:20:::1;::::0;14799:18:151;;21994:50:133::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;22087:19:133::1;::::0;;::::1;::::0;22059:48:::1;::::0;;-1:-1:-1;;;;;14844:55:151;;14826:74;;14916:18;;;14909:34;;;;22059:48:133::1;::::0;14799:18:151;22059:48:133::1;;;;;;;21709:405;;2303:20:69::0;1716:1;2809:7;:22;2629:209;7708:54:133;7742:20;7695:7;7742:2;:20;:::i;:::-;7708:54;:::o;7048:27::-;;;;;;;:::i;5354:147:58:-;4578:7;4604:12;;;:6;:12;;;;;;;;:22;;2631:16;2642:4;2631:10;:16::i;:::-;5468:26:::1;5480:4;5486:7;5468:11;:26::i;21523:132:133:-:0;-1:-1:-1;;;;;3130:29:58;;21586:4:133;3130:29:58;;;:12;;:29;:12;:29;;;;;21609:39:133;3021:145:58;10218:653:133;10402:14;;1840:42;-1:-1:-1;;;;;10482:20:133;;;10478:65;;-1:-1:-1;10526:6:133;10478:65;10563:9;10552:20;;10583:31;10617:14;10583:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;10583:48:133;;;;;;;;;;;;;;;;-1:-1:-1;;10651:4:133;;10698:9;;10719:19;;10583:48;;-1:-1:-1;;;;;;10651:4:133;;;;:33;;-1:-1:-1;10698:9:133;;-1:-1:-1;10709:8:133;;-1:-1:-1;10719:19:133;;10730:7;;10719:19;;;:::i;:::-;;;;;;;;;;;;;10740:5;10747:1;10750:9;10761:14;10651:134;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10642:143;;10801:63;10813:6;10821:8;10839:4;10846:6;10854:9;10801:63;;;;;;;;;;:::i;:::-;;;;;;;;10436:435;;10218:653;;;;;;;:::o;3575:155::-;3661:10;3107:4:58;3130:29;;;:12;;:29;:12;:29;;;;;3625:99:133;;3695:18;;;;;;;;;;;;;;3885:156;-1:-1:-1;;;;;18434:28:133;;;18382:14;18434:28;;;:19;:28;;;;;;;;;18408:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3960:75;;4005:19;;-1:-1:-1;;;4005:19:133;;;;;;;;;;;4047:162;-1:-1:-1;;;;;4123:28:133;;;;;;:17;:28;;;;;;;;4118:85;;4174:18;;;;;;;;;;;;;;17026:133;-1:-1:-1;;;;;17100:22:133;;17096:56;;17131:21;;;;;;;;;;;;;;17400:186;17463:29;17482:9;17463:18;:29::i;:::-;-1:-1:-1;;;;;17502:28:133;;17533:5;17502:28;;;:17;:28;;;;;;;;;:36;;-1:-1:-1;;17502:36:133;;;17553:26;;2818:74:151;;;17553:26:133;;2791:18:151;17553:26:133;2672:226:151;16776:244:133;-1:-1:-1;;;;;16843:31:133;;;;;;:17;:31;;;;;;;;16839:85;;;16897:16;;;;;;;;;;;;;;16839:85;-1:-1:-1;;;;;16933:31:133;;;;;;:17;:31;;;;;;;;;:38;;-1:-1:-1;;16933:38:133;16967:4;16933:38;;;16986:27;;2818:74:151;;;16986:27:133;;2791:18:151;16986:27:133;2672:226:151;4215:171:133;4318:9;-1:-1:-1;;;;;4307:20:133;:7;-1:-1:-1;;;;;4307:20:133;;4303:77;;4350:19;;;;;;;;;;;;;;12759:425;-1:-1:-1;;;;;12885:27:133;;12848:34;12885:27;;;:18;:27;;;;;;12922:256;12946:23;;12942:27;;12922:256;;;13017:9;-1:-1:-1;;;;;12994:32:133;:16;13011:1;12994:19;;;;;;;;:::i;:::-;;;;;;;;;;;-1:-1:-1;;;;;12994:19:133;:32;12990:178;;13085:23;;13068:16;;13085:27;;13111:1;;13085:27;:::i;:::-;13068:45;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;13068:45:133;13046:16;13063:1;13046:19;;;;;;;;:::i;:::-;;;;;;;;;:67;;;;;-1:-1:-1;;;;;13046:67:133;;;;;-1:-1:-1;;;;;13046:67:133;;;;;;13131:16;:22;;;;;;;:::i;:::-;;;;;;;;;;-1:-1:-1;;13131:22:133;;;;;-1:-1:-1;;;;;;13131:22:133;;;;;;12990:178;12971:3;;;;:::i;:::-;;;;12922:256;;;;12838:346;12759:425;;:::o;3460:103:58:-;3526:30;3537:4;719:10:81;3526::58;:30::i;7587:233::-;3107:4;3130:12;;;:6;:12;;;;;;;;-1:-1:-1;;;;;3130:29:58;;;;;;;;;;;;7665:149;;7708:12;;;;7740:4;7708:12;;;;;;;;-1:-1:-1;;;;;7708:29:58;;;;;;;;;;:36;;-1:-1:-1;;7708:36:58;;;;;;;7763:40;;719:10:81;;7708:12:58;;7763:40;;7708:12;7763:40;7587:233;;:::o;2336:287:69:-;1759:1;2468:7;;:19;2460:63;;;;-1:-1:-1;;;2460:63:69;;30350:2:151;2460:63:69;;;30332:21:151;30389:2;30369:18;;;30362:30;30428:33;30408:18;;;30401:61;30479:18;;2460:63:69;30148:355:151;2460:63:69;1759:1;2598:7;:18;2336:287::o;6994:145:35:-;7061:71;7124:2;7128;7077:54;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;7077:54:35;;;;;;;;;;;;;;-1:-1:-1;;;;;7077:54:35;;;;;7061:15;:71::i;1355:203:77:-;1482:68;;-1:-1:-1;;;;;15726:15:151;;;1482:68:77;;;15708:34:151;15778:15;;15758:18;;;15751:43;15810:18;;;15803:34;;;1455:96:77;;1475:5;;1505:27;;15620:18:151;;1482:68:77;;;;-1:-1:-1;;1482:68:77;;;;;;;;;;;;;;-1:-1:-1;;;;;1482:68:77;-1:-1:-1;;;;;;1482:68:77;;;;;;;;;;1455:19;:96::i;6548:139:35:-;6612:68;6672:2;6676;6628:51;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;6628:51:35;;;;;;;;;;;;;;-1:-1:-1;;;;;6628:51:35;;;;;6612:15;:68::i;941:175:77:-;1050:58;;-1:-1:-1;;;;;14844:55:151;;1050:58:77;;;14826:74:151;14916:18;;;14909:34;;;1023:86:77;;1043:5;;-1:-1:-1;;;1073:23:77;14799:18:151;;1050:58:77;14644:305:151;7991:234:58;3107:4;3130:12;;;:6;:12;;;;;;;;-1:-1:-1;;;;;3130:29:58;;;;;;;;;;;;8070:149;;;8144:5;8112:12;;;:6;:12;;;;;;;;-1:-1:-1;;;;;8112:29:58;;;;;;;;;;:37;;-1:-1:-1;;8112:37:58;;;8168:40;719:10:81;;8112:12:58;;8168:40;;8144:5;8168:40;7991:234;;:::o;3736:143:133:-;3809:10;18382:14;18434:28;;;:19;:28;;;;;;;;;18408:54;;;;;;;;;-1:-1:-1;;;;;18408:54:133;;;;;;;;;;;;;;;;;;;;;;;;;;3795:78;;3843:19;;-1:-1:-1;;;3843:19:133;;;;;;;;;;;1349:282:85;1436:4;1543:23;1558:7;1543:14;:23::i;:::-;:81;;;;;1570:54;1603:7;1612:11;1570:32;:54::i;:::-;1536:88;1349:282;-1:-1:-1;;;1349:282:85:o;22120:466:133:-;-1:-1:-1;;;;;22225:27:133;;22189:33;22225:27;;;:18;:27;;;;;;;;22189:63;;;;;;;;;;;;;;;;;;;22225:27;;22189:63;;;22225:27;22189:63;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;22189:63:133;;;;;;;;;;;;;;;;;;;;;;;22333:9;22328:252;22352:16;:23;22348:1;:27;22328:252;;;22523:16;22540:1;22523:19;;;;;;;;:::i;:::-;;;;;;;;;;;22508:61;;;;;-1:-1:-1;;;;;2836:55:151;;;22508:61:133;;;2818:74:151;22508:52:133;;;;;;2791:18:151;;22508:61:133;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22377:3;;;;;:::i;:::-;;;;22328:252;;4749:279:6;4867:36;;-1:-1:-1;;4884:10:6;31326:2:151;31322:15;31318:53;4867:36:6;;;31306:66:151;31388:12;;;31381:28;;;4823:7:6;;;;31425:12:151;;4867:36:6;;;;;;;;;;;;4857:47;;;;;;4842:62;;4968:53;5005:9;5016:4;4968:36;:53::i;:::-;4961:60;4749:279;-1:-1:-1;;;;4749:279:6:o;17964:179:133:-;18033:18;;;18013:11;:39;;-1:-1:-1;;;;;18033:18:133;;-1:-1:-1;;;;;;18013:39:133;;;;;;;18062:25;;;18102:34;;-1:-1:-1;2818:74:151;;18102:34:133;;2806:2:151;2791:18;18102:34:133;;;;;;;17964:179::o;3844:479:58:-;3107:4;3130:12;;;:6;:12;;;;;;;;-1:-1:-1;;;;;3130:29:58;;;;;;;;;;;;3927:390;;4115:28;4135:7;4115:19;:28::i;:::-;4214:38;4242:4;4249:2;4214:19;:38::i;:::-;4022:252;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;4022:252:58;;;;;;;;;;-1:-1:-1;;;3970:336:58;;;;;;;:::i;181:376:35:-;275:14;;131:42;448:2;435:16;;251:21;;275:14;435:16;131:42;484:5;473:68;464:77;;401:150;;181:376;:::o;5173:642:77:-;5592:23;5618:69;5646:4;5618:69;;;;;;;;;;;;;;;;;5626:5;-1:-1:-1;;;;;5618:27:77;;;:69;;;;;:::i;:::-;5592:95;;5705:10;:17;5726:1;5705:22;:56;;;;5742:10;5731:30;;;;;;;;;;;;:::i;:::-;5697:111;;;;-1:-1:-1;;;5697:111:77;;32706:2:151;5697:111:77;;;32688:21:151;32745:2;32725:18;;;32718:30;32784:34;32764:18;;;32757:62;32855:12;32835:18;;;32828:40;32885:19;;5697:111:77;32504:406:151;704:427:85;768:4;975:68;1008:7;-1:-1:-1;;;975:32:85;:68::i;:::-;:149;;;;-1:-1:-1;1060:64:85;1093:7;-1:-1:-1;;;;;;1060:32:85;:64::i;:::-;1059:65;956:168;704:427;-1:-1:-1;;704:427:85:o;4421:647::-;4592:71;;;-1:-1:-1;;;;;;33077:79:151;;4592:71:85;;;;33059:98:151;;;;4592:71:85;;;;;;;;;;33032:18:151;;;;4592:71:85;;;;;;;;;-1:-1:-1;;;;;4592:71:85;-1:-1:-1;;;4592:71:85;;;4871:20;;4523:4;;4592:71;4523:4;;;;;;4592:71;4523:4;;4871:20;4836:7;4829:5;4818:86;4807:97;;4931:16;4917:30;;4981:4;4975:11;4960:26;;5013:7;:29;;;;;5038:4;5024:10;:18;;5013:29;:48;;;;;5060:1;5046:11;:15;5013:48;5006:55;4421:647;-1:-1:-1;;;;;;;4421:647:85:o;2118:794:47:-;2202:16;2534:48;2516:14;2510:4;2506:25;2500:4;2496:36;2493:90;2487:4;2480:104;2741:32;2724:14;2718:4;2714:25;2711:63;2705:4;2698:77;2823:4;2817;2811;2808:1;2800:28;2788:40;-1:-1:-1;;;;;;2855:22:47;;2847:58;;;;-1:-1:-1;;;2847:58:47;;33370:2:151;2847:58:47;;;33352:21:151;33409:2;33389:18;;;33382:30;33448:25;33428:18;;;33421:53;33491:18;;2847:58:47;33168:347:151;2407:149:83;2465:13;2497:52;-1:-1:-1;;;;;2509:22:83;;343:2;1818:437;1893:13;1918:19;1950:10;1954:6;1950:1;:10;:::i;:::-;:14;;1963:1;1950:14;:::i;:::-;1940:25;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1940:25:83;;1918:47;;1975:15;:6;1982:1;1975:9;;;;;;;;:::i;:::-;;;;:15;-1:-1:-1;;;;;1975:15:83;;;;;;;;;2000;:6;2007:1;2000:9;;;;;;;;:::i;:::-;;;;:15;-1:-1:-1;;;;;2000:15:83;;;;;;;;-1:-1:-1;2030:9:83;2042:10;2046:6;2042:1;:10;:::i;:::-;:14;;2055:1;2042:14;:::i;:::-;2030:26;;2025:128;2062:1;2058;:5;2025:128;;;2096:8;2105:5;2113:3;2105:11;2096:21;;;;;;;:::i;:::-;;;;2084:6;2091:1;2084:9;;;;;;;;:::i;:::-;;;;:33;-1:-1:-1;;;;;2084:33:83;;;;;;;;-1:-1:-1;2141:1:83;2131:11;;;;;2065:3;;;:::i;:::-;;;2025:128;;;-1:-1:-1;2170:10:83;;2162:55;;;;-1:-1:-1;;;2162:55:83;;33863:2:151;2162:55:83;;;33845:21:151;;;33882:18;;;33875:30;33941:34;33921:18;;;33914:62;33993:18;;2162:55:83;33661:356:151;4108:223:80;4241:12;4272:52;4294:6;4302:4;4308:1;4311:12;4241;5446;5460:23;5487:6;-1:-1:-1;;;;;5487:11:80;5506:5;5513:4;5487:31;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5445:73;;;;5535:69;5562:6;5570:7;5579:10;5591:12;7851;7879:7;7875:418;;;7906:10;:17;7927:1;7906:22;7902:286;;-1:-1:-1;;;;;1702:19:80;;;8113:60;;;;-1:-1:-1;;;8113:60:80;;34923:2:151;8113:60:80;;;34905:21:151;34962:2;34942:18;;;34935:30;35001:31;34981:18;;;34974:59;35050:18;;8113:60:80;34721:353:151;8113:60:80;-1:-1:-1;8208:10:80;8201:17;;7875:418;8249:33;8257:10;8269:12;8980:17;;:21;8976:379;;9208:10;9202:17;9264:15;9251:10;9247:2;9243:19;9236:44;8976:379;9331:12;9324:20;;-1:-1:-1;;;9324:20:80;;;;;;;;:::i;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14:332:151;72:6;125:2;113:9;104:7;100:23;96:32;93:52;;;141:1;138;131:12;93:52;180:9;167:23;-1:-1:-1;;;;;;223:5:151;219:78;212:5;209:89;199:117;;312:1;309;302:12;907:180;966:6;1019:2;1007:9;998:7;994:23;990:32;987:52;;;1035:1;1032;1025:12;987:52;-1:-1:-1;1058:23:151;;907:180;-1:-1:-1;907:180:151:o;1092:154::-;-1:-1:-1;;;;;1171:5:151;1167:54;1160:5;1157:65;1147:93;;1236:1;1233;1226:12;1251:134;1319:20;;1348:31;1319:20;1348:31;:::i;:::-;1251:134;;;:::o;1390:388::-;1458:6;1466;1519:2;1507:9;1498:7;1494:23;1490:32;1487:52;;;1535:1;1532;1525:12;1487:52;1574:9;1561:23;1593:31;1618:5;1593:31;:::i;:::-;1643:5;-1:-1:-1;1700:2:151;1685:18;;1672:32;1713:33;1672:32;1713:33;:::i;:::-;1765:7;1755:17;;;1390:388;;;;;:::o;1783:247::-;1842:6;1895:2;1883:9;1874:7;1870:23;1866:32;1863:52;;;1911:1;1908;1901:12;1863:52;1950:9;1937:23;1969:31;1994:5;1969:31;:::i;2220:315::-;2288:6;2296;2349:2;2337:9;2328:7;2324:23;2320:32;2317:52;;;2365:1;2362;2355:12;2317:52;2404:9;2391:23;2423:31;2448:5;2423:31;:::i;:::-;2473:5;2525:2;2510:18;;;;2497:32;;-1:-1:-1;;;2220:315:151:o;2903:::-;2971:6;2979;3032:2;3020:9;3011:7;3007:23;3003:32;3000:52;;;3048:1;3045;3038:12;3000:52;3084:9;3071:23;3061:33;;3144:2;3133:9;3129:18;3116:32;3157:31;3182:5;3157:31;:::i;4608:184::-;-1:-1:-1;;;4657:1:151;4650:88;4757:4;4754:1;4747:15;4781:4;4778:1;4771:15;4797:257;4869:4;4863:11;;;4901:17;;4948:18;4933:34;;4969:22;;;4930:62;4927:88;;;4995:18;;:::i;:::-;5031:4;5024:24;4797:257;:::o;5059:255::-;5131:2;5125:9;5173:6;5161:19;;5210:18;5195:34;;5231:22;;;5192:62;5189:88;;;5257:18;;:::i;5319:255::-;5391:2;5385:9;5433:6;5421:19;;5470:18;5455:34;;5491:22;;;5452:62;5449:88;;;5517:18;;:::i;5579:253::-;5651:2;5645:9;5693:4;5681:17;;5728:18;5713:34;;5749:22;;;5710:62;5707:88;;;5775:18;;:::i;5837:275::-;5908:2;5902:9;5973:2;5954:13;;-1:-1:-1;;5950:27:151;5938:40;;6008:18;5993:34;;6029:22;;;5990:62;5987:88;;;6055:18;;:::i;:::-;6091:2;6084:22;5837:275;;-1:-1:-1;5837:275:151:o;6117:187::-;6166:4;6199:18;6191:6;6188:30;6185:56;;;6221:18;;:::i;:::-;-1:-1:-1;6287:2:151;6266:15;-1:-1:-1;;6262:29:151;6293:4;6258:40;;6117:187::o;6309:464::-;6352:5;6405:3;6398:4;6390:6;6386:17;6382:27;6372:55;;6423:1;6420;6413:12;6372:55;6459:6;6446:20;6490:49;6506:32;6535:2;6506:32;:::i;:::-;6490:49;:::i;:::-;6564:2;6555:7;6548:19;6610:3;6603:4;6598:2;6590:6;6586:15;6582:26;6579:35;6576:55;;;6627:1;6624;6617:12;6576:55;6692:2;6685:4;6677:6;6673:17;6666:4;6657:7;6653:18;6640:55;6740:1;6715:16;;;6733:4;6711:27;6704:38;;;;6719:7;6309:464;-1:-1:-1;;;6309:464:151:o;6778:411::-;6833:5;6881:4;6869:9;6864:3;6860:19;6856:30;6853:50;;;6899:1;6896;6889:12;6853:50;6921:22;;:::i;:::-;6912:31;;6979:9;6966:23;6959:5;6952:38;7041:2;7030:9;7026:18;7013:32;7068:18;7060:6;7057:30;7054:50;;;7100:1;7097;7090:12;7054:50;7136:46;7178:3;7169:6;7158:9;7154:22;7136:46;:::i;:::-;7131:2;7124:5;7120:14;7113:70;;6778:411;;;;:::o;7194:118::-;7280:5;7273:13;7266:21;7259:5;7256:32;7246:60;;7302:1;7299;7292:12;7317:128;7382:20;;7411:28;7382:20;7411:28;:::i;7450:1713::-;7544:6;7597:2;7585:9;7576:7;7572:23;7568:32;7565:52;;;7613:1;7610;7603:12;7565:52;7653:9;7640:23;7682:18;7723:2;7715:6;7712:14;7709:34;;;7739:1;7736;7729:12;7709:34;7762:22;;;;7818:6;7800:16;;;7796:29;7793:49;;;7838:1;7835;7828:12;7793:49;7864:22;;:::i;:::-;7909;7928:2;7909:22;:::i;:::-;7902:5;7895:37;7964:31;7991:2;7987;7983:11;7964:31;:::i;:::-;7959:2;7952:5;7948:14;7941:55;8049:2;8045;8041:11;8028:25;8023:2;8016:5;8012:14;8005:49;8107:2;8103;8099:11;8086:25;8081:2;8074:5;8070:14;8063:49;8166:3;8162:2;8158:12;8145:26;8139:3;8132:5;8128:15;8121:51;8205:32;8232:3;8228:2;8224:12;8205:32;:::i;:::-;8199:3;8192:5;8188:15;8181:57;8271:32;8298:3;8294:2;8290:12;8271:32;:::i;:::-;8265:3;8258:5;8254:15;8247:57;8350:3;8346:2;8342:12;8329:26;8380:2;8370:8;8367:16;8364:36;;;8396:1;8393;8386:12;8364:36;8433:54;8479:7;8468:8;8464:2;8460:17;8433:54;:::i;:::-;8427:3;8420:5;8416:15;8409:79;;8507:3;8542:31;8569:2;8565;8561:11;8542:31;:::i;:::-;8526:14;;;8519:55;8593:3;8634:11;;;8621:25;8658:16;;;8655:36;;;8687:1;8684;8677:12;8655:36;8723:45;8760:7;8749:8;8745:2;8741:17;8723:45;:::i;:::-;8718:2;8711:5;8707:14;8700:69;;;8788:3;8823:28;8847:2;8843;8839:11;8823:28;:::i;:::-;8807:14;;;8800:52;8871:3;8912:11;;;8899:25;8936:16;;;8933:36;;;8965:1;8962;8955:12;8933:36;9001:45;9038:7;9027:8;9023:2;9019:17;9001:45;:::i;:::-;8996:2;8989:5;8985:14;8978:69;;;9066:3;9056:13;;9101:31;9128:2;9124;9120:11;9101:31;:::i;:::-;9085:14;;;9078:55;;;;9089:5;7450:1713;-1:-1:-1;;;;7450:1713:151:o;9168:153::-;9246:20;;9295:1;9285:12;;9275:40;;9311:1;9308;9301:12;9326:110;9410:1;9403:5;9400:12;9390:40;;9426:1;9423;9416:12;9441:152;9518:20;;9547:40;9518:20;9547:40;:::i;9598:416::-;9662:5;9710:4;9698:9;9693:3;9689:19;9685:30;9682:50;;;9728:1;9725;9718:12;9682:50;9761:2;9755:9;9803:4;9795:6;9791:17;9874:6;9862:10;9859:22;9838:18;9826:10;9823:34;9820:62;9817:88;;;9885:18;;:::i;:::-;9921:2;9914:22;9984:23;;9969:39;;-1:-1:-1;9954:6:151;9598:416;-1:-1:-1;9598:416:151:o;10019:849::-;10082:5;10130:6;10118:9;10113:3;10109:19;10105:32;10102:52;;;10150:1;10147;10140:12;10102:52;10172:22;;:::i;:::-;10163:31;;10217:29;10236:9;10217:29;:::i;:::-;10210:5;10203:44;10307:2;10296:9;10292:18;10279:32;10274:2;10267:5;10263:14;10256:56;10372:2;10361:9;10357:18;10344:32;10339:2;10332:5;10328:14;10321:56;10437:2;10426:9;10422:18;10409:32;10404:2;10397:5;10393:14;10386:56;10503:3;10492:9;10488:19;10475:33;10469:3;10462:5;10458:15;10451:58;10542:49;10586:3;10575:9;10571:19;10542:49;:::i;:::-;10536:3;10529:5;10525:15;10518:74;10625:48;10668:3;10657:9;10653:19;10625:48;:::i;:::-;10619:3;10612:5;10608:15;10601:73;10707:61;10764:3;10758;10747:9;10743:19;10707:61;:::i;:::-;10701:3;10694:5;10690:15;10683:86;10788:3;10823:38;10857:2;10846:9;10842:18;10823:38;:::i;:::-;10807:14;;;10800:62;10811:5;10019:849;-1:-1:-1;;10019:849:151:o;10873:618::-;11011:6;11019;11027;11080:3;11068:9;11059:7;11055:23;11051:33;11048:53;;;11097:1;11094;11087:12;11048:53;11136:9;11123:23;11155:31;11180:5;11155:31;:::i;:::-;11205:5;-1:-1:-1;11229:63:151;11284:7;11279:2;11264:18;;11229:63;:::i;:::-;11219:73;;11343:3;11332:9;11328:19;11315:33;11371:18;11363:6;11360:30;11357:50;;;11403:1;11400;11393:12;11357:50;11426:59;11477:7;11468:6;11457:9;11453:22;11426:59;:::i;:::-;11416:69;;;10873:618;;;;;:::o;11798:250::-;11883:1;11893:113;11907:6;11904:1;11901:13;11893:113;;;11983:11;;;11977:18;11964:11;;;11957:39;11929:2;11922:10;11893:113;;;-1:-1:-1;;12040:1:151;12022:16;;12015:27;11798:250::o;12053:271::-;12095:3;12133:5;12127:12;12160:6;12155:3;12148:19;12176:76;12245:6;12238:4;12233:3;12229:14;12222:4;12215:5;12211:16;12176:76;:::i;:::-;12306:2;12285:15;-1:-1:-1;;12281:29:151;12272:39;;;;12313:4;12268:50;;12053:271;-1:-1:-1;;12053:271:151:o;12329:220::-;12478:2;12467:9;12460:21;12441:4;12498:45;12539:2;12528:9;12524:18;12516:6;12498:45;:::i;13047:759::-;13194:6;13202;13210;13218;13271:3;13259:9;13250:7;13246:23;13242:33;13239:53;;;13288:1;13285;13278:12;13239:53;13327:9;13314:23;13346:31;13371:5;13346:31;:::i;:::-;13396:5;-1:-1:-1;13453:2:151;13438:18;;13425:32;13466:33;13425:32;13466:33;:::i;:::-;13518:7;-1:-1:-1;13544:63:151;13599:7;13594:2;13579:18;;13544:63;:::i;:::-;13534:73;;13658:3;13647:9;13643:19;13630:33;13686:18;13678:6;13675:30;13672:50;;;13718:1;13715;13708:12;13672:50;13741:59;13792:7;13783:6;13772:9;13768:22;13741:59;:::i;:::-;13731:69;;;13047:759;;;;;;;:::o;13811:184::-;-1:-1:-1;;;13860:1:151;13853:88;13960:4;13957:1;13950:15;13984:4;13981:1;13974:15;14000:168;14073:9;;;14104;;14121:15;;;14115:22;;14101:37;14091:71;;14142:18;;:::i;14173:184::-;-1:-1:-1;;;14222:1:151;14215:88;14322:4;14319:1;14312:15;14346:4;14343:1;14336:15;14362:277;14449:6;14502:2;14490:9;14481:7;14477:23;14473:32;14470:52;;;14518:1;14515;14508:12;14470:52;14550:9;14544:16;14569:40;14603:5;14569:40;:::i;14954:184::-;15024:6;15077:2;15065:9;15056:7;15052:23;15048:32;15045:52;;;15093:1;15090;15083:12;15045:52;-1:-1:-1;15116:16:151;;14954:184;-1:-1:-1;14954:184:151:o;16180:274::-;16220:1;16246;16236:189;;-1:-1:-1;;;16278:1:151;16271:88;16382:4;16379:1;16372:15;16410:4;16407:1;16400:15;16236:189;-1:-1:-1;16439:9:151;;16180:274::o;16459:125::-;16524:9;;;16545:10;;;16542:36;;;16558:18;;:::i;16589:251::-;16659:6;16712:2;16700:9;16691:7;16687:23;16683:32;16680:52;;;16728:1;16725;16718:12;16680:52;16760:9;16754:16;16779:31;16804:5;16779:31;:::i;17601:184::-;-1:-1:-1;;;17650:1:151;17643:88;17750:4;17747:1;17740:15;17774:4;17771:1;17764:15;17790:135;17829:3;17850:17;;;17847:43;;17870:18;;:::i;:::-;-1:-1:-1;17917:1:151;17906:13;;17790:135::o;17930:128::-;17997:9;;;18018:11;;;18015:37;;;18032:18;;:::i;18316:184::-;-1:-1:-1;;;18365:1:151;18358:88;18465:4;18462:1;18455:15;18489:4;18486:1;18479:15;18505:245;18572:6;18625:2;18613:9;18604:7;18600:23;18596:32;18593:52;;;18641:1;18638;18631:12;18593:52;18673:9;18667:16;18692:28;18714:5;18692:28;:::i;18755:1653::-;18847:6;18878:2;18921;18909:9;18900:7;18896:23;18892:32;18889:52;;;18937:1;18934;18927:12;18889:52;18970:9;18964:16;18999:18;19040:2;19032:6;19029:14;19026:34;;;19056:1;19053;19046:12;19026:34;19079:22;;;;19135:4;19117:16;;;19113:27;19110:47;;;19153:1;19150;19143:12;19110:47;19179:22;;:::i;:::-;19230:2;19224:9;19217:5;19210:24;19272:2;19268;19264:11;19258:18;19285:33;19310:7;19285:33;:::i;:::-;19334:14;;;19327:31;19396:2;19388:11;;19382:18;19409:33;19382:18;19409:33;:::i;:::-;19469:2;19458:14;;19451:31;19521:2;19513:11;;19507:18;19537:16;;;19534:36;;;19566:1;19563;19556:12;19534:36;19589:17;;19640:2;19622:16;;;19618:25;19615:45;;;19656:1;19653;19646:12;19615:45;19684:22;;:::i;:::-;19737:2;19731:9;19722:7;19715:26;19780:2;19776;19772:11;19766:18;19809:2;19799:8;19796:16;19793:36;;;19825:1;19822;19815:12;19793:36;19848:17;;;-1:-1:-1;19896:4:151;19888:13;;19884:27;-1:-1:-1;19874:55:151;;19925:1;19922;19915:12;19874:55;19954:2;19948:9;19938:19;;19979:49;19995:32;20024:2;19995:32;:::i;19979:49::-;20051:2;20044:5;20037:17;20091:7;20086:2;20081;20077;20073:11;20069:20;20066:33;20063:53;;;20112:1;20109;20102:12;20063:53;20125:67;20189:2;20184;20177:5;20173:14;20168:2;20164;20160:11;20125:67;:::i;:::-;20208:16;;;20201:31;;;;-1:-1:-1;20259:2:151;20248:14;;20241:31;;;;-1:-1:-1;20319:3:151;20311:12;;;20305:19;20288:15;;;20281:44;20372:3;20364:12;;;20358:19;20341:15;;;20334:44;20252:5;18755:1653;-1:-1:-1;;;18755:1653:151:o;20413:437::-;20492:1;20488:12;;;;20535;;;20556:61;;20610:4;20602:6;20598:17;20588:27;;20556:61;20663:2;20655:6;20652:14;20632:18;20629:38;20626:218;;-1:-1:-1;;;20697:1:151;20690:88;20801:4;20798:1;20791:15;20829:4;20826:1;20819:15;20626:218;;20413:437;;;:::o;20981:545::-;21083:2;21078:3;21075:11;21072:448;;;21119:1;21144:5;21140:2;21133:17;21189:4;21185:2;21175:19;21259:2;21247:10;21243:19;21240:1;21236:27;21230:4;21226:38;21295:4;21283:10;21280:20;21277:47;;;-1:-1:-1;21318:4:151;21277:47;21373:2;21368:3;21364:12;21361:1;21357:20;21351:4;21347:31;21337:41;;21428:82;21446:2;21439:5;21436:13;21428:82;;;21491:17;;;21472:1;21461:13;21428:82;;;21432:3;;;20981:545;;;:::o;21702:1352::-;21828:3;21822:10;21855:18;21847:6;21844:30;21841:56;;;21877:18;;:::i;:::-;21906:97;21996:6;21956:38;21988:4;21982:11;21956:38;:::i;:::-;21950:4;21906:97;:::i;:::-;22058:4;;22122:2;22111:14;;22139:1;22134:663;;;;22841:1;22858:6;22855:89;;;-1:-1:-1;22910:19:151;;;22904:26;22855:89;-1:-1:-1;;21659:1:151;21655:11;;;21651:24;21647:29;21637:40;21683:1;21679:11;;;21634:57;22957:81;;22104:944;;22134:663;20928:1;20921:14;;;20965:4;20952:18;;-1:-1:-1;;22170:20:151;;;22288:236;22302:7;22299:1;22296:14;22288:236;;;22391:19;;;22385:26;22370:42;;22483:27;;;;22451:1;22439:14;;;;22318:19;;22288:236;;;22292:3;22552:6;22543:7;22540:19;22537:201;;;22613:19;;;22607:26;-1:-1:-1;;22696:1:151;22692:14;;;22708:3;22688:24;22684:37;22680:42;22665:58;22650:74;;22537:201;-1:-1:-1;;;;;22784:1:151;22768:14;;;22764:22;22751:36;;-1:-1:-1;21702:1352:151:o;23059:1011::-;23154:6;23185:2;23228;23216:9;23207:7;23203:23;23199:32;23196:52;;;23244:1;23241;23234:12;23196:52;23277:9;23271:16;23306:18;23347:2;23339:6;23336:14;23333:34;;;23363:1;23360;23353:12;23333:34;23401:6;23390:9;23386:22;23376:32;;23446:7;23439:4;23435:2;23431:13;23427:27;23417:55;;23468:1;23465;23458:12;23417:55;23497:2;23491:9;23519:2;23515;23512:10;23509:36;;;23525:18;;:::i;:::-;23571:2;23568:1;23564:10;23554:20;;23594:28;23618:2;23614;23610:11;23594:28;:::i;:::-;23656:15;;;23726:11;;;23722:20;;;23687:12;;;;23754:19;;;23751:39;;;23786:1;23783;23776:12;23751:39;23810:11;;;;23830:210;23846:6;23841:3;23838:15;23830:210;;;23919:3;23913:10;23900:23;;23936:31;23961:5;23936:31;:::i;:::-;23980:18;;;23863:12;;;;24018;;;;23830:210;;;24059:5;23059:1011;-1:-1:-1;;;;;;;;23059:1011:151:o;24075:772::-;24125:3;24166:5;24160:12;24195:36;24221:9;24195:36;:::i;:::-;24240:19;;;24278:4;24301:1;24318:18;;;24345:146;;;;24505:1;24500:341;;;;24311:530;;24345:146;-1:-1:-1;;24387:24:151;;24373:12;;;24366:46;24459:14;;24452:22;24449:1;24445:30;24436:40;;24432:49;;;-1:-1:-1;24345:146:151;;24500:341;24531:5;24528:1;24521:16;24578:2;24575:1;24565:16;24603:1;24617:174;24631:6;24628:1;24625:13;24617:174;;;24718:14;;24700:11;;;24696:20;;24689:44;24761:16;;;;24646:10;;24617:174;;;24815:11;;24811:20;;;-1:-1:-1;;24311:530:151;;;;;;24075:772;;;;:::o;24852:252::-;24939:5;24933:12;24928:3;24921:25;24903:3;24992:4;24985:5;24981:16;24975:23;25030:4;25023;25018:3;25014:14;25007:28;25051:47;25092:4;25087:3;25083:14;25069:12;25051:47;:::i;25109:484::-;25162:3;25200:5;25194:12;25227:6;25222:3;25215:19;25253:4;25282:2;25277:3;25273:12;25266:19;;25319:2;25312:5;25308:14;25340:1;25350:218;25364:6;25361:1;25358:13;25350:218;;;25429:13;;-1:-1:-1;;;;;25425:62:151;25413:75;;25508:12;;;;25543:15;;;;25386:1;25379:9;25350:218;;;-1:-1:-1;25584:3:151;;25109:484;-1:-1:-1;;;;;25109:484:151:o;25598:827::-;25958:6;25947:9;25940:25;26001:3;25996:2;25985:9;25981:18;25974:31;25921:4;26028:54;26077:3;26066:9;26062:19;26054:6;26028:54;:::i;:::-;26130:9;26122:6;26118:22;26113:2;26102:9;26098:18;26091:50;26164:42;26199:6;26191;26164:42;:::i;:::-;26150:56;;-1:-1:-1;;;;;26246:6:151;26242:55;26237:2;26226:9;26222:18;26215:83;26347:9;26339:6;26335:22;26329:3;26318:9;26314:19;26307:51;26375:44;26412:6;26404;26375:44;:::i;26619:500::-;26873:6;26862:9;26855:25;26916:2;26911;26900:9;26896:18;26889:30;26836:4;26942:53;26991:2;26980:9;26976:18;26968:6;26942:53;:::i;:::-;27043:9;27035:6;27031:22;27026:2;27015:9;27011:18;27004:50;27071:42;27106:6;27098;27071:42;:::i;:::-;27063:50;26619:500;-1:-1:-1;;;;;;26619:500:151:o;27124:142::-;27207:1;27200:5;27197:12;27187:46;;27213:18;;:::i;:::-;27242;;27124:142::o;27366:1129::-;27528:4;27570:3;27559:9;27555:19;27547:27;;-1:-1:-1;;;;;27611:6:151;27605:13;27601:62;27590:9;27583:81;27720:4;27712:6;27708:17;27702:24;27695:4;27684:9;27680:20;27673:54;27783:4;27775:6;27771:17;27765:24;27758:4;27747:9;27743:20;27736:54;27846:4;27838:6;27834:17;27828:24;27821:4;27810:9;27806:20;27799:54;27909:4;27901:6;27897:17;27891:24;27884:4;27873:9;27869:20;27862:54;27963:4;27955:6;27951:17;27945:24;28005:1;27991:12;27988:19;27978:53;;28011:18;;:::i;:::-;28069:12;28062:4;28051:9;28047:20;28040:42;;28131:4;28123:6;28119:17;28113:24;28146:65;28205:4;28194:9;28190:20;28174:14;28146:65;:::i;:::-;;28260:4;28252:6;28248:17;28242:24;28275:73;28342:4;28331:9;28327:20;28311:14;27346:12;27334:25;;27271:90;28275:73;-1:-1:-1;28367:6:151;28410:15;;;28404:22;-1:-1:-1;;;;;2606:54:151;28470:18;;;;2594:67;27366:1129;:::o;28500:1002::-;28925:6;28914:9;28907:25;28888:4;-1:-1:-1;;;;;29041:2:151;29033:6;29029:15;29024:2;29013:9;29009:18;29002:43;29081:3;29076:2;29065:9;29061:18;29054:31;29108:46;29149:3;29138:9;29134:19;29126:6;29108:46;:::i;:::-;29202:2;29194:6;29190:15;29185:2;29174:9;29170:18;29163:43;29243:6;29237:3;29226:9;29222:19;29215:35;29299:9;29291:6;29287:22;29281:3;29270:9;29266:19;29259:51;29333:42;29368:6;29360;29333:42;:::i;:::-;29319:56;;;29424:9;29416:6;29412:22;29406:3;29395:9;29391:19;29384:51;29452:44;29489:6;29481;29452:44;:::i;:::-;29444:52;28500:1002;-1:-1:-1;;;;;;;;;;28500:1002:151:o;29507:636::-;29800:6;29789:9;29782:25;29763:4;-1:-1:-1;;;;;29916:2:151;29908:6;29904:15;29899:2;29888:9;29884:18;29877:43;29968:2;29960:6;29956:15;29951:2;29940:9;29936:18;29929:43;30020:2;30012:6;30008:15;30003:2;29992:9;29988:18;29981:43;;30061:3;30055;30044:9;30040:19;30033:32;30082:55;30132:3;30121:9;30117:19;30109:6;30082:55;:::i;30508:340::-;30685:2;30674:9;30667:21;30648:4;30705:45;30746:2;30735:9;30731:18;30723:6;30705:45;:::i;:::-;30697:53;;-1:-1:-1;;;;;30790:6:151;30786:55;30781:2;30770:9;30766:18;30759:83;30508:340;;;;;:::o;30853:291::-;31030:2;31019:9;31012:21;30993:4;31050:45;31091:2;31080:9;31076:18;31068:6;31050:45;:::i;:::-;31042:53;;31131:6;31126:2;31115:9;31111:18;31104:34;30853:291;;;;;:::o;31687:812::-;32098:25;32093:3;32086:38;32068:3;32153:6;32147:13;32169:75;32237:6;32232:2;32227:3;32223:12;32216:4;32208:6;32204:17;32169:75;:::i;:::-;32308:19;32303:2;32263:16;;;32295:11;;;32288:40;32353:13;;32375:76;32353:13;32437:2;32429:11;;32422:4;32410:17;;32375:76;:::i;:::-;32471:17;32490:2;32467:26;;31687:812;-1:-1:-1;;;;31687:812:151:o;33520:136::-;33559:3;33587:5;33577:39;;33596:18;;:::i;:::-;-1:-1:-1;;;33632:18:151;;33520:136::o;34429:287::-;34558:3;34596:6;34590:13;34612:66;34671:6;34666:3;34659:4;34651:6;34647:17;34612:66;:::i;:::-;34694:16;;;;;34429:287;-1:-1:-1;;34429:287:151:o","linkReferences":{}},"methodIdentifiers":{"COUNCIL_MEMBER_CHANGE()":"a0b21cdf","DEFAULT_ADMIN_ROLE()":"a217fddf","MAX_FEE()":"bc063e1a","NATIVE()":"a0cf0aea","PRECISION_SCALE()":"d7050f07","acceptCouncilSafe()":"b5058c50","activateMemberInStrategy(address,address)":"0d4a8b49","addStrategy(address)":"223e5479","addStrategyByPoolId(uint256)":"82d6a1e7","addressToMemberInfo(address)":"88cfe684","allo()":"d6d8428d","cloneNonce()":"33960459","communityFee()":"8961be6b","communityName()":"c6d572ae","councilSafe()":"6c53db9a","covenantIpfsHash()":"b64e39af","createPool(address,(address,uint256,uint256,uint256,uint256,uint8,uint8,(uint256),address),(uint256,string))":"97991cfa","createPool(address,address,(address,uint256,uint256,uint256,uint256,uint8,uint8,(uint256),address),(uint256,string))":"ff6409ef","deactivateMemberInStrategy(address,address)":"22bcf999","decreasePower(uint256)":"5ecf71c5","enabledStrategies(address)":"3a871fe1","feeReceiver()":"b3f00674","gardenToken()":"db61d65c","getBasisStakedAmount()":"0331383c","getMemberPowerInStrategy(address,address)":"7817ee4f","getMemberStakedAmount(address)":"2c611c4a","getRoleAdmin(bytes32)":"248a9ca3","getStakeAmountWithFees()":"28c309e9","grantRole(bytes32,address)":"2f2ff15d","hasRole(bytes32,address)":"91d14854","increasePower(uint256)":"559de05d","initialize((address,address,uint256,uint256,uint256,address,address,(uint256,string),address,string,bool,string,address))":"96f0adec","isCouncilMember(address)":"ebd7dc52","isKickEnabled()":"1f787d28","isMember(address)":"a230c524","kickMember(address,address)":"6871eb4d","memberActivatedInStrategies(address,address)":"477a5cc0","memberPowerInStrategy(address,address)":"65e3864c","pendingCouncilSafe()":"68decabb","profileId()":"08386eba","registerStakeAmount()":"78a0b8a9","registry()":"7b103999","registryFactory()":"f86c5f89","removeStrategy(address)":"175188e8","removeStrategyByPoolId(uint256)":"73265c37","renounceRole(bytes32,address)":"36568abe","revokeRole(bytes32,address)":"d547741f","setBasisStakedAmount(uint256)":"31f61bca","setCommunityFee(uint256)":"0d12bbdb","setCouncilSafe(address)":"397e2543","stakeAndRegisterMember()":"3517aa7d","strategiesByMember(address,uint256)":"2b38c69c","strategyTemplate()":"5c94e4d2","supportsInterface(bytes4)":"01ffc9a7","unregisterMember()":"b99b4370"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"AddressCannotBeZero\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_decreaseAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_currentPower\",\"type\":\"uint256\"}],\"name\":\"CantDecreaseMoreThanPower\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"DecreaseUnderMinimum\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"KickNotEnabled\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NewFeeGreaterThanMax\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"PointsDeactivated\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"RegistryCannotBeZero\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"SenderNotNewOwner\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"SenderNotStrategy\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"StrategyDisabled\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"StrategyExists\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UserAlreadyActivated\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UserAlreadyDeactivated\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UserAlreadyRegistered\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UserNotGardenOwner\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UserNotInCouncil\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UserNotInRegistry\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ValueCannotBeZero\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_allo\",\"type\":\"address\"}],\"name\":\"AlloSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_newAmount\",\"type\":\"uint256\"}],\"name\":\"BasisStakedAmountSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_newFee\",\"type\":\"uint256\"}],\"name\":\"CommunityFeeUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_safeOwner\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_newSafeOwner\",\"type\":\"address\"}],\"name\":\"CouncilSafeChangeStarted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_safe\",\"type\":\"address\"}],\"name\":\"CouncilSafeSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_pointsToIncrease\",\"type\":\"uint256\"}],\"name\":\"MemberActivatedStrategy\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"}],\"name\":\"MemberDeactivatedStrategy\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_transferAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_amountReturned\",\"type\":\"uint256\"}],\"name\":\"MemberKicked\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_unstakedAmount\",\"type\":\"uint256\"}],\"name\":\"MemberPowerDecreased\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_stakedAmount\",\"type\":\"uint256\"}],\"name\":\"MemberPowerIncreased\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_amountStaked\",\"type\":\"uint256\"}],\"name\":\"MemberRegistered\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_amountReturned\",\"type\":\"uint256\"}],\"name\":\"MemberUnregistered\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_poolId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_community\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"indexed\":false,\"internalType\":\"struct Metadata\",\"name\":\"_metadata\",\"type\":\"tuple\"}],\"name\":\"PoolCreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"_profileId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"_communityName\",\"type\":\"string\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"indexed\":false,\"internalType\":\"struct Metadata\",\"name\":\"_metadata\",\"type\":\"tuple\"}],\"name\":\"RegistryInitialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"previousAdminRole\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"newAdminRole\",\"type\":\"bytes32\"}],\"name\":\"RoleAdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleGranted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleRevoked\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"}],\"name\":\"StrategyAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"}],\"name\":\"StrategyRemoved\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"COUNCIL_MEMBER_CHANGE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"DEFAULT_ADMIN_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"MAX_FEE\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"NATIVE\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"PRECISION_SCALE\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"acceptCouncilSafe\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"}],\"name\":\"activateMemberInStrategy\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_newStrategy\",\"type\":\"address\"}],\"name\":\"addStrategy\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"}],\"name\":\"addStrategyByPoolId\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"member\",\"type\":\"address\"}],\"name\":\"addressToMemberInfo\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"member\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"stakedAmount\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"isRegistered\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"allo\",\"outputs\":[{\"internalType\":\"contract FAllo\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"cloneNonce\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"communityFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"communityName\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"councilSafe\",\"outputs\":[{\"internalType\":\"contract ISafe\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"covenantIpfsHash\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"registryCommunity\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"decay\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxRatio\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"weight\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"minThresholdPoints\",\"type\":\"uint256\"},{\"internalType\":\"enum StrategyStruct.ProposalType\",\"name\":\"proposalType\",\"type\":\"uint8\"},{\"internalType\":\"enum StrategyStruct.PointSystem\",\"name\":\"pointSystem\",\"type\":\"uint8\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"maxAmount\",\"type\":\"uint256\"}],\"internalType\":\"struct StrategyStruct.PointSystemConfig\",\"name\":\"pointConfig\",\"type\":\"tuple\"},{\"internalType\":\"address\",\"name\":\"sybilScorer\",\"type\":\"address\"}],\"internalType\":\"struct StrategyStruct.InitializeParams\",\"name\":\"_params\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"_metadata\",\"type\":\"tuple\"}],\"name\":\"createPool\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"strategy\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"registryCommunity\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"decay\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxRatio\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"weight\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"minThresholdPoints\",\"type\":\"uint256\"},{\"internalType\":\"enum StrategyStruct.ProposalType\",\"name\":\"proposalType\",\"type\":\"uint8\"},{\"internalType\":\"enum StrategyStruct.PointSystem\",\"name\":\"pointSystem\",\"type\":\"uint8\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"maxAmount\",\"type\":\"uint256\"}],\"internalType\":\"struct StrategyStruct.PointSystemConfig\",\"name\":\"pointConfig\",\"type\":\"tuple\"},{\"internalType\":\"address\",\"name\":\"sybilScorer\",\"type\":\"address\"}],\"internalType\":\"struct StrategyStruct.InitializeParams\",\"name\":\"_params\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"_metadata\",\"type\":\"tuple\"}],\"name\":\"createPool\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"strategy\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"}],\"name\":\"deactivateMemberInStrategy\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_amountUnstaked\",\"type\":\"uint256\"}],\"name\":\"decreasePower\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"strategy\",\"type\":\"address\"}],\"name\":\"enabledStrategies\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isEnabled\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"feeReceiver\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"gardenToken\",\"outputs\":[{\"internalType\":\"contract IERC20\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getBasisStakedAmount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"}],\"name\":\"getMemberPowerInStrategy\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"}],\"name\":\"getMemberStakedAmount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"}],\"name\":\"getRoleAdmin\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getStakeAmountWithFees\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"grantRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"hasRole\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_amountStaked\",\"type\":\"uint256\"}],\"name\":\"increasePower\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"_allo\",\"type\":\"address\"},{\"internalType\":\"contract IERC20\",\"name\":\"_gardenToken\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_registerStakeAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_communityFee\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_nonce\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_registryFactory\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_feeReceiver\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"_metadata\",\"type\":\"tuple\"},{\"internalType\":\"address payable\",\"name\":\"_councilSafe\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"_communityName\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"_isKickEnabled\",\"type\":\"bool\"},{\"internalType\":\"string\",\"name\":\"covenantIpfsHash\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"_strategyTemplate\",\"type\":\"address\"}],\"internalType\":\"struct RegistryCommunity.InitializeParams\",\"name\":\"params\",\"type\":\"tuple\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"}],\"name\":\"isCouncilMember\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"isKickEnabled\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"}],\"name\":\"isMember\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"_isMember\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_transferAddress\",\"type\":\"address\"}],\"name\":\"kickMember\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"member\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"strategy\",\"type\":\"address\"}],\"name\":\"memberActivatedInStrategies\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isActivated\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"strategy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"member\",\"type\":\"address\"}],\"name\":\"memberPowerInStrategy\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"power\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pendingCouncilSafe\",\"outputs\":[{\"internalType\":\"address payable\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profileId\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"registerStakeAmount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"registry\",\"outputs\":[{\"internalType\":\"contract IRegistry\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"registryFactory\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"}],\"name\":\"removeStrategy\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"}],\"name\":\"removeStrategyByPoolId\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"renounceRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"revokeRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_newAmount\",\"type\":\"uint256\"}],\"name\":\"setBasisStakedAmount\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_newCommunityFee\",\"type\":\"uint256\"}],\"name\":\"setCommunityFee\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address payable\",\"name\":\"_safe\",\"type\":\"address\"}],\"name\":\"setCouncilSafe\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"stakeAndRegisterMember\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"member\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"strategiesByMember\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"strategiesAddresses\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"strategyTemplate\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"unregisterMember\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"events\":{\"RoleAdminChanged(bytes32,bytes32,bytes32)\":{\"details\":\"Emitted when `newAdminRole` is set as ``role``'s admin role, replacing `previousAdminRole` `DEFAULT_ADMIN_ROLE` is the starting admin for all roles, despite {RoleAdminChanged} not being emitted signaling this. _Available since v3.1._\"},\"RoleGranted(bytes32,address,address)\":{\"details\":\"Emitted when `account` is granted `role`. `sender` is the account that originated the contract call, an admin role bearer except when using {AccessControl-_setupRole}.\"},\"RoleRevoked(bytes32,address,address)\":{\"details\":\"Emitted when `account` is revoked `role`. `sender` is the account that originated the contract call: - if using `revokeRole`, it is the admin role bearer - if using `renounceRole`, it is the role bearer (i.e. `account`)\"}},\"kind\":\"dev\",\"methods\":{\"getRoleAdmin(bytes32)\":{\"details\":\"Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}.\"},\"grantRole(bytes32,address)\":{\"details\":\"Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleGranted} event.\"},\"hasRole(bytes32,address)\":{\"details\":\"Returns `true` if `account` has been granted `role`.\"},\"renounceRole(bytes32,address)\":{\"details\":\"Revokes `role` from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been revoked `role`, emits a {RoleRevoked} event. Requirements: - the caller must be `account`. May emit a {RoleRevoked} event.\"},\"revokeRole(bytes32,address)\":{\"details\":\"Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleRevoked} event.\"},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"pkg/contracts/src/RegistryCommunity.sol\":\"RegistryCommunity\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1000},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":eas-proxy/=lib/allo-v2/lib/eas-proxy/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":hedgey-vesting/=lib/allo-v2/lib/hedgey-vesting/contracts/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-contracts/=lib/safe-contracts/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":superfluid-protocol-monorepo/=lib/allo-v2/lib/superfluid-protocol-monorepo/packages/solidity-semantic-money/src/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"]},\"sources\":{\"lib/allo-v2/contracts/core/interfaces/IAllo.sol\":{\"keccak256\":\"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7\",\"dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1\"]},\"lib/allo-v2/contracts/core/interfaces/IRegistry.sol\":{\"keccak256\":\"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e\",\"dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA\"]},\"lib/allo-v2/contracts/core/interfaces/IStrategy.sol\":{\"keccak256\":\"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487\",\"dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH\"]},\"lib/allo-v2/contracts/core/libraries/Clone.sol\":{\"keccak256\":\"0xc348b24b7d8a98c4faa5f2aa37ce9264a74f81dbdef1a9bae2eaa125585c3c7e\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://1335b3ec59ec7e3d12ea7c90b3aa56f4c26e0d44d342f54412933be9d4f16067\",\"dweb:/ipfs/QmXNFo2wCyq9cpvfgbdHvBUQecThFSEoUnMuZNS6WinDrr\"]},\"lib/allo-v2/contracts/core/libraries/Errors.sol\":{\"keccak256\":\"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf\",\"dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA\"]},\"lib/allo-v2/contracts/core/libraries/Metadata.sol\":{\"keccak256\":\"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c\",\"dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn\"]},\"lib/allo-v2/contracts/core/libraries/Native.sol\":{\"keccak256\":\"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a\",\"dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv\"]},\"lib/allo-v2/contracts/core/libraries/Transfer.sol\":{\"keccak256\":\"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11\",\"dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5\"]},\"lib/allo-v2/contracts/strategies/BaseStrategy.sol\":{\"keccak256\":\"0x3f1382dc6c35d50545e327e7ed6016f2bd752357d446bd698014073f0b812873\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://99500abcd617fa43f6dde49e2c7802821ceaf54a65a8055cbbf2695ecd107974\",\"dweb:/ipfs/QmUktZkWuu3GCMEijY1fqt7NMy7BzpTvEtcmpB1fuoa7zt\"]},\"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol\":{\"keccak256\":\"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298\",\"dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol\":{\"keccak256\":\"0x3d98edeb5d5be8410fca707b73dabe7544d1dd11e35b73dd907c473fe43cc3ae\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1a3fa9fc3aec149b8ad0dd8895277ab11e9244e9d2b7adc8404b22de974fc964\",\"dweb:/ipfs/QmRggzxs1WjuvGJSAKb2Nw5r7P3VDMefCWKTbkNPKRkv2j\"]},\"lib/openzeppelin-contracts/contracts/access/AccessControl.sol\":{\"keccak256\":\"0x0dd6e52cb394d7f5abe5dca2d4908a6be40417914720932de757de34a99ab87f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://dc117ce50ea746cab6b97ed1a1facee17a715ae0cb95d67b943dacbaf15176fb\",\"dweb:/ipfs/QmYRZ2UGNYwsHwfNu7Wjr8L2j1LBZ1mKv6NvbwgterYMXc\"]},\"lib/openzeppelin-contracts/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0x59ce320a585d7e1f163cd70390a0ef2ff9cec832e2aa544293a00692465a7a57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb2c137c343ef0c4c7ce7b18c1d108afdc9d315a04e48307288d2d05adcbde3a\",\"dweb:/ipfs/QmUxhrAQM3MM3FF5j7AtcXLXguWCJBHJ14BRdVtuoQc8Fh\"]},\"lib/openzeppelin-contracts/contracts/access/Ownable.sol\":{\"keccak256\":\"0xba43b97fba0d32eb4254f6a5a297b39a19a247082a02d6e69349e071e2946218\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fc980984badf3984b6303b377711220e067722bbd6a135b24669ff5069ef9f32\",\"dweb:/ipfs/QmPHXMSXj99XjSVM21YsY6aNtLLjLVXDbyN76J5HQYvvrz\"]},\"lib/openzeppelin-contracts/contracts/security/ReentrancyGuard.sol\":{\"keccak256\":\"0xa535a5df777d44e945dd24aa43a11e44b024140fc340ad0dfe42acf4002aade1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://41319e7f621f2dc3733511332c4fd032f8e32ad2aa7fd6f665c19741d9941a34\",\"dweb:/ipfs/QmcYR3bd862GD1Bc7jwrU9bGxrhUu5na1oP964bDCu2id1\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15\",\"dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5\",\"dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd\",\"dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol\":{\"keccak256\":\"0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a\",\"dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0x909d608c2db6eb165ca178c81289a07ed2e118e444d0025b2a85c97d0b44a4fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://656cda26512ddd7373c2d5551c8fae759fc30f05b10f0fc2e738e9274199dbd4\",\"dweb:/ipfs/QmTSArSzQRFbQmHgq7U1PZXnsDFhvDZhKVu9CzMG4yo6Lx\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"lib/openzeppelin-contracts/contracts/utils/Strings.sol\":{\"keccak256\":\"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f\",\"dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol\":{\"keccak256\":\"0x5a08ad61f4e82b8a3323562661a86fb10b10190848073fdc13d4ac43710ffba5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6f7bb74cf88fd88daa34e118bc6e363381d05044f34f391d39a10c0c9dac3ebd\",\"dweb:/ipfs/QmNbQ3v8v4zuDtg7VeLAbdhAm3tCzUodNoDZZ8ekmCHWZX\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]},\"pkg/contracts/src/CVStrategy.sol\":{\"keccak256\":\"0x132bcf17470960e380d841159d9389985d609aaae1c9a657c78902f7871da957\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://84e905bf392579b44f33fff8586431b940e110b2210854cf487321cc92061705\",\"dweb:/ipfs/QmQpvszYu8RbrXmUFLifSodQzV8LAqazk1fzXNARGc5sBT\"]},\"pkg/contracts/src/ISybilScorer.sol\":{\"keccak256\":\"0x0e25fbb8497ac3c969d80c9032362d45e56c0a45dc9ba3dff6a8a704571f38ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0dff90ebae6e7131a5300fcaf525bc2ab0ae90fcd13f277d7b7b6939eeb8b7eb\",\"dweb:/ipfs/QmYGkYqpUVrBWoNY6f3CtwrrVQFWSvnJfpu68t95f6AkBY\"]},\"pkg/contracts/src/RegistryCommunity.sol\":{\"keccak256\":\"0xc735f4d2635149f2db9bff291da56e08c3c312d9eb1b767b8a1e3e51584d5734\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://247b33b78abface6a7e2da38174386de9b543f6a27e8340e26d854bff57184a3\",\"dweb:/ipfs/QmedNdqkqeboGzz9w868uGf7KnXUaYZe6i1YcdUPPkJnnf\"]},\"pkg/contracts/src/RegistryFactory.sol\":{\"keccak256\":\"0x888b7f5eb1079f90ccfa0b41d8a970bffd8d4d469f9b31917a58279b358dbda5\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://af25fd783de00adf01d1c7caa572801fed0d474306a43b862535b08e65ec10c6\",\"dweb:/ipfs/Qmeb2nEaMQLV86y1CYAAV2c6BYpBDTbpLuC1SigeNjdqLo\"]},\"pkg/contracts/src/interfaces/ISafe.sol\":{\"keccak256\":\"0x878a210809bb684c42157a10f3f90350a67d0a4863f130499942b06f0f2c9143\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://fa2d71bd427c3415e98a2ee15ff673f3cc61c17f14d7087c5eedc83b55f6b0ef\",\"dweb:/ipfs/QmesVSmJQQzi6ys1cvhQFCJyDXchb736mT5bXks4Yp6Cbj\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"type":"error","name":"AddressCannotBeZero"},{"inputs":[{"internalType":"uint256","name":"_decreaseAmount","type":"uint256"},{"internalType":"uint256","name":"_currentPower","type":"uint256"}],"type":"error","name":"CantDecreaseMoreThanPower"},{"inputs":[],"type":"error","name":"DecreaseUnderMinimum"},{"inputs":[],"type":"error","name":"KickNotEnabled"},{"inputs":[],"type":"error","name":"NewFeeGreaterThanMax"},{"inputs":[],"type":"error","name":"PointsDeactivated"},{"inputs":[],"type":"error","name":"RegistryCannotBeZero"},{"inputs":[],"type":"error","name":"SenderNotNewOwner"},{"inputs":[],"type":"error","name":"SenderNotStrategy"},{"inputs":[],"type":"error","name":"StrategyDisabled"},{"inputs":[],"type":"error","name":"StrategyExists"},{"inputs":[],"type":"error","name":"UserAlreadyActivated"},{"inputs":[],"type":"error","name":"UserAlreadyDeactivated"},{"inputs":[],"type":"error","name":"UserAlreadyRegistered"},{"inputs":[],"type":"error","name":"UserNotGardenOwner"},{"inputs":[],"type":"error","name":"UserNotInCouncil"},{"inputs":[],"type":"error","name":"UserNotInRegistry"},{"inputs":[],"type":"error","name":"ValueCannotBeZero"},{"inputs":[{"internalType":"address","name":"_allo","type":"address","indexed":false}],"type":"event","name":"AlloSet","anonymous":false},{"inputs":[{"internalType":"uint256","name":"_newAmount","type":"uint256","indexed":false}],"type":"event","name":"BasisStakedAmountSet","anonymous":false},{"inputs":[{"internalType":"uint256","name":"_newFee","type":"uint256","indexed":false}],"type":"event","name":"CommunityFeeUpdated","anonymous":false},{"inputs":[{"internalType":"address","name":"_safeOwner","type":"address","indexed":false},{"internalType":"address","name":"_newSafeOwner","type":"address","indexed":false}],"type":"event","name":"CouncilSafeChangeStarted","anonymous":false},{"inputs":[{"internalType":"address","name":"_safe","type":"address","indexed":false}],"type":"event","name":"CouncilSafeSet","anonymous":false},{"inputs":[{"internalType":"address","name":"_member","type":"address","indexed":false},{"internalType":"address","name":"_strategy","type":"address","indexed":false},{"internalType":"uint256","name":"_pointsToIncrease","type":"uint256","indexed":false}],"type":"event","name":"MemberActivatedStrategy","anonymous":false},{"inputs":[{"internalType":"address","name":"_member","type":"address","indexed":false},{"internalType":"address","name":"_strategy","type":"address","indexed":false}],"type":"event","name":"MemberDeactivatedStrategy","anonymous":false},{"inputs":[{"internalType":"address","name":"_member","type":"address","indexed":false},{"internalType":"address","name":"_transferAddress","type":"address","indexed":false},{"internalType":"uint256","name":"_amountReturned","type":"uint256","indexed":false}],"type":"event","name":"MemberKicked","anonymous":false},{"inputs":[{"internalType":"address","name":"_member","type":"address","indexed":false},{"internalType":"uint256","name":"_unstakedAmount","type":"uint256","indexed":false}],"type":"event","name":"MemberPowerDecreased","anonymous":false},{"inputs":[{"internalType":"address","name":"_member","type":"address","indexed":false},{"internalType":"uint256","name":"_stakedAmount","type":"uint256","indexed":false}],"type":"event","name":"MemberPowerIncreased","anonymous":false},{"inputs":[{"internalType":"address","name":"_member","type":"address","indexed":false},{"internalType":"uint256","name":"_amountStaked","type":"uint256","indexed":false}],"type":"event","name":"MemberRegistered","anonymous":false},{"inputs":[{"internalType":"address","name":"_member","type":"address","indexed":false},{"internalType":"uint256","name":"_amountReturned","type":"uint256","indexed":false}],"type":"event","name":"MemberUnregistered","anonymous":false},{"inputs":[{"internalType":"uint256","name":"_poolId","type":"uint256","indexed":false},{"internalType":"address","name":"_strategy","type":"address","indexed":false},{"internalType":"address","name":"_community","type":"address","indexed":false},{"internalType":"address","name":"_token","type":"address","indexed":false},{"internalType":"struct Metadata","name":"_metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}],"indexed":false}],"type":"event","name":"PoolCreated","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"_profileId","type":"bytes32","indexed":false},{"internalType":"string","name":"_communityName","type":"string","indexed":false},{"internalType":"struct Metadata","name":"_metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}],"indexed":false}],"type":"event","name":"RegistryInitialized","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32","indexed":true},{"internalType":"bytes32","name":"previousAdminRole","type":"bytes32","indexed":true},{"internalType":"bytes32","name":"newAdminRole","type":"bytes32","indexed":true}],"type":"event","name":"RoleAdminChanged","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32","indexed":true},{"internalType":"address","name":"account","type":"address","indexed":true},{"internalType":"address","name":"sender","type":"address","indexed":true}],"type":"event","name":"RoleGranted","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32","indexed":true},{"internalType":"address","name":"account","type":"address","indexed":true},{"internalType":"address","name":"sender","type":"address","indexed":true}],"type":"event","name":"RoleRevoked","anonymous":false},{"inputs":[{"internalType":"address","name":"_strategy","type":"address","indexed":false}],"type":"event","name":"StrategyAdded","anonymous":false},{"inputs":[{"internalType":"address","name":"_strategy","type":"address","indexed":false}],"type":"event","name":"StrategyRemoved","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"COUNCIL_MEMBER_CHANGE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"DEFAULT_ADMIN_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"MAX_FEE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"NATIVE","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"PRECISION_SCALE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"acceptCouncilSafe"},{"inputs":[{"internalType":"address","name":"_member","type":"address"},{"internalType":"address","name":"_strategy","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"activateMemberInStrategy"},{"inputs":[{"internalType":"address","name":"_newStrategy","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"addStrategy"},{"inputs":[{"internalType":"uint256","name":"poolId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"addStrategyByPoolId"},{"inputs":[{"internalType":"address","name":"member","type":"address"}],"stateMutability":"view","type":"function","name":"addressToMemberInfo","outputs":[{"internalType":"address","name":"member","type":"address"},{"internalType":"uint256","name":"stakedAmount","type":"uint256"},{"internalType":"bool","name":"isRegistered","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"allo","outputs":[{"internalType":"contract FAllo","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"cloneNonce","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"communityFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"communityName","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"councilSafe","outputs":[{"internalType":"contract ISafe","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"covenantIpfsHash","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[{"internalType":"address","name":"_token","type":"address"},{"internalType":"struct StrategyStruct.InitializeParams","name":"_params","type":"tuple","components":[{"internalType":"address","name":"registryCommunity","type":"address"},{"internalType":"uint256","name":"decay","type":"uint256"},{"internalType":"uint256","name":"maxRatio","type":"uint256"},{"internalType":"uint256","name":"weight","type":"uint256"},{"internalType":"uint256","name":"minThresholdPoints","type":"uint256"},{"internalType":"enum StrategyStruct.ProposalType","name":"proposalType","type":"uint8"},{"internalType":"enum StrategyStruct.PointSystem","name":"pointSystem","type":"uint8"},{"internalType":"struct StrategyStruct.PointSystemConfig","name":"pointConfig","type":"tuple","components":[{"internalType":"uint256","name":"maxAmount","type":"uint256"}]},{"internalType":"address","name":"sybilScorer","type":"address"}]},{"internalType":"struct Metadata","name":"_metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]}],"stateMutability":"nonpayable","type":"function","name":"createPool","outputs":[{"internalType":"uint256","name":"poolId","type":"uint256"},{"internalType":"address","name":"strategy","type":"address"}]},{"inputs":[{"internalType":"address","name":"_strategy","type":"address"},{"internalType":"address","name":"_token","type":"address"},{"internalType":"struct StrategyStruct.InitializeParams","name":"_params","type":"tuple","components":[{"internalType":"address","name":"registryCommunity","type":"address"},{"internalType":"uint256","name":"decay","type":"uint256"},{"internalType":"uint256","name":"maxRatio","type":"uint256"},{"internalType":"uint256","name":"weight","type":"uint256"},{"internalType":"uint256","name":"minThresholdPoints","type":"uint256"},{"internalType":"enum StrategyStruct.ProposalType","name":"proposalType","type":"uint8"},{"internalType":"enum StrategyStruct.PointSystem","name":"pointSystem","type":"uint8"},{"internalType":"struct StrategyStruct.PointSystemConfig","name":"pointConfig","type":"tuple","components":[{"internalType":"uint256","name":"maxAmount","type":"uint256"}]},{"internalType":"address","name":"sybilScorer","type":"address"}]},{"internalType":"struct Metadata","name":"_metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]}],"stateMutability":"nonpayable","type":"function","name":"createPool","outputs":[{"internalType":"uint256","name":"poolId","type":"uint256"},{"internalType":"address","name":"strategy","type":"address"}]},{"inputs":[{"internalType":"address","name":"_member","type":"address"},{"internalType":"address","name":"_strategy","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"deactivateMemberInStrategy"},{"inputs":[{"internalType":"uint256","name":"_amountUnstaked","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"decreasePower"},{"inputs":[{"internalType":"address","name":"strategy","type":"address"}],"stateMutability":"view","type":"function","name":"enabledStrategies","outputs":[{"internalType":"bool","name":"isEnabled","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"feeReceiver","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"gardenToken","outputs":[{"internalType":"contract IERC20","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getBasisStakedAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"_member","type":"address"},{"internalType":"address","name":"_strategy","type":"address"}],"stateMutability":"view","type":"function","name":"getMemberPowerInStrategy","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"_member","type":"address"}],"stateMutability":"view","type":"function","name":"getMemberStakedAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getRoleAdmin","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getStakeAmountWithFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"grantRole"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"hasRole","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"uint256","name":"_amountStaked","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"increasePower"},{"inputs":[{"internalType":"struct RegistryCommunity.InitializeParams","name":"params","type":"tuple","components":[{"internalType":"address","name":"_allo","type":"address"},{"internalType":"contract IERC20","name":"_gardenToken","type":"address"},{"internalType":"uint256","name":"_registerStakeAmount","type":"uint256"},{"internalType":"uint256","name":"_communityFee","type":"uint256"},{"internalType":"uint256","name":"_nonce","type":"uint256"},{"internalType":"address","name":"_registryFactory","type":"address"},{"internalType":"address","name":"_feeReceiver","type":"address"},{"internalType":"struct Metadata","name":"_metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]},{"internalType":"address payable","name":"_councilSafe","type":"address"},{"internalType":"string","name":"_communityName","type":"string"},{"internalType":"bool","name":"_isKickEnabled","type":"bool"},{"internalType":"string","name":"covenantIpfsHash","type":"string"},{"internalType":"address","name":"_strategyTemplate","type":"address"}]}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[{"internalType":"address","name":"_member","type":"address"}],"stateMutability":"view","type":"function","name":"isCouncilMember","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"isKickEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"_member","type":"address"}],"stateMutability":"view","type":"function","name":"isMember","outputs":[{"internalType":"bool","name":"_isMember","type":"bool"}]},{"inputs":[{"internalType":"address","name":"_member","type":"address"},{"internalType":"address","name":"_transferAddress","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"kickMember"},{"inputs":[{"internalType":"address","name":"member","type":"address"},{"internalType":"address","name":"strategy","type":"address"}],"stateMutability":"view","type":"function","name":"memberActivatedInStrategies","outputs":[{"internalType":"bool","name":"isActivated","type":"bool"}]},{"inputs":[{"internalType":"address","name":"strategy","type":"address"},{"internalType":"address","name":"member","type":"address"}],"stateMutability":"view","type":"function","name":"memberPowerInStrategy","outputs":[{"internalType":"uint256","name":"power","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"pendingCouncilSafe","outputs":[{"internalType":"address payable","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"profileId","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"registerStakeAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"registry","outputs":[{"internalType":"contract IRegistry","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"registryFactory","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"_strategy","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"removeStrategy"},{"inputs":[{"internalType":"uint256","name":"poolId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"removeStrategyByPoolId"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"renounceRole"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"revokeRole"},{"inputs":[{"internalType":"uint256","name":"_newAmount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"setBasisStakedAmount"},{"inputs":[{"internalType":"uint256","name":"_newCommunityFee","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"setCommunityFee"},{"inputs":[{"internalType":"address payable","name":"_safe","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setCouncilSafe"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"stakeAndRegisterMember"},{"inputs":[{"internalType":"address","name":"member","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function","name":"strategiesByMember","outputs":[{"internalType":"address","name":"strategiesAddresses","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"strategyTemplate","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"stateMutability":"view","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"unregisterMember"}],"devdoc":{"kind":"dev","methods":{"getRoleAdmin(bytes32)":{"details":"Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}."},"grantRole(bytes32,address)":{"details":"Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleGranted} event."},"hasRole(bytes32,address)":{"details":"Returns `true` if `account` has been granted `role`."},"renounceRole(bytes32,address)":{"details":"Revokes `role` from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been revoked `role`, emits a {RoleRevoked} event. Requirements: - the caller must be `account`. May emit a {RoleRevoked} event."},"revokeRole(bytes32,address)":{"details":"Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleRevoked} event."},"supportsInterface(bytes4)":{"details":"See {IERC165-supportsInterface}."}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","eas-proxy/=lib/allo-v2/lib/eas-proxy/contracts/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","hedgey-vesting/=lib/allo-v2/lib/hedgey-vesting/contracts/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-contracts/=lib/safe-contracts/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","superfluid-protocol-monorepo/=lib/allo-v2/lib/superfluid-protocol-monorepo/packages/solidity-semantic-money/src/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":1000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"pkg/contracts/src/RegistryCommunity.sol":"RegistryCommunity"},"evmVersion":"paris","libraries":{}},"sources":{"lib/allo-v2/contracts/core/interfaces/IAllo.sol":{"keccak256":"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce","urls":["bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7","dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/interfaces/IRegistry.sol":{"keccak256":"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f","urls":["bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e","dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA"],"license":"MIT"},"lib/allo-v2/contracts/core/interfaces/IStrategy.sol":{"keccak256":"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23","urls":["bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487","dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Clone.sol":{"keccak256":"0xc348b24b7d8a98c4faa5f2aa37ce9264a74f81dbdef1a9bae2eaa125585c3c7e","urls":["bzz-raw://1335b3ec59ec7e3d12ea7c90b3aa56f4c26e0d44d342f54412933be9d4f16067","dweb:/ipfs/QmXNFo2wCyq9cpvfgbdHvBUQecThFSEoUnMuZNS6WinDrr"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Errors.sol":{"keccak256":"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15","urls":["bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf","dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Metadata.sol":{"keccak256":"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44","urls":["bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c","dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Native.sol":{"keccak256":"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5","urls":["bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a","dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Transfer.sol":{"keccak256":"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286","urls":["bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11","dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/strategies/BaseStrategy.sol":{"keccak256":"0x3f1382dc6c35d50545e327e7ed6016f2bd752357d446bd698014073f0b812873","urls":["bzz-raw://99500abcd617fa43f6dde49e2c7802821ceaf54a65a8055cbbf2695ecd107974","dweb:/ipfs/QmUktZkWuu3GCMEijY1fqt7NMy7BzpTvEtcmpB1fuoa7zt"],"license":"AGPL-3.0-only"},"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol":{"keccak256":"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624","urls":["bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298","dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt"],"license":"MIT"},"lib/forge-std/src/console.sol":{"keccak256":"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba","urls":["bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70","dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol":{"keccak256":"0x3d98edeb5d5be8410fca707b73dabe7544d1dd11e35b73dd907c473fe43cc3ae","urls":["bzz-raw://1a3fa9fc3aec149b8ad0dd8895277ab11e9244e9d2b7adc8404b22de974fc964","dweb:/ipfs/QmRggzxs1WjuvGJSAKb2Nw5r7P3VDMefCWKTbkNPKRkv2j"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/access/AccessControl.sol":{"keccak256":"0x0dd6e52cb394d7f5abe5dca2d4908a6be40417914720932de757de34a99ab87f","urls":["bzz-raw://dc117ce50ea746cab6b97ed1a1facee17a715ae0cb95d67b943dacbaf15176fb","dweb:/ipfs/QmYRZ2UGNYwsHwfNu7Wjr8L2j1LBZ1mKv6NvbwgterYMXc"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/access/IAccessControl.sol":{"keccak256":"0x59ce320a585d7e1f163cd70390a0ef2ff9cec832e2aa544293a00692465a7a57","urls":["bzz-raw://bb2c137c343ef0c4c7ce7b18c1d108afdc9d315a04e48307288d2d05adcbde3a","dweb:/ipfs/QmUxhrAQM3MM3FF5j7AtcXLXguWCJBHJ14BRdVtuoQc8Fh"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/access/Ownable.sol":{"keccak256":"0xba43b97fba0d32eb4254f6a5a297b39a19a247082a02d6e69349e071e2946218","urls":["bzz-raw://fc980984badf3984b6303b377711220e067722bbd6a135b24669ff5069ef9f32","dweb:/ipfs/QmPHXMSXj99XjSVM21YsY6aNtLLjLVXDbyN76J5HQYvvrz"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/security/ReentrancyGuard.sol":{"keccak256":"0xa535a5df777d44e945dd24aa43a11e44b024140fc340ad0dfe42acf4002aade1","urls":["bzz-raw://41319e7f621f2dc3733511332c4fd032f8e32ad2aa7fd6f665c19741d9941a34","dweb:/ipfs/QmcYR3bd862GD1Bc7jwrU9bGxrhUu5na1oP964bDCu2id1"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol":{"keccak256":"0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c","urls":["bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15","dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305","urls":["bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5","dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol":{"keccak256":"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca","urls":["bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd","dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol":{"keccak256":"0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a","urls":["bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a","dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol":{"keccak256":"0x909d608c2db6eb165ca178c81289a07ed2e118e444d0025b2a85c97d0b44a4fa","urls":["bzz-raw://656cda26512ddd7373c2d5551c8fae759fc30f05b10f0fc2e738e9274199dbd4","dweb:/ipfs/QmTSArSzQRFbQmHgq7U1PZXnsDFhvDZhKVu9CzMG4yo6Lx"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Address.sol":{"keccak256":"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa","urls":["bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931","dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Context.sol":{"keccak256":"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7","urls":["bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92","dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Strings.sol":{"keccak256":"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0","urls":["bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f","dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol":{"keccak256":"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b","urls":["bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d","dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol":{"keccak256":"0x5a08ad61f4e82b8a3323562661a86fb10b10190848073fdc13d4ac43710ffba5","urls":["bzz-raw://6f7bb74cf88fd88daa34e118bc6e363381d05044f34f391d39a10c0c9dac3ebd","dweb:/ipfs/QmNbQ3v8v4zuDtg7VeLAbdhAm3tCzUodNoDZZ8ekmCHWZX"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/Math.sol":{"keccak256":"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3","urls":["bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c","dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol":{"keccak256":"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc","urls":["bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7","dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6"],"license":"MIT"},"pkg/contracts/src/CVStrategy.sol":{"keccak256":"0x132bcf17470960e380d841159d9389985d609aaae1c9a657c78902f7871da957","urls":["bzz-raw://84e905bf392579b44f33fff8586431b940e110b2210854cf487321cc92061705","dweb:/ipfs/QmQpvszYu8RbrXmUFLifSodQzV8LAqazk1fzXNARGc5sBT"],"license":"AGPL-3.0-only"},"pkg/contracts/src/ISybilScorer.sol":{"keccak256":"0x0e25fbb8497ac3c969d80c9032362d45e56c0a45dc9ba3dff6a8a704571f38ea","urls":["bzz-raw://0dff90ebae6e7131a5300fcaf525bc2ab0ae90fcd13f277d7b7b6939eeb8b7eb","dweb:/ipfs/QmYGkYqpUVrBWoNY6f3CtwrrVQFWSvnJfpu68t95f6AkBY"],"license":"MIT"},"pkg/contracts/src/RegistryCommunity.sol":{"keccak256":"0xc735f4d2635149f2db9bff291da56e08c3c312d9eb1b767b8a1e3e51584d5734","urls":["bzz-raw://247b33b78abface6a7e2da38174386de9b543f6a27e8340e26d854bff57184a3","dweb:/ipfs/QmedNdqkqeboGzz9w868uGf7KnXUaYZe6i1YcdUPPkJnnf"],"license":"AGPL-3.0-only"},"pkg/contracts/src/RegistryFactory.sol":{"keccak256":"0x888b7f5eb1079f90ccfa0b41d8a970bffd8d4d469f9b31917a58279b358dbda5","urls":["bzz-raw://af25fd783de00adf01d1c7caa572801fed0d474306a43b862535b08e65ec10c6","dweb:/ipfs/Qmeb2nEaMQLV86y1CYAAV2c6BYpBDTbpLuC1SigeNjdqLo"],"license":"AGPL-3.0-only"},"pkg/contracts/src/interfaces/ISafe.sol":{"keccak256":"0x878a210809bb684c42157a10f3f90350a67d0a4863f130499942b06f0f2c9143","urls":["bzz-raw://fa2d71bd427c3415e98a2ee15ff673f3cc61c17f14d7087c5eedc83b55f6b0ef","dweb:/ipfs/QmesVSmJQQzi6ys1cvhQFCJyDXchb736mT5bXks4Yp6Cbj"],"license":"LGPL-3.0-only"}},"version":1},"storageLayout":{"storage":[{"astId":56224,"contract":"pkg/contracts/src/RegistryCommunity.sol:RegistryCommunity","label":"_status","offset":0,"slot":"0","type":"t_uint256"},{"astId":55017,"contract":"pkg/contracts/src/RegistryCommunity.sol:RegistryCommunity","label":"_roles","offset":0,"slot":"1","type":"t_mapping(t_bytes32,t_struct(RoleData)55012_storage)"},{"astId":81517,"contract":"pkg/contracts/src/RegistryCommunity.sol:RegistryCommunity","label":"isKickEnabled","offset":0,"slot":"2","type":"t_bool"},{"astId":81519,"contract":"pkg/contracts/src/RegistryCommunity.sol:RegistryCommunity","label":"registerStakeAmount","offset":0,"slot":"3","type":"t_uint256"},{"astId":81521,"contract":"pkg/contracts/src/RegistryCommunity.sol:RegistryCommunity","label":"communityFee","offset":0,"slot":"4","type":"t_uint256"},{"astId":81523,"contract":"pkg/contracts/src/RegistryCommunity.sol:RegistryCommunity","label":"profileId","offset":0,"slot":"5","type":"t_bytes32"},{"astId":81525,"contract":"pkg/contracts/src/RegistryCommunity.sol:RegistryCommunity","label":"feeReceiver","offset":0,"slot":"6","type":"t_address"},{"astId":81527,"contract":"pkg/contracts/src/RegistryCommunity.sol:RegistryCommunity","label":"registryFactory","offset":0,"slot":"7","type":"t_address"},{"astId":81529,"contract":"pkg/contracts/src/RegistryCommunity.sol:RegistryCommunity","label":"strategyTemplate","offset":0,"slot":"8","type":"t_address"},{"astId":81531,"contract":"pkg/contracts/src/RegistryCommunity.sol:RegistryCommunity","label":"cloneNonce","offset":0,"slot":"9","type":"t_uint256"},{"astId":81533,"contract":"pkg/contracts/src/RegistryCommunity.sol:RegistryCommunity","label":"pendingCouncilSafe","offset":0,"slot":"10","type":"t_address_payable"},{"astId":81536,"contract":"pkg/contracts/src/RegistryCommunity.sol:RegistryCommunity","label":"registry","offset":0,"slot":"11","type":"t_contract(IRegistry)2802"},{"astId":81539,"contract":"pkg/contracts/src/RegistryCommunity.sol:RegistryCommunity","label":"gardenToken","offset":0,"slot":"12","type":"t_contract(IERC20)57069"},{"astId":81542,"contract":"pkg/contracts/src/RegistryCommunity.sol:RegistryCommunity","label":"councilSafe","offset":0,"slot":"13","type":"t_contract(ISafe)85665"},{"astId":81545,"contract":"pkg/contracts/src/RegistryCommunity.sol:RegistryCommunity","label":"allo","offset":0,"slot":"14","type":"t_contract(FAllo)81222"},{"astId":81547,"contract":"pkg/contracts/src/RegistryCommunity.sol:RegistryCommunity","label":"communityName","offset":0,"slot":"15","type":"t_string_storage"},{"astId":81549,"contract":"pkg/contracts/src/RegistryCommunity.sol:RegistryCommunity","label":"covenantIpfsHash","offset":0,"slot":"16","type":"t_string_storage"},{"astId":81553,"contract":"pkg/contracts/src/RegistryCommunity.sol:RegistryCommunity","label":"enabledStrategies","offset":0,"slot":"17","type":"t_mapping(t_address,t_bool)"},{"astId":81559,"contract":"pkg/contracts/src/RegistryCommunity.sol:RegistryCommunity","label":"memberPowerInStrategy","offset":0,"slot":"18","type":"t_mapping(t_address,t_mapping(t_address,t_uint256))"},{"astId":81564,"contract":"pkg/contracts/src/RegistryCommunity.sol:RegistryCommunity","label":"addressToMemberInfo","offset":0,"slot":"19","type":"t_mapping(t_address,t_struct(Member)81482_storage)"},{"astId":81569,"contract":"pkg/contracts/src/RegistryCommunity.sol:RegistryCommunity","label":"strategiesByMember","offset":0,"slot":"20","type":"t_mapping(t_address,t_array(t_address)dyn_storage)"},{"astId":81575,"contract":"pkg/contracts/src/RegistryCommunity.sol:RegistryCommunity","label":"memberActivatedInStrategies","offset":0,"slot":"21","type":"t_mapping(t_address,t_mapping(t_address,t_bool))"},{"astId":81578,"contract":"pkg/contracts/src/RegistryCommunity.sol:RegistryCommunity","label":"initialMembers","offset":0,"slot":"22","type":"t_array(t_address)dyn_storage"}],"types":{"t_address":{"encoding":"inplace","label":"address","numberOfBytes":"20"},"t_address_payable":{"encoding":"inplace","label":"address payable","numberOfBytes":"20"},"t_array(t_address)dyn_storage":{"encoding":"dynamic_array","label":"address[]","numberOfBytes":"32","base":"t_address"},"t_bool":{"encoding":"inplace","label":"bool","numberOfBytes":"1"},"t_bytes32":{"encoding":"inplace","label":"bytes32","numberOfBytes":"32"},"t_contract(FAllo)81222":{"encoding":"inplace","label":"contract FAllo","numberOfBytes":"20"},"t_contract(IERC20)57069":{"encoding":"inplace","label":"contract IERC20","numberOfBytes":"20"},"t_contract(IRegistry)2802":{"encoding":"inplace","label":"contract IRegistry","numberOfBytes":"20"},"t_contract(ISafe)85665":{"encoding":"inplace","label":"contract ISafe","numberOfBytes":"20"},"t_mapping(t_address,t_array(t_address)dyn_storage)":{"encoding":"mapping","key":"t_address","label":"mapping(address => address[])","numberOfBytes":"32","value":"t_array(t_address)dyn_storage"},"t_mapping(t_address,t_bool)":{"encoding":"mapping","key":"t_address","label":"mapping(address => bool)","numberOfBytes":"32","value":"t_bool"},"t_mapping(t_address,t_mapping(t_address,t_bool))":{"encoding":"mapping","key":"t_address","label":"mapping(address => mapping(address => bool))","numberOfBytes":"32","value":"t_mapping(t_address,t_bool)"},"t_mapping(t_address,t_mapping(t_address,t_uint256))":{"encoding":"mapping","key":"t_address","label":"mapping(address => mapping(address => uint256))","numberOfBytes":"32","value":"t_mapping(t_address,t_uint256)"},"t_mapping(t_address,t_struct(Member)81482_storage)":{"encoding":"mapping","key":"t_address","label":"mapping(address => struct RegistryCommunity.Member)","numberOfBytes":"32","value":"t_struct(Member)81482_storage"},"t_mapping(t_address,t_uint256)":{"encoding":"mapping","key":"t_address","label":"mapping(address => uint256)","numberOfBytes":"32","value":"t_uint256"},"t_mapping(t_bytes32,t_struct(RoleData)55012_storage)":{"encoding":"mapping","key":"t_bytes32","label":"mapping(bytes32 => struct AccessControl.RoleData)","numberOfBytes":"32","value":"t_struct(RoleData)55012_storage"},"t_string_storage":{"encoding":"bytes","label":"string","numberOfBytes":"32"},"t_struct(Member)81482_storage":{"encoding":"inplace","label":"struct RegistryCommunity.Member","numberOfBytes":"96","members":[{"astId":81477,"contract":"pkg/contracts/src/RegistryCommunity.sol:RegistryCommunity","label":"member","offset":0,"slot":"0","type":"t_address"},{"astId":81479,"contract":"pkg/contracts/src/RegistryCommunity.sol:RegistryCommunity","label":"stakedAmount","offset":0,"slot":"1","type":"t_uint256"},{"astId":81481,"contract":"pkg/contracts/src/RegistryCommunity.sol:RegistryCommunity","label":"isRegistered","offset":0,"slot":"2","type":"t_bool"}]},"t_struct(RoleData)55012_storage":{"encoding":"inplace","label":"struct AccessControl.RoleData","numberOfBytes":"64","members":[{"astId":55009,"contract":"pkg/contracts/src/RegistryCommunity.sol:RegistryCommunity","label":"members","offset":0,"slot":"0","type":"t_mapping(t_address,t_bool)"},{"astId":55011,"contract":"pkg/contracts/src/RegistryCommunity.sol:RegistryCommunity","label":"adminRole","offset":0,"slot":"1","type":"t_bytes32"}]},"t_uint256":{"encoding":"inplace","label":"uint256","numberOfBytes":"32"}}},"ast":{"absolutePath":"pkg/contracts/src/RegistryCommunity.sol","id":83083,"exportedSymbols":{"AccessControl":[55308],"CVStrategy":[77611],"Clone":[3002],"ERC165Checker":[58460],"FAllo":[81222],"IAllo":[2610],"IERC20":[57069],"IPointStrategy":[74722],"IRegistry":[2802],"ISafe":[85665],"Metadata":[3098],"ReentrancyGuard":[56278],"RegistryCommunity":[83082],"RegistryFactory":[85283],"SafeERC20":[57506],"StrategyStruct":[74807],"console":[29549]},"nodeType":"SourceUnit","src":"42:23124:133","nodes":[{"id":81161,"nodeType":"PragmaDirective","src":"42:24:133","nodes":[],"literals":["solidity","^","0.8",".19"]},{"id":81163,"nodeType":"ImportDirective","src":"68:70:133","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol","file":"@openzeppelin/contracts/token/ERC20/IERC20.sol","nameLocation":"-1:-1:-1","scope":83083,"sourceUnit":57070,"symbolAliases":[{"foreign":{"id":81162,"name":"IERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57069,"src":"76:6:133","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":81165,"nodeType":"ImportDirective","src":"139:79:133","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/access/AccessControl.sol","file":"@openzeppelin/contracts/access/AccessControl.sol","nameLocation":"-1:-1:-1","scope":83083,"sourceUnit":55309,"symbolAliases":[{"foreign":{"id":81164,"name":"AccessControl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55308,"src":"147:13:133","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":81167,"nodeType":"ImportDirective","src":"219:82:133","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol","file":"@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol","nameLocation":"-1:-1:-1","scope":83083,"sourceUnit":57507,"symbolAliases":[{"foreign":{"id":81166,"name":"SafeERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57506,"src":"227:9:133","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":81169,"nodeType":"ImportDirective","src":"302:85:133","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/security/ReentrancyGuard.sol","file":"@openzeppelin/contracts/security/ReentrancyGuard.sol","nameLocation":"-1:-1:-1","scope":83083,"sourceUnit":56279,"symbolAliases":[{"foreign":{"id":81168,"name":"ReentrancyGuard","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56278,"src":"310:15:133","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":81172,"nodeType":"ImportDirective","src":"518:84:133","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/interfaces/IRegistry.sol","file":"allo-v2-contracts/core/interfaces/IRegistry.sol","nameLocation":"-1:-1:-1","scope":83083,"sourceUnit":2803,"symbolAliases":[{"foreign":{"id":81170,"name":"IRegistry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2802,"src":"526:9:133","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":81171,"name":"Metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3098,"src":"537:8:133","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":81174,"nodeType":"ImportDirective","src":"603:66:133","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/interfaces/IAllo.sol","file":"allo-v2-contracts/core/interfaces/IAllo.sol","nameLocation":"-1:-1:-1","scope":83083,"sourceUnit":2611,"symbolAliases":[{"foreign":{"id":81173,"name":"IAllo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2610,"src":"611:5:133","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":81176,"nodeType":"ImportDirective","src":"670:54:133","nodes":[],"absolutePath":"pkg/contracts/src/RegistryFactory.sol","file":"./RegistryFactory.sol","nameLocation":"-1:-1:-1","scope":83083,"sourceUnit":85284,"symbolAliases":[{"foreign":{"id":81175,"name":"RegistryFactory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85283,"src":"678:15:133","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":81178,"nodeType":"ImportDirective","src":"725:45:133","nodes":[],"absolutePath":"pkg/contracts/src/interfaces/ISafe.sol","file":"./interfaces/ISafe.sol","nameLocation":"-1:-1:-1","scope":83083,"sourceUnit":85666,"symbolAliases":[{"foreign":{"id":81177,"name":"ISafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85665,"src":"733:5:133","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":81179,"nodeType":"ImportDirective","src":"830:31:133","nodes":[],"absolutePath":"lib/forge-std/src/console.sol","file":"forge-std/console.sol","nameLocation":"-1:-1:-1","scope":83083,"sourceUnit":29550,"symbolAliases":[],"unitAlias":""},{"id":81181,"nodeType":"ImportDirective","src":"862:92:133","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol","file":"@openzeppelin/contracts/utils/introspection/ERC165Checker.sol","nameLocation":"-1:-1:-1","scope":83083,"sourceUnit":58461,"symbolAliases":[{"foreign":{"id":81180,"name":"ERC165Checker","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58460,"src":"870:13:133","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":81185,"nodeType":"ImportDirective","src":"956:76:133","nodes":[],"absolutePath":"pkg/contracts/src/CVStrategy.sol","file":"./CVStrategy.sol","nameLocation":"-1:-1:-1","scope":83083,"sourceUnit":77612,"symbolAliases":[{"foreign":{"id":81182,"name":"IPointStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74722,"src":"964:14:133","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":81183,"name":"CVStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77611,"src":"980:10:133","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":81184,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74807,"src":"992:14:133","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":81187,"nodeType":"ImportDirective","src":"1034:65:133","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/libraries/Clone.sol","file":"allo-v2-contracts/core/libraries/Clone.sol","nameLocation":"-1:-1:-1","scope":83083,"sourceUnit":3003,"symbolAliases":[{"foreign":{"id":81186,"name":"Clone","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3002,"src":"1042:5:133","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":81222,"nodeType":"ContractDefinition","src":"1172:467:133","nodes":[{"id":81208,"nodeType":"FunctionDefinition","src":"1194:301:133","nodes":[],"functionSelector":"e1007d4a","implemented":false,"kind":"function","modifiers":[],"name":"createPoolWithCustomStrategy","nameLocation":"1203:28:133","parameters":{"id":81204,"nodeType":"ParameterList","parameters":[{"constant":false,"id":81189,"mutability":"mutable","name":"_profileId","nameLocation":"1249:10:133","nodeType":"VariableDeclaration","scope":81208,"src":"1241:18:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":81188,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1241:7:133","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":81191,"mutability":"mutable","name":"_strategy","nameLocation":"1277:9:133","nodeType":"VariableDeclaration","scope":81208,"src":"1269:17:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":81190,"name":"address","nodeType":"ElementaryTypeName","src":"1269:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":81193,"mutability":"mutable","name":"_initStrategyData","nameLocation":"1309:17:133","nodeType":"VariableDeclaration","scope":81208,"src":"1296:30:133","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":81192,"name":"bytes","nodeType":"ElementaryTypeName","src":"1296:5:133","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":81195,"mutability":"mutable","name":"_token","nameLocation":"1344:6:133","nodeType":"VariableDeclaration","scope":81208,"src":"1336:14:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":81194,"name":"address","nodeType":"ElementaryTypeName","src":"1336:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":81197,"mutability":"mutable","name":"_amount","nameLocation":"1368:7:133","nodeType":"VariableDeclaration","scope":81208,"src":"1360:15:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":81196,"name":"uint256","nodeType":"ElementaryTypeName","src":"1360:7:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":81200,"mutability":"mutable","name":"_metadata","nameLocation":"1401:9:133","nodeType":"VariableDeclaration","scope":81208,"src":"1385:25:133","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata"},"typeName":{"id":81199,"nodeType":"UserDefinedTypeName","pathNode":{"id":81198,"name":"Metadata","nameLocations":["1385:8:133"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"1385:8:133"},"referencedDeclaration":3098,"src":"1385:8:133","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"},{"constant":false,"id":81203,"mutability":"mutable","name":"_managers","nameLocation":"1437:9:133","nodeType":"VariableDeclaration","scope":81208,"src":"1420:26:133","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":81201,"name":"address","nodeType":"ElementaryTypeName","src":"1420:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":81202,"nodeType":"ArrayTypeName","src":"1420:9:133","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"1231:221:133"},"returnParameters":{"id":81207,"nodeType":"ParameterList","parameters":[{"constant":false,"id":81206,"mutability":"mutable","name":"poolId","nameLocation":"1487:6:133","nodeType":"VariableDeclaration","scope":81208,"src":"1479:14:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":81205,"name":"uint256","nodeType":"ElementaryTypeName","src":"1479:7:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1478:16:133"},"scope":81222,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":81213,"nodeType":"FunctionDefinition","src":"1501:55:133","nodes":[],"functionSelector":"5ab1bd53","implemented":false,"kind":"function","modifiers":[],"name":"getRegistry","nameLocation":"1510:11:133","parameters":{"id":81209,"nodeType":"ParameterList","parameters":[],"src":"1521:2:133"},"returnParameters":{"id":81212,"nodeType":"ParameterList","parameters":[{"constant":false,"id":81211,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":81213,"src":"1547:7:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":81210,"name":"address","nodeType":"ElementaryTypeName","src":"1547:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1546:9:133"},"scope":81222,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":81221,"nodeType":"FunctionDefinition","src":"1561:76:133","nodes":[],"functionSelector":"068bcd8d","implemented":false,"kind":"function","modifiers":[],"name":"getPool","nameLocation":"1570:7:133","parameters":{"id":81216,"nodeType":"ParameterList","parameters":[{"constant":false,"id":81215,"mutability":"mutable","name":"_poolId","nameLocation":"1586:7:133","nodeType":"VariableDeclaration","scope":81221,"src":"1578:15:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":81214,"name":"uint256","nodeType":"ElementaryTypeName","src":"1578:7:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1577:17:133"},"returnParameters":{"id":81220,"nodeType":"ParameterList","parameters":[{"constant":false,"id":81219,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":81221,"src":"1618:17:133","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool"},"typeName":{"id":81218,"nodeType":"UserDefinedTypeName","pathNode":{"id":81217,"name":"IAllo.Pool","nameLocations":["1618:5:133","1624:4:133"],"nodeType":"IdentifierPath","referencedDeclaration":2319,"src":"1618:10:133"},"referencedDeclaration":2319,"src":"1618:10:133","typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_storage_ptr","typeString":"struct IAllo.Pool"}},"visibility":"internal"}],"src":"1617:19:133"},"scope":81222,"stateMutability":"view","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"FAllo","contractDependencies":[],"contractKind":"interface","fullyImplemented":false,"linearizedBaseContracts":[81222],"name":"FAllo","nameLocation":"1182:5:133","scope":83083,"usedErrors":[]},{"id":83082,"nodeType":"ContractDefinition","src":"1641:21524:133","nodes":[{"id":81229,"nodeType":"UsingForDirective","src":"1708:32:133","nodes":[],"global":false,"libraryName":{"id":81227,"name":"ERC165Checker","nameLocations":["1714:13:133"],"nodeType":"IdentifierPath","referencedDeclaration":58460,"src":"1714:13:133"},"typeName":{"id":81228,"name":"address","nodeType":"ElementaryTypeName","src":"1732:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}},{"id":81233,"nodeType":"UsingForDirective","src":"1745:27:133","nodes":[],"global":false,"libraryName":{"id":81230,"name":"SafeERC20","nameLocations":["1751:9:133"],"nodeType":"IdentifierPath","referencedDeclaration":57506,"src":"1751:9:133"},"typeName":{"id":81232,"nodeType":"UserDefinedTypeName","pathNode":{"id":81231,"name":"IERC20","nameLocations":["1765:6:133"],"nodeType":"IdentifierPath","referencedDeclaration":57069,"src":"1765:6:133"},"referencedDeclaration":57069,"src":"1765:6:133","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$57069","typeString":"contract IERC20"}}},{"id":81236,"nodeType":"UsingForDirective","src":"1777:24:133","nodes":[],"global":false,"libraryName":{"id":81234,"name":"Clone","nameLocations":["1783:5:133"],"nodeType":"IdentifierPath","referencedDeclaration":3002,"src":"1783:5:133"},"typeName":{"id":81235,"name":"address","nodeType":"ElementaryTypeName","src":"1793:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}},{"id":81239,"nodeType":"VariableDeclaration","src":"1807:75:133","nodes":[],"constant":true,"functionSelector":"a0cf0aea","mutability":"constant","name":"NATIVE","nameLocation":"1831:6:133","scope":83082,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":81237,"name":"address","nodeType":"ElementaryTypeName","src":"1807:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":{"hexValue":"307845656565654565656545654565654565456545656545454565656565456565656565656545456545","id":81238,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1840:42:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE"},"visibility":"public"},{"id":81244,"nodeType":"VariableDeclaration","src":"2053:82:133","nodes":[],"constant":true,"functionSelector":"a0b21cdf","mutability":"constant","name":"COUNCIL_MEMBER_CHANGE","nameLocation":"2077:21:133","scope":83082,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":81240,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2053:7:133","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"arguments":[{"hexValue":"434f554e43494c5f4d454d4245525f4348414e4745","id":81242,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2111:23:133","typeDescriptions":{"typeIdentifier":"t_stringliteral_bc6bbe35ebc64943402c04d2ae016d7bd2bba28e1a11cf66be743c9bd74c720b","typeString":"literal_string \"COUNCIL_MEMBER_CHANGE\""},"value":"COUNCIL_MEMBER_CHANGE"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_bc6bbe35ebc64943402c04d2ae016d7bd2bba28e1a11cf66be743c9bd74c720b","typeString":"literal_string \"COUNCIL_MEMBER_CHANGE\""}],"id":81241,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"2101:9:133","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":81243,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2101:34:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"public"},{"id":81248,"nodeType":"EventDefinition","src":"2307:29:133","nodes":[],"anonymous":false,"eventSelector":"aaded18d4d508696508b945d03ff3d168110dbb73e17aeda699745655fa958d2","name":"AlloSet","nameLocation":"2313:7:133","parameters":{"id":81247,"nodeType":"ParameterList","parameters":[{"constant":false,"id":81246,"indexed":false,"mutability":"mutable","name":"_allo","nameLocation":"2329:5:133","nodeType":"VariableDeclaration","scope":81248,"src":"2321:13:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":81245,"name":"address","nodeType":"ElementaryTypeName","src":"2321:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2320:15:133"}},{"id":81252,"nodeType":"EventDefinition","src":"2341:36:133","nodes":[],"anonymous":false,"eventSelector":"ad0399dc40331b9a4977aa89da7a164a3fd482c65e6da73b25a94ea74fb68872","name":"CouncilSafeSet","nameLocation":"2347:14:133","parameters":{"id":81251,"nodeType":"ParameterList","parameters":[{"constant":false,"id":81250,"indexed":false,"mutability":"mutable","name":"_safe","nameLocation":"2370:5:133","nodeType":"VariableDeclaration","scope":81252,"src":"2362:13:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":81249,"name":"address","nodeType":"ElementaryTypeName","src":"2362:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2361:15:133"}},{"id":81258,"nodeType":"EventDefinition","src":"2382:74:133","nodes":[],"anonymous":false,"eventSelector":"83eac9fdaff0ac1017624b7eddeb9782e3d707cd894073cb7e8301a41c6e5cf8","name":"CouncilSafeChangeStarted","nameLocation":"2388:24:133","parameters":{"id":81257,"nodeType":"ParameterList","parameters":[{"constant":false,"id":81254,"indexed":false,"mutability":"mutable","name":"_safeOwner","nameLocation":"2421:10:133","nodeType":"VariableDeclaration","scope":81258,"src":"2413:18:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":81253,"name":"address","nodeType":"ElementaryTypeName","src":"2413:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":81256,"indexed":false,"mutability":"mutable","name":"_newSafeOwner","nameLocation":"2441:13:133","nodeType":"VariableDeclaration","scope":81258,"src":"2433:21:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":81255,"name":"address","nodeType":"ElementaryTypeName","src":"2433:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2412:43:133"}},{"id":81264,"nodeType":"EventDefinition","src":"2461:63:133","nodes":[],"anonymous":false,"eventSelector":"67e0244e28040fec15240cd4b6c04c776a2a0278caef23b59e8ada1df31f7689","name":"MemberRegistered","nameLocation":"2467:16:133","parameters":{"id":81263,"nodeType":"ParameterList","parameters":[{"constant":false,"id":81260,"indexed":false,"mutability":"mutable","name":"_member","nameLocation":"2492:7:133","nodeType":"VariableDeclaration","scope":81264,"src":"2484:15:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":81259,"name":"address","nodeType":"ElementaryTypeName","src":"2484:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":81262,"indexed":false,"mutability":"mutable","name":"_amountStaked","nameLocation":"2509:13:133","nodeType":"VariableDeclaration","scope":81264,"src":"2501:21:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":81261,"name":"uint256","nodeType":"ElementaryTypeName","src":"2501:7:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2483:40:133"}},{"id":81270,"nodeType":"EventDefinition","src":"2529:67:133","nodes":[],"anonymous":false,"eventSelector":"a13f4668aacb68c4e9eed8e3f6e1cbec3eca776896ec46b5eabcc3983fc8f5f4","name":"MemberUnregistered","nameLocation":"2535:18:133","parameters":{"id":81269,"nodeType":"ParameterList","parameters":[{"constant":false,"id":81266,"indexed":false,"mutability":"mutable","name":"_member","nameLocation":"2562:7:133","nodeType":"VariableDeclaration","scope":81270,"src":"2554:15:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":81265,"name":"address","nodeType":"ElementaryTypeName","src":"2554:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":81268,"indexed":false,"mutability":"mutable","name":"_amountReturned","nameLocation":"2579:15:133","nodeType":"VariableDeclaration","scope":81270,"src":"2571:23:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":81267,"name":"uint256","nodeType":"ElementaryTypeName","src":"2571:7:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2553:42:133"}},{"id":81278,"nodeType":"EventDefinition","src":"2601:87:133","nodes":[],"anonymous":false,"eventSelector":"b5946f249f8744efe9d14d49a483b54a589b1362944ff6694de93456cceb96a3","name":"MemberKicked","nameLocation":"2607:12:133","parameters":{"id":81277,"nodeType":"ParameterList","parameters":[{"constant":false,"id":81272,"indexed":false,"mutability":"mutable","name":"_member","nameLocation":"2628:7:133","nodeType":"VariableDeclaration","scope":81278,"src":"2620:15:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":81271,"name":"address","nodeType":"ElementaryTypeName","src":"2620:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":81274,"indexed":false,"mutability":"mutable","name":"_transferAddress","nameLocation":"2645:16:133","nodeType":"VariableDeclaration","scope":81278,"src":"2637:24:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":81273,"name":"address","nodeType":"ElementaryTypeName","src":"2637:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":81276,"indexed":false,"mutability":"mutable","name":"_amountReturned","nameLocation":"2671:15:133","nodeType":"VariableDeclaration","scope":81278,"src":"2663:23:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":81275,"name":"uint256","nodeType":"ElementaryTypeName","src":"2663:7:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2619:68:133"}},{"id":81282,"nodeType":"EventDefinition","src":"2693:43:133","nodes":[],"anonymous":false,"eventSelector":"611668bfcf654a99c33cdb66c29ec37a5aae5c1287d2d9715a24e18cb4d806d6","name":"CommunityFeeUpdated","nameLocation":"2699:19:133","parameters":{"id":81281,"nodeType":"ParameterList","parameters":[{"constant":false,"id":81280,"indexed":false,"mutability":"mutable","name":"_newFee","nameLocation":"2727:7:133","nodeType":"VariableDeclaration","scope":81282,"src":"2719:15:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":81279,"name":"uint256","nodeType":"ElementaryTypeName","src":"2719:7:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2718:17:133"}},{"id":81291,"nodeType":"EventDefinition","src":"2741:89:133","nodes":[],"anonymous":false,"eventSelector":"2f2ffcb06f8a1d35e2716f6b43ef2c19bfa76467d8f66964ae12c2583ed03205","name":"RegistryInitialized","nameLocation":"2747:19:133","parameters":{"id":81290,"nodeType":"ParameterList","parameters":[{"constant":false,"id":81284,"indexed":false,"mutability":"mutable","name":"_profileId","nameLocation":"2775:10:133","nodeType":"VariableDeclaration","scope":81291,"src":"2767:18:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":81283,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2767:7:133","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":81286,"indexed":false,"mutability":"mutable","name":"_communityName","nameLocation":"2794:14:133","nodeType":"VariableDeclaration","scope":81291,"src":"2787:21:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":81285,"name":"string","nodeType":"ElementaryTypeName","src":"2787:6:133","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":81289,"indexed":false,"mutability":"mutable","name":"_metadata","nameLocation":"2819:9:133","nodeType":"VariableDeclaration","scope":81291,"src":"2810:18:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata"},"typeName":{"id":81288,"nodeType":"UserDefinedTypeName","pathNode":{"id":81287,"name":"Metadata","nameLocations":["2810:8:133"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"2810:8:133"},"referencedDeclaration":3098,"src":"2810:8:133","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"}],"src":"2766:63:133"}},{"id":81295,"nodeType":"EventDefinition","src":"2835:39:133","nodes":[],"anonymous":false,"eventSelector":"3f008fd510eae7a9e7bee13513d7b83bef8003d488b5a3d0b0da4de71d6846f1","name":"StrategyAdded","nameLocation":"2841:13:133","parameters":{"id":81294,"nodeType":"ParameterList","parameters":[{"constant":false,"id":81293,"indexed":false,"mutability":"mutable","name":"_strategy","nameLocation":"2863:9:133","nodeType":"VariableDeclaration","scope":81295,"src":"2855:17:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":81292,"name":"address","nodeType":"ElementaryTypeName","src":"2855:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2854:19:133"}},{"id":81299,"nodeType":"EventDefinition","src":"2879:41:133","nodes":[],"anonymous":false,"eventSelector":"09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea4","name":"StrategyRemoved","nameLocation":"2885:15:133","parameters":{"id":81298,"nodeType":"ParameterList","parameters":[{"constant":false,"id":81297,"indexed":false,"mutability":"mutable","name":"_strategy","nameLocation":"2909:9:133","nodeType":"VariableDeclaration","scope":81299,"src":"2901:17:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":81296,"name":"address","nodeType":"ElementaryTypeName","src":"2901:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2900:19:133"}},{"id":81307,"nodeType":"EventDefinition","src":"2925:93:133","nodes":[],"anonymous":false,"eventSelector":"f56fa57e85e169a12200d12d9921ec069b52e688f6d309d9dab7bceff54614ec","name":"MemberActivatedStrategy","nameLocation":"2931:23:133","parameters":{"id":81306,"nodeType":"ParameterList","parameters":[{"constant":false,"id":81301,"indexed":false,"mutability":"mutable","name":"_member","nameLocation":"2963:7:133","nodeType":"VariableDeclaration","scope":81307,"src":"2955:15:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":81300,"name":"address","nodeType":"ElementaryTypeName","src":"2955:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":81303,"indexed":false,"mutability":"mutable","name":"_strategy","nameLocation":"2980:9:133","nodeType":"VariableDeclaration","scope":81307,"src":"2972:17:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":81302,"name":"address","nodeType":"ElementaryTypeName","src":"2972:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":81305,"indexed":false,"mutability":"mutable","name":"_pointsToIncrease","nameLocation":"2999:17:133","nodeType":"VariableDeclaration","scope":81307,"src":"2991:25:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":81304,"name":"uint256","nodeType":"ElementaryTypeName","src":"2991:7:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2954:63:133"}},{"id":81313,"nodeType":"EventDefinition","src":"3023:68:133","nodes":[],"anonymous":false,"eventSelector":"00de109bef4619f7e2cf00c8e5a50ca55f8deb44f87087eed414a91dbf8d1d1b","name":"MemberDeactivatedStrategy","nameLocation":"3029:25:133","parameters":{"id":81312,"nodeType":"ParameterList","parameters":[{"constant":false,"id":81309,"indexed":false,"mutability":"mutable","name":"_member","nameLocation":"3063:7:133","nodeType":"VariableDeclaration","scope":81313,"src":"3055:15:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":81308,"name":"address","nodeType":"ElementaryTypeName","src":"3055:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":81311,"indexed":false,"mutability":"mutable","name":"_strategy","nameLocation":"3080:9:133","nodeType":"VariableDeclaration","scope":81313,"src":"3072:17:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":81310,"name":"address","nodeType":"ElementaryTypeName","src":"3072:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3054:36:133"}},{"id":81317,"nodeType":"EventDefinition","src":"3096:47:133","nodes":[],"anonymous":false,"eventSelector":"5bcc2c453001fb0e2ba6266d56ecb411e7c6e15c8f9c3d301f93dd36ad25726f","name":"BasisStakedAmountSet","nameLocation":"3102:20:133","parameters":{"id":81316,"nodeType":"ParameterList","parameters":[{"constant":false,"id":81315,"indexed":false,"mutability":"mutable","name":"_newAmount","nameLocation":"3131:10:133","nodeType":"VariableDeclaration","scope":81317,"src":"3123:18:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":81314,"name":"uint256","nodeType":"ElementaryTypeName","src":"3123:7:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3122:20:133"}},{"id":81323,"nodeType":"EventDefinition","src":"3148:67:133","nodes":[],"anonymous":false,"eventSelector":"576605f9bfe8911e7508bed3763c7c5c8eb3b86e8b360b90a4bc6abe1104cb7f","name":"MemberPowerIncreased","nameLocation":"3154:20:133","parameters":{"id":81322,"nodeType":"ParameterList","parameters":[{"constant":false,"id":81319,"indexed":false,"mutability":"mutable","name":"_member","nameLocation":"3183:7:133","nodeType":"VariableDeclaration","scope":81323,"src":"3175:15:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":81318,"name":"address","nodeType":"ElementaryTypeName","src":"3175:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":81321,"indexed":false,"mutability":"mutable","name":"_stakedAmount","nameLocation":"3200:13:133","nodeType":"VariableDeclaration","scope":81323,"src":"3192:21:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":81320,"name":"uint256","nodeType":"ElementaryTypeName","src":"3192:7:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3174:40:133"}},{"id":81329,"nodeType":"EventDefinition","src":"3220:69:133","nodes":[],"anonymous":false,"eventSelector":"6ee2c70b2d6b89ae808a2313aab43e925c06624271419cd665d85cfa1ae04ff8","name":"MemberPowerDecreased","nameLocation":"3226:20:133","parameters":{"id":81328,"nodeType":"ParameterList","parameters":[{"constant":false,"id":81325,"indexed":false,"mutability":"mutable","name":"_member","nameLocation":"3255:7:133","nodeType":"VariableDeclaration","scope":81329,"src":"3247:15:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":81324,"name":"address","nodeType":"ElementaryTypeName","src":"3247:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":81327,"indexed":false,"mutability":"mutable","name":"_unstakedAmount","nameLocation":"3272:15:133","nodeType":"VariableDeclaration","scope":81329,"src":"3264:23:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":81326,"name":"uint256","nodeType":"ElementaryTypeName","src":"3264:7:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3246:42:133"}},{"id":81342,"nodeType":"EventDefinition","src":"3294:110:133","nodes":[],"anonymous":false,"eventSelector":"778cac0ae0b66477341553a4a89398c61ccf448313d3354ad0ca85a5a825d283","name":"PoolCreated","nameLocation":"3300:11:133","parameters":{"id":81341,"nodeType":"ParameterList","parameters":[{"constant":false,"id":81331,"indexed":false,"mutability":"mutable","name":"_poolId","nameLocation":"3320:7:133","nodeType":"VariableDeclaration","scope":81342,"src":"3312:15:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":81330,"name":"uint256","nodeType":"ElementaryTypeName","src":"3312:7:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":81333,"indexed":false,"mutability":"mutable","name":"_strategy","nameLocation":"3337:9:133","nodeType":"VariableDeclaration","scope":81342,"src":"3329:17:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":81332,"name":"address","nodeType":"ElementaryTypeName","src":"3329:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":81335,"indexed":false,"mutability":"mutable","name":"_community","nameLocation":"3356:10:133","nodeType":"VariableDeclaration","scope":81342,"src":"3348:18:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":81334,"name":"address","nodeType":"ElementaryTypeName","src":"3348:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":81337,"indexed":false,"mutability":"mutable","name":"_token","nameLocation":"3376:6:133","nodeType":"VariableDeclaration","scope":81342,"src":"3368:14:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":81336,"name":"address","nodeType":"ElementaryTypeName","src":"3368:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":81340,"indexed":false,"mutability":"mutable","name":"_metadata","nameLocation":"3393:9:133","nodeType":"VariableDeclaration","scope":81342,"src":"3384:18:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata"},"typeName":{"id":81339,"nodeType":"UserDefinedTypeName","pathNode":{"id":81338,"name":"Metadata","nameLocations":["3384:8:133"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"3384:8:133"},"referencedDeclaration":3098,"src":"3384:8:133","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"}],"src":"3311:92:133"}},{"id":81357,"nodeType":"FunctionDefinition","src":"3575:155:133","nodes":[],"body":{"id":81356,"nodeType":"Block","src":"3615:115:133","nodes":[],"statements":[{"condition":{"id":81350,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"3629:43:133","subExpression":{"arguments":[{"id":81346,"name":"COUNCIL_MEMBER_CHANGE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81244,"src":"3638:21:133","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"expression":{"id":81347,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"3661:3:133","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":81348,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3665:6:133","memberName":"sender","nodeType":"MemberAccess","src":"3661:10:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":81345,"name":"hasRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55072,"src":"3630:7:133","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) view returns (bool)"}},"id":81349,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3630:42:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":81355,"nodeType":"IfStatement","src":"3625:99:133","trueBody":{"id":81354,"nodeType":"Block","src":"3674:50:133","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":81351,"name":"UserNotInCouncil","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81441,"src":"3695:16:133","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":81352,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3695:18:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":81353,"nodeType":"RevertStatement","src":"3688:25:133"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"onlyCouncilSafe","nameLocation":"3584:15:133","parameters":{"id":81343,"nodeType":"ParameterList","parameters":[],"src":"3599:2:133"},"returnParameters":{"id":81344,"nodeType":"ParameterList","parameters":[],"src":"3615:0:133"},"scope":83082,"stateMutability":"view","virtual":false,"visibility":"private"},{"id":81371,"nodeType":"FunctionDefinition","src":"3736:143:133","nodes":[],"body":{"id":81370,"nodeType":"Block","src":"3785:94:133","nodes":[],"statements":[{"condition":{"id":81364,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"3799:21:133","subExpression":{"arguments":[{"expression":{"id":81361,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"3809:3:133","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":81362,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3813:6:133","memberName":"sender","nodeType":"MemberAccess","src":"3809:10:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":81360,"name":"isMember","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82663,"src":"3800:8:133","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":81363,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3800:20:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":81369,"nodeType":"IfStatement","src":"3795:78:133","trueBody":{"id":81368,"nodeType":"Block","src":"3822:51:133","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":81365,"name":"UserNotInRegistry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81443,"src":"3843:17:133","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":81366,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3843:19:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":81367,"nodeType":"RevertStatement","src":"3836:26:133"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"onlyRegistryMemberSender","nameLocation":"3745:24:133","parameters":{"id":81358,"nodeType":"ParameterList","parameters":[],"src":"3769:2:133"},"returnParameters":{"id":81359,"nodeType":"ParameterList","parameters":[],"src":"3785:0:133"},"scope":83082,"stateMutability":"view","virtual":false,"visibility":"private"},{"id":81386,"nodeType":"FunctionDefinition","src":"3885:156:133","nodes":[],"body":{"id":81385,"nodeType":"Block","src":"3950:91:133","nodes":[],"statements":[{"condition":{"id":81379,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"3964:18:133","subExpression":{"arguments":[{"id":81377,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81373,"src":"3974:7:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":81376,"name":"isMember","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82663,"src":"3965:8:133","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":81378,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3965:17:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":81384,"nodeType":"IfStatement","src":"3960:75:133","trueBody":{"id":81383,"nodeType":"Block","src":"3984:51:133","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":81380,"name":"UserNotInRegistry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81443,"src":"4005:17:133","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":81381,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4005:19:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":81382,"nodeType":"RevertStatement","src":"3998:26:133"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"onlyRegistryMemberAddress","nameLocation":"3894:25:133","parameters":{"id":81374,"nodeType":"ParameterList","parameters":[{"constant":false,"id":81373,"mutability":"mutable","name":"_sender","nameLocation":"3928:7:133","nodeType":"VariableDeclaration","scope":81386,"src":"3920:15:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":81372,"name":"address","nodeType":"ElementaryTypeName","src":"3920:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3919:17:133"},"returnParameters":{"id":81375,"nodeType":"ParameterList","parameters":[],"src":"3950:0:133"},"scope":83082,"stateMutability":"view","virtual":false,"visibility":"private"},{"id":81401,"nodeType":"FunctionDefinition","src":"4047:162:133","nodes":[],"body":{"id":81400,"nodeType":"Block","src":"4108:101:133","nodes":[],"statements":[{"condition":{"id":81394,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"4122:29:133","subExpression":{"baseExpression":{"id":81391,"name":"enabledStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81553,"src":"4123:17:133","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":81393,"indexExpression":{"id":81392,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81388,"src":"4141:9:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4123:28:133","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":81399,"nodeType":"IfStatement","src":"4118:85:133","trueBody":{"id":81398,"nodeType":"Block","src":"4153:50:133","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":81395,"name":"StrategyDisabled","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81455,"src":"4174:16:133","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":81396,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4174:18:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":81397,"nodeType":"RevertStatement","src":"4167:25:133"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"onlyStrategyEnabled","nameLocation":"4056:19:133","parameters":{"id":81389,"nodeType":"ParameterList","parameters":[{"constant":false,"id":81388,"mutability":"mutable","name":"_strategy","nameLocation":"4084:9:133","nodeType":"VariableDeclaration","scope":81401,"src":"4076:17:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":81387,"name":"address","nodeType":"ElementaryTypeName","src":"4076:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4075:19:133"},"returnParameters":{"id":81390,"nodeType":"ParameterList","parameters":[],"src":"4108:0:133"},"scope":83082,"stateMutability":"view","virtual":false,"visibility":"private"},{"id":81417,"nodeType":"FunctionDefinition","src":"4215:171:133","nodes":[],"body":{"id":81416,"nodeType":"Block","src":"4293:93:133","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":81410,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":81408,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81403,"src":"4307:7:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":81409,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81405,"src":"4318:9:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"4307:20:133","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":81415,"nodeType":"IfStatement","src":"4303:77:133","trueBody":{"id":81414,"nodeType":"Block","src":"4329:51:133","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":81411,"name":"SenderNotStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81459,"src":"4350:17:133","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":81412,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4350:19:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":81413,"nodeType":"RevertStatement","src":"4343:26:133"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"onlyStrategyAddress","nameLocation":"4224:19:133","parameters":{"id":81406,"nodeType":"ParameterList","parameters":[{"constant":false,"id":81403,"mutability":"mutable","name":"_sender","nameLocation":"4252:7:133","nodeType":"VariableDeclaration","scope":81417,"src":"4244:15:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":81402,"name":"address","nodeType":"ElementaryTypeName","src":"4244:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":81405,"mutability":"mutable","name":"_strategy","nameLocation":"4269:9:133","nodeType":"VariableDeclaration","scope":81417,"src":"4261:17:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":81404,"name":"address","nodeType":"ElementaryTypeName","src":"4261:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4243:36:133"},"returnParameters":{"id":81407,"nodeType":"ParameterList","parameters":[],"src":"4293:0:133"},"scope":83082,"stateMutability":"pure","virtual":false,"visibility":"private"},{"id":81435,"nodeType":"FunctionDefinition","src":"4392:189:133","nodes":[],"body":{"id":81434,"nodeType":"Block","src":"4457:124:133","nodes":[],"statements":[{"condition":{"id":81428,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"4471:51:133","subExpression":{"baseExpression":{"baseExpression":{"id":81422,"name":"memberActivatedInStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81575,"src":"4472:27:133","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$","typeString":"mapping(address => mapping(address => bool))"}},"id":81425,"indexExpression":{"expression":{"id":81423,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"4500:3:133","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":81424,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4504:6:133","memberName":"sender","nodeType":"MemberAccess","src":"4500:10:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4472:39:133","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":81427,"indexExpression":{"id":81426,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81419,"src":"4512:9:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4472:50:133","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":81433,"nodeType":"IfStatement","src":"4467:108:133","trueBody":{"id":81432,"nodeType":"Block","src":"4524:51:133","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":81429,"name":"PointsDeactivated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81467,"src":"4545:17:133","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":81430,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4545:19:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":81431,"nodeType":"RevertStatement","src":"4538:26:133"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"onlyActivatedInStrategy","nameLocation":"4401:23:133","parameters":{"id":81420,"nodeType":"ParameterList","parameters":[{"constant":false,"id":81419,"mutability":"mutable","name":"_strategy","nameLocation":"4433:9:133","nodeType":"VariableDeclaration","scope":81435,"src":"4425:17:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":81418,"name":"address","nodeType":"ElementaryTypeName","src":"4425:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4424:19:133"},"returnParameters":{"id":81421,"nodeType":"ParameterList","parameters":[],"src":"4457:0:133"},"scope":83082,"stateMutability":"view","virtual":false,"visibility":"private"},{"id":81437,"nodeType":"ErrorDefinition","src":"4753:28:133","nodes":[],"errorSelector":"e622e040","name":"AddressCannotBeZero","nameLocation":"4759:19:133","parameters":{"id":81436,"nodeType":"ParameterList","parameters":[],"src":"4778:2:133"}},{"id":81439,"nodeType":"ErrorDefinition","src":"4786:29:133","nodes":[],"errorSelector":"5df4b1ef","name":"RegistryCannotBeZero","nameLocation":"4792:20:133","parameters":{"id":81438,"nodeType":"ParameterList","parameters":[],"src":"4812:2:133"}},{"id":81441,"nodeType":"ErrorDefinition","src":"4820:25:133","nodes":[],"errorSelector":"f62651fa","name":"UserNotInCouncil","nameLocation":"4826:16:133","parameters":{"id":81440,"nodeType":"ParameterList","parameters":[],"src":"4842:2:133"}},{"id":81443,"nodeType":"ErrorDefinition","src":"4850:26:133","nodes":[],"errorSelector":"6a5cfb6d","name":"UserNotInRegistry","nameLocation":"4856:17:133","parameters":{"id":81442,"nodeType":"ParameterList","parameters":[],"src":"4873:2:133"}},{"id":81445,"nodeType":"ErrorDefinition","src":"4881:30:133","nodes":[],"errorSelector":"9e4a65f6","name":"UserAlreadyRegistered","nameLocation":"4887:21:133","parameters":{"id":81444,"nodeType":"ParameterList","parameters":[],"src":"4908:2:133"}},{"id":81447,"nodeType":"ErrorDefinition","src":"4916:27:133","nodes":[],"errorSelector":"e9a644b8","name":"UserNotGardenOwner","nameLocation":"4922:18:133","parameters":{"id":81446,"nodeType":"ParameterList","parameters":[],"src":"4940:2:133"}},{"id":81449,"nodeType":"ErrorDefinition","src":"4948:29:133","nodes":[],"errorSelector":"d5b9bc96","name":"UserAlreadyActivated","nameLocation":"4954:20:133","parameters":{"id":81448,"nodeType":"ParameterList","parameters":[],"src":"4974:2:133"}},{"id":81451,"nodeType":"ErrorDefinition","src":"4982:31:133","nodes":[],"errorSelector":"c12369dc","name":"UserAlreadyDeactivated","nameLocation":"4988:22:133","parameters":{"id":81450,"nodeType":"ParameterList","parameters":[],"src":"5010:2:133"}},{"id":81453,"nodeType":"ErrorDefinition","src":"5018:23:133","nodes":[],"errorSelector":"968a4d2c","name":"StrategyExists","nameLocation":"5024:14:133","parameters":{"id":81452,"nodeType":"ParameterList","parameters":[],"src":"5038:2:133"}},{"id":81455,"nodeType":"ErrorDefinition","src":"5046:25:133","nodes":[],"errorSelector":"46c26e4b","name":"StrategyDisabled","nameLocation":"5052:16:133","parameters":{"id":81454,"nodeType":"ParameterList","parameters":[],"src":"5068:2:133"}},{"id":81457,"nodeType":"ErrorDefinition","src":"5076:26:133","nodes":[],"errorSelector":"ebcd0d6e","name":"SenderNotNewOwner","nameLocation":"5082:17:133","parameters":{"id":81456,"nodeType":"ParameterList","parameters":[],"src":"5099:2:133"}},{"id":81459,"nodeType":"ErrorDefinition","src":"5107:26:133","nodes":[],"errorSelector":"bbe79611","name":"SenderNotStrategy","nameLocation":"5113:17:133","parameters":{"id":81458,"nodeType":"ParameterList","parameters":[],"src":"5130:2:133"}},{"id":81461,"nodeType":"ErrorDefinition","src":"5138:26:133","nodes":[],"errorSelector":"c70d18aa","name":"ValueCannotBeZero","nameLocation":"5144:17:133","parameters":{"id":81460,"nodeType":"ParameterList","parameters":[],"src":"5161:2:133"}},{"id":81463,"nodeType":"ErrorDefinition","src":"5169:29:133","nodes":[],"errorSelector":"fe925f7d","name":"NewFeeGreaterThanMax","nameLocation":"5175:20:133","parameters":{"id":81462,"nodeType":"ParameterList","parameters":[],"src":"5195:2:133"}},{"id":81465,"nodeType":"ErrorDefinition","src":"5203:23:133","nodes":[],"errorSelector":"cb63dc72","name":"KickNotEnabled","nameLocation":"5209:14:133","parameters":{"id":81464,"nodeType":"ParameterList","parameters":[],"src":"5223:2:133"}},{"id":81467,"nodeType":"ErrorDefinition","src":"5231:26:133","nodes":[],"errorSelector":"d4d3290e","name":"PointsDeactivated","nameLocation":"5237:17:133","parameters":{"id":81466,"nodeType":"ParameterList","parameters":[],"src":"5254:2:133"}},{"id":81469,"nodeType":"ErrorDefinition","src":"5262:29:133","nodes":[],"errorSelector":"9c47d02e","name":"DecreaseUnderMinimum","nameLocation":"5268:20:133","parameters":{"id":81468,"nodeType":"ParameterList","parameters":[],"src":"5288:2:133"}},{"id":81475,"nodeType":"ErrorDefinition","src":"5296:80:133","nodes":[],"errorSelector":"8a11f318","name":"CantDecreaseMoreThanPower","nameLocation":"5302:25:133","parameters":{"id":81474,"nodeType":"ParameterList","parameters":[{"constant":false,"id":81471,"mutability":"mutable","name":"_decreaseAmount","nameLocation":"5336:15:133","nodeType":"VariableDeclaration","scope":81475,"src":"5328:23:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":81470,"name":"uint256","nodeType":"ElementaryTypeName","src":"5328:7:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":81473,"mutability":"mutable","name":"_currentPower","nameLocation":"5361:13:133","nodeType":"VariableDeclaration","scope":81475,"src":"5353:21:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":81472,"name":"uint256","nodeType":"ElementaryTypeName","src":"5353:7:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5327:48:133"}},{"id":81482,"nodeType":"StructDefinition","src":"5547:102:133","nodes":[],"canonicalName":"RegistryCommunity.Member","members":[{"constant":false,"id":81477,"mutability":"mutable","name":"member","nameLocation":"5579:6:133","nodeType":"VariableDeclaration","scope":81482,"src":"5571:14:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":81476,"name":"address","nodeType":"ElementaryTypeName","src":"5571:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":81479,"mutability":"mutable","name":"stakedAmount","nameLocation":"5603:12:133","nodeType":"VariableDeclaration","scope":81482,"src":"5595:20:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":81478,"name":"uint256","nodeType":"ElementaryTypeName","src":"5595:7:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":81481,"mutability":"mutable","name":"isRegistered","nameLocation":"5630:12:133","nodeType":"VariableDeclaration","scope":81482,"src":"5625:17:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":81480,"name":"bool","nodeType":"ElementaryTypeName","src":"5625:4:133","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"name":"Member","nameLocation":"5554:6:133","scope":83082,"visibility":"public"},{"id":81486,"nodeType":"StructDefinition","src":"5655:55:133","nodes":[],"canonicalName":"RegistryCommunity.Strategies","members":[{"constant":false,"id":81485,"mutability":"mutable","name":"strategies","nameLocation":"5693:10:133","nodeType":"VariableDeclaration","scope":81486,"src":"5683:20:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":81483,"name":"address","nodeType":"ElementaryTypeName","src":"5683:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":81484,"nodeType":"ArrayTypeName","src":"5683:9:133","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"name":"Strategies","nameLocation":"5662:10:133","scope":83082,"visibility":"public"},{"id":81515,"nodeType":"StructDefinition","src":"5716:490:133","nodes":[],"canonicalName":"RegistryCommunity.InitializeParams","members":[{"constant":false,"id":81488,"mutability":"mutable","name":"_allo","nameLocation":"5758:5:133","nodeType":"VariableDeclaration","scope":81515,"src":"5750:13:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":81487,"name":"address","nodeType":"ElementaryTypeName","src":"5750:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":81491,"mutability":"mutable","name":"_gardenToken","nameLocation":"5780:12:133","nodeType":"VariableDeclaration","scope":81515,"src":"5773:19:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$57069","typeString":"contract IERC20"},"typeName":{"id":81490,"nodeType":"UserDefinedTypeName","pathNode":{"id":81489,"name":"IERC20","nameLocations":["5773:6:133"],"nodeType":"IdentifierPath","referencedDeclaration":57069,"src":"5773:6:133"},"referencedDeclaration":57069,"src":"5773:6:133","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$57069","typeString":"contract IERC20"}},"visibility":"internal"},{"constant":false,"id":81493,"mutability":"mutable","name":"_registerStakeAmount","nameLocation":"5810:20:133","nodeType":"VariableDeclaration","scope":81515,"src":"5802:28:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":81492,"name":"uint256","nodeType":"ElementaryTypeName","src":"5802:7:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":81495,"mutability":"mutable","name":"_communityFee","nameLocation":"5848:13:133","nodeType":"VariableDeclaration","scope":81515,"src":"5840:21:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":81494,"name":"uint256","nodeType":"ElementaryTypeName","src":"5840:7:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":81497,"mutability":"mutable","name":"_nonce","nameLocation":"5935:6:133","nodeType":"VariableDeclaration","scope":81515,"src":"5927:14:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":81496,"name":"uint256","nodeType":"ElementaryTypeName","src":"5927:7:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":81499,"mutability":"mutable","name":"_registryFactory","nameLocation":"5959:16:133","nodeType":"VariableDeclaration","scope":81515,"src":"5951:24:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":81498,"name":"address","nodeType":"ElementaryTypeName","src":"5951:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":81501,"mutability":"mutable","name":"_feeReceiver","nameLocation":"5993:12:133","nodeType":"VariableDeclaration","scope":81515,"src":"5985:20:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":81500,"name":"address","nodeType":"ElementaryTypeName","src":"5985:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":81504,"mutability":"mutable","name":"_metadata","nameLocation":"6024:9:133","nodeType":"VariableDeclaration","scope":81515,"src":"6015:18:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"},"typeName":{"id":81503,"nodeType":"UserDefinedTypeName","pathNode":{"id":81502,"name":"Metadata","nameLocations":["6015:8:133"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"6015:8:133"},"referencedDeclaration":3098,"src":"6015:8:133","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"},{"constant":false,"id":81506,"mutability":"mutable","name":"_councilSafe","nameLocation":"6059:12:133","nodeType":"VariableDeclaration","scope":81515,"src":"6043:28:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"},"typeName":{"id":81505,"name":"address","nodeType":"ElementaryTypeName","src":"6043:15:133","stateMutability":"payable","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"visibility":"internal"},{"constant":false,"id":81508,"mutability":"mutable","name":"_communityName","nameLocation":"6088:14:133","nodeType":"VariableDeclaration","scope":81515,"src":"6081:21:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":81507,"name":"string","nodeType":"ElementaryTypeName","src":"6081:6:133","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":81510,"mutability":"mutable","name":"_isKickEnabled","nameLocation":"6117:14:133","nodeType":"VariableDeclaration","scope":81515,"src":"6112:19:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":81509,"name":"bool","nodeType":"ElementaryTypeName","src":"6112:4:133","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":81512,"mutability":"mutable","name":"covenantIpfsHash","nameLocation":"6148:16:133","nodeType":"VariableDeclaration","scope":81515,"src":"6141:23:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":81511,"name":"string","nodeType":"ElementaryTypeName","src":"6141:6:133","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":81514,"mutability":"mutable","name":"_strategyTemplate","nameLocation":"6182:17:133","nodeType":"VariableDeclaration","scope":81515,"src":"6174:25:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":81513,"name":"address","nodeType":"ElementaryTypeName","src":"6174:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"name":"InitializeParams","nameLocation":"5723:16:133","scope":83082,"visibility":"public"},{"id":81517,"nodeType":"VariableDeclaration","src":"6303:25:133","nodes":[],"constant":false,"functionSelector":"1f787d28","mutability":"mutable","name":"isKickEnabled","nameLocation":"6315:13:133","scope":83082,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":81516,"name":"bool","nodeType":"ElementaryTypeName","src":"6303:4:133","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"public"},{"id":81519,"nodeType":"VariableDeclaration","src":"6472:34:133","nodes":[],"constant":false,"functionSelector":"78a0b8a9","mutability":"mutable","name":"registerStakeAmount","nameLocation":"6487:19:133","scope":83082,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":81518,"name":"uint256","nodeType":"ElementaryTypeName","src":"6472:7:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"id":81521,"nodeType":"VariableDeclaration","src":"6512:27:133","nodes":[],"constant":false,"functionSelector":"8961be6b","mutability":"mutable","name":"communityFee","nameLocation":"6527:12:133","scope":83082,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":81520,"name":"uint256","nodeType":"ElementaryTypeName","src":"6512:7:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"id":81523,"nodeType":"VariableDeclaration","src":"6545:24:133","nodes":[],"constant":false,"functionSelector":"08386eba","mutability":"mutable","name":"profileId","nameLocation":"6560:9:133","scope":83082,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":81522,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6545:7:133","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"public"},{"id":81525,"nodeType":"VariableDeclaration","src":"6620:26:133","nodes":[],"constant":false,"functionSelector":"b3f00674","mutability":"mutable","name":"feeReceiver","nameLocation":"6635:11:133","scope":83082,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":81524,"name":"address","nodeType":"ElementaryTypeName","src":"6620:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"public"},{"id":81527,"nodeType":"VariableDeclaration","src":"6652:30:133","nodes":[],"constant":false,"functionSelector":"f86c5f89","mutability":"mutable","name":"registryFactory","nameLocation":"6667:15:133","scope":83082,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":81526,"name":"address","nodeType":"ElementaryTypeName","src":"6652:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"public"},{"id":81529,"nodeType":"VariableDeclaration","src":"6688:31:133","nodes":[],"constant":false,"functionSelector":"5c94e4d2","mutability":"mutable","name":"strategyTemplate","nameLocation":"6703:16:133","scope":83082,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":81528,"name":"address","nodeType":"ElementaryTypeName","src":"6688:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"public"},{"id":81531,"nodeType":"VariableDeclaration","src":"6725:25:133","nodes":[],"constant":false,"functionSelector":"33960459","mutability":"mutable","name":"cloneNonce","nameLocation":"6740:10:133","scope":83082,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":81530,"name":"uint256","nodeType":"ElementaryTypeName","src":"6725:7:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"id":81533,"nodeType":"VariableDeclaration","src":"6756:41:133","nodes":[],"constant":false,"functionSelector":"68decabb","mutability":"mutable","name":"pendingCouncilSafe","nameLocation":"6779:18:133","scope":83082,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"},"typeName":{"id":81532,"name":"address","nodeType":"ElementaryTypeName","src":"6756:15:133","stateMutability":"payable","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"visibility":"public"},{"id":81536,"nodeType":"VariableDeclaration","src":"6875:25:133","nodes":[],"constant":false,"functionSelector":"7b103999","mutability":"mutable","name":"registry","nameLocation":"6892:8:133","scope":83082,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"},"typeName":{"id":81535,"nodeType":"UserDefinedTypeName","pathNode":{"id":81534,"name":"IRegistry","nameLocations":["6875:9:133"],"nodeType":"IdentifierPath","referencedDeclaration":2802,"src":"6875:9:133"},"referencedDeclaration":2802,"src":"6875:9:133","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"}},"visibility":"public"},{"id":81539,"nodeType":"VariableDeclaration","src":"6906:25:133","nodes":[],"constant":false,"functionSelector":"db61d65c","mutability":"mutable","name":"gardenToken","nameLocation":"6920:11:133","scope":83082,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$57069","typeString":"contract IERC20"},"typeName":{"id":81538,"nodeType":"UserDefinedTypeName","pathNode":{"id":81537,"name":"IERC20","nameLocations":["6906:6:133"],"nodeType":"IdentifierPath","referencedDeclaration":57069,"src":"6906:6:133"},"referencedDeclaration":57069,"src":"6906:6:133","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$57069","typeString":"contract IERC20"}},"visibility":"public"},{"id":81542,"nodeType":"VariableDeclaration","src":"6937:24:133","nodes":[],"constant":false,"functionSelector":"6c53db9a","mutability":"mutable","name":"councilSafe","nameLocation":"6950:11:133","scope":83082,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_ISafe_$85665","typeString":"contract ISafe"},"typeName":{"id":81541,"nodeType":"UserDefinedTypeName","pathNode":{"id":81540,"name":"ISafe","nameLocations":["6937:5:133"],"nodeType":"IdentifierPath","referencedDeclaration":85665,"src":"6937:5:133"},"referencedDeclaration":85665,"src":"6937:5:133","typeDescriptions":{"typeIdentifier":"t_contract$_ISafe_$85665","typeString":"contract ISafe"}},"visibility":"public"},{"id":81545,"nodeType":"VariableDeclaration","src":"6967:17:133","nodes":[],"constant":false,"functionSelector":"d6d8428d","mutability":"mutable","name":"allo","nameLocation":"6980:4:133","scope":83082,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_FAllo_$81222","typeString":"contract FAllo"},"typeName":{"id":81544,"nodeType":"UserDefinedTypeName","pathNode":{"id":81543,"name":"FAllo","nameLocations":["6967:5:133"],"nodeType":"IdentifierPath","referencedDeclaration":81222,"src":"6967:5:133"},"referencedDeclaration":81222,"src":"6967:5:133","typeDescriptions":{"typeIdentifier":"t_contract$_FAllo_$81222","typeString":"contract FAllo"}},"visibility":"public"},{"id":81547,"nodeType":"VariableDeclaration","src":"7048:27:133","nodes":[],"constant":false,"functionSelector":"c6d572ae","mutability":"mutable","name":"communityName","nameLocation":"7062:13:133","scope":83082,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string"},"typeName":{"id":81546,"name":"string","nodeType":"ElementaryTypeName","src":"7048:6:133","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"public"},{"id":81549,"nodeType":"VariableDeclaration","src":"7081:30:133","nodes":[],"constant":false,"functionSelector":"b64e39af","mutability":"mutable","name":"covenantIpfsHash","nameLocation":"7095:16:133","scope":83082,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string"},"typeName":{"id":81548,"name":"string","nodeType":"ElementaryTypeName","src":"7081:6:133","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"public"},{"id":81553,"nodeType":"VariableDeclaration","src":"7175:68:133","nodes":[],"constant":false,"functionSelector":"3a871fe1","mutability":"mutable","name":"enabledStrategies","nameLocation":"7226:17:133","scope":83082,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"},"typeName":{"id":81552,"keyName":"strategy","keyNameLocation":"7191:8:133","keyType":{"id":81550,"name":"address","nodeType":"ElementaryTypeName","src":"7183:7:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"7175:43:133","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"},"valueName":"isEnabled","valueNameLocation":"7208:9:133","valueType":{"id":81551,"name":"bool","nodeType":"ElementaryTypeName","src":"7203:4:133","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}},"visibility":"public"},{"id":81559,"nodeType":"VariableDeclaration","src":"7249:98:133","nodes":[],"constant":false,"functionSelector":"65e3864c","mutability":"mutable","name":"memberPowerInStrategy","nameLocation":"7326:21:133","scope":83082,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"},"typeName":{"id":81558,"keyName":"strategy","keyNameLocation":"7265:8:133","keyType":{"id":81554,"name":"address","nodeType":"ElementaryTypeName","src":"7257:7:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"7249:69:133","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":81557,"keyName":"member","keyNameLocation":"7293:6:133","keyType":{"id":81555,"name":"address","nodeType":"ElementaryTypeName","src":"7285:7:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"7277:40:133","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"valueName":"power","valueNameLocation":"7311:5:133","valueType":{"id":81556,"name":"uint256","nodeType":"ElementaryTypeName","src":"7303:7:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}}},"visibility":"public"},{"id":81564,"nodeType":"VariableDeclaration","src":"7354:60:133","nodes":[],"constant":false,"functionSelector":"88cfe684","mutability":"mutable","name":"addressToMemberInfo","nameLocation":"7395:19:133","scope":83082,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Member_$81482_storage_$","typeString":"mapping(address => struct RegistryCommunity.Member)"},"typeName":{"id":81563,"keyName":"member","keyNameLocation":"7370:6:133","keyType":{"id":81560,"name":"address","nodeType":"ElementaryTypeName","src":"7362:7:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"7354:33:133","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Member_$81482_storage_$","typeString":"mapping(address => struct RegistryCommunity.Member)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":81562,"nodeType":"UserDefinedTypeName","pathNode":{"id":81561,"name":"Member","nameLocations":["7380:6:133"],"nodeType":"IdentifierPath","referencedDeclaration":81482,"src":"7380:6:133"},"referencedDeclaration":81482,"src":"7380:6:133","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$81482_storage_ptr","typeString":"struct RegistryCommunity.Member"}}},"visibility":"public"},{"id":81569,"nodeType":"VariableDeclaration","src":"7420:82:133","nodes":[],"constant":false,"functionSelector":"2b38c69c","mutability":"mutable","name":"strategiesByMember","nameLocation":"7484:18:133","scope":83082,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_address_$dyn_storage_$","typeString":"mapping(address => address[])"},"typeName":{"id":81568,"keyName":"member","keyNameLocation":"7436:6:133","keyType":{"id":81565,"name":"address","nodeType":"ElementaryTypeName","src":"7428:7:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"7420:56:133","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_address_$dyn_storage_$","typeString":"mapping(address => address[])"},"valueName":"strategiesAddresses","valueNameLocation":"7456:19:133","valueType":{"baseType":{"id":81566,"name":"address","nodeType":"ElementaryTypeName","src":"7446:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":81567,"nodeType":"ArrayTypeName","src":"7446:9:133","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}}},"visibility":"public"},{"id":81575,"nodeType":"VariableDeclaration","src":"7508:107:133","nodes":[],"constant":false,"functionSelector":"477a5cc0","mutability":"mutable","name":"memberActivatedInStrategies","nameLocation":"7588:27:133","scope":83082,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$","typeString":"mapping(address => mapping(address => bool))"},"typeName":{"id":81574,"keyName":"member","keyNameLocation":"7524:6:133","keyType":{"id":81570,"name":"address","nodeType":"ElementaryTypeName","src":"7516:7:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"7508:72:133","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$","typeString":"mapping(address => mapping(address => bool))"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":81573,"keyName":"strategy","keyNameLocation":"7550:8:133","keyType":{"id":81571,"name":"address","nodeType":"ElementaryTypeName","src":"7542:7:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"7534:45:133","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"},"valueName":"isActivated","valueNameLocation":"7567:11:133","valueType":{"id":81572,"name":"bool","nodeType":"ElementaryTypeName","src":"7562:4:133","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}}},"visibility":"public"},{"id":81578,"nodeType":"VariableDeclaration","src":"7622:24:133","nodes":[],"constant":false,"mutability":"mutable","name":"initialMembers","nameLocation":"7632:14:133","scope":83082,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[]"},"typeName":{"baseType":{"id":81576,"name":"address","nodeType":"ElementaryTypeName","src":"7622:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":81577,"nodeType":"ArrayTypeName","src":"7622:9:133","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"id":81583,"nodeType":"VariableDeclaration","src":"7653:49:133","nodes":[],"constant":true,"functionSelector":"d7050f07","mutability":"constant","name":"PRECISION_SCALE","nameLocation":"7677:15:133","scope":83082,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":81579,"name":"uint256","nodeType":"ElementaryTypeName","src":"7653:7:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"commonType":{"typeIdentifier":"t_rational_10000_by_1","typeString":"int_const 10000"},"id":81582,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":81580,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7695:2:133","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"34","id":81581,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7701:1:133","typeDescriptions":{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},"value":"4"},"src":"7695:7:133","typeDescriptions":{"typeIdentifier":"t_rational_10000_by_1","typeString":"int_const 10000"}},"visibility":"public"},{"id":81588,"nodeType":"VariableDeclaration","src":"7708:54:133","nodes":[],"constant":true,"functionSelector":"bc063e1a","mutability":"constant","name":"MAX_FEE","nameLocation":"7732:7:133","scope":83082,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":81584,"name":"uint256","nodeType":"ElementaryTypeName","src":"7708:7:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":81587,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":81585,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7742:2:133","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":81586,"name":"PRECISION_SCALE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81583,"src":"7747:15:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7742:20:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"id":81597,"nodeType":"FunctionDefinition","src":"7769:145:133","nodes":[],"body":{"id":81596,"nodeType":"Block","src":"7783:131:133","nodes":[],"statements":[{"expression":{"arguments":[{"id":81592,"name":"COUNCIL_MEMBER_CHANGE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81244,"src":"7865:21:133","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":81593,"name":"DEFAULT_ADMIN_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55020,"src":"7888:18:133","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":81591,"name":"_setRoleAdmin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55244,"src":"7851:13:133","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (bytes32,bytes32)"}},"id":81594,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7851:56:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":81595,"nodeType":"ExpressionStatement","src":"7851:56:133"}]},"implemented":true,"kind":"constructor","modifiers":[],"name":"","nameLocation":"-1:-1:-1","parameters":{"id":81589,"nodeType":"ParameterList","parameters":[],"src":"7780:2:133"},"returnParameters":{"id":81590,"nodeType":"ParameterList","parameters":[],"src":"7783:0:133"},"scope":83082,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":81820,"nodeType":"FunctionDefinition","src":"7920:1945:133","nodes":[],"body":{"id":81819,"nodeType":"Block","src":"7997:1868:133","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"expression":{"id":81606,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81600,"src":"8034:6:133","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$81515_memory_ptr","typeString":"struct RegistryCommunity.InitializeParams memory"}},"id":81607,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8041:12:133","memberName":"_gardenToken","nodeType":"MemberAccess","referencedDeclaration":81491,"src":"8034:19:133","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$57069","typeString":"contract IERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$57069","typeString":"contract IERC20"}],"id":81605,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8026:7:133","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":81604,"name":"address","nodeType":"ElementaryTypeName","src":"8026:7:133","typeDescriptions":{}}},"id":81608,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8026:28:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":81603,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82526,"src":"8007:18:133","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":81609,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8007:48:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":81610,"nodeType":"ExpressionStatement","src":"8007:48:133"},{"expression":{"arguments":[{"expression":{"id":81612,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81600,"src":"8084:6:133","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$81515_memory_ptr","typeString":"struct RegistryCommunity.InitializeParams memory"}},"id":81613,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8091:12:133","memberName":"_councilSafe","nodeType":"MemberAccess","referencedDeclaration":81506,"src":"8084:19:133","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":81611,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82526,"src":"8065:18:133","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":81614,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8065:39:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":81615,"nodeType":"ExpressionStatement","src":"8065:39:133"},{"expression":{"arguments":[{"expression":{"id":81617,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81600,"src":"8133:6:133","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$81515_memory_ptr","typeString":"struct RegistryCommunity.InitializeParams memory"}},"id":81618,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8140:5:133","memberName":"_allo","nodeType":"MemberAccess","referencedDeclaration":81488,"src":"8133:12:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":81616,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82526,"src":"8114:18:133","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":81619,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8114:32:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":81620,"nodeType":"ExpressionStatement","src":"8114:32:133"},{"expression":{"arguments":[{"expression":{"id":81622,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81600,"src":"8175:6:133","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$81515_memory_ptr","typeString":"struct RegistryCommunity.InitializeParams memory"}},"id":81623,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8182:16:133","memberName":"_registryFactory","nodeType":"MemberAccess","referencedDeclaration":81499,"src":"8175:23:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":81621,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82526,"src":"8156:18:133","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":81624,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8156:43:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":81625,"nodeType":"ExpressionStatement","src":"8156:43:133"},{"expression":{"arguments":[{"expression":{"id":81627,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81600,"src":"8228:6:133","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$81515_memory_ptr","typeString":"struct RegistryCommunity.InitializeParams memory"}},"id":81628,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8235:17:133","memberName":"_strategyTemplate","nodeType":"MemberAccess","referencedDeclaration":81514,"src":"8228:24:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":81626,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82526,"src":"8209:18:133","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":81629,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8209:44:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":81630,"nodeType":"ExpressionStatement","src":"8209:44:133"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":81634,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":81631,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81600,"src":"8268:6:133","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$81515_memory_ptr","typeString":"struct RegistryCommunity.InitializeParams memory"}},"id":81632,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8275:13:133","memberName":"_communityFee","nodeType":"MemberAccess","referencedDeclaration":81495,"src":"8268:20:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":81633,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8292:1:133","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"8268:25:133","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":81641,"nodeType":"IfStatement","src":"8264:95:133","trueBody":{"id":81640,"nodeType":"Block","src":"8295:64:133","statements":[{"expression":{"arguments":[{"expression":{"id":81636,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81600,"src":"8328:6:133","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$81515_memory_ptr","typeString":"struct RegistryCommunity.InitializeParams memory"}},"id":81637,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8335:12:133","memberName":"_feeReceiver","nodeType":"MemberAccess","referencedDeclaration":81501,"src":"8328:19:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":81635,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82526,"src":"8309:18:133","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":81638,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8309:39:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":81639,"nodeType":"ExpressionStatement","src":"8309:39:133"}]}},{"expression":{"id":81647,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":81642,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81545,"src":"8368:4:133","typeDescriptions":{"typeIdentifier":"t_contract$_FAllo_$81222","typeString":"contract FAllo"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":81644,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81600,"src":"8381:6:133","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$81515_memory_ptr","typeString":"struct RegistryCommunity.InitializeParams memory"}},"id":81645,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8388:5:133","memberName":"_allo","nodeType":"MemberAccess","referencedDeclaration":81488,"src":"8381:12:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":81643,"name":"FAllo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81222,"src":"8375:5:133","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_FAllo_$81222_$","typeString":"type(contract FAllo)"}},"id":81646,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8375:19:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_FAllo_$81222","typeString":"contract FAllo"}},"src":"8368:26:133","typeDescriptions":{"typeIdentifier":"t_contract$_FAllo_$81222","typeString":"contract FAllo"}},"id":81648,"nodeType":"ExpressionStatement","src":"8368:26:133"},{"expression":{"id":81652,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":81649,"name":"gardenToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81539,"src":"8404:11:133","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$57069","typeString":"contract IERC20"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":81650,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81600,"src":"8418:6:133","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$81515_memory_ptr","typeString":"struct RegistryCommunity.InitializeParams memory"}},"id":81651,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8425:12:133","memberName":"_gardenToken","nodeType":"MemberAccess","referencedDeclaration":81491,"src":"8418:19:133","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$57069","typeString":"contract IERC20"}},"src":"8404:33:133","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$57069","typeString":"contract IERC20"}},"id":81653,"nodeType":"ExpressionStatement","src":"8404:33:133"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":81657,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":81654,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81600,"src":"8451:6:133","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$81515_memory_ptr","typeString":"struct RegistryCommunity.InitializeParams memory"}},"id":81655,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8458:20:133","memberName":"_registerStakeAmount","nodeType":"MemberAccess","referencedDeclaration":81493,"src":"8451:27:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":81656,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8482:1:133","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"8451:32:133","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":81662,"nodeType":"IfStatement","src":"8447:89:133","trueBody":{"id":81661,"nodeType":"Block","src":"8485:51:133","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":81658,"name":"ValueCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81461,"src":"8506:17:133","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":81659,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8506:19:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":81660,"nodeType":"RevertStatement","src":"8499:26:133"}]}},{"expression":{"id":81666,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":81663,"name":"registerStakeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81519,"src":"8545:19:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":81664,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81600,"src":"8567:6:133","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$81515_memory_ptr","typeString":"struct RegistryCommunity.InitializeParams memory"}},"id":81665,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8574:20:133","memberName":"_registerStakeAmount","nodeType":"MemberAccess","referencedDeclaration":81493,"src":"8567:27:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8545:49:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":81667,"nodeType":"ExpressionStatement","src":"8545:49:133"},{"expression":{"id":81671,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":81668,"name":"communityFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81521,"src":"8604:12:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":81669,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81600,"src":"8619:6:133","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$81515_memory_ptr","typeString":"struct RegistryCommunity.InitializeParams memory"}},"id":81670,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8626:13:133","memberName":"_communityFee","nodeType":"MemberAccess","referencedDeclaration":81495,"src":"8619:20:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8604:35:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":81672,"nodeType":"ExpressionStatement","src":"8604:35:133"},{"expression":{"id":81676,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":81673,"name":"isKickEnabled","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81517,"src":"8649:13:133","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":81674,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81600,"src":"8665:6:133","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$81515_memory_ptr","typeString":"struct RegistryCommunity.InitializeParams memory"}},"id":81675,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8672:14:133","memberName":"_isKickEnabled","nodeType":"MemberAccess","referencedDeclaration":81510,"src":"8665:21:133","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"8649:37:133","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":81677,"nodeType":"ExpressionStatement","src":"8649:37:133"},{"expression":{"id":81681,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":81678,"name":"communityName","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81547,"src":"8696:13:133","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":81679,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81600,"src":"8712:6:133","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$81515_memory_ptr","typeString":"struct RegistryCommunity.InitializeParams memory"}},"id":81680,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8719:14:133","memberName":"_communityName","nodeType":"MemberAccess","referencedDeclaration":81508,"src":"8712:21:133","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"8696:37:133","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"id":81682,"nodeType":"ExpressionStatement","src":"8696:37:133"},{"expression":{"id":81686,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":81683,"name":"covenantIpfsHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81549,"src":"8743:16:133","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":81684,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81600,"src":"8762:6:133","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$81515_memory_ptr","typeString":"struct RegistryCommunity.InitializeParams memory"}},"id":81685,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8769:16:133","memberName":"covenantIpfsHash","nodeType":"MemberAccess","referencedDeclaration":81512,"src":"8762:23:133","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"8743:42:133","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"id":81687,"nodeType":"ExpressionStatement","src":"8743:42:133"},{"expression":{"id":81691,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":81688,"name":"registryFactory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81527,"src":"8795:15:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":81689,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81600,"src":"8813:6:133","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$81515_memory_ptr","typeString":"struct RegistryCommunity.InitializeParams memory"}},"id":81690,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8820:16:133","memberName":"_registryFactory","nodeType":"MemberAccess","referencedDeclaration":81499,"src":"8813:23:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"8795:41:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":81692,"nodeType":"ExpressionStatement","src":"8795:41:133"},{"expression":{"id":81696,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":81693,"name":"feeReceiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81525,"src":"8846:11:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":81694,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81600,"src":"8860:6:133","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$81515_memory_ptr","typeString":"struct RegistryCommunity.InitializeParams memory"}},"id":81695,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8867:12:133","memberName":"_feeReceiver","nodeType":"MemberAccess","referencedDeclaration":81501,"src":"8860:19:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"8846:33:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":81697,"nodeType":"ExpressionStatement","src":"8846:33:133"},{"expression":{"id":81703,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":81698,"name":"councilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81542,"src":"8889:11:133","typeDescriptions":{"typeIdentifier":"t_contract$_ISafe_$85665","typeString":"contract ISafe"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":81700,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81600,"src":"8909:6:133","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$81515_memory_ptr","typeString":"struct RegistryCommunity.InitializeParams memory"}},"id":81701,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8916:12:133","memberName":"_councilSafe","nodeType":"MemberAccess","referencedDeclaration":81506,"src":"8909:19:133","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":81699,"name":"ISafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85665,"src":"8903:5:133","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ISafe_$85665_$","typeString":"type(contract ISafe)"}},"id":81702,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8903:26:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ISafe_$85665","typeString":"contract ISafe"}},"src":"8889:40:133","typeDescriptions":{"typeIdentifier":"t_contract$_ISafe_$85665","typeString":"contract ISafe"}},"id":81704,"nodeType":"ExpressionStatement","src":"8889:40:133"},{"expression":{"id":81708,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":81705,"name":"strategyTemplate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81529,"src":"8939:16:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":81706,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81600,"src":"8958:6:133","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$81515_memory_ptr","typeString":"struct RegistryCommunity.InitializeParams memory"}},"id":81707,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8965:17:133","memberName":"_strategyTemplate","nodeType":"MemberAccess","referencedDeclaration":81514,"src":"8958:24:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"8939:43:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":81709,"nodeType":"ExpressionStatement","src":"8939:43:133"},{"expression":{"arguments":[{"id":81711,"name":"COUNCIL_MEMBER_CHANGE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81244,"src":"9004:21:133","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"expression":{"id":81712,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81600,"src":"9027:6:133","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$81515_memory_ptr","typeString":"struct RegistryCommunity.InitializeParams memory"}},"id":81713,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9034:12:133","memberName":"_councilSafe","nodeType":"MemberAccess","referencedDeclaration":81506,"src":"9027:19:133","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":81710,"name":"_grantRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55276,"src":"8993:10:133","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$","typeString":"function (bytes32,address)"}},"id":81714,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8993:54:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":81715,"nodeType":"ExpressionStatement","src":"8993:54:133"},{"expression":{"id":81722,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":81716,"name":"registry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81536,"src":"9058:8:133","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":81718,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81545,"src":"9079:4:133","typeDescriptions":{"typeIdentifier":"t_contract$_FAllo_$81222","typeString":"contract FAllo"}},"id":81719,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9084:11:133","memberName":"getRegistry","nodeType":"MemberAccess","referencedDeclaration":81213,"src":"9079:16:133","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_address_$","typeString":"function () view external returns (address)"}},"id":81720,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9079:18:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":81717,"name":"IRegistry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2802,"src":"9069:9:133","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IRegistry_$2802_$","typeString":"type(contract IRegistry)"}},"id":81721,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9069:29:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"}},"src":"9058:40:133","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"}},"id":81723,"nodeType":"ExpressionStatement","src":"9058:40:133"},{"assignments":[81728],"declarations":[{"constant":false,"id":81728,"mutability":"mutable","name":"owners","nameLocation":"9126:6:133","nodeType":"VariableDeclaration","scope":81819,"src":"9109:23:133","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":81726,"name":"address","nodeType":"ElementaryTypeName","src":"9109:7:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":81727,"nodeType":"ArrayTypeName","src":"9109:9:133","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"id":81732,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":81729,"name":"councilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81542,"src":"9135:11:133","typeDescriptions":{"typeIdentifier":"t_contract$_ISafe_$85665","typeString":"contract ISafe"}},"id":81730,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9147:9:133","memberName":"getOwners","nodeType":"MemberAccess","referencedDeclaration":85664,"src":"9135:21:133","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_array$_t_address_$dyn_memory_ptr_$","typeString":"function () view external returns (address[] memory)"}},"id":81731,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9135:23:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"nodeType":"VariableDeclarationStatement","src":"9109:49:133"},{"assignments":[81737],"declarations":[{"constant":false,"id":81737,"mutability":"mutable","name":"pool_initialMembers","nameLocation":"9185:19:133","nodeType":"VariableDeclaration","scope":81819,"src":"9168:36:133","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":81735,"name":"address","nodeType":"ElementaryTypeName","src":"9168:7:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":81736,"nodeType":"ArrayTypeName","src":"9168:9:133","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"id":81746,"initialValue":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":81744,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":81741,"name":"owners","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81728,"src":"9221:6:133","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":81742,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9228:6:133","memberName":"length","nodeType":"MemberAccess","src":"9221:13:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"32","id":81743,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9237:1:133","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"9221:17:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":81740,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"9207:13:133","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_address_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (address[] memory)"},"typeName":{"baseType":{"id":81738,"name":"address","nodeType":"ElementaryTypeName","src":"9211:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":81739,"nodeType":"ArrayTypeName","src":"9211:9:133","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}}},"id":81745,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9207:32:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"nodeType":"VariableDeclarationStatement","src":"9168:71:133"},{"body":{"id":81766,"nodeType":"Block","src":"9294:59:133","statements":[{"expression":{"id":81764,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":81758,"name":"pool_initialMembers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81737,"src":"9308:19:133","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":81760,"indexExpression":{"id":81759,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81748,"src":"9328:1:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"9308:22:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"baseExpression":{"id":81761,"name":"owners","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81728,"src":"9333:6:133","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":81763,"indexExpression":{"id":81762,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81748,"src":"9340:1:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"9333:9:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"9308:34:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":81765,"nodeType":"ExpressionStatement","src":"9308:34:133"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":81754,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":81751,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81748,"src":"9270:1:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":81752,"name":"owners","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81728,"src":"9274:6:133","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":81753,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9281:6:133","memberName":"length","nodeType":"MemberAccess","src":"9274:13:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9270:17:133","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":81767,"initializationExpression":{"assignments":[81748],"declarations":[{"constant":false,"id":81748,"mutability":"mutable","name":"i","nameLocation":"9263:1:133","nodeType":"VariableDeclaration","scope":81767,"src":"9255:9:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":81747,"name":"uint256","nodeType":"ElementaryTypeName","src":"9255:7:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":81750,"initialValue":{"hexValue":"30","id":81749,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9267:1:133","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"9255:13:133"},"loopExpression":{"expression":{"id":81756,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"9289:3:133","subExpression":{"id":81755,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81748,"src":"9289:1:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":81757,"nodeType":"ExpressionStatement","src":"9289:3:133"},"nodeType":"ForStatement","src":"9250:103:133"},{"expression":{"id":81778,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":81768,"name":"pool_initialMembers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81737,"src":"9363:19:133","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":81773,"indexExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":81772,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":81769,"name":"pool_initialMembers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81737,"src":"9383:19:133","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":81770,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9403:6:133","memberName":"length","nodeType":"MemberAccess","src":"9383:26:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":81771,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9412:1:133","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"9383:30:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"9363:51:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":81776,"name":"councilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81542,"src":"9425:11:133","typeDescriptions":{"typeIdentifier":"t_contract$_ISafe_$85665","typeString":"contract ISafe"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ISafe_$85665","typeString":"contract ISafe"}],"id":81775,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9417:7:133","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":81774,"name":"address","nodeType":"ElementaryTypeName","src":"9417:7:133","typeDescriptions":{}}},"id":81777,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9417:20:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"9363:74:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":81779,"nodeType":"ExpressionStatement","src":"9363:74:133"},{"expression":{"id":81790,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":81780,"name":"pool_initialMembers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81737,"src":"9447:19:133","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":81785,"indexExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":81784,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":81781,"name":"pool_initialMembers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81737,"src":"9467:19:133","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":81782,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9487:6:133","memberName":"length","nodeType":"MemberAccess","src":"9467:26:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"32","id":81783,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9496:1:133","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"9467:30:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"9447:51:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":81788,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"9509:4:133","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunity_$83082","typeString":"contract RegistryCommunity"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryCommunity_$83082","typeString":"contract RegistryCommunity"}],"id":81787,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9501:7:133","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":81786,"name":"address","nodeType":"ElementaryTypeName","src":"9501:7:133","typeDescriptions":{}}},"id":81789,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9501:13:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"9447:67:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":81791,"nodeType":"ExpressionStatement","src":"9447:67:133"},{"expression":{"id":81806,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":81792,"name":"profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81523,"src":"9602:9:133","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":81795,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81600,"src":"9649:6:133","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$81515_memory_ptr","typeString":"struct RegistryCommunity.InitializeParams memory"}},"id":81796,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9656:6:133","memberName":"_nonce","nodeType":"MemberAccess","referencedDeclaration":81497,"src":"9649:13:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":81797,"name":"communityName","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81547,"src":"9664:13:133","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},{"expression":{"id":81798,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81600,"src":"9679:6:133","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$81515_memory_ptr","typeString":"struct RegistryCommunity.InitializeParams memory"}},"id":81799,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9686:9:133","memberName":"_metadata","nodeType":"MemberAccess","referencedDeclaration":81504,"src":"9679:16:133","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}},{"arguments":[{"id":81802,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"9705:4:133","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunity_$83082","typeString":"contract RegistryCommunity"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryCommunity_$83082","typeString":"contract RegistryCommunity"}],"id":81801,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9697:7:133","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":81800,"name":"address","nodeType":"ElementaryTypeName","src":"9697:7:133","typeDescriptions":{}}},"id":81803,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9697:13:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":81804,"name":"pool_initialMembers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81737,"src":"9712:19:133","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_storage","typeString":"string storage ref"},{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}],"expression":{"id":81793,"name":"registry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81536,"src":"9626:8:133","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"}},"id":81794,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9635:13:133","memberName":"createProfile","nodeType":"MemberAccess","referencedDeclaration":2742,"src":"9626:22:133","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_string_memory_ptr_$_t_struct$_Metadata_$3098_memory_ptr_$_t_address_$_t_array$_t_address_$dyn_memory_ptr_$returns$_t_bytes32_$","typeString":"function (uint256,string memory,struct Metadata memory,address,address[] memory) external returns (bytes32)"}},"id":81805,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9626:106:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"9602:130:133","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":81807,"nodeType":"ExpressionStatement","src":"9602:130:133"},{"expression":{"id":81810,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":81808,"name":"initialMembers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81578,"src":"9743:14:133","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[] storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":81809,"name":"pool_initialMembers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81737,"src":"9760:19:133","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"src":"9743:36:133","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[] storage ref"}},"id":81811,"nodeType":"ExpressionStatement","src":"9743:36:133"},{"eventCall":{"arguments":[{"id":81813,"name":"profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81523,"src":"9815:9:133","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":81814,"name":"communityName","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81547,"src":"9826:13:133","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},{"expression":{"id":81815,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81600,"src":"9841:6:133","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$81515_memory_ptr","typeString":"struct RegistryCommunity.InitializeParams memory"}},"id":81816,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9848:9:133","memberName":"_metadata","nodeType":"MemberAccess","referencedDeclaration":81504,"src":"9841:16:133","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_string_storage","typeString":"string storage ref"},{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}],"id":81812,"name":"RegistryInitialized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81291,"src":"9795:19:133","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_bytes32_$_t_string_memory_ptr_$_t_struct$_Metadata_$3098_memory_ptr_$returns$__$","typeString":"function (bytes32,string memory,struct Metadata memory)"}},"id":81817,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9795:63:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":81818,"nodeType":"EmitStatement","src":"9790:68:133"}]},"functionSelector":"96f0adec","implemented":true,"kind":"function","modifiers":[],"name":"initialize","nameLocation":"7929:10:133","parameters":{"id":81601,"nodeType":"ParameterList","parameters":[{"constant":false,"id":81600,"mutability":"mutable","name":"params","nameLocation":"7982:6:133","nodeType":"VariableDeclaration","scope":81820,"src":"7940:48:133","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$81515_memory_ptr","typeString":"struct RegistryCommunity.InitializeParams"},"typeName":{"id":81599,"nodeType":"UserDefinedTypeName","pathNode":{"id":81598,"name":"RegistryCommunity.InitializeParams","nameLocations":["7940:17:133","7958:16:133"],"nodeType":"IdentifierPath","referencedDeclaration":81515,"src":"7940:34:133"},"referencedDeclaration":81515,"src":"7940:34:133","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$81515_storage_ptr","typeString":"struct RegistryCommunity.InitializeParams"}},"visibility":"internal"}],"src":"7939:50:133"},"returnParameters":{"id":81602,"nodeType":"ParameterList","parameters":[],"src":"7997:0:133"},"scope":83082,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":81852,"nodeType":"FunctionDefinition","src":"9871:341:133","nodes":[],"body":{"id":81851,"nodeType":"Block","src":"10052:160:133","nodes":[],"statements":[{"assignments":[81836],"declarations":[{"constant":false,"id":81836,"mutability":"mutable","name":"strategyClone","nameLocation":"10070:13:133","nodeType":"VariableDeclaration","scope":81851,"src":"10062:21:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":81835,"name":"address","nodeType":"ElementaryTypeName","src":"10062:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":81843,"initialValue":{"arguments":[{"id":81839,"name":"strategyTemplate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81529,"src":"10104:16:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":81841,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"10122:12:133","subExpression":{"id":81840,"name":"cloneNonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81531,"src":"10122:10:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":81837,"name":"Clone","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3002,"src":"10086:5:133","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Clone_$3002_$","typeString":"type(library Clone)"}},"id":81838,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10092:11:133","memberName":"createClone","nodeType":"MemberAccess","referencedDeclaration":3001,"src":"10086:17:133","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_address_$","typeString":"function (address,uint256) returns (address)"}},"id":81842,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10086:49:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"10062:73:133"},{"expression":{"arguments":[{"id":81845,"name":"strategyClone","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81836,"src":"10163:13:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":81846,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81822,"src":"10178:6:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":81847,"name":"_params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81825,"src":"10186:7:133","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$74806_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},{"id":81848,"name":"_metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81828,"src":"10195:9:133","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_struct$_InitializeParams_$74806_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"},{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}],"id":81844,"name":"createPool","nodeType":"Identifier","overloadedDeclarations":[81852,81924],"referencedDeclaration":81924,"src":"10152:10:133","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_struct$_InitializeParams_$74806_memory_ptr_$_t_struct$_Metadata_$3098_memory_ptr_$returns$_t_uint256_$_t_address_$","typeString":"function (address,address,struct StrategyStruct.InitializeParams memory,struct Metadata memory) returns (uint256,address)"}},"id":81849,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10152:53:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_address_$","typeString":"tuple(uint256,address)"}},"functionReturnParameters":81834,"id":81850,"nodeType":"Return","src":"10145:60:133"}]},"functionSelector":"97991cfa","implemented":true,"kind":"function","modifiers":[],"name":"createPool","nameLocation":"9880:10:133","parameters":{"id":81829,"nodeType":"ParameterList","parameters":[{"constant":false,"id":81822,"mutability":"mutable","name":"_token","nameLocation":"9899:6:133","nodeType":"VariableDeclaration","scope":81852,"src":"9891:14:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":81821,"name":"address","nodeType":"ElementaryTypeName","src":"9891:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":81825,"mutability":"mutable","name":"_params","nameLocation":"9946:7:133","nodeType":"VariableDeclaration","scope":81852,"src":"9907:46:133","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$74806_memory_ptr","typeString":"struct StrategyStruct.InitializeParams"},"typeName":{"id":81824,"nodeType":"UserDefinedTypeName","pathNode":{"id":81823,"name":"StrategyStruct.InitializeParams","nameLocations":["9907:14:133","9922:16:133"],"nodeType":"IdentifierPath","referencedDeclaration":74806,"src":"9907:31:133"},"referencedDeclaration":74806,"src":"9907:31:133","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$74806_storage_ptr","typeString":"struct StrategyStruct.InitializeParams"}},"visibility":"internal"},{"constant":false,"id":81828,"mutability":"mutable","name":"_metadata","nameLocation":"9971:9:133","nodeType":"VariableDeclaration","scope":81852,"src":"9955:25:133","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata"},"typeName":{"id":81827,"nodeType":"UserDefinedTypeName","pathNode":{"id":81826,"name":"Metadata","nameLocations":["9955:8:133"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"9955:8:133"},"referencedDeclaration":3098,"src":"9955:8:133","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"}],"src":"9890:91:133"},"returnParameters":{"id":81834,"nodeType":"ParameterList","parameters":[{"constant":false,"id":81831,"mutability":"mutable","name":"poolId","nameLocation":"10022:6:133","nodeType":"VariableDeclaration","scope":81852,"src":"10014:14:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":81830,"name":"uint256","nodeType":"ElementaryTypeName","src":"10014:7:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":81833,"mutability":"mutable","name":"strategy","nameLocation":"10038:8:133","nodeType":"VariableDeclaration","scope":81852,"src":"10030:16:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":81832,"name":"address","nodeType":"ElementaryTypeName","src":"10030:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"10013:34:133"},"scope":83082,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":81924,"nodeType":"FunctionDefinition","src":"10218:653:133","nodes":[],"body":{"id":81923,"nodeType":"Block","src":"10436:435:133","nodes":[],"statements":[{"assignments":[81870],"declarations":[{"constant":false,"id":81870,"mutability":"mutable","name":"token","nameLocation":"10454:5:133","nodeType":"VariableDeclaration","scope":81923,"src":"10446:13:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":81869,"name":"address","nodeType":"ElementaryTypeName","src":"10446:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":81872,"initialValue":{"id":81871,"name":"NATIVE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81239,"src":"10462:6:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"10446:22:133"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":81878,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":81873,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81856,"src":"10482:6:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":81876,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10500:1:133","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":81875,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10492:7:133","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":81874,"name":"address","nodeType":"ElementaryTypeName","src":"10492:7:133","typeDescriptions":{}}},"id":81877,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10492:10:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"10482:20:133","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":81884,"nodeType":"IfStatement","src":"10478:65:133","trueBody":{"id":81883,"nodeType":"Block","src":"10504:39:133","statements":[{"expression":{"id":81881,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":81879,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81870,"src":"10518:5:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":81880,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81856,"src":"10526:6:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"10518:14:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":81882,"nodeType":"ExpressionStatement","src":"10518:14:133"}]}},{"expression":{"id":81887,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":81885,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81867,"src":"10552:8:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":81886,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81854,"src":"10563:9:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"10552:20:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":81888,"nodeType":"ExpressionStatement","src":"10552:20:133"},{"assignments":[81893],"declarations":[{"constant":false,"id":81893,"mutability":"mutable","name":"_pool_managers","nameLocation":"10600:14:133","nodeType":"VariableDeclaration","scope":81923,"src":"10583:31:133","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":81891,"name":"address","nodeType":"ElementaryTypeName","src":"10583:7:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":81892,"nodeType":"ArrayTypeName","src":"10583:9:133","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"id":81895,"initialValue":{"id":81894,"name":"initialMembers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81578,"src":"10617:14:133","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[] storage ref"}},"nodeType":"VariableDeclarationStatement","src":"10583:48:133"},{"expression":{"id":81910,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":81896,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81865,"src":"10642:6:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":81899,"name":"profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81523,"src":"10698:9:133","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":81900,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81867,"src":"10709:8:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":81903,"name":"_params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81859,"src":"10730:7:133","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$74806_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_InitializeParams_$74806_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}],"expression":{"id":81901,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"10719:3:133","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":81902,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"10723:6:133","memberName":"encode","nodeType":"MemberAccess","src":"10719:10:133","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":81904,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10719:19:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":81905,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81870,"src":"10740:5:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":81906,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10747:1:133","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"id":81907,"name":"_metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81862,"src":"10750:9:133","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}},{"id":81908,"name":"_pool_managers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81893,"src":"10761:14:133","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"},{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}],"expression":{"id":81897,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81545,"src":"10651:4:133","typeDescriptions":{"typeIdentifier":"t_contract$_FAllo_$81222","typeString":"contract FAllo"}},"id":81898,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10656:28:133","memberName":"createPoolWithCustomStrategy","nodeType":"MemberAccess","referencedDeclaration":81208,"src":"10651:33:133","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_bytes32_$_t_address_$_t_bytes_memory_ptr_$_t_address_$_t_uint256_$_t_struct$_Metadata_$3098_memory_ptr_$_t_array$_t_address_$dyn_memory_ptr_$returns$_t_uint256_$","typeString":"function (bytes32,address,bytes memory,address,uint256,struct Metadata memory,address[] memory) payable external returns (uint256)"}},"id":81909,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10651:134:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10642:143:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":81911,"nodeType":"ExpressionStatement","src":"10642:143:133"},{"eventCall":{"arguments":[{"id":81913,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81865,"src":"10813:6:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":81914,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81867,"src":"10821:8:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":81917,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"10839:4:133","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunity_$83082","typeString":"contract RegistryCommunity"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryCommunity_$83082","typeString":"contract RegistryCommunity"}],"id":81916,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10831:7:133","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":81915,"name":"address","nodeType":"ElementaryTypeName","src":"10831:7:133","typeDescriptions":{}}},"id":81918,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10831:13:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":81919,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81856,"src":"10846:6:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":81920,"name":"_metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81862,"src":"10854:9:133","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}],"id":81912,"name":"PoolCreated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81342,"src":"10801:11:133","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_address_$_t_address_$_t_address_$_t_struct$_Metadata_$3098_memory_ptr_$returns$__$","typeString":"function (uint256,address,address,address,struct Metadata memory)"}},"id":81921,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10801:63:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":81922,"nodeType":"EmitStatement","src":"10796:68:133"}]},"functionSelector":"ff6409ef","implemented":true,"kind":"function","modifiers":[],"name":"createPool","nameLocation":"10227:10:133","parameters":{"id":81863,"nodeType":"ParameterList","parameters":[{"constant":false,"id":81854,"mutability":"mutable","name":"_strategy","nameLocation":"10255:9:133","nodeType":"VariableDeclaration","scope":81924,"src":"10247:17:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":81853,"name":"address","nodeType":"ElementaryTypeName","src":"10247:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":81856,"mutability":"mutable","name":"_token","nameLocation":"10282:6:133","nodeType":"VariableDeclaration","scope":81924,"src":"10274:14:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":81855,"name":"address","nodeType":"ElementaryTypeName","src":"10274:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":81859,"mutability":"mutable","name":"_params","nameLocation":"10337:7:133","nodeType":"VariableDeclaration","scope":81924,"src":"10298:46:133","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$74806_memory_ptr","typeString":"struct StrategyStruct.InitializeParams"},"typeName":{"id":81858,"nodeType":"UserDefinedTypeName","pathNode":{"id":81857,"name":"StrategyStruct.InitializeParams","nameLocations":["10298:14:133","10313:16:133"],"nodeType":"IdentifierPath","referencedDeclaration":74806,"src":"10298:31:133"},"referencedDeclaration":74806,"src":"10298:31:133","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$74806_storage_ptr","typeString":"struct StrategyStruct.InitializeParams"}},"visibility":"internal"},{"constant":false,"id":81862,"mutability":"mutable","name":"_metadata","nameLocation":"10370:9:133","nodeType":"VariableDeclaration","scope":81924,"src":"10354:25:133","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata"},"typeName":{"id":81861,"nodeType":"UserDefinedTypeName","pathNode":{"id":81860,"name":"Metadata","nameLocations":["10354:8:133"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"10354:8:133"},"referencedDeclaration":3098,"src":"10354:8:133","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"}],"src":"10237:148:133"},"returnParameters":{"id":81868,"nodeType":"ParameterList","parameters":[{"constant":false,"id":81865,"mutability":"mutable","name":"poolId","nameLocation":"10410:6:133","nodeType":"VariableDeclaration","scope":81924,"src":"10402:14:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":81864,"name":"uint256","nodeType":"ElementaryTypeName","src":"10402:7:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":81867,"mutability":"mutable","name":"strategy","nameLocation":"10426:8:133","nodeType":"VariableDeclaration","scope":81924,"src":"10418:16:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":81866,"name":"address","nodeType":"ElementaryTypeName","src":"10418:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"10401:34:133"},"scope":83082,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":82041,"nodeType":"FunctionDefinition","src":"10877:1179:133","nodes":[],"body":{"id":82040,"nodeType":"Block","src":"10954:1102:133","nodes":[],"statements":[{"expression":{"arguments":[{"id":81932,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81926,"src":"10990:7:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":81931,"name":"onlyRegistryMemberAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81386,"src":"10964:25:133","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$__$","typeString":"function (address) view"}},"id":81933,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10964:34:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":81934,"nodeType":"ExpressionStatement","src":"10964:34:133"},{"expression":{"arguments":[{"id":81936,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81928,"src":"11028:9:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":81935,"name":"onlyStrategyEnabled","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81401,"src":"11008:19:133","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$__$","typeString":"function (address) view"}},"id":81937,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11008:30:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":81938,"nodeType":"ExpressionStatement","src":"11008:30:133"},{"expression":{"arguments":[{"id":81940,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81928,"src":"11067:9:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":81939,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82526,"src":"11048:18:133","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":81941,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11048:29:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":81942,"nodeType":"ExpressionStatement","src":"11048:29:133"},{"condition":{"baseExpression":{"baseExpression":{"id":81943,"name":"memberActivatedInStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81575,"src":"11092:27:133","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$","typeString":"mapping(address => mapping(address => bool))"}},"id":81945,"indexExpression":{"id":81944,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81926,"src":"11120:7:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"11092:36:133","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":81947,"indexExpression":{"id":81946,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81928,"src":"11129:9:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"11092:47:133","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":81952,"nodeType":"IfStatement","src":"11088:107:133","trueBody":{"id":81951,"nodeType":"Block","src":"11141:54:133","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":81948,"name":"UserAlreadyActivated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81449,"src":"11162:20:133","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":81949,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11162:22:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":81950,"nodeType":"RevertStatement","src":"11155:29:133"}]}},{"assignments":[81955],"declarations":[{"constant":false,"id":81955,"mutability":"mutable","name":"member","nameLocation":"11219:6:133","nodeType":"VariableDeclaration","scope":82040,"src":"11205:20:133","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$81482_memory_ptr","typeString":"struct RegistryCommunity.Member"},"typeName":{"id":81954,"nodeType":"UserDefinedTypeName","pathNode":{"id":81953,"name":"Member","nameLocations":["11205:6:133"],"nodeType":"IdentifierPath","referencedDeclaration":81482,"src":"11205:6:133"},"referencedDeclaration":81482,"src":"11205:6:133","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$81482_storage_ptr","typeString":"struct RegistryCommunity.Member"}},"visibility":"internal"}],"id":81959,"initialValue":{"baseExpression":{"id":81956,"name":"addressToMemberInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81564,"src":"11228:19:133","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Member_$81482_storage_$","typeString":"mapping(address => struct RegistryCommunity.Member storage ref)"}},"id":81958,"indexExpression":{"id":81957,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81926,"src":"11248:7:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"11228:28:133","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$81482_storage","typeString":"struct RegistryCommunity.Member storage ref"}},"nodeType":"VariableDeclarationStatement","src":"11205:51:133"},{"assignments":[81961],"declarations":[{"constant":false,"id":81961,"mutability":"mutable","name":"totalStakedAmount","nameLocation":"11275:17:133","nodeType":"VariableDeclaration","scope":82040,"src":"11267:25:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":81960,"name":"uint256","nodeType":"ElementaryTypeName","src":"11267:7:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":81964,"initialValue":{"expression":{"id":81962,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81955,"src":"11295:6:133","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$81482_memory_ptr","typeString":"struct RegistryCommunity.Member memory"}},"id":81963,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11302:12:133","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":81479,"src":"11295:19:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"11267:47:133"},{"assignments":[81966],"declarations":[{"constant":false,"id":81966,"mutability":"mutable","name":"pointsToIncrease","nameLocation":"11332:16:133","nodeType":"VariableDeclaration","scope":82040,"src":"11324:24:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":81965,"name":"uint256","nodeType":"ElementaryTypeName","src":"11324:7:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":81968,"initialValue":{"id":81967,"name":"registerStakeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81519,"src":"11351:19:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"11324:46:133"},{"condition":{"commonType":{"typeIdentifier":"t_enum$_PointSystem_$74731","typeString":"enum StrategyStruct.PointSystem"},"id":81977,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[{"id":81970,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81928,"src":"11400:9:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":81969,"name":"IPointStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74722,"src":"11385:14:133","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IPointStrategy_$74722_$","typeString":"type(contract IPointStrategy)"}},"id":81971,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11385:25:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IPointStrategy_$74722","typeString":"contract IPointStrategy"}},"id":81972,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11411:14:133","memberName":"getPointSystem","nodeType":"MemberAccess","referencedDeclaration":74721,"src":"11385:40:133","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$_t_enum$_PointSystem_$74731_$","typeString":"function () external returns (enum StrategyStruct.PointSystem)"}},"id":81973,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11385:42:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$74731","typeString":"enum StrategyStruct.PointSystem"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":81974,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74807,"src":"11431:14:133","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$74807_$","typeString":"type(library StrategyStruct)"}},"id":81975,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11446:11:133","memberName":"PointSystem","nodeType":"MemberAccess","referencedDeclaration":74731,"src":"11431:26:133","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_PointSystem_$74731_$","typeString":"type(enum StrategyStruct.PointSystem)"}},"id":81976,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"11458:9:133","memberName":"Quadratic","nodeType":"MemberAccess","referencedDeclaration":74730,"src":"11431:36:133","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$74731","typeString":"enum StrategyStruct.PointSystem"}},"src":"11385:82:133","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_enum$_PointSystem_$74731","typeString":"enum StrategyStruct.PointSystem"},"id":81997,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[{"id":81990,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81928,"src":"11589:9:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":81989,"name":"IPointStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74722,"src":"11574:14:133","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IPointStrategy_$74722_$","typeString":"type(contract IPointStrategy)"}},"id":81991,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11574:25:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IPointStrategy_$74722","typeString":"contract IPointStrategy"}},"id":81992,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11600:14:133","memberName":"getPointSystem","nodeType":"MemberAccess","referencedDeclaration":74721,"src":"11574:40:133","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$_t_enum$_PointSystem_$74731_$","typeString":"function () external returns (enum StrategyStruct.PointSystem)"}},"id":81993,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11574:42:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$74731","typeString":"enum StrategyStruct.PointSystem"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"expression":{"id":81994,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74807,"src":"11620:14:133","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$74807_$","typeString":"type(library StrategyStruct)"}},"id":81995,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11635:11:133","memberName":"PointSystem","nodeType":"MemberAccess","referencedDeclaration":74731,"src":"11620:26:133","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_PointSystem_$74731_$","typeString":"type(enum StrategyStruct.PointSystem)"}},"id":81996,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"11647:5:133","memberName":"Fixed","nodeType":"MemberAccess","referencedDeclaration":74727,"src":"11620:32:133","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$74731","typeString":"enum StrategyStruct.PointSystem"}},"src":"11574:78:133","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":82009,"nodeType":"IfStatement","src":"11570:195:133","trueBody":{"id":82008,"nodeType":"Block","src":"11654:111:133","statements":[{"expression":{"id":82006,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":81998,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81966,"src":"11668:16:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":82003,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81926,"src":"11727:7:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":82004,"name":"totalStakedAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81961,"src":"11736:17:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"arguments":[{"id":82000,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81928,"src":"11702:9:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":81999,"name":"IPointStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74722,"src":"11687:14:133","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IPointStrategy_$74722_$","typeString":"type(contract IPointStrategy)"}},"id":82001,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11687:25:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IPointStrategy_$74722","typeString":"contract IPointStrategy"}},"id":82002,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11713:13:133","memberName":"increasePower","nodeType":"MemberAccess","referencedDeclaration":74706,"src":"11687:39:133","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256) external returns (uint256)"}},"id":82005,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11687:67:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"11668:86:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":82007,"nodeType":"ExpressionStatement","src":"11668:86:133"}]}},"id":82010,"nodeType":"IfStatement","src":"11381:384:133","trueBody":{"id":81988,"nodeType":"Block","src":"11469:95:133","statements":[{"expression":{"id":81986,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":81978,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81966,"src":"11483:16:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":81983,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81926,"src":"11542:7:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":81984,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11551:1:133","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"expression":{"arguments":[{"id":81980,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81928,"src":"11517:9:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":81979,"name":"IPointStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74722,"src":"11502:14:133","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IPointStrategy_$74722_$","typeString":"type(contract IPointStrategy)"}},"id":81981,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11502:25:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IPointStrategy_$74722","typeString":"contract IPointStrategy"}},"id":81982,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11528:13:133","memberName":"increasePower","nodeType":"MemberAccess","referencedDeclaration":74706,"src":"11502:39:133","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256) external returns (uint256)"}},"id":81985,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11502:51:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"11483:70:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":81987,"nodeType":"ExpressionStatement","src":"11483:70:133"}]}},{"expression":{"id":82017,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"id":82011,"name":"memberPowerInStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81559,"src":"11775:21:133","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"}},"id":82014,"indexExpression":{"id":82012,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81926,"src":"11797:7:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"11775:30:133","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":82015,"indexExpression":{"id":82013,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81928,"src":"11806:9:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"11775:41:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":82016,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81966,"src":"11819:16:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"11775:60:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":82018,"nodeType":"ExpressionStatement","src":"11775:60:133"},{"expression":{"id":82025,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"id":82019,"name":"memberActivatedInStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81575,"src":"11864:27:133","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$","typeString":"mapping(address => mapping(address => bool))"}},"id":82022,"indexExpression":{"id":82020,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81926,"src":"11892:7:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"11864:36:133","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":82023,"indexExpression":{"id":82021,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81928,"src":"11901:9:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"11864:47:133","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":82024,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"11914:4:133","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"11864:54:133","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":82026,"nodeType":"ExpressionStatement","src":"11864:54:133"},{"expression":{"arguments":[{"id":82031,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81928,"src":"11962:9:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"baseExpression":{"id":82027,"name":"strategiesByMember","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81569,"src":"11929:18:133","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_address_$dyn_storage_$","typeString":"mapping(address => address[] storage ref)"}},"id":82029,"indexExpression":{"id":82028,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81926,"src":"11948:7:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"11929:27:133","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[] storage ref"}},"id":82030,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11957:4:133","memberName":"push","nodeType":"MemberAccess","src":"11929:32:133","typeDescriptions":{"typeIdentifier":"t_function_arraypush_nonpayable$_t_array$_t_address_$dyn_storage_ptr_$_t_address_$returns$__$attached_to$_t_array$_t_address_$dyn_storage_ptr_$","typeString":"function (address[] storage pointer,address)"}},"id":82032,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11929:43:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":82033,"nodeType":"ExpressionStatement","src":"11929:43:133"},{"eventCall":{"arguments":[{"id":82035,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81926,"src":"12012:7:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":82036,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81928,"src":"12021:9:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":82037,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81966,"src":"12032:16:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":82034,"name":"MemberActivatedStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81307,"src":"11988:23:133","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":82038,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11988:61:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":82039,"nodeType":"EmitStatement","src":"11983:66:133"}]},"functionSelector":"0d4a8b49","implemented":true,"kind":"function","modifiers":[],"name":"activateMemberInStrategy","nameLocation":"10886:24:133","parameters":{"id":81929,"nodeType":"ParameterList","parameters":[{"constant":false,"id":81926,"mutability":"mutable","name":"_member","nameLocation":"10919:7:133","nodeType":"VariableDeclaration","scope":82041,"src":"10911:15:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":81925,"name":"address","nodeType":"ElementaryTypeName","src":"10911:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":81928,"mutability":"mutable","name":"_strategy","nameLocation":"10936:9:133","nodeType":"VariableDeclaration","scope":82041,"src":"10928:17:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":81927,"name":"address","nodeType":"ElementaryTypeName","src":"10928:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"10910:36:133"},"returnParameters":{"id":81930,"nodeType":"ParameterList","parameters":[],"src":"10954:0:133"},"scope":83082,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":82100,"nodeType":"FunctionDefinition","src":"12062:691:133","nodes":[],"body":{"id":82099,"nodeType":"Block","src":"12141:612:133","nodes":[],"statements":[{"expression":{"arguments":[{"id":82049,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82043,"src":"12177:7:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":82048,"name":"onlyRegistryMemberAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81386,"src":"12151:25:133","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$__$","typeString":"function (address) view"}},"id":82050,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12151:34:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":82051,"nodeType":"ExpressionStatement","src":"12151:34:133"},{"expression":{"arguments":[{"id":82053,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82045,"src":"12214:9:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":82052,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82526,"src":"12195:18:133","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":82054,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12195:29:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":82055,"nodeType":"ExpressionStatement","src":"12195:29:133"},{"expression":{"arguments":[{"expression":{"id":82057,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"12254:3:133","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":82058,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12258:6:133","memberName":"sender","nodeType":"MemberAccess","src":"12254:10:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":82059,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82045,"src":"12266:9:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":82056,"name":"onlyStrategyAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81417,"src":"12234:19:133","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$_t_address_$returns$__$","typeString":"function (address,address) pure"}},"id":82060,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12234:42:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":82061,"nodeType":"ExpressionStatement","src":"12234:42:133"},{"condition":{"id":82067,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"12291:48:133","subExpression":{"baseExpression":{"baseExpression":{"id":82062,"name":"memberActivatedInStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81575,"src":"12292:27:133","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$","typeString":"mapping(address => mapping(address => bool))"}},"id":82064,"indexExpression":{"id":82063,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82043,"src":"12320:7:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"12292:36:133","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":82066,"indexExpression":{"id":82065,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82045,"src":"12329:9:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"12292:47:133","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":82072,"nodeType":"IfStatement","src":"12287:110:133","trueBody":{"id":82071,"nodeType":"Block","src":"12341:56:133","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":82068,"name":"UserAlreadyDeactivated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81451,"src":"12362:22:133","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":82069,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12362:24:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":82070,"nodeType":"RevertStatement","src":"12355:31:133"}]}},{"expression":{"id":82079,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"id":82073,"name":"memberActivatedInStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81575,"src":"12407:27:133","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$","typeString":"mapping(address => mapping(address => bool))"}},"id":82076,"indexExpression":{"id":82074,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82043,"src":"12435:7:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"12407:36:133","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":82077,"indexExpression":{"id":82075,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82045,"src":"12444:9:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"12407:47:133","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"66616c7365","id":82078,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"12457:5:133","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"src":"12407:55:133","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":82080,"nodeType":"ExpressionStatement","src":"12407:55:133"},{"expression":{"id":82087,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"id":82081,"name":"memberPowerInStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81559,"src":"12472:21:133","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"}},"id":82084,"indexExpression":{"id":82082,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82043,"src":"12494:7:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"12472:30:133","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":82085,"indexExpression":{"id":82083,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82045,"src":"12503:9:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"12472:41:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"30","id":82086,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12516:1:133","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"12472:45:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":82088,"nodeType":"ExpressionStatement","src":"12472:45:133"},{"expression":{"arguments":[{"id":82090,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82043,"src":"12552:7:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":82091,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82045,"src":"12561:9:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":82089,"name":"removeStrategyFromMember","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82153,"src":"12527:24:133","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address)"}},"id":82092,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12527:44:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":82093,"nodeType":"ExpressionStatement","src":"12527:44:133"},{"eventCall":{"arguments":[{"id":82095,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82043,"src":"12727:7:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":82096,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82045,"src":"12736:9:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":82094,"name":"MemberDeactivatedStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81313,"src":"12701:25:133","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address)"}},"id":82097,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12701:45:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":82098,"nodeType":"EmitStatement","src":"12696:50:133"}]},"functionSelector":"22bcf999","implemented":true,"kind":"function","modifiers":[],"name":"deactivateMemberInStrategy","nameLocation":"12071:26:133","parameters":{"id":82046,"nodeType":"ParameterList","parameters":[{"constant":false,"id":82043,"mutability":"mutable","name":"_member","nameLocation":"12106:7:133","nodeType":"VariableDeclaration","scope":82100,"src":"12098:15:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":82042,"name":"address","nodeType":"ElementaryTypeName","src":"12098:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":82045,"mutability":"mutable","name":"_strategy","nameLocation":"12123:9:133","nodeType":"VariableDeclaration","scope":82100,"src":"12115:17:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":82044,"name":"address","nodeType":"ElementaryTypeName","src":"12115:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"12097:36:133"},"returnParameters":{"id":82047,"nodeType":"ParameterList","parameters":[],"src":"12141:0:133"},"scope":83082,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":82153,"nodeType":"FunctionDefinition","src":"12759:425:133","nodes":[],"body":{"id":82152,"nodeType":"Block","src":"12838:346:133","nodes":[],"statements":[{"assignments":[82111],"declarations":[{"constant":false,"id":82111,"mutability":"mutable","name":"memberStrategies","nameLocation":"12866:16:133","nodeType":"VariableDeclaration","scope":82152,"src":"12848:34:133","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":82109,"name":"address","nodeType":"ElementaryTypeName","src":"12848:7:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":82110,"nodeType":"ArrayTypeName","src":"12848:9:133","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"id":82115,"initialValue":{"baseExpression":{"id":82112,"name":"strategiesByMember","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81569,"src":"12885:18:133","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_address_$dyn_storage_$","typeString":"mapping(address => address[] storage ref)"}},"id":82114,"indexExpression":{"id":82113,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82102,"src":"12904:7:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"12885:27:133","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[] storage ref"}},"nodeType":"VariableDeclarationStatement","src":"12848:64:133"},{"body":{"id":82150,"nodeType":"Block","src":"12976:202:133","statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":82131,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"id":82127,"name":"memberStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82111,"src":"12994:16:133","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[] storage pointer"}},"id":82129,"indexExpression":{"id":82128,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82117,"src":"13011:1:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"12994:19:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":82130,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82104,"src":"13017:9:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"12994:32:133","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":82149,"nodeType":"IfStatement","src":"12990:178:133","trueBody":{"id":82148,"nodeType":"Block","src":"13028:140:133","statements":[{"expression":{"id":82141,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":82132,"name":"memberStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82111,"src":"13046:16:133","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[] storage pointer"}},"id":82134,"indexExpression":{"id":82133,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82117,"src":"13063:1:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"13046:19:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"baseExpression":{"id":82135,"name":"memberStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82111,"src":"13068:16:133","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[] storage pointer"}},"id":82140,"indexExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":82139,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":82136,"name":"memberStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82111,"src":"13085:16:133","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[] storage pointer"}},"id":82137,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13102:6:133","memberName":"length","nodeType":"MemberAccess","src":"13085:23:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":82138,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13111:1:133","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"13085:27:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"13068:45:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"13046:67:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":82142,"nodeType":"ExpressionStatement","src":"13046:67:133"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":82143,"name":"memberStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82111,"src":"13131:16:133","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[] storage pointer"}},"id":82145,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13148:3:133","memberName":"pop","nodeType":"MemberAccess","src":"13131:20:133","typeDescriptions":{"typeIdentifier":"t_function_arraypop_nonpayable$_t_array$_t_address_$dyn_storage_ptr_$returns$__$attached_to$_t_array$_t_address_$dyn_storage_ptr_$","typeString":"function (address[] storage pointer)"}},"id":82146,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13131:22:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":82147,"nodeType":"ExpressionStatement","src":"13131:22:133"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":82123,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":82120,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82117,"src":"12942:1:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":82121,"name":"memberStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82111,"src":"12946:16:133","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[] storage pointer"}},"id":82122,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12963:6:133","memberName":"length","nodeType":"MemberAccess","src":"12946:23:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"12942:27:133","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":82151,"initializationExpression":{"assignments":[82117],"declarations":[{"constant":false,"id":82117,"mutability":"mutable","name":"i","nameLocation":"12935:1:133","nodeType":"VariableDeclaration","scope":82151,"src":"12927:9:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":82116,"name":"uint256","nodeType":"ElementaryTypeName","src":"12927:7:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":82119,"initialValue":{"hexValue":"30","id":82118,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12939:1:133","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"12927:13:133"},"loopExpression":{"expression":{"id":82125,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"12971:3:133","subExpression":{"id":82124,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82117,"src":"12971:1:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":82126,"nodeType":"ExpressionStatement","src":"12971:3:133"},"nodeType":"ForStatement","src":"12922:256:133"}]},"implemented":true,"kind":"function","modifiers":[],"name":"removeStrategyFromMember","nameLocation":"12768:24:133","parameters":{"id":82105,"nodeType":"ParameterList","parameters":[{"constant":false,"id":82102,"mutability":"mutable","name":"_member","nameLocation":"12801:7:133","nodeType":"VariableDeclaration","scope":82153,"src":"12793:15:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":82101,"name":"address","nodeType":"ElementaryTypeName","src":"12793:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":82104,"mutability":"mutable","name":"_strategy","nameLocation":"12818:9:133","nodeType":"VariableDeclaration","scope":82153,"src":"12810:17:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":82103,"name":"address","nodeType":"ElementaryTypeName","src":"12810:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"12792:36:133"},"returnParameters":{"id":82106,"nodeType":"ParameterList","parameters":[],"src":"12838:0:133"},"scope":83082,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":82257,"nodeType":"FunctionDefinition","src":"13190:998:133","nodes":[],"body":{"id":82256,"nodeType":"Block","src":"13256:932:133","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":82160,"name":"onlyRegistryMemberSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81371,"src":"13266:24:133","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":82161,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13266:26:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":82162,"nodeType":"ExpressionStatement","src":"13266:26:133"},{"assignments":[82164],"declarations":[{"constant":false,"id":82164,"mutability":"mutable","name":"member","nameLocation":"13310:6:133","nodeType":"VariableDeclaration","scope":82256,"src":"13302:14:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":82163,"name":"address","nodeType":"ElementaryTypeName","src":"13302:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":82167,"initialValue":{"expression":{"id":82165,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"13319:3:133","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":82166,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13323:6:133","memberName":"sender","nodeType":"MemberAccess","src":"13319:10:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"13302:27:133"},{"assignments":[82172],"declarations":[{"constant":false,"id":82172,"mutability":"mutable","name":"memberStrategies","nameLocation":"13356:16:133","nodeType":"VariableDeclaration","scope":82256,"src":"13339:33:133","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":82170,"name":"address","nodeType":"ElementaryTypeName","src":"13339:7:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":82171,"nodeType":"ArrayTypeName","src":"13339:9:133","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"id":82176,"initialValue":{"baseExpression":{"id":82173,"name":"strategiesByMember","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81569,"src":"13375:18:133","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_address_$dyn_storage_$","typeString":"mapping(address => address[] storage ref)"}},"id":82175,"indexExpression":{"id":82174,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82164,"src":"13394:6:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"13375:26:133","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[] storage ref"}},"nodeType":"VariableDeclarationStatement","src":"13339:62:133"},{"assignments":[82178],"declarations":[{"constant":false,"id":82178,"mutability":"mutable","name":"pointsToIncrease","nameLocation":"13420:16:133","nodeType":"VariableDeclaration","scope":82256,"src":"13412:24:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":82177,"name":"uint256","nodeType":"ElementaryTypeName","src":"13412:7:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":82179,"nodeType":"VariableDeclarationStatement","src":"13412:24:133"},{"body":{"id":82231,"nodeType":"Block","src":"13501:479:133","statements":[{"expression":{"id":82201,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":82191,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82178,"src":"13620:16:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":82198,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82164,"src":"13689:6:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":82199,"name":"_amountStaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82155,"src":"13697:13:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"arguments":[{"baseExpression":{"id":82193,"name":"memberStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82172,"src":"13654:16:133","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":82195,"indexExpression":{"id":82194,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82181,"src":"13671:1:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"13654:19:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":82192,"name":"IPointStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74722,"src":"13639:14:133","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IPointStrategy_$74722_$","typeString":"type(contract IPointStrategy)"}},"id":82196,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13639:35:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IPointStrategy_$74722","typeString":"contract IPointStrategy"}},"id":82197,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13675:13:133","memberName":"increasePower","nodeType":"MemberAccess","referencedDeclaration":74706,"src":"13639:49:133","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256) external returns (uint256)"}},"id":82200,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13639:72:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"13620:91:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":82202,"nodeType":"ExpressionStatement","src":"13620:91:133"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":82205,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":82203,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82178,"src":"13729:16:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":82204,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13749:1:133","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"13729:21:133","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":82230,"nodeType":"IfStatement","src":"13725:229:133","trueBody":{"id":82229,"nodeType":"Block","src":"13752:202:133","statements":[{"expression":{"id":82214,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"id":82206,"name":"memberPowerInStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81559,"src":"13770:21:133","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"}},"id":82211,"indexExpression":{"id":82207,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82164,"src":"13792:6:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"13770:29:133","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":82212,"indexExpression":{"baseExpression":{"id":82208,"name":"memberStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82172,"src":"13800:16:133","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":82210,"indexExpression":{"id":82209,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82181,"src":"13817:1:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"13800:19:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"13770:50:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"id":82213,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82178,"src":"13824:16:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"13770:70:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":82215,"nodeType":"ExpressionStatement","src":"13770:70:133"},{"expression":{"arguments":[{"hexValue":"537472617465677920706f776572","id":82219,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13870:16:133","typeDescriptions":{"typeIdentifier":"t_stringliteral_703ee8b122626afba084dc6507d90f45e4b99d124abdcce4d7ee9c70af76c3ee","typeString":"literal_string \"Strategy power\""},"value":"Strategy power"},{"baseExpression":{"baseExpression":{"id":82220,"name":"memberPowerInStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81559,"src":"13888:21:133","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"}},"id":82222,"indexExpression":{"id":82221,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82164,"src":"13910:6:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"13888:29:133","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":82226,"indexExpression":{"baseExpression":{"id":82223,"name":"memberStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82172,"src":"13918:16:133","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":82225,"indexExpression":{"id":82224,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82181,"src":"13935:1:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"13918:19:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"13888:50:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_703ee8b122626afba084dc6507d90f45e4b99d124abdcce4d7ee9c70af76c3ee","typeString":"literal_string \"Strategy power\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":82216,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29549,"src":"13858:7:133","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$29549_$","typeString":"type(library console)"}},"id":82218,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13866:3:133","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":22193,"src":"13858:11:133","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":82227,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13858:81:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":82228,"nodeType":"ExpressionStatement","src":"13858:81:133"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":82187,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":82184,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82181,"src":"13467:1:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":82185,"name":"memberStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82172,"src":"13471:16:133","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":82186,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13488:6:133","memberName":"length","nodeType":"MemberAccess","src":"13471:23:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"13467:27:133","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":82232,"initializationExpression":{"assignments":[82181],"declarations":[{"constant":false,"id":82181,"mutability":"mutable","name":"i","nameLocation":"13460:1:133","nodeType":"VariableDeclaration","scope":82232,"src":"13452:9:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":82180,"name":"uint256","nodeType":"ElementaryTypeName","src":"13452:7:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":82183,"initialValue":{"hexValue":"30","id":82182,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13464:1:133","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"13452:13:133"},"loopExpression":{"expression":{"id":82189,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"13496:3:133","subExpression":{"id":82188,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82181,"src":"13496:1:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":82190,"nodeType":"ExpressionStatement","src":"13496:3:133"},"nodeType":"ForStatement","src":"13447:533:133"},{"expression":{"arguments":[{"id":82236,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82164,"src":"14019:6:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":82239,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"14035:4:133","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunity_$83082","typeString":"contract RegistryCommunity"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryCommunity_$83082","typeString":"contract RegistryCommunity"}],"id":82238,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"14027:7:133","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":82237,"name":"address","nodeType":"ElementaryTypeName","src":"14027:7:133","typeDescriptions":{}}},"id":82240,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14027:13:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":82241,"name":"_amountStaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82155,"src":"14042:13:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":82233,"name":"gardenToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81539,"src":"13990:11:133","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$57069","typeString":"contract IERC20"}},"id":82235,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14002:16:133","memberName":"safeTransferFrom","nodeType":"MemberAccess","referencedDeclaration":57190,"src":"13990:28:133","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IERC20_$57069_$_t_address_$_t_address_$_t_uint256_$returns$__$attached_to$_t_contract$_IERC20_$57069_$","typeString":"function (contract IERC20,address,address,uint256)"}},"id":82242,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13990:66:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":82243,"nodeType":"ExpressionStatement","src":"13990:66:133"},{"expression":{"id":82249,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"baseExpression":{"id":82244,"name":"addressToMemberInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81564,"src":"14066:19:133","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Member_$81482_storage_$","typeString":"mapping(address => struct RegistryCommunity.Member storage ref)"}},"id":82246,"indexExpression":{"id":82245,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82164,"src":"14086:6:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"14066:27:133","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$81482_storage","typeString":"struct RegistryCommunity.Member storage ref"}},"id":82247,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"14094:12:133","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":81479,"src":"14066:40:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"id":82248,"name":"_amountStaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82155,"src":"14110:13:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"14066:57:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":82250,"nodeType":"ExpressionStatement","src":"14066:57:133"},{"eventCall":{"arguments":[{"id":82252,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82164,"src":"14159:6:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":82253,"name":"_amountStaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82155,"src":"14167:13:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":82251,"name":"MemberPowerIncreased","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81323,"src":"14138:20:133","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":82254,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14138:43:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":82255,"nodeType":"EmitStatement","src":"14133:48:133"}]},"functionSelector":"559de05d","implemented":true,"kind":"function","modifiers":[{"id":82158,"kind":"modifierInvocation","modifierName":{"id":82157,"name":"nonReentrant","nameLocations":["13243:12:133"],"nodeType":"IdentifierPath","referencedDeclaration":56243,"src":"13243:12:133"},"nodeType":"ModifierInvocation","src":"13243:12:133"}],"name":"increasePower","nameLocation":"13199:13:133","parameters":{"id":82156,"nodeType":"ParameterList","parameters":[{"constant":false,"id":82155,"mutability":"mutable","name":"_amountStaked","nameLocation":"13221:13:133","nodeType":"VariableDeclaration","scope":82257,"src":"13213:21:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":82154,"name":"uint256","nodeType":"ElementaryTypeName","src":"13213:7:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13212:23:133"},"returnParameters":{"id":82159,"nodeType":"ParameterList","parameters":[],"src":"13256:0:133"},"scope":83082,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":82407,"nodeType":"FunctionDefinition","src":"14328:1554:133","nodes":[],"body":{"id":82406,"nodeType":"Block","src":"14396:1486:133","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":82264,"name":"onlyRegistryMemberSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81371,"src":"14406:24:133","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":82265,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14406:26:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":82266,"nodeType":"ExpressionStatement","src":"14406:26:133"},{"assignments":[82268],"declarations":[{"constant":false,"id":82268,"mutability":"mutable","name":"member","nameLocation":"14450:6:133","nodeType":"VariableDeclaration","scope":82406,"src":"14442:14:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":82267,"name":"address","nodeType":"ElementaryTypeName","src":"14442:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":82271,"initialValue":{"expression":{"id":82269,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"14459:3:133","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":82270,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14463:6:133","memberName":"sender","nodeType":"MemberAccess","src":"14459:10:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"14442:27:133"},{"assignments":[82276],"declarations":[{"constant":false,"id":82276,"mutability":"mutable","name":"memberStrategies","nameLocation":"14497:16:133","nodeType":"VariableDeclaration","scope":82406,"src":"14479:34:133","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":82274,"name":"address","nodeType":"ElementaryTypeName","src":"14479:7:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":82275,"nodeType":"ArrayTypeName","src":"14479:9:133","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"id":82280,"initialValue":{"baseExpression":{"id":82277,"name":"strategiesByMember","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81569,"src":"14516:18:133","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_address_$dyn_storage_$","typeString":"mapping(address => address[] storage ref)"}},"id":82279,"indexExpression":{"id":82278,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82268,"src":"14535:6:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"14516:26:133","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[] storage ref"}},"nodeType":"VariableDeclarationStatement","src":"14479:63:133"},{"assignments":[82282],"declarations":[{"constant":false,"id":82282,"mutability":"mutable","name":"pointsToDecrease","nameLocation":"14561:16:133","nodeType":"VariableDeclaration","scope":82406,"src":"14553:24:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":82281,"name":"uint256","nodeType":"ElementaryTypeName","src":"14553:7:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":82283,"nodeType":"VariableDeclarationStatement","src":"14553:24:133"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":82291,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":82289,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":82284,"name":"addressToMemberInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81564,"src":"14592:19:133","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Member_$81482_storage_$","typeString":"mapping(address => struct RegistryCommunity.Member storage ref)"}},"id":82286,"indexExpression":{"id":82285,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82268,"src":"14612:6:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"14592:27:133","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$81482_storage","typeString":"struct RegistryCommunity.Member storage ref"}},"id":82287,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14620:12:133","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":81479,"src":"14592:40:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":82288,"name":"_amountUnstaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82259,"src":"14635:15:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"14592:58:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":82290,"name":"registerStakeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81519,"src":"14653:19:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"14592:80:133","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":82296,"nodeType":"IfStatement","src":"14588:140:133","trueBody":{"id":82295,"nodeType":"Block","src":"14674:54:133","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":82292,"name":"DecreaseUnderMinimum","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81469,"src":"14695:20:133","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":82293,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14695:22:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":82294,"nodeType":"RevertStatement","src":"14688:29:133"}]}},{"expression":{"arguments":[{"id":82300,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82268,"src":"14762:6:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":82301,"name":"_amountUnstaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82259,"src":"14770:15:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":82297,"name":"gardenToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81539,"src":"14737:11:133","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$57069","typeString":"contract IERC20"}},"id":82299,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14749:12:133","memberName":"safeTransfer","nodeType":"MemberAccess","referencedDeclaration":57163,"src":"14737:24:133","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IERC20_$57069_$_t_address_$_t_uint256_$returns$__$attached_to$_t_contract$_IERC20_$57069_$","typeString":"function (contract IERC20,address,uint256)"}},"id":82302,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14737:49:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":82303,"nodeType":"ExpressionStatement","src":"14737:49:133"},{"body":{"id":82392,"nodeType":"Block","src":"14850:897:133","statements":[{"assignments":[82316],"declarations":[{"constant":false,"id":82316,"mutability":"mutable","name":"strategy","nameLocation":"14872:8:133","nodeType":"VariableDeclaration","scope":82392,"src":"14864:16:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":82315,"name":"address","nodeType":"ElementaryTypeName","src":"14864:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":82320,"initialValue":{"baseExpression":{"id":82317,"name":"memberStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82276,"src":"14883:16:133","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[] storage pointer"}},"id":82319,"indexExpression":{"id":82318,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82305,"src":"14900:1:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"14883:19:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"14864:38:133"},{"condition":{"arguments":[{"expression":{"arguments":[{"id":82324,"name":"IPointStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74722,"src":"14952:14:133","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IPointStrategy_$74722_$","typeString":"type(contract IPointStrategy)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_contract$_IPointStrategy_$74722_$","typeString":"type(contract IPointStrategy)"}],"id":82323,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"14947:4:133","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":82325,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14947:20:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_contract$_IPointStrategy_$74722","typeString":"type(contract IPointStrategy)"}},"id":82326,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"14968:11:133","memberName":"interfaceId","nodeType":"MemberAccess","src":"14947:32:133","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":82321,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82316,"src":"14920:8:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":82322,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14929:17:133","memberName":"supportsInterface","nodeType":"MemberAccess","referencedDeclaration":58316,"src":"14920:26:133","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_bytes4_$returns$_t_bool_$attached_to$_t_address_$","typeString":"function (address,bytes4) view returns (bool)"}},"id":82327,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14920:60:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":82390,"nodeType":"Block","src":"15470:250:133","statements":[{"expression":{"id":82379,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":82370,"name":"memberStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82276,"src":"15555:16:133","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[] storage pointer"}},"id":82372,"indexExpression":{"id":82371,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82305,"src":"15572:1:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"15555:19:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"baseExpression":{"id":82373,"name":"memberStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82276,"src":"15577:16:133","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[] storage pointer"}},"id":82378,"indexExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":82377,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":82374,"name":"memberStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82276,"src":"15594:16:133","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[] storage pointer"}},"id":82375,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15611:6:133","memberName":"length","nodeType":"MemberAccess","src":"15594:23:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":82376,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15620:1:133","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"15594:27:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15577:45:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"15555:67:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":82380,"nodeType":"ExpressionStatement","src":"15555:67:133"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":82381,"name":"memberStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82276,"src":"15640:16:133","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[] storage pointer"}},"id":82383,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15657:3:133","memberName":"pop","nodeType":"MemberAccess","src":"15640:20:133","typeDescriptions":{"typeIdentifier":"t_function_arraypop_nonpayable$_t_array$_t_address_$dyn_storage_ptr_$returns$__$attached_to$_t_array$_t_address_$dyn_storage_ptr_$","typeString":"function (address[] storage pointer)"}},"id":82384,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15640:22:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":82385,"nodeType":"ExpressionStatement","src":"15640:22:133"},{"expression":{"arguments":[{"id":82387,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82316,"src":"15696:8:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":82386,"name":"_removeStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82574,"src":"15680:15:133","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":82388,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15680:25:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":82389,"nodeType":"ExpressionStatement","src":"15680:25:133"}]},"id":82391,"nodeType":"IfStatement","src":"14916:804:133","trueBody":{"id":82369,"nodeType":"Block","src":"14982:482:133","statements":[{"expression":{"id":82336,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":82328,"name":"pointsToDecrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82282,"src":"15000:16:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":82333,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82268,"src":"15058:6:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":82334,"name":"_amountUnstaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82259,"src":"15066:15:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"arguments":[{"id":82330,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82316,"src":"15034:8:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":82329,"name":"IPointStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74722,"src":"15019:14:133","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IPointStrategy_$74722_$","typeString":"type(contract IPointStrategy)"}},"id":82331,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15019:24:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IPointStrategy_$74722","typeString":"contract IPointStrategy"}},"id":82332,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15044:13:133","memberName":"decreasePower","nodeType":"MemberAccess","referencedDeclaration":74715,"src":"15019:38:133","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256) external returns (uint256)"}},"id":82335,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15019:63:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"15000:82:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":82337,"nodeType":"ExpressionStatement","src":"15000:82:133"},{"assignments":[82339],"declarations":[{"constant":false,"id":82339,"mutability":"mutable","name":"currentPower","nameLocation":"15108:12:133","nodeType":"VariableDeclaration","scope":82369,"src":"15100:20:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":82338,"name":"uint256","nodeType":"ElementaryTypeName","src":"15100:7:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":82347,"initialValue":{"baseExpression":{"baseExpression":{"id":82340,"name":"memberPowerInStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81559,"src":"15123:21:133","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"}},"id":82342,"indexExpression":{"id":82341,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82268,"src":"15145:6:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15123:29:133","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":82346,"indexExpression":{"baseExpression":{"id":82343,"name":"memberStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82276,"src":"15153:16:133","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[] storage pointer"}},"id":82345,"indexExpression":{"id":82344,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82305,"src":"15170:1:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15153:19:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15123:50:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"15100:73:133"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":82350,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":82348,"name":"pointsToDecrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82282,"src":"15195:16:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":82349,"name":"currentPower","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82339,"src":"15214:12:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"15195:31:133","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":82367,"nodeType":"Block","src":"15339:111:133","statements":[{"expression":{"id":82365,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"id":82357,"name":"memberPowerInStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81559,"src":"15361:21:133","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"}},"id":82362,"indexExpression":{"id":82358,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82268,"src":"15383:6:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15361:29:133","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":82363,"indexExpression":{"baseExpression":{"id":82359,"name":"memberStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82276,"src":"15391:16:133","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[] storage pointer"}},"id":82361,"indexExpression":{"id":82360,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82305,"src":"15408:1:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15391:19:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"15361:50:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"id":82364,"name":"pointsToDecrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82282,"src":"15415:16:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"15361:70:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":82366,"nodeType":"ExpressionStatement","src":"15361:70:133"}]},"id":82368,"nodeType":"IfStatement","src":"15191:259:133","trueBody":{"id":82356,"nodeType":"Block","src":"15228:105:133","statements":[{"errorCall":{"arguments":[{"id":82352,"name":"pointsToDecrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82282,"src":"15283:16:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":82353,"name":"currentPower","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82339,"src":"15301:12:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":82351,"name":"CantDecreaseMoreThanPower","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81475,"src":"15257:25:133","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":82354,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15257:57:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":82355,"nodeType":"RevertStatement","src":"15250:64:133"}]}}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":82311,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":82308,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82305,"src":"14816:1:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":82309,"name":"memberStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82276,"src":"14820:16:133","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[] storage pointer"}},"id":82310,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14837:6:133","memberName":"length","nodeType":"MemberAccess","src":"14820:23:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"14816:27:133","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":82393,"initializationExpression":{"assignments":[82305],"declarations":[{"constant":false,"id":82305,"mutability":"mutable","name":"i","nameLocation":"14809:1:133","nodeType":"VariableDeclaration","scope":82393,"src":"14801:9:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":82304,"name":"uint256","nodeType":"ElementaryTypeName","src":"14801:7:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":82307,"initialValue":{"hexValue":"30","id":82306,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14813:1:133","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"14801:13:133"},"loopExpression":{"expression":{"id":82313,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"14845:3:133","subExpression":{"id":82312,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82305,"src":"14845:1:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":82314,"nodeType":"ExpressionStatement","src":"14845:3:133"},"nodeType":"ForStatement","src":"14796:951:133"},{"expression":{"id":82399,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"baseExpression":{"id":82394,"name":"addressToMemberInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81564,"src":"15756:19:133","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Member_$81482_storage_$","typeString":"mapping(address => struct RegistryCommunity.Member storage ref)"}},"id":82396,"indexExpression":{"id":82395,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82268,"src":"15776:6:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15756:27:133","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$81482_storage","typeString":"struct RegistryCommunity.Member storage ref"}},"id":82397,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"15784:12:133","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":81479,"src":"15756:40:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"id":82398,"name":"_amountUnstaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82259,"src":"15800:15:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"15756:59:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":82400,"nodeType":"ExpressionStatement","src":"15756:59:133"},{"eventCall":{"arguments":[{"id":82402,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82268,"src":"15851:6:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":82403,"name":"_amountUnstaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82259,"src":"15859:15:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":82401,"name":"MemberPowerDecreased","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81329,"src":"15830:20:133","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":82404,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15830:45:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":82405,"nodeType":"EmitStatement","src":"15825:50:133"}]},"functionSelector":"5ecf71c5","implemented":true,"kind":"function","modifiers":[{"id":82262,"kind":"modifierInvocation","modifierName":{"id":82261,"name":"nonReentrant","nameLocations":["14383:12:133"],"nodeType":"IdentifierPath","referencedDeclaration":56243,"src":"14383:12:133"},"nodeType":"ModifierInvocation","src":"14383:12:133"}],"name":"decreasePower","nameLocation":"14337:13:133","parameters":{"id":82260,"nodeType":"ParameterList","parameters":[{"constant":false,"id":82259,"mutability":"mutable","name":"_amountUnstaked","nameLocation":"14359:15:133","nodeType":"VariableDeclaration","scope":82407,"src":"14351:23:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":82258,"name":"uint256","nodeType":"ElementaryTypeName","src":"14351:7:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"14350:25:133"},"returnParameters":{"id":82263,"nodeType":"ParameterList","parameters":[],"src":"14396:0:133"},"scope":83082,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":82423,"nodeType":"FunctionDefinition","src":"15888:165:133","nodes":[],"body":{"id":82422,"nodeType":"Block","src":"15988:65:133","nodes":[],"statements":[{"expression":{"baseExpression":{"baseExpression":{"id":82416,"name":"memberPowerInStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81559,"src":"16005:21:133","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"}},"id":82418,"indexExpression":{"id":82417,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82409,"src":"16027:7:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"16005:30:133","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":82420,"indexExpression":{"id":82419,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82411,"src":"16036:9:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"16005:41:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":82415,"id":82421,"nodeType":"Return","src":"15998:48:133"}]},"functionSelector":"7817ee4f","implemented":true,"kind":"function","modifiers":[],"name":"getMemberPowerInStrategy","nameLocation":"15897:24:133","parameters":{"id":82412,"nodeType":"ParameterList","parameters":[{"constant":false,"id":82409,"mutability":"mutable","name":"_member","nameLocation":"15930:7:133","nodeType":"VariableDeclaration","scope":82423,"src":"15922:15:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":82408,"name":"address","nodeType":"ElementaryTypeName","src":"15922:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":82411,"mutability":"mutable","name":"_strategy","nameLocation":"15947:9:133","nodeType":"VariableDeclaration","scope":82423,"src":"15939:17:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":82410,"name":"address","nodeType":"ElementaryTypeName","src":"15939:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"15921:36:133"},"returnParameters":{"id":82415,"nodeType":"ParameterList","parameters":[{"constant":false,"id":82414,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":82423,"src":"15979:7:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":82413,"name":"uint256","nodeType":"ElementaryTypeName","src":"15979:7:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15978:9:133"},"scope":83082,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":82436,"nodeType":"FunctionDefinition","src":"16059:143:133","nodes":[],"body":{"id":82435,"nodeType":"Block","src":"16137:65:133","nodes":[],"statements":[{"expression":{"expression":{"baseExpression":{"id":82430,"name":"addressToMemberInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81564,"src":"16154:19:133","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Member_$81482_storage_$","typeString":"mapping(address => struct RegistryCommunity.Member storage ref)"}},"id":82432,"indexExpression":{"id":82431,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82425,"src":"16174:7:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"16154:28:133","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$81482_storage","typeString":"struct RegistryCommunity.Member storage ref"}},"id":82433,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"16183:12:133","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":81479,"src":"16154:41:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":82429,"id":82434,"nodeType":"Return","src":"16147:48:133"}]},"functionSelector":"2c611c4a","implemented":true,"kind":"function","modifiers":[],"name":"getMemberStakedAmount","nameLocation":"16068:21:133","parameters":{"id":82426,"nodeType":"ParameterList","parameters":[{"constant":false,"id":82425,"mutability":"mutable","name":"_member","nameLocation":"16098:7:133","nodeType":"VariableDeclaration","scope":82436,"src":"16090:15:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":82424,"name":"address","nodeType":"ElementaryTypeName","src":"16090:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"16089:17:133"},"returnParameters":{"id":82429,"nodeType":"ParameterList","parameters":[{"constant":false,"id":82428,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":82436,"src":"16128:7:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":82427,"name":"uint256","nodeType":"ElementaryTypeName","src":"16128:7:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"16127:9:133"},"scope":83082,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":82473,"nodeType":"FunctionDefinition","src":"16331:313:133","nodes":[],"body":{"id":82472,"nodeType":"Block","src":"16383:261:133","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":82441,"name":"onlyCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81357,"src":"16393:15:133","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":82442,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16393:17:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":82443,"nodeType":"ExpressionStatement","src":"16393:17:133"},{"assignments":[82445],"declarations":[{"constant":false,"id":82445,"mutability":"mutable","name":"strategy","nameLocation":"16428:8:133","nodeType":"VariableDeclaration","scope":82472,"src":"16420:16:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":82444,"name":"address","nodeType":"ElementaryTypeName","src":"16420:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":82454,"initialValue":{"arguments":[{"expression":{"arguments":[{"id":82450,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82438,"src":"16460:6:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":82448,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81545,"src":"16447:4:133","typeDescriptions":{"typeIdentifier":"t_contract$_FAllo_$81222","typeString":"contract FAllo"}},"id":82449,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16452:7:133","memberName":"getPool","nodeType":"MemberAccess","referencedDeclaration":81221,"src":"16447:12:133","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_struct$_Pool_$2319_memory_ptr_$","typeString":"function (uint256) view external returns (struct IAllo.Pool memory)"}},"id":82451,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16447:20:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"id":82452,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"16468:8:133","memberName":"strategy","nodeType":"MemberAccess","referencedDeclaration":2309,"src":"16447:29:133","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}],"id":82447,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16439:7:133","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":82446,"name":"address","nodeType":"ElementaryTypeName","src":"16439:7:133","typeDescriptions":{}}},"id":82453,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16439:38:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"16420:57:133"},{"expression":{"arguments":[{"id":82456,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82445,"src":"16506:8:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":82455,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82526,"src":"16487:18:133","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":82457,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16487:28:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":82458,"nodeType":"ExpressionStatement","src":"16487:28:133"},{"condition":{"arguments":[{"expression":{"arguments":[{"id":82462,"name":"IPointStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74722,"src":"16561:14:133","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IPointStrategy_$74722_$","typeString":"type(contract IPointStrategy)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_contract$_IPointStrategy_$74722_$","typeString":"type(contract IPointStrategy)"}],"id":82461,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"16556:4:133","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":82463,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16556:20:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_contract$_IPointStrategy_$74722","typeString":"type(contract IPointStrategy)"}},"id":82464,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"16577:11:133","memberName":"interfaceId","nodeType":"MemberAccess","src":"16556:32:133","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":82459,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82445,"src":"16529:8:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":82460,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16538:17:133","memberName":"supportsInterface","nodeType":"MemberAccess","referencedDeclaration":58316,"src":"16529:26:133","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_bytes4_$returns$_t_bool_$attached_to$_t_address_$","typeString":"function (address,bytes4) view returns (bool)"}},"id":82465,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16529:60:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":82471,"nodeType":"IfStatement","src":"16525:113:133","trueBody":{"id":82470,"nodeType":"Block","src":"16591:47:133","statements":[{"expression":{"arguments":[{"id":82467,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82445,"src":"16618:8:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":82466,"name":"_addStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82510,"src":"16605:12:133","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":82468,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16605:22:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":82469,"nodeType":"ExpressionStatement","src":"16605:22:133"}]}}]},"functionSelector":"82d6a1e7","implemented":true,"kind":"function","modifiers":[],"name":"addStrategyByPoolId","nameLocation":"16340:19:133","parameters":{"id":82439,"nodeType":"ParameterList","parameters":[{"constant":false,"id":82438,"mutability":"mutable","name":"poolId","nameLocation":"16368:6:133","nodeType":"VariableDeclaration","scope":82473,"src":"16360:14:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":82437,"name":"uint256","nodeType":"ElementaryTypeName","src":"16360:7:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"16359:16:133"},"returnParameters":{"id":82440,"nodeType":"ParameterList","parameters":[],"src":"16383:0:133"},"scope":83082,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":82486,"nodeType":"FunctionDefinition","src":"16650:120:133","nodes":[],"body":{"id":82485,"nodeType":"Block","src":"16700:70:133","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":82478,"name":"onlyCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81357,"src":"16710:15:133","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":82479,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16710:17:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":82480,"nodeType":"ExpressionStatement","src":"16710:17:133"},{"expression":{"arguments":[{"id":82482,"name":"_newStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82475,"src":"16750:12:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":82481,"name":"_addStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82510,"src":"16737:12:133","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":82483,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16737:26:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":82484,"nodeType":"ExpressionStatement","src":"16737:26:133"}]},"functionSelector":"223e5479","implemented":true,"kind":"function","modifiers":[],"name":"addStrategy","nameLocation":"16659:11:133","parameters":{"id":82476,"nodeType":"ParameterList","parameters":[{"constant":false,"id":82475,"mutability":"mutable","name":"_newStrategy","nameLocation":"16679:12:133","nodeType":"VariableDeclaration","scope":82486,"src":"16671:20:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":82474,"name":"address","nodeType":"ElementaryTypeName","src":"16671:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"16670:22:133"},"returnParameters":{"id":82477,"nodeType":"ParameterList","parameters":[],"src":"16700:0:133"},"scope":83082,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":82510,"nodeType":"FunctionDefinition","src":"16776:244:133","nodes":[],"body":{"id":82509,"nodeType":"Block","src":"16829:191:133","nodes":[],"statements":[{"condition":{"baseExpression":{"id":82491,"name":"enabledStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81553,"src":"16843:17:133","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":82493,"indexExpression":{"id":82492,"name":"_newStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82488,"src":"16861:12:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"16843:31:133","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":82498,"nodeType":"IfStatement","src":"16839:85:133","trueBody":{"id":82497,"nodeType":"Block","src":"16876:48:133","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":82494,"name":"StrategyExists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81453,"src":"16897:14:133","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":82495,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16897:16:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":82496,"nodeType":"RevertStatement","src":"16890:23:133"}]}},{"expression":{"id":82503,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":82499,"name":"enabledStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81553,"src":"16933:17:133","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":82501,"indexExpression":{"id":82500,"name":"_newStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82488,"src":"16951:12:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"16933:31:133","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":82502,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"16967:4:133","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"16933:38:133","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":82504,"nodeType":"ExpressionStatement","src":"16933:38:133"},{"eventCall":{"arguments":[{"id":82506,"name":"_newStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82488,"src":"17000:12:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":82505,"name":"StrategyAdded","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81295,"src":"16986:13:133","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":82507,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16986:27:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":82508,"nodeType":"EmitStatement","src":"16981:32:133"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_addStrategy","nameLocation":"16785:12:133","parameters":{"id":82489,"nodeType":"ParameterList","parameters":[{"constant":false,"id":82488,"mutability":"mutable","name":"_newStrategy","nameLocation":"16806:12:133","nodeType":"VariableDeclaration","scope":82510,"src":"16798:20:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":82487,"name":"address","nodeType":"ElementaryTypeName","src":"16798:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"16797:22:133"},"returnParameters":{"id":82490,"nodeType":"ParameterList","parameters":[],"src":"16829:0:133"},"scope":83082,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":82526,"nodeType":"FunctionDefinition","src":"17026:133:133","nodes":[],"body":{"id":82525,"nodeType":"Block","src":"17086:73:133","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":82520,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":82515,"name":"_address","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82512,"src":"17100:8:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":82518,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17120:1:133","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":82517,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"17112:7:133","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":82516,"name":"address","nodeType":"ElementaryTypeName","src":"17112:7:133","typeDescriptions":{}}},"id":82519,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17112:10:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"17100:22:133","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":82524,"nodeType":"IfStatement","src":"17096:56:133","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":82521,"name":"AddressCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81437,"src":"17131:19:133","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":82522,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17131:21:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":82523,"nodeType":"RevertStatement","src":"17124:28:133"}}]},"implemented":true,"kind":"function","modifiers":[],"name":"_revertZeroAddress","nameLocation":"17035:18:133","parameters":{"id":82513,"nodeType":"ParameterList","parameters":[{"constant":false,"id":82512,"mutability":"mutable","name":"_address","nameLocation":"17062:8:133","nodeType":"VariableDeclaration","scope":82526,"src":"17054:16:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":82511,"name":"address","nodeType":"ElementaryTypeName","src":"17054:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"17053:18:133"},"returnParameters":{"id":82514,"nodeType":"ParameterList","parameters":[],"src":"17086:0:133"},"scope":83082,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":82554,"nodeType":"FunctionDefinition","src":"17165:229:133","nodes":[],"body":{"id":82553,"nodeType":"Block","src":"17220:174:133","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":82531,"name":"onlyCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81357,"src":"17230:15:133","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":82532,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17230:17:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":82533,"nodeType":"ExpressionStatement","src":"17230:17:133"},{"assignments":[82535],"declarations":[{"constant":false,"id":82535,"mutability":"mutable","name":"strategy","nameLocation":"17265:8:133","nodeType":"VariableDeclaration","scope":82553,"src":"17257:16:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":82534,"name":"address","nodeType":"ElementaryTypeName","src":"17257:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":82544,"initialValue":{"arguments":[{"expression":{"arguments":[{"id":82540,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82528,"src":"17297:6:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":82538,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81545,"src":"17284:4:133","typeDescriptions":{"typeIdentifier":"t_contract$_FAllo_$81222","typeString":"contract FAllo"}},"id":82539,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17289:7:133","memberName":"getPool","nodeType":"MemberAccess","referencedDeclaration":81221,"src":"17284:12:133","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_struct$_Pool_$2319_memory_ptr_$","typeString":"function (uint256) view external returns (struct IAllo.Pool memory)"}},"id":82541,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17284:20:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"id":82542,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"17305:8:133","memberName":"strategy","nodeType":"MemberAccess","referencedDeclaration":2309,"src":"17284:29:133","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}],"id":82537,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"17276:7:133","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":82536,"name":"address","nodeType":"ElementaryTypeName","src":"17276:7:133","typeDescriptions":{}}},"id":82543,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17276:38:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"17257:57:133"},{"expression":{"arguments":[{"id":82546,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82535,"src":"17343:8:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":82545,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82526,"src":"17324:18:133","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":82547,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17324:28:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":82548,"nodeType":"ExpressionStatement","src":"17324:28:133"},{"expression":{"arguments":[{"id":82550,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82535,"src":"17378:8:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":82549,"name":"_removeStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82574,"src":"17362:15:133","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":82551,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17362:25:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":82552,"nodeType":"ExpressionStatement","src":"17362:25:133"}]},"functionSelector":"73265c37","implemented":true,"kind":"function","modifiers":[],"name":"removeStrategyByPoolId","nameLocation":"17174:22:133","parameters":{"id":82529,"nodeType":"ParameterList","parameters":[{"constant":false,"id":82528,"mutability":"mutable","name":"poolId","nameLocation":"17205:6:133","nodeType":"VariableDeclaration","scope":82554,"src":"17197:14:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":82527,"name":"uint256","nodeType":"ElementaryTypeName","src":"17197:7:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"17196:16:133"},"returnParameters":{"id":82530,"nodeType":"ParameterList","parameters":[],"src":"17220:0:133"},"scope":83082,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":82574,"nodeType":"FunctionDefinition","src":"17400:186:133","nodes":[],"body":{"id":82573,"nodeType":"Block","src":"17453:133:133","nodes":[],"statements":[{"expression":{"arguments":[{"id":82560,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82556,"src":"17482:9:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":82559,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82526,"src":"17463:18:133","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":82561,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17463:29:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":82562,"nodeType":"ExpressionStatement","src":"17463:29:133"},{"expression":{"id":82567,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":82563,"name":"enabledStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81553,"src":"17502:17:133","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":82565,"indexExpression":{"id":82564,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82556,"src":"17520:9:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"17502:28:133","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"66616c7365","id":82566,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"17533:5:133","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"src":"17502:36:133","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":82568,"nodeType":"ExpressionStatement","src":"17502:36:133"},{"eventCall":{"arguments":[{"id":82570,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82556,"src":"17569:9:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":82569,"name":"StrategyRemoved","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81299,"src":"17553:15:133","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":82571,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17553:26:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":82572,"nodeType":"EmitStatement","src":"17548:31:133"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_removeStrategy","nameLocation":"17409:15:133","parameters":{"id":82557,"nodeType":"ParameterList","parameters":[{"constant":false,"id":82556,"mutability":"mutable","name":"_strategy","nameLocation":"17433:9:133","nodeType":"VariableDeclaration","scope":82574,"src":"17425:17:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":82555,"name":"address","nodeType":"ElementaryTypeName","src":"17425:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"17424:19:133"},"returnParameters":{"id":82558,"nodeType":"ParameterList","parameters":[],"src":"17453:0:133"},"scope":83082,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":82587,"nodeType":"FunctionDefinition","src":"17592:120:133","nodes":[],"body":{"id":82586,"nodeType":"Block","src":"17642:70:133","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":82579,"name":"onlyCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81357,"src":"17652:15:133","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":82580,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17652:17:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":82581,"nodeType":"ExpressionStatement","src":"17652:17:133"},{"expression":{"arguments":[{"id":82583,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82576,"src":"17695:9:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":82582,"name":"_removeStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82574,"src":"17679:15:133","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":82584,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17679:26:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":82585,"nodeType":"ExpressionStatement","src":"17679:26:133"}]},"functionSelector":"175188e8","implemented":true,"kind":"function","modifiers":[],"name":"removeStrategy","nameLocation":"17601:14:133","parameters":{"id":82577,"nodeType":"ParameterList","parameters":[{"constant":false,"id":82576,"mutability":"mutable","name":"_strategy","nameLocation":"17624:9:133","nodeType":"VariableDeclaration","scope":82587,"src":"17616:17:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":82575,"name":"address","nodeType":"ElementaryTypeName","src":"17616:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"17615:19:133"},"returnParameters":{"id":82578,"nodeType":"ParameterList","parameters":[],"src":"17642:0:133"},"scope":83082,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":82612,"nodeType":"FunctionDefinition","src":"17718:240:133","nodes":[],"body":{"id":82611,"nodeType":"Block","src":"17772:186:133","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":82592,"name":"onlyCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81357,"src":"17782:15:133","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":82593,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17782:17:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":82594,"nodeType":"ExpressionStatement","src":"17782:17:133"},{"expression":{"arguments":[{"id":82596,"name":"_safe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82589,"src":"17828:5:133","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":82595,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82526,"src":"17809:18:133","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":82597,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17809:25:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":82598,"nodeType":"ExpressionStatement","src":"17809:25:133"},{"expression":{"id":82601,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":82599,"name":"pendingCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81533,"src":"17844:18:133","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":82600,"name":"_safe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82589,"src":"17865:5:133","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"src":"17844:26:133","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"id":82602,"nodeType":"ExpressionStatement","src":"17844:26:133"},{"eventCall":{"arguments":[{"arguments":[{"id":82606,"name":"councilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81542,"src":"17918:11:133","typeDescriptions":{"typeIdentifier":"t_contract$_ISafe_$85665","typeString":"contract ISafe"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ISafe_$85665","typeString":"contract ISafe"}],"id":82605,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"17910:7:133","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":82604,"name":"address","nodeType":"ElementaryTypeName","src":"17910:7:133","typeDescriptions":{}}},"id":82607,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17910:20:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":82608,"name":"pendingCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81533,"src":"17932:18:133","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":82603,"name":"CouncilSafeChangeStarted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81258,"src":"17885:24:133","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address)"}},"id":82609,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17885:66:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":82610,"nodeType":"EmitStatement","src":"17880:71:133"}]},"functionSelector":"397e2543","implemented":true,"kind":"function","modifiers":[],"name":"setCouncilSafe","nameLocation":"17727:14:133","parameters":{"id":82590,"nodeType":"ParameterList","parameters":[{"constant":false,"id":82589,"mutability":"mutable","name":"_safe","nameLocation":"17758:5:133","nodeType":"VariableDeclaration","scope":82612,"src":"17742:21:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"},"typeName":{"id":82588,"name":"address","nodeType":"ElementaryTypeName","src":"17742:15:133","stateMutability":"payable","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"visibility":"internal"}],"src":"17741:23:133"},"returnParameters":{"id":82591,"nodeType":"ParameterList","parameters":[],"src":"17772:0:133"},"scope":83082,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":82629,"nodeType":"FunctionDefinition","src":"17964:179:133","nodes":[],"body":{"id":82628,"nodeType":"Block","src":"18003:140:133","nodes":[],"statements":[{"expression":{"id":82619,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":82615,"name":"councilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81542,"src":"18013:11:133","typeDescriptions":{"typeIdentifier":"t_contract$_ISafe_$85665","typeString":"contract ISafe"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":82617,"name":"pendingCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81533,"src":"18033:18:133","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":82616,"name":"ISafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85665,"src":"18027:5:133","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ISafe_$85665_$","typeString":"type(contract ISafe)"}},"id":82618,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18027:25:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ISafe_$85665","typeString":"contract ISafe"}},"src":"18013:39:133","typeDescriptions":{"typeIdentifier":"t_contract$_ISafe_$85665","typeString":"contract ISafe"}},"id":82620,"nodeType":"ExpressionStatement","src":"18013:39:133"},{"expression":{"id":82622,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"18062:25:133","subExpression":{"id":82621,"name":"pendingCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81533,"src":"18069:18:133","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":82623,"nodeType":"ExpressionStatement","src":"18062:25:133"},{"eventCall":{"arguments":[{"id":82625,"name":"pendingCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81533,"src":"18117:18:133","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":82624,"name":"CouncilSafeSet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81252,"src":"18102:14:133","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":82626,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18102:34:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":82627,"nodeType":"EmitStatement","src":"18097:39:133"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_changeCouncilSafe","nameLocation":"17973:18:133","parameters":{"id":82613,"nodeType":"ParameterList","parameters":[],"src":"17991:2:133"},"returnParameters":{"id":82614,"nodeType":"ParameterList","parameters":[],"src":"18003:0:133"},"scope":83082,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":82645,"nodeType":"FunctionDefinition","src":"18149:171:133","nodes":[],"body":{"id":82644,"nodeType":"Block","src":"18185:135:133","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":82635,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":82632,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"18199:3:133","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":82633,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18203:6:133","memberName":"sender","nodeType":"MemberAccess","src":"18199:10:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":82634,"name":"pendingCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81533,"src":"18213:18:133","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"src":"18199:32:133","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":82640,"nodeType":"IfStatement","src":"18195:89:133","trueBody":{"id":82639,"nodeType":"Block","src":"18233:51:133","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":82636,"name":"SenderNotNewOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81457,"src":"18254:17:133","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":82637,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18254:19:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":82638,"nodeType":"RevertStatement","src":"18247:26:133"}]}},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":82641,"name":"_changeCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82629,"src":"18293:18:133","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":82642,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18293:20:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":82643,"nodeType":"ExpressionStatement","src":"18293:20:133"}]},"functionSelector":"b5058c50","implemented":true,"kind":"function","modifiers":[],"name":"acceptCouncilSafe","nameLocation":"18158:17:133","parameters":{"id":82630,"nodeType":"ParameterList","parameters":[],"src":"18175:2:133"},"returnParameters":{"id":82631,"nodeType":"ParameterList","parameters":[],"src":"18185:0:133"},"scope":83082,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":82663,"nodeType":"FunctionDefinition","src":"18326:182:133","nodes":[],"body":{"id":82662,"nodeType":"Block","src":"18398:110:133","nodes":[],"statements":[{"assignments":[82654],"declarations":[{"constant":false,"id":82654,"mutability":"mutable","name":"newMember","nameLocation":"18422:9:133","nodeType":"VariableDeclaration","scope":82662,"src":"18408:23:133","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$81482_memory_ptr","typeString":"struct RegistryCommunity.Member"},"typeName":{"id":82653,"nodeType":"UserDefinedTypeName","pathNode":{"id":82652,"name":"Member","nameLocations":["18408:6:133"],"nodeType":"IdentifierPath","referencedDeclaration":81482,"src":"18408:6:133"},"referencedDeclaration":81482,"src":"18408:6:133","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$81482_storage_ptr","typeString":"struct RegistryCommunity.Member"}},"visibility":"internal"}],"id":82658,"initialValue":{"baseExpression":{"id":82655,"name":"addressToMemberInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81564,"src":"18434:19:133","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Member_$81482_storage_$","typeString":"mapping(address => struct RegistryCommunity.Member storage ref)"}},"id":82657,"indexExpression":{"id":82656,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82647,"src":"18454:7:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"18434:28:133","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$81482_storage","typeString":"struct RegistryCommunity.Member storage ref"}},"nodeType":"VariableDeclarationStatement","src":"18408:54:133"},{"expression":{"expression":{"id":82659,"name":"newMember","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82654,"src":"18479:9:133","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$81482_memory_ptr","typeString":"struct RegistryCommunity.Member memory"}},"id":82660,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"18489:12:133","memberName":"isRegistered","nodeType":"MemberAccess","referencedDeclaration":81481,"src":"18479:22:133","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":82651,"id":82661,"nodeType":"Return","src":"18472:29:133"}]},"functionSelector":"a230c524","implemented":true,"kind":"function","modifiers":[],"name":"isMember","nameLocation":"18335:8:133","parameters":{"id":82648,"nodeType":"ParameterList","parameters":[{"constant":false,"id":82647,"mutability":"mutable","name":"_member","nameLocation":"18352:7:133","nodeType":"VariableDeclaration","scope":82663,"src":"18344:15:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":82646,"name":"address","nodeType":"ElementaryTypeName","src":"18344:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"18343:17:133"},"returnParameters":{"id":82651,"nodeType":"ParameterList","parameters":[{"constant":false,"id":82650,"mutability":"mutable","name":"_isMember","nameLocation":"18387:9:133","nodeType":"VariableDeclaration","scope":82663,"src":"18382:14:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":82649,"name":"bool","nodeType":"ElementaryTypeName","src":"18382:4:133","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"18381:16:133"},"scope":83082,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":82822,"nodeType":"FunctionDefinition","src":"18514:1907:133","nodes":[],"body":{"id":82821,"nodeType":"Block","src":"18568:1853:133","nodes":[],"statements":[{"assignments":[82669],"declarations":[{"constant":false,"id":82669,"mutability":"mutable","name":"_member","nameLocation":"18586:7:133","nodeType":"VariableDeclaration","scope":82821,"src":"18578:15:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":82668,"name":"address","nodeType":"ElementaryTypeName","src":"18578:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":82672,"initialValue":{"expression":{"id":82670,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"18596:3:133","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":82671,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18600:6:133","memberName":"sender","nodeType":"MemberAccess","src":"18596:10:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"18578:28:133"},{"assignments":[82675],"declarations":[{"constant":false,"id":82675,"mutability":"mutable","name":"newMember","nameLocation":"18631:9:133","nodeType":"VariableDeclaration","scope":82821,"src":"18616:24:133","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$81482_storage_ptr","typeString":"struct RegistryCommunity.Member"},"typeName":{"id":82674,"nodeType":"UserDefinedTypeName","pathNode":{"id":82673,"name":"Member","nameLocations":["18616:6:133"],"nodeType":"IdentifierPath","referencedDeclaration":81482,"src":"18616:6:133"},"referencedDeclaration":81482,"src":"18616:6:133","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$81482_storage_ptr","typeString":"struct RegistryCommunity.Member"}},"visibility":"internal"}],"id":82679,"initialValue":{"baseExpression":{"id":82676,"name":"addressToMemberInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81564,"src":"18643:19:133","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Member_$81482_storage_$","typeString":"mapping(address => struct RegistryCommunity.Member storage ref)"}},"id":82678,"indexExpression":{"id":82677,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82669,"src":"18663:7:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"18643:28:133","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$81482_storage","typeString":"struct RegistryCommunity.Member storage ref"}},"nodeType":"VariableDeclarationStatement","src":"18616:55:133"},{"assignments":[82682],"declarations":[{"constant":false,"id":82682,"mutability":"mutable","name":"gardensFactory","nameLocation":"18697:14:133","nodeType":"VariableDeclaration","scope":82821,"src":"18681:30:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryFactory_$85283","typeString":"contract RegistryFactory"},"typeName":{"id":82681,"nodeType":"UserDefinedTypeName","pathNode":{"id":82680,"name":"RegistryFactory","nameLocations":["18681:15:133"],"nodeType":"IdentifierPath","referencedDeclaration":85283,"src":"18681:15:133"},"referencedDeclaration":85283,"src":"18681:15:133","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryFactory_$85283","typeString":"contract RegistryFactory"}},"visibility":"internal"}],"id":82686,"initialValue":{"arguments":[{"id":82684,"name":"registryFactory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81527,"src":"18730:15:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":82683,"name":"RegistryFactory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85283,"src":"18714:15:133","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_RegistryFactory_$85283_$","typeString":"type(contract RegistryFactory)"}},"id":82685,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18714:32:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryFactory_$85283","typeString":"contract RegistryFactory"}},"nodeType":"VariableDeclarationStatement","src":"18681:65:133"},{"assignments":[82688],"declarations":[{"constant":false,"id":82688,"mutability":"mutable","name":"communityFeeAmount","nameLocation":"18764:18:133","nodeType":"VariableDeclaration","scope":82821,"src":"18756:26:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":82687,"name":"uint256","nodeType":"ElementaryTypeName","src":"18756:7:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":82698,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":82697,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":82691,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":82689,"name":"registerStakeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81519,"src":"18786:19:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":82690,"name":"communityFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81521,"src":"18808:12:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"18786:34:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":82692,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"18785:36:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":82695,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"313030","id":82693,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18825:3:133","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":82694,"name":"PRECISION_SCALE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81583,"src":"18831:15:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"18825:21:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":82696,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"18824:23:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"18785:62:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"18756:91:133"},{"assignments":[82700],"declarations":[{"constant":false,"id":82700,"mutability":"mutable","name":"gardensFeeAmount","nameLocation":"18865:16:133","nodeType":"VariableDeclaration","scope":82821,"src":"18857:24:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":82699,"name":"uint256","nodeType":"ElementaryTypeName","src":"18857:7:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":82716,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":82715,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":82709,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":82701,"name":"registerStakeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81519,"src":"18897:19:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"arguments":[{"arguments":[{"id":82706,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"18957:4:133","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunity_$83082","typeString":"contract RegistryCommunity"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryCommunity_$83082","typeString":"contract RegistryCommunity"}],"id":82705,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"18949:7:133","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":82704,"name":"address","nodeType":"ElementaryTypeName","src":"18949:7:133","typeDescriptions":{}}},"id":82707,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18949:13:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":82702,"name":"gardensFactory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82682,"src":"18919:14:133","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryFactory_$85283","typeString":"contract RegistryFactory"}},"id":82703,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18934:14:133","memberName":"getProtocolFee","nodeType":"MemberAccess","referencedDeclaration":85282,"src":"18919:29:133","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":82708,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18919:44:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"18897:66:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":82710,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"18896:68:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":82713,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"313030","id":82711,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18968:3:133","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":82712,"name":"PRECISION_SCALE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81583,"src":"18974:15:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"18968:21:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":82714,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"18967:23:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"18896:94:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"18857:133:133"},{"condition":{"id":82720,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"19004:18:133","subExpression":{"arguments":[{"id":82718,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82669,"src":"19014:7:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":82717,"name":"isMember","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82663,"src":"19005:8:133","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":82719,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19005:17:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":82820,"nodeType":"IfStatement","src":"19000:1415:133","trueBody":{"id":82819,"nodeType":"Block","src":"19024:1391:133","statements":[{"expression":{"id":82725,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":82721,"name":"newMember","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82675,"src":"19038:9:133","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$81482_storage_ptr","typeString":"struct RegistryCommunity.Member storage pointer"}},"id":82723,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"19048:12:133","memberName":"isRegistered","nodeType":"MemberAccess","referencedDeclaration":81481,"src":"19038:22:133","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":82724,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"19063:4:133","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"19038:29:133","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":82726,"nodeType":"ExpressionStatement","src":"19038:29:133"},{"expression":{"id":82731,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":82727,"name":"newMember","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82675,"src":"19082:9:133","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$81482_storage_ptr","typeString":"struct RegistryCommunity.Member storage pointer"}},"id":82729,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"19092:12:133","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":81479,"src":"19082:22:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":82730,"name":"registerStakeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81519,"src":"19107:19:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"19082:44:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":82732,"nodeType":"ExpressionStatement","src":"19082:44:133"},{"expression":{"arguments":[{"hexValue":"67617264656e546f6b656e","id":82736,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"19224:13:133","typeDescriptions":{"typeIdentifier":"t_stringliteral_b6b24c50b8ec3de451e1d7969209d38d6bc12dc5d1266588ab0e293c9a1b753a","typeString":"literal_string \"gardenToken\""},"value":"gardenToken"},{"arguments":[{"id":82739,"name":"gardenToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81539,"src":"19247:11:133","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$57069","typeString":"contract IERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$57069","typeString":"contract IERC20"}],"id":82738,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"19239:7:133","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":82737,"name":"address","nodeType":"ElementaryTypeName","src":"19239:7:133","typeDescriptions":{}}},"id":82740,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19239:20:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_b6b24c50b8ec3de451e1d7969209d38d6bc12dc5d1266588ab0e293c9a1b753a","typeString":"literal_string \"gardenToken\""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":82733,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29549,"src":"19212:7:133","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$29549_$","typeString":"type(library console)"}},"id":82735,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19220:3:133","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":22244,"src":"19212:11:133","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_address_$returns$__$","typeString":"function (string memory,address) view"}},"id":82741,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19212:48:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":82742,"nodeType":"ExpressionStatement","src":"19212:48:133"},{"expression":{"arguments":[{"id":82746,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82669,"src":"19321:7:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":82749,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"19338:4:133","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunity_$83082","typeString":"contract RegistryCommunity"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryCommunity_$83082","typeString":"contract RegistryCommunity"}],"id":82748,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"19330:7:133","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":82747,"name":"address","nodeType":"ElementaryTypeName","src":"19330:7:133","typeDescriptions":{}}},"id":82750,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19330:13:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":82755,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":82753,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":82751,"name":"registerStakeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81519,"src":"19345:19:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":82752,"name":"communityFeeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82688,"src":"19367:18:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"19345:40:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":82754,"name":"gardensFeeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82700,"src":"19388:16:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"19345:59:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":82743,"name":"gardenToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81539,"src":"19275:11:133","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$57069","typeString":"contract IERC20"}},"id":82745,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19287:16:133","memberName":"safeTransferFrom","nodeType":"MemberAccess","referencedDeclaration":57190,"src":"19275:28:133","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IERC20_$57069_$_t_address_$_t_address_$_t_uint256_$returns$__$attached_to$_t_contract$_IERC20_$57069_$","typeString":"function (contract IERC20,address,address,uint256)"}},"id":82756,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19275:143:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":82757,"nodeType":"ExpressionStatement","src":"19275:143:133"},{"expression":{"arguments":[{"hexValue":"636f6d6d756e697479466565416d6f756e74","id":82761,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"19781:20:133","typeDescriptions":{"typeIdentifier":"t_stringliteral_415492b98adc161fabebd8057944f6684f9fd452571affd947805630e42af66a","typeString":"literal_string \"communityFeeAmount\""},"value":"communityFeeAmount"},{"id":82762,"name":"communityFeeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82688,"src":"19803:18:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_415492b98adc161fabebd8057944f6684f9fd452571affd947805630e42af66a","typeString":"literal_string \"communityFeeAmount\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":82758,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29549,"src":"19769:7:133","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$29549_$","typeString":"type(library console)"}},"id":82760,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19777:3:133","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":22193,"src":"19769:11:133","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":82763,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19769:53:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":82764,"nodeType":"ExpressionStatement","src":"19769:53:133"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":82767,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":82765,"name":"communityFeeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82688,"src":"19840:18:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":82766,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"19861:1:133","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"19840:22:133","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":82783,"nodeType":"IfStatement","src":"19836:175:133","trueBody":{"id":82782,"nodeType":"Block","src":"19864:147:133","statements":[{"expression":{"arguments":[{"hexValue":"6665655265636569766572","id":82771,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"19894:13:133","typeDescriptions":{"typeIdentifier":"t_stringliteral_389e7cbf003e878980985f1a72c90dbe5b79c41a44fb160ac26b4fef395d0916","typeString":"literal_string \"feeReceiver\""},"value":"feeReceiver"},{"id":82772,"name":"feeReceiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81525,"src":"19909:11:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_389e7cbf003e878980985f1a72c90dbe5b79c41a44fb160ac26b4fef395d0916","typeString":"literal_string \"feeReceiver\""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":82768,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29549,"src":"19882:7:133","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$29549_$","typeString":"type(library console)"}},"id":82770,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19890:3:133","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":22244,"src":"19882:11:133","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_address_$returns$__$","typeString":"function (string memory,address) view"}},"id":82773,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19882:39:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":82774,"nodeType":"ExpressionStatement","src":"19882:39:133"},{"expression":{"arguments":[{"id":82778,"name":"feeReceiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81525,"src":"19964:11:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":82779,"name":"communityFeeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82688,"src":"19977:18:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":82775,"name":"gardenToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81539,"src":"19939:11:133","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$57069","typeString":"contract IERC20"}},"id":82777,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19951:12:133","memberName":"safeTransfer","nodeType":"MemberAccess","referencedDeclaration":57163,"src":"19939:24:133","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IERC20_$57069_$_t_address_$_t_uint256_$returns$__$attached_to$_t_contract$_IERC20_$57069_$","typeString":"function (contract IERC20,address,uint256)"}},"id":82780,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19939:57:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":82781,"nodeType":"ExpressionStatement","src":"19939:57:133"}]}},{"expression":{"arguments":[{"hexValue":"67617264656e73466565416d6f756e74","id":82787,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"20036:18:133","typeDescriptions":{"typeIdentifier":"t_stringliteral_da8763bbba0536c18d8861cb49d3bb999157cbcc3d98d4bc78b4c3f620189681","typeString":"literal_string \"gardensFeeAmount\""},"value":"gardensFeeAmount"},{"id":82788,"name":"gardensFeeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82700,"src":"20056:16:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_da8763bbba0536c18d8861cb49d3bb999157cbcc3d98d4bc78b4c3f620189681","typeString":"literal_string \"gardensFeeAmount\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":82784,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29549,"src":"20024:7:133","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$29549_$","typeString":"type(library console)"}},"id":82786,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20032:3:133","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":22193,"src":"20024:11:133","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":82789,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20024:49:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":82790,"nodeType":"ExpressionStatement","src":"20024:49:133"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":82793,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":82791,"name":"gardensFeeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82700,"src":"20091:16:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":82792,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20110:1:133","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"20091:20:133","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":82813,"nodeType":"IfStatement","src":"20087:252:133","trueBody":{"id":82812,"nodeType":"Block","src":"20113:226:133","statements":[{"expression":{"arguments":[{"hexValue":"67617264656e73466163746f72792e67657447617264656e7346656552656365697665722829","id":82797,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"20143:40:133","typeDescriptions":{"typeIdentifier":"t_stringliteral_52073e8ed84f6dfe673a411cc23bb08f06da5bbdad4d391c0e8d90fc482c379a","typeString":"literal_string \"gardensFactory.getGardensFeeReceiver()\""},"value":"gardensFactory.getGardensFeeReceiver()"},{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":82798,"name":"gardensFactory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82682,"src":"20185:14:133","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryFactory_$85283","typeString":"contract RegistryFactory"}},"id":82799,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20200:21:133","memberName":"getGardensFeeReceiver","nodeType":"MemberAccess","referencedDeclaration":85201,"src":"20185:36:133","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_address_$","typeString":"function () view external returns (address)"}},"id":82800,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20185:38:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_52073e8ed84f6dfe673a411cc23bb08f06da5bbdad4d391c0e8d90fc482c379a","typeString":"literal_string \"gardensFactory.getGardensFeeReceiver()\""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":82794,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29549,"src":"20131:7:133","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$29549_$","typeString":"type(library console)"}},"id":82796,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20139:3:133","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":22244,"src":"20131:11:133","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_address_$returns$__$","typeString":"function (string memory,address) view"}},"id":82801,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20131:93:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":82802,"nodeType":"ExpressionStatement","src":"20131:93:133"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":82806,"name":"gardensFactory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82682,"src":"20267:14:133","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryFactory_$85283","typeString":"contract RegistryFactory"}},"id":82807,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20282:21:133","memberName":"getGardensFeeReceiver","nodeType":"MemberAccess","referencedDeclaration":85201,"src":"20267:36:133","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_address_$","typeString":"function () view external returns (address)"}},"id":82808,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20267:38:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":82809,"name":"gardensFeeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82700,"src":"20307:16:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":82803,"name":"gardenToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81539,"src":"20242:11:133","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$57069","typeString":"contract IERC20"}},"id":82805,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20254:12:133","memberName":"safeTransfer","nodeType":"MemberAccess","referencedDeclaration":57163,"src":"20242:24:133","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IERC20_$57069_$_t_address_$_t_uint256_$returns$__$attached_to$_t_contract$_IERC20_$57069_$","typeString":"function (contract IERC20,address,uint256)"}},"id":82810,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20242:82:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":82811,"nodeType":"ExpressionStatement","src":"20242:82:133"}]}},{"eventCall":{"arguments":[{"id":82815,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82669,"src":"20375:7:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":82816,"name":"registerStakeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81519,"src":"20384:19:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":82814,"name":"MemberRegistered","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81264,"src":"20358:16:133","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":82817,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20358:46:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":82818,"nodeType":"EmitStatement","src":"20353:51:133"}]}}]},"functionSelector":"3517aa7d","implemented":true,"kind":"function","modifiers":[{"id":82666,"kind":"modifierInvocation","modifierName":{"id":82665,"name":"nonReentrant","nameLocations":["18555:12:133"],"nodeType":"IdentifierPath","referencedDeclaration":56243,"src":"18555:12:133"},"nodeType":"ModifierInvocation","src":"18555:12:133"}],"name":"stakeAndRegisterMember","nameLocation":"18523:22:133","parameters":{"id":82664,"nodeType":"ParameterList","parameters":[],"src":"18545:2:133"},"returnParameters":{"id":82667,"nodeType":"ParameterList","parameters":[],"src":"18568:0:133"},"scope":83082,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":82871,"nodeType":"FunctionDefinition","src":"20427:467:133","nodes":[],"body":{"id":82870,"nodeType":"Block","src":"20491:403:133","nodes":[],"statements":[{"assignments":[82829],"declarations":[{"constant":false,"id":82829,"mutability":"mutable","name":"gardensFactory","nameLocation":"20517:14:133","nodeType":"VariableDeclaration","scope":82870,"src":"20501:30:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryFactory_$85283","typeString":"contract RegistryFactory"},"typeName":{"id":82828,"nodeType":"UserDefinedTypeName","pathNode":{"id":82827,"name":"RegistryFactory","nameLocations":["20501:15:133"],"nodeType":"IdentifierPath","referencedDeclaration":85283,"src":"20501:15:133"},"referencedDeclaration":85283,"src":"20501:15:133","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryFactory_$85283","typeString":"contract RegistryFactory"}},"visibility":"internal"}],"id":82833,"initialValue":{"arguments":[{"id":82831,"name":"registryFactory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81527,"src":"20550:15:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":82830,"name":"RegistryFactory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85283,"src":"20534:15:133","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_RegistryFactory_$85283_$","typeString":"type(contract RegistryFactory)"}},"id":82832,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20534:32:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryFactory_$85283","typeString":"contract RegistryFactory"}},"nodeType":"VariableDeclarationStatement","src":"20501:65:133"},{"assignments":[82835],"declarations":[{"constant":false,"id":82835,"mutability":"mutable","name":"communityFeeAmount","nameLocation":"20584:18:133","nodeType":"VariableDeclaration","scope":82870,"src":"20576:26:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":82834,"name":"uint256","nodeType":"ElementaryTypeName","src":"20576:7:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":82845,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":82844,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":82838,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":82836,"name":"registerStakeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81519,"src":"20606:19:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":82837,"name":"communityFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81521,"src":"20628:12:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20606:34:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":82839,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"20605:36:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":82842,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"313030","id":82840,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20645:3:133","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":82841,"name":"PRECISION_SCALE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81583,"src":"20651:15:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20645:21:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":82843,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"20644:23:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20605:62:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"20576:91:133"},{"assignments":[82847],"declarations":[{"constant":false,"id":82847,"mutability":"mutable","name":"gardensFeeAmount","nameLocation":"20685:16:133","nodeType":"VariableDeclaration","scope":82870,"src":"20677:24:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":82846,"name":"uint256","nodeType":"ElementaryTypeName","src":"20677:7:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":82863,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":82862,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":82856,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":82848,"name":"registerStakeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81519,"src":"20717:19:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"arguments":[{"arguments":[{"id":82853,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"20777:4:133","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunity_$83082","typeString":"contract RegistryCommunity"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryCommunity_$83082","typeString":"contract RegistryCommunity"}],"id":82852,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"20769:7:133","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":82851,"name":"address","nodeType":"ElementaryTypeName","src":"20769:7:133","typeDescriptions":{}}},"id":82854,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20769:13:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":82849,"name":"gardensFactory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82829,"src":"20739:14:133","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryFactory_$85283","typeString":"contract RegistryFactory"}},"id":82850,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20754:14:133","memberName":"getProtocolFee","nodeType":"MemberAccess","referencedDeclaration":85282,"src":"20739:29:133","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":82855,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20739:44:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20717:66:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":82857,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"20716:68:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":82860,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"313030","id":82858,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20788:3:133","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":82859,"name":"PRECISION_SCALE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81583,"src":"20794:15:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20788:21:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":82861,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"20787:23:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20716:94:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"20677:133:133"},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":82868,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":82866,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":82864,"name":"registerStakeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81519,"src":"20828:19:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":82865,"name":"communityFeeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82835,"src":"20850:18:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20828:40:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":82867,"name":"gardensFeeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82847,"src":"20871:16:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20828:59:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":82826,"id":82869,"nodeType":"Return","src":"20821:66:133"}]},"functionSelector":"28c309e9","implemented":true,"kind":"function","modifiers":[],"name":"getStakeAmountWithFees","nameLocation":"20436:22:133","parameters":{"id":82823,"nodeType":"ParameterList","parameters":[],"src":"20458:2:133"},"returnParameters":{"id":82826,"nodeType":"ParameterList","parameters":[{"constant":false,"id":82825,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":82871,"src":"20482:7:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":82824,"name":"uint256","nodeType":"ElementaryTypeName","src":"20482:7:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"20481:9:133"},"scope":83082,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":82879,"nodeType":"FunctionDefinition","src":"20900:107:133","nodes":[],"body":{"id":82878,"nodeType":"Block","src":"20964:43:133","nodes":[],"statements":[{"expression":{"id":82876,"name":"registerStakeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81519,"src":"20981:19:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":82875,"id":82877,"nodeType":"Return","src":"20974:26:133"}]},"functionSelector":"0331383c","implemented":true,"kind":"function","modifiers":[],"name":"getBasisStakedAmount","nameLocation":"20909:20:133","parameters":{"id":82872,"nodeType":"ParameterList","parameters":[],"src":"20929:2:133"},"returnParameters":{"id":82875,"nodeType":"ParameterList","parameters":[{"constant":false,"id":82874,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":82879,"src":"20955:7:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":82873,"name":"uint256","nodeType":"ElementaryTypeName","src":"20955:7:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"20954:9:133"},"scope":83082,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":82896,"nodeType":"FunctionDefinition","src":"21013:182:133","nodes":[],"body":{"id":82895,"nodeType":"Block","src":"21072:123:133","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":82884,"name":"onlyCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81357,"src":"21082:15:133","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":82885,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21082:17:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":82886,"nodeType":"ExpressionStatement","src":"21082:17:133"},{"expression":{"id":82889,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":82887,"name":"registerStakeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81519,"src":"21109:19:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":82888,"name":"_newAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82881,"src":"21131:10:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"21109:32:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":82890,"nodeType":"ExpressionStatement","src":"21109:32:133"},{"eventCall":{"arguments":[{"id":82892,"name":"_newAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82881,"src":"21177:10:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":82891,"name":"BasisStakedAmountSet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81317,"src":"21156:20:133","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":82893,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21156:32:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":82894,"nodeType":"EmitStatement","src":"21151:37:133"}]},"functionSelector":"31f61bca","implemented":true,"kind":"function","modifiers":[],"name":"setBasisStakedAmount","nameLocation":"21022:20:133","parameters":{"id":82882,"nodeType":"ParameterList","parameters":[{"constant":false,"id":82881,"mutability":"mutable","name":"_newAmount","nameLocation":"21051:10:133","nodeType":"VariableDeclaration","scope":82896,"src":"21043:18:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":82880,"name":"uint256","nodeType":"ElementaryTypeName","src":"21043:7:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"21042:20:133"},"returnParameters":{"id":82883,"nodeType":"ParameterList","parameters":[],"src":"21072:0:133"},"scope":83082,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":82921,"nodeType":"FunctionDefinition","src":"21201:280:133","nodes":[],"body":{"id":82920,"nodeType":"Block","src":"21259:222:133","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":82901,"name":"onlyCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81357,"src":"21269:15:133","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":82902,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21269:17:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":82903,"nodeType":"ExpressionStatement","src":"21269:17:133"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":82906,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":82904,"name":"_newCommunityFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82898,"src":"21300:16:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":82905,"name":"MAX_FEE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81588,"src":"21319:7:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"21300:26:133","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":82911,"nodeType":"IfStatement","src":"21296:86:133","trueBody":{"id":82910,"nodeType":"Block","src":"21328:54:133","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":82907,"name":"NewFeeGreaterThanMax","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81463,"src":"21349:20:133","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":82908,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21349:22:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":82909,"nodeType":"RevertStatement","src":"21342:29:133"}]}},{"expression":{"id":82914,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":82912,"name":"communityFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81521,"src":"21391:12:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":82913,"name":"_newCommunityFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82898,"src":"21406:16:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"21391:31:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":82915,"nodeType":"ExpressionStatement","src":"21391:31:133"},{"eventCall":{"arguments":[{"id":82917,"name":"_newCommunityFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82898,"src":"21457:16:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":82916,"name":"CommunityFeeUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81282,"src":"21437:19:133","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":82918,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21437:37:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":82919,"nodeType":"EmitStatement","src":"21432:42:133"}]},"functionSelector":"0d12bbdb","implemented":true,"kind":"function","modifiers":[],"name":"setCommunityFee","nameLocation":"21210:15:133","parameters":{"id":82899,"nodeType":"ParameterList","parameters":[{"constant":false,"id":82898,"mutability":"mutable","name":"_newCommunityFee","nameLocation":"21234:16:133","nodeType":"VariableDeclaration","scope":82921,"src":"21226:24:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":82897,"name":"uint256","nodeType":"ElementaryTypeName","src":"21226:7:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"21225:26:133"},"returnParameters":{"id":82900,"nodeType":"ParameterList","parameters":[],"src":"21259:0:133"},"scope":83082,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":82934,"nodeType":"FunctionDefinition","src":"21523:132:133","nodes":[],"body":{"id":82933,"nodeType":"Block","src":"21592:63:133","nodes":[],"statements":[{"expression":{"arguments":[{"id":82929,"name":"COUNCIL_MEMBER_CHANGE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81244,"src":"21617:21:133","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":82930,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82923,"src":"21640:7:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":82928,"name":"hasRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55072,"src":"21609:7:133","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) view returns (bool)"}},"id":82931,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21609:39:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":82927,"id":82932,"nodeType":"Return","src":"21602:46:133"}]},"functionSelector":"ebd7dc52","implemented":true,"kind":"function","modifiers":[],"name":"isCouncilMember","nameLocation":"21532:15:133","parameters":{"id":82924,"nodeType":"ParameterList","parameters":[{"constant":false,"id":82923,"mutability":"mutable","name":"_member","nameLocation":"21556:7:133","nodeType":"VariableDeclaration","scope":82934,"src":"21548:15:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":82922,"name":"address","nodeType":"ElementaryTypeName","src":"21548:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"21547:17:133"},"returnParameters":{"id":82927,"nodeType":"ParameterList","parameters":[{"constant":false,"id":82926,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":82934,"src":"21586:4:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":82925,"name":"bool","nodeType":"ElementaryTypeName","src":"21586:4:133","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"21585:6:133"},"scope":83082,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":82984,"nodeType":"FunctionDefinition","src":"21661:453:133","nodes":[],"body":{"id":82983,"nodeType":"Block","src":"21709:405:133","nodes":[],"statements":[{"assignments":[82940],"declarations":[{"constant":false,"id":82940,"mutability":"mutable","name":"_member","nameLocation":"21727:7:133","nodeType":"VariableDeclaration","scope":82983,"src":"21719:15:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":82939,"name":"address","nodeType":"ElementaryTypeName","src":"21719:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":82943,"initialValue":{"expression":{"id":82941,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"21737:3:133","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":82942,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21741:6:133","memberName":"sender","nodeType":"MemberAccess","src":"21737:10:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"21719:28:133"},{"expression":{"arguments":[{"id":82945,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82940,"src":"21783:7:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":82944,"name":"onlyRegistryMemberAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81386,"src":"21757:25:133","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$__$","typeString":"function (address) view"}},"id":82946,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21757:34:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":82947,"nodeType":"ExpressionStatement","src":"21757:34:133"},{"expression":{"arguments":[{"id":82949,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82940,"src":"21825:7:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":82948,"name":"deactivateAllStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83021,"src":"21801:23:133","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":82950,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21801:32:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":82951,"nodeType":"ExpressionStatement","src":"21801:32:133"},{"assignments":[82954],"declarations":[{"constant":false,"id":82954,"mutability":"mutable","name":"member","nameLocation":"21857:6:133","nodeType":"VariableDeclaration","scope":82983,"src":"21843:20:133","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$81482_memory_ptr","typeString":"struct RegistryCommunity.Member"},"typeName":{"id":82953,"nodeType":"UserDefinedTypeName","pathNode":{"id":82952,"name":"Member","nameLocations":["21843:6:133"],"nodeType":"IdentifierPath","referencedDeclaration":81482,"src":"21843:6:133"},"referencedDeclaration":81482,"src":"21843:6:133","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$81482_storage_ptr","typeString":"struct RegistryCommunity.Member"}},"visibility":"internal"}],"id":82958,"initialValue":{"baseExpression":{"id":82955,"name":"addressToMemberInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81564,"src":"21866:19:133","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Member_$81482_storage_$","typeString":"mapping(address => struct RegistryCommunity.Member storage ref)"}},"id":82957,"indexExpression":{"id":82956,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82940,"src":"21886:7:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"21866:28:133","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$81482_storage","typeString":"struct RegistryCommunity.Member storage ref"}},"nodeType":"VariableDeclarationStatement","src":"21843:51:133"},{"expression":{"id":82962,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"21904:35:133","subExpression":{"baseExpression":{"id":82959,"name":"addressToMemberInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81564,"src":"21911:19:133","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Member_$81482_storage_$","typeString":"mapping(address => struct RegistryCommunity.Member storage ref)"}},"id":82961,"indexExpression":{"id":82960,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82940,"src":"21931:7:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"21911:28:133","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$81482_storage","typeString":"struct RegistryCommunity.Member storage ref"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":82963,"nodeType":"ExpressionStatement","src":"21904:35:133"},{"expression":{"id":82967,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"21949:34:133","subExpression":{"baseExpression":{"id":82964,"name":"strategiesByMember","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81569,"src":"21956:18:133","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_address_$dyn_storage_$","typeString":"mapping(address => address[] storage ref)"}},"id":82966,"indexExpression":{"id":82965,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82940,"src":"21975:7:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"21956:27:133","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[] storage ref"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":82968,"nodeType":"ExpressionStatement","src":"21949:34:133"},{"expression":{"arguments":[{"id":82972,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82940,"src":"22015:7:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":82973,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82954,"src":"22024:6:133","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$81482_memory_ptr","typeString":"struct RegistryCommunity.Member memory"}},"id":82974,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"22031:12:133","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":81479,"src":"22024:19:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":82969,"name":"gardenToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81539,"src":"21994:11:133","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$57069","typeString":"contract IERC20"}},"id":82971,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22006:8:133","memberName":"transfer","nodeType":"MemberAccess","referencedDeclaration":57036,"src":"21994:20:133","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) external returns (bool)"}},"id":82975,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21994:50:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":82976,"nodeType":"ExpressionStatement","src":"21994:50:133"},{"eventCall":{"arguments":[{"id":82978,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82940,"src":"22078:7:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":82979,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82954,"src":"22087:6:133","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$81482_memory_ptr","typeString":"struct RegistryCommunity.Member memory"}},"id":82980,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"22094:12:133","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":81479,"src":"22087:19:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":82977,"name":"MemberUnregistered","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81270,"src":"22059:18:133","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":82981,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22059:48:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":82982,"nodeType":"EmitStatement","src":"22054:53:133"}]},"functionSelector":"b99b4370","implemented":true,"kind":"function","modifiers":[{"id":82937,"kind":"modifierInvocation","modifierName":{"id":82936,"name":"nonReentrant","nameLocations":["21696:12:133"],"nodeType":"IdentifierPath","referencedDeclaration":56243,"src":"21696:12:133"},"nodeType":"ModifierInvocation","src":"21696:12:133"}],"name":"unregisterMember","nameLocation":"21670:16:133","parameters":{"id":82935,"nodeType":"ParameterList","parameters":[],"src":"21686:2:133"},"returnParameters":{"id":82938,"nodeType":"ParameterList","parameters":[],"src":"21709:0:133"},"scope":83082,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":83021,"nodeType":"FunctionDefinition","src":"22120:466:133","nodes":[],"body":{"id":83020,"nodeType":"Block","src":"22179:407:133","nodes":[],"statements":[{"assignments":[82993],"declarations":[{"constant":false,"id":82993,"mutability":"mutable","name":"memberStrategies","nameLocation":"22206:16:133","nodeType":"VariableDeclaration","scope":83020,"src":"22189:33:133","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":82991,"name":"address","nodeType":"ElementaryTypeName","src":"22189:7:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":82992,"nodeType":"ArrayTypeName","src":"22189:9:133","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"id":82997,"initialValue":{"baseExpression":{"id":82994,"name":"strategiesByMember","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81569,"src":"22225:18:133","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_address_$dyn_storage_$","typeString":"mapping(address => address[] storage ref)"}},"id":82996,"indexExpression":{"id":82995,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82986,"src":"22244:7:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"22225:27:133","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[] storage ref"}},"nodeType":"VariableDeclarationStatement","src":"22189:63:133"},{"body":{"id":83018,"nodeType":"Block","src":"22382:198:133","statements":[{"expression":{"arguments":[{"id":83015,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82986,"src":"22561:7:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"arguments":[{"baseExpression":{"id":83010,"name":"memberStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82993,"src":"22523:16:133","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":83012,"indexExpression":{"id":83011,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82999,"src":"22540:1:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"22523:19:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":83009,"name":"IPointStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74722,"src":"22508:14:133","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IPointStrategy_$74722_$","typeString":"type(contract IPointStrategy)"}},"id":83013,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22508:35:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IPointStrategy_$74722","typeString":"contract IPointStrategy"}},"id":83014,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22544:16:133","memberName":"deactivatePoints","nodeType":"MemberAccess","referencedDeclaration":74697,"src":"22508:52:133","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":83016,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22508:61:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":83017,"nodeType":"ExpressionStatement","src":"22508:61:133"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":83005,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":83002,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82999,"src":"22348:1:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":83003,"name":"memberStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82993,"src":"22352:16:133","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":83004,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22369:6:133","memberName":"length","nodeType":"MemberAccess","src":"22352:23:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"22348:27:133","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":83019,"initializationExpression":{"assignments":[82999],"declarations":[{"constant":false,"id":82999,"mutability":"mutable","name":"i","nameLocation":"22341:1:133","nodeType":"VariableDeclaration","scope":83019,"src":"22333:9:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":82998,"name":"uint256","nodeType":"ElementaryTypeName","src":"22333:7:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":83001,"initialValue":{"hexValue":"30","id":83000,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22345:1:133","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"22333:13:133"},"loopExpression":{"expression":{"id":83007,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"22377:3:133","subExpression":{"id":83006,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82999,"src":"22377:1:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":83008,"nodeType":"ExpressionStatement","src":"22377:3:133"},"nodeType":"ForStatement","src":"22328:252:133"}]},"implemented":true,"kind":"function","modifiers":[],"name":"deactivateAllStrategies","nameLocation":"22129:23:133","parameters":{"id":82987,"nodeType":"ParameterList","parameters":[{"constant":false,"id":82986,"mutability":"mutable","name":"_member","nameLocation":"22161:7:133","nodeType":"VariableDeclaration","scope":83021,"src":"22153:15:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":82985,"name":"address","nodeType":"ElementaryTypeName","src":"22153:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"22152:17:133"},"returnParameters":{"id":82988,"nodeType":"ParameterList","parameters":[],"src":"22179:0:133"},"scope":83082,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":83081,"nodeType":"FunctionDefinition","src":"22592:571:133","nodes":[],"body":{"id":83080,"nodeType":"Block","src":"22675:488:133","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":83030,"name":"onlyCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81357,"src":"22685:15:133","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":83031,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22685:17:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":83032,"nodeType":"ExpressionStatement","src":"22685:17:133"},{"condition":{"id":83034,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"22716:14:133","subExpression":{"id":83033,"name":"isKickEnabled","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81517,"src":"22717:13:133","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":83039,"nodeType":"IfStatement","src":"22712:68:133","trueBody":{"id":83038,"nodeType":"Block","src":"22732:48:133","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":83035,"name":"KickNotEnabled","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81465,"src":"22753:14:133","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":83036,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22753:16:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":83037,"nodeType":"RevertStatement","src":"22746:23:133"}]}},{"condition":{"id":83043,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"22793:18:133","subExpression":{"arguments":[{"id":83041,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83023,"src":"22803:7:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":83040,"name":"isMember","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82663,"src":"22794:8:133","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":83042,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22794:17:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":83048,"nodeType":"IfStatement","src":"22789:75:133","trueBody":{"id":83047,"nodeType":"Block","src":"22813:51:133","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":83044,"name":"UserNotInRegistry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81443,"src":"22834:17:133","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":83045,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22834:19:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":83046,"nodeType":"RevertStatement","src":"22827:26:133"}]}},{"assignments":[83051],"declarations":[{"constant":false,"id":83051,"mutability":"mutable","name":"member","nameLocation":"22887:6:133","nodeType":"VariableDeclaration","scope":83080,"src":"22873:20:133","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$81482_memory_ptr","typeString":"struct RegistryCommunity.Member"},"typeName":{"id":83050,"nodeType":"UserDefinedTypeName","pathNode":{"id":83049,"name":"Member","nameLocations":["22873:6:133"],"nodeType":"IdentifierPath","referencedDeclaration":81482,"src":"22873:6:133"},"referencedDeclaration":81482,"src":"22873:6:133","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$81482_storage_ptr","typeString":"struct RegistryCommunity.Member"}},"visibility":"internal"}],"id":83055,"initialValue":{"baseExpression":{"id":83052,"name":"addressToMemberInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81564,"src":"22896:19:133","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Member_$81482_storage_$","typeString":"mapping(address => struct RegistryCommunity.Member storage ref)"}},"id":83054,"indexExpression":{"id":83053,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83023,"src":"22916:7:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"22896:28:133","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$81482_storage","typeString":"struct RegistryCommunity.Member storage ref"}},"nodeType":"VariableDeclarationStatement","src":"22873:51:133"},{"expression":{"arguments":[{"id":83057,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83023,"src":"22958:7:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":83056,"name":"deactivateAllStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83021,"src":"22934:23:133","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":83058,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22934:32:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":83059,"nodeType":"ExpressionStatement","src":"22934:32:133"},{"expression":{"id":83063,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"22976:35:133","subExpression":{"baseExpression":{"id":83060,"name":"addressToMemberInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81564,"src":"22983:19:133","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Member_$81482_storage_$","typeString":"mapping(address => struct RegistryCommunity.Member storage ref)"}},"id":83062,"indexExpression":{"id":83061,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83023,"src":"23003:7:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"22983:28:133","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$81482_storage","typeString":"struct RegistryCommunity.Member storage ref"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":83064,"nodeType":"ExpressionStatement","src":"22976:35:133"},{"expression":{"arguments":[{"id":83068,"name":"_transferAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83025,"src":"23043:16:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":83069,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83051,"src":"23061:6:133","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$81482_memory_ptr","typeString":"struct RegistryCommunity.Member memory"}},"id":83070,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"23068:12:133","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":81479,"src":"23061:19:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":83065,"name":"gardenToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81539,"src":"23022:11:133","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$57069","typeString":"contract IERC20"}},"id":83067,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23034:8:133","memberName":"transfer","nodeType":"MemberAccess","referencedDeclaration":57036,"src":"23022:20:133","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) external returns (bool)"}},"id":83071,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23022:59:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":83072,"nodeType":"ExpressionStatement","src":"23022:59:133"},{"eventCall":{"arguments":[{"id":83074,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83023,"src":"23109:7:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":83075,"name":"_transferAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83025,"src":"23118:16:133","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":83076,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83051,"src":"23136:6:133","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$81482_memory_ptr","typeString":"struct RegistryCommunity.Member memory"}},"id":83077,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"23143:12:133","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":81479,"src":"23136:19:133","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":83073,"name":"MemberKicked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81278,"src":"23096:12:133","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":83078,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23096:60:133","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":83079,"nodeType":"EmitStatement","src":"23091:65:133"}]},"functionSelector":"6871eb4d","implemented":true,"kind":"function","modifiers":[{"id":83028,"kind":"modifierInvocation","modifierName":{"id":83027,"name":"nonReentrant","nameLocations":["22662:12:133"],"nodeType":"IdentifierPath","referencedDeclaration":56243,"src":"22662:12:133"},"nodeType":"ModifierInvocation","src":"22662:12:133"}],"name":"kickMember","nameLocation":"22601:10:133","parameters":{"id":83026,"nodeType":"ParameterList","parameters":[{"constant":false,"id":83023,"mutability":"mutable","name":"_member","nameLocation":"22620:7:133","nodeType":"VariableDeclaration","scope":83081,"src":"22612:15:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":83022,"name":"address","nodeType":"ElementaryTypeName","src":"22612:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":83025,"mutability":"mutable","name":"_transferAddress","nameLocation":"22637:16:133","nodeType":"VariableDeclaration","scope":83081,"src":"22629:24:133","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":83024,"name":"address","nodeType":"ElementaryTypeName","src":"22629:7:133","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"22611:43:133"},"returnParameters":{"id":83029,"nodeType":"ParameterList","parameters":[],"src":"22675:0:133"},"scope":83082,"stateMutability":"nonpayable","virtual":false,"visibility":"public"}],"abstract":false,"baseContracts":[{"baseName":{"id":81223,"name":"ReentrancyGuard","nameLocations":["1671:15:133"],"nodeType":"IdentifierPath","referencedDeclaration":56278,"src":"1671:15:133"},"id":81224,"nodeType":"InheritanceSpecifier","src":"1671:15:133"},{"baseName":{"id":81225,"name":"AccessControl","nameLocations":["1688:13:133"],"nodeType":"IdentifierPath","referencedDeclaration":55308,"src":"1688:13:133"},"id":81226,"nodeType":"InheritanceSpecifier","src":"1688:13:133"}],"canonicalName":"RegistryCommunity","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[83082,55308,58266,58472,55381,57903,56278],"name":"RegistryCommunity","nameLocation":"1650:17:133","scope":83083,"usedErrors":[81437,81439,81441,81443,81445,81447,81449,81451,81453,81455,81457,81459,81461,81463,81465,81467,81469,81475]}],"license":"AGPL-3.0-only"},"id":133} \ No newline at end of file diff --git a/pkg/contracts/out/RegistryCommunityV0_0.sol/RegistryCommunityV0_0.json b/pkg/contracts/out/RegistryCommunityV0_0.sol/RegistryCommunityV0_0.json index 513b3b866..ccf4b230f 100644 --- a/pkg/contracts/out/RegistryCommunityV0_0.sol/RegistryCommunityV0_0.json +++ b/pkg/contracts/out/RegistryCommunityV0_0.sol/RegistryCommunityV0_0.json @@ -1 +1 @@ -{"abi":[{"type":"function","name":"COUNCIL_MEMBER","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"DEFAULT_ADMIN_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"MAX_FEE","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"NATIVE","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"PRECISION_SCALE","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"acceptCouncilSafe","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"activateMemberInStrategy","inputs":[{"name":"_member","type":"address","internalType":"address"},{"name":"_strategy","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"addStrategy","inputs":[{"name":"_newStrategy","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"addStrategyByPoolId","inputs":[{"name":"poolId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"addressToMemberInfo","inputs":[{"name":"member","type":"address","internalType":"address"}],"outputs":[{"name":"member","type":"address","internalType":"address"},{"name":"stakedAmount","type":"uint256","internalType":"uint256"},{"name":"isRegistered","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"allo","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract FAllo"}],"stateMutability":"view"},{"type":"function","name":"cloneNonce","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"communityFee","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"communityName","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"councilSafe","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract ISafe"}],"stateMutability":"view"},{"type":"function","name":"covenantIpfsHash","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"createPool","inputs":[{"name":"_token","type":"address","internalType":"address"},{"name":"_params","type":"tuple","internalType":"struct StrategyStruct.InitializeParams","components":[{"name":"registryCommunity","type":"address","internalType":"address"},{"name":"decay","type":"uint256","internalType":"uint256"},{"name":"maxRatio","type":"uint256","internalType":"uint256"},{"name":"weight","type":"uint256","internalType":"uint256"},{"name":"minThresholdPoints","type":"uint256","internalType":"uint256"},{"name":"proposalType","type":"uint8","internalType":"enum StrategyStruct.ProposalType"},{"name":"pointSystem","type":"uint8","internalType":"enum StrategyStruct.PointSystem"},{"name":"pointConfig","type":"tuple","internalType":"struct StrategyStruct.PointSystemConfig","components":[{"name":"maxAmount","type":"uint256","internalType":"uint256"}]},{"name":"sybilScorer","type":"address","internalType":"address"}]},{"name":"_metadata","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]}],"outputs":[{"name":"poolId","type":"uint256","internalType":"uint256"},{"name":"strategy","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"createPool","inputs":[{"name":"_strategy","type":"address","internalType":"address"},{"name":"_token","type":"address","internalType":"address"},{"name":"_params","type":"tuple","internalType":"struct StrategyStruct.InitializeParams","components":[{"name":"registryCommunity","type":"address","internalType":"address"},{"name":"decay","type":"uint256","internalType":"uint256"},{"name":"maxRatio","type":"uint256","internalType":"uint256"},{"name":"weight","type":"uint256","internalType":"uint256"},{"name":"minThresholdPoints","type":"uint256","internalType":"uint256"},{"name":"proposalType","type":"uint8","internalType":"enum StrategyStruct.ProposalType"},{"name":"pointSystem","type":"uint8","internalType":"enum StrategyStruct.PointSystem"},{"name":"pointConfig","type":"tuple","internalType":"struct StrategyStruct.PointSystemConfig","components":[{"name":"maxAmount","type":"uint256","internalType":"uint256"}]},{"name":"sybilScorer","type":"address","internalType":"address"}]},{"name":"_metadata","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]}],"outputs":[{"name":"poolId","type":"uint256","internalType":"uint256"},{"name":"strategy","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"deactivateMemberInStrategy","inputs":[{"name":"_member","type":"address","internalType":"address"},{"name":"_strategy","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"decreasePower","inputs":[{"name":"_amountUnstaked","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"enabledStrategies","inputs":[{"name":"strategy","type":"address","internalType":"address"}],"outputs":[{"name":"isEnabled","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"feeReceiver","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"gardenToken","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IERC20"}],"stateMutability":"view"},{"type":"function","name":"getBasisStakedAmount","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getMemberPowerInStrategy","inputs":[{"name":"_member","type":"address","internalType":"address"},{"name":"_strategy","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getMemberStakedAmount","inputs":[{"name":"_member","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getRoleAdmin","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"getStakeAmountWithFees","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"grantRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"hasRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"increasePower","inputs":[{"name":"_amountStaked","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"initialize","inputs":[{"name":"params","type":"tuple","internalType":"struct RegistryCommunityV0_0.InitializeParams","components":[{"name":"_allo","type":"address","internalType":"address"},{"name":"_gardenToken","type":"address","internalType":"contract IERC20"},{"name":"_registerStakeAmount","type":"uint256","internalType":"uint256"},{"name":"_communityFee","type":"uint256","internalType":"uint256"},{"name":"_nonce","type":"uint256","internalType":"uint256"},{"name":"_registryFactory","type":"address","internalType":"address"},{"name":"_feeReceiver","type":"address","internalType":"address"},{"name":"_metadata","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]},{"name":"_councilSafe","type":"address","internalType":"address payable"},{"name":"_communityName","type":"string","internalType":"string"},{"name":"_isKickEnabled","type":"bool","internalType":"bool"},{"name":"covenantIpfsHash","type":"string","internalType":"string"},{"name":"_strategyTemplate","type":"address","internalType":"address"}]}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"isCouncilMember","inputs":[{"name":"_member","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isKickEnabled","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isMember","inputs":[{"name":"_member","type":"address","internalType":"address"}],"outputs":[{"name":"_isMember","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"kickMember","inputs":[{"name":"_member","type":"address","internalType":"address"},{"name":"_transferAddress","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"memberActivatedInStrategies","inputs":[{"name":"member","type":"address","internalType":"address"},{"name":"strategy","type":"address","internalType":"address"}],"outputs":[{"name":"isActivated","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"memberPowerInStrategy","inputs":[{"name":"strategy","type":"address","internalType":"address"},{"name":"member","type":"address","internalType":"address"}],"outputs":[{"name":"power","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"pendingCouncilSafe","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address payable"}],"stateMutability":"view"},{"type":"function","name":"profileId","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"proxiableUUID","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"registerStakeAmount","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"registry","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IRegistry"}],"stateMutability":"view"},{"type":"function","name":"registryFactory","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"removeStrategy","inputs":[{"name":"_strategy","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"removeStrategyByPoolId","inputs":[{"name":"poolId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"renounceOwnership","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"renounceRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"revokeRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setBasisStakedAmount","inputs":[{"name":"_newAmount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setCommunityFee","inputs":[{"name":"_newCommunityFee","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setCouncilSafe","inputs":[{"name":"_safe","type":"address","internalType":"address payable"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"stakeAndRegisterMember","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"strategiesByMember","inputs":[{"name":"member","type":"address","internalType":"address"},{"name":"","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"strategiesAddresses","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"strategyTemplate","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"transferOwnership","inputs":[{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"unregisterMember","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"upgradeTo","inputs":[{"name":"newImplementation","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"upgradeToAndCall","inputs":[{"name":"newImplementation","type":"address","internalType":"address"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"payable"},{"type":"event","name":"AdminChanged","inputs":[{"name":"previousAdmin","type":"address","indexed":false,"internalType":"address"},{"name":"newAdmin","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"AlloSet","inputs":[{"name":"_allo","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"BasisStakedAmountSet","inputs":[{"name":"_newAmount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"BeaconUpgraded","inputs":[{"name":"beacon","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"CommunityFeeUpdated","inputs":[{"name":"_newFee","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"CouncilSafeChangeStarted","inputs":[{"name":"_safeOwner","type":"address","indexed":false,"internalType":"address"},{"name":"_newSafeOwner","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"CouncilSafeSet","inputs":[{"name":"_safe","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint8","indexed":false,"internalType":"uint8"}],"anonymous":false},{"type":"event","name":"MemberActivatedStrategy","inputs":[{"name":"_member","type":"address","indexed":false,"internalType":"address"},{"name":"_strategy","type":"address","indexed":false,"internalType":"address"},{"name":"_pointsToIncrease","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"MemberDeactivatedStrategy","inputs":[{"name":"_member","type":"address","indexed":false,"internalType":"address"},{"name":"_strategy","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"MemberKicked","inputs":[{"name":"_member","type":"address","indexed":false,"internalType":"address"},{"name":"_transferAddress","type":"address","indexed":false,"internalType":"address"},{"name":"_amountReturned","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"MemberPowerDecreased","inputs":[{"name":"_member","type":"address","indexed":false,"internalType":"address"},{"name":"_unstakedAmount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"MemberPowerIncreased","inputs":[{"name":"_member","type":"address","indexed":false,"internalType":"address"},{"name":"_stakedAmount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"MemberRegistered","inputs":[{"name":"_member","type":"address","indexed":false,"internalType":"address"},{"name":"_amountStaked","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"MemberUnregistered","inputs":[{"name":"_member","type":"address","indexed":false,"internalType":"address"},{"name":"_amountReturned","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"previousOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"PoolCreated","inputs":[{"name":"_poolId","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_strategy","type":"address","indexed":false,"internalType":"address"},{"name":"_community","type":"address","indexed":false,"internalType":"address"},{"name":"_token","type":"address","indexed":false,"internalType":"address"},{"name":"_metadata","type":"tuple","indexed":false,"internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]}],"anonymous":false},{"type":"event","name":"RegistryInitialized","inputs":[{"name":"_profileId","type":"bytes32","indexed":false,"internalType":"bytes32"},{"name":"_communityName","type":"string","indexed":false,"internalType":"string"},{"name":"_metadata","type":"tuple","indexed":false,"internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]}],"anonymous":false},{"type":"event","name":"RoleAdminChanged","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"previousAdminRole","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"newAdminRole","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"RoleGranted","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"sender","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"RoleRevoked","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"sender","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"StrategyAdded","inputs":[{"name":"_strategy","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"StrategyRemoved","inputs":[{"name":"_strategy","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Upgraded","inputs":[{"name":"implementation","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"error","name":"AddressCannotBeZero","inputs":[]},{"type":"error","name":"CantDecreaseMoreThanPower","inputs":[{"name":"_decreaseAmount","type":"uint256","internalType":"uint256"},{"name":"_currentPower","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"DecreaseUnderMinimum","inputs":[]},{"type":"error","name":"KickNotEnabled","inputs":[]},{"type":"error","name":"NewFeeGreaterThanMax","inputs":[]},{"type":"error","name":"PointsDeactivated","inputs":[]},{"type":"error","name":"RegistryCannotBeZero","inputs":[]},{"type":"error","name":"SenderNotNewOwner","inputs":[]},{"type":"error","name":"SenderNotStrategy","inputs":[]},{"type":"error","name":"StrategyDisabled","inputs":[]},{"type":"error","name":"StrategyExists","inputs":[]},{"type":"error","name":"UserAlreadyActivated","inputs":[]},{"type":"error","name":"UserAlreadyDeactivated","inputs":[]},{"type":"error","name":"UserAlreadyRegistered","inputs":[]},{"type":"error","name":"UserNotGardenOwner","inputs":[]},{"type":"error","name":"UserNotInCouncil","inputs":[]},{"type":"error","name":"UserNotInRegistry","inputs":[]},{"type":"error","name":"ValueCannotBeZero","inputs":[]}],"bytecode":{"object":"0x60a06040523060805234801561001457600080fd5b5060805161ba626200004d600039600081816119c001528181611a4701528181611bb501528181611c3c0152611d29015261ba626000f3fe608060405260043610620003ef5760003560e01c80636c53db9a116200020f578063a217fddf1162000123578063d547741f11620000ad578063ebd7dc521162000078578063ebd7dc521462000cfd578063f2fde38b1462000d22578063f86c5f891462000d47578063ff6409ef1462000d6a57600080fd5b8063d547741f1462000c7a578063d6d8428d1462000c9f578063d7050f071462000cc2578063db61d65c1462000cda57600080fd5b8063b64e39af11620000ee578063b64e39af1462000c0b578063b99b43701462000c32578063bc063e1a1462000c4a578063c6d572ae1462000c6257600080fd5b8063a217fddf1462000b51578063a230c5241462000b68578063b3f006741462000bd1578063b5058c501462000bf357600080fd5b806382d6a1e711620001a557806391d14854116200017057806391d148541462000a7557806396f0adec1462000abf57806397991cfa1462000ae4578063a0cf0aea1462000b2757600080fd5b806382d6a1e714620009a257806388cfe68414620009c75780638961be6b1462000a3d5780638da5cb5b1462000a5557600080fd5b8063733a2d1f11620001e6578063733a2d1f14620008e65780637817ee4f146200091c57806378a0b8a914620009675780637b103999146200097f57600080fd5b80636c53db9a1462000886578063715018a614620008a957806373265c3714620008c157600080fd5b80633396045911620003075780634f1ef286116200029d5780635ecf71c511620002685780635ecf71c514620007dc57806365e3864c14620008015780636871eb4d146200083e57806368decabb146200086357600080fd5b80634f1ef286146200076557806352d1902d146200077c578063559de05d14620007945780635c94e4d214620007b957600080fd5b80633659cfe611620002de5780633659cfe614620006a6578063397e254314620006cb5780633a871fe114620006f0578063477a5cc0146200072557600080fd5b80633396045914620006505780633517aa7d146200066957806336568abe146200068157600080fd5b8063223e547911620003895780632b38c69c11620003545780632b38c69c146200058a5780632c611c4a14620005c85780632f2ff15d146200060657806331f61bca146200062b57600080fd5b8063223e547914620004f457806322bcf9991462000519578063248a9ca3146200053e57806328c309e9146200057257600080fd5b80630d12bbdb11620003ca5780630d12bbdb14620004675780630d4a8b49146200048e578063175188e814620004b35780631f787d2814620004d857600080fd5b806301ffc9a714620003f45780630331383c146200042e57806308386eba146200044f575b600080fd5b3480156200040157600080fd5b50620004196200041336600462004b7e565b62000d8f565b60405190151581526020015b60405180910390f35b3480156200043b57600080fd5b5060fc545b60405190815260200162000425565b3480156200045c57600080fd5b506200044060fe5481565b3480156200047457600080fd5b506200048c6200048636600462004baa565b62000de0565b005b3480156200049b57600080fd5b506200048c620004ad36600462004bec565b62000e6f565b348015620004c057600080fd5b506200048c620004d236600462004c2a565b620011f7565b348015620004e557600080fd5b5060fb54620004199060ff1681565b3480156200050157600080fd5b506200048c6200051336600462004c2a565b6200120f565b3480156200052657600080fd5b506200048c6200053836600462004bec565b62001224565b3480156200054b57600080fd5b50620004406200055d36600462004baa565b600090815260c9602052604090206001015490565b3480156200057f57600080fd5b506200044062001340565b3480156200059757600080fd5b50620005af620005a936600462004c4a565b6200143e565b6040516001600160a01b03909116815260200162000425565b348015620005d557600080fd5b5062000440620005e736600462004c2a565b6001600160a01b0316600090815261010c602052604090206001015490565b3480156200061357600080fd5b506200048c6200062536600462004c79565b62001478565b3480156200063857600080fd5b506200048c6200064a36600462004baa565b620014a6565b3480156200065d57600080fd5b50620004406101025481565b3480156200067657600080fd5b506200048c620014e6565b3480156200068e57600080fd5b506200048c620006a036600462004c79565b62001922565b348015620006b357600080fd5b506200048c620006c536600462004c2a565b620019b6565b348015620006d857600080fd5b506200048c620006ea36600462004c2a565b62001b37565b348015620006fd57600080fd5b50620004196200070f36600462004c2a565b61010a6020526000908152604090205460ff1681565b3480156200073257600080fd5b50620004196200074436600462004bec565b61010e60209081526000928352604080842090915290825290205460ff1681565b6200048c6200077636600462004df9565b62001bab565b3480156200078957600080fd5b506200044062001d1c565b348015620007a157600080fd5b506200048c620007b336600462004baa565b62001de3565b348015620007c657600080fd5b5061010154620005af906001600160a01b031681565b348015620007e957600080fd5b506200048c620007fb36600462004baa565b620020e2565b3480156200080e57600080fd5b50620004406200082036600462004bec565b61010b60209081526000928352604080842090915290825290205481565b3480156200084b57600080fd5b506200048c6200085d36600462004bec565b620024d3565b3480156200087057600080fd5b5061010354620005af906001600160a01b031681565b3480156200089357600080fd5b5061010654620005af906001600160a01b031681565b348015620008b657600080fd5b506200048c620026ee565b348015620008ce57600080fd5b506200048c620008e036600462004baa565b62002704565b348015620008f357600080fd5b50620004407f03be538b6391ddcd7f2649585cc95b120c9e2a613f70714fbb55345057d809fa81565b3480156200092957600080fd5b50620004406200093b36600462004bec565b6001600160a01b03918216600090815261010b6020908152604080832093909416825291909152205490565b3480156200097457600080fd5b506200044060fc5481565b3480156200098c57600080fd5b5061010454620005af906001600160a01b031681565b348015620009af57600080fd5b506200048c620009c136600462004baa565b620027a0565b348015620009d457600080fd5b5062000a15620009e636600462004c2a565b61010c602052600090815260409020805460018201546002909201546001600160a01b03909116919060ff1683565b604080516001600160a01b039094168452602084019290925215159082015260600162000425565b34801562000a4a57600080fd5b506200044060fd5481565b34801562000a6257600080fd5b506033546001600160a01b0316620005af565b34801562000a8257600080fd5b506200041962000a9436600462004c79565b600091825260c9602090815260408084206001600160a01b0393909316845291905290205460ff1690565b34801562000acc57600080fd5b506200048c62000ade36600462004efb565b6200285e565b34801562000af157600080fd5b5062000b0962000b0336600462005187565b62002ef4565b604080519283526001600160a01b0390911660208301520162000425565b34801562000b3457600080fd5b50620005af73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b34801562000b5e57600080fd5b5062000440600081565b34801562000b7557600080fd5b506200041962000b8736600462004c2a565b6001600160a01b03908116600090815261010c60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff161515910181905290565b34801562000bde57600080fd5b5060ff54620005af906001600160a01b031681565b34801562000c0057600080fd5b506200048c62002fd9565b34801562000c1857600080fd5b5062000c2362003029565b60405162000425919062005246565b34801562000c3f57600080fd5b506200048c620030c0565b34801562000c5757600080fd5b506200044062003232565b34801562000c6f57600080fd5b5062000c2362003244565b34801562000c8757600080fd5b506200048c62000c9936600462004c79565b62003254565b34801562000cac57600080fd5b5061010754620005af906001600160a01b031681565b34801562000ccf57600080fd5b506200044061271081565b34801562000ce757600080fd5b5061010554620005af906001600160a01b031681565b34801562000d0a57600080fd5b506200041962000d1c36600462004c2a565b6200327d565b34801562000d2f57600080fd5b506200048c62000d4136600462004c2a565b620032be565b34801562000d5457600080fd5b5061010054620005af906001600160a01b031681565b34801562000d7757600080fd5b5062000b0962000d893660046200525b565b62003351565b60006001600160e01b031982167f7965db0b00000000000000000000000000000000000000000000000000000000148062000dda57506301ffc9a760e01b6001600160e01b03198316145b92915050565b62000dea620034de565b62000df9612710600a620052f1565b81111562000e33576040517ffe925f7d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60fd8190556040518181527f611668bfcf654a99c33cdb66c29ec37a5aae5c1287d2d9715a24e18cb4d806d6906020015b60405180910390a150565b62000e7a8262003547565b62000e8581620035ac565b62000e908162003600565b6001600160a01b03808316600090815261010e602090815260408083209385168352929052205460ff161562000ef2576040517fd5b9bc9600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b03808316600090815261010c602090815260409182902082516060810184528154909416845260018101549184018290526002015460ff1615159183019190915260fc546003846001600160a01b031663c32921716040518163ffffffff1660e01b81526004016020604051808303816000875af115801562000f80573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000fa6919062005321565b600381111562000fba5762000fba6200530b565b036200103e5760405163782aadff60e01b81526001600160a01b0386811660048301526000602483015285169063782aadff906044016020604051808303816000875af115801562001010573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001036919062005341565b90506200113a565b6000846001600160a01b031663c32921716040518163ffffffff1660e01b81526004016020604051808303816000875af115801562001081573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620010a7919062005321565b6003811115620010bb57620010bb6200530b565b146200113a5760405163782aadff60e01b81526001600160a01b0386811660048301526024820184905285169063782aadff906044016020604051808303816000875af115801562001111573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001137919062005341565b90505b6001600160a01b03858116600081815261010b6020908152604080832094891680845294825280832086905583835261010e82528083208584528252808320805460ff1916600190811790915584845261010d83528184208054918201815584529282902090920180546001600160a01b0319168517905581519283528201929092529081018290527ff56fa57e85e169a12200d12d9921ec069b52e688f6d309d9dab7bceff54614ec9060600160405180910390a15050505050565b62001201620034de565b6200120c8162003641565b50565b62001219620034de565b6200120c816200369f565b6200122f8262003547565b6200123a8162003600565b6200124633826200374a565b6001600160a01b03808316600090815261010e602090815260408083209385168352929052205460ff16620012a7576040517fc12369dc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b03808316600081815261010e60209081526040808320948616808452948252808320805460ff1916905592825261010b815282822093825292909252812055620012f9828262003796565b604080516001600160a01b038085168252831660208201527ede109bef4619f7e2cf00c8e5a50ca55f8deb44f87087eed414a91dbf8d1d1b91015b60405180910390a15050565b610100546000906001600160a01b031681620013606127106064620052f1565b60fd5460fc54620013729190620052f1565b6200137e91906200535b565b90506000620013916127106064620052f1565b6040516302a64b8360e21b81523060048201526001600160a01b03851690630a992e0c90602401602060405180830381865afa158015620013d6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620013fc919062005341565b60fc546200140b9190620052f1565b6200141791906200535b565b9050808260fc546200142a91906200537e565b6200143691906200537e565b935050505090565b61010d60205281600052604060002081815481106200145c57600080fd5b6000918252602090912001546001600160a01b03169150829050565b600082815260c960205260409020600101546200149581620038cc565b620014a18383620038d8565b505050565b620014b0620034de565b60fc8190556040518181527f5bcc2c453001fb0e2ba6266d56ecb411e7c6e15c8f9c3d301f93dd36ad25726f9060200162000e64565b620014f06200397c565b33600081815261010c602052604081206101005490916001600160a01b0390911690620015216127106064620052f1565b60fd5460fc54620015339190620052f1565b6200153f91906200535b565b90506000620015526127106064620052f1565b6040516302a64b8360e21b81523060048201526001600160a01b03851690630a992e0c90602401602060405180830381865afa15801562001597573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620015bd919062005341565b60fc54620015cc9190620052f1565b620015d891906200535b565b6001600160a01b03808716600090815261010c60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff1615159101819052909150620019105760028401805460ff1916600190811790915560fc549085015560408051808201909152600b81527f67617264656e546f6b656e0000000000000000000000000000000000000000006020820152610105546200168d91906001600160a01b0316620039d7565b620016c68530838560fc54620016a491906200537e565b620016b091906200537e565b610105546001600160a01b031692919062003a39565b620017076040518060400160405280601281526020017f636f6d6d756e697479466565416d6f756e7400000000000000000000000000008152508362003abf565b81156200177a5760408051808201909152600b81527f6665655265636569766572000000000000000000000000000000000000000000602082015260ff546200175a91906001600160a01b0316620039d7565b60ff54610105546200177a916001600160a01b0391821691168462003b21565b620017bb6040518060400160405280601081526020017f67617264656e73466565416d6f756e74000000000000000000000000000000008152508262003abf565b8015620018c9576200184b6040518060600160405280602681526020016200b9e060269139846001600160a01b031663987435be6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200181f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001845919062005394565b620039d7565b620018c9836001600160a01b031663987435be6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200188e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620018b4919062005394565b610105546001600160a01b0316908362003b21565b60fc54604080516001600160a01b038816815260208101929092527f67e0244e28040fec15240cd4b6c04c776a2a0278caef23b59e8ada1df31f7689910160405180910390a15b5050505050620019206001606555565b565b6001600160a01b0381163314620019a65760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201527f20726f6c657320666f722073656c66000000000000000000000000000000000060648201526084015b60405180910390fd5b620019b2828262003b5a565b5050565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016300362001a455760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b19195b1959d85d1958d85b1b60a21b60648201526084016200199d565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031662001aa17f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b6001600160a01b03161462001b0e5760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b6163746976652070726f787960a01b60648201526084016200199d565b62001b198162003bde565b604080516000808252602082019092526200120c9183919062003be8565b62001b41620034de565b62001b4c8162003600565b61010380546001600160a01b0319166001600160a01b03838116918217909255610106546040805191909316815260208101919091527f83eac9fdaff0ac1017624b7eddeb9782e3d707cd894073cb7e8301a41c6e5cf8910162000e64565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016300362001c3a5760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b19195b1959d85d1958d85b1b60a21b60648201526084016200199d565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031662001c967f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b6001600160a01b03161462001d035760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b6163746976652070726f787960a01b60648201526084016200199d565b62001d0e8262003bde565b620019b28282600162003be8565b6000306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161462001dbe5760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c000000000000000060648201526084016200199d565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc90565b62001ded6200397c565b62001df762003d94565b33600081815261010d602090815260408083208054825181850281018501909352808352919290919083018282801562001e5b57602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831162001e3c575b50505050509050600080600090505b8251811015620020425782818151811062001e895762001e89620053b4565b602090810291909101015160405163782aadff60e01b81526001600160a01b038681166004830152602482018890529091169063782aadff906044016020604051808303816000875af115801562001ee5573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001f0b919062005341565b915081156200202d576001600160a01b038416600090815261010b60205260408120845184929086908590811062001f475762001f47620053b4565b60200260200101516001600160a01b03166001600160a01b03168152602001908152602001600020600082825462001f8091906200537e565b925050819055506200202d6040518060400160405280600e81526020017f537472617465677920706f77657200000000000000000000000000000000000081525061010b6000876001600160a01b03166001600160a01b03168152602001908152602001600020600086858151811062001ffe5762001ffe620053b4565b60200260200101516001600160a01b03166001600160a01b031681526020019081526020016000205462003abf565b806200203981620053ca565b91505062001e6a565b50610105546200205e906001600160a01b031684308762003a39565b6001600160a01b038316600090815261010c6020526040812060010180548692906200208c9084906200537e565b9091555050604080516001600160a01b0385168152602081018690527f576605f9bfe8911e7508bed3763c7c5c8eb3b86e8b360b90a4bc6abe1104cb7f91015b60405180910390a15050506200120c6001606555565b620020ec6200397c565b620020f662003d94565b33600081815261010d6020908152604080832060fc5461010c90935290832060010154909291906200212a908690620053e6565b101562002163576040517f9c47d02e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610105546200217d906001600160a01b0316848662003b21565b60005b82548110156200245f576000838281548110620021a157620021a1620053b4565b6000918252602090912001546001600160a01b03169050620021cb8163f1801e6160e01b62003df5565b1562002383576040517f2ed04b2b0000000000000000000000000000000000000000000000000000000081526001600160a01b03868116600483015260248201889052821690632ed04b2b906044016020604051808303816000875af11580156200223a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002260919062005341565b9250600061010b6000876001600160a01b03166001600160a01b031681526020019081526020016000206000868581548110620022a157620022a1620053b4565b60009182526020808320909101546001600160a01b031683528201929092526040019020549050808411156200230e576040517f8a11f31800000000000000000000000000000000000000000000000000000000815260048101859052602481018290526044016200199d565b6001600160a01b038616600090815261010b602052604081208654869290889087908110620023415762002341620053b4565b60009182526020808320909101546001600160a01b031683528201929092526040018120805490919062002377908490620053e6565b90915550505062002449565b835484906200239590600190620053e6565b81548110620023a857620023a8620053b4565b9060005260206000200160009054906101000a90046001600160a01b0316848381548110620023db57620023db620053b4565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b03160217905550838054806200241c576200241c620053fc565b600082815260209020810160001990810180546001600160a01b0319169055019055620024498162003641565b50806200245681620053ca565b91505062002180565b506001600160a01b038316600090815261010c6020526040812060010180548692906200248e908490620053e6565b9091555050604080516001600160a01b0385168152602081018690527f6ee2c70b2d6b89ae808a2313aab43e925c06624271419cd665d85cfa1ae04ff89101620020cc565b620024dd6200397c565b620024e7620034de565b60fb5460ff1662002524576040517fcb63dc7200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b03808316600090815261010c60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff16151591018190526200258957604051636a5cfb6d60e01b815260040160405180910390fd5b6001600160a01b03808316600090815261010c60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff16151590820152620025da8362003e1d565b6001600160a01b03838116600090815261010c6020908152604080832080546001600160a01b031916815560018101939093556002909201805460ff191690556101055490840151915163a9059cbb60e01b8152858416600482015260248101929092529091169063a9059cbb906044016020604051808303816000875af11580156200266b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002691919062005412565b50602080820151604080516001600160a01b0380881682528616938101939093528201527fb5946f249f8744efe9d14d49a483b54a589b1362944ff6694de93456cceb96a39060600160405180910390a150620019b26001606555565b620026f862003f4b565b62001920600062003fa7565b6200270e620034de565b6101075460405163068bcd8d60e01b8152600481018390526000916001600160a01b03169063068bcd8d90602401600060405180830381865afa1580156200275a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405262002784919081019062005432565b602001519050620027958162003600565b620019b28162003641565b620027aa620034de565b6101075460405163068bcd8d60e01b8152600481018390526000916001600160a01b03169063068bcd8d90602401600060405180830381865afa158015620027f6573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405262002820919081019062005432565b602001519050620028318162003600565b6200284d6001600160a01b03821663f1801e6160e01b62003df5565b15620019b257620019b2816200369f565b600054610100900460ff16158080156200287f5750600054600160ff909116105b806200289b5750303b1580156200289b575060005460ff166001145b6200290f5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084016200199d565b6000805460ff19166001179055801562002933576000805461ff0019166101001790555b6200293d62003ff9565b6200294762004070565b62002951620040e7565b6200297e7f03be538b6391ddcd7f2649585cc95b120c9e2a613f70714fbb55345057d809fa600062004154565b6200298d826020015162003600565b6200299d82610100015162003600565b8151620029aa9062003600565b620029b98260a0015162003600565b620029c982610180015162003600565b606082015115620029e357620029e38260c0015162003600565b815161010780546001600160a01b039283166001600160a01b03199182161790915560208401516101058054919093169116179055604082015160000362002a57576040517fc70d18aa00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604082015160fc55606082015160fd5561014082015160fb805460ff19169115159190911790556101208201516101089062002a949082620055f7565b506101608201516101099062002aab9082620055f7565b5060a082015161010080546001600160a01b03199081166001600160a01b0393841617825560c085015160ff8054831691851691909117905590840151610106805483168285161790556101808501516101018054909316931692909217905562002b38907f03be538b6391ddcd7f2649585cc95b120c9e2a613f70714fbb55345057d809fa90620038d8565b61010760009054906101000a90046001600160a01b03166001600160a01b0316635ab1bd536040518163ffffffff1660e01b8152600401602060405180830381865afa15801562002b8d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002bb3919062005394565b61010480546001600160a01b0319166001600160a01b0392831617905561010654604080517fa0e67e2b0000000000000000000000000000000000000000000000000000000081529051600093929092169163a0e67e2b9160048082019286929091908290030181865afa15801562002c30573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405262002c5a9190810190620056c4565b905060008151600262002c6e91906200537e565b67ffffffffffffffff81111562002c895762002c8962004ca1565b60405190808252806020026020018201604052801562002cb3578160200160208202803683370190505b50905060005b825181101562002d225782818151811062002cd85762002cd8620053b4565b602002602001015182828151811062002cf55762002cf5620053b4565b6001600160a01b03909216602092830291909101909101528062002d1981620053ca565b91505062002cb9565b506101065481516001600160a01b0390911690829062002d4590600190620053e6565b8151811062002d585762002d58620053b4565b60200260200101906001600160a01b031690816001600160a01b03168152505030816002835162002d8a9190620053e6565b8151811062002d9d5762002d9d620053b4565b6001600160a01b03928316602091820292909201015261010454608086015160e08701516040517f3a92f65f0000000000000000000000000000000000000000000000000000000081529290931692633a92f65f9262002e09929161010891309088906004016200586f565b6020604051808303816000875af115801562002e29573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002e4f919062005341565b60fe55805162002e689061010f90602084019062004ac6565b507f2f2ffcb06f8a1d35e2716f6b43ef2c19bfa76467d8f66964ae12c2583ed0320560fe546101088660e0015160405162002ea693929190620058c3565b60405180910390a150508015620019b2576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200162001334565b600080600060405162002f079062004b30565b604051809103906000f08015801562002f24573d6000803e3d6000fd5b5061010754604080516001600160a01b0390921660248084019190915281518084039091018152604490920181526020820180516001600160e01b03167f19ab453c000000000000000000000000000000000000000000000000000000001790525162002f919062004b3e565b62002f9e929190620058f2565b604051809103906000f08015801562002fbb573d6000803e3d6000fd5b50905062002fcc8187878762003351565b9250925050935093915050565b610103546001600160a01b031633146200301f576040517febcd0d6e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b620019206200419f565b6101098054620030399062005569565b80601f0160208091040260200160405190810160405280929190818152602001828054620030679062005569565b8015620030b85780601f106200308c57610100808354040283529160200191620030b8565b820191906000526020600020905b8154815290600101906020018083116200309a57829003601f168201915b505050505081565b620030ca6200397c565b33620030d68162003547565b620030e18162003e1d565b6001600160a01b03808216600081815261010c602090815260408083208151606081018352815496871681526001820180548286015260028301805460ff81161515848701529787526001600160a01b03199098169092559084905560ff1990941690945561010d905291822090916200315c919062004b4c565b61010554602082015160405163a9059cbb60e01b81526001600160a01b038581166004830152602482019290925291169063a9059cbb906044016020604051808303816000875af1158015620031b6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620031dc919062005412565b50602080820151604080516001600160a01b0386168152928301919091527fa13f4668aacb68c4e9eed8e3f6e1cbec3eca776896ec46b5eabcc3983fc8f5f4910160405180910390a15050620019206001606555565b62003241612710600a620052f1565b81565b6101088054620030399062005569565b600082815260c960205260409020600101546200327181620038cc565b620014a1838362003b5a565b6001600160a01b03811660009081527fa867e09674d469ee17077111ff66261f5d2fc5820cc6914676cb47231da58818602052604081205460ff1662000dda565b620032c862003f4b565b6001600160a01b038116620033465760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084016200199d565b6200120c8162003fa7565b60008073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6001600160a01b038616156200337c5750845b869150600061010f805480602002602001604051908101604052809291908181526020018280548015620033da57602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311620033bb575b50506101075460fe546040519596506001600160a01b039091169463e1007d4a945090925087915062003412908b906020016200592d565b6040516020818303038152906040528660008b886040518863ffffffff1660e01b81526004016200344a9796959493929190620059cb565b6020604051808303816000875af11580156200346a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062003490919062005341565b93507f778cac0ae0b66477341553a4a89398c61ccf448313d3354ad0ca85a5a825d2838484308a89604051620034cb95949392919062005a3d565b60405180910390a1505094509492505050565b3360009081527fa867e09674d469ee17077111ff66261f5d2fc5820cc6914676cb47231da58818602052604090205460ff1662001920576040517ff62651fa00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b03808216600090815261010c60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff16151591018190526200120c57604051636a5cfb6d60e01b815260040160405180910390fd5b6001600160a01b038116600090815261010a602052604090205460ff166200120c576040517f46c26e4b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0381166200120c576040517fe622e04000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6200364c8162003600565b6001600160a01b038116600081815261010a6020908152604091829020805460ff1916905590519182527f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea4910162000e64565b6001600160a01b038116600090815261010a602052604090205460ff1615620036f4576040517f968a4d2c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038116600081815261010a6020908152604091829020805460ff1916600117905590519182527f3f008fd510eae7a9e7bee13513d7b83bef8003d488b5a3d0b0da4de71d6846f1910162000e64565b806001600160a01b0316826001600160a01b031614620019b2576040517fbbe7961100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038216600090815261010d60205260408120905b8154811015620038c657826001600160a01b0316828281548110620037da57620037da620053b4565b6000918252602090912001546001600160a01b031603620038b157815482906200380790600190620053e6565b815481106200381a576200381a620053b4565b9060005260206000200160009054906101000a90046001600160a01b03168282815481106200384d576200384d620053b4565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b03160217905550818054806200388e576200388e620053fc565b600082815260209020810160001990810180546001600160a01b03191690550190555b80620038bd81620053ca565b915050620037b1565b50505050565b6200120c8133620041fc565b600082815260c9602090815260408083206001600160a01b038516845290915290205460ff16620019b257600082815260c9602090815260408083206001600160a01b03851684529091529020805460ff19166001179055620039383390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b600260655403620039d05760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064016200199d565b6002606555565b620019b28282604051602401620039f092919062005a79565b60408051601f198184030181529190526020810180516001600160e01b03167f319af333000000000000000000000000000000000000000000000000000000001790526200427a565b6040516001600160a01b0380851660248301528316604482015260648101829052620038c69085907f23b872dd00000000000000000000000000000000000000000000000000000000906084015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091526200429b565b620019b2828260405160240162003ad892919062005aa6565b60408051601f198184030181529190526020810180516001600160e01b03167f9710a9d0000000000000000000000000000000000000000000000000000000001790526200427a565b6040516001600160a01b038316602482015260448101829052620014a190849063a9059cbb60e01b9060640162003a87565b6001606555565b600082815260c9602090815260408083206001600160a01b038516845290915290205460ff1615620019b257600082815260c9602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b6200120c62003f4b565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff161562003c1e57620014a1836200438a565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa92505050801562003c7b575060408051601f3d908101601f1916820190925262003c789181019062005341565b60015b62003cef5760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201527f6f6e206973206e6f74205555505300000000000000000000000000000000000060648201526084016200199d565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc811462003d865760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f7860448201527f6961626c6555554944000000000000000000000000000000000000000000000060648201526084016200199d565b50620014a18383836200444a565b33600090815261010c6020908152604091829020825160608101845281546001600160a01b031681526001820154928101929092526002015460ff16151591018190526200192057604051636a5cfb6d60e01b815260040160405180910390fd5b600062003e028362004475565b801562003e16575062003e168383620044ad565b9392505050565b6001600160a01b038116600090815261010d602090815260408083208054825181850281018501909352808352919290919083018282801562003e8a57602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831162003e6b575b5050505050905060005b8151811015620014a15781818151811062003eb35762003eb3620053b4565b60209081029190910101516040517f6453d9c40000000000000000000000000000000000000000000000000000000081526001600160a01b03858116600483015290911690636453d9c490602401600060405180830381600087803b15801562003f1c57600080fd5b505af115801562003f31573d6000803e3d6000fd5b50505050808062003f4290620053ca565b91505062003e94565b6033546001600160a01b03163314620019205760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016200199d565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600054610100900460ff16620040665760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b60648201526084016200199d565b6200192062004538565b600054610100900460ff16620040dd5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b60648201526084016200199d565b62001920620045b0565b600054610100900460ff16620019205760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b60648201526084016200199d565b600082815260c96020526040808220600101805490849055905190918391839186917fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff9190a4505050565b610103805461010680546001600160a01b0383166001600160a01b031991821617909155169055604051600081527fad0399dc40331b9a4977aa89da7a164a3fd482c65e6da73b25a94ea74fb688729060200160405180910390a1565b600082815260c9602090815260408083206001600160a01b038516845290915290205460ff16620019b25762004232816200461d565b6200423f83602062004630565b6040516020016200425292919062005aca565b60408051601f198184030181529082905262461bcd60e51b82526200199d9160040162005246565b80516a636f6e736f6c652e6c6f67602083016000808483855afa5050505050565b6000620042f2826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166200482f9092919063ffffffff16565b90508051600014806200431657508080602001905181019062004316919062005412565b620014a15760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f7420737563636565640000000000000000000000000000000000000000000060648201526084016200199d565b6001600160a01b0381163b620044095760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201527f6f74206120636f6e74726163740000000000000000000000000000000000000060648201526084016200199d565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b620044558362004848565b600082511180620044635750805b15620014a157620038c683836200488a565b60006200448a826301ffc9a760e01b620044ad565b801562000dda5750620044a6826001600160e01b0319620044ad565b1592915050565b604080516001600160e01b03198316602480830191909152825180830390910181526044909101909152602080820180516001600160e01b03166301ffc9a760e01b178152825160009392849283928392918391908a617530fa92503d9150600051905082801562004520575060208210155b80156200452d5750600081115b979650505050505050565b600054610100900460ff16620045a55760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b60648201526084016200199d565b620019203362003fa7565b600054610100900460ff1662003b535760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b60648201526084016200199d565b606062000dda6001600160a01b03831660145b6060600062004641836002620052f1565b6200464e9060026200537e565b67ffffffffffffffff81111562004669576200466962004ca1565b6040519080825280601f01601f19166020018201604052801562004694576020820181803683370190505b5090507f300000000000000000000000000000000000000000000000000000000000000081600081518110620046ce57620046ce620053b4565b60200101906001600160f81b031916908160001a9053507f7800000000000000000000000000000000000000000000000000000000000000816001815181106200471c576200471c620053b4565b60200101906001600160f81b031916908160001a905350600062004742846002620052f1565b6200474f9060016200537e565b90505b6001811115620047de577f303132333435363738396162636465660000000000000000000000000000000085600f1660108110620047945762004794620053b4565b1a60f81b828281518110620047ad57620047ad620053b4565b60200101906001600160f81b031916908160001a90535060049490941c93620047d68162005b4f565b905062004752565b50831562003e165760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e7460448201526064016200199d565b6060620048408484600085620048b2565b949350505050565b62004853816200438a565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b606062003e1683836040518060600160405280602781526020016200ba0660279139620049a1565b6060824710156200492c5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c000000000000000000000000000000000000000000000000000060648201526084016200199d565b600080866001600160a01b031685876040516200494a919062005b69565b60006040518083038185875af1925050503d806000811462004989576040519150601f19603f3d011682016040523d82523d6000602084013e6200498e565b606091505b50915091506200452d8783838762004a1f565b6060600080856001600160a01b031685604051620049c0919062005b69565b600060405180830381855af49150503d8060008114620049fd576040519150601f19603f3d011682016040523d82523d6000602084013e62004a02565b606091505b509150915062004a158683838762004a1f565b9695505050505050565b6060831562004a9357825160000362004a8b576001600160a01b0385163b62004a8b5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016200199d565b508162004840565b62004840838381511562004aaa5781518083602001fd5b8060405162461bcd60e51b81526004016200199d919062005246565b82805482825590600052602060002090810192821562004b1e579160200282015b8281111562004b1e57825182546001600160a01b0319166001600160a01b0390911617825560209092019160019091019062004ae7565b5062004b2c92915062004b67565b5090565b61596a8062005b8883390190565b6104ee806200b4f283390190565b50805460008255906000526020600020908101906200120c91905b5b8082111562004b2c576000815560010162004b68565b60006020828403121562004b9157600080fd5b81356001600160e01b03198116811462003e1657600080fd5b60006020828403121562004bbd57600080fd5b5035919050565b6001600160a01b03811681146200120c57600080fd5b803562004be78162004bc4565b919050565b6000806040838503121562004c0057600080fd5b823562004c0d8162004bc4565b9150602083013562004c1f8162004bc4565b809150509250929050565b60006020828403121562004c3d57600080fd5b813562003e168162004bc4565b6000806040838503121562004c5e57600080fd5b823562004c6b8162004bc4565b946020939093013593505050565b6000806040838503121562004c8d57600080fd5b82359150602083013562004c1f8162004bc4565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff8111828210171562004cdd5762004cdd62004ca1565b60405290565b6040516101a0810167ffffffffffffffff8111828210171562004cdd5762004cdd62004ca1565b604051610120810167ffffffffffffffff8111828210171562004cdd5762004cdd62004ca1565b60405160c0810167ffffffffffffffff8111828210171562004cdd5762004cdd62004ca1565b604051601f8201601f1916810167ffffffffffffffff8111828210171562004d835762004d8362004ca1565b604052919050565b600067ffffffffffffffff82111562004da85762004da862004ca1565b50601f01601f191660200190565b600062004dcd62004dc78462004d8b565b62004d57565b905082815283838301111562004de257600080fd5b828260208301376000602084830101529392505050565b6000806040838503121562004e0d57600080fd5b823562004e1a8162004bc4565b9150602083013567ffffffffffffffff81111562004e3757600080fd5b8301601f8101851362004e4957600080fd5b62004e5a8582356020840162004db6565b9150509250929050565b600082601f83011262004e7657600080fd5b62003e168383356020850162004db6565b60006040828403121562004e9a57600080fd5b62004ea462004cb7565b905081358152602082013567ffffffffffffffff81111562004ec557600080fd5b62004ed38482850162004e64565b60208301525092915050565b80151581146200120c57600080fd5b803562004be78162004edf565b60006020828403121562004f0e57600080fd5b813567ffffffffffffffff8082111562004f2757600080fd5b908301906101a0828603121562004f3d57600080fd5b62004f4762004ce3565b62004f528362004bda565b815262004f626020840162004bda565b602082015260408301356040820152606083013560608201526080830135608082015262004f9360a0840162004bda565b60a082015262004fa660c0840162004bda565b60c082015260e08301358281111562004fbe57600080fd5b62004fcc8782860162004e87565b60e08301525061010062004fe281850162004bda565b90820152610120838101358381111562004ffb57600080fd5b620050098882870162004e64565b8284015250506101406200501f81850162004eee565b9082015261016083810135838111156200503857600080fd5b620050468882870162004e64565b82840152505061018091506200505e82840162004bda565b91810191909152949350505050565b80356003811062004be757600080fd5b600481106200120c57600080fd5b803562004be7816200507d565b600060208284031215620050ab57600080fd5b6040516020810181811067ffffffffffffffff82111715620050d157620050d162004ca1565b6040529135825250919050565b60006101208284031215620050f257600080fd5b620050fc62004d0a565b9050620051098262004bda565b8152602082013560208201526040820135604082015260608201356060820152608082013560808201526200514160a083016200506d565b60a08201526200515460c083016200508b565b60c0820152620051688360e0840162005098565b60e08201526101006200517d81840162004bda565b9082015292915050565b600080600061016084860312156200519e57600080fd5b8335620051ab8162004bc4565b9250620051bc8560208601620050de565b915061014084013567ffffffffffffffff811115620051da57600080fd5b620051e88682870162004e87565b9150509250925092565b60005b838110156200520f578181015183820152602001620051f5565b50506000910152565b6000815180845262005232816020860160208601620051f2565b601f01601f19169290920160200192915050565b60208152600062003e16602083018462005218565b60008060008061018085870312156200527357600080fd5b8435620052808162004bc4565b93506020850135620052928162004bc4565b9250620052a38660408701620050de565b915061016085013567ffffffffffffffff811115620052c157600080fd5b620052cf8782880162004e87565b91505092959194509250565b634e487b7160e01b600052601160045260246000fd5b808202811582820484141762000dda5762000dda620052db565b634e487b7160e01b600052602160045260246000fd5b6000602082840312156200533457600080fd5b815162003e16816200507d565b6000602082840312156200535457600080fd5b5051919050565b6000826200537957634e487b7160e01b600052601260045260246000fd5b500490565b8082018082111562000dda5762000dda620052db565b600060208284031215620053a757600080fd5b815162003e168162004bc4565b634e487b7160e01b600052603260045260246000fd5b600060018201620053df57620053df620052db565b5060010190565b8181038181111562000dda5762000dda620052db565b634e487b7160e01b600052603160045260246000fd5b6000602082840312156200542557600080fd5b815162003e168162004edf565b600060208083850312156200544657600080fd5b825167ffffffffffffffff808211156200545f57600080fd5b9084019060c082870312156200547457600080fd5b6200547e62004d31565b8251815283830151620054918162004bc4565b818501526040830151620054a58162004bc4565b6040820152606083015182811115620054bd57600080fd5b830160408189031215620054d057600080fd5b620054da62004cb7565b815181528582015184811115620054f057600080fd5b82019350601f840189136200550457600080fd5b835191506200551762004dc78362004d8b565b82815289878487010111156200552c57600080fd5b6200553d83888301898801620051f2565b95810195909552506060810193909352506080818101519083015260a090810151908201529392505050565b600181811c908216806200557e57607f821691505b6020821081036200559f57634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620014a157600081815260208120601f850160051c81016020861015620055ce5750805b601f850160051c820191505b81811015620055ef57828155600101620055da565b505050505050565b815167ffffffffffffffff81111562005614576200561462004ca1565b6200562c8162005625845462005569565b84620055a5565b602080601f8311600181146200566457600084156200564b5750858301515b600019600386901b1c1916600185901b178555620055ef565b600085815260208120601f198616915b82811015620056955788860151825594840194600190910190840162005674565b5085821015620056b45787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60006020808385031215620056d857600080fd5b825167ffffffffffffffff80821115620056f157600080fd5b818501915085601f8301126200570657600080fd5b8151818111156200571b576200571b62004ca1565b8060051b91506200572e84830162004d57565b81815291830184019184810190888411156200574957600080fd5b938501935b83851015620057775784519250620057668362004bc4565b82825293850193908501906200574e565b98975050505050505050565b60008154620057928162005569565b808552602060018381168015620057b25760018114620057cd57620057fd565b60ff1985168884015283151560051b880183019550620057fd565b866000528260002060005b85811015620057f55781548a8201860152908301908401620057d8565b890184019650505b505050505092915050565b80518252600060208201516040602085015262004840604085018262005218565b600081518084526020808501945080840160005b83811015620058645781516001600160a01b0316875295820195908201906001016200583d565b509495945050505050565b85815260a0602082015260006200588a60a083018762005783565b82810360408401526200589e818762005808565b90506001600160a01b0385166060840152828103608084015262005777818562005829565b838152606060208201526000620058de606083018562005783565b828103604084015262004a15818562005808565b6001600160a01b038316815260406020820152600062004840604083018462005218565b600481106200592957620059296200530b565b9052565b6000610120820190506001600160a01b0383511682526020830151602083015260408301516040830152606083015160608301526080830151608083015260a0830151600381106200598357620059836200530b565b8060a08401525060c08301516200599e60c084018262005916565b5060e0830151620059b260e0840182519052565b50610100928301516001600160a01b0316919092015290565b87815260006001600160a01b03808916602084015260e06040840152620059f660e084018962005218565b818816606085015286608085015283810360a085015262005a18818762005808565b91505082810360c084015262005a2f818562005829565b9a9950505050505050505050565b85815260006001600160a01b038087166020840152808616604084015280851660608401525060a060808301526200452d60a083018462005808565b60408152600062005a8e604083018562005218565b90506001600160a01b03831660208301529392505050565b60408152600062005abb604083018562005218565b90508260208301529392505050565b7f416363657373436f6e74726f6c3a206163636f756e742000000000000000000081526000835162005b04816017850160208801620051f2565b7f206973206d697373696e6720726f6c6520000000000000000000000000000000601791840191820152835162005b43816028840160208801620051f2565b01602801949350505050565b60008162005b615762005b61620052db565b506000190190565b6000825162005b7d818460208701620051f2565b919091019291505056fe60a0604052306080526000606d81905560705534801561001e57600080fd5b506080516159136200005760003960008181611231015281816112b6015281816113b70152818161143c015261152201526159136000f3fe6080604052600436106103c75760003560e01c806376365af7116101f2578063b5f620ce11610119578063e0dd2c38116100b2578063ef2920fc11610084578063f321b3051161006c578063f321b30514610b89578063f5b0dfb714610ba9578063fc1711f214610bc957005b8063ef2920fc14610b56578063f2fde38b14610b6957005b8063e0dd2c3814610ac9578063e33add9314610ae9578063eb11af9314610b09578063edd146cc14610b3657005b8063c7f758a8116100eb578063c7f758a814610a39578063d1e3623214610a6f578063dc96ff2d14610a84578063df868ed314610ab457005b8063b5f620ce146109a6578063b6c61f31146109c6578063bcc5b93b146109e6578063c329217114610a1c57005b8063950559d71161018b578063a574cea41161015d578063a574cea414610916578063aba9ffee14610943578063ac1ed7b914610959578063b2b878d01461097957005b8063950559d7146108a1578063a0cf0aea146108c1578063a1aab33f146108e9578063a47ff7e5146108ff57005b8063817b1cd2116101c4578063817b1cd21461082d578063824ea8ed14610843578063868c57b8146108635780638da5cb5b1461088357005b806376365af7146107cc578063782aadff146107e25780637c6570ba14610802578063814516ad1461081857005b8063346db8cb116102ee5780634f1ef286116102875780635db64b99116102595780636453d9c4116102415780636453d9c41461077757806369fa25c414610797578063715018a6146107b757005b80635db64b991461072a5780636003e4141461075757005b80634f1ef286146106cc57806352d1902d146106df57806354fac919146106f457806359a5db8b1461070a57005b8063406244d8116102c0578063406244d81461066d57806342fda9c7146106825780634ab4ba42146106975780634d31d087146106ac57005b8063346db8cb146105f1578063351d9f96146106115780633659cfe61461063857806338fff2d01461065857005b806315cc481e116103605780632bbe0cae116103325780632bbe0cae146105725780632cefadbb146105855780632dbd6fdd146105a55780632ed04b2b146105d157005b806315cc481e146104eb57806319ab453c1461051d5780631aa91a9e1461053d5780631ddf1e231461055d57005b80630ba95909116103995780630ba959091461047f5780630c0512e91461049e5780630f529ba2146104b457806311f22ae3146104cb57005b8063013cf08b146103d057806301ffc9a71461040f578063058aca441461043f5780630a6f0ee91461045f57005b366103ce57005b005b3480156103dc57600080fd5b506103f06103eb36600461481d565b610be9565b6040516104069a999897969594939291906148cf565b60405180910390f35b34801561041b57600080fd5b5061042f61042a366004614942565b610cf7565b6040519015158152602001610406565b34801561044b57600080fd5b506103ce61045a366004614999565b610d90565b34801561046b57600080fd5b506103ce61047a366004614ba9565b610df0565b34801561048b57600080fd5b506073545b604051908152602001610406565b3480156104aa57600080fd5b50610490606d5481565b3480156104c057600080fd5b506104906298968081565b3480156104d757600080fd5b506103ce6104e636600461481d565b610e10565b3480156104f757600080fd5b506065546001600160a01b03165b6040516001600160a01b039091168152602001610406565b34801561052957600080fd5b506103ce610538366004614999565b610e4f565b34801561054957600080fd5b5061049061055836600461481d565b610fb0565b34801561056957600080fd5b506103ce611036565b610505610580366004614c21565b611041565b34801561059157600080fd5b506103ce6105a036600461481d565b611064565b3480156105b157600080fd5b506072546105c490610100900460ff1681565b6040516104069190614c83565b3480156105dd57600080fd5b506104906105ec366004614c91565b6110b0565b3480156105fd57600080fd5b5061049061060c366004614cbd565b611182565b34801561061d57600080fd5b5060725461062b9060ff1681565b6040516104069190614cf9565b34801561064457600080fd5b506103ce610653366004614999565b611227565b34801561066457600080fd5b50606854610490565b34801561067957600080fd5b50610490600a81565b34801561068e57600080fd5b50606654610490565b3480156106a357600080fd5b50606954610490565b3480156106b857600080fd5b5061042f6106c7366004614999565b6113a2565b6103ce6106da366004614d07565b6113ad565b3480156106eb57600080fd5b50610490611515565b34801561070057600080fd5b50610490606a5481565b34801561071657600080fd5b5061049061072536600461481d565b6115da565b34801561073657600080fd5b50610490610745366004614999565b60776020526000908152604090205481565b34801561076357600080fd5b50607454610505906001600160a01b031681565b34801561078357600080fd5b506103ce610792366004614999565b611717565b3480156107a357600080fd5b506103ce6107b236600461481d565b611728565b3480156107c357600080fd5b506103ce611767565b3480156107d857600080fd5b50610490606b5481565b3480156107ee57600080fd5b506104906107fd366004614c91565b611779565b34801561080e57600080fd5b5061049060705481565b34801561082457600080fd5b506103ce61191b565b34801561083957600080fd5b50610490606e5481565b34801561084f57600080fd5b5061042f61085e36600461481d565b611a4d565b34801561086f57600080fd5b5061049061087e366004614c91565b611aaa565b34801561088f57600080fd5b506033546001600160a01b0316610505565b3480156108ad57600080fd5b506104906108bc36600461481d565b611adb565b3480156108cd57600080fd5b5061050573eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b3480156108f557600080fd5b50610490606c5481565b34801561090b57600080fd5b506073546104909081565b34801561092257600080fd5b5061093661093136600461481d565b611b05565b6040516104069190614d57565b34801561094f57600080fd5b50610490606f5481565b34801561096557600080fd5b506103ce610974366004614999565b611be4565b34801561098557600080fd5b50610999610994366004614d6a565b611cc5565b6040516104069190614e3f565b3480156109b257600080fd5b506103ce6109c1366004614ea5565b611ce0565b3480156109d257600080fd5b50607554610505906001600160a01b031681565b3480156109f257600080fd5b50610490610a01366004614999565b6001600160a01b031660009081526077602052604090205490565b348015610a2857600080fd5b50607254610100900460ff166105c4565b348015610a4557600080fd5b50610a59610a5436600461481d565b611ce9565b6040516104069a99989796959493929190614ec2565b348015610a7b57600080fd5b50606f54610490565b348015610a9057600080fd5b50610490610a9f36600461481d565b60009081526076602052604090206002015490565b348015610ac057600080fd5b5061042f611deb565b348015610ad557600080fd5b50610490610ae4366004614f27565b611dfe565b348015610af557600080fd5b506103ce610b04366004614f4c565b611e29565b348015610b1557600080fd5b50610b29610b24366004614999565b611e42565b6040516104069190614ff7565b348015610b4257600080fd5b506103ce610b51366004615011565b611e4d565b6103ce610b64366004614c21565b611f9b565b348015610b7557600080fd5b506103ce610b84366004614999565b611fb5565b348015610b9557600080fd5b506103ce610ba4366004615042565b612042565b348015610bb557600080fd5b506103ce610bc436600461481d565b61208d565b348015610bd557600080fd5b506103ce610be436600461481d565b6120b6565b6076602090815260009182526040918290208054600182015460028301546003840154600485015460058601546006870154600788015460088901548b51808d01909c52600a8a0180548d52600b8b0180549a9d999c989b979a6001600160a01b039788169a968816999790951697939660ff9093169593949192840191610c709061509c565b80601f0160208091040260200160405190810160405280929190818152602001828054610c9c9061509c565b8015610ce95780601f10610cbe57610100808354040283529160200191610ce9565b820191906000526020600020905b815481529060010190602001808311610ccc57829003601f168201915b50505050508152505090508a565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167ff1801e61000000000000000000000000000000000000000000000000000000001480610d8a57507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b33610d9a816120f5565b607480546001600160a01b0319166001600160a01b0384169081179091556040519081527fd6ceddf6d2a22f21c7c81675c518004eff43bc5c8a6fc32a0b748e69d58671cd906020015b60405180910390a15050565b610df86121a4565b610e006121cf565b610e0b83838361220b565b505050565b33610e1a816120f5565b606b8290556040518281527f08e39b387d1f739ce0d2553bb31822392e3f67c62c6c0a215120ab4a6841a8ab90602001610de4565b600054610100900460ff1615808015610e6f5750600054600160ff909116105b80610e895750303b158015610e89575060005460ff166001145b610f005760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084015b60405180910390fd5b6000805460ff191660011790558015610f23576000805461ff0019166101001790555b610f62826040518060400160405280600a81526020017f4356537472617465677900000000000000000000000000000000000000000000815250612042565b610f6a61251f565b8015610fac576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249890602001610de4565b5050565b600081815260766020526040812080548314610fe25760405163c1d17bef60e01b815260048101849052602401610ef7565b6001600882015460ff166004811115610ffd57610ffd614836565b1461101e576040516344980d8f60e01b815260048101849052602401610ef7565b61102c818260020154612592565b6003015492915050565b61103f336125cd565b565b600061104b6121a4565b6110536121cf565b61105d838361271e565b9392505050565b3361106e816120f5565b60705460408051918252602082018490527f056aedca4e334b6c4bea48715fb0de644811b740894de57a0380d3eb90f2805b910160405180910390a150607055565b60006110ba612a70565b60006002607254610100900460ff1660038111156110da576110da614836565b148061110157506001607254610100900460ff1660038111156110ff576110ff614836565b145b1561110d57508161111a565b6111178484612ab4565b90505b80606f600082825461112c91906150e6565b9091555050604080516001600160a01b0386168152602081018590529081018290527f70b752f3fadb6ac131c0ece847fcbb6994ec56ed6411595710fd9b29c6ac6cc19060600160405180910390a19392505050565b60008084905060006111a8629896806080606a54901b6111a2919061510f565b83612d78565b905060806f80000000000000000000000000000000606a54629896806111ce91906150e6565b6111dc84600160801b6150e6565b6111e96298968089615131565b6111f39190615131565b6111fd919061510f565b6112078885615131565b6112119190615148565b61121b9190615148565b901c9695505050505050565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036112b45760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b19195b1959d85d1958d85b1b60a21b6064820152608401610ef7565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661130f7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b6001600160a01b03161461137a5760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b6163746976652070726f787960a01b6064820152608401610ef7565b61138381612e21565b6040805160008082526020820190925261139f91839190612e29565b50565b6000610d8a82612fc9565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016300361143a5760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b19195b1959d85d1958d85b1b60a21b6064820152608401610ef7565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166114957f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b6001600160a01b0316146115005760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b6163746976652070726f787960a01b6064820152608401610ef7565b61150982612e21565b610fac82826001612e29565b6000306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146115b55760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c00000000000000006064820152608401610ef7565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc90565b60008060695411611617576040517fed4421ad00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61162082612fe9565b1561163e57604051630efd728560e21b815260040160405180910390fd5b6069546000906116578468010000000000000000615131565b611661919061510f565b62989680606b546801000000000000000061167c9190615131565b611686919061510f565b61169091906150e6565b9050604061169d606f5490565b606a546116ad90629896806150e6565b6298968060406116bd8680615131565b901c629896806080606c54901b6116d4919061510f565b6116de919061510f565b6116e89190615131565b6116f2919061510f565b6116fc9190615131565b901c915060705482116117115760705461105d565b50919050565b61171f612a70565b61139f816125cd565b33611732816120f5565b606a8290556040518281527f592dcd55d60d892e7fcb3ba105013312e99691cd59f91e15f83cb67cb5a505f290602001610de4565b61176f613010565b61103f600061306a565b6000611783612a70565b61178c836130bc565b6117a957604051630b72d6b160e31b815260040160405180910390fd5b60006002607254610100900460ff1660038111156117c9576117c9614836565b036117d757825b9050611834565b6001607254610100900460ff1660038111156117f5576117f5614836565b03611804576117d08484613164565b6003607254610100900460ff16600381111561182257611822614836565b036118345761183184846132ca565b90505b60745460405163011de97360e61b81526001600160a01b038681166004830152306024830152600092169063477a5cc090604401602060405180830381865afa158015611885573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118a9919061515b565b905080156118c95781606f60008282546118c39190615148565b90915550505b604080516001600160a01b0387168152602081018690529081018390527f0b9150e1e54346ed3fa36b977cd5d65dca5a649c737c3174a26bddaadd47667a9060600160405180910390a1509392505050565b33611925816130bc565b61194257604051630b72d6b160e31b815260040160405180910390fd5b6074546040517f0d4a8b490000000000000000000000000000000000000000000000000000000081526001600160a01b03838116600483015230602483015290911690630d4a8b4990604401600060405180830381600087803b1580156119a857600080fd5b505af11580156119bc573d6000803e3d6000fd5b5050607454604051637817ee4f60e01b81526001600160a01b0385811660048301523060248301529091169250637817ee4f9150604401602060405180830381865afa158015611a10573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a349190615178565b606f6000828254611a459190615148565b909155505050565b6000818152607660205260408120600281015482908190611a6f908490613511565b91509150816000148015611a81575080155b15611a8e57826003015491505b6000611a9d84600101546115da565b9092101595945050505050565b60786020528160005260406000208181548110611ac657600080fd5b90600052602060002001600091509150505481565b6000606a5462989680611aee91906150e6565b611afb6298968084615131565b610d8a919061510f565b604080518082019091526000815260606020820152600060766000848152602001908152602001600020905080600a0160405180604001604052908160008201548152602001600182018054611b5a9061509c565b80601f0160208091040260200160405190810160405280929190818152602001828054611b869061509c565b8015611bd35780601f10611ba857610100808354040283529160200191611bd3565b820191906000526020600020905b815481529060010190602001808311611bb657829003601f168201915b505050505081525050915050919050565b607460009054906101000a90046001600160a01b03166001600160a01b0316636c53db9a6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611c37573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c5b9190615191565b6001600160a01b03163303611c9357611c7381613569565b607580546001600160a01b0383166001600160a01b031990911617905550565b6040517fe860ec7e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b606060405163d623472560e01b815260040160405180910390fd5b61139f816135a9565b6000806000806000806000806000806000607660008d815260200190815260200160002090508060010154600014611d2d57611d2881600101546115da565b611d30565b60005b92508060050160009054906101000a90046001600160a01b03168160040160009054906101000a90046001600160a01b03168260060160009054906101000a90046001600160a01b0316836001015484600201548560080160009054906101000a900460ff16866007015487600301548a896009016000336001600160a01b03166001600160a01b03168152602001908152602001600020549a509a509a509a509a509a509a509a509a509a50509193959799509193959799565b6000611df960675460ff1690565b905090565b60008281526076602090815260408083206001600160a01b038516845260090190915281205461105d565b60405163d623472560e01b815260040160405180910390fd5b6000610d8a826135ea565b611e556121a4565b611e5e8261360a565b600081806020019051810190611e74919061521e565b80519091506001600160a01b0316611e9f57604051635df4b1ef60e01b815260040160405180910390fd5b8051607480546001600160a01b0319166001600160a01b039092169190911790556020810151606a556040810151606b556060810151606c5560a08101516072805460ff19166001836002811115611ef957611ef9614836565b021790555060c08101516072805461ff001916610100836003811115611f2157611f21614836565b021790555060e0810151516073556080810151607055610100810151607580546001600160a01b0319166001600160a01b039092169190911790556040517f4ebdec05fb64815e553aeaf3976ef8112dd79760a459bee3ac7d1659ab2c4e0490611f8e90859084906152b9565b60405180910390a1505050565b611fa36121a4565b611fab6121cf565b610fac828261368b565b611fbd613010565b6001600160a01b0381166120395760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610ef7565b61139f8161306a565b606580546001600160a01b0319166001600160a01b03841617905560405161206e90829060200161534c565b60408051601f1981840301815291905280516020909101206066555050565b6120956121a4565b80606960008282546120a79190615148565b9091555061139f90508161379a565b336120c0816120f5565b606c8290556040518281527f30ee8206062f283e56a0af2b02138016bf7442ded26ad68a92a18a9dd246fb4990602001610de4565b6065546068546040517f29e40d4b00000000000000000000000000000000000000000000000000000000815260048101919091526001600160a01b038381166024830152909116906329e40d4b90604401602060405180830381865afa158015612163573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612187919061515b565b61139f5760405163075fd2b160e01b815260040160405180910390fd5b6065546001600160a01b0316331461103f5760405163075fd2b160e01b815260040160405180910390fd5b60685460000361103f576040517f3da3f98c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000825111612246576040517fc5f7c4c000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008280602001905181019061225c9190615178565b905080600003612298576040517ff881a10d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000818152607660205260409020600160725460ff1660028111156122bf576122bf614836565b0361251857805482146122e85760405163c1d17bef60e01b815260048101839052602401610ef7565b606954816001015411156123405760018101546069546040517f5863b0b60000000000000000000000000000000000000000000000000000000081526004810185905260248101929092526044820152606401610ef7565b6001600882015460ff16600481111561235b5761235b614836565b1461237c576040516344980d8f60e01b815260048101839052602401610ef7565b600061238783610fb0565b9050600061239883600101546115da565b905080821080156123ad575060008360010154115b156123e4576040517fcce7930800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6065546068546040517f068bcd8d00000000000000000000000000000000000000000000000000000000815260048101919091526000916001600160a01b03169063068bcd8d90602401600060405180830381865afa15801561244b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261247391908101906153ec565b905083600101546069600082825461248b91906150e6565b90915550506040810151600485015460018601546124b392916001600160a01b0316906137ca565b60088401805460ff191660049081179091558401546001850154604080518881526001600160a01b0390931660208401528201527fa7932e9c92f31e1ed56b29d00bbe669a97484dc24de28dd9c8c0429df7f358479060600160405180910390a15050505b5050505050565b600054610100900460ff1661258a5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401610ef7565b61103f61380f565b60008061259f8484613511565b915091508160001480156125b1575080155b156125bc5750505050565b600784015560039092019190915550565b607454604051637817ee4f60e01b81526001600160a01b03838116600483015230602483015290911690637817ee4f90604401602060405180830381865afa15801561261d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126419190615178565b606f600082825461265291906150e6565b90915550506074546040517f22bcf9990000000000000000000000000000000000000000000000000000000081526001600160a01b038381166004830152306024830152909116906322bcf99990604401600060405180830381600087803b1580156126bd57600080fd5b505af11580156126d1573d6000803e3d6000fd5b505050506126de81613883565b6040516001600160a01b03821681527f1468da654b37bb3631011c1917d02e0db437d519918858d40b38b5e980ca033b906020015b60405180910390a150565b6000612729826130bc565b61274657604051630b72d6b160e31b815260040160405180910390fd5b60008380602001905181019061275c91906154a0565b805190915060000361279a576040517f4e79178600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600160725460ff1660028111156127b3576127b3614836565b03612963576127c58160200151613569565b60608101516001600160a01b0316612809576040517f596a094c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000306001600160a01b03166315cc481e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612849573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061286d9190615191565b6001600160a01b031663068bcd8d6068546040518263ffffffff1660e01b815260040161289c91815260200190565b600060405180830381865afa1580156128b9573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526128e191908101906153ec565b604001519050806001600160a01b031682606001516001600160a01b031614612936576040517fa29c498600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6129438260400151612fe9565b1561296157604051630efd728560e21b815260040160405180910390fd5b505b6000606d6000815461297490615547565b918290555060008181526076602090815260408083208481556005810180546001600160a01b038b81166001600160a01b0319928316179092558885015160048401805491841691831691909117905560608901516006840180549190931691161790559086015160018083019190915560088201805460ff19169091179055436007820155600381019290925560808501518051600a8401908155918101519394509192600b840190612a2890826155ae565b505060685460408051918252602082018590527ffcf3b1aa65a464cef2889608f99e8b8c0f680a4be6c2acb9d961c536a5a9294b92500160405180910390a150949350505050565b6074546001600160a01b0316331461103f576040517faf0916a200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b607454604080516336d8759760e21b815290516000926012926001600160a01b039091169163db61d65c916004808201926020929091908290030181865afa158015612b04573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612b289190615191565b6001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015612b81575060408051601f3d908101601f19168201909252612b7e9181019061566e565b60015b612bc857612bc36040518060400160405280601581526020017f4572726f722067657474696e6720646563696d616c0000000000000000000000815250613a10565b612bce565b60ff1690505b612c0d6040518060400160405280601081526020017f5f616d6f756e74546f556e7374616b650000000000000000000000000000000081525084613a81565b6074546040516316308e2560e11b81526001600160a01b0386811660048301526000928692911690632c611c4a90602401602060405180830381865afa158015612c5b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612c7f9190615178565b612c8991906150e6565b9050612cca6040518060400160405280600d81526020017f6e6577546f74616c5374616b650000000000000000000000000000000000000081525082613a81565b6000612ce9612cda84600a615775565b612ce49084615131565b613af4565b607454604051637817ee4f60e01b81526001600160a01b03898116600483015230602483015292935060009284921690637817ee4f90604401602060405180830381865afa158015612d3f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612d639190615178565b612d6d91906150e6565b979650505050505050565b6000600160801b8310612dcd5760405162461bcd60e51b815260206004820152601c60248201527f5f612073686f756c64206265206c657373207468616e20325e313238000000006044820152606401610ef7565b50600160801b82825b8015612e195780600116600003612dfb57612df18283613bdc565b915060011c612dd6565b612e058383613bdc565b9250612e126001826150e6565b9050612dd6565b505092915050565b61139f613010565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615612e5c57610e0b83613cdb565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015612eb6575060408051601f3d908101601f19168201909252612eb391810190615178565b60015b612f285760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201527f6f6e206973206e6f7420555550530000000000000000000000000000000000006064820152608401610ef7565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8114612fbd5760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f7860448201527f6961626c655555494400000000000000000000000000000000000000000000006064820152608401610ef7565b50610e0b838383613d99565b60006001600160a01b03821615612fe1576001610d8a565b600092915050565b6000612ff86298968083615131565b606954606b546130089190615131565b111592915050565b6033546001600160a01b0316331461103f5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610ef7565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6075546000906001600160a01b03166130d757506001919050565b6075546040517f42a987a00000000000000000000000000000000000000000000000000000000081526001600160a01b038481166004830152306024830152909116906342a987a090604401602060405180830381865afa158015613140573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d8a919061515b565b6000808290506131a96040518060400160405280601281526020017f504f494e545320544f20494e435245415345000000000000000000000000000081525082613a81565b607454604051637817ee4f60e01b81526001600160a01b0386811660048301523060248301526000921690637817ee4f90604401602060405180830381865afa1580156131fa573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061321e9190615178565b905061325f6040518060400160405280600b81526020017f4d454d424552504f57455200000000000000000000000000000000000000000081525082613a81565b60735461326c8383615148565b1115613283576073546132809082906150e6565b91505b6132c26040518060400160405280601681526020017f504f494e545320544f20494e43524541534520454e440000000000000000000081525083613a81565b509392505050565b6074546040516316308e2560e11b81526001600160a01b0384811660048301526000928392859290911690632c611c4a90602401602060405180830381865afa15801561331b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061333f9190615178565b6133499190615148565b607454604080516336d8759760e21b815290519293506012926001600160a01b039092169163db61d65c916004808201926020929091908290030181865afa158015613399573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906133bd9190615191565b6001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015613416575060408051601f3d908101601f191682019092526134139181019061566e565b60015b61345d576134586040518060400160405280601581526020017f4572726f722067657474696e6720646563696d616c0000000000000000000000815250613a10565b613463565b60ff1690505b600061347d61347383600a615775565b612ce49085615131565b607454604051637817ee4f60e01b81526001600160a01b03898116600483015230602483015292935060009290911690637817ee4f90604401602060405180830381865afa1580156134d3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906134f79190615178565b9050600061350582846150e6565b98975050505050505050565b600080439050808460070154111561352b5761352b615781565b8084600701540361354157506000905080613562565b61355f84600701548261355491906150e6565b856003015485611182565b91505b9250929050565b6001600160a01b03811661139f576040517fe622e04000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6067805460ff19168215159081179091556040519081527fd94c9bc4d43c51d8dc345a016d8e3d994432fac68e72832e4cf3a616bd8efae090602001612713565b60006001600160a01b03821615613602576002610d8a565b600392915050565b6136126121a4565b6068541561364c576040517f439a74c900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80600003613686576040517f7fcce2a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b606855565b61369481613dbe565b61369d816130bc565b6136ba57604051630b72d6b160e31b815260040160405180910390fd5b60745460405163011de97360e61b81526001600160a01b038381166004830152306024830152600092169063477a5cc090604401602060405180830381865afa15801561370b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061372f919061515b565b905080613768576040517f5fccb67f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008380602001905181019061377e9190615797565b905061378a8382613ee4565b61379483826140a7565b50505050565b6040518181527f46aeb5d8770fc4474bc2dfa118fd2595f7fb33ce2cbce6f4e5a3dabfe0f7633990602001612713565b7fffffffffffffffffffffffff11111111111111111111111111111111111111126001600160a01b0384160161380457610e0b82826144cb565b610e0b8383836144e7565b600054610100900460ff1661387a5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401610ef7565b61103f3361306a565b6001600160a01b0381166000908152607860209081526040808320805482518185028101850190935280835291929091908301828280156138e357602002820191906000526020600020905b8154815260200190600101908083116138cf575b5050505050905060005b8151811015610e0b57600082828151811061390a5761390a615842565b60200260200101519050600060766000838152602001908152602001600020905061393482614536565b156139fb576001600160a01b038516600090815260098201602052604081208054908290556002830180549192839261396e9084906150e6565b9250508190555080606e600082825461398791906150e6565b9091555061399790508282612592565b60028201546003830154604080516001600160a01b038a1681526020810187905260008183015260608101939093526080830191909152517f0227f642ddcf2042ceaeafadb9d540f432072c00cd4862881667168dcc14710f9181900360a00190a1505b50508080613a0890615547565b9150506138ed565b61139f81604051602401613a24919061534c565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f41304fac0000000000000000000000000000000000000000000000000000000017905261456f565b610fac8282604051602401613a97929190615858565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f9710a9d00000000000000000000000000000000000000000000000000000000017905261456f565b600081600003613b0657506000919050565b60006001613b1384614590565b901c6001901b90506001818481613b2c57613b2c6150f9565b048201901c90506001818481613b4457613b446150f9565b048201901c90506001818481613b5c57613b5c6150f9565b048201901c90506001818481613b7457613b746150f9565b048201901c90506001818481613b8c57613b8c6150f9565b048201901c90506001818481613ba457613ba46150f9565b048201901c90506001818481613bbc57613bbc6150f9565b048201901c905061105d81828581613bd657613bd66150f9565b04614624565b6000600160801b831115613c585760405162461bcd60e51b815260206004820152602860248201527f5f612073686f756c64206265206c657373207468616e206f7220657175616c2060448201527f746f20325e3132380000000000000000000000000000000000000000000000006064820152608401610ef7565b600160801b8210613cab5760405162461bcd60e51b815260206004820152601c60248201527f5f622073686f756c64206265206c657373207468616e20325e313238000000006044820152606401610ef7565b60806f80000000000000000000000000000000613cc88486615131565b613cd29190615148565b901c9392505050565b6001600160a01b0381163b613d585760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201527f6f74206120636f6e7472616374000000000000000000000000000000000000006064820152608401610ef7565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b613da28361463a565b600082511180613daf5750805b15610e0b57613794838361467a565b6001600160a01b038116613dfe576040517fd1f2828800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6074546001600160a01b0316613e2757604051635df4b1ef60e01b815260040160405180910390fd5b6074546040517fa230c5240000000000000000000000000000000000000000000000000000000081526001600160a01b0383811660048301529091169063a230c52490602401602060405180830381865afa158015613e8a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613eae919061515b565b61139f576040517f6a5cfb6d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000805b8251811015613fa157828181518110613f0357613f03615842565b60200260200101516000015160000315613f8f576000838281518110613f2b57613f2b615842565b6020026020010151600001519050613f4281614536565b613f625760405163c1d17bef60e01b815260048101829052602401610ef7565b838281518110613f7457613f74615842565b60200260200101516020015183613f8b919061587a565b9250505b80613f9981615547565b915050613ee8565b506001600160a01b038316600090815260776020526040812054613fc5908361469f565b607454604051637817ee4f60e01b81526001600160a01b03878116600483015230602483015292935060009290911690637817ee4f90604401602060405180830381865afa15801561401b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061403f9190615178565b905080821115614085576040517fd64182fe0000000000000000000000000000000000000000000000000000000081526004810183905260248101829052604401610ef7565b506001600160a01b039093166000908152607760205260409020929092555050565b606060005b82518110156137945760008382815181106140c9576140c9615842565b60200260200101516000015190508251600003614125576040805160018082528183019092529060208083019080368337019050509250808360008151811061411457614114615842565b602002602001018181525050614278565b6000805b84518110156141a4578285828151811061414557614145615842565b602002602001015103614192576040517fadebb154000000000000000000000000000000000000000000000000000000008152600481018490526024810182905260019250604401610ef7565b8061419c81615547565b915050614129565b5080614276576000845160016141ba9190615148565b67ffffffffffffffff8111156141d2576141d26149b6565b6040519080825280602002602001820160405280156141fb578160200160208202803683370190505b50905060005b85518110156142535785818151811061421c5761421c615842565b602002602001015182828151811061423657614236615842565b60209081029190910101528061424b81615547565b915050614201565b50828186518151811061426857614268615842565b602090810291909101015293505b505b600084838151811061428c5761428c615842565b60209081029190910181015181015160008481526076835260408082206001600160a01b038b168352600981019094528120549193506142cc828561469f565b6001600160a01b038a1660009081526009850160205260408120829055909150805b6001600160a01b038b166000908152607860205260409020548110156143655784546001600160a01b038c16600090815260786020526040902080548390811061433a5761433a615842565b9060005260206000200154036143535760019150614365565b8061435d81615547565b9150506142ee565b508061439b576001600160a01b038a16600090815260786020908152604082208654815460018101835591845291909220909101555b8183116143eb576143ac83836150e6565b606e60008282546143bd9190615148565b909155506143cd905083836150e6565b8460020160008282546143e09190615148565b9091555061442f9050565b6143f582846150e6565b606e600082825461440691906150e6565b90915550614416905082846150e6565b84600201600082825461442991906150e6565b90915550505b8360070154600003614446574360078501556144b2565b6144508484612592565b60028401546003850154604080516001600160a01b038e168152602081018a9052908101859052606081019290925260808201527f0227f642ddcf2042ceaeafadb9d540f432072c00cd4862881667168dcc14710f9060a00160405180910390a15b50505050505080806144c390615547565b9150506140ac565b60008060008084865af1610fac5763b12d13eb6000526004601cfd5b81601452806034526fa9059cbb00000000000000000000000060005260206000604460106000875af13d15600160005114171661452c576390b8ec186000526004601cfd5b6000603452505050565b60008181526076602052604081205415801590610d8a5750506000908152607660205260409020600501546001600160a01b0316151590565b80516a636f6e736f6c652e6c6f67602083016000808483855afa5050505050565b600080608083901c156145a557608092831c92015b604083901c156145b757604092831c92015b602083901c156145c957602092831c92015b601083901c156145db57601092831c92015b600883901c156145ed57600892831c92015b600483901c156145ff57600492831c92015b600283901c1561461157600292831c92015b600183901c15610d8a5760010192915050565b6000818310614633578161105d565b5090919050565b61464381613cdb565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b606061105d83836040518060600160405280602781526020016158b7602791396146fa565b6000806146ac838561587a565b9050600081121561105d576040517f3bbc7142000000000000000000000000000000000000000000000000000000008152600481018590526024810184905260448101829052606401610ef7565b6060600080856001600160a01b031685604051614717919061589a565b600060405180830381855af49150503d8060008114614752576040519150601f19603f3d011682016040523d82523d6000602084013e614757565b606091505b509150915061476886838387614772565b9695505050505050565b606083156147e15782516000036147da576001600160a01b0385163b6147da5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610ef7565b50816147eb565b6147eb83836147f3565b949350505050565b8151156148035781518083602001fd5b8060405162461bcd60e51b8152600401610ef7919061534c565b60006020828403121561482f57600080fd5b5035919050565b634e487b7160e01b600052602160045260246000fd5b6005811061485c5761485c614836565b9052565b60005b8381101561487b578181015183820152602001614863565b50506000910152565b6000815180845261489c816020860160208601614860565b601f01601f19169290920160200192915050565b8051825260006020820151604060208501526147eb6040850182614884565b60006101408c83528b60208401528a60408401528960608401526001600160a01b03808a16608085015280891660a085015280881660c0850152508560e084015261491e61010084018661484c565b80610120840152614931818401856148b0565b9d9c50505050505050505050505050565b60006020828403121561495457600080fd5b81357fffffffff000000000000000000000000000000000000000000000000000000008116811461105d57600080fd5b6001600160a01b038116811461139f57600080fd5b6000602082840312156149ab57600080fd5b813561105d81614984565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff811182821017156149ef576149ef6149b6565b60405290565b604051610120810167ffffffffffffffff811182821017156149ef576149ef6149b6565b60405160c0810167ffffffffffffffff811182821017156149ef576149ef6149b6565b60405160a0810167ffffffffffffffff811182821017156149ef576149ef6149b6565b604051601f8201601f1916810167ffffffffffffffff81118282101715614a8857614a886149b6565b604052919050565b600067ffffffffffffffff821115614aaa57614aaa6149b6565b5060051b60200190565b600082601f830112614ac557600080fd5b81356020614ada614ad583614a90565b614a5f565b82815260059290921b84018101918181019086841115614af957600080fd5b8286015b84811015614b1d578035614b1081614984565b8352918301918301614afd565b509695505050505050565b600067ffffffffffffffff821115614b4257614b426149b6565b50601f01601f191660200190565b6000614b5e614ad584614b28565b9050828152838383011115614b7257600080fd5b828260208301376000602084830101529392505050565b600082601f830112614b9a57600080fd5b61105d83833560208501614b50565b600080600060608486031215614bbe57600080fd5b833567ffffffffffffffff80821115614bd657600080fd5b614be287838801614ab4565b94506020860135915080821115614bf857600080fd5b50614c0586828701614b89565b9250506040840135614c1681614984565b809150509250925092565b60008060408385031215614c3457600080fd5b823567ffffffffffffffff811115614c4b57600080fd5b614c5785828601614b89565b9250506020830135614c6881614984565b809150509250929050565b6004811061485c5761485c614836565b60208101610d8a8284614c73565b60008060408385031215614ca457600080fd5b8235614caf81614984565b946020939093013593505050565b600080600060608486031215614cd257600080fd5b505081359360208301359350604090920135919050565b6003811061485c5761485c614836565b60208101610d8a8284614ce9565b60008060408385031215614d1a57600080fd5b8235614d2581614984565b9150602083013567ffffffffffffffff811115614d4157600080fd5b614d4d85828601614b89565b9150509250929050565b60208152600061105d60208301846148b0565b60008060408385031215614d7d57600080fd5b823567ffffffffffffffff80821115614d9557600080fd5b614da186838701614ab4565b9350602091508185013581811115614db857600080fd5b8501601f81018713614dc957600080fd5b8035614dd7614ad582614a90565b81815260059190911b82018401908481019089831115614df657600080fd5b8584015b83811015614e2e57803586811115614e125760008081fd5b614e208c8983890101614b89565b845250918601918601614dfa565b508096505050505050509250929050565b602080825282518282018190526000919060409081850190868401855b82811015614e8a57815180516001600160a01b03168552860151868501529284019290850190600101614e5c565b5091979650505050505050565b801515811461139f57600080fd5b600060208284031215614eb757600080fd5b813561105d81614e97565b6001600160a01b038b811682528a811660208301528916604082015260608101889052608081018790526101408101614efe60a083018861484c565b8560c08301528460e083015283610100830152826101208301529b9a5050505050505050505050565b60008060408385031215614f3a57600080fd5b823591506020830135614c6881614984565b60006020808385031215614f5f57600080fd5b823567ffffffffffffffff811115614f7657600080fd5b8301601f81018513614f8757600080fd5b8035614f95614ad582614a90565b81815260069190911b82018301908381019087831115614fb457600080fd5b928401925b82841015612d6d5760408489031215614fd25760008081fd5b614fda6149cc565b843581528585013586820152825260409093019290840190614fb9565b602081016007831061500b5761500b614836565b91905290565b6000806040838503121561502457600080fd5b82359150602083013567ffffffffffffffff811115614d4157600080fd5b6000806040838503121561505557600080fd5b823561506081614984565b9150602083013567ffffffffffffffff81111561507c57600080fd5b8301601f8101851361508d57600080fd5b614d4d85823560208401614b50565b600181811c908216806150b057607f821691505b60208210810361171157634e487b7160e01b600052602260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b81810381811115610d8a57610d8a6150d0565b634e487b7160e01b600052601260045260246000fd5b60008261512c57634e487b7160e01b600052601260045260246000fd5b500490565b8082028115828204841417610d8a57610d8a6150d0565b80820180821115610d8a57610d8a6150d0565b60006020828403121561516d57600080fd5b815161105d81614e97565b60006020828403121561518a57600080fd5b5051919050565b6000602082840312156151a357600080fd5b815161105d81614984565b80516151b981614984565b919050565b8051600381106151b957600080fd5b8051600481106151b957600080fd5b6000602082840312156151ee57600080fd5b6040516020810181811067ffffffffffffffff82111715615211576152116149b6565b6040529151825250919050565b6000610120828403121561523157600080fd5b6152396149f5565b615242836151ae565b81526020830151602082015260408301516040820152606083015160608201526080830151608082015261527860a084016151be565b60a082015261528960c084016151cd565b60c082015261529b8460e085016151dc565b60e08201526101006152ae8185016151ae565b908201529392505050565b6000610140820190508382526001600160a01b038351166020830152602083015160408301526040830151606083015260608301516080830152608083015160a083015260a083015161530f60c0840182614ce9565b5060c083015161532260e0840182614c73565b5060e08301515161010083810191909152909201516001600160a01b031661012090910152919050565b60208152600061105d6020830184614884565b60006040828403121561537157600080fd5b6153796149cc565b905081518152602082015167ffffffffffffffff81111561539957600080fd5b8201601f810184136153aa57600080fd5b80516153b8614ad582614b28565b8181528560208385010111156153cd57600080fd5b6153de826020830160208601614860565b602084015250909392505050565b6000602082840312156153fe57600080fd5b815167ffffffffffffffff8082111561541657600080fd5b9083019060c0828603121561542a57600080fd5b615432614a19565b82518152602083015161544481614984565b6020820152604083015161545781614984565b604082015260608301518281111561546e57600080fd5b61547a8782860161535f565b6060830152506080830151608082015260a083015160a082015280935050505092915050565b6000602082840312156154b257600080fd5b815167ffffffffffffffff808211156154ca57600080fd5b9083019060a082860312156154de57600080fd5b6154e6614a3c565b8251815260208301516154f881614984565b602082015260408381015190820152606083015161551581614984565b606082015260808301518281111561552c57600080fd5b6155388782860161535f565b60808301525095945050505050565b600060018201615559576155596150d0565b5060010190565b601f821115610e0b57600081815260208120601f850160051c810160208610156155875750805b601f850160051c820191505b818110156155a657828155600101615593565b505050505050565b815167ffffffffffffffff8111156155c8576155c86149b6565b6155dc816155d6845461509c565b84615560565b602080601f83116001811461561157600084156155f95750858301515b600019600386901b1c1916600185901b1785556155a6565b600085815260208120601f198616915b8281101561564057888601518255948401946001909101908401615621565b508582101561565e5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60006020828403121561568057600080fd5b815160ff8116811461105d57600080fd5b600181815b808511156156cc5781600019048211156156b2576156b26150d0565b808516156156bf57918102915b93841c9390800290615696565b509250929050565b6000826156e357506001610d8a565b816156f057506000610d8a565b816001811461570657600281146157105761572c565b6001915050610d8a565b60ff841115615721576157216150d0565b50506001821b610d8a565b5060208310610133831016604e8410600b841016171561574f575081810a610d8a565b6157598383615691565b806000190482111561576d5761576d6150d0565b029392505050565b600061105d83836156d4565b634e487b7160e01b600052600160045260246000fd5b600060208083850312156157aa57600080fd5b825167ffffffffffffffff8111156157c157600080fd5b8301601f810185136157d257600080fd5b80516157e0614ad582614a90565b81815260069190911b820183019083810190878311156157ff57600080fd5b928401925b82841015612d6d576040848903121561581d5760008081fd5b6158256149cc565b845181528585015186820152825260409093019290840190615804565b634e487b7160e01b600052603260045260246000fd5b60408152600061586b6040830185614884565b90508260208301529392505050565b8082018281126000831280158216821582161715612e1957612e196150d0565b600082516158ac818460208701614860565b919091019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a264697066735822122049b3231cbecd6db9d79eb7e6e0aa3bb1452345bd067dee068696bdb771968c2d64736f6c6343000813003360806040526040516104ee3803806104ee833981016040819052610022916102de565b61002e82826000610035565b50506103fb565b61003e83610061565b60008251118061004b5750805b1561005c5761005a83836100a1565b505b505050565b61006a816100cd565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606100c683836040518060600160405280602781526020016104c760279139610180565b9392505050565b6001600160a01b0381163b61013f5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080856001600160a01b03168560405161019d91906103ac565b600060405180830381855af49150503d80600081146101d8576040519150601f19603f3d011682016040523d82523d6000602084013e6101dd565b606091505b5090925090506101ef868383876101f9565b9695505050505050565b60608315610268578251600003610261576001600160a01b0385163b6102615760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610136565b5081610272565b610272838361027a565b949350505050565b81511561028a5781518083602001fd5b8060405162461bcd60e51b815260040161013691906103c8565b634e487b7160e01b600052604160045260246000fd5b60005b838110156102d55781810151838201526020016102bd565b50506000910152565b600080604083850312156102f157600080fd5b82516001600160a01b038116811461030857600080fd5b60208401519092506001600160401b038082111561032557600080fd5b818501915085601f83011261033957600080fd5b81518181111561034b5761034b6102a4565b604051601f8201601f19908116603f01168101908382118183101715610373576103736102a4565b8160405282815288602084870101111561038c57600080fd5b61039d8360208301602088016102ba565b80955050505050509250929050565b600082516103be8184602087016102ba565b9190910192915050565b60208152600082518060208401526103e78160408501602087016102ba565b601f01601f19169190910160400192915050565b60be806104096000396000f3fe608060405236601057600e6013565b005b600e5b601f601b6021565b6065565b565b600060607f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b905090565b3660008037600080366000845af43d6000803e8080156083573d6000f35b3d6000fdfea2646970667358221220499685897c672853da42a8c7337889b98ad42121f6c852e2a981477235103d8964736f6c63430008130033416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c656467617264656e73466163746f72792e67657447617264656e7346656552656365697665722829416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220cdf2d863746c7010819b5a761c8453d51648f6ffbb5ed493a3c7accd5f90cd8964736f6c63430008130033","sourceMap":"1415:24000:134:-:0;;;1088:4:68;1045:48;;1415:24000:134;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405260043610620003ef5760003560e01c80636c53db9a116200020f578063a217fddf1162000123578063d547741f11620000ad578063ebd7dc521162000078578063ebd7dc521462000cfd578063f2fde38b1462000d22578063f86c5f891462000d47578063ff6409ef1462000d6a57600080fd5b8063d547741f1462000c7a578063d6d8428d1462000c9f578063d7050f071462000cc2578063db61d65c1462000cda57600080fd5b8063b64e39af11620000ee578063b64e39af1462000c0b578063b99b43701462000c32578063bc063e1a1462000c4a578063c6d572ae1462000c6257600080fd5b8063a217fddf1462000b51578063a230c5241462000b68578063b3f006741462000bd1578063b5058c501462000bf357600080fd5b806382d6a1e711620001a557806391d14854116200017057806391d148541462000a7557806396f0adec1462000abf57806397991cfa1462000ae4578063a0cf0aea1462000b2757600080fd5b806382d6a1e714620009a257806388cfe68414620009c75780638961be6b1462000a3d5780638da5cb5b1462000a5557600080fd5b8063733a2d1f11620001e6578063733a2d1f14620008e65780637817ee4f146200091c57806378a0b8a914620009675780637b103999146200097f57600080fd5b80636c53db9a1462000886578063715018a614620008a957806373265c3714620008c157600080fd5b80633396045911620003075780634f1ef286116200029d5780635ecf71c511620002685780635ecf71c514620007dc57806365e3864c14620008015780636871eb4d146200083e57806368decabb146200086357600080fd5b80634f1ef286146200076557806352d1902d146200077c578063559de05d14620007945780635c94e4d214620007b957600080fd5b80633659cfe611620002de5780633659cfe614620006a6578063397e254314620006cb5780633a871fe114620006f0578063477a5cc0146200072557600080fd5b80633396045914620006505780633517aa7d146200066957806336568abe146200068157600080fd5b8063223e547911620003895780632b38c69c11620003545780632b38c69c146200058a5780632c611c4a14620005c85780632f2ff15d146200060657806331f61bca146200062b57600080fd5b8063223e547914620004f457806322bcf9991462000519578063248a9ca3146200053e57806328c309e9146200057257600080fd5b80630d12bbdb11620003ca5780630d12bbdb14620004675780630d4a8b49146200048e578063175188e814620004b35780631f787d2814620004d857600080fd5b806301ffc9a714620003f45780630331383c146200042e57806308386eba146200044f575b600080fd5b3480156200040157600080fd5b50620004196200041336600462004b7e565b62000d8f565b60405190151581526020015b60405180910390f35b3480156200043b57600080fd5b5060fc545b60405190815260200162000425565b3480156200045c57600080fd5b506200044060fe5481565b3480156200047457600080fd5b506200048c6200048636600462004baa565b62000de0565b005b3480156200049b57600080fd5b506200048c620004ad36600462004bec565b62000e6f565b348015620004c057600080fd5b506200048c620004d236600462004c2a565b620011f7565b348015620004e557600080fd5b5060fb54620004199060ff1681565b3480156200050157600080fd5b506200048c6200051336600462004c2a565b6200120f565b3480156200052657600080fd5b506200048c6200053836600462004bec565b62001224565b3480156200054b57600080fd5b50620004406200055d36600462004baa565b600090815260c9602052604090206001015490565b3480156200057f57600080fd5b506200044062001340565b3480156200059757600080fd5b50620005af620005a936600462004c4a565b6200143e565b6040516001600160a01b03909116815260200162000425565b348015620005d557600080fd5b5062000440620005e736600462004c2a565b6001600160a01b0316600090815261010c602052604090206001015490565b3480156200061357600080fd5b506200048c6200062536600462004c79565b62001478565b3480156200063857600080fd5b506200048c6200064a36600462004baa565b620014a6565b3480156200065d57600080fd5b50620004406101025481565b3480156200067657600080fd5b506200048c620014e6565b3480156200068e57600080fd5b506200048c620006a036600462004c79565b62001922565b348015620006b357600080fd5b506200048c620006c536600462004c2a565b620019b6565b348015620006d857600080fd5b506200048c620006ea36600462004c2a565b62001b37565b348015620006fd57600080fd5b50620004196200070f36600462004c2a565b61010a6020526000908152604090205460ff1681565b3480156200073257600080fd5b50620004196200074436600462004bec565b61010e60209081526000928352604080842090915290825290205460ff1681565b6200048c6200077636600462004df9565b62001bab565b3480156200078957600080fd5b506200044062001d1c565b348015620007a157600080fd5b506200048c620007b336600462004baa565b62001de3565b348015620007c657600080fd5b5061010154620005af906001600160a01b031681565b348015620007e957600080fd5b506200048c620007fb36600462004baa565b620020e2565b3480156200080e57600080fd5b50620004406200082036600462004bec565b61010b60209081526000928352604080842090915290825290205481565b3480156200084b57600080fd5b506200048c6200085d36600462004bec565b620024d3565b3480156200087057600080fd5b5061010354620005af906001600160a01b031681565b3480156200089357600080fd5b5061010654620005af906001600160a01b031681565b348015620008b657600080fd5b506200048c620026ee565b348015620008ce57600080fd5b506200048c620008e036600462004baa565b62002704565b348015620008f357600080fd5b50620004407f03be538b6391ddcd7f2649585cc95b120c9e2a613f70714fbb55345057d809fa81565b3480156200092957600080fd5b50620004406200093b36600462004bec565b6001600160a01b03918216600090815261010b6020908152604080832093909416825291909152205490565b3480156200097457600080fd5b506200044060fc5481565b3480156200098c57600080fd5b5061010454620005af906001600160a01b031681565b348015620009af57600080fd5b506200048c620009c136600462004baa565b620027a0565b348015620009d457600080fd5b5062000a15620009e636600462004c2a565b61010c602052600090815260409020805460018201546002909201546001600160a01b03909116919060ff1683565b604080516001600160a01b039094168452602084019290925215159082015260600162000425565b34801562000a4a57600080fd5b506200044060fd5481565b34801562000a6257600080fd5b506033546001600160a01b0316620005af565b34801562000a8257600080fd5b506200041962000a9436600462004c79565b600091825260c9602090815260408084206001600160a01b0393909316845291905290205460ff1690565b34801562000acc57600080fd5b506200048c62000ade36600462004efb565b6200285e565b34801562000af157600080fd5b5062000b0962000b0336600462005187565b62002ef4565b604080519283526001600160a01b0390911660208301520162000425565b34801562000b3457600080fd5b50620005af73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b34801562000b5e57600080fd5b5062000440600081565b34801562000b7557600080fd5b506200041962000b8736600462004c2a565b6001600160a01b03908116600090815261010c60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff161515910181905290565b34801562000bde57600080fd5b5060ff54620005af906001600160a01b031681565b34801562000c0057600080fd5b506200048c62002fd9565b34801562000c1857600080fd5b5062000c2362003029565b60405162000425919062005246565b34801562000c3f57600080fd5b506200048c620030c0565b34801562000c5757600080fd5b506200044062003232565b34801562000c6f57600080fd5b5062000c2362003244565b34801562000c8757600080fd5b506200048c62000c9936600462004c79565b62003254565b34801562000cac57600080fd5b5061010754620005af906001600160a01b031681565b34801562000ccf57600080fd5b506200044061271081565b34801562000ce757600080fd5b5061010554620005af906001600160a01b031681565b34801562000d0a57600080fd5b506200041962000d1c36600462004c2a565b6200327d565b34801562000d2f57600080fd5b506200048c62000d4136600462004c2a565b620032be565b34801562000d5457600080fd5b5061010054620005af906001600160a01b031681565b34801562000d7757600080fd5b5062000b0962000d893660046200525b565b62003351565b60006001600160e01b031982167f7965db0b00000000000000000000000000000000000000000000000000000000148062000dda57506301ffc9a760e01b6001600160e01b03198316145b92915050565b62000dea620034de565b62000df9612710600a620052f1565b81111562000e33576040517ffe925f7d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60fd8190556040518181527f611668bfcf654a99c33cdb66c29ec37a5aae5c1287d2d9715a24e18cb4d806d6906020015b60405180910390a150565b62000e7a8262003547565b62000e8581620035ac565b62000e908162003600565b6001600160a01b03808316600090815261010e602090815260408083209385168352929052205460ff161562000ef2576040517fd5b9bc9600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b03808316600090815261010c602090815260409182902082516060810184528154909416845260018101549184018290526002015460ff1615159183019190915260fc546003846001600160a01b031663c32921716040518163ffffffff1660e01b81526004016020604051808303816000875af115801562000f80573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000fa6919062005321565b600381111562000fba5762000fba6200530b565b036200103e5760405163782aadff60e01b81526001600160a01b0386811660048301526000602483015285169063782aadff906044016020604051808303816000875af115801562001010573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001036919062005341565b90506200113a565b6000846001600160a01b031663c32921716040518163ffffffff1660e01b81526004016020604051808303816000875af115801562001081573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620010a7919062005321565b6003811115620010bb57620010bb6200530b565b146200113a5760405163782aadff60e01b81526001600160a01b0386811660048301526024820184905285169063782aadff906044016020604051808303816000875af115801562001111573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001137919062005341565b90505b6001600160a01b03858116600081815261010b6020908152604080832094891680845294825280832086905583835261010e82528083208584528252808320805460ff1916600190811790915584845261010d83528184208054918201815584529282902090920180546001600160a01b0319168517905581519283528201929092529081018290527ff56fa57e85e169a12200d12d9921ec069b52e688f6d309d9dab7bceff54614ec9060600160405180910390a15050505050565b62001201620034de565b6200120c8162003641565b50565b62001219620034de565b6200120c816200369f565b6200122f8262003547565b6200123a8162003600565b6200124633826200374a565b6001600160a01b03808316600090815261010e602090815260408083209385168352929052205460ff16620012a7576040517fc12369dc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b03808316600081815261010e60209081526040808320948616808452948252808320805460ff1916905592825261010b815282822093825292909252812055620012f9828262003796565b604080516001600160a01b038085168252831660208201527ede109bef4619f7e2cf00c8e5a50ca55f8deb44f87087eed414a91dbf8d1d1b91015b60405180910390a15050565b610100546000906001600160a01b031681620013606127106064620052f1565b60fd5460fc54620013729190620052f1565b6200137e91906200535b565b90506000620013916127106064620052f1565b6040516302a64b8360e21b81523060048201526001600160a01b03851690630a992e0c90602401602060405180830381865afa158015620013d6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620013fc919062005341565b60fc546200140b9190620052f1565b6200141791906200535b565b9050808260fc546200142a91906200537e565b6200143691906200537e565b935050505090565b61010d60205281600052604060002081815481106200145c57600080fd5b6000918252602090912001546001600160a01b03169150829050565b600082815260c960205260409020600101546200149581620038cc565b620014a18383620038d8565b505050565b620014b0620034de565b60fc8190556040518181527f5bcc2c453001fb0e2ba6266d56ecb411e7c6e15c8f9c3d301f93dd36ad25726f9060200162000e64565b620014f06200397c565b33600081815261010c602052604081206101005490916001600160a01b0390911690620015216127106064620052f1565b60fd5460fc54620015339190620052f1565b6200153f91906200535b565b90506000620015526127106064620052f1565b6040516302a64b8360e21b81523060048201526001600160a01b03851690630a992e0c90602401602060405180830381865afa15801562001597573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620015bd919062005341565b60fc54620015cc9190620052f1565b620015d891906200535b565b6001600160a01b03808716600090815261010c60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff1615159101819052909150620019105760028401805460ff1916600190811790915560fc549085015560408051808201909152600b81527f67617264656e546f6b656e0000000000000000000000000000000000000000006020820152610105546200168d91906001600160a01b0316620039d7565b620016c68530838560fc54620016a491906200537e565b620016b091906200537e565b610105546001600160a01b031692919062003a39565b620017076040518060400160405280601281526020017f636f6d6d756e697479466565416d6f756e7400000000000000000000000000008152508362003abf565b81156200177a5760408051808201909152600b81527f6665655265636569766572000000000000000000000000000000000000000000602082015260ff546200175a91906001600160a01b0316620039d7565b60ff54610105546200177a916001600160a01b0391821691168462003b21565b620017bb6040518060400160405280601081526020017f67617264656e73466565416d6f756e74000000000000000000000000000000008152508262003abf565b8015620018c9576200184b6040518060600160405280602681526020016200b9e060269139846001600160a01b031663987435be6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200181f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001845919062005394565b620039d7565b620018c9836001600160a01b031663987435be6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200188e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620018b4919062005394565b610105546001600160a01b0316908362003b21565b60fc54604080516001600160a01b038816815260208101929092527f67e0244e28040fec15240cd4b6c04c776a2a0278caef23b59e8ada1df31f7689910160405180910390a15b5050505050620019206001606555565b565b6001600160a01b0381163314620019a65760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201527f20726f6c657320666f722073656c66000000000000000000000000000000000060648201526084015b60405180910390fd5b620019b2828262003b5a565b5050565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016300362001a455760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b19195b1959d85d1958d85b1b60a21b60648201526084016200199d565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031662001aa17f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b6001600160a01b03161462001b0e5760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b6163746976652070726f787960a01b60648201526084016200199d565b62001b198162003bde565b604080516000808252602082019092526200120c9183919062003be8565b62001b41620034de565b62001b4c8162003600565b61010380546001600160a01b0319166001600160a01b03838116918217909255610106546040805191909316815260208101919091527f83eac9fdaff0ac1017624b7eddeb9782e3d707cd894073cb7e8301a41c6e5cf8910162000e64565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016300362001c3a5760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b19195b1959d85d1958d85b1b60a21b60648201526084016200199d565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031662001c967f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b6001600160a01b03161462001d035760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b6163746976652070726f787960a01b60648201526084016200199d565b62001d0e8262003bde565b620019b28282600162003be8565b6000306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161462001dbe5760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c000000000000000060648201526084016200199d565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc90565b62001ded6200397c565b62001df762003d94565b33600081815261010d602090815260408083208054825181850281018501909352808352919290919083018282801562001e5b57602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831162001e3c575b50505050509050600080600090505b8251811015620020425782818151811062001e895762001e89620053b4565b602090810291909101015160405163782aadff60e01b81526001600160a01b038681166004830152602482018890529091169063782aadff906044016020604051808303816000875af115801562001ee5573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001f0b919062005341565b915081156200202d576001600160a01b038416600090815261010b60205260408120845184929086908590811062001f475762001f47620053b4565b60200260200101516001600160a01b03166001600160a01b03168152602001908152602001600020600082825462001f8091906200537e565b925050819055506200202d6040518060400160405280600e81526020017f537472617465677920706f77657200000000000000000000000000000000000081525061010b6000876001600160a01b03166001600160a01b03168152602001908152602001600020600086858151811062001ffe5762001ffe620053b4565b60200260200101516001600160a01b03166001600160a01b031681526020019081526020016000205462003abf565b806200203981620053ca565b91505062001e6a565b50610105546200205e906001600160a01b031684308762003a39565b6001600160a01b038316600090815261010c6020526040812060010180548692906200208c9084906200537e565b9091555050604080516001600160a01b0385168152602081018690527f576605f9bfe8911e7508bed3763c7c5c8eb3b86e8b360b90a4bc6abe1104cb7f91015b60405180910390a15050506200120c6001606555565b620020ec6200397c565b620020f662003d94565b33600081815261010d6020908152604080832060fc5461010c90935290832060010154909291906200212a908690620053e6565b101562002163576040517f9c47d02e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610105546200217d906001600160a01b0316848662003b21565b60005b82548110156200245f576000838281548110620021a157620021a1620053b4565b6000918252602090912001546001600160a01b03169050620021cb8163f1801e6160e01b62003df5565b1562002383576040517f2ed04b2b0000000000000000000000000000000000000000000000000000000081526001600160a01b03868116600483015260248201889052821690632ed04b2b906044016020604051808303816000875af11580156200223a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002260919062005341565b9250600061010b6000876001600160a01b03166001600160a01b031681526020019081526020016000206000868581548110620022a157620022a1620053b4565b60009182526020808320909101546001600160a01b031683528201929092526040019020549050808411156200230e576040517f8a11f31800000000000000000000000000000000000000000000000000000000815260048101859052602481018290526044016200199d565b6001600160a01b038616600090815261010b602052604081208654869290889087908110620023415762002341620053b4565b60009182526020808320909101546001600160a01b031683528201929092526040018120805490919062002377908490620053e6565b90915550505062002449565b835484906200239590600190620053e6565b81548110620023a857620023a8620053b4565b9060005260206000200160009054906101000a90046001600160a01b0316848381548110620023db57620023db620053b4565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b03160217905550838054806200241c576200241c620053fc565b600082815260209020810160001990810180546001600160a01b0319169055019055620024498162003641565b50806200245681620053ca565b91505062002180565b506001600160a01b038316600090815261010c6020526040812060010180548692906200248e908490620053e6565b9091555050604080516001600160a01b0385168152602081018690527f6ee2c70b2d6b89ae808a2313aab43e925c06624271419cd665d85cfa1ae04ff89101620020cc565b620024dd6200397c565b620024e7620034de565b60fb5460ff1662002524576040517fcb63dc7200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b03808316600090815261010c60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff16151591018190526200258957604051636a5cfb6d60e01b815260040160405180910390fd5b6001600160a01b03808316600090815261010c60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff16151590820152620025da8362003e1d565b6001600160a01b03838116600090815261010c6020908152604080832080546001600160a01b031916815560018101939093556002909201805460ff191690556101055490840151915163a9059cbb60e01b8152858416600482015260248101929092529091169063a9059cbb906044016020604051808303816000875af11580156200266b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002691919062005412565b50602080820151604080516001600160a01b0380881682528616938101939093528201527fb5946f249f8744efe9d14d49a483b54a589b1362944ff6694de93456cceb96a39060600160405180910390a150620019b26001606555565b620026f862003f4b565b62001920600062003fa7565b6200270e620034de565b6101075460405163068bcd8d60e01b8152600481018390526000916001600160a01b03169063068bcd8d90602401600060405180830381865afa1580156200275a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405262002784919081019062005432565b602001519050620027958162003600565b620019b28162003641565b620027aa620034de565b6101075460405163068bcd8d60e01b8152600481018390526000916001600160a01b03169063068bcd8d90602401600060405180830381865afa158015620027f6573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405262002820919081019062005432565b602001519050620028318162003600565b6200284d6001600160a01b03821663f1801e6160e01b62003df5565b15620019b257620019b2816200369f565b600054610100900460ff16158080156200287f5750600054600160ff909116105b806200289b5750303b1580156200289b575060005460ff166001145b6200290f5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084016200199d565b6000805460ff19166001179055801562002933576000805461ff0019166101001790555b6200293d62003ff9565b6200294762004070565b62002951620040e7565b6200297e7f03be538b6391ddcd7f2649585cc95b120c9e2a613f70714fbb55345057d809fa600062004154565b6200298d826020015162003600565b6200299d82610100015162003600565b8151620029aa9062003600565b620029b98260a0015162003600565b620029c982610180015162003600565b606082015115620029e357620029e38260c0015162003600565b815161010780546001600160a01b039283166001600160a01b03199182161790915560208401516101058054919093169116179055604082015160000362002a57576040517fc70d18aa00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604082015160fc55606082015160fd5561014082015160fb805460ff19169115159190911790556101208201516101089062002a949082620055f7565b506101608201516101099062002aab9082620055f7565b5060a082015161010080546001600160a01b03199081166001600160a01b0393841617825560c085015160ff8054831691851691909117905590840151610106805483168285161790556101808501516101018054909316931692909217905562002b38907f03be538b6391ddcd7f2649585cc95b120c9e2a613f70714fbb55345057d809fa90620038d8565b61010760009054906101000a90046001600160a01b03166001600160a01b0316635ab1bd536040518163ffffffff1660e01b8152600401602060405180830381865afa15801562002b8d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002bb3919062005394565b61010480546001600160a01b0319166001600160a01b0392831617905561010654604080517fa0e67e2b0000000000000000000000000000000000000000000000000000000081529051600093929092169163a0e67e2b9160048082019286929091908290030181865afa15801562002c30573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405262002c5a9190810190620056c4565b905060008151600262002c6e91906200537e565b67ffffffffffffffff81111562002c895762002c8962004ca1565b60405190808252806020026020018201604052801562002cb3578160200160208202803683370190505b50905060005b825181101562002d225782818151811062002cd85762002cd8620053b4565b602002602001015182828151811062002cf55762002cf5620053b4565b6001600160a01b03909216602092830291909101909101528062002d1981620053ca565b91505062002cb9565b506101065481516001600160a01b0390911690829062002d4590600190620053e6565b8151811062002d585762002d58620053b4565b60200260200101906001600160a01b031690816001600160a01b03168152505030816002835162002d8a9190620053e6565b8151811062002d9d5762002d9d620053b4565b6001600160a01b03928316602091820292909201015261010454608086015160e08701516040517f3a92f65f0000000000000000000000000000000000000000000000000000000081529290931692633a92f65f9262002e09929161010891309088906004016200586f565b6020604051808303816000875af115801562002e29573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002e4f919062005341565b60fe55805162002e689061010f90602084019062004ac6565b507f2f2ffcb06f8a1d35e2716f6b43ef2c19bfa76467d8f66964ae12c2583ed0320560fe546101088660e0015160405162002ea693929190620058c3565b60405180910390a150508015620019b2576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200162001334565b600080600060405162002f079062004b30565b604051809103906000f08015801562002f24573d6000803e3d6000fd5b5061010754604080516001600160a01b0390921660248084019190915281518084039091018152604490920181526020820180516001600160e01b03167f19ab453c000000000000000000000000000000000000000000000000000000001790525162002f919062004b3e565b62002f9e929190620058f2565b604051809103906000f08015801562002fbb573d6000803e3d6000fd5b50905062002fcc8187878762003351565b9250925050935093915050565b610103546001600160a01b031633146200301f576040517febcd0d6e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b620019206200419f565b6101098054620030399062005569565b80601f0160208091040260200160405190810160405280929190818152602001828054620030679062005569565b8015620030b85780601f106200308c57610100808354040283529160200191620030b8565b820191906000526020600020905b8154815290600101906020018083116200309a57829003601f168201915b505050505081565b620030ca6200397c565b33620030d68162003547565b620030e18162003e1d565b6001600160a01b03808216600081815261010c602090815260408083208151606081018352815496871681526001820180548286015260028301805460ff81161515848701529787526001600160a01b03199098169092559084905560ff1990941690945561010d905291822090916200315c919062004b4c565b61010554602082015160405163a9059cbb60e01b81526001600160a01b038581166004830152602482019290925291169063a9059cbb906044016020604051808303816000875af1158015620031b6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620031dc919062005412565b50602080820151604080516001600160a01b0386168152928301919091527fa13f4668aacb68c4e9eed8e3f6e1cbec3eca776896ec46b5eabcc3983fc8f5f4910160405180910390a15050620019206001606555565b62003241612710600a620052f1565b81565b6101088054620030399062005569565b600082815260c960205260409020600101546200327181620038cc565b620014a1838362003b5a565b6001600160a01b03811660009081527fa867e09674d469ee17077111ff66261f5d2fc5820cc6914676cb47231da58818602052604081205460ff1662000dda565b620032c862003f4b565b6001600160a01b038116620033465760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084016200199d565b6200120c8162003fa7565b60008073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6001600160a01b038616156200337c5750845b869150600061010f805480602002602001604051908101604052809291908181526020018280548015620033da57602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311620033bb575b50506101075460fe546040519596506001600160a01b039091169463e1007d4a945090925087915062003412908b906020016200592d565b6040516020818303038152906040528660008b886040518863ffffffff1660e01b81526004016200344a9796959493929190620059cb565b6020604051808303816000875af11580156200346a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062003490919062005341565b93507f778cac0ae0b66477341553a4a89398c61ccf448313d3354ad0ca85a5a825d2838484308a89604051620034cb95949392919062005a3d565b60405180910390a1505094509492505050565b3360009081527fa867e09674d469ee17077111ff66261f5d2fc5820cc6914676cb47231da58818602052604090205460ff1662001920576040517ff62651fa00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b03808216600090815261010c60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff16151591018190526200120c57604051636a5cfb6d60e01b815260040160405180910390fd5b6001600160a01b038116600090815261010a602052604090205460ff166200120c576040517f46c26e4b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0381166200120c576040517fe622e04000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6200364c8162003600565b6001600160a01b038116600081815261010a6020908152604091829020805460ff1916905590519182527f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea4910162000e64565b6001600160a01b038116600090815261010a602052604090205460ff1615620036f4576040517f968a4d2c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038116600081815261010a6020908152604091829020805460ff1916600117905590519182527f3f008fd510eae7a9e7bee13513d7b83bef8003d488b5a3d0b0da4de71d6846f1910162000e64565b806001600160a01b0316826001600160a01b031614620019b2576040517fbbe7961100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038216600090815261010d60205260408120905b8154811015620038c657826001600160a01b0316828281548110620037da57620037da620053b4565b6000918252602090912001546001600160a01b031603620038b157815482906200380790600190620053e6565b815481106200381a576200381a620053b4565b9060005260206000200160009054906101000a90046001600160a01b03168282815481106200384d576200384d620053b4565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b03160217905550818054806200388e576200388e620053fc565b600082815260209020810160001990810180546001600160a01b03191690550190555b80620038bd81620053ca565b915050620037b1565b50505050565b6200120c8133620041fc565b600082815260c9602090815260408083206001600160a01b038516845290915290205460ff16620019b257600082815260c9602090815260408083206001600160a01b03851684529091529020805460ff19166001179055620039383390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b600260655403620039d05760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064016200199d565b6002606555565b620019b28282604051602401620039f092919062005a79565b60408051601f198184030181529190526020810180516001600160e01b03167f319af333000000000000000000000000000000000000000000000000000000001790526200427a565b6040516001600160a01b0380851660248301528316604482015260648101829052620038c69085907f23b872dd00000000000000000000000000000000000000000000000000000000906084015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091526200429b565b620019b2828260405160240162003ad892919062005aa6565b60408051601f198184030181529190526020810180516001600160e01b03167f9710a9d0000000000000000000000000000000000000000000000000000000001790526200427a565b6040516001600160a01b038316602482015260448101829052620014a190849063a9059cbb60e01b9060640162003a87565b6001606555565b600082815260c9602090815260408083206001600160a01b038516845290915290205460ff1615620019b257600082815260c9602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b6200120c62003f4b565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff161562003c1e57620014a1836200438a565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa92505050801562003c7b575060408051601f3d908101601f1916820190925262003c789181019062005341565b60015b62003cef5760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201527f6f6e206973206e6f74205555505300000000000000000000000000000000000060648201526084016200199d565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc811462003d865760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f7860448201527f6961626c6555554944000000000000000000000000000000000000000000000060648201526084016200199d565b50620014a18383836200444a565b33600090815261010c6020908152604091829020825160608101845281546001600160a01b031681526001820154928101929092526002015460ff16151591018190526200192057604051636a5cfb6d60e01b815260040160405180910390fd5b600062003e028362004475565b801562003e16575062003e168383620044ad565b9392505050565b6001600160a01b038116600090815261010d602090815260408083208054825181850281018501909352808352919290919083018282801562003e8a57602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831162003e6b575b5050505050905060005b8151811015620014a15781818151811062003eb35762003eb3620053b4565b60209081029190910101516040517f6453d9c40000000000000000000000000000000000000000000000000000000081526001600160a01b03858116600483015290911690636453d9c490602401600060405180830381600087803b15801562003f1c57600080fd5b505af115801562003f31573d6000803e3d6000fd5b50505050808062003f4290620053ca565b91505062003e94565b6033546001600160a01b03163314620019205760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016200199d565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600054610100900460ff16620040665760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b60648201526084016200199d565b6200192062004538565b600054610100900460ff16620040dd5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b60648201526084016200199d565b62001920620045b0565b600054610100900460ff16620019205760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b60648201526084016200199d565b600082815260c96020526040808220600101805490849055905190918391839186917fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff9190a4505050565b610103805461010680546001600160a01b0383166001600160a01b031991821617909155169055604051600081527fad0399dc40331b9a4977aa89da7a164a3fd482c65e6da73b25a94ea74fb688729060200160405180910390a1565b600082815260c9602090815260408083206001600160a01b038516845290915290205460ff16620019b25762004232816200461d565b6200423f83602062004630565b6040516020016200425292919062005aca565b60408051601f198184030181529082905262461bcd60e51b82526200199d9160040162005246565b80516a636f6e736f6c652e6c6f67602083016000808483855afa5050505050565b6000620042f2826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166200482f9092919063ffffffff16565b90508051600014806200431657508080602001905181019062004316919062005412565b620014a15760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f7420737563636565640000000000000000000000000000000000000000000060648201526084016200199d565b6001600160a01b0381163b620044095760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201527f6f74206120636f6e74726163740000000000000000000000000000000000000060648201526084016200199d565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b620044558362004848565b600082511180620044635750805b15620014a157620038c683836200488a565b60006200448a826301ffc9a760e01b620044ad565b801562000dda5750620044a6826001600160e01b0319620044ad565b1592915050565b604080516001600160e01b03198316602480830191909152825180830390910181526044909101909152602080820180516001600160e01b03166301ffc9a760e01b178152825160009392849283928392918391908a617530fa92503d9150600051905082801562004520575060208210155b80156200452d5750600081115b979650505050505050565b600054610100900460ff16620045a55760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b60648201526084016200199d565b620019203362003fa7565b600054610100900460ff1662003b535760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b60648201526084016200199d565b606062000dda6001600160a01b03831660145b6060600062004641836002620052f1565b6200464e9060026200537e565b67ffffffffffffffff81111562004669576200466962004ca1565b6040519080825280601f01601f19166020018201604052801562004694576020820181803683370190505b5090507f300000000000000000000000000000000000000000000000000000000000000081600081518110620046ce57620046ce620053b4565b60200101906001600160f81b031916908160001a9053507f7800000000000000000000000000000000000000000000000000000000000000816001815181106200471c576200471c620053b4565b60200101906001600160f81b031916908160001a905350600062004742846002620052f1565b6200474f9060016200537e565b90505b6001811115620047de577f303132333435363738396162636465660000000000000000000000000000000085600f1660108110620047945762004794620053b4565b1a60f81b828281518110620047ad57620047ad620053b4565b60200101906001600160f81b031916908160001a90535060049490941c93620047d68162005b4f565b905062004752565b50831562003e165760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e7460448201526064016200199d565b6060620048408484600085620048b2565b949350505050565b62004853816200438a565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b606062003e1683836040518060600160405280602781526020016200ba0660279139620049a1565b6060824710156200492c5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c000000000000000000000000000000000000000000000000000060648201526084016200199d565b600080866001600160a01b031685876040516200494a919062005b69565b60006040518083038185875af1925050503d806000811462004989576040519150601f19603f3d011682016040523d82523d6000602084013e6200498e565b606091505b50915091506200452d8783838762004a1f565b6060600080856001600160a01b031685604051620049c0919062005b69565b600060405180830381855af49150503d8060008114620049fd576040519150601f19603f3d011682016040523d82523d6000602084013e62004a02565b606091505b509150915062004a158683838762004a1f565b9695505050505050565b6060831562004a9357825160000362004a8b576001600160a01b0385163b62004a8b5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016200199d565b508162004840565b62004840838381511562004aaa5781518083602001fd5b8060405162461bcd60e51b81526004016200199d919062005246565b82805482825590600052602060002090810192821562004b1e579160200282015b8281111562004b1e57825182546001600160a01b0319166001600160a01b0390911617825560209092019160019091019062004ae7565b5062004b2c92915062004b67565b5090565b61596a8062005b8883390190565b6104ee806200b4f283390190565b50805460008255906000526020600020908101906200120c91905b5b8082111562004b2c576000815560010162004b68565b60006020828403121562004b9157600080fd5b81356001600160e01b03198116811462003e1657600080fd5b60006020828403121562004bbd57600080fd5b5035919050565b6001600160a01b03811681146200120c57600080fd5b803562004be78162004bc4565b919050565b6000806040838503121562004c0057600080fd5b823562004c0d8162004bc4565b9150602083013562004c1f8162004bc4565b809150509250929050565b60006020828403121562004c3d57600080fd5b813562003e168162004bc4565b6000806040838503121562004c5e57600080fd5b823562004c6b8162004bc4565b946020939093013593505050565b6000806040838503121562004c8d57600080fd5b82359150602083013562004c1f8162004bc4565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff8111828210171562004cdd5762004cdd62004ca1565b60405290565b6040516101a0810167ffffffffffffffff8111828210171562004cdd5762004cdd62004ca1565b604051610120810167ffffffffffffffff8111828210171562004cdd5762004cdd62004ca1565b60405160c0810167ffffffffffffffff8111828210171562004cdd5762004cdd62004ca1565b604051601f8201601f1916810167ffffffffffffffff8111828210171562004d835762004d8362004ca1565b604052919050565b600067ffffffffffffffff82111562004da85762004da862004ca1565b50601f01601f191660200190565b600062004dcd62004dc78462004d8b565b62004d57565b905082815283838301111562004de257600080fd5b828260208301376000602084830101529392505050565b6000806040838503121562004e0d57600080fd5b823562004e1a8162004bc4565b9150602083013567ffffffffffffffff81111562004e3757600080fd5b8301601f8101851362004e4957600080fd5b62004e5a8582356020840162004db6565b9150509250929050565b600082601f83011262004e7657600080fd5b62003e168383356020850162004db6565b60006040828403121562004e9a57600080fd5b62004ea462004cb7565b905081358152602082013567ffffffffffffffff81111562004ec557600080fd5b62004ed38482850162004e64565b60208301525092915050565b80151581146200120c57600080fd5b803562004be78162004edf565b60006020828403121562004f0e57600080fd5b813567ffffffffffffffff8082111562004f2757600080fd5b908301906101a0828603121562004f3d57600080fd5b62004f4762004ce3565b62004f528362004bda565b815262004f626020840162004bda565b602082015260408301356040820152606083013560608201526080830135608082015262004f9360a0840162004bda565b60a082015262004fa660c0840162004bda565b60c082015260e08301358281111562004fbe57600080fd5b62004fcc8782860162004e87565b60e08301525061010062004fe281850162004bda565b90820152610120838101358381111562004ffb57600080fd5b620050098882870162004e64565b8284015250506101406200501f81850162004eee565b9082015261016083810135838111156200503857600080fd5b620050468882870162004e64565b82840152505061018091506200505e82840162004bda565b91810191909152949350505050565b80356003811062004be757600080fd5b600481106200120c57600080fd5b803562004be7816200507d565b600060208284031215620050ab57600080fd5b6040516020810181811067ffffffffffffffff82111715620050d157620050d162004ca1565b6040529135825250919050565b60006101208284031215620050f257600080fd5b620050fc62004d0a565b9050620051098262004bda565b8152602082013560208201526040820135604082015260608201356060820152608082013560808201526200514160a083016200506d565b60a08201526200515460c083016200508b565b60c0820152620051688360e0840162005098565b60e08201526101006200517d81840162004bda565b9082015292915050565b600080600061016084860312156200519e57600080fd5b8335620051ab8162004bc4565b9250620051bc8560208601620050de565b915061014084013567ffffffffffffffff811115620051da57600080fd5b620051e88682870162004e87565b9150509250925092565b60005b838110156200520f578181015183820152602001620051f5565b50506000910152565b6000815180845262005232816020860160208601620051f2565b601f01601f19169290920160200192915050565b60208152600062003e16602083018462005218565b60008060008061018085870312156200527357600080fd5b8435620052808162004bc4565b93506020850135620052928162004bc4565b9250620052a38660408701620050de565b915061016085013567ffffffffffffffff811115620052c157600080fd5b620052cf8782880162004e87565b91505092959194509250565b634e487b7160e01b600052601160045260246000fd5b808202811582820484141762000dda5762000dda620052db565b634e487b7160e01b600052602160045260246000fd5b6000602082840312156200533457600080fd5b815162003e16816200507d565b6000602082840312156200535457600080fd5b5051919050565b6000826200537957634e487b7160e01b600052601260045260246000fd5b500490565b8082018082111562000dda5762000dda620052db565b600060208284031215620053a757600080fd5b815162003e168162004bc4565b634e487b7160e01b600052603260045260246000fd5b600060018201620053df57620053df620052db565b5060010190565b8181038181111562000dda5762000dda620052db565b634e487b7160e01b600052603160045260246000fd5b6000602082840312156200542557600080fd5b815162003e168162004edf565b600060208083850312156200544657600080fd5b825167ffffffffffffffff808211156200545f57600080fd5b9084019060c082870312156200547457600080fd5b6200547e62004d31565b8251815283830151620054918162004bc4565b818501526040830151620054a58162004bc4565b6040820152606083015182811115620054bd57600080fd5b830160408189031215620054d057600080fd5b620054da62004cb7565b815181528582015184811115620054f057600080fd5b82019350601f840189136200550457600080fd5b835191506200551762004dc78362004d8b565b82815289878487010111156200552c57600080fd5b6200553d83888301898801620051f2565b95810195909552506060810193909352506080818101519083015260a090810151908201529392505050565b600181811c908216806200557e57607f821691505b6020821081036200559f57634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620014a157600081815260208120601f850160051c81016020861015620055ce5750805b601f850160051c820191505b81811015620055ef57828155600101620055da565b505050505050565b815167ffffffffffffffff81111562005614576200561462004ca1565b6200562c8162005625845462005569565b84620055a5565b602080601f8311600181146200566457600084156200564b5750858301515b600019600386901b1c1916600185901b178555620055ef565b600085815260208120601f198616915b82811015620056955788860151825594840194600190910190840162005674565b5085821015620056b45787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60006020808385031215620056d857600080fd5b825167ffffffffffffffff80821115620056f157600080fd5b818501915085601f8301126200570657600080fd5b8151818111156200571b576200571b62004ca1565b8060051b91506200572e84830162004d57565b81815291830184019184810190888411156200574957600080fd5b938501935b83851015620057775784519250620057668362004bc4565b82825293850193908501906200574e565b98975050505050505050565b60008154620057928162005569565b808552602060018381168015620057b25760018114620057cd57620057fd565b60ff1985168884015283151560051b880183019550620057fd565b866000528260002060005b85811015620057f55781548a8201860152908301908401620057d8565b890184019650505b505050505092915050565b80518252600060208201516040602085015262004840604085018262005218565b600081518084526020808501945080840160005b83811015620058645781516001600160a01b0316875295820195908201906001016200583d565b509495945050505050565b85815260a0602082015260006200588a60a083018762005783565b82810360408401526200589e818762005808565b90506001600160a01b0385166060840152828103608084015262005777818562005829565b838152606060208201526000620058de606083018562005783565b828103604084015262004a15818562005808565b6001600160a01b038316815260406020820152600062004840604083018462005218565b600481106200592957620059296200530b565b9052565b6000610120820190506001600160a01b0383511682526020830151602083015260408301516040830152606083015160608301526080830151608083015260a0830151600381106200598357620059836200530b565b8060a08401525060c08301516200599e60c084018262005916565b5060e0830151620059b260e0840182519052565b50610100928301516001600160a01b0316919092015290565b87815260006001600160a01b03808916602084015260e06040840152620059f660e084018962005218565b818816606085015286608085015283810360a085015262005a18818762005808565b91505082810360c084015262005a2f818562005829565b9a9950505050505050505050565b85815260006001600160a01b038087166020840152808616604084015280851660608401525060a060808301526200452d60a083018462005808565b60408152600062005a8e604083018562005218565b90506001600160a01b03831660208301529392505050565b60408152600062005abb604083018562005218565b90508260208301529392505050565b7f416363657373436f6e74726f6c3a206163636f756e742000000000000000000081526000835162005b04816017850160208801620051f2565b7f206973206d697373696e6720726f6c6520000000000000000000000000000000601791840191820152835162005b43816028840160208801620051f2565b01602801949350505050565b60008162005b615762005b61620052db565b506000190190565b6000825162005b7d818460208701620051f2565b919091019291505056fe60a0604052306080526000606d81905560705534801561001e57600080fd5b506080516159136200005760003960008181611231015281816112b6015281816113b70152818161143c015261152201526159136000f3fe6080604052600436106103c75760003560e01c806376365af7116101f2578063b5f620ce11610119578063e0dd2c38116100b2578063ef2920fc11610084578063f321b3051161006c578063f321b30514610b89578063f5b0dfb714610ba9578063fc1711f214610bc957005b8063ef2920fc14610b56578063f2fde38b14610b6957005b8063e0dd2c3814610ac9578063e33add9314610ae9578063eb11af9314610b09578063edd146cc14610b3657005b8063c7f758a8116100eb578063c7f758a814610a39578063d1e3623214610a6f578063dc96ff2d14610a84578063df868ed314610ab457005b8063b5f620ce146109a6578063b6c61f31146109c6578063bcc5b93b146109e6578063c329217114610a1c57005b8063950559d71161018b578063a574cea41161015d578063a574cea414610916578063aba9ffee14610943578063ac1ed7b914610959578063b2b878d01461097957005b8063950559d7146108a1578063a0cf0aea146108c1578063a1aab33f146108e9578063a47ff7e5146108ff57005b8063817b1cd2116101c4578063817b1cd21461082d578063824ea8ed14610843578063868c57b8146108635780638da5cb5b1461088357005b806376365af7146107cc578063782aadff146107e25780637c6570ba14610802578063814516ad1461081857005b8063346db8cb116102ee5780634f1ef286116102875780635db64b99116102595780636453d9c4116102415780636453d9c41461077757806369fa25c414610797578063715018a6146107b757005b80635db64b991461072a5780636003e4141461075757005b80634f1ef286146106cc57806352d1902d146106df57806354fac919146106f457806359a5db8b1461070a57005b8063406244d8116102c0578063406244d81461066d57806342fda9c7146106825780634ab4ba42146106975780634d31d087146106ac57005b8063346db8cb146105f1578063351d9f96146106115780633659cfe61461063857806338fff2d01461065857005b806315cc481e116103605780632bbe0cae116103325780632bbe0cae146105725780632cefadbb146105855780632dbd6fdd146105a55780632ed04b2b146105d157005b806315cc481e146104eb57806319ab453c1461051d5780631aa91a9e1461053d5780631ddf1e231461055d57005b80630ba95909116103995780630ba959091461047f5780630c0512e91461049e5780630f529ba2146104b457806311f22ae3146104cb57005b8063013cf08b146103d057806301ffc9a71461040f578063058aca441461043f5780630a6f0ee91461045f57005b366103ce57005b005b3480156103dc57600080fd5b506103f06103eb36600461481d565b610be9565b6040516104069a999897969594939291906148cf565b60405180910390f35b34801561041b57600080fd5b5061042f61042a366004614942565b610cf7565b6040519015158152602001610406565b34801561044b57600080fd5b506103ce61045a366004614999565b610d90565b34801561046b57600080fd5b506103ce61047a366004614ba9565b610df0565b34801561048b57600080fd5b506073545b604051908152602001610406565b3480156104aa57600080fd5b50610490606d5481565b3480156104c057600080fd5b506104906298968081565b3480156104d757600080fd5b506103ce6104e636600461481d565b610e10565b3480156104f757600080fd5b506065546001600160a01b03165b6040516001600160a01b039091168152602001610406565b34801561052957600080fd5b506103ce610538366004614999565b610e4f565b34801561054957600080fd5b5061049061055836600461481d565b610fb0565b34801561056957600080fd5b506103ce611036565b610505610580366004614c21565b611041565b34801561059157600080fd5b506103ce6105a036600461481d565b611064565b3480156105b157600080fd5b506072546105c490610100900460ff1681565b6040516104069190614c83565b3480156105dd57600080fd5b506104906105ec366004614c91565b6110b0565b3480156105fd57600080fd5b5061049061060c366004614cbd565b611182565b34801561061d57600080fd5b5060725461062b9060ff1681565b6040516104069190614cf9565b34801561064457600080fd5b506103ce610653366004614999565b611227565b34801561066457600080fd5b50606854610490565b34801561067957600080fd5b50610490600a81565b34801561068e57600080fd5b50606654610490565b3480156106a357600080fd5b50606954610490565b3480156106b857600080fd5b5061042f6106c7366004614999565b6113a2565b6103ce6106da366004614d07565b6113ad565b3480156106eb57600080fd5b50610490611515565b34801561070057600080fd5b50610490606a5481565b34801561071657600080fd5b5061049061072536600461481d565b6115da565b34801561073657600080fd5b50610490610745366004614999565b60776020526000908152604090205481565b34801561076357600080fd5b50607454610505906001600160a01b031681565b34801561078357600080fd5b506103ce610792366004614999565b611717565b3480156107a357600080fd5b506103ce6107b236600461481d565b611728565b3480156107c357600080fd5b506103ce611767565b3480156107d857600080fd5b50610490606b5481565b3480156107ee57600080fd5b506104906107fd366004614c91565b611779565b34801561080e57600080fd5b5061049060705481565b34801561082457600080fd5b506103ce61191b565b34801561083957600080fd5b50610490606e5481565b34801561084f57600080fd5b5061042f61085e36600461481d565b611a4d565b34801561086f57600080fd5b5061049061087e366004614c91565b611aaa565b34801561088f57600080fd5b506033546001600160a01b0316610505565b3480156108ad57600080fd5b506104906108bc36600461481d565b611adb565b3480156108cd57600080fd5b5061050573eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b3480156108f557600080fd5b50610490606c5481565b34801561090b57600080fd5b506073546104909081565b34801561092257600080fd5b5061093661093136600461481d565b611b05565b6040516104069190614d57565b34801561094f57600080fd5b50610490606f5481565b34801561096557600080fd5b506103ce610974366004614999565b611be4565b34801561098557600080fd5b50610999610994366004614d6a565b611cc5565b6040516104069190614e3f565b3480156109b257600080fd5b506103ce6109c1366004614ea5565b611ce0565b3480156109d257600080fd5b50607554610505906001600160a01b031681565b3480156109f257600080fd5b50610490610a01366004614999565b6001600160a01b031660009081526077602052604090205490565b348015610a2857600080fd5b50607254610100900460ff166105c4565b348015610a4557600080fd5b50610a59610a5436600461481d565b611ce9565b6040516104069a99989796959493929190614ec2565b348015610a7b57600080fd5b50606f54610490565b348015610a9057600080fd5b50610490610a9f36600461481d565b60009081526076602052604090206002015490565b348015610ac057600080fd5b5061042f611deb565b348015610ad557600080fd5b50610490610ae4366004614f27565b611dfe565b348015610af557600080fd5b506103ce610b04366004614f4c565b611e29565b348015610b1557600080fd5b50610b29610b24366004614999565b611e42565b6040516104069190614ff7565b348015610b4257600080fd5b506103ce610b51366004615011565b611e4d565b6103ce610b64366004614c21565b611f9b565b348015610b7557600080fd5b506103ce610b84366004614999565b611fb5565b348015610b9557600080fd5b506103ce610ba4366004615042565b612042565b348015610bb557600080fd5b506103ce610bc436600461481d565b61208d565b348015610bd557600080fd5b506103ce610be436600461481d565b6120b6565b6076602090815260009182526040918290208054600182015460028301546003840154600485015460058601546006870154600788015460088901548b51808d01909c52600a8a0180548d52600b8b0180549a9d999c989b979a6001600160a01b039788169a968816999790951697939660ff9093169593949192840191610c709061509c565b80601f0160208091040260200160405190810160405280929190818152602001828054610c9c9061509c565b8015610ce95780601f10610cbe57610100808354040283529160200191610ce9565b820191906000526020600020905b815481529060010190602001808311610ccc57829003601f168201915b50505050508152505090508a565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167ff1801e61000000000000000000000000000000000000000000000000000000001480610d8a57507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b33610d9a816120f5565b607480546001600160a01b0319166001600160a01b0384169081179091556040519081527fd6ceddf6d2a22f21c7c81675c518004eff43bc5c8a6fc32a0b748e69d58671cd906020015b60405180910390a15050565b610df86121a4565b610e006121cf565b610e0b83838361220b565b505050565b33610e1a816120f5565b606b8290556040518281527f08e39b387d1f739ce0d2553bb31822392e3f67c62c6c0a215120ab4a6841a8ab90602001610de4565b600054610100900460ff1615808015610e6f5750600054600160ff909116105b80610e895750303b158015610e89575060005460ff166001145b610f005760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084015b60405180910390fd5b6000805460ff191660011790558015610f23576000805461ff0019166101001790555b610f62826040518060400160405280600a81526020017f4356537472617465677900000000000000000000000000000000000000000000815250612042565b610f6a61251f565b8015610fac576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249890602001610de4565b5050565b600081815260766020526040812080548314610fe25760405163c1d17bef60e01b815260048101849052602401610ef7565b6001600882015460ff166004811115610ffd57610ffd614836565b1461101e576040516344980d8f60e01b815260048101849052602401610ef7565b61102c818260020154612592565b6003015492915050565b61103f336125cd565b565b600061104b6121a4565b6110536121cf565b61105d838361271e565b9392505050565b3361106e816120f5565b60705460408051918252602082018490527f056aedca4e334b6c4bea48715fb0de644811b740894de57a0380d3eb90f2805b910160405180910390a150607055565b60006110ba612a70565b60006002607254610100900460ff1660038111156110da576110da614836565b148061110157506001607254610100900460ff1660038111156110ff576110ff614836565b145b1561110d57508161111a565b6111178484612ab4565b90505b80606f600082825461112c91906150e6565b9091555050604080516001600160a01b0386168152602081018590529081018290527f70b752f3fadb6ac131c0ece847fcbb6994ec56ed6411595710fd9b29c6ac6cc19060600160405180910390a19392505050565b60008084905060006111a8629896806080606a54901b6111a2919061510f565b83612d78565b905060806f80000000000000000000000000000000606a54629896806111ce91906150e6565b6111dc84600160801b6150e6565b6111e96298968089615131565b6111f39190615131565b6111fd919061510f565b6112078885615131565b6112119190615148565b61121b9190615148565b901c9695505050505050565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036112b45760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b19195b1959d85d1958d85b1b60a21b6064820152608401610ef7565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661130f7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b6001600160a01b03161461137a5760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b6163746976652070726f787960a01b6064820152608401610ef7565b61138381612e21565b6040805160008082526020820190925261139f91839190612e29565b50565b6000610d8a82612fc9565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016300361143a5760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b19195b1959d85d1958d85b1b60a21b6064820152608401610ef7565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166114957f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b6001600160a01b0316146115005760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b6163746976652070726f787960a01b6064820152608401610ef7565b61150982612e21565b610fac82826001612e29565b6000306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146115b55760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c00000000000000006064820152608401610ef7565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc90565b60008060695411611617576040517fed4421ad00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61162082612fe9565b1561163e57604051630efd728560e21b815260040160405180910390fd5b6069546000906116578468010000000000000000615131565b611661919061510f565b62989680606b546801000000000000000061167c9190615131565b611686919061510f565b61169091906150e6565b9050604061169d606f5490565b606a546116ad90629896806150e6565b6298968060406116bd8680615131565b901c629896806080606c54901b6116d4919061510f565b6116de919061510f565b6116e89190615131565b6116f2919061510f565b6116fc9190615131565b901c915060705482116117115760705461105d565b50919050565b61171f612a70565b61139f816125cd565b33611732816120f5565b606a8290556040518281527f592dcd55d60d892e7fcb3ba105013312e99691cd59f91e15f83cb67cb5a505f290602001610de4565b61176f613010565b61103f600061306a565b6000611783612a70565b61178c836130bc565b6117a957604051630b72d6b160e31b815260040160405180910390fd5b60006002607254610100900460ff1660038111156117c9576117c9614836565b036117d757825b9050611834565b6001607254610100900460ff1660038111156117f5576117f5614836565b03611804576117d08484613164565b6003607254610100900460ff16600381111561182257611822614836565b036118345761183184846132ca565b90505b60745460405163011de97360e61b81526001600160a01b038681166004830152306024830152600092169063477a5cc090604401602060405180830381865afa158015611885573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118a9919061515b565b905080156118c95781606f60008282546118c39190615148565b90915550505b604080516001600160a01b0387168152602081018690529081018390527f0b9150e1e54346ed3fa36b977cd5d65dca5a649c737c3174a26bddaadd47667a9060600160405180910390a1509392505050565b33611925816130bc565b61194257604051630b72d6b160e31b815260040160405180910390fd5b6074546040517f0d4a8b490000000000000000000000000000000000000000000000000000000081526001600160a01b03838116600483015230602483015290911690630d4a8b4990604401600060405180830381600087803b1580156119a857600080fd5b505af11580156119bc573d6000803e3d6000fd5b5050607454604051637817ee4f60e01b81526001600160a01b0385811660048301523060248301529091169250637817ee4f9150604401602060405180830381865afa158015611a10573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a349190615178565b606f6000828254611a459190615148565b909155505050565b6000818152607660205260408120600281015482908190611a6f908490613511565b91509150816000148015611a81575080155b15611a8e57826003015491505b6000611a9d84600101546115da565b9092101595945050505050565b60786020528160005260406000208181548110611ac657600080fd5b90600052602060002001600091509150505481565b6000606a5462989680611aee91906150e6565b611afb6298968084615131565b610d8a919061510f565b604080518082019091526000815260606020820152600060766000848152602001908152602001600020905080600a0160405180604001604052908160008201548152602001600182018054611b5a9061509c565b80601f0160208091040260200160405190810160405280929190818152602001828054611b869061509c565b8015611bd35780601f10611ba857610100808354040283529160200191611bd3565b820191906000526020600020905b815481529060010190602001808311611bb657829003601f168201915b505050505081525050915050919050565b607460009054906101000a90046001600160a01b03166001600160a01b0316636c53db9a6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611c37573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c5b9190615191565b6001600160a01b03163303611c9357611c7381613569565b607580546001600160a01b0383166001600160a01b031990911617905550565b6040517fe860ec7e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b606060405163d623472560e01b815260040160405180910390fd5b61139f816135a9565b6000806000806000806000806000806000607660008d815260200190815260200160002090508060010154600014611d2d57611d2881600101546115da565b611d30565b60005b92508060050160009054906101000a90046001600160a01b03168160040160009054906101000a90046001600160a01b03168260060160009054906101000a90046001600160a01b0316836001015484600201548560080160009054906101000a900460ff16866007015487600301548a896009016000336001600160a01b03166001600160a01b03168152602001908152602001600020549a509a509a509a509a509a509a509a509a509a50509193959799509193959799565b6000611df960675460ff1690565b905090565b60008281526076602090815260408083206001600160a01b038516845260090190915281205461105d565b60405163d623472560e01b815260040160405180910390fd5b6000610d8a826135ea565b611e556121a4565b611e5e8261360a565b600081806020019051810190611e74919061521e565b80519091506001600160a01b0316611e9f57604051635df4b1ef60e01b815260040160405180910390fd5b8051607480546001600160a01b0319166001600160a01b039092169190911790556020810151606a556040810151606b556060810151606c5560a08101516072805460ff19166001836002811115611ef957611ef9614836565b021790555060c08101516072805461ff001916610100836003811115611f2157611f21614836565b021790555060e0810151516073556080810151607055610100810151607580546001600160a01b0319166001600160a01b039092169190911790556040517f4ebdec05fb64815e553aeaf3976ef8112dd79760a459bee3ac7d1659ab2c4e0490611f8e90859084906152b9565b60405180910390a1505050565b611fa36121a4565b611fab6121cf565b610fac828261368b565b611fbd613010565b6001600160a01b0381166120395760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610ef7565b61139f8161306a565b606580546001600160a01b0319166001600160a01b03841617905560405161206e90829060200161534c565b60408051601f1981840301815291905280516020909101206066555050565b6120956121a4565b80606960008282546120a79190615148565b9091555061139f90508161379a565b336120c0816120f5565b606c8290556040518281527f30ee8206062f283e56a0af2b02138016bf7442ded26ad68a92a18a9dd246fb4990602001610de4565b6065546068546040517f29e40d4b00000000000000000000000000000000000000000000000000000000815260048101919091526001600160a01b038381166024830152909116906329e40d4b90604401602060405180830381865afa158015612163573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612187919061515b565b61139f5760405163075fd2b160e01b815260040160405180910390fd5b6065546001600160a01b0316331461103f5760405163075fd2b160e01b815260040160405180910390fd5b60685460000361103f576040517f3da3f98c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000825111612246576040517fc5f7c4c000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008280602001905181019061225c9190615178565b905080600003612298576040517ff881a10d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000818152607660205260409020600160725460ff1660028111156122bf576122bf614836565b0361251857805482146122e85760405163c1d17bef60e01b815260048101839052602401610ef7565b606954816001015411156123405760018101546069546040517f5863b0b60000000000000000000000000000000000000000000000000000000081526004810185905260248101929092526044820152606401610ef7565b6001600882015460ff16600481111561235b5761235b614836565b1461237c576040516344980d8f60e01b815260048101839052602401610ef7565b600061238783610fb0565b9050600061239883600101546115da565b905080821080156123ad575060008360010154115b156123e4576040517fcce7930800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6065546068546040517f068bcd8d00000000000000000000000000000000000000000000000000000000815260048101919091526000916001600160a01b03169063068bcd8d90602401600060405180830381865afa15801561244b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261247391908101906153ec565b905083600101546069600082825461248b91906150e6565b90915550506040810151600485015460018601546124b392916001600160a01b0316906137ca565b60088401805460ff191660049081179091558401546001850154604080518881526001600160a01b0390931660208401528201527fa7932e9c92f31e1ed56b29d00bbe669a97484dc24de28dd9c8c0429df7f358479060600160405180910390a15050505b5050505050565b600054610100900460ff1661258a5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401610ef7565b61103f61380f565b60008061259f8484613511565b915091508160001480156125b1575080155b156125bc5750505050565b600784015560039092019190915550565b607454604051637817ee4f60e01b81526001600160a01b03838116600483015230602483015290911690637817ee4f90604401602060405180830381865afa15801561261d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126419190615178565b606f600082825461265291906150e6565b90915550506074546040517f22bcf9990000000000000000000000000000000000000000000000000000000081526001600160a01b038381166004830152306024830152909116906322bcf99990604401600060405180830381600087803b1580156126bd57600080fd5b505af11580156126d1573d6000803e3d6000fd5b505050506126de81613883565b6040516001600160a01b03821681527f1468da654b37bb3631011c1917d02e0db437d519918858d40b38b5e980ca033b906020015b60405180910390a150565b6000612729826130bc565b61274657604051630b72d6b160e31b815260040160405180910390fd5b60008380602001905181019061275c91906154a0565b805190915060000361279a576040517f4e79178600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600160725460ff1660028111156127b3576127b3614836565b03612963576127c58160200151613569565b60608101516001600160a01b0316612809576040517f596a094c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000306001600160a01b03166315cc481e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612849573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061286d9190615191565b6001600160a01b031663068bcd8d6068546040518263ffffffff1660e01b815260040161289c91815260200190565b600060405180830381865afa1580156128b9573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526128e191908101906153ec565b604001519050806001600160a01b031682606001516001600160a01b031614612936576040517fa29c498600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6129438260400151612fe9565b1561296157604051630efd728560e21b815260040160405180910390fd5b505b6000606d6000815461297490615547565b918290555060008181526076602090815260408083208481556005810180546001600160a01b038b81166001600160a01b0319928316179092558885015160048401805491841691831691909117905560608901516006840180549190931691161790559086015160018083019190915560088201805460ff19169091179055436007820155600381019290925560808501518051600a8401908155918101519394509192600b840190612a2890826155ae565b505060685460408051918252602082018590527ffcf3b1aa65a464cef2889608f99e8b8c0f680a4be6c2acb9d961c536a5a9294b92500160405180910390a150949350505050565b6074546001600160a01b0316331461103f576040517faf0916a200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b607454604080516336d8759760e21b815290516000926012926001600160a01b039091169163db61d65c916004808201926020929091908290030181865afa158015612b04573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612b289190615191565b6001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015612b81575060408051601f3d908101601f19168201909252612b7e9181019061566e565b60015b612bc857612bc36040518060400160405280601581526020017f4572726f722067657474696e6720646563696d616c0000000000000000000000815250613a10565b612bce565b60ff1690505b612c0d6040518060400160405280601081526020017f5f616d6f756e74546f556e7374616b650000000000000000000000000000000081525084613a81565b6074546040516316308e2560e11b81526001600160a01b0386811660048301526000928692911690632c611c4a90602401602060405180830381865afa158015612c5b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612c7f9190615178565b612c8991906150e6565b9050612cca6040518060400160405280600d81526020017f6e6577546f74616c5374616b650000000000000000000000000000000000000081525082613a81565b6000612ce9612cda84600a615775565b612ce49084615131565b613af4565b607454604051637817ee4f60e01b81526001600160a01b03898116600483015230602483015292935060009284921690637817ee4f90604401602060405180830381865afa158015612d3f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612d639190615178565b612d6d91906150e6565b979650505050505050565b6000600160801b8310612dcd5760405162461bcd60e51b815260206004820152601c60248201527f5f612073686f756c64206265206c657373207468616e20325e313238000000006044820152606401610ef7565b50600160801b82825b8015612e195780600116600003612dfb57612df18283613bdc565b915060011c612dd6565b612e058383613bdc565b9250612e126001826150e6565b9050612dd6565b505092915050565b61139f613010565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615612e5c57610e0b83613cdb565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015612eb6575060408051601f3d908101601f19168201909252612eb391810190615178565b60015b612f285760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201527f6f6e206973206e6f7420555550530000000000000000000000000000000000006064820152608401610ef7565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8114612fbd5760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f7860448201527f6961626c655555494400000000000000000000000000000000000000000000006064820152608401610ef7565b50610e0b838383613d99565b60006001600160a01b03821615612fe1576001610d8a565b600092915050565b6000612ff86298968083615131565b606954606b546130089190615131565b111592915050565b6033546001600160a01b0316331461103f5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610ef7565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6075546000906001600160a01b03166130d757506001919050565b6075546040517f42a987a00000000000000000000000000000000000000000000000000000000081526001600160a01b038481166004830152306024830152909116906342a987a090604401602060405180830381865afa158015613140573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d8a919061515b565b6000808290506131a96040518060400160405280601281526020017f504f494e545320544f20494e435245415345000000000000000000000000000081525082613a81565b607454604051637817ee4f60e01b81526001600160a01b0386811660048301523060248301526000921690637817ee4f90604401602060405180830381865afa1580156131fa573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061321e9190615178565b905061325f6040518060400160405280600b81526020017f4d454d424552504f57455200000000000000000000000000000000000000000081525082613a81565b60735461326c8383615148565b1115613283576073546132809082906150e6565b91505b6132c26040518060400160405280601681526020017f504f494e545320544f20494e43524541534520454e440000000000000000000081525083613a81565b509392505050565b6074546040516316308e2560e11b81526001600160a01b0384811660048301526000928392859290911690632c611c4a90602401602060405180830381865afa15801561331b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061333f9190615178565b6133499190615148565b607454604080516336d8759760e21b815290519293506012926001600160a01b039092169163db61d65c916004808201926020929091908290030181865afa158015613399573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906133bd9190615191565b6001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015613416575060408051601f3d908101601f191682019092526134139181019061566e565b60015b61345d576134586040518060400160405280601581526020017f4572726f722067657474696e6720646563696d616c0000000000000000000000815250613a10565b613463565b60ff1690505b600061347d61347383600a615775565b612ce49085615131565b607454604051637817ee4f60e01b81526001600160a01b03898116600483015230602483015292935060009290911690637817ee4f90604401602060405180830381865afa1580156134d3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906134f79190615178565b9050600061350582846150e6565b98975050505050505050565b600080439050808460070154111561352b5761352b615781565b8084600701540361354157506000905080613562565b61355f84600701548261355491906150e6565b856003015485611182565b91505b9250929050565b6001600160a01b03811661139f576040517fe622e04000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6067805460ff19168215159081179091556040519081527fd94c9bc4d43c51d8dc345a016d8e3d994432fac68e72832e4cf3a616bd8efae090602001612713565b60006001600160a01b03821615613602576002610d8a565b600392915050565b6136126121a4565b6068541561364c576040517f439a74c900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80600003613686576040517f7fcce2a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b606855565b61369481613dbe565b61369d816130bc565b6136ba57604051630b72d6b160e31b815260040160405180910390fd5b60745460405163011de97360e61b81526001600160a01b038381166004830152306024830152600092169063477a5cc090604401602060405180830381865afa15801561370b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061372f919061515b565b905080613768576040517f5fccb67f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008380602001905181019061377e9190615797565b905061378a8382613ee4565b61379483826140a7565b50505050565b6040518181527f46aeb5d8770fc4474bc2dfa118fd2595f7fb33ce2cbce6f4e5a3dabfe0f7633990602001612713565b7fffffffffffffffffffffffff11111111111111111111111111111111111111126001600160a01b0384160161380457610e0b82826144cb565b610e0b8383836144e7565b600054610100900460ff1661387a5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401610ef7565b61103f3361306a565b6001600160a01b0381166000908152607860209081526040808320805482518185028101850190935280835291929091908301828280156138e357602002820191906000526020600020905b8154815260200190600101908083116138cf575b5050505050905060005b8151811015610e0b57600082828151811061390a5761390a615842565b60200260200101519050600060766000838152602001908152602001600020905061393482614536565b156139fb576001600160a01b038516600090815260098201602052604081208054908290556002830180549192839261396e9084906150e6565b9250508190555080606e600082825461398791906150e6565b9091555061399790508282612592565b60028201546003830154604080516001600160a01b038a1681526020810187905260008183015260608101939093526080830191909152517f0227f642ddcf2042ceaeafadb9d540f432072c00cd4862881667168dcc14710f9181900360a00190a1505b50508080613a0890615547565b9150506138ed565b61139f81604051602401613a24919061534c565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f41304fac0000000000000000000000000000000000000000000000000000000017905261456f565b610fac8282604051602401613a97929190615858565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f9710a9d00000000000000000000000000000000000000000000000000000000017905261456f565b600081600003613b0657506000919050565b60006001613b1384614590565b901c6001901b90506001818481613b2c57613b2c6150f9565b048201901c90506001818481613b4457613b446150f9565b048201901c90506001818481613b5c57613b5c6150f9565b048201901c90506001818481613b7457613b746150f9565b048201901c90506001818481613b8c57613b8c6150f9565b048201901c90506001818481613ba457613ba46150f9565b048201901c90506001818481613bbc57613bbc6150f9565b048201901c905061105d81828581613bd657613bd66150f9565b04614624565b6000600160801b831115613c585760405162461bcd60e51b815260206004820152602860248201527f5f612073686f756c64206265206c657373207468616e206f7220657175616c2060448201527f746f20325e3132380000000000000000000000000000000000000000000000006064820152608401610ef7565b600160801b8210613cab5760405162461bcd60e51b815260206004820152601c60248201527f5f622073686f756c64206265206c657373207468616e20325e313238000000006044820152606401610ef7565b60806f80000000000000000000000000000000613cc88486615131565b613cd29190615148565b901c9392505050565b6001600160a01b0381163b613d585760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201527f6f74206120636f6e7472616374000000000000000000000000000000000000006064820152608401610ef7565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b613da28361463a565b600082511180613daf5750805b15610e0b57613794838361467a565b6001600160a01b038116613dfe576040517fd1f2828800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6074546001600160a01b0316613e2757604051635df4b1ef60e01b815260040160405180910390fd5b6074546040517fa230c5240000000000000000000000000000000000000000000000000000000081526001600160a01b0383811660048301529091169063a230c52490602401602060405180830381865afa158015613e8a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613eae919061515b565b61139f576040517f6a5cfb6d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000805b8251811015613fa157828181518110613f0357613f03615842565b60200260200101516000015160000315613f8f576000838281518110613f2b57613f2b615842565b6020026020010151600001519050613f4281614536565b613f625760405163c1d17bef60e01b815260048101829052602401610ef7565b838281518110613f7457613f74615842565b60200260200101516020015183613f8b919061587a565b9250505b80613f9981615547565b915050613ee8565b506001600160a01b038316600090815260776020526040812054613fc5908361469f565b607454604051637817ee4f60e01b81526001600160a01b03878116600483015230602483015292935060009290911690637817ee4f90604401602060405180830381865afa15801561401b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061403f9190615178565b905080821115614085576040517fd64182fe0000000000000000000000000000000000000000000000000000000081526004810183905260248101829052604401610ef7565b506001600160a01b039093166000908152607760205260409020929092555050565b606060005b82518110156137945760008382815181106140c9576140c9615842565b60200260200101516000015190508251600003614125576040805160018082528183019092529060208083019080368337019050509250808360008151811061411457614114615842565b602002602001018181525050614278565b6000805b84518110156141a4578285828151811061414557614145615842565b602002602001015103614192576040517fadebb154000000000000000000000000000000000000000000000000000000008152600481018490526024810182905260019250604401610ef7565b8061419c81615547565b915050614129565b5080614276576000845160016141ba9190615148565b67ffffffffffffffff8111156141d2576141d26149b6565b6040519080825280602002602001820160405280156141fb578160200160208202803683370190505b50905060005b85518110156142535785818151811061421c5761421c615842565b602002602001015182828151811061423657614236615842565b60209081029190910101528061424b81615547565b915050614201565b50828186518151811061426857614268615842565b602090810291909101015293505b505b600084838151811061428c5761428c615842565b60209081029190910181015181015160008481526076835260408082206001600160a01b038b168352600981019094528120549193506142cc828561469f565b6001600160a01b038a1660009081526009850160205260408120829055909150805b6001600160a01b038b166000908152607860205260409020548110156143655784546001600160a01b038c16600090815260786020526040902080548390811061433a5761433a615842565b9060005260206000200154036143535760019150614365565b8061435d81615547565b9150506142ee565b508061439b576001600160a01b038a16600090815260786020908152604082208654815460018101835591845291909220909101555b8183116143eb576143ac83836150e6565b606e60008282546143bd9190615148565b909155506143cd905083836150e6565b8460020160008282546143e09190615148565b9091555061442f9050565b6143f582846150e6565b606e600082825461440691906150e6565b90915550614416905082846150e6565b84600201600082825461442991906150e6565b90915550505b8360070154600003614446574360078501556144b2565b6144508484612592565b60028401546003850154604080516001600160a01b038e168152602081018a9052908101859052606081019290925260808201527f0227f642ddcf2042ceaeafadb9d540f432072c00cd4862881667168dcc14710f9060a00160405180910390a15b50505050505080806144c390615547565b9150506140ac565b60008060008084865af1610fac5763b12d13eb6000526004601cfd5b81601452806034526fa9059cbb00000000000000000000000060005260206000604460106000875af13d15600160005114171661452c576390b8ec186000526004601cfd5b6000603452505050565b60008181526076602052604081205415801590610d8a5750506000908152607660205260409020600501546001600160a01b0316151590565b80516a636f6e736f6c652e6c6f67602083016000808483855afa5050505050565b600080608083901c156145a557608092831c92015b604083901c156145b757604092831c92015b602083901c156145c957602092831c92015b601083901c156145db57601092831c92015b600883901c156145ed57600892831c92015b600483901c156145ff57600492831c92015b600283901c1561461157600292831c92015b600183901c15610d8a5760010192915050565b6000818310614633578161105d565b5090919050565b61464381613cdb565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b606061105d83836040518060600160405280602781526020016158b7602791396146fa565b6000806146ac838561587a565b9050600081121561105d576040517f3bbc7142000000000000000000000000000000000000000000000000000000008152600481018590526024810184905260448101829052606401610ef7565b6060600080856001600160a01b031685604051614717919061589a565b600060405180830381855af49150503d8060008114614752576040519150601f19603f3d011682016040523d82523d6000602084013e614757565b606091505b509150915061476886838387614772565b9695505050505050565b606083156147e15782516000036147da576001600160a01b0385163b6147da5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610ef7565b50816147eb565b6147eb83836147f3565b949350505050565b8151156148035781518083602001fd5b8060405162461bcd60e51b8152600401610ef7919061534c565b60006020828403121561482f57600080fd5b5035919050565b634e487b7160e01b600052602160045260246000fd5b6005811061485c5761485c614836565b9052565b60005b8381101561487b578181015183820152602001614863565b50506000910152565b6000815180845261489c816020860160208601614860565b601f01601f19169290920160200192915050565b8051825260006020820151604060208501526147eb6040850182614884565b60006101408c83528b60208401528a60408401528960608401526001600160a01b03808a16608085015280891660a085015280881660c0850152508560e084015261491e61010084018661484c565b80610120840152614931818401856148b0565b9d9c50505050505050505050505050565b60006020828403121561495457600080fd5b81357fffffffff000000000000000000000000000000000000000000000000000000008116811461105d57600080fd5b6001600160a01b038116811461139f57600080fd5b6000602082840312156149ab57600080fd5b813561105d81614984565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff811182821017156149ef576149ef6149b6565b60405290565b604051610120810167ffffffffffffffff811182821017156149ef576149ef6149b6565b60405160c0810167ffffffffffffffff811182821017156149ef576149ef6149b6565b60405160a0810167ffffffffffffffff811182821017156149ef576149ef6149b6565b604051601f8201601f1916810167ffffffffffffffff81118282101715614a8857614a886149b6565b604052919050565b600067ffffffffffffffff821115614aaa57614aaa6149b6565b5060051b60200190565b600082601f830112614ac557600080fd5b81356020614ada614ad583614a90565b614a5f565b82815260059290921b84018101918181019086841115614af957600080fd5b8286015b84811015614b1d578035614b1081614984565b8352918301918301614afd565b509695505050505050565b600067ffffffffffffffff821115614b4257614b426149b6565b50601f01601f191660200190565b6000614b5e614ad584614b28565b9050828152838383011115614b7257600080fd5b828260208301376000602084830101529392505050565b600082601f830112614b9a57600080fd5b61105d83833560208501614b50565b600080600060608486031215614bbe57600080fd5b833567ffffffffffffffff80821115614bd657600080fd5b614be287838801614ab4565b94506020860135915080821115614bf857600080fd5b50614c0586828701614b89565b9250506040840135614c1681614984565b809150509250925092565b60008060408385031215614c3457600080fd5b823567ffffffffffffffff811115614c4b57600080fd5b614c5785828601614b89565b9250506020830135614c6881614984565b809150509250929050565b6004811061485c5761485c614836565b60208101610d8a8284614c73565b60008060408385031215614ca457600080fd5b8235614caf81614984565b946020939093013593505050565b600080600060608486031215614cd257600080fd5b505081359360208301359350604090920135919050565b6003811061485c5761485c614836565b60208101610d8a8284614ce9565b60008060408385031215614d1a57600080fd5b8235614d2581614984565b9150602083013567ffffffffffffffff811115614d4157600080fd5b614d4d85828601614b89565b9150509250929050565b60208152600061105d60208301846148b0565b60008060408385031215614d7d57600080fd5b823567ffffffffffffffff80821115614d9557600080fd5b614da186838701614ab4565b9350602091508185013581811115614db857600080fd5b8501601f81018713614dc957600080fd5b8035614dd7614ad582614a90565b81815260059190911b82018401908481019089831115614df657600080fd5b8584015b83811015614e2e57803586811115614e125760008081fd5b614e208c8983890101614b89565b845250918601918601614dfa565b508096505050505050509250929050565b602080825282518282018190526000919060409081850190868401855b82811015614e8a57815180516001600160a01b03168552860151868501529284019290850190600101614e5c565b5091979650505050505050565b801515811461139f57600080fd5b600060208284031215614eb757600080fd5b813561105d81614e97565b6001600160a01b038b811682528a811660208301528916604082015260608101889052608081018790526101408101614efe60a083018861484c565b8560c08301528460e083015283610100830152826101208301529b9a5050505050505050505050565b60008060408385031215614f3a57600080fd5b823591506020830135614c6881614984565b60006020808385031215614f5f57600080fd5b823567ffffffffffffffff811115614f7657600080fd5b8301601f81018513614f8757600080fd5b8035614f95614ad582614a90565b81815260069190911b82018301908381019087831115614fb457600080fd5b928401925b82841015612d6d5760408489031215614fd25760008081fd5b614fda6149cc565b843581528585013586820152825260409093019290840190614fb9565b602081016007831061500b5761500b614836565b91905290565b6000806040838503121561502457600080fd5b82359150602083013567ffffffffffffffff811115614d4157600080fd5b6000806040838503121561505557600080fd5b823561506081614984565b9150602083013567ffffffffffffffff81111561507c57600080fd5b8301601f8101851361508d57600080fd5b614d4d85823560208401614b50565b600181811c908216806150b057607f821691505b60208210810361171157634e487b7160e01b600052602260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b81810381811115610d8a57610d8a6150d0565b634e487b7160e01b600052601260045260246000fd5b60008261512c57634e487b7160e01b600052601260045260246000fd5b500490565b8082028115828204841417610d8a57610d8a6150d0565b80820180821115610d8a57610d8a6150d0565b60006020828403121561516d57600080fd5b815161105d81614e97565b60006020828403121561518a57600080fd5b5051919050565b6000602082840312156151a357600080fd5b815161105d81614984565b80516151b981614984565b919050565b8051600381106151b957600080fd5b8051600481106151b957600080fd5b6000602082840312156151ee57600080fd5b6040516020810181811067ffffffffffffffff82111715615211576152116149b6565b6040529151825250919050565b6000610120828403121561523157600080fd5b6152396149f5565b615242836151ae565b81526020830151602082015260408301516040820152606083015160608201526080830151608082015261527860a084016151be565b60a082015261528960c084016151cd565b60c082015261529b8460e085016151dc565b60e08201526101006152ae8185016151ae565b908201529392505050565b6000610140820190508382526001600160a01b038351166020830152602083015160408301526040830151606083015260608301516080830152608083015160a083015260a083015161530f60c0840182614ce9565b5060c083015161532260e0840182614c73565b5060e08301515161010083810191909152909201516001600160a01b031661012090910152919050565b60208152600061105d6020830184614884565b60006040828403121561537157600080fd5b6153796149cc565b905081518152602082015167ffffffffffffffff81111561539957600080fd5b8201601f810184136153aa57600080fd5b80516153b8614ad582614b28565b8181528560208385010111156153cd57600080fd5b6153de826020830160208601614860565b602084015250909392505050565b6000602082840312156153fe57600080fd5b815167ffffffffffffffff8082111561541657600080fd5b9083019060c0828603121561542a57600080fd5b615432614a19565b82518152602083015161544481614984565b6020820152604083015161545781614984565b604082015260608301518281111561546e57600080fd5b61547a8782860161535f565b6060830152506080830151608082015260a083015160a082015280935050505092915050565b6000602082840312156154b257600080fd5b815167ffffffffffffffff808211156154ca57600080fd5b9083019060a082860312156154de57600080fd5b6154e6614a3c565b8251815260208301516154f881614984565b602082015260408381015190820152606083015161551581614984565b606082015260808301518281111561552c57600080fd5b6155388782860161535f565b60808301525095945050505050565b600060018201615559576155596150d0565b5060010190565b601f821115610e0b57600081815260208120601f850160051c810160208610156155875750805b601f850160051c820191505b818110156155a657828155600101615593565b505050505050565b815167ffffffffffffffff8111156155c8576155c86149b6565b6155dc816155d6845461509c565b84615560565b602080601f83116001811461561157600084156155f95750858301515b600019600386901b1c1916600185901b1785556155a6565b600085815260208120601f198616915b8281101561564057888601518255948401946001909101908401615621565b508582101561565e5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60006020828403121561568057600080fd5b815160ff8116811461105d57600080fd5b600181815b808511156156cc5781600019048211156156b2576156b26150d0565b808516156156bf57918102915b93841c9390800290615696565b509250929050565b6000826156e357506001610d8a565b816156f057506000610d8a565b816001811461570657600281146157105761572c565b6001915050610d8a565b60ff841115615721576157216150d0565b50506001821b610d8a565b5060208310610133831016604e8410600b841016171561574f575081810a610d8a565b6157598383615691565b806000190482111561576d5761576d6150d0565b029392505050565b600061105d83836156d4565b634e487b7160e01b600052600160045260246000fd5b600060208083850312156157aa57600080fd5b825167ffffffffffffffff8111156157c157600080fd5b8301601f810185136157d257600080fd5b80516157e0614ad582614a90565b81815260069190911b820183019083810190878311156157ff57600080fd5b928401925b82841015612d6d576040848903121561581d5760008081fd5b6158256149cc565b845181528585015186820152825260409093019290840190615804565b634e487b7160e01b600052603260045260246000fd5b60408152600061586b6040830185614884565b90508260208301529392505050565b8082018281126000831280158216821582161715612e1957612e196150d0565b600082516158ac818460208701614860565b919091019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a264697066735822122049b3231cbecd6db9d79eb7e6e0aa3bb1452345bd067dee068696bdb771968c2d64736f6c6343000813003360806040526040516104ee3803806104ee833981016040819052610022916102de565b61002e82826000610035565b50506103fb565b61003e83610061565b60008251118061004b5750805b1561005c5761005a83836100a1565b505b505050565b61006a816100cd565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606100c683836040518060600160405280602781526020016104c760279139610180565b9392505050565b6001600160a01b0381163b61013f5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080856001600160a01b03168560405161019d91906103ac565b600060405180830381855af49150503d80600081146101d8576040519150601f19603f3d011682016040523d82523d6000602084013e6101dd565b606091505b5090925090506101ef868383876101f9565b9695505050505050565b60608315610268578251600003610261576001600160a01b0385163b6102615760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610136565b5081610272565b610272838361027a565b949350505050565b81511561028a5781518083602001fd5b8060405162461bcd60e51b815260040161013691906103c8565b634e487b7160e01b600052604160045260246000fd5b60005b838110156102d55781810151838201526020016102bd565b50506000910152565b600080604083850312156102f157600080fd5b82516001600160a01b038116811461030857600080fd5b60208401519092506001600160401b038082111561032557600080fd5b818501915085601f83011261033957600080fd5b81518181111561034b5761034b6102a4565b604051601f8201601f19908116603f01168101908382118183101715610373576103736102a4565b8160405282815288602084870101111561038c57600080fd5b61039d8360208301602088016102ba565b80955050505050509250929050565b600082516103be8184602087016102ba565b9190910192915050565b60208152600082518060208401526103e78160408501602087016102ba565b601f01601f19169190910160400192915050565b60be806104096000396000f3fe608060405236601057600e6013565b005b600e5b601f601b6021565b6065565b565b600060607f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b905090565b3660008037600080366000845af43d6000803e8080156083573d6000f35b3d6000fdfea2646970667358221220499685897c672853da42a8c7337889b98ad42121f6c852e2a981477235103d8964736f6c63430008130033416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c656467617264656e73466163746f72792e67657447617264656e7346656552656365697665722829416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220cdf2d863746c7010819b5a761c8453d51648f6ffbb5ed493a3c7accd5f90cd8964736f6c63430008130033","sourceMap":"1415:24000:134:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3050:213:44;;;;;;;;;;-1:-1:-1;3050:213:44;;;;;:::i;:::-;;:::i;:::-;;;516:14:151;;509:22;491:41;;479:2;464:18;3050:213:44;;;;;;;;23053:107:134;;;;;;;;;;-1:-1:-1;23134:19:134;;23053:107;;;689:25:151;;;677:2;662:18;23053:107:134;543:177:151;2452:24:134;;;;;;;;;;;;;;;;23354:280;;;;;;;;;;-1:-1:-1;23354:280:134;;;;;:::i;:::-;;:::i;:::-;;13030:1179;;;;;;;;;;-1:-1:-1;13030:1179:134;;;;;:::i;:::-;;:::i;19745:120::-;;;;;;;;;;-1:-1:-1;19745:120:134;;;;;:::i;:::-;;:::i;2141:25::-;;;;;;;;;;-1:-1:-1;2141:25:134;;;;;;;;18803:120;;;;;;;;;;-1:-1:-1;18803:120:134;;;;;:::i;:::-;;:::i;14215:691::-;;;;;;;;;;-1:-1:-1;14215:691:134;;;;;:::i;:::-;;:::i;4855:129:44:-;;;;;;;;;;-1:-1:-1;4855:129:44;;;;;:::i;:::-;4929:7;4955:12;;;:6;:12;;;;;:22;;;;4855:129;22580:467:134;;;;;;;;;;;;;:::i;3994:82::-;;;;;;;;;;-1:-1:-1;3994:82:134;;;;;:::i;:::-;;:::i;:::-;;;-1:-1:-1;;;;;2836:55:151;;;2818:74;;2806:2;2791:18;3994:82:134;2672:226:151;18212:143:134;;;;;;;;;;-1:-1:-1;18212:143:134;;;;;:::i;:::-;-1:-1:-1;;;;;18307:28:134;18281:7;18307:28;;;:19;:28;;;;;:41;;;;18212:143;5280:145:44;;;;;;;;;;-1:-1:-1;5280:145:44;;;;;:::i;:::-;;:::i;23166:182:134:-;;;;;;;;;;-1:-1:-1;23166:182:134;;;;;:::i;:::-;;:::i;2814:25::-;;;;;;;;;;;;;;;;20667:1907;;;;;;;;;;;;;:::i;6389:214:44:-;;;;;;;;;;-1:-1:-1;6389:214:44;;;;;:::i;:::-;;:::i;3143:195:68:-;;;;;;;;;;-1:-1:-1;3143:195:68;;;;;:::i;:::-;;:::i;19871:240:134:-;;;;;;;;;;-1:-1:-1;19871:240:134;;;;;:::i;:::-;;:::i;3529:68::-;;;;;;;;;;-1:-1:-1;3529:68:134;;;;;:::i;:::-;;;;;;;;;;;;;;;;4154:107;;;;;;;;;;-1:-1:-1;4154:107:134;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;3657:220:68;;;;;;:::i;:::-;;:::i;2762:131::-;;;;;;;;;;;;;:::i;15343:998:134:-;;;;;;;;;;-1:-1:-1;15343:998:134;;;;;:::i;:::-;;:::i;2716:31::-;;;;;;;;;;-1:-1:-1;2716:31:134;;;;-1:-1:-1;;;;;2716:31:134;;;16481:1554;;;;;;;;;;-1:-1:-1;16481:1554:134;;;;;:::i;:::-;;:::i;3665:98::-;;;;;;;;;;-1:-1:-1;3665:98:134;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;24738:571;;;;;;;;;;-1:-1:-1;24738:571:134;;;;;:::i;:::-;;:::i;2907:41::-;;;;;;;;;;-1:-1:-1;2907:41:134;;;;-1:-1:-1;;;;;2907:41:134;;;3167:24;;;;;;;;;;-1:-1:-1;3167:24:134;;;;-1:-1:-1;;;;;3167:24:134;;;2085:101:46;;;;;;;;;;;;;:::i;19318:229:134:-;;;;;;;;;;-1:-1:-1;19318:229:134;;;;;:::i;:::-;;:::i;4595:68::-;;;;;;;;;;;;4636:27;4595:68;;18041:165;;;;;;;;;;-1:-1:-1;18041:165:134;;;;;:::i;:::-;-1:-1:-1;;;;;18158:30:134;;;18132:7;18158:30;;;:21;:30;;;;;;;;:41;;;;;;;;;;;;;18041:165;2240:34;;;;;;;;;;;;;;;;2998:25;;;;;;;;;;-1:-1:-1;2998:25:134;;;;-1:-1:-1;;;;;2998:25:134;;;18484:313;;;;;;;;;;-1:-1:-1;18484:313:134;;;;;:::i;:::-;;:::i;3863:60::-;;;;;;;;;;-1:-1:-1;3863:60:134;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3863:60:134;;;;;;;;;;;;;-1:-1:-1;;;;;7069:55:151;;;7051:74;;7156:2;7141:18;;7134:34;;;;7211:14;7204:22;7184:18;;;7177:50;7039:2;7024:18;3863:60:134;6855:378:151;2351:27:134;;;;;;;;;;;;;;;;1462:85:46;;;;;;;;;;-1:-1:-1;1534:6:46;;-1:-1:-1;;;;;1534:6:46;1462:85;;3350:145:44;;;;;;;;;;-1:-1:-1;3350:145:44;;;;;:::i;:::-;3436:4;3459:12;;;:6;:12;;;;;;;;-1:-1:-1;;;;;3459:29:44;;;;;;;;;;;;;;;3350:145;9630:2107:134;;;;;;;;;;-1:-1:-1;9630:2107:134;;;;;:::i;:::-;;:::i;11743:622::-;;;;;;;;;;-1:-1:-1;11743:622:134;;;;;:::i;:::-;;:::i;:::-;;;;12356:25:151;;;-1:-1:-1;;;;;12417:55:151;;;12412:2;12397:18;;12390:83;12329:18;11743:622:134;12182:297:151;1740:75:134;;;;;;;;;;;;1773:42;1740:75;;2320:49:44;;;;;;;;;;-1:-1:-1;2320:49:44;2365:4;2320:49;;20479:182:134;;;;;;;;;;-1:-1:-1;20479:182:134;;;;;:::i;:::-;-1:-1:-1;;;;;20587:28:134;;;20535:14;20587:28;;;:19;:28;;;;;;;;;20561:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20479:182;2543:26;;;;;;;;;;-1:-1:-1;2543:26:134;;;;-1:-1:-1;;;;;2543:26:134;;;20302:171;;;;;;;;;;;;;:::i;3383:30::-;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;23807:453::-;;;;;;;;;;;;;:::i;2029:54::-;;;;;;;;;;;;;:::i;3298:27::-;;;;;;;;;;;;;:::i;5705:147:44:-;;;;;;;;;;-1:-1:-1;5705:147:44;;;;;:::i;:::-;;:::i;3239:17:134:-;;;;;;;;;;-1:-1:-1;3239:17:134;;;;-1:-1:-1;;;;;3239:17:134;;;1905:49;;;;;;;;;;;;1947:7;1905:49;;3086:25;;;;;;;;;;-1:-1:-1;3086:25:134;;;;-1:-1:-1;;;;;3086:25:134;;;23676:125;;;;;;;;;;-1:-1:-1;23676:125:134;;;;;:::i;:::-;;:::i;2335:198:46:-;;;;;;;;;;-1:-1:-1;2335:198:46;;;;;:::i;:::-;;:::i;2627:30:134:-;;;;;;;;;;-1:-1:-1;2627:30:134;;;;-1:-1:-1;;;;;2627:30:134;;;12371:653;;;;;;;;;;-1:-1:-1;12371:653:134;;;;;:::i;:::-;;:::i;3050:213:44:-;3135:4;-1:-1:-1;;;;;;3158:58:44;;3173:43;3158:58;;:98;;-1:-1:-1;;;;;;;;;;1189:51:54;;;3220:36:44;3151:105;3050:213;-1:-1:-1;;3050:213:44:o;23354:280:134:-;23422:17;:15;:17::i;:::-;2063:20;1947:7;2063:2;:20;:::i;:::-;23453:16;:26;23449:86;;;23502:22;;;;;;;;;;;;;;23449:86;23544:12;:31;;;23590:37;;689:25:151;;;23590:37:134;;677:2:151;662:18;23590:37:134;;;;;;;;23354:280;:::o;13030:1179::-;13117:34;13143:7;13117:25;:34::i;:::-;13161:30;13181:9;13161:19;:30::i;:::-;13201:29;13220:9;13201:18;:29::i;:::-;-1:-1:-1;;;;;13245:36:134;;;;;;;:27;:36;;;;;;;;:47;;;;;;;;;;;;13241:107;;;13315:22;;;;;;;;;;;;;;13241:107;-1:-1:-1;;;;;13381:28:134;;;13358:20;13381:28;;;:19;:28;;;;;;;;;13358:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13504:19;;13584:36;13553:9;-1:-1:-1;;;;;13538:40:134;;:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:82;;;;;;;;:::i;:::-;;13534:384;;13655:51;;-1:-1:-1;;;13655:51:134;;-1:-1:-1;;;;;15530:55:151;;;13655:51:134;;;15512:74:151;13704:1:134;15602:18:151;;;15595:34;13655:39:134;;;;;15485:18:151;;13655:51:134;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13636:70;;13534:384;;;13773:32;13742:9;-1:-1:-1;;;;;13727:40:134;;:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:78;;;;;;;;:::i;:::-;;13723:195;;13840:67;;-1:-1:-1;;;13840:67:134;;-1:-1:-1;;;;;15530:55:151;;;13840:67:134;;;15512:74:151;15602:18;;;15595:34;;;13840:39:134;;;;;15485:18:151;;13840:67:134;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13821:86;;13723:195;-1:-1:-1;;;;;13928:30:134;;;;;;;:21;:30;;;;;;;;:41;;;;;;;;;;;;:60;;;14017:36;;;:27;:36;;;;;:47;;;;;;;;:54;;-1:-1:-1;;14017:54:134;14067:4;14017:54;;;;;;14082:27;;;:18;:27;;;;;:43;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;14082:43:134;;;;;14141:61;;16394:34:151;;;16444:18;;16437:43;;;;16496:18;;;16489:34;;;14141:61:134;;16321:2:151;16306:18;14141:61:134;;;;;;;13107:1102;;;13030:1179;;:::o;19745:120::-;19805:17;:15;:17::i;:::-;19832:26;19848:9;19832:15;:26::i;:::-;19745:120;:::o;18803:::-;18863:17;:15;:17::i;:::-;18890:26;18903:12;18890;:26::i;14215:691::-;14304:34;14330:7;14304:25;:34::i;:::-;14348:29;14367:9;14348:18;:29::i;:::-;14387:42;14407:10;14419:9;14387:19;:42::i;:::-;-1:-1:-1;;;;;14445:36:134;;;;;;;:27;:36;;;;;;;;:47;;;;;;;;;;;;14440:110;;14515:24;;;;;;;;;;;;;;14440:110;-1:-1:-1;;;;;14560:36:134;;;14610:5;14560:36;;;:27;:36;;;;;;;;:47;;;;;;;;;;;;:55;;-1:-1:-1;;14560:55:134;;;14625:30;;;:21;:30;;;;;:41;;;;;;;;;:45;14680:44;14588:7;14597:9;14680:24;:44::i;:::-;14854:45;;;-1:-1:-1;;;;;16787:15:151;;;16769:34;;16839:15;;16834:2;16819:18;;16812:43;14854:45:134;;16681:18:151;14854:45:134;;;;;;;;14215:691;;:::o;22580:467::-;22703:15;;22635:7;;-1:-1:-1;;;;;22703:15:134;22635:7;22798:21;1947:7;22798:3;:21;:::i;:::-;22781:12;;22759:19;;:34;;;;:::i;:::-;22758:62;;;;:::i;:::-;22729:91;-1:-1:-1;22830:24:134;22941:21;1947:7;22941:3;:21;:::i;:::-;22892:44;;-1:-1:-1;;;22892:44:134;;22930:4;22892:44;;;2818:74:151;-1:-1:-1;;;;;22892:29:134;;;;;2791:18:151;;22892:44:134;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;22870:19;;:66;;;;:::i;:::-;22869:94;;;;:::i;:::-;22830:133;;23024:16;23003:18;22981:19;;:40;;;;:::i;:::-;:59;;;;:::i;:::-;22974:66;;;;;22580:467;:::o;3994:82::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3994:82:134;;-1:-1:-1;3994:82:134;;-1:-1:-1;3994:82:134:o;5280:145:44:-;4929:7;4955:12;;;:6;:12;;;;;:22;;;2798:16;2809:4;2798:10;:16::i;:::-;5393:25:::1;5404:4;5410:7;5393:10;:25::i;:::-;5280:145:::0;;;:::o;23166:182:134:-;23235:17;:15;:17::i;:::-;23262:19;:32;;;23309;;689:25:151;;;23309:32:134;;677:2:151;662:18;23309:32:134;543:177:151;20667:1907:134;2526:21:49;:19;:21::i;:::-;20749:10:134::1;20731:15;20796:28:::0;;;:19:::1;:28;::::0;;;;20883:15:::1;::::0;20796:28;;-1:-1:-1;;;;;20883:15:134;;::::1;::::0;20978:21:::1;1947:7;20978:3;:21;:::i;:::-;20961:12;;20939:19;;:34;;;;:::i;:::-;20938:62;;;;:::i;:::-;20909:91:::0;-1:-1:-1;21010:24:134::1;21121:21;1947:7;21121:3;:21;:::i;:::-;21072:44;::::0;-1:-1:-1;;;21072:44:134;;21110:4:::1;21072:44;::::0;::::1;2818:74:151::0;-1:-1:-1;;;;;21072:29:134;::::1;::::0;::::1;::::0;2791:18:151;;21072:44:134::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;21050:19;;:66;;;;:::i;:::-;21049:94;;;;:::i;:::-;-1:-1:-1::0;;;;;20587:28:134;;;20535:14;20587:28;;;:19;:28;;;;;;;;;20561:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21010:133;;-1:-1:-1;21153:1415:134::1;;21191:22;::::0;::::1;:29:::0;;-1:-1:-1;;21191:29:134::1;21216:4;21191:29:::0;;::::1;::::0;;;21260:19:::1;::::0;21235:22;;::::1;:44:::0;21365:48:::1;::::0;;;;::::1;::::0;;;::::1;::::0;;::::1;;::::0;::::1;::::0;21400:11:::1;::::0;21365:48:::1;::::0;;-1:-1:-1;;;;;21400:11:134::1;21365;:48::i;:::-;21428:143;21474:7;21491:4;21541:16;21520:18;21498:19;;:40;;;;:::i;:::-;:59;;;;:::i;:::-;21428:11;::::0;-1:-1:-1;;;;;21428:11:134::1;::::0;:143;;:28:::1;:143::i;:::-;21922:53;;;;;;;;;;;;;;;;;::::0;21956:18:::1;21922:11;:53::i;:::-;21993:22:::0;;21989:175:::1;;22035:39;::::0;;;;::::1;::::0;;;::::1;::::0;;::::1;;::::0;::::1;::::0;22062:11:::1;::::0;22035:39:::1;::::0;;-1:-1:-1;;;;;22062:11:134::1;22035;:39::i;:::-;22117:11;::::0;22092::::1;::::0;:57:::1;::::0;-1:-1:-1;;;;;22092:11:134;;::::1;::::0;22117::::1;22130:18:::0;22092:24:::1;:57::i;:::-;22177:49;;;;;;;;;;;;;;;;;::::0;22209:16:::1;22177:11;:49::i;:::-;22244:20:::0;;22240:252:::1;;22284:93;;;;;;;;;;;;;;;;;;22338:14;-1:-1:-1::0;;;;;22338:36:134::1;;:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;22284:11;:93::i;:::-;22395:82;22420:14;-1:-1:-1::0;;;;;22420:36:134::1;;:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;22395:11;::::0;-1:-1:-1;;;;;22395:11:134::1;::::0;22460:16;22395:24:::1;:82::i;:::-;22537:19;::::0;22511:46:::1;::::0;;-1:-1:-1;;;;;15530:55:151;;15512:74;;15617:2;15602:18;;15595:34;;;;22511:46:134::1;::::0;15485:18:151;22511:46:134::1;;;;;;;21153:1415;20721:1853;;;;;2568:20:49::0;1808:1;3074:7;:22;2894:209;2568:20;20667:1907:134:o;6389:214:44:-;-1:-1:-1;;;;;6484:23:44;;965:10:52;6484:23:44;6476:83;;;;-1:-1:-1;;;6476:83:44;;17733:2:151;6476:83:44;;;17715:21:151;17772:2;17752:18;;;17745:30;17811:34;17791:18;;;17784:62;17882:17;17862:18;;;17855:45;17917:19;;6476:83:44;;;;;;;;;6570:26;6582:4;6588:7;6570:11;:26::i;:::-;6389:214;;:::o;3143:195:68:-;-1:-1:-1;;;;;1654:6:68;1637:23;1645:4;1637:23;1629:80;;;;-1:-1:-1;;;1629:80:68;;18149:2:151;1629:80:68;;;18131:21:151;18188:2;18168:18;;;18161:30;18227:34;18207:18;;;18200:62;-1:-1:-1;;;18278:18:151;;;18271:42;18330:19;;1629:80:68;17947:408:151;1629:80:68;1751:6;-1:-1:-1;;;;;1727:30:68;:20;1030:66:64;1254:54;-1:-1:-1;;;;;1254:54:64;;1175:140;1727:20:68;-1:-1:-1;;;;;1727:30:68;;1719:87;;;;-1:-1:-1;;;1719:87:68;;18562:2:151;1719:87:68;;;18544:21:151;18601:2;18581:18;;;18574:30;18640:34;18620:18;;;18613:62;-1:-1:-1;;;18691:18:151;;;18684:42;18743:19;;1719:87:68;18360:408:151;1719:87:68;3224:36:::1;3242:17;3224;:36::i;:::-;3311:12;::::0;;3321:1:::1;3311:12:::0;;;::::1;::::0;::::1;::::0;;;3270:61:::1;::::0;3292:17;;3311:12;3270:21:::1;:61::i;19871:240:134:-:0;19935:17;:15;:17::i;:::-;19962:25;19981:5;19962:18;:25::i;:::-;19997:18;:26;;-1:-1:-1;;;;;;19997:26:134;-1:-1:-1;;;;;19997:26:134;;;;;;;;;20071:11;;20038:66;;;20071:11;;;;16769:34:151;;16834:2;16819:18;;16812:43;;;;20038:66:134;;16681:18:151;20038:66:134;16534:327:151;3657:220:68;-1:-1:-1;;;;;1654:6:68;1637:23;1645:4;1637:23;1629:80;;;;-1:-1:-1;;;1629:80:68;;18149:2:151;1629:80:68;;;18131:21:151;18188:2;18168:18;;;18161:30;18227:34;18207:18;;;18200:62;-1:-1:-1;;;18278:18:151;;;18271:42;18330:19;;1629:80:68;17947:408:151;1629:80:68;1751:6;-1:-1:-1;;;;;1727:30:68;:20;1030:66:64;1254:54;-1:-1:-1;;;;;1254:54:64;;1175:140;1727:20:68;-1:-1:-1;;;;;1727:30:68;;1719:87;;;;-1:-1:-1;;;1719:87:68;;18562:2:151;1719:87:68;;;18544:21:151;18601:2;18581:18;;;18574:30;18640:34;18620:18;;;18613:62;-1:-1:-1;;;18691:18:151;;;18684:42;18743:19;;1719:87:68;18360:408:151;1719:87:68;3772:36:::1;3790:17;3772;:36::i;:::-;3818:52;3840:17;3859:4;3865;3818:21;:52::i;2762:131::-:0;2840:7;2080:4;-1:-1:-1;;;;;2089:6:68;2072:23;;2064:92;;;;-1:-1:-1;;;2064:92:68;;19315:2:151;2064:92:68;;;19297:21:151;19354:2;19334:18;;;19327:30;19393:34;19373:18;;;19366:62;19464:26;19444:18;;;19437:54;19508:19;;2064:92:68;19113:420:151;2064:92:68;-1:-1:-1;1030:66:64::1;2762:131:68::0;:::o;15343:998:134:-;2526:21:49;:19;:21::i;:::-;15419:26:134::1;:24;:26::i;:::-;15472:10;15455:14;15528:26:::0;;;:18:::1;:26;::::0;;;;;;;15492:62;;;;;;::::1;::::0;;;;;;;;;;;;15528:26;;15492:62;;::::1;15528:26:::0;15492:62;;::::1;;;;;;;;;;;;;;;;::::0;;-1:-1:-1;;;;;15492:62:134::1;::::0;;;;;::::1;::::0;::::1;;::::0;;::::1;;;;;;;;;;;15565:24;15605:9:::0;15617:1:::1;15605:13;;15600:533;15624:16;:23;15620:1;:27;15600:533;;;15807:16;15824:1;15807:19;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;15792:72:::1;::::0;-1:-1:-1;;;15792:72:134;;-1:-1:-1;;;;;15530:55:151;;;15792:72:134::1;::::0;::::1;15512:74:151::0;15602:18;;;15595:34;;;15792:49:134;;::::1;::::0;::::1;::::0;15485:18:151;;15792:72:134::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;15773:91:::0;-1:-1:-1;15882:21:134;;15878:229:::1;;-1:-1:-1::0;;;;;15923:29:134;::::1;;::::0;;;:21:::1;:29;::::0;;;;15953:19;;15977:16;;15923:29;15953:16;;15970:1;;15953:19;::::1;;;;;:::i;:::-;;;;;;;-1:-1:-1::0;;;;;15923:50:134::1;-1:-1:-1::0;;;;;15923:50:134::1;;;;;;;;;;;;;:70;;;;;;;:::i;:::-;;;;;;;;16011:81;;;;;;;;;;;;;;;;;::::0;16041:21:::1;:29;16063:6;-1:-1:-1::0;;;;;16041:29:134::1;-1:-1:-1::0;;;;;16041:29:134::1;;;;;;;;;;;;:50;16071:16;16088:1;16071:19;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1::0;;;;;16041:50:134::1;-1:-1:-1::0;;;;;16041:50:134::1;;;;;;;;;;;;;16011:11;:81::i;:::-;15649:3:::0;::::1;::::0;::::1;:::i;:::-;;;;15600:533;;;-1:-1:-1::0;16143:11:134::1;::::0;:66:::1;::::0;-1:-1:-1;;;;;16143:11:134::1;16172:6:::0;16188:4:::1;16195:13:::0;16143:28:::1;:66::i;:::-;-1:-1:-1::0;;;;;16219:27:134;::::1;;::::0;;;:19:::1;:27;::::0;;;;:40:::1;;:57:::0;;16263:13;;16219:27;:57:::1;::::0;16263:13;;16219:57:::1;:::i;:::-;::::0;;;-1:-1:-1;;16291:43:134::1;::::0;;-1:-1:-1;;;;;15530:55:151;;15512:74;;15617:2;15602:18;;15595:34;;;16291:43:134::1;::::0;15485:18:151;16291:43:134::1;;;;;;;;15409:932;;;2568:20:49::0;1808:1;3074:7;:22;2894:209;16481:1554:134;2526:21:49;:19;:21::i;:::-;16559:26:134::1;:24;:26::i;:::-;16612:10;16595:14;16669:26:::0;;;:18:::1;:26;::::0;;;;;;;16806:19:::1;::::0;16745::::1;:27:::0;;;;;;:40:::1;;::::0;16669:26;;16595:14;16806:19;16745:58:::1;::::0;16788:15;;16745:58:::1;:::i;:::-;:80;16741:140;;;16848:22;;;;;;;;;;;;;;16741:140;16890:11;::::0;:49:::1;::::0;-1:-1:-1;;;;;16890:11:134::1;16915:6:::0;16923:15;16890:24:::1;:49::i;:::-;16954:9;16949:951;16973:23:::0;;16969:27;::::1;16949:951;;;17017:16;17036;17053:1;17036:19;;;;;;;;:::i;:::-;;::::0;;;::::1;::::0;;;::::1;::::0;-1:-1:-1;;;;;17036:19:134::1;::::0;-1:-1:-1;17073:60:134::1;17036:19:::0;-1:-1:-1;;;17073:26:134::1;:60::i;:::-;17069:804;;;17172:63;::::0;;;;-1:-1:-1;;;;;15530:55:151;;;17172:63:134::1;::::0;::::1;15512:74:151::0;15602:18;;;15595:34;;;17172:38:134;::::1;::::0;::::1;::::0;15485:18:151;;17172:63:134::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;17153:82;;17253:20;17276:21;:29;17298:6;-1:-1:-1::0;;;;;17276:29:134::1;-1:-1:-1::0;;;;;17276:29:134::1;;;;;;;;;;;;:50;17306:16;17323:1;17306:19;;;;;;;;:::i;:::-;;::::0;;;::::1;::::0;;;;;::::1;::::0;-1:-1:-1;;;;;17306:19:134::1;17276:50:::0;;;::::1;::::0;;;;;;;;;;-1:-1:-1;17348:31:134;;::::1;17344:259;;;17410:57;::::0;::::1;::::0;;::::1;::::0;::::1;20174:25:151::0;;;20215:18;;;20208:34;;;20147:18;;17410:57:134::1;20000:248:151::0;17344:259:134::1;-1:-1:-1::0;;;;;17514:29:134;::::1;;::::0;;;:21:::1;:29;::::0;;;;17544:19;;17568:16;;17514:29;17544:16;;17561:1;;17544:19;::::1;;;;;:::i;:::-;;::::0;;;::::1;::::0;;;;;::::1;::::0;-1:-1:-1;;;;;17544:19:134::1;17514:50:::0;;;::::1;::::0;;;;;;;;:70;;:50;;17544:19;17514:70:::1;::::0;;;::::1;:::i;:::-;::::0;;;-1:-1:-1;;17135:482:134::1;17069:804;;;17747:23:::0;;17730:16;;17747:27:::1;::::0;17773:1:::1;::::0;17747:27:::1;:::i;:::-;17730:45;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;-1:-1:-1::0;;;;;17730:45:134::1;17708:16;17725:1;17708:19;;;;;;;;:::i;:::-;;;;;;;;;:67;;;;;-1:-1:-1::0;;;;;17708:67:134::1;;;;;-1:-1:-1::0;;;;;17708:67:134::1;;;;;;17793:16;:22;;;;;;;:::i;:::-;;::::0;;;::::1;::::0;;;;-1:-1:-1;;17793:22:134;;;;;-1:-1:-1;;;;;;17793:22:134::1;::::0;;;;;17833:25:::1;17849:8:::0;17833:15:::1;:25::i;:::-;-1:-1:-1::0;16998:3:134;::::1;::::0;::::1;:::i;:::-;;;;16949:951;;;-1:-1:-1::0;;;;;;17909:27:134;::::1;;::::0;;;:19:::1;:27;::::0;;;;:40:::1;;:59:::0;;17953:15;;17909:27;:59:::1;::::0;17953:15;;17909:59:::1;:::i;:::-;::::0;;;-1:-1:-1;;17983:45:134::1;::::0;;-1:-1:-1;;;;;15530:55:151;;15512:74;;15617:2;15602:18;;15595:34;;;17983:45:134::1;::::0;15485:18:151;17983:45:134::1;15330:305:151::0;24738:571:134;2526:21:49;:19;:21::i;:::-;24831:17:134::1;:15;:17::i;:::-;24863:13;::::0;::::1;;24858:68;;24899:16;;;;;;;;;;;;;;24858:68;-1:-1:-1::0;;;;;20587:28:134;;;20535:14;20587:28;;;:19;:28;;;;;;;;;20561:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;24935:75:::1;;24980:19;;-1:-1:-1::0;;;24980:19:134::1;;;;;;;;;;;24935:75;-1:-1:-1::0;;;;;25042:28:134;;::::1;25019:20;25042:28:::0;;;:19:::1;:28;::::0;;;;;;;;25019:51;;::::1;::::0;::::1;::::0;;;;;;::::1;::::0;;;;::::1;::::0;;;::::1;::::0;;;;::::1;;::::0;::::1;;;;::::0;;;;25080:32:::1;25062:7:::0;25080:23:::1;:32::i;:::-;-1:-1:-1::0;;;;;25129:28:134;;::::1;;::::0;;;:19:::1;:28;::::0;;;;;;;25122:35;;-1:-1:-1;;;;;;25122:35:134::1;::::0;;-1:-1:-1;25122:35:134;::::1;::::0;;;;::::1;::::0;;::::1;::::0;;-1:-1:-1;;25122:35:134::1;::::0;;25168:11:::1;::::0;25207:19;;::::1;::::0;25168:59;;-1:-1:-1;;;25168:59:134;;15530:55:151;;;25168:59:134::1;::::0;::::1;15512:74:151::0;15602:18;;;15595:34;;;;25168:11:134;;::::1;::::0;:20:::1;::::0;15485:18:151;;25168:59:134::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;25282:19:134::1;::::0;;::::1;::::0;25242:60:::1;::::0;;-1:-1:-1;;;;;16412:15:151;;;16394:34;;16464:15;;16444:18;;;16437:43;;;;16496:18;;16489:34;25242:60:134::1;::::0;16321:2:151;16306:18;25242:60:134::1;;;;;;;24821:488;2568:20:49::0;1808:1;3074:7;:22;2894:209;2085:101:46;1355:13;:11;:13::i;:::-;2149:30:::1;2176:1;2149:18;:30::i;19318:229:134:-:0;19383:17;:15;:17::i;:::-;19437:4;;:20;;-1:-1:-1;;;19437:20:134;;;;;689:25:151;;;19410:16:134;;-1:-1:-1;;;;;19437:4:134;;:12;;662:18:151;;19437:20:134;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;19437:20:134;;;;;;;;;;;;:::i;:::-;:29;;;19410:57;;19477:28;19496:8;19477:18;:28::i;:::-;19515:25;19531:8;19515:15;:25::i;18484:313::-;18546:17;:15;:17::i;:::-;18600:4;;:20;;-1:-1:-1;;;18600:20:134;;;;;689:25:151;;;18573:16:134;;-1:-1:-1;;;;;18600:4:134;;:12;;662:18:151;;18600:20:134;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;18600:20:134;;;;;;;;;;;;:::i;:::-;:29;;;18573:57;;18640:28;18659:8;18640:18;:28::i;:::-;18682:60;-1:-1:-1;;;;;18682:26:134;;-1:-1:-1;;;18682:26:134;:60::i;:::-;18678:113;;;18758:22;18771:8;18758:12;:22::i;9630:2107::-;3279:19:48;3302:13;;;;;;3301:14;;3347:34;;;;-1:-1:-1;3365:12:48;;3380:1;3365:12;;;;:16;3347:34;3346:108;;;-1:-1:-1;3426:4:48;1713:19:51;:23;;;3387:66:48;;-1:-1:-1;3436:12:48;;;;;:17;3387:66;3325:201;;;;-1:-1:-1;;;3325:201:48;;22551:2:151;3325:201:48;;;22533:21:151;22590:2;22570:18;;;22563:30;22629:34;22609:18;;;22602:62;22700:16;22680:18;;;22673:44;22734:19;;3325:201:48;22349:410:151;3325:201:48;3536:12;:16;;-1:-1:-1;;3536:16:48;3551:1;3536:16;;;3562:65;;;;3596:13;:20;;-1:-1:-1;;3596:20:48;;;;;3562:65;9733:16:134::1;:14;:16::i;:::-;9759:24;:22;:24::i;:::-;9793:22;:20;:22::i;:::-;9826:49;4636:27;2365:4:44;9826:13:134;:49::i;:::-;9886:48;9913:6;:19;;;9886:18;:48::i;:::-;9944:39;9963:6;:19;;;9944:18;:39::i;:::-;10012:12:::0;;9993:32:::1;::::0;:18:::1;:32::i;:::-;10035:43;10054:6;:23;;;10035:18;:43::i;:::-;10088:44;10107:6;:24;;;10088:18;:44::i;:::-;10147:20;::::0;::::1;::::0;:25;10143:95:::1;;10188:39;10207:6;:19;;;10188:18;:39::i;:::-;10260:12:::0;;10247:4:::1;:26:::0;;-1:-1:-1;;;;;10247:26:134;;::::1;-1:-1:-1::0;;;;;;10247:26:134;;::::1;;::::0;;;10297:19:::1;::::0;::::1;::::0;10283:11:::1;:33:::0;;;;;::::1;::::0;::::1;;::::0;;10330:27:::1;::::0;::::1;::::0;10260:12:::1;10330:32:::0;10326:89:::1;;10385:19;;;;;;;;;;;;;;10326:89;10446:27;::::0;::::1;::::0;10424:19:::1;:49:::0;10498:20:::1;::::0;::::1;::::0;10483:12:::1;:35:::0;10544:21:::1;::::0;::::1;::::0;10528:13:::1;:37:::0;;-1:-1:-1;;10528:37:134::1;::::0;::::1;;::::0;;;::::1;::::0;;10591:21:::1;::::0;::::1;::::0;10575:13:::1;::::0;:37:::1;::::0;:13;:37:::1;:::i;:::-;-1:-1:-1::0;10641:23:134::1;::::0;::::1;::::0;10622:16:::1;::::0;:42:::1;::::0;:16;:42:::1;:::i;:::-;-1:-1:-1::0;10692:23:134::1;::::0;::::1;::::0;10674:15:::1;:41:::0;;-1:-1:-1;;;;;;10674:41:134;;::::1;-1:-1:-1::0;;;;;10674:41:134;;::::1;;::::0;;10739:19:::1;::::0;::::1;::::0;10725:11:::1;:33:::0;;;::::1;::::0;;::::1;::::0;;;::::1;::::0;;10788:19;;::::1;::::0;10768:11:::1;:40:::0;;;::::1;::::0;;::::1;;::::0;;10837:24:::1;::::0;::::1;::::0;10818:16:::1;:43:::0;;;;::::1;::::0;::::1;::::0;;;::::1;::::0;;10872:47:::1;::::0;4636:27:::1;::::0;10872:10:::1;:47::i;:::-;10951:4;;;;;;;;;-1:-1:-1::0;;;;;10951:4:134::1;-1:-1:-1::0;;;;;10951:16:134::1;;:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10930:8;:40:::0;;-1:-1:-1;;;;;;10930:40:134::1;-1:-1:-1::0;;;;;10930:40:134;;::::1;;::::0;;11007:11:::1;::::0;:23:::1;::::0;;;;;;;-1:-1:-1;;11007:11:134;;;::::1;::::0;:21:::1;::::0;:23:::1;::::0;;::::1;::::0;-1:-1:-1;;11007:23:134;;;;;;;;:11;:23:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;::::0;;::::1;-1:-1:-1::0;;11007:23:134::1;::::0;::::1;;::::0;::::1;::::0;;;::::1;::::0;::::1;:::i;:::-;10981:49;;11040:36;11093:6;:13;11109:1;11093:17;;;;:::i;:::-;11079:32;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;-1:-1:-1;11079:32:134::1;;11040:71;;11127:9;11122:103;11146:6;:13;11142:1;:17;11122:103;;;11205:6;11212:1;11205:9;;;;;;;;:::i;:::-;;;;;;;11180:19;11200:1;11180:22;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11180:34:134;;::::1;:22;::::0;;::::1;::::0;;;;;;;:34;11161:3;::::1;::::0;::::1;:::i;:::-;;;;11122:103;;;-1:-1:-1::0;11297:11:134::1;::::0;11255:26;;-1:-1:-1;;;;;11297:11:134;;::::1;::::0;11235:19;;11255:30:::1;::::0;11297:11;;11255:30:::1;:::i;:::-;11235:51;;;;;;;;:::i;:::-;;;;;;:74;-1:-1:-1::0;;;;;11235:74:134::1;;;-1:-1:-1::0;;;;;11235:74:134::1;;;::::0;::::1;11381:4;11319:19;11368:1;11339:19;:26;:30;;;;:::i;:::-;11319:51;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11319:67:134;;::::1;:51;::::0;;::::1;::::0;;;;;:67;11498:8:::1;::::0;11521:13:::1;::::0;::::1;::::0;11551:16:::1;::::0;::::1;::::0;11498:106:::1;::::0;;;;:8;;;::::1;::::0;:22:::1;::::0;:106:::1;::::0;11521:13;11536::::1;::::0;11577:4:::1;::::0;11584:19;;11498:106:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11474:9;:130:::0;11615:36;;::::1;::::0;:14:::1;::::0;:36:::1;::::0;::::1;::::0;::::1;:::i;:::-;;11667:63;11687:9;;11698:13;11713:6;:16;;;11667:63;;;;;;;;:::i;:::-;;;;;;;;9723:2014;;3651:14:48::0;3647:99;;;3697:5;3681:21;;-1:-1:-1;;3681:21:48;;;3721:14;;-1:-1:-1;29627:36:151;;3721:14:48;;29615:2:151;29600:18;3721:14:48;29475:194:151;11743:622:134;11886:14;11902:16;12086:21;12173:20;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;12257:4:134;;12196:67;;;-1:-1:-1;;;;;12257:4:134;;;12196:67;;;;2818:74:151;;;;12196:67:134;;;;;;;;;;2791:18:151;;;;12196:67:134;;;;;;;-1:-1:-1;;;;;12196:67:134;12219:28;12196:67;;;12131:146;;;;:::i;:::-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;12086:201;;12305:53;12316:13;12331:6;12339:7;12348:9;12305:10;:53::i;:::-;12298:60;;;;;11743:622;;;;;;:::o;20302:171::-;20366:18;;-1:-1:-1;;;;;20366:18:134;20352:10;:32;20348:89;;20407:19;;;;;;;;;;;;;;20348:89;20446:20;:18;:20::i;3383:30::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;23807:453::-;2526:21:49;:19;:21::i;:::-;23883:10:134::1;23903:34;23883:10:::0;23903:25:::1;:34::i;:::-;23947:32;23971:7;23947:23;:32::i;:::-;-1:-1:-1::0;;;;;24012:28:134;;::::1;23989:20;24012:28:::0;;;:19:::1;:28;::::0;;;;;;;23989:51;;::::1;::::0;::::1;::::0;;;;;;::::1;::::0;;;;::::1;::::0;;;;::::1;::::0;::::1;::::0;::::1;::::0;;::::1;::::0;::::1;;;::::0;;;;24057:28;;;-1:-1:-1;;;;;;24050:35:134;;::::1;::::0;;;;;;;-1:-1:-1;;24050:35:134;;::::1;::::0;;;24102:18:::1;:27:::0;;;;;23989:51;;24095:34:::1;::::0;24102:27;24095:34:::1;:::i;:::-;24140:11;::::0;24170:19:::1;::::0;::::1;::::0;24140:50:::1;::::0;-1:-1:-1;;;24140:50:134;;-1:-1:-1;;;;;15530:55:151;;;24140:50:134::1;::::0;::::1;15512:74:151::0;15602:18;;;15595:34;;;;24140:11:134;::::1;::::0;:20:::1;::::0;15485:18:151;;24140:50:134::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;24233:19:134::1;::::0;;::::1;::::0;24205:48:::1;::::0;;-1:-1:-1;;;;;15530:55:151;;15512:74;;15602:18;;;15595:34;;;;24205:48:134::1;::::0;15485:18:151;24205:48:134::1;;;;;;;23855:405;;2568:20:49::0;1808:1;3074:7;:22;2894:209;2029:54:134;2063:20;1947:7;2063:2;:20;:::i;:::-;2029:54;:::o;3298:27::-;;;;;;;:::i;5705:147:44:-;4929:7;4955:12;;;:6;:12;;;;;:22;;;2798:16;2809:4;2798:10;:16::i;:::-;5819:26:::1;5831:4;5837:7;5819:11;:26::i;23676:125:134:-:0;-1:-1:-1;;;;;3459:29:44;;23739:4:134;3459:29:44;;;:12;;:29;:12;:29;;;;;23762:32:134;3350:145:44;2335:198:46;1355:13;:11;:13::i;:::-;-1:-1:-1;;;;;2423:22:46;::::1;2415:73;;;::::0;-1:-1:-1;;;2415:73:46;;30219:2:151;2415:73:46::1;::::0;::::1;30201:21:151::0;30258:2;30238:18;;;30231:30;30297:34;30277:18;;;30270:62;30368:8;30348:18;;;30341:36;30394:19;;2415:73:46::1;30017:402:151::0;2415:73:46::1;2498:28;2517:8;2498:18;:28::i;12371:653:134:-:0;12555:14;;1773:42;-1:-1:-1;;;;;12635:20:134;;;12631:65;;-1:-1:-1;12679:6:134;12631:65;12716:9;12705:20;;12736:31;12770:14;12736:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;12736:48:134;;;;;;;;;;;;;;;;-1:-1:-1;;12804:4:134;;12851:9;;12872:19;;12736:48;;-1:-1:-1;;;;;;12804:4:134;;;;:33;;-1:-1:-1;12851:9:134;;-1:-1:-1;12862:8:134;;-1:-1:-1;12872:19:134;;12883:7;;12872:19;;;:::i;:::-;;;;;;;;;;;;;12893:5;12900:1;12903:9;12914:14;12804:134;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12795:143;;12954:63;12966:6;12974:8;12992:4;12999:6;13007:9;12954:63;;;;;;;;;;:::i;:::-;;;;;;;;12589:435;;12371:653;;;;;;;:::o;6104:148::-;6183:10;3436:4:44;3459:29;;;:12;;:29;:12;:29;;;;;6154:92:134;;6217:18;;;;;;;;;;;;;;6407:156;-1:-1:-1;;;;;20587:28:134;;;20535:14;20587:28;;;:19;:28;;;;;;;;;20561:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6482:75;;6527:19;;-1:-1:-1;;;6527:19:134;;;;;;;;;;;6569:162;-1:-1:-1;;;;;6645:28:134;;;;;;:17;:28;;;;;;;;6640:85;;6696:18;;;;;;;;;;;;;;19179:133;-1:-1:-1;;;;;19253:22:134;;19249:56;;19284:21;;;;;;;;;;;;;;19553:186;19616:29;19635:9;19616:18;:29::i;:::-;-1:-1:-1;;;;;19655:28:134;;19686:5;19655:28;;;:17;:28;;;;;;;;;:36;;-1:-1:-1;;19655:36:134;;;19706:26;;2818:74:151;;;19706:26:134;;2791:18:151;19706:26:134;2672:226:151;18929:244:134;-1:-1:-1;;;;;18996:31:134;;;;;;:17;:31;;;;;;;;18992:85;;;19050:16;;;;;;;;;;;;;;18992:85;-1:-1:-1;;;;;19086:31:134;;;;;;:17;:31;;;;;;;;;:38;;-1:-1:-1;;19086:38:134;19120:4;19086:38;;;19139:27;;2818:74:151;;;19139:27:134;;2791:18:151;19139:27:134;2672:226:151;6737:171:134;6840:9;-1:-1:-1;;;;;6829:20:134;:7;-1:-1:-1;;;;;6829:20:134;;6825:77;;6872:19;;;;;;;;;;;;;;14912:425;-1:-1:-1;;;;;15038:27:134;;15001:34;15038:27;;;:18;:27;;;;;;15075:256;15099:23;;15095:27;;15075:256;;;15170:9;-1:-1:-1;;;;;15147:32:134;:16;15164:1;15147:19;;;;;;;;:::i;:::-;;;;;;;;;;;-1:-1:-1;;;;;15147:19:134;:32;15143:178;;15238:23;;15221:16;;15238:27;;15264:1;;15238:27;:::i;:::-;15221:45;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;15221:45:134;15199:16;15216:1;15199:19;;;;;;;;:::i;:::-;;;;;;;;;:67;;;;;-1:-1:-1;;;;;15199:67:134;;;;;-1:-1:-1;;;;;15199:67:134;;;;;;15284:16;:22;;;;;;;:::i;:::-;;;;;;;;;;-1:-1:-1;;15284:22:134;;;;;-1:-1:-1;;;;;;15284:22:134;;;;;;15143:178;15124:3;;;;:::i;:::-;;;;15075:256;;;;14991:346;14912:425;;:::o;3789:103:44:-;3855:30;3866:4;965:10:52;3855::44;:30::i;7938:233::-;3436:4;3459:12;;;:6;:12;;;;;;;;-1:-1:-1;;;;;3459:29:44;;;;;;;;;;;;8016:149;;8059:12;;;;:6;:12;;;;;;;;-1:-1:-1;;;;;8059:29:44;;;;;;;;;:36;;-1:-1:-1;;8059:36:44;8091:4;8059:36;;;8141:12;965:10:52;;886:96;8141:12:44;-1:-1:-1;;;;;8114:40:44;8132:7;-1:-1:-1;;;;;8114:40:44;8126:4;8114:40;;;;;;;;;;7938:233;;:::o;2601:287:49:-;1851:1;2733:7;;:19;2725:63;;;;-1:-1:-1;;;2725:63:49;;33650:2:151;2725:63:49;;;33632:21:151;33689:2;33669:18;;;33662:30;33728:33;33708:18;;;33701:61;33779:18;;2725:63:49;33448:355:151;2725:63:49;1851:1;2863:7;:18;2601:287::o;6994:145:35:-;7061:71;7124:2;7128;7077:54;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;7077:54:35;;;;;;;;;;;;;;-1:-1:-1;;;;;7077:54:35;;;;;7061:15;:71::i;1355:203:77:-;1482:68;;-1:-1:-1;;;;;16412:15:151;;;1482:68:77;;;16394:34:151;16464:15;;16444:18;;;16437:43;16496:18;;;16489:34;;;1455:96:77;;1475:5;;1505:27;;16306:18:151;;1482:68:77;;;;-1:-1:-1;;1482:68:77;;;;;;;;;;;;;;-1:-1:-1;;;;;1482:68:77;-1:-1:-1;;;;;;1482:68:77;;;;;;;;;;1455:19;:96::i;6548:139:35:-;6612:68;6672:2;6676;6628:51;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;6628:51:35;;;;;;;;;;;;;;-1:-1:-1;;;;;6628:51:35;;;;;6612:15;:68::i;941:175:77:-;1050:58;;-1:-1:-1;;;;;15530:55:151;;1050:58:77;;;15512:74:151;15602:18;;;15595:34;;;1023:86:77;;1043:5;;-1:-1:-1;;;1073:23:77;15485:18:151;;1050:58:77;15330:305:151;2894:209:49;1808:1;3074:7;:22;2894:209::o;8342:234:44:-;3436:4;3459:12;;;:6;:12;;;;;;;;-1:-1:-1;;;;;3459:29:44;;;;;;;;;;;;8421:149;;;8495:5;8463:12;;;:6;:12;;;;;;;;-1:-1:-1;;;;;8463:29:44;;;;;;;;;;:37;;-1:-1:-1;;8463:37:44;;;8519:40;965:10:52;;8463:12:44;;8519:40;;8495:5;8519:40;8342:234;;:::o;25315:66:134:-;1355:13:46;:11;:13::i;2494:922:64:-;689:66;2910:48;;;2906:504;;;2974:37;2993:17;2974:18;:37::i;2906:504::-;3064:17;-1:-1:-1;;;;;3046:50:64;;:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3046:52:64;;;;;;;;-1:-1:-1;;3046:52:64;;;;;;;;;;;;:::i;:::-;;;3042:291;;3262:56;;-1:-1:-1;;;3262:56:64;;34651:2:151;3262:56:64;;;34633:21:151;34690:2;34670:18;;;34663:30;34729:34;34709:18;;;34702:62;34800:16;34780:18;;;34773:44;34834:19;;3262:56:64;34449:410:151;3042:291:64;1030:66;3148:28;;3140:82;;;;-1:-1:-1;;;3140:82:64;;35066:2:151;3140:82:64;;;35048:21:151;35105:2;35085:18;;;35078:30;35144:34;35124:18;;;35117:62;35215:11;35195:18;;;35188:39;35244:19;;3140:82:64;34864:405:151;3140:82:64;3099:138;3346:53;3364:17;3383:4;3389:9;3346:17;:53::i;6258:143:134:-;6331:10;20535:14;20587:28;;;:19;:28;;;;;;;;;20561:54;;;;;;;;;-1:-1:-1;;;;;20561:54:134;;;;;;;;;;;;;;;;;;;;;;;;;;6317:78;;6365:19;;-1:-1:-1;;;6365:19:134;;;;;;;;;;;1349:282:85;1436:4;1543:23;1558:7;1543:14;:23::i;:::-;:81;;;;;1570:54;1603:7;1612:11;1570:32;:54::i;:::-;1536:88;1349:282;-1:-1:-1;;;1349:282:85:o;24266:466:134:-;-1:-1:-1;;;;;24371:27:134;;24335:33;24371:27;;;:18;:27;;;;;;;;24335:63;;;;;;;;;;;;;;;;;;;24371:27;;24335:63;;;24371:27;24335:63;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;24335:63:134;;;;;;;;;;;;;;;;;;;;;;;24479:9;24474:252;24498:16;:23;24494:1;:27;24474:252;;;24669:16;24686:1;24669:19;;;;;;;;:::i;:::-;;;;;;;;;;;24654:61;;;;;-1:-1:-1;;;;;2836:55:151;;;24654:61:134;;;2818:74:151;24654:52:134;;;;;;2791:18:151;;24654:61:134;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;24523:3;;;;;:::i;:::-;;;;24474:252;;1620:130:46;1534:6;;-1:-1:-1;;;;;1534:6:46;965:10:52;1683:23:46;1675:68;;;;-1:-1:-1;;;1675:68:46;;35476:2:151;1675:68:46;;;35458:21:151;;;35495:18;;;35488:30;35554:34;35534:18;;;35527:62;35606:18;;1675:68:46;35274:356:151;2687:187:46;2779:6;;;-1:-1:-1;;;;;2795:17:46;;;-1:-1:-1;;;;;;2795:17:46;;;;;;;2827:40;;2779:6;;;2795:17;2779:6;;2827:40;;2760:16;;2827:40;2750:124;2687:187;:::o;1024:95::-;5374:13:48;;;;;;;5366:69;;;;-1:-1:-1;;;5366:69:48;;35837:2:151;5366:69:48;;;35819:21:151;35876:2;35856:18;;;35849:30;35915:34;35895:18;;;35888:62;-1:-1:-1;;;35966:18:151;;;35959:41;36017:19;;5366:69:48;35635:407:151;5366:69:48;1086:26:46::1;:24;:26::i;1889:111:49:-:0;5374:13:48;;;;;;;5366:69;;;;-1:-1:-1;;;5366:69:48;;35837:2:151;5366:69:48;;;35819:21:151;35876:2;35856:18;;;35849:30;35915:34;35895:18;;;35888:62;-1:-1:-1;;;35966:18:151;;;35959:41;36017:19;;5366:69:48;35635:407:151;5366:69:48;1959:34:49::1;:32;:34::i;2838:65:44:-:0;5374:13:48;;;;;;;5366:69;;;;-1:-1:-1;;;5366:69:48;;35837:2:151;5366:69:48;;;35819:21:151;35876:2;35856:18;;;35849:30;35915:34;35895:18;;;35888:62;-1:-1:-1;;;35966:18:151;;;35959:41;36017:19;;5366:69:48;35635:407:151;7523:247:44;7606:25;4955:12;;;:6;:12;;;;;;:22;;;;7662:34;;;;7711:52;;4955:22;;7662:34;;4955:22;;:12;;7711:52;;7606:25;7711:52;7596:174;7523:247;;:::o;20117:179:134:-;20186:18;;;20166:11;:39;;-1:-1:-1;;;;;20186:18:134;;-1:-1:-1;;;;;;20166:39:134;;;;;;;20215:25;;;20255:34;;-1:-1:-1;2818:74:151;;20255:34:134;;2806:2:151;2791:18;20255:34:134;;;;;;;20117:179::o;4173:501:44:-;3436:4;3459:12;;;:6;:12;;;;;;;;-1:-1:-1;;;;;3459:29:44;;;;;;;;;;;;4256:412;;4444:39;4475:7;4444:30;:39::i;:::-;4554:49;4593:4;4600:2;4554:30;:49::i;:::-;4351:274;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;4351:274:44;;;;;;;;;;-1:-1:-1;;;4299:358:44;;;;;;;:::i;181:376:35:-;275:14;;131:42;448:2;435:16;;251:21;;275:14;435:16;131:42;484:5;473:68;464:77;;401:150;;181:376;:::o;5173:642:77:-;5592:23;5618:69;5646:4;5618:69;;;;;;;;;;;;;;;;;5626:5;-1:-1:-1;;;;;5618:27:77;;;:69;;;;;:::i;:::-;5592:95;;5705:10;:17;5726:1;5705:22;:56;;;;5742:10;5731:30;;;;;;;;;;;;:::i;:::-;5697:111;;;;-1:-1:-1;;;5697:111:77;;37305:2:151;5697:111:77;;;37287:21:151;37344:2;37324:18;;;37317:30;37383:34;37363:18;;;37356:62;37454:12;37434:18;;;37427:40;37484:19;;5697:111:77;37103:406:151;1406:259:64;-1:-1:-1;;;;;1713:19:51;;;1479:95:64;;;;-1:-1:-1;;;1479:95:64;;37716:2:151;1479:95:64;;;37698:21:151;37755:2;37735:18;;;37728:30;37794:34;37774:18;;;37767:62;37865:15;37845:18;;;37838:43;37898:19;;1479:95:64;37514:409:151;1479:95:64;1030:66;1584:74;;-1:-1:-1;;;;;;1584:74:64;-1:-1:-1;;;;;1584:74:64;;;;;;;;;;1406:259::o;2057:265::-;2165:29;2176:17;2165:10;:29::i;:::-;2222:1;2208:4;:11;:15;:28;;;;2227:9;2208:28;2204:112;;;2252:53;2281:17;2300:4;2252:28;:53::i;704:427:85:-;768:4;975:68;1008:7;-1:-1:-1;;;975:32:85;:68::i;:::-;:149;;;;-1:-1:-1;1060:64:85;1093:7;-1:-1:-1;;;;;;1060:32:85;:64::i;:::-;1059:65;956:168;704:427;-1:-1:-1;;704:427:85:o;4421:647::-;4592:71;;;-1:-1:-1;;;;;;38090:79:151;;4592:71:85;;;;38072:98:151;;;;4592:71:85;;;;;;;;;;38045:18:151;;;;4592:71:85;;;;;;;;;-1:-1:-1;;;;;4592:71:85;-1:-1:-1;;;4592:71:85;;;4871:20;;4523:4;;4592:71;4523:4;;;;;;4592:71;4523:4;;4871:20;4836:7;4829:5;4818:86;4807:97;;4931:16;4917:30;;4981:4;4975:11;4960:26;;5013:7;:29;;;;;5038:4;5024:10;:18;;5013:29;:48;;;;;5060:1;5046:11;:15;5013:48;5006:55;4421:647;-1:-1:-1;;;;;;;4421:647:85:o;1125:111:46:-;5374:13:48;;;;;;;5366:69;;;;-1:-1:-1;;;5366:69:48;;35837:2:151;5366:69:48;;;35819:21:151;35876:2;35856:18;;;35849:30;35915:34;35895:18;;;35888:62;-1:-1:-1;;;35966:18:151;;;35959:41;36017:19;;5366:69:48;35635:407:151;5366:69:48;1197:32:46::1;965:10:52::0;1197:18:46::1;:32::i;2006:109:49:-:0;5374:13:48;;;;;;;5366:69;;;;-1:-1:-1;;;5366:69:48;;35837:2:151;5366:69:48;;;35819:21:151;35876:2;35856:18;;;35849:30;35915:34;35895:18;;;35888:62;-1:-1:-1;;;35966:18:151;;;35959:41;36017:19;;5366:69:48;35635:407:151;2473:149:53;2531:13;2563:52;-1:-1:-1;;;;;2575:22:53;;376:2;1884:437;1959:13;1984:19;2016:10;2020:6;2016:1;:10;:::i;:::-;:14;;2029:1;2016:14;:::i;:::-;2006:25;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2006:25:53;;1984:47;;2041:15;:6;2048:1;2041:9;;;;;;;;:::i;:::-;;;;:15;-1:-1:-1;;;;;2041:15:53;;;;;;;;;2066;:6;2073:1;2066:9;;;;;;;;:::i;:::-;;;;:15;-1:-1:-1;;;;;2066:15:53;;;;;;;;-1:-1:-1;2096:9:53;2108:10;2112:6;2108:1;:10;:::i;:::-;:14;;2121:1;2108:14;:::i;:::-;2096:26;;2091:128;2128:1;2124;:5;2091:128;;;2162:8;2171:5;2179:3;2171:11;2162:21;;;;;;;:::i;:::-;;;;2150:6;2157:1;2150:9;;;;;;;;:::i;:::-;;;;:33;-1:-1:-1;;;;;2150:33:53;;;;;;;;-1:-1:-1;2207:1:53;2197:11;;;;;2131:3;;;:::i;:::-;;;2091:128;;;-1:-1:-1;2236:10:53;;2228:55;;;;-1:-1:-1;;;2228:55:53;;38524:2:151;2228:55:53;;;38506:21:151;;;38543:18;;;38536:30;38602:34;38582:18;;;38575:62;38654:18;;2228:55:53;38322:356:151;4108:223:80;4241:12;4272:52;4294:6;4302:4;4308:1;4311:12;4272:21;:52::i;:::-;4265:59;4108:223;-1:-1:-1;;;;4108:223:80:o;1771:152:64:-;1837:37;1856:17;1837:18;:37::i;:::-;1889:27;;-1:-1:-1;;;;;1889:27:64;;;;;;;;1771:152;:::o;6674:198:80:-;6757:12;6788:77;6809:6;6817:4;6788:77;;;;;;;;;;;;;;;;;:20;:77::i;5165:446::-;5330:12;5387:5;5362:21;:30;;5354:81;;;;-1:-1:-1;;;5354:81:80;;38885:2:151;5354:81:80;;;38867:21:151;38924:2;38904:18;;;38897:30;38963:34;38943:18;;;38936:62;39034:8;39014:18;;;39007:36;39060:19;;5354:81:80;38683:402:151;5354:81:80;5446:12;5460:23;5487:6;-1:-1:-1;;;;;5487:11:80;5506:5;5513:4;5487:31;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5445:73;;;;5535:69;5562:6;5570:7;5579:10;5591:12;5535:26;:69::i;7058:325::-;7199:12;7224;7238:23;7265:6;-1:-1:-1;;;;;7265:19:80;7285:4;7265:25;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7223:67;;;;7307:69;7334:6;7342:7;7351:10;7363:12;7307:26;:69::i;:::-;7300:76;7058:325;-1:-1:-1;;;;;;7058:325:80:o;7671:628::-;7851:12;7879:7;7875:418;;;7906:10;:17;7927:1;7906:22;7902:286;;-1:-1:-1;;;;;1713:19:51;;;8113:60:80;;;;-1:-1:-1;;;8113:60:80;;39584:2:151;8113:60:80;;;39566:21:151;39623:2;39603:18;;;39596:30;39662:31;39642:18;;;39635:59;39711:18;;8113:60:80;39382:353:151;8113:60:80;-1:-1:-1;8208:10:80;8201:17;;7875:418;8249:33;8257:10;8269:12;8980:17;;:21;8976:379;;9208:10;9202:17;9264:15;9251:10;9247:2;9243:19;9236:44;8976:379;9331:12;9324:20;;-1:-1:-1;;;9324:20:80;;;;;;;;:::i;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;:::o;:::-;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14:332:151;72:6;125:2;113:9;104:7;100:23;96:32;93:52;;;141:1;138;131:12;93:52;180:9;167:23;-1:-1:-1;;;;;;223:5:151;219:78;212:5;209:89;199:117;;312:1;309;302:12;907:180;966:6;1019:2;1007:9;998:7;994:23;990:32;987:52;;;1035:1;1032;1025:12;987:52;-1:-1:-1;1058:23:151;;907:180;-1:-1:-1;907:180:151:o;1092:154::-;-1:-1:-1;;;;;1171:5:151;1167:54;1160:5;1157:65;1147:93;;1236:1;1233;1226:12;1251:134;1319:20;;1348:31;1319:20;1348:31;:::i;:::-;1251:134;;;:::o;1390:388::-;1458:6;1466;1519:2;1507:9;1498:7;1494:23;1490:32;1487:52;;;1535:1;1532;1525:12;1487:52;1574:9;1561:23;1593:31;1618:5;1593:31;:::i;:::-;1643:5;-1:-1:-1;1700:2:151;1685:18;;1672:32;1713:33;1672:32;1713:33;:::i;:::-;1765:7;1755:17;;;1390:388;;;;;:::o;1783:247::-;1842:6;1895:2;1883:9;1874:7;1870:23;1866:32;1863:52;;;1911:1;1908;1901:12;1863:52;1950:9;1937:23;1969:31;1994:5;1969:31;:::i;2220:315::-;2288:6;2296;2349:2;2337:9;2328:7;2324:23;2320:32;2317:52;;;2365:1;2362;2355:12;2317:52;2404:9;2391:23;2423:31;2448:5;2423:31;:::i;:::-;2473:5;2525:2;2510:18;;;;2497:32;;-1:-1:-1;;;2220:315:151:o;2903:::-;2971:6;2979;3032:2;3020:9;3011:7;3007:23;3003:32;3000:52;;;3048:1;3045;3038:12;3000:52;3084:9;3071:23;3061:33;;3144:2;3133:9;3129:18;3116:32;3157:31;3182:5;3157:31;:::i;3483:184::-;-1:-1:-1;;;3532:1:151;3525:88;3632:4;3629:1;3622:15;3656:4;3653:1;3646:15;3672:257;3744:4;3738:11;;;3776:17;;3823:18;3808:34;;3844:22;;;3805:62;3802:88;;;3870:18;;:::i;:::-;3906:4;3899:24;3672:257;:::o;3934:255::-;4006:2;4000:9;4048:6;4036:19;;4085:18;4070:34;;4106:22;;;4067:62;4064:88;;;4132:18;;:::i;4194:255::-;4266:2;4260:9;4308:6;4296:19;;4345:18;4330:34;;4366:22;;;4327:62;4324:88;;;4392:18;;:::i;4454:253::-;4526:2;4520:9;4568:4;4556:17;;4603:18;4588:34;;4624:22;;;4585:62;4582:88;;;4650:18;;:::i;4712:275::-;4783:2;4777:9;4848:2;4829:13;;-1:-1:-1;;4825:27:151;4813:40;;4883:18;4868:34;;4904:22;;;4865:62;4862:88;;;4930:18;;:::i;:::-;4966:2;4959:22;4712:275;;-1:-1:-1;4712:275:151:o;4992:186::-;5040:4;5073:18;5065:6;5062:30;5059:56;;;5095:18;;:::i;:::-;-1:-1:-1;5161:2:151;5140:15;-1:-1:-1;;5136:29:151;5167:4;5132:40;;4992:186::o;5183:336::-;5247:5;5276:52;5292:35;5320:6;5292:35;:::i;:::-;5276:52;:::i;:::-;5267:61;;5351:6;5344:5;5337:21;5391:3;5382:6;5377:3;5373:16;5370:25;5367:45;;;5408:1;5405;5398:12;5367:45;5457:6;5452:3;5445:4;5438:5;5434:16;5421:43;5511:1;5504:4;5495:6;5488:5;5484:18;5480:29;5473:40;5183:336;;;;;:::o;5524:584::-;5601:6;5609;5662:2;5650:9;5641:7;5637:23;5633:32;5630:52;;;5678:1;5675;5668:12;5630:52;5717:9;5704:23;5736:31;5761:5;5736:31;:::i;:::-;5786:5;-1:-1:-1;5842:2:151;5827:18;;5814:32;5869:18;5858:30;;5855:50;;;5901:1;5898;5891:12;5855:50;5924:22;;5977:4;5969:13;;5965:27;-1:-1:-1;5955:55:151;;6006:1;6003;5996:12;5955:55;6029:73;6094:7;6089:2;6076:16;6071:2;6067;6063:11;6029:73;:::i;:::-;6019:83;;;5524:584;;;;;:::o;7238:221::-;7281:5;7334:3;7327:4;7319:6;7315:17;7311:27;7301:55;;7352:1;7349;7342:12;7301:55;7374:79;7449:3;7440:6;7427:20;7420:4;7412:6;7408:17;7374:79;:::i;7464:411::-;7519:5;7567:4;7555:9;7550:3;7546:19;7542:30;7539:50;;;7585:1;7582;7575:12;7539:50;7607:22;;:::i;:::-;7598:31;;7665:9;7652:23;7645:5;7638:38;7727:2;7716:9;7712:18;7699:32;7754:18;7746:6;7743:30;7740:50;;;7786:1;7783;7776:12;7740:50;7822:46;7864:3;7855:6;7844:9;7840:22;7822:46;:::i;:::-;7817:2;7810:5;7806:14;7799:70;;7464:411;;;;:::o;7880:118::-;7966:5;7959:13;7952:21;7945:5;7942:32;7932:60;;7988:1;7985;7978:12;8003:128;8068:20;;8097:28;8068:20;8097:28;:::i;8136:1713::-;8230:6;8283:2;8271:9;8262:7;8258:23;8254:32;8251:52;;;8299:1;8296;8289:12;8251:52;8339:9;8326:23;8368:18;8409:2;8401:6;8398:14;8395:34;;;8425:1;8422;8415:12;8395:34;8448:22;;;;8504:6;8486:16;;;8482:29;8479:49;;;8524:1;8521;8514:12;8479:49;8550:22;;:::i;:::-;8595;8614:2;8595:22;:::i;:::-;8588:5;8581:37;8650:31;8677:2;8673;8669:11;8650:31;:::i;:::-;8645:2;8638:5;8634:14;8627:55;8735:2;8731;8727:11;8714:25;8709:2;8702:5;8698:14;8691:49;8793:2;8789;8785:11;8772:25;8767:2;8760:5;8756:14;8749:49;8852:3;8848:2;8844:12;8831:26;8825:3;8818:5;8814:15;8807:51;8891:32;8918:3;8914:2;8910:12;8891:32;:::i;:::-;8885:3;8878:5;8874:15;8867:57;8957:32;8984:3;8980:2;8976:12;8957:32;:::i;:::-;8951:3;8944:5;8940:15;8933:57;9036:3;9032:2;9028:12;9015:26;9066:2;9056:8;9053:16;9050:36;;;9082:1;9079;9072:12;9050:36;9119:54;9165:7;9154:8;9150:2;9146:17;9119:54;:::i;:::-;9113:3;9106:5;9102:15;9095:79;;9193:3;9228:31;9255:2;9251;9247:11;9228:31;:::i;:::-;9212:14;;;9205:55;9279:3;9320:11;;;9307:25;9344:16;;;9341:36;;;9373:1;9370;9363:12;9341:36;9409:45;9446:7;9435:8;9431:2;9427:17;9409:45;:::i;:::-;9404:2;9397:5;9393:14;9386:69;;;9474:3;9509:28;9533:2;9529;9525:11;9509:28;:::i;:::-;9493:14;;;9486:52;9557:3;9598:11;;;9585:25;9622:16;;;9619:36;;;9651:1;9648;9641:12;9619:36;9687:45;9724:7;9713:8;9709:2;9705:17;9687:45;:::i;:::-;9682:2;9675:5;9671:14;9664:69;;;9752:3;9742:13;;9787:31;9814:2;9810;9806:11;9787:31;:::i;:::-;9771:14;;;9764:55;;;;9775:5;8136:1713;-1:-1:-1;;;;8136:1713:151:o;9854:153::-;9932:20;;9981:1;9971:12;;9961:40;;9997:1;9994;9987:12;10012:110;10096:1;10089:5;10086:12;10076:40;;10112:1;10109;10102:12;10127:152;10204:20;;10233:40;10204:20;10233:40;:::i;10284:416::-;10348:5;10396:4;10384:9;10379:3;10375:19;10371:30;10368:50;;;10414:1;10411;10404:12;10368:50;10447:2;10441:9;10489:4;10481:6;10477:17;10560:6;10548:10;10545:22;10524:18;10512:10;10509:34;10506:62;10503:88;;;10571:18;;:::i;:::-;10607:2;10600:22;10670:23;;10655:39;;-1:-1:-1;10640:6:151;10284:416;-1:-1:-1;10284:416:151:o;10705:849::-;10768:5;10816:6;10804:9;10799:3;10795:19;10791:32;10788:52;;;10836:1;10833;10826:12;10788:52;10858:22;;:::i;:::-;10849:31;;10903:29;10922:9;10903:29;:::i;:::-;10896:5;10889:44;10993:2;10982:9;10978:18;10965:32;10960:2;10953:5;10949:14;10942:56;11058:2;11047:9;11043:18;11030:32;11025:2;11018:5;11014:14;11007:56;11123:2;11112:9;11108:18;11095:32;11090:2;11083:5;11079:14;11072:56;11189:3;11178:9;11174:19;11161:33;11155:3;11148:5;11144:15;11137:58;11228:49;11272:3;11261:9;11257:19;11228:49;:::i;:::-;11222:3;11215:5;11211:15;11204:74;11311:48;11354:3;11343:9;11339:19;11311:48;:::i;:::-;11305:3;11298:5;11294:15;11287:73;11393:61;11450:3;11444;11433:9;11429:19;11393:61;:::i;:::-;11387:3;11380:5;11376:15;11369:86;11474:3;11509:38;11543:2;11532:9;11528:18;11509:38;:::i;:::-;11493:14;;;11486:62;11497:5;10705:849;-1:-1:-1;;10705:849:151:o;11559:618::-;11697:6;11705;11713;11766:3;11754:9;11745:7;11741:23;11737:33;11734:53;;;11783:1;11780;11773:12;11734:53;11822:9;11809:23;11841:31;11866:5;11841:31;:::i;:::-;11891:5;-1:-1:-1;11915:63:151;11970:7;11965:2;11950:18;;11915:63;:::i;:::-;11905:73;;12029:3;12018:9;12014:19;12001:33;12057:18;12049:6;12046:30;12043:50;;;12089:1;12086;12079:12;12043:50;12112:59;12163:7;12154:6;12143:9;12139:22;12112:59;:::i;:::-;12102:69;;;11559:618;;;;;:::o;12484:250::-;12569:1;12579:113;12593:6;12590:1;12587:13;12579:113;;;12669:11;;;12663:18;12650:11;;;12643:39;12615:2;12608:10;12579:113;;;-1:-1:-1;;12726:1:151;12708:16;;12701:27;12484:250::o;12739:271::-;12781:3;12819:5;12813:12;12846:6;12841:3;12834:19;12862:76;12931:6;12924:4;12919:3;12915:14;12908:4;12901:5;12897:16;12862:76;:::i;:::-;12992:2;12971:15;-1:-1:-1;;12967:29:151;12958:39;;;;12999:4;12954:50;;12739:271;-1:-1:-1;;12739:271:151:o;13015:220::-;13164:2;13153:9;13146:21;13127:4;13184:45;13225:2;13214:9;13210:18;13202:6;13184:45;:::i;13733:759::-;13880:6;13888;13896;13904;13957:3;13945:9;13936:7;13932:23;13928:33;13925:53;;;13974:1;13971;13964:12;13925:53;14013:9;14000:23;14032:31;14057:5;14032:31;:::i;:::-;14082:5;-1:-1:-1;14139:2:151;14124:18;;14111:32;14152:33;14111:32;14152:33;:::i;:::-;14204:7;-1:-1:-1;14230:63:151;14285:7;14280:2;14265:18;;14230:63;:::i;:::-;14220:73;;14344:3;14333:9;14329:19;14316:33;14372:18;14364:6;14361:30;14358:50;;;14404:1;14401;14394:12;14358:50;14427:59;14478:7;14469:6;14458:9;14454:22;14427:59;:::i;:::-;14417:69;;;13733:759;;;;;;;:::o;14497:184::-;-1:-1:-1;;;14546:1:151;14539:88;14646:4;14643:1;14636:15;14670:4;14667:1;14660:15;14686:168;14759:9;;;14790;;14807:15;;;14801:22;;14787:37;14777:71;;14828:18;;:::i;14859:184::-;-1:-1:-1;;;14908:1:151;14901:88;15008:4;15005:1;14998:15;15032:4;15029:1;15022:15;15048:277;15135:6;15188:2;15176:9;15167:7;15163:23;15159:32;15156:52;;;15204:1;15201;15194:12;15156:52;15236:9;15230:16;15255:40;15289:5;15255:40;:::i;15640:184::-;15710:6;15763:2;15751:9;15742:7;15738:23;15734:32;15731:52;;;15779:1;15776;15769:12;15731:52;-1:-1:-1;15802:16:151;;15640:184;-1:-1:-1;15640:184:151:o;16866:274::-;16906:1;16932;16922:189;;-1:-1:-1;;;16964:1:151;16957:88;17068:4;17065:1;17058:15;17096:4;17093:1;17086:15;16922:189;-1:-1:-1;17125:9:151;;16866:274::o;17145:125::-;17210:9;;;17231:10;;;17228:36;;;17244:18;;:::i;17275:251::-;17345:6;17398:2;17386:9;17377:7;17373:23;17369:32;17366:52;;;17414:1;17411;17404:12;17366:52;17446:9;17440:16;17465:31;17490:5;17465:31;:::i;19538:184::-;-1:-1:-1;;;19587:1:151;19580:88;19687:4;19684:1;19677:15;19711:4;19708:1;19701:15;19727:135;19766:3;19787:17;;;19784:43;;19807:18;;:::i;:::-;-1:-1:-1;19854:1:151;19843:13;;19727:135::o;19867:128::-;19934:9;;;19955:11;;;19952:37;;;19969:18;;:::i;20253:184::-;-1:-1:-1;;;20302:1:151;20295:88;20402:4;20399:1;20392:15;20426:4;20423:1;20416:15;20442:245;20509:6;20562:2;20550:9;20541:7;20537:23;20533:32;20530:52;;;20578:1;20575;20568:12;20530:52;20610:9;20604:16;20629:28;20651:5;20629:28;:::i;20692:1652::-;20784:6;20815:2;20858;20846:9;20837:7;20833:23;20829:32;20826:52;;;20874:1;20871;20864:12;20826:52;20907:9;20901:16;20936:18;20977:2;20969:6;20966:14;20963:34;;;20993:1;20990;20983:12;20963:34;21016:22;;;;21072:4;21054:16;;;21050:27;21047:47;;;21090:1;21087;21080:12;21047:47;21116:22;;:::i;:::-;21167:2;21161:9;21154:5;21147:24;21209:2;21205;21201:11;21195:18;21222:33;21247:7;21222:33;:::i;:::-;21271:14;;;21264:31;21333:2;21325:11;;21319:18;21346:33;21319:18;21346:33;:::i;:::-;21406:2;21395:14;;21388:31;21458:2;21450:11;;21444:18;21474:16;;;21471:36;;;21503:1;21500;21493:12;21471:36;21526:17;;21577:2;21559:16;;;21555:25;21552:45;;;21593:1;21590;21583:12;21552:45;21621:22;;:::i;:::-;21674:2;21668:9;21659:7;21652:26;21717:2;21713;21709:11;21703:18;21746:2;21736:8;21733:16;21730:36;;;21762:1;21759;21752:12;21730:36;21785:17;;;-1:-1:-1;21833:4:151;21825:13;;21821:27;-1:-1:-1;21811:55:151;;21862:1;21859;21852:12;21811:55;21891:2;21885:9;21875:19;;21916:48;21932:31;21960:2;21932:31;:::i;21916:48::-;21987:2;21980:5;21973:17;22027:7;22022:2;22017;22013;22009:11;22005:20;22002:33;21999:53;;;22048:1;22045;22038:12;21999:53;22061:67;22125:2;22120;22113:5;22109:14;22104:2;22100;22096:11;22061:67;:::i;:::-;22144:16;;;22137:31;;;;-1:-1:-1;22195:2:151;22184:14;;22177:31;;;;-1:-1:-1;22255:3:151;22247:12;;;22241:19;22224:15;;;22217:44;22308:3;22300:12;;;22294:19;22277:15;;;22270:44;22188:5;20692:1652;-1:-1:-1;;;20692:1652:151:o;22764:437::-;22843:1;22839:12;;;;22886;;;22907:61;;22961:4;22953:6;22949:17;22939:27;;22907:61;23014:2;23006:6;23003:14;22983:18;22980:38;22977:218;;-1:-1:-1;;;23048:1:151;23041:88;23152:4;23149:1;23142:15;23180:4;23177:1;23170:15;22977:218;;22764:437;;;:::o;23332:545::-;23434:2;23429:3;23426:11;23423:448;;;23470:1;23495:5;23491:2;23484:17;23540:4;23536:2;23526:19;23610:2;23598:10;23594:19;23591:1;23587:27;23581:4;23577:38;23646:4;23634:10;23631:20;23628:47;;;-1:-1:-1;23669:4:151;23628:47;23724:2;23719:3;23715:12;23712:1;23708:20;23702:4;23698:31;23688:41;;23779:82;23797:2;23790:5;23787:13;23779:82;;;23842:17;;;23823:1;23812:13;23779:82;;;23783:3;;;23332:545;;;:::o;24053:1352::-;24179:3;24173:10;24206:18;24198:6;24195:30;24192:56;;;24228:18;;:::i;:::-;24257:97;24347:6;24307:38;24339:4;24333:11;24307:38;:::i;:::-;24301:4;24257:97;:::i;:::-;24409:4;;24473:2;24462:14;;24490:1;24485:663;;;;25192:1;25209:6;25206:89;;;-1:-1:-1;25261:19:151;;;25255:26;25206:89;-1:-1:-1;;24010:1:151;24006:11;;;24002:24;23998:29;23988:40;24034:1;24030:11;;;23985:57;25308:81;;24455:944;;24485:663;23279:1;23272:14;;;23316:4;23303:18;;-1:-1:-1;;24521:20:151;;;24639:236;24653:7;24650:1;24647:14;24639:236;;;24742:19;;;24736:26;24721:42;;24834:27;;;;24802:1;24790:14;;;;24669:19;;24639:236;;;24643:3;24903:6;24894:7;24891:19;24888:201;;;24964:19;;;24958:26;-1:-1:-1;;25047:1:151;25043:14;;;25059:3;25039:24;25035:37;25031:42;25016:58;25001:74;;24888:201;-1:-1:-1;;;;;25135:1:151;25119:14;;;25115:22;25102:36;;-1:-1:-1;24053:1352:151:o;25410:1011::-;25505:6;25536:2;25579;25567:9;25558:7;25554:23;25550:32;25547:52;;;25595:1;25592;25585:12;25547:52;25628:9;25622:16;25657:18;25698:2;25690:6;25687:14;25684:34;;;25714:1;25711;25704:12;25684:34;25752:6;25741:9;25737:22;25727:32;;25797:7;25790:4;25786:2;25782:13;25778:27;25768:55;;25819:1;25816;25809:12;25768:55;25848:2;25842:9;25870:2;25866;25863:10;25860:36;;;25876:18;;:::i;:::-;25922:2;25919:1;25915:10;25905:20;;25945:28;25969:2;25965;25961:11;25945:28;:::i;:::-;26007:15;;;26077:11;;;26073:20;;;26038:12;;;;26105:19;;;26102:39;;;26137:1;26134;26127:12;26102:39;26161:11;;;;26181:210;26197:6;26192:3;26189:15;26181:210;;;26270:3;26264:10;26251:23;;26287:31;26312:5;26287:31;:::i;:::-;26331:18;;;26214:12;;;;26369;;;;26181:210;;;26410:5;25410:1011;-1:-1:-1;;;;;;;;25410:1011:151:o;26426:772::-;26476:3;26517:5;26511:12;26546:36;26572:9;26546:36;:::i;:::-;26591:19;;;26629:4;26652:1;26669:18;;;26696:146;;;;26856:1;26851:341;;;;26662:530;;26696:146;-1:-1:-1;;26738:24:151;;26724:12;;;26717:46;26810:14;;26803:22;26800:1;26796:30;26787:40;;26783:49;;;-1:-1:-1;26696:146:151;;26851:341;26882:5;26879:1;26872:16;26929:2;26926:1;26916:16;26954:1;26968:174;26982:6;26979:1;26976:13;26968:174;;;27069:14;;27051:11;;;27047:20;;27040:44;27112:16;;;;26997:10;;26968:174;;;27166:11;;27162:20;;;-1:-1:-1;;26662:530:151;;;;;;26426:772;;;;:::o;27203:252::-;27290:5;27284:12;27279:3;27272:25;27254:3;27343:4;27336:5;27332:16;27326:23;27381:4;27374;27369:3;27365:14;27358:28;27402:47;27443:4;27438:3;27434:14;27420:12;27402:47;:::i;27460:484::-;27513:3;27551:5;27545:12;27578:6;27573:3;27566:19;27604:4;27633:2;27628:3;27624:12;27617:19;;27670:2;27663:5;27659:14;27691:1;27701:218;27715:6;27712:1;27709:13;27701:218;;;27780:13;;-1:-1:-1;;;;;27776:62:151;27764:75;;27859:12;;;;27894:15;;;;27737:1;27730:9;27701:218;;;-1:-1:-1;27935:3:151;;27460:484;-1:-1:-1;;;;;27460:484:151:o;27949:827::-;28309:6;28298:9;28291:25;28352:3;28347:2;28336:9;28332:18;28325:31;28272:4;28379:54;28428:3;28417:9;28413:19;28405:6;28379:54;:::i;:::-;28481:9;28473:6;28469:22;28464:2;28453:9;28449:18;28442:50;28515:42;28550:6;28542;28515:42;:::i;:::-;28501:56;;-1:-1:-1;;;;;28597:6:151;28593:55;28588:2;28577:9;28573:18;28566:83;28698:9;28690:6;28686:22;28680:3;28669:9;28665:19;28658:51;28726:44;28763:6;28755;28726:44;:::i;28970:500::-;29224:6;29213:9;29206:25;29267:2;29262;29251:9;29247:18;29240:30;29187:4;29293:53;29342:2;29331:9;29327:18;29319:6;29293:53;:::i;:::-;29394:9;29386:6;29382:22;29377:2;29366:9;29362:18;29355:50;29422:42;29457:6;29449;29422:42;:::i;29674:338::-;-1:-1:-1;;;;;29853:6:151;29849:55;29838:9;29831:74;29941:2;29936;29925:9;29921:18;29914:30;29812:4;29961:45;30002:2;29991:9;29987:18;29979:6;29961:45;:::i;30424:142::-;30507:1;30500:5;30497:12;30487:46;;30513:18;;:::i;:::-;30542;;30424:142::o;30666:1129::-;30828:4;30870:3;30859:9;30855:19;30847:27;;-1:-1:-1;;;;;30911:6:151;30905:13;30901:62;30890:9;30883:81;31020:4;31012:6;31008:17;31002:24;30995:4;30984:9;30980:20;30973:54;31083:4;31075:6;31071:17;31065:24;31058:4;31047:9;31043:20;31036:54;31146:4;31138:6;31134:17;31128:24;31121:4;31110:9;31106:20;31099:54;31209:4;31201:6;31197:17;31191:24;31184:4;31173:9;31169:20;31162:54;31263:4;31255:6;31251:17;31245:24;31305:1;31291:12;31288:19;31278:53;;31311:18;;:::i;:::-;31369:12;31362:4;31351:9;31347:20;31340:42;;31431:4;31423:6;31419:17;31413:24;31446:65;31505:4;31494:9;31490:20;31474:14;31446:65;:::i;:::-;;31560:4;31552:6;31548:17;31542:24;31575:73;31642:4;31631:9;31627:20;31611:14;30646:12;30634:25;;30571:90;31575:73;-1:-1:-1;31667:6:151;31710:15;;;31704:22;-1:-1:-1;;;;;2606:54:151;31770:18;;;;2594:67;30666:1129;:::o;31800:1002::-;32225:6;32214:9;32207:25;32188:4;-1:-1:-1;;;;;32341:2:151;32333:6;32329:15;32324:2;32313:9;32309:18;32302:43;32381:3;32376:2;32365:9;32361:18;32354:31;32408:46;32449:3;32438:9;32434:19;32426:6;32408:46;:::i;:::-;32502:2;32494:6;32490:15;32485:2;32474:9;32470:18;32463:43;32543:6;32537:3;32526:9;32522:19;32515:35;32599:9;32591:6;32587:22;32581:3;32570:9;32566:19;32559:51;32633:42;32668:6;32660;32633:42;:::i;:::-;32619:56;;;32724:9;32716:6;32712:22;32706:3;32695:9;32691:19;32684:51;32752:44;32789:6;32781;32752:44;:::i;:::-;32744:52;31800:1002;-1:-1:-1;;;;;;;;;;31800:1002:151:o;32807:636::-;33100:6;33089:9;33082:25;33063:4;-1:-1:-1;;;;;33216:2:151;33208:6;33204:15;33199:2;33188:9;33184:18;33177:43;33268:2;33260:6;33256:15;33251:2;33240:9;33236:18;33229:43;33320:2;33312:6;33308:15;33303:2;33292:9;33288:18;33281:43;;33361:3;33355;33344:9;33340:19;33333:32;33382:55;33432:3;33421:9;33417:19;33409:6;33382:55;:::i;33808:340::-;33985:2;33974:9;33967:21;33948:4;34005:45;34046:2;34035:9;34031:18;34023:6;34005:45;:::i;:::-;33997:53;;-1:-1:-1;;;;;34090:6:151;34086:55;34081:2;34070:9;34066:18;34059:83;33808:340;;;;;:::o;34153:291::-;34330:2;34319:9;34312:21;34293:4;34350:45;34391:2;34380:9;34376:18;34368:6;34350:45;:::i;:::-;34342:53;;34431:6;34426:2;34415:9;34411:18;34404:34;34153:291;;;;;:::o;36286:812::-;36697:25;36692:3;36685:38;36667:3;36752:6;36746:13;36768:75;36836:6;36831:2;36826:3;36822:12;36815:4;36807:6;36803:17;36768:75;:::i;:::-;36907:19;36902:2;36862:16;;;36894:11;;;36887:40;36952:13;;36974:76;36952:13;37036:2;37028:11;;37021:4;37009:17;;36974:76;:::i;:::-;37070:17;37089:2;37066:26;;36286:812;-1:-1:-1;;;;36286:812:151:o;38181:136::-;38220:3;38248:5;38238:39;;38257:18;;:::i;:::-;-1:-1:-1;;;38293:18:151;;38181:136::o;39090:287::-;39219:3;39257:6;39251:13;39273:66;39332:6;39327:3;39320:4;39312:6;39308:17;39273:66;:::i;:::-;39355:16;;;;;39090:287;-1:-1:-1;;39090:287:151:o","linkReferences":{},"immutableReferences":{"56113":[{"start":6592,"length":32},{"start":6727,"length":32},{"start":7093,"length":32},{"start":7228,"length":32},{"start":7465,"length":32}]}},"methodIdentifiers":{"COUNCIL_MEMBER()":"733a2d1f","DEFAULT_ADMIN_ROLE()":"a217fddf","MAX_FEE()":"bc063e1a","NATIVE()":"a0cf0aea","PRECISION_SCALE()":"d7050f07","acceptCouncilSafe()":"b5058c50","activateMemberInStrategy(address,address)":"0d4a8b49","addStrategy(address)":"223e5479","addStrategyByPoolId(uint256)":"82d6a1e7","addressToMemberInfo(address)":"88cfe684","allo()":"d6d8428d","cloneNonce()":"33960459","communityFee()":"8961be6b","communityName()":"c6d572ae","councilSafe()":"6c53db9a","covenantIpfsHash()":"b64e39af","createPool(address,(address,uint256,uint256,uint256,uint256,uint8,uint8,(uint256),address),(uint256,string))":"97991cfa","createPool(address,address,(address,uint256,uint256,uint256,uint256,uint8,uint8,(uint256),address),(uint256,string))":"ff6409ef","deactivateMemberInStrategy(address,address)":"22bcf999","decreasePower(uint256)":"5ecf71c5","enabledStrategies(address)":"3a871fe1","feeReceiver()":"b3f00674","gardenToken()":"db61d65c","getBasisStakedAmount()":"0331383c","getMemberPowerInStrategy(address,address)":"7817ee4f","getMemberStakedAmount(address)":"2c611c4a","getRoleAdmin(bytes32)":"248a9ca3","getStakeAmountWithFees()":"28c309e9","grantRole(bytes32,address)":"2f2ff15d","hasRole(bytes32,address)":"91d14854","increasePower(uint256)":"559de05d","initialize((address,address,uint256,uint256,uint256,address,address,(uint256,string),address,string,bool,string,address))":"96f0adec","isCouncilMember(address)":"ebd7dc52","isKickEnabled()":"1f787d28","isMember(address)":"a230c524","kickMember(address,address)":"6871eb4d","memberActivatedInStrategies(address,address)":"477a5cc0","memberPowerInStrategy(address,address)":"65e3864c","owner()":"8da5cb5b","pendingCouncilSafe()":"68decabb","profileId()":"08386eba","proxiableUUID()":"52d1902d","registerStakeAmount()":"78a0b8a9","registry()":"7b103999","registryFactory()":"f86c5f89","removeStrategy(address)":"175188e8","removeStrategyByPoolId(uint256)":"73265c37","renounceOwnership()":"715018a6","renounceRole(bytes32,address)":"36568abe","revokeRole(bytes32,address)":"d547741f","setBasisStakedAmount(uint256)":"31f61bca","setCommunityFee(uint256)":"0d12bbdb","setCouncilSafe(address)":"397e2543","stakeAndRegisterMember()":"3517aa7d","strategiesByMember(address,uint256)":"2b38c69c","strategyTemplate()":"5c94e4d2","supportsInterface(bytes4)":"01ffc9a7","transferOwnership(address)":"f2fde38b","unregisterMember()":"b99b4370","upgradeTo(address)":"3659cfe6","upgradeToAndCall(address,bytes)":"4f1ef286"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"AddressCannotBeZero\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_decreaseAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_currentPower\",\"type\":\"uint256\"}],\"name\":\"CantDecreaseMoreThanPower\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"DecreaseUnderMinimum\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"KickNotEnabled\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NewFeeGreaterThanMax\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"PointsDeactivated\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"RegistryCannotBeZero\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"SenderNotNewOwner\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"SenderNotStrategy\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"StrategyDisabled\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"StrategyExists\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UserAlreadyActivated\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UserAlreadyDeactivated\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UserAlreadyRegistered\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UserNotGardenOwner\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UserNotInCouncil\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UserNotInRegistry\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ValueCannotBeZero\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"previousAdmin\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"newAdmin\",\"type\":\"address\"}],\"name\":\"AdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_allo\",\"type\":\"address\"}],\"name\":\"AlloSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_newAmount\",\"type\":\"uint256\"}],\"name\":\"BasisStakedAmountSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"beacon\",\"type\":\"address\"}],\"name\":\"BeaconUpgraded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_newFee\",\"type\":\"uint256\"}],\"name\":\"CommunityFeeUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_safeOwner\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_newSafeOwner\",\"type\":\"address\"}],\"name\":\"CouncilSafeChangeStarted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_safe\",\"type\":\"address\"}],\"name\":\"CouncilSafeSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"version\",\"type\":\"uint8\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_pointsToIncrease\",\"type\":\"uint256\"}],\"name\":\"MemberActivatedStrategy\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"}],\"name\":\"MemberDeactivatedStrategy\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_transferAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_amountReturned\",\"type\":\"uint256\"}],\"name\":\"MemberKicked\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_unstakedAmount\",\"type\":\"uint256\"}],\"name\":\"MemberPowerDecreased\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_stakedAmount\",\"type\":\"uint256\"}],\"name\":\"MemberPowerIncreased\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_amountStaked\",\"type\":\"uint256\"}],\"name\":\"MemberRegistered\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_amountReturned\",\"type\":\"uint256\"}],\"name\":\"MemberUnregistered\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_poolId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_community\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"indexed\":false,\"internalType\":\"struct Metadata\",\"name\":\"_metadata\",\"type\":\"tuple\"}],\"name\":\"PoolCreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"_profileId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"_communityName\",\"type\":\"string\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"indexed\":false,\"internalType\":\"struct Metadata\",\"name\":\"_metadata\",\"type\":\"tuple\"}],\"name\":\"RegistryInitialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"previousAdminRole\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"newAdminRole\",\"type\":\"bytes32\"}],\"name\":\"RoleAdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleGranted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleRevoked\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"}],\"name\":\"StrategyAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"}],\"name\":\"StrategyRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"Upgraded\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"COUNCIL_MEMBER\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"DEFAULT_ADMIN_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"MAX_FEE\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"NATIVE\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"PRECISION_SCALE\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"acceptCouncilSafe\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"}],\"name\":\"activateMemberInStrategy\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_newStrategy\",\"type\":\"address\"}],\"name\":\"addStrategy\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"}],\"name\":\"addStrategyByPoolId\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"member\",\"type\":\"address\"}],\"name\":\"addressToMemberInfo\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"member\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"stakedAmount\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"isRegistered\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"allo\",\"outputs\":[{\"internalType\":\"contract FAllo\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"cloneNonce\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"communityFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"communityName\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"councilSafe\",\"outputs\":[{\"internalType\":\"contract ISafe\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"covenantIpfsHash\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"registryCommunity\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"decay\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxRatio\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"weight\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"minThresholdPoints\",\"type\":\"uint256\"},{\"internalType\":\"enum StrategyStruct.ProposalType\",\"name\":\"proposalType\",\"type\":\"uint8\"},{\"internalType\":\"enum StrategyStruct.PointSystem\",\"name\":\"pointSystem\",\"type\":\"uint8\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"maxAmount\",\"type\":\"uint256\"}],\"internalType\":\"struct StrategyStruct.PointSystemConfig\",\"name\":\"pointConfig\",\"type\":\"tuple\"},{\"internalType\":\"address\",\"name\":\"sybilScorer\",\"type\":\"address\"}],\"internalType\":\"struct StrategyStruct.InitializeParams\",\"name\":\"_params\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"_metadata\",\"type\":\"tuple\"}],\"name\":\"createPool\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"strategy\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"registryCommunity\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"decay\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxRatio\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"weight\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"minThresholdPoints\",\"type\":\"uint256\"},{\"internalType\":\"enum StrategyStruct.ProposalType\",\"name\":\"proposalType\",\"type\":\"uint8\"},{\"internalType\":\"enum StrategyStruct.PointSystem\",\"name\":\"pointSystem\",\"type\":\"uint8\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"maxAmount\",\"type\":\"uint256\"}],\"internalType\":\"struct StrategyStruct.PointSystemConfig\",\"name\":\"pointConfig\",\"type\":\"tuple\"},{\"internalType\":\"address\",\"name\":\"sybilScorer\",\"type\":\"address\"}],\"internalType\":\"struct StrategyStruct.InitializeParams\",\"name\":\"_params\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"_metadata\",\"type\":\"tuple\"}],\"name\":\"createPool\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"strategy\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"}],\"name\":\"deactivateMemberInStrategy\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_amountUnstaked\",\"type\":\"uint256\"}],\"name\":\"decreasePower\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"strategy\",\"type\":\"address\"}],\"name\":\"enabledStrategies\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isEnabled\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"feeReceiver\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"gardenToken\",\"outputs\":[{\"internalType\":\"contract IERC20\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getBasisStakedAmount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"}],\"name\":\"getMemberPowerInStrategy\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"}],\"name\":\"getMemberStakedAmount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"}],\"name\":\"getRoleAdmin\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getStakeAmountWithFees\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"grantRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"hasRole\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_amountStaked\",\"type\":\"uint256\"}],\"name\":\"increasePower\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"_allo\",\"type\":\"address\"},{\"internalType\":\"contract IERC20\",\"name\":\"_gardenToken\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_registerStakeAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_communityFee\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_nonce\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_registryFactory\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_feeReceiver\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"_metadata\",\"type\":\"tuple\"},{\"internalType\":\"address payable\",\"name\":\"_councilSafe\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"_communityName\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"_isKickEnabled\",\"type\":\"bool\"},{\"internalType\":\"string\",\"name\":\"covenantIpfsHash\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"_strategyTemplate\",\"type\":\"address\"}],\"internalType\":\"struct RegistryCommunityV0_0.InitializeParams\",\"name\":\"params\",\"type\":\"tuple\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"}],\"name\":\"isCouncilMember\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"isKickEnabled\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"}],\"name\":\"isMember\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"_isMember\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_transferAddress\",\"type\":\"address\"}],\"name\":\"kickMember\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"member\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"strategy\",\"type\":\"address\"}],\"name\":\"memberActivatedInStrategies\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isActivated\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"strategy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"member\",\"type\":\"address\"}],\"name\":\"memberPowerInStrategy\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"power\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pendingCouncilSafe\",\"outputs\":[{\"internalType\":\"address payable\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profileId\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proxiableUUID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"registerStakeAmount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"registry\",\"outputs\":[{\"internalType\":\"contract IRegistry\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"registryFactory\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"}],\"name\":\"removeStrategy\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"}],\"name\":\"removeStrategyByPoolId\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"renounceRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"revokeRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_newAmount\",\"type\":\"uint256\"}],\"name\":\"setBasisStakedAmount\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_newCommunityFee\",\"type\":\"uint256\"}],\"name\":\"setCommunityFee\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address payable\",\"name\":\"_safe\",\"type\":\"address\"}],\"name\":\"setCouncilSafe\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"stakeAndRegisterMember\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"member\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"strategiesByMember\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"strategiesAddresses\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"strategyTemplate\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"unregisterMember\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"}],\"name\":\"upgradeTo\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"upgradeToAndCall\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"}],\"devdoc\":{\"events\":{\"AdminChanged(address,address)\":{\"details\":\"Emitted when the admin account has changed.\"},\"BeaconUpgraded(address)\":{\"details\":\"Emitted when the beacon is changed.\"},\"Initialized(uint8)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"RoleAdminChanged(bytes32,bytes32,bytes32)\":{\"details\":\"Emitted when `newAdminRole` is set as ``role``'s admin role, replacing `previousAdminRole` `DEFAULT_ADMIN_ROLE` is the starting admin for all roles, despite {RoleAdminChanged} not being emitted signaling this. _Available since v3.1._\"},\"RoleGranted(bytes32,address,address)\":{\"details\":\"Emitted when `account` is granted `role`. `sender` is the account that originated the contract call, an admin role bearer except when using {AccessControl-_setupRole}.\"},\"RoleRevoked(bytes32,address,address)\":{\"details\":\"Emitted when `account` is revoked `role`. `sender` is the account that originated the contract call: - if using `revokeRole`, it is the admin role bearer - if using `renounceRole`, it is the role bearer (i.e. `account`)\"},\"Upgraded(address)\":{\"details\":\"Emitted when the implementation is upgraded.\"}},\"kind\":\"dev\",\"methods\":{\"getRoleAdmin(bytes32)\":{\"details\":\"Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}.\"},\"grantRole(bytes32,address)\":{\"details\":\"Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleGranted} event.\"},\"hasRole(bytes32,address)\":{\"details\":\"Returns `true` if `account` has been granted `role`.\"},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"proxiableUUID()\":{\"details\":\"Implementation of the ERC1822 {proxiableUUID} function. This returns the storage slot used by the implementation. It is used to validate the implementation's compatibility when performing an upgrade. IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this function revert if invoked through a proxy. This is guaranteed by the `notDelegated` modifier.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"renounceRole(bytes32,address)\":{\"details\":\"Revokes `role` from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been revoked `role`, emits a {RoleRevoked} event. Requirements: - the caller must be `account`. May emit a {RoleRevoked} event.\"},\"revokeRole(bytes32,address)\":{\"details\":\"Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleRevoked} event.\"},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"},\"upgradeTo(address)\":{\"custom:oz-upgrades-unsafe-allow-reachable\":\"delegatecall\",\"details\":\"Upgrade the implementation of the proxy to `newImplementation`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event.\"},\"upgradeToAndCall(address,bytes)\":{\"custom:oz-upgrades-unsafe-allow-reachable\":\"delegatecall\",\"details\":\"Upgrade the implementation of the proxy to `newImplementation`, and subsequently execute the function call encoded in `data`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"COUNCIL_MEMBER()\":{\"notice\":\"Role to council safe members\"},\"MAX_FEE()\":{\"notice\":\"The maximum fee that can be charged to the community\"},\"NATIVE()\":{\"notice\":\"The native address to represent native token eg: ETH in mainnet\"},\"PRECISION_SCALE()\":{\"notice\":\"The precision scale used in the contract to avoid loss of precision\"},\"addressToMemberInfo(address)\":{\"notice\":\"Member information as the staked amount and if is registered in the community\"},\"allo()\":{\"notice\":\"The Allo contract address\"},\"cloneNonce()\":{\"notice\":\"The nonce used to create new strategy clones\"},\"communityFee()\":{\"notice\":\"The fee charged to the community for each registration\"},\"communityName()\":{\"notice\":\"The community name\"},\"councilSafe()\":{\"notice\":\"The council safe contract address\"},\"covenantIpfsHash()\":{\"notice\":\"The covenant IPFS hash of community\"},\"enabledStrategies(address)\":{\"notice\":\"List of enabled/disabled strategies\"},\"feeReceiver()\":{\"notice\":\"The address that receives the community fee\"},\"gardenToken()\":{\"notice\":\"The token used to stake in the community\"},\"isKickEnabled()\":{\"notice\":\"Enable or disable the kick feature\"},\"memberActivatedInStrategies(address,address)\":{\"notice\":\"Mapping to check if a member is activated in a strategy\"},\"memberPowerInStrategy(address,address)\":{\"notice\":\"Power points for each member in each strategy\"},\"pendingCouncilSafe()\":{\"notice\":\"The address of the pending council safe owner\"},\"profileId()\":{\"notice\":\"The profileId of the community in the Allo Registry\"},\"registerStakeAmount()\":{\"notice\":\"The amount of tokens required to register a member\"},\"registry()\":{\"notice\":\"The Registry Allo contract\"},\"registryFactory()\":{\"notice\":\"The address of the registry factory\"},\"strategiesByMember(address,uint256)\":{\"notice\":\"List of strategies for each member are activated\"},\"strategyTemplate()\":{\"notice\":\"The address of the strategy template\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"pkg/contracts/src/RegistryCommunityV0_0.sol\":\"RegistryCommunityV0_0\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1000},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-contracts/=lib/safe-contracts/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"]},\"sources\":{\"lib/allo-v2/contracts/core/interfaces/IAllo.sol\":{\"keccak256\":\"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7\",\"dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1\"]},\"lib/allo-v2/contracts/core/interfaces/IRegistry.sol\":{\"keccak256\":\"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e\",\"dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA\"]},\"lib/allo-v2/contracts/core/interfaces/IStrategy.sol\":{\"keccak256\":\"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487\",\"dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH\"]},\"lib/allo-v2/contracts/core/libraries/Clone.sol\":{\"keccak256\":\"0xc348b24b7d8a98c4faa5f2aa37ce9264a74f81dbdef1a9bae2eaa125585c3c7e\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://1335b3ec59ec7e3d12ea7c90b3aa56f4c26e0d44d342f54412933be9d4f16067\",\"dweb:/ipfs/QmXNFo2wCyq9cpvfgbdHvBUQecThFSEoUnMuZNS6WinDrr\"]},\"lib/allo-v2/contracts/core/libraries/Errors.sol\":{\"keccak256\":\"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf\",\"dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA\"]},\"lib/allo-v2/contracts/core/libraries/Metadata.sol\":{\"keccak256\":\"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c\",\"dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn\"]},\"lib/allo-v2/contracts/core/libraries/Native.sol\":{\"keccak256\":\"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a\",\"dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv\"]},\"lib/allo-v2/contracts/core/libraries/Transfer.sol\":{\"keccak256\":\"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11\",\"dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5\"]},\"lib/allo-v2/contracts/strategies/BaseStrategy.sol\":{\"keccak256\":\"0x3f1382dc6c35d50545e327e7ed6016f2bd752357d446bd698014073f0b812873\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://99500abcd617fa43f6dde49e2c7802821ceaf54a65a8055cbbf2695ecd107974\",\"dweb:/ipfs/QmUktZkWuu3GCMEijY1fqt7NMy7BzpTvEtcmpB1fuoa7zt\"]},\"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol\":{\"keccak256\":\"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298\",\"dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x51fec240abc6dd23e0ee6de7c65106379aef732cad6c4ae5df6b55db886e7456\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://a47d9c0a9876e7f9e411843b994a741d4ac1a87d8459ffc3c56359de691ddc1a\",\"dweb:/ipfs/QmQiFN9b3Y2azrD1RBfAKEuAG3YeJkMzA2DGzgEE9kMeEK\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0xc8710577334e8d0799ae2b2a731b1924a7bddd64319da9787ddd2dc69bdd1ce5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b83b7afa4d2372da3ba5402fb10860a105c35d79812c60dc61007be2afc17618\",\"dweb:/ipfs/QmYX9xPmbNVSKXrepKiUZiG5oL3SdzFp9a4kqspxX1sEUx\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol\":{\"keccak256\":\"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c\",\"dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol\":{\"keccak256\":\"0x359a1ab89b46b9aba7bcad3fb651924baf4893d15153049b9976b0fc9be1358e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e89863421b4014b96a4b62be76eb3b9f0a8afe9684664a6f389124c0964bfe5c\",\"dweb:/ipfs/Qmbk7xr1irpDuU1WdxXgxELBXxs61rHhCgod7heVcvFx16\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol\":{\"keccak256\":\"0x5a55d1b148a0cb4183f1e09ceaff87bd2d828440f2f5dc01dfe03eb29e7c88ec\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3f9278bdda788763efbe569da77fc24feff36e871779e2da69f74ea5f8bfacf\",\"dweb:/ipfs/QmZF9cH4rfazmwKT55p3tZyzh9QGghNyss81f46d6yVXap\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e\",\"dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol\":{\"keccak256\":\"0x2025ccf05f6f1f2fd4e078e552836f525a1864e3854ed555047cd732320ab29b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d27f4b23c2dee42394aebaf42bf238285230f472dfd3282a39c3f000ec28214f\",\"dweb:/ipfs/QmQa3DnvccwdWJeWrjgXPnFMTWbzWQWR39hVqC7eEwo2PC\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b\",\"dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95\",\"dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol\":{\"keccak256\":\"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a\",\"dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0xd90d7723512df65ae417adaf0801042940f0dabd60039ceeaffe34aa5b238da1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1b13befeb3413749292f9fb229de1c7a509a5ce2c8047d9094fc004ca9d3af89\",\"dweb:/ipfs/QmRzJ2hZSwRtMejHUZAYTPRKgZsnfb112Fno9Jf3EiDfwA\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol\":{\"keccak256\":\"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758\",\"dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol\":{\"keccak256\":\"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91\",\"dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol\":{\"keccak256\":\"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4\",\"dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z\"]},\"lib/openzeppelin-contracts/contracts/access/AccessControl.sol\":{\"keccak256\":\"0x0dd6e52cb394d7f5abe5dca2d4908a6be40417914720932de757de34a99ab87f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://dc117ce50ea746cab6b97ed1a1facee17a715ae0cb95d67b943dacbaf15176fb\",\"dweb:/ipfs/QmYRZ2UGNYwsHwfNu7Wjr8L2j1LBZ1mKv6NvbwgterYMXc\"]},\"lib/openzeppelin-contracts/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0x59ce320a585d7e1f163cd70390a0ef2ff9cec832e2aa544293a00692465a7a57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb2c137c343ef0c4c7ce7b18c1d108afdc9d315a04e48307288d2d05adcbde3a\",\"dweb:/ipfs/QmUxhrAQM3MM3FF5j7AtcXLXguWCJBHJ14BRdVtuoQc8Fh\"]},\"lib/openzeppelin-contracts/contracts/access/Ownable.sol\":{\"keccak256\":\"0xba43b97fba0d32eb4254f6a5a297b39a19a247082a02d6e69349e071e2946218\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fc980984badf3984b6303b377711220e067722bbd6a135b24669ff5069ef9f32\",\"dweb:/ipfs/QmPHXMSXj99XjSVM21YsY6aNtLLjLVXDbyN76J5HQYvvrz\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol\":{\"keccak256\":\"0x3cbef5ebc24b415252e2f8c0c9254555d30d9f085603b4b80d9b5ed20ab87e90\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e8fa670c3bdce78e642cc6ae11c4cb38b133499cdce5e1990a9979d424703263\",\"dweb:/ipfs/QmVxeCUk4jL2pXQyhsoNJwyU874wRufS2WvGe8TgPKPqhE\"]},\"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol\":{\"keccak256\":\"0x1d4afe6cb24200cc4545eed814ecf5847277dfe5d613a1707aad5fceecebcfff\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://383fb7b8181016ac5ccf07bc9cdb7c1b5045ea36e2cc4df52bcbf20396fc7688\",\"dweb:/ipfs/QmYJ7Cg4WmE3rR8KGQxjUCXFfTH6TcwZ2Z1f6tPrq7jHFr\"]},\"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol\":{\"keccak256\":\"0xa2b22da3032e50b55f95ec1d13336102d675f341167aa76db571ef7f8bb7975d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96b6d77a20bebd4eb06b801d3d020c7e82be13bd535cb0d0a6b7181c51dab5d5\",\"dweb:/ipfs/QmPUR9Cv9jNFdQX6PtBfaBW1ZCnKwiu65R2VD5kbdanDyn\"]},\"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Upgrade.sol\":{\"keccak256\":\"0x3b21ae06bf5957f73fa16754b0669c77b7abd8ba6c072d35c3281d446fdb86c2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2db8e18505e86e02526847005d7287a33e397ed7fb9eaba3fd4a4a197add16e2\",\"dweb:/ipfs/QmW9BSuKTzHWHBNSHF4L8XfVuU1uJrP2vLg84YtBd8mL82\"]},\"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol\":{\"keccak256\":\"0xc130fe33f1b2132158531a87734153293f6d07bc263ff4ac90e85da9c82c0e27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8831721b6f4cc26534d190f9f1631c3f59c9ff38efdd911f85e0882b8e360472\",\"dweb:/ipfs/QmQZnLErZNStirSQ13ZNWQgvEYUtGE5tXYwn4QUPaVUfPN\"]},\"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0xd50a3421ac379ccb1be435fa646d66a65c986b4924f0849839f08692f39dde61\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ada1e030c0231db8d143b44ce92b4d1158eedb087880cad6d8cc7bd7ebe7b354\",\"dweb:/ipfs/QmWZ2NHZweRpz1U9GF6R1h65ri76dnX7fNxLBeM2t5N5Ce\"]},\"lib/openzeppelin-contracts/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x3d6069be9b4c01fb81840fb9c2c4dc58dd6a6a4aafaa2c6837de8699574d84c6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://720d6bb56ea0c4ef781c0bd65c5bd0541f5a46100163b2587170f97658d2deed\",\"dweb:/ipfs/QmTS2biLVPrv8CeeXCaKmkFxonMiRvc1LxiYBRYDAJHQUS\"]},\"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol\":{\"keccak256\":\"0xc6619957bcc6641fe8984bfaf9ff11a9e4b97d8149c0495f608f9a2416d7c5cf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://543be67f7fa43b1b932637c1c7f12035f0f4b0f7ee2bd3c33841186f79c165c1\",\"dweb:/ipfs/QmSBPM2UVKbmJqWfD9i6hSiqbaE8TV4TSqfuiivziRRLKM\"]},\"lib/openzeppelin-contracts/contracts/security/ReentrancyGuard.sol\":{\"keccak256\":\"0xa535a5df777d44e945dd24aa43a11e44b024140fc340ad0dfe42acf4002aade1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://41319e7f621f2dc3733511332c4fd032f8e32ad2aa7fd6f665c19741d9941a34\",\"dweb:/ipfs/QmcYR3bd862GD1Bc7jwrU9bGxrhUu5na1oP964bDCu2id1\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15\",\"dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5\",\"dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd\",\"dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol\":{\"keccak256\":\"0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a\",\"dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0x909d608c2db6eb165ca178c81289a07ed2e118e444d0025b2a85c97d0b44a4fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://656cda26512ddd7373c2d5551c8fae759fc30f05b10f0fc2e738e9274199dbd4\",\"dweb:/ipfs/QmTSArSzQRFbQmHgq7U1PZXnsDFhvDZhKVu9CzMG4yo6Lx\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xf09e68aa0dc6722a25bc46490e8d48ed864466d17313b8a0b254c36b54e49899\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e26daf81e2252dc1fe1ce0e4b55c2eb7c6d1ee84ae6558d1a9554432ea1d32da\",\"dweb:/ipfs/Qmb1UANWiWq5pCKbmHSu772hd4nt374dVaghGmwSVNuk8Q\"]},\"lib/openzeppelin-contracts/contracts/utils/Strings.sol\":{\"keccak256\":\"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f\",\"dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol\":{\"keccak256\":\"0x5a08ad61f4e82b8a3323562661a86fb10b10190848073fdc13d4ac43710ffba5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6f7bb74cf88fd88daa34e118bc6e363381d05044f34f391d39a10c0c9dac3ebd\",\"dweb:/ipfs/QmNbQ3v8v4zuDtg7VeLAbdhAm3tCzUodNoDZZ8ekmCHWZX\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]},\"lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/src/strings.sol\":{\"keccak256\":\"0x42cad11a7033f2fe05dd68611d2304407a620ac985b91edf29d5868cfe196223\",\"urls\":[\"bzz-raw://3cbc2333234e1f00eab5e57c4bcaf5115661e5e066a17c70af587a0a96f24669\",\"dweb:/ipfs/QmPHvStqcvZL46LW5N2ExTwAaqNhRCcmAX66aR6oE1WDar\"]},\"lib/openzeppelin-foundry-upgrades/src/Defender.sol\":{\"keccak256\":\"0x2114e4d70d53b36e8cec54ba11ff78d9f38a466ec3504c76c7f26101a7cff37f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://58f4d9bc58646e7631b263cdb8ef260e6818e9f716036d81d1c18218c9557a23\",\"dweb:/ipfs/QmS18L4R4gPtay9eQBcR28DnwmBkGSWsiCFwm2tXc3BkHL\"]},\"lib/openzeppelin-foundry-upgrades/src/LegacyUpgrades.sol\":{\"keccak256\":\"0x8436719f73c76efadaa16cd719d088f698ea3591595dfdf2c15fd66f3e203197\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ac8d0e55defe124adcc3845348602d6528b00b7dc5f7abf9e1b245d0cea9b55e\",\"dweb:/ipfs/QmaPBoG89Bd2btJZW5kjXx7zXo6KhAdeTuMq5xo431M8xq\"]},\"lib/openzeppelin-foundry-upgrades/src/Options.sol\":{\"keccak256\":\"0xa5414683d6b219b28e75ecaab3d00a305dfaf4d970389a88992275c8072ce8ac\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1dbfd566ba318f2b740159c28e4511c84c9d76fcc293ae17c9b1a87b3ea16c9\",\"dweb:/ipfs/QmcyxPoeBdzA9iHEgd76xKhaQ8HKfpV4owdSv6127MmveT\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Core.sol\":{\"keccak256\":\"0x37073df20d2b5fbb0a873e6b2dd76c23e23455d1c2d2ba57d2f0998201a4251d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://79d507647ea48d93371341684cf4199d55ed799db9d3489bc016f53990d2ff7c\",\"dweb:/ipfs/QmQWgXiYcPcwNcrkTHb72WtHd4xPcXfRUMfBrhkDHgr2ut\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/DefenderDeploy.sol\":{\"keccak256\":\"0x868ffdaf5d185fee103fc4581385392b47c209a5cfd2aec01f0307dbc0101d73\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://76e51bf69a4d0b5d1d9cfa7efa442bdcf9d713966563432ef8fdd00ec959a25e\",\"dweb:/ipfs/QmTHkdvMnqmEvus7zbmHhPkWk3fM9SW2Jq8gnyBLwVJtxG\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Utils.sol\":{\"keccak256\":\"0x4de002af810f6a5fe26a6381e0ead3331735bd0059434a22df75e17c177b5f87\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af32ff07f606e530a53030db141a75af144cfe065a6543939d412018c6159540\",\"dweb:/ipfs/QmbfTB92Zd8VQHW61g9dx1CvGgSL5SCoZDLrvJfnR7Ctio\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Versions.sol\":{\"keccak256\":\"0xf1a1441c18a296853509e9b1d18be794ed3de836caea49d6948b5e9ac566e8c6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6f3463514235bd875ecacf45f95cac64aa650dd38d05c15fe1f4203b6b5733bd\",\"dweb:/ipfs/Qmcbhmw9NPkG8MqiVsQ4qUupeQFCRgyBDKuoUwohwa8EP3\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IProxyAdmin.sol\":{\"keccak256\":\"0xf5e514595089f8959da130507086e7388602a71ce60575d141e7d892dfbddbfc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9b41366e2823ccc8cb42304496d761b3df80946d17384634a61afd7139495c91\",\"dweb:/ipfs/QmZE2nRMxax1NPj63ifemKdScGJzKNWi7BCGudjFLsUz1y\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableBeacon.sol\":{\"keccak256\":\"0xa8d7bffdd26eb763e459650c83f247b54af79800c2df52ad05878f238fc1c2f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ed47f1e53e5eb7d48fed60a414755641fca8fa0e713fd503b2597227da78a2f\",\"dweb:/ipfs/QmQr8A5wddHdhQNauFShXxRkPcuVVpVsYpq846WhmFC8Tv\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableProxy.sol\":{\"keccak256\":\"0x781b564b90bba0c0e8e12fb66b1c910f42d369db469f2e88592b4cff29de99a5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://45fcab02a43fde934445b88e905aba3f58a70b75dd6ee6eb86a3d593424aeb03\",\"dweb:/ipfs/QmXmhAgrctaYUDLoTRgUjwD4deoXu1E2QT1kftVGcVa56j\"]},\"pkg/contracts/src/BaseStrategyUpgradeable.sol\":{\"keccak256\":\"0xe059f9e1a262a4713e230a6025c3356681bb5f3c8013b87bc579bae93aa66c20\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://37e879664b08005b9544457cf89bce77e38b6a25639566df7366b9e5968c815e\",\"dweb:/ipfs/QmYgNRqZfYUPbWgcHUHghTcpqjVmT9v4HfkfPdEF64fYe5\"]},\"pkg/contracts/src/CVStrategy.sol\":{\"keccak256\":\"0x132bcf17470960e380d841159d9389985d609aaae1c9a657c78902f7871da957\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://84e905bf392579b44f33fff8586431b940e110b2210854cf487321cc92061705\",\"dweb:/ipfs/QmQpvszYu8RbrXmUFLifSodQzV8LAqazk1fzXNARGc5sBT\"]},\"pkg/contracts/src/CVStrategyV0_0.sol\":{\"keccak256\":\"0x79d01b399c8d735923dfa26b8dacba6200a861202dd6fb1c7711241285439d2d\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://e7ea0014e25a729d6d688620658df81a179a8c2380ae0bc4c78668cd486adb04\",\"dweb:/ipfs/QmdPM8JpFXeqBxQgkRzM1inzCT2rkRxnpoSrFk8DauDpNf\"]},\"pkg/contracts/src/ISybilScorer.sol\":{\"keccak256\":\"0x0e25fbb8497ac3c969d80c9032362d45e56c0a45dc9ba3dff6a8a704571f38ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0dff90ebae6e7131a5300fcaf525bc2ab0ae90fcd13f277d7b7b6939eeb8b7eb\",\"dweb:/ipfs/QmYGkYqpUVrBWoNY6f3CtwrrVQFWSvnJfpu68t95f6AkBY\"]},\"pkg/contracts/src/RegistryCommunity.sol\":{\"keccak256\":\"0xc735f4d2635149f2db9bff291da56e08c3c312d9eb1b767b8a1e3e51584d5734\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://247b33b78abface6a7e2da38174386de9b543f6a27e8340e26d854bff57184a3\",\"dweb:/ipfs/QmedNdqkqeboGzz9w868uGf7KnXUaYZe6i1YcdUPPkJnnf\"]},\"pkg/contracts/src/RegistryCommunityV0_0.sol\":{\"keccak256\":\"0x6525c857f7baff606e87bbc2878f3606923997a444eb500aa15018c676c972a9\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://89d2af9f470c8d7431ff6b1981b7bf46520f719d68da38ab3ca065496a6297d8\",\"dweb:/ipfs/QmceJHX57HbnBXVfmhtRPmnApUQy5QSWTybgq6g37vCxEN\"]},\"pkg/contracts/src/RegistryFactory.sol\":{\"keccak256\":\"0x888b7f5eb1079f90ccfa0b41d8a970bffd8d4d469f9b31917a58279b358dbda5\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://af25fd783de00adf01d1c7caa572801fed0d474306a43b862535b08e65ec10c6\",\"dweb:/ipfs/Qmeb2nEaMQLV86y1CYAAV2c6BYpBDTbpLuC1SigeNjdqLo\"]},\"pkg/contracts/src/interfaces/FAllo.sol\":{\"keccak256\":\"0x32f38cb4400a07a99ae68a9beb91e5649886487172fd50561da6763464efc437\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://cb4f0cee2f3fbede7be5e8e1d7ee8034086359cd07b9dab49c4a991388e5c458\",\"dweb:/ipfs/QmS26kA8cZ9shWwxcbF17Kes8L7Jgw85EQVydDmwb34mjM\"]},\"pkg/contracts/src/interfaces/ISafe.sol\":{\"keccak256\":\"0x878a210809bb684c42157a10f3f90350a67d0a4863f130499942b06f0f2c9143\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://fa2d71bd427c3415e98a2ee15ff673f3cc61c17f14d7087c5eedc83b55f6b0ef\",\"dweb:/ipfs/QmesVSmJQQzi6ys1cvhQFCJyDXchb736mT5bXks4Yp6Cbj\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[],"type":"error","name":"AddressCannotBeZero"},{"inputs":[{"internalType":"uint256","name":"_decreaseAmount","type":"uint256"},{"internalType":"uint256","name":"_currentPower","type":"uint256"}],"type":"error","name":"CantDecreaseMoreThanPower"},{"inputs":[],"type":"error","name":"DecreaseUnderMinimum"},{"inputs":[],"type":"error","name":"KickNotEnabled"},{"inputs":[],"type":"error","name":"NewFeeGreaterThanMax"},{"inputs":[],"type":"error","name":"PointsDeactivated"},{"inputs":[],"type":"error","name":"RegistryCannotBeZero"},{"inputs":[],"type":"error","name":"SenderNotNewOwner"},{"inputs":[],"type":"error","name":"SenderNotStrategy"},{"inputs":[],"type":"error","name":"StrategyDisabled"},{"inputs":[],"type":"error","name":"StrategyExists"},{"inputs":[],"type":"error","name":"UserAlreadyActivated"},{"inputs":[],"type":"error","name":"UserAlreadyDeactivated"},{"inputs":[],"type":"error","name":"UserAlreadyRegistered"},{"inputs":[],"type":"error","name":"UserNotGardenOwner"},{"inputs":[],"type":"error","name":"UserNotInCouncil"},{"inputs":[],"type":"error","name":"UserNotInRegistry"},{"inputs":[],"type":"error","name":"ValueCannotBeZero"},{"inputs":[{"internalType":"address","name":"previousAdmin","type":"address","indexed":false},{"internalType":"address","name":"newAdmin","type":"address","indexed":false}],"type":"event","name":"AdminChanged","anonymous":false},{"inputs":[{"internalType":"address","name":"_allo","type":"address","indexed":false}],"type":"event","name":"AlloSet","anonymous":false},{"inputs":[{"internalType":"uint256","name":"_newAmount","type":"uint256","indexed":false}],"type":"event","name":"BasisStakedAmountSet","anonymous":false},{"inputs":[{"internalType":"address","name":"beacon","type":"address","indexed":true}],"type":"event","name":"BeaconUpgraded","anonymous":false},{"inputs":[{"internalType":"uint256","name":"_newFee","type":"uint256","indexed":false}],"type":"event","name":"CommunityFeeUpdated","anonymous":false},{"inputs":[{"internalType":"address","name":"_safeOwner","type":"address","indexed":false},{"internalType":"address","name":"_newSafeOwner","type":"address","indexed":false}],"type":"event","name":"CouncilSafeChangeStarted","anonymous":false},{"inputs":[{"internalType":"address","name":"_safe","type":"address","indexed":false}],"type":"event","name":"CouncilSafeSet","anonymous":false},{"inputs":[{"internalType":"uint8","name":"version","type":"uint8","indexed":false}],"type":"event","name":"Initialized","anonymous":false},{"inputs":[{"internalType":"address","name":"_member","type":"address","indexed":false},{"internalType":"address","name":"_strategy","type":"address","indexed":false},{"internalType":"uint256","name":"_pointsToIncrease","type":"uint256","indexed":false}],"type":"event","name":"MemberActivatedStrategy","anonymous":false},{"inputs":[{"internalType":"address","name":"_member","type":"address","indexed":false},{"internalType":"address","name":"_strategy","type":"address","indexed":false}],"type":"event","name":"MemberDeactivatedStrategy","anonymous":false},{"inputs":[{"internalType":"address","name":"_member","type":"address","indexed":false},{"internalType":"address","name":"_transferAddress","type":"address","indexed":false},{"internalType":"uint256","name":"_amountReturned","type":"uint256","indexed":false}],"type":"event","name":"MemberKicked","anonymous":false},{"inputs":[{"internalType":"address","name":"_member","type":"address","indexed":false},{"internalType":"uint256","name":"_unstakedAmount","type":"uint256","indexed":false}],"type":"event","name":"MemberPowerDecreased","anonymous":false},{"inputs":[{"internalType":"address","name":"_member","type":"address","indexed":false},{"internalType":"uint256","name":"_stakedAmount","type":"uint256","indexed":false}],"type":"event","name":"MemberPowerIncreased","anonymous":false},{"inputs":[{"internalType":"address","name":"_member","type":"address","indexed":false},{"internalType":"uint256","name":"_amountStaked","type":"uint256","indexed":false}],"type":"event","name":"MemberRegistered","anonymous":false},{"inputs":[{"internalType":"address","name":"_member","type":"address","indexed":false},{"internalType":"uint256","name":"_amountReturned","type":"uint256","indexed":false}],"type":"event","name":"MemberUnregistered","anonymous":false},{"inputs":[{"internalType":"address","name":"previousOwner","type":"address","indexed":true},{"internalType":"address","name":"newOwner","type":"address","indexed":true}],"type":"event","name":"OwnershipTransferred","anonymous":false},{"inputs":[{"internalType":"uint256","name":"_poolId","type":"uint256","indexed":false},{"internalType":"address","name":"_strategy","type":"address","indexed":false},{"internalType":"address","name":"_community","type":"address","indexed":false},{"internalType":"address","name":"_token","type":"address","indexed":false},{"internalType":"struct Metadata","name":"_metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}],"indexed":false}],"type":"event","name":"PoolCreated","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"_profileId","type":"bytes32","indexed":false},{"internalType":"string","name":"_communityName","type":"string","indexed":false},{"internalType":"struct Metadata","name":"_metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}],"indexed":false}],"type":"event","name":"RegistryInitialized","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32","indexed":true},{"internalType":"bytes32","name":"previousAdminRole","type":"bytes32","indexed":true},{"internalType":"bytes32","name":"newAdminRole","type":"bytes32","indexed":true}],"type":"event","name":"RoleAdminChanged","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32","indexed":true},{"internalType":"address","name":"account","type":"address","indexed":true},{"internalType":"address","name":"sender","type":"address","indexed":true}],"type":"event","name":"RoleGranted","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32","indexed":true},{"internalType":"address","name":"account","type":"address","indexed":true},{"internalType":"address","name":"sender","type":"address","indexed":true}],"type":"event","name":"RoleRevoked","anonymous":false},{"inputs":[{"internalType":"address","name":"_strategy","type":"address","indexed":false}],"type":"event","name":"StrategyAdded","anonymous":false},{"inputs":[{"internalType":"address","name":"_strategy","type":"address","indexed":false}],"type":"event","name":"StrategyRemoved","anonymous":false},{"inputs":[{"internalType":"address","name":"implementation","type":"address","indexed":true}],"type":"event","name":"Upgraded","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"COUNCIL_MEMBER","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"DEFAULT_ADMIN_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"MAX_FEE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"NATIVE","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"PRECISION_SCALE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"acceptCouncilSafe"},{"inputs":[{"internalType":"address","name":"_member","type":"address"},{"internalType":"address","name":"_strategy","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"activateMemberInStrategy"},{"inputs":[{"internalType":"address","name":"_newStrategy","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"addStrategy"},{"inputs":[{"internalType":"uint256","name":"poolId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"addStrategyByPoolId"},{"inputs":[{"internalType":"address","name":"member","type":"address"}],"stateMutability":"view","type":"function","name":"addressToMemberInfo","outputs":[{"internalType":"address","name":"member","type":"address"},{"internalType":"uint256","name":"stakedAmount","type":"uint256"},{"internalType":"bool","name":"isRegistered","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"allo","outputs":[{"internalType":"contract FAllo","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"cloneNonce","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"communityFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"communityName","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"councilSafe","outputs":[{"internalType":"contract ISafe","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"covenantIpfsHash","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[{"internalType":"address","name":"_token","type":"address"},{"internalType":"struct StrategyStruct.InitializeParams","name":"_params","type":"tuple","components":[{"internalType":"address","name":"registryCommunity","type":"address"},{"internalType":"uint256","name":"decay","type":"uint256"},{"internalType":"uint256","name":"maxRatio","type":"uint256"},{"internalType":"uint256","name":"weight","type":"uint256"},{"internalType":"uint256","name":"minThresholdPoints","type":"uint256"},{"internalType":"enum StrategyStruct.ProposalType","name":"proposalType","type":"uint8"},{"internalType":"enum StrategyStruct.PointSystem","name":"pointSystem","type":"uint8"},{"internalType":"struct StrategyStruct.PointSystemConfig","name":"pointConfig","type":"tuple","components":[{"internalType":"uint256","name":"maxAmount","type":"uint256"}]},{"internalType":"address","name":"sybilScorer","type":"address"}]},{"internalType":"struct Metadata","name":"_metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]}],"stateMutability":"nonpayable","type":"function","name":"createPool","outputs":[{"internalType":"uint256","name":"poolId","type":"uint256"},{"internalType":"address","name":"strategy","type":"address"}]},{"inputs":[{"internalType":"address","name":"_strategy","type":"address"},{"internalType":"address","name":"_token","type":"address"},{"internalType":"struct StrategyStruct.InitializeParams","name":"_params","type":"tuple","components":[{"internalType":"address","name":"registryCommunity","type":"address"},{"internalType":"uint256","name":"decay","type":"uint256"},{"internalType":"uint256","name":"maxRatio","type":"uint256"},{"internalType":"uint256","name":"weight","type":"uint256"},{"internalType":"uint256","name":"minThresholdPoints","type":"uint256"},{"internalType":"enum StrategyStruct.ProposalType","name":"proposalType","type":"uint8"},{"internalType":"enum StrategyStruct.PointSystem","name":"pointSystem","type":"uint8"},{"internalType":"struct StrategyStruct.PointSystemConfig","name":"pointConfig","type":"tuple","components":[{"internalType":"uint256","name":"maxAmount","type":"uint256"}]},{"internalType":"address","name":"sybilScorer","type":"address"}]},{"internalType":"struct Metadata","name":"_metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]}],"stateMutability":"nonpayable","type":"function","name":"createPool","outputs":[{"internalType":"uint256","name":"poolId","type":"uint256"},{"internalType":"address","name":"strategy","type":"address"}]},{"inputs":[{"internalType":"address","name":"_member","type":"address"},{"internalType":"address","name":"_strategy","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"deactivateMemberInStrategy"},{"inputs":[{"internalType":"uint256","name":"_amountUnstaked","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"decreasePower"},{"inputs":[{"internalType":"address","name":"strategy","type":"address"}],"stateMutability":"view","type":"function","name":"enabledStrategies","outputs":[{"internalType":"bool","name":"isEnabled","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"feeReceiver","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"gardenToken","outputs":[{"internalType":"contract IERC20","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getBasisStakedAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"_member","type":"address"},{"internalType":"address","name":"_strategy","type":"address"}],"stateMutability":"view","type":"function","name":"getMemberPowerInStrategy","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"_member","type":"address"}],"stateMutability":"view","type":"function","name":"getMemberStakedAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getRoleAdmin","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getStakeAmountWithFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"grantRole"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"hasRole","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"uint256","name":"_amountStaked","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"increasePower"},{"inputs":[{"internalType":"struct RegistryCommunityV0_0.InitializeParams","name":"params","type":"tuple","components":[{"internalType":"address","name":"_allo","type":"address"},{"internalType":"contract IERC20","name":"_gardenToken","type":"address"},{"internalType":"uint256","name":"_registerStakeAmount","type":"uint256"},{"internalType":"uint256","name":"_communityFee","type":"uint256"},{"internalType":"uint256","name":"_nonce","type":"uint256"},{"internalType":"address","name":"_registryFactory","type":"address"},{"internalType":"address","name":"_feeReceiver","type":"address"},{"internalType":"struct Metadata","name":"_metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]},{"internalType":"address payable","name":"_councilSafe","type":"address"},{"internalType":"string","name":"_communityName","type":"string"},{"internalType":"bool","name":"_isKickEnabled","type":"bool"},{"internalType":"string","name":"covenantIpfsHash","type":"string"},{"internalType":"address","name":"_strategyTemplate","type":"address"}]}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[{"internalType":"address","name":"_member","type":"address"}],"stateMutability":"view","type":"function","name":"isCouncilMember","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"isKickEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"_member","type":"address"}],"stateMutability":"view","type":"function","name":"isMember","outputs":[{"internalType":"bool","name":"_isMember","type":"bool"}]},{"inputs":[{"internalType":"address","name":"_member","type":"address"},{"internalType":"address","name":"_transferAddress","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"kickMember"},{"inputs":[{"internalType":"address","name":"member","type":"address"},{"internalType":"address","name":"strategy","type":"address"}],"stateMutability":"view","type":"function","name":"memberActivatedInStrategies","outputs":[{"internalType":"bool","name":"isActivated","type":"bool"}]},{"inputs":[{"internalType":"address","name":"strategy","type":"address"},{"internalType":"address","name":"member","type":"address"}],"stateMutability":"view","type":"function","name":"memberPowerInStrategy","outputs":[{"internalType":"uint256","name":"power","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"pendingCouncilSafe","outputs":[{"internalType":"address payable","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"profileId","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"proxiableUUID","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"registerStakeAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"registry","outputs":[{"internalType":"contract IRegistry","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"registryFactory","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"_strategy","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"removeStrategy"},{"inputs":[{"internalType":"uint256","name":"poolId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"removeStrategyByPoolId"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"renounceOwnership"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"renounceRole"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"revokeRole"},{"inputs":[{"internalType":"uint256","name":"_newAmount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"setBasisStakedAmount"},{"inputs":[{"internalType":"uint256","name":"_newCommunityFee","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"setCommunityFee"},{"inputs":[{"internalType":"address payable","name":"_safe","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setCouncilSafe"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"stakeAndRegisterMember"},{"inputs":[{"internalType":"address","name":"member","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function","name":"strategiesByMember","outputs":[{"internalType":"address","name":"strategiesAddresses","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"strategyTemplate","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"stateMutability":"view","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transferOwnership"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"unregisterMember"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"upgradeTo"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"payable","type":"function","name":"upgradeToAndCall"}],"devdoc":{"kind":"dev","methods":{"getRoleAdmin(bytes32)":{"details":"Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}."},"grantRole(bytes32,address)":{"details":"Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleGranted} event."},"hasRole(bytes32,address)":{"details":"Returns `true` if `account` has been granted `role`."},"owner()":{"details":"Returns the address of the current owner."},"proxiableUUID()":{"details":"Implementation of the ERC1822 {proxiableUUID} function. This returns the storage slot used by the implementation. It is used to validate the implementation's compatibility when performing an upgrade. IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this function revert if invoked through a proxy. This is guaranteed by the `notDelegated` modifier."},"renounceOwnership()":{"details":"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner."},"renounceRole(bytes32,address)":{"details":"Revokes `role` from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been revoked `role`, emits a {RoleRevoked} event. Requirements: - the caller must be `account`. May emit a {RoleRevoked} event."},"revokeRole(bytes32,address)":{"details":"Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleRevoked} event."},"supportsInterface(bytes4)":{"details":"See {IERC165-supportsInterface}."},"transferOwnership(address)":{"details":"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner."},"upgradeTo(address)":{"custom:oz-upgrades-unsafe-allow-reachable":"delegatecall","details":"Upgrade the implementation of the proxy to `newImplementation`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event."},"upgradeToAndCall(address,bytes)":{"custom:oz-upgrades-unsafe-allow-reachable":"delegatecall","details":"Upgrade the implementation of the proxy to `newImplementation`, and subsequently execute the function call encoded in `data`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event."}},"version":1},"userdoc":{"kind":"user","methods":{"COUNCIL_MEMBER()":{"notice":"Role to council safe members"},"MAX_FEE()":{"notice":"The maximum fee that can be charged to the community"},"NATIVE()":{"notice":"The native address to represent native token eg: ETH in mainnet"},"PRECISION_SCALE()":{"notice":"The precision scale used in the contract to avoid loss of precision"},"addressToMemberInfo(address)":{"notice":"Member information as the staked amount and if is registered in the community"},"allo()":{"notice":"The Allo contract address"},"cloneNonce()":{"notice":"The nonce used to create new strategy clones"},"communityFee()":{"notice":"The fee charged to the community for each registration"},"communityName()":{"notice":"The community name"},"councilSafe()":{"notice":"The council safe contract address"},"covenantIpfsHash()":{"notice":"The covenant IPFS hash of community"},"enabledStrategies(address)":{"notice":"List of enabled/disabled strategies"},"feeReceiver()":{"notice":"The address that receives the community fee"},"gardenToken()":{"notice":"The token used to stake in the community"},"isKickEnabled()":{"notice":"Enable or disable the kick feature"},"memberActivatedInStrategies(address,address)":{"notice":"Mapping to check if a member is activated in a strategy"},"memberPowerInStrategy(address,address)":{"notice":"Power points for each member in each strategy"},"pendingCouncilSafe()":{"notice":"The address of the pending council safe owner"},"profileId()":{"notice":"The profileId of the community in the Allo Registry"},"registerStakeAmount()":{"notice":"The amount of tokens required to register a member"},"registry()":{"notice":"The Registry Allo contract"},"registryFactory()":{"notice":"The address of the registry factory"},"strategiesByMember(address,uint256)":{"notice":"List of strategies for each member are activated"},"strategyTemplate()":{"notice":"The address of the strategy template"}},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-contracts/=lib/safe-contracts/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":1000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"pkg/contracts/src/RegistryCommunityV0_0.sol":"RegistryCommunityV0_0"},"evmVersion":"paris","libraries":{}},"sources":{"lib/allo-v2/contracts/core/interfaces/IAllo.sol":{"keccak256":"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce","urls":["bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7","dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/interfaces/IRegistry.sol":{"keccak256":"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f","urls":["bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e","dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA"],"license":"MIT"},"lib/allo-v2/contracts/core/interfaces/IStrategy.sol":{"keccak256":"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23","urls":["bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487","dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Clone.sol":{"keccak256":"0xc348b24b7d8a98c4faa5f2aa37ce9264a74f81dbdef1a9bae2eaa125585c3c7e","urls":["bzz-raw://1335b3ec59ec7e3d12ea7c90b3aa56f4c26e0d44d342f54412933be9d4f16067","dweb:/ipfs/QmXNFo2wCyq9cpvfgbdHvBUQecThFSEoUnMuZNS6WinDrr"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Errors.sol":{"keccak256":"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15","urls":["bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf","dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Metadata.sol":{"keccak256":"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44","urls":["bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c","dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Native.sol":{"keccak256":"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5","urls":["bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a","dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Transfer.sol":{"keccak256":"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286","urls":["bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11","dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/strategies/BaseStrategy.sol":{"keccak256":"0x3f1382dc6c35d50545e327e7ed6016f2bd752357d446bd698014073f0b812873","urls":["bzz-raw://99500abcd617fa43f6dde49e2c7802821ceaf54a65a8055cbbf2695ecd107974","dweb:/ipfs/QmUktZkWuu3GCMEijY1fqt7NMy7BzpTvEtcmpB1fuoa7zt"],"license":"AGPL-3.0-only"},"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol":{"keccak256":"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624","urls":["bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298","dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt"],"license":"MIT"},"lib/forge-std/src/Vm.sol":{"keccak256":"0x51fec240abc6dd23e0ee6de7c65106379aef732cad6c4ae5df6b55db886e7456","urls":["bzz-raw://a47d9c0a9876e7f9e411843b994a741d4ac1a87d8459ffc3c56359de691ddc1a","dweb:/ipfs/QmQiFN9b3Y2azrD1RBfAKEuAG3YeJkMzA2DGzgEE9kMeEK"],"license":"MIT OR Apache-2.0"},"lib/forge-std/src/console.sol":{"keccak256":"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba","urls":["bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70","dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol":{"keccak256":"0xc8710577334e8d0799ae2b2a731b1924a7bddd64319da9787ddd2dc69bdd1ce5","urls":["bzz-raw://b83b7afa4d2372da3ba5402fb10860a105c35d79812c60dc61007be2afc17618","dweb:/ipfs/QmYX9xPmbNVSKXrepKiUZiG5oL3SdzFp9a4kqspxX1sEUx"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol":{"keccak256":"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa","urls":["bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c","dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol":{"keccak256":"0x359a1ab89b46b9aba7bcad3fb651924baf4893d15153049b9976b0fc9be1358e","urls":["bzz-raw://e89863421b4014b96a4b62be76eb3b9f0a8afe9684664a6f389124c0964bfe5c","dweb:/ipfs/Qmbk7xr1irpDuU1WdxXgxELBXxs61rHhCgod7heVcvFx16"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol":{"keccak256":"0x5a55d1b148a0cb4183f1e09ceaff87bd2d828440f2f5dc01dfe03eb29e7c88ec","urls":["bzz-raw://b3f9278bdda788763efbe569da77fc24feff36e871779e2da69f74ea5f8bfacf","dweb:/ipfs/QmZF9cH4rfazmwKT55p3tZyzh9QGghNyss81f46d6yVXap"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794","urls":["bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e","dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol":{"keccak256":"0x2025ccf05f6f1f2fd4e078e552836f525a1864e3854ed555047cd732320ab29b","urls":["bzz-raw://d27f4b23c2dee42394aebaf42bf238285230f472dfd3282a39c3f000ec28214f","dweb:/ipfs/QmQa3DnvccwdWJeWrjgXPnFMTWbzWQWR39hVqC7eEwo2PC"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol":{"keccak256":"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422","urls":["bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b","dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef","urls":["bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95","dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol":{"keccak256":"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb","urls":["bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a","dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol":{"keccak256":"0xd90d7723512df65ae417adaf0801042940f0dabd60039ceeaffe34aa5b238da1","urls":["bzz-raw://1b13befeb3413749292f9fb229de1c7a509a5ce2c8047d9094fc004ca9d3af89","dweb:/ipfs/QmRzJ2hZSwRtMejHUZAYTPRKgZsnfb112Fno9Jf3EiDfwA"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol":{"keccak256":"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09","urls":["bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758","dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol":{"keccak256":"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e","urls":["bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91","dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol":{"keccak256":"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a","urls":["bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4","dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/access/AccessControl.sol":{"keccak256":"0x0dd6e52cb394d7f5abe5dca2d4908a6be40417914720932de757de34a99ab87f","urls":["bzz-raw://dc117ce50ea746cab6b97ed1a1facee17a715ae0cb95d67b943dacbaf15176fb","dweb:/ipfs/QmYRZ2UGNYwsHwfNu7Wjr8L2j1LBZ1mKv6NvbwgterYMXc"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/access/IAccessControl.sol":{"keccak256":"0x59ce320a585d7e1f163cd70390a0ef2ff9cec832e2aa544293a00692465a7a57","urls":["bzz-raw://bb2c137c343ef0c4c7ce7b18c1d108afdc9d315a04e48307288d2d05adcbde3a","dweb:/ipfs/QmUxhrAQM3MM3FF5j7AtcXLXguWCJBHJ14BRdVtuoQc8Fh"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/access/Ownable.sol":{"keccak256":"0xba43b97fba0d32eb4254f6a5a297b39a19a247082a02d6e69349e071e2946218","urls":["bzz-raw://fc980984badf3984b6303b377711220e067722bbd6a135b24669ff5069ef9f32","dweb:/ipfs/QmPHXMSXj99XjSVM21YsY6aNtLLjLVXDbyN76J5HQYvvrz"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol":{"keccak256":"0x3cbef5ebc24b415252e2f8c0c9254555d30d9f085603b4b80d9b5ed20ab87e90","urls":["bzz-raw://e8fa670c3bdce78e642cc6ae11c4cb38b133499cdce5e1990a9979d424703263","dweb:/ipfs/QmVxeCUk4jL2pXQyhsoNJwyU874wRufS2WvGe8TgPKPqhE"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol":{"keccak256":"0x1d4afe6cb24200cc4545eed814ecf5847277dfe5d613a1707aad5fceecebcfff","urls":["bzz-raw://383fb7b8181016ac5ccf07bc9cdb7c1b5045ea36e2cc4df52bcbf20396fc7688","dweb:/ipfs/QmYJ7Cg4WmE3rR8KGQxjUCXFfTH6TcwZ2Z1f6tPrq7jHFr"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol":{"keccak256":"0xa2b22da3032e50b55f95ec1d13336102d675f341167aa76db571ef7f8bb7975d","urls":["bzz-raw://96b6d77a20bebd4eb06b801d3d020c7e82be13bd535cb0d0a6b7181c51dab5d5","dweb:/ipfs/QmPUR9Cv9jNFdQX6PtBfaBW1ZCnKwiu65R2VD5kbdanDyn"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Upgrade.sol":{"keccak256":"0x3b21ae06bf5957f73fa16754b0669c77b7abd8ba6c072d35c3281d446fdb86c2","urls":["bzz-raw://2db8e18505e86e02526847005d7287a33e397ed7fb9eaba3fd4a4a197add16e2","dweb:/ipfs/QmW9BSuKTzHWHBNSHF4L8XfVuU1uJrP2vLg84YtBd8mL82"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol":{"keccak256":"0xc130fe33f1b2132158531a87734153293f6d07bc263ff4ac90e85da9c82c0e27","urls":["bzz-raw://8831721b6f4cc26534d190f9f1631c3f59c9ff38efdd911f85e0882b8e360472","dweb:/ipfs/QmQZnLErZNStirSQ13ZNWQgvEYUtGE5tXYwn4QUPaVUfPN"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol":{"keccak256":"0xd50a3421ac379ccb1be435fa646d66a65c986b4924f0849839f08692f39dde61","urls":["bzz-raw://ada1e030c0231db8d143b44ce92b4d1158eedb087880cad6d8cc7bd7ebe7b354","dweb:/ipfs/QmWZ2NHZweRpz1U9GF6R1h65ri76dnX7fNxLBeM2t5N5Ce"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x3d6069be9b4c01fb81840fb9c2c4dc58dd6a6a4aafaa2c6837de8699574d84c6","urls":["bzz-raw://720d6bb56ea0c4ef781c0bd65c5bd0541f5a46100163b2587170f97658d2deed","dweb:/ipfs/QmTS2biLVPrv8CeeXCaKmkFxonMiRvc1LxiYBRYDAJHQUS"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol":{"keccak256":"0xc6619957bcc6641fe8984bfaf9ff11a9e4b97d8149c0495f608f9a2416d7c5cf","urls":["bzz-raw://543be67f7fa43b1b932637c1c7f12035f0f4b0f7ee2bd3c33841186f79c165c1","dweb:/ipfs/QmSBPM2UVKbmJqWfD9i6hSiqbaE8TV4TSqfuiivziRRLKM"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/security/ReentrancyGuard.sol":{"keccak256":"0xa535a5df777d44e945dd24aa43a11e44b024140fc340ad0dfe42acf4002aade1","urls":["bzz-raw://41319e7f621f2dc3733511332c4fd032f8e32ad2aa7fd6f665c19741d9941a34","dweb:/ipfs/QmcYR3bd862GD1Bc7jwrU9bGxrhUu5na1oP964bDCu2id1"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol":{"keccak256":"0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c","urls":["bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15","dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305","urls":["bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5","dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol":{"keccak256":"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca","urls":["bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd","dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol":{"keccak256":"0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a","urls":["bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a","dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol":{"keccak256":"0x909d608c2db6eb165ca178c81289a07ed2e118e444d0025b2a85c97d0b44a4fa","urls":["bzz-raw://656cda26512ddd7373c2d5551c8fae759fc30f05b10f0fc2e738e9274199dbd4","dweb:/ipfs/QmTSArSzQRFbQmHgq7U1PZXnsDFhvDZhKVu9CzMG4yo6Lx"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Address.sol":{"keccak256":"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa","urls":["bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931","dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Context.sol":{"keccak256":"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7","urls":["bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92","dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol":{"keccak256":"0xf09e68aa0dc6722a25bc46490e8d48ed864466d17313b8a0b254c36b54e49899","urls":["bzz-raw://e26daf81e2252dc1fe1ce0e4b55c2eb7c6d1ee84ae6558d1a9554432ea1d32da","dweb:/ipfs/Qmb1UANWiWq5pCKbmHSu772hd4nt374dVaghGmwSVNuk8Q"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Strings.sol":{"keccak256":"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0","urls":["bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f","dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol":{"keccak256":"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b","urls":["bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d","dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol":{"keccak256":"0x5a08ad61f4e82b8a3323562661a86fb10b10190848073fdc13d4ac43710ffba5","urls":["bzz-raw://6f7bb74cf88fd88daa34e118bc6e363381d05044f34f391d39a10c0c9dac3ebd","dweb:/ipfs/QmNbQ3v8v4zuDtg7VeLAbdhAm3tCzUodNoDZZ8ekmCHWZX"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/Math.sol":{"keccak256":"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3","urls":["bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c","dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol":{"keccak256":"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc","urls":["bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7","dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/src/strings.sol":{"keccak256":"0x42cad11a7033f2fe05dd68611d2304407a620ac985b91edf29d5868cfe196223","urls":["bzz-raw://3cbc2333234e1f00eab5e57c4bcaf5115661e5e066a17c70af587a0a96f24669","dweb:/ipfs/QmPHvStqcvZL46LW5N2ExTwAaqNhRCcmAX66aR6oE1WDar"],"license":null},"lib/openzeppelin-foundry-upgrades/src/Defender.sol":{"keccak256":"0x2114e4d70d53b36e8cec54ba11ff78d9f38a466ec3504c76c7f26101a7cff37f","urls":["bzz-raw://58f4d9bc58646e7631b263cdb8ef260e6818e9f716036d81d1c18218c9557a23","dweb:/ipfs/QmS18L4R4gPtay9eQBcR28DnwmBkGSWsiCFwm2tXc3BkHL"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/LegacyUpgrades.sol":{"keccak256":"0x8436719f73c76efadaa16cd719d088f698ea3591595dfdf2c15fd66f3e203197","urls":["bzz-raw://ac8d0e55defe124adcc3845348602d6528b00b7dc5f7abf9e1b245d0cea9b55e","dweb:/ipfs/QmaPBoG89Bd2btJZW5kjXx7zXo6KhAdeTuMq5xo431M8xq"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/Options.sol":{"keccak256":"0xa5414683d6b219b28e75ecaab3d00a305dfaf4d970389a88992275c8072ce8ac","urls":["bzz-raw://b1dbfd566ba318f2b740159c28e4511c84c9d76fcc293ae17c9b1a87b3ea16c9","dweb:/ipfs/QmcyxPoeBdzA9iHEgd76xKhaQ8HKfpV4owdSv6127MmveT"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Core.sol":{"keccak256":"0x37073df20d2b5fbb0a873e6b2dd76c23e23455d1c2d2ba57d2f0998201a4251d","urls":["bzz-raw://79d507647ea48d93371341684cf4199d55ed799db9d3489bc016f53990d2ff7c","dweb:/ipfs/QmQWgXiYcPcwNcrkTHb72WtHd4xPcXfRUMfBrhkDHgr2ut"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/DefenderDeploy.sol":{"keccak256":"0x868ffdaf5d185fee103fc4581385392b47c209a5cfd2aec01f0307dbc0101d73","urls":["bzz-raw://76e51bf69a4d0b5d1d9cfa7efa442bdcf9d713966563432ef8fdd00ec959a25e","dweb:/ipfs/QmTHkdvMnqmEvus7zbmHhPkWk3fM9SW2Jq8gnyBLwVJtxG"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Utils.sol":{"keccak256":"0x4de002af810f6a5fe26a6381e0ead3331735bd0059434a22df75e17c177b5f87","urls":["bzz-raw://af32ff07f606e530a53030db141a75af144cfe065a6543939d412018c6159540","dweb:/ipfs/QmbfTB92Zd8VQHW61g9dx1CvGgSL5SCoZDLrvJfnR7Ctio"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Versions.sol":{"keccak256":"0xf1a1441c18a296853509e9b1d18be794ed3de836caea49d6948b5e9ac566e8c6","urls":["bzz-raw://6f3463514235bd875ecacf45f95cac64aa650dd38d05c15fe1f4203b6b5733bd","dweb:/ipfs/Qmcbhmw9NPkG8MqiVsQ4qUupeQFCRgyBDKuoUwohwa8EP3"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IProxyAdmin.sol":{"keccak256":"0xf5e514595089f8959da130507086e7388602a71ce60575d141e7d892dfbddbfc","urls":["bzz-raw://9b41366e2823ccc8cb42304496d761b3df80946d17384634a61afd7139495c91","dweb:/ipfs/QmZE2nRMxax1NPj63ifemKdScGJzKNWi7BCGudjFLsUz1y"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableBeacon.sol":{"keccak256":"0xa8d7bffdd26eb763e459650c83f247b54af79800c2df52ad05878f238fc1c2f8","urls":["bzz-raw://8ed47f1e53e5eb7d48fed60a414755641fca8fa0e713fd503b2597227da78a2f","dweb:/ipfs/QmQr8A5wddHdhQNauFShXxRkPcuVVpVsYpq846WhmFC8Tv"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableProxy.sol":{"keccak256":"0x781b564b90bba0c0e8e12fb66b1c910f42d369db469f2e88592b4cff29de99a5","urls":["bzz-raw://45fcab02a43fde934445b88e905aba3f58a70b75dd6ee6eb86a3d593424aeb03","dweb:/ipfs/QmXmhAgrctaYUDLoTRgUjwD4deoXu1E2QT1kftVGcVa56j"],"license":"MIT"},"pkg/contracts/src/BaseStrategyUpgradeable.sol":{"keccak256":"0xe059f9e1a262a4713e230a6025c3356681bb5f3c8013b87bc579bae93aa66c20","urls":["bzz-raw://37e879664b08005b9544457cf89bce77e38b6a25639566df7366b9e5968c815e","dweb:/ipfs/QmYgNRqZfYUPbWgcHUHghTcpqjVmT9v4HfkfPdEF64fYe5"],"license":"AGPL-3.0-only"},"pkg/contracts/src/CVStrategy.sol":{"keccak256":"0x132bcf17470960e380d841159d9389985d609aaae1c9a657c78902f7871da957","urls":["bzz-raw://84e905bf392579b44f33fff8586431b940e110b2210854cf487321cc92061705","dweb:/ipfs/QmQpvszYu8RbrXmUFLifSodQzV8LAqazk1fzXNARGc5sBT"],"license":"AGPL-3.0-only"},"pkg/contracts/src/CVStrategyV0_0.sol":{"keccak256":"0x79d01b399c8d735923dfa26b8dacba6200a861202dd6fb1c7711241285439d2d","urls":["bzz-raw://e7ea0014e25a729d6d688620658df81a179a8c2380ae0bc4c78668cd486adb04","dweb:/ipfs/QmdPM8JpFXeqBxQgkRzM1inzCT2rkRxnpoSrFk8DauDpNf"],"license":"AGPL-3.0-only"},"pkg/contracts/src/ISybilScorer.sol":{"keccak256":"0x0e25fbb8497ac3c969d80c9032362d45e56c0a45dc9ba3dff6a8a704571f38ea","urls":["bzz-raw://0dff90ebae6e7131a5300fcaf525bc2ab0ae90fcd13f277d7b7b6939eeb8b7eb","dweb:/ipfs/QmYGkYqpUVrBWoNY6f3CtwrrVQFWSvnJfpu68t95f6AkBY"],"license":"MIT"},"pkg/contracts/src/RegistryCommunity.sol":{"keccak256":"0xc735f4d2635149f2db9bff291da56e08c3c312d9eb1b767b8a1e3e51584d5734","urls":["bzz-raw://247b33b78abface6a7e2da38174386de9b543f6a27e8340e26d854bff57184a3","dweb:/ipfs/QmedNdqkqeboGzz9w868uGf7KnXUaYZe6i1YcdUPPkJnnf"],"license":"AGPL-3.0-only"},"pkg/contracts/src/RegistryCommunityV0_0.sol":{"keccak256":"0x6525c857f7baff606e87bbc2878f3606923997a444eb500aa15018c676c972a9","urls":["bzz-raw://89d2af9f470c8d7431ff6b1981b7bf46520f719d68da38ab3ca065496a6297d8","dweb:/ipfs/QmceJHX57HbnBXVfmhtRPmnApUQy5QSWTybgq6g37vCxEN"],"license":"AGPL-3.0-only"},"pkg/contracts/src/RegistryFactory.sol":{"keccak256":"0x888b7f5eb1079f90ccfa0b41d8a970bffd8d4d469f9b31917a58279b358dbda5","urls":["bzz-raw://af25fd783de00adf01d1c7caa572801fed0d474306a43b862535b08e65ec10c6","dweb:/ipfs/Qmeb2nEaMQLV86y1CYAAV2c6BYpBDTbpLuC1SigeNjdqLo"],"license":"AGPL-3.0-only"},"pkg/contracts/src/interfaces/FAllo.sol":{"keccak256":"0x32f38cb4400a07a99ae68a9beb91e5649886487172fd50561da6763464efc437","urls":["bzz-raw://cb4f0cee2f3fbede7be5e8e1d7ee8034086359cd07b9dab49c4a991388e5c458","dweb:/ipfs/QmS26kA8cZ9shWwxcbF17Kes8L7Jgw85EQVydDmwb34mjM"],"license":"AGPL-3.0-only"},"pkg/contracts/src/interfaces/ISafe.sol":{"keccak256":"0x878a210809bb684c42157a10f3f90350a67d0a4863f130499942b06f0f2c9143","urls":["bzz-raw://fa2d71bd427c3415e98a2ee15ff673f3cc61c17f14d7087c5eedc83b55f6b0ef","dweb:/ipfs/QmesVSmJQQzi6ys1cvhQFCJyDXchb736mT5bXks4Yp6Cbj"],"license":"LGPL-3.0-only"}},"version":1},"storageLayout":{"storage":[{"astId":53029,"contract":"pkg/contracts/src/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"_initialized","offset":0,"slot":"0","type":"t_uint8"},{"astId":53032,"contract":"pkg/contracts/src/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"_initializing","offset":1,"slot":"0","type":"t_bool"},{"astId":53734,"contract":"pkg/contracts/src/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"__gap","offset":0,"slot":"1","type":"t_array(t_uint256)50_storage"},{"astId":52821,"contract":"pkg/contracts/src/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"_owner","offset":0,"slot":"51","type":"t_address"},{"astId":52941,"contract":"pkg/contracts/src/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"__gap","offset":0,"slot":"52","type":"t_array(t_uint256)49_storage"},{"astId":53206,"contract":"pkg/contracts/src/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"_status","offset":0,"slot":"101","type":"t_uint256"},{"astId":53275,"contract":"pkg/contracts/src/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"__gap","offset":0,"slot":"102","type":"t_array(t_uint256)49_storage"},{"astId":54008,"contract":"pkg/contracts/src/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"__gap","offset":0,"slot":"151","type":"t_array(t_uint256)50_storage"},{"astId":52428,"contract":"pkg/contracts/src/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"_roles","offset":0,"slot":"201","type":"t_mapping(t_bytes32,t_struct(RoleData)52423_storage)"},{"astId":52735,"contract":"pkg/contracts/src/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"__gap","offset":0,"slot":"202","type":"t_array(t_uint256)49_storage"},{"astId":83157,"contract":"pkg/contracts/src/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"isKickEnabled","offset":0,"slot":"251","type":"t_bool"},{"astId":83160,"contract":"pkg/contracts/src/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"registerStakeAmount","offset":0,"slot":"252","type":"t_uint256"},{"astId":83163,"contract":"pkg/contracts/src/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"communityFee","offset":0,"slot":"253","type":"t_uint256"},{"astId":83166,"contract":"pkg/contracts/src/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"profileId","offset":0,"slot":"254","type":"t_bytes32"},{"astId":83169,"contract":"pkg/contracts/src/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"feeReceiver","offset":0,"slot":"255","type":"t_address"},{"astId":83172,"contract":"pkg/contracts/src/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"registryFactory","offset":0,"slot":"256","type":"t_address"},{"astId":83175,"contract":"pkg/contracts/src/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"strategyTemplate","offset":0,"slot":"257","type":"t_address"},{"astId":83178,"contract":"pkg/contracts/src/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"cloneNonce","offset":0,"slot":"258","type":"t_uint256"},{"astId":83181,"contract":"pkg/contracts/src/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"pendingCouncilSafe","offset":0,"slot":"259","type":"t_address_payable"},{"astId":83185,"contract":"pkg/contracts/src/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"registry","offset":0,"slot":"260","type":"t_contract(IRegistry)2802"},{"astId":83189,"contract":"pkg/contracts/src/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"gardenToken","offset":0,"slot":"261","type":"t_contract(IERC20)57069"},{"astId":83193,"contract":"pkg/contracts/src/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"councilSafe","offset":0,"slot":"262","type":"t_contract(ISafe)85665"},{"astId":83197,"contract":"pkg/contracts/src/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"allo","offset":0,"slot":"263","type":"t_contract(FAllo)85656"},{"astId":83200,"contract":"pkg/contracts/src/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"communityName","offset":0,"slot":"264","type":"t_string_storage"},{"astId":83203,"contract":"pkg/contracts/src/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"covenantIpfsHash","offset":0,"slot":"265","type":"t_string_storage"},{"astId":83208,"contract":"pkg/contracts/src/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"enabledStrategies","offset":0,"slot":"266","type":"t_mapping(t_address,t_bool)"},{"astId":83215,"contract":"pkg/contracts/src/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"memberPowerInStrategy","offset":0,"slot":"267","type":"t_mapping(t_address,t_mapping(t_address,t_uint256))"},{"astId":83221,"contract":"pkg/contracts/src/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"addressToMemberInfo","offset":0,"slot":"268","type":"t_mapping(t_address,t_struct(Member)83482_storage)"},{"astId":83227,"contract":"pkg/contracts/src/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"strategiesByMember","offset":0,"slot":"269","type":"t_mapping(t_address,t_array(t_address)dyn_storage)"},{"astId":83234,"contract":"pkg/contracts/src/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"memberActivatedInStrategies","offset":0,"slot":"270","type":"t_mapping(t_address,t_mapping(t_address,t_bool))"},{"astId":83238,"contract":"pkg/contracts/src/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"initialMembers","offset":0,"slot":"271","type":"t_array(t_address)dyn_storage"},{"astId":85046,"contract":"pkg/contracts/src/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"__gap","offset":0,"slot":"272","type":"t_array(t_uint256)50_storage"}],"types":{"t_address":{"encoding":"inplace","label":"address","numberOfBytes":"20"},"t_address_payable":{"encoding":"inplace","label":"address payable","numberOfBytes":"20"},"t_array(t_address)dyn_storage":{"encoding":"dynamic_array","label":"address[]","numberOfBytes":"32","base":"t_address"},"t_array(t_uint256)49_storage":{"encoding":"inplace","label":"uint256[49]","numberOfBytes":"1568","base":"t_uint256"},"t_array(t_uint256)50_storage":{"encoding":"inplace","label":"uint256[50]","numberOfBytes":"1600","base":"t_uint256"},"t_bool":{"encoding":"inplace","label":"bool","numberOfBytes":"1"},"t_bytes32":{"encoding":"inplace","label":"bytes32","numberOfBytes":"32"},"t_contract(FAllo)85656":{"encoding":"inplace","label":"contract FAllo","numberOfBytes":"20"},"t_contract(IERC20)57069":{"encoding":"inplace","label":"contract IERC20","numberOfBytes":"20"},"t_contract(IRegistry)2802":{"encoding":"inplace","label":"contract IRegistry","numberOfBytes":"20"},"t_contract(ISafe)85665":{"encoding":"inplace","label":"contract ISafe","numberOfBytes":"20"},"t_mapping(t_address,t_array(t_address)dyn_storage)":{"encoding":"mapping","key":"t_address","label":"mapping(address => address[])","numberOfBytes":"32","value":"t_array(t_address)dyn_storage"},"t_mapping(t_address,t_bool)":{"encoding":"mapping","key":"t_address","label":"mapping(address => bool)","numberOfBytes":"32","value":"t_bool"},"t_mapping(t_address,t_mapping(t_address,t_bool))":{"encoding":"mapping","key":"t_address","label":"mapping(address => mapping(address => bool))","numberOfBytes":"32","value":"t_mapping(t_address,t_bool)"},"t_mapping(t_address,t_mapping(t_address,t_uint256))":{"encoding":"mapping","key":"t_address","label":"mapping(address => mapping(address => uint256))","numberOfBytes":"32","value":"t_mapping(t_address,t_uint256)"},"t_mapping(t_address,t_struct(Member)83482_storage)":{"encoding":"mapping","key":"t_address","label":"mapping(address => struct RegistryCommunityV0_0.Member)","numberOfBytes":"32","value":"t_struct(Member)83482_storage"},"t_mapping(t_address,t_uint256)":{"encoding":"mapping","key":"t_address","label":"mapping(address => uint256)","numberOfBytes":"32","value":"t_uint256"},"t_mapping(t_bytes32,t_struct(RoleData)52423_storage)":{"encoding":"mapping","key":"t_bytes32","label":"mapping(bytes32 => struct AccessControlUpgradeable.RoleData)","numberOfBytes":"32","value":"t_struct(RoleData)52423_storage"},"t_string_storage":{"encoding":"bytes","label":"string","numberOfBytes":"32"},"t_struct(Member)83482_storage":{"encoding":"inplace","label":"struct RegistryCommunityV0_0.Member","numberOfBytes":"96","members":[{"astId":83477,"contract":"pkg/contracts/src/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"member","offset":0,"slot":"0","type":"t_address"},{"astId":83479,"contract":"pkg/contracts/src/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"stakedAmount","offset":0,"slot":"1","type":"t_uint256"},{"astId":83481,"contract":"pkg/contracts/src/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"isRegistered","offset":0,"slot":"2","type":"t_bool"}]},"t_struct(RoleData)52423_storage":{"encoding":"inplace","label":"struct AccessControlUpgradeable.RoleData","numberOfBytes":"64","members":[{"astId":52420,"contract":"pkg/contracts/src/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"members","offset":0,"slot":"0","type":"t_mapping(t_address,t_bool)"},{"astId":52422,"contract":"pkg/contracts/src/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"adminRole","offset":0,"slot":"1","type":"t_bytes32"}]},"t_uint256":{"encoding":"inplace","label":"uint256","numberOfBytes":"32"},"t_uint8":{"encoding":"inplace","label":"uint8","numberOfBytes":"1"}}},"ast":{"absolutePath":"pkg/contracts/src/RegistryCommunityV0_0.sol","id":85048,"exportedSymbols":{"AccessControlUpgradeable":[52736],"CVStrategyV0_0":[80578],"Clone":[3002],"ERC165Checker":[58460],"ERC1967Proxy":[55562],"FAllo":[85656],"IAllo":[2610],"IERC20":[57069],"IPointStrategy":[77667],"IRegistry":[2802],"ISafe":[85665],"Metadata":[3098],"OwnableUpgradeable":[52942],"ReentrancyGuardUpgradeable":[53276],"RegistryCommunityV0_0":[85047],"RegistryFactory":[85283],"SafeERC20":[57506],"StrategyStruct":[77752],"UUPSUpgradeable":[56213],"Upgrades":[61717],"console":[29549]},"nodeType":"SourceUnit","src":"42:25374:134","nodes":[{"id":83084,"nodeType":"PragmaDirective","src":"42:24:134","nodes":[],"literals":["solidity","^","0.8",".19"]},{"id":83085,"nodeType":"ImportDirective","src":"68:31:134","nodes":[],"absolutePath":"lib/forge-std/src/console.sol","file":"forge-std/console.sol","nameLocation":"-1:-1:-1","scope":85048,"sourceUnit":29550,"symbolAliases":[],"unitAlias":""},{"id":83087,"nodeType":"ImportDirective","src":"101:70:134","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol","file":"@openzeppelin/contracts/token/ERC20/IERC20.sol","nameLocation":"-1:-1:-1","scope":85048,"sourceUnit":57070,"symbolAliases":[{"foreign":{"id":83086,"name":"IERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57069,"src":"109:6:134","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":83089,"nodeType":"ImportDirective","src":"172:82:134","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol","file":"@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol","nameLocation":"-1:-1:-1","scope":85048,"sourceUnit":57507,"symbolAliases":[{"foreign":{"id":83088,"name":"SafeERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57506,"src":"180:9:134","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":83091,"nodeType":"ImportDirective","src":"255:92:134","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol","file":"@openzeppelin/contracts/utils/introspection/ERC165Checker.sol","nameLocation":"-1:-1:-1","scope":85048,"sourceUnit":58461,"symbolAliases":[{"foreign":{"id":83090,"name":"ERC165Checker","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58460,"src":"263:13:134","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":83093,"nodeType":"ImportDirective","src":"348:88:134","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol","file":"@openzeppelin/contracts/proxy/utils/UUPSUpgradeable.sol","nameLocation":"-1:-1:-1","scope":85048,"sourceUnit":56214,"symbolAliases":[{"foreign":{"id":83092,"name":"UUPSUpgradeable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56213,"src":"356:15:134","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":83095,"nodeType":"ImportDirective","src":"438:110:134","nodes":[],"absolutePath":"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol","file":"openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol","nameLocation":"-1:-1:-1","scope":85048,"sourceUnit":52943,"symbolAliases":[{"foreign":{"id":83094,"name":"OwnableUpgradeable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52942,"src":"446:18:134","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":83097,"nodeType":"ImportDirective","src":"549:132:134","nodes":[],"absolutePath":"lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol","file":"openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol","nameLocation":"-1:-1:-1","scope":85048,"sourceUnit":53277,"symbolAliases":[{"foreign":{"id":83096,"name":"ReentrancyGuardUpgradeable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53276,"src":"557:26:134","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":83099,"nodeType":"ImportDirective","src":"682:126:134","nodes":[],"absolutePath":"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol","file":"openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol","nameLocation":"-1:-1:-1","scope":85048,"sourceUnit":52737,"symbolAliases":[{"foreign":{"id":83098,"name":"AccessControlUpgradeable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52736,"src":"690:24:134","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":83101,"nodeType":"ImportDirective","src":"810:66:134","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/interfaces/IAllo.sol","file":"allo-v2-contracts/core/interfaces/IAllo.sol","nameLocation":"-1:-1:-1","scope":85048,"sourceUnit":2611,"symbolAliases":[{"foreign":{"id":83100,"name":"IAllo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2610,"src":"818:5:134","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":83103,"nodeType":"ImportDirective","src":"877:65:134","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/libraries/Clone.sol","file":"allo-v2-contracts/core/libraries/Clone.sol","nameLocation":"-1:-1:-1","scope":85048,"sourceUnit":3003,"symbolAliases":[{"foreign":{"id":83102,"name":"Clone","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3002,"src":"885:5:134","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":83106,"nodeType":"ImportDirective","src":"943:84:134","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/interfaces/IRegistry.sol","file":"allo-v2-contracts/core/interfaces/IRegistry.sol","nameLocation":"-1:-1:-1","scope":85048,"sourceUnit":2803,"symbolAliases":[{"foreign":{"id":83104,"name":"IRegistry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2802,"src":"951:9:134","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":83105,"name":"Metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3098,"src":"962:8:134","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":83108,"nodeType":"ImportDirective","src":"1028:45:134","nodes":[],"absolutePath":"pkg/contracts/src/interfaces/FAllo.sol","file":"./interfaces/FAllo.sol","nameLocation":"-1:-1:-1","scope":85048,"sourceUnit":85657,"symbolAliases":[{"foreign":{"id":83107,"name":"FAllo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85656,"src":"1036:5:134","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":83110,"nodeType":"ImportDirective","src":"1074:45:134","nodes":[],"absolutePath":"pkg/contracts/src/interfaces/ISafe.sol","file":"./interfaces/ISafe.sol","nameLocation":"-1:-1:-1","scope":85048,"sourceUnit":85666,"symbolAliases":[{"foreign":{"id":83109,"name":"ISafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85665,"src":"1082:5:134","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":83112,"nodeType":"ImportDirective","src":"1120:54:134","nodes":[],"absolutePath":"pkg/contracts/src/RegistryFactory.sol","file":"./RegistryFactory.sol","nameLocation":"-1:-1:-1","scope":85048,"sourceUnit":85284,"symbolAliases":[{"foreign":{"id":83111,"name":"RegistryFactory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85283,"src":"1128:15:134","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":83116,"nodeType":"ImportDirective","src":"1175:84:134","nodes":[],"absolutePath":"pkg/contracts/src/CVStrategyV0_0.sol","file":"./CVStrategyV0_0.sol","nameLocation":"-1:-1:-1","scope":85048,"sourceUnit":80579,"symbolAliases":[{"foreign":{"id":83113,"name":"IPointStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77667,"src":"1183:14:134","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":83114,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77752,"src":"1199:14:134","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":83115,"name":"CVStrategyV0_0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80578,"src":"1215:14:134","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":83118,"nodeType":"ImportDirective","src":"1261:66:134","nodes":[],"absolutePath":"lib/openzeppelin-foundry-upgrades/src/LegacyUpgrades.sol","file":"@openzeppelin/foundry/LegacyUpgrades.sol","nameLocation":"-1:-1:-1","scope":85048,"sourceUnit":61838,"symbolAliases":[{"foreign":{"id":83117,"name":"Upgrades","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61717,"src":"1269:8:134","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":83120,"nodeType":"ImportDirective","src":"1329:84:134","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol","file":"@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.sol","nameLocation":"-1:-1:-1","scope":85048,"sourceUnit":55563,"symbolAliases":[{"foreign":{"id":83119,"name":"ERC1967Proxy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55562,"src":"1337:12:134","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":85047,"nodeType":"ContractDefinition","src":"1415:24000:134","nodes":[{"id":83131,"nodeType":"UsingForDirective","src":"1561:32:134","nodes":[],"global":false,"libraryName":{"id":83129,"name":"ERC165Checker","nameLocations":["1567:13:134"],"nodeType":"IdentifierPath","referencedDeclaration":58460,"src":"1567:13:134"},"typeName":{"id":83130,"name":"address","nodeType":"ElementaryTypeName","src":"1585:7:134","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}},{"id":83135,"nodeType":"UsingForDirective","src":"1598:27:134","nodes":[],"global":false,"libraryName":{"id":83132,"name":"SafeERC20","nameLocations":["1604:9:134"],"nodeType":"IdentifierPath","referencedDeclaration":57506,"src":"1604:9:134"},"typeName":{"id":83134,"nodeType":"UserDefinedTypeName","pathNode":{"id":83133,"name":"IERC20","nameLocations":["1618:6:134"],"nodeType":"IdentifierPath","referencedDeclaration":57069,"src":"1618:6:134"},"referencedDeclaration":57069,"src":"1618:6:134","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$57069","typeString":"contract IERC20"}}},{"id":83138,"nodeType":"UsingForDirective","src":"1630:24:134","nodes":[],"global":false,"libraryName":{"id":83136,"name":"Clone","nameLocations":["1636:5:134"],"nodeType":"IdentifierPath","referencedDeclaration":3002,"src":"1636:5:134"},"typeName":{"id":83137,"name":"address","nodeType":"ElementaryTypeName","src":"1646:7:134","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}},{"id":83142,"nodeType":"VariableDeclaration","src":"1740:75:134","nodes":[],"constant":true,"documentation":{"id":83139,"nodeType":"StructuredDocumentation","src":"1660:75:134","text":"@notice The native address to represent native token eg: ETH in mainnet"},"functionSelector":"a0cf0aea","mutability":"constant","name":"NATIVE","nameLocation":"1764:6:134","scope":85047,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":83140,"name":"address","nodeType":"ElementaryTypeName","src":"1740:7:134","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":{"hexValue":"307845656565654565656545654565654565456545656545454565656565456565656565656545456545","id":83141,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1773:42:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE"},"visibility":"public"},{"id":83148,"nodeType":"VariableDeclaration","src":"1905:49:134","nodes":[],"constant":true,"documentation":{"id":83143,"nodeType":"StructuredDocumentation","src":"1821:79:134","text":"@notice The precision scale used in the contract to avoid loss of precision"},"functionSelector":"d7050f07","mutability":"constant","name":"PRECISION_SCALE","nameLocation":"1929:15:134","scope":85047,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":83144,"name":"uint256","nodeType":"ElementaryTypeName","src":"1905:7:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"commonType":{"typeIdentifier":"t_rational_10000_by_1","typeString":"int_const 10000"},"id":83147,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":83145,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1947:2:134","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"34","id":83146,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1953:1:134","typeDescriptions":{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},"value":"4"},"src":"1947:7:134","typeDescriptions":{"typeIdentifier":"t_rational_10000_by_1","typeString":"int_const 10000"}},"visibility":"public"},{"id":83154,"nodeType":"VariableDeclaration","src":"2029:54:134","nodes":[],"constant":true,"documentation":{"id":83149,"nodeType":"StructuredDocumentation","src":"1960:64:134","text":"@notice The maximum fee that can be charged to the community"},"functionSelector":"bc063e1a","mutability":"constant","name":"MAX_FEE","nameLocation":"2053:7:134","scope":85047,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":83150,"name":"uint256","nodeType":"ElementaryTypeName","src":"2029:7:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":83153,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":83151,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2063:2:134","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":83152,"name":"PRECISION_SCALE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83148,"src":"2068:15:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2063:20:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"id":83157,"nodeType":"VariableDeclaration","src":"2141:25:134","nodes":[],"constant":false,"documentation":{"id":83155,"nodeType":"StructuredDocumentation","src":"2090:46:134","text":"@notice Enable or disable the kick feature"},"functionSelector":"1f787d28","mutability":"mutable","name":"isKickEnabled","nameLocation":"2153:13:134","scope":85047,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":83156,"name":"bool","nodeType":"ElementaryTypeName","src":"2141:4:134","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"public"},{"id":83160,"nodeType":"VariableDeclaration","src":"2240:34:134","nodes":[],"constant":false,"documentation":{"id":83158,"nodeType":"StructuredDocumentation","src":"2173:62:134","text":"@notice The amount of tokens required to register a member"},"functionSelector":"78a0b8a9","mutability":"mutable","name":"registerStakeAmount","nameLocation":"2255:19:134","scope":85047,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":83159,"name":"uint256","nodeType":"ElementaryTypeName","src":"2240:7:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"id":83163,"nodeType":"VariableDeclaration","src":"2351:27:134","nodes":[],"constant":false,"documentation":{"id":83161,"nodeType":"StructuredDocumentation","src":"2280:66:134","text":"@notice The fee charged to the community for each registration"},"functionSelector":"8961be6b","mutability":"mutable","name":"communityFee","nameLocation":"2366:12:134","scope":85047,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":83162,"name":"uint256","nodeType":"ElementaryTypeName","src":"2351:7:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"id":83166,"nodeType":"VariableDeclaration","src":"2452:24:134","nodes":[],"constant":false,"documentation":{"id":83164,"nodeType":"StructuredDocumentation","src":"2384:63:134","text":"@notice The profileId of the community in the Allo Registry"},"functionSelector":"08386eba","mutability":"mutable","name":"profileId","nameLocation":"2467:9:134","scope":85047,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":83165,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2452:7:134","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"public"},{"id":83169,"nodeType":"VariableDeclaration","src":"2543:26:134","nodes":[],"constant":false,"documentation":{"id":83167,"nodeType":"StructuredDocumentation","src":"2483:55:134","text":"@notice The address that receives the community fee"},"functionSelector":"b3f00674","mutability":"mutable","name":"feeReceiver","nameLocation":"2558:11:134","scope":85047,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":83168,"name":"address","nodeType":"ElementaryTypeName","src":"2543:7:134","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"public"},{"id":83172,"nodeType":"VariableDeclaration","src":"2627:30:134","nodes":[],"constant":false,"documentation":{"id":83170,"nodeType":"StructuredDocumentation","src":"2575:47:134","text":"@notice The address of the registry factory"},"functionSelector":"f86c5f89","mutability":"mutable","name":"registryFactory","nameLocation":"2642:15:134","scope":85047,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":83171,"name":"address","nodeType":"ElementaryTypeName","src":"2627:7:134","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"public"},{"id":83175,"nodeType":"VariableDeclaration","src":"2716:31:134","nodes":[],"constant":false,"documentation":{"id":83173,"nodeType":"StructuredDocumentation","src":"2663:48:134","text":"@notice The address of the strategy template"},"functionSelector":"5c94e4d2","mutability":"mutable","name":"strategyTemplate","nameLocation":"2731:16:134","scope":85047,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":83174,"name":"address","nodeType":"ElementaryTypeName","src":"2716:7:134","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"public"},{"id":83178,"nodeType":"VariableDeclaration","src":"2814:25:134","nodes":[],"constant":false,"documentation":{"id":83176,"nodeType":"StructuredDocumentation","src":"2753:56:134","text":"@notice The nonce used to create new strategy clones"},"functionSelector":"33960459","mutability":"mutable","name":"cloneNonce","nameLocation":"2829:10:134","scope":85047,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":83177,"name":"uint256","nodeType":"ElementaryTypeName","src":"2814:7:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"id":83181,"nodeType":"VariableDeclaration","src":"2907:41:134","nodes":[],"constant":false,"documentation":{"id":83179,"nodeType":"StructuredDocumentation","src":"2845:57:134","text":"@notice The address of the pending council safe owner"},"functionSelector":"68decabb","mutability":"mutable","name":"pendingCouncilSafe","nameLocation":"2930:18:134","scope":85047,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"},"typeName":{"id":83180,"name":"address","nodeType":"ElementaryTypeName","src":"2907:15:134","stateMutability":"payable","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"visibility":"public"},{"id":83185,"nodeType":"VariableDeclaration","src":"2998:25:134","nodes":[],"constant":false,"documentation":{"id":83182,"nodeType":"StructuredDocumentation","src":"2955:38:134","text":"@notice The Registry Allo contract"},"functionSelector":"7b103999","mutability":"mutable","name":"registry","nameLocation":"3015:8:134","scope":85047,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"},"typeName":{"id":83184,"nodeType":"UserDefinedTypeName","pathNode":{"id":83183,"name":"IRegistry","nameLocations":["2998:9:134"],"nodeType":"IdentifierPath","referencedDeclaration":2802,"src":"2998:9:134"},"referencedDeclaration":2802,"src":"2998:9:134","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"}},"visibility":"public"},{"id":83189,"nodeType":"VariableDeclaration","src":"3086:25:134","nodes":[],"constant":false,"documentation":{"id":83186,"nodeType":"StructuredDocumentation","src":"3029:52:134","text":"@notice The token used to stake in the community"},"functionSelector":"db61d65c","mutability":"mutable","name":"gardenToken","nameLocation":"3100:11:134","scope":85047,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$57069","typeString":"contract IERC20"},"typeName":{"id":83188,"nodeType":"UserDefinedTypeName","pathNode":{"id":83187,"name":"IERC20","nameLocations":["3086:6:134"],"nodeType":"IdentifierPath","referencedDeclaration":57069,"src":"3086:6:134"},"referencedDeclaration":57069,"src":"3086:6:134","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$57069","typeString":"contract IERC20"}},"visibility":"public"},{"id":83193,"nodeType":"VariableDeclaration","src":"3167:24:134","nodes":[],"constant":false,"documentation":{"id":83190,"nodeType":"StructuredDocumentation","src":"3117:45:134","text":"@notice The council safe contract address"},"functionSelector":"6c53db9a","mutability":"mutable","name":"councilSafe","nameLocation":"3180:11:134","scope":85047,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_ISafe_$85665","typeString":"contract ISafe"},"typeName":{"id":83192,"nodeType":"UserDefinedTypeName","pathNode":{"id":83191,"name":"ISafe","nameLocations":["3167:5:134"],"nodeType":"IdentifierPath","referencedDeclaration":85665,"src":"3167:5:134"},"referencedDeclaration":85665,"src":"3167:5:134","typeDescriptions":{"typeIdentifier":"t_contract$_ISafe_$85665","typeString":"contract ISafe"}},"visibility":"public"},{"id":83197,"nodeType":"VariableDeclaration","src":"3239:17:134","nodes":[],"constant":false,"documentation":{"id":83194,"nodeType":"StructuredDocumentation","src":"3197:37:134","text":"@notice The Allo contract address"},"functionSelector":"d6d8428d","mutability":"mutable","name":"allo","nameLocation":"3252:4:134","scope":85047,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_FAllo_$85656","typeString":"contract FAllo"},"typeName":{"id":83196,"nodeType":"UserDefinedTypeName","pathNode":{"id":83195,"name":"FAllo","nameLocations":["3239:5:134"],"nodeType":"IdentifierPath","referencedDeclaration":85656,"src":"3239:5:134"},"referencedDeclaration":85656,"src":"3239:5:134","typeDescriptions":{"typeIdentifier":"t_contract$_FAllo_$85656","typeString":"contract FAllo"}},"visibility":"public"},{"id":83200,"nodeType":"VariableDeclaration","src":"3298:27:134","nodes":[],"constant":false,"documentation":{"id":83198,"nodeType":"StructuredDocumentation","src":"3263:30:134","text":"@notice The community name"},"functionSelector":"c6d572ae","mutability":"mutable","name":"communityName","nameLocation":"3312:13:134","scope":85047,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string"},"typeName":{"id":83199,"name":"string","nodeType":"ElementaryTypeName","src":"3298:6:134","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"public"},{"id":83203,"nodeType":"VariableDeclaration","src":"3383:30:134","nodes":[],"constant":false,"documentation":{"id":83201,"nodeType":"StructuredDocumentation","src":"3331:47:134","text":"@notice The covenant IPFS hash of community"},"functionSelector":"b64e39af","mutability":"mutable","name":"covenantIpfsHash","nameLocation":"3397:16:134","scope":85047,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string"},"typeName":{"id":83202,"name":"string","nodeType":"ElementaryTypeName","src":"3383:6:134","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"public"},{"id":83208,"nodeType":"VariableDeclaration","src":"3529:68:134","nodes":[],"constant":false,"documentation":{"id":83204,"nodeType":"StructuredDocumentation","src":"3477:47:134","text":"@notice List of enabled/disabled strategies"},"functionSelector":"3a871fe1","mutability":"mutable","name":"enabledStrategies","nameLocation":"3580:17:134","scope":85047,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"},"typeName":{"id":83207,"keyName":"strategy","keyNameLocation":"3545:8:134","keyType":{"id":83205,"name":"address","nodeType":"ElementaryTypeName","src":"3537:7:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"3529:43:134","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"},"valueName":"isEnabled","valueNameLocation":"3562:9:134","valueType":{"id":83206,"name":"bool","nodeType":"ElementaryTypeName","src":"3557:4:134","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}},"visibility":"public"},{"id":83215,"nodeType":"VariableDeclaration","src":"3665:98:134","nodes":[],"constant":false,"documentation":{"id":83209,"nodeType":"StructuredDocumentation","src":"3603:57:134","text":"@notice Power points for each member in each strategy"},"functionSelector":"65e3864c","mutability":"mutable","name":"memberPowerInStrategy","nameLocation":"3742:21:134","scope":85047,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"},"typeName":{"id":83214,"keyName":"strategy","keyNameLocation":"3681:8:134","keyType":{"id":83210,"name":"address","nodeType":"ElementaryTypeName","src":"3673:7:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"3665:69:134","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":83213,"keyName":"member","keyNameLocation":"3709:6:134","keyType":{"id":83211,"name":"address","nodeType":"ElementaryTypeName","src":"3701:7:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"3693:40:134","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"valueName":"power","valueNameLocation":"3727:5:134","valueType":{"id":83212,"name":"uint256","nodeType":"ElementaryTypeName","src":"3719:7:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}}},"visibility":"public"},{"id":83221,"nodeType":"VariableDeclaration","src":"3863:60:134","nodes":[],"constant":false,"documentation":{"id":83216,"nodeType":"StructuredDocumentation","src":"3769:89:134","text":"@notice Member information as the staked amount and if is registered in the community"},"functionSelector":"88cfe684","mutability":"mutable","name":"addressToMemberInfo","nameLocation":"3904:19:134","scope":85047,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Member_$83482_storage_$","typeString":"mapping(address => struct RegistryCommunityV0_0.Member)"},"typeName":{"id":83220,"keyName":"member","keyNameLocation":"3879:6:134","keyType":{"id":83217,"name":"address","nodeType":"ElementaryTypeName","src":"3871:7:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"3863:33:134","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Member_$83482_storage_$","typeString":"mapping(address => struct RegistryCommunityV0_0.Member)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":83219,"nodeType":"UserDefinedTypeName","pathNode":{"id":83218,"name":"Member","nameLocations":["3889:6:134"],"nodeType":"IdentifierPath","referencedDeclaration":83482,"src":"3889:6:134"},"referencedDeclaration":83482,"src":"3889:6:134","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$83482_storage_ptr","typeString":"struct RegistryCommunityV0_0.Member"}}},"visibility":"public"},{"id":83227,"nodeType":"VariableDeclaration","src":"3994:82:134","nodes":[],"constant":false,"documentation":{"id":83222,"nodeType":"StructuredDocumentation","src":"3929:60:134","text":"@notice List of strategies for each member are activated"},"functionSelector":"2b38c69c","mutability":"mutable","name":"strategiesByMember","nameLocation":"4058:18:134","scope":85047,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_address_$dyn_storage_$","typeString":"mapping(address => address[])"},"typeName":{"id":83226,"keyName":"member","keyNameLocation":"4010:6:134","keyType":{"id":83223,"name":"address","nodeType":"ElementaryTypeName","src":"4002:7:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"3994:56:134","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_address_$dyn_storage_$","typeString":"mapping(address => address[])"},"valueName":"strategiesAddresses","valueNameLocation":"4030:19:134","valueType":{"baseType":{"id":83224,"name":"address","nodeType":"ElementaryTypeName","src":"4020:7:134","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":83225,"nodeType":"ArrayTypeName","src":"4020:9:134","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}}},"visibility":"public"},{"id":83234,"nodeType":"VariableDeclaration","src":"4154:107:134","nodes":[],"constant":false,"documentation":{"id":83228,"nodeType":"StructuredDocumentation","src":"4082:67:134","text":"@notice Mapping to check if a member is activated in a strategy"},"functionSelector":"477a5cc0","mutability":"mutable","name":"memberActivatedInStrategies","nameLocation":"4234:27:134","scope":85047,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$","typeString":"mapping(address => mapping(address => bool))"},"typeName":{"id":83233,"keyName":"member","keyNameLocation":"4170:6:134","keyType":{"id":83229,"name":"address","nodeType":"ElementaryTypeName","src":"4162:7:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"4154:72:134","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$","typeString":"mapping(address => mapping(address => bool))"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":83232,"keyName":"strategy","keyNameLocation":"4196:8:134","keyType":{"id":83230,"name":"address","nodeType":"ElementaryTypeName","src":"4188:7:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"4180:45:134","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"},"valueName":"isActivated","valueNameLocation":"4213:11:134","valueType":{"id":83231,"name":"bool","nodeType":"ElementaryTypeName","src":"4208:4:134","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}}},"visibility":"public"},{"id":83238,"nodeType":"VariableDeclaration","src":"4354:24:134","nodes":[],"constant":false,"documentation":{"id":83235,"nodeType":"StructuredDocumentation","src":"4268:81:134","text":"@notice List of initial members to be added as pool managers in the Allo Pool"},"mutability":"mutable","name":"initialMembers","nameLocation":"4364:14:134","scope":85047,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[]"},"typeName":{"baseType":{"id":83236,"name":"address","nodeType":"ElementaryTypeName","src":"4354:7:134","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":83237,"nodeType":"ArrayTypeName","src":"4354:9:134","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"id":83244,"nodeType":"VariableDeclaration","src":"4595:68:134","nodes":[],"constant":true,"documentation":{"id":83239,"nodeType":"StructuredDocumentation","src":"4550:40:134","text":"@notice Role to council safe members"},"functionSelector":"733a2d1f","mutability":"constant","name":"COUNCIL_MEMBER","nameLocation":"4619:14:134","scope":85047,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":83240,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4595:7:134","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"arguments":[{"hexValue":"434f554e43494c5f4d454d424552","id":83242,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4646:16:134","typeDescriptions":{"typeIdentifier":"t_stringliteral_03be538b6391ddcd7f2649585cc95b120c9e2a613f70714fbb55345057d809fa","typeString":"literal_string \"COUNCIL_MEMBER\""},"value":"COUNCIL_MEMBER"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_03be538b6391ddcd7f2649585cc95b120c9e2a613f70714fbb55345057d809fa","typeString":"literal_string \"COUNCIL_MEMBER\""}],"id":83241,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"4636:9:134","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":83243,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4636:27:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"public"},{"id":83248,"nodeType":"EventDefinition","src":"4836:29:134","nodes":[],"anonymous":false,"eventSelector":"aaded18d4d508696508b945d03ff3d168110dbb73e17aeda699745655fa958d2","name":"AlloSet","nameLocation":"4842:7:134","parameters":{"id":83247,"nodeType":"ParameterList","parameters":[{"constant":false,"id":83246,"indexed":false,"mutability":"mutable","name":"_allo","nameLocation":"4858:5:134","nodeType":"VariableDeclaration","scope":83248,"src":"4850:13:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":83245,"name":"address","nodeType":"ElementaryTypeName","src":"4850:7:134","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4849:15:134"}},{"id":83252,"nodeType":"EventDefinition","src":"4870:36:134","nodes":[],"anonymous":false,"eventSelector":"ad0399dc40331b9a4977aa89da7a164a3fd482c65e6da73b25a94ea74fb68872","name":"CouncilSafeSet","nameLocation":"4876:14:134","parameters":{"id":83251,"nodeType":"ParameterList","parameters":[{"constant":false,"id":83250,"indexed":false,"mutability":"mutable","name":"_safe","nameLocation":"4899:5:134","nodeType":"VariableDeclaration","scope":83252,"src":"4891:13:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":83249,"name":"address","nodeType":"ElementaryTypeName","src":"4891:7:134","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4890:15:134"}},{"id":83258,"nodeType":"EventDefinition","src":"4911:74:134","nodes":[],"anonymous":false,"eventSelector":"83eac9fdaff0ac1017624b7eddeb9782e3d707cd894073cb7e8301a41c6e5cf8","name":"CouncilSafeChangeStarted","nameLocation":"4917:24:134","parameters":{"id":83257,"nodeType":"ParameterList","parameters":[{"constant":false,"id":83254,"indexed":false,"mutability":"mutable","name":"_safeOwner","nameLocation":"4950:10:134","nodeType":"VariableDeclaration","scope":83258,"src":"4942:18:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":83253,"name":"address","nodeType":"ElementaryTypeName","src":"4942:7:134","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":83256,"indexed":false,"mutability":"mutable","name":"_newSafeOwner","nameLocation":"4970:13:134","nodeType":"VariableDeclaration","scope":83258,"src":"4962:21:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":83255,"name":"address","nodeType":"ElementaryTypeName","src":"4962:7:134","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4941:43:134"}},{"id":83264,"nodeType":"EventDefinition","src":"4990:63:134","nodes":[],"anonymous":false,"eventSelector":"67e0244e28040fec15240cd4b6c04c776a2a0278caef23b59e8ada1df31f7689","name":"MemberRegistered","nameLocation":"4996:16:134","parameters":{"id":83263,"nodeType":"ParameterList","parameters":[{"constant":false,"id":83260,"indexed":false,"mutability":"mutable","name":"_member","nameLocation":"5021:7:134","nodeType":"VariableDeclaration","scope":83264,"src":"5013:15:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":83259,"name":"address","nodeType":"ElementaryTypeName","src":"5013:7:134","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":83262,"indexed":false,"mutability":"mutable","name":"_amountStaked","nameLocation":"5038:13:134","nodeType":"VariableDeclaration","scope":83264,"src":"5030:21:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":83261,"name":"uint256","nodeType":"ElementaryTypeName","src":"5030:7:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5012:40:134"}},{"id":83270,"nodeType":"EventDefinition","src":"5058:67:134","nodes":[],"anonymous":false,"eventSelector":"a13f4668aacb68c4e9eed8e3f6e1cbec3eca776896ec46b5eabcc3983fc8f5f4","name":"MemberUnregistered","nameLocation":"5064:18:134","parameters":{"id":83269,"nodeType":"ParameterList","parameters":[{"constant":false,"id":83266,"indexed":false,"mutability":"mutable","name":"_member","nameLocation":"5091:7:134","nodeType":"VariableDeclaration","scope":83270,"src":"5083:15:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":83265,"name":"address","nodeType":"ElementaryTypeName","src":"5083:7:134","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":83268,"indexed":false,"mutability":"mutable","name":"_amountReturned","nameLocation":"5108:15:134","nodeType":"VariableDeclaration","scope":83270,"src":"5100:23:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":83267,"name":"uint256","nodeType":"ElementaryTypeName","src":"5100:7:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5082:42:134"}},{"id":83278,"nodeType":"EventDefinition","src":"5130:87:134","nodes":[],"anonymous":false,"eventSelector":"b5946f249f8744efe9d14d49a483b54a589b1362944ff6694de93456cceb96a3","name":"MemberKicked","nameLocation":"5136:12:134","parameters":{"id":83277,"nodeType":"ParameterList","parameters":[{"constant":false,"id":83272,"indexed":false,"mutability":"mutable","name":"_member","nameLocation":"5157:7:134","nodeType":"VariableDeclaration","scope":83278,"src":"5149:15:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":83271,"name":"address","nodeType":"ElementaryTypeName","src":"5149:7:134","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":83274,"indexed":false,"mutability":"mutable","name":"_transferAddress","nameLocation":"5174:16:134","nodeType":"VariableDeclaration","scope":83278,"src":"5166:24:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":83273,"name":"address","nodeType":"ElementaryTypeName","src":"5166:7:134","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":83276,"indexed":false,"mutability":"mutable","name":"_amountReturned","nameLocation":"5200:15:134","nodeType":"VariableDeclaration","scope":83278,"src":"5192:23:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":83275,"name":"uint256","nodeType":"ElementaryTypeName","src":"5192:7:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5148:68:134"}},{"id":83282,"nodeType":"EventDefinition","src":"5222:43:134","nodes":[],"anonymous":false,"eventSelector":"611668bfcf654a99c33cdb66c29ec37a5aae5c1287d2d9715a24e18cb4d806d6","name":"CommunityFeeUpdated","nameLocation":"5228:19:134","parameters":{"id":83281,"nodeType":"ParameterList","parameters":[{"constant":false,"id":83280,"indexed":false,"mutability":"mutable","name":"_newFee","nameLocation":"5256:7:134","nodeType":"VariableDeclaration","scope":83282,"src":"5248:15:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":83279,"name":"uint256","nodeType":"ElementaryTypeName","src":"5248:7:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5247:17:134"}},{"id":83291,"nodeType":"EventDefinition","src":"5270:89:134","nodes":[],"anonymous":false,"eventSelector":"2f2ffcb06f8a1d35e2716f6b43ef2c19bfa76467d8f66964ae12c2583ed03205","name":"RegistryInitialized","nameLocation":"5276:19:134","parameters":{"id":83290,"nodeType":"ParameterList","parameters":[{"constant":false,"id":83284,"indexed":false,"mutability":"mutable","name":"_profileId","nameLocation":"5304:10:134","nodeType":"VariableDeclaration","scope":83291,"src":"5296:18:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":83283,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5296:7:134","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":83286,"indexed":false,"mutability":"mutable","name":"_communityName","nameLocation":"5323:14:134","nodeType":"VariableDeclaration","scope":83291,"src":"5316:21:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":83285,"name":"string","nodeType":"ElementaryTypeName","src":"5316:6:134","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":83289,"indexed":false,"mutability":"mutable","name":"_metadata","nameLocation":"5348:9:134","nodeType":"VariableDeclaration","scope":83291,"src":"5339:18:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata"},"typeName":{"id":83288,"nodeType":"UserDefinedTypeName","pathNode":{"id":83287,"name":"Metadata","nameLocations":["5339:8:134"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"5339:8:134"},"referencedDeclaration":3098,"src":"5339:8:134","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"}],"src":"5295:63:134"}},{"id":83295,"nodeType":"EventDefinition","src":"5364:39:134","nodes":[],"anonymous":false,"eventSelector":"3f008fd510eae7a9e7bee13513d7b83bef8003d488b5a3d0b0da4de71d6846f1","name":"StrategyAdded","nameLocation":"5370:13:134","parameters":{"id":83294,"nodeType":"ParameterList","parameters":[{"constant":false,"id":83293,"indexed":false,"mutability":"mutable","name":"_strategy","nameLocation":"5392:9:134","nodeType":"VariableDeclaration","scope":83295,"src":"5384:17:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":83292,"name":"address","nodeType":"ElementaryTypeName","src":"5384:7:134","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5383:19:134"}},{"id":83299,"nodeType":"EventDefinition","src":"5408:41:134","nodes":[],"anonymous":false,"eventSelector":"09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea4","name":"StrategyRemoved","nameLocation":"5414:15:134","parameters":{"id":83298,"nodeType":"ParameterList","parameters":[{"constant":false,"id":83297,"indexed":false,"mutability":"mutable","name":"_strategy","nameLocation":"5438:9:134","nodeType":"VariableDeclaration","scope":83299,"src":"5430:17:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":83296,"name":"address","nodeType":"ElementaryTypeName","src":"5430:7:134","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5429:19:134"}},{"id":83307,"nodeType":"EventDefinition","src":"5454:93:134","nodes":[],"anonymous":false,"eventSelector":"f56fa57e85e169a12200d12d9921ec069b52e688f6d309d9dab7bceff54614ec","name":"MemberActivatedStrategy","nameLocation":"5460:23:134","parameters":{"id":83306,"nodeType":"ParameterList","parameters":[{"constant":false,"id":83301,"indexed":false,"mutability":"mutable","name":"_member","nameLocation":"5492:7:134","nodeType":"VariableDeclaration","scope":83307,"src":"5484:15:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":83300,"name":"address","nodeType":"ElementaryTypeName","src":"5484:7:134","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":83303,"indexed":false,"mutability":"mutable","name":"_strategy","nameLocation":"5509:9:134","nodeType":"VariableDeclaration","scope":83307,"src":"5501:17:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":83302,"name":"address","nodeType":"ElementaryTypeName","src":"5501:7:134","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":83305,"indexed":false,"mutability":"mutable","name":"_pointsToIncrease","nameLocation":"5528:17:134","nodeType":"VariableDeclaration","scope":83307,"src":"5520:25:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":83304,"name":"uint256","nodeType":"ElementaryTypeName","src":"5520:7:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5483:63:134"}},{"id":83313,"nodeType":"EventDefinition","src":"5552:68:134","nodes":[],"anonymous":false,"eventSelector":"00de109bef4619f7e2cf00c8e5a50ca55f8deb44f87087eed414a91dbf8d1d1b","name":"MemberDeactivatedStrategy","nameLocation":"5558:25:134","parameters":{"id":83312,"nodeType":"ParameterList","parameters":[{"constant":false,"id":83309,"indexed":false,"mutability":"mutable","name":"_member","nameLocation":"5592:7:134","nodeType":"VariableDeclaration","scope":83313,"src":"5584:15:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":83308,"name":"address","nodeType":"ElementaryTypeName","src":"5584:7:134","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":83311,"indexed":false,"mutability":"mutable","name":"_strategy","nameLocation":"5609:9:134","nodeType":"VariableDeclaration","scope":83313,"src":"5601:17:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":83310,"name":"address","nodeType":"ElementaryTypeName","src":"5601:7:134","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5583:36:134"}},{"id":83317,"nodeType":"EventDefinition","src":"5625:47:134","nodes":[],"anonymous":false,"eventSelector":"5bcc2c453001fb0e2ba6266d56ecb411e7c6e15c8f9c3d301f93dd36ad25726f","name":"BasisStakedAmountSet","nameLocation":"5631:20:134","parameters":{"id":83316,"nodeType":"ParameterList","parameters":[{"constant":false,"id":83315,"indexed":false,"mutability":"mutable","name":"_newAmount","nameLocation":"5660:10:134","nodeType":"VariableDeclaration","scope":83317,"src":"5652:18:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":83314,"name":"uint256","nodeType":"ElementaryTypeName","src":"5652:7:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5651:20:134"}},{"id":83323,"nodeType":"EventDefinition","src":"5677:67:134","nodes":[],"anonymous":false,"eventSelector":"576605f9bfe8911e7508bed3763c7c5c8eb3b86e8b360b90a4bc6abe1104cb7f","name":"MemberPowerIncreased","nameLocation":"5683:20:134","parameters":{"id":83322,"nodeType":"ParameterList","parameters":[{"constant":false,"id":83319,"indexed":false,"mutability":"mutable","name":"_member","nameLocation":"5712:7:134","nodeType":"VariableDeclaration","scope":83323,"src":"5704:15:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":83318,"name":"address","nodeType":"ElementaryTypeName","src":"5704:7:134","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":83321,"indexed":false,"mutability":"mutable","name":"_stakedAmount","nameLocation":"5729:13:134","nodeType":"VariableDeclaration","scope":83323,"src":"5721:21:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":83320,"name":"uint256","nodeType":"ElementaryTypeName","src":"5721:7:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5703:40:134"}},{"id":83329,"nodeType":"EventDefinition","src":"5749:69:134","nodes":[],"anonymous":false,"eventSelector":"6ee2c70b2d6b89ae808a2313aab43e925c06624271419cd665d85cfa1ae04ff8","name":"MemberPowerDecreased","nameLocation":"5755:20:134","parameters":{"id":83328,"nodeType":"ParameterList","parameters":[{"constant":false,"id":83325,"indexed":false,"mutability":"mutable","name":"_member","nameLocation":"5784:7:134","nodeType":"VariableDeclaration","scope":83329,"src":"5776:15:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":83324,"name":"address","nodeType":"ElementaryTypeName","src":"5776:7:134","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":83327,"indexed":false,"mutability":"mutable","name":"_unstakedAmount","nameLocation":"5801:15:134","nodeType":"VariableDeclaration","scope":83329,"src":"5793:23:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":83326,"name":"uint256","nodeType":"ElementaryTypeName","src":"5793:7:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5775:42:134"}},{"id":83342,"nodeType":"EventDefinition","src":"5823:110:134","nodes":[],"anonymous":false,"eventSelector":"778cac0ae0b66477341553a4a89398c61ccf448313d3354ad0ca85a5a825d283","name":"PoolCreated","nameLocation":"5829:11:134","parameters":{"id":83341,"nodeType":"ParameterList","parameters":[{"constant":false,"id":83331,"indexed":false,"mutability":"mutable","name":"_poolId","nameLocation":"5849:7:134","nodeType":"VariableDeclaration","scope":83342,"src":"5841:15:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":83330,"name":"uint256","nodeType":"ElementaryTypeName","src":"5841:7:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":83333,"indexed":false,"mutability":"mutable","name":"_strategy","nameLocation":"5866:9:134","nodeType":"VariableDeclaration","scope":83342,"src":"5858:17:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":83332,"name":"address","nodeType":"ElementaryTypeName","src":"5858:7:134","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":83335,"indexed":false,"mutability":"mutable","name":"_community","nameLocation":"5885:10:134","nodeType":"VariableDeclaration","scope":83342,"src":"5877:18:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":83334,"name":"address","nodeType":"ElementaryTypeName","src":"5877:7:134","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":83337,"indexed":false,"mutability":"mutable","name":"_token","nameLocation":"5905:6:134","nodeType":"VariableDeclaration","scope":83342,"src":"5897:14:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":83336,"name":"address","nodeType":"ElementaryTypeName","src":"5897:7:134","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":83340,"indexed":false,"mutability":"mutable","name":"_metadata","nameLocation":"5922:9:134","nodeType":"VariableDeclaration","scope":83342,"src":"5913:18:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata"},"typeName":{"id":83339,"nodeType":"UserDefinedTypeName","pathNode":{"id":83338,"name":"Metadata","nameLocations":["5913:8:134"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"5913:8:134"},"referencedDeclaration":3098,"src":"5913:8:134","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"}],"src":"5840:92:134"}},{"id":83357,"nodeType":"FunctionDefinition","src":"6104:148:134","nodes":[],"body":{"id":83356,"nodeType":"Block","src":"6144:108:134","nodes":[],"statements":[{"condition":{"id":83350,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"6158:36:134","subExpression":{"arguments":[{"id":83346,"name":"COUNCIL_MEMBER","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83244,"src":"6167:14:134","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"expression":{"id":83347,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"6183:3:134","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":83348,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6187:6:134","memberName":"sender","nodeType":"MemberAccess","src":"6183:10:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":83345,"name":"hasRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52495,"src":"6159:7:134","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) view returns (bool)"}},"id":83349,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6159:35:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":83355,"nodeType":"IfStatement","src":"6154:92:134","trueBody":{"id":83354,"nodeType":"Block","src":"6196:50:134","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":83351,"name":"UserNotInCouncil","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83441,"src":"6217:16:134","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":83352,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6217:18:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":83353,"nodeType":"RevertStatement","src":"6210:25:134"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"onlyCouncilSafe","nameLocation":"6113:15:134","parameters":{"id":83343,"nodeType":"ParameterList","parameters":[],"src":"6128:2:134"},"returnParameters":{"id":83344,"nodeType":"ParameterList","parameters":[],"src":"6144:0:134"},"scope":85047,"stateMutability":"view","virtual":false,"visibility":"private"},{"id":83371,"nodeType":"FunctionDefinition","src":"6258:143:134","nodes":[],"body":{"id":83370,"nodeType":"Block","src":"6307:94:134","nodes":[],"statements":[{"condition":{"id":83364,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"6321:21:134","subExpression":{"arguments":[{"expression":{"id":83361,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"6331:3:134","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":83362,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6335:6:134","memberName":"sender","nodeType":"MemberAccess","src":"6331:10:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":83360,"name":"isMember","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84615,"src":"6322:8:134","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":83363,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6322:20:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":83369,"nodeType":"IfStatement","src":"6317:78:134","trueBody":{"id":83368,"nodeType":"Block","src":"6344:51:134","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":83365,"name":"UserNotInRegistry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83443,"src":"6365:17:134","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":83366,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6365:19:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":83367,"nodeType":"RevertStatement","src":"6358:26:134"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"onlyRegistryMemberSender","nameLocation":"6267:24:134","parameters":{"id":83358,"nodeType":"ParameterList","parameters":[],"src":"6291:2:134"},"returnParameters":{"id":83359,"nodeType":"ParameterList","parameters":[],"src":"6307:0:134"},"scope":85047,"stateMutability":"view","virtual":false,"visibility":"private"},{"id":83386,"nodeType":"FunctionDefinition","src":"6407:156:134","nodes":[],"body":{"id":83385,"nodeType":"Block","src":"6472:91:134","nodes":[],"statements":[{"condition":{"id":83379,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"6486:18:134","subExpression":{"arguments":[{"id":83377,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83373,"src":"6496:7:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":83376,"name":"isMember","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84615,"src":"6487:8:134","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":83378,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6487:17:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":83384,"nodeType":"IfStatement","src":"6482:75:134","trueBody":{"id":83383,"nodeType":"Block","src":"6506:51:134","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":83380,"name":"UserNotInRegistry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83443,"src":"6527:17:134","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":83381,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6527:19:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":83382,"nodeType":"RevertStatement","src":"6520:26:134"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"onlyRegistryMemberAddress","nameLocation":"6416:25:134","parameters":{"id":83374,"nodeType":"ParameterList","parameters":[{"constant":false,"id":83373,"mutability":"mutable","name":"_sender","nameLocation":"6450:7:134","nodeType":"VariableDeclaration","scope":83386,"src":"6442:15:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":83372,"name":"address","nodeType":"ElementaryTypeName","src":"6442:7:134","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6441:17:134"},"returnParameters":{"id":83375,"nodeType":"ParameterList","parameters":[],"src":"6472:0:134"},"scope":85047,"stateMutability":"view","virtual":false,"visibility":"private"},{"id":83401,"nodeType":"FunctionDefinition","src":"6569:162:134","nodes":[],"body":{"id":83400,"nodeType":"Block","src":"6630:101:134","nodes":[],"statements":[{"condition":{"id":83394,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"6644:29:134","subExpression":{"baseExpression":{"id":83391,"name":"enabledStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83208,"src":"6645:17:134","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":83393,"indexExpression":{"id":83392,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83388,"src":"6663:9:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6645:28:134","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":83399,"nodeType":"IfStatement","src":"6640:85:134","trueBody":{"id":83398,"nodeType":"Block","src":"6675:50:134","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":83395,"name":"StrategyDisabled","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83455,"src":"6696:16:134","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":83396,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6696:18:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":83397,"nodeType":"RevertStatement","src":"6689:25:134"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"onlyStrategyEnabled","nameLocation":"6578:19:134","parameters":{"id":83389,"nodeType":"ParameterList","parameters":[{"constant":false,"id":83388,"mutability":"mutable","name":"_strategy","nameLocation":"6606:9:134","nodeType":"VariableDeclaration","scope":83401,"src":"6598:17:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":83387,"name":"address","nodeType":"ElementaryTypeName","src":"6598:7:134","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6597:19:134"},"returnParameters":{"id":83390,"nodeType":"ParameterList","parameters":[],"src":"6630:0:134"},"scope":85047,"stateMutability":"view","virtual":false,"visibility":"private"},{"id":83417,"nodeType":"FunctionDefinition","src":"6737:171:134","nodes":[],"body":{"id":83416,"nodeType":"Block","src":"6815:93:134","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":83410,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":83408,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83403,"src":"6829:7:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":83409,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83405,"src":"6840:9:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"6829:20:134","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":83415,"nodeType":"IfStatement","src":"6825:77:134","trueBody":{"id":83414,"nodeType":"Block","src":"6851:51:134","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":83411,"name":"SenderNotStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83459,"src":"6872:17:134","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":83412,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6872:19:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":83413,"nodeType":"RevertStatement","src":"6865:26:134"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"onlyStrategyAddress","nameLocation":"6746:19:134","parameters":{"id":83406,"nodeType":"ParameterList","parameters":[{"constant":false,"id":83403,"mutability":"mutable","name":"_sender","nameLocation":"6774:7:134","nodeType":"VariableDeclaration","scope":83417,"src":"6766:15:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":83402,"name":"address","nodeType":"ElementaryTypeName","src":"6766:7:134","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":83405,"mutability":"mutable","name":"_strategy","nameLocation":"6791:9:134","nodeType":"VariableDeclaration","scope":83417,"src":"6783:17:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":83404,"name":"address","nodeType":"ElementaryTypeName","src":"6783:7:134","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6765:36:134"},"returnParameters":{"id":83407,"nodeType":"ParameterList","parameters":[],"src":"6815:0:134"},"scope":85047,"stateMutability":"pure","virtual":false,"visibility":"private"},{"id":83435,"nodeType":"FunctionDefinition","src":"6914:189:134","nodes":[],"body":{"id":83434,"nodeType":"Block","src":"6979:124:134","nodes":[],"statements":[{"condition":{"id":83428,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"6993:51:134","subExpression":{"baseExpression":{"baseExpression":{"id":83422,"name":"memberActivatedInStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83234,"src":"6994:27:134","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$","typeString":"mapping(address => mapping(address => bool))"}},"id":83425,"indexExpression":{"expression":{"id":83423,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"7022:3:134","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":83424,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7026:6:134","memberName":"sender","nodeType":"MemberAccess","src":"7022:10:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6994:39:134","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":83427,"indexExpression":{"id":83426,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83419,"src":"7034:9:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6994:50:134","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":83433,"nodeType":"IfStatement","src":"6989:108:134","trueBody":{"id":83432,"nodeType":"Block","src":"7046:51:134","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":83429,"name":"PointsDeactivated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83467,"src":"7067:17:134","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":83430,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7067:19:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":83431,"nodeType":"RevertStatement","src":"7060:26:134"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"onlyActivatedInStrategy","nameLocation":"6923:23:134","parameters":{"id":83420,"nodeType":"ParameterList","parameters":[{"constant":false,"id":83419,"mutability":"mutable","name":"_strategy","nameLocation":"6955:9:134","nodeType":"VariableDeclaration","scope":83435,"src":"6947:17:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":83418,"name":"address","nodeType":"ElementaryTypeName","src":"6947:7:134","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6946:19:134"},"returnParameters":{"id":83421,"nodeType":"ParameterList","parameters":[],"src":"6979:0:134"},"scope":85047,"stateMutability":"view","virtual":false,"visibility":"private"},{"id":83437,"nodeType":"ErrorDefinition","src":"7275:28:134","nodes":[],"errorSelector":"e622e040","name":"AddressCannotBeZero","nameLocation":"7281:19:134","parameters":{"id":83436,"nodeType":"ParameterList","parameters":[],"src":"7300:2:134"}},{"id":83439,"nodeType":"ErrorDefinition","src":"7308:29:134","nodes":[],"errorSelector":"5df4b1ef","name":"RegistryCannotBeZero","nameLocation":"7314:20:134","parameters":{"id":83438,"nodeType":"ParameterList","parameters":[],"src":"7334:2:134"}},{"id":83441,"nodeType":"ErrorDefinition","src":"7342:25:134","nodes":[],"errorSelector":"f62651fa","name":"UserNotInCouncil","nameLocation":"7348:16:134","parameters":{"id":83440,"nodeType":"ParameterList","parameters":[],"src":"7364:2:134"}},{"id":83443,"nodeType":"ErrorDefinition","src":"7372:26:134","nodes":[],"errorSelector":"6a5cfb6d","name":"UserNotInRegistry","nameLocation":"7378:17:134","parameters":{"id":83442,"nodeType":"ParameterList","parameters":[],"src":"7395:2:134"}},{"id":83445,"nodeType":"ErrorDefinition","src":"7403:30:134","nodes":[],"errorSelector":"9e4a65f6","name":"UserAlreadyRegistered","nameLocation":"7409:21:134","parameters":{"id":83444,"nodeType":"ParameterList","parameters":[],"src":"7430:2:134"}},{"id":83447,"nodeType":"ErrorDefinition","src":"7438:27:134","nodes":[],"errorSelector":"e9a644b8","name":"UserNotGardenOwner","nameLocation":"7444:18:134","parameters":{"id":83446,"nodeType":"ParameterList","parameters":[],"src":"7462:2:134"}},{"id":83449,"nodeType":"ErrorDefinition","src":"7470:29:134","nodes":[],"errorSelector":"d5b9bc96","name":"UserAlreadyActivated","nameLocation":"7476:20:134","parameters":{"id":83448,"nodeType":"ParameterList","parameters":[],"src":"7496:2:134"}},{"id":83451,"nodeType":"ErrorDefinition","src":"7504:31:134","nodes":[],"errorSelector":"c12369dc","name":"UserAlreadyDeactivated","nameLocation":"7510:22:134","parameters":{"id":83450,"nodeType":"ParameterList","parameters":[],"src":"7532:2:134"}},{"id":83453,"nodeType":"ErrorDefinition","src":"7540:23:134","nodes":[],"errorSelector":"968a4d2c","name":"StrategyExists","nameLocation":"7546:14:134","parameters":{"id":83452,"nodeType":"ParameterList","parameters":[],"src":"7560:2:134"}},{"id":83455,"nodeType":"ErrorDefinition","src":"7568:25:134","nodes":[],"errorSelector":"46c26e4b","name":"StrategyDisabled","nameLocation":"7574:16:134","parameters":{"id":83454,"nodeType":"ParameterList","parameters":[],"src":"7590:2:134"}},{"id":83457,"nodeType":"ErrorDefinition","src":"7598:26:134","nodes":[],"errorSelector":"ebcd0d6e","name":"SenderNotNewOwner","nameLocation":"7604:17:134","parameters":{"id":83456,"nodeType":"ParameterList","parameters":[],"src":"7621:2:134"}},{"id":83459,"nodeType":"ErrorDefinition","src":"7629:26:134","nodes":[],"errorSelector":"bbe79611","name":"SenderNotStrategy","nameLocation":"7635:17:134","parameters":{"id":83458,"nodeType":"ParameterList","parameters":[],"src":"7652:2:134"}},{"id":83461,"nodeType":"ErrorDefinition","src":"7660:26:134","nodes":[],"errorSelector":"c70d18aa","name":"ValueCannotBeZero","nameLocation":"7666:17:134","parameters":{"id":83460,"nodeType":"ParameterList","parameters":[],"src":"7683:2:134"}},{"id":83463,"nodeType":"ErrorDefinition","src":"7691:29:134","nodes":[],"errorSelector":"fe925f7d","name":"NewFeeGreaterThanMax","nameLocation":"7697:20:134","parameters":{"id":83462,"nodeType":"ParameterList","parameters":[],"src":"7717:2:134"}},{"id":83465,"nodeType":"ErrorDefinition","src":"7725:23:134","nodes":[],"errorSelector":"cb63dc72","name":"KickNotEnabled","nameLocation":"7731:14:134","parameters":{"id":83464,"nodeType":"ParameterList","parameters":[],"src":"7745:2:134"}},{"id":83467,"nodeType":"ErrorDefinition","src":"7753:26:134","nodes":[],"errorSelector":"d4d3290e","name":"PointsDeactivated","nameLocation":"7759:17:134","parameters":{"id":83466,"nodeType":"ParameterList","parameters":[],"src":"7776:2:134"}},{"id":83469,"nodeType":"ErrorDefinition","src":"7784:29:134","nodes":[],"errorSelector":"9c47d02e","name":"DecreaseUnderMinimum","nameLocation":"7790:20:134","parameters":{"id":83468,"nodeType":"ParameterList","parameters":[],"src":"7810:2:134"}},{"id":83475,"nodeType":"ErrorDefinition","src":"7818:80:134","nodes":[],"errorSelector":"8a11f318","name":"CantDecreaseMoreThanPower","nameLocation":"7824:25:134","parameters":{"id":83474,"nodeType":"ParameterList","parameters":[{"constant":false,"id":83471,"mutability":"mutable","name":"_decreaseAmount","nameLocation":"7858:15:134","nodeType":"VariableDeclaration","scope":83475,"src":"7850:23:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":83470,"name":"uint256","nodeType":"ElementaryTypeName","src":"7850:7:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":83473,"mutability":"mutable","name":"_currentPower","nameLocation":"7883:13:134","nodeType":"VariableDeclaration","scope":83475,"src":"7875:21:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":83472,"name":"uint256","nodeType":"ElementaryTypeName","src":"7875:7:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7849:48:134"}},{"id":83482,"nodeType":"StructDefinition","src":"8069:102:134","nodes":[],"canonicalName":"RegistryCommunityV0_0.Member","members":[{"constant":false,"id":83477,"mutability":"mutable","name":"member","nameLocation":"8101:6:134","nodeType":"VariableDeclaration","scope":83482,"src":"8093:14:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":83476,"name":"address","nodeType":"ElementaryTypeName","src":"8093:7:134","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":83479,"mutability":"mutable","name":"stakedAmount","nameLocation":"8125:12:134","nodeType":"VariableDeclaration","scope":83482,"src":"8117:20:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":83478,"name":"uint256","nodeType":"ElementaryTypeName","src":"8117:7:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":83481,"mutability":"mutable","name":"isRegistered","nameLocation":"8152:12:134","nodeType":"VariableDeclaration","scope":83482,"src":"8147:17:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":83480,"name":"bool","nodeType":"ElementaryTypeName","src":"8147:4:134","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"name":"Member","nameLocation":"8076:6:134","scope":85047,"visibility":"public"},{"id":83486,"nodeType":"StructDefinition","src":"8177:55:134","nodes":[],"canonicalName":"RegistryCommunityV0_0.Strategies","members":[{"constant":false,"id":83485,"mutability":"mutable","name":"strategies","nameLocation":"8215:10:134","nodeType":"VariableDeclaration","scope":83486,"src":"8205:20:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":83483,"name":"address","nodeType":"ElementaryTypeName","src":"8205:7:134","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":83484,"nodeType":"ArrayTypeName","src":"8205:9:134","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"name":"Strategies","nameLocation":"8184:10:134","scope":85047,"visibility":"public"},{"id":83515,"nodeType":"StructDefinition","src":"9190:434:134","nodes":[],"canonicalName":"RegistryCommunityV0_0.InitializeParams","members":[{"constant":false,"id":83488,"mutability":"mutable","name":"_allo","nameLocation":"9232:5:134","nodeType":"VariableDeclaration","scope":83515,"src":"9224:13:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":83487,"name":"address","nodeType":"ElementaryTypeName","src":"9224:7:134","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":83491,"mutability":"mutable","name":"_gardenToken","nameLocation":"9254:12:134","nodeType":"VariableDeclaration","scope":83515,"src":"9247:19:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$57069","typeString":"contract IERC20"},"typeName":{"id":83490,"nodeType":"UserDefinedTypeName","pathNode":{"id":83489,"name":"IERC20","nameLocations":["9247:6:134"],"nodeType":"IdentifierPath","referencedDeclaration":57069,"src":"9247:6:134"},"referencedDeclaration":57069,"src":"9247:6:134","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$57069","typeString":"contract IERC20"}},"visibility":"internal"},{"constant":false,"id":83493,"mutability":"mutable","name":"_registerStakeAmount","nameLocation":"9284:20:134","nodeType":"VariableDeclaration","scope":83515,"src":"9276:28:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":83492,"name":"uint256","nodeType":"ElementaryTypeName","src":"9276:7:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":83495,"mutability":"mutable","name":"_communityFee","nameLocation":"9322:13:134","nodeType":"VariableDeclaration","scope":83515,"src":"9314:21:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":83494,"name":"uint256","nodeType":"ElementaryTypeName","src":"9314:7:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":83497,"mutability":"mutable","name":"_nonce","nameLocation":"9353:6:134","nodeType":"VariableDeclaration","scope":83515,"src":"9345:14:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":83496,"name":"uint256","nodeType":"ElementaryTypeName","src":"9345:7:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":83499,"mutability":"mutable","name":"_registryFactory","nameLocation":"9377:16:134","nodeType":"VariableDeclaration","scope":83515,"src":"9369:24:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":83498,"name":"address","nodeType":"ElementaryTypeName","src":"9369:7:134","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":83501,"mutability":"mutable","name":"_feeReceiver","nameLocation":"9411:12:134","nodeType":"VariableDeclaration","scope":83515,"src":"9403:20:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":83500,"name":"address","nodeType":"ElementaryTypeName","src":"9403:7:134","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":83504,"mutability":"mutable","name":"_metadata","nameLocation":"9442:9:134","nodeType":"VariableDeclaration","scope":83515,"src":"9433:18:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"},"typeName":{"id":83503,"nodeType":"UserDefinedTypeName","pathNode":{"id":83502,"name":"Metadata","nameLocations":["9433:8:134"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"9433:8:134"},"referencedDeclaration":3098,"src":"9433:8:134","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"},{"constant":false,"id":83506,"mutability":"mutable","name":"_councilSafe","nameLocation":"9477:12:134","nodeType":"VariableDeclaration","scope":83515,"src":"9461:28:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"},"typeName":{"id":83505,"name":"address","nodeType":"ElementaryTypeName","src":"9461:15:134","stateMutability":"payable","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"visibility":"internal"},{"constant":false,"id":83508,"mutability":"mutable","name":"_communityName","nameLocation":"9506:14:134","nodeType":"VariableDeclaration","scope":83515,"src":"9499:21:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":83507,"name":"string","nodeType":"ElementaryTypeName","src":"9499:6:134","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":83510,"mutability":"mutable","name":"_isKickEnabled","nameLocation":"9535:14:134","nodeType":"VariableDeclaration","scope":83515,"src":"9530:19:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":83509,"name":"bool","nodeType":"ElementaryTypeName","src":"9530:4:134","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":83512,"mutability":"mutable","name":"covenantIpfsHash","nameLocation":"9566:16:134","nodeType":"VariableDeclaration","scope":83515,"src":"9559:23:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":83511,"name":"string","nodeType":"ElementaryTypeName","src":"9559:6:134","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":83514,"mutability":"mutable","name":"_strategyTemplate","nameLocation":"9600:17:134","nodeType":"VariableDeclaration","scope":83515,"src":"9592:25:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":83513,"name":"address","nodeType":"ElementaryTypeName","src":"9592:7:134","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"name":"InitializeParams","nameLocation":"9197:16:134","scope":85047,"visibility":"public"},{"id":83754,"nodeType":"FunctionDefinition","src":"9630:2107:134","nodes":[],"body":{"id":83753,"nodeType":"Block","src":"9723:2014:134","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":83523,"name":"__Ownable_init","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52837,"src":"9733:14:134","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":83524,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9733:16:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":83525,"nodeType":"ExpressionStatement","src":"9733:16:134"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":83526,"name":"__ReentrancyGuard_init","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53215,"src":"9759:22:134","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":83527,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9759:24:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":83528,"nodeType":"ExpressionStatement","src":"9759:24:134"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":83529,"name":"__AccessControl_init","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52448,"src":"9793:20:134","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":83530,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9793:22:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":83531,"nodeType":"ExpressionStatement","src":"9793:22:134"},{"expression":{"arguments":[{"id":83533,"name":"COUNCIL_MEMBER","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83244,"src":"9840:14:134","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":83534,"name":"DEFAULT_ADMIN_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52431,"src":"9856:18:134","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":83532,"name":"_setRoleAdmin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52667,"src":"9826:13:134","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (bytes32,bytes32)"}},"id":83535,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9826:49:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":83536,"nodeType":"ExpressionStatement","src":"9826:49:134"},{"expression":{"arguments":[{"arguments":[{"expression":{"id":83540,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83518,"src":"9913:6:134","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$83515_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams memory"}},"id":83541,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9920:12:134","memberName":"_gardenToken","nodeType":"MemberAccess","referencedDeclaration":83491,"src":"9913:19:134","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$57069","typeString":"contract IERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$57069","typeString":"contract IERC20"}],"id":83539,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9905:7:134","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":83538,"name":"address","nodeType":"ElementaryTypeName","src":"9905:7:134","typeDescriptions":{}}},"id":83542,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9905:28:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":83537,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84478,"src":"9886:18:134","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":83543,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9886:48:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":83544,"nodeType":"ExpressionStatement","src":"9886:48:134"},{"expression":{"arguments":[{"expression":{"id":83546,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83518,"src":"9963:6:134","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$83515_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams memory"}},"id":83547,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9970:12:134","memberName":"_councilSafe","nodeType":"MemberAccess","referencedDeclaration":83506,"src":"9963:19:134","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":83545,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84478,"src":"9944:18:134","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":83548,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9944:39:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":83549,"nodeType":"ExpressionStatement","src":"9944:39:134"},{"expression":{"arguments":[{"expression":{"id":83551,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83518,"src":"10012:6:134","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$83515_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams memory"}},"id":83552,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10019:5:134","memberName":"_allo","nodeType":"MemberAccess","referencedDeclaration":83488,"src":"10012:12:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":83550,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84478,"src":"9993:18:134","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":83553,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9993:32:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":83554,"nodeType":"ExpressionStatement","src":"9993:32:134"},{"expression":{"arguments":[{"expression":{"id":83556,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83518,"src":"10054:6:134","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$83515_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams memory"}},"id":83557,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10061:16:134","memberName":"_registryFactory","nodeType":"MemberAccess","referencedDeclaration":83499,"src":"10054:23:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":83555,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84478,"src":"10035:18:134","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":83558,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10035:43:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":83559,"nodeType":"ExpressionStatement","src":"10035:43:134"},{"expression":{"arguments":[{"expression":{"id":83561,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83518,"src":"10107:6:134","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$83515_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams memory"}},"id":83562,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10114:17:134","memberName":"_strategyTemplate","nodeType":"MemberAccess","referencedDeclaration":83514,"src":"10107:24:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":83560,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84478,"src":"10088:18:134","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":83563,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10088:44:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":83564,"nodeType":"ExpressionStatement","src":"10088:44:134"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":83568,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":83565,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83518,"src":"10147:6:134","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$83515_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams memory"}},"id":83566,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10154:13:134","memberName":"_communityFee","nodeType":"MemberAccess","referencedDeclaration":83495,"src":"10147:20:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":83567,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10171:1:134","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"10147:25:134","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":83575,"nodeType":"IfStatement","src":"10143:95:134","trueBody":{"id":83574,"nodeType":"Block","src":"10174:64:134","statements":[{"expression":{"arguments":[{"expression":{"id":83570,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83518,"src":"10207:6:134","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$83515_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams memory"}},"id":83571,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10214:12:134","memberName":"_feeReceiver","nodeType":"MemberAccess","referencedDeclaration":83501,"src":"10207:19:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":83569,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84478,"src":"10188:18:134","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":83572,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10188:39:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":83573,"nodeType":"ExpressionStatement","src":"10188:39:134"}]}},{"expression":{"id":83581,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":83576,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83197,"src":"10247:4:134","typeDescriptions":{"typeIdentifier":"t_contract$_FAllo_$85656","typeString":"contract FAllo"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":83578,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83518,"src":"10260:6:134","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$83515_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams memory"}},"id":83579,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10267:5:134","memberName":"_allo","nodeType":"MemberAccess","referencedDeclaration":83488,"src":"10260:12:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":83577,"name":"FAllo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85656,"src":"10254:5:134","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_FAllo_$85656_$","typeString":"type(contract FAllo)"}},"id":83580,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10254:19:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_FAllo_$85656","typeString":"contract FAllo"}},"src":"10247:26:134","typeDescriptions":{"typeIdentifier":"t_contract$_FAllo_$85656","typeString":"contract FAllo"}},"id":83582,"nodeType":"ExpressionStatement","src":"10247:26:134"},{"expression":{"id":83586,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":83583,"name":"gardenToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83189,"src":"10283:11:134","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$57069","typeString":"contract IERC20"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":83584,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83518,"src":"10297:6:134","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$83515_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams memory"}},"id":83585,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10304:12:134","memberName":"_gardenToken","nodeType":"MemberAccess","referencedDeclaration":83491,"src":"10297:19:134","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$57069","typeString":"contract IERC20"}},"src":"10283:33:134","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$57069","typeString":"contract IERC20"}},"id":83587,"nodeType":"ExpressionStatement","src":"10283:33:134"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":83591,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":83588,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83518,"src":"10330:6:134","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$83515_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams memory"}},"id":83589,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10337:20:134","memberName":"_registerStakeAmount","nodeType":"MemberAccess","referencedDeclaration":83493,"src":"10330:27:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":83590,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10361:1:134","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"10330:32:134","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":83596,"nodeType":"IfStatement","src":"10326:89:134","trueBody":{"id":83595,"nodeType":"Block","src":"10364:51:134","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":83592,"name":"ValueCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83461,"src":"10385:17:134","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":83593,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10385:19:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":83594,"nodeType":"RevertStatement","src":"10378:26:134"}]}},{"expression":{"id":83600,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":83597,"name":"registerStakeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83160,"src":"10424:19:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":83598,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83518,"src":"10446:6:134","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$83515_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams memory"}},"id":83599,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10453:20:134","memberName":"_registerStakeAmount","nodeType":"MemberAccess","referencedDeclaration":83493,"src":"10446:27:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10424:49:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":83601,"nodeType":"ExpressionStatement","src":"10424:49:134"},{"expression":{"id":83605,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":83602,"name":"communityFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83163,"src":"10483:12:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":83603,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83518,"src":"10498:6:134","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$83515_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams memory"}},"id":83604,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10505:13:134","memberName":"_communityFee","nodeType":"MemberAccess","referencedDeclaration":83495,"src":"10498:20:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10483:35:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":83606,"nodeType":"ExpressionStatement","src":"10483:35:134"},{"expression":{"id":83610,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":83607,"name":"isKickEnabled","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83157,"src":"10528:13:134","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":83608,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83518,"src":"10544:6:134","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$83515_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams memory"}},"id":83609,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10551:14:134","memberName":"_isKickEnabled","nodeType":"MemberAccess","referencedDeclaration":83510,"src":"10544:21:134","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"10528:37:134","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":83611,"nodeType":"ExpressionStatement","src":"10528:37:134"},{"expression":{"id":83615,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":83612,"name":"communityName","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83200,"src":"10575:13:134","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":83613,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83518,"src":"10591:6:134","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$83515_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams memory"}},"id":83614,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10598:14:134","memberName":"_communityName","nodeType":"MemberAccess","referencedDeclaration":83508,"src":"10591:21:134","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"10575:37:134","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"id":83616,"nodeType":"ExpressionStatement","src":"10575:37:134"},{"expression":{"id":83620,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":83617,"name":"covenantIpfsHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83203,"src":"10622:16:134","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":83618,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83518,"src":"10641:6:134","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$83515_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams memory"}},"id":83619,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10648:16:134","memberName":"covenantIpfsHash","nodeType":"MemberAccess","referencedDeclaration":83512,"src":"10641:23:134","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"10622:42:134","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"id":83621,"nodeType":"ExpressionStatement","src":"10622:42:134"},{"expression":{"id":83625,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":83622,"name":"registryFactory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83172,"src":"10674:15:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":83623,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83518,"src":"10692:6:134","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$83515_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams memory"}},"id":83624,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10699:16:134","memberName":"_registryFactory","nodeType":"MemberAccess","referencedDeclaration":83499,"src":"10692:23:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"10674:41:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":83626,"nodeType":"ExpressionStatement","src":"10674:41:134"},{"expression":{"id":83630,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":83627,"name":"feeReceiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83169,"src":"10725:11:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":83628,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83518,"src":"10739:6:134","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$83515_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams memory"}},"id":83629,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10746:12:134","memberName":"_feeReceiver","nodeType":"MemberAccess","referencedDeclaration":83501,"src":"10739:19:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"10725:33:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":83631,"nodeType":"ExpressionStatement","src":"10725:33:134"},{"expression":{"id":83637,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":83632,"name":"councilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83193,"src":"10768:11:134","typeDescriptions":{"typeIdentifier":"t_contract$_ISafe_$85665","typeString":"contract ISafe"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":83634,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83518,"src":"10788:6:134","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$83515_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams memory"}},"id":83635,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10795:12:134","memberName":"_councilSafe","nodeType":"MemberAccess","referencedDeclaration":83506,"src":"10788:19:134","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":83633,"name":"ISafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85665,"src":"10782:5:134","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ISafe_$85665_$","typeString":"type(contract ISafe)"}},"id":83636,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10782:26:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ISafe_$85665","typeString":"contract ISafe"}},"src":"10768:40:134","typeDescriptions":{"typeIdentifier":"t_contract$_ISafe_$85665","typeString":"contract ISafe"}},"id":83638,"nodeType":"ExpressionStatement","src":"10768:40:134"},{"expression":{"id":83642,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":83639,"name":"strategyTemplate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83175,"src":"10818:16:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":83640,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83518,"src":"10837:6:134","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$83515_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams memory"}},"id":83641,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10844:17:134","memberName":"_strategyTemplate","nodeType":"MemberAccess","referencedDeclaration":83514,"src":"10837:24:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"10818:43:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":83643,"nodeType":"ExpressionStatement","src":"10818:43:134"},{"expression":{"arguments":[{"id":83645,"name":"COUNCIL_MEMBER","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83244,"src":"10883:14:134","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"expression":{"id":83646,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83518,"src":"10899:6:134","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$83515_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams memory"}},"id":83647,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10906:12:134","memberName":"_councilSafe","nodeType":"MemberAccess","referencedDeclaration":83506,"src":"10899:19:134","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":83644,"name":"_grantRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52699,"src":"10872:10:134","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$","typeString":"function (bytes32,address)"}},"id":83648,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10872:47:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":83649,"nodeType":"ExpressionStatement","src":"10872:47:134"},{"expression":{"id":83656,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":83650,"name":"registry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83185,"src":"10930:8:134","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":83652,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83197,"src":"10951:4:134","typeDescriptions":{"typeIdentifier":"t_contract$_FAllo_$85656","typeString":"contract FAllo"}},"id":83653,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10956:11:134","memberName":"getRegistry","nodeType":"MemberAccess","referencedDeclaration":85647,"src":"10951:16:134","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_address_$","typeString":"function () view external returns (address)"}},"id":83654,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10951:18:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":83651,"name":"IRegistry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2802,"src":"10941:9:134","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IRegistry_$2802_$","typeString":"type(contract IRegistry)"}},"id":83655,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10941:29:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"}},"src":"10930:40:134","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"}},"id":83657,"nodeType":"ExpressionStatement","src":"10930:40:134"},{"assignments":[83662],"declarations":[{"constant":false,"id":83662,"mutability":"mutable","name":"owners","nameLocation":"10998:6:134","nodeType":"VariableDeclaration","scope":83753,"src":"10981:23:134","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":83660,"name":"address","nodeType":"ElementaryTypeName","src":"10981:7:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":83661,"nodeType":"ArrayTypeName","src":"10981:9:134","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"id":83666,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":83663,"name":"councilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83193,"src":"11007:11:134","typeDescriptions":{"typeIdentifier":"t_contract$_ISafe_$85665","typeString":"contract ISafe"}},"id":83664,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11019:9:134","memberName":"getOwners","nodeType":"MemberAccess","referencedDeclaration":85664,"src":"11007:21:134","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_array$_t_address_$dyn_memory_ptr_$","typeString":"function () view external returns (address[] memory)"}},"id":83665,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11007:23:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"nodeType":"VariableDeclarationStatement","src":"10981:49:134"},{"assignments":[83671],"declarations":[{"constant":false,"id":83671,"mutability":"mutable","name":"pool_initialMembers","nameLocation":"11057:19:134","nodeType":"VariableDeclaration","scope":83753,"src":"11040:36:134","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":83669,"name":"address","nodeType":"ElementaryTypeName","src":"11040:7:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":83670,"nodeType":"ArrayTypeName","src":"11040:9:134","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"id":83680,"initialValue":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":83678,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":83675,"name":"owners","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83662,"src":"11093:6:134","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":83676,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11100:6:134","memberName":"length","nodeType":"MemberAccess","src":"11093:13:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"32","id":83677,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11109:1:134","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"11093:17:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":83674,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"11079:13:134","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_address_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (address[] memory)"},"typeName":{"baseType":{"id":83672,"name":"address","nodeType":"ElementaryTypeName","src":"11083:7:134","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":83673,"nodeType":"ArrayTypeName","src":"11083:9:134","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}}},"id":83679,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11079:32:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"nodeType":"VariableDeclarationStatement","src":"11040:71:134"},{"body":{"id":83700,"nodeType":"Block","src":"11166:59:134","statements":[{"expression":{"id":83698,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":83692,"name":"pool_initialMembers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83671,"src":"11180:19:134","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":83694,"indexExpression":{"id":83693,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83682,"src":"11200:1:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"11180:22:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"baseExpression":{"id":83695,"name":"owners","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83662,"src":"11205:6:134","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":83697,"indexExpression":{"id":83696,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83682,"src":"11212:1:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"11205:9:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"11180:34:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":83699,"nodeType":"ExpressionStatement","src":"11180:34:134"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":83688,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":83685,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83682,"src":"11142:1:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":83686,"name":"owners","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83662,"src":"11146:6:134","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":83687,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11153:6:134","memberName":"length","nodeType":"MemberAccess","src":"11146:13:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"11142:17:134","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":83701,"initializationExpression":{"assignments":[83682],"declarations":[{"constant":false,"id":83682,"mutability":"mutable","name":"i","nameLocation":"11135:1:134","nodeType":"VariableDeclaration","scope":83701,"src":"11127:9:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":83681,"name":"uint256","nodeType":"ElementaryTypeName","src":"11127:7:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":83684,"initialValue":{"hexValue":"30","id":83683,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11139:1:134","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"11127:13:134"},"loopExpression":{"expression":{"id":83690,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"11161:3:134","subExpression":{"id":83689,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83682,"src":"11161:1:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":83691,"nodeType":"ExpressionStatement","src":"11161:3:134"},"nodeType":"ForStatement","src":"11122:103:134"},{"expression":{"id":83712,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":83702,"name":"pool_initialMembers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83671,"src":"11235:19:134","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":83707,"indexExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":83706,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":83703,"name":"pool_initialMembers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83671,"src":"11255:19:134","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":83704,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11275:6:134","memberName":"length","nodeType":"MemberAccess","src":"11255:26:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":83705,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11284:1:134","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"11255:30:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"11235:51:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":83710,"name":"councilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83193,"src":"11297:11:134","typeDescriptions":{"typeIdentifier":"t_contract$_ISafe_$85665","typeString":"contract ISafe"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ISafe_$85665","typeString":"contract ISafe"}],"id":83709,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11289:7:134","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":83708,"name":"address","nodeType":"ElementaryTypeName","src":"11289:7:134","typeDescriptions":{}}},"id":83711,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11289:20:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"11235:74:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":83713,"nodeType":"ExpressionStatement","src":"11235:74:134"},{"expression":{"id":83724,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":83714,"name":"pool_initialMembers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83671,"src":"11319:19:134","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":83719,"indexExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":83718,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":83715,"name":"pool_initialMembers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83671,"src":"11339:19:134","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":83716,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11359:6:134","memberName":"length","nodeType":"MemberAccess","src":"11339:26:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"32","id":83717,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11368:1:134","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"11339:30:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"11319:51:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":83722,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"11381:4:134","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"}],"id":83721,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11373:7:134","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":83720,"name":"address","nodeType":"ElementaryTypeName","src":"11373:7:134","typeDescriptions":{}}},"id":83723,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11373:13:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"11319:67:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":83725,"nodeType":"ExpressionStatement","src":"11319:67:134"},{"expression":{"id":83740,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":83726,"name":"profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83166,"src":"11474:9:134","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":83729,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83518,"src":"11521:6:134","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$83515_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams memory"}},"id":83730,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11528:6:134","memberName":"_nonce","nodeType":"MemberAccess","referencedDeclaration":83497,"src":"11521:13:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":83731,"name":"communityName","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83200,"src":"11536:13:134","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},{"expression":{"id":83732,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83518,"src":"11551:6:134","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$83515_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams memory"}},"id":83733,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11558:9:134","memberName":"_metadata","nodeType":"MemberAccess","referencedDeclaration":83504,"src":"11551:16:134","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}},{"arguments":[{"id":83736,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"11577:4:134","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"}],"id":83735,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11569:7:134","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":83734,"name":"address","nodeType":"ElementaryTypeName","src":"11569:7:134","typeDescriptions":{}}},"id":83737,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11569:13:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":83738,"name":"pool_initialMembers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83671,"src":"11584:19:134","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_storage","typeString":"string storage ref"},{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}],"expression":{"id":83727,"name":"registry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83185,"src":"11498:8:134","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"}},"id":83728,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11507:13:134","memberName":"createProfile","nodeType":"MemberAccess","referencedDeclaration":2742,"src":"11498:22:134","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_string_memory_ptr_$_t_struct$_Metadata_$3098_memory_ptr_$_t_address_$_t_array$_t_address_$dyn_memory_ptr_$returns$_t_bytes32_$","typeString":"function (uint256,string memory,struct Metadata memory,address,address[] memory) external returns (bytes32)"}},"id":83739,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11498:106:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"11474:130:134","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":83741,"nodeType":"ExpressionStatement","src":"11474:130:134"},{"expression":{"id":83744,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":83742,"name":"initialMembers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83238,"src":"11615:14:134","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[] storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":83743,"name":"pool_initialMembers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83671,"src":"11632:19:134","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"src":"11615:36:134","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[] storage ref"}},"id":83745,"nodeType":"ExpressionStatement","src":"11615:36:134"},{"eventCall":{"arguments":[{"id":83747,"name":"profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83166,"src":"11687:9:134","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":83748,"name":"communityName","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83200,"src":"11698:13:134","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},{"expression":{"id":83749,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83518,"src":"11713:6:134","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$83515_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams memory"}},"id":83750,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11720:9:134","memberName":"_metadata","nodeType":"MemberAccess","referencedDeclaration":83504,"src":"11713:16:134","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_string_storage","typeString":"string storage ref"},{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}],"id":83746,"name":"RegistryInitialized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83291,"src":"11667:19:134","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_bytes32_$_t_string_memory_ptr_$_t_struct$_Metadata_$3098_memory_ptr_$returns$__$","typeString":"function (bytes32,string memory,struct Metadata memory)"}},"id":83751,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11667:63:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":83752,"nodeType":"EmitStatement","src":"11662:68:134"}]},"functionSelector":"96f0adec","implemented":true,"kind":"function","modifiers":[{"id":83521,"kind":"modifierInvocation","modifierName":{"id":83520,"name":"initializer","nameLocations":["9711:11:134"],"nodeType":"IdentifierPath","referencedDeclaration":53093,"src":"9711:11:134"},"nodeType":"ModifierInvocation","src":"9711:11:134"}],"name":"initialize","nameLocation":"9639:10:134","parameters":{"id":83519,"nodeType":"ParameterList","parameters":[{"constant":false,"id":83518,"mutability":"mutable","name":"params","nameLocation":"9696:6:134","nodeType":"VariableDeclaration","scope":83754,"src":"9650:52:134","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$83515_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams"},"typeName":{"id":83517,"nodeType":"UserDefinedTypeName","pathNode":{"id":83516,"name":"RegistryCommunityV0_0.InitializeParams","nameLocations":["9650:21:134","9672:16:134"],"nodeType":"IdentifierPath","referencedDeclaration":83515,"src":"9650:38:134"},"referencedDeclaration":83515,"src":"9650:38:134","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$83515_storage_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams"}},"visibility":"internal"}],"src":"9649:54:134"},"returnParameters":{"id":83522,"nodeType":"ParameterList","parameters":[],"src":"9723:0:134"},"scope":85047,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":83804,"nodeType":"FunctionDefinition","src":"11743:622:134","nodes":[],"body":{"id":83803,"nodeType":"Block","src":"11924:441:134","nodes":[],"statements":[{"assignments":[83770],"declarations":[{"constant":false,"id":83770,"mutability":"mutable","name":"strategyProxy","nameLocation":"12094:13:134","nodeType":"VariableDeclaration","scope":83803,"src":"12086:21:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":83769,"name":"address","nodeType":"ElementaryTypeName","src":"12086:7:134","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":83795,"initialValue":{"arguments":[{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":83780,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"12173:18:134","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$__$returns$_t_contract$_CVStrategyV0_0_$80578_$","typeString":"function () returns (contract CVStrategyV0_0)"},"typeName":{"id":83779,"nodeType":"UserDefinedTypeName","pathNode":{"id":83778,"name":"CVStrategyV0_0","nameLocations":["12177:14:134"],"nodeType":"IdentifierPath","referencedDeclaration":80578,"src":"12177:14:134"},"referencedDeclaration":80578,"src":"12177:14:134","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$80578","typeString":"contract CVStrategyV0_0"}}},"id":83781,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12173:20:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$80578","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$80578","typeString":"contract CVStrategyV0_0"}],"id":83777,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12165:7:134","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":83776,"name":"address","nodeType":"ElementaryTypeName","src":"12165:7:134","typeDescriptions":{}}},"id":83782,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12165:29:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"expression":{"expression":{"id":83785,"name":"CVStrategyV0_0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80578,"src":"12219:14:134","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategyV0_0_$80578_$","typeString":"type(contract CVStrategyV0_0)"}},"id":83786,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"12234:4:134","memberName":"init","nodeType":"MemberAccess","referencedDeclaration":78015,"src":"12219:19:134","typeDescriptions":{"typeIdentifier":"t_function_declaration_nonpayable$_t_address_$returns$__$","typeString":"function CVStrategyV0_0.init(address)"}},"id":83787,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"12239:8:134","memberName":"selector","nodeType":"MemberAccess","src":"12219:28:134","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"arguments":[{"id":83790,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83197,"src":"12257:4:134","typeDescriptions":{"typeIdentifier":"t_contract$_FAllo_$85656","typeString":"contract FAllo"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_FAllo_$85656","typeString":"contract FAllo"}],"id":83789,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12249:7:134","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":83788,"name":"address","nodeType":"ElementaryTypeName","src":"12249:7:134","typeDescriptions":{}}},"id":83791,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12249:13:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":83783,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"12196:3:134","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":83784,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"12200:18:134","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"12196:22:134","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":83792,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12196:67:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":83775,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"12131:16:134","typeDescriptions":{"typeIdentifier":"t_function_creation_payable$_t_address_$_t_bytes_memory_ptr_$returns$_t_contract$_ERC1967Proxy_$55562_$","typeString":"function (address,bytes memory) payable returns (contract ERC1967Proxy)"},"typeName":{"id":83774,"nodeType":"UserDefinedTypeName","pathNode":{"id":83773,"name":"ERC1967Proxy","nameLocations":["12135:12:134"],"nodeType":"IdentifierPath","referencedDeclaration":55562,"src":"12135:12:134"},"referencedDeclaration":55562,"src":"12135:12:134","typeDescriptions":{"typeIdentifier":"t_contract$_ERC1967Proxy_$55562","typeString":"contract ERC1967Proxy"}}},"id":83793,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12131:146:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ERC1967Proxy_$55562","typeString":"contract ERC1967Proxy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ERC1967Proxy_$55562","typeString":"contract ERC1967Proxy"}],"id":83772,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12110:7:134","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":83771,"name":"address","nodeType":"ElementaryTypeName","src":"12110:7:134","typeDescriptions":{}}},"id":83794,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12110:177:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"12086:201:134"},{"expression":{"arguments":[{"id":83797,"name":"strategyProxy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83770,"src":"12316:13:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":83798,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83756,"src":"12331:6:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":83799,"name":"_params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83759,"src":"12339:7:134","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$77751_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},{"id":83800,"name":"_metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83762,"src":"12348:9:134","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_struct$_InitializeParams_$77751_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"},{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}],"id":83796,"name":"createPool","nodeType":"Identifier","overloadedDeclarations":[83804,83876],"referencedDeclaration":83876,"src":"12305:10:134","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_struct$_InitializeParams_$77751_memory_ptr_$_t_struct$_Metadata_$3098_memory_ptr_$returns$_t_uint256_$_t_address_$","typeString":"function (address,address,struct StrategyStruct.InitializeParams memory,struct Metadata memory) returns (uint256,address)"}},"id":83801,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12305:53:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_address_$","typeString":"tuple(uint256,address)"}},"functionReturnParameters":83768,"id":83802,"nodeType":"Return","src":"12298:60:134"}]},"functionSelector":"97991cfa","implemented":true,"kind":"function","modifiers":[],"name":"createPool","nameLocation":"11752:10:134","parameters":{"id":83763,"nodeType":"ParameterList","parameters":[{"constant":false,"id":83756,"mutability":"mutable","name":"_token","nameLocation":"11771:6:134","nodeType":"VariableDeclaration","scope":83804,"src":"11763:14:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":83755,"name":"address","nodeType":"ElementaryTypeName","src":"11763:7:134","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":83759,"mutability":"mutable","name":"_params","nameLocation":"11818:7:134","nodeType":"VariableDeclaration","scope":83804,"src":"11779:46:134","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$77751_memory_ptr","typeString":"struct StrategyStruct.InitializeParams"},"typeName":{"id":83758,"nodeType":"UserDefinedTypeName","pathNode":{"id":83757,"name":"StrategyStruct.InitializeParams","nameLocations":["11779:14:134","11794:16:134"],"nodeType":"IdentifierPath","referencedDeclaration":77751,"src":"11779:31:134"},"referencedDeclaration":77751,"src":"11779:31:134","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$77751_storage_ptr","typeString":"struct StrategyStruct.InitializeParams"}},"visibility":"internal"},{"constant":false,"id":83762,"mutability":"mutable","name":"_metadata","nameLocation":"11843:9:134","nodeType":"VariableDeclaration","scope":83804,"src":"11827:25:134","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata"},"typeName":{"id":83761,"nodeType":"UserDefinedTypeName","pathNode":{"id":83760,"name":"Metadata","nameLocations":["11827:8:134"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"11827:8:134"},"referencedDeclaration":3098,"src":"11827:8:134","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"}],"src":"11762:91:134"},"returnParameters":{"id":83768,"nodeType":"ParameterList","parameters":[{"constant":false,"id":83765,"mutability":"mutable","name":"poolId","nameLocation":"11894:6:134","nodeType":"VariableDeclaration","scope":83804,"src":"11886:14:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":83764,"name":"uint256","nodeType":"ElementaryTypeName","src":"11886:7:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":83767,"mutability":"mutable","name":"strategy","nameLocation":"11910:8:134","nodeType":"VariableDeclaration","scope":83804,"src":"11902:16:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":83766,"name":"address","nodeType":"ElementaryTypeName","src":"11902:7:134","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"11885:34:134"},"scope":85047,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":83876,"nodeType":"FunctionDefinition","src":"12371:653:134","nodes":[],"body":{"id":83875,"nodeType":"Block","src":"12589:435:134","nodes":[],"statements":[{"assignments":[83822],"declarations":[{"constant":false,"id":83822,"mutability":"mutable","name":"token","nameLocation":"12607:5:134","nodeType":"VariableDeclaration","scope":83875,"src":"12599:13:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":83821,"name":"address","nodeType":"ElementaryTypeName","src":"12599:7:134","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":83824,"initialValue":{"id":83823,"name":"NATIVE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83142,"src":"12615:6:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"12599:22:134"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":83830,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":83825,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83808,"src":"12635:6:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":83828,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12653:1:134","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":83827,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12645:7:134","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":83826,"name":"address","nodeType":"ElementaryTypeName","src":"12645:7:134","typeDescriptions":{}}},"id":83829,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12645:10:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"12635:20:134","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":83836,"nodeType":"IfStatement","src":"12631:65:134","trueBody":{"id":83835,"nodeType":"Block","src":"12657:39:134","statements":[{"expression":{"id":83833,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":83831,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83822,"src":"12671:5:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":83832,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83808,"src":"12679:6:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"12671:14:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":83834,"nodeType":"ExpressionStatement","src":"12671:14:134"}]}},{"expression":{"id":83839,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":83837,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83819,"src":"12705:8:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":83838,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83806,"src":"12716:9:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"12705:20:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":83840,"nodeType":"ExpressionStatement","src":"12705:20:134"},{"assignments":[83845],"declarations":[{"constant":false,"id":83845,"mutability":"mutable","name":"_pool_managers","nameLocation":"12753:14:134","nodeType":"VariableDeclaration","scope":83875,"src":"12736:31:134","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":83843,"name":"address","nodeType":"ElementaryTypeName","src":"12736:7:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":83844,"nodeType":"ArrayTypeName","src":"12736:9:134","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"id":83847,"initialValue":{"id":83846,"name":"initialMembers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83238,"src":"12770:14:134","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[] storage ref"}},"nodeType":"VariableDeclarationStatement","src":"12736:48:134"},{"expression":{"id":83862,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":83848,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83817,"src":"12795:6:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":83851,"name":"profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83166,"src":"12851:9:134","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":83852,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83819,"src":"12862:8:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":83855,"name":"_params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83811,"src":"12883:7:134","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$77751_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_InitializeParams_$77751_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}],"expression":{"id":83853,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"12872:3:134","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":83854,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"12876:6:134","memberName":"encode","nodeType":"MemberAccess","src":"12872:10:134","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":83856,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12872:19:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":83857,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83822,"src":"12893:5:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":83858,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12900:1:134","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"id":83859,"name":"_metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83814,"src":"12903:9:134","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}},{"id":83860,"name":"_pool_managers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83845,"src":"12914:14:134","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"},{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}],"expression":{"id":83849,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83197,"src":"12804:4:134","typeDescriptions":{"typeIdentifier":"t_contract$_FAllo_$85656","typeString":"contract FAllo"}},"id":83850,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12809:28:134","memberName":"createPoolWithCustomStrategy","nodeType":"MemberAccess","referencedDeclaration":85642,"src":"12804:33:134","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_bytes32_$_t_address_$_t_bytes_memory_ptr_$_t_address_$_t_uint256_$_t_struct$_Metadata_$3098_memory_ptr_$_t_array$_t_address_$dyn_memory_ptr_$returns$_t_uint256_$","typeString":"function (bytes32,address,bytes memory,address,uint256,struct Metadata memory,address[] memory) payable external returns (uint256)"}},"id":83861,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12804:134:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"12795:143:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":83863,"nodeType":"ExpressionStatement","src":"12795:143:134"},{"eventCall":{"arguments":[{"id":83865,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83817,"src":"12966:6:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":83866,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83819,"src":"12974:8:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":83869,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"12992:4:134","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"}],"id":83868,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12984:7:134","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":83867,"name":"address","nodeType":"ElementaryTypeName","src":"12984:7:134","typeDescriptions":{}}},"id":83870,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12984:13:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":83871,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83808,"src":"12999:6:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":83872,"name":"_metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83814,"src":"13007:9:134","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}],"id":83864,"name":"PoolCreated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83342,"src":"12954:11:134","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_address_$_t_address_$_t_address_$_t_struct$_Metadata_$3098_memory_ptr_$returns$__$","typeString":"function (uint256,address,address,address,struct Metadata memory)"}},"id":83873,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12954:63:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":83874,"nodeType":"EmitStatement","src":"12949:68:134"}]},"functionSelector":"ff6409ef","implemented":true,"kind":"function","modifiers":[],"name":"createPool","nameLocation":"12380:10:134","parameters":{"id":83815,"nodeType":"ParameterList","parameters":[{"constant":false,"id":83806,"mutability":"mutable","name":"_strategy","nameLocation":"12408:9:134","nodeType":"VariableDeclaration","scope":83876,"src":"12400:17:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":83805,"name":"address","nodeType":"ElementaryTypeName","src":"12400:7:134","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":83808,"mutability":"mutable","name":"_token","nameLocation":"12435:6:134","nodeType":"VariableDeclaration","scope":83876,"src":"12427:14:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":83807,"name":"address","nodeType":"ElementaryTypeName","src":"12427:7:134","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":83811,"mutability":"mutable","name":"_params","nameLocation":"12490:7:134","nodeType":"VariableDeclaration","scope":83876,"src":"12451:46:134","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$77751_memory_ptr","typeString":"struct StrategyStruct.InitializeParams"},"typeName":{"id":83810,"nodeType":"UserDefinedTypeName","pathNode":{"id":83809,"name":"StrategyStruct.InitializeParams","nameLocations":["12451:14:134","12466:16:134"],"nodeType":"IdentifierPath","referencedDeclaration":77751,"src":"12451:31:134"},"referencedDeclaration":77751,"src":"12451:31:134","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$77751_storage_ptr","typeString":"struct StrategyStruct.InitializeParams"}},"visibility":"internal"},{"constant":false,"id":83814,"mutability":"mutable","name":"_metadata","nameLocation":"12523:9:134","nodeType":"VariableDeclaration","scope":83876,"src":"12507:25:134","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata"},"typeName":{"id":83813,"nodeType":"UserDefinedTypeName","pathNode":{"id":83812,"name":"Metadata","nameLocations":["12507:8:134"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"12507:8:134"},"referencedDeclaration":3098,"src":"12507:8:134","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"}],"src":"12390:148:134"},"returnParameters":{"id":83820,"nodeType":"ParameterList","parameters":[{"constant":false,"id":83817,"mutability":"mutable","name":"poolId","nameLocation":"12563:6:134","nodeType":"VariableDeclaration","scope":83876,"src":"12555:14:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":83816,"name":"uint256","nodeType":"ElementaryTypeName","src":"12555:7:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":83819,"mutability":"mutable","name":"strategy","nameLocation":"12579:8:134","nodeType":"VariableDeclaration","scope":83876,"src":"12571:16:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":83818,"name":"address","nodeType":"ElementaryTypeName","src":"12571:7:134","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"12554:34:134"},"scope":85047,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":83993,"nodeType":"FunctionDefinition","src":"13030:1179:134","nodes":[],"body":{"id":83992,"nodeType":"Block","src":"13107:1102:134","nodes":[],"statements":[{"expression":{"arguments":[{"id":83884,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83878,"src":"13143:7:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":83883,"name":"onlyRegistryMemberAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83386,"src":"13117:25:134","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$__$","typeString":"function (address) view"}},"id":83885,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13117:34:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":83886,"nodeType":"ExpressionStatement","src":"13117:34:134"},{"expression":{"arguments":[{"id":83888,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83880,"src":"13181:9:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":83887,"name":"onlyStrategyEnabled","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83401,"src":"13161:19:134","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$__$","typeString":"function (address) view"}},"id":83889,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13161:30:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":83890,"nodeType":"ExpressionStatement","src":"13161:30:134"},{"expression":{"arguments":[{"id":83892,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83880,"src":"13220:9:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":83891,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84478,"src":"13201:18:134","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":83893,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13201:29:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":83894,"nodeType":"ExpressionStatement","src":"13201:29:134"},{"condition":{"baseExpression":{"baseExpression":{"id":83895,"name":"memberActivatedInStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83234,"src":"13245:27:134","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$","typeString":"mapping(address => mapping(address => bool))"}},"id":83897,"indexExpression":{"id":83896,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83878,"src":"13273:7:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"13245:36:134","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":83899,"indexExpression":{"id":83898,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83880,"src":"13282:9:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"13245:47:134","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":83904,"nodeType":"IfStatement","src":"13241:107:134","trueBody":{"id":83903,"nodeType":"Block","src":"13294:54:134","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":83900,"name":"UserAlreadyActivated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83449,"src":"13315:20:134","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":83901,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13315:22:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":83902,"nodeType":"RevertStatement","src":"13308:29:134"}]}},{"assignments":[83907],"declarations":[{"constant":false,"id":83907,"mutability":"mutable","name":"member","nameLocation":"13372:6:134","nodeType":"VariableDeclaration","scope":83992,"src":"13358:20:134","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$83482_memory_ptr","typeString":"struct RegistryCommunityV0_0.Member"},"typeName":{"id":83906,"nodeType":"UserDefinedTypeName","pathNode":{"id":83905,"name":"Member","nameLocations":["13358:6:134"],"nodeType":"IdentifierPath","referencedDeclaration":83482,"src":"13358:6:134"},"referencedDeclaration":83482,"src":"13358:6:134","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$83482_storage_ptr","typeString":"struct RegistryCommunityV0_0.Member"}},"visibility":"internal"}],"id":83911,"initialValue":{"baseExpression":{"id":83908,"name":"addressToMemberInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83221,"src":"13381:19:134","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Member_$83482_storage_$","typeString":"mapping(address => struct RegistryCommunityV0_0.Member storage ref)"}},"id":83910,"indexExpression":{"id":83909,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83878,"src":"13401:7:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"13381:28:134","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$83482_storage","typeString":"struct RegistryCommunityV0_0.Member storage ref"}},"nodeType":"VariableDeclarationStatement","src":"13358:51:134"},{"assignments":[83913],"declarations":[{"constant":false,"id":83913,"mutability":"mutable","name":"totalStakedAmount","nameLocation":"13428:17:134","nodeType":"VariableDeclaration","scope":83992,"src":"13420:25:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":83912,"name":"uint256","nodeType":"ElementaryTypeName","src":"13420:7:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":83916,"initialValue":{"expression":{"id":83914,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83907,"src":"13448:6:134","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$83482_memory_ptr","typeString":"struct RegistryCommunityV0_0.Member memory"}},"id":83915,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"13455:12:134","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":83479,"src":"13448:19:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"13420:47:134"},{"assignments":[83918],"declarations":[{"constant":false,"id":83918,"mutability":"mutable","name":"pointsToIncrease","nameLocation":"13485:16:134","nodeType":"VariableDeclaration","scope":83992,"src":"13477:24:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":83917,"name":"uint256","nodeType":"ElementaryTypeName","src":"13477:7:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":83920,"initialValue":{"id":83919,"name":"registerStakeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83160,"src":"13504:19:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"13477:46:134"},{"condition":{"commonType":{"typeIdentifier":"t_enum$_PointSystem_$77676","typeString":"enum StrategyStruct.PointSystem"},"id":83929,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[{"id":83922,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83880,"src":"13553:9:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":83921,"name":"IPointStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77667,"src":"13538:14:134","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IPointStrategy_$77667_$","typeString":"type(contract IPointStrategy)"}},"id":83923,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13538:25:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IPointStrategy_$77667","typeString":"contract IPointStrategy"}},"id":83924,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13564:14:134","memberName":"getPointSystem","nodeType":"MemberAccess","referencedDeclaration":77666,"src":"13538:40:134","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$_t_enum$_PointSystem_$77676_$","typeString":"function () external returns (enum StrategyStruct.PointSystem)"}},"id":83925,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13538:42:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$77676","typeString":"enum StrategyStruct.PointSystem"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":83926,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77752,"src":"13584:14:134","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$77752_$","typeString":"type(library StrategyStruct)"}},"id":83927,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13599:11:134","memberName":"PointSystem","nodeType":"MemberAccess","referencedDeclaration":77676,"src":"13584:26:134","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_PointSystem_$77676_$","typeString":"type(enum StrategyStruct.PointSystem)"}},"id":83928,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"13611:9:134","memberName":"Quadratic","nodeType":"MemberAccess","referencedDeclaration":77675,"src":"13584:36:134","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$77676","typeString":"enum StrategyStruct.PointSystem"}},"src":"13538:82:134","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_enum$_PointSystem_$77676","typeString":"enum StrategyStruct.PointSystem"},"id":83949,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[{"id":83942,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83880,"src":"13742:9:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":83941,"name":"IPointStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77667,"src":"13727:14:134","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IPointStrategy_$77667_$","typeString":"type(contract IPointStrategy)"}},"id":83943,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13727:25:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IPointStrategy_$77667","typeString":"contract IPointStrategy"}},"id":83944,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13753:14:134","memberName":"getPointSystem","nodeType":"MemberAccess","referencedDeclaration":77666,"src":"13727:40:134","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$_t_enum$_PointSystem_$77676_$","typeString":"function () external returns (enum StrategyStruct.PointSystem)"}},"id":83945,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13727:42:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$77676","typeString":"enum StrategyStruct.PointSystem"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"expression":{"id":83946,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77752,"src":"13773:14:134","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$77752_$","typeString":"type(library StrategyStruct)"}},"id":83947,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13788:11:134","memberName":"PointSystem","nodeType":"MemberAccess","referencedDeclaration":77676,"src":"13773:26:134","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_PointSystem_$77676_$","typeString":"type(enum StrategyStruct.PointSystem)"}},"id":83948,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"13800:5:134","memberName":"Fixed","nodeType":"MemberAccess","referencedDeclaration":77672,"src":"13773:32:134","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$77676","typeString":"enum StrategyStruct.PointSystem"}},"src":"13727:78:134","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":83961,"nodeType":"IfStatement","src":"13723:195:134","trueBody":{"id":83960,"nodeType":"Block","src":"13807:111:134","statements":[{"expression":{"id":83958,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":83950,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83918,"src":"13821:16:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":83955,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83878,"src":"13880:7:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":83956,"name":"totalStakedAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83913,"src":"13889:17:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"arguments":[{"id":83952,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83880,"src":"13855:9:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":83951,"name":"IPointStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77667,"src":"13840:14:134","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IPointStrategy_$77667_$","typeString":"type(contract IPointStrategy)"}},"id":83953,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13840:25:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IPointStrategy_$77667","typeString":"contract IPointStrategy"}},"id":83954,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13866:13:134","memberName":"increasePower","nodeType":"MemberAccess","referencedDeclaration":77651,"src":"13840:39:134","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256) external returns (uint256)"}},"id":83957,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13840:67:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"13821:86:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":83959,"nodeType":"ExpressionStatement","src":"13821:86:134"}]}},"id":83962,"nodeType":"IfStatement","src":"13534:384:134","trueBody":{"id":83940,"nodeType":"Block","src":"13622:95:134","statements":[{"expression":{"id":83938,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":83930,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83918,"src":"13636:16:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":83935,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83878,"src":"13695:7:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":83936,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13704:1:134","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"expression":{"arguments":[{"id":83932,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83880,"src":"13670:9:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":83931,"name":"IPointStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77667,"src":"13655:14:134","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IPointStrategy_$77667_$","typeString":"type(contract IPointStrategy)"}},"id":83933,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13655:25:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IPointStrategy_$77667","typeString":"contract IPointStrategy"}},"id":83934,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13681:13:134","memberName":"increasePower","nodeType":"MemberAccess","referencedDeclaration":77651,"src":"13655:39:134","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256) external returns (uint256)"}},"id":83937,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13655:51:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"13636:70:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":83939,"nodeType":"ExpressionStatement","src":"13636:70:134"}]}},{"expression":{"id":83969,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"id":83963,"name":"memberPowerInStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83215,"src":"13928:21:134","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"}},"id":83966,"indexExpression":{"id":83964,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83878,"src":"13950:7:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"13928:30:134","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":83967,"indexExpression":{"id":83965,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83880,"src":"13959:9:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"13928:41:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":83968,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83918,"src":"13972:16:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"13928:60:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":83970,"nodeType":"ExpressionStatement","src":"13928:60:134"},{"expression":{"id":83977,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"id":83971,"name":"memberActivatedInStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83234,"src":"14017:27:134","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$","typeString":"mapping(address => mapping(address => bool))"}},"id":83974,"indexExpression":{"id":83972,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83878,"src":"14045:7:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"14017:36:134","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":83975,"indexExpression":{"id":83973,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83880,"src":"14054:9:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"14017:47:134","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":83976,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"14067:4:134","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"14017:54:134","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":83978,"nodeType":"ExpressionStatement","src":"14017:54:134"},{"expression":{"arguments":[{"id":83983,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83880,"src":"14115:9:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"baseExpression":{"id":83979,"name":"strategiesByMember","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83227,"src":"14082:18:134","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_address_$dyn_storage_$","typeString":"mapping(address => address[] storage ref)"}},"id":83981,"indexExpression":{"id":83980,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83878,"src":"14101:7:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"14082:27:134","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[] storage ref"}},"id":83982,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14110:4:134","memberName":"push","nodeType":"MemberAccess","src":"14082:32:134","typeDescriptions":{"typeIdentifier":"t_function_arraypush_nonpayable$_t_array$_t_address_$dyn_storage_ptr_$_t_address_$returns$__$attached_to$_t_array$_t_address_$dyn_storage_ptr_$","typeString":"function (address[] storage pointer,address)"}},"id":83984,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14082:43:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":83985,"nodeType":"ExpressionStatement","src":"14082:43:134"},{"eventCall":{"arguments":[{"id":83987,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83878,"src":"14165:7:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":83988,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83880,"src":"14174:9:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":83989,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83918,"src":"14185:16:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":83986,"name":"MemberActivatedStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83307,"src":"14141:23:134","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":83990,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14141:61:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":83991,"nodeType":"EmitStatement","src":"14136:66:134"}]},"functionSelector":"0d4a8b49","implemented":true,"kind":"function","modifiers":[],"name":"activateMemberInStrategy","nameLocation":"13039:24:134","parameters":{"id":83881,"nodeType":"ParameterList","parameters":[{"constant":false,"id":83878,"mutability":"mutable","name":"_member","nameLocation":"13072:7:134","nodeType":"VariableDeclaration","scope":83993,"src":"13064:15:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":83877,"name":"address","nodeType":"ElementaryTypeName","src":"13064:7:134","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":83880,"mutability":"mutable","name":"_strategy","nameLocation":"13089:9:134","nodeType":"VariableDeclaration","scope":83993,"src":"13081:17:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":83879,"name":"address","nodeType":"ElementaryTypeName","src":"13081:7:134","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"13063:36:134"},"returnParameters":{"id":83882,"nodeType":"ParameterList","parameters":[],"src":"13107:0:134"},"scope":85047,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":84052,"nodeType":"FunctionDefinition","src":"14215:691:134","nodes":[],"body":{"id":84051,"nodeType":"Block","src":"14294:612:134","nodes":[],"statements":[{"expression":{"arguments":[{"id":84001,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83995,"src":"14330:7:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":84000,"name":"onlyRegistryMemberAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83386,"src":"14304:25:134","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$__$","typeString":"function (address) view"}},"id":84002,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14304:34:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":84003,"nodeType":"ExpressionStatement","src":"14304:34:134"},{"expression":{"arguments":[{"id":84005,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83997,"src":"14367:9:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":84004,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84478,"src":"14348:18:134","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":84006,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14348:29:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":84007,"nodeType":"ExpressionStatement","src":"14348:29:134"},{"expression":{"arguments":[{"expression":{"id":84009,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"14407:3:134","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":84010,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14411:6:134","memberName":"sender","nodeType":"MemberAccess","src":"14407:10:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":84011,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83997,"src":"14419:9:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":84008,"name":"onlyStrategyAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83417,"src":"14387:19:134","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$_t_address_$returns$__$","typeString":"function (address,address) pure"}},"id":84012,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14387:42:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":84013,"nodeType":"ExpressionStatement","src":"14387:42:134"},{"condition":{"id":84019,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"14444:48:134","subExpression":{"baseExpression":{"baseExpression":{"id":84014,"name":"memberActivatedInStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83234,"src":"14445:27:134","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$","typeString":"mapping(address => mapping(address => bool))"}},"id":84016,"indexExpression":{"id":84015,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83995,"src":"14473:7:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"14445:36:134","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":84018,"indexExpression":{"id":84017,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83997,"src":"14482:9:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"14445:47:134","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":84024,"nodeType":"IfStatement","src":"14440:110:134","trueBody":{"id":84023,"nodeType":"Block","src":"14494:56:134","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":84020,"name":"UserAlreadyDeactivated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83451,"src":"14515:22:134","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":84021,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14515:24:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":84022,"nodeType":"RevertStatement","src":"14508:31:134"}]}},{"expression":{"id":84031,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"id":84025,"name":"memberActivatedInStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83234,"src":"14560:27:134","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$","typeString":"mapping(address => mapping(address => bool))"}},"id":84028,"indexExpression":{"id":84026,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83995,"src":"14588:7:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"14560:36:134","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":84029,"indexExpression":{"id":84027,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83997,"src":"14597:9:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"14560:47:134","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"66616c7365","id":84030,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"14610:5:134","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"src":"14560:55:134","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":84032,"nodeType":"ExpressionStatement","src":"14560:55:134"},{"expression":{"id":84039,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"id":84033,"name":"memberPowerInStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83215,"src":"14625:21:134","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"}},"id":84036,"indexExpression":{"id":84034,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83995,"src":"14647:7:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"14625:30:134","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":84037,"indexExpression":{"id":84035,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83997,"src":"14656:9:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"14625:41:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"30","id":84038,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14669:1:134","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"14625:45:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":84040,"nodeType":"ExpressionStatement","src":"14625:45:134"},{"expression":{"arguments":[{"id":84042,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83995,"src":"14705:7:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":84043,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83997,"src":"14714:9:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":84041,"name":"removeStrategyFromMember","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84105,"src":"14680:24:134","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address)"}},"id":84044,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14680:44:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":84045,"nodeType":"ExpressionStatement","src":"14680:44:134"},{"eventCall":{"arguments":[{"id":84047,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83995,"src":"14880:7:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":84048,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83997,"src":"14889:9:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":84046,"name":"MemberDeactivatedStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83313,"src":"14854:25:134","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address)"}},"id":84049,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14854:45:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":84050,"nodeType":"EmitStatement","src":"14849:50:134"}]},"functionSelector":"22bcf999","implemented":true,"kind":"function","modifiers":[],"name":"deactivateMemberInStrategy","nameLocation":"14224:26:134","parameters":{"id":83998,"nodeType":"ParameterList","parameters":[{"constant":false,"id":83995,"mutability":"mutable","name":"_member","nameLocation":"14259:7:134","nodeType":"VariableDeclaration","scope":84052,"src":"14251:15:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":83994,"name":"address","nodeType":"ElementaryTypeName","src":"14251:7:134","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":83997,"mutability":"mutable","name":"_strategy","nameLocation":"14276:9:134","nodeType":"VariableDeclaration","scope":84052,"src":"14268:17:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":83996,"name":"address","nodeType":"ElementaryTypeName","src":"14268:7:134","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"14250:36:134"},"returnParameters":{"id":83999,"nodeType":"ParameterList","parameters":[],"src":"14294:0:134"},"scope":85047,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":84105,"nodeType":"FunctionDefinition","src":"14912:425:134","nodes":[],"body":{"id":84104,"nodeType":"Block","src":"14991:346:134","nodes":[],"statements":[{"assignments":[84063],"declarations":[{"constant":false,"id":84063,"mutability":"mutable","name":"memberStrategies","nameLocation":"15019:16:134","nodeType":"VariableDeclaration","scope":84104,"src":"15001:34:134","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":84061,"name":"address","nodeType":"ElementaryTypeName","src":"15001:7:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":84062,"nodeType":"ArrayTypeName","src":"15001:9:134","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"id":84067,"initialValue":{"baseExpression":{"id":84064,"name":"strategiesByMember","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83227,"src":"15038:18:134","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_address_$dyn_storage_$","typeString":"mapping(address => address[] storage ref)"}},"id":84066,"indexExpression":{"id":84065,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84054,"src":"15057:7:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15038:27:134","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[] storage ref"}},"nodeType":"VariableDeclarationStatement","src":"15001:64:134"},{"body":{"id":84102,"nodeType":"Block","src":"15129:202:134","statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":84083,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"id":84079,"name":"memberStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84063,"src":"15147:16:134","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[] storage pointer"}},"id":84081,"indexExpression":{"id":84080,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84069,"src":"15164:1:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15147:19:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":84082,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84056,"src":"15170:9:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"15147:32:134","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":84101,"nodeType":"IfStatement","src":"15143:178:134","trueBody":{"id":84100,"nodeType":"Block","src":"15181:140:134","statements":[{"expression":{"id":84093,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":84084,"name":"memberStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84063,"src":"15199:16:134","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[] storage pointer"}},"id":84086,"indexExpression":{"id":84085,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84069,"src":"15216:1:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"15199:19:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"baseExpression":{"id":84087,"name":"memberStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84063,"src":"15221:16:134","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[] storage pointer"}},"id":84092,"indexExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":84091,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":84088,"name":"memberStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84063,"src":"15238:16:134","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[] storage pointer"}},"id":84089,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15255:6:134","memberName":"length","nodeType":"MemberAccess","src":"15238:23:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":84090,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15264:1:134","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"15238:27:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15221:45:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"15199:67:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":84094,"nodeType":"ExpressionStatement","src":"15199:67:134"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":84095,"name":"memberStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84063,"src":"15284:16:134","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[] storage pointer"}},"id":84097,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15301:3:134","memberName":"pop","nodeType":"MemberAccess","src":"15284:20:134","typeDescriptions":{"typeIdentifier":"t_function_arraypop_nonpayable$_t_array$_t_address_$dyn_storage_ptr_$returns$__$attached_to$_t_array$_t_address_$dyn_storage_ptr_$","typeString":"function (address[] storage pointer)"}},"id":84098,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15284:22:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":84099,"nodeType":"ExpressionStatement","src":"15284:22:134"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":84075,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":84072,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84069,"src":"15095:1:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":84073,"name":"memberStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84063,"src":"15099:16:134","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[] storage pointer"}},"id":84074,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15116:6:134","memberName":"length","nodeType":"MemberAccess","src":"15099:23:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"15095:27:134","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":84103,"initializationExpression":{"assignments":[84069],"declarations":[{"constant":false,"id":84069,"mutability":"mutable","name":"i","nameLocation":"15088:1:134","nodeType":"VariableDeclaration","scope":84103,"src":"15080:9:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":84068,"name":"uint256","nodeType":"ElementaryTypeName","src":"15080:7:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":84071,"initialValue":{"hexValue":"30","id":84070,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15092:1:134","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"15080:13:134"},"loopExpression":{"expression":{"id":84077,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"15124:3:134","subExpression":{"id":84076,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84069,"src":"15124:1:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":84078,"nodeType":"ExpressionStatement","src":"15124:3:134"},"nodeType":"ForStatement","src":"15075:256:134"}]},"implemented":true,"kind":"function","modifiers":[],"name":"removeStrategyFromMember","nameLocation":"14921:24:134","parameters":{"id":84057,"nodeType":"ParameterList","parameters":[{"constant":false,"id":84054,"mutability":"mutable","name":"_member","nameLocation":"14954:7:134","nodeType":"VariableDeclaration","scope":84105,"src":"14946:15:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":84053,"name":"address","nodeType":"ElementaryTypeName","src":"14946:7:134","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":84056,"mutability":"mutable","name":"_strategy","nameLocation":"14971:9:134","nodeType":"VariableDeclaration","scope":84105,"src":"14963:17:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":84055,"name":"address","nodeType":"ElementaryTypeName","src":"14963:7:134","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"14945:36:134"},"returnParameters":{"id":84058,"nodeType":"ParameterList","parameters":[],"src":"14991:0:134"},"scope":85047,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":84209,"nodeType":"FunctionDefinition","src":"15343:998:134","nodes":[],"body":{"id":84208,"nodeType":"Block","src":"15409:932:134","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":84112,"name":"onlyRegistryMemberSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83371,"src":"15419:24:134","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":84113,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15419:26:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":84114,"nodeType":"ExpressionStatement","src":"15419:26:134"},{"assignments":[84116],"declarations":[{"constant":false,"id":84116,"mutability":"mutable","name":"member","nameLocation":"15463:6:134","nodeType":"VariableDeclaration","scope":84208,"src":"15455:14:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":84115,"name":"address","nodeType":"ElementaryTypeName","src":"15455:7:134","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":84119,"initialValue":{"expression":{"id":84117,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"15472:3:134","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":84118,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15476:6:134","memberName":"sender","nodeType":"MemberAccess","src":"15472:10:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"15455:27:134"},{"assignments":[84124],"declarations":[{"constant":false,"id":84124,"mutability":"mutable","name":"memberStrategies","nameLocation":"15509:16:134","nodeType":"VariableDeclaration","scope":84208,"src":"15492:33:134","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":84122,"name":"address","nodeType":"ElementaryTypeName","src":"15492:7:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":84123,"nodeType":"ArrayTypeName","src":"15492:9:134","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"id":84128,"initialValue":{"baseExpression":{"id":84125,"name":"strategiesByMember","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83227,"src":"15528:18:134","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_address_$dyn_storage_$","typeString":"mapping(address => address[] storage ref)"}},"id":84127,"indexExpression":{"id":84126,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84116,"src":"15547:6:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15528:26:134","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[] storage ref"}},"nodeType":"VariableDeclarationStatement","src":"15492:62:134"},{"assignments":[84130],"declarations":[{"constant":false,"id":84130,"mutability":"mutable","name":"pointsToIncrease","nameLocation":"15573:16:134","nodeType":"VariableDeclaration","scope":84208,"src":"15565:24:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":84129,"name":"uint256","nodeType":"ElementaryTypeName","src":"15565:7:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":84131,"nodeType":"VariableDeclarationStatement","src":"15565:24:134"},{"body":{"id":84183,"nodeType":"Block","src":"15654:479:134","statements":[{"expression":{"id":84153,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":84143,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84130,"src":"15773:16:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":84150,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84116,"src":"15842:6:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":84151,"name":"_amountStaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84107,"src":"15850:13:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"arguments":[{"baseExpression":{"id":84145,"name":"memberStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84124,"src":"15807:16:134","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":84147,"indexExpression":{"id":84146,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84133,"src":"15824:1:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15807:19:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":84144,"name":"IPointStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77667,"src":"15792:14:134","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IPointStrategy_$77667_$","typeString":"type(contract IPointStrategy)"}},"id":84148,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15792:35:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IPointStrategy_$77667","typeString":"contract IPointStrategy"}},"id":84149,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15828:13:134","memberName":"increasePower","nodeType":"MemberAccess","referencedDeclaration":77651,"src":"15792:49:134","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256) external returns (uint256)"}},"id":84152,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15792:72:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"15773:91:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":84154,"nodeType":"ExpressionStatement","src":"15773:91:134"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":84157,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":84155,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84130,"src":"15882:16:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":84156,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15902:1:134","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"15882:21:134","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":84182,"nodeType":"IfStatement","src":"15878:229:134","trueBody":{"id":84181,"nodeType":"Block","src":"15905:202:134","statements":[{"expression":{"id":84166,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"id":84158,"name":"memberPowerInStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83215,"src":"15923:21:134","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"}},"id":84163,"indexExpression":{"id":84159,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84116,"src":"15945:6:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15923:29:134","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":84164,"indexExpression":{"baseExpression":{"id":84160,"name":"memberStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84124,"src":"15953:16:134","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":84162,"indexExpression":{"id":84161,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84133,"src":"15970:1:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15953:19:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"15923:50:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"id":84165,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84130,"src":"15977:16:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"15923:70:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":84167,"nodeType":"ExpressionStatement","src":"15923:70:134"},{"expression":{"arguments":[{"hexValue":"537472617465677920706f776572","id":84171,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"16023:16:134","typeDescriptions":{"typeIdentifier":"t_stringliteral_703ee8b122626afba084dc6507d90f45e4b99d124abdcce4d7ee9c70af76c3ee","typeString":"literal_string \"Strategy power\""},"value":"Strategy power"},{"baseExpression":{"baseExpression":{"id":84172,"name":"memberPowerInStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83215,"src":"16041:21:134","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"}},"id":84174,"indexExpression":{"id":84173,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84116,"src":"16063:6:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"16041:29:134","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":84178,"indexExpression":{"baseExpression":{"id":84175,"name":"memberStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84124,"src":"16071:16:134","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":84177,"indexExpression":{"id":84176,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84133,"src":"16088:1:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"16071:19:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"16041:50:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_703ee8b122626afba084dc6507d90f45e4b99d124abdcce4d7ee9c70af76c3ee","typeString":"literal_string \"Strategy power\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":84168,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29549,"src":"16011:7:134","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$29549_$","typeString":"type(library console)"}},"id":84170,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16019:3:134","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":22193,"src":"16011:11:134","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":84179,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16011:81:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":84180,"nodeType":"ExpressionStatement","src":"16011:81:134"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":84139,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":84136,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84133,"src":"15620:1:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":84137,"name":"memberStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84124,"src":"15624:16:134","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":84138,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15641:6:134","memberName":"length","nodeType":"MemberAccess","src":"15624:23:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"15620:27:134","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":84184,"initializationExpression":{"assignments":[84133],"declarations":[{"constant":false,"id":84133,"mutability":"mutable","name":"i","nameLocation":"15613:1:134","nodeType":"VariableDeclaration","scope":84184,"src":"15605:9:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":84132,"name":"uint256","nodeType":"ElementaryTypeName","src":"15605:7:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":84135,"initialValue":{"hexValue":"30","id":84134,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15617:1:134","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"15605:13:134"},"loopExpression":{"expression":{"id":84141,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"15649:3:134","subExpression":{"id":84140,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84133,"src":"15649:1:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":84142,"nodeType":"ExpressionStatement","src":"15649:3:134"},"nodeType":"ForStatement","src":"15600:533:134"},{"expression":{"arguments":[{"id":84188,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84116,"src":"16172:6:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":84191,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"16188:4:134","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"}],"id":84190,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16180:7:134","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":84189,"name":"address","nodeType":"ElementaryTypeName","src":"16180:7:134","typeDescriptions":{}}},"id":84192,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16180:13:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":84193,"name":"_amountStaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84107,"src":"16195:13:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":84185,"name":"gardenToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83189,"src":"16143:11:134","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$57069","typeString":"contract IERC20"}},"id":84187,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16155:16:134","memberName":"safeTransferFrom","nodeType":"MemberAccess","referencedDeclaration":57190,"src":"16143:28:134","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IERC20_$57069_$_t_address_$_t_address_$_t_uint256_$returns$__$attached_to$_t_contract$_IERC20_$57069_$","typeString":"function (contract IERC20,address,address,uint256)"}},"id":84194,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16143:66:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":84195,"nodeType":"ExpressionStatement","src":"16143:66:134"},{"expression":{"id":84201,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"baseExpression":{"id":84196,"name":"addressToMemberInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83221,"src":"16219:19:134","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Member_$83482_storage_$","typeString":"mapping(address => struct RegistryCommunityV0_0.Member storage ref)"}},"id":84198,"indexExpression":{"id":84197,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84116,"src":"16239:6:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"16219:27:134","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$83482_storage","typeString":"struct RegistryCommunityV0_0.Member storage ref"}},"id":84199,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"16247:12:134","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":83479,"src":"16219:40:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"id":84200,"name":"_amountStaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84107,"src":"16263:13:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16219:57:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":84202,"nodeType":"ExpressionStatement","src":"16219:57:134"},{"eventCall":{"arguments":[{"id":84204,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84116,"src":"16312:6:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":84205,"name":"_amountStaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84107,"src":"16320:13:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":84203,"name":"MemberPowerIncreased","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83323,"src":"16291:20:134","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":84206,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16291:43:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":84207,"nodeType":"EmitStatement","src":"16286:48:134"}]},"functionSelector":"559de05d","implemented":true,"kind":"function","modifiers":[{"id":84110,"kind":"modifierInvocation","modifierName":{"id":84109,"name":"nonReentrant","nameLocations":["15396:12:134"],"nodeType":"IdentifierPath","referencedDeclaration":53236,"src":"15396:12:134"},"nodeType":"ModifierInvocation","src":"15396:12:134"}],"name":"increasePower","nameLocation":"15352:13:134","parameters":{"id":84108,"nodeType":"ParameterList","parameters":[{"constant":false,"id":84107,"mutability":"mutable","name":"_amountStaked","nameLocation":"15374:13:134","nodeType":"VariableDeclaration","scope":84209,"src":"15366:21:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":84106,"name":"uint256","nodeType":"ElementaryTypeName","src":"15366:7:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15365:23:134"},"returnParameters":{"id":84111,"nodeType":"ParameterList","parameters":[],"src":"15409:0:134"},"scope":85047,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":84359,"nodeType":"FunctionDefinition","src":"16481:1554:134","nodes":[],"body":{"id":84358,"nodeType":"Block","src":"16549:1486:134","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":84216,"name":"onlyRegistryMemberSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83371,"src":"16559:24:134","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":84217,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16559:26:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":84218,"nodeType":"ExpressionStatement","src":"16559:26:134"},{"assignments":[84220],"declarations":[{"constant":false,"id":84220,"mutability":"mutable","name":"member","nameLocation":"16603:6:134","nodeType":"VariableDeclaration","scope":84358,"src":"16595:14:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":84219,"name":"address","nodeType":"ElementaryTypeName","src":"16595:7:134","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":84223,"initialValue":{"expression":{"id":84221,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"16612:3:134","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":84222,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16616:6:134","memberName":"sender","nodeType":"MemberAccess","src":"16612:10:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"16595:27:134"},{"assignments":[84228],"declarations":[{"constant":false,"id":84228,"mutability":"mutable","name":"memberStrategies","nameLocation":"16650:16:134","nodeType":"VariableDeclaration","scope":84358,"src":"16632:34:134","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":84226,"name":"address","nodeType":"ElementaryTypeName","src":"16632:7:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":84227,"nodeType":"ArrayTypeName","src":"16632:9:134","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"id":84232,"initialValue":{"baseExpression":{"id":84229,"name":"strategiesByMember","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83227,"src":"16669:18:134","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_address_$dyn_storage_$","typeString":"mapping(address => address[] storage ref)"}},"id":84231,"indexExpression":{"id":84230,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84220,"src":"16688:6:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"16669:26:134","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[] storage ref"}},"nodeType":"VariableDeclarationStatement","src":"16632:63:134"},{"assignments":[84234],"declarations":[{"constant":false,"id":84234,"mutability":"mutable","name":"pointsToDecrease","nameLocation":"16714:16:134","nodeType":"VariableDeclaration","scope":84358,"src":"16706:24:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":84233,"name":"uint256","nodeType":"ElementaryTypeName","src":"16706:7:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":84235,"nodeType":"VariableDeclarationStatement","src":"16706:24:134"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":84243,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":84241,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":84236,"name":"addressToMemberInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83221,"src":"16745:19:134","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Member_$83482_storage_$","typeString":"mapping(address => struct RegistryCommunityV0_0.Member storage ref)"}},"id":84238,"indexExpression":{"id":84237,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84220,"src":"16765:6:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"16745:27:134","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$83482_storage","typeString":"struct RegistryCommunityV0_0.Member storage ref"}},"id":84239,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"16773:12:134","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":83479,"src":"16745:40:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":84240,"name":"_amountUnstaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84211,"src":"16788:15:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16745:58:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":84242,"name":"registerStakeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83160,"src":"16806:19:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16745:80:134","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":84248,"nodeType":"IfStatement","src":"16741:140:134","trueBody":{"id":84247,"nodeType":"Block","src":"16827:54:134","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":84244,"name":"DecreaseUnderMinimum","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83469,"src":"16848:20:134","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":84245,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16848:22:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":84246,"nodeType":"RevertStatement","src":"16841:29:134"}]}},{"expression":{"arguments":[{"id":84252,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84220,"src":"16915:6:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":84253,"name":"_amountUnstaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84211,"src":"16923:15:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":84249,"name":"gardenToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83189,"src":"16890:11:134","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$57069","typeString":"contract IERC20"}},"id":84251,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16902:12:134","memberName":"safeTransfer","nodeType":"MemberAccess","referencedDeclaration":57163,"src":"16890:24:134","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IERC20_$57069_$_t_address_$_t_uint256_$returns$__$attached_to$_t_contract$_IERC20_$57069_$","typeString":"function (contract IERC20,address,uint256)"}},"id":84254,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16890:49:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":84255,"nodeType":"ExpressionStatement","src":"16890:49:134"},{"body":{"id":84344,"nodeType":"Block","src":"17003:897:134","statements":[{"assignments":[84268],"declarations":[{"constant":false,"id":84268,"mutability":"mutable","name":"strategy","nameLocation":"17025:8:134","nodeType":"VariableDeclaration","scope":84344,"src":"17017:16:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":84267,"name":"address","nodeType":"ElementaryTypeName","src":"17017:7:134","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":84272,"initialValue":{"baseExpression":{"id":84269,"name":"memberStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84228,"src":"17036:16:134","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[] storage pointer"}},"id":84271,"indexExpression":{"id":84270,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84257,"src":"17053:1:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"17036:19:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"17017:38:134"},{"condition":{"arguments":[{"expression":{"arguments":[{"id":84276,"name":"IPointStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77667,"src":"17105:14:134","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IPointStrategy_$77667_$","typeString":"type(contract IPointStrategy)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_contract$_IPointStrategy_$77667_$","typeString":"type(contract IPointStrategy)"}],"id":84275,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"17100:4:134","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":84277,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17100:20:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_contract$_IPointStrategy_$77667","typeString":"type(contract IPointStrategy)"}},"id":84278,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"17121:11:134","memberName":"interfaceId","nodeType":"MemberAccess","src":"17100:32:134","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":84273,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84268,"src":"17073:8:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":84274,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17082:17:134","memberName":"supportsInterface","nodeType":"MemberAccess","referencedDeclaration":58316,"src":"17073:26:134","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_bytes4_$returns$_t_bool_$attached_to$_t_address_$","typeString":"function (address,bytes4) view returns (bool)"}},"id":84279,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17073:60:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":84342,"nodeType":"Block","src":"17623:250:134","statements":[{"expression":{"id":84331,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":84322,"name":"memberStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84228,"src":"17708:16:134","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[] storage pointer"}},"id":84324,"indexExpression":{"id":84323,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84257,"src":"17725:1:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"17708:19:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"baseExpression":{"id":84325,"name":"memberStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84228,"src":"17730:16:134","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[] storage pointer"}},"id":84330,"indexExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":84329,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":84326,"name":"memberStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84228,"src":"17747:16:134","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[] storage pointer"}},"id":84327,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17764:6:134","memberName":"length","nodeType":"MemberAccess","src":"17747:23:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":84328,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17773:1:134","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"17747:27:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"17730:45:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"17708:67:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":84332,"nodeType":"ExpressionStatement","src":"17708:67:134"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":84333,"name":"memberStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84228,"src":"17793:16:134","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[] storage pointer"}},"id":84335,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17810:3:134","memberName":"pop","nodeType":"MemberAccess","src":"17793:20:134","typeDescriptions":{"typeIdentifier":"t_function_arraypop_nonpayable$_t_array$_t_address_$dyn_storage_ptr_$returns$__$attached_to$_t_array$_t_address_$dyn_storage_ptr_$","typeString":"function (address[] storage pointer)"}},"id":84336,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17793:22:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":84337,"nodeType":"ExpressionStatement","src":"17793:22:134"},{"expression":{"arguments":[{"id":84339,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84268,"src":"17849:8:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":84338,"name":"_removeStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84526,"src":"17833:15:134","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":84340,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17833:25:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":84341,"nodeType":"ExpressionStatement","src":"17833:25:134"}]},"id":84343,"nodeType":"IfStatement","src":"17069:804:134","trueBody":{"id":84321,"nodeType":"Block","src":"17135:482:134","statements":[{"expression":{"id":84288,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":84280,"name":"pointsToDecrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84234,"src":"17153:16:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":84285,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84220,"src":"17211:6:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":84286,"name":"_amountUnstaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84211,"src":"17219:15:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"arguments":[{"id":84282,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84268,"src":"17187:8:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":84281,"name":"IPointStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77667,"src":"17172:14:134","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IPointStrategy_$77667_$","typeString":"type(contract IPointStrategy)"}},"id":84283,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17172:24:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IPointStrategy_$77667","typeString":"contract IPointStrategy"}},"id":84284,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17197:13:134","memberName":"decreasePower","nodeType":"MemberAccess","referencedDeclaration":77660,"src":"17172:38:134","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256) external returns (uint256)"}},"id":84287,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17172:63:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17153:82:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":84289,"nodeType":"ExpressionStatement","src":"17153:82:134"},{"assignments":[84291],"declarations":[{"constant":false,"id":84291,"mutability":"mutable","name":"currentPower","nameLocation":"17261:12:134","nodeType":"VariableDeclaration","scope":84321,"src":"17253:20:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":84290,"name":"uint256","nodeType":"ElementaryTypeName","src":"17253:7:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":84299,"initialValue":{"baseExpression":{"baseExpression":{"id":84292,"name":"memberPowerInStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83215,"src":"17276:21:134","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"}},"id":84294,"indexExpression":{"id":84293,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84220,"src":"17298:6:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"17276:29:134","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":84298,"indexExpression":{"baseExpression":{"id":84295,"name":"memberStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84228,"src":"17306:16:134","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[] storage pointer"}},"id":84297,"indexExpression":{"id":84296,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84257,"src":"17323:1:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"17306:19:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"17276:50:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"17253:73:134"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":84302,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":84300,"name":"pointsToDecrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84234,"src":"17348:16:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":84301,"name":"currentPower","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84291,"src":"17367:12:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17348:31:134","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":84319,"nodeType":"Block","src":"17492:111:134","statements":[{"expression":{"id":84317,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"id":84309,"name":"memberPowerInStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83215,"src":"17514:21:134","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"}},"id":84314,"indexExpression":{"id":84310,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84220,"src":"17536:6:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"17514:29:134","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":84315,"indexExpression":{"baseExpression":{"id":84311,"name":"memberStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84228,"src":"17544:16:134","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[] storage pointer"}},"id":84313,"indexExpression":{"id":84312,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84257,"src":"17561:1:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"17544:19:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"17514:50:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"id":84316,"name":"pointsToDecrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84234,"src":"17568:16:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17514:70:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":84318,"nodeType":"ExpressionStatement","src":"17514:70:134"}]},"id":84320,"nodeType":"IfStatement","src":"17344:259:134","trueBody":{"id":84308,"nodeType":"Block","src":"17381:105:134","statements":[{"errorCall":{"arguments":[{"id":84304,"name":"pointsToDecrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84234,"src":"17436:16:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":84305,"name":"currentPower","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84291,"src":"17454:12:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":84303,"name":"CantDecreaseMoreThanPower","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83475,"src":"17410:25:134","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":84306,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17410:57:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":84307,"nodeType":"RevertStatement","src":"17403:64:134"}]}}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":84263,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":84260,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84257,"src":"16969:1:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":84261,"name":"memberStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84228,"src":"16973:16:134","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[] storage pointer"}},"id":84262,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16990:6:134","memberName":"length","nodeType":"MemberAccess","src":"16973:23:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16969:27:134","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":84345,"initializationExpression":{"assignments":[84257],"declarations":[{"constant":false,"id":84257,"mutability":"mutable","name":"i","nameLocation":"16962:1:134","nodeType":"VariableDeclaration","scope":84345,"src":"16954:9:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":84256,"name":"uint256","nodeType":"ElementaryTypeName","src":"16954:7:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":84259,"initialValue":{"hexValue":"30","id":84258,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16966:1:134","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"16954:13:134"},"loopExpression":{"expression":{"id":84265,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"16998:3:134","subExpression":{"id":84264,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84257,"src":"16998:1:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":84266,"nodeType":"ExpressionStatement","src":"16998:3:134"},"nodeType":"ForStatement","src":"16949:951:134"},{"expression":{"id":84351,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"baseExpression":{"id":84346,"name":"addressToMemberInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83221,"src":"17909:19:134","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Member_$83482_storage_$","typeString":"mapping(address => struct RegistryCommunityV0_0.Member storage ref)"}},"id":84348,"indexExpression":{"id":84347,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84220,"src":"17929:6:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"17909:27:134","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$83482_storage","typeString":"struct RegistryCommunityV0_0.Member storage ref"}},"id":84349,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"17937:12:134","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":83479,"src":"17909:40:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"id":84350,"name":"_amountUnstaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84211,"src":"17953:15:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17909:59:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":84352,"nodeType":"ExpressionStatement","src":"17909:59:134"},{"eventCall":{"arguments":[{"id":84354,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84220,"src":"18004:6:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":84355,"name":"_amountUnstaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84211,"src":"18012:15:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":84353,"name":"MemberPowerDecreased","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83329,"src":"17983:20:134","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":84356,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17983:45:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":84357,"nodeType":"EmitStatement","src":"17978:50:134"}]},"functionSelector":"5ecf71c5","implemented":true,"kind":"function","modifiers":[{"id":84214,"kind":"modifierInvocation","modifierName":{"id":84213,"name":"nonReentrant","nameLocations":["16536:12:134"],"nodeType":"IdentifierPath","referencedDeclaration":53236,"src":"16536:12:134"},"nodeType":"ModifierInvocation","src":"16536:12:134"}],"name":"decreasePower","nameLocation":"16490:13:134","parameters":{"id":84212,"nodeType":"ParameterList","parameters":[{"constant":false,"id":84211,"mutability":"mutable","name":"_amountUnstaked","nameLocation":"16512:15:134","nodeType":"VariableDeclaration","scope":84359,"src":"16504:23:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":84210,"name":"uint256","nodeType":"ElementaryTypeName","src":"16504:7:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"16503:25:134"},"returnParameters":{"id":84215,"nodeType":"ParameterList","parameters":[],"src":"16549:0:134"},"scope":85047,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":84375,"nodeType":"FunctionDefinition","src":"18041:165:134","nodes":[],"body":{"id":84374,"nodeType":"Block","src":"18141:65:134","nodes":[],"statements":[{"expression":{"baseExpression":{"baseExpression":{"id":84368,"name":"memberPowerInStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83215,"src":"18158:21:134","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"}},"id":84370,"indexExpression":{"id":84369,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84361,"src":"18180:7:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"18158:30:134","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":84372,"indexExpression":{"id":84371,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84363,"src":"18189:9:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"18158:41:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":84367,"id":84373,"nodeType":"Return","src":"18151:48:134"}]},"functionSelector":"7817ee4f","implemented":true,"kind":"function","modifiers":[],"name":"getMemberPowerInStrategy","nameLocation":"18050:24:134","parameters":{"id":84364,"nodeType":"ParameterList","parameters":[{"constant":false,"id":84361,"mutability":"mutable","name":"_member","nameLocation":"18083:7:134","nodeType":"VariableDeclaration","scope":84375,"src":"18075:15:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":84360,"name":"address","nodeType":"ElementaryTypeName","src":"18075:7:134","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":84363,"mutability":"mutable","name":"_strategy","nameLocation":"18100:9:134","nodeType":"VariableDeclaration","scope":84375,"src":"18092:17:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":84362,"name":"address","nodeType":"ElementaryTypeName","src":"18092:7:134","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"18074:36:134"},"returnParameters":{"id":84367,"nodeType":"ParameterList","parameters":[{"constant":false,"id":84366,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":84375,"src":"18132:7:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":84365,"name":"uint256","nodeType":"ElementaryTypeName","src":"18132:7:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"18131:9:134"},"scope":85047,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":84388,"nodeType":"FunctionDefinition","src":"18212:143:134","nodes":[],"body":{"id":84387,"nodeType":"Block","src":"18290:65:134","nodes":[],"statements":[{"expression":{"expression":{"baseExpression":{"id":84382,"name":"addressToMemberInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83221,"src":"18307:19:134","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Member_$83482_storage_$","typeString":"mapping(address => struct RegistryCommunityV0_0.Member storage ref)"}},"id":84384,"indexExpression":{"id":84383,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84377,"src":"18327:7:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"18307:28:134","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$83482_storage","typeString":"struct RegistryCommunityV0_0.Member storage ref"}},"id":84385,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"18336:12:134","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":83479,"src":"18307:41:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":84381,"id":84386,"nodeType":"Return","src":"18300:48:134"}]},"functionSelector":"2c611c4a","implemented":true,"kind":"function","modifiers":[],"name":"getMemberStakedAmount","nameLocation":"18221:21:134","parameters":{"id":84378,"nodeType":"ParameterList","parameters":[{"constant":false,"id":84377,"mutability":"mutable","name":"_member","nameLocation":"18251:7:134","nodeType":"VariableDeclaration","scope":84388,"src":"18243:15:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":84376,"name":"address","nodeType":"ElementaryTypeName","src":"18243:7:134","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"18242:17:134"},"returnParameters":{"id":84381,"nodeType":"ParameterList","parameters":[{"constant":false,"id":84380,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":84388,"src":"18281:7:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":84379,"name":"uint256","nodeType":"ElementaryTypeName","src":"18281:7:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"18280:9:134"},"scope":85047,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":84425,"nodeType":"FunctionDefinition","src":"18484:313:134","nodes":[],"body":{"id":84424,"nodeType":"Block","src":"18536:261:134","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":84393,"name":"onlyCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83357,"src":"18546:15:134","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":84394,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18546:17:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":84395,"nodeType":"ExpressionStatement","src":"18546:17:134"},{"assignments":[84397],"declarations":[{"constant":false,"id":84397,"mutability":"mutable","name":"strategy","nameLocation":"18581:8:134","nodeType":"VariableDeclaration","scope":84424,"src":"18573:16:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":84396,"name":"address","nodeType":"ElementaryTypeName","src":"18573:7:134","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":84406,"initialValue":{"arguments":[{"expression":{"arguments":[{"id":84402,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84390,"src":"18613:6:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":84400,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83197,"src":"18600:4:134","typeDescriptions":{"typeIdentifier":"t_contract$_FAllo_$85656","typeString":"contract FAllo"}},"id":84401,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18605:7:134","memberName":"getPool","nodeType":"MemberAccess","referencedDeclaration":85655,"src":"18600:12:134","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_struct$_Pool_$2319_memory_ptr_$","typeString":"function (uint256) view external returns (struct IAllo.Pool memory)"}},"id":84403,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18600:20:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"id":84404,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"18621:8:134","memberName":"strategy","nodeType":"MemberAccess","referencedDeclaration":2309,"src":"18600:29:134","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}],"id":84399,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"18592:7:134","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":84398,"name":"address","nodeType":"ElementaryTypeName","src":"18592:7:134","typeDescriptions":{}}},"id":84405,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18592:38:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"18573:57:134"},{"expression":{"arguments":[{"id":84408,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84397,"src":"18659:8:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":84407,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84478,"src":"18640:18:134","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":84409,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18640:28:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":84410,"nodeType":"ExpressionStatement","src":"18640:28:134"},{"condition":{"arguments":[{"expression":{"arguments":[{"id":84414,"name":"IPointStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77667,"src":"18714:14:134","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IPointStrategy_$77667_$","typeString":"type(contract IPointStrategy)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_contract$_IPointStrategy_$77667_$","typeString":"type(contract IPointStrategy)"}],"id":84413,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"18709:4:134","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":84415,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18709:20:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_contract$_IPointStrategy_$77667","typeString":"type(contract IPointStrategy)"}},"id":84416,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"18730:11:134","memberName":"interfaceId","nodeType":"MemberAccess","src":"18709:32:134","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":84411,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84397,"src":"18682:8:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":84412,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18691:17:134","memberName":"supportsInterface","nodeType":"MemberAccess","referencedDeclaration":58316,"src":"18682:26:134","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_bytes4_$returns$_t_bool_$attached_to$_t_address_$","typeString":"function (address,bytes4) view returns (bool)"}},"id":84417,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18682:60:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":84423,"nodeType":"IfStatement","src":"18678:113:134","trueBody":{"id":84422,"nodeType":"Block","src":"18744:47:134","statements":[{"expression":{"arguments":[{"id":84419,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84397,"src":"18771:8:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":84418,"name":"_addStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84462,"src":"18758:12:134","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":84420,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18758:22:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":84421,"nodeType":"ExpressionStatement","src":"18758:22:134"}]}}]},"functionSelector":"82d6a1e7","implemented":true,"kind":"function","modifiers":[],"name":"addStrategyByPoolId","nameLocation":"18493:19:134","parameters":{"id":84391,"nodeType":"ParameterList","parameters":[{"constant":false,"id":84390,"mutability":"mutable","name":"poolId","nameLocation":"18521:6:134","nodeType":"VariableDeclaration","scope":84425,"src":"18513:14:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":84389,"name":"uint256","nodeType":"ElementaryTypeName","src":"18513:7:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"18512:16:134"},"returnParameters":{"id":84392,"nodeType":"ParameterList","parameters":[],"src":"18536:0:134"},"scope":85047,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":84438,"nodeType":"FunctionDefinition","src":"18803:120:134","nodes":[],"body":{"id":84437,"nodeType":"Block","src":"18853:70:134","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":84430,"name":"onlyCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83357,"src":"18863:15:134","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":84431,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18863:17:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":84432,"nodeType":"ExpressionStatement","src":"18863:17:134"},{"expression":{"arguments":[{"id":84434,"name":"_newStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84427,"src":"18903:12:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":84433,"name":"_addStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84462,"src":"18890:12:134","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":84435,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18890:26:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":84436,"nodeType":"ExpressionStatement","src":"18890:26:134"}]},"functionSelector":"223e5479","implemented":true,"kind":"function","modifiers":[],"name":"addStrategy","nameLocation":"18812:11:134","parameters":{"id":84428,"nodeType":"ParameterList","parameters":[{"constant":false,"id":84427,"mutability":"mutable","name":"_newStrategy","nameLocation":"18832:12:134","nodeType":"VariableDeclaration","scope":84438,"src":"18824:20:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":84426,"name":"address","nodeType":"ElementaryTypeName","src":"18824:7:134","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"18823:22:134"},"returnParameters":{"id":84429,"nodeType":"ParameterList","parameters":[],"src":"18853:0:134"},"scope":85047,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":84462,"nodeType":"FunctionDefinition","src":"18929:244:134","nodes":[],"body":{"id":84461,"nodeType":"Block","src":"18982:191:134","nodes":[],"statements":[{"condition":{"baseExpression":{"id":84443,"name":"enabledStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83208,"src":"18996:17:134","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":84445,"indexExpression":{"id":84444,"name":"_newStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84440,"src":"19014:12:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"18996:31:134","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":84450,"nodeType":"IfStatement","src":"18992:85:134","trueBody":{"id":84449,"nodeType":"Block","src":"19029:48:134","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":84446,"name":"StrategyExists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83453,"src":"19050:14:134","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":84447,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19050:16:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":84448,"nodeType":"RevertStatement","src":"19043:23:134"}]}},{"expression":{"id":84455,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":84451,"name":"enabledStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83208,"src":"19086:17:134","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":84453,"indexExpression":{"id":84452,"name":"_newStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84440,"src":"19104:12:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"19086:31:134","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":84454,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"19120:4:134","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"19086:38:134","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":84456,"nodeType":"ExpressionStatement","src":"19086:38:134"},{"eventCall":{"arguments":[{"id":84458,"name":"_newStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84440,"src":"19153:12:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":84457,"name":"StrategyAdded","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83295,"src":"19139:13:134","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":84459,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19139:27:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":84460,"nodeType":"EmitStatement","src":"19134:32:134"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_addStrategy","nameLocation":"18938:12:134","parameters":{"id":84441,"nodeType":"ParameterList","parameters":[{"constant":false,"id":84440,"mutability":"mutable","name":"_newStrategy","nameLocation":"18959:12:134","nodeType":"VariableDeclaration","scope":84462,"src":"18951:20:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":84439,"name":"address","nodeType":"ElementaryTypeName","src":"18951:7:134","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"18950:22:134"},"returnParameters":{"id":84442,"nodeType":"ParameterList","parameters":[],"src":"18982:0:134"},"scope":85047,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":84478,"nodeType":"FunctionDefinition","src":"19179:133:134","nodes":[],"body":{"id":84477,"nodeType":"Block","src":"19239:73:134","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":84472,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":84467,"name":"_address","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84464,"src":"19253:8:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":84470,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"19273:1:134","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":84469,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"19265:7:134","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":84468,"name":"address","nodeType":"ElementaryTypeName","src":"19265:7:134","typeDescriptions":{}}},"id":84471,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19265:10:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"19253:22:134","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":84476,"nodeType":"IfStatement","src":"19249:56:134","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":84473,"name":"AddressCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83437,"src":"19284:19:134","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":84474,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19284:21:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":84475,"nodeType":"RevertStatement","src":"19277:28:134"}}]},"implemented":true,"kind":"function","modifiers":[],"name":"_revertZeroAddress","nameLocation":"19188:18:134","parameters":{"id":84465,"nodeType":"ParameterList","parameters":[{"constant":false,"id":84464,"mutability":"mutable","name":"_address","nameLocation":"19215:8:134","nodeType":"VariableDeclaration","scope":84478,"src":"19207:16:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":84463,"name":"address","nodeType":"ElementaryTypeName","src":"19207:7:134","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"19206:18:134"},"returnParameters":{"id":84466,"nodeType":"ParameterList","parameters":[],"src":"19239:0:134"},"scope":85047,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":84506,"nodeType":"FunctionDefinition","src":"19318:229:134","nodes":[],"body":{"id":84505,"nodeType":"Block","src":"19373:174:134","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":84483,"name":"onlyCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83357,"src":"19383:15:134","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":84484,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19383:17:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":84485,"nodeType":"ExpressionStatement","src":"19383:17:134"},{"assignments":[84487],"declarations":[{"constant":false,"id":84487,"mutability":"mutable","name":"strategy","nameLocation":"19418:8:134","nodeType":"VariableDeclaration","scope":84505,"src":"19410:16:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":84486,"name":"address","nodeType":"ElementaryTypeName","src":"19410:7:134","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":84496,"initialValue":{"arguments":[{"expression":{"arguments":[{"id":84492,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84480,"src":"19450:6:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":84490,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83197,"src":"19437:4:134","typeDescriptions":{"typeIdentifier":"t_contract$_FAllo_$85656","typeString":"contract FAllo"}},"id":84491,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19442:7:134","memberName":"getPool","nodeType":"MemberAccess","referencedDeclaration":85655,"src":"19437:12:134","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_struct$_Pool_$2319_memory_ptr_$","typeString":"function (uint256) view external returns (struct IAllo.Pool memory)"}},"id":84493,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19437:20:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"id":84494,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"19458:8:134","memberName":"strategy","nodeType":"MemberAccess","referencedDeclaration":2309,"src":"19437:29:134","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}],"id":84489,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"19429:7:134","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":84488,"name":"address","nodeType":"ElementaryTypeName","src":"19429:7:134","typeDescriptions":{}}},"id":84495,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19429:38:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"19410:57:134"},{"expression":{"arguments":[{"id":84498,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84487,"src":"19496:8:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":84497,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84478,"src":"19477:18:134","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":84499,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19477:28:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":84500,"nodeType":"ExpressionStatement","src":"19477:28:134"},{"expression":{"arguments":[{"id":84502,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84487,"src":"19531:8:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":84501,"name":"_removeStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84526,"src":"19515:15:134","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":84503,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19515:25:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":84504,"nodeType":"ExpressionStatement","src":"19515:25:134"}]},"functionSelector":"73265c37","implemented":true,"kind":"function","modifiers":[],"name":"removeStrategyByPoolId","nameLocation":"19327:22:134","parameters":{"id":84481,"nodeType":"ParameterList","parameters":[{"constant":false,"id":84480,"mutability":"mutable","name":"poolId","nameLocation":"19358:6:134","nodeType":"VariableDeclaration","scope":84506,"src":"19350:14:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":84479,"name":"uint256","nodeType":"ElementaryTypeName","src":"19350:7:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"19349:16:134"},"returnParameters":{"id":84482,"nodeType":"ParameterList","parameters":[],"src":"19373:0:134"},"scope":85047,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":84526,"nodeType":"FunctionDefinition","src":"19553:186:134","nodes":[],"body":{"id":84525,"nodeType":"Block","src":"19606:133:134","nodes":[],"statements":[{"expression":{"arguments":[{"id":84512,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84508,"src":"19635:9:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":84511,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84478,"src":"19616:18:134","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":84513,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19616:29:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":84514,"nodeType":"ExpressionStatement","src":"19616:29:134"},{"expression":{"id":84519,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":84515,"name":"enabledStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83208,"src":"19655:17:134","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":84517,"indexExpression":{"id":84516,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84508,"src":"19673:9:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"19655:28:134","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"66616c7365","id":84518,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"19686:5:134","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"src":"19655:36:134","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":84520,"nodeType":"ExpressionStatement","src":"19655:36:134"},{"eventCall":{"arguments":[{"id":84522,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84508,"src":"19722:9:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":84521,"name":"StrategyRemoved","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83299,"src":"19706:15:134","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":84523,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19706:26:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":84524,"nodeType":"EmitStatement","src":"19701:31:134"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_removeStrategy","nameLocation":"19562:15:134","parameters":{"id":84509,"nodeType":"ParameterList","parameters":[{"constant":false,"id":84508,"mutability":"mutable","name":"_strategy","nameLocation":"19586:9:134","nodeType":"VariableDeclaration","scope":84526,"src":"19578:17:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":84507,"name":"address","nodeType":"ElementaryTypeName","src":"19578:7:134","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"19577:19:134"},"returnParameters":{"id":84510,"nodeType":"ParameterList","parameters":[],"src":"19606:0:134"},"scope":85047,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":84539,"nodeType":"FunctionDefinition","src":"19745:120:134","nodes":[],"body":{"id":84538,"nodeType":"Block","src":"19795:70:134","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":84531,"name":"onlyCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83357,"src":"19805:15:134","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":84532,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19805:17:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":84533,"nodeType":"ExpressionStatement","src":"19805:17:134"},{"expression":{"arguments":[{"id":84535,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84528,"src":"19848:9:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":84534,"name":"_removeStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84526,"src":"19832:15:134","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":84536,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19832:26:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":84537,"nodeType":"ExpressionStatement","src":"19832:26:134"}]},"functionSelector":"175188e8","implemented":true,"kind":"function","modifiers":[],"name":"removeStrategy","nameLocation":"19754:14:134","parameters":{"id":84529,"nodeType":"ParameterList","parameters":[{"constant":false,"id":84528,"mutability":"mutable","name":"_strategy","nameLocation":"19777:9:134","nodeType":"VariableDeclaration","scope":84539,"src":"19769:17:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":84527,"name":"address","nodeType":"ElementaryTypeName","src":"19769:7:134","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"19768:19:134"},"returnParameters":{"id":84530,"nodeType":"ParameterList","parameters":[],"src":"19795:0:134"},"scope":85047,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":84564,"nodeType":"FunctionDefinition","src":"19871:240:134","nodes":[],"body":{"id":84563,"nodeType":"Block","src":"19925:186:134","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":84544,"name":"onlyCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83357,"src":"19935:15:134","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":84545,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19935:17:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":84546,"nodeType":"ExpressionStatement","src":"19935:17:134"},{"expression":{"arguments":[{"id":84548,"name":"_safe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84541,"src":"19981:5:134","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":84547,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84478,"src":"19962:18:134","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":84549,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19962:25:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":84550,"nodeType":"ExpressionStatement","src":"19962:25:134"},{"expression":{"id":84553,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":84551,"name":"pendingCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83181,"src":"19997:18:134","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":84552,"name":"_safe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84541,"src":"20018:5:134","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"src":"19997:26:134","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"id":84554,"nodeType":"ExpressionStatement","src":"19997:26:134"},{"eventCall":{"arguments":[{"arguments":[{"id":84558,"name":"councilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83193,"src":"20071:11:134","typeDescriptions":{"typeIdentifier":"t_contract$_ISafe_$85665","typeString":"contract ISafe"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ISafe_$85665","typeString":"contract ISafe"}],"id":84557,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"20063:7:134","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":84556,"name":"address","nodeType":"ElementaryTypeName","src":"20063:7:134","typeDescriptions":{}}},"id":84559,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20063:20:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":84560,"name":"pendingCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83181,"src":"20085:18:134","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":84555,"name":"CouncilSafeChangeStarted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83258,"src":"20038:24:134","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address)"}},"id":84561,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20038:66:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":84562,"nodeType":"EmitStatement","src":"20033:71:134"}]},"functionSelector":"397e2543","implemented":true,"kind":"function","modifiers":[],"name":"setCouncilSafe","nameLocation":"19880:14:134","parameters":{"id":84542,"nodeType":"ParameterList","parameters":[{"constant":false,"id":84541,"mutability":"mutable","name":"_safe","nameLocation":"19911:5:134","nodeType":"VariableDeclaration","scope":84564,"src":"19895:21:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"},"typeName":{"id":84540,"name":"address","nodeType":"ElementaryTypeName","src":"19895:15:134","stateMutability":"payable","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"visibility":"internal"}],"src":"19894:23:134"},"returnParameters":{"id":84543,"nodeType":"ParameterList","parameters":[],"src":"19925:0:134"},"scope":85047,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":84581,"nodeType":"FunctionDefinition","src":"20117:179:134","nodes":[],"body":{"id":84580,"nodeType":"Block","src":"20156:140:134","nodes":[],"statements":[{"expression":{"id":84571,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":84567,"name":"councilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83193,"src":"20166:11:134","typeDescriptions":{"typeIdentifier":"t_contract$_ISafe_$85665","typeString":"contract ISafe"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":84569,"name":"pendingCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83181,"src":"20186:18:134","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":84568,"name":"ISafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85665,"src":"20180:5:134","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ISafe_$85665_$","typeString":"type(contract ISafe)"}},"id":84570,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20180:25:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ISafe_$85665","typeString":"contract ISafe"}},"src":"20166:39:134","typeDescriptions":{"typeIdentifier":"t_contract$_ISafe_$85665","typeString":"contract ISafe"}},"id":84572,"nodeType":"ExpressionStatement","src":"20166:39:134"},{"expression":{"id":84574,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"20215:25:134","subExpression":{"id":84573,"name":"pendingCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83181,"src":"20222:18:134","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":84575,"nodeType":"ExpressionStatement","src":"20215:25:134"},{"eventCall":{"arguments":[{"id":84577,"name":"pendingCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83181,"src":"20270:18:134","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":84576,"name":"CouncilSafeSet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83252,"src":"20255:14:134","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":84578,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20255:34:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":84579,"nodeType":"EmitStatement","src":"20250:39:134"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_changeCouncilSafe","nameLocation":"20126:18:134","parameters":{"id":84565,"nodeType":"ParameterList","parameters":[],"src":"20144:2:134"},"returnParameters":{"id":84566,"nodeType":"ParameterList","parameters":[],"src":"20156:0:134"},"scope":85047,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":84597,"nodeType":"FunctionDefinition","src":"20302:171:134","nodes":[],"body":{"id":84596,"nodeType":"Block","src":"20338:135:134","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":84587,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":84584,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"20352:3:134","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":84585,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20356:6:134","memberName":"sender","nodeType":"MemberAccess","src":"20352:10:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":84586,"name":"pendingCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83181,"src":"20366:18:134","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"src":"20352:32:134","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":84592,"nodeType":"IfStatement","src":"20348:89:134","trueBody":{"id":84591,"nodeType":"Block","src":"20386:51:134","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":84588,"name":"SenderNotNewOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83457,"src":"20407:17:134","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":84589,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20407:19:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":84590,"nodeType":"RevertStatement","src":"20400:26:134"}]}},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":84593,"name":"_changeCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84581,"src":"20446:18:134","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":84594,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20446:20:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":84595,"nodeType":"ExpressionStatement","src":"20446:20:134"}]},"functionSelector":"b5058c50","implemented":true,"kind":"function","modifiers":[],"name":"acceptCouncilSafe","nameLocation":"20311:17:134","parameters":{"id":84582,"nodeType":"ParameterList","parameters":[],"src":"20328:2:134"},"returnParameters":{"id":84583,"nodeType":"ParameterList","parameters":[],"src":"20338:0:134"},"scope":85047,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":84615,"nodeType":"FunctionDefinition","src":"20479:182:134","nodes":[],"body":{"id":84614,"nodeType":"Block","src":"20551:110:134","nodes":[],"statements":[{"assignments":[84606],"declarations":[{"constant":false,"id":84606,"mutability":"mutable","name":"newMember","nameLocation":"20575:9:134","nodeType":"VariableDeclaration","scope":84614,"src":"20561:23:134","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$83482_memory_ptr","typeString":"struct RegistryCommunityV0_0.Member"},"typeName":{"id":84605,"nodeType":"UserDefinedTypeName","pathNode":{"id":84604,"name":"Member","nameLocations":["20561:6:134"],"nodeType":"IdentifierPath","referencedDeclaration":83482,"src":"20561:6:134"},"referencedDeclaration":83482,"src":"20561:6:134","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$83482_storage_ptr","typeString":"struct RegistryCommunityV0_0.Member"}},"visibility":"internal"}],"id":84610,"initialValue":{"baseExpression":{"id":84607,"name":"addressToMemberInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83221,"src":"20587:19:134","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Member_$83482_storage_$","typeString":"mapping(address => struct RegistryCommunityV0_0.Member storage ref)"}},"id":84609,"indexExpression":{"id":84608,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84599,"src":"20607:7:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"20587:28:134","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$83482_storage","typeString":"struct RegistryCommunityV0_0.Member storage ref"}},"nodeType":"VariableDeclarationStatement","src":"20561:54:134"},{"expression":{"expression":{"id":84611,"name":"newMember","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84606,"src":"20632:9:134","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$83482_memory_ptr","typeString":"struct RegistryCommunityV0_0.Member memory"}},"id":84612,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"20642:12:134","memberName":"isRegistered","nodeType":"MemberAccess","referencedDeclaration":83481,"src":"20632:22:134","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":84603,"id":84613,"nodeType":"Return","src":"20625:29:134"}]},"functionSelector":"a230c524","implemented":true,"kind":"function","modifiers":[],"name":"isMember","nameLocation":"20488:8:134","parameters":{"id":84600,"nodeType":"ParameterList","parameters":[{"constant":false,"id":84599,"mutability":"mutable","name":"_member","nameLocation":"20505:7:134","nodeType":"VariableDeclaration","scope":84615,"src":"20497:15:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":84598,"name":"address","nodeType":"ElementaryTypeName","src":"20497:7:134","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"20496:17:134"},"returnParameters":{"id":84603,"nodeType":"ParameterList","parameters":[{"constant":false,"id":84602,"mutability":"mutable","name":"_isMember","nameLocation":"20540:9:134","nodeType":"VariableDeclaration","scope":84615,"src":"20535:14:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":84601,"name":"bool","nodeType":"ElementaryTypeName","src":"20535:4:134","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"20534:16:134"},"scope":85047,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":84774,"nodeType":"FunctionDefinition","src":"20667:1907:134","nodes":[],"body":{"id":84773,"nodeType":"Block","src":"20721:1853:134","nodes":[],"statements":[{"assignments":[84621],"declarations":[{"constant":false,"id":84621,"mutability":"mutable","name":"_member","nameLocation":"20739:7:134","nodeType":"VariableDeclaration","scope":84773,"src":"20731:15:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":84620,"name":"address","nodeType":"ElementaryTypeName","src":"20731:7:134","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":84624,"initialValue":{"expression":{"id":84622,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"20749:3:134","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":84623,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20753:6:134","memberName":"sender","nodeType":"MemberAccess","src":"20749:10:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"20731:28:134"},{"assignments":[84627],"declarations":[{"constant":false,"id":84627,"mutability":"mutable","name":"newMember","nameLocation":"20784:9:134","nodeType":"VariableDeclaration","scope":84773,"src":"20769:24:134","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$83482_storage_ptr","typeString":"struct RegistryCommunityV0_0.Member"},"typeName":{"id":84626,"nodeType":"UserDefinedTypeName","pathNode":{"id":84625,"name":"Member","nameLocations":["20769:6:134"],"nodeType":"IdentifierPath","referencedDeclaration":83482,"src":"20769:6:134"},"referencedDeclaration":83482,"src":"20769:6:134","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$83482_storage_ptr","typeString":"struct RegistryCommunityV0_0.Member"}},"visibility":"internal"}],"id":84631,"initialValue":{"baseExpression":{"id":84628,"name":"addressToMemberInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83221,"src":"20796:19:134","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Member_$83482_storage_$","typeString":"mapping(address => struct RegistryCommunityV0_0.Member storage ref)"}},"id":84630,"indexExpression":{"id":84629,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84621,"src":"20816:7:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"20796:28:134","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$83482_storage","typeString":"struct RegistryCommunityV0_0.Member storage ref"}},"nodeType":"VariableDeclarationStatement","src":"20769:55:134"},{"assignments":[84634],"declarations":[{"constant":false,"id":84634,"mutability":"mutable","name":"gardensFactory","nameLocation":"20850:14:134","nodeType":"VariableDeclaration","scope":84773,"src":"20834:30:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryFactory_$85283","typeString":"contract RegistryFactory"},"typeName":{"id":84633,"nodeType":"UserDefinedTypeName","pathNode":{"id":84632,"name":"RegistryFactory","nameLocations":["20834:15:134"],"nodeType":"IdentifierPath","referencedDeclaration":85283,"src":"20834:15:134"},"referencedDeclaration":85283,"src":"20834:15:134","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryFactory_$85283","typeString":"contract RegistryFactory"}},"visibility":"internal"}],"id":84638,"initialValue":{"arguments":[{"id":84636,"name":"registryFactory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83172,"src":"20883:15:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":84635,"name":"RegistryFactory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85283,"src":"20867:15:134","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_RegistryFactory_$85283_$","typeString":"type(contract RegistryFactory)"}},"id":84637,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20867:32:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryFactory_$85283","typeString":"contract RegistryFactory"}},"nodeType":"VariableDeclarationStatement","src":"20834:65:134"},{"assignments":[84640],"declarations":[{"constant":false,"id":84640,"mutability":"mutable","name":"communityFeeAmount","nameLocation":"20917:18:134","nodeType":"VariableDeclaration","scope":84773,"src":"20909:26:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":84639,"name":"uint256","nodeType":"ElementaryTypeName","src":"20909:7:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":84650,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":84649,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":84643,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":84641,"name":"registerStakeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83160,"src":"20939:19:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":84642,"name":"communityFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83163,"src":"20961:12:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20939:34:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":84644,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"20938:36:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":84647,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"313030","id":84645,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20978:3:134","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":84646,"name":"PRECISION_SCALE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83148,"src":"20984:15:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20978:21:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":84648,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"20977:23:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20938:62:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"20909:91:134"},{"assignments":[84652],"declarations":[{"constant":false,"id":84652,"mutability":"mutable","name":"gardensFeeAmount","nameLocation":"21018:16:134","nodeType":"VariableDeclaration","scope":84773,"src":"21010:24:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":84651,"name":"uint256","nodeType":"ElementaryTypeName","src":"21010:7:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":84668,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":84667,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":84661,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":84653,"name":"registerStakeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83160,"src":"21050:19:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"arguments":[{"arguments":[{"id":84658,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"21110:4:134","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"}],"id":84657,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"21102:7:134","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":84656,"name":"address","nodeType":"ElementaryTypeName","src":"21102:7:134","typeDescriptions":{}}},"id":84659,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21102:13:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":84654,"name":"gardensFactory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84634,"src":"21072:14:134","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryFactory_$85283","typeString":"contract RegistryFactory"}},"id":84655,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21087:14:134","memberName":"getProtocolFee","nodeType":"MemberAccess","referencedDeclaration":85282,"src":"21072:29:134","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":84660,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21072:44:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"21050:66:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":84662,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"21049:68:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":84665,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"313030","id":84663,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21121:3:134","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":84664,"name":"PRECISION_SCALE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83148,"src":"21127:15:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"21121:21:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":84666,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"21120:23:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"21049:94:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"21010:133:134"},{"condition":{"id":84672,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"21157:18:134","subExpression":{"arguments":[{"id":84670,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84621,"src":"21167:7:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":84669,"name":"isMember","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84615,"src":"21158:8:134","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":84671,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21158:17:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":84772,"nodeType":"IfStatement","src":"21153:1415:134","trueBody":{"id":84771,"nodeType":"Block","src":"21177:1391:134","statements":[{"expression":{"id":84677,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":84673,"name":"newMember","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84627,"src":"21191:9:134","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$83482_storage_ptr","typeString":"struct RegistryCommunityV0_0.Member storage pointer"}},"id":84675,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"21201:12:134","memberName":"isRegistered","nodeType":"MemberAccess","referencedDeclaration":83481,"src":"21191:22:134","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":84676,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"21216:4:134","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"21191:29:134","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":84678,"nodeType":"ExpressionStatement","src":"21191:29:134"},{"expression":{"id":84683,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":84679,"name":"newMember","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84627,"src":"21235:9:134","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$83482_storage_ptr","typeString":"struct RegistryCommunityV0_0.Member storage pointer"}},"id":84681,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"21245:12:134","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":83479,"src":"21235:22:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":84682,"name":"registerStakeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83160,"src":"21260:19:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"21235:44:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":84684,"nodeType":"ExpressionStatement","src":"21235:44:134"},{"expression":{"arguments":[{"hexValue":"67617264656e546f6b656e","id":84688,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"21377:13:134","typeDescriptions":{"typeIdentifier":"t_stringliteral_b6b24c50b8ec3de451e1d7969209d38d6bc12dc5d1266588ab0e293c9a1b753a","typeString":"literal_string \"gardenToken\""},"value":"gardenToken"},{"arguments":[{"id":84691,"name":"gardenToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83189,"src":"21400:11:134","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$57069","typeString":"contract IERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$57069","typeString":"contract IERC20"}],"id":84690,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"21392:7:134","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":84689,"name":"address","nodeType":"ElementaryTypeName","src":"21392:7:134","typeDescriptions":{}}},"id":84692,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21392:20:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_b6b24c50b8ec3de451e1d7969209d38d6bc12dc5d1266588ab0e293c9a1b753a","typeString":"literal_string \"gardenToken\""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":84685,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29549,"src":"21365:7:134","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$29549_$","typeString":"type(library console)"}},"id":84687,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21373:3:134","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":22244,"src":"21365:11:134","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_address_$returns$__$","typeString":"function (string memory,address) view"}},"id":84693,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21365:48:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":84694,"nodeType":"ExpressionStatement","src":"21365:48:134"},{"expression":{"arguments":[{"id":84698,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84621,"src":"21474:7:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":84701,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"21491:4:134","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"}],"id":84700,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"21483:7:134","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":84699,"name":"address","nodeType":"ElementaryTypeName","src":"21483:7:134","typeDescriptions":{}}},"id":84702,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21483:13:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":84707,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":84705,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":84703,"name":"registerStakeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83160,"src":"21498:19:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":84704,"name":"communityFeeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84640,"src":"21520:18:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"21498:40:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":84706,"name":"gardensFeeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84652,"src":"21541:16:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"21498:59:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":84695,"name":"gardenToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83189,"src":"21428:11:134","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$57069","typeString":"contract IERC20"}},"id":84697,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21440:16:134","memberName":"safeTransferFrom","nodeType":"MemberAccess","referencedDeclaration":57190,"src":"21428:28:134","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IERC20_$57069_$_t_address_$_t_address_$_t_uint256_$returns$__$attached_to$_t_contract$_IERC20_$57069_$","typeString":"function (contract IERC20,address,address,uint256)"}},"id":84708,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21428:143:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":84709,"nodeType":"ExpressionStatement","src":"21428:143:134"},{"expression":{"arguments":[{"hexValue":"636f6d6d756e697479466565416d6f756e74","id":84713,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"21934:20:134","typeDescriptions":{"typeIdentifier":"t_stringliteral_415492b98adc161fabebd8057944f6684f9fd452571affd947805630e42af66a","typeString":"literal_string \"communityFeeAmount\""},"value":"communityFeeAmount"},{"id":84714,"name":"communityFeeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84640,"src":"21956:18:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_415492b98adc161fabebd8057944f6684f9fd452571affd947805630e42af66a","typeString":"literal_string \"communityFeeAmount\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":84710,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29549,"src":"21922:7:134","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$29549_$","typeString":"type(library console)"}},"id":84712,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21930:3:134","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":22193,"src":"21922:11:134","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":84715,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21922:53:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":84716,"nodeType":"ExpressionStatement","src":"21922:53:134"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":84719,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":84717,"name":"communityFeeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84640,"src":"21993:18:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":84718,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22014:1:134","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"21993:22:134","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":84735,"nodeType":"IfStatement","src":"21989:175:134","trueBody":{"id":84734,"nodeType":"Block","src":"22017:147:134","statements":[{"expression":{"arguments":[{"hexValue":"6665655265636569766572","id":84723,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"22047:13:134","typeDescriptions":{"typeIdentifier":"t_stringliteral_389e7cbf003e878980985f1a72c90dbe5b79c41a44fb160ac26b4fef395d0916","typeString":"literal_string \"feeReceiver\""},"value":"feeReceiver"},{"id":84724,"name":"feeReceiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83169,"src":"22062:11:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_389e7cbf003e878980985f1a72c90dbe5b79c41a44fb160ac26b4fef395d0916","typeString":"literal_string \"feeReceiver\""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":84720,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29549,"src":"22035:7:134","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$29549_$","typeString":"type(library console)"}},"id":84722,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22043:3:134","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":22244,"src":"22035:11:134","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_address_$returns$__$","typeString":"function (string memory,address) view"}},"id":84725,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22035:39:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":84726,"nodeType":"ExpressionStatement","src":"22035:39:134"},{"expression":{"arguments":[{"id":84730,"name":"feeReceiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83169,"src":"22117:11:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":84731,"name":"communityFeeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84640,"src":"22130:18:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":84727,"name":"gardenToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83189,"src":"22092:11:134","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$57069","typeString":"contract IERC20"}},"id":84729,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22104:12:134","memberName":"safeTransfer","nodeType":"MemberAccess","referencedDeclaration":57163,"src":"22092:24:134","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IERC20_$57069_$_t_address_$_t_uint256_$returns$__$attached_to$_t_contract$_IERC20_$57069_$","typeString":"function (contract IERC20,address,uint256)"}},"id":84732,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22092:57:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":84733,"nodeType":"ExpressionStatement","src":"22092:57:134"}]}},{"expression":{"arguments":[{"hexValue":"67617264656e73466565416d6f756e74","id":84739,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"22189:18:134","typeDescriptions":{"typeIdentifier":"t_stringliteral_da8763bbba0536c18d8861cb49d3bb999157cbcc3d98d4bc78b4c3f620189681","typeString":"literal_string \"gardensFeeAmount\""},"value":"gardensFeeAmount"},{"id":84740,"name":"gardensFeeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84652,"src":"22209:16:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_da8763bbba0536c18d8861cb49d3bb999157cbcc3d98d4bc78b4c3f620189681","typeString":"literal_string \"gardensFeeAmount\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":84736,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29549,"src":"22177:7:134","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$29549_$","typeString":"type(library console)"}},"id":84738,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22185:3:134","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":22193,"src":"22177:11:134","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":84741,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22177:49:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":84742,"nodeType":"ExpressionStatement","src":"22177:49:134"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":84745,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":84743,"name":"gardensFeeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84652,"src":"22244:16:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":84744,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22263:1:134","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"22244:20:134","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":84765,"nodeType":"IfStatement","src":"22240:252:134","trueBody":{"id":84764,"nodeType":"Block","src":"22266:226:134","statements":[{"expression":{"arguments":[{"hexValue":"67617264656e73466163746f72792e67657447617264656e7346656552656365697665722829","id":84749,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"22296:40:134","typeDescriptions":{"typeIdentifier":"t_stringliteral_52073e8ed84f6dfe673a411cc23bb08f06da5bbdad4d391c0e8d90fc482c379a","typeString":"literal_string \"gardensFactory.getGardensFeeReceiver()\""},"value":"gardensFactory.getGardensFeeReceiver()"},{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":84750,"name":"gardensFactory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84634,"src":"22338:14:134","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryFactory_$85283","typeString":"contract RegistryFactory"}},"id":84751,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22353:21:134","memberName":"getGardensFeeReceiver","nodeType":"MemberAccess","referencedDeclaration":85201,"src":"22338:36:134","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_address_$","typeString":"function () view external returns (address)"}},"id":84752,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22338:38:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_52073e8ed84f6dfe673a411cc23bb08f06da5bbdad4d391c0e8d90fc482c379a","typeString":"literal_string \"gardensFactory.getGardensFeeReceiver()\""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":84746,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29549,"src":"22284:7:134","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$29549_$","typeString":"type(library console)"}},"id":84748,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22292:3:134","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":22244,"src":"22284:11:134","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_address_$returns$__$","typeString":"function (string memory,address) view"}},"id":84753,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22284:93:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":84754,"nodeType":"ExpressionStatement","src":"22284:93:134"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":84758,"name":"gardensFactory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84634,"src":"22420:14:134","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryFactory_$85283","typeString":"contract RegistryFactory"}},"id":84759,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22435:21:134","memberName":"getGardensFeeReceiver","nodeType":"MemberAccess","referencedDeclaration":85201,"src":"22420:36:134","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_address_$","typeString":"function () view external returns (address)"}},"id":84760,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22420:38:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":84761,"name":"gardensFeeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84652,"src":"22460:16:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":84755,"name":"gardenToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83189,"src":"22395:11:134","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$57069","typeString":"contract IERC20"}},"id":84757,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22407:12:134","memberName":"safeTransfer","nodeType":"MemberAccess","referencedDeclaration":57163,"src":"22395:24:134","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IERC20_$57069_$_t_address_$_t_uint256_$returns$__$attached_to$_t_contract$_IERC20_$57069_$","typeString":"function (contract IERC20,address,uint256)"}},"id":84762,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22395:82:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":84763,"nodeType":"ExpressionStatement","src":"22395:82:134"}]}},{"eventCall":{"arguments":[{"id":84767,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84621,"src":"22528:7:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":84768,"name":"registerStakeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83160,"src":"22537:19:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":84766,"name":"MemberRegistered","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83264,"src":"22511:16:134","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":84769,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22511:46:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":84770,"nodeType":"EmitStatement","src":"22506:51:134"}]}}]},"functionSelector":"3517aa7d","implemented":true,"kind":"function","modifiers":[{"id":84618,"kind":"modifierInvocation","modifierName":{"id":84617,"name":"nonReentrant","nameLocations":["20708:12:134"],"nodeType":"IdentifierPath","referencedDeclaration":53236,"src":"20708:12:134"},"nodeType":"ModifierInvocation","src":"20708:12:134"}],"name":"stakeAndRegisterMember","nameLocation":"20676:22:134","parameters":{"id":84616,"nodeType":"ParameterList","parameters":[],"src":"20698:2:134"},"returnParameters":{"id":84619,"nodeType":"ParameterList","parameters":[],"src":"20721:0:134"},"scope":85047,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":84823,"nodeType":"FunctionDefinition","src":"22580:467:134","nodes":[],"body":{"id":84822,"nodeType":"Block","src":"22644:403:134","nodes":[],"statements":[{"assignments":[84781],"declarations":[{"constant":false,"id":84781,"mutability":"mutable","name":"gardensFactory","nameLocation":"22670:14:134","nodeType":"VariableDeclaration","scope":84822,"src":"22654:30:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryFactory_$85283","typeString":"contract RegistryFactory"},"typeName":{"id":84780,"nodeType":"UserDefinedTypeName","pathNode":{"id":84779,"name":"RegistryFactory","nameLocations":["22654:15:134"],"nodeType":"IdentifierPath","referencedDeclaration":85283,"src":"22654:15:134"},"referencedDeclaration":85283,"src":"22654:15:134","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryFactory_$85283","typeString":"contract RegistryFactory"}},"visibility":"internal"}],"id":84785,"initialValue":{"arguments":[{"id":84783,"name":"registryFactory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83172,"src":"22703:15:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":84782,"name":"RegistryFactory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85283,"src":"22687:15:134","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_RegistryFactory_$85283_$","typeString":"type(contract RegistryFactory)"}},"id":84784,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22687:32:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryFactory_$85283","typeString":"contract RegistryFactory"}},"nodeType":"VariableDeclarationStatement","src":"22654:65:134"},{"assignments":[84787],"declarations":[{"constant":false,"id":84787,"mutability":"mutable","name":"communityFeeAmount","nameLocation":"22737:18:134","nodeType":"VariableDeclaration","scope":84822,"src":"22729:26:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":84786,"name":"uint256","nodeType":"ElementaryTypeName","src":"22729:7:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":84797,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":84796,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":84790,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":84788,"name":"registerStakeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83160,"src":"22759:19:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":84789,"name":"communityFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83163,"src":"22781:12:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"22759:34:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":84791,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"22758:36:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":84794,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"313030","id":84792,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22798:3:134","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":84793,"name":"PRECISION_SCALE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83148,"src":"22804:15:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"22798:21:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":84795,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"22797:23:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"22758:62:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"22729:91:134"},{"assignments":[84799],"declarations":[{"constant":false,"id":84799,"mutability":"mutable","name":"gardensFeeAmount","nameLocation":"22838:16:134","nodeType":"VariableDeclaration","scope":84822,"src":"22830:24:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":84798,"name":"uint256","nodeType":"ElementaryTypeName","src":"22830:7:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":84815,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":84814,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":84808,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":84800,"name":"registerStakeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83160,"src":"22870:19:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"arguments":[{"arguments":[{"id":84805,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"22930:4:134","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"}],"id":84804,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"22922:7:134","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":84803,"name":"address","nodeType":"ElementaryTypeName","src":"22922:7:134","typeDescriptions":{}}},"id":84806,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22922:13:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":84801,"name":"gardensFactory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84781,"src":"22892:14:134","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryFactory_$85283","typeString":"contract RegistryFactory"}},"id":84802,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22907:14:134","memberName":"getProtocolFee","nodeType":"MemberAccess","referencedDeclaration":85282,"src":"22892:29:134","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":84807,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22892:44:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"22870:66:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":84809,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"22869:68:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":84812,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"313030","id":84810,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22941:3:134","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":84811,"name":"PRECISION_SCALE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83148,"src":"22947:15:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"22941:21:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":84813,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"22940:23:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"22869:94:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"22830:133:134"},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":84820,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":84818,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":84816,"name":"registerStakeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83160,"src":"22981:19:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":84817,"name":"communityFeeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84787,"src":"23003:18:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"22981:40:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":84819,"name":"gardensFeeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84799,"src":"23024:16:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"22981:59:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":84778,"id":84821,"nodeType":"Return","src":"22974:66:134"}]},"functionSelector":"28c309e9","implemented":true,"kind":"function","modifiers":[],"name":"getStakeAmountWithFees","nameLocation":"22589:22:134","parameters":{"id":84775,"nodeType":"ParameterList","parameters":[],"src":"22611:2:134"},"returnParameters":{"id":84778,"nodeType":"ParameterList","parameters":[{"constant":false,"id":84777,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":84823,"src":"22635:7:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":84776,"name":"uint256","nodeType":"ElementaryTypeName","src":"22635:7:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"22634:9:134"},"scope":85047,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":84831,"nodeType":"FunctionDefinition","src":"23053:107:134","nodes":[],"body":{"id":84830,"nodeType":"Block","src":"23117:43:134","nodes":[],"statements":[{"expression":{"id":84828,"name":"registerStakeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83160,"src":"23134:19:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":84827,"id":84829,"nodeType":"Return","src":"23127:26:134"}]},"functionSelector":"0331383c","implemented":true,"kind":"function","modifiers":[],"name":"getBasisStakedAmount","nameLocation":"23062:20:134","parameters":{"id":84824,"nodeType":"ParameterList","parameters":[],"src":"23082:2:134"},"returnParameters":{"id":84827,"nodeType":"ParameterList","parameters":[{"constant":false,"id":84826,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":84831,"src":"23108:7:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":84825,"name":"uint256","nodeType":"ElementaryTypeName","src":"23108:7:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"23107:9:134"},"scope":85047,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":84848,"nodeType":"FunctionDefinition","src":"23166:182:134","nodes":[],"body":{"id":84847,"nodeType":"Block","src":"23225:123:134","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":84836,"name":"onlyCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83357,"src":"23235:15:134","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":84837,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23235:17:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":84838,"nodeType":"ExpressionStatement","src":"23235:17:134"},{"expression":{"id":84841,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":84839,"name":"registerStakeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83160,"src":"23262:19:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":84840,"name":"_newAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84833,"src":"23284:10:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"23262:32:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":84842,"nodeType":"ExpressionStatement","src":"23262:32:134"},{"eventCall":{"arguments":[{"id":84844,"name":"_newAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84833,"src":"23330:10:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":84843,"name":"BasisStakedAmountSet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83317,"src":"23309:20:134","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":84845,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23309:32:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":84846,"nodeType":"EmitStatement","src":"23304:37:134"}]},"functionSelector":"31f61bca","implemented":true,"kind":"function","modifiers":[],"name":"setBasisStakedAmount","nameLocation":"23175:20:134","parameters":{"id":84834,"nodeType":"ParameterList","parameters":[{"constant":false,"id":84833,"mutability":"mutable","name":"_newAmount","nameLocation":"23204:10:134","nodeType":"VariableDeclaration","scope":84848,"src":"23196:18:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":84832,"name":"uint256","nodeType":"ElementaryTypeName","src":"23196:7:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"23195:20:134"},"returnParameters":{"id":84835,"nodeType":"ParameterList","parameters":[],"src":"23225:0:134"},"scope":85047,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":84873,"nodeType":"FunctionDefinition","src":"23354:280:134","nodes":[],"body":{"id":84872,"nodeType":"Block","src":"23412:222:134","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":84853,"name":"onlyCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83357,"src":"23422:15:134","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":84854,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23422:17:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":84855,"nodeType":"ExpressionStatement","src":"23422:17:134"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":84858,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":84856,"name":"_newCommunityFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84850,"src":"23453:16:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":84857,"name":"MAX_FEE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83154,"src":"23472:7:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"23453:26:134","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":84863,"nodeType":"IfStatement","src":"23449:86:134","trueBody":{"id":84862,"nodeType":"Block","src":"23481:54:134","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":84859,"name":"NewFeeGreaterThanMax","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83463,"src":"23502:20:134","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":84860,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23502:22:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":84861,"nodeType":"RevertStatement","src":"23495:29:134"}]}},{"expression":{"id":84866,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":84864,"name":"communityFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83163,"src":"23544:12:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":84865,"name":"_newCommunityFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84850,"src":"23559:16:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"23544:31:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":84867,"nodeType":"ExpressionStatement","src":"23544:31:134"},{"eventCall":{"arguments":[{"id":84869,"name":"_newCommunityFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84850,"src":"23610:16:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":84868,"name":"CommunityFeeUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83282,"src":"23590:19:134","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":84870,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23590:37:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":84871,"nodeType":"EmitStatement","src":"23585:42:134"}]},"functionSelector":"0d12bbdb","implemented":true,"kind":"function","modifiers":[],"name":"setCommunityFee","nameLocation":"23363:15:134","parameters":{"id":84851,"nodeType":"ParameterList","parameters":[{"constant":false,"id":84850,"mutability":"mutable","name":"_newCommunityFee","nameLocation":"23387:16:134","nodeType":"VariableDeclaration","scope":84873,"src":"23379:24:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":84849,"name":"uint256","nodeType":"ElementaryTypeName","src":"23379:7:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"23378:26:134"},"returnParameters":{"id":84852,"nodeType":"ParameterList","parameters":[],"src":"23412:0:134"},"scope":85047,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":84886,"nodeType":"FunctionDefinition","src":"23676:125:134","nodes":[],"body":{"id":84885,"nodeType":"Block","src":"23745:56:134","nodes":[],"statements":[{"expression":{"arguments":[{"id":84881,"name":"COUNCIL_MEMBER","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83244,"src":"23770:14:134","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":84882,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84875,"src":"23786:7:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":84880,"name":"hasRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52495,"src":"23762:7:134","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) view returns (bool)"}},"id":84883,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23762:32:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":84879,"id":84884,"nodeType":"Return","src":"23755:39:134"}]},"functionSelector":"ebd7dc52","implemented":true,"kind":"function","modifiers":[],"name":"isCouncilMember","nameLocation":"23685:15:134","parameters":{"id":84876,"nodeType":"ParameterList","parameters":[{"constant":false,"id":84875,"mutability":"mutable","name":"_member","nameLocation":"23709:7:134","nodeType":"VariableDeclaration","scope":84886,"src":"23701:15:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":84874,"name":"address","nodeType":"ElementaryTypeName","src":"23701:7:134","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"23700:17:134"},"returnParameters":{"id":84879,"nodeType":"ParameterList","parameters":[{"constant":false,"id":84878,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":84886,"src":"23739:4:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":84877,"name":"bool","nodeType":"ElementaryTypeName","src":"23739:4:134","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"23738:6:134"},"scope":85047,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":84936,"nodeType":"FunctionDefinition","src":"23807:453:134","nodes":[],"body":{"id":84935,"nodeType":"Block","src":"23855:405:134","nodes":[],"statements":[{"assignments":[84892],"declarations":[{"constant":false,"id":84892,"mutability":"mutable","name":"_member","nameLocation":"23873:7:134","nodeType":"VariableDeclaration","scope":84935,"src":"23865:15:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":84891,"name":"address","nodeType":"ElementaryTypeName","src":"23865:7:134","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":84895,"initialValue":{"expression":{"id":84893,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"23883:3:134","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":84894,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23887:6:134","memberName":"sender","nodeType":"MemberAccess","src":"23883:10:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"23865:28:134"},{"expression":{"arguments":[{"id":84897,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84892,"src":"23929:7:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":84896,"name":"onlyRegistryMemberAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83386,"src":"23903:25:134","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$__$","typeString":"function (address) view"}},"id":84898,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23903:34:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":84899,"nodeType":"ExpressionStatement","src":"23903:34:134"},{"expression":{"arguments":[{"id":84901,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84892,"src":"23971:7:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":84900,"name":"deactivateAllStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84973,"src":"23947:23:134","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":84902,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23947:32:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":84903,"nodeType":"ExpressionStatement","src":"23947:32:134"},{"assignments":[84906],"declarations":[{"constant":false,"id":84906,"mutability":"mutable","name":"member","nameLocation":"24003:6:134","nodeType":"VariableDeclaration","scope":84935,"src":"23989:20:134","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$83482_memory_ptr","typeString":"struct RegistryCommunityV0_0.Member"},"typeName":{"id":84905,"nodeType":"UserDefinedTypeName","pathNode":{"id":84904,"name":"Member","nameLocations":["23989:6:134"],"nodeType":"IdentifierPath","referencedDeclaration":83482,"src":"23989:6:134"},"referencedDeclaration":83482,"src":"23989:6:134","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$83482_storage_ptr","typeString":"struct RegistryCommunityV0_0.Member"}},"visibility":"internal"}],"id":84910,"initialValue":{"baseExpression":{"id":84907,"name":"addressToMemberInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83221,"src":"24012:19:134","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Member_$83482_storage_$","typeString":"mapping(address => struct RegistryCommunityV0_0.Member storage ref)"}},"id":84909,"indexExpression":{"id":84908,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84892,"src":"24032:7:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"24012:28:134","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$83482_storage","typeString":"struct RegistryCommunityV0_0.Member storage ref"}},"nodeType":"VariableDeclarationStatement","src":"23989:51:134"},{"expression":{"id":84914,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"24050:35:134","subExpression":{"baseExpression":{"id":84911,"name":"addressToMemberInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83221,"src":"24057:19:134","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Member_$83482_storage_$","typeString":"mapping(address => struct RegistryCommunityV0_0.Member storage ref)"}},"id":84913,"indexExpression":{"id":84912,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84892,"src":"24077:7:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"24057:28:134","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$83482_storage","typeString":"struct RegistryCommunityV0_0.Member storage ref"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":84915,"nodeType":"ExpressionStatement","src":"24050:35:134"},{"expression":{"id":84919,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"24095:34:134","subExpression":{"baseExpression":{"id":84916,"name":"strategiesByMember","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83227,"src":"24102:18:134","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_address_$dyn_storage_$","typeString":"mapping(address => address[] storage ref)"}},"id":84918,"indexExpression":{"id":84917,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84892,"src":"24121:7:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"24102:27:134","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[] storage ref"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":84920,"nodeType":"ExpressionStatement","src":"24095:34:134"},{"expression":{"arguments":[{"id":84924,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84892,"src":"24161:7:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":84925,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84906,"src":"24170:6:134","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$83482_memory_ptr","typeString":"struct RegistryCommunityV0_0.Member memory"}},"id":84926,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24177:12:134","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":83479,"src":"24170:19:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":84921,"name":"gardenToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83189,"src":"24140:11:134","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$57069","typeString":"contract IERC20"}},"id":84923,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24152:8:134","memberName":"transfer","nodeType":"MemberAccess","referencedDeclaration":57036,"src":"24140:20:134","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) external returns (bool)"}},"id":84927,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24140:50:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":84928,"nodeType":"ExpressionStatement","src":"24140:50:134"},{"eventCall":{"arguments":[{"id":84930,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84892,"src":"24224:7:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":84931,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84906,"src":"24233:6:134","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$83482_memory_ptr","typeString":"struct RegistryCommunityV0_0.Member memory"}},"id":84932,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24240:12:134","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":83479,"src":"24233:19:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":84929,"name":"MemberUnregistered","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83270,"src":"24205:18:134","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":84933,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24205:48:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":84934,"nodeType":"EmitStatement","src":"24200:53:134"}]},"functionSelector":"b99b4370","implemented":true,"kind":"function","modifiers":[{"id":84889,"kind":"modifierInvocation","modifierName":{"id":84888,"name":"nonReentrant","nameLocations":["23842:12:134"],"nodeType":"IdentifierPath","referencedDeclaration":53236,"src":"23842:12:134"},"nodeType":"ModifierInvocation","src":"23842:12:134"}],"name":"unregisterMember","nameLocation":"23816:16:134","parameters":{"id":84887,"nodeType":"ParameterList","parameters":[],"src":"23832:2:134"},"returnParameters":{"id":84890,"nodeType":"ParameterList","parameters":[],"src":"23855:0:134"},"scope":85047,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":84973,"nodeType":"FunctionDefinition","src":"24266:466:134","nodes":[],"body":{"id":84972,"nodeType":"Block","src":"24325:407:134","nodes":[],"statements":[{"assignments":[84945],"declarations":[{"constant":false,"id":84945,"mutability":"mutable","name":"memberStrategies","nameLocation":"24352:16:134","nodeType":"VariableDeclaration","scope":84972,"src":"24335:33:134","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":84943,"name":"address","nodeType":"ElementaryTypeName","src":"24335:7:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":84944,"nodeType":"ArrayTypeName","src":"24335:9:134","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"id":84949,"initialValue":{"baseExpression":{"id":84946,"name":"strategiesByMember","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83227,"src":"24371:18:134","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_address_$dyn_storage_$","typeString":"mapping(address => address[] storage ref)"}},"id":84948,"indexExpression":{"id":84947,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84938,"src":"24390:7:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"24371:27:134","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[] storage ref"}},"nodeType":"VariableDeclarationStatement","src":"24335:63:134"},{"body":{"id":84970,"nodeType":"Block","src":"24528:198:134","statements":[{"expression":{"arguments":[{"id":84967,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84938,"src":"24707:7:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"arguments":[{"baseExpression":{"id":84962,"name":"memberStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84945,"src":"24669:16:134","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":84964,"indexExpression":{"id":84963,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84951,"src":"24686:1:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"24669:19:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":84961,"name":"IPointStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77667,"src":"24654:14:134","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IPointStrategy_$77667_$","typeString":"type(contract IPointStrategy)"}},"id":84965,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24654:35:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IPointStrategy_$77667","typeString":"contract IPointStrategy"}},"id":84966,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24690:16:134","memberName":"deactivatePoints","nodeType":"MemberAccess","referencedDeclaration":77642,"src":"24654:52:134","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":84968,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24654:61:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":84969,"nodeType":"ExpressionStatement","src":"24654:61:134"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":84957,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":84954,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84951,"src":"24494:1:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":84955,"name":"memberStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84945,"src":"24498:16:134","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":84956,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24515:6:134","memberName":"length","nodeType":"MemberAccess","src":"24498:23:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"24494:27:134","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":84971,"initializationExpression":{"assignments":[84951],"declarations":[{"constant":false,"id":84951,"mutability":"mutable","name":"i","nameLocation":"24487:1:134","nodeType":"VariableDeclaration","scope":84971,"src":"24479:9:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":84950,"name":"uint256","nodeType":"ElementaryTypeName","src":"24479:7:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":84953,"initialValue":{"hexValue":"30","id":84952,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"24491:1:134","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"24479:13:134"},"loopExpression":{"expression":{"id":84959,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"24523:3:134","subExpression":{"id":84958,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84951,"src":"24523:1:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":84960,"nodeType":"ExpressionStatement","src":"24523:3:134"},"nodeType":"ForStatement","src":"24474:252:134"}]},"implemented":true,"kind":"function","modifiers":[],"name":"deactivateAllStrategies","nameLocation":"24275:23:134","parameters":{"id":84939,"nodeType":"ParameterList","parameters":[{"constant":false,"id":84938,"mutability":"mutable","name":"_member","nameLocation":"24307:7:134","nodeType":"VariableDeclaration","scope":84973,"src":"24299:15:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":84937,"name":"address","nodeType":"ElementaryTypeName","src":"24299:7:134","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"24298:17:134"},"returnParameters":{"id":84940,"nodeType":"ParameterList","parameters":[],"src":"24325:0:134"},"scope":85047,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":85033,"nodeType":"FunctionDefinition","src":"24738:571:134","nodes":[],"body":{"id":85032,"nodeType":"Block","src":"24821:488:134","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":84982,"name":"onlyCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83357,"src":"24831:15:134","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":84983,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24831:17:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":84984,"nodeType":"ExpressionStatement","src":"24831:17:134"},{"condition":{"id":84986,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"24862:14:134","subExpression":{"id":84985,"name":"isKickEnabled","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83157,"src":"24863:13:134","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":84991,"nodeType":"IfStatement","src":"24858:68:134","trueBody":{"id":84990,"nodeType":"Block","src":"24878:48:134","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":84987,"name":"KickNotEnabled","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83465,"src":"24899:14:134","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":84988,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24899:16:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":84989,"nodeType":"RevertStatement","src":"24892:23:134"}]}},{"condition":{"id":84995,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"24939:18:134","subExpression":{"arguments":[{"id":84993,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84975,"src":"24949:7:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":84992,"name":"isMember","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84615,"src":"24940:8:134","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":84994,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24940:17:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":85000,"nodeType":"IfStatement","src":"24935:75:134","trueBody":{"id":84999,"nodeType":"Block","src":"24959:51:134","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":84996,"name":"UserNotInRegistry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83443,"src":"24980:17:134","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":84997,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24980:19:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":84998,"nodeType":"RevertStatement","src":"24973:26:134"}]}},{"assignments":[85003],"declarations":[{"constant":false,"id":85003,"mutability":"mutable","name":"member","nameLocation":"25033:6:134","nodeType":"VariableDeclaration","scope":85032,"src":"25019:20:134","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$83482_memory_ptr","typeString":"struct RegistryCommunityV0_0.Member"},"typeName":{"id":85002,"nodeType":"UserDefinedTypeName","pathNode":{"id":85001,"name":"Member","nameLocations":["25019:6:134"],"nodeType":"IdentifierPath","referencedDeclaration":83482,"src":"25019:6:134"},"referencedDeclaration":83482,"src":"25019:6:134","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$83482_storage_ptr","typeString":"struct RegistryCommunityV0_0.Member"}},"visibility":"internal"}],"id":85007,"initialValue":{"baseExpression":{"id":85004,"name":"addressToMemberInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83221,"src":"25042:19:134","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Member_$83482_storage_$","typeString":"mapping(address => struct RegistryCommunityV0_0.Member storage ref)"}},"id":85006,"indexExpression":{"id":85005,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84975,"src":"25062:7:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"25042:28:134","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$83482_storage","typeString":"struct RegistryCommunityV0_0.Member storage ref"}},"nodeType":"VariableDeclarationStatement","src":"25019:51:134"},{"expression":{"arguments":[{"id":85009,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84975,"src":"25104:7:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":85008,"name":"deactivateAllStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84973,"src":"25080:23:134","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":85010,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25080:32:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":85011,"nodeType":"ExpressionStatement","src":"25080:32:134"},{"expression":{"id":85015,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"25122:35:134","subExpression":{"baseExpression":{"id":85012,"name":"addressToMemberInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83221,"src":"25129:19:134","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Member_$83482_storage_$","typeString":"mapping(address => struct RegistryCommunityV0_0.Member storage ref)"}},"id":85014,"indexExpression":{"id":85013,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84975,"src":"25149:7:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"25129:28:134","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$83482_storage","typeString":"struct RegistryCommunityV0_0.Member storage ref"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":85016,"nodeType":"ExpressionStatement","src":"25122:35:134"},{"expression":{"arguments":[{"id":85020,"name":"_transferAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84977,"src":"25189:16:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":85021,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85003,"src":"25207:6:134","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$83482_memory_ptr","typeString":"struct RegistryCommunityV0_0.Member memory"}},"id":85022,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"25214:12:134","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":83479,"src":"25207:19:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":85017,"name":"gardenToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83189,"src":"25168:11:134","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$57069","typeString":"contract IERC20"}},"id":85019,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"25180:8:134","memberName":"transfer","nodeType":"MemberAccess","referencedDeclaration":57036,"src":"25168:20:134","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) external returns (bool)"}},"id":85023,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25168:59:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":85024,"nodeType":"ExpressionStatement","src":"25168:59:134"},{"eventCall":{"arguments":[{"id":85026,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84975,"src":"25255:7:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":85027,"name":"_transferAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84977,"src":"25264:16:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":85028,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85003,"src":"25282:6:134","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$83482_memory_ptr","typeString":"struct RegistryCommunityV0_0.Member memory"}},"id":85029,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"25289:12:134","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":83479,"src":"25282:19:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":85025,"name":"MemberKicked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83278,"src":"25242:12:134","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":85030,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25242:60:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":85031,"nodeType":"EmitStatement","src":"25237:65:134"}]},"functionSelector":"6871eb4d","implemented":true,"kind":"function","modifiers":[{"id":84980,"kind":"modifierInvocation","modifierName":{"id":84979,"name":"nonReentrant","nameLocations":["24808:12:134"],"nodeType":"IdentifierPath","referencedDeclaration":53236,"src":"24808:12:134"},"nodeType":"ModifierInvocation","src":"24808:12:134"}],"name":"kickMember","nameLocation":"24747:10:134","parameters":{"id":84978,"nodeType":"ParameterList","parameters":[{"constant":false,"id":84975,"mutability":"mutable","name":"_member","nameLocation":"24766:7:134","nodeType":"VariableDeclaration","scope":85033,"src":"24758:15:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":84974,"name":"address","nodeType":"ElementaryTypeName","src":"24758:7:134","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":84977,"mutability":"mutable","name":"_transferAddress","nameLocation":"24783:16:134","nodeType":"VariableDeclaration","scope":85033,"src":"24775:24:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":84976,"name":"address","nodeType":"ElementaryTypeName","src":"24775:7:134","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"24757:43:134"},"returnParameters":{"id":84981,"nodeType":"ParameterList","parameters":[],"src":"24821:0:134"},"scope":85047,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":85042,"nodeType":"FunctionDefinition","src":"25315:66:134","nodes":[],"body":{"id":85041,"nodeType":"Block","src":"25379:2:134","nodes":[],"statements":[]},"baseFunctions":[56212],"implemented":true,"kind":"function","modifiers":[{"id":85039,"kind":"modifierInvocation","modifierName":{"id":85038,"name":"onlyOwner","nameLocations":["25369:9:134"],"nodeType":"IdentifierPath","referencedDeclaration":52856,"src":"25369:9:134"},"nodeType":"ModifierInvocation","src":"25369:9:134"}],"name":"_authorizeUpgrade","nameLocation":"25324:17:134","overrides":{"id":85037,"nodeType":"OverrideSpecifier","overrides":[],"src":"25360:8:134"},"parameters":{"id":85036,"nodeType":"ParameterList","parameters":[{"constant":false,"id":85035,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":85042,"src":"25342:7:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":85034,"name":"address","nodeType":"ElementaryTypeName","src":"25342:7:134","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"25341:9:134"},"returnParameters":{"id":85040,"nodeType":"ParameterList","parameters":[],"src":"25379:0:134"},"scope":85047,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":85046,"nodeType":"VariableDeclaration","src":"25387:25:134","nodes":[],"constant":false,"mutability":"mutable","name":"__gap","nameLocation":"25407:5:134","scope":85047,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$50_storage","typeString":"uint256[50]"},"typeName":{"baseType":{"id":85043,"name":"uint256","nodeType":"ElementaryTypeName","src":"25387:7:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":85045,"length":{"hexValue":"3530","id":85044,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25395:2:134","typeDescriptions":{"typeIdentifier":"t_rational_50_by_1","typeString":"int_const 50"},"value":"50"},"nodeType":"ArrayTypeName","src":"25387:11:134","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$50_storage_ptr","typeString":"uint256[50]"}},"visibility":"private"}],"abstract":false,"baseContracts":[{"baseName":{"id":83121,"name":"OwnableUpgradeable","nameLocations":["1453:18:134"],"nodeType":"IdentifierPath","referencedDeclaration":52942,"src":"1453:18:134"},"id":83122,"nodeType":"InheritanceSpecifier","src":"1453:18:134"},{"baseName":{"id":83123,"name":"UUPSUpgradeable","nameLocations":["1477:15:134"],"nodeType":"IdentifierPath","referencedDeclaration":56213,"src":"1477:15:134"},"id":83124,"nodeType":"InheritanceSpecifier","src":"1477:15:134"},{"baseName":{"id":83125,"name":"ReentrancyGuardUpgradeable","nameLocations":["1498:26:134"],"nodeType":"IdentifierPath","referencedDeclaration":53276,"src":"1498:26:134"},"id":83126,"nodeType":"InheritanceSpecifier","src":"1498:26:134"},{"baseName":{"id":83127,"name":"AccessControlUpgradeable","nameLocations":["1530:24:134"],"nodeType":"IdentifierPath","referencedDeclaration":52736,"src":"1530:24:134"},"id":83128,"nodeType":"InheritanceSpecifier","src":"1530:24:134"}],"canonicalName":"RegistryCommunityV0_0","contractDependencies":[55562,80578],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[85047,52736,54009,54021,52809,53276,56213,55866,55515,55525,52942,53735,53191],"name":"RegistryCommunityV0_0","nameLocation":"1424:21:134","scope":85048,"usedErrors":[83437,83439,83441,83443,83445,83447,83449,83451,83453,83455,83457,83459,83461,83463,83465,83467,83469,83475]}],"license":"AGPL-3.0-only"},"id":134} \ No newline at end of file +{"abi":[{"type":"function","name":"COUNCIL_MEMBER","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"DEFAULT_ADMIN_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"MAX_FEE","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"NATIVE","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"PRECISION_SCALE","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"acceptCouncilSafe","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"activateMemberInStrategy","inputs":[{"name":"_member","type":"address","internalType":"address"},{"name":"_strategy","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"addStrategy","inputs":[{"name":"_newStrategy","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"addStrategyByPoolId","inputs":[{"name":"poolId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"addressToMemberInfo","inputs":[{"name":"member","type":"address","internalType":"address"}],"outputs":[{"name":"member","type":"address","internalType":"address"},{"name":"stakedAmount","type":"uint256","internalType":"uint256"},{"name":"isRegistered","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"allo","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract FAllo"}],"stateMutability":"view"},{"type":"function","name":"cloneNonce","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"communityFee","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"communityName","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"councilSafe","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract ISafe"}],"stateMutability":"view"},{"type":"function","name":"covenantIpfsHash","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"createPool","inputs":[{"name":"_token","type":"address","internalType":"address"},{"name":"_params","type":"tuple","internalType":"struct StrategyStruct.InitializeParams","components":[{"name":"registryCommunity","type":"address","internalType":"address"},{"name":"decay","type":"uint256","internalType":"uint256"},{"name":"maxRatio","type":"uint256","internalType":"uint256"},{"name":"weight","type":"uint256","internalType":"uint256"},{"name":"minThresholdPoints","type":"uint256","internalType":"uint256"},{"name":"proposalType","type":"uint8","internalType":"enum StrategyStruct.ProposalType"},{"name":"pointSystem","type":"uint8","internalType":"enum StrategyStruct.PointSystem"},{"name":"pointConfig","type":"tuple","internalType":"struct StrategyStruct.PointSystemConfig","components":[{"name":"maxAmount","type":"uint256","internalType":"uint256"}]},{"name":"sybilScorer","type":"address","internalType":"address"}]},{"name":"_metadata","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]}],"outputs":[{"name":"poolId","type":"uint256","internalType":"uint256"},{"name":"strategy","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"createPool","inputs":[{"name":"_strategy","type":"address","internalType":"address"},{"name":"_token","type":"address","internalType":"address"},{"name":"_params","type":"tuple","internalType":"struct StrategyStruct.InitializeParams","components":[{"name":"registryCommunity","type":"address","internalType":"address"},{"name":"decay","type":"uint256","internalType":"uint256"},{"name":"maxRatio","type":"uint256","internalType":"uint256"},{"name":"weight","type":"uint256","internalType":"uint256"},{"name":"minThresholdPoints","type":"uint256","internalType":"uint256"},{"name":"proposalType","type":"uint8","internalType":"enum StrategyStruct.ProposalType"},{"name":"pointSystem","type":"uint8","internalType":"enum StrategyStruct.PointSystem"},{"name":"pointConfig","type":"tuple","internalType":"struct StrategyStruct.PointSystemConfig","components":[{"name":"maxAmount","type":"uint256","internalType":"uint256"}]},{"name":"sybilScorer","type":"address","internalType":"address"}]},{"name":"_metadata","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]}],"outputs":[{"name":"poolId","type":"uint256","internalType":"uint256"},{"name":"strategy","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"deactivateMemberInStrategy","inputs":[{"name":"_member","type":"address","internalType":"address"},{"name":"_strategy","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"decreasePower","inputs":[{"name":"_amountUnstaked","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"enabledStrategies","inputs":[{"name":"strategy","type":"address","internalType":"address"}],"outputs":[{"name":"isEnabled","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"feeReceiver","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"gardenToken","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IERC20"}],"stateMutability":"view"},{"type":"function","name":"getBasisStakedAmount","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getMemberPowerInStrategy","inputs":[{"name":"_member","type":"address","internalType":"address"},{"name":"_strategy","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getMemberStakedAmount","inputs":[{"name":"_member","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getRoleAdmin","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"getStakeAmountWithFees","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"grantRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"hasRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"increasePower","inputs":[{"name":"_amountStaked","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"initialize","inputs":[{"name":"params","type":"tuple","internalType":"struct RegistryCommunityV0_0.InitializeParams","components":[{"name":"_allo","type":"address","internalType":"address"},{"name":"_gardenToken","type":"address","internalType":"contract IERC20"},{"name":"_registerStakeAmount","type":"uint256","internalType":"uint256"},{"name":"_communityFee","type":"uint256","internalType":"uint256"},{"name":"_nonce","type":"uint256","internalType":"uint256"},{"name":"_registryFactory","type":"address","internalType":"address"},{"name":"_feeReceiver","type":"address","internalType":"address"},{"name":"_metadata","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]},{"name":"_councilSafe","type":"address","internalType":"address payable"},{"name":"_communityName","type":"string","internalType":"string"},{"name":"_isKickEnabled","type":"bool","internalType":"bool"},{"name":"covenantIpfsHash","type":"string","internalType":"string"},{"name":"_strategyTemplate","type":"address","internalType":"address"}]}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"isCouncilMember","inputs":[{"name":"_member","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isKickEnabled","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isMember","inputs":[{"name":"_member","type":"address","internalType":"address"}],"outputs":[{"name":"_isMember","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"kickMember","inputs":[{"name":"_member","type":"address","internalType":"address"},{"name":"_transferAddress","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"memberActivatedInStrategies","inputs":[{"name":"member","type":"address","internalType":"address"},{"name":"strategy","type":"address","internalType":"address"}],"outputs":[{"name":"isActivated","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"memberPowerInStrategy","inputs":[{"name":"strategy","type":"address","internalType":"address"},{"name":"member","type":"address","internalType":"address"}],"outputs":[{"name":"power","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"pendingCouncilSafe","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address payable"}],"stateMutability":"view"},{"type":"function","name":"profileId","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"proxiableUUID","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"registerStakeAmount","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"registry","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IRegistry"}],"stateMutability":"view"},{"type":"function","name":"registryFactory","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"removeStrategy","inputs":[{"name":"_strategy","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"removeStrategyByPoolId","inputs":[{"name":"poolId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"renounceOwnership","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"renounceRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"revokeRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setBasisStakedAmount","inputs":[{"name":"_newAmount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setCommunityFee","inputs":[{"name":"_newCommunityFee","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setCouncilSafe","inputs":[{"name":"_safe","type":"address","internalType":"address payable"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"stakeAndRegisterMember","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"strategiesByMember","inputs":[{"name":"member","type":"address","internalType":"address"},{"name":"","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"strategiesAddresses","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"strategyTemplate","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"transferOwnership","inputs":[{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"unregisterMember","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"upgradeTo","inputs":[{"name":"newImplementation","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"upgradeToAndCall","inputs":[{"name":"newImplementation","type":"address","internalType":"address"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"payable"},{"type":"event","name":"AdminChanged","inputs":[{"name":"previousAdmin","type":"address","indexed":false,"internalType":"address"},{"name":"newAdmin","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"AlloSet","inputs":[{"name":"_allo","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"BasisStakedAmountSet","inputs":[{"name":"_newAmount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"BeaconUpgraded","inputs":[{"name":"beacon","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"CommunityFeeUpdated","inputs":[{"name":"_newFee","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"CouncilSafeChangeStarted","inputs":[{"name":"_safeOwner","type":"address","indexed":false,"internalType":"address"},{"name":"_newSafeOwner","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"CouncilSafeSet","inputs":[{"name":"_safe","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint8","indexed":false,"internalType":"uint8"}],"anonymous":false},{"type":"event","name":"MemberActivatedStrategy","inputs":[{"name":"_member","type":"address","indexed":false,"internalType":"address"},{"name":"_strategy","type":"address","indexed":false,"internalType":"address"},{"name":"_pointsToIncrease","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"MemberDeactivatedStrategy","inputs":[{"name":"_member","type":"address","indexed":false,"internalType":"address"},{"name":"_strategy","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"MemberKicked","inputs":[{"name":"_member","type":"address","indexed":false,"internalType":"address"},{"name":"_transferAddress","type":"address","indexed":false,"internalType":"address"},{"name":"_amountReturned","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"MemberPowerDecreased","inputs":[{"name":"_member","type":"address","indexed":false,"internalType":"address"},{"name":"_unstakedAmount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"MemberPowerIncreased","inputs":[{"name":"_member","type":"address","indexed":false,"internalType":"address"},{"name":"_stakedAmount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"MemberRegistered","inputs":[{"name":"_member","type":"address","indexed":false,"internalType":"address"},{"name":"_amountStaked","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"MemberUnregistered","inputs":[{"name":"_member","type":"address","indexed":false,"internalType":"address"},{"name":"_amountReturned","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"previousOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"PoolCreated","inputs":[{"name":"_poolId","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_strategy","type":"address","indexed":false,"internalType":"address"},{"name":"_community","type":"address","indexed":false,"internalType":"address"},{"name":"_token","type":"address","indexed":false,"internalType":"address"},{"name":"_metadata","type":"tuple","indexed":false,"internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]}],"anonymous":false},{"type":"event","name":"RegistryInitialized","inputs":[{"name":"_profileId","type":"bytes32","indexed":false,"internalType":"bytes32"},{"name":"_communityName","type":"string","indexed":false,"internalType":"string"},{"name":"_metadata","type":"tuple","indexed":false,"internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]}],"anonymous":false},{"type":"event","name":"RoleAdminChanged","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"previousAdminRole","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"newAdminRole","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"RoleGranted","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"sender","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"RoleRevoked","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"sender","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"StrategyAdded","inputs":[{"name":"_strategy","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"StrategyRemoved","inputs":[{"name":"_strategy","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Upgraded","inputs":[{"name":"implementation","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"error","name":"AddressCannotBeZero","inputs":[]},{"type":"error","name":"CantDecreaseMoreThanPower","inputs":[{"name":"_decreaseAmount","type":"uint256","internalType":"uint256"},{"name":"_currentPower","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"DecreaseUnderMinimum","inputs":[]},{"type":"error","name":"KickNotEnabled","inputs":[]},{"type":"error","name":"NewFeeGreaterThanMax","inputs":[]},{"type":"error","name":"PointsDeactivated","inputs":[]},{"type":"error","name":"RegistryCannotBeZero","inputs":[]},{"type":"error","name":"SenderNotNewOwner","inputs":[]},{"type":"error","name":"SenderNotStrategy","inputs":[]},{"type":"error","name":"StrategyDisabled","inputs":[]},{"type":"error","name":"StrategyExists","inputs":[]},{"type":"error","name":"UserAlreadyActivated","inputs":[]},{"type":"error","name":"UserAlreadyDeactivated","inputs":[]},{"type":"error","name":"UserAlreadyRegistered","inputs":[]},{"type":"error","name":"UserNotGardenOwner","inputs":[]},{"type":"error","name":"UserNotInCouncil","inputs":[]},{"type":"error","name":"UserNotInRegistry","inputs":[]},{"type":"error","name":"ValueCannotBeZero","inputs":[]}],"bytecode":{"object":"0x60a06040523060805234801561001457600080fd5b5060805161ba626200004d600039600081816119c001528181611a4701528181611bb501528181611c3c0152611d29015261ba626000f3fe608060405260043610620003ef5760003560e01c80636c53db9a116200020f578063a217fddf1162000123578063d547741f11620000ad578063ebd7dc521162000078578063ebd7dc521462000cfd578063f2fde38b1462000d22578063f86c5f891462000d47578063ff6409ef1462000d6a57600080fd5b8063d547741f1462000c7a578063d6d8428d1462000c9f578063d7050f071462000cc2578063db61d65c1462000cda57600080fd5b8063b64e39af11620000ee578063b64e39af1462000c0b578063b99b43701462000c32578063bc063e1a1462000c4a578063c6d572ae1462000c6257600080fd5b8063a217fddf1462000b51578063a230c5241462000b68578063b3f006741462000bd1578063b5058c501462000bf357600080fd5b806382d6a1e711620001a557806391d14854116200017057806391d148541462000a7557806396f0adec1462000abf57806397991cfa1462000ae4578063a0cf0aea1462000b2757600080fd5b806382d6a1e714620009a257806388cfe68414620009c75780638961be6b1462000a3d5780638da5cb5b1462000a5557600080fd5b8063733a2d1f11620001e6578063733a2d1f14620008e65780637817ee4f146200091c57806378a0b8a914620009675780637b103999146200097f57600080fd5b80636c53db9a1462000886578063715018a614620008a957806373265c3714620008c157600080fd5b80633396045911620003075780634f1ef286116200029d5780635ecf71c511620002685780635ecf71c514620007dc57806365e3864c14620008015780636871eb4d146200083e57806368decabb146200086357600080fd5b80634f1ef286146200076557806352d1902d146200077c578063559de05d14620007945780635c94e4d214620007b957600080fd5b80633659cfe611620002de5780633659cfe614620006a6578063397e254314620006cb5780633a871fe114620006f0578063477a5cc0146200072557600080fd5b80633396045914620006505780633517aa7d146200066957806336568abe146200068157600080fd5b8063223e547911620003895780632b38c69c11620003545780632b38c69c146200058a5780632c611c4a14620005c85780632f2ff15d146200060657806331f61bca146200062b57600080fd5b8063223e547914620004f457806322bcf9991462000519578063248a9ca3146200053e57806328c309e9146200057257600080fd5b80630d12bbdb11620003ca5780630d12bbdb14620004675780630d4a8b49146200048e578063175188e814620004b35780631f787d2814620004d857600080fd5b806301ffc9a714620003f45780630331383c146200042e57806308386eba146200044f575b600080fd5b3480156200040157600080fd5b50620004196200041336600462004b7e565b62000d8f565b60405190151581526020015b60405180910390f35b3480156200043b57600080fd5b5060fc545b60405190815260200162000425565b3480156200045c57600080fd5b506200044060fe5481565b3480156200047457600080fd5b506200048c6200048636600462004baa565b62000de0565b005b3480156200049b57600080fd5b506200048c620004ad36600462004bec565b62000e6f565b348015620004c057600080fd5b506200048c620004d236600462004c2a565b620011f7565b348015620004e557600080fd5b5060fb54620004199060ff1681565b3480156200050157600080fd5b506200048c6200051336600462004c2a565b6200120f565b3480156200052657600080fd5b506200048c6200053836600462004bec565b62001224565b3480156200054b57600080fd5b50620004406200055d36600462004baa565b600090815260c9602052604090206001015490565b3480156200057f57600080fd5b506200044062001340565b3480156200059757600080fd5b50620005af620005a936600462004c4a565b6200143e565b6040516001600160a01b03909116815260200162000425565b348015620005d557600080fd5b5062000440620005e736600462004c2a565b6001600160a01b0316600090815261010c602052604090206001015490565b3480156200061357600080fd5b506200048c6200062536600462004c79565b62001478565b3480156200063857600080fd5b506200048c6200064a36600462004baa565b620014a6565b3480156200065d57600080fd5b50620004406101025481565b3480156200067657600080fd5b506200048c620014e6565b3480156200068e57600080fd5b506200048c620006a036600462004c79565b62001922565b348015620006b357600080fd5b506200048c620006c536600462004c2a565b620019b6565b348015620006d857600080fd5b506200048c620006ea36600462004c2a565b62001b37565b348015620006fd57600080fd5b50620004196200070f36600462004c2a565b61010a6020526000908152604090205460ff1681565b3480156200073257600080fd5b50620004196200074436600462004bec565b61010e60209081526000928352604080842090915290825290205460ff1681565b6200048c6200077636600462004df9565b62001bab565b3480156200078957600080fd5b506200044062001d1c565b348015620007a157600080fd5b506200048c620007b336600462004baa565b62001de3565b348015620007c657600080fd5b5061010154620005af906001600160a01b031681565b348015620007e957600080fd5b506200048c620007fb36600462004baa565b620020e2565b3480156200080e57600080fd5b50620004406200082036600462004bec565b61010b60209081526000928352604080842090915290825290205481565b3480156200084b57600080fd5b506200048c6200085d36600462004bec565b620024d3565b3480156200087057600080fd5b5061010354620005af906001600160a01b031681565b3480156200089357600080fd5b5061010654620005af906001600160a01b031681565b348015620008b657600080fd5b506200048c620026ee565b348015620008ce57600080fd5b506200048c620008e036600462004baa565b62002704565b348015620008f357600080fd5b50620004407f03be538b6391ddcd7f2649585cc95b120c9e2a613f70714fbb55345057d809fa81565b3480156200092957600080fd5b50620004406200093b36600462004bec565b6001600160a01b03918216600090815261010b6020908152604080832093909416825291909152205490565b3480156200097457600080fd5b506200044060fc5481565b3480156200098c57600080fd5b5061010454620005af906001600160a01b031681565b348015620009af57600080fd5b506200048c620009c136600462004baa565b620027a0565b348015620009d457600080fd5b5062000a15620009e636600462004c2a565b61010c602052600090815260409020805460018201546002909201546001600160a01b03909116919060ff1683565b604080516001600160a01b039094168452602084019290925215159082015260600162000425565b34801562000a4a57600080fd5b506200044060fd5481565b34801562000a6257600080fd5b506033546001600160a01b0316620005af565b34801562000a8257600080fd5b506200041962000a9436600462004c79565b600091825260c9602090815260408084206001600160a01b0393909316845291905290205460ff1690565b34801562000acc57600080fd5b506200048c62000ade36600462004efb565b6200285e565b34801562000af157600080fd5b5062000b0962000b0336600462005187565b62002ef4565b604080519283526001600160a01b0390911660208301520162000425565b34801562000b3457600080fd5b50620005af73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b34801562000b5e57600080fd5b5062000440600081565b34801562000b7557600080fd5b506200041962000b8736600462004c2a565b6001600160a01b03908116600090815261010c60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff161515910181905290565b34801562000bde57600080fd5b5060ff54620005af906001600160a01b031681565b34801562000c0057600080fd5b506200048c62002fd9565b34801562000c1857600080fd5b5062000c2362003029565b60405162000425919062005246565b34801562000c3f57600080fd5b506200048c620030c0565b34801562000c5757600080fd5b506200044062003232565b34801562000c6f57600080fd5b5062000c2362003244565b34801562000c8757600080fd5b506200048c62000c9936600462004c79565b62003254565b34801562000cac57600080fd5b5061010754620005af906001600160a01b031681565b34801562000ccf57600080fd5b506200044061271081565b34801562000ce757600080fd5b5061010554620005af906001600160a01b031681565b34801562000d0a57600080fd5b506200041962000d1c36600462004c2a565b6200327d565b34801562000d2f57600080fd5b506200048c62000d4136600462004c2a565b620032be565b34801562000d5457600080fd5b5061010054620005af906001600160a01b031681565b34801562000d7757600080fd5b5062000b0962000d893660046200525b565b62003351565b60006001600160e01b031982167f7965db0b00000000000000000000000000000000000000000000000000000000148062000dda57506301ffc9a760e01b6001600160e01b03198316145b92915050565b62000dea620034de565b62000df9612710600a620052f1565b81111562000e33576040517ffe925f7d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60fd8190556040518181527f611668bfcf654a99c33cdb66c29ec37a5aae5c1287d2d9715a24e18cb4d806d6906020015b60405180910390a150565b62000e7a8262003547565b62000e8581620035ac565b62000e908162003600565b6001600160a01b03808316600090815261010e602090815260408083209385168352929052205460ff161562000ef2576040517fd5b9bc9600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b03808316600090815261010c602090815260409182902082516060810184528154909416845260018101549184018290526002015460ff1615159183019190915260fc546003846001600160a01b031663c32921716040518163ffffffff1660e01b81526004016020604051808303816000875af115801562000f80573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000fa6919062005321565b600381111562000fba5762000fba6200530b565b036200103e5760405163782aadff60e01b81526001600160a01b0386811660048301526000602483015285169063782aadff906044016020604051808303816000875af115801562001010573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001036919062005341565b90506200113a565b6000846001600160a01b031663c32921716040518163ffffffff1660e01b81526004016020604051808303816000875af115801562001081573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620010a7919062005321565b6003811115620010bb57620010bb6200530b565b146200113a5760405163782aadff60e01b81526001600160a01b0386811660048301526024820184905285169063782aadff906044016020604051808303816000875af115801562001111573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001137919062005341565b90505b6001600160a01b03858116600081815261010b6020908152604080832094891680845294825280832086905583835261010e82528083208584528252808320805460ff1916600190811790915584845261010d83528184208054918201815584529282902090920180546001600160a01b0319168517905581519283528201929092529081018290527ff56fa57e85e169a12200d12d9921ec069b52e688f6d309d9dab7bceff54614ec9060600160405180910390a15050505050565b62001201620034de565b6200120c8162003641565b50565b62001219620034de565b6200120c816200369f565b6200122f8262003547565b6200123a8162003600565b6200124633826200374a565b6001600160a01b03808316600090815261010e602090815260408083209385168352929052205460ff16620012a7576040517fc12369dc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b03808316600081815261010e60209081526040808320948616808452948252808320805460ff1916905592825261010b815282822093825292909252812055620012f9828262003796565b604080516001600160a01b038085168252831660208201527ede109bef4619f7e2cf00c8e5a50ca55f8deb44f87087eed414a91dbf8d1d1b91015b60405180910390a15050565b610100546000906001600160a01b031681620013606127106064620052f1565b60fd5460fc54620013729190620052f1565b6200137e91906200535b565b90506000620013916127106064620052f1565b6040516302a64b8360e21b81523060048201526001600160a01b03851690630a992e0c90602401602060405180830381865afa158015620013d6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620013fc919062005341565b60fc546200140b9190620052f1565b6200141791906200535b565b9050808260fc546200142a91906200537e565b6200143691906200537e565b935050505090565b61010d60205281600052604060002081815481106200145c57600080fd5b6000918252602090912001546001600160a01b03169150829050565b600082815260c960205260409020600101546200149581620038cc565b620014a18383620038d8565b505050565b620014b0620034de565b60fc8190556040518181527f5bcc2c453001fb0e2ba6266d56ecb411e7c6e15c8f9c3d301f93dd36ad25726f9060200162000e64565b620014f06200397c565b33600081815261010c602052604081206101005490916001600160a01b0390911690620015216127106064620052f1565b60fd5460fc54620015339190620052f1565b6200153f91906200535b565b90506000620015526127106064620052f1565b6040516302a64b8360e21b81523060048201526001600160a01b03851690630a992e0c90602401602060405180830381865afa15801562001597573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620015bd919062005341565b60fc54620015cc9190620052f1565b620015d891906200535b565b6001600160a01b03808716600090815261010c60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff1615159101819052909150620019105760028401805460ff1916600190811790915560fc549085015560408051808201909152600b81527f67617264656e546f6b656e0000000000000000000000000000000000000000006020820152610105546200168d91906001600160a01b0316620039d7565b620016c68530838560fc54620016a491906200537e565b620016b091906200537e565b610105546001600160a01b031692919062003a39565b620017076040518060400160405280601281526020017f636f6d6d756e697479466565416d6f756e7400000000000000000000000000008152508362003abf565b81156200177a5760408051808201909152600b81527f6665655265636569766572000000000000000000000000000000000000000000602082015260ff546200175a91906001600160a01b0316620039d7565b60ff54610105546200177a916001600160a01b0391821691168462003b21565b620017bb6040518060400160405280601081526020017f67617264656e73466565416d6f756e74000000000000000000000000000000008152508262003abf565b8015620018c9576200184b6040518060600160405280602681526020016200b9e060269139846001600160a01b031663987435be6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200181f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001845919062005394565b620039d7565b620018c9836001600160a01b031663987435be6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200188e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620018b4919062005394565b610105546001600160a01b0316908362003b21565b60fc54604080516001600160a01b038816815260208101929092527f67e0244e28040fec15240cd4b6c04c776a2a0278caef23b59e8ada1df31f7689910160405180910390a15b5050505050620019206001606555565b565b6001600160a01b0381163314620019a65760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201527f20726f6c657320666f722073656c66000000000000000000000000000000000060648201526084015b60405180910390fd5b620019b2828262003b5a565b5050565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016300362001a455760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b19195b1959d85d1958d85b1b60a21b60648201526084016200199d565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031662001aa17f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b6001600160a01b03161462001b0e5760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b6163746976652070726f787960a01b60648201526084016200199d565b62001b198162003bde565b604080516000808252602082019092526200120c9183919062003be8565b62001b41620034de565b62001b4c8162003600565b61010380546001600160a01b0319166001600160a01b03838116918217909255610106546040805191909316815260208101919091527f83eac9fdaff0ac1017624b7eddeb9782e3d707cd894073cb7e8301a41c6e5cf8910162000e64565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016300362001c3a5760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b19195b1959d85d1958d85b1b60a21b60648201526084016200199d565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031662001c967f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b6001600160a01b03161462001d035760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b6163746976652070726f787960a01b60648201526084016200199d565b62001d0e8262003bde565b620019b28282600162003be8565b6000306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161462001dbe5760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c000000000000000060648201526084016200199d565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc90565b62001ded6200397c565b62001df762003d94565b33600081815261010d602090815260408083208054825181850281018501909352808352919290919083018282801562001e5b57602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831162001e3c575b50505050509050600080600090505b8251811015620020425782818151811062001e895762001e89620053b4565b602090810291909101015160405163782aadff60e01b81526001600160a01b038681166004830152602482018890529091169063782aadff906044016020604051808303816000875af115801562001ee5573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001f0b919062005341565b915081156200202d576001600160a01b038416600090815261010b60205260408120845184929086908590811062001f475762001f47620053b4565b60200260200101516001600160a01b03166001600160a01b03168152602001908152602001600020600082825462001f8091906200537e565b925050819055506200202d6040518060400160405280600e81526020017f537472617465677920706f77657200000000000000000000000000000000000081525061010b6000876001600160a01b03166001600160a01b03168152602001908152602001600020600086858151811062001ffe5762001ffe620053b4565b60200260200101516001600160a01b03166001600160a01b031681526020019081526020016000205462003abf565b806200203981620053ca565b91505062001e6a565b50610105546200205e906001600160a01b031684308762003a39565b6001600160a01b038316600090815261010c6020526040812060010180548692906200208c9084906200537e565b9091555050604080516001600160a01b0385168152602081018690527f576605f9bfe8911e7508bed3763c7c5c8eb3b86e8b360b90a4bc6abe1104cb7f91015b60405180910390a15050506200120c6001606555565b620020ec6200397c565b620020f662003d94565b33600081815261010d6020908152604080832060fc5461010c90935290832060010154909291906200212a908690620053e6565b101562002163576040517f9c47d02e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610105546200217d906001600160a01b0316848662003b21565b60005b82548110156200245f576000838281548110620021a157620021a1620053b4565b6000918252602090912001546001600160a01b03169050620021cb8163f1801e6160e01b62003df5565b1562002383576040517f2ed04b2b0000000000000000000000000000000000000000000000000000000081526001600160a01b03868116600483015260248201889052821690632ed04b2b906044016020604051808303816000875af11580156200223a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002260919062005341565b9250600061010b6000876001600160a01b03166001600160a01b031681526020019081526020016000206000868581548110620022a157620022a1620053b4565b60009182526020808320909101546001600160a01b031683528201929092526040019020549050808411156200230e576040517f8a11f31800000000000000000000000000000000000000000000000000000000815260048101859052602481018290526044016200199d565b6001600160a01b038616600090815261010b602052604081208654869290889087908110620023415762002341620053b4565b60009182526020808320909101546001600160a01b031683528201929092526040018120805490919062002377908490620053e6565b90915550505062002449565b835484906200239590600190620053e6565b81548110620023a857620023a8620053b4565b9060005260206000200160009054906101000a90046001600160a01b0316848381548110620023db57620023db620053b4565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b03160217905550838054806200241c576200241c620053fc565b600082815260209020810160001990810180546001600160a01b0319169055019055620024498162003641565b50806200245681620053ca565b91505062002180565b506001600160a01b038316600090815261010c6020526040812060010180548692906200248e908490620053e6565b9091555050604080516001600160a01b0385168152602081018690527f6ee2c70b2d6b89ae808a2313aab43e925c06624271419cd665d85cfa1ae04ff89101620020cc565b620024dd6200397c565b620024e7620034de565b60fb5460ff1662002524576040517fcb63dc7200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b03808316600090815261010c60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff16151591018190526200258957604051636a5cfb6d60e01b815260040160405180910390fd5b6001600160a01b03808316600090815261010c60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff16151590820152620025da8362003e1d565b6001600160a01b03838116600090815261010c6020908152604080832080546001600160a01b031916815560018101939093556002909201805460ff191690556101055490840151915163a9059cbb60e01b8152858416600482015260248101929092529091169063a9059cbb906044016020604051808303816000875af11580156200266b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002691919062005412565b50602080820151604080516001600160a01b0380881682528616938101939093528201527fb5946f249f8744efe9d14d49a483b54a589b1362944ff6694de93456cceb96a39060600160405180910390a150620019b26001606555565b620026f862003f4b565b62001920600062003fa7565b6200270e620034de565b6101075460405163068bcd8d60e01b8152600481018390526000916001600160a01b03169063068bcd8d90602401600060405180830381865afa1580156200275a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405262002784919081019062005432565b602001519050620027958162003600565b620019b28162003641565b620027aa620034de565b6101075460405163068bcd8d60e01b8152600481018390526000916001600160a01b03169063068bcd8d90602401600060405180830381865afa158015620027f6573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405262002820919081019062005432565b602001519050620028318162003600565b6200284d6001600160a01b03821663f1801e6160e01b62003df5565b15620019b257620019b2816200369f565b600054610100900460ff16158080156200287f5750600054600160ff909116105b806200289b5750303b1580156200289b575060005460ff166001145b6200290f5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084016200199d565b6000805460ff19166001179055801562002933576000805461ff0019166101001790555b6200293d62003ff9565b6200294762004070565b62002951620040e7565b6200297e7f03be538b6391ddcd7f2649585cc95b120c9e2a613f70714fbb55345057d809fa600062004154565b6200298d826020015162003600565b6200299d82610100015162003600565b8151620029aa9062003600565b620029b98260a0015162003600565b620029c982610180015162003600565b606082015115620029e357620029e38260c0015162003600565b815161010780546001600160a01b039283166001600160a01b03199182161790915560208401516101058054919093169116179055604082015160000362002a57576040517fc70d18aa00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604082015160fc55606082015160fd5561014082015160fb805460ff19169115159190911790556101208201516101089062002a949082620055f7565b506101608201516101099062002aab9082620055f7565b5060a082015161010080546001600160a01b03199081166001600160a01b0393841617825560c085015160ff8054831691851691909117905590840151610106805483168285161790556101808501516101018054909316931692909217905562002b38907f03be538b6391ddcd7f2649585cc95b120c9e2a613f70714fbb55345057d809fa90620038d8565b61010760009054906101000a90046001600160a01b03166001600160a01b0316635ab1bd536040518163ffffffff1660e01b8152600401602060405180830381865afa15801562002b8d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002bb3919062005394565b61010480546001600160a01b0319166001600160a01b0392831617905561010654604080517fa0e67e2b0000000000000000000000000000000000000000000000000000000081529051600093929092169163a0e67e2b9160048082019286929091908290030181865afa15801562002c30573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405262002c5a9190810190620056c4565b905060008151600262002c6e91906200537e565b67ffffffffffffffff81111562002c895762002c8962004ca1565b60405190808252806020026020018201604052801562002cb3578160200160208202803683370190505b50905060005b825181101562002d225782818151811062002cd85762002cd8620053b4565b602002602001015182828151811062002cf55762002cf5620053b4565b6001600160a01b03909216602092830291909101909101528062002d1981620053ca565b91505062002cb9565b506101065481516001600160a01b0390911690829062002d4590600190620053e6565b8151811062002d585762002d58620053b4565b60200260200101906001600160a01b031690816001600160a01b03168152505030816002835162002d8a9190620053e6565b8151811062002d9d5762002d9d620053b4565b6001600160a01b03928316602091820292909201015261010454608086015160e08701516040517f3a92f65f0000000000000000000000000000000000000000000000000000000081529290931692633a92f65f9262002e09929161010891309088906004016200586f565b6020604051808303816000875af115801562002e29573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002e4f919062005341565b60fe55805162002e689061010f90602084019062004ac6565b507f2f2ffcb06f8a1d35e2716f6b43ef2c19bfa76467d8f66964ae12c2583ed0320560fe546101088660e0015160405162002ea693929190620058c3565b60405180910390a150508015620019b2576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200162001334565b600080600060405162002f079062004b30565b604051809103906000f08015801562002f24573d6000803e3d6000fd5b5061010754604080516001600160a01b0390921660248084019190915281518084039091018152604490920181526020820180516001600160e01b03167f19ab453c000000000000000000000000000000000000000000000000000000001790525162002f919062004b3e565b62002f9e929190620058f2565b604051809103906000f08015801562002fbb573d6000803e3d6000fd5b50905062002fcc8187878762003351565b9250925050935093915050565b610103546001600160a01b031633146200301f576040517febcd0d6e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b620019206200419f565b6101098054620030399062005569565b80601f0160208091040260200160405190810160405280929190818152602001828054620030679062005569565b8015620030b85780601f106200308c57610100808354040283529160200191620030b8565b820191906000526020600020905b8154815290600101906020018083116200309a57829003601f168201915b505050505081565b620030ca6200397c565b33620030d68162003547565b620030e18162003e1d565b6001600160a01b03808216600081815261010c602090815260408083208151606081018352815496871681526001820180548286015260028301805460ff81161515848701529787526001600160a01b03199098169092559084905560ff1990941690945561010d905291822090916200315c919062004b4c565b61010554602082015160405163a9059cbb60e01b81526001600160a01b038581166004830152602482019290925291169063a9059cbb906044016020604051808303816000875af1158015620031b6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620031dc919062005412565b50602080820151604080516001600160a01b0386168152928301919091527fa13f4668aacb68c4e9eed8e3f6e1cbec3eca776896ec46b5eabcc3983fc8f5f4910160405180910390a15050620019206001606555565b62003241612710600a620052f1565b81565b6101088054620030399062005569565b600082815260c960205260409020600101546200327181620038cc565b620014a1838362003b5a565b6001600160a01b03811660009081527fa867e09674d469ee17077111ff66261f5d2fc5820cc6914676cb47231da58818602052604081205460ff1662000dda565b620032c862003f4b565b6001600160a01b038116620033465760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084016200199d565b6200120c8162003fa7565b60008073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6001600160a01b038616156200337c5750845b869150600061010f805480602002602001604051908101604052809291908181526020018280548015620033da57602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311620033bb575b50506101075460fe546040519596506001600160a01b039091169463e1007d4a945090925087915062003412908b906020016200592d565b6040516020818303038152906040528660008b886040518863ffffffff1660e01b81526004016200344a9796959493929190620059cb565b6020604051808303816000875af11580156200346a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062003490919062005341565b93507f778cac0ae0b66477341553a4a89398c61ccf448313d3354ad0ca85a5a825d2838484308a89604051620034cb95949392919062005a3d565b60405180910390a1505094509492505050565b3360009081527fa867e09674d469ee17077111ff66261f5d2fc5820cc6914676cb47231da58818602052604090205460ff1662001920576040517ff62651fa00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b03808216600090815261010c60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff16151591018190526200120c57604051636a5cfb6d60e01b815260040160405180910390fd5b6001600160a01b038116600090815261010a602052604090205460ff166200120c576040517f46c26e4b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0381166200120c576040517fe622e04000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6200364c8162003600565b6001600160a01b038116600081815261010a6020908152604091829020805460ff1916905590519182527f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea4910162000e64565b6001600160a01b038116600090815261010a602052604090205460ff1615620036f4576040517f968a4d2c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038116600081815261010a6020908152604091829020805460ff1916600117905590519182527f3f008fd510eae7a9e7bee13513d7b83bef8003d488b5a3d0b0da4de71d6846f1910162000e64565b806001600160a01b0316826001600160a01b031614620019b2576040517fbbe7961100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038216600090815261010d60205260408120905b8154811015620038c657826001600160a01b0316828281548110620037da57620037da620053b4565b6000918252602090912001546001600160a01b031603620038b157815482906200380790600190620053e6565b815481106200381a576200381a620053b4565b9060005260206000200160009054906101000a90046001600160a01b03168282815481106200384d576200384d620053b4565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b03160217905550818054806200388e576200388e620053fc565b600082815260209020810160001990810180546001600160a01b03191690550190555b80620038bd81620053ca565b915050620037b1565b50505050565b6200120c8133620041fc565b600082815260c9602090815260408083206001600160a01b038516845290915290205460ff16620019b257600082815260c9602090815260408083206001600160a01b03851684529091529020805460ff19166001179055620039383390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b600260655403620039d05760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064016200199d565b6002606555565b620019b28282604051602401620039f092919062005a79565b60408051601f198184030181529190526020810180516001600160e01b03167f319af333000000000000000000000000000000000000000000000000000000001790526200427a565b6040516001600160a01b0380851660248301528316604482015260648101829052620038c69085907f23b872dd00000000000000000000000000000000000000000000000000000000906084015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091526200429b565b620019b2828260405160240162003ad892919062005aa6565b60408051601f198184030181529190526020810180516001600160e01b03167f9710a9d0000000000000000000000000000000000000000000000000000000001790526200427a565b6040516001600160a01b038316602482015260448101829052620014a190849063a9059cbb60e01b9060640162003a87565b6001606555565b600082815260c9602090815260408083206001600160a01b038516845290915290205460ff1615620019b257600082815260c9602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b6200120c62003f4b565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff161562003c1e57620014a1836200438a565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa92505050801562003c7b575060408051601f3d908101601f1916820190925262003c789181019062005341565b60015b62003cef5760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201527f6f6e206973206e6f74205555505300000000000000000000000000000000000060648201526084016200199d565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc811462003d865760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f7860448201527f6961626c6555554944000000000000000000000000000000000000000000000060648201526084016200199d565b50620014a18383836200444a565b33600090815261010c6020908152604091829020825160608101845281546001600160a01b031681526001820154928101929092526002015460ff16151591018190526200192057604051636a5cfb6d60e01b815260040160405180910390fd5b600062003e028362004475565b801562003e16575062003e168383620044ad565b9392505050565b6001600160a01b038116600090815261010d602090815260408083208054825181850281018501909352808352919290919083018282801562003e8a57602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831162003e6b575b5050505050905060005b8151811015620014a15781818151811062003eb35762003eb3620053b4565b60209081029190910101516040517f6453d9c40000000000000000000000000000000000000000000000000000000081526001600160a01b03858116600483015290911690636453d9c490602401600060405180830381600087803b15801562003f1c57600080fd5b505af115801562003f31573d6000803e3d6000fd5b50505050808062003f4290620053ca565b91505062003e94565b6033546001600160a01b03163314620019205760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016200199d565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600054610100900460ff16620040665760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b60648201526084016200199d565b6200192062004538565b600054610100900460ff16620040dd5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b60648201526084016200199d565b62001920620045b0565b600054610100900460ff16620019205760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b60648201526084016200199d565b600082815260c96020526040808220600101805490849055905190918391839186917fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff9190a4505050565b610103805461010680546001600160a01b0383166001600160a01b031991821617909155169055604051600081527fad0399dc40331b9a4977aa89da7a164a3fd482c65e6da73b25a94ea74fb688729060200160405180910390a1565b600082815260c9602090815260408083206001600160a01b038516845290915290205460ff16620019b25762004232816200461d565b6200423f83602062004630565b6040516020016200425292919062005aca565b60408051601f198184030181529082905262461bcd60e51b82526200199d9160040162005246565b80516a636f6e736f6c652e6c6f67602083016000808483855afa5050505050565b6000620042f2826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166200482f9092919063ffffffff16565b90508051600014806200431657508080602001905181019062004316919062005412565b620014a15760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f7420737563636565640000000000000000000000000000000000000000000060648201526084016200199d565b6001600160a01b0381163b620044095760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201527f6f74206120636f6e74726163740000000000000000000000000000000000000060648201526084016200199d565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b620044558362004848565b600082511180620044635750805b15620014a157620038c683836200488a565b60006200448a826301ffc9a760e01b620044ad565b801562000dda5750620044a6826001600160e01b0319620044ad565b1592915050565b604080516001600160e01b03198316602480830191909152825180830390910181526044909101909152602080820180516001600160e01b03166301ffc9a760e01b178152825160009392849283928392918391908a617530fa92503d9150600051905082801562004520575060208210155b80156200452d5750600081115b979650505050505050565b600054610100900460ff16620045a55760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b60648201526084016200199d565b620019203362003fa7565b600054610100900460ff1662003b535760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b60648201526084016200199d565b606062000dda6001600160a01b03831660145b6060600062004641836002620052f1565b6200464e9060026200537e565b67ffffffffffffffff81111562004669576200466962004ca1565b6040519080825280601f01601f19166020018201604052801562004694576020820181803683370190505b5090507f300000000000000000000000000000000000000000000000000000000000000081600081518110620046ce57620046ce620053b4565b60200101906001600160f81b031916908160001a9053507f7800000000000000000000000000000000000000000000000000000000000000816001815181106200471c576200471c620053b4565b60200101906001600160f81b031916908160001a905350600062004742846002620052f1565b6200474f9060016200537e565b90505b6001811115620047de577f303132333435363738396162636465660000000000000000000000000000000085600f1660108110620047945762004794620053b4565b1a60f81b828281518110620047ad57620047ad620053b4565b60200101906001600160f81b031916908160001a90535060049490941c93620047d68162005b4f565b905062004752565b50831562003e165760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e7460448201526064016200199d565b6060620048408484600085620048b2565b949350505050565b62004853816200438a565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b606062003e1683836040518060600160405280602781526020016200ba0660279139620049a1565b6060824710156200492c5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c000000000000000000000000000000000000000000000000000060648201526084016200199d565b600080866001600160a01b031685876040516200494a919062005b69565b60006040518083038185875af1925050503d806000811462004989576040519150601f19603f3d011682016040523d82523d6000602084013e6200498e565b606091505b50915091506200452d8783838762004a1f565b6060600080856001600160a01b031685604051620049c0919062005b69565b600060405180830381855af49150503d8060008114620049fd576040519150601f19603f3d011682016040523d82523d6000602084013e62004a02565b606091505b509150915062004a158683838762004a1f565b9695505050505050565b6060831562004a9357825160000362004a8b576001600160a01b0385163b62004a8b5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016200199d565b508162004840565b62004840838381511562004aaa5781518083602001fd5b8060405162461bcd60e51b81526004016200199d919062005246565b82805482825590600052602060002090810192821562004b1e579160200282015b8281111562004b1e57825182546001600160a01b0319166001600160a01b0390911617825560209092019160019091019062004ae7565b5062004b2c92915062004b67565b5090565b61596a8062005b8883390190565b6104ee806200b4f283390190565b50805460008255906000526020600020908101906200120c91905b5b8082111562004b2c576000815560010162004b68565b60006020828403121562004b9157600080fd5b81356001600160e01b03198116811462003e1657600080fd5b60006020828403121562004bbd57600080fd5b5035919050565b6001600160a01b03811681146200120c57600080fd5b803562004be78162004bc4565b919050565b6000806040838503121562004c0057600080fd5b823562004c0d8162004bc4565b9150602083013562004c1f8162004bc4565b809150509250929050565b60006020828403121562004c3d57600080fd5b813562003e168162004bc4565b6000806040838503121562004c5e57600080fd5b823562004c6b8162004bc4565b946020939093013593505050565b6000806040838503121562004c8d57600080fd5b82359150602083013562004c1f8162004bc4565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff8111828210171562004cdd5762004cdd62004ca1565b60405290565b6040516101a0810167ffffffffffffffff8111828210171562004cdd5762004cdd62004ca1565b604051610120810167ffffffffffffffff8111828210171562004cdd5762004cdd62004ca1565b60405160c0810167ffffffffffffffff8111828210171562004cdd5762004cdd62004ca1565b604051601f8201601f1916810167ffffffffffffffff8111828210171562004d835762004d8362004ca1565b604052919050565b600067ffffffffffffffff82111562004da85762004da862004ca1565b50601f01601f191660200190565b600062004dcd62004dc78462004d8b565b62004d57565b905082815283838301111562004de257600080fd5b828260208301376000602084830101529392505050565b6000806040838503121562004e0d57600080fd5b823562004e1a8162004bc4565b9150602083013567ffffffffffffffff81111562004e3757600080fd5b8301601f8101851362004e4957600080fd5b62004e5a8582356020840162004db6565b9150509250929050565b600082601f83011262004e7657600080fd5b62003e168383356020850162004db6565b60006040828403121562004e9a57600080fd5b62004ea462004cb7565b905081358152602082013567ffffffffffffffff81111562004ec557600080fd5b62004ed38482850162004e64565b60208301525092915050565b80151581146200120c57600080fd5b803562004be78162004edf565b60006020828403121562004f0e57600080fd5b813567ffffffffffffffff8082111562004f2757600080fd5b908301906101a0828603121562004f3d57600080fd5b62004f4762004ce3565b62004f528362004bda565b815262004f626020840162004bda565b602082015260408301356040820152606083013560608201526080830135608082015262004f9360a0840162004bda565b60a082015262004fa660c0840162004bda565b60c082015260e08301358281111562004fbe57600080fd5b62004fcc8782860162004e87565b60e08301525061010062004fe281850162004bda565b90820152610120838101358381111562004ffb57600080fd5b620050098882870162004e64565b8284015250506101406200501f81850162004eee565b9082015261016083810135838111156200503857600080fd5b620050468882870162004e64565b82840152505061018091506200505e82840162004bda565b91810191909152949350505050565b80356003811062004be757600080fd5b600481106200120c57600080fd5b803562004be7816200507d565b600060208284031215620050ab57600080fd5b6040516020810181811067ffffffffffffffff82111715620050d157620050d162004ca1565b6040529135825250919050565b60006101208284031215620050f257600080fd5b620050fc62004d0a565b9050620051098262004bda565b8152602082013560208201526040820135604082015260608201356060820152608082013560808201526200514160a083016200506d565b60a08201526200515460c083016200508b565b60c0820152620051688360e0840162005098565b60e08201526101006200517d81840162004bda565b9082015292915050565b600080600061016084860312156200519e57600080fd5b8335620051ab8162004bc4565b9250620051bc8560208601620050de565b915061014084013567ffffffffffffffff811115620051da57600080fd5b620051e88682870162004e87565b9150509250925092565b60005b838110156200520f578181015183820152602001620051f5565b50506000910152565b6000815180845262005232816020860160208601620051f2565b601f01601f19169290920160200192915050565b60208152600062003e16602083018462005218565b60008060008061018085870312156200527357600080fd5b8435620052808162004bc4565b93506020850135620052928162004bc4565b9250620052a38660408701620050de565b915061016085013567ffffffffffffffff811115620052c157600080fd5b620052cf8782880162004e87565b91505092959194509250565b634e487b7160e01b600052601160045260246000fd5b808202811582820484141762000dda5762000dda620052db565b634e487b7160e01b600052602160045260246000fd5b6000602082840312156200533457600080fd5b815162003e16816200507d565b6000602082840312156200535457600080fd5b5051919050565b6000826200537957634e487b7160e01b600052601260045260246000fd5b500490565b8082018082111562000dda5762000dda620052db565b600060208284031215620053a757600080fd5b815162003e168162004bc4565b634e487b7160e01b600052603260045260246000fd5b600060018201620053df57620053df620052db565b5060010190565b8181038181111562000dda5762000dda620052db565b634e487b7160e01b600052603160045260246000fd5b6000602082840312156200542557600080fd5b815162003e168162004edf565b600060208083850312156200544657600080fd5b825167ffffffffffffffff808211156200545f57600080fd5b9084019060c082870312156200547457600080fd5b6200547e62004d31565b8251815283830151620054918162004bc4565b818501526040830151620054a58162004bc4565b6040820152606083015182811115620054bd57600080fd5b830160408189031215620054d057600080fd5b620054da62004cb7565b815181528582015184811115620054f057600080fd5b82019350601f840189136200550457600080fd5b835191506200551762004dc78362004d8b565b82815289878487010111156200552c57600080fd5b6200553d83888301898801620051f2565b95810195909552506060810193909352506080818101519083015260a090810151908201529392505050565b600181811c908216806200557e57607f821691505b6020821081036200559f57634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620014a157600081815260208120601f850160051c81016020861015620055ce5750805b601f850160051c820191505b81811015620055ef57828155600101620055da565b505050505050565b815167ffffffffffffffff81111562005614576200561462004ca1565b6200562c8162005625845462005569565b84620055a5565b602080601f8311600181146200566457600084156200564b5750858301515b600019600386901b1c1916600185901b178555620055ef565b600085815260208120601f198616915b82811015620056955788860151825594840194600190910190840162005674565b5085821015620056b45787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60006020808385031215620056d857600080fd5b825167ffffffffffffffff80821115620056f157600080fd5b818501915085601f8301126200570657600080fd5b8151818111156200571b576200571b62004ca1565b8060051b91506200572e84830162004d57565b81815291830184019184810190888411156200574957600080fd5b938501935b83851015620057775784519250620057668362004bc4565b82825293850193908501906200574e565b98975050505050505050565b60008154620057928162005569565b808552602060018381168015620057b25760018114620057cd57620057fd565b60ff1985168884015283151560051b880183019550620057fd565b866000528260002060005b85811015620057f55781548a8201860152908301908401620057d8565b890184019650505b505050505092915050565b80518252600060208201516040602085015262004840604085018262005218565b600081518084526020808501945080840160005b83811015620058645781516001600160a01b0316875295820195908201906001016200583d565b509495945050505050565b85815260a0602082015260006200588a60a083018762005783565b82810360408401526200589e818762005808565b90506001600160a01b0385166060840152828103608084015262005777818562005829565b838152606060208201526000620058de606083018562005783565b828103604084015262004a15818562005808565b6001600160a01b038316815260406020820152600062004840604083018462005218565b600481106200592957620059296200530b565b9052565b6000610120820190506001600160a01b0383511682526020830151602083015260408301516040830152606083015160608301526080830151608083015260a0830151600381106200598357620059836200530b565b8060a08401525060c08301516200599e60c084018262005916565b5060e0830151620059b260e0840182519052565b50610100928301516001600160a01b0316919092015290565b87815260006001600160a01b03808916602084015260e06040840152620059f660e084018962005218565b818816606085015286608085015283810360a085015262005a18818762005808565b91505082810360c084015262005a2f818562005829565b9a9950505050505050505050565b85815260006001600160a01b038087166020840152808616604084015280851660608401525060a060808301526200452d60a083018462005808565b60408152600062005a8e604083018562005218565b90506001600160a01b03831660208301529392505050565b60408152600062005abb604083018562005218565b90508260208301529392505050565b7f416363657373436f6e74726f6c3a206163636f756e742000000000000000000081526000835162005b04816017850160208801620051f2565b7f206973206d697373696e6720726f6c6520000000000000000000000000000000601791840191820152835162005b43816028840160208801620051f2565b01602801949350505050565b60008162005b615762005b61620052db565b506000190190565b6000825162005b7d818460208701620051f2565b919091019291505056fe60a0604052306080526000606d81905560705534801561001e57600080fd5b506080516159136200005760003960008181611231015281816112b6015281816113b70152818161143c015261152201526159136000f3fe6080604052600436106103c75760003560e01c806376365af7116101f2578063b5f620ce11610119578063e0dd2c38116100b2578063ef2920fc11610084578063f321b3051161006c578063f321b30514610b89578063f5b0dfb714610ba9578063fc1711f214610bc957005b8063ef2920fc14610b56578063f2fde38b14610b6957005b8063e0dd2c3814610ac9578063e33add9314610ae9578063eb11af9314610b09578063edd146cc14610b3657005b8063c7f758a8116100eb578063c7f758a814610a39578063d1e3623214610a6f578063dc96ff2d14610a84578063df868ed314610ab457005b8063b5f620ce146109a6578063b6c61f31146109c6578063bcc5b93b146109e6578063c329217114610a1c57005b8063950559d71161018b578063a574cea41161015d578063a574cea414610916578063aba9ffee14610943578063ac1ed7b914610959578063b2b878d01461097957005b8063950559d7146108a1578063a0cf0aea146108c1578063a1aab33f146108e9578063a47ff7e5146108ff57005b8063817b1cd2116101c4578063817b1cd21461082d578063824ea8ed14610843578063868c57b8146108635780638da5cb5b1461088357005b806376365af7146107cc578063782aadff146107e25780637c6570ba14610802578063814516ad1461081857005b8063346db8cb116102ee5780634f1ef286116102875780635db64b99116102595780636453d9c4116102415780636453d9c41461077757806369fa25c414610797578063715018a6146107b757005b80635db64b991461072a5780636003e4141461075757005b80634f1ef286146106cc57806352d1902d146106df57806354fac919146106f457806359a5db8b1461070a57005b8063406244d8116102c0578063406244d81461066d57806342fda9c7146106825780634ab4ba42146106975780634d31d087146106ac57005b8063346db8cb146105f1578063351d9f96146106115780633659cfe61461063857806338fff2d01461065857005b806315cc481e116103605780632bbe0cae116103325780632bbe0cae146105725780632cefadbb146105855780632dbd6fdd146105a55780632ed04b2b146105d157005b806315cc481e146104eb57806319ab453c1461051d5780631aa91a9e1461053d5780631ddf1e231461055d57005b80630ba95909116103995780630ba959091461047f5780630c0512e91461049e5780630f529ba2146104b457806311f22ae3146104cb57005b8063013cf08b146103d057806301ffc9a71461040f578063058aca441461043f5780630a6f0ee91461045f57005b366103ce57005b005b3480156103dc57600080fd5b506103f06103eb36600461481d565b610be9565b6040516104069a999897969594939291906148cf565b60405180910390f35b34801561041b57600080fd5b5061042f61042a366004614942565b610cf7565b6040519015158152602001610406565b34801561044b57600080fd5b506103ce61045a366004614999565b610d90565b34801561046b57600080fd5b506103ce61047a366004614ba9565b610df0565b34801561048b57600080fd5b506073545b604051908152602001610406565b3480156104aa57600080fd5b50610490606d5481565b3480156104c057600080fd5b506104906298968081565b3480156104d757600080fd5b506103ce6104e636600461481d565b610e10565b3480156104f757600080fd5b506065546001600160a01b03165b6040516001600160a01b039091168152602001610406565b34801561052957600080fd5b506103ce610538366004614999565b610e4f565b34801561054957600080fd5b5061049061055836600461481d565b610fb0565b34801561056957600080fd5b506103ce611036565b610505610580366004614c21565b611041565b34801561059157600080fd5b506103ce6105a036600461481d565b611064565b3480156105b157600080fd5b506072546105c490610100900460ff1681565b6040516104069190614c83565b3480156105dd57600080fd5b506104906105ec366004614c91565b6110b0565b3480156105fd57600080fd5b5061049061060c366004614cbd565b611182565b34801561061d57600080fd5b5060725461062b9060ff1681565b6040516104069190614cf9565b34801561064457600080fd5b506103ce610653366004614999565b611227565b34801561066457600080fd5b50606854610490565b34801561067957600080fd5b50610490600a81565b34801561068e57600080fd5b50606654610490565b3480156106a357600080fd5b50606954610490565b3480156106b857600080fd5b5061042f6106c7366004614999565b6113a2565b6103ce6106da366004614d07565b6113ad565b3480156106eb57600080fd5b50610490611515565b34801561070057600080fd5b50610490606a5481565b34801561071657600080fd5b5061049061072536600461481d565b6115da565b34801561073657600080fd5b50610490610745366004614999565b60776020526000908152604090205481565b34801561076357600080fd5b50607454610505906001600160a01b031681565b34801561078357600080fd5b506103ce610792366004614999565b611717565b3480156107a357600080fd5b506103ce6107b236600461481d565b611728565b3480156107c357600080fd5b506103ce611767565b3480156107d857600080fd5b50610490606b5481565b3480156107ee57600080fd5b506104906107fd366004614c91565b611779565b34801561080e57600080fd5b5061049060705481565b34801561082457600080fd5b506103ce61191b565b34801561083957600080fd5b50610490606e5481565b34801561084f57600080fd5b5061042f61085e36600461481d565b611a4d565b34801561086f57600080fd5b5061049061087e366004614c91565b611aaa565b34801561088f57600080fd5b506033546001600160a01b0316610505565b3480156108ad57600080fd5b506104906108bc36600461481d565b611adb565b3480156108cd57600080fd5b5061050573eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b3480156108f557600080fd5b50610490606c5481565b34801561090b57600080fd5b506073546104909081565b34801561092257600080fd5b5061093661093136600461481d565b611b05565b6040516104069190614d57565b34801561094f57600080fd5b50610490606f5481565b34801561096557600080fd5b506103ce610974366004614999565b611be4565b34801561098557600080fd5b50610999610994366004614d6a565b611cc5565b6040516104069190614e3f565b3480156109b257600080fd5b506103ce6109c1366004614ea5565b611ce0565b3480156109d257600080fd5b50607554610505906001600160a01b031681565b3480156109f257600080fd5b50610490610a01366004614999565b6001600160a01b031660009081526077602052604090205490565b348015610a2857600080fd5b50607254610100900460ff166105c4565b348015610a4557600080fd5b50610a59610a5436600461481d565b611ce9565b6040516104069a99989796959493929190614ec2565b348015610a7b57600080fd5b50606f54610490565b348015610a9057600080fd5b50610490610a9f36600461481d565b60009081526076602052604090206002015490565b348015610ac057600080fd5b5061042f611deb565b348015610ad557600080fd5b50610490610ae4366004614f27565b611dfe565b348015610af557600080fd5b506103ce610b04366004614f4c565b611e29565b348015610b1557600080fd5b50610b29610b24366004614999565b611e42565b6040516104069190614ff7565b348015610b4257600080fd5b506103ce610b51366004615011565b611e4d565b6103ce610b64366004614c21565b611f9b565b348015610b7557600080fd5b506103ce610b84366004614999565b611fb5565b348015610b9557600080fd5b506103ce610ba4366004615042565b612042565b348015610bb557600080fd5b506103ce610bc436600461481d565b61208d565b348015610bd557600080fd5b506103ce610be436600461481d565b6120b6565b6076602090815260009182526040918290208054600182015460028301546003840154600485015460058601546006870154600788015460088901548b51808d01909c52600a8a0180548d52600b8b0180549a9d999c989b979a6001600160a01b039788169a968816999790951697939660ff9093169593949192840191610c709061509c565b80601f0160208091040260200160405190810160405280929190818152602001828054610c9c9061509c565b8015610ce95780601f10610cbe57610100808354040283529160200191610ce9565b820191906000526020600020905b815481529060010190602001808311610ccc57829003601f168201915b50505050508152505090508a565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167ff1801e61000000000000000000000000000000000000000000000000000000001480610d8a57507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b33610d9a816120f5565b607480546001600160a01b0319166001600160a01b0384169081179091556040519081527fd6ceddf6d2a22f21c7c81675c518004eff43bc5c8a6fc32a0b748e69d58671cd906020015b60405180910390a15050565b610df86121a4565b610e006121cf565b610e0b83838361220b565b505050565b33610e1a816120f5565b606b8290556040518281527f08e39b387d1f739ce0d2553bb31822392e3f67c62c6c0a215120ab4a6841a8ab90602001610de4565b600054610100900460ff1615808015610e6f5750600054600160ff909116105b80610e895750303b158015610e89575060005460ff166001145b610f005760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084015b60405180910390fd5b6000805460ff191660011790558015610f23576000805461ff0019166101001790555b610f62826040518060400160405280600a81526020017f4356537472617465677900000000000000000000000000000000000000000000815250612042565b610f6a61251f565b8015610fac576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249890602001610de4565b5050565b600081815260766020526040812080548314610fe25760405163c1d17bef60e01b815260048101849052602401610ef7565b6001600882015460ff166004811115610ffd57610ffd614836565b1461101e576040516344980d8f60e01b815260048101849052602401610ef7565b61102c818260020154612592565b6003015492915050565b61103f336125cd565b565b600061104b6121a4565b6110536121cf565b61105d838361271e565b9392505050565b3361106e816120f5565b60705460408051918252602082018490527f056aedca4e334b6c4bea48715fb0de644811b740894de57a0380d3eb90f2805b910160405180910390a150607055565b60006110ba612a70565b60006002607254610100900460ff1660038111156110da576110da614836565b148061110157506001607254610100900460ff1660038111156110ff576110ff614836565b145b1561110d57508161111a565b6111178484612ab4565b90505b80606f600082825461112c91906150e6565b9091555050604080516001600160a01b0386168152602081018590529081018290527f70b752f3fadb6ac131c0ece847fcbb6994ec56ed6411595710fd9b29c6ac6cc19060600160405180910390a19392505050565b60008084905060006111a8629896806080606a54901b6111a2919061510f565b83612d78565b905060806f80000000000000000000000000000000606a54629896806111ce91906150e6565b6111dc84600160801b6150e6565b6111e96298968089615131565b6111f39190615131565b6111fd919061510f565b6112078885615131565b6112119190615148565b61121b9190615148565b901c9695505050505050565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036112b45760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b19195b1959d85d1958d85b1b60a21b6064820152608401610ef7565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661130f7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b6001600160a01b03161461137a5760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b6163746976652070726f787960a01b6064820152608401610ef7565b61138381612e21565b6040805160008082526020820190925261139f91839190612e29565b50565b6000610d8a82612fc9565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016300361143a5760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b19195b1959d85d1958d85b1b60a21b6064820152608401610ef7565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166114957f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b6001600160a01b0316146115005760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b6163746976652070726f787960a01b6064820152608401610ef7565b61150982612e21565b610fac82826001612e29565b6000306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146115b55760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c00000000000000006064820152608401610ef7565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc90565b60008060695411611617576040517fed4421ad00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61162082612fe9565b1561163e57604051630efd728560e21b815260040160405180910390fd5b6069546000906116578468010000000000000000615131565b611661919061510f565b62989680606b546801000000000000000061167c9190615131565b611686919061510f565b61169091906150e6565b9050604061169d606f5490565b606a546116ad90629896806150e6565b6298968060406116bd8680615131565b901c629896806080606c54901b6116d4919061510f565b6116de919061510f565b6116e89190615131565b6116f2919061510f565b6116fc9190615131565b901c915060705482116117115760705461105d565b50919050565b61171f612a70565b61139f816125cd565b33611732816120f5565b606a8290556040518281527f592dcd55d60d892e7fcb3ba105013312e99691cd59f91e15f83cb67cb5a505f290602001610de4565b61176f613010565b61103f600061306a565b6000611783612a70565b61178c836130bc565b6117a957604051630b72d6b160e31b815260040160405180910390fd5b60006002607254610100900460ff1660038111156117c9576117c9614836565b036117d757825b9050611834565b6001607254610100900460ff1660038111156117f5576117f5614836565b03611804576117d08484613164565b6003607254610100900460ff16600381111561182257611822614836565b036118345761183184846132ca565b90505b60745460405163011de97360e61b81526001600160a01b038681166004830152306024830152600092169063477a5cc090604401602060405180830381865afa158015611885573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118a9919061515b565b905080156118c95781606f60008282546118c39190615148565b90915550505b604080516001600160a01b0387168152602081018690529081018390527f0b9150e1e54346ed3fa36b977cd5d65dca5a649c737c3174a26bddaadd47667a9060600160405180910390a1509392505050565b33611925816130bc565b61194257604051630b72d6b160e31b815260040160405180910390fd5b6074546040517f0d4a8b490000000000000000000000000000000000000000000000000000000081526001600160a01b03838116600483015230602483015290911690630d4a8b4990604401600060405180830381600087803b1580156119a857600080fd5b505af11580156119bc573d6000803e3d6000fd5b5050607454604051637817ee4f60e01b81526001600160a01b0385811660048301523060248301529091169250637817ee4f9150604401602060405180830381865afa158015611a10573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a349190615178565b606f6000828254611a459190615148565b909155505050565b6000818152607660205260408120600281015482908190611a6f908490613511565b91509150816000148015611a81575080155b15611a8e57826003015491505b6000611a9d84600101546115da565b9092101595945050505050565b60786020528160005260406000208181548110611ac657600080fd5b90600052602060002001600091509150505481565b6000606a5462989680611aee91906150e6565b611afb6298968084615131565b610d8a919061510f565b604080518082019091526000815260606020820152600060766000848152602001908152602001600020905080600a0160405180604001604052908160008201548152602001600182018054611b5a9061509c565b80601f0160208091040260200160405190810160405280929190818152602001828054611b869061509c565b8015611bd35780601f10611ba857610100808354040283529160200191611bd3565b820191906000526020600020905b815481529060010190602001808311611bb657829003601f168201915b505050505081525050915050919050565b607460009054906101000a90046001600160a01b03166001600160a01b0316636c53db9a6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611c37573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c5b9190615191565b6001600160a01b03163303611c9357611c7381613569565b607580546001600160a01b0383166001600160a01b031990911617905550565b6040517fe860ec7e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b606060405163d623472560e01b815260040160405180910390fd5b61139f816135a9565b6000806000806000806000806000806000607660008d815260200190815260200160002090508060010154600014611d2d57611d2881600101546115da565b611d30565b60005b92508060050160009054906101000a90046001600160a01b03168160040160009054906101000a90046001600160a01b03168260060160009054906101000a90046001600160a01b0316836001015484600201548560080160009054906101000a900460ff16866007015487600301548a896009016000336001600160a01b03166001600160a01b03168152602001908152602001600020549a509a509a509a509a509a509a509a509a509a50509193959799509193959799565b6000611df960675460ff1690565b905090565b60008281526076602090815260408083206001600160a01b038516845260090190915281205461105d565b60405163d623472560e01b815260040160405180910390fd5b6000610d8a826135ea565b611e556121a4565b611e5e8261360a565b600081806020019051810190611e74919061521e565b80519091506001600160a01b0316611e9f57604051635df4b1ef60e01b815260040160405180910390fd5b8051607480546001600160a01b0319166001600160a01b039092169190911790556020810151606a556040810151606b556060810151606c5560a08101516072805460ff19166001836002811115611ef957611ef9614836565b021790555060c08101516072805461ff001916610100836003811115611f2157611f21614836565b021790555060e0810151516073556080810151607055610100810151607580546001600160a01b0319166001600160a01b039092169190911790556040517f4ebdec05fb64815e553aeaf3976ef8112dd79760a459bee3ac7d1659ab2c4e0490611f8e90859084906152b9565b60405180910390a1505050565b611fa36121a4565b611fab6121cf565b610fac828261368b565b611fbd613010565b6001600160a01b0381166120395760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610ef7565b61139f8161306a565b606580546001600160a01b0319166001600160a01b03841617905560405161206e90829060200161534c565b60408051601f1981840301815291905280516020909101206066555050565b6120956121a4565b80606960008282546120a79190615148565b9091555061139f90508161379a565b336120c0816120f5565b606c8290556040518281527f30ee8206062f283e56a0af2b02138016bf7442ded26ad68a92a18a9dd246fb4990602001610de4565b6065546068546040517f29e40d4b00000000000000000000000000000000000000000000000000000000815260048101919091526001600160a01b038381166024830152909116906329e40d4b90604401602060405180830381865afa158015612163573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612187919061515b565b61139f5760405163075fd2b160e01b815260040160405180910390fd5b6065546001600160a01b0316331461103f5760405163075fd2b160e01b815260040160405180910390fd5b60685460000361103f576040517f3da3f98c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000825111612246576040517fc5f7c4c000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008280602001905181019061225c9190615178565b905080600003612298576040517ff881a10d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000818152607660205260409020600160725460ff1660028111156122bf576122bf614836565b0361251857805482146122e85760405163c1d17bef60e01b815260048101839052602401610ef7565b606954816001015411156123405760018101546069546040517f5863b0b60000000000000000000000000000000000000000000000000000000081526004810185905260248101929092526044820152606401610ef7565b6001600882015460ff16600481111561235b5761235b614836565b1461237c576040516344980d8f60e01b815260048101839052602401610ef7565b600061238783610fb0565b9050600061239883600101546115da565b905080821080156123ad575060008360010154115b156123e4576040517fcce7930800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6065546068546040517f068bcd8d00000000000000000000000000000000000000000000000000000000815260048101919091526000916001600160a01b03169063068bcd8d90602401600060405180830381865afa15801561244b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261247391908101906153ec565b905083600101546069600082825461248b91906150e6565b90915550506040810151600485015460018601546124b392916001600160a01b0316906137ca565b60088401805460ff191660049081179091558401546001850154604080518881526001600160a01b0390931660208401528201527fa7932e9c92f31e1ed56b29d00bbe669a97484dc24de28dd9c8c0429df7f358479060600160405180910390a15050505b5050505050565b600054610100900460ff1661258a5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401610ef7565b61103f61380f565b60008061259f8484613511565b915091508160001480156125b1575080155b156125bc5750505050565b600784015560039092019190915550565b607454604051637817ee4f60e01b81526001600160a01b03838116600483015230602483015290911690637817ee4f90604401602060405180830381865afa15801561261d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126419190615178565b606f600082825461265291906150e6565b90915550506074546040517f22bcf9990000000000000000000000000000000000000000000000000000000081526001600160a01b038381166004830152306024830152909116906322bcf99990604401600060405180830381600087803b1580156126bd57600080fd5b505af11580156126d1573d6000803e3d6000fd5b505050506126de81613883565b6040516001600160a01b03821681527f1468da654b37bb3631011c1917d02e0db437d519918858d40b38b5e980ca033b906020015b60405180910390a150565b6000612729826130bc565b61274657604051630b72d6b160e31b815260040160405180910390fd5b60008380602001905181019061275c91906154a0565b805190915060000361279a576040517f4e79178600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600160725460ff1660028111156127b3576127b3614836565b03612963576127c58160200151613569565b60608101516001600160a01b0316612809576040517f596a094c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000306001600160a01b03166315cc481e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612849573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061286d9190615191565b6001600160a01b031663068bcd8d6068546040518263ffffffff1660e01b815260040161289c91815260200190565b600060405180830381865afa1580156128b9573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526128e191908101906153ec565b604001519050806001600160a01b031682606001516001600160a01b031614612936576040517fa29c498600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6129438260400151612fe9565b1561296157604051630efd728560e21b815260040160405180910390fd5b505b6000606d6000815461297490615547565b918290555060008181526076602090815260408083208481556005810180546001600160a01b038b81166001600160a01b0319928316179092558885015160048401805491841691831691909117905560608901516006840180549190931691161790559086015160018083019190915560088201805460ff19169091179055436007820155600381019290925560808501518051600a8401908155918101519394509192600b840190612a2890826155ae565b505060685460408051918252602082018590527ffcf3b1aa65a464cef2889608f99e8b8c0f680a4be6c2acb9d961c536a5a9294b92500160405180910390a150949350505050565b6074546001600160a01b0316331461103f576040517faf0916a200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b607454604080516336d8759760e21b815290516000926012926001600160a01b039091169163db61d65c916004808201926020929091908290030181865afa158015612b04573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612b289190615191565b6001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015612b81575060408051601f3d908101601f19168201909252612b7e9181019061566e565b60015b612bc857612bc36040518060400160405280601581526020017f4572726f722067657474696e6720646563696d616c0000000000000000000000815250613a10565b612bce565b60ff1690505b612c0d6040518060400160405280601081526020017f5f616d6f756e74546f556e7374616b650000000000000000000000000000000081525084613a81565b6074546040516316308e2560e11b81526001600160a01b0386811660048301526000928692911690632c611c4a90602401602060405180830381865afa158015612c5b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612c7f9190615178565b612c8991906150e6565b9050612cca6040518060400160405280600d81526020017f6e6577546f74616c5374616b650000000000000000000000000000000000000081525082613a81565b6000612ce9612cda84600a615775565b612ce49084615131565b613af4565b607454604051637817ee4f60e01b81526001600160a01b03898116600483015230602483015292935060009284921690637817ee4f90604401602060405180830381865afa158015612d3f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612d639190615178565b612d6d91906150e6565b979650505050505050565b6000600160801b8310612dcd5760405162461bcd60e51b815260206004820152601c60248201527f5f612073686f756c64206265206c657373207468616e20325e313238000000006044820152606401610ef7565b50600160801b82825b8015612e195780600116600003612dfb57612df18283613bdc565b915060011c612dd6565b612e058383613bdc565b9250612e126001826150e6565b9050612dd6565b505092915050565b61139f613010565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615612e5c57610e0b83613cdb565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015612eb6575060408051601f3d908101601f19168201909252612eb391810190615178565b60015b612f285760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201527f6f6e206973206e6f7420555550530000000000000000000000000000000000006064820152608401610ef7565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8114612fbd5760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f7860448201527f6961626c655555494400000000000000000000000000000000000000000000006064820152608401610ef7565b50610e0b838383613d99565b60006001600160a01b03821615612fe1576001610d8a565b600092915050565b6000612ff86298968083615131565b606954606b546130089190615131565b111592915050565b6033546001600160a01b0316331461103f5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610ef7565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6075546000906001600160a01b03166130d757506001919050565b6075546040517f42a987a00000000000000000000000000000000000000000000000000000000081526001600160a01b038481166004830152306024830152909116906342a987a090604401602060405180830381865afa158015613140573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d8a919061515b565b6000808290506131a96040518060400160405280601281526020017f504f494e545320544f20494e435245415345000000000000000000000000000081525082613a81565b607454604051637817ee4f60e01b81526001600160a01b0386811660048301523060248301526000921690637817ee4f90604401602060405180830381865afa1580156131fa573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061321e9190615178565b905061325f6040518060400160405280600b81526020017f4d454d424552504f57455200000000000000000000000000000000000000000081525082613a81565b60735461326c8383615148565b1115613283576073546132809082906150e6565b91505b6132c26040518060400160405280601681526020017f504f494e545320544f20494e43524541534520454e440000000000000000000081525083613a81565b509392505050565b6074546040516316308e2560e11b81526001600160a01b0384811660048301526000928392859290911690632c611c4a90602401602060405180830381865afa15801561331b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061333f9190615178565b6133499190615148565b607454604080516336d8759760e21b815290519293506012926001600160a01b039092169163db61d65c916004808201926020929091908290030181865afa158015613399573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906133bd9190615191565b6001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015613416575060408051601f3d908101601f191682019092526134139181019061566e565b60015b61345d576134586040518060400160405280601581526020017f4572726f722067657474696e6720646563696d616c0000000000000000000000815250613a10565b613463565b60ff1690505b600061347d61347383600a615775565b612ce49085615131565b607454604051637817ee4f60e01b81526001600160a01b03898116600483015230602483015292935060009290911690637817ee4f90604401602060405180830381865afa1580156134d3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906134f79190615178565b9050600061350582846150e6565b98975050505050505050565b600080439050808460070154111561352b5761352b615781565b8084600701540361354157506000905080613562565b61355f84600701548261355491906150e6565b856003015485611182565b91505b9250929050565b6001600160a01b03811661139f576040517fe622e04000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6067805460ff19168215159081179091556040519081527fd94c9bc4d43c51d8dc345a016d8e3d994432fac68e72832e4cf3a616bd8efae090602001612713565b60006001600160a01b03821615613602576002610d8a565b600392915050565b6136126121a4565b6068541561364c576040517f439a74c900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80600003613686576040517f7fcce2a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b606855565b61369481613dbe565b61369d816130bc565b6136ba57604051630b72d6b160e31b815260040160405180910390fd5b60745460405163011de97360e61b81526001600160a01b038381166004830152306024830152600092169063477a5cc090604401602060405180830381865afa15801561370b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061372f919061515b565b905080613768576040517f5fccb67f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008380602001905181019061377e9190615797565b905061378a8382613ee4565b61379483826140a7565b50505050565b6040518181527f46aeb5d8770fc4474bc2dfa118fd2595f7fb33ce2cbce6f4e5a3dabfe0f7633990602001612713565b7fffffffffffffffffffffffff11111111111111111111111111111111111111126001600160a01b0384160161380457610e0b82826144cb565b610e0b8383836144e7565b600054610100900460ff1661387a5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401610ef7565b61103f3361306a565b6001600160a01b0381166000908152607860209081526040808320805482518185028101850190935280835291929091908301828280156138e357602002820191906000526020600020905b8154815260200190600101908083116138cf575b5050505050905060005b8151811015610e0b57600082828151811061390a5761390a615842565b60200260200101519050600060766000838152602001908152602001600020905061393482614536565b156139fb576001600160a01b038516600090815260098201602052604081208054908290556002830180549192839261396e9084906150e6565b9250508190555080606e600082825461398791906150e6565b9091555061399790508282612592565b60028201546003830154604080516001600160a01b038a1681526020810187905260008183015260608101939093526080830191909152517f0227f642ddcf2042ceaeafadb9d540f432072c00cd4862881667168dcc14710f9181900360a00190a1505b50508080613a0890615547565b9150506138ed565b61139f81604051602401613a24919061534c565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f41304fac0000000000000000000000000000000000000000000000000000000017905261456f565b610fac8282604051602401613a97929190615858565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f9710a9d00000000000000000000000000000000000000000000000000000000017905261456f565b600081600003613b0657506000919050565b60006001613b1384614590565b901c6001901b90506001818481613b2c57613b2c6150f9565b048201901c90506001818481613b4457613b446150f9565b048201901c90506001818481613b5c57613b5c6150f9565b048201901c90506001818481613b7457613b746150f9565b048201901c90506001818481613b8c57613b8c6150f9565b048201901c90506001818481613ba457613ba46150f9565b048201901c90506001818481613bbc57613bbc6150f9565b048201901c905061105d81828581613bd657613bd66150f9565b04614624565b6000600160801b831115613c585760405162461bcd60e51b815260206004820152602860248201527f5f612073686f756c64206265206c657373207468616e206f7220657175616c2060448201527f746f20325e3132380000000000000000000000000000000000000000000000006064820152608401610ef7565b600160801b8210613cab5760405162461bcd60e51b815260206004820152601c60248201527f5f622073686f756c64206265206c657373207468616e20325e313238000000006044820152606401610ef7565b60806f80000000000000000000000000000000613cc88486615131565b613cd29190615148565b901c9392505050565b6001600160a01b0381163b613d585760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201527f6f74206120636f6e7472616374000000000000000000000000000000000000006064820152608401610ef7565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b613da28361463a565b600082511180613daf5750805b15610e0b57613794838361467a565b6001600160a01b038116613dfe576040517fd1f2828800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6074546001600160a01b0316613e2757604051635df4b1ef60e01b815260040160405180910390fd5b6074546040517fa230c5240000000000000000000000000000000000000000000000000000000081526001600160a01b0383811660048301529091169063a230c52490602401602060405180830381865afa158015613e8a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613eae919061515b565b61139f576040517f6a5cfb6d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000805b8251811015613fa157828181518110613f0357613f03615842565b60200260200101516000015160000315613f8f576000838281518110613f2b57613f2b615842565b6020026020010151600001519050613f4281614536565b613f625760405163c1d17bef60e01b815260048101829052602401610ef7565b838281518110613f7457613f74615842565b60200260200101516020015183613f8b919061587a565b9250505b80613f9981615547565b915050613ee8565b506001600160a01b038316600090815260776020526040812054613fc5908361469f565b607454604051637817ee4f60e01b81526001600160a01b03878116600483015230602483015292935060009290911690637817ee4f90604401602060405180830381865afa15801561401b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061403f9190615178565b905080821115614085576040517fd64182fe0000000000000000000000000000000000000000000000000000000081526004810183905260248101829052604401610ef7565b506001600160a01b039093166000908152607760205260409020929092555050565b606060005b82518110156137945760008382815181106140c9576140c9615842565b60200260200101516000015190508251600003614125576040805160018082528183019092529060208083019080368337019050509250808360008151811061411457614114615842565b602002602001018181525050614278565b6000805b84518110156141a4578285828151811061414557614145615842565b602002602001015103614192576040517fadebb154000000000000000000000000000000000000000000000000000000008152600481018490526024810182905260019250604401610ef7565b8061419c81615547565b915050614129565b5080614276576000845160016141ba9190615148565b67ffffffffffffffff8111156141d2576141d26149b6565b6040519080825280602002602001820160405280156141fb578160200160208202803683370190505b50905060005b85518110156142535785818151811061421c5761421c615842565b602002602001015182828151811061423657614236615842565b60209081029190910101528061424b81615547565b915050614201565b50828186518151811061426857614268615842565b602090810291909101015293505b505b600084838151811061428c5761428c615842565b60209081029190910181015181015160008481526076835260408082206001600160a01b038b168352600981019094528120549193506142cc828561469f565b6001600160a01b038a1660009081526009850160205260408120829055909150805b6001600160a01b038b166000908152607860205260409020548110156143655784546001600160a01b038c16600090815260786020526040902080548390811061433a5761433a615842565b9060005260206000200154036143535760019150614365565b8061435d81615547565b9150506142ee565b508061439b576001600160a01b038a16600090815260786020908152604082208654815460018101835591845291909220909101555b8183116143eb576143ac83836150e6565b606e60008282546143bd9190615148565b909155506143cd905083836150e6565b8460020160008282546143e09190615148565b9091555061442f9050565b6143f582846150e6565b606e600082825461440691906150e6565b90915550614416905082846150e6565b84600201600082825461442991906150e6565b90915550505b8360070154600003614446574360078501556144b2565b6144508484612592565b60028401546003850154604080516001600160a01b038e168152602081018a9052908101859052606081019290925260808201527f0227f642ddcf2042ceaeafadb9d540f432072c00cd4862881667168dcc14710f9060a00160405180910390a15b50505050505080806144c390615547565b9150506140ac565b60008060008084865af1610fac5763b12d13eb6000526004601cfd5b81601452806034526fa9059cbb00000000000000000000000060005260206000604460106000875af13d15600160005114171661452c576390b8ec186000526004601cfd5b6000603452505050565b60008181526076602052604081205415801590610d8a5750506000908152607660205260409020600501546001600160a01b0316151590565b80516a636f6e736f6c652e6c6f67602083016000808483855afa5050505050565b600080608083901c156145a557608092831c92015b604083901c156145b757604092831c92015b602083901c156145c957602092831c92015b601083901c156145db57601092831c92015b600883901c156145ed57600892831c92015b600483901c156145ff57600492831c92015b600283901c1561461157600292831c92015b600183901c15610d8a5760010192915050565b6000818310614633578161105d565b5090919050565b61464381613cdb565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b606061105d83836040518060600160405280602781526020016158b7602791396146fa565b6000806146ac838561587a565b9050600081121561105d576040517f3bbc7142000000000000000000000000000000000000000000000000000000008152600481018590526024810184905260448101829052606401610ef7565b6060600080856001600160a01b031685604051614717919061589a565b600060405180830381855af49150503d8060008114614752576040519150601f19603f3d011682016040523d82523d6000602084013e614757565b606091505b509150915061476886838387614772565b9695505050505050565b606083156147e15782516000036147da576001600160a01b0385163b6147da5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610ef7565b50816147eb565b6147eb83836147f3565b949350505050565b8151156148035781518083602001fd5b8060405162461bcd60e51b8152600401610ef7919061534c565b60006020828403121561482f57600080fd5b5035919050565b634e487b7160e01b600052602160045260246000fd5b6005811061485c5761485c614836565b9052565b60005b8381101561487b578181015183820152602001614863565b50506000910152565b6000815180845261489c816020860160208601614860565b601f01601f19169290920160200192915050565b8051825260006020820151604060208501526147eb6040850182614884565b60006101408c83528b60208401528a60408401528960608401526001600160a01b03808a16608085015280891660a085015280881660c0850152508560e084015261491e61010084018661484c565b80610120840152614931818401856148b0565b9d9c50505050505050505050505050565b60006020828403121561495457600080fd5b81357fffffffff000000000000000000000000000000000000000000000000000000008116811461105d57600080fd5b6001600160a01b038116811461139f57600080fd5b6000602082840312156149ab57600080fd5b813561105d81614984565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff811182821017156149ef576149ef6149b6565b60405290565b604051610120810167ffffffffffffffff811182821017156149ef576149ef6149b6565b60405160c0810167ffffffffffffffff811182821017156149ef576149ef6149b6565b60405160a0810167ffffffffffffffff811182821017156149ef576149ef6149b6565b604051601f8201601f1916810167ffffffffffffffff81118282101715614a8857614a886149b6565b604052919050565b600067ffffffffffffffff821115614aaa57614aaa6149b6565b5060051b60200190565b600082601f830112614ac557600080fd5b81356020614ada614ad583614a90565b614a5f565b82815260059290921b84018101918181019086841115614af957600080fd5b8286015b84811015614b1d578035614b1081614984565b8352918301918301614afd565b509695505050505050565b600067ffffffffffffffff821115614b4257614b426149b6565b50601f01601f191660200190565b6000614b5e614ad584614b28565b9050828152838383011115614b7257600080fd5b828260208301376000602084830101529392505050565b600082601f830112614b9a57600080fd5b61105d83833560208501614b50565b600080600060608486031215614bbe57600080fd5b833567ffffffffffffffff80821115614bd657600080fd5b614be287838801614ab4565b94506020860135915080821115614bf857600080fd5b50614c0586828701614b89565b9250506040840135614c1681614984565b809150509250925092565b60008060408385031215614c3457600080fd5b823567ffffffffffffffff811115614c4b57600080fd5b614c5785828601614b89565b9250506020830135614c6881614984565b809150509250929050565b6004811061485c5761485c614836565b60208101610d8a8284614c73565b60008060408385031215614ca457600080fd5b8235614caf81614984565b946020939093013593505050565b600080600060608486031215614cd257600080fd5b505081359360208301359350604090920135919050565b6003811061485c5761485c614836565b60208101610d8a8284614ce9565b60008060408385031215614d1a57600080fd5b8235614d2581614984565b9150602083013567ffffffffffffffff811115614d4157600080fd5b614d4d85828601614b89565b9150509250929050565b60208152600061105d60208301846148b0565b60008060408385031215614d7d57600080fd5b823567ffffffffffffffff80821115614d9557600080fd5b614da186838701614ab4565b9350602091508185013581811115614db857600080fd5b8501601f81018713614dc957600080fd5b8035614dd7614ad582614a90565b81815260059190911b82018401908481019089831115614df657600080fd5b8584015b83811015614e2e57803586811115614e125760008081fd5b614e208c8983890101614b89565b845250918601918601614dfa565b508096505050505050509250929050565b602080825282518282018190526000919060409081850190868401855b82811015614e8a57815180516001600160a01b03168552860151868501529284019290850190600101614e5c565b5091979650505050505050565b801515811461139f57600080fd5b600060208284031215614eb757600080fd5b813561105d81614e97565b6001600160a01b038b811682528a811660208301528916604082015260608101889052608081018790526101408101614efe60a083018861484c565b8560c08301528460e083015283610100830152826101208301529b9a5050505050505050505050565b60008060408385031215614f3a57600080fd5b823591506020830135614c6881614984565b60006020808385031215614f5f57600080fd5b823567ffffffffffffffff811115614f7657600080fd5b8301601f81018513614f8757600080fd5b8035614f95614ad582614a90565b81815260069190911b82018301908381019087831115614fb457600080fd5b928401925b82841015612d6d5760408489031215614fd25760008081fd5b614fda6149cc565b843581528585013586820152825260409093019290840190614fb9565b602081016007831061500b5761500b614836565b91905290565b6000806040838503121561502457600080fd5b82359150602083013567ffffffffffffffff811115614d4157600080fd5b6000806040838503121561505557600080fd5b823561506081614984565b9150602083013567ffffffffffffffff81111561507c57600080fd5b8301601f8101851361508d57600080fd5b614d4d85823560208401614b50565b600181811c908216806150b057607f821691505b60208210810361171157634e487b7160e01b600052602260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b81810381811115610d8a57610d8a6150d0565b634e487b7160e01b600052601260045260246000fd5b60008261512c57634e487b7160e01b600052601260045260246000fd5b500490565b8082028115828204841417610d8a57610d8a6150d0565b80820180821115610d8a57610d8a6150d0565b60006020828403121561516d57600080fd5b815161105d81614e97565b60006020828403121561518a57600080fd5b5051919050565b6000602082840312156151a357600080fd5b815161105d81614984565b80516151b981614984565b919050565b8051600381106151b957600080fd5b8051600481106151b957600080fd5b6000602082840312156151ee57600080fd5b6040516020810181811067ffffffffffffffff82111715615211576152116149b6565b6040529151825250919050565b6000610120828403121561523157600080fd5b6152396149f5565b615242836151ae565b81526020830151602082015260408301516040820152606083015160608201526080830151608082015261527860a084016151be565b60a082015261528960c084016151cd565b60c082015261529b8460e085016151dc565b60e08201526101006152ae8185016151ae565b908201529392505050565b6000610140820190508382526001600160a01b038351166020830152602083015160408301526040830151606083015260608301516080830152608083015160a083015260a083015161530f60c0840182614ce9565b5060c083015161532260e0840182614c73565b5060e08301515161010083810191909152909201516001600160a01b031661012090910152919050565b60208152600061105d6020830184614884565b60006040828403121561537157600080fd5b6153796149cc565b905081518152602082015167ffffffffffffffff81111561539957600080fd5b8201601f810184136153aa57600080fd5b80516153b8614ad582614b28565b8181528560208385010111156153cd57600080fd5b6153de826020830160208601614860565b602084015250909392505050565b6000602082840312156153fe57600080fd5b815167ffffffffffffffff8082111561541657600080fd5b9083019060c0828603121561542a57600080fd5b615432614a19565b82518152602083015161544481614984565b6020820152604083015161545781614984565b604082015260608301518281111561546e57600080fd5b61547a8782860161535f565b6060830152506080830151608082015260a083015160a082015280935050505092915050565b6000602082840312156154b257600080fd5b815167ffffffffffffffff808211156154ca57600080fd5b9083019060a082860312156154de57600080fd5b6154e6614a3c565b8251815260208301516154f881614984565b602082015260408381015190820152606083015161551581614984565b606082015260808301518281111561552c57600080fd5b6155388782860161535f565b60808301525095945050505050565b600060018201615559576155596150d0565b5060010190565b601f821115610e0b57600081815260208120601f850160051c810160208610156155875750805b601f850160051c820191505b818110156155a657828155600101615593565b505050505050565b815167ffffffffffffffff8111156155c8576155c86149b6565b6155dc816155d6845461509c565b84615560565b602080601f83116001811461561157600084156155f95750858301515b600019600386901b1c1916600185901b1785556155a6565b600085815260208120601f198616915b8281101561564057888601518255948401946001909101908401615621565b508582101561565e5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60006020828403121561568057600080fd5b815160ff8116811461105d57600080fd5b600181815b808511156156cc5781600019048211156156b2576156b26150d0565b808516156156bf57918102915b93841c9390800290615696565b509250929050565b6000826156e357506001610d8a565b816156f057506000610d8a565b816001811461570657600281146157105761572c565b6001915050610d8a565b60ff841115615721576157216150d0565b50506001821b610d8a565b5060208310610133831016604e8410600b841016171561574f575081810a610d8a565b6157598383615691565b806000190482111561576d5761576d6150d0565b029392505050565b600061105d83836156d4565b634e487b7160e01b600052600160045260246000fd5b600060208083850312156157aa57600080fd5b825167ffffffffffffffff8111156157c157600080fd5b8301601f810185136157d257600080fd5b80516157e0614ad582614a90565b81815260069190911b820183019083810190878311156157ff57600080fd5b928401925b82841015612d6d576040848903121561581d5760008081fd5b6158256149cc565b845181528585015186820152825260409093019290840190615804565b634e487b7160e01b600052603260045260246000fd5b60408152600061586b6040830185614884565b90508260208301529392505050565b8082018281126000831280158216821582161715612e1957612e196150d0565b600082516158ac818460208701614860565b919091019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220c48cc12d179438205fdfccfa347c3f7a42e1628b0464d75d22b5c73259d5a99664736f6c6343000813003360806040526040516104ee3803806104ee833981016040819052610022916102de565b61002e82826000610035565b50506103fb565b61003e83610061565b60008251118061004b5750805b1561005c5761005a83836100a1565b505b505050565b61006a816100cd565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606100c683836040518060600160405280602781526020016104c760279139610180565b9392505050565b6001600160a01b0381163b61013f5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080856001600160a01b03168560405161019d91906103ac565b600060405180830381855af49150503d80600081146101d8576040519150601f19603f3d011682016040523d82523d6000602084013e6101dd565b606091505b5090925090506101ef868383876101f9565b9695505050505050565b60608315610268578251600003610261576001600160a01b0385163b6102615760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610136565b5081610272565b610272838361027a565b949350505050565b81511561028a5781518083602001fd5b8060405162461bcd60e51b815260040161013691906103c8565b634e487b7160e01b600052604160045260246000fd5b60005b838110156102d55781810151838201526020016102bd565b50506000910152565b600080604083850312156102f157600080fd5b82516001600160a01b038116811461030857600080fd5b60208401519092506001600160401b038082111561032557600080fd5b818501915085601f83011261033957600080fd5b81518181111561034b5761034b6102a4565b604051601f8201601f19908116603f01168101908382118183101715610373576103736102a4565b8160405282815288602084870101111561038c57600080fd5b61039d8360208301602088016102ba565b80955050505050509250929050565b600082516103be8184602087016102ba565b9190910192915050565b60208152600082518060208401526103e78160408501602087016102ba565b601f01601f19169190910160400192915050565b60be806104096000396000f3fe608060405236601057600e6013565b005b600e5b601f601b6021565b6065565b565b600060607f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b905090565b3660008037600080366000845af43d6000803e8080156083573d6000f35b3d6000fdfea26469706673582212204ff6082523a0497cb45cb43d3d639dba31b196359b7f035ed946d507d89a80c764736f6c63430008130033416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c656467617264656e73466163746f72792e67657447617264656e7346656552656365697665722829416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a264697066735822122021ab31b51ced700c35259f0eb0c59f2095f1fbcf2c8bd0efe59a0682d6a8b74164736f6c63430008130033","sourceMap":"1415:24000:134:-:0;;;1088:4:68;1045:48;;1415:24000:134;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405260043610620003ef5760003560e01c80636c53db9a116200020f578063a217fddf1162000123578063d547741f11620000ad578063ebd7dc521162000078578063ebd7dc521462000cfd578063f2fde38b1462000d22578063f86c5f891462000d47578063ff6409ef1462000d6a57600080fd5b8063d547741f1462000c7a578063d6d8428d1462000c9f578063d7050f071462000cc2578063db61d65c1462000cda57600080fd5b8063b64e39af11620000ee578063b64e39af1462000c0b578063b99b43701462000c32578063bc063e1a1462000c4a578063c6d572ae1462000c6257600080fd5b8063a217fddf1462000b51578063a230c5241462000b68578063b3f006741462000bd1578063b5058c501462000bf357600080fd5b806382d6a1e711620001a557806391d14854116200017057806391d148541462000a7557806396f0adec1462000abf57806397991cfa1462000ae4578063a0cf0aea1462000b2757600080fd5b806382d6a1e714620009a257806388cfe68414620009c75780638961be6b1462000a3d5780638da5cb5b1462000a5557600080fd5b8063733a2d1f11620001e6578063733a2d1f14620008e65780637817ee4f146200091c57806378a0b8a914620009675780637b103999146200097f57600080fd5b80636c53db9a1462000886578063715018a614620008a957806373265c3714620008c157600080fd5b80633396045911620003075780634f1ef286116200029d5780635ecf71c511620002685780635ecf71c514620007dc57806365e3864c14620008015780636871eb4d146200083e57806368decabb146200086357600080fd5b80634f1ef286146200076557806352d1902d146200077c578063559de05d14620007945780635c94e4d214620007b957600080fd5b80633659cfe611620002de5780633659cfe614620006a6578063397e254314620006cb5780633a871fe114620006f0578063477a5cc0146200072557600080fd5b80633396045914620006505780633517aa7d146200066957806336568abe146200068157600080fd5b8063223e547911620003895780632b38c69c11620003545780632b38c69c146200058a5780632c611c4a14620005c85780632f2ff15d146200060657806331f61bca146200062b57600080fd5b8063223e547914620004f457806322bcf9991462000519578063248a9ca3146200053e57806328c309e9146200057257600080fd5b80630d12bbdb11620003ca5780630d12bbdb14620004675780630d4a8b49146200048e578063175188e814620004b35780631f787d2814620004d857600080fd5b806301ffc9a714620003f45780630331383c146200042e57806308386eba146200044f575b600080fd5b3480156200040157600080fd5b50620004196200041336600462004b7e565b62000d8f565b60405190151581526020015b60405180910390f35b3480156200043b57600080fd5b5060fc545b60405190815260200162000425565b3480156200045c57600080fd5b506200044060fe5481565b3480156200047457600080fd5b506200048c6200048636600462004baa565b62000de0565b005b3480156200049b57600080fd5b506200048c620004ad36600462004bec565b62000e6f565b348015620004c057600080fd5b506200048c620004d236600462004c2a565b620011f7565b348015620004e557600080fd5b5060fb54620004199060ff1681565b3480156200050157600080fd5b506200048c6200051336600462004c2a565b6200120f565b3480156200052657600080fd5b506200048c6200053836600462004bec565b62001224565b3480156200054b57600080fd5b50620004406200055d36600462004baa565b600090815260c9602052604090206001015490565b3480156200057f57600080fd5b506200044062001340565b3480156200059757600080fd5b50620005af620005a936600462004c4a565b6200143e565b6040516001600160a01b03909116815260200162000425565b348015620005d557600080fd5b5062000440620005e736600462004c2a565b6001600160a01b0316600090815261010c602052604090206001015490565b3480156200061357600080fd5b506200048c6200062536600462004c79565b62001478565b3480156200063857600080fd5b506200048c6200064a36600462004baa565b620014a6565b3480156200065d57600080fd5b50620004406101025481565b3480156200067657600080fd5b506200048c620014e6565b3480156200068e57600080fd5b506200048c620006a036600462004c79565b62001922565b348015620006b357600080fd5b506200048c620006c536600462004c2a565b620019b6565b348015620006d857600080fd5b506200048c620006ea36600462004c2a565b62001b37565b348015620006fd57600080fd5b50620004196200070f36600462004c2a565b61010a6020526000908152604090205460ff1681565b3480156200073257600080fd5b50620004196200074436600462004bec565b61010e60209081526000928352604080842090915290825290205460ff1681565b6200048c6200077636600462004df9565b62001bab565b3480156200078957600080fd5b506200044062001d1c565b348015620007a157600080fd5b506200048c620007b336600462004baa565b62001de3565b348015620007c657600080fd5b5061010154620005af906001600160a01b031681565b348015620007e957600080fd5b506200048c620007fb36600462004baa565b620020e2565b3480156200080e57600080fd5b50620004406200082036600462004bec565b61010b60209081526000928352604080842090915290825290205481565b3480156200084b57600080fd5b506200048c6200085d36600462004bec565b620024d3565b3480156200087057600080fd5b5061010354620005af906001600160a01b031681565b3480156200089357600080fd5b5061010654620005af906001600160a01b031681565b348015620008b657600080fd5b506200048c620026ee565b348015620008ce57600080fd5b506200048c620008e036600462004baa565b62002704565b348015620008f357600080fd5b50620004407f03be538b6391ddcd7f2649585cc95b120c9e2a613f70714fbb55345057d809fa81565b3480156200092957600080fd5b50620004406200093b36600462004bec565b6001600160a01b03918216600090815261010b6020908152604080832093909416825291909152205490565b3480156200097457600080fd5b506200044060fc5481565b3480156200098c57600080fd5b5061010454620005af906001600160a01b031681565b348015620009af57600080fd5b506200048c620009c136600462004baa565b620027a0565b348015620009d457600080fd5b5062000a15620009e636600462004c2a565b61010c602052600090815260409020805460018201546002909201546001600160a01b03909116919060ff1683565b604080516001600160a01b039094168452602084019290925215159082015260600162000425565b34801562000a4a57600080fd5b506200044060fd5481565b34801562000a6257600080fd5b506033546001600160a01b0316620005af565b34801562000a8257600080fd5b506200041962000a9436600462004c79565b600091825260c9602090815260408084206001600160a01b0393909316845291905290205460ff1690565b34801562000acc57600080fd5b506200048c62000ade36600462004efb565b6200285e565b34801562000af157600080fd5b5062000b0962000b0336600462005187565b62002ef4565b604080519283526001600160a01b0390911660208301520162000425565b34801562000b3457600080fd5b50620005af73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b34801562000b5e57600080fd5b5062000440600081565b34801562000b7557600080fd5b506200041962000b8736600462004c2a565b6001600160a01b03908116600090815261010c60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff161515910181905290565b34801562000bde57600080fd5b5060ff54620005af906001600160a01b031681565b34801562000c0057600080fd5b506200048c62002fd9565b34801562000c1857600080fd5b5062000c2362003029565b60405162000425919062005246565b34801562000c3f57600080fd5b506200048c620030c0565b34801562000c5757600080fd5b506200044062003232565b34801562000c6f57600080fd5b5062000c2362003244565b34801562000c8757600080fd5b506200048c62000c9936600462004c79565b62003254565b34801562000cac57600080fd5b5061010754620005af906001600160a01b031681565b34801562000ccf57600080fd5b506200044061271081565b34801562000ce757600080fd5b5061010554620005af906001600160a01b031681565b34801562000d0a57600080fd5b506200041962000d1c36600462004c2a565b6200327d565b34801562000d2f57600080fd5b506200048c62000d4136600462004c2a565b620032be565b34801562000d5457600080fd5b5061010054620005af906001600160a01b031681565b34801562000d7757600080fd5b5062000b0962000d893660046200525b565b62003351565b60006001600160e01b031982167f7965db0b00000000000000000000000000000000000000000000000000000000148062000dda57506301ffc9a760e01b6001600160e01b03198316145b92915050565b62000dea620034de565b62000df9612710600a620052f1565b81111562000e33576040517ffe925f7d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60fd8190556040518181527f611668bfcf654a99c33cdb66c29ec37a5aae5c1287d2d9715a24e18cb4d806d6906020015b60405180910390a150565b62000e7a8262003547565b62000e8581620035ac565b62000e908162003600565b6001600160a01b03808316600090815261010e602090815260408083209385168352929052205460ff161562000ef2576040517fd5b9bc9600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b03808316600090815261010c602090815260409182902082516060810184528154909416845260018101549184018290526002015460ff1615159183019190915260fc546003846001600160a01b031663c32921716040518163ffffffff1660e01b81526004016020604051808303816000875af115801562000f80573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000fa6919062005321565b600381111562000fba5762000fba6200530b565b036200103e5760405163782aadff60e01b81526001600160a01b0386811660048301526000602483015285169063782aadff906044016020604051808303816000875af115801562001010573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001036919062005341565b90506200113a565b6000846001600160a01b031663c32921716040518163ffffffff1660e01b81526004016020604051808303816000875af115801562001081573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620010a7919062005321565b6003811115620010bb57620010bb6200530b565b146200113a5760405163782aadff60e01b81526001600160a01b0386811660048301526024820184905285169063782aadff906044016020604051808303816000875af115801562001111573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001137919062005341565b90505b6001600160a01b03858116600081815261010b6020908152604080832094891680845294825280832086905583835261010e82528083208584528252808320805460ff1916600190811790915584845261010d83528184208054918201815584529282902090920180546001600160a01b0319168517905581519283528201929092529081018290527ff56fa57e85e169a12200d12d9921ec069b52e688f6d309d9dab7bceff54614ec9060600160405180910390a15050505050565b62001201620034de565b6200120c8162003641565b50565b62001219620034de565b6200120c816200369f565b6200122f8262003547565b6200123a8162003600565b6200124633826200374a565b6001600160a01b03808316600090815261010e602090815260408083209385168352929052205460ff16620012a7576040517fc12369dc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b03808316600081815261010e60209081526040808320948616808452948252808320805460ff1916905592825261010b815282822093825292909252812055620012f9828262003796565b604080516001600160a01b038085168252831660208201527ede109bef4619f7e2cf00c8e5a50ca55f8deb44f87087eed414a91dbf8d1d1b91015b60405180910390a15050565b610100546000906001600160a01b031681620013606127106064620052f1565b60fd5460fc54620013729190620052f1565b6200137e91906200535b565b90506000620013916127106064620052f1565b6040516302a64b8360e21b81523060048201526001600160a01b03851690630a992e0c90602401602060405180830381865afa158015620013d6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620013fc919062005341565b60fc546200140b9190620052f1565b6200141791906200535b565b9050808260fc546200142a91906200537e565b6200143691906200537e565b935050505090565b61010d60205281600052604060002081815481106200145c57600080fd5b6000918252602090912001546001600160a01b03169150829050565b600082815260c960205260409020600101546200149581620038cc565b620014a18383620038d8565b505050565b620014b0620034de565b60fc8190556040518181527f5bcc2c453001fb0e2ba6266d56ecb411e7c6e15c8f9c3d301f93dd36ad25726f9060200162000e64565b620014f06200397c565b33600081815261010c602052604081206101005490916001600160a01b0390911690620015216127106064620052f1565b60fd5460fc54620015339190620052f1565b6200153f91906200535b565b90506000620015526127106064620052f1565b6040516302a64b8360e21b81523060048201526001600160a01b03851690630a992e0c90602401602060405180830381865afa15801562001597573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620015bd919062005341565b60fc54620015cc9190620052f1565b620015d891906200535b565b6001600160a01b03808716600090815261010c60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff1615159101819052909150620019105760028401805460ff1916600190811790915560fc549085015560408051808201909152600b81527f67617264656e546f6b656e0000000000000000000000000000000000000000006020820152610105546200168d91906001600160a01b0316620039d7565b620016c68530838560fc54620016a491906200537e565b620016b091906200537e565b610105546001600160a01b031692919062003a39565b620017076040518060400160405280601281526020017f636f6d6d756e697479466565416d6f756e7400000000000000000000000000008152508362003abf565b81156200177a5760408051808201909152600b81527f6665655265636569766572000000000000000000000000000000000000000000602082015260ff546200175a91906001600160a01b0316620039d7565b60ff54610105546200177a916001600160a01b0391821691168462003b21565b620017bb6040518060400160405280601081526020017f67617264656e73466565416d6f756e74000000000000000000000000000000008152508262003abf565b8015620018c9576200184b6040518060600160405280602681526020016200b9e060269139846001600160a01b031663987435be6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200181f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001845919062005394565b620039d7565b620018c9836001600160a01b031663987435be6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200188e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620018b4919062005394565b610105546001600160a01b0316908362003b21565b60fc54604080516001600160a01b038816815260208101929092527f67e0244e28040fec15240cd4b6c04c776a2a0278caef23b59e8ada1df31f7689910160405180910390a15b5050505050620019206001606555565b565b6001600160a01b0381163314620019a65760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201527f20726f6c657320666f722073656c66000000000000000000000000000000000060648201526084015b60405180910390fd5b620019b2828262003b5a565b5050565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016300362001a455760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b19195b1959d85d1958d85b1b60a21b60648201526084016200199d565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031662001aa17f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b6001600160a01b03161462001b0e5760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b6163746976652070726f787960a01b60648201526084016200199d565b62001b198162003bde565b604080516000808252602082019092526200120c9183919062003be8565b62001b41620034de565b62001b4c8162003600565b61010380546001600160a01b0319166001600160a01b03838116918217909255610106546040805191909316815260208101919091527f83eac9fdaff0ac1017624b7eddeb9782e3d707cd894073cb7e8301a41c6e5cf8910162000e64565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016300362001c3a5760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b19195b1959d85d1958d85b1b60a21b60648201526084016200199d565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031662001c967f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b6001600160a01b03161462001d035760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b6163746976652070726f787960a01b60648201526084016200199d565b62001d0e8262003bde565b620019b28282600162003be8565b6000306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161462001dbe5760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c000000000000000060648201526084016200199d565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc90565b62001ded6200397c565b62001df762003d94565b33600081815261010d602090815260408083208054825181850281018501909352808352919290919083018282801562001e5b57602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831162001e3c575b50505050509050600080600090505b8251811015620020425782818151811062001e895762001e89620053b4565b602090810291909101015160405163782aadff60e01b81526001600160a01b038681166004830152602482018890529091169063782aadff906044016020604051808303816000875af115801562001ee5573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001f0b919062005341565b915081156200202d576001600160a01b038416600090815261010b60205260408120845184929086908590811062001f475762001f47620053b4565b60200260200101516001600160a01b03166001600160a01b03168152602001908152602001600020600082825462001f8091906200537e565b925050819055506200202d6040518060400160405280600e81526020017f537472617465677920706f77657200000000000000000000000000000000000081525061010b6000876001600160a01b03166001600160a01b03168152602001908152602001600020600086858151811062001ffe5762001ffe620053b4565b60200260200101516001600160a01b03166001600160a01b031681526020019081526020016000205462003abf565b806200203981620053ca565b91505062001e6a565b50610105546200205e906001600160a01b031684308762003a39565b6001600160a01b038316600090815261010c6020526040812060010180548692906200208c9084906200537e565b9091555050604080516001600160a01b0385168152602081018690527f576605f9bfe8911e7508bed3763c7c5c8eb3b86e8b360b90a4bc6abe1104cb7f91015b60405180910390a15050506200120c6001606555565b620020ec6200397c565b620020f662003d94565b33600081815261010d6020908152604080832060fc5461010c90935290832060010154909291906200212a908690620053e6565b101562002163576040517f9c47d02e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610105546200217d906001600160a01b0316848662003b21565b60005b82548110156200245f576000838281548110620021a157620021a1620053b4565b6000918252602090912001546001600160a01b03169050620021cb8163f1801e6160e01b62003df5565b1562002383576040517f2ed04b2b0000000000000000000000000000000000000000000000000000000081526001600160a01b03868116600483015260248201889052821690632ed04b2b906044016020604051808303816000875af11580156200223a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002260919062005341565b9250600061010b6000876001600160a01b03166001600160a01b031681526020019081526020016000206000868581548110620022a157620022a1620053b4565b60009182526020808320909101546001600160a01b031683528201929092526040019020549050808411156200230e576040517f8a11f31800000000000000000000000000000000000000000000000000000000815260048101859052602481018290526044016200199d565b6001600160a01b038616600090815261010b602052604081208654869290889087908110620023415762002341620053b4565b60009182526020808320909101546001600160a01b031683528201929092526040018120805490919062002377908490620053e6565b90915550505062002449565b835484906200239590600190620053e6565b81548110620023a857620023a8620053b4565b9060005260206000200160009054906101000a90046001600160a01b0316848381548110620023db57620023db620053b4565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b03160217905550838054806200241c576200241c620053fc565b600082815260209020810160001990810180546001600160a01b0319169055019055620024498162003641565b50806200245681620053ca565b91505062002180565b506001600160a01b038316600090815261010c6020526040812060010180548692906200248e908490620053e6565b9091555050604080516001600160a01b0385168152602081018690527f6ee2c70b2d6b89ae808a2313aab43e925c06624271419cd665d85cfa1ae04ff89101620020cc565b620024dd6200397c565b620024e7620034de565b60fb5460ff1662002524576040517fcb63dc7200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b03808316600090815261010c60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff16151591018190526200258957604051636a5cfb6d60e01b815260040160405180910390fd5b6001600160a01b03808316600090815261010c60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff16151590820152620025da8362003e1d565b6001600160a01b03838116600090815261010c6020908152604080832080546001600160a01b031916815560018101939093556002909201805460ff191690556101055490840151915163a9059cbb60e01b8152858416600482015260248101929092529091169063a9059cbb906044016020604051808303816000875af11580156200266b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002691919062005412565b50602080820151604080516001600160a01b0380881682528616938101939093528201527fb5946f249f8744efe9d14d49a483b54a589b1362944ff6694de93456cceb96a39060600160405180910390a150620019b26001606555565b620026f862003f4b565b62001920600062003fa7565b6200270e620034de565b6101075460405163068bcd8d60e01b8152600481018390526000916001600160a01b03169063068bcd8d90602401600060405180830381865afa1580156200275a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405262002784919081019062005432565b602001519050620027958162003600565b620019b28162003641565b620027aa620034de565b6101075460405163068bcd8d60e01b8152600481018390526000916001600160a01b03169063068bcd8d90602401600060405180830381865afa158015620027f6573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405262002820919081019062005432565b602001519050620028318162003600565b6200284d6001600160a01b03821663f1801e6160e01b62003df5565b15620019b257620019b2816200369f565b600054610100900460ff16158080156200287f5750600054600160ff909116105b806200289b5750303b1580156200289b575060005460ff166001145b6200290f5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084016200199d565b6000805460ff19166001179055801562002933576000805461ff0019166101001790555b6200293d62003ff9565b6200294762004070565b62002951620040e7565b6200297e7f03be538b6391ddcd7f2649585cc95b120c9e2a613f70714fbb55345057d809fa600062004154565b6200298d826020015162003600565b6200299d82610100015162003600565b8151620029aa9062003600565b620029b98260a0015162003600565b620029c982610180015162003600565b606082015115620029e357620029e38260c0015162003600565b815161010780546001600160a01b039283166001600160a01b03199182161790915560208401516101058054919093169116179055604082015160000362002a57576040517fc70d18aa00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604082015160fc55606082015160fd5561014082015160fb805460ff19169115159190911790556101208201516101089062002a949082620055f7565b506101608201516101099062002aab9082620055f7565b5060a082015161010080546001600160a01b03199081166001600160a01b0393841617825560c085015160ff8054831691851691909117905590840151610106805483168285161790556101808501516101018054909316931692909217905562002b38907f03be538b6391ddcd7f2649585cc95b120c9e2a613f70714fbb55345057d809fa90620038d8565b61010760009054906101000a90046001600160a01b03166001600160a01b0316635ab1bd536040518163ffffffff1660e01b8152600401602060405180830381865afa15801562002b8d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002bb3919062005394565b61010480546001600160a01b0319166001600160a01b0392831617905561010654604080517fa0e67e2b0000000000000000000000000000000000000000000000000000000081529051600093929092169163a0e67e2b9160048082019286929091908290030181865afa15801562002c30573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405262002c5a9190810190620056c4565b905060008151600262002c6e91906200537e565b67ffffffffffffffff81111562002c895762002c8962004ca1565b60405190808252806020026020018201604052801562002cb3578160200160208202803683370190505b50905060005b825181101562002d225782818151811062002cd85762002cd8620053b4565b602002602001015182828151811062002cf55762002cf5620053b4565b6001600160a01b03909216602092830291909101909101528062002d1981620053ca565b91505062002cb9565b506101065481516001600160a01b0390911690829062002d4590600190620053e6565b8151811062002d585762002d58620053b4565b60200260200101906001600160a01b031690816001600160a01b03168152505030816002835162002d8a9190620053e6565b8151811062002d9d5762002d9d620053b4565b6001600160a01b03928316602091820292909201015261010454608086015160e08701516040517f3a92f65f0000000000000000000000000000000000000000000000000000000081529290931692633a92f65f9262002e09929161010891309088906004016200586f565b6020604051808303816000875af115801562002e29573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002e4f919062005341565b60fe55805162002e689061010f90602084019062004ac6565b507f2f2ffcb06f8a1d35e2716f6b43ef2c19bfa76467d8f66964ae12c2583ed0320560fe546101088660e0015160405162002ea693929190620058c3565b60405180910390a150508015620019b2576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200162001334565b600080600060405162002f079062004b30565b604051809103906000f08015801562002f24573d6000803e3d6000fd5b5061010754604080516001600160a01b0390921660248084019190915281518084039091018152604490920181526020820180516001600160e01b03167f19ab453c000000000000000000000000000000000000000000000000000000001790525162002f919062004b3e565b62002f9e929190620058f2565b604051809103906000f08015801562002fbb573d6000803e3d6000fd5b50905062002fcc8187878762003351565b9250925050935093915050565b610103546001600160a01b031633146200301f576040517febcd0d6e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b620019206200419f565b6101098054620030399062005569565b80601f0160208091040260200160405190810160405280929190818152602001828054620030679062005569565b8015620030b85780601f106200308c57610100808354040283529160200191620030b8565b820191906000526020600020905b8154815290600101906020018083116200309a57829003601f168201915b505050505081565b620030ca6200397c565b33620030d68162003547565b620030e18162003e1d565b6001600160a01b03808216600081815261010c602090815260408083208151606081018352815496871681526001820180548286015260028301805460ff81161515848701529787526001600160a01b03199098169092559084905560ff1990941690945561010d905291822090916200315c919062004b4c565b61010554602082015160405163a9059cbb60e01b81526001600160a01b038581166004830152602482019290925291169063a9059cbb906044016020604051808303816000875af1158015620031b6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620031dc919062005412565b50602080820151604080516001600160a01b0386168152928301919091527fa13f4668aacb68c4e9eed8e3f6e1cbec3eca776896ec46b5eabcc3983fc8f5f4910160405180910390a15050620019206001606555565b62003241612710600a620052f1565b81565b6101088054620030399062005569565b600082815260c960205260409020600101546200327181620038cc565b620014a1838362003b5a565b6001600160a01b03811660009081527fa867e09674d469ee17077111ff66261f5d2fc5820cc6914676cb47231da58818602052604081205460ff1662000dda565b620032c862003f4b565b6001600160a01b038116620033465760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084016200199d565b6200120c8162003fa7565b60008073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6001600160a01b038616156200337c5750845b869150600061010f805480602002602001604051908101604052809291908181526020018280548015620033da57602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311620033bb575b50506101075460fe546040519596506001600160a01b039091169463e1007d4a945090925087915062003412908b906020016200592d565b6040516020818303038152906040528660008b886040518863ffffffff1660e01b81526004016200344a9796959493929190620059cb565b6020604051808303816000875af11580156200346a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062003490919062005341565b93507f778cac0ae0b66477341553a4a89398c61ccf448313d3354ad0ca85a5a825d2838484308a89604051620034cb95949392919062005a3d565b60405180910390a1505094509492505050565b3360009081527fa867e09674d469ee17077111ff66261f5d2fc5820cc6914676cb47231da58818602052604090205460ff1662001920576040517ff62651fa00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b03808216600090815261010c60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff16151591018190526200120c57604051636a5cfb6d60e01b815260040160405180910390fd5b6001600160a01b038116600090815261010a602052604090205460ff166200120c576040517f46c26e4b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0381166200120c576040517fe622e04000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6200364c8162003600565b6001600160a01b038116600081815261010a6020908152604091829020805460ff1916905590519182527f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea4910162000e64565b6001600160a01b038116600090815261010a602052604090205460ff1615620036f4576040517f968a4d2c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038116600081815261010a6020908152604091829020805460ff1916600117905590519182527f3f008fd510eae7a9e7bee13513d7b83bef8003d488b5a3d0b0da4de71d6846f1910162000e64565b806001600160a01b0316826001600160a01b031614620019b2576040517fbbe7961100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038216600090815261010d60205260408120905b8154811015620038c657826001600160a01b0316828281548110620037da57620037da620053b4565b6000918252602090912001546001600160a01b031603620038b157815482906200380790600190620053e6565b815481106200381a576200381a620053b4565b9060005260206000200160009054906101000a90046001600160a01b03168282815481106200384d576200384d620053b4565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b03160217905550818054806200388e576200388e620053fc565b600082815260209020810160001990810180546001600160a01b03191690550190555b80620038bd81620053ca565b915050620037b1565b50505050565b6200120c8133620041fc565b600082815260c9602090815260408083206001600160a01b038516845290915290205460ff16620019b257600082815260c9602090815260408083206001600160a01b03851684529091529020805460ff19166001179055620039383390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b600260655403620039d05760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064016200199d565b6002606555565b620019b28282604051602401620039f092919062005a79565b60408051601f198184030181529190526020810180516001600160e01b03167f319af333000000000000000000000000000000000000000000000000000000001790526200427a565b6040516001600160a01b0380851660248301528316604482015260648101829052620038c69085907f23b872dd00000000000000000000000000000000000000000000000000000000906084015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091526200429b565b620019b2828260405160240162003ad892919062005aa6565b60408051601f198184030181529190526020810180516001600160e01b03167f9710a9d0000000000000000000000000000000000000000000000000000000001790526200427a565b6040516001600160a01b038316602482015260448101829052620014a190849063a9059cbb60e01b9060640162003a87565b6001606555565b600082815260c9602090815260408083206001600160a01b038516845290915290205460ff1615620019b257600082815260c9602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b6200120c62003f4b565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff161562003c1e57620014a1836200438a565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa92505050801562003c7b575060408051601f3d908101601f1916820190925262003c789181019062005341565b60015b62003cef5760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201527f6f6e206973206e6f74205555505300000000000000000000000000000000000060648201526084016200199d565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc811462003d865760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f7860448201527f6961626c6555554944000000000000000000000000000000000000000000000060648201526084016200199d565b50620014a18383836200444a565b33600090815261010c6020908152604091829020825160608101845281546001600160a01b031681526001820154928101929092526002015460ff16151591018190526200192057604051636a5cfb6d60e01b815260040160405180910390fd5b600062003e028362004475565b801562003e16575062003e168383620044ad565b9392505050565b6001600160a01b038116600090815261010d602090815260408083208054825181850281018501909352808352919290919083018282801562003e8a57602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831162003e6b575b5050505050905060005b8151811015620014a15781818151811062003eb35762003eb3620053b4565b60209081029190910101516040517f6453d9c40000000000000000000000000000000000000000000000000000000081526001600160a01b03858116600483015290911690636453d9c490602401600060405180830381600087803b15801562003f1c57600080fd5b505af115801562003f31573d6000803e3d6000fd5b50505050808062003f4290620053ca565b91505062003e94565b6033546001600160a01b03163314620019205760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016200199d565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600054610100900460ff16620040665760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b60648201526084016200199d565b6200192062004538565b600054610100900460ff16620040dd5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b60648201526084016200199d565b62001920620045b0565b600054610100900460ff16620019205760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b60648201526084016200199d565b600082815260c96020526040808220600101805490849055905190918391839186917fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff9190a4505050565b610103805461010680546001600160a01b0383166001600160a01b031991821617909155169055604051600081527fad0399dc40331b9a4977aa89da7a164a3fd482c65e6da73b25a94ea74fb688729060200160405180910390a1565b600082815260c9602090815260408083206001600160a01b038516845290915290205460ff16620019b25762004232816200461d565b6200423f83602062004630565b6040516020016200425292919062005aca565b60408051601f198184030181529082905262461bcd60e51b82526200199d9160040162005246565b80516a636f6e736f6c652e6c6f67602083016000808483855afa5050505050565b6000620042f2826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166200482f9092919063ffffffff16565b90508051600014806200431657508080602001905181019062004316919062005412565b620014a15760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f7420737563636565640000000000000000000000000000000000000000000060648201526084016200199d565b6001600160a01b0381163b620044095760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201527f6f74206120636f6e74726163740000000000000000000000000000000000000060648201526084016200199d565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b620044558362004848565b600082511180620044635750805b15620014a157620038c683836200488a565b60006200448a826301ffc9a760e01b620044ad565b801562000dda5750620044a6826001600160e01b0319620044ad565b1592915050565b604080516001600160e01b03198316602480830191909152825180830390910181526044909101909152602080820180516001600160e01b03166301ffc9a760e01b178152825160009392849283928392918391908a617530fa92503d9150600051905082801562004520575060208210155b80156200452d5750600081115b979650505050505050565b600054610100900460ff16620045a55760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b60648201526084016200199d565b620019203362003fa7565b600054610100900460ff1662003b535760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b60648201526084016200199d565b606062000dda6001600160a01b03831660145b6060600062004641836002620052f1565b6200464e9060026200537e565b67ffffffffffffffff81111562004669576200466962004ca1565b6040519080825280601f01601f19166020018201604052801562004694576020820181803683370190505b5090507f300000000000000000000000000000000000000000000000000000000000000081600081518110620046ce57620046ce620053b4565b60200101906001600160f81b031916908160001a9053507f7800000000000000000000000000000000000000000000000000000000000000816001815181106200471c576200471c620053b4565b60200101906001600160f81b031916908160001a905350600062004742846002620052f1565b6200474f9060016200537e565b90505b6001811115620047de577f303132333435363738396162636465660000000000000000000000000000000085600f1660108110620047945762004794620053b4565b1a60f81b828281518110620047ad57620047ad620053b4565b60200101906001600160f81b031916908160001a90535060049490941c93620047d68162005b4f565b905062004752565b50831562003e165760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e7460448201526064016200199d565b6060620048408484600085620048b2565b949350505050565b62004853816200438a565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b606062003e1683836040518060600160405280602781526020016200ba0660279139620049a1565b6060824710156200492c5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c000000000000000000000000000000000000000000000000000060648201526084016200199d565b600080866001600160a01b031685876040516200494a919062005b69565b60006040518083038185875af1925050503d806000811462004989576040519150601f19603f3d011682016040523d82523d6000602084013e6200498e565b606091505b50915091506200452d8783838762004a1f565b6060600080856001600160a01b031685604051620049c0919062005b69565b600060405180830381855af49150503d8060008114620049fd576040519150601f19603f3d011682016040523d82523d6000602084013e62004a02565b606091505b509150915062004a158683838762004a1f565b9695505050505050565b6060831562004a9357825160000362004a8b576001600160a01b0385163b62004a8b5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016200199d565b508162004840565b62004840838381511562004aaa5781518083602001fd5b8060405162461bcd60e51b81526004016200199d919062005246565b82805482825590600052602060002090810192821562004b1e579160200282015b8281111562004b1e57825182546001600160a01b0319166001600160a01b0390911617825560209092019160019091019062004ae7565b5062004b2c92915062004b67565b5090565b61596a8062005b8883390190565b6104ee806200b4f283390190565b50805460008255906000526020600020908101906200120c91905b5b8082111562004b2c576000815560010162004b68565b60006020828403121562004b9157600080fd5b81356001600160e01b03198116811462003e1657600080fd5b60006020828403121562004bbd57600080fd5b5035919050565b6001600160a01b03811681146200120c57600080fd5b803562004be78162004bc4565b919050565b6000806040838503121562004c0057600080fd5b823562004c0d8162004bc4565b9150602083013562004c1f8162004bc4565b809150509250929050565b60006020828403121562004c3d57600080fd5b813562003e168162004bc4565b6000806040838503121562004c5e57600080fd5b823562004c6b8162004bc4565b946020939093013593505050565b6000806040838503121562004c8d57600080fd5b82359150602083013562004c1f8162004bc4565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff8111828210171562004cdd5762004cdd62004ca1565b60405290565b6040516101a0810167ffffffffffffffff8111828210171562004cdd5762004cdd62004ca1565b604051610120810167ffffffffffffffff8111828210171562004cdd5762004cdd62004ca1565b60405160c0810167ffffffffffffffff8111828210171562004cdd5762004cdd62004ca1565b604051601f8201601f1916810167ffffffffffffffff8111828210171562004d835762004d8362004ca1565b604052919050565b600067ffffffffffffffff82111562004da85762004da862004ca1565b50601f01601f191660200190565b600062004dcd62004dc78462004d8b565b62004d57565b905082815283838301111562004de257600080fd5b828260208301376000602084830101529392505050565b6000806040838503121562004e0d57600080fd5b823562004e1a8162004bc4565b9150602083013567ffffffffffffffff81111562004e3757600080fd5b8301601f8101851362004e4957600080fd5b62004e5a8582356020840162004db6565b9150509250929050565b600082601f83011262004e7657600080fd5b62003e168383356020850162004db6565b60006040828403121562004e9a57600080fd5b62004ea462004cb7565b905081358152602082013567ffffffffffffffff81111562004ec557600080fd5b62004ed38482850162004e64565b60208301525092915050565b80151581146200120c57600080fd5b803562004be78162004edf565b60006020828403121562004f0e57600080fd5b813567ffffffffffffffff8082111562004f2757600080fd5b908301906101a0828603121562004f3d57600080fd5b62004f4762004ce3565b62004f528362004bda565b815262004f626020840162004bda565b602082015260408301356040820152606083013560608201526080830135608082015262004f9360a0840162004bda565b60a082015262004fa660c0840162004bda565b60c082015260e08301358281111562004fbe57600080fd5b62004fcc8782860162004e87565b60e08301525061010062004fe281850162004bda565b90820152610120838101358381111562004ffb57600080fd5b620050098882870162004e64565b8284015250506101406200501f81850162004eee565b9082015261016083810135838111156200503857600080fd5b620050468882870162004e64565b82840152505061018091506200505e82840162004bda565b91810191909152949350505050565b80356003811062004be757600080fd5b600481106200120c57600080fd5b803562004be7816200507d565b600060208284031215620050ab57600080fd5b6040516020810181811067ffffffffffffffff82111715620050d157620050d162004ca1565b6040529135825250919050565b60006101208284031215620050f257600080fd5b620050fc62004d0a565b9050620051098262004bda565b8152602082013560208201526040820135604082015260608201356060820152608082013560808201526200514160a083016200506d565b60a08201526200515460c083016200508b565b60c0820152620051688360e0840162005098565b60e08201526101006200517d81840162004bda565b9082015292915050565b600080600061016084860312156200519e57600080fd5b8335620051ab8162004bc4565b9250620051bc8560208601620050de565b915061014084013567ffffffffffffffff811115620051da57600080fd5b620051e88682870162004e87565b9150509250925092565b60005b838110156200520f578181015183820152602001620051f5565b50506000910152565b6000815180845262005232816020860160208601620051f2565b601f01601f19169290920160200192915050565b60208152600062003e16602083018462005218565b60008060008061018085870312156200527357600080fd5b8435620052808162004bc4565b93506020850135620052928162004bc4565b9250620052a38660408701620050de565b915061016085013567ffffffffffffffff811115620052c157600080fd5b620052cf8782880162004e87565b91505092959194509250565b634e487b7160e01b600052601160045260246000fd5b808202811582820484141762000dda5762000dda620052db565b634e487b7160e01b600052602160045260246000fd5b6000602082840312156200533457600080fd5b815162003e16816200507d565b6000602082840312156200535457600080fd5b5051919050565b6000826200537957634e487b7160e01b600052601260045260246000fd5b500490565b8082018082111562000dda5762000dda620052db565b600060208284031215620053a757600080fd5b815162003e168162004bc4565b634e487b7160e01b600052603260045260246000fd5b600060018201620053df57620053df620052db565b5060010190565b8181038181111562000dda5762000dda620052db565b634e487b7160e01b600052603160045260246000fd5b6000602082840312156200542557600080fd5b815162003e168162004edf565b600060208083850312156200544657600080fd5b825167ffffffffffffffff808211156200545f57600080fd5b9084019060c082870312156200547457600080fd5b6200547e62004d31565b8251815283830151620054918162004bc4565b818501526040830151620054a58162004bc4565b6040820152606083015182811115620054bd57600080fd5b830160408189031215620054d057600080fd5b620054da62004cb7565b815181528582015184811115620054f057600080fd5b82019350601f840189136200550457600080fd5b835191506200551762004dc78362004d8b565b82815289878487010111156200552c57600080fd5b6200553d83888301898801620051f2565b95810195909552506060810193909352506080818101519083015260a090810151908201529392505050565b600181811c908216806200557e57607f821691505b6020821081036200559f57634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620014a157600081815260208120601f850160051c81016020861015620055ce5750805b601f850160051c820191505b81811015620055ef57828155600101620055da565b505050505050565b815167ffffffffffffffff81111562005614576200561462004ca1565b6200562c8162005625845462005569565b84620055a5565b602080601f8311600181146200566457600084156200564b5750858301515b600019600386901b1c1916600185901b178555620055ef565b600085815260208120601f198616915b82811015620056955788860151825594840194600190910190840162005674565b5085821015620056b45787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60006020808385031215620056d857600080fd5b825167ffffffffffffffff80821115620056f157600080fd5b818501915085601f8301126200570657600080fd5b8151818111156200571b576200571b62004ca1565b8060051b91506200572e84830162004d57565b81815291830184019184810190888411156200574957600080fd5b938501935b83851015620057775784519250620057668362004bc4565b82825293850193908501906200574e565b98975050505050505050565b60008154620057928162005569565b808552602060018381168015620057b25760018114620057cd57620057fd565b60ff1985168884015283151560051b880183019550620057fd565b866000528260002060005b85811015620057f55781548a8201860152908301908401620057d8565b890184019650505b505050505092915050565b80518252600060208201516040602085015262004840604085018262005218565b600081518084526020808501945080840160005b83811015620058645781516001600160a01b0316875295820195908201906001016200583d565b509495945050505050565b85815260a0602082015260006200588a60a083018762005783565b82810360408401526200589e818762005808565b90506001600160a01b0385166060840152828103608084015262005777818562005829565b838152606060208201526000620058de606083018562005783565b828103604084015262004a15818562005808565b6001600160a01b038316815260406020820152600062004840604083018462005218565b600481106200592957620059296200530b565b9052565b6000610120820190506001600160a01b0383511682526020830151602083015260408301516040830152606083015160608301526080830151608083015260a0830151600381106200598357620059836200530b565b8060a08401525060c08301516200599e60c084018262005916565b5060e0830151620059b260e0840182519052565b50610100928301516001600160a01b0316919092015290565b87815260006001600160a01b03808916602084015260e06040840152620059f660e084018962005218565b818816606085015286608085015283810360a085015262005a18818762005808565b91505082810360c084015262005a2f818562005829565b9a9950505050505050505050565b85815260006001600160a01b038087166020840152808616604084015280851660608401525060a060808301526200452d60a083018462005808565b60408152600062005a8e604083018562005218565b90506001600160a01b03831660208301529392505050565b60408152600062005abb604083018562005218565b90508260208301529392505050565b7f416363657373436f6e74726f6c3a206163636f756e742000000000000000000081526000835162005b04816017850160208801620051f2565b7f206973206d697373696e6720726f6c6520000000000000000000000000000000601791840191820152835162005b43816028840160208801620051f2565b01602801949350505050565b60008162005b615762005b61620052db565b506000190190565b6000825162005b7d818460208701620051f2565b919091019291505056fe60a0604052306080526000606d81905560705534801561001e57600080fd5b506080516159136200005760003960008181611231015281816112b6015281816113b70152818161143c015261152201526159136000f3fe6080604052600436106103c75760003560e01c806376365af7116101f2578063b5f620ce11610119578063e0dd2c38116100b2578063ef2920fc11610084578063f321b3051161006c578063f321b30514610b89578063f5b0dfb714610ba9578063fc1711f214610bc957005b8063ef2920fc14610b56578063f2fde38b14610b6957005b8063e0dd2c3814610ac9578063e33add9314610ae9578063eb11af9314610b09578063edd146cc14610b3657005b8063c7f758a8116100eb578063c7f758a814610a39578063d1e3623214610a6f578063dc96ff2d14610a84578063df868ed314610ab457005b8063b5f620ce146109a6578063b6c61f31146109c6578063bcc5b93b146109e6578063c329217114610a1c57005b8063950559d71161018b578063a574cea41161015d578063a574cea414610916578063aba9ffee14610943578063ac1ed7b914610959578063b2b878d01461097957005b8063950559d7146108a1578063a0cf0aea146108c1578063a1aab33f146108e9578063a47ff7e5146108ff57005b8063817b1cd2116101c4578063817b1cd21461082d578063824ea8ed14610843578063868c57b8146108635780638da5cb5b1461088357005b806376365af7146107cc578063782aadff146107e25780637c6570ba14610802578063814516ad1461081857005b8063346db8cb116102ee5780634f1ef286116102875780635db64b99116102595780636453d9c4116102415780636453d9c41461077757806369fa25c414610797578063715018a6146107b757005b80635db64b991461072a5780636003e4141461075757005b80634f1ef286146106cc57806352d1902d146106df57806354fac919146106f457806359a5db8b1461070a57005b8063406244d8116102c0578063406244d81461066d57806342fda9c7146106825780634ab4ba42146106975780634d31d087146106ac57005b8063346db8cb146105f1578063351d9f96146106115780633659cfe61461063857806338fff2d01461065857005b806315cc481e116103605780632bbe0cae116103325780632bbe0cae146105725780632cefadbb146105855780632dbd6fdd146105a55780632ed04b2b146105d157005b806315cc481e146104eb57806319ab453c1461051d5780631aa91a9e1461053d5780631ddf1e231461055d57005b80630ba95909116103995780630ba959091461047f5780630c0512e91461049e5780630f529ba2146104b457806311f22ae3146104cb57005b8063013cf08b146103d057806301ffc9a71461040f578063058aca441461043f5780630a6f0ee91461045f57005b366103ce57005b005b3480156103dc57600080fd5b506103f06103eb36600461481d565b610be9565b6040516104069a999897969594939291906148cf565b60405180910390f35b34801561041b57600080fd5b5061042f61042a366004614942565b610cf7565b6040519015158152602001610406565b34801561044b57600080fd5b506103ce61045a366004614999565b610d90565b34801561046b57600080fd5b506103ce61047a366004614ba9565b610df0565b34801561048b57600080fd5b506073545b604051908152602001610406565b3480156104aa57600080fd5b50610490606d5481565b3480156104c057600080fd5b506104906298968081565b3480156104d757600080fd5b506103ce6104e636600461481d565b610e10565b3480156104f757600080fd5b506065546001600160a01b03165b6040516001600160a01b039091168152602001610406565b34801561052957600080fd5b506103ce610538366004614999565b610e4f565b34801561054957600080fd5b5061049061055836600461481d565b610fb0565b34801561056957600080fd5b506103ce611036565b610505610580366004614c21565b611041565b34801561059157600080fd5b506103ce6105a036600461481d565b611064565b3480156105b157600080fd5b506072546105c490610100900460ff1681565b6040516104069190614c83565b3480156105dd57600080fd5b506104906105ec366004614c91565b6110b0565b3480156105fd57600080fd5b5061049061060c366004614cbd565b611182565b34801561061d57600080fd5b5060725461062b9060ff1681565b6040516104069190614cf9565b34801561064457600080fd5b506103ce610653366004614999565b611227565b34801561066457600080fd5b50606854610490565b34801561067957600080fd5b50610490600a81565b34801561068e57600080fd5b50606654610490565b3480156106a357600080fd5b50606954610490565b3480156106b857600080fd5b5061042f6106c7366004614999565b6113a2565b6103ce6106da366004614d07565b6113ad565b3480156106eb57600080fd5b50610490611515565b34801561070057600080fd5b50610490606a5481565b34801561071657600080fd5b5061049061072536600461481d565b6115da565b34801561073657600080fd5b50610490610745366004614999565b60776020526000908152604090205481565b34801561076357600080fd5b50607454610505906001600160a01b031681565b34801561078357600080fd5b506103ce610792366004614999565b611717565b3480156107a357600080fd5b506103ce6107b236600461481d565b611728565b3480156107c357600080fd5b506103ce611767565b3480156107d857600080fd5b50610490606b5481565b3480156107ee57600080fd5b506104906107fd366004614c91565b611779565b34801561080e57600080fd5b5061049060705481565b34801561082457600080fd5b506103ce61191b565b34801561083957600080fd5b50610490606e5481565b34801561084f57600080fd5b5061042f61085e36600461481d565b611a4d565b34801561086f57600080fd5b5061049061087e366004614c91565b611aaa565b34801561088f57600080fd5b506033546001600160a01b0316610505565b3480156108ad57600080fd5b506104906108bc36600461481d565b611adb565b3480156108cd57600080fd5b5061050573eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b3480156108f557600080fd5b50610490606c5481565b34801561090b57600080fd5b506073546104909081565b34801561092257600080fd5b5061093661093136600461481d565b611b05565b6040516104069190614d57565b34801561094f57600080fd5b50610490606f5481565b34801561096557600080fd5b506103ce610974366004614999565b611be4565b34801561098557600080fd5b50610999610994366004614d6a565b611cc5565b6040516104069190614e3f565b3480156109b257600080fd5b506103ce6109c1366004614ea5565b611ce0565b3480156109d257600080fd5b50607554610505906001600160a01b031681565b3480156109f257600080fd5b50610490610a01366004614999565b6001600160a01b031660009081526077602052604090205490565b348015610a2857600080fd5b50607254610100900460ff166105c4565b348015610a4557600080fd5b50610a59610a5436600461481d565b611ce9565b6040516104069a99989796959493929190614ec2565b348015610a7b57600080fd5b50606f54610490565b348015610a9057600080fd5b50610490610a9f36600461481d565b60009081526076602052604090206002015490565b348015610ac057600080fd5b5061042f611deb565b348015610ad557600080fd5b50610490610ae4366004614f27565b611dfe565b348015610af557600080fd5b506103ce610b04366004614f4c565b611e29565b348015610b1557600080fd5b50610b29610b24366004614999565b611e42565b6040516104069190614ff7565b348015610b4257600080fd5b506103ce610b51366004615011565b611e4d565b6103ce610b64366004614c21565b611f9b565b348015610b7557600080fd5b506103ce610b84366004614999565b611fb5565b348015610b9557600080fd5b506103ce610ba4366004615042565b612042565b348015610bb557600080fd5b506103ce610bc436600461481d565b61208d565b348015610bd557600080fd5b506103ce610be436600461481d565b6120b6565b6076602090815260009182526040918290208054600182015460028301546003840154600485015460058601546006870154600788015460088901548b51808d01909c52600a8a0180548d52600b8b0180549a9d999c989b979a6001600160a01b039788169a968816999790951697939660ff9093169593949192840191610c709061509c565b80601f0160208091040260200160405190810160405280929190818152602001828054610c9c9061509c565b8015610ce95780601f10610cbe57610100808354040283529160200191610ce9565b820191906000526020600020905b815481529060010190602001808311610ccc57829003601f168201915b50505050508152505090508a565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167ff1801e61000000000000000000000000000000000000000000000000000000001480610d8a57507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b33610d9a816120f5565b607480546001600160a01b0319166001600160a01b0384169081179091556040519081527fd6ceddf6d2a22f21c7c81675c518004eff43bc5c8a6fc32a0b748e69d58671cd906020015b60405180910390a15050565b610df86121a4565b610e006121cf565b610e0b83838361220b565b505050565b33610e1a816120f5565b606b8290556040518281527f08e39b387d1f739ce0d2553bb31822392e3f67c62c6c0a215120ab4a6841a8ab90602001610de4565b600054610100900460ff1615808015610e6f5750600054600160ff909116105b80610e895750303b158015610e89575060005460ff166001145b610f005760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084015b60405180910390fd5b6000805460ff191660011790558015610f23576000805461ff0019166101001790555b610f62826040518060400160405280600a81526020017f4356537472617465677900000000000000000000000000000000000000000000815250612042565b610f6a61251f565b8015610fac576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249890602001610de4565b5050565b600081815260766020526040812080548314610fe25760405163c1d17bef60e01b815260048101849052602401610ef7565b6001600882015460ff166004811115610ffd57610ffd614836565b1461101e576040516344980d8f60e01b815260048101849052602401610ef7565b61102c818260020154612592565b6003015492915050565b61103f336125cd565b565b600061104b6121a4565b6110536121cf565b61105d838361271e565b9392505050565b3361106e816120f5565b60705460408051918252602082018490527f056aedca4e334b6c4bea48715fb0de644811b740894de57a0380d3eb90f2805b910160405180910390a150607055565b60006110ba612a70565b60006002607254610100900460ff1660038111156110da576110da614836565b148061110157506001607254610100900460ff1660038111156110ff576110ff614836565b145b1561110d57508161111a565b6111178484612ab4565b90505b80606f600082825461112c91906150e6565b9091555050604080516001600160a01b0386168152602081018590529081018290527f70b752f3fadb6ac131c0ece847fcbb6994ec56ed6411595710fd9b29c6ac6cc19060600160405180910390a19392505050565b60008084905060006111a8629896806080606a54901b6111a2919061510f565b83612d78565b905060806f80000000000000000000000000000000606a54629896806111ce91906150e6565b6111dc84600160801b6150e6565b6111e96298968089615131565b6111f39190615131565b6111fd919061510f565b6112078885615131565b6112119190615148565b61121b9190615148565b901c9695505050505050565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036112b45760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b19195b1959d85d1958d85b1b60a21b6064820152608401610ef7565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661130f7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b6001600160a01b03161461137a5760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b6163746976652070726f787960a01b6064820152608401610ef7565b61138381612e21565b6040805160008082526020820190925261139f91839190612e29565b50565b6000610d8a82612fc9565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016300361143a5760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b19195b1959d85d1958d85b1b60a21b6064820152608401610ef7565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166114957f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b6001600160a01b0316146115005760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b6163746976652070726f787960a01b6064820152608401610ef7565b61150982612e21565b610fac82826001612e29565b6000306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146115b55760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c00000000000000006064820152608401610ef7565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc90565b60008060695411611617576040517fed4421ad00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61162082612fe9565b1561163e57604051630efd728560e21b815260040160405180910390fd5b6069546000906116578468010000000000000000615131565b611661919061510f565b62989680606b546801000000000000000061167c9190615131565b611686919061510f565b61169091906150e6565b9050604061169d606f5490565b606a546116ad90629896806150e6565b6298968060406116bd8680615131565b901c629896806080606c54901b6116d4919061510f565b6116de919061510f565b6116e89190615131565b6116f2919061510f565b6116fc9190615131565b901c915060705482116117115760705461105d565b50919050565b61171f612a70565b61139f816125cd565b33611732816120f5565b606a8290556040518281527f592dcd55d60d892e7fcb3ba105013312e99691cd59f91e15f83cb67cb5a505f290602001610de4565b61176f613010565b61103f600061306a565b6000611783612a70565b61178c836130bc565b6117a957604051630b72d6b160e31b815260040160405180910390fd5b60006002607254610100900460ff1660038111156117c9576117c9614836565b036117d757825b9050611834565b6001607254610100900460ff1660038111156117f5576117f5614836565b03611804576117d08484613164565b6003607254610100900460ff16600381111561182257611822614836565b036118345761183184846132ca565b90505b60745460405163011de97360e61b81526001600160a01b038681166004830152306024830152600092169063477a5cc090604401602060405180830381865afa158015611885573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118a9919061515b565b905080156118c95781606f60008282546118c39190615148565b90915550505b604080516001600160a01b0387168152602081018690529081018390527f0b9150e1e54346ed3fa36b977cd5d65dca5a649c737c3174a26bddaadd47667a9060600160405180910390a1509392505050565b33611925816130bc565b61194257604051630b72d6b160e31b815260040160405180910390fd5b6074546040517f0d4a8b490000000000000000000000000000000000000000000000000000000081526001600160a01b03838116600483015230602483015290911690630d4a8b4990604401600060405180830381600087803b1580156119a857600080fd5b505af11580156119bc573d6000803e3d6000fd5b5050607454604051637817ee4f60e01b81526001600160a01b0385811660048301523060248301529091169250637817ee4f9150604401602060405180830381865afa158015611a10573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a349190615178565b606f6000828254611a459190615148565b909155505050565b6000818152607660205260408120600281015482908190611a6f908490613511565b91509150816000148015611a81575080155b15611a8e57826003015491505b6000611a9d84600101546115da565b9092101595945050505050565b60786020528160005260406000208181548110611ac657600080fd5b90600052602060002001600091509150505481565b6000606a5462989680611aee91906150e6565b611afb6298968084615131565b610d8a919061510f565b604080518082019091526000815260606020820152600060766000848152602001908152602001600020905080600a0160405180604001604052908160008201548152602001600182018054611b5a9061509c565b80601f0160208091040260200160405190810160405280929190818152602001828054611b869061509c565b8015611bd35780601f10611ba857610100808354040283529160200191611bd3565b820191906000526020600020905b815481529060010190602001808311611bb657829003601f168201915b505050505081525050915050919050565b607460009054906101000a90046001600160a01b03166001600160a01b0316636c53db9a6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611c37573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c5b9190615191565b6001600160a01b03163303611c9357611c7381613569565b607580546001600160a01b0383166001600160a01b031990911617905550565b6040517fe860ec7e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b606060405163d623472560e01b815260040160405180910390fd5b61139f816135a9565b6000806000806000806000806000806000607660008d815260200190815260200160002090508060010154600014611d2d57611d2881600101546115da565b611d30565b60005b92508060050160009054906101000a90046001600160a01b03168160040160009054906101000a90046001600160a01b03168260060160009054906101000a90046001600160a01b0316836001015484600201548560080160009054906101000a900460ff16866007015487600301548a896009016000336001600160a01b03166001600160a01b03168152602001908152602001600020549a509a509a509a509a509a509a509a509a509a50509193959799509193959799565b6000611df960675460ff1690565b905090565b60008281526076602090815260408083206001600160a01b038516845260090190915281205461105d565b60405163d623472560e01b815260040160405180910390fd5b6000610d8a826135ea565b611e556121a4565b611e5e8261360a565b600081806020019051810190611e74919061521e565b80519091506001600160a01b0316611e9f57604051635df4b1ef60e01b815260040160405180910390fd5b8051607480546001600160a01b0319166001600160a01b039092169190911790556020810151606a556040810151606b556060810151606c5560a08101516072805460ff19166001836002811115611ef957611ef9614836565b021790555060c08101516072805461ff001916610100836003811115611f2157611f21614836565b021790555060e0810151516073556080810151607055610100810151607580546001600160a01b0319166001600160a01b039092169190911790556040517f4ebdec05fb64815e553aeaf3976ef8112dd79760a459bee3ac7d1659ab2c4e0490611f8e90859084906152b9565b60405180910390a1505050565b611fa36121a4565b611fab6121cf565b610fac828261368b565b611fbd613010565b6001600160a01b0381166120395760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610ef7565b61139f8161306a565b606580546001600160a01b0319166001600160a01b03841617905560405161206e90829060200161534c565b60408051601f1981840301815291905280516020909101206066555050565b6120956121a4565b80606960008282546120a79190615148565b9091555061139f90508161379a565b336120c0816120f5565b606c8290556040518281527f30ee8206062f283e56a0af2b02138016bf7442ded26ad68a92a18a9dd246fb4990602001610de4565b6065546068546040517f29e40d4b00000000000000000000000000000000000000000000000000000000815260048101919091526001600160a01b038381166024830152909116906329e40d4b90604401602060405180830381865afa158015612163573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612187919061515b565b61139f5760405163075fd2b160e01b815260040160405180910390fd5b6065546001600160a01b0316331461103f5760405163075fd2b160e01b815260040160405180910390fd5b60685460000361103f576040517f3da3f98c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000825111612246576040517fc5f7c4c000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008280602001905181019061225c9190615178565b905080600003612298576040517ff881a10d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000818152607660205260409020600160725460ff1660028111156122bf576122bf614836565b0361251857805482146122e85760405163c1d17bef60e01b815260048101839052602401610ef7565b606954816001015411156123405760018101546069546040517f5863b0b60000000000000000000000000000000000000000000000000000000081526004810185905260248101929092526044820152606401610ef7565b6001600882015460ff16600481111561235b5761235b614836565b1461237c576040516344980d8f60e01b815260048101839052602401610ef7565b600061238783610fb0565b9050600061239883600101546115da565b905080821080156123ad575060008360010154115b156123e4576040517fcce7930800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6065546068546040517f068bcd8d00000000000000000000000000000000000000000000000000000000815260048101919091526000916001600160a01b03169063068bcd8d90602401600060405180830381865afa15801561244b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261247391908101906153ec565b905083600101546069600082825461248b91906150e6565b90915550506040810151600485015460018601546124b392916001600160a01b0316906137ca565b60088401805460ff191660049081179091558401546001850154604080518881526001600160a01b0390931660208401528201527fa7932e9c92f31e1ed56b29d00bbe669a97484dc24de28dd9c8c0429df7f358479060600160405180910390a15050505b5050505050565b600054610100900460ff1661258a5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401610ef7565b61103f61380f565b60008061259f8484613511565b915091508160001480156125b1575080155b156125bc5750505050565b600784015560039092019190915550565b607454604051637817ee4f60e01b81526001600160a01b03838116600483015230602483015290911690637817ee4f90604401602060405180830381865afa15801561261d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126419190615178565b606f600082825461265291906150e6565b90915550506074546040517f22bcf9990000000000000000000000000000000000000000000000000000000081526001600160a01b038381166004830152306024830152909116906322bcf99990604401600060405180830381600087803b1580156126bd57600080fd5b505af11580156126d1573d6000803e3d6000fd5b505050506126de81613883565b6040516001600160a01b03821681527f1468da654b37bb3631011c1917d02e0db437d519918858d40b38b5e980ca033b906020015b60405180910390a150565b6000612729826130bc565b61274657604051630b72d6b160e31b815260040160405180910390fd5b60008380602001905181019061275c91906154a0565b805190915060000361279a576040517f4e79178600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600160725460ff1660028111156127b3576127b3614836565b03612963576127c58160200151613569565b60608101516001600160a01b0316612809576040517f596a094c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000306001600160a01b03166315cc481e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612849573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061286d9190615191565b6001600160a01b031663068bcd8d6068546040518263ffffffff1660e01b815260040161289c91815260200190565b600060405180830381865afa1580156128b9573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526128e191908101906153ec565b604001519050806001600160a01b031682606001516001600160a01b031614612936576040517fa29c498600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6129438260400151612fe9565b1561296157604051630efd728560e21b815260040160405180910390fd5b505b6000606d6000815461297490615547565b918290555060008181526076602090815260408083208481556005810180546001600160a01b038b81166001600160a01b0319928316179092558885015160048401805491841691831691909117905560608901516006840180549190931691161790559086015160018083019190915560088201805460ff19169091179055436007820155600381019290925560808501518051600a8401908155918101519394509192600b840190612a2890826155ae565b505060685460408051918252602082018590527ffcf3b1aa65a464cef2889608f99e8b8c0f680a4be6c2acb9d961c536a5a9294b92500160405180910390a150949350505050565b6074546001600160a01b0316331461103f576040517faf0916a200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b607454604080516336d8759760e21b815290516000926012926001600160a01b039091169163db61d65c916004808201926020929091908290030181865afa158015612b04573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612b289190615191565b6001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015612b81575060408051601f3d908101601f19168201909252612b7e9181019061566e565b60015b612bc857612bc36040518060400160405280601581526020017f4572726f722067657474696e6720646563696d616c0000000000000000000000815250613a10565b612bce565b60ff1690505b612c0d6040518060400160405280601081526020017f5f616d6f756e74546f556e7374616b650000000000000000000000000000000081525084613a81565b6074546040516316308e2560e11b81526001600160a01b0386811660048301526000928692911690632c611c4a90602401602060405180830381865afa158015612c5b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612c7f9190615178565b612c8991906150e6565b9050612cca6040518060400160405280600d81526020017f6e6577546f74616c5374616b650000000000000000000000000000000000000081525082613a81565b6000612ce9612cda84600a615775565b612ce49084615131565b613af4565b607454604051637817ee4f60e01b81526001600160a01b03898116600483015230602483015292935060009284921690637817ee4f90604401602060405180830381865afa158015612d3f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612d639190615178565b612d6d91906150e6565b979650505050505050565b6000600160801b8310612dcd5760405162461bcd60e51b815260206004820152601c60248201527f5f612073686f756c64206265206c657373207468616e20325e313238000000006044820152606401610ef7565b50600160801b82825b8015612e195780600116600003612dfb57612df18283613bdc565b915060011c612dd6565b612e058383613bdc565b9250612e126001826150e6565b9050612dd6565b505092915050565b61139f613010565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615612e5c57610e0b83613cdb565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015612eb6575060408051601f3d908101601f19168201909252612eb391810190615178565b60015b612f285760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201527f6f6e206973206e6f7420555550530000000000000000000000000000000000006064820152608401610ef7565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8114612fbd5760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f7860448201527f6961626c655555494400000000000000000000000000000000000000000000006064820152608401610ef7565b50610e0b838383613d99565b60006001600160a01b03821615612fe1576001610d8a565b600092915050565b6000612ff86298968083615131565b606954606b546130089190615131565b111592915050565b6033546001600160a01b0316331461103f5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610ef7565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6075546000906001600160a01b03166130d757506001919050565b6075546040517f42a987a00000000000000000000000000000000000000000000000000000000081526001600160a01b038481166004830152306024830152909116906342a987a090604401602060405180830381865afa158015613140573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d8a919061515b565b6000808290506131a96040518060400160405280601281526020017f504f494e545320544f20494e435245415345000000000000000000000000000081525082613a81565b607454604051637817ee4f60e01b81526001600160a01b0386811660048301523060248301526000921690637817ee4f90604401602060405180830381865afa1580156131fa573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061321e9190615178565b905061325f6040518060400160405280600b81526020017f4d454d424552504f57455200000000000000000000000000000000000000000081525082613a81565b60735461326c8383615148565b1115613283576073546132809082906150e6565b91505b6132c26040518060400160405280601681526020017f504f494e545320544f20494e43524541534520454e440000000000000000000081525083613a81565b509392505050565b6074546040516316308e2560e11b81526001600160a01b0384811660048301526000928392859290911690632c611c4a90602401602060405180830381865afa15801561331b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061333f9190615178565b6133499190615148565b607454604080516336d8759760e21b815290519293506012926001600160a01b039092169163db61d65c916004808201926020929091908290030181865afa158015613399573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906133bd9190615191565b6001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015613416575060408051601f3d908101601f191682019092526134139181019061566e565b60015b61345d576134586040518060400160405280601581526020017f4572726f722067657474696e6720646563696d616c0000000000000000000000815250613a10565b613463565b60ff1690505b600061347d61347383600a615775565b612ce49085615131565b607454604051637817ee4f60e01b81526001600160a01b03898116600483015230602483015292935060009290911690637817ee4f90604401602060405180830381865afa1580156134d3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906134f79190615178565b9050600061350582846150e6565b98975050505050505050565b600080439050808460070154111561352b5761352b615781565b8084600701540361354157506000905080613562565b61355f84600701548261355491906150e6565b856003015485611182565b91505b9250929050565b6001600160a01b03811661139f576040517fe622e04000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6067805460ff19168215159081179091556040519081527fd94c9bc4d43c51d8dc345a016d8e3d994432fac68e72832e4cf3a616bd8efae090602001612713565b60006001600160a01b03821615613602576002610d8a565b600392915050565b6136126121a4565b6068541561364c576040517f439a74c900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80600003613686576040517f7fcce2a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b606855565b61369481613dbe565b61369d816130bc565b6136ba57604051630b72d6b160e31b815260040160405180910390fd5b60745460405163011de97360e61b81526001600160a01b038381166004830152306024830152600092169063477a5cc090604401602060405180830381865afa15801561370b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061372f919061515b565b905080613768576040517f5fccb67f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008380602001905181019061377e9190615797565b905061378a8382613ee4565b61379483826140a7565b50505050565b6040518181527f46aeb5d8770fc4474bc2dfa118fd2595f7fb33ce2cbce6f4e5a3dabfe0f7633990602001612713565b7fffffffffffffffffffffffff11111111111111111111111111111111111111126001600160a01b0384160161380457610e0b82826144cb565b610e0b8383836144e7565b600054610100900460ff1661387a5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401610ef7565b61103f3361306a565b6001600160a01b0381166000908152607860209081526040808320805482518185028101850190935280835291929091908301828280156138e357602002820191906000526020600020905b8154815260200190600101908083116138cf575b5050505050905060005b8151811015610e0b57600082828151811061390a5761390a615842565b60200260200101519050600060766000838152602001908152602001600020905061393482614536565b156139fb576001600160a01b038516600090815260098201602052604081208054908290556002830180549192839261396e9084906150e6565b9250508190555080606e600082825461398791906150e6565b9091555061399790508282612592565b60028201546003830154604080516001600160a01b038a1681526020810187905260008183015260608101939093526080830191909152517f0227f642ddcf2042ceaeafadb9d540f432072c00cd4862881667168dcc14710f9181900360a00190a1505b50508080613a0890615547565b9150506138ed565b61139f81604051602401613a24919061534c565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f41304fac0000000000000000000000000000000000000000000000000000000017905261456f565b610fac8282604051602401613a97929190615858565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f9710a9d00000000000000000000000000000000000000000000000000000000017905261456f565b600081600003613b0657506000919050565b60006001613b1384614590565b901c6001901b90506001818481613b2c57613b2c6150f9565b048201901c90506001818481613b4457613b446150f9565b048201901c90506001818481613b5c57613b5c6150f9565b048201901c90506001818481613b7457613b746150f9565b048201901c90506001818481613b8c57613b8c6150f9565b048201901c90506001818481613ba457613ba46150f9565b048201901c90506001818481613bbc57613bbc6150f9565b048201901c905061105d81828581613bd657613bd66150f9565b04614624565b6000600160801b831115613c585760405162461bcd60e51b815260206004820152602860248201527f5f612073686f756c64206265206c657373207468616e206f7220657175616c2060448201527f746f20325e3132380000000000000000000000000000000000000000000000006064820152608401610ef7565b600160801b8210613cab5760405162461bcd60e51b815260206004820152601c60248201527f5f622073686f756c64206265206c657373207468616e20325e313238000000006044820152606401610ef7565b60806f80000000000000000000000000000000613cc88486615131565b613cd29190615148565b901c9392505050565b6001600160a01b0381163b613d585760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201527f6f74206120636f6e7472616374000000000000000000000000000000000000006064820152608401610ef7565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b613da28361463a565b600082511180613daf5750805b15610e0b57613794838361467a565b6001600160a01b038116613dfe576040517fd1f2828800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6074546001600160a01b0316613e2757604051635df4b1ef60e01b815260040160405180910390fd5b6074546040517fa230c5240000000000000000000000000000000000000000000000000000000081526001600160a01b0383811660048301529091169063a230c52490602401602060405180830381865afa158015613e8a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613eae919061515b565b61139f576040517f6a5cfb6d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000805b8251811015613fa157828181518110613f0357613f03615842565b60200260200101516000015160000315613f8f576000838281518110613f2b57613f2b615842565b6020026020010151600001519050613f4281614536565b613f625760405163c1d17bef60e01b815260048101829052602401610ef7565b838281518110613f7457613f74615842565b60200260200101516020015183613f8b919061587a565b9250505b80613f9981615547565b915050613ee8565b506001600160a01b038316600090815260776020526040812054613fc5908361469f565b607454604051637817ee4f60e01b81526001600160a01b03878116600483015230602483015292935060009290911690637817ee4f90604401602060405180830381865afa15801561401b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061403f9190615178565b905080821115614085576040517fd64182fe0000000000000000000000000000000000000000000000000000000081526004810183905260248101829052604401610ef7565b506001600160a01b039093166000908152607760205260409020929092555050565b606060005b82518110156137945760008382815181106140c9576140c9615842565b60200260200101516000015190508251600003614125576040805160018082528183019092529060208083019080368337019050509250808360008151811061411457614114615842565b602002602001018181525050614278565b6000805b84518110156141a4578285828151811061414557614145615842565b602002602001015103614192576040517fadebb154000000000000000000000000000000000000000000000000000000008152600481018490526024810182905260019250604401610ef7565b8061419c81615547565b915050614129565b5080614276576000845160016141ba9190615148565b67ffffffffffffffff8111156141d2576141d26149b6565b6040519080825280602002602001820160405280156141fb578160200160208202803683370190505b50905060005b85518110156142535785818151811061421c5761421c615842565b602002602001015182828151811061423657614236615842565b60209081029190910101528061424b81615547565b915050614201565b50828186518151811061426857614268615842565b602090810291909101015293505b505b600084838151811061428c5761428c615842565b60209081029190910181015181015160008481526076835260408082206001600160a01b038b168352600981019094528120549193506142cc828561469f565b6001600160a01b038a1660009081526009850160205260408120829055909150805b6001600160a01b038b166000908152607860205260409020548110156143655784546001600160a01b038c16600090815260786020526040902080548390811061433a5761433a615842565b9060005260206000200154036143535760019150614365565b8061435d81615547565b9150506142ee565b508061439b576001600160a01b038a16600090815260786020908152604082208654815460018101835591845291909220909101555b8183116143eb576143ac83836150e6565b606e60008282546143bd9190615148565b909155506143cd905083836150e6565b8460020160008282546143e09190615148565b9091555061442f9050565b6143f582846150e6565b606e600082825461440691906150e6565b90915550614416905082846150e6565b84600201600082825461442991906150e6565b90915550505b8360070154600003614446574360078501556144b2565b6144508484612592565b60028401546003850154604080516001600160a01b038e168152602081018a9052908101859052606081019290925260808201527f0227f642ddcf2042ceaeafadb9d540f432072c00cd4862881667168dcc14710f9060a00160405180910390a15b50505050505080806144c390615547565b9150506140ac565b60008060008084865af1610fac5763b12d13eb6000526004601cfd5b81601452806034526fa9059cbb00000000000000000000000060005260206000604460106000875af13d15600160005114171661452c576390b8ec186000526004601cfd5b6000603452505050565b60008181526076602052604081205415801590610d8a5750506000908152607660205260409020600501546001600160a01b0316151590565b80516a636f6e736f6c652e6c6f67602083016000808483855afa5050505050565b600080608083901c156145a557608092831c92015b604083901c156145b757604092831c92015b602083901c156145c957602092831c92015b601083901c156145db57601092831c92015b600883901c156145ed57600892831c92015b600483901c156145ff57600492831c92015b600283901c1561461157600292831c92015b600183901c15610d8a5760010192915050565b6000818310614633578161105d565b5090919050565b61464381613cdb565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b606061105d83836040518060600160405280602781526020016158b7602791396146fa565b6000806146ac838561587a565b9050600081121561105d576040517f3bbc7142000000000000000000000000000000000000000000000000000000008152600481018590526024810184905260448101829052606401610ef7565b6060600080856001600160a01b031685604051614717919061589a565b600060405180830381855af49150503d8060008114614752576040519150601f19603f3d011682016040523d82523d6000602084013e614757565b606091505b509150915061476886838387614772565b9695505050505050565b606083156147e15782516000036147da576001600160a01b0385163b6147da5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610ef7565b50816147eb565b6147eb83836147f3565b949350505050565b8151156148035781518083602001fd5b8060405162461bcd60e51b8152600401610ef7919061534c565b60006020828403121561482f57600080fd5b5035919050565b634e487b7160e01b600052602160045260246000fd5b6005811061485c5761485c614836565b9052565b60005b8381101561487b578181015183820152602001614863565b50506000910152565b6000815180845261489c816020860160208601614860565b601f01601f19169290920160200192915050565b8051825260006020820151604060208501526147eb6040850182614884565b60006101408c83528b60208401528a60408401528960608401526001600160a01b03808a16608085015280891660a085015280881660c0850152508560e084015261491e61010084018661484c565b80610120840152614931818401856148b0565b9d9c50505050505050505050505050565b60006020828403121561495457600080fd5b81357fffffffff000000000000000000000000000000000000000000000000000000008116811461105d57600080fd5b6001600160a01b038116811461139f57600080fd5b6000602082840312156149ab57600080fd5b813561105d81614984565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff811182821017156149ef576149ef6149b6565b60405290565b604051610120810167ffffffffffffffff811182821017156149ef576149ef6149b6565b60405160c0810167ffffffffffffffff811182821017156149ef576149ef6149b6565b60405160a0810167ffffffffffffffff811182821017156149ef576149ef6149b6565b604051601f8201601f1916810167ffffffffffffffff81118282101715614a8857614a886149b6565b604052919050565b600067ffffffffffffffff821115614aaa57614aaa6149b6565b5060051b60200190565b600082601f830112614ac557600080fd5b81356020614ada614ad583614a90565b614a5f565b82815260059290921b84018101918181019086841115614af957600080fd5b8286015b84811015614b1d578035614b1081614984565b8352918301918301614afd565b509695505050505050565b600067ffffffffffffffff821115614b4257614b426149b6565b50601f01601f191660200190565b6000614b5e614ad584614b28565b9050828152838383011115614b7257600080fd5b828260208301376000602084830101529392505050565b600082601f830112614b9a57600080fd5b61105d83833560208501614b50565b600080600060608486031215614bbe57600080fd5b833567ffffffffffffffff80821115614bd657600080fd5b614be287838801614ab4565b94506020860135915080821115614bf857600080fd5b50614c0586828701614b89565b9250506040840135614c1681614984565b809150509250925092565b60008060408385031215614c3457600080fd5b823567ffffffffffffffff811115614c4b57600080fd5b614c5785828601614b89565b9250506020830135614c6881614984565b809150509250929050565b6004811061485c5761485c614836565b60208101610d8a8284614c73565b60008060408385031215614ca457600080fd5b8235614caf81614984565b946020939093013593505050565b600080600060608486031215614cd257600080fd5b505081359360208301359350604090920135919050565b6003811061485c5761485c614836565b60208101610d8a8284614ce9565b60008060408385031215614d1a57600080fd5b8235614d2581614984565b9150602083013567ffffffffffffffff811115614d4157600080fd5b614d4d85828601614b89565b9150509250929050565b60208152600061105d60208301846148b0565b60008060408385031215614d7d57600080fd5b823567ffffffffffffffff80821115614d9557600080fd5b614da186838701614ab4565b9350602091508185013581811115614db857600080fd5b8501601f81018713614dc957600080fd5b8035614dd7614ad582614a90565b81815260059190911b82018401908481019089831115614df657600080fd5b8584015b83811015614e2e57803586811115614e125760008081fd5b614e208c8983890101614b89565b845250918601918601614dfa565b508096505050505050509250929050565b602080825282518282018190526000919060409081850190868401855b82811015614e8a57815180516001600160a01b03168552860151868501529284019290850190600101614e5c565b5091979650505050505050565b801515811461139f57600080fd5b600060208284031215614eb757600080fd5b813561105d81614e97565b6001600160a01b038b811682528a811660208301528916604082015260608101889052608081018790526101408101614efe60a083018861484c565b8560c08301528460e083015283610100830152826101208301529b9a5050505050505050505050565b60008060408385031215614f3a57600080fd5b823591506020830135614c6881614984565b60006020808385031215614f5f57600080fd5b823567ffffffffffffffff811115614f7657600080fd5b8301601f81018513614f8757600080fd5b8035614f95614ad582614a90565b81815260069190911b82018301908381019087831115614fb457600080fd5b928401925b82841015612d6d5760408489031215614fd25760008081fd5b614fda6149cc565b843581528585013586820152825260409093019290840190614fb9565b602081016007831061500b5761500b614836565b91905290565b6000806040838503121561502457600080fd5b82359150602083013567ffffffffffffffff811115614d4157600080fd5b6000806040838503121561505557600080fd5b823561506081614984565b9150602083013567ffffffffffffffff81111561507c57600080fd5b8301601f8101851361508d57600080fd5b614d4d85823560208401614b50565b600181811c908216806150b057607f821691505b60208210810361171157634e487b7160e01b600052602260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b81810381811115610d8a57610d8a6150d0565b634e487b7160e01b600052601260045260246000fd5b60008261512c57634e487b7160e01b600052601260045260246000fd5b500490565b8082028115828204841417610d8a57610d8a6150d0565b80820180821115610d8a57610d8a6150d0565b60006020828403121561516d57600080fd5b815161105d81614e97565b60006020828403121561518a57600080fd5b5051919050565b6000602082840312156151a357600080fd5b815161105d81614984565b80516151b981614984565b919050565b8051600381106151b957600080fd5b8051600481106151b957600080fd5b6000602082840312156151ee57600080fd5b6040516020810181811067ffffffffffffffff82111715615211576152116149b6565b6040529151825250919050565b6000610120828403121561523157600080fd5b6152396149f5565b615242836151ae565b81526020830151602082015260408301516040820152606083015160608201526080830151608082015261527860a084016151be565b60a082015261528960c084016151cd565b60c082015261529b8460e085016151dc565b60e08201526101006152ae8185016151ae565b908201529392505050565b6000610140820190508382526001600160a01b038351166020830152602083015160408301526040830151606083015260608301516080830152608083015160a083015260a083015161530f60c0840182614ce9565b5060c083015161532260e0840182614c73565b5060e08301515161010083810191909152909201516001600160a01b031661012090910152919050565b60208152600061105d6020830184614884565b60006040828403121561537157600080fd5b6153796149cc565b905081518152602082015167ffffffffffffffff81111561539957600080fd5b8201601f810184136153aa57600080fd5b80516153b8614ad582614b28565b8181528560208385010111156153cd57600080fd5b6153de826020830160208601614860565b602084015250909392505050565b6000602082840312156153fe57600080fd5b815167ffffffffffffffff8082111561541657600080fd5b9083019060c0828603121561542a57600080fd5b615432614a19565b82518152602083015161544481614984565b6020820152604083015161545781614984565b604082015260608301518281111561546e57600080fd5b61547a8782860161535f565b6060830152506080830151608082015260a083015160a082015280935050505092915050565b6000602082840312156154b257600080fd5b815167ffffffffffffffff808211156154ca57600080fd5b9083019060a082860312156154de57600080fd5b6154e6614a3c565b8251815260208301516154f881614984565b602082015260408381015190820152606083015161551581614984565b606082015260808301518281111561552c57600080fd5b6155388782860161535f565b60808301525095945050505050565b600060018201615559576155596150d0565b5060010190565b601f821115610e0b57600081815260208120601f850160051c810160208610156155875750805b601f850160051c820191505b818110156155a657828155600101615593565b505050505050565b815167ffffffffffffffff8111156155c8576155c86149b6565b6155dc816155d6845461509c565b84615560565b602080601f83116001811461561157600084156155f95750858301515b600019600386901b1c1916600185901b1785556155a6565b600085815260208120601f198616915b8281101561564057888601518255948401946001909101908401615621565b508582101561565e5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60006020828403121561568057600080fd5b815160ff8116811461105d57600080fd5b600181815b808511156156cc5781600019048211156156b2576156b26150d0565b808516156156bf57918102915b93841c9390800290615696565b509250929050565b6000826156e357506001610d8a565b816156f057506000610d8a565b816001811461570657600281146157105761572c565b6001915050610d8a565b60ff841115615721576157216150d0565b50506001821b610d8a565b5060208310610133831016604e8410600b841016171561574f575081810a610d8a565b6157598383615691565b806000190482111561576d5761576d6150d0565b029392505050565b600061105d83836156d4565b634e487b7160e01b600052600160045260246000fd5b600060208083850312156157aa57600080fd5b825167ffffffffffffffff8111156157c157600080fd5b8301601f810185136157d257600080fd5b80516157e0614ad582614a90565b81815260069190911b820183019083810190878311156157ff57600080fd5b928401925b82841015612d6d576040848903121561581d5760008081fd5b6158256149cc565b845181528585015186820152825260409093019290840190615804565b634e487b7160e01b600052603260045260246000fd5b60408152600061586b6040830185614884565b90508260208301529392505050565b8082018281126000831280158216821582161715612e1957612e196150d0565b600082516158ac818460208701614860565b919091019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220c48cc12d179438205fdfccfa347c3f7a42e1628b0464d75d22b5c73259d5a99664736f6c6343000813003360806040526040516104ee3803806104ee833981016040819052610022916102de565b61002e82826000610035565b50506103fb565b61003e83610061565b60008251118061004b5750805b1561005c5761005a83836100a1565b505b505050565b61006a816100cd565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606100c683836040518060600160405280602781526020016104c760279139610180565b9392505050565b6001600160a01b0381163b61013f5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080856001600160a01b03168560405161019d91906103ac565b600060405180830381855af49150503d80600081146101d8576040519150601f19603f3d011682016040523d82523d6000602084013e6101dd565b606091505b5090925090506101ef868383876101f9565b9695505050505050565b60608315610268578251600003610261576001600160a01b0385163b6102615760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610136565b5081610272565b610272838361027a565b949350505050565b81511561028a5781518083602001fd5b8060405162461bcd60e51b815260040161013691906103c8565b634e487b7160e01b600052604160045260246000fd5b60005b838110156102d55781810151838201526020016102bd565b50506000910152565b600080604083850312156102f157600080fd5b82516001600160a01b038116811461030857600080fd5b60208401519092506001600160401b038082111561032557600080fd5b818501915085601f83011261033957600080fd5b81518181111561034b5761034b6102a4565b604051601f8201601f19908116603f01168101908382118183101715610373576103736102a4565b8160405282815288602084870101111561038c57600080fd5b61039d8360208301602088016102ba565b80955050505050509250929050565b600082516103be8184602087016102ba565b9190910192915050565b60208152600082518060208401526103e78160408501602087016102ba565b601f01601f19169190910160400192915050565b60be806104096000396000f3fe608060405236601057600e6013565b005b600e5b601f601b6021565b6065565b565b600060607f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b905090565b3660008037600080366000845af43d6000803e8080156083573d6000f35b3d6000fdfea26469706673582212204ff6082523a0497cb45cb43d3d639dba31b196359b7f035ed946d507d89a80c764736f6c63430008130033416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c656467617264656e73466163746f72792e67657447617264656e7346656552656365697665722829416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a264697066735822122021ab31b51ced700c35259f0eb0c59f2095f1fbcf2c8bd0efe59a0682d6a8b74164736f6c63430008130033","sourceMap":"1415:24000:134:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3050:213:44;;;;;;;;;;-1:-1:-1;3050:213:44;;;;;:::i;:::-;;:::i;:::-;;;516:14:151;;509:22;491:41;;479:2;464:18;3050:213:44;;;;;;;;23053:107:134;;;;;;;;;;-1:-1:-1;23134:19:134;;23053:107;;;689:25:151;;;677:2;662:18;23053:107:134;543:177:151;2452:24:134;;;;;;;;;;;;;;;;23354:280;;;;;;;;;;-1:-1:-1;23354:280:134;;;;;:::i;:::-;;:::i;:::-;;13030:1179;;;;;;;;;;-1:-1:-1;13030:1179:134;;;;;:::i;:::-;;:::i;19745:120::-;;;;;;;;;;-1:-1:-1;19745:120:134;;;;;:::i;:::-;;:::i;2141:25::-;;;;;;;;;;-1:-1:-1;2141:25:134;;;;;;;;18803:120;;;;;;;;;;-1:-1:-1;18803:120:134;;;;;:::i;:::-;;:::i;14215:691::-;;;;;;;;;;-1:-1:-1;14215:691:134;;;;;:::i;:::-;;:::i;4855:129:44:-;;;;;;;;;;-1:-1:-1;4855:129:44;;;;;:::i;:::-;4929:7;4955:12;;;:6;:12;;;;;:22;;;;4855:129;22580:467:134;;;;;;;;;;;;;:::i;3994:82::-;;;;;;;;;;-1:-1:-1;3994:82:134;;;;;:::i;:::-;;:::i;:::-;;;-1:-1:-1;;;;;2836:55:151;;;2818:74;;2806:2;2791:18;3994:82:134;2672:226:151;18212:143:134;;;;;;;;;;-1:-1:-1;18212:143:134;;;;;:::i;:::-;-1:-1:-1;;;;;18307:28:134;18281:7;18307:28;;;:19;:28;;;;;:41;;;;18212:143;5280:145:44;;;;;;;;;;-1:-1:-1;5280:145:44;;;;;:::i;:::-;;:::i;23166:182:134:-;;;;;;;;;;-1:-1:-1;23166:182:134;;;;;:::i;:::-;;:::i;2814:25::-;;;;;;;;;;;;;;;;20667:1907;;;;;;;;;;;;;:::i;6389:214:44:-;;;;;;;;;;-1:-1:-1;6389:214:44;;;;;:::i;:::-;;:::i;3143:195:68:-;;;;;;;;;;-1:-1:-1;3143:195:68;;;;;:::i;:::-;;:::i;19871:240:134:-;;;;;;;;;;-1:-1:-1;19871:240:134;;;;;:::i;:::-;;:::i;3529:68::-;;;;;;;;;;-1:-1:-1;3529:68:134;;;;;:::i;:::-;;;;;;;;;;;;;;;;4154:107;;;;;;;;;;-1:-1:-1;4154:107:134;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;3657:220:68;;;;;;:::i;:::-;;:::i;2762:131::-;;;;;;;;;;;;;:::i;15343:998:134:-;;;;;;;;;;-1:-1:-1;15343:998:134;;;;;:::i;:::-;;:::i;2716:31::-;;;;;;;;;;-1:-1:-1;2716:31:134;;;;-1:-1:-1;;;;;2716:31:134;;;16481:1554;;;;;;;;;;-1:-1:-1;16481:1554:134;;;;;:::i;:::-;;:::i;3665:98::-;;;;;;;;;;-1:-1:-1;3665:98:134;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;24738:571;;;;;;;;;;-1:-1:-1;24738:571:134;;;;;:::i;:::-;;:::i;2907:41::-;;;;;;;;;;-1:-1:-1;2907:41:134;;;;-1:-1:-1;;;;;2907:41:134;;;3167:24;;;;;;;;;;-1:-1:-1;3167:24:134;;;;-1:-1:-1;;;;;3167:24:134;;;2085:101:46;;;;;;;;;;;;;:::i;19318:229:134:-;;;;;;;;;;-1:-1:-1;19318:229:134;;;;;:::i;:::-;;:::i;4595:68::-;;;;;;;;;;;;4636:27;4595:68;;18041:165;;;;;;;;;;-1:-1:-1;18041:165:134;;;;;:::i;:::-;-1:-1:-1;;;;;18158:30:134;;;18132:7;18158:30;;;:21;:30;;;;;;;;:41;;;;;;;;;;;;;18041:165;2240:34;;;;;;;;;;;;;;;;2998:25;;;;;;;;;;-1:-1:-1;2998:25:134;;;;-1:-1:-1;;;;;2998:25:134;;;18484:313;;;;;;;;;;-1:-1:-1;18484:313:134;;;;;:::i;:::-;;:::i;3863:60::-;;;;;;;;;;-1:-1:-1;3863:60:134;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3863:60:134;;;;;;;;;;;;;-1:-1:-1;;;;;7069:55:151;;;7051:74;;7156:2;7141:18;;7134:34;;;;7211:14;7204:22;7184:18;;;7177:50;7039:2;7024:18;3863:60:134;6855:378:151;2351:27:134;;;;;;;;;;;;;;;;1462:85:46;;;;;;;;;;-1:-1:-1;1534:6:46;;-1:-1:-1;;;;;1534:6:46;1462:85;;3350:145:44;;;;;;;;;;-1:-1:-1;3350:145:44;;;;;:::i;:::-;3436:4;3459:12;;;:6;:12;;;;;;;;-1:-1:-1;;;;;3459:29:44;;;;;;;;;;;;;;;3350:145;9630:2107:134;;;;;;;;;;-1:-1:-1;9630:2107:134;;;;;:::i;:::-;;:::i;11743:622::-;;;;;;;;;;-1:-1:-1;11743:622:134;;;;;:::i;:::-;;:::i;:::-;;;;12356:25:151;;;-1:-1:-1;;;;;12417:55:151;;;12412:2;12397:18;;12390:83;12329:18;11743:622:134;12182:297:151;1740:75:134;;;;;;;;;;;;1773:42;1740:75;;2320:49:44;;;;;;;;;;-1:-1:-1;2320:49:44;2365:4;2320:49;;20479:182:134;;;;;;;;;;-1:-1:-1;20479:182:134;;;;;:::i;:::-;-1:-1:-1;;;;;20587:28:134;;;20535:14;20587:28;;;:19;:28;;;;;;;;;20561:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20479:182;2543:26;;;;;;;;;;-1:-1:-1;2543:26:134;;;;-1:-1:-1;;;;;2543:26:134;;;20302:171;;;;;;;;;;;;;:::i;3383:30::-;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;23807:453::-;;;;;;;;;;;;;:::i;2029:54::-;;;;;;;;;;;;;:::i;3298:27::-;;;;;;;;;;;;;:::i;5705:147:44:-;;;;;;;;;;-1:-1:-1;5705:147:44;;;;;:::i;:::-;;:::i;3239:17:134:-;;;;;;;;;;-1:-1:-1;3239:17:134;;;;-1:-1:-1;;;;;3239:17:134;;;1905:49;;;;;;;;;;;;1947:7;1905:49;;3086:25;;;;;;;;;;-1:-1:-1;3086:25:134;;;;-1:-1:-1;;;;;3086:25:134;;;23676:125;;;;;;;;;;-1:-1:-1;23676:125:134;;;;;:::i;:::-;;:::i;2335:198:46:-;;;;;;;;;;-1:-1:-1;2335:198:46;;;;;:::i;:::-;;:::i;2627:30:134:-;;;;;;;;;;-1:-1:-1;2627:30:134;;;;-1:-1:-1;;;;;2627:30:134;;;12371:653;;;;;;;;;;-1:-1:-1;12371:653:134;;;;;:::i;:::-;;:::i;3050:213:44:-;3135:4;-1:-1:-1;;;;;;3158:58:44;;3173:43;3158:58;;:98;;-1:-1:-1;;;;;;;;;;1189:51:54;;;3220:36:44;3151:105;3050:213;-1:-1:-1;;3050:213:44:o;23354:280:134:-;23422:17;:15;:17::i;:::-;2063:20;1947:7;2063:2;:20;:::i;:::-;23453:16;:26;23449:86;;;23502:22;;;;;;;;;;;;;;23449:86;23544:12;:31;;;23590:37;;689:25:151;;;23590:37:134;;677:2:151;662:18;23590:37:134;;;;;;;;23354:280;:::o;13030:1179::-;13117:34;13143:7;13117:25;:34::i;:::-;13161:30;13181:9;13161:19;:30::i;:::-;13201:29;13220:9;13201:18;:29::i;:::-;-1:-1:-1;;;;;13245:36:134;;;;;;;:27;:36;;;;;;;;:47;;;;;;;;;;;;13241:107;;;13315:22;;;;;;;;;;;;;;13241:107;-1:-1:-1;;;;;13381:28:134;;;13358:20;13381:28;;;:19;:28;;;;;;;;;13358:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13504:19;;13584:36;13553:9;-1:-1:-1;;;;;13538:40:134;;:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:82;;;;;;;;:::i;:::-;;13534:384;;13655:51;;-1:-1:-1;;;13655:51:134;;-1:-1:-1;;;;;15530:55:151;;;13655:51:134;;;15512:74:151;13704:1:134;15602:18:151;;;15595:34;13655:39:134;;;;;15485:18:151;;13655:51:134;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13636:70;;13534:384;;;13773:32;13742:9;-1:-1:-1;;;;;13727:40:134;;:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:78;;;;;;;;:::i;:::-;;13723:195;;13840:67;;-1:-1:-1;;;13840:67:134;;-1:-1:-1;;;;;15530:55:151;;;13840:67:134;;;15512:74:151;15602:18;;;15595:34;;;13840:39:134;;;;;15485:18:151;;13840:67:134;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13821:86;;13723:195;-1:-1:-1;;;;;13928:30:134;;;;;;;:21;:30;;;;;;;;:41;;;;;;;;;;;;:60;;;14017:36;;;:27;:36;;;;;:47;;;;;;;;:54;;-1:-1:-1;;14017:54:134;14067:4;14017:54;;;;;;14082:27;;;:18;:27;;;;;:43;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;14082:43:134;;;;;14141:61;;16394:34:151;;;16444:18;;16437:43;;;;16496:18;;;16489:34;;;14141:61:134;;16321:2:151;16306:18;14141:61:134;;;;;;;13107:1102;;;13030:1179;;:::o;19745:120::-;19805:17;:15;:17::i;:::-;19832:26;19848:9;19832:15;:26::i;:::-;19745:120;:::o;18803:::-;18863:17;:15;:17::i;:::-;18890:26;18903:12;18890;:26::i;14215:691::-;14304:34;14330:7;14304:25;:34::i;:::-;14348:29;14367:9;14348:18;:29::i;:::-;14387:42;14407:10;14419:9;14387:19;:42::i;:::-;-1:-1:-1;;;;;14445:36:134;;;;;;;:27;:36;;;;;;;;:47;;;;;;;;;;;;14440:110;;14515:24;;;;;;;;;;;;;;14440:110;-1:-1:-1;;;;;14560:36:134;;;14610:5;14560:36;;;:27;:36;;;;;;;;:47;;;;;;;;;;;;:55;;-1:-1:-1;;14560:55:134;;;14625:30;;;:21;:30;;;;;:41;;;;;;;;;:45;14680:44;14588:7;14597:9;14680:24;:44::i;:::-;14854:45;;;-1:-1:-1;;;;;16787:15:151;;;16769:34;;16839:15;;16834:2;16819:18;;16812:43;14854:45:134;;16681:18:151;14854:45:134;;;;;;;;14215:691;;:::o;22580:467::-;22703:15;;22635:7;;-1:-1:-1;;;;;22703:15:134;22635:7;22798:21;1947:7;22798:3;:21;:::i;:::-;22781:12;;22759:19;;:34;;;;:::i;:::-;22758:62;;;;:::i;:::-;22729:91;-1:-1:-1;22830:24:134;22941:21;1947:7;22941:3;:21;:::i;:::-;22892:44;;-1:-1:-1;;;22892:44:134;;22930:4;22892:44;;;2818:74:151;-1:-1:-1;;;;;22892:29:134;;;;;2791:18:151;;22892:44:134;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;22870:19;;:66;;;;:::i;:::-;22869:94;;;;:::i;:::-;22830:133;;23024:16;23003:18;22981:19;;:40;;;;:::i;:::-;:59;;;;:::i;:::-;22974:66;;;;;22580:467;:::o;3994:82::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3994:82:134;;-1:-1:-1;3994:82:134;;-1:-1:-1;3994:82:134:o;5280:145:44:-;4929:7;4955:12;;;:6;:12;;;;;:22;;;2798:16;2809:4;2798:10;:16::i;:::-;5393:25:::1;5404:4;5410:7;5393:10;:25::i;:::-;5280:145:::0;;;:::o;23166:182:134:-;23235:17;:15;:17::i;:::-;23262:19;:32;;;23309;;689:25:151;;;23309:32:134;;677:2:151;662:18;23309:32:134;543:177:151;20667:1907:134;2526:21:49;:19;:21::i;:::-;20749:10:134::1;20731:15;20796:28:::0;;;:19:::1;:28;::::0;;;;20883:15:::1;::::0;20796:28;;-1:-1:-1;;;;;20883:15:134;;::::1;::::0;20978:21:::1;1947:7;20978:3;:21;:::i;:::-;20961:12;;20939:19;;:34;;;;:::i;:::-;20938:62;;;;:::i;:::-;20909:91:::0;-1:-1:-1;21010:24:134::1;21121:21;1947:7;21121:3;:21;:::i;:::-;21072:44;::::0;-1:-1:-1;;;21072:44:134;;21110:4:::1;21072:44;::::0;::::1;2818:74:151::0;-1:-1:-1;;;;;21072:29:134;::::1;::::0;::::1;::::0;2791:18:151;;21072:44:134::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;21050:19;;:66;;;;:::i;:::-;21049:94;;;;:::i;:::-;-1:-1:-1::0;;;;;20587:28:134;;;20535:14;20587:28;;;:19;:28;;;;;;;;;20561:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21010:133;;-1:-1:-1;21153:1415:134::1;;21191:22;::::0;::::1;:29:::0;;-1:-1:-1;;21191:29:134::1;21216:4;21191:29:::0;;::::1;::::0;;;21260:19:::1;::::0;21235:22;;::::1;:44:::0;21365:48:::1;::::0;;;;::::1;::::0;;;::::1;::::0;;::::1;;::::0;::::1;::::0;21400:11:::1;::::0;21365:48:::1;::::0;;-1:-1:-1;;;;;21400:11:134::1;21365;:48::i;:::-;21428:143;21474:7;21491:4;21541:16;21520:18;21498:19;;:40;;;;:::i;:::-;:59;;;;:::i;:::-;21428:11;::::0;-1:-1:-1;;;;;21428:11:134::1;::::0;:143;;:28:::1;:143::i;:::-;21922:53;;;;;;;;;;;;;;;;;::::0;21956:18:::1;21922:11;:53::i;:::-;21993:22:::0;;21989:175:::1;;22035:39;::::0;;;;::::1;::::0;;;::::1;::::0;;::::1;;::::0;::::1;::::0;22062:11:::1;::::0;22035:39:::1;::::0;;-1:-1:-1;;;;;22062:11:134::1;22035;:39::i;:::-;22117:11;::::0;22092::::1;::::0;:57:::1;::::0;-1:-1:-1;;;;;22092:11:134;;::::1;::::0;22117::::1;22130:18:::0;22092:24:::1;:57::i;:::-;22177:49;;;;;;;;;;;;;;;;;::::0;22209:16:::1;22177:11;:49::i;:::-;22244:20:::0;;22240:252:::1;;22284:93;;;;;;;;;;;;;;;;;;22338:14;-1:-1:-1::0;;;;;22338:36:134::1;;:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;22284:11;:93::i;:::-;22395:82;22420:14;-1:-1:-1::0;;;;;22420:36:134::1;;:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;22395:11;::::0;-1:-1:-1;;;;;22395:11:134::1;::::0;22460:16;22395:24:::1;:82::i;:::-;22537:19;::::0;22511:46:::1;::::0;;-1:-1:-1;;;;;15530:55:151;;15512:74;;15617:2;15602:18;;15595:34;;;;22511:46:134::1;::::0;15485:18:151;22511:46:134::1;;;;;;;21153:1415;20721:1853;;;;;2568:20:49::0;1808:1;3074:7;:22;2894:209;2568:20;20667:1907:134:o;6389:214:44:-;-1:-1:-1;;;;;6484:23:44;;965:10:52;6484:23:44;6476:83;;;;-1:-1:-1;;;6476:83:44;;17733:2:151;6476:83:44;;;17715:21:151;17772:2;17752:18;;;17745:30;17811:34;17791:18;;;17784:62;17882:17;17862:18;;;17855:45;17917:19;;6476:83:44;;;;;;;;;6570:26;6582:4;6588:7;6570:11;:26::i;:::-;6389:214;;:::o;3143:195:68:-;-1:-1:-1;;;;;1654:6:68;1637:23;1645:4;1637:23;1629:80;;;;-1:-1:-1;;;1629:80:68;;18149:2:151;1629:80:68;;;18131:21:151;18188:2;18168:18;;;18161:30;18227:34;18207:18;;;18200:62;-1:-1:-1;;;18278:18:151;;;18271:42;18330:19;;1629:80:68;17947:408:151;1629:80:68;1751:6;-1:-1:-1;;;;;1727:30:68;:20;1030:66:64;1254:54;-1:-1:-1;;;;;1254:54:64;;1175:140;1727:20:68;-1:-1:-1;;;;;1727:30:68;;1719:87;;;;-1:-1:-1;;;1719:87:68;;18562:2:151;1719:87:68;;;18544:21:151;18601:2;18581:18;;;18574:30;18640:34;18620:18;;;18613:62;-1:-1:-1;;;18691:18:151;;;18684:42;18743:19;;1719:87:68;18360:408:151;1719:87:68;3224:36:::1;3242:17;3224;:36::i;:::-;3311:12;::::0;;3321:1:::1;3311:12:::0;;;::::1;::::0;::::1;::::0;;;3270:61:::1;::::0;3292:17;;3311:12;3270:21:::1;:61::i;19871:240:134:-:0;19935:17;:15;:17::i;:::-;19962:25;19981:5;19962:18;:25::i;:::-;19997:18;:26;;-1:-1:-1;;;;;;19997:26:134;-1:-1:-1;;;;;19997:26:134;;;;;;;;;20071:11;;20038:66;;;20071:11;;;;16769:34:151;;16834:2;16819:18;;16812:43;;;;20038:66:134;;16681:18:151;20038:66:134;16534:327:151;3657:220:68;-1:-1:-1;;;;;1654:6:68;1637:23;1645:4;1637:23;1629:80;;;;-1:-1:-1;;;1629:80:68;;18149:2:151;1629:80:68;;;18131:21:151;18188:2;18168:18;;;18161:30;18227:34;18207:18;;;18200:62;-1:-1:-1;;;18278:18:151;;;18271:42;18330:19;;1629:80:68;17947:408:151;1629:80:68;1751:6;-1:-1:-1;;;;;1727:30:68;:20;1030:66:64;1254:54;-1:-1:-1;;;;;1254:54:64;;1175:140;1727:20:68;-1:-1:-1;;;;;1727:30:68;;1719:87;;;;-1:-1:-1;;;1719:87:68;;18562:2:151;1719:87:68;;;18544:21:151;18601:2;18581:18;;;18574:30;18640:34;18620:18;;;18613:62;-1:-1:-1;;;18691:18:151;;;18684:42;18743:19;;1719:87:68;18360:408:151;1719:87:68;3772:36:::1;3790:17;3772;:36::i;:::-;3818:52;3840:17;3859:4;3865;3818:21;:52::i;2762:131::-:0;2840:7;2080:4;-1:-1:-1;;;;;2089:6:68;2072:23;;2064:92;;;;-1:-1:-1;;;2064:92:68;;19315:2:151;2064:92:68;;;19297:21:151;19354:2;19334:18;;;19327:30;19393:34;19373:18;;;19366:62;19464:26;19444:18;;;19437:54;19508:19;;2064:92:68;19113:420:151;2064:92:68;-1:-1:-1;1030:66:64::1;2762:131:68::0;:::o;15343:998:134:-;2526:21:49;:19;:21::i;:::-;15419:26:134::1;:24;:26::i;:::-;15472:10;15455:14;15528:26:::0;;;:18:::1;:26;::::0;;;;;;;15492:62;;;;;;::::1;::::0;;;;;;;;;;;;15528:26;;15492:62;;::::1;15528:26:::0;15492:62;;::::1;;;;;;;;;;;;;;;;::::0;;-1:-1:-1;;;;;15492:62:134::1;::::0;;;;;::::1;::::0;::::1;;::::0;;::::1;;;;;;;;;;;15565:24;15605:9:::0;15617:1:::1;15605:13;;15600:533;15624:16;:23;15620:1;:27;15600:533;;;15807:16;15824:1;15807:19;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;15792:72:::1;::::0;-1:-1:-1;;;15792:72:134;;-1:-1:-1;;;;;15530:55:151;;;15792:72:134::1;::::0;::::1;15512:74:151::0;15602:18;;;15595:34;;;15792:49:134;;::::1;::::0;::::1;::::0;15485:18:151;;15792:72:134::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;15773:91:::0;-1:-1:-1;15882:21:134;;15878:229:::1;;-1:-1:-1::0;;;;;15923:29:134;::::1;;::::0;;;:21:::1;:29;::::0;;;;15953:19;;15977:16;;15923:29;15953:16;;15970:1;;15953:19;::::1;;;;;:::i;:::-;;;;;;;-1:-1:-1::0;;;;;15923:50:134::1;-1:-1:-1::0;;;;;15923:50:134::1;;;;;;;;;;;;;:70;;;;;;;:::i;:::-;;;;;;;;16011:81;;;;;;;;;;;;;;;;;::::0;16041:21:::1;:29;16063:6;-1:-1:-1::0;;;;;16041:29:134::1;-1:-1:-1::0;;;;;16041:29:134::1;;;;;;;;;;;;:50;16071:16;16088:1;16071:19;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1::0;;;;;16041:50:134::1;-1:-1:-1::0;;;;;16041:50:134::1;;;;;;;;;;;;;16011:11;:81::i;:::-;15649:3:::0;::::1;::::0;::::1;:::i;:::-;;;;15600:533;;;-1:-1:-1::0;16143:11:134::1;::::0;:66:::1;::::0;-1:-1:-1;;;;;16143:11:134::1;16172:6:::0;16188:4:::1;16195:13:::0;16143:28:::1;:66::i;:::-;-1:-1:-1::0;;;;;16219:27:134;::::1;;::::0;;;:19:::1;:27;::::0;;;;:40:::1;;:57:::0;;16263:13;;16219:27;:57:::1;::::0;16263:13;;16219:57:::1;:::i;:::-;::::0;;;-1:-1:-1;;16291:43:134::1;::::0;;-1:-1:-1;;;;;15530:55:151;;15512:74;;15617:2;15602:18;;15595:34;;;16291:43:134::1;::::0;15485:18:151;16291:43:134::1;;;;;;;;15409:932;;;2568:20:49::0;1808:1;3074:7;:22;2894:209;16481:1554:134;2526:21:49;:19;:21::i;:::-;16559:26:134::1;:24;:26::i;:::-;16612:10;16595:14;16669:26:::0;;;:18:::1;:26;::::0;;;;;;;16806:19:::1;::::0;16745::::1;:27:::0;;;;;;:40:::1;;::::0;16669:26;;16595:14;16806:19;16745:58:::1;::::0;16788:15;;16745:58:::1;:::i;:::-;:80;16741:140;;;16848:22;;;;;;;;;;;;;;16741:140;16890:11;::::0;:49:::1;::::0;-1:-1:-1;;;;;16890:11:134::1;16915:6:::0;16923:15;16890:24:::1;:49::i;:::-;16954:9;16949:951;16973:23:::0;;16969:27;::::1;16949:951;;;17017:16;17036;17053:1;17036:19;;;;;;;;:::i;:::-;;::::0;;;::::1;::::0;;;::::1;::::0;-1:-1:-1;;;;;17036:19:134::1;::::0;-1:-1:-1;17073:60:134::1;17036:19:::0;-1:-1:-1;;;17073:26:134::1;:60::i;:::-;17069:804;;;17172:63;::::0;;;;-1:-1:-1;;;;;15530:55:151;;;17172:63:134::1;::::0;::::1;15512:74:151::0;15602:18;;;15595:34;;;17172:38:134;::::1;::::0;::::1;::::0;15485:18:151;;17172:63:134::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;17153:82;;17253:20;17276:21;:29;17298:6;-1:-1:-1::0;;;;;17276:29:134::1;-1:-1:-1::0;;;;;17276:29:134::1;;;;;;;;;;;;:50;17306:16;17323:1;17306:19;;;;;;;;:::i;:::-;;::::0;;;::::1;::::0;;;;;::::1;::::0;-1:-1:-1;;;;;17306:19:134::1;17276:50:::0;;;::::1;::::0;;;;;;;;;;-1:-1:-1;17348:31:134;;::::1;17344:259;;;17410:57;::::0;::::1;::::0;;::::1;::::0;::::1;20174:25:151::0;;;20215:18;;;20208:34;;;20147:18;;17410:57:134::1;20000:248:151::0;17344:259:134::1;-1:-1:-1::0;;;;;17514:29:134;::::1;;::::0;;;:21:::1;:29;::::0;;;;17544:19;;17568:16;;17514:29;17544:16;;17561:1;;17544:19;::::1;;;;;:::i;:::-;;::::0;;;::::1;::::0;;;;;::::1;::::0;-1:-1:-1;;;;;17544:19:134::1;17514:50:::0;;;::::1;::::0;;;;;;;;:70;;:50;;17544:19;17514:70:::1;::::0;;;::::1;:::i;:::-;::::0;;;-1:-1:-1;;17135:482:134::1;17069:804;;;17747:23:::0;;17730:16;;17747:27:::1;::::0;17773:1:::1;::::0;17747:27:::1;:::i;:::-;17730:45;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;-1:-1:-1::0;;;;;17730:45:134::1;17708:16;17725:1;17708:19;;;;;;;;:::i;:::-;;;;;;;;;:67;;;;;-1:-1:-1::0;;;;;17708:67:134::1;;;;;-1:-1:-1::0;;;;;17708:67:134::1;;;;;;17793:16;:22;;;;;;;:::i;:::-;;::::0;;;::::1;::::0;;;;-1:-1:-1;;17793:22:134;;;;;-1:-1:-1;;;;;;17793:22:134::1;::::0;;;;;17833:25:::1;17849:8:::0;17833:15:::1;:25::i;:::-;-1:-1:-1::0;16998:3:134;::::1;::::0;::::1;:::i;:::-;;;;16949:951;;;-1:-1:-1::0;;;;;;17909:27:134;::::1;;::::0;;;:19:::1;:27;::::0;;;;:40:::1;;:59:::0;;17953:15;;17909:27;:59:::1;::::0;17953:15;;17909:59:::1;:::i;:::-;::::0;;;-1:-1:-1;;17983:45:134::1;::::0;;-1:-1:-1;;;;;15530:55:151;;15512:74;;15617:2;15602:18;;15595:34;;;17983:45:134::1;::::0;15485:18:151;17983:45:134::1;15330:305:151::0;24738:571:134;2526:21:49;:19;:21::i;:::-;24831:17:134::1;:15;:17::i;:::-;24863:13;::::0;::::1;;24858:68;;24899:16;;;;;;;;;;;;;;24858:68;-1:-1:-1::0;;;;;20587:28:134;;;20535:14;20587:28;;;:19;:28;;;;;;;;;20561:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;24935:75:::1;;24980:19;;-1:-1:-1::0;;;24980:19:134::1;;;;;;;;;;;24935:75;-1:-1:-1::0;;;;;25042:28:134;;::::1;25019:20;25042:28:::0;;;:19:::1;:28;::::0;;;;;;;;25019:51;;::::1;::::0;::::1;::::0;;;;;;::::1;::::0;;;;::::1;::::0;;;::::1;::::0;;;;::::1;;::::0;::::1;;;;::::0;;;;25080:32:::1;25062:7:::0;25080:23:::1;:32::i;:::-;-1:-1:-1::0;;;;;25129:28:134;;::::1;;::::0;;;:19:::1;:28;::::0;;;;;;;25122:35;;-1:-1:-1;;;;;;25122:35:134::1;::::0;;-1:-1:-1;25122:35:134;::::1;::::0;;;;::::1;::::0;;::::1;::::0;;-1:-1:-1;;25122:35:134::1;::::0;;25168:11:::1;::::0;25207:19;;::::1;::::0;25168:59;;-1:-1:-1;;;25168:59:134;;15530:55:151;;;25168:59:134::1;::::0;::::1;15512:74:151::0;15602:18;;;15595:34;;;;25168:11:134;;::::1;::::0;:20:::1;::::0;15485:18:151;;25168:59:134::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;25282:19:134::1;::::0;;::::1;::::0;25242:60:::1;::::0;;-1:-1:-1;;;;;16412:15:151;;;16394:34;;16464:15;;16444:18;;;16437:43;;;;16496:18;;16489:34;25242:60:134::1;::::0;16321:2:151;16306:18;25242:60:134::1;;;;;;;24821:488;2568:20:49::0;1808:1;3074:7;:22;2894:209;2085:101:46;1355:13;:11;:13::i;:::-;2149:30:::1;2176:1;2149:18;:30::i;19318:229:134:-:0;19383:17;:15;:17::i;:::-;19437:4;;:20;;-1:-1:-1;;;19437:20:134;;;;;689:25:151;;;19410:16:134;;-1:-1:-1;;;;;19437:4:134;;:12;;662:18:151;;19437:20:134;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;19437:20:134;;;;;;;;;;;;:::i;:::-;:29;;;19410:57;;19477:28;19496:8;19477:18;:28::i;:::-;19515:25;19531:8;19515:15;:25::i;18484:313::-;18546:17;:15;:17::i;:::-;18600:4;;:20;;-1:-1:-1;;;18600:20:134;;;;;689:25:151;;;18573:16:134;;-1:-1:-1;;;;;18600:4:134;;:12;;662:18:151;;18600:20:134;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;18600:20:134;;;;;;;;;;;;:::i;:::-;:29;;;18573:57;;18640:28;18659:8;18640:18;:28::i;:::-;18682:60;-1:-1:-1;;;;;18682:26:134;;-1:-1:-1;;;18682:26:134;:60::i;:::-;18678:113;;;18758:22;18771:8;18758:12;:22::i;9630:2107::-;3279:19:48;3302:13;;;;;;3301:14;;3347:34;;;;-1:-1:-1;3365:12:48;;3380:1;3365:12;;;;:16;3347:34;3346:108;;;-1:-1:-1;3426:4:48;1713:19:51;:23;;;3387:66:48;;-1:-1:-1;3436:12:48;;;;;:17;3387:66;3325:201;;;;-1:-1:-1;;;3325:201:48;;22551:2:151;3325:201:48;;;22533:21:151;22590:2;22570:18;;;22563:30;22629:34;22609:18;;;22602:62;22700:16;22680:18;;;22673:44;22734:19;;3325:201:48;22349:410:151;3325:201:48;3536:12;:16;;-1:-1:-1;;3536:16:48;3551:1;3536:16;;;3562:65;;;;3596:13;:20;;-1:-1:-1;;3596:20:48;;;;;3562:65;9733:16:134::1;:14;:16::i;:::-;9759:24;:22;:24::i;:::-;9793:22;:20;:22::i;:::-;9826:49;4636:27;2365:4:44;9826:13:134;:49::i;:::-;9886:48;9913:6;:19;;;9886:18;:48::i;:::-;9944:39;9963:6;:19;;;9944:18;:39::i;:::-;10012:12:::0;;9993:32:::1;::::0;:18:::1;:32::i;:::-;10035:43;10054:6;:23;;;10035:18;:43::i;:::-;10088:44;10107:6;:24;;;10088:18;:44::i;:::-;10147:20;::::0;::::1;::::0;:25;10143:95:::1;;10188:39;10207:6;:19;;;10188:18;:39::i;:::-;10260:12:::0;;10247:4:::1;:26:::0;;-1:-1:-1;;;;;10247:26:134;;::::1;-1:-1:-1::0;;;;;;10247:26:134;;::::1;;::::0;;;10297:19:::1;::::0;::::1;::::0;10283:11:::1;:33:::0;;;;;::::1;::::0;::::1;;::::0;;10330:27:::1;::::0;::::1;::::0;10260:12:::1;10330:32:::0;10326:89:::1;;10385:19;;;;;;;;;;;;;;10326:89;10446:27;::::0;::::1;::::0;10424:19:::1;:49:::0;10498:20:::1;::::0;::::1;::::0;10483:12:::1;:35:::0;10544:21:::1;::::0;::::1;::::0;10528:13:::1;:37:::0;;-1:-1:-1;;10528:37:134::1;::::0;::::1;;::::0;;;::::1;::::0;;10591:21:::1;::::0;::::1;::::0;10575:13:::1;::::0;:37:::1;::::0;:13;:37:::1;:::i;:::-;-1:-1:-1::0;10641:23:134::1;::::0;::::1;::::0;10622:16:::1;::::0;:42:::1;::::0;:16;:42:::1;:::i;:::-;-1:-1:-1::0;10692:23:134::1;::::0;::::1;::::0;10674:15:::1;:41:::0;;-1:-1:-1;;;;;;10674:41:134;;::::1;-1:-1:-1::0;;;;;10674:41:134;;::::1;;::::0;;10739:19:::1;::::0;::::1;::::0;10725:11:::1;:33:::0;;;::::1;::::0;;::::1;::::0;;;::::1;::::0;;10788:19;;::::1;::::0;10768:11:::1;:40:::0;;;::::1;::::0;;::::1;;::::0;;10837:24:::1;::::0;::::1;::::0;10818:16:::1;:43:::0;;;;::::1;::::0;::::1;::::0;;;::::1;::::0;;10872:47:::1;::::0;4636:27:::1;::::0;10872:10:::1;:47::i;:::-;10951:4;;;;;;;;;-1:-1:-1::0;;;;;10951:4:134::1;-1:-1:-1::0;;;;;10951:16:134::1;;:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10930:8;:40:::0;;-1:-1:-1;;;;;;10930:40:134::1;-1:-1:-1::0;;;;;10930:40:134;;::::1;;::::0;;11007:11:::1;::::0;:23:::1;::::0;;;;;;;-1:-1:-1;;11007:11:134;;;::::1;::::0;:21:::1;::::0;:23:::1;::::0;;::::1;::::0;-1:-1:-1;;11007:23:134;;;;;;;;:11;:23:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;::::0;;::::1;-1:-1:-1::0;;11007:23:134::1;::::0;::::1;;::::0;::::1;::::0;;;::::1;::::0;::::1;:::i;:::-;10981:49;;11040:36;11093:6;:13;11109:1;11093:17;;;;:::i;:::-;11079:32;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;-1:-1:-1;11079:32:134::1;;11040:71;;11127:9;11122:103;11146:6;:13;11142:1;:17;11122:103;;;11205:6;11212:1;11205:9;;;;;;;;:::i;:::-;;;;;;;11180:19;11200:1;11180:22;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11180:34:134;;::::1;:22;::::0;;::::1;::::0;;;;;;;:34;11161:3;::::1;::::0;::::1;:::i;:::-;;;;11122:103;;;-1:-1:-1::0;11297:11:134::1;::::0;11255:26;;-1:-1:-1;;;;;11297:11:134;;::::1;::::0;11235:19;;11255:30:::1;::::0;11297:11;;11255:30:::1;:::i;:::-;11235:51;;;;;;;;:::i;:::-;;;;;;:74;-1:-1:-1::0;;;;;11235:74:134::1;;;-1:-1:-1::0;;;;;11235:74:134::1;;;::::0;::::1;11381:4;11319:19;11368:1;11339:19;:26;:30;;;;:::i;:::-;11319:51;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11319:67:134;;::::1;:51;::::0;;::::1;::::0;;;;;:67;11498:8:::1;::::0;11521:13:::1;::::0;::::1;::::0;11551:16:::1;::::0;::::1;::::0;11498:106:::1;::::0;;;;:8;;;::::1;::::0;:22:::1;::::0;:106:::1;::::0;11521:13;11536::::1;::::0;11577:4:::1;::::0;11584:19;;11498:106:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11474:9;:130:::0;11615:36;;::::1;::::0;:14:::1;::::0;:36:::1;::::0;::::1;::::0;::::1;:::i;:::-;;11667:63;11687:9;;11698:13;11713:6;:16;;;11667:63;;;;;;;;:::i;:::-;;;;;;;;9723:2014;;3651:14:48::0;3647:99;;;3697:5;3681:21;;-1:-1:-1;;3681:21:48;;;3721:14;;-1:-1:-1;29627:36:151;;3721:14:48;;29615:2:151;29600:18;3721:14:48;29475:194:151;11743:622:134;11886:14;11902:16;12086:21;12173:20;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;12257:4:134;;12196:67;;;-1:-1:-1;;;;;12257:4:134;;;12196:67;;;;2818:74:151;;;;12196:67:134;;;;;;;;;;2791:18:151;;;;12196:67:134;;;;;;;-1:-1:-1;;;;;12196:67:134;12219:28;12196:67;;;12131:146;;;;:::i;:::-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;12086:201;;12305:53;12316:13;12331:6;12339:7;12348:9;12305:10;:53::i;:::-;12298:60;;;;;11743:622;;;;;;:::o;20302:171::-;20366:18;;-1:-1:-1;;;;;20366:18:134;20352:10;:32;20348:89;;20407:19;;;;;;;;;;;;;;20348:89;20446:20;:18;:20::i;3383:30::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;23807:453::-;2526:21:49;:19;:21::i;:::-;23883:10:134::1;23903:34;23883:10:::0;23903:25:::1;:34::i;:::-;23947:32;23971:7;23947:23;:32::i;:::-;-1:-1:-1::0;;;;;24012:28:134;;::::1;23989:20;24012:28:::0;;;:19:::1;:28;::::0;;;;;;;23989:51;;::::1;::::0;::::1;::::0;;;;;;::::1;::::0;;;;::::1;::::0;;;;::::1;::::0;::::1;::::0;::::1;::::0;;::::1;::::0;::::1;;;::::0;;;;24057:28;;;-1:-1:-1;;;;;;24050:35:134;;::::1;::::0;;;;;;;-1:-1:-1;;24050:35:134;;::::1;::::0;;;24102:18:::1;:27:::0;;;;;23989:51;;24095:34:::1;::::0;24102:27;24095:34:::1;:::i;:::-;24140:11;::::0;24170:19:::1;::::0;::::1;::::0;24140:50:::1;::::0;-1:-1:-1;;;24140:50:134;;-1:-1:-1;;;;;15530:55:151;;;24140:50:134::1;::::0;::::1;15512:74:151::0;15602:18;;;15595:34;;;;24140:11:134;::::1;::::0;:20:::1;::::0;15485:18:151;;24140:50:134::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;24233:19:134::1;::::0;;::::1;::::0;24205:48:::1;::::0;;-1:-1:-1;;;;;15530:55:151;;15512:74;;15602:18;;;15595:34;;;;24205:48:134::1;::::0;15485:18:151;24205:48:134::1;;;;;;;23855:405;;2568:20:49::0;1808:1;3074:7;:22;2894:209;2029:54:134;2063:20;1947:7;2063:2;:20;:::i;:::-;2029:54;:::o;3298:27::-;;;;;;;:::i;5705:147:44:-;4929:7;4955:12;;;:6;:12;;;;;:22;;;2798:16;2809:4;2798:10;:16::i;:::-;5819:26:::1;5831:4;5837:7;5819:11;:26::i;23676:125:134:-:0;-1:-1:-1;;;;;3459:29:44;;23739:4:134;3459:29:44;;;:12;;:29;:12;:29;;;;;23762:32:134;3350:145:44;2335:198:46;1355:13;:11;:13::i;:::-;-1:-1:-1;;;;;2423:22:46;::::1;2415:73;;;::::0;-1:-1:-1;;;2415:73:46;;30219:2:151;2415:73:46::1;::::0;::::1;30201:21:151::0;30258:2;30238:18;;;30231:30;30297:34;30277:18;;;30270:62;30368:8;30348:18;;;30341:36;30394:19;;2415:73:46::1;30017:402:151::0;2415:73:46::1;2498:28;2517:8;2498:18;:28::i;12371:653:134:-:0;12555:14;;1773:42;-1:-1:-1;;;;;12635:20:134;;;12631:65;;-1:-1:-1;12679:6:134;12631:65;12716:9;12705:20;;12736:31;12770:14;12736:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;12736:48:134;;;;;;;;;;;;;;;;-1:-1:-1;;12804:4:134;;12851:9;;12872:19;;12736:48;;-1:-1:-1;;;;;;12804:4:134;;;;:33;;-1:-1:-1;12851:9:134;;-1:-1:-1;12862:8:134;;-1:-1:-1;12872:19:134;;12883:7;;12872:19;;;:::i;:::-;;;;;;;;;;;;;12893:5;12900:1;12903:9;12914:14;12804:134;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12795:143;;12954:63;12966:6;12974:8;12992:4;12999:6;13007:9;12954:63;;;;;;;;;;:::i;:::-;;;;;;;;12589:435;;12371:653;;;;;;;:::o;6104:148::-;6183:10;3436:4:44;3459:29;;;:12;;:29;:12;:29;;;;;6154:92:134;;6217:18;;;;;;;;;;;;;;6407:156;-1:-1:-1;;;;;20587:28:134;;;20535:14;20587:28;;;:19;:28;;;;;;;;;20561:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6482:75;;6527:19;;-1:-1:-1;;;6527:19:134;;;;;;;;;;;6569:162;-1:-1:-1;;;;;6645:28:134;;;;;;:17;:28;;;;;;;;6640:85;;6696:18;;;;;;;;;;;;;;19179:133;-1:-1:-1;;;;;19253:22:134;;19249:56;;19284:21;;;;;;;;;;;;;;19553:186;19616:29;19635:9;19616:18;:29::i;:::-;-1:-1:-1;;;;;19655:28:134;;19686:5;19655:28;;;:17;:28;;;;;;;;;:36;;-1:-1:-1;;19655:36:134;;;19706:26;;2818:74:151;;;19706:26:134;;2791:18:151;19706:26:134;2672:226:151;18929:244:134;-1:-1:-1;;;;;18996:31:134;;;;;;:17;:31;;;;;;;;18992:85;;;19050:16;;;;;;;;;;;;;;18992:85;-1:-1:-1;;;;;19086:31:134;;;;;;:17;:31;;;;;;;;;:38;;-1:-1:-1;;19086:38:134;19120:4;19086:38;;;19139:27;;2818:74:151;;;19139:27:134;;2791:18:151;19139:27:134;2672:226:151;6737:171:134;6840:9;-1:-1:-1;;;;;6829:20:134;:7;-1:-1:-1;;;;;6829:20:134;;6825:77;;6872:19;;;;;;;;;;;;;;14912:425;-1:-1:-1;;;;;15038:27:134;;15001:34;15038:27;;;:18;:27;;;;;;15075:256;15099:23;;15095:27;;15075:256;;;15170:9;-1:-1:-1;;;;;15147:32:134;:16;15164:1;15147:19;;;;;;;;:::i;:::-;;;;;;;;;;;-1:-1:-1;;;;;15147:19:134;:32;15143:178;;15238:23;;15221:16;;15238:27;;15264:1;;15238:27;:::i;:::-;15221:45;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;15221:45:134;15199:16;15216:1;15199:19;;;;;;;;:::i;:::-;;;;;;;;;:67;;;;;-1:-1:-1;;;;;15199:67:134;;;;;-1:-1:-1;;;;;15199:67:134;;;;;;15284:16;:22;;;;;;;:::i;:::-;;;;;;;;;;-1:-1:-1;;15284:22:134;;;;;-1:-1:-1;;;;;;15284:22:134;;;;;;15143:178;15124:3;;;;:::i;:::-;;;;15075:256;;;;14991:346;14912:425;;:::o;3789:103:44:-;3855:30;3866:4;965:10:52;3855::44;:30::i;7938:233::-;3436:4;3459:12;;;:6;:12;;;;;;;;-1:-1:-1;;;;;3459:29:44;;;;;;;;;;;;8016:149;;8059:12;;;;:6;:12;;;;;;;;-1:-1:-1;;;;;8059:29:44;;;;;;;;;:36;;-1:-1:-1;;8059:36:44;8091:4;8059:36;;;8141:12;965:10:52;;886:96;8141:12:44;-1:-1:-1;;;;;8114:40:44;8132:7;-1:-1:-1;;;;;8114:40:44;8126:4;8114:40;;;;;;;;;;7938:233;;:::o;2601:287:49:-;1851:1;2733:7;;:19;2725:63;;;;-1:-1:-1;;;2725:63:49;;33650:2:151;2725:63:49;;;33632:21:151;33689:2;33669:18;;;33662:30;33728:33;33708:18;;;33701:61;33779:18;;2725:63:49;33448:355:151;2725:63:49;1851:1;2863:7;:18;2601:287::o;6994:145:35:-;7061:71;7124:2;7128;7077:54;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;7077:54:35;;;;;;;;;;;;;;-1:-1:-1;;;;;7077:54:35;;;;;7061:15;:71::i;1355:203:77:-;1482:68;;-1:-1:-1;;;;;16412:15:151;;;1482:68:77;;;16394:34:151;16464:15;;16444:18;;;16437:43;16496:18;;;16489:34;;;1455:96:77;;1475:5;;1505:27;;16306:18:151;;1482:68:77;;;;-1:-1:-1;;1482:68:77;;;;;;;;;;;;;;-1:-1:-1;;;;;1482:68:77;-1:-1:-1;;;;;;1482:68:77;;;;;;;;;;1455:19;:96::i;6548:139:35:-;6612:68;6672:2;6676;6628:51;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;6628:51:35;;;;;;;;;;;;;;-1:-1:-1;;;;;6628:51:35;;;;;6612:15;:68::i;941:175:77:-;1050:58;;-1:-1:-1;;;;;15530:55:151;;1050:58:77;;;15512:74:151;15602:18;;;15595:34;;;1023:86:77;;1043:5;;-1:-1:-1;;;1073:23:77;15485:18:151;;1050:58:77;15330:305:151;2894:209:49;1808:1;3074:7;:22;2894:209::o;8342:234:44:-;3436:4;3459:12;;;:6;:12;;;;;;;;-1:-1:-1;;;;;3459:29:44;;;;;;;;;;;;8421:149;;;8495:5;8463:12;;;:6;:12;;;;;;;;-1:-1:-1;;;;;8463:29:44;;;;;;;;;;:37;;-1:-1:-1;;8463:37:44;;;8519:40;965:10:52;;8463:12:44;;8519:40;;8495:5;8519:40;8342:234;;:::o;25315:66:134:-;1355:13:46;:11;:13::i;2494:922:64:-;689:66;2910:48;;;2906:504;;;2974:37;2993:17;2974:18;:37::i;2906:504::-;3064:17;-1:-1:-1;;;;;3046:50:64;;:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3046:52:64;;;;;;;;-1:-1:-1;;3046:52:64;;;;;;;;;;;;:::i;:::-;;;3042:291;;3262:56;;-1:-1:-1;;;3262:56:64;;34651:2:151;3262:56:64;;;34633:21:151;34690:2;34670:18;;;34663:30;34729:34;34709:18;;;34702:62;34800:16;34780:18;;;34773:44;34834:19;;3262:56:64;34449:410:151;3042:291:64;1030:66;3148:28;;3140:82;;;;-1:-1:-1;;;3140:82:64;;35066:2:151;3140:82:64;;;35048:21:151;35105:2;35085:18;;;35078:30;35144:34;35124:18;;;35117:62;35215:11;35195:18;;;35188:39;35244:19;;3140:82:64;34864:405:151;3140:82:64;3099:138;3346:53;3364:17;3383:4;3389:9;3346:17;:53::i;6258:143:134:-;6331:10;20535:14;20587:28;;;:19;:28;;;;;;;;;20561:54;;;;;;;;;-1:-1:-1;;;;;20561:54:134;;;;;;;;;;;;;;;;;;;;;;;;;;6317:78;;6365:19;;-1:-1:-1;;;6365:19:134;;;;;;;;;;;1349:282:85;1436:4;1543:23;1558:7;1543:14;:23::i;:::-;:81;;;;;1570:54;1603:7;1612:11;1570:32;:54::i;:::-;1536:88;1349:282;-1:-1:-1;;;1349:282:85:o;24266:466:134:-;-1:-1:-1;;;;;24371:27:134;;24335:33;24371:27;;;:18;:27;;;;;;;;24335:63;;;;;;;;;;;;;;;;;;;24371:27;;24335:63;;;24371:27;24335:63;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;24335:63:134;;;;;;;;;;;;;;;;;;;;;;;24479:9;24474:252;24498:16;:23;24494:1;:27;24474:252;;;24669:16;24686:1;24669:19;;;;;;;;:::i;:::-;;;;;;;;;;;24654:61;;;;;-1:-1:-1;;;;;2836:55:151;;;24654:61:134;;;2818:74:151;24654:52:134;;;;;;2791:18:151;;24654:61:134;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;24523:3;;;;;:::i;:::-;;;;24474:252;;1620:130:46;1534:6;;-1:-1:-1;;;;;1534:6:46;965:10:52;1683:23:46;1675:68;;;;-1:-1:-1;;;1675:68:46;;35476:2:151;1675:68:46;;;35458:21:151;;;35495:18;;;35488:30;35554:34;35534:18;;;35527:62;35606:18;;1675:68:46;35274:356:151;2687:187:46;2779:6;;;-1:-1:-1;;;;;2795:17:46;;;-1:-1:-1;;;;;;2795:17:46;;;;;;;2827:40;;2779:6;;;2795:17;2779:6;;2827:40;;2760:16;;2827:40;2750:124;2687:187;:::o;1024:95::-;5374:13:48;;;;;;;5366:69;;;;-1:-1:-1;;;5366:69:48;;35837:2:151;5366:69:48;;;35819:21:151;35876:2;35856:18;;;35849:30;35915:34;35895:18;;;35888:62;-1:-1:-1;;;35966:18:151;;;35959:41;36017:19;;5366:69:48;35635:407:151;5366:69:48;1086:26:46::1;:24;:26::i;1889:111:49:-:0;5374:13:48;;;;;;;5366:69;;;;-1:-1:-1;;;5366:69:48;;35837:2:151;5366:69:48;;;35819:21:151;35876:2;35856:18;;;35849:30;35915:34;35895:18;;;35888:62;-1:-1:-1;;;35966:18:151;;;35959:41;36017:19;;5366:69:48;35635:407:151;5366:69:48;1959:34:49::1;:32;:34::i;2838:65:44:-:0;5374:13:48;;;;;;;5366:69;;;;-1:-1:-1;;;5366:69:48;;35837:2:151;5366:69:48;;;35819:21:151;35876:2;35856:18;;;35849:30;35915:34;35895:18;;;35888:62;-1:-1:-1;;;35966:18:151;;;35959:41;36017:19;;5366:69:48;35635:407:151;7523:247:44;7606:25;4955:12;;;:6;:12;;;;;;:22;;;;7662:34;;;;7711:52;;4955:22;;7662:34;;4955:22;;:12;;7711:52;;7606:25;7711:52;7596:174;7523:247;;:::o;20117:179:134:-;20186:18;;;20166:11;:39;;-1:-1:-1;;;;;20186:18:134;;-1:-1:-1;;;;;;20166:39:134;;;;;;;20215:25;;;20255:34;;-1:-1:-1;2818:74:151;;20255:34:134;;2806:2:151;2791:18;20255:34:134;;;;;;;20117:179::o;4173:501:44:-;3436:4;3459:12;;;:6;:12;;;;;;;;-1:-1:-1;;;;;3459:29:44;;;;;;;;;;;;4256:412;;4444:39;4475:7;4444:30;:39::i;:::-;4554:49;4593:4;4600:2;4554:30;:49::i;:::-;4351:274;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;4351:274:44;;;;;;;;;;-1:-1:-1;;;4299:358:44;;;;;;;:::i;181:376:35:-;275:14;;131:42;448:2;435:16;;251:21;;275:14;435:16;131:42;484:5;473:68;464:77;;401:150;;181:376;:::o;5173:642:77:-;5592:23;5618:69;5646:4;5618:69;;;;;;;;;;;;;;;;;5626:5;-1:-1:-1;;;;;5618:27:77;;;:69;;;;;:::i;:::-;5592:95;;5705:10;:17;5726:1;5705:22;:56;;;;5742:10;5731:30;;;;;;;;;;;;:::i;:::-;5697:111;;;;-1:-1:-1;;;5697:111:77;;37305:2:151;5697:111:77;;;37287:21:151;37344:2;37324:18;;;37317:30;37383:34;37363:18;;;37356:62;37454:12;37434:18;;;37427:40;37484:19;;5697:111:77;37103:406:151;1406:259:64;-1:-1:-1;;;;;1713:19:51;;;1479:95:64;;;;-1:-1:-1;;;1479:95:64;;37716:2:151;1479:95:64;;;37698:21:151;37755:2;37735:18;;;37728:30;37794:34;37774:18;;;37767:62;37865:15;37845:18;;;37838:43;37898:19;;1479:95:64;37514:409:151;1479:95:64;1030:66;1584:74;;-1:-1:-1;;;;;;1584:74:64;-1:-1:-1;;;;;1584:74:64;;;;;;;;;;1406:259::o;2057:265::-;2165:29;2176:17;2165:10;:29::i;:::-;2222:1;2208:4;:11;:15;:28;;;;2227:9;2208:28;2204:112;;;2252:53;2281:17;2300:4;2252:28;:53::i;704:427:85:-;768:4;975:68;1008:7;-1:-1:-1;;;975:32:85;:68::i;:::-;:149;;;;-1:-1:-1;1060:64:85;1093:7;-1:-1:-1;;;;;;1060:32:85;:64::i;:::-;1059:65;956:168;704:427;-1:-1:-1;;704:427:85:o;4421:647::-;4592:71;;;-1:-1:-1;;;;;;38090:79:151;;4592:71:85;;;;38072:98:151;;;;4592:71:85;;;;;;;;;;38045:18:151;;;;4592:71:85;;;;;;;;;-1:-1:-1;;;;;4592:71:85;-1:-1:-1;;;4592:71:85;;;4871:20;;4523:4;;4592:71;4523:4;;;;;;4592:71;4523:4;;4871:20;4836:7;4829:5;4818:86;4807:97;;4931:16;4917:30;;4981:4;4975:11;4960:26;;5013:7;:29;;;;;5038:4;5024:10;:18;;5013:29;:48;;;;;5060:1;5046:11;:15;5013:48;5006:55;4421:647;-1:-1:-1;;;;;;;4421:647:85:o;1125:111:46:-;5374:13:48;;;;;;;5366:69;;;;-1:-1:-1;;;5366:69:48;;35837:2:151;5366:69:48;;;35819:21:151;35876:2;35856:18;;;35849:30;35915:34;35895:18;;;35888:62;-1:-1:-1;;;35966:18:151;;;35959:41;36017:19;;5366:69:48;35635:407:151;5366:69:48;1197:32:46::1;965:10:52::0;1197:18:46::1;:32::i;2006:109:49:-:0;5374:13:48;;;;;;;5366:69;;;;-1:-1:-1;;;5366:69:48;;35837:2:151;5366:69:48;;;35819:21:151;35876:2;35856:18;;;35849:30;35915:34;35895:18;;;35888:62;-1:-1:-1;;;35966:18:151;;;35959:41;36017:19;;5366:69:48;35635:407:151;2473:149:53;2531:13;2563:52;-1:-1:-1;;;;;2575:22:53;;376:2;1884:437;1959:13;1984:19;2016:10;2020:6;2016:1;:10;:::i;:::-;:14;;2029:1;2016:14;:::i;:::-;2006:25;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2006:25:53;;1984:47;;2041:15;:6;2048:1;2041:9;;;;;;;;:::i;:::-;;;;:15;-1:-1:-1;;;;;2041:15:53;;;;;;;;;2066;:6;2073:1;2066:9;;;;;;;;:::i;:::-;;;;:15;-1:-1:-1;;;;;2066:15:53;;;;;;;;-1:-1:-1;2096:9:53;2108:10;2112:6;2108:1;:10;:::i;:::-;:14;;2121:1;2108:14;:::i;:::-;2096:26;;2091:128;2128:1;2124;:5;2091:128;;;2162:8;2171:5;2179:3;2171:11;2162:21;;;;;;;:::i;:::-;;;;2150:6;2157:1;2150:9;;;;;;;;:::i;:::-;;;;:33;-1:-1:-1;;;;;2150:33:53;;;;;;;;-1:-1:-1;2207:1:53;2197:11;;;;;2131:3;;;:::i;:::-;;;2091:128;;;-1:-1:-1;2236:10:53;;2228:55;;;;-1:-1:-1;;;2228:55:53;;38524:2:151;2228:55:53;;;38506:21:151;;;38543:18;;;38536:30;38602:34;38582:18;;;38575:62;38654:18;;2228:55:53;38322:356:151;4108:223:80;4241:12;4272:52;4294:6;4302:4;4308:1;4311:12;4272:21;:52::i;:::-;4265:59;4108:223;-1:-1:-1;;;;4108:223:80:o;1771:152:64:-;1837:37;1856:17;1837:18;:37::i;:::-;1889:27;;-1:-1:-1;;;;;1889:27:64;;;;;;;;1771:152;:::o;6674:198:80:-;6757:12;6788:77;6809:6;6817:4;6788:77;;;;;;;;;;;;;;;;;:20;:77::i;5165:446::-;5330:12;5387:5;5362:21;:30;;5354:81;;;;-1:-1:-1;;;5354:81:80;;38885:2:151;5354:81:80;;;38867:21:151;38924:2;38904:18;;;38897:30;38963:34;38943:18;;;38936:62;39034:8;39014:18;;;39007:36;39060:19;;5354:81:80;38683:402:151;5354:81:80;5446:12;5460:23;5487:6;-1:-1:-1;;;;;5487:11:80;5506:5;5513:4;5487:31;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5445:73;;;;5535:69;5562:6;5570:7;5579:10;5591:12;5535:26;:69::i;7058:325::-;7199:12;7224;7238:23;7265:6;-1:-1:-1;;;;;7265:19:80;7285:4;7265:25;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7223:67;;;;7307:69;7334:6;7342:7;7351:10;7363:12;7307:26;:69::i;:::-;7300:76;7058:325;-1:-1:-1;;;;;;7058:325:80:o;7671:628::-;7851:12;7879:7;7875:418;;;7906:10;:17;7927:1;7906:22;7902:286;;-1:-1:-1;;;;;1713:19:51;;;8113:60:80;;;;-1:-1:-1;;;8113:60:80;;39584:2:151;8113:60:80;;;39566:21:151;39623:2;39603:18;;;39596:30;39662:31;39642:18;;;39635:59;39711:18;;8113:60:80;39382:353:151;8113:60:80;-1:-1:-1;8208:10:80;8201:17;;7875:418;8249:33;8257:10;8269:12;8980:17;;:21;8976:379;;9208:10;9202:17;9264:15;9251:10;9247:2;9243:19;9236:44;8976:379;9331:12;9324:20;;-1:-1:-1;;;9324:20:80;;;;;;;;:::i;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;:::o;:::-;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14:332:151;72:6;125:2;113:9;104:7;100:23;96:32;93:52;;;141:1;138;131:12;93:52;180:9;167:23;-1:-1:-1;;;;;;223:5:151;219:78;212:5;209:89;199:117;;312:1;309;302:12;907:180;966:6;1019:2;1007:9;998:7;994:23;990:32;987:52;;;1035:1;1032;1025:12;987:52;-1:-1:-1;1058:23:151;;907:180;-1:-1:-1;907:180:151:o;1092:154::-;-1:-1:-1;;;;;1171:5:151;1167:54;1160:5;1157:65;1147:93;;1236:1;1233;1226:12;1251:134;1319:20;;1348:31;1319:20;1348:31;:::i;:::-;1251:134;;;:::o;1390:388::-;1458:6;1466;1519:2;1507:9;1498:7;1494:23;1490:32;1487:52;;;1535:1;1532;1525:12;1487:52;1574:9;1561:23;1593:31;1618:5;1593:31;:::i;:::-;1643:5;-1:-1:-1;1700:2:151;1685:18;;1672:32;1713:33;1672:32;1713:33;:::i;:::-;1765:7;1755:17;;;1390:388;;;;;:::o;1783:247::-;1842:6;1895:2;1883:9;1874:7;1870:23;1866:32;1863:52;;;1911:1;1908;1901:12;1863:52;1950:9;1937:23;1969:31;1994:5;1969:31;:::i;2220:315::-;2288:6;2296;2349:2;2337:9;2328:7;2324:23;2320:32;2317:52;;;2365:1;2362;2355:12;2317:52;2404:9;2391:23;2423:31;2448:5;2423:31;:::i;:::-;2473:5;2525:2;2510:18;;;;2497:32;;-1:-1:-1;;;2220:315:151:o;2903:::-;2971:6;2979;3032:2;3020:9;3011:7;3007:23;3003:32;3000:52;;;3048:1;3045;3038:12;3000:52;3084:9;3071:23;3061:33;;3144:2;3133:9;3129:18;3116:32;3157:31;3182:5;3157:31;:::i;3483:184::-;-1:-1:-1;;;3532:1:151;3525:88;3632:4;3629:1;3622:15;3656:4;3653:1;3646:15;3672:257;3744:4;3738:11;;;3776:17;;3823:18;3808:34;;3844:22;;;3805:62;3802:88;;;3870:18;;:::i;:::-;3906:4;3899:24;3672:257;:::o;3934:255::-;4006:2;4000:9;4048:6;4036:19;;4085:18;4070:34;;4106:22;;;4067:62;4064:88;;;4132:18;;:::i;4194:255::-;4266:2;4260:9;4308:6;4296:19;;4345:18;4330:34;;4366:22;;;4327:62;4324:88;;;4392:18;;:::i;4454:253::-;4526:2;4520:9;4568:4;4556:17;;4603:18;4588:34;;4624:22;;;4585:62;4582:88;;;4650:18;;:::i;4712:275::-;4783:2;4777:9;4848:2;4829:13;;-1:-1:-1;;4825:27:151;4813:40;;4883:18;4868:34;;4904:22;;;4865:62;4862:88;;;4930:18;;:::i;:::-;4966:2;4959:22;4712:275;;-1:-1:-1;4712:275:151:o;4992:186::-;5040:4;5073:18;5065:6;5062:30;5059:56;;;5095:18;;:::i;:::-;-1:-1:-1;5161:2:151;5140:15;-1:-1:-1;;5136:29:151;5167:4;5132:40;;4992:186::o;5183:336::-;5247:5;5276:52;5292:35;5320:6;5292:35;:::i;:::-;5276:52;:::i;:::-;5267:61;;5351:6;5344:5;5337:21;5391:3;5382:6;5377:3;5373:16;5370:25;5367:45;;;5408:1;5405;5398:12;5367:45;5457:6;5452:3;5445:4;5438:5;5434:16;5421:43;5511:1;5504:4;5495:6;5488:5;5484:18;5480:29;5473:40;5183:336;;;;;:::o;5524:584::-;5601:6;5609;5662:2;5650:9;5641:7;5637:23;5633:32;5630:52;;;5678:1;5675;5668:12;5630:52;5717:9;5704:23;5736:31;5761:5;5736:31;:::i;:::-;5786:5;-1:-1:-1;5842:2:151;5827:18;;5814:32;5869:18;5858:30;;5855:50;;;5901:1;5898;5891:12;5855:50;5924:22;;5977:4;5969:13;;5965:27;-1:-1:-1;5955:55:151;;6006:1;6003;5996:12;5955:55;6029:73;6094:7;6089:2;6076:16;6071:2;6067;6063:11;6029:73;:::i;:::-;6019:83;;;5524:584;;;;;:::o;7238:221::-;7281:5;7334:3;7327:4;7319:6;7315:17;7311:27;7301:55;;7352:1;7349;7342:12;7301:55;7374:79;7449:3;7440:6;7427:20;7420:4;7412:6;7408:17;7374:79;:::i;7464:411::-;7519:5;7567:4;7555:9;7550:3;7546:19;7542:30;7539:50;;;7585:1;7582;7575:12;7539:50;7607:22;;:::i;:::-;7598:31;;7665:9;7652:23;7645:5;7638:38;7727:2;7716:9;7712:18;7699:32;7754:18;7746:6;7743:30;7740:50;;;7786:1;7783;7776:12;7740:50;7822:46;7864:3;7855:6;7844:9;7840:22;7822:46;:::i;:::-;7817:2;7810:5;7806:14;7799:70;;7464:411;;;;:::o;7880:118::-;7966:5;7959:13;7952:21;7945:5;7942:32;7932:60;;7988:1;7985;7978:12;8003:128;8068:20;;8097:28;8068:20;8097:28;:::i;8136:1713::-;8230:6;8283:2;8271:9;8262:7;8258:23;8254:32;8251:52;;;8299:1;8296;8289:12;8251:52;8339:9;8326:23;8368:18;8409:2;8401:6;8398:14;8395:34;;;8425:1;8422;8415:12;8395:34;8448:22;;;;8504:6;8486:16;;;8482:29;8479:49;;;8524:1;8521;8514:12;8479:49;8550:22;;:::i;:::-;8595;8614:2;8595:22;:::i;:::-;8588:5;8581:37;8650:31;8677:2;8673;8669:11;8650:31;:::i;:::-;8645:2;8638:5;8634:14;8627:55;8735:2;8731;8727:11;8714:25;8709:2;8702:5;8698:14;8691:49;8793:2;8789;8785:11;8772:25;8767:2;8760:5;8756:14;8749:49;8852:3;8848:2;8844:12;8831:26;8825:3;8818:5;8814:15;8807:51;8891:32;8918:3;8914:2;8910:12;8891:32;:::i;:::-;8885:3;8878:5;8874:15;8867:57;8957:32;8984:3;8980:2;8976:12;8957:32;:::i;:::-;8951:3;8944:5;8940:15;8933:57;9036:3;9032:2;9028:12;9015:26;9066:2;9056:8;9053:16;9050:36;;;9082:1;9079;9072:12;9050:36;9119:54;9165:7;9154:8;9150:2;9146:17;9119:54;:::i;:::-;9113:3;9106:5;9102:15;9095:79;;9193:3;9228:31;9255:2;9251;9247:11;9228:31;:::i;:::-;9212:14;;;9205:55;9279:3;9320:11;;;9307:25;9344:16;;;9341:36;;;9373:1;9370;9363:12;9341:36;9409:45;9446:7;9435:8;9431:2;9427:17;9409:45;:::i;:::-;9404:2;9397:5;9393:14;9386:69;;;9474:3;9509:28;9533:2;9529;9525:11;9509:28;:::i;:::-;9493:14;;;9486:52;9557:3;9598:11;;;9585:25;9622:16;;;9619:36;;;9651:1;9648;9641:12;9619:36;9687:45;9724:7;9713:8;9709:2;9705:17;9687:45;:::i;:::-;9682:2;9675:5;9671:14;9664:69;;;9752:3;9742:13;;9787:31;9814:2;9810;9806:11;9787:31;:::i;:::-;9771:14;;;9764:55;;;;9775:5;8136:1713;-1:-1:-1;;;;8136:1713:151:o;9854:153::-;9932:20;;9981:1;9971:12;;9961:40;;9997:1;9994;9987:12;10012:110;10096:1;10089:5;10086:12;10076:40;;10112:1;10109;10102:12;10127:152;10204:20;;10233:40;10204:20;10233:40;:::i;10284:416::-;10348:5;10396:4;10384:9;10379:3;10375:19;10371:30;10368:50;;;10414:1;10411;10404:12;10368:50;10447:2;10441:9;10489:4;10481:6;10477:17;10560:6;10548:10;10545:22;10524:18;10512:10;10509:34;10506:62;10503:88;;;10571:18;;:::i;:::-;10607:2;10600:22;10670:23;;10655:39;;-1:-1:-1;10640:6:151;10284:416;-1:-1:-1;10284:416:151:o;10705:849::-;10768:5;10816:6;10804:9;10799:3;10795:19;10791:32;10788:52;;;10836:1;10833;10826:12;10788:52;10858:22;;:::i;:::-;10849:31;;10903:29;10922:9;10903:29;:::i;:::-;10896:5;10889:44;10993:2;10982:9;10978:18;10965:32;10960:2;10953:5;10949:14;10942:56;11058:2;11047:9;11043:18;11030:32;11025:2;11018:5;11014:14;11007:56;11123:2;11112:9;11108:18;11095:32;11090:2;11083:5;11079:14;11072:56;11189:3;11178:9;11174:19;11161:33;11155:3;11148:5;11144:15;11137:58;11228:49;11272:3;11261:9;11257:19;11228:49;:::i;:::-;11222:3;11215:5;11211:15;11204:74;11311:48;11354:3;11343:9;11339:19;11311:48;:::i;:::-;11305:3;11298:5;11294:15;11287:73;11393:61;11450:3;11444;11433:9;11429:19;11393:61;:::i;:::-;11387:3;11380:5;11376:15;11369:86;11474:3;11509:38;11543:2;11532:9;11528:18;11509:38;:::i;:::-;11493:14;;;11486:62;11497:5;10705:849;-1:-1:-1;;10705:849:151:o;11559:618::-;11697:6;11705;11713;11766:3;11754:9;11745:7;11741:23;11737:33;11734:53;;;11783:1;11780;11773:12;11734:53;11822:9;11809:23;11841:31;11866:5;11841:31;:::i;:::-;11891:5;-1:-1:-1;11915:63:151;11970:7;11965:2;11950:18;;11915:63;:::i;:::-;11905:73;;12029:3;12018:9;12014:19;12001:33;12057:18;12049:6;12046:30;12043:50;;;12089:1;12086;12079:12;12043:50;12112:59;12163:7;12154:6;12143:9;12139:22;12112:59;:::i;:::-;12102:69;;;11559:618;;;;;:::o;12484:250::-;12569:1;12579:113;12593:6;12590:1;12587:13;12579:113;;;12669:11;;;12663:18;12650:11;;;12643:39;12615:2;12608:10;12579:113;;;-1:-1:-1;;12726:1:151;12708:16;;12701:27;12484:250::o;12739:271::-;12781:3;12819:5;12813:12;12846:6;12841:3;12834:19;12862:76;12931:6;12924:4;12919:3;12915:14;12908:4;12901:5;12897:16;12862:76;:::i;:::-;12992:2;12971:15;-1:-1:-1;;12967:29:151;12958:39;;;;12999:4;12954:50;;12739:271;-1:-1:-1;;12739:271:151:o;13015:220::-;13164:2;13153:9;13146:21;13127:4;13184:45;13225:2;13214:9;13210:18;13202:6;13184:45;:::i;13733:759::-;13880:6;13888;13896;13904;13957:3;13945:9;13936:7;13932:23;13928:33;13925:53;;;13974:1;13971;13964:12;13925:53;14013:9;14000:23;14032:31;14057:5;14032:31;:::i;:::-;14082:5;-1:-1:-1;14139:2:151;14124:18;;14111:32;14152:33;14111:32;14152:33;:::i;:::-;14204:7;-1:-1:-1;14230:63:151;14285:7;14280:2;14265:18;;14230:63;:::i;:::-;14220:73;;14344:3;14333:9;14329:19;14316:33;14372:18;14364:6;14361:30;14358:50;;;14404:1;14401;14394:12;14358:50;14427:59;14478:7;14469:6;14458:9;14454:22;14427:59;:::i;:::-;14417:69;;;13733:759;;;;;;;:::o;14497:184::-;-1:-1:-1;;;14546:1:151;14539:88;14646:4;14643:1;14636:15;14670:4;14667:1;14660:15;14686:168;14759:9;;;14790;;14807:15;;;14801:22;;14787:37;14777:71;;14828:18;;:::i;14859:184::-;-1:-1:-1;;;14908:1:151;14901:88;15008:4;15005:1;14998:15;15032:4;15029:1;15022:15;15048:277;15135:6;15188:2;15176:9;15167:7;15163:23;15159:32;15156:52;;;15204:1;15201;15194:12;15156:52;15236:9;15230:16;15255:40;15289:5;15255:40;:::i;15640:184::-;15710:6;15763:2;15751:9;15742:7;15738:23;15734:32;15731:52;;;15779:1;15776;15769:12;15731:52;-1:-1:-1;15802:16:151;;15640:184;-1:-1:-1;15640:184:151:o;16866:274::-;16906:1;16932;16922:189;;-1:-1:-1;;;16964:1:151;16957:88;17068:4;17065:1;17058:15;17096:4;17093:1;17086:15;16922:189;-1:-1:-1;17125:9:151;;16866:274::o;17145:125::-;17210:9;;;17231:10;;;17228:36;;;17244:18;;:::i;17275:251::-;17345:6;17398:2;17386:9;17377:7;17373:23;17369:32;17366:52;;;17414:1;17411;17404:12;17366:52;17446:9;17440:16;17465:31;17490:5;17465:31;:::i;19538:184::-;-1:-1:-1;;;19587:1:151;19580:88;19687:4;19684:1;19677:15;19711:4;19708:1;19701:15;19727:135;19766:3;19787:17;;;19784:43;;19807:18;;:::i;:::-;-1:-1:-1;19854:1:151;19843:13;;19727:135::o;19867:128::-;19934:9;;;19955:11;;;19952:37;;;19969:18;;:::i;20253:184::-;-1:-1:-1;;;20302:1:151;20295:88;20402:4;20399:1;20392:15;20426:4;20423:1;20416:15;20442:245;20509:6;20562:2;20550:9;20541:7;20537:23;20533:32;20530:52;;;20578:1;20575;20568:12;20530:52;20610:9;20604:16;20629:28;20651:5;20629:28;:::i;20692:1652::-;20784:6;20815:2;20858;20846:9;20837:7;20833:23;20829:32;20826:52;;;20874:1;20871;20864:12;20826:52;20907:9;20901:16;20936:18;20977:2;20969:6;20966:14;20963:34;;;20993:1;20990;20983:12;20963:34;21016:22;;;;21072:4;21054:16;;;21050:27;21047:47;;;21090:1;21087;21080:12;21047:47;21116:22;;:::i;:::-;21167:2;21161:9;21154:5;21147:24;21209:2;21205;21201:11;21195:18;21222:33;21247:7;21222:33;:::i;:::-;21271:14;;;21264:31;21333:2;21325:11;;21319:18;21346:33;21319:18;21346:33;:::i;:::-;21406:2;21395:14;;21388:31;21458:2;21450:11;;21444:18;21474:16;;;21471:36;;;21503:1;21500;21493:12;21471:36;21526:17;;21577:2;21559:16;;;21555:25;21552:45;;;21593:1;21590;21583:12;21552:45;21621:22;;:::i;:::-;21674:2;21668:9;21659:7;21652:26;21717:2;21713;21709:11;21703:18;21746:2;21736:8;21733:16;21730:36;;;21762:1;21759;21752:12;21730:36;21785:17;;;-1:-1:-1;21833:4:151;21825:13;;21821:27;-1:-1:-1;21811:55:151;;21862:1;21859;21852:12;21811:55;21891:2;21885:9;21875:19;;21916:48;21932:31;21960:2;21932:31;:::i;21916:48::-;21987:2;21980:5;21973:17;22027:7;22022:2;22017;22013;22009:11;22005:20;22002:33;21999:53;;;22048:1;22045;22038:12;21999:53;22061:67;22125:2;22120;22113:5;22109:14;22104:2;22100;22096:11;22061:67;:::i;:::-;22144:16;;;22137:31;;;;-1:-1:-1;22195:2:151;22184:14;;22177:31;;;;-1:-1:-1;22255:3:151;22247:12;;;22241:19;22224:15;;;22217:44;22308:3;22300:12;;;22294:19;22277:15;;;22270:44;22188:5;20692:1652;-1:-1:-1;;;20692:1652:151:o;22764:437::-;22843:1;22839:12;;;;22886;;;22907:61;;22961:4;22953:6;22949:17;22939:27;;22907:61;23014:2;23006:6;23003:14;22983:18;22980:38;22977:218;;-1:-1:-1;;;23048:1:151;23041:88;23152:4;23149:1;23142:15;23180:4;23177:1;23170:15;22977:218;;22764:437;;;:::o;23332:545::-;23434:2;23429:3;23426:11;23423:448;;;23470:1;23495:5;23491:2;23484:17;23540:4;23536:2;23526:19;23610:2;23598:10;23594:19;23591:1;23587:27;23581:4;23577:38;23646:4;23634:10;23631:20;23628:47;;;-1:-1:-1;23669:4:151;23628:47;23724:2;23719:3;23715:12;23712:1;23708:20;23702:4;23698:31;23688:41;;23779:82;23797:2;23790:5;23787:13;23779:82;;;23842:17;;;23823:1;23812:13;23779:82;;;23783:3;;;23332:545;;;:::o;24053:1352::-;24179:3;24173:10;24206:18;24198:6;24195:30;24192:56;;;24228:18;;:::i;:::-;24257:97;24347:6;24307:38;24339:4;24333:11;24307:38;:::i;:::-;24301:4;24257:97;:::i;:::-;24409:4;;24473:2;24462:14;;24490:1;24485:663;;;;25192:1;25209:6;25206:89;;;-1:-1:-1;25261:19:151;;;25255:26;25206:89;-1:-1:-1;;24010:1:151;24006:11;;;24002:24;23998:29;23988:40;24034:1;24030:11;;;23985:57;25308:81;;24455:944;;24485:663;23279:1;23272:14;;;23316:4;23303:18;;-1:-1:-1;;24521:20:151;;;24639:236;24653:7;24650:1;24647:14;24639:236;;;24742:19;;;24736:26;24721:42;;24834:27;;;;24802:1;24790:14;;;;24669:19;;24639:236;;;24643:3;24903:6;24894:7;24891:19;24888:201;;;24964:19;;;24958:26;-1:-1:-1;;25047:1:151;25043:14;;;25059:3;25039:24;25035:37;25031:42;25016:58;25001:74;;24888:201;-1:-1:-1;;;;;25135:1:151;25119:14;;;25115:22;25102:36;;-1:-1:-1;24053:1352:151:o;25410:1011::-;25505:6;25536:2;25579;25567:9;25558:7;25554:23;25550:32;25547:52;;;25595:1;25592;25585:12;25547:52;25628:9;25622:16;25657:18;25698:2;25690:6;25687:14;25684:34;;;25714:1;25711;25704:12;25684:34;25752:6;25741:9;25737:22;25727:32;;25797:7;25790:4;25786:2;25782:13;25778:27;25768:55;;25819:1;25816;25809:12;25768:55;25848:2;25842:9;25870:2;25866;25863:10;25860:36;;;25876:18;;:::i;:::-;25922:2;25919:1;25915:10;25905:20;;25945:28;25969:2;25965;25961:11;25945:28;:::i;:::-;26007:15;;;26077:11;;;26073:20;;;26038:12;;;;26105:19;;;26102:39;;;26137:1;26134;26127:12;26102:39;26161:11;;;;26181:210;26197:6;26192:3;26189:15;26181:210;;;26270:3;26264:10;26251:23;;26287:31;26312:5;26287:31;:::i;:::-;26331:18;;;26214:12;;;;26369;;;;26181:210;;;26410:5;25410:1011;-1:-1:-1;;;;;;;;25410:1011:151:o;26426:772::-;26476:3;26517:5;26511:12;26546:36;26572:9;26546:36;:::i;:::-;26591:19;;;26629:4;26652:1;26669:18;;;26696:146;;;;26856:1;26851:341;;;;26662:530;;26696:146;-1:-1:-1;;26738:24:151;;26724:12;;;26717:46;26810:14;;26803:22;26800:1;26796:30;26787:40;;26783:49;;;-1:-1:-1;26696:146:151;;26851:341;26882:5;26879:1;26872:16;26929:2;26926:1;26916:16;26954:1;26968:174;26982:6;26979:1;26976:13;26968:174;;;27069:14;;27051:11;;;27047:20;;27040:44;27112:16;;;;26997:10;;26968:174;;;27166:11;;27162:20;;;-1:-1:-1;;26662:530:151;;;;;;26426:772;;;;:::o;27203:252::-;27290:5;27284:12;27279:3;27272:25;27254:3;27343:4;27336:5;27332:16;27326:23;27381:4;27374;27369:3;27365:14;27358:28;27402:47;27443:4;27438:3;27434:14;27420:12;27402:47;:::i;27460:484::-;27513:3;27551:5;27545:12;27578:6;27573:3;27566:19;27604:4;27633:2;27628:3;27624:12;27617:19;;27670:2;27663:5;27659:14;27691:1;27701:218;27715:6;27712:1;27709:13;27701:218;;;27780:13;;-1:-1:-1;;;;;27776:62:151;27764:75;;27859:12;;;;27894:15;;;;27737:1;27730:9;27701:218;;;-1:-1:-1;27935:3:151;;27460:484;-1:-1:-1;;;;;27460:484:151:o;27949:827::-;28309:6;28298:9;28291:25;28352:3;28347:2;28336:9;28332:18;28325:31;28272:4;28379:54;28428:3;28417:9;28413:19;28405:6;28379:54;:::i;:::-;28481:9;28473:6;28469:22;28464:2;28453:9;28449:18;28442:50;28515:42;28550:6;28542;28515:42;:::i;:::-;28501:56;;-1:-1:-1;;;;;28597:6:151;28593:55;28588:2;28577:9;28573:18;28566:83;28698:9;28690:6;28686:22;28680:3;28669:9;28665:19;28658:51;28726:44;28763:6;28755;28726:44;:::i;28970:500::-;29224:6;29213:9;29206:25;29267:2;29262;29251:9;29247:18;29240:30;29187:4;29293:53;29342:2;29331:9;29327:18;29319:6;29293:53;:::i;:::-;29394:9;29386:6;29382:22;29377:2;29366:9;29362:18;29355:50;29422:42;29457:6;29449;29422:42;:::i;29674:338::-;-1:-1:-1;;;;;29853:6:151;29849:55;29838:9;29831:74;29941:2;29936;29925:9;29921:18;29914:30;29812:4;29961:45;30002:2;29991:9;29987:18;29979:6;29961:45;:::i;30424:142::-;30507:1;30500:5;30497:12;30487:46;;30513:18;;:::i;:::-;30542;;30424:142::o;30666:1129::-;30828:4;30870:3;30859:9;30855:19;30847:27;;-1:-1:-1;;;;;30911:6:151;30905:13;30901:62;30890:9;30883:81;31020:4;31012:6;31008:17;31002:24;30995:4;30984:9;30980:20;30973:54;31083:4;31075:6;31071:17;31065:24;31058:4;31047:9;31043:20;31036:54;31146:4;31138:6;31134:17;31128:24;31121:4;31110:9;31106:20;31099:54;31209:4;31201:6;31197:17;31191:24;31184:4;31173:9;31169:20;31162:54;31263:4;31255:6;31251:17;31245:24;31305:1;31291:12;31288:19;31278:53;;31311:18;;:::i;:::-;31369:12;31362:4;31351:9;31347:20;31340:42;;31431:4;31423:6;31419:17;31413:24;31446:65;31505:4;31494:9;31490:20;31474:14;31446:65;:::i;:::-;;31560:4;31552:6;31548:17;31542:24;31575:73;31642:4;31631:9;31627:20;31611:14;30646:12;30634:25;;30571:90;31575:73;-1:-1:-1;31667:6:151;31710:15;;;31704:22;-1:-1:-1;;;;;2606:54:151;31770:18;;;;2594:67;30666:1129;:::o;31800:1002::-;32225:6;32214:9;32207:25;32188:4;-1:-1:-1;;;;;32341:2:151;32333:6;32329:15;32324:2;32313:9;32309:18;32302:43;32381:3;32376:2;32365:9;32361:18;32354:31;32408:46;32449:3;32438:9;32434:19;32426:6;32408:46;:::i;:::-;32502:2;32494:6;32490:15;32485:2;32474:9;32470:18;32463:43;32543:6;32537:3;32526:9;32522:19;32515:35;32599:9;32591:6;32587:22;32581:3;32570:9;32566:19;32559:51;32633:42;32668:6;32660;32633:42;:::i;:::-;32619:56;;;32724:9;32716:6;32712:22;32706:3;32695:9;32691:19;32684:51;32752:44;32789:6;32781;32752:44;:::i;:::-;32744:52;31800:1002;-1:-1:-1;;;;;;;;;;31800:1002:151:o;32807:636::-;33100:6;33089:9;33082:25;33063:4;-1:-1:-1;;;;;33216:2:151;33208:6;33204:15;33199:2;33188:9;33184:18;33177:43;33268:2;33260:6;33256:15;33251:2;33240:9;33236:18;33229:43;33320:2;33312:6;33308:15;33303:2;33292:9;33288:18;33281:43;;33361:3;33355;33344:9;33340:19;33333:32;33382:55;33432:3;33421:9;33417:19;33409:6;33382:55;:::i;33808:340::-;33985:2;33974:9;33967:21;33948:4;34005:45;34046:2;34035:9;34031:18;34023:6;34005:45;:::i;:::-;33997:53;;-1:-1:-1;;;;;34090:6:151;34086:55;34081:2;34070:9;34066:18;34059:83;33808:340;;;;;:::o;34153:291::-;34330:2;34319:9;34312:21;34293:4;34350:45;34391:2;34380:9;34376:18;34368:6;34350:45;:::i;:::-;34342:53;;34431:6;34426:2;34415:9;34411:18;34404:34;34153:291;;;;;:::o;36286:812::-;36697:25;36692:3;36685:38;36667:3;36752:6;36746:13;36768:75;36836:6;36831:2;36826:3;36822:12;36815:4;36807:6;36803:17;36768:75;:::i;:::-;36907:19;36902:2;36862:16;;;36894:11;;;36887:40;36952:13;;36974:76;36952:13;37036:2;37028:11;;37021:4;37009:17;;36974:76;:::i;:::-;37070:17;37089:2;37066:26;;36286:812;-1:-1:-1;;;;36286:812:151:o;38181:136::-;38220:3;38248:5;38238:39;;38257:18;;:::i;:::-;-1:-1:-1;;;38293:18:151;;38181:136::o;39090:287::-;39219:3;39257:6;39251:13;39273:66;39332:6;39327:3;39320:4;39312:6;39308:17;39273:66;:::i;:::-;39355:16;;;;;39090:287;-1:-1:-1;;39090:287:151:o","linkReferences":{},"immutableReferences":{"56113":[{"start":6592,"length":32},{"start":6727,"length":32},{"start":7093,"length":32},{"start":7228,"length":32},{"start":7465,"length":32}]}},"methodIdentifiers":{"COUNCIL_MEMBER()":"733a2d1f","DEFAULT_ADMIN_ROLE()":"a217fddf","MAX_FEE()":"bc063e1a","NATIVE()":"a0cf0aea","PRECISION_SCALE()":"d7050f07","acceptCouncilSafe()":"b5058c50","activateMemberInStrategy(address,address)":"0d4a8b49","addStrategy(address)":"223e5479","addStrategyByPoolId(uint256)":"82d6a1e7","addressToMemberInfo(address)":"88cfe684","allo()":"d6d8428d","cloneNonce()":"33960459","communityFee()":"8961be6b","communityName()":"c6d572ae","councilSafe()":"6c53db9a","covenantIpfsHash()":"b64e39af","createPool(address,(address,uint256,uint256,uint256,uint256,uint8,uint8,(uint256),address),(uint256,string))":"97991cfa","createPool(address,address,(address,uint256,uint256,uint256,uint256,uint8,uint8,(uint256),address),(uint256,string))":"ff6409ef","deactivateMemberInStrategy(address,address)":"22bcf999","decreasePower(uint256)":"5ecf71c5","enabledStrategies(address)":"3a871fe1","feeReceiver()":"b3f00674","gardenToken()":"db61d65c","getBasisStakedAmount()":"0331383c","getMemberPowerInStrategy(address,address)":"7817ee4f","getMemberStakedAmount(address)":"2c611c4a","getRoleAdmin(bytes32)":"248a9ca3","getStakeAmountWithFees()":"28c309e9","grantRole(bytes32,address)":"2f2ff15d","hasRole(bytes32,address)":"91d14854","increasePower(uint256)":"559de05d","initialize((address,address,uint256,uint256,uint256,address,address,(uint256,string),address,string,bool,string,address))":"96f0adec","isCouncilMember(address)":"ebd7dc52","isKickEnabled()":"1f787d28","isMember(address)":"a230c524","kickMember(address,address)":"6871eb4d","memberActivatedInStrategies(address,address)":"477a5cc0","memberPowerInStrategy(address,address)":"65e3864c","owner()":"8da5cb5b","pendingCouncilSafe()":"68decabb","profileId()":"08386eba","proxiableUUID()":"52d1902d","registerStakeAmount()":"78a0b8a9","registry()":"7b103999","registryFactory()":"f86c5f89","removeStrategy(address)":"175188e8","removeStrategyByPoolId(uint256)":"73265c37","renounceOwnership()":"715018a6","renounceRole(bytes32,address)":"36568abe","revokeRole(bytes32,address)":"d547741f","setBasisStakedAmount(uint256)":"31f61bca","setCommunityFee(uint256)":"0d12bbdb","setCouncilSafe(address)":"397e2543","stakeAndRegisterMember()":"3517aa7d","strategiesByMember(address,uint256)":"2b38c69c","strategyTemplate()":"5c94e4d2","supportsInterface(bytes4)":"01ffc9a7","transferOwnership(address)":"f2fde38b","unregisterMember()":"b99b4370","upgradeTo(address)":"3659cfe6","upgradeToAndCall(address,bytes)":"4f1ef286"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"AddressCannotBeZero\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_decreaseAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_currentPower\",\"type\":\"uint256\"}],\"name\":\"CantDecreaseMoreThanPower\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"DecreaseUnderMinimum\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"KickNotEnabled\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NewFeeGreaterThanMax\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"PointsDeactivated\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"RegistryCannotBeZero\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"SenderNotNewOwner\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"SenderNotStrategy\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"StrategyDisabled\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"StrategyExists\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UserAlreadyActivated\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UserAlreadyDeactivated\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UserAlreadyRegistered\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UserNotGardenOwner\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UserNotInCouncil\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UserNotInRegistry\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ValueCannotBeZero\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"previousAdmin\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"newAdmin\",\"type\":\"address\"}],\"name\":\"AdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_allo\",\"type\":\"address\"}],\"name\":\"AlloSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_newAmount\",\"type\":\"uint256\"}],\"name\":\"BasisStakedAmountSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"beacon\",\"type\":\"address\"}],\"name\":\"BeaconUpgraded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_newFee\",\"type\":\"uint256\"}],\"name\":\"CommunityFeeUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_safeOwner\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_newSafeOwner\",\"type\":\"address\"}],\"name\":\"CouncilSafeChangeStarted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_safe\",\"type\":\"address\"}],\"name\":\"CouncilSafeSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"version\",\"type\":\"uint8\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_pointsToIncrease\",\"type\":\"uint256\"}],\"name\":\"MemberActivatedStrategy\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"}],\"name\":\"MemberDeactivatedStrategy\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_transferAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_amountReturned\",\"type\":\"uint256\"}],\"name\":\"MemberKicked\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_unstakedAmount\",\"type\":\"uint256\"}],\"name\":\"MemberPowerDecreased\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_stakedAmount\",\"type\":\"uint256\"}],\"name\":\"MemberPowerIncreased\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_amountStaked\",\"type\":\"uint256\"}],\"name\":\"MemberRegistered\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_amountReturned\",\"type\":\"uint256\"}],\"name\":\"MemberUnregistered\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_poolId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_community\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"indexed\":false,\"internalType\":\"struct Metadata\",\"name\":\"_metadata\",\"type\":\"tuple\"}],\"name\":\"PoolCreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"_profileId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"_communityName\",\"type\":\"string\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"indexed\":false,\"internalType\":\"struct Metadata\",\"name\":\"_metadata\",\"type\":\"tuple\"}],\"name\":\"RegistryInitialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"previousAdminRole\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"newAdminRole\",\"type\":\"bytes32\"}],\"name\":\"RoleAdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleGranted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleRevoked\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"}],\"name\":\"StrategyAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"}],\"name\":\"StrategyRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"Upgraded\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"COUNCIL_MEMBER\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"DEFAULT_ADMIN_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"MAX_FEE\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"NATIVE\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"PRECISION_SCALE\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"acceptCouncilSafe\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"}],\"name\":\"activateMemberInStrategy\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_newStrategy\",\"type\":\"address\"}],\"name\":\"addStrategy\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"}],\"name\":\"addStrategyByPoolId\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"member\",\"type\":\"address\"}],\"name\":\"addressToMemberInfo\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"member\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"stakedAmount\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"isRegistered\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"allo\",\"outputs\":[{\"internalType\":\"contract FAllo\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"cloneNonce\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"communityFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"communityName\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"councilSafe\",\"outputs\":[{\"internalType\":\"contract ISafe\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"covenantIpfsHash\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"registryCommunity\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"decay\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxRatio\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"weight\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"minThresholdPoints\",\"type\":\"uint256\"},{\"internalType\":\"enum StrategyStruct.ProposalType\",\"name\":\"proposalType\",\"type\":\"uint8\"},{\"internalType\":\"enum StrategyStruct.PointSystem\",\"name\":\"pointSystem\",\"type\":\"uint8\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"maxAmount\",\"type\":\"uint256\"}],\"internalType\":\"struct StrategyStruct.PointSystemConfig\",\"name\":\"pointConfig\",\"type\":\"tuple\"},{\"internalType\":\"address\",\"name\":\"sybilScorer\",\"type\":\"address\"}],\"internalType\":\"struct StrategyStruct.InitializeParams\",\"name\":\"_params\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"_metadata\",\"type\":\"tuple\"}],\"name\":\"createPool\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"strategy\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"registryCommunity\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"decay\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxRatio\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"weight\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"minThresholdPoints\",\"type\":\"uint256\"},{\"internalType\":\"enum StrategyStruct.ProposalType\",\"name\":\"proposalType\",\"type\":\"uint8\"},{\"internalType\":\"enum StrategyStruct.PointSystem\",\"name\":\"pointSystem\",\"type\":\"uint8\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"maxAmount\",\"type\":\"uint256\"}],\"internalType\":\"struct StrategyStruct.PointSystemConfig\",\"name\":\"pointConfig\",\"type\":\"tuple\"},{\"internalType\":\"address\",\"name\":\"sybilScorer\",\"type\":\"address\"}],\"internalType\":\"struct StrategyStruct.InitializeParams\",\"name\":\"_params\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"_metadata\",\"type\":\"tuple\"}],\"name\":\"createPool\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"strategy\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"}],\"name\":\"deactivateMemberInStrategy\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_amountUnstaked\",\"type\":\"uint256\"}],\"name\":\"decreasePower\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"strategy\",\"type\":\"address\"}],\"name\":\"enabledStrategies\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isEnabled\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"feeReceiver\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"gardenToken\",\"outputs\":[{\"internalType\":\"contract IERC20\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getBasisStakedAmount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"}],\"name\":\"getMemberPowerInStrategy\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"}],\"name\":\"getMemberStakedAmount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"}],\"name\":\"getRoleAdmin\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getStakeAmountWithFees\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"grantRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"hasRole\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_amountStaked\",\"type\":\"uint256\"}],\"name\":\"increasePower\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"_allo\",\"type\":\"address\"},{\"internalType\":\"contract IERC20\",\"name\":\"_gardenToken\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_registerStakeAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_communityFee\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_nonce\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_registryFactory\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_feeReceiver\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"_metadata\",\"type\":\"tuple\"},{\"internalType\":\"address payable\",\"name\":\"_councilSafe\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"_communityName\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"_isKickEnabled\",\"type\":\"bool\"},{\"internalType\":\"string\",\"name\":\"covenantIpfsHash\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"_strategyTemplate\",\"type\":\"address\"}],\"internalType\":\"struct RegistryCommunityV0_0.InitializeParams\",\"name\":\"params\",\"type\":\"tuple\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"}],\"name\":\"isCouncilMember\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"isKickEnabled\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"}],\"name\":\"isMember\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"_isMember\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_member\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_transferAddress\",\"type\":\"address\"}],\"name\":\"kickMember\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"member\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"strategy\",\"type\":\"address\"}],\"name\":\"memberActivatedInStrategies\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isActivated\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"strategy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"member\",\"type\":\"address\"}],\"name\":\"memberPowerInStrategy\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"power\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pendingCouncilSafe\",\"outputs\":[{\"internalType\":\"address payable\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profileId\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proxiableUUID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"registerStakeAmount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"registry\",\"outputs\":[{\"internalType\":\"contract IRegistry\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"registryFactory\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_strategy\",\"type\":\"address\"}],\"name\":\"removeStrategy\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"poolId\",\"type\":\"uint256\"}],\"name\":\"removeStrategyByPoolId\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"renounceRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"revokeRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_newAmount\",\"type\":\"uint256\"}],\"name\":\"setBasisStakedAmount\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_newCommunityFee\",\"type\":\"uint256\"}],\"name\":\"setCommunityFee\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address payable\",\"name\":\"_safe\",\"type\":\"address\"}],\"name\":\"setCouncilSafe\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"stakeAndRegisterMember\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"member\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"strategiesByMember\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"strategiesAddresses\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"strategyTemplate\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"unregisterMember\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"}],\"name\":\"upgradeTo\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"upgradeToAndCall\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"}],\"devdoc\":{\"events\":{\"AdminChanged(address,address)\":{\"details\":\"Emitted when the admin account has changed.\"},\"BeaconUpgraded(address)\":{\"details\":\"Emitted when the beacon is changed.\"},\"Initialized(uint8)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"RoleAdminChanged(bytes32,bytes32,bytes32)\":{\"details\":\"Emitted when `newAdminRole` is set as ``role``'s admin role, replacing `previousAdminRole` `DEFAULT_ADMIN_ROLE` is the starting admin for all roles, despite {RoleAdminChanged} not being emitted signaling this. _Available since v3.1._\"},\"RoleGranted(bytes32,address,address)\":{\"details\":\"Emitted when `account` is granted `role`. `sender` is the account that originated the contract call, an admin role bearer except when using {AccessControl-_setupRole}.\"},\"RoleRevoked(bytes32,address,address)\":{\"details\":\"Emitted when `account` is revoked `role`. `sender` is the account that originated the contract call: - if using `revokeRole`, it is the admin role bearer - if using `renounceRole`, it is the role bearer (i.e. `account`)\"},\"Upgraded(address)\":{\"details\":\"Emitted when the implementation is upgraded.\"}},\"kind\":\"dev\",\"methods\":{\"getRoleAdmin(bytes32)\":{\"details\":\"Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}.\"},\"grantRole(bytes32,address)\":{\"details\":\"Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleGranted} event.\"},\"hasRole(bytes32,address)\":{\"details\":\"Returns `true` if `account` has been granted `role`.\"},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"proxiableUUID()\":{\"details\":\"Implementation of the ERC1822 {proxiableUUID} function. This returns the storage slot used by the implementation. It is used to validate the implementation's compatibility when performing an upgrade. IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this function revert if invoked through a proxy. This is guaranteed by the `notDelegated` modifier.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"renounceRole(bytes32,address)\":{\"details\":\"Revokes `role` from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been revoked `role`, emits a {RoleRevoked} event. Requirements: - the caller must be `account`. May emit a {RoleRevoked} event.\"},\"revokeRole(bytes32,address)\":{\"details\":\"Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleRevoked} event.\"},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"},\"upgradeTo(address)\":{\"custom:oz-upgrades-unsafe-allow-reachable\":\"delegatecall\",\"details\":\"Upgrade the implementation of the proxy to `newImplementation`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event.\"},\"upgradeToAndCall(address,bytes)\":{\"custom:oz-upgrades-unsafe-allow-reachable\":\"delegatecall\",\"details\":\"Upgrade the implementation of the proxy to `newImplementation`, and subsequently execute the function call encoded in `data`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"COUNCIL_MEMBER()\":{\"notice\":\"Role to council safe members\"},\"MAX_FEE()\":{\"notice\":\"The maximum fee that can be charged to the community\"},\"NATIVE()\":{\"notice\":\"The native address to represent native token eg: ETH in mainnet\"},\"PRECISION_SCALE()\":{\"notice\":\"The precision scale used in the contract to avoid loss of precision\"},\"addressToMemberInfo(address)\":{\"notice\":\"Member information as the staked amount and if is registered in the community\"},\"allo()\":{\"notice\":\"The Allo contract address\"},\"cloneNonce()\":{\"notice\":\"The nonce used to create new strategy clones\"},\"communityFee()\":{\"notice\":\"The fee charged to the community for each registration\"},\"communityName()\":{\"notice\":\"The community name\"},\"councilSafe()\":{\"notice\":\"The council safe contract address\"},\"covenantIpfsHash()\":{\"notice\":\"The covenant IPFS hash of community\"},\"enabledStrategies(address)\":{\"notice\":\"List of enabled/disabled strategies\"},\"feeReceiver()\":{\"notice\":\"The address that receives the community fee\"},\"gardenToken()\":{\"notice\":\"The token used to stake in the community\"},\"isKickEnabled()\":{\"notice\":\"Enable or disable the kick feature\"},\"memberActivatedInStrategies(address,address)\":{\"notice\":\"Mapping to check if a member is activated in a strategy\"},\"memberPowerInStrategy(address,address)\":{\"notice\":\"Power points for each member in each strategy\"},\"pendingCouncilSafe()\":{\"notice\":\"The address of the pending council safe owner\"},\"profileId()\":{\"notice\":\"The profileId of the community in the Allo Registry\"},\"registerStakeAmount()\":{\"notice\":\"The amount of tokens required to register a member\"},\"registry()\":{\"notice\":\"The Registry Allo contract\"},\"registryFactory()\":{\"notice\":\"The address of the registry factory\"},\"strategiesByMember(address,uint256)\":{\"notice\":\"List of strategies for each member are activated\"},\"strategyTemplate()\":{\"notice\":\"The address of the strategy template\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"pkg/contracts/src/RegistryCommunityV0_0.sol\":\"RegistryCommunityV0_0\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1000},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":eas-proxy/=lib/allo-v2/lib/eas-proxy/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":hedgey-vesting/=lib/allo-v2/lib/hedgey-vesting/contracts/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-contracts/=lib/safe-contracts/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":superfluid-protocol-monorepo/=lib/allo-v2/lib/superfluid-protocol-monorepo/packages/solidity-semantic-money/src/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"]},\"sources\":{\"lib/allo-v2/contracts/core/interfaces/IAllo.sol\":{\"keccak256\":\"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7\",\"dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1\"]},\"lib/allo-v2/contracts/core/interfaces/IRegistry.sol\":{\"keccak256\":\"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e\",\"dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA\"]},\"lib/allo-v2/contracts/core/interfaces/IStrategy.sol\":{\"keccak256\":\"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487\",\"dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH\"]},\"lib/allo-v2/contracts/core/libraries/Clone.sol\":{\"keccak256\":\"0xc348b24b7d8a98c4faa5f2aa37ce9264a74f81dbdef1a9bae2eaa125585c3c7e\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://1335b3ec59ec7e3d12ea7c90b3aa56f4c26e0d44d342f54412933be9d4f16067\",\"dweb:/ipfs/QmXNFo2wCyq9cpvfgbdHvBUQecThFSEoUnMuZNS6WinDrr\"]},\"lib/allo-v2/contracts/core/libraries/Errors.sol\":{\"keccak256\":\"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf\",\"dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA\"]},\"lib/allo-v2/contracts/core/libraries/Metadata.sol\":{\"keccak256\":\"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c\",\"dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn\"]},\"lib/allo-v2/contracts/core/libraries/Native.sol\":{\"keccak256\":\"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a\",\"dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv\"]},\"lib/allo-v2/contracts/core/libraries/Transfer.sol\":{\"keccak256\":\"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11\",\"dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5\"]},\"lib/allo-v2/contracts/strategies/BaseStrategy.sol\":{\"keccak256\":\"0x3f1382dc6c35d50545e327e7ed6016f2bd752357d446bd698014073f0b812873\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://99500abcd617fa43f6dde49e2c7802821ceaf54a65a8055cbbf2695ecd107974\",\"dweb:/ipfs/QmUktZkWuu3GCMEijY1fqt7NMy7BzpTvEtcmpB1fuoa7zt\"]},\"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol\":{\"keccak256\":\"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298\",\"dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x51fec240abc6dd23e0ee6de7c65106379aef732cad6c4ae5df6b55db886e7456\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://a47d9c0a9876e7f9e411843b994a741d4ac1a87d8459ffc3c56359de691ddc1a\",\"dweb:/ipfs/QmQiFN9b3Y2azrD1RBfAKEuAG3YeJkMzA2DGzgEE9kMeEK\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0xc8710577334e8d0799ae2b2a731b1924a7bddd64319da9787ddd2dc69bdd1ce5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b83b7afa4d2372da3ba5402fb10860a105c35d79812c60dc61007be2afc17618\",\"dweb:/ipfs/QmYX9xPmbNVSKXrepKiUZiG5oL3SdzFp9a4kqspxX1sEUx\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol\":{\"keccak256\":\"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c\",\"dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol\":{\"keccak256\":\"0x359a1ab89b46b9aba7bcad3fb651924baf4893d15153049b9976b0fc9be1358e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e89863421b4014b96a4b62be76eb3b9f0a8afe9684664a6f389124c0964bfe5c\",\"dweb:/ipfs/Qmbk7xr1irpDuU1WdxXgxELBXxs61rHhCgod7heVcvFx16\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol\":{\"keccak256\":\"0x3d98edeb5d5be8410fca707b73dabe7544d1dd11e35b73dd907c473fe43cc3ae\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1a3fa9fc3aec149b8ad0dd8895277ab11e9244e9d2b7adc8404b22de974fc964\",\"dweb:/ipfs/QmRggzxs1WjuvGJSAKb2Nw5r7P3VDMefCWKTbkNPKRkv2j\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e\",\"dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol\":{\"keccak256\":\"0x2025ccf05f6f1f2fd4e078e552836f525a1864e3854ed555047cd732320ab29b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d27f4b23c2dee42394aebaf42bf238285230f472dfd3282a39c3f000ec28214f\",\"dweb:/ipfs/QmQa3DnvccwdWJeWrjgXPnFMTWbzWQWR39hVqC7eEwo2PC\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b\",\"dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95\",\"dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol\":{\"keccak256\":\"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a\",\"dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0xd90d7723512df65ae417adaf0801042940f0dabd60039ceeaffe34aa5b238da1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1b13befeb3413749292f9fb229de1c7a509a5ce2c8047d9094fc004ca9d3af89\",\"dweb:/ipfs/QmRzJ2hZSwRtMejHUZAYTPRKgZsnfb112Fno9Jf3EiDfwA\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol\":{\"keccak256\":\"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758\",\"dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol\":{\"keccak256\":\"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91\",\"dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol\":{\"keccak256\":\"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4\",\"dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z\"]},\"lib/openzeppelin-contracts/contracts/access/AccessControl.sol\":{\"keccak256\":\"0x0dd6e52cb394d7f5abe5dca2d4908a6be40417914720932de757de34a99ab87f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://dc117ce50ea746cab6b97ed1a1facee17a715ae0cb95d67b943dacbaf15176fb\",\"dweb:/ipfs/QmYRZ2UGNYwsHwfNu7Wjr8L2j1LBZ1mKv6NvbwgterYMXc\"]},\"lib/openzeppelin-contracts/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0x59ce320a585d7e1f163cd70390a0ef2ff9cec832e2aa544293a00692465a7a57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb2c137c343ef0c4c7ce7b18c1d108afdc9d315a04e48307288d2d05adcbde3a\",\"dweb:/ipfs/QmUxhrAQM3MM3FF5j7AtcXLXguWCJBHJ14BRdVtuoQc8Fh\"]},\"lib/openzeppelin-contracts/contracts/access/Ownable.sol\":{\"keccak256\":\"0xba43b97fba0d32eb4254f6a5a297b39a19a247082a02d6e69349e071e2946218\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fc980984badf3984b6303b377711220e067722bbd6a135b24669ff5069ef9f32\",\"dweb:/ipfs/QmPHXMSXj99XjSVM21YsY6aNtLLjLVXDbyN76J5HQYvvrz\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol\":{\"keccak256\":\"0x3cbef5ebc24b415252e2f8c0c9254555d30d9f085603b4b80d9b5ed20ab87e90\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e8fa670c3bdce78e642cc6ae11c4cb38b133499cdce5e1990a9979d424703263\",\"dweb:/ipfs/QmVxeCUk4jL2pXQyhsoNJwyU874wRufS2WvGe8TgPKPqhE\"]},\"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol\":{\"keccak256\":\"0x1d4afe6cb24200cc4545eed814ecf5847277dfe5d613a1707aad5fceecebcfff\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://383fb7b8181016ac5ccf07bc9cdb7c1b5045ea36e2cc4df52bcbf20396fc7688\",\"dweb:/ipfs/QmYJ7Cg4WmE3rR8KGQxjUCXFfTH6TcwZ2Z1f6tPrq7jHFr\"]},\"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol\":{\"keccak256\":\"0xa2b22da3032e50b55f95ec1d13336102d675f341167aa76db571ef7f8bb7975d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96b6d77a20bebd4eb06b801d3d020c7e82be13bd535cb0d0a6b7181c51dab5d5\",\"dweb:/ipfs/QmPUR9Cv9jNFdQX6PtBfaBW1ZCnKwiu65R2VD5kbdanDyn\"]},\"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Upgrade.sol\":{\"keccak256\":\"0x3b21ae06bf5957f73fa16754b0669c77b7abd8ba6c072d35c3281d446fdb86c2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2db8e18505e86e02526847005d7287a33e397ed7fb9eaba3fd4a4a197add16e2\",\"dweb:/ipfs/QmW9BSuKTzHWHBNSHF4L8XfVuU1uJrP2vLg84YtBd8mL82\"]},\"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol\":{\"keccak256\":\"0xc130fe33f1b2132158531a87734153293f6d07bc263ff4ac90e85da9c82c0e27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8831721b6f4cc26534d190f9f1631c3f59c9ff38efdd911f85e0882b8e360472\",\"dweb:/ipfs/QmQZnLErZNStirSQ13ZNWQgvEYUtGE5tXYwn4QUPaVUfPN\"]},\"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0xd50a3421ac379ccb1be435fa646d66a65c986b4924f0849839f08692f39dde61\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ada1e030c0231db8d143b44ce92b4d1158eedb087880cad6d8cc7bd7ebe7b354\",\"dweb:/ipfs/QmWZ2NHZweRpz1U9GF6R1h65ri76dnX7fNxLBeM2t5N5Ce\"]},\"lib/openzeppelin-contracts/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x3d6069be9b4c01fb81840fb9c2c4dc58dd6a6a4aafaa2c6837de8699574d84c6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://720d6bb56ea0c4ef781c0bd65c5bd0541f5a46100163b2587170f97658d2deed\",\"dweb:/ipfs/QmTS2biLVPrv8CeeXCaKmkFxonMiRvc1LxiYBRYDAJHQUS\"]},\"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol\":{\"keccak256\":\"0xc6619957bcc6641fe8984bfaf9ff11a9e4b97d8149c0495f608f9a2416d7c5cf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://543be67f7fa43b1b932637c1c7f12035f0f4b0f7ee2bd3c33841186f79c165c1\",\"dweb:/ipfs/QmSBPM2UVKbmJqWfD9i6hSiqbaE8TV4TSqfuiivziRRLKM\"]},\"lib/openzeppelin-contracts/contracts/security/ReentrancyGuard.sol\":{\"keccak256\":\"0xa535a5df777d44e945dd24aa43a11e44b024140fc340ad0dfe42acf4002aade1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://41319e7f621f2dc3733511332c4fd032f8e32ad2aa7fd6f665c19741d9941a34\",\"dweb:/ipfs/QmcYR3bd862GD1Bc7jwrU9bGxrhUu5na1oP964bDCu2id1\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15\",\"dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5\",\"dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd\",\"dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol\":{\"keccak256\":\"0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a\",\"dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0x909d608c2db6eb165ca178c81289a07ed2e118e444d0025b2a85c97d0b44a4fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://656cda26512ddd7373c2d5551c8fae759fc30f05b10f0fc2e738e9274199dbd4\",\"dweb:/ipfs/QmTSArSzQRFbQmHgq7U1PZXnsDFhvDZhKVu9CzMG4yo6Lx\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xf09e68aa0dc6722a25bc46490e8d48ed864466d17313b8a0b254c36b54e49899\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e26daf81e2252dc1fe1ce0e4b55c2eb7c6d1ee84ae6558d1a9554432ea1d32da\",\"dweb:/ipfs/Qmb1UANWiWq5pCKbmHSu772hd4nt374dVaghGmwSVNuk8Q\"]},\"lib/openzeppelin-contracts/contracts/utils/Strings.sol\":{\"keccak256\":\"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f\",\"dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol\":{\"keccak256\":\"0x5a08ad61f4e82b8a3323562661a86fb10b10190848073fdc13d4ac43710ffba5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6f7bb74cf88fd88daa34e118bc6e363381d05044f34f391d39a10c0c9dac3ebd\",\"dweb:/ipfs/QmNbQ3v8v4zuDtg7VeLAbdhAm3tCzUodNoDZZ8ekmCHWZX\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]},\"lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/src/strings.sol\":{\"keccak256\":\"0x42cad11a7033f2fe05dd68611d2304407a620ac985b91edf29d5868cfe196223\",\"urls\":[\"bzz-raw://3cbc2333234e1f00eab5e57c4bcaf5115661e5e066a17c70af587a0a96f24669\",\"dweb:/ipfs/QmPHvStqcvZL46LW5N2ExTwAaqNhRCcmAX66aR6oE1WDar\"]},\"lib/openzeppelin-foundry-upgrades/src/Defender.sol\":{\"keccak256\":\"0x2114e4d70d53b36e8cec54ba11ff78d9f38a466ec3504c76c7f26101a7cff37f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://58f4d9bc58646e7631b263cdb8ef260e6818e9f716036d81d1c18218c9557a23\",\"dweb:/ipfs/QmS18L4R4gPtay9eQBcR28DnwmBkGSWsiCFwm2tXc3BkHL\"]},\"lib/openzeppelin-foundry-upgrades/src/LegacyUpgrades.sol\":{\"keccak256\":\"0x8436719f73c76efadaa16cd719d088f698ea3591595dfdf2c15fd66f3e203197\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ac8d0e55defe124adcc3845348602d6528b00b7dc5f7abf9e1b245d0cea9b55e\",\"dweb:/ipfs/QmaPBoG89Bd2btJZW5kjXx7zXo6KhAdeTuMq5xo431M8xq\"]},\"lib/openzeppelin-foundry-upgrades/src/Options.sol\":{\"keccak256\":\"0xa5414683d6b219b28e75ecaab3d00a305dfaf4d970389a88992275c8072ce8ac\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1dbfd566ba318f2b740159c28e4511c84c9d76fcc293ae17c9b1a87b3ea16c9\",\"dweb:/ipfs/QmcyxPoeBdzA9iHEgd76xKhaQ8HKfpV4owdSv6127MmveT\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Core.sol\":{\"keccak256\":\"0x37073df20d2b5fbb0a873e6b2dd76c23e23455d1c2d2ba57d2f0998201a4251d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://79d507647ea48d93371341684cf4199d55ed799db9d3489bc016f53990d2ff7c\",\"dweb:/ipfs/QmQWgXiYcPcwNcrkTHb72WtHd4xPcXfRUMfBrhkDHgr2ut\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/DefenderDeploy.sol\":{\"keccak256\":\"0x868ffdaf5d185fee103fc4581385392b47c209a5cfd2aec01f0307dbc0101d73\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://76e51bf69a4d0b5d1d9cfa7efa442bdcf9d713966563432ef8fdd00ec959a25e\",\"dweb:/ipfs/QmTHkdvMnqmEvus7zbmHhPkWk3fM9SW2Jq8gnyBLwVJtxG\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Utils.sol\":{\"keccak256\":\"0x4de002af810f6a5fe26a6381e0ead3331735bd0059434a22df75e17c177b5f87\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af32ff07f606e530a53030db141a75af144cfe065a6543939d412018c6159540\",\"dweb:/ipfs/QmbfTB92Zd8VQHW61g9dx1CvGgSL5SCoZDLrvJfnR7Ctio\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Versions.sol\":{\"keccak256\":\"0xf1a1441c18a296853509e9b1d18be794ed3de836caea49d6948b5e9ac566e8c6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6f3463514235bd875ecacf45f95cac64aa650dd38d05c15fe1f4203b6b5733bd\",\"dweb:/ipfs/Qmcbhmw9NPkG8MqiVsQ4qUupeQFCRgyBDKuoUwohwa8EP3\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IProxyAdmin.sol\":{\"keccak256\":\"0xf5e514595089f8959da130507086e7388602a71ce60575d141e7d892dfbddbfc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9b41366e2823ccc8cb42304496d761b3df80946d17384634a61afd7139495c91\",\"dweb:/ipfs/QmZE2nRMxax1NPj63ifemKdScGJzKNWi7BCGudjFLsUz1y\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableBeacon.sol\":{\"keccak256\":\"0xa8d7bffdd26eb763e459650c83f247b54af79800c2df52ad05878f238fc1c2f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ed47f1e53e5eb7d48fed60a414755641fca8fa0e713fd503b2597227da78a2f\",\"dweb:/ipfs/QmQr8A5wddHdhQNauFShXxRkPcuVVpVsYpq846WhmFC8Tv\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableProxy.sol\":{\"keccak256\":\"0x781b564b90bba0c0e8e12fb66b1c910f42d369db469f2e88592b4cff29de99a5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://45fcab02a43fde934445b88e905aba3f58a70b75dd6ee6eb86a3d593424aeb03\",\"dweb:/ipfs/QmXmhAgrctaYUDLoTRgUjwD4deoXu1E2QT1kftVGcVa56j\"]},\"pkg/contracts/src/BaseStrategyUpgradeable.sol\":{\"keccak256\":\"0xe059f9e1a262a4713e230a6025c3356681bb5f3c8013b87bc579bae93aa66c20\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://37e879664b08005b9544457cf89bce77e38b6a25639566df7366b9e5968c815e\",\"dweb:/ipfs/QmYgNRqZfYUPbWgcHUHghTcpqjVmT9v4HfkfPdEF64fYe5\"]},\"pkg/contracts/src/CVStrategy.sol\":{\"keccak256\":\"0x132bcf17470960e380d841159d9389985d609aaae1c9a657c78902f7871da957\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://84e905bf392579b44f33fff8586431b940e110b2210854cf487321cc92061705\",\"dweb:/ipfs/QmQpvszYu8RbrXmUFLifSodQzV8LAqazk1fzXNARGc5sBT\"]},\"pkg/contracts/src/CVStrategyV0_0.sol\":{\"keccak256\":\"0x79d01b399c8d735923dfa26b8dacba6200a861202dd6fb1c7711241285439d2d\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://e7ea0014e25a729d6d688620658df81a179a8c2380ae0bc4c78668cd486adb04\",\"dweb:/ipfs/QmdPM8JpFXeqBxQgkRzM1inzCT2rkRxnpoSrFk8DauDpNf\"]},\"pkg/contracts/src/ISybilScorer.sol\":{\"keccak256\":\"0x0e25fbb8497ac3c969d80c9032362d45e56c0a45dc9ba3dff6a8a704571f38ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0dff90ebae6e7131a5300fcaf525bc2ab0ae90fcd13f277d7b7b6939eeb8b7eb\",\"dweb:/ipfs/QmYGkYqpUVrBWoNY6f3CtwrrVQFWSvnJfpu68t95f6AkBY\"]},\"pkg/contracts/src/RegistryCommunity.sol\":{\"keccak256\":\"0xc735f4d2635149f2db9bff291da56e08c3c312d9eb1b767b8a1e3e51584d5734\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://247b33b78abface6a7e2da38174386de9b543f6a27e8340e26d854bff57184a3\",\"dweb:/ipfs/QmedNdqkqeboGzz9w868uGf7KnXUaYZe6i1YcdUPPkJnnf\"]},\"pkg/contracts/src/RegistryCommunityV0_0.sol\":{\"keccak256\":\"0x6525c857f7baff606e87bbc2878f3606923997a444eb500aa15018c676c972a9\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://89d2af9f470c8d7431ff6b1981b7bf46520f719d68da38ab3ca065496a6297d8\",\"dweb:/ipfs/QmceJHX57HbnBXVfmhtRPmnApUQy5QSWTybgq6g37vCxEN\"]},\"pkg/contracts/src/RegistryFactory.sol\":{\"keccak256\":\"0x888b7f5eb1079f90ccfa0b41d8a970bffd8d4d469f9b31917a58279b358dbda5\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://af25fd783de00adf01d1c7caa572801fed0d474306a43b862535b08e65ec10c6\",\"dweb:/ipfs/Qmeb2nEaMQLV86y1CYAAV2c6BYpBDTbpLuC1SigeNjdqLo\"]},\"pkg/contracts/src/interfaces/FAllo.sol\":{\"keccak256\":\"0x32f38cb4400a07a99ae68a9beb91e5649886487172fd50561da6763464efc437\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://cb4f0cee2f3fbede7be5e8e1d7ee8034086359cd07b9dab49c4a991388e5c458\",\"dweb:/ipfs/QmS26kA8cZ9shWwxcbF17Kes8L7Jgw85EQVydDmwb34mjM\"]},\"pkg/contracts/src/interfaces/ISafe.sol\":{\"keccak256\":\"0x878a210809bb684c42157a10f3f90350a67d0a4863f130499942b06f0f2c9143\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://fa2d71bd427c3415e98a2ee15ff673f3cc61c17f14d7087c5eedc83b55f6b0ef\",\"dweb:/ipfs/QmesVSmJQQzi6ys1cvhQFCJyDXchb736mT5bXks4Yp6Cbj\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[],"type":"error","name":"AddressCannotBeZero"},{"inputs":[{"internalType":"uint256","name":"_decreaseAmount","type":"uint256"},{"internalType":"uint256","name":"_currentPower","type":"uint256"}],"type":"error","name":"CantDecreaseMoreThanPower"},{"inputs":[],"type":"error","name":"DecreaseUnderMinimum"},{"inputs":[],"type":"error","name":"KickNotEnabled"},{"inputs":[],"type":"error","name":"NewFeeGreaterThanMax"},{"inputs":[],"type":"error","name":"PointsDeactivated"},{"inputs":[],"type":"error","name":"RegistryCannotBeZero"},{"inputs":[],"type":"error","name":"SenderNotNewOwner"},{"inputs":[],"type":"error","name":"SenderNotStrategy"},{"inputs":[],"type":"error","name":"StrategyDisabled"},{"inputs":[],"type":"error","name":"StrategyExists"},{"inputs":[],"type":"error","name":"UserAlreadyActivated"},{"inputs":[],"type":"error","name":"UserAlreadyDeactivated"},{"inputs":[],"type":"error","name":"UserAlreadyRegistered"},{"inputs":[],"type":"error","name":"UserNotGardenOwner"},{"inputs":[],"type":"error","name":"UserNotInCouncil"},{"inputs":[],"type":"error","name":"UserNotInRegistry"},{"inputs":[],"type":"error","name":"ValueCannotBeZero"},{"inputs":[{"internalType":"address","name":"previousAdmin","type":"address","indexed":false},{"internalType":"address","name":"newAdmin","type":"address","indexed":false}],"type":"event","name":"AdminChanged","anonymous":false},{"inputs":[{"internalType":"address","name":"_allo","type":"address","indexed":false}],"type":"event","name":"AlloSet","anonymous":false},{"inputs":[{"internalType":"uint256","name":"_newAmount","type":"uint256","indexed":false}],"type":"event","name":"BasisStakedAmountSet","anonymous":false},{"inputs":[{"internalType":"address","name":"beacon","type":"address","indexed":true}],"type":"event","name":"BeaconUpgraded","anonymous":false},{"inputs":[{"internalType":"uint256","name":"_newFee","type":"uint256","indexed":false}],"type":"event","name":"CommunityFeeUpdated","anonymous":false},{"inputs":[{"internalType":"address","name":"_safeOwner","type":"address","indexed":false},{"internalType":"address","name":"_newSafeOwner","type":"address","indexed":false}],"type":"event","name":"CouncilSafeChangeStarted","anonymous":false},{"inputs":[{"internalType":"address","name":"_safe","type":"address","indexed":false}],"type":"event","name":"CouncilSafeSet","anonymous":false},{"inputs":[{"internalType":"uint8","name":"version","type":"uint8","indexed":false}],"type":"event","name":"Initialized","anonymous":false},{"inputs":[{"internalType":"address","name":"_member","type":"address","indexed":false},{"internalType":"address","name":"_strategy","type":"address","indexed":false},{"internalType":"uint256","name":"_pointsToIncrease","type":"uint256","indexed":false}],"type":"event","name":"MemberActivatedStrategy","anonymous":false},{"inputs":[{"internalType":"address","name":"_member","type":"address","indexed":false},{"internalType":"address","name":"_strategy","type":"address","indexed":false}],"type":"event","name":"MemberDeactivatedStrategy","anonymous":false},{"inputs":[{"internalType":"address","name":"_member","type":"address","indexed":false},{"internalType":"address","name":"_transferAddress","type":"address","indexed":false},{"internalType":"uint256","name":"_amountReturned","type":"uint256","indexed":false}],"type":"event","name":"MemberKicked","anonymous":false},{"inputs":[{"internalType":"address","name":"_member","type":"address","indexed":false},{"internalType":"uint256","name":"_unstakedAmount","type":"uint256","indexed":false}],"type":"event","name":"MemberPowerDecreased","anonymous":false},{"inputs":[{"internalType":"address","name":"_member","type":"address","indexed":false},{"internalType":"uint256","name":"_stakedAmount","type":"uint256","indexed":false}],"type":"event","name":"MemberPowerIncreased","anonymous":false},{"inputs":[{"internalType":"address","name":"_member","type":"address","indexed":false},{"internalType":"uint256","name":"_amountStaked","type":"uint256","indexed":false}],"type":"event","name":"MemberRegistered","anonymous":false},{"inputs":[{"internalType":"address","name":"_member","type":"address","indexed":false},{"internalType":"uint256","name":"_amountReturned","type":"uint256","indexed":false}],"type":"event","name":"MemberUnregistered","anonymous":false},{"inputs":[{"internalType":"address","name":"previousOwner","type":"address","indexed":true},{"internalType":"address","name":"newOwner","type":"address","indexed":true}],"type":"event","name":"OwnershipTransferred","anonymous":false},{"inputs":[{"internalType":"uint256","name":"_poolId","type":"uint256","indexed":false},{"internalType":"address","name":"_strategy","type":"address","indexed":false},{"internalType":"address","name":"_community","type":"address","indexed":false},{"internalType":"address","name":"_token","type":"address","indexed":false},{"internalType":"struct Metadata","name":"_metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}],"indexed":false}],"type":"event","name":"PoolCreated","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"_profileId","type":"bytes32","indexed":false},{"internalType":"string","name":"_communityName","type":"string","indexed":false},{"internalType":"struct Metadata","name":"_metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}],"indexed":false}],"type":"event","name":"RegistryInitialized","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32","indexed":true},{"internalType":"bytes32","name":"previousAdminRole","type":"bytes32","indexed":true},{"internalType":"bytes32","name":"newAdminRole","type":"bytes32","indexed":true}],"type":"event","name":"RoleAdminChanged","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32","indexed":true},{"internalType":"address","name":"account","type":"address","indexed":true},{"internalType":"address","name":"sender","type":"address","indexed":true}],"type":"event","name":"RoleGranted","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32","indexed":true},{"internalType":"address","name":"account","type":"address","indexed":true},{"internalType":"address","name":"sender","type":"address","indexed":true}],"type":"event","name":"RoleRevoked","anonymous":false},{"inputs":[{"internalType":"address","name":"_strategy","type":"address","indexed":false}],"type":"event","name":"StrategyAdded","anonymous":false},{"inputs":[{"internalType":"address","name":"_strategy","type":"address","indexed":false}],"type":"event","name":"StrategyRemoved","anonymous":false},{"inputs":[{"internalType":"address","name":"implementation","type":"address","indexed":true}],"type":"event","name":"Upgraded","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"COUNCIL_MEMBER","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"DEFAULT_ADMIN_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"MAX_FEE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"NATIVE","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"PRECISION_SCALE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"acceptCouncilSafe"},{"inputs":[{"internalType":"address","name":"_member","type":"address"},{"internalType":"address","name":"_strategy","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"activateMemberInStrategy"},{"inputs":[{"internalType":"address","name":"_newStrategy","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"addStrategy"},{"inputs":[{"internalType":"uint256","name":"poolId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"addStrategyByPoolId"},{"inputs":[{"internalType":"address","name":"member","type":"address"}],"stateMutability":"view","type":"function","name":"addressToMemberInfo","outputs":[{"internalType":"address","name":"member","type":"address"},{"internalType":"uint256","name":"stakedAmount","type":"uint256"},{"internalType":"bool","name":"isRegistered","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"allo","outputs":[{"internalType":"contract FAllo","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"cloneNonce","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"communityFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"communityName","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"councilSafe","outputs":[{"internalType":"contract ISafe","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"covenantIpfsHash","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[{"internalType":"address","name":"_token","type":"address"},{"internalType":"struct StrategyStruct.InitializeParams","name":"_params","type":"tuple","components":[{"internalType":"address","name":"registryCommunity","type":"address"},{"internalType":"uint256","name":"decay","type":"uint256"},{"internalType":"uint256","name":"maxRatio","type":"uint256"},{"internalType":"uint256","name":"weight","type":"uint256"},{"internalType":"uint256","name":"minThresholdPoints","type":"uint256"},{"internalType":"enum StrategyStruct.ProposalType","name":"proposalType","type":"uint8"},{"internalType":"enum StrategyStruct.PointSystem","name":"pointSystem","type":"uint8"},{"internalType":"struct StrategyStruct.PointSystemConfig","name":"pointConfig","type":"tuple","components":[{"internalType":"uint256","name":"maxAmount","type":"uint256"}]},{"internalType":"address","name":"sybilScorer","type":"address"}]},{"internalType":"struct Metadata","name":"_metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]}],"stateMutability":"nonpayable","type":"function","name":"createPool","outputs":[{"internalType":"uint256","name":"poolId","type":"uint256"},{"internalType":"address","name":"strategy","type":"address"}]},{"inputs":[{"internalType":"address","name":"_strategy","type":"address"},{"internalType":"address","name":"_token","type":"address"},{"internalType":"struct StrategyStruct.InitializeParams","name":"_params","type":"tuple","components":[{"internalType":"address","name":"registryCommunity","type":"address"},{"internalType":"uint256","name":"decay","type":"uint256"},{"internalType":"uint256","name":"maxRatio","type":"uint256"},{"internalType":"uint256","name":"weight","type":"uint256"},{"internalType":"uint256","name":"minThresholdPoints","type":"uint256"},{"internalType":"enum StrategyStruct.ProposalType","name":"proposalType","type":"uint8"},{"internalType":"enum StrategyStruct.PointSystem","name":"pointSystem","type":"uint8"},{"internalType":"struct StrategyStruct.PointSystemConfig","name":"pointConfig","type":"tuple","components":[{"internalType":"uint256","name":"maxAmount","type":"uint256"}]},{"internalType":"address","name":"sybilScorer","type":"address"}]},{"internalType":"struct Metadata","name":"_metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]}],"stateMutability":"nonpayable","type":"function","name":"createPool","outputs":[{"internalType":"uint256","name":"poolId","type":"uint256"},{"internalType":"address","name":"strategy","type":"address"}]},{"inputs":[{"internalType":"address","name":"_member","type":"address"},{"internalType":"address","name":"_strategy","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"deactivateMemberInStrategy"},{"inputs":[{"internalType":"uint256","name":"_amountUnstaked","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"decreasePower"},{"inputs":[{"internalType":"address","name":"strategy","type":"address"}],"stateMutability":"view","type":"function","name":"enabledStrategies","outputs":[{"internalType":"bool","name":"isEnabled","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"feeReceiver","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"gardenToken","outputs":[{"internalType":"contract IERC20","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getBasisStakedAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"_member","type":"address"},{"internalType":"address","name":"_strategy","type":"address"}],"stateMutability":"view","type":"function","name":"getMemberPowerInStrategy","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"_member","type":"address"}],"stateMutability":"view","type":"function","name":"getMemberStakedAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getRoleAdmin","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getStakeAmountWithFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"grantRole"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"hasRole","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"uint256","name":"_amountStaked","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"increasePower"},{"inputs":[{"internalType":"struct RegistryCommunityV0_0.InitializeParams","name":"params","type":"tuple","components":[{"internalType":"address","name":"_allo","type":"address"},{"internalType":"contract IERC20","name":"_gardenToken","type":"address"},{"internalType":"uint256","name":"_registerStakeAmount","type":"uint256"},{"internalType":"uint256","name":"_communityFee","type":"uint256"},{"internalType":"uint256","name":"_nonce","type":"uint256"},{"internalType":"address","name":"_registryFactory","type":"address"},{"internalType":"address","name":"_feeReceiver","type":"address"},{"internalType":"struct Metadata","name":"_metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]},{"internalType":"address payable","name":"_councilSafe","type":"address"},{"internalType":"string","name":"_communityName","type":"string"},{"internalType":"bool","name":"_isKickEnabled","type":"bool"},{"internalType":"string","name":"covenantIpfsHash","type":"string"},{"internalType":"address","name":"_strategyTemplate","type":"address"}]}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[{"internalType":"address","name":"_member","type":"address"}],"stateMutability":"view","type":"function","name":"isCouncilMember","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"isKickEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"_member","type":"address"}],"stateMutability":"view","type":"function","name":"isMember","outputs":[{"internalType":"bool","name":"_isMember","type":"bool"}]},{"inputs":[{"internalType":"address","name":"_member","type":"address"},{"internalType":"address","name":"_transferAddress","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"kickMember"},{"inputs":[{"internalType":"address","name":"member","type":"address"},{"internalType":"address","name":"strategy","type":"address"}],"stateMutability":"view","type":"function","name":"memberActivatedInStrategies","outputs":[{"internalType":"bool","name":"isActivated","type":"bool"}]},{"inputs":[{"internalType":"address","name":"strategy","type":"address"},{"internalType":"address","name":"member","type":"address"}],"stateMutability":"view","type":"function","name":"memberPowerInStrategy","outputs":[{"internalType":"uint256","name":"power","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"pendingCouncilSafe","outputs":[{"internalType":"address payable","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"profileId","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"proxiableUUID","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"registerStakeAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"registry","outputs":[{"internalType":"contract IRegistry","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"registryFactory","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"_strategy","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"removeStrategy"},{"inputs":[{"internalType":"uint256","name":"poolId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"removeStrategyByPoolId"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"renounceOwnership"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"renounceRole"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"revokeRole"},{"inputs":[{"internalType":"uint256","name":"_newAmount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"setBasisStakedAmount"},{"inputs":[{"internalType":"uint256","name":"_newCommunityFee","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"setCommunityFee"},{"inputs":[{"internalType":"address payable","name":"_safe","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setCouncilSafe"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"stakeAndRegisterMember"},{"inputs":[{"internalType":"address","name":"member","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function","name":"strategiesByMember","outputs":[{"internalType":"address","name":"strategiesAddresses","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"strategyTemplate","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"stateMutability":"view","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transferOwnership"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"unregisterMember"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"upgradeTo"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"payable","type":"function","name":"upgradeToAndCall"}],"devdoc":{"kind":"dev","methods":{"getRoleAdmin(bytes32)":{"details":"Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}."},"grantRole(bytes32,address)":{"details":"Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleGranted} event."},"hasRole(bytes32,address)":{"details":"Returns `true` if `account` has been granted `role`."},"owner()":{"details":"Returns the address of the current owner."},"proxiableUUID()":{"details":"Implementation of the ERC1822 {proxiableUUID} function. This returns the storage slot used by the implementation. It is used to validate the implementation's compatibility when performing an upgrade. IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this function revert if invoked through a proxy. This is guaranteed by the `notDelegated` modifier."},"renounceOwnership()":{"details":"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner."},"renounceRole(bytes32,address)":{"details":"Revokes `role` from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been revoked `role`, emits a {RoleRevoked} event. Requirements: - the caller must be `account`. May emit a {RoleRevoked} event."},"revokeRole(bytes32,address)":{"details":"Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleRevoked} event."},"supportsInterface(bytes4)":{"details":"See {IERC165-supportsInterface}."},"transferOwnership(address)":{"details":"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner."},"upgradeTo(address)":{"custom:oz-upgrades-unsafe-allow-reachable":"delegatecall","details":"Upgrade the implementation of the proxy to `newImplementation`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event."},"upgradeToAndCall(address,bytes)":{"custom:oz-upgrades-unsafe-allow-reachable":"delegatecall","details":"Upgrade the implementation of the proxy to `newImplementation`, and subsequently execute the function call encoded in `data`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event."}},"version":1},"userdoc":{"kind":"user","methods":{"COUNCIL_MEMBER()":{"notice":"Role to council safe members"},"MAX_FEE()":{"notice":"The maximum fee that can be charged to the community"},"NATIVE()":{"notice":"The native address to represent native token eg: ETH in mainnet"},"PRECISION_SCALE()":{"notice":"The precision scale used in the contract to avoid loss of precision"},"addressToMemberInfo(address)":{"notice":"Member information as the staked amount and if is registered in the community"},"allo()":{"notice":"The Allo contract address"},"cloneNonce()":{"notice":"The nonce used to create new strategy clones"},"communityFee()":{"notice":"The fee charged to the community for each registration"},"communityName()":{"notice":"The community name"},"councilSafe()":{"notice":"The council safe contract address"},"covenantIpfsHash()":{"notice":"The covenant IPFS hash of community"},"enabledStrategies(address)":{"notice":"List of enabled/disabled strategies"},"feeReceiver()":{"notice":"The address that receives the community fee"},"gardenToken()":{"notice":"The token used to stake in the community"},"isKickEnabled()":{"notice":"Enable or disable the kick feature"},"memberActivatedInStrategies(address,address)":{"notice":"Mapping to check if a member is activated in a strategy"},"memberPowerInStrategy(address,address)":{"notice":"Power points for each member in each strategy"},"pendingCouncilSafe()":{"notice":"The address of the pending council safe owner"},"profileId()":{"notice":"The profileId of the community in the Allo Registry"},"registerStakeAmount()":{"notice":"The amount of tokens required to register a member"},"registry()":{"notice":"The Registry Allo contract"},"registryFactory()":{"notice":"The address of the registry factory"},"strategiesByMember(address,uint256)":{"notice":"List of strategies for each member are activated"},"strategyTemplate()":{"notice":"The address of the strategy template"}},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","eas-proxy/=lib/allo-v2/lib/eas-proxy/contracts/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","hedgey-vesting/=lib/allo-v2/lib/hedgey-vesting/contracts/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-contracts/=lib/safe-contracts/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","superfluid-protocol-monorepo/=lib/allo-v2/lib/superfluid-protocol-monorepo/packages/solidity-semantic-money/src/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":1000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"pkg/contracts/src/RegistryCommunityV0_0.sol":"RegistryCommunityV0_0"},"evmVersion":"paris","libraries":{}},"sources":{"lib/allo-v2/contracts/core/interfaces/IAllo.sol":{"keccak256":"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce","urls":["bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7","dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/interfaces/IRegistry.sol":{"keccak256":"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f","urls":["bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e","dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA"],"license":"MIT"},"lib/allo-v2/contracts/core/interfaces/IStrategy.sol":{"keccak256":"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23","urls":["bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487","dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Clone.sol":{"keccak256":"0xc348b24b7d8a98c4faa5f2aa37ce9264a74f81dbdef1a9bae2eaa125585c3c7e","urls":["bzz-raw://1335b3ec59ec7e3d12ea7c90b3aa56f4c26e0d44d342f54412933be9d4f16067","dweb:/ipfs/QmXNFo2wCyq9cpvfgbdHvBUQecThFSEoUnMuZNS6WinDrr"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Errors.sol":{"keccak256":"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15","urls":["bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf","dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Metadata.sol":{"keccak256":"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44","urls":["bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c","dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Native.sol":{"keccak256":"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5","urls":["bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a","dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Transfer.sol":{"keccak256":"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286","urls":["bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11","dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/strategies/BaseStrategy.sol":{"keccak256":"0x3f1382dc6c35d50545e327e7ed6016f2bd752357d446bd698014073f0b812873","urls":["bzz-raw://99500abcd617fa43f6dde49e2c7802821ceaf54a65a8055cbbf2695ecd107974","dweb:/ipfs/QmUktZkWuu3GCMEijY1fqt7NMy7BzpTvEtcmpB1fuoa7zt"],"license":"AGPL-3.0-only"},"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol":{"keccak256":"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624","urls":["bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298","dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt"],"license":"MIT"},"lib/forge-std/src/Vm.sol":{"keccak256":"0x51fec240abc6dd23e0ee6de7c65106379aef732cad6c4ae5df6b55db886e7456","urls":["bzz-raw://a47d9c0a9876e7f9e411843b994a741d4ac1a87d8459ffc3c56359de691ddc1a","dweb:/ipfs/QmQiFN9b3Y2azrD1RBfAKEuAG3YeJkMzA2DGzgEE9kMeEK"],"license":"MIT OR Apache-2.0"},"lib/forge-std/src/console.sol":{"keccak256":"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba","urls":["bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70","dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol":{"keccak256":"0xc8710577334e8d0799ae2b2a731b1924a7bddd64319da9787ddd2dc69bdd1ce5","urls":["bzz-raw://b83b7afa4d2372da3ba5402fb10860a105c35d79812c60dc61007be2afc17618","dweb:/ipfs/QmYX9xPmbNVSKXrepKiUZiG5oL3SdzFp9a4kqspxX1sEUx"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol":{"keccak256":"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa","urls":["bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c","dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol":{"keccak256":"0x359a1ab89b46b9aba7bcad3fb651924baf4893d15153049b9976b0fc9be1358e","urls":["bzz-raw://e89863421b4014b96a4b62be76eb3b9f0a8afe9684664a6f389124c0964bfe5c","dweb:/ipfs/Qmbk7xr1irpDuU1WdxXgxELBXxs61rHhCgod7heVcvFx16"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol":{"keccak256":"0x3d98edeb5d5be8410fca707b73dabe7544d1dd11e35b73dd907c473fe43cc3ae","urls":["bzz-raw://1a3fa9fc3aec149b8ad0dd8895277ab11e9244e9d2b7adc8404b22de974fc964","dweb:/ipfs/QmRggzxs1WjuvGJSAKb2Nw5r7P3VDMefCWKTbkNPKRkv2j"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794","urls":["bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e","dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol":{"keccak256":"0x2025ccf05f6f1f2fd4e078e552836f525a1864e3854ed555047cd732320ab29b","urls":["bzz-raw://d27f4b23c2dee42394aebaf42bf238285230f472dfd3282a39c3f000ec28214f","dweb:/ipfs/QmQa3DnvccwdWJeWrjgXPnFMTWbzWQWR39hVqC7eEwo2PC"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol":{"keccak256":"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422","urls":["bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b","dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef","urls":["bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95","dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol":{"keccak256":"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb","urls":["bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a","dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol":{"keccak256":"0xd90d7723512df65ae417adaf0801042940f0dabd60039ceeaffe34aa5b238da1","urls":["bzz-raw://1b13befeb3413749292f9fb229de1c7a509a5ce2c8047d9094fc004ca9d3af89","dweb:/ipfs/QmRzJ2hZSwRtMejHUZAYTPRKgZsnfb112Fno9Jf3EiDfwA"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol":{"keccak256":"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09","urls":["bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758","dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol":{"keccak256":"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e","urls":["bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91","dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol":{"keccak256":"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a","urls":["bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4","dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/access/AccessControl.sol":{"keccak256":"0x0dd6e52cb394d7f5abe5dca2d4908a6be40417914720932de757de34a99ab87f","urls":["bzz-raw://dc117ce50ea746cab6b97ed1a1facee17a715ae0cb95d67b943dacbaf15176fb","dweb:/ipfs/QmYRZ2UGNYwsHwfNu7Wjr8L2j1LBZ1mKv6NvbwgterYMXc"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/access/IAccessControl.sol":{"keccak256":"0x59ce320a585d7e1f163cd70390a0ef2ff9cec832e2aa544293a00692465a7a57","urls":["bzz-raw://bb2c137c343ef0c4c7ce7b18c1d108afdc9d315a04e48307288d2d05adcbde3a","dweb:/ipfs/QmUxhrAQM3MM3FF5j7AtcXLXguWCJBHJ14BRdVtuoQc8Fh"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/access/Ownable.sol":{"keccak256":"0xba43b97fba0d32eb4254f6a5a297b39a19a247082a02d6e69349e071e2946218","urls":["bzz-raw://fc980984badf3984b6303b377711220e067722bbd6a135b24669ff5069ef9f32","dweb:/ipfs/QmPHXMSXj99XjSVM21YsY6aNtLLjLVXDbyN76J5HQYvvrz"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol":{"keccak256":"0x3cbef5ebc24b415252e2f8c0c9254555d30d9f085603b4b80d9b5ed20ab87e90","urls":["bzz-raw://e8fa670c3bdce78e642cc6ae11c4cb38b133499cdce5e1990a9979d424703263","dweb:/ipfs/QmVxeCUk4jL2pXQyhsoNJwyU874wRufS2WvGe8TgPKPqhE"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol":{"keccak256":"0x1d4afe6cb24200cc4545eed814ecf5847277dfe5d613a1707aad5fceecebcfff","urls":["bzz-raw://383fb7b8181016ac5ccf07bc9cdb7c1b5045ea36e2cc4df52bcbf20396fc7688","dweb:/ipfs/QmYJ7Cg4WmE3rR8KGQxjUCXFfTH6TcwZ2Z1f6tPrq7jHFr"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol":{"keccak256":"0xa2b22da3032e50b55f95ec1d13336102d675f341167aa76db571ef7f8bb7975d","urls":["bzz-raw://96b6d77a20bebd4eb06b801d3d020c7e82be13bd535cb0d0a6b7181c51dab5d5","dweb:/ipfs/QmPUR9Cv9jNFdQX6PtBfaBW1ZCnKwiu65R2VD5kbdanDyn"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Upgrade.sol":{"keccak256":"0x3b21ae06bf5957f73fa16754b0669c77b7abd8ba6c072d35c3281d446fdb86c2","urls":["bzz-raw://2db8e18505e86e02526847005d7287a33e397ed7fb9eaba3fd4a4a197add16e2","dweb:/ipfs/QmW9BSuKTzHWHBNSHF4L8XfVuU1uJrP2vLg84YtBd8mL82"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol":{"keccak256":"0xc130fe33f1b2132158531a87734153293f6d07bc263ff4ac90e85da9c82c0e27","urls":["bzz-raw://8831721b6f4cc26534d190f9f1631c3f59c9ff38efdd911f85e0882b8e360472","dweb:/ipfs/QmQZnLErZNStirSQ13ZNWQgvEYUtGE5tXYwn4QUPaVUfPN"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol":{"keccak256":"0xd50a3421ac379ccb1be435fa646d66a65c986b4924f0849839f08692f39dde61","urls":["bzz-raw://ada1e030c0231db8d143b44ce92b4d1158eedb087880cad6d8cc7bd7ebe7b354","dweb:/ipfs/QmWZ2NHZweRpz1U9GF6R1h65ri76dnX7fNxLBeM2t5N5Ce"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x3d6069be9b4c01fb81840fb9c2c4dc58dd6a6a4aafaa2c6837de8699574d84c6","urls":["bzz-raw://720d6bb56ea0c4ef781c0bd65c5bd0541f5a46100163b2587170f97658d2deed","dweb:/ipfs/QmTS2biLVPrv8CeeXCaKmkFxonMiRvc1LxiYBRYDAJHQUS"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol":{"keccak256":"0xc6619957bcc6641fe8984bfaf9ff11a9e4b97d8149c0495f608f9a2416d7c5cf","urls":["bzz-raw://543be67f7fa43b1b932637c1c7f12035f0f4b0f7ee2bd3c33841186f79c165c1","dweb:/ipfs/QmSBPM2UVKbmJqWfD9i6hSiqbaE8TV4TSqfuiivziRRLKM"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/security/ReentrancyGuard.sol":{"keccak256":"0xa535a5df777d44e945dd24aa43a11e44b024140fc340ad0dfe42acf4002aade1","urls":["bzz-raw://41319e7f621f2dc3733511332c4fd032f8e32ad2aa7fd6f665c19741d9941a34","dweb:/ipfs/QmcYR3bd862GD1Bc7jwrU9bGxrhUu5na1oP964bDCu2id1"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol":{"keccak256":"0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c","urls":["bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15","dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305","urls":["bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5","dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol":{"keccak256":"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca","urls":["bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd","dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol":{"keccak256":"0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a","urls":["bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a","dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol":{"keccak256":"0x909d608c2db6eb165ca178c81289a07ed2e118e444d0025b2a85c97d0b44a4fa","urls":["bzz-raw://656cda26512ddd7373c2d5551c8fae759fc30f05b10f0fc2e738e9274199dbd4","dweb:/ipfs/QmTSArSzQRFbQmHgq7U1PZXnsDFhvDZhKVu9CzMG4yo6Lx"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Address.sol":{"keccak256":"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa","urls":["bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931","dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Context.sol":{"keccak256":"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7","urls":["bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92","dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol":{"keccak256":"0xf09e68aa0dc6722a25bc46490e8d48ed864466d17313b8a0b254c36b54e49899","urls":["bzz-raw://e26daf81e2252dc1fe1ce0e4b55c2eb7c6d1ee84ae6558d1a9554432ea1d32da","dweb:/ipfs/Qmb1UANWiWq5pCKbmHSu772hd4nt374dVaghGmwSVNuk8Q"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Strings.sol":{"keccak256":"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0","urls":["bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f","dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol":{"keccak256":"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b","urls":["bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d","dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol":{"keccak256":"0x5a08ad61f4e82b8a3323562661a86fb10b10190848073fdc13d4ac43710ffba5","urls":["bzz-raw://6f7bb74cf88fd88daa34e118bc6e363381d05044f34f391d39a10c0c9dac3ebd","dweb:/ipfs/QmNbQ3v8v4zuDtg7VeLAbdhAm3tCzUodNoDZZ8ekmCHWZX"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/Math.sol":{"keccak256":"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3","urls":["bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c","dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol":{"keccak256":"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc","urls":["bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7","dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/src/strings.sol":{"keccak256":"0x42cad11a7033f2fe05dd68611d2304407a620ac985b91edf29d5868cfe196223","urls":["bzz-raw://3cbc2333234e1f00eab5e57c4bcaf5115661e5e066a17c70af587a0a96f24669","dweb:/ipfs/QmPHvStqcvZL46LW5N2ExTwAaqNhRCcmAX66aR6oE1WDar"],"license":null},"lib/openzeppelin-foundry-upgrades/src/Defender.sol":{"keccak256":"0x2114e4d70d53b36e8cec54ba11ff78d9f38a466ec3504c76c7f26101a7cff37f","urls":["bzz-raw://58f4d9bc58646e7631b263cdb8ef260e6818e9f716036d81d1c18218c9557a23","dweb:/ipfs/QmS18L4R4gPtay9eQBcR28DnwmBkGSWsiCFwm2tXc3BkHL"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/LegacyUpgrades.sol":{"keccak256":"0x8436719f73c76efadaa16cd719d088f698ea3591595dfdf2c15fd66f3e203197","urls":["bzz-raw://ac8d0e55defe124adcc3845348602d6528b00b7dc5f7abf9e1b245d0cea9b55e","dweb:/ipfs/QmaPBoG89Bd2btJZW5kjXx7zXo6KhAdeTuMq5xo431M8xq"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/Options.sol":{"keccak256":"0xa5414683d6b219b28e75ecaab3d00a305dfaf4d970389a88992275c8072ce8ac","urls":["bzz-raw://b1dbfd566ba318f2b740159c28e4511c84c9d76fcc293ae17c9b1a87b3ea16c9","dweb:/ipfs/QmcyxPoeBdzA9iHEgd76xKhaQ8HKfpV4owdSv6127MmveT"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Core.sol":{"keccak256":"0x37073df20d2b5fbb0a873e6b2dd76c23e23455d1c2d2ba57d2f0998201a4251d","urls":["bzz-raw://79d507647ea48d93371341684cf4199d55ed799db9d3489bc016f53990d2ff7c","dweb:/ipfs/QmQWgXiYcPcwNcrkTHb72WtHd4xPcXfRUMfBrhkDHgr2ut"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/DefenderDeploy.sol":{"keccak256":"0x868ffdaf5d185fee103fc4581385392b47c209a5cfd2aec01f0307dbc0101d73","urls":["bzz-raw://76e51bf69a4d0b5d1d9cfa7efa442bdcf9d713966563432ef8fdd00ec959a25e","dweb:/ipfs/QmTHkdvMnqmEvus7zbmHhPkWk3fM9SW2Jq8gnyBLwVJtxG"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Utils.sol":{"keccak256":"0x4de002af810f6a5fe26a6381e0ead3331735bd0059434a22df75e17c177b5f87","urls":["bzz-raw://af32ff07f606e530a53030db141a75af144cfe065a6543939d412018c6159540","dweb:/ipfs/QmbfTB92Zd8VQHW61g9dx1CvGgSL5SCoZDLrvJfnR7Ctio"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Versions.sol":{"keccak256":"0xf1a1441c18a296853509e9b1d18be794ed3de836caea49d6948b5e9ac566e8c6","urls":["bzz-raw://6f3463514235bd875ecacf45f95cac64aa650dd38d05c15fe1f4203b6b5733bd","dweb:/ipfs/Qmcbhmw9NPkG8MqiVsQ4qUupeQFCRgyBDKuoUwohwa8EP3"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IProxyAdmin.sol":{"keccak256":"0xf5e514595089f8959da130507086e7388602a71ce60575d141e7d892dfbddbfc","urls":["bzz-raw://9b41366e2823ccc8cb42304496d761b3df80946d17384634a61afd7139495c91","dweb:/ipfs/QmZE2nRMxax1NPj63ifemKdScGJzKNWi7BCGudjFLsUz1y"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableBeacon.sol":{"keccak256":"0xa8d7bffdd26eb763e459650c83f247b54af79800c2df52ad05878f238fc1c2f8","urls":["bzz-raw://8ed47f1e53e5eb7d48fed60a414755641fca8fa0e713fd503b2597227da78a2f","dweb:/ipfs/QmQr8A5wddHdhQNauFShXxRkPcuVVpVsYpq846WhmFC8Tv"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableProxy.sol":{"keccak256":"0x781b564b90bba0c0e8e12fb66b1c910f42d369db469f2e88592b4cff29de99a5","urls":["bzz-raw://45fcab02a43fde934445b88e905aba3f58a70b75dd6ee6eb86a3d593424aeb03","dweb:/ipfs/QmXmhAgrctaYUDLoTRgUjwD4deoXu1E2QT1kftVGcVa56j"],"license":"MIT"},"pkg/contracts/src/BaseStrategyUpgradeable.sol":{"keccak256":"0xe059f9e1a262a4713e230a6025c3356681bb5f3c8013b87bc579bae93aa66c20","urls":["bzz-raw://37e879664b08005b9544457cf89bce77e38b6a25639566df7366b9e5968c815e","dweb:/ipfs/QmYgNRqZfYUPbWgcHUHghTcpqjVmT9v4HfkfPdEF64fYe5"],"license":"AGPL-3.0-only"},"pkg/contracts/src/CVStrategy.sol":{"keccak256":"0x132bcf17470960e380d841159d9389985d609aaae1c9a657c78902f7871da957","urls":["bzz-raw://84e905bf392579b44f33fff8586431b940e110b2210854cf487321cc92061705","dweb:/ipfs/QmQpvszYu8RbrXmUFLifSodQzV8LAqazk1fzXNARGc5sBT"],"license":"AGPL-3.0-only"},"pkg/contracts/src/CVStrategyV0_0.sol":{"keccak256":"0x79d01b399c8d735923dfa26b8dacba6200a861202dd6fb1c7711241285439d2d","urls":["bzz-raw://e7ea0014e25a729d6d688620658df81a179a8c2380ae0bc4c78668cd486adb04","dweb:/ipfs/QmdPM8JpFXeqBxQgkRzM1inzCT2rkRxnpoSrFk8DauDpNf"],"license":"AGPL-3.0-only"},"pkg/contracts/src/ISybilScorer.sol":{"keccak256":"0x0e25fbb8497ac3c969d80c9032362d45e56c0a45dc9ba3dff6a8a704571f38ea","urls":["bzz-raw://0dff90ebae6e7131a5300fcaf525bc2ab0ae90fcd13f277d7b7b6939eeb8b7eb","dweb:/ipfs/QmYGkYqpUVrBWoNY6f3CtwrrVQFWSvnJfpu68t95f6AkBY"],"license":"MIT"},"pkg/contracts/src/RegistryCommunity.sol":{"keccak256":"0xc735f4d2635149f2db9bff291da56e08c3c312d9eb1b767b8a1e3e51584d5734","urls":["bzz-raw://247b33b78abface6a7e2da38174386de9b543f6a27e8340e26d854bff57184a3","dweb:/ipfs/QmedNdqkqeboGzz9w868uGf7KnXUaYZe6i1YcdUPPkJnnf"],"license":"AGPL-3.0-only"},"pkg/contracts/src/RegistryCommunityV0_0.sol":{"keccak256":"0x6525c857f7baff606e87bbc2878f3606923997a444eb500aa15018c676c972a9","urls":["bzz-raw://89d2af9f470c8d7431ff6b1981b7bf46520f719d68da38ab3ca065496a6297d8","dweb:/ipfs/QmceJHX57HbnBXVfmhtRPmnApUQy5QSWTybgq6g37vCxEN"],"license":"AGPL-3.0-only"},"pkg/contracts/src/RegistryFactory.sol":{"keccak256":"0x888b7f5eb1079f90ccfa0b41d8a970bffd8d4d469f9b31917a58279b358dbda5","urls":["bzz-raw://af25fd783de00adf01d1c7caa572801fed0d474306a43b862535b08e65ec10c6","dweb:/ipfs/Qmeb2nEaMQLV86y1CYAAV2c6BYpBDTbpLuC1SigeNjdqLo"],"license":"AGPL-3.0-only"},"pkg/contracts/src/interfaces/FAllo.sol":{"keccak256":"0x32f38cb4400a07a99ae68a9beb91e5649886487172fd50561da6763464efc437","urls":["bzz-raw://cb4f0cee2f3fbede7be5e8e1d7ee8034086359cd07b9dab49c4a991388e5c458","dweb:/ipfs/QmS26kA8cZ9shWwxcbF17Kes8L7Jgw85EQVydDmwb34mjM"],"license":"AGPL-3.0-only"},"pkg/contracts/src/interfaces/ISafe.sol":{"keccak256":"0x878a210809bb684c42157a10f3f90350a67d0a4863f130499942b06f0f2c9143","urls":["bzz-raw://fa2d71bd427c3415e98a2ee15ff673f3cc61c17f14d7087c5eedc83b55f6b0ef","dweb:/ipfs/QmesVSmJQQzi6ys1cvhQFCJyDXchb736mT5bXks4Yp6Cbj"],"license":"LGPL-3.0-only"}},"version":1},"storageLayout":{"storage":[{"astId":53029,"contract":"pkg/contracts/src/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"_initialized","offset":0,"slot":"0","type":"t_uint8"},{"astId":53032,"contract":"pkg/contracts/src/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"_initializing","offset":1,"slot":"0","type":"t_bool"},{"astId":53734,"contract":"pkg/contracts/src/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"__gap","offset":0,"slot":"1","type":"t_array(t_uint256)50_storage"},{"astId":52821,"contract":"pkg/contracts/src/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"_owner","offset":0,"slot":"51","type":"t_address"},{"astId":52941,"contract":"pkg/contracts/src/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"__gap","offset":0,"slot":"52","type":"t_array(t_uint256)49_storage"},{"astId":53206,"contract":"pkg/contracts/src/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"_status","offset":0,"slot":"101","type":"t_uint256"},{"astId":53275,"contract":"pkg/contracts/src/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"__gap","offset":0,"slot":"102","type":"t_array(t_uint256)49_storage"},{"astId":54008,"contract":"pkg/contracts/src/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"__gap","offset":0,"slot":"151","type":"t_array(t_uint256)50_storage"},{"astId":52428,"contract":"pkg/contracts/src/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"_roles","offset":0,"slot":"201","type":"t_mapping(t_bytes32,t_struct(RoleData)52423_storage)"},{"astId":52735,"contract":"pkg/contracts/src/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"__gap","offset":0,"slot":"202","type":"t_array(t_uint256)49_storage"},{"astId":83157,"contract":"pkg/contracts/src/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"isKickEnabled","offset":0,"slot":"251","type":"t_bool"},{"astId":83160,"contract":"pkg/contracts/src/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"registerStakeAmount","offset":0,"slot":"252","type":"t_uint256"},{"astId":83163,"contract":"pkg/contracts/src/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"communityFee","offset":0,"slot":"253","type":"t_uint256"},{"astId":83166,"contract":"pkg/contracts/src/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"profileId","offset":0,"slot":"254","type":"t_bytes32"},{"astId":83169,"contract":"pkg/contracts/src/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"feeReceiver","offset":0,"slot":"255","type":"t_address"},{"astId":83172,"contract":"pkg/contracts/src/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"registryFactory","offset":0,"slot":"256","type":"t_address"},{"astId":83175,"contract":"pkg/contracts/src/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"strategyTemplate","offset":0,"slot":"257","type":"t_address"},{"astId":83178,"contract":"pkg/contracts/src/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"cloneNonce","offset":0,"slot":"258","type":"t_uint256"},{"astId":83181,"contract":"pkg/contracts/src/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"pendingCouncilSafe","offset":0,"slot":"259","type":"t_address_payable"},{"astId":83185,"contract":"pkg/contracts/src/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"registry","offset":0,"slot":"260","type":"t_contract(IRegistry)2802"},{"astId":83189,"contract":"pkg/contracts/src/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"gardenToken","offset":0,"slot":"261","type":"t_contract(IERC20)57069"},{"astId":83193,"contract":"pkg/contracts/src/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"councilSafe","offset":0,"slot":"262","type":"t_contract(ISafe)85665"},{"astId":83197,"contract":"pkg/contracts/src/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"allo","offset":0,"slot":"263","type":"t_contract(FAllo)85656"},{"astId":83200,"contract":"pkg/contracts/src/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"communityName","offset":0,"slot":"264","type":"t_string_storage"},{"astId":83203,"contract":"pkg/contracts/src/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"covenantIpfsHash","offset":0,"slot":"265","type":"t_string_storage"},{"astId":83208,"contract":"pkg/contracts/src/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"enabledStrategies","offset":0,"slot":"266","type":"t_mapping(t_address,t_bool)"},{"astId":83215,"contract":"pkg/contracts/src/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"memberPowerInStrategy","offset":0,"slot":"267","type":"t_mapping(t_address,t_mapping(t_address,t_uint256))"},{"astId":83221,"contract":"pkg/contracts/src/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"addressToMemberInfo","offset":0,"slot":"268","type":"t_mapping(t_address,t_struct(Member)83482_storage)"},{"astId":83227,"contract":"pkg/contracts/src/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"strategiesByMember","offset":0,"slot":"269","type":"t_mapping(t_address,t_array(t_address)dyn_storage)"},{"astId":83234,"contract":"pkg/contracts/src/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"memberActivatedInStrategies","offset":0,"slot":"270","type":"t_mapping(t_address,t_mapping(t_address,t_bool))"},{"astId":83238,"contract":"pkg/contracts/src/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"initialMembers","offset":0,"slot":"271","type":"t_array(t_address)dyn_storage"},{"astId":85046,"contract":"pkg/contracts/src/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"__gap","offset":0,"slot":"272","type":"t_array(t_uint256)50_storage"}],"types":{"t_address":{"encoding":"inplace","label":"address","numberOfBytes":"20"},"t_address_payable":{"encoding":"inplace","label":"address payable","numberOfBytes":"20"},"t_array(t_address)dyn_storage":{"encoding":"dynamic_array","label":"address[]","numberOfBytes":"32","base":"t_address"},"t_array(t_uint256)49_storage":{"encoding":"inplace","label":"uint256[49]","numberOfBytes":"1568","base":"t_uint256"},"t_array(t_uint256)50_storage":{"encoding":"inplace","label":"uint256[50]","numberOfBytes":"1600","base":"t_uint256"},"t_bool":{"encoding":"inplace","label":"bool","numberOfBytes":"1"},"t_bytes32":{"encoding":"inplace","label":"bytes32","numberOfBytes":"32"},"t_contract(FAllo)85656":{"encoding":"inplace","label":"contract FAllo","numberOfBytes":"20"},"t_contract(IERC20)57069":{"encoding":"inplace","label":"contract IERC20","numberOfBytes":"20"},"t_contract(IRegistry)2802":{"encoding":"inplace","label":"contract IRegistry","numberOfBytes":"20"},"t_contract(ISafe)85665":{"encoding":"inplace","label":"contract ISafe","numberOfBytes":"20"},"t_mapping(t_address,t_array(t_address)dyn_storage)":{"encoding":"mapping","key":"t_address","label":"mapping(address => address[])","numberOfBytes":"32","value":"t_array(t_address)dyn_storage"},"t_mapping(t_address,t_bool)":{"encoding":"mapping","key":"t_address","label":"mapping(address => bool)","numberOfBytes":"32","value":"t_bool"},"t_mapping(t_address,t_mapping(t_address,t_bool))":{"encoding":"mapping","key":"t_address","label":"mapping(address => mapping(address => bool))","numberOfBytes":"32","value":"t_mapping(t_address,t_bool)"},"t_mapping(t_address,t_mapping(t_address,t_uint256))":{"encoding":"mapping","key":"t_address","label":"mapping(address => mapping(address => uint256))","numberOfBytes":"32","value":"t_mapping(t_address,t_uint256)"},"t_mapping(t_address,t_struct(Member)83482_storage)":{"encoding":"mapping","key":"t_address","label":"mapping(address => struct RegistryCommunityV0_0.Member)","numberOfBytes":"32","value":"t_struct(Member)83482_storage"},"t_mapping(t_address,t_uint256)":{"encoding":"mapping","key":"t_address","label":"mapping(address => uint256)","numberOfBytes":"32","value":"t_uint256"},"t_mapping(t_bytes32,t_struct(RoleData)52423_storage)":{"encoding":"mapping","key":"t_bytes32","label":"mapping(bytes32 => struct AccessControlUpgradeable.RoleData)","numberOfBytes":"32","value":"t_struct(RoleData)52423_storage"},"t_string_storage":{"encoding":"bytes","label":"string","numberOfBytes":"32"},"t_struct(Member)83482_storage":{"encoding":"inplace","label":"struct RegistryCommunityV0_0.Member","numberOfBytes":"96","members":[{"astId":83477,"contract":"pkg/contracts/src/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"member","offset":0,"slot":"0","type":"t_address"},{"astId":83479,"contract":"pkg/contracts/src/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"stakedAmount","offset":0,"slot":"1","type":"t_uint256"},{"astId":83481,"contract":"pkg/contracts/src/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"isRegistered","offset":0,"slot":"2","type":"t_bool"}]},"t_struct(RoleData)52423_storage":{"encoding":"inplace","label":"struct AccessControlUpgradeable.RoleData","numberOfBytes":"64","members":[{"astId":52420,"contract":"pkg/contracts/src/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"members","offset":0,"slot":"0","type":"t_mapping(t_address,t_bool)"},{"astId":52422,"contract":"pkg/contracts/src/RegistryCommunityV0_0.sol:RegistryCommunityV0_0","label":"adminRole","offset":0,"slot":"1","type":"t_bytes32"}]},"t_uint256":{"encoding":"inplace","label":"uint256","numberOfBytes":"32"},"t_uint8":{"encoding":"inplace","label":"uint8","numberOfBytes":"1"}}},"ast":{"absolutePath":"pkg/contracts/src/RegistryCommunityV0_0.sol","id":85048,"exportedSymbols":{"AccessControlUpgradeable":[52736],"CVStrategyV0_0":[80578],"Clone":[3002],"ERC165Checker":[58460],"ERC1967Proxy":[55562],"FAllo":[85656],"IAllo":[2610],"IERC20":[57069],"IPointStrategy":[77667],"IRegistry":[2802],"ISafe":[85665],"Metadata":[3098],"OwnableUpgradeable":[52942],"ReentrancyGuardUpgradeable":[53276],"RegistryCommunityV0_0":[85047],"RegistryFactory":[85283],"SafeERC20":[57506],"StrategyStruct":[77752],"UUPSUpgradeable":[56213],"Upgrades":[61717],"console":[29549]},"nodeType":"SourceUnit","src":"42:25374:134","nodes":[{"id":83084,"nodeType":"PragmaDirective","src":"42:24:134","nodes":[],"literals":["solidity","^","0.8",".19"]},{"id":83085,"nodeType":"ImportDirective","src":"68:31:134","nodes":[],"absolutePath":"lib/forge-std/src/console.sol","file":"forge-std/console.sol","nameLocation":"-1:-1:-1","scope":85048,"sourceUnit":29550,"symbolAliases":[],"unitAlias":""},{"id":83087,"nodeType":"ImportDirective","src":"101:70:134","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol","file":"@openzeppelin/contracts/token/ERC20/IERC20.sol","nameLocation":"-1:-1:-1","scope":85048,"sourceUnit":57070,"symbolAliases":[{"foreign":{"id":83086,"name":"IERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57069,"src":"109:6:134","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":83089,"nodeType":"ImportDirective","src":"172:82:134","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol","file":"@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol","nameLocation":"-1:-1:-1","scope":85048,"sourceUnit":57507,"symbolAliases":[{"foreign":{"id":83088,"name":"SafeERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57506,"src":"180:9:134","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":83091,"nodeType":"ImportDirective","src":"255:92:134","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol","file":"@openzeppelin/contracts/utils/introspection/ERC165Checker.sol","nameLocation":"-1:-1:-1","scope":85048,"sourceUnit":58461,"symbolAliases":[{"foreign":{"id":83090,"name":"ERC165Checker","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58460,"src":"263:13:134","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":83093,"nodeType":"ImportDirective","src":"348:88:134","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol","file":"@openzeppelin/contracts/proxy/utils/UUPSUpgradeable.sol","nameLocation":"-1:-1:-1","scope":85048,"sourceUnit":56214,"symbolAliases":[{"foreign":{"id":83092,"name":"UUPSUpgradeable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56213,"src":"356:15:134","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":83095,"nodeType":"ImportDirective","src":"438:110:134","nodes":[],"absolutePath":"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol","file":"openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol","nameLocation":"-1:-1:-1","scope":85048,"sourceUnit":52943,"symbolAliases":[{"foreign":{"id":83094,"name":"OwnableUpgradeable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52942,"src":"446:18:134","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":83097,"nodeType":"ImportDirective","src":"549:132:134","nodes":[],"absolutePath":"lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol","file":"openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol","nameLocation":"-1:-1:-1","scope":85048,"sourceUnit":53277,"symbolAliases":[{"foreign":{"id":83096,"name":"ReentrancyGuardUpgradeable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53276,"src":"557:26:134","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":83099,"nodeType":"ImportDirective","src":"682:126:134","nodes":[],"absolutePath":"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol","file":"openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol","nameLocation":"-1:-1:-1","scope":85048,"sourceUnit":52737,"symbolAliases":[{"foreign":{"id":83098,"name":"AccessControlUpgradeable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52736,"src":"690:24:134","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":83101,"nodeType":"ImportDirective","src":"810:66:134","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/interfaces/IAllo.sol","file":"allo-v2-contracts/core/interfaces/IAllo.sol","nameLocation":"-1:-1:-1","scope":85048,"sourceUnit":2611,"symbolAliases":[{"foreign":{"id":83100,"name":"IAllo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2610,"src":"818:5:134","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":83103,"nodeType":"ImportDirective","src":"877:65:134","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/libraries/Clone.sol","file":"allo-v2-contracts/core/libraries/Clone.sol","nameLocation":"-1:-1:-1","scope":85048,"sourceUnit":3003,"symbolAliases":[{"foreign":{"id":83102,"name":"Clone","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3002,"src":"885:5:134","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":83106,"nodeType":"ImportDirective","src":"943:84:134","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/interfaces/IRegistry.sol","file":"allo-v2-contracts/core/interfaces/IRegistry.sol","nameLocation":"-1:-1:-1","scope":85048,"sourceUnit":2803,"symbolAliases":[{"foreign":{"id":83104,"name":"IRegistry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2802,"src":"951:9:134","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":83105,"name":"Metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3098,"src":"962:8:134","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":83108,"nodeType":"ImportDirective","src":"1028:45:134","nodes":[],"absolutePath":"pkg/contracts/src/interfaces/FAllo.sol","file":"./interfaces/FAllo.sol","nameLocation":"-1:-1:-1","scope":85048,"sourceUnit":85657,"symbolAliases":[{"foreign":{"id":83107,"name":"FAllo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85656,"src":"1036:5:134","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":83110,"nodeType":"ImportDirective","src":"1074:45:134","nodes":[],"absolutePath":"pkg/contracts/src/interfaces/ISafe.sol","file":"./interfaces/ISafe.sol","nameLocation":"-1:-1:-1","scope":85048,"sourceUnit":85666,"symbolAliases":[{"foreign":{"id":83109,"name":"ISafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85665,"src":"1082:5:134","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":83112,"nodeType":"ImportDirective","src":"1120:54:134","nodes":[],"absolutePath":"pkg/contracts/src/RegistryFactory.sol","file":"./RegistryFactory.sol","nameLocation":"-1:-1:-1","scope":85048,"sourceUnit":85284,"symbolAliases":[{"foreign":{"id":83111,"name":"RegistryFactory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85283,"src":"1128:15:134","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":83116,"nodeType":"ImportDirective","src":"1175:84:134","nodes":[],"absolutePath":"pkg/contracts/src/CVStrategyV0_0.sol","file":"./CVStrategyV0_0.sol","nameLocation":"-1:-1:-1","scope":85048,"sourceUnit":80579,"symbolAliases":[{"foreign":{"id":83113,"name":"IPointStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77667,"src":"1183:14:134","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":83114,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77752,"src":"1199:14:134","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":83115,"name":"CVStrategyV0_0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80578,"src":"1215:14:134","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":83118,"nodeType":"ImportDirective","src":"1261:66:134","nodes":[],"absolutePath":"lib/openzeppelin-foundry-upgrades/src/LegacyUpgrades.sol","file":"@openzeppelin/foundry/LegacyUpgrades.sol","nameLocation":"-1:-1:-1","scope":85048,"sourceUnit":61838,"symbolAliases":[{"foreign":{"id":83117,"name":"Upgrades","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61717,"src":"1269:8:134","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":83120,"nodeType":"ImportDirective","src":"1329:84:134","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol","file":"@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.sol","nameLocation":"-1:-1:-1","scope":85048,"sourceUnit":55563,"symbolAliases":[{"foreign":{"id":83119,"name":"ERC1967Proxy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55562,"src":"1337:12:134","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":85047,"nodeType":"ContractDefinition","src":"1415:24000:134","nodes":[{"id":83131,"nodeType":"UsingForDirective","src":"1561:32:134","nodes":[],"global":false,"libraryName":{"id":83129,"name":"ERC165Checker","nameLocations":["1567:13:134"],"nodeType":"IdentifierPath","referencedDeclaration":58460,"src":"1567:13:134"},"typeName":{"id":83130,"name":"address","nodeType":"ElementaryTypeName","src":"1585:7:134","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}},{"id":83135,"nodeType":"UsingForDirective","src":"1598:27:134","nodes":[],"global":false,"libraryName":{"id":83132,"name":"SafeERC20","nameLocations":["1604:9:134"],"nodeType":"IdentifierPath","referencedDeclaration":57506,"src":"1604:9:134"},"typeName":{"id":83134,"nodeType":"UserDefinedTypeName","pathNode":{"id":83133,"name":"IERC20","nameLocations":["1618:6:134"],"nodeType":"IdentifierPath","referencedDeclaration":57069,"src":"1618:6:134"},"referencedDeclaration":57069,"src":"1618:6:134","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$57069","typeString":"contract IERC20"}}},{"id":83138,"nodeType":"UsingForDirective","src":"1630:24:134","nodes":[],"global":false,"libraryName":{"id":83136,"name":"Clone","nameLocations":["1636:5:134"],"nodeType":"IdentifierPath","referencedDeclaration":3002,"src":"1636:5:134"},"typeName":{"id":83137,"name":"address","nodeType":"ElementaryTypeName","src":"1646:7:134","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}},{"id":83142,"nodeType":"VariableDeclaration","src":"1740:75:134","nodes":[],"constant":true,"documentation":{"id":83139,"nodeType":"StructuredDocumentation","src":"1660:75:134","text":"@notice The native address to represent native token eg: ETH in mainnet"},"functionSelector":"a0cf0aea","mutability":"constant","name":"NATIVE","nameLocation":"1764:6:134","scope":85047,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":83140,"name":"address","nodeType":"ElementaryTypeName","src":"1740:7:134","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":{"hexValue":"307845656565654565656545654565654565456545656545454565656565456565656565656545456545","id":83141,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1773:42:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE"},"visibility":"public"},{"id":83148,"nodeType":"VariableDeclaration","src":"1905:49:134","nodes":[],"constant":true,"documentation":{"id":83143,"nodeType":"StructuredDocumentation","src":"1821:79:134","text":"@notice The precision scale used in the contract to avoid loss of precision"},"functionSelector":"d7050f07","mutability":"constant","name":"PRECISION_SCALE","nameLocation":"1929:15:134","scope":85047,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":83144,"name":"uint256","nodeType":"ElementaryTypeName","src":"1905:7:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"commonType":{"typeIdentifier":"t_rational_10000_by_1","typeString":"int_const 10000"},"id":83147,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":83145,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1947:2:134","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"34","id":83146,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1953:1:134","typeDescriptions":{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},"value":"4"},"src":"1947:7:134","typeDescriptions":{"typeIdentifier":"t_rational_10000_by_1","typeString":"int_const 10000"}},"visibility":"public"},{"id":83154,"nodeType":"VariableDeclaration","src":"2029:54:134","nodes":[],"constant":true,"documentation":{"id":83149,"nodeType":"StructuredDocumentation","src":"1960:64:134","text":"@notice The maximum fee that can be charged to the community"},"functionSelector":"bc063e1a","mutability":"constant","name":"MAX_FEE","nameLocation":"2053:7:134","scope":85047,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":83150,"name":"uint256","nodeType":"ElementaryTypeName","src":"2029:7:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":83153,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":83151,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2063:2:134","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":83152,"name":"PRECISION_SCALE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83148,"src":"2068:15:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2063:20:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"id":83157,"nodeType":"VariableDeclaration","src":"2141:25:134","nodes":[],"constant":false,"documentation":{"id":83155,"nodeType":"StructuredDocumentation","src":"2090:46:134","text":"@notice Enable or disable the kick feature"},"functionSelector":"1f787d28","mutability":"mutable","name":"isKickEnabled","nameLocation":"2153:13:134","scope":85047,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":83156,"name":"bool","nodeType":"ElementaryTypeName","src":"2141:4:134","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"public"},{"id":83160,"nodeType":"VariableDeclaration","src":"2240:34:134","nodes":[],"constant":false,"documentation":{"id":83158,"nodeType":"StructuredDocumentation","src":"2173:62:134","text":"@notice The amount of tokens required to register a member"},"functionSelector":"78a0b8a9","mutability":"mutable","name":"registerStakeAmount","nameLocation":"2255:19:134","scope":85047,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":83159,"name":"uint256","nodeType":"ElementaryTypeName","src":"2240:7:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"id":83163,"nodeType":"VariableDeclaration","src":"2351:27:134","nodes":[],"constant":false,"documentation":{"id":83161,"nodeType":"StructuredDocumentation","src":"2280:66:134","text":"@notice The fee charged to the community for each registration"},"functionSelector":"8961be6b","mutability":"mutable","name":"communityFee","nameLocation":"2366:12:134","scope":85047,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":83162,"name":"uint256","nodeType":"ElementaryTypeName","src":"2351:7:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"id":83166,"nodeType":"VariableDeclaration","src":"2452:24:134","nodes":[],"constant":false,"documentation":{"id":83164,"nodeType":"StructuredDocumentation","src":"2384:63:134","text":"@notice The profileId of the community in the Allo Registry"},"functionSelector":"08386eba","mutability":"mutable","name":"profileId","nameLocation":"2467:9:134","scope":85047,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":83165,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2452:7:134","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"public"},{"id":83169,"nodeType":"VariableDeclaration","src":"2543:26:134","nodes":[],"constant":false,"documentation":{"id":83167,"nodeType":"StructuredDocumentation","src":"2483:55:134","text":"@notice The address that receives the community fee"},"functionSelector":"b3f00674","mutability":"mutable","name":"feeReceiver","nameLocation":"2558:11:134","scope":85047,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":83168,"name":"address","nodeType":"ElementaryTypeName","src":"2543:7:134","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"public"},{"id":83172,"nodeType":"VariableDeclaration","src":"2627:30:134","nodes":[],"constant":false,"documentation":{"id":83170,"nodeType":"StructuredDocumentation","src":"2575:47:134","text":"@notice The address of the registry factory"},"functionSelector":"f86c5f89","mutability":"mutable","name":"registryFactory","nameLocation":"2642:15:134","scope":85047,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":83171,"name":"address","nodeType":"ElementaryTypeName","src":"2627:7:134","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"public"},{"id":83175,"nodeType":"VariableDeclaration","src":"2716:31:134","nodes":[],"constant":false,"documentation":{"id":83173,"nodeType":"StructuredDocumentation","src":"2663:48:134","text":"@notice The address of the strategy template"},"functionSelector":"5c94e4d2","mutability":"mutable","name":"strategyTemplate","nameLocation":"2731:16:134","scope":85047,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":83174,"name":"address","nodeType":"ElementaryTypeName","src":"2716:7:134","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"public"},{"id":83178,"nodeType":"VariableDeclaration","src":"2814:25:134","nodes":[],"constant":false,"documentation":{"id":83176,"nodeType":"StructuredDocumentation","src":"2753:56:134","text":"@notice The nonce used to create new strategy clones"},"functionSelector":"33960459","mutability":"mutable","name":"cloneNonce","nameLocation":"2829:10:134","scope":85047,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":83177,"name":"uint256","nodeType":"ElementaryTypeName","src":"2814:7:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"id":83181,"nodeType":"VariableDeclaration","src":"2907:41:134","nodes":[],"constant":false,"documentation":{"id":83179,"nodeType":"StructuredDocumentation","src":"2845:57:134","text":"@notice The address of the pending council safe owner"},"functionSelector":"68decabb","mutability":"mutable","name":"pendingCouncilSafe","nameLocation":"2930:18:134","scope":85047,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"},"typeName":{"id":83180,"name":"address","nodeType":"ElementaryTypeName","src":"2907:15:134","stateMutability":"payable","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"visibility":"public"},{"id":83185,"nodeType":"VariableDeclaration","src":"2998:25:134","nodes":[],"constant":false,"documentation":{"id":83182,"nodeType":"StructuredDocumentation","src":"2955:38:134","text":"@notice The Registry Allo contract"},"functionSelector":"7b103999","mutability":"mutable","name":"registry","nameLocation":"3015:8:134","scope":85047,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"},"typeName":{"id":83184,"nodeType":"UserDefinedTypeName","pathNode":{"id":83183,"name":"IRegistry","nameLocations":["2998:9:134"],"nodeType":"IdentifierPath","referencedDeclaration":2802,"src":"2998:9:134"},"referencedDeclaration":2802,"src":"2998:9:134","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"}},"visibility":"public"},{"id":83189,"nodeType":"VariableDeclaration","src":"3086:25:134","nodes":[],"constant":false,"documentation":{"id":83186,"nodeType":"StructuredDocumentation","src":"3029:52:134","text":"@notice The token used to stake in the community"},"functionSelector":"db61d65c","mutability":"mutable","name":"gardenToken","nameLocation":"3100:11:134","scope":85047,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$57069","typeString":"contract IERC20"},"typeName":{"id":83188,"nodeType":"UserDefinedTypeName","pathNode":{"id":83187,"name":"IERC20","nameLocations":["3086:6:134"],"nodeType":"IdentifierPath","referencedDeclaration":57069,"src":"3086:6:134"},"referencedDeclaration":57069,"src":"3086:6:134","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$57069","typeString":"contract IERC20"}},"visibility":"public"},{"id":83193,"nodeType":"VariableDeclaration","src":"3167:24:134","nodes":[],"constant":false,"documentation":{"id":83190,"nodeType":"StructuredDocumentation","src":"3117:45:134","text":"@notice The council safe contract address"},"functionSelector":"6c53db9a","mutability":"mutable","name":"councilSafe","nameLocation":"3180:11:134","scope":85047,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_ISafe_$85665","typeString":"contract ISafe"},"typeName":{"id":83192,"nodeType":"UserDefinedTypeName","pathNode":{"id":83191,"name":"ISafe","nameLocations":["3167:5:134"],"nodeType":"IdentifierPath","referencedDeclaration":85665,"src":"3167:5:134"},"referencedDeclaration":85665,"src":"3167:5:134","typeDescriptions":{"typeIdentifier":"t_contract$_ISafe_$85665","typeString":"contract ISafe"}},"visibility":"public"},{"id":83197,"nodeType":"VariableDeclaration","src":"3239:17:134","nodes":[],"constant":false,"documentation":{"id":83194,"nodeType":"StructuredDocumentation","src":"3197:37:134","text":"@notice The Allo contract address"},"functionSelector":"d6d8428d","mutability":"mutable","name":"allo","nameLocation":"3252:4:134","scope":85047,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_FAllo_$85656","typeString":"contract FAllo"},"typeName":{"id":83196,"nodeType":"UserDefinedTypeName","pathNode":{"id":83195,"name":"FAllo","nameLocations":["3239:5:134"],"nodeType":"IdentifierPath","referencedDeclaration":85656,"src":"3239:5:134"},"referencedDeclaration":85656,"src":"3239:5:134","typeDescriptions":{"typeIdentifier":"t_contract$_FAllo_$85656","typeString":"contract FAllo"}},"visibility":"public"},{"id":83200,"nodeType":"VariableDeclaration","src":"3298:27:134","nodes":[],"constant":false,"documentation":{"id":83198,"nodeType":"StructuredDocumentation","src":"3263:30:134","text":"@notice The community name"},"functionSelector":"c6d572ae","mutability":"mutable","name":"communityName","nameLocation":"3312:13:134","scope":85047,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string"},"typeName":{"id":83199,"name":"string","nodeType":"ElementaryTypeName","src":"3298:6:134","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"public"},{"id":83203,"nodeType":"VariableDeclaration","src":"3383:30:134","nodes":[],"constant":false,"documentation":{"id":83201,"nodeType":"StructuredDocumentation","src":"3331:47:134","text":"@notice The covenant IPFS hash of community"},"functionSelector":"b64e39af","mutability":"mutable","name":"covenantIpfsHash","nameLocation":"3397:16:134","scope":85047,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string"},"typeName":{"id":83202,"name":"string","nodeType":"ElementaryTypeName","src":"3383:6:134","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"public"},{"id":83208,"nodeType":"VariableDeclaration","src":"3529:68:134","nodes":[],"constant":false,"documentation":{"id":83204,"nodeType":"StructuredDocumentation","src":"3477:47:134","text":"@notice List of enabled/disabled strategies"},"functionSelector":"3a871fe1","mutability":"mutable","name":"enabledStrategies","nameLocation":"3580:17:134","scope":85047,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"},"typeName":{"id":83207,"keyName":"strategy","keyNameLocation":"3545:8:134","keyType":{"id":83205,"name":"address","nodeType":"ElementaryTypeName","src":"3537:7:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"3529:43:134","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"},"valueName":"isEnabled","valueNameLocation":"3562:9:134","valueType":{"id":83206,"name":"bool","nodeType":"ElementaryTypeName","src":"3557:4:134","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}},"visibility":"public"},{"id":83215,"nodeType":"VariableDeclaration","src":"3665:98:134","nodes":[],"constant":false,"documentation":{"id":83209,"nodeType":"StructuredDocumentation","src":"3603:57:134","text":"@notice Power points for each member in each strategy"},"functionSelector":"65e3864c","mutability":"mutable","name":"memberPowerInStrategy","nameLocation":"3742:21:134","scope":85047,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"},"typeName":{"id":83214,"keyName":"strategy","keyNameLocation":"3681:8:134","keyType":{"id":83210,"name":"address","nodeType":"ElementaryTypeName","src":"3673:7:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"3665:69:134","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":83213,"keyName":"member","keyNameLocation":"3709:6:134","keyType":{"id":83211,"name":"address","nodeType":"ElementaryTypeName","src":"3701:7:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"3693:40:134","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"valueName":"power","valueNameLocation":"3727:5:134","valueType":{"id":83212,"name":"uint256","nodeType":"ElementaryTypeName","src":"3719:7:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}}},"visibility":"public"},{"id":83221,"nodeType":"VariableDeclaration","src":"3863:60:134","nodes":[],"constant":false,"documentation":{"id":83216,"nodeType":"StructuredDocumentation","src":"3769:89:134","text":"@notice Member information as the staked amount and if is registered in the community"},"functionSelector":"88cfe684","mutability":"mutable","name":"addressToMemberInfo","nameLocation":"3904:19:134","scope":85047,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Member_$83482_storage_$","typeString":"mapping(address => struct RegistryCommunityV0_0.Member)"},"typeName":{"id":83220,"keyName":"member","keyNameLocation":"3879:6:134","keyType":{"id":83217,"name":"address","nodeType":"ElementaryTypeName","src":"3871:7:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"3863:33:134","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Member_$83482_storage_$","typeString":"mapping(address => struct RegistryCommunityV0_0.Member)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":83219,"nodeType":"UserDefinedTypeName","pathNode":{"id":83218,"name":"Member","nameLocations":["3889:6:134"],"nodeType":"IdentifierPath","referencedDeclaration":83482,"src":"3889:6:134"},"referencedDeclaration":83482,"src":"3889:6:134","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$83482_storage_ptr","typeString":"struct RegistryCommunityV0_0.Member"}}},"visibility":"public"},{"id":83227,"nodeType":"VariableDeclaration","src":"3994:82:134","nodes":[],"constant":false,"documentation":{"id":83222,"nodeType":"StructuredDocumentation","src":"3929:60:134","text":"@notice List of strategies for each member are activated"},"functionSelector":"2b38c69c","mutability":"mutable","name":"strategiesByMember","nameLocation":"4058:18:134","scope":85047,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_address_$dyn_storage_$","typeString":"mapping(address => address[])"},"typeName":{"id":83226,"keyName":"member","keyNameLocation":"4010:6:134","keyType":{"id":83223,"name":"address","nodeType":"ElementaryTypeName","src":"4002:7:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"3994:56:134","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_address_$dyn_storage_$","typeString":"mapping(address => address[])"},"valueName":"strategiesAddresses","valueNameLocation":"4030:19:134","valueType":{"baseType":{"id":83224,"name":"address","nodeType":"ElementaryTypeName","src":"4020:7:134","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":83225,"nodeType":"ArrayTypeName","src":"4020:9:134","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}}},"visibility":"public"},{"id":83234,"nodeType":"VariableDeclaration","src":"4154:107:134","nodes":[],"constant":false,"documentation":{"id":83228,"nodeType":"StructuredDocumentation","src":"4082:67:134","text":"@notice Mapping to check if a member is activated in a strategy"},"functionSelector":"477a5cc0","mutability":"mutable","name":"memberActivatedInStrategies","nameLocation":"4234:27:134","scope":85047,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$","typeString":"mapping(address => mapping(address => bool))"},"typeName":{"id":83233,"keyName":"member","keyNameLocation":"4170:6:134","keyType":{"id":83229,"name":"address","nodeType":"ElementaryTypeName","src":"4162:7:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"4154:72:134","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$","typeString":"mapping(address => mapping(address => bool))"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":83232,"keyName":"strategy","keyNameLocation":"4196:8:134","keyType":{"id":83230,"name":"address","nodeType":"ElementaryTypeName","src":"4188:7:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"4180:45:134","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"},"valueName":"isActivated","valueNameLocation":"4213:11:134","valueType":{"id":83231,"name":"bool","nodeType":"ElementaryTypeName","src":"4208:4:134","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}}},"visibility":"public"},{"id":83238,"nodeType":"VariableDeclaration","src":"4354:24:134","nodes":[],"constant":false,"documentation":{"id":83235,"nodeType":"StructuredDocumentation","src":"4268:81:134","text":"@notice List of initial members to be added as pool managers in the Allo Pool"},"mutability":"mutable","name":"initialMembers","nameLocation":"4364:14:134","scope":85047,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[]"},"typeName":{"baseType":{"id":83236,"name":"address","nodeType":"ElementaryTypeName","src":"4354:7:134","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":83237,"nodeType":"ArrayTypeName","src":"4354:9:134","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"id":83244,"nodeType":"VariableDeclaration","src":"4595:68:134","nodes":[],"constant":true,"documentation":{"id":83239,"nodeType":"StructuredDocumentation","src":"4550:40:134","text":"@notice Role to council safe members"},"functionSelector":"733a2d1f","mutability":"constant","name":"COUNCIL_MEMBER","nameLocation":"4619:14:134","scope":85047,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":83240,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4595:7:134","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"arguments":[{"hexValue":"434f554e43494c5f4d454d424552","id":83242,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4646:16:134","typeDescriptions":{"typeIdentifier":"t_stringliteral_03be538b6391ddcd7f2649585cc95b120c9e2a613f70714fbb55345057d809fa","typeString":"literal_string \"COUNCIL_MEMBER\""},"value":"COUNCIL_MEMBER"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_03be538b6391ddcd7f2649585cc95b120c9e2a613f70714fbb55345057d809fa","typeString":"literal_string \"COUNCIL_MEMBER\""}],"id":83241,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"4636:9:134","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":83243,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4636:27:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"public"},{"id":83248,"nodeType":"EventDefinition","src":"4836:29:134","nodes":[],"anonymous":false,"eventSelector":"aaded18d4d508696508b945d03ff3d168110dbb73e17aeda699745655fa958d2","name":"AlloSet","nameLocation":"4842:7:134","parameters":{"id":83247,"nodeType":"ParameterList","parameters":[{"constant":false,"id":83246,"indexed":false,"mutability":"mutable","name":"_allo","nameLocation":"4858:5:134","nodeType":"VariableDeclaration","scope":83248,"src":"4850:13:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":83245,"name":"address","nodeType":"ElementaryTypeName","src":"4850:7:134","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4849:15:134"}},{"id":83252,"nodeType":"EventDefinition","src":"4870:36:134","nodes":[],"anonymous":false,"eventSelector":"ad0399dc40331b9a4977aa89da7a164a3fd482c65e6da73b25a94ea74fb68872","name":"CouncilSafeSet","nameLocation":"4876:14:134","parameters":{"id":83251,"nodeType":"ParameterList","parameters":[{"constant":false,"id":83250,"indexed":false,"mutability":"mutable","name":"_safe","nameLocation":"4899:5:134","nodeType":"VariableDeclaration","scope":83252,"src":"4891:13:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":83249,"name":"address","nodeType":"ElementaryTypeName","src":"4891:7:134","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4890:15:134"}},{"id":83258,"nodeType":"EventDefinition","src":"4911:74:134","nodes":[],"anonymous":false,"eventSelector":"83eac9fdaff0ac1017624b7eddeb9782e3d707cd894073cb7e8301a41c6e5cf8","name":"CouncilSafeChangeStarted","nameLocation":"4917:24:134","parameters":{"id":83257,"nodeType":"ParameterList","parameters":[{"constant":false,"id":83254,"indexed":false,"mutability":"mutable","name":"_safeOwner","nameLocation":"4950:10:134","nodeType":"VariableDeclaration","scope":83258,"src":"4942:18:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":83253,"name":"address","nodeType":"ElementaryTypeName","src":"4942:7:134","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":83256,"indexed":false,"mutability":"mutable","name":"_newSafeOwner","nameLocation":"4970:13:134","nodeType":"VariableDeclaration","scope":83258,"src":"4962:21:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":83255,"name":"address","nodeType":"ElementaryTypeName","src":"4962:7:134","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4941:43:134"}},{"id":83264,"nodeType":"EventDefinition","src":"4990:63:134","nodes":[],"anonymous":false,"eventSelector":"67e0244e28040fec15240cd4b6c04c776a2a0278caef23b59e8ada1df31f7689","name":"MemberRegistered","nameLocation":"4996:16:134","parameters":{"id":83263,"nodeType":"ParameterList","parameters":[{"constant":false,"id":83260,"indexed":false,"mutability":"mutable","name":"_member","nameLocation":"5021:7:134","nodeType":"VariableDeclaration","scope":83264,"src":"5013:15:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":83259,"name":"address","nodeType":"ElementaryTypeName","src":"5013:7:134","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":83262,"indexed":false,"mutability":"mutable","name":"_amountStaked","nameLocation":"5038:13:134","nodeType":"VariableDeclaration","scope":83264,"src":"5030:21:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":83261,"name":"uint256","nodeType":"ElementaryTypeName","src":"5030:7:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5012:40:134"}},{"id":83270,"nodeType":"EventDefinition","src":"5058:67:134","nodes":[],"anonymous":false,"eventSelector":"a13f4668aacb68c4e9eed8e3f6e1cbec3eca776896ec46b5eabcc3983fc8f5f4","name":"MemberUnregistered","nameLocation":"5064:18:134","parameters":{"id":83269,"nodeType":"ParameterList","parameters":[{"constant":false,"id":83266,"indexed":false,"mutability":"mutable","name":"_member","nameLocation":"5091:7:134","nodeType":"VariableDeclaration","scope":83270,"src":"5083:15:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":83265,"name":"address","nodeType":"ElementaryTypeName","src":"5083:7:134","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":83268,"indexed":false,"mutability":"mutable","name":"_amountReturned","nameLocation":"5108:15:134","nodeType":"VariableDeclaration","scope":83270,"src":"5100:23:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":83267,"name":"uint256","nodeType":"ElementaryTypeName","src":"5100:7:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5082:42:134"}},{"id":83278,"nodeType":"EventDefinition","src":"5130:87:134","nodes":[],"anonymous":false,"eventSelector":"b5946f249f8744efe9d14d49a483b54a589b1362944ff6694de93456cceb96a3","name":"MemberKicked","nameLocation":"5136:12:134","parameters":{"id":83277,"nodeType":"ParameterList","parameters":[{"constant":false,"id":83272,"indexed":false,"mutability":"mutable","name":"_member","nameLocation":"5157:7:134","nodeType":"VariableDeclaration","scope":83278,"src":"5149:15:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":83271,"name":"address","nodeType":"ElementaryTypeName","src":"5149:7:134","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":83274,"indexed":false,"mutability":"mutable","name":"_transferAddress","nameLocation":"5174:16:134","nodeType":"VariableDeclaration","scope":83278,"src":"5166:24:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":83273,"name":"address","nodeType":"ElementaryTypeName","src":"5166:7:134","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":83276,"indexed":false,"mutability":"mutable","name":"_amountReturned","nameLocation":"5200:15:134","nodeType":"VariableDeclaration","scope":83278,"src":"5192:23:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":83275,"name":"uint256","nodeType":"ElementaryTypeName","src":"5192:7:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5148:68:134"}},{"id":83282,"nodeType":"EventDefinition","src":"5222:43:134","nodes":[],"anonymous":false,"eventSelector":"611668bfcf654a99c33cdb66c29ec37a5aae5c1287d2d9715a24e18cb4d806d6","name":"CommunityFeeUpdated","nameLocation":"5228:19:134","parameters":{"id":83281,"nodeType":"ParameterList","parameters":[{"constant":false,"id":83280,"indexed":false,"mutability":"mutable","name":"_newFee","nameLocation":"5256:7:134","nodeType":"VariableDeclaration","scope":83282,"src":"5248:15:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":83279,"name":"uint256","nodeType":"ElementaryTypeName","src":"5248:7:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5247:17:134"}},{"id":83291,"nodeType":"EventDefinition","src":"5270:89:134","nodes":[],"anonymous":false,"eventSelector":"2f2ffcb06f8a1d35e2716f6b43ef2c19bfa76467d8f66964ae12c2583ed03205","name":"RegistryInitialized","nameLocation":"5276:19:134","parameters":{"id":83290,"nodeType":"ParameterList","parameters":[{"constant":false,"id":83284,"indexed":false,"mutability":"mutable","name":"_profileId","nameLocation":"5304:10:134","nodeType":"VariableDeclaration","scope":83291,"src":"5296:18:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":83283,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5296:7:134","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":83286,"indexed":false,"mutability":"mutable","name":"_communityName","nameLocation":"5323:14:134","nodeType":"VariableDeclaration","scope":83291,"src":"5316:21:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":83285,"name":"string","nodeType":"ElementaryTypeName","src":"5316:6:134","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":83289,"indexed":false,"mutability":"mutable","name":"_metadata","nameLocation":"5348:9:134","nodeType":"VariableDeclaration","scope":83291,"src":"5339:18:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata"},"typeName":{"id":83288,"nodeType":"UserDefinedTypeName","pathNode":{"id":83287,"name":"Metadata","nameLocations":["5339:8:134"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"5339:8:134"},"referencedDeclaration":3098,"src":"5339:8:134","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"}],"src":"5295:63:134"}},{"id":83295,"nodeType":"EventDefinition","src":"5364:39:134","nodes":[],"anonymous":false,"eventSelector":"3f008fd510eae7a9e7bee13513d7b83bef8003d488b5a3d0b0da4de71d6846f1","name":"StrategyAdded","nameLocation":"5370:13:134","parameters":{"id":83294,"nodeType":"ParameterList","parameters":[{"constant":false,"id":83293,"indexed":false,"mutability":"mutable","name":"_strategy","nameLocation":"5392:9:134","nodeType":"VariableDeclaration","scope":83295,"src":"5384:17:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":83292,"name":"address","nodeType":"ElementaryTypeName","src":"5384:7:134","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5383:19:134"}},{"id":83299,"nodeType":"EventDefinition","src":"5408:41:134","nodes":[],"anonymous":false,"eventSelector":"09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea4","name":"StrategyRemoved","nameLocation":"5414:15:134","parameters":{"id":83298,"nodeType":"ParameterList","parameters":[{"constant":false,"id":83297,"indexed":false,"mutability":"mutable","name":"_strategy","nameLocation":"5438:9:134","nodeType":"VariableDeclaration","scope":83299,"src":"5430:17:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":83296,"name":"address","nodeType":"ElementaryTypeName","src":"5430:7:134","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5429:19:134"}},{"id":83307,"nodeType":"EventDefinition","src":"5454:93:134","nodes":[],"anonymous":false,"eventSelector":"f56fa57e85e169a12200d12d9921ec069b52e688f6d309d9dab7bceff54614ec","name":"MemberActivatedStrategy","nameLocation":"5460:23:134","parameters":{"id":83306,"nodeType":"ParameterList","parameters":[{"constant":false,"id":83301,"indexed":false,"mutability":"mutable","name":"_member","nameLocation":"5492:7:134","nodeType":"VariableDeclaration","scope":83307,"src":"5484:15:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":83300,"name":"address","nodeType":"ElementaryTypeName","src":"5484:7:134","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":83303,"indexed":false,"mutability":"mutable","name":"_strategy","nameLocation":"5509:9:134","nodeType":"VariableDeclaration","scope":83307,"src":"5501:17:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":83302,"name":"address","nodeType":"ElementaryTypeName","src":"5501:7:134","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":83305,"indexed":false,"mutability":"mutable","name":"_pointsToIncrease","nameLocation":"5528:17:134","nodeType":"VariableDeclaration","scope":83307,"src":"5520:25:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":83304,"name":"uint256","nodeType":"ElementaryTypeName","src":"5520:7:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5483:63:134"}},{"id":83313,"nodeType":"EventDefinition","src":"5552:68:134","nodes":[],"anonymous":false,"eventSelector":"00de109bef4619f7e2cf00c8e5a50ca55f8deb44f87087eed414a91dbf8d1d1b","name":"MemberDeactivatedStrategy","nameLocation":"5558:25:134","parameters":{"id":83312,"nodeType":"ParameterList","parameters":[{"constant":false,"id":83309,"indexed":false,"mutability":"mutable","name":"_member","nameLocation":"5592:7:134","nodeType":"VariableDeclaration","scope":83313,"src":"5584:15:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":83308,"name":"address","nodeType":"ElementaryTypeName","src":"5584:7:134","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":83311,"indexed":false,"mutability":"mutable","name":"_strategy","nameLocation":"5609:9:134","nodeType":"VariableDeclaration","scope":83313,"src":"5601:17:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":83310,"name":"address","nodeType":"ElementaryTypeName","src":"5601:7:134","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5583:36:134"}},{"id":83317,"nodeType":"EventDefinition","src":"5625:47:134","nodes":[],"anonymous":false,"eventSelector":"5bcc2c453001fb0e2ba6266d56ecb411e7c6e15c8f9c3d301f93dd36ad25726f","name":"BasisStakedAmountSet","nameLocation":"5631:20:134","parameters":{"id":83316,"nodeType":"ParameterList","parameters":[{"constant":false,"id":83315,"indexed":false,"mutability":"mutable","name":"_newAmount","nameLocation":"5660:10:134","nodeType":"VariableDeclaration","scope":83317,"src":"5652:18:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":83314,"name":"uint256","nodeType":"ElementaryTypeName","src":"5652:7:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5651:20:134"}},{"id":83323,"nodeType":"EventDefinition","src":"5677:67:134","nodes":[],"anonymous":false,"eventSelector":"576605f9bfe8911e7508bed3763c7c5c8eb3b86e8b360b90a4bc6abe1104cb7f","name":"MemberPowerIncreased","nameLocation":"5683:20:134","parameters":{"id":83322,"nodeType":"ParameterList","parameters":[{"constant":false,"id":83319,"indexed":false,"mutability":"mutable","name":"_member","nameLocation":"5712:7:134","nodeType":"VariableDeclaration","scope":83323,"src":"5704:15:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":83318,"name":"address","nodeType":"ElementaryTypeName","src":"5704:7:134","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":83321,"indexed":false,"mutability":"mutable","name":"_stakedAmount","nameLocation":"5729:13:134","nodeType":"VariableDeclaration","scope":83323,"src":"5721:21:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":83320,"name":"uint256","nodeType":"ElementaryTypeName","src":"5721:7:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5703:40:134"}},{"id":83329,"nodeType":"EventDefinition","src":"5749:69:134","nodes":[],"anonymous":false,"eventSelector":"6ee2c70b2d6b89ae808a2313aab43e925c06624271419cd665d85cfa1ae04ff8","name":"MemberPowerDecreased","nameLocation":"5755:20:134","parameters":{"id":83328,"nodeType":"ParameterList","parameters":[{"constant":false,"id":83325,"indexed":false,"mutability":"mutable","name":"_member","nameLocation":"5784:7:134","nodeType":"VariableDeclaration","scope":83329,"src":"5776:15:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":83324,"name":"address","nodeType":"ElementaryTypeName","src":"5776:7:134","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":83327,"indexed":false,"mutability":"mutable","name":"_unstakedAmount","nameLocation":"5801:15:134","nodeType":"VariableDeclaration","scope":83329,"src":"5793:23:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":83326,"name":"uint256","nodeType":"ElementaryTypeName","src":"5793:7:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5775:42:134"}},{"id":83342,"nodeType":"EventDefinition","src":"5823:110:134","nodes":[],"anonymous":false,"eventSelector":"778cac0ae0b66477341553a4a89398c61ccf448313d3354ad0ca85a5a825d283","name":"PoolCreated","nameLocation":"5829:11:134","parameters":{"id":83341,"nodeType":"ParameterList","parameters":[{"constant":false,"id":83331,"indexed":false,"mutability":"mutable","name":"_poolId","nameLocation":"5849:7:134","nodeType":"VariableDeclaration","scope":83342,"src":"5841:15:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":83330,"name":"uint256","nodeType":"ElementaryTypeName","src":"5841:7:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":83333,"indexed":false,"mutability":"mutable","name":"_strategy","nameLocation":"5866:9:134","nodeType":"VariableDeclaration","scope":83342,"src":"5858:17:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":83332,"name":"address","nodeType":"ElementaryTypeName","src":"5858:7:134","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":83335,"indexed":false,"mutability":"mutable","name":"_community","nameLocation":"5885:10:134","nodeType":"VariableDeclaration","scope":83342,"src":"5877:18:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":83334,"name":"address","nodeType":"ElementaryTypeName","src":"5877:7:134","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":83337,"indexed":false,"mutability":"mutable","name":"_token","nameLocation":"5905:6:134","nodeType":"VariableDeclaration","scope":83342,"src":"5897:14:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":83336,"name":"address","nodeType":"ElementaryTypeName","src":"5897:7:134","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":83340,"indexed":false,"mutability":"mutable","name":"_metadata","nameLocation":"5922:9:134","nodeType":"VariableDeclaration","scope":83342,"src":"5913:18:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata"},"typeName":{"id":83339,"nodeType":"UserDefinedTypeName","pathNode":{"id":83338,"name":"Metadata","nameLocations":["5913:8:134"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"5913:8:134"},"referencedDeclaration":3098,"src":"5913:8:134","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"}],"src":"5840:92:134"}},{"id":83357,"nodeType":"FunctionDefinition","src":"6104:148:134","nodes":[],"body":{"id":83356,"nodeType":"Block","src":"6144:108:134","nodes":[],"statements":[{"condition":{"id":83350,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"6158:36:134","subExpression":{"arguments":[{"id":83346,"name":"COUNCIL_MEMBER","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83244,"src":"6167:14:134","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"expression":{"id":83347,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"6183:3:134","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":83348,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6187:6:134","memberName":"sender","nodeType":"MemberAccess","src":"6183:10:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":83345,"name":"hasRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52495,"src":"6159:7:134","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) view returns (bool)"}},"id":83349,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6159:35:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":83355,"nodeType":"IfStatement","src":"6154:92:134","trueBody":{"id":83354,"nodeType":"Block","src":"6196:50:134","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":83351,"name":"UserNotInCouncil","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83441,"src":"6217:16:134","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":83352,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6217:18:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":83353,"nodeType":"RevertStatement","src":"6210:25:134"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"onlyCouncilSafe","nameLocation":"6113:15:134","parameters":{"id":83343,"nodeType":"ParameterList","parameters":[],"src":"6128:2:134"},"returnParameters":{"id":83344,"nodeType":"ParameterList","parameters":[],"src":"6144:0:134"},"scope":85047,"stateMutability":"view","virtual":false,"visibility":"private"},{"id":83371,"nodeType":"FunctionDefinition","src":"6258:143:134","nodes":[],"body":{"id":83370,"nodeType":"Block","src":"6307:94:134","nodes":[],"statements":[{"condition":{"id":83364,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"6321:21:134","subExpression":{"arguments":[{"expression":{"id":83361,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"6331:3:134","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":83362,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6335:6:134","memberName":"sender","nodeType":"MemberAccess","src":"6331:10:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":83360,"name":"isMember","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84615,"src":"6322:8:134","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":83363,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6322:20:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":83369,"nodeType":"IfStatement","src":"6317:78:134","trueBody":{"id":83368,"nodeType":"Block","src":"6344:51:134","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":83365,"name":"UserNotInRegistry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83443,"src":"6365:17:134","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":83366,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6365:19:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":83367,"nodeType":"RevertStatement","src":"6358:26:134"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"onlyRegistryMemberSender","nameLocation":"6267:24:134","parameters":{"id":83358,"nodeType":"ParameterList","parameters":[],"src":"6291:2:134"},"returnParameters":{"id":83359,"nodeType":"ParameterList","parameters":[],"src":"6307:0:134"},"scope":85047,"stateMutability":"view","virtual":false,"visibility":"private"},{"id":83386,"nodeType":"FunctionDefinition","src":"6407:156:134","nodes":[],"body":{"id":83385,"nodeType":"Block","src":"6472:91:134","nodes":[],"statements":[{"condition":{"id":83379,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"6486:18:134","subExpression":{"arguments":[{"id":83377,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83373,"src":"6496:7:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":83376,"name":"isMember","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84615,"src":"6487:8:134","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":83378,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6487:17:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":83384,"nodeType":"IfStatement","src":"6482:75:134","trueBody":{"id":83383,"nodeType":"Block","src":"6506:51:134","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":83380,"name":"UserNotInRegistry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83443,"src":"6527:17:134","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":83381,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6527:19:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":83382,"nodeType":"RevertStatement","src":"6520:26:134"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"onlyRegistryMemberAddress","nameLocation":"6416:25:134","parameters":{"id":83374,"nodeType":"ParameterList","parameters":[{"constant":false,"id":83373,"mutability":"mutable","name":"_sender","nameLocation":"6450:7:134","nodeType":"VariableDeclaration","scope":83386,"src":"6442:15:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":83372,"name":"address","nodeType":"ElementaryTypeName","src":"6442:7:134","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6441:17:134"},"returnParameters":{"id":83375,"nodeType":"ParameterList","parameters":[],"src":"6472:0:134"},"scope":85047,"stateMutability":"view","virtual":false,"visibility":"private"},{"id":83401,"nodeType":"FunctionDefinition","src":"6569:162:134","nodes":[],"body":{"id":83400,"nodeType":"Block","src":"6630:101:134","nodes":[],"statements":[{"condition":{"id":83394,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"6644:29:134","subExpression":{"baseExpression":{"id":83391,"name":"enabledStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83208,"src":"6645:17:134","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":83393,"indexExpression":{"id":83392,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83388,"src":"6663:9:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6645:28:134","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":83399,"nodeType":"IfStatement","src":"6640:85:134","trueBody":{"id":83398,"nodeType":"Block","src":"6675:50:134","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":83395,"name":"StrategyDisabled","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83455,"src":"6696:16:134","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":83396,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6696:18:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":83397,"nodeType":"RevertStatement","src":"6689:25:134"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"onlyStrategyEnabled","nameLocation":"6578:19:134","parameters":{"id":83389,"nodeType":"ParameterList","parameters":[{"constant":false,"id":83388,"mutability":"mutable","name":"_strategy","nameLocation":"6606:9:134","nodeType":"VariableDeclaration","scope":83401,"src":"6598:17:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":83387,"name":"address","nodeType":"ElementaryTypeName","src":"6598:7:134","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6597:19:134"},"returnParameters":{"id":83390,"nodeType":"ParameterList","parameters":[],"src":"6630:0:134"},"scope":85047,"stateMutability":"view","virtual":false,"visibility":"private"},{"id":83417,"nodeType":"FunctionDefinition","src":"6737:171:134","nodes":[],"body":{"id":83416,"nodeType":"Block","src":"6815:93:134","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":83410,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":83408,"name":"_sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83403,"src":"6829:7:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":83409,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83405,"src":"6840:9:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"6829:20:134","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":83415,"nodeType":"IfStatement","src":"6825:77:134","trueBody":{"id":83414,"nodeType":"Block","src":"6851:51:134","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":83411,"name":"SenderNotStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83459,"src":"6872:17:134","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":83412,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6872:19:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":83413,"nodeType":"RevertStatement","src":"6865:26:134"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"onlyStrategyAddress","nameLocation":"6746:19:134","parameters":{"id":83406,"nodeType":"ParameterList","parameters":[{"constant":false,"id":83403,"mutability":"mutable","name":"_sender","nameLocation":"6774:7:134","nodeType":"VariableDeclaration","scope":83417,"src":"6766:15:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":83402,"name":"address","nodeType":"ElementaryTypeName","src":"6766:7:134","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":83405,"mutability":"mutable","name":"_strategy","nameLocation":"6791:9:134","nodeType":"VariableDeclaration","scope":83417,"src":"6783:17:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":83404,"name":"address","nodeType":"ElementaryTypeName","src":"6783:7:134","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6765:36:134"},"returnParameters":{"id":83407,"nodeType":"ParameterList","parameters":[],"src":"6815:0:134"},"scope":85047,"stateMutability":"pure","virtual":false,"visibility":"private"},{"id":83435,"nodeType":"FunctionDefinition","src":"6914:189:134","nodes":[],"body":{"id":83434,"nodeType":"Block","src":"6979:124:134","nodes":[],"statements":[{"condition":{"id":83428,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"6993:51:134","subExpression":{"baseExpression":{"baseExpression":{"id":83422,"name":"memberActivatedInStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83234,"src":"6994:27:134","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$","typeString":"mapping(address => mapping(address => bool))"}},"id":83425,"indexExpression":{"expression":{"id":83423,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"7022:3:134","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":83424,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7026:6:134","memberName":"sender","nodeType":"MemberAccess","src":"7022:10:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6994:39:134","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":83427,"indexExpression":{"id":83426,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83419,"src":"7034:9:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6994:50:134","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":83433,"nodeType":"IfStatement","src":"6989:108:134","trueBody":{"id":83432,"nodeType":"Block","src":"7046:51:134","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":83429,"name":"PointsDeactivated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83467,"src":"7067:17:134","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":83430,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7067:19:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":83431,"nodeType":"RevertStatement","src":"7060:26:134"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"onlyActivatedInStrategy","nameLocation":"6923:23:134","parameters":{"id":83420,"nodeType":"ParameterList","parameters":[{"constant":false,"id":83419,"mutability":"mutable","name":"_strategy","nameLocation":"6955:9:134","nodeType":"VariableDeclaration","scope":83435,"src":"6947:17:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":83418,"name":"address","nodeType":"ElementaryTypeName","src":"6947:7:134","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6946:19:134"},"returnParameters":{"id":83421,"nodeType":"ParameterList","parameters":[],"src":"6979:0:134"},"scope":85047,"stateMutability":"view","virtual":false,"visibility":"private"},{"id":83437,"nodeType":"ErrorDefinition","src":"7275:28:134","nodes":[],"errorSelector":"e622e040","name":"AddressCannotBeZero","nameLocation":"7281:19:134","parameters":{"id":83436,"nodeType":"ParameterList","parameters":[],"src":"7300:2:134"}},{"id":83439,"nodeType":"ErrorDefinition","src":"7308:29:134","nodes":[],"errorSelector":"5df4b1ef","name":"RegistryCannotBeZero","nameLocation":"7314:20:134","parameters":{"id":83438,"nodeType":"ParameterList","parameters":[],"src":"7334:2:134"}},{"id":83441,"nodeType":"ErrorDefinition","src":"7342:25:134","nodes":[],"errorSelector":"f62651fa","name":"UserNotInCouncil","nameLocation":"7348:16:134","parameters":{"id":83440,"nodeType":"ParameterList","parameters":[],"src":"7364:2:134"}},{"id":83443,"nodeType":"ErrorDefinition","src":"7372:26:134","nodes":[],"errorSelector":"6a5cfb6d","name":"UserNotInRegistry","nameLocation":"7378:17:134","parameters":{"id":83442,"nodeType":"ParameterList","parameters":[],"src":"7395:2:134"}},{"id":83445,"nodeType":"ErrorDefinition","src":"7403:30:134","nodes":[],"errorSelector":"9e4a65f6","name":"UserAlreadyRegistered","nameLocation":"7409:21:134","parameters":{"id":83444,"nodeType":"ParameterList","parameters":[],"src":"7430:2:134"}},{"id":83447,"nodeType":"ErrorDefinition","src":"7438:27:134","nodes":[],"errorSelector":"e9a644b8","name":"UserNotGardenOwner","nameLocation":"7444:18:134","parameters":{"id":83446,"nodeType":"ParameterList","parameters":[],"src":"7462:2:134"}},{"id":83449,"nodeType":"ErrorDefinition","src":"7470:29:134","nodes":[],"errorSelector":"d5b9bc96","name":"UserAlreadyActivated","nameLocation":"7476:20:134","parameters":{"id":83448,"nodeType":"ParameterList","parameters":[],"src":"7496:2:134"}},{"id":83451,"nodeType":"ErrorDefinition","src":"7504:31:134","nodes":[],"errorSelector":"c12369dc","name":"UserAlreadyDeactivated","nameLocation":"7510:22:134","parameters":{"id":83450,"nodeType":"ParameterList","parameters":[],"src":"7532:2:134"}},{"id":83453,"nodeType":"ErrorDefinition","src":"7540:23:134","nodes":[],"errorSelector":"968a4d2c","name":"StrategyExists","nameLocation":"7546:14:134","parameters":{"id":83452,"nodeType":"ParameterList","parameters":[],"src":"7560:2:134"}},{"id":83455,"nodeType":"ErrorDefinition","src":"7568:25:134","nodes":[],"errorSelector":"46c26e4b","name":"StrategyDisabled","nameLocation":"7574:16:134","parameters":{"id":83454,"nodeType":"ParameterList","parameters":[],"src":"7590:2:134"}},{"id":83457,"nodeType":"ErrorDefinition","src":"7598:26:134","nodes":[],"errorSelector":"ebcd0d6e","name":"SenderNotNewOwner","nameLocation":"7604:17:134","parameters":{"id":83456,"nodeType":"ParameterList","parameters":[],"src":"7621:2:134"}},{"id":83459,"nodeType":"ErrorDefinition","src":"7629:26:134","nodes":[],"errorSelector":"bbe79611","name":"SenderNotStrategy","nameLocation":"7635:17:134","parameters":{"id":83458,"nodeType":"ParameterList","parameters":[],"src":"7652:2:134"}},{"id":83461,"nodeType":"ErrorDefinition","src":"7660:26:134","nodes":[],"errorSelector":"c70d18aa","name":"ValueCannotBeZero","nameLocation":"7666:17:134","parameters":{"id":83460,"nodeType":"ParameterList","parameters":[],"src":"7683:2:134"}},{"id":83463,"nodeType":"ErrorDefinition","src":"7691:29:134","nodes":[],"errorSelector":"fe925f7d","name":"NewFeeGreaterThanMax","nameLocation":"7697:20:134","parameters":{"id":83462,"nodeType":"ParameterList","parameters":[],"src":"7717:2:134"}},{"id":83465,"nodeType":"ErrorDefinition","src":"7725:23:134","nodes":[],"errorSelector":"cb63dc72","name":"KickNotEnabled","nameLocation":"7731:14:134","parameters":{"id":83464,"nodeType":"ParameterList","parameters":[],"src":"7745:2:134"}},{"id":83467,"nodeType":"ErrorDefinition","src":"7753:26:134","nodes":[],"errorSelector":"d4d3290e","name":"PointsDeactivated","nameLocation":"7759:17:134","parameters":{"id":83466,"nodeType":"ParameterList","parameters":[],"src":"7776:2:134"}},{"id":83469,"nodeType":"ErrorDefinition","src":"7784:29:134","nodes":[],"errorSelector":"9c47d02e","name":"DecreaseUnderMinimum","nameLocation":"7790:20:134","parameters":{"id":83468,"nodeType":"ParameterList","parameters":[],"src":"7810:2:134"}},{"id":83475,"nodeType":"ErrorDefinition","src":"7818:80:134","nodes":[],"errorSelector":"8a11f318","name":"CantDecreaseMoreThanPower","nameLocation":"7824:25:134","parameters":{"id":83474,"nodeType":"ParameterList","parameters":[{"constant":false,"id":83471,"mutability":"mutable","name":"_decreaseAmount","nameLocation":"7858:15:134","nodeType":"VariableDeclaration","scope":83475,"src":"7850:23:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":83470,"name":"uint256","nodeType":"ElementaryTypeName","src":"7850:7:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":83473,"mutability":"mutable","name":"_currentPower","nameLocation":"7883:13:134","nodeType":"VariableDeclaration","scope":83475,"src":"7875:21:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":83472,"name":"uint256","nodeType":"ElementaryTypeName","src":"7875:7:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7849:48:134"}},{"id":83482,"nodeType":"StructDefinition","src":"8069:102:134","nodes":[],"canonicalName":"RegistryCommunityV0_0.Member","members":[{"constant":false,"id":83477,"mutability":"mutable","name":"member","nameLocation":"8101:6:134","nodeType":"VariableDeclaration","scope":83482,"src":"8093:14:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":83476,"name":"address","nodeType":"ElementaryTypeName","src":"8093:7:134","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":83479,"mutability":"mutable","name":"stakedAmount","nameLocation":"8125:12:134","nodeType":"VariableDeclaration","scope":83482,"src":"8117:20:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":83478,"name":"uint256","nodeType":"ElementaryTypeName","src":"8117:7:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":83481,"mutability":"mutable","name":"isRegistered","nameLocation":"8152:12:134","nodeType":"VariableDeclaration","scope":83482,"src":"8147:17:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":83480,"name":"bool","nodeType":"ElementaryTypeName","src":"8147:4:134","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"name":"Member","nameLocation":"8076:6:134","scope":85047,"visibility":"public"},{"id":83486,"nodeType":"StructDefinition","src":"8177:55:134","nodes":[],"canonicalName":"RegistryCommunityV0_0.Strategies","members":[{"constant":false,"id":83485,"mutability":"mutable","name":"strategies","nameLocation":"8215:10:134","nodeType":"VariableDeclaration","scope":83486,"src":"8205:20:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":83483,"name":"address","nodeType":"ElementaryTypeName","src":"8205:7:134","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":83484,"nodeType":"ArrayTypeName","src":"8205:9:134","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"name":"Strategies","nameLocation":"8184:10:134","scope":85047,"visibility":"public"},{"id":83515,"nodeType":"StructDefinition","src":"9190:434:134","nodes":[],"canonicalName":"RegistryCommunityV0_0.InitializeParams","members":[{"constant":false,"id":83488,"mutability":"mutable","name":"_allo","nameLocation":"9232:5:134","nodeType":"VariableDeclaration","scope":83515,"src":"9224:13:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":83487,"name":"address","nodeType":"ElementaryTypeName","src":"9224:7:134","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":83491,"mutability":"mutable","name":"_gardenToken","nameLocation":"9254:12:134","nodeType":"VariableDeclaration","scope":83515,"src":"9247:19:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$57069","typeString":"contract IERC20"},"typeName":{"id":83490,"nodeType":"UserDefinedTypeName","pathNode":{"id":83489,"name":"IERC20","nameLocations":["9247:6:134"],"nodeType":"IdentifierPath","referencedDeclaration":57069,"src":"9247:6:134"},"referencedDeclaration":57069,"src":"9247:6:134","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$57069","typeString":"contract IERC20"}},"visibility":"internal"},{"constant":false,"id":83493,"mutability":"mutable","name":"_registerStakeAmount","nameLocation":"9284:20:134","nodeType":"VariableDeclaration","scope":83515,"src":"9276:28:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":83492,"name":"uint256","nodeType":"ElementaryTypeName","src":"9276:7:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":83495,"mutability":"mutable","name":"_communityFee","nameLocation":"9322:13:134","nodeType":"VariableDeclaration","scope":83515,"src":"9314:21:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":83494,"name":"uint256","nodeType":"ElementaryTypeName","src":"9314:7:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":83497,"mutability":"mutable","name":"_nonce","nameLocation":"9353:6:134","nodeType":"VariableDeclaration","scope":83515,"src":"9345:14:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":83496,"name":"uint256","nodeType":"ElementaryTypeName","src":"9345:7:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":83499,"mutability":"mutable","name":"_registryFactory","nameLocation":"9377:16:134","nodeType":"VariableDeclaration","scope":83515,"src":"9369:24:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":83498,"name":"address","nodeType":"ElementaryTypeName","src":"9369:7:134","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":83501,"mutability":"mutable","name":"_feeReceiver","nameLocation":"9411:12:134","nodeType":"VariableDeclaration","scope":83515,"src":"9403:20:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":83500,"name":"address","nodeType":"ElementaryTypeName","src":"9403:7:134","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":83504,"mutability":"mutable","name":"_metadata","nameLocation":"9442:9:134","nodeType":"VariableDeclaration","scope":83515,"src":"9433:18:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"},"typeName":{"id":83503,"nodeType":"UserDefinedTypeName","pathNode":{"id":83502,"name":"Metadata","nameLocations":["9433:8:134"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"9433:8:134"},"referencedDeclaration":3098,"src":"9433:8:134","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"},{"constant":false,"id":83506,"mutability":"mutable","name":"_councilSafe","nameLocation":"9477:12:134","nodeType":"VariableDeclaration","scope":83515,"src":"9461:28:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"},"typeName":{"id":83505,"name":"address","nodeType":"ElementaryTypeName","src":"9461:15:134","stateMutability":"payable","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"visibility":"internal"},{"constant":false,"id":83508,"mutability":"mutable","name":"_communityName","nameLocation":"9506:14:134","nodeType":"VariableDeclaration","scope":83515,"src":"9499:21:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":83507,"name":"string","nodeType":"ElementaryTypeName","src":"9499:6:134","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":83510,"mutability":"mutable","name":"_isKickEnabled","nameLocation":"9535:14:134","nodeType":"VariableDeclaration","scope":83515,"src":"9530:19:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":83509,"name":"bool","nodeType":"ElementaryTypeName","src":"9530:4:134","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":83512,"mutability":"mutable","name":"covenantIpfsHash","nameLocation":"9566:16:134","nodeType":"VariableDeclaration","scope":83515,"src":"9559:23:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":83511,"name":"string","nodeType":"ElementaryTypeName","src":"9559:6:134","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":83514,"mutability":"mutable","name":"_strategyTemplate","nameLocation":"9600:17:134","nodeType":"VariableDeclaration","scope":83515,"src":"9592:25:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":83513,"name":"address","nodeType":"ElementaryTypeName","src":"9592:7:134","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"name":"InitializeParams","nameLocation":"9197:16:134","scope":85047,"visibility":"public"},{"id":83754,"nodeType":"FunctionDefinition","src":"9630:2107:134","nodes":[],"body":{"id":83753,"nodeType":"Block","src":"9723:2014:134","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":83523,"name":"__Ownable_init","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52837,"src":"9733:14:134","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":83524,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9733:16:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":83525,"nodeType":"ExpressionStatement","src":"9733:16:134"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":83526,"name":"__ReentrancyGuard_init","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53215,"src":"9759:22:134","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":83527,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9759:24:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":83528,"nodeType":"ExpressionStatement","src":"9759:24:134"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":83529,"name":"__AccessControl_init","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52448,"src":"9793:20:134","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":83530,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9793:22:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":83531,"nodeType":"ExpressionStatement","src":"9793:22:134"},{"expression":{"arguments":[{"id":83533,"name":"COUNCIL_MEMBER","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83244,"src":"9840:14:134","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":83534,"name":"DEFAULT_ADMIN_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52431,"src":"9856:18:134","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":83532,"name":"_setRoleAdmin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52667,"src":"9826:13:134","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (bytes32,bytes32)"}},"id":83535,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9826:49:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":83536,"nodeType":"ExpressionStatement","src":"9826:49:134"},{"expression":{"arguments":[{"arguments":[{"expression":{"id":83540,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83518,"src":"9913:6:134","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$83515_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams memory"}},"id":83541,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9920:12:134","memberName":"_gardenToken","nodeType":"MemberAccess","referencedDeclaration":83491,"src":"9913:19:134","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$57069","typeString":"contract IERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$57069","typeString":"contract IERC20"}],"id":83539,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9905:7:134","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":83538,"name":"address","nodeType":"ElementaryTypeName","src":"9905:7:134","typeDescriptions":{}}},"id":83542,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9905:28:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":83537,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84478,"src":"9886:18:134","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":83543,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9886:48:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":83544,"nodeType":"ExpressionStatement","src":"9886:48:134"},{"expression":{"arguments":[{"expression":{"id":83546,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83518,"src":"9963:6:134","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$83515_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams memory"}},"id":83547,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9970:12:134","memberName":"_councilSafe","nodeType":"MemberAccess","referencedDeclaration":83506,"src":"9963:19:134","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":83545,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84478,"src":"9944:18:134","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":83548,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9944:39:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":83549,"nodeType":"ExpressionStatement","src":"9944:39:134"},{"expression":{"arguments":[{"expression":{"id":83551,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83518,"src":"10012:6:134","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$83515_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams memory"}},"id":83552,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10019:5:134","memberName":"_allo","nodeType":"MemberAccess","referencedDeclaration":83488,"src":"10012:12:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":83550,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84478,"src":"9993:18:134","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":83553,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9993:32:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":83554,"nodeType":"ExpressionStatement","src":"9993:32:134"},{"expression":{"arguments":[{"expression":{"id":83556,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83518,"src":"10054:6:134","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$83515_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams memory"}},"id":83557,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10061:16:134","memberName":"_registryFactory","nodeType":"MemberAccess","referencedDeclaration":83499,"src":"10054:23:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":83555,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84478,"src":"10035:18:134","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":83558,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10035:43:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":83559,"nodeType":"ExpressionStatement","src":"10035:43:134"},{"expression":{"arguments":[{"expression":{"id":83561,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83518,"src":"10107:6:134","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$83515_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams memory"}},"id":83562,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10114:17:134","memberName":"_strategyTemplate","nodeType":"MemberAccess","referencedDeclaration":83514,"src":"10107:24:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":83560,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84478,"src":"10088:18:134","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":83563,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10088:44:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":83564,"nodeType":"ExpressionStatement","src":"10088:44:134"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":83568,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":83565,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83518,"src":"10147:6:134","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$83515_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams memory"}},"id":83566,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10154:13:134","memberName":"_communityFee","nodeType":"MemberAccess","referencedDeclaration":83495,"src":"10147:20:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":83567,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10171:1:134","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"10147:25:134","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":83575,"nodeType":"IfStatement","src":"10143:95:134","trueBody":{"id":83574,"nodeType":"Block","src":"10174:64:134","statements":[{"expression":{"arguments":[{"expression":{"id":83570,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83518,"src":"10207:6:134","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$83515_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams memory"}},"id":83571,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10214:12:134","memberName":"_feeReceiver","nodeType":"MemberAccess","referencedDeclaration":83501,"src":"10207:19:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":83569,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84478,"src":"10188:18:134","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":83572,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10188:39:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":83573,"nodeType":"ExpressionStatement","src":"10188:39:134"}]}},{"expression":{"id":83581,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":83576,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83197,"src":"10247:4:134","typeDescriptions":{"typeIdentifier":"t_contract$_FAllo_$85656","typeString":"contract FAllo"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":83578,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83518,"src":"10260:6:134","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$83515_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams memory"}},"id":83579,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10267:5:134","memberName":"_allo","nodeType":"MemberAccess","referencedDeclaration":83488,"src":"10260:12:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":83577,"name":"FAllo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85656,"src":"10254:5:134","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_FAllo_$85656_$","typeString":"type(contract FAllo)"}},"id":83580,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10254:19:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_FAllo_$85656","typeString":"contract FAllo"}},"src":"10247:26:134","typeDescriptions":{"typeIdentifier":"t_contract$_FAllo_$85656","typeString":"contract FAllo"}},"id":83582,"nodeType":"ExpressionStatement","src":"10247:26:134"},{"expression":{"id":83586,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":83583,"name":"gardenToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83189,"src":"10283:11:134","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$57069","typeString":"contract IERC20"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":83584,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83518,"src":"10297:6:134","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$83515_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams memory"}},"id":83585,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10304:12:134","memberName":"_gardenToken","nodeType":"MemberAccess","referencedDeclaration":83491,"src":"10297:19:134","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$57069","typeString":"contract IERC20"}},"src":"10283:33:134","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$57069","typeString":"contract IERC20"}},"id":83587,"nodeType":"ExpressionStatement","src":"10283:33:134"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":83591,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":83588,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83518,"src":"10330:6:134","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$83515_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams memory"}},"id":83589,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10337:20:134","memberName":"_registerStakeAmount","nodeType":"MemberAccess","referencedDeclaration":83493,"src":"10330:27:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":83590,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10361:1:134","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"10330:32:134","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":83596,"nodeType":"IfStatement","src":"10326:89:134","trueBody":{"id":83595,"nodeType":"Block","src":"10364:51:134","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":83592,"name":"ValueCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83461,"src":"10385:17:134","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":83593,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10385:19:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":83594,"nodeType":"RevertStatement","src":"10378:26:134"}]}},{"expression":{"id":83600,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":83597,"name":"registerStakeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83160,"src":"10424:19:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":83598,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83518,"src":"10446:6:134","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$83515_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams memory"}},"id":83599,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10453:20:134","memberName":"_registerStakeAmount","nodeType":"MemberAccess","referencedDeclaration":83493,"src":"10446:27:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10424:49:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":83601,"nodeType":"ExpressionStatement","src":"10424:49:134"},{"expression":{"id":83605,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":83602,"name":"communityFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83163,"src":"10483:12:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":83603,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83518,"src":"10498:6:134","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$83515_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams memory"}},"id":83604,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10505:13:134","memberName":"_communityFee","nodeType":"MemberAccess","referencedDeclaration":83495,"src":"10498:20:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10483:35:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":83606,"nodeType":"ExpressionStatement","src":"10483:35:134"},{"expression":{"id":83610,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":83607,"name":"isKickEnabled","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83157,"src":"10528:13:134","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":83608,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83518,"src":"10544:6:134","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$83515_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams memory"}},"id":83609,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10551:14:134","memberName":"_isKickEnabled","nodeType":"MemberAccess","referencedDeclaration":83510,"src":"10544:21:134","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"10528:37:134","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":83611,"nodeType":"ExpressionStatement","src":"10528:37:134"},{"expression":{"id":83615,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":83612,"name":"communityName","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83200,"src":"10575:13:134","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":83613,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83518,"src":"10591:6:134","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$83515_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams memory"}},"id":83614,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10598:14:134","memberName":"_communityName","nodeType":"MemberAccess","referencedDeclaration":83508,"src":"10591:21:134","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"10575:37:134","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"id":83616,"nodeType":"ExpressionStatement","src":"10575:37:134"},{"expression":{"id":83620,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":83617,"name":"covenantIpfsHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83203,"src":"10622:16:134","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":83618,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83518,"src":"10641:6:134","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$83515_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams memory"}},"id":83619,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10648:16:134","memberName":"covenantIpfsHash","nodeType":"MemberAccess","referencedDeclaration":83512,"src":"10641:23:134","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"10622:42:134","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"id":83621,"nodeType":"ExpressionStatement","src":"10622:42:134"},{"expression":{"id":83625,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":83622,"name":"registryFactory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83172,"src":"10674:15:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":83623,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83518,"src":"10692:6:134","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$83515_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams memory"}},"id":83624,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10699:16:134","memberName":"_registryFactory","nodeType":"MemberAccess","referencedDeclaration":83499,"src":"10692:23:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"10674:41:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":83626,"nodeType":"ExpressionStatement","src":"10674:41:134"},{"expression":{"id":83630,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":83627,"name":"feeReceiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83169,"src":"10725:11:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":83628,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83518,"src":"10739:6:134","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$83515_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams memory"}},"id":83629,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10746:12:134","memberName":"_feeReceiver","nodeType":"MemberAccess","referencedDeclaration":83501,"src":"10739:19:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"10725:33:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":83631,"nodeType":"ExpressionStatement","src":"10725:33:134"},{"expression":{"id":83637,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":83632,"name":"councilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83193,"src":"10768:11:134","typeDescriptions":{"typeIdentifier":"t_contract$_ISafe_$85665","typeString":"contract ISafe"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":83634,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83518,"src":"10788:6:134","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$83515_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams memory"}},"id":83635,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10795:12:134","memberName":"_councilSafe","nodeType":"MemberAccess","referencedDeclaration":83506,"src":"10788:19:134","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":83633,"name":"ISafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85665,"src":"10782:5:134","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ISafe_$85665_$","typeString":"type(contract ISafe)"}},"id":83636,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10782:26:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ISafe_$85665","typeString":"contract ISafe"}},"src":"10768:40:134","typeDescriptions":{"typeIdentifier":"t_contract$_ISafe_$85665","typeString":"contract ISafe"}},"id":83638,"nodeType":"ExpressionStatement","src":"10768:40:134"},{"expression":{"id":83642,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":83639,"name":"strategyTemplate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83175,"src":"10818:16:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":83640,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83518,"src":"10837:6:134","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$83515_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams memory"}},"id":83641,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10844:17:134","memberName":"_strategyTemplate","nodeType":"MemberAccess","referencedDeclaration":83514,"src":"10837:24:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"10818:43:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":83643,"nodeType":"ExpressionStatement","src":"10818:43:134"},{"expression":{"arguments":[{"id":83645,"name":"COUNCIL_MEMBER","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83244,"src":"10883:14:134","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"expression":{"id":83646,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83518,"src":"10899:6:134","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$83515_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams memory"}},"id":83647,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10906:12:134","memberName":"_councilSafe","nodeType":"MemberAccess","referencedDeclaration":83506,"src":"10899:19:134","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":83644,"name":"_grantRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52699,"src":"10872:10:134","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$","typeString":"function (bytes32,address)"}},"id":83648,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10872:47:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":83649,"nodeType":"ExpressionStatement","src":"10872:47:134"},{"expression":{"id":83656,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":83650,"name":"registry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83185,"src":"10930:8:134","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":83652,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83197,"src":"10951:4:134","typeDescriptions":{"typeIdentifier":"t_contract$_FAllo_$85656","typeString":"contract FAllo"}},"id":83653,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10956:11:134","memberName":"getRegistry","nodeType":"MemberAccess","referencedDeclaration":85647,"src":"10951:16:134","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_address_$","typeString":"function () view external returns (address)"}},"id":83654,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10951:18:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":83651,"name":"IRegistry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2802,"src":"10941:9:134","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IRegistry_$2802_$","typeString":"type(contract IRegistry)"}},"id":83655,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10941:29:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"}},"src":"10930:40:134","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"}},"id":83657,"nodeType":"ExpressionStatement","src":"10930:40:134"},{"assignments":[83662],"declarations":[{"constant":false,"id":83662,"mutability":"mutable","name":"owners","nameLocation":"10998:6:134","nodeType":"VariableDeclaration","scope":83753,"src":"10981:23:134","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":83660,"name":"address","nodeType":"ElementaryTypeName","src":"10981:7:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":83661,"nodeType":"ArrayTypeName","src":"10981:9:134","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"id":83666,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":83663,"name":"councilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83193,"src":"11007:11:134","typeDescriptions":{"typeIdentifier":"t_contract$_ISafe_$85665","typeString":"contract ISafe"}},"id":83664,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11019:9:134","memberName":"getOwners","nodeType":"MemberAccess","referencedDeclaration":85664,"src":"11007:21:134","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_array$_t_address_$dyn_memory_ptr_$","typeString":"function () view external returns (address[] memory)"}},"id":83665,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11007:23:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"nodeType":"VariableDeclarationStatement","src":"10981:49:134"},{"assignments":[83671],"declarations":[{"constant":false,"id":83671,"mutability":"mutable","name":"pool_initialMembers","nameLocation":"11057:19:134","nodeType":"VariableDeclaration","scope":83753,"src":"11040:36:134","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":83669,"name":"address","nodeType":"ElementaryTypeName","src":"11040:7:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":83670,"nodeType":"ArrayTypeName","src":"11040:9:134","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"id":83680,"initialValue":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":83678,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":83675,"name":"owners","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83662,"src":"11093:6:134","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":83676,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11100:6:134","memberName":"length","nodeType":"MemberAccess","src":"11093:13:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"32","id":83677,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11109:1:134","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"11093:17:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":83674,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"11079:13:134","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_address_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (address[] memory)"},"typeName":{"baseType":{"id":83672,"name":"address","nodeType":"ElementaryTypeName","src":"11083:7:134","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":83673,"nodeType":"ArrayTypeName","src":"11083:9:134","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}}},"id":83679,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11079:32:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"nodeType":"VariableDeclarationStatement","src":"11040:71:134"},{"body":{"id":83700,"nodeType":"Block","src":"11166:59:134","statements":[{"expression":{"id":83698,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":83692,"name":"pool_initialMembers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83671,"src":"11180:19:134","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":83694,"indexExpression":{"id":83693,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83682,"src":"11200:1:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"11180:22:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"baseExpression":{"id":83695,"name":"owners","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83662,"src":"11205:6:134","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":83697,"indexExpression":{"id":83696,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83682,"src":"11212:1:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"11205:9:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"11180:34:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":83699,"nodeType":"ExpressionStatement","src":"11180:34:134"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":83688,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":83685,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83682,"src":"11142:1:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":83686,"name":"owners","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83662,"src":"11146:6:134","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":83687,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11153:6:134","memberName":"length","nodeType":"MemberAccess","src":"11146:13:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"11142:17:134","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":83701,"initializationExpression":{"assignments":[83682],"declarations":[{"constant":false,"id":83682,"mutability":"mutable","name":"i","nameLocation":"11135:1:134","nodeType":"VariableDeclaration","scope":83701,"src":"11127:9:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":83681,"name":"uint256","nodeType":"ElementaryTypeName","src":"11127:7:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":83684,"initialValue":{"hexValue":"30","id":83683,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11139:1:134","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"11127:13:134"},"loopExpression":{"expression":{"id":83690,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"11161:3:134","subExpression":{"id":83689,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83682,"src":"11161:1:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":83691,"nodeType":"ExpressionStatement","src":"11161:3:134"},"nodeType":"ForStatement","src":"11122:103:134"},{"expression":{"id":83712,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":83702,"name":"pool_initialMembers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83671,"src":"11235:19:134","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":83707,"indexExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":83706,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":83703,"name":"pool_initialMembers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83671,"src":"11255:19:134","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":83704,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11275:6:134","memberName":"length","nodeType":"MemberAccess","src":"11255:26:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":83705,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11284:1:134","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"11255:30:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"11235:51:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":83710,"name":"councilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83193,"src":"11297:11:134","typeDescriptions":{"typeIdentifier":"t_contract$_ISafe_$85665","typeString":"contract ISafe"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ISafe_$85665","typeString":"contract ISafe"}],"id":83709,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11289:7:134","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":83708,"name":"address","nodeType":"ElementaryTypeName","src":"11289:7:134","typeDescriptions":{}}},"id":83711,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11289:20:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"11235:74:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":83713,"nodeType":"ExpressionStatement","src":"11235:74:134"},{"expression":{"id":83724,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":83714,"name":"pool_initialMembers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83671,"src":"11319:19:134","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":83719,"indexExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":83718,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":83715,"name":"pool_initialMembers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83671,"src":"11339:19:134","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":83716,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11359:6:134","memberName":"length","nodeType":"MemberAccess","src":"11339:26:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"32","id":83717,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11368:1:134","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"11339:30:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"11319:51:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":83722,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"11381:4:134","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"}],"id":83721,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11373:7:134","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":83720,"name":"address","nodeType":"ElementaryTypeName","src":"11373:7:134","typeDescriptions":{}}},"id":83723,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11373:13:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"11319:67:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":83725,"nodeType":"ExpressionStatement","src":"11319:67:134"},{"expression":{"id":83740,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":83726,"name":"profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83166,"src":"11474:9:134","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":83729,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83518,"src":"11521:6:134","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$83515_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams memory"}},"id":83730,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11528:6:134","memberName":"_nonce","nodeType":"MemberAccess","referencedDeclaration":83497,"src":"11521:13:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":83731,"name":"communityName","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83200,"src":"11536:13:134","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},{"expression":{"id":83732,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83518,"src":"11551:6:134","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$83515_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams memory"}},"id":83733,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11558:9:134","memberName":"_metadata","nodeType":"MemberAccess","referencedDeclaration":83504,"src":"11551:16:134","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}},{"arguments":[{"id":83736,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"11577:4:134","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"}],"id":83735,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11569:7:134","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":83734,"name":"address","nodeType":"ElementaryTypeName","src":"11569:7:134","typeDescriptions":{}}},"id":83737,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11569:13:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":83738,"name":"pool_initialMembers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83671,"src":"11584:19:134","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_storage","typeString":"string storage ref"},{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}],"expression":{"id":83727,"name":"registry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83185,"src":"11498:8:134","typeDescriptions":{"typeIdentifier":"t_contract$_IRegistry_$2802","typeString":"contract IRegistry"}},"id":83728,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11507:13:134","memberName":"createProfile","nodeType":"MemberAccess","referencedDeclaration":2742,"src":"11498:22:134","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_string_memory_ptr_$_t_struct$_Metadata_$3098_memory_ptr_$_t_address_$_t_array$_t_address_$dyn_memory_ptr_$returns$_t_bytes32_$","typeString":"function (uint256,string memory,struct Metadata memory,address,address[] memory) external returns (bytes32)"}},"id":83739,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11498:106:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"11474:130:134","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":83741,"nodeType":"ExpressionStatement","src":"11474:130:134"},{"expression":{"id":83744,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":83742,"name":"initialMembers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83238,"src":"11615:14:134","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[] storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":83743,"name":"pool_initialMembers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83671,"src":"11632:19:134","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"src":"11615:36:134","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[] storage ref"}},"id":83745,"nodeType":"ExpressionStatement","src":"11615:36:134"},{"eventCall":{"arguments":[{"id":83747,"name":"profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83166,"src":"11687:9:134","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":83748,"name":"communityName","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83200,"src":"11698:13:134","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},{"expression":{"id":83749,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83518,"src":"11713:6:134","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$83515_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams memory"}},"id":83750,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11720:9:134","memberName":"_metadata","nodeType":"MemberAccess","referencedDeclaration":83504,"src":"11713:16:134","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_string_storage","typeString":"string storage ref"},{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}],"id":83746,"name":"RegistryInitialized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83291,"src":"11667:19:134","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_bytes32_$_t_string_memory_ptr_$_t_struct$_Metadata_$3098_memory_ptr_$returns$__$","typeString":"function (bytes32,string memory,struct Metadata memory)"}},"id":83751,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11667:63:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":83752,"nodeType":"EmitStatement","src":"11662:68:134"}]},"functionSelector":"96f0adec","implemented":true,"kind":"function","modifiers":[{"id":83521,"kind":"modifierInvocation","modifierName":{"id":83520,"name":"initializer","nameLocations":["9711:11:134"],"nodeType":"IdentifierPath","referencedDeclaration":53093,"src":"9711:11:134"},"nodeType":"ModifierInvocation","src":"9711:11:134"}],"name":"initialize","nameLocation":"9639:10:134","parameters":{"id":83519,"nodeType":"ParameterList","parameters":[{"constant":false,"id":83518,"mutability":"mutable","name":"params","nameLocation":"9696:6:134","nodeType":"VariableDeclaration","scope":83754,"src":"9650:52:134","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$83515_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams"},"typeName":{"id":83517,"nodeType":"UserDefinedTypeName","pathNode":{"id":83516,"name":"RegistryCommunityV0_0.InitializeParams","nameLocations":["9650:21:134","9672:16:134"],"nodeType":"IdentifierPath","referencedDeclaration":83515,"src":"9650:38:134"},"referencedDeclaration":83515,"src":"9650:38:134","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$83515_storage_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams"}},"visibility":"internal"}],"src":"9649:54:134"},"returnParameters":{"id":83522,"nodeType":"ParameterList","parameters":[],"src":"9723:0:134"},"scope":85047,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":83804,"nodeType":"FunctionDefinition","src":"11743:622:134","nodes":[],"body":{"id":83803,"nodeType":"Block","src":"11924:441:134","nodes":[],"statements":[{"assignments":[83770],"declarations":[{"constant":false,"id":83770,"mutability":"mutable","name":"strategyProxy","nameLocation":"12094:13:134","nodeType":"VariableDeclaration","scope":83803,"src":"12086:21:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":83769,"name":"address","nodeType":"ElementaryTypeName","src":"12086:7:134","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":83795,"initialValue":{"arguments":[{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":83780,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"12173:18:134","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$__$returns$_t_contract$_CVStrategyV0_0_$80578_$","typeString":"function () returns (contract CVStrategyV0_0)"},"typeName":{"id":83779,"nodeType":"UserDefinedTypeName","pathNode":{"id":83778,"name":"CVStrategyV0_0","nameLocations":["12177:14:134"],"nodeType":"IdentifierPath","referencedDeclaration":80578,"src":"12177:14:134"},"referencedDeclaration":80578,"src":"12177:14:134","typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$80578","typeString":"contract CVStrategyV0_0"}}},"id":83781,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12173:20:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_CVStrategyV0_0_$80578","typeString":"contract CVStrategyV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CVStrategyV0_0_$80578","typeString":"contract CVStrategyV0_0"}],"id":83777,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12165:7:134","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":83776,"name":"address","nodeType":"ElementaryTypeName","src":"12165:7:134","typeDescriptions":{}}},"id":83782,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12165:29:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"expression":{"expression":{"id":83785,"name":"CVStrategyV0_0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80578,"src":"12219:14:134","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CVStrategyV0_0_$80578_$","typeString":"type(contract CVStrategyV0_0)"}},"id":83786,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"12234:4:134","memberName":"init","nodeType":"MemberAccess","referencedDeclaration":78015,"src":"12219:19:134","typeDescriptions":{"typeIdentifier":"t_function_declaration_nonpayable$_t_address_$returns$__$","typeString":"function CVStrategyV0_0.init(address)"}},"id":83787,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"12239:8:134","memberName":"selector","nodeType":"MemberAccess","src":"12219:28:134","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"arguments":[{"id":83790,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83197,"src":"12257:4:134","typeDescriptions":{"typeIdentifier":"t_contract$_FAllo_$85656","typeString":"contract FAllo"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_FAllo_$85656","typeString":"contract FAllo"}],"id":83789,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12249:7:134","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":83788,"name":"address","nodeType":"ElementaryTypeName","src":"12249:7:134","typeDescriptions":{}}},"id":83791,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12249:13:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":83783,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"12196:3:134","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":83784,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"12200:18:134","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"12196:22:134","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":83792,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12196:67:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":83775,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"12131:16:134","typeDescriptions":{"typeIdentifier":"t_function_creation_payable$_t_address_$_t_bytes_memory_ptr_$returns$_t_contract$_ERC1967Proxy_$55562_$","typeString":"function (address,bytes memory) payable returns (contract ERC1967Proxy)"},"typeName":{"id":83774,"nodeType":"UserDefinedTypeName","pathNode":{"id":83773,"name":"ERC1967Proxy","nameLocations":["12135:12:134"],"nodeType":"IdentifierPath","referencedDeclaration":55562,"src":"12135:12:134"},"referencedDeclaration":55562,"src":"12135:12:134","typeDescriptions":{"typeIdentifier":"t_contract$_ERC1967Proxy_$55562","typeString":"contract ERC1967Proxy"}}},"id":83793,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12131:146:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ERC1967Proxy_$55562","typeString":"contract ERC1967Proxy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ERC1967Proxy_$55562","typeString":"contract ERC1967Proxy"}],"id":83772,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12110:7:134","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":83771,"name":"address","nodeType":"ElementaryTypeName","src":"12110:7:134","typeDescriptions":{}}},"id":83794,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12110:177:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"12086:201:134"},{"expression":{"arguments":[{"id":83797,"name":"strategyProxy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83770,"src":"12316:13:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":83798,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83756,"src":"12331:6:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":83799,"name":"_params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83759,"src":"12339:7:134","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$77751_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}},{"id":83800,"name":"_metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83762,"src":"12348:9:134","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_struct$_InitializeParams_$77751_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"},{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}],"id":83796,"name":"createPool","nodeType":"Identifier","overloadedDeclarations":[83804,83876],"referencedDeclaration":83876,"src":"12305:10:134","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_struct$_InitializeParams_$77751_memory_ptr_$_t_struct$_Metadata_$3098_memory_ptr_$returns$_t_uint256_$_t_address_$","typeString":"function (address,address,struct StrategyStruct.InitializeParams memory,struct Metadata memory) returns (uint256,address)"}},"id":83801,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12305:53:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_address_$","typeString":"tuple(uint256,address)"}},"functionReturnParameters":83768,"id":83802,"nodeType":"Return","src":"12298:60:134"}]},"functionSelector":"97991cfa","implemented":true,"kind":"function","modifiers":[],"name":"createPool","nameLocation":"11752:10:134","parameters":{"id":83763,"nodeType":"ParameterList","parameters":[{"constant":false,"id":83756,"mutability":"mutable","name":"_token","nameLocation":"11771:6:134","nodeType":"VariableDeclaration","scope":83804,"src":"11763:14:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":83755,"name":"address","nodeType":"ElementaryTypeName","src":"11763:7:134","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":83759,"mutability":"mutable","name":"_params","nameLocation":"11818:7:134","nodeType":"VariableDeclaration","scope":83804,"src":"11779:46:134","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$77751_memory_ptr","typeString":"struct StrategyStruct.InitializeParams"},"typeName":{"id":83758,"nodeType":"UserDefinedTypeName","pathNode":{"id":83757,"name":"StrategyStruct.InitializeParams","nameLocations":["11779:14:134","11794:16:134"],"nodeType":"IdentifierPath","referencedDeclaration":77751,"src":"11779:31:134"},"referencedDeclaration":77751,"src":"11779:31:134","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$77751_storage_ptr","typeString":"struct StrategyStruct.InitializeParams"}},"visibility":"internal"},{"constant":false,"id":83762,"mutability":"mutable","name":"_metadata","nameLocation":"11843:9:134","nodeType":"VariableDeclaration","scope":83804,"src":"11827:25:134","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata"},"typeName":{"id":83761,"nodeType":"UserDefinedTypeName","pathNode":{"id":83760,"name":"Metadata","nameLocations":["11827:8:134"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"11827:8:134"},"referencedDeclaration":3098,"src":"11827:8:134","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"}],"src":"11762:91:134"},"returnParameters":{"id":83768,"nodeType":"ParameterList","parameters":[{"constant":false,"id":83765,"mutability":"mutable","name":"poolId","nameLocation":"11894:6:134","nodeType":"VariableDeclaration","scope":83804,"src":"11886:14:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":83764,"name":"uint256","nodeType":"ElementaryTypeName","src":"11886:7:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":83767,"mutability":"mutable","name":"strategy","nameLocation":"11910:8:134","nodeType":"VariableDeclaration","scope":83804,"src":"11902:16:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":83766,"name":"address","nodeType":"ElementaryTypeName","src":"11902:7:134","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"11885:34:134"},"scope":85047,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":83876,"nodeType":"FunctionDefinition","src":"12371:653:134","nodes":[],"body":{"id":83875,"nodeType":"Block","src":"12589:435:134","nodes":[],"statements":[{"assignments":[83822],"declarations":[{"constant":false,"id":83822,"mutability":"mutable","name":"token","nameLocation":"12607:5:134","nodeType":"VariableDeclaration","scope":83875,"src":"12599:13:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":83821,"name":"address","nodeType":"ElementaryTypeName","src":"12599:7:134","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":83824,"initialValue":{"id":83823,"name":"NATIVE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83142,"src":"12615:6:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"12599:22:134"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":83830,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":83825,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83808,"src":"12635:6:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":83828,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12653:1:134","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":83827,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12645:7:134","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":83826,"name":"address","nodeType":"ElementaryTypeName","src":"12645:7:134","typeDescriptions":{}}},"id":83829,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12645:10:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"12635:20:134","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":83836,"nodeType":"IfStatement","src":"12631:65:134","trueBody":{"id":83835,"nodeType":"Block","src":"12657:39:134","statements":[{"expression":{"id":83833,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":83831,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83822,"src":"12671:5:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":83832,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83808,"src":"12679:6:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"12671:14:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":83834,"nodeType":"ExpressionStatement","src":"12671:14:134"}]}},{"expression":{"id":83839,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":83837,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83819,"src":"12705:8:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":83838,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83806,"src":"12716:9:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"12705:20:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":83840,"nodeType":"ExpressionStatement","src":"12705:20:134"},{"assignments":[83845],"declarations":[{"constant":false,"id":83845,"mutability":"mutable","name":"_pool_managers","nameLocation":"12753:14:134","nodeType":"VariableDeclaration","scope":83875,"src":"12736:31:134","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":83843,"name":"address","nodeType":"ElementaryTypeName","src":"12736:7:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":83844,"nodeType":"ArrayTypeName","src":"12736:9:134","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"id":83847,"initialValue":{"id":83846,"name":"initialMembers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83238,"src":"12770:14:134","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[] storage ref"}},"nodeType":"VariableDeclarationStatement","src":"12736:48:134"},{"expression":{"id":83862,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":83848,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83817,"src":"12795:6:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":83851,"name":"profileId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83166,"src":"12851:9:134","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":83852,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83819,"src":"12862:8:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":83855,"name":"_params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83811,"src":"12883:7:134","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$77751_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_InitializeParams_$77751_memory_ptr","typeString":"struct StrategyStruct.InitializeParams memory"}],"expression":{"id":83853,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"12872:3:134","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":83854,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"12876:6:134","memberName":"encode","nodeType":"MemberAccess","src":"12872:10:134","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":83856,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12872:19:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":83857,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83822,"src":"12893:5:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":83858,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12900:1:134","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"id":83859,"name":"_metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83814,"src":"12903:9:134","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}},{"id":83860,"name":"_pool_managers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83845,"src":"12914:14:134","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"},{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}],"expression":{"id":83849,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83197,"src":"12804:4:134","typeDescriptions":{"typeIdentifier":"t_contract$_FAllo_$85656","typeString":"contract FAllo"}},"id":83850,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12809:28:134","memberName":"createPoolWithCustomStrategy","nodeType":"MemberAccess","referencedDeclaration":85642,"src":"12804:33:134","typeDescriptions":{"typeIdentifier":"t_function_external_payable$_t_bytes32_$_t_address_$_t_bytes_memory_ptr_$_t_address_$_t_uint256_$_t_struct$_Metadata_$3098_memory_ptr_$_t_array$_t_address_$dyn_memory_ptr_$returns$_t_uint256_$","typeString":"function (bytes32,address,bytes memory,address,uint256,struct Metadata memory,address[] memory) payable external returns (uint256)"}},"id":83861,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12804:134:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"12795:143:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":83863,"nodeType":"ExpressionStatement","src":"12795:143:134"},{"eventCall":{"arguments":[{"id":83865,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83817,"src":"12966:6:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":83866,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83819,"src":"12974:8:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":83869,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"12992:4:134","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"}],"id":83868,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12984:7:134","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":83867,"name":"address","nodeType":"ElementaryTypeName","src":"12984:7:134","typeDescriptions":{}}},"id":83870,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12984:13:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":83871,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83808,"src":"12999:6:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":83872,"name":"_metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83814,"src":"13007:9:134","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}],"id":83864,"name":"PoolCreated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83342,"src":"12954:11:134","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_address_$_t_address_$_t_address_$_t_struct$_Metadata_$3098_memory_ptr_$returns$__$","typeString":"function (uint256,address,address,address,struct Metadata memory)"}},"id":83873,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12954:63:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":83874,"nodeType":"EmitStatement","src":"12949:68:134"}]},"functionSelector":"ff6409ef","implemented":true,"kind":"function","modifiers":[],"name":"createPool","nameLocation":"12380:10:134","parameters":{"id":83815,"nodeType":"ParameterList","parameters":[{"constant":false,"id":83806,"mutability":"mutable","name":"_strategy","nameLocation":"12408:9:134","nodeType":"VariableDeclaration","scope":83876,"src":"12400:17:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":83805,"name":"address","nodeType":"ElementaryTypeName","src":"12400:7:134","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":83808,"mutability":"mutable","name":"_token","nameLocation":"12435:6:134","nodeType":"VariableDeclaration","scope":83876,"src":"12427:14:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":83807,"name":"address","nodeType":"ElementaryTypeName","src":"12427:7:134","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":83811,"mutability":"mutable","name":"_params","nameLocation":"12490:7:134","nodeType":"VariableDeclaration","scope":83876,"src":"12451:46:134","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$77751_memory_ptr","typeString":"struct StrategyStruct.InitializeParams"},"typeName":{"id":83810,"nodeType":"UserDefinedTypeName","pathNode":{"id":83809,"name":"StrategyStruct.InitializeParams","nameLocations":["12451:14:134","12466:16:134"],"nodeType":"IdentifierPath","referencedDeclaration":77751,"src":"12451:31:134"},"referencedDeclaration":77751,"src":"12451:31:134","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$77751_storage_ptr","typeString":"struct StrategyStruct.InitializeParams"}},"visibility":"internal"},{"constant":false,"id":83814,"mutability":"mutable","name":"_metadata","nameLocation":"12523:9:134","nodeType":"VariableDeclaration","scope":83876,"src":"12507:25:134","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata"},"typeName":{"id":83813,"nodeType":"UserDefinedTypeName","pathNode":{"id":83812,"name":"Metadata","nameLocations":["12507:8:134"],"nodeType":"IdentifierPath","referencedDeclaration":3098,"src":"12507:8:134"},"referencedDeclaration":3098,"src":"12507:8:134","typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_storage_ptr","typeString":"struct Metadata"}},"visibility":"internal"}],"src":"12390:148:134"},"returnParameters":{"id":83820,"nodeType":"ParameterList","parameters":[{"constant":false,"id":83817,"mutability":"mutable","name":"poolId","nameLocation":"12563:6:134","nodeType":"VariableDeclaration","scope":83876,"src":"12555:14:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":83816,"name":"uint256","nodeType":"ElementaryTypeName","src":"12555:7:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":83819,"mutability":"mutable","name":"strategy","nameLocation":"12579:8:134","nodeType":"VariableDeclaration","scope":83876,"src":"12571:16:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":83818,"name":"address","nodeType":"ElementaryTypeName","src":"12571:7:134","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"12554:34:134"},"scope":85047,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":83993,"nodeType":"FunctionDefinition","src":"13030:1179:134","nodes":[],"body":{"id":83992,"nodeType":"Block","src":"13107:1102:134","nodes":[],"statements":[{"expression":{"arguments":[{"id":83884,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83878,"src":"13143:7:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":83883,"name":"onlyRegistryMemberAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83386,"src":"13117:25:134","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$__$","typeString":"function (address) view"}},"id":83885,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13117:34:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":83886,"nodeType":"ExpressionStatement","src":"13117:34:134"},{"expression":{"arguments":[{"id":83888,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83880,"src":"13181:9:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":83887,"name":"onlyStrategyEnabled","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83401,"src":"13161:19:134","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$__$","typeString":"function (address) view"}},"id":83889,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13161:30:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":83890,"nodeType":"ExpressionStatement","src":"13161:30:134"},{"expression":{"arguments":[{"id":83892,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83880,"src":"13220:9:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":83891,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84478,"src":"13201:18:134","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":83893,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13201:29:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":83894,"nodeType":"ExpressionStatement","src":"13201:29:134"},{"condition":{"baseExpression":{"baseExpression":{"id":83895,"name":"memberActivatedInStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83234,"src":"13245:27:134","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$","typeString":"mapping(address => mapping(address => bool))"}},"id":83897,"indexExpression":{"id":83896,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83878,"src":"13273:7:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"13245:36:134","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":83899,"indexExpression":{"id":83898,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83880,"src":"13282:9:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"13245:47:134","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":83904,"nodeType":"IfStatement","src":"13241:107:134","trueBody":{"id":83903,"nodeType":"Block","src":"13294:54:134","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":83900,"name":"UserAlreadyActivated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83449,"src":"13315:20:134","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":83901,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13315:22:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":83902,"nodeType":"RevertStatement","src":"13308:29:134"}]}},{"assignments":[83907],"declarations":[{"constant":false,"id":83907,"mutability":"mutable","name":"member","nameLocation":"13372:6:134","nodeType":"VariableDeclaration","scope":83992,"src":"13358:20:134","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$83482_memory_ptr","typeString":"struct RegistryCommunityV0_0.Member"},"typeName":{"id":83906,"nodeType":"UserDefinedTypeName","pathNode":{"id":83905,"name":"Member","nameLocations":["13358:6:134"],"nodeType":"IdentifierPath","referencedDeclaration":83482,"src":"13358:6:134"},"referencedDeclaration":83482,"src":"13358:6:134","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$83482_storage_ptr","typeString":"struct RegistryCommunityV0_0.Member"}},"visibility":"internal"}],"id":83911,"initialValue":{"baseExpression":{"id":83908,"name":"addressToMemberInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83221,"src":"13381:19:134","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Member_$83482_storage_$","typeString":"mapping(address => struct RegistryCommunityV0_0.Member storage ref)"}},"id":83910,"indexExpression":{"id":83909,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83878,"src":"13401:7:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"13381:28:134","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$83482_storage","typeString":"struct RegistryCommunityV0_0.Member storage ref"}},"nodeType":"VariableDeclarationStatement","src":"13358:51:134"},{"assignments":[83913],"declarations":[{"constant":false,"id":83913,"mutability":"mutable","name":"totalStakedAmount","nameLocation":"13428:17:134","nodeType":"VariableDeclaration","scope":83992,"src":"13420:25:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":83912,"name":"uint256","nodeType":"ElementaryTypeName","src":"13420:7:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":83916,"initialValue":{"expression":{"id":83914,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83907,"src":"13448:6:134","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$83482_memory_ptr","typeString":"struct RegistryCommunityV0_0.Member memory"}},"id":83915,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"13455:12:134","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":83479,"src":"13448:19:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"13420:47:134"},{"assignments":[83918],"declarations":[{"constant":false,"id":83918,"mutability":"mutable","name":"pointsToIncrease","nameLocation":"13485:16:134","nodeType":"VariableDeclaration","scope":83992,"src":"13477:24:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":83917,"name":"uint256","nodeType":"ElementaryTypeName","src":"13477:7:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":83920,"initialValue":{"id":83919,"name":"registerStakeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83160,"src":"13504:19:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"13477:46:134"},{"condition":{"commonType":{"typeIdentifier":"t_enum$_PointSystem_$77676","typeString":"enum StrategyStruct.PointSystem"},"id":83929,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[{"id":83922,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83880,"src":"13553:9:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":83921,"name":"IPointStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77667,"src":"13538:14:134","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IPointStrategy_$77667_$","typeString":"type(contract IPointStrategy)"}},"id":83923,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13538:25:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IPointStrategy_$77667","typeString":"contract IPointStrategy"}},"id":83924,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13564:14:134","memberName":"getPointSystem","nodeType":"MemberAccess","referencedDeclaration":77666,"src":"13538:40:134","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$_t_enum$_PointSystem_$77676_$","typeString":"function () external returns (enum StrategyStruct.PointSystem)"}},"id":83925,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13538:42:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$77676","typeString":"enum StrategyStruct.PointSystem"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":83926,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77752,"src":"13584:14:134","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$77752_$","typeString":"type(library StrategyStruct)"}},"id":83927,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13599:11:134","memberName":"PointSystem","nodeType":"MemberAccess","referencedDeclaration":77676,"src":"13584:26:134","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_PointSystem_$77676_$","typeString":"type(enum StrategyStruct.PointSystem)"}},"id":83928,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"13611:9:134","memberName":"Quadratic","nodeType":"MemberAccess","referencedDeclaration":77675,"src":"13584:36:134","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$77676","typeString":"enum StrategyStruct.PointSystem"}},"src":"13538:82:134","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_enum$_PointSystem_$77676","typeString":"enum StrategyStruct.PointSystem"},"id":83949,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[{"id":83942,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83880,"src":"13742:9:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":83941,"name":"IPointStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77667,"src":"13727:14:134","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IPointStrategy_$77667_$","typeString":"type(contract IPointStrategy)"}},"id":83943,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13727:25:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IPointStrategy_$77667","typeString":"contract IPointStrategy"}},"id":83944,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13753:14:134","memberName":"getPointSystem","nodeType":"MemberAccess","referencedDeclaration":77666,"src":"13727:40:134","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$_t_enum$_PointSystem_$77676_$","typeString":"function () external returns (enum StrategyStruct.PointSystem)"}},"id":83945,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13727:42:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$77676","typeString":"enum StrategyStruct.PointSystem"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"expression":{"id":83946,"name":"StrategyStruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77752,"src":"13773:14:134","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StrategyStruct_$77752_$","typeString":"type(library StrategyStruct)"}},"id":83947,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13788:11:134","memberName":"PointSystem","nodeType":"MemberAccess","referencedDeclaration":77676,"src":"13773:26:134","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_PointSystem_$77676_$","typeString":"type(enum StrategyStruct.PointSystem)"}},"id":83948,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"13800:5:134","memberName":"Fixed","nodeType":"MemberAccess","referencedDeclaration":77672,"src":"13773:32:134","typeDescriptions":{"typeIdentifier":"t_enum$_PointSystem_$77676","typeString":"enum StrategyStruct.PointSystem"}},"src":"13727:78:134","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":83961,"nodeType":"IfStatement","src":"13723:195:134","trueBody":{"id":83960,"nodeType":"Block","src":"13807:111:134","statements":[{"expression":{"id":83958,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":83950,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83918,"src":"13821:16:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":83955,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83878,"src":"13880:7:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":83956,"name":"totalStakedAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83913,"src":"13889:17:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"arguments":[{"id":83952,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83880,"src":"13855:9:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":83951,"name":"IPointStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77667,"src":"13840:14:134","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IPointStrategy_$77667_$","typeString":"type(contract IPointStrategy)"}},"id":83953,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13840:25:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IPointStrategy_$77667","typeString":"contract IPointStrategy"}},"id":83954,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13866:13:134","memberName":"increasePower","nodeType":"MemberAccess","referencedDeclaration":77651,"src":"13840:39:134","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256) external returns (uint256)"}},"id":83957,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13840:67:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"13821:86:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":83959,"nodeType":"ExpressionStatement","src":"13821:86:134"}]}},"id":83962,"nodeType":"IfStatement","src":"13534:384:134","trueBody":{"id":83940,"nodeType":"Block","src":"13622:95:134","statements":[{"expression":{"id":83938,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":83930,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83918,"src":"13636:16:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":83935,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83878,"src":"13695:7:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":83936,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13704:1:134","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"expression":{"arguments":[{"id":83932,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83880,"src":"13670:9:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":83931,"name":"IPointStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77667,"src":"13655:14:134","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IPointStrategy_$77667_$","typeString":"type(contract IPointStrategy)"}},"id":83933,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13655:25:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IPointStrategy_$77667","typeString":"contract IPointStrategy"}},"id":83934,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13681:13:134","memberName":"increasePower","nodeType":"MemberAccess","referencedDeclaration":77651,"src":"13655:39:134","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256) external returns (uint256)"}},"id":83937,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13655:51:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"13636:70:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":83939,"nodeType":"ExpressionStatement","src":"13636:70:134"}]}},{"expression":{"id":83969,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"id":83963,"name":"memberPowerInStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83215,"src":"13928:21:134","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"}},"id":83966,"indexExpression":{"id":83964,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83878,"src":"13950:7:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"13928:30:134","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":83967,"indexExpression":{"id":83965,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83880,"src":"13959:9:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"13928:41:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":83968,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83918,"src":"13972:16:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"13928:60:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":83970,"nodeType":"ExpressionStatement","src":"13928:60:134"},{"expression":{"id":83977,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"id":83971,"name":"memberActivatedInStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83234,"src":"14017:27:134","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$","typeString":"mapping(address => mapping(address => bool))"}},"id":83974,"indexExpression":{"id":83972,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83878,"src":"14045:7:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"14017:36:134","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":83975,"indexExpression":{"id":83973,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83880,"src":"14054:9:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"14017:47:134","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":83976,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"14067:4:134","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"14017:54:134","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":83978,"nodeType":"ExpressionStatement","src":"14017:54:134"},{"expression":{"arguments":[{"id":83983,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83880,"src":"14115:9:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"baseExpression":{"id":83979,"name":"strategiesByMember","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83227,"src":"14082:18:134","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_address_$dyn_storage_$","typeString":"mapping(address => address[] storage ref)"}},"id":83981,"indexExpression":{"id":83980,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83878,"src":"14101:7:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"14082:27:134","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[] storage ref"}},"id":83982,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14110:4:134","memberName":"push","nodeType":"MemberAccess","src":"14082:32:134","typeDescriptions":{"typeIdentifier":"t_function_arraypush_nonpayable$_t_array$_t_address_$dyn_storage_ptr_$_t_address_$returns$__$attached_to$_t_array$_t_address_$dyn_storage_ptr_$","typeString":"function (address[] storage pointer,address)"}},"id":83984,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14082:43:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":83985,"nodeType":"ExpressionStatement","src":"14082:43:134"},{"eventCall":{"arguments":[{"id":83987,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83878,"src":"14165:7:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":83988,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83880,"src":"14174:9:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":83989,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83918,"src":"14185:16:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":83986,"name":"MemberActivatedStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83307,"src":"14141:23:134","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":83990,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14141:61:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":83991,"nodeType":"EmitStatement","src":"14136:66:134"}]},"functionSelector":"0d4a8b49","implemented":true,"kind":"function","modifiers":[],"name":"activateMemberInStrategy","nameLocation":"13039:24:134","parameters":{"id":83881,"nodeType":"ParameterList","parameters":[{"constant":false,"id":83878,"mutability":"mutable","name":"_member","nameLocation":"13072:7:134","nodeType":"VariableDeclaration","scope":83993,"src":"13064:15:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":83877,"name":"address","nodeType":"ElementaryTypeName","src":"13064:7:134","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":83880,"mutability":"mutable","name":"_strategy","nameLocation":"13089:9:134","nodeType":"VariableDeclaration","scope":83993,"src":"13081:17:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":83879,"name":"address","nodeType":"ElementaryTypeName","src":"13081:7:134","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"13063:36:134"},"returnParameters":{"id":83882,"nodeType":"ParameterList","parameters":[],"src":"13107:0:134"},"scope":85047,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":84052,"nodeType":"FunctionDefinition","src":"14215:691:134","nodes":[],"body":{"id":84051,"nodeType":"Block","src":"14294:612:134","nodes":[],"statements":[{"expression":{"arguments":[{"id":84001,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83995,"src":"14330:7:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":84000,"name":"onlyRegistryMemberAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83386,"src":"14304:25:134","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$__$","typeString":"function (address) view"}},"id":84002,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14304:34:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":84003,"nodeType":"ExpressionStatement","src":"14304:34:134"},{"expression":{"arguments":[{"id":84005,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83997,"src":"14367:9:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":84004,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84478,"src":"14348:18:134","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":84006,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14348:29:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":84007,"nodeType":"ExpressionStatement","src":"14348:29:134"},{"expression":{"arguments":[{"expression":{"id":84009,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"14407:3:134","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":84010,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14411:6:134","memberName":"sender","nodeType":"MemberAccess","src":"14407:10:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":84011,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83997,"src":"14419:9:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":84008,"name":"onlyStrategyAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83417,"src":"14387:19:134","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$_t_address_$returns$__$","typeString":"function (address,address) pure"}},"id":84012,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14387:42:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":84013,"nodeType":"ExpressionStatement","src":"14387:42:134"},{"condition":{"id":84019,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"14444:48:134","subExpression":{"baseExpression":{"baseExpression":{"id":84014,"name":"memberActivatedInStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83234,"src":"14445:27:134","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$","typeString":"mapping(address => mapping(address => bool))"}},"id":84016,"indexExpression":{"id":84015,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83995,"src":"14473:7:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"14445:36:134","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":84018,"indexExpression":{"id":84017,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83997,"src":"14482:9:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"14445:47:134","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":84024,"nodeType":"IfStatement","src":"14440:110:134","trueBody":{"id":84023,"nodeType":"Block","src":"14494:56:134","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":84020,"name":"UserAlreadyDeactivated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83451,"src":"14515:22:134","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":84021,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14515:24:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":84022,"nodeType":"RevertStatement","src":"14508:31:134"}]}},{"expression":{"id":84031,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"id":84025,"name":"memberActivatedInStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83234,"src":"14560:27:134","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$","typeString":"mapping(address => mapping(address => bool))"}},"id":84028,"indexExpression":{"id":84026,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83995,"src":"14588:7:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"14560:36:134","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":84029,"indexExpression":{"id":84027,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83997,"src":"14597:9:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"14560:47:134","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"66616c7365","id":84030,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"14610:5:134","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"src":"14560:55:134","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":84032,"nodeType":"ExpressionStatement","src":"14560:55:134"},{"expression":{"id":84039,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"id":84033,"name":"memberPowerInStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83215,"src":"14625:21:134","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"}},"id":84036,"indexExpression":{"id":84034,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83995,"src":"14647:7:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"14625:30:134","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":84037,"indexExpression":{"id":84035,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83997,"src":"14656:9:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"14625:41:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"30","id":84038,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14669:1:134","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"14625:45:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":84040,"nodeType":"ExpressionStatement","src":"14625:45:134"},{"expression":{"arguments":[{"id":84042,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83995,"src":"14705:7:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":84043,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83997,"src":"14714:9:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":84041,"name":"removeStrategyFromMember","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84105,"src":"14680:24:134","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address)"}},"id":84044,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14680:44:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":84045,"nodeType":"ExpressionStatement","src":"14680:44:134"},{"eventCall":{"arguments":[{"id":84047,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83995,"src":"14880:7:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":84048,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83997,"src":"14889:9:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":84046,"name":"MemberDeactivatedStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83313,"src":"14854:25:134","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address)"}},"id":84049,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14854:45:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":84050,"nodeType":"EmitStatement","src":"14849:50:134"}]},"functionSelector":"22bcf999","implemented":true,"kind":"function","modifiers":[],"name":"deactivateMemberInStrategy","nameLocation":"14224:26:134","parameters":{"id":83998,"nodeType":"ParameterList","parameters":[{"constant":false,"id":83995,"mutability":"mutable","name":"_member","nameLocation":"14259:7:134","nodeType":"VariableDeclaration","scope":84052,"src":"14251:15:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":83994,"name":"address","nodeType":"ElementaryTypeName","src":"14251:7:134","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":83997,"mutability":"mutable","name":"_strategy","nameLocation":"14276:9:134","nodeType":"VariableDeclaration","scope":84052,"src":"14268:17:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":83996,"name":"address","nodeType":"ElementaryTypeName","src":"14268:7:134","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"14250:36:134"},"returnParameters":{"id":83999,"nodeType":"ParameterList","parameters":[],"src":"14294:0:134"},"scope":85047,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":84105,"nodeType":"FunctionDefinition","src":"14912:425:134","nodes":[],"body":{"id":84104,"nodeType":"Block","src":"14991:346:134","nodes":[],"statements":[{"assignments":[84063],"declarations":[{"constant":false,"id":84063,"mutability":"mutable","name":"memberStrategies","nameLocation":"15019:16:134","nodeType":"VariableDeclaration","scope":84104,"src":"15001:34:134","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":84061,"name":"address","nodeType":"ElementaryTypeName","src":"15001:7:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":84062,"nodeType":"ArrayTypeName","src":"15001:9:134","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"id":84067,"initialValue":{"baseExpression":{"id":84064,"name":"strategiesByMember","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83227,"src":"15038:18:134","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_address_$dyn_storage_$","typeString":"mapping(address => address[] storage ref)"}},"id":84066,"indexExpression":{"id":84065,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84054,"src":"15057:7:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15038:27:134","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[] storage ref"}},"nodeType":"VariableDeclarationStatement","src":"15001:64:134"},{"body":{"id":84102,"nodeType":"Block","src":"15129:202:134","statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":84083,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"id":84079,"name":"memberStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84063,"src":"15147:16:134","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[] storage pointer"}},"id":84081,"indexExpression":{"id":84080,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84069,"src":"15164:1:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15147:19:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":84082,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84056,"src":"15170:9:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"15147:32:134","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":84101,"nodeType":"IfStatement","src":"15143:178:134","trueBody":{"id":84100,"nodeType":"Block","src":"15181:140:134","statements":[{"expression":{"id":84093,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":84084,"name":"memberStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84063,"src":"15199:16:134","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[] storage pointer"}},"id":84086,"indexExpression":{"id":84085,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84069,"src":"15216:1:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"15199:19:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"baseExpression":{"id":84087,"name":"memberStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84063,"src":"15221:16:134","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[] storage pointer"}},"id":84092,"indexExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":84091,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":84088,"name":"memberStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84063,"src":"15238:16:134","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[] storage pointer"}},"id":84089,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15255:6:134","memberName":"length","nodeType":"MemberAccess","src":"15238:23:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":84090,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15264:1:134","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"15238:27:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15221:45:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"15199:67:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":84094,"nodeType":"ExpressionStatement","src":"15199:67:134"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":84095,"name":"memberStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84063,"src":"15284:16:134","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[] storage pointer"}},"id":84097,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15301:3:134","memberName":"pop","nodeType":"MemberAccess","src":"15284:20:134","typeDescriptions":{"typeIdentifier":"t_function_arraypop_nonpayable$_t_array$_t_address_$dyn_storage_ptr_$returns$__$attached_to$_t_array$_t_address_$dyn_storage_ptr_$","typeString":"function (address[] storage pointer)"}},"id":84098,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15284:22:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":84099,"nodeType":"ExpressionStatement","src":"15284:22:134"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":84075,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":84072,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84069,"src":"15095:1:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":84073,"name":"memberStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84063,"src":"15099:16:134","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[] storage pointer"}},"id":84074,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15116:6:134","memberName":"length","nodeType":"MemberAccess","src":"15099:23:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"15095:27:134","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":84103,"initializationExpression":{"assignments":[84069],"declarations":[{"constant":false,"id":84069,"mutability":"mutable","name":"i","nameLocation":"15088:1:134","nodeType":"VariableDeclaration","scope":84103,"src":"15080:9:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":84068,"name":"uint256","nodeType":"ElementaryTypeName","src":"15080:7:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":84071,"initialValue":{"hexValue":"30","id":84070,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15092:1:134","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"15080:13:134"},"loopExpression":{"expression":{"id":84077,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"15124:3:134","subExpression":{"id":84076,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84069,"src":"15124:1:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":84078,"nodeType":"ExpressionStatement","src":"15124:3:134"},"nodeType":"ForStatement","src":"15075:256:134"}]},"implemented":true,"kind":"function","modifiers":[],"name":"removeStrategyFromMember","nameLocation":"14921:24:134","parameters":{"id":84057,"nodeType":"ParameterList","parameters":[{"constant":false,"id":84054,"mutability":"mutable","name":"_member","nameLocation":"14954:7:134","nodeType":"VariableDeclaration","scope":84105,"src":"14946:15:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":84053,"name":"address","nodeType":"ElementaryTypeName","src":"14946:7:134","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":84056,"mutability":"mutable","name":"_strategy","nameLocation":"14971:9:134","nodeType":"VariableDeclaration","scope":84105,"src":"14963:17:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":84055,"name":"address","nodeType":"ElementaryTypeName","src":"14963:7:134","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"14945:36:134"},"returnParameters":{"id":84058,"nodeType":"ParameterList","parameters":[],"src":"14991:0:134"},"scope":85047,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":84209,"nodeType":"FunctionDefinition","src":"15343:998:134","nodes":[],"body":{"id":84208,"nodeType":"Block","src":"15409:932:134","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":84112,"name":"onlyRegistryMemberSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83371,"src":"15419:24:134","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":84113,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15419:26:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":84114,"nodeType":"ExpressionStatement","src":"15419:26:134"},{"assignments":[84116],"declarations":[{"constant":false,"id":84116,"mutability":"mutable","name":"member","nameLocation":"15463:6:134","nodeType":"VariableDeclaration","scope":84208,"src":"15455:14:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":84115,"name":"address","nodeType":"ElementaryTypeName","src":"15455:7:134","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":84119,"initialValue":{"expression":{"id":84117,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"15472:3:134","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":84118,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15476:6:134","memberName":"sender","nodeType":"MemberAccess","src":"15472:10:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"15455:27:134"},{"assignments":[84124],"declarations":[{"constant":false,"id":84124,"mutability":"mutable","name":"memberStrategies","nameLocation":"15509:16:134","nodeType":"VariableDeclaration","scope":84208,"src":"15492:33:134","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":84122,"name":"address","nodeType":"ElementaryTypeName","src":"15492:7:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":84123,"nodeType":"ArrayTypeName","src":"15492:9:134","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"id":84128,"initialValue":{"baseExpression":{"id":84125,"name":"strategiesByMember","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83227,"src":"15528:18:134","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_address_$dyn_storage_$","typeString":"mapping(address => address[] storage ref)"}},"id":84127,"indexExpression":{"id":84126,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84116,"src":"15547:6:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15528:26:134","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[] storage ref"}},"nodeType":"VariableDeclarationStatement","src":"15492:62:134"},{"assignments":[84130],"declarations":[{"constant":false,"id":84130,"mutability":"mutable","name":"pointsToIncrease","nameLocation":"15573:16:134","nodeType":"VariableDeclaration","scope":84208,"src":"15565:24:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":84129,"name":"uint256","nodeType":"ElementaryTypeName","src":"15565:7:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":84131,"nodeType":"VariableDeclarationStatement","src":"15565:24:134"},{"body":{"id":84183,"nodeType":"Block","src":"15654:479:134","statements":[{"expression":{"id":84153,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":84143,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84130,"src":"15773:16:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":84150,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84116,"src":"15842:6:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":84151,"name":"_amountStaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84107,"src":"15850:13:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"arguments":[{"baseExpression":{"id":84145,"name":"memberStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84124,"src":"15807:16:134","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":84147,"indexExpression":{"id":84146,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84133,"src":"15824:1:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15807:19:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":84144,"name":"IPointStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77667,"src":"15792:14:134","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IPointStrategy_$77667_$","typeString":"type(contract IPointStrategy)"}},"id":84148,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15792:35:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IPointStrategy_$77667","typeString":"contract IPointStrategy"}},"id":84149,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15828:13:134","memberName":"increasePower","nodeType":"MemberAccess","referencedDeclaration":77651,"src":"15792:49:134","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256) external returns (uint256)"}},"id":84152,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15792:72:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"15773:91:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":84154,"nodeType":"ExpressionStatement","src":"15773:91:134"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":84157,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":84155,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84130,"src":"15882:16:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":84156,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15902:1:134","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"15882:21:134","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":84182,"nodeType":"IfStatement","src":"15878:229:134","trueBody":{"id":84181,"nodeType":"Block","src":"15905:202:134","statements":[{"expression":{"id":84166,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"id":84158,"name":"memberPowerInStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83215,"src":"15923:21:134","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"}},"id":84163,"indexExpression":{"id":84159,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84116,"src":"15945:6:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15923:29:134","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":84164,"indexExpression":{"baseExpression":{"id":84160,"name":"memberStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84124,"src":"15953:16:134","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":84162,"indexExpression":{"id":84161,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84133,"src":"15970:1:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15953:19:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"15923:50:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"id":84165,"name":"pointsToIncrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84130,"src":"15977:16:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"15923:70:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":84167,"nodeType":"ExpressionStatement","src":"15923:70:134"},{"expression":{"arguments":[{"hexValue":"537472617465677920706f776572","id":84171,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"16023:16:134","typeDescriptions":{"typeIdentifier":"t_stringliteral_703ee8b122626afba084dc6507d90f45e4b99d124abdcce4d7ee9c70af76c3ee","typeString":"literal_string \"Strategy power\""},"value":"Strategy power"},{"baseExpression":{"baseExpression":{"id":84172,"name":"memberPowerInStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83215,"src":"16041:21:134","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"}},"id":84174,"indexExpression":{"id":84173,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84116,"src":"16063:6:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"16041:29:134","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":84178,"indexExpression":{"baseExpression":{"id":84175,"name":"memberStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84124,"src":"16071:16:134","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":84177,"indexExpression":{"id":84176,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84133,"src":"16088:1:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"16071:19:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"16041:50:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_703ee8b122626afba084dc6507d90f45e4b99d124abdcce4d7ee9c70af76c3ee","typeString":"literal_string \"Strategy power\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":84168,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29549,"src":"16011:7:134","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$29549_$","typeString":"type(library console)"}},"id":84170,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16019:3:134","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":22193,"src":"16011:11:134","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":84179,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16011:81:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":84180,"nodeType":"ExpressionStatement","src":"16011:81:134"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":84139,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":84136,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84133,"src":"15620:1:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":84137,"name":"memberStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84124,"src":"15624:16:134","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":84138,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15641:6:134","memberName":"length","nodeType":"MemberAccess","src":"15624:23:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"15620:27:134","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":84184,"initializationExpression":{"assignments":[84133],"declarations":[{"constant":false,"id":84133,"mutability":"mutable","name":"i","nameLocation":"15613:1:134","nodeType":"VariableDeclaration","scope":84184,"src":"15605:9:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":84132,"name":"uint256","nodeType":"ElementaryTypeName","src":"15605:7:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":84135,"initialValue":{"hexValue":"30","id":84134,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15617:1:134","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"15605:13:134"},"loopExpression":{"expression":{"id":84141,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"15649:3:134","subExpression":{"id":84140,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84133,"src":"15649:1:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":84142,"nodeType":"ExpressionStatement","src":"15649:3:134"},"nodeType":"ForStatement","src":"15600:533:134"},{"expression":{"arguments":[{"id":84188,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84116,"src":"16172:6:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":84191,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"16188:4:134","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"}],"id":84190,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16180:7:134","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":84189,"name":"address","nodeType":"ElementaryTypeName","src":"16180:7:134","typeDescriptions":{}}},"id":84192,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16180:13:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":84193,"name":"_amountStaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84107,"src":"16195:13:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":84185,"name":"gardenToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83189,"src":"16143:11:134","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$57069","typeString":"contract IERC20"}},"id":84187,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16155:16:134","memberName":"safeTransferFrom","nodeType":"MemberAccess","referencedDeclaration":57190,"src":"16143:28:134","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IERC20_$57069_$_t_address_$_t_address_$_t_uint256_$returns$__$attached_to$_t_contract$_IERC20_$57069_$","typeString":"function (contract IERC20,address,address,uint256)"}},"id":84194,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16143:66:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":84195,"nodeType":"ExpressionStatement","src":"16143:66:134"},{"expression":{"id":84201,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"baseExpression":{"id":84196,"name":"addressToMemberInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83221,"src":"16219:19:134","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Member_$83482_storage_$","typeString":"mapping(address => struct RegistryCommunityV0_0.Member storage ref)"}},"id":84198,"indexExpression":{"id":84197,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84116,"src":"16239:6:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"16219:27:134","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$83482_storage","typeString":"struct RegistryCommunityV0_0.Member storage ref"}},"id":84199,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"16247:12:134","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":83479,"src":"16219:40:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"id":84200,"name":"_amountStaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84107,"src":"16263:13:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16219:57:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":84202,"nodeType":"ExpressionStatement","src":"16219:57:134"},{"eventCall":{"arguments":[{"id":84204,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84116,"src":"16312:6:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":84205,"name":"_amountStaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84107,"src":"16320:13:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":84203,"name":"MemberPowerIncreased","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83323,"src":"16291:20:134","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":84206,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16291:43:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":84207,"nodeType":"EmitStatement","src":"16286:48:134"}]},"functionSelector":"559de05d","implemented":true,"kind":"function","modifiers":[{"id":84110,"kind":"modifierInvocation","modifierName":{"id":84109,"name":"nonReentrant","nameLocations":["15396:12:134"],"nodeType":"IdentifierPath","referencedDeclaration":53236,"src":"15396:12:134"},"nodeType":"ModifierInvocation","src":"15396:12:134"}],"name":"increasePower","nameLocation":"15352:13:134","parameters":{"id":84108,"nodeType":"ParameterList","parameters":[{"constant":false,"id":84107,"mutability":"mutable","name":"_amountStaked","nameLocation":"15374:13:134","nodeType":"VariableDeclaration","scope":84209,"src":"15366:21:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":84106,"name":"uint256","nodeType":"ElementaryTypeName","src":"15366:7:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15365:23:134"},"returnParameters":{"id":84111,"nodeType":"ParameterList","parameters":[],"src":"15409:0:134"},"scope":85047,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":84359,"nodeType":"FunctionDefinition","src":"16481:1554:134","nodes":[],"body":{"id":84358,"nodeType":"Block","src":"16549:1486:134","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":84216,"name":"onlyRegistryMemberSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83371,"src":"16559:24:134","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":84217,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16559:26:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":84218,"nodeType":"ExpressionStatement","src":"16559:26:134"},{"assignments":[84220],"declarations":[{"constant":false,"id":84220,"mutability":"mutable","name":"member","nameLocation":"16603:6:134","nodeType":"VariableDeclaration","scope":84358,"src":"16595:14:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":84219,"name":"address","nodeType":"ElementaryTypeName","src":"16595:7:134","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":84223,"initialValue":{"expression":{"id":84221,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"16612:3:134","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":84222,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16616:6:134","memberName":"sender","nodeType":"MemberAccess","src":"16612:10:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"16595:27:134"},{"assignments":[84228],"declarations":[{"constant":false,"id":84228,"mutability":"mutable","name":"memberStrategies","nameLocation":"16650:16:134","nodeType":"VariableDeclaration","scope":84358,"src":"16632:34:134","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":84226,"name":"address","nodeType":"ElementaryTypeName","src":"16632:7:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":84227,"nodeType":"ArrayTypeName","src":"16632:9:134","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"id":84232,"initialValue":{"baseExpression":{"id":84229,"name":"strategiesByMember","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83227,"src":"16669:18:134","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_address_$dyn_storage_$","typeString":"mapping(address => address[] storage ref)"}},"id":84231,"indexExpression":{"id":84230,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84220,"src":"16688:6:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"16669:26:134","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[] storage ref"}},"nodeType":"VariableDeclarationStatement","src":"16632:63:134"},{"assignments":[84234],"declarations":[{"constant":false,"id":84234,"mutability":"mutable","name":"pointsToDecrease","nameLocation":"16714:16:134","nodeType":"VariableDeclaration","scope":84358,"src":"16706:24:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":84233,"name":"uint256","nodeType":"ElementaryTypeName","src":"16706:7:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":84235,"nodeType":"VariableDeclarationStatement","src":"16706:24:134"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":84243,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":84241,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":84236,"name":"addressToMemberInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83221,"src":"16745:19:134","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Member_$83482_storage_$","typeString":"mapping(address => struct RegistryCommunityV0_0.Member storage ref)"}},"id":84238,"indexExpression":{"id":84237,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84220,"src":"16765:6:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"16745:27:134","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$83482_storage","typeString":"struct RegistryCommunityV0_0.Member storage ref"}},"id":84239,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"16773:12:134","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":83479,"src":"16745:40:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":84240,"name":"_amountUnstaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84211,"src":"16788:15:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16745:58:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":84242,"name":"registerStakeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83160,"src":"16806:19:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16745:80:134","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":84248,"nodeType":"IfStatement","src":"16741:140:134","trueBody":{"id":84247,"nodeType":"Block","src":"16827:54:134","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":84244,"name":"DecreaseUnderMinimum","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83469,"src":"16848:20:134","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":84245,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16848:22:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":84246,"nodeType":"RevertStatement","src":"16841:29:134"}]}},{"expression":{"arguments":[{"id":84252,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84220,"src":"16915:6:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":84253,"name":"_amountUnstaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84211,"src":"16923:15:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":84249,"name":"gardenToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83189,"src":"16890:11:134","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$57069","typeString":"contract IERC20"}},"id":84251,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16902:12:134","memberName":"safeTransfer","nodeType":"MemberAccess","referencedDeclaration":57163,"src":"16890:24:134","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IERC20_$57069_$_t_address_$_t_uint256_$returns$__$attached_to$_t_contract$_IERC20_$57069_$","typeString":"function (contract IERC20,address,uint256)"}},"id":84254,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16890:49:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":84255,"nodeType":"ExpressionStatement","src":"16890:49:134"},{"body":{"id":84344,"nodeType":"Block","src":"17003:897:134","statements":[{"assignments":[84268],"declarations":[{"constant":false,"id":84268,"mutability":"mutable","name":"strategy","nameLocation":"17025:8:134","nodeType":"VariableDeclaration","scope":84344,"src":"17017:16:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":84267,"name":"address","nodeType":"ElementaryTypeName","src":"17017:7:134","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":84272,"initialValue":{"baseExpression":{"id":84269,"name":"memberStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84228,"src":"17036:16:134","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[] storage pointer"}},"id":84271,"indexExpression":{"id":84270,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84257,"src":"17053:1:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"17036:19:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"17017:38:134"},{"condition":{"arguments":[{"expression":{"arguments":[{"id":84276,"name":"IPointStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77667,"src":"17105:14:134","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IPointStrategy_$77667_$","typeString":"type(contract IPointStrategy)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_contract$_IPointStrategy_$77667_$","typeString":"type(contract IPointStrategy)"}],"id":84275,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"17100:4:134","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":84277,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17100:20:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_contract$_IPointStrategy_$77667","typeString":"type(contract IPointStrategy)"}},"id":84278,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"17121:11:134","memberName":"interfaceId","nodeType":"MemberAccess","src":"17100:32:134","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":84273,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84268,"src":"17073:8:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":84274,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17082:17:134","memberName":"supportsInterface","nodeType":"MemberAccess","referencedDeclaration":58316,"src":"17073:26:134","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_bytes4_$returns$_t_bool_$attached_to$_t_address_$","typeString":"function (address,bytes4) view returns (bool)"}},"id":84279,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17073:60:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":84342,"nodeType":"Block","src":"17623:250:134","statements":[{"expression":{"id":84331,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":84322,"name":"memberStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84228,"src":"17708:16:134","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[] storage pointer"}},"id":84324,"indexExpression":{"id":84323,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84257,"src":"17725:1:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"17708:19:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"baseExpression":{"id":84325,"name":"memberStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84228,"src":"17730:16:134","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[] storage pointer"}},"id":84330,"indexExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":84329,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":84326,"name":"memberStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84228,"src":"17747:16:134","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[] storage pointer"}},"id":84327,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17764:6:134","memberName":"length","nodeType":"MemberAccess","src":"17747:23:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":84328,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17773:1:134","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"17747:27:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"17730:45:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"17708:67:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":84332,"nodeType":"ExpressionStatement","src":"17708:67:134"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":84333,"name":"memberStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84228,"src":"17793:16:134","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[] storage pointer"}},"id":84335,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17810:3:134","memberName":"pop","nodeType":"MemberAccess","src":"17793:20:134","typeDescriptions":{"typeIdentifier":"t_function_arraypop_nonpayable$_t_array$_t_address_$dyn_storage_ptr_$returns$__$attached_to$_t_array$_t_address_$dyn_storage_ptr_$","typeString":"function (address[] storage pointer)"}},"id":84336,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17793:22:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":84337,"nodeType":"ExpressionStatement","src":"17793:22:134"},{"expression":{"arguments":[{"id":84339,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84268,"src":"17849:8:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":84338,"name":"_removeStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84526,"src":"17833:15:134","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":84340,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17833:25:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":84341,"nodeType":"ExpressionStatement","src":"17833:25:134"}]},"id":84343,"nodeType":"IfStatement","src":"17069:804:134","trueBody":{"id":84321,"nodeType":"Block","src":"17135:482:134","statements":[{"expression":{"id":84288,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":84280,"name":"pointsToDecrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84234,"src":"17153:16:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":84285,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84220,"src":"17211:6:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":84286,"name":"_amountUnstaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84211,"src":"17219:15:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"arguments":[{"id":84282,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84268,"src":"17187:8:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":84281,"name":"IPointStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77667,"src":"17172:14:134","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IPointStrategy_$77667_$","typeString":"type(contract IPointStrategy)"}},"id":84283,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17172:24:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IPointStrategy_$77667","typeString":"contract IPointStrategy"}},"id":84284,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17197:13:134","memberName":"decreasePower","nodeType":"MemberAccess","referencedDeclaration":77660,"src":"17172:38:134","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256) external returns (uint256)"}},"id":84287,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17172:63:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17153:82:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":84289,"nodeType":"ExpressionStatement","src":"17153:82:134"},{"assignments":[84291],"declarations":[{"constant":false,"id":84291,"mutability":"mutable","name":"currentPower","nameLocation":"17261:12:134","nodeType":"VariableDeclaration","scope":84321,"src":"17253:20:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":84290,"name":"uint256","nodeType":"ElementaryTypeName","src":"17253:7:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":84299,"initialValue":{"baseExpression":{"baseExpression":{"id":84292,"name":"memberPowerInStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83215,"src":"17276:21:134","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"}},"id":84294,"indexExpression":{"id":84293,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84220,"src":"17298:6:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"17276:29:134","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":84298,"indexExpression":{"baseExpression":{"id":84295,"name":"memberStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84228,"src":"17306:16:134","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[] storage pointer"}},"id":84297,"indexExpression":{"id":84296,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84257,"src":"17323:1:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"17306:19:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"17276:50:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"17253:73:134"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":84302,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":84300,"name":"pointsToDecrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84234,"src":"17348:16:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":84301,"name":"currentPower","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84291,"src":"17367:12:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17348:31:134","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":84319,"nodeType":"Block","src":"17492:111:134","statements":[{"expression":{"id":84317,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"id":84309,"name":"memberPowerInStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83215,"src":"17514:21:134","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"}},"id":84314,"indexExpression":{"id":84310,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84220,"src":"17536:6:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"17514:29:134","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":84315,"indexExpression":{"baseExpression":{"id":84311,"name":"memberStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84228,"src":"17544:16:134","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[] storage pointer"}},"id":84313,"indexExpression":{"id":84312,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84257,"src":"17561:1:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"17544:19:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"17514:50:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"id":84316,"name":"pointsToDecrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84234,"src":"17568:16:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17514:70:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":84318,"nodeType":"ExpressionStatement","src":"17514:70:134"}]},"id":84320,"nodeType":"IfStatement","src":"17344:259:134","trueBody":{"id":84308,"nodeType":"Block","src":"17381:105:134","statements":[{"errorCall":{"arguments":[{"id":84304,"name":"pointsToDecrease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84234,"src":"17436:16:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":84305,"name":"currentPower","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84291,"src":"17454:12:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":84303,"name":"CantDecreaseMoreThanPower","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83475,"src":"17410:25:134","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":84306,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17410:57:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":84307,"nodeType":"RevertStatement","src":"17403:64:134"}]}}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":84263,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":84260,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84257,"src":"16969:1:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":84261,"name":"memberStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84228,"src":"16973:16:134","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[] storage pointer"}},"id":84262,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16990:6:134","memberName":"length","nodeType":"MemberAccess","src":"16973:23:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16969:27:134","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":84345,"initializationExpression":{"assignments":[84257],"declarations":[{"constant":false,"id":84257,"mutability":"mutable","name":"i","nameLocation":"16962:1:134","nodeType":"VariableDeclaration","scope":84345,"src":"16954:9:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":84256,"name":"uint256","nodeType":"ElementaryTypeName","src":"16954:7:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":84259,"initialValue":{"hexValue":"30","id":84258,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16966:1:134","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"16954:13:134"},"loopExpression":{"expression":{"id":84265,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"16998:3:134","subExpression":{"id":84264,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84257,"src":"16998:1:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":84266,"nodeType":"ExpressionStatement","src":"16998:3:134"},"nodeType":"ForStatement","src":"16949:951:134"},{"expression":{"id":84351,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"baseExpression":{"id":84346,"name":"addressToMemberInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83221,"src":"17909:19:134","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Member_$83482_storage_$","typeString":"mapping(address => struct RegistryCommunityV0_0.Member storage ref)"}},"id":84348,"indexExpression":{"id":84347,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84220,"src":"17929:6:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"17909:27:134","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$83482_storage","typeString":"struct RegistryCommunityV0_0.Member storage ref"}},"id":84349,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"17937:12:134","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":83479,"src":"17909:40:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"id":84350,"name":"_amountUnstaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84211,"src":"17953:15:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17909:59:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":84352,"nodeType":"ExpressionStatement","src":"17909:59:134"},{"eventCall":{"arguments":[{"id":84354,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84220,"src":"18004:6:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":84355,"name":"_amountUnstaked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84211,"src":"18012:15:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":84353,"name":"MemberPowerDecreased","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83329,"src":"17983:20:134","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":84356,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17983:45:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":84357,"nodeType":"EmitStatement","src":"17978:50:134"}]},"functionSelector":"5ecf71c5","implemented":true,"kind":"function","modifiers":[{"id":84214,"kind":"modifierInvocation","modifierName":{"id":84213,"name":"nonReentrant","nameLocations":["16536:12:134"],"nodeType":"IdentifierPath","referencedDeclaration":53236,"src":"16536:12:134"},"nodeType":"ModifierInvocation","src":"16536:12:134"}],"name":"decreasePower","nameLocation":"16490:13:134","parameters":{"id":84212,"nodeType":"ParameterList","parameters":[{"constant":false,"id":84211,"mutability":"mutable","name":"_amountUnstaked","nameLocation":"16512:15:134","nodeType":"VariableDeclaration","scope":84359,"src":"16504:23:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":84210,"name":"uint256","nodeType":"ElementaryTypeName","src":"16504:7:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"16503:25:134"},"returnParameters":{"id":84215,"nodeType":"ParameterList","parameters":[],"src":"16549:0:134"},"scope":85047,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":84375,"nodeType":"FunctionDefinition","src":"18041:165:134","nodes":[],"body":{"id":84374,"nodeType":"Block","src":"18141:65:134","nodes":[],"statements":[{"expression":{"baseExpression":{"baseExpression":{"id":84368,"name":"memberPowerInStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83215,"src":"18158:21:134","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"}},"id":84370,"indexExpression":{"id":84369,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84361,"src":"18180:7:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"18158:30:134","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":84372,"indexExpression":{"id":84371,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84363,"src":"18189:9:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"18158:41:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":84367,"id":84373,"nodeType":"Return","src":"18151:48:134"}]},"functionSelector":"7817ee4f","implemented":true,"kind":"function","modifiers":[],"name":"getMemberPowerInStrategy","nameLocation":"18050:24:134","parameters":{"id":84364,"nodeType":"ParameterList","parameters":[{"constant":false,"id":84361,"mutability":"mutable","name":"_member","nameLocation":"18083:7:134","nodeType":"VariableDeclaration","scope":84375,"src":"18075:15:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":84360,"name":"address","nodeType":"ElementaryTypeName","src":"18075:7:134","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":84363,"mutability":"mutable","name":"_strategy","nameLocation":"18100:9:134","nodeType":"VariableDeclaration","scope":84375,"src":"18092:17:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":84362,"name":"address","nodeType":"ElementaryTypeName","src":"18092:7:134","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"18074:36:134"},"returnParameters":{"id":84367,"nodeType":"ParameterList","parameters":[{"constant":false,"id":84366,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":84375,"src":"18132:7:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":84365,"name":"uint256","nodeType":"ElementaryTypeName","src":"18132:7:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"18131:9:134"},"scope":85047,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":84388,"nodeType":"FunctionDefinition","src":"18212:143:134","nodes":[],"body":{"id":84387,"nodeType":"Block","src":"18290:65:134","nodes":[],"statements":[{"expression":{"expression":{"baseExpression":{"id":84382,"name":"addressToMemberInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83221,"src":"18307:19:134","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Member_$83482_storage_$","typeString":"mapping(address => struct RegistryCommunityV0_0.Member storage ref)"}},"id":84384,"indexExpression":{"id":84383,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84377,"src":"18327:7:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"18307:28:134","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$83482_storage","typeString":"struct RegistryCommunityV0_0.Member storage ref"}},"id":84385,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"18336:12:134","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":83479,"src":"18307:41:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":84381,"id":84386,"nodeType":"Return","src":"18300:48:134"}]},"functionSelector":"2c611c4a","implemented":true,"kind":"function","modifiers":[],"name":"getMemberStakedAmount","nameLocation":"18221:21:134","parameters":{"id":84378,"nodeType":"ParameterList","parameters":[{"constant":false,"id":84377,"mutability":"mutable","name":"_member","nameLocation":"18251:7:134","nodeType":"VariableDeclaration","scope":84388,"src":"18243:15:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":84376,"name":"address","nodeType":"ElementaryTypeName","src":"18243:7:134","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"18242:17:134"},"returnParameters":{"id":84381,"nodeType":"ParameterList","parameters":[{"constant":false,"id":84380,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":84388,"src":"18281:7:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":84379,"name":"uint256","nodeType":"ElementaryTypeName","src":"18281:7:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"18280:9:134"},"scope":85047,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":84425,"nodeType":"FunctionDefinition","src":"18484:313:134","nodes":[],"body":{"id":84424,"nodeType":"Block","src":"18536:261:134","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":84393,"name":"onlyCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83357,"src":"18546:15:134","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":84394,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18546:17:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":84395,"nodeType":"ExpressionStatement","src":"18546:17:134"},{"assignments":[84397],"declarations":[{"constant":false,"id":84397,"mutability":"mutable","name":"strategy","nameLocation":"18581:8:134","nodeType":"VariableDeclaration","scope":84424,"src":"18573:16:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":84396,"name":"address","nodeType":"ElementaryTypeName","src":"18573:7:134","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":84406,"initialValue":{"arguments":[{"expression":{"arguments":[{"id":84402,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84390,"src":"18613:6:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":84400,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83197,"src":"18600:4:134","typeDescriptions":{"typeIdentifier":"t_contract$_FAllo_$85656","typeString":"contract FAllo"}},"id":84401,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18605:7:134","memberName":"getPool","nodeType":"MemberAccess","referencedDeclaration":85655,"src":"18600:12:134","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_struct$_Pool_$2319_memory_ptr_$","typeString":"function (uint256) view external returns (struct IAllo.Pool memory)"}},"id":84403,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18600:20:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"id":84404,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"18621:8:134","memberName":"strategy","nodeType":"MemberAccess","referencedDeclaration":2309,"src":"18600:29:134","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}],"id":84399,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"18592:7:134","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":84398,"name":"address","nodeType":"ElementaryTypeName","src":"18592:7:134","typeDescriptions":{}}},"id":84405,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18592:38:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"18573:57:134"},{"expression":{"arguments":[{"id":84408,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84397,"src":"18659:8:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":84407,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84478,"src":"18640:18:134","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":84409,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18640:28:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":84410,"nodeType":"ExpressionStatement","src":"18640:28:134"},{"condition":{"arguments":[{"expression":{"arguments":[{"id":84414,"name":"IPointStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77667,"src":"18714:14:134","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IPointStrategy_$77667_$","typeString":"type(contract IPointStrategy)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_contract$_IPointStrategy_$77667_$","typeString":"type(contract IPointStrategy)"}],"id":84413,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"18709:4:134","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":84415,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18709:20:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_contract$_IPointStrategy_$77667","typeString":"type(contract IPointStrategy)"}},"id":84416,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"18730:11:134","memberName":"interfaceId","nodeType":"MemberAccess","src":"18709:32:134","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":84411,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84397,"src":"18682:8:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":84412,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18691:17:134","memberName":"supportsInterface","nodeType":"MemberAccess","referencedDeclaration":58316,"src":"18682:26:134","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_bytes4_$returns$_t_bool_$attached_to$_t_address_$","typeString":"function (address,bytes4) view returns (bool)"}},"id":84417,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18682:60:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":84423,"nodeType":"IfStatement","src":"18678:113:134","trueBody":{"id":84422,"nodeType":"Block","src":"18744:47:134","statements":[{"expression":{"arguments":[{"id":84419,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84397,"src":"18771:8:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":84418,"name":"_addStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84462,"src":"18758:12:134","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":84420,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18758:22:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":84421,"nodeType":"ExpressionStatement","src":"18758:22:134"}]}}]},"functionSelector":"82d6a1e7","implemented":true,"kind":"function","modifiers":[],"name":"addStrategyByPoolId","nameLocation":"18493:19:134","parameters":{"id":84391,"nodeType":"ParameterList","parameters":[{"constant":false,"id":84390,"mutability":"mutable","name":"poolId","nameLocation":"18521:6:134","nodeType":"VariableDeclaration","scope":84425,"src":"18513:14:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":84389,"name":"uint256","nodeType":"ElementaryTypeName","src":"18513:7:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"18512:16:134"},"returnParameters":{"id":84392,"nodeType":"ParameterList","parameters":[],"src":"18536:0:134"},"scope":85047,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":84438,"nodeType":"FunctionDefinition","src":"18803:120:134","nodes":[],"body":{"id":84437,"nodeType":"Block","src":"18853:70:134","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":84430,"name":"onlyCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83357,"src":"18863:15:134","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":84431,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18863:17:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":84432,"nodeType":"ExpressionStatement","src":"18863:17:134"},{"expression":{"arguments":[{"id":84434,"name":"_newStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84427,"src":"18903:12:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":84433,"name":"_addStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84462,"src":"18890:12:134","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":84435,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18890:26:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":84436,"nodeType":"ExpressionStatement","src":"18890:26:134"}]},"functionSelector":"223e5479","implemented":true,"kind":"function","modifiers":[],"name":"addStrategy","nameLocation":"18812:11:134","parameters":{"id":84428,"nodeType":"ParameterList","parameters":[{"constant":false,"id":84427,"mutability":"mutable","name":"_newStrategy","nameLocation":"18832:12:134","nodeType":"VariableDeclaration","scope":84438,"src":"18824:20:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":84426,"name":"address","nodeType":"ElementaryTypeName","src":"18824:7:134","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"18823:22:134"},"returnParameters":{"id":84429,"nodeType":"ParameterList","parameters":[],"src":"18853:0:134"},"scope":85047,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":84462,"nodeType":"FunctionDefinition","src":"18929:244:134","nodes":[],"body":{"id":84461,"nodeType":"Block","src":"18982:191:134","nodes":[],"statements":[{"condition":{"baseExpression":{"id":84443,"name":"enabledStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83208,"src":"18996:17:134","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":84445,"indexExpression":{"id":84444,"name":"_newStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84440,"src":"19014:12:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"18996:31:134","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":84450,"nodeType":"IfStatement","src":"18992:85:134","trueBody":{"id":84449,"nodeType":"Block","src":"19029:48:134","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":84446,"name":"StrategyExists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83453,"src":"19050:14:134","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":84447,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19050:16:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":84448,"nodeType":"RevertStatement","src":"19043:23:134"}]}},{"expression":{"id":84455,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":84451,"name":"enabledStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83208,"src":"19086:17:134","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":84453,"indexExpression":{"id":84452,"name":"_newStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84440,"src":"19104:12:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"19086:31:134","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":84454,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"19120:4:134","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"19086:38:134","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":84456,"nodeType":"ExpressionStatement","src":"19086:38:134"},{"eventCall":{"arguments":[{"id":84458,"name":"_newStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84440,"src":"19153:12:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":84457,"name":"StrategyAdded","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83295,"src":"19139:13:134","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":84459,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19139:27:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":84460,"nodeType":"EmitStatement","src":"19134:32:134"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_addStrategy","nameLocation":"18938:12:134","parameters":{"id":84441,"nodeType":"ParameterList","parameters":[{"constant":false,"id":84440,"mutability":"mutable","name":"_newStrategy","nameLocation":"18959:12:134","nodeType":"VariableDeclaration","scope":84462,"src":"18951:20:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":84439,"name":"address","nodeType":"ElementaryTypeName","src":"18951:7:134","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"18950:22:134"},"returnParameters":{"id":84442,"nodeType":"ParameterList","parameters":[],"src":"18982:0:134"},"scope":85047,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":84478,"nodeType":"FunctionDefinition","src":"19179:133:134","nodes":[],"body":{"id":84477,"nodeType":"Block","src":"19239:73:134","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":84472,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":84467,"name":"_address","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84464,"src":"19253:8:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":84470,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"19273:1:134","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":84469,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"19265:7:134","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":84468,"name":"address","nodeType":"ElementaryTypeName","src":"19265:7:134","typeDescriptions":{}}},"id":84471,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19265:10:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"19253:22:134","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":84476,"nodeType":"IfStatement","src":"19249:56:134","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":84473,"name":"AddressCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83437,"src":"19284:19:134","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":84474,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19284:21:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":84475,"nodeType":"RevertStatement","src":"19277:28:134"}}]},"implemented":true,"kind":"function","modifiers":[],"name":"_revertZeroAddress","nameLocation":"19188:18:134","parameters":{"id":84465,"nodeType":"ParameterList","parameters":[{"constant":false,"id":84464,"mutability":"mutable","name":"_address","nameLocation":"19215:8:134","nodeType":"VariableDeclaration","scope":84478,"src":"19207:16:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":84463,"name":"address","nodeType":"ElementaryTypeName","src":"19207:7:134","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"19206:18:134"},"returnParameters":{"id":84466,"nodeType":"ParameterList","parameters":[],"src":"19239:0:134"},"scope":85047,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":84506,"nodeType":"FunctionDefinition","src":"19318:229:134","nodes":[],"body":{"id":84505,"nodeType":"Block","src":"19373:174:134","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":84483,"name":"onlyCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83357,"src":"19383:15:134","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":84484,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19383:17:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":84485,"nodeType":"ExpressionStatement","src":"19383:17:134"},{"assignments":[84487],"declarations":[{"constant":false,"id":84487,"mutability":"mutable","name":"strategy","nameLocation":"19418:8:134","nodeType":"VariableDeclaration","scope":84505,"src":"19410:16:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":84486,"name":"address","nodeType":"ElementaryTypeName","src":"19410:7:134","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":84496,"initialValue":{"arguments":[{"expression":{"arguments":[{"id":84492,"name":"poolId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84480,"src":"19450:6:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":84490,"name":"allo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83197,"src":"19437:4:134","typeDescriptions":{"typeIdentifier":"t_contract$_FAllo_$85656","typeString":"contract FAllo"}},"id":84491,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19442:7:134","memberName":"getPool","nodeType":"MemberAccess","referencedDeclaration":85655,"src":"19437:12:134","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_struct$_Pool_$2319_memory_ptr_$","typeString":"function (uint256) view external returns (struct IAllo.Pool memory)"}},"id":84493,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19437:20:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Pool_$2319_memory_ptr","typeString":"struct IAllo.Pool memory"}},"id":84494,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"19458:8:134","memberName":"strategy","nodeType":"MemberAccess","referencedDeclaration":2309,"src":"19437:29:134","typeDescriptions":{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IStrategy_$2969","typeString":"contract IStrategy"}],"id":84489,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"19429:7:134","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":84488,"name":"address","nodeType":"ElementaryTypeName","src":"19429:7:134","typeDescriptions":{}}},"id":84495,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19429:38:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"19410:57:134"},{"expression":{"arguments":[{"id":84498,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84487,"src":"19496:8:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":84497,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84478,"src":"19477:18:134","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":84499,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19477:28:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":84500,"nodeType":"ExpressionStatement","src":"19477:28:134"},{"expression":{"arguments":[{"id":84502,"name":"strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84487,"src":"19531:8:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":84501,"name":"_removeStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84526,"src":"19515:15:134","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":84503,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19515:25:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":84504,"nodeType":"ExpressionStatement","src":"19515:25:134"}]},"functionSelector":"73265c37","implemented":true,"kind":"function","modifiers":[],"name":"removeStrategyByPoolId","nameLocation":"19327:22:134","parameters":{"id":84481,"nodeType":"ParameterList","parameters":[{"constant":false,"id":84480,"mutability":"mutable","name":"poolId","nameLocation":"19358:6:134","nodeType":"VariableDeclaration","scope":84506,"src":"19350:14:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":84479,"name":"uint256","nodeType":"ElementaryTypeName","src":"19350:7:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"19349:16:134"},"returnParameters":{"id":84482,"nodeType":"ParameterList","parameters":[],"src":"19373:0:134"},"scope":85047,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":84526,"nodeType":"FunctionDefinition","src":"19553:186:134","nodes":[],"body":{"id":84525,"nodeType":"Block","src":"19606:133:134","nodes":[],"statements":[{"expression":{"arguments":[{"id":84512,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84508,"src":"19635:9:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":84511,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84478,"src":"19616:18:134","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":84513,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19616:29:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":84514,"nodeType":"ExpressionStatement","src":"19616:29:134"},{"expression":{"id":84519,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":84515,"name":"enabledStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83208,"src":"19655:17:134","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":84517,"indexExpression":{"id":84516,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84508,"src":"19673:9:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"19655:28:134","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"66616c7365","id":84518,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"19686:5:134","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"src":"19655:36:134","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":84520,"nodeType":"ExpressionStatement","src":"19655:36:134"},{"eventCall":{"arguments":[{"id":84522,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84508,"src":"19722:9:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":84521,"name":"StrategyRemoved","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83299,"src":"19706:15:134","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":84523,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19706:26:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":84524,"nodeType":"EmitStatement","src":"19701:31:134"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_removeStrategy","nameLocation":"19562:15:134","parameters":{"id":84509,"nodeType":"ParameterList","parameters":[{"constant":false,"id":84508,"mutability":"mutable","name":"_strategy","nameLocation":"19586:9:134","nodeType":"VariableDeclaration","scope":84526,"src":"19578:17:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":84507,"name":"address","nodeType":"ElementaryTypeName","src":"19578:7:134","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"19577:19:134"},"returnParameters":{"id":84510,"nodeType":"ParameterList","parameters":[],"src":"19606:0:134"},"scope":85047,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":84539,"nodeType":"FunctionDefinition","src":"19745:120:134","nodes":[],"body":{"id":84538,"nodeType":"Block","src":"19795:70:134","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":84531,"name":"onlyCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83357,"src":"19805:15:134","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":84532,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19805:17:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":84533,"nodeType":"ExpressionStatement","src":"19805:17:134"},{"expression":{"arguments":[{"id":84535,"name":"_strategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84528,"src":"19848:9:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":84534,"name":"_removeStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84526,"src":"19832:15:134","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":84536,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19832:26:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":84537,"nodeType":"ExpressionStatement","src":"19832:26:134"}]},"functionSelector":"175188e8","implemented":true,"kind":"function","modifiers":[],"name":"removeStrategy","nameLocation":"19754:14:134","parameters":{"id":84529,"nodeType":"ParameterList","parameters":[{"constant":false,"id":84528,"mutability":"mutable","name":"_strategy","nameLocation":"19777:9:134","nodeType":"VariableDeclaration","scope":84539,"src":"19769:17:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":84527,"name":"address","nodeType":"ElementaryTypeName","src":"19769:7:134","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"19768:19:134"},"returnParameters":{"id":84530,"nodeType":"ParameterList","parameters":[],"src":"19795:0:134"},"scope":85047,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":84564,"nodeType":"FunctionDefinition","src":"19871:240:134","nodes":[],"body":{"id":84563,"nodeType":"Block","src":"19925:186:134","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":84544,"name":"onlyCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83357,"src":"19935:15:134","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":84545,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19935:17:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":84546,"nodeType":"ExpressionStatement","src":"19935:17:134"},{"expression":{"arguments":[{"id":84548,"name":"_safe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84541,"src":"19981:5:134","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":84547,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84478,"src":"19962:18:134","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":84549,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19962:25:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":84550,"nodeType":"ExpressionStatement","src":"19962:25:134"},{"expression":{"id":84553,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":84551,"name":"pendingCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83181,"src":"19997:18:134","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":84552,"name":"_safe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84541,"src":"20018:5:134","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"src":"19997:26:134","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"id":84554,"nodeType":"ExpressionStatement","src":"19997:26:134"},{"eventCall":{"arguments":[{"arguments":[{"id":84558,"name":"councilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83193,"src":"20071:11:134","typeDescriptions":{"typeIdentifier":"t_contract$_ISafe_$85665","typeString":"contract ISafe"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ISafe_$85665","typeString":"contract ISafe"}],"id":84557,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"20063:7:134","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":84556,"name":"address","nodeType":"ElementaryTypeName","src":"20063:7:134","typeDescriptions":{}}},"id":84559,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20063:20:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":84560,"name":"pendingCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83181,"src":"20085:18:134","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":84555,"name":"CouncilSafeChangeStarted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83258,"src":"20038:24:134","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address)"}},"id":84561,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20038:66:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":84562,"nodeType":"EmitStatement","src":"20033:71:134"}]},"functionSelector":"397e2543","implemented":true,"kind":"function","modifiers":[],"name":"setCouncilSafe","nameLocation":"19880:14:134","parameters":{"id":84542,"nodeType":"ParameterList","parameters":[{"constant":false,"id":84541,"mutability":"mutable","name":"_safe","nameLocation":"19911:5:134","nodeType":"VariableDeclaration","scope":84564,"src":"19895:21:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"},"typeName":{"id":84540,"name":"address","nodeType":"ElementaryTypeName","src":"19895:15:134","stateMutability":"payable","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"visibility":"internal"}],"src":"19894:23:134"},"returnParameters":{"id":84543,"nodeType":"ParameterList","parameters":[],"src":"19925:0:134"},"scope":85047,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":84581,"nodeType":"FunctionDefinition","src":"20117:179:134","nodes":[],"body":{"id":84580,"nodeType":"Block","src":"20156:140:134","nodes":[],"statements":[{"expression":{"id":84571,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":84567,"name":"councilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83193,"src":"20166:11:134","typeDescriptions":{"typeIdentifier":"t_contract$_ISafe_$85665","typeString":"contract ISafe"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":84569,"name":"pendingCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83181,"src":"20186:18:134","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":84568,"name":"ISafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85665,"src":"20180:5:134","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ISafe_$85665_$","typeString":"type(contract ISafe)"}},"id":84570,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20180:25:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ISafe_$85665","typeString":"contract ISafe"}},"src":"20166:39:134","typeDescriptions":{"typeIdentifier":"t_contract$_ISafe_$85665","typeString":"contract ISafe"}},"id":84572,"nodeType":"ExpressionStatement","src":"20166:39:134"},{"expression":{"id":84574,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"20215:25:134","subExpression":{"id":84573,"name":"pendingCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83181,"src":"20222:18:134","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":84575,"nodeType":"ExpressionStatement","src":"20215:25:134"},{"eventCall":{"arguments":[{"id":84577,"name":"pendingCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83181,"src":"20270:18:134","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":84576,"name":"CouncilSafeSet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83252,"src":"20255:14:134","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":84578,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20255:34:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":84579,"nodeType":"EmitStatement","src":"20250:39:134"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_changeCouncilSafe","nameLocation":"20126:18:134","parameters":{"id":84565,"nodeType":"ParameterList","parameters":[],"src":"20144:2:134"},"returnParameters":{"id":84566,"nodeType":"ParameterList","parameters":[],"src":"20156:0:134"},"scope":85047,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":84597,"nodeType":"FunctionDefinition","src":"20302:171:134","nodes":[],"body":{"id":84596,"nodeType":"Block","src":"20338:135:134","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":84587,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":84584,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"20352:3:134","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":84585,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20356:6:134","memberName":"sender","nodeType":"MemberAccess","src":"20352:10:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":84586,"name":"pendingCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83181,"src":"20366:18:134","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"src":"20352:32:134","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":84592,"nodeType":"IfStatement","src":"20348:89:134","trueBody":{"id":84591,"nodeType":"Block","src":"20386:51:134","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":84588,"name":"SenderNotNewOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83457,"src":"20407:17:134","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":84589,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20407:19:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":84590,"nodeType":"RevertStatement","src":"20400:26:134"}]}},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":84593,"name":"_changeCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84581,"src":"20446:18:134","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":84594,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20446:20:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":84595,"nodeType":"ExpressionStatement","src":"20446:20:134"}]},"functionSelector":"b5058c50","implemented":true,"kind":"function","modifiers":[],"name":"acceptCouncilSafe","nameLocation":"20311:17:134","parameters":{"id":84582,"nodeType":"ParameterList","parameters":[],"src":"20328:2:134"},"returnParameters":{"id":84583,"nodeType":"ParameterList","parameters":[],"src":"20338:0:134"},"scope":85047,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":84615,"nodeType":"FunctionDefinition","src":"20479:182:134","nodes":[],"body":{"id":84614,"nodeType":"Block","src":"20551:110:134","nodes":[],"statements":[{"assignments":[84606],"declarations":[{"constant":false,"id":84606,"mutability":"mutable","name":"newMember","nameLocation":"20575:9:134","nodeType":"VariableDeclaration","scope":84614,"src":"20561:23:134","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$83482_memory_ptr","typeString":"struct RegistryCommunityV0_0.Member"},"typeName":{"id":84605,"nodeType":"UserDefinedTypeName","pathNode":{"id":84604,"name":"Member","nameLocations":["20561:6:134"],"nodeType":"IdentifierPath","referencedDeclaration":83482,"src":"20561:6:134"},"referencedDeclaration":83482,"src":"20561:6:134","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$83482_storage_ptr","typeString":"struct RegistryCommunityV0_0.Member"}},"visibility":"internal"}],"id":84610,"initialValue":{"baseExpression":{"id":84607,"name":"addressToMemberInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83221,"src":"20587:19:134","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Member_$83482_storage_$","typeString":"mapping(address => struct RegistryCommunityV0_0.Member storage ref)"}},"id":84609,"indexExpression":{"id":84608,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84599,"src":"20607:7:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"20587:28:134","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$83482_storage","typeString":"struct RegistryCommunityV0_0.Member storage ref"}},"nodeType":"VariableDeclarationStatement","src":"20561:54:134"},{"expression":{"expression":{"id":84611,"name":"newMember","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84606,"src":"20632:9:134","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$83482_memory_ptr","typeString":"struct RegistryCommunityV0_0.Member memory"}},"id":84612,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"20642:12:134","memberName":"isRegistered","nodeType":"MemberAccess","referencedDeclaration":83481,"src":"20632:22:134","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":84603,"id":84613,"nodeType":"Return","src":"20625:29:134"}]},"functionSelector":"a230c524","implemented":true,"kind":"function","modifiers":[],"name":"isMember","nameLocation":"20488:8:134","parameters":{"id":84600,"nodeType":"ParameterList","parameters":[{"constant":false,"id":84599,"mutability":"mutable","name":"_member","nameLocation":"20505:7:134","nodeType":"VariableDeclaration","scope":84615,"src":"20497:15:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":84598,"name":"address","nodeType":"ElementaryTypeName","src":"20497:7:134","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"20496:17:134"},"returnParameters":{"id":84603,"nodeType":"ParameterList","parameters":[{"constant":false,"id":84602,"mutability":"mutable","name":"_isMember","nameLocation":"20540:9:134","nodeType":"VariableDeclaration","scope":84615,"src":"20535:14:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":84601,"name":"bool","nodeType":"ElementaryTypeName","src":"20535:4:134","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"20534:16:134"},"scope":85047,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":84774,"nodeType":"FunctionDefinition","src":"20667:1907:134","nodes":[],"body":{"id":84773,"nodeType":"Block","src":"20721:1853:134","nodes":[],"statements":[{"assignments":[84621],"declarations":[{"constant":false,"id":84621,"mutability":"mutable","name":"_member","nameLocation":"20739:7:134","nodeType":"VariableDeclaration","scope":84773,"src":"20731:15:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":84620,"name":"address","nodeType":"ElementaryTypeName","src":"20731:7:134","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":84624,"initialValue":{"expression":{"id":84622,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"20749:3:134","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":84623,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20753:6:134","memberName":"sender","nodeType":"MemberAccess","src":"20749:10:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"20731:28:134"},{"assignments":[84627],"declarations":[{"constant":false,"id":84627,"mutability":"mutable","name":"newMember","nameLocation":"20784:9:134","nodeType":"VariableDeclaration","scope":84773,"src":"20769:24:134","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$83482_storage_ptr","typeString":"struct RegistryCommunityV0_0.Member"},"typeName":{"id":84626,"nodeType":"UserDefinedTypeName","pathNode":{"id":84625,"name":"Member","nameLocations":["20769:6:134"],"nodeType":"IdentifierPath","referencedDeclaration":83482,"src":"20769:6:134"},"referencedDeclaration":83482,"src":"20769:6:134","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$83482_storage_ptr","typeString":"struct RegistryCommunityV0_0.Member"}},"visibility":"internal"}],"id":84631,"initialValue":{"baseExpression":{"id":84628,"name":"addressToMemberInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83221,"src":"20796:19:134","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Member_$83482_storage_$","typeString":"mapping(address => struct RegistryCommunityV0_0.Member storage ref)"}},"id":84630,"indexExpression":{"id":84629,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84621,"src":"20816:7:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"20796:28:134","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$83482_storage","typeString":"struct RegistryCommunityV0_0.Member storage ref"}},"nodeType":"VariableDeclarationStatement","src":"20769:55:134"},{"assignments":[84634],"declarations":[{"constant":false,"id":84634,"mutability":"mutable","name":"gardensFactory","nameLocation":"20850:14:134","nodeType":"VariableDeclaration","scope":84773,"src":"20834:30:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryFactory_$85283","typeString":"contract RegistryFactory"},"typeName":{"id":84633,"nodeType":"UserDefinedTypeName","pathNode":{"id":84632,"name":"RegistryFactory","nameLocations":["20834:15:134"],"nodeType":"IdentifierPath","referencedDeclaration":85283,"src":"20834:15:134"},"referencedDeclaration":85283,"src":"20834:15:134","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryFactory_$85283","typeString":"contract RegistryFactory"}},"visibility":"internal"}],"id":84638,"initialValue":{"arguments":[{"id":84636,"name":"registryFactory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83172,"src":"20883:15:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":84635,"name":"RegistryFactory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85283,"src":"20867:15:134","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_RegistryFactory_$85283_$","typeString":"type(contract RegistryFactory)"}},"id":84637,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20867:32:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryFactory_$85283","typeString":"contract RegistryFactory"}},"nodeType":"VariableDeclarationStatement","src":"20834:65:134"},{"assignments":[84640],"declarations":[{"constant":false,"id":84640,"mutability":"mutable","name":"communityFeeAmount","nameLocation":"20917:18:134","nodeType":"VariableDeclaration","scope":84773,"src":"20909:26:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":84639,"name":"uint256","nodeType":"ElementaryTypeName","src":"20909:7:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":84650,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":84649,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":84643,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":84641,"name":"registerStakeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83160,"src":"20939:19:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":84642,"name":"communityFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83163,"src":"20961:12:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20939:34:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":84644,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"20938:36:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":84647,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"313030","id":84645,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20978:3:134","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":84646,"name":"PRECISION_SCALE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83148,"src":"20984:15:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20978:21:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":84648,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"20977:23:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20938:62:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"20909:91:134"},{"assignments":[84652],"declarations":[{"constant":false,"id":84652,"mutability":"mutable","name":"gardensFeeAmount","nameLocation":"21018:16:134","nodeType":"VariableDeclaration","scope":84773,"src":"21010:24:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":84651,"name":"uint256","nodeType":"ElementaryTypeName","src":"21010:7:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":84668,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":84667,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":84661,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":84653,"name":"registerStakeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83160,"src":"21050:19:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"arguments":[{"arguments":[{"id":84658,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"21110:4:134","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"}],"id":84657,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"21102:7:134","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":84656,"name":"address","nodeType":"ElementaryTypeName","src":"21102:7:134","typeDescriptions":{}}},"id":84659,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21102:13:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":84654,"name":"gardensFactory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84634,"src":"21072:14:134","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryFactory_$85283","typeString":"contract RegistryFactory"}},"id":84655,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21087:14:134","memberName":"getProtocolFee","nodeType":"MemberAccess","referencedDeclaration":85282,"src":"21072:29:134","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":84660,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21072:44:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"21050:66:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":84662,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"21049:68:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":84665,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"313030","id":84663,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21121:3:134","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":84664,"name":"PRECISION_SCALE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83148,"src":"21127:15:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"21121:21:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":84666,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"21120:23:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"21049:94:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"21010:133:134"},{"condition":{"id":84672,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"21157:18:134","subExpression":{"arguments":[{"id":84670,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84621,"src":"21167:7:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":84669,"name":"isMember","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84615,"src":"21158:8:134","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":84671,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21158:17:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":84772,"nodeType":"IfStatement","src":"21153:1415:134","trueBody":{"id":84771,"nodeType":"Block","src":"21177:1391:134","statements":[{"expression":{"id":84677,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":84673,"name":"newMember","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84627,"src":"21191:9:134","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$83482_storage_ptr","typeString":"struct RegistryCommunityV0_0.Member storage pointer"}},"id":84675,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"21201:12:134","memberName":"isRegistered","nodeType":"MemberAccess","referencedDeclaration":83481,"src":"21191:22:134","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":84676,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"21216:4:134","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"21191:29:134","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":84678,"nodeType":"ExpressionStatement","src":"21191:29:134"},{"expression":{"id":84683,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":84679,"name":"newMember","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84627,"src":"21235:9:134","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$83482_storage_ptr","typeString":"struct RegistryCommunityV0_0.Member storage pointer"}},"id":84681,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"21245:12:134","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":83479,"src":"21235:22:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":84682,"name":"registerStakeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83160,"src":"21260:19:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"21235:44:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":84684,"nodeType":"ExpressionStatement","src":"21235:44:134"},{"expression":{"arguments":[{"hexValue":"67617264656e546f6b656e","id":84688,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"21377:13:134","typeDescriptions":{"typeIdentifier":"t_stringliteral_b6b24c50b8ec3de451e1d7969209d38d6bc12dc5d1266588ab0e293c9a1b753a","typeString":"literal_string \"gardenToken\""},"value":"gardenToken"},{"arguments":[{"id":84691,"name":"gardenToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83189,"src":"21400:11:134","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$57069","typeString":"contract IERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$57069","typeString":"contract IERC20"}],"id":84690,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"21392:7:134","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":84689,"name":"address","nodeType":"ElementaryTypeName","src":"21392:7:134","typeDescriptions":{}}},"id":84692,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21392:20:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_b6b24c50b8ec3de451e1d7969209d38d6bc12dc5d1266588ab0e293c9a1b753a","typeString":"literal_string \"gardenToken\""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":84685,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29549,"src":"21365:7:134","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$29549_$","typeString":"type(library console)"}},"id":84687,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21373:3:134","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":22244,"src":"21365:11:134","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_address_$returns$__$","typeString":"function (string memory,address) view"}},"id":84693,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21365:48:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":84694,"nodeType":"ExpressionStatement","src":"21365:48:134"},{"expression":{"arguments":[{"id":84698,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84621,"src":"21474:7:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":84701,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"21491:4:134","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"}],"id":84700,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"21483:7:134","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":84699,"name":"address","nodeType":"ElementaryTypeName","src":"21483:7:134","typeDescriptions":{}}},"id":84702,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21483:13:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":84707,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":84705,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":84703,"name":"registerStakeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83160,"src":"21498:19:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":84704,"name":"communityFeeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84640,"src":"21520:18:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"21498:40:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":84706,"name":"gardensFeeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84652,"src":"21541:16:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"21498:59:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":84695,"name":"gardenToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83189,"src":"21428:11:134","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$57069","typeString":"contract IERC20"}},"id":84697,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21440:16:134","memberName":"safeTransferFrom","nodeType":"MemberAccess","referencedDeclaration":57190,"src":"21428:28:134","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IERC20_$57069_$_t_address_$_t_address_$_t_uint256_$returns$__$attached_to$_t_contract$_IERC20_$57069_$","typeString":"function (contract IERC20,address,address,uint256)"}},"id":84708,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21428:143:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":84709,"nodeType":"ExpressionStatement","src":"21428:143:134"},{"expression":{"arguments":[{"hexValue":"636f6d6d756e697479466565416d6f756e74","id":84713,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"21934:20:134","typeDescriptions":{"typeIdentifier":"t_stringliteral_415492b98adc161fabebd8057944f6684f9fd452571affd947805630e42af66a","typeString":"literal_string \"communityFeeAmount\""},"value":"communityFeeAmount"},{"id":84714,"name":"communityFeeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84640,"src":"21956:18:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_415492b98adc161fabebd8057944f6684f9fd452571affd947805630e42af66a","typeString":"literal_string \"communityFeeAmount\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":84710,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29549,"src":"21922:7:134","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$29549_$","typeString":"type(library console)"}},"id":84712,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21930:3:134","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":22193,"src":"21922:11:134","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":84715,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21922:53:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":84716,"nodeType":"ExpressionStatement","src":"21922:53:134"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":84719,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":84717,"name":"communityFeeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84640,"src":"21993:18:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":84718,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22014:1:134","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"21993:22:134","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":84735,"nodeType":"IfStatement","src":"21989:175:134","trueBody":{"id":84734,"nodeType":"Block","src":"22017:147:134","statements":[{"expression":{"arguments":[{"hexValue":"6665655265636569766572","id":84723,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"22047:13:134","typeDescriptions":{"typeIdentifier":"t_stringliteral_389e7cbf003e878980985f1a72c90dbe5b79c41a44fb160ac26b4fef395d0916","typeString":"literal_string \"feeReceiver\""},"value":"feeReceiver"},{"id":84724,"name":"feeReceiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83169,"src":"22062:11:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_389e7cbf003e878980985f1a72c90dbe5b79c41a44fb160ac26b4fef395d0916","typeString":"literal_string \"feeReceiver\""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":84720,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29549,"src":"22035:7:134","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$29549_$","typeString":"type(library console)"}},"id":84722,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22043:3:134","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":22244,"src":"22035:11:134","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_address_$returns$__$","typeString":"function (string memory,address) view"}},"id":84725,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22035:39:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":84726,"nodeType":"ExpressionStatement","src":"22035:39:134"},{"expression":{"arguments":[{"id":84730,"name":"feeReceiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83169,"src":"22117:11:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":84731,"name":"communityFeeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84640,"src":"22130:18:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":84727,"name":"gardenToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83189,"src":"22092:11:134","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$57069","typeString":"contract IERC20"}},"id":84729,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22104:12:134","memberName":"safeTransfer","nodeType":"MemberAccess","referencedDeclaration":57163,"src":"22092:24:134","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IERC20_$57069_$_t_address_$_t_uint256_$returns$__$attached_to$_t_contract$_IERC20_$57069_$","typeString":"function (contract IERC20,address,uint256)"}},"id":84732,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22092:57:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":84733,"nodeType":"ExpressionStatement","src":"22092:57:134"}]}},{"expression":{"arguments":[{"hexValue":"67617264656e73466565416d6f756e74","id":84739,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"22189:18:134","typeDescriptions":{"typeIdentifier":"t_stringliteral_da8763bbba0536c18d8861cb49d3bb999157cbcc3d98d4bc78b4c3f620189681","typeString":"literal_string \"gardensFeeAmount\""},"value":"gardensFeeAmount"},{"id":84740,"name":"gardensFeeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84652,"src":"22209:16:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_da8763bbba0536c18d8861cb49d3bb999157cbcc3d98d4bc78b4c3f620189681","typeString":"literal_string \"gardensFeeAmount\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":84736,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29549,"src":"22177:7:134","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$29549_$","typeString":"type(library console)"}},"id":84738,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22185:3:134","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":22193,"src":"22177:11:134","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) view"}},"id":84741,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22177:49:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":84742,"nodeType":"ExpressionStatement","src":"22177:49:134"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":84745,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":84743,"name":"gardensFeeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84652,"src":"22244:16:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":84744,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22263:1:134","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"22244:20:134","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":84765,"nodeType":"IfStatement","src":"22240:252:134","trueBody":{"id":84764,"nodeType":"Block","src":"22266:226:134","statements":[{"expression":{"arguments":[{"hexValue":"67617264656e73466163746f72792e67657447617264656e7346656552656365697665722829","id":84749,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"22296:40:134","typeDescriptions":{"typeIdentifier":"t_stringliteral_52073e8ed84f6dfe673a411cc23bb08f06da5bbdad4d391c0e8d90fc482c379a","typeString":"literal_string \"gardensFactory.getGardensFeeReceiver()\""},"value":"gardensFactory.getGardensFeeReceiver()"},{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":84750,"name":"gardensFactory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84634,"src":"22338:14:134","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryFactory_$85283","typeString":"contract RegistryFactory"}},"id":84751,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22353:21:134","memberName":"getGardensFeeReceiver","nodeType":"MemberAccess","referencedDeclaration":85201,"src":"22338:36:134","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_address_$","typeString":"function () view external returns (address)"}},"id":84752,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22338:38:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_52073e8ed84f6dfe673a411cc23bb08f06da5bbdad4d391c0e8d90fc482c379a","typeString":"literal_string \"gardensFactory.getGardensFeeReceiver()\""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":84746,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29549,"src":"22284:7:134","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$29549_$","typeString":"type(library console)"}},"id":84748,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22292:3:134","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":22244,"src":"22284:11:134","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_address_$returns$__$","typeString":"function (string memory,address) view"}},"id":84753,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22284:93:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":84754,"nodeType":"ExpressionStatement","src":"22284:93:134"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":84758,"name":"gardensFactory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84634,"src":"22420:14:134","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryFactory_$85283","typeString":"contract RegistryFactory"}},"id":84759,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22435:21:134","memberName":"getGardensFeeReceiver","nodeType":"MemberAccess","referencedDeclaration":85201,"src":"22420:36:134","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_address_$","typeString":"function () view external returns (address)"}},"id":84760,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22420:38:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":84761,"name":"gardensFeeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84652,"src":"22460:16:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":84755,"name":"gardenToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83189,"src":"22395:11:134","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$57069","typeString":"contract IERC20"}},"id":84757,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22407:12:134","memberName":"safeTransfer","nodeType":"MemberAccess","referencedDeclaration":57163,"src":"22395:24:134","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IERC20_$57069_$_t_address_$_t_uint256_$returns$__$attached_to$_t_contract$_IERC20_$57069_$","typeString":"function (contract IERC20,address,uint256)"}},"id":84762,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22395:82:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":84763,"nodeType":"ExpressionStatement","src":"22395:82:134"}]}},{"eventCall":{"arguments":[{"id":84767,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84621,"src":"22528:7:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":84768,"name":"registerStakeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83160,"src":"22537:19:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":84766,"name":"MemberRegistered","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83264,"src":"22511:16:134","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":84769,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22511:46:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":84770,"nodeType":"EmitStatement","src":"22506:51:134"}]}}]},"functionSelector":"3517aa7d","implemented":true,"kind":"function","modifiers":[{"id":84618,"kind":"modifierInvocation","modifierName":{"id":84617,"name":"nonReentrant","nameLocations":["20708:12:134"],"nodeType":"IdentifierPath","referencedDeclaration":53236,"src":"20708:12:134"},"nodeType":"ModifierInvocation","src":"20708:12:134"}],"name":"stakeAndRegisterMember","nameLocation":"20676:22:134","parameters":{"id":84616,"nodeType":"ParameterList","parameters":[],"src":"20698:2:134"},"returnParameters":{"id":84619,"nodeType":"ParameterList","parameters":[],"src":"20721:0:134"},"scope":85047,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":84823,"nodeType":"FunctionDefinition","src":"22580:467:134","nodes":[],"body":{"id":84822,"nodeType":"Block","src":"22644:403:134","nodes":[],"statements":[{"assignments":[84781],"declarations":[{"constant":false,"id":84781,"mutability":"mutable","name":"gardensFactory","nameLocation":"22670:14:134","nodeType":"VariableDeclaration","scope":84822,"src":"22654:30:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryFactory_$85283","typeString":"contract RegistryFactory"},"typeName":{"id":84780,"nodeType":"UserDefinedTypeName","pathNode":{"id":84779,"name":"RegistryFactory","nameLocations":["22654:15:134"],"nodeType":"IdentifierPath","referencedDeclaration":85283,"src":"22654:15:134"},"referencedDeclaration":85283,"src":"22654:15:134","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryFactory_$85283","typeString":"contract RegistryFactory"}},"visibility":"internal"}],"id":84785,"initialValue":{"arguments":[{"id":84783,"name":"registryFactory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83172,"src":"22703:15:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":84782,"name":"RegistryFactory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85283,"src":"22687:15:134","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_RegistryFactory_$85283_$","typeString":"type(contract RegistryFactory)"}},"id":84784,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22687:32:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryFactory_$85283","typeString":"contract RegistryFactory"}},"nodeType":"VariableDeclarationStatement","src":"22654:65:134"},{"assignments":[84787],"declarations":[{"constant":false,"id":84787,"mutability":"mutable","name":"communityFeeAmount","nameLocation":"22737:18:134","nodeType":"VariableDeclaration","scope":84822,"src":"22729:26:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":84786,"name":"uint256","nodeType":"ElementaryTypeName","src":"22729:7:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":84797,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":84796,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":84790,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":84788,"name":"registerStakeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83160,"src":"22759:19:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":84789,"name":"communityFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83163,"src":"22781:12:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"22759:34:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":84791,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"22758:36:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":84794,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"313030","id":84792,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22798:3:134","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":84793,"name":"PRECISION_SCALE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83148,"src":"22804:15:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"22798:21:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":84795,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"22797:23:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"22758:62:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"22729:91:134"},{"assignments":[84799],"declarations":[{"constant":false,"id":84799,"mutability":"mutable","name":"gardensFeeAmount","nameLocation":"22838:16:134","nodeType":"VariableDeclaration","scope":84822,"src":"22830:24:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":84798,"name":"uint256","nodeType":"ElementaryTypeName","src":"22830:7:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":84815,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":84814,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":84808,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":84800,"name":"registerStakeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83160,"src":"22870:19:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"arguments":[{"arguments":[{"id":84805,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"22930:4:134","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"}],"id":84804,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"22922:7:134","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":84803,"name":"address","nodeType":"ElementaryTypeName","src":"22922:7:134","typeDescriptions":{}}},"id":84806,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22922:13:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":84801,"name":"gardensFactory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84781,"src":"22892:14:134","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryFactory_$85283","typeString":"contract RegistryFactory"}},"id":84802,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22907:14:134","memberName":"getProtocolFee","nodeType":"MemberAccess","referencedDeclaration":85282,"src":"22892:29:134","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":84807,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22892:44:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"22870:66:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":84809,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"22869:68:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":84812,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"313030","id":84810,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22941:3:134","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":84811,"name":"PRECISION_SCALE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83148,"src":"22947:15:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"22941:21:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":84813,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"22940:23:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"22869:94:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"22830:133:134"},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":84820,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":84818,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":84816,"name":"registerStakeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83160,"src":"22981:19:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":84817,"name":"communityFeeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84787,"src":"23003:18:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"22981:40:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":84819,"name":"gardensFeeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84799,"src":"23024:16:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"22981:59:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":84778,"id":84821,"nodeType":"Return","src":"22974:66:134"}]},"functionSelector":"28c309e9","implemented":true,"kind":"function","modifiers":[],"name":"getStakeAmountWithFees","nameLocation":"22589:22:134","parameters":{"id":84775,"nodeType":"ParameterList","parameters":[],"src":"22611:2:134"},"returnParameters":{"id":84778,"nodeType":"ParameterList","parameters":[{"constant":false,"id":84777,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":84823,"src":"22635:7:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":84776,"name":"uint256","nodeType":"ElementaryTypeName","src":"22635:7:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"22634:9:134"},"scope":85047,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":84831,"nodeType":"FunctionDefinition","src":"23053:107:134","nodes":[],"body":{"id":84830,"nodeType":"Block","src":"23117:43:134","nodes":[],"statements":[{"expression":{"id":84828,"name":"registerStakeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83160,"src":"23134:19:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":84827,"id":84829,"nodeType":"Return","src":"23127:26:134"}]},"functionSelector":"0331383c","implemented":true,"kind":"function","modifiers":[],"name":"getBasisStakedAmount","nameLocation":"23062:20:134","parameters":{"id":84824,"nodeType":"ParameterList","parameters":[],"src":"23082:2:134"},"returnParameters":{"id":84827,"nodeType":"ParameterList","parameters":[{"constant":false,"id":84826,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":84831,"src":"23108:7:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":84825,"name":"uint256","nodeType":"ElementaryTypeName","src":"23108:7:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"23107:9:134"},"scope":85047,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":84848,"nodeType":"FunctionDefinition","src":"23166:182:134","nodes":[],"body":{"id":84847,"nodeType":"Block","src":"23225:123:134","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":84836,"name":"onlyCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83357,"src":"23235:15:134","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":84837,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23235:17:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":84838,"nodeType":"ExpressionStatement","src":"23235:17:134"},{"expression":{"id":84841,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":84839,"name":"registerStakeAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83160,"src":"23262:19:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":84840,"name":"_newAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84833,"src":"23284:10:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"23262:32:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":84842,"nodeType":"ExpressionStatement","src":"23262:32:134"},{"eventCall":{"arguments":[{"id":84844,"name":"_newAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84833,"src":"23330:10:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":84843,"name":"BasisStakedAmountSet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83317,"src":"23309:20:134","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":84845,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23309:32:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":84846,"nodeType":"EmitStatement","src":"23304:37:134"}]},"functionSelector":"31f61bca","implemented":true,"kind":"function","modifiers":[],"name":"setBasisStakedAmount","nameLocation":"23175:20:134","parameters":{"id":84834,"nodeType":"ParameterList","parameters":[{"constant":false,"id":84833,"mutability":"mutable","name":"_newAmount","nameLocation":"23204:10:134","nodeType":"VariableDeclaration","scope":84848,"src":"23196:18:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":84832,"name":"uint256","nodeType":"ElementaryTypeName","src":"23196:7:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"23195:20:134"},"returnParameters":{"id":84835,"nodeType":"ParameterList","parameters":[],"src":"23225:0:134"},"scope":85047,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":84873,"nodeType":"FunctionDefinition","src":"23354:280:134","nodes":[],"body":{"id":84872,"nodeType":"Block","src":"23412:222:134","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":84853,"name":"onlyCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83357,"src":"23422:15:134","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":84854,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23422:17:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":84855,"nodeType":"ExpressionStatement","src":"23422:17:134"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":84858,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":84856,"name":"_newCommunityFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84850,"src":"23453:16:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":84857,"name":"MAX_FEE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83154,"src":"23472:7:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"23453:26:134","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":84863,"nodeType":"IfStatement","src":"23449:86:134","trueBody":{"id":84862,"nodeType":"Block","src":"23481:54:134","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":84859,"name":"NewFeeGreaterThanMax","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83463,"src":"23502:20:134","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":84860,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23502:22:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":84861,"nodeType":"RevertStatement","src":"23495:29:134"}]}},{"expression":{"id":84866,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":84864,"name":"communityFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83163,"src":"23544:12:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":84865,"name":"_newCommunityFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84850,"src":"23559:16:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"23544:31:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":84867,"nodeType":"ExpressionStatement","src":"23544:31:134"},{"eventCall":{"arguments":[{"id":84869,"name":"_newCommunityFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84850,"src":"23610:16:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":84868,"name":"CommunityFeeUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83282,"src":"23590:19:134","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":84870,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23590:37:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":84871,"nodeType":"EmitStatement","src":"23585:42:134"}]},"functionSelector":"0d12bbdb","implemented":true,"kind":"function","modifiers":[],"name":"setCommunityFee","nameLocation":"23363:15:134","parameters":{"id":84851,"nodeType":"ParameterList","parameters":[{"constant":false,"id":84850,"mutability":"mutable","name":"_newCommunityFee","nameLocation":"23387:16:134","nodeType":"VariableDeclaration","scope":84873,"src":"23379:24:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":84849,"name":"uint256","nodeType":"ElementaryTypeName","src":"23379:7:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"23378:26:134"},"returnParameters":{"id":84852,"nodeType":"ParameterList","parameters":[],"src":"23412:0:134"},"scope":85047,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":84886,"nodeType":"FunctionDefinition","src":"23676:125:134","nodes":[],"body":{"id":84885,"nodeType":"Block","src":"23745:56:134","nodes":[],"statements":[{"expression":{"arguments":[{"id":84881,"name":"COUNCIL_MEMBER","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83244,"src":"23770:14:134","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":84882,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84875,"src":"23786:7:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":84880,"name":"hasRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52495,"src":"23762:7:134","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) view returns (bool)"}},"id":84883,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23762:32:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":84879,"id":84884,"nodeType":"Return","src":"23755:39:134"}]},"functionSelector":"ebd7dc52","implemented":true,"kind":"function","modifiers":[],"name":"isCouncilMember","nameLocation":"23685:15:134","parameters":{"id":84876,"nodeType":"ParameterList","parameters":[{"constant":false,"id":84875,"mutability":"mutable","name":"_member","nameLocation":"23709:7:134","nodeType":"VariableDeclaration","scope":84886,"src":"23701:15:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":84874,"name":"address","nodeType":"ElementaryTypeName","src":"23701:7:134","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"23700:17:134"},"returnParameters":{"id":84879,"nodeType":"ParameterList","parameters":[{"constant":false,"id":84878,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":84886,"src":"23739:4:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":84877,"name":"bool","nodeType":"ElementaryTypeName","src":"23739:4:134","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"23738:6:134"},"scope":85047,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":84936,"nodeType":"FunctionDefinition","src":"23807:453:134","nodes":[],"body":{"id":84935,"nodeType":"Block","src":"23855:405:134","nodes":[],"statements":[{"assignments":[84892],"declarations":[{"constant":false,"id":84892,"mutability":"mutable","name":"_member","nameLocation":"23873:7:134","nodeType":"VariableDeclaration","scope":84935,"src":"23865:15:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":84891,"name":"address","nodeType":"ElementaryTypeName","src":"23865:7:134","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":84895,"initialValue":{"expression":{"id":84893,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"23883:3:134","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":84894,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23887:6:134","memberName":"sender","nodeType":"MemberAccess","src":"23883:10:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"23865:28:134"},{"expression":{"arguments":[{"id":84897,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84892,"src":"23929:7:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":84896,"name":"onlyRegistryMemberAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83386,"src":"23903:25:134","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$__$","typeString":"function (address) view"}},"id":84898,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23903:34:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":84899,"nodeType":"ExpressionStatement","src":"23903:34:134"},{"expression":{"arguments":[{"id":84901,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84892,"src":"23971:7:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":84900,"name":"deactivateAllStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84973,"src":"23947:23:134","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":84902,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23947:32:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":84903,"nodeType":"ExpressionStatement","src":"23947:32:134"},{"assignments":[84906],"declarations":[{"constant":false,"id":84906,"mutability":"mutable","name":"member","nameLocation":"24003:6:134","nodeType":"VariableDeclaration","scope":84935,"src":"23989:20:134","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$83482_memory_ptr","typeString":"struct RegistryCommunityV0_0.Member"},"typeName":{"id":84905,"nodeType":"UserDefinedTypeName","pathNode":{"id":84904,"name":"Member","nameLocations":["23989:6:134"],"nodeType":"IdentifierPath","referencedDeclaration":83482,"src":"23989:6:134"},"referencedDeclaration":83482,"src":"23989:6:134","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$83482_storage_ptr","typeString":"struct RegistryCommunityV0_0.Member"}},"visibility":"internal"}],"id":84910,"initialValue":{"baseExpression":{"id":84907,"name":"addressToMemberInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83221,"src":"24012:19:134","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Member_$83482_storage_$","typeString":"mapping(address => struct RegistryCommunityV0_0.Member storage ref)"}},"id":84909,"indexExpression":{"id":84908,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84892,"src":"24032:7:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"24012:28:134","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$83482_storage","typeString":"struct RegistryCommunityV0_0.Member storage ref"}},"nodeType":"VariableDeclarationStatement","src":"23989:51:134"},{"expression":{"id":84914,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"24050:35:134","subExpression":{"baseExpression":{"id":84911,"name":"addressToMemberInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83221,"src":"24057:19:134","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Member_$83482_storage_$","typeString":"mapping(address => struct RegistryCommunityV0_0.Member storage ref)"}},"id":84913,"indexExpression":{"id":84912,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84892,"src":"24077:7:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"24057:28:134","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$83482_storage","typeString":"struct RegistryCommunityV0_0.Member storage ref"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":84915,"nodeType":"ExpressionStatement","src":"24050:35:134"},{"expression":{"id":84919,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"24095:34:134","subExpression":{"baseExpression":{"id":84916,"name":"strategiesByMember","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83227,"src":"24102:18:134","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_address_$dyn_storage_$","typeString":"mapping(address => address[] storage ref)"}},"id":84918,"indexExpression":{"id":84917,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84892,"src":"24121:7:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"24102:27:134","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[] storage ref"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":84920,"nodeType":"ExpressionStatement","src":"24095:34:134"},{"expression":{"arguments":[{"id":84924,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84892,"src":"24161:7:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":84925,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84906,"src":"24170:6:134","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$83482_memory_ptr","typeString":"struct RegistryCommunityV0_0.Member memory"}},"id":84926,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24177:12:134","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":83479,"src":"24170:19:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":84921,"name":"gardenToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83189,"src":"24140:11:134","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$57069","typeString":"contract IERC20"}},"id":84923,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24152:8:134","memberName":"transfer","nodeType":"MemberAccess","referencedDeclaration":57036,"src":"24140:20:134","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) external returns (bool)"}},"id":84927,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24140:50:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":84928,"nodeType":"ExpressionStatement","src":"24140:50:134"},{"eventCall":{"arguments":[{"id":84930,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84892,"src":"24224:7:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":84931,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84906,"src":"24233:6:134","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$83482_memory_ptr","typeString":"struct RegistryCommunityV0_0.Member memory"}},"id":84932,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24240:12:134","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":83479,"src":"24233:19:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":84929,"name":"MemberUnregistered","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83270,"src":"24205:18:134","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":84933,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24205:48:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":84934,"nodeType":"EmitStatement","src":"24200:53:134"}]},"functionSelector":"b99b4370","implemented":true,"kind":"function","modifiers":[{"id":84889,"kind":"modifierInvocation","modifierName":{"id":84888,"name":"nonReentrant","nameLocations":["23842:12:134"],"nodeType":"IdentifierPath","referencedDeclaration":53236,"src":"23842:12:134"},"nodeType":"ModifierInvocation","src":"23842:12:134"}],"name":"unregisterMember","nameLocation":"23816:16:134","parameters":{"id":84887,"nodeType":"ParameterList","parameters":[],"src":"23832:2:134"},"returnParameters":{"id":84890,"nodeType":"ParameterList","parameters":[],"src":"23855:0:134"},"scope":85047,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":84973,"nodeType":"FunctionDefinition","src":"24266:466:134","nodes":[],"body":{"id":84972,"nodeType":"Block","src":"24325:407:134","nodes":[],"statements":[{"assignments":[84945],"declarations":[{"constant":false,"id":84945,"mutability":"mutable","name":"memberStrategies","nameLocation":"24352:16:134","nodeType":"VariableDeclaration","scope":84972,"src":"24335:33:134","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":84943,"name":"address","nodeType":"ElementaryTypeName","src":"24335:7:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":84944,"nodeType":"ArrayTypeName","src":"24335:9:134","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"id":84949,"initialValue":{"baseExpression":{"id":84946,"name":"strategiesByMember","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83227,"src":"24371:18:134","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_address_$dyn_storage_$","typeString":"mapping(address => address[] storage ref)"}},"id":84948,"indexExpression":{"id":84947,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84938,"src":"24390:7:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"24371:27:134","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage","typeString":"address[] storage ref"}},"nodeType":"VariableDeclarationStatement","src":"24335:63:134"},{"body":{"id":84970,"nodeType":"Block","src":"24528:198:134","statements":[{"expression":{"arguments":[{"id":84967,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84938,"src":"24707:7:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"arguments":[{"baseExpression":{"id":84962,"name":"memberStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84945,"src":"24669:16:134","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":84964,"indexExpression":{"id":84963,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84951,"src":"24686:1:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"24669:19:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":84961,"name":"IPointStrategy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77667,"src":"24654:14:134","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IPointStrategy_$77667_$","typeString":"type(contract IPointStrategy)"}},"id":84965,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24654:35:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IPointStrategy_$77667","typeString":"contract IPointStrategy"}},"id":84966,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24690:16:134","memberName":"deactivatePoints","nodeType":"MemberAccess","referencedDeclaration":77642,"src":"24654:52:134","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":84968,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24654:61:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":84969,"nodeType":"ExpressionStatement","src":"24654:61:134"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":84957,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":84954,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84951,"src":"24494:1:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":84955,"name":"memberStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84945,"src":"24498:16:134","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":84956,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24515:6:134","memberName":"length","nodeType":"MemberAccess","src":"24498:23:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"24494:27:134","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":84971,"initializationExpression":{"assignments":[84951],"declarations":[{"constant":false,"id":84951,"mutability":"mutable","name":"i","nameLocation":"24487:1:134","nodeType":"VariableDeclaration","scope":84971,"src":"24479:9:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":84950,"name":"uint256","nodeType":"ElementaryTypeName","src":"24479:7:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":84953,"initialValue":{"hexValue":"30","id":84952,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"24491:1:134","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"24479:13:134"},"loopExpression":{"expression":{"id":84959,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"24523:3:134","subExpression":{"id":84958,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84951,"src":"24523:1:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":84960,"nodeType":"ExpressionStatement","src":"24523:3:134"},"nodeType":"ForStatement","src":"24474:252:134"}]},"implemented":true,"kind":"function","modifiers":[],"name":"deactivateAllStrategies","nameLocation":"24275:23:134","parameters":{"id":84939,"nodeType":"ParameterList","parameters":[{"constant":false,"id":84938,"mutability":"mutable","name":"_member","nameLocation":"24307:7:134","nodeType":"VariableDeclaration","scope":84973,"src":"24299:15:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":84937,"name":"address","nodeType":"ElementaryTypeName","src":"24299:7:134","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"24298:17:134"},"returnParameters":{"id":84940,"nodeType":"ParameterList","parameters":[],"src":"24325:0:134"},"scope":85047,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":85033,"nodeType":"FunctionDefinition","src":"24738:571:134","nodes":[],"body":{"id":85032,"nodeType":"Block","src":"24821:488:134","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":84982,"name":"onlyCouncilSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83357,"src":"24831:15:134","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":84983,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24831:17:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":84984,"nodeType":"ExpressionStatement","src":"24831:17:134"},{"condition":{"id":84986,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"24862:14:134","subExpression":{"id":84985,"name":"isKickEnabled","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83157,"src":"24863:13:134","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":84991,"nodeType":"IfStatement","src":"24858:68:134","trueBody":{"id":84990,"nodeType":"Block","src":"24878:48:134","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":84987,"name":"KickNotEnabled","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83465,"src":"24899:14:134","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":84988,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24899:16:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":84989,"nodeType":"RevertStatement","src":"24892:23:134"}]}},{"condition":{"id":84995,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"24939:18:134","subExpression":{"arguments":[{"id":84993,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84975,"src":"24949:7:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":84992,"name":"isMember","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84615,"src":"24940:8:134","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":84994,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24940:17:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":85000,"nodeType":"IfStatement","src":"24935:75:134","trueBody":{"id":84999,"nodeType":"Block","src":"24959:51:134","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":84996,"name":"UserNotInRegistry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83443,"src":"24980:17:134","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":84997,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24980:19:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":84998,"nodeType":"RevertStatement","src":"24973:26:134"}]}},{"assignments":[85003],"declarations":[{"constant":false,"id":85003,"mutability":"mutable","name":"member","nameLocation":"25033:6:134","nodeType":"VariableDeclaration","scope":85032,"src":"25019:20:134","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$83482_memory_ptr","typeString":"struct RegistryCommunityV0_0.Member"},"typeName":{"id":85002,"nodeType":"UserDefinedTypeName","pathNode":{"id":85001,"name":"Member","nameLocations":["25019:6:134"],"nodeType":"IdentifierPath","referencedDeclaration":83482,"src":"25019:6:134"},"referencedDeclaration":83482,"src":"25019:6:134","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$83482_storage_ptr","typeString":"struct RegistryCommunityV0_0.Member"}},"visibility":"internal"}],"id":85007,"initialValue":{"baseExpression":{"id":85004,"name":"addressToMemberInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83221,"src":"25042:19:134","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Member_$83482_storage_$","typeString":"mapping(address => struct RegistryCommunityV0_0.Member storage ref)"}},"id":85006,"indexExpression":{"id":85005,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84975,"src":"25062:7:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"25042:28:134","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$83482_storage","typeString":"struct RegistryCommunityV0_0.Member storage ref"}},"nodeType":"VariableDeclarationStatement","src":"25019:51:134"},{"expression":{"arguments":[{"id":85009,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84975,"src":"25104:7:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":85008,"name":"deactivateAllStrategies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84973,"src":"25080:23:134","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":85010,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25080:32:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":85011,"nodeType":"ExpressionStatement","src":"25080:32:134"},{"expression":{"id":85015,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"25122:35:134","subExpression":{"baseExpression":{"id":85012,"name":"addressToMemberInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83221,"src":"25129:19:134","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Member_$83482_storage_$","typeString":"mapping(address => struct RegistryCommunityV0_0.Member storage ref)"}},"id":85014,"indexExpression":{"id":85013,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84975,"src":"25149:7:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"25129:28:134","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$83482_storage","typeString":"struct RegistryCommunityV0_0.Member storage ref"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":85016,"nodeType":"ExpressionStatement","src":"25122:35:134"},{"expression":{"arguments":[{"id":85020,"name":"_transferAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84977,"src":"25189:16:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":85021,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85003,"src":"25207:6:134","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$83482_memory_ptr","typeString":"struct RegistryCommunityV0_0.Member memory"}},"id":85022,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"25214:12:134","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":83479,"src":"25207:19:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":85017,"name":"gardenToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83189,"src":"25168:11:134","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$57069","typeString":"contract IERC20"}},"id":85019,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"25180:8:134","memberName":"transfer","nodeType":"MemberAccess","referencedDeclaration":57036,"src":"25168:20:134","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) external returns (bool)"}},"id":85023,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25168:59:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":85024,"nodeType":"ExpressionStatement","src":"25168:59:134"},{"eventCall":{"arguments":[{"id":85026,"name":"_member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84975,"src":"25255:7:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":85027,"name":"_transferAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84977,"src":"25264:16:134","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":85028,"name":"member","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85003,"src":"25282:6:134","typeDescriptions":{"typeIdentifier":"t_struct$_Member_$83482_memory_ptr","typeString":"struct RegistryCommunityV0_0.Member memory"}},"id":85029,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"25289:12:134","memberName":"stakedAmount","nodeType":"MemberAccess","referencedDeclaration":83479,"src":"25282:19:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":85025,"name":"MemberKicked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83278,"src":"25242:12:134","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":85030,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25242:60:134","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":85031,"nodeType":"EmitStatement","src":"25237:65:134"}]},"functionSelector":"6871eb4d","implemented":true,"kind":"function","modifiers":[{"id":84980,"kind":"modifierInvocation","modifierName":{"id":84979,"name":"nonReentrant","nameLocations":["24808:12:134"],"nodeType":"IdentifierPath","referencedDeclaration":53236,"src":"24808:12:134"},"nodeType":"ModifierInvocation","src":"24808:12:134"}],"name":"kickMember","nameLocation":"24747:10:134","parameters":{"id":84978,"nodeType":"ParameterList","parameters":[{"constant":false,"id":84975,"mutability":"mutable","name":"_member","nameLocation":"24766:7:134","nodeType":"VariableDeclaration","scope":85033,"src":"24758:15:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":84974,"name":"address","nodeType":"ElementaryTypeName","src":"24758:7:134","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":84977,"mutability":"mutable","name":"_transferAddress","nameLocation":"24783:16:134","nodeType":"VariableDeclaration","scope":85033,"src":"24775:24:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":84976,"name":"address","nodeType":"ElementaryTypeName","src":"24775:7:134","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"24757:43:134"},"returnParameters":{"id":84981,"nodeType":"ParameterList","parameters":[],"src":"24821:0:134"},"scope":85047,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":85042,"nodeType":"FunctionDefinition","src":"25315:66:134","nodes":[],"body":{"id":85041,"nodeType":"Block","src":"25379:2:134","nodes":[],"statements":[]},"baseFunctions":[56212],"implemented":true,"kind":"function","modifiers":[{"id":85039,"kind":"modifierInvocation","modifierName":{"id":85038,"name":"onlyOwner","nameLocations":["25369:9:134"],"nodeType":"IdentifierPath","referencedDeclaration":52856,"src":"25369:9:134"},"nodeType":"ModifierInvocation","src":"25369:9:134"}],"name":"_authorizeUpgrade","nameLocation":"25324:17:134","overrides":{"id":85037,"nodeType":"OverrideSpecifier","overrides":[],"src":"25360:8:134"},"parameters":{"id":85036,"nodeType":"ParameterList","parameters":[{"constant":false,"id":85035,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":85042,"src":"25342:7:134","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":85034,"name":"address","nodeType":"ElementaryTypeName","src":"25342:7:134","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"25341:9:134"},"returnParameters":{"id":85040,"nodeType":"ParameterList","parameters":[],"src":"25379:0:134"},"scope":85047,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":85046,"nodeType":"VariableDeclaration","src":"25387:25:134","nodes":[],"constant":false,"mutability":"mutable","name":"__gap","nameLocation":"25407:5:134","scope":85047,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$50_storage","typeString":"uint256[50]"},"typeName":{"baseType":{"id":85043,"name":"uint256","nodeType":"ElementaryTypeName","src":"25387:7:134","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":85045,"length":{"hexValue":"3530","id":85044,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25395:2:134","typeDescriptions":{"typeIdentifier":"t_rational_50_by_1","typeString":"int_const 50"},"value":"50"},"nodeType":"ArrayTypeName","src":"25387:11:134","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$50_storage_ptr","typeString":"uint256[50]"}},"visibility":"private"}],"abstract":false,"baseContracts":[{"baseName":{"id":83121,"name":"OwnableUpgradeable","nameLocations":["1453:18:134"],"nodeType":"IdentifierPath","referencedDeclaration":52942,"src":"1453:18:134"},"id":83122,"nodeType":"InheritanceSpecifier","src":"1453:18:134"},{"baseName":{"id":83123,"name":"UUPSUpgradeable","nameLocations":["1477:15:134"],"nodeType":"IdentifierPath","referencedDeclaration":56213,"src":"1477:15:134"},"id":83124,"nodeType":"InheritanceSpecifier","src":"1477:15:134"},{"baseName":{"id":83125,"name":"ReentrancyGuardUpgradeable","nameLocations":["1498:26:134"],"nodeType":"IdentifierPath","referencedDeclaration":53276,"src":"1498:26:134"},"id":83126,"nodeType":"InheritanceSpecifier","src":"1498:26:134"},{"baseName":{"id":83127,"name":"AccessControlUpgradeable","nameLocations":["1530:24:134"],"nodeType":"IdentifierPath","referencedDeclaration":52736,"src":"1530:24:134"},"id":83128,"nodeType":"InheritanceSpecifier","src":"1530:24:134"}],"canonicalName":"RegistryCommunityV0_0","contractDependencies":[55562,80578],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[85047,52736,54009,54021,52809,53276,56213,55866,55515,55525,52942,53735,53191],"name":"RegistryCommunityV0_0","nameLocation":"1424:21:134","scope":85048,"usedErrors":[83437,83439,83441,83443,83445,83447,83449,83451,83453,83455,83457,83459,83461,83463,83465,83467,83469,83475]}],"license":"AGPL-3.0-only"},"id":134} \ No newline at end of file diff --git a/pkg/contracts/out/RegistryFactory.sol/RegistryFactory.json b/pkg/contracts/out/RegistryFactory.sol/RegistryFactory.json index c668eb9d4..153f0a9da 100644 --- a/pkg/contracts/out/RegistryFactory.sol/RegistryFactory.json +++ b/pkg/contracts/out/RegistryFactory.sol/RegistryFactory.json @@ -1,4023 +1 @@ -{ - "abi": [ - { - "type": "function", - "name": "createRegistry", - "inputs": [ - { - "name": "params", - "type": "tuple", - "internalType": "struct RegistryCommunity.InitializeParams", - "components": [ - { - "name": "_allo", - "type": "address", - "internalType": "address" - }, - { - "name": "_gardenToken", - "type": "address", - "internalType": "contract IERC20" - }, - { - "name": "_registerStakeAmount", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_communityFee", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_nonce", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "_registryFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "_feeReceiver", - "type": "address", - "internalType": "address" - }, - { - "name": "_metadata", - "type": "tuple", - "internalType": "struct Metadata", - "components": [ - { - "name": "protocol", - "type": "uint256", - "internalType": "uint256" - }, - { - "name": "pointer", - "type": "string", - "internalType": "string" - } - ] - }, - { - "name": "_councilSafe", - "type": "address", - "internalType": "address payable" - }, - { - "name": "_communityName", - "type": "string", - "internalType": "string" - }, - { - "name": "_isKickEnabled", - "type": "bool", - "internalType": "bool" - }, - { - "name": "covenantIpfsHash", - "type": "string", - "internalType": "string" - }, - { - "name": "_strategyTemplate", - "type": "address", - "internalType": "address" - } - ] - } - ], - "outputs": [ - { - "name": "_createdRegistryAddress", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "gardensFeeReceiver", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getCommunityValidity", - "inputs": [ - { - "name": "_community", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "bool", - "internalType": "bool" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getGardensFeeReceiver", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getProtocolFee", - "inputs": [ - { - "name": "_community", - "type": "address", - "internalType": "address" - } - ], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "nonce", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "owner", - "inputs": [], - "outputs": [ - { - "name": "", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "renounceOwnership", - "inputs": [], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setCommunityValidity", - "inputs": [ - { - "name": "_community", - "type": "address", - "internalType": "address" - }, - { - "name": "_isValid", - "type": "bool", - "internalType": "bool" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setProtocolFee", - "inputs": [ - { - "name": "_community", - "type": "address", - "internalType": "address" - }, - { - "name": "_newProtocolFee", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setReceiverAddress", - "inputs": [ - { - "name": "_newFeeReceiver", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "transferOwnership", - "inputs": [ - { - "name": "newOwner", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "event", - "name": "CommunityCreated", - "inputs": [ - { - "name": "_registryCommunity", - "type": "address", - "indexed": false, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "CommunityValiditySet", - "inputs": [ - { - "name": "_community", - "type": "address", - "indexed": false, - "internalType": "address" - }, - { - "name": "_isValid", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "FeeReceiverSet", - "inputs": [ - { - "name": "_newFeeReceiver", - "type": "address", - "indexed": false, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OwnershipTransferred", - "inputs": [ - { - "name": "previousOwner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "newOwner", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ProtocolFeeSet", - "inputs": [ - { - "name": "_community", - "type": "address", - "indexed": false, - "internalType": "address" - }, - { - "name": "_newProtocolFee", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "AddressCannotBeZero", - "inputs": [] - }, - { - "type": "error", - "name": "CommunityInvalid", - "inputs": [ - { - "name": "_community", - "type": "address", - "internalType": "address" - } - ] - } - ], - "bytecode": { - "object": "0x6080604052600060015534801561001557600080fd5b5061001f33610024565b610074565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6152d1806100836000396000f3fe608060405234801561001057600080fd5b50600436106100d45760003560e01c8063987435be11610081578063b8bed9011161005b578063b8bed90114610198578063f2fde38b146101ab578063f5016b5e146101be57600080fd5b8063987435be1461016b578063affed0e01461017c578063b5b3ca2c1461018557600080fd5b80638279c7db116100b25780638279c7db1461011c5780638a16135f1461012f5780638da5cb5b1461015a57600080fd5b80630a992e0c146100d95780635a2c8ace146100ff578063715018a614610114575b600080fd5b6100ec6100e73660046106a3565b6101fa565b6040519081526020015b60405180910390f35b61011261010d3660046106d7565b61027b565b005b6101126102e7565b61011261012a3660046106a3565b6102fb565b61014261013d366004610848565b61036d565b6040516001600160a01b0390911681526020016100f6565b6000546001600160a01b0316610142565b6003546001600160a01b0316610142565b6100ec60015481565b61011261019336600461099e565b61048e565b600354610142906001600160a01b031681565b6101126101b93660046106a3565b6104ea565b6101ea6101cc3660046106a3565b6001600160a01b031660009081526002602052604090205460ff1690565b60405190151581526020016100f6565b6001600160a01b03811660009081526002602052604081205460ff1661025c576040517ff5a6943d0000000000000000000000000000000000000000000000000000000081526001600160a01b03831660048201526024015b60405180910390fd5b506001600160a01b031660009081526002602052604090206001015490565b61028361057a565b6001600160a01b038216600081815260026020908152604091829020805460ff19168515159081179091558251938452908301527fecdcd3502799a6c41864ea2682236184e876f63e10f8d56c7768a3d501e89f6291015b60405180910390a15050565b6102ef61057a565b6102f960006105d4565b565b61030361057a565b61030c81610631565b6003805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0383169081179091556040519081527fbdf37c276f641820b141429d245add2552b4118c0866e5a78638e3de5ef18d9d9060200160405180910390a150565b60008060405161037c90610671565b604051809103906000f080158015610398573d6000803e3d6000fd5b506001805491925060006103ab836109ca565b9091555060808401523060a08401526040517f96f0adec0000000000000000000000000000000000000000000000000000000081526001600160a01b038216906396f0adec906103ff908690600401610a5e565b600060405180830381600087803b15801561041957600080fd5b505af115801561042d573d6000803e3d6000fd5b505050506001600160a01b038116600081815260026020908152604091829020805460ff1916600117905590519182527fb4108a188495a1a681cdc0750af164011025a1773b41e93ff3e628adc037dc29910160405180910390a192915050565b61049661057a565b6001600160a01b038216600081815260026020908152604091829020600101849055815192835282018390527fa1ee82e4f177a8017f33ddddac05b7ceab1de9d46f7195e15e8aa2e8b88f3b1c91016102db565b6104f261057a565b6001600160a01b03811661056e5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610253565b610577816105d4565b50565b6000546001600160a01b031633146102f95760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610253565b600080546001600160a01b0383811673ffffffffffffffffffffffffffffffffffffffff19831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b038116610577576040517fe622e04000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6146fe80610b9e83390190565b6001600160a01b038116811461057757600080fd5b803561069e8161067e565b919050565b6000602082840312156106b557600080fd5b81356106c08161067e565b9392505050565b8035801515811461069e57600080fd5b600080604083850312156106ea57600080fd5b82356106f58161067e565b9150610703602084016106c7565b90509250929050565b634e487b7160e01b600052604160045260246000fd5b6040516101a0810167ffffffffffffffff811182821017156107465761074661070c565b60405290565b600082601f83011261075d57600080fd5b813567ffffffffffffffff808211156107785761077861070c565b604051601f8301601f19908116603f011681019082821181831017156107a0576107a061070c565b816040528381528660208588010111156107b957600080fd5b836020870160208301376000602085830101528094505050505092915050565b6000604082840312156107eb57600080fd5b6040516040810167ffffffffffffffff828210818311171561080f5761080f61070c565b8160405282935084358352602085013591508082111561082e57600080fd5b5061083b8582860161074c565b6020830152505092915050565b60006020828403121561085a57600080fd5b813567ffffffffffffffff8082111561087257600080fd5b908301906101a0828603121561088757600080fd5b61088f610722565b61089883610693565b81526108a660208401610693565b60208201526040830135604082015260608301356060820152608083013560808201526108d560a08401610693565b60a08201526108e660c08401610693565b60c082015260e0830135828111156108fd57600080fd5b610909878286016107d9565b60e08301525061010061091d818501610693565b90820152610120838101358381111561093557600080fd5b6109418882870161074c565b8284015250506101406109558185016106c7565b90820152610160838101358381111561096d57600080fd5b6109798882870161074c565b828401525050610180915061098f828401610693565b91810191909152949350505050565b600080604083850312156109b157600080fd5b82356109bc8161067e565b946020939093013593505050565b6000600182016109ea57634e487b7160e01b600052601160045260246000fd5b5060010190565b6000815180845260005b81811015610a17576020818501810151868301820152016109fb565b506000602082860101526020601f19601f83011685010191505092915050565b805182526000602082015160406020850152610a5660408501826109f1565b949350505050565b60208152610a786020820183516001600160a01b03169052565b60006020830151610a9460408401826001600160a01b03169052565b506040830151606083015260608301516080830152608083015160a083015260a0830151610acd60c08401826001600160a01b03169052565b5060c08301516001600160a01b03811660e08401525060e08301516101a06101008181860152610b016101c0860184610a37565b90860151909250610120610b1f868201836001600160a01b03169052565b80870151915050601f19610140818786030181880152610b3f85846109f1565b945080880151925050610160610b588188018415159052565b80880151925050610180818786030181880152610b7585846109f1565b94508088015192505050610b93828601826001600160a01b03169052565b509094935050505056fe60806040523480156200001157600080fd5b506001600090815562000046907fbc6bbe35ebc64943402c04d2ae016d7bd2bba28e1a11cf66be743c9bd74c720b906200004c565b62000099565b6000828152600160208190526040808320909101805490849055905190918391839186917fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff9190a4505050565b61465580620000a96000396000f3fe608060405234801561001057600080fd5b506004361061036d5760003560e01c80636c53db9a116101d3578063a230c52411610104578063d547741f116100a2578063db61d65c1161007c578063db61d65c1461086c578063ebd7dc521461087f578063f86c5f8914610892578063ff6409ef146108a557600080fd5b8063d547741f1461083d578063d6d8428d14610850578063d7050f071461086357600080fd5b8063b64e39af116100de578063b64e39af14610810578063b99b437014610825578063bc063e1a1461082d578063c6d572ae1461083557600080fd5b8063a230c5241461079e578063b3f00674146107f5578063b5058c501461080857600080fd5b80638961be6b1161017157806397991cfa1161014b57806397991cfa14610724578063a0b21cdf14610754578063a0cf0aea1461077b578063a217fddf1461079657600080fd5b80638961be6b146106cf57806391d14854146106d857806396f0adec1461071157600080fd5b806378a0b8a9116101ad57806378a0b8a91461063d5780637b1039991461064657806382d6a1e71461065957806388cfe6841461066c57600080fd5b80636c53db9a146105de57806373265c37146105f15780637817ee4f1461060457600080fd5b80632f2ff15d116102ad578063477a5cc01161024b5780635ecf71c5116102255780635ecf71c51461057a57806365e3864c1461058d5780636871eb4d146105b857806368decabb146105cb57600080fd5b8063477a5cc014610526578063559de05d146105545780635c94e4d21461056757600080fd5b80633517aa7d116102875780633517aa7d146104d557806336568abe146104dd578063397e2543146104f05780633a871fe11461050357600080fd5b80632f2ff15d146104a657806331f61bca146104b957806333960459146104cc57600080fd5b80631f787d281161031a578063248a9ca3116102f4578063248a9ca31461042357806328c309e9146104475780632b38c69c1461044f5780632c611c4a1461047a57600080fd5b80631f787d28146103f0578063223e5479146103fd57806322bcf9991461041057600080fd5b80630d12bbdb1161034b5780630d12bbdb146103b55780630d4a8b49146103ca578063175188e8146103dd57600080fd5b806301ffc9a7146103725780630331383c1461039a57806308386eba146103ac575b600080fd5b61038561038036600461377d565b6108b8565b60405190151581526020015b60405180910390f35b6003545b604051908152602001610391565b61039e60055481565b6103c86103c33660046137a7565b610908565b005b6103c86103d83660046137e5565b610992565b6103c86103eb36600461381e565b610cf9565b6002546103859060ff1681565b6103c861040b36600461381e565b610d0d565b6103c861041e3660046137e5565b610d1e565b61039e6104313660046137a7565b6000908152600160208190526040909120015490565b61039e610e2d565b61046261045d36600461383b565b610f17565b6040516001600160a01b039091168152602001610391565b61039e61048836600461381e565b6001600160a01b031660009081526013602052604090206001015490565b6103c86104b4366004613867565b610f4f565b6103c86104c73660046137a7565b610f7a565b61039e60095481565b6103c8610fb7565b6103c86104eb366004613867565b6113bc565b6103c86104fe36600461381e565b61144d565b61038561051136600461381e565b60116020526000908152604090205460ff1681565b6103856105343660046137e5565b601560209081526000928352604080842090915290825290205460ff1681565b6103c86105623660046137a7565b6114ba565b600854610462906001600160a01b031681565b6103c86105883660046137a7565b611794565b61039e61059b3660046137e5565b601260209081526000928352604080842090915290825290205481565b6103c86105c63660046137e5565b611b4e565b600a54610462906001600160a01b031681565b600d54610462906001600160a01b031681565b6103c86105ff3660046137a7565b611d59565b61039e6106123660046137e5565b6001600160a01b03918216600090815260126020908152604080832093909416825291909152205490565b61039e60035481565b600b54610462906001600160a01b031681565b6103c86106673660046137a7565b611deb565b6106a861067a36600461381e565b6013602052600090815260409020805460018201546002909201546001600160a01b03909116919060ff1683565b604080516001600160a01b0390941684526020840192909252151590820152606001610391565b61039e60045481565b6103856106e6366004613867565b60009182526001602090815260408084206001600160a01b0393909316845291905290205460ff1690565b6103c861071f366004613a50565b611e9c565b610737610732366004613cab565b612388565b604080519283526001600160a01b03909116602083015201610391565b61039e7fbc6bbe35ebc64943402c04d2ae016d7bd2bba28e1a11cf66be743c9bd74c720b81565b61046273eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b61039e600081565b6103856107ac36600461381e565b6001600160a01b039081166000908152601360209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff161515910181905290565b600654610462906001600160a01b031681565b6103c86123d2565b61081861241e565b6040516103919190613d5e565b6103c86124ac565b61039e61260f565b61081861261f565b6103c861084b366004613867565b61262c565b600e54610462906001600160a01b031681565b61039e61271081565b600c54610462906001600160a01b031681565b61038561088d36600461381e565b612652565b600754610462906001600160a01b031681565b6107376108b3366004613d71565b612692565b60006001600160e01b031982167f7965db0b00000000000000000000000000000000000000000000000000000000148061090257506301ffc9a760e01b6001600160e01b03198316145b92915050565b610910612811565b61091d612710600a613dfd565b811115610956576040517ffe925f7d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60048190556040518181527f611668bfcf654a99c33cdb66c29ec37a5aae5c1287d2d9715a24e18cb4d806d6906020015b60405180910390a150565b61099b82612879565b6109a4816128dc565b6109ad8161292e565b6001600160a01b0380831660009081526015602090815260408083209385168352929052205460ff1615610a0d576040517fd5b9bc9600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0380831660009081526013602090815260409182902082516060810184528154909416845260018101549184018290526002015460ff161515918301919091526003805490846001600160a01b031663c32921716040518163ffffffff1660e01b81526004016020604051808303816000875af1158015610a99573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610abd9190613e2a565b6003811115610ace57610ace613e14565b03610b4d5760405163782aadff60e01b81526001600160a01b0386811660048301526000602483015285169063782aadff906044016020604051808303816000875af1158015610b22573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b469190613e47565b9050610c3f565b6000846001600160a01b031663c32921716040518163ffffffff1660e01b81526004016020604051808303816000875af1158015610b8f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bb39190613e2a565b6003811115610bc457610bc4613e14565b14610c3f5760405163782aadff60e01b81526001600160a01b0386811660048301526024820184905285169063782aadff906044016020604051808303816000875af1158015610c18573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c3c9190613e47565b90505b6001600160a01b038581166000818152601260209081526040808320948916808452948252808320869055838352601582528083208584528252808320805460ff19166001908117909155848452601483528184208054918201815584529282902090920180546001600160a01b0319168517905581519283528201929092529081018290527ff56fa57e85e169a12200d12d9921ec069b52e688f6d309d9dab7bceff54614ec9060600160405180910390a15050505050565b610d01612811565b610d0a8161296e565b50565b610d15612811565b610d0a816129c8565b610d2782612879565b610d308161292e565b610d3a3382612a6f565b6001600160a01b0380831660009081526015602090815260408083209385168352929052205460ff16610d99576040517fc12369dc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038083166000818152601560209081526040808320948616808452948252808320805460ff191690559282526012815282822093825292909252812055610de78282612aba565b604080516001600160a01b038085168252831660208201527ede109bef4619f7e2cf00c8e5a50ca55f8deb44f87087eed414a91dbf8d1d1b910160405180910390a15050565b6007546000906001600160a01b031681610e4a6127106064613dfd565b600454600354610e5a9190613dfd565b610e649190613e60565b90506000610e756127106064613dfd565b6040516302a64b8360e21b81523060048201526001600160a01b03851690630a992e0c90602401602060405180830381865afa158015610eb9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610edd9190613e47565b600354610eea9190613dfd565b610ef49190613e60565b90508082600354610f059190613e82565b610f0f9190613e82565b935050505090565b60146020528160005260406000208181548110610f3357600080fd5b6000918252602090912001546001600160a01b03169150829050565b60008281526001602081905260409091200154610f6b81612bdc565b610f758383612be6565b505050565b610f82612811565b60038190556040518181527f5bcc2c453001fb0e2ba6266d56ecb411e7c6e15c8f9c3d301f93dd36ad25726f90602001610987565b610fbf612c6d565b33600081815260136020526040812060075490916001600160a01b0390911690610fec6127106064613dfd565b600454600354610ffc9190613dfd565b6110069190613e60565b905060006110176127106064613dfd565b6040516302a64b8360e21b81523060048201526001600160a01b03851690630a992e0c90602401602060405180830381865afa15801561105b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061107f9190613e47565b60035461108c9190613dfd565b6110969190613e60565b6001600160a01b038087166000908152601360209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff16151591018190529091506113ab5760028401805460ff191660019081179091556003549085015560408051808201909152600b81527f67617264656e546f6b656e0000000000000000000000000000000000000000006020820152600c5461114691906001600160a01b0316612cc6565b6111788530838560035461115a9190613e82565b6111649190613e82565b600c546001600160a01b0316929190612d24565b6111b76040518060400160405280601281526020017f636f6d6d756e697479466565416d6f756e74000000000000000000000000000081525083612da8565b81156112245760408051808201909152600b81527f6665655265636569766572000000000000000000000000000000000000000000602082015260065461120791906001600160a01b0316612cc6565b600654600c54611224916001600160a01b03918216911684612e06565b6112636040518060400160405280601081526020017f67617264656e73466565416d6f756e740000000000000000000000000000000081525082612da8565b8015611364576112ec6040518060600160405280602681526020016145fa60269139846001600160a01b031663987435be6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112c3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112e79190613e95565b612cc6565b611364836001600160a01b031663987435be6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561132d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113519190613e95565b600c546001600160a01b03169083612e06565b600354604080516001600160a01b038816815260208101929092527f67e0244e28040fec15240cd4b6c04c776a2a0278caef23b59e8ada1df31f7689910160405180910390a15b50505050506113ba6001600055565b565b6001600160a01b038116331461143f5760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201527f20726f6c657320666f722073656c66000000000000000000000000000000000060648201526084015b60405180910390fd5b6114498282612e36565b5050565b611455612811565b61145e8161292e565b600a80546001600160a01b0319166001600160a01b03838116918217909255600d546040805191909316815260208101919091527f83eac9fdaff0ac1017624b7eddeb9782e3d707cd894073cb7e8301a41c6e5cf89101610987565b6114c2612c6d565b6114ca612eb9565b3360008181526014602090815260408083208054825181850281018501909352808352919290919083018282801561152b57602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831161150d575b50505050509050600080600090505b82518110156116fb5782818151811061155557611555613eb2565b602090810291909101015160405163782aadff60e01b81526001600160a01b038681166004830152602482018890529091169063782aadff906044016020604051808303816000875af11580156115b0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115d49190613e47565b915081156116e9576001600160a01b0384166000908152601260205260408120845184929086908590811061160b5761160b613eb2565b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060008282546116429190613e82565b925050819055506116e96040518060400160405280600e81526020017f537472617465677920706f77657200000000000000000000000000000000000081525060126000876001600160a01b03166001600160a01b0316815260200190815260200160002060008685815181106116bb576116bb613eb2565b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002054612da8565b806116f381613ec8565b91505061153a565b50600c54611714906001600160a01b0316843087612d24565b6001600160a01b0383166000908152601360205260408120600101805486929061173f908490613e82565b9091555050604080516001600160a01b0385168152602081018690527f576605f9bfe8911e7508bed3763c7c5c8eb3b86e8b360b90a4bc6abe1104cb7f91015b60405180910390a1505050610d0a6001600055565b61179c612c6d565b6117a4612eb9565b336000818152601460209081526040808320600354601390935290832060010154909291906117d4908690613ee1565b101561180c576040517f9c47d02e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600c54611823906001600160a01b03168486612e06565b60005b8254811015611ade57600083828154811061184357611843613eb2565b6000918252602090912001546001600160a01b0316905061186b8163f1801e6160e01b612f18565b15611a12576040517f2ed04b2b0000000000000000000000000000000000000000000000000000000081526001600160a01b03868116600483015260248201889052821690632ed04b2b906044016020604051808303816000875af11580156118d8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118fc9190613e47565b9250600060126000876001600160a01b03166001600160a01b03168152602001908152602001600020600086858154811061193957611939613eb2565b60009182526020808320909101546001600160a01b031683528201929092526040019020549050808411156119a4576040517f8a11f3180000000000000000000000000000000000000000000000000000000081526004810185905260248101829052604401611436565b6001600160a01b038616600090815260126020526040812086548692908890879081106119d3576119d3613eb2565b60009182526020808320909101546001600160a01b0316835282019290925260400181208054909190611a07908490613ee1565b909155505050611acb565b83548490611a2290600190613ee1565b81548110611a3257611a32613eb2565b9060005260206000200160009054906101000a90046001600160a01b0316848381548110611a6257611a62613eb2565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555083805480611aa057611aa0613ef4565b600082815260209020810160001990810180546001600160a01b0319169055019055611acb8161296e565b5080611ad681613ec8565b915050611826565b506001600160a01b03831660009081526013602052604081206001018054869290611b0a908490613ee1565b9091555050604080516001600160a01b0385168152602081018690527f6ee2c70b2d6b89ae808a2313aab43e925c06624271419cd665d85cfa1ae04ff8910161177f565b611b56612c6d565b611b5e612811565b60025460ff16611b9a576040517fcb63dc7200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038083166000908152601360209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff1615159101819052611bfd57604051636a5cfb6d60e01b815260040160405180910390fd5b6001600160a01b038083166000908152601360209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff16151590820152611c4b83612f3b565b6001600160a01b03838116600090815260136020908152604080832080546001600160a01b031916815560018101939093556002909201805460ff19169055600c5490840151915163a9059cbb60e01b8152858416600482015260248101929092529091169063a9059cbb906044016020604051808303816000875af1158015611cd9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cfd9190613f0a565b50602080820151604080516001600160a01b0380881682528616938101939093528201527fb5946f249f8744efe9d14d49a483b54a589b1362944ff6694de93456cceb96a39060600160405180910390a1506114496001600055565b611d61612811565b600e5460405163068bcd8d60e01b8152600481018390526000916001600160a01b03169063068bcd8d90602401600060405180830381865afa158015611dab573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611dd39190810190613f27565b602001519050611de28161292e565b6114498161296e565b611df3612811565b600e5460405163068bcd8d60e01b8152600481018390526000916001600160a01b03169063068bcd8d90602401600060405180830381865afa158015611e3d573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611e659190810190613f27565b602001519050611e748161292e565b611e8e6001600160a01b03821663f1801e6160e01b612f18565b1561144957611449816129c8565b611ea9816020015161292e565b611eb781610100015161292e565b8051611ec29061292e565b611ecf8160a0015161292e565b611edd81610180015161292e565b606081015115611ef457611ef48160c0015161292e565b8051600e80546001600160a01b039283166001600160a01b0319918216179091556020830151600c80549190931691161790556040810151600003611f65576040517fc70d18aa00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604081015160035560608101516004556101408101516002805460ff1916911515919091179055610120810151600f90611f9f90826140d1565b50610160810151601090611fb390826140d1565b5060a0810151600780546001600160a01b03199081166001600160a01b039384161790915560c0830151600680548316918416919091179055610100830151600d8054831682851617905561018084015160088054909316931692909217905561203e907fbc6bbe35ebc64943402c04d2ae016d7bd2bba28e1a11cf66be743c9bd74c720b90612be6565b600e60009054906101000a90046001600160a01b03166001600160a01b0316635ab1bd536040518163ffffffff1660e01b8152600401602060405180830381865afa158015612091573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120b59190613e95565b600b80546001600160a01b0319166001600160a01b03928316179055600d54604080517fa0e67e2b0000000000000000000000000000000000000000000000000000000081529051600093929092169163a0e67e2b9160048082019286929091908290030181865afa15801561212f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526121579190810190614191565b90506000815160026121699190613e82565b67ffffffffffffffff8111156121815761218161388c565b6040519080825280602002602001820160405280156121aa578160200160208202803683370190505b50905060005b825181101561220f578281815181106121cb576121cb613eb2565b60200260200101518282815181106121e5576121e5613eb2565b6001600160a01b03909216602092830291909101909101528061220781613ec8565b9150506121b0565b50600d5481516001600160a01b0390911690829061222f90600190613ee1565b8151811061223f5761223f613eb2565b60200260200101906001600160a01b031690816001600160a01b03168152505030816002835161226f9190613ee1565b8151811061227f5761227f613eb2565b6001600160a01b039283166020918202929092010152600b54608085015160e08601516040517f3a92f65f0000000000000000000000000000000000000000000000000000000081529290931692633a92f65f926122e79291600f9130908890600401614323565b6020604051808303816000875af1158015612306573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061232a9190613e47565b60055580516123409060169060208401906136e9565b507f2f2ffcb06f8a1d35e2716f6b43ef2c19bfa76467d8f66964ae12c2583ed03205600554600f8560e0015160405161237b93929190614371565b60405180910390a1505050565b60085460098054600092839283926123b7926001600160a01b031691846123ae83613ec8565b9190505561305d565b90506123c581878787612692565b9250925050935093915050565b600a546001600160a01b03163314612416576040517febcd0d6e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6113ba6130b1565b6010805461242b90614049565b80601f016020809104026020016040519081016040528092919081815260200182805461245790614049565b80156124a45780601f10612479576101008083540402835291602001916124a4565b820191906000526020600020905b81548152906001019060200180831161248757829003601f168201915b505050505081565b6124b4612c6d565b336124be81612879565b6124c781612f3b565b6001600160a01b0380821660008181526013602090815260408083208151606081018352815496871681526001820180548286015260028301805460ff81161515848701529787526001600160a01b03199098169092559084905560ff1990941690945560149052918220909161253e919061374e565b600c54602082015160405163a9059cbb60e01b81526001600160a01b038581166004830152602482019290925291169063a9059cbb906044016020604051808303816000875af1158015612596573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125ba9190613f0a565b50602080820151604080516001600160a01b0386168152928301919091527fa13f4668aacb68c4e9eed8e3f6e1cbec3eca776896ec46b5eabcc3983fc8f5f4910160405180910390a150506113ba6001600055565b61261c612710600a613dfd565b81565b600f805461242b90614049565b6000828152600160208190526040909120015461264881612bdc565b610f758383612e36565b6001600160a01b03811660009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604081205460ff16610902565b60008073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6001600160a01b038616156126bc5750845b8691506000601680548060200260200160405190810160405280929190818152602001828054801561271757602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116126f9575b5050600e546005546040519596506001600160a01b039091169463e1007d4a945090925087915061274c908b906020016143ba565b6040516020818303038152906040528660008b886040518863ffffffff1660e01b81526004016127829796959493929190614452565b6020604051808303816000875af11580156127a1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127c59190613e47565b93507f778cac0ae0b66477341553a4a89398c61ccf448313d3354ad0ca85a5a825d2838484308a896040516127fe9594939291906144be565b60405180910390a1505094509492505050565b3360009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604090205460ff166113ba576040517ff62651fa00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038082166000908152601360209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff1615159101819052610d0a57604051636a5cfb6d60e01b815260040160405180910390fd5b6001600160a01b03811660009081526011602052604090205460ff16610d0a576040517f46c26e4b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038116610d0a576040517fe622e04000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6129778161292e565b6001600160a01b038116600081815260116020908152604091829020805460ff1916905590519182527f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea49101610987565b6001600160a01b03811660009081526011602052604090205460ff1615612a1b576040517f968a4d2c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038116600081815260116020908152604091829020805460ff1916600117905590519182527f3f008fd510eae7a9e7bee13513d7b83bef8003d488b5a3d0b0da4de71d6846f19101610987565b806001600160a01b0316826001600160a01b031614611449576040517fbbe7961100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0382166000908152601460205260408120905b8154811015612bd657826001600160a01b0316828281548110612af957612af9613eb2565b6000918252602090912001546001600160a01b031603612bc45781548290612b2390600190613ee1565b81548110612b3357612b33613eb2565b9060005260206000200160009054906101000a90046001600160a01b0316828281548110612b6357612b63613eb2565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555081805480612ba157612ba1613ef4565b600082815260209020810160001990810180546001600160a01b03191690550190555b80612bce81613ec8565b915050612ad4565b50505050565b610d0a813361310c565b60008281526001602090815260408083206001600160a01b038516845290915290205460ff166114495760008281526001602081815260408084206001600160a01b0386168086529252808420805460ff19169093179092559051339285917f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d9190a45050565b600260005403612cbf5760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401611436565b6002600055565b6114498282604051602401612cdc9291906144f8565b60408051601f198184030181529190526020810180516001600160e01b03167f319af33300000000000000000000000000000000000000000000000000000000179052613181565b6040516001600160a01b0380851660248301528316604482015260648101829052612bd69085907f23b872dd00000000000000000000000000000000000000000000000000000000906084015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091526131a2565b6114498282604051602401612dbe929190614523565b60408051601f198184030181529190526020810180516001600160e01b03167f9710a9d000000000000000000000000000000000000000000000000000000000179052613181565b6040516001600160a01b038316602482015260448101829052610f7590849063a9059cbb60e01b90606401612d71565b60008281526001602090815260408083206001600160a01b038516845290915290205460ff16156114495760008281526001602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b33600090815260136020908152604091829020825160608101845281546001600160a01b031681526001820154928101929092526002015460ff16151591018190526113ba57604051636a5cfb6d60e01b815260040160405180910390fd5b6000612f238361328a565b8015612f345750612f3483836132bd565b9392505050565b6001600160a01b038116600090815260146020908152604080832080548251818502810185019093528083529192909190830182828015612fa557602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311612f87575b5050505050905060005b8151811015610f7557818181518110612fca57612fca613eb2565b60209081029190910101516040517f6453d9c40000000000000000000000000000000000000000000000000000000081526001600160a01b03858116600483015290911690636453d9c490602401600060405180830381600087803b15801561303257600080fd5b505af1158015613046573d6000803e3d6000fd5b50505050808061305590613ec8565b915050612faf565b6040516bffffffffffffffffffffffff193360601b1660208201526034810182905260009081906054016040516020818303038152906040528051906020012090506130a98482613346565b949350505050565b600a8054600d80546001600160a01b0383166001600160a01b031991821617909155169055604051600081527fad0399dc40331b9a4977aa89da7a164a3fd482c65e6da73b25a94ea74fb688729060200160405180910390a1565b60008281526001602090815260408083206001600160a01b038516845290915290205460ff166114495761313f816133e3565b61314a8360206133f5565b60405160200161315b929190614545565b60408051601f198184030181529082905262461bcd60e51b825261143691600401613d5e565b80516a636f6e736f6c652e6c6f67602083016000808483855afa5050505050565b60006131f7826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166135d69092919063ffffffff16565b90508051600014806132185750808060200190518101906132189190613f0a565b610f755760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152608401611436565b600061329d826301ffc9a760e01b6132bd565b801561090257506132b6826001600160e01b03196132bd565b1592915050565b604080516001600160e01b03198316602480830191909152825180830390910181526044909101909152602080820180516001600160e01b03166301ffc9a760e01b178152825160009392849283928392918391908a617530fa92503d9150600051905082801561332f575060208210155b801561333b5750600081115b979650505050505050565b6000763d602d80600a3d3981f3363d3d373d3d3d363d730000008360601b60e81c176000526e5af43d82803e903d91602b57fd5bf38360781b1760205281603760096000f590506001600160a01b0381166109025760405162461bcd60e51b815260206004820152601760248201527f455243313136373a2063726561746532206661696c65640000000000000000006044820152606401611436565b60606109026001600160a01b03831660145b60606000613404836002613dfd565b61340f906002613e82565b67ffffffffffffffff8111156134275761342761388c565b6040519080825280601f01601f191660200182016040528015613451576020820181803683370190505b5090507f30000000000000000000000000000000000000000000000000000000000000008160008151811061348857613488613eb2565b60200101906001600160f81b031916908160001a9053507f7800000000000000000000000000000000000000000000000000000000000000816001815181106134d3576134d3613eb2565b60200101906001600160f81b031916908160001a90535060006134f7846002613dfd565b613502906001613e82565b90505b6001811115613587577f303132333435363738396162636465660000000000000000000000000000000085600f166010811061354357613543613eb2565b1a60f81b82828151811061355957613559613eb2565b60200101906001600160f81b031916908160001a90535060049490941c93613580816145c6565b9050613505565b508315612f345760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401611436565b60606130a9848460008585600080866001600160a01b031685876040516135fd91906145dd565b60006040518083038185875af1925050503d806000811461363a576040519150601f19603f3d011682016040523d82523d6000602084013e61363f565b606091505b509150915061333b87838387606083156136ba5782516000036136b3576001600160a01b0385163b6136b35760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401611436565b50816130a9565b6130a983838151156136cf5781518083602001fd5b8060405162461bcd60e51b81526004016114369190613d5e565b82805482825590600052602060002090810192821561373e579160200282015b8281111561373e57825182546001600160a01b0319166001600160a01b03909116178255602090920191600190910190613709565b5061374a929150613768565b5090565b5080546000825590600052602060002090810190610d0a91905b5b8082111561374a5760008155600101613769565b60006020828403121561378f57600080fd5b81356001600160e01b031981168114612f3457600080fd5b6000602082840312156137b957600080fd5b5035919050565b6001600160a01b0381168114610d0a57600080fd5b80356137e0816137c0565b919050565b600080604083850312156137f857600080fd5b8235613803816137c0565b91506020830135613813816137c0565b809150509250929050565b60006020828403121561383057600080fd5b8135612f34816137c0565b6000806040838503121561384e57600080fd5b8235613859816137c0565b946020939093013593505050565b6000806040838503121561387a57600080fd5b823591506020830135613813816137c0565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff811182821017156138c5576138c561388c565b60405290565b6040516101a0810167ffffffffffffffff811182821017156138c5576138c561388c565b604051610120810167ffffffffffffffff811182821017156138c5576138c561388c565b60405160c0810167ffffffffffffffff811182821017156138c5576138c561388c565b604051601f8201601f1916810167ffffffffffffffff8111828210171561395f5761395f61388c565b604052919050565b600067ffffffffffffffff8211156139815761398161388c565b50601f01601f191660200190565b600082601f8301126139a057600080fd5b81356139b36139ae82613967565b613936565b8181528460208386010111156139c857600080fd5b816020850160208301376000918101602001919091529392505050565b6000604082840312156139f757600080fd5b6139ff6138a2565b905081358152602082013567ffffffffffffffff811115613a1f57600080fd5b613a2b8482850161398f565b60208301525092915050565b8015158114610d0a57600080fd5b80356137e081613a37565b600060208284031215613a6257600080fd5b813567ffffffffffffffff80821115613a7a57600080fd5b908301906101a08286031215613a8f57600080fd5b613a976138cb565b613aa0836137d5565b8152613aae602084016137d5565b6020820152604083013560408201526060830135606082015260808301356080820152613add60a084016137d5565b60a0820152613aee60c084016137d5565b60c082015260e083013582811115613b0557600080fd5b613b11878286016139e5565b60e083015250610100613b258185016137d5565b908201526101208381013583811115613b3d57600080fd5b613b498882870161398f565b828401525050610140613b5d818501613a45565b908201526101608381013583811115613b7557600080fd5b613b818882870161398f565b8284015250506101809150613b978284016137d5565b91810191909152949350505050565b8035600381106137e057600080fd5b60048110610d0a57600080fd5b80356137e081613bb5565b600060208284031215613bdf57600080fd5b6040516020810181811067ffffffffffffffff82111715613c0257613c0261388c565b6040529135825250919050565b60006101208284031215613c2257600080fd5b613c2a6138ef565b9050613c35826137d5565b815260208201356020820152604082013560408201526060820135606082015260808201356080820152613c6b60a08301613ba6565b60a0820152613c7c60c08301613bc2565b60c0820152613c8e8360e08401613bcd565b60e0820152610100613ca18184016137d5565b9082015292915050565b60008060006101608486031215613cc157600080fd5b8335613ccc816137c0565b9250613cdb8560208601613c0f565b915061014084013567ffffffffffffffff811115613cf857600080fd5b613d04868287016139e5565b9150509250925092565b60005b83811015613d29578181015183820152602001613d11565b50506000910152565b60008151808452613d4a816020860160208601613d0e565b601f01601f19169290920160200192915050565b602081526000612f346020830184613d32565b6000806000806101808587031215613d8857600080fd5b8435613d93816137c0565b93506020850135613da3816137c0565b9250613db28660408701613c0f565b915061016085013567ffffffffffffffff811115613dcf57600080fd5b613ddb878288016139e5565b91505092959194509250565b634e487b7160e01b600052601160045260246000fd5b808202811582820484141761090257610902613de7565b634e487b7160e01b600052602160045260246000fd5b600060208284031215613e3c57600080fd5b8151612f3481613bb5565b600060208284031215613e5957600080fd5b5051919050565b600082613e7d57634e487b7160e01b600052601260045260246000fd5b500490565b8082018082111561090257610902613de7565b600060208284031215613ea757600080fd5b8151612f34816137c0565b634e487b7160e01b600052603260045260246000fd5b600060018201613eda57613eda613de7565b5060010190565b8181038181111561090257610902613de7565b634e487b7160e01b600052603160045260246000fd5b600060208284031215613f1c57600080fd5b8151612f3481613a37565b60006020808385031215613f3a57600080fd5b825167ffffffffffffffff80821115613f5257600080fd5b9084019060c08287031215613f6657600080fd5b613f6e613913565b8251815283830151613f7f816137c0565b818501526040830151613f91816137c0565b6040820152606083015182811115613fa857600080fd5b830160408189031215613fba57600080fd5b613fc26138a2565b815181528582015184811115613fd757600080fd5b82019350601f84018913613fea57600080fd5b83519150613ffa6139ae83613967565b828152898784870101111561400e57600080fd5b61401d83888301898801613d0e565b95810195909552506060810193909352506080818101519083015260a090810151908201529392505050565b600181811c9082168061405d57607f821691505b60208210810361407d57634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115610f7557600081815260208120601f850160051c810160208610156140aa5750805b601f850160051c820191505b818110156140c9578281556001016140b6565b505050505050565b815167ffffffffffffffff8111156140eb576140eb61388c565b6140ff816140f98454614049565b84614083565b602080601f831160018114614134576000841561411c5750858301515b600019600386901b1c1916600185901b1785556140c9565b600085815260208120601f198616915b8281101561416357888601518255948401946001909101908401614144565b50858210156141815787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b600060208083850312156141a457600080fd5b825167ffffffffffffffff808211156141bc57600080fd5b818501915085601f8301126141d057600080fd5b8151818111156141e2576141e261388c565b8060051b91506141f3848301613936565b818152918301840191848101908884111561420d57600080fd5b938501935b838510156142375784519250614227836137c0565b8282529385019390850190614212565b98975050505050505050565b6000815461425081614049565b80855260206001838116801561426d5760018114614287576142b5565b60ff1985168884015283151560051b8801830195506142b5565b866000528260002060005b858110156142ad5781548a8201860152908301908401614292565b890184019650505b505050505092915050565b8051825260006020820151604060208501526130a96040850182613d32565b600081518084526020808501945080840160005b838110156143185781516001600160a01b0316875295820195908201906001016142f3565b509495945050505050565b85815260a06020820152600061433c60a0830187614243565b828103604084015261434e81876142c0565b90506001600160a01b0385166060840152828103608084015261423781856142df565b83815260606020820152600061438a6060830185614243565b828103604084015261439c81856142c0565b9695505050505050565b600481106143b6576143b6613e14565b9052565b6000610120820190506001600160a01b0383511682526020830151602083015260408301516040830152606083015160608301526080830151608083015260a08301516003811061440d5761440d613e14565b8060a08401525060c083015161442660c08401826143a6565b5060e083015161443960e0840182519052565b50610100928301516001600160a01b0316919092015290565b87815260006001600160a01b03808916602084015260e0604084015261447b60e0840189613d32565b818816606085015286608085015283810360a085015261449b81876142c0565b91505082810360c08401526144b081856142df565b9a9950505050505050505050565b85815260006001600160a01b038087166020840152808616604084015280851660608401525060a0608083015261333b60a08301846142c0565b60408152600061450b6040830185613d32565b90506001600160a01b03831660208301529392505050565b6040815260006145366040830185613d32565b90508260208301529392505050565b7f416363657373436f6e74726f6c3a206163636f756e742000000000000000000081526000835161457d816017850160208801613d0e565b7f206973206d697373696e6720726f6c652000000000000000000000000000000060179184019182015283516145ba816028840160208801613d0e565b01602801949350505050565b6000816145d5576145d5613de7565b506000190190565b600082516145ef818460208701613d0e565b919091019291505056fe67617264656e73466163746f72792e67657447617264656e7346656552656365697665722829a264697066735822122084e2c8b555b2ef161e2f709baddfca3402faa4482a0277b2a995b1521474725664736f6c63430008130033a26469706673582212206d6b1586b2d00db62328a0d0ee20c734456072023251431bc7c251b1741fd8bb64736f6c63430008130033", - "sourceMap": "202:2981:135:-:0;;;267:1;244:24;;202:2981;;;;;;;;;-1:-1:-1;936:32:60;719:10:81;936:18:60;:32::i;:::-;202:2981:135;;2426:187:60;2499:16;2518:6;;-1:-1:-1;;;;;2534:17:60;;;-1:-1:-1;;;;;;2534:17:60;;;;;;2566:40;;2518:6;;;;;;;2566:40;;2499:16;2566:40;2489:124;2426:187;:::o;202:2981:135:-;;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x608060405234801561001057600080fd5b50600436106100d45760003560e01c8063987435be11610081578063b8bed9011161005b578063b8bed90114610198578063f2fde38b146101ab578063f5016b5e146101be57600080fd5b8063987435be1461016b578063affed0e01461017c578063b5b3ca2c1461018557600080fd5b80638279c7db116100b25780638279c7db1461011c5780638a16135f1461012f5780638da5cb5b1461015a57600080fd5b80630a992e0c146100d95780635a2c8ace146100ff578063715018a614610114575b600080fd5b6100ec6100e73660046106a3565b6101fa565b6040519081526020015b60405180910390f35b61011261010d3660046106d7565b61027b565b005b6101126102e7565b61011261012a3660046106a3565b6102fb565b61014261013d366004610848565b61036d565b6040516001600160a01b0390911681526020016100f6565b6000546001600160a01b0316610142565b6003546001600160a01b0316610142565b6100ec60015481565b61011261019336600461099e565b61048e565b600354610142906001600160a01b031681565b6101126101b93660046106a3565b6104ea565b6101ea6101cc3660046106a3565b6001600160a01b031660009081526002602052604090205460ff1690565b60405190151581526020016100f6565b6001600160a01b03811660009081526002602052604081205460ff1661025c576040517ff5a6943d0000000000000000000000000000000000000000000000000000000081526001600160a01b03831660048201526024015b60405180910390fd5b506001600160a01b031660009081526002602052604090206001015490565b61028361057a565b6001600160a01b038216600081815260026020908152604091829020805460ff19168515159081179091558251938452908301527fecdcd3502799a6c41864ea2682236184e876f63e10f8d56c7768a3d501e89f6291015b60405180910390a15050565b6102ef61057a565b6102f960006105d4565b565b61030361057a565b61030c81610631565b6003805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0383169081179091556040519081527fbdf37c276f641820b141429d245add2552b4118c0866e5a78638e3de5ef18d9d9060200160405180910390a150565b60008060405161037c90610671565b604051809103906000f080158015610398573d6000803e3d6000fd5b506001805491925060006103ab836109ca565b9091555060808401523060a08401526040517f96f0adec0000000000000000000000000000000000000000000000000000000081526001600160a01b038216906396f0adec906103ff908690600401610a5e565b600060405180830381600087803b15801561041957600080fd5b505af115801561042d573d6000803e3d6000fd5b505050506001600160a01b038116600081815260026020908152604091829020805460ff1916600117905590519182527fb4108a188495a1a681cdc0750af164011025a1773b41e93ff3e628adc037dc29910160405180910390a192915050565b61049661057a565b6001600160a01b038216600081815260026020908152604091829020600101849055815192835282018390527fa1ee82e4f177a8017f33ddddac05b7ceab1de9d46f7195e15e8aa2e8b88f3b1c91016102db565b6104f261057a565b6001600160a01b03811661056e5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610253565b610577816105d4565b50565b6000546001600160a01b031633146102f95760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610253565b600080546001600160a01b0383811673ffffffffffffffffffffffffffffffffffffffff19831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b038116610577576040517fe622e04000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6146fe80610b9e83390190565b6001600160a01b038116811461057757600080fd5b803561069e8161067e565b919050565b6000602082840312156106b557600080fd5b81356106c08161067e565b9392505050565b8035801515811461069e57600080fd5b600080604083850312156106ea57600080fd5b82356106f58161067e565b9150610703602084016106c7565b90509250929050565b634e487b7160e01b600052604160045260246000fd5b6040516101a0810167ffffffffffffffff811182821017156107465761074661070c565b60405290565b600082601f83011261075d57600080fd5b813567ffffffffffffffff808211156107785761077861070c565b604051601f8301601f19908116603f011681019082821181831017156107a0576107a061070c565b816040528381528660208588010111156107b957600080fd5b836020870160208301376000602085830101528094505050505092915050565b6000604082840312156107eb57600080fd5b6040516040810167ffffffffffffffff828210818311171561080f5761080f61070c565b8160405282935084358352602085013591508082111561082e57600080fd5b5061083b8582860161074c565b6020830152505092915050565b60006020828403121561085a57600080fd5b813567ffffffffffffffff8082111561087257600080fd5b908301906101a0828603121561088757600080fd5b61088f610722565b61089883610693565b81526108a660208401610693565b60208201526040830135604082015260608301356060820152608083013560808201526108d560a08401610693565b60a08201526108e660c08401610693565b60c082015260e0830135828111156108fd57600080fd5b610909878286016107d9565b60e08301525061010061091d818501610693565b90820152610120838101358381111561093557600080fd5b6109418882870161074c565b8284015250506101406109558185016106c7565b90820152610160838101358381111561096d57600080fd5b6109798882870161074c565b828401525050610180915061098f828401610693565b91810191909152949350505050565b600080604083850312156109b157600080fd5b82356109bc8161067e565b946020939093013593505050565b6000600182016109ea57634e487b7160e01b600052601160045260246000fd5b5060010190565b6000815180845260005b81811015610a17576020818501810151868301820152016109fb565b506000602082860101526020601f19601f83011685010191505092915050565b805182526000602082015160406020850152610a5660408501826109f1565b949350505050565b60208152610a786020820183516001600160a01b03169052565b60006020830151610a9460408401826001600160a01b03169052565b506040830151606083015260608301516080830152608083015160a083015260a0830151610acd60c08401826001600160a01b03169052565b5060c08301516001600160a01b03811660e08401525060e08301516101a06101008181860152610b016101c0860184610a37565b90860151909250610120610b1f868201836001600160a01b03169052565b80870151915050601f19610140818786030181880152610b3f85846109f1565b945080880151925050610160610b588188018415159052565b80880151925050610180818786030181880152610b7585846109f1565b94508088015192505050610b93828601826001600160a01b03169052565b509094935050505056fe60806040523480156200001157600080fd5b506001600090815562000046907fbc6bbe35ebc64943402c04d2ae016d7bd2bba28e1a11cf66be743c9bd74c720b906200004c565b62000099565b6000828152600160208190526040808320909101805490849055905190918391839186917fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff9190a4505050565b61465580620000a96000396000f3fe608060405234801561001057600080fd5b506004361061036d5760003560e01c80636c53db9a116101d3578063a230c52411610104578063d547741f116100a2578063db61d65c1161007c578063db61d65c1461086c578063ebd7dc521461087f578063f86c5f8914610892578063ff6409ef146108a557600080fd5b8063d547741f1461083d578063d6d8428d14610850578063d7050f071461086357600080fd5b8063b64e39af116100de578063b64e39af14610810578063b99b437014610825578063bc063e1a1461082d578063c6d572ae1461083557600080fd5b8063a230c5241461079e578063b3f00674146107f5578063b5058c501461080857600080fd5b80638961be6b1161017157806397991cfa1161014b57806397991cfa14610724578063a0b21cdf14610754578063a0cf0aea1461077b578063a217fddf1461079657600080fd5b80638961be6b146106cf57806391d14854146106d857806396f0adec1461071157600080fd5b806378a0b8a9116101ad57806378a0b8a91461063d5780637b1039991461064657806382d6a1e71461065957806388cfe6841461066c57600080fd5b80636c53db9a146105de57806373265c37146105f15780637817ee4f1461060457600080fd5b80632f2ff15d116102ad578063477a5cc01161024b5780635ecf71c5116102255780635ecf71c51461057a57806365e3864c1461058d5780636871eb4d146105b857806368decabb146105cb57600080fd5b8063477a5cc014610526578063559de05d146105545780635c94e4d21461056757600080fd5b80633517aa7d116102875780633517aa7d146104d557806336568abe146104dd578063397e2543146104f05780633a871fe11461050357600080fd5b80632f2ff15d146104a657806331f61bca146104b957806333960459146104cc57600080fd5b80631f787d281161031a578063248a9ca3116102f4578063248a9ca31461042357806328c309e9146104475780632b38c69c1461044f5780632c611c4a1461047a57600080fd5b80631f787d28146103f0578063223e5479146103fd57806322bcf9991461041057600080fd5b80630d12bbdb1161034b5780630d12bbdb146103b55780630d4a8b49146103ca578063175188e8146103dd57600080fd5b806301ffc9a7146103725780630331383c1461039a57806308386eba146103ac575b600080fd5b61038561038036600461377d565b6108b8565b60405190151581526020015b60405180910390f35b6003545b604051908152602001610391565b61039e60055481565b6103c86103c33660046137a7565b610908565b005b6103c86103d83660046137e5565b610992565b6103c86103eb36600461381e565b610cf9565b6002546103859060ff1681565b6103c861040b36600461381e565b610d0d565b6103c861041e3660046137e5565b610d1e565b61039e6104313660046137a7565b6000908152600160208190526040909120015490565b61039e610e2d565b61046261045d36600461383b565b610f17565b6040516001600160a01b039091168152602001610391565b61039e61048836600461381e565b6001600160a01b031660009081526013602052604090206001015490565b6103c86104b4366004613867565b610f4f565b6103c86104c73660046137a7565b610f7a565b61039e60095481565b6103c8610fb7565b6103c86104eb366004613867565b6113bc565b6103c86104fe36600461381e565b61144d565b61038561051136600461381e565b60116020526000908152604090205460ff1681565b6103856105343660046137e5565b601560209081526000928352604080842090915290825290205460ff1681565b6103c86105623660046137a7565b6114ba565b600854610462906001600160a01b031681565b6103c86105883660046137a7565b611794565b61039e61059b3660046137e5565b601260209081526000928352604080842090915290825290205481565b6103c86105c63660046137e5565b611b4e565b600a54610462906001600160a01b031681565b600d54610462906001600160a01b031681565b6103c86105ff3660046137a7565b611d59565b61039e6106123660046137e5565b6001600160a01b03918216600090815260126020908152604080832093909416825291909152205490565b61039e60035481565b600b54610462906001600160a01b031681565b6103c86106673660046137a7565b611deb565b6106a861067a36600461381e565b6013602052600090815260409020805460018201546002909201546001600160a01b03909116919060ff1683565b604080516001600160a01b0390941684526020840192909252151590820152606001610391565b61039e60045481565b6103856106e6366004613867565b60009182526001602090815260408084206001600160a01b0393909316845291905290205460ff1690565b6103c861071f366004613a50565b611e9c565b610737610732366004613cab565b612388565b604080519283526001600160a01b03909116602083015201610391565b61039e7fbc6bbe35ebc64943402c04d2ae016d7bd2bba28e1a11cf66be743c9bd74c720b81565b61046273eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b61039e600081565b6103856107ac36600461381e565b6001600160a01b039081166000908152601360209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff161515910181905290565b600654610462906001600160a01b031681565b6103c86123d2565b61081861241e565b6040516103919190613d5e565b6103c86124ac565b61039e61260f565b61081861261f565b6103c861084b366004613867565b61262c565b600e54610462906001600160a01b031681565b61039e61271081565b600c54610462906001600160a01b031681565b61038561088d36600461381e565b612652565b600754610462906001600160a01b031681565b6107376108b3366004613d71565b612692565b60006001600160e01b031982167f7965db0b00000000000000000000000000000000000000000000000000000000148061090257506301ffc9a760e01b6001600160e01b03198316145b92915050565b610910612811565b61091d612710600a613dfd565b811115610956576040517ffe925f7d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60048190556040518181527f611668bfcf654a99c33cdb66c29ec37a5aae5c1287d2d9715a24e18cb4d806d6906020015b60405180910390a150565b61099b82612879565b6109a4816128dc565b6109ad8161292e565b6001600160a01b0380831660009081526015602090815260408083209385168352929052205460ff1615610a0d576040517fd5b9bc9600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0380831660009081526013602090815260409182902082516060810184528154909416845260018101549184018290526002015460ff161515918301919091526003805490846001600160a01b031663c32921716040518163ffffffff1660e01b81526004016020604051808303816000875af1158015610a99573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610abd9190613e2a565b6003811115610ace57610ace613e14565b03610b4d5760405163782aadff60e01b81526001600160a01b0386811660048301526000602483015285169063782aadff906044016020604051808303816000875af1158015610b22573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b469190613e47565b9050610c3f565b6000846001600160a01b031663c32921716040518163ffffffff1660e01b81526004016020604051808303816000875af1158015610b8f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bb39190613e2a565b6003811115610bc457610bc4613e14565b14610c3f5760405163782aadff60e01b81526001600160a01b0386811660048301526024820184905285169063782aadff906044016020604051808303816000875af1158015610c18573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c3c9190613e47565b90505b6001600160a01b038581166000818152601260209081526040808320948916808452948252808320869055838352601582528083208584528252808320805460ff19166001908117909155848452601483528184208054918201815584529282902090920180546001600160a01b0319168517905581519283528201929092529081018290527ff56fa57e85e169a12200d12d9921ec069b52e688f6d309d9dab7bceff54614ec9060600160405180910390a15050505050565b610d01612811565b610d0a8161296e565b50565b610d15612811565b610d0a816129c8565b610d2782612879565b610d308161292e565b610d3a3382612a6f565b6001600160a01b0380831660009081526015602090815260408083209385168352929052205460ff16610d99576040517fc12369dc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038083166000818152601560209081526040808320948616808452948252808320805460ff191690559282526012815282822093825292909252812055610de78282612aba565b604080516001600160a01b038085168252831660208201527ede109bef4619f7e2cf00c8e5a50ca55f8deb44f87087eed414a91dbf8d1d1b910160405180910390a15050565b6007546000906001600160a01b031681610e4a6127106064613dfd565b600454600354610e5a9190613dfd565b610e649190613e60565b90506000610e756127106064613dfd565b6040516302a64b8360e21b81523060048201526001600160a01b03851690630a992e0c90602401602060405180830381865afa158015610eb9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610edd9190613e47565b600354610eea9190613dfd565b610ef49190613e60565b90508082600354610f059190613e82565b610f0f9190613e82565b935050505090565b60146020528160005260406000208181548110610f3357600080fd5b6000918252602090912001546001600160a01b03169150829050565b60008281526001602081905260409091200154610f6b81612bdc565b610f758383612be6565b505050565b610f82612811565b60038190556040518181527f5bcc2c453001fb0e2ba6266d56ecb411e7c6e15c8f9c3d301f93dd36ad25726f90602001610987565b610fbf612c6d565b33600081815260136020526040812060075490916001600160a01b0390911690610fec6127106064613dfd565b600454600354610ffc9190613dfd565b6110069190613e60565b905060006110176127106064613dfd565b6040516302a64b8360e21b81523060048201526001600160a01b03851690630a992e0c90602401602060405180830381865afa15801561105b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061107f9190613e47565b60035461108c9190613dfd565b6110969190613e60565b6001600160a01b038087166000908152601360209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff16151591018190529091506113ab5760028401805460ff191660019081179091556003549085015560408051808201909152600b81527f67617264656e546f6b656e0000000000000000000000000000000000000000006020820152600c5461114691906001600160a01b0316612cc6565b6111788530838560035461115a9190613e82565b6111649190613e82565b600c546001600160a01b0316929190612d24565b6111b76040518060400160405280601281526020017f636f6d6d756e697479466565416d6f756e74000000000000000000000000000081525083612da8565b81156112245760408051808201909152600b81527f6665655265636569766572000000000000000000000000000000000000000000602082015260065461120791906001600160a01b0316612cc6565b600654600c54611224916001600160a01b03918216911684612e06565b6112636040518060400160405280601081526020017f67617264656e73466565416d6f756e740000000000000000000000000000000081525082612da8565b8015611364576112ec6040518060600160405280602681526020016145fa60269139846001600160a01b031663987435be6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112c3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112e79190613e95565b612cc6565b611364836001600160a01b031663987435be6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561132d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113519190613e95565b600c546001600160a01b03169083612e06565b600354604080516001600160a01b038816815260208101929092527f67e0244e28040fec15240cd4b6c04c776a2a0278caef23b59e8ada1df31f7689910160405180910390a15b50505050506113ba6001600055565b565b6001600160a01b038116331461143f5760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201527f20726f6c657320666f722073656c66000000000000000000000000000000000060648201526084015b60405180910390fd5b6114498282612e36565b5050565b611455612811565b61145e8161292e565b600a80546001600160a01b0319166001600160a01b03838116918217909255600d546040805191909316815260208101919091527f83eac9fdaff0ac1017624b7eddeb9782e3d707cd894073cb7e8301a41c6e5cf89101610987565b6114c2612c6d565b6114ca612eb9565b3360008181526014602090815260408083208054825181850281018501909352808352919290919083018282801561152b57602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831161150d575b50505050509050600080600090505b82518110156116fb5782818151811061155557611555613eb2565b602090810291909101015160405163782aadff60e01b81526001600160a01b038681166004830152602482018890529091169063782aadff906044016020604051808303816000875af11580156115b0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115d49190613e47565b915081156116e9576001600160a01b0384166000908152601260205260408120845184929086908590811061160b5761160b613eb2565b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060008282546116429190613e82565b925050819055506116e96040518060400160405280600e81526020017f537472617465677920706f77657200000000000000000000000000000000000081525060126000876001600160a01b03166001600160a01b0316815260200190815260200160002060008685815181106116bb576116bb613eb2565b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002054612da8565b806116f381613ec8565b91505061153a565b50600c54611714906001600160a01b0316843087612d24565b6001600160a01b0383166000908152601360205260408120600101805486929061173f908490613e82565b9091555050604080516001600160a01b0385168152602081018690527f576605f9bfe8911e7508bed3763c7c5c8eb3b86e8b360b90a4bc6abe1104cb7f91015b60405180910390a1505050610d0a6001600055565b61179c612c6d565b6117a4612eb9565b336000818152601460209081526040808320600354601390935290832060010154909291906117d4908690613ee1565b101561180c576040517f9c47d02e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600c54611823906001600160a01b03168486612e06565b60005b8254811015611ade57600083828154811061184357611843613eb2565b6000918252602090912001546001600160a01b0316905061186b8163f1801e6160e01b612f18565b15611a12576040517f2ed04b2b0000000000000000000000000000000000000000000000000000000081526001600160a01b03868116600483015260248201889052821690632ed04b2b906044016020604051808303816000875af11580156118d8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118fc9190613e47565b9250600060126000876001600160a01b03166001600160a01b03168152602001908152602001600020600086858154811061193957611939613eb2565b60009182526020808320909101546001600160a01b031683528201929092526040019020549050808411156119a4576040517f8a11f3180000000000000000000000000000000000000000000000000000000081526004810185905260248101829052604401611436565b6001600160a01b038616600090815260126020526040812086548692908890879081106119d3576119d3613eb2565b60009182526020808320909101546001600160a01b0316835282019290925260400181208054909190611a07908490613ee1565b909155505050611acb565b83548490611a2290600190613ee1565b81548110611a3257611a32613eb2565b9060005260206000200160009054906101000a90046001600160a01b0316848381548110611a6257611a62613eb2565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555083805480611aa057611aa0613ef4565b600082815260209020810160001990810180546001600160a01b0319169055019055611acb8161296e565b5080611ad681613ec8565b915050611826565b506001600160a01b03831660009081526013602052604081206001018054869290611b0a908490613ee1565b9091555050604080516001600160a01b0385168152602081018690527f6ee2c70b2d6b89ae808a2313aab43e925c06624271419cd665d85cfa1ae04ff8910161177f565b611b56612c6d565b611b5e612811565b60025460ff16611b9a576040517fcb63dc7200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038083166000908152601360209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff1615159101819052611bfd57604051636a5cfb6d60e01b815260040160405180910390fd5b6001600160a01b038083166000908152601360209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff16151590820152611c4b83612f3b565b6001600160a01b03838116600090815260136020908152604080832080546001600160a01b031916815560018101939093556002909201805460ff19169055600c5490840151915163a9059cbb60e01b8152858416600482015260248101929092529091169063a9059cbb906044016020604051808303816000875af1158015611cd9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cfd9190613f0a565b50602080820151604080516001600160a01b0380881682528616938101939093528201527fb5946f249f8744efe9d14d49a483b54a589b1362944ff6694de93456cceb96a39060600160405180910390a1506114496001600055565b611d61612811565b600e5460405163068bcd8d60e01b8152600481018390526000916001600160a01b03169063068bcd8d90602401600060405180830381865afa158015611dab573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611dd39190810190613f27565b602001519050611de28161292e565b6114498161296e565b611df3612811565b600e5460405163068bcd8d60e01b8152600481018390526000916001600160a01b03169063068bcd8d90602401600060405180830381865afa158015611e3d573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611e659190810190613f27565b602001519050611e748161292e565b611e8e6001600160a01b03821663f1801e6160e01b612f18565b1561144957611449816129c8565b611ea9816020015161292e565b611eb781610100015161292e565b8051611ec29061292e565b611ecf8160a0015161292e565b611edd81610180015161292e565b606081015115611ef457611ef48160c0015161292e565b8051600e80546001600160a01b039283166001600160a01b0319918216179091556020830151600c80549190931691161790556040810151600003611f65576040517fc70d18aa00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604081015160035560608101516004556101408101516002805460ff1916911515919091179055610120810151600f90611f9f90826140d1565b50610160810151601090611fb390826140d1565b5060a0810151600780546001600160a01b03199081166001600160a01b039384161790915560c0830151600680548316918416919091179055610100830151600d8054831682851617905561018084015160088054909316931692909217905561203e907fbc6bbe35ebc64943402c04d2ae016d7bd2bba28e1a11cf66be743c9bd74c720b90612be6565b600e60009054906101000a90046001600160a01b03166001600160a01b0316635ab1bd536040518163ffffffff1660e01b8152600401602060405180830381865afa158015612091573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120b59190613e95565b600b80546001600160a01b0319166001600160a01b03928316179055600d54604080517fa0e67e2b0000000000000000000000000000000000000000000000000000000081529051600093929092169163a0e67e2b9160048082019286929091908290030181865afa15801561212f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526121579190810190614191565b90506000815160026121699190613e82565b67ffffffffffffffff8111156121815761218161388c565b6040519080825280602002602001820160405280156121aa578160200160208202803683370190505b50905060005b825181101561220f578281815181106121cb576121cb613eb2565b60200260200101518282815181106121e5576121e5613eb2565b6001600160a01b03909216602092830291909101909101528061220781613ec8565b9150506121b0565b50600d5481516001600160a01b0390911690829061222f90600190613ee1565b8151811061223f5761223f613eb2565b60200260200101906001600160a01b031690816001600160a01b03168152505030816002835161226f9190613ee1565b8151811061227f5761227f613eb2565b6001600160a01b039283166020918202929092010152600b54608085015160e08601516040517f3a92f65f0000000000000000000000000000000000000000000000000000000081529290931692633a92f65f926122e79291600f9130908890600401614323565b6020604051808303816000875af1158015612306573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061232a9190613e47565b60055580516123409060169060208401906136e9565b507f2f2ffcb06f8a1d35e2716f6b43ef2c19bfa76467d8f66964ae12c2583ed03205600554600f8560e0015160405161237b93929190614371565b60405180910390a1505050565b60085460098054600092839283926123b7926001600160a01b031691846123ae83613ec8565b9190505561305d565b90506123c581878787612692565b9250925050935093915050565b600a546001600160a01b03163314612416576040517febcd0d6e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6113ba6130b1565b6010805461242b90614049565b80601f016020809104026020016040519081016040528092919081815260200182805461245790614049565b80156124a45780601f10612479576101008083540402835291602001916124a4565b820191906000526020600020905b81548152906001019060200180831161248757829003601f168201915b505050505081565b6124b4612c6d565b336124be81612879565b6124c781612f3b565b6001600160a01b0380821660008181526013602090815260408083208151606081018352815496871681526001820180548286015260028301805460ff81161515848701529787526001600160a01b03199098169092559084905560ff1990941690945560149052918220909161253e919061374e565b600c54602082015160405163a9059cbb60e01b81526001600160a01b038581166004830152602482019290925291169063a9059cbb906044016020604051808303816000875af1158015612596573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125ba9190613f0a565b50602080820151604080516001600160a01b0386168152928301919091527fa13f4668aacb68c4e9eed8e3f6e1cbec3eca776896ec46b5eabcc3983fc8f5f4910160405180910390a150506113ba6001600055565b61261c612710600a613dfd565b81565b600f805461242b90614049565b6000828152600160208190526040909120015461264881612bdc565b610f758383612e36565b6001600160a01b03811660009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604081205460ff16610902565b60008073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6001600160a01b038616156126bc5750845b8691506000601680548060200260200160405190810160405280929190818152602001828054801561271757602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116126f9575b5050600e546005546040519596506001600160a01b039091169463e1007d4a945090925087915061274c908b906020016143ba565b6040516020818303038152906040528660008b886040518863ffffffff1660e01b81526004016127829796959493929190614452565b6020604051808303816000875af11580156127a1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127c59190613e47565b93507f778cac0ae0b66477341553a4a89398c61ccf448313d3354ad0ca85a5a825d2838484308a896040516127fe9594939291906144be565b60405180910390a1505094509492505050565b3360009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604090205460ff166113ba576040517ff62651fa00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038082166000908152601360209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff1615159101819052610d0a57604051636a5cfb6d60e01b815260040160405180910390fd5b6001600160a01b03811660009081526011602052604090205460ff16610d0a576040517f46c26e4b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038116610d0a576040517fe622e04000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6129778161292e565b6001600160a01b038116600081815260116020908152604091829020805460ff1916905590519182527f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea49101610987565b6001600160a01b03811660009081526011602052604090205460ff1615612a1b576040517f968a4d2c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038116600081815260116020908152604091829020805460ff1916600117905590519182527f3f008fd510eae7a9e7bee13513d7b83bef8003d488b5a3d0b0da4de71d6846f19101610987565b806001600160a01b0316826001600160a01b031614611449576040517fbbe7961100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0382166000908152601460205260408120905b8154811015612bd657826001600160a01b0316828281548110612af957612af9613eb2565b6000918252602090912001546001600160a01b031603612bc45781548290612b2390600190613ee1565b81548110612b3357612b33613eb2565b9060005260206000200160009054906101000a90046001600160a01b0316828281548110612b6357612b63613eb2565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555081805480612ba157612ba1613ef4565b600082815260209020810160001990810180546001600160a01b03191690550190555b80612bce81613ec8565b915050612ad4565b50505050565b610d0a813361310c565b60008281526001602090815260408083206001600160a01b038516845290915290205460ff166114495760008281526001602081815260408084206001600160a01b0386168086529252808420805460ff19169093179092559051339285917f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d9190a45050565b600260005403612cbf5760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401611436565b6002600055565b6114498282604051602401612cdc9291906144f8565b60408051601f198184030181529190526020810180516001600160e01b03167f319af33300000000000000000000000000000000000000000000000000000000179052613181565b6040516001600160a01b0380851660248301528316604482015260648101829052612bd69085907f23b872dd00000000000000000000000000000000000000000000000000000000906084015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091526131a2565b6114498282604051602401612dbe929190614523565b60408051601f198184030181529190526020810180516001600160e01b03167f9710a9d000000000000000000000000000000000000000000000000000000000179052613181565b6040516001600160a01b038316602482015260448101829052610f7590849063a9059cbb60e01b90606401612d71565b60008281526001602090815260408083206001600160a01b038516845290915290205460ff16156114495760008281526001602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b33600090815260136020908152604091829020825160608101845281546001600160a01b031681526001820154928101929092526002015460ff16151591018190526113ba57604051636a5cfb6d60e01b815260040160405180910390fd5b6000612f238361328a565b8015612f345750612f3483836132bd565b9392505050565b6001600160a01b038116600090815260146020908152604080832080548251818502810185019093528083529192909190830182828015612fa557602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311612f87575b5050505050905060005b8151811015610f7557818181518110612fca57612fca613eb2565b60209081029190910101516040517f6453d9c40000000000000000000000000000000000000000000000000000000081526001600160a01b03858116600483015290911690636453d9c490602401600060405180830381600087803b15801561303257600080fd5b505af1158015613046573d6000803e3d6000fd5b50505050808061305590613ec8565b915050612faf565b6040516bffffffffffffffffffffffff193360601b1660208201526034810182905260009081906054016040516020818303038152906040528051906020012090506130a98482613346565b949350505050565b600a8054600d80546001600160a01b0383166001600160a01b031991821617909155169055604051600081527fad0399dc40331b9a4977aa89da7a164a3fd482c65e6da73b25a94ea74fb688729060200160405180910390a1565b60008281526001602090815260408083206001600160a01b038516845290915290205460ff166114495761313f816133e3565b61314a8360206133f5565b60405160200161315b929190614545565b60408051601f198184030181529082905262461bcd60e51b825261143691600401613d5e565b80516a636f6e736f6c652e6c6f67602083016000808483855afa5050505050565b60006131f7826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166135d69092919063ffffffff16565b90508051600014806132185750808060200190518101906132189190613f0a565b610f755760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152608401611436565b600061329d826301ffc9a760e01b6132bd565b801561090257506132b6826001600160e01b03196132bd565b1592915050565b604080516001600160e01b03198316602480830191909152825180830390910181526044909101909152602080820180516001600160e01b03166301ffc9a760e01b178152825160009392849283928392918391908a617530fa92503d9150600051905082801561332f575060208210155b801561333b5750600081115b979650505050505050565b6000763d602d80600a3d3981f3363d3d373d3d3d363d730000008360601b60e81c176000526e5af43d82803e903d91602b57fd5bf38360781b1760205281603760096000f590506001600160a01b0381166109025760405162461bcd60e51b815260206004820152601760248201527f455243313136373a2063726561746532206661696c65640000000000000000006044820152606401611436565b60606109026001600160a01b03831660145b60606000613404836002613dfd565b61340f906002613e82565b67ffffffffffffffff8111156134275761342761388c565b6040519080825280601f01601f191660200182016040528015613451576020820181803683370190505b5090507f30000000000000000000000000000000000000000000000000000000000000008160008151811061348857613488613eb2565b60200101906001600160f81b031916908160001a9053507f7800000000000000000000000000000000000000000000000000000000000000816001815181106134d3576134d3613eb2565b60200101906001600160f81b031916908160001a90535060006134f7846002613dfd565b613502906001613e82565b90505b6001811115613587577f303132333435363738396162636465660000000000000000000000000000000085600f166010811061354357613543613eb2565b1a60f81b82828151811061355957613559613eb2565b60200101906001600160f81b031916908160001a90535060049490941c93613580816145c6565b9050613505565b508315612f345760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401611436565b60606130a9848460008585600080866001600160a01b031685876040516135fd91906145dd565b60006040518083038185875af1925050503d806000811461363a576040519150601f19603f3d011682016040523d82523d6000602084013e61363f565b606091505b509150915061333b87838387606083156136ba5782516000036136b3576001600160a01b0385163b6136b35760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401611436565b50816130a9565b6130a983838151156136cf5781518083602001fd5b8060405162461bcd60e51b81526004016114369190613d5e565b82805482825590600052602060002090810192821561373e579160200282015b8281111561373e57825182546001600160a01b0319166001600160a01b03909116178255602090920191600190910190613709565b5061374a929150613768565b5090565b5080546000825590600052602060002090810190610d0a91905b5b8082111561374a5760008155600101613769565b60006020828403121561378f57600080fd5b81356001600160e01b031981168114612f3457600080fd5b6000602082840312156137b957600080fd5b5035919050565b6001600160a01b0381168114610d0a57600080fd5b80356137e0816137c0565b919050565b600080604083850312156137f857600080fd5b8235613803816137c0565b91506020830135613813816137c0565b809150509250929050565b60006020828403121561383057600080fd5b8135612f34816137c0565b6000806040838503121561384e57600080fd5b8235613859816137c0565b946020939093013593505050565b6000806040838503121561387a57600080fd5b823591506020830135613813816137c0565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff811182821017156138c5576138c561388c565b60405290565b6040516101a0810167ffffffffffffffff811182821017156138c5576138c561388c565b604051610120810167ffffffffffffffff811182821017156138c5576138c561388c565b60405160c0810167ffffffffffffffff811182821017156138c5576138c561388c565b604051601f8201601f1916810167ffffffffffffffff8111828210171561395f5761395f61388c565b604052919050565b600067ffffffffffffffff8211156139815761398161388c565b50601f01601f191660200190565b600082601f8301126139a057600080fd5b81356139b36139ae82613967565b613936565b8181528460208386010111156139c857600080fd5b816020850160208301376000918101602001919091529392505050565b6000604082840312156139f757600080fd5b6139ff6138a2565b905081358152602082013567ffffffffffffffff811115613a1f57600080fd5b613a2b8482850161398f565b60208301525092915050565b8015158114610d0a57600080fd5b80356137e081613a37565b600060208284031215613a6257600080fd5b813567ffffffffffffffff80821115613a7a57600080fd5b908301906101a08286031215613a8f57600080fd5b613a976138cb565b613aa0836137d5565b8152613aae602084016137d5565b6020820152604083013560408201526060830135606082015260808301356080820152613add60a084016137d5565b60a0820152613aee60c084016137d5565b60c082015260e083013582811115613b0557600080fd5b613b11878286016139e5565b60e083015250610100613b258185016137d5565b908201526101208381013583811115613b3d57600080fd5b613b498882870161398f565b828401525050610140613b5d818501613a45565b908201526101608381013583811115613b7557600080fd5b613b818882870161398f565b8284015250506101809150613b978284016137d5565b91810191909152949350505050565b8035600381106137e057600080fd5b60048110610d0a57600080fd5b80356137e081613bb5565b600060208284031215613bdf57600080fd5b6040516020810181811067ffffffffffffffff82111715613c0257613c0261388c565b6040529135825250919050565b60006101208284031215613c2257600080fd5b613c2a6138ef565b9050613c35826137d5565b815260208201356020820152604082013560408201526060820135606082015260808201356080820152613c6b60a08301613ba6565b60a0820152613c7c60c08301613bc2565b60c0820152613c8e8360e08401613bcd565b60e0820152610100613ca18184016137d5565b9082015292915050565b60008060006101608486031215613cc157600080fd5b8335613ccc816137c0565b9250613cdb8560208601613c0f565b915061014084013567ffffffffffffffff811115613cf857600080fd5b613d04868287016139e5565b9150509250925092565b60005b83811015613d29578181015183820152602001613d11565b50506000910152565b60008151808452613d4a816020860160208601613d0e565b601f01601f19169290920160200192915050565b602081526000612f346020830184613d32565b6000806000806101808587031215613d8857600080fd5b8435613d93816137c0565b93506020850135613da3816137c0565b9250613db28660408701613c0f565b915061016085013567ffffffffffffffff811115613dcf57600080fd5b613ddb878288016139e5565b91505092959194509250565b634e487b7160e01b600052601160045260246000fd5b808202811582820484141761090257610902613de7565b634e487b7160e01b600052602160045260246000fd5b600060208284031215613e3c57600080fd5b8151612f3481613bb5565b600060208284031215613e5957600080fd5b5051919050565b600082613e7d57634e487b7160e01b600052601260045260246000fd5b500490565b8082018082111561090257610902613de7565b600060208284031215613ea757600080fd5b8151612f34816137c0565b634e487b7160e01b600052603260045260246000fd5b600060018201613eda57613eda613de7565b5060010190565b8181038181111561090257610902613de7565b634e487b7160e01b600052603160045260246000fd5b600060208284031215613f1c57600080fd5b8151612f3481613a37565b60006020808385031215613f3a57600080fd5b825167ffffffffffffffff80821115613f5257600080fd5b9084019060c08287031215613f6657600080fd5b613f6e613913565b8251815283830151613f7f816137c0565b818501526040830151613f91816137c0565b6040820152606083015182811115613fa857600080fd5b830160408189031215613fba57600080fd5b613fc26138a2565b815181528582015184811115613fd757600080fd5b82019350601f84018913613fea57600080fd5b83519150613ffa6139ae83613967565b828152898784870101111561400e57600080fd5b61401d83888301898801613d0e565b95810195909552506060810193909352506080818101519083015260a090810151908201529392505050565b600181811c9082168061405d57607f821691505b60208210810361407d57634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115610f7557600081815260208120601f850160051c810160208610156140aa5750805b601f850160051c820191505b818110156140c9578281556001016140b6565b505050505050565b815167ffffffffffffffff8111156140eb576140eb61388c565b6140ff816140f98454614049565b84614083565b602080601f831160018114614134576000841561411c5750858301515b600019600386901b1c1916600185901b1785556140c9565b600085815260208120601f198616915b8281101561416357888601518255948401946001909101908401614144565b50858210156141815787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b600060208083850312156141a457600080fd5b825167ffffffffffffffff808211156141bc57600080fd5b818501915085601f8301126141d057600080fd5b8151818111156141e2576141e261388c565b8060051b91506141f3848301613936565b818152918301840191848101908884111561420d57600080fd5b938501935b838510156142375784519250614227836137c0565b8282529385019390850190614212565b98975050505050505050565b6000815461425081614049565b80855260206001838116801561426d5760018114614287576142b5565b60ff1985168884015283151560051b8801830195506142b5565b866000528260002060005b858110156142ad5781548a8201860152908301908401614292565b890184019650505b505050505092915050565b8051825260006020820151604060208501526130a96040850182613d32565b600081518084526020808501945080840160005b838110156143185781516001600160a01b0316875295820195908201906001016142f3565b509495945050505050565b85815260a06020820152600061433c60a0830187614243565b828103604084015261434e81876142c0565b90506001600160a01b0385166060840152828103608084015261423781856142df565b83815260606020820152600061438a6060830185614243565b828103604084015261439c81856142c0565b9695505050505050565b600481106143b6576143b6613e14565b9052565b6000610120820190506001600160a01b0383511682526020830151602083015260408301516040830152606083015160608301526080830151608083015260a08301516003811061440d5761440d613e14565b8060a08401525060c083015161442660c08401826143a6565b5060e083015161443960e0840182519052565b50610100928301516001600160a01b0316919092015290565b87815260006001600160a01b03808916602084015260e0604084015261447b60e0840189613d32565b818816606085015286608085015283810360a085015261449b81876142c0565b91505082810360c08401526144b081856142df565b9a9950505050505050505050565b85815260006001600160a01b038087166020840152808616604084015280851660608401525060a0608083015261333b60a08301846142c0565b60408152600061450b6040830185613d32565b90506001600160a01b03831660208301529392505050565b6040815260006145366040830185613d32565b90508260208301529392505050565b7f416363657373436f6e74726f6c3a206163636f756e742000000000000000000081526000835161457d816017850160208801613d0e565b7f206973206d697373696e6720726f6c652000000000000000000000000000000060179184019182015283516145ba816028840160208801613d0e565b01602801949350505050565b6000816145d5576145d5613de7565b506000190190565b600082516145ef818460208701613d0e565b919091019291505056fe67617264656e73466163746f72792e67657447617264656e7346656552656365697665722829a264697066735822122084e2c8b555b2ef161e2f709baddfca3402faa4482a0277b2a995b1521474725664736f6c63430008130033a26469706673582212206d6b1586b2d00db62328a0d0ee20c734456072023251431bc7c251b1741fd8bb64736f6c63430008130033", - "sourceMap": "202:2981:135:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2940:241;;;;;;:::i;:::-;;:::i;:::-;;;710:25:151;;;698:2;683:18;2940:241:135;;;;;;;;2592:200;;;;;;:::i;:::-;;:::i;:::-;;1824:101:60;;;:::i;2043:214:135:-;;;;;;:::i;:::-;;:::i;1519:518::-;;;;;;:::i;:::-;;:::i;:::-;;;-1:-1:-1;;;;;5023:55:151;;;5005:74;;4993:2;4978:18;1519:518:135;4859:226:151;1201:85:60;1247:7;1273:6;-1:-1:-1;;;;;1273:6:60;1201:85;;2263:107:135;2345:18;;-1:-1:-1;;;;;2345:18:135;2263:107;;244:24;;;;;;2376:210;;;;;;:::i;:::-;;:::i;515:33::-;;;;;-1:-1:-1;;;;;515:33:135;;;2074:198:60;;;;;;:::i;:::-;;:::i;2798:136:135:-;;;;;;:::i;:::-;-1:-1:-1;;;;;2894:27:135;2871:4;2894:27;;;:15;:27;;;;;:33;;;;2798:136;;;;5671:14:151;;5664:22;5646:41;;5634:2;5619:18;2798:136:135;5506:187:151;2940:241:135;-1:-1:-1;;;;;3031:27:135;;3007:7;3031:27;;;:15;:27;;;;;:33;;;3026:100;;3087:28;;;;;-1:-1:-1;;;;;5023:55:151;;3087:28:135;;;5005:74:151;4978:18;;3087:28:135;;;;;;;;3026:100;-1:-1:-1;;;;;;3143:27:135;;;;;:15;:27;;;;;:31;;;;2940:241::o;2592:200::-;1094:13:60;:11;:13::i;:::-;-1:-1:-1;;;;;2684:27:135;::::1;;::::0;;;:15:::1;:27;::::0;;;;;;;;:44;;-1:-1:-1;;2684:44:135::1;::::0;::::1;;::::0;;::::1;::::0;;;2743:42;;5866:74:151;;;5956:18;;;5949:50;2743:42:135::1;::::0;5839:18:151;2743:42:135::1;;;;;;;;2592:200:::0;;:::o;1824:101:60:-;1094:13;:11;:13::i;:::-;1888:30:::1;1915:1;1888:18;:30::i;:::-;1824:101::o:0;2043:214:135:-;1094:13:60;:11;:13::i;:::-;2123:35:135::1;2142:15;2123:18;:35::i;:::-;2168:18;:36:::0;;-1:-1:-1;;2168:36:135::1;-1:-1:-1::0;;;;;2168:36:135;::::1;::::0;;::::1;::::0;;;2219:31:::1;::::0;5005:74:151;;;2219:31:135::1;::::0;4993:2:151;4978:18;2219:31:135::1;;;;;;;2043:214:::0;:::o;1519:518::-;1625:31;1672:35;1710:23;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1759:5:135;:7;;1672:61;;-1:-1:-1;1759:5:135;:7;;;:::i;:::-;;;;-1:-1:-1;1743:13:135;;;:23;1810:4;1776:23;;;:39;1826:36;;;;;-1:-1:-1;;;;;1826:28:135;;;;;:36;;1743:6;;1826:36;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;1872:43:135;;;;;;:15;:43;;;;;;;;;:56;;-1:-1:-1;;1872:56:135;1924:4;1872:56;;;1943:44;;5005:74:151;;;1943:44:135;;4978:18:151;1943:44:135;;;;;;;2012:17;1519:518;-1:-1:-1;;1519:518:135:o;2376:210::-;1094:13:60;:11;:13::i;:::-;-1:-1:-1;;;;;2472:27:135;::::1;;::::0;;;:15:::1;:27;::::0;;;;;;;;:31:::1;;:49:::0;;;2536:43;;9044:74:151;;;9134:18;;9127:34;;;2536:43:135::1;::::0;9017:18:151;2536:43:135::1;8870:297:151::0;2074:198:60;1094:13;:11;:13::i;:::-;-1:-1:-1;;;;;2162:22:60;::::1;2154:73;;;::::0;-1:-1:-1;;;2154:73:60;;9374:2:151;2154:73:60::1;::::0;::::1;9356:21:151::0;9413:2;9393:18;;;9386:30;9452:34;9432:18;;;9425:62;9523:8;9503:18;;;9496:36;9549:19;;2154:73:60::1;9172:402:151::0;2154:73:60::1;2237:28;2256:8;2237:18;:28::i;:::-;2074:198:::0;:::o;1359:130::-;1247:7;1273:6;-1:-1:-1;;;;;1273:6:60;719:10:81;1422:23:60;1414:68;;;;-1:-1:-1;;;1414:68:60;;9781:2:151;1414:68:60;;;9763:21:151;;;9800:18;;;9793:30;9859:34;9839:18;;;9832:62;9911:18;;1414:68:60;9579:356:151;2426:187:60;2499:16;2518:6;;-1:-1:-1;;;;;2534:17:60;;;-1:-1:-1;;2534:17:60;;;;;;2566:40;;2518:6;;;;;;;2566:40;;2499:16;2566:40;2489:124;2426:187;:::o;1380:133:135:-;-1:-1:-1;;;;;1454:22:135;;1450:56;;1485:21;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;:::o;14:154:151:-;-1:-1:-1;;;;;93:5:151;89:54;82:5;79:65;69:93;;158:1;155;148:12;173:134;241:20;;270:31;241:20;270:31;:::i;:::-;173:134;;;:::o;312:247::-;371:6;424:2;412:9;403:7;399:23;395:32;392:52;;;440:1;437;430:12;392:52;479:9;466:23;498:31;523:5;498:31;:::i;:::-;548:5;312:247;-1:-1:-1;;;312:247:151:o;746:160::-;811:20;;867:13;;860:21;850:32;;840:60;;896:1;893;886:12;911:315;976:6;984;1037:2;1025:9;1016:7;1012:23;1008:32;1005:52;;;1053:1;1050;1043:12;1005:52;1092:9;1079:23;1111:31;1136:5;1111:31;:::i;:::-;1161:5;-1:-1:-1;1185:35:151;1216:2;1201:18;;1185:35;:::i;:::-;1175:45;;911:315;;;;;:::o;1231:184::-;-1:-1:-1;;;1280:1:151;1273:88;1380:4;1377:1;1370:15;1404:4;1401:1;1394:15;1420:250;1487:2;1481:9;1529:6;1517:19;;1566:18;1551:34;;1587:22;;;1548:62;1545:88;;;1613:18;;:::i;:::-;1649:2;1642:22;1420:250;:::o;1675:719::-;1718:5;1771:3;1764:4;1756:6;1752:17;1748:27;1738:55;;1789:1;1786;1779:12;1738:55;1825:6;1812:20;1851:18;1888:2;1884;1881:10;1878:36;;;1894:18;;:::i;:::-;1969:2;1963:9;1937:2;2023:13;;-1:-1:-1;;2019:22:151;;;2043:2;2015:31;2011:40;1999:53;;;2067:18;;;2087:22;;;2064:46;2061:72;;;2113:18;;:::i;:::-;2153:10;2149:2;2142:22;2188:2;2180:6;2173:18;2234:3;2227:4;2222:2;2214:6;2210:15;2206:26;2203:35;2200:55;;;2251:1;2248;2241:12;2200:55;2315:2;2308:4;2300:6;2296:17;2289:4;2281:6;2277:17;2264:54;2362:1;2355:4;2350:2;2342:6;2338:15;2334:26;2327:37;2382:6;2373:15;;;;;;1675:719;;;;:::o;2399:610::-;2454:5;2502:4;2490:9;2485:3;2481:19;2477:30;2474:50;;;2520:1;2517;2510:12;2474:50;2553:4;2547:11;2597:4;2589:6;2585:17;2621:18;2689:6;2677:10;2674:22;2669:2;2657:10;2654:18;2651:46;2648:72;;;2700:18;;:::i;:::-;2742:10;2736:4;2729:24;2771:6;2762:15;;2814:9;2801:23;2793:6;2786:39;2876:2;2865:9;2861:18;2848:32;2834:46;;2903:2;2895:6;2892:14;2889:34;;;2919:1;2916;2909:12;2889:34;;2956:46;2998:3;2989:6;2978:9;2974:22;2956:46;:::i;:::-;2951:2;2943:6;2939:15;2932:71;;;2399:610;;;;:::o;3014:1708::-;3108:6;3161:2;3149:9;3140:7;3136:23;3132:32;3129:52;;;3177:1;3174;3167:12;3129:52;3217:9;3204:23;3246:18;3287:2;3279:6;3276:14;3273:34;;;3303:1;3300;3293:12;3273:34;3326:22;;;;3382:6;3364:16;;;3360:29;3357:49;;;3402:1;3399;3392:12;3357:49;3428:17;;:::i;:::-;3468:22;3487:2;3468:22;:::i;:::-;3461:5;3454:37;3523:31;3550:2;3546;3542:11;3523:31;:::i;:::-;3518:2;3511:5;3507:14;3500:55;3608:2;3604;3600:11;3587:25;3582:2;3575:5;3571:14;3564:49;3666:2;3662;3658:11;3645:25;3640:2;3633:5;3629:14;3622:49;3725:3;3721:2;3717:12;3704:26;3698:3;3691:5;3687:15;3680:51;3764:32;3791:3;3787:2;3783:12;3764:32;:::i;:::-;3758:3;3751:5;3747:15;3740:57;3830:32;3857:3;3853:2;3849:12;3830:32;:::i;:::-;3824:3;3817:5;3813:15;3806:57;3909:3;3905:2;3901:12;3888:26;3939:2;3929:8;3926:16;3923:36;;;3955:1;3952;3945:12;3923:36;3992:54;4038:7;4027:8;4023:2;4019:17;3992:54;:::i;:::-;3986:3;3979:5;3975:15;3968:79;;4066:3;4101:31;4128:2;4124;4120:11;4101:31;:::i;:::-;4085:14;;;4078:55;4152:3;4193:11;;;4180:25;4217:16;;;4214:36;;;4246:1;4243;4236:12;4214:36;4282:45;4319:7;4308:8;4304:2;4300:17;4282:45;:::i;:::-;4277:2;4270:5;4266:14;4259:69;;;4347:3;4382:28;4406:2;4402;4398:11;4382:28;:::i;:::-;4366:14;;;4359:52;4430:3;4471:11;;;4458:25;4495:16;;;4492:36;;;4524:1;4521;4514:12;4492:36;4560:45;4597:7;4586:8;4582:2;4578:17;4560:45;:::i;:::-;4555:2;4548:5;4544:14;4537:69;;;4625:3;4615:13;;4660:31;4687:2;4683;4679:11;4660:31;:::i;:::-;4644:14;;;4637:55;;;;4648:5;3014:1708;-1:-1:-1;;;;3014:1708:151:o;5090:315::-;5158:6;5166;5219:2;5207:9;5198:7;5194:23;5190:32;5187:52;;;5235:1;5232;5225:12;5187:52;5274:9;5261:23;5293:31;5318:5;5293:31;:::i;:::-;5343:5;5395:2;5380:18;;;;5367:32;;-1:-1:-1;;;5090:315:151:o;6010:289::-;6049:3;6070:17;;;6067:197;;-1:-1:-1;;;6117:1:151;6110:88;6221:4;6218:1;6211:15;6249:4;6246:1;6239:15;6067:197;-1:-1:-1;6291:1:151;6280:13;;6010:289::o;6304:423::-;6346:3;6384:5;6378:12;6411:6;6406:3;6399:19;6436:1;6446:162;6460:6;6457:1;6454:13;6446:162;;;6522:4;6578:13;;;6574:22;;6568:29;6550:11;;;6546:20;;6539:59;6475:12;6446:162;;;6450:3;6653:1;6646:4;6637:6;6632:3;6628:16;6624:27;6617:38;6716:4;6709:2;6705:7;6700:2;6692:6;6688:15;6684:29;6679:3;6675:39;6671:50;6664:57;;;6304:423;;;;:::o;6732:252::-;6819:5;6813:12;6808:3;6801:25;6783:3;6872:4;6865:5;6861:16;6855:23;6910:4;6903;6898:3;6894:14;6887:28;6931:47;6972:4;6967:3;6963:14;6949:12;6931:47;:::i;:::-;6924:54;6732:252;-1:-1:-1;;;;6732:252:151:o;6989:1876::-;7188:2;7177:9;7170:21;7200:53;7249:2;7238:9;7234:18;7225:6;7219:13;-1:-1:-1;;;;;4793:54:151;4781:67;;4727:127;7200:53;7151:4;7300:2;7292:6;7288:15;7282:22;7313:52;7361:2;7350:9;7346:18;7332:12;-1:-1:-1;;;;;4793:54:151;4781:67;;4727:127;7313:52;;7419:2;7411:6;7407:15;7401:22;7396:2;7385:9;7381:18;7374:50;7479:2;7471:6;7467:15;7461:22;7455:3;7444:9;7440:19;7433:51;7539:3;7531:6;7527:16;7521:23;7515:3;7504:9;7500:19;7493:52;7594:3;7586:6;7582:16;7576:23;7608:55;7658:3;7647:9;7643:19;7627:14;-1:-1:-1;;;;;4793:54:151;4781:67;;4727:127;7608:55;-1:-1:-1;7712:3:151;7700:16;;7694:23;-1:-1:-1;;;;;4793:54:151;;7776:3;7761:19;;4781:67;7726:55;7830:3;7822:6;7818:16;7812:23;7854:6;7879:3;7918:2;7913;7902:9;7898:18;7891:30;7944:63;8002:3;7991:9;7987:19;7971:14;7944:63;:::i;:::-;8044:15;;;8038:22;7930:77;;-1:-1:-1;8079:3:151;8091:54;8126:18;;;8038:22;-1:-1:-1;;;;;4793:54:151;4781:67;;4727:127;8091:54;8194:2;8186:6;8182:15;8176:22;8154:44;;;8221:2;8217:7;8243:3;8310:2;8298:9;8290:6;8286:22;8282:31;8277:2;8266:9;8262:18;8255:59;8337:41;8371:6;8355:14;8337:41;:::i;:::-;8323:55;;8427:2;8419:6;8415:15;8409:22;8387:44;;;8450:3;8462:51;8509:2;8498:9;8494:18;8478:14;5480:13;5473:21;5461:34;;5410:91;8462:51;8562:2;8554:6;8550:15;8544:22;8522:44;;;8585:3;8652:2;8640:9;8632:6;8628:22;8624:31;8619:2;8608:9;8604:18;8597:59;8679:41;8713:6;8697:14;8679:41;:::i;:::-;8665:55;;8769:2;8761:6;8757:15;8751:22;8729:44;;;;8782:54;8832:2;8821:9;8817:18;8801:14;-1:-1:-1;;;;;4793:54:151;4781:67;;4727:127;8782:54;-1:-1:-1;8853:6:151;;6989:1876;-1:-1:-1;;;;6989:1876:151:o", - "linkReferences": {} - }, - "methodIdentifiers": { - "createRegistry((address,address,uint256,uint256,uint256,address,address,(uint256,string),address,string,bool,string,address))": "8a16135f", - "gardensFeeReceiver()": "b8bed901", - "getCommunityValidity(address)": "f5016b5e", - "getGardensFeeReceiver()": "987435be", - "getProtocolFee(address)": "0a992e0c", - "nonce()": "affed0e0", - "owner()": "8da5cb5b", - "renounceOwnership()": "715018a6", - "setCommunityValidity(address,bool)": "5a2c8ace", - "setProtocolFee(address,uint256)": "b5b3ca2c", - "setReceiverAddress(address)": "8279c7db", - "transferOwnership(address)": "f2fde38b" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"AddressCannotBeZero\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_community\",\"type\":\"address\"}],\"name\":\"CommunityInvalid\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_registryCommunity\",\"type\":\"address\"}],\"name\":\"CommunityCreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_community\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"_isValid\",\"type\":\"bool\"}],\"name\":\"CommunityValiditySet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_newFeeReceiver\",\"type\":\"address\"}],\"name\":\"FeeReceiverSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_community\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_newProtocolFee\",\"type\":\"uint256\"}],\"name\":\"ProtocolFeeSet\",\"type\":\"event\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"_allo\",\"type\":\"address\"},{\"internalType\":\"contract IERC20\",\"name\":\"_gardenToken\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_registerStakeAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_communityFee\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_nonce\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_registryFactory\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_feeReceiver\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"_metadata\",\"type\":\"tuple\"},{\"internalType\":\"address payable\",\"name\":\"_councilSafe\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"_communityName\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"_isKickEnabled\",\"type\":\"bool\"},{\"internalType\":\"string\",\"name\":\"covenantIpfsHash\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"_strategyTemplate\",\"type\":\"address\"}],\"internalType\":\"struct RegistryCommunity.InitializeParams\",\"name\":\"params\",\"type\":\"tuple\"}],\"name\":\"createRegistry\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"_createdRegistryAddress\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"gardensFeeReceiver\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_community\",\"type\":\"address\"}],\"name\":\"getCommunityValidity\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getGardensFeeReceiver\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_community\",\"type\":\"address\"}],\"name\":\"getProtocolFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nonce\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_community\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"_isValid\",\"type\":\"bool\"}],\"name\":\"setCommunityValidity\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_community\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_newProtocolFee\",\"type\":\"uint256\"}],\"name\":\"setProtocolFee\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_newFeeReceiver\",\"type\":\"address\"}],\"name\":\"setReceiverAddress\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"pkg/contracts/src/RegistryFactory.sol\":\"RegistryFactory\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1000},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-contracts/=lib/safe-contracts/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"]},\"sources\":{\"lib/allo-v2/contracts/core/interfaces/IAllo.sol\":{\"keccak256\":\"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7\",\"dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1\"]},\"lib/allo-v2/contracts/core/interfaces/IRegistry.sol\":{\"keccak256\":\"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e\",\"dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA\"]},\"lib/allo-v2/contracts/core/interfaces/IStrategy.sol\":{\"keccak256\":\"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487\",\"dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH\"]},\"lib/allo-v2/contracts/core/libraries/Clone.sol\":{\"keccak256\":\"0xc348b24b7d8a98c4faa5f2aa37ce9264a74f81dbdef1a9bae2eaa125585c3c7e\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://1335b3ec59ec7e3d12ea7c90b3aa56f4c26e0d44d342f54412933be9d4f16067\",\"dweb:/ipfs/QmXNFo2wCyq9cpvfgbdHvBUQecThFSEoUnMuZNS6WinDrr\"]},\"lib/allo-v2/contracts/core/libraries/Errors.sol\":{\"keccak256\":\"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf\",\"dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA\"]},\"lib/allo-v2/contracts/core/libraries/Metadata.sol\":{\"keccak256\":\"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c\",\"dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn\"]},\"lib/allo-v2/contracts/core/libraries/Native.sol\":{\"keccak256\":\"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a\",\"dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv\"]},\"lib/allo-v2/contracts/core/libraries/Transfer.sol\":{\"keccak256\":\"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11\",\"dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5\"]},\"lib/allo-v2/contracts/strategies/BaseStrategy.sol\":{\"keccak256\":\"0x3f1382dc6c35d50545e327e7ed6016f2bd752357d446bd698014073f0b812873\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://99500abcd617fa43f6dde49e2c7802821ceaf54a65a8055cbbf2695ecd107974\",\"dweb:/ipfs/QmUktZkWuu3GCMEijY1fqt7NMy7BzpTvEtcmpB1fuoa7zt\"]},\"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol\":{\"keccak256\":\"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298\",\"dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol\":{\"keccak256\":\"0x5a55d1b148a0cb4183f1e09ceaff87bd2d828440f2f5dc01dfe03eb29e7c88ec\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3f9278bdda788763efbe569da77fc24feff36e871779e2da69f74ea5f8bfacf\",\"dweb:/ipfs/QmZF9cH4rfazmwKT55p3tZyzh9QGghNyss81f46d6yVXap\"]},\"lib/openzeppelin-contracts/contracts/access/AccessControl.sol\":{\"keccak256\":\"0x0dd6e52cb394d7f5abe5dca2d4908a6be40417914720932de757de34a99ab87f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://dc117ce50ea746cab6b97ed1a1facee17a715ae0cb95d67b943dacbaf15176fb\",\"dweb:/ipfs/QmYRZ2UGNYwsHwfNu7Wjr8L2j1LBZ1mKv6NvbwgterYMXc\"]},\"lib/openzeppelin-contracts/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0x59ce320a585d7e1f163cd70390a0ef2ff9cec832e2aa544293a00692465a7a57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb2c137c343ef0c4c7ce7b18c1d108afdc9d315a04e48307288d2d05adcbde3a\",\"dweb:/ipfs/QmUxhrAQM3MM3FF5j7AtcXLXguWCJBHJ14BRdVtuoQc8Fh\"]},\"lib/openzeppelin-contracts/contracts/access/Ownable.sol\":{\"keccak256\":\"0xba43b97fba0d32eb4254f6a5a297b39a19a247082a02d6e69349e071e2946218\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fc980984badf3984b6303b377711220e067722bbd6a135b24669ff5069ef9f32\",\"dweb:/ipfs/QmPHXMSXj99XjSVM21YsY6aNtLLjLVXDbyN76J5HQYvvrz\"]},\"lib/openzeppelin-contracts/contracts/security/ReentrancyGuard.sol\":{\"keccak256\":\"0xa535a5df777d44e945dd24aa43a11e44b024140fc340ad0dfe42acf4002aade1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://41319e7f621f2dc3733511332c4fd032f8e32ad2aa7fd6f665c19741d9941a34\",\"dweb:/ipfs/QmcYR3bd862GD1Bc7jwrU9bGxrhUu5na1oP964bDCu2id1\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15\",\"dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5\",\"dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd\",\"dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol\":{\"keccak256\":\"0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a\",\"dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0x909d608c2db6eb165ca178c81289a07ed2e118e444d0025b2a85c97d0b44a4fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://656cda26512ddd7373c2d5551c8fae759fc30f05b10f0fc2e738e9274199dbd4\",\"dweb:/ipfs/QmTSArSzQRFbQmHgq7U1PZXnsDFhvDZhKVu9CzMG4yo6Lx\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"lib/openzeppelin-contracts/contracts/utils/Strings.sol\":{\"keccak256\":\"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f\",\"dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol\":{\"keccak256\":\"0x5a08ad61f4e82b8a3323562661a86fb10b10190848073fdc13d4ac43710ffba5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6f7bb74cf88fd88daa34e118bc6e363381d05044f34f391d39a10c0c9dac3ebd\",\"dweb:/ipfs/QmNbQ3v8v4zuDtg7VeLAbdhAm3tCzUodNoDZZ8ekmCHWZX\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]},\"pkg/contracts/src/CVStrategy.sol\":{\"keccak256\":\"0x132bcf17470960e380d841159d9389985d609aaae1c9a657c78902f7871da957\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://84e905bf392579b44f33fff8586431b940e110b2210854cf487321cc92061705\",\"dweb:/ipfs/QmQpvszYu8RbrXmUFLifSodQzV8LAqazk1fzXNARGc5sBT\"]},\"pkg/contracts/src/ISybilScorer.sol\":{\"keccak256\":\"0x0e25fbb8497ac3c969d80c9032362d45e56c0a45dc9ba3dff6a8a704571f38ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0dff90ebae6e7131a5300fcaf525bc2ab0ae90fcd13f277d7b7b6939eeb8b7eb\",\"dweb:/ipfs/QmYGkYqpUVrBWoNY6f3CtwrrVQFWSvnJfpu68t95f6AkBY\"]},\"pkg/contracts/src/RegistryCommunity.sol\":{\"keccak256\":\"0xc735f4d2635149f2db9bff291da56e08c3c312d9eb1b767b8a1e3e51584d5734\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://247b33b78abface6a7e2da38174386de9b543f6a27e8340e26d854bff57184a3\",\"dweb:/ipfs/QmedNdqkqeboGzz9w868uGf7KnXUaYZe6i1YcdUPPkJnnf\"]},\"pkg/contracts/src/RegistryFactory.sol\":{\"keccak256\":\"0x888b7f5eb1079f90ccfa0b41d8a970bffd8d4d469f9b31917a58279b358dbda5\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://af25fd783de00adf01d1c7caa572801fed0d474306a43b862535b08e65ec10c6\",\"dweb:/ipfs/Qmeb2nEaMQLV86y1CYAAV2c6BYpBDTbpLuC1SigeNjdqLo\"]},\"pkg/contracts/src/interfaces/ISafe.sol\":{\"keccak256\":\"0x878a210809bb684c42157a10f3f90350a67d0a4863f130499942b06f0f2c9143\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://fa2d71bd427c3415e98a2ee15ff673f3cc61c17f14d7087c5eedc83b55f6b0ef\",\"dweb:/ipfs/QmesVSmJQQzi6ys1cvhQFCJyDXchb736mT5bXks4Yp6Cbj\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.8.19+commit.7dd6d404" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [], - "type": "error", - "name": "AddressCannotBeZero" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_community", - "type": "address" - } - ], - "type": "error", - "name": "CommunityInvalid" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_registryCommunity", - "type": "address", - "indexed": false - } - ], - "type": "event", - "name": "CommunityCreated", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_community", - "type": "address", - "indexed": false - }, - { - "internalType": "bool", - "name": "_isValid", - "type": "bool", - "indexed": false - } - ], - "type": "event", - "name": "CommunityValiditySet", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_newFeeReceiver", - "type": "address", - "indexed": false - } - ], - "type": "event", - "name": "FeeReceiverSet", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "previousOwner", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "newOwner", - "type": "address", - "indexed": true - } - ], - "type": "event", - "name": "OwnershipTransferred", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_community", - "type": "address", - "indexed": false - }, - { - "internalType": "uint256", - "name": "_newProtocolFee", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "ProtocolFeeSet", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "struct RegistryCommunity.InitializeParams", - "name": "params", - "type": "tuple", - "components": [ - { - "internalType": "address", - "name": "_allo", - "type": "address" - }, - { - "internalType": "contract IERC20", - "name": "_gardenToken", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_registerStakeAmount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_communityFee", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_nonce", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_registryFactory", - "type": "address" - }, - { - "internalType": "address", - "name": "_feeReceiver", - "type": "address" - }, - { - "internalType": "struct Metadata", - "name": "_metadata", - "type": "tuple", - "components": [ - { - "internalType": "uint256", - "name": "protocol", - "type": "uint256" - }, - { - "internalType": "string", - "name": "pointer", - "type": "string" - } - ] - }, - { - "internalType": "address payable", - "name": "_councilSafe", - "type": "address" - }, - { - "internalType": "string", - "name": "_communityName", - "type": "string" - }, - { - "internalType": "bool", - "name": "_isKickEnabled", - "type": "bool" - }, - { - "internalType": "string", - "name": "covenantIpfsHash", - "type": "string" - }, - { - "internalType": "address", - "name": "_strategyTemplate", - "type": "address" - } - ] - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "createRegistry", - "outputs": [ - { - "internalType": "address", - "name": "_createdRegistryAddress", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "gardensFeeReceiver", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_community", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getCommunityValidity", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getGardensFeeReceiver", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_community", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getProtocolFee", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "nonce", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "function", - "name": "renounceOwnership" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_community", - "type": "address" - }, - { - "internalType": "bool", - "name": "_isValid", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "setCommunityValidity" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_community", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_newProtocolFee", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "setProtocolFee" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_newFeeReceiver", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "setReceiverAddress" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "transferOwnership" - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "owner()": { - "details": "Returns the address of the current owner." - }, - "renounceOwnership()": { - "details": "Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner." - }, - "transferOwnership(address)": { - "details": "Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner." - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - "@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/", - "@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/", - "@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/", - "@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/", - "@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/", - "@sablier/v2-core/=lib/allo-v2/lib/v2-core/", - "ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/", - "allo-v2-contracts/=lib/allo-v2/contracts/", - "allo-v2-test/=lib/allo-v2/test/", - "allo-v2/=lib/allo-v2/", - "ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/", - "eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/", - "erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/", - "forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/", - "forge-std/=lib/forge-std/src/", - "hats-protocol/=lib/allo-v2/lib/hats-protocol/", - "openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/", - "openzeppelin-contracts/=lib/openzeppelin-contracts/", - "openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/", - "openzeppelin/=lib/openzeppelin-contracts/contracts/", - "permit2/=lib/allo-v2/lib/permit2/", - "prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/", - "prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/", - "safe-contracts/=lib/safe-contracts/", - "solady/=lib/allo-v2/lib/solady/", - "solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/", - "solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/", - "solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/", - "solmate/=lib/allo-v2/lib/permit2/lib/solmate/", - "utils/=lib/allo-v2/lib/hats-protocol/lib/utils/", - "v2-core/=lib/allo-v2/lib/v2-core/" - ], - "optimizer": { - "enabled": true, - "runs": 1000 - }, - "metadata": { - "bytecodeHash": "ipfs" - }, - "compilationTarget": { - "pkg/contracts/src/RegistryFactory.sol": "RegistryFactory" - }, - "evmVersion": "paris", - "libraries": {} - }, - "sources": { - "lib/allo-v2/contracts/core/interfaces/IAllo.sol": { - "keccak256": "0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce", - "urls": [ - "bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7", - "dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1" - ], - "license": "AGPL-3.0-only" - }, - "lib/allo-v2/contracts/core/interfaces/IRegistry.sol": { - "keccak256": "0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f", - "urls": [ - "bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e", - "dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA" - ], - "license": "MIT" - }, - "lib/allo-v2/contracts/core/interfaces/IStrategy.sol": { - "keccak256": "0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23", - "urls": [ - "bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487", - "dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH" - ], - "license": "AGPL-3.0-only" - }, - "lib/allo-v2/contracts/core/libraries/Clone.sol": { - "keccak256": "0xc348b24b7d8a98c4faa5f2aa37ce9264a74f81dbdef1a9bae2eaa125585c3c7e", - "urls": [ - "bzz-raw://1335b3ec59ec7e3d12ea7c90b3aa56f4c26e0d44d342f54412933be9d4f16067", - "dweb:/ipfs/QmXNFo2wCyq9cpvfgbdHvBUQecThFSEoUnMuZNS6WinDrr" - ], - "license": "AGPL-3.0-only" - }, - "lib/allo-v2/contracts/core/libraries/Errors.sol": { - "keccak256": "0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15", - "urls": [ - "bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf", - "dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA" - ], - "license": "AGPL-3.0-only" - }, - "lib/allo-v2/contracts/core/libraries/Metadata.sol": { - "keccak256": "0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44", - "urls": [ - "bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c", - "dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn" - ], - "license": "AGPL-3.0-only" - }, - "lib/allo-v2/contracts/core/libraries/Native.sol": { - "keccak256": "0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5", - "urls": [ - "bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a", - "dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv" - ], - "license": "AGPL-3.0-only" - }, - "lib/allo-v2/contracts/core/libraries/Transfer.sol": { - "keccak256": "0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286", - "urls": [ - "bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11", - "dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5" - ], - "license": "AGPL-3.0-only" - }, - "lib/allo-v2/contracts/strategies/BaseStrategy.sol": { - "keccak256": "0x3f1382dc6c35d50545e327e7ed6016f2bd752357d446bd698014073f0b812873", - "urls": [ - "bzz-raw://99500abcd617fa43f6dde49e2c7802821ceaf54a65a8055cbbf2695ecd107974", - "dweb:/ipfs/QmUktZkWuu3GCMEijY1fqt7NMy7BzpTvEtcmpB1fuoa7zt" - ], - "license": "AGPL-3.0-only" - }, - "lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol": { - "keccak256": "0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624", - "urls": [ - "bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298", - "dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt" - ], - "license": "MIT" - }, - "lib/forge-std/src/console.sol": { - "keccak256": "0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba", - "urls": [ - "bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70", - "dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol": { - "keccak256": "0x5a55d1b148a0cb4183f1e09ceaff87bd2d828440f2f5dc01dfe03eb29e7c88ec", - "urls": [ - "bzz-raw://b3f9278bdda788763efbe569da77fc24feff36e871779e2da69f74ea5f8bfacf", - "dweb:/ipfs/QmZF9cH4rfazmwKT55p3tZyzh9QGghNyss81f46d6yVXap" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/access/AccessControl.sol": { - "keccak256": "0x0dd6e52cb394d7f5abe5dca2d4908a6be40417914720932de757de34a99ab87f", - "urls": [ - "bzz-raw://dc117ce50ea746cab6b97ed1a1facee17a715ae0cb95d67b943dacbaf15176fb", - "dweb:/ipfs/QmYRZ2UGNYwsHwfNu7Wjr8L2j1LBZ1mKv6NvbwgterYMXc" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/access/IAccessControl.sol": { - "keccak256": "0x59ce320a585d7e1f163cd70390a0ef2ff9cec832e2aa544293a00692465a7a57", - "urls": [ - "bzz-raw://bb2c137c343ef0c4c7ce7b18c1d108afdc9d315a04e48307288d2d05adcbde3a", - "dweb:/ipfs/QmUxhrAQM3MM3FF5j7AtcXLXguWCJBHJ14BRdVtuoQc8Fh" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/access/Ownable.sol": { - "keccak256": "0xba43b97fba0d32eb4254f6a5a297b39a19a247082a02d6e69349e071e2946218", - "urls": [ - "bzz-raw://fc980984badf3984b6303b377711220e067722bbd6a135b24669ff5069ef9f32", - "dweb:/ipfs/QmPHXMSXj99XjSVM21YsY6aNtLLjLVXDbyN76J5HQYvvrz" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/security/ReentrancyGuard.sol": { - "keccak256": "0xa535a5df777d44e945dd24aa43a11e44b024140fc340ad0dfe42acf4002aade1", - "urls": [ - "bzz-raw://41319e7f621f2dc3733511332c4fd032f8e32ad2aa7fd6f665c19741d9941a34", - "dweb:/ipfs/QmcYR3bd862GD1Bc7jwrU9bGxrhUu5na1oP964bDCu2id1" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol": { - "keccak256": "0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c", - "urls": [ - "bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15", - "dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol": { - "keccak256": "0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305", - "urls": [ - "bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5", - "dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol": { - "keccak256": "0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca", - "urls": [ - "bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd", - "dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol": { - "keccak256": "0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a", - "urls": [ - "bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a", - "dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol": { - "keccak256": "0x909d608c2db6eb165ca178c81289a07ed2e118e444d0025b2a85c97d0b44a4fa", - "urls": [ - "bzz-raw://656cda26512ddd7373c2d5551c8fae759fc30f05b10f0fc2e738e9274199dbd4", - "dweb:/ipfs/QmTSArSzQRFbQmHgq7U1PZXnsDFhvDZhKVu9CzMG4yo6Lx" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/utils/Address.sol": { - "keccak256": "0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa", - "urls": [ - "bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931", - "dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/utils/Context.sol": { - "keccak256": "0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7", - "urls": [ - "bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92", - "dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/utils/Strings.sol": { - "keccak256": "0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0", - "urls": [ - "bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f", - "dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol": { - "keccak256": "0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b", - "urls": [ - "bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d", - "dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol": { - "keccak256": "0x5a08ad61f4e82b8a3323562661a86fb10b10190848073fdc13d4ac43710ffba5", - "urls": [ - "bzz-raw://6f7bb74cf88fd88daa34e118bc6e363381d05044f34f391d39a10c0c9dac3ebd", - "dweb:/ipfs/QmNbQ3v8v4zuDtg7VeLAbdhAm3tCzUodNoDZZ8ekmCHWZX" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol": { - "keccak256": "0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1", - "urls": [ - "bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f", - "dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/utils/math/Math.sol": { - "keccak256": "0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3", - "urls": [ - "bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c", - "dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol": { - "keccak256": "0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc", - "urls": [ - "bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7", - "dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6" - ], - "license": "MIT" - }, - "pkg/contracts/src/CVStrategy.sol": { - "keccak256": "0x132bcf17470960e380d841159d9389985d609aaae1c9a657c78902f7871da957", - "urls": [ - "bzz-raw://84e905bf392579b44f33fff8586431b940e110b2210854cf487321cc92061705", - "dweb:/ipfs/QmQpvszYu8RbrXmUFLifSodQzV8LAqazk1fzXNARGc5sBT" - ], - "license": "AGPL-3.0-only" - }, - "pkg/contracts/src/ISybilScorer.sol": { - "keccak256": "0x0e25fbb8497ac3c969d80c9032362d45e56c0a45dc9ba3dff6a8a704571f38ea", - "urls": [ - "bzz-raw://0dff90ebae6e7131a5300fcaf525bc2ab0ae90fcd13f277d7b7b6939eeb8b7eb", - "dweb:/ipfs/QmYGkYqpUVrBWoNY6f3CtwrrVQFWSvnJfpu68t95f6AkBY" - ], - "license": "MIT" - }, - "pkg/contracts/src/RegistryCommunity.sol": { - "keccak256": "0xc735f4d2635149f2db9bff291da56e08c3c312d9eb1b767b8a1e3e51584d5734", - "urls": [ - "bzz-raw://247b33b78abface6a7e2da38174386de9b543f6a27e8340e26d854bff57184a3", - "dweb:/ipfs/QmedNdqkqeboGzz9w868uGf7KnXUaYZe6i1YcdUPPkJnnf" - ], - "license": "AGPL-3.0-only" - }, - "pkg/contracts/src/RegistryFactory.sol": { - "keccak256": "0x888b7f5eb1079f90ccfa0b41d8a970bffd8d4d469f9b31917a58279b358dbda5", - "urls": [ - "bzz-raw://af25fd783de00adf01d1c7caa572801fed0d474306a43b862535b08e65ec10c6", - "dweb:/ipfs/Qmeb2nEaMQLV86y1CYAAV2c6BYpBDTbpLuC1SigeNjdqLo" - ], - "license": "AGPL-3.0-only" - }, - "pkg/contracts/src/interfaces/ISafe.sol": { - "keccak256": "0x878a210809bb684c42157a10f3f90350a67d0a4863f130499942b06f0f2c9143", - "urls": [ - "bzz-raw://fa2d71bd427c3415e98a2ee15ff673f3cc61c17f14d7087c5eedc83b55f6b0ef", - "dweb:/ipfs/QmesVSmJQQzi6ys1cvhQFCJyDXchb736mT5bXks4Yp6Cbj" - ], - "license": "LGPL-3.0-only" - } - }, - "version": 1 - }, - "storageLayout": { - "storage": [ - { - "astId": 55389, - "contract": "pkg/contracts/src/RegistryFactory.sol:RegistryFactory", - "label": "_owner", - "offset": 0, - "slot": "0", - "type": "t_address" - }, - { - "astId": 85058, - "contract": "pkg/contracts/src/RegistryFactory.sol:RegistryFactory", - "label": "nonce", - "offset": 0, - "slot": "1", - "type": "t_uint256" - }, - { - "astId": 85068, - "contract": "pkg/contracts/src/RegistryFactory.sol:RegistryFactory", - "label": "communityToInfo", - "offset": 0, - "slot": "2", - "type": "t_mapping(t_address,t_struct(CommunityInfo)85063_storage)" - }, - { - "astId": 85070, - "contract": "pkg/contracts/src/RegistryFactory.sol:RegistryFactory", - "label": "gardensFeeReceiver", - "offset": 0, - "slot": "3", - "type": "t_address" - } - ], - "types": { - "t_address": { - "encoding": "inplace", - "label": "address", - "numberOfBytes": "20" - }, - "t_bool": { - "encoding": "inplace", - "label": "bool", - "numberOfBytes": "1" - }, - "t_mapping(t_address,t_struct(CommunityInfo)85063_storage)": { - "encoding": "mapping", - "key": "t_address", - "label": "mapping(address => struct RegistryFactory.CommunityInfo)", - "numberOfBytes": "32", - "value": "t_struct(CommunityInfo)85063_storage" - }, - "t_struct(CommunityInfo)85063_storage": { - "encoding": "inplace", - "label": "struct RegistryFactory.CommunityInfo", - "numberOfBytes": "64", - "members": [ - { - "astId": 85060, - "contract": "pkg/contracts/src/RegistryFactory.sol:RegistryFactory", - "label": "valid", - "offset": 0, - "slot": "0", - "type": "t_bool" - }, - { - "astId": 85062, - "contract": "pkg/contracts/src/RegistryFactory.sol:RegistryFactory", - "label": "fee", - "offset": 0, - "slot": "1", - "type": "t_uint256" - } - ] - }, - "t_uint256": { - "encoding": "inplace", - "label": "uint256", - "numberOfBytes": "32" - } - } - }, - "ast": { - "absolutePath": "pkg/contracts/src/RegistryFactory.sol", - "id": 85284, - "exportedSymbols": { - "Ownable": [ - 55494 - ], - "RegistryCommunity": [ - 83082 - ], - "RegistryFactory": [ - 85283 - ] - }, - "nodeType": "SourceUnit", - "src": "42:3142:135", - "nodes": [ - { - "id": 85049, - "nodeType": "PragmaDirective", - "src": "42:24:135", - "nodes": [], - "literals": [ - "solidity", - "^", - "0.8", - ".19" - ] - }, - { - "id": 85051, - "nodeType": "ImportDirective", - "src": "68:63:135", - "nodes": [], - "absolutePath": "pkg/contracts/src/RegistryCommunity.sol", - "file": "../src/RegistryCommunity.sol", - "nameLocation": "-1:-1:-1", - "scope": 85284, - "sourceUnit": 83083, - "symbolAliases": [ - { - "foreign": { - "id": 85050, - "name": "RegistryCommunity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 83082, - "src": "76:17:135", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - } - ], - "unitAlias": "" - }, - { - "id": 85053, - "nodeType": "ImportDirective", - "src": "133:67:135", - "nodes": [], - "absolutePath": "lib/openzeppelin-contracts/contracts/access/Ownable.sol", - "file": "@openzeppelin/contracts/access/Ownable.sol", - "nameLocation": "-1:-1:-1", - "scope": 85284, - "sourceUnit": 55495, - "symbolAliases": [ - { - "foreign": { - "id": 85052, - "name": "Ownable", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 55494, - "src": "141:7:135", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - } - ], - "unitAlias": "" - }, - { - "id": 85283, - "nodeType": "ContractDefinition", - "src": "202:2981:135", - "nodes": [ - { - "id": 85058, - "nodeType": "VariableDeclaration", - "src": "244:24:135", - "nodes": [], - "constant": false, - "functionSelector": "affed0e0", - "mutability": "mutable", - "name": "nonce", - "nameLocation": "259:5:135", - "scope": 85283, - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 85056, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "244:7:135", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "hexValue": "30", - "id": 85057, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "267:1:135", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "visibility": "public" - }, - { - "id": 85063, - "nodeType": "StructDefinition", - "src": "351:69:135", - "nodes": [], - "canonicalName": "RegistryFactory.CommunityInfo", - "members": [ - { - "constant": false, - "id": 85060, - "mutability": "mutable", - "name": "valid", - "nameLocation": "387:5:135", - "nodeType": "VariableDeclaration", - "scope": 85063, - "src": "382:10:135", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 85059, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "382:4:135", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 85062, - "mutability": "mutable", - "name": "fee", - "nameLocation": "410:3:135", - "nodeType": "VariableDeclaration", - "scope": 85063, - "src": "402:11:135", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 85061, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "402:7:135", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "name": "CommunityInfo", - "nameLocation": "358:13:135", - "scope": 85283, - "visibility": "public" - }, - { - "id": 85068, - "nodeType": "VariableDeclaration", - "src": "426:49:135", - "nodes": [], - "constant": false, - "mutability": "mutable", - "name": "communityToInfo", - "nameLocation": "460:15:135", - "scope": 85283, - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_CommunityInfo_$85063_storage_$", - "typeString": "mapping(address => struct RegistryFactory.CommunityInfo)" - }, - "typeName": { - "id": 85067, - "keyName": "", - "keyNameLocation": "-1:-1:-1", - "keyType": { - "id": 85064, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "434:7:135", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "426:33:135", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_CommunityInfo_$85063_storage_$", - "typeString": "mapping(address => struct RegistryFactory.CommunityInfo)" - }, - "valueName": "", - "valueNameLocation": "-1:-1:-1", - "valueType": { - "id": 85066, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 85065, - "name": "CommunityInfo", - "nameLocations": [ - "445:13:135" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 85063, - "src": "445:13:135" - }, - "referencedDeclaration": 85063, - "src": "445:13:135", - "typeDescriptions": { - "typeIdentifier": "t_struct$_CommunityInfo_$85063_storage_ptr", - "typeString": "struct RegistryFactory.CommunityInfo" - } - } - }, - "visibility": "internal" - }, - { - "id": 85070, - "nodeType": "VariableDeclaration", - "src": "515:33:135", - "nodes": [], - "constant": false, - "functionSelector": "b8bed901", - "mutability": "mutable", - "name": "gardensFeeReceiver", - "nameLocation": "530:18:135", - "scope": 85283, - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 85069, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "515:7:135", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "public" - }, - { - "id": 85074, - "nodeType": "EventDefinition", - "src": "721:46:135", - "nodes": [], - "anonymous": false, - "eventSelector": "bdf37c276f641820b141429d245add2552b4118c0866e5a78638e3de5ef18d9d", - "name": "FeeReceiverSet", - "nameLocation": "727:14:135", - "parameters": { - "id": 85073, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 85072, - "indexed": false, - "mutability": "mutable", - "name": "_newFeeReceiver", - "nameLocation": "750:15:135", - "nodeType": "VariableDeclaration", - "scope": 85074, - "src": "742:23:135", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 85071, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "742:7:135", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "741:25:135" - } - }, - { - "id": 85080, - "nodeType": "EventDefinition", - "src": "772:66:135", - "nodes": [], - "anonymous": false, - "eventSelector": "a1ee82e4f177a8017f33ddddac05b7ceab1de9d46f7195e15e8aa2e8b88f3b1c", - "name": "ProtocolFeeSet", - "nameLocation": "778:14:135", - "parameters": { - "id": 85079, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 85076, - "indexed": false, - "mutability": "mutable", - "name": "_community", - "nameLocation": "801:10:135", - "nodeType": "VariableDeclaration", - "scope": 85080, - "src": "793:18:135", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 85075, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "793:7:135", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 85078, - "indexed": false, - "mutability": "mutable", - "name": "_newProtocolFee", - "nameLocation": "821:15:135", - "nodeType": "VariableDeclaration", - "scope": 85080, - "src": "813:23:135", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 85077, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "813:7:135", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "792:45:135" - } - }, - { - "id": 85084, - "nodeType": "EventDefinition", - "src": "843:51:135", - "nodes": [], - "anonymous": false, - "eventSelector": "b4108a188495a1a681cdc0750af164011025a1773b41e93ff3e628adc037dc29", - "name": "CommunityCreated", - "nameLocation": "849:16:135", - "parameters": { - "id": 85083, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 85082, - "indexed": false, - "mutability": "mutable", - "name": "_registryCommunity", - "nameLocation": "874:18:135", - "nodeType": "VariableDeclaration", - "scope": 85084, - "src": "866:26:135", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 85081, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "866:7:135", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "865:28:135" - } - }, - { - "id": 85090, - "nodeType": "EventDefinition", - "src": "899:62:135", - "nodes": [], - "anonymous": false, - "eventSelector": "ecdcd3502799a6c41864ea2682236184e876f63e10f8d56c7768a3d501e89f62", - "name": "CommunityValiditySet", - "nameLocation": "905:20:135", - "parameters": { - "id": 85089, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 85086, - "indexed": false, - "mutability": "mutable", - "name": "_community", - "nameLocation": "934:10:135", - "nodeType": "VariableDeclaration", - "scope": 85090, - "src": "926:18:135", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 85085, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "926:7:135", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 85088, - "indexed": false, - "mutability": "mutable", - "name": "_isValid", - "nameLocation": "951:8:135", - "nodeType": "VariableDeclaration", - "scope": 85090, - "src": "946:13:135", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 85087, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "946:4:135", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "925:35:135" - } - }, - { - "id": 85094, - "nodeType": "ErrorDefinition", - "src": "1133:43:135", - "nodes": [], - "errorSelector": "f5a6943d", - "name": "CommunityInvalid", - "nameLocation": "1139:16:135", - "parameters": { - "id": 85093, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 85092, - "mutability": "mutable", - "name": "_community", - "nameLocation": "1164:10:135", - "nodeType": "VariableDeclaration", - "scope": 85094, - "src": "1156:18:135", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 85091, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1156:7:135", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "1155:20:135" - } - }, - { - "id": 85096, - "nodeType": "ErrorDefinition", - "src": "1181:28:135", - "nodes": [], - "errorSelector": "e622e040", - "name": "AddressCannotBeZero", - "nameLocation": "1187:19:135", - "parameters": { - "id": 85095, - "nodeType": "ParameterList", - "parameters": [], - "src": "1206:2:135" - } - }, - { - "id": 85112, - "nodeType": "FunctionDefinition", - "src": "1380:133:135", - "nodes": [], - "body": { - "id": 85111, - "nodeType": "Block", - "src": "1440:73:135", - "nodes": [], - "statements": [ - { - "condition": { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 85106, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 85101, - "name": "_address", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 85098, - "src": "1454:8:135", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "arguments": [ - { - "hexValue": "30", - "id": 85104, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1474:1:135", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 85103, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1466:7:135", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 85102, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1466:7:135", - "typeDescriptions": {} - } - }, - "id": 85105, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "1466:10:135", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1454:22:135", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 85110, - "nodeType": "IfStatement", - "src": "1450:56:135", - "trueBody": { - "errorCall": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 85107, - "name": "AddressCannotBeZero", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 85096, - "src": "1485:19:135", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 85108, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "1485:21:135", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 85109, - "nodeType": "RevertStatement", - "src": "1478:28:135" - } - } - ] - }, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_revertZeroAddress", - "nameLocation": "1389:18:135", - "parameters": { - "id": 85099, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 85098, - "mutability": "mutable", - "name": "_address", - "nameLocation": "1416:8:135", - "nodeType": "VariableDeclaration", - "scope": 85112, - "src": "1408:16:135", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 85097, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1408:7:135", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "1407:18:135" - }, - "returnParameters": { - "id": 85100, - "nodeType": "ParameterList", - "parameters": [], - "src": "1440:0:135" - }, - "scope": 85283, - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "id": 85173, - "nodeType": "FunctionDefinition", - "src": "1519:518:135", - "nodes": [], - "body": { - "id": 85172, - "nodeType": "Block", - "src": "1662:375:135", - "nodes": [], - "statements": [ - { - "assignments": [ - 85122 - ], - "declarations": [ - { - "constant": false, - "id": 85122, - "mutability": "mutable", - "name": "registryCommunity", - "nameLocation": "1690:17:135", - "nodeType": "VariableDeclaration", - "scope": 85172, - "src": "1672:35:135", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_RegistryCommunity_$83082", - "typeString": "contract RegistryCommunity" - }, - "typeName": { - "id": 85121, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 85120, - "name": "RegistryCommunity", - "nameLocations": [ - "1672:17:135" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 83082, - "src": "1672:17:135" - }, - "referencedDeclaration": 83082, - "src": "1672:17:135", - "typeDescriptions": { - "typeIdentifier": "t_contract$_RegistryCommunity_$83082", - "typeString": "contract RegistryCommunity" - } - }, - "visibility": "internal" - } - ], - "id": 85127, - "initialValue": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 85125, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "1710:21:135", - "typeDescriptions": { - "typeIdentifier": "t_function_creation_nonpayable$__$returns$_t_contract$_RegistryCommunity_$83082_$", - "typeString": "function () returns (contract RegistryCommunity)" - }, - "typeName": { - "id": 85124, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 85123, - "name": "RegistryCommunity", - "nameLocations": [ - "1714:17:135" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 83082, - "src": "1714:17:135" - }, - "referencedDeclaration": 83082, - "src": "1714:17:135", - "typeDescriptions": { - "typeIdentifier": "t_contract$_RegistryCommunity_$83082", - "typeString": "contract RegistryCommunity" - } - } - }, - "id": 85126, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "1710:23:135", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_RegistryCommunity_$83082", - "typeString": "contract RegistryCommunity" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1672:61:135" - }, - { - "expression": { - "id": 85133, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "expression": { - "id": 85128, - "name": "params", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 85115, - "src": "1743:6:135", - "typeDescriptions": { - "typeIdentifier": "t_struct$_InitializeParams_$81515_memory_ptr", - "typeString": "struct RegistryCommunity.InitializeParams memory" - } - }, - "id": 85130, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberLocation": "1750:6:135", - "memberName": "_nonce", - "nodeType": "MemberAccess", - "referencedDeclaration": 81497, - "src": "1743:13:135", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 85132, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "1759:7:135", - "subExpression": { - "id": 85131, - "name": "nonce", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 85058, - "src": "1759:5:135", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1743:23:135", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 85134, - "nodeType": "ExpressionStatement", - "src": "1743:23:135" - }, - { - "expression": { - "id": 85142, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "expression": { - "id": 85135, - "name": "params", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 85115, - "src": "1776:6:135", - "typeDescriptions": { - "typeIdentifier": "t_struct$_InitializeParams_$81515_memory_ptr", - "typeString": "struct RegistryCommunity.InitializeParams memory" - } - }, - "id": 85137, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberLocation": "1783:16:135", - "memberName": "_registryFactory", - "nodeType": "MemberAccess", - "referencedDeclaration": 81499, - "src": "1776:23:135", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "id": 85140, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "1810:4:135", - "typeDescriptions": { - "typeIdentifier": "t_contract$_RegistryFactory_$85283", - "typeString": "contract RegistryFactory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_RegistryFactory_$85283", - "typeString": "contract RegistryFactory" - } - ], - "id": 85139, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1802:7:135", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 85138, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1802:7:135", - "typeDescriptions": {} - } - }, - "id": 85141, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "1802:13:135", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1776:39:135", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 85143, - "nodeType": "ExpressionStatement", - "src": "1776:39:135" - }, - { - "expression": { - "arguments": [ - { - "id": 85147, - "name": "params", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 85115, - "src": "1855:6:135", - "typeDescriptions": { - "typeIdentifier": "t_struct$_InitializeParams_$81515_memory_ptr", - "typeString": "struct RegistryCommunity.InitializeParams memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_InitializeParams_$81515_memory_ptr", - "typeString": "struct RegistryCommunity.InitializeParams memory" - } - ], - "expression": { - "id": 85144, - "name": "registryCommunity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 85122, - "src": "1826:17:135", - "typeDescriptions": { - "typeIdentifier": "t_contract$_RegistryCommunity_$83082", - "typeString": "contract RegistryCommunity" - } - }, - "id": 85146, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberLocation": "1844:10:135", - "memberName": "initialize", - "nodeType": "MemberAccess", - "referencedDeclaration": 81820, - "src": "1826:28:135", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_struct$_InitializeParams_$81515_memory_ptr_$returns$__$", - "typeString": "function (struct RegistryCommunity.InitializeParams memory) external" - } - }, - "id": 85148, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "1826:36:135", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 85149, - "nodeType": "ExpressionStatement", - "src": "1826:36:135" - }, - { - "expression": { - "id": 85158, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "expression": { - "baseExpression": { - "id": 85150, - "name": "communityToInfo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 85068, - "src": "1872:15:135", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_CommunityInfo_$85063_storage_$", - "typeString": "mapping(address => struct RegistryFactory.CommunityInfo storage ref)" - } - }, - "id": 85155, - "indexExpression": { - "arguments": [ - { - "id": 85153, - "name": "registryCommunity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 85122, - "src": "1896:17:135", - "typeDescriptions": { - "typeIdentifier": "t_contract$_RegistryCommunity_$83082", - "typeString": "contract RegistryCommunity" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_RegistryCommunity_$83082", - "typeString": "contract RegistryCommunity" - } - ], - "id": 85152, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1888:7:135", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 85151, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1888:7:135", - "typeDescriptions": {} - } - }, - "id": 85154, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "1888:26:135", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1872:43:135", - "typeDescriptions": { - "typeIdentifier": "t_struct$_CommunityInfo_$85063_storage", - "typeString": "struct RegistryFactory.CommunityInfo storage ref" - } - }, - "id": 85156, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberLocation": "1916:5:135", - "memberName": "valid", - "nodeType": "MemberAccess", - "referencedDeclaration": 85060, - "src": "1872:49:135", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "hexValue": "74727565", - "id": 85157, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1924:4:135", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "1872:56:135", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 85159, - "nodeType": "ExpressionStatement", - "src": "1872:56:135" - }, - { - "eventCall": { - "arguments": [ - { - "arguments": [ - { - "id": 85163, - "name": "registryCommunity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 85122, - "src": "1968:17:135", - "typeDescriptions": { - "typeIdentifier": "t_contract$_RegistryCommunity_$83082", - "typeString": "contract RegistryCommunity" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_RegistryCommunity_$83082", - "typeString": "contract RegistryCommunity" - } - ], - "id": 85162, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1960:7:135", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 85161, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1960:7:135", - "typeDescriptions": {} - } - }, - "id": 85164, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "1960:26:135", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 85160, - "name": "CommunityCreated", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 85084, - "src": "1943:16:135", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$", - "typeString": "function (address)" - } - }, - "id": 85165, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "1943:44:135", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 85166, - "nodeType": "EmitStatement", - "src": "1938:49:135" - }, - { - "expression": { - "arguments": [ - { - "id": 85169, - "name": "registryCommunity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 85122, - "src": "2012:17:135", - "typeDescriptions": { - "typeIdentifier": "t_contract$_RegistryCommunity_$83082", - "typeString": "contract RegistryCommunity" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_RegistryCommunity_$83082", - "typeString": "contract RegistryCommunity" - } - ], - "id": 85168, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2004:7:135", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 85167, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2004:7:135", - "typeDescriptions": {} - } - }, - "id": 85170, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2004:26:135", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "functionReturnParameters": 85119, - "id": 85171, - "nodeType": "Return", - "src": "1997:33:135" - } - ] - }, - "functionSelector": "8a16135f", - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "createRegistry", - "nameLocation": "1528:14:135", - "parameters": { - "id": 85116, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 85115, - "mutability": "mutable", - "name": "params", - "nameLocation": "1585:6:135", - "nodeType": "VariableDeclaration", - "scope": 85173, - "src": "1543:48:135", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_InitializeParams_$81515_memory_ptr", - "typeString": "struct RegistryCommunity.InitializeParams" - }, - "typeName": { - "id": 85114, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 85113, - "name": "RegistryCommunity.InitializeParams", - "nameLocations": [ - "1543:17:135", - "1561:16:135" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 81515, - "src": "1543:34:135" - }, - "referencedDeclaration": 81515, - "src": "1543:34:135", - "typeDescriptions": { - "typeIdentifier": "t_struct$_InitializeParams_$81515_storage_ptr", - "typeString": "struct RegistryCommunity.InitializeParams" - } - }, - "visibility": "internal" - } - ], - "src": "1542:50:135" - }, - "returnParameters": { - "id": 85119, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 85118, - "mutability": "mutable", - "name": "_createdRegistryAddress", - "nameLocation": "1633:23:135", - "nodeType": "VariableDeclaration", - "scope": 85173, - "src": "1625:31:135", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 85117, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1625:7:135", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "1624:33:135" - }, - "scope": 85283, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "id": 85193, - "nodeType": "FunctionDefinition", - "src": "2043:214:135", - "nodes": [], - "body": { - "id": 85192, - "nodeType": "Block", - "src": "2113:144:135", - "nodes": [], - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 85181, - "name": "_newFeeReceiver", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 85175, - "src": "2142:15:135", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 85180, - "name": "_revertZeroAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 85112, - "src": "2123:18:135", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_address_$returns$__$", - "typeString": "function (address) pure" - } - }, - "id": 85182, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2123:35:135", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 85183, - "nodeType": "ExpressionStatement", - "src": "2123:35:135" - }, - { - "expression": { - "id": 85186, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 85184, - "name": "gardensFeeReceiver", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 85070, - "src": "2168:18:135", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 85185, - "name": "_newFeeReceiver", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 85175, - "src": "2189:15:135", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "2168:36:135", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 85187, - "nodeType": "ExpressionStatement", - "src": "2168:36:135" - }, - { - "eventCall": { - "arguments": [ - { - "id": 85189, - "name": "_newFeeReceiver", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 85175, - "src": "2234:15:135", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 85188, - "name": "FeeReceiverSet", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 85074, - "src": "2219:14:135", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$", - "typeString": "function (address)" - } - }, - "id": 85190, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2219:31:135", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 85191, - "nodeType": "EmitStatement", - "src": "2214:36:135" - } - ] - }, - "functionSelector": "8279c7db", - "implemented": true, - "kind": "function", - "modifiers": [ - { - "id": 85178, - "kind": "modifierInvocation", - "modifierName": { - "id": 85177, - "name": "onlyOwner", - "nameLocations": [ - "2103:9:135" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 55413, - "src": "2103:9:135" - }, - "nodeType": "ModifierInvocation", - "src": "2103:9:135" - } - ], - "name": "setReceiverAddress", - "nameLocation": "2052:18:135", - "parameters": { - "id": 85176, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 85175, - "mutability": "mutable", - "name": "_newFeeReceiver", - "nameLocation": "2079:15:135", - "nodeType": "VariableDeclaration", - "scope": 85193, - "src": "2071:23:135", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 85174, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2071:7:135", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "2070:25:135" - }, - "returnParameters": { - "id": 85179, - "nodeType": "ParameterList", - "parameters": [], - "src": "2113:0:135" - }, - "scope": 85283, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "id": 85201, - "nodeType": "FunctionDefinition", - "src": "2263:107:135", - "nodes": [], - "body": { - "id": 85200, - "nodeType": "Block", - "src": "2328:42:135", - "nodes": [], - "statements": [ - { - "expression": { - "id": 85198, - "name": "gardensFeeReceiver", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 85070, - "src": "2345:18:135", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "functionReturnParameters": 85197, - "id": 85199, - "nodeType": "Return", - "src": "2338:25:135" - } - ] - }, - "functionSelector": "987435be", - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getGardensFeeReceiver", - "nameLocation": "2272:21:135", - "parameters": { - "id": 85194, - "nodeType": "ParameterList", - "parameters": [], - "src": "2293:2:135" - }, - "returnParameters": { - "id": 85197, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 85196, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 85201, - "src": "2319:7:135", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 85195, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2319:7:135", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "2318:9:135" - }, - "scope": 85283, - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "id": 85223, - "nodeType": "FunctionDefinition", - "src": "2376:210:135", - "nodes": [], - "body": { - "id": 85222, - "nodeType": "Block", - "src": "2462:124:135", - "nodes": [], - "statements": [ - { - "expression": { - "id": 85215, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "expression": { - "baseExpression": { - "id": 85210, - "name": "communityToInfo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 85068, - "src": "2472:15:135", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_CommunityInfo_$85063_storage_$", - "typeString": "mapping(address => struct RegistryFactory.CommunityInfo storage ref)" - } - }, - "id": 85212, - "indexExpression": { - "id": 85211, - "name": "_community", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 85203, - "src": "2488:10:135", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2472:27:135", - "typeDescriptions": { - "typeIdentifier": "t_struct$_CommunityInfo_$85063_storage", - "typeString": "struct RegistryFactory.CommunityInfo storage ref" - } - }, - "id": 85213, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberLocation": "2500:3:135", - "memberName": "fee", - "nodeType": "MemberAccess", - "referencedDeclaration": 85062, - "src": "2472:31:135", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 85214, - "name": "_newProtocolFee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 85205, - "src": "2506:15:135", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2472:49:135", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 85216, - "nodeType": "ExpressionStatement", - "src": "2472:49:135" - }, - { - "eventCall": { - "arguments": [ - { - "id": 85218, - "name": "_community", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 85203, - "src": "2551:10:135", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 85219, - "name": "_newProtocolFee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 85205, - "src": "2563:15:135", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 85217, - "name": "ProtocolFeeSet", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 85080, - "src": "2536:14:135", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 85220, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2536:43:135", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 85221, - "nodeType": "EmitStatement", - "src": "2531:48:135" - } - ] - }, - "functionSelector": "b5b3ca2c", - "implemented": true, - "kind": "function", - "modifiers": [ - { - "id": 85208, - "kind": "modifierInvocation", - "modifierName": { - "id": 85207, - "name": "onlyOwner", - "nameLocations": [ - "2452:9:135" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 55413, - "src": "2452:9:135" - }, - "nodeType": "ModifierInvocation", - "src": "2452:9:135" - } - ], - "name": "setProtocolFee", - "nameLocation": "2385:14:135", - "parameters": { - "id": 85206, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 85203, - "mutability": "mutable", - "name": "_community", - "nameLocation": "2408:10:135", - "nodeType": "VariableDeclaration", - "scope": 85223, - "src": "2400:18:135", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 85202, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2400:7:135", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 85205, - "mutability": "mutable", - "name": "_newProtocolFee", - "nameLocation": "2428:15:135", - "nodeType": "VariableDeclaration", - "scope": 85223, - "src": "2420:23:135", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 85204, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2420:7:135", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "2399:45:135" - }, - "returnParameters": { - "id": 85209, - "nodeType": "ParameterList", - "parameters": [], - "src": "2462:0:135" - }, - "scope": 85283, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "id": 85245, - "nodeType": "FunctionDefinition", - "src": "2592:200:135", - "nodes": [], - "body": { - "id": 85244, - "nodeType": "Block", - "src": "2674:118:135", - "nodes": [], - "statements": [ - { - "expression": { - "id": 85237, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "expression": { - "baseExpression": { - "id": 85232, - "name": "communityToInfo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 85068, - "src": "2684:15:135", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_CommunityInfo_$85063_storage_$", - "typeString": "mapping(address => struct RegistryFactory.CommunityInfo storage ref)" - } - }, - "id": 85234, - "indexExpression": { - "id": 85233, - "name": "_community", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 85225, - "src": "2700:10:135", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2684:27:135", - "typeDescriptions": { - "typeIdentifier": "t_struct$_CommunityInfo_$85063_storage", - "typeString": "struct RegistryFactory.CommunityInfo storage ref" - } - }, - "id": 85235, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberLocation": "2712:5:135", - "memberName": "valid", - "nodeType": "MemberAccess", - "referencedDeclaration": 85060, - "src": "2684:33:135", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 85236, - "name": "_isValid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 85227, - "src": "2720:8:135", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "2684:44:135", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 85238, - "nodeType": "ExpressionStatement", - "src": "2684:44:135" - }, - { - "eventCall": { - "arguments": [ - { - "id": 85240, - "name": "_community", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 85225, - "src": "2764:10:135", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 85241, - "name": "_isValid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 85227, - "src": "2776:8:135", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 85239, - "name": "CommunityValiditySet", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 85090, - "src": "2743:20:135", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_bool_$returns$__$", - "typeString": "function (address,bool)" - } - }, - "id": 85242, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "2743:42:135", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 85243, - "nodeType": "EmitStatement", - "src": "2738:47:135" - } - ] - }, - "functionSelector": "5a2c8ace", - "implemented": true, - "kind": "function", - "modifiers": [ - { - "id": 85230, - "kind": "modifierInvocation", - "modifierName": { - "id": 85229, - "name": "onlyOwner", - "nameLocations": [ - "2664:9:135" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 55413, - "src": "2664:9:135" - }, - "nodeType": "ModifierInvocation", - "src": "2664:9:135" - } - ], - "name": "setCommunityValidity", - "nameLocation": "2601:20:135", - "parameters": { - "id": 85228, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 85225, - "mutability": "mutable", - "name": "_community", - "nameLocation": "2630:10:135", - "nodeType": "VariableDeclaration", - "scope": 85245, - "src": "2622:18:135", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 85224, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2622:7:135", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 85227, - "mutability": "mutable", - "name": "_isValid", - "nameLocation": "2647:8:135", - "nodeType": "VariableDeclaration", - "scope": 85245, - "src": "2642:13:135", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 85226, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "2642:4:135", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "2621:35:135" - }, - "returnParameters": { - "id": 85231, - "nodeType": "ParameterList", - "parameters": [], - "src": "2674:0:135" - }, - "scope": 85283, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "id": 85258, - "nodeType": "FunctionDefinition", - "src": "2798:136:135", - "nodes": [], - "body": { - "id": 85257, - "nodeType": "Block", - "src": "2877:57:135", - "nodes": [], - "statements": [ - { - "expression": { - "expression": { - "baseExpression": { - "id": 85252, - "name": "communityToInfo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 85068, - "src": "2894:15:135", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_CommunityInfo_$85063_storage_$", - "typeString": "mapping(address => struct RegistryFactory.CommunityInfo storage ref)" - } - }, - "id": 85254, - "indexExpression": { - "id": 85253, - "name": "_community", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 85247, - "src": "2910:10:135", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2894:27:135", - "typeDescriptions": { - "typeIdentifier": "t_struct$_CommunityInfo_$85063_storage", - "typeString": "struct RegistryFactory.CommunityInfo storage ref" - } - }, - "id": 85255, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "2922:5:135", - "memberName": "valid", - "nodeType": "MemberAccess", - "referencedDeclaration": 85060, - "src": "2894:33:135", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 85251, - "id": 85256, - "nodeType": "Return", - "src": "2887:40:135" - } - ] - }, - "functionSelector": "f5016b5e", - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getCommunityValidity", - "nameLocation": "2807:20:135", - "parameters": { - "id": 85248, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 85247, - "mutability": "mutable", - "name": "_community", - "nameLocation": "2836:10:135", - "nodeType": "VariableDeclaration", - "scope": 85258, - "src": "2828:18:135", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 85246, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2828:7:135", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "2827:20:135" - }, - "returnParameters": { - "id": 85251, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 85250, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 85258, - "src": "2871:4:135", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 85249, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "2871:4:135", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "2870:6:135" - }, - "scope": 85283, - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "id": 85282, - "nodeType": "FunctionDefinition", - "src": "2940:241:135", - "nodes": [], - "body": { - "id": 85281, - "nodeType": "Block", - "src": "3016:165:135", - "nodes": [], - "statements": [ - { - "condition": { - "id": 85269, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "3030:34:135", - "subExpression": { - "expression": { - "baseExpression": { - "id": 85265, - "name": "communityToInfo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 85068, - "src": "3031:15:135", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_CommunityInfo_$85063_storage_$", - "typeString": "mapping(address => struct RegistryFactory.CommunityInfo storage ref)" - } - }, - "id": 85267, - "indexExpression": { - "id": 85266, - "name": "_community", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 85260, - "src": "3047:10:135", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3031:27:135", - "typeDescriptions": { - "typeIdentifier": "t_struct$_CommunityInfo_$85063_storage", - "typeString": "struct RegistryFactory.CommunityInfo storage ref" - } - }, - "id": 85268, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "3059:5:135", - "memberName": "valid", - "nodeType": "MemberAccess", - "referencedDeclaration": 85060, - "src": "3031:33:135", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 85275, - "nodeType": "IfStatement", - "src": "3026:100:135", - "trueBody": { - "id": 85274, - "nodeType": "Block", - "src": "3066:60:135", - "statements": [ - { - "errorCall": { - "arguments": [ - { - "id": 85271, - "name": "_community", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 85260, - "src": "3104:10:135", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 85270, - "name": "CommunityInvalid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 85094, - "src": "3087:16:135", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$_t_address_$returns$__$", - "typeString": "function (address) pure" - } - }, - "id": 85272, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "3087:28:135", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 85273, - "nodeType": "RevertStatement", - "src": "3080:35:135" - } - ] - } - }, - { - "expression": { - "expression": { - "baseExpression": { - "id": 85276, - "name": "communityToInfo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 85068, - "src": "3143:15:135", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_CommunityInfo_$85063_storage_$", - "typeString": "mapping(address => struct RegistryFactory.CommunityInfo storage ref)" - } - }, - "id": 85278, - "indexExpression": { - "id": 85277, - "name": "_community", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 85260, - "src": "3159:10:135", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3143:27:135", - "typeDescriptions": { - "typeIdentifier": "t_struct$_CommunityInfo_$85063_storage", - "typeString": "struct RegistryFactory.CommunityInfo storage ref" - } - }, - "id": 85279, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberLocation": "3171:3:135", - "memberName": "fee", - "nodeType": "MemberAccess", - "referencedDeclaration": 85062, - "src": "3143:31:135", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 85264, - "id": 85280, - "nodeType": "Return", - "src": "3136:38:135" - } - ] - }, - "functionSelector": "0a992e0c", - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getProtocolFee", - "nameLocation": "2949:14:135", - "parameters": { - "id": 85261, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 85260, - "mutability": "mutable", - "name": "_community", - "nameLocation": "2972:10:135", - "nodeType": "VariableDeclaration", - "scope": 85282, - "src": "2964:18:135", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 85259, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2964:7:135", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "2963:20:135" - }, - "returnParameters": { - "id": 85264, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 85263, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 85282, - "src": "3007:7:135", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 85262, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3007:7:135", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "3006:9:135" - }, - "scope": 85283, - "stateMutability": "view", - "virtual": false, - "visibility": "external" - } - ], - "abstract": false, - "baseContracts": [ - { - "baseName": { - "id": 85054, - "name": "Ownable", - "nameLocations": [ - "230:7:135" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 55494, - "src": "230:7:135" - }, - "id": 85055, - "nodeType": "InheritanceSpecifier", - "src": "230:7:135" - } - ], - "canonicalName": "RegistryFactory", - "contractDependencies": [ - 83082 - ], - "contractKind": "contract", - "fullyImplemented": true, - "linearizedBaseContracts": [ - 85283, - 55494, - 57903 - ], - "name": "RegistryFactory", - "nameLocation": "211:15:135", - "scope": 85284, - "usedErrors": [ - 85094, - 85096 - ] - } - ], - "license": "AGPL-3.0-only" - }, - "id": 135 -} \ No newline at end of file +{"abi":[{"type":"function","name":"createRegistry","inputs":[{"name":"params","type":"tuple","internalType":"struct RegistryCommunity.InitializeParams","components":[{"name":"_allo","type":"address","internalType":"address"},{"name":"_gardenToken","type":"address","internalType":"contract IERC20"},{"name":"_registerStakeAmount","type":"uint256","internalType":"uint256"},{"name":"_communityFee","type":"uint256","internalType":"uint256"},{"name":"_nonce","type":"uint256","internalType":"uint256"},{"name":"_registryFactory","type":"address","internalType":"address"},{"name":"_feeReceiver","type":"address","internalType":"address"},{"name":"_metadata","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]},{"name":"_councilSafe","type":"address","internalType":"address payable"},{"name":"_communityName","type":"string","internalType":"string"},{"name":"_isKickEnabled","type":"bool","internalType":"bool"},{"name":"covenantIpfsHash","type":"string","internalType":"string"},{"name":"_strategyTemplate","type":"address","internalType":"address"}]}],"outputs":[{"name":"_createdRegistryAddress","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"gardensFeeReceiver","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getCommunityValidity","inputs":[{"name":"_community","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"getGardensFeeReceiver","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getProtocolFee","inputs":[{"name":"_community","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"nonce","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"renounceOwnership","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setCommunityValidity","inputs":[{"name":"_community","type":"address","internalType":"address"},{"name":"_isValid","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setProtocolFee","inputs":[{"name":"_community","type":"address","internalType":"address"},{"name":"_newProtocolFee","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setReceiverAddress","inputs":[{"name":"_newFeeReceiver","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"transferOwnership","inputs":[{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"CommunityCreated","inputs":[{"name":"_registryCommunity","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"CommunityValiditySet","inputs":[{"name":"_community","type":"address","indexed":false,"internalType":"address"},{"name":"_isValid","type":"bool","indexed":false,"internalType":"bool"}],"anonymous":false},{"type":"event","name":"FeeReceiverSet","inputs":[{"name":"_newFeeReceiver","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"previousOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"ProtocolFeeSet","inputs":[{"name":"_community","type":"address","indexed":false,"internalType":"address"},{"name":"_newProtocolFee","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"error","name":"AddressCannotBeZero","inputs":[]},{"type":"error","name":"CommunityInvalid","inputs":[{"name":"_community","type":"address","internalType":"address"}]}],"bytecode":{"object":"0x6080604052600060015534801561001557600080fd5b5061001f33610024565b610074565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6152d1806100836000396000f3fe608060405234801561001057600080fd5b50600436106100d45760003560e01c8063987435be11610081578063b8bed9011161005b578063b8bed90114610198578063f2fde38b146101ab578063f5016b5e146101be57600080fd5b8063987435be1461016b578063affed0e01461017c578063b5b3ca2c1461018557600080fd5b80638279c7db116100b25780638279c7db1461011c5780638a16135f1461012f5780638da5cb5b1461015a57600080fd5b80630a992e0c146100d95780635a2c8ace146100ff578063715018a614610114575b600080fd5b6100ec6100e73660046106a3565b6101fa565b6040519081526020015b60405180910390f35b61011261010d3660046106d7565b61027b565b005b6101126102e7565b61011261012a3660046106a3565b6102fb565b61014261013d366004610848565b61036d565b6040516001600160a01b0390911681526020016100f6565b6000546001600160a01b0316610142565b6003546001600160a01b0316610142565b6100ec60015481565b61011261019336600461099e565b61048e565b600354610142906001600160a01b031681565b6101126101b93660046106a3565b6104ea565b6101ea6101cc3660046106a3565b6001600160a01b031660009081526002602052604090205460ff1690565b60405190151581526020016100f6565b6001600160a01b03811660009081526002602052604081205460ff1661025c576040517ff5a6943d0000000000000000000000000000000000000000000000000000000081526001600160a01b03831660048201526024015b60405180910390fd5b506001600160a01b031660009081526002602052604090206001015490565b61028361057a565b6001600160a01b038216600081815260026020908152604091829020805460ff19168515159081179091558251938452908301527fecdcd3502799a6c41864ea2682236184e876f63e10f8d56c7768a3d501e89f6291015b60405180910390a15050565b6102ef61057a565b6102f960006105d4565b565b61030361057a565b61030c81610631565b6003805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0383169081179091556040519081527fbdf37c276f641820b141429d245add2552b4118c0866e5a78638e3de5ef18d9d9060200160405180910390a150565b60008060405161037c90610671565b604051809103906000f080158015610398573d6000803e3d6000fd5b506001805491925060006103ab836109ca565b9091555060808401523060a08401526040517f96f0adec0000000000000000000000000000000000000000000000000000000081526001600160a01b038216906396f0adec906103ff908690600401610a5e565b600060405180830381600087803b15801561041957600080fd5b505af115801561042d573d6000803e3d6000fd5b505050506001600160a01b038116600081815260026020908152604091829020805460ff1916600117905590519182527fb4108a188495a1a681cdc0750af164011025a1773b41e93ff3e628adc037dc29910160405180910390a192915050565b61049661057a565b6001600160a01b038216600081815260026020908152604091829020600101849055815192835282018390527fa1ee82e4f177a8017f33ddddac05b7ceab1de9d46f7195e15e8aa2e8b88f3b1c91016102db565b6104f261057a565b6001600160a01b03811661056e5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610253565b610577816105d4565b50565b6000546001600160a01b031633146102f95760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610253565b600080546001600160a01b0383811673ffffffffffffffffffffffffffffffffffffffff19831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b038116610577576040517fe622e04000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6146fe80610b9e83390190565b6001600160a01b038116811461057757600080fd5b803561069e8161067e565b919050565b6000602082840312156106b557600080fd5b81356106c08161067e565b9392505050565b8035801515811461069e57600080fd5b600080604083850312156106ea57600080fd5b82356106f58161067e565b9150610703602084016106c7565b90509250929050565b634e487b7160e01b600052604160045260246000fd5b6040516101a0810167ffffffffffffffff811182821017156107465761074661070c565b60405290565b600082601f83011261075d57600080fd5b813567ffffffffffffffff808211156107785761077861070c565b604051601f8301601f19908116603f011681019082821181831017156107a0576107a061070c565b816040528381528660208588010111156107b957600080fd5b836020870160208301376000602085830101528094505050505092915050565b6000604082840312156107eb57600080fd5b6040516040810167ffffffffffffffff828210818311171561080f5761080f61070c565b8160405282935084358352602085013591508082111561082e57600080fd5b5061083b8582860161074c565b6020830152505092915050565b60006020828403121561085a57600080fd5b813567ffffffffffffffff8082111561087257600080fd5b908301906101a0828603121561088757600080fd5b61088f610722565b61089883610693565b81526108a660208401610693565b60208201526040830135604082015260608301356060820152608083013560808201526108d560a08401610693565b60a08201526108e660c08401610693565b60c082015260e0830135828111156108fd57600080fd5b610909878286016107d9565b60e08301525061010061091d818501610693565b90820152610120838101358381111561093557600080fd5b6109418882870161074c565b8284015250506101406109558185016106c7565b90820152610160838101358381111561096d57600080fd5b6109798882870161074c565b828401525050610180915061098f828401610693565b91810191909152949350505050565b600080604083850312156109b157600080fd5b82356109bc8161067e565b946020939093013593505050565b6000600182016109ea57634e487b7160e01b600052601160045260246000fd5b5060010190565b6000815180845260005b81811015610a17576020818501810151868301820152016109fb565b506000602082860101526020601f19601f83011685010191505092915050565b805182526000602082015160406020850152610a5660408501826109f1565b949350505050565b60208152610a786020820183516001600160a01b03169052565b60006020830151610a9460408401826001600160a01b03169052565b506040830151606083015260608301516080830152608083015160a083015260a0830151610acd60c08401826001600160a01b03169052565b5060c08301516001600160a01b03811660e08401525060e08301516101a06101008181860152610b016101c0860184610a37565b90860151909250610120610b1f868201836001600160a01b03169052565b80870151915050601f19610140818786030181880152610b3f85846109f1565b945080880151925050610160610b588188018415159052565b80880151925050610180818786030181880152610b7585846109f1565b94508088015192505050610b93828601826001600160a01b03169052565b509094935050505056fe60806040523480156200001157600080fd5b506001600090815562000046907fbc6bbe35ebc64943402c04d2ae016d7bd2bba28e1a11cf66be743c9bd74c720b906200004c565b62000099565b6000828152600160208190526040808320909101805490849055905190918391839186917fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff9190a4505050565b61465580620000a96000396000f3fe608060405234801561001057600080fd5b506004361061036d5760003560e01c80636c53db9a116101d3578063a230c52411610104578063d547741f116100a2578063db61d65c1161007c578063db61d65c1461086c578063ebd7dc521461087f578063f86c5f8914610892578063ff6409ef146108a557600080fd5b8063d547741f1461083d578063d6d8428d14610850578063d7050f071461086357600080fd5b8063b64e39af116100de578063b64e39af14610810578063b99b437014610825578063bc063e1a1461082d578063c6d572ae1461083557600080fd5b8063a230c5241461079e578063b3f00674146107f5578063b5058c501461080857600080fd5b80638961be6b1161017157806397991cfa1161014b57806397991cfa14610724578063a0b21cdf14610754578063a0cf0aea1461077b578063a217fddf1461079657600080fd5b80638961be6b146106cf57806391d14854146106d857806396f0adec1461071157600080fd5b806378a0b8a9116101ad57806378a0b8a91461063d5780637b1039991461064657806382d6a1e71461065957806388cfe6841461066c57600080fd5b80636c53db9a146105de57806373265c37146105f15780637817ee4f1461060457600080fd5b80632f2ff15d116102ad578063477a5cc01161024b5780635ecf71c5116102255780635ecf71c51461057a57806365e3864c1461058d5780636871eb4d146105b857806368decabb146105cb57600080fd5b8063477a5cc014610526578063559de05d146105545780635c94e4d21461056757600080fd5b80633517aa7d116102875780633517aa7d146104d557806336568abe146104dd578063397e2543146104f05780633a871fe11461050357600080fd5b80632f2ff15d146104a657806331f61bca146104b957806333960459146104cc57600080fd5b80631f787d281161031a578063248a9ca3116102f4578063248a9ca31461042357806328c309e9146104475780632b38c69c1461044f5780632c611c4a1461047a57600080fd5b80631f787d28146103f0578063223e5479146103fd57806322bcf9991461041057600080fd5b80630d12bbdb1161034b5780630d12bbdb146103b55780630d4a8b49146103ca578063175188e8146103dd57600080fd5b806301ffc9a7146103725780630331383c1461039a57806308386eba146103ac575b600080fd5b61038561038036600461377d565b6108b8565b60405190151581526020015b60405180910390f35b6003545b604051908152602001610391565b61039e60055481565b6103c86103c33660046137a7565b610908565b005b6103c86103d83660046137e5565b610992565b6103c86103eb36600461381e565b610cf9565b6002546103859060ff1681565b6103c861040b36600461381e565b610d0d565b6103c861041e3660046137e5565b610d1e565b61039e6104313660046137a7565b6000908152600160208190526040909120015490565b61039e610e2d565b61046261045d36600461383b565b610f17565b6040516001600160a01b039091168152602001610391565b61039e61048836600461381e565b6001600160a01b031660009081526013602052604090206001015490565b6103c86104b4366004613867565b610f4f565b6103c86104c73660046137a7565b610f7a565b61039e60095481565b6103c8610fb7565b6103c86104eb366004613867565b6113bc565b6103c86104fe36600461381e565b61144d565b61038561051136600461381e565b60116020526000908152604090205460ff1681565b6103856105343660046137e5565b601560209081526000928352604080842090915290825290205460ff1681565b6103c86105623660046137a7565b6114ba565b600854610462906001600160a01b031681565b6103c86105883660046137a7565b611794565b61039e61059b3660046137e5565b601260209081526000928352604080842090915290825290205481565b6103c86105c63660046137e5565b611b4e565b600a54610462906001600160a01b031681565b600d54610462906001600160a01b031681565b6103c86105ff3660046137a7565b611d59565b61039e6106123660046137e5565b6001600160a01b03918216600090815260126020908152604080832093909416825291909152205490565b61039e60035481565b600b54610462906001600160a01b031681565b6103c86106673660046137a7565b611deb565b6106a861067a36600461381e565b6013602052600090815260409020805460018201546002909201546001600160a01b03909116919060ff1683565b604080516001600160a01b0390941684526020840192909252151590820152606001610391565b61039e60045481565b6103856106e6366004613867565b60009182526001602090815260408084206001600160a01b0393909316845291905290205460ff1690565b6103c861071f366004613a50565b611e9c565b610737610732366004613cab565b612388565b604080519283526001600160a01b03909116602083015201610391565b61039e7fbc6bbe35ebc64943402c04d2ae016d7bd2bba28e1a11cf66be743c9bd74c720b81565b61046273eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b61039e600081565b6103856107ac36600461381e565b6001600160a01b039081166000908152601360209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff161515910181905290565b600654610462906001600160a01b031681565b6103c86123d2565b61081861241e565b6040516103919190613d5e565b6103c86124ac565b61039e61260f565b61081861261f565b6103c861084b366004613867565b61262c565b600e54610462906001600160a01b031681565b61039e61271081565b600c54610462906001600160a01b031681565b61038561088d36600461381e565b612652565b600754610462906001600160a01b031681565b6107376108b3366004613d71565b612692565b60006001600160e01b031982167f7965db0b00000000000000000000000000000000000000000000000000000000148061090257506301ffc9a760e01b6001600160e01b03198316145b92915050565b610910612811565b61091d612710600a613dfd565b811115610956576040517ffe925f7d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60048190556040518181527f611668bfcf654a99c33cdb66c29ec37a5aae5c1287d2d9715a24e18cb4d806d6906020015b60405180910390a150565b61099b82612879565b6109a4816128dc565b6109ad8161292e565b6001600160a01b0380831660009081526015602090815260408083209385168352929052205460ff1615610a0d576040517fd5b9bc9600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0380831660009081526013602090815260409182902082516060810184528154909416845260018101549184018290526002015460ff161515918301919091526003805490846001600160a01b031663c32921716040518163ffffffff1660e01b81526004016020604051808303816000875af1158015610a99573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610abd9190613e2a565b6003811115610ace57610ace613e14565b03610b4d5760405163782aadff60e01b81526001600160a01b0386811660048301526000602483015285169063782aadff906044016020604051808303816000875af1158015610b22573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b469190613e47565b9050610c3f565b6000846001600160a01b031663c32921716040518163ffffffff1660e01b81526004016020604051808303816000875af1158015610b8f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bb39190613e2a565b6003811115610bc457610bc4613e14565b14610c3f5760405163782aadff60e01b81526001600160a01b0386811660048301526024820184905285169063782aadff906044016020604051808303816000875af1158015610c18573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c3c9190613e47565b90505b6001600160a01b038581166000818152601260209081526040808320948916808452948252808320869055838352601582528083208584528252808320805460ff19166001908117909155848452601483528184208054918201815584529282902090920180546001600160a01b0319168517905581519283528201929092529081018290527ff56fa57e85e169a12200d12d9921ec069b52e688f6d309d9dab7bceff54614ec9060600160405180910390a15050505050565b610d01612811565b610d0a8161296e565b50565b610d15612811565b610d0a816129c8565b610d2782612879565b610d308161292e565b610d3a3382612a6f565b6001600160a01b0380831660009081526015602090815260408083209385168352929052205460ff16610d99576040517fc12369dc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038083166000818152601560209081526040808320948616808452948252808320805460ff191690559282526012815282822093825292909252812055610de78282612aba565b604080516001600160a01b038085168252831660208201527ede109bef4619f7e2cf00c8e5a50ca55f8deb44f87087eed414a91dbf8d1d1b910160405180910390a15050565b6007546000906001600160a01b031681610e4a6127106064613dfd565b600454600354610e5a9190613dfd565b610e649190613e60565b90506000610e756127106064613dfd565b6040516302a64b8360e21b81523060048201526001600160a01b03851690630a992e0c90602401602060405180830381865afa158015610eb9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610edd9190613e47565b600354610eea9190613dfd565b610ef49190613e60565b90508082600354610f059190613e82565b610f0f9190613e82565b935050505090565b60146020528160005260406000208181548110610f3357600080fd5b6000918252602090912001546001600160a01b03169150829050565b60008281526001602081905260409091200154610f6b81612bdc565b610f758383612be6565b505050565b610f82612811565b60038190556040518181527f5bcc2c453001fb0e2ba6266d56ecb411e7c6e15c8f9c3d301f93dd36ad25726f90602001610987565b610fbf612c6d565b33600081815260136020526040812060075490916001600160a01b0390911690610fec6127106064613dfd565b600454600354610ffc9190613dfd565b6110069190613e60565b905060006110176127106064613dfd565b6040516302a64b8360e21b81523060048201526001600160a01b03851690630a992e0c90602401602060405180830381865afa15801561105b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061107f9190613e47565b60035461108c9190613dfd565b6110969190613e60565b6001600160a01b038087166000908152601360209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff16151591018190529091506113ab5760028401805460ff191660019081179091556003549085015560408051808201909152600b81527f67617264656e546f6b656e0000000000000000000000000000000000000000006020820152600c5461114691906001600160a01b0316612cc6565b6111788530838560035461115a9190613e82565b6111649190613e82565b600c546001600160a01b0316929190612d24565b6111b76040518060400160405280601281526020017f636f6d6d756e697479466565416d6f756e74000000000000000000000000000081525083612da8565b81156112245760408051808201909152600b81527f6665655265636569766572000000000000000000000000000000000000000000602082015260065461120791906001600160a01b0316612cc6565b600654600c54611224916001600160a01b03918216911684612e06565b6112636040518060400160405280601081526020017f67617264656e73466565416d6f756e740000000000000000000000000000000081525082612da8565b8015611364576112ec6040518060600160405280602681526020016145fa60269139846001600160a01b031663987435be6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112c3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112e79190613e95565b612cc6565b611364836001600160a01b031663987435be6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561132d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113519190613e95565b600c546001600160a01b03169083612e06565b600354604080516001600160a01b038816815260208101929092527f67e0244e28040fec15240cd4b6c04c776a2a0278caef23b59e8ada1df31f7689910160405180910390a15b50505050506113ba6001600055565b565b6001600160a01b038116331461143f5760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201527f20726f6c657320666f722073656c66000000000000000000000000000000000060648201526084015b60405180910390fd5b6114498282612e36565b5050565b611455612811565b61145e8161292e565b600a80546001600160a01b0319166001600160a01b03838116918217909255600d546040805191909316815260208101919091527f83eac9fdaff0ac1017624b7eddeb9782e3d707cd894073cb7e8301a41c6e5cf89101610987565b6114c2612c6d565b6114ca612eb9565b3360008181526014602090815260408083208054825181850281018501909352808352919290919083018282801561152b57602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831161150d575b50505050509050600080600090505b82518110156116fb5782818151811061155557611555613eb2565b602090810291909101015160405163782aadff60e01b81526001600160a01b038681166004830152602482018890529091169063782aadff906044016020604051808303816000875af11580156115b0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115d49190613e47565b915081156116e9576001600160a01b0384166000908152601260205260408120845184929086908590811061160b5761160b613eb2565b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060008282546116429190613e82565b925050819055506116e96040518060400160405280600e81526020017f537472617465677920706f77657200000000000000000000000000000000000081525060126000876001600160a01b03166001600160a01b0316815260200190815260200160002060008685815181106116bb576116bb613eb2565b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002054612da8565b806116f381613ec8565b91505061153a565b50600c54611714906001600160a01b0316843087612d24565b6001600160a01b0383166000908152601360205260408120600101805486929061173f908490613e82565b9091555050604080516001600160a01b0385168152602081018690527f576605f9bfe8911e7508bed3763c7c5c8eb3b86e8b360b90a4bc6abe1104cb7f91015b60405180910390a1505050610d0a6001600055565b61179c612c6d565b6117a4612eb9565b336000818152601460209081526040808320600354601390935290832060010154909291906117d4908690613ee1565b101561180c576040517f9c47d02e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600c54611823906001600160a01b03168486612e06565b60005b8254811015611ade57600083828154811061184357611843613eb2565b6000918252602090912001546001600160a01b0316905061186b8163f1801e6160e01b612f18565b15611a12576040517f2ed04b2b0000000000000000000000000000000000000000000000000000000081526001600160a01b03868116600483015260248201889052821690632ed04b2b906044016020604051808303816000875af11580156118d8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118fc9190613e47565b9250600060126000876001600160a01b03166001600160a01b03168152602001908152602001600020600086858154811061193957611939613eb2565b60009182526020808320909101546001600160a01b031683528201929092526040019020549050808411156119a4576040517f8a11f3180000000000000000000000000000000000000000000000000000000081526004810185905260248101829052604401611436565b6001600160a01b038616600090815260126020526040812086548692908890879081106119d3576119d3613eb2565b60009182526020808320909101546001600160a01b0316835282019290925260400181208054909190611a07908490613ee1565b909155505050611acb565b83548490611a2290600190613ee1565b81548110611a3257611a32613eb2565b9060005260206000200160009054906101000a90046001600160a01b0316848381548110611a6257611a62613eb2565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555083805480611aa057611aa0613ef4565b600082815260209020810160001990810180546001600160a01b0319169055019055611acb8161296e565b5080611ad681613ec8565b915050611826565b506001600160a01b03831660009081526013602052604081206001018054869290611b0a908490613ee1565b9091555050604080516001600160a01b0385168152602081018690527f6ee2c70b2d6b89ae808a2313aab43e925c06624271419cd665d85cfa1ae04ff8910161177f565b611b56612c6d565b611b5e612811565b60025460ff16611b9a576040517fcb63dc7200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038083166000908152601360209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff1615159101819052611bfd57604051636a5cfb6d60e01b815260040160405180910390fd5b6001600160a01b038083166000908152601360209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff16151590820152611c4b83612f3b565b6001600160a01b03838116600090815260136020908152604080832080546001600160a01b031916815560018101939093556002909201805460ff19169055600c5490840151915163a9059cbb60e01b8152858416600482015260248101929092529091169063a9059cbb906044016020604051808303816000875af1158015611cd9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cfd9190613f0a565b50602080820151604080516001600160a01b0380881682528616938101939093528201527fb5946f249f8744efe9d14d49a483b54a589b1362944ff6694de93456cceb96a39060600160405180910390a1506114496001600055565b611d61612811565b600e5460405163068bcd8d60e01b8152600481018390526000916001600160a01b03169063068bcd8d90602401600060405180830381865afa158015611dab573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611dd39190810190613f27565b602001519050611de28161292e565b6114498161296e565b611df3612811565b600e5460405163068bcd8d60e01b8152600481018390526000916001600160a01b03169063068bcd8d90602401600060405180830381865afa158015611e3d573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611e659190810190613f27565b602001519050611e748161292e565b611e8e6001600160a01b03821663f1801e6160e01b612f18565b1561144957611449816129c8565b611ea9816020015161292e565b611eb781610100015161292e565b8051611ec29061292e565b611ecf8160a0015161292e565b611edd81610180015161292e565b606081015115611ef457611ef48160c0015161292e565b8051600e80546001600160a01b039283166001600160a01b0319918216179091556020830151600c80549190931691161790556040810151600003611f65576040517fc70d18aa00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604081015160035560608101516004556101408101516002805460ff1916911515919091179055610120810151600f90611f9f90826140d1565b50610160810151601090611fb390826140d1565b5060a0810151600780546001600160a01b03199081166001600160a01b039384161790915560c0830151600680548316918416919091179055610100830151600d8054831682851617905561018084015160088054909316931692909217905561203e907fbc6bbe35ebc64943402c04d2ae016d7bd2bba28e1a11cf66be743c9bd74c720b90612be6565b600e60009054906101000a90046001600160a01b03166001600160a01b0316635ab1bd536040518163ffffffff1660e01b8152600401602060405180830381865afa158015612091573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120b59190613e95565b600b80546001600160a01b0319166001600160a01b03928316179055600d54604080517fa0e67e2b0000000000000000000000000000000000000000000000000000000081529051600093929092169163a0e67e2b9160048082019286929091908290030181865afa15801561212f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526121579190810190614191565b90506000815160026121699190613e82565b67ffffffffffffffff8111156121815761218161388c565b6040519080825280602002602001820160405280156121aa578160200160208202803683370190505b50905060005b825181101561220f578281815181106121cb576121cb613eb2565b60200260200101518282815181106121e5576121e5613eb2565b6001600160a01b03909216602092830291909101909101528061220781613ec8565b9150506121b0565b50600d5481516001600160a01b0390911690829061222f90600190613ee1565b8151811061223f5761223f613eb2565b60200260200101906001600160a01b031690816001600160a01b03168152505030816002835161226f9190613ee1565b8151811061227f5761227f613eb2565b6001600160a01b039283166020918202929092010152600b54608085015160e08601516040517f3a92f65f0000000000000000000000000000000000000000000000000000000081529290931692633a92f65f926122e79291600f9130908890600401614323565b6020604051808303816000875af1158015612306573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061232a9190613e47565b60055580516123409060169060208401906136e9565b507f2f2ffcb06f8a1d35e2716f6b43ef2c19bfa76467d8f66964ae12c2583ed03205600554600f8560e0015160405161237b93929190614371565b60405180910390a1505050565b60085460098054600092839283926123b7926001600160a01b031691846123ae83613ec8565b9190505561305d565b90506123c581878787612692565b9250925050935093915050565b600a546001600160a01b03163314612416576040517febcd0d6e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6113ba6130b1565b6010805461242b90614049565b80601f016020809104026020016040519081016040528092919081815260200182805461245790614049565b80156124a45780601f10612479576101008083540402835291602001916124a4565b820191906000526020600020905b81548152906001019060200180831161248757829003601f168201915b505050505081565b6124b4612c6d565b336124be81612879565b6124c781612f3b565b6001600160a01b0380821660008181526013602090815260408083208151606081018352815496871681526001820180548286015260028301805460ff81161515848701529787526001600160a01b03199098169092559084905560ff1990941690945560149052918220909161253e919061374e565b600c54602082015160405163a9059cbb60e01b81526001600160a01b038581166004830152602482019290925291169063a9059cbb906044016020604051808303816000875af1158015612596573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125ba9190613f0a565b50602080820151604080516001600160a01b0386168152928301919091527fa13f4668aacb68c4e9eed8e3f6e1cbec3eca776896ec46b5eabcc3983fc8f5f4910160405180910390a150506113ba6001600055565b61261c612710600a613dfd565b81565b600f805461242b90614049565b6000828152600160208190526040909120015461264881612bdc565b610f758383612e36565b6001600160a01b03811660009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604081205460ff16610902565b60008073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6001600160a01b038616156126bc5750845b8691506000601680548060200260200160405190810160405280929190818152602001828054801561271757602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116126f9575b5050600e546005546040519596506001600160a01b039091169463e1007d4a945090925087915061274c908b906020016143ba565b6040516020818303038152906040528660008b886040518863ffffffff1660e01b81526004016127829796959493929190614452565b6020604051808303816000875af11580156127a1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127c59190613e47565b93507f778cac0ae0b66477341553a4a89398c61ccf448313d3354ad0ca85a5a825d2838484308a896040516127fe9594939291906144be565b60405180910390a1505094509492505050565b3360009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604090205460ff166113ba576040517ff62651fa00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038082166000908152601360209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff1615159101819052610d0a57604051636a5cfb6d60e01b815260040160405180910390fd5b6001600160a01b03811660009081526011602052604090205460ff16610d0a576040517f46c26e4b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038116610d0a576040517fe622e04000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6129778161292e565b6001600160a01b038116600081815260116020908152604091829020805460ff1916905590519182527f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea49101610987565b6001600160a01b03811660009081526011602052604090205460ff1615612a1b576040517f968a4d2c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038116600081815260116020908152604091829020805460ff1916600117905590519182527f3f008fd510eae7a9e7bee13513d7b83bef8003d488b5a3d0b0da4de71d6846f19101610987565b806001600160a01b0316826001600160a01b031614611449576040517fbbe7961100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0382166000908152601460205260408120905b8154811015612bd657826001600160a01b0316828281548110612af957612af9613eb2565b6000918252602090912001546001600160a01b031603612bc45781548290612b2390600190613ee1565b81548110612b3357612b33613eb2565b9060005260206000200160009054906101000a90046001600160a01b0316828281548110612b6357612b63613eb2565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555081805480612ba157612ba1613ef4565b600082815260209020810160001990810180546001600160a01b03191690550190555b80612bce81613ec8565b915050612ad4565b50505050565b610d0a813361310c565b60008281526001602090815260408083206001600160a01b038516845290915290205460ff166114495760008281526001602081815260408084206001600160a01b0386168086529252808420805460ff19169093179092559051339285917f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d9190a45050565b600260005403612cbf5760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401611436565b6002600055565b6114498282604051602401612cdc9291906144f8565b60408051601f198184030181529190526020810180516001600160e01b03167f319af33300000000000000000000000000000000000000000000000000000000179052613181565b6040516001600160a01b0380851660248301528316604482015260648101829052612bd69085907f23b872dd00000000000000000000000000000000000000000000000000000000906084015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091526131a2565b6114498282604051602401612dbe929190614523565b60408051601f198184030181529190526020810180516001600160e01b03167f9710a9d000000000000000000000000000000000000000000000000000000000179052613181565b6040516001600160a01b038316602482015260448101829052610f7590849063a9059cbb60e01b90606401612d71565b60008281526001602090815260408083206001600160a01b038516845290915290205460ff16156114495760008281526001602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b33600090815260136020908152604091829020825160608101845281546001600160a01b031681526001820154928101929092526002015460ff16151591018190526113ba57604051636a5cfb6d60e01b815260040160405180910390fd5b6000612f238361328a565b8015612f345750612f3483836132bd565b9392505050565b6001600160a01b038116600090815260146020908152604080832080548251818502810185019093528083529192909190830182828015612fa557602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311612f87575b5050505050905060005b8151811015610f7557818181518110612fca57612fca613eb2565b60209081029190910101516040517f6453d9c40000000000000000000000000000000000000000000000000000000081526001600160a01b03858116600483015290911690636453d9c490602401600060405180830381600087803b15801561303257600080fd5b505af1158015613046573d6000803e3d6000fd5b50505050808061305590613ec8565b915050612faf565b6040516bffffffffffffffffffffffff193360601b1660208201526034810182905260009081906054016040516020818303038152906040528051906020012090506130a98482613346565b949350505050565b600a8054600d80546001600160a01b0383166001600160a01b031991821617909155169055604051600081527fad0399dc40331b9a4977aa89da7a164a3fd482c65e6da73b25a94ea74fb688729060200160405180910390a1565b60008281526001602090815260408083206001600160a01b038516845290915290205460ff166114495761313f816133e3565b61314a8360206133f5565b60405160200161315b929190614545565b60408051601f198184030181529082905262461bcd60e51b825261143691600401613d5e565b80516a636f6e736f6c652e6c6f67602083016000808483855afa5050505050565b60006131f7826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166135d69092919063ffffffff16565b90508051600014806132185750808060200190518101906132189190613f0a565b610f755760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152608401611436565b600061329d826301ffc9a760e01b6132bd565b801561090257506132b6826001600160e01b03196132bd565b1592915050565b604080516001600160e01b03198316602480830191909152825180830390910181526044909101909152602080820180516001600160e01b03166301ffc9a760e01b178152825160009392849283928392918391908a617530fa92503d9150600051905082801561332f575060208210155b801561333b5750600081115b979650505050505050565b6000763d602d80600a3d3981f3363d3d373d3d3d363d730000008360601b60e81c176000526e5af43d82803e903d91602b57fd5bf38360781b1760205281603760096000f590506001600160a01b0381166109025760405162461bcd60e51b815260206004820152601760248201527f455243313136373a2063726561746532206661696c65640000000000000000006044820152606401611436565b60606109026001600160a01b03831660145b60606000613404836002613dfd565b61340f906002613e82565b67ffffffffffffffff8111156134275761342761388c565b6040519080825280601f01601f191660200182016040528015613451576020820181803683370190505b5090507f30000000000000000000000000000000000000000000000000000000000000008160008151811061348857613488613eb2565b60200101906001600160f81b031916908160001a9053507f7800000000000000000000000000000000000000000000000000000000000000816001815181106134d3576134d3613eb2565b60200101906001600160f81b031916908160001a90535060006134f7846002613dfd565b613502906001613e82565b90505b6001811115613587577f303132333435363738396162636465660000000000000000000000000000000085600f166010811061354357613543613eb2565b1a60f81b82828151811061355957613559613eb2565b60200101906001600160f81b031916908160001a90535060049490941c93613580816145c6565b9050613505565b508315612f345760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401611436565b60606130a9848460008585600080866001600160a01b031685876040516135fd91906145dd565b60006040518083038185875af1925050503d806000811461363a576040519150601f19603f3d011682016040523d82523d6000602084013e61363f565b606091505b509150915061333b87838387606083156136ba5782516000036136b3576001600160a01b0385163b6136b35760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401611436565b50816130a9565b6130a983838151156136cf5781518083602001fd5b8060405162461bcd60e51b81526004016114369190613d5e565b82805482825590600052602060002090810192821561373e579160200282015b8281111561373e57825182546001600160a01b0319166001600160a01b03909116178255602090920191600190910190613709565b5061374a929150613768565b5090565b5080546000825590600052602060002090810190610d0a91905b5b8082111561374a5760008155600101613769565b60006020828403121561378f57600080fd5b81356001600160e01b031981168114612f3457600080fd5b6000602082840312156137b957600080fd5b5035919050565b6001600160a01b0381168114610d0a57600080fd5b80356137e0816137c0565b919050565b600080604083850312156137f857600080fd5b8235613803816137c0565b91506020830135613813816137c0565b809150509250929050565b60006020828403121561383057600080fd5b8135612f34816137c0565b6000806040838503121561384e57600080fd5b8235613859816137c0565b946020939093013593505050565b6000806040838503121561387a57600080fd5b823591506020830135613813816137c0565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff811182821017156138c5576138c561388c565b60405290565b6040516101a0810167ffffffffffffffff811182821017156138c5576138c561388c565b604051610120810167ffffffffffffffff811182821017156138c5576138c561388c565b60405160c0810167ffffffffffffffff811182821017156138c5576138c561388c565b604051601f8201601f1916810167ffffffffffffffff8111828210171561395f5761395f61388c565b604052919050565b600067ffffffffffffffff8211156139815761398161388c565b50601f01601f191660200190565b600082601f8301126139a057600080fd5b81356139b36139ae82613967565b613936565b8181528460208386010111156139c857600080fd5b816020850160208301376000918101602001919091529392505050565b6000604082840312156139f757600080fd5b6139ff6138a2565b905081358152602082013567ffffffffffffffff811115613a1f57600080fd5b613a2b8482850161398f565b60208301525092915050565b8015158114610d0a57600080fd5b80356137e081613a37565b600060208284031215613a6257600080fd5b813567ffffffffffffffff80821115613a7a57600080fd5b908301906101a08286031215613a8f57600080fd5b613a976138cb565b613aa0836137d5565b8152613aae602084016137d5565b6020820152604083013560408201526060830135606082015260808301356080820152613add60a084016137d5565b60a0820152613aee60c084016137d5565b60c082015260e083013582811115613b0557600080fd5b613b11878286016139e5565b60e083015250610100613b258185016137d5565b908201526101208381013583811115613b3d57600080fd5b613b498882870161398f565b828401525050610140613b5d818501613a45565b908201526101608381013583811115613b7557600080fd5b613b818882870161398f565b8284015250506101809150613b978284016137d5565b91810191909152949350505050565b8035600381106137e057600080fd5b60048110610d0a57600080fd5b80356137e081613bb5565b600060208284031215613bdf57600080fd5b6040516020810181811067ffffffffffffffff82111715613c0257613c0261388c565b6040529135825250919050565b60006101208284031215613c2257600080fd5b613c2a6138ef565b9050613c35826137d5565b815260208201356020820152604082013560408201526060820135606082015260808201356080820152613c6b60a08301613ba6565b60a0820152613c7c60c08301613bc2565b60c0820152613c8e8360e08401613bcd565b60e0820152610100613ca18184016137d5565b9082015292915050565b60008060006101608486031215613cc157600080fd5b8335613ccc816137c0565b9250613cdb8560208601613c0f565b915061014084013567ffffffffffffffff811115613cf857600080fd5b613d04868287016139e5565b9150509250925092565b60005b83811015613d29578181015183820152602001613d11565b50506000910152565b60008151808452613d4a816020860160208601613d0e565b601f01601f19169290920160200192915050565b602081526000612f346020830184613d32565b6000806000806101808587031215613d8857600080fd5b8435613d93816137c0565b93506020850135613da3816137c0565b9250613db28660408701613c0f565b915061016085013567ffffffffffffffff811115613dcf57600080fd5b613ddb878288016139e5565b91505092959194509250565b634e487b7160e01b600052601160045260246000fd5b808202811582820484141761090257610902613de7565b634e487b7160e01b600052602160045260246000fd5b600060208284031215613e3c57600080fd5b8151612f3481613bb5565b600060208284031215613e5957600080fd5b5051919050565b600082613e7d57634e487b7160e01b600052601260045260246000fd5b500490565b8082018082111561090257610902613de7565b600060208284031215613ea757600080fd5b8151612f34816137c0565b634e487b7160e01b600052603260045260246000fd5b600060018201613eda57613eda613de7565b5060010190565b8181038181111561090257610902613de7565b634e487b7160e01b600052603160045260246000fd5b600060208284031215613f1c57600080fd5b8151612f3481613a37565b60006020808385031215613f3a57600080fd5b825167ffffffffffffffff80821115613f5257600080fd5b9084019060c08287031215613f6657600080fd5b613f6e613913565b8251815283830151613f7f816137c0565b818501526040830151613f91816137c0565b6040820152606083015182811115613fa857600080fd5b830160408189031215613fba57600080fd5b613fc26138a2565b815181528582015184811115613fd757600080fd5b82019350601f84018913613fea57600080fd5b83519150613ffa6139ae83613967565b828152898784870101111561400e57600080fd5b61401d83888301898801613d0e565b95810195909552506060810193909352506080818101519083015260a090810151908201529392505050565b600181811c9082168061405d57607f821691505b60208210810361407d57634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115610f7557600081815260208120601f850160051c810160208610156140aa5750805b601f850160051c820191505b818110156140c9578281556001016140b6565b505050505050565b815167ffffffffffffffff8111156140eb576140eb61388c565b6140ff816140f98454614049565b84614083565b602080601f831160018114614134576000841561411c5750858301515b600019600386901b1c1916600185901b1785556140c9565b600085815260208120601f198616915b8281101561416357888601518255948401946001909101908401614144565b50858210156141815787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b600060208083850312156141a457600080fd5b825167ffffffffffffffff808211156141bc57600080fd5b818501915085601f8301126141d057600080fd5b8151818111156141e2576141e261388c565b8060051b91506141f3848301613936565b818152918301840191848101908884111561420d57600080fd5b938501935b838510156142375784519250614227836137c0565b8282529385019390850190614212565b98975050505050505050565b6000815461425081614049565b80855260206001838116801561426d5760018114614287576142b5565b60ff1985168884015283151560051b8801830195506142b5565b866000528260002060005b858110156142ad5781548a8201860152908301908401614292565b890184019650505b505050505092915050565b8051825260006020820151604060208501526130a96040850182613d32565b600081518084526020808501945080840160005b838110156143185781516001600160a01b0316875295820195908201906001016142f3565b509495945050505050565b85815260a06020820152600061433c60a0830187614243565b828103604084015261434e81876142c0565b90506001600160a01b0385166060840152828103608084015261423781856142df565b83815260606020820152600061438a6060830185614243565b828103604084015261439c81856142c0565b9695505050505050565b600481106143b6576143b6613e14565b9052565b6000610120820190506001600160a01b0383511682526020830151602083015260408301516040830152606083015160608301526080830151608083015260a08301516003811061440d5761440d613e14565b8060a08401525060c083015161442660c08401826143a6565b5060e083015161443960e0840182519052565b50610100928301516001600160a01b0316919092015290565b87815260006001600160a01b03808916602084015260e0604084015261447b60e0840189613d32565b818816606085015286608085015283810360a085015261449b81876142c0565b91505082810360c08401526144b081856142df565b9a9950505050505050505050565b85815260006001600160a01b038087166020840152808616604084015280851660608401525060a0608083015261333b60a08301846142c0565b60408152600061450b6040830185613d32565b90506001600160a01b03831660208301529392505050565b6040815260006145366040830185613d32565b90508260208301529392505050565b7f416363657373436f6e74726f6c3a206163636f756e742000000000000000000081526000835161457d816017850160208801613d0e565b7f206973206d697373696e6720726f6c652000000000000000000000000000000060179184019182015283516145ba816028840160208801613d0e565b01602801949350505050565b6000816145d5576145d5613de7565b506000190190565b600082516145ef818460208701613d0e565b919091019291505056fe67617264656e73466163746f72792e67657447617264656e7346656552656365697665722829a2646970667358221220540d32ab4f01c7a604fe4a0814f512521bb48df079211c6379c9d265c28ddd8564736f6c63430008130033a2646970667358221220b219b3e52c4816f56008200e3c0e5743856e059154900157812b3dce14f64f6c64736f6c63430008130033","sourceMap":"202:2981:135:-:0;;;267:1;244:24;;202:2981;;;;;;;;;-1:-1:-1;936:32:60;719:10:81;936:18:60;:32::i;:::-;202:2981:135;;2426:187:60;2499:16;2518:6;;-1:-1:-1;;;;;2534:17:60;;;-1:-1:-1;;;;;;2534:17:60;;;;;;2566:40;;2518:6;;;;;;;2566:40;;2499:16;2566:40;2489:124;2426:187;:::o;202:2981:135:-;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b50600436106100d45760003560e01c8063987435be11610081578063b8bed9011161005b578063b8bed90114610198578063f2fde38b146101ab578063f5016b5e146101be57600080fd5b8063987435be1461016b578063affed0e01461017c578063b5b3ca2c1461018557600080fd5b80638279c7db116100b25780638279c7db1461011c5780638a16135f1461012f5780638da5cb5b1461015a57600080fd5b80630a992e0c146100d95780635a2c8ace146100ff578063715018a614610114575b600080fd5b6100ec6100e73660046106a3565b6101fa565b6040519081526020015b60405180910390f35b61011261010d3660046106d7565b61027b565b005b6101126102e7565b61011261012a3660046106a3565b6102fb565b61014261013d366004610848565b61036d565b6040516001600160a01b0390911681526020016100f6565b6000546001600160a01b0316610142565b6003546001600160a01b0316610142565b6100ec60015481565b61011261019336600461099e565b61048e565b600354610142906001600160a01b031681565b6101126101b93660046106a3565b6104ea565b6101ea6101cc3660046106a3565b6001600160a01b031660009081526002602052604090205460ff1690565b60405190151581526020016100f6565b6001600160a01b03811660009081526002602052604081205460ff1661025c576040517ff5a6943d0000000000000000000000000000000000000000000000000000000081526001600160a01b03831660048201526024015b60405180910390fd5b506001600160a01b031660009081526002602052604090206001015490565b61028361057a565b6001600160a01b038216600081815260026020908152604091829020805460ff19168515159081179091558251938452908301527fecdcd3502799a6c41864ea2682236184e876f63e10f8d56c7768a3d501e89f6291015b60405180910390a15050565b6102ef61057a565b6102f960006105d4565b565b61030361057a565b61030c81610631565b6003805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0383169081179091556040519081527fbdf37c276f641820b141429d245add2552b4118c0866e5a78638e3de5ef18d9d9060200160405180910390a150565b60008060405161037c90610671565b604051809103906000f080158015610398573d6000803e3d6000fd5b506001805491925060006103ab836109ca565b9091555060808401523060a08401526040517f96f0adec0000000000000000000000000000000000000000000000000000000081526001600160a01b038216906396f0adec906103ff908690600401610a5e565b600060405180830381600087803b15801561041957600080fd5b505af115801561042d573d6000803e3d6000fd5b505050506001600160a01b038116600081815260026020908152604091829020805460ff1916600117905590519182527fb4108a188495a1a681cdc0750af164011025a1773b41e93ff3e628adc037dc29910160405180910390a192915050565b61049661057a565b6001600160a01b038216600081815260026020908152604091829020600101849055815192835282018390527fa1ee82e4f177a8017f33ddddac05b7ceab1de9d46f7195e15e8aa2e8b88f3b1c91016102db565b6104f261057a565b6001600160a01b03811661056e5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610253565b610577816105d4565b50565b6000546001600160a01b031633146102f95760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610253565b600080546001600160a01b0383811673ffffffffffffffffffffffffffffffffffffffff19831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b038116610577576040517fe622e04000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6146fe80610b9e83390190565b6001600160a01b038116811461057757600080fd5b803561069e8161067e565b919050565b6000602082840312156106b557600080fd5b81356106c08161067e565b9392505050565b8035801515811461069e57600080fd5b600080604083850312156106ea57600080fd5b82356106f58161067e565b9150610703602084016106c7565b90509250929050565b634e487b7160e01b600052604160045260246000fd5b6040516101a0810167ffffffffffffffff811182821017156107465761074661070c565b60405290565b600082601f83011261075d57600080fd5b813567ffffffffffffffff808211156107785761077861070c565b604051601f8301601f19908116603f011681019082821181831017156107a0576107a061070c565b816040528381528660208588010111156107b957600080fd5b836020870160208301376000602085830101528094505050505092915050565b6000604082840312156107eb57600080fd5b6040516040810167ffffffffffffffff828210818311171561080f5761080f61070c565b8160405282935084358352602085013591508082111561082e57600080fd5b5061083b8582860161074c565b6020830152505092915050565b60006020828403121561085a57600080fd5b813567ffffffffffffffff8082111561087257600080fd5b908301906101a0828603121561088757600080fd5b61088f610722565b61089883610693565b81526108a660208401610693565b60208201526040830135604082015260608301356060820152608083013560808201526108d560a08401610693565b60a08201526108e660c08401610693565b60c082015260e0830135828111156108fd57600080fd5b610909878286016107d9565b60e08301525061010061091d818501610693565b90820152610120838101358381111561093557600080fd5b6109418882870161074c565b8284015250506101406109558185016106c7565b90820152610160838101358381111561096d57600080fd5b6109798882870161074c565b828401525050610180915061098f828401610693565b91810191909152949350505050565b600080604083850312156109b157600080fd5b82356109bc8161067e565b946020939093013593505050565b6000600182016109ea57634e487b7160e01b600052601160045260246000fd5b5060010190565b6000815180845260005b81811015610a17576020818501810151868301820152016109fb565b506000602082860101526020601f19601f83011685010191505092915050565b805182526000602082015160406020850152610a5660408501826109f1565b949350505050565b60208152610a786020820183516001600160a01b03169052565b60006020830151610a9460408401826001600160a01b03169052565b506040830151606083015260608301516080830152608083015160a083015260a0830151610acd60c08401826001600160a01b03169052565b5060c08301516001600160a01b03811660e08401525060e08301516101a06101008181860152610b016101c0860184610a37565b90860151909250610120610b1f868201836001600160a01b03169052565b80870151915050601f19610140818786030181880152610b3f85846109f1565b945080880151925050610160610b588188018415159052565b80880151925050610180818786030181880152610b7585846109f1565b94508088015192505050610b93828601826001600160a01b03169052565b509094935050505056fe60806040523480156200001157600080fd5b506001600090815562000046907fbc6bbe35ebc64943402c04d2ae016d7bd2bba28e1a11cf66be743c9bd74c720b906200004c565b62000099565b6000828152600160208190526040808320909101805490849055905190918391839186917fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff9190a4505050565b61465580620000a96000396000f3fe608060405234801561001057600080fd5b506004361061036d5760003560e01c80636c53db9a116101d3578063a230c52411610104578063d547741f116100a2578063db61d65c1161007c578063db61d65c1461086c578063ebd7dc521461087f578063f86c5f8914610892578063ff6409ef146108a557600080fd5b8063d547741f1461083d578063d6d8428d14610850578063d7050f071461086357600080fd5b8063b64e39af116100de578063b64e39af14610810578063b99b437014610825578063bc063e1a1461082d578063c6d572ae1461083557600080fd5b8063a230c5241461079e578063b3f00674146107f5578063b5058c501461080857600080fd5b80638961be6b1161017157806397991cfa1161014b57806397991cfa14610724578063a0b21cdf14610754578063a0cf0aea1461077b578063a217fddf1461079657600080fd5b80638961be6b146106cf57806391d14854146106d857806396f0adec1461071157600080fd5b806378a0b8a9116101ad57806378a0b8a91461063d5780637b1039991461064657806382d6a1e71461065957806388cfe6841461066c57600080fd5b80636c53db9a146105de57806373265c37146105f15780637817ee4f1461060457600080fd5b80632f2ff15d116102ad578063477a5cc01161024b5780635ecf71c5116102255780635ecf71c51461057a57806365e3864c1461058d5780636871eb4d146105b857806368decabb146105cb57600080fd5b8063477a5cc014610526578063559de05d146105545780635c94e4d21461056757600080fd5b80633517aa7d116102875780633517aa7d146104d557806336568abe146104dd578063397e2543146104f05780633a871fe11461050357600080fd5b80632f2ff15d146104a657806331f61bca146104b957806333960459146104cc57600080fd5b80631f787d281161031a578063248a9ca3116102f4578063248a9ca31461042357806328c309e9146104475780632b38c69c1461044f5780632c611c4a1461047a57600080fd5b80631f787d28146103f0578063223e5479146103fd57806322bcf9991461041057600080fd5b80630d12bbdb1161034b5780630d12bbdb146103b55780630d4a8b49146103ca578063175188e8146103dd57600080fd5b806301ffc9a7146103725780630331383c1461039a57806308386eba146103ac575b600080fd5b61038561038036600461377d565b6108b8565b60405190151581526020015b60405180910390f35b6003545b604051908152602001610391565b61039e60055481565b6103c86103c33660046137a7565b610908565b005b6103c86103d83660046137e5565b610992565b6103c86103eb36600461381e565b610cf9565b6002546103859060ff1681565b6103c861040b36600461381e565b610d0d565b6103c861041e3660046137e5565b610d1e565b61039e6104313660046137a7565b6000908152600160208190526040909120015490565b61039e610e2d565b61046261045d36600461383b565b610f17565b6040516001600160a01b039091168152602001610391565b61039e61048836600461381e565b6001600160a01b031660009081526013602052604090206001015490565b6103c86104b4366004613867565b610f4f565b6103c86104c73660046137a7565b610f7a565b61039e60095481565b6103c8610fb7565b6103c86104eb366004613867565b6113bc565b6103c86104fe36600461381e565b61144d565b61038561051136600461381e565b60116020526000908152604090205460ff1681565b6103856105343660046137e5565b601560209081526000928352604080842090915290825290205460ff1681565b6103c86105623660046137a7565b6114ba565b600854610462906001600160a01b031681565b6103c86105883660046137a7565b611794565b61039e61059b3660046137e5565b601260209081526000928352604080842090915290825290205481565b6103c86105c63660046137e5565b611b4e565b600a54610462906001600160a01b031681565b600d54610462906001600160a01b031681565b6103c86105ff3660046137a7565b611d59565b61039e6106123660046137e5565b6001600160a01b03918216600090815260126020908152604080832093909416825291909152205490565b61039e60035481565b600b54610462906001600160a01b031681565b6103c86106673660046137a7565b611deb565b6106a861067a36600461381e565b6013602052600090815260409020805460018201546002909201546001600160a01b03909116919060ff1683565b604080516001600160a01b0390941684526020840192909252151590820152606001610391565b61039e60045481565b6103856106e6366004613867565b60009182526001602090815260408084206001600160a01b0393909316845291905290205460ff1690565b6103c861071f366004613a50565b611e9c565b610737610732366004613cab565b612388565b604080519283526001600160a01b03909116602083015201610391565b61039e7fbc6bbe35ebc64943402c04d2ae016d7bd2bba28e1a11cf66be743c9bd74c720b81565b61046273eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b61039e600081565b6103856107ac36600461381e565b6001600160a01b039081166000908152601360209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff161515910181905290565b600654610462906001600160a01b031681565b6103c86123d2565b61081861241e565b6040516103919190613d5e565b6103c86124ac565b61039e61260f565b61081861261f565b6103c861084b366004613867565b61262c565b600e54610462906001600160a01b031681565b61039e61271081565b600c54610462906001600160a01b031681565b61038561088d36600461381e565b612652565b600754610462906001600160a01b031681565b6107376108b3366004613d71565b612692565b60006001600160e01b031982167f7965db0b00000000000000000000000000000000000000000000000000000000148061090257506301ffc9a760e01b6001600160e01b03198316145b92915050565b610910612811565b61091d612710600a613dfd565b811115610956576040517ffe925f7d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60048190556040518181527f611668bfcf654a99c33cdb66c29ec37a5aae5c1287d2d9715a24e18cb4d806d6906020015b60405180910390a150565b61099b82612879565b6109a4816128dc565b6109ad8161292e565b6001600160a01b0380831660009081526015602090815260408083209385168352929052205460ff1615610a0d576040517fd5b9bc9600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0380831660009081526013602090815260409182902082516060810184528154909416845260018101549184018290526002015460ff161515918301919091526003805490846001600160a01b031663c32921716040518163ffffffff1660e01b81526004016020604051808303816000875af1158015610a99573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610abd9190613e2a565b6003811115610ace57610ace613e14565b03610b4d5760405163782aadff60e01b81526001600160a01b0386811660048301526000602483015285169063782aadff906044016020604051808303816000875af1158015610b22573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b469190613e47565b9050610c3f565b6000846001600160a01b031663c32921716040518163ffffffff1660e01b81526004016020604051808303816000875af1158015610b8f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bb39190613e2a565b6003811115610bc457610bc4613e14565b14610c3f5760405163782aadff60e01b81526001600160a01b0386811660048301526024820184905285169063782aadff906044016020604051808303816000875af1158015610c18573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c3c9190613e47565b90505b6001600160a01b038581166000818152601260209081526040808320948916808452948252808320869055838352601582528083208584528252808320805460ff19166001908117909155848452601483528184208054918201815584529282902090920180546001600160a01b0319168517905581519283528201929092529081018290527ff56fa57e85e169a12200d12d9921ec069b52e688f6d309d9dab7bceff54614ec9060600160405180910390a15050505050565b610d01612811565b610d0a8161296e565b50565b610d15612811565b610d0a816129c8565b610d2782612879565b610d308161292e565b610d3a3382612a6f565b6001600160a01b0380831660009081526015602090815260408083209385168352929052205460ff16610d99576040517fc12369dc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038083166000818152601560209081526040808320948616808452948252808320805460ff191690559282526012815282822093825292909252812055610de78282612aba565b604080516001600160a01b038085168252831660208201527ede109bef4619f7e2cf00c8e5a50ca55f8deb44f87087eed414a91dbf8d1d1b910160405180910390a15050565b6007546000906001600160a01b031681610e4a6127106064613dfd565b600454600354610e5a9190613dfd565b610e649190613e60565b90506000610e756127106064613dfd565b6040516302a64b8360e21b81523060048201526001600160a01b03851690630a992e0c90602401602060405180830381865afa158015610eb9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610edd9190613e47565b600354610eea9190613dfd565b610ef49190613e60565b90508082600354610f059190613e82565b610f0f9190613e82565b935050505090565b60146020528160005260406000208181548110610f3357600080fd5b6000918252602090912001546001600160a01b03169150829050565b60008281526001602081905260409091200154610f6b81612bdc565b610f758383612be6565b505050565b610f82612811565b60038190556040518181527f5bcc2c453001fb0e2ba6266d56ecb411e7c6e15c8f9c3d301f93dd36ad25726f90602001610987565b610fbf612c6d565b33600081815260136020526040812060075490916001600160a01b0390911690610fec6127106064613dfd565b600454600354610ffc9190613dfd565b6110069190613e60565b905060006110176127106064613dfd565b6040516302a64b8360e21b81523060048201526001600160a01b03851690630a992e0c90602401602060405180830381865afa15801561105b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061107f9190613e47565b60035461108c9190613dfd565b6110969190613e60565b6001600160a01b038087166000908152601360209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff16151591018190529091506113ab5760028401805460ff191660019081179091556003549085015560408051808201909152600b81527f67617264656e546f6b656e0000000000000000000000000000000000000000006020820152600c5461114691906001600160a01b0316612cc6565b6111788530838560035461115a9190613e82565b6111649190613e82565b600c546001600160a01b0316929190612d24565b6111b76040518060400160405280601281526020017f636f6d6d756e697479466565416d6f756e74000000000000000000000000000081525083612da8565b81156112245760408051808201909152600b81527f6665655265636569766572000000000000000000000000000000000000000000602082015260065461120791906001600160a01b0316612cc6565b600654600c54611224916001600160a01b03918216911684612e06565b6112636040518060400160405280601081526020017f67617264656e73466565416d6f756e740000000000000000000000000000000081525082612da8565b8015611364576112ec6040518060600160405280602681526020016145fa60269139846001600160a01b031663987435be6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112c3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112e79190613e95565b612cc6565b611364836001600160a01b031663987435be6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561132d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113519190613e95565b600c546001600160a01b03169083612e06565b600354604080516001600160a01b038816815260208101929092527f67e0244e28040fec15240cd4b6c04c776a2a0278caef23b59e8ada1df31f7689910160405180910390a15b50505050506113ba6001600055565b565b6001600160a01b038116331461143f5760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201527f20726f6c657320666f722073656c66000000000000000000000000000000000060648201526084015b60405180910390fd5b6114498282612e36565b5050565b611455612811565b61145e8161292e565b600a80546001600160a01b0319166001600160a01b03838116918217909255600d546040805191909316815260208101919091527f83eac9fdaff0ac1017624b7eddeb9782e3d707cd894073cb7e8301a41c6e5cf89101610987565b6114c2612c6d565b6114ca612eb9565b3360008181526014602090815260408083208054825181850281018501909352808352919290919083018282801561152b57602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831161150d575b50505050509050600080600090505b82518110156116fb5782818151811061155557611555613eb2565b602090810291909101015160405163782aadff60e01b81526001600160a01b038681166004830152602482018890529091169063782aadff906044016020604051808303816000875af11580156115b0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115d49190613e47565b915081156116e9576001600160a01b0384166000908152601260205260408120845184929086908590811061160b5761160b613eb2565b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060008282546116429190613e82565b925050819055506116e96040518060400160405280600e81526020017f537472617465677920706f77657200000000000000000000000000000000000081525060126000876001600160a01b03166001600160a01b0316815260200190815260200160002060008685815181106116bb576116bb613eb2565b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002054612da8565b806116f381613ec8565b91505061153a565b50600c54611714906001600160a01b0316843087612d24565b6001600160a01b0383166000908152601360205260408120600101805486929061173f908490613e82565b9091555050604080516001600160a01b0385168152602081018690527f576605f9bfe8911e7508bed3763c7c5c8eb3b86e8b360b90a4bc6abe1104cb7f91015b60405180910390a1505050610d0a6001600055565b61179c612c6d565b6117a4612eb9565b336000818152601460209081526040808320600354601390935290832060010154909291906117d4908690613ee1565b101561180c576040517f9c47d02e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600c54611823906001600160a01b03168486612e06565b60005b8254811015611ade57600083828154811061184357611843613eb2565b6000918252602090912001546001600160a01b0316905061186b8163f1801e6160e01b612f18565b15611a12576040517f2ed04b2b0000000000000000000000000000000000000000000000000000000081526001600160a01b03868116600483015260248201889052821690632ed04b2b906044016020604051808303816000875af11580156118d8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118fc9190613e47565b9250600060126000876001600160a01b03166001600160a01b03168152602001908152602001600020600086858154811061193957611939613eb2565b60009182526020808320909101546001600160a01b031683528201929092526040019020549050808411156119a4576040517f8a11f3180000000000000000000000000000000000000000000000000000000081526004810185905260248101829052604401611436565b6001600160a01b038616600090815260126020526040812086548692908890879081106119d3576119d3613eb2565b60009182526020808320909101546001600160a01b0316835282019290925260400181208054909190611a07908490613ee1565b909155505050611acb565b83548490611a2290600190613ee1565b81548110611a3257611a32613eb2565b9060005260206000200160009054906101000a90046001600160a01b0316848381548110611a6257611a62613eb2565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555083805480611aa057611aa0613ef4565b600082815260209020810160001990810180546001600160a01b0319169055019055611acb8161296e565b5080611ad681613ec8565b915050611826565b506001600160a01b03831660009081526013602052604081206001018054869290611b0a908490613ee1565b9091555050604080516001600160a01b0385168152602081018690527f6ee2c70b2d6b89ae808a2313aab43e925c06624271419cd665d85cfa1ae04ff8910161177f565b611b56612c6d565b611b5e612811565b60025460ff16611b9a576040517fcb63dc7200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038083166000908152601360209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff1615159101819052611bfd57604051636a5cfb6d60e01b815260040160405180910390fd5b6001600160a01b038083166000908152601360209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff16151590820152611c4b83612f3b565b6001600160a01b03838116600090815260136020908152604080832080546001600160a01b031916815560018101939093556002909201805460ff19169055600c5490840151915163a9059cbb60e01b8152858416600482015260248101929092529091169063a9059cbb906044016020604051808303816000875af1158015611cd9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cfd9190613f0a565b50602080820151604080516001600160a01b0380881682528616938101939093528201527fb5946f249f8744efe9d14d49a483b54a589b1362944ff6694de93456cceb96a39060600160405180910390a1506114496001600055565b611d61612811565b600e5460405163068bcd8d60e01b8152600481018390526000916001600160a01b03169063068bcd8d90602401600060405180830381865afa158015611dab573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611dd39190810190613f27565b602001519050611de28161292e565b6114498161296e565b611df3612811565b600e5460405163068bcd8d60e01b8152600481018390526000916001600160a01b03169063068bcd8d90602401600060405180830381865afa158015611e3d573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611e659190810190613f27565b602001519050611e748161292e565b611e8e6001600160a01b03821663f1801e6160e01b612f18565b1561144957611449816129c8565b611ea9816020015161292e565b611eb781610100015161292e565b8051611ec29061292e565b611ecf8160a0015161292e565b611edd81610180015161292e565b606081015115611ef457611ef48160c0015161292e565b8051600e80546001600160a01b039283166001600160a01b0319918216179091556020830151600c80549190931691161790556040810151600003611f65576040517fc70d18aa00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604081015160035560608101516004556101408101516002805460ff1916911515919091179055610120810151600f90611f9f90826140d1565b50610160810151601090611fb390826140d1565b5060a0810151600780546001600160a01b03199081166001600160a01b039384161790915560c0830151600680548316918416919091179055610100830151600d8054831682851617905561018084015160088054909316931692909217905561203e907fbc6bbe35ebc64943402c04d2ae016d7bd2bba28e1a11cf66be743c9bd74c720b90612be6565b600e60009054906101000a90046001600160a01b03166001600160a01b0316635ab1bd536040518163ffffffff1660e01b8152600401602060405180830381865afa158015612091573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120b59190613e95565b600b80546001600160a01b0319166001600160a01b03928316179055600d54604080517fa0e67e2b0000000000000000000000000000000000000000000000000000000081529051600093929092169163a0e67e2b9160048082019286929091908290030181865afa15801561212f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526121579190810190614191565b90506000815160026121699190613e82565b67ffffffffffffffff8111156121815761218161388c565b6040519080825280602002602001820160405280156121aa578160200160208202803683370190505b50905060005b825181101561220f578281815181106121cb576121cb613eb2565b60200260200101518282815181106121e5576121e5613eb2565b6001600160a01b03909216602092830291909101909101528061220781613ec8565b9150506121b0565b50600d5481516001600160a01b0390911690829061222f90600190613ee1565b8151811061223f5761223f613eb2565b60200260200101906001600160a01b031690816001600160a01b03168152505030816002835161226f9190613ee1565b8151811061227f5761227f613eb2565b6001600160a01b039283166020918202929092010152600b54608085015160e08601516040517f3a92f65f0000000000000000000000000000000000000000000000000000000081529290931692633a92f65f926122e79291600f9130908890600401614323565b6020604051808303816000875af1158015612306573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061232a9190613e47565b60055580516123409060169060208401906136e9565b507f2f2ffcb06f8a1d35e2716f6b43ef2c19bfa76467d8f66964ae12c2583ed03205600554600f8560e0015160405161237b93929190614371565b60405180910390a1505050565b60085460098054600092839283926123b7926001600160a01b031691846123ae83613ec8565b9190505561305d565b90506123c581878787612692565b9250925050935093915050565b600a546001600160a01b03163314612416576040517febcd0d6e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6113ba6130b1565b6010805461242b90614049565b80601f016020809104026020016040519081016040528092919081815260200182805461245790614049565b80156124a45780601f10612479576101008083540402835291602001916124a4565b820191906000526020600020905b81548152906001019060200180831161248757829003601f168201915b505050505081565b6124b4612c6d565b336124be81612879565b6124c781612f3b565b6001600160a01b0380821660008181526013602090815260408083208151606081018352815496871681526001820180548286015260028301805460ff81161515848701529787526001600160a01b03199098169092559084905560ff1990941690945560149052918220909161253e919061374e565b600c54602082015160405163a9059cbb60e01b81526001600160a01b038581166004830152602482019290925291169063a9059cbb906044016020604051808303816000875af1158015612596573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125ba9190613f0a565b50602080820151604080516001600160a01b0386168152928301919091527fa13f4668aacb68c4e9eed8e3f6e1cbec3eca776896ec46b5eabcc3983fc8f5f4910160405180910390a150506113ba6001600055565b61261c612710600a613dfd565b81565b600f805461242b90614049565b6000828152600160208190526040909120015461264881612bdc565b610f758383612e36565b6001600160a01b03811660009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604081205460ff16610902565b60008073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6001600160a01b038616156126bc5750845b8691506000601680548060200260200160405190810160405280929190818152602001828054801561271757602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116126f9575b5050600e546005546040519596506001600160a01b039091169463e1007d4a945090925087915061274c908b906020016143ba565b6040516020818303038152906040528660008b886040518863ffffffff1660e01b81526004016127829796959493929190614452565b6020604051808303816000875af11580156127a1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127c59190613e47565b93507f778cac0ae0b66477341553a4a89398c61ccf448313d3354ad0ca85a5a825d2838484308a896040516127fe9594939291906144be565b60405180910390a1505094509492505050565b3360009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604090205460ff166113ba576040517ff62651fa00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038082166000908152601360209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff1615159101819052610d0a57604051636a5cfb6d60e01b815260040160405180910390fd5b6001600160a01b03811660009081526011602052604090205460ff16610d0a576040517f46c26e4b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038116610d0a576040517fe622e04000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6129778161292e565b6001600160a01b038116600081815260116020908152604091829020805460ff1916905590519182527f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea49101610987565b6001600160a01b03811660009081526011602052604090205460ff1615612a1b576040517f968a4d2c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038116600081815260116020908152604091829020805460ff1916600117905590519182527f3f008fd510eae7a9e7bee13513d7b83bef8003d488b5a3d0b0da4de71d6846f19101610987565b806001600160a01b0316826001600160a01b031614611449576040517fbbe7961100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0382166000908152601460205260408120905b8154811015612bd657826001600160a01b0316828281548110612af957612af9613eb2565b6000918252602090912001546001600160a01b031603612bc45781548290612b2390600190613ee1565b81548110612b3357612b33613eb2565b9060005260206000200160009054906101000a90046001600160a01b0316828281548110612b6357612b63613eb2565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555081805480612ba157612ba1613ef4565b600082815260209020810160001990810180546001600160a01b03191690550190555b80612bce81613ec8565b915050612ad4565b50505050565b610d0a813361310c565b60008281526001602090815260408083206001600160a01b038516845290915290205460ff166114495760008281526001602081815260408084206001600160a01b0386168086529252808420805460ff19169093179092559051339285917f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d9190a45050565b600260005403612cbf5760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401611436565b6002600055565b6114498282604051602401612cdc9291906144f8565b60408051601f198184030181529190526020810180516001600160e01b03167f319af33300000000000000000000000000000000000000000000000000000000179052613181565b6040516001600160a01b0380851660248301528316604482015260648101829052612bd69085907f23b872dd00000000000000000000000000000000000000000000000000000000906084015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091526131a2565b6114498282604051602401612dbe929190614523565b60408051601f198184030181529190526020810180516001600160e01b03167f9710a9d000000000000000000000000000000000000000000000000000000000179052613181565b6040516001600160a01b038316602482015260448101829052610f7590849063a9059cbb60e01b90606401612d71565b60008281526001602090815260408083206001600160a01b038516845290915290205460ff16156114495760008281526001602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b33600090815260136020908152604091829020825160608101845281546001600160a01b031681526001820154928101929092526002015460ff16151591018190526113ba57604051636a5cfb6d60e01b815260040160405180910390fd5b6000612f238361328a565b8015612f345750612f3483836132bd565b9392505050565b6001600160a01b038116600090815260146020908152604080832080548251818502810185019093528083529192909190830182828015612fa557602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311612f87575b5050505050905060005b8151811015610f7557818181518110612fca57612fca613eb2565b60209081029190910101516040517f6453d9c40000000000000000000000000000000000000000000000000000000081526001600160a01b03858116600483015290911690636453d9c490602401600060405180830381600087803b15801561303257600080fd5b505af1158015613046573d6000803e3d6000fd5b50505050808061305590613ec8565b915050612faf565b6040516bffffffffffffffffffffffff193360601b1660208201526034810182905260009081906054016040516020818303038152906040528051906020012090506130a98482613346565b949350505050565b600a8054600d80546001600160a01b0383166001600160a01b031991821617909155169055604051600081527fad0399dc40331b9a4977aa89da7a164a3fd482c65e6da73b25a94ea74fb688729060200160405180910390a1565b60008281526001602090815260408083206001600160a01b038516845290915290205460ff166114495761313f816133e3565b61314a8360206133f5565b60405160200161315b929190614545565b60408051601f198184030181529082905262461bcd60e51b825261143691600401613d5e565b80516a636f6e736f6c652e6c6f67602083016000808483855afa5050505050565b60006131f7826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166135d69092919063ffffffff16565b90508051600014806132185750808060200190518101906132189190613f0a565b610f755760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152608401611436565b600061329d826301ffc9a760e01b6132bd565b801561090257506132b6826001600160e01b03196132bd565b1592915050565b604080516001600160e01b03198316602480830191909152825180830390910181526044909101909152602080820180516001600160e01b03166301ffc9a760e01b178152825160009392849283928392918391908a617530fa92503d9150600051905082801561332f575060208210155b801561333b5750600081115b979650505050505050565b6000763d602d80600a3d3981f3363d3d373d3d3d363d730000008360601b60e81c176000526e5af43d82803e903d91602b57fd5bf38360781b1760205281603760096000f590506001600160a01b0381166109025760405162461bcd60e51b815260206004820152601760248201527f455243313136373a2063726561746532206661696c65640000000000000000006044820152606401611436565b60606109026001600160a01b03831660145b60606000613404836002613dfd565b61340f906002613e82565b67ffffffffffffffff8111156134275761342761388c565b6040519080825280601f01601f191660200182016040528015613451576020820181803683370190505b5090507f30000000000000000000000000000000000000000000000000000000000000008160008151811061348857613488613eb2565b60200101906001600160f81b031916908160001a9053507f7800000000000000000000000000000000000000000000000000000000000000816001815181106134d3576134d3613eb2565b60200101906001600160f81b031916908160001a90535060006134f7846002613dfd565b613502906001613e82565b90505b6001811115613587577f303132333435363738396162636465660000000000000000000000000000000085600f166010811061354357613543613eb2565b1a60f81b82828151811061355957613559613eb2565b60200101906001600160f81b031916908160001a90535060049490941c93613580816145c6565b9050613505565b508315612f345760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401611436565b60606130a9848460008585600080866001600160a01b031685876040516135fd91906145dd565b60006040518083038185875af1925050503d806000811461363a576040519150601f19603f3d011682016040523d82523d6000602084013e61363f565b606091505b509150915061333b87838387606083156136ba5782516000036136b3576001600160a01b0385163b6136b35760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401611436565b50816130a9565b6130a983838151156136cf5781518083602001fd5b8060405162461bcd60e51b81526004016114369190613d5e565b82805482825590600052602060002090810192821561373e579160200282015b8281111561373e57825182546001600160a01b0319166001600160a01b03909116178255602090920191600190910190613709565b5061374a929150613768565b5090565b5080546000825590600052602060002090810190610d0a91905b5b8082111561374a5760008155600101613769565b60006020828403121561378f57600080fd5b81356001600160e01b031981168114612f3457600080fd5b6000602082840312156137b957600080fd5b5035919050565b6001600160a01b0381168114610d0a57600080fd5b80356137e0816137c0565b919050565b600080604083850312156137f857600080fd5b8235613803816137c0565b91506020830135613813816137c0565b809150509250929050565b60006020828403121561383057600080fd5b8135612f34816137c0565b6000806040838503121561384e57600080fd5b8235613859816137c0565b946020939093013593505050565b6000806040838503121561387a57600080fd5b823591506020830135613813816137c0565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff811182821017156138c5576138c561388c565b60405290565b6040516101a0810167ffffffffffffffff811182821017156138c5576138c561388c565b604051610120810167ffffffffffffffff811182821017156138c5576138c561388c565b60405160c0810167ffffffffffffffff811182821017156138c5576138c561388c565b604051601f8201601f1916810167ffffffffffffffff8111828210171561395f5761395f61388c565b604052919050565b600067ffffffffffffffff8211156139815761398161388c565b50601f01601f191660200190565b600082601f8301126139a057600080fd5b81356139b36139ae82613967565b613936565b8181528460208386010111156139c857600080fd5b816020850160208301376000918101602001919091529392505050565b6000604082840312156139f757600080fd5b6139ff6138a2565b905081358152602082013567ffffffffffffffff811115613a1f57600080fd5b613a2b8482850161398f565b60208301525092915050565b8015158114610d0a57600080fd5b80356137e081613a37565b600060208284031215613a6257600080fd5b813567ffffffffffffffff80821115613a7a57600080fd5b908301906101a08286031215613a8f57600080fd5b613a976138cb565b613aa0836137d5565b8152613aae602084016137d5565b6020820152604083013560408201526060830135606082015260808301356080820152613add60a084016137d5565b60a0820152613aee60c084016137d5565b60c082015260e083013582811115613b0557600080fd5b613b11878286016139e5565b60e083015250610100613b258185016137d5565b908201526101208381013583811115613b3d57600080fd5b613b498882870161398f565b828401525050610140613b5d818501613a45565b908201526101608381013583811115613b7557600080fd5b613b818882870161398f565b8284015250506101809150613b978284016137d5565b91810191909152949350505050565b8035600381106137e057600080fd5b60048110610d0a57600080fd5b80356137e081613bb5565b600060208284031215613bdf57600080fd5b6040516020810181811067ffffffffffffffff82111715613c0257613c0261388c565b6040529135825250919050565b60006101208284031215613c2257600080fd5b613c2a6138ef565b9050613c35826137d5565b815260208201356020820152604082013560408201526060820135606082015260808201356080820152613c6b60a08301613ba6565b60a0820152613c7c60c08301613bc2565b60c0820152613c8e8360e08401613bcd565b60e0820152610100613ca18184016137d5565b9082015292915050565b60008060006101608486031215613cc157600080fd5b8335613ccc816137c0565b9250613cdb8560208601613c0f565b915061014084013567ffffffffffffffff811115613cf857600080fd5b613d04868287016139e5565b9150509250925092565b60005b83811015613d29578181015183820152602001613d11565b50506000910152565b60008151808452613d4a816020860160208601613d0e565b601f01601f19169290920160200192915050565b602081526000612f346020830184613d32565b6000806000806101808587031215613d8857600080fd5b8435613d93816137c0565b93506020850135613da3816137c0565b9250613db28660408701613c0f565b915061016085013567ffffffffffffffff811115613dcf57600080fd5b613ddb878288016139e5565b91505092959194509250565b634e487b7160e01b600052601160045260246000fd5b808202811582820484141761090257610902613de7565b634e487b7160e01b600052602160045260246000fd5b600060208284031215613e3c57600080fd5b8151612f3481613bb5565b600060208284031215613e5957600080fd5b5051919050565b600082613e7d57634e487b7160e01b600052601260045260246000fd5b500490565b8082018082111561090257610902613de7565b600060208284031215613ea757600080fd5b8151612f34816137c0565b634e487b7160e01b600052603260045260246000fd5b600060018201613eda57613eda613de7565b5060010190565b8181038181111561090257610902613de7565b634e487b7160e01b600052603160045260246000fd5b600060208284031215613f1c57600080fd5b8151612f3481613a37565b60006020808385031215613f3a57600080fd5b825167ffffffffffffffff80821115613f5257600080fd5b9084019060c08287031215613f6657600080fd5b613f6e613913565b8251815283830151613f7f816137c0565b818501526040830151613f91816137c0565b6040820152606083015182811115613fa857600080fd5b830160408189031215613fba57600080fd5b613fc26138a2565b815181528582015184811115613fd757600080fd5b82019350601f84018913613fea57600080fd5b83519150613ffa6139ae83613967565b828152898784870101111561400e57600080fd5b61401d83888301898801613d0e565b95810195909552506060810193909352506080818101519083015260a090810151908201529392505050565b600181811c9082168061405d57607f821691505b60208210810361407d57634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115610f7557600081815260208120601f850160051c810160208610156140aa5750805b601f850160051c820191505b818110156140c9578281556001016140b6565b505050505050565b815167ffffffffffffffff8111156140eb576140eb61388c565b6140ff816140f98454614049565b84614083565b602080601f831160018114614134576000841561411c5750858301515b600019600386901b1c1916600185901b1785556140c9565b600085815260208120601f198616915b8281101561416357888601518255948401946001909101908401614144565b50858210156141815787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b600060208083850312156141a457600080fd5b825167ffffffffffffffff808211156141bc57600080fd5b818501915085601f8301126141d057600080fd5b8151818111156141e2576141e261388c565b8060051b91506141f3848301613936565b818152918301840191848101908884111561420d57600080fd5b938501935b838510156142375784519250614227836137c0565b8282529385019390850190614212565b98975050505050505050565b6000815461425081614049565b80855260206001838116801561426d5760018114614287576142b5565b60ff1985168884015283151560051b8801830195506142b5565b866000528260002060005b858110156142ad5781548a8201860152908301908401614292565b890184019650505b505050505092915050565b8051825260006020820151604060208501526130a96040850182613d32565b600081518084526020808501945080840160005b838110156143185781516001600160a01b0316875295820195908201906001016142f3565b509495945050505050565b85815260a06020820152600061433c60a0830187614243565b828103604084015261434e81876142c0565b90506001600160a01b0385166060840152828103608084015261423781856142df565b83815260606020820152600061438a6060830185614243565b828103604084015261439c81856142c0565b9695505050505050565b600481106143b6576143b6613e14565b9052565b6000610120820190506001600160a01b0383511682526020830151602083015260408301516040830152606083015160608301526080830151608083015260a08301516003811061440d5761440d613e14565b8060a08401525060c083015161442660c08401826143a6565b5060e083015161443960e0840182519052565b50610100928301516001600160a01b0316919092015290565b87815260006001600160a01b03808916602084015260e0604084015261447b60e0840189613d32565b818816606085015286608085015283810360a085015261449b81876142c0565b91505082810360c08401526144b081856142df565b9a9950505050505050505050565b85815260006001600160a01b038087166020840152808616604084015280851660608401525060a0608083015261333b60a08301846142c0565b60408152600061450b6040830185613d32565b90506001600160a01b03831660208301529392505050565b6040815260006145366040830185613d32565b90508260208301529392505050565b7f416363657373436f6e74726f6c3a206163636f756e742000000000000000000081526000835161457d816017850160208801613d0e565b7f206973206d697373696e6720726f6c652000000000000000000000000000000060179184019182015283516145ba816028840160208801613d0e565b01602801949350505050565b6000816145d5576145d5613de7565b506000190190565b600082516145ef818460208701613d0e565b919091019291505056fe67617264656e73466163746f72792e67657447617264656e7346656552656365697665722829a2646970667358221220540d32ab4f01c7a604fe4a0814f512521bb48df079211c6379c9d265c28ddd8564736f6c63430008130033a2646970667358221220b219b3e52c4816f56008200e3c0e5743856e059154900157812b3dce14f64f6c64736f6c63430008130033","sourceMap":"202:2981:135:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2940:241;;;;;;:::i;:::-;;:::i;:::-;;;710:25:151;;;698:2;683:18;2940:241:135;;;;;;;;2592:200;;;;;;:::i;:::-;;:::i;:::-;;1824:101:60;;;:::i;2043:214:135:-;;;;;;:::i;:::-;;:::i;1519:518::-;;;;;;:::i;:::-;;:::i;:::-;;;-1:-1:-1;;;;;5023:55:151;;;5005:74;;4993:2;4978:18;1519:518:135;4859:226:151;1201:85:60;1247:7;1273:6;-1:-1:-1;;;;;1273:6:60;1201:85;;2263:107:135;2345:18;;-1:-1:-1;;;;;2345:18:135;2263:107;;244:24;;;;;;2376:210;;;;;;:::i;:::-;;:::i;515:33::-;;;;;-1:-1:-1;;;;;515:33:135;;;2074:198:60;;;;;;:::i;:::-;;:::i;2798:136:135:-;;;;;;:::i;:::-;-1:-1:-1;;;;;2894:27:135;2871:4;2894:27;;;:15;:27;;;;;:33;;;;2798:136;;;;5671:14:151;;5664:22;5646:41;;5634:2;5619:18;2798:136:135;5506:187:151;2940:241:135;-1:-1:-1;;;;;3031:27:135;;3007:7;3031:27;;;:15;:27;;;;;:33;;;3026:100;;3087:28;;;;;-1:-1:-1;;;;;5023:55:151;;3087:28:135;;;5005:74:151;4978:18;;3087:28:135;;;;;;;;3026:100;-1:-1:-1;;;;;;3143:27:135;;;;;:15;:27;;;;;:31;;;;2940:241::o;2592:200::-;1094:13:60;:11;:13::i;:::-;-1:-1:-1;;;;;2684:27:135;::::1;;::::0;;;:15:::1;:27;::::0;;;;;;;;:44;;-1:-1:-1;;2684:44:135::1;::::0;::::1;;::::0;;::::1;::::0;;;2743:42;;5866:74:151;;;5956:18;;;5949:50;2743:42:135::1;::::0;5839:18:151;2743:42:135::1;;;;;;;;2592:200:::0;;:::o;1824:101:60:-;1094:13;:11;:13::i;:::-;1888:30:::1;1915:1;1888:18;:30::i;:::-;1824:101::o:0;2043:214:135:-;1094:13:60;:11;:13::i;:::-;2123:35:135::1;2142:15;2123:18;:35::i;:::-;2168:18;:36:::0;;-1:-1:-1;;2168:36:135::1;-1:-1:-1::0;;;;;2168:36:135;::::1;::::0;;::::1;::::0;;;2219:31:::1;::::0;5005:74:151;;;2219:31:135::1;::::0;4993:2:151;4978:18;2219:31:135::1;;;;;;;2043:214:::0;:::o;1519:518::-;1625:31;1672:35;1710:23;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1759:5:135;:7;;1672:61;;-1:-1:-1;1759:5:135;:7;;;:::i;:::-;;;;-1:-1:-1;1743:13:135;;;:23;1810:4;1776:23;;;:39;1826:36;;;;;-1:-1:-1;;;;;1826:28:135;;;;;:36;;1743:6;;1826:36;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;1872:43:135;;;;;;:15;:43;;;;;;;;;:56;;-1:-1:-1;;1872:56:135;1924:4;1872:56;;;1943:44;;5005:74:151;;;1943:44:135;;4978:18:151;1943:44:135;;;;;;;2012:17;1519:518;-1:-1:-1;;1519:518:135:o;2376:210::-;1094:13:60;:11;:13::i;:::-;-1:-1:-1;;;;;2472:27:135;::::1;;::::0;;;:15:::1;:27;::::0;;;;;;;;:31:::1;;:49:::0;;;2536:43;;9044:74:151;;;9134:18;;9127:34;;;2536:43:135::1;::::0;9017:18:151;2536:43:135::1;8870:297:151::0;2074:198:60;1094:13;:11;:13::i;:::-;-1:-1:-1;;;;;2162:22:60;::::1;2154:73;;;::::0;-1:-1:-1;;;2154:73:60;;9374:2:151;2154:73:60::1;::::0;::::1;9356:21:151::0;9413:2;9393:18;;;9386:30;9452:34;9432:18;;;9425:62;9523:8;9503:18;;;9496:36;9549:19;;2154:73:60::1;9172:402:151::0;2154:73:60::1;2237:28;2256:8;2237:18;:28::i;:::-;2074:198:::0;:::o;1359:130::-;1247:7;1273:6;-1:-1:-1;;;;;1273:6:60;719:10:81;1422:23:60;1414:68;;;;-1:-1:-1;;;1414:68:60;;9781:2:151;1414:68:60;;;9763:21:151;;;9800:18;;;9793:30;9859:34;9839:18;;;9832:62;9911:18;;1414:68:60;9579:356:151;2426:187:60;2499:16;2518:6;;-1:-1:-1;;;;;2534:17:60;;;-1:-1:-1;;2534:17:60;;;;;;2566:40;;2518:6;;;;;;;2566:40;;2499:16;2566:40;2489:124;2426:187;:::o;1380:133:135:-;-1:-1:-1;;;;;1454:22:135;;1450:56;;1485:21;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;:::o;14:154:151:-;-1:-1:-1;;;;;93:5:151;89:54;82:5;79:65;69:93;;158:1;155;148:12;173:134;241:20;;270:31;241:20;270:31;:::i;:::-;173:134;;;:::o;312:247::-;371:6;424:2;412:9;403:7;399:23;395:32;392:52;;;440:1;437;430:12;392:52;479:9;466:23;498:31;523:5;498:31;:::i;:::-;548:5;312:247;-1:-1:-1;;;312:247:151:o;746:160::-;811:20;;867:13;;860:21;850:32;;840:60;;896:1;893;886:12;911:315;976:6;984;1037:2;1025:9;1016:7;1012:23;1008:32;1005:52;;;1053:1;1050;1043:12;1005:52;1092:9;1079:23;1111:31;1136:5;1111:31;:::i;:::-;1161:5;-1:-1:-1;1185:35:151;1216:2;1201:18;;1185:35;:::i;:::-;1175:45;;911:315;;;;;:::o;1231:184::-;-1:-1:-1;;;1280:1:151;1273:88;1380:4;1377:1;1370:15;1404:4;1401:1;1394:15;1420:250;1487:2;1481:9;1529:6;1517:19;;1566:18;1551:34;;1587:22;;;1548:62;1545:88;;;1613:18;;:::i;:::-;1649:2;1642:22;1420:250;:::o;1675:719::-;1718:5;1771:3;1764:4;1756:6;1752:17;1748:27;1738:55;;1789:1;1786;1779:12;1738:55;1825:6;1812:20;1851:18;1888:2;1884;1881:10;1878:36;;;1894:18;;:::i;:::-;1969:2;1963:9;1937:2;2023:13;;-1:-1:-1;;2019:22:151;;;2043:2;2015:31;2011:40;1999:53;;;2067:18;;;2087:22;;;2064:46;2061:72;;;2113:18;;:::i;:::-;2153:10;2149:2;2142:22;2188:2;2180:6;2173:18;2234:3;2227:4;2222:2;2214:6;2210:15;2206:26;2203:35;2200:55;;;2251:1;2248;2241:12;2200:55;2315:2;2308:4;2300:6;2296:17;2289:4;2281:6;2277:17;2264:54;2362:1;2355:4;2350:2;2342:6;2338:15;2334:26;2327:37;2382:6;2373:15;;;;;;1675:719;;;;:::o;2399:610::-;2454:5;2502:4;2490:9;2485:3;2481:19;2477:30;2474:50;;;2520:1;2517;2510:12;2474:50;2553:4;2547:11;2597:4;2589:6;2585:17;2621:18;2689:6;2677:10;2674:22;2669:2;2657:10;2654:18;2651:46;2648:72;;;2700:18;;:::i;:::-;2742:10;2736:4;2729:24;2771:6;2762:15;;2814:9;2801:23;2793:6;2786:39;2876:2;2865:9;2861:18;2848:32;2834:46;;2903:2;2895:6;2892:14;2889:34;;;2919:1;2916;2909:12;2889:34;;2956:46;2998:3;2989:6;2978:9;2974:22;2956:46;:::i;:::-;2951:2;2943:6;2939:15;2932:71;;;2399:610;;;;:::o;3014:1708::-;3108:6;3161:2;3149:9;3140:7;3136:23;3132:32;3129:52;;;3177:1;3174;3167:12;3129:52;3217:9;3204:23;3246:18;3287:2;3279:6;3276:14;3273:34;;;3303:1;3300;3293:12;3273:34;3326:22;;;;3382:6;3364:16;;;3360:29;3357:49;;;3402:1;3399;3392:12;3357:49;3428:17;;:::i;:::-;3468:22;3487:2;3468:22;:::i;:::-;3461:5;3454:37;3523:31;3550:2;3546;3542:11;3523:31;:::i;:::-;3518:2;3511:5;3507:14;3500:55;3608:2;3604;3600:11;3587:25;3582:2;3575:5;3571:14;3564:49;3666:2;3662;3658:11;3645:25;3640:2;3633:5;3629:14;3622:49;3725:3;3721:2;3717:12;3704:26;3698:3;3691:5;3687:15;3680:51;3764:32;3791:3;3787:2;3783:12;3764:32;:::i;:::-;3758:3;3751:5;3747:15;3740:57;3830:32;3857:3;3853:2;3849:12;3830:32;:::i;:::-;3824:3;3817:5;3813:15;3806:57;3909:3;3905:2;3901:12;3888:26;3939:2;3929:8;3926:16;3923:36;;;3955:1;3952;3945:12;3923:36;3992:54;4038:7;4027:8;4023:2;4019:17;3992:54;:::i;:::-;3986:3;3979:5;3975:15;3968:79;;4066:3;4101:31;4128:2;4124;4120:11;4101:31;:::i;:::-;4085:14;;;4078:55;4152:3;4193:11;;;4180:25;4217:16;;;4214:36;;;4246:1;4243;4236:12;4214:36;4282:45;4319:7;4308:8;4304:2;4300:17;4282:45;:::i;:::-;4277:2;4270:5;4266:14;4259:69;;;4347:3;4382:28;4406:2;4402;4398:11;4382:28;:::i;:::-;4366:14;;;4359:52;4430:3;4471:11;;;4458:25;4495:16;;;4492:36;;;4524:1;4521;4514:12;4492:36;4560:45;4597:7;4586:8;4582:2;4578:17;4560:45;:::i;:::-;4555:2;4548:5;4544:14;4537:69;;;4625:3;4615:13;;4660:31;4687:2;4683;4679:11;4660:31;:::i;:::-;4644:14;;;4637:55;;;;4648:5;3014:1708;-1:-1:-1;;;;3014:1708:151:o;5090:315::-;5158:6;5166;5219:2;5207:9;5198:7;5194:23;5190:32;5187:52;;;5235:1;5232;5225:12;5187:52;5274:9;5261:23;5293:31;5318:5;5293:31;:::i;:::-;5343:5;5395:2;5380:18;;;;5367:32;;-1:-1:-1;;;5090:315:151:o;6010:289::-;6049:3;6070:17;;;6067:197;;-1:-1:-1;;;6117:1:151;6110:88;6221:4;6218:1;6211:15;6249:4;6246:1;6239:15;6067:197;-1:-1:-1;6291:1:151;6280:13;;6010:289::o;6304:423::-;6346:3;6384:5;6378:12;6411:6;6406:3;6399:19;6436:1;6446:162;6460:6;6457:1;6454:13;6446:162;;;6522:4;6578:13;;;6574:22;;6568:29;6550:11;;;6546:20;;6539:59;6475:12;6446:162;;;6450:3;6653:1;6646:4;6637:6;6632:3;6628:16;6624:27;6617:38;6716:4;6709:2;6705:7;6700:2;6692:6;6688:15;6684:29;6679:3;6675:39;6671:50;6664:57;;;6304:423;;;;:::o;6732:252::-;6819:5;6813:12;6808:3;6801:25;6783:3;6872:4;6865:5;6861:16;6855:23;6910:4;6903;6898:3;6894:14;6887:28;6931:47;6972:4;6967:3;6963:14;6949:12;6931:47;:::i;:::-;6924:54;6732:252;-1:-1:-1;;;;6732:252:151:o;6989:1876::-;7188:2;7177:9;7170:21;7200:53;7249:2;7238:9;7234:18;7225:6;7219:13;-1:-1:-1;;;;;4793:54:151;4781:67;;4727:127;7200:53;7151:4;7300:2;7292:6;7288:15;7282:22;7313:52;7361:2;7350:9;7346:18;7332:12;-1:-1:-1;;;;;4793:54:151;4781:67;;4727:127;7313:52;;7419:2;7411:6;7407:15;7401:22;7396:2;7385:9;7381:18;7374:50;7479:2;7471:6;7467:15;7461:22;7455:3;7444:9;7440:19;7433:51;7539:3;7531:6;7527:16;7521:23;7515:3;7504:9;7500:19;7493:52;7594:3;7586:6;7582:16;7576:23;7608:55;7658:3;7647:9;7643:19;7627:14;-1:-1:-1;;;;;4793:54:151;4781:67;;4727:127;7608:55;-1:-1:-1;7712:3:151;7700:16;;7694:23;-1:-1:-1;;;;;4793:54:151;;7776:3;7761:19;;4781:67;7726:55;7830:3;7822:6;7818:16;7812:23;7854:6;7879:3;7918:2;7913;7902:9;7898:18;7891:30;7944:63;8002:3;7991:9;7987:19;7971:14;7944:63;:::i;:::-;8044:15;;;8038:22;7930:77;;-1:-1:-1;8079:3:151;8091:54;8126:18;;;8038:22;-1:-1:-1;;;;;4793:54:151;4781:67;;4727:127;8091:54;8194:2;8186:6;8182:15;8176:22;8154:44;;;8221:2;8217:7;8243:3;8310:2;8298:9;8290:6;8286:22;8282:31;8277:2;8266:9;8262:18;8255:59;8337:41;8371:6;8355:14;8337:41;:::i;:::-;8323:55;;8427:2;8419:6;8415:15;8409:22;8387:44;;;8450:3;8462:51;8509:2;8498:9;8494:18;8478:14;5480:13;5473:21;5461:34;;5410:91;8462:51;8562:2;8554:6;8550:15;8544:22;8522:44;;;8585:3;8652:2;8640:9;8632:6;8628:22;8624:31;8619:2;8608:9;8604:18;8597:59;8679:41;8713:6;8697:14;8679:41;:::i;:::-;8665:55;;8769:2;8761:6;8757:15;8751:22;8729:44;;;;8782:54;8832:2;8821:9;8817:18;8801:14;-1:-1:-1;;;;;4793:54:151;4781:67;;4727:127;8782:54;-1:-1:-1;8853:6:151;;6989:1876;-1:-1:-1;;;;6989:1876:151:o","linkReferences":{}},"methodIdentifiers":{"createRegistry((address,address,uint256,uint256,uint256,address,address,(uint256,string),address,string,bool,string,address))":"8a16135f","gardensFeeReceiver()":"b8bed901","getCommunityValidity(address)":"f5016b5e","getGardensFeeReceiver()":"987435be","getProtocolFee(address)":"0a992e0c","nonce()":"affed0e0","owner()":"8da5cb5b","renounceOwnership()":"715018a6","setCommunityValidity(address,bool)":"5a2c8ace","setProtocolFee(address,uint256)":"b5b3ca2c","setReceiverAddress(address)":"8279c7db","transferOwnership(address)":"f2fde38b"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"AddressCannotBeZero\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_community\",\"type\":\"address\"}],\"name\":\"CommunityInvalid\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_registryCommunity\",\"type\":\"address\"}],\"name\":\"CommunityCreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_community\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"_isValid\",\"type\":\"bool\"}],\"name\":\"CommunityValiditySet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_newFeeReceiver\",\"type\":\"address\"}],\"name\":\"FeeReceiverSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_community\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_newProtocolFee\",\"type\":\"uint256\"}],\"name\":\"ProtocolFeeSet\",\"type\":\"event\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"_allo\",\"type\":\"address\"},{\"internalType\":\"contract IERC20\",\"name\":\"_gardenToken\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_registerStakeAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_communityFee\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_nonce\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_registryFactory\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_feeReceiver\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"_metadata\",\"type\":\"tuple\"},{\"internalType\":\"address payable\",\"name\":\"_councilSafe\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"_communityName\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"_isKickEnabled\",\"type\":\"bool\"},{\"internalType\":\"string\",\"name\":\"covenantIpfsHash\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"_strategyTemplate\",\"type\":\"address\"}],\"internalType\":\"struct RegistryCommunity.InitializeParams\",\"name\":\"params\",\"type\":\"tuple\"}],\"name\":\"createRegistry\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"_createdRegistryAddress\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"gardensFeeReceiver\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_community\",\"type\":\"address\"}],\"name\":\"getCommunityValidity\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getGardensFeeReceiver\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_community\",\"type\":\"address\"}],\"name\":\"getProtocolFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nonce\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_community\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"_isValid\",\"type\":\"bool\"}],\"name\":\"setCommunityValidity\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_community\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_newProtocolFee\",\"type\":\"uint256\"}],\"name\":\"setProtocolFee\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_newFeeReceiver\",\"type\":\"address\"}],\"name\":\"setReceiverAddress\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"pkg/contracts/src/RegistryFactory.sol\":\"RegistryFactory\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1000},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":eas-proxy/=lib/allo-v2/lib/eas-proxy/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":hedgey-vesting/=lib/allo-v2/lib/hedgey-vesting/contracts/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-contracts/=lib/safe-contracts/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":superfluid-protocol-monorepo/=lib/allo-v2/lib/superfluid-protocol-monorepo/packages/solidity-semantic-money/src/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"]},\"sources\":{\"lib/allo-v2/contracts/core/interfaces/IAllo.sol\":{\"keccak256\":\"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7\",\"dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1\"]},\"lib/allo-v2/contracts/core/interfaces/IRegistry.sol\":{\"keccak256\":\"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e\",\"dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA\"]},\"lib/allo-v2/contracts/core/interfaces/IStrategy.sol\":{\"keccak256\":\"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487\",\"dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH\"]},\"lib/allo-v2/contracts/core/libraries/Clone.sol\":{\"keccak256\":\"0xc348b24b7d8a98c4faa5f2aa37ce9264a74f81dbdef1a9bae2eaa125585c3c7e\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://1335b3ec59ec7e3d12ea7c90b3aa56f4c26e0d44d342f54412933be9d4f16067\",\"dweb:/ipfs/QmXNFo2wCyq9cpvfgbdHvBUQecThFSEoUnMuZNS6WinDrr\"]},\"lib/allo-v2/contracts/core/libraries/Errors.sol\":{\"keccak256\":\"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf\",\"dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA\"]},\"lib/allo-v2/contracts/core/libraries/Metadata.sol\":{\"keccak256\":\"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c\",\"dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn\"]},\"lib/allo-v2/contracts/core/libraries/Native.sol\":{\"keccak256\":\"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a\",\"dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv\"]},\"lib/allo-v2/contracts/core/libraries/Transfer.sol\":{\"keccak256\":\"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11\",\"dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5\"]},\"lib/allo-v2/contracts/strategies/BaseStrategy.sol\":{\"keccak256\":\"0x3f1382dc6c35d50545e327e7ed6016f2bd752357d446bd698014073f0b812873\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://99500abcd617fa43f6dde49e2c7802821ceaf54a65a8055cbbf2695ecd107974\",\"dweb:/ipfs/QmUktZkWuu3GCMEijY1fqt7NMy7BzpTvEtcmpB1fuoa7zt\"]},\"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol\":{\"keccak256\":\"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298\",\"dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol\":{\"keccak256\":\"0x3d98edeb5d5be8410fca707b73dabe7544d1dd11e35b73dd907c473fe43cc3ae\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1a3fa9fc3aec149b8ad0dd8895277ab11e9244e9d2b7adc8404b22de974fc964\",\"dweb:/ipfs/QmRggzxs1WjuvGJSAKb2Nw5r7P3VDMefCWKTbkNPKRkv2j\"]},\"lib/openzeppelin-contracts/contracts/access/AccessControl.sol\":{\"keccak256\":\"0x0dd6e52cb394d7f5abe5dca2d4908a6be40417914720932de757de34a99ab87f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://dc117ce50ea746cab6b97ed1a1facee17a715ae0cb95d67b943dacbaf15176fb\",\"dweb:/ipfs/QmYRZ2UGNYwsHwfNu7Wjr8L2j1LBZ1mKv6NvbwgterYMXc\"]},\"lib/openzeppelin-contracts/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0x59ce320a585d7e1f163cd70390a0ef2ff9cec832e2aa544293a00692465a7a57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb2c137c343ef0c4c7ce7b18c1d108afdc9d315a04e48307288d2d05adcbde3a\",\"dweb:/ipfs/QmUxhrAQM3MM3FF5j7AtcXLXguWCJBHJ14BRdVtuoQc8Fh\"]},\"lib/openzeppelin-contracts/contracts/access/Ownable.sol\":{\"keccak256\":\"0xba43b97fba0d32eb4254f6a5a297b39a19a247082a02d6e69349e071e2946218\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fc980984badf3984b6303b377711220e067722bbd6a135b24669ff5069ef9f32\",\"dweb:/ipfs/QmPHXMSXj99XjSVM21YsY6aNtLLjLVXDbyN76J5HQYvvrz\"]},\"lib/openzeppelin-contracts/contracts/security/ReentrancyGuard.sol\":{\"keccak256\":\"0xa535a5df777d44e945dd24aa43a11e44b024140fc340ad0dfe42acf4002aade1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://41319e7f621f2dc3733511332c4fd032f8e32ad2aa7fd6f665c19741d9941a34\",\"dweb:/ipfs/QmcYR3bd862GD1Bc7jwrU9bGxrhUu5na1oP964bDCu2id1\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15\",\"dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5\",\"dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd\",\"dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol\":{\"keccak256\":\"0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a\",\"dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0x909d608c2db6eb165ca178c81289a07ed2e118e444d0025b2a85c97d0b44a4fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://656cda26512ddd7373c2d5551c8fae759fc30f05b10f0fc2e738e9274199dbd4\",\"dweb:/ipfs/QmTSArSzQRFbQmHgq7U1PZXnsDFhvDZhKVu9CzMG4yo6Lx\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"lib/openzeppelin-contracts/contracts/utils/Strings.sol\":{\"keccak256\":\"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f\",\"dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol\":{\"keccak256\":\"0x5a08ad61f4e82b8a3323562661a86fb10b10190848073fdc13d4ac43710ffba5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6f7bb74cf88fd88daa34e118bc6e363381d05044f34f391d39a10c0c9dac3ebd\",\"dweb:/ipfs/QmNbQ3v8v4zuDtg7VeLAbdhAm3tCzUodNoDZZ8ekmCHWZX\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]},\"pkg/contracts/src/CVStrategy.sol\":{\"keccak256\":\"0x132bcf17470960e380d841159d9389985d609aaae1c9a657c78902f7871da957\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://84e905bf392579b44f33fff8586431b940e110b2210854cf487321cc92061705\",\"dweb:/ipfs/QmQpvszYu8RbrXmUFLifSodQzV8LAqazk1fzXNARGc5sBT\"]},\"pkg/contracts/src/ISybilScorer.sol\":{\"keccak256\":\"0x0e25fbb8497ac3c969d80c9032362d45e56c0a45dc9ba3dff6a8a704571f38ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0dff90ebae6e7131a5300fcaf525bc2ab0ae90fcd13f277d7b7b6939eeb8b7eb\",\"dweb:/ipfs/QmYGkYqpUVrBWoNY6f3CtwrrVQFWSvnJfpu68t95f6AkBY\"]},\"pkg/contracts/src/RegistryCommunity.sol\":{\"keccak256\":\"0xc735f4d2635149f2db9bff291da56e08c3c312d9eb1b767b8a1e3e51584d5734\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://247b33b78abface6a7e2da38174386de9b543f6a27e8340e26d854bff57184a3\",\"dweb:/ipfs/QmedNdqkqeboGzz9w868uGf7KnXUaYZe6i1YcdUPPkJnnf\"]},\"pkg/contracts/src/RegistryFactory.sol\":{\"keccak256\":\"0x888b7f5eb1079f90ccfa0b41d8a970bffd8d4d469f9b31917a58279b358dbda5\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://af25fd783de00adf01d1c7caa572801fed0d474306a43b862535b08e65ec10c6\",\"dweb:/ipfs/Qmeb2nEaMQLV86y1CYAAV2c6BYpBDTbpLuC1SigeNjdqLo\"]},\"pkg/contracts/src/interfaces/ISafe.sol\":{\"keccak256\":\"0x878a210809bb684c42157a10f3f90350a67d0a4863f130499942b06f0f2c9143\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://fa2d71bd427c3415e98a2ee15ff673f3cc61c17f14d7087c5eedc83b55f6b0ef\",\"dweb:/ipfs/QmesVSmJQQzi6ys1cvhQFCJyDXchb736mT5bXks4Yp6Cbj\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[],"type":"error","name":"AddressCannotBeZero"},{"inputs":[{"internalType":"address","name":"_community","type":"address"}],"type":"error","name":"CommunityInvalid"},{"inputs":[{"internalType":"address","name":"_registryCommunity","type":"address","indexed":false}],"type":"event","name":"CommunityCreated","anonymous":false},{"inputs":[{"internalType":"address","name":"_community","type":"address","indexed":false},{"internalType":"bool","name":"_isValid","type":"bool","indexed":false}],"type":"event","name":"CommunityValiditySet","anonymous":false},{"inputs":[{"internalType":"address","name":"_newFeeReceiver","type":"address","indexed":false}],"type":"event","name":"FeeReceiverSet","anonymous":false},{"inputs":[{"internalType":"address","name":"previousOwner","type":"address","indexed":true},{"internalType":"address","name":"newOwner","type":"address","indexed":true}],"type":"event","name":"OwnershipTransferred","anonymous":false},{"inputs":[{"internalType":"address","name":"_community","type":"address","indexed":false},{"internalType":"uint256","name":"_newProtocolFee","type":"uint256","indexed":false}],"type":"event","name":"ProtocolFeeSet","anonymous":false},{"inputs":[{"internalType":"struct RegistryCommunity.InitializeParams","name":"params","type":"tuple","components":[{"internalType":"address","name":"_allo","type":"address"},{"internalType":"contract IERC20","name":"_gardenToken","type":"address"},{"internalType":"uint256","name":"_registerStakeAmount","type":"uint256"},{"internalType":"uint256","name":"_communityFee","type":"uint256"},{"internalType":"uint256","name":"_nonce","type":"uint256"},{"internalType":"address","name":"_registryFactory","type":"address"},{"internalType":"address","name":"_feeReceiver","type":"address"},{"internalType":"struct Metadata","name":"_metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]},{"internalType":"address payable","name":"_councilSafe","type":"address"},{"internalType":"string","name":"_communityName","type":"string"},{"internalType":"bool","name":"_isKickEnabled","type":"bool"},{"internalType":"string","name":"covenantIpfsHash","type":"string"},{"internalType":"address","name":"_strategyTemplate","type":"address"}]}],"stateMutability":"nonpayable","type":"function","name":"createRegistry","outputs":[{"internalType":"address","name":"_createdRegistryAddress","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"gardensFeeReceiver","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"_community","type":"address"}],"stateMutability":"view","type":"function","name":"getCommunityValidity","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getGardensFeeReceiver","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"_community","type":"address"}],"stateMutability":"view","type":"function","name":"getProtocolFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"nonce","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"renounceOwnership"},{"inputs":[{"internalType":"address","name":"_community","type":"address"},{"internalType":"bool","name":"_isValid","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"setCommunityValidity"},{"inputs":[{"internalType":"address","name":"_community","type":"address"},{"internalType":"uint256","name":"_newProtocolFee","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"setProtocolFee"},{"inputs":[{"internalType":"address","name":"_newFeeReceiver","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setReceiverAddress"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transferOwnership"}],"devdoc":{"kind":"dev","methods":{"owner()":{"details":"Returns the address of the current owner."},"renounceOwnership()":{"details":"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner."},"transferOwnership(address)":{"details":"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner."}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","eas-proxy/=lib/allo-v2/lib/eas-proxy/contracts/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","hedgey-vesting/=lib/allo-v2/lib/hedgey-vesting/contracts/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-contracts/=lib/safe-contracts/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","superfluid-protocol-monorepo/=lib/allo-v2/lib/superfluid-protocol-monorepo/packages/solidity-semantic-money/src/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":1000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"pkg/contracts/src/RegistryFactory.sol":"RegistryFactory"},"evmVersion":"paris","libraries":{}},"sources":{"lib/allo-v2/contracts/core/interfaces/IAllo.sol":{"keccak256":"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce","urls":["bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7","dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/interfaces/IRegistry.sol":{"keccak256":"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f","urls":["bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e","dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA"],"license":"MIT"},"lib/allo-v2/contracts/core/interfaces/IStrategy.sol":{"keccak256":"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23","urls":["bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487","dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Clone.sol":{"keccak256":"0xc348b24b7d8a98c4faa5f2aa37ce9264a74f81dbdef1a9bae2eaa125585c3c7e","urls":["bzz-raw://1335b3ec59ec7e3d12ea7c90b3aa56f4c26e0d44d342f54412933be9d4f16067","dweb:/ipfs/QmXNFo2wCyq9cpvfgbdHvBUQecThFSEoUnMuZNS6WinDrr"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Errors.sol":{"keccak256":"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15","urls":["bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf","dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Metadata.sol":{"keccak256":"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44","urls":["bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c","dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Native.sol":{"keccak256":"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5","urls":["bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a","dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Transfer.sol":{"keccak256":"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286","urls":["bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11","dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/strategies/BaseStrategy.sol":{"keccak256":"0x3f1382dc6c35d50545e327e7ed6016f2bd752357d446bd698014073f0b812873","urls":["bzz-raw://99500abcd617fa43f6dde49e2c7802821ceaf54a65a8055cbbf2695ecd107974","dweb:/ipfs/QmUktZkWuu3GCMEijY1fqt7NMy7BzpTvEtcmpB1fuoa7zt"],"license":"AGPL-3.0-only"},"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol":{"keccak256":"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624","urls":["bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298","dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt"],"license":"MIT"},"lib/forge-std/src/console.sol":{"keccak256":"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba","urls":["bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70","dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol":{"keccak256":"0x3d98edeb5d5be8410fca707b73dabe7544d1dd11e35b73dd907c473fe43cc3ae","urls":["bzz-raw://1a3fa9fc3aec149b8ad0dd8895277ab11e9244e9d2b7adc8404b22de974fc964","dweb:/ipfs/QmRggzxs1WjuvGJSAKb2Nw5r7P3VDMefCWKTbkNPKRkv2j"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/access/AccessControl.sol":{"keccak256":"0x0dd6e52cb394d7f5abe5dca2d4908a6be40417914720932de757de34a99ab87f","urls":["bzz-raw://dc117ce50ea746cab6b97ed1a1facee17a715ae0cb95d67b943dacbaf15176fb","dweb:/ipfs/QmYRZ2UGNYwsHwfNu7Wjr8L2j1LBZ1mKv6NvbwgterYMXc"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/access/IAccessControl.sol":{"keccak256":"0x59ce320a585d7e1f163cd70390a0ef2ff9cec832e2aa544293a00692465a7a57","urls":["bzz-raw://bb2c137c343ef0c4c7ce7b18c1d108afdc9d315a04e48307288d2d05adcbde3a","dweb:/ipfs/QmUxhrAQM3MM3FF5j7AtcXLXguWCJBHJ14BRdVtuoQc8Fh"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/access/Ownable.sol":{"keccak256":"0xba43b97fba0d32eb4254f6a5a297b39a19a247082a02d6e69349e071e2946218","urls":["bzz-raw://fc980984badf3984b6303b377711220e067722bbd6a135b24669ff5069ef9f32","dweb:/ipfs/QmPHXMSXj99XjSVM21YsY6aNtLLjLVXDbyN76J5HQYvvrz"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/security/ReentrancyGuard.sol":{"keccak256":"0xa535a5df777d44e945dd24aa43a11e44b024140fc340ad0dfe42acf4002aade1","urls":["bzz-raw://41319e7f621f2dc3733511332c4fd032f8e32ad2aa7fd6f665c19741d9941a34","dweb:/ipfs/QmcYR3bd862GD1Bc7jwrU9bGxrhUu5na1oP964bDCu2id1"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol":{"keccak256":"0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c","urls":["bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15","dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305","urls":["bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5","dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol":{"keccak256":"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca","urls":["bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd","dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol":{"keccak256":"0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a","urls":["bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a","dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol":{"keccak256":"0x909d608c2db6eb165ca178c81289a07ed2e118e444d0025b2a85c97d0b44a4fa","urls":["bzz-raw://656cda26512ddd7373c2d5551c8fae759fc30f05b10f0fc2e738e9274199dbd4","dweb:/ipfs/QmTSArSzQRFbQmHgq7U1PZXnsDFhvDZhKVu9CzMG4yo6Lx"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Address.sol":{"keccak256":"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa","urls":["bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931","dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Context.sol":{"keccak256":"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7","urls":["bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92","dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Strings.sol":{"keccak256":"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0","urls":["bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f","dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol":{"keccak256":"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b","urls":["bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d","dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol":{"keccak256":"0x5a08ad61f4e82b8a3323562661a86fb10b10190848073fdc13d4ac43710ffba5","urls":["bzz-raw://6f7bb74cf88fd88daa34e118bc6e363381d05044f34f391d39a10c0c9dac3ebd","dweb:/ipfs/QmNbQ3v8v4zuDtg7VeLAbdhAm3tCzUodNoDZZ8ekmCHWZX"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/Math.sol":{"keccak256":"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3","urls":["bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c","dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol":{"keccak256":"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc","urls":["bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7","dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6"],"license":"MIT"},"pkg/contracts/src/CVStrategy.sol":{"keccak256":"0x132bcf17470960e380d841159d9389985d609aaae1c9a657c78902f7871da957","urls":["bzz-raw://84e905bf392579b44f33fff8586431b940e110b2210854cf487321cc92061705","dweb:/ipfs/QmQpvszYu8RbrXmUFLifSodQzV8LAqazk1fzXNARGc5sBT"],"license":"AGPL-3.0-only"},"pkg/contracts/src/ISybilScorer.sol":{"keccak256":"0x0e25fbb8497ac3c969d80c9032362d45e56c0a45dc9ba3dff6a8a704571f38ea","urls":["bzz-raw://0dff90ebae6e7131a5300fcaf525bc2ab0ae90fcd13f277d7b7b6939eeb8b7eb","dweb:/ipfs/QmYGkYqpUVrBWoNY6f3CtwrrVQFWSvnJfpu68t95f6AkBY"],"license":"MIT"},"pkg/contracts/src/RegistryCommunity.sol":{"keccak256":"0xc735f4d2635149f2db9bff291da56e08c3c312d9eb1b767b8a1e3e51584d5734","urls":["bzz-raw://247b33b78abface6a7e2da38174386de9b543f6a27e8340e26d854bff57184a3","dweb:/ipfs/QmedNdqkqeboGzz9w868uGf7KnXUaYZe6i1YcdUPPkJnnf"],"license":"AGPL-3.0-only"},"pkg/contracts/src/RegistryFactory.sol":{"keccak256":"0x888b7f5eb1079f90ccfa0b41d8a970bffd8d4d469f9b31917a58279b358dbda5","urls":["bzz-raw://af25fd783de00adf01d1c7caa572801fed0d474306a43b862535b08e65ec10c6","dweb:/ipfs/Qmeb2nEaMQLV86y1CYAAV2c6BYpBDTbpLuC1SigeNjdqLo"],"license":"AGPL-3.0-only"},"pkg/contracts/src/interfaces/ISafe.sol":{"keccak256":"0x878a210809bb684c42157a10f3f90350a67d0a4863f130499942b06f0f2c9143","urls":["bzz-raw://fa2d71bd427c3415e98a2ee15ff673f3cc61c17f14d7087c5eedc83b55f6b0ef","dweb:/ipfs/QmesVSmJQQzi6ys1cvhQFCJyDXchb736mT5bXks4Yp6Cbj"],"license":"LGPL-3.0-only"}},"version":1},"storageLayout":{"storage":[{"astId":55389,"contract":"pkg/contracts/src/RegistryFactory.sol:RegistryFactory","label":"_owner","offset":0,"slot":"0","type":"t_address"},{"astId":85058,"contract":"pkg/contracts/src/RegistryFactory.sol:RegistryFactory","label":"nonce","offset":0,"slot":"1","type":"t_uint256"},{"astId":85068,"contract":"pkg/contracts/src/RegistryFactory.sol:RegistryFactory","label":"communityToInfo","offset":0,"slot":"2","type":"t_mapping(t_address,t_struct(CommunityInfo)85063_storage)"},{"astId":85070,"contract":"pkg/contracts/src/RegistryFactory.sol:RegistryFactory","label":"gardensFeeReceiver","offset":0,"slot":"3","type":"t_address"}],"types":{"t_address":{"encoding":"inplace","label":"address","numberOfBytes":"20"},"t_bool":{"encoding":"inplace","label":"bool","numberOfBytes":"1"},"t_mapping(t_address,t_struct(CommunityInfo)85063_storage)":{"encoding":"mapping","key":"t_address","label":"mapping(address => struct RegistryFactory.CommunityInfo)","numberOfBytes":"32","value":"t_struct(CommunityInfo)85063_storage"},"t_struct(CommunityInfo)85063_storage":{"encoding":"inplace","label":"struct RegistryFactory.CommunityInfo","numberOfBytes":"64","members":[{"astId":85060,"contract":"pkg/contracts/src/RegistryFactory.sol:RegistryFactory","label":"valid","offset":0,"slot":"0","type":"t_bool"},{"astId":85062,"contract":"pkg/contracts/src/RegistryFactory.sol:RegistryFactory","label":"fee","offset":0,"slot":"1","type":"t_uint256"}]},"t_uint256":{"encoding":"inplace","label":"uint256","numberOfBytes":"32"}}},"ast":{"absolutePath":"pkg/contracts/src/RegistryFactory.sol","id":85284,"exportedSymbols":{"Ownable":[55494],"RegistryCommunity":[83082],"RegistryFactory":[85283]},"nodeType":"SourceUnit","src":"42:3142:135","nodes":[{"id":85049,"nodeType":"PragmaDirective","src":"42:24:135","nodes":[],"literals":["solidity","^","0.8",".19"]},{"id":85051,"nodeType":"ImportDirective","src":"68:63:135","nodes":[],"absolutePath":"pkg/contracts/src/RegistryCommunity.sol","file":"../src/RegistryCommunity.sol","nameLocation":"-1:-1:-1","scope":85284,"sourceUnit":83083,"symbolAliases":[{"foreign":{"id":85050,"name":"RegistryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83082,"src":"76:17:135","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":85053,"nodeType":"ImportDirective","src":"133:67:135","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/access/Ownable.sol","file":"@openzeppelin/contracts/access/Ownable.sol","nameLocation":"-1:-1:-1","scope":85284,"sourceUnit":55495,"symbolAliases":[{"foreign":{"id":85052,"name":"Ownable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55494,"src":"141:7:135","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":85283,"nodeType":"ContractDefinition","src":"202:2981:135","nodes":[{"id":85058,"nodeType":"VariableDeclaration","src":"244:24:135","nodes":[],"constant":false,"functionSelector":"affed0e0","mutability":"mutable","name":"nonce","nameLocation":"259:5:135","scope":85283,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":85056,"name":"uint256","nodeType":"ElementaryTypeName","src":"244:7:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"30","id":85057,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"267:1:135","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"visibility":"public"},{"id":85063,"nodeType":"StructDefinition","src":"351:69:135","nodes":[],"canonicalName":"RegistryFactory.CommunityInfo","members":[{"constant":false,"id":85060,"mutability":"mutable","name":"valid","nameLocation":"387:5:135","nodeType":"VariableDeclaration","scope":85063,"src":"382:10:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":85059,"name":"bool","nodeType":"ElementaryTypeName","src":"382:4:135","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":85062,"mutability":"mutable","name":"fee","nameLocation":"410:3:135","nodeType":"VariableDeclaration","scope":85063,"src":"402:11:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":85061,"name":"uint256","nodeType":"ElementaryTypeName","src":"402:7:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"CommunityInfo","nameLocation":"358:13:135","scope":85283,"visibility":"public"},{"id":85068,"nodeType":"VariableDeclaration","src":"426:49:135","nodes":[],"constant":false,"mutability":"mutable","name":"communityToInfo","nameLocation":"460:15:135","scope":85283,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_CommunityInfo_$85063_storage_$","typeString":"mapping(address => struct RegistryFactory.CommunityInfo)"},"typeName":{"id":85067,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":85064,"name":"address","nodeType":"ElementaryTypeName","src":"434:7:135","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"426:33:135","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_CommunityInfo_$85063_storage_$","typeString":"mapping(address => struct RegistryFactory.CommunityInfo)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":85066,"nodeType":"UserDefinedTypeName","pathNode":{"id":85065,"name":"CommunityInfo","nameLocations":["445:13:135"],"nodeType":"IdentifierPath","referencedDeclaration":85063,"src":"445:13:135"},"referencedDeclaration":85063,"src":"445:13:135","typeDescriptions":{"typeIdentifier":"t_struct$_CommunityInfo_$85063_storage_ptr","typeString":"struct RegistryFactory.CommunityInfo"}}},"visibility":"internal"},{"id":85070,"nodeType":"VariableDeclaration","src":"515:33:135","nodes":[],"constant":false,"functionSelector":"b8bed901","mutability":"mutable","name":"gardensFeeReceiver","nameLocation":"530:18:135","scope":85283,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":85069,"name":"address","nodeType":"ElementaryTypeName","src":"515:7:135","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"public"},{"id":85074,"nodeType":"EventDefinition","src":"721:46:135","nodes":[],"anonymous":false,"eventSelector":"bdf37c276f641820b141429d245add2552b4118c0866e5a78638e3de5ef18d9d","name":"FeeReceiverSet","nameLocation":"727:14:135","parameters":{"id":85073,"nodeType":"ParameterList","parameters":[{"constant":false,"id":85072,"indexed":false,"mutability":"mutable","name":"_newFeeReceiver","nameLocation":"750:15:135","nodeType":"VariableDeclaration","scope":85074,"src":"742:23:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":85071,"name":"address","nodeType":"ElementaryTypeName","src":"742:7:135","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"741:25:135"}},{"id":85080,"nodeType":"EventDefinition","src":"772:66:135","nodes":[],"anonymous":false,"eventSelector":"a1ee82e4f177a8017f33ddddac05b7ceab1de9d46f7195e15e8aa2e8b88f3b1c","name":"ProtocolFeeSet","nameLocation":"778:14:135","parameters":{"id":85079,"nodeType":"ParameterList","parameters":[{"constant":false,"id":85076,"indexed":false,"mutability":"mutable","name":"_community","nameLocation":"801:10:135","nodeType":"VariableDeclaration","scope":85080,"src":"793:18:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":85075,"name":"address","nodeType":"ElementaryTypeName","src":"793:7:135","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":85078,"indexed":false,"mutability":"mutable","name":"_newProtocolFee","nameLocation":"821:15:135","nodeType":"VariableDeclaration","scope":85080,"src":"813:23:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":85077,"name":"uint256","nodeType":"ElementaryTypeName","src":"813:7:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"792:45:135"}},{"id":85084,"nodeType":"EventDefinition","src":"843:51:135","nodes":[],"anonymous":false,"eventSelector":"b4108a188495a1a681cdc0750af164011025a1773b41e93ff3e628adc037dc29","name":"CommunityCreated","nameLocation":"849:16:135","parameters":{"id":85083,"nodeType":"ParameterList","parameters":[{"constant":false,"id":85082,"indexed":false,"mutability":"mutable","name":"_registryCommunity","nameLocation":"874:18:135","nodeType":"VariableDeclaration","scope":85084,"src":"866:26:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":85081,"name":"address","nodeType":"ElementaryTypeName","src":"866:7:135","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"865:28:135"}},{"id":85090,"nodeType":"EventDefinition","src":"899:62:135","nodes":[],"anonymous":false,"eventSelector":"ecdcd3502799a6c41864ea2682236184e876f63e10f8d56c7768a3d501e89f62","name":"CommunityValiditySet","nameLocation":"905:20:135","parameters":{"id":85089,"nodeType":"ParameterList","parameters":[{"constant":false,"id":85086,"indexed":false,"mutability":"mutable","name":"_community","nameLocation":"934:10:135","nodeType":"VariableDeclaration","scope":85090,"src":"926:18:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":85085,"name":"address","nodeType":"ElementaryTypeName","src":"926:7:135","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":85088,"indexed":false,"mutability":"mutable","name":"_isValid","nameLocation":"951:8:135","nodeType":"VariableDeclaration","scope":85090,"src":"946:13:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":85087,"name":"bool","nodeType":"ElementaryTypeName","src":"946:4:135","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"925:35:135"}},{"id":85094,"nodeType":"ErrorDefinition","src":"1133:43:135","nodes":[],"errorSelector":"f5a6943d","name":"CommunityInvalid","nameLocation":"1139:16:135","parameters":{"id":85093,"nodeType":"ParameterList","parameters":[{"constant":false,"id":85092,"mutability":"mutable","name":"_community","nameLocation":"1164:10:135","nodeType":"VariableDeclaration","scope":85094,"src":"1156:18:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":85091,"name":"address","nodeType":"ElementaryTypeName","src":"1156:7:135","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1155:20:135"}},{"id":85096,"nodeType":"ErrorDefinition","src":"1181:28:135","nodes":[],"errorSelector":"e622e040","name":"AddressCannotBeZero","nameLocation":"1187:19:135","parameters":{"id":85095,"nodeType":"ParameterList","parameters":[],"src":"1206:2:135"}},{"id":85112,"nodeType":"FunctionDefinition","src":"1380:133:135","nodes":[],"body":{"id":85111,"nodeType":"Block","src":"1440:73:135","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":85106,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":85101,"name":"_address","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85098,"src":"1454:8:135","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":85104,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1474:1:135","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":85103,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1466:7:135","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":85102,"name":"address","nodeType":"ElementaryTypeName","src":"1466:7:135","typeDescriptions":{}}},"id":85105,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1466:10:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1454:22:135","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":85110,"nodeType":"IfStatement","src":"1450:56:135","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":85107,"name":"AddressCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85096,"src":"1485:19:135","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":85108,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1485:21:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":85109,"nodeType":"RevertStatement","src":"1478:28:135"}}]},"implemented":true,"kind":"function","modifiers":[],"name":"_revertZeroAddress","nameLocation":"1389:18:135","parameters":{"id":85099,"nodeType":"ParameterList","parameters":[{"constant":false,"id":85098,"mutability":"mutable","name":"_address","nameLocation":"1416:8:135","nodeType":"VariableDeclaration","scope":85112,"src":"1408:16:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":85097,"name":"address","nodeType":"ElementaryTypeName","src":"1408:7:135","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1407:18:135"},"returnParameters":{"id":85100,"nodeType":"ParameterList","parameters":[],"src":"1440:0:135"},"scope":85283,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":85173,"nodeType":"FunctionDefinition","src":"1519:518:135","nodes":[],"body":{"id":85172,"nodeType":"Block","src":"1662:375:135","nodes":[],"statements":[{"assignments":[85122],"declarations":[{"constant":false,"id":85122,"mutability":"mutable","name":"registryCommunity","nameLocation":"1690:17:135","nodeType":"VariableDeclaration","scope":85172,"src":"1672:35:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunity_$83082","typeString":"contract RegistryCommunity"},"typeName":{"id":85121,"nodeType":"UserDefinedTypeName","pathNode":{"id":85120,"name":"RegistryCommunity","nameLocations":["1672:17:135"],"nodeType":"IdentifierPath","referencedDeclaration":83082,"src":"1672:17:135"},"referencedDeclaration":83082,"src":"1672:17:135","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunity_$83082","typeString":"contract RegistryCommunity"}},"visibility":"internal"}],"id":85127,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":85125,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"1710:21:135","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$__$returns$_t_contract$_RegistryCommunity_$83082_$","typeString":"function () returns (contract RegistryCommunity)"},"typeName":{"id":85124,"nodeType":"UserDefinedTypeName","pathNode":{"id":85123,"name":"RegistryCommunity","nameLocations":["1714:17:135"],"nodeType":"IdentifierPath","referencedDeclaration":83082,"src":"1714:17:135"},"referencedDeclaration":83082,"src":"1714:17:135","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunity_$83082","typeString":"contract RegistryCommunity"}}},"id":85126,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1710:23:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunity_$83082","typeString":"contract RegistryCommunity"}},"nodeType":"VariableDeclarationStatement","src":"1672:61:135"},{"expression":{"id":85133,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":85128,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85115,"src":"1743:6:135","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$81515_memory_ptr","typeString":"struct RegistryCommunity.InitializeParams memory"}},"id":85130,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"1750:6:135","memberName":"_nonce","nodeType":"MemberAccess","referencedDeclaration":81497,"src":"1743:13:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":85132,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"1759:7:135","subExpression":{"id":85131,"name":"nonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85058,"src":"1759:5:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1743:23:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":85134,"nodeType":"ExpressionStatement","src":"1743:23:135"},{"expression":{"id":85142,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":85135,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85115,"src":"1776:6:135","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$81515_memory_ptr","typeString":"struct RegistryCommunity.InitializeParams memory"}},"id":85137,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"1783:16:135","memberName":"_registryFactory","nodeType":"MemberAccess","referencedDeclaration":81499,"src":"1776:23:135","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":85140,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"1810:4:135","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryFactory_$85283","typeString":"contract RegistryFactory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryFactory_$85283","typeString":"contract RegistryFactory"}],"id":85139,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1802:7:135","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":85138,"name":"address","nodeType":"ElementaryTypeName","src":"1802:7:135","typeDescriptions":{}}},"id":85141,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1802:13:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1776:39:135","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":85143,"nodeType":"ExpressionStatement","src":"1776:39:135"},{"expression":{"arguments":[{"id":85147,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85115,"src":"1855:6:135","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$81515_memory_ptr","typeString":"struct RegistryCommunity.InitializeParams memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_InitializeParams_$81515_memory_ptr","typeString":"struct RegistryCommunity.InitializeParams memory"}],"expression":{"id":85144,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85122,"src":"1826:17:135","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunity_$83082","typeString":"contract RegistryCommunity"}},"id":85146,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1844:10:135","memberName":"initialize","nodeType":"MemberAccess","referencedDeclaration":81820,"src":"1826:28:135","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_struct$_InitializeParams_$81515_memory_ptr_$returns$__$","typeString":"function (struct RegistryCommunity.InitializeParams memory) external"}},"id":85148,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1826:36:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":85149,"nodeType":"ExpressionStatement","src":"1826:36:135"},{"expression":{"id":85158,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"baseExpression":{"id":85150,"name":"communityToInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85068,"src":"1872:15:135","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_CommunityInfo_$85063_storage_$","typeString":"mapping(address => struct RegistryFactory.CommunityInfo storage ref)"}},"id":85155,"indexExpression":{"arguments":[{"id":85153,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85122,"src":"1896:17:135","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunity_$83082","typeString":"contract RegistryCommunity"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryCommunity_$83082","typeString":"contract RegistryCommunity"}],"id":85152,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1888:7:135","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":85151,"name":"address","nodeType":"ElementaryTypeName","src":"1888:7:135","typeDescriptions":{}}},"id":85154,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1888:26:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"1872:43:135","typeDescriptions":{"typeIdentifier":"t_struct$_CommunityInfo_$85063_storage","typeString":"struct RegistryFactory.CommunityInfo storage ref"}},"id":85156,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"1916:5:135","memberName":"valid","nodeType":"MemberAccess","referencedDeclaration":85060,"src":"1872:49:135","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":85157,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"1924:4:135","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"1872:56:135","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":85159,"nodeType":"ExpressionStatement","src":"1872:56:135"},{"eventCall":{"arguments":[{"arguments":[{"id":85163,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85122,"src":"1968:17:135","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunity_$83082","typeString":"contract RegistryCommunity"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryCommunity_$83082","typeString":"contract RegistryCommunity"}],"id":85162,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1960:7:135","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":85161,"name":"address","nodeType":"ElementaryTypeName","src":"1960:7:135","typeDescriptions":{}}},"id":85164,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1960:26:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":85160,"name":"CommunityCreated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85084,"src":"1943:16:135","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":85165,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1943:44:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":85166,"nodeType":"EmitStatement","src":"1938:49:135"},{"expression":{"arguments":[{"id":85169,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85122,"src":"2012:17:135","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunity_$83082","typeString":"contract RegistryCommunity"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryCommunity_$83082","typeString":"contract RegistryCommunity"}],"id":85168,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2004:7:135","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":85167,"name":"address","nodeType":"ElementaryTypeName","src":"2004:7:135","typeDescriptions":{}}},"id":85170,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2004:26:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":85119,"id":85171,"nodeType":"Return","src":"1997:33:135"}]},"functionSelector":"8a16135f","implemented":true,"kind":"function","modifiers":[],"name":"createRegistry","nameLocation":"1528:14:135","parameters":{"id":85116,"nodeType":"ParameterList","parameters":[{"constant":false,"id":85115,"mutability":"mutable","name":"params","nameLocation":"1585:6:135","nodeType":"VariableDeclaration","scope":85173,"src":"1543:48:135","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$81515_memory_ptr","typeString":"struct RegistryCommunity.InitializeParams"},"typeName":{"id":85114,"nodeType":"UserDefinedTypeName","pathNode":{"id":85113,"name":"RegistryCommunity.InitializeParams","nameLocations":["1543:17:135","1561:16:135"],"nodeType":"IdentifierPath","referencedDeclaration":81515,"src":"1543:34:135"},"referencedDeclaration":81515,"src":"1543:34:135","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$81515_storage_ptr","typeString":"struct RegistryCommunity.InitializeParams"}},"visibility":"internal"}],"src":"1542:50:135"},"returnParameters":{"id":85119,"nodeType":"ParameterList","parameters":[{"constant":false,"id":85118,"mutability":"mutable","name":"_createdRegistryAddress","nameLocation":"1633:23:135","nodeType":"VariableDeclaration","scope":85173,"src":"1625:31:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":85117,"name":"address","nodeType":"ElementaryTypeName","src":"1625:7:135","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1624:33:135"},"scope":85283,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":85193,"nodeType":"FunctionDefinition","src":"2043:214:135","nodes":[],"body":{"id":85192,"nodeType":"Block","src":"2113:144:135","nodes":[],"statements":[{"expression":{"arguments":[{"id":85181,"name":"_newFeeReceiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85175,"src":"2142:15:135","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":85180,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85112,"src":"2123:18:135","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":85182,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2123:35:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":85183,"nodeType":"ExpressionStatement","src":"2123:35:135"},{"expression":{"id":85186,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":85184,"name":"gardensFeeReceiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85070,"src":"2168:18:135","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":85185,"name":"_newFeeReceiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85175,"src":"2189:15:135","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"2168:36:135","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":85187,"nodeType":"ExpressionStatement","src":"2168:36:135"},{"eventCall":{"arguments":[{"id":85189,"name":"_newFeeReceiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85175,"src":"2234:15:135","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":85188,"name":"FeeReceiverSet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85074,"src":"2219:14:135","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":85190,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2219:31:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":85191,"nodeType":"EmitStatement","src":"2214:36:135"}]},"functionSelector":"8279c7db","implemented":true,"kind":"function","modifiers":[{"id":85178,"kind":"modifierInvocation","modifierName":{"id":85177,"name":"onlyOwner","nameLocations":["2103:9:135"],"nodeType":"IdentifierPath","referencedDeclaration":55413,"src":"2103:9:135"},"nodeType":"ModifierInvocation","src":"2103:9:135"}],"name":"setReceiverAddress","nameLocation":"2052:18:135","parameters":{"id":85176,"nodeType":"ParameterList","parameters":[{"constant":false,"id":85175,"mutability":"mutable","name":"_newFeeReceiver","nameLocation":"2079:15:135","nodeType":"VariableDeclaration","scope":85193,"src":"2071:23:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":85174,"name":"address","nodeType":"ElementaryTypeName","src":"2071:7:135","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2070:25:135"},"returnParameters":{"id":85179,"nodeType":"ParameterList","parameters":[],"src":"2113:0:135"},"scope":85283,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":85201,"nodeType":"FunctionDefinition","src":"2263:107:135","nodes":[],"body":{"id":85200,"nodeType":"Block","src":"2328:42:135","nodes":[],"statements":[{"expression":{"id":85198,"name":"gardensFeeReceiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85070,"src":"2345:18:135","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":85197,"id":85199,"nodeType":"Return","src":"2338:25:135"}]},"functionSelector":"987435be","implemented":true,"kind":"function","modifiers":[],"name":"getGardensFeeReceiver","nameLocation":"2272:21:135","parameters":{"id":85194,"nodeType":"ParameterList","parameters":[],"src":"2293:2:135"},"returnParameters":{"id":85197,"nodeType":"ParameterList","parameters":[{"constant":false,"id":85196,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":85201,"src":"2319:7:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":85195,"name":"address","nodeType":"ElementaryTypeName","src":"2319:7:135","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2318:9:135"},"scope":85283,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":85223,"nodeType":"FunctionDefinition","src":"2376:210:135","nodes":[],"body":{"id":85222,"nodeType":"Block","src":"2462:124:135","nodes":[],"statements":[{"expression":{"id":85215,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"baseExpression":{"id":85210,"name":"communityToInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85068,"src":"2472:15:135","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_CommunityInfo_$85063_storage_$","typeString":"mapping(address => struct RegistryFactory.CommunityInfo storage ref)"}},"id":85212,"indexExpression":{"id":85211,"name":"_community","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85203,"src":"2488:10:135","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2472:27:135","typeDescriptions":{"typeIdentifier":"t_struct$_CommunityInfo_$85063_storage","typeString":"struct RegistryFactory.CommunityInfo storage ref"}},"id":85213,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"2500:3:135","memberName":"fee","nodeType":"MemberAccess","referencedDeclaration":85062,"src":"2472:31:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":85214,"name":"_newProtocolFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85205,"src":"2506:15:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2472:49:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":85216,"nodeType":"ExpressionStatement","src":"2472:49:135"},{"eventCall":{"arguments":[{"id":85218,"name":"_community","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85203,"src":"2551:10:135","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":85219,"name":"_newProtocolFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85205,"src":"2563:15:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":85217,"name":"ProtocolFeeSet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85080,"src":"2536:14:135","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":85220,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2536:43:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":85221,"nodeType":"EmitStatement","src":"2531:48:135"}]},"functionSelector":"b5b3ca2c","implemented":true,"kind":"function","modifiers":[{"id":85208,"kind":"modifierInvocation","modifierName":{"id":85207,"name":"onlyOwner","nameLocations":["2452:9:135"],"nodeType":"IdentifierPath","referencedDeclaration":55413,"src":"2452:9:135"},"nodeType":"ModifierInvocation","src":"2452:9:135"}],"name":"setProtocolFee","nameLocation":"2385:14:135","parameters":{"id":85206,"nodeType":"ParameterList","parameters":[{"constant":false,"id":85203,"mutability":"mutable","name":"_community","nameLocation":"2408:10:135","nodeType":"VariableDeclaration","scope":85223,"src":"2400:18:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":85202,"name":"address","nodeType":"ElementaryTypeName","src":"2400:7:135","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":85205,"mutability":"mutable","name":"_newProtocolFee","nameLocation":"2428:15:135","nodeType":"VariableDeclaration","scope":85223,"src":"2420:23:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":85204,"name":"uint256","nodeType":"ElementaryTypeName","src":"2420:7:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2399:45:135"},"returnParameters":{"id":85209,"nodeType":"ParameterList","parameters":[],"src":"2462:0:135"},"scope":85283,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":85245,"nodeType":"FunctionDefinition","src":"2592:200:135","nodes":[],"body":{"id":85244,"nodeType":"Block","src":"2674:118:135","nodes":[],"statements":[{"expression":{"id":85237,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"baseExpression":{"id":85232,"name":"communityToInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85068,"src":"2684:15:135","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_CommunityInfo_$85063_storage_$","typeString":"mapping(address => struct RegistryFactory.CommunityInfo storage ref)"}},"id":85234,"indexExpression":{"id":85233,"name":"_community","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85225,"src":"2700:10:135","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2684:27:135","typeDescriptions":{"typeIdentifier":"t_struct$_CommunityInfo_$85063_storage","typeString":"struct RegistryFactory.CommunityInfo storage ref"}},"id":85235,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"2712:5:135","memberName":"valid","nodeType":"MemberAccess","referencedDeclaration":85060,"src":"2684:33:135","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":85236,"name":"_isValid","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85227,"src":"2720:8:135","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"2684:44:135","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":85238,"nodeType":"ExpressionStatement","src":"2684:44:135"},{"eventCall":{"arguments":[{"id":85240,"name":"_community","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85225,"src":"2764:10:135","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":85241,"name":"_isValid","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85227,"src":"2776:8:135","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":85239,"name":"CommunityValiditySet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85090,"src":"2743:20:135","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_bool_$returns$__$","typeString":"function (address,bool)"}},"id":85242,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2743:42:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":85243,"nodeType":"EmitStatement","src":"2738:47:135"}]},"functionSelector":"5a2c8ace","implemented":true,"kind":"function","modifiers":[{"id":85230,"kind":"modifierInvocation","modifierName":{"id":85229,"name":"onlyOwner","nameLocations":["2664:9:135"],"nodeType":"IdentifierPath","referencedDeclaration":55413,"src":"2664:9:135"},"nodeType":"ModifierInvocation","src":"2664:9:135"}],"name":"setCommunityValidity","nameLocation":"2601:20:135","parameters":{"id":85228,"nodeType":"ParameterList","parameters":[{"constant":false,"id":85225,"mutability":"mutable","name":"_community","nameLocation":"2630:10:135","nodeType":"VariableDeclaration","scope":85245,"src":"2622:18:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":85224,"name":"address","nodeType":"ElementaryTypeName","src":"2622:7:135","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":85227,"mutability":"mutable","name":"_isValid","nameLocation":"2647:8:135","nodeType":"VariableDeclaration","scope":85245,"src":"2642:13:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":85226,"name":"bool","nodeType":"ElementaryTypeName","src":"2642:4:135","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"2621:35:135"},"returnParameters":{"id":85231,"nodeType":"ParameterList","parameters":[],"src":"2674:0:135"},"scope":85283,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":85258,"nodeType":"FunctionDefinition","src":"2798:136:135","nodes":[],"body":{"id":85257,"nodeType":"Block","src":"2877:57:135","nodes":[],"statements":[{"expression":{"expression":{"baseExpression":{"id":85252,"name":"communityToInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85068,"src":"2894:15:135","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_CommunityInfo_$85063_storage_$","typeString":"mapping(address => struct RegistryFactory.CommunityInfo storage ref)"}},"id":85254,"indexExpression":{"id":85253,"name":"_community","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85247,"src":"2910:10:135","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2894:27:135","typeDescriptions":{"typeIdentifier":"t_struct$_CommunityInfo_$85063_storage","typeString":"struct RegistryFactory.CommunityInfo storage ref"}},"id":85255,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2922:5:135","memberName":"valid","nodeType":"MemberAccess","referencedDeclaration":85060,"src":"2894:33:135","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":85251,"id":85256,"nodeType":"Return","src":"2887:40:135"}]},"functionSelector":"f5016b5e","implemented":true,"kind":"function","modifiers":[],"name":"getCommunityValidity","nameLocation":"2807:20:135","parameters":{"id":85248,"nodeType":"ParameterList","parameters":[{"constant":false,"id":85247,"mutability":"mutable","name":"_community","nameLocation":"2836:10:135","nodeType":"VariableDeclaration","scope":85258,"src":"2828:18:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":85246,"name":"address","nodeType":"ElementaryTypeName","src":"2828:7:135","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2827:20:135"},"returnParameters":{"id":85251,"nodeType":"ParameterList","parameters":[{"constant":false,"id":85250,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":85258,"src":"2871:4:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":85249,"name":"bool","nodeType":"ElementaryTypeName","src":"2871:4:135","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"2870:6:135"},"scope":85283,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":85282,"nodeType":"FunctionDefinition","src":"2940:241:135","nodes":[],"body":{"id":85281,"nodeType":"Block","src":"3016:165:135","nodes":[],"statements":[{"condition":{"id":85269,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"3030:34:135","subExpression":{"expression":{"baseExpression":{"id":85265,"name":"communityToInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85068,"src":"3031:15:135","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_CommunityInfo_$85063_storage_$","typeString":"mapping(address => struct RegistryFactory.CommunityInfo storage ref)"}},"id":85267,"indexExpression":{"id":85266,"name":"_community","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85260,"src":"3047:10:135","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3031:27:135","typeDescriptions":{"typeIdentifier":"t_struct$_CommunityInfo_$85063_storage","typeString":"struct RegistryFactory.CommunityInfo storage ref"}},"id":85268,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3059:5:135","memberName":"valid","nodeType":"MemberAccess","referencedDeclaration":85060,"src":"3031:33:135","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":85275,"nodeType":"IfStatement","src":"3026:100:135","trueBody":{"id":85274,"nodeType":"Block","src":"3066:60:135","statements":[{"errorCall":{"arguments":[{"id":85271,"name":"_community","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85260,"src":"3104:10:135","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":85270,"name":"CommunityInvalid","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85094,"src":"3087:16:135","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":85272,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3087:28:135","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":85273,"nodeType":"RevertStatement","src":"3080:35:135"}]}},{"expression":{"expression":{"baseExpression":{"id":85276,"name":"communityToInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85068,"src":"3143:15:135","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_CommunityInfo_$85063_storage_$","typeString":"mapping(address => struct RegistryFactory.CommunityInfo storage ref)"}},"id":85278,"indexExpression":{"id":85277,"name":"_community","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85260,"src":"3159:10:135","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3143:27:135","typeDescriptions":{"typeIdentifier":"t_struct$_CommunityInfo_$85063_storage","typeString":"struct RegistryFactory.CommunityInfo storage ref"}},"id":85279,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3171:3:135","memberName":"fee","nodeType":"MemberAccess","referencedDeclaration":85062,"src":"3143:31:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":85264,"id":85280,"nodeType":"Return","src":"3136:38:135"}]},"functionSelector":"0a992e0c","implemented":true,"kind":"function","modifiers":[],"name":"getProtocolFee","nameLocation":"2949:14:135","parameters":{"id":85261,"nodeType":"ParameterList","parameters":[{"constant":false,"id":85260,"mutability":"mutable","name":"_community","nameLocation":"2972:10:135","nodeType":"VariableDeclaration","scope":85282,"src":"2964:18:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":85259,"name":"address","nodeType":"ElementaryTypeName","src":"2964:7:135","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2963:20:135"},"returnParameters":{"id":85264,"nodeType":"ParameterList","parameters":[{"constant":false,"id":85263,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":85282,"src":"3007:7:135","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":85262,"name":"uint256","nodeType":"ElementaryTypeName","src":"3007:7:135","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3006:9:135"},"scope":85283,"stateMutability":"view","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[{"baseName":{"id":85054,"name":"Ownable","nameLocations":["230:7:135"],"nodeType":"IdentifierPath","referencedDeclaration":55494,"src":"230:7:135"},"id":85055,"nodeType":"InheritanceSpecifier","src":"230:7:135"}],"canonicalName":"RegistryFactory","contractDependencies":[83082],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[85283,55494,57903],"name":"RegistryFactory","nameLocation":"211:15:135","scope":85284,"usedErrors":[85094,85096]}],"license":"AGPL-3.0-only"},"id":135} \ No newline at end of file diff --git a/pkg/contracts/out/RegistryFactoryV0_0.sol/RegistryFactoryV0_0.json b/pkg/contracts/out/RegistryFactoryV0_0.sol/RegistryFactoryV0_0.json index 2c3bdea46..8c9c96c75 100644 --- a/pkg/contracts/out/RegistryFactoryV0_0.sol/RegistryFactoryV0_0.json +++ b/pkg/contracts/out/RegistryFactoryV0_0.sol/RegistryFactoryV0_0.json @@ -1 +1 @@ -{"abi":[{"type":"function","name":"createRegistry","inputs":[{"name":"params","type":"tuple","internalType":"struct RegistryCommunityV0_0.InitializeParams","components":[{"name":"_allo","type":"address","internalType":"address"},{"name":"_gardenToken","type":"address","internalType":"contract IERC20"},{"name":"_registerStakeAmount","type":"uint256","internalType":"uint256"},{"name":"_communityFee","type":"uint256","internalType":"uint256"},{"name":"_nonce","type":"uint256","internalType":"uint256"},{"name":"_registryFactory","type":"address","internalType":"address"},{"name":"_feeReceiver","type":"address","internalType":"address"},{"name":"_metadata","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]},{"name":"_councilSafe","type":"address","internalType":"address payable"},{"name":"_communityName","type":"string","internalType":"string"},{"name":"_isKickEnabled","type":"bool","internalType":"bool"},{"name":"covenantIpfsHash","type":"string","internalType":"string"},{"name":"_strategyTemplate","type":"address","internalType":"address"}]}],"outputs":[{"name":"_createdRegistryAddress","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"gardensFeeReceiver","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getCommunityValidity","inputs":[{"name":"_community","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"getGardensFeeReceiver","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getProtocolFee","inputs":[{"name":"_community","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"initialize","inputs":[{"name":"_gardensFeeReceiver","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"nonce","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"proxiableUUID","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"renounceOwnership","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setCommunityValidity","inputs":[{"name":"_community","type":"address","internalType":"address"},{"name":"_isValid","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setProtocolFee","inputs":[{"name":"_community","type":"address","internalType":"address"},{"name":"_newProtocolFee","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setReceiverAddress","inputs":[{"name":"_newFeeReceiver","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"transferOwnership","inputs":[{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"upgradeTo","inputs":[{"name":"newImplementation","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"upgradeToAndCall","inputs":[{"name":"newImplementation","type":"address","internalType":"address"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"payable"},{"type":"event","name":"AdminChanged","inputs":[{"name":"previousAdmin","type":"address","indexed":false,"internalType":"address"},{"name":"newAdmin","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"BeaconUpgraded","inputs":[{"name":"beacon","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"CommunityCreated","inputs":[{"name":"_registryCommunity","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"CommunityValiditySet","inputs":[{"name":"_community","type":"address","indexed":false,"internalType":"address"},{"name":"_isValid","type":"bool","indexed":false,"internalType":"bool"}],"anonymous":false},{"type":"event","name":"FeeReceiverSet","inputs":[{"name":"_newFeeReceiver","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint8","indexed":false,"internalType":"uint8"}],"anonymous":false},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"previousOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"ProtocolFeeSet","inputs":[{"name":"_community","type":"address","indexed":false,"internalType":"address"},{"name":"_newProtocolFee","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Upgraded","inputs":[{"name":"implementation","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"error","name":"AddressCannotBeZero","inputs":[]},{"type":"error","name":"CommunityInvalid","inputs":[{"name":"_community","type":"address","internalType":"address"}]}],"bytecode":{"object":"0x60a06040523060805234801561001457600080fd5b5060805161d9696200004d6000396000818161040001528181610487015281816105840152818161060b01526106fc015261d9696000f3fe608060405260043610620001075760003560e01c80638da5cb5b1162000095578063b8bed9011162000060578063b8bed90114620002b7578063c4d66de814620002d9578063f2fde38b14620002fe578063f5016b5e146200032357600080fd5b80638da5cb5b146200023a578063987435be146200025a578063affed0e0146200027a578063b5b3ca2c146200029257600080fd5b80635a2c8ace11620000d65780635a2c8ace146200019a578063715018a614620001bf5780638279c7db14620001d75780638a16135f14620001fc57600080fd5b80630a992e0c146200010c5780633659cfe614620001445780634f1ef286146200016b57806352d1902d1462000182575b600080fd5b3480156200011957600080fd5b50620001316200012b36600462001346565b62000374565b6040519081526020015b60405180910390f35b3480156200015157600080fd5b50620001696200016336600462001346565b620003f6565b005b620001696200017c36600462001426565b6200057a565b3480156200018f57600080fd5b5062000131620006ef565b348015620001a757600080fd5b5062000169620001b9366004620014a2565b620007b6565b348015620001cc57600080fd5b506200016962000827565b348015620001e457600080fd5b5062000169620001f636600462001346565b6200083f565b3480156200020957600080fd5b50620002216200021b36600462001575565b620008b5565b6040516001600160a01b0390911681526020016200013b565b3480156200024757600080fd5b506033546001600160a01b031662000221565b3480156200026757600080fd5b506067546001600160a01b031662000221565b3480156200028757600080fd5b506200013160655481565b3480156200029f57600080fd5b5062000169620002b1366004620016e7565b62000a3a565b348015620002c457600080fd5b5060675462000221906001600160a01b031681565b348015620002e657600080fd5b5062000169620002f836600462001346565b62000a96565b3480156200030b57600080fd5b50620001696200031d36600462001346565b62000c27565b3480156200033057600080fd5b50620003636200034236600462001346565b6001600160a01b031660009081526066602052604090206001015460ff1690565b60405190151581526020016200013b565b6001600160a01b03811660009081526066602052604081206001015460ff16620003da576040517ff5a6943d0000000000000000000000000000000000000000000000000000000081526001600160a01b03831660048201526024015b60405180910390fd5b506001600160a01b031660009081526066602052604090205490565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163003620004855760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b19195b1959d85d1958d85b1b60a21b6064820152608401620003d1565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316620004e17f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b6001600160a01b0316146200054e5760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b6163746976652070726f787960a01b6064820152608401620003d1565b620005598162000cba565b60408051600080825260208201909252620005779183919062000cc4565b50565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163003620006095760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b19195b1959d85d1958d85b1b60a21b6064820152608401620003d1565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316620006657f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b6001600160a01b031614620006d25760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b6163746976652070726f787960a01b6064820152608401620003d1565b620006dd8262000cba565b620006eb8282600162000cc4565b5050565b6000306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614620007915760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c00000000000000006064820152608401620003d1565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc90565b620007c062000e75565b6001600160a01b038216600081815260666020908152604091829020600101805460ff19168515159081179091558251938452908301527fecdcd3502799a6c41864ea2682236184e876f63e10f8d56c7768a3d501e89f6291015b60405180910390a15050565b6200083162000e75565b6200083d600062000ed1565b565b6200084962000e75565b620008548162000f30565b6067805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0383169081179091556040519081527fbdf37c276f641820b141429d245add2552b4118c0866e5a78638e3de5ef18d9d9060200160405180910390a150565b6065805460009182620008c88362001716565b9091555060808301523060a0830152604051600090620008e89062001302565b604051809103906000f08015801562000905573d6000803e3d6000fd5b506040517f96f0adec00000000000000000000000000000000000000000000000000000000906200093b908690602401620017b3565b60408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff00000000000000000000000000000000000000000000000000000000909416939093179092529051620009a79062001310565b620009b4929190620018fe565b604051809103906000f080158015620009d1573d6000803e3d6000fd5b506001600160a01b0381166000818152606660209081526040918290206001908101805460ff19169091179055905191825291925082917fb4108a188495a1a681cdc0750af164011025a1773b41e93ff3e628adc037dc29910160405180910390a19392505050565b62000a4462000e75565b6001600160a01b038216600081815260666020908152604091829020849055815192835282018390527fa1ee82e4f177a8017f33ddddac05b7ceab1de9d46f7195e15e8aa2e8b88f3b1c91016200081b565b600054610100900460ff161580801562000ab75750600054600160ff909116105b8062000ad35750303b15801562000ad3575060005460ff166001145b62000b475760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401620003d1565b6000805460ff19166001179055801562000b6b576000805461ff0019166101001790555b62000b7562000f71565b600060655562000b858262000f30565b6067805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0384169081179091556040519081527fbdf37c276f641820b141429d245add2552b4118c0866e5a78638e3de5ef18d9d9060200160405180910390a18015620006eb576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498906020016200081b565b62000c3162000e75565b6001600160a01b03811662000caf5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401620003d1565b620005778162000ed1565b6200057762000e75565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff161562000cff5762000cfa8362000fe8565b505050565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa92505050801562000d5c575060408051601f3d908101601f1916820190925262000d599181019062001922565b60015b62000dd05760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201527f6f6e206973206e6f7420555550530000000000000000000000000000000000006064820152608401620003d1565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc811462000e675760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f7860448201527f6961626c655555494400000000000000000000000000000000000000000000006064820152608401620003d1565b5062000cfa838383620010b5565b6033546001600160a01b031633146200083d5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401620003d1565b603380546001600160a01b0383811673ffffffffffffffffffffffffffffffffffffffff19831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b03811662000577576040517fe622e04000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600054610100900460ff1662000fde5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401620003d1565b6200083d620010e6565b6001600160a01b0381163b620010675760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201527f6f74206120636f6e7472616374000000000000000000000000000000000000006064820152608401620003d1565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b620010c0836200115e565b600082511180620010ce5750805b1562000cfa57620010e08383620011a0565b50505050565b600054610100900460ff16620011535760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401620003d1565b6200083d3362000ed1565b620011698162000fe8565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6060620011c883836040518060600160405280602781526020016200d90d60279139620011cf565b9392505050565b6060600080856001600160a01b031685604051620011ee91906200193c565b600060405180830381855af49150503d80600081146200122b576040519150601f19603f3d011682016040523d82523d6000602084013e62001230565b606091505b509150915062001243868383876200124d565b9695505050505050565b60608315620012c1578251600003620012b9576001600160a01b0385163b620012b95760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401620003d1565b5081620012cd565b620012cd8383620012d5565b949350505050565b815115620012e65781518083602001fd5b8060405162461bcd60e51b8152600401620003d191906200195a565b61baaf806200197083390190565b6104ee806200d41f83390190565b6001600160a01b03811681146200057757600080fd5b803562001341816200131e565b919050565b6000602082840312156200135957600080fd5b8135620011c8816200131e565b634e487b7160e01b600052604160045260246000fd5b6040516101a0810167ffffffffffffffff81118282101715620013a357620013a362001366565b60405290565b600067ffffffffffffffff80841115620013c757620013c762001366565b604051601f8501601f19908116603f01168101908282118183101715620013f257620013f262001366565b816040528093508581528686860111156200140c57600080fd5b858560208301376000602087830101525050509392505050565b600080604083850312156200143a57600080fd5b823562001447816200131e565b9150602083013567ffffffffffffffff8111156200146457600080fd5b8301601f810185136200147657600080fd5b6200148785823560208401620013a9565b9150509250929050565b803580151581146200134157600080fd5b60008060408385031215620014b657600080fd5b8235620014c3816200131e565b9150620014d36020840162001491565b90509250929050565b600082601f830112620014ee57600080fd5b620011c883833560208501620013a9565b6000604082840312156200151257600080fd5b6040516040810167ffffffffffffffff828210818311171562001539576200153962001366565b816040528293508435835260208501359150808211156200155957600080fd5b506200156885828601620014dc565b6020830152505092915050565b6000602082840312156200158857600080fd5b813567ffffffffffffffff80821115620015a157600080fd5b908301906101a08286031215620015b757600080fd5b620015c16200137c565b620015cc8362001334565b8152620015dc6020840162001334565b60208201526040830135604082015260608301356060820152608083013560808201526200160d60a0840162001334565b60a08201526200162060c0840162001334565b60c082015260e0830135828111156200163857600080fd5b6200164687828601620014ff565b60e0830152506101006200165c81850162001334565b9082015261012083810135838111156200167557600080fd5b6200168388828701620014dc565b8284015250506101406200169981850162001491565b908201526101608381013583811115620016b257600080fd5b620016c088828701620014dc565b8284015250506101809150620016d882840162001334565b91810191909152949350505050565b60008060408385031215620016fb57600080fd5b823562001708816200131e565b946020939093013593505050565b6000600182016200173757634e487b7160e01b600052601160045260246000fd5b5060010190565b60005b838110156200175b57818101518382015260200162001741565b50506000910152565b600081518084526200177e8160208601602086016200173e565b601f01601f19169290920160200192915050565b805182526000602082015160406020850152620012cd604085018262001764565b60208152620017ce6020820183516001600160a01b03169052565b60006020830151620017eb60408401826001600160a01b03169052565b506040830151606083015260608301516080830152608083015160a083015260a08301516200182560c08401826001600160a01b03169052565b5060c08301516001600160a01b03811660e08401525060e08301516101a061010081818601526200185b6101c086018462001792565b908601519092506101206200187a868201836001600160a01b03169052565b80870151915050601f196101408187860301818801526200189c858462001764565b945080880151925050610160620018b68188018415159052565b80880151925050610180818786030181880152620018d5858462001764565b94508088015192505050620018f4828601826001600160a01b03169052565b5090949350505050565b6001600160a01b0383168152604060208201526000620012cd604083018462001764565b6000602082840312156200193557600080fd5b5051919050565b60008251620019508184602087016200173e565b9190910192915050565b602081526000620011c860208301846200176456fe60a06040523060805234801561001457600080fd5b5060805161ba626200004d600039600081816119c001528181611a4701528181611bb501528181611c3c0152611d29015261ba626000f3fe608060405260043610620003ef5760003560e01c80636c53db9a116200020f578063a217fddf1162000123578063d547741f11620000ad578063ebd7dc521162000078578063ebd7dc521462000cfd578063f2fde38b1462000d22578063f86c5f891462000d47578063ff6409ef1462000d6a57600080fd5b8063d547741f1462000c7a578063d6d8428d1462000c9f578063d7050f071462000cc2578063db61d65c1462000cda57600080fd5b8063b64e39af11620000ee578063b64e39af1462000c0b578063b99b43701462000c32578063bc063e1a1462000c4a578063c6d572ae1462000c6257600080fd5b8063a217fddf1462000b51578063a230c5241462000b68578063b3f006741462000bd1578063b5058c501462000bf357600080fd5b806382d6a1e711620001a557806391d14854116200017057806391d148541462000a7557806396f0adec1462000abf57806397991cfa1462000ae4578063a0cf0aea1462000b2757600080fd5b806382d6a1e714620009a257806388cfe68414620009c75780638961be6b1462000a3d5780638da5cb5b1462000a5557600080fd5b8063733a2d1f11620001e6578063733a2d1f14620008e65780637817ee4f146200091c57806378a0b8a914620009675780637b103999146200097f57600080fd5b80636c53db9a1462000886578063715018a614620008a957806373265c3714620008c157600080fd5b80633396045911620003075780634f1ef286116200029d5780635ecf71c511620002685780635ecf71c514620007dc57806365e3864c14620008015780636871eb4d146200083e57806368decabb146200086357600080fd5b80634f1ef286146200076557806352d1902d146200077c578063559de05d14620007945780635c94e4d214620007b957600080fd5b80633659cfe611620002de5780633659cfe614620006a6578063397e254314620006cb5780633a871fe114620006f0578063477a5cc0146200072557600080fd5b80633396045914620006505780633517aa7d146200066957806336568abe146200068157600080fd5b8063223e547911620003895780632b38c69c11620003545780632b38c69c146200058a5780632c611c4a14620005c85780632f2ff15d146200060657806331f61bca146200062b57600080fd5b8063223e547914620004f457806322bcf9991462000519578063248a9ca3146200053e57806328c309e9146200057257600080fd5b80630d12bbdb11620003ca5780630d12bbdb14620004675780630d4a8b49146200048e578063175188e814620004b35780631f787d2814620004d857600080fd5b806301ffc9a714620003f45780630331383c146200042e57806308386eba146200044f575b600080fd5b3480156200040157600080fd5b50620004196200041336600462004b7e565b62000d8f565b60405190151581526020015b60405180910390f35b3480156200043b57600080fd5b5060fc545b60405190815260200162000425565b3480156200045c57600080fd5b506200044060fe5481565b3480156200047457600080fd5b506200048c6200048636600462004baa565b62000de0565b005b3480156200049b57600080fd5b506200048c620004ad36600462004bec565b62000e6f565b348015620004c057600080fd5b506200048c620004d236600462004c2a565b620011f7565b348015620004e557600080fd5b5060fb54620004199060ff1681565b3480156200050157600080fd5b506200048c6200051336600462004c2a565b6200120f565b3480156200052657600080fd5b506200048c6200053836600462004bec565b62001224565b3480156200054b57600080fd5b50620004406200055d36600462004baa565b600090815260c9602052604090206001015490565b3480156200057f57600080fd5b506200044062001340565b3480156200059757600080fd5b50620005af620005a936600462004c4a565b6200143e565b6040516001600160a01b03909116815260200162000425565b348015620005d557600080fd5b5062000440620005e736600462004c2a565b6001600160a01b0316600090815261010c602052604090206001015490565b3480156200061357600080fd5b506200048c6200062536600462004c79565b62001478565b3480156200063857600080fd5b506200048c6200064a36600462004baa565b620014a6565b3480156200065d57600080fd5b50620004406101025481565b3480156200067657600080fd5b506200048c620014e6565b3480156200068e57600080fd5b506200048c620006a036600462004c79565b62001922565b348015620006b357600080fd5b506200048c620006c536600462004c2a565b620019b6565b348015620006d857600080fd5b506200048c620006ea36600462004c2a565b62001b37565b348015620006fd57600080fd5b50620004196200070f36600462004c2a565b61010a6020526000908152604090205460ff1681565b3480156200073257600080fd5b50620004196200074436600462004bec565b61010e60209081526000928352604080842090915290825290205460ff1681565b6200048c6200077636600462004df9565b62001bab565b3480156200078957600080fd5b506200044062001d1c565b348015620007a157600080fd5b506200048c620007b336600462004baa565b62001de3565b348015620007c657600080fd5b5061010154620005af906001600160a01b031681565b348015620007e957600080fd5b506200048c620007fb36600462004baa565b620020e2565b3480156200080e57600080fd5b50620004406200082036600462004bec565b61010b60209081526000928352604080842090915290825290205481565b3480156200084b57600080fd5b506200048c6200085d36600462004bec565b620024d3565b3480156200087057600080fd5b5061010354620005af906001600160a01b031681565b3480156200089357600080fd5b5061010654620005af906001600160a01b031681565b348015620008b657600080fd5b506200048c620026ee565b348015620008ce57600080fd5b506200048c620008e036600462004baa565b62002704565b348015620008f357600080fd5b50620004407f03be538b6391ddcd7f2649585cc95b120c9e2a613f70714fbb55345057d809fa81565b3480156200092957600080fd5b50620004406200093b36600462004bec565b6001600160a01b03918216600090815261010b6020908152604080832093909416825291909152205490565b3480156200097457600080fd5b506200044060fc5481565b3480156200098c57600080fd5b5061010454620005af906001600160a01b031681565b348015620009af57600080fd5b506200048c620009c136600462004baa565b620027a0565b348015620009d457600080fd5b5062000a15620009e636600462004c2a565b61010c602052600090815260409020805460018201546002909201546001600160a01b03909116919060ff1683565b604080516001600160a01b039094168452602084019290925215159082015260600162000425565b34801562000a4a57600080fd5b506200044060fd5481565b34801562000a6257600080fd5b506033546001600160a01b0316620005af565b34801562000a8257600080fd5b506200041962000a9436600462004c79565b600091825260c9602090815260408084206001600160a01b0393909316845291905290205460ff1690565b34801562000acc57600080fd5b506200048c62000ade36600462004efb565b6200285e565b34801562000af157600080fd5b5062000b0962000b0336600462005187565b62002ef4565b604080519283526001600160a01b0390911660208301520162000425565b34801562000b3457600080fd5b50620005af73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b34801562000b5e57600080fd5b5062000440600081565b34801562000b7557600080fd5b506200041962000b8736600462004c2a565b6001600160a01b03908116600090815261010c60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff161515910181905290565b34801562000bde57600080fd5b5060ff54620005af906001600160a01b031681565b34801562000c0057600080fd5b506200048c62002fd9565b34801562000c1857600080fd5b5062000c2362003029565b60405162000425919062005246565b34801562000c3f57600080fd5b506200048c620030c0565b34801562000c5757600080fd5b506200044062003232565b34801562000c6f57600080fd5b5062000c2362003244565b34801562000c8757600080fd5b506200048c62000c9936600462004c79565b62003254565b34801562000cac57600080fd5b5061010754620005af906001600160a01b031681565b34801562000ccf57600080fd5b506200044061271081565b34801562000ce757600080fd5b5061010554620005af906001600160a01b031681565b34801562000d0a57600080fd5b506200041962000d1c36600462004c2a565b6200327d565b34801562000d2f57600080fd5b506200048c62000d4136600462004c2a565b620032be565b34801562000d5457600080fd5b5061010054620005af906001600160a01b031681565b34801562000d7757600080fd5b5062000b0962000d893660046200525b565b62003351565b60006001600160e01b031982167f7965db0b00000000000000000000000000000000000000000000000000000000148062000dda57506301ffc9a760e01b6001600160e01b03198316145b92915050565b62000dea620034de565b62000df9612710600a620052f1565b81111562000e33576040517ffe925f7d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60fd8190556040518181527f611668bfcf654a99c33cdb66c29ec37a5aae5c1287d2d9715a24e18cb4d806d6906020015b60405180910390a150565b62000e7a8262003547565b62000e8581620035ac565b62000e908162003600565b6001600160a01b03808316600090815261010e602090815260408083209385168352929052205460ff161562000ef2576040517fd5b9bc9600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b03808316600090815261010c602090815260409182902082516060810184528154909416845260018101549184018290526002015460ff1615159183019190915260fc546003846001600160a01b031663c32921716040518163ffffffff1660e01b81526004016020604051808303816000875af115801562000f80573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000fa6919062005321565b600381111562000fba5762000fba6200530b565b036200103e5760405163782aadff60e01b81526001600160a01b0386811660048301526000602483015285169063782aadff906044016020604051808303816000875af115801562001010573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001036919062005341565b90506200113a565b6000846001600160a01b031663c32921716040518163ffffffff1660e01b81526004016020604051808303816000875af115801562001081573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620010a7919062005321565b6003811115620010bb57620010bb6200530b565b146200113a5760405163782aadff60e01b81526001600160a01b0386811660048301526024820184905285169063782aadff906044016020604051808303816000875af115801562001111573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001137919062005341565b90505b6001600160a01b03858116600081815261010b6020908152604080832094891680845294825280832086905583835261010e82528083208584528252808320805460ff1916600190811790915584845261010d83528184208054918201815584529282902090920180546001600160a01b0319168517905581519283528201929092529081018290527ff56fa57e85e169a12200d12d9921ec069b52e688f6d309d9dab7bceff54614ec9060600160405180910390a15050505050565b62001201620034de565b6200120c8162003641565b50565b62001219620034de565b6200120c816200369f565b6200122f8262003547565b6200123a8162003600565b6200124633826200374a565b6001600160a01b03808316600090815261010e602090815260408083209385168352929052205460ff16620012a7576040517fc12369dc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b03808316600081815261010e60209081526040808320948616808452948252808320805460ff1916905592825261010b815282822093825292909252812055620012f9828262003796565b604080516001600160a01b038085168252831660208201527ede109bef4619f7e2cf00c8e5a50ca55f8deb44f87087eed414a91dbf8d1d1b91015b60405180910390a15050565b610100546000906001600160a01b031681620013606127106064620052f1565b60fd5460fc54620013729190620052f1565b6200137e91906200535b565b90506000620013916127106064620052f1565b6040516302a64b8360e21b81523060048201526001600160a01b03851690630a992e0c90602401602060405180830381865afa158015620013d6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620013fc919062005341565b60fc546200140b9190620052f1565b6200141791906200535b565b9050808260fc546200142a91906200537e565b6200143691906200537e565b935050505090565b61010d60205281600052604060002081815481106200145c57600080fd5b6000918252602090912001546001600160a01b03169150829050565b600082815260c960205260409020600101546200149581620038cc565b620014a18383620038d8565b505050565b620014b0620034de565b60fc8190556040518181527f5bcc2c453001fb0e2ba6266d56ecb411e7c6e15c8f9c3d301f93dd36ad25726f9060200162000e64565b620014f06200397c565b33600081815261010c602052604081206101005490916001600160a01b0390911690620015216127106064620052f1565b60fd5460fc54620015339190620052f1565b6200153f91906200535b565b90506000620015526127106064620052f1565b6040516302a64b8360e21b81523060048201526001600160a01b03851690630a992e0c90602401602060405180830381865afa15801562001597573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620015bd919062005341565b60fc54620015cc9190620052f1565b620015d891906200535b565b6001600160a01b03808716600090815261010c60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff1615159101819052909150620019105760028401805460ff1916600190811790915560fc549085015560408051808201909152600b81527f67617264656e546f6b656e0000000000000000000000000000000000000000006020820152610105546200168d91906001600160a01b0316620039d7565b620016c68530838560fc54620016a491906200537e565b620016b091906200537e565b610105546001600160a01b031692919062003a39565b620017076040518060400160405280601281526020017f636f6d6d756e697479466565416d6f756e7400000000000000000000000000008152508362003abf565b81156200177a5760408051808201909152600b81527f6665655265636569766572000000000000000000000000000000000000000000602082015260ff546200175a91906001600160a01b0316620039d7565b60ff54610105546200177a916001600160a01b0391821691168462003b21565b620017bb6040518060400160405280601081526020017f67617264656e73466565416d6f756e74000000000000000000000000000000008152508262003abf565b8015620018c9576200184b6040518060600160405280602681526020016200b9e060269139846001600160a01b031663987435be6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200181f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001845919062005394565b620039d7565b620018c9836001600160a01b031663987435be6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200188e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620018b4919062005394565b610105546001600160a01b0316908362003b21565b60fc54604080516001600160a01b038816815260208101929092527f67e0244e28040fec15240cd4b6c04c776a2a0278caef23b59e8ada1df31f7689910160405180910390a15b5050505050620019206001606555565b565b6001600160a01b0381163314620019a65760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201527f20726f6c657320666f722073656c66000000000000000000000000000000000060648201526084015b60405180910390fd5b620019b2828262003b5a565b5050565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016300362001a455760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b19195b1959d85d1958d85b1b60a21b60648201526084016200199d565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031662001aa17f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b6001600160a01b03161462001b0e5760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b6163746976652070726f787960a01b60648201526084016200199d565b62001b198162003bde565b604080516000808252602082019092526200120c9183919062003be8565b62001b41620034de565b62001b4c8162003600565b61010380546001600160a01b0319166001600160a01b03838116918217909255610106546040805191909316815260208101919091527f83eac9fdaff0ac1017624b7eddeb9782e3d707cd894073cb7e8301a41c6e5cf8910162000e64565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016300362001c3a5760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b19195b1959d85d1958d85b1b60a21b60648201526084016200199d565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031662001c967f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b6001600160a01b03161462001d035760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b6163746976652070726f787960a01b60648201526084016200199d565b62001d0e8262003bde565b620019b28282600162003be8565b6000306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161462001dbe5760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c000000000000000060648201526084016200199d565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc90565b62001ded6200397c565b62001df762003d94565b33600081815261010d602090815260408083208054825181850281018501909352808352919290919083018282801562001e5b57602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831162001e3c575b50505050509050600080600090505b8251811015620020425782818151811062001e895762001e89620053b4565b602090810291909101015160405163782aadff60e01b81526001600160a01b038681166004830152602482018890529091169063782aadff906044016020604051808303816000875af115801562001ee5573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001f0b919062005341565b915081156200202d576001600160a01b038416600090815261010b60205260408120845184929086908590811062001f475762001f47620053b4565b60200260200101516001600160a01b03166001600160a01b03168152602001908152602001600020600082825462001f8091906200537e565b925050819055506200202d6040518060400160405280600e81526020017f537472617465677920706f77657200000000000000000000000000000000000081525061010b6000876001600160a01b03166001600160a01b03168152602001908152602001600020600086858151811062001ffe5762001ffe620053b4565b60200260200101516001600160a01b03166001600160a01b031681526020019081526020016000205462003abf565b806200203981620053ca565b91505062001e6a565b50610105546200205e906001600160a01b031684308762003a39565b6001600160a01b038316600090815261010c6020526040812060010180548692906200208c9084906200537e565b9091555050604080516001600160a01b0385168152602081018690527f576605f9bfe8911e7508bed3763c7c5c8eb3b86e8b360b90a4bc6abe1104cb7f91015b60405180910390a15050506200120c6001606555565b620020ec6200397c565b620020f662003d94565b33600081815261010d6020908152604080832060fc5461010c90935290832060010154909291906200212a908690620053e6565b101562002163576040517f9c47d02e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610105546200217d906001600160a01b0316848662003b21565b60005b82548110156200245f576000838281548110620021a157620021a1620053b4565b6000918252602090912001546001600160a01b03169050620021cb8163f1801e6160e01b62003df5565b1562002383576040517f2ed04b2b0000000000000000000000000000000000000000000000000000000081526001600160a01b03868116600483015260248201889052821690632ed04b2b906044016020604051808303816000875af11580156200223a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002260919062005341565b9250600061010b6000876001600160a01b03166001600160a01b031681526020019081526020016000206000868581548110620022a157620022a1620053b4565b60009182526020808320909101546001600160a01b031683528201929092526040019020549050808411156200230e576040517f8a11f31800000000000000000000000000000000000000000000000000000000815260048101859052602481018290526044016200199d565b6001600160a01b038616600090815261010b602052604081208654869290889087908110620023415762002341620053b4565b60009182526020808320909101546001600160a01b031683528201929092526040018120805490919062002377908490620053e6565b90915550505062002449565b835484906200239590600190620053e6565b81548110620023a857620023a8620053b4565b9060005260206000200160009054906101000a90046001600160a01b0316848381548110620023db57620023db620053b4565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b03160217905550838054806200241c576200241c620053fc565b600082815260209020810160001990810180546001600160a01b0319169055019055620024498162003641565b50806200245681620053ca565b91505062002180565b506001600160a01b038316600090815261010c6020526040812060010180548692906200248e908490620053e6565b9091555050604080516001600160a01b0385168152602081018690527f6ee2c70b2d6b89ae808a2313aab43e925c06624271419cd665d85cfa1ae04ff89101620020cc565b620024dd6200397c565b620024e7620034de565b60fb5460ff1662002524576040517fcb63dc7200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b03808316600090815261010c60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff16151591018190526200258957604051636a5cfb6d60e01b815260040160405180910390fd5b6001600160a01b03808316600090815261010c60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff16151590820152620025da8362003e1d565b6001600160a01b03838116600090815261010c6020908152604080832080546001600160a01b031916815560018101939093556002909201805460ff191690556101055490840151915163a9059cbb60e01b8152858416600482015260248101929092529091169063a9059cbb906044016020604051808303816000875af11580156200266b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002691919062005412565b50602080820151604080516001600160a01b0380881682528616938101939093528201527fb5946f249f8744efe9d14d49a483b54a589b1362944ff6694de93456cceb96a39060600160405180910390a150620019b26001606555565b620026f862003f4b565b62001920600062003fa7565b6200270e620034de565b6101075460405163068bcd8d60e01b8152600481018390526000916001600160a01b03169063068bcd8d90602401600060405180830381865afa1580156200275a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405262002784919081019062005432565b602001519050620027958162003600565b620019b28162003641565b620027aa620034de565b6101075460405163068bcd8d60e01b8152600481018390526000916001600160a01b03169063068bcd8d90602401600060405180830381865afa158015620027f6573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405262002820919081019062005432565b602001519050620028318162003600565b6200284d6001600160a01b03821663f1801e6160e01b62003df5565b15620019b257620019b2816200369f565b600054610100900460ff16158080156200287f5750600054600160ff909116105b806200289b5750303b1580156200289b575060005460ff166001145b6200290f5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084016200199d565b6000805460ff19166001179055801562002933576000805461ff0019166101001790555b6200293d62003ff9565b6200294762004070565b62002951620040e7565b6200297e7f03be538b6391ddcd7f2649585cc95b120c9e2a613f70714fbb55345057d809fa600062004154565b6200298d826020015162003600565b6200299d82610100015162003600565b8151620029aa9062003600565b620029b98260a0015162003600565b620029c982610180015162003600565b606082015115620029e357620029e38260c0015162003600565b815161010780546001600160a01b039283166001600160a01b03199182161790915560208401516101058054919093169116179055604082015160000362002a57576040517fc70d18aa00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604082015160fc55606082015160fd5561014082015160fb805460ff19169115159190911790556101208201516101089062002a949082620055f7565b506101608201516101099062002aab9082620055f7565b5060a082015161010080546001600160a01b03199081166001600160a01b0393841617825560c085015160ff8054831691851691909117905590840151610106805483168285161790556101808501516101018054909316931692909217905562002b38907f03be538b6391ddcd7f2649585cc95b120c9e2a613f70714fbb55345057d809fa90620038d8565b61010760009054906101000a90046001600160a01b03166001600160a01b0316635ab1bd536040518163ffffffff1660e01b8152600401602060405180830381865afa15801562002b8d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002bb3919062005394565b61010480546001600160a01b0319166001600160a01b0392831617905561010654604080517fa0e67e2b0000000000000000000000000000000000000000000000000000000081529051600093929092169163a0e67e2b9160048082019286929091908290030181865afa15801562002c30573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405262002c5a9190810190620056c4565b905060008151600262002c6e91906200537e565b67ffffffffffffffff81111562002c895762002c8962004ca1565b60405190808252806020026020018201604052801562002cb3578160200160208202803683370190505b50905060005b825181101562002d225782818151811062002cd85762002cd8620053b4565b602002602001015182828151811062002cf55762002cf5620053b4565b6001600160a01b03909216602092830291909101909101528062002d1981620053ca565b91505062002cb9565b506101065481516001600160a01b0390911690829062002d4590600190620053e6565b8151811062002d585762002d58620053b4565b60200260200101906001600160a01b031690816001600160a01b03168152505030816002835162002d8a9190620053e6565b8151811062002d9d5762002d9d620053b4565b6001600160a01b03928316602091820292909201015261010454608086015160e08701516040517f3a92f65f0000000000000000000000000000000000000000000000000000000081529290931692633a92f65f9262002e09929161010891309088906004016200586f565b6020604051808303816000875af115801562002e29573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002e4f919062005341565b60fe55805162002e689061010f90602084019062004ac6565b507f2f2ffcb06f8a1d35e2716f6b43ef2c19bfa76467d8f66964ae12c2583ed0320560fe546101088660e0015160405162002ea693929190620058c3565b60405180910390a150508015620019b2576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200162001334565b600080600060405162002f079062004b30565b604051809103906000f08015801562002f24573d6000803e3d6000fd5b5061010754604080516001600160a01b0390921660248084019190915281518084039091018152604490920181526020820180516001600160e01b03167f19ab453c000000000000000000000000000000000000000000000000000000001790525162002f919062004b3e565b62002f9e929190620058f2565b604051809103906000f08015801562002fbb573d6000803e3d6000fd5b50905062002fcc8187878762003351565b9250925050935093915050565b610103546001600160a01b031633146200301f576040517febcd0d6e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b620019206200419f565b6101098054620030399062005569565b80601f0160208091040260200160405190810160405280929190818152602001828054620030679062005569565b8015620030b85780601f106200308c57610100808354040283529160200191620030b8565b820191906000526020600020905b8154815290600101906020018083116200309a57829003601f168201915b505050505081565b620030ca6200397c565b33620030d68162003547565b620030e18162003e1d565b6001600160a01b03808216600081815261010c602090815260408083208151606081018352815496871681526001820180548286015260028301805460ff81161515848701529787526001600160a01b03199098169092559084905560ff1990941690945561010d905291822090916200315c919062004b4c565b61010554602082015160405163a9059cbb60e01b81526001600160a01b038581166004830152602482019290925291169063a9059cbb906044016020604051808303816000875af1158015620031b6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620031dc919062005412565b50602080820151604080516001600160a01b0386168152928301919091527fa13f4668aacb68c4e9eed8e3f6e1cbec3eca776896ec46b5eabcc3983fc8f5f4910160405180910390a15050620019206001606555565b62003241612710600a620052f1565b81565b6101088054620030399062005569565b600082815260c960205260409020600101546200327181620038cc565b620014a1838362003b5a565b6001600160a01b03811660009081527fa867e09674d469ee17077111ff66261f5d2fc5820cc6914676cb47231da58818602052604081205460ff1662000dda565b620032c862003f4b565b6001600160a01b038116620033465760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084016200199d565b6200120c8162003fa7565b60008073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6001600160a01b038616156200337c5750845b869150600061010f805480602002602001604051908101604052809291908181526020018280548015620033da57602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311620033bb575b50506101075460fe546040519596506001600160a01b039091169463e1007d4a945090925087915062003412908b906020016200592d565b6040516020818303038152906040528660008b886040518863ffffffff1660e01b81526004016200344a9796959493929190620059cb565b6020604051808303816000875af11580156200346a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062003490919062005341565b93507f778cac0ae0b66477341553a4a89398c61ccf448313d3354ad0ca85a5a825d2838484308a89604051620034cb95949392919062005a3d565b60405180910390a1505094509492505050565b3360009081527fa867e09674d469ee17077111ff66261f5d2fc5820cc6914676cb47231da58818602052604090205460ff1662001920576040517ff62651fa00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b03808216600090815261010c60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff16151591018190526200120c57604051636a5cfb6d60e01b815260040160405180910390fd5b6001600160a01b038116600090815261010a602052604090205460ff166200120c576040517f46c26e4b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0381166200120c576040517fe622e04000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6200364c8162003600565b6001600160a01b038116600081815261010a6020908152604091829020805460ff1916905590519182527f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea4910162000e64565b6001600160a01b038116600090815261010a602052604090205460ff1615620036f4576040517f968a4d2c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038116600081815261010a6020908152604091829020805460ff1916600117905590519182527f3f008fd510eae7a9e7bee13513d7b83bef8003d488b5a3d0b0da4de71d6846f1910162000e64565b806001600160a01b0316826001600160a01b031614620019b2576040517fbbe7961100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038216600090815261010d60205260408120905b8154811015620038c657826001600160a01b0316828281548110620037da57620037da620053b4565b6000918252602090912001546001600160a01b031603620038b157815482906200380790600190620053e6565b815481106200381a576200381a620053b4565b9060005260206000200160009054906101000a90046001600160a01b03168282815481106200384d576200384d620053b4565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b03160217905550818054806200388e576200388e620053fc565b600082815260209020810160001990810180546001600160a01b03191690550190555b80620038bd81620053ca565b915050620037b1565b50505050565b6200120c8133620041fc565b600082815260c9602090815260408083206001600160a01b038516845290915290205460ff16620019b257600082815260c9602090815260408083206001600160a01b03851684529091529020805460ff19166001179055620039383390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b600260655403620039d05760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064016200199d565b6002606555565b620019b28282604051602401620039f092919062005a79565b60408051601f198184030181529190526020810180516001600160e01b03167f319af333000000000000000000000000000000000000000000000000000000001790526200427a565b6040516001600160a01b0380851660248301528316604482015260648101829052620038c69085907f23b872dd00000000000000000000000000000000000000000000000000000000906084015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091526200429b565b620019b2828260405160240162003ad892919062005aa6565b60408051601f198184030181529190526020810180516001600160e01b03167f9710a9d0000000000000000000000000000000000000000000000000000000001790526200427a565b6040516001600160a01b038316602482015260448101829052620014a190849063a9059cbb60e01b9060640162003a87565b6001606555565b600082815260c9602090815260408083206001600160a01b038516845290915290205460ff1615620019b257600082815260c9602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b6200120c62003f4b565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff161562003c1e57620014a1836200438a565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa92505050801562003c7b575060408051601f3d908101601f1916820190925262003c789181019062005341565b60015b62003cef5760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201527f6f6e206973206e6f74205555505300000000000000000000000000000000000060648201526084016200199d565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc811462003d865760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f7860448201527f6961626c6555554944000000000000000000000000000000000000000000000060648201526084016200199d565b50620014a18383836200444a565b33600090815261010c6020908152604091829020825160608101845281546001600160a01b031681526001820154928101929092526002015460ff16151591018190526200192057604051636a5cfb6d60e01b815260040160405180910390fd5b600062003e028362004475565b801562003e16575062003e168383620044ad565b9392505050565b6001600160a01b038116600090815261010d602090815260408083208054825181850281018501909352808352919290919083018282801562003e8a57602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831162003e6b575b5050505050905060005b8151811015620014a15781818151811062003eb35762003eb3620053b4565b60209081029190910101516040517f6453d9c40000000000000000000000000000000000000000000000000000000081526001600160a01b03858116600483015290911690636453d9c490602401600060405180830381600087803b15801562003f1c57600080fd5b505af115801562003f31573d6000803e3d6000fd5b50505050808062003f4290620053ca565b91505062003e94565b6033546001600160a01b03163314620019205760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016200199d565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600054610100900460ff16620040665760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b60648201526084016200199d565b6200192062004538565b600054610100900460ff16620040dd5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b60648201526084016200199d565b62001920620045b0565b600054610100900460ff16620019205760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b60648201526084016200199d565b600082815260c96020526040808220600101805490849055905190918391839186917fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff9190a4505050565b610103805461010680546001600160a01b0383166001600160a01b031991821617909155169055604051600081527fad0399dc40331b9a4977aa89da7a164a3fd482c65e6da73b25a94ea74fb688729060200160405180910390a1565b600082815260c9602090815260408083206001600160a01b038516845290915290205460ff16620019b25762004232816200461d565b6200423f83602062004630565b6040516020016200425292919062005aca565b60408051601f198184030181529082905262461bcd60e51b82526200199d9160040162005246565b80516a636f6e736f6c652e6c6f67602083016000808483855afa5050505050565b6000620042f2826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166200482f9092919063ffffffff16565b90508051600014806200431657508080602001905181019062004316919062005412565b620014a15760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f7420737563636565640000000000000000000000000000000000000000000060648201526084016200199d565b6001600160a01b0381163b620044095760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201527f6f74206120636f6e74726163740000000000000000000000000000000000000060648201526084016200199d565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b620044558362004848565b600082511180620044635750805b15620014a157620038c683836200488a565b60006200448a826301ffc9a760e01b620044ad565b801562000dda5750620044a6826001600160e01b0319620044ad565b1592915050565b604080516001600160e01b03198316602480830191909152825180830390910181526044909101909152602080820180516001600160e01b03166301ffc9a760e01b178152825160009392849283928392918391908a617530fa92503d9150600051905082801562004520575060208210155b80156200452d5750600081115b979650505050505050565b600054610100900460ff16620045a55760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b60648201526084016200199d565b620019203362003fa7565b600054610100900460ff1662003b535760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b60648201526084016200199d565b606062000dda6001600160a01b03831660145b6060600062004641836002620052f1565b6200464e9060026200537e565b67ffffffffffffffff81111562004669576200466962004ca1565b6040519080825280601f01601f19166020018201604052801562004694576020820181803683370190505b5090507f300000000000000000000000000000000000000000000000000000000000000081600081518110620046ce57620046ce620053b4565b60200101906001600160f81b031916908160001a9053507f7800000000000000000000000000000000000000000000000000000000000000816001815181106200471c576200471c620053b4565b60200101906001600160f81b031916908160001a905350600062004742846002620052f1565b6200474f9060016200537e565b90505b6001811115620047de577f303132333435363738396162636465660000000000000000000000000000000085600f1660108110620047945762004794620053b4565b1a60f81b828281518110620047ad57620047ad620053b4565b60200101906001600160f81b031916908160001a90535060049490941c93620047d68162005b4f565b905062004752565b50831562003e165760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e7460448201526064016200199d565b6060620048408484600085620048b2565b949350505050565b62004853816200438a565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b606062003e1683836040518060600160405280602781526020016200ba0660279139620049a1565b6060824710156200492c5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c000000000000000000000000000000000000000000000000000060648201526084016200199d565b600080866001600160a01b031685876040516200494a919062005b69565b60006040518083038185875af1925050503d806000811462004989576040519150601f19603f3d011682016040523d82523d6000602084013e6200498e565b606091505b50915091506200452d8783838762004a1f565b6060600080856001600160a01b031685604051620049c0919062005b69565b600060405180830381855af49150503d8060008114620049fd576040519150601f19603f3d011682016040523d82523d6000602084013e62004a02565b606091505b509150915062004a158683838762004a1f565b9695505050505050565b6060831562004a9357825160000362004a8b576001600160a01b0385163b62004a8b5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016200199d565b508162004840565b62004840838381511562004aaa5781518083602001fd5b8060405162461bcd60e51b81526004016200199d919062005246565b82805482825590600052602060002090810192821562004b1e579160200282015b8281111562004b1e57825182546001600160a01b0319166001600160a01b0390911617825560209092019160019091019062004ae7565b5062004b2c92915062004b67565b5090565b61596a8062005b8883390190565b6104ee806200b4f283390190565b50805460008255906000526020600020908101906200120c91905b5b8082111562004b2c576000815560010162004b68565b60006020828403121562004b9157600080fd5b81356001600160e01b03198116811462003e1657600080fd5b60006020828403121562004bbd57600080fd5b5035919050565b6001600160a01b03811681146200120c57600080fd5b803562004be78162004bc4565b919050565b6000806040838503121562004c0057600080fd5b823562004c0d8162004bc4565b9150602083013562004c1f8162004bc4565b809150509250929050565b60006020828403121562004c3d57600080fd5b813562003e168162004bc4565b6000806040838503121562004c5e57600080fd5b823562004c6b8162004bc4565b946020939093013593505050565b6000806040838503121562004c8d57600080fd5b82359150602083013562004c1f8162004bc4565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff8111828210171562004cdd5762004cdd62004ca1565b60405290565b6040516101a0810167ffffffffffffffff8111828210171562004cdd5762004cdd62004ca1565b604051610120810167ffffffffffffffff8111828210171562004cdd5762004cdd62004ca1565b60405160c0810167ffffffffffffffff8111828210171562004cdd5762004cdd62004ca1565b604051601f8201601f1916810167ffffffffffffffff8111828210171562004d835762004d8362004ca1565b604052919050565b600067ffffffffffffffff82111562004da85762004da862004ca1565b50601f01601f191660200190565b600062004dcd62004dc78462004d8b565b62004d57565b905082815283838301111562004de257600080fd5b828260208301376000602084830101529392505050565b6000806040838503121562004e0d57600080fd5b823562004e1a8162004bc4565b9150602083013567ffffffffffffffff81111562004e3757600080fd5b8301601f8101851362004e4957600080fd5b62004e5a8582356020840162004db6565b9150509250929050565b600082601f83011262004e7657600080fd5b62003e168383356020850162004db6565b60006040828403121562004e9a57600080fd5b62004ea462004cb7565b905081358152602082013567ffffffffffffffff81111562004ec557600080fd5b62004ed38482850162004e64565b60208301525092915050565b80151581146200120c57600080fd5b803562004be78162004edf565b60006020828403121562004f0e57600080fd5b813567ffffffffffffffff8082111562004f2757600080fd5b908301906101a0828603121562004f3d57600080fd5b62004f4762004ce3565b62004f528362004bda565b815262004f626020840162004bda565b602082015260408301356040820152606083013560608201526080830135608082015262004f9360a0840162004bda565b60a082015262004fa660c0840162004bda565b60c082015260e08301358281111562004fbe57600080fd5b62004fcc8782860162004e87565b60e08301525061010062004fe281850162004bda565b90820152610120838101358381111562004ffb57600080fd5b620050098882870162004e64565b8284015250506101406200501f81850162004eee565b9082015261016083810135838111156200503857600080fd5b620050468882870162004e64565b82840152505061018091506200505e82840162004bda565b91810191909152949350505050565b80356003811062004be757600080fd5b600481106200120c57600080fd5b803562004be7816200507d565b600060208284031215620050ab57600080fd5b6040516020810181811067ffffffffffffffff82111715620050d157620050d162004ca1565b6040529135825250919050565b60006101208284031215620050f257600080fd5b620050fc62004d0a565b9050620051098262004bda565b8152602082013560208201526040820135604082015260608201356060820152608082013560808201526200514160a083016200506d565b60a08201526200515460c083016200508b565b60c0820152620051688360e0840162005098565b60e08201526101006200517d81840162004bda565b9082015292915050565b600080600061016084860312156200519e57600080fd5b8335620051ab8162004bc4565b9250620051bc8560208601620050de565b915061014084013567ffffffffffffffff811115620051da57600080fd5b620051e88682870162004e87565b9150509250925092565b60005b838110156200520f578181015183820152602001620051f5565b50506000910152565b6000815180845262005232816020860160208601620051f2565b601f01601f19169290920160200192915050565b60208152600062003e16602083018462005218565b60008060008061018085870312156200527357600080fd5b8435620052808162004bc4565b93506020850135620052928162004bc4565b9250620052a38660408701620050de565b915061016085013567ffffffffffffffff811115620052c157600080fd5b620052cf8782880162004e87565b91505092959194509250565b634e487b7160e01b600052601160045260246000fd5b808202811582820484141762000dda5762000dda620052db565b634e487b7160e01b600052602160045260246000fd5b6000602082840312156200533457600080fd5b815162003e16816200507d565b6000602082840312156200535457600080fd5b5051919050565b6000826200537957634e487b7160e01b600052601260045260246000fd5b500490565b8082018082111562000dda5762000dda620052db565b600060208284031215620053a757600080fd5b815162003e168162004bc4565b634e487b7160e01b600052603260045260246000fd5b600060018201620053df57620053df620052db565b5060010190565b8181038181111562000dda5762000dda620052db565b634e487b7160e01b600052603160045260246000fd5b6000602082840312156200542557600080fd5b815162003e168162004edf565b600060208083850312156200544657600080fd5b825167ffffffffffffffff808211156200545f57600080fd5b9084019060c082870312156200547457600080fd5b6200547e62004d31565b8251815283830151620054918162004bc4565b818501526040830151620054a58162004bc4565b6040820152606083015182811115620054bd57600080fd5b830160408189031215620054d057600080fd5b620054da62004cb7565b815181528582015184811115620054f057600080fd5b82019350601f840189136200550457600080fd5b835191506200551762004dc78362004d8b565b82815289878487010111156200552c57600080fd5b6200553d83888301898801620051f2565b95810195909552506060810193909352506080818101519083015260a090810151908201529392505050565b600181811c908216806200557e57607f821691505b6020821081036200559f57634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620014a157600081815260208120601f850160051c81016020861015620055ce5750805b601f850160051c820191505b81811015620055ef57828155600101620055da565b505050505050565b815167ffffffffffffffff81111562005614576200561462004ca1565b6200562c8162005625845462005569565b84620055a5565b602080601f8311600181146200566457600084156200564b5750858301515b600019600386901b1c1916600185901b178555620055ef565b600085815260208120601f198616915b82811015620056955788860151825594840194600190910190840162005674565b5085821015620056b45787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60006020808385031215620056d857600080fd5b825167ffffffffffffffff80821115620056f157600080fd5b818501915085601f8301126200570657600080fd5b8151818111156200571b576200571b62004ca1565b8060051b91506200572e84830162004d57565b81815291830184019184810190888411156200574957600080fd5b938501935b83851015620057775784519250620057668362004bc4565b82825293850193908501906200574e565b98975050505050505050565b60008154620057928162005569565b808552602060018381168015620057b25760018114620057cd57620057fd565b60ff1985168884015283151560051b880183019550620057fd565b866000528260002060005b85811015620057f55781548a8201860152908301908401620057d8565b890184019650505b505050505092915050565b80518252600060208201516040602085015262004840604085018262005218565b600081518084526020808501945080840160005b83811015620058645781516001600160a01b0316875295820195908201906001016200583d565b509495945050505050565b85815260a0602082015260006200588a60a083018762005783565b82810360408401526200589e818762005808565b90506001600160a01b0385166060840152828103608084015262005777818562005829565b838152606060208201526000620058de606083018562005783565b828103604084015262004a15818562005808565b6001600160a01b038316815260406020820152600062004840604083018462005218565b600481106200592957620059296200530b565b9052565b6000610120820190506001600160a01b0383511682526020830151602083015260408301516040830152606083015160608301526080830151608083015260a0830151600381106200598357620059836200530b565b8060a08401525060c08301516200599e60c084018262005916565b5060e0830151620059b260e0840182519052565b50610100928301516001600160a01b0316919092015290565b87815260006001600160a01b03808916602084015260e06040840152620059f660e084018962005218565b818816606085015286608085015283810360a085015262005a18818762005808565b91505082810360c084015262005a2f818562005829565b9a9950505050505050505050565b85815260006001600160a01b038087166020840152808616604084015280851660608401525060a060808301526200452d60a083018462005808565b60408152600062005a8e604083018562005218565b90506001600160a01b03831660208301529392505050565b60408152600062005abb604083018562005218565b90508260208301529392505050565b7f416363657373436f6e74726f6c3a206163636f756e742000000000000000000081526000835162005b04816017850160208801620051f2565b7f206973206d697373696e6720726f6c6520000000000000000000000000000000601791840191820152835162005b43816028840160208801620051f2565b01602801949350505050565b60008162005b615762005b61620052db565b506000190190565b6000825162005b7d818460208701620051f2565b919091019291505056fe60a0604052306080526000606d81905560705534801561001e57600080fd5b506080516159136200005760003960008181611231015281816112b6015281816113b70152818161143c015261152201526159136000f3fe6080604052600436106103c75760003560e01c806376365af7116101f2578063b5f620ce11610119578063e0dd2c38116100b2578063ef2920fc11610084578063f321b3051161006c578063f321b30514610b89578063f5b0dfb714610ba9578063fc1711f214610bc957005b8063ef2920fc14610b56578063f2fde38b14610b6957005b8063e0dd2c3814610ac9578063e33add9314610ae9578063eb11af9314610b09578063edd146cc14610b3657005b8063c7f758a8116100eb578063c7f758a814610a39578063d1e3623214610a6f578063dc96ff2d14610a84578063df868ed314610ab457005b8063b5f620ce146109a6578063b6c61f31146109c6578063bcc5b93b146109e6578063c329217114610a1c57005b8063950559d71161018b578063a574cea41161015d578063a574cea414610916578063aba9ffee14610943578063ac1ed7b914610959578063b2b878d01461097957005b8063950559d7146108a1578063a0cf0aea146108c1578063a1aab33f146108e9578063a47ff7e5146108ff57005b8063817b1cd2116101c4578063817b1cd21461082d578063824ea8ed14610843578063868c57b8146108635780638da5cb5b1461088357005b806376365af7146107cc578063782aadff146107e25780637c6570ba14610802578063814516ad1461081857005b8063346db8cb116102ee5780634f1ef286116102875780635db64b99116102595780636453d9c4116102415780636453d9c41461077757806369fa25c414610797578063715018a6146107b757005b80635db64b991461072a5780636003e4141461075757005b80634f1ef286146106cc57806352d1902d146106df57806354fac919146106f457806359a5db8b1461070a57005b8063406244d8116102c0578063406244d81461066d57806342fda9c7146106825780634ab4ba42146106975780634d31d087146106ac57005b8063346db8cb146105f1578063351d9f96146106115780633659cfe61461063857806338fff2d01461065857005b806315cc481e116103605780632bbe0cae116103325780632bbe0cae146105725780632cefadbb146105855780632dbd6fdd146105a55780632ed04b2b146105d157005b806315cc481e146104eb57806319ab453c1461051d5780631aa91a9e1461053d5780631ddf1e231461055d57005b80630ba95909116103995780630ba959091461047f5780630c0512e91461049e5780630f529ba2146104b457806311f22ae3146104cb57005b8063013cf08b146103d057806301ffc9a71461040f578063058aca441461043f5780630a6f0ee91461045f57005b366103ce57005b005b3480156103dc57600080fd5b506103f06103eb36600461481d565b610be9565b6040516104069a999897969594939291906148cf565b60405180910390f35b34801561041b57600080fd5b5061042f61042a366004614942565b610cf7565b6040519015158152602001610406565b34801561044b57600080fd5b506103ce61045a366004614999565b610d90565b34801561046b57600080fd5b506103ce61047a366004614ba9565b610df0565b34801561048b57600080fd5b506073545b604051908152602001610406565b3480156104aa57600080fd5b50610490606d5481565b3480156104c057600080fd5b506104906298968081565b3480156104d757600080fd5b506103ce6104e636600461481d565b610e10565b3480156104f757600080fd5b506065546001600160a01b03165b6040516001600160a01b039091168152602001610406565b34801561052957600080fd5b506103ce610538366004614999565b610e4f565b34801561054957600080fd5b5061049061055836600461481d565b610fb0565b34801561056957600080fd5b506103ce611036565b610505610580366004614c21565b611041565b34801561059157600080fd5b506103ce6105a036600461481d565b611064565b3480156105b157600080fd5b506072546105c490610100900460ff1681565b6040516104069190614c83565b3480156105dd57600080fd5b506104906105ec366004614c91565b6110b0565b3480156105fd57600080fd5b5061049061060c366004614cbd565b611182565b34801561061d57600080fd5b5060725461062b9060ff1681565b6040516104069190614cf9565b34801561064457600080fd5b506103ce610653366004614999565b611227565b34801561066457600080fd5b50606854610490565b34801561067957600080fd5b50610490600a81565b34801561068e57600080fd5b50606654610490565b3480156106a357600080fd5b50606954610490565b3480156106b857600080fd5b5061042f6106c7366004614999565b6113a2565b6103ce6106da366004614d07565b6113ad565b3480156106eb57600080fd5b50610490611515565b34801561070057600080fd5b50610490606a5481565b34801561071657600080fd5b5061049061072536600461481d565b6115da565b34801561073657600080fd5b50610490610745366004614999565b60776020526000908152604090205481565b34801561076357600080fd5b50607454610505906001600160a01b031681565b34801561078357600080fd5b506103ce610792366004614999565b611717565b3480156107a357600080fd5b506103ce6107b236600461481d565b611728565b3480156107c357600080fd5b506103ce611767565b3480156107d857600080fd5b50610490606b5481565b3480156107ee57600080fd5b506104906107fd366004614c91565b611779565b34801561080e57600080fd5b5061049060705481565b34801561082457600080fd5b506103ce61191b565b34801561083957600080fd5b50610490606e5481565b34801561084f57600080fd5b5061042f61085e36600461481d565b611a4d565b34801561086f57600080fd5b5061049061087e366004614c91565b611aaa565b34801561088f57600080fd5b506033546001600160a01b0316610505565b3480156108ad57600080fd5b506104906108bc36600461481d565b611adb565b3480156108cd57600080fd5b5061050573eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b3480156108f557600080fd5b50610490606c5481565b34801561090b57600080fd5b506073546104909081565b34801561092257600080fd5b5061093661093136600461481d565b611b05565b6040516104069190614d57565b34801561094f57600080fd5b50610490606f5481565b34801561096557600080fd5b506103ce610974366004614999565b611be4565b34801561098557600080fd5b50610999610994366004614d6a565b611cc5565b6040516104069190614e3f565b3480156109b257600080fd5b506103ce6109c1366004614ea5565b611ce0565b3480156109d257600080fd5b50607554610505906001600160a01b031681565b3480156109f257600080fd5b50610490610a01366004614999565b6001600160a01b031660009081526077602052604090205490565b348015610a2857600080fd5b50607254610100900460ff166105c4565b348015610a4557600080fd5b50610a59610a5436600461481d565b611ce9565b6040516104069a99989796959493929190614ec2565b348015610a7b57600080fd5b50606f54610490565b348015610a9057600080fd5b50610490610a9f36600461481d565b60009081526076602052604090206002015490565b348015610ac057600080fd5b5061042f611deb565b348015610ad557600080fd5b50610490610ae4366004614f27565b611dfe565b348015610af557600080fd5b506103ce610b04366004614f4c565b611e29565b348015610b1557600080fd5b50610b29610b24366004614999565b611e42565b6040516104069190614ff7565b348015610b4257600080fd5b506103ce610b51366004615011565b611e4d565b6103ce610b64366004614c21565b611f9b565b348015610b7557600080fd5b506103ce610b84366004614999565b611fb5565b348015610b9557600080fd5b506103ce610ba4366004615042565b612042565b348015610bb557600080fd5b506103ce610bc436600461481d565b61208d565b348015610bd557600080fd5b506103ce610be436600461481d565b6120b6565b6076602090815260009182526040918290208054600182015460028301546003840154600485015460058601546006870154600788015460088901548b51808d01909c52600a8a0180548d52600b8b0180549a9d999c989b979a6001600160a01b039788169a968816999790951697939660ff9093169593949192840191610c709061509c565b80601f0160208091040260200160405190810160405280929190818152602001828054610c9c9061509c565b8015610ce95780601f10610cbe57610100808354040283529160200191610ce9565b820191906000526020600020905b815481529060010190602001808311610ccc57829003601f168201915b50505050508152505090508a565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167ff1801e61000000000000000000000000000000000000000000000000000000001480610d8a57507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b33610d9a816120f5565b607480546001600160a01b0319166001600160a01b0384169081179091556040519081527fd6ceddf6d2a22f21c7c81675c518004eff43bc5c8a6fc32a0b748e69d58671cd906020015b60405180910390a15050565b610df86121a4565b610e006121cf565b610e0b83838361220b565b505050565b33610e1a816120f5565b606b8290556040518281527f08e39b387d1f739ce0d2553bb31822392e3f67c62c6c0a215120ab4a6841a8ab90602001610de4565b600054610100900460ff1615808015610e6f5750600054600160ff909116105b80610e895750303b158015610e89575060005460ff166001145b610f005760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084015b60405180910390fd5b6000805460ff191660011790558015610f23576000805461ff0019166101001790555b610f62826040518060400160405280600a81526020017f4356537472617465677900000000000000000000000000000000000000000000815250612042565b610f6a61251f565b8015610fac576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249890602001610de4565b5050565b600081815260766020526040812080548314610fe25760405163c1d17bef60e01b815260048101849052602401610ef7565b6001600882015460ff166004811115610ffd57610ffd614836565b1461101e576040516344980d8f60e01b815260048101849052602401610ef7565b61102c818260020154612592565b6003015492915050565b61103f336125cd565b565b600061104b6121a4565b6110536121cf565b61105d838361271e565b9392505050565b3361106e816120f5565b60705460408051918252602082018490527f056aedca4e334b6c4bea48715fb0de644811b740894de57a0380d3eb90f2805b910160405180910390a150607055565b60006110ba612a70565b60006002607254610100900460ff1660038111156110da576110da614836565b148061110157506001607254610100900460ff1660038111156110ff576110ff614836565b145b1561110d57508161111a565b6111178484612ab4565b90505b80606f600082825461112c91906150e6565b9091555050604080516001600160a01b0386168152602081018590529081018290527f70b752f3fadb6ac131c0ece847fcbb6994ec56ed6411595710fd9b29c6ac6cc19060600160405180910390a19392505050565b60008084905060006111a8629896806080606a54901b6111a2919061510f565b83612d78565b905060806f80000000000000000000000000000000606a54629896806111ce91906150e6565b6111dc84600160801b6150e6565b6111e96298968089615131565b6111f39190615131565b6111fd919061510f565b6112078885615131565b6112119190615148565b61121b9190615148565b901c9695505050505050565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036112b45760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b19195b1959d85d1958d85b1b60a21b6064820152608401610ef7565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661130f7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b6001600160a01b03161461137a5760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b6163746976652070726f787960a01b6064820152608401610ef7565b61138381612e21565b6040805160008082526020820190925261139f91839190612e29565b50565b6000610d8a82612fc9565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016300361143a5760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b19195b1959d85d1958d85b1b60a21b6064820152608401610ef7565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166114957f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b6001600160a01b0316146115005760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b6163746976652070726f787960a01b6064820152608401610ef7565b61150982612e21565b610fac82826001612e29565b6000306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146115b55760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c00000000000000006064820152608401610ef7565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc90565b60008060695411611617576040517fed4421ad00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61162082612fe9565b1561163e57604051630efd728560e21b815260040160405180910390fd5b6069546000906116578468010000000000000000615131565b611661919061510f565b62989680606b546801000000000000000061167c9190615131565b611686919061510f565b61169091906150e6565b9050604061169d606f5490565b606a546116ad90629896806150e6565b6298968060406116bd8680615131565b901c629896806080606c54901b6116d4919061510f565b6116de919061510f565b6116e89190615131565b6116f2919061510f565b6116fc9190615131565b901c915060705482116117115760705461105d565b50919050565b61171f612a70565b61139f816125cd565b33611732816120f5565b606a8290556040518281527f592dcd55d60d892e7fcb3ba105013312e99691cd59f91e15f83cb67cb5a505f290602001610de4565b61176f613010565b61103f600061306a565b6000611783612a70565b61178c836130bc565b6117a957604051630b72d6b160e31b815260040160405180910390fd5b60006002607254610100900460ff1660038111156117c9576117c9614836565b036117d757825b9050611834565b6001607254610100900460ff1660038111156117f5576117f5614836565b03611804576117d08484613164565b6003607254610100900460ff16600381111561182257611822614836565b036118345761183184846132ca565b90505b60745460405163011de97360e61b81526001600160a01b038681166004830152306024830152600092169063477a5cc090604401602060405180830381865afa158015611885573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118a9919061515b565b905080156118c95781606f60008282546118c39190615148565b90915550505b604080516001600160a01b0387168152602081018690529081018390527f0b9150e1e54346ed3fa36b977cd5d65dca5a649c737c3174a26bddaadd47667a9060600160405180910390a1509392505050565b33611925816130bc565b61194257604051630b72d6b160e31b815260040160405180910390fd5b6074546040517f0d4a8b490000000000000000000000000000000000000000000000000000000081526001600160a01b03838116600483015230602483015290911690630d4a8b4990604401600060405180830381600087803b1580156119a857600080fd5b505af11580156119bc573d6000803e3d6000fd5b5050607454604051637817ee4f60e01b81526001600160a01b0385811660048301523060248301529091169250637817ee4f9150604401602060405180830381865afa158015611a10573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a349190615178565b606f6000828254611a459190615148565b909155505050565b6000818152607660205260408120600281015482908190611a6f908490613511565b91509150816000148015611a81575080155b15611a8e57826003015491505b6000611a9d84600101546115da565b9092101595945050505050565b60786020528160005260406000208181548110611ac657600080fd5b90600052602060002001600091509150505481565b6000606a5462989680611aee91906150e6565b611afb6298968084615131565b610d8a919061510f565b604080518082019091526000815260606020820152600060766000848152602001908152602001600020905080600a0160405180604001604052908160008201548152602001600182018054611b5a9061509c565b80601f0160208091040260200160405190810160405280929190818152602001828054611b869061509c565b8015611bd35780601f10611ba857610100808354040283529160200191611bd3565b820191906000526020600020905b815481529060010190602001808311611bb657829003601f168201915b505050505081525050915050919050565b607460009054906101000a90046001600160a01b03166001600160a01b0316636c53db9a6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611c37573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c5b9190615191565b6001600160a01b03163303611c9357611c7381613569565b607580546001600160a01b0383166001600160a01b031990911617905550565b6040517fe860ec7e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b606060405163d623472560e01b815260040160405180910390fd5b61139f816135a9565b6000806000806000806000806000806000607660008d815260200190815260200160002090508060010154600014611d2d57611d2881600101546115da565b611d30565b60005b92508060050160009054906101000a90046001600160a01b03168160040160009054906101000a90046001600160a01b03168260060160009054906101000a90046001600160a01b0316836001015484600201548560080160009054906101000a900460ff16866007015487600301548a896009016000336001600160a01b03166001600160a01b03168152602001908152602001600020549a509a509a509a509a509a509a509a509a509a50509193959799509193959799565b6000611df960675460ff1690565b905090565b60008281526076602090815260408083206001600160a01b038516845260090190915281205461105d565b60405163d623472560e01b815260040160405180910390fd5b6000610d8a826135ea565b611e556121a4565b611e5e8261360a565b600081806020019051810190611e74919061521e565b80519091506001600160a01b0316611e9f57604051635df4b1ef60e01b815260040160405180910390fd5b8051607480546001600160a01b0319166001600160a01b039092169190911790556020810151606a556040810151606b556060810151606c5560a08101516072805460ff19166001836002811115611ef957611ef9614836565b021790555060c08101516072805461ff001916610100836003811115611f2157611f21614836565b021790555060e0810151516073556080810151607055610100810151607580546001600160a01b0319166001600160a01b039092169190911790556040517f4ebdec05fb64815e553aeaf3976ef8112dd79760a459bee3ac7d1659ab2c4e0490611f8e90859084906152b9565b60405180910390a1505050565b611fa36121a4565b611fab6121cf565b610fac828261368b565b611fbd613010565b6001600160a01b0381166120395760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610ef7565b61139f8161306a565b606580546001600160a01b0319166001600160a01b03841617905560405161206e90829060200161534c565b60408051601f1981840301815291905280516020909101206066555050565b6120956121a4565b80606960008282546120a79190615148565b9091555061139f90508161379a565b336120c0816120f5565b606c8290556040518281527f30ee8206062f283e56a0af2b02138016bf7442ded26ad68a92a18a9dd246fb4990602001610de4565b6065546068546040517f29e40d4b00000000000000000000000000000000000000000000000000000000815260048101919091526001600160a01b038381166024830152909116906329e40d4b90604401602060405180830381865afa158015612163573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612187919061515b565b61139f5760405163075fd2b160e01b815260040160405180910390fd5b6065546001600160a01b0316331461103f5760405163075fd2b160e01b815260040160405180910390fd5b60685460000361103f576040517f3da3f98c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000825111612246576040517fc5f7c4c000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008280602001905181019061225c9190615178565b905080600003612298576040517ff881a10d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000818152607660205260409020600160725460ff1660028111156122bf576122bf614836565b0361251857805482146122e85760405163c1d17bef60e01b815260048101839052602401610ef7565b606954816001015411156123405760018101546069546040517f5863b0b60000000000000000000000000000000000000000000000000000000081526004810185905260248101929092526044820152606401610ef7565b6001600882015460ff16600481111561235b5761235b614836565b1461237c576040516344980d8f60e01b815260048101839052602401610ef7565b600061238783610fb0565b9050600061239883600101546115da565b905080821080156123ad575060008360010154115b156123e4576040517fcce7930800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6065546068546040517f068bcd8d00000000000000000000000000000000000000000000000000000000815260048101919091526000916001600160a01b03169063068bcd8d90602401600060405180830381865afa15801561244b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261247391908101906153ec565b905083600101546069600082825461248b91906150e6565b90915550506040810151600485015460018601546124b392916001600160a01b0316906137ca565b60088401805460ff191660049081179091558401546001850154604080518881526001600160a01b0390931660208401528201527fa7932e9c92f31e1ed56b29d00bbe669a97484dc24de28dd9c8c0429df7f358479060600160405180910390a15050505b5050505050565b600054610100900460ff1661258a5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401610ef7565b61103f61380f565b60008061259f8484613511565b915091508160001480156125b1575080155b156125bc5750505050565b600784015560039092019190915550565b607454604051637817ee4f60e01b81526001600160a01b03838116600483015230602483015290911690637817ee4f90604401602060405180830381865afa15801561261d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126419190615178565b606f600082825461265291906150e6565b90915550506074546040517f22bcf9990000000000000000000000000000000000000000000000000000000081526001600160a01b038381166004830152306024830152909116906322bcf99990604401600060405180830381600087803b1580156126bd57600080fd5b505af11580156126d1573d6000803e3d6000fd5b505050506126de81613883565b6040516001600160a01b03821681527f1468da654b37bb3631011c1917d02e0db437d519918858d40b38b5e980ca033b906020015b60405180910390a150565b6000612729826130bc565b61274657604051630b72d6b160e31b815260040160405180910390fd5b60008380602001905181019061275c91906154a0565b805190915060000361279a576040517f4e79178600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600160725460ff1660028111156127b3576127b3614836565b03612963576127c58160200151613569565b60608101516001600160a01b0316612809576040517f596a094c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000306001600160a01b03166315cc481e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612849573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061286d9190615191565b6001600160a01b031663068bcd8d6068546040518263ffffffff1660e01b815260040161289c91815260200190565b600060405180830381865afa1580156128b9573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526128e191908101906153ec565b604001519050806001600160a01b031682606001516001600160a01b031614612936576040517fa29c498600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6129438260400151612fe9565b1561296157604051630efd728560e21b815260040160405180910390fd5b505b6000606d6000815461297490615547565b918290555060008181526076602090815260408083208481556005810180546001600160a01b038b81166001600160a01b0319928316179092558885015160048401805491841691831691909117905560608901516006840180549190931691161790559086015160018083019190915560088201805460ff19169091179055436007820155600381019290925560808501518051600a8401908155918101519394509192600b840190612a2890826155ae565b505060685460408051918252602082018590527ffcf3b1aa65a464cef2889608f99e8b8c0f680a4be6c2acb9d961c536a5a9294b92500160405180910390a150949350505050565b6074546001600160a01b0316331461103f576040517faf0916a200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b607454604080516336d8759760e21b815290516000926012926001600160a01b039091169163db61d65c916004808201926020929091908290030181865afa158015612b04573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612b289190615191565b6001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015612b81575060408051601f3d908101601f19168201909252612b7e9181019061566e565b60015b612bc857612bc36040518060400160405280601581526020017f4572726f722067657474696e6720646563696d616c0000000000000000000000815250613a10565b612bce565b60ff1690505b612c0d6040518060400160405280601081526020017f5f616d6f756e74546f556e7374616b650000000000000000000000000000000081525084613a81565b6074546040516316308e2560e11b81526001600160a01b0386811660048301526000928692911690632c611c4a90602401602060405180830381865afa158015612c5b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612c7f9190615178565b612c8991906150e6565b9050612cca6040518060400160405280600d81526020017f6e6577546f74616c5374616b650000000000000000000000000000000000000081525082613a81565b6000612ce9612cda84600a615775565b612ce49084615131565b613af4565b607454604051637817ee4f60e01b81526001600160a01b03898116600483015230602483015292935060009284921690637817ee4f90604401602060405180830381865afa158015612d3f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612d639190615178565b612d6d91906150e6565b979650505050505050565b6000600160801b8310612dcd5760405162461bcd60e51b815260206004820152601c60248201527f5f612073686f756c64206265206c657373207468616e20325e313238000000006044820152606401610ef7565b50600160801b82825b8015612e195780600116600003612dfb57612df18283613bdc565b915060011c612dd6565b612e058383613bdc565b9250612e126001826150e6565b9050612dd6565b505092915050565b61139f613010565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615612e5c57610e0b83613cdb565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015612eb6575060408051601f3d908101601f19168201909252612eb391810190615178565b60015b612f285760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201527f6f6e206973206e6f7420555550530000000000000000000000000000000000006064820152608401610ef7565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8114612fbd5760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f7860448201527f6961626c655555494400000000000000000000000000000000000000000000006064820152608401610ef7565b50610e0b838383613d99565b60006001600160a01b03821615612fe1576001610d8a565b600092915050565b6000612ff86298968083615131565b606954606b546130089190615131565b111592915050565b6033546001600160a01b0316331461103f5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610ef7565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6075546000906001600160a01b03166130d757506001919050565b6075546040517f42a987a00000000000000000000000000000000000000000000000000000000081526001600160a01b038481166004830152306024830152909116906342a987a090604401602060405180830381865afa158015613140573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d8a919061515b565b6000808290506131a96040518060400160405280601281526020017f504f494e545320544f20494e435245415345000000000000000000000000000081525082613a81565b607454604051637817ee4f60e01b81526001600160a01b0386811660048301523060248301526000921690637817ee4f90604401602060405180830381865afa1580156131fa573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061321e9190615178565b905061325f6040518060400160405280600b81526020017f4d454d424552504f57455200000000000000000000000000000000000000000081525082613a81565b60735461326c8383615148565b1115613283576073546132809082906150e6565b91505b6132c26040518060400160405280601681526020017f504f494e545320544f20494e43524541534520454e440000000000000000000081525083613a81565b509392505050565b6074546040516316308e2560e11b81526001600160a01b0384811660048301526000928392859290911690632c611c4a90602401602060405180830381865afa15801561331b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061333f9190615178565b6133499190615148565b607454604080516336d8759760e21b815290519293506012926001600160a01b039092169163db61d65c916004808201926020929091908290030181865afa158015613399573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906133bd9190615191565b6001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015613416575060408051601f3d908101601f191682019092526134139181019061566e565b60015b61345d576134586040518060400160405280601581526020017f4572726f722067657474696e6720646563696d616c0000000000000000000000815250613a10565b613463565b60ff1690505b600061347d61347383600a615775565b612ce49085615131565b607454604051637817ee4f60e01b81526001600160a01b03898116600483015230602483015292935060009290911690637817ee4f90604401602060405180830381865afa1580156134d3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906134f79190615178565b9050600061350582846150e6565b98975050505050505050565b600080439050808460070154111561352b5761352b615781565b8084600701540361354157506000905080613562565b61355f84600701548261355491906150e6565b856003015485611182565b91505b9250929050565b6001600160a01b03811661139f576040517fe622e04000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6067805460ff19168215159081179091556040519081527fd94c9bc4d43c51d8dc345a016d8e3d994432fac68e72832e4cf3a616bd8efae090602001612713565b60006001600160a01b03821615613602576002610d8a565b600392915050565b6136126121a4565b6068541561364c576040517f439a74c900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80600003613686576040517f7fcce2a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b606855565b61369481613dbe565b61369d816130bc565b6136ba57604051630b72d6b160e31b815260040160405180910390fd5b60745460405163011de97360e61b81526001600160a01b038381166004830152306024830152600092169063477a5cc090604401602060405180830381865afa15801561370b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061372f919061515b565b905080613768576040517f5fccb67f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008380602001905181019061377e9190615797565b905061378a8382613ee4565b61379483826140a7565b50505050565b6040518181527f46aeb5d8770fc4474bc2dfa118fd2595f7fb33ce2cbce6f4e5a3dabfe0f7633990602001612713565b7fffffffffffffffffffffffff11111111111111111111111111111111111111126001600160a01b0384160161380457610e0b82826144cb565b610e0b8383836144e7565b600054610100900460ff1661387a5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401610ef7565b61103f3361306a565b6001600160a01b0381166000908152607860209081526040808320805482518185028101850190935280835291929091908301828280156138e357602002820191906000526020600020905b8154815260200190600101908083116138cf575b5050505050905060005b8151811015610e0b57600082828151811061390a5761390a615842565b60200260200101519050600060766000838152602001908152602001600020905061393482614536565b156139fb576001600160a01b038516600090815260098201602052604081208054908290556002830180549192839261396e9084906150e6565b9250508190555080606e600082825461398791906150e6565b9091555061399790508282612592565b60028201546003830154604080516001600160a01b038a1681526020810187905260008183015260608101939093526080830191909152517f0227f642ddcf2042ceaeafadb9d540f432072c00cd4862881667168dcc14710f9181900360a00190a1505b50508080613a0890615547565b9150506138ed565b61139f81604051602401613a24919061534c565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f41304fac0000000000000000000000000000000000000000000000000000000017905261456f565b610fac8282604051602401613a97929190615858565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f9710a9d00000000000000000000000000000000000000000000000000000000017905261456f565b600081600003613b0657506000919050565b60006001613b1384614590565b901c6001901b90506001818481613b2c57613b2c6150f9565b048201901c90506001818481613b4457613b446150f9565b048201901c90506001818481613b5c57613b5c6150f9565b048201901c90506001818481613b7457613b746150f9565b048201901c90506001818481613b8c57613b8c6150f9565b048201901c90506001818481613ba457613ba46150f9565b048201901c90506001818481613bbc57613bbc6150f9565b048201901c905061105d81828581613bd657613bd66150f9565b04614624565b6000600160801b831115613c585760405162461bcd60e51b815260206004820152602860248201527f5f612073686f756c64206265206c657373207468616e206f7220657175616c2060448201527f746f20325e3132380000000000000000000000000000000000000000000000006064820152608401610ef7565b600160801b8210613cab5760405162461bcd60e51b815260206004820152601c60248201527f5f622073686f756c64206265206c657373207468616e20325e313238000000006044820152606401610ef7565b60806f80000000000000000000000000000000613cc88486615131565b613cd29190615148565b901c9392505050565b6001600160a01b0381163b613d585760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201527f6f74206120636f6e7472616374000000000000000000000000000000000000006064820152608401610ef7565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b613da28361463a565b600082511180613daf5750805b15610e0b57613794838361467a565b6001600160a01b038116613dfe576040517fd1f2828800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6074546001600160a01b0316613e2757604051635df4b1ef60e01b815260040160405180910390fd5b6074546040517fa230c5240000000000000000000000000000000000000000000000000000000081526001600160a01b0383811660048301529091169063a230c52490602401602060405180830381865afa158015613e8a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613eae919061515b565b61139f576040517f6a5cfb6d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000805b8251811015613fa157828181518110613f0357613f03615842565b60200260200101516000015160000315613f8f576000838281518110613f2b57613f2b615842565b6020026020010151600001519050613f4281614536565b613f625760405163c1d17bef60e01b815260048101829052602401610ef7565b838281518110613f7457613f74615842565b60200260200101516020015183613f8b919061587a565b9250505b80613f9981615547565b915050613ee8565b506001600160a01b038316600090815260776020526040812054613fc5908361469f565b607454604051637817ee4f60e01b81526001600160a01b03878116600483015230602483015292935060009290911690637817ee4f90604401602060405180830381865afa15801561401b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061403f9190615178565b905080821115614085576040517fd64182fe0000000000000000000000000000000000000000000000000000000081526004810183905260248101829052604401610ef7565b506001600160a01b039093166000908152607760205260409020929092555050565b606060005b82518110156137945760008382815181106140c9576140c9615842565b60200260200101516000015190508251600003614125576040805160018082528183019092529060208083019080368337019050509250808360008151811061411457614114615842565b602002602001018181525050614278565b6000805b84518110156141a4578285828151811061414557614145615842565b602002602001015103614192576040517fadebb154000000000000000000000000000000000000000000000000000000008152600481018490526024810182905260019250604401610ef7565b8061419c81615547565b915050614129565b5080614276576000845160016141ba9190615148565b67ffffffffffffffff8111156141d2576141d26149b6565b6040519080825280602002602001820160405280156141fb578160200160208202803683370190505b50905060005b85518110156142535785818151811061421c5761421c615842565b602002602001015182828151811061423657614236615842565b60209081029190910101528061424b81615547565b915050614201565b50828186518151811061426857614268615842565b602090810291909101015293505b505b600084838151811061428c5761428c615842565b60209081029190910181015181015160008481526076835260408082206001600160a01b038b168352600981019094528120549193506142cc828561469f565b6001600160a01b038a1660009081526009850160205260408120829055909150805b6001600160a01b038b166000908152607860205260409020548110156143655784546001600160a01b038c16600090815260786020526040902080548390811061433a5761433a615842565b9060005260206000200154036143535760019150614365565b8061435d81615547565b9150506142ee565b508061439b576001600160a01b038a16600090815260786020908152604082208654815460018101835591845291909220909101555b8183116143eb576143ac83836150e6565b606e60008282546143bd9190615148565b909155506143cd905083836150e6565b8460020160008282546143e09190615148565b9091555061442f9050565b6143f582846150e6565b606e600082825461440691906150e6565b90915550614416905082846150e6565b84600201600082825461442991906150e6565b90915550505b8360070154600003614446574360078501556144b2565b6144508484612592565b60028401546003850154604080516001600160a01b038e168152602081018a9052908101859052606081019290925260808201527f0227f642ddcf2042ceaeafadb9d540f432072c00cd4862881667168dcc14710f9060a00160405180910390a15b50505050505080806144c390615547565b9150506140ac565b60008060008084865af1610fac5763b12d13eb6000526004601cfd5b81601452806034526fa9059cbb00000000000000000000000060005260206000604460106000875af13d15600160005114171661452c576390b8ec186000526004601cfd5b6000603452505050565b60008181526076602052604081205415801590610d8a5750506000908152607660205260409020600501546001600160a01b0316151590565b80516a636f6e736f6c652e6c6f67602083016000808483855afa5050505050565b600080608083901c156145a557608092831c92015b604083901c156145b757604092831c92015b602083901c156145c957602092831c92015b601083901c156145db57601092831c92015b600883901c156145ed57600892831c92015b600483901c156145ff57600492831c92015b600283901c1561461157600292831c92015b600183901c15610d8a5760010192915050565b6000818310614633578161105d565b5090919050565b61464381613cdb565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b606061105d83836040518060600160405280602781526020016158b7602791396146fa565b6000806146ac838561587a565b9050600081121561105d576040517f3bbc7142000000000000000000000000000000000000000000000000000000008152600481018590526024810184905260448101829052606401610ef7565b6060600080856001600160a01b031685604051614717919061589a565b600060405180830381855af49150503d8060008114614752576040519150601f19603f3d011682016040523d82523d6000602084013e614757565b606091505b509150915061476886838387614772565b9695505050505050565b606083156147e15782516000036147da576001600160a01b0385163b6147da5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610ef7565b50816147eb565b6147eb83836147f3565b949350505050565b8151156148035781518083602001fd5b8060405162461bcd60e51b8152600401610ef7919061534c565b60006020828403121561482f57600080fd5b5035919050565b634e487b7160e01b600052602160045260246000fd5b6005811061485c5761485c614836565b9052565b60005b8381101561487b578181015183820152602001614863565b50506000910152565b6000815180845261489c816020860160208601614860565b601f01601f19169290920160200192915050565b8051825260006020820151604060208501526147eb6040850182614884565b60006101408c83528b60208401528a60408401528960608401526001600160a01b03808a16608085015280891660a085015280881660c0850152508560e084015261491e61010084018661484c565b80610120840152614931818401856148b0565b9d9c50505050505050505050505050565b60006020828403121561495457600080fd5b81357fffffffff000000000000000000000000000000000000000000000000000000008116811461105d57600080fd5b6001600160a01b038116811461139f57600080fd5b6000602082840312156149ab57600080fd5b813561105d81614984565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff811182821017156149ef576149ef6149b6565b60405290565b604051610120810167ffffffffffffffff811182821017156149ef576149ef6149b6565b60405160c0810167ffffffffffffffff811182821017156149ef576149ef6149b6565b60405160a0810167ffffffffffffffff811182821017156149ef576149ef6149b6565b604051601f8201601f1916810167ffffffffffffffff81118282101715614a8857614a886149b6565b604052919050565b600067ffffffffffffffff821115614aaa57614aaa6149b6565b5060051b60200190565b600082601f830112614ac557600080fd5b81356020614ada614ad583614a90565b614a5f565b82815260059290921b84018101918181019086841115614af957600080fd5b8286015b84811015614b1d578035614b1081614984565b8352918301918301614afd565b509695505050505050565b600067ffffffffffffffff821115614b4257614b426149b6565b50601f01601f191660200190565b6000614b5e614ad584614b28565b9050828152838383011115614b7257600080fd5b828260208301376000602084830101529392505050565b600082601f830112614b9a57600080fd5b61105d83833560208501614b50565b600080600060608486031215614bbe57600080fd5b833567ffffffffffffffff80821115614bd657600080fd5b614be287838801614ab4565b94506020860135915080821115614bf857600080fd5b50614c0586828701614b89565b9250506040840135614c1681614984565b809150509250925092565b60008060408385031215614c3457600080fd5b823567ffffffffffffffff811115614c4b57600080fd5b614c5785828601614b89565b9250506020830135614c6881614984565b809150509250929050565b6004811061485c5761485c614836565b60208101610d8a8284614c73565b60008060408385031215614ca457600080fd5b8235614caf81614984565b946020939093013593505050565b600080600060608486031215614cd257600080fd5b505081359360208301359350604090920135919050565b6003811061485c5761485c614836565b60208101610d8a8284614ce9565b60008060408385031215614d1a57600080fd5b8235614d2581614984565b9150602083013567ffffffffffffffff811115614d4157600080fd5b614d4d85828601614b89565b9150509250929050565b60208152600061105d60208301846148b0565b60008060408385031215614d7d57600080fd5b823567ffffffffffffffff80821115614d9557600080fd5b614da186838701614ab4565b9350602091508185013581811115614db857600080fd5b8501601f81018713614dc957600080fd5b8035614dd7614ad582614a90565b81815260059190911b82018401908481019089831115614df657600080fd5b8584015b83811015614e2e57803586811115614e125760008081fd5b614e208c8983890101614b89565b845250918601918601614dfa565b508096505050505050509250929050565b602080825282518282018190526000919060409081850190868401855b82811015614e8a57815180516001600160a01b03168552860151868501529284019290850190600101614e5c565b5091979650505050505050565b801515811461139f57600080fd5b600060208284031215614eb757600080fd5b813561105d81614e97565b6001600160a01b038b811682528a811660208301528916604082015260608101889052608081018790526101408101614efe60a083018861484c565b8560c08301528460e083015283610100830152826101208301529b9a5050505050505050505050565b60008060408385031215614f3a57600080fd5b823591506020830135614c6881614984565b60006020808385031215614f5f57600080fd5b823567ffffffffffffffff811115614f7657600080fd5b8301601f81018513614f8757600080fd5b8035614f95614ad582614a90565b81815260069190911b82018301908381019087831115614fb457600080fd5b928401925b82841015612d6d5760408489031215614fd25760008081fd5b614fda6149cc565b843581528585013586820152825260409093019290840190614fb9565b602081016007831061500b5761500b614836565b91905290565b6000806040838503121561502457600080fd5b82359150602083013567ffffffffffffffff811115614d4157600080fd5b6000806040838503121561505557600080fd5b823561506081614984565b9150602083013567ffffffffffffffff81111561507c57600080fd5b8301601f8101851361508d57600080fd5b614d4d85823560208401614b50565b600181811c908216806150b057607f821691505b60208210810361171157634e487b7160e01b600052602260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b81810381811115610d8a57610d8a6150d0565b634e487b7160e01b600052601260045260246000fd5b60008261512c57634e487b7160e01b600052601260045260246000fd5b500490565b8082028115828204841417610d8a57610d8a6150d0565b80820180821115610d8a57610d8a6150d0565b60006020828403121561516d57600080fd5b815161105d81614e97565b60006020828403121561518a57600080fd5b5051919050565b6000602082840312156151a357600080fd5b815161105d81614984565b80516151b981614984565b919050565b8051600381106151b957600080fd5b8051600481106151b957600080fd5b6000602082840312156151ee57600080fd5b6040516020810181811067ffffffffffffffff82111715615211576152116149b6565b6040529151825250919050565b6000610120828403121561523157600080fd5b6152396149f5565b615242836151ae565b81526020830151602082015260408301516040820152606083015160608201526080830151608082015261527860a084016151be565b60a082015261528960c084016151cd565b60c082015261529b8460e085016151dc565b60e08201526101006152ae8185016151ae565b908201529392505050565b6000610140820190508382526001600160a01b038351166020830152602083015160408301526040830151606083015260608301516080830152608083015160a083015260a083015161530f60c0840182614ce9565b5060c083015161532260e0840182614c73565b5060e08301515161010083810191909152909201516001600160a01b031661012090910152919050565b60208152600061105d6020830184614884565b60006040828403121561537157600080fd5b6153796149cc565b905081518152602082015167ffffffffffffffff81111561539957600080fd5b8201601f810184136153aa57600080fd5b80516153b8614ad582614b28565b8181528560208385010111156153cd57600080fd5b6153de826020830160208601614860565b602084015250909392505050565b6000602082840312156153fe57600080fd5b815167ffffffffffffffff8082111561541657600080fd5b9083019060c0828603121561542a57600080fd5b615432614a19565b82518152602083015161544481614984565b6020820152604083015161545781614984565b604082015260608301518281111561546e57600080fd5b61547a8782860161535f565b6060830152506080830151608082015260a083015160a082015280935050505092915050565b6000602082840312156154b257600080fd5b815167ffffffffffffffff808211156154ca57600080fd5b9083019060a082860312156154de57600080fd5b6154e6614a3c565b8251815260208301516154f881614984565b602082015260408381015190820152606083015161551581614984565b606082015260808301518281111561552c57600080fd5b6155388782860161535f565b60808301525095945050505050565b600060018201615559576155596150d0565b5060010190565b601f821115610e0b57600081815260208120601f850160051c810160208610156155875750805b601f850160051c820191505b818110156155a657828155600101615593565b505050505050565b815167ffffffffffffffff8111156155c8576155c86149b6565b6155dc816155d6845461509c565b84615560565b602080601f83116001811461561157600084156155f95750858301515b600019600386901b1c1916600185901b1785556155a6565b600085815260208120601f198616915b8281101561564057888601518255948401946001909101908401615621565b508582101561565e5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60006020828403121561568057600080fd5b815160ff8116811461105d57600080fd5b600181815b808511156156cc5781600019048211156156b2576156b26150d0565b808516156156bf57918102915b93841c9390800290615696565b509250929050565b6000826156e357506001610d8a565b816156f057506000610d8a565b816001811461570657600281146157105761572c565b6001915050610d8a565b60ff841115615721576157216150d0565b50506001821b610d8a565b5060208310610133831016604e8410600b841016171561574f575081810a610d8a565b6157598383615691565b806000190482111561576d5761576d6150d0565b029392505050565b600061105d83836156d4565b634e487b7160e01b600052600160045260246000fd5b600060208083850312156157aa57600080fd5b825167ffffffffffffffff8111156157c157600080fd5b8301601f810185136157d257600080fd5b80516157e0614ad582614a90565b81815260069190911b820183019083810190878311156157ff57600080fd5b928401925b82841015612d6d576040848903121561581d5760008081fd5b6158256149cc565b845181528585015186820152825260409093019290840190615804565b634e487b7160e01b600052603260045260246000fd5b60408152600061586b6040830185614884565b90508260208301529392505050565b8082018281126000831280158216821582161715612e1957612e196150d0565b600082516158ac818460208701614860565b919091019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a264697066735822122049b3231cbecd6db9d79eb7e6e0aa3bb1452345bd067dee068696bdb771968c2d64736f6c6343000813003360806040526040516104ee3803806104ee833981016040819052610022916102de565b61002e82826000610035565b50506103fb565b61003e83610061565b60008251118061004b5750805b1561005c5761005a83836100a1565b505b505050565b61006a816100cd565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606100c683836040518060600160405280602781526020016104c760279139610180565b9392505050565b6001600160a01b0381163b61013f5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080856001600160a01b03168560405161019d91906103ac565b600060405180830381855af49150503d80600081146101d8576040519150601f19603f3d011682016040523d82523d6000602084013e6101dd565b606091505b5090925090506101ef868383876101f9565b9695505050505050565b60608315610268578251600003610261576001600160a01b0385163b6102615760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610136565b5081610272565b610272838361027a565b949350505050565b81511561028a5781518083602001fd5b8060405162461bcd60e51b815260040161013691906103c8565b634e487b7160e01b600052604160045260246000fd5b60005b838110156102d55781810151838201526020016102bd565b50506000910152565b600080604083850312156102f157600080fd5b82516001600160a01b038116811461030857600080fd5b60208401519092506001600160401b038082111561032557600080fd5b818501915085601f83011261033957600080fd5b81518181111561034b5761034b6102a4565b604051601f8201601f19908116603f01168101908382118183101715610373576103736102a4565b8160405282815288602084870101111561038c57600080fd5b61039d8360208301602088016102ba565b80955050505050509250929050565b600082516103be8184602087016102ba565b9190910192915050565b60208152600082518060208401526103e78160408501602087016102ba565b601f01601f19169190910160400192915050565b60be806104096000396000f3fe608060405236601057600e6013565b005b600e5b601f601b6021565b6065565b565b600060607f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b905090565b3660008037600080366000845af43d6000803e8080156083573d6000f35b3d6000fdfea2646970667358221220499685897c672853da42a8c7337889b98ad42121f6c852e2a981477235103d8964736f6c63430008130033416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c656467617264656e73466163746f72792e67657447617264656e7346656552656365697665722829416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220cdf2d863746c7010819b5a761c8453d51648f6ffbb5ed493a3c7accd5f90cd8964736f6c6343000813003360806040526040516104ee3803806104ee833981016040819052610022916102de565b61002e82826000610035565b50506103fb565b61003e83610061565b60008251118061004b5750805b1561005c5761005a83836100a1565b505b505050565b61006a816100cd565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606100c683836040518060600160405280602781526020016104c760279139610180565b9392505050565b6001600160a01b0381163b61013f5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080856001600160a01b03168560405161019d91906103ac565b600060405180830381855af49150503d80600081146101d8576040519150601f19603f3d011682016040523d82523d6000602084013e6101dd565b606091505b5090925090506101ef868383876101f9565b9695505050505050565b60608315610268578251600003610261576001600160a01b0385163b6102615760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610136565b5081610272565b610272838361027a565b949350505050565b81511561028a5781518083602001fd5b8060405162461bcd60e51b815260040161013691906103c8565b634e487b7160e01b600052604160045260246000fd5b60005b838110156102d55781810151838201526020016102bd565b50506000910152565b600080604083850312156102f157600080fd5b82516001600160a01b038116811461030857600080fd5b60208401519092506001600160401b038082111561032557600080fd5b818501915085601f83011261033957600080fd5b81518181111561034b5761034b6102a4565b604051601f8201601f19908116603f01168101908382118183101715610373576103736102a4565b8160405282815288602084870101111561038c57600080fd5b61039d8360208301602088016102ba565b80955050505050509250929050565b600082516103be8184602087016102ba565b9190910192915050565b60208152600082518060208401526103e78160408501602087016102ba565b601f01601f19169190910160400192915050565b60be806104096000396000f3fe608060405236601057600e6013565b005b600e5b601f601b6021565b6065565b565b600060607f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b905090565b3660008037600080366000845af43d6000803e8080156083573d6000f35b3d6000fdfea2646970667358221220499685897c672853da42a8c7337889b98ad42121f6c852e2a981477235103d8964736f6c63430008130033416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220a77c90ba1584fe2497c09813159824eb5f6f73e6bc453df7aebfefd05e40c61664736f6c63430008130033","sourceMap":"593:3577:136:-:0;;;1088:4:68;1045:48;;593:3577:136;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405260043610620001075760003560e01c80638da5cb5b1162000095578063b8bed9011162000060578063b8bed90114620002b7578063c4d66de814620002d9578063f2fde38b14620002fe578063f5016b5e146200032357600080fd5b80638da5cb5b146200023a578063987435be146200025a578063affed0e0146200027a578063b5b3ca2c146200029257600080fd5b80635a2c8ace11620000d65780635a2c8ace146200019a578063715018a614620001bf5780638279c7db14620001d75780638a16135f14620001fc57600080fd5b80630a992e0c146200010c5780633659cfe614620001445780634f1ef286146200016b57806352d1902d1462000182575b600080fd5b3480156200011957600080fd5b50620001316200012b36600462001346565b62000374565b6040519081526020015b60405180910390f35b3480156200015157600080fd5b50620001696200016336600462001346565b620003f6565b005b620001696200017c36600462001426565b6200057a565b3480156200018f57600080fd5b5062000131620006ef565b348015620001a757600080fd5b5062000169620001b9366004620014a2565b620007b6565b348015620001cc57600080fd5b506200016962000827565b348015620001e457600080fd5b5062000169620001f636600462001346565b6200083f565b3480156200020957600080fd5b50620002216200021b36600462001575565b620008b5565b6040516001600160a01b0390911681526020016200013b565b3480156200024757600080fd5b506033546001600160a01b031662000221565b3480156200026757600080fd5b506067546001600160a01b031662000221565b3480156200028757600080fd5b506200013160655481565b3480156200029f57600080fd5b5062000169620002b1366004620016e7565b62000a3a565b348015620002c457600080fd5b5060675462000221906001600160a01b031681565b348015620002e657600080fd5b5062000169620002f836600462001346565b62000a96565b3480156200030b57600080fd5b50620001696200031d36600462001346565b62000c27565b3480156200033057600080fd5b50620003636200034236600462001346565b6001600160a01b031660009081526066602052604090206001015460ff1690565b60405190151581526020016200013b565b6001600160a01b03811660009081526066602052604081206001015460ff16620003da576040517ff5a6943d0000000000000000000000000000000000000000000000000000000081526001600160a01b03831660048201526024015b60405180910390fd5b506001600160a01b031660009081526066602052604090205490565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163003620004855760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b19195b1959d85d1958d85b1b60a21b6064820152608401620003d1565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316620004e17f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b6001600160a01b0316146200054e5760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b6163746976652070726f787960a01b6064820152608401620003d1565b620005598162000cba565b60408051600080825260208201909252620005779183919062000cc4565b50565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163003620006095760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b19195b1959d85d1958d85b1b60a21b6064820152608401620003d1565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316620006657f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b6001600160a01b031614620006d25760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b6163746976652070726f787960a01b6064820152608401620003d1565b620006dd8262000cba565b620006eb8282600162000cc4565b5050565b6000306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614620007915760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c00000000000000006064820152608401620003d1565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc90565b620007c062000e75565b6001600160a01b038216600081815260666020908152604091829020600101805460ff19168515159081179091558251938452908301527fecdcd3502799a6c41864ea2682236184e876f63e10f8d56c7768a3d501e89f6291015b60405180910390a15050565b6200083162000e75565b6200083d600062000ed1565b565b6200084962000e75565b620008548162000f30565b6067805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0383169081179091556040519081527fbdf37c276f641820b141429d245add2552b4118c0866e5a78638e3de5ef18d9d9060200160405180910390a150565b6065805460009182620008c88362001716565b9091555060808301523060a0830152604051600090620008e89062001302565b604051809103906000f08015801562000905573d6000803e3d6000fd5b506040517f96f0adec00000000000000000000000000000000000000000000000000000000906200093b908690602401620017b3565b60408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff00000000000000000000000000000000000000000000000000000000909416939093179092529051620009a79062001310565b620009b4929190620018fe565b604051809103906000f080158015620009d1573d6000803e3d6000fd5b506001600160a01b0381166000818152606660209081526040918290206001908101805460ff19169091179055905191825291925082917fb4108a188495a1a681cdc0750af164011025a1773b41e93ff3e628adc037dc29910160405180910390a19392505050565b62000a4462000e75565b6001600160a01b038216600081815260666020908152604091829020849055815192835282018390527fa1ee82e4f177a8017f33ddddac05b7ceab1de9d46f7195e15e8aa2e8b88f3b1c91016200081b565b600054610100900460ff161580801562000ab75750600054600160ff909116105b8062000ad35750303b15801562000ad3575060005460ff166001145b62000b475760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401620003d1565b6000805460ff19166001179055801562000b6b576000805461ff0019166101001790555b62000b7562000f71565b600060655562000b858262000f30565b6067805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0384169081179091556040519081527fbdf37c276f641820b141429d245add2552b4118c0866e5a78638e3de5ef18d9d9060200160405180910390a18015620006eb576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498906020016200081b565b62000c3162000e75565b6001600160a01b03811662000caf5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401620003d1565b620005778162000ed1565b6200057762000e75565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff161562000cff5762000cfa8362000fe8565b505050565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa92505050801562000d5c575060408051601f3d908101601f1916820190925262000d599181019062001922565b60015b62000dd05760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201527f6f6e206973206e6f7420555550530000000000000000000000000000000000006064820152608401620003d1565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc811462000e675760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f7860448201527f6961626c655555494400000000000000000000000000000000000000000000006064820152608401620003d1565b5062000cfa838383620010b5565b6033546001600160a01b031633146200083d5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401620003d1565b603380546001600160a01b0383811673ffffffffffffffffffffffffffffffffffffffff19831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b03811662000577576040517fe622e04000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600054610100900460ff1662000fde5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401620003d1565b6200083d620010e6565b6001600160a01b0381163b620010675760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201527f6f74206120636f6e7472616374000000000000000000000000000000000000006064820152608401620003d1565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b620010c0836200115e565b600082511180620010ce5750805b1562000cfa57620010e08383620011a0565b50505050565b600054610100900460ff16620011535760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401620003d1565b6200083d3362000ed1565b620011698162000fe8565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6060620011c883836040518060600160405280602781526020016200d90d60279139620011cf565b9392505050565b6060600080856001600160a01b031685604051620011ee91906200193c565b600060405180830381855af49150503d80600081146200122b576040519150601f19603f3d011682016040523d82523d6000602084013e62001230565b606091505b509150915062001243868383876200124d565b9695505050505050565b60608315620012c1578251600003620012b9576001600160a01b0385163b620012b95760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401620003d1565b5081620012cd565b620012cd8383620012d5565b949350505050565b815115620012e65781518083602001fd5b8060405162461bcd60e51b8152600401620003d191906200195a565b61baaf806200197083390190565b6104ee806200d41f83390190565b6001600160a01b03811681146200057757600080fd5b803562001341816200131e565b919050565b6000602082840312156200135957600080fd5b8135620011c8816200131e565b634e487b7160e01b600052604160045260246000fd5b6040516101a0810167ffffffffffffffff81118282101715620013a357620013a362001366565b60405290565b600067ffffffffffffffff80841115620013c757620013c762001366565b604051601f8501601f19908116603f01168101908282118183101715620013f257620013f262001366565b816040528093508581528686860111156200140c57600080fd5b858560208301376000602087830101525050509392505050565b600080604083850312156200143a57600080fd5b823562001447816200131e565b9150602083013567ffffffffffffffff8111156200146457600080fd5b8301601f810185136200147657600080fd5b6200148785823560208401620013a9565b9150509250929050565b803580151581146200134157600080fd5b60008060408385031215620014b657600080fd5b8235620014c3816200131e565b9150620014d36020840162001491565b90509250929050565b600082601f830112620014ee57600080fd5b620011c883833560208501620013a9565b6000604082840312156200151257600080fd5b6040516040810167ffffffffffffffff828210818311171562001539576200153962001366565b816040528293508435835260208501359150808211156200155957600080fd5b506200156885828601620014dc565b6020830152505092915050565b6000602082840312156200158857600080fd5b813567ffffffffffffffff80821115620015a157600080fd5b908301906101a08286031215620015b757600080fd5b620015c16200137c565b620015cc8362001334565b8152620015dc6020840162001334565b60208201526040830135604082015260608301356060820152608083013560808201526200160d60a0840162001334565b60a08201526200162060c0840162001334565b60c082015260e0830135828111156200163857600080fd5b6200164687828601620014ff565b60e0830152506101006200165c81850162001334565b9082015261012083810135838111156200167557600080fd5b6200168388828701620014dc565b8284015250506101406200169981850162001491565b908201526101608381013583811115620016b257600080fd5b620016c088828701620014dc565b8284015250506101809150620016d882840162001334565b91810191909152949350505050565b60008060408385031215620016fb57600080fd5b823562001708816200131e565b946020939093013593505050565b6000600182016200173757634e487b7160e01b600052601160045260246000fd5b5060010190565b60005b838110156200175b57818101518382015260200162001741565b50506000910152565b600081518084526200177e8160208601602086016200173e565b601f01601f19169290920160200192915050565b805182526000602082015160406020850152620012cd604085018262001764565b60208152620017ce6020820183516001600160a01b03169052565b60006020830151620017eb60408401826001600160a01b03169052565b506040830151606083015260608301516080830152608083015160a083015260a08301516200182560c08401826001600160a01b03169052565b5060c08301516001600160a01b03811660e08401525060e08301516101a061010081818601526200185b6101c086018462001792565b908601519092506101206200187a868201836001600160a01b03169052565b80870151915050601f196101408187860301818801526200189c858462001764565b945080880151925050610160620018b68188018415159052565b80880151925050610180818786030181880152620018d5858462001764565b94508088015192505050620018f4828601826001600160a01b03169052565b5090949350505050565b6001600160a01b0383168152604060208201526000620012cd604083018462001764565b6000602082840312156200193557600080fd5b5051919050565b60008251620019508184602087016200173e565b9190910192915050565b602081526000620011c860208301846200176456fe60a06040523060805234801561001457600080fd5b5060805161ba626200004d600039600081816119c001528181611a4701528181611bb501528181611c3c0152611d29015261ba626000f3fe608060405260043610620003ef5760003560e01c80636c53db9a116200020f578063a217fddf1162000123578063d547741f11620000ad578063ebd7dc521162000078578063ebd7dc521462000cfd578063f2fde38b1462000d22578063f86c5f891462000d47578063ff6409ef1462000d6a57600080fd5b8063d547741f1462000c7a578063d6d8428d1462000c9f578063d7050f071462000cc2578063db61d65c1462000cda57600080fd5b8063b64e39af11620000ee578063b64e39af1462000c0b578063b99b43701462000c32578063bc063e1a1462000c4a578063c6d572ae1462000c6257600080fd5b8063a217fddf1462000b51578063a230c5241462000b68578063b3f006741462000bd1578063b5058c501462000bf357600080fd5b806382d6a1e711620001a557806391d14854116200017057806391d148541462000a7557806396f0adec1462000abf57806397991cfa1462000ae4578063a0cf0aea1462000b2757600080fd5b806382d6a1e714620009a257806388cfe68414620009c75780638961be6b1462000a3d5780638da5cb5b1462000a5557600080fd5b8063733a2d1f11620001e6578063733a2d1f14620008e65780637817ee4f146200091c57806378a0b8a914620009675780637b103999146200097f57600080fd5b80636c53db9a1462000886578063715018a614620008a957806373265c3714620008c157600080fd5b80633396045911620003075780634f1ef286116200029d5780635ecf71c511620002685780635ecf71c514620007dc57806365e3864c14620008015780636871eb4d146200083e57806368decabb146200086357600080fd5b80634f1ef286146200076557806352d1902d146200077c578063559de05d14620007945780635c94e4d214620007b957600080fd5b80633659cfe611620002de5780633659cfe614620006a6578063397e254314620006cb5780633a871fe114620006f0578063477a5cc0146200072557600080fd5b80633396045914620006505780633517aa7d146200066957806336568abe146200068157600080fd5b8063223e547911620003895780632b38c69c11620003545780632b38c69c146200058a5780632c611c4a14620005c85780632f2ff15d146200060657806331f61bca146200062b57600080fd5b8063223e547914620004f457806322bcf9991462000519578063248a9ca3146200053e57806328c309e9146200057257600080fd5b80630d12bbdb11620003ca5780630d12bbdb14620004675780630d4a8b49146200048e578063175188e814620004b35780631f787d2814620004d857600080fd5b806301ffc9a714620003f45780630331383c146200042e57806308386eba146200044f575b600080fd5b3480156200040157600080fd5b50620004196200041336600462004b7e565b62000d8f565b60405190151581526020015b60405180910390f35b3480156200043b57600080fd5b5060fc545b60405190815260200162000425565b3480156200045c57600080fd5b506200044060fe5481565b3480156200047457600080fd5b506200048c6200048636600462004baa565b62000de0565b005b3480156200049b57600080fd5b506200048c620004ad36600462004bec565b62000e6f565b348015620004c057600080fd5b506200048c620004d236600462004c2a565b620011f7565b348015620004e557600080fd5b5060fb54620004199060ff1681565b3480156200050157600080fd5b506200048c6200051336600462004c2a565b6200120f565b3480156200052657600080fd5b506200048c6200053836600462004bec565b62001224565b3480156200054b57600080fd5b50620004406200055d36600462004baa565b600090815260c9602052604090206001015490565b3480156200057f57600080fd5b506200044062001340565b3480156200059757600080fd5b50620005af620005a936600462004c4a565b6200143e565b6040516001600160a01b03909116815260200162000425565b348015620005d557600080fd5b5062000440620005e736600462004c2a565b6001600160a01b0316600090815261010c602052604090206001015490565b3480156200061357600080fd5b506200048c6200062536600462004c79565b62001478565b3480156200063857600080fd5b506200048c6200064a36600462004baa565b620014a6565b3480156200065d57600080fd5b50620004406101025481565b3480156200067657600080fd5b506200048c620014e6565b3480156200068e57600080fd5b506200048c620006a036600462004c79565b62001922565b348015620006b357600080fd5b506200048c620006c536600462004c2a565b620019b6565b348015620006d857600080fd5b506200048c620006ea36600462004c2a565b62001b37565b348015620006fd57600080fd5b50620004196200070f36600462004c2a565b61010a6020526000908152604090205460ff1681565b3480156200073257600080fd5b50620004196200074436600462004bec565b61010e60209081526000928352604080842090915290825290205460ff1681565b6200048c6200077636600462004df9565b62001bab565b3480156200078957600080fd5b506200044062001d1c565b348015620007a157600080fd5b506200048c620007b336600462004baa565b62001de3565b348015620007c657600080fd5b5061010154620005af906001600160a01b031681565b348015620007e957600080fd5b506200048c620007fb36600462004baa565b620020e2565b3480156200080e57600080fd5b50620004406200082036600462004bec565b61010b60209081526000928352604080842090915290825290205481565b3480156200084b57600080fd5b506200048c6200085d36600462004bec565b620024d3565b3480156200087057600080fd5b5061010354620005af906001600160a01b031681565b3480156200089357600080fd5b5061010654620005af906001600160a01b031681565b348015620008b657600080fd5b506200048c620026ee565b348015620008ce57600080fd5b506200048c620008e036600462004baa565b62002704565b348015620008f357600080fd5b50620004407f03be538b6391ddcd7f2649585cc95b120c9e2a613f70714fbb55345057d809fa81565b3480156200092957600080fd5b50620004406200093b36600462004bec565b6001600160a01b03918216600090815261010b6020908152604080832093909416825291909152205490565b3480156200097457600080fd5b506200044060fc5481565b3480156200098c57600080fd5b5061010454620005af906001600160a01b031681565b348015620009af57600080fd5b506200048c620009c136600462004baa565b620027a0565b348015620009d457600080fd5b5062000a15620009e636600462004c2a565b61010c602052600090815260409020805460018201546002909201546001600160a01b03909116919060ff1683565b604080516001600160a01b039094168452602084019290925215159082015260600162000425565b34801562000a4a57600080fd5b506200044060fd5481565b34801562000a6257600080fd5b506033546001600160a01b0316620005af565b34801562000a8257600080fd5b506200041962000a9436600462004c79565b600091825260c9602090815260408084206001600160a01b0393909316845291905290205460ff1690565b34801562000acc57600080fd5b506200048c62000ade36600462004efb565b6200285e565b34801562000af157600080fd5b5062000b0962000b0336600462005187565b62002ef4565b604080519283526001600160a01b0390911660208301520162000425565b34801562000b3457600080fd5b50620005af73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b34801562000b5e57600080fd5b5062000440600081565b34801562000b7557600080fd5b506200041962000b8736600462004c2a565b6001600160a01b03908116600090815261010c60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff161515910181905290565b34801562000bde57600080fd5b5060ff54620005af906001600160a01b031681565b34801562000c0057600080fd5b506200048c62002fd9565b34801562000c1857600080fd5b5062000c2362003029565b60405162000425919062005246565b34801562000c3f57600080fd5b506200048c620030c0565b34801562000c5757600080fd5b506200044062003232565b34801562000c6f57600080fd5b5062000c2362003244565b34801562000c8757600080fd5b506200048c62000c9936600462004c79565b62003254565b34801562000cac57600080fd5b5061010754620005af906001600160a01b031681565b34801562000ccf57600080fd5b506200044061271081565b34801562000ce757600080fd5b5061010554620005af906001600160a01b031681565b34801562000d0a57600080fd5b506200041962000d1c36600462004c2a565b6200327d565b34801562000d2f57600080fd5b506200048c62000d4136600462004c2a565b620032be565b34801562000d5457600080fd5b5061010054620005af906001600160a01b031681565b34801562000d7757600080fd5b5062000b0962000d893660046200525b565b62003351565b60006001600160e01b031982167f7965db0b00000000000000000000000000000000000000000000000000000000148062000dda57506301ffc9a760e01b6001600160e01b03198316145b92915050565b62000dea620034de565b62000df9612710600a620052f1565b81111562000e33576040517ffe925f7d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60fd8190556040518181527f611668bfcf654a99c33cdb66c29ec37a5aae5c1287d2d9715a24e18cb4d806d6906020015b60405180910390a150565b62000e7a8262003547565b62000e8581620035ac565b62000e908162003600565b6001600160a01b03808316600090815261010e602090815260408083209385168352929052205460ff161562000ef2576040517fd5b9bc9600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b03808316600090815261010c602090815260409182902082516060810184528154909416845260018101549184018290526002015460ff1615159183019190915260fc546003846001600160a01b031663c32921716040518163ffffffff1660e01b81526004016020604051808303816000875af115801562000f80573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000fa6919062005321565b600381111562000fba5762000fba6200530b565b036200103e5760405163782aadff60e01b81526001600160a01b0386811660048301526000602483015285169063782aadff906044016020604051808303816000875af115801562001010573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001036919062005341565b90506200113a565b6000846001600160a01b031663c32921716040518163ffffffff1660e01b81526004016020604051808303816000875af115801562001081573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620010a7919062005321565b6003811115620010bb57620010bb6200530b565b146200113a5760405163782aadff60e01b81526001600160a01b0386811660048301526024820184905285169063782aadff906044016020604051808303816000875af115801562001111573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001137919062005341565b90505b6001600160a01b03858116600081815261010b6020908152604080832094891680845294825280832086905583835261010e82528083208584528252808320805460ff1916600190811790915584845261010d83528184208054918201815584529282902090920180546001600160a01b0319168517905581519283528201929092529081018290527ff56fa57e85e169a12200d12d9921ec069b52e688f6d309d9dab7bceff54614ec9060600160405180910390a15050505050565b62001201620034de565b6200120c8162003641565b50565b62001219620034de565b6200120c816200369f565b6200122f8262003547565b6200123a8162003600565b6200124633826200374a565b6001600160a01b03808316600090815261010e602090815260408083209385168352929052205460ff16620012a7576040517fc12369dc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b03808316600081815261010e60209081526040808320948616808452948252808320805460ff1916905592825261010b815282822093825292909252812055620012f9828262003796565b604080516001600160a01b038085168252831660208201527ede109bef4619f7e2cf00c8e5a50ca55f8deb44f87087eed414a91dbf8d1d1b91015b60405180910390a15050565b610100546000906001600160a01b031681620013606127106064620052f1565b60fd5460fc54620013729190620052f1565b6200137e91906200535b565b90506000620013916127106064620052f1565b6040516302a64b8360e21b81523060048201526001600160a01b03851690630a992e0c90602401602060405180830381865afa158015620013d6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620013fc919062005341565b60fc546200140b9190620052f1565b6200141791906200535b565b9050808260fc546200142a91906200537e565b6200143691906200537e565b935050505090565b61010d60205281600052604060002081815481106200145c57600080fd5b6000918252602090912001546001600160a01b03169150829050565b600082815260c960205260409020600101546200149581620038cc565b620014a18383620038d8565b505050565b620014b0620034de565b60fc8190556040518181527f5bcc2c453001fb0e2ba6266d56ecb411e7c6e15c8f9c3d301f93dd36ad25726f9060200162000e64565b620014f06200397c565b33600081815261010c602052604081206101005490916001600160a01b0390911690620015216127106064620052f1565b60fd5460fc54620015339190620052f1565b6200153f91906200535b565b90506000620015526127106064620052f1565b6040516302a64b8360e21b81523060048201526001600160a01b03851690630a992e0c90602401602060405180830381865afa15801562001597573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620015bd919062005341565b60fc54620015cc9190620052f1565b620015d891906200535b565b6001600160a01b03808716600090815261010c60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff1615159101819052909150620019105760028401805460ff1916600190811790915560fc549085015560408051808201909152600b81527f67617264656e546f6b656e0000000000000000000000000000000000000000006020820152610105546200168d91906001600160a01b0316620039d7565b620016c68530838560fc54620016a491906200537e565b620016b091906200537e565b610105546001600160a01b031692919062003a39565b620017076040518060400160405280601281526020017f636f6d6d756e697479466565416d6f756e7400000000000000000000000000008152508362003abf565b81156200177a5760408051808201909152600b81527f6665655265636569766572000000000000000000000000000000000000000000602082015260ff546200175a91906001600160a01b0316620039d7565b60ff54610105546200177a916001600160a01b0391821691168462003b21565b620017bb6040518060400160405280601081526020017f67617264656e73466565416d6f756e74000000000000000000000000000000008152508262003abf565b8015620018c9576200184b6040518060600160405280602681526020016200b9e060269139846001600160a01b031663987435be6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200181f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001845919062005394565b620039d7565b620018c9836001600160a01b031663987435be6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200188e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620018b4919062005394565b610105546001600160a01b0316908362003b21565b60fc54604080516001600160a01b038816815260208101929092527f67e0244e28040fec15240cd4b6c04c776a2a0278caef23b59e8ada1df31f7689910160405180910390a15b5050505050620019206001606555565b565b6001600160a01b0381163314620019a65760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201527f20726f6c657320666f722073656c66000000000000000000000000000000000060648201526084015b60405180910390fd5b620019b2828262003b5a565b5050565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016300362001a455760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b19195b1959d85d1958d85b1b60a21b60648201526084016200199d565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031662001aa17f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b6001600160a01b03161462001b0e5760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b6163746976652070726f787960a01b60648201526084016200199d565b62001b198162003bde565b604080516000808252602082019092526200120c9183919062003be8565b62001b41620034de565b62001b4c8162003600565b61010380546001600160a01b0319166001600160a01b03838116918217909255610106546040805191909316815260208101919091527f83eac9fdaff0ac1017624b7eddeb9782e3d707cd894073cb7e8301a41c6e5cf8910162000e64565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016300362001c3a5760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b19195b1959d85d1958d85b1b60a21b60648201526084016200199d565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031662001c967f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b6001600160a01b03161462001d035760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b6163746976652070726f787960a01b60648201526084016200199d565b62001d0e8262003bde565b620019b28282600162003be8565b6000306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161462001dbe5760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c000000000000000060648201526084016200199d565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc90565b62001ded6200397c565b62001df762003d94565b33600081815261010d602090815260408083208054825181850281018501909352808352919290919083018282801562001e5b57602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831162001e3c575b50505050509050600080600090505b8251811015620020425782818151811062001e895762001e89620053b4565b602090810291909101015160405163782aadff60e01b81526001600160a01b038681166004830152602482018890529091169063782aadff906044016020604051808303816000875af115801562001ee5573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001f0b919062005341565b915081156200202d576001600160a01b038416600090815261010b60205260408120845184929086908590811062001f475762001f47620053b4565b60200260200101516001600160a01b03166001600160a01b03168152602001908152602001600020600082825462001f8091906200537e565b925050819055506200202d6040518060400160405280600e81526020017f537472617465677920706f77657200000000000000000000000000000000000081525061010b6000876001600160a01b03166001600160a01b03168152602001908152602001600020600086858151811062001ffe5762001ffe620053b4565b60200260200101516001600160a01b03166001600160a01b031681526020019081526020016000205462003abf565b806200203981620053ca565b91505062001e6a565b50610105546200205e906001600160a01b031684308762003a39565b6001600160a01b038316600090815261010c6020526040812060010180548692906200208c9084906200537e565b9091555050604080516001600160a01b0385168152602081018690527f576605f9bfe8911e7508bed3763c7c5c8eb3b86e8b360b90a4bc6abe1104cb7f91015b60405180910390a15050506200120c6001606555565b620020ec6200397c565b620020f662003d94565b33600081815261010d6020908152604080832060fc5461010c90935290832060010154909291906200212a908690620053e6565b101562002163576040517f9c47d02e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610105546200217d906001600160a01b0316848662003b21565b60005b82548110156200245f576000838281548110620021a157620021a1620053b4565b6000918252602090912001546001600160a01b03169050620021cb8163f1801e6160e01b62003df5565b1562002383576040517f2ed04b2b0000000000000000000000000000000000000000000000000000000081526001600160a01b03868116600483015260248201889052821690632ed04b2b906044016020604051808303816000875af11580156200223a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002260919062005341565b9250600061010b6000876001600160a01b03166001600160a01b031681526020019081526020016000206000868581548110620022a157620022a1620053b4565b60009182526020808320909101546001600160a01b031683528201929092526040019020549050808411156200230e576040517f8a11f31800000000000000000000000000000000000000000000000000000000815260048101859052602481018290526044016200199d565b6001600160a01b038616600090815261010b602052604081208654869290889087908110620023415762002341620053b4565b60009182526020808320909101546001600160a01b031683528201929092526040018120805490919062002377908490620053e6565b90915550505062002449565b835484906200239590600190620053e6565b81548110620023a857620023a8620053b4565b9060005260206000200160009054906101000a90046001600160a01b0316848381548110620023db57620023db620053b4565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b03160217905550838054806200241c576200241c620053fc565b600082815260209020810160001990810180546001600160a01b0319169055019055620024498162003641565b50806200245681620053ca565b91505062002180565b506001600160a01b038316600090815261010c6020526040812060010180548692906200248e908490620053e6565b9091555050604080516001600160a01b0385168152602081018690527f6ee2c70b2d6b89ae808a2313aab43e925c06624271419cd665d85cfa1ae04ff89101620020cc565b620024dd6200397c565b620024e7620034de565b60fb5460ff1662002524576040517fcb63dc7200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b03808316600090815261010c60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff16151591018190526200258957604051636a5cfb6d60e01b815260040160405180910390fd5b6001600160a01b03808316600090815261010c60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff16151590820152620025da8362003e1d565b6001600160a01b03838116600090815261010c6020908152604080832080546001600160a01b031916815560018101939093556002909201805460ff191690556101055490840151915163a9059cbb60e01b8152858416600482015260248101929092529091169063a9059cbb906044016020604051808303816000875af11580156200266b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002691919062005412565b50602080820151604080516001600160a01b0380881682528616938101939093528201527fb5946f249f8744efe9d14d49a483b54a589b1362944ff6694de93456cceb96a39060600160405180910390a150620019b26001606555565b620026f862003f4b565b62001920600062003fa7565b6200270e620034de565b6101075460405163068bcd8d60e01b8152600481018390526000916001600160a01b03169063068bcd8d90602401600060405180830381865afa1580156200275a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405262002784919081019062005432565b602001519050620027958162003600565b620019b28162003641565b620027aa620034de565b6101075460405163068bcd8d60e01b8152600481018390526000916001600160a01b03169063068bcd8d90602401600060405180830381865afa158015620027f6573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405262002820919081019062005432565b602001519050620028318162003600565b6200284d6001600160a01b03821663f1801e6160e01b62003df5565b15620019b257620019b2816200369f565b600054610100900460ff16158080156200287f5750600054600160ff909116105b806200289b5750303b1580156200289b575060005460ff166001145b6200290f5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084016200199d565b6000805460ff19166001179055801562002933576000805461ff0019166101001790555b6200293d62003ff9565b6200294762004070565b62002951620040e7565b6200297e7f03be538b6391ddcd7f2649585cc95b120c9e2a613f70714fbb55345057d809fa600062004154565b6200298d826020015162003600565b6200299d82610100015162003600565b8151620029aa9062003600565b620029b98260a0015162003600565b620029c982610180015162003600565b606082015115620029e357620029e38260c0015162003600565b815161010780546001600160a01b039283166001600160a01b03199182161790915560208401516101058054919093169116179055604082015160000362002a57576040517fc70d18aa00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604082015160fc55606082015160fd5561014082015160fb805460ff19169115159190911790556101208201516101089062002a949082620055f7565b506101608201516101099062002aab9082620055f7565b5060a082015161010080546001600160a01b03199081166001600160a01b0393841617825560c085015160ff8054831691851691909117905590840151610106805483168285161790556101808501516101018054909316931692909217905562002b38907f03be538b6391ddcd7f2649585cc95b120c9e2a613f70714fbb55345057d809fa90620038d8565b61010760009054906101000a90046001600160a01b03166001600160a01b0316635ab1bd536040518163ffffffff1660e01b8152600401602060405180830381865afa15801562002b8d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002bb3919062005394565b61010480546001600160a01b0319166001600160a01b0392831617905561010654604080517fa0e67e2b0000000000000000000000000000000000000000000000000000000081529051600093929092169163a0e67e2b9160048082019286929091908290030181865afa15801562002c30573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405262002c5a9190810190620056c4565b905060008151600262002c6e91906200537e565b67ffffffffffffffff81111562002c895762002c8962004ca1565b60405190808252806020026020018201604052801562002cb3578160200160208202803683370190505b50905060005b825181101562002d225782818151811062002cd85762002cd8620053b4565b602002602001015182828151811062002cf55762002cf5620053b4565b6001600160a01b03909216602092830291909101909101528062002d1981620053ca565b91505062002cb9565b506101065481516001600160a01b0390911690829062002d4590600190620053e6565b8151811062002d585762002d58620053b4565b60200260200101906001600160a01b031690816001600160a01b03168152505030816002835162002d8a9190620053e6565b8151811062002d9d5762002d9d620053b4565b6001600160a01b03928316602091820292909201015261010454608086015160e08701516040517f3a92f65f0000000000000000000000000000000000000000000000000000000081529290931692633a92f65f9262002e09929161010891309088906004016200586f565b6020604051808303816000875af115801562002e29573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002e4f919062005341565b60fe55805162002e689061010f90602084019062004ac6565b507f2f2ffcb06f8a1d35e2716f6b43ef2c19bfa76467d8f66964ae12c2583ed0320560fe546101088660e0015160405162002ea693929190620058c3565b60405180910390a150508015620019b2576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200162001334565b600080600060405162002f079062004b30565b604051809103906000f08015801562002f24573d6000803e3d6000fd5b5061010754604080516001600160a01b0390921660248084019190915281518084039091018152604490920181526020820180516001600160e01b03167f19ab453c000000000000000000000000000000000000000000000000000000001790525162002f919062004b3e565b62002f9e929190620058f2565b604051809103906000f08015801562002fbb573d6000803e3d6000fd5b50905062002fcc8187878762003351565b9250925050935093915050565b610103546001600160a01b031633146200301f576040517febcd0d6e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b620019206200419f565b6101098054620030399062005569565b80601f0160208091040260200160405190810160405280929190818152602001828054620030679062005569565b8015620030b85780601f106200308c57610100808354040283529160200191620030b8565b820191906000526020600020905b8154815290600101906020018083116200309a57829003601f168201915b505050505081565b620030ca6200397c565b33620030d68162003547565b620030e18162003e1d565b6001600160a01b03808216600081815261010c602090815260408083208151606081018352815496871681526001820180548286015260028301805460ff81161515848701529787526001600160a01b03199098169092559084905560ff1990941690945561010d905291822090916200315c919062004b4c565b61010554602082015160405163a9059cbb60e01b81526001600160a01b038581166004830152602482019290925291169063a9059cbb906044016020604051808303816000875af1158015620031b6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620031dc919062005412565b50602080820151604080516001600160a01b0386168152928301919091527fa13f4668aacb68c4e9eed8e3f6e1cbec3eca776896ec46b5eabcc3983fc8f5f4910160405180910390a15050620019206001606555565b62003241612710600a620052f1565b81565b6101088054620030399062005569565b600082815260c960205260409020600101546200327181620038cc565b620014a1838362003b5a565b6001600160a01b03811660009081527fa867e09674d469ee17077111ff66261f5d2fc5820cc6914676cb47231da58818602052604081205460ff1662000dda565b620032c862003f4b565b6001600160a01b038116620033465760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084016200199d565b6200120c8162003fa7565b60008073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6001600160a01b038616156200337c5750845b869150600061010f805480602002602001604051908101604052809291908181526020018280548015620033da57602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311620033bb575b50506101075460fe546040519596506001600160a01b039091169463e1007d4a945090925087915062003412908b906020016200592d565b6040516020818303038152906040528660008b886040518863ffffffff1660e01b81526004016200344a9796959493929190620059cb565b6020604051808303816000875af11580156200346a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062003490919062005341565b93507f778cac0ae0b66477341553a4a89398c61ccf448313d3354ad0ca85a5a825d2838484308a89604051620034cb95949392919062005a3d565b60405180910390a1505094509492505050565b3360009081527fa867e09674d469ee17077111ff66261f5d2fc5820cc6914676cb47231da58818602052604090205460ff1662001920576040517ff62651fa00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b03808216600090815261010c60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff16151591018190526200120c57604051636a5cfb6d60e01b815260040160405180910390fd5b6001600160a01b038116600090815261010a602052604090205460ff166200120c576040517f46c26e4b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0381166200120c576040517fe622e04000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6200364c8162003600565b6001600160a01b038116600081815261010a6020908152604091829020805460ff1916905590519182527f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea4910162000e64565b6001600160a01b038116600090815261010a602052604090205460ff1615620036f4576040517f968a4d2c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038116600081815261010a6020908152604091829020805460ff1916600117905590519182527f3f008fd510eae7a9e7bee13513d7b83bef8003d488b5a3d0b0da4de71d6846f1910162000e64565b806001600160a01b0316826001600160a01b031614620019b2576040517fbbe7961100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038216600090815261010d60205260408120905b8154811015620038c657826001600160a01b0316828281548110620037da57620037da620053b4565b6000918252602090912001546001600160a01b031603620038b157815482906200380790600190620053e6565b815481106200381a576200381a620053b4565b9060005260206000200160009054906101000a90046001600160a01b03168282815481106200384d576200384d620053b4565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b03160217905550818054806200388e576200388e620053fc565b600082815260209020810160001990810180546001600160a01b03191690550190555b80620038bd81620053ca565b915050620037b1565b50505050565b6200120c8133620041fc565b600082815260c9602090815260408083206001600160a01b038516845290915290205460ff16620019b257600082815260c9602090815260408083206001600160a01b03851684529091529020805460ff19166001179055620039383390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b600260655403620039d05760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064016200199d565b6002606555565b620019b28282604051602401620039f092919062005a79565b60408051601f198184030181529190526020810180516001600160e01b03167f319af333000000000000000000000000000000000000000000000000000000001790526200427a565b6040516001600160a01b0380851660248301528316604482015260648101829052620038c69085907f23b872dd00000000000000000000000000000000000000000000000000000000906084015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091526200429b565b620019b2828260405160240162003ad892919062005aa6565b60408051601f198184030181529190526020810180516001600160e01b03167f9710a9d0000000000000000000000000000000000000000000000000000000001790526200427a565b6040516001600160a01b038316602482015260448101829052620014a190849063a9059cbb60e01b9060640162003a87565b6001606555565b600082815260c9602090815260408083206001600160a01b038516845290915290205460ff1615620019b257600082815260c9602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b6200120c62003f4b565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff161562003c1e57620014a1836200438a565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa92505050801562003c7b575060408051601f3d908101601f1916820190925262003c789181019062005341565b60015b62003cef5760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201527f6f6e206973206e6f74205555505300000000000000000000000000000000000060648201526084016200199d565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc811462003d865760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f7860448201527f6961626c6555554944000000000000000000000000000000000000000000000060648201526084016200199d565b50620014a18383836200444a565b33600090815261010c6020908152604091829020825160608101845281546001600160a01b031681526001820154928101929092526002015460ff16151591018190526200192057604051636a5cfb6d60e01b815260040160405180910390fd5b600062003e028362004475565b801562003e16575062003e168383620044ad565b9392505050565b6001600160a01b038116600090815261010d602090815260408083208054825181850281018501909352808352919290919083018282801562003e8a57602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831162003e6b575b5050505050905060005b8151811015620014a15781818151811062003eb35762003eb3620053b4565b60209081029190910101516040517f6453d9c40000000000000000000000000000000000000000000000000000000081526001600160a01b03858116600483015290911690636453d9c490602401600060405180830381600087803b15801562003f1c57600080fd5b505af115801562003f31573d6000803e3d6000fd5b50505050808062003f4290620053ca565b91505062003e94565b6033546001600160a01b03163314620019205760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016200199d565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600054610100900460ff16620040665760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b60648201526084016200199d565b6200192062004538565b600054610100900460ff16620040dd5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b60648201526084016200199d565b62001920620045b0565b600054610100900460ff16620019205760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b60648201526084016200199d565b600082815260c96020526040808220600101805490849055905190918391839186917fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff9190a4505050565b610103805461010680546001600160a01b0383166001600160a01b031991821617909155169055604051600081527fad0399dc40331b9a4977aa89da7a164a3fd482c65e6da73b25a94ea74fb688729060200160405180910390a1565b600082815260c9602090815260408083206001600160a01b038516845290915290205460ff16620019b25762004232816200461d565b6200423f83602062004630565b6040516020016200425292919062005aca565b60408051601f198184030181529082905262461bcd60e51b82526200199d9160040162005246565b80516a636f6e736f6c652e6c6f67602083016000808483855afa5050505050565b6000620042f2826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166200482f9092919063ffffffff16565b90508051600014806200431657508080602001905181019062004316919062005412565b620014a15760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f7420737563636565640000000000000000000000000000000000000000000060648201526084016200199d565b6001600160a01b0381163b620044095760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201527f6f74206120636f6e74726163740000000000000000000000000000000000000060648201526084016200199d565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b620044558362004848565b600082511180620044635750805b15620014a157620038c683836200488a565b60006200448a826301ffc9a760e01b620044ad565b801562000dda5750620044a6826001600160e01b0319620044ad565b1592915050565b604080516001600160e01b03198316602480830191909152825180830390910181526044909101909152602080820180516001600160e01b03166301ffc9a760e01b178152825160009392849283928392918391908a617530fa92503d9150600051905082801562004520575060208210155b80156200452d5750600081115b979650505050505050565b600054610100900460ff16620045a55760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b60648201526084016200199d565b620019203362003fa7565b600054610100900460ff1662003b535760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b60648201526084016200199d565b606062000dda6001600160a01b03831660145b6060600062004641836002620052f1565b6200464e9060026200537e565b67ffffffffffffffff81111562004669576200466962004ca1565b6040519080825280601f01601f19166020018201604052801562004694576020820181803683370190505b5090507f300000000000000000000000000000000000000000000000000000000000000081600081518110620046ce57620046ce620053b4565b60200101906001600160f81b031916908160001a9053507f7800000000000000000000000000000000000000000000000000000000000000816001815181106200471c576200471c620053b4565b60200101906001600160f81b031916908160001a905350600062004742846002620052f1565b6200474f9060016200537e565b90505b6001811115620047de577f303132333435363738396162636465660000000000000000000000000000000085600f1660108110620047945762004794620053b4565b1a60f81b828281518110620047ad57620047ad620053b4565b60200101906001600160f81b031916908160001a90535060049490941c93620047d68162005b4f565b905062004752565b50831562003e165760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e7460448201526064016200199d565b6060620048408484600085620048b2565b949350505050565b62004853816200438a565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b606062003e1683836040518060600160405280602781526020016200ba0660279139620049a1565b6060824710156200492c5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c000000000000000000000000000000000000000000000000000060648201526084016200199d565b600080866001600160a01b031685876040516200494a919062005b69565b60006040518083038185875af1925050503d806000811462004989576040519150601f19603f3d011682016040523d82523d6000602084013e6200498e565b606091505b50915091506200452d8783838762004a1f565b6060600080856001600160a01b031685604051620049c0919062005b69565b600060405180830381855af49150503d8060008114620049fd576040519150601f19603f3d011682016040523d82523d6000602084013e62004a02565b606091505b509150915062004a158683838762004a1f565b9695505050505050565b6060831562004a9357825160000362004a8b576001600160a01b0385163b62004a8b5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016200199d565b508162004840565b62004840838381511562004aaa5781518083602001fd5b8060405162461bcd60e51b81526004016200199d919062005246565b82805482825590600052602060002090810192821562004b1e579160200282015b8281111562004b1e57825182546001600160a01b0319166001600160a01b0390911617825560209092019160019091019062004ae7565b5062004b2c92915062004b67565b5090565b61596a8062005b8883390190565b6104ee806200b4f283390190565b50805460008255906000526020600020908101906200120c91905b5b8082111562004b2c576000815560010162004b68565b60006020828403121562004b9157600080fd5b81356001600160e01b03198116811462003e1657600080fd5b60006020828403121562004bbd57600080fd5b5035919050565b6001600160a01b03811681146200120c57600080fd5b803562004be78162004bc4565b919050565b6000806040838503121562004c0057600080fd5b823562004c0d8162004bc4565b9150602083013562004c1f8162004bc4565b809150509250929050565b60006020828403121562004c3d57600080fd5b813562003e168162004bc4565b6000806040838503121562004c5e57600080fd5b823562004c6b8162004bc4565b946020939093013593505050565b6000806040838503121562004c8d57600080fd5b82359150602083013562004c1f8162004bc4565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff8111828210171562004cdd5762004cdd62004ca1565b60405290565b6040516101a0810167ffffffffffffffff8111828210171562004cdd5762004cdd62004ca1565b604051610120810167ffffffffffffffff8111828210171562004cdd5762004cdd62004ca1565b60405160c0810167ffffffffffffffff8111828210171562004cdd5762004cdd62004ca1565b604051601f8201601f1916810167ffffffffffffffff8111828210171562004d835762004d8362004ca1565b604052919050565b600067ffffffffffffffff82111562004da85762004da862004ca1565b50601f01601f191660200190565b600062004dcd62004dc78462004d8b565b62004d57565b905082815283838301111562004de257600080fd5b828260208301376000602084830101529392505050565b6000806040838503121562004e0d57600080fd5b823562004e1a8162004bc4565b9150602083013567ffffffffffffffff81111562004e3757600080fd5b8301601f8101851362004e4957600080fd5b62004e5a8582356020840162004db6565b9150509250929050565b600082601f83011262004e7657600080fd5b62003e168383356020850162004db6565b60006040828403121562004e9a57600080fd5b62004ea462004cb7565b905081358152602082013567ffffffffffffffff81111562004ec557600080fd5b62004ed38482850162004e64565b60208301525092915050565b80151581146200120c57600080fd5b803562004be78162004edf565b60006020828403121562004f0e57600080fd5b813567ffffffffffffffff8082111562004f2757600080fd5b908301906101a0828603121562004f3d57600080fd5b62004f4762004ce3565b62004f528362004bda565b815262004f626020840162004bda565b602082015260408301356040820152606083013560608201526080830135608082015262004f9360a0840162004bda565b60a082015262004fa660c0840162004bda565b60c082015260e08301358281111562004fbe57600080fd5b62004fcc8782860162004e87565b60e08301525061010062004fe281850162004bda565b90820152610120838101358381111562004ffb57600080fd5b620050098882870162004e64565b8284015250506101406200501f81850162004eee565b9082015261016083810135838111156200503857600080fd5b620050468882870162004e64565b82840152505061018091506200505e82840162004bda565b91810191909152949350505050565b80356003811062004be757600080fd5b600481106200120c57600080fd5b803562004be7816200507d565b600060208284031215620050ab57600080fd5b6040516020810181811067ffffffffffffffff82111715620050d157620050d162004ca1565b6040529135825250919050565b60006101208284031215620050f257600080fd5b620050fc62004d0a565b9050620051098262004bda565b8152602082013560208201526040820135604082015260608201356060820152608082013560808201526200514160a083016200506d565b60a08201526200515460c083016200508b565b60c0820152620051688360e0840162005098565b60e08201526101006200517d81840162004bda565b9082015292915050565b600080600061016084860312156200519e57600080fd5b8335620051ab8162004bc4565b9250620051bc8560208601620050de565b915061014084013567ffffffffffffffff811115620051da57600080fd5b620051e88682870162004e87565b9150509250925092565b60005b838110156200520f578181015183820152602001620051f5565b50506000910152565b6000815180845262005232816020860160208601620051f2565b601f01601f19169290920160200192915050565b60208152600062003e16602083018462005218565b60008060008061018085870312156200527357600080fd5b8435620052808162004bc4565b93506020850135620052928162004bc4565b9250620052a38660408701620050de565b915061016085013567ffffffffffffffff811115620052c157600080fd5b620052cf8782880162004e87565b91505092959194509250565b634e487b7160e01b600052601160045260246000fd5b808202811582820484141762000dda5762000dda620052db565b634e487b7160e01b600052602160045260246000fd5b6000602082840312156200533457600080fd5b815162003e16816200507d565b6000602082840312156200535457600080fd5b5051919050565b6000826200537957634e487b7160e01b600052601260045260246000fd5b500490565b8082018082111562000dda5762000dda620052db565b600060208284031215620053a757600080fd5b815162003e168162004bc4565b634e487b7160e01b600052603260045260246000fd5b600060018201620053df57620053df620052db565b5060010190565b8181038181111562000dda5762000dda620052db565b634e487b7160e01b600052603160045260246000fd5b6000602082840312156200542557600080fd5b815162003e168162004edf565b600060208083850312156200544657600080fd5b825167ffffffffffffffff808211156200545f57600080fd5b9084019060c082870312156200547457600080fd5b6200547e62004d31565b8251815283830151620054918162004bc4565b818501526040830151620054a58162004bc4565b6040820152606083015182811115620054bd57600080fd5b830160408189031215620054d057600080fd5b620054da62004cb7565b815181528582015184811115620054f057600080fd5b82019350601f840189136200550457600080fd5b835191506200551762004dc78362004d8b565b82815289878487010111156200552c57600080fd5b6200553d83888301898801620051f2565b95810195909552506060810193909352506080818101519083015260a090810151908201529392505050565b600181811c908216806200557e57607f821691505b6020821081036200559f57634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620014a157600081815260208120601f850160051c81016020861015620055ce5750805b601f850160051c820191505b81811015620055ef57828155600101620055da565b505050505050565b815167ffffffffffffffff81111562005614576200561462004ca1565b6200562c8162005625845462005569565b84620055a5565b602080601f8311600181146200566457600084156200564b5750858301515b600019600386901b1c1916600185901b178555620055ef565b600085815260208120601f198616915b82811015620056955788860151825594840194600190910190840162005674565b5085821015620056b45787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60006020808385031215620056d857600080fd5b825167ffffffffffffffff80821115620056f157600080fd5b818501915085601f8301126200570657600080fd5b8151818111156200571b576200571b62004ca1565b8060051b91506200572e84830162004d57565b81815291830184019184810190888411156200574957600080fd5b938501935b83851015620057775784519250620057668362004bc4565b82825293850193908501906200574e565b98975050505050505050565b60008154620057928162005569565b808552602060018381168015620057b25760018114620057cd57620057fd565b60ff1985168884015283151560051b880183019550620057fd565b866000528260002060005b85811015620057f55781548a8201860152908301908401620057d8565b890184019650505b505050505092915050565b80518252600060208201516040602085015262004840604085018262005218565b600081518084526020808501945080840160005b83811015620058645781516001600160a01b0316875295820195908201906001016200583d565b509495945050505050565b85815260a0602082015260006200588a60a083018762005783565b82810360408401526200589e818762005808565b90506001600160a01b0385166060840152828103608084015262005777818562005829565b838152606060208201526000620058de606083018562005783565b828103604084015262004a15818562005808565b6001600160a01b038316815260406020820152600062004840604083018462005218565b600481106200592957620059296200530b565b9052565b6000610120820190506001600160a01b0383511682526020830151602083015260408301516040830152606083015160608301526080830151608083015260a0830151600381106200598357620059836200530b565b8060a08401525060c08301516200599e60c084018262005916565b5060e0830151620059b260e0840182519052565b50610100928301516001600160a01b0316919092015290565b87815260006001600160a01b03808916602084015260e06040840152620059f660e084018962005218565b818816606085015286608085015283810360a085015262005a18818762005808565b91505082810360c084015262005a2f818562005829565b9a9950505050505050505050565b85815260006001600160a01b038087166020840152808616604084015280851660608401525060a060808301526200452d60a083018462005808565b60408152600062005a8e604083018562005218565b90506001600160a01b03831660208301529392505050565b60408152600062005abb604083018562005218565b90508260208301529392505050565b7f416363657373436f6e74726f6c3a206163636f756e742000000000000000000081526000835162005b04816017850160208801620051f2565b7f206973206d697373696e6720726f6c6520000000000000000000000000000000601791840191820152835162005b43816028840160208801620051f2565b01602801949350505050565b60008162005b615762005b61620052db565b506000190190565b6000825162005b7d818460208701620051f2565b919091019291505056fe60a0604052306080526000606d81905560705534801561001e57600080fd5b506080516159136200005760003960008181611231015281816112b6015281816113b70152818161143c015261152201526159136000f3fe6080604052600436106103c75760003560e01c806376365af7116101f2578063b5f620ce11610119578063e0dd2c38116100b2578063ef2920fc11610084578063f321b3051161006c578063f321b30514610b89578063f5b0dfb714610ba9578063fc1711f214610bc957005b8063ef2920fc14610b56578063f2fde38b14610b6957005b8063e0dd2c3814610ac9578063e33add9314610ae9578063eb11af9314610b09578063edd146cc14610b3657005b8063c7f758a8116100eb578063c7f758a814610a39578063d1e3623214610a6f578063dc96ff2d14610a84578063df868ed314610ab457005b8063b5f620ce146109a6578063b6c61f31146109c6578063bcc5b93b146109e6578063c329217114610a1c57005b8063950559d71161018b578063a574cea41161015d578063a574cea414610916578063aba9ffee14610943578063ac1ed7b914610959578063b2b878d01461097957005b8063950559d7146108a1578063a0cf0aea146108c1578063a1aab33f146108e9578063a47ff7e5146108ff57005b8063817b1cd2116101c4578063817b1cd21461082d578063824ea8ed14610843578063868c57b8146108635780638da5cb5b1461088357005b806376365af7146107cc578063782aadff146107e25780637c6570ba14610802578063814516ad1461081857005b8063346db8cb116102ee5780634f1ef286116102875780635db64b99116102595780636453d9c4116102415780636453d9c41461077757806369fa25c414610797578063715018a6146107b757005b80635db64b991461072a5780636003e4141461075757005b80634f1ef286146106cc57806352d1902d146106df57806354fac919146106f457806359a5db8b1461070a57005b8063406244d8116102c0578063406244d81461066d57806342fda9c7146106825780634ab4ba42146106975780634d31d087146106ac57005b8063346db8cb146105f1578063351d9f96146106115780633659cfe61461063857806338fff2d01461065857005b806315cc481e116103605780632bbe0cae116103325780632bbe0cae146105725780632cefadbb146105855780632dbd6fdd146105a55780632ed04b2b146105d157005b806315cc481e146104eb57806319ab453c1461051d5780631aa91a9e1461053d5780631ddf1e231461055d57005b80630ba95909116103995780630ba959091461047f5780630c0512e91461049e5780630f529ba2146104b457806311f22ae3146104cb57005b8063013cf08b146103d057806301ffc9a71461040f578063058aca441461043f5780630a6f0ee91461045f57005b366103ce57005b005b3480156103dc57600080fd5b506103f06103eb36600461481d565b610be9565b6040516104069a999897969594939291906148cf565b60405180910390f35b34801561041b57600080fd5b5061042f61042a366004614942565b610cf7565b6040519015158152602001610406565b34801561044b57600080fd5b506103ce61045a366004614999565b610d90565b34801561046b57600080fd5b506103ce61047a366004614ba9565b610df0565b34801561048b57600080fd5b506073545b604051908152602001610406565b3480156104aa57600080fd5b50610490606d5481565b3480156104c057600080fd5b506104906298968081565b3480156104d757600080fd5b506103ce6104e636600461481d565b610e10565b3480156104f757600080fd5b506065546001600160a01b03165b6040516001600160a01b039091168152602001610406565b34801561052957600080fd5b506103ce610538366004614999565b610e4f565b34801561054957600080fd5b5061049061055836600461481d565b610fb0565b34801561056957600080fd5b506103ce611036565b610505610580366004614c21565b611041565b34801561059157600080fd5b506103ce6105a036600461481d565b611064565b3480156105b157600080fd5b506072546105c490610100900460ff1681565b6040516104069190614c83565b3480156105dd57600080fd5b506104906105ec366004614c91565b6110b0565b3480156105fd57600080fd5b5061049061060c366004614cbd565b611182565b34801561061d57600080fd5b5060725461062b9060ff1681565b6040516104069190614cf9565b34801561064457600080fd5b506103ce610653366004614999565b611227565b34801561066457600080fd5b50606854610490565b34801561067957600080fd5b50610490600a81565b34801561068e57600080fd5b50606654610490565b3480156106a357600080fd5b50606954610490565b3480156106b857600080fd5b5061042f6106c7366004614999565b6113a2565b6103ce6106da366004614d07565b6113ad565b3480156106eb57600080fd5b50610490611515565b34801561070057600080fd5b50610490606a5481565b34801561071657600080fd5b5061049061072536600461481d565b6115da565b34801561073657600080fd5b50610490610745366004614999565b60776020526000908152604090205481565b34801561076357600080fd5b50607454610505906001600160a01b031681565b34801561078357600080fd5b506103ce610792366004614999565b611717565b3480156107a357600080fd5b506103ce6107b236600461481d565b611728565b3480156107c357600080fd5b506103ce611767565b3480156107d857600080fd5b50610490606b5481565b3480156107ee57600080fd5b506104906107fd366004614c91565b611779565b34801561080e57600080fd5b5061049060705481565b34801561082457600080fd5b506103ce61191b565b34801561083957600080fd5b50610490606e5481565b34801561084f57600080fd5b5061042f61085e36600461481d565b611a4d565b34801561086f57600080fd5b5061049061087e366004614c91565b611aaa565b34801561088f57600080fd5b506033546001600160a01b0316610505565b3480156108ad57600080fd5b506104906108bc36600461481d565b611adb565b3480156108cd57600080fd5b5061050573eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b3480156108f557600080fd5b50610490606c5481565b34801561090b57600080fd5b506073546104909081565b34801561092257600080fd5b5061093661093136600461481d565b611b05565b6040516104069190614d57565b34801561094f57600080fd5b50610490606f5481565b34801561096557600080fd5b506103ce610974366004614999565b611be4565b34801561098557600080fd5b50610999610994366004614d6a565b611cc5565b6040516104069190614e3f565b3480156109b257600080fd5b506103ce6109c1366004614ea5565b611ce0565b3480156109d257600080fd5b50607554610505906001600160a01b031681565b3480156109f257600080fd5b50610490610a01366004614999565b6001600160a01b031660009081526077602052604090205490565b348015610a2857600080fd5b50607254610100900460ff166105c4565b348015610a4557600080fd5b50610a59610a5436600461481d565b611ce9565b6040516104069a99989796959493929190614ec2565b348015610a7b57600080fd5b50606f54610490565b348015610a9057600080fd5b50610490610a9f36600461481d565b60009081526076602052604090206002015490565b348015610ac057600080fd5b5061042f611deb565b348015610ad557600080fd5b50610490610ae4366004614f27565b611dfe565b348015610af557600080fd5b506103ce610b04366004614f4c565b611e29565b348015610b1557600080fd5b50610b29610b24366004614999565b611e42565b6040516104069190614ff7565b348015610b4257600080fd5b506103ce610b51366004615011565b611e4d565b6103ce610b64366004614c21565b611f9b565b348015610b7557600080fd5b506103ce610b84366004614999565b611fb5565b348015610b9557600080fd5b506103ce610ba4366004615042565b612042565b348015610bb557600080fd5b506103ce610bc436600461481d565b61208d565b348015610bd557600080fd5b506103ce610be436600461481d565b6120b6565b6076602090815260009182526040918290208054600182015460028301546003840154600485015460058601546006870154600788015460088901548b51808d01909c52600a8a0180548d52600b8b0180549a9d999c989b979a6001600160a01b039788169a968816999790951697939660ff9093169593949192840191610c709061509c565b80601f0160208091040260200160405190810160405280929190818152602001828054610c9c9061509c565b8015610ce95780601f10610cbe57610100808354040283529160200191610ce9565b820191906000526020600020905b815481529060010190602001808311610ccc57829003601f168201915b50505050508152505090508a565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167ff1801e61000000000000000000000000000000000000000000000000000000001480610d8a57507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b33610d9a816120f5565b607480546001600160a01b0319166001600160a01b0384169081179091556040519081527fd6ceddf6d2a22f21c7c81675c518004eff43bc5c8a6fc32a0b748e69d58671cd906020015b60405180910390a15050565b610df86121a4565b610e006121cf565b610e0b83838361220b565b505050565b33610e1a816120f5565b606b8290556040518281527f08e39b387d1f739ce0d2553bb31822392e3f67c62c6c0a215120ab4a6841a8ab90602001610de4565b600054610100900460ff1615808015610e6f5750600054600160ff909116105b80610e895750303b158015610e89575060005460ff166001145b610f005760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084015b60405180910390fd5b6000805460ff191660011790558015610f23576000805461ff0019166101001790555b610f62826040518060400160405280600a81526020017f4356537472617465677900000000000000000000000000000000000000000000815250612042565b610f6a61251f565b8015610fac576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249890602001610de4565b5050565b600081815260766020526040812080548314610fe25760405163c1d17bef60e01b815260048101849052602401610ef7565b6001600882015460ff166004811115610ffd57610ffd614836565b1461101e576040516344980d8f60e01b815260048101849052602401610ef7565b61102c818260020154612592565b6003015492915050565b61103f336125cd565b565b600061104b6121a4565b6110536121cf565b61105d838361271e565b9392505050565b3361106e816120f5565b60705460408051918252602082018490527f056aedca4e334b6c4bea48715fb0de644811b740894de57a0380d3eb90f2805b910160405180910390a150607055565b60006110ba612a70565b60006002607254610100900460ff1660038111156110da576110da614836565b148061110157506001607254610100900460ff1660038111156110ff576110ff614836565b145b1561110d57508161111a565b6111178484612ab4565b90505b80606f600082825461112c91906150e6565b9091555050604080516001600160a01b0386168152602081018590529081018290527f70b752f3fadb6ac131c0ece847fcbb6994ec56ed6411595710fd9b29c6ac6cc19060600160405180910390a19392505050565b60008084905060006111a8629896806080606a54901b6111a2919061510f565b83612d78565b905060806f80000000000000000000000000000000606a54629896806111ce91906150e6565b6111dc84600160801b6150e6565b6111e96298968089615131565b6111f39190615131565b6111fd919061510f565b6112078885615131565b6112119190615148565b61121b9190615148565b901c9695505050505050565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036112b45760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b19195b1959d85d1958d85b1b60a21b6064820152608401610ef7565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661130f7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b6001600160a01b03161461137a5760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b6163746976652070726f787960a01b6064820152608401610ef7565b61138381612e21565b6040805160008082526020820190925261139f91839190612e29565b50565b6000610d8a82612fc9565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016300361143a5760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b19195b1959d85d1958d85b1b60a21b6064820152608401610ef7565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166114957f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b6001600160a01b0316146115005760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b6163746976652070726f787960a01b6064820152608401610ef7565b61150982612e21565b610fac82826001612e29565b6000306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146115b55760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c00000000000000006064820152608401610ef7565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc90565b60008060695411611617576040517fed4421ad00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61162082612fe9565b1561163e57604051630efd728560e21b815260040160405180910390fd5b6069546000906116578468010000000000000000615131565b611661919061510f565b62989680606b546801000000000000000061167c9190615131565b611686919061510f565b61169091906150e6565b9050604061169d606f5490565b606a546116ad90629896806150e6565b6298968060406116bd8680615131565b901c629896806080606c54901b6116d4919061510f565b6116de919061510f565b6116e89190615131565b6116f2919061510f565b6116fc9190615131565b901c915060705482116117115760705461105d565b50919050565b61171f612a70565b61139f816125cd565b33611732816120f5565b606a8290556040518281527f592dcd55d60d892e7fcb3ba105013312e99691cd59f91e15f83cb67cb5a505f290602001610de4565b61176f613010565b61103f600061306a565b6000611783612a70565b61178c836130bc565b6117a957604051630b72d6b160e31b815260040160405180910390fd5b60006002607254610100900460ff1660038111156117c9576117c9614836565b036117d757825b9050611834565b6001607254610100900460ff1660038111156117f5576117f5614836565b03611804576117d08484613164565b6003607254610100900460ff16600381111561182257611822614836565b036118345761183184846132ca565b90505b60745460405163011de97360e61b81526001600160a01b038681166004830152306024830152600092169063477a5cc090604401602060405180830381865afa158015611885573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118a9919061515b565b905080156118c95781606f60008282546118c39190615148565b90915550505b604080516001600160a01b0387168152602081018690529081018390527f0b9150e1e54346ed3fa36b977cd5d65dca5a649c737c3174a26bddaadd47667a9060600160405180910390a1509392505050565b33611925816130bc565b61194257604051630b72d6b160e31b815260040160405180910390fd5b6074546040517f0d4a8b490000000000000000000000000000000000000000000000000000000081526001600160a01b03838116600483015230602483015290911690630d4a8b4990604401600060405180830381600087803b1580156119a857600080fd5b505af11580156119bc573d6000803e3d6000fd5b5050607454604051637817ee4f60e01b81526001600160a01b0385811660048301523060248301529091169250637817ee4f9150604401602060405180830381865afa158015611a10573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a349190615178565b606f6000828254611a459190615148565b909155505050565b6000818152607660205260408120600281015482908190611a6f908490613511565b91509150816000148015611a81575080155b15611a8e57826003015491505b6000611a9d84600101546115da565b9092101595945050505050565b60786020528160005260406000208181548110611ac657600080fd5b90600052602060002001600091509150505481565b6000606a5462989680611aee91906150e6565b611afb6298968084615131565b610d8a919061510f565b604080518082019091526000815260606020820152600060766000848152602001908152602001600020905080600a0160405180604001604052908160008201548152602001600182018054611b5a9061509c565b80601f0160208091040260200160405190810160405280929190818152602001828054611b869061509c565b8015611bd35780601f10611ba857610100808354040283529160200191611bd3565b820191906000526020600020905b815481529060010190602001808311611bb657829003601f168201915b505050505081525050915050919050565b607460009054906101000a90046001600160a01b03166001600160a01b0316636c53db9a6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611c37573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c5b9190615191565b6001600160a01b03163303611c9357611c7381613569565b607580546001600160a01b0383166001600160a01b031990911617905550565b6040517fe860ec7e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b606060405163d623472560e01b815260040160405180910390fd5b61139f816135a9565b6000806000806000806000806000806000607660008d815260200190815260200160002090508060010154600014611d2d57611d2881600101546115da565b611d30565b60005b92508060050160009054906101000a90046001600160a01b03168160040160009054906101000a90046001600160a01b03168260060160009054906101000a90046001600160a01b0316836001015484600201548560080160009054906101000a900460ff16866007015487600301548a896009016000336001600160a01b03166001600160a01b03168152602001908152602001600020549a509a509a509a509a509a509a509a509a509a50509193959799509193959799565b6000611df960675460ff1690565b905090565b60008281526076602090815260408083206001600160a01b038516845260090190915281205461105d565b60405163d623472560e01b815260040160405180910390fd5b6000610d8a826135ea565b611e556121a4565b611e5e8261360a565b600081806020019051810190611e74919061521e565b80519091506001600160a01b0316611e9f57604051635df4b1ef60e01b815260040160405180910390fd5b8051607480546001600160a01b0319166001600160a01b039092169190911790556020810151606a556040810151606b556060810151606c5560a08101516072805460ff19166001836002811115611ef957611ef9614836565b021790555060c08101516072805461ff001916610100836003811115611f2157611f21614836565b021790555060e0810151516073556080810151607055610100810151607580546001600160a01b0319166001600160a01b039092169190911790556040517f4ebdec05fb64815e553aeaf3976ef8112dd79760a459bee3ac7d1659ab2c4e0490611f8e90859084906152b9565b60405180910390a1505050565b611fa36121a4565b611fab6121cf565b610fac828261368b565b611fbd613010565b6001600160a01b0381166120395760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610ef7565b61139f8161306a565b606580546001600160a01b0319166001600160a01b03841617905560405161206e90829060200161534c565b60408051601f1981840301815291905280516020909101206066555050565b6120956121a4565b80606960008282546120a79190615148565b9091555061139f90508161379a565b336120c0816120f5565b606c8290556040518281527f30ee8206062f283e56a0af2b02138016bf7442ded26ad68a92a18a9dd246fb4990602001610de4565b6065546068546040517f29e40d4b00000000000000000000000000000000000000000000000000000000815260048101919091526001600160a01b038381166024830152909116906329e40d4b90604401602060405180830381865afa158015612163573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612187919061515b565b61139f5760405163075fd2b160e01b815260040160405180910390fd5b6065546001600160a01b0316331461103f5760405163075fd2b160e01b815260040160405180910390fd5b60685460000361103f576040517f3da3f98c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000825111612246576040517fc5f7c4c000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008280602001905181019061225c9190615178565b905080600003612298576040517ff881a10d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000818152607660205260409020600160725460ff1660028111156122bf576122bf614836565b0361251857805482146122e85760405163c1d17bef60e01b815260048101839052602401610ef7565b606954816001015411156123405760018101546069546040517f5863b0b60000000000000000000000000000000000000000000000000000000081526004810185905260248101929092526044820152606401610ef7565b6001600882015460ff16600481111561235b5761235b614836565b1461237c576040516344980d8f60e01b815260048101839052602401610ef7565b600061238783610fb0565b9050600061239883600101546115da565b905080821080156123ad575060008360010154115b156123e4576040517fcce7930800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6065546068546040517f068bcd8d00000000000000000000000000000000000000000000000000000000815260048101919091526000916001600160a01b03169063068bcd8d90602401600060405180830381865afa15801561244b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261247391908101906153ec565b905083600101546069600082825461248b91906150e6565b90915550506040810151600485015460018601546124b392916001600160a01b0316906137ca565b60088401805460ff191660049081179091558401546001850154604080518881526001600160a01b0390931660208401528201527fa7932e9c92f31e1ed56b29d00bbe669a97484dc24de28dd9c8c0429df7f358479060600160405180910390a15050505b5050505050565b600054610100900460ff1661258a5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401610ef7565b61103f61380f565b60008061259f8484613511565b915091508160001480156125b1575080155b156125bc5750505050565b600784015560039092019190915550565b607454604051637817ee4f60e01b81526001600160a01b03838116600483015230602483015290911690637817ee4f90604401602060405180830381865afa15801561261d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126419190615178565b606f600082825461265291906150e6565b90915550506074546040517f22bcf9990000000000000000000000000000000000000000000000000000000081526001600160a01b038381166004830152306024830152909116906322bcf99990604401600060405180830381600087803b1580156126bd57600080fd5b505af11580156126d1573d6000803e3d6000fd5b505050506126de81613883565b6040516001600160a01b03821681527f1468da654b37bb3631011c1917d02e0db437d519918858d40b38b5e980ca033b906020015b60405180910390a150565b6000612729826130bc565b61274657604051630b72d6b160e31b815260040160405180910390fd5b60008380602001905181019061275c91906154a0565b805190915060000361279a576040517f4e79178600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600160725460ff1660028111156127b3576127b3614836565b03612963576127c58160200151613569565b60608101516001600160a01b0316612809576040517f596a094c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000306001600160a01b03166315cc481e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612849573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061286d9190615191565b6001600160a01b031663068bcd8d6068546040518263ffffffff1660e01b815260040161289c91815260200190565b600060405180830381865afa1580156128b9573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526128e191908101906153ec565b604001519050806001600160a01b031682606001516001600160a01b031614612936576040517fa29c498600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6129438260400151612fe9565b1561296157604051630efd728560e21b815260040160405180910390fd5b505b6000606d6000815461297490615547565b918290555060008181526076602090815260408083208481556005810180546001600160a01b038b81166001600160a01b0319928316179092558885015160048401805491841691831691909117905560608901516006840180549190931691161790559086015160018083019190915560088201805460ff19169091179055436007820155600381019290925560808501518051600a8401908155918101519394509192600b840190612a2890826155ae565b505060685460408051918252602082018590527ffcf3b1aa65a464cef2889608f99e8b8c0f680a4be6c2acb9d961c536a5a9294b92500160405180910390a150949350505050565b6074546001600160a01b0316331461103f576040517faf0916a200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b607454604080516336d8759760e21b815290516000926012926001600160a01b039091169163db61d65c916004808201926020929091908290030181865afa158015612b04573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612b289190615191565b6001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015612b81575060408051601f3d908101601f19168201909252612b7e9181019061566e565b60015b612bc857612bc36040518060400160405280601581526020017f4572726f722067657474696e6720646563696d616c0000000000000000000000815250613a10565b612bce565b60ff1690505b612c0d6040518060400160405280601081526020017f5f616d6f756e74546f556e7374616b650000000000000000000000000000000081525084613a81565b6074546040516316308e2560e11b81526001600160a01b0386811660048301526000928692911690632c611c4a90602401602060405180830381865afa158015612c5b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612c7f9190615178565b612c8991906150e6565b9050612cca6040518060400160405280600d81526020017f6e6577546f74616c5374616b650000000000000000000000000000000000000081525082613a81565b6000612ce9612cda84600a615775565b612ce49084615131565b613af4565b607454604051637817ee4f60e01b81526001600160a01b03898116600483015230602483015292935060009284921690637817ee4f90604401602060405180830381865afa158015612d3f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612d639190615178565b612d6d91906150e6565b979650505050505050565b6000600160801b8310612dcd5760405162461bcd60e51b815260206004820152601c60248201527f5f612073686f756c64206265206c657373207468616e20325e313238000000006044820152606401610ef7565b50600160801b82825b8015612e195780600116600003612dfb57612df18283613bdc565b915060011c612dd6565b612e058383613bdc565b9250612e126001826150e6565b9050612dd6565b505092915050565b61139f613010565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615612e5c57610e0b83613cdb565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015612eb6575060408051601f3d908101601f19168201909252612eb391810190615178565b60015b612f285760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201527f6f6e206973206e6f7420555550530000000000000000000000000000000000006064820152608401610ef7565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8114612fbd5760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f7860448201527f6961626c655555494400000000000000000000000000000000000000000000006064820152608401610ef7565b50610e0b838383613d99565b60006001600160a01b03821615612fe1576001610d8a565b600092915050565b6000612ff86298968083615131565b606954606b546130089190615131565b111592915050565b6033546001600160a01b0316331461103f5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610ef7565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6075546000906001600160a01b03166130d757506001919050565b6075546040517f42a987a00000000000000000000000000000000000000000000000000000000081526001600160a01b038481166004830152306024830152909116906342a987a090604401602060405180830381865afa158015613140573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d8a919061515b565b6000808290506131a96040518060400160405280601281526020017f504f494e545320544f20494e435245415345000000000000000000000000000081525082613a81565b607454604051637817ee4f60e01b81526001600160a01b0386811660048301523060248301526000921690637817ee4f90604401602060405180830381865afa1580156131fa573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061321e9190615178565b905061325f6040518060400160405280600b81526020017f4d454d424552504f57455200000000000000000000000000000000000000000081525082613a81565b60735461326c8383615148565b1115613283576073546132809082906150e6565b91505b6132c26040518060400160405280601681526020017f504f494e545320544f20494e43524541534520454e440000000000000000000081525083613a81565b509392505050565b6074546040516316308e2560e11b81526001600160a01b0384811660048301526000928392859290911690632c611c4a90602401602060405180830381865afa15801561331b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061333f9190615178565b6133499190615148565b607454604080516336d8759760e21b815290519293506012926001600160a01b039092169163db61d65c916004808201926020929091908290030181865afa158015613399573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906133bd9190615191565b6001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015613416575060408051601f3d908101601f191682019092526134139181019061566e565b60015b61345d576134586040518060400160405280601581526020017f4572726f722067657474696e6720646563696d616c0000000000000000000000815250613a10565b613463565b60ff1690505b600061347d61347383600a615775565b612ce49085615131565b607454604051637817ee4f60e01b81526001600160a01b03898116600483015230602483015292935060009290911690637817ee4f90604401602060405180830381865afa1580156134d3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906134f79190615178565b9050600061350582846150e6565b98975050505050505050565b600080439050808460070154111561352b5761352b615781565b8084600701540361354157506000905080613562565b61355f84600701548261355491906150e6565b856003015485611182565b91505b9250929050565b6001600160a01b03811661139f576040517fe622e04000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6067805460ff19168215159081179091556040519081527fd94c9bc4d43c51d8dc345a016d8e3d994432fac68e72832e4cf3a616bd8efae090602001612713565b60006001600160a01b03821615613602576002610d8a565b600392915050565b6136126121a4565b6068541561364c576040517f439a74c900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80600003613686576040517f7fcce2a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b606855565b61369481613dbe565b61369d816130bc565b6136ba57604051630b72d6b160e31b815260040160405180910390fd5b60745460405163011de97360e61b81526001600160a01b038381166004830152306024830152600092169063477a5cc090604401602060405180830381865afa15801561370b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061372f919061515b565b905080613768576040517f5fccb67f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008380602001905181019061377e9190615797565b905061378a8382613ee4565b61379483826140a7565b50505050565b6040518181527f46aeb5d8770fc4474bc2dfa118fd2595f7fb33ce2cbce6f4e5a3dabfe0f7633990602001612713565b7fffffffffffffffffffffffff11111111111111111111111111111111111111126001600160a01b0384160161380457610e0b82826144cb565b610e0b8383836144e7565b600054610100900460ff1661387a5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401610ef7565b61103f3361306a565b6001600160a01b0381166000908152607860209081526040808320805482518185028101850190935280835291929091908301828280156138e357602002820191906000526020600020905b8154815260200190600101908083116138cf575b5050505050905060005b8151811015610e0b57600082828151811061390a5761390a615842565b60200260200101519050600060766000838152602001908152602001600020905061393482614536565b156139fb576001600160a01b038516600090815260098201602052604081208054908290556002830180549192839261396e9084906150e6565b9250508190555080606e600082825461398791906150e6565b9091555061399790508282612592565b60028201546003830154604080516001600160a01b038a1681526020810187905260008183015260608101939093526080830191909152517f0227f642ddcf2042ceaeafadb9d540f432072c00cd4862881667168dcc14710f9181900360a00190a1505b50508080613a0890615547565b9150506138ed565b61139f81604051602401613a24919061534c565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f41304fac0000000000000000000000000000000000000000000000000000000017905261456f565b610fac8282604051602401613a97929190615858565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f9710a9d00000000000000000000000000000000000000000000000000000000017905261456f565b600081600003613b0657506000919050565b60006001613b1384614590565b901c6001901b90506001818481613b2c57613b2c6150f9565b048201901c90506001818481613b4457613b446150f9565b048201901c90506001818481613b5c57613b5c6150f9565b048201901c90506001818481613b7457613b746150f9565b048201901c90506001818481613b8c57613b8c6150f9565b048201901c90506001818481613ba457613ba46150f9565b048201901c90506001818481613bbc57613bbc6150f9565b048201901c905061105d81828581613bd657613bd66150f9565b04614624565b6000600160801b831115613c585760405162461bcd60e51b815260206004820152602860248201527f5f612073686f756c64206265206c657373207468616e206f7220657175616c2060448201527f746f20325e3132380000000000000000000000000000000000000000000000006064820152608401610ef7565b600160801b8210613cab5760405162461bcd60e51b815260206004820152601c60248201527f5f622073686f756c64206265206c657373207468616e20325e313238000000006044820152606401610ef7565b60806f80000000000000000000000000000000613cc88486615131565b613cd29190615148565b901c9392505050565b6001600160a01b0381163b613d585760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201527f6f74206120636f6e7472616374000000000000000000000000000000000000006064820152608401610ef7565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b613da28361463a565b600082511180613daf5750805b15610e0b57613794838361467a565b6001600160a01b038116613dfe576040517fd1f2828800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6074546001600160a01b0316613e2757604051635df4b1ef60e01b815260040160405180910390fd5b6074546040517fa230c5240000000000000000000000000000000000000000000000000000000081526001600160a01b0383811660048301529091169063a230c52490602401602060405180830381865afa158015613e8a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613eae919061515b565b61139f576040517f6a5cfb6d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000805b8251811015613fa157828181518110613f0357613f03615842565b60200260200101516000015160000315613f8f576000838281518110613f2b57613f2b615842565b6020026020010151600001519050613f4281614536565b613f625760405163c1d17bef60e01b815260048101829052602401610ef7565b838281518110613f7457613f74615842565b60200260200101516020015183613f8b919061587a565b9250505b80613f9981615547565b915050613ee8565b506001600160a01b038316600090815260776020526040812054613fc5908361469f565b607454604051637817ee4f60e01b81526001600160a01b03878116600483015230602483015292935060009290911690637817ee4f90604401602060405180830381865afa15801561401b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061403f9190615178565b905080821115614085576040517fd64182fe0000000000000000000000000000000000000000000000000000000081526004810183905260248101829052604401610ef7565b506001600160a01b039093166000908152607760205260409020929092555050565b606060005b82518110156137945760008382815181106140c9576140c9615842565b60200260200101516000015190508251600003614125576040805160018082528183019092529060208083019080368337019050509250808360008151811061411457614114615842565b602002602001018181525050614278565b6000805b84518110156141a4578285828151811061414557614145615842565b602002602001015103614192576040517fadebb154000000000000000000000000000000000000000000000000000000008152600481018490526024810182905260019250604401610ef7565b8061419c81615547565b915050614129565b5080614276576000845160016141ba9190615148565b67ffffffffffffffff8111156141d2576141d26149b6565b6040519080825280602002602001820160405280156141fb578160200160208202803683370190505b50905060005b85518110156142535785818151811061421c5761421c615842565b602002602001015182828151811061423657614236615842565b60209081029190910101528061424b81615547565b915050614201565b50828186518151811061426857614268615842565b602090810291909101015293505b505b600084838151811061428c5761428c615842565b60209081029190910181015181015160008481526076835260408082206001600160a01b038b168352600981019094528120549193506142cc828561469f565b6001600160a01b038a1660009081526009850160205260408120829055909150805b6001600160a01b038b166000908152607860205260409020548110156143655784546001600160a01b038c16600090815260786020526040902080548390811061433a5761433a615842565b9060005260206000200154036143535760019150614365565b8061435d81615547565b9150506142ee565b508061439b576001600160a01b038a16600090815260786020908152604082208654815460018101835591845291909220909101555b8183116143eb576143ac83836150e6565b606e60008282546143bd9190615148565b909155506143cd905083836150e6565b8460020160008282546143e09190615148565b9091555061442f9050565b6143f582846150e6565b606e600082825461440691906150e6565b90915550614416905082846150e6565b84600201600082825461442991906150e6565b90915550505b8360070154600003614446574360078501556144b2565b6144508484612592565b60028401546003850154604080516001600160a01b038e168152602081018a9052908101859052606081019290925260808201527f0227f642ddcf2042ceaeafadb9d540f432072c00cd4862881667168dcc14710f9060a00160405180910390a15b50505050505080806144c390615547565b9150506140ac565b60008060008084865af1610fac5763b12d13eb6000526004601cfd5b81601452806034526fa9059cbb00000000000000000000000060005260206000604460106000875af13d15600160005114171661452c576390b8ec186000526004601cfd5b6000603452505050565b60008181526076602052604081205415801590610d8a5750506000908152607660205260409020600501546001600160a01b0316151590565b80516a636f6e736f6c652e6c6f67602083016000808483855afa5050505050565b600080608083901c156145a557608092831c92015b604083901c156145b757604092831c92015b602083901c156145c957602092831c92015b601083901c156145db57601092831c92015b600883901c156145ed57600892831c92015b600483901c156145ff57600492831c92015b600283901c1561461157600292831c92015b600183901c15610d8a5760010192915050565b6000818310614633578161105d565b5090919050565b61464381613cdb565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b606061105d83836040518060600160405280602781526020016158b7602791396146fa565b6000806146ac838561587a565b9050600081121561105d576040517f3bbc7142000000000000000000000000000000000000000000000000000000008152600481018590526024810184905260448101829052606401610ef7565b6060600080856001600160a01b031685604051614717919061589a565b600060405180830381855af49150503d8060008114614752576040519150601f19603f3d011682016040523d82523d6000602084013e614757565b606091505b509150915061476886838387614772565b9695505050505050565b606083156147e15782516000036147da576001600160a01b0385163b6147da5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610ef7565b50816147eb565b6147eb83836147f3565b949350505050565b8151156148035781518083602001fd5b8060405162461bcd60e51b8152600401610ef7919061534c565b60006020828403121561482f57600080fd5b5035919050565b634e487b7160e01b600052602160045260246000fd5b6005811061485c5761485c614836565b9052565b60005b8381101561487b578181015183820152602001614863565b50506000910152565b6000815180845261489c816020860160208601614860565b601f01601f19169290920160200192915050565b8051825260006020820151604060208501526147eb6040850182614884565b60006101408c83528b60208401528a60408401528960608401526001600160a01b03808a16608085015280891660a085015280881660c0850152508560e084015261491e61010084018661484c565b80610120840152614931818401856148b0565b9d9c50505050505050505050505050565b60006020828403121561495457600080fd5b81357fffffffff000000000000000000000000000000000000000000000000000000008116811461105d57600080fd5b6001600160a01b038116811461139f57600080fd5b6000602082840312156149ab57600080fd5b813561105d81614984565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff811182821017156149ef576149ef6149b6565b60405290565b604051610120810167ffffffffffffffff811182821017156149ef576149ef6149b6565b60405160c0810167ffffffffffffffff811182821017156149ef576149ef6149b6565b60405160a0810167ffffffffffffffff811182821017156149ef576149ef6149b6565b604051601f8201601f1916810167ffffffffffffffff81118282101715614a8857614a886149b6565b604052919050565b600067ffffffffffffffff821115614aaa57614aaa6149b6565b5060051b60200190565b600082601f830112614ac557600080fd5b81356020614ada614ad583614a90565b614a5f565b82815260059290921b84018101918181019086841115614af957600080fd5b8286015b84811015614b1d578035614b1081614984565b8352918301918301614afd565b509695505050505050565b600067ffffffffffffffff821115614b4257614b426149b6565b50601f01601f191660200190565b6000614b5e614ad584614b28565b9050828152838383011115614b7257600080fd5b828260208301376000602084830101529392505050565b600082601f830112614b9a57600080fd5b61105d83833560208501614b50565b600080600060608486031215614bbe57600080fd5b833567ffffffffffffffff80821115614bd657600080fd5b614be287838801614ab4565b94506020860135915080821115614bf857600080fd5b50614c0586828701614b89565b9250506040840135614c1681614984565b809150509250925092565b60008060408385031215614c3457600080fd5b823567ffffffffffffffff811115614c4b57600080fd5b614c5785828601614b89565b9250506020830135614c6881614984565b809150509250929050565b6004811061485c5761485c614836565b60208101610d8a8284614c73565b60008060408385031215614ca457600080fd5b8235614caf81614984565b946020939093013593505050565b600080600060608486031215614cd257600080fd5b505081359360208301359350604090920135919050565b6003811061485c5761485c614836565b60208101610d8a8284614ce9565b60008060408385031215614d1a57600080fd5b8235614d2581614984565b9150602083013567ffffffffffffffff811115614d4157600080fd5b614d4d85828601614b89565b9150509250929050565b60208152600061105d60208301846148b0565b60008060408385031215614d7d57600080fd5b823567ffffffffffffffff80821115614d9557600080fd5b614da186838701614ab4565b9350602091508185013581811115614db857600080fd5b8501601f81018713614dc957600080fd5b8035614dd7614ad582614a90565b81815260059190911b82018401908481019089831115614df657600080fd5b8584015b83811015614e2e57803586811115614e125760008081fd5b614e208c8983890101614b89565b845250918601918601614dfa565b508096505050505050509250929050565b602080825282518282018190526000919060409081850190868401855b82811015614e8a57815180516001600160a01b03168552860151868501529284019290850190600101614e5c565b5091979650505050505050565b801515811461139f57600080fd5b600060208284031215614eb757600080fd5b813561105d81614e97565b6001600160a01b038b811682528a811660208301528916604082015260608101889052608081018790526101408101614efe60a083018861484c565b8560c08301528460e083015283610100830152826101208301529b9a5050505050505050505050565b60008060408385031215614f3a57600080fd5b823591506020830135614c6881614984565b60006020808385031215614f5f57600080fd5b823567ffffffffffffffff811115614f7657600080fd5b8301601f81018513614f8757600080fd5b8035614f95614ad582614a90565b81815260069190911b82018301908381019087831115614fb457600080fd5b928401925b82841015612d6d5760408489031215614fd25760008081fd5b614fda6149cc565b843581528585013586820152825260409093019290840190614fb9565b602081016007831061500b5761500b614836565b91905290565b6000806040838503121561502457600080fd5b82359150602083013567ffffffffffffffff811115614d4157600080fd5b6000806040838503121561505557600080fd5b823561506081614984565b9150602083013567ffffffffffffffff81111561507c57600080fd5b8301601f8101851361508d57600080fd5b614d4d85823560208401614b50565b600181811c908216806150b057607f821691505b60208210810361171157634e487b7160e01b600052602260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b81810381811115610d8a57610d8a6150d0565b634e487b7160e01b600052601260045260246000fd5b60008261512c57634e487b7160e01b600052601260045260246000fd5b500490565b8082028115828204841417610d8a57610d8a6150d0565b80820180821115610d8a57610d8a6150d0565b60006020828403121561516d57600080fd5b815161105d81614e97565b60006020828403121561518a57600080fd5b5051919050565b6000602082840312156151a357600080fd5b815161105d81614984565b80516151b981614984565b919050565b8051600381106151b957600080fd5b8051600481106151b957600080fd5b6000602082840312156151ee57600080fd5b6040516020810181811067ffffffffffffffff82111715615211576152116149b6565b6040529151825250919050565b6000610120828403121561523157600080fd5b6152396149f5565b615242836151ae565b81526020830151602082015260408301516040820152606083015160608201526080830151608082015261527860a084016151be565b60a082015261528960c084016151cd565b60c082015261529b8460e085016151dc565b60e08201526101006152ae8185016151ae565b908201529392505050565b6000610140820190508382526001600160a01b038351166020830152602083015160408301526040830151606083015260608301516080830152608083015160a083015260a083015161530f60c0840182614ce9565b5060c083015161532260e0840182614c73565b5060e08301515161010083810191909152909201516001600160a01b031661012090910152919050565b60208152600061105d6020830184614884565b60006040828403121561537157600080fd5b6153796149cc565b905081518152602082015167ffffffffffffffff81111561539957600080fd5b8201601f810184136153aa57600080fd5b80516153b8614ad582614b28565b8181528560208385010111156153cd57600080fd5b6153de826020830160208601614860565b602084015250909392505050565b6000602082840312156153fe57600080fd5b815167ffffffffffffffff8082111561541657600080fd5b9083019060c0828603121561542a57600080fd5b615432614a19565b82518152602083015161544481614984565b6020820152604083015161545781614984565b604082015260608301518281111561546e57600080fd5b61547a8782860161535f565b6060830152506080830151608082015260a083015160a082015280935050505092915050565b6000602082840312156154b257600080fd5b815167ffffffffffffffff808211156154ca57600080fd5b9083019060a082860312156154de57600080fd5b6154e6614a3c565b8251815260208301516154f881614984565b602082015260408381015190820152606083015161551581614984565b606082015260808301518281111561552c57600080fd5b6155388782860161535f565b60808301525095945050505050565b600060018201615559576155596150d0565b5060010190565b601f821115610e0b57600081815260208120601f850160051c810160208610156155875750805b601f850160051c820191505b818110156155a657828155600101615593565b505050505050565b815167ffffffffffffffff8111156155c8576155c86149b6565b6155dc816155d6845461509c565b84615560565b602080601f83116001811461561157600084156155f95750858301515b600019600386901b1c1916600185901b1785556155a6565b600085815260208120601f198616915b8281101561564057888601518255948401946001909101908401615621565b508582101561565e5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60006020828403121561568057600080fd5b815160ff8116811461105d57600080fd5b600181815b808511156156cc5781600019048211156156b2576156b26150d0565b808516156156bf57918102915b93841c9390800290615696565b509250929050565b6000826156e357506001610d8a565b816156f057506000610d8a565b816001811461570657600281146157105761572c565b6001915050610d8a565b60ff841115615721576157216150d0565b50506001821b610d8a565b5060208310610133831016604e8410600b841016171561574f575081810a610d8a565b6157598383615691565b806000190482111561576d5761576d6150d0565b029392505050565b600061105d83836156d4565b634e487b7160e01b600052600160045260246000fd5b600060208083850312156157aa57600080fd5b825167ffffffffffffffff8111156157c157600080fd5b8301601f810185136157d257600080fd5b80516157e0614ad582614a90565b81815260069190911b820183019083810190878311156157ff57600080fd5b928401925b82841015612d6d576040848903121561581d5760008081fd5b6158256149cc565b845181528585015186820152825260409093019290840190615804565b634e487b7160e01b600052603260045260246000fd5b60408152600061586b6040830185614884565b90508260208301529392505050565b8082018281126000831280158216821582161715612e1957612e196150d0565b600082516158ac818460208701614860565b919091019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a264697066735822122049b3231cbecd6db9d79eb7e6e0aa3bb1452345bd067dee068696bdb771968c2d64736f6c6343000813003360806040526040516104ee3803806104ee833981016040819052610022916102de565b61002e82826000610035565b50506103fb565b61003e83610061565b60008251118061004b5750805b1561005c5761005a83836100a1565b505b505050565b61006a816100cd565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606100c683836040518060600160405280602781526020016104c760279139610180565b9392505050565b6001600160a01b0381163b61013f5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080856001600160a01b03168560405161019d91906103ac565b600060405180830381855af49150503d80600081146101d8576040519150601f19603f3d011682016040523d82523d6000602084013e6101dd565b606091505b5090925090506101ef868383876101f9565b9695505050505050565b60608315610268578251600003610261576001600160a01b0385163b6102615760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610136565b5081610272565b610272838361027a565b949350505050565b81511561028a5781518083602001fd5b8060405162461bcd60e51b815260040161013691906103c8565b634e487b7160e01b600052604160045260246000fd5b60005b838110156102d55781810151838201526020016102bd565b50506000910152565b600080604083850312156102f157600080fd5b82516001600160a01b038116811461030857600080fd5b60208401519092506001600160401b038082111561032557600080fd5b818501915085601f83011261033957600080fd5b81518181111561034b5761034b6102a4565b604051601f8201601f19908116603f01168101908382118183101715610373576103736102a4565b8160405282815288602084870101111561038c57600080fd5b61039d8360208301602088016102ba565b80955050505050509250929050565b600082516103be8184602087016102ba565b9190910192915050565b60208152600082518060208401526103e78160408501602087016102ba565b601f01601f19169190910160400192915050565b60be806104096000396000f3fe608060405236601057600e6013565b005b600e5b601f601b6021565b6065565b565b600060607f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b905090565b3660008037600080366000845af43d6000803e8080156083573d6000f35b3d6000fdfea2646970667358221220499685897c672853da42a8c7337889b98ad42121f6c852e2a981477235103d8964736f6c63430008130033416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c656467617264656e73466163746f72792e67657447617264656e7346656552656365697665722829416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220cdf2d863746c7010819b5a761c8453d51648f6ffbb5ed493a3c7accd5f90cd8964736f6c6343000813003360806040526040516104ee3803806104ee833981016040819052610022916102de565b61002e82826000610035565b50506103fb565b61003e83610061565b60008251118061004b5750805b1561005c5761005a83836100a1565b505b505050565b61006a816100cd565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606100c683836040518060600160405280602781526020016104c760279139610180565b9392505050565b6001600160a01b0381163b61013f5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080856001600160a01b03168560405161019d91906103ac565b600060405180830381855af49150503d80600081146101d8576040519150601f19603f3d011682016040523d82523d6000602084013e6101dd565b606091505b5090925090506101ef868383876101f9565b9695505050505050565b60608315610268578251600003610261576001600160a01b0385163b6102615760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610136565b5081610272565b610272838361027a565b949350505050565b81511561028a5781518083602001fd5b8060405162461bcd60e51b815260040161013691906103c8565b634e487b7160e01b600052604160045260246000fd5b60005b838110156102d55781810151838201526020016102bd565b50506000910152565b600080604083850312156102f157600080fd5b82516001600160a01b038116811461030857600080fd5b60208401519092506001600160401b038082111561032557600080fd5b818501915085601f83011261033957600080fd5b81518181111561034b5761034b6102a4565b604051601f8201601f19908116603f01168101908382118183101715610373576103736102a4565b8160405282815288602084870101111561038c57600080fd5b61039d8360208301602088016102ba565b80955050505050509250929050565b600082516103be8184602087016102ba565b9190910192915050565b60208152600082518060208401526103e78160408501602087016102ba565b601f01601f19169190910160400192915050565b60be806104096000396000f3fe608060405236601057600e6013565b005b600e5b601f601b6021565b6065565b565b600060607f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b905090565b3660008037600080366000845af43d6000803e8080156083573d6000f35b3d6000fdfea2646970667358221220499685897c672853da42a8c7337889b98ad42121f6c852e2a981477235103d8964736f6c63430008130033416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220a77c90ba1584fe2497c09813159824eb5f6f73e6bc453df7aebfefd05e40c61664736f6c63430008130033","sourceMap":"593:3577:136:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3807:249;;;;;;;;;;-1:-1:-1;3807:249:136;;;;;:::i;:::-;;:::i;:::-;;;710:25:151;;;698:2;683:18;3807:249:136;;;;;;;;3143:195:68;;;;;;;;;;-1:-1:-1;3143:195:68;;;;;:::i;:::-;;:::i;:::-;;3657:220;;;;;;:::i;:::-;;:::i;2762:131::-;;;;;;;;;;;;;:::i;3443:208:136:-;;;;;;;;;;-1:-1:-1;3443:208:136;;;;;:::i;:::-;;:::i;2085:101:46:-;;;;;;;;;;;;;:::i;2870:222:136:-;;;;;;;;;;-1:-1:-1;2870:222:136;;;;;:::i;:::-;;:::i;2100:764::-;;;;;;;;;;-1:-1:-1;2100:764:136;;;;;:::i;:::-;;:::i;:::-;;;-1:-1:-1;;;;;5932:55:151;;;5914:74;;5902:2;5887:18;2100:764:136;5768:226:151;1462:85:46;;;;;;;;;;-1:-1:-1;1534:6:46;;-1:-1:-1;;;;;1534:6:46;1462:85;;3098:115:136;;;;;;;;;;-1:-1:-1;3188:18:136;;-1:-1:-1;;;;;3188:18:136;3098:115;;667:20;;;;;;;;;;;;;;;;3219:218;;;;;;;;;;-1:-1:-1;3219:218:136;;;;;:::i;:::-;;:::i;749:33::-;;;;;;;;;;-1:-1:-1;749:33:136;;;;-1:-1:-1;;;;;749:33:136;;;1753:341;;;;;;;;;;-1:-1:-1;1753:341:136;;;;;:::i;:::-;;:::i;2335:198:46:-;;;;;;;;;;-1:-1:-1;2335:198:46;;;;;:::i;:::-;;:::i;3657:144:136:-;;;;;;;;;;-1:-1:-1;3657:144:136;;;;;:::i;:::-;-1:-1:-1;;;;;3761:27:136;3738:4;3761:27;;;:15;:27;;;;;:33;;;;;;3657:144;;;;6580:14:151;;6573:22;6555:41;;6543:2;6528:18;3657:144:136;6415:187:151;3807:249:136;-1:-1:-1;;;;;3906:27:136;;3882:7;3906:27;;;:15;:27;;;;;:33;;;;;3901:100;;3962:28;;;;;-1:-1:-1;;;;;5932:55:151;;3962:28:136;;;5914:74:151;5887:18;;3962:28:136;;;;;;;;3901:100;-1:-1:-1;;;;;;4018:27:136;;;;;:15;:27;;;;;:31;;3807:249::o;3143:195:68:-;-1:-1:-1;;;;;1654:6:68;1637:23;1645:4;1637:23;1629:80;;;;-1:-1:-1;;;1629:80:68;;6809:2:151;1629:80:68;;;6791:21:151;6848:2;6828:18;;;6821:30;6887:34;6867:18;;;6860:62;-1:-1:-1;;;6938:18:151;;;6931:42;6990:19;;1629:80:68;6607:408:151;1629:80:68;1751:6;-1:-1:-1;;;;;1727:30:68;:20;1030:66:64;1254:54;-1:-1:-1;;;;;1254:54:64;;1175:140;1727:20:68;-1:-1:-1;;;;;1727:30:68;;1719:87;;;;-1:-1:-1;;;1719:87:68;;7222:2:151;1719:87:68;;;7204:21:151;7261:2;7241:18;;;7234:30;7300:34;7280:18;;;7273:62;-1:-1:-1;;;7351:18:151;;;7344:42;7403:19;;1719:87:68;7020:408:151;1719:87:68;3224:36:::1;3242:17;3224;:36::i;:::-;3311:12;::::0;;3321:1:::1;3311:12:::0;;;::::1;::::0;::::1;::::0;;;3270:61:::1;::::0;3292:17;;3311:12;3270:21:::1;:61::i;:::-;3143:195:::0;:::o;3657:220::-;-1:-1:-1;;;;;1654:6:68;1637:23;1645:4;1637:23;1629:80;;;;-1:-1:-1;;;1629:80:68;;6809:2:151;1629:80:68;;;6791:21:151;6848:2;6828:18;;;6821:30;6887:34;6867:18;;;6860:62;-1:-1:-1;;;6938:18:151;;;6931:42;6990:19;;1629:80:68;6607:408:151;1629:80:68;1751:6;-1:-1:-1;;;;;1727:30:68;:20;1030:66:64;1254:54;-1:-1:-1;;;;;1254:54:64;;1175:140;1727:20:68;-1:-1:-1;;;;;1727:30:68;;1719:87;;;;-1:-1:-1;;;1719:87:68;;7222:2:151;1719:87:68;;;7204:21:151;7261:2;7241:18;;;7234:30;7300:34;7280:18;;;7273:62;-1:-1:-1;;;7351:18:151;;;7344:42;7403:19;;1719:87:68;7020:408:151;1719:87:68;3772:36:::1;3790:17;3772;:36::i;:::-;3818:52;3840:17;3859:4;3865;3818:21;:52::i;:::-;3657:220:::0;;:::o;2762:131::-;2840:7;2080:4;-1:-1:-1;;;;;2089:6:68;2072:23;;2064:92;;;;-1:-1:-1;;;2064:92:68;;7635:2:151;2064:92:68;;;7617:21:151;7674:2;7654:18;;;7647:30;7713:34;7693:18;;;7686:62;7784:26;7764:18;;;7757:54;7828:19;;2064:92:68;7433:420:151;2064:92:68;-1:-1:-1;1030:66:64::1;2762:131:68::0;:::o;3443:208:136:-;1355:13:46;:11;:13::i;:::-;-1:-1:-1;;;;;3543:27:136;::::1;;::::0;;;:15:::1;:27;::::0;;;;;;;;:33:::1;;:44:::0;;-1:-1:-1;;3543:44:136::1;::::0;::::1;;::::0;;::::1;::::0;;;3602:42;;8026:74:151;;;8116:18;;;8109:50;3602:42:136::1;::::0;7999:18:151;3602:42:136::1;;;;;;;;3443:208:::0;;:::o;2085:101:46:-;1355:13;:11;:13::i;:::-;2149:30:::1;2176:1;2149:18;:30::i;:::-;2085:101::o:0;2870:222:136:-;1355:13:46;:11;:13::i;:::-;2958:35:136::1;2977:15;2958:18;:35::i;:::-;3003:18;:36:::0;;-1:-1:-1;;3003:36:136::1;-1:-1:-1::0;;;;;3003:36:136;::::1;::::0;;::::1;::::0;;;3054:31:::1;::::0;5914:74:151;;;3054:31:136::1;::::0;5902:2:151;5887:18;3054:31:136::1;;;;;;;2870:222:::0;:::o;2100:764::-;2289:5;:7;;2226:31;;;2289:7;;;:::i;:::-;;;;-1:-1:-1;2273:13:136;;;:23;2340:4;2306:23;;;:39;2415:27;;-1:-1:-1;;2415:27:136;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2457:73:136;;2480:41;;2457:73;;2523:6;;2457:73;;;:::i;:::-;;;;-1:-1:-1;;2457:73:136;;;;;;;;;;;;;;;;;;;;;;;;;;;2377:163;;;;;:::i;:::-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;2699:43:136;;2551:39;2699:43;;;:15;:43;;;;;;;;;2751:4;2699:49;;;:56;;-1:-1:-1;;2699:56:136;;;;;;2770:44;;5914:74:151;;;2699:43:136;;-1:-1:-1;2699:43:136;;2770:44;;5887:18:151;2770:44:136;;;;;;;2839:17;2100:764;-1:-1:-1;;;2100:764:136:o;3219:218::-;1355:13:46;:11;:13::i;:::-;-1:-1:-1;;;;;3323:27:136;::::1;;::::0;;;:15:::1;:27;::::0;;;;;;;;:49;;;3387:43;;11650:74:151;;;11740:18;;11733:34;;;3387:43:136::1;::::0;11623:18:151;3387:43:136::1;11476:297:151::0;1753:341:136;3279:19:48;3302:13;;;;;;3301:14;;3347:34;;;;-1:-1:-1;3365:12:48;;3380:1;3365:12;;;;:16;3347:34;3346:108;;;-1:-1:-1;3426:4:48;1713:19:51;:23;;;3387:66:48;;-1:-1:-1;3436:12:48;;;;;:17;3387:66;3325:201;;;;-1:-1:-1;;;3325:201:48;;11980:2:151;3325:201:48;;;11962:21:151;12019:2;11999:18;;;11992:30;12058:34;12038:18;;;12031:62;12129:16;12109:18;;;12102:44;12163:19;;3325:201:48;11778:410:151;3325:201:48;3536:12;:16;;-1:-1:-1;;3536:16:48;3551:1;3536:16;;;3562:65;;;;3596:13;:20;;-1:-1:-1;;3596:20:48;;;;;3562:65;1839:16:136::1;:14;:16::i;:::-;1873:1;1865:5;:9:::0;1884:39:::1;1903:19:::0;1884:18:::1;:39::i;:::-;1933:18;:40:::0;;-1:-1:-1;;1933:40:136::1;-1:-1:-1::0;;;;;1933:40:136;::::1;::::0;;::::1;::::0;;;1988:35:::1;::::0;5914:74:151;;;1988:35:136::1;::::0;5902:2:151;5887:18;1988:35:136::1;;;;;;;3651:14:48::0;3647:99;;;3697:5;3681:21;;-1:-1:-1;;3681:21:48;;;3721:14;;-1:-1:-1;12345:36:151;;3721:14:48;;12333:2:151;12318:18;3721:14:48;12193:194:151;2335:198:46;1355:13;:11;:13::i;:::-;-1:-1:-1;;;;;2423:22:46;::::1;2415:73;;;::::0;-1:-1:-1;;;2415:73:46;;12594:2:151;2415:73:46::1;::::0;::::1;12576:21:151::0;12633:2;12613:18;;;12606:30;12672:34;12652:18;;;12645:62;12743:8;12723:18;;;12716:36;12769:19;;2415:73:46::1;12392:402:151::0;2415:73:46::1;2498:28;2517:8;2498:18;:28::i;4062:74:136:-:0;1355:13:46;:11;:13::i;2494:922:64:-;689:66;2910:48;;;2906:504;;;2974:37;2993:17;2974:18;:37::i;:::-;2494:922;;;:::o;2906:504::-;3064:17;-1:-1:-1;;;;;3046:50:64;;:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3046:52:64;;;;;;;;-1:-1:-1;;3046:52:64;;;;;;;;;;;;:::i;:::-;;;3042:291;;3262:56;;-1:-1:-1;;;3262:56:64;;13190:2:151;3262:56:64;;;13172:21:151;13229:2;13209:18;;;13202:30;13268:34;13248:18;;;13241:62;13339:16;13319:18;;;13312:44;13373:19;;3262:56:64;12988:410:151;3042:291:64;1030:66;3148:28;;3140:82;;;;-1:-1:-1;;;3140:82:64;;13605:2:151;3140:82:64;;;13587:21:151;13644:2;13624:18;;;13617:30;13683:34;13663:18;;;13656:62;13754:11;13734:18;;;13727:39;13783:19;;3140:82:64;13403:405:151;3140:82:64;3099:138;3346:53;3364:17;3383:4;3389:9;3346:17;:53::i;1620:130:46:-;1534:6;;-1:-1:-1;;;;;1534:6:46;965:10:52;1683:23:46;1675:68;;;;-1:-1:-1;;;1675:68:46;;14015:2:151;1675:68:46;;;13997:21:151;;;14034:18;;;14027:30;14093:34;14073:18;;;14066:62;14145:18;;1675:68:46;13813:356:151;2687:187:46;2779:6;;;-1:-1:-1;;;;;2795:17:46;;;-1:-1:-1;;2795:17:46;;;;;;;2827:40;;2779:6;;;2795:17;2779:6;;2827:40;;2760:16;;2827:40;2750:124;2687:187;:::o;1614:133:136:-;-1:-1:-1;;;;;1688:22:136;;1684:56;;1719:21;;;;;;;;;;;;;;1024:95:46;5374:13:48;;;;;;;5366:69;;;;-1:-1:-1;;;5366:69:48;;14376:2:151;5366:69:48;;;14358:21:151;14415:2;14395:18;;;14388:30;14454:34;14434:18;;;14427:62;-1:-1:-1;;;14505:18:151;;;14498:41;14556:19;;5366:69:48;14174:407:151;5366:69:48;1086:26:46::1;:24;:26::i;1406:259:64:-:0;-1:-1:-1;;;;;1713:19:51;;;1479:95:64;;;;-1:-1:-1;;;1479:95:64;;14788:2:151;1479:95:64;;;14770:21:151;14827:2;14807:18;;;14800:30;14866:34;14846:18;;;14839:62;14937:15;14917:18;;;14910:43;14970:19;;1479:95:64;14586:409:151;1479:95:64;1030:66;1584:74;;-1:-1:-1;;1584:74:64;-1:-1:-1;;;;;1584:74:64;;;;;;;;;;1406:259::o;2057:265::-;2165:29;2176:17;2165:10;:29::i;:::-;2222:1;2208:4;:11;:15;:28;;;;2227:9;2208:28;2204:112;;;2252:53;2281:17;2300:4;2252:28;:53::i;:::-;;2057:265;;;:::o;1125:111:46:-;5374:13:48;;;;;;;5366:69;;;;-1:-1:-1;;;5366:69:48;;14376:2:151;5366:69:48;;;14358:21:151;14415:2;14395:18;;;14388:30;14454:34;14434:18;;;14427:62;-1:-1:-1;;;14505:18:151;;;14498:41;14556:19;;5366:69:48;14174:407:151;5366:69:48;1197:32:46::1;965:10:52::0;1197:18:46::1;:32::i;1771:152:64:-:0;1837:37;1856:17;1837:18;:37::i;:::-;1889:27;;-1:-1:-1;;;;;1889:27:64;;;;;;;;1771:152;:::o;6674:198:80:-;6757:12;6788:77;6809:6;6817:4;6788:77;;;;;;;;;;;;;;;;;:20;:77::i;:::-;6781:84;6674:198;-1:-1:-1;;;6674:198:80:o;7058:325::-;7199:12;7224;7238:23;7265:6;-1:-1:-1;;;;;7265:19:80;7285:4;7265:25;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7223:67;;;;7307:69;7334:6;7342:7;7351:10;7363:12;7307:26;:69::i;:::-;7300:76;7058:325;-1:-1:-1;;;;;;7058:325:80:o;7671:628::-;7851:12;7879:7;7875:418;;;7906:10;:17;7927:1;7906:22;7902:286;;-1:-1:-1;;;;;1713:19:51;;;8113:60:80;;;;-1:-1:-1;;;8113:60:80;;15494:2:151;8113:60:80;;;15476:21:151;15533:2;15513:18;;;15506:30;15572:31;15552:18;;;15545:59;15621:18;;8113:60:80;15292:353:151;8113:60:80;-1:-1:-1;8208:10:80;8201:17;;7875:418;8249:33;8257:10;8269:12;8249:7;:33::i;:::-;7671:628;;;;;;:::o;8821:540::-;8980:17;;:21;8976:379;;9208:10;9202:17;9264:15;9251:10;9247:2;9243:19;9236:44;8976:379;9331:12;9324:20;;-1:-1:-1;;;9324:20:80;;;;;;;;:::i;-1:-1:-1:-;;;;;;;;:::o;:::-;;;;;;;;:::o;14:154:151:-;-1:-1:-1;;;;;93:5:151;89:54;82:5;79:65;69:93;;158:1;155;148:12;173:134;241:20;;270:31;241:20;270:31;:::i;:::-;173:134;;;:::o;312:247::-;371:6;424:2;412:9;403:7;399:23;395:32;392:52;;;440:1;437;430:12;392:52;479:9;466:23;498:31;523:5;498:31;:::i;746:184::-;-1:-1:-1;;;795:1:151;788:88;895:4;892:1;885:15;919:4;916:1;909:15;935:250;1002:2;996:9;1044:6;1032:19;;1081:18;1066:34;;1102:22;;;1063:62;1060:88;;;1128:18;;:::i;:::-;1164:2;1157:22;935:250;:::o;1190:631::-;1254:5;1284:18;1325:2;1317:6;1314:14;1311:40;;;1331:18;;:::i;:::-;1406:2;1400:9;1374:2;1460:15;;-1:-1:-1;;1456:24:151;;;1482:2;1452:33;1448:42;1436:55;;;1506:18;;;1526:22;;;1503:46;1500:72;;;1552:18;;:::i;:::-;1592:10;1588:2;1581:22;1621:6;1612:15;;1651:6;1643;1636:22;1691:3;1682:6;1677:3;1673:16;1670:25;1667:45;;;1708:1;1705;1698:12;1667:45;1758:6;1753:3;1746:4;1738:6;1734:17;1721:44;1813:1;1806:4;1797:6;1789;1785:19;1781:30;1774:41;;;;1190:631;;;;;:::o;1826:584::-;1903:6;1911;1964:2;1952:9;1943:7;1939:23;1935:32;1932:52;;;1980:1;1977;1970:12;1932:52;2019:9;2006:23;2038:31;2063:5;2038:31;:::i;:::-;2088:5;-1:-1:-1;2144:2:151;2129:18;;2116:32;2171:18;2160:30;;2157:50;;;2203:1;2200;2193:12;2157:50;2226:22;;2279:4;2271:13;;2267:27;-1:-1:-1;2257:55:151;;2308:1;2305;2298:12;2257:55;2331:73;2396:7;2391:2;2378:16;2373:2;2369;2365:11;2331:73;:::i;:::-;2321:83;;;1826:584;;;;;:::o;2597:160::-;2662:20;;2718:13;;2711:21;2701:32;;2691:60;;2747:1;2744;2737:12;2762:315;2827:6;2835;2888:2;2876:9;2867:7;2863:23;2859:32;2856:52;;;2904:1;2901;2894:12;2856:52;2943:9;2930:23;2962:31;2987:5;2962:31;:::i;:::-;3012:5;-1:-1:-1;3036:35:151;3067:2;3052:18;;3036:35;:::i;:::-;3026:45;;2762:315;;;;;:::o;3082:221::-;3125:5;3178:3;3171:4;3163:6;3159:17;3155:27;3145:55;;3196:1;3193;3186:12;3145:55;3218:79;3293:3;3284:6;3271:20;3264:4;3256:6;3252:17;3218:79;:::i;3308:610::-;3363:5;3411:4;3399:9;3394:3;3390:19;3386:30;3383:50;;;3429:1;3426;3419:12;3383:50;3462:4;3456:11;3506:4;3498:6;3494:17;3530:18;3598:6;3586:10;3583:22;3578:2;3566:10;3563:18;3560:46;3557:72;;;3609:18;;:::i;:::-;3651:10;3645:4;3638:24;3680:6;3671:15;;3723:9;3710:23;3702:6;3695:39;3785:2;3774:9;3770:18;3757:32;3743:46;;3812:2;3804:6;3801:14;3798:34;;;3828:1;3825;3818:12;3798:34;;3865:46;3907:3;3898:6;3887:9;3883:22;3865:46;:::i;:::-;3860:2;3852:6;3848:15;3841:71;;;3308:610;;;;:::o;3923:1708::-;4017:6;4070:2;4058:9;4049:7;4045:23;4041:32;4038:52;;;4086:1;4083;4076:12;4038:52;4126:9;4113:23;4155:18;4196:2;4188:6;4185:14;4182:34;;;4212:1;4209;4202:12;4182:34;4235:22;;;;4291:6;4273:16;;;4269:29;4266:49;;;4311:1;4308;4301:12;4266:49;4337:17;;:::i;:::-;4377:22;4396:2;4377:22;:::i;:::-;4370:5;4363:37;4432:31;4459:2;4455;4451:11;4432:31;:::i;:::-;4427:2;4420:5;4416:14;4409:55;4517:2;4513;4509:11;4496:25;4491:2;4484:5;4480:14;4473:49;4575:2;4571;4567:11;4554:25;4549:2;4542:5;4538:14;4531:49;4634:3;4630:2;4626:12;4613:26;4607:3;4600:5;4596:15;4589:51;4673:32;4700:3;4696:2;4692:12;4673:32;:::i;:::-;4667:3;4660:5;4656:15;4649:57;4739:32;4766:3;4762:2;4758:12;4739:32;:::i;:::-;4733:3;4726:5;4722:15;4715:57;4818:3;4814:2;4810:12;4797:26;4848:2;4838:8;4835:16;4832:36;;;4864:1;4861;4854:12;4832:36;4901:54;4947:7;4936:8;4932:2;4928:17;4901:54;:::i;:::-;4895:3;4888:5;4884:15;4877:79;;4975:3;5010:31;5037:2;5033;5029:11;5010:31;:::i;:::-;4994:14;;;4987:55;5061:3;5102:11;;;5089:25;5126:16;;;5123:36;;;5155:1;5152;5145:12;5123:36;5191:45;5228:7;5217:8;5213:2;5209:17;5191:45;:::i;:::-;5186:2;5179:5;5175:14;5168:69;;;5256:3;5291:28;5315:2;5311;5307:11;5291:28;:::i;:::-;5275:14;;;5268:52;5339:3;5380:11;;;5367:25;5404:16;;;5401:36;;;5433:1;5430;5423:12;5401:36;5469:45;5506:7;5495:8;5491:2;5487:17;5469:45;:::i;:::-;5464:2;5457:5;5453:14;5446:69;;;5534:3;5524:13;;5569:31;5596:2;5592;5588:11;5569:31;:::i;:::-;5553:14;;;5546:55;;;;5557:5;3923:1708;-1:-1:-1;;;;3923:1708:151:o;5999:315::-;6067:6;6075;6128:2;6116:9;6107:7;6103:23;6099:32;6096:52;;;6144:1;6141;6134:12;6096:52;6183:9;6170:23;6202:31;6227:5;6202:31;:::i;:::-;6252:5;6304:2;6289:18;;;;6276:32;;-1:-1:-1;;;5999:315:151:o;8170:289::-;8209:3;8230:17;;;8227:197;;-1:-1:-1;;;8277:1:151;8270:88;8381:4;8378:1;8371:15;8409:4;8406:1;8399:15;8227:197;-1:-1:-1;8451:1:151;8440:13;;8170:289::o;8464:250::-;8549:1;8559:113;8573:6;8570:1;8567:13;8559:113;;;8649:11;;;8643:18;8630:11;;;8623:39;8595:2;8588:10;8559:113;;;-1:-1:-1;;8706:1:151;8688:16;;8681:27;8464:250::o;8719:271::-;8761:3;8799:5;8793:12;8826:6;8821:3;8814:19;8842:76;8911:6;8904:4;8899:3;8895:14;8888:4;8881:5;8877:16;8842:76;:::i;:::-;8972:2;8951:15;-1:-1:-1;;8947:29:151;8938:39;;;;8979:4;8934:50;;8719:271;-1:-1:-1;;8719:271:151:o;8995:252::-;9082:5;9076:12;9071:3;9064:25;9046:3;9135:4;9128:5;9124:16;9118:23;9173:4;9166;9161:3;9157:14;9150:28;9194:47;9235:4;9230:3;9226:14;9212:12;9194:47;:::i;9252:1876::-;9451:2;9440:9;9433:21;9463:53;9512:2;9501:9;9497:18;9488:6;9482:13;-1:-1:-1;;;;;5702:54:151;5690:67;;5636:127;9463:53;9414:4;9563:2;9555:6;9551:15;9545:22;9576:52;9624:2;9613:9;9609:18;9595:12;-1:-1:-1;;;;;5702:54:151;5690:67;;5636:127;9576:52;;9682:2;9674:6;9670:15;9664:22;9659:2;9648:9;9644:18;9637:50;9742:2;9734:6;9730:15;9724:22;9718:3;9707:9;9703:19;9696:51;9802:3;9794:6;9790:16;9784:23;9778:3;9767:9;9763:19;9756:52;9857:3;9849:6;9845:16;9839:23;9871:55;9921:3;9910:9;9906:19;9890:14;-1:-1:-1;;;;;5702:54:151;5690:67;;5636:127;9871:55;-1:-1:-1;9975:3:151;9963:16;;9957:23;-1:-1:-1;;;;;5702:54:151;;10039:3;10024:19;;5690:67;9989:55;10093:3;10085:6;10081:16;10075:23;10117:6;10142:3;10181:2;10176;10165:9;10161:18;10154:30;10207:63;10265:3;10254:9;10250:19;10234:14;10207:63;:::i;:::-;10307:15;;;10301:22;10193:77;;-1:-1:-1;10342:3:151;10354:54;10389:18;;;10301:22;-1:-1:-1;;;;;5702:54:151;5690:67;;5636:127;10354:54;10457:2;10449:6;10445:15;10439:22;10417:44;;;10484:2;10480:7;10506:3;10573:2;10561:9;10553:6;10549:22;10545:31;10540:2;10529:9;10525:18;10518:59;10600:41;10634:6;10618:14;10600:41;:::i;:::-;10586:55;;10690:2;10682:6;10678:15;10672:22;10650:44;;;10713:3;10725:51;10772:2;10761:9;10757:18;10741:14;6389:13;6382:21;6370:34;;6319:91;10725:51;10825:2;10817:6;10813:15;10807:22;10785:44;;;10848:3;10915:2;10903:9;10895:6;10891:22;10887:31;10882:2;10871:9;10867:18;10860:59;10942:41;10976:6;10960:14;10942:41;:::i;:::-;10928:55;;11032:2;11024:6;11020:15;11014:22;10992:44;;;;11045:54;11095:2;11084:9;11080:18;11064:14;-1:-1:-1;;;;;5702:54:151;5690:67;;5636:127;11045:54;-1:-1:-1;11116:6:151;;9252:1876;-1:-1:-1;;;;9252:1876:151:o;11133:338::-;-1:-1:-1;;;;;11312:6:151;11308:55;11297:9;11290:74;11400:2;11395;11384:9;11380:18;11373:30;11271:4;11420:45;11461:2;11450:9;11446:18;11438:6;11420:45;:::i;12799:184::-;12869:6;12922:2;12910:9;12901:7;12897:23;12893:32;12890:52;;;12938:1;12935;12928:12;12890:52;-1:-1:-1;12961:16:151;;12799:184;-1:-1:-1;12799:184:151:o;15000:287::-;15129:3;15167:6;15161:13;15183:66;15242:6;15237:3;15230:4;15222:6;15218:17;15183:66;:::i;:::-;15265:16;;;;;15000:287;-1:-1:-1;;15000:287:151:o;15650:220::-;15799:2;15788:9;15781:21;15762:4;15819:45;15860:2;15849:9;15845:18;15837:6;15819:45;:::i","linkReferences":{},"immutableReferences":{"56113":[{"start":1024,"length":32},{"start":1159,"length":32},{"start":1412,"length":32},{"start":1547,"length":32},{"start":1788,"length":32}]}},"methodIdentifiers":{"createRegistry((address,address,uint256,uint256,uint256,address,address,(uint256,string),address,string,bool,string,address))":"8a16135f","gardensFeeReceiver()":"b8bed901","getCommunityValidity(address)":"f5016b5e","getGardensFeeReceiver()":"987435be","getProtocolFee(address)":"0a992e0c","initialize(address)":"c4d66de8","nonce()":"affed0e0","owner()":"8da5cb5b","proxiableUUID()":"52d1902d","renounceOwnership()":"715018a6","setCommunityValidity(address,bool)":"5a2c8ace","setProtocolFee(address,uint256)":"b5b3ca2c","setReceiverAddress(address)":"8279c7db","transferOwnership(address)":"f2fde38b","upgradeTo(address)":"3659cfe6","upgradeToAndCall(address,bytes)":"4f1ef286"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"AddressCannotBeZero\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_community\",\"type\":\"address\"}],\"name\":\"CommunityInvalid\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"previousAdmin\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"newAdmin\",\"type\":\"address\"}],\"name\":\"AdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"beacon\",\"type\":\"address\"}],\"name\":\"BeaconUpgraded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_registryCommunity\",\"type\":\"address\"}],\"name\":\"CommunityCreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_community\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"_isValid\",\"type\":\"bool\"}],\"name\":\"CommunityValiditySet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_newFeeReceiver\",\"type\":\"address\"}],\"name\":\"FeeReceiverSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"version\",\"type\":\"uint8\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_community\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_newProtocolFee\",\"type\":\"uint256\"}],\"name\":\"ProtocolFeeSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"Upgraded\",\"type\":\"event\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"_allo\",\"type\":\"address\"},{\"internalType\":\"contract IERC20\",\"name\":\"_gardenToken\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_registerStakeAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_communityFee\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_nonce\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_registryFactory\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_feeReceiver\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"_metadata\",\"type\":\"tuple\"},{\"internalType\":\"address payable\",\"name\":\"_councilSafe\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"_communityName\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"_isKickEnabled\",\"type\":\"bool\"},{\"internalType\":\"string\",\"name\":\"covenantIpfsHash\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"_strategyTemplate\",\"type\":\"address\"}],\"internalType\":\"struct RegistryCommunityV0_0.InitializeParams\",\"name\":\"params\",\"type\":\"tuple\"}],\"name\":\"createRegistry\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"_createdRegistryAddress\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"gardensFeeReceiver\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_community\",\"type\":\"address\"}],\"name\":\"getCommunityValidity\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getGardensFeeReceiver\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_community\",\"type\":\"address\"}],\"name\":\"getProtocolFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_gardensFeeReceiver\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nonce\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proxiableUUID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_community\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"_isValid\",\"type\":\"bool\"}],\"name\":\"setCommunityValidity\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_community\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_newProtocolFee\",\"type\":\"uint256\"}],\"name\":\"setProtocolFee\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_newFeeReceiver\",\"type\":\"address\"}],\"name\":\"setReceiverAddress\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"}],\"name\":\"upgradeTo\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"upgradeToAndCall\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"}],\"devdoc\":{\"custom:oz-upgrades-from\":\"RegistryFactory\",\"events\":{\"AdminChanged(address,address)\":{\"details\":\"Emitted when the admin account has changed.\"},\"BeaconUpgraded(address)\":{\"details\":\"Emitted when the beacon is changed.\"},\"Initialized(uint8)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"Upgraded(address)\":{\"details\":\"Emitted when the implementation is upgraded.\"}},\"kind\":\"dev\",\"methods\":{\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"proxiableUUID()\":{\"details\":\"Implementation of the ERC1822 {proxiableUUID} function. This returns the storage slot used by the implementation. It is used to validate the implementation's compatibility when performing an upgrade. IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this function revert if invoked through a proxy. This is guaranteed by the `notDelegated` modifier.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"},\"upgradeTo(address)\":{\"custom:oz-upgrades-unsafe-allow-reachable\":\"delegatecall\",\"details\":\"Upgrade the implementation of the proxy to `newImplementation`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event.\"},\"upgradeToAndCall(address,bytes)\":{\"custom:oz-upgrades-unsafe-allow-reachable\":\"delegatecall\",\"details\":\"Upgrade the implementation of the proxy to `newImplementation`, and subsequently execute the function call encoded in `data`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"pkg/contracts/src/RegistryFactoryV0_0.sol\":\"RegistryFactoryV0_0\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1000},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-contracts/=lib/safe-contracts/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"]},\"sources\":{\"lib/allo-v2/contracts/core/interfaces/IAllo.sol\":{\"keccak256\":\"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7\",\"dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1\"]},\"lib/allo-v2/contracts/core/interfaces/IRegistry.sol\":{\"keccak256\":\"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e\",\"dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA\"]},\"lib/allo-v2/contracts/core/interfaces/IStrategy.sol\":{\"keccak256\":\"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487\",\"dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH\"]},\"lib/allo-v2/contracts/core/libraries/Clone.sol\":{\"keccak256\":\"0xc348b24b7d8a98c4faa5f2aa37ce9264a74f81dbdef1a9bae2eaa125585c3c7e\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://1335b3ec59ec7e3d12ea7c90b3aa56f4c26e0d44d342f54412933be9d4f16067\",\"dweb:/ipfs/QmXNFo2wCyq9cpvfgbdHvBUQecThFSEoUnMuZNS6WinDrr\"]},\"lib/allo-v2/contracts/core/libraries/Errors.sol\":{\"keccak256\":\"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf\",\"dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA\"]},\"lib/allo-v2/contracts/core/libraries/Metadata.sol\":{\"keccak256\":\"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c\",\"dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn\"]},\"lib/allo-v2/contracts/core/libraries/Native.sol\":{\"keccak256\":\"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a\",\"dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv\"]},\"lib/allo-v2/contracts/core/libraries/Transfer.sol\":{\"keccak256\":\"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11\",\"dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5\"]},\"lib/allo-v2/contracts/strategies/BaseStrategy.sol\":{\"keccak256\":\"0x3f1382dc6c35d50545e327e7ed6016f2bd752357d446bd698014073f0b812873\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://99500abcd617fa43f6dde49e2c7802821ceaf54a65a8055cbbf2695ecd107974\",\"dweb:/ipfs/QmUktZkWuu3GCMEijY1fqt7NMy7BzpTvEtcmpB1fuoa7zt\"]},\"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol\":{\"keccak256\":\"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298\",\"dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x51fec240abc6dd23e0ee6de7c65106379aef732cad6c4ae5df6b55db886e7456\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://a47d9c0a9876e7f9e411843b994a741d4ac1a87d8459ffc3c56359de691ddc1a\",\"dweb:/ipfs/QmQiFN9b3Y2azrD1RBfAKEuAG3YeJkMzA2DGzgEE9kMeEK\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0xc8710577334e8d0799ae2b2a731b1924a7bddd64319da9787ddd2dc69bdd1ce5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b83b7afa4d2372da3ba5402fb10860a105c35d79812c60dc61007be2afc17618\",\"dweb:/ipfs/QmYX9xPmbNVSKXrepKiUZiG5oL3SdzFp9a4kqspxX1sEUx\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol\":{\"keccak256\":\"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c\",\"dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol\":{\"keccak256\":\"0x359a1ab89b46b9aba7bcad3fb651924baf4893d15153049b9976b0fc9be1358e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e89863421b4014b96a4b62be76eb3b9f0a8afe9684664a6f389124c0964bfe5c\",\"dweb:/ipfs/Qmbk7xr1irpDuU1WdxXgxELBXxs61rHhCgod7heVcvFx16\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol\":{\"keccak256\":\"0x5a55d1b148a0cb4183f1e09ceaff87bd2d828440f2f5dc01dfe03eb29e7c88ec\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3f9278bdda788763efbe569da77fc24feff36e871779e2da69f74ea5f8bfacf\",\"dweb:/ipfs/QmZF9cH4rfazmwKT55p3tZyzh9QGghNyss81f46d6yVXap\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e\",\"dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol\":{\"keccak256\":\"0x2025ccf05f6f1f2fd4e078e552836f525a1864e3854ed555047cd732320ab29b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d27f4b23c2dee42394aebaf42bf238285230f472dfd3282a39c3f000ec28214f\",\"dweb:/ipfs/QmQa3DnvccwdWJeWrjgXPnFMTWbzWQWR39hVqC7eEwo2PC\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b\",\"dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95\",\"dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol\":{\"keccak256\":\"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a\",\"dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0xd90d7723512df65ae417adaf0801042940f0dabd60039ceeaffe34aa5b238da1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1b13befeb3413749292f9fb229de1c7a509a5ce2c8047d9094fc004ca9d3af89\",\"dweb:/ipfs/QmRzJ2hZSwRtMejHUZAYTPRKgZsnfb112Fno9Jf3EiDfwA\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol\":{\"keccak256\":\"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758\",\"dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol\":{\"keccak256\":\"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91\",\"dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol\":{\"keccak256\":\"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4\",\"dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z\"]},\"lib/openzeppelin-contracts/contracts/access/AccessControl.sol\":{\"keccak256\":\"0x0dd6e52cb394d7f5abe5dca2d4908a6be40417914720932de757de34a99ab87f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://dc117ce50ea746cab6b97ed1a1facee17a715ae0cb95d67b943dacbaf15176fb\",\"dweb:/ipfs/QmYRZ2UGNYwsHwfNu7Wjr8L2j1LBZ1mKv6NvbwgterYMXc\"]},\"lib/openzeppelin-contracts/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0x59ce320a585d7e1f163cd70390a0ef2ff9cec832e2aa544293a00692465a7a57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb2c137c343ef0c4c7ce7b18c1d108afdc9d315a04e48307288d2d05adcbde3a\",\"dweb:/ipfs/QmUxhrAQM3MM3FF5j7AtcXLXguWCJBHJ14BRdVtuoQc8Fh\"]},\"lib/openzeppelin-contracts/contracts/access/Ownable.sol\":{\"keccak256\":\"0xba43b97fba0d32eb4254f6a5a297b39a19a247082a02d6e69349e071e2946218\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fc980984badf3984b6303b377711220e067722bbd6a135b24669ff5069ef9f32\",\"dweb:/ipfs/QmPHXMSXj99XjSVM21YsY6aNtLLjLVXDbyN76J5HQYvvrz\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol\":{\"keccak256\":\"0x3cbef5ebc24b415252e2f8c0c9254555d30d9f085603b4b80d9b5ed20ab87e90\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e8fa670c3bdce78e642cc6ae11c4cb38b133499cdce5e1990a9979d424703263\",\"dweb:/ipfs/QmVxeCUk4jL2pXQyhsoNJwyU874wRufS2WvGe8TgPKPqhE\"]},\"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol\":{\"keccak256\":\"0x1d4afe6cb24200cc4545eed814ecf5847277dfe5d613a1707aad5fceecebcfff\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://383fb7b8181016ac5ccf07bc9cdb7c1b5045ea36e2cc4df52bcbf20396fc7688\",\"dweb:/ipfs/QmYJ7Cg4WmE3rR8KGQxjUCXFfTH6TcwZ2Z1f6tPrq7jHFr\"]},\"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol\":{\"keccak256\":\"0xa2b22da3032e50b55f95ec1d13336102d675f341167aa76db571ef7f8bb7975d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96b6d77a20bebd4eb06b801d3d020c7e82be13bd535cb0d0a6b7181c51dab5d5\",\"dweb:/ipfs/QmPUR9Cv9jNFdQX6PtBfaBW1ZCnKwiu65R2VD5kbdanDyn\"]},\"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Upgrade.sol\":{\"keccak256\":\"0x3b21ae06bf5957f73fa16754b0669c77b7abd8ba6c072d35c3281d446fdb86c2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2db8e18505e86e02526847005d7287a33e397ed7fb9eaba3fd4a4a197add16e2\",\"dweb:/ipfs/QmW9BSuKTzHWHBNSHF4L8XfVuU1uJrP2vLg84YtBd8mL82\"]},\"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol\":{\"keccak256\":\"0xc130fe33f1b2132158531a87734153293f6d07bc263ff4ac90e85da9c82c0e27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8831721b6f4cc26534d190f9f1631c3f59c9ff38efdd911f85e0882b8e360472\",\"dweb:/ipfs/QmQZnLErZNStirSQ13ZNWQgvEYUtGE5tXYwn4QUPaVUfPN\"]},\"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0xd50a3421ac379ccb1be435fa646d66a65c986b4924f0849839f08692f39dde61\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ada1e030c0231db8d143b44ce92b4d1158eedb087880cad6d8cc7bd7ebe7b354\",\"dweb:/ipfs/QmWZ2NHZweRpz1U9GF6R1h65ri76dnX7fNxLBeM2t5N5Ce\"]},\"lib/openzeppelin-contracts/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x3d6069be9b4c01fb81840fb9c2c4dc58dd6a6a4aafaa2c6837de8699574d84c6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://720d6bb56ea0c4ef781c0bd65c5bd0541f5a46100163b2587170f97658d2deed\",\"dweb:/ipfs/QmTS2biLVPrv8CeeXCaKmkFxonMiRvc1LxiYBRYDAJHQUS\"]},\"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol\":{\"keccak256\":\"0xc6619957bcc6641fe8984bfaf9ff11a9e4b97d8149c0495f608f9a2416d7c5cf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://543be67f7fa43b1b932637c1c7f12035f0f4b0f7ee2bd3c33841186f79c165c1\",\"dweb:/ipfs/QmSBPM2UVKbmJqWfD9i6hSiqbaE8TV4TSqfuiivziRRLKM\"]},\"lib/openzeppelin-contracts/contracts/security/ReentrancyGuard.sol\":{\"keccak256\":\"0xa535a5df777d44e945dd24aa43a11e44b024140fc340ad0dfe42acf4002aade1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://41319e7f621f2dc3733511332c4fd032f8e32ad2aa7fd6f665c19741d9941a34\",\"dweb:/ipfs/QmcYR3bd862GD1Bc7jwrU9bGxrhUu5na1oP964bDCu2id1\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15\",\"dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5\",\"dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd\",\"dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol\":{\"keccak256\":\"0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a\",\"dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0x909d608c2db6eb165ca178c81289a07ed2e118e444d0025b2a85c97d0b44a4fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://656cda26512ddd7373c2d5551c8fae759fc30f05b10f0fc2e738e9274199dbd4\",\"dweb:/ipfs/QmTSArSzQRFbQmHgq7U1PZXnsDFhvDZhKVu9CzMG4yo6Lx\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xf09e68aa0dc6722a25bc46490e8d48ed864466d17313b8a0b254c36b54e49899\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e26daf81e2252dc1fe1ce0e4b55c2eb7c6d1ee84ae6558d1a9554432ea1d32da\",\"dweb:/ipfs/Qmb1UANWiWq5pCKbmHSu772hd4nt374dVaghGmwSVNuk8Q\"]},\"lib/openzeppelin-contracts/contracts/utils/Strings.sol\":{\"keccak256\":\"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f\",\"dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol\":{\"keccak256\":\"0x5a08ad61f4e82b8a3323562661a86fb10b10190848073fdc13d4ac43710ffba5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6f7bb74cf88fd88daa34e118bc6e363381d05044f34f391d39a10c0c9dac3ebd\",\"dweb:/ipfs/QmNbQ3v8v4zuDtg7VeLAbdhAm3tCzUodNoDZZ8ekmCHWZX\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]},\"lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/src/strings.sol\":{\"keccak256\":\"0x42cad11a7033f2fe05dd68611d2304407a620ac985b91edf29d5868cfe196223\",\"urls\":[\"bzz-raw://3cbc2333234e1f00eab5e57c4bcaf5115661e5e066a17c70af587a0a96f24669\",\"dweb:/ipfs/QmPHvStqcvZL46LW5N2ExTwAaqNhRCcmAX66aR6oE1WDar\"]},\"lib/openzeppelin-foundry-upgrades/src/Defender.sol\":{\"keccak256\":\"0x2114e4d70d53b36e8cec54ba11ff78d9f38a466ec3504c76c7f26101a7cff37f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://58f4d9bc58646e7631b263cdb8ef260e6818e9f716036d81d1c18218c9557a23\",\"dweb:/ipfs/QmS18L4R4gPtay9eQBcR28DnwmBkGSWsiCFwm2tXc3BkHL\"]},\"lib/openzeppelin-foundry-upgrades/src/LegacyUpgrades.sol\":{\"keccak256\":\"0x8436719f73c76efadaa16cd719d088f698ea3591595dfdf2c15fd66f3e203197\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ac8d0e55defe124adcc3845348602d6528b00b7dc5f7abf9e1b245d0cea9b55e\",\"dweb:/ipfs/QmaPBoG89Bd2btJZW5kjXx7zXo6KhAdeTuMq5xo431M8xq\"]},\"lib/openzeppelin-foundry-upgrades/src/Options.sol\":{\"keccak256\":\"0xa5414683d6b219b28e75ecaab3d00a305dfaf4d970389a88992275c8072ce8ac\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1dbfd566ba318f2b740159c28e4511c84c9d76fcc293ae17c9b1a87b3ea16c9\",\"dweb:/ipfs/QmcyxPoeBdzA9iHEgd76xKhaQ8HKfpV4owdSv6127MmveT\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Core.sol\":{\"keccak256\":\"0x37073df20d2b5fbb0a873e6b2dd76c23e23455d1c2d2ba57d2f0998201a4251d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://79d507647ea48d93371341684cf4199d55ed799db9d3489bc016f53990d2ff7c\",\"dweb:/ipfs/QmQWgXiYcPcwNcrkTHb72WtHd4xPcXfRUMfBrhkDHgr2ut\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/DefenderDeploy.sol\":{\"keccak256\":\"0x868ffdaf5d185fee103fc4581385392b47c209a5cfd2aec01f0307dbc0101d73\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://76e51bf69a4d0b5d1d9cfa7efa442bdcf9d713966563432ef8fdd00ec959a25e\",\"dweb:/ipfs/QmTHkdvMnqmEvus7zbmHhPkWk3fM9SW2Jq8gnyBLwVJtxG\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Utils.sol\":{\"keccak256\":\"0x4de002af810f6a5fe26a6381e0ead3331735bd0059434a22df75e17c177b5f87\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af32ff07f606e530a53030db141a75af144cfe065a6543939d412018c6159540\",\"dweb:/ipfs/QmbfTB92Zd8VQHW61g9dx1CvGgSL5SCoZDLrvJfnR7Ctio\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Versions.sol\":{\"keccak256\":\"0xf1a1441c18a296853509e9b1d18be794ed3de836caea49d6948b5e9ac566e8c6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6f3463514235bd875ecacf45f95cac64aa650dd38d05c15fe1f4203b6b5733bd\",\"dweb:/ipfs/Qmcbhmw9NPkG8MqiVsQ4qUupeQFCRgyBDKuoUwohwa8EP3\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IProxyAdmin.sol\":{\"keccak256\":\"0xf5e514595089f8959da130507086e7388602a71ce60575d141e7d892dfbddbfc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9b41366e2823ccc8cb42304496d761b3df80946d17384634a61afd7139495c91\",\"dweb:/ipfs/QmZE2nRMxax1NPj63ifemKdScGJzKNWi7BCGudjFLsUz1y\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableBeacon.sol\":{\"keccak256\":\"0xa8d7bffdd26eb763e459650c83f247b54af79800c2df52ad05878f238fc1c2f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ed47f1e53e5eb7d48fed60a414755641fca8fa0e713fd503b2597227da78a2f\",\"dweb:/ipfs/QmQr8A5wddHdhQNauFShXxRkPcuVVpVsYpq846WhmFC8Tv\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableProxy.sol\":{\"keccak256\":\"0x781b564b90bba0c0e8e12fb66b1c910f42d369db469f2e88592b4cff29de99a5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://45fcab02a43fde934445b88e905aba3f58a70b75dd6ee6eb86a3d593424aeb03\",\"dweb:/ipfs/QmXmhAgrctaYUDLoTRgUjwD4deoXu1E2QT1kftVGcVa56j\"]},\"pkg/contracts/src/BaseStrategyUpgradeable.sol\":{\"keccak256\":\"0xe059f9e1a262a4713e230a6025c3356681bb5f3c8013b87bc579bae93aa66c20\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://37e879664b08005b9544457cf89bce77e38b6a25639566df7366b9e5968c815e\",\"dweb:/ipfs/QmYgNRqZfYUPbWgcHUHghTcpqjVmT9v4HfkfPdEF64fYe5\"]},\"pkg/contracts/src/CVStrategy.sol\":{\"keccak256\":\"0x132bcf17470960e380d841159d9389985d609aaae1c9a657c78902f7871da957\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://84e905bf392579b44f33fff8586431b940e110b2210854cf487321cc92061705\",\"dweb:/ipfs/QmQpvszYu8RbrXmUFLifSodQzV8LAqazk1fzXNARGc5sBT\"]},\"pkg/contracts/src/CVStrategyV0_0.sol\":{\"keccak256\":\"0x79d01b399c8d735923dfa26b8dacba6200a861202dd6fb1c7711241285439d2d\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://e7ea0014e25a729d6d688620658df81a179a8c2380ae0bc4c78668cd486adb04\",\"dweb:/ipfs/QmdPM8JpFXeqBxQgkRzM1inzCT2rkRxnpoSrFk8DauDpNf\"]},\"pkg/contracts/src/ISybilScorer.sol\":{\"keccak256\":\"0x0e25fbb8497ac3c969d80c9032362d45e56c0a45dc9ba3dff6a8a704571f38ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0dff90ebae6e7131a5300fcaf525bc2ab0ae90fcd13f277d7b7b6939eeb8b7eb\",\"dweb:/ipfs/QmYGkYqpUVrBWoNY6f3CtwrrVQFWSvnJfpu68t95f6AkBY\"]},\"pkg/contracts/src/RegistryCommunity.sol\":{\"keccak256\":\"0xc735f4d2635149f2db9bff291da56e08c3c312d9eb1b767b8a1e3e51584d5734\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://247b33b78abface6a7e2da38174386de9b543f6a27e8340e26d854bff57184a3\",\"dweb:/ipfs/QmedNdqkqeboGzz9w868uGf7KnXUaYZe6i1YcdUPPkJnnf\"]},\"pkg/contracts/src/RegistryCommunityV0_0.sol\":{\"keccak256\":\"0x6525c857f7baff606e87bbc2878f3606923997a444eb500aa15018c676c972a9\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://89d2af9f470c8d7431ff6b1981b7bf46520f719d68da38ab3ca065496a6297d8\",\"dweb:/ipfs/QmceJHX57HbnBXVfmhtRPmnApUQy5QSWTybgq6g37vCxEN\"]},\"pkg/contracts/src/RegistryFactory.sol\":{\"keccak256\":\"0x888b7f5eb1079f90ccfa0b41d8a970bffd8d4d469f9b31917a58279b358dbda5\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://af25fd783de00adf01d1c7caa572801fed0d474306a43b862535b08e65ec10c6\",\"dweb:/ipfs/Qmeb2nEaMQLV86y1CYAAV2c6BYpBDTbpLuC1SigeNjdqLo\"]},\"pkg/contracts/src/RegistryFactoryV0_0.sol\":{\"keccak256\":\"0xba255a19807591d347479f281f2f226fc5b1c9101af880092623292f9db9a319\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://a43d8b5a55c35b898550c702dec70d27f2b0769f44b8cf31ca595ae733f07fab\",\"dweb:/ipfs/QmZpbNzgzF6ADhQmEBnPjLChX2KEV6EFWogk4JX2HhsvYL\"]},\"pkg/contracts/src/interfaces/FAllo.sol\":{\"keccak256\":\"0x32f38cb4400a07a99ae68a9beb91e5649886487172fd50561da6763464efc437\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://cb4f0cee2f3fbede7be5e8e1d7ee8034086359cd07b9dab49c4a991388e5c458\",\"dweb:/ipfs/QmS26kA8cZ9shWwxcbF17Kes8L7Jgw85EQVydDmwb34mjM\"]},\"pkg/contracts/src/interfaces/ISafe.sol\":{\"keccak256\":\"0x878a210809bb684c42157a10f3f90350a67d0a4863f130499942b06f0f2c9143\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://fa2d71bd427c3415e98a2ee15ff673f3cc61c17f14d7087c5eedc83b55f6b0ef\",\"dweb:/ipfs/QmesVSmJQQzi6ys1cvhQFCJyDXchb736mT5bXks4Yp6Cbj\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[],"type":"error","name":"AddressCannotBeZero"},{"inputs":[{"internalType":"address","name":"_community","type":"address"}],"type":"error","name":"CommunityInvalid"},{"inputs":[{"internalType":"address","name":"previousAdmin","type":"address","indexed":false},{"internalType":"address","name":"newAdmin","type":"address","indexed":false}],"type":"event","name":"AdminChanged","anonymous":false},{"inputs":[{"internalType":"address","name":"beacon","type":"address","indexed":true}],"type":"event","name":"BeaconUpgraded","anonymous":false},{"inputs":[{"internalType":"address","name":"_registryCommunity","type":"address","indexed":false}],"type":"event","name":"CommunityCreated","anonymous":false},{"inputs":[{"internalType":"address","name":"_community","type":"address","indexed":false},{"internalType":"bool","name":"_isValid","type":"bool","indexed":false}],"type":"event","name":"CommunityValiditySet","anonymous":false},{"inputs":[{"internalType":"address","name":"_newFeeReceiver","type":"address","indexed":false}],"type":"event","name":"FeeReceiverSet","anonymous":false},{"inputs":[{"internalType":"uint8","name":"version","type":"uint8","indexed":false}],"type":"event","name":"Initialized","anonymous":false},{"inputs":[{"internalType":"address","name":"previousOwner","type":"address","indexed":true},{"internalType":"address","name":"newOwner","type":"address","indexed":true}],"type":"event","name":"OwnershipTransferred","anonymous":false},{"inputs":[{"internalType":"address","name":"_community","type":"address","indexed":false},{"internalType":"uint256","name":"_newProtocolFee","type":"uint256","indexed":false}],"type":"event","name":"ProtocolFeeSet","anonymous":false},{"inputs":[{"internalType":"address","name":"implementation","type":"address","indexed":true}],"type":"event","name":"Upgraded","anonymous":false},{"inputs":[{"internalType":"struct RegistryCommunityV0_0.InitializeParams","name":"params","type":"tuple","components":[{"internalType":"address","name":"_allo","type":"address"},{"internalType":"contract IERC20","name":"_gardenToken","type":"address"},{"internalType":"uint256","name":"_registerStakeAmount","type":"uint256"},{"internalType":"uint256","name":"_communityFee","type":"uint256"},{"internalType":"uint256","name":"_nonce","type":"uint256"},{"internalType":"address","name":"_registryFactory","type":"address"},{"internalType":"address","name":"_feeReceiver","type":"address"},{"internalType":"struct Metadata","name":"_metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]},{"internalType":"address payable","name":"_councilSafe","type":"address"},{"internalType":"string","name":"_communityName","type":"string"},{"internalType":"bool","name":"_isKickEnabled","type":"bool"},{"internalType":"string","name":"covenantIpfsHash","type":"string"},{"internalType":"address","name":"_strategyTemplate","type":"address"}]}],"stateMutability":"nonpayable","type":"function","name":"createRegistry","outputs":[{"internalType":"address","name":"_createdRegistryAddress","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"gardensFeeReceiver","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"_community","type":"address"}],"stateMutability":"view","type":"function","name":"getCommunityValidity","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getGardensFeeReceiver","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"_community","type":"address"}],"stateMutability":"view","type":"function","name":"getProtocolFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"_gardensFeeReceiver","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[],"stateMutability":"view","type":"function","name":"nonce","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"proxiableUUID","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"renounceOwnership"},{"inputs":[{"internalType":"address","name":"_community","type":"address"},{"internalType":"bool","name":"_isValid","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"setCommunityValidity"},{"inputs":[{"internalType":"address","name":"_community","type":"address"},{"internalType":"uint256","name":"_newProtocolFee","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"setProtocolFee"},{"inputs":[{"internalType":"address","name":"_newFeeReceiver","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setReceiverAddress"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transferOwnership"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"upgradeTo"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"payable","type":"function","name":"upgradeToAndCall"}],"devdoc":{"kind":"dev","methods":{"owner()":{"details":"Returns the address of the current owner."},"proxiableUUID()":{"details":"Implementation of the ERC1822 {proxiableUUID} function. This returns the storage slot used by the implementation. It is used to validate the implementation's compatibility when performing an upgrade. IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this function revert if invoked through a proxy. This is guaranteed by the `notDelegated` modifier."},"renounceOwnership()":{"details":"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner."},"transferOwnership(address)":{"details":"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner."},"upgradeTo(address)":{"custom:oz-upgrades-unsafe-allow-reachable":"delegatecall","details":"Upgrade the implementation of the proxy to `newImplementation`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event."},"upgradeToAndCall(address,bytes)":{"custom:oz-upgrades-unsafe-allow-reachable":"delegatecall","details":"Upgrade the implementation of the proxy to `newImplementation`, and subsequently execute the function call encoded in `data`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event."}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-contracts/=lib/safe-contracts/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":1000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"pkg/contracts/src/RegistryFactoryV0_0.sol":"RegistryFactoryV0_0"},"evmVersion":"paris","libraries":{}},"sources":{"lib/allo-v2/contracts/core/interfaces/IAllo.sol":{"keccak256":"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce","urls":["bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7","dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/interfaces/IRegistry.sol":{"keccak256":"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f","urls":["bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e","dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA"],"license":"MIT"},"lib/allo-v2/contracts/core/interfaces/IStrategy.sol":{"keccak256":"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23","urls":["bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487","dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Clone.sol":{"keccak256":"0xc348b24b7d8a98c4faa5f2aa37ce9264a74f81dbdef1a9bae2eaa125585c3c7e","urls":["bzz-raw://1335b3ec59ec7e3d12ea7c90b3aa56f4c26e0d44d342f54412933be9d4f16067","dweb:/ipfs/QmXNFo2wCyq9cpvfgbdHvBUQecThFSEoUnMuZNS6WinDrr"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Errors.sol":{"keccak256":"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15","urls":["bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf","dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Metadata.sol":{"keccak256":"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44","urls":["bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c","dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Native.sol":{"keccak256":"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5","urls":["bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a","dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Transfer.sol":{"keccak256":"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286","urls":["bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11","dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/strategies/BaseStrategy.sol":{"keccak256":"0x3f1382dc6c35d50545e327e7ed6016f2bd752357d446bd698014073f0b812873","urls":["bzz-raw://99500abcd617fa43f6dde49e2c7802821ceaf54a65a8055cbbf2695ecd107974","dweb:/ipfs/QmUktZkWuu3GCMEijY1fqt7NMy7BzpTvEtcmpB1fuoa7zt"],"license":"AGPL-3.0-only"},"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol":{"keccak256":"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624","urls":["bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298","dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt"],"license":"MIT"},"lib/forge-std/src/Vm.sol":{"keccak256":"0x51fec240abc6dd23e0ee6de7c65106379aef732cad6c4ae5df6b55db886e7456","urls":["bzz-raw://a47d9c0a9876e7f9e411843b994a741d4ac1a87d8459ffc3c56359de691ddc1a","dweb:/ipfs/QmQiFN9b3Y2azrD1RBfAKEuAG3YeJkMzA2DGzgEE9kMeEK"],"license":"MIT OR Apache-2.0"},"lib/forge-std/src/console.sol":{"keccak256":"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba","urls":["bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70","dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol":{"keccak256":"0xc8710577334e8d0799ae2b2a731b1924a7bddd64319da9787ddd2dc69bdd1ce5","urls":["bzz-raw://b83b7afa4d2372da3ba5402fb10860a105c35d79812c60dc61007be2afc17618","dweb:/ipfs/QmYX9xPmbNVSKXrepKiUZiG5oL3SdzFp9a4kqspxX1sEUx"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol":{"keccak256":"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa","urls":["bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c","dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol":{"keccak256":"0x359a1ab89b46b9aba7bcad3fb651924baf4893d15153049b9976b0fc9be1358e","urls":["bzz-raw://e89863421b4014b96a4b62be76eb3b9f0a8afe9684664a6f389124c0964bfe5c","dweb:/ipfs/Qmbk7xr1irpDuU1WdxXgxELBXxs61rHhCgod7heVcvFx16"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol":{"keccak256":"0x5a55d1b148a0cb4183f1e09ceaff87bd2d828440f2f5dc01dfe03eb29e7c88ec","urls":["bzz-raw://b3f9278bdda788763efbe569da77fc24feff36e871779e2da69f74ea5f8bfacf","dweb:/ipfs/QmZF9cH4rfazmwKT55p3tZyzh9QGghNyss81f46d6yVXap"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794","urls":["bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e","dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol":{"keccak256":"0x2025ccf05f6f1f2fd4e078e552836f525a1864e3854ed555047cd732320ab29b","urls":["bzz-raw://d27f4b23c2dee42394aebaf42bf238285230f472dfd3282a39c3f000ec28214f","dweb:/ipfs/QmQa3DnvccwdWJeWrjgXPnFMTWbzWQWR39hVqC7eEwo2PC"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol":{"keccak256":"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422","urls":["bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b","dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef","urls":["bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95","dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol":{"keccak256":"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb","urls":["bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a","dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol":{"keccak256":"0xd90d7723512df65ae417adaf0801042940f0dabd60039ceeaffe34aa5b238da1","urls":["bzz-raw://1b13befeb3413749292f9fb229de1c7a509a5ce2c8047d9094fc004ca9d3af89","dweb:/ipfs/QmRzJ2hZSwRtMejHUZAYTPRKgZsnfb112Fno9Jf3EiDfwA"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol":{"keccak256":"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09","urls":["bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758","dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol":{"keccak256":"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e","urls":["bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91","dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol":{"keccak256":"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a","urls":["bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4","dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/access/AccessControl.sol":{"keccak256":"0x0dd6e52cb394d7f5abe5dca2d4908a6be40417914720932de757de34a99ab87f","urls":["bzz-raw://dc117ce50ea746cab6b97ed1a1facee17a715ae0cb95d67b943dacbaf15176fb","dweb:/ipfs/QmYRZ2UGNYwsHwfNu7Wjr8L2j1LBZ1mKv6NvbwgterYMXc"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/access/IAccessControl.sol":{"keccak256":"0x59ce320a585d7e1f163cd70390a0ef2ff9cec832e2aa544293a00692465a7a57","urls":["bzz-raw://bb2c137c343ef0c4c7ce7b18c1d108afdc9d315a04e48307288d2d05adcbde3a","dweb:/ipfs/QmUxhrAQM3MM3FF5j7AtcXLXguWCJBHJ14BRdVtuoQc8Fh"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/access/Ownable.sol":{"keccak256":"0xba43b97fba0d32eb4254f6a5a297b39a19a247082a02d6e69349e071e2946218","urls":["bzz-raw://fc980984badf3984b6303b377711220e067722bbd6a135b24669ff5069ef9f32","dweb:/ipfs/QmPHXMSXj99XjSVM21YsY6aNtLLjLVXDbyN76J5HQYvvrz"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol":{"keccak256":"0x3cbef5ebc24b415252e2f8c0c9254555d30d9f085603b4b80d9b5ed20ab87e90","urls":["bzz-raw://e8fa670c3bdce78e642cc6ae11c4cb38b133499cdce5e1990a9979d424703263","dweb:/ipfs/QmVxeCUk4jL2pXQyhsoNJwyU874wRufS2WvGe8TgPKPqhE"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol":{"keccak256":"0x1d4afe6cb24200cc4545eed814ecf5847277dfe5d613a1707aad5fceecebcfff","urls":["bzz-raw://383fb7b8181016ac5ccf07bc9cdb7c1b5045ea36e2cc4df52bcbf20396fc7688","dweb:/ipfs/QmYJ7Cg4WmE3rR8KGQxjUCXFfTH6TcwZ2Z1f6tPrq7jHFr"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol":{"keccak256":"0xa2b22da3032e50b55f95ec1d13336102d675f341167aa76db571ef7f8bb7975d","urls":["bzz-raw://96b6d77a20bebd4eb06b801d3d020c7e82be13bd535cb0d0a6b7181c51dab5d5","dweb:/ipfs/QmPUR9Cv9jNFdQX6PtBfaBW1ZCnKwiu65R2VD5kbdanDyn"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Upgrade.sol":{"keccak256":"0x3b21ae06bf5957f73fa16754b0669c77b7abd8ba6c072d35c3281d446fdb86c2","urls":["bzz-raw://2db8e18505e86e02526847005d7287a33e397ed7fb9eaba3fd4a4a197add16e2","dweb:/ipfs/QmW9BSuKTzHWHBNSHF4L8XfVuU1uJrP2vLg84YtBd8mL82"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol":{"keccak256":"0xc130fe33f1b2132158531a87734153293f6d07bc263ff4ac90e85da9c82c0e27","urls":["bzz-raw://8831721b6f4cc26534d190f9f1631c3f59c9ff38efdd911f85e0882b8e360472","dweb:/ipfs/QmQZnLErZNStirSQ13ZNWQgvEYUtGE5tXYwn4QUPaVUfPN"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol":{"keccak256":"0xd50a3421ac379ccb1be435fa646d66a65c986b4924f0849839f08692f39dde61","urls":["bzz-raw://ada1e030c0231db8d143b44ce92b4d1158eedb087880cad6d8cc7bd7ebe7b354","dweb:/ipfs/QmWZ2NHZweRpz1U9GF6R1h65ri76dnX7fNxLBeM2t5N5Ce"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x3d6069be9b4c01fb81840fb9c2c4dc58dd6a6a4aafaa2c6837de8699574d84c6","urls":["bzz-raw://720d6bb56ea0c4ef781c0bd65c5bd0541f5a46100163b2587170f97658d2deed","dweb:/ipfs/QmTS2biLVPrv8CeeXCaKmkFxonMiRvc1LxiYBRYDAJHQUS"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol":{"keccak256":"0xc6619957bcc6641fe8984bfaf9ff11a9e4b97d8149c0495f608f9a2416d7c5cf","urls":["bzz-raw://543be67f7fa43b1b932637c1c7f12035f0f4b0f7ee2bd3c33841186f79c165c1","dweb:/ipfs/QmSBPM2UVKbmJqWfD9i6hSiqbaE8TV4TSqfuiivziRRLKM"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/security/ReentrancyGuard.sol":{"keccak256":"0xa535a5df777d44e945dd24aa43a11e44b024140fc340ad0dfe42acf4002aade1","urls":["bzz-raw://41319e7f621f2dc3733511332c4fd032f8e32ad2aa7fd6f665c19741d9941a34","dweb:/ipfs/QmcYR3bd862GD1Bc7jwrU9bGxrhUu5na1oP964bDCu2id1"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol":{"keccak256":"0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c","urls":["bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15","dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305","urls":["bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5","dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol":{"keccak256":"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca","urls":["bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd","dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol":{"keccak256":"0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a","urls":["bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a","dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol":{"keccak256":"0x909d608c2db6eb165ca178c81289a07ed2e118e444d0025b2a85c97d0b44a4fa","urls":["bzz-raw://656cda26512ddd7373c2d5551c8fae759fc30f05b10f0fc2e738e9274199dbd4","dweb:/ipfs/QmTSArSzQRFbQmHgq7U1PZXnsDFhvDZhKVu9CzMG4yo6Lx"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Address.sol":{"keccak256":"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa","urls":["bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931","dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Context.sol":{"keccak256":"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7","urls":["bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92","dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol":{"keccak256":"0xf09e68aa0dc6722a25bc46490e8d48ed864466d17313b8a0b254c36b54e49899","urls":["bzz-raw://e26daf81e2252dc1fe1ce0e4b55c2eb7c6d1ee84ae6558d1a9554432ea1d32da","dweb:/ipfs/Qmb1UANWiWq5pCKbmHSu772hd4nt374dVaghGmwSVNuk8Q"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Strings.sol":{"keccak256":"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0","urls":["bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f","dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol":{"keccak256":"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b","urls":["bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d","dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol":{"keccak256":"0x5a08ad61f4e82b8a3323562661a86fb10b10190848073fdc13d4ac43710ffba5","urls":["bzz-raw://6f7bb74cf88fd88daa34e118bc6e363381d05044f34f391d39a10c0c9dac3ebd","dweb:/ipfs/QmNbQ3v8v4zuDtg7VeLAbdhAm3tCzUodNoDZZ8ekmCHWZX"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/Math.sol":{"keccak256":"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3","urls":["bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c","dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol":{"keccak256":"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc","urls":["bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7","dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/src/strings.sol":{"keccak256":"0x42cad11a7033f2fe05dd68611d2304407a620ac985b91edf29d5868cfe196223","urls":["bzz-raw://3cbc2333234e1f00eab5e57c4bcaf5115661e5e066a17c70af587a0a96f24669","dweb:/ipfs/QmPHvStqcvZL46LW5N2ExTwAaqNhRCcmAX66aR6oE1WDar"],"license":null},"lib/openzeppelin-foundry-upgrades/src/Defender.sol":{"keccak256":"0x2114e4d70d53b36e8cec54ba11ff78d9f38a466ec3504c76c7f26101a7cff37f","urls":["bzz-raw://58f4d9bc58646e7631b263cdb8ef260e6818e9f716036d81d1c18218c9557a23","dweb:/ipfs/QmS18L4R4gPtay9eQBcR28DnwmBkGSWsiCFwm2tXc3BkHL"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/LegacyUpgrades.sol":{"keccak256":"0x8436719f73c76efadaa16cd719d088f698ea3591595dfdf2c15fd66f3e203197","urls":["bzz-raw://ac8d0e55defe124adcc3845348602d6528b00b7dc5f7abf9e1b245d0cea9b55e","dweb:/ipfs/QmaPBoG89Bd2btJZW5kjXx7zXo6KhAdeTuMq5xo431M8xq"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/Options.sol":{"keccak256":"0xa5414683d6b219b28e75ecaab3d00a305dfaf4d970389a88992275c8072ce8ac","urls":["bzz-raw://b1dbfd566ba318f2b740159c28e4511c84c9d76fcc293ae17c9b1a87b3ea16c9","dweb:/ipfs/QmcyxPoeBdzA9iHEgd76xKhaQ8HKfpV4owdSv6127MmveT"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Core.sol":{"keccak256":"0x37073df20d2b5fbb0a873e6b2dd76c23e23455d1c2d2ba57d2f0998201a4251d","urls":["bzz-raw://79d507647ea48d93371341684cf4199d55ed799db9d3489bc016f53990d2ff7c","dweb:/ipfs/QmQWgXiYcPcwNcrkTHb72WtHd4xPcXfRUMfBrhkDHgr2ut"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/DefenderDeploy.sol":{"keccak256":"0x868ffdaf5d185fee103fc4581385392b47c209a5cfd2aec01f0307dbc0101d73","urls":["bzz-raw://76e51bf69a4d0b5d1d9cfa7efa442bdcf9d713966563432ef8fdd00ec959a25e","dweb:/ipfs/QmTHkdvMnqmEvus7zbmHhPkWk3fM9SW2Jq8gnyBLwVJtxG"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Utils.sol":{"keccak256":"0x4de002af810f6a5fe26a6381e0ead3331735bd0059434a22df75e17c177b5f87","urls":["bzz-raw://af32ff07f606e530a53030db141a75af144cfe065a6543939d412018c6159540","dweb:/ipfs/QmbfTB92Zd8VQHW61g9dx1CvGgSL5SCoZDLrvJfnR7Ctio"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Versions.sol":{"keccak256":"0xf1a1441c18a296853509e9b1d18be794ed3de836caea49d6948b5e9ac566e8c6","urls":["bzz-raw://6f3463514235bd875ecacf45f95cac64aa650dd38d05c15fe1f4203b6b5733bd","dweb:/ipfs/Qmcbhmw9NPkG8MqiVsQ4qUupeQFCRgyBDKuoUwohwa8EP3"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IProxyAdmin.sol":{"keccak256":"0xf5e514595089f8959da130507086e7388602a71ce60575d141e7d892dfbddbfc","urls":["bzz-raw://9b41366e2823ccc8cb42304496d761b3df80946d17384634a61afd7139495c91","dweb:/ipfs/QmZE2nRMxax1NPj63ifemKdScGJzKNWi7BCGudjFLsUz1y"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableBeacon.sol":{"keccak256":"0xa8d7bffdd26eb763e459650c83f247b54af79800c2df52ad05878f238fc1c2f8","urls":["bzz-raw://8ed47f1e53e5eb7d48fed60a414755641fca8fa0e713fd503b2597227da78a2f","dweb:/ipfs/QmQr8A5wddHdhQNauFShXxRkPcuVVpVsYpq846WhmFC8Tv"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableProxy.sol":{"keccak256":"0x781b564b90bba0c0e8e12fb66b1c910f42d369db469f2e88592b4cff29de99a5","urls":["bzz-raw://45fcab02a43fde934445b88e905aba3f58a70b75dd6ee6eb86a3d593424aeb03","dweb:/ipfs/QmXmhAgrctaYUDLoTRgUjwD4deoXu1E2QT1kftVGcVa56j"],"license":"MIT"},"pkg/contracts/src/BaseStrategyUpgradeable.sol":{"keccak256":"0xe059f9e1a262a4713e230a6025c3356681bb5f3c8013b87bc579bae93aa66c20","urls":["bzz-raw://37e879664b08005b9544457cf89bce77e38b6a25639566df7366b9e5968c815e","dweb:/ipfs/QmYgNRqZfYUPbWgcHUHghTcpqjVmT9v4HfkfPdEF64fYe5"],"license":"AGPL-3.0-only"},"pkg/contracts/src/CVStrategy.sol":{"keccak256":"0x132bcf17470960e380d841159d9389985d609aaae1c9a657c78902f7871da957","urls":["bzz-raw://84e905bf392579b44f33fff8586431b940e110b2210854cf487321cc92061705","dweb:/ipfs/QmQpvszYu8RbrXmUFLifSodQzV8LAqazk1fzXNARGc5sBT"],"license":"AGPL-3.0-only"},"pkg/contracts/src/CVStrategyV0_0.sol":{"keccak256":"0x79d01b399c8d735923dfa26b8dacba6200a861202dd6fb1c7711241285439d2d","urls":["bzz-raw://e7ea0014e25a729d6d688620658df81a179a8c2380ae0bc4c78668cd486adb04","dweb:/ipfs/QmdPM8JpFXeqBxQgkRzM1inzCT2rkRxnpoSrFk8DauDpNf"],"license":"AGPL-3.0-only"},"pkg/contracts/src/ISybilScorer.sol":{"keccak256":"0x0e25fbb8497ac3c969d80c9032362d45e56c0a45dc9ba3dff6a8a704571f38ea","urls":["bzz-raw://0dff90ebae6e7131a5300fcaf525bc2ab0ae90fcd13f277d7b7b6939eeb8b7eb","dweb:/ipfs/QmYGkYqpUVrBWoNY6f3CtwrrVQFWSvnJfpu68t95f6AkBY"],"license":"MIT"},"pkg/contracts/src/RegistryCommunity.sol":{"keccak256":"0xc735f4d2635149f2db9bff291da56e08c3c312d9eb1b767b8a1e3e51584d5734","urls":["bzz-raw://247b33b78abface6a7e2da38174386de9b543f6a27e8340e26d854bff57184a3","dweb:/ipfs/QmedNdqkqeboGzz9w868uGf7KnXUaYZe6i1YcdUPPkJnnf"],"license":"AGPL-3.0-only"},"pkg/contracts/src/RegistryCommunityV0_0.sol":{"keccak256":"0x6525c857f7baff606e87bbc2878f3606923997a444eb500aa15018c676c972a9","urls":["bzz-raw://89d2af9f470c8d7431ff6b1981b7bf46520f719d68da38ab3ca065496a6297d8","dweb:/ipfs/QmceJHX57HbnBXVfmhtRPmnApUQy5QSWTybgq6g37vCxEN"],"license":"AGPL-3.0-only"},"pkg/contracts/src/RegistryFactory.sol":{"keccak256":"0x888b7f5eb1079f90ccfa0b41d8a970bffd8d4d469f9b31917a58279b358dbda5","urls":["bzz-raw://af25fd783de00adf01d1c7caa572801fed0d474306a43b862535b08e65ec10c6","dweb:/ipfs/Qmeb2nEaMQLV86y1CYAAV2c6BYpBDTbpLuC1SigeNjdqLo"],"license":"AGPL-3.0-only"},"pkg/contracts/src/RegistryFactoryV0_0.sol":{"keccak256":"0xba255a19807591d347479f281f2f226fc5b1c9101af880092623292f9db9a319","urls":["bzz-raw://a43d8b5a55c35b898550c702dec70d27f2b0769f44b8cf31ca595ae733f07fab","dweb:/ipfs/QmZpbNzgzF6ADhQmEBnPjLChX2KEV6EFWogk4JX2HhsvYL"],"license":"AGPL-3.0-only"},"pkg/contracts/src/interfaces/FAllo.sol":{"keccak256":"0x32f38cb4400a07a99ae68a9beb91e5649886487172fd50561da6763464efc437","urls":["bzz-raw://cb4f0cee2f3fbede7be5e8e1d7ee8034086359cd07b9dab49c4a991388e5c458","dweb:/ipfs/QmS26kA8cZ9shWwxcbF17Kes8L7Jgw85EQVydDmwb34mjM"],"license":"AGPL-3.0-only"},"pkg/contracts/src/interfaces/ISafe.sol":{"keccak256":"0x878a210809bb684c42157a10f3f90350a67d0a4863f130499942b06f0f2c9143","urls":["bzz-raw://fa2d71bd427c3415e98a2ee15ff673f3cc61c17f14d7087c5eedc83b55f6b0ef","dweb:/ipfs/QmesVSmJQQzi6ys1cvhQFCJyDXchb736mT5bXks4Yp6Cbj"],"license":"LGPL-3.0-only"}},"version":1},"storageLayout":{"storage":[{"astId":53029,"contract":"pkg/contracts/src/RegistryFactoryV0_0.sol:RegistryFactoryV0_0","label":"_initialized","offset":0,"slot":"0","type":"t_uint8"},{"astId":53032,"contract":"pkg/contracts/src/RegistryFactoryV0_0.sol:RegistryFactoryV0_0","label":"_initializing","offset":1,"slot":"0","type":"t_bool"},{"astId":53734,"contract":"pkg/contracts/src/RegistryFactoryV0_0.sol:RegistryFactoryV0_0","label":"__gap","offset":0,"slot":"1","type":"t_array(t_uint256)50_storage"},{"astId":52821,"contract":"pkg/contracts/src/RegistryFactoryV0_0.sol:RegistryFactoryV0_0","label":"_owner","offset":0,"slot":"51","type":"t_address"},{"astId":52941,"contract":"pkg/contracts/src/RegistryFactoryV0_0.sol:RegistryFactoryV0_0","label":"__gap","offset":0,"slot":"52","type":"t_array(t_uint256)49_storage"},{"astId":85307,"contract":"pkg/contracts/src/RegistryFactoryV0_0.sol:RegistryFactoryV0_0","label":"nonce","offset":0,"slot":"101","type":"t_uint256"},{"astId":85312,"contract":"pkg/contracts/src/RegistryFactoryV0_0.sol:RegistryFactoryV0_0","label":"communityToInfo","offset":0,"slot":"102","type":"t_mapping(t_address,t_struct(CommunityInfo)85300_storage)"},{"astId":85314,"contract":"pkg/contracts/src/RegistryFactoryV0_0.sol:RegistryFactoryV0_0","label":"gardensFeeReceiver","offset":0,"slot":"103","type":"t_address"},{"astId":85587,"contract":"pkg/contracts/src/RegistryFactoryV0_0.sol:RegistryFactoryV0_0","label":"__gap","offset":0,"slot":"104","type":"t_array(t_uint256)50_storage"}],"types":{"t_address":{"encoding":"inplace","label":"address","numberOfBytes":"20"},"t_array(t_uint256)49_storage":{"encoding":"inplace","label":"uint256[49]","numberOfBytes":"1568","base":"t_uint256"},"t_array(t_uint256)50_storage":{"encoding":"inplace","label":"uint256[50]","numberOfBytes":"1600","base":"t_uint256"},"t_bool":{"encoding":"inplace","label":"bool","numberOfBytes":"1"},"t_mapping(t_address,t_struct(CommunityInfo)85300_storage)":{"encoding":"mapping","key":"t_address","label":"mapping(address => struct CommunityInfo)","numberOfBytes":"32","value":"t_struct(CommunityInfo)85300_storage"},"t_struct(CommunityInfo)85300_storage":{"encoding":"inplace","label":"struct CommunityInfo","numberOfBytes":"64","members":[{"astId":85297,"contract":"pkg/contracts/src/RegistryFactoryV0_0.sol:RegistryFactoryV0_0","label":"fee","offset":0,"slot":"0","type":"t_uint256"},{"astId":85299,"contract":"pkg/contracts/src/RegistryFactoryV0_0.sol:RegistryFactoryV0_0","label":"valid","offset":0,"slot":"1","type":"t_bool"}]},"t_uint256":{"encoding":"inplace","label":"uint256","numberOfBytes":"32"},"t_uint8":{"encoding":"inplace","label":"uint8","numberOfBytes":"1"}}},"ast":{"absolutePath":"pkg/contracts/src/RegistryFactoryV0_0.sol","id":85589,"exportedSymbols":{"CommunityInfo":[85300],"ERC1967Proxy":[55562],"OwnableUpgradeable":[52942],"RegistryCommunityV0_0":[85047],"RegistryFactory":[85283],"RegistryFactoryV0_0":[85588],"UUPSUpgradeable":[56213]},"nodeType":"SourceUnit","src":"42:4129:136","nodes":[{"id":85285,"nodeType":"PragmaDirective","src":"42:24:136","nodes":[],"literals":["solidity","^","0.8",".19"]},{"id":85287,"nodeType":"ImportDirective","src":"68:71:136","nodes":[],"absolutePath":"pkg/contracts/src/RegistryCommunityV0_0.sol","file":"../src/RegistryCommunityV0_0.sol","nameLocation":"-1:-1:-1","scope":85589,"sourceUnit":85048,"symbolAliases":[{"foreign":{"id":85286,"name":"RegistryCommunityV0_0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85047,"src":"76:21:136","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":85289,"nodeType":"ImportDirective","src":"141:59:136","nodes":[],"absolutePath":"pkg/contracts/src/RegistryFactory.sol","file":"../src/RegistryFactory.sol","nameLocation":"-1:-1:-1","scope":85589,"sourceUnit":85284,"symbolAliases":[{"foreign":{"id":85288,"name":"RegistryFactory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85283,"src":"149:15:136","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":85291,"nodeType":"ImportDirective","src":"202:110:136","nodes":[],"absolutePath":"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol","file":"openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol","nameLocation":"-1:-1:-1","scope":85589,"sourceUnit":52943,"symbolAliases":[{"foreign":{"id":85290,"name":"OwnableUpgradeable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52942,"src":"210:18:136","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":85293,"nodeType":"ImportDirective","src":"313:88:136","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol","file":"@openzeppelin/contracts/proxy/utils/UUPSUpgradeable.sol","nameLocation":"-1:-1:-1","scope":85589,"sourceUnit":56214,"symbolAliases":[{"foreign":{"id":85292,"name":"UUPSUpgradeable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56213,"src":"321:15:136","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":85295,"nodeType":"ImportDirective","src":"403:84:136","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol","file":"@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.sol","nameLocation":"-1:-1:-1","scope":85589,"sourceUnit":55563,"symbolAliases":[{"foreign":{"id":85294,"name":"ERC1967Proxy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55562,"src":"411:12:136","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":85300,"nodeType":"StructDefinition","src":"489:57:136","nodes":[],"canonicalName":"CommunityInfo","members":[{"constant":false,"id":85297,"mutability":"mutable","name":"fee","nameLocation":"524:3:136","nodeType":"VariableDeclaration","scope":85300,"src":"516:11:136","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":85296,"name":"uint256","nodeType":"ElementaryTypeName","src":"516:7:136","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":85299,"mutability":"mutable","name":"valid","nameLocation":"538:5:136","nodeType":"VariableDeclaration","scope":85300,"src":"533:10:136","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":85298,"name":"bool","nodeType":"ElementaryTypeName","src":"533:4:136","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"name":"CommunityInfo","nameLocation":"496:13:136","scope":85589,"visibility":"public"},{"id":85588,"nodeType":"ContractDefinition","src":"593:3577:136","nodes":[{"id":85307,"nodeType":"VariableDeclaration","src":"667:20:136","nodes":[],"constant":false,"functionSelector":"affed0e0","mutability":"mutable","name":"nonce","nameLocation":"682:5:136","scope":85588,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":85306,"name":"uint256","nodeType":"ElementaryTypeName","src":"667:7:136","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"id":85312,"nodeType":"VariableDeclaration","src":"694:49:136","nodes":[],"constant":false,"mutability":"mutable","name":"communityToInfo","nameLocation":"728:15:136","scope":85588,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_CommunityInfo_$85300_storage_$","typeString":"mapping(address => struct CommunityInfo)"},"typeName":{"id":85311,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":85308,"name":"address","nodeType":"ElementaryTypeName","src":"702:7:136","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"694:33:136","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_CommunityInfo_$85300_storage_$","typeString":"mapping(address => struct CommunityInfo)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":85310,"nodeType":"UserDefinedTypeName","pathNode":{"id":85309,"name":"CommunityInfo","nameLocations":["713:13:136"],"nodeType":"IdentifierPath","referencedDeclaration":85300,"src":"713:13:136"},"referencedDeclaration":85300,"src":"713:13:136","typeDescriptions":{"typeIdentifier":"t_struct$_CommunityInfo_$85300_storage_ptr","typeString":"struct CommunityInfo"}}},"visibility":"internal"},{"id":85314,"nodeType":"VariableDeclaration","src":"749:33:136","nodes":[],"constant":false,"functionSelector":"b8bed901","mutability":"mutable","name":"gardensFeeReceiver","nameLocation":"764:18:136","scope":85588,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":85313,"name":"address","nodeType":"ElementaryTypeName","src":"749:7:136","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"public"},{"id":85318,"nodeType":"EventDefinition","src":"955:46:136","nodes":[],"anonymous":false,"eventSelector":"bdf37c276f641820b141429d245add2552b4118c0866e5a78638e3de5ef18d9d","name":"FeeReceiverSet","nameLocation":"961:14:136","parameters":{"id":85317,"nodeType":"ParameterList","parameters":[{"constant":false,"id":85316,"indexed":false,"mutability":"mutable","name":"_newFeeReceiver","nameLocation":"984:15:136","nodeType":"VariableDeclaration","scope":85318,"src":"976:23:136","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":85315,"name":"address","nodeType":"ElementaryTypeName","src":"976:7:136","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"975:25:136"}},{"id":85324,"nodeType":"EventDefinition","src":"1006:66:136","nodes":[],"anonymous":false,"eventSelector":"a1ee82e4f177a8017f33ddddac05b7ceab1de9d46f7195e15e8aa2e8b88f3b1c","name":"ProtocolFeeSet","nameLocation":"1012:14:136","parameters":{"id":85323,"nodeType":"ParameterList","parameters":[{"constant":false,"id":85320,"indexed":false,"mutability":"mutable","name":"_community","nameLocation":"1035:10:136","nodeType":"VariableDeclaration","scope":85324,"src":"1027:18:136","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":85319,"name":"address","nodeType":"ElementaryTypeName","src":"1027:7:136","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":85322,"indexed":false,"mutability":"mutable","name":"_newProtocolFee","nameLocation":"1055:15:136","nodeType":"VariableDeclaration","scope":85324,"src":"1047:23:136","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":85321,"name":"uint256","nodeType":"ElementaryTypeName","src":"1047:7:136","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1026:45:136"}},{"id":85328,"nodeType":"EventDefinition","src":"1077:51:136","nodes":[],"anonymous":false,"eventSelector":"b4108a188495a1a681cdc0750af164011025a1773b41e93ff3e628adc037dc29","name":"CommunityCreated","nameLocation":"1083:16:136","parameters":{"id":85327,"nodeType":"ParameterList","parameters":[{"constant":false,"id":85326,"indexed":false,"mutability":"mutable","name":"_registryCommunity","nameLocation":"1108:18:136","nodeType":"VariableDeclaration","scope":85328,"src":"1100:26:136","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":85325,"name":"address","nodeType":"ElementaryTypeName","src":"1100:7:136","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1099:28:136"}},{"id":85334,"nodeType":"EventDefinition","src":"1133:62:136","nodes":[],"anonymous":false,"eventSelector":"ecdcd3502799a6c41864ea2682236184e876f63e10f8d56c7768a3d501e89f62","name":"CommunityValiditySet","nameLocation":"1139:20:136","parameters":{"id":85333,"nodeType":"ParameterList","parameters":[{"constant":false,"id":85330,"indexed":false,"mutability":"mutable","name":"_community","nameLocation":"1168:10:136","nodeType":"VariableDeclaration","scope":85334,"src":"1160:18:136","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":85329,"name":"address","nodeType":"ElementaryTypeName","src":"1160:7:136","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":85332,"indexed":false,"mutability":"mutable","name":"_isValid","nameLocation":"1185:8:136","nodeType":"VariableDeclaration","scope":85334,"src":"1180:13:136","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":85331,"name":"bool","nodeType":"ElementaryTypeName","src":"1180:4:136","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1159:35:136"}},{"id":85338,"nodeType":"ErrorDefinition","src":"1367:43:136","nodes":[],"errorSelector":"f5a6943d","name":"CommunityInvalid","nameLocation":"1373:16:136","parameters":{"id":85337,"nodeType":"ParameterList","parameters":[{"constant":false,"id":85336,"mutability":"mutable","name":"_community","nameLocation":"1398:10:136","nodeType":"VariableDeclaration","scope":85338,"src":"1390:18:136","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":85335,"name":"address","nodeType":"ElementaryTypeName","src":"1390:7:136","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1389:20:136"}},{"id":85340,"nodeType":"ErrorDefinition","src":"1415:28:136","nodes":[],"errorSelector":"e622e040","name":"AddressCannotBeZero","nameLocation":"1421:19:136","parameters":{"id":85339,"nodeType":"ParameterList","parameters":[],"src":"1440:2:136"}},{"id":85356,"nodeType":"FunctionDefinition","src":"1614:133:136","nodes":[],"body":{"id":85355,"nodeType":"Block","src":"1674:73:136","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":85350,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":85345,"name":"_address","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85342,"src":"1688:8:136","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":85348,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1708:1:136","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":85347,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1700:7:136","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":85346,"name":"address","nodeType":"ElementaryTypeName","src":"1700:7:136","typeDescriptions":{}}},"id":85349,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1700:10:136","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1688:22:136","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":85354,"nodeType":"IfStatement","src":"1684:56:136","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":85351,"name":"AddressCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85340,"src":"1719:19:136","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":85352,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1719:21:136","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":85353,"nodeType":"RevertStatement","src":"1712:28:136"}}]},"implemented":true,"kind":"function","modifiers":[],"name":"_revertZeroAddress","nameLocation":"1623:18:136","parameters":{"id":85343,"nodeType":"ParameterList","parameters":[{"constant":false,"id":85342,"mutability":"mutable","name":"_address","nameLocation":"1650:8:136","nodeType":"VariableDeclaration","scope":85356,"src":"1642:16:136","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":85341,"name":"address","nodeType":"ElementaryTypeName","src":"1642:7:136","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1641:18:136"},"returnParameters":{"id":85344,"nodeType":"ParameterList","parameters":[],"src":"1674:0:136"},"scope":85588,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":85383,"nodeType":"FunctionDefinition","src":"1753:341:136","nodes":[],"body":{"id":85382,"nodeType":"Block","src":"1829:265:136","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":85363,"name":"__Ownable_init","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52837,"src":"1839:14:136","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":85364,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1839:16:136","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":85365,"nodeType":"ExpressionStatement","src":"1839:16:136"},{"expression":{"id":85368,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":85366,"name":"nonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85307,"src":"1865:5:136","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"30","id":85367,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1873:1:136","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"1865:9:136","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":85369,"nodeType":"ExpressionStatement","src":"1865:9:136"},{"expression":{"arguments":[{"id":85371,"name":"_gardensFeeReceiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85358,"src":"1903:19:136","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":85370,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85356,"src":"1884:18:136","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":85372,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1884:39:136","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":85373,"nodeType":"ExpressionStatement","src":"1884:39:136"},{"expression":{"id":85376,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":85374,"name":"gardensFeeReceiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85314,"src":"1933:18:136","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":85375,"name":"_gardensFeeReceiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85358,"src":"1954:19:136","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1933:40:136","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":85377,"nodeType":"ExpressionStatement","src":"1933:40:136"},{"eventCall":{"arguments":[{"id":85379,"name":"_gardensFeeReceiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85358,"src":"2003:19:136","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":85378,"name":"FeeReceiverSet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85318,"src":"1988:14:136","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":85380,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1988:35:136","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":85381,"nodeType":"EmitStatement","src":"1983:40:136"}]},"functionSelector":"c4d66de8","implemented":true,"kind":"function","modifiers":[{"id":85361,"kind":"modifierInvocation","modifierName":{"id":85360,"name":"initializer","nameLocations":["1817:11:136"],"nodeType":"IdentifierPath","referencedDeclaration":53093,"src":"1817:11:136"},"nodeType":"ModifierInvocation","src":"1817:11:136"}],"name":"initialize","nameLocation":"1762:10:136","parameters":{"id":85359,"nodeType":"ParameterList","parameters":[{"constant":false,"id":85358,"mutability":"mutable","name":"_gardensFeeReceiver","nameLocation":"1781:19:136","nodeType":"VariableDeclaration","scope":85383,"src":"1773:27:136","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":85357,"name":"address","nodeType":"ElementaryTypeName","src":"1773:7:136","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1772:29:136"},"returnParameters":{"id":85362,"nodeType":"ParameterList","parameters":[],"src":"1829:0:136"},"scope":85588,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":85465,"nodeType":"FunctionDefinition","src":"2100:764:136","nodes":[],"body":{"id":85464,"nodeType":"Block","src":"2263:601:136","nodes":[],"statements":[{"expression":{"id":85396,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":85391,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85386,"src":"2273:6:136","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$83515_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams memory"}},"id":85393,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"2280:6:136","memberName":"_nonce","nodeType":"MemberAccess","referencedDeclaration":83497,"src":"2273:13:136","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":85395,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"2289:7:136","subExpression":{"id":85394,"name":"nonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85307,"src":"2289:5:136","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2273:23:136","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":85397,"nodeType":"ExpressionStatement","src":"2273:23:136"},{"expression":{"id":85405,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":85398,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85386,"src":"2306:6:136","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$83515_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams memory"}},"id":85400,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"2313:16:136","memberName":"_registryFactory","nodeType":"MemberAccess","referencedDeclaration":83499,"src":"2306:23:136","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":85403,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"2340:4:136","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryFactoryV0_0_$85588","typeString":"contract RegistryFactoryV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryFactoryV0_0_$85588","typeString":"contract RegistryFactoryV0_0"}],"id":85402,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2332:7:136","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":85401,"name":"address","nodeType":"ElementaryTypeName","src":"2332:7:136","typeDescriptions":{}}},"id":85404,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2332:13:136","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"2306:39:136","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":85406,"nodeType":"ExpressionStatement","src":"2306:39:136"},{"assignments":[85409],"declarations":[{"constant":false,"id":85409,"mutability":"mutable","name":"proxy","nameLocation":"2369:5:136","nodeType":"VariableDeclaration","scope":85464,"src":"2356:18:136","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_ERC1967Proxy_$55562","typeString":"contract ERC1967Proxy"},"typeName":{"id":85408,"nodeType":"UserDefinedTypeName","pathNode":{"id":85407,"name":"ERC1967Proxy","nameLocations":["2356:12:136"],"nodeType":"IdentifierPath","referencedDeclaration":55562,"src":"2356:12:136"},"referencedDeclaration":55562,"src":"2356:12:136","typeDescriptions":{"typeIdentifier":"t_contract$_ERC1967Proxy_$55562","typeString":"contract ERC1967Proxy"}},"visibility":"internal"}],"id":85428,"initialValue":{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":85417,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"2415:25:136","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$__$returns$_t_contract$_RegistryCommunityV0_0_$85047_$","typeString":"function () returns (contract RegistryCommunityV0_0)"},"typeName":{"id":85416,"nodeType":"UserDefinedTypeName","pathNode":{"id":85415,"name":"RegistryCommunityV0_0","nameLocations":["2419:21:136"],"nodeType":"IdentifierPath","referencedDeclaration":85047,"src":"2419:21:136"},"referencedDeclaration":85047,"src":"2419:21:136","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"}}},"id":85418,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2415:27:136","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"}],"id":85414,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2407:7:136","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":85413,"name":"address","nodeType":"ElementaryTypeName","src":"2407:7:136","typeDescriptions":{}}},"id":85419,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2407:36:136","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"expression":{"expression":{"id":85422,"name":"RegistryCommunityV0_0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85047,"src":"2480:21:136","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_RegistryCommunityV0_0_$85047_$","typeString":"type(contract RegistryCommunityV0_0)"}},"id":85423,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2502:10:136","memberName":"initialize","nodeType":"MemberAccess","referencedDeclaration":83754,"src":"2480:32:136","typeDescriptions":{"typeIdentifier":"t_function_declaration_nonpayable$_t_struct$_InitializeParams_$83515_memory_ptr_$returns$__$","typeString":"function RegistryCommunityV0_0.initialize(struct RegistryCommunityV0_0.InitializeParams memory)"}},"id":85424,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2513:8:136","memberName":"selector","nodeType":"MemberAccess","src":"2480:41:136","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":85425,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85386,"src":"2523:6:136","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$83515_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_struct$_InitializeParams_$83515_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams memory"}],"expression":{"id":85420,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2457:3:136","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":85421,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2461:18:136","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"2457:22:136","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":85426,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2457:73:136","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":85412,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"2377:16:136","typeDescriptions":{"typeIdentifier":"t_function_creation_payable$_t_address_$_t_bytes_memory_ptr_$returns$_t_contract$_ERC1967Proxy_$55562_$","typeString":"function (address,bytes memory) payable returns (contract ERC1967Proxy)"},"typeName":{"id":85411,"nodeType":"UserDefinedTypeName","pathNode":{"id":85410,"name":"ERC1967Proxy","nameLocations":["2381:12:136"],"nodeType":"IdentifierPath","referencedDeclaration":55562,"src":"2381:12:136"},"referencedDeclaration":55562,"src":"2381:12:136","typeDescriptions":{"typeIdentifier":"t_contract$_ERC1967Proxy_$55562","typeString":"contract ERC1967Proxy"}}},"id":85427,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2377:163:136","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ERC1967Proxy_$55562","typeString":"contract ERC1967Proxy"}},"nodeType":"VariableDeclarationStatement","src":"2356:184:136"},{"assignments":[85431],"declarations":[{"constant":false,"id":85431,"mutability":"mutable","name":"registryCommunity","nameLocation":"2573:17:136","nodeType":"VariableDeclaration","scope":85464,"src":"2551:39:136","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"},"typeName":{"id":85430,"nodeType":"UserDefinedTypeName","pathNode":{"id":85429,"name":"RegistryCommunityV0_0","nameLocations":["2551:21:136"],"nodeType":"IdentifierPath","referencedDeclaration":85047,"src":"2551:21:136"},"referencedDeclaration":85047,"src":"2551:21:136","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"}},"visibility":"internal"}],"id":85441,"initialValue":{"arguments":[{"arguments":[{"arguments":[{"id":85437,"name":"proxy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85409,"src":"2631:5:136","typeDescriptions":{"typeIdentifier":"t_contract$_ERC1967Proxy_$55562","typeString":"contract ERC1967Proxy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ERC1967Proxy_$55562","typeString":"contract ERC1967Proxy"}],"id":85436,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2623:7:136","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":85435,"name":"address","nodeType":"ElementaryTypeName","src":"2623:7:136","typeDescriptions":{}}},"id":85438,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2623:14:136","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":85434,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2615:8:136","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":85433,"name":"address","nodeType":"ElementaryTypeName","src":"2615:8:136","stateMutability":"payable","typeDescriptions":{}}},"id":85439,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2615:23:136","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":85432,"name":"RegistryCommunityV0_0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85047,"src":"2593:21:136","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_RegistryCommunityV0_0_$85047_$","typeString":"type(contract RegistryCommunityV0_0)"}},"id":85440,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2593:46:136","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"}},"nodeType":"VariableDeclarationStatement","src":"2551:88:136"},{"expression":{"id":85450,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"baseExpression":{"id":85442,"name":"communityToInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85312,"src":"2699:15:136","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_CommunityInfo_$85300_storage_$","typeString":"mapping(address => struct CommunityInfo storage ref)"}},"id":85447,"indexExpression":{"arguments":[{"id":85445,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85431,"src":"2723:17:136","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"}],"id":85444,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2715:7:136","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":85443,"name":"address","nodeType":"ElementaryTypeName","src":"2715:7:136","typeDescriptions":{}}},"id":85446,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2715:26:136","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2699:43:136","typeDescriptions":{"typeIdentifier":"t_struct$_CommunityInfo_$85300_storage","typeString":"struct CommunityInfo storage ref"}},"id":85448,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"2743:5:136","memberName":"valid","nodeType":"MemberAccess","referencedDeclaration":85299,"src":"2699:49:136","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":85449,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"2751:4:136","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"2699:56:136","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":85451,"nodeType":"ExpressionStatement","src":"2699:56:136"},{"eventCall":{"arguments":[{"arguments":[{"id":85455,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85431,"src":"2795:17:136","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"}],"id":85454,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2787:7:136","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":85453,"name":"address","nodeType":"ElementaryTypeName","src":"2787:7:136","typeDescriptions":{}}},"id":85456,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2787:26:136","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":85452,"name":"CommunityCreated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85328,"src":"2770:16:136","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":85457,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2770:44:136","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":85458,"nodeType":"EmitStatement","src":"2765:49:136"},{"expression":{"arguments":[{"id":85461,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85431,"src":"2839:17:136","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"}],"id":85460,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2831:7:136","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":85459,"name":"address","nodeType":"ElementaryTypeName","src":"2831:7:136","typeDescriptions":{}}},"id":85462,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2831:26:136","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":85390,"id":85463,"nodeType":"Return","src":"2824:33:136"}]},"functionSelector":"8a16135f","implemented":true,"kind":"function","modifiers":[],"name":"createRegistry","nameLocation":"2109:14:136","parameters":{"id":85387,"nodeType":"ParameterList","parameters":[{"constant":false,"id":85386,"mutability":"mutable","name":"params","nameLocation":"2170:6:136","nodeType":"VariableDeclaration","scope":85465,"src":"2124:52:136","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$83515_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams"},"typeName":{"id":85385,"nodeType":"UserDefinedTypeName","pathNode":{"id":85384,"name":"RegistryCommunityV0_0.InitializeParams","nameLocations":["2124:21:136","2146:16:136"],"nodeType":"IdentifierPath","referencedDeclaration":83515,"src":"2124:38:136"},"referencedDeclaration":83515,"src":"2124:38:136","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$83515_storage_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams"}},"visibility":"internal"}],"src":"2123:54:136"},"returnParameters":{"id":85390,"nodeType":"ParameterList","parameters":[{"constant":false,"id":85389,"mutability":"mutable","name":"_createdRegistryAddress","nameLocation":"2234:23:136","nodeType":"VariableDeclaration","scope":85465,"src":"2226:31:136","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":85388,"name":"address","nodeType":"ElementaryTypeName","src":"2226:7:136","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2225:33:136"},"scope":85588,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":85485,"nodeType":"FunctionDefinition","src":"2870:222:136","nodes":[],"body":{"id":85484,"nodeType":"Block","src":"2948:144:136","nodes":[],"statements":[{"expression":{"arguments":[{"id":85473,"name":"_newFeeReceiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85467,"src":"2977:15:136","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":85472,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85356,"src":"2958:18:136","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":85474,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2958:35:136","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":85475,"nodeType":"ExpressionStatement","src":"2958:35:136"},{"expression":{"id":85478,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":85476,"name":"gardensFeeReceiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85314,"src":"3003:18:136","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":85477,"name":"_newFeeReceiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85467,"src":"3024:15:136","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3003:36:136","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":85479,"nodeType":"ExpressionStatement","src":"3003:36:136"},{"eventCall":{"arguments":[{"id":85481,"name":"_newFeeReceiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85467,"src":"3069:15:136","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":85480,"name":"FeeReceiverSet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85318,"src":"3054:14:136","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":85482,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3054:31:136","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":85483,"nodeType":"EmitStatement","src":"3049:36:136"}]},"functionSelector":"8279c7db","implemented":true,"kind":"function","modifiers":[{"id":85470,"kind":"modifierInvocation","modifierName":{"id":85469,"name":"onlyOwner","nameLocations":["2938:9:136"],"nodeType":"IdentifierPath","referencedDeclaration":52856,"src":"2938:9:136"},"nodeType":"ModifierInvocation","src":"2938:9:136"}],"name":"setReceiverAddress","nameLocation":"2879:18:136","parameters":{"id":85468,"nodeType":"ParameterList","parameters":[{"constant":false,"id":85467,"mutability":"mutable","name":"_newFeeReceiver","nameLocation":"2906:15:136","nodeType":"VariableDeclaration","scope":85485,"src":"2898:23:136","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":85466,"name":"address","nodeType":"ElementaryTypeName","src":"2898:7:136","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2897:25:136"},"returnParameters":{"id":85471,"nodeType":"ParameterList","parameters":[],"src":"2948:0:136"},"scope":85588,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":85493,"nodeType":"FunctionDefinition","src":"3098:115:136","nodes":[],"body":{"id":85492,"nodeType":"Block","src":"3171:42:136","nodes":[],"statements":[{"expression":{"id":85490,"name":"gardensFeeReceiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85314,"src":"3188:18:136","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":85489,"id":85491,"nodeType":"Return","src":"3181:25:136"}]},"functionSelector":"987435be","implemented":true,"kind":"function","modifiers":[],"name":"getGardensFeeReceiver","nameLocation":"3107:21:136","parameters":{"id":85486,"nodeType":"ParameterList","parameters":[],"src":"3128:2:136"},"returnParameters":{"id":85489,"nodeType":"ParameterList","parameters":[{"constant":false,"id":85488,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":85493,"src":"3162:7:136","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":85487,"name":"address","nodeType":"ElementaryTypeName","src":"3162:7:136","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3161:9:136"},"scope":85588,"stateMutability":"view","virtual":true,"visibility":"external"},{"id":85515,"nodeType":"FunctionDefinition","src":"3219:218:136","nodes":[],"body":{"id":85514,"nodeType":"Block","src":"3313:124:136","nodes":[],"statements":[{"expression":{"id":85507,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"baseExpression":{"id":85502,"name":"communityToInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85312,"src":"3323:15:136","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_CommunityInfo_$85300_storage_$","typeString":"mapping(address => struct CommunityInfo storage ref)"}},"id":85504,"indexExpression":{"id":85503,"name":"_community","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85495,"src":"3339:10:136","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3323:27:136","typeDescriptions":{"typeIdentifier":"t_struct$_CommunityInfo_$85300_storage","typeString":"struct CommunityInfo storage ref"}},"id":85505,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"3351:3:136","memberName":"fee","nodeType":"MemberAccess","referencedDeclaration":85297,"src":"3323:31:136","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":85506,"name":"_newProtocolFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85497,"src":"3357:15:136","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3323:49:136","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":85508,"nodeType":"ExpressionStatement","src":"3323:49:136"},{"eventCall":{"arguments":[{"id":85510,"name":"_community","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85495,"src":"3402:10:136","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":85511,"name":"_newProtocolFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85497,"src":"3414:15:136","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":85509,"name":"ProtocolFeeSet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85324,"src":"3387:14:136","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":85512,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3387:43:136","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":85513,"nodeType":"EmitStatement","src":"3382:48:136"}]},"functionSelector":"b5b3ca2c","implemented":true,"kind":"function","modifiers":[{"id":85500,"kind":"modifierInvocation","modifierName":{"id":85499,"name":"onlyOwner","nameLocations":["3303:9:136"],"nodeType":"IdentifierPath","referencedDeclaration":52856,"src":"3303:9:136"},"nodeType":"ModifierInvocation","src":"3303:9:136"}],"name":"setProtocolFee","nameLocation":"3228:14:136","parameters":{"id":85498,"nodeType":"ParameterList","parameters":[{"constant":false,"id":85495,"mutability":"mutable","name":"_community","nameLocation":"3251:10:136","nodeType":"VariableDeclaration","scope":85515,"src":"3243:18:136","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":85494,"name":"address","nodeType":"ElementaryTypeName","src":"3243:7:136","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":85497,"mutability":"mutable","name":"_newProtocolFee","nameLocation":"3271:15:136","nodeType":"VariableDeclaration","scope":85515,"src":"3263:23:136","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":85496,"name":"uint256","nodeType":"ElementaryTypeName","src":"3263:7:136","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3242:45:136"},"returnParameters":{"id":85501,"nodeType":"ParameterList","parameters":[],"src":"3313:0:136"},"scope":85588,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":85537,"nodeType":"FunctionDefinition","src":"3443:208:136","nodes":[],"body":{"id":85536,"nodeType":"Block","src":"3533:118:136","nodes":[],"statements":[{"expression":{"id":85529,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"baseExpression":{"id":85524,"name":"communityToInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85312,"src":"3543:15:136","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_CommunityInfo_$85300_storage_$","typeString":"mapping(address => struct CommunityInfo storage ref)"}},"id":85526,"indexExpression":{"id":85525,"name":"_community","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85517,"src":"3559:10:136","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3543:27:136","typeDescriptions":{"typeIdentifier":"t_struct$_CommunityInfo_$85300_storage","typeString":"struct CommunityInfo storage ref"}},"id":85527,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"3571:5:136","memberName":"valid","nodeType":"MemberAccess","referencedDeclaration":85299,"src":"3543:33:136","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":85528,"name":"_isValid","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85519,"src":"3579:8:136","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"3543:44:136","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":85530,"nodeType":"ExpressionStatement","src":"3543:44:136"},{"eventCall":{"arguments":[{"id":85532,"name":"_community","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85517,"src":"3623:10:136","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":85533,"name":"_isValid","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85519,"src":"3635:8:136","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":85531,"name":"CommunityValiditySet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85334,"src":"3602:20:136","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_bool_$returns$__$","typeString":"function (address,bool)"}},"id":85534,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3602:42:136","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":85535,"nodeType":"EmitStatement","src":"3597:47:136"}]},"functionSelector":"5a2c8ace","implemented":true,"kind":"function","modifiers":[{"id":85522,"kind":"modifierInvocation","modifierName":{"id":85521,"name":"onlyOwner","nameLocations":["3523:9:136"],"nodeType":"IdentifierPath","referencedDeclaration":52856,"src":"3523:9:136"},"nodeType":"ModifierInvocation","src":"3523:9:136"}],"name":"setCommunityValidity","nameLocation":"3452:20:136","parameters":{"id":85520,"nodeType":"ParameterList","parameters":[{"constant":false,"id":85517,"mutability":"mutable","name":"_community","nameLocation":"3481:10:136","nodeType":"VariableDeclaration","scope":85537,"src":"3473:18:136","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":85516,"name":"address","nodeType":"ElementaryTypeName","src":"3473:7:136","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":85519,"mutability":"mutable","name":"_isValid","nameLocation":"3498:8:136","nodeType":"VariableDeclaration","scope":85537,"src":"3493:13:136","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":85518,"name":"bool","nodeType":"ElementaryTypeName","src":"3493:4:136","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"3472:35:136"},"returnParameters":{"id":85523,"nodeType":"ParameterList","parameters":[],"src":"3533:0:136"},"scope":85588,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":85550,"nodeType":"FunctionDefinition","src":"3657:144:136","nodes":[],"body":{"id":85549,"nodeType":"Block","src":"3744:57:136","nodes":[],"statements":[{"expression":{"expression":{"baseExpression":{"id":85544,"name":"communityToInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85312,"src":"3761:15:136","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_CommunityInfo_$85300_storage_$","typeString":"mapping(address => struct CommunityInfo storage ref)"}},"id":85546,"indexExpression":{"id":85545,"name":"_community","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85539,"src":"3777:10:136","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3761:27:136","typeDescriptions":{"typeIdentifier":"t_struct$_CommunityInfo_$85300_storage","typeString":"struct CommunityInfo storage ref"}},"id":85547,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3789:5:136","memberName":"valid","nodeType":"MemberAccess","referencedDeclaration":85299,"src":"3761:33:136","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":85543,"id":85548,"nodeType":"Return","src":"3754:40:136"}]},"functionSelector":"f5016b5e","implemented":true,"kind":"function","modifiers":[],"name":"getCommunityValidity","nameLocation":"3666:20:136","parameters":{"id":85540,"nodeType":"ParameterList","parameters":[{"constant":false,"id":85539,"mutability":"mutable","name":"_community","nameLocation":"3695:10:136","nodeType":"VariableDeclaration","scope":85550,"src":"3687:18:136","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":85538,"name":"address","nodeType":"ElementaryTypeName","src":"3687:7:136","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3686:20:136"},"returnParameters":{"id":85543,"nodeType":"ParameterList","parameters":[{"constant":false,"id":85542,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":85550,"src":"3738:4:136","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":85541,"name":"bool","nodeType":"ElementaryTypeName","src":"3738:4:136","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"3737:6:136"},"scope":85588,"stateMutability":"view","virtual":true,"visibility":"external"},{"id":85574,"nodeType":"FunctionDefinition","src":"3807:249:136","nodes":[],"body":{"id":85573,"nodeType":"Block","src":"3891:165:136","nodes":[],"statements":[{"condition":{"id":85561,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"3905:34:136","subExpression":{"expression":{"baseExpression":{"id":85557,"name":"communityToInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85312,"src":"3906:15:136","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_CommunityInfo_$85300_storage_$","typeString":"mapping(address => struct CommunityInfo storage ref)"}},"id":85559,"indexExpression":{"id":85558,"name":"_community","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85552,"src":"3922:10:136","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3906:27:136","typeDescriptions":{"typeIdentifier":"t_struct$_CommunityInfo_$85300_storage","typeString":"struct CommunityInfo storage ref"}},"id":85560,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3934:5:136","memberName":"valid","nodeType":"MemberAccess","referencedDeclaration":85299,"src":"3906:33:136","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":85567,"nodeType":"IfStatement","src":"3901:100:136","trueBody":{"id":85566,"nodeType":"Block","src":"3941:60:136","statements":[{"errorCall":{"arguments":[{"id":85563,"name":"_community","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85552,"src":"3979:10:136","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":85562,"name":"CommunityInvalid","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85338,"src":"3962:16:136","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":85564,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3962:28:136","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":85565,"nodeType":"RevertStatement","src":"3955:35:136"}]}},{"expression":{"expression":{"baseExpression":{"id":85568,"name":"communityToInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85312,"src":"4018:15:136","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_CommunityInfo_$85300_storage_$","typeString":"mapping(address => struct CommunityInfo storage ref)"}},"id":85570,"indexExpression":{"id":85569,"name":"_community","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85552,"src":"4034:10:136","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4018:27:136","typeDescriptions":{"typeIdentifier":"t_struct$_CommunityInfo_$85300_storage","typeString":"struct CommunityInfo storage ref"}},"id":85571,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4046:3:136","memberName":"fee","nodeType":"MemberAccess","referencedDeclaration":85297,"src":"4018:31:136","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":85556,"id":85572,"nodeType":"Return","src":"4011:38:136"}]},"functionSelector":"0a992e0c","implemented":true,"kind":"function","modifiers":[],"name":"getProtocolFee","nameLocation":"3816:14:136","parameters":{"id":85553,"nodeType":"ParameterList","parameters":[{"constant":false,"id":85552,"mutability":"mutable","name":"_community","nameLocation":"3839:10:136","nodeType":"VariableDeclaration","scope":85574,"src":"3831:18:136","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":85551,"name":"address","nodeType":"ElementaryTypeName","src":"3831:7:136","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3830:20:136"},"returnParameters":{"id":85556,"nodeType":"ParameterList","parameters":[{"constant":false,"id":85555,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":85574,"src":"3882:7:136","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":85554,"name":"uint256","nodeType":"ElementaryTypeName","src":"3882:7:136","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3881:9:136"},"scope":85588,"stateMutability":"view","virtual":true,"visibility":"external"},{"id":85583,"nodeType":"FunctionDefinition","src":"4062:74:136","nodes":[],"body":{"id":85582,"nodeType":"Block","src":"4134:2:136","nodes":[],"statements":[]},"baseFunctions":[56212],"implemented":true,"kind":"function","modifiers":[{"id":85580,"kind":"modifierInvocation","modifierName":{"id":85579,"name":"onlyOwner","nameLocations":["4124:9:136"],"nodeType":"IdentifierPath","referencedDeclaration":52856,"src":"4124:9:136"},"nodeType":"ModifierInvocation","src":"4124:9:136"}],"name":"_authorizeUpgrade","nameLocation":"4071:17:136","overrides":{"id":85578,"nodeType":"OverrideSpecifier","overrides":[],"src":"4115:8:136"},"parameters":{"id":85577,"nodeType":"ParameterList","parameters":[{"constant":false,"id":85576,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":85583,"src":"4089:7:136","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":85575,"name":"address","nodeType":"ElementaryTypeName","src":"4089:7:136","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4088:9:136"},"returnParameters":{"id":85581,"nodeType":"ParameterList","parameters":[],"src":"4134:0:136"},"scope":85588,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":85587,"nodeType":"VariableDeclaration","src":"4142:25:136","nodes":[],"constant":false,"mutability":"mutable","name":"__gap","nameLocation":"4162:5:136","scope":85588,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$50_storage","typeString":"uint256[50]"},"typeName":{"baseType":{"id":85584,"name":"uint256","nodeType":"ElementaryTypeName","src":"4142:7:136","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":85586,"length":{"hexValue":"3530","id":85585,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4150:2:136","typeDescriptions":{"typeIdentifier":"t_rational_50_by_1","typeString":"int_const 50"},"value":"50"},"nodeType":"ArrayTypeName","src":"4142:11:136","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$50_storage_ptr","typeString":"uint256[50]"}},"visibility":"private"}],"abstract":false,"baseContracts":[{"baseName":{"id":85302,"name":"OwnableUpgradeable","nameLocations":["625:18:136"],"nodeType":"IdentifierPath","referencedDeclaration":52942,"src":"625:18:136"},"id":85303,"nodeType":"InheritanceSpecifier","src":"625:18:136"},{"baseName":{"id":85304,"name":"UUPSUpgradeable","nameLocations":["645:15:136"],"nodeType":"IdentifierPath","referencedDeclaration":56213,"src":"645:15:136"},"id":85305,"nodeType":"InheritanceSpecifier","src":"645:15:136"}],"canonicalName":"RegistryFactoryV0_0","contractDependencies":[55562,85047],"contractKind":"contract","documentation":{"id":85301,"nodeType":"StructuredDocumentation","src":"547:45:136","text":"@custom:oz-upgrades-from RegistryFactory"},"fullyImplemented":true,"linearizedBaseContracts":[85588,56213,55866,55515,55525,52942,53735,53191],"name":"RegistryFactoryV0_0","nameLocation":"602:19:136","scope":85589,"usedErrors":[85338,85340]}],"license":"AGPL-3.0-only"},"id":136} \ No newline at end of file +{"abi":[{"type":"function","name":"createRegistry","inputs":[{"name":"params","type":"tuple","internalType":"struct RegistryCommunityV0_0.InitializeParams","components":[{"name":"_allo","type":"address","internalType":"address"},{"name":"_gardenToken","type":"address","internalType":"contract IERC20"},{"name":"_registerStakeAmount","type":"uint256","internalType":"uint256"},{"name":"_communityFee","type":"uint256","internalType":"uint256"},{"name":"_nonce","type":"uint256","internalType":"uint256"},{"name":"_registryFactory","type":"address","internalType":"address"},{"name":"_feeReceiver","type":"address","internalType":"address"},{"name":"_metadata","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]},{"name":"_councilSafe","type":"address","internalType":"address payable"},{"name":"_communityName","type":"string","internalType":"string"},{"name":"_isKickEnabled","type":"bool","internalType":"bool"},{"name":"covenantIpfsHash","type":"string","internalType":"string"},{"name":"_strategyTemplate","type":"address","internalType":"address"}]}],"outputs":[{"name":"_createdRegistryAddress","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"gardensFeeReceiver","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getCommunityValidity","inputs":[{"name":"_community","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"getGardensFeeReceiver","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getProtocolFee","inputs":[{"name":"_community","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"initialize","inputs":[{"name":"_gardensFeeReceiver","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"nonce","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"proxiableUUID","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"renounceOwnership","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setCommunityValidity","inputs":[{"name":"_community","type":"address","internalType":"address"},{"name":"_isValid","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setProtocolFee","inputs":[{"name":"_community","type":"address","internalType":"address"},{"name":"_newProtocolFee","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setReceiverAddress","inputs":[{"name":"_newFeeReceiver","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"transferOwnership","inputs":[{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"upgradeTo","inputs":[{"name":"newImplementation","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"upgradeToAndCall","inputs":[{"name":"newImplementation","type":"address","internalType":"address"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"payable"},{"type":"event","name":"AdminChanged","inputs":[{"name":"previousAdmin","type":"address","indexed":false,"internalType":"address"},{"name":"newAdmin","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"BeaconUpgraded","inputs":[{"name":"beacon","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"CommunityCreated","inputs":[{"name":"_registryCommunity","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"CommunityValiditySet","inputs":[{"name":"_community","type":"address","indexed":false,"internalType":"address"},{"name":"_isValid","type":"bool","indexed":false,"internalType":"bool"}],"anonymous":false},{"type":"event","name":"FeeReceiverSet","inputs":[{"name":"_newFeeReceiver","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint8","indexed":false,"internalType":"uint8"}],"anonymous":false},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"previousOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"ProtocolFeeSet","inputs":[{"name":"_community","type":"address","indexed":false,"internalType":"address"},{"name":"_newProtocolFee","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Upgraded","inputs":[{"name":"implementation","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"error","name":"AddressCannotBeZero","inputs":[]},{"type":"error","name":"CommunityInvalid","inputs":[{"name":"_community","type":"address","internalType":"address"}]}],"bytecode":{"object":"0x60a06040523060805234801561001457600080fd5b5060805161d9696200004d6000396000818161040001528181610487015281816105840152818161060b01526106fc015261d9696000f3fe608060405260043610620001075760003560e01c80638da5cb5b1162000095578063b8bed9011162000060578063b8bed90114620002b7578063c4d66de814620002d9578063f2fde38b14620002fe578063f5016b5e146200032357600080fd5b80638da5cb5b146200023a578063987435be146200025a578063affed0e0146200027a578063b5b3ca2c146200029257600080fd5b80635a2c8ace11620000d65780635a2c8ace146200019a578063715018a614620001bf5780638279c7db14620001d75780638a16135f14620001fc57600080fd5b80630a992e0c146200010c5780633659cfe614620001445780634f1ef286146200016b57806352d1902d1462000182575b600080fd5b3480156200011957600080fd5b50620001316200012b36600462001346565b62000374565b6040519081526020015b60405180910390f35b3480156200015157600080fd5b50620001696200016336600462001346565b620003f6565b005b620001696200017c36600462001426565b6200057a565b3480156200018f57600080fd5b5062000131620006ef565b348015620001a757600080fd5b5062000169620001b9366004620014a2565b620007b6565b348015620001cc57600080fd5b506200016962000827565b348015620001e457600080fd5b5062000169620001f636600462001346565b6200083f565b3480156200020957600080fd5b50620002216200021b36600462001575565b620008b5565b6040516001600160a01b0390911681526020016200013b565b3480156200024757600080fd5b506033546001600160a01b031662000221565b3480156200026757600080fd5b506067546001600160a01b031662000221565b3480156200028757600080fd5b506200013160655481565b3480156200029f57600080fd5b5062000169620002b1366004620016e7565b62000a3a565b348015620002c457600080fd5b5060675462000221906001600160a01b031681565b348015620002e657600080fd5b5062000169620002f836600462001346565b62000a96565b3480156200030b57600080fd5b50620001696200031d36600462001346565b62000c27565b3480156200033057600080fd5b50620003636200034236600462001346565b6001600160a01b031660009081526066602052604090206001015460ff1690565b60405190151581526020016200013b565b6001600160a01b03811660009081526066602052604081206001015460ff16620003da576040517ff5a6943d0000000000000000000000000000000000000000000000000000000081526001600160a01b03831660048201526024015b60405180910390fd5b506001600160a01b031660009081526066602052604090205490565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163003620004855760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b19195b1959d85d1958d85b1b60a21b6064820152608401620003d1565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316620004e17f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b6001600160a01b0316146200054e5760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b6163746976652070726f787960a01b6064820152608401620003d1565b620005598162000cba565b60408051600080825260208201909252620005779183919062000cc4565b50565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163003620006095760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b19195b1959d85d1958d85b1b60a21b6064820152608401620003d1565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316620006657f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b6001600160a01b031614620006d25760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b6163746976652070726f787960a01b6064820152608401620003d1565b620006dd8262000cba565b620006eb8282600162000cc4565b5050565b6000306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614620007915760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c00000000000000006064820152608401620003d1565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc90565b620007c062000e75565b6001600160a01b038216600081815260666020908152604091829020600101805460ff19168515159081179091558251938452908301527fecdcd3502799a6c41864ea2682236184e876f63e10f8d56c7768a3d501e89f6291015b60405180910390a15050565b6200083162000e75565b6200083d600062000ed1565b565b6200084962000e75565b620008548162000f30565b6067805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0383169081179091556040519081527fbdf37c276f641820b141429d245add2552b4118c0866e5a78638e3de5ef18d9d9060200160405180910390a150565b6065805460009182620008c88362001716565b9091555060808301523060a0830152604051600090620008e89062001302565b604051809103906000f08015801562000905573d6000803e3d6000fd5b506040517f96f0adec00000000000000000000000000000000000000000000000000000000906200093b908690602401620017b3565b60408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff00000000000000000000000000000000000000000000000000000000909416939093179092529051620009a79062001310565b620009b4929190620018fe565b604051809103906000f080158015620009d1573d6000803e3d6000fd5b506001600160a01b0381166000818152606660209081526040918290206001908101805460ff19169091179055905191825291925082917fb4108a188495a1a681cdc0750af164011025a1773b41e93ff3e628adc037dc29910160405180910390a19392505050565b62000a4462000e75565b6001600160a01b038216600081815260666020908152604091829020849055815192835282018390527fa1ee82e4f177a8017f33ddddac05b7ceab1de9d46f7195e15e8aa2e8b88f3b1c91016200081b565b600054610100900460ff161580801562000ab75750600054600160ff909116105b8062000ad35750303b15801562000ad3575060005460ff166001145b62000b475760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401620003d1565b6000805460ff19166001179055801562000b6b576000805461ff0019166101001790555b62000b7562000f71565b600060655562000b858262000f30565b6067805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0384169081179091556040519081527fbdf37c276f641820b141429d245add2552b4118c0866e5a78638e3de5ef18d9d9060200160405180910390a18015620006eb576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498906020016200081b565b62000c3162000e75565b6001600160a01b03811662000caf5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401620003d1565b620005778162000ed1565b6200057762000e75565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff161562000cff5762000cfa8362000fe8565b505050565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa92505050801562000d5c575060408051601f3d908101601f1916820190925262000d599181019062001922565b60015b62000dd05760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201527f6f6e206973206e6f7420555550530000000000000000000000000000000000006064820152608401620003d1565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc811462000e675760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f7860448201527f6961626c655555494400000000000000000000000000000000000000000000006064820152608401620003d1565b5062000cfa838383620010b5565b6033546001600160a01b031633146200083d5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401620003d1565b603380546001600160a01b0383811673ffffffffffffffffffffffffffffffffffffffff19831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b03811662000577576040517fe622e04000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600054610100900460ff1662000fde5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401620003d1565b6200083d620010e6565b6001600160a01b0381163b620010675760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201527f6f74206120636f6e7472616374000000000000000000000000000000000000006064820152608401620003d1565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b620010c0836200115e565b600082511180620010ce5750805b1562000cfa57620010e08383620011a0565b50505050565b600054610100900460ff16620011535760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401620003d1565b6200083d3362000ed1565b620011698162000fe8565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6060620011c883836040518060600160405280602781526020016200d90d60279139620011cf565b9392505050565b6060600080856001600160a01b031685604051620011ee91906200193c565b600060405180830381855af49150503d80600081146200122b576040519150601f19603f3d011682016040523d82523d6000602084013e62001230565b606091505b509150915062001243868383876200124d565b9695505050505050565b60608315620012c1578251600003620012b9576001600160a01b0385163b620012b95760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401620003d1565b5081620012cd565b620012cd8383620012d5565b949350505050565b815115620012e65781518083602001fd5b8060405162461bcd60e51b8152600401620003d191906200195a565b61baaf806200197083390190565b6104ee806200d41f83390190565b6001600160a01b03811681146200057757600080fd5b803562001341816200131e565b919050565b6000602082840312156200135957600080fd5b8135620011c8816200131e565b634e487b7160e01b600052604160045260246000fd5b6040516101a0810167ffffffffffffffff81118282101715620013a357620013a362001366565b60405290565b600067ffffffffffffffff80841115620013c757620013c762001366565b604051601f8501601f19908116603f01168101908282118183101715620013f257620013f262001366565b816040528093508581528686860111156200140c57600080fd5b858560208301376000602087830101525050509392505050565b600080604083850312156200143a57600080fd5b823562001447816200131e565b9150602083013567ffffffffffffffff8111156200146457600080fd5b8301601f810185136200147657600080fd5b6200148785823560208401620013a9565b9150509250929050565b803580151581146200134157600080fd5b60008060408385031215620014b657600080fd5b8235620014c3816200131e565b9150620014d36020840162001491565b90509250929050565b600082601f830112620014ee57600080fd5b620011c883833560208501620013a9565b6000604082840312156200151257600080fd5b6040516040810167ffffffffffffffff828210818311171562001539576200153962001366565b816040528293508435835260208501359150808211156200155957600080fd5b506200156885828601620014dc565b6020830152505092915050565b6000602082840312156200158857600080fd5b813567ffffffffffffffff80821115620015a157600080fd5b908301906101a08286031215620015b757600080fd5b620015c16200137c565b620015cc8362001334565b8152620015dc6020840162001334565b60208201526040830135604082015260608301356060820152608083013560808201526200160d60a0840162001334565b60a08201526200162060c0840162001334565b60c082015260e0830135828111156200163857600080fd5b6200164687828601620014ff565b60e0830152506101006200165c81850162001334565b9082015261012083810135838111156200167557600080fd5b6200168388828701620014dc565b8284015250506101406200169981850162001491565b908201526101608381013583811115620016b257600080fd5b620016c088828701620014dc565b8284015250506101809150620016d882840162001334565b91810191909152949350505050565b60008060408385031215620016fb57600080fd5b823562001708816200131e565b946020939093013593505050565b6000600182016200173757634e487b7160e01b600052601160045260246000fd5b5060010190565b60005b838110156200175b57818101518382015260200162001741565b50506000910152565b600081518084526200177e8160208601602086016200173e565b601f01601f19169290920160200192915050565b805182526000602082015160406020850152620012cd604085018262001764565b60208152620017ce6020820183516001600160a01b03169052565b60006020830151620017eb60408401826001600160a01b03169052565b506040830151606083015260608301516080830152608083015160a083015260a08301516200182560c08401826001600160a01b03169052565b5060c08301516001600160a01b03811660e08401525060e08301516101a061010081818601526200185b6101c086018462001792565b908601519092506101206200187a868201836001600160a01b03169052565b80870151915050601f196101408187860301818801526200189c858462001764565b945080880151925050610160620018b68188018415159052565b80880151925050610180818786030181880152620018d5858462001764565b94508088015192505050620018f4828601826001600160a01b03169052565b5090949350505050565b6001600160a01b0383168152604060208201526000620012cd604083018462001764565b6000602082840312156200193557600080fd5b5051919050565b60008251620019508184602087016200173e565b9190910192915050565b602081526000620011c860208301846200176456fe60a06040523060805234801561001457600080fd5b5060805161ba626200004d600039600081816119c001528181611a4701528181611bb501528181611c3c0152611d29015261ba626000f3fe608060405260043610620003ef5760003560e01c80636c53db9a116200020f578063a217fddf1162000123578063d547741f11620000ad578063ebd7dc521162000078578063ebd7dc521462000cfd578063f2fde38b1462000d22578063f86c5f891462000d47578063ff6409ef1462000d6a57600080fd5b8063d547741f1462000c7a578063d6d8428d1462000c9f578063d7050f071462000cc2578063db61d65c1462000cda57600080fd5b8063b64e39af11620000ee578063b64e39af1462000c0b578063b99b43701462000c32578063bc063e1a1462000c4a578063c6d572ae1462000c6257600080fd5b8063a217fddf1462000b51578063a230c5241462000b68578063b3f006741462000bd1578063b5058c501462000bf357600080fd5b806382d6a1e711620001a557806391d14854116200017057806391d148541462000a7557806396f0adec1462000abf57806397991cfa1462000ae4578063a0cf0aea1462000b2757600080fd5b806382d6a1e714620009a257806388cfe68414620009c75780638961be6b1462000a3d5780638da5cb5b1462000a5557600080fd5b8063733a2d1f11620001e6578063733a2d1f14620008e65780637817ee4f146200091c57806378a0b8a914620009675780637b103999146200097f57600080fd5b80636c53db9a1462000886578063715018a614620008a957806373265c3714620008c157600080fd5b80633396045911620003075780634f1ef286116200029d5780635ecf71c511620002685780635ecf71c514620007dc57806365e3864c14620008015780636871eb4d146200083e57806368decabb146200086357600080fd5b80634f1ef286146200076557806352d1902d146200077c578063559de05d14620007945780635c94e4d214620007b957600080fd5b80633659cfe611620002de5780633659cfe614620006a6578063397e254314620006cb5780633a871fe114620006f0578063477a5cc0146200072557600080fd5b80633396045914620006505780633517aa7d146200066957806336568abe146200068157600080fd5b8063223e547911620003895780632b38c69c11620003545780632b38c69c146200058a5780632c611c4a14620005c85780632f2ff15d146200060657806331f61bca146200062b57600080fd5b8063223e547914620004f457806322bcf9991462000519578063248a9ca3146200053e57806328c309e9146200057257600080fd5b80630d12bbdb11620003ca5780630d12bbdb14620004675780630d4a8b49146200048e578063175188e814620004b35780631f787d2814620004d857600080fd5b806301ffc9a714620003f45780630331383c146200042e57806308386eba146200044f575b600080fd5b3480156200040157600080fd5b50620004196200041336600462004b7e565b62000d8f565b60405190151581526020015b60405180910390f35b3480156200043b57600080fd5b5060fc545b60405190815260200162000425565b3480156200045c57600080fd5b506200044060fe5481565b3480156200047457600080fd5b506200048c6200048636600462004baa565b62000de0565b005b3480156200049b57600080fd5b506200048c620004ad36600462004bec565b62000e6f565b348015620004c057600080fd5b506200048c620004d236600462004c2a565b620011f7565b348015620004e557600080fd5b5060fb54620004199060ff1681565b3480156200050157600080fd5b506200048c6200051336600462004c2a565b6200120f565b3480156200052657600080fd5b506200048c6200053836600462004bec565b62001224565b3480156200054b57600080fd5b50620004406200055d36600462004baa565b600090815260c9602052604090206001015490565b3480156200057f57600080fd5b506200044062001340565b3480156200059757600080fd5b50620005af620005a936600462004c4a565b6200143e565b6040516001600160a01b03909116815260200162000425565b348015620005d557600080fd5b5062000440620005e736600462004c2a565b6001600160a01b0316600090815261010c602052604090206001015490565b3480156200061357600080fd5b506200048c6200062536600462004c79565b62001478565b3480156200063857600080fd5b506200048c6200064a36600462004baa565b620014a6565b3480156200065d57600080fd5b50620004406101025481565b3480156200067657600080fd5b506200048c620014e6565b3480156200068e57600080fd5b506200048c620006a036600462004c79565b62001922565b348015620006b357600080fd5b506200048c620006c536600462004c2a565b620019b6565b348015620006d857600080fd5b506200048c620006ea36600462004c2a565b62001b37565b348015620006fd57600080fd5b50620004196200070f36600462004c2a565b61010a6020526000908152604090205460ff1681565b3480156200073257600080fd5b50620004196200074436600462004bec565b61010e60209081526000928352604080842090915290825290205460ff1681565b6200048c6200077636600462004df9565b62001bab565b3480156200078957600080fd5b506200044062001d1c565b348015620007a157600080fd5b506200048c620007b336600462004baa565b62001de3565b348015620007c657600080fd5b5061010154620005af906001600160a01b031681565b348015620007e957600080fd5b506200048c620007fb36600462004baa565b620020e2565b3480156200080e57600080fd5b50620004406200082036600462004bec565b61010b60209081526000928352604080842090915290825290205481565b3480156200084b57600080fd5b506200048c6200085d36600462004bec565b620024d3565b3480156200087057600080fd5b5061010354620005af906001600160a01b031681565b3480156200089357600080fd5b5061010654620005af906001600160a01b031681565b348015620008b657600080fd5b506200048c620026ee565b348015620008ce57600080fd5b506200048c620008e036600462004baa565b62002704565b348015620008f357600080fd5b50620004407f03be538b6391ddcd7f2649585cc95b120c9e2a613f70714fbb55345057d809fa81565b3480156200092957600080fd5b50620004406200093b36600462004bec565b6001600160a01b03918216600090815261010b6020908152604080832093909416825291909152205490565b3480156200097457600080fd5b506200044060fc5481565b3480156200098c57600080fd5b5061010454620005af906001600160a01b031681565b348015620009af57600080fd5b506200048c620009c136600462004baa565b620027a0565b348015620009d457600080fd5b5062000a15620009e636600462004c2a565b61010c602052600090815260409020805460018201546002909201546001600160a01b03909116919060ff1683565b604080516001600160a01b039094168452602084019290925215159082015260600162000425565b34801562000a4a57600080fd5b506200044060fd5481565b34801562000a6257600080fd5b506033546001600160a01b0316620005af565b34801562000a8257600080fd5b506200041962000a9436600462004c79565b600091825260c9602090815260408084206001600160a01b0393909316845291905290205460ff1690565b34801562000acc57600080fd5b506200048c62000ade36600462004efb565b6200285e565b34801562000af157600080fd5b5062000b0962000b0336600462005187565b62002ef4565b604080519283526001600160a01b0390911660208301520162000425565b34801562000b3457600080fd5b50620005af73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b34801562000b5e57600080fd5b5062000440600081565b34801562000b7557600080fd5b506200041962000b8736600462004c2a565b6001600160a01b03908116600090815261010c60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff161515910181905290565b34801562000bde57600080fd5b5060ff54620005af906001600160a01b031681565b34801562000c0057600080fd5b506200048c62002fd9565b34801562000c1857600080fd5b5062000c2362003029565b60405162000425919062005246565b34801562000c3f57600080fd5b506200048c620030c0565b34801562000c5757600080fd5b506200044062003232565b34801562000c6f57600080fd5b5062000c2362003244565b34801562000c8757600080fd5b506200048c62000c9936600462004c79565b62003254565b34801562000cac57600080fd5b5061010754620005af906001600160a01b031681565b34801562000ccf57600080fd5b506200044061271081565b34801562000ce757600080fd5b5061010554620005af906001600160a01b031681565b34801562000d0a57600080fd5b506200041962000d1c36600462004c2a565b6200327d565b34801562000d2f57600080fd5b506200048c62000d4136600462004c2a565b620032be565b34801562000d5457600080fd5b5061010054620005af906001600160a01b031681565b34801562000d7757600080fd5b5062000b0962000d893660046200525b565b62003351565b60006001600160e01b031982167f7965db0b00000000000000000000000000000000000000000000000000000000148062000dda57506301ffc9a760e01b6001600160e01b03198316145b92915050565b62000dea620034de565b62000df9612710600a620052f1565b81111562000e33576040517ffe925f7d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60fd8190556040518181527f611668bfcf654a99c33cdb66c29ec37a5aae5c1287d2d9715a24e18cb4d806d6906020015b60405180910390a150565b62000e7a8262003547565b62000e8581620035ac565b62000e908162003600565b6001600160a01b03808316600090815261010e602090815260408083209385168352929052205460ff161562000ef2576040517fd5b9bc9600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b03808316600090815261010c602090815260409182902082516060810184528154909416845260018101549184018290526002015460ff1615159183019190915260fc546003846001600160a01b031663c32921716040518163ffffffff1660e01b81526004016020604051808303816000875af115801562000f80573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000fa6919062005321565b600381111562000fba5762000fba6200530b565b036200103e5760405163782aadff60e01b81526001600160a01b0386811660048301526000602483015285169063782aadff906044016020604051808303816000875af115801562001010573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001036919062005341565b90506200113a565b6000846001600160a01b031663c32921716040518163ffffffff1660e01b81526004016020604051808303816000875af115801562001081573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620010a7919062005321565b6003811115620010bb57620010bb6200530b565b146200113a5760405163782aadff60e01b81526001600160a01b0386811660048301526024820184905285169063782aadff906044016020604051808303816000875af115801562001111573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001137919062005341565b90505b6001600160a01b03858116600081815261010b6020908152604080832094891680845294825280832086905583835261010e82528083208584528252808320805460ff1916600190811790915584845261010d83528184208054918201815584529282902090920180546001600160a01b0319168517905581519283528201929092529081018290527ff56fa57e85e169a12200d12d9921ec069b52e688f6d309d9dab7bceff54614ec9060600160405180910390a15050505050565b62001201620034de565b6200120c8162003641565b50565b62001219620034de565b6200120c816200369f565b6200122f8262003547565b6200123a8162003600565b6200124633826200374a565b6001600160a01b03808316600090815261010e602090815260408083209385168352929052205460ff16620012a7576040517fc12369dc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b03808316600081815261010e60209081526040808320948616808452948252808320805460ff1916905592825261010b815282822093825292909252812055620012f9828262003796565b604080516001600160a01b038085168252831660208201527ede109bef4619f7e2cf00c8e5a50ca55f8deb44f87087eed414a91dbf8d1d1b91015b60405180910390a15050565b610100546000906001600160a01b031681620013606127106064620052f1565b60fd5460fc54620013729190620052f1565b6200137e91906200535b565b90506000620013916127106064620052f1565b6040516302a64b8360e21b81523060048201526001600160a01b03851690630a992e0c90602401602060405180830381865afa158015620013d6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620013fc919062005341565b60fc546200140b9190620052f1565b6200141791906200535b565b9050808260fc546200142a91906200537e565b6200143691906200537e565b935050505090565b61010d60205281600052604060002081815481106200145c57600080fd5b6000918252602090912001546001600160a01b03169150829050565b600082815260c960205260409020600101546200149581620038cc565b620014a18383620038d8565b505050565b620014b0620034de565b60fc8190556040518181527f5bcc2c453001fb0e2ba6266d56ecb411e7c6e15c8f9c3d301f93dd36ad25726f9060200162000e64565b620014f06200397c565b33600081815261010c602052604081206101005490916001600160a01b0390911690620015216127106064620052f1565b60fd5460fc54620015339190620052f1565b6200153f91906200535b565b90506000620015526127106064620052f1565b6040516302a64b8360e21b81523060048201526001600160a01b03851690630a992e0c90602401602060405180830381865afa15801562001597573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620015bd919062005341565b60fc54620015cc9190620052f1565b620015d891906200535b565b6001600160a01b03808716600090815261010c60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff1615159101819052909150620019105760028401805460ff1916600190811790915560fc549085015560408051808201909152600b81527f67617264656e546f6b656e0000000000000000000000000000000000000000006020820152610105546200168d91906001600160a01b0316620039d7565b620016c68530838560fc54620016a491906200537e565b620016b091906200537e565b610105546001600160a01b031692919062003a39565b620017076040518060400160405280601281526020017f636f6d6d756e697479466565416d6f756e7400000000000000000000000000008152508362003abf565b81156200177a5760408051808201909152600b81527f6665655265636569766572000000000000000000000000000000000000000000602082015260ff546200175a91906001600160a01b0316620039d7565b60ff54610105546200177a916001600160a01b0391821691168462003b21565b620017bb6040518060400160405280601081526020017f67617264656e73466565416d6f756e74000000000000000000000000000000008152508262003abf565b8015620018c9576200184b6040518060600160405280602681526020016200b9e060269139846001600160a01b031663987435be6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200181f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001845919062005394565b620039d7565b620018c9836001600160a01b031663987435be6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200188e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620018b4919062005394565b610105546001600160a01b0316908362003b21565b60fc54604080516001600160a01b038816815260208101929092527f67e0244e28040fec15240cd4b6c04c776a2a0278caef23b59e8ada1df31f7689910160405180910390a15b5050505050620019206001606555565b565b6001600160a01b0381163314620019a65760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201527f20726f6c657320666f722073656c66000000000000000000000000000000000060648201526084015b60405180910390fd5b620019b2828262003b5a565b5050565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016300362001a455760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b19195b1959d85d1958d85b1b60a21b60648201526084016200199d565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031662001aa17f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b6001600160a01b03161462001b0e5760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b6163746976652070726f787960a01b60648201526084016200199d565b62001b198162003bde565b604080516000808252602082019092526200120c9183919062003be8565b62001b41620034de565b62001b4c8162003600565b61010380546001600160a01b0319166001600160a01b03838116918217909255610106546040805191909316815260208101919091527f83eac9fdaff0ac1017624b7eddeb9782e3d707cd894073cb7e8301a41c6e5cf8910162000e64565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016300362001c3a5760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b19195b1959d85d1958d85b1b60a21b60648201526084016200199d565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031662001c967f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b6001600160a01b03161462001d035760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b6163746976652070726f787960a01b60648201526084016200199d565b62001d0e8262003bde565b620019b28282600162003be8565b6000306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161462001dbe5760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c000000000000000060648201526084016200199d565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc90565b62001ded6200397c565b62001df762003d94565b33600081815261010d602090815260408083208054825181850281018501909352808352919290919083018282801562001e5b57602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831162001e3c575b50505050509050600080600090505b8251811015620020425782818151811062001e895762001e89620053b4565b602090810291909101015160405163782aadff60e01b81526001600160a01b038681166004830152602482018890529091169063782aadff906044016020604051808303816000875af115801562001ee5573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001f0b919062005341565b915081156200202d576001600160a01b038416600090815261010b60205260408120845184929086908590811062001f475762001f47620053b4565b60200260200101516001600160a01b03166001600160a01b03168152602001908152602001600020600082825462001f8091906200537e565b925050819055506200202d6040518060400160405280600e81526020017f537472617465677920706f77657200000000000000000000000000000000000081525061010b6000876001600160a01b03166001600160a01b03168152602001908152602001600020600086858151811062001ffe5762001ffe620053b4565b60200260200101516001600160a01b03166001600160a01b031681526020019081526020016000205462003abf565b806200203981620053ca565b91505062001e6a565b50610105546200205e906001600160a01b031684308762003a39565b6001600160a01b038316600090815261010c6020526040812060010180548692906200208c9084906200537e565b9091555050604080516001600160a01b0385168152602081018690527f576605f9bfe8911e7508bed3763c7c5c8eb3b86e8b360b90a4bc6abe1104cb7f91015b60405180910390a15050506200120c6001606555565b620020ec6200397c565b620020f662003d94565b33600081815261010d6020908152604080832060fc5461010c90935290832060010154909291906200212a908690620053e6565b101562002163576040517f9c47d02e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610105546200217d906001600160a01b0316848662003b21565b60005b82548110156200245f576000838281548110620021a157620021a1620053b4565b6000918252602090912001546001600160a01b03169050620021cb8163f1801e6160e01b62003df5565b1562002383576040517f2ed04b2b0000000000000000000000000000000000000000000000000000000081526001600160a01b03868116600483015260248201889052821690632ed04b2b906044016020604051808303816000875af11580156200223a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002260919062005341565b9250600061010b6000876001600160a01b03166001600160a01b031681526020019081526020016000206000868581548110620022a157620022a1620053b4565b60009182526020808320909101546001600160a01b031683528201929092526040019020549050808411156200230e576040517f8a11f31800000000000000000000000000000000000000000000000000000000815260048101859052602481018290526044016200199d565b6001600160a01b038616600090815261010b602052604081208654869290889087908110620023415762002341620053b4565b60009182526020808320909101546001600160a01b031683528201929092526040018120805490919062002377908490620053e6565b90915550505062002449565b835484906200239590600190620053e6565b81548110620023a857620023a8620053b4565b9060005260206000200160009054906101000a90046001600160a01b0316848381548110620023db57620023db620053b4565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b03160217905550838054806200241c576200241c620053fc565b600082815260209020810160001990810180546001600160a01b0319169055019055620024498162003641565b50806200245681620053ca565b91505062002180565b506001600160a01b038316600090815261010c6020526040812060010180548692906200248e908490620053e6565b9091555050604080516001600160a01b0385168152602081018690527f6ee2c70b2d6b89ae808a2313aab43e925c06624271419cd665d85cfa1ae04ff89101620020cc565b620024dd6200397c565b620024e7620034de565b60fb5460ff1662002524576040517fcb63dc7200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b03808316600090815261010c60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff16151591018190526200258957604051636a5cfb6d60e01b815260040160405180910390fd5b6001600160a01b03808316600090815261010c60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff16151590820152620025da8362003e1d565b6001600160a01b03838116600090815261010c6020908152604080832080546001600160a01b031916815560018101939093556002909201805460ff191690556101055490840151915163a9059cbb60e01b8152858416600482015260248101929092529091169063a9059cbb906044016020604051808303816000875af11580156200266b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002691919062005412565b50602080820151604080516001600160a01b0380881682528616938101939093528201527fb5946f249f8744efe9d14d49a483b54a589b1362944ff6694de93456cceb96a39060600160405180910390a150620019b26001606555565b620026f862003f4b565b62001920600062003fa7565b6200270e620034de565b6101075460405163068bcd8d60e01b8152600481018390526000916001600160a01b03169063068bcd8d90602401600060405180830381865afa1580156200275a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405262002784919081019062005432565b602001519050620027958162003600565b620019b28162003641565b620027aa620034de565b6101075460405163068bcd8d60e01b8152600481018390526000916001600160a01b03169063068bcd8d90602401600060405180830381865afa158015620027f6573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405262002820919081019062005432565b602001519050620028318162003600565b6200284d6001600160a01b03821663f1801e6160e01b62003df5565b15620019b257620019b2816200369f565b600054610100900460ff16158080156200287f5750600054600160ff909116105b806200289b5750303b1580156200289b575060005460ff166001145b6200290f5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084016200199d565b6000805460ff19166001179055801562002933576000805461ff0019166101001790555b6200293d62003ff9565b6200294762004070565b62002951620040e7565b6200297e7f03be538b6391ddcd7f2649585cc95b120c9e2a613f70714fbb55345057d809fa600062004154565b6200298d826020015162003600565b6200299d82610100015162003600565b8151620029aa9062003600565b620029b98260a0015162003600565b620029c982610180015162003600565b606082015115620029e357620029e38260c0015162003600565b815161010780546001600160a01b039283166001600160a01b03199182161790915560208401516101058054919093169116179055604082015160000362002a57576040517fc70d18aa00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604082015160fc55606082015160fd5561014082015160fb805460ff19169115159190911790556101208201516101089062002a949082620055f7565b506101608201516101099062002aab9082620055f7565b5060a082015161010080546001600160a01b03199081166001600160a01b0393841617825560c085015160ff8054831691851691909117905590840151610106805483168285161790556101808501516101018054909316931692909217905562002b38907f03be538b6391ddcd7f2649585cc95b120c9e2a613f70714fbb55345057d809fa90620038d8565b61010760009054906101000a90046001600160a01b03166001600160a01b0316635ab1bd536040518163ffffffff1660e01b8152600401602060405180830381865afa15801562002b8d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002bb3919062005394565b61010480546001600160a01b0319166001600160a01b0392831617905561010654604080517fa0e67e2b0000000000000000000000000000000000000000000000000000000081529051600093929092169163a0e67e2b9160048082019286929091908290030181865afa15801562002c30573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405262002c5a9190810190620056c4565b905060008151600262002c6e91906200537e565b67ffffffffffffffff81111562002c895762002c8962004ca1565b60405190808252806020026020018201604052801562002cb3578160200160208202803683370190505b50905060005b825181101562002d225782818151811062002cd85762002cd8620053b4565b602002602001015182828151811062002cf55762002cf5620053b4565b6001600160a01b03909216602092830291909101909101528062002d1981620053ca565b91505062002cb9565b506101065481516001600160a01b0390911690829062002d4590600190620053e6565b8151811062002d585762002d58620053b4565b60200260200101906001600160a01b031690816001600160a01b03168152505030816002835162002d8a9190620053e6565b8151811062002d9d5762002d9d620053b4565b6001600160a01b03928316602091820292909201015261010454608086015160e08701516040517f3a92f65f0000000000000000000000000000000000000000000000000000000081529290931692633a92f65f9262002e09929161010891309088906004016200586f565b6020604051808303816000875af115801562002e29573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002e4f919062005341565b60fe55805162002e689061010f90602084019062004ac6565b507f2f2ffcb06f8a1d35e2716f6b43ef2c19bfa76467d8f66964ae12c2583ed0320560fe546101088660e0015160405162002ea693929190620058c3565b60405180910390a150508015620019b2576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200162001334565b600080600060405162002f079062004b30565b604051809103906000f08015801562002f24573d6000803e3d6000fd5b5061010754604080516001600160a01b0390921660248084019190915281518084039091018152604490920181526020820180516001600160e01b03167f19ab453c000000000000000000000000000000000000000000000000000000001790525162002f919062004b3e565b62002f9e929190620058f2565b604051809103906000f08015801562002fbb573d6000803e3d6000fd5b50905062002fcc8187878762003351565b9250925050935093915050565b610103546001600160a01b031633146200301f576040517febcd0d6e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b620019206200419f565b6101098054620030399062005569565b80601f0160208091040260200160405190810160405280929190818152602001828054620030679062005569565b8015620030b85780601f106200308c57610100808354040283529160200191620030b8565b820191906000526020600020905b8154815290600101906020018083116200309a57829003601f168201915b505050505081565b620030ca6200397c565b33620030d68162003547565b620030e18162003e1d565b6001600160a01b03808216600081815261010c602090815260408083208151606081018352815496871681526001820180548286015260028301805460ff81161515848701529787526001600160a01b03199098169092559084905560ff1990941690945561010d905291822090916200315c919062004b4c565b61010554602082015160405163a9059cbb60e01b81526001600160a01b038581166004830152602482019290925291169063a9059cbb906044016020604051808303816000875af1158015620031b6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620031dc919062005412565b50602080820151604080516001600160a01b0386168152928301919091527fa13f4668aacb68c4e9eed8e3f6e1cbec3eca776896ec46b5eabcc3983fc8f5f4910160405180910390a15050620019206001606555565b62003241612710600a620052f1565b81565b6101088054620030399062005569565b600082815260c960205260409020600101546200327181620038cc565b620014a1838362003b5a565b6001600160a01b03811660009081527fa867e09674d469ee17077111ff66261f5d2fc5820cc6914676cb47231da58818602052604081205460ff1662000dda565b620032c862003f4b565b6001600160a01b038116620033465760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084016200199d565b6200120c8162003fa7565b60008073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6001600160a01b038616156200337c5750845b869150600061010f805480602002602001604051908101604052809291908181526020018280548015620033da57602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311620033bb575b50506101075460fe546040519596506001600160a01b039091169463e1007d4a945090925087915062003412908b906020016200592d565b6040516020818303038152906040528660008b886040518863ffffffff1660e01b81526004016200344a9796959493929190620059cb565b6020604051808303816000875af11580156200346a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062003490919062005341565b93507f778cac0ae0b66477341553a4a89398c61ccf448313d3354ad0ca85a5a825d2838484308a89604051620034cb95949392919062005a3d565b60405180910390a1505094509492505050565b3360009081527fa867e09674d469ee17077111ff66261f5d2fc5820cc6914676cb47231da58818602052604090205460ff1662001920576040517ff62651fa00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b03808216600090815261010c60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff16151591018190526200120c57604051636a5cfb6d60e01b815260040160405180910390fd5b6001600160a01b038116600090815261010a602052604090205460ff166200120c576040517f46c26e4b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0381166200120c576040517fe622e04000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6200364c8162003600565b6001600160a01b038116600081815261010a6020908152604091829020805460ff1916905590519182527f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea4910162000e64565b6001600160a01b038116600090815261010a602052604090205460ff1615620036f4576040517f968a4d2c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038116600081815261010a6020908152604091829020805460ff1916600117905590519182527f3f008fd510eae7a9e7bee13513d7b83bef8003d488b5a3d0b0da4de71d6846f1910162000e64565b806001600160a01b0316826001600160a01b031614620019b2576040517fbbe7961100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038216600090815261010d60205260408120905b8154811015620038c657826001600160a01b0316828281548110620037da57620037da620053b4565b6000918252602090912001546001600160a01b031603620038b157815482906200380790600190620053e6565b815481106200381a576200381a620053b4565b9060005260206000200160009054906101000a90046001600160a01b03168282815481106200384d576200384d620053b4565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b03160217905550818054806200388e576200388e620053fc565b600082815260209020810160001990810180546001600160a01b03191690550190555b80620038bd81620053ca565b915050620037b1565b50505050565b6200120c8133620041fc565b600082815260c9602090815260408083206001600160a01b038516845290915290205460ff16620019b257600082815260c9602090815260408083206001600160a01b03851684529091529020805460ff19166001179055620039383390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b600260655403620039d05760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064016200199d565b6002606555565b620019b28282604051602401620039f092919062005a79565b60408051601f198184030181529190526020810180516001600160e01b03167f319af333000000000000000000000000000000000000000000000000000000001790526200427a565b6040516001600160a01b0380851660248301528316604482015260648101829052620038c69085907f23b872dd00000000000000000000000000000000000000000000000000000000906084015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091526200429b565b620019b2828260405160240162003ad892919062005aa6565b60408051601f198184030181529190526020810180516001600160e01b03167f9710a9d0000000000000000000000000000000000000000000000000000000001790526200427a565b6040516001600160a01b038316602482015260448101829052620014a190849063a9059cbb60e01b9060640162003a87565b6001606555565b600082815260c9602090815260408083206001600160a01b038516845290915290205460ff1615620019b257600082815260c9602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b6200120c62003f4b565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff161562003c1e57620014a1836200438a565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa92505050801562003c7b575060408051601f3d908101601f1916820190925262003c789181019062005341565b60015b62003cef5760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201527f6f6e206973206e6f74205555505300000000000000000000000000000000000060648201526084016200199d565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc811462003d865760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f7860448201527f6961626c6555554944000000000000000000000000000000000000000000000060648201526084016200199d565b50620014a18383836200444a565b33600090815261010c6020908152604091829020825160608101845281546001600160a01b031681526001820154928101929092526002015460ff16151591018190526200192057604051636a5cfb6d60e01b815260040160405180910390fd5b600062003e028362004475565b801562003e16575062003e168383620044ad565b9392505050565b6001600160a01b038116600090815261010d602090815260408083208054825181850281018501909352808352919290919083018282801562003e8a57602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831162003e6b575b5050505050905060005b8151811015620014a15781818151811062003eb35762003eb3620053b4565b60209081029190910101516040517f6453d9c40000000000000000000000000000000000000000000000000000000081526001600160a01b03858116600483015290911690636453d9c490602401600060405180830381600087803b15801562003f1c57600080fd5b505af115801562003f31573d6000803e3d6000fd5b50505050808062003f4290620053ca565b91505062003e94565b6033546001600160a01b03163314620019205760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016200199d565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600054610100900460ff16620040665760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b60648201526084016200199d565b6200192062004538565b600054610100900460ff16620040dd5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b60648201526084016200199d565b62001920620045b0565b600054610100900460ff16620019205760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b60648201526084016200199d565b600082815260c96020526040808220600101805490849055905190918391839186917fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff9190a4505050565b610103805461010680546001600160a01b0383166001600160a01b031991821617909155169055604051600081527fad0399dc40331b9a4977aa89da7a164a3fd482c65e6da73b25a94ea74fb688729060200160405180910390a1565b600082815260c9602090815260408083206001600160a01b038516845290915290205460ff16620019b25762004232816200461d565b6200423f83602062004630565b6040516020016200425292919062005aca565b60408051601f198184030181529082905262461bcd60e51b82526200199d9160040162005246565b80516a636f6e736f6c652e6c6f67602083016000808483855afa5050505050565b6000620042f2826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166200482f9092919063ffffffff16565b90508051600014806200431657508080602001905181019062004316919062005412565b620014a15760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f7420737563636565640000000000000000000000000000000000000000000060648201526084016200199d565b6001600160a01b0381163b620044095760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201527f6f74206120636f6e74726163740000000000000000000000000000000000000060648201526084016200199d565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b620044558362004848565b600082511180620044635750805b15620014a157620038c683836200488a565b60006200448a826301ffc9a760e01b620044ad565b801562000dda5750620044a6826001600160e01b0319620044ad565b1592915050565b604080516001600160e01b03198316602480830191909152825180830390910181526044909101909152602080820180516001600160e01b03166301ffc9a760e01b178152825160009392849283928392918391908a617530fa92503d9150600051905082801562004520575060208210155b80156200452d5750600081115b979650505050505050565b600054610100900460ff16620045a55760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b60648201526084016200199d565b620019203362003fa7565b600054610100900460ff1662003b535760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b60648201526084016200199d565b606062000dda6001600160a01b03831660145b6060600062004641836002620052f1565b6200464e9060026200537e565b67ffffffffffffffff81111562004669576200466962004ca1565b6040519080825280601f01601f19166020018201604052801562004694576020820181803683370190505b5090507f300000000000000000000000000000000000000000000000000000000000000081600081518110620046ce57620046ce620053b4565b60200101906001600160f81b031916908160001a9053507f7800000000000000000000000000000000000000000000000000000000000000816001815181106200471c576200471c620053b4565b60200101906001600160f81b031916908160001a905350600062004742846002620052f1565b6200474f9060016200537e565b90505b6001811115620047de577f303132333435363738396162636465660000000000000000000000000000000085600f1660108110620047945762004794620053b4565b1a60f81b828281518110620047ad57620047ad620053b4565b60200101906001600160f81b031916908160001a90535060049490941c93620047d68162005b4f565b905062004752565b50831562003e165760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e7460448201526064016200199d565b6060620048408484600085620048b2565b949350505050565b62004853816200438a565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b606062003e1683836040518060600160405280602781526020016200ba0660279139620049a1565b6060824710156200492c5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c000000000000000000000000000000000000000000000000000060648201526084016200199d565b600080866001600160a01b031685876040516200494a919062005b69565b60006040518083038185875af1925050503d806000811462004989576040519150601f19603f3d011682016040523d82523d6000602084013e6200498e565b606091505b50915091506200452d8783838762004a1f565b6060600080856001600160a01b031685604051620049c0919062005b69565b600060405180830381855af49150503d8060008114620049fd576040519150601f19603f3d011682016040523d82523d6000602084013e62004a02565b606091505b509150915062004a158683838762004a1f565b9695505050505050565b6060831562004a9357825160000362004a8b576001600160a01b0385163b62004a8b5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016200199d565b508162004840565b62004840838381511562004aaa5781518083602001fd5b8060405162461bcd60e51b81526004016200199d919062005246565b82805482825590600052602060002090810192821562004b1e579160200282015b8281111562004b1e57825182546001600160a01b0319166001600160a01b0390911617825560209092019160019091019062004ae7565b5062004b2c92915062004b67565b5090565b61596a8062005b8883390190565b6104ee806200b4f283390190565b50805460008255906000526020600020908101906200120c91905b5b8082111562004b2c576000815560010162004b68565b60006020828403121562004b9157600080fd5b81356001600160e01b03198116811462003e1657600080fd5b60006020828403121562004bbd57600080fd5b5035919050565b6001600160a01b03811681146200120c57600080fd5b803562004be78162004bc4565b919050565b6000806040838503121562004c0057600080fd5b823562004c0d8162004bc4565b9150602083013562004c1f8162004bc4565b809150509250929050565b60006020828403121562004c3d57600080fd5b813562003e168162004bc4565b6000806040838503121562004c5e57600080fd5b823562004c6b8162004bc4565b946020939093013593505050565b6000806040838503121562004c8d57600080fd5b82359150602083013562004c1f8162004bc4565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff8111828210171562004cdd5762004cdd62004ca1565b60405290565b6040516101a0810167ffffffffffffffff8111828210171562004cdd5762004cdd62004ca1565b604051610120810167ffffffffffffffff8111828210171562004cdd5762004cdd62004ca1565b60405160c0810167ffffffffffffffff8111828210171562004cdd5762004cdd62004ca1565b604051601f8201601f1916810167ffffffffffffffff8111828210171562004d835762004d8362004ca1565b604052919050565b600067ffffffffffffffff82111562004da85762004da862004ca1565b50601f01601f191660200190565b600062004dcd62004dc78462004d8b565b62004d57565b905082815283838301111562004de257600080fd5b828260208301376000602084830101529392505050565b6000806040838503121562004e0d57600080fd5b823562004e1a8162004bc4565b9150602083013567ffffffffffffffff81111562004e3757600080fd5b8301601f8101851362004e4957600080fd5b62004e5a8582356020840162004db6565b9150509250929050565b600082601f83011262004e7657600080fd5b62003e168383356020850162004db6565b60006040828403121562004e9a57600080fd5b62004ea462004cb7565b905081358152602082013567ffffffffffffffff81111562004ec557600080fd5b62004ed38482850162004e64565b60208301525092915050565b80151581146200120c57600080fd5b803562004be78162004edf565b60006020828403121562004f0e57600080fd5b813567ffffffffffffffff8082111562004f2757600080fd5b908301906101a0828603121562004f3d57600080fd5b62004f4762004ce3565b62004f528362004bda565b815262004f626020840162004bda565b602082015260408301356040820152606083013560608201526080830135608082015262004f9360a0840162004bda565b60a082015262004fa660c0840162004bda565b60c082015260e08301358281111562004fbe57600080fd5b62004fcc8782860162004e87565b60e08301525061010062004fe281850162004bda565b90820152610120838101358381111562004ffb57600080fd5b620050098882870162004e64565b8284015250506101406200501f81850162004eee565b9082015261016083810135838111156200503857600080fd5b620050468882870162004e64565b82840152505061018091506200505e82840162004bda565b91810191909152949350505050565b80356003811062004be757600080fd5b600481106200120c57600080fd5b803562004be7816200507d565b600060208284031215620050ab57600080fd5b6040516020810181811067ffffffffffffffff82111715620050d157620050d162004ca1565b6040529135825250919050565b60006101208284031215620050f257600080fd5b620050fc62004d0a565b9050620051098262004bda565b8152602082013560208201526040820135604082015260608201356060820152608082013560808201526200514160a083016200506d565b60a08201526200515460c083016200508b565b60c0820152620051688360e0840162005098565b60e08201526101006200517d81840162004bda565b9082015292915050565b600080600061016084860312156200519e57600080fd5b8335620051ab8162004bc4565b9250620051bc8560208601620050de565b915061014084013567ffffffffffffffff811115620051da57600080fd5b620051e88682870162004e87565b9150509250925092565b60005b838110156200520f578181015183820152602001620051f5565b50506000910152565b6000815180845262005232816020860160208601620051f2565b601f01601f19169290920160200192915050565b60208152600062003e16602083018462005218565b60008060008061018085870312156200527357600080fd5b8435620052808162004bc4565b93506020850135620052928162004bc4565b9250620052a38660408701620050de565b915061016085013567ffffffffffffffff811115620052c157600080fd5b620052cf8782880162004e87565b91505092959194509250565b634e487b7160e01b600052601160045260246000fd5b808202811582820484141762000dda5762000dda620052db565b634e487b7160e01b600052602160045260246000fd5b6000602082840312156200533457600080fd5b815162003e16816200507d565b6000602082840312156200535457600080fd5b5051919050565b6000826200537957634e487b7160e01b600052601260045260246000fd5b500490565b8082018082111562000dda5762000dda620052db565b600060208284031215620053a757600080fd5b815162003e168162004bc4565b634e487b7160e01b600052603260045260246000fd5b600060018201620053df57620053df620052db565b5060010190565b8181038181111562000dda5762000dda620052db565b634e487b7160e01b600052603160045260246000fd5b6000602082840312156200542557600080fd5b815162003e168162004edf565b600060208083850312156200544657600080fd5b825167ffffffffffffffff808211156200545f57600080fd5b9084019060c082870312156200547457600080fd5b6200547e62004d31565b8251815283830151620054918162004bc4565b818501526040830151620054a58162004bc4565b6040820152606083015182811115620054bd57600080fd5b830160408189031215620054d057600080fd5b620054da62004cb7565b815181528582015184811115620054f057600080fd5b82019350601f840189136200550457600080fd5b835191506200551762004dc78362004d8b565b82815289878487010111156200552c57600080fd5b6200553d83888301898801620051f2565b95810195909552506060810193909352506080818101519083015260a090810151908201529392505050565b600181811c908216806200557e57607f821691505b6020821081036200559f57634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620014a157600081815260208120601f850160051c81016020861015620055ce5750805b601f850160051c820191505b81811015620055ef57828155600101620055da565b505050505050565b815167ffffffffffffffff81111562005614576200561462004ca1565b6200562c8162005625845462005569565b84620055a5565b602080601f8311600181146200566457600084156200564b5750858301515b600019600386901b1c1916600185901b178555620055ef565b600085815260208120601f198616915b82811015620056955788860151825594840194600190910190840162005674565b5085821015620056b45787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60006020808385031215620056d857600080fd5b825167ffffffffffffffff80821115620056f157600080fd5b818501915085601f8301126200570657600080fd5b8151818111156200571b576200571b62004ca1565b8060051b91506200572e84830162004d57565b81815291830184019184810190888411156200574957600080fd5b938501935b83851015620057775784519250620057668362004bc4565b82825293850193908501906200574e565b98975050505050505050565b60008154620057928162005569565b808552602060018381168015620057b25760018114620057cd57620057fd565b60ff1985168884015283151560051b880183019550620057fd565b866000528260002060005b85811015620057f55781548a8201860152908301908401620057d8565b890184019650505b505050505092915050565b80518252600060208201516040602085015262004840604085018262005218565b600081518084526020808501945080840160005b83811015620058645781516001600160a01b0316875295820195908201906001016200583d565b509495945050505050565b85815260a0602082015260006200588a60a083018762005783565b82810360408401526200589e818762005808565b90506001600160a01b0385166060840152828103608084015262005777818562005829565b838152606060208201526000620058de606083018562005783565b828103604084015262004a15818562005808565b6001600160a01b038316815260406020820152600062004840604083018462005218565b600481106200592957620059296200530b565b9052565b6000610120820190506001600160a01b0383511682526020830151602083015260408301516040830152606083015160608301526080830151608083015260a0830151600381106200598357620059836200530b565b8060a08401525060c08301516200599e60c084018262005916565b5060e0830151620059b260e0840182519052565b50610100928301516001600160a01b0316919092015290565b87815260006001600160a01b03808916602084015260e06040840152620059f660e084018962005218565b818816606085015286608085015283810360a085015262005a18818762005808565b91505082810360c084015262005a2f818562005829565b9a9950505050505050505050565b85815260006001600160a01b038087166020840152808616604084015280851660608401525060a060808301526200452d60a083018462005808565b60408152600062005a8e604083018562005218565b90506001600160a01b03831660208301529392505050565b60408152600062005abb604083018562005218565b90508260208301529392505050565b7f416363657373436f6e74726f6c3a206163636f756e742000000000000000000081526000835162005b04816017850160208801620051f2565b7f206973206d697373696e6720726f6c6520000000000000000000000000000000601791840191820152835162005b43816028840160208801620051f2565b01602801949350505050565b60008162005b615762005b61620052db565b506000190190565b6000825162005b7d818460208701620051f2565b919091019291505056fe60a0604052306080526000606d81905560705534801561001e57600080fd5b506080516159136200005760003960008181611231015281816112b6015281816113b70152818161143c015261152201526159136000f3fe6080604052600436106103c75760003560e01c806376365af7116101f2578063b5f620ce11610119578063e0dd2c38116100b2578063ef2920fc11610084578063f321b3051161006c578063f321b30514610b89578063f5b0dfb714610ba9578063fc1711f214610bc957005b8063ef2920fc14610b56578063f2fde38b14610b6957005b8063e0dd2c3814610ac9578063e33add9314610ae9578063eb11af9314610b09578063edd146cc14610b3657005b8063c7f758a8116100eb578063c7f758a814610a39578063d1e3623214610a6f578063dc96ff2d14610a84578063df868ed314610ab457005b8063b5f620ce146109a6578063b6c61f31146109c6578063bcc5b93b146109e6578063c329217114610a1c57005b8063950559d71161018b578063a574cea41161015d578063a574cea414610916578063aba9ffee14610943578063ac1ed7b914610959578063b2b878d01461097957005b8063950559d7146108a1578063a0cf0aea146108c1578063a1aab33f146108e9578063a47ff7e5146108ff57005b8063817b1cd2116101c4578063817b1cd21461082d578063824ea8ed14610843578063868c57b8146108635780638da5cb5b1461088357005b806376365af7146107cc578063782aadff146107e25780637c6570ba14610802578063814516ad1461081857005b8063346db8cb116102ee5780634f1ef286116102875780635db64b99116102595780636453d9c4116102415780636453d9c41461077757806369fa25c414610797578063715018a6146107b757005b80635db64b991461072a5780636003e4141461075757005b80634f1ef286146106cc57806352d1902d146106df57806354fac919146106f457806359a5db8b1461070a57005b8063406244d8116102c0578063406244d81461066d57806342fda9c7146106825780634ab4ba42146106975780634d31d087146106ac57005b8063346db8cb146105f1578063351d9f96146106115780633659cfe61461063857806338fff2d01461065857005b806315cc481e116103605780632bbe0cae116103325780632bbe0cae146105725780632cefadbb146105855780632dbd6fdd146105a55780632ed04b2b146105d157005b806315cc481e146104eb57806319ab453c1461051d5780631aa91a9e1461053d5780631ddf1e231461055d57005b80630ba95909116103995780630ba959091461047f5780630c0512e91461049e5780630f529ba2146104b457806311f22ae3146104cb57005b8063013cf08b146103d057806301ffc9a71461040f578063058aca441461043f5780630a6f0ee91461045f57005b366103ce57005b005b3480156103dc57600080fd5b506103f06103eb36600461481d565b610be9565b6040516104069a999897969594939291906148cf565b60405180910390f35b34801561041b57600080fd5b5061042f61042a366004614942565b610cf7565b6040519015158152602001610406565b34801561044b57600080fd5b506103ce61045a366004614999565b610d90565b34801561046b57600080fd5b506103ce61047a366004614ba9565b610df0565b34801561048b57600080fd5b506073545b604051908152602001610406565b3480156104aa57600080fd5b50610490606d5481565b3480156104c057600080fd5b506104906298968081565b3480156104d757600080fd5b506103ce6104e636600461481d565b610e10565b3480156104f757600080fd5b506065546001600160a01b03165b6040516001600160a01b039091168152602001610406565b34801561052957600080fd5b506103ce610538366004614999565b610e4f565b34801561054957600080fd5b5061049061055836600461481d565b610fb0565b34801561056957600080fd5b506103ce611036565b610505610580366004614c21565b611041565b34801561059157600080fd5b506103ce6105a036600461481d565b611064565b3480156105b157600080fd5b506072546105c490610100900460ff1681565b6040516104069190614c83565b3480156105dd57600080fd5b506104906105ec366004614c91565b6110b0565b3480156105fd57600080fd5b5061049061060c366004614cbd565b611182565b34801561061d57600080fd5b5060725461062b9060ff1681565b6040516104069190614cf9565b34801561064457600080fd5b506103ce610653366004614999565b611227565b34801561066457600080fd5b50606854610490565b34801561067957600080fd5b50610490600a81565b34801561068e57600080fd5b50606654610490565b3480156106a357600080fd5b50606954610490565b3480156106b857600080fd5b5061042f6106c7366004614999565b6113a2565b6103ce6106da366004614d07565b6113ad565b3480156106eb57600080fd5b50610490611515565b34801561070057600080fd5b50610490606a5481565b34801561071657600080fd5b5061049061072536600461481d565b6115da565b34801561073657600080fd5b50610490610745366004614999565b60776020526000908152604090205481565b34801561076357600080fd5b50607454610505906001600160a01b031681565b34801561078357600080fd5b506103ce610792366004614999565b611717565b3480156107a357600080fd5b506103ce6107b236600461481d565b611728565b3480156107c357600080fd5b506103ce611767565b3480156107d857600080fd5b50610490606b5481565b3480156107ee57600080fd5b506104906107fd366004614c91565b611779565b34801561080e57600080fd5b5061049060705481565b34801561082457600080fd5b506103ce61191b565b34801561083957600080fd5b50610490606e5481565b34801561084f57600080fd5b5061042f61085e36600461481d565b611a4d565b34801561086f57600080fd5b5061049061087e366004614c91565b611aaa565b34801561088f57600080fd5b506033546001600160a01b0316610505565b3480156108ad57600080fd5b506104906108bc36600461481d565b611adb565b3480156108cd57600080fd5b5061050573eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b3480156108f557600080fd5b50610490606c5481565b34801561090b57600080fd5b506073546104909081565b34801561092257600080fd5b5061093661093136600461481d565b611b05565b6040516104069190614d57565b34801561094f57600080fd5b50610490606f5481565b34801561096557600080fd5b506103ce610974366004614999565b611be4565b34801561098557600080fd5b50610999610994366004614d6a565b611cc5565b6040516104069190614e3f565b3480156109b257600080fd5b506103ce6109c1366004614ea5565b611ce0565b3480156109d257600080fd5b50607554610505906001600160a01b031681565b3480156109f257600080fd5b50610490610a01366004614999565b6001600160a01b031660009081526077602052604090205490565b348015610a2857600080fd5b50607254610100900460ff166105c4565b348015610a4557600080fd5b50610a59610a5436600461481d565b611ce9565b6040516104069a99989796959493929190614ec2565b348015610a7b57600080fd5b50606f54610490565b348015610a9057600080fd5b50610490610a9f36600461481d565b60009081526076602052604090206002015490565b348015610ac057600080fd5b5061042f611deb565b348015610ad557600080fd5b50610490610ae4366004614f27565b611dfe565b348015610af557600080fd5b506103ce610b04366004614f4c565b611e29565b348015610b1557600080fd5b50610b29610b24366004614999565b611e42565b6040516104069190614ff7565b348015610b4257600080fd5b506103ce610b51366004615011565b611e4d565b6103ce610b64366004614c21565b611f9b565b348015610b7557600080fd5b506103ce610b84366004614999565b611fb5565b348015610b9557600080fd5b506103ce610ba4366004615042565b612042565b348015610bb557600080fd5b506103ce610bc436600461481d565b61208d565b348015610bd557600080fd5b506103ce610be436600461481d565b6120b6565b6076602090815260009182526040918290208054600182015460028301546003840154600485015460058601546006870154600788015460088901548b51808d01909c52600a8a0180548d52600b8b0180549a9d999c989b979a6001600160a01b039788169a968816999790951697939660ff9093169593949192840191610c709061509c565b80601f0160208091040260200160405190810160405280929190818152602001828054610c9c9061509c565b8015610ce95780601f10610cbe57610100808354040283529160200191610ce9565b820191906000526020600020905b815481529060010190602001808311610ccc57829003601f168201915b50505050508152505090508a565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167ff1801e61000000000000000000000000000000000000000000000000000000001480610d8a57507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b33610d9a816120f5565b607480546001600160a01b0319166001600160a01b0384169081179091556040519081527fd6ceddf6d2a22f21c7c81675c518004eff43bc5c8a6fc32a0b748e69d58671cd906020015b60405180910390a15050565b610df86121a4565b610e006121cf565b610e0b83838361220b565b505050565b33610e1a816120f5565b606b8290556040518281527f08e39b387d1f739ce0d2553bb31822392e3f67c62c6c0a215120ab4a6841a8ab90602001610de4565b600054610100900460ff1615808015610e6f5750600054600160ff909116105b80610e895750303b158015610e89575060005460ff166001145b610f005760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084015b60405180910390fd5b6000805460ff191660011790558015610f23576000805461ff0019166101001790555b610f62826040518060400160405280600a81526020017f4356537472617465677900000000000000000000000000000000000000000000815250612042565b610f6a61251f565b8015610fac576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249890602001610de4565b5050565b600081815260766020526040812080548314610fe25760405163c1d17bef60e01b815260048101849052602401610ef7565b6001600882015460ff166004811115610ffd57610ffd614836565b1461101e576040516344980d8f60e01b815260048101849052602401610ef7565b61102c818260020154612592565b6003015492915050565b61103f336125cd565b565b600061104b6121a4565b6110536121cf565b61105d838361271e565b9392505050565b3361106e816120f5565b60705460408051918252602082018490527f056aedca4e334b6c4bea48715fb0de644811b740894de57a0380d3eb90f2805b910160405180910390a150607055565b60006110ba612a70565b60006002607254610100900460ff1660038111156110da576110da614836565b148061110157506001607254610100900460ff1660038111156110ff576110ff614836565b145b1561110d57508161111a565b6111178484612ab4565b90505b80606f600082825461112c91906150e6565b9091555050604080516001600160a01b0386168152602081018590529081018290527f70b752f3fadb6ac131c0ece847fcbb6994ec56ed6411595710fd9b29c6ac6cc19060600160405180910390a19392505050565b60008084905060006111a8629896806080606a54901b6111a2919061510f565b83612d78565b905060806f80000000000000000000000000000000606a54629896806111ce91906150e6565b6111dc84600160801b6150e6565b6111e96298968089615131565b6111f39190615131565b6111fd919061510f565b6112078885615131565b6112119190615148565b61121b9190615148565b901c9695505050505050565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036112b45760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b19195b1959d85d1958d85b1b60a21b6064820152608401610ef7565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661130f7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b6001600160a01b03161461137a5760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b6163746976652070726f787960a01b6064820152608401610ef7565b61138381612e21565b6040805160008082526020820190925261139f91839190612e29565b50565b6000610d8a82612fc9565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016300361143a5760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b19195b1959d85d1958d85b1b60a21b6064820152608401610ef7565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166114957f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b6001600160a01b0316146115005760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b6163746976652070726f787960a01b6064820152608401610ef7565b61150982612e21565b610fac82826001612e29565b6000306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146115b55760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c00000000000000006064820152608401610ef7565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc90565b60008060695411611617576040517fed4421ad00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61162082612fe9565b1561163e57604051630efd728560e21b815260040160405180910390fd5b6069546000906116578468010000000000000000615131565b611661919061510f565b62989680606b546801000000000000000061167c9190615131565b611686919061510f565b61169091906150e6565b9050604061169d606f5490565b606a546116ad90629896806150e6565b6298968060406116bd8680615131565b901c629896806080606c54901b6116d4919061510f565b6116de919061510f565b6116e89190615131565b6116f2919061510f565b6116fc9190615131565b901c915060705482116117115760705461105d565b50919050565b61171f612a70565b61139f816125cd565b33611732816120f5565b606a8290556040518281527f592dcd55d60d892e7fcb3ba105013312e99691cd59f91e15f83cb67cb5a505f290602001610de4565b61176f613010565b61103f600061306a565b6000611783612a70565b61178c836130bc565b6117a957604051630b72d6b160e31b815260040160405180910390fd5b60006002607254610100900460ff1660038111156117c9576117c9614836565b036117d757825b9050611834565b6001607254610100900460ff1660038111156117f5576117f5614836565b03611804576117d08484613164565b6003607254610100900460ff16600381111561182257611822614836565b036118345761183184846132ca565b90505b60745460405163011de97360e61b81526001600160a01b038681166004830152306024830152600092169063477a5cc090604401602060405180830381865afa158015611885573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118a9919061515b565b905080156118c95781606f60008282546118c39190615148565b90915550505b604080516001600160a01b0387168152602081018690529081018390527f0b9150e1e54346ed3fa36b977cd5d65dca5a649c737c3174a26bddaadd47667a9060600160405180910390a1509392505050565b33611925816130bc565b61194257604051630b72d6b160e31b815260040160405180910390fd5b6074546040517f0d4a8b490000000000000000000000000000000000000000000000000000000081526001600160a01b03838116600483015230602483015290911690630d4a8b4990604401600060405180830381600087803b1580156119a857600080fd5b505af11580156119bc573d6000803e3d6000fd5b5050607454604051637817ee4f60e01b81526001600160a01b0385811660048301523060248301529091169250637817ee4f9150604401602060405180830381865afa158015611a10573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a349190615178565b606f6000828254611a459190615148565b909155505050565b6000818152607660205260408120600281015482908190611a6f908490613511565b91509150816000148015611a81575080155b15611a8e57826003015491505b6000611a9d84600101546115da565b9092101595945050505050565b60786020528160005260406000208181548110611ac657600080fd5b90600052602060002001600091509150505481565b6000606a5462989680611aee91906150e6565b611afb6298968084615131565b610d8a919061510f565b604080518082019091526000815260606020820152600060766000848152602001908152602001600020905080600a0160405180604001604052908160008201548152602001600182018054611b5a9061509c565b80601f0160208091040260200160405190810160405280929190818152602001828054611b869061509c565b8015611bd35780601f10611ba857610100808354040283529160200191611bd3565b820191906000526020600020905b815481529060010190602001808311611bb657829003601f168201915b505050505081525050915050919050565b607460009054906101000a90046001600160a01b03166001600160a01b0316636c53db9a6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611c37573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c5b9190615191565b6001600160a01b03163303611c9357611c7381613569565b607580546001600160a01b0383166001600160a01b031990911617905550565b6040517fe860ec7e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b606060405163d623472560e01b815260040160405180910390fd5b61139f816135a9565b6000806000806000806000806000806000607660008d815260200190815260200160002090508060010154600014611d2d57611d2881600101546115da565b611d30565b60005b92508060050160009054906101000a90046001600160a01b03168160040160009054906101000a90046001600160a01b03168260060160009054906101000a90046001600160a01b0316836001015484600201548560080160009054906101000a900460ff16866007015487600301548a896009016000336001600160a01b03166001600160a01b03168152602001908152602001600020549a509a509a509a509a509a509a509a509a509a50509193959799509193959799565b6000611df960675460ff1690565b905090565b60008281526076602090815260408083206001600160a01b038516845260090190915281205461105d565b60405163d623472560e01b815260040160405180910390fd5b6000610d8a826135ea565b611e556121a4565b611e5e8261360a565b600081806020019051810190611e74919061521e565b80519091506001600160a01b0316611e9f57604051635df4b1ef60e01b815260040160405180910390fd5b8051607480546001600160a01b0319166001600160a01b039092169190911790556020810151606a556040810151606b556060810151606c5560a08101516072805460ff19166001836002811115611ef957611ef9614836565b021790555060c08101516072805461ff001916610100836003811115611f2157611f21614836565b021790555060e0810151516073556080810151607055610100810151607580546001600160a01b0319166001600160a01b039092169190911790556040517f4ebdec05fb64815e553aeaf3976ef8112dd79760a459bee3ac7d1659ab2c4e0490611f8e90859084906152b9565b60405180910390a1505050565b611fa36121a4565b611fab6121cf565b610fac828261368b565b611fbd613010565b6001600160a01b0381166120395760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610ef7565b61139f8161306a565b606580546001600160a01b0319166001600160a01b03841617905560405161206e90829060200161534c565b60408051601f1981840301815291905280516020909101206066555050565b6120956121a4565b80606960008282546120a79190615148565b9091555061139f90508161379a565b336120c0816120f5565b606c8290556040518281527f30ee8206062f283e56a0af2b02138016bf7442ded26ad68a92a18a9dd246fb4990602001610de4565b6065546068546040517f29e40d4b00000000000000000000000000000000000000000000000000000000815260048101919091526001600160a01b038381166024830152909116906329e40d4b90604401602060405180830381865afa158015612163573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612187919061515b565b61139f5760405163075fd2b160e01b815260040160405180910390fd5b6065546001600160a01b0316331461103f5760405163075fd2b160e01b815260040160405180910390fd5b60685460000361103f576040517f3da3f98c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000825111612246576040517fc5f7c4c000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008280602001905181019061225c9190615178565b905080600003612298576040517ff881a10d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000818152607660205260409020600160725460ff1660028111156122bf576122bf614836565b0361251857805482146122e85760405163c1d17bef60e01b815260048101839052602401610ef7565b606954816001015411156123405760018101546069546040517f5863b0b60000000000000000000000000000000000000000000000000000000081526004810185905260248101929092526044820152606401610ef7565b6001600882015460ff16600481111561235b5761235b614836565b1461237c576040516344980d8f60e01b815260048101839052602401610ef7565b600061238783610fb0565b9050600061239883600101546115da565b905080821080156123ad575060008360010154115b156123e4576040517fcce7930800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6065546068546040517f068bcd8d00000000000000000000000000000000000000000000000000000000815260048101919091526000916001600160a01b03169063068bcd8d90602401600060405180830381865afa15801561244b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261247391908101906153ec565b905083600101546069600082825461248b91906150e6565b90915550506040810151600485015460018601546124b392916001600160a01b0316906137ca565b60088401805460ff191660049081179091558401546001850154604080518881526001600160a01b0390931660208401528201527fa7932e9c92f31e1ed56b29d00bbe669a97484dc24de28dd9c8c0429df7f358479060600160405180910390a15050505b5050505050565b600054610100900460ff1661258a5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401610ef7565b61103f61380f565b60008061259f8484613511565b915091508160001480156125b1575080155b156125bc5750505050565b600784015560039092019190915550565b607454604051637817ee4f60e01b81526001600160a01b03838116600483015230602483015290911690637817ee4f90604401602060405180830381865afa15801561261d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126419190615178565b606f600082825461265291906150e6565b90915550506074546040517f22bcf9990000000000000000000000000000000000000000000000000000000081526001600160a01b038381166004830152306024830152909116906322bcf99990604401600060405180830381600087803b1580156126bd57600080fd5b505af11580156126d1573d6000803e3d6000fd5b505050506126de81613883565b6040516001600160a01b03821681527f1468da654b37bb3631011c1917d02e0db437d519918858d40b38b5e980ca033b906020015b60405180910390a150565b6000612729826130bc565b61274657604051630b72d6b160e31b815260040160405180910390fd5b60008380602001905181019061275c91906154a0565b805190915060000361279a576040517f4e79178600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600160725460ff1660028111156127b3576127b3614836565b03612963576127c58160200151613569565b60608101516001600160a01b0316612809576040517f596a094c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000306001600160a01b03166315cc481e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612849573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061286d9190615191565b6001600160a01b031663068bcd8d6068546040518263ffffffff1660e01b815260040161289c91815260200190565b600060405180830381865afa1580156128b9573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526128e191908101906153ec565b604001519050806001600160a01b031682606001516001600160a01b031614612936576040517fa29c498600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6129438260400151612fe9565b1561296157604051630efd728560e21b815260040160405180910390fd5b505b6000606d6000815461297490615547565b918290555060008181526076602090815260408083208481556005810180546001600160a01b038b81166001600160a01b0319928316179092558885015160048401805491841691831691909117905560608901516006840180549190931691161790559086015160018083019190915560088201805460ff19169091179055436007820155600381019290925560808501518051600a8401908155918101519394509192600b840190612a2890826155ae565b505060685460408051918252602082018590527ffcf3b1aa65a464cef2889608f99e8b8c0f680a4be6c2acb9d961c536a5a9294b92500160405180910390a150949350505050565b6074546001600160a01b0316331461103f576040517faf0916a200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b607454604080516336d8759760e21b815290516000926012926001600160a01b039091169163db61d65c916004808201926020929091908290030181865afa158015612b04573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612b289190615191565b6001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015612b81575060408051601f3d908101601f19168201909252612b7e9181019061566e565b60015b612bc857612bc36040518060400160405280601581526020017f4572726f722067657474696e6720646563696d616c0000000000000000000000815250613a10565b612bce565b60ff1690505b612c0d6040518060400160405280601081526020017f5f616d6f756e74546f556e7374616b650000000000000000000000000000000081525084613a81565b6074546040516316308e2560e11b81526001600160a01b0386811660048301526000928692911690632c611c4a90602401602060405180830381865afa158015612c5b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612c7f9190615178565b612c8991906150e6565b9050612cca6040518060400160405280600d81526020017f6e6577546f74616c5374616b650000000000000000000000000000000000000081525082613a81565b6000612ce9612cda84600a615775565b612ce49084615131565b613af4565b607454604051637817ee4f60e01b81526001600160a01b03898116600483015230602483015292935060009284921690637817ee4f90604401602060405180830381865afa158015612d3f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612d639190615178565b612d6d91906150e6565b979650505050505050565b6000600160801b8310612dcd5760405162461bcd60e51b815260206004820152601c60248201527f5f612073686f756c64206265206c657373207468616e20325e313238000000006044820152606401610ef7565b50600160801b82825b8015612e195780600116600003612dfb57612df18283613bdc565b915060011c612dd6565b612e058383613bdc565b9250612e126001826150e6565b9050612dd6565b505092915050565b61139f613010565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615612e5c57610e0b83613cdb565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015612eb6575060408051601f3d908101601f19168201909252612eb391810190615178565b60015b612f285760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201527f6f6e206973206e6f7420555550530000000000000000000000000000000000006064820152608401610ef7565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8114612fbd5760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f7860448201527f6961626c655555494400000000000000000000000000000000000000000000006064820152608401610ef7565b50610e0b838383613d99565b60006001600160a01b03821615612fe1576001610d8a565b600092915050565b6000612ff86298968083615131565b606954606b546130089190615131565b111592915050565b6033546001600160a01b0316331461103f5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610ef7565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6075546000906001600160a01b03166130d757506001919050565b6075546040517f42a987a00000000000000000000000000000000000000000000000000000000081526001600160a01b038481166004830152306024830152909116906342a987a090604401602060405180830381865afa158015613140573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d8a919061515b565b6000808290506131a96040518060400160405280601281526020017f504f494e545320544f20494e435245415345000000000000000000000000000081525082613a81565b607454604051637817ee4f60e01b81526001600160a01b0386811660048301523060248301526000921690637817ee4f90604401602060405180830381865afa1580156131fa573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061321e9190615178565b905061325f6040518060400160405280600b81526020017f4d454d424552504f57455200000000000000000000000000000000000000000081525082613a81565b60735461326c8383615148565b1115613283576073546132809082906150e6565b91505b6132c26040518060400160405280601681526020017f504f494e545320544f20494e43524541534520454e440000000000000000000081525083613a81565b509392505050565b6074546040516316308e2560e11b81526001600160a01b0384811660048301526000928392859290911690632c611c4a90602401602060405180830381865afa15801561331b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061333f9190615178565b6133499190615148565b607454604080516336d8759760e21b815290519293506012926001600160a01b039092169163db61d65c916004808201926020929091908290030181865afa158015613399573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906133bd9190615191565b6001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015613416575060408051601f3d908101601f191682019092526134139181019061566e565b60015b61345d576134586040518060400160405280601581526020017f4572726f722067657474696e6720646563696d616c0000000000000000000000815250613a10565b613463565b60ff1690505b600061347d61347383600a615775565b612ce49085615131565b607454604051637817ee4f60e01b81526001600160a01b03898116600483015230602483015292935060009290911690637817ee4f90604401602060405180830381865afa1580156134d3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906134f79190615178565b9050600061350582846150e6565b98975050505050505050565b600080439050808460070154111561352b5761352b615781565b8084600701540361354157506000905080613562565b61355f84600701548261355491906150e6565b856003015485611182565b91505b9250929050565b6001600160a01b03811661139f576040517fe622e04000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6067805460ff19168215159081179091556040519081527fd94c9bc4d43c51d8dc345a016d8e3d994432fac68e72832e4cf3a616bd8efae090602001612713565b60006001600160a01b03821615613602576002610d8a565b600392915050565b6136126121a4565b6068541561364c576040517f439a74c900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80600003613686576040517f7fcce2a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b606855565b61369481613dbe565b61369d816130bc565b6136ba57604051630b72d6b160e31b815260040160405180910390fd5b60745460405163011de97360e61b81526001600160a01b038381166004830152306024830152600092169063477a5cc090604401602060405180830381865afa15801561370b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061372f919061515b565b905080613768576040517f5fccb67f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008380602001905181019061377e9190615797565b905061378a8382613ee4565b61379483826140a7565b50505050565b6040518181527f46aeb5d8770fc4474bc2dfa118fd2595f7fb33ce2cbce6f4e5a3dabfe0f7633990602001612713565b7fffffffffffffffffffffffff11111111111111111111111111111111111111126001600160a01b0384160161380457610e0b82826144cb565b610e0b8383836144e7565b600054610100900460ff1661387a5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401610ef7565b61103f3361306a565b6001600160a01b0381166000908152607860209081526040808320805482518185028101850190935280835291929091908301828280156138e357602002820191906000526020600020905b8154815260200190600101908083116138cf575b5050505050905060005b8151811015610e0b57600082828151811061390a5761390a615842565b60200260200101519050600060766000838152602001908152602001600020905061393482614536565b156139fb576001600160a01b038516600090815260098201602052604081208054908290556002830180549192839261396e9084906150e6565b9250508190555080606e600082825461398791906150e6565b9091555061399790508282612592565b60028201546003830154604080516001600160a01b038a1681526020810187905260008183015260608101939093526080830191909152517f0227f642ddcf2042ceaeafadb9d540f432072c00cd4862881667168dcc14710f9181900360a00190a1505b50508080613a0890615547565b9150506138ed565b61139f81604051602401613a24919061534c565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f41304fac0000000000000000000000000000000000000000000000000000000017905261456f565b610fac8282604051602401613a97929190615858565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f9710a9d00000000000000000000000000000000000000000000000000000000017905261456f565b600081600003613b0657506000919050565b60006001613b1384614590565b901c6001901b90506001818481613b2c57613b2c6150f9565b048201901c90506001818481613b4457613b446150f9565b048201901c90506001818481613b5c57613b5c6150f9565b048201901c90506001818481613b7457613b746150f9565b048201901c90506001818481613b8c57613b8c6150f9565b048201901c90506001818481613ba457613ba46150f9565b048201901c90506001818481613bbc57613bbc6150f9565b048201901c905061105d81828581613bd657613bd66150f9565b04614624565b6000600160801b831115613c585760405162461bcd60e51b815260206004820152602860248201527f5f612073686f756c64206265206c657373207468616e206f7220657175616c2060448201527f746f20325e3132380000000000000000000000000000000000000000000000006064820152608401610ef7565b600160801b8210613cab5760405162461bcd60e51b815260206004820152601c60248201527f5f622073686f756c64206265206c657373207468616e20325e313238000000006044820152606401610ef7565b60806f80000000000000000000000000000000613cc88486615131565b613cd29190615148565b901c9392505050565b6001600160a01b0381163b613d585760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201527f6f74206120636f6e7472616374000000000000000000000000000000000000006064820152608401610ef7565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b613da28361463a565b600082511180613daf5750805b15610e0b57613794838361467a565b6001600160a01b038116613dfe576040517fd1f2828800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6074546001600160a01b0316613e2757604051635df4b1ef60e01b815260040160405180910390fd5b6074546040517fa230c5240000000000000000000000000000000000000000000000000000000081526001600160a01b0383811660048301529091169063a230c52490602401602060405180830381865afa158015613e8a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613eae919061515b565b61139f576040517f6a5cfb6d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000805b8251811015613fa157828181518110613f0357613f03615842565b60200260200101516000015160000315613f8f576000838281518110613f2b57613f2b615842565b6020026020010151600001519050613f4281614536565b613f625760405163c1d17bef60e01b815260048101829052602401610ef7565b838281518110613f7457613f74615842565b60200260200101516020015183613f8b919061587a565b9250505b80613f9981615547565b915050613ee8565b506001600160a01b038316600090815260776020526040812054613fc5908361469f565b607454604051637817ee4f60e01b81526001600160a01b03878116600483015230602483015292935060009290911690637817ee4f90604401602060405180830381865afa15801561401b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061403f9190615178565b905080821115614085576040517fd64182fe0000000000000000000000000000000000000000000000000000000081526004810183905260248101829052604401610ef7565b506001600160a01b039093166000908152607760205260409020929092555050565b606060005b82518110156137945760008382815181106140c9576140c9615842565b60200260200101516000015190508251600003614125576040805160018082528183019092529060208083019080368337019050509250808360008151811061411457614114615842565b602002602001018181525050614278565b6000805b84518110156141a4578285828151811061414557614145615842565b602002602001015103614192576040517fadebb154000000000000000000000000000000000000000000000000000000008152600481018490526024810182905260019250604401610ef7565b8061419c81615547565b915050614129565b5080614276576000845160016141ba9190615148565b67ffffffffffffffff8111156141d2576141d26149b6565b6040519080825280602002602001820160405280156141fb578160200160208202803683370190505b50905060005b85518110156142535785818151811061421c5761421c615842565b602002602001015182828151811061423657614236615842565b60209081029190910101528061424b81615547565b915050614201565b50828186518151811061426857614268615842565b602090810291909101015293505b505b600084838151811061428c5761428c615842565b60209081029190910181015181015160008481526076835260408082206001600160a01b038b168352600981019094528120549193506142cc828561469f565b6001600160a01b038a1660009081526009850160205260408120829055909150805b6001600160a01b038b166000908152607860205260409020548110156143655784546001600160a01b038c16600090815260786020526040902080548390811061433a5761433a615842565b9060005260206000200154036143535760019150614365565b8061435d81615547565b9150506142ee565b508061439b576001600160a01b038a16600090815260786020908152604082208654815460018101835591845291909220909101555b8183116143eb576143ac83836150e6565b606e60008282546143bd9190615148565b909155506143cd905083836150e6565b8460020160008282546143e09190615148565b9091555061442f9050565b6143f582846150e6565b606e600082825461440691906150e6565b90915550614416905082846150e6565b84600201600082825461442991906150e6565b90915550505b8360070154600003614446574360078501556144b2565b6144508484612592565b60028401546003850154604080516001600160a01b038e168152602081018a9052908101859052606081019290925260808201527f0227f642ddcf2042ceaeafadb9d540f432072c00cd4862881667168dcc14710f9060a00160405180910390a15b50505050505080806144c390615547565b9150506140ac565b60008060008084865af1610fac5763b12d13eb6000526004601cfd5b81601452806034526fa9059cbb00000000000000000000000060005260206000604460106000875af13d15600160005114171661452c576390b8ec186000526004601cfd5b6000603452505050565b60008181526076602052604081205415801590610d8a5750506000908152607660205260409020600501546001600160a01b0316151590565b80516a636f6e736f6c652e6c6f67602083016000808483855afa5050505050565b600080608083901c156145a557608092831c92015b604083901c156145b757604092831c92015b602083901c156145c957602092831c92015b601083901c156145db57601092831c92015b600883901c156145ed57600892831c92015b600483901c156145ff57600492831c92015b600283901c1561461157600292831c92015b600183901c15610d8a5760010192915050565b6000818310614633578161105d565b5090919050565b61464381613cdb565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b606061105d83836040518060600160405280602781526020016158b7602791396146fa565b6000806146ac838561587a565b9050600081121561105d576040517f3bbc7142000000000000000000000000000000000000000000000000000000008152600481018590526024810184905260448101829052606401610ef7565b6060600080856001600160a01b031685604051614717919061589a565b600060405180830381855af49150503d8060008114614752576040519150601f19603f3d011682016040523d82523d6000602084013e614757565b606091505b509150915061476886838387614772565b9695505050505050565b606083156147e15782516000036147da576001600160a01b0385163b6147da5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610ef7565b50816147eb565b6147eb83836147f3565b949350505050565b8151156148035781518083602001fd5b8060405162461bcd60e51b8152600401610ef7919061534c565b60006020828403121561482f57600080fd5b5035919050565b634e487b7160e01b600052602160045260246000fd5b6005811061485c5761485c614836565b9052565b60005b8381101561487b578181015183820152602001614863565b50506000910152565b6000815180845261489c816020860160208601614860565b601f01601f19169290920160200192915050565b8051825260006020820151604060208501526147eb6040850182614884565b60006101408c83528b60208401528a60408401528960608401526001600160a01b03808a16608085015280891660a085015280881660c0850152508560e084015261491e61010084018661484c565b80610120840152614931818401856148b0565b9d9c50505050505050505050505050565b60006020828403121561495457600080fd5b81357fffffffff000000000000000000000000000000000000000000000000000000008116811461105d57600080fd5b6001600160a01b038116811461139f57600080fd5b6000602082840312156149ab57600080fd5b813561105d81614984565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff811182821017156149ef576149ef6149b6565b60405290565b604051610120810167ffffffffffffffff811182821017156149ef576149ef6149b6565b60405160c0810167ffffffffffffffff811182821017156149ef576149ef6149b6565b60405160a0810167ffffffffffffffff811182821017156149ef576149ef6149b6565b604051601f8201601f1916810167ffffffffffffffff81118282101715614a8857614a886149b6565b604052919050565b600067ffffffffffffffff821115614aaa57614aaa6149b6565b5060051b60200190565b600082601f830112614ac557600080fd5b81356020614ada614ad583614a90565b614a5f565b82815260059290921b84018101918181019086841115614af957600080fd5b8286015b84811015614b1d578035614b1081614984565b8352918301918301614afd565b509695505050505050565b600067ffffffffffffffff821115614b4257614b426149b6565b50601f01601f191660200190565b6000614b5e614ad584614b28565b9050828152838383011115614b7257600080fd5b828260208301376000602084830101529392505050565b600082601f830112614b9a57600080fd5b61105d83833560208501614b50565b600080600060608486031215614bbe57600080fd5b833567ffffffffffffffff80821115614bd657600080fd5b614be287838801614ab4565b94506020860135915080821115614bf857600080fd5b50614c0586828701614b89565b9250506040840135614c1681614984565b809150509250925092565b60008060408385031215614c3457600080fd5b823567ffffffffffffffff811115614c4b57600080fd5b614c5785828601614b89565b9250506020830135614c6881614984565b809150509250929050565b6004811061485c5761485c614836565b60208101610d8a8284614c73565b60008060408385031215614ca457600080fd5b8235614caf81614984565b946020939093013593505050565b600080600060608486031215614cd257600080fd5b505081359360208301359350604090920135919050565b6003811061485c5761485c614836565b60208101610d8a8284614ce9565b60008060408385031215614d1a57600080fd5b8235614d2581614984565b9150602083013567ffffffffffffffff811115614d4157600080fd5b614d4d85828601614b89565b9150509250929050565b60208152600061105d60208301846148b0565b60008060408385031215614d7d57600080fd5b823567ffffffffffffffff80821115614d9557600080fd5b614da186838701614ab4565b9350602091508185013581811115614db857600080fd5b8501601f81018713614dc957600080fd5b8035614dd7614ad582614a90565b81815260059190911b82018401908481019089831115614df657600080fd5b8584015b83811015614e2e57803586811115614e125760008081fd5b614e208c8983890101614b89565b845250918601918601614dfa565b508096505050505050509250929050565b602080825282518282018190526000919060409081850190868401855b82811015614e8a57815180516001600160a01b03168552860151868501529284019290850190600101614e5c565b5091979650505050505050565b801515811461139f57600080fd5b600060208284031215614eb757600080fd5b813561105d81614e97565b6001600160a01b038b811682528a811660208301528916604082015260608101889052608081018790526101408101614efe60a083018861484c565b8560c08301528460e083015283610100830152826101208301529b9a5050505050505050505050565b60008060408385031215614f3a57600080fd5b823591506020830135614c6881614984565b60006020808385031215614f5f57600080fd5b823567ffffffffffffffff811115614f7657600080fd5b8301601f81018513614f8757600080fd5b8035614f95614ad582614a90565b81815260069190911b82018301908381019087831115614fb457600080fd5b928401925b82841015612d6d5760408489031215614fd25760008081fd5b614fda6149cc565b843581528585013586820152825260409093019290840190614fb9565b602081016007831061500b5761500b614836565b91905290565b6000806040838503121561502457600080fd5b82359150602083013567ffffffffffffffff811115614d4157600080fd5b6000806040838503121561505557600080fd5b823561506081614984565b9150602083013567ffffffffffffffff81111561507c57600080fd5b8301601f8101851361508d57600080fd5b614d4d85823560208401614b50565b600181811c908216806150b057607f821691505b60208210810361171157634e487b7160e01b600052602260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b81810381811115610d8a57610d8a6150d0565b634e487b7160e01b600052601260045260246000fd5b60008261512c57634e487b7160e01b600052601260045260246000fd5b500490565b8082028115828204841417610d8a57610d8a6150d0565b80820180821115610d8a57610d8a6150d0565b60006020828403121561516d57600080fd5b815161105d81614e97565b60006020828403121561518a57600080fd5b5051919050565b6000602082840312156151a357600080fd5b815161105d81614984565b80516151b981614984565b919050565b8051600381106151b957600080fd5b8051600481106151b957600080fd5b6000602082840312156151ee57600080fd5b6040516020810181811067ffffffffffffffff82111715615211576152116149b6565b6040529151825250919050565b6000610120828403121561523157600080fd5b6152396149f5565b615242836151ae565b81526020830151602082015260408301516040820152606083015160608201526080830151608082015261527860a084016151be565b60a082015261528960c084016151cd565b60c082015261529b8460e085016151dc565b60e08201526101006152ae8185016151ae565b908201529392505050565b6000610140820190508382526001600160a01b038351166020830152602083015160408301526040830151606083015260608301516080830152608083015160a083015260a083015161530f60c0840182614ce9565b5060c083015161532260e0840182614c73565b5060e08301515161010083810191909152909201516001600160a01b031661012090910152919050565b60208152600061105d6020830184614884565b60006040828403121561537157600080fd5b6153796149cc565b905081518152602082015167ffffffffffffffff81111561539957600080fd5b8201601f810184136153aa57600080fd5b80516153b8614ad582614b28565b8181528560208385010111156153cd57600080fd5b6153de826020830160208601614860565b602084015250909392505050565b6000602082840312156153fe57600080fd5b815167ffffffffffffffff8082111561541657600080fd5b9083019060c0828603121561542a57600080fd5b615432614a19565b82518152602083015161544481614984565b6020820152604083015161545781614984565b604082015260608301518281111561546e57600080fd5b61547a8782860161535f565b6060830152506080830151608082015260a083015160a082015280935050505092915050565b6000602082840312156154b257600080fd5b815167ffffffffffffffff808211156154ca57600080fd5b9083019060a082860312156154de57600080fd5b6154e6614a3c565b8251815260208301516154f881614984565b602082015260408381015190820152606083015161551581614984565b606082015260808301518281111561552c57600080fd5b6155388782860161535f565b60808301525095945050505050565b600060018201615559576155596150d0565b5060010190565b601f821115610e0b57600081815260208120601f850160051c810160208610156155875750805b601f850160051c820191505b818110156155a657828155600101615593565b505050505050565b815167ffffffffffffffff8111156155c8576155c86149b6565b6155dc816155d6845461509c565b84615560565b602080601f83116001811461561157600084156155f95750858301515b600019600386901b1c1916600185901b1785556155a6565b600085815260208120601f198616915b8281101561564057888601518255948401946001909101908401615621565b508582101561565e5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60006020828403121561568057600080fd5b815160ff8116811461105d57600080fd5b600181815b808511156156cc5781600019048211156156b2576156b26150d0565b808516156156bf57918102915b93841c9390800290615696565b509250929050565b6000826156e357506001610d8a565b816156f057506000610d8a565b816001811461570657600281146157105761572c565b6001915050610d8a565b60ff841115615721576157216150d0565b50506001821b610d8a565b5060208310610133831016604e8410600b841016171561574f575081810a610d8a565b6157598383615691565b806000190482111561576d5761576d6150d0565b029392505050565b600061105d83836156d4565b634e487b7160e01b600052600160045260246000fd5b600060208083850312156157aa57600080fd5b825167ffffffffffffffff8111156157c157600080fd5b8301601f810185136157d257600080fd5b80516157e0614ad582614a90565b81815260069190911b820183019083810190878311156157ff57600080fd5b928401925b82841015612d6d576040848903121561581d5760008081fd5b6158256149cc565b845181528585015186820152825260409093019290840190615804565b634e487b7160e01b600052603260045260246000fd5b60408152600061586b6040830185614884565b90508260208301529392505050565b8082018281126000831280158216821582161715612e1957612e196150d0565b600082516158ac818460208701614860565b919091019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220c48cc12d179438205fdfccfa347c3f7a42e1628b0464d75d22b5c73259d5a99664736f6c6343000813003360806040526040516104ee3803806104ee833981016040819052610022916102de565b61002e82826000610035565b50506103fb565b61003e83610061565b60008251118061004b5750805b1561005c5761005a83836100a1565b505b505050565b61006a816100cd565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606100c683836040518060600160405280602781526020016104c760279139610180565b9392505050565b6001600160a01b0381163b61013f5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080856001600160a01b03168560405161019d91906103ac565b600060405180830381855af49150503d80600081146101d8576040519150601f19603f3d011682016040523d82523d6000602084013e6101dd565b606091505b5090925090506101ef868383876101f9565b9695505050505050565b60608315610268578251600003610261576001600160a01b0385163b6102615760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610136565b5081610272565b610272838361027a565b949350505050565b81511561028a5781518083602001fd5b8060405162461bcd60e51b815260040161013691906103c8565b634e487b7160e01b600052604160045260246000fd5b60005b838110156102d55781810151838201526020016102bd565b50506000910152565b600080604083850312156102f157600080fd5b82516001600160a01b038116811461030857600080fd5b60208401519092506001600160401b038082111561032557600080fd5b818501915085601f83011261033957600080fd5b81518181111561034b5761034b6102a4565b604051601f8201601f19908116603f01168101908382118183101715610373576103736102a4565b8160405282815288602084870101111561038c57600080fd5b61039d8360208301602088016102ba565b80955050505050509250929050565b600082516103be8184602087016102ba565b9190910192915050565b60208152600082518060208401526103e78160408501602087016102ba565b601f01601f19169190910160400192915050565b60be806104096000396000f3fe608060405236601057600e6013565b005b600e5b601f601b6021565b6065565b565b600060607f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b905090565b3660008037600080366000845af43d6000803e8080156083573d6000f35b3d6000fdfea26469706673582212204ff6082523a0497cb45cb43d3d639dba31b196359b7f035ed946d507d89a80c764736f6c63430008130033416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c656467617264656e73466163746f72792e67657447617264656e7346656552656365697665722829416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a264697066735822122021ab31b51ced700c35259f0eb0c59f2095f1fbcf2c8bd0efe59a0682d6a8b74164736f6c6343000813003360806040526040516104ee3803806104ee833981016040819052610022916102de565b61002e82826000610035565b50506103fb565b61003e83610061565b60008251118061004b5750805b1561005c5761005a83836100a1565b505b505050565b61006a816100cd565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606100c683836040518060600160405280602781526020016104c760279139610180565b9392505050565b6001600160a01b0381163b61013f5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080856001600160a01b03168560405161019d91906103ac565b600060405180830381855af49150503d80600081146101d8576040519150601f19603f3d011682016040523d82523d6000602084013e6101dd565b606091505b5090925090506101ef868383876101f9565b9695505050505050565b60608315610268578251600003610261576001600160a01b0385163b6102615760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610136565b5081610272565b610272838361027a565b949350505050565b81511561028a5781518083602001fd5b8060405162461bcd60e51b815260040161013691906103c8565b634e487b7160e01b600052604160045260246000fd5b60005b838110156102d55781810151838201526020016102bd565b50506000910152565b600080604083850312156102f157600080fd5b82516001600160a01b038116811461030857600080fd5b60208401519092506001600160401b038082111561032557600080fd5b818501915085601f83011261033957600080fd5b81518181111561034b5761034b6102a4565b604051601f8201601f19908116603f01168101908382118183101715610373576103736102a4565b8160405282815288602084870101111561038c57600080fd5b61039d8360208301602088016102ba565b80955050505050509250929050565b600082516103be8184602087016102ba565b9190910192915050565b60208152600082518060208401526103e78160408501602087016102ba565b601f01601f19169190910160400192915050565b60be806104096000396000f3fe608060405236601057600e6013565b005b600e5b601f601b6021565b6065565b565b600060607f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b905090565b3660008037600080366000845af43d6000803e8080156083573d6000f35b3d6000fdfea26469706673582212204ff6082523a0497cb45cb43d3d639dba31b196359b7f035ed946d507d89a80c764736f6c63430008130033416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a26469706673582212201334739267dedd369f8417d22b0f0fcb25e5d834413080eb553d37cd46f3473464736f6c63430008130033","sourceMap":"593:3577:136:-:0;;;1088:4:68;1045:48;;593:3577:136;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405260043610620001075760003560e01c80638da5cb5b1162000095578063b8bed9011162000060578063b8bed90114620002b7578063c4d66de814620002d9578063f2fde38b14620002fe578063f5016b5e146200032357600080fd5b80638da5cb5b146200023a578063987435be146200025a578063affed0e0146200027a578063b5b3ca2c146200029257600080fd5b80635a2c8ace11620000d65780635a2c8ace146200019a578063715018a614620001bf5780638279c7db14620001d75780638a16135f14620001fc57600080fd5b80630a992e0c146200010c5780633659cfe614620001445780634f1ef286146200016b57806352d1902d1462000182575b600080fd5b3480156200011957600080fd5b50620001316200012b36600462001346565b62000374565b6040519081526020015b60405180910390f35b3480156200015157600080fd5b50620001696200016336600462001346565b620003f6565b005b620001696200017c36600462001426565b6200057a565b3480156200018f57600080fd5b5062000131620006ef565b348015620001a757600080fd5b5062000169620001b9366004620014a2565b620007b6565b348015620001cc57600080fd5b506200016962000827565b348015620001e457600080fd5b5062000169620001f636600462001346565b6200083f565b3480156200020957600080fd5b50620002216200021b36600462001575565b620008b5565b6040516001600160a01b0390911681526020016200013b565b3480156200024757600080fd5b506033546001600160a01b031662000221565b3480156200026757600080fd5b506067546001600160a01b031662000221565b3480156200028757600080fd5b506200013160655481565b3480156200029f57600080fd5b5062000169620002b1366004620016e7565b62000a3a565b348015620002c457600080fd5b5060675462000221906001600160a01b031681565b348015620002e657600080fd5b5062000169620002f836600462001346565b62000a96565b3480156200030b57600080fd5b50620001696200031d36600462001346565b62000c27565b3480156200033057600080fd5b50620003636200034236600462001346565b6001600160a01b031660009081526066602052604090206001015460ff1690565b60405190151581526020016200013b565b6001600160a01b03811660009081526066602052604081206001015460ff16620003da576040517ff5a6943d0000000000000000000000000000000000000000000000000000000081526001600160a01b03831660048201526024015b60405180910390fd5b506001600160a01b031660009081526066602052604090205490565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163003620004855760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b19195b1959d85d1958d85b1b60a21b6064820152608401620003d1565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316620004e17f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b6001600160a01b0316146200054e5760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b6163746976652070726f787960a01b6064820152608401620003d1565b620005598162000cba565b60408051600080825260208201909252620005779183919062000cc4565b50565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163003620006095760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b19195b1959d85d1958d85b1b60a21b6064820152608401620003d1565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316620006657f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b6001600160a01b031614620006d25760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b6163746976652070726f787960a01b6064820152608401620003d1565b620006dd8262000cba565b620006eb8282600162000cc4565b5050565b6000306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614620007915760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c00000000000000006064820152608401620003d1565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc90565b620007c062000e75565b6001600160a01b038216600081815260666020908152604091829020600101805460ff19168515159081179091558251938452908301527fecdcd3502799a6c41864ea2682236184e876f63e10f8d56c7768a3d501e89f6291015b60405180910390a15050565b6200083162000e75565b6200083d600062000ed1565b565b6200084962000e75565b620008548162000f30565b6067805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0383169081179091556040519081527fbdf37c276f641820b141429d245add2552b4118c0866e5a78638e3de5ef18d9d9060200160405180910390a150565b6065805460009182620008c88362001716565b9091555060808301523060a0830152604051600090620008e89062001302565b604051809103906000f08015801562000905573d6000803e3d6000fd5b506040517f96f0adec00000000000000000000000000000000000000000000000000000000906200093b908690602401620017b3565b60408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff00000000000000000000000000000000000000000000000000000000909416939093179092529051620009a79062001310565b620009b4929190620018fe565b604051809103906000f080158015620009d1573d6000803e3d6000fd5b506001600160a01b0381166000818152606660209081526040918290206001908101805460ff19169091179055905191825291925082917fb4108a188495a1a681cdc0750af164011025a1773b41e93ff3e628adc037dc29910160405180910390a19392505050565b62000a4462000e75565b6001600160a01b038216600081815260666020908152604091829020849055815192835282018390527fa1ee82e4f177a8017f33ddddac05b7ceab1de9d46f7195e15e8aa2e8b88f3b1c91016200081b565b600054610100900460ff161580801562000ab75750600054600160ff909116105b8062000ad35750303b15801562000ad3575060005460ff166001145b62000b475760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401620003d1565b6000805460ff19166001179055801562000b6b576000805461ff0019166101001790555b62000b7562000f71565b600060655562000b858262000f30565b6067805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0384169081179091556040519081527fbdf37c276f641820b141429d245add2552b4118c0866e5a78638e3de5ef18d9d9060200160405180910390a18015620006eb576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498906020016200081b565b62000c3162000e75565b6001600160a01b03811662000caf5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401620003d1565b620005778162000ed1565b6200057762000e75565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff161562000cff5762000cfa8362000fe8565b505050565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa92505050801562000d5c575060408051601f3d908101601f1916820190925262000d599181019062001922565b60015b62000dd05760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201527f6f6e206973206e6f7420555550530000000000000000000000000000000000006064820152608401620003d1565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc811462000e675760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f7860448201527f6961626c655555494400000000000000000000000000000000000000000000006064820152608401620003d1565b5062000cfa838383620010b5565b6033546001600160a01b031633146200083d5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401620003d1565b603380546001600160a01b0383811673ffffffffffffffffffffffffffffffffffffffff19831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b03811662000577576040517fe622e04000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600054610100900460ff1662000fde5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401620003d1565b6200083d620010e6565b6001600160a01b0381163b620010675760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201527f6f74206120636f6e7472616374000000000000000000000000000000000000006064820152608401620003d1565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b620010c0836200115e565b600082511180620010ce5750805b1562000cfa57620010e08383620011a0565b50505050565b600054610100900460ff16620011535760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401620003d1565b6200083d3362000ed1565b620011698162000fe8565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6060620011c883836040518060600160405280602781526020016200d90d60279139620011cf565b9392505050565b6060600080856001600160a01b031685604051620011ee91906200193c565b600060405180830381855af49150503d80600081146200122b576040519150601f19603f3d011682016040523d82523d6000602084013e62001230565b606091505b509150915062001243868383876200124d565b9695505050505050565b60608315620012c1578251600003620012b9576001600160a01b0385163b620012b95760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401620003d1565b5081620012cd565b620012cd8383620012d5565b949350505050565b815115620012e65781518083602001fd5b8060405162461bcd60e51b8152600401620003d191906200195a565b61baaf806200197083390190565b6104ee806200d41f83390190565b6001600160a01b03811681146200057757600080fd5b803562001341816200131e565b919050565b6000602082840312156200135957600080fd5b8135620011c8816200131e565b634e487b7160e01b600052604160045260246000fd5b6040516101a0810167ffffffffffffffff81118282101715620013a357620013a362001366565b60405290565b600067ffffffffffffffff80841115620013c757620013c762001366565b604051601f8501601f19908116603f01168101908282118183101715620013f257620013f262001366565b816040528093508581528686860111156200140c57600080fd5b858560208301376000602087830101525050509392505050565b600080604083850312156200143a57600080fd5b823562001447816200131e565b9150602083013567ffffffffffffffff8111156200146457600080fd5b8301601f810185136200147657600080fd5b6200148785823560208401620013a9565b9150509250929050565b803580151581146200134157600080fd5b60008060408385031215620014b657600080fd5b8235620014c3816200131e565b9150620014d36020840162001491565b90509250929050565b600082601f830112620014ee57600080fd5b620011c883833560208501620013a9565b6000604082840312156200151257600080fd5b6040516040810167ffffffffffffffff828210818311171562001539576200153962001366565b816040528293508435835260208501359150808211156200155957600080fd5b506200156885828601620014dc565b6020830152505092915050565b6000602082840312156200158857600080fd5b813567ffffffffffffffff80821115620015a157600080fd5b908301906101a08286031215620015b757600080fd5b620015c16200137c565b620015cc8362001334565b8152620015dc6020840162001334565b60208201526040830135604082015260608301356060820152608083013560808201526200160d60a0840162001334565b60a08201526200162060c0840162001334565b60c082015260e0830135828111156200163857600080fd5b6200164687828601620014ff565b60e0830152506101006200165c81850162001334565b9082015261012083810135838111156200167557600080fd5b6200168388828701620014dc565b8284015250506101406200169981850162001491565b908201526101608381013583811115620016b257600080fd5b620016c088828701620014dc565b8284015250506101809150620016d882840162001334565b91810191909152949350505050565b60008060408385031215620016fb57600080fd5b823562001708816200131e565b946020939093013593505050565b6000600182016200173757634e487b7160e01b600052601160045260246000fd5b5060010190565b60005b838110156200175b57818101518382015260200162001741565b50506000910152565b600081518084526200177e8160208601602086016200173e565b601f01601f19169290920160200192915050565b805182526000602082015160406020850152620012cd604085018262001764565b60208152620017ce6020820183516001600160a01b03169052565b60006020830151620017eb60408401826001600160a01b03169052565b506040830151606083015260608301516080830152608083015160a083015260a08301516200182560c08401826001600160a01b03169052565b5060c08301516001600160a01b03811660e08401525060e08301516101a061010081818601526200185b6101c086018462001792565b908601519092506101206200187a868201836001600160a01b03169052565b80870151915050601f196101408187860301818801526200189c858462001764565b945080880151925050610160620018b68188018415159052565b80880151925050610180818786030181880152620018d5858462001764565b94508088015192505050620018f4828601826001600160a01b03169052565b5090949350505050565b6001600160a01b0383168152604060208201526000620012cd604083018462001764565b6000602082840312156200193557600080fd5b5051919050565b60008251620019508184602087016200173e565b9190910192915050565b602081526000620011c860208301846200176456fe60a06040523060805234801561001457600080fd5b5060805161ba626200004d600039600081816119c001528181611a4701528181611bb501528181611c3c0152611d29015261ba626000f3fe608060405260043610620003ef5760003560e01c80636c53db9a116200020f578063a217fddf1162000123578063d547741f11620000ad578063ebd7dc521162000078578063ebd7dc521462000cfd578063f2fde38b1462000d22578063f86c5f891462000d47578063ff6409ef1462000d6a57600080fd5b8063d547741f1462000c7a578063d6d8428d1462000c9f578063d7050f071462000cc2578063db61d65c1462000cda57600080fd5b8063b64e39af11620000ee578063b64e39af1462000c0b578063b99b43701462000c32578063bc063e1a1462000c4a578063c6d572ae1462000c6257600080fd5b8063a217fddf1462000b51578063a230c5241462000b68578063b3f006741462000bd1578063b5058c501462000bf357600080fd5b806382d6a1e711620001a557806391d14854116200017057806391d148541462000a7557806396f0adec1462000abf57806397991cfa1462000ae4578063a0cf0aea1462000b2757600080fd5b806382d6a1e714620009a257806388cfe68414620009c75780638961be6b1462000a3d5780638da5cb5b1462000a5557600080fd5b8063733a2d1f11620001e6578063733a2d1f14620008e65780637817ee4f146200091c57806378a0b8a914620009675780637b103999146200097f57600080fd5b80636c53db9a1462000886578063715018a614620008a957806373265c3714620008c157600080fd5b80633396045911620003075780634f1ef286116200029d5780635ecf71c511620002685780635ecf71c514620007dc57806365e3864c14620008015780636871eb4d146200083e57806368decabb146200086357600080fd5b80634f1ef286146200076557806352d1902d146200077c578063559de05d14620007945780635c94e4d214620007b957600080fd5b80633659cfe611620002de5780633659cfe614620006a6578063397e254314620006cb5780633a871fe114620006f0578063477a5cc0146200072557600080fd5b80633396045914620006505780633517aa7d146200066957806336568abe146200068157600080fd5b8063223e547911620003895780632b38c69c11620003545780632b38c69c146200058a5780632c611c4a14620005c85780632f2ff15d146200060657806331f61bca146200062b57600080fd5b8063223e547914620004f457806322bcf9991462000519578063248a9ca3146200053e57806328c309e9146200057257600080fd5b80630d12bbdb11620003ca5780630d12bbdb14620004675780630d4a8b49146200048e578063175188e814620004b35780631f787d2814620004d857600080fd5b806301ffc9a714620003f45780630331383c146200042e57806308386eba146200044f575b600080fd5b3480156200040157600080fd5b50620004196200041336600462004b7e565b62000d8f565b60405190151581526020015b60405180910390f35b3480156200043b57600080fd5b5060fc545b60405190815260200162000425565b3480156200045c57600080fd5b506200044060fe5481565b3480156200047457600080fd5b506200048c6200048636600462004baa565b62000de0565b005b3480156200049b57600080fd5b506200048c620004ad36600462004bec565b62000e6f565b348015620004c057600080fd5b506200048c620004d236600462004c2a565b620011f7565b348015620004e557600080fd5b5060fb54620004199060ff1681565b3480156200050157600080fd5b506200048c6200051336600462004c2a565b6200120f565b3480156200052657600080fd5b506200048c6200053836600462004bec565b62001224565b3480156200054b57600080fd5b50620004406200055d36600462004baa565b600090815260c9602052604090206001015490565b3480156200057f57600080fd5b506200044062001340565b3480156200059757600080fd5b50620005af620005a936600462004c4a565b6200143e565b6040516001600160a01b03909116815260200162000425565b348015620005d557600080fd5b5062000440620005e736600462004c2a565b6001600160a01b0316600090815261010c602052604090206001015490565b3480156200061357600080fd5b506200048c6200062536600462004c79565b62001478565b3480156200063857600080fd5b506200048c6200064a36600462004baa565b620014a6565b3480156200065d57600080fd5b50620004406101025481565b3480156200067657600080fd5b506200048c620014e6565b3480156200068e57600080fd5b506200048c620006a036600462004c79565b62001922565b348015620006b357600080fd5b506200048c620006c536600462004c2a565b620019b6565b348015620006d857600080fd5b506200048c620006ea36600462004c2a565b62001b37565b348015620006fd57600080fd5b50620004196200070f36600462004c2a565b61010a6020526000908152604090205460ff1681565b3480156200073257600080fd5b50620004196200074436600462004bec565b61010e60209081526000928352604080842090915290825290205460ff1681565b6200048c6200077636600462004df9565b62001bab565b3480156200078957600080fd5b506200044062001d1c565b348015620007a157600080fd5b506200048c620007b336600462004baa565b62001de3565b348015620007c657600080fd5b5061010154620005af906001600160a01b031681565b348015620007e957600080fd5b506200048c620007fb36600462004baa565b620020e2565b3480156200080e57600080fd5b50620004406200082036600462004bec565b61010b60209081526000928352604080842090915290825290205481565b3480156200084b57600080fd5b506200048c6200085d36600462004bec565b620024d3565b3480156200087057600080fd5b5061010354620005af906001600160a01b031681565b3480156200089357600080fd5b5061010654620005af906001600160a01b031681565b348015620008b657600080fd5b506200048c620026ee565b348015620008ce57600080fd5b506200048c620008e036600462004baa565b62002704565b348015620008f357600080fd5b50620004407f03be538b6391ddcd7f2649585cc95b120c9e2a613f70714fbb55345057d809fa81565b3480156200092957600080fd5b50620004406200093b36600462004bec565b6001600160a01b03918216600090815261010b6020908152604080832093909416825291909152205490565b3480156200097457600080fd5b506200044060fc5481565b3480156200098c57600080fd5b5061010454620005af906001600160a01b031681565b348015620009af57600080fd5b506200048c620009c136600462004baa565b620027a0565b348015620009d457600080fd5b5062000a15620009e636600462004c2a565b61010c602052600090815260409020805460018201546002909201546001600160a01b03909116919060ff1683565b604080516001600160a01b039094168452602084019290925215159082015260600162000425565b34801562000a4a57600080fd5b506200044060fd5481565b34801562000a6257600080fd5b506033546001600160a01b0316620005af565b34801562000a8257600080fd5b506200041962000a9436600462004c79565b600091825260c9602090815260408084206001600160a01b0393909316845291905290205460ff1690565b34801562000acc57600080fd5b506200048c62000ade36600462004efb565b6200285e565b34801562000af157600080fd5b5062000b0962000b0336600462005187565b62002ef4565b604080519283526001600160a01b0390911660208301520162000425565b34801562000b3457600080fd5b50620005af73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b34801562000b5e57600080fd5b5062000440600081565b34801562000b7557600080fd5b506200041962000b8736600462004c2a565b6001600160a01b03908116600090815261010c60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff161515910181905290565b34801562000bde57600080fd5b5060ff54620005af906001600160a01b031681565b34801562000c0057600080fd5b506200048c62002fd9565b34801562000c1857600080fd5b5062000c2362003029565b60405162000425919062005246565b34801562000c3f57600080fd5b506200048c620030c0565b34801562000c5757600080fd5b506200044062003232565b34801562000c6f57600080fd5b5062000c2362003244565b34801562000c8757600080fd5b506200048c62000c9936600462004c79565b62003254565b34801562000cac57600080fd5b5061010754620005af906001600160a01b031681565b34801562000ccf57600080fd5b506200044061271081565b34801562000ce757600080fd5b5061010554620005af906001600160a01b031681565b34801562000d0a57600080fd5b506200041962000d1c36600462004c2a565b6200327d565b34801562000d2f57600080fd5b506200048c62000d4136600462004c2a565b620032be565b34801562000d5457600080fd5b5061010054620005af906001600160a01b031681565b34801562000d7757600080fd5b5062000b0962000d893660046200525b565b62003351565b60006001600160e01b031982167f7965db0b00000000000000000000000000000000000000000000000000000000148062000dda57506301ffc9a760e01b6001600160e01b03198316145b92915050565b62000dea620034de565b62000df9612710600a620052f1565b81111562000e33576040517ffe925f7d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60fd8190556040518181527f611668bfcf654a99c33cdb66c29ec37a5aae5c1287d2d9715a24e18cb4d806d6906020015b60405180910390a150565b62000e7a8262003547565b62000e8581620035ac565b62000e908162003600565b6001600160a01b03808316600090815261010e602090815260408083209385168352929052205460ff161562000ef2576040517fd5b9bc9600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b03808316600090815261010c602090815260409182902082516060810184528154909416845260018101549184018290526002015460ff1615159183019190915260fc546003846001600160a01b031663c32921716040518163ffffffff1660e01b81526004016020604051808303816000875af115801562000f80573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000fa6919062005321565b600381111562000fba5762000fba6200530b565b036200103e5760405163782aadff60e01b81526001600160a01b0386811660048301526000602483015285169063782aadff906044016020604051808303816000875af115801562001010573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001036919062005341565b90506200113a565b6000846001600160a01b031663c32921716040518163ffffffff1660e01b81526004016020604051808303816000875af115801562001081573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620010a7919062005321565b6003811115620010bb57620010bb6200530b565b146200113a5760405163782aadff60e01b81526001600160a01b0386811660048301526024820184905285169063782aadff906044016020604051808303816000875af115801562001111573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001137919062005341565b90505b6001600160a01b03858116600081815261010b6020908152604080832094891680845294825280832086905583835261010e82528083208584528252808320805460ff1916600190811790915584845261010d83528184208054918201815584529282902090920180546001600160a01b0319168517905581519283528201929092529081018290527ff56fa57e85e169a12200d12d9921ec069b52e688f6d309d9dab7bceff54614ec9060600160405180910390a15050505050565b62001201620034de565b6200120c8162003641565b50565b62001219620034de565b6200120c816200369f565b6200122f8262003547565b6200123a8162003600565b6200124633826200374a565b6001600160a01b03808316600090815261010e602090815260408083209385168352929052205460ff16620012a7576040517fc12369dc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b03808316600081815261010e60209081526040808320948616808452948252808320805460ff1916905592825261010b815282822093825292909252812055620012f9828262003796565b604080516001600160a01b038085168252831660208201527ede109bef4619f7e2cf00c8e5a50ca55f8deb44f87087eed414a91dbf8d1d1b91015b60405180910390a15050565b610100546000906001600160a01b031681620013606127106064620052f1565b60fd5460fc54620013729190620052f1565b6200137e91906200535b565b90506000620013916127106064620052f1565b6040516302a64b8360e21b81523060048201526001600160a01b03851690630a992e0c90602401602060405180830381865afa158015620013d6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620013fc919062005341565b60fc546200140b9190620052f1565b6200141791906200535b565b9050808260fc546200142a91906200537e565b6200143691906200537e565b935050505090565b61010d60205281600052604060002081815481106200145c57600080fd5b6000918252602090912001546001600160a01b03169150829050565b600082815260c960205260409020600101546200149581620038cc565b620014a18383620038d8565b505050565b620014b0620034de565b60fc8190556040518181527f5bcc2c453001fb0e2ba6266d56ecb411e7c6e15c8f9c3d301f93dd36ad25726f9060200162000e64565b620014f06200397c565b33600081815261010c602052604081206101005490916001600160a01b0390911690620015216127106064620052f1565b60fd5460fc54620015339190620052f1565b6200153f91906200535b565b90506000620015526127106064620052f1565b6040516302a64b8360e21b81523060048201526001600160a01b03851690630a992e0c90602401602060405180830381865afa15801562001597573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620015bd919062005341565b60fc54620015cc9190620052f1565b620015d891906200535b565b6001600160a01b03808716600090815261010c60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff1615159101819052909150620019105760028401805460ff1916600190811790915560fc549085015560408051808201909152600b81527f67617264656e546f6b656e0000000000000000000000000000000000000000006020820152610105546200168d91906001600160a01b0316620039d7565b620016c68530838560fc54620016a491906200537e565b620016b091906200537e565b610105546001600160a01b031692919062003a39565b620017076040518060400160405280601281526020017f636f6d6d756e697479466565416d6f756e7400000000000000000000000000008152508362003abf565b81156200177a5760408051808201909152600b81527f6665655265636569766572000000000000000000000000000000000000000000602082015260ff546200175a91906001600160a01b0316620039d7565b60ff54610105546200177a916001600160a01b0391821691168462003b21565b620017bb6040518060400160405280601081526020017f67617264656e73466565416d6f756e74000000000000000000000000000000008152508262003abf565b8015620018c9576200184b6040518060600160405280602681526020016200b9e060269139846001600160a01b031663987435be6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200181f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001845919062005394565b620039d7565b620018c9836001600160a01b031663987435be6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200188e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620018b4919062005394565b610105546001600160a01b0316908362003b21565b60fc54604080516001600160a01b038816815260208101929092527f67e0244e28040fec15240cd4b6c04c776a2a0278caef23b59e8ada1df31f7689910160405180910390a15b5050505050620019206001606555565b565b6001600160a01b0381163314620019a65760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201527f20726f6c657320666f722073656c66000000000000000000000000000000000060648201526084015b60405180910390fd5b620019b2828262003b5a565b5050565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016300362001a455760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b19195b1959d85d1958d85b1b60a21b60648201526084016200199d565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031662001aa17f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b6001600160a01b03161462001b0e5760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b6163746976652070726f787960a01b60648201526084016200199d565b62001b198162003bde565b604080516000808252602082019092526200120c9183919062003be8565b62001b41620034de565b62001b4c8162003600565b61010380546001600160a01b0319166001600160a01b03838116918217909255610106546040805191909316815260208101919091527f83eac9fdaff0ac1017624b7eddeb9782e3d707cd894073cb7e8301a41c6e5cf8910162000e64565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016300362001c3a5760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b19195b1959d85d1958d85b1b60a21b60648201526084016200199d565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031662001c967f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b6001600160a01b03161462001d035760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b6163746976652070726f787960a01b60648201526084016200199d565b62001d0e8262003bde565b620019b28282600162003be8565b6000306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161462001dbe5760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c000000000000000060648201526084016200199d565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc90565b62001ded6200397c565b62001df762003d94565b33600081815261010d602090815260408083208054825181850281018501909352808352919290919083018282801562001e5b57602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831162001e3c575b50505050509050600080600090505b8251811015620020425782818151811062001e895762001e89620053b4565b602090810291909101015160405163782aadff60e01b81526001600160a01b038681166004830152602482018890529091169063782aadff906044016020604051808303816000875af115801562001ee5573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001f0b919062005341565b915081156200202d576001600160a01b038416600090815261010b60205260408120845184929086908590811062001f475762001f47620053b4565b60200260200101516001600160a01b03166001600160a01b03168152602001908152602001600020600082825462001f8091906200537e565b925050819055506200202d6040518060400160405280600e81526020017f537472617465677920706f77657200000000000000000000000000000000000081525061010b6000876001600160a01b03166001600160a01b03168152602001908152602001600020600086858151811062001ffe5762001ffe620053b4565b60200260200101516001600160a01b03166001600160a01b031681526020019081526020016000205462003abf565b806200203981620053ca565b91505062001e6a565b50610105546200205e906001600160a01b031684308762003a39565b6001600160a01b038316600090815261010c6020526040812060010180548692906200208c9084906200537e565b9091555050604080516001600160a01b0385168152602081018690527f576605f9bfe8911e7508bed3763c7c5c8eb3b86e8b360b90a4bc6abe1104cb7f91015b60405180910390a15050506200120c6001606555565b620020ec6200397c565b620020f662003d94565b33600081815261010d6020908152604080832060fc5461010c90935290832060010154909291906200212a908690620053e6565b101562002163576040517f9c47d02e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610105546200217d906001600160a01b0316848662003b21565b60005b82548110156200245f576000838281548110620021a157620021a1620053b4565b6000918252602090912001546001600160a01b03169050620021cb8163f1801e6160e01b62003df5565b1562002383576040517f2ed04b2b0000000000000000000000000000000000000000000000000000000081526001600160a01b03868116600483015260248201889052821690632ed04b2b906044016020604051808303816000875af11580156200223a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002260919062005341565b9250600061010b6000876001600160a01b03166001600160a01b031681526020019081526020016000206000868581548110620022a157620022a1620053b4565b60009182526020808320909101546001600160a01b031683528201929092526040019020549050808411156200230e576040517f8a11f31800000000000000000000000000000000000000000000000000000000815260048101859052602481018290526044016200199d565b6001600160a01b038616600090815261010b602052604081208654869290889087908110620023415762002341620053b4565b60009182526020808320909101546001600160a01b031683528201929092526040018120805490919062002377908490620053e6565b90915550505062002449565b835484906200239590600190620053e6565b81548110620023a857620023a8620053b4565b9060005260206000200160009054906101000a90046001600160a01b0316848381548110620023db57620023db620053b4565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b03160217905550838054806200241c576200241c620053fc565b600082815260209020810160001990810180546001600160a01b0319169055019055620024498162003641565b50806200245681620053ca565b91505062002180565b506001600160a01b038316600090815261010c6020526040812060010180548692906200248e908490620053e6565b9091555050604080516001600160a01b0385168152602081018690527f6ee2c70b2d6b89ae808a2313aab43e925c06624271419cd665d85cfa1ae04ff89101620020cc565b620024dd6200397c565b620024e7620034de565b60fb5460ff1662002524576040517fcb63dc7200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b03808316600090815261010c60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff16151591018190526200258957604051636a5cfb6d60e01b815260040160405180910390fd5b6001600160a01b03808316600090815261010c60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff16151590820152620025da8362003e1d565b6001600160a01b03838116600090815261010c6020908152604080832080546001600160a01b031916815560018101939093556002909201805460ff191690556101055490840151915163a9059cbb60e01b8152858416600482015260248101929092529091169063a9059cbb906044016020604051808303816000875af11580156200266b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002691919062005412565b50602080820151604080516001600160a01b0380881682528616938101939093528201527fb5946f249f8744efe9d14d49a483b54a589b1362944ff6694de93456cceb96a39060600160405180910390a150620019b26001606555565b620026f862003f4b565b62001920600062003fa7565b6200270e620034de565b6101075460405163068bcd8d60e01b8152600481018390526000916001600160a01b03169063068bcd8d90602401600060405180830381865afa1580156200275a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405262002784919081019062005432565b602001519050620027958162003600565b620019b28162003641565b620027aa620034de565b6101075460405163068bcd8d60e01b8152600481018390526000916001600160a01b03169063068bcd8d90602401600060405180830381865afa158015620027f6573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405262002820919081019062005432565b602001519050620028318162003600565b6200284d6001600160a01b03821663f1801e6160e01b62003df5565b15620019b257620019b2816200369f565b600054610100900460ff16158080156200287f5750600054600160ff909116105b806200289b5750303b1580156200289b575060005460ff166001145b6200290f5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084016200199d565b6000805460ff19166001179055801562002933576000805461ff0019166101001790555b6200293d62003ff9565b6200294762004070565b62002951620040e7565b6200297e7f03be538b6391ddcd7f2649585cc95b120c9e2a613f70714fbb55345057d809fa600062004154565b6200298d826020015162003600565b6200299d82610100015162003600565b8151620029aa9062003600565b620029b98260a0015162003600565b620029c982610180015162003600565b606082015115620029e357620029e38260c0015162003600565b815161010780546001600160a01b039283166001600160a01b03199182161790915560208401516101058054919093169116179055604082015160000362002a57576040517fc70d18aa00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604082015160fc55606082015160fd5561014082015160fb805460ff19169115159190911790556101208201516101089062002a949082620055f7565b506101608201516101099062002aab9082620055f7565b5060a082015161010080546001600160a01b03199081166001600160a01b0393841617825560c085015160ff8054831691851691909117905590840151610106805483168285161790556101808501516101018054909316931692909217905562002b38907f03be538b6391ddcd7f2649585cc95b120c9e2a613f70714fbb55345057d809fa90620038d8565b61010760009054906101000a90046001600160a01b03166001600160a01b0316635ab1bd536040518163ffffffff1660e01b8152600401602060405180830381865afa15801562002b8d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002bb3919062005394565b61010480546001600160a01b0319166001600160a01b0392831617905561010654604080517fa0e67e2b0000000000000000000000000000000000000000000000000000000081529051600093929092169163a0e67e2b9160048082019286929091908290030181865afa15801562002c30573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405262002c5a9190810190620056c4565b905060008151600262002c6e91906200537e565b67ffffffffffffffff81111562002c895762002c8962004ca1565b60405190808252806020026020018201604052801562002cb3578160200160208202803683370190505b50905060005b825181101562002d225782818151811062002cd85762002cd8620053b4565b602002602001015182828151811062002cf55762002cf5620053b4565b6001600160a01b03909216602092830291909101909101528062002d1981620053ca565b91505062002cb9565b506101065481516001600160a01b0390911690829062002d4590600190620053e6565b8151811062002d585762002d58620053b4565b60200260200101906001600160a01b031690816001600160a01b03168152505030816002835162002d8a9190620053e6565b8151811062002d9d5762002d9d620053b4565b6001600160a01b03928316602091820292909201015261010454608086015160e08701516040517f3a92f65f0000000000000000000000000000000000000000000000000000000081529290931692633a92f65f9262002e09929161010891309088906004016200586f565b6020604051808303816000875af115801562002e29573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002e4f919062005341565b60fe55805162002e689061010f90602084019062004ac6565b507f2f2ffcb06f8a1d35e2716f6b43ef2c19bfa76467d8f66964ae12c2583ed0320560fe546101088660e0015160405162002ea693929190620058c3565b60405180910390a150508015620019b2576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200162001334565b600080600060405162002f079062004b30565b604051809103906000f08015801562002f24573d6000803e3d6000fd5b5061010754604080516001600160a01b0390921660248084019190915281518084039091018152604490920181526020820180516001600160e01b03167f19ab453c000000000000000000000000000000000000000000000000000000001790525162002f919062004b3e565b62002f9e929190620058f2565b604051809103906000f08015801562002fbb573d6000803e3d6000fd5b50905062002fcc8187878762003351565b9250925050935093915050565b610103546001600160a01b031633146200301f576040517febcd0d6e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b620019206200419f565b6101098054620030399062005569565b80601f0160208091040260200160405190810160405280929190818152602001828054620030679062005569565b8015620030b85780601f106200308c57610100808354040283529160200191620030b8565b820191906000526020600020905b8154815290600101906020018083116200309a57829003601f168201915b505050505081565b620030ca6200397c565b33620030d68162003547565b620030e18162003e1d565b6001600160a01b03808216600081815261010c602090815260408083208151606081018352815496871681526001820180548286015260028301805460ff81161515848701529787526001600160a01b03199098169092559084905560ff1990941690945561010d905291822090916200315c919062004b4c565b61010554602082015160405163a9059cbb60e01b81526001600160a01b038581166004830152602482019290925291169063a9059cbb906044016020604051808303816000875af1158015620031b6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620031dc919062005412565b50602080820151604080516001600160a01b0386168152928301919091527fa13f4668aacb68c4e9eed8e3f6e1cbec3eca776896ec46b5eabcc3983fc8f5f4910160405180910390a15050620019206001606555565b62003241612710600a620052f1565b81565b6101088054620030399062005569565b600082815260c960205260409020600101546200327181620038cc565b620014a1838362003b5a565b6001600160a01b03811660009081527fa867e09674d469ee17077111ff66261f5d2fc5820cc6914676cb47231da58818602052604081205460ff1662000dda565b620032c862003f4b565b6001600160a01b038116620033465760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084016200199d565b6200120c8162003fa7565b60008073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6001600160a01b038616156200337c5750845b869150600061010f805480602002602001604051908101604052809291908181526020018280548015620033da57602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311620033bb575b50506101075460fe546040519596506001600160a01b039091169463e1007d4a945090925087915062003412908b906020016200592d565b6040516020818303038152906040528660008b886040518863ffffffff1660e01b81526004016200344a9796959493929190620059cb565b6020604051808303816000875af11580156200346a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062003490919062005341565b93507f778cac0ae0b66477341553a4a89398c61ccf448313d3354ad0ca85a5a825d2838484308a89604051620034cb95949392919062005a3d565b60405180910390a1505094509492505050565b3360009081527fa867e09674d469ee17077111ff66261f5d2fc5820cc6914676cb47231da58818602052604090205460ff1662001920576040517ff62651fa00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b03808216600090815261010c60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff16151591018190526200120c57604051636a5cfb6d60e01b815260040160405180910390fd5b6001600160a01b038116600090815261010a602052604090205460ff166200120c576040517f46c26e4b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0381166200120c576040517fe622e04000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6200364c8162003600565b6001600160a01b038116600081815261010a6020908152604091829020805460ff1916905590519182527f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea4910162000e64565b6001600160a01b038116600090815261010a602052604090205460ff1615620036f4576040517f968a4d2c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038116600081815261010a6020908152604091829020805460ff1916600117905590519182527f3f008fd510eae7a9e7bee13513d7b83bef8003d488b5a3d0b0da4de71d6846f1910162000e64565b806001600160a01b0316826001600160a01b031614620019b2576040517fbbe7961100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038216600090815261010d60205260408120905b8154811015620038c657826001600160a01b0316828281548110620037da57620037da620053b4565b6000918252602090912001546001600160a01b031603620038b157815482906200380790600190620053e6565b815481106200381a576200381a620053b4565b9060005260206000200160009054906101000a90046001600160a01b03168282815481106200384d576200384d620053b4565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b03160217905550818054806200388e576200388e620053fc565b600082815260209020810160001990810180546001600160a01b03191690550190555b80620038bd81620053ca565b915050620037b1565b50505050565b6200120c8133620041fc565b600082815260c9602090815260408083206001600160a01b038516845290915290205460ff16620019b257600082815260c9602090815260408083206001600160a01b03851684529091529020805460ff19166001179055620039383390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b600260655403620039d05760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064016200199d565b6002606555565b620019b28282604051602401620039f092919062005a79565b60408051601f198184030181529190526020810180516001600160e01b03167f319af333000000000000000000000000000000000000000000000000000000001790526200427a565b6040516001600160a01b0380851660248301528316604482015260648101829052620038c69085907f23b872dd00000000000000000000000000000000000000000000000000000000906084015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091526200429b565b620019b2828260405160240162003ad892919062005aa6565b60408051601f198184030181529190526020810180516001600160e01b03167f9710a9d0000000000000000000000000000000000000000000000000000000001790526200427a565b6040516001600160a01b038316602482015260448101829052620014a190849063a9059cbb60e01b9060640162003a87565b6001606555565b600082815260c9602090815260408083206001600160a01b038516845290915290205460ff1615620019b257600082815260c9602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b6200120c62003f4b565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff161562003c1e57620014a1836200438a565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa92505050801562003c7b575060408051601f3d908101601f1916820190925262003c789181019062005341565b60015b62003cef5760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201527f6f6e206973206e6f74205555505300000000000000000000000000000000000060648201526084016200199d565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc811462003d865760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f7860448201527f6961626c6555554944000000000000000000000000000000000000000000000060648201526084016200199d565b50620014a18383836200444a565b33600090815261010c6020908152604091829020825160608101845281546001600160a01b031681526001820154928101929092526002015460ff16151591018190526200192057604051636a5cfb6d60e01b815260040160405180910390fd5b600062003e028362004475565b801562003e16575062003e168383620044ad565b9392505050565b6001600160a01b038116600090815261010d602090815260408083208054825181850281018501909352808352919290919083018282801562003e8a57602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831162003e6b575b5050505050905060005b8151811015620014a15781818151811062003eb35762003eb3620053b4565b60209081029190910101516040517f6453d9c40000000000000000000000000000000000000000000000000000000081526001600160a01b03858116600483015290911690636453d9c490602401600060405180830381600087803b15801562003f1c57600080fd5b505af115801562003f31573d6000803e3d6000fd5b50505050808062003f4290620053ca565b91505062003e94565b6033546001600160a01b03163314620019205760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016200199d565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600054610100900460ff16620040665760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b60648201526084016200199d565b6200192062004538565b600054610100900460ff16620040dd5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b60648201526084016200199d565b62001920620045b0565b600054610100900460ff16620019205760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b60648201526084016200199d565b600082815260c96020526040808220600101805490849055905190918391839186917fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff9190a4505050565b610103805461010680546001600160a01b0383166001600160a01b031991821617909155169055604051600081527fad0399dc40331b9a4977aa89da7a164a3fd482c65e6da73b25a94ea74fb688729060200160405180910390a1565b600082815260c9602090815260408083206001600160a01b038516845290915290205460ff16620019b25762004232816200461d565b6200423f83602062004630565b6040516020016200425292919062005aca565b60408051601f198184030181529082905262461bcd60e51b82526200199d9160040162005246565b80516a636f6e736f6c652e6c6f67602083016000808483855afa5050505050565b6000620042f2826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166200482f9092919063ffffffff16565b90508051600014806200431657508080602001905181019062004316919062005412565b620014a15760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f7420737563636565640000000000000000000000000000000000000000000060648201526084016200199d565b6001600160a01b0381163b620044095760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201527f6f74206120636f6e74726163740000000000000000000000000000000000000060648201526084016200199d565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b620044558362004848565b600082511180620044635750805b15620014a157620038c683836200488a565b60006200448a826301ffc9a760e01b620044ad565b801562000dda5750620044a6826001600160e01b0319620044ad565b1592915050565b604080516001600160e01b03198316602480830191909152825180830390910181526044909101909152602080820180516001600160e01b03166301ffc9a760e01b178152825160009392849283928392918391908a617530fa92503d9150600051905082801562004520575060208210155b80156200452d5750600081115b979650505050505050565b600054610100900460ff16620045a55760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b60648201526084016200199d565b620019203362003fa7565b600054610100900460ff1662003b535760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b60648201526084016200199d565b606062000dda6001600160a01b03831660145b6060600062004641836002620052f1565b6200464e9060026200537e565b67ffffffffffffffff81111562004669576200466962004ca1565b6040519080825280601f01601f19166020018201604052801562004694576020820181803683370190505b5090507f300000000000000000000000000000000000000000000000000000000000000081600081518110620046ce57620046ce620053b4565b60200101906001600160f81b031916908160001a9053507f7800000000000000000000000000000000000000000000000000000000000000816001815181106200471c576200471c620053b4565b60200101906001600160f81b031916908160001a905350600062004742846002620052f1565b6200474f9060016200537e565b90505b6001811115620047de577f303132333435363738396162636465660000000000000000000000000000000085600f1660108110620047945762004794620053b4565b1a60f81b828281518110620047ad57620047ad620053b4565b60200101906001600160f81b031916908160001a90535060049490941c93620047d68162005b4f565b905062004752565b50831562003e165760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e7460448201526064016200199d565b6060620048408484600085620048b2565b949350505050565b62004853816200438a565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b606062003e1683836040518060600160405280602781526020016200ba0660279139620049a1565b6060824710156200492c5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c000000000000000000000000000000000000000000000000000060648201526084016200199d565b600080866001600160a01b031685876040516200494a919062005b69565b60006040518083038185875af1925050503d806000811462004989576040519150601f19603f3d011682016040523d82523d6000602084013e6200498e565b606091505b50915091506200452d8783838762004a1f565b6060600080856001600160a01b031685604051620049c0919062005b69565b600060405180830381855af49150503d8060008114620049fd576040519150601f19603f3d011682016040523d82523d6000602084013e62004a02565b606091505b509150915062004a158683838762004a1f565b9695505050505050565b6060831562004a9357825160000362004a8b576001600160a01b0385163b62004a8b5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016200199d565b508162004840565b62004840838381511562004aaa5781518083602001fd5b8060405162461bcd60e51b81526004016200199d919062005246565b82805482825590600052602060002090810192821562004b1e579160200282015b8281111562004b1e57825182546001600160a01b0319166001600160a01b0390911617825560209092019160019091019062004ae7565b5062004b2c92915062004b67565b5090565b61596a8062005b8883390190565b6104ee806200b4f283390190565b50805460008255906000526020600020908101906200120c91905b5b8082111562004b2c576000815560010162004b68565b60006020828403121562004b9157600080fd5b81356001600160e01b03198116811462003e1657600080fd5b60006020828403121562004bbd57600080fd5b5035919050565b6001600160a01b03811681146200120c57600080fd5b803562004be78162004bc4565b919050565b6000806040838503121562004c0057600080fd5b823562004c0d8162004bc4565b9150602083013562004c1f8162004bc4565b809150509250929050565b60006020828403121562004c3d57600080fd5b813562003e168162004bc4565b6000806040838503121562004c5e57600080fd5b823562004c6b8162004bc4565b946020939093013593505050565b6000806040838503121562004c8d57600080fd5b82359150602083013562004c1f8162004bc4565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff8111828210171562004cdd5762004cdd62004ca1565b60405290565b6040516101a0810167ffffffffffffffff8111828210171562004cdd5762004cdd62004ca1565b604051610120810167ffffffffffffffff8111828210171562004cdd5762004cdd62004ca1565b60405160c0810167ffffffffffffffff8111828210171562004cdd5762004cdd62004ca1565b604051601f8201601f1916810167ffffffffffffffff8111828210171562004d835762004d8362004ca1565b604052919050565b600067ffffffffffffffff82111562004da85762004da862004ca1565b50601f01601f191660200190565b600062004dcd62004dc78462004d8b565b62004d57565b905082815283838301111562004de257600080fd5b828260208301376000602084830101529392505050565b6000806040838503121562004e0d57600080fd5b823562004e1a8162004bc4565b9150602083013567ffffffffffffffff81111562004e3757600080fd5b8301601f8101851362004e4957600080fd5b62004e5a8582356020840162004db6565b9150509250929050565b600082601f83011262004e7657600080fd5b62003e168383356020850162004db6565b60006040828403121562004e9a57600080fd5b62004ea462004cb7565b905081358152602082013567ffffffffffffffff81111562004ec557600080fd5b62004ed38482850162004e64565b60208301525092915050565b80151581146200120c57600080fd5b803562004be78162004edf565b60006020828403121562004f0e57600080fd5b813567ffffffffffffffff8082111562004f2757600080fd5b908301906101a0828603121562004f3d57600080fd5b62004f4762004ce3565b62004f528362004bda565b815262004f626020840162004bda565b602082015260408301356040820152606083013560608201526080830135608082015262004f9360a0840162004bda565b60a082015262004fa660c0840162004bda565b60c082015260e08301358281111562004fbe57600080fd5b62004fcc8782860162004e87565b60e08301525061010062004fe281850162004bda565b90820152610120838101358381111562004ffb57600080fd5b620050098882870162004e64565b8284015250506101406200501f81850162004eee565b9082015261016083810135838111156200503857600080fd5b620050468882870162004e64565b82840152505061018091506200505e82840162004bda565b91810191909152949350505050565b80356003811062004be757600080fd5b600481106200120c57600080fd5b803562004be7816200507d565b600060208284031215620050ab57600080fd5b6040516020810181811067ffffffffffffffff82111715620050d157620050d162004ca1565b6040529135825250919050565b60006101208284031215620050f257600080fd5b620050fc62004d0a565b9050620051098262004bda565b8152602082013560208201526040820135604082015260608201356060820152608082013560808201526200514160a083016200506d565b60a08201526200515460c083016200508b565b60c0820152620051688360e0840162005098565b60e08201526101006200517d81840162004bda565b9082015292915050565b600080600061016084860312156200519e57600080fd5b8335620051ab8162004bc4565b9250620051bc8560208601620050de565b915061014084013567ffffffffffffffff811115620051da57600080fd5b620051e88682870162004e87565b9150509250925092565b60005b838110156200520f578181015183820152602001620051f5565b50506000910152565b6000815180845262005232816020860160208601620051f2565b601f01601f19169290920160200192915050565b60208152600062003e16602083018462005218565b60008060008061018085870312156200527357600080fd5b8435620052808162004bc4565b93506020850135620052928162004bc4565b9250620052a38660408701620050de565b915061016085013567ffffffffffffffff811115620052c157600080fd5b620052cf8782880162004e87565b91505092959194509250565b634e487b7160e01b600052601160045260246000fd5b808202811582820484141762000dda5762000dda620052db565b634e487b7160e01b600052602160045260246000fd5b6000602082840312156200533457600080fd5b815162003e16816200507d565b6000602082840312156200535457600080fd5b5051919050565b6000826200537957634e487b7160e01b600052601260045260246000fd5b500490565b8082018082111562000dda5762000dda620052db565b600060208284031215620053a757600080fd5b815162003e168162004bc4565b634e487b7160e01b600052603260045260246000fd5b600060018201620053df57620053df620052db565b5060010190565b8181038181111562000dda5762000dda620052db565b634e487b7160e01b600052603160045260246000fd5b6000602082840312156200542557600080fd5b815162003e168162004edf565b600060208083850312156200544657600080fd5b825167ffffffffffffffff808211156200545f57600080fd5b9084019060c082870312156200547457600080fd5b6200547e62004d31565b8251815283830151620054918162004bc4565b818501526040830151620054a58162004bc4565b6040820152606083015182811115620054bd57600080fd5b830160408189031215620054d057600080fd5b620054da62004cb7565b815181528582015184811115620054f057600080fd5b82019350601f840189136200550457600080fd5b835191506200551762004dc78362004d8b565b82815289878487010111156200552c57600080fd5b6200553d83888301898801620051f2565b95810195909552506060810193909352506080818101519083015260a090810151908201529392505050565b600181811c908216806200557e57607f821691505b6020821081036200559f57634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620014a157600081815260208120601f850160051c81016020861015620055ce5750805b601f850160051c820191505b81811015620055ef57828155600101620055da565b505050505050565b815167ffffffffffffffff81111562005614576200561462004ca1565b6200562c8162005625845462005569565b84620055a5565b602080601f8311600181146200566457600084156200564b5750858301515b600019600386901b1c1916600185901b178555620055ef565b600085815260208120601f198616915b82811015620056955788860151825594840194600190910190840162005674565b5085821015620056b45787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60006020808385031215620056d857600080fd5b825167ffffffffffffffff80821115620056f157600080fd5b818501915085601f8301126200570657600080fd5b8151818111156200571b576200571b62004ca1565b8060051b91506200572e84830162004d57565b81815291830184019184810190888411156200574957600080fd5b938501935b83851015620057775784519250620057668362004bc4565b82825293850193908501906200574e565b98975050505050505050565b60008154620057928162005569565b808552602060018381168015620057b25760018114620057cd57620057fd565b60ff1985168884015283151560051b880183019550620057fd565b866000528260002060005b85811015620057f55781548a8201860152908301908401620057d8565b890184019650505b505050505092915050565b80518252600060208201516040602085015262004840604085018262005218565b600081518084526020808501945080840160005b83811015620058645781516001600160a01b0316875295820195908201906001016200583d565b509495945050505050565b85815260a0602082015260006200588a60a083018762005783565b82810360408401526200589e818762005808565b90506001600160a01b0385166060840152828103608084015262005777818562005829565b838152606060208201526000620058de606083018562005783565b828103604084015262004a15818562005808565b6001600160a01b038316815260406020820152600062004840604083018462005218565b600481106200592957620059296200530b565b9052565b6000610120820190506001600160a01b0383511682526020830151602083015260408301516040830152606083015160608301526080830151608083015260a0830151600381106200598357620059836200530b565b8060a08401525060c08301516200599e60c084018262005916565b5060e0830151620059b260e0840182519052565b50610100928301516001600160a01b0316919092015290565b87815260006001600160a01b03808916602084015260e06040840152620059f660e084018962005218565b818816606085015286608085015283810360a085015262005a18818762005808565b91505082810360c084015262005a2f818562005829565b9a9950505050505050505050565b85815260006001600160a01b038087166020840152808616604084015280851660608401525060a060808301526200452d60a083018462005808565b60408152600062005a8e604083018562005218565b90506001600160a01b03831660208301529392505050565b60408152600062005abb604083018562005218565b90508260208301529392505050565b7f416363657373436f6e74726f6c3a206163636f756e742000000000000000000081526000835162005b04816017850160208801620051f2565b7f206973206d697373696e6720726f6c6520000000000000000000000000000000601791840191820152835162005b43816028840160208801620051f2565b01602801949350505050565b60008162005b615762005b61620052db565b506000190190565b6000825162005b7d818460208701620051f2565b919091019291505056fe60a0604052306080526000606d81905560705534801561001e57600080fd5b506080516159136200005760003960008181611231015281816112b6015281816113b70152818161143c015261152201526159136000f3fe6080604052600436106103c75760003560e01c806376365af7116101f2578063b5f620ce11610119578063e0dd2c38116100b2578063ef2920fc11610084578063f321b3051161006c578063f321b30514610b89578063f5b0dfb714610ba9578063fc1711f214610bc957005b8063ef2920fc14610b56578063f2fde38b14610b6957005b8063e0dd2c3814610ac9578063e33add9314610ae9578063eb11af9314610b09578063edd146cc14610b3657005b8063c7f758a8116100eb578063c7f758a814610a39578063d1e3623214610a6f578063dc96ff2d14610a84578063df868ed314610ab457005b8063b5f620ce146109a6578063b6c61f31146109c6578063bcc5b93b146109e6578063c329217114610a1c57005b8063950559d71161018b578063a574cea41161015d578063a574cea414610916578063aba9ffee14610943578063ac1ed7b914610959578063b2b878d01461097957005b8063950559d7146108a1578063a0cf0aea146108c1578063a1aab33f146108e9578063a47ff7e5146108ff57005b8063817b1cd2116101c4578063817b1cd21461082d578063824ea8ed14610843578063868c57b8146108635780638da5cb5b1461088357005b806376365af7146107cc578063782aadff146107e25780637c6570ba14610802578063814516ad1461081857005b8063346db8cb116102ee5780634f1ef286116102875780635db64b99116102595780636453d9c4116102415780636453d9c41461077757806369fa25c414610797578063715018a6146107b757005b80635db64b991461072a5780636003e4141461075757005b80634f1ef286146106cc57806352d1902d146106df57806354fac919146106f457806359a5db8b1461070a57005b8063406244d8116102c0578063406244d81461066d57806342fda9c7146106825780634ab4ba42146106975780634d31d087146106ac57005b8063346db8cb146105f1578063351d9f96146106115780633659cfe61461063857806338fff2d01461065857005b806315cc481e116103605780632bbe0cae116103325780632bbe0cae146105725780632cefadbb146105855780632dbd6fdd146105a55780632ed04b2b146105d157005b806315cc481e146104eb57806319ab453c1461051d5780631aa91a9e1461053d5780631ddf1e231461055d57005b80630ba95909116103995780630ba959091461047f5780630c0512e91461049e5780630f529ba2146104b457806311f22ae3146104cb57005b8063013cf08b146103d057806301ffc9a71461040f578063058aca441461043f5780630a6f0ee91461045f57005b366103ce57005b005b3480156103dc57600080fd5b506103f06103eb36600461481d565b610be9565b6040516104069a999897969594939291906148cf565b60405180910390f35b34801561041b57600080fd5b5061042f61042a366004614942565b610cf7565b6040519015158152602001610406565b34801561044b57600080fd5b506103ce61045a366004614999565b610d90565b34801561046b57600080fd5b506103ce61047a366004614ba9565b610df0565b34801561048b57600080fd5b506073545b604051908152602001610406565b3480156104aa57600080fd5b50610490606d5481565b3480156104c057600080fd5b506104906298968081565b3480156104d757600080fd5b506103ce6104e636600461481d565b610e10565b3480156104f757600080fd5b506065546001600160a01b03165b6040516001600160a01b039091168152602001610406565b34801561052957600080fd5b506103ce610538366004614999565b610e4f565b34801561054957600080fd5b5061049061055836600461481d565b610fb0565b34801561056957600080fd5b506103ce611036565b610505610580366004614c21565b611041565b34801561059157600080fd5b506103ce6105a036600461481d565b611064565b3480156105b157600080fd5b506072546105c490610100900460ff1681565b6040516104069190614c83565b3480156105dd57600080fd5b506104906105ec366004614c91565b6110b0565b3480156105fd57600080fd5b5061049061060c366004614cbd565b611182565b34801561061d57600080fd5b5060725461062b9060ff1681565b6040516104069190614cf9565b34801561064457600080fd5b506103ce610653366004614999565b611227565b34801561066457600080fd5b50606854610490565b34801561067957600080fd5b50610490600a81565b34801561068e57600080fd5b50606654610490565b3480156106a357600080fd5b50606954610490565b3480156106b857600080fd5b5061042f6106c7366004614999565b6113a2565b6103ce6106da366004614d07565b6113ad565b3480156106eb57600080fd5b50610490611515565b34801561070057600080fd5b50610490606a5481565b34801561071657600080fd5b5061049061072536600461481d565b6115da565b34801561073657600080fd5b50610490610745366004614999565b60776020526000908152604090205481565b34801561076357600080fd5b50607454610505906001600160a01b031681565b34801561078357600080fd5b506103ce610792366004614999565b611717565b3480156107a357600080fd5b506103ce6107b236600461481d565b611728565b3480156107c357600080fd5b506103ce611767565b3480156107d857600080fd5b50610490606b5481565b3480156107ee57600080fd5b506104906107fd366004614c91565b611779565b34801561080e57600080fd5b5061049060705481565b34801561082457600080fd5b506103ce61191b565b34801561083957600080fd5b50610490606e5481565b34801561084f57600080fd5b5061042f61085e36600461481d565b611a4d565b34801561086f57600080fd5b5061049061087e366004614c91565b611aaa565b34801561088f57600080fd5b506033546001600160a01b0316610505565b3480156108ad57600080fd5b506104906108bc36600461481d565b611adb565b3480156108cd57600080fd5b5061050573eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b3480156108f557600080fd5b50610490606c5481565b34801561090b57600080fd5b506073546104909081565b34801561092257600080fd5b5061093661093136600461481d565b611b05565b6040516104069190614d57565b34801561094f57600080fd5b50610490606f5481565b34801561096557600080fd5b506103ce610974366004614999565b611be4565b34801561098557600080fd5b50610999610994366004614d6a565b611cc5565b6040516104069190614e3f565b3480156109b257600080fd5b506103ce6109c1366004614ea5565b611ce0565b3480156109d257600080fd5b50607554610505906001600160a01b031681565b3480156109f257600080fd5b50610490610a01366004614999565b6001600160a01b031660009081526077602052604090205490565b348015610a2857600080fd5b50607254610100900460ff166105c4565b348015610a4557600080fd5b50610a59610a5436600461481d565b611ce9565b6040516104069a99989796959493929190614ec2565b348015610a7b57600080fd5b50606f54610490565b348015610a9057600080fd5b50610490610a9f36600461481d565b60009081526076602052604090206002015490565b348015610ac057600080fd5b5061042f611deb565b348015610ad557600080fd5b50610490610ae4366004614f27565b611dfe565b348015610af557600080fd5b506103ce610b04366004614f4c565b611e29565b348015610b1557600080fd5b50610b29610b24366004614999565b611e42565b6040516104069190614ff7565b348015610b4257600080fd5b506103ce610b51366004615011565b611e4d565b6103ce610b64366004614c21565b611f9b565b348015610b7557600080fd5b506103ce610b84366004614999565b611fb5565b348015610b9557600080fd5b506103ce610ba4366004615042565b612042565b348015610bb557600080fd5b506103ce610bc436600461481d565b61208d565b348015610bd557600080fd5b506103ce610be436600461481d565b6120b6565b6076602090815260009182526040918290208054600182015460028301546003840154600485015460058601546006870154600788015460088901548b51808d01909c52600a8a0180548d52600b8b0180549a9d999c989b979a6001600160a01b039788169a968816999790951697939660ff9093169593949192840191610c709061509c565b80601f0160208091040260200160405190810160405280929190818152602001828054610c9c9061509c565b8015610ce95780601f10610cbe57610100808354040283529160200191610ce9565b820191906000526020600020905b815481529060010190602001808311610ccc57829003601f168201915b50505050508152505090508a565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167ff1801e61000000000000000000000000000000000000000000000000000000001480610d8a57507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b33610d9a816120f5565b607480546001600160a01b0319166001600160a01b0384169081179091556040519081527fd6ceddf6d2a22f21c7c81675c518004eff43bc5c8a6fc32a0b748e69d58671cd906020015b60405180910390a15050565b610df86121a4565b610e006121cf565b610e0b83838361220b565b505050565b33610e1a816120f5565b606b8290556040518281527f08e39b387d1f739ce0d2553bb31822392e3f67c62c6c0a215120ab4a6841a8ab90602001610de4565b600054610100900460ff1615808015610e6f5750600054600160ff909116105b80610e895750303b158015610e89575060005460ff166001145b610f005760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084015b60405180910390fd5b6000805460ff191660011790558015610f23576000805461ff0019166101001790555b610f62826040518060400160405280600a81526020017f4356537472617465677900000000000000000000000000000000000000000000815250612042565b610f6a61251f565b8015610fac576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249890602001610de4565b5050565b600081815260766020526040812080548314610fe25760405163c1d17bef60e01b815260048101849052602401610ef7565b6001600882015460ff166004811115610ffd57610ffd614836565b1461101e576040516344980d8f60e01b815260048101849052602401610ef7565b61102c818260020154612592565b6003015492915050565b61103f336125cd565b565b600061104b6121a4565b6110536121cf565b61105d838361271e565b9392505050565b3361106e816120f5565b60705460408051918252602082018490527f056aedca4e334b6c4bea48715fb0de644811b740894de57a0380d3eb90f2805b910160405180910390a150607055565b60006110ba612a70565b60006002607254610100900460ff1660038111156110da576110da614836565b148061110157506001607254610100900460ff1660038111156110ff576110ff614836565b145b1561110d57508161111a565b6111178484612ab4565b90505b80606f600082825461112c91906150e6565b9091555050604080516001600160a01b0386168152602081018590529081018290527f70b752f3fadb6ac131c0ece847fcbb6994ec56ed6411595710fd9b29c6ac6cc19060600160405180910390a19392505050565b60008084905060006111a8629896806080606a54901b6111a2919061510f565b83612d78565b905060806f80000000000000000000000000000000606a54629896806111ce91906150e6565b6111dc84600160801b6150e6565b6111e96298968089615131565b6111f39190615131565b6111fd919061510f565b6112078885615131565b6112119190615148565b61121b9190615148565b901c9695505050505050565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036112b45760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b19195b1959d85d1958d85b1b60a21b6064820152608401610ef7565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661130f7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b6001600160a01b03161461137a5760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b6163746976652070726f787960a01b6064820152608401610ef7565b61138381612e21565b6040805160008082526020820190925261139f91839190612e29565b50565b6000610d8a82612fc9565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016300361143a5760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b19195b1959d85d1958d85b1b60a21b6064820152608401610ef7565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166114957f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b6001600160a01b0316146115005760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b6163746976652070726f787960a01b6064820152608401610ef7565b61150982612e21565b610fac82826001612e29565b6000306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146115b55760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c00000000000000006064820152608401610ef7565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc90565b60008060695411611617576040517fed4421ad00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61162082612fe9565b1561163e57604051630efd728560e21b815260040160405180910390fd5b6069546000906116578468010000000000000000615131565b611661919061510f565b62989680606b546801000000000000000061167c9190615131565b611686919061510f565b61169091906150e6565b9050604061169d606f5490565b606a546116ad90629896806150e6565b6298968060406116bd8680615131565b901c629896806080606c54901b6116d4919061510f565b6116de919061510f565b6116e89190615131565b6116f2919061510f565b6116fc9190615131565b901c915060705482116117115760705461105d565b50919050565b61171f612a70565b61139f816125cd565b33611732816120f5565b606a8290556040518281527f592dcd55d60d892e7fcb3ba105013312e99691cd59f91e15f83cb67cb5a505f290602001610de4565b61176f613010565b61103f600061306a565b6000611783612a70565b61178c836130bc565b6117a957604051630b72d6b160e31b815260040160405180910390fd5b60006002607254610100900460ff1660038111156117c9576117c9614836565b036117d757825b9050611834565b6001607254610100900460ff1660038111156117f5576117f5614836565b03611804576117d08484613164565b6003607254610100900460ff16600381111561182257611822614836565b036118345761183184846132ca565b90505b60745460405163011de97360e61b81526001600160a01b038681166004830152306024830152600092169063477a5cc090604401602060405180830381865afa158015611885573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118a9919061515b565b905080156118c95781606f60008282546118c39190615148565b90915550505b604080516001600160a01b0387168152602081018690529081018390527f0b9150e1e54346ed3fa36b977cd5d65dca5a649c737c3174a26bddaadd47667a9060600160405180910390a1509392505050565b33611925816130bc565b61194257604051630b72d6b160e31b815260040160405180910390fd5b6074546040517f0d4a8b490000000000000000000000000000000000000000000000000000000081526001600160a01b03838116600483015230602483015290911690630d4a8b4990604401600060405180830381600087803b1580156119a857600080fd5b505af11580156119bc573d6000803e3d6000fd5b5050607454604051637817ee4f60e01b81526001600160a01b0385811660048301523060248301529091169250637817ee4f9150604401602060405180830381865afa158015611a10573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a349190615178565b606f6000828254611a459190615148565b909155505050565b6000818152607660205260408120600281015482908190611a6f908490613511565b91509150816000148015611a81575080155b15611a8e57826003015491505b6000611a9d84600101546115da565b9092101595945050505050565b60786020528160005260406000208181548110611ac657600080fd5b90600052602060002001600091509150505481565b6000606a5462989680611aee91906150e6565b611afb6298968084615131565b610d8a919061510f565b604080518082019091526000815260606020820152600060766000848152602001908152602001600020905080600a0160405180604001604052908160008201548152602001600182018054611b5a9061509c565b80601f0160208091040260200160405190810160405280929190818152602001828054611b869061509c565b8015611bd35780601f10611ba857610100808354040283529160200191611bd3565b820191906000526020600020905b815481529060010190602001808311611bb657829003601f168201915b505050505081525050915050919050565b607460009054906101000a90046001600160a01b03166001600160a01b0316636c53db9a6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611c37573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c5b9190615191565b6001600160a01b03163303611c9357611c7381613569565b607580546001600160a01b0383166001600160a01b031990911617905550565b6040517fe860ec7e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b606060405163d623472560e01b815260040160405180910390fd5b61139f816135a9565b6000806000806000806000806000806000607660008d815260200190815260200160002090508060010154600014611d2d57611d2881600101546115da565b611d30565b60005b92508060050160009054906101000a90046001600160a01b03168160040160009054906101000a90046001600160a01b03168260060160009054906101000a90046001600160a01b0316836001015484600201548560080160009054906101000a900460ff16866007015487600301548a896009016000336001600160a01b03166001600160a01b03168152602001908152602001600020549a509a509a509a509a509a509a509a509a509a50509193959799509193959799565b6000611df960675460ff1690565b905090565b60008281526076602090815260408083206001600160a01b038516845260090190915281205461105d565b60405163d623472560e01b815260040160405180910390fd5b6000610d8a826135ea565b611e556121a4565b611e5e8261360a565b600081806020019051810190611e74919061521e565b80519091506001600160a01b0316611e9f57604051635df4b1ef60e01b815260040160405180910390fd5b8051607480546001600160a01b0319166001600160a01b039092169190911790556020810151606a556040810151606b556060810151606c5560a08101516072805460ff19166001836002811115611ef957611ef9614836565b021790555060c08101516072805461ff001916610100836003811115611f2157611f21614836565b021790555060e0810151516073556080810151607055610100810151607580546001600160a01b0319166001600160a01b039092169190911790556040517f4ebdec05fb64815e553aeaf3976ef8112dd79760a459bee3ac7d1659ab2c4e0490611f8e90859084906152b9565b60405180910390a1505050565b611fa36121a4565b611fab6121cf565b610fac828261368b565b611fbd613010565b6001600160a01b0381166120395760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610ef7565b61139f8161306a565b606580546001600160a01b0319166001600160a01b03841617905560405161206e90829060200161534c565b60408051601f1981840301815291905280516020909101206066555050565b6120956121a4565b80606960008282546120a79190615148565b9091555061139f90508161379a565b336120c0816120f5565b606c8290556040518281527f30ee8206062f283e56a0af2b02138016bf7442ded26ad68a92a18a9dd246fb4990602001610de4565b6065546068546040517f29e40d4b00000000000000000000000000000000000000000000000000000000815260048101919091526001600160a01b038381166024830152909116906329e40d4b90604401602060405180830381865afa158015612163573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612187919061515b565b61139f5760405163075fd2b160e01b815260040160405180910390fd5b6065546001600160a01b0316331461103f5760405163075fd2b160e01b815260040160405180910390fd5b60685460000361103f576040517f3da3f98c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000825111612246576040517fc5f7c4c000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008280602001905181019061225c9190615178565b905080600003612298576040517ff881a10d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000818152607660205260409020600160725460ff1660028111156122bf576122bf614836565b0361251857805482146122e85760405163c1d17bef60e01b815260048101839052602401610ef7565b606954816001015411156123405760018101546069546040517f5863b0b60000000000000000000000000000000000000000000000000000000081526004810185905260248101929092526044820152606401610ef7565b6001600882015460ff16600481111561235b5761235b614836565b1461237c576040516344980d8f60e01b815260048101839052602401610ef7565b600061238783610fb0565b9050600061239883600101546115da565b905080821080156123ad575060008360010154115b156123e4576040517fcce7930800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6065546068546040517f068bcd8d00000000000000000000000000000000000000000000000000000000815260048101919091526000916001600160a01b03169063068bcd8d90602401600060405180830381865afa15801561244b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261247391908101906153ec565b905083600101546069600082825461248b91906150e6565b90915550506040810151600485015460018601546124b392916001600160a01b0316906137ca565b60088401805460ff191660049081179091558401546001850154604080518881526001600160a01b0390931660208401528201527fa7932e9c92f31e1ed56b29d00bbe669a97484dc24de28dd9c8c0429df7f358479060600160405180910390a15050505b5050505050565b600054610100900460ff1661258a5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401610ef7565b61103f61380f565b60008061259f8484613511565b915091508160001480156125b1575080155b156125bc5750505050565b600784015560039092019190915550565b607454604051637817ee4f60e01b81526001600160a01b03838116600483015230602483015290911690637817ee4f90604401602060405180830381865afa15801561261d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126419190615178565b606f600082825461265291906150e6565b90915550506074546040517f22bcf9990000000000000000000000000000000000000000000000000000000081526001600160a01b038381166004830152306024830152909116906322bcf99990604401600060405180830381600087803b1580156126bd57600080fd5b505af11580156126d1573d6000803e3d6000fd5b505050506126de81613883565b6040516001600160a01b03821681527f1468da654b37bb3631011c1917d02e0db437d519918858d40b38b5e980ca033b906020015b60405180910390a150565b6000612729826130bc565b61274657604051630b72d6b160e31b815260040160405180910390fd5b60008380602001905181019061275c91906154a0565b805190915060000361279a576040517f4e79178600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600160725460ff1660028111156127b3576127b3614836565b03612963576127c58160200151613569565b60608101516001600160a01b0316612809576040517f596a094c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000306001600160a01b03166315cc481e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612849573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061286d9190615191565b6001600160a01b031663068bcd8d6068546040518263ffffffff1660e01b815260040161289c91815260200190565b600060405180830381865afa1580156128b9573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526128e191908101906153ec565b604001519050806001600160a01b031682606001516001600160a01b031614612936576040517fa29c498600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6129438260400151612fe9565b1561296157604051630efd728560e21b815260040160405180910390fd5b505b6000606d6000815461297490615547565b918290555060008181526076602090815260408083208481556005810180546001600160a01b038b81166001600160a01b0319928316179092558885015160048401805491841691831691909117905560608901516006840180549190931691161790559086015160018083019190915560088201805460ff19169091179055436007820155600381019290925560808501518051600a8401908155918101519394509192600b840190612a2890826155ae565b505060685460408051918252602082018590527ffcf3b1aa65a464cef2889608f99e8b8c0f680a4be6c2acb9d961c536a5a9294b92500160405180910390a150949350505050565b6074546001600160a01b0316331461103f576040517faf0916a200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b607454604080516336d8759760e21b815290516000926012926001600160a01b039091169163db61d65c916004808201926020929091908290030181865afa158015612b04573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612b289190615191565b6001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015612b81575060408051601f3d908101601f19168201909252612b7e9181019061566e565b60015b612bc857612bc36040518060400160405280601581526020017f4572726f722067657474696e6720646563696d616c0000000000000000000000815250613a10565b612bce565b60ff1690505b612c0d6040518060400160405280601081526020017f5f616d6f756e74546f556e7374616b650000000000000000000000000000000081525084613a81565b6074546040516316308e2560e11b81526001600160a01b0386811660048301526000928692911690632c611c4a90602401602060405180830381865afa158015612c5b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612c7f9190615178565b612c8991906150e6565b9050612cca6040518060400160405280600d81526020017f6e6577546f74616c5374616b650000000000000000000000000000000000000081525082613a81565b6000612ce9612cda84600a615775565b612ce49084615131565b613af4565b607454604051637817ee4f60e01b81526001600160a01b03898116600483015230602483015292935060009284921690637817ee4f90604401602060405180830381865afa158015612d3f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612d639190615178565b612d6d91906150e6565b979650505050505050565b6000600160801b8310612dcd5760405162461bcd60e51b815260206004820152601c60248201527f5f612073686f756c64206265206c657373207468616e20325e313238000000006044820152606401610ef7565b50600160801b82825b8015612e195780600116600003612dfb57612df18283613bdc565b915060011c612dd6565b612e058383613bdc565b9250612e126001826150e6565b9050612dd6565b505092915050565b61139f613010565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615612e5c57610e0b83613cdb565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015612eb6575060408051601f3d908101601f19168201909252612eb391810190615178565b60015b612f285760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201527f6f6e206973206e6f7420555550530000000000000000000000000000000000006064820152608401610ef7565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8114612fbd5760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f7860448201527f6961626c655555494400000000000000000000000000000000000000000000006064820152608401610ef7565b50610e0b838383613d99565b60006001600160a01b03821615612fe1576001610d8a565b600092915050565b6000612ff86298968083615131565b606954606b546130089190615131565b111592915050565b6033546001600160a01b0316331461103f5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610ef7565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6075546000906001600160a01b03166130d757506001919050565b6075546040517f42a987a00000000000000000000000000000000000000000000000000000000081526001600160a01b038481166004830152306024830152909116906342a987a090604401602060405180830381865afa158015613140573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d8a919061515b565b6000808290506131a96040518060400160405280601281526020017f504f494e545320544f20494e435245415345000000000000000000000000000081525082613a81565b607454604051637817ee4f60e01b81526001600160a01b0386811660048301523060248301526000921690637817ee4f90604401602060405180830381865afa1580156131fa573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061321e9190615178565b905061325f6040518060400160405280600b81526020017f4d454d424552504f57455200000000000000000000000000000000000000000081525082613a81565b60735461326c8383615148565b1115613283576073546132809082906150e6565b91505b6132c26040518060400160405280601681526020017f504f494e545320544f20494e43524541534520454e440000000000000000000081525083613a81565b509392505050565b6074546040516316308e2560e11b81526001600160a01b0384811660048301526000928392859290911690632c611c4a90602401602060405180830381865afa15801561331b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061333f9190615178565b6133499190615148565b607454604080516336d8759760e21b815290519293506012926001600160a01b039092169163db61d65c916004808201926020929091908290030181865afa158015613399573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906133bd9190615191565b6001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015613416575060408051601f3d908101601f191682019092526134139181019061566e565b60015b61345d576134586040518060400160405280601581526020017f4572726f722067657474696e6720646563696d616c0000000000000000000000815250613a10565b613463565b60ff1690505b600061347d61347383600a615775565b612ce49085615131565b607454604051637817ee4f60e01b81526001600160a01b03898116600483015230602483015292935060009290911690637817ee4f90604401602060405180830381865afa1580156134d3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906134f79190615178565b9050600061350582846150e6565b98975050505050505050565b600080439050808460070154111561352b5761352b615781565b8084600701540361354157506000905080613562565b61355f84600701548261355491906150e6565b856003015485611182565b91505b9250929050565b6001600160a01b03811661139f576040517fe622e04000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6067805460ff19168215159081179091556040519081527fd94c9bc4d43c51d8dc345a016d8e3d994432fac68e72832e4cf3a616bd8efae090602001612713565b60006001600160a01b03821615613602576002610d8a565b600392915050565b6136126121a4565b6068541561364c576040517f439a74c900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80600003613686576040517f7fcce2a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b606855565b61369481613dbe565b61369d816130bc565b6136ba57604051630b72d6b160e31b815260040160405180910390fd5b60745460405163011de97360e61b81526001600160a01b038381166004830152306024830152600092169063477a5cc090604401602060405180830381865afa15801561370b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061372f919061515b565b905080613768576040517f5fccb67f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008380602001905181019061377e9190615797565b905061378a8382613ee4565b61379483826140a7565b50505050565b6040518181527f46aeb5d8770fc4474bc2dfa118fd2595f7fb33ce2cbce6f4e5a3dabfe0f7633990602001612713565b7fffffffffffffffffffffffff11111111111111111111111111111111111111126001600160a01b0384160161380457610e0b82826144cb565b610e0b8383836144e7565b600054610100900460ff1661387a5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401610ef7565b61103f3361306a565b6001600160a01b0381166000908152607860209081526040808320805482518185028101850190935280835291929091908301828280156138e357602002820191906000526020600020905b8154815260200190600101908083116138cf575b5050505050905060005b8151811015610e0b57600082828151811061390a5761390a615842565b60200260200101519050600060766000838152602001908152602001600020905061393482614536565b156139fb576001600160a01b038516600090815260098201602052604081208054908290556002830180549192839261396e9084906150e6565b9250508190555080606e600082825461398791906150e6565b9091555061399790508282612592565b60028201546003830154604080516001600160a01b038a1681526020810187905260008183015260608101939093526080830191909152517f0227f642ddcf2042ceaeafadb9d540f432072c00cd4862881667168dcc14710f9181900360a00190a1505b50508080613a0890615547565b9150506138ed565b61139f81604051602401613a24919061534c565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f41304fac0000000000000000000000000000000000000000000000000000000017905261456f565b610fac8282604051602401613a97929190615858565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f9710a9d00000000000000000000000000000000000000000000000000000000017905261456f565b600081600003613b0657506000919050565b60006001613b1384614590565b901c6001901b90506001818481613b2c57613b2c6150f9565b048201901c90506001818481613b4457613b446150f9565b048201901c90506001818481613b5c57613b5c6150f9565b048201901c90506001818481613b7457613b746150f9565b048201901c90506001818481613b8c57613b8c6150f9565b048201901c90506001818481613ba457613ba46150f9565b048201901c90506001818481613bbc57613bbc6150f9565b048201901c905061105d81828581613bd657613bd66150f9565b04614624565b6000600160801b831115613c585760405162461bcd60e51b815260206004820152602860248201527f5f612073686f756c64206265206c657373207468616e206f7220657175616c2060448201527f746f20325e3132380000000000000000000000000000000000000000000000006064820152608401610ef7565b600160801b8210613cab5760405162461bcd60e51b815260206004820152601c60248201527f5f622073686f756c64206265206c657373207468616e20325e313238000000006044820152606401610ef7565b60806f80000000000000000000000000000000613cc88486615131565b613cd29190615148565b901c9392505050565b6001600160a01b0381163b613d585760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201527f6f74206120636f6e7472616374000000000000000000000000000000000000006064820152608401610ef7565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b613da28361463a565b600082511180613daf5750805b15610e0b57613794838361467a565b6001600160a01b038116613dfe576040517fd1f2828800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6074546001600160a01b0316613e2757604051635df4b1ef60e01b815260040160405180910390fd5b6074546040517fa230c5240000000000000000000000000000000000000000000000000000000081526001600160a01b0383811660048301529091169063a230c52490602401602060405180830381865afa158015613e8a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613eae919061515b565b61139f576040517f6a5cfb6d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000805b8251811015613fa157828181518110613f0357613f03615842565b60200260200101516000015160000315613f8f576000838281518110613f2b57613f2b615842565b6020026020010151600001519050613f4281614536565b613f625760405163c1d17bef60e01b815260048101829052602401610ef7565b838281518110613f7457613f74615842565b60200260200101516020015183613f8b919061587a565b9250505b80613f9981615547565b915050613ee8565b506001600160a01b038316600090815260776020526040812054613fc5908361469f565b607454604051637817ee4f60e01b81526001600160a01b03878116600483015230602483015292935060009290911690637817ee4f90604401602060405180830381865afa15801561401b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061403f9190615178565b905080821115614085576040517fd64182fe0000000000000000000000000000000000000000000000000000000081526004810183905260248101829052604401610ef7565b506001600160a01b039093166000908152607760205260409020929092555050565b606060005b82518110156137945760008382815181106140c9576140c9615842565b60200260200101516000015190508251600003614125576040805160018082528183019092529060208083019080368337019050509250808360008151811061411457614114615842565b602002602001018181525050614278565b6000805b84518110156141a4578285828151811061414557614145615842565b602002602001015103614192576040517fadebb154000000000000000000000000000000000000000000000000000000008152600481018490526024810182905260019250604401610ef7565b8061419c81615547565b915050614129565b5080614276576000845160016141ba9190615148565b67ffffffffffffffff8111156141d2576141d26149b6565b6040519080825280602002602001820160405280156141fb578160200160208202803683370190505b50905060005b85518110156142535785818151811061421c5761421c615842565b602002602001015182828151811061423657614236615842565b60209081029190910101528061424b81615547565b915050614201565b50828186518151811061426857614268615842565b602090810291909101015293505b505b600084838151811061428c5761428c615842565b60209081029190910181015181015160008481526076835260408082206001600160a01b038b168352600981019094528120549193506142cc828561469f565b6001600160a01b038a1660009081526009850160205260408120829055909150805b6001600160a01b038b166000908152607860205260409020548110156143655784546001600160a01b038c16600090815260786020526040902080548390811061433a5761433a615842565b9060005260206000200154036143535760019150614365565b8061435d81615547565b9150506142ee565b508061439b576001600160a01b038a16600090815260786020908152604082208654815460018101835591845291909220909101555b8183116143eb576143ac83836150e6565b606e60008282546143bd9190615148565b909155506143cd905083836150e6565b8460020160008282546143e09190615148565b9091555061442f9050565b6143f582846150e6565b606e600082825461440691906150e6565b90915550614416905082846150e6565b84600201600082825461442991906150e6565b90915550505b8360070154600003614446574360078501556144b2565b6144508484612592565b60028401546003850154604080516001600160a01b038e168152602081018a9052908101859052606081019290925260808201527f0227f642ddcf2042ceaeafadb9d540f432072c00cd4862881667168dcc14710f9060a00160405180910390a15b50505050505080806144c390615547565b9150506140ac565b60008060008084865af1610fac5763b12d13eb6000526004601cfd5b81601452806034526fa9059cbb00000000000000000000000060005260206000604460106000875af13d15600160005114171661452c576390b8ec186000526004601cfd5b6000603452505050565b60008181526076602052604081205415801590610d8a5750506000908152607660205260409020600501546001600160a01b0316151590565b80516a636f6e736f6c652e6c6f67602083016000808483855afa5050505050565b600080608083901c156145a557608092831c92015b604083901c156145b757604092831c92015b602083901c156145c957602092831c92015b601083901c156145db57601092831c92015b600883901c156145ed57600892831c92015b600483901c156145ff57600492831c92015b600283901c1561461157600292831c92015b600183901c15610d8a5760010192915050565b6000818310614633578161105d565b5090919050565b61464381613cdb565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b606061105d83836040518060600160405280602781526020016158b7602791396146fa565b6000806146ac838561587a565b9050600081121561105d576040517f3bbc7142000000000000000000000000000000000000000000000000000000008152600481018590526024810184905260448101829052606401610ef7565b6060600080856001600160a01b031685604051614717919061589a565b600060405180830381855af49150503d8060008114614752576040519150601f19603f3d011682016040523d82523d6000602084013e614757565b606091505b509150915061476886838387614772565b9695505050505050565b606083156147e15782516000036147da576001600160a01b0385163b6147da5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610ef7565b50816147eb565b6147eb83836147f3565b949350505050565b8151156148035781518083602001fd5b8060405162461bcd60e51b8152600401610ef7919061534c565b60006020828403121561482f57600080fd5b5035919050565b634e487b7160e01b600052602160045260246000fd5b6005811061485c5761485c614836565b9052565b60005b8381101561487b578181015183820152602001614863565b50506000910152565b6000815180845261489c816020860160208601614860565b601f01601f19169290920160200192915050565b8051825260006020820151604060208501526147eb6040850182614884565b60006101408c83528b60208401528a60408401528960608401526001600160a01b03808a16608085015280891660a085015280881660c0850152508560e084015261491e61010084018661484c565b80610120840152614931818401856148b0565b9d9c50505050505050505050505050565b60006020828403121561495457600080fd5b81357fffffffff000000000000000000000000000000000000000000000000000000008116811461105d57600080fd5b6001600160a01b038116811461139f57600080fd5b6000602082840312156149ab57600080fd5b813561105d81614984565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff811182821017156149ef576149ef6149b6565b60405290565b604051610120810167ffffffffffffffff811182821017156149ef576149ef6149b6565b60405160c0810167ffffffffffffffff811182821017156149ef576149ef6149b6565b60405160a0810167ffffffffffffffff811182821017156149ef576149ef6149b6565b604051601f8201601f1916810167ffffffffffffffff81118282101715614a8857614a886149b6565b604052919050565b600067ffffffffffffffff821115614aaa57614aaa6149b6565b5060051b60200190565b600082601f830112614ac557600080fd5b81356020614ada614ad583614a90565b614a5f565b82815260059290921b84018101918181019086841115614af957600080fd5b8286015b84811015614b1d578035614b1081614984565b8352918301918301614afd565b509695505050505050565b600067ffffffffffffffff821115614b4257614b426149b6565b50601f01601f191660200190565b6000614b5e614ad584614b28565b9050828152838383011115614b7257600080fd5b828260208301376000602084830101529392505050565b600082601f830112614b9a57600080fd5b61105d83833560208501614b50565b600080600060608486031215614bbe57600080fd5b833567ffffffffffffffff80821115614bd657600080fd5b614be287838801614ab4565b94506020860135915080821115614bf857600080fd5b50614c0586828701614b89565b9250506040840135614c1681614984565b809150509250925092565b60008060408385031215614c3457600080fd5b823567ffffffffffffffff811115614c4b57600080fd5b614c5785828601614b89565b9250506020830135614c6881614984565b809150509250929050565b6004811061485c5761485c614836565b60208101610d8a8284614c73565b60008060408385031215614ca457600080fd5b8235614caf81614984565b946020939093013593505050565b600080600060608486031215614cd257600080fd5b505081359360208301359350604090920135919050565b6003811061485c5761485c614836565b60208101610d8a8284614ce9565b60008060408385031215614d1a57600080fd5b8235614d2581614984565b9150602083013567ffffffffffffffff811115614d4157600080fd5b614d4d85828601614b89565b9150509250929050565b60208152600061105d60208301846148b0565b60008060408385031215614d7d57600080fd5b823567ffffffffffffffff80821115614d9557600080fd5b614da186838701614ab4565b9350602091508185013581811115614db857600080fd5b8501601f81018713614dc957600080fd5b8035614dd7614ad582614a90565b81815260059190911b82018401908481019089831115614df657600080fd5b8584015b83811015614e2e57803586811115614e125760008081fd5b614e208c8983890101614b89565b845250918601918601614dfa565b508096505050505050509250929050565b602080825282518282018190526000919060409081850190868401855b82811015614e8a57815180516001600160a01b03168552860151868501529284019290850190600101614e5c565b5091979650505050505050565b801515811461139f57600080fd5b600060208284031215614eb757600080fd5b813561105d81614e97565b6001600160a01b038b811682528a811660208301528916604082015260608101889052608081018790526101408101614efe60a083018861484c565b8560c08301528460e083015283610100830152826101208301529b9a5050505050505050505050565b60008060408385031215614f3a57600080fd5b823591506020830135614c6881614984565b60006020808385031215614f5f57600080fd5b823567ffffffffffffffff811115614f7657600080fd5b8301601f81018513614f8757600080fd5b8035614f95614ad582614a90565b81815260069190911b82018301908381019087831115614fb457600080fd5b928401925b82841015612d6d5760408489031215614fd25760008081fd5b614fda6149cc565b843581528585013586820152825260409093019290840190614fb9565b602081016007831061500b5761500b614836565b91905290565b6000806040838503121561502457600080fd5b82359150602083013567ffffffffffffffff811115614d4157600080fd5b6000806040838503121561505557600080fd5b823561506081614984565b9150602083013567ffffffffffffffff81111561507c57600080fd5b8301601f8101851361508d57600080fd5b614d4d85823560208401614b50565b600181811c908216806150b057607f821691505b60208210810361171157634e487b7160e01b600052602260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b81810381811115610d8a57610d8a6150d0565b634e487b7160e01b600052601260045260246000fd5b60008261512c57634e487b7160e01b600052601260045260246000fd5b500490565b8082028115828204841417610d8a57610d8a6150d0565b80820180821115610d8a57610d8a6150d0565b60006020828403121561516d57600080fd5b815161105d81614e97565b60006020828403121561518a57600080fd5b5051919050565b6000602082840312156151a357600080fd5b815161105d81614984565b80516151b981614984565b919050565b8051600381106151b957600080fd5b8051600481106151b957600080fd5b6000602082840312156151ee57600080fd5b6040516020810181811067ffffffffffffffff82111715615211576152116149b6565b6040529151825250919050565b6000610120828403121561523157600080fd5b6152396149f5565b615242836151ae565b81526020830151602082015260408301516040820152606083015160608201526080830151608082015261527860a084016151be565b60a082015261528960c084016151cd565b60c082015261529b8460e085016151dc565b60e08201526101006152ae8185016151ae565b908201529392505050565b6000610140820190508382526001600160a01b038351166020830152602083015160408301526040830151606083015260608301516080830152608083015160a083015260a083015161530f60c0840182614ce9565b5060c083015161532260e0840182614c73565b5060e08301515161010083810191909152909201516001600160a01b031661012090910152919050565b60208152600061105d6020830184614884565b60006040828403121561537157600080fd5b6153796149cc565b905081518152602082015167ffffffffffffffff81111561539957600080fd5b8201601f810184136153aa57600080fd5b80516153b8614ad582614b28565b8181528560208385010111156153cd57600080fd5b6153de826020830160208601614860565b602084015250909392505050565b6000602082840312156153fe57600080fd5b815167ffffffffffffffff8082111561541657600080fd5b9083019060c0828603121561542a57600080fd5b615432614a19565b82518152602083015161544481614984565b6020820152604083015161545781614984565b604082015260608301518281111561546e57600080fd5b61547a8782860161535f565b6060830152506080830151608082015260a083015160a082015280935050505092915050565b6000602082840312156154b257600080fd5b815167ffffffffffffffff808211156154ca57600080fd5b9083019060a082860312156154de57600080fd5b6154e6614a3c565b8251815260208301516154f881614984565b602082015260408381015190820152606083015161551581614984565b606082015260808301518281111561552c57600080fd5b6155388782860161535f565b60808301525095945050505050565b600060018201615559576155596150d0565b5060010190565b601f821115610e0b57600081815260208120601f850160051c810160208610156155875750805b601f850160051c820191505b818110156155a657828155600101615593565b505050505050565b815167ffffffffffffffff8111156155c8576155c86149b6565b6155dc816155d6845461509c565b84615560565b602080601f83116001811461561157600084156155f95750858301515b600019600386901b1c1916600185901b1785556155a6565b600085815260208120601f198616915b8281101561564057888601518255948401946001909101908401615621565b508582101561565e5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60006020828403121561568057600080fd5b815160ff8116811461105d57600080fd5b600181815b808511156156cc5781600019048211156156b2576156b26150d0565b808516156156bf57918102915b93841c9390800290615696565b509250929050565b6000826156e357506001610d8a565b816156f057506000610d8a565b816001811461570657600281146157105761572c565b6001915050610d8a565b60ff841115615721576157216150d0565b50506001821b610d8a565b5060208310610133831016604e8410600b841016171561574f575081810a610d8a565b6157598383615691565b806000190482111561576d5761576d6150d0565b029392505050565b600061105d83836156d4565b634e487b7160e01b600052600160045260246000fd5b600060208083850312156157aa57600080fd5b825167ffffffffffffffff8111156157c157600080fd5b8301601f810185136157d257600080fd5b80516157e0614ad582614a90565b81815260069190911b820183019083810190878311156157ff57600080fd5b928401925b82841015612d6d576040848903121561581d5760008081fd5b6158256149cc565b845181528585015186820152825260409093019290840190615804565b634e487b7160e01b600052603260045260246000fd5b60408152600061586b6040830185614884565b90508260208301529392505050565b8082018281126000831280158216821582161715612e1957612e196150d0565b600082516158ac818460208701614860565b919091019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220c48cc12d179438205fdfccfa347c3f7a42e1628b0464d75d22b5c73259d5a99664736f6c6343000813003360806040526040516104ee3803806104ee833981016040819052610022916102de565b61002e82826000610035565b50506103fb565b61003e83610061565b60008251118061004b5750805b1561005c5761005a83836100a1565b505b505050565b61006a816100cd565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606100c683836040518060600160405280602781526020016104c760279139610180565b9392505050565b6001600160a01b0381163b61013f5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080856001600160a01b03168560405161019d91906103ac565b600060405180830381855af49150503d80600081146101d8576040519150601f19603f3d011682016040523d82523d6000602084013e6101dd565b606091505b5090925090506101ef868383876101f9565b9695505050505050565b60608315610268578251600003610261576001600160a01b0385163b6102615760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610136565b5081610272565b610272838361027a565b949350505050565b81511561028a5781518083602001fd5b8060405162461bcd60e51b815260040161013691906103c8565b634e487b7160e01b600052604160045260246000fd5b60005b838110156102d55781810151838201526020016102bd565b50506000910152565b600080604083850312156102f157600080fd5b82516001600160a01b038116811461030857600080fd5b60208401519092506001600160401b038082111561032557600080fd5b818501915085601f83011261033957600080fd5b81518181111561034b5761034b6102a4565b604051601f8201601f19908116603f01168101908382118183101715610373576103736102a4565b8160405282815288602084870101111561038c57600080fd5b61039d8360208301602088016102ba565b80955050505050509250929050565b600082516103be8184602087016102ba565b9190910192915050565b60208152600082518060208401526103e78160408501602087016102ba565b601f01601f19169190910160400192915050565b60be806104096000396000f3fe608060405236601057600e6013565b005b600e5b601f601b6021565b6065565b565b600060607f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b905090565b3660008037600080366000845af43d6000803e8080156083573d6000f35b3d6000fdfea26469706673582212204ff6082523a0497cb45cb43d3d639dba31b196359b7f035ed946d507d89a80c764736f6c63430008130033416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c656467617264656e73466163746f72792e67657447617264656e7346656552656365697665722829416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a264697066735822122021ab31b51ced700c35259f0eb0c59f2095f1fbcf2c8bd0efe59a0682d6a8b74164736f6c6343000813003360806040526040516104ee3803806104ee833981016040819052610022916102de565b61002e82826000610035565b50506103fb565b61003e83610061565b60008251118061004b5750805b1561005c5761005a83836100a1565b505b505050565b61006a816100cd565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606100c683836040518060600160405280602781526020016104c760279139610180565b9392505050565b6001600160a01b0381163b61013f5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080856001600160a01b03168560405161019d91906103ac565b600060405180830381855af49150503d80600081146101d8576040519150601f19603f3d011682016040523d82523d6000602084013e6101dd565b606091505b5090925090506101ef868383876101f9565b9695505050505050565b60608315610268578251600003610261576001600160a01b0385163b6102615760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610136565b5081610272565b610272838361027a565b949350505050565b81511561028a5781518083602001fd5b8060405162461bcd60e51b815260040161013691906103c8565b634e487b7160e01b600052604160045260246000fd5b60005b838110156102d55781810151838201526020016102bd565b50506000910152565b600080604083850312156102f157600080fd5b82516001600160a01b038116811461030857600080fd5b60208401519092506001600160401b038082111561032557600080fd5b818501915085601f83011261033957600080fd5b81518181111561034b5761034b6102a4565b604051601f8201601f19908116603f01168101908382118183101715610373576103736102a4565b8160405282815288602084870101111561038c57600080fd5b61039d8360208301602088016102ba565b80955050505050509250929050565b600082516103be8184602087016102ba565b9190910192915050565b60208152600082518060208401526103e78160408501602087016102ba565b601f01601f19169190910160400192915050565b60be806104096000396000f3fe608060405236601057600e6013565b005b600e5b601f601b6021565b6065565b565b600060607f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b905090565b3660008037600080366000845af43d6000803e8080156083573d6000f35b3d6000fdfea26469706673582212204ff6082523a0497cb45cb43d3d639dba31b196359b7f035ed946d507d89a80c764736f6c63430008130033416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a26469706673582212201334739267dedd369f8417d22b0f0fcb25e5d834413080eb553d37cd46f3473464736f6c63430008130033","sourceMap":"593:3577:136:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3807:249;;;;;;;;;;-1:-1:-1;3807:249:136;;;;;:::i;:::-;;:::i;:::-;;;710:25:151;;;698:2;683:18;3807:249:136;;;;;;;;3143:195:68;;;;;;;;;;-1:-1:-1;3143:195:68;;;;;:::i;:::-;;:::i;:::-;;3657:220;;;;;;:::i;:::-;;:::i;2762:131::-;;;;;;;;;;;;;:::i;3443:208:136:-;;;;;;;;;;-1:-1:-1;3443:208:136;;;;;:::i;:::-;;:::i;2085:101:46:-;;;;;;;;;;;;;:::i;2870:222:136:-;;;;;;;;;;-1:-1:-1;2870:222:136;;;;;:::i;:::-;;:::i;2100:764::-;;;;;;;;;;-1:-1:-1;2100:764:136;;;;;:::i;:::-;;:::i;:::-;;;-1:-1:-1;;;;;5932:55:151;;;5914:74;;5902:2;5887:18;2100:764:136;5768:226:151;1462:85:46;;;;;;;;;;-1:-1:-1;1534:6:46;;-1:-1:-1;;;;;1534:6:46;1462:85;;3098:115:136;;;;;;;;;;-1:-1:-1;3188:18:136;;-1:-1:-1;;;;;3188:18:136;3098:115;;667:20;;;;;;;;;;;;;;;;3219:218;;;;;;;;;;-1:-1:-1;3219:218:136;;;;;:::i;:::-;;:::i;749:33::-;;;;;;;;;;-1:-1:-1;749:33:136;;;;-1:-1:-1;;;;;749:33:136;;;1753:341;;;;;;;;;;-1:-1:-1;1753:341:136;;;;;:::i;:::-;;:::i;2335:198:46:-;;;;;;;;;;-1:-1:-1;2335:198:46;;;;;:::i;:::-;;:::i;3657:144:136:-;;;;;;;;;;-1:-1:-1;3657:144:136;;;;;:::i;:::-;-1:-1:-1;;;;;3761:27:136;3738:4;3761:27;;;:15;:27;;;;;:33;;;;;;3657:144;;;;6580:14:151;;6573:22;6555:41;;6543:2;6528:18;3657:144:136;6415:187:151;3807:249:136;-1:-1:-1;;;;;3906:27:136;;3882:7;3906:27;;;:15;:27;;;;;:33;;;;;3901:100;;3962:28;;;;;-1:-1:-1;;;;;5932:55:151;;3962:28:136;;;5914:74:151;5887:18;;3962:28:136;;;;;;;;3901:100;-1:-1:-1;;;;;;4018:27:136;;;;;:15;:27;;;;;:31;;3807:249::o;3143:195:68:-;-1:-1:-1;;;;;1654:6:68;1637:23;1645:4;1637:23;1629:80;;;;-1:-1:-1;;;1629:80:68;;6809:2:151;1629:80:68;;;6791:21:151;6848:2;6828:18;;;6821:30;6887:34;6867:18;;;6860:62;-1:-1:-1;;;6938:18:151;;;6931:42;6990:19;;1629:80:68;6607:408:151;1629:80:68;1751:6;-1:-1:-1;;;;;1727:30:68;:20;1030:66:64;1254:54;-1:-1:-1;;;;;1254:54:64;;1175:140;1727:20:68;-1:-1:-1;;;;;1727:30:68;;1719:87;;;;-1:-1:-1;;;1719:87:68;;7222:2:151;1719:87:68;;;7204:21:151;7261:2;7241:18;;;7234:30;7300:34;7280:18;;;7273:62;-1:-1:-1;;;7351:18:151;;;7344:42;7403:19;;1719:87:68;7020:408:151;1719:87:68;3224:36:::1;3242:17;3224;:36::i;:::-;3311:12;::::0;;3321:1:::1;3311:12:::0;;;::::1;::::0;::::1;::::0;;;3270:61:::1;::::0;3292:17;;3311:12;3270:21:::1;:61::i;:::-;3143:195:::0;:::o;3657:220::-;-1:-1:-1;;;;;1654:6:68;1637:23;1645:4;1637:23;1629:80;;;;-1:-1:-1;;;1629:80:68;;6809:2:151;1629:80:68;;;6791:21:151;6848:2;6828:18;;;6821:30;6887:34;6867:18;;;6860:62;-1:-1:-1;;;6938:18:151;;;6931:42;6990:19;;1629:80:68;6607:408:151;1629:80:68;1751:6;-1:-1:-1;;;;;1727:30:68;:20;1030:66:64;1254:54;-1:-1:-1;;;;;1254:54:64;;1175:140;1727:20:68;-1:-1:-1;;;;;1727:30:68;;1719:87;;;;-1:-1:-1;;;1719:87:68;;7222:2:151;1719:87:68;;;7204:21:151;7261:2;7241:18;;;7234:30;7300:34;7280:18;;;7273:62;-1:-1:-1;;;7351:18:151;;;7344:42;7403:19;;1719:87:68;7020:408:151;1719:87:68;3772:36:::1;3790:17;3772;:36::i;:::-;3818:52;3840:17;3859:4;3865;3818:21;:52::i;:::-;3657:220:::0;;:::o;2762:131::-;2840:7;2080:4;-1:-1:-1;;;;;2089:6:68;2072:23;;2064:92;;;;-1:-1:-1;;;2064:92:68;;7635:2:151;2064:92:68;;;7617:21:151;7674:2;7654:18;;;7647:30;7713:34;7693:18;;;7686:62;7784:26;7764:18;;;7757:54;7828:19;;2064:92:68;7433:420:151;2064:92:68;-1:-1:-1;1030:66:64::1;2762:131:68::0;:::o;3443:208:136:-;1355:13:46;:11;:13::i;:::-;-1:-1:-1;;;;;3543:27:136;::::1;;::::0;;;:15:::1;:27;::::0;;;;;;;;:33:::1;;:44:::0;;-1:-1:-1;;3543:44:136::1;::::0;::::1;;::::0;;::::1;::::0;;;3602:42;;8026:74:151;;;8116:18;;;8109:50;3602:42:136::1;::::0;7999:18:151;3602:42:136::1;;;;;;;;3443:208:::0;;:::o;2085:101:46:-;1355:13;:11;:13::i;:::-;2149:30:::1;2176:1;2149:18;:30::i;:::-;2085:101::o:0;2870:222:136:-;1355:13:46;:11;:13::i;:::-;2958:35:136::1;2977:15;2958:18;:35::i;:::-;3003:18;:36:::0;;-1:-1:-1;;3003:36:136::1;-1:-1:-1::0;;;;;3003:36:136;::::1;::::0;;::::1;::::0;;;3054:31:::1;::::0;5914:74:151;;;3054:31:136::1;::::0;5902:2:151;5887:18;3054:31:136::1;;;;;;;2870:222:::0;:::o;2100:764::-;2289:5;:7;;2226:31;;;2289:7;;;:::i;:::-;;;;-1:-1:-1;2273:13:136;;;:23;2340:4;2306:23;;;:39;2415:27;;-1:-1:-1;;2415:27:136;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2457:73:136;;2480:41;;2457:73;;2523:6;;2457:73;;;:::i;:::-;;;;-1:-1:-1;;2457:73:136;;;;;;;;;;;;;;;;;;;;;;;;;;;2377:163;;;;;:::i;:::-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;2699:43:136;;2551:39;2699:43;;;:15;:43;;;;;;;;;2751:4;2699:49;;;:56;;-1:-1:-1;;2699:56:136;;;;;;2770:44;;5914:74:151;;;2699:43:136;;-1:-1:-1;2699:43:136;;2770:44;;5887:18:151;2770:44:136;;;;;;;2839:17;2100:764;-1:-1:-1;;;2100:764:136:o;3219:218::-;1355:13:46;:11;:13::i;:::-;-1:-1:-1;;;;;3323:27:136;::::1;;::::0;;;:15:::1;:27;::::0;;;;;;;;:49;;;3387:43;;11650:74:151;;;11740:18;;11733:34;;;3387:43:136::1;::::0;11623:18:151;3387:43:136::1;11476:297:151::0;1753:341:136;3279:19:48;3302:13;;;;;;3301:14;;3347:34;;;;-1:-1:-1;3365:12:48;;3380:1;3365:12;;;;:16;3347:34;3346:108;;;-1:-1:-1;3426:4:48;1713:19:51;:23;;;3387:66:48;;-1:-1:-1;3436:12:48;;;;;:17;3387:66;3325:201;;;;-1:-1:-1;;;3325:201:48;;11980:2:151;3325:201:48;;;11962:21:151;12019:2;11999:18;;;11992:30;12058:34;12038:18;;;12031:62;12129:16;12109:18;;;12102:44;12163:19;;3325:201:48;11778:410:151;3325:201:48;3536:12;:16;;-1:-1:-1;;3536:16:48;3551:1;3536:16;;;3562:65;;;;3596:13;:20;;-1:-1:-1;;3596:20:48;;;;;3562:65;1839:16:136::1;:14;:16::i;:::-;1873:1;1865:5;:9:::0;1884:39:::1;1903:19:::0;1884:18:::1;:39::i;:::-;1933:18;:40:::0;;-1:-1:-1;;1933:40:136::1;-1:-1:-1::0;;;;;1933:40:136;::::1;::::0;;::::1;::::0;;;1988:35:::1;::::0;5914:74:151;;;1988:35:136::1;::::0;5902:2:151;5887:18;1988:35:136::1;;;;;;;3651:14:48::0;3647:99;;;3697:5;3681:21;;-1:-1:-1;;3681:21:48;;;3721:14;;-1:-1:-1;12345:36:151;;3721:14:48;;12333:2:151;12318:18;3721:14:48;12193:194:151;2335:198:46;1355:13;:11;:13::i;:::-;-1:-1:-1;;;;;2423:22:46;::::1;2415:73;;;::::0;-1:-1:-1;;;2415:73:46;;12594:2:151;2415:73:46::1;::::0;::::1;12576:21:151::0;12633:2;12613:18;;;12606:30;12672:34;12652:18;;;12645:62;12743:8;12723:18;;;12716:36;12769:19;;2415:73:46::1;12392:402:151::0;2415:73:46::1;2498:28;2517:8;2498:18;:28::i;4062:74:136:-:0;1355:13:46;:11;:13::i;2494:922:64:-;689:66;2910:48;;;2906:504;;;2974:37;2993:17;2974:18;:37::i;:::-;2494:922;;;:::o;2906:504::-;3064:17;-1:-1:-1;;;;;3046:50:64;;:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3046:52:64;;;;;;;;-1:-1:-1;;3046:52:64;;;;;;;;;;;;:::i;:::-;;;3042:291;;3262:56;;-1:-1:-1;;;3262:56:64;;13190:2:151;3262:56:64;;;13172:21:151;13229:2;13209:18;;;13202:30;13268:34;13248:18;;;13241:62;13339:16;13319:18;;;13312:44;13373:19;;3262:56:64;12988:410:151;3042:291:64;1030:66;3148:28;;3140:82;;;;-1:-1:-1;;;3140:82:64;;13605:2:151;3140:82:64;;;13587:21:151;13644:2;13624:18;;;13617:30;13683:34;13663:18;;;13656:62;13754:11;13734:18;;;13727:39;13783:19;;3140:82:64;13403:405:151;3140:82:64;3099:138;3346:53;3364:17;3383:4;3389:9;3346:17;:53::i;1620:130:46:-;1534:6;;-1:-1:-1;;;;;1534:6:46;965:10:52;1683:23:46;1675:68;;;;-1:-1:-1;;;1675:68:46;;14015:2:151;1675:68:46;;;13997:21:151;;;14034:18;;;14027:30;14093:34;14073:18;;;14066:62;14145:18;;1675:68:46;13813:356:151;2687:187:46;2779:6;;;-1:-1:-1;;;;;2795:17:46;;;-1:-1:-1;;2795:17:46;;;;;;;2827:40;;2779:6;;;2795:17;2779:6;;2827:40;;2760:16;;2827:40;2750:124;2687:187;:::o;1614:133:136:-;-1:-1:-1;;;;;1688:22:136;;1684:56;;1719:21;;;;;;;;;;;;;;1024:95:46;5374:13:48;;;;;;;5366:69;;;;-1:-1:-1;;;5366:69:48;;14376:2:151;5366:69:48;;;14358:21:151;14415:2;14395:18;;;14388:30;14454:34;14434:18;;;14427:62;-1:-1:-1;;;14505:18:151;;;14498:41;14556:19;;5366:69:48;14174:407:151;5366:69:48;1086:26:46::1;:24;:26::i;1406:259:64:-:0;-1:-1:-1;;;;;1713:19:51;;;1479:95:64;;;;-1:-1:-1;;;1479:95:64;;14788:2:151;1479:95:64;;;14770:21:151;14827:2;14807:18;;;14800:30;14866:34;14846:18;;;14839:62;14937:15;14917:18;;;14910:43;14970:19;;1479:95:64;14586:409:151;1479:95:64;1030:66;1584:74;;-1:-1:-1;;1584:74:64;-1:-1:-1;;;;;1584:74:64;;;;;;;;;;1406:259::o;2057:265::-;2165:29;2176:17;2165:10;:29::i;:::-;2222:1;2208:4;:11;:15;:28;;;;2227:9;2208:28;2204:112;;;2252:53;2281:17;2300:4;2252:28;:53::i;:::-;;2057:265;;;:::o;1125:111:46:-;5374:13:48;;;;;;;5366:69;;;;-1:-1:-1;;;5366:69:48;;14376:2:151;5366:69:48;;;14358:21:151;14415:2;14395:18;;;14388:30;14454:34;14434:18;;;14427:62;-1:-1:-1;;;14505:18:151;;;14498:41;14556:19;;5366:69:48;14174:407:151;5366:69:48;1197:32:46::1;965:10:52::0;1197:18:46::1;:32::i;1771:152:64:-:0;1837:37;1856:17;1837:18;:37::i;:::-;1889:27;;-1:-1:-1;;;;;1889:27:64;;;;;;;;1771:152;:::o;6674:198:80:-;6757:12;6788:77;6809:6;6817:4;6788:77;;;;;;;;;;;;;;;;;:20;:77::i;:::-;6781:84;6674:198;-1:-1:-1;;;6674:198:80:o;7058:325::-;7199:12;7224;7238:23;7265:6;-1:-1:-1;;;;;7265:19:80;7285:4;7265:25;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7223:67;;;;7307:69;7334:6;7342:7;7351:10;7363:12;7307:26;:69::i;:::-;7300:76;7058:325;-1:-1:-1;;;;;;7058:325:80:o;7671:628::-;7851:12;7879:7;7875:418;;;7906:10;:17;7927:1;7906:22;7902:286;;-1:-1:-1;;;;;1713:19:51;;;8113:60:80;;;;-1:-1:-1;;;8113:60:80;;15494:2:151;8113:60:80;;;15476:21:151;15533:2;15513:18;;;15506:30;15572:31;15552:18;;;15545:59;15621:18;;8113:60:80;15292:353:151;8113:60:80;-1:-1:-1;8208:10:80;8201:17;;7875:418;8249:33;8257:10;8269:12;8249:7;:33::i;:::-;7671:628;;;;;;:::o;8821:540::-;8980:17;;:21;8976:379;;9208:10;9202:17;9264:15;9251:10;9247:2;9243:19;9236:44;8976:379;9331:12;9324:20;;-1:-1:-1;;;9324:20:80;;;;;;;;:::i;-1:-1:-1:-;;;;;;;;:::o;:::-;;;;;;;;:::o;14:154:151:-;-1:-1:-1;;;;;93:5:151;89:54;82:5;79:65;69:93;;158:1;155;148:12;173:134;241:20;;270:31;241:20;270:31;:::i;:::-;173:134;;;:::o;312:247::-;371:6;424:2;412:9;403:7;399:23;395:32;392:52;;;440:1;437;430:12;392:52;479:9;466:23;498:31;523:5;498:31;:::i;746:184::-;-1:-1:-1;;;795:1:151;788:88;895:4;892:1;885:15;919:4;916:1;909:15;935:250;1002:2;996:9;1044:6;1032:19;;1081:18;1066:34;;1102:22;;;1063:62;1060:88;;;1128:18;;:::i;:::-;1164:2;1157:22;935:250;:::o;1190:631::-;1254:5;1284:18;1325:2;1317:6;1314:14;1311:40;;;1331:18;;:::i;:::-;1406:2;1400:9;1374:2;1460:15;;-1:-1:-1;;1456:24:151;;;1482:2;1452:33;1448:42;1436:55;;;1506:18;;;1526:22;;;1503:46;1500:72;;;1552:18;;:::i;:::-;1592:10;1588:2;1581:22;1621:6;1612:15;;1651:6;1643;1636:22;1691:3;1682:6;1677:3;1673:16;1670:25;1667:45;;;1708:1;1705;1698:12;1667:45;1758:6;1753:3;1746:4;1738:6;1734:17;1721:44;1813:1;1806:4;1797:6;1789;1785:19;1781:30;1774:41;;;;1190:631;;;;;:::o;1826:584::-;1903:6;1911;1964:2;1952:9;1943:7;1939:23;1935:32;1932:52;;;1980:1;1977;1970:12;1932:52;2019:9;2006:23;2038:31;2063:5;2038:31;:::i;:::-;2088:5;-1:-1:-1;2144:2:151;2129:18;;2116:32;2171:18;2160:30;;2157:50;;;2203:1;2200;2193:12;2157:50;2226:22;;2279:4;2271:13;;2267:27;-1:-1:-1;2257:55:151;;2308:1;2305;2298:12;2257:55;2331:73;2396:7;2391:2;2378:16;2373:2;2369;2365:11;2331:73;:::i;:::-;2321:83;;;1826:584;;;;;:::o;2597:160::-;2662:20;;2718:13;;2711:21;2701:32;;2691:60;;2747:1;2744;2737:12;2762:315;2827:6;2835;2888:2;2876:9;2867:7;2863:23;2859:32;2856:52;;;2904:1;2901;2894:12;2856:52;2943:9;2930:23;2962:31;2987:5;2962:31;:::i;:::-;3012:5;-1:-1:-1;3036:35:151;3067:2;3052:18;;3036:35;:::i;:::-;3026:45;;2762:315;;;;;:::o;3082:221::-;3125:5;3178:3;3171:4;3163:6;3159:17;3155:27;3145:55;;3196:1;3193;3186:12;3145:55;3218:79;3293:3;3284:6;3271:20;3264:4;3256:6;3252:17;3218:79;:::i;3308:610::-;3363:5;3411:4;3399:9;3394:3;3390:19;3386:30;3383:50;;;3429:1;3426;3419:12;3383:50;3462:4;3456:11;3506:4;3498:6;3494:17;3530:18;3598:6;3586:10;3583:22;3578:2;3566:10;3563:18;3560:46;3557:72;;;3609:18;;:::i;:::-;3651:10;3645:4;3638:24;3680:6;3671:15;;3723:9;3710:23;3702:6;3695:39;3785:2;3774:9;3770:18;3757:32;3743:46;;3812:2;3804:6;3801:14;3798:34;;;3828:1;3825;3818:12;3798:34;;3865:46;3907:3;3898:6;3887:9;3883:22;3865:46;:::i;:::-;3860:2;3852:6;3848:15;3841:71;;;3308:610;;;;:::o;3923:1708::-;4017:6;4070:2;4058:9;4049:7;4045:23;4041:32;4038:52;;;4086:1;4083;4076:12;4038:52;4126:9;4113:23;4155:18;4196:2;4188:6;4185:14;4182:34;;;4212:1;4209;4202:12;4182:34;4235:22;;;;4291:6;4273:16;;;4269:29;4266:49;;;4311:1;4308;4301:12;4266:49;4337:17;;:::i;:::-;4377:22;4396:2;4377:22;:::i;:::-;4370:5;4363:37;4432:31;4459:2;4455;4451:11;4432:31;:::i;:::-;4427:2;4420:5;4416:14;4409:55;4517:2;4513;4509:11;4496:25;4491:2;4484:5;4480:14;4473:49;4575:2;4571;4567:11;4554:25;4549:2;4542:5;4538:14;4531:49;4634:3;4630:2;4626:12;4613:26;4607:3;4600:5;4596:15;4589:51;4673:32;4700:3;4696:2;4692:12;4673:32;:::i;:::-;4667:3;4660:5;4656:15;4649:57;4739:32;4766:3;4762:2;4758:12;4739:32;:::i;:::-;4733:3;4726:5;4722:15;4715:57;4818:3;4814:2;4810:12;4797:26;4848:2;4838:8;4835:16;4832:36;;;4864:1;4861;4854:12;4832:36;4901:54;4947:7;4936:8;4932:2;4928:17;4901:54;:::i;:::-;4895:3;4888:5;4884:15;4877:79;;4975:3;5010:31;5037:2;5033;5029:11;5010:31;:::i;:::-;4994:14;;;4987:55;5061:3;5102:11;;;5089:25;5126:16;;;5123:36;;;5155:1;5152;5145:12;5123:36;5191:45;5228:7;5217:8;5213:2;5209:17;5191:45;:::i;:::-;5186:2;5179:5;5175:14;5168:69;;;5256:3;5291:28;5315:2;5311;5307:11;5291:28;:::i;:::-;5275:14;;;5268:52;5339:3;5380:11;;;5367:25;5404:16;;;5401:36;;;5433:1;5430;5423:12;5401:36;5469:45;5506:7;5495:8;5491:2;5487:17;5469:45;:::i;:::-;5464:2;5457:5;5453:14;5446:69;;;5534:3;5524:13;;5569:31;5596:2;5592;5588:11;5569:31;:::i;:::-;5553:14;;;5546:55;;;;5557:5;3923:1708;-1:-1:-1;;;;3923:1708:151:o;5999:315::-;6067:6;6075;6128:2;6116:9;6107:7;6103:23;6099:32;6096:52;;;6144:1;6141;6134:12;6096:52;6183:9;6170:23;6202:31;6227:5;6202:31;:::i;:::-;6252:5;6304:2;6289:18;;;;6276:32;;-1:-1:-1;;;5999:315:151:o;8170:289::-;8209:3;8230:17;;;8227:197;;-1:-1:-1;;;8277:1:151;8270:88;8381:4;8378:1;8371:15;8409:4;8406:1;8399:15;8227:197;-1:-1:-1;8451:1:151;8440:13;;8170:289::o;8464:250::-;8549:1;8559:113;8573:6;8570:1;8567:13;8559:113;;;8649:11;;;8643:18;8630:11;;;8623:39;8595:2;8588:10;8559:113;;;-1:-1:-1;;8706:1:151;8688:16;;8681:27;8464:250::o;8719:271::-;8761:3;8799:5;8793:12;8826:6;8821:3;8814:19;8842:76;8911:6;8904:4;8899:3;8895:14;8888:4;8881:5;8877:16;8842:76;:::i;:::-;8972:2;8951:15;-1:-1:-1;;8947:29:151;8938:39;;;;8979:4;8934:50;;8719:271;-1:-1:-1;;8719:271:151:o;8995:252::-;9082:5;9076:12;9071:3;9064:25;9046:3;9135:4;9128:5;9124:16;9118:23;9173:4;9166;9161:3;9157:14;9150:28;9194:47;9235:4;9230:3;9226:14;9212:12;9194:47;:::i;9252:1876::-;9451:2;9440:9;9433:21;9463:53;9512:2;9501:9;9497:18;9488:6;9482:13;-1:-1:-1;;;;;5702:54:151;5690:67;;5636:127;9463:53;9414:4;9563:2;9555:6;9551:15;9545:22;9576:52;9624:2;9613:9;9609:18;9595:12;-1:-1:-1;;;;;5702:54:151;5690:67;;5636:127;9576:52;;9682:2;9674:6;9670:15;9664:22;9659:2;9648:9;9644:18;9637:50;9742:2;9734:6;9730:15;9724:22;9718:3;9707:9;9703:19;9696:51;9802:3;9794:6;9790:16;9784:23;9778:3;9767:9;9763:19;9756:52;9857:3;9849:6;9845:16;9839:23;9871:55;9921:3;9910:9;9906:19;9890:14;-1:-1:-1;;;;;5702:54:151;5690:67;;5636:127;9871:55;-1:-1:-1;9975:3:151;9963:16;;9957:23;-1:-1:-1;;;;;5702:54:151;;10039:3;10024:19;;5690:67;9989:55;10093:3;10085:6;10081:16;10075:23;10117:6;10142:3;10181:2;10176;10165:9;10161:18;10154:30;10207:63;10265:3;10254:9;10250:19;10234:14;10207:63;:::i;:::-;10307:15;;;10301:22;10193:77;;-1:-1:-1;10342:3:151;10354:54;10389:18;;;10301:22;-1:-1:-1;;;;;5702:54:151;5690:67;;5636:127;10354:54;10457:2;10449:6;10445:15;10439:22;10417:44;;;10484:2;10480:7;10506:3;10573:2;10561:9;10553:6;10549:22;10545:31;10540:2;10529:9;10525:18;10518:59;10600:41;10634:6;10618:14;10600:41;:::i;:::-;10586:55;;10690:2;10682:6;10678:15;10672:22;10650:44;;;10713:3;10725:51;10772:2;10761:9;10757:18;10741:14;6389:13;6382:21;6370:34;;6319:91;10725:51;10825:2;10817:6;10813:15;10807:22;10785:44;;;10848:3;10915:2;10903:9;10895:6;10891:22;10887:31;10882:2;10871:9;10867:18;10860:59;10942:41;10976:6;10960:14;10942:41;:::i;:::-;10928:55;;11032:2;11024:6;11020:15;11014:22;10992:44;;;;11045:54;11095:2;11084:9;11080:18;11064:14;-1:-1:-1;;;;;5702:54:151;5690:67;;5636:127;11045:54;-1:-1:-1;11116:6:151;;9252:1876;-1:-1:-1;;;;9252:1876:151:o;11133:338::-;-1:-1:-1;;;;;11312:6:151;11308:55;11297:9;11290:74;11400:2;11395;11384:9;11380:18;11373:30;11271:4;11420:45;11461:2;11450:9;11446:18;11438:6;11420:45;:::i;12799:184::-;12869:6;12922:2;12910:9;12901:7;12897:23;12893:32;12890:52;;;12938:1;12935;12928:12;12890:52;-1:-1:-1;12961:16:151;;12799:184;-1:-1:-1;12799:184:151:o;15000:287::-;15129:3;15167:6;15161:13;15183:66;15242:6;15237:3;15230:4;15222:6;15218:17;15183:66;:::i;:::-;15265:16;;;;;15000:287;-1:-1:-1;;15000:287:151:o;15650:220::-;15799:2;15788:9;15781:21;15762:4;15819:45;15860:2;15849:9;15845:18;15837:6;15819:45;:::i","linkReferences":{},"immutableReferences":{"56113":[{"start":1024,"length":32},{"start":1159,"length":32},{"start":1412,"length":32},{"start":1547,"length":32},{"start":1788,"length":32}]}},"methodIdentifiers":{"createRegistry((address,address,uint256,uint256,uint256,address,address,(uint256,string),address,string,bool,string,address))":"8a16135f","gardensFeeReceiver()":"b8bed901","getCommunityValidity(address)":"f5016b5e","getGardensFeeReceiver()":"987435be","getProtocolFee(address)":"0a992e0c","initialize(address)":"c4d66de8","nonce()":"affed0e0","owner()":"8da5cb5b","proxiableUUID()":"52d1902d","renounceOwnership()":"715018a6","setCommunityValidity(address,bool)":"5a2c8ace","setProtocolFee(address,uint256)":"b5b3ca2c","setReceiverAddress(address)":"8279c7db","transferOwnership(address)":"f2fde38b","upgradeTo(address)":"3659cfe6","upgradeToAndCall(address,bytes)":"4f1ef286"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"AddressCannotBeZero\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_community\",\"type\":\"address\"}],\"name\":\"CommunityInvalid\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"previousAdmin\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"newAdmin\",\"type\":\"address\"}],\"name\":\"AdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"beacon\",\"type\":\"address\"}],\"name\":\"BeaconUpgraded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_registryCommunity\",\"type\":\"address\"}],\"name\":\"CommunityCreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_community\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"_isValid\",\"type\":\"bool\"}],\"name\":\"CommunityValiditySet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_newFeeReceiver\",\"type\":\"address\"}],\"name\":\"FeeReceiverSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"version\",\"type\":\"uint8\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_community\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_newProtocolFee\",\"type\":\"uint256\"}],\"name\":\"ProtocolFeeSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"Upgraded\",\"type\":\"event\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"_allo\",\"type\":\"address\"},{\"internalType\":\"contract IERC20\",\"name\":\"_gardenToken\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_registerStakeAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_communityFee\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_nonce\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_registryFactory\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_feeReceiver\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"_metadata\",\"type\":\"tuple\"},{\"internalType\":\"address payable\",\"name\":\"_councilSafe\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"_communityName\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"_isKickEnabled\",\"type\":\"bool\"},{\"internalType\":\"string\",\"name\":\"covenantIpfsHash\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"_strategyTemplate\",\"type\":\"address\"}],\"internalType\":\"struct RegistryCommunityV0_0.InitializeParams\",\"name\":\"params\",\"type\":\"tuple\"}],\"name\":\"createRegistry\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"_createdRegistryAddress\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"gardensFeeReceiver\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_community\",\"type\":\"address\"}],\"name\":\"getCommunityValidity\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getGardensFeeReceiver\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_community\",\"type\":\"address\"}],\"name\":\"getProtocolFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_gardensFeeReceiver\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nonce\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proxiableUUID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_community\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"_isValid\",\"type\":\"bool\"}],\"name\":\"setCommunityValidity\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_community\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_newProtocolFee\",\"type\":\"uint256\"}],\"name\":\"setProtocolFee\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_newFeeReceiver\",\"type\":\"address\"}],\"name\":\"setReceiverAddress\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"}],\"name\":\"upgradeTo\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"upgradeToAndCall\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"}],\"devdoc\":{\"custom:oz-upgrades-from\":\"RegistryFactory\",\"events\":{\"AdminChanged(address,address)\":{\"details\":\"Emitted when the admin account has changed.\"},\"BeaconUpgraded(address)\":{\"details\":\"Emitted when the beacon is changed.\"},\"Initialized(uint8)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"Upgraded(address)\":{\"details\":\"Emitted when the implementation is upgraded.\"}},\"kind\":\"dev\",\"methods\":{\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"proxiableUUID()\":{\"details\":\"Implementation of the ERC1822 {proxiableUUID} function. This returns the storage slot used by the implementation. It is used to validate the implementation's compatibility when performing an upgrade. IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this function revert if invoked through a proxy. This is guaranteed by the `notDelegated` modifier.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"},\"upgradeTo(address)\":{\"custom:oz-upgrades-unsafe-allow-reachable\":\"delegatecall\",\"details\":\"Upgrade the implementation of the proxy to `newImplementation`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event.\"},\"upgradeToAndCall(address,bytes)\":{\"custom:oz-upgrades-unsafe-allow-reachable\":\"delegatecall\",\"details\":\"Upgrade the implementation of the proxy to `newImplementation`, and subsequently execute the function call encoded in `data`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"pkg/contracts/src/RegistryFactoryV0_0.sol\":\"RegistryFactoryV0_0\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1000},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":eas-proxy/=lib/allo-v2/lib/eas-proxy/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":hedgey-vesting/=lib/allo-v2/lib/hedgey-vesting/contracts/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-contracts/=lib/safe-contracts/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":superfluid-protocol-monorepo/=lib/allo-v2/lib/superfluid-protocol-monorepo/packages/solidity-semantic-money/src/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"]},\"sources\":{\"lib/allo-v2/contracts/core/interfaces/IAllo.sol\":{\"keccak256\":\"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7\",\"dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1\"]},\"lib/allo-v2/contracts/core/interfaces/IRegistry.sol\":{\"keccak256\":\"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e\",\"dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA\"]},\"lib/allo-v2/contracts/core/interfaces/IStrategy.sol\":{\"keccak256\":\"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487\",\"dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH\"]},\"lib/allo-v2/contracts/core/libraries/Clone.sol\":{\"keccak256\":\"0xc348b24b7d8a98c4faa5f2aa37ce9264a74f81dbdef1a9bae2eaa125585c3c7e\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://1335b3ec59ec7e3d12ea7c90b3aa56f4c26e0d44d342f54412933be9d4f16067\",\"dweb:/ipfs/QmXNFo2wCyq9cpvfgbdHvBUQecThFSEoUnMuZNS6WinDrr\"]},\"lib/allo-v2/contracts/core/libraries/Errors.sol\":{\"keccak256\":\"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf\",\"dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA\"]},\"lib/allo-v2/contracts/core/libraries/Metadata.sol\":{\"keccak256\":\"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c\",\"dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn\"]},\"lib/allo-v2/contracts/core/libraries/Native.sol\":{\"keccak256\":\"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a\",\"dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv\"]},\"lib/allo-v2/contracts/core/libraries/Transfer.sol\":{\"keccak256\":\"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11\",\"dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5\"]},\"lib/allo-v2/contracts/strategies/BaseStrategy.sol\":{\"keccak256\":\"0x3f1382dc6c35d50545e327e7ed6016f2bd752357d446bd698014073f0b812873\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://99500abcd617fa43f6dde49e2c7802821ceaf54a65a8055cbbf2695ecd107974\",\"dweb:/ipfs/QmUktZkWuu3GCMEijY1fqt7NMy7BzpTvEtcmpB1fuoa7zt\"]},\"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol\":{\"keccak256\":\"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298\",\"dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x51fec240abc6dd23e0ee6de7c65106379aef732cad6c4ae5df6b55db886e7456\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://a47d9c0a9876e7f9e411843b994a741d4ac1a87d8459ffc3c56359de691ddc1a\",\"dweb:/ipfs/QmQiFN9b3Y2azrD1RBfAKEuAG3YeJkMzA2DGzgEE9kMeEK\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0xc8710577334e8d0799ae2b2a731b1924a7bddd64319da9787ddd2dc69bdd1ce5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b83b7afa4d2372da3ba5402fb10860a105c35d79812c60dc61007be2afc17618\",\"dweb:/ipfs/QmYX9xPmbNVSKXrepKiUZiG5oL3SdzFp9a4kqspxX1sEUx\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol\":{\"keccak256\":\"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c\",\"dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol\":{\"keccak256\":\"0x359a1ab89b46b9aba7bcad3fb651924baf4893d15153049b9976b0fc9be1358e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e89863421b4014b96a4b62be76eb3b9f0a8afe9684664a6f389124c0964bfe5c\",\"dweb:/ipfs/Qmbk7xr1irpDuU1WdxXgxELBXxs61rHhCgod7heVcvFx16\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol\":{\"keccak256\":\"0x3d98edeb5d5be8410fca707b73dabe7544d1dd11e35b73dd907c473fe43cc3ae\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1a3fa9fc3aec149b8ad0dd8895277ab11e9244e9d2b7adc8404b22de974fc964\",\"dweb:/ipfs/QmRggzxs1WjuvGJSAKb2Nw5r7P3VDMefCWKTbkNPKRkv2j\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e\",\"dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol\":{\"keccak256\":\"0x2025ccf05f6f1f2fd4e078e552836f525a1864e3854ed555047cd732320ab29b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d27f4b23c2dee42394aebaf42bf238285230f472dfd3282a39c3f000ec28214f\",\"dweb:/ipfs/QmQa3DnvccwdWJeWrjgXPnFMTWbzWQWR39hVqC7eEwo2PC\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b\",\"dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95\",\"dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol\":{\"keccak256\":\"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a\",\"dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0xd90d7723512df65ae417adaf0801042940f0dabd60039ceeaffe34aa5b238da1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1b13befeb3413749292f9fb229de1c7a509a5ce2c8047d9094fc004ca9d3af89\",\"dweb:/ipfs/QmRzJ2hZSwRtMejHUZAYTPRKgZsnfb112Fno9Jf3EiDfwA\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol\":{\"keccak256\":\"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758\",\"dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol\":{\"keccak256\":\"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91\",\"dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol\":{\"keccak256\":\"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4\",\"dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z\"]},\"lib/openzeppelin-contracts/contracts/access/AccessControl.sol\":{\"keccak256\":\"0x0dd6e52cb394d7f5abe5dca2d4908a6be40417914720932de757de34a99ab87f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://dc117ce50ea746cab6b97ed1a1facee17a715ae0cb95d67b943dacbaf15176fb\",\"dweb:/ipfs/QmYRZ2UGNYwsHwfNu7Wjr8L2j1LBZ1mKv6NvbwgterYMXc\"]},\"lib/openzeppelin-contracts/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0x59ce320a585d7e1f163cd70390a0ef2ff9cec832e2aa544293a00692465a7a57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb2c137c343ef0c4c7ce7b18c1d108afdc9d315a04e48307288d2d05adcbde3a\",\"dweb:/ipfs/QmUxhrAQM3MM3FF5j7AtcXLXguWCJBHJ14BRdVtuoQc8Fh\"]},\"lib/openzeppelin-contracts/contracts/access/Ownable.sol\":{\"keccak256\":\"0xba43b97fba0d32eb4254f6a5a297b39a19a247082a02d6e69349e071e2946218\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fc980984badf3984b6303b377711220e067722bbd6a135b24669ff5069ef9f32\",\"dweb:/ipfs/QmPHXMSXj99XjSVM21YsY6aNtLLjLVXDbyN76J5HQYvvrz\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol\":{\"keccak256\":\"0x3cbef5ebc24b415252e2f8c0c9254555d30d9f085603b4b80d9b5ed20ab87e90\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e8fa670c3bdce78e642cc6ae11c4cb38b133499cdce5e1990a9979d424703263\",\"dweb:/ipfs/QmVxeCUk4jL2pXQyhsoNJwyU874wRufS2WvGe8TgPKPqhE\"]},\"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol\":{\"keccak256\":\"0x1d4afe6cb24200cc4545eed814ecf5847277dfe5d613a1707aad5fceecebcfff\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://383fb7b8181016ac5ccf07bc9cdb7c1b5045ea36e2cc4df52bcbf20396fc7688\",\"dweb:/ipfs/QmYJ7Cg4WmE3rR8KGQxjUCXFfTH6TcwZ2Z1f6tPrq7jHFr\"]},\"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol\":{\"keccak256\":\"0xa2b22da3032e50b55f95ec1d13336102d675f341167aa76db571ef7f8bb7975d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96b6d77a20bebd4eb06b801d3d020c7e82be13bd535cb0d0a6b7181c51dab5d5\",\"dweb:/ipfs/QmPUR9Cv9jNFdQX6PtBfaBW1ZCnKwiu65R2VD5kbdanDyn\"]},\"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Upgrade.sol\":{\"keccak256\":\"0x3b21ae06bf5957f73fa16754b0669c77b7abd8ba6c072d35c3281d446fdb86c2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2db8e18505e86e02526847005d7287a33e397ed7fb9eaba3fd4a4a197add16e2\",\"dweb:/ipfs/QmW9BSuKTzHWHBNSHF4L8XfVuU1uJrP2vLg84YtBd8mL82\"]},\"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol\":{\"keccak256\":\"0xc130fe33f1b2132158531a87734153293f6d07bc263ff4ac90e85da9c82c0e27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8831721b6f4cc26534d190f9f1631c3f59c9ff38efdd911f85e0882b8e360472\",\"dweb:/ipfs/QmQZnLErZNStirSQ13ZNWQgvEYUtGE5tXYwn4QUPaVUfPN\"]},\"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0xd50a3421ac379ccb1be435fa646d66a65c986b4924f0849839f08692f39dde61\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ada1e030c0231db8d143b44ce92b4d1158eedb087880cad6d8cc7bd7ebe7b354\",\"dweb:/ipfs/QmWZ2NHZweRpz1U9GF6R1h65ri76dnX7fNxLBeM2t5N5Ce\"]},\"lib/openzeppelin-contracts/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x3d6069be9b4c01fb81840fb9c2c4dc58dd6a6a4aafaa2c6837de8699574d84c6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://720d6bb56ea0c4ef781c0bd65c5bd0541f5a46100163b2587170f97658d2deed\",\"dweb:/ipfs/QmTS2biLVPrv8CeeXCaKmkFxonMiRvc1LxiYBRYDAJHQUS\"]},\"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol\":{\"keccak256\":\"0xc6619957bcc6641fe8984bfaf9ff11a9e4b97d8149c0495f608f9a2416d7c5cf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://543be67f7fa43b1b932637c1c7f12035f0f4b0f7ee2bd3c33841186f79c165c1\",\"dweb:/ipfs/QmSBPM2UVKbmJqWfD9i6hSiqbaE8TV4TSqfuiivziRRLKM\"]},\"lib/openzeppelin-contracts/contracts/security/ReentrancyGuard.sol\":{\"keccak256\":\"0xa535a5df777d44e945dd24aa43a11e44b024140fc340ad0dfe42acf4002aade1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://41319e7f621f2dc3733511332c4fd032f8e32ad2aa7fd6f665c19741d9941a34\",\"dweb:/ipfs/QmcYR3bd862GD1Bc7jwrU9bGxrhUu5na1oP964bDCu2id1\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15\",\"dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5\",\"dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd\",\"dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol\":{\"keccak256\":\"0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a\",\"dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0x909d608c2db6eb165ca178c81289a07ed2e118e444d0025b2a85c97d0b44a4fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://656cda26512ddd7373c2d5551c8fae759fc30f05b10f0fc2e738e9274199dbd4\",\"dweb:/ipfs/QmTSArSzQRFbQmHgq7U1PZXnsDFhvDZhKVu9CzMG4yo6Lx\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xf09e68aa0dc6722a25bc46490e8d48ed864466d17313b8a0b254c36b54e49899\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e26daf81e2252dc1fe1ce0e4b55c2eb7c6d1ee84ae6558d1a9554432ea1d32da\",\"dweb:/ipfs/Qmb1UANWiWq5pCKbmHSu772hd4nt374dVaghGmwSVNuk8Q\"]},\"lib/openzeppelin-contracts/contracts/utils/Strings.sol\":{\"keccak256\":\"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f\",\"dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol\":{\"keccak256\":\"0x5a08ad61f4e82b8a3323562661a86fb10b10190848073fdc13d4ac43710ffba5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6f7bb74cf88fd88daa34e118bc6e363381d05044f34f391d39a10c0c9dac3ebd\",\"dweb:/ipfs/QmNbQ3v8v4zuDtg7VeLAbdhAm3tCzUodNoDZZ8ekmCHWZX\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]},\"lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/src/strings.sol\":{\"keccak256\":\"0x42cad11a7033f2fe05dd68611d2304407a620ac985b91edf29d5868cfe196223\",\"urls\":[\"bzz-raw://3cbc2333234e1f00eab5e57c4bcaf5115661e5e066a17c70af587a0a96f24669\",\"dweb:/ipfs/QmPHvStqcvZL46LW5N2ExTwAaqNhRCcmAX66aR6oE1WDar\"]},\"lib/openzeppelin-foundry-upgrades/src/Defender.sol\":{\"keccak256\":\"0x2114e4d70d53b36e8cec54ba11ff78d9f38a466ec3504c76c7f26101a7cff37f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://58f4d9bc58646e7631b263cdb8ef260e6818e9f716036d81d1c18218c9557a23\",\"dweb:/ipfs/QmS18L4R4gPtay9eQBcR28DnwmBkGSWsiCFwm2tXc3BkHL\"]},\"lib/openzeppelin-foundry-upgrades/src/LegacyUpgrades.sol\":{\"keccak256\":\"0x8436719f73c76efadaa16cd719d088f698ea3591595dfdf2c15fd66f3e203197\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ac8d0e55defe124adcc3845348602d6528b00b7dc5f7abf9e1b245d0cea9b55e\",\"dweb:/ipfs/QmaPBoG89Bd2btJZW5kjXx7zXo6KhAdeTuMq5xo431M8xq\"]},\"lib/openzeppelin-foundry-upgrades/src/Options.sol\":{\"keccak256\":\"0xa5414683d6b219b28e75ecaab3d00a305dfaf4d970389a88992275c8072ce8ac\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1dbfd566ba318f2b740159c28e4511c84c9d76fcc293ae17c9b1a87b3ea16c9\",\"dweb:/ipfs/QmcyxPoeBdzA9iHEgd76xKhaQ8HKfpV4owdSv6127MmveT\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Core.sol\":{\"keccak256\":\"0x37073df20d2b5fbb0a873e6b2dd76c23e23455d1c2d2ba57d2f0998201a4251d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://79d507647ea48d93371341684cf4199d55ed799db9d3489bc016f53990d2ff7c\",\"dweb:/ipfs/QmQWgXiYcPcwNcrkTHb72WtHd4xPcXfRUMfBrhkDHgr2ut\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/DefenderDeploy.sol\":{\"keccak256\":\"0x868ffdaf5d185fee103fc4581385392b47c209a5cfd2aec01f0307dbc0101d73\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://76e51bf69a4d0b5d1d9cfa7efa442bdcf9d713966563432ef8fdd00ec959a25e\",\"dweb:/ipfs/QmTHkdvMnqmEvus7zbmHhPkWk3fM9SW2Jq8gnyBLwVJtxG\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Utils.sol\":{\"keccak256\":\"0x4de002af810f6a5fe26a6381e0ead3331735bd0059434a22df75e17c177b5f87\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af32ff07f606e530a53030db141a75af144cfe065a6543939d412018c6159540\",\"dweb:/ipfs/QmbfTB92Zd8VQHW61g9dx1CvGgSL5SCoZDLrvJfnR7Ctio\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Versions.sol\":{\"keccak256\":\"0xf1a1441c18a296853509e9b1d18be794ed3de836caea49d6948b5e9ac566e8c6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6f3463514235bd875ecacf45f95cac64aa650dd38d05c15fe1f4203b6b5733bd\",\"dweb:/ipfs/Qmcbhmw9NPkG8MqiVsQ4qUupeQFCRgyBDKuoUwohwa8EP3\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IProxyAdmin.sol\":{\"keccak256\":\"0xf5e514595089f8959da130507086e7388602a71ce60575d141e7d892dfbddbfc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9b41366e2823ccc8cb42304496d761b3df80946d17384634a61afd7139495c91\",\"dweb:/ipfs/QmZE2nRMxax1NPj63ifemKdScGJzKNWi7BCGudjFLsUz1y\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableBeacon.sol\":{\"keccak256\":\"0xa8d7bffdd26eb763e459650c83f247b54af79800c2df52ad05878f238fc1c2f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ed47f1e53e5eb7d48fed60a414755641fca8fa0e713fd503b2597227da78a2f\",\"dweb:/ipfs/QmQr8A5wddHdhQNauFShXxRkPcuVVpVsYpq846WhmFC8Tv\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableProxy.sol\":{\"keccak256\":\"0x781b564b90bba0c0e8e12fb66b1c910f42d369db469f2e88592b4cff29de99a5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://45fcab02a43fde934445b88e905aba3f58a70b75dd6ee6eb86a3d593424aeb03\",\"dweb:/ipfs/QmXmhAgrctaYUDLoTRgUjwD4deoXu1E2QT1kftVGcVa56j\"]},\"pkg/contracts/src/BaseStrategyUpgradeable.sol\":{\"keccak256\":\"0xe059f9e1a262a4713e230a6025c3356681bb5f3c8013b87bc579bae93aa66c20\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://37e879664b08005b9544457cf89bce77e38b6a25639566df7366b9e5968c815e\",\"dweb:/ipfs/QmYgNRqZfYUPbWgcHUHghTcpqjVmT9v4HfkfPdEF64fYe5\"]},\"pkg/contracts/src/CVStrategy.sol\":{\"keccak256\":\"0x132bcf17470960e380d841159d9389985d609aaae1c9a657c78902f7871da957\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://84e905bf392579b44f33fff8586431b940e110b2210854cf487321cc92061705\",\"dweb:/ipfs/QmQpvszYu8RbrXmUFLifSodQzV8LAqazk1fzXNARGc5sBT\"]},\"pkg/contracts/src/CVStrategyV0_0.sol\":{\"keccak256\":\"0x79d01b399c8d735923dfa26b8dacba6200a861202dd6fb1c7711241285439d2d\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://e7ea0014e25a729d6d688620658df81a179a8c2380ae0bc4c78668cd486adb04\",\"dweb:/ipfs/QmdPM8JpFXeqBxQgkRzM1inzCT2rkRxnpoSrFk8DauDpNf\"]},\"pkg/contracts/src/ISybilScorer.sol\":{\"keccak256\":\"0x0e25fbb8497ac3c969d80c9032362d45e56c0a45dc9ba3dff6a8a704571f38ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0dff90ebae6e7131a5300fcaf525bc2ab0ae90fcd13f277d7b7b6939eeb8b7eb\",\"dweb:/ipfs/QmYGkYqpUVrBWoNY6f3CtwrrVQFWSvnJfpu68t95f6AkBY\"]},\"pkg/contracts/src/RegistryCommunity.sol\":{\"keccak256\":\"0xc735f4d2635149f2db9bff291da56e08c3c312d9eb1b767b8a1e3e51584d5734\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://247b33b78abface6a7e2da38174386de9b543f6a27e8340e26d854bff57184a3\",\"dweb:/ipfs/QmedNdqkqeboGzz9w868uGf7KnXUaYZe6i1YcdUPPkJnnf\"]},\"pkg/contracts/src/RegistryCommunityV0_0.sol\":{\"keccak256\":\"0x6525c857f7baff606e87bbc2878f3606923997a444eb500aa15018c676c972a9\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://89d2af9f470c8d7431ff6b1981b7bf46520f719d68da38ab3ca065496a6297d8\",\"dweb:/ipfs/QmceJHX57HbnBXVfmhtRPmnApUQy5QSWTybgq6g37vCxEN\"]},\"pkg/contracts/src/RegistryFactory.sol\":{\"keccak256\":\"0x888b7f5eb1079f90ccfa0b41d8a970bffd8d4d469f9b31917a58279b358dbda5\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://af25fd783de00adf01d1c7caa572801fed0d474306a43b862535b08e65ec10c6\",\"dweb:/ipfs/Qmeb2nEaMQLV86y1CYAAV2c6BYpBDTbpLuC1SigeNjdqLo\"]},\"pkg/contracts/src/RegistryFactoryV0_0.sol\":{\"keccak256\":\"0xba255a19807591d347479f281f2f226fc5b1c9101af880092623292f9db9a319\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://a43d8b5a55c35b898550c702dec70d27f2b0769f44b8cf31ca595ae733f07fab\",\"dweb:/ipfs/QmZpbNzgzF6ADhQmEBnPjLChX2KEV6EFWogk4JX2HhsvYL\"]},\"pkg/contracts/src/interfaces/FAllo.sol\":{\"keccak256\":\"0x32f38cb4400a07a99ae68a9beb91e5649886487172fd50561da6763464efc437\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://cb4f0cee2f3fbede7be5e8e1d7ee8034086359cd07b9dab49c4a991388e5c458\",\"dweb:/ipfs/QmS26kA8cZ9shWwxcbF17Kes8L7Jgw85EQVydDmwb34mjM\"]},\"pkg/contracts/src/interfaces/ISafe.sol\":{\"keccak256\":\"0x878a210809bb684c42157a10f3f90350a67d0a4863f130499942b06f0f2c9143\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://fa2d71bd427c3415e98a2ee15ff673f3cc61c17f14d7087c5eedc83b55f6b0ef\",\"dweb:/ipfs/QmesVSmJQQzi6ys1cvhQFCJyDXchb736mT5bXks4Yp6Cbj\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[],"type":"error","name":"AddressCannotBeZero"},{"inputs":[{"internalType":"address","name":"_community","type":"address"}],"type":"error","name":"CommunityInvalid"},{"inputs":[{"internalType":"address","name":"previousAdmin","type":"address","indexed":false},{"internalType":"address","name":"newAdmin","type":"address","indexed":false}],"type":"event","name":"AdminChanged","anonymous":false},{"inputs":[{"internalType":"address","name":"beacon","type":"address","indexed":true}],"type":"event","name":"BeaconUpgraded","anonymous":false},{"inputs":[{"internalType":"address","name":"_registryCommunity","type":"address","indexed":false}],"type":"event","name":"CommunityCreated","anonymous":false},{"inputs":[{"internalType":"address","name":"_community","type":"address","indexed":false},{"internalType":"bool","name":"_isValid","type":"bool","indexed":false}],"type":"event","name":"CommunityValiditySet","anonymous":false},{"inputs":[{"internalType":"address","name":"_newFeeReceiver","type":"address","indexed":false}],"type":"event","name":"FeeReceiverSet","anonymous":false},{"inputs":[{"internalType":"uint8","name":"version","type":"uint8","indexed":false}],"type":"event","name":"Initialized","anonymous":false},{"inputs":[{"internalType":"address","name":"previousOwner","type":"address","indexed":true},{"internalType":"address","name":"newOwner","type":"address","indexed":true}],"type":"event","name":"OwnershipTransferred","anonymous":false},{"inputs":[{"internalType":"address","name":"_community","type":"address","indexed":false},{"internalType":"uint256","name":"_newProtocolFee","type":"uint256","indexed":false}],"type":"event","name":"ProtocolFeeSet","anonymous":false},{"inputs":[{"internalType":"address","name":"implementation","type":"address","indexed":true}],"type":"event","name":"Upgraded","anonymous":false},{"inputs":[{"internalType":"struct RegistryCommunityV0_0.InitializeParams","name":"params","type":"tuple","components":[{"internalType":"address","name":"_allo","type":"address"},{"internalType":"contract IERC20","name":"_gardenToken","type":"address"},{"internalType":"uint256","name":"_registerStakeAmount","type":"uint256"},{"internalType":"uint256","name":"_communityFee","type":"uint256"},{"internalType":"uint256","name":"_nonce","type":"uint256"},{"internalType":"address","name":"_registryFactory","type":"address"},{"internalType":"address","name":"_feeReceiver","type":"address"},{"internalType":"struct Metadata","name":"_metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]},{"internalType":"address payable","name":"_councilSafe","type":"address"},{"internalType":"string","name":"_communityName","type":"string"},{"internalType":"bool","name":"_isKickEnabled","type":"bool"},{"internalType":"string","name":"covenantIpfsHash","type":"string"},{"internalType":"address","name":"_strategyTemplate","type":"address"}]}],"stateMutability":"nonpayable","type":"function","name":"createRegistry","outputs":[{"internalType":"address","name":"_createdRegistryAddress","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"gardensFeeReceiver","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"_community","type":"address"}],"stateMutability":"view","type":"function","name":"getCommunityValidity","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getGardensFeeReceiver","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"_community","type":"address"}],"stateMutability":"view","type":"function","name":"getProtocolFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"_gardensFeeReceiver","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[],"stateMutability":"view","type":"function","name":"nonce","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"proxiableUUID","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"renounceOwnership"},{"inputs":[{"internalType":"address","name":"_community","type":"address"},{"internalType":"bool","name":"_isValid","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"setCommunityValidity"},{"inputs":[{"internalType":"address","name":"_community","type":"address"},{"internalType":"uint256","name":"_newProtocolFee","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"setProtocolFee"},{"inputs":[{"internalType":"address","name":"_newFeeReceiver","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setReceiverAddress"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transferOwnership"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"upgradeTo"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"payable","type":"function","name":"upgradeToAndCall"}],"devdoc":{"kind":"dev","methods":{"owner()":{"details":"Returns the address of the current owner."},"proxiableUUID()":{"details":"Implementation of the ERC1822 {proxiableUUID} function. This returns the storage slot used by the implementation. It is used to validate the implementation's compatibility when performing an upgrade. IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this function revert if invoked through a proxy. This is guaranteed by the `notDelegated` modifier."},"renounceOwnership()":{"details":"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner."},"transferOwnership(address)":{"details":"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner."},"upgradeTo(address)":{"custom:oz-upgrades-unsafe-allow-reachable":"delegatecall","details":"Upgrade the implementation of the proxy to `newImplementation`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event."},"upgradeToAndCall(address,bytes)":{"custom:oz-upgrades-unsafe-allow-reachable":"delegatecall","details":"Upgrade the implementation of the proxy to `newImplementation`, and subsequently execute the function call encoded in `data`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event."}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","eas-proxy/=lib/allo-v2/lib/eas-proxy/contracts/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","hedgey-vesting/=lib/allo-v2/lib/hedgey-vesting/contracts/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-contracts/=lib/safe-contracts/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","superfluid-protocol-monorepo/=lib/allo-v2/lib/superfluid-protocol-monorepo/packages/solidity-semantic-money/src/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":1000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"pkg/contracts/src/RegistryFactoryV0_0.sol":"RegistryFactoryV0_0"},"evmVersion":"paris","libraries":{}},"sources":{"lib/allo-v2/contracts/core/interfaces/IAllo.sol":{"keccak256":"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce","urls":["bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7","dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/interfaces/IRegistry.sol":{"keccak256":"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f","urls":["bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e","dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA"],"license":"MIT"},"lib/allo-v2/contracts/core/interfaces/IStrategy.sol":{"keccak256":"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23","urls":["bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487","dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Clone.sol":{"keccak256":"0xc348b24b7d8a98c4faa5f2aa37ce9264a74f81dbdef1a9bae2eaa125585c3c7e","urls":["bzz-raw://1335b3ec59ec7e3d12ea7c90b3aa56f4c26e0d44d342f54412933be9d4f16067","dweb:/ipfs/QmXNFo2wCyq9cpvfgbdHvBUQecThFSEoUnMuZNS6WinDrr"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Errors.sol":{"keccak256":"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15","urls":["bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf","dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Metadata.sol":{"keccak256":"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44","urls":["bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c","dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Native.sol":{"keccak256":"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5","urls":["bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a","dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Transfer.sol":{"keccak256":"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286","urls":["bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11","dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/strategies/BaseStrategy.sol":{"keccak256":"0x3f1382dc6c35d50545e327e7ed6016f2bd752357d446bd698014073f0b812873","urls":["bzz-raw://99500abcd617fa43f6dde49e2c7802821ceaf54a65a8055cbbf2695ecd107974","dweb:/ipfs/QmUktZkWuu3GCMEijY1fqt7NMy7BzpTvEtcmpB1fuoa7zt"],"license":"AGPL-3.0-only"},"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol":{"keccak256":"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624","urls":["bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298","dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt"],"license":"MIT"},"lib/forge-std/src/Vm.sol":{"keccak256":"0x51fec240abc6dd23e0ee6de7c65106379aef732cad6c4ae5df6b55db886e7456","urls":["bzz-raw://a47d9c0a9876e7f9e411843b994a741d4ac1a87d8459ffc3c56359de691ddc1a","dweb:/ipfs/QmQiFN9b3Y2azrD1RBfAKEuAG3YeJkMzA2DGzgEE9kMeEK"],"license":"MIT OR Apache-2.0"},"lib/forge-std/src/console.sol":{"keccak256":"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba","urls":["bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70","dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol":{"keccak256":"0xc8710577334e8d0799ae2b2a731b1924a7bddd64319da9787ddd2dc69bdd1ce5","urls":["bzz-raw://b83b7afa4d2372da3ba5402fb10860a105c35d79812c60dc61007be2afc17618","dweb:/ipfs/QmYX9xPmbNVSKXrepKiUZiG5oL3SdzFp9a4kqspxX1sEUx"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol":{"keccak256":"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa","urls":["bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c","dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol":{"keccak256":"0x359a1ab89b46b9aba7bcad3fb651924baf4893d15153049b9976b0fc9be1358e","urls":["bzz-raw://e89863421b4014b96a4b62be76eb3b9f0a8afe9684664a6f389124c0964bfe5c","dweb:/ipfs/Qmbk7xr1irpDuU1WdxXgxELBXxs61rHhCgod7heVcvFx16"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol":{"keccak256":"0x3d98edeb5d5be8410fca707b73dabe7544d1dd11e35b73dd907c473fe43cc3ae","urls":["bzz-raw://1a3fa9fc3aec149b8ad0dd8895277ab11e9244e9d2b7adc8404b22de974fc964","dweb:/ipfs/QmRggzxs1WjuvGJSAKb2Nw5r7P3VDMefCWKTbkNPKRkv2j"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794","urls":["bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e","dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol":{"keccak256":"0x2025ccf05f6f1f2fd4e078e552836f525a1864e3854ed555047cd732320ab29b","urls":["bzz-raw://d27f4b23c2dee42394aebaf42bf238285230f472dfd3282a39c3f000ec28214f","dweb:/ipfs/QmQa3DnvccwdWJeWrjgXPnFMTWbzWQWR39hVqC7eEwo2PC"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol":{"keccak256":"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422","urls":["bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b","dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef","urls":["bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95","dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol":{"keccak256":"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb","urls":["bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a","dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol":{"keccak256":"0xd90d7723512df65ae417adaf0801042940f0dabd60039ceeaffe34aa5b238da1","urls":["bzz-raw://1b13befeb3413749292f9fb229de1c7a509a5ce2c8047d9094fc004ca9d3af89","dweb:/ipfs/QmRzJ2hZSwRtMejHUZAYTPRKgZsnfb112Fno9Jf3EiDfwA"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol":{"keccak256":"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09","urls":["bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758","dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol":{"keccak256":"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e","urls":["bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91","dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol":{"keccak256":"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a","urls":["bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4","dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/access/AccessControl.sol":{"keccak256":"0x0dd6e52cb394d7f5abe5dca2d4908a6be40417914720932de757de34a99ab87f","urls":["bzz-raw://dc117ce50ea746cab6b97ed1a1facee17a715ae0cb95d67b943dacbaf15176fb","dweb:/ipfs/QmYRZ2UGNYwsHwfNu7Wjr8L2j1LBZ1mKv6NvbwgterYMXc"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/access/IAccessControl.sol":{"keccak256":"0x59ce320a585d7e1f163cd70390a0ef2ff9cec832e2aa544293a00692465a7a57","urls":["bzz-raw://bb2c137c343ef0c4c7ce7b18c1d108afdc9d315a04e48307288d2d05adcbde3a","dweb:/ipfs/QmUxhrAQM3MM3FF5j7AtcXLXguWCJBHJ14BRdVtuoQc8Fh"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/access/Ownable.sol":{"keccak256":"0xba43b97fba0d32eb4254f6a5a297b39a19a247082a02d6e69349e071e2946218","urls":["bzz-raw://fc980984badf3984b6303b377711220e067722bbd6a135b24669ff5069ef9f32","dweb:/ipfs/QmPHXMSXj99XjSVM21YsY6aNtLLjLVXDbyN76J5HQYvvrz"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol":{"keccak256":"0x3cbef5ebc24b415252e2f8c0c9254555d30d9f085603b4b80d9b5ed20ab87e90","urls":["bzz-raw://e8fa670c3bdce78e642cc6ae11c4cb38b133499cdce5e1990a9979d424703263","dweb:/ipfs/QmVxeCUk4jL2pXQyhsoNJwyU874wRufS2WvGe8TgPKPqhE"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol":{"keccak256":"0x1d4afe6cb24200cc4545eed814ecf5847277dfe5d613a1707aad5fceecebcfff","urls":["bzz-raw://383fb7b8181016ac5ccf07bc9cdb7c1b5045ea36e2cc4df52bcbf20396fc7688","dweb:/ipfs/QmYJ7Cg4WmE3rR8KGQxjUCXFfTH6TcwZ2Z1f6tPrq7jHFr"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol":{"keccak256":"0xa2b22da3032e50b55f95ec1d13336102d675f341167aa76db571ef7f8bb7975d","urls":["bzz-raw://96b6d77a20bebd4eb06b801d3d020c7e82be13bd535cb0d0a6b7181c51dab5d5","dweb:/ipfs/QmPUR9Cv9jNFdQX6PtBfaBW1ZCnKwiu65R2VD5kbdanDyn"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Upgrade.sol":{"keccak256":"0x3b21ae06bf5957f73fa16754b0669c77b7abd8ba6c072d35c3281d446fdb86c2","urls":["bzz-raw://2db8e18505e86e02526847005d7287a33e397ed7fb9eaba3fd4a4a197add16e2","dweb:/ipfs/QmW9BSuKTzHWHBNSHF4L8XfVuU1uJrP2vLg84YtBd8mL82"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol":{"keccak256":"0xc130fe33f1b2132158531a87734153293f6d07bc263ff4ac90e85da9c82c0e27","urls":["bzz-raw://8831721b6f4cc26534d190f9f1631c3f59c9ff38efdd911f85e0882b8e360472","dweb:/ipfs/QmQZnLErZNStirSQ13ZNWQgvEYUtGE5tXYwn4QUPaVUfPN"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol":{"keccak256":"0xd50a3421ac379ccb1be435fa646d66a65c986b4924f0849839f08692f39dde61","urls":["bzz-raw://ada1e030c0231db8d143b44ce92b4d1158eedb087880cad6d8cc7bd7ebe7b354","dweb:/ipfs/QmWZ2NHZweRpz1U9GF6R1h65ri76dnX7fNxLBeM2t5N5Ce"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x3d6069be9b4c01fb81840fb9c2c4dc58dd6a6a4aafaa2c6837de8699574d84c6","urls":["bzz-raw://720d6bb56ea0c4ef781c0bd65c5bd0541f5a46100163b2587170f97658d2deed","dweb:/ipfs/QmTS2biLVPrv8CeeXCaKmkFxonMiRvc1LxiYBRYDAJHQUS"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol":{"keccak256":"0xc6619957bcc6641fe8984bfaf9ff11a9e4b97d8149c0495f608f9a2416d7c5cf","urls":["bzz-raw://543be67f7fa43b1b932637c1c7f12035f0f4b0f7ee2bd3c33841186f79c165c1","dweb:/ipfs/QmSBPM2UVKbmJqWfD9i6hSiqbaE8TV4TSqfuiivziRRLKM"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/security/ReentrancyGuard.sol":{"keccak256":"0xa535a5df777d44e945dd24aa43a11e44b024140fc340ad0dfe42acf4002aade1","urls":["bzz-raw://41319e7f621f2dc3733511332c4fd032f8e32ad2aa7fd6f665c19741d9941a34","dweb:/ipfs/QmcYR3bd862GD1Bc7jwrU9bGxrhUu5na1oP964bDCu2id1"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol":{"keccak256":"0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c","urls":["bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15","dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305","urls":["bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5","dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol":{"keccak256":"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca","urls":["bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd","dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol":{"keccak256":"0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a","urls":["bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a","dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol":{"keccak256":"0x909d608c2db6eb165ca178c81289a07ed2e118e444d0025b2a85c97d0b44a4fa","urls":["bzz-raw://656cda26512ddd7373c2d5551c8fae759fc30f05b10f0fc2e738e9274199dbd4","dweb:/ipfs/QmTSArSzQRFbQmHgq7U1PZXnsDFhvDZhKVu9CzMG4yo6Lx"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Address.sol":{"keccak256":"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa","urls":["bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931","dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Context.sol":{"keccak256":"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7","urls":["bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92","dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol":{"keccak256":"0xf09e68aa0dc6722a25bc46490e8d48ed864466d17313b8a0b254c36b54e49899","urls":["bzz-raw://e26daf81e2252dc1fe1ce0e4b55c2eb7c6d1ee84ae6558d1a9554432ea1d32da","dweb:/ipfs/Qmb1UANWiWq5pCKbmHSu772hd4nt374dVaghGmwSVNuk8Q"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Strings.sol":{"keccak256":"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0","urls":["bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f","dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol":{"keccak256":"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b","urls":["bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d","dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol":{"keccak256":"0x5a08ad61f4e82b8a3323562661a86fb10b10190848073fdc13d4ac43710ffba5","urls":["bzz-raw://6f7bb74cf88fd88daa34e118bc6e363381d05044f34f391d39a10c0c9dac3ebd","dweb:/ipfs/QmNbQ3v8v4zuDtg7VeLAbdhAm3tCzUodNoDZZ8ekmCHWZX"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/Math.sol":{"keccak256":"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3","urls":["bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c","dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol":{"keccak256":"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc","urls":["bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7","dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/src/strings.sol":{"keccak256":"0x42cad11a7033f2fe05dd68611d2304407a620ac985b91edf29d5868cfe196223","urls":["bzz-raw://3cbc2333234e1f00eab5e57c4bcaf5115661e5e066a17c70af587a0a96f24669","dweb:/ipfs/QmPHvStqcvZL46LW5N2ExTwAaqNhRCcmAX66aR6oE1WDar"],"license":null},"lib/openzeppelin-foundry-upgrades/src/Defender.sol":{"keccak256":"0x2114e4d70d53b36e8cec54ba11ff78d9f38a466ec3504c76c7f26101a7cff37f","urls":["bzz-raw://58f4d9bc58646e7631b263cdb8ef260e6818e9f716036d81d1c18218c9557a23","dweb:/ipfs/QmS18L4R4gPtay9eQBcR28DnwmBkGSWsiCFwm2tXc3BkHL"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/LegacyUpgrades.sol":{"keccak256":"0x8436719f73c76efadaa16cd719d088f698ea3591595dfdf2c15fd66f3e203197","urls":["bzz-raw://ac8d0e55defe124adcc3845348602d6528b00b7dc5f7abf9e1b245d0cea9b55e","dweb:/ipfs/QmaPBoG89Bd2btJZW5kjXx7zXo6KhAdeTuMq5xo431M8xq"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/Options.sol":{"keccak256":"0xa5414683d6b219b28e75ecaab3d00a305dfaf4d970389a88992275c8072ce8ac","urls":["bzz-raw://b1dbfd566ba318f2b740159c28e4511c84c9d76fcc293ae17c9b1a87b3ea16c9","dweb:/ipfs/QmcyxPoeBdzA9iHEgd76xKhaQ8HKfpV4owdSv6127MmveT"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Core.sol":{"keccak256":"0x37073df20d2b5fbb0a873e6b2dd76c23e23455d1c2d2ba57d2f0998201a4251d","urls":["bzz-raw://79d507647ea48d93371341684cf4199d55ed799db9d3489bc016f53990d2ff7c","dweb:/ipfs/QmQWgXiYcPcwNcrkTHb72WtHd4xPcXfRUMfBrhkDHgr2ut"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/DefenderDeploy.sol":{"keccak256":"0x868ffdaf5d185fee103fc4581385392b47c209a5cfd2aec01f0307dbc0101d73","urls":["bzz-raw://76e51bf69a4d0b5d1d9cfa7efa442bdcf9d713966563432ef8fdd00ec959a25e","dweb:/ipfs/QmTHkdvMnqmEvus7zbmHhPkWk3fM9SW2Jq8gnyBLwVJtxG"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Utils.sol":{"keccak256":"0x4de002af810f6a5fe26a6381e0ead3331735bd0059434a22df75e17c177b5f87","urls":["bzz-raw://af32ff07f606e530a53030db141a75af144cfe065a6543939d412018c6159540","dweb:/ipfs/QmbfTB92Zd8VQHW61g9dx1CvGgSL5SCoZDLrvJfnR7Ctio"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Versions.sol":{"keccak256":"0xf1a1441c18a296853509e9b1d18be794ed3de836caea49d6948b5e9ac566e8c6","urls":["bzz-raw://6f3463514235bd875ecacf45f95cac64aa650dd38d05c15fe1f4203b6b5733bd","dweb:/ipfs/Qmcbhmw9NPkG8MqiVsQ4qUupeQFCRgyBDKuoUwohwa8EP3"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IProxyAdmin.sol":{"keccak256":"0xf5e514595089f8959da130507086e7388602a71ce60575d141e7d892dfbddbfc","urls":["bzz-raw://9b41366e2823ccc8cb42304496d761b3df80946d17384634a61afd7139495c91","dweb:/ipfs/QmZE2nRMxax1NPj63ifemKdScGJzKNWi7BCGudjFLsUz1y"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableBeacon.sol":{"keccak256":"0xa8d7bffdd26eb763e459650c83f247b54af79800c2df52ad05878f238fc1c2f8","urls":["bzz-raw://8ed47f1e53e5eb7d48fed60a414755641fca8fa0e713fd503b2597227da78a2f","dweb:/ipfs/QmQr8A5wddHdhQNauFShXxRkPcuVVpVsYpq846WhmFC8Tv"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableProxy.sol":{"keccak256":"0x781b564b90bba0c0e8e12fb66b1c910f42d369db469f2e88592b4cff29de99a5","urls":["bzz-raw://45fcab02a43fde934445b88e905aba3f58a70b75dd6ee6eb86a3d593424aeb03","dweb:/ipfs/QmXmhAgrctaYUDLoTRgUjwD4deoXu1E2QT1kftVGcVa56j"],"license":"MIT"},"pkg/contracts/src/BaseStrategyUpgradeable.sol":{"keccak256":"0xe059f9e1a262a4713e230a6025c3356681bb5f3c8013b87bc579bae93aa66c20","urls":["bzz-raw://37e879664b08005b9544457cf89bce77e38b6a25639566df7366b9e5968c815e","dweb:/ipfs/QmYgNRqZfYUPbWgcHUHghTcpqjVmT9v4HfkfPdEF64fYe5"],"license":"AGPL-3.0-only"},"pkg/contracts/src/CVStrategy.sol":{"keccak256":"0x132bcf17470960e380d841159d9389985d609aaae1c9a657c78902f7871da957","urls":["bzz-raw://84e905bf392579b44f33fff8586431b940e110b2210854cf487321cc92061705","dweb:/ipfs/QmQpvszYu8RbrXmUFLifSodQzV8LAqazk1fzXNARGc5sBT"],"license":"AGPL-3.0-only"},"pkg/contracts/src/CVStrategyV0_0.sol":{"keccak256":"0x79d01b399c8d735923dfa26b8dacba6200a861202dd6fb1c7711241285439d2d","urls":["bzz-raw://e7ea0014e25a729d6d688620658df81a179a8c2380ae0bc4c78668cd486adb04","dweb:/ipfs/QmdPM8JpFXeqBxQgkRzM1inzCT2rkRxnpoSrFk8DauDpNf"],"license":"AGPL-3.0-only"},"pkg/contracts/src/ISybilScorer.sol":{"keccak256":"0x0e25fbb8497ac3c969d80c9032362d45e56c0a45dc9ba3dff6a8a704571f38ea","urls":["bzz-raw://0dff90ebae6e7131a5300fcaf525bc2ab0ae90fcd13f277d7b7b6939eeb8b7eb","dweb:/ipfs/QmYGkYqpUVrBWoNY6f3CtwrrVQFWSvnJfpu68t95f6AkBY"],"license":"MIT"},"pkg/contracts/src/RegistryCommunity.sol":{"keccak256":"0xc735f4d2635149f2db9bff291da56e08c3c312d9eb1b767b8a1e3e51584d5734","urls":["bzz-raw://247b33b78abface6a7e2da38174386de9b543f6a27e8340e26d854bff57184a3","dweb:/ipfs/QmedNdqkqeboGzz9w868uGf7KnXUaYZe6i1YcdUPPkJnnf"],"license":"AGPL-3.0-only"},"pkg/contracts/src/RegistryCommunityV0_0.sol":{"keccak256":"0x6525c857f7baff606e87bbc2878f3606923997a444eb500aa15018c676c972a9","urls":["bzz-raw://89d2af9f470c8d7431ff6b1981b7bf46520f719d68da38ab3ca065496a6297d8","dweb:/ipfs/QmceJHX57HbnBXVfmhtRPmnApUQy5QSWTybgq6g37vCxEN"],"license":"AGPL-3.0-only"},"pkg/contracts/src/RegistryFactory.sol":{"keccak256":"0x888b7f5eb1079f90ccfa0b41d8a970bffd8d4d469f9b31917a58279b358dbda5","urls":["bzz-raw://af25fd783de00adf01d1c7caa572801fed0d474306a43b862535b08e65ec10c6","dweb:/ipfs/Qmeb2nEaMQLV86y1CYAAV2c6BYpBDTbpLuC1SigeNjdqLo"],"license":"AGPL-3.0-only"},"pkg/contracts/src/RegistryFactoryV0_0.sol":{"keccak256":"0xba255a19807591d347479f281f2f226fc5b1c9101af880092623292f9db9a319","urls":["bzz-raw://a43d8b5a55c35b898550c702dec70d27f2b0769f44b8cf31ca595ae733f07fab","dweb:/ipfs/QmZpbNzgzF6ADhQmEBnPjLChX2KEV6EFWogk4JX2HhsvYL"],"license":"AGPL-3.0-only"},"pkg/contracts/src/interfaces/FAllo.sol":{"keccak256":"0x32f38cb4400a07a99ae68a9beb91e5649886487172fd50561da6763464efc437","urls":["bzz-raw://cb4f0cee2f3fbede7be5e8e1d7ee8034086359cd07b9dab49c4a991388e5c458","dweb:/ipfs/QmS26kA8cZ9shWwxcbF17Kes8L7Jgw85EQVydDmwb34mjM"],"license":"AGPL-3.0-only"},"pkg/contracts/src/interfaces/ISafe.sol":{"keccak256":"0x878a210809bb684c42157a10f3f90350a67d0a4863f130499942b06f0f2c9143","urls":["bzz-raw://fa2d71bd427c3415e98a2ee15ff673f3cc61c17f14d7087c5eedc83b55f6b0ef","dweb:/ipfs/QmesVSmJQQzi6ys1cvhQFCJyDXchb736mT5bXks4Yp6Cbj"],"license":"LGPL-3.0-only"}},"version":1},"storageLayout":{"storage":[{"astId":53029,"contract":"pkg/contracts/src/RegistryFactoryV0_0.sol:RegistryFactoryV0_0","label":"_initialized","offset":0,"slot":"0","type":"t_uint8"},{"astId":53032,"contract":"pkg/contracts/src/RegistryFactoryV0_0.sol:RegistryFactoryV0_0","label":"_initializing","offset":1,"slot":"0","type":"t_bool"},{"astId":53734,"contract":"pkg/contracts/src/RegistryFactoryV0_0.sol:RegistryFactoryV0_0","label":"__gap","offset":0,"slot":"1","type":"t_array(t_uint256)50_storage"},{"astId":52821,"contract":"pkg/contracts/src/RegistryFactoryV0_0.sol:RegistryFactoryV0_0","label":"_owner","offset":0,"slot":"51","type":"t_address"},{"astId":52941,"contract":"pkg/contracts/src/RegistryFactoryV0_0.sol:RegistryFactoryV0_0","label":"__gap","offset":0,"slot":"52","type":"t_array(t_uint256)49_storage"},{"astId":85307,"contract":"pkg/contracts/src/RegistryFactoryV0_0.sol:RegistryFactoryV0_0","label":"nonce","offset":0,"slot":"101","type":"t_uint256"},{"astId":85312,"contract":"pkg/contracts/src/RegistryFactoryV0_0.sol:RegistryFactoryV0_0","label":"communityToInfo","offset":0,"slot":"102","type":"t_mapping(t_address,t_struct(CommunityInfo)85300_storage)"},{"astId":85314,"contract":"pkg/contracts/src/RegistryFactoryV0_0.sol:RegistryFactoryV0_0","label":"gardensFeeReceiver","offset":0,"slot":"103","type":"t_address"},{"astId":85587,"contract":"pkg/contracts/src/RegistryFactoryV0_0.sol:RegistryFactoryV0_0","label":"__gap","offset":0,"slot":"104","type":"t_array(t_uint256)50_storage"}],"types":{"t_address":{"encoding":"inplace","label":"address","numberOfBytes":"20"},"t_array(t_uint256)49_storage":{"encoding":"inplace","label":"uint256[49]","numberOfBytes":"1568","base":"t_uint256"},"t_array(t_uint256)50_storage":{"encoding":"inplace","label":"uint256[50]","numberOfBytes":"1600","base":"t_uint256"},"t_bool":{"encoding":"inplace","label":"bool","numberOfBytes":"1"},"t_mapping(t_address,t_struct(CommunityInfo)85300_storage)":{"encoding":"mapping","key":"t_address","label":"mapping(address => struct CommunityInfo)","numberOfBytes":"32","value":"t_struct(CommunityInfo)85300_storage"},"t_struct(CommunityInfo)85300_storage":{"encoding":"inplace","label":"struct CommunityInfo","numberOfBytes":"64","members":[{"astId":85297,"contract":"pkg/contracts/src/RegistryFactoryV0_0.sol:RegistryFactoryV0_0","label":"fee","offset":0,"slot":"0","type":"t_uint256"},{"astId":85299,"contract":"pkg/contracts/src/RegistryFactoryV0_0.sol:RegistryFactoryV0_0","label":"valid","offset":0,"slot":"1","type":"t_bool"}]},"t_uint256":{"encoding":"inplace","label":"uint256","numberOfBytes":"32"},"t_uint8":{"encoding":"inplace","label":"uint8","numberOfBytes":"1"}}},"ast":{"absolutePath":"pkg/contracts/src/RegistryFactoryV0_0.sol","id":85589,"exportedSymbols":{"CommunityInfo":[85300],"ERC1967Proxy":[55562],"OwnableUpgradeable":[52942],"RegistryCommunityV0_0":[85047],"RegistryFactory":[85283],"RegistryFactoryV0_0":[85588],"UUPSUpgradeable":[56213]},"nodeType":"SourceUnit","src":"42:4129:136","nodes":[{"id":85285,"nodeType":"PragmaDirective","src":"42:24:136","nodes":[],"literals":["solidity","^","0.8",".19"]},{"id":85287,"nodeType":"ImportDirective","src":"68:71:136","nodes":[],"absolutePath":"pkg/contracts/src/RegistryCommunityV0_0.sol","file":"../src/RegistryCommunityV0_0.sol","nameLocation":"-1:-1:-1","scope":85589,"sourceUnit":85048,"symbolAliases":[{"foreign":{"id":85286,"name":"RegistryCommunityV0_0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85047,"src":"76:21:136","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":85289,"nodeType":"ImportDirective","src":"141:59:136","nodes":[],"absolutePath":"pkg/contracts/src/RegistryFactory.sol","file":"../src/RegistryFactory.sol","nameLocation":"-1:-1:-1","scope":85589,"sourceUnit":85284,"symbolAliases":[{"foreign":{"id":85288,"name":"RegistryFactory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85283,"src":"149:15:136","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":85291,"nodeType":"ImportDirective","src":"202:110:136","nodes":[],"absolutePath":"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol","file":"openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol","nameLocation":"-1:-1:-1","scope":85589,"sourceUnit":52943,"symbolAliases":[{"foreign":{"id":85290,"name":"OwnableUpgradeable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52942,"src":"210:18:136","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":85293,"nodeType":"ImportDirective","src":"313:88:136","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol","file":"@openzeppelin/contracts/proxy/utils/UUPSUpgradeable.sol","nameLocation":"-1:-1:-1","scope":85589,"sourceUnit":56214,"symbolAliases":[{"foreign":{"id":85292,"name":"UUPSUpgradeable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56213,"src":"321:15:136","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":85295,"nodeType":"ImportDirective","src":"403:84:136","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol","file":"@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.sol","nameLocation":"-1:-1:-1","scope":85589,"sourceUnit":55563,"symbolAliases":[{"foreign":{"id":85294,"name":"ERC1967Proxy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55562,"src":"411:12:136","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":85300,"nodeType":"StructDefinition","src":"489:57:136","nodes":[],"canonicalName":"CommunityInfo","members":[{"constant":false,"id":85297,"mutability":"mutable","name":"fee","nameLocation":"524:3:136","nodeType":"VariableDeclaration","scope":85300,"src":"516:11:136","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":85296,"name":"uint256","nodeType":"ElementaryTypeName","src":"516:7:136","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":85299,"mutability":"mutable","name":"valid","nameLocation":"538:5:136","nodeType":"VariableDeclaration","scope":85300,"src":"533:10:136","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":85298,"name":"bool","nodeType":"ElementaryTypeName","src":"533:4:136","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"name":"CommunityInfo","nameLocation":"496:13:136","scope":85589,"visibility":"public"},{"id":85588,"nodeType":"ContractDefinition","src":"593:3577:136","nodes":[{"id":85307,"nodeType":"VariableDeclaration","src":"667:20:136","nodes":[],"constant":false,"functionSelector":"affed0e0","mutability":"mutable","name":"nonce","nameLocation":"682:5:136","scope":85588,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":85306,"name":"uint256","nodeType":"ElementaryTypeName","src":"667:7:136","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"id":85312,"nodeType":"VariableDeclaration","src":"694:49:136","nodes":[],"constant":false,"mutability":"mutable","name":"communityToInfo","nameLocation":"728:15:136","scope":85588,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_CommunityInfo_$85300_storage_$","typeString":"mapping(address => struct CommunityInfo)"},"typeName":{"id":85311,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":85308,"name":"address","nodeType":"ElementaryTypeName","src":"702:7:136","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"694:33:136","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_CommunityInfo_$85300_storage_$","typeString":"mapping(address => struct CommunityInfo)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":85310,"nodeType":"UserDefinedTypeName","pathNode":{"id":85309,"name":"CommunityInfo","nameLocations":["713:13:136"],"nodeType":"IdentifierPath","referencedDeclaration":85300,"src":"713:13:136"},"referencedDeclaration":85300,"src":"713:13:136","typeDescriptions":{"typeIdentifier":"t_struct$_CommunityInfo_$85300_storage_ptr","typeString":"struct CommunityInfo"}}},"visibility":"internal"},{"id":85314,"nodeType":"VariableDeclaration","src":"749:33:136","nodes":[],"constant":false,"functionSelector":"b8bed901","mutability":"mutable","name":"gardensFeeReceiver","nameLocation":"764:18:136","scope":85588,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":85313,"name":"address","nodeType":"ElementaryTypeName","src":"749:7:136","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"public"},{"id":85318,"nodeType":"EventDefinition","src":"955:46:136","nodes":[],"anonymous":false,"eventSelector":"bdf37c276f641820b141429d245add2552b4118c0866e5a78638e3de5ef18d9d","name":"FeeReceiverSet","nameLocation":"961:14:136","parameters":{"id":85317,"nodeType":"ParameterList","parameters":[{"constant":false,"id":85316,"indexed":false,"mutability":"mutable","name":"_newFeeReceiver","nameLocation":"984:15:136","nodeType":"VariableDeclaration","scope":85318,"src":"976:23:136","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":85315,"name":"address","nodeType":"ElementaryTypeName","src":"976:7:136","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"975:25:136"}},{"id":85324,"nodeType":"EventDefinition","src":"1006:66:136","nodes":[],"anonymous":false,"eventSelector":"a1ee82e4f177a8017f33ddddac05b7ceab1de9d46f7195e15e8aa2e8b88f3b1c","name":"ProtocolFeeSet","nameLocation":"1012:14:136","parameters":{"id":85323,"nodeType":"ParameterList","parameters":[{"constant":false,"id":85320,"indexed":false,"mutability":"mutable","name":"_community","nameLocation":"1035:10:136","nodeType":"VariableDeclaration","scope":85324,"src":"1027:18:136","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":85319,"name":"address","nodeType":"ElementaryTypeName","src":"1027:7:136","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":85322,"indexed":false,"mutability":"mutable","name":"_newProtocolFee","nameLocation":"1055:15:136","nodeType":"VariableDeclaration","scope":85324,"src":"1047:23:136","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":85321,"name":"uint256","nodeType":"ElementaryTypeName","src":"1047:7:136","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1026:45:136"}},{"id":85328,"nodeType":"EventDefinition","src":"1077:51:136","nodes":[],"anonymous":false,"eventSelector":"b4108a188495a1a681cdc0750af164011025a1773b41e93ff3e628adc037dc29","name":"CommunityCreated","nameLocation":"1083:16:136","parameters":{"id":85327,"nodeType":"ParameterList","parameters":[{"constant":false,"id":85326,"indexed":false,"mutability":"mutable","name":"_registryCommunity","nameLocation":"1108:18:136","nodeType":"VariableDeclaration","scope":85328,"src":"1100:26:136","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":85325,"name":"address","nodeType":"ElementaryTypeName","src":"1100:7:136","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1099:28:136"}},{"id":85334,"nodeType":"EventDefinition","src":"1133:62:136","nodes":[],"anonymous":false,"eventSelector":"ecdcd3502799a6c41864ea2682236184e876f63e10f8d56c7768a3d501e89f62","name":"CommunityValiditySet","nameLocation":"1139:20:136","parameters":{"id":85333,"nodeType":"ParameterList","parameters":[{"constant":false,"id":85330,"indexed":false,"mutability":"mutable","name":"_community","nameLocation":"1168:10:136","nodeType":"VariableDeclaration","scope":85334,"src":"1160:18:136","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":85329,"name":"address","nodeType":"ElementaryTypeName","src":"1160:7:136","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":85332,"indexed":false,"mutability":"mutable","name":"_isValid","nameLocation":"1185:8:136","nodeType":"VariableDeclaration","scope":85334,"src":"1180:13:136","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":85331,"name":"bool","nodeType":"ElementaryTypeName","src":"1180:4:136","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1159:35:136"}},{"id":85338,"nodeType":"ErrorDefinition","src":"1367:43:136","nodes":[],"errorSelector":"f5a6943d","name":"CommunityInvalid","nameLocation":"1373:16:136","parameters":{"id":85337,"nodeType":"ParameterList","parameters":[{"constant":false,"id":85336,"mutability":"mutable","name":"_community","nameLocation":"1398:10:136","nodeType":"VariableDeclaration","scope":85338,"src":"1390:18:136","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":85335,"name":"address","nodeType":"ElementaryTypeName","src":"1390:7:136","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1389:20:136"}},{"id":85340,"nodeType":"ErrorDefinition","src":"1415:28:136","nodes":[],"errorSelector":"e622e040","name":"AddressCannotBeZero","nameLocation":"1421:19:136","parameters":{"id":85339,"nodeType":"ParameterList","parameters":[],"src":"1440:2:136"}},{"id":85356,"nodeType":"FunctionDefinition","src":"1614:133:136","nodes":[],"body":{"id":85355,"nodeType":"Block","src":"1674:73:136","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":85350,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":85345,"name":"_address","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85342,"src":"1688:8:136","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":85348,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1708:1:136","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":85347,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1700:7:136","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":85346,"name":"address","nodeType":"ElementaryTypeName","src":"1700:7:136","typeDescriptions":{}}},"id":85349,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1700:10:136","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1688:22:136","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":85354,"nodeType":"IfStatement","src":"1684:56:136","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":85351,"name":"AddressCannotBeZero","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85340,"src":"1719:19:136","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":85352,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1719:21:136","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":85353,"nodeType":"RevertStatement","src":"1712:28:136"}}]},"implemented":true,"kind":"function","modifiers":[],"name":"_revertZeroAddress","nameLocation":"1623:18:136","parameters":{"id":85343,"nodeType":"ParameterList","parameters":[{"constant":false,"id":85342,"mutability":"mutable","name":"_address","nameLocation":"1650:8:136","nodeType":"VariableDeclaration","scope":85356,"src":"1642:16:136","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":85341,"name":"address","nodeType":"ElementaryTypeName","src":"1642:7:136","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1641:18:136"},"returnParameters":{"id":85344,"nodeType":"ParameterList","parameters":[],"src":"1674:0:136"},"scope":85588,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":85383,"nodeType":"FunctionDefinition","src":"1753:341:136","nodes":[],"body":{"id":85382,"nodeType":"Block","src":"1829:265:136","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":85363,"name":"__Ownable_init","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52837,"src":"1839:14:136","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":85364,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1839:16:136","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":85365,"nodeType":"ExpressionStatement","src":"1839:16:136"},{"expression":{"id":85368,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":85366,"name":"nonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85307,"src":"1865:5:136","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"30","id":85367,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1873:1:136","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"1865:9:136","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":85369,"nodeType":"ExpressionStatement","src":"1865:9:136"},{"expression":{"arguments":[{"id":85371,"name":"_gardensFeeReceiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85358,"src":"1903:19:136","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":85370,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85356,"src":"1884:18:136","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":85372,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1884:39:136","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":85373,"nodeType":"ExpressionStatement","src":"1884:39:136"},{"expression":{"id":85376,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":85374,"name":"gardensFeeReceiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85314,"src":"1933:18:136","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":85375,"name":"_gardensFeeReceiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85358,"src":"1954:19:136","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1933:40:136","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":85377,"nodeType":"ExpressionStatement","src":"1933:40:136"},{"eventCall":{"arguments":[{"id":85379,"name":"_gardensFeeReceiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85358,"src":"2003:19:136","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":85378,"name":"FeeReceiverSet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85318,"src":"1988:14:136","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":85380,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1988:35:136","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":85381,"nodeType":"EmitStatement","src":"1983:40:136"}]},"functionSelector":"c4d66de8","implemented":true,"kind":"function","modifiers":[{"id":85361,"kind":"modifierInvocation","modifierName":{"id":85360,"name":"initializer","nameLocations":["1817:11:136"],"nodeType":"IdentifierPath","referencedDeclaration":53093,"src":"1817:11:136"},"nodeType":"ModifierInvocation","src":"1817:11:136"}],"name":"initialize","nameLocation":"1762:10:136","parameters":{"id":85359,"nodeType":"ParameterList","parameters":[{"constant":false,"id":85358,"mutability":"mutable","name":"_gardensFeeReceiver","nameLocation":"1781:19:136","nodeType":"VariableDeclaration","scope":85383,"src":"1773:27:136","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":85357,"name":"address","nodeType":"ElementaryTypeName","src":"1773:7:136","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1772:29:136"},"returnParameters":{"id":85362,"nodeType":"ParameterList","parameters":[],"src":"1829:0:136"},"scope":85588,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":85465,"nodeType":"FunctionDefinition","src":"2100:764:136","nodes":[],"body":{"id":85464,"nodeType":"Block","src":"2263:601:136","nodes":[],"statements":[{"expression":{"id":85396,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":85391,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85386,"src":"2273:6:136","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$83515_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams memory"}},"id":85393,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"2280:6:136","memberName":"_nonce","nodeType":"MemberAccess","referencedDeclaration":83497,"src":"2273:13:136","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":85395,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"2289:7:136","subExpression":{"id":85394,"name":"nonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85307,"src":"2289:5:136","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2273:23:136","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":85397,"nodeType":"ExpressionStatement","src":"2273:23:136"},{"expression":{"id":85405,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":85398,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85386,"src":"2306:6:136","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$83515_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams memory"}},"id":85400,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"2313:16:136","memberName":"_registryFactory","nodeType":"MemberAccess","referencedDeclaration":83499,"src":"2306:23:136","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":85403,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"2340:4:136","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryFactoryV0_0_$85588","typeString":"contract RegistryFactoryV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryFactoryV0_0_$85588","typeString":"contract RegistryFactoryV0_0"}],"id":85402,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2332:7:136","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":85401,"name":"address","nodeType":"ElementaryTypeName","src":"2332:7:136","typeDescriptions":{}}},"id":85404,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2332:13:136","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"2306:39:136","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":85406,"nodeType":"ExpressionStatement","src":"2306:39:136"},{"assignments":[85409],"declarations":[{"constant":false,"id":85409,"mutability":"mutable","name":"proxy","nameLocation":"2369:5:136","nodeType":"VariableDeclaration","scope":85464,"src":"2356:18:136","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_ERC1967Proxy_$55562","typeString":"contract ERC1967Proxy"},"typeName":{"id":85408,"nodeType":"UserDefinedTypeName","pathNode":{"id":85407,"name":"ERC1967Proxy","nameLocations":["2356:12:136"],"nodeType":"IdentifierPath","referencedDeclaration":55562,"src":"2356:12:136"},"referencedDeclaration":55562,"src":"2356:12:136","typeDescriptions":{"typeIdentifier":"t_contract$_ERC1967Proxy_$55562","typeString":"contract ERC1967Proxy"}},"visibility":"internal"}],"id":85428,"initialValue":{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":85417,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"2415:25:136","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$__$returns$_t_contract$_RegistryCommunityV0_0_$85047_$","typeString":"function () returns (contract RegistryCommunityV0_0)"},"typeName":{"id":85416,"nodeType":"UserDefinedTypeName","pathNode":{"id":85415,"name":"RegistryCommunityV0_0","nameLocations":["2419:21:136"],"nodeType":"IdentifierPath","referencedDeclaration":85047,"src":"2419:21:136"},"referencedDeclaration":85047,"src":"2419:21:136","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"}}},"id":85418,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2415:27:136","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"}],"id":85414,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2407:7:136","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":85413,"name":"address","nodeType":"ElementaryTypeName","src":"2407:7:136","typeDescriptions":{}}},"id":85419,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2407:36:136","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"expression":{"expression":{"id":85422,"name":"RegistryCommunityV0_0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85047,"src":"2480:21:136","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_RegistryCommunityV0_0_$85047_$","typeString":"type(contract RegistryCommunityV0_0)"}},"id":85423,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2502:10:136","memberName":"initialize","nodeType":"MemberAccess","referencedDeclaration":83754,"src":"2480:32:136","typeDescriptions":{"typeIdentifier":"t_function_declaration_nonpayable$_t_struct$_InitializeParams_$83515_memory_ptr_$returns$__$","typeString":"function RegistryCommunityV0_0.initialize(struct RegistryCommunityV0_0.InitializeParams memory)"}},"id":85424,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2513:8:136","memberName":"selector","nodeType":"MemberAccess","src":"2480:41:136","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":85425,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85386,"src":"2523:6:136","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$83515_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_struct$_InitializeParams_$83515_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams memory"}],"expression":{"id":85420,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2457:3:136","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":85421,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2461:18:136","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"2457:22:136","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":85426,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2457:73:136","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":85412,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"2377:16:136","typeDescriptions":{"typeIdentifier":"t_function_creation_payable$_t_address_$_t_bytes_memory_ptr_$returns$_t_contract$_ERC1967Proxy_$55562_$","typeString":"function (address,bytes memory) payable returns (contract ERC1967Proxy)"},"typeName":{"id":85411,"nodeType":"UserDefinedTypeName","pathNode":{"id":85410,"name":"ERC1967Proxy","nameLocations":["2381:12:136"],"nodeType":"IdentifierPath","referencedDeclaration":55562,"src":"2381:12:136"},"referencedDeclaration":55562,"src":"2381:12:136","typeDescriptions":{"typeIdentifier":"t_contract$_ERC1967Proxy_$55562","typeString":"contract ERC1967Proxy"}}},"id":85427,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2377:163:136","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ERC1967Proxy_$55562","typeString":"contract ERC1967Proxy"}},"nodeType":"VariableDeclarationStatement","src":"2356:184:136"},{"assignments":[85431],"declarations":[{"constant":false,"id":85431,"mutability":"mutable","name":"registryCommunity","nameLocation":"2573:17:136","nodeType":"VariableDeclaration","scope":85464,"src":"2551:39:136","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"},"typeName":{"id":85430,"nodeType":"UserDefinedTypeName","pathNode":{"id":85429,"name":"RegistryCommunityV0_0","nameLocations":["2551:21:136"],"nodeType":"IdentifierPath","referencedDeclaration":85047,"src":"2551:21:136"},"referencedDeclaration":85047,"src":"2551:21:136","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"}},"visibility":"internal"}],"id":85441,"initialValue":{"arguments":[{"arguments":[{"arguments":[{"id":85437,"name":"proxy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85409,"src":"2631:5:136","typeDescriptions":{"typeIdentifier":"t_contract$_ERC1967Proxy_$55562","typeString":"contract ERC1967Proxy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ERC1967Proxy_$55562","typeString":"contract ERC1967Proxy"}],"id":85436,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2623:7:136","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":85435,"name":"address","nodeType":"ElementaryTypeName","src":"2623:7:136","typeDescriptions":{}}},"id":85438,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2623:14:136","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":85434,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2615:8:136","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":85433,"name":"address","nodeType":"ElementaryTypeName","src":"2615:8:136","stateMutability":"payable","typeDescriptions":{}}},"id":85439,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2615:23:136","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":85432,"name":"RegistryCommunityV0_0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85047,"src":"2593:21:136","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_RegistryCommunityV0_0_$85047_$","typeString":"type(contract RegistryCommunityV0_0)"}},"id":85440,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2593:46:136","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"}},"nodeType":"VariableDeclarationStatement","src":"2551:88:136"},{"expression":{"id":85450,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"baseExpression":{"id":85442,"name":"communityToInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85312,"src":"2699:15:136","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_CommunityInfo_$85300_storage_$","typeString":"mapping(address => struct CommunityInfo storage ref)"}},"id":85447,"indexExpression":{"arguments":[{"id":85445,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85431,"src":"2723:17:136","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"}],"id":85444,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2715:7:136","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":85443,"name":"address","nodeType":"ElementaryTypeName","src":"2715:7:136","typeDescriptions":{}}},"id":85446,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2715:26:136","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2699:43:136","typeDescriptions":{"typeIdentifier":"t_struct$_CommunityInfo_$85300_storage","typeString":"struct CommunityInfo storage ref"}},"id":85448,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"2743:5:136","memberName":"valid","nodeType":"MemberAccess","referencedDeclaration":85299,"src":"2699:49:136","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":85449,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"2751:4:136","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"2699:56:136","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":85451,"nodeType":"ExpressionStatement","src":"2699:56:136"},{"eventCall":{"arguments":[{"arguments":[{"id":85455,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85431,"src":"2795:17:136","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"}],"id":85454,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2787:7:136","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":85453,"name":"address","nodeType":"ElementaryTypeName","src":"2787:7:136","typeDescriptions":{}}},"id":85456,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2787:26:136","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":85452,"name":"CommunityCreated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85328,"src":"2770:16:136","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":85457,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2770:44:136","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":85458,"nodeType":"EmitStatement","src":"2765:49:136"},{"expression":{"arguments":[{"id":85461,"name":"registryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85431,"src":"2839:17:136","typeDescriptions":{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_RegistryCommunityV0_0_$85047","typeString":"contract RegistryCommunityV0_0"}],"id":85460,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2831:7:136","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":85459,"name":"address","nodeType":"ElementaryTypeName","src":"2831:7:136","typeDescriptions":{}}},"id":85462,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2831:26:136","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":85390,"id":85463,"nodeType":"Return","src":"2824:33:136"}]},"functionSelector":"8a16135f","implemented":true,"kind":"function","modifiers":[],"name":"createRegistry","nameLocation":"2109:14:136","parameters":{"id":85387,"nodeType":"ParameterList","parameters":[{"constant":false,"id":85386,"mutability":"mutable","name":"params","nameLocation":"2170:6:136","nodeType":"VariableDeclaration","scope":85465,"src":"2124:52:136","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$83515_memory_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams"},"typeName":{"id":85385,"nodeType":"UserDefinedTypeName","pathNode":{"id":85384,"name":"RegistryCommunityV0_0.InitializeParams","nameLocations":["2124:21:136","2146:16:136"],"nodeType":"IdentifierPath","referencedDeclaration":83515,"src":"2124:38:136"},"referencedDeclaration":83515,"src":"2124:38:136","typeDescriptions":{"typeIdentifier":"t_struct$_InitializeParams_$83515_storage_ptr","typeString":"struct RegistryCommunityV0_0.InitializeParams"}},"visibility":"internal"}],"src":"2123:54:136"},"returnParameters":{"id":85390,"nodeType":"ParameterList","parameters":[{"constant":false,"id":85389,"mutability":"mutable","name":"_createdRegistryAddress","nameLocation":"2234:23:136","nodeType":"VariableDeclaration","scope":85465,"src":"2226:31:136","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":85388,"name":"address","nodeType":"ElementaryTypeName","src":"2226:7:136","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2225:33:136"},"scope":85588,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":85485,"nodeType":"FunctionDefinition","src":"2870:222:136","nodes":[],"body":{"id":85484,"nodeType":"Block","src":"2948:144:136","nodes":[],"statements":[{"expression":{"arguments":[{"id":85473,"name":"_newFeeReceiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85467,"src":"2977:15:136","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":85472,"name":"_revertZeroAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85356,"src":"2958:18:136","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":85474,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2958:35:136","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":85475,"nodeType":"ExpressionStatement","src":"2958:35:136"},{"expression":{"id":85478,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":85476,"name":"gardensFeeReceiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85314,"src":"3003:18:136","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":85477,"name":"_newFeeReceiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85467,"src":"3024:15:136","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3003:36:136","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":85479,"nodeType":"ExpressionStatement","src":"3003:36:136"},{"eventCall":{"arguments":[{"id":85481,"name":"_newFeeReceiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85467,"src":"3069:15:136","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":85480,"name":"FeeReceiverSet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85318,"src":"3054:14:136","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":85482,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3054:31:136","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":85483,"nodeType":"EmitStatement","src":"3049:36:136"}]},"functionSelector":"8279c7db","implemented":true,"kind":"function","modifiers":[{"id":85470,"kind":"modifierInvocation","modifierName":{"id":85469,"name":"onlyOwner","nameLocations":["2938:9:136"],"nodeType":"IdentifierPath","referencedDeclaration":52856,"src":"2938:9:136"},"nodeType":"ModifierInvocation","src":"2938:9:136"}],"name":"setReceiverAddress","nameLocation":"2879:18:136","parameters":{"id":85468,"nodeType":"ParameterList","parameters":[{"constant":false,"id":85467,"mutability":"mutable","name":"_newFeeReceiver","nameLocation":"2906:15:136","nodeType":"VariableDeclaration","scope":85485,"src":"2898:23:136","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":85466,"name":"address","nodeType":"ElementaryTypeName","src":"2898:7:136","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2897:25:136"},"returnParameters":{"id":85471,"nodeType":"ParameterList","parameters":[],"src":"2948:0:136"},"scope":85588,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":85493,"nodeType":"FunctionDefinition","src":"3098:115:136","nodes":[],"body":{"id":85492,"nodeType":"Block","src":"3171:42:136","nodes":[],"statements":[{"expression":{"id":85490,"name":"gardensFeeReceiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85314,"src":"3188:18:136","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":85489,"id":85491,"nodeType":"Return","src":"3181:25:136"}]},"functionSelector":"987435be","implemented":true,"kind":"function","modifiers":[],"name":"getGardensFeeReceiver","nameLocation":"3107:21:136","parameters":{"id":85486,"nodeType":"ParameterList","parameters":[],"src":"3128:2:136"},"returnParameters":{"id":85489,"nodeType":"ParameterList","parameters":[{"constant":false,"id":85488,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":85493,"src":"3162:7:136","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":85487,"name":"address","nodeType":"ElementaryTypeName","src":"3162:7:136","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3161:9:136"},"scope":85588,"stateMutability":"view","virtual":true,"visibility":"external"},{"id":85515,"nodeType":"FunctionDefinition","src":"3219:218:136","nodes":[],"body":{"id":85514,"nodeType":"Block","src":"3313:124:136","nodes":[],"statements":[{"expression":{"id":85507,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"baseExpression":{"id":85502,"name":"communityToInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85312,"src":"3323:15:136","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_CommunityInfo_$85300_storage_$","typeString":"mapping(address => struct CommunityInfo storage ref)"}},"id":85504,"indexExpression":{"id":85503,"name":"_community","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85495,"src":"3339:10:136","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3323:27:136","typeDescriptions":{"typeIdentifier":"t_struct$_CommunityInfo_$85300_storage","typeString":"struct CommunityInfo storage ref"}},"id":85505,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"3351:3:136","memberName":"fee","nodeType":"MemberAccess","referencedDeclaration":85297,"src":"3323:31:136","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":85506,"name":"_newProtocolFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85497,"src":"3357:15:136","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3323:49:136","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":85508,"nodeType":"ExpressionStatement","src":"3323:49:136"},{"eventCall":{"arguments":[{"id":85510,"name":"_community","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85495,"src":"3402:10:136","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":85511,"name":"_newProtocolFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85497,"src":"3414:15:136","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":85509,"name":"ProtocolFeeSet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85324,"src":"3387:14:136","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":85512,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3387:43:136","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":85513,"nodeType":"EmitStatement","src":"3382:48:136"}]},"functionSelector":"b5b3ca2c","implemented":true,"kind":"function","modifiers":[{"id":85500,"kind":"modifierInvocation","modifierName":{"id":85499,"name":"onlyOwner","nameLocations":["3303:9:136"],"nodeType":"IdentifierPath","referencedDeclaration":52856,"src":"3303:9:136"},"nodeType":"ModifierInvocation","src":"3303:9:136"}],"name":"setProtocolFee","nameLocation":"3228:14:136","parameters":{"id":85498,"nodeType":"ParameterList","parameters":[{"constant":false,"id":85495,"mutability":"mutable","name":"_community","nameLocation":"3251:10:136","nodeType":"VariableDeclaration","scope":85515,"src":"3243:18:136","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":85494,"name":"address","nodeType":"ElementaryTypeName","src":"3243:7:136","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":85497,"mutability":"mutable","name":"_newProtocolFee","nameLocation":"3271:15:136","nodeType":"VariableDeclaration","scope":85515,"src":"3263:23:136","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":85496,"name":"uint256","nodeType":"ElementaryTypeName","src":"3263:7:136","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3242:45:136"},"returnParameters":{"id":85501,"nodeType":"ParameterList","parameters":[],"src":"3313:0:136"},"scope":85588,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":85537,"nodeType":"FunctionDefinition","src":"3443:208:136","nodes":[],"body":{"id":85536,"nodeType":"Block","src":"3533:118:136","nodes":[],"statements":[{"expression":{"id":85529,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"baseExpression":{"id":85524,"name":"communityToInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85312,"src":"3543:15:136","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_CommunityInfo_$85300_storage_$","typeString":"mapping(address => struct CommunityInfo storage ref)"}},"id":85526,"indexExpression":{"id":85525,"name":"_community","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85517,"src":"3559:10:136","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3543:27:136","typeDescriptions":{"typeIdentifier":"t_struct$_CommunityInfo_$85300_storage","typeString":"struct CommunityInfo storage ref"}},"id":85527,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"3571:5:136","memberName":"valid","nodeType":"MemberAccess","referencedDeclaration":85299,"src":"3543:33:136","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":85528,"name":"_isValid","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85519,"src":"3579:8:136","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"3543:44:136","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":85530,"nodeType":"ExpressionStatement","src":"3543:44:136"},{"eventCall":{"arguments":[{"id":85532,"name":"_community","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85517,"src":"3623:10:136","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":85533,"name":"_isValid","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85519,"src":"3635:8:136","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":85531,"name":"CommunityValiditySet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85334,"src":"3602:20:136","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_bool_$returns$__$","typeString":"function (address,bool)"}},"id":85534,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3602:42:136","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":85535,"nodeType":"EmitStatement","src":"3597:47:136"}]},"functionSelector":"5a2c8ace","implemented":true,"kind":"function","modifiers":[{"id":85522,"kind":"modifierInvocation","modifierName":{"id":85521,"name":"onlyOwner","nameLocations":["3523:9:136"],"nodeType":"IdentifierPath","referencedDeclaration":52856,"src":"3523:9:136"},"nodeType":"ModifierInvocation","src":"3523:9:136"}],"name":"setCommunityValidity","nameLocation":"3452:20:136","parameters":{"id":85520,"nodeType":"ParameterList","parameters":[{"constant":false,"id":85517,"mutability":"mutable","name":"_community","nameLocation":"3481:10:136","nodeType":"VariableDeclaration","scope":85537,"src":"3473:18:136","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":85516,"name":"address","nodeType":"ElementaryTypeName","src":"3473:7:136","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":85519,"mutability":"mutable","name":"_isValid","nameLocation":"3498:8:136","nodeType":"VariableDeclaration","scope":85537,"src":"3493:13:136","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":85518,"name":"bool","nodeType":"ElementaryTypeName","src":"3493:4:136","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"3472:35:136"},"returnParameters":{"id":85523,"nodeType":"ParameterList","parameters":[],"src":"3533:0:136"},"scope":85588,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":85550,"nodeType":"FunctionDefinition","src":"3657:144:136","nodes":[],"body":{"id":85549,"nodeType":"Block","src":"3744:57:136","nodes":[],"statements":[{"expression":{"expression":{"baseExpression":{"id":85544,"name":"communityToInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85312,"src":"3761:15:136","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_CommunityInfo_$85300_storage_$","typeString":"mapping(address => struct CommunityInfo storage ref)"}},"id":85546,"indexExpression":{"id":85545,"name":"_community","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85539,"src":"3777:10:136","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3761:27:136","typeDescriptions":{"typeIdentifier":"t_struct$_CommunityInfo_$85300_storage","typeString":"struct CommunityInfo storage ref"}},"id":85547,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3789:5:136","memberName":"valid","nodeType":"MemberAccess","referencedDeclaration":85299,"src":"3761:33:136","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":85543,"id":85548,"nodeType":"Return","src":"3754:40:136"}]},"functionSelector":"f5016b5e","implemented":true,"kind":"function","modifiers":[],"name":"getCommunityValidity","nameLocation":"3666:20:136","parameters":{"id":85540,"nodeType":"ParameterList","parameters":[{"constant":false,"id":85539,"mutability":"mutable","name":"_community","nameLocation":"3695:10:136","nodeType":"VariableDeclaration","scope":85550,"src":"3687:18:136","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":85538,"name":"address","nodeType":"ElementaryTypeName","src":"3687:7:136","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3686:20:136"},"returnParameters":{"id":85543,"nodeType":"ParameterList","parameters":[{"constant":false,"id":85542,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":85550,"src":"3738:4:136","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":85541,"name":"bool","nodeType":"ElementaryTypeName","src":"3738:4:136","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"3737:6:136"},"scope":85588,"stateMutability":"view","virtual":true,"visibility":"external"},{"id":85574,"nodeType":"FunctionDefinition","src":"3807:249:136","nodes":[],"body":{"id":85573,"nodeType":"Block","src":"3891:165:136","nodes":[],"statements":[{"condition":{"id":85561,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"3905:34:136","subExpression":{"expression":{"baseExpression":{"id":85557,"name":"communityToInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85312,"src":"3906:15:136","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_CommunityInfo_$85300_storage_$","typeString":"mapping(address => struct CommunityInfo storage ref)"}},"id":85559,"indexExpression":{"id":85558,"name":"_community","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85552,"src":"3922:10:136","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3906:27:136","typeDescriptions":{"typeIdentifier":"t_struct$_CommunityInfo_$85300_storage","typeString":"struct CommunityInfo storage ref"}},"id":85560,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3934:5:136","memberName":"valid","nodeType":"MemberAccess","referencedDeclaration":85299,"src":"3906:33:136","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":85567,"nodeType":"IfStatement","src":"3901:100:136","trueBody":{"id":85566,"nodeType":"Block","src":"3941:60:136","statements":[{"errorCall":{"arguments":[{"id":85563,"name":"_community","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85552,"src":"3979:10:136","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":85562,"name":"CommunityInvalid","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85338,"src":"3962:16:136","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_address_$returns$__$","typeString":"function (address) pure"}},"id":85564,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3962:28:136","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":85565,"nodeType":"RevertStatement","src":"3955:35:136"}]}},{"expression":{"expression":{"baseExpression":{"id":85568,"name":"communityToInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85312,"src":"4018:15:136","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_CommunityInfo_$85300_storage_$","typeString":"mapping(address => struct CommunityInfo storage ref)"}},"id":85570,"indexExpression":{"id":85569,"name":"_community","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85552,"src":"4034:10:136","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4018:27:136","typeDescriptions":{"typeIdentifier":"t_struct$_CommunityInfo_$85300_storage","typeString":"struct CommunityInfo storage ref"}},"id":85571,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4046:3:136","memberName":"fee","nodeType":"MemberAccess","referencedDeclaration":85297,"src":"4018:31:136","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":85556,"id":85572,"nodeType":"Return","src":"4011:38:136"}]},"functionSelector":"0a992e0c","implemented":true,"kind":"function","modifiers":[],"name":"getProtocolFee","nameLocation":"3816:14:136","parameters":{"id":85553,"nodeType":"ParameterList","parameters":[{"constant":false,"id":85552,"mutability":"mutable","name":"_community","nameLocation":"3839:10:136","nodeType":"VariableDeclaration","scope":85574,"src":"3831:18:136","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":85551,"name":"address","nodeType":"ElementaryTypeName","src":"3831:7:136","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3830:20:136"},"returnParameters":{"id":85556,"nodeType":"ParameterList","parameters":[{"constant":false,"id":85555,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":85574,"src":"3882:7:136","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":85554,"name":"uint256","nodeType":"ElementaryTypeName","src":"3882:7:136","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3881:9:136"},"scope":85588,"stateMutability":"view","virtual":true,"visibility":"external"},{"id":85583,"nodeType":"FunctionDefinition","src":"4062:74:136","nodes":[],"body":{"id":85582,"nodeType":"Block","src":"4134:2:136","nodes":[],"statements":[]},"baseFunctions":[56212],"implemented":true,"kind":"function","modifiers":[{"id":85580,"kind":"modifierInvocation","modifierName":{"id":85579,"name":"onlyOwner","nameLocations":["4124:9:136"],"nodeType":"IdentifierPath","referencedDeclaration":52856,"src":"4124:9:136"},"nodeType":"ModifierInvocation","src":"4124:9:136"}],"name":"_authorizeUpgrade","nameLocation":"4071:17:136","overrides":{"id":85578,"nodeType":"OverrideSpecifier","overrides":[],"src":"4115:8:136"},"parameters":{"id":85577,"nodeType":"ParameterList","parameters":[{"constant":false,"id":85576,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":85583,"src":"4089:7:136","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":85575,"name":"address","nodeType":"ElementaryTypeName","src":"4089:7:136","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4088:9:136"},"returnParameters":{"id":85581,"nodeType":"ParameterList","parameters":[],"src":"4134:0:136"},"scope":85588,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":85587,"nodeType":"VariableDeclaration","src":"4142:25:136","nodes":[],"constant":false,"mutability":"mutable","name":"__gap","nameLocation":"4162:5:136","scope":85588,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$50_storage","typeString":"uint256[50]"},"typeName":{"baseType":{"id":85584,"name":"uint256","nodeType":"ElementaryTypeName","src":"4142:7:136","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":85586,"length":{"hexValue":"3530","id":85585,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4150:2:136","typeDescriptions":{"typeIdentifier":"t_rational_50_by_1","typeString":"int_const 50"},"value":"50"},"nodeType":"ArrayTypeName","src":"4142:11:136","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$50_storage_ptr","typeString":"uint256[50]"}},"visibility":"private"}],"abstract":false,"baseContracts":[{"baseName":{"id":85302,"name":"OwnableUpgradeable","nameLocations":["625:18:136"],"nodeType":"IdentifierPath","referencedDeclaration":52942,"src":"625:18:136"},"id":85303,"nodeType":"InheritanceSpecifier","src":"625:18:136"},{"baseName":{"id":85304,"name":"UUPSUpgradeable","nameLocations":["645:15:136"],"nodeType":"IdentifierPath","referencedDeclaration":56213,"src":"645:15:136"},"id":85305,"nodeType":"InheritanceSpecifier","src":"645:15:136"}],"canonicalName":"RegistryFactoryV0_0","contractDependencies":[55562,85047],"contractKind":"contract","documentation":{"id":85301,"nodeType":"StructuredDocumentation","src":"547:45:136","text":"@custom:oz-upgrades-from RegistryFactory"},"fullyImplemented":true,"linearizedBaseContracts":[85588,56213,55866,55515,55525,52942,53735,53191],"name":"RegistryFactoryV0_0","nameLocation":"602:19:136","scope":85589,"usedErrors":[85338,85340]}],"license":"AGPL-3.0-only"},"id":136} \ No newline at end of file diff --git a/pkg/contracts/out/RegistryFactoryV0_1.sol/RegistryFactoryV0_1.json b/pkg/contracts/out/RegistryFactoryV0_1.sol/RegistryFactoryV0_1.json index ca329179d..9e31fa332 100644 --- a/pkg/contracts/out/RegistryFactoryV0_1.sol/RegistryFactoryV0_1.json +++ b/pkg/contracts/out/RegistryFactoryV0_1.sol/RegistryFactoryV0_1.json @@ -1 +1 @@ -{"abi":[{"type":"function","name":"createRegistry","inputs":[{"name":"params","type":"tuple","internalType":"struct RegistryCommunityV0_0.InitializeParams","components":[{"name":"_allo","type":"address","internalType":"address"},{"name":"_gardenToken","type":"address","internalType":"contract IERC20"},{"name":"_registerStakeAmount","type":"uint256","internalType":"uint256"},{"name":"_communityFee","type":"uint256","internalType":"uint256"},{"name":"_nonce","type":"uint256","internalType":"uint256"},{"name":"_registryFactory","type":"address","internalType":"address"},{"name":"_feeReceiver","type":"address","internalType":"address"},{"name":"_metadata","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]},{"name":"_councilSafe","type":"address","internalType":"address payable"},{"name":"_communityName","type":"string","internalType":"string"},{"name":"_isKickEnabled","type":"bool","internalType":"bool"},{"name":"covenantIpfsHash","type":"string","internalType":"string"},{"name":"_strategyTemplate","type":"address","internalType":"address"}]}],"outputs":[{"name":"_createdRegistryAddress","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"gardensFeeReceiver","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getCommunityValidity","inputs":[{"name":"_community","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"getGardensFeeReceiver","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getProtocolFee","inputs":[{"name":"_community","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"initialize","inputs":[{"name":"_gardensFeeReceiver","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"initializeV2","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"nonce","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"proxiableUUID","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"renounceOwnership","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setCommunityValidity","inputs":[{"name":"_community","type":"address","internalType":"address"},{"name":"_isValid","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setProtocolFee","inputs":[{"name":"_community","type":"address","internalType":"address"},{"name":"_newProtocolFee","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setReceiverAddress","inputs":[{"name":"_newFeeReceiver","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"transferOwnership","inputs":[{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"upgradeTo","inputs":[{"name":"newImplementation","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"upgradeToAndCall","inputs":[{"name":"newImplementation","type":"address","internalType":"address"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"payable"},{"type":"event","name":"AdminChanged","inputs":[{"name":"previousAdmin","type":"address","indexed":false,"internalType":"address"},{"name":"newAdmin","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"BeaconUpgraded","inputs":[{"name":"beacon","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"CommunityCreated","inputs":[{"name":"_registryCommunity","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"CommunityValiditySet","inputs":[{"name":"_community","type":"address","indexed":false,"internalType":"address"},{"name":"_isValid","type":"bool","indexed":false,"internalType":"bool"}],"anonymous":false},{"type":"event","name":"FeeReceiverSet","inputs":[{"name":"_newFeeReceiver","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint8","indexed":false,"internalType":"uint8"}],"anonymous":false},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"previousOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"ProtocolFeeSet","inputs":[{"name":"_community","type":"address","indexed":false,"internalType":"address"},{"name":"_newProtocolFee","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Upgraded","inputs":[{"name":"implementation","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"error","name":"AddressCannotBeZero","inputs":[]},{"type":"error","name":"CommunityInvalid","inputs":[{"name":"_community","type":"address","internalType":"address"}]}],"bytecode":{"object":"0x60a06040523060805234801561001457600080fd5b5060805161da936200004d60003960008181610435015281816104bc015281816105b9015281816106400152610731015261da936000f3fe608060405260043610620001245760003560e01c80638a16135f11620000b2578063b5b3ca2c116200007d578063c4d66de81162000060578063c4d66de8146200030e578063f2fde38b1462000333578063f5016b5e146200035857600080fd5b8063b5b3ca2c14620002c7578063b8bed90114620002ec57600080fd5b80638a16135f14620002315780638da5cb5b146200026f578063987435be146200028f578063affed0e014620002af57600080fd5b80635a2c8ace11620000f35780635a2c8ace14620001b75780635cd8a76b14620001dc578063715018a614620001f45780638279c7db146200020c57600080fd5b80630a992e0c14620001295780633659cfe614620001615780634f1ef286146200018857806352d1902d146200019f575b600080fd5b3480156200013657600080fd5b506200014e6200014836600462001470565b620003a9565b6040519081526020015b60405180910390f35b3480156200016e57600080fd5b50620001866200018036600462001470565b6200042b565b005b620001866200019936600462001550565b620005af565b348015620001ac57600080fd5b506200014e62000724565b348015620001c457600080fd5b5062000186620001d6366004620015cc565b620007eb565b348015620001e957600080fd5b50620001866200085c565b3480156200020157600080fd5b506200018662000956565b3480156200021957600080fd5b50620001866200022b36600462001470565b6200096e565b3480156200023e57600080fd5b5062000256620002503660046200169f565b620009df565b6040516001600160a01b03909116815260200162000158565b3480156200027c57600080fd5b506033546001600160a01b031662000256565b3480156200029c57600080fd5b506067546001600160a01b031662000256565b348015620002bc57600080fd5b506200014e60655481565b348015620002d457600080fd5b5062000186620002e636600462001811565b62000b64565b348015620002f957600080fd5b5060675462000256906001600160a01b031681565b3480156200031b57600080fd5b50620001866200032d36600462001470565b62000bc0565b3480156200034057600080fd5b50620001866200035236600462001470565b62000d51565b3480156200036557600080fd5b50620003986200037736600462001470565b6001600160a01b031660009081526066602052604090206001015460ff1690565b604051901515815260200162000158565b6001600160a01b03811660009081526066602052604081206001015460ff166200040f576040517ff5a6943d0000000000000000000000000000000000000000000000000000000081526001600160a01b03831660048201526024015b60405180910390fd5b506001600160a01b031660009081526066602052604090205490565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163003620004ba5760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b19195b1959d85d1958d85b1b60a21b606482015260840162000406565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316620005167f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b6001600160a01b031614620005835760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b6163746976652070726f787960a01b606482015260840162000406565b6200058e8162000de4565b60408051600080825260208201909252620005ac9183919062000dee565b50565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036200063e5760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b19195b1959d85d1958d85b1b60a21b606482015260840162000406565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166200069a7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b6001600160a01b031614620007075760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b6163746976652070726f787960a01b606482015260840162000406565b620007128262000de4565b620007208282600162000dee565b5050565b6000306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614620007c65760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c0000000000000000606482015260840162000406565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc90565b620007f562000f9f565b6001600160a01b038216600081815260666020908152604091829020600101805460ff19168515159081179091558251938452908301527fecdcd3502799a6c41864ea2682236184e876f63e10f8d56c7768a3d501e89f6291015b60405180910390a15050565b600054600290610100900460ff161580156200087f575060005460ff8083169116105b620008f35760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a6564000000000000000000000000000000000000606482015260840162000406565b6000805461ffff191660ff8316176101001790556200091162000ffb565b6000805461ff001916905560405160ff821681527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498906020015b60405180910390a150565b6200096062000f9f565b6200096c600062001072565b565b6200097862000f9f565b6200098381620010d1565b6067805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0383169081179091556040519081527fbdf37c276f641820b141429d245add2552b4118c0866e5a78638e3de5ef18d9d906020016200094b565b6065805460009182620009f28362001840565b9091555060808301523060a083015260405160009062000a12906200142c565b604051809103906000f08015801562000a2f573d6000803e3d6000fd5b506040517f96f0adec000000000000000000000000000000000000000000000000000000009062000a65908690602401620018dd565b60408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff0000000000000000000000000000000000000000000000000000000090941693909317909252905162000ad1906200143a565b62000ade92919062001a28565b604051809103906000f08015801562000afb573d6000803e3d6000fd5b506001600160a01b0381166000818152606660209081526040918290206001908101805460ff19169091179055905191825291925082917fb4108a188495a1a681cdc0750af164011025a1773b41e93ff3e628adc037dc29910160405180910390a19392505050565b62000b6e62000f9f565b6001600160a01b038216600081815260666020908152604091829020849055815192835282018390527fa1ee82e4f177a8017f33ddddac05b7ceab1de9d46f7195e15e8aa2e8b88f3b1c910162000850565b600054610100900460ff161580801562000be15750600054600160ff909116105b8062000bfd5750303b15801562000bfd575060005460ff166001145b62000c715760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a6564000000000000000000000000000000000000606482015260840162000406565b6000805460ff19166001179055801562000c95576000805461ff0019166101001790555b62000c9f62000ffb565b600060655562000caf82620010d1565b6067805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0384169081179091556040519081527fbdf37c276f641820b141429d245add2552b4118c0866e5a78638e3de5ef18d9d9060200160405180910390a1801562000720576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200162000850565b62000d5b62000f9f565b6001600160a01b03811662000dd95760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f6464726573730000000000000000000000000000000000000000000000000000606482015260840162000406565b620005ac8162001072565b620005ac62000f9f565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff161562000e295762000e248362001112565b505050565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa92505050801562000e86575060408051601f3d908101601f1916820190925262000e839181019062001a4c565b60015b62000efa5760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201527f6f6e206973206e6f742055555053000000000000000000000000000000000000606482015260840162000406565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc811462000f915760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f7860448201527f6961626c65555549440000000000000000000000000000000000000000000000606482015260840162000406565b5062000e24838383620011df565b6033546001600160a01b031633146200096c5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640162000406565b600054610100900460ff16620010685760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b606482015260840162000406565b6200096c62001210565b603380546001600160a01b0383811673ffffffffffffffffffffffffffffffffffffffff19831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b038116620005ac576040517fe622e04000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0381163b620011915760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201527f6f74206120636f6e747261637400000000000000000000000000000000000000606482015260840162000406565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b620011ea8362001288565b600082511180620011f85750805b1562000e24576200120a8383620012ca565b50505050565b600054610100900460ff166200127d5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b606482015260840162000406565b6200096c3362001072565b620012938162001112565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6060620012f283836040518060600160405280602781526020016200da3760279139620012f9565b9392505050565b6060600080856001600160a01b03168560405162001318919062001a66565b600060405180830381855af49150503d806000811462001355576040519150601f19603f3d011682016040523d82523d6000602084013e6200135a565b606091505b50915091506200136d8683838762001377565b9695505050505050565b60608315620013eb578251600003620013e3576001600160a01b0385163b620013e35760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640162000406565b5081620013f7565b620013f78383620013ff565b949350505050565b815115620014105781518083602001fd5b8060405162461bcd60e51b815260040162000406919062001a84565b61baaf8062001a9a83390190565b6104ee806200d54983390190565b6001600160a01b0381168114620005ac57600080fd5b80356200146b8162001448565b919050565b6000602082840312156200148357600080fd5b8135620012f28162001448565b634e487b7160e01b600052604160045260246000fd5b6040516101a0810167ffffffffffffffff81118282101715620014cd57620014cd62001490565b60405290565b600067ffffffffffffffff80841115620014f157620014f162001490565b604051601f8501601f19908116603f011681019082821181831017156200151c576200151c62001490565b816040528093508581528686860111156200153657600080fd5b858560208301376000602087830101525050509392505050565b600080604083850312156200156457600080fd5b8235620015718162001448565b9150602083013567ffffffffffffffff8111156200158e57600080fd5b8301601f81018513620015a057600080fd5b620015b185823560208401620014d3565b9150509250929050565b803580151581146200146b57600080fd5b60008060408385031215620015e057600080fd5b8235620015ed8162001448565b9150620015fd60208401620015bb565b90509250929050565b600082601f8301126200161857600080fd5b620012f283833560208501620014d3565b6000604082840312156200163c57600080fd5b6040516040810167ffffffffffffffff828210818311171562001663576200166362001490565b816040528293508435835260208501359150808211156200168357600080fd5b50620016928582860162001606565b6020830152505092915050565b600060208284031215620016b257600080fd5b813567ffffffffffffffff80821115620016cb57600080fd5b908301906101a08286031215620016e157600080fd5b620016eb620014a6565b620016f6836200145e565b815262001706602084016200145e565b60208201526040830135604082015260608301356060820152608083013560808201526200173760a084016200145e565b60a08201526200174a60c084016200145e565b60c082015260e0830135828111156200176257600080fd5b620017708782860162001629565b60e083015250610100620017868185016200145e565b9082015261012083810135838111156200179f57600080fd5b620017ad8882870162001606565b828401525050610140620017c3818501620015bb565b908201526101608381013583811115620017dc57600080fd5b620017ea8882870162001606565b8284015250506101809150620018028284016200145e565b91810191909152949350505050565b600080604083850312156200182557600080fd5b8235620018328162001448565b946020939093013593505050565b6000600182016200186157634e487b7160e01b600052601160045260246000fd5b5060010190565b60005b83811015620018855781810151838201526020016200186b565b50506000910152565b60008151808452620018a881602086016020860162001868565b601f01601f19169290920160200192915050565b805182526000602082015160406020850152620013f760408501826200188e565b60208152620018f86020820183516001600160a01b03169052565b600060208301516200191560408401826001600160a01b03169052565b506040830151606083015260608301516080830152608083015160a083015260a08301516200194f60c08401826001600160a01b03169052565b5060c08301516001600160a01b03811660e08401525060e08301516101a06101008181860152620019856101c0860184620018bc565b90860151909250610120620019a4868201836001600160a01b03169052565b80870151915050601f19610140818786030181880152620019c685846200188e565b945080880151925050610160620019e08188018415159052565b80880151925050610180818786030181880152620019ff85846200188e565b9450808801519250505062001a1e828601826001600160a01b03169052565b5090949350505050565b6001600160a01b0383168152604060208201526000620013f760408301846200188e565b60006020828403121562001a5f57600080fd5b5051919050565b6000825162001a7a81846020870162001868565b9190910192915050565b602081526000620012f260208301846200188e56fe60a06040523060805234801561001457600080fd5b5060805161ba626200004d600039600081816119c001528181611a4701528181611bb501528181611c3c0152611d29015261ba626000f3fe608060405260043610620003ef5760003560e01c80636c53db9a116200020f578063a217fddf1162000123578063d547741f11620000ad578063ebd7dc521162000078578063ebd7dc521462000cfd578063f2fde38b1462000d22578063f86c5f891462000d47578063ff6409ef1462000d6a57600080fd5b8063d547741f1462000c7a578063d6d8428d1462000c9f578063d7050f071462000cc2578063db61d65c1462000cda57600080fd5b8063b64e39af11620000ee578063b64e39af1462000c0b578063b99b43701462000c32578063bc063e1a1462000c4a578063c6d572ae1462000c6257600080fd5b8063a217fddf1462000b51578063a230c5241462000b68578063b3f006741462000bd1578063b5058c501462000bf357600080fd5b806382d6a1e711620001a557806391d14854116200017057806391d148541462000a7557806396f0adec1462000abf57806397991cfa1462000ae4578063a0cf0aea1462000b2757600080fd5b806382d6a1e714620009a257806388cfe68414620009c75780638961be6b1462000a3d5780638da5cb5b1462000a5557600080fd5b8063733a2d1f11620001e6578063733a2d1f14620008e65780637817ee4f146200091c57806378a0b8a914620009675780637b103999146200097f57600080fd5b80636c53db9a1462000886578063715018a614620008a957806373265c3714620008c157600080fd5b80633396045911620003075780634f1ef286116200029d5780635ecf71c511620002685780635ecf71c514620007dc57806365e3864c14620008015780636871eb4d146200083e57806368decabb146200086357600080fd5b80634f1ef286146200076557806352d1902d146200077c578063559de05d14620007945780635c94e4d214620007b957600080fd5b80633659cfe611620002de5780633659cfe614620006a6578063397e254314620006cb5780633a871fe114620006f0578063477a5cc0146200072557600080fd5b80633396045914620006505780633517aa7d146200066957806336568abe146200068157600080fd5b8063223e547911620003895780632b38c69c11620003545780632b38c69c146200058a5780632c611c4a14620005c85780632f2ff15d146200060657806331f61bca146200062b57600080fd5b8063223e547914620004f457806322bcf9991462000519578063248a9ca3146200053e57806328c309e9146200057257600080fd5b80630d12bbdb11620003ca5780630d12bbdb14620004675780630d4a8b49146200048e578063175188e814620004b35780631f787d2814620004d857600080fd5b806301ffc9a714620003f45780630331383c146200042e57806308386eba146200044f575b600080fd5b3480156200040157600080fd5b50620004196200041336600462004b7e565b62000d8f565b60405190151581526020015b60405180910390f35b3480156200043b57600080fd5b5060fc545b60405190815260200162000425565b3480156200045c57600080fd5b506200044060fe5481565b3480156200047457600080fd5b506200048c6200048636600462004baa565b62000de0565b005b3480156200049b57600080fd5b506200048c620004ad36600462004bec565b62000e6f565b348015620004c057600080fd5b506200048c620004d236600462004c2a565b620011f7565b348015620004e557600080fd5b5060fb54620004199060ff1681565b3480156200050157600080fd5b506200048c6200051336600462004c2a565b6200120f565b3480156200052657600080fd5b506200048c6200053836600462004bec565b62001224565b3480156200054b57600080fd5b50620004406200055d36600462004baa565b600090815260c9602052604090206001015490565b3480156200057f57600080fd5b506200044062001340565b3480156200059757600080fd5b50620005af620005a936600462004c4a565b6200143e565b6040516001600160a01b03909116815260200162000425565b348015620005d557600080fd5b5062000440620005e736600462004c2a565b6001600160a01b0316600090815261010c602052604090206001015490565b3480156200061357600080fd5b506200048c6200062536600462004c79565b62001478565b3480156200063857600080fd5b506200048c6200064a36600462004baa565b620014a6565b3480156200065d57600080fd5b50620004406101025481565b3480156200067657600080fd5b506200048c620014e6565b3480156200068e57600080fd5b506200048c620006a036600462004c79565b62001922565b348015620006b357600080fd5b506200048c620006c536600462004c2a565b620019b6565b348015620006d857600080fd5b506200048c620006ea36600462004c2a565b62001b37565b348015620006fd57600080fd5b50620004196200070f36600462004c2a565b61010a6020526000908152604090205460ff1681565b3480156200073257600080fd5b50620004196200074436600462004bec565b61010e60209081526000928352604080842090915290825290205460ff1681565b6200048c6200077636600462004df9565b62001bab565b3480156200078957600080fd5b506200044062001d1c565b348015620007a157600080fd5b506200048c620007b336600462004baa565b62001de3565b348015620007c657600080fd5b5061010154620005af906001600160a01b031681565b348015620007e957600080fd5b506200048c620007fb36600462004baa565b620020e2565b3480156200080e57600080fd5b50620004406200082036600462004bec565b61010b60209081526000928352604080842090915290825290205481565b3480156200084b57600080fd5b506200048c6200085d36600462004bec565b620024d3565b3480156200087057600080fd5b5061010354620005af906001600160a01b031681565b3480156200089357600080fd5b5061010654620005af906001600160a01b031681565b348015620008b657600080fd5b506200048c620026ee565b348015620008ce57600080fd5b506200048c620008e036600462004baa565b62002704565b348015620008f357600080fd5b50620004407f03be538b6391ddcd7f2649585cc95b120c9e2a613f70714fbb55345057d809fa81565b3480156200092957600080fd5b50620004406200093b36600462004bec565b6001600160a01b03918216600090815261010b6020908152604080832093909416825291909152205490565b3480156200097457600080fd5b506200044060fc5481565b3480156200098c57600080fd5b5061010454620005af906001600160a01b031681565b348015620009af57600080fd5b506200048c620009c136600462004baa565b620027a0565b348015620009d457600080fd5b5062000a15620009e636600462004c2a565b61010c602052600090815260409020805460018201546002909201546001600160a01b03909116919060ff1683565b604080516001600160a01b039094168452602084019290925215159082015260600162000425565b34801562000a4a57600080fd5b506200044060fd5481565b34801562000a6257600080fd5b506033546001600160a01b0316620005af565b34801562000a8257600080fd5b506200041962000a9436600462004c79565b600091825260c9602090815260408084206001600160a01b0393909316845291905290205460ff1690565b34801562000acc57600080fd5b506200048c62000ade36600462004efb565b6200285e565b34801562000af157600080fd5b5062000b0962000b0336600462005187565b62002ef4565b604080519283526001600160a01b0390911660208301520162000425565b34801562000b3457600080fd5b50620005af73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b34801562000b5e57600080fd5b5062000440600081565b34801562000b7557600080fd5b506200041962000b8736600462004c2a565b6001600160a01b03908116600090815261010c60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff161515910181905290565b34801562000bde57600080fd5b5060ff54620005af906001600160a01b031681565b34801562000c0057600080fd5b506200048c62002fd9565b34801562000c1857600080fd5b5062000c2362003029565b60405162000425919062005246565b34801562000c3f57600080fd5b506200048c620030c0565b34801562000c5757600080fd5b506200044062003232565b34801562000c6f57600080fd5b5062000c2362003244565b34801562000c8757600080fd5b506200048c62000c9936600462004c79565b62003254565b34801562000cac57600080fd5b5061010754620005af906001600160a01b031681565b34801562000ccf57600080fd5b506200044061271081565b34801562000ce757600080fd5b5061010554620005af906001600160a01b031681565b34801562000d0a57600080fd5b506200041962000d1c36600462004c2a565b6200327d565b34801562000d2f57600080fd5b506200048c62000d4136600462004c2a565b620032be565b34801562000d5457600080fd5b5061010054620005af906001600160a01b031681565b34801562000d7757600080fd5b5062000b0962000d893660046200525b565b62003351565b60006001600160e01b031982167f7965db0b00000000000000000000000000000000000000000000000000000000148062000dda57506301ffc9a760e01b6001600160e01b03198316145b92915050565b62000dea620034de565b62000df9612710600a620052f1565b81111562000e33576040517ffe925f7d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60fd8190556040518181527f611668bfcf654a99c33cdb66c29ec37a5aae5c1287d2d9715a24e18cb4d806d6906020015b60405180910390a150565b62000e7a8262003547565b62000e8581620035ac565b62000e908162003600565b6001600160a01b03808316600090815261010e602090815260408083209385168352929052205460ff161562000ef2576040517fd5b9bc9600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b03808316600090815261010c602090815260409182902082516060810184528154909416845260018101549184018290526002015460ff1615159183019190915260fc546003846001600160a01b031663c32921716040518163ffffffff1660e01b81526004016020604051808303816000875af115801562000f80573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000fa6919062005321565b600381111562000fba5762000fba6200530b565b036200103e5760405163782aadff60e01b81526001600160a01b0386811660048301526000602483015285169063782aadff906044016020604051808303816000875af115801562001010573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001036919062005341565b90506200113a565b6000846001600160a01b031663c32921716040518163ffffffff1660e01b81526004016020604051808303816000875af115801562001081573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620010a7919062005321565b6003811115620010bb57620010bb6200530b565b146200113a5760405163782aadff60e01b81526001600160a01b0386811660048301526024820184905285169063782aadff906044016020604051808303816000875af115801562001111573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001137919062005341565b90505b6001600160a01b03858116600081815261010b6020908152604080832094891680845294825280832086905583835261010e82528083208584528252808320805460ff1916600190811790915584845261010d83528184208054918201815584529282902090920180546001600160a01b0319168517905581519283528201929092529081018290527ff56fa57e85e169a12200d12d9921ec069b52e688f6d309d9dab7bceff54614ec9060600160405180910390a15050505050565b62001201620034de565b6200120c8162003641565b50565b62001219620034de565b6200120c816200369f565b6200122f8262003547565b6200123a8162003600565b6200124633826200374a565b6001600160a01b03808316600090815261010e602090815260408083209385168352929052205460ff16620012a7576040517fc12369dc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b03808316600081815261010e60209081526040808320948616808452948252808320805460ff1916905592825261010b815282822093825292909252812055620012f9828262003796565b604080516001600160a01b038085168252831660208201527ede109bef4619f7e2cf00c8e5a50ca55f8deb44f87087eed414a91dbf8d1d1b91015b60405180910390a15050565b610100546000906001600160a01b031681620013606127106064620052f1565b60fd5460fc54620013729190620052f1565b6200137e91906200535b565b90506000620013916127106064620052f1565b6040516302a64b8360e21b81523060048201526001600160a01b03851690630a992e0c90602401602060405180830381865afa158015620013d6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620013fc919062005341565b60fc546200140b9190620052f1565b6200141791906200535b565b9050808260fc546200142a91906200537e565b6200143691906200537e565b935050505090565b61010d60205281600052604060002081815481106200145c57600080fd5b6000918252602090912001546001600160a01b03169150829050565b600082815260c960205260409020600101546200149581620038cc565b620014a18383620038d8565b505050565b620014b0620034de565b60fc8190556040518181527f5bcc2c453001fb0e2ba6266d56ecb411e7c6e15c8f9c3d301f93dd36ad25726f9060200162000e64565b620014f06200397c565b33600081815261010c602052604081206101005490916001600160a01b0390911690620015216127106064620052f1565b60fd5460fc54620015339190620052f1565b6200153f91906200535b565b90506000620015526127106064620052f1565b6040516302a64b8360e21b81523060048201526001600160a01b03851690630a992e0c90602401602060405180830381865afa15801562001597573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620015bd919062005341565b60fc54620015cc9190620052f1565b620015d891906200535b565b6001600160a01b03808716600090815261010c60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff1615159101819052909150620019105760028401805460ff1916600190811790915560fc549085015560408051808201909152600b81527f67617264656e546f6b656e0000000000000000000000000000000000000000006020820152610105546200168d91906001600160a01b0316620039d7565b620016c68530838560fc54620016a491906200537e565b620016b091906200537e565b610105546001600160a01b031692919062003a39565b620017076040518060400160405280601281526020017f636f6d6d756e697479466565416d6f756e7400000000000000000000000000008152508362003abf565b81156200177a5760408051808201909152600b81527f6665655265636569766572000000000000000000000000000000000000000000602082015260ff546200175a91906001600160a01b0316620039d7565b60ff54610105546200177a916001600160a01b0391821691168462003b21565b620017bb6040518060400160405280601081526020017f67617264656e73466565416d6f756e74000000000000000000000000000000008152508262003abf565b8015620018c9576200184b6040518060600160405280602681526020016200b9e060269139846001600160a01b031663987435be6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200181f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001845919062005394565b620039d7565b620018c9836001600160a01b031663987435be6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200188e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620018b4919062005394565b610105546001600160a01b0316908362003b21565b60fc54604080516001600160a01b038816815260208101929092527f67e0244e28040fec15240cd4b6c04c776a2a0278caef23b59e8ada1df31f7689910160405180910390a15b5050505050620019206001606555565b565b6001600160a01b0381163314620019a65760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201527f20726f6c657320666f722073656c66000000000000000000000000000000000060648201526084015b60405180910390fd5b620019b2828262003b5a565b5050565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016300362001a455760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b19195b1959d85d1958d85b1b60a21b60648201526084016200199d565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031662001aa17f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b6001600160a01b03161462001b0e5760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b6163746976652070726f787960a01b60648201526084016200199d565b62001b198162003bde565b604080516000808252602082019092526200120c9183919062003be8565b62001b41620034de565b62001b4c8162003600565b61010380546001600160a01b0319166001600160a01b03838116918217909255610106546040805191909316815260208101919091527f83eac9fdaff0ac1017624b7eddeb9782e3d707cd894073cb7e8301a41c6e5cf8910162000e64565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016300362001c3a5760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b19195b1959d85d1958d85b1b60a21b60648201526084016200199d565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031662001c967f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b6001600160a01b03161462001d035760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b6163746976652070726f787960a01b60648201526084016200199d565b62001d0e8262003bde565b620019b28282600162003be8565b6000306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161462001dbe5760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c000000000000000060648201526084016200199d565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc90565b62001ded6200397c565b62001df762003d94565b33600081815261010d602090815260408083208054825181850281018501909352808352919290919083018282801562001e5b57602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831162001e3c575b50505050509050600080600090505b8251811015620020425782818151811062001e895762001e89620053b4565b602090810291909101015160405163782aadff60e01b81526001600160a01b038681166004830152602482018890529091169063782aadff906044016020604051808303816000875af115801562001ee5573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001f0b919062005341565b915081156200202d576001600160a01b038416600090815261010b60205260408120845184929086908590811062001f475762001f47620053b4565b60200260200101516001600160a01b03166001600160a01b03168152602001908152602001600020600082825462001f8091906200537e565b925050819055506200202d6040518060400160405280600e81526020017f537472617465677920706f77657200000000000000000000000000000000000081525061010b6000876001600160a01b03166001600160a01b03168152602001908152602001600020600086858151811062001ffe5762001ffe620053b4565b60200260200101516001600160a01b03166001600160a01b031681526020019081526020016000205462003abf565b806200203981620053ca565b91505062001e6a565b50610105546200205e906001600160a01b031684308762003a39565b6001600160a01b038316600090815261010c6020526040812060010180548692906200208c9084906200537e565b9091555050604080516001600160a01b0385168152602081018690527f576605f9bfe8911e7508bed3763c7c5c8eb3b86e8b360b90a4bc6abe1104cb7f91015b60405180910390a15050506200120c6001606555565b620020ec6200397c565b620020f662003d94565b33600081815261010d6020908152604080832060fc5461010c90935290832060010154909291906200212a908690620053e6565b101562002163576040517f9c47d02e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610105546200217d906001600160a01b0316848662003b21565b60005b82548110156200245f576000838281548110620021a157620021a1620053b4565b6000918252602090912001546001600160a01b03169050620021cb8163f1801e6160e01b62003df5565b1562002383576040517f2ed04b2b0000000000000000000000000000000000000000000000000000000081526001600160a01b03868116600483015260248201889052821690632ed04b2b906044016020604051808303816000875af11580156200223a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002260919062005341565b9250600061010b6000876001600160a01b03166001600160a01b031681526020019081526020016000206000868581548110620022a157620022a1620053b4565b60009182526020808320909101546001600160a01b031683528201929092526040019020549050808411156200230e576040517f8a11f31800000000000000000000000000000000000000000000000000000000815260048101859052602481018290526044016200199d565b6001600160a01b038616600090815261010b602052604081208654869290889087908110620023415762002341620053b4565b60009182526020808320909101546001600160a01b031683528201929092526040018120805490919062002377908490620053e6565b90915550505062002449565b835484906200239590600190620053e6565b81548110620023a857620023a8620053b4565b9060005260206000200160009054906101000a90046001600160a01b0316848381548110620023db57620023db620053b4565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b03160217905550838054806200241c576200241c620053fc565b600082815260209020810160001990810180546001600160a01b0319169055019055620024498162003641565b50806200245681620053ca565b91505062002180565b506001600160a01b038316600090815261010c6020526040812060010180548692906200248e908490620053e6565b9091555050604080516001600160a01b0385168152602081018690527f6ee2c70b2d6b89ae808a2313aab43e925c06624271419cd665d85cfa1ae04ff89101620020cc565b620024dd6200397c565b620024e7620034de565b60fb5460ff1662002524576040517fcb63dc7200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b03808316600090815261010c60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff16151591018190526200258957604051636a5cfb6d60e01b815260040160405180910390fd5b6001600160a01b03808316600090815261010c60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff16151590820152620025da8362003e1d565b6001600160a01b03838116600090815261010c6020908152604080832080546001600160a01b031916815560018101939093556002909201805460ff191690556101055490840151915163a9059cbb60e01b8152858416600482015260248101929092529091169063a9059cbb906044016020604051808303816000875af11580156200266b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002691919062005412565b50602080820151604080516001600160a01b0380881682528616938101939093528201527fb5946f249f8744efe9d14d49a483b54a589b1362944ff6694de93456cceb96a39060600160405180910390a150620019b26001606555565b620026f862003f4b565b62001920600062003fa7565b6200270e620034de565b6101075460405163068bcd8d60e01b8152600481018390526000916001600160a01b03169063068bcd8d90602401600060405180830381865afa1580156200275a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405262002784919081019062005432565b602001519050620027958162003600565b620019b28162003641565b620027aa620034de565b6101075460405163068bcd8d60e01b8152600481018390526000916001600160a01b03169063068bcd8d90602401600060405180830381865afa158015620027f6573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405262002820919081019062005432565b602001519050620028318162003600565b6200284d6001600160a01b03821663f1801e6160e01b62003df5565b15620019b257620019b2816200369f565b600054610100900460ff16158080156200287f5750600054600160ff909116105b806200289b5750303b1580156200289b575060005460ff166001145b6200290f5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084016200199d565b6000805460ff19166001179055801562002933576000805461ff0019166101001790555b6200293d62003ff9565b6200294762004070565b62002951620040e7565b6200297e7f03be538b6391ddcd7f2649585cc95b120c9e2a613f70714fbb55345057d809fa600062004154565b6200298d826020015162003600565b6200299d82610100015162003600565b8151620029aa9062003600565b620029b98260a0015162003600565b620029c982610180015162003600565b606082015115620029e357620029e38260c0015162003600565b815161010780546001600160a01b039283166001600160a01b03199182161790915560208401516101058054919093169116179055604082015160000362002a57576040517fc70d18aa00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604082015160fc55606082015160fd5561014082015160fb805460ff19169115159190911790556101208201516101089062002a949082620055f7565b506101608201516101099062002aab9082620055f7565b5060a082015161010080546001600160a01b03199081166001600160a01b0393841617825560c085015160ff8054831691851691909117905590840151610106805483168285161790556101808501516101018054909316931692909217905562002b38907f03be538b6391ddcd7f2649585cc95b120c9e2a613f70714fbb55345057d809fa90620038d8565b61010760009054906101000a90046001600160a01b03166001600160a01b0316635ab1bd536040518163ffffffff1660e01b8152600401602060405180830381865afa15801562002b8d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002bb3919062005394565b61010480546001600160a01b0319166001600160a01b0392831617905561010654604080517fa0e67e2b0000000000000000000000000000000000000000000000000000000081529051600093929092169163a0e67e2b9160048082019286929091908290030181865afa15801562002c30573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405262002c5a9190810190620056c4565b905060008151600262002c6e91906200537e565b67ffffffffffffffff81111562002c895762002c8962004ca1565b60405190808252806020026020018201604052801562002cb3578160200160208202803683370190505b50905060005b825181101562002d225782818151811062002cd85762002cd8620053b4565b602002602001015182828151811062002cf55762002cf5620053b4565b6001600160a01b03909216602092830291909101909101528062002d1981620053ca565b91505062002cb9565b506101065481516001600160a01b0390911690829062002d4590600190620053e6565b8151811062002d585762002d58620053b4565b60200260200101906001600160a01b031690816001600160a01b03168152505030816002835162002d8a9190620053e6565b8151811062002d9d5762002d9d620053b4565b6001600160a01b03928316602091820292909201015261010454608086015160e08701516040517f3a92f65f0000000000000000000000000000000000000000000000000000000081529290931692633a92f65f9262002e09929161010891309088906004016200586f565b6020604051808303816000875af115801562002e29573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002e4f919062005341565b60fe55805162002e689061010f90602084019062004ac6565b507f2f2ffcb06f8a1d35e2716f6b43ef2c19bfa76467d8f66964ae12c2583ed0320560fe546101088660e0015160405162002ea693929190620058c3565b60405180910390a150508015620019b2576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200162001334565b600080600060405162002f079062004b30565b604051809103906000f08015801562002f24573d6000803e3d6000fd5b5061010754604080516001600160a01b0390921660248084019190915281518084039091018152604490920181526020820180516001600160e01b03167f19ab453c000000000000000000000000000000000000000000000000000000001790525162002f919062004b3e565b62002f9e929190620058f2565b604051809103906000f08015801562002fbb573d6000803e3d6000fd5b50905062002fcc8187878762003351565b9250925050935093915050565b610103546001600160a01b031633146200301f576040517febcd0d6e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b620019206200419f565b6101098054620030399062005569565b80601f0160208091040260200160405190810160405280929190818152602001828054620030679062005569565b8015620030b85780601f106200308c57610100808354040283529160200191620030b8565b820191906000526020600020905b8154815290600101906020018083116200309a57829003601f168201915b505050505081565b620030ca6200397c565b33620030d68162003547565b620030e18162003e1d565b6001600160a01b03808216600081815261010c602090815260408083208151606081018352815496871681526001820180548286015260028301805460ff81161515848701529787526001600160a01b03199098169092559084905560ff1990941690945561010d905291822090916200315c919062004b4c565b61010554602082015160405163a9059cbb60e01b81526001600160a01b038581166004830152602482019290925291169063a9059cbb906044016020604051808303816000875af1158015620031b6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620031dc919062005412565b50602080820151604080516001600160a01b0386168152928301919091527fa13f4668aacb68c4e9eed8e3f6e1cbec3eca776896ec46b5eabcc3983fc8f5f4910160405180910390a15050620019206001606555565b62003241612710600a620052f1565b81565b6101088054620030399062005569565b600082815260c960205260409020600101546200327181620038cc565b620014a1838362003b5a565b6001600160a01b03811660009081527fa867e09674d469ee17077111ff66261f5d2fc5820cc6914676cb47231da58818602052604081205460ff1662000dda565b620032c862003f4b565b6001600160a01b038116620033465760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084016200199d565b6200120c8162003fa7565b60008073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6001600160a01b038616156200337c5750845b869150600061010f805480602002602001604051908101604052809291908181526020018280548015620033da57602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311620033bb575b50506101075460fe546040519596506001600160a01b039091169463e1007d4a945090925087915062003412908b906020016200592d565b6040516020818303038152906040528660008b886040518863ffffffff1660e01b81526004016200344a9796959493929190620059cb565b6020604051808303816000875af11580156200346a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062003490919062005341565b93507f778cac0ae0b66477341553a4a89398c61ccf448313d3354ad0ca85a5a825d2838484308a89604051620034cb95949392919062005a3d565b60405180910390a1505094509492505050565b3360009081527fa867e09674d469ee17077111ff66261f5d2fc5820cc6914676cb47231da58818602052604090205460ff1662001920576040517ff62651fa00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b03808216600090815261010c60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff16151591018190526200120c57604051636a5cfb6d60e01b815260040160405180910390fd5b6001600160a01b038116600090815261010a602052604090205460ff166200120c576040517f46c26e4b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0381166200120c576040517fe622e04000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6200364c8162003600565b6001600160a01b038116600081815261010a6020908152604091829020805460ff1916905590519182527f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea4910162000e64565b6001600160a01b038116600090815261010a602052604090205460ff1615620036f4576040517f968a4d2c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038116600081815261010a6020908152604091829020805460ff1916600117905590519182527f3f008fd510eae7a9e7bee13513d7b83bef8003d488b5a3d0b0da4de71d6846f1910162000e64565b806001600160a01b0316826001600160a01b031614620019b2576040517fbbe7961100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038216600090815261010d60205260408120905b8154811015620038c657826001600160a01b0316828281548110620037da57620037da620053b4565b6000918252602090912001546001600160a01b031603620038b157815482906200380790600190620053e6565b815481106200381a576200381a620053b4565b9060005260206000200160009054906101000a90046001600160a01b03168282815481106200384d576200384d620053b4565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b03160217905550818054806200388e576200388e620053fc565b600082815260209020810160001990810180546001600160a01b03191690550190555b80620038bd81620053ca565b915050620037b1565b50505050565b6200120c8133620041fc565b600082815260c9602090815260408083206001600160a01b038516845290915290205460ff16620019b257600082815260c9602090815260408083206001600160a01b03851684529091529020805460ff19166001179055620039383390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b600260655403620039d05760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064016200199d565b6002606555565b620019b28282604051602401620039f092919062005a79565b60408051601f198184030181529190526020810180516001600160e01b03167f319af333000000000000000000000000000000000000000000000000000000001790526200427a565b6040516001600160a01b0380851660248301528316604482015260648101829052620038c69085907f23b872dd00000000000000000000000000000000000000000000000000000000906084015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091526200429b565b620019b2828260405160240162003ad892919062005aa6565b60408051601f198184030181529190526020810180516001600160e01b03167f9710a9d0000000000000000000000000000000000000000000000000000000001790526200427a565b6040516001600160a01b038316602482015260448101829052620014a190849063a9059cbb60e01b9060640162003a87565b6001606555565b600082815260c9602090815260408083206001600160a01b038516845290915290205460ff1615620019b257600082815260c9602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b6200120c62003f4b565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff161562003c1e57620014a1836200438a565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa92505050801562003c7b575060408051601f3d908101601f1916820190925262003c789181019062005341565b60015b62003cef5760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201527f6f6e206973206e6f74205555505300000000000000000000000000000000000060648201526084016200199d565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc811462003d865760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f7860448201527f6961626c6555554944000000000000000000000000000000000000000000000060648201526084016200199d565b50620014a18383836200444a565b33600090815261010c6020908152604091829020825160608101845281546001600160a01b031681526001820154928101929092526002015460ff16151591018190526200192057604051636a5cfb6d60e01b815260040160405180910390fd5b600062003e028362004475565b801562003e16575062003e168383620044ad565b9392505050565b6001600160a01b038116600090815261010d602090815260408083208054825181850281018501909352808352919290919083018282801562003e8a57602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831162003e6b575b5050505050905060005b8151811015620014a15781818151811062003eb35762003eb3620053b4565b60209081029190910101516040517f6453d9c40000000000000000000000000000000000000000000000000000000081526001600160a01b03858116600483015290911690636453d9c490602401600060405180830381600087803b15801562003f1c57600080fd5b505af115801562003f31573d6000803e3d6000fd5b50505050808062003f4290620053ca565b91505062003e94565b6033546001600160a01b03163314620019205760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016200199d565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600054610100900460ff16620040665760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b60648201526084016200199d565b6200192062004538565b600054610100900460ff16620040dd5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b60648201526084016200199d565b62001920620045b0565b600054610100900460ff16620019205760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b60648201526084016200199d565b600082815260c96020526040808220600101805490849055905190918391839186917fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff9190a4505050565b610103805461010680546001600160a01b0383166001600160a01b031991821617909155169055604051600081527fad0399dc40331b9a4977aa89da7a164a3fd482c65e6da73b25a94ea74fb688729060200160405180910390a1565b600082815260c9602090815260408083206001600160a01b038516845290915290205460ff16620019b25762004232816200461d565b6200423f83602062004630565b6040516020016200425292919062005aca565b60408051601f198184030181529082905262461bcd60e51b82526200199d9160040162005246565b80516a636f6e736f6c652e6c6f67602083016000808483855afa5050505050565b6000620042f2826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166200482f9092919063ffffffff16565b90508051600014806200431657508080602001905181019062004316919062005412565b620014a15760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f7420737563636565640000000000000000000000000000000000000000000060648201526084016200199d565b6001600160a01b0381163b620044095760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201527f6f74206120636f6e74726163740000000000000000000000000000000000000060648201526084016200199d565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b620044558362004848565b600082511180620044635750805b15620014a157620038c683836200488a565b60006200448a826301ffc9a760e01b620044ad565b801562000dda5750620044a6826001600160e01b0319620044ad565b1592915050565b604080516001600160e01b03198316602480830191909152825180830390910181526044909101909152602080820180516001600160e01b03166301ffc9a760e01b178152825160009392849283928392918391908a617530fa92503d9150600051905082801562004520575060208210155b80156200452d5750600081115b979650505050505050565b600054610100900460ff16620045a55760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b60648201526084016200199d565b620019203362003fa7565b600054610100900460ff1662003b535760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b60648201526084016200199d565b606062000dda6001600160a01b03831660145b6060600062004641836002620052f1565b6200464e9060026200537e565b67ffffffffffffffff81111562004669576200466962004ca1565b6040519080825280601f01601f19166020018201604052801562004694576020820181803683370190505b5090507f300000000000000000000000000000000000000000000000000000000000000081600081518110620046ce57620046ce620053b4565b60200101906001600160f81b031916908160001a9053507f7800000000000000000000000000000000000000000000000000000000000000816001815181106200471c576200471c620053b4565b60200101906001600160f81b031916908160001a905350600062004742846002620052f1565b6200474f9060016200537e565b90505b6001811115620047de577f303132333435363738396162636465660000000000000000000000000000000085600f1660108110620047945762004794620053b4565b1a60f81b828281518110620047ad57620047ad620053b4565b60200101906001600160f81b031916908160001a90535060049490941c93620047d68162005b4f565b905062004752565b50831562003e165760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e7460448201526064016200199d565b6060620048408484600085620048b2565b949350505050565b62004853816200438a565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b606062003e1683836040518060600160405280602781526020016200ba0660279139620049a1565b6060824710156200492c5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c000000000000000000000000000000000000000000000000000060648201526084016200199d565b600080866001600160a01b031685876040516200494a919062005b69565b60006040518083038185875af1925050503d806000811462004989576040519150601f19603f3d011682016040523d82523d6000602084013e6200498e565b606091505b50915091506200452d8783838762004a1f565b6060600080856001600160a01b031685604051620049c0919062005b69565b600060405180830381855af49150503d8060008114620049fd576040519150601f19603f3d011682016040523d82523d6000602084013e62004a02565b606091505b509150915062004a158683838762004a1f565b9695505050505050565b6060831562004a9357825160000362004a8b576001600160a01b0385163b62004a8b5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016200199d565b508162004840565b62004840838381511562004aaa5781518083602001fd5b8060405162461bcd60e51b81526004016200199d919062005246565b82805482825590600052602060002090810192821562004b1e579160200282015b8281111562004b1e57825182546001600160a01b0319166001600160a01b0390911617825560209092019160019091019062004ae7565b5062004b2c92915062004b67565b5090565b61596a8062005b8883390190565b6104ee806200b4f283390190565b50805460008255906000526020600020908101906200120c91905b5b8082111562004b2c576000815560010162004b68565b60006020828403121562004b9157600080fd5b81356001600160e01b03198116811462003e1657600080fd5b60006020828403121562004bbd57600080fd5b5035919050565b6001600160a01b03811681146200120c57600080fd5b803562004be78162004bc4565b919050565b6000806040838503121562004c0057600080fd5b823562004c0d8162004bc4565b9150602083013562004c1f8162004bc4565b809150509250929050565b60006020828403121562004c3d57600080fd5b813562003e168162004bc4565b6000806040838503121562004c5e57600080fd5b823562004c6b8162004bc4565b946020939093013593505050565b6000806040838503121562004c8d57600080fd5b82359150602083013562004c1f8162004bc4565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff8111828210171562004cdd5762004cdd62004ca1565b60405290565b6040516101a0810167ffffffffffffffff8111828210171562004cdd5762004cdd62004ca1565b604051610120810167ffffffffffffffff8111828210171562004cdd5762004cdd62004ca1565b60405160c0810167ffffffffffffffff8111828210171562004cdd5762004cdd62004ca1565b604051601f8201601f1916810167ffffffffffffffff8111828210171562004d835762004d8362004ca1565b604052919050565b600067ffffffffffffffff82111562004da85762004da862004ca1565b50601f01601f191660200190565b600062004dcd62004dc78462004d8b565b62004d57565b905082815283838301111562004de257600080fd5b828260208301376000602084830101529392505050565b6000806040838503121562004e0d57600080fd5b823562004e1a8162004bc4565b9150602083013567ffffffffffffffff81111562004e3757600080fd5b8301601f8101851362004e4957600080fd5b62004e5a8582356020840162004db6565b9150509250929050565b600082601f83011262004e7657600080fd5b62003e168383356020850162004db6565b60006040828403121562004e9a57600080fd5b62004ea462004cb7565b905081358152602082013567ffffffffffffffff81111562004ec557600080fd5b62004ed38482850162004e64565b60208301525092915050565b80151581146200120c57600080fd5b803562004be78162004edf565b60006020828403121562004f0e57600080fd5b813567ffffffffffffffff8082111562004f2757600080fd5b908301906101a0828603121562004f3d57600080fd5b62004f4762004ce3565b62004f528362004bda565b815262004f626020840162004bda565b602082015260408301356040820152606083013560608201526080830135608082015262004f9360a0840162004bda565b60a082015262004fa660c0840162004bda565b60c082015260e08301358281111562004fbe57600080fd5b62004fcc8782860162004e87565b60e08301525061010062004fe281850162004bda565b90820152610120838101358381111562004ffb57600080fd5b620050098882870162004e64565b8284015250506101406200501f81850162004eee565b9082015261016083810135838111156200503857600080fd5b620050468882870162004e64565b82840152505061018091506200505e82840162004bda565b91810191909152949350505050565b80356003811062004be757600080fd5b600481106200120c57600080fd5b803562004be7816200507d565b600060208284031215620050ab57600080fd5b6040516020810181811067ffffffffffffffff82111715620050d157620050d162004ca1565b6040529135825250919050565b60006101208284031215620050f257600080fd5b620050fc62004d0a565b9050620051098262004bda565b8152602082013560208201526040820135604082015260608201356060820152608082013560808201526200514160a083016200506d565b60a08201526200515460c083016200508b565b60c0820152620051688360e0840162005098565b60e08201526101006200517d81840162004bda565b9082015292915050565b600080600061016084860312156200519e57600080fd5b8335620051ab8162004bc4565b9250620051bc8560208601620050de565b915061014084013567ffffffffffffffff811115620051da57600080fd5b620051e88682870162004e87565b9150509250925092565b60005b838110156200520f578181015183820152602001620051f5565b50506000910152565b6000815180845262005232816020860160208601620051f2565b601f01601f19169290920160200192915050565b60208152600062003e16602083018462005218565b60008060008061018085870312156200527357600080fd5b8435620052808162004bc4565b93506020850135620052928162004bc4565b9250620052a38660408701620050de565b915061016085013567ffffffffffffffff811115620052c157600080fd5b620052cf8782880162004e87565b91505092959194509250565b634e487b7160e01b600052601160045260246000fd5b808202811582820484141762000dda5762000dda620052db565b634e487b7160e01b600052602160045260246000fd5b6000602082840312156200533457600080fd5b815162003e16816200507d565b6000602082840312156200535457600080fd5b5051919050565b6000826200537957634e487b7160e01b600052601260045260246000fd5b500490565b8082018082111562000dda5762000dda620052db565b600060208284031215620053a757600080fd5b815162003e168162004bc4565b634e487b7160e01b600052603260045260246000fd5b600060018201620053df57620053df620052db565b5060010190565b8181038181111562000dda5762000dda620052db565b634e487b7160e01b600052603160045260246000fd5b6000602082840312156200542557600080fd5b815162003e168162004edf565b600060208083850312156200544657600080fd5b825167ffffffffffffffff808211156200545f57600080fd5b9084019060c082870312156200547457600080fd5b6200547e62004d31565b8251815283830151620054918162004bc4565b818501526040830151620054a58162004bc4565b6040820152606083015182811115620054bd57600080fd5b830160408189031215620054d057600080fd5b620054da62004cb7565b815181528582015184811115620054f057600080fd5b82019350601f840189136200550457600080fd5b835191506200551762004dc78362004d8b565b82815289878487010111156200552c57600080fd5b6200553d83888301898801620051f2565b95810195909552506060810193909352506080818101519083015260a090810151908201529392505050565b600181811c908216806200557e57607f821691505b6020821081036200559f57634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620014a157600081815260208120601f850160051c81016020861015620055ce5750805b601f850160051c820191505b81811015620055ef57828155600101620055da565b505050505050565b815167ffffffffffffffff81111562005614576200561462004ca1565b6200562c8162005625845462005569565b84620055a5565b602080601f8311600181146200566457600084156200564b5750858301515b600019600386901b1c1916600185901b178555620055ef565b600085815260208120601f198616915b82811015620056955788860151825594840194600190910190840162005674565b5085821015620056b45787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60006020808385031215620056d857600080fd5b825167ffffffffffffffff80821115620056f157600080fd5b818501915085601f8301126200570657600080fd5b8151818111156200571b576200571b62004ca1565b8060051b91506200572e84830162004d57565b81815291830184019184810190888411156200574957600080fd5b938501935b83851015620057775784519250620057668362004bc4565b82825293850193908501906200574e565b98975050505050505050565b60008154620057928162005569565b808552602060018381168015620057b25760018114620057cd57620057fd565b60ff1985168884015283151560051b880183019550620057fd565b866000528260002060005b85811015620057f55781548a8201860152908301908401620057d8565b890184019650505b505050505092915050565b80518252600060208201516040602085015262004840604085018262005218565b600081518084526020808501945080840160005b83811015620058645781516001600160a01b0316875295820195908201906001016200583d565b509495945050505050565b85815260a0602082015260006200588a60a083018762005783565b82810360408401526200589e818762005808565b90506001600160a01b0385166060840152828103608084015262005777818562005829565b838152606060208201526000620058de606083018562005783565b828103604084015262004a15818562005808565b6001600160a01b038316815260406020820152600062004840604083018462005218565b600481106200592957620059296200530b565b9052565b6000610120820190506001600160a01b0383511682526020830151602083015260408301516040830152606083015160608301526080830151608083015260a0830151600381106200598357620059836200530b565b8060a08401525060c08301516200599e60c084018262005916565b5060e0830151620059b260e0840182519052565b50610100928301516001600160a01b0316919092015290565b87815260006001600160a01b03808916602084015260e06040840152620059f660e084018962005218565b818816606085015286608085015283810360a085015262005a18818762005808565b91505082810360c084015262005a2f818562005829565b9a9950505050505050505050565b85815260006001600160a01b038087166020840152808616604084015280851660608401525060a060808301526200452d60a083018462005808565b60408152600062005a8e604083018562005218565b90506001600160a01b03831660208301529392505050565b60408152600062005abb604083018562005218565b90508260208301529392505050565b7f416363657373436f6e74726f6c3a206163636f756e742000000000000000000081526000835162005b04816017850160208801620051f2565b7f206973206d697373696e6720726f6c6520000000000000000000000000000000601791840191820152835162005b43816028840160208801620051f2565b01602801949350505050565b60008162005b615762005b61620052db565b506000190190565b6000825162005b7d818460208701620051f2565b919091019291505056fe60a0604052306080526000606d81905560705534801561001e57600080fd5b506080516159136200005760003960008181611231015281816112b6015281816113b70152818161143c015261152201526159136000f3fe6080604052600436106103c75760003560e01c806376365af7116101f2578063b5f620ce11610119578063e0dd2c38116100b2578063ef2920fc11610084578063f321b3051161006c578063f321b30514610b89578063f5b0dfb714610ba9578063fc1711f214610bc957005b8063ef2920fc14610b56578063f2fde38b14610b6957005b8063e0dd2c3814610ac9578063e33add9314610ae9578063eb11af9314610b09578063edd146cc14610b3657005b8063c7f758a8116100eb578063c7f758a814610a39578063d1e3623214610a6f578063dc96ff2d14610a84578063df868ed314610ab457005b8063b5f620ce146109a6578063b6c61f31146109c6578063bcc5b93b146109e6578063c329217114610a1c57005b8063950559d71161018b578063a574cea41161015d578063a574cea414610916578063aba9ffee14610943578063ac1ed7b914610959578063b2b878d01461097957005b8063950559d7146108a1578063a0cf0aea146108c1578063a1aab33f146108e9578063a47ff7e5146108ff57005b8063817b1cd2116101c4578063817b1cd21461082d578063824ea8ed14610843578063868c57b8146108635780638da5cb5b1461088357005b806376365af7146107cc578063782aadff146107e25780637c6570ba14610802578063814516ad1461081857005b8063346db8cb116102ee5780634f1ef286116102875780635db64b99116102595780636453d9c4116102415780636453d9c41461077757806369fa25c414610797578063715018a6146107b757005b80635db64b991461072a5780636003e4141461075757005b80634f1ef286146106cc57806352d1902d146106df57806354fac919146106f457806359a5db8b1461070a57005b8063406244d8116102c0578063406244d81461066d57806342fda9c7146106825780634ab4ba42146106975780634d31d087146106ac57005b8063346db8cb146105f1578063351d9f96146106115780633659cfe61461063857806338fff2d01461065857005b806315cc481e116103605780632bbe0cae116103325780632bbe0cae146105725780632cefadbb146105855780632dbd6fdd146105a55780632ed04b2b146105d157005b806315cc481e146104eb57806319ab453c1461051d5780631aa91a9e1461053d5780631ddf1e231461055d57005b80630ba95909116103995780630ba959091461047f5780630c0512e91461049e5780630f529ba2146104b457806311f22ae3146104cb57005b8063013cf08b146103d057806301ffc9a71461040f578063058aca441461043f5780630a6f0ee91461045f57005b366103ce57005b005b3480156103dc57600080fd5b506103f06103eb36600461481d565b610be9565b6040516104069a999897969594939291906148cf565b60405180910390f35b34801561041b57600080fd5b5061042f61042a366004614942565b610cf7565b6040519015158152602001610406565b34801561044b57600080fd5b506103ce61045a366004614999565b610d90565b34801561046b57600080fd5b506103ce61047a366004614ba9565b610df0565b34801561048b57600080fd5b506073545b604051908152602001610406565b3480156104aa57600080fd5b50610490606d5481565b3480156104c057600080fd5b506104906298968081565b3480156104d757600080fd5b506103ce6104e636600461481d565b610e10565b3480156104f757600080fd5b506065546001600160a01b03165b6040516001600160a01b039091168152602001610406565b34801561052957600080fd5b506103ce610538366004614999565b610e4f565b34801561054957600080fd5b5061049061055836600461481d565b610fb0565b34801561056957600080fd5b506103ce611036565b610505610580366004614c21565b611041565b34801561059157600080fd5b506103ce6105a036600461481d565b611064565b3480156105b157600080fd5b506072546105c490610100900460ff1681565b6040516104069190614c83565b3480156105dd57600080fd5b506104906105ec366004614c91565b6110b0565b3480156105fd57600080fd5b5061049061060c366004614cbd565b611182565b34801561061d57600080fd5b5060725461062b9060ff1681565b6040516104069190614cf9565b34801561064457600080fd5b506103ce610653366004614999565b611227565b34801561066457600080fd5b50606854610490565b34801561067957600080fd5b50610490600a81565b34801561068e57600080fd5b50606654610490565b3480156106a357600080fd5b50606954610490565b3480156106b857600080fd5b5061042f6106c7366004614999565b6113a2565b6103ce6106da366004614d07565b6113ad565b3480156106eb57600080fd5b50610490611515565b34801561070057600080fd5b50610490606a5481565b34801561071657600080fd5b5061049061072536600461481d565b6115da565b34801561073657600080fd5b50610490610745366004614999565b60776020526000908152604090205481565b34801561076357600080fd5b50607454610505906001600160a01b031681565b34801561078357600080fd5b506103ce610792366004614999565b611717565b3480156107a357600080fd5b506103ce6107b236600461481d565b611728565b3480156107c357600080fd5b506103ce611767565b3480156107d857600080fd5b50610490606b5481565b3480156107ee57600080fd5b506104906107fd366004614c91565b611779565b34801561080e57600080fd5b5061049060705481565b34801561082457600080fd5b506103ce61191b565b34801561083957600080fd5b50610490606e5481565b34801561084f57600080fd5b5061042f61085e36600461481d565b611a4d565b34801561086f57600080fd5b5061049061087e366004614c91565b611aaa565b34801561088f57600080fd5b506033546001600160a01b0316610505565b3480156108ad57600080fd5b506104906108bc36600461481d565b611adb565b3480156108cd57600080fd5b5061050573eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b3480156108f557600080fd5b50610490606c5481565b34801561090b57600080fd5b506073546104909081565b34801561092257600080fd5b5061093661093136600461481d565b611b05565b6040516104069190614d57565b34801561094f57600080fd5b50610490606f5481565b34801561096557600080fd5b506103ce610974366004614999565b611be4565b34801561098557600080fd5b50610999610994366004614d6a565b611cc5565b6040516104069190614e3f565b3480156109b257600080fd5b506103ce6109c1366004614ea5565b611ce0565b3480156109d257600080fd5b50607554610505906001600160a01b031681565b3480156109f257600080fd5b50610490610a01366004614999565b6001600160a01b031660009081526077602052604090205490565b348015610a2857600080fd5b50607254610100900460ff166105c4565b348015610a4557600080fd5b50610a59610a5436600461481d565b611ce9565b6040516104069a99989796959493929190614ec2565b348015610a7b57600080fd5b50606f54610490565b348015610a9057600080fd5b50610490610a9f36600461481d565b60009081526076602052604090206002015490565b348015610ac057600080fd5b5061042f611deb565b348015610ad557600080fd5b50610490610ae4366004614f27565b611dfe565b348015610af557600080fd5b506103ce610b04366004614f4c565b611e29565b348015610b1557600080fd5b50610b29610b24366004614999565b611e42565b6040516104069190614ff7565b348015610b4257600080fd5b506103ce610b51366004615011565b611e4d565b6103ce610b64366004614c21565b611f9b565b348015610b7557600080fd5b506103ce610b84366004614999565b611fb5565b348015610b9557600080fd5b506103ce610ba4366004615042565b612042565b348015610bb557600080fd5b506103ce610bc436600461481d565b61208d565b348015610bd557600080fd5b506103ce610be436600461481d565b6120b6565b6076602090815260009182526040918290208054600182015460028301546003840154600485015460058601546006870154600788015460088901548b51808d01909c52600a8a0180548d52600b8b0180549a9d999c989b979a6001600160a01b039788169a968816999790951697939660ff9093169593949192840191610c709061509c565b80601f0160208091040260200160405190810160405280929190818152602001828054610c9c9061509c565b8015610ce95780601f10610cbe57610100808354040283529160200191610ce9565b820191906000526020600020905b815481529060010190602001808311610ccc57829003601f168201915b50505050508152505090508a565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167ff1801e61000000000000000000000000000000000000000000000000000000001480610d8a57507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b33610d9a816120f5565b607480546001600160a01b0319166001600160a01b0384169081179091556040519081527fd6ceddf6d2a22f21c7c81675c518004eff43bc5c8a6fc32a0b748e69d58671cd906020015b60405180910390a15050565b610df86121a4565b610e006121cf565b610e0b83838361220b565b505050565b33610e1a816120f5565b606b8290556040518281527f08e39b387d1f739ce0d2553bb31822392e3f67c62c6c0a215120ab4a6841a8ab90602001610de4565b600054610100900460ff1615808015610e6f5750600054600160ff909116105b80610e895750303b158015610e89575060005460ff166001145b610f005760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084015b60405180910390fd5b6000805460ff191660011790558015610f23576000805461ff0019166101001790555b610f62826040518060400160405280600a81526020017f4356537472617465677900000000000000000000000000000000000000000000815250612042565b610f6a61251f565b8015610fac576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249890602001610de4565b5050565b600081815260766020526040812080548314610fe25760405163c1d17bef60e01b815260048101849052602401610ef7565b6001600882015460ff166004811115610ffd57610ffd614836565b1461101e576040516344980d8f60e01b815260048101849052602401610ef7565b61102c818260020154612592565b6003015492915050565b61103f336125cd565b565b600061104b6121a4565b6110536121cf565b61105d838361271e565b9392505050565b3361106e816120f5565b60705460408051918252602082018490527f056aedca4e334b6c4bea48715fb0de644811b740894de57a0380d3eb90f2805b910160405180910390a150607055565b60006110ba612a70565b60006002607254610100900460ff1660038111156110da576110da614836565b148061110157506001607254610100900460ff1660038111156110ff576110ff614836565b145b1561110d57508161111a565b6111178484612ab4565b90505b80606f600082825461112c91906150e6565b9091555050604080516001600160a01b0386168152602081018590529081018290527f70b752f3fadb6ac131c0ece847fcbb6994ec56ed6411595710fd9b29c6ac6cc19060600160405180910390a19392505050565b60008084905060006111a8629896806080606a54901b6111a2919061510f565b83612d78565b905060806f80000000000000000000000000000000606a54629896806111ce91906150e6565b6111dc84600160801b6150e6565b6111e96298968089615131565b6111f39190615131565b6111fd919061510f565b6112078885615131565b6112119190615148565b61121b9190615148565b901c9695505050505050565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036112b45760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b19195b1959d85d1958d85b1b60a21b6064820152608401610ef7565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661130f7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b6001600160a01b03161461137a5760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b6163746976652070726f787960a01b6064820152608401610ef7565b61138381612e21565b6040805160008082526020820190925261139f91839190612e29565b50565b6000610d8a82612fc9565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016300361143a5760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b19195b1959d85d1958d85b1b60a21b6064820152608401610ef7565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166114957f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b6001600160a01b0316146115005760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b6163746976652070726f787960a01b6064820152608401610ef7565b61150982612e21565b610fac82826001612e29565b6000306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146115b55760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c00000000000000006064820152608401610ef7565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc90565b60008060695411611617576040517fed4421ad00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61162082612fe9565b1561163e57604051630efd728560e21b815260040160405180910390fd5b6069546000906116578468010000000000000000615131565b611661919061510f565b62989680606b546801000000000000000061167c9190615131565b611686919061510f565b61169091906150e6565b9050604061169d606f5490565b606a546116ad90629896806150e6565b6298968060406116bd8680615131565b901c629896806080606c54901b6116d4919061510f565b6116de919061510f565b6116e89190615131565b6116f2919061510f565b6116fc9190615131565b901c915060705482116117115760705461105d565b50919050565b61171f612a70565b61139f816125cd565b33611732816120f5565b606a8290556040518281527f592dcd55d60d892e7fcb3ba105013312e99691cd59f91e15f83cb67cb5a505f290602001610de4565b61176f613010565b61103f600061306a565b6000611783612a70565b61178c836130bc565b6117a957604051630b72d6b160e31b815260040160405180910390fd5b60006002607254610100900460ff1660038111156117c9576117c9614836565b036117d757825b9050611834565b6001607254610100900460ff1660038111156117f5576117f5614836565b03611804576117d08484613164565b6003607254610100900460ff16600381111561182257611822614836565b036118345761183184846132ca565b90505b60745460405163011de97360e61b81526001600160a01b038681166004830152306024830152600092169063477a5cc090604401602060405180830381865afa158015611885573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118a9919061515b565b905080156118c95781606f60008282546118c39190615148565b90915550505b604080516001600160a01b0387168152602081018690529081018390527f0b9150e1e54346ed3fa36b977cd5d65dca5a649c737c3174a26bddaadd47667a9060600160405180910390a1509392505050565b33611925816130bc565b61194257604051630b72d6b160e31b815260040160405180910390fd5b6074546040517f0d4a8b490000000000000000000000000000000000000000000000000000000081526001600160a01b03838116600483015230602483015290911690630d4a8b4990604401600060405180830381600087803b1580156119a857600080fd5b505af11580156119bc573d6000803e3d6000fd5b5050607454604051637817ee4f60e01b81526001600160a01b0385811660048301523060248301529091169250637817ee4f9150604401602060405180830381865afa158015611a10573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a349190615178565b606f6000828254611a459190615148565b909155505050565b6000818152607660205260408120600281015482908190611a6f908490613511565b91509150816000148015611a81575080155b15611a8e57826003015491505b6000611a9d84600101546115da565b9092101595945050505050565b60786020528160005260406000208181548110611ac657600080fd5b90600052602060002001600091509150505481565b6000606a5462989680611aee91906150e6565b611afb6298968084615131565b610d8a919061510f565b604080518082019091526000815260606020820152600060766000848152602001908152602001600020905080600a0160405180604001604052908160008201548152602001600182018054611b5a9061509c565b80601f0160208091040260200160405190810160405280929190818152602001828054611b869061509c565b8015611bd35780601f10611ba857610100808354040283529160200191611bd3565b820191906000526020600020905b815481529060010190602001808311611bb657829003601f168201915b505050505081525050915050919050565b607460009054906101000a90046001600160a01b03166001600160a01b0316636c53db9a6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611c37573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c5b9190615191565b6001600160a01b03163303611c9357611c7381613569565b607580546001600160a01b0383166001600160a01b031990911617905550565b6040517fe860ec7e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b606060405163d623472560e01b815260040160405180910390fd5b61139f816135a9565b6000806000806000806000806000806000607660008d815260200190815260200160002090508060010154600014611d2d57611d2881600101546115da565b611d30565b60005b92508060050160009054906101000a90046001600160a01b03168160040160009054906101000a90046001600160a01b03168260060160009054906101000a90046001600160a01b0316836001015484600201548560080160009054906101000a900460ff16866007015487600301548a896009016000336001600160a01b03166001600160a01b03168152602001908152602001600020549a509a509a509a509a509a509a509a509a509a50509193959799509193959799565b6000611df960675460ff1690565b905090565b60008281526076602090815260408083206001600160a01b038516845260090190915281205461105d565b60405163d623472560e01b815260040160405180910390fd5b6000610d8a826135ea565b611e556121a4565b611e5e8261360a565b600081806020019051810190611e74919061521e565b80519091506001600160a01b0316611e9f57604051635df4b1ef60e01b815260040160405180910390fd5b8051607480546001600160a01b0319166001600160a01b039092169190911790556020810151606a556040810151606b556060810151606c5560a08101516072805460ff19166001836002811115611ef957611ef9614836565b021790555060c08101516072805461ff001916610100836003811115611f2157611f21614836565b021790555060e0810151516073556080810151607055610100810151607580546001600160a01b0319166001600160a01b039092169190911790556040517f4ebdec05fb64815e553aeaf3976ef8112dd79760a459bee3ac7d1659ab2c4e0490611f8e90859084906152b9565b60405180910390a1505050565b611fa36121a4565b611fab6121cf565b610fac828261368b565b611fbd613010565b6001600160a01b0381166120395760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610ef7565b61139f8161306a565b606580546001600160a01b0319166001600160a01b03841617905560405161206e90829060200161534c565b60408051601f1981840301815291905280516020909101206066555050565b6120956121a4565b80606960008282546120a79190615148565b9091555061139f90508161379a565b336120c0816120f5565b606c8290556040518281527f30ee8206062f283e56a0af2b02138016bf7442ded26ad68a92a18a9dd246fb4990602001610de4565b6065546068546040517f29e40d4b00000000000000000000000000000000000000000000000000000000815260048101919091526001600160a01b038381166024830152909116906329e40d4b90604401602060405180830381865afa158015612163573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612187919061515b565b61139f5760405163075fd2b160e01b815260040160405180910390fd5b6065546001600160a01b0316331461103f5760405163075fd2b160e01b815260040160405180910390fd5b60685460000361103f576040517f3da3f98c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000825111612246576040517fc5f7c4c000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008280602001905181019061225c9190615178565b905080600003612298576040517ff881a10d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000818152607660205260409020600160725460ff1660028111156122bf576122bf614836565b0361251857805482146122e85760405163c1d17bef60e01b815260048101839052602401610ef7565b606954816001015411156123405760018101546069546040517f5863b0b60000000000000000000000000000000000000000000000000000000081526004810185905260248101929092526044820152606401610ef7565b6001600882015460ff16600481111561235b5761235b614836565b1461237c576040516344980d8f60e01b815260048101839052602401610ef7565b600061238783610fb0565b9050600061239883600101546115da565b905080821080156123ad575060008360010154115b156123e4576040517fcce7930800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6065546068546040517f068bcd8d00000000000000000000000000000000000000000000000000000000815260048101919091526000916001600160a01b03169063068bcd8d90602401600060405180830381865afa15801561244b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261247391908101906153ec565b905083600101546069600082825461248b91906150e6565b90915550506040810151600485015460018601546124b392916001600160a01b0316906137ca565b60088401805460ff191660049081179091558401546001850154604080518881526001600160a01b0390931660208401528201527fa7932e9c92f31e1ed56b29d00bbe669a97484dc24de28dd9c8c0429df7f358479060600160405180910390a15050505b5050505050565b600054610100900460ff1661258a5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401610ef7565b61103f61380f565b60008061259f8484613511565b915091508160001480156125b1575080155b156125bc5750505050565b600784015560039092019190915550565b607454604051637817ee4f60e01b81526001600160a01b03838116600483015230602483015290911690637817ee4f90604401602060405180830381865afa15801561261d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126419190615178565b606f600082825461265291906150e6565b90915550506074546040517f22bcf9990000000000000000000000000000000000000000000000000000000081526001600160a01b038381166004830152306024830152909116906322bcf99990604401600060405180830381600087803b1580156126bd57600080fd5b505af11580156126d1573d6000803e3d6000fd5b505050506126de81613883565b6040516001600160a01b03821681527f1468da654b37bb3631011c1917d02e0db437d519918858d40b38b5e980ca033b906020015b60405180910390a150565b6000612729826130bc565b61274657604051630b72d6b160e31b815260040160405180910390fd5b60008380602001905181019061275c91906154a0565b805190915060000361279a576040517f4e79178600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600160725460ff1660028111156127b3576127b3614836565b03612963576127c58160200151613569565b60608101516001600160a01b0316612809576040517f596a094c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000306001600160a01b03166315cc481e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612849573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061286d9190615191565b6001600160a01b031663068bcd8d6068546040518263ffffffff1660e01b815260040161289c91815260200190565b600060405180830381865afa1580156128b9573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526128e191908101906153ec565b604001519050806001600160a01b031682606001516001600160a01b031614612936576040517fa29c498600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6129438260400151612fe9565b1561296157604051630efd728560e21b815260040160405180910390fd5b505b6000606d6000815461297490615547565b918290555060008181526076602090815260408083208481556005810180546001600160a01b038b81166001600160a01b0319928316179092558885015160048401805491841691831691909117905560608901516006840180549190931691161790559086015160018083019190915560088201805460ff19169091179055436007820155600381019290925560808501518051600a8401908155918101519394509192600b840190612a2890826155ae565b505060685460408051918252602082018590527ffcf3b1aa65a464cef2889608f99e8b8c0f680a4be6c2acb9d961c536a5a9294b92500160405180910390a150949350505050565b6074546001600160a01b0316331461103f576040517faf0916a200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b607454604080516336d8759760e21b815290516000926012926001600160a01b039091169163db61d65c916004808201926020929091908290030181865afa158015612b04573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612b289190615191565b6001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015612b81575060408051601f3d908101601f19168201909252612b7e9181019061566e565b60015b612bc857612bc36040518060400160405280601581526020017f4572726f722067657474696e6720646563696d616c0000000000000000000000815250613a10565b612bce565b60ff1690505b612c0d6040518060400160405280601081526020017f5f616d6f756e74546f556e7374616b650000000000000000000000000000000081525084613a81565b6074546040516316308e2560e11b81526001600160a01b0386811660048301526000928692911690632c611c4a90602401602060405180830381865afa158015612c5b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612c7f9190615178565b612c8991906150e6565b9050612cca6040518060400160405280600d81526020017f6e6577546f74616c5374616b650000000000000000000000000000000000000081525082613a81565b6000612ce9612cda84600a615775565b612ce49084615131565b613af4565b607454604051637817ee4f60e01b81526001600160a01b03898116600483015230602483015292935060009284921690637817ee4f90604401602060405180830381865afa158015612d3f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612d639190615178565b612d6d91906150e6565b979650505050505050565b6000600160801b8310612dcd5760405162461bcd60e51b815260206004820152601c60248201527f5f612073686f756c64206265206c657373207468616e20325e313238000000006044820152606401610ef7565b50600160801b82825b8015612e195780600116600003612dfb57612df18283613bdc565b915060011c612dd6565b612e058383613bdc565b9250612e126001826150e6565b9050612dd6565b505092915050565b61139f613010565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615612e5c57610e0b83613cdb565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015612eb6575060408051601f3d908101601f19168201909252612eb391810190615178565b60015b612f285760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201527f6f6e206973206e6f7420555550530000000000000000000000000000000000006064820152608401610ef7565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8114612fbd5760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f7860448201527f6961626c655555494400000000000000000000000000000000000000000000006064820152608401610ef7565b50610e0b838383613d99565b60006001600160a01b03821615612fe1576001610d8a565b600092915050565b6000612ff86298968083615131565b606954606b546130089190615131565b111592915050565b6033546001600160a01b0316331461103f5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610ef7565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6075546000906001600160a01b03166130d757506001919050565b6075546040517f42a987a00000000000000000000000000000000000000000000000000000000081526001600160a01b038481166004830152306024830152909116906342a987a090604401602060405180830381865afa158015613140573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d8a919061515b565b6000808290506131a96040518060400160405280601281526020017f504f494e545320544f20494e435245415345000000000000000000000000000081525082613a81565b607454604051637817ee4f60e01b81526001600160a01b0386811660048301523060248301526000921690637817ee4f90604401602060405180830381865afa1580156131fa573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061321e9190615178565b905061325f6040518060400160405280600b81526020017f4d454d424552504f57455200000000000000000000000000000000000000000081525082613a81565b60735461326c8383615148565b1115613283576073546132809082906150e6565b91505b6132c26040518060400160405280601681526020017f504f494e545320544f20494e43524541534520454e440000000000000000000081525083613a81565b509392505050565b6074546040516316308e2560e11b81526001600160a01b0384811660048301526000928392859290911690632c611c4a90602401602060405180830381865afa15801561331b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061333f9190615178565b6133499190615148565b607454604080516336d8759760e21b815290519293506012926001600160a01b039092169163db61d65c916004808201926020929091908290030181865afa158015613399573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906133bd9190615191565b6001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015613416575060408051601f3d908101601f191682019092526134139181019061566e565b60015b61345d576134586040518060400160405280601581526020017f4572726f722067657474696e6720646563696d616c0000000000000000000000815250613a10565b613463565b60ff1690505b600061347d61347383600a615775565b612ce49085615131565b607454604051637817ee4f60e01b81526001600160a01b03898116600483015230602483015292935060009290911690637817ee4f90604401602060405180830381865afa1580156134d3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906134f79190615178565b9050600061350582846150e6565b98975050505050505050565b600080439050808460070154111561352b5761352b615781565b8084600701540361354157506000905080613562565b61355f84600701548261355491906150e6565b856003015485611182565b91505b9250929050565b6001600160a01b03811661139f576040517fe622e04000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6067805460ff19168215159081179091556040519081527fd94c9bc4d43c51d8dc345a016d8e3d994432fac68e72832e4cf3a616bd8efae090602001612713565b60006001600160a01b03821615613602576002610d8a565b600392915050565b6136126121a4565b6068541561364c576040517f439a74c900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80600003613686576040517f7fcce2a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b606855565b61369481613dbe565b61369d816130bc565b6136ba57604051630b72d6b160e31b815260040160405180910390fd5b60745460405163011de97360e61b81526001600160a01b038381166004830152306024830152600092169063477a5cc090604401602060405180830381865afa15801561370b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061372f919061515b565b905080613768576040517f5fccb67f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008380602001905181019061377e9190615797565b905061378a8382613ee4565b61379483826140a7565b50505050565b6040518181527f46aeb5d8770fc4474bc2dfa118fd2595f7fb33ce2cbce6f4e5a3dabfe0f7633990602001612713565b7fffffffffffffffffffffffff11111111111111111111111111111111111111126001600160a01b0384160161380457610e0b82826144cb565b610e0b8383836144e7565b600054610100900460ff1661387a5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401610ef7565b61103f3361306a565b6001600160a01b0381166000908152607860209081526040808320805482518185028101850190935280835291929091908301828280156138e357602002820191906000526020600020905b8154815260200190600101908083116138cf575b5050505050905060005b8151811015610e0b57600082828151811061390a5761390a615842565b60200260200101519050600060766000838152602001908152602001600020905061393482614536565b156139fb576001600160a01b038516600090815260098201602052604081208054908290556002830180549192839261396e9084906150e6565b9250508190555080606e600082825461398791906150e6565b9091555061399790508282612592565b60028201546003830154604080516001600160a01b038a1681526020810187905260008183015260608101939093526080830191909152517f0227f642ddcf2042ceaeafadb9d540f432072c00cd4862881667168dcc14710f9181900360a00190a1505b50508080613a0890615547565b9150506138ed565b61139f81604051602401613a24919061534c565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f41304fac0000000000000000000000000000000000000000000000000000000017905261456f565b610fac8282604051602401613a97929190615858565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f9710a9d00000000000000000000000000000000000000000000000000000000017905261456f565b600081600003613b0657506000919050565b60006001613b1384614590565b901c6001901b90506001818481613b2c57613b2c6150f9565b048201901c90506001818481613b4457613b446150f9565b048201901c90506001818481613b5c57613b5c6150f9565b048201901c90506001818481613b7457613b746150f9565b048201901c90506001818481613b8c57613b8c6150f9565b048201901c90506001818481613ba457613ba46150f9565b048201901c90506001818481613bbc57613bbc6150f9565b048201901c905061105d81828581613bd657613bd66150f9565b04614624565b6000600160801b831115613c585760405162461bcd60e51b815260206004820152602860248201527f5f612073686f756c64206265206c657373207468616e206f7220657175616c2060448201527f746f20325e3132380000000000000000000000000000000000000000000000006064820152608401610ef7565b600160801b8210613cab5760405162461bcd60e51b815260206004820152601c60248201527f5f622073686f756c64206265206c657373207468616e20325e313238000000006044820152606401610ef7565b60806f80000000000000000000000000000000613cc88486615131565b613cd29190615148565b901c9392505050565b6001600160a01b0381163b613d585760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201527f6f74206120636f6e7472616374000000000000000000000000000000000000006064820152608401610ef7565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b613da28361463a565b600082511180613daf5750805b15610e0b57613794838361467a565b6001600160a01b038116613dfe576040517fd1f2828800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6074546001600160a01b0316613e2757604051635df4b1ef60e01b815260040160405180910390fd5b6074546040517fa230c5240000000000000000000000000000000000000000000000000000000081526001600160a01b0383811660048301529091169063a230c52490602401602060405180830381865afa158015613e8a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613eae919061515b565b61139f576040517f6a5cfb6d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000805b8251811015613fa157828181518110613f0357613f03615842565b60200260200101516000015160000315613f8f576000838281518110613f2b57613f2b615842565b6020026020010151600001519050613f4281614536565b613f625760405163c1d17bef60e01b815260048101829052602401610ef7565b838281518110613f7457613f74615842565b60200260200101516020015183613f8b919061587a565b9250505b80613f9981615547565b915050613ee8565b506001600160a01b038316600090815260776020526040812054613fc5908361469f565b607454604051637817ee4f60e01b81526001600160a01b03878116600483015230602483015292935060009290911690637817ee4f90604401602060405180830381865afa15801561401b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061403f9190615178565b905080821115614085576040517fd64182fe0000000000000000000000000000000000000000000000000000000081526004810183905260248101829052604401610ef7565b506001600160a01b039093166000908152607760205260409020929092555050565b606060005b82518110156137945760008382815181106140c9576140c9615842565b60200260200101516000015190508251600003614125576040805160018082528183019092529060208083019080368337019050509250808360008151811061411457614114615842565b602002602001018181525050614278565b6000805b84518110156141a4578285828151811061414557614145615842565b602002602001015103614192576040517fadebb154000000000000000000000000000000000000000000000000000000008152600481018490526024810182905260019250604401610ef7565b8061419c81615547565b915050614129565b5080614276576000845160016141ba9190615148565b67ffffffffffffffff8111156141d2576141d26149b6565b6040519080825280602002602001820160405280156141fb578160200160208202803683370190505b50905060005b85518110156142535785818151811061421c5761421c615842565b602002602001015182828151811061423657614236615842565b60209081029190910101528061424b81615547565b915050614201565b50828186518151811061426857614268615842565b602090810291909101015293505b505b600084838151811061428c5761428c615842565b60209081029190910181015181015160008481526076835260408082206001600160a01b038b168352600981019094528120549193506142cc828561469f565b6001600160a01b038a1660009081526009850160205260408120829055909150805b6001600160a01b038b166000908152607860205260409020548110156143655784546001600160a01b038c16600090815260786020526040902080548390811061433a5761433a615842565b9060005260206000200154036143535760019150614365565b8061435d81615547565b9150506142ee565b508061439b576001600160a01b038a16600090815260786020908152604082208654815460018101835591845291909220909101555b8183116143eb576143ac83836150e6565b606e60008282546143bd9190615148565b909155506143cd905083836150e6565b8460020160008282546143e09190615148565b9091555061442f9050565b6143f582846150e6565b606e600082825461440691906150e6565b90915550614416905082846150e6565b84600201600082825461442991906150e6565b90915550505b8360070154600003614446574360078501556144b2565b6144508484612592565b60028401546003850154604080516001600160a01b038e168152602081018a9052908101859052606081019290925260808201527f0227f642ddcf2042ceaeafadb9d540f432072c00cd4862881667168dcc14710f9060a00160405180910390a15b50505050505080806144c390615547565b9150506140ac565b60008060008084865af1610fac5763b12d13eb6000526004601cfd5b81601452806034526fa9059cbb00000000000000000000000060005260206000604460106000875af13d15600160005114171661452c576390b8ec186000526004601cfd5b6000603452505050565b60008181526076602052604081205415801590610d8a5750506000908152607660205260409020600501546001600160a01b0316151590565b80516a636f6e736f6c652e6c6f67602083016000808483855afa5050505050565b600080608083901c156145a557608092831c92015b604083901c156145b757604092831c92015b602083901c156145c957602092831c92015b601083901c156145db57601092831c92015b600883901c156145ed57600892831c92015b600483901c156145ff57600492831c92015b600283901c1561461157600292831c92015b600183901c15610d8a5760010192915050565b6000818310614633578161105d565b5090919050565b61464381613cdb565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b606061105d83836040518060600160405280602781526020016158b7602791396146fa565b6000806146ac838561587a565b9050600081121561105d576040517f3bbc7142000000000000000000000000000000000000000000000000000000008152600481018590526024810184905260448101829052606401610ef7565b6060600080856001600160a01b031685604051614717919061589a565b600060405180830381855af49150503d8060008114614752576040519150601f19603f3d011682016040523d82523d6000602084013e614757565b606091505b509150915061476886838387614772565b9695505050505050565b606083156147e15782516000036147da576001600160a01b0385163b6147da5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610ef7565b50816147eb565b6147eb83836147f3565b949350505050565b8151156148035781518083602001fd5b8060405162461bcd60e51b8152600401610ef7919061534c565b60006020828403121561482f57600080fd5b5035919050565b634e487b7160e01b600052602160045260246000fd5b6005811061485c5761485c614836565b9052565b60005b8381101561487b578181015183820152602001614863565b50506000910152565b6000815180845261489c816020860160208601614860565b601f01601f19169290920160200192915050565b8051825260006020820151604060208501526147eb6040850182614884565b60006101408c83528b60208401528a60408401528960608401526001600160a01b03808a16608085015280891660a085015280881660c0850152508560e084015261491e61010084018661484c565b80610120840152614931818401856148b0565b9d9c50505050505050505050505050565b60006020828403121561495457600080fd5b81357fffffffff000000000000000000000000000000000000000000000000000000008116811461105d57600080fd5b6001600160a01b038116811461139f57600080fd5b6000602082840312156149ab57600080fd5b813561105d81614984565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff811182821017156149ef576149ef6149b6565b60405290565b604051610120810167ffffffffffffffff811182821017156149ef576149ef6149b6565b60405160c0810167ffffffffffffffff811182821017156149ef576149ef6149b6565b60405160a0810167ffffffffffffffff811182821017156149ef576149ef6149b6565b604051601f8201601f1916810167ffffffffffffffff81118282101715614a8857614a886149b6565b604052919050565b600067ffffffffffffffff821115614aaa57614aaa6149b6565b5060051b60200190565b600082601f830112614ac557600080fd5b81356020614ada614ad583614a90565b614a5f565b82815260059290921b84018101918181019086841115614af957600080fd5b8286015b84811015614b1d578035614b1081614984565b8352918301918301614afd565b509695505050505050565b600067ffffffffffffffff821115614b4257614b426149b6565b50601f01601f191660200190565b6000614b5e614ad584614b28565b9050828152838383011115614b7257600080fd5b828260208301376000602084830101529392505050565b600082601f830112614b9a57600080fd5b61105d83833560208501614b50565b600080600060608486031215614bbe57600080fd5b833567ffffffffffffffff80821115614bd657600080fd5b614be287838801614ab4565b94506020860135915080821115614bf857600080fd5b50614c0586828701614b89565b9250506040840135614c1681614984565b809150509250925092565b60008060408385031215614c3457600080fd5b823567ffffffffffffffff811115614c4b57600080fd5b614c5785828601614b89565b9250506020830135614c6881614984565b809150509250929050565b6004811061485c5761485c614836565b60208101610d8a8284614c73565b60008060408385031215614ca457600080fd5b8235614caf81614984565b946020939093013593505050565b600080600060608486031215614cd257600080fd5b505081359360208301359350604090920135919050565b6003811061485c5761485c614836565b60208101610d8a8284614ce9565b60008060408385031215614d1a57600080fd5b8235614d2581614984565b9150602083013567ffffffffffffffff811115614d4157600080fd5b614d4d85828601614b89565b9150509250929050565b60208152600061105d60208301846148b0565b60008060408385031215614d7d57600080fd5b823567ffffffffffffffff80821115614d9557600080fd5b614da186838701614ab4565b9350602091508185013581811115614db857600080fd5b8501601f81018713614dc957600080fd5b8035614dd7614ad582614a90565b81815260059190911b82018401908481019089831115614df657600080fd5b8584015b83811015614e2e57803586811115614e125760008081fd5b614e208c8983890101614b89565b845250918601918601614dfa565b508096505050505050509250929050565b602080825282518282018190526000919060409081850190868401855b82811015614e8a57815180516001600160a01b03168552860151868501529284019290850190600101614e5c565b5091979650505050505050565b801515811461139f57600080fd5b600060208284031215614eb757600080fd5b813561105d81614e97565b6001600160a01b038b811682528a811660208301528916604082015260608101889052608081018790526101408101614efe60a083018861484c565b8560c08301528460e083015283610100830152826101208301529b9a5050505050505050505050565b60008060408385031215614f3a57600080fd5b823591506020830135614c6881614984565b60006020808385031215614f5f57600080fd5b823567ffffffffffffffff811115614f7657600080fd5b8301601f81018513614f8757600080fd5b8035614f95614ad582614a90565b81815260069190911b82018301908381019087831115614fb457600080fd5b928401925b82841015612d6d5760408489031215614fd25760008081fd5b614fda6149cc565b843581528585013586820152825260409093019290840190614fb9565b602081016007831061500b5761500b614836565b91905290565b6000806040838503121561502457600080fd5b82359150602083013567ffffffffffffffff811115614d4157600080fd5b6000806040838503121561505557600080fd5b823561506081614984565b9150602083013567ffffffffffffffff81111561507c57600080fd5b8301601f8101851361508d57600080fd5b614d4d85823560208401614b50565b600181811c908216806150b057607f821691505b60208210810361171157634e487b7160e01b600052602260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b81810381811115610d8a57610d8a6150d0565b634e487b7160e01b600052601260045260246000fd5b60008261512c57634e487b7160e01b600052601260045260246000fd5b500490565b8082028115828204841417610d8a57610d8a6150d0565b80820180821115610d8a57610d8a6150d0565b60006020828403121561516d57600080fd5b815161105d81614e97565b60006020828403121561518a57600080fd5b5051919050565b6000602082840312156151a357600080fd5b815161105d81614984565b80516151b981614984565b919050565b8051600381106151b957600080fd5b8051600481106151b957600080fd5b6000602082840312156151ee57600080fd5b6040516020810181811067ffffffffffffffff82111715615211576152116149b6565b6040529151825250919050565b6000610120828403121561523157600080fd5b6152396149f5565b615242836151ae565b81526020830151602082015260408301516040820152606083015160608201526080830151608082015261527860a084016151be565b60a082015261528960c084016151cd565b60c082015261529b8460e085016151dc565b60e08201526101006152ae8185016151ae565b908201529392505050565b6000610140820190508382526001600160a01b038351166020830152602083015160408301526040830151606083015260608301516080830152608083015160a083015260a083015161530f60c0840182614ce9565b5060c083015161532260e0840182614c73565b5060e08301515161010083810191909152909201516001600160a01b031661012090910152919050565b60208152600061105d6020830184614884565b60006040828403121561537157600080fd5b6153796149cc565b905081518152602082015167ffffffffffffffff81111561539957600080fd5b8201601f810184136153aa57600080fd5b80516153b8614ad582614b28565b8181528560208385010111156153cd57600080fd5b6153de826020830160208601614860565b602084015250909392505050565b6000602082840312156153fe57600080fd5b815167ffffffffffffffff8082111561541657600080fd5b9083019060c0828603121561542a57600080fd5b615432614a19565b82518152602083015161544481614984565b6020820152604083015161545781614984565b604082015260608301518281111561546e57600080fd5b61547a8782860161535f565b6060830152506080830151608082015260a083015160a082015280935050505092915050565b6000602082840312156154b257600080fd5b815167ffffffffffffffff808211156154ca57600080fd5b9083019060a082860312156154de57600080fd5b6154e6614a3c565b8251815260208301516154f881614984565b602082015260408381015190820152606083015161551581614984565b606082015260808301518281111561552c57600080fd5b6155388782860161535f565b60808301525095945050505050565b600060018201615559576155596150d0565b5060010190565b601f821115610e0b57600081815260208120601f850160051c810160208610156155875750805b601f850160051c820191505b818110156155a657828155600101615593565b505050505050565b815167ffffffffffffffff8111156155c8576155c86149b6565b6155dc816155d6845461509c565b84615560565b602080601f83116001811461561157600084156155f95750858301515b600019600386901b1c1916600185901b1785556155a6565b600085815260208120601f198616915b8281101561564057888601518255948401946001909101908401615621565b508582101561565e5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60006020828403121561568057600080fd5b815160ff8116811461105d57600080fd5b600181815b808511156156cc5781600019048211156156b2576156b26150d0565b808516156156bf57918102915b93841c9390800290615696565b509250929050565b6000826156e357506001610d8a565b816156f057506000610d8a565b816001811461570657600281146157105761572c565b6001915050610d8a565b60ff841115615721576157216150d0565b50506001821b610d8a565b5060208310610133831016604e8410600b841016171561574f575081810a610d8a565b6157598383615691565b806000190482111561576d5761576d6150d0565b029392505050565b600061105d83836156d4565b634e487b7160e01b600052600160045260246000fd5b600060208083850312156157aa57600080fd5b825167ffffffffffffffff8111156157c157600080fd5b8301601f810185136157d257600080fd5b80516157e0614ad582614a90565b81815260069190911b820183019083810190878311156157ff57600080fd5b928401925b82841015612d6d576040848903121561581d5760008081fd5b6158256149cc565b845181528585015186820152825260409093019290840190615804565b634e487b7160e01b600052603260045260246000fd5b60408152600061586b6040830185614884565b90508260208301529392505050565b8082018281126000831280158216821582161715612e1957612e196150d0565b600082516158ac818460208701614860565b919091019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a264697066735822122049b3231cbecd6db9d79eb7e6e0aa3bb1452345bd067dee068696bdb771968c2d64736f6c6343000813003360806040526040516104ee3803806104ee833981016040819052610022916102de565b61002e82826000610035565b50506103fb565b61003e83610061565b60008251118061004b5750805b1561005c5761005a83836100a1565b505b505050565b61006a816100cd565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606100c683836040518060600160405280602781526020016104c760279139610180565b9392505050565b6001600160a01b0381163b61013f5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080856001600160a01b03168560405161019d91906103ac565b600060405180830381855af49150503d80600081146101d8576040519150601f19603f3d011682016040523d82523d6000602084013e6101dd565b606091505b5090925090506101ef868383876101f9565b9695505050505050565b60608315610268578251600003610261576001600160a01b0385163b6102615760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610136565b5081610272565b610272838361027a565b949350505050565b81511561028a5781518083602001fd5b8060405162461bcd60e51b815260040161013691906103c8565b634e487b7160e01b600052604160045260246000fd5b60005b838110156102d55781810151838201526020016102bd565b50506000910152565b600080604083850312156102f157600080fd5b82516001600160a01b038116811461030857600080fd5b60208401519092506001600160401b038082111561032557600080fd5b818501915085601f83011261033957600080fd5b81518181111561034b5761034b6102a4565b604051601f8201601f19908116603f01168101908382118183101715610373576103736102a4565b8160405282815288602084870101111561038c57600080fd5b61039d8360208301602088016102ba565b80955050505050509250929050565b600082516103be8184602087016102ba565b9190910192915050565b60208152600082518060208401526103e78160408501602087016102ba565b601f01601f19169190910160400192915050565b60be806104096000396000f3fe608060405236601057600e6013565b005b600e5b601f601b6021565b6065565b565b600060607f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b905090565b3660008037600080366000845af43d6000803e8080156083573d6000f35b3d6000fdfea2646970667358221220499685897c672853da42a8c7337889b98ad42121f6c852e2a981477235103d8964736f6c63430008130033416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c656467617264656e73466163746f72792e67657447617264656e7346656552656365697665722829416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220cdf2d863746c7010819b5a761c8453d51648f6ffbb5ed493a3c7accd5f90cd8964736f6c6343000813003360806040526040516104ee3803806104ee833981016040819052610022916102de565b61002e82826000610035565b50506103fb565b61003e83610061565b60008251118061004b5750805b1561005c5761005a83836100a1565b505b505050565b61006a816100cd565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606100c683836040518060600160405280602781526020016104c760279139610180565b9392505050565b6001600160a01b0381163b61013f5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080856001600160a01b03168560405161019d91906103ac565b600060405180830381855af49150503d80600081146101d8576040519150601f19603f3d011682016040523d82523d6000602084013e6101dd565b606091505b5090925090506101ef868383876101f9565b9695505050505050565b60608315610268578251600003610261576001600160a01b0385163b6102615760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610136565b5081610272565b610272838361027a565b949350505050565b81511561028a5781518083602001fd5b8060405162461bcd60e51b815260040161013691906103c8565b634e487b7160e01b600052604160045260246000fd5b60005b838110156102d55781810151838201526020016102bd565b50506000910152565b600080604083850312156102f157600080fd5b82516001600160a01b038116811461030857600080fd5b60208401519092506001600160401b038082111561032557600080fd5b818501915085601f83011261033957600080fd5b81518181111561034b5761034b6102a4565b604051601f8201601f19908116603f01168101908382118183101715610373576103736102a4565b8160405282815288602084870101111561038c57600080fd5b61039d8360208301602088016102ba565b80955050505050509250929050565b600082516103be8184602087016102ba565b9190910192915050565b60208152600082518060208401526103e78160408501602087016102ba565b601f01601f19169190910160400192915050565b60be806104096000396000f3fe608060405236601057600e6013565b005b600e5b601f601b6021565b6065565b565b600060607f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b905090565b3660008037600080366000845af43d6000803e8080156083573d6000f35b3d6000fdfea2646970667358221220499685897c672853da42a8c7337889b98ad42121f6c852e2a981477235103d8964736f6c63430008130033416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220c1d0e3ec1440cd8c15d923f280ca43a140979b9cafd6177b5235979ab60f04d064736f6c63430008130033","sourceMap":"422:639:137:-:0;;;1088:4:68;1045:48;;422:639:137;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405260043610620001245760003560e01c80638a16135f11620000b2578063b5b3ca2c116200007d578063c4d66de81162000060578063c4d66de8146200030e578063f2fde38b1462000333578063f5016b5e146200035857600080fd5b8063b5b3ca2c14620002c7578063b8bed90114620002ec57600080fd5b80638a16135f14620002315780638da5cb5b146200026f578063987435be146200028f578063affed0e014620002af57600080fd5b80635a2c8ace11620000f35780635a2c8ace14620001b75780635cd8a76b14620001dc578063715018a614620001f45780638279c7db146200020c57600080fd5b80630a992e0c14620001295780633659cfe614620001615780634f1ef286146200018857806352d1902d146200019f575b600080fd5b3480156200013657600080fd5b506200014e6200014836600462001470565b620003a9565b6040519081526020015b60405180910390f35b3480156200016e57600080fd5b50620001866200018036600462001470565b6200042b565b005b620001866200019936600462001550565b620005af565b348015620001ac57600080fd5b506200014e62000724565b348015620001c457600080fd5b5062000186620001d6366004620015cc565b620007eb565b348015620001e957600080fd5b50620001866200085c565b3480156200020157600080fd5b506200018662000956565b3480156200021957600080fd5b50620001866200022b36600462001470565b6200096e565b3480156200023e57600080fd5b5062000256620002503660046200169f565b620009df565b6040516001600160a01b03909116815260200162000158565b3480156200027c57600080fd5b506033546001600160a01b031662000256565b3480156200029c57600080fd5b506067546001600160a01b031662000256565b348015620002bc57600080fd5b506200014e60655481565b348015620002d457600080fd5b5062000186620002e636600462001811565b62000b64565b348015620002f957600080fd5b5060675462000256906001600160a01b031681565b3480156200031b57600080fd5b50620001866200032d36600462001470565b62000bc0565b3480156200034057600080fd5b50620001866200035236600462001470565b62000d51565b3480156200036557600080fd5b50620003986200037736600462001470565b6001600160a01b031660009081526066602052604090206001015460ff1690565b604051901515815260200162000158565b6001600160a01b03811660009081526066602052604081206001015460ff166200040f576040517ff5a6943d0000000000000000000000000000000000000000000000000000000081526001600160a01b03831660048201526024015b60405180910390fd5b506001600160a01b031660009081526066602052604090205490565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163003620004ba5760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b19195b1959d85d1958d85b1b60a21b606482015260840162000406565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316620005167f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b6001600160a01b031614620005835760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b6163746976652070726f787960a01b606482015260840162000406565b6200058e8162000de4565b60408051600080825260208201909252620005ac9183919062000dee565b50565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036200063e5760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b19195b1959d85d1958d85b1b60a21b606482015260840162000406565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166200069a7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b6001600160a01b031614620007075760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b6163746976652070726f787960a01b606482015260840162000406565b620007128262000de4565b620007208282600162000dee565b5050565b6000306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614620007c65760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c0000000000000000606482015260840162000406565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc90565b620007f562000f9f565b6001600160a01b038216600081815260666020908152604091829020600101805460ff19168515159081179091558251938452908301527fecdcd3502799a6c41864ea2682236184e876f63e10f8d56c7768a3d501e89f6291015b60405180910390a15050565b600054600290610100900460ff161580156200087f575060005460ff8083169116105b620008f35760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a6564000000000000000000000000000000000000606482015260840162000406565b6000805461ffff191660ff8316176101001790556200091162000ffb565b6000805461ff001916905560405160ff821681527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498906020015b60405180910390a150565b6200096062000f9f565b6200096c600062001072565b565b6200097862000f9f565b6200098381620010d1565b6067805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0383169081179091556040519081527fbdf37c276f641820b141429d245add2552b4118c0866e5a78638e3de5ef18d9d906020016200094b565b6065805460009182620009f28362001840565b9091555060808301523060a083015260405160009062000a12906200142c565b604051809103906000f08015801562000a2f573d6000803e3d6000fd5b506040517f96f0adec000000000000000000000000000000000000000000000000000000009062000a65908690602401620018dd565b60408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff0000000000000000000000000000000000000000000000000000000090941693909317909252905162000ad1906200143a565b62000ade92919062001a28565b604051809103906000f08015801562000afb573d6000803e3d6000fd5b506001600160a01b0381166000818152606660209081526040918290206001908101805460ff19169091179055905191825291925082917fb4108a188495a1a681cdc0750af164011025a1773b41e93ff3e628adc037dc29910160405180910390a19392505050565b62000b6e62000f9f565b6001600160a01b038216600081815260666020908152604091829020849055815192835282018390527fa1ee82e4f177a8017f33ddddac05b7ceab1de9d46f7195e15e8aa2e8b88f3b1c910162000850565b600054610100900460ff161580801562000be15750600054600160ff909116105b8062000bfd5750303b15801562000bfd575060005460ff166001145b62000c715760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a6564000000000000000000000000000000000000606482015260840162000406565b6000805460ff19166001179055801562000c95576000805461ff0019166101001790555b62000c9f62000ffb565b600060655562000caf82620010d1565b6067805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0384169081179091556040519081527fbdf37c276f641820b141429d245add2552b4118c0866e5a78638e3de5ef18d9d9060200160405180910390a1801562000720576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200162000850565b62000d5b62000f9f565b6001600160a01b03811662000dd95760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f6464726573730000000000000000000000000000000000000000000000000000606482015260840162000406565b620005ac8162001072565b620005ac62000f9f565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff161562000e295762000e248362001112565b505050565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa92505050801562000e86575060408051601f3d908101601f1916820190925262000e839181019062001a4c565b60015b62000efa5760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201527f6f6e206973206e6f742055555053000000000000000000000000000000000000606482015260840162000406565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc811462000f915760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f7860448201527f6961626c65555549440000000000000000000000000000000000000000000000606482015260840162000406565b5062000e24838383620011df565b6033546001600160a01b031633146200096c5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640162000406565b600054610100900460ff16620010685760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b606482015260840162000406565b6200096c62001210565b603380546001600160a01b0383811673ffffffffffffffffffffffffffffffffffffffff19831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b038116620005ac576040517fe622e04000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0381163b620011915760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201527f6f74206120636f6e747261637400000000000000000000000000000000000000606482015260840162000406565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b620011ea8362001288565b600082511180620011f85750805b1562000e24576200120a8383620012ca565b50505050565b600054610100900460ff166200127d5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b606482015260840162000406565b6200096c3362001072565b620012938162001112565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6060620012f283836040518060600160405280602781526020016200da3760279139620012f9565b9392505050565b6060600080856001600160a01b03168560405162001318919062001a66565b600060405180830381855af49150503d806000811462001355576040519150601f19603f3d011682016040523d82523d6000602084013e6200135a565b606091505b50915091506200136d8683838762001377565b9695505050505050565b60608315620013eb578251600003620013e3576001600160a01b0385163b620013e35760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640162000406565b5081620013f7565b620013f78383620013ff565b949350505050565b815115620014105781518083602001fd5b8060405162461bcd60e51b815260040162000406919062001a84565b61baaf8062001a9a83390190565b6104ee806200d54983390190565b6001600160a01b0381168114620005ac57600080fd5b80356200146b8162001448565b919050565b6000602082840312156200148357600080fd5b8135620012f28162001448565b634e487b7160e01b600052604160045260246000fd5b6040516101a0810167ffffffffffffffff81118282101715620014cd57620014cd62001490565b60405290565b600067ffffffffffffffff80841115620014f157620014f162001490565b604051601f8501601f19908116603f011681019082821181831017156200151c576200151c62001490565b816040528093508581528686860111156200153657600080fd5b858560208301376000602087830101525050509392505050565b600080604083850312156200156457600080fd5b8235620015718162001448565b9150602083013567ffffffffffffffff8111156200158e57600080fd5b8301601f81018513620015a057600080fd5b620015b185823560208401620014d3565b9150509250929050565b803580151581146200146b57600080fd5b60008060408385031215620015e057600080fd5b8235620015ed8162001448565b9150620015fd60208401620015bb565b90509250929050565b600082601f8301126200161857600080fd5b620012f283833560208501620014d3565b6000604082840312156200163c57600080fd5b6040516040810167ffffffffffffffff828210818311171562001663576200166362001490565b816040528293508435835260208501359150808211156200168357600080fd5b50620016928582860162001606565b6020830152505092915050565b600060208284031215620016b257600080fd5b813567ffffffffffffffff80821115620016cb57600080fd5b908301906101a08286031215620016e157600080fd5b620016eb620014a6565b620016f6836200145e565b815262001706602084016200145e565b60208201526040830135604082015260608301356060820152608083013560808201526200173760a084016200145e565b60a08201526200174a60c084016200145e565b60c082015260e0830135828111156200176257600080fd5b620017708782860162001629565b60e083015250610100620017868185016200145e565b9082015261012083810135838111156200179f57600080fd5b620017ad8882870162001606565b828401525050610140620017c3818501620015bb565b908201526101608381013583811115620017dc57600080fd5b620017ea8882870162001606565b8284015250506101809150620018028284016200145e565b91810191909152949350505050565b600080604083850312156200182557600080fd5b8235620018328162001448565b946020939093013593505050565b6000600182016200186157634e487b7160e01b600052601160045260246000fd5b5060010190565b60005b83811015620018855781810151838201526020016200186b565b50506000910152565b60008151808452620018a881602086016020860162001868565b601f01601f19169290920160200192915050565b805182526000602082015160406020850152620013f760408501826200188e565b60208152620018f86020820183516001600160a01b03169052565b600060208301516200191560408401826001600160a01b03169052565b506040830151606083015260608301516080830152608083015160a083015260a08301516200194f60c08401826001600160a01b03169052565b5060c08301516001600160a01b03811660e08401525060e08301516101a06101008181860152620019856101c0860184620018bc565b90860151909250610120620019a4868201836001600160a01b03169052565b80870151915050601f19610140818786030181880152620019c685846200188e565b945080880151925050610160620019e08188018415159052565b80880151925050610180818786030181880152620019ff85846200188e565b9450808801519250505062001a1e828601826001600160a01b03169052565b5090949350505050565b6001600160a01b0383168152604060208201526000620013f760408301846200188e565b60006020828403121562001a5f57600080fd5b5051919050565b6000825162001a7a81846020870162001868565b9190910192915050565b602081526000620012f260208301846200188e56fe60a06040523060805234801561001457600080fd5b5060805161ba626200004d600039600081816119c001528181611a4701528181611bb501528181611c3c0152611d29015261ba626000f3fe608060405260043610620003ef5760003560e01c80636c53db9a116200020f578063a217fddf1162000123578063d547741f11620000ad578063ebd7dc521162000078578063ebd7dc521462000cfd578063f2fde38b1462000d22578063f86c5f891462000d47578063ff6409ef1462000d6a57600080fd5b8063d547741f1462000c7a578063d6d8428d1462000c9f578063d7050f071462000cc2578063db61d65c1462000cda57600080fd5b8063b64e39af11620000ee578063b64e39af1462000c0b578063b99b43701462000c32578063bc063e1a1462000c4a578063c6d572ae1462000c6257600080fd5b8063a217fddf1462000b51578063a230c5241462000b68578063b3f006741462000bd1578063b5058c501462000bf357600080fd5b806382d6a1e711620001a557806391d14854116200017057806391d148541462000a7557806396f0adec1462000abf57806397991cfa1462000ae4578063a0cf0aea1462000b2757600080fd5b806382d6a1e714620009a257806388cfe68414620009c75780638961be6b1462000a3d5780638da5cb5b1462000a5557600080fd5b8063733a2d1f11620001e6578063733a2d1f14620008e65780637817ee4f146200091c57806378a0b8a914620009675780637b103999146200097f57600080fd5b80636c53db9a1462000886578063715018a614620008a957806373265c3714620008c157600080fd5b80633396045911620003075780634f1ef286116200029d5780635ecf71c511620002685780635ecf71c514620007dc57806365e3864c14620008015780636871eb4d146200083e57806368decabb146200086357600080fd5b80634f1ef286146200076557806352d1902d146200077c578063559de05d14620007945780635c94e4d214620007b957600080fd5b80633659cfe611620002de5780633659cfe614620006a6578063397e254314620006cb5780633a871fe114620006f0578063477a5cc0146200072557600080fd5b80633396045914620006505780633517aa7d146200066957806336568abe146200068157600080fd5b8063223e547911620003895780632b38c69c11620003545780632b38c69c146200058a5780632c611c4a14620005c85780632f2ff15d146200060657806331f61bca146200062b57600080fd5b8063223e547914620004f457806322bcf9991462000519578063248a9ca3146200053e57806328c309e9146200057257600080fd5b80630d12bbdb11620003ca5780630d12bbdb14620004675780630d4a8b49146200048e578063175188e814620004b35780631f787d2814620004d857600080fd5b806301ffc9a714620003f45780630331383c146200042e57806308386eba146200044f575b600080fd5b3480156200040157600080fd5b50620004196200041336600462004b7e565b62000d8f565b60405190151581526020015b60405180910390f35b3480156200043b57600080fd5b5060fc545b60405190815260200162000425565b3480156200045c57600080fd5b506200044060fe5481565b3480156200047457600080fd5b506200048c6200048636600462004baa565b62000de0565b005b3480156200049b57600080fd5b506200048c620004ad36600462004bec565b62000e6f565b348015620004c057600080fd5b506200048c620004d236600462004c2a565b620011f7565b348015620004e557600080fd5b5060fb54620004199060ff1681565b3480156200050157600080fd5b506200048c6200051336600462004c2a565b6200120f565b3480156200052657600080fd5b506200048c6200053836600462004bec565b62001224565b3480156200054b57600080fd5b50620004406200055d36600462004baa565b600090815260c9602052604090206001015490565b3480156200057f57600080fd5b506200044062001340565b3480156200059757600080fd5b50620005af620005a936600462004c4a565b6200143e565b6040516001600160a01b03909116815260200162000425565b348015620005d557600080fd5b5062000440620005e736600462004c2a565b6001600160a01b0316600090815261010c602052604090206001015490565b3480156200061357600080fd5b506200048c6200062536600462004c79565b62001478565b3480156200063857600080fd5b506200048c6200064a36600462004baa565b620014a6565b3480156200065d57600080fd5b50620004406101025481565b3480156200067657600080fd5b506200048c620014e6565b3480156200068e57600080fd5b506200048c620006a036600462004c79565b62001922565b348015620006b357600080fd5b506200048c620006c536600462004c2a565b620019b6565b348015620006d857600080fd5b506200048c620006ea36600462004c2a565b62001b37565b348015620006fd57600080fd5b50620004196200070f36600462004c2a565b61010a6020526000908152604090205460ff1681565b3480156200073257600080fd5b50620004196200074436600462004bec565b61010e60209081526000928352604080842090915290825290205460ff1681565b6200048c6200077636600462004df9565b62001bab565b3480156200078957600080fd5b506200044062001d1c565b348015620007a157600080fd5b506200048c620007b336600462004baa565b62001de3565b348015620007c657600080fd5b5061010154620005af906001600160a01b031681565b348015620007e957600080fd5b506200048c620007fb36600462004baa565b620020e2565b3480156200080e57600080fd5b50620004406200082036600462004bec565b61010b60209081526000928352604080842090915290825290205481565b3480156200084b57600080fd5b506200048c6200085d36600462004bec565b620024d3565b3480156200087057600080fd5b5061010354620005af906001600160a01b031681565b3480156200089357600080fd5b5061010654620005af906001600160a01b031681565b348015620008b657600080fd5b506200048c620026ee565b348015620008ce57600080fd5b506200048c620008e036600462004baa565b62002704565b348015620008f357600080fd5b50620004407f03be538b6391ddcd7f2649585cc95b120c9e2a613f70714fbb55345057d809fa81565b3480156200092957600080fd5b50620004406200093b36600462004bec565b6001600160a01b03918216600090815261010b6020908152604080832093909416825291909152205490565b3480156200097457600080fd5b506200044060fc5481565b3480156200098c57600080fd5b5061010454620005af906001600160a01b031681565b348015620009af57600080fd5b506200048c620009c136600462004baa565b620027a0565b348015620009d457600080fd5b5062000a15620009e636600462004c2a565b61010c602052600090815260409020805460018201546002909201546001600160a01b03909116919060ff1683565b604080516001600160a01b039094168452602084019290925215159082015260600162000425565b34801562000a4a57600080fd5b506200044060fd5481565b34801562000a6257600080fd5b506033546001600160a01b0316620005af565b34801562000a8257600080fd5b506200041962000a9436600462004c79565b600091825260c9602090815260408084206001600160a01b0393909316845291905290205460ff1690565b34801562000acc57600080fd5b506200048c62000ade36600462004efb565b6200285e565b34801562000af157600080fd5b5062000b0962000b0336600462005187565b62002ef4565b604080519283526001600160a01b0390911660208301520162000425565b34801562000b3457600080fd5b50620005af73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b34801562000b5e57600080fd5b5062000440600081565b34801562000b7557600080fd5b506200041962000b8736600462004c2a565b6001600160a01b03908116600090815261010c60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff161515910181905290565b34801562000bde57600080fd5b5060ff54620005af906001600160a01b031681565b34801562000c0057600080fd5b506200048c62002fd9565b34801562000c1857600080fd5b5062000c2362003029565b60405162000425919062005246565b34801562000c3f57600080fd5b506200048c620030c0565b34801562000c5757600080fd5b506200044062003232565b34801562000c6f57600080fd5b5062000c2362003244565b34801562000c8757600080fd5b506200048c62000c9936600462004c79565b62003254565b34801562000cac57600080fd5b5061010754620005af906001600160a01b031681565b34801562000ccf57600080fd5b506200044061271081565b34801562000ce757600080fd5b5061010554620005af906001600160a01b031681565b34801562000d0a57600080fd5b506200041962000d1c36600462004c2a565b6200327d565b34801562000d2f57600080fd5b506200048c62000d4136600462004c2a565b620032be565b34801562000d5457600080fd5b5061010054620005af906001600160a01b031681565b34801562000d7757600080fd5b5062000b0962000d893660046200525b565b62003351565b60006001600160e01b031982167f7965db0b00000000000000000000000000000000000000000000000000000000148062000dda57506301ffc9a760e01b6001600160e01b03198316145b92915050565b62000dea620034de565b62000df9612710600a620052f1565b81111562000e33576040517ffe925f7d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60fd8190556040518181527f611668bfcf654a99c33cdb66c29ec37a5aae5c1287d2d9715a24e18cb4d806d6906020015b60405180910390a150565b62000e7a8262003547565b62000e8581620035ac565b62000e908162003600565b6001600160a01b03808316600090815261010e602090815260408083209385168352929052205460ff161562000ef2576040517fd5b9bc9600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b03808316600090815261010c602090815260409182902082516060810184528154909416845260018101549184018290526002015460ff1615159183019190915260fc546003846001600160a01b031663c32921716040518163ffffffff1660e01b81526004016020604051808303816000875af115801562000f80573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000fa6919062005321565b600381111562000fba5762000fba6200530b565b036200103e5760405163782aadff60e01b81526001600160a01b0386811660048301526000602483015285169063782aadff906044016020604051808303816000875af115801562001010573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001036919062005341565b90506200113a565b6000846001600160a01b031663c32921716040518163ffffffff1660e01b81526004016020604051808303816000875af115801562001081573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620010a7919062005321565b6003811115620010bb57620010bb6200530b565b146200113a5760405163782aadff60e01b81526001600160a01b0386811660048301526024820184905285169063782aadff906044016020604051808303816000875af115801562001111573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001137919062005341565b90505b6001600160a01b03858116600081815261010b6020908152604080832094891680845294825280832086905583835261010e82528083208584528252808320805460ff1916600190811790915584845261010d83528184208054918201815584529282902090920180546001600160a01b0319168517905581519283528201929092529081018290527ff56fa57e85e169a12200d12d9921ec069b52e688f6d309d9dab7bceff54614ec9060600160405180910390a15050505050565b62001201620034de565b6200120c8162003641565b50565b62001219620034de565b6200120c816200369f565b6200122f8262003547565b6200123a8162003600565b6200124633826200374a565b6001600160a01b03808316600090815261010e602090815260408083209385168352929052205460ff16620012a7576040517fc12369dc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b03808316600081815261010e60209081526040808320948616808452948252808320805460ff1916905592825261010b815282822093825292909252812055620012f9828262003796565b604080516001600160a01b038085168252831660208201527ede109bef4619f7e2cf00c8e5a50ca55f8deb44f87087eed414a91dbf8d1d1b91015b60405180910390a15050565b610100546000906001600160a01b031681620013606127106064620052f1565b60fd5460fc54620013729190620052f1565b6200137e91906200535b565b90506000620013916127106064620052f1565b6040516302a64b8360e21b81523060048201526001600160a01b03851690630a992e0c90602401602060405180830381865afa158015620013d6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620013fc919062005341565b60fc546200140b9190620052f1565b6200141791906200535b565b9050808260fc546200142a91906200537e565b6200143691906200537e565b935050505090565b61010d60205281600052604060002081815481106200145c57600080fd5b6000918252602090912001546001600160a01b03169150829050565b600082815260c960205260409020600101546200149581620038cc565b620014a18383620038d8565b505050565b620014b0620034de565b60fc8190556040518181527f5bcc2c453001fb0e2ba6266d56ecb411e7c6e15c8f9c3d301f93dd36ad25726f9060200162000e64565b620014f06200397c565b33600081815261010c602052604081206101005490916001600160a01b0390911690620015216127106064620052f1565b60fd5460fc54620015339190620052f1565b6200153f91906200535b565b90506000620015526127106064620052f1565b6040516302a64b8360e21b81523060048201526001600160a01b03851690630a992e0c90602401602060405180830381865afa15801562001597573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620015bd919062005341565b60fc54620015cc9190620052f1565b620015d891906200535b565b6001600160a01b03808716600090815261010c60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff1615159101819052909150620019105760028401805460ff1916600190811790915560fc549085015560408051808201909152600b81527f67617264656e546f6b656e0000000000000000000000000000000000000000006020820152610105546200168d91906001600160a01b0316620039d7565b620016c68530838560fc54620016a491906200537e565b620016b091906200537e565b610105546001600160a01b031692919062003a39565b620017076040518060400160405280601281526020017f636f6d6d756e697479466565416d6f756e7400000000000000000000000000008152508362003abf565b81156200177a5760408051808201909152600b81527f6665655265636569766572000000000000000000000000000000000000000000602082015260ff546200175a91906001600160a01b0316620039d7565b60ff54610105546200177a916001600160a01b0391821691168462003b21565b620017bb6040518060400160405280601081526020017f67617264656e73466565416d6f756e74000000000000000000000000000000008152508262003abf565b8015620018c9576200184b6040518060600160405280602681526020016200b9e060269139846001600160a01b031663987435be6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200181f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001845919062005394565b620039d7565b620018c9836001600160a01b031663987435be6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200188e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620018b4919062005394565b610105546001600160a01b0316908362003b21565b60fc54604080516001600160a01b038816815260208101929092527f67e0244e28040fec15240cd4b6c04c776a2a0278caef23b59e8ada1df31f7689910160405180910390a15b5050505050620019206001606555565b565b6001600160a01b0381163314620019a65760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201527f20726f6c657320666f722073656c66000000000000000000000000000000000060648201526084015b60405180910390fd5b620019b2828262003b5a565b5050565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016300362001a455760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b19195b1959d85d1958d85b1b60a21b60648201526084016200199d565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031662001aa17f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b6001600160a01b03161462001b0e5760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b6163746976652070726f787960a01b60648201526084016200199d565b62001b198162003bde565b604080516000808252602082019092526200120c9183919062003be8565b62001b41620034de565b62001b4c8162003600565b61010380546001600160a01b0319166001600160a01b03838116918217909255610106546040805191909316815260208101919091527f83eac9fdaff0ac1017624b7eddeb9782e3d707cd894073cb7e8301a41c6e5cf8910162000e64565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016300362001c3a5760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b19195b1959d85d1958d85b1b60a21b60648201526084016200199d565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031662001c967f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b6001600160a01b03161462001d035760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b6163746976652070726f787960a01b60648201526084016200199d565b62001d0e8262003bde565b620019b28282600162003be8565b6000306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161462001dbe5760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c000000000000000060648201526084016200199d565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc90565b62001ded6200397c565b62001df762003d94565b33600081815261010d602090815260408083208054825181850281018501909352808352919290919083018282801562001e5b57602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831162001e3c575b50505050509050600080600090505b8251811015620020425782818151811062001e895762001e89620053b4565b602090810291909101015160405163782aadff60e01b81526001600160a01b038681166004830152602482018890529091169063782aadff906044016020604051808303816000875af115801562001ee5573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001f0b919062005341565b915081156200202d576001600160a01b038416600090815261010b60205260408120845184929086908590811062001f475762001f47620053b4565b60200260200101516001600160a01b03166001600160a01b03168152602001908152602001600020600082825462001f8091906200537e565b925050819055506200202d6040518060400160405280600e81526020017f537472617465677920706f77657200000000000000000000000000000000000081525061010b6000876001600160a01b03166001600160a01b03168152602001908152602001600020600086858151811062001ffe5762001ffe620053b4565b60200260200101516001600160a01b03166001600160a01b031681526020019081526020016000205462003abf565b806200203981620053ca565b91505062001e6a565b50610105546200205e906001600160a01b031684308762003a39565b6001600160a01b038316600090815261010c6020526040812060010180548692906200208c9084906200537e565b9091555050604080516001600160a01b0385168152602081018690527f576605f9bfe8911e7508bed3763c7c5c8eb3b86e8b360b90a4bc6abe1104cb7f91015b60405180910390a15050506200120c6001606555565b620020ec6200397c565b620020f662003d94565b33600081815261010d6020908152604080832060fc5461010c90935290832060010154909291906200212a908690620053e6565b101562002163576040517f9c47d02e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610105546200217d906001600160a01b0316848662003b21565b60005b82548110156200245f576000838281548110620021a157620021a1620053b4565b6000918252602090912001546001600160a01b03169050620021cb8163f1801e6160e01b62003df5565b1562002383576040517f2ed04b2b0000000000000000000000000000000000000000000000000000000081526001600160a01b03868116600483015260248201889052821690632ed04b2b906044016020604051808303816000875af11580156200223a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002260919062005341565b9250600061010b6000876001600160a01b03166001600160a01b031681526020019081526020016000206000868581548110620022a157620022a1620053b4565b60009182526020808320909101546001600160a01b031683528201929092526040019020549050808411156200230e576040517f8a11f31800000000000000000000000000000000000000000000000000000000815260048101859052602481018290526044016200199d565b6001600160a01b038616600090815261010b602052604081208654869290889087908110620023415762002341620053b4565b60009182526020808320909101546001600160a01b031683528201929092526040018120805490919062002377908490620053e6565b90915550505062002449565b835484906200239590600190620053e6565b81548110620023a857620023a8620053b4565b9060005260206000200160009054906101000a90046001600160a01b0316848381548110620023db57620023db620053b4565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b03160217905550838054806200241c576200241c620053fc565b600082815260209020810160001990810180546001600160a01b0319169055019055620024498162003641565b50806200245681620053ca565b91505062002180565b506001600160a01b038316600090815261010c6020526040812060010180548692906200248e908490620053e6565b9091555050604080516001600160a01b0385168152602081018690527f6ee2c70b2d6b89ae808a2313aab43e925c06624271419cd665d85cfa1ae04ff89101620020cc565b620024dd6200397c565b620024e7620034de565b60fb5460ff1662002524576040517fcb63dc7200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b03808316600090815261010c60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff16151591018190526200258957604051636a5cfb6d60e01b815260040160405180910390fd5b6001600160a01b03808316600090815261010c60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff16151590820152620025da8362003e1d565b6001600160a01b03838116600090815261010c6020908152604080832080546001600160a01b031916815560018101939093556002909201805460ff191690556101055490840151915163a9059cbb60e01b8152858416600482015260248101929092529091169063a9059cbb906044016020604051808303816000875af11580156200266b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002691919062005412565b50602080820151604080516001600160a01b0380881682528616938101939093528201527fb5946f249f8744efe9d14d49a483b54a589b1362944ff6694de93456cceb96a39060600160405180910390a150620019b26001606555565b620026f862003f4b565b62001920600062003fa7565b6200270e620034de565b6101075460405163068bcd8d60e01b8152600481018390526000916001600160a01b03169063068bcd8d90602401600060405180830381865afa1580156200275a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405262002784919081019062005432565b602001519050620027958162003600565b620019b28162003641565b620027aa620034de565b6101075460405163068bcd8d60e01b8152600481018390526000916001600160a01b03169063068bcd8d90602401600060405180830381865afa158015620027f6573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405262002820919081019062005432565b602001519050620028318162003600565b6200284d6001600160a01b03821663f1801e6160e01b62003df5565b15620019b257620019b2816200369f565b600054610100900460ff16158080156200287f5750600054600160ff909116105b806200289b5750303b1580156200289b575060005460ff166001145b6200290f5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084016200199d565b6000805460ff19166001179055801562002933576000805461ff0019166101001790555b6200293d62003ff9565b6200294762004070565b62002951620040e7565b6200297e7f03be538b6391ddcd7f2649585cc95b120c9e2a613f70714fbb55345057d809fa600062004154565b6200298d826020015162003600565b6200299d82610100015162003600565b8151620029aa9062003600565b620029b98260a0015162003600565b620029c982610180015162003600565b606082015115620029e357620029e38260c0015162003600565b815161010780546001600160a01b039283166001600160a01b03199182161790915560208401516101058054919093169116179055604082015160000362002a57576040517fc70d18aa00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604082015160fc55606082015160fd5561014082015160fb805460ff19169115159190911790556101208201516101089062002a949082620055f7565b506101608201516101099062002aab9082620055f7565b5060a082015161010080546001600160a01b03199081166001600160a01b0393841617825560c085015160ff8054831691851691909117905590840151610106805483168285161790556101808501516101018054909316931692909217905562002b38907f03be538b6391ddcd7f2649585cc95b120c9e2a613f70714fbb55345057d809fa90620038d8565b61010760009054906101000a90046001600160a01b03166001600160a01b0316635ab1bd536040518163ffffffff1660e01b8152600401602060405180830381865afa15801562002b8d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002bb3919062005394565b61010480546001600160a01b0319166001600160a01b0392831617905561010654604080517fa0e67e2b0000000000000000000000000000000000000000000000000000000081529051600093929092169163a0e67e2b9160048082019286929091908290030181865afa15801562002c30573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405262002c5a9190810190620056c4565b905060008151600262002c6e91906200537e565b67ffffffffffffffff81111562002c895762002c8962004ca1565b60405190808252806020026020018201604052801562002cb3578160200160208202803683370190505b50905060005b825181101562002d225782818151811062002cd85762002cd8620053b4565b602002602001015182828151811062002cf55762002cf5620053b4565b6001600160a01b03909216602092830291909101909101528062002d1981620053ca565b91505062002cb9565b506101065481516001600160a01b0390911690829062002d4590600190620053e6565b8151811062002d585762002d58620053b4565b60200260200101906001600160a01b031690816001600160a01b03168152505030816002835162002d8a9190620053e6565b8151811062002d9d5762002d9d620053b4565b6001600160a01b03928316602091820292909201015261010454608086015160e08701516040517f3a92f65f0000000000000000000000000000000000000000000000000000000081529290931692633a92f65f9262002e09929161010891309088906004016200586f565b6020604051808303816000875af115801562002e29573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002e4f919062005341565b60fe55805162002e689061010f90602084019062004ac6565b507f2f2ffcb06f8a1d35e2716f6b43ef2c19bfa76467d8f66964ae12c2583ed0320560fe546101088660e0015160405162002ea693929190620058c3565b60405180910390a150508015620019b2576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200162001334565b600080600060405162002f079062004b30565b604051809103906000f08015801562002f24573d6000803e3d6000fd5b5061010754604080516001600160a01b0390921660248084019190915281518084039091018152604490920181526020820180516001600160e01b03167f19ab453c000000000000000000000000000000000000000000000000000000001790525162002f919062004b3e565b62002f9e929190620058f2565b604051809103906000f08015801562002fbb573d6000803e3d6000fd5b50905062002fcc8187878762003351565b9250925050935093915050565b610103546001600160a01b031633146200301f576040517febcd0d6e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b620019206200419f565b6101098054620030399062005569565b80601f0160208091040260200160405190810160405280929190818152602001828054620030679062005569565b8015620030b85780601f106200308c57610100808354040283529160200191620030b8565b820191906000526020600020905b8154815290600101906020018083116200309a57829003601f168201915b505050505081565b620030ca6200397c565b33620030d68162003547565b620030e18162003e1d565b6001600160a01b03808216600081815261010c602090815260408083208151606081018352815496871681526001820180548286015260028301805460ff81161515848701529787526001600160a01b03199098169092559084905560ff1990941690945561010d905291822090916200315c919062004b4c565b61010554602082015160405163a9059cbb60e01b81526001600160a01b038581166004830152602482019290925291169063a9059cbb906044016020604051808303816000875af1158015620031b6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620031dc919062005412565b50602080820151604080516001600160a01b0386168152928301919091527fa13f4668aacb68c4e9eed8e3f6e1cbec3eca776896ec46b5eabcc3983fc8f5f4910160405180910390a15050620019206001606555565b62003241612710600a620052f1565b81565b6101088054620030399062005569565b600082815260c960205260409020600101546200327181620038cc565b620014a1838362003b5a565b6001600160a01b03811660009081527fa867e09674d469ee17077111ff66261f5d2fc5820cc6914676cb47231da58818602052604081205460ff1662000dda565b620032c862003f4b565b6001600160a01b038116620033465760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084016200199d565b6200120c8162003fa7565b60008073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6001600160a01b038616156200337c5750845b869150600061010f805480602002602001604051908101604052809291908181526020018280548015620033da57602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311620033bb575b50506101075460fe546040519596506001600160a01b039091169463e1007d4a945090925087915062003412908b906020016200592d565b6040516020818303038152906040528660008b886040518863ffffffff1660e01b81526004016200344a9796959493929190620059cb565b6020604051808303816000875af11580156200346a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062003490919062005341565b93507f778cac0ae0b66477341553a4a89398c61ccf448313d3354ad0ca85a5a825d2838484308a89604051620034cb95949392919062005a3d565b60405180910390a1505094509492505050565b3360009081527fa867e09674d469ee17077111ff66261f5d2fc5820cc6914676cb47231da58818602052604090205460ff1662001920576040517ff62651fa00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b03808216600090815261010c60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff16151591018190526200120c57604051636a5cfb6d60e01b815260040160405180910390fd5b6001600160a01b038116600090815261010a602052604090205460ff166200120c576040517f46c26e4b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0381166200120c576040517fe622e04000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6200364c8162003600565b6001600160a01b038116600081815261010a6020908152604091829020805460ff1916905590519182527f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea4910162000e64565b6001600160a01b038116600090815261010a602052604090205460ff1615620036f4576040517f968a4d2c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038116600081815261010a6020908152604091829020805460ff1916600117905590519182527f3f008fd510eae7a9e7bee13513d7b83bef8003d488b5a3d0b0da4de71d6846f1910162000e64565b806001600160a01b0316826001600160a01b031614620019b2576040517fbbe7961100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038216600090815261010d60205260408120905b8154811015620038c657826001600160a01b0316828281548110620037da57620037da620053b4565b6000918252602090912001546001600160a01b031603620038b157815482906200380790600190620053e6565b815481106200381a576200381a620053b4565b9060005260206000200160009054906101000a90046001600160a01b03168282815481106200384d576200384d620053b4565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b03160217905550818054806200388e576200388e620053fc565b600082815260209020810160001990810180546001600160a01b03191690550190555b80620038bd81620053ca565b915050620037b1565b50505050565b6200120c8133620041fc565b600082815260c9602090815260408083206001600160a01b038516845290915290205460ff16620019b257600082815260c9602090815260408083206001600160a01b03851684529091529020805460ff19166001179055620039383390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b600260655403620039d05760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064016200199d565b6002606555565b620019b28282604051602401620039f092919062005a79565b60408051601f198184030181529190526020810180516001600160e01b03167f319af333000000000000000000000000000000000000000000000000000000001790526200427a565b6040516001600160a01b0380851660248301528316604482015260648101829052620038c69085907f23b872dd00000000000000000000000000000000000000000000000000000000906084015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091526200429b565b620019b2828260405160240162003ad892919062005aa6565b60408051601f198184030181529190526020810180516001600160e01b03167f9710a9d0000000000000000000000000000000000000000000000000000000001790526200427a565b6040516001600160a01b038316602482015260448101829052620014a190849063a9059cbb60e01b9060640162003a87565b6001606555565b600082815260c9602090815260408083206001600160a01b038516845290915290205460ff1615620019b257600082815260c9602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b6200120c62003f4b565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff161562003c1e57620014a1836200438a565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa92505050801562003c7b575060408051601f3d908101601f1916820190925262003c789181019062005341565b60015b62003cef5760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201527f6f6e206973206e6f74205555505300000000000000000000000000000000000060648201526084016200199d565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc811462003d865760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f7860448201527f6961626c6555554944000000000000000000000000000000000000000000000060648201526084016200199d565b50620014a18383836200444a565b33600090815261010c6020908152604091829020825160608101845281546001600160a01b031681526001820154928101929092526002015460ff16151591018190526200192057604051636a5cfb6d60e01b815260040160405180910390fd5b600062003e028362004475565b801562003e16575062003e168383620044ad565b9392505050565b6001600160a01b038116600090815261010d602090815260408083208054825181850281018501909352808352919290919083018282801562003e8a57602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831162003e6b575b5050505050905060005b8151811015620014a15781818151811062003eb35762003eb3620053b4565b60209081029190910101516040517f6453d9c40000000000000000000000000000000000000000000000000000000081526001600160a01b03858116600483015290911690636453d9c490602401600060405180830381600087803b15801562003f1c57600080fd5b505af115801562003f31573d6000803e3d6000fd5b50505050808062003f4290620053ca565b91505062003e94565b6033546001600160a01b03163314620019205760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016200199d565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600054610100900460ff16620040665760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b60648201526084016200199d565b6200192062004538565b600054610100900460ff16620040dd5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b60648201526084016200199d565b62001920620045b0565b600054610100900460ff16620019205760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b60648201526084016200199d565b600082815260c96020526040808220600101805490849055905190918391839186917fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff9190a4505050565b610103805461010680546001600160a01b0383166001600160a01b031991821617909155169055604051600081527fad0399dc40331b9a4977aa89da7a164a3fd482c65e6da73b25a94ea74fb688729060200160405180910390a1565b600082815260c9602090815260408083206001600160a01b038516845290915290205460ff16620019b25762004232816200461d565b6200423f83602062004630565b6040516020016200425292919062005aca565b60408051601f198184030181529082905262461bcd60e51b82526200199d9160040162005246565b80516a636f6e736f6c652e6c6f67602083016000808483855afa5050505050565b6000620042f2826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166200482f9092919063ffffffff16565b90508051600014806200431657508080602001905181019062004316919062005412565b620014a15760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f7420737563636565640000000000000000000000000000000000000000000060648201526084016200199d565b6001600160a01b0381163b620044095760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201527f6f74206120636f6e74726163740000000000000000000000000000000000000060648201526084016200199d565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b620044558362004848565b600082511180620044635750805b15620014a157620038c683836200488a565b60006200448a826301ffc9a760e01b620044ad565b801562000dda5750620044a6826001600160e01b0319620044ad565b1592915050565b604080516001600160e01b03198316602480830191909152825180830390910181526044909101909152602080820180516001600160e01b03166301ffc9a760e01b178152825160009392849283928392918391908a617530fa92503d9150600051905082801562004520575060208210155b80156200452d5750600081115b979650505050505050565b600054610100900460ff16620045a55760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b60648201526084016200199d565b620019203362003fa7565b600054610100900460ff1662003b535760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b60648201526084016200199d565b606062000dda6001600160a01b03831660145b6060600062004641836002620052f1565b6200464e9060026200537e565b67ffffffffffffffff81111562004669576200466962004ca1565b6040519080825280601f01601f19166020018201604052801562004694576020820181803683370190505b5090507f300000000000000000000000000000000000000000000000000000000000000081600081518110620046ce57620046ce620053b4565b60200101906001600160f81b031916908160001a9053507f7800000000000000000000000000000000000000000000000000000000000000816001815181106200471c576200471c620053b4565b60200101906001600160f81b031916908160001a905350600062004742846002620052f1565b6200474f9060016200537e565b90505b6001811115620047de577f303132333435363738396162636465660000000000000000000000000000000085600f1660108110620047945762004794620053b4565b1a60f81b828281518110620047ad57620047ad620053b4565b60200101906001600160f81b031916908160001a90535060049490941c93620047d68162005b4f565b905062004752565b50831562003e165760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e7460448201526064016200199d565b6060620048408484600085620048b2565b949350505050565b62004853816200438a565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b606062003e1683836040518060600160405280602781526020016200ba0660279139620049a1565b6060824710156200492c5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c000000000000000000000000000000000000000000000000000060648201526084016200199d565b600080866001600160a01b031685876040516200494a919062005b69565b60006040518083038185875af1925050503d806000811462004989576040519150601f19603f3d011682016040523d82523d6000602084013e6200498e565b606091505b50915091506200452d8783838762004a1f565b6060600080856001600160a01b031685604051620049c0919062005b69565b600060405180830381855af49150503d8060008114620049fd576040519150601f19603f3d011682016040523d82523d6000602084013e62004a02565b606091505b509150915062004a158683838762004a1f565b9695505050505050565b6060831562004a9357825160000362004a8b576001600160a01b0385163b62004a8b5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016200199d565b508162004840565b62004840838381511562004aaa5781518083602001fd5b8060405162461bcd60e51b81526004016200199d919062005246565b82805482825590600052602060002090810192821562004b1e579160200282015b8281111562004b1e57825182546001600160a01b0319166001600160a01b0390911617825560209092019160019091019062004ae7565b5062004b2c92915062004b67565b5090565b61596a8062005b8883390190565b6104ee806200b4f283390190565b50805460008255906000526020600020908101906200120c91905b5b8082111562004b2c576000815560010162004b68565b60006020828403121562004b9157600080fd5b81356001600160e01b03198116811462003e1657600080fd5b60006020828403121562004bbd57600080fd5b5035919050565b6001600160a01b03811681146200120c57600080fd5b803562004be78162004bc4565b919050565b6000806040838503121562004c0057600080fd5b823562004c0d8162004bc4565b9150602083013562004c1f8162004bc4565b809150509250929050565b60006020828403121562004c3d57600080fd5b813562003e168162004bc4565b6000806040838503121562004c5e57600080fd5b823562004c6b8162004bc4565b946020939093013593505050565b6000806040838503121562004c8d57600080fd5b82359150602083013562004c1f8162004bc4565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff8111828210171562004cdd5762004cdd62004ca1565b60405290565b6040516101a0810167ffffffffffffffff8111828210171562004cdd5762004cdd62004ca1565b604051610120810167ffffffffffffffff8111828210171562004cdd5762004cdd62004ca1565b60405160c0810167ffffffffffffffff8111828210171562004cdd5762004cdd62004ca1565b604051601f8201601f1916810167ffffffffffffffff8111828210171562004d835762004d8362004ca1565b604052919050565b600067ffffffffffffffff82111562004da85762004da862004ca1565b50601f01601f191660200190565b600062004dcd62004dc78462004d8b565b62004d57565b905082815283838301111562004de257600080fd5b828260208301376000602084830101529392505050565b6000806040838503121562004e0d57600080fd5b823562004e1a8162004bc4565b9150602083013567ffffffffffffffff81111562004e3757600080fd5b8301601f8101851362004e4957600080fd5b62004e5a8582356020840162004db6565b9150509250929050565b600082601f83011262004e7657600080fd5b62003e168383356020850162004db6565b60006040828403121562004e9a57600080fd5b62004ea462004cb7565b905081358152602082013567ffffffffffffffff81111562004ec557600080fd5b62004ed38482850162004e64565b60208301525092915050565b80151581146200120c57600080fd5b803562004be78162004edf565b60006020828403121562004f0e57600080fd5b813567ffffffffffffffff8082111562004f2757600080fd5b908301906101a0828603121562004f3d57600080fd5b62004f4762004ce3565b62004f528362004bda565b815262004f626020840162004bda565b602082015260408301356040820152606083013560608201526080830135608082015262004f9360a0840162004bda565b60a082015262004fa660c0840162004bda565b60c082015260e08301358281111562004fbe57600080fd5b62004fcc8782860162004e87565b60e08301525061010062004fe281850162004bda565b90820152610120838101358381111562004ffb57600080fd5b620050098882870162004e64565b8284015250506101406200501f81850162004eee565b9082015261016083810135838111156200503857600080fd5b620050468882870162004e64565b82840152505061018091506200505e82840162004bda565b91810191909152949350505050565b80356003811062004be757600080fd5b600481106200120c57600080fd5b803562004be7816200507d565b600060208284031215620050ab57600080fd5b6040516020810181811067ffffffffffffffff82111715620050d157620050d162004ca1565b6040529135825250919050565b60006101208284031215620050f257600080fd5b620050fc62004d0a565b9050620051098262004bda565b8152602082013560208201526040820135604082015260608201356060820152608082013560808201526200514160a083016200506d565b60a08201526200515460c083016200508b565b60c0820152620051688360e0840162005098565b60e08201526101006200517d81840162004bda565b9082015292915050565b600080600061016084860312156200519e57600080fd5b8335620051ab8162004bc4565b9250620051bc8560208601620050de565b915061014084013567ffffffffffffffff811115620051da57600080fd5b620051e88682870162004e87565b9150509250925092565b60005b838110156200520f578181015183820152602001620051f5565b50506000910152565b6000815180845262005232816020860160208601620051f2565b601f01601f19169290920160200192915050565b60208152600062003e16602083018462005218565b60008060008061018085870312156200527357600080fd5b8435620052808162004bc4565b93506020850135620052928162004bc4565b9250620052a38660408701620050de565b915061016085013567ffffffffffffffff811115620052c157600080fd5b620052cf8782880162004e87565b91505092959194509250565b634e487b7160e01b600052601160045260246000fd5b808202811582820484141762000dda5762000dda620052db565b634e487b7160e01b600052602160045260246000fd5b6000602082840312156200533457600080fd5b815162003e16816200507d565b6000602082840312156200535457600080fd5b5051919050565b6000826200537957634e487b7160e01b600052601260045260246000fd5b500490565b8082018082111562000dda5762000dda620052db565b600060208284031215620053a757600080fd5b815162003e168162004bc4565b634e487b7160e01b600052603260045260246000fd5b600060018201620053df57620053df620052db565b5060010190565b8181038181111562000dda5762000dda620052db565b634e487b7160e01b600052603160045260246000fd5b6000602082840312156200542557600080fd5b815162003e168162004edf565b600060208083850312156200544657600080fd5b825167ffffffffffffffff808211156200545f57600080fd5b9084019060c082870312156200547457600080fd5b6200547e62004d31565b8251815283830151620054918162004bc4565b818501526040830151620054a58162004bc4565b6040820152606083015182811115620054bd57600080fd5b830160408189031215620054d057600080fd5b620054da62004cb7565b815181528582015184811115620054f057600080fd5b82019350601f840189136200550457600080fd5b835191506200551762004dc78362004d8b565b82815289878487010111156200552c57600080fd5b6200553d83888301898801620051f2565b95810195909552506060810193909352506080818101519083015260a090810151908201529392505050565b600181811c908216806200557e57607f821691505b6020821081036200559f57634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620014a157600081815260208120601f850160051c81016020861015620055ce5750805b601f850160051c820191505b81811015620055ef57828155600101620055da565b505050505050565b815167ffffffffffffffff81111562005614576200561462004ca1565b6200562c8162005625845462005569565b84620055a5565b602080601f8311600181146200566457600084156200564b5750858301515b600019600386901b1c1916600185901b178555620055ef565b600085815260208120601f198616915b82811015620056955788860151825594840194600190910190840162005674565b5085821015620056b45787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60006020808385031215620056d857600080fd5b825167ffffffffffffffff80821115620056f157600080fd5b818501915085601f8301126200570657600080fd5b8151818111156200571b576200571b62004ca1565b8060051b91506200572e84830162004d57565b81815291830184019184810190888411156200574957600080fd5b938501935b83851015620057775784519250620057668362004bc4565b82825293850193908501906200574e565b98975050505050505050565b60008154620057928162005569565b808552602060018381168015620057b25760018114620057cd57620057fd565b60ff1985168884015283151560051b880183019550620057fd565b866000528260002060005b85811015620057f55781548a8201860152908301908401620057d8565b890184019650505b505050505092915050565b80518252600060208201516040602085015262004840604085018262005218565b600081518084526020808501945080840160005b83811015620058645781516001600160a01b0316875295820195908201906001016200583d565b509495945050505050565b85815260a0602082015260006200588a60a083018762005783565b82810360408401526200589e818762005808565b90506001600160a01b0385166060840152828103608084015262005777818562005829565b838152606060208201526000620058de606083018562005783565b828103604084015262004a15818562005808565b6001600160a01b038316815260406020820152600062004840604083018462005218565b600481106200592957620059296200530b565b9052565b6000610120820190506001600160a01b0383511682526020830151602083015260408301516040830152606083015160608301526080830151608083015260a0830151600381106200598357620059836200530b565b8060a08401525060c08301516200599e60c084018262005916565b5060e0830151620059b260e0840182519052565b50610100928301516001600160a01b0316919092015290565b87815260006001600160a01b03808916602084015260e06040840152620059f660e084018962005218565b818816606085015286608085015283810360a085015262005a18818762005808565b91505082810360c084015262005a2f818562005829565b9a9950505050505050505050565b85815260006001600160a01b038087166020840152808616604084015280851660608401525060a060808301526200452d60a083018462005808565b60408152600062005a8e604083018562005218565b90506001600160a01b03831660208301529392505050565b60408152600062005abb604083018562005218565b90508260208301529392505050565b7f416363657373436f6e74726f6c3a206163636f756e742000000000000000000081526000835162005b04816017850160208801620051f2565b7f206973206d697373696e6720726f6c6520000000000000000000000000000000601791840191820152835162005b43816028840160208801620051f2565b01602801949350505050565b60008162005b615762005b61620052db565b506000190190565b6000825162005b7d818460208701620051f2565b919091019291505056fe60a0604052306080526000606d81905560705534801561001e57600080fd5b506080516159136200005760003960008181611231015281816112b6015281816113b70152818161143c015261152201526159136000f3fe6080604052600436106103c75760003560e01c806376365af7116101f2578063b5f620ce11610119578063e0dd2c38116100b2578063ef2920fc11610084578063f321b3051161006c578063f321b30514610b89578063f5b0dfb714610ba9578063fc1711f214610bc957005b8063ef2920fc14610b56578063f2fde38b14610b6957005b8063e0dd2c3814610ac9578063e33add9314610ae9578063eb11af9314610b09578063edd146cc14610b3657005b8063c7f758a8116100eb578063c7f758a814610a39578063d1e3623214610a6f578063dc96ff2d14610a84578063df868ed314610ab457005b8063b5f620ce146109a6578063b6c61f31146109c6578063bcc5b93b146109e6578063c329217114610a1c57005b8063950559d71161018b578063a574cea41161015d578063a574cea414610916578063aba9ffee14610943578063ac1ed7b914610959578063b2b878d01461097957005b8063950559d7146108a1578063a0cf0aea146108c1578063a1aab33f146108e9578063a47ff7e5146108ff57005b8063817b1cd2116101c4578063817b1cd21461082d578063824ea8ed14610843578063868c57b8146108635780638da5cb5b1461088357005b806376365af7146107cc578063782aadff146107e25780637c6570ba14610802578063814516ad1461081857005b8063346db8cb116102ee5780634f1ef286116102875780635db64b99116102595780636453d9c4116102415780636453d9c41461077757806369fa25c414610797578063715018a6146107b757005b80635db64b991461072a5780636003e4141461075757005b80634f1ef286146106cc57806352d1902d146106df57806354fac919146106f457806359a5db8b1461070a57005b8063406244d8116102c0578063406244d81461066d57806342fda9c7146106825780634ab4ba42146106975780634d31d087146106ac57005b8063346db8cb146105f1578063351d9f96146106115780633659cfe61461063857806338fff2d01461065857005b806315cc481e116103605780632bbe0cae116103325780632bbe0cae146105725780632cefadbb146105855780632dbd6fdd146105a55780632ed04b2b146105d157005b806315cc481e146104eb57806319ab453c1461051d5780631aa91a9e1461053d5780631ddf1e231461055d57005b80630ba95909116103995780630ba959091461047f5780630c0512e91461049e5780630f529ba2146104b457806311f22ae3146104cb57005b8063013cf08b146103d057806301ffc9a71461040f578063058aca441461043f5780630a6f0ee91461045f57005b366103ce57005b005b3480156103dc57600080fd5b506103f06103eb36600461481d565b610be9565b6040516104069a999897969594939291906148cf565b60405180910390f35b34801561041b57600080fd5b5061042f61042a366004614942565b610cf7565b6040519015158152602001610406565b34801561044b57600080fd5b506103ce61045a366004614999565b610d90565b34801561046b57600080fd5b506103ce61047a366004614ba9565b610df0565b34801561048b57600080fd5b506073545b604051908152602001610406565b3480156104aa57600080fd5b50610490606d5481565b3480156104c057600080fd5b506104906298968081565b3480156104d757600080fd5b506103ce6104e636600461481d565b610e10565b3480156104f757600080fd5b506065546001600160a01b03165b6040516001600160a01b039091168152602001610406565b34801561052957600080fd5b506103ce610538366004614999565b610e4f565b34801561054957600080fd5b5061049061055836600461481d565b610fb0565b34801561056957600080fd5b506103ce611036565b610505610580366004614c21565b611041565b34801561059157600080fd5b506103ce6105a036600461481d565b611064565b3480156105b157600080fd5b506072546105c490610100900460ff1681565b6040516104069190614c83565b3480156105dd57600080fd5b506104906105ec366004614c91565b6110b0565b3480156105fd57600080fd5b5061049061060c366004614cbd565b611182565b34801561061d57600080fd5b5060725461062b9060ff1681565b6040516104069190614cf9565b34801561064457600080fd5b506103ce610653366004614999565b611227565b34801561066457600080fd5b50606854610490565b34801561067957600080fd5b50610490600a81565b34801561068e57600080fd5b50606654610490565b3480156106a357600080fd5b50606954610490565b3480156106b857600080fd5b5061042f6106c7366004614999565b6113a2565b6103ce6106da366004614d07565b6113ad565b3480156106eb57600080fd5b50610490611515565b34801561070057600080fd5b50610490606a5481565b34801561071657600080fd5b5061049061072536600461481d565b6115da565b34801561073657600080fd5b50610490610745366004614999565b60776020526000908152604090205481565b34801561076357600080fd5b50607454610505906001600160a01b031681565b34801561078357600080fd5b506103ce610792366004614999565b611717565b3480156107a357600080fd5b506103ce6107b236600461481d565b611728565b3480156107c357600080fd5b506103ce611767565b3480156107d857600080fd5b50610490606b5481565b3480156107ee57600080fd5b506104906107fd366004614c91565b611779565b34801561080e57600080fd5b5061049060705481565b34801561082457600080fd5b506103ce61191b565b34801561083957600080fd5b50610490606e5481565b34801561084f57600080fd5b5061042f61085e36600461481d565b611a4d565b34801561086f57600080fd5b5061049061087e366004614c91565b611aaa565b34801561088f57600080fd5b506033546001600160a01b0316610505565b3480156108ad57600080fd5b506104906108bc36600461481d565b611adb565b3480156108cd57600080fd5b5061050573eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b3480156108f557600080fd5b50610490606c5481565b34801561090b57600080fd5b506073546104909081565b34801561092257600080fd5b5061093661093136600461481d565b611b05565b6040516104069190614d57565b34801561094f57600080fd5b50610490606f5481565b34801561096557600080fd5b506103ce610974366004614999565b611be4565b34801561098557600080fd5b50610999610994366004614d6a565b611cc5565b6040516104069190614e3f565b3480156109b257600080fd5b506103ce6109c1366004614ea5565b611ce0565b3480156109d257600080fd5b50607554610505906001600160a01b031681565b3480156109f257600080fd5b50610490610a01366004614999565b6001600160a01b031660009081526077602052604090205490565b348015610a2857600080fd5b50607254610100900460ff166105c4565b348015610a4557600080fd5b50610a59610a5436600461481d565b611ce9565b6040516104069a99989796959493929190614ec2565b348015610a7b57600080fd5b50606f54610490565b348015610a9057600080fd5b50610490610a9f36600461481d565b60009081526076602052604090206002015490565b348015610ac057600080fd5b5061042f611deb565b348015610ad557600080fd5b50610490610ae4366004614f27565b611dfe565b348015610af557600080fd5b506103ce610b04366004614f4c565b611e29565b348015610b1557600080fd5b50610b29610b24366004614999565b611e42565b6040516104069190614ff7565b348015610b4257600080fd5b506103ce610b51366004615011565b611e4d565b6103ce610b64366004614c21565b611f9b565b348015610b7557600080fd5b506103ce610b84366004614999565b611fb5565b348015610b9557600080fd5b506103ce610ba4366004615042565b612042565b348015610bb557600080fd5b506103ce610bc436600461481d565b61208d565b348015610bd557600080fd5b506103ce610be436600461481d565b6120b6565b6076602090815260009182526040918290208054600182015460028301546003840154600485015460058601546006870154600788015460088901548b51808d01909c52600a8a0180548d52600b8b0180549a9d999c989b979a6001600160a01b039788169a968816999790951697939660ff9093169593949192840191610c709061509c565b80601f0160208091040260200160405190810160405280929190818152602001828054610c9c9061509c565b8015610ce95780601f10610cbe57610100808354040283529160200191610ce9565b820191906000526020600020905b815481529060010190602001808311610ccc57829003601f168201915b50505050508152505090508a565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167ff1801e61000000000000000000000000000000000000000000000000000000001480610d8a57507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b33610d9a816120f5565b607480546001600160a01b0319166001600160a01b0384169081179091556040519081527fd6ceddf6d2a22f21c7c81675c518004eff43bc5c8a6fc32a0b748e69d58671cd906020015b60405180910390a15050565b610df86121a4565b610e006121cf565b610e0b83838361220b565b505050565b33610e1a816120f5565b606b8290556040518281527f08e39b387d1f739ce0d2553bb31822392e3f67c62c6c0a215120ab4a6841a8ab90602001610de4565b600054610100900460ff1615808015610e6f5750600054600160ff909116105b80610e895750303b158015610e89575060005460ff166001145b610f005760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084015b60405180910390fd5b6000805460ff191660011790558015610f23576000805461ff0019166101001790555b610f62826040518060400160405280600a81526020017f4356537472617465677900000000000000000000000000000000000000000000815250612042565b610f6a61251f565b8015610fac576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249890602001610de4565b5050565b600081815260766020526040812080548314610fe25760405163c1d17bef60e01b815260048101849052602401610ef7565b6001600882015460ff166004811115610ffd57610ffd614836565b1461101e576040516344980d8f60e01b815260048101849052602401610ef7565b61102c818260020154612592565b6003015492915050565b61103f336125cd565b565b600061104b6121a4565b6110536121cf565b61105d838361271e565b9392505050565b3361106e816120f5565b60705460408051918252602082018490527f056aedca4e334b6c4bea48715fb0de644811b740894de57a0380d3eb90f2805b910160405180910390a150607055565b60006110ba612a70565b60006002607254610100900460ff1660038111156110da576110da614836565b148061110157506001607254610100900460ff1660038111156110ff576110ff614836565b145b1561110d57508161111a565b6111178484612ab4565b90505b80606f600082825461112c91906150e6565b9091555050604080516001600160a01b0386168152602081018590529081018290527f70b752f3fadb6ac131c0ece847fcbb6994ec56ed6411595710fd9b29c6ac6cc19060600160405180910390a19392505050565b60008084905060006111a8629896806080606a54901b6111a2919061510f565b83612d78565b905060806f80000000000000000000000000000000606a54629896806111ce91906150e6565b6111dc84600160801b6150e6565b6111e96298968089615131565b6111f39190615131565b6111fd919061510f565b6112078885615131565b6112119190615148565b61121b9190615148565b901c9695505050505050565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036112b45760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b19195b1959d85d1958d85b1b60a21b6064820152608401610ef7565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661130f7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b6001600160a01b03161461137a5760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b6163746976652070726f787960a01b6064820152608401610ef7565b61138381612e21565b6040805160008082526020820190925261139f91839190612e29565b50565b6000610d8a82612fc9565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016300361143a5760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b19195b1959d85d1958d85b1b60a21b6064820152608401610ef7565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166114957f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b6001600160a01b0316146115005760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b6163746976652070726f787960a01b6064820152608401610ef7565b61150982612e21565b610fac82826001612e29565b6000306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146115b55760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c00000000000000006064820152608401610ef7565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc90565b60008060695411611617576040517fed4421ad00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61162082612fe9565b1561163e57604051630efd728560e21b815260040160405180910390fd5b6069546000906116578468010000000000000000615131565b611661919061510f565b62989680606b546801000000000000000061167c9190615131565b611686919061510f565b61169091906150e6565b9050604061169d606f5490565b606a546116ad90629896806150e6565b6298968060406116bd8680615131565b901c629896806080606c54901b6116d4919061510f565b6116de919061510f565b6116e89190615131565b6116f2919061510f565b6116fc9190615131565b901c915060705482116117115760705461105d565b50919050565b61171f612a70565b61139f816125cd565b33611732816120f5565b606a8290556040518281527f592dcd55d60d892e7fcb3ba105013312e99691cd59f91e15f83cb67cb5a505f290602001610de4565b61176f613010565b61103f600061306a565b6000611783612a70565b61178c836130bc565b6117a957604051630b72d6b160e31b815260040160405180910390fd5b60006002607254610100900460ff1660038111156117c9576117c9614836565b036117d757825b9050611834565b6001607254610100900460ff1660038111156117f5576117f5614836565b03611804576117d08484613164565b6003607254610100900460ff16600381111561182257611822614836565b036118345761183184846132ca565b90505b60745460405163011de97360e61b81526001600160a01b038681166004830152306024830152600092169063477a5cc090604401602060405180830381865afa158015611885573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118a9919061515b565b905080156118c95781606f60008282546118c39190615148565b90915550505b604080516001600160a01b0387168152602081018690529081018390527f0b9150e1e54346ed3fa36b977cd5d65dca5a649c737c3174a26bddaadd47667a9060600160405180910390a1509392505050565b33611925816130bc565b61194257604051630b72d6b160e31b815260040160405180910390fd5b6074546040517f0d4a8b490000000000000000000000000000000000000000000000000000000081526001600160a01b03838116600483015230602483015290911690630d4a8b4990604401600060405180830381600087803b1580156119a857600080fd5b505af11580156119bc573d6000803e3d6000fd5b5050607454604051637817ee4f60e01b81526001600160a01b0385811660048301523060248301529091169250637817ee4f9150604401602060405180830381865afa158015611a10573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a349190615178565b606f6000828254611a459190615148565b909155505050565b6000818152607660205260408120600281015482908190611a6f908490613511565b91509150816000148015611a81575080155b15611a8e57826003015491505b6000611a9d84600101546115da565b9092101595945050505050565b60786020528160005260406000208181548110611ac657600080fd5b90600052602060002001600091509150505481565b6000606a5462989680611aee91906150e6565b611afb6298968084615131565b610d8a919061510f565b604080518082019091526000815260606020820152600060766000848152602001908152602001600020905080600a0160405180604001604052908160008201548152602001600182018054611b5a9061509c565b80601f0160208091040260200160405190810160405280929190818152602001828054611b869061509c565b8015611bd35780601f10611ba857610100808354040283529160200191611bd3565b820191906000526020600020905b815481529060010190602001808311611bb657829003601f168201915b505050505081525050915050919050565b607460009054906101000a90046001600160a01b03166001600160a01b0316636c53db9a6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611c37573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c5b9190615191565b6001600160a01b03163303611c9357611c7381613569565b607580546001600160a01b0383166001600160a01b031990911617905550565b6040517fe860ec7e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b606060405163d623472560e01b815260040160405180910390fd5b61139f816135a9565b6000806000806000806000806000806000607660008d815260200190815260200160002090508060010154600014611d2d57611d2881600101546115da565b611d30565b60005b92508060050160009054906101000a90046001600160a01b03168160040160009054906101000a90046001600160a01b03168260060160009054906101000a90046001600160a01b0316836001015484600201548560080160009054906101000a900460ff16866007015487600301548a896009016000336001600160a01b03166001600160a01b03168152602001908152602001600020549a509a509a509a509a509a509a509a509a509a50509193959799509193959799565b6000611df960675460ff1690565b905090565b60008281526076602090815260408083206001600160a01b038516845260090190915281205461105d565b60405163d623472560e01b815260040160405180910390fd5b6000610d8a826135ea565b611e556121a4565b611e5e8261360a565b600081806020019051810190611e74919061521e565b80519091506001600160a01b0316611e9f57604051635df4b1ef60e01b815260040160405180910390fd5b8051607480546001600160a01b0319166001600160a01b039092169190911790556020810151606a556040810151606b556060810151606c5560a08101516072805460ff19166001836002811115611ef957611ef9614836565b021790555060c08101516072805461ff001916610100836003811115611f2157611f21614836565b021790555060e0810151516073556080810151607055610100810151607580546001600160a01b0319166001600160a01b039092169190911790556040517f4ebdec05fb64815e553aeaf3976ef8112dd79760a459bee3ac7d1659ab2c4e0490611f8e90859084906152b9565b60405180910390a1505050565b611fa36121a4565b611fab6121cf565b610fac828261368b565b611fbd613010565b6001600160a01b0381166120395760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610ef7565b61139f8161306a565b606580546001600160a01b0319166001600160a01b03841617905560405161206e90829060200161534c565b60408051601f1981840301815291905280516020909101206066555050565b6120956121a4565b80606960008282546120a79190615148565b9091555061139f90508161379a565b336120c0816120f5565b606c8290556040518281527f30ee8206062f283e56a0af2b02138016bf7442ded26ad68a92a18a9dd246fb4990602001610de4565b6065546068546040517f29e40d4b00000000000000000000000000000000000000000000000000000000815260048101919091526001600160a01b038381166024830152909116906329e40d4b90604401602060405180830381865afa158015612163573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612187919061515b565b61139f5760405163075fd2b160e01b815260040160405180910390fd5b6065546001600160a01b0316331461103f5760405163075fd2b160e01b815260040160405180910390fd5b60685460000361103f576040517f3da3f98c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000825111612246576040517fc5f7c4c000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008280602001905181019061225c9190615178565b905080600003612298576040517ff881a10d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000818152607660205260409020600160725460ff1660028111156122bf576122bf614836565b0361251857805482146122e85760405163c1d17bef60e01b815260048101839052602401610ef7565b606954816001015411156123405760018101546069546040517f5863b0b60000000000000000000000000000000000000000000000000000000081526004810185905260248101929092526044820152606401610ef7565b6001600882015460ff16600481111561235b5761235b614836565b1461237c576040516344980d8f60e01b815260048101839052602401610ef7565b600061238783610fb0565b9050600061239883600101546115da565b905080821080156123ad575060008360010154115b156123e4576040517fcce7930800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6065546068546040517f068bcd8d00000000000000000000000000000000000000000000000000000000815260048101919091526000916001600160a01b03169063068bcd8d90602401600060405180830381865afa15801561244b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261247391908101906153ec565b905083600101546069600082825461248b91906150e6565b90915550506040810151600485015460018601546124b392916001600160a01b0316906137ca565b60088401805460ff191660049081179091558401546001850154604080518881526001600160a01b0390931660208401528201527fa7932e9c92f31e1ed56b29d00bbe669a97484dc24de28dd9c8c0429df7f358479060600160405180910390a15050505b5050505050565b600054610100900460ff1661258a5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401610ef7565b61103f61380f565b60008061259f8484613511565b915091508160001480156125b1575080155b156125bc5750505050565b600784015560039092019190915550565b607454604051637817ee4f60e01b81526001600160a01b03838116600483015230602483015290911690637817ee4f90604401602060405180830381865afa15801561261d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126419190615178565b606f600082825461265291906150e6565b90915550506074546040517f22bcf9990000000000000000000000000000000000000000000000000000000081526001600160a01b038381166004830152306024830152909116906322bcf99990604401600060405180830381600087803b1580156126bd57600080fd5b505af11580156126d1573d6000803e3d6000fd5b505050506126de81613883565b6040516001600160a01b03821681527f1468da654b37bb3631011c1917d02e0db437d519918858d40b38b5e980ca033b906020015b60405180910390a150565b6000612729826130bc565b61274657604051630b72d6b160e31b815260040160405180910390fd5b60008380602001905181019061275c91906154a0565b805190915060000361279a576040517f4e79178600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600160725460ff1660028111156127b3576127b3614836565b03612963576127c58160200151613569565b60608101516001600160a01b0316612809576040517f596a094c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000306001600160a01b03166315cc481e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612849573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061286d9190615191565b6001600160a01b031663068bcd8d6068546040518263ffffffff1660e01b815260040161289c91815260200190565b600060405180830381865afa1580156128b9573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526128e191908101906153ec565b604001519050806001600160a01b031682606001516001600160a01b031614612936576040517fa29c498600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6129438260400151612fe9565b1561296157604051630efd728560e21b815260040160405180910390fd5b505b6000606d6000815461297490615547565b918290555060008181526076602090815260408083208481556005810180546001600160a01b038b81166001600160a01b0319928316179092558885015160048401805491841691831691909117905560608901516006840180549190931691161790559086015160018083019190915560088201805460ff19169091179055436007820155600381019290925560808501518051600a8401908155918101519394509192600b840190612a2890826155ae565b505060685460408051918252602082018590527ffcf3b1aa65a464cef2889608f99e8b8c0f680a4be6c2acb9d961c536a5a9294b92500160405180910390a150949350505050565b6074546001600160a01b0316331461103f576040517faf0916a200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b607454604080516336d8759760e21b815290516000926012926001600160a01b039091169163db61d65c916004808201926020929091908290030181865afa158015612b04573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612b289190615191565b6001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015612b81575060408051601f3d908101601f19168201909252612b7e9181019061566e565b60015b612bc857612bc36040518060400160405280601581526020017f4572726f722067657474696e6720646563696d616c0000000000000000000000815250613a10565b612bce565b60ff1690505b612c0d6040518060400160405280601081526020017f5f616d6f756e74546f556e7374616b650000000000000000000000000000000081525084613a81565b6074546040516316308e2560e11b81526001600160a01b0386811660048301526000928692911690632c611c4a90602401602060405180830381865afa158015612c5b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612c7f9190615178565b612c8991906150e6565b9050612cca6040518060400160405280600d81526020017f6e6577546f74616c5374616b650000000000000000000000000000000000000081525082613a81565b6000612ce9612cda84600a615775565b612ce49084615131565b613af4565b607454604051637817ee4f60e01b81526001600160a01b03898116600483015230602483015292935060009284921690637817ee4f90604401602060405180830381865afa158015612d3f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612d639190615178565b612d6d91906150e6565b979650505050505050565b6000600160801b8310612dcd5760405162461bcd60e51b815260206004820152601c60248201527f5f612073686f756c64206265206c657373207468616e20325e313238000000006044820152606401610ef7565b50600160801b82825b8015612e195780600116600003612dfb57612df18283613bdc565b915060011c612dd6565b612e058383613bdc565b9250612e126001826150e6565b9050612dd6565b505092915050565b61139f613010565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615612e5c57610e0b83613cdb565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015612eb6575060408051601f3d908101601f19168201909252612eb391810190615178565b60015b612f285760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201527f6f6e206973206e6f7420555550530000000000000000000000000000000000006064820152608401610ef7565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8114612fbd5760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f7860448201527f6961626c655555494400000000000000000000000000000000000000000000006064820152608401610ef7565b50610e0b838383613d99565b60006001600160a01b03821615612fe1576001610d8a565b600092915050565b6000612ff86298968083615131565b606954606b546130089190615131565b111592915050565b6033546001600160a01b0316331461103f5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610ef7565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6075546000906001600160a01b03166130d757506001919050565b6075546040517f42a987a00000000000000000000000000000000000000000000000000000000081526001600160a01b038481166004830152306024830152909116906342a987a090604401602060405180830381865afa158015613140573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d8a919061515b565b6000808290506131a96040518060400160405280601281526020017f504f494e545320544f20494e435245415345000000000000000000000000000081525082613a81565b607454604051637817ee4f60e01b81526001600160a01b0386811660048301523060248301526000921690637817ee4f90604401602060405180830381865afa1580156131fa573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061321e9190615178565b905061325f6040518060400160405280600b81526020017f4d454d424552504f57455200000000000000000000000000000000000000000081525082613a81565b60735461326c8383615148565b1115613283576073546132809082906150e6565b91505b6132c26040518060400160405280601681526020017f504f494e545320544f20494e43524541534520454e440000000000000000000081525083613a81565b509392505050565b6074546040516316308e2560e11b81526001600160a01b0384811660048301526000928392859290911690632c611c4a90602401602060405180830381865afa15801561331b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061333f9190615178565b6133499190615148565b607454604080516336d8759760e21b815290519293506012926001600160a01b039092169163db61d65c916004808201926020929091908290030181865afa158015613399573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906133bd9190615191565b6001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015613416575060408051601f3d908101601f191682019092526134139181019061566e565b60015b61345d576134586040518060400160405280601581526020017f4572726f722067657474696e6720646563696d616c0000000000000000000000815250613a10565b613463565b60ff1690505b600061347d61347383600a615775565b612ce49085615131565b607454604051637817ee4f60e01b81526001600160a01b03898116600483015230602483015292935060009290911690637817ee4f90604401602060405180830381865afa1580156134d3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906134f79190615178565b9050600061350582846150e6565b98975050505050505050565b600080439050808460070154111561352b5761352b615781565b8084600701540361354157506000905080613562565b61355f84600701548261355491906150e6565b856003015485611182565b91505b9250929050565b6001600160a01b03811661139f576040517fe622e04000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6067805460ff19168215159081179091556040519081527fd94c9bc4d43c51d8dc345a016d8e3d994432fac68e72832e4cf3a616bd8efae090602001612713565b60006001600160a01b03821615613602576002610d8a565b600392915050565b6136126121a4565b6068541561364c576040517f439a74c900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80600003613686576040517f7fcce2a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b606855565b61369481613dbe565b61369d816130bc565b6136ba57604051630b72d6b160e31b815260040160405180910390fd5b60745460405163011de97360e61b81526001600160a01b038381166004830152306024830152600092169063477a5cc090604401602060405180830381865afa15801561370b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061372f919061515b565b905080613768576040517f5fccb67f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008380602001905181019061377e9190615797565b905061378a8382613ee4565b61379483826140a7565b50505050565b6040518181527f46aeb5d8770fc4474bc2dfa118fd2595f7fb33ce2cbce6f4e5a3dabfe0f7633990602001612713565b7fffffffffffffffffffffffff11111111111111111111111111111111111111126001600160a01b0384160161380457610e0b82826144cb565b610e0b8383836144e7565b600054610100900460ff1661387a5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401610ef7565b61103f3361306a565b6001600160a01b0381166000908152607860209081526040808320805482518185028101850190935280835291929091908301828280156138e357602002820191906000526020600020905b8154815260200190600101908083116138cf575b5050505050905060005b8151811015610e0b57600082828151811061390a5761390a615842565b60200260200101519050600060766000838152602001908152602001600020905061393482614536565b156139fb576001600160a01b038516600090815260098201602052604081208054908290556002830180549192839261396e9084906150e6565b9250508190555080606e600082825461398791906150e6565b9091555061399790508282612592565b60028201546003830154604080516001600160a01b038a1681526020810187905260008183015260608101939093526080830191909152517f0227f642ddcf2042ceaeafadb9d540f432072c00cd4862881667168dcc14710f9181900360a00190a1505b50508080613a0890615547565b9150506138ed565b61139f81604051602401613a24919061534c565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f41304fac0000000000000000000000000000000000000000000000000000000017905261456f565b610fac8282604051602401613a97929190615858565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f9710a9d00000000000000000000000000000000000000000000000000000000017905261456f565b600081600003613b0657506000919050565b60006001613b1384614590565b901c6001901b90506001818481613b2c57613b2c6150f9565b048201901c90506001818481613b4457613b446150f9565b048201901c90506001818481613b5c57613b5c6150f9565b048201901c90506001818481613b7457613b746150f9565b048201901c90506001818481613b8c57613b8c6150f9565b048201901c90506001818481613ba457613ba46150f9565b048201901c90506001818481613bbc57613bbc6150f9565b048201901c905061105d81828581613bd657613bd66150f9565b04614624565b6000600160801b831115613c585760405162461bcd60e51b815260206004820152602860248201527f5f612073686f756c64206265206c657373207468616e206f7220657175616c2060448201527f746f20325e3132380000000000000000000000000000000000000000000000006064820152608401610ef7565b600160801b8210613cab5760405162461bcd60e51b815260206004820152601c60248201527f5f622073686f756c64206265206c657373207468616e20325e313238000000006044820152606401610ef7565b60806f80000000000000000000000000000000613cc88486615131565b613cd29190615148565b901c9392505050565b6001600160a01b0381163b613d585760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201527f6f74206120636f6e7472616374000000000000000000000000000000000000006064820152608401610ef7565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b613da28361463a565b600082511180613daf5750805b15610e0b57613794838361467a565b6001600160a01b038116613dfe576040517fd1f2828800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6074546001600160a01b0316613e2757604051635df4b1ef60e01b815260040160405180910390fd5b6074546040517fa230c5240000000000000000000000000000000000000000000000000000000081526001600160a01b0383811660048301529091169063a230c52490602401602060405180830381865afa158015613e8a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613eae919061515b565b61139f576040517f6a5cfb6d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000805b8251811015613fa157828181518110613f0357613f03615842565b60200260200101516000015160000315613f8f576000838281518110613f2b57613f2b615842565b6020026020010151600001519050613f4281614536565b613f625760405163c1d17bef60e01b815260048101829052602401610ef7565b838281518110613f7457613f74615842565b60200260200101516020015183613f8b919061587a565b9250505b80613f9981615547565b915050613ee8565b506001600160a01b038316600090815260776020526040812054613fc5908361469f565b607454604051637817ee4f60e01b81526001600160a01b03878116600483015230602483015292935060009290911690637817ee4f90604401602060405180830381865afa15801561401b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061403f9190615178565b905080821115614085576040517fd64182fe0000000000000000000000000000000000000000000000000000000081526004810183905260248101829052604401610ef7565b506001600160a01b039093166000908152607760205260409020929092555050565b606060005b82518110156137945760008382815181106140c9576140c9615842565b60200260200101516000015190508251600003614125576040805160018082528183019092529060208083019080368337019050509250808360008151811061411457614114615842565b602002602001018181525050614278565b6000805b84518110156141a4578285828151811061414557614145615842565b602002602001015103614192576040517fadebb154000000000000000000000000000000000000000000000000000000008152600481018490526024810182905260019250604401610ef7565b8061419c81615547565b915050614129565b5080614276576000845160016141ba9190615148565b67ffffffffffffffff8111156141d2576141d26149b6565b6040519080825280602002602001820160405280156141fb578160200160208202803683370190505b50905060005b85518110156142535785818151811061421c5761421c615842565b602002602001015182828151811061423657614236615842565b60209081029190910101528061424b81615547565b915050614201565b50828186518151811061426857614268615842565b602090810291909101015293505b505b600084838151811061428c5761428c615842565b60209081029190910181015181015160008481526076835260408082206001600160a01b038b168352600981019094528120549193506142cc828561469f565b6001600160a01b038a1660009081526009850160205260408120829055909150805b6001600160a01b038b166000908152607860205260409020548110156143655784546001600160a01b038c16600090815260786020526040902080548390811061433a5761433a615842565b9060005260206000200154036143535760019150614365565b8061435d81615547565b9150506142ee565b508061439b576001600160a01b038a16600090815260786020908152604082208654815460018101835591845291909220909101555b8183116143eb576143ac83836150e6565b606e60008282546143bd9190615148565b909155506143cd905083836150e6565b8460020160008282546143e09190615148565b9091555061442f9050565b6143f582846150e6565b606e600082825461440691906150e6565b90915550614416905082846150e6565b84600201600082825461442991906150e6565b90915550505b8360070154600003614446574360078501556144b2565b6144508484612592565b60028401546003850154604080516001600160a01b038e168152602081018a9052908101859052606081019290925260808201527f0227f642ddcf2042ceaeafadb9d540f432072c00cd4862881667168dcc14710f9060a00160405180910390a15b50505050505080806144c390615547565b9150506140ac565b60008060008084865af1610fac5763b12d13eb6000526004601cfd5b81601452806034526fa9059cbb00000000000000000000000060005260206000604460106000875af13d15600160005114171661452c576390b8ec186000526004601cfd5b6000603452505050565b60008181526076602052604081205415801590610d8a5750506000908152607660205260409020600501546001600160a01b0316151590565b80516a636f6e736f6c652e6c6f67602083016000808483855afa5050505050565b600080608083901c156145a557608092831c92015b604083901c156145b757604092831c92015b602083901c156145c957602092831c92015b601083901c156145db57601092831c92015b600883901c156145ed57600892831c92015b600483901c156145ff57600492831c92015b600283901c1561461157600292831c92015b600183901c15610d8a5760010192915050565b6000818310614633578161105d565b5090919050565b61464381613cdb565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b606061105d83836040518060600160405280602781526020016158b7602791396146fa565b6000806146ac838561587a565b9050600081121561105d576040517f3bbc7142000000000000000000000000000000000000000000000000000000008152600481018590526024810184905260448101829052606401610ef7565b6060600080856001600160a01b031685604051614717919061589a565b600060405180830381855af49150503d8060008114614752576040519150601f19603f3d011682016040523d82523d6000602084013e614757565b606091505b509150915061476886838387614772565b9695505050505050565b606083156147e15782516000036147da576001600160a01b0385163b6147da5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610ef7565b50816147eb565b6147eb83836147f3565b949350505050565b8151156148035781518083602001fd5b8060405162461bcd60e51b8152600401610ef7919061534c565b60006020828403121561482f57600080fd5b5035919050565b634e487b7160e01b600052602160045260246000fd5b6005811061485c5761485c614836565b9052565b60005b8381101561487b578181015183820152602001614863565b50506000910152565b6000815180845261489c816020860160208601614860565b601f01601f19169290920160200192915050565b8051825260006020820151604060208501526147eb6040850182614884565b60006101408c83528b60208401528a60408401528960608401526001600160a01b03808a16608085015280891660a085015280881660c0850152508560e084015261491e61010084018661484c565b80610120840152614931818401856148b0565b9d9c50505050505050505050505050565b60006020828403121561495457600080fd5b81357fffffffff000000000000000000000000000000000000000000000000000000008116811461105d57600080fd5b6001600160a01b038116811461139f57600080fd5b6000602082840312156149ab57600080fd5b813561105d81614984565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff811182821017156149ef576149ef6149b6565b60405290565b604051610120810167ffffffffffffffff811182821017156149ef576149ef6149b6565b60405160c0810167ffffffffffffffff811182821017156149ef576149ef6149b6565b60405160a0810167ffffffffffffffff811182821017156149ef576149ef6149b6565b604051601f8201601f1916810167ffffffffffffffff81118282101715614a8857614a886149b6565b604052919050565b600067ffffffffffffffff821115614aaa57614aaa6149b6565b5060051b60200190565b600082601f830112614ac557600080fd5b81356020614ada614ad583614a90565b614a5f565b82815260059290921b84018101918181019086841115614af957600080fd5b8286015b84811015614b1d578035614b1081614984565b8352918301918301614afd565b509695505050505050565b600067ffffffffffffffff821115614b4257614b426149b6565b50601f01601f191660200190565b6000614b5e614ad584614b28565b9050828152838383011115614b7257600080fd5b828260208301376000602084830101529392505050565b600082601f830112614b9a57600080fd5b61105d83833560208501614b50565b600080600060608486031215614bbe57600080fd5b833567ffffffffffffffff80821115614bd657600080fd5b614be287838801614ab4565b94506020860135915080821115614bf857600080fd5b50614c0586828701614b89565b9250506040840135614c1681614984565b809150509250925092565b60008060408385031215614c3457600080fd5b823567ffffffffffffffff811115614c4b57600080fd5b614c5785828601614b89565b9250506020830135614c6881614984565b809150509250929050565b6004811061485c5761485c614836565b60208101610d8a8284614c73565b60008060408385031215614ca457600080fd5b8235614caf81614984565b946020939093013593505050565b600080600060608486031215614cd257600080fd5b505081359360208301359350604090920135919050565b6003811061485c5761485c614836565b60208101610d8a8284614ce9565b60008060408385031215614d1a57600080fd5b8235614d2581614984565b9150602083013567ffffffffffffffff811115614d4157600080fd5b614d4d85828601614b89565b9150509250929050565b60208152600061105d60208301846148b0565b60008060408385031215614d7d57600080fd5b823567ffffffffffffffff80821115614d9557600080fd5b614da186838701614ab4565b9350602091508185013581811115614db857600080fd5b8501601f81018713614dc957600080fd5b8035614dd7614ad582614a90565b81815260059190911b82018401908481019089831115614df657600080fd5b8584015b83811015614e2e57803586811115614e125760008081fd5b614e208c8983890101614b89565b845250918601918601614dfa565b508096505050505050509250929050565b602080825282518282018190526000919060409081850190868401855b82811015614e8a57815180516001600160a01b03168552860151868501529284019290850190600101614e5c565b5091979650505050505050565b801515811461139f57600080fd5b600060208284031215614eb757600080fd5b813561105d81614e97565b6001600160a01b038b811682528a811660208301528916604082015260608101889052608081018790526101408101614efe60a083018861484c565b8560c08301528460e083015283610100830152826101208301529b9a5050505050505050505050565b60008060408385031215614f3a57600080fd5b823591506020830135614c6881614984565b60006020808385031215614f5f57600080fd5b823567ffffffffffffffff811115614f7657600080fd5b8301601f81018513614f8757600080fd5b8035614f95614ad582614a90565b81815260069190911b82018301908381019087831115614fb457600080fd5b928401925b82841015612d6d5760408489031215614fd25760008081fd5b614fda6149cc565b843581528585013586820152825260409093019290840190614fb9565b602081016007831061500b5761500b614836565b91905290565b6000806040838503121561502457600080fd5b82359150602083013567ffffffffffffffff811115614d4157600080fd5b6000806040838503121561505557600080fd5b823561506081614984565b9150602083013567ffffffffffffffff81111561507c57600080fd5b8301601f8101851361508d57600080fd5b614d4d85823560208401614b50565b600181811c908216806150b057607f821691505b60208210810361171157634e487b7160e01b600052602260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b81810381811115610d8a57610d8a6150d0565b634e487b7160e01b600052601260045260246000fd5b60008261512c57634e487b7160e01b600052601260045260246000fd5b500490565b8082028115828204841417610d8a57610d8a6150d0565b80820180821115610d8a57610d8a6150d0565b60006020828403121561516d57600080fd5b815161105d81614e97565b60006020828403121561518a57600080fd5b5051919050565b6000602082840312156151a357600080fd5b815161105d81614984565b80516151b981614984565b919050565b8051600381106151b957600080fd5b8051600481106151b957600080fd5b6000602082840312156151ee57600080fd5b6040516020810181811067ffffffffffffffff82111715615211576152116149b6565b6040529151825250919050565b6000610120828403121561523157600080fd5b6152396149f5565b615242836151ae565b81526020830151602082015260408301516040820152606083015160608201526080830151608082015261527860a084016151be565b60a082015261528960c084016151cd565b60c082015261529b8460e085016151dc565b60e08201526101006152ae8185016151ae565b908201529392505050565b6000610140820190508382526001600160a01b038351166020830152602083015160408301526040830151606083015260608301516080830152608083015160a083015260a083015161530f60c0840182614ce9565b5060c083015161532260e0840182614c73565b5060e08301515161010083810191909152909201516001600160a01b031661012090910152919050565b60208152600061105d6020830184614884565b60006040828403121561537157600080fd5b6153796149cc565b905081518152602082015167ffffffffffffffff81111561539957600080fd5b8201601f810184136153aa57600080fd5b80516153b8614ad582614b28565b8181528560208385010111156153cd57600080fd5b6153de826020830160208601614860565b602084015250909392505050565b6000602082840312156153fe57600080fd5b815167ffffffffffffffff8082111561541657600080fd5b9083019060c0828603121561542a57600080fd5b615432614a19565b82518152602083015161544481614984565b6020820152604083015161545781614984565b604082015260608301518281111561546e57600080fd5b61547a8782860161535f565b6060830152506080830151608082015260a083015160a082015280935050505092915050565b6000602082840312156154b257600080fd5b815167ffffffffffffffff808211156154ca57600080fd5b9083019060a082860312156154de57600080fd5b6154e6614a3c565b8251815260208301516154f881614984565b602082015260408381015190820152606083015161551581614984565b606082015260808301518281111561552c57600080fd5b6155388782860161535f565b60808301525095945050505050565b600060018201615559576155596150d0565b5060010190565b601f821115610e0b57600081815260208120601f850160051c810160208610156155875750805b601f850160051c820191505b818110156155a657828155600101615593565b505050505050565b815167ffffffffffffffff8111156155c8576155c86149b6565b6155dc816155d6845461509c565b84615560565b602080601f83116001811461561157600084156155f95750858301515b600019600386901b1c1916600185901b1785556155a6565b600085815260208120601f198616915b8281101561564057888601518255948401946001909101908401615621565b508582101561565e5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60006020828403121561568057600080fd5b815160ff8116811461105d57600080fd5b600181815b808511156156cc5781600019048211156156b2576156b26150d0565b808516156156bf57918102915b93841c9390800290615696565b509250929050565b6000826156e357506001610d8a565b816156f057506000610d8a565b816001811461570657600281146157105761572c565b6001915050610d8a565b60ff841115615721576157216150d0565b50506001821b610d8a565b5060208310610133831016604e8410600b841016171561574f575081810a610d8a565b6157598383615691565b806000190482111561576d5761576d6150d0565b029392505050565b600061105d83836156d4565b634e487b7160e01b600052600160045260246000fd5b600060208083850312156157aa57600080fd5b825167ffffffffffffffff8111156157c157600080fd5b8301601f810185136157d257600080fd5b80516157e0614ad582614a90565b81815260069190911b820183019083810190878311156157ff57600080fd5b928401925b82841015612d6d576040848903121561581d5760008081fd5b6158256149cc565b845181528585015186820152825260409093019290840190615804565b634e487b7160e01b600052603260045260246000fd5b60408152600061586b6040830185614884565b90508260208301529392505050565b8082018281126000831280158216821582161715612e1957612e196150d0565b600082516158ac818460208701614860565b919091019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a264697066735822122049b3231cbecd6db9d79eb7e6e0aa3bb1452345bd067dee068696bdb771968c2d64736f6c6343000813003360806040526040516104ee3803806104ee833981016040819052610022916102de565b61002e82826000610035565b50506103fb565b61003e83610061565b60008251118061004b5750805b1561005c5761005a83836100a1565b505b505050565b61006a816100cd565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606100c683836040518060600160405280602781526020016104c760279139610180565b9392505050565b6001600160a01b0381163b61013f5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080856001600160a01b03168560405161019d91906103ac565b600060405180830381855af49150503d80600081146101d8576040519150601f19603f3d011682016040523d82523d6000602084013e6101dd565b606091505b5090925090506101ef868383876101f9565b9695505050505050565b60608315610268578251600003610261576001600160a01b0385163b6102615760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610136565b5081610272565b610272838361027a565b949350505050565b81511561028a5781518083602001fd5b8060405162461bcd60e51b815260040161013691906103c8565b634e487b7160e01b600052604160045260246000fd5b60005b838110156102d55781810151838201526020016102bd565b50506000910152565b600080604083850312156102f157600080fd5b82516001600160a01b038116811461030857600080fd5b60208401519092506001600160401b038082111561032557600080fd5b818501915085601f83011261033957600080fd5b81518181111561034b5761034b6102a4565b604051601f8201601f19908116603f01168101908382118183101715610373576103736102a4565b8160405282815288602084870101111561038c57600080fd5b61039d8360208301602088016102ba565b80955050505050509250929050565b600082516103be8184602087016102ba565b9190910192915050565b60208152600082518060208401526103e78160408501602087016102ba565b601f01601f19169190910160400192915050565b60be806104096000396000f3fe608060405236601057600e6013565b005b600e5b601f601b6021565b6065565b565b600060607f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b905090565b3660008037600080366000845af43d6000803e8080156083573d6000f35b3d6000fdfea2646970667358221220499685897c672853da42a8c7337889b98ad42121f6c852e2a981477235103d8964736f6c63430008130033416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c656467617264656e73466163746f72792e67657447617264656e7346656552656365697665722829416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220cdf2d863746c7010819b5a761c8453d51648f6ffbb5ed493a3c7accd5f90cd8964736f6c6343000813003360806040526040516104ee3803806104ee833981016040819052610022916102de565b61002e82826000610035565b50506103fb565b61003e83610061565b60008251118061004b5750805b1561005c5761005a83836100a1565b505b505050565b61006a816100cd565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606100c683836040518060600160405280602781526020016104c760279139610180565b9392505050565b6001600160a01b0381163b61013f5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080856001600160a01b03168560405161019d91906103ac565b600060405180830381855af49150503d80600081146101d8576040519150601f19603f3d011682016040523d82523d6000602084013e6101dd565b606091505b5090925090506101ef868383876101f9565b9695505050505050565b60608315610268578251600003610261576001600160a01b0385163b6102615760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610136565b5081610272565b610272838361027a565b949350505050565b81511561028a5781518083602001fd5b8060405162461bcd60e51b815260040161013691906103c8565b634e487b7160e01b600052604160045260246000fd5b60005b838110156102d55781810151838201526020016102bd565b50506000910152565b600080604083850312156102f157600080fd5b82516001600160a01b038116811461030857600080fd5b60208401519092506001600160401b038082111561032557600080fd5b818501915085601f83011261033957600080fd5b81518181111561034b5761034b6102a4565b604051601f8201601f19908116603f01168101908382118183101715610373576103736102a4565b8160405282815288602084870101111561038c57600080fd5b61039d8360208301602088016102ba565b80955050505050509250929050565b600082516103be8184602087016102ba565b9190910192915050565b60208152600082518060208401526103e78160408501602087016102ba565b601f01601f19169190910160400192915050565b60be806104096000396000f3fe608060405236601057600e6013565b005b600e5b601f601b6021565b6065565b565b600060607f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b905090565b3660008037600080366000845af43d6000803e8080156083573d6000f35b3d6000fdfea2646970667358221220499685897c672853da42a8c7337889b98ad42121f6c852e2a981477235103d8964736f6c63430008130033416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220c1d0e3ec1440cd8c15d923f280ca43a140979b9cafd6177b5235979ab60f04d064736f6c63430008130033","sourceMap":"422:639:137:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3807:249:136;;;;;;;;;;-1:-1:-1;3807:249:136;;;;;:::i;:::-;;:::i;:::-;;;710:25:151;;;698:2;683:18;3807:249:136;;;;;;;;3143:195:68;;;;;;;;;;-1:-1:-1;3143:195:68;;;;;:::i;:::-;;:::i;:::-;;3657:220;;;;;;:::i;:::-;;:::i;2762:131::-;;;;;;;;;;;;;:::i;3443:208:136:-;;;;;;;;;;-1:-1:-1;3443:208:136;;;;;:::i;:::-;;:::i;978:81:137:-;;;;;;;;;;;;;:::i;2085:101:46:-;;;;;;;;;;;;;:::i;2870:222:136:-;;;;;;;;;;-1:-1:-1;2870:222:136;;;;;:::i;:::-;;:::i;2100:764::-;;;;;;;;;;-1:-1:-1;2100:764:136;;;;;:::i;:::-;;:::i;:::-;;;-1:-1:-1;;;;;5932:55:151;;;5914:74;;5902:2;5887:18;2100:764:136;5768:226:151;1462:85:46;;;;;;;;;;-1:-1:-1;1534:6:46;;-1:-1:-1;;;;;1534:6:46;1462:85;;3098:115:136;;;;;;;;;;-1:-1:-1;3188:18:136;;-1:-1:-1;;;;;3188:18:136;3098:115;;667:20;;;;;;;;;;;;;;;;3219:218;;;;;;;;;;-1:-1:-1;3219:218:136;;;;;:::i;:::-;;:::i;749:33::-;;;;;;;;;;-1:-1:-1;749:33:136;;;;-1:-1:-1;;;;;749:33:136;;;1753:341;;;;;;;;;;-1:-1:-1;1753:341:136;;;;;:::i;:::-;;:::i;2335:198:46:-;;;;;;;;;;-1:-1:-1;2335:198:46;;;;;:::i;:::-;;:::i;3657:144:136:-;;;;;;;;;;-1:-1:-1;3657:144:136;;;;;:::i;:::-;-1:-1:-1;;;;;3761:27:136;3738:4;3761:27;;;:15;:27;;;;;:33;;;;;;3657:144;;;;6580:14:151;;6573:22;6555:41;;6543:2;6528:18;3657:144:136;6415:187:151;3807:249:136;-1:-1:-1;;;;;3906:27:136;;3882:7;3906:27;;;:15;:27;;;;;:33;;;;;3901:100;;3962:28;;;;;-1:-1:-1;;;;;5932:55:151;;3962:28:136;;;5914:74:151;5887:18;;3962:28:136;;;;;;;;3901:100;-1:-1:-1;;;;;;4018:27:136;;;;;:15;:27;;;;;:31;;3807:249::o;3143:195:68:-;-1:-1:-1;;;;;1654:6:68;1637:23;1645:4;1637:23;1629:80;;;;-1:-1:-1;;;1629:80:68;;6809:2:151;1629:80:68;;;6791:21:151;6848:2;6828:18;;;6821:30;6887:34;6867:18;;;6860:62;-1:-1:-1;;;6938:18:151;;;6931:42;6990:19;;1629:80:68;6607:408:151;1629:80:68;1751:6;-1:-1:-1;;;;;1727:30:68;:20;1030:66:64;1254:54;-1:-1:-1;;;;;1254:54:64;;1175:140;1727:20:68;-1:-1:-1;;;;;1727:30:68;;1719:87;;;;-1:-1:-1;;;1719:87:68;;7222:2:151;1719:87:68;;;7204:21:151;7261:2;7241:18;;;7234:30;7300:34;7280:18;;;7273:62;-1:-1:-1;;;7351:18:151;;;7344:42;7403:19;;1719:87:68;7020:408:151;1719:87:68;3224:36:::1;3242:17;3224;:36::i;:::-;3311:12;::::0;;3321:1:::1;3311:12:::0;;;::::1;::::0;::::1;::::0;;;3270:61:::1;::::0;3292:17;;3311:12;3270:21:::1;:61::i;:::-;3143:195:::0;:::o;3657:220::-;-1:-1:-1;;;;;1654:6:68;1637:23;1645:4;1637:23;1629:80;;;;-1:-1:-1;;;1629:80:68;;6809:2:151;1629:80:68;;;6791:21:151;6848:2;6828:18;;;6821:30;6887:34;6867:18;;;6860:62;-1:-1:-1;;;6938:18:151;;;6931:42;6990:19;;1629:80:68;6607:408:151;1629:80:68;1751:6;-1:-1:-1;;;;;1727:30:68;:20;1030:66:64;1254:54;-1:-1:-1;;;;;1254:54:64;;1175:140;1727:20:68;-1:-1:-1;;;;;1727:30:68;;1719:87;;;;-1:-1:-1;;;1719:87:68;;7222:2:151;1719:87:68;;;7204:21:151;7261:2;7241:18;;;7234:30;7300:34;7280:18;;;7273:62;-1:-1:-1;;;7351:18:151;;;7344:42;7403:19;;1719:87:68;7020:408:151;1719:87:68;3772:36:::1;3790:17;3772;:36::i;:::-;3818:52;3840:17;3859:4;3865;3818:21;:52::i;:::-;3657:220:::0;;:::o;2762:131::-;2840:7;2080:4;-1:-1:-1;;;;;2089:6:68;2072:23;;2064:92;;;;-1:-1:-1;;;2064:92:68;;7635:2:151;2064:92:68;;;7617:21:151;7674:2;7654:18;;;7647:30;7713:34;7693:18;;;7686:62;7784:26;7764:18;;;7757:54;7828:19;;2064:92:68;7433:420:151;2064:92:68;-1:-1:-1;1030:66:64::1;2762:131:68::0;:::o;3443:208:136:-;1355:13:46;:11;:13::i;:::-;-1:-1:-1;;;;;3543:27:136;::::1;;::::0;;;:15:::1;:27;::::0;;;;;;;;:33:::1;;:44:::0;;-1:-1:-1;;3543:44:136::1;::::0;::::1;;::::0;;::::1;::::0;;;3602:42;;8026:74:151;;;8116:18;;;8109:50;3602:42:136::1;::::0;7999:18:151;3602:42:136::1;;;;;;;;3443:208:::0;;:::o;978:81:137:-;4882:13:48;;1023:1:137;;4882:13:48;;;;;4881:14;:40;;;;-1:-1:-1;4899:12:48;;:22;;;;:12;;:22;4881:40;4873:99;;;;-1:-1:-1;;;4873:99:48;;8372:2:151;4873:99:48;;;8354:21:151;8411:2;8391:18;;;8384:30;8450:34;8430:18;;;8423:62;8521:16;8501:18;;;8494:44;8555:19;;4873:99:48;8170:410:151;4873:99:48;4982:12;:22;;-1:-1:-1;;5014:20:48;4982:22;;;5014:20;4982:22;5014:20;;;1036:16:137::1;:14;:16::i;:::-;5071:5:48::0;5055:21;;-1:-1:-1;;5055:21:48;;;5091:20;;8757:4:151;8745:17;;8727:36;;5091:20:48;;8715:2:151;8700:18;5091:20:48;;;;;;;;978:81:137;:::o;2085:101:46:-;1355:13;:11;:13::i;:::-;2149:30:::1;2176:1;2149:18;:30::i;:::-;2085:101::o:0;2870:222:136:-;1355:13:46;:11;:13::i;:::-;2958:35:136::1;2977:15;2958:18;:35::i;:::-;3003:18;:36:::0;;-1:-1:-1;;3003:36:136::1;-1:-1:-1::0;;;;;3003:36:136;::::1;::::0;;::::1;::::0;;;3054:31:::1;::::0;5914:74:151;;;3054:31:136::1;::::0;5902:2:151;5887:18;3054:31:136::1;5768:226:151::0;2100:764:136;2289:5;:7;;2226:31;;;2289:7;;;:::i;:::-;;;;-1:-1:-1;2273:13:136;;;:23;2340:4;2306:23;;;:39;2415:27;;-1:-1:-1;;2415:27:136;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2457:73:136;;2480:41;;2457:73;;2523:6;;2457:73;;;:::i;:::-;;;;-1:-1:-1;;2457:73:136;;;;;;;;;;;;;;;;;;;;;;;;;;;2377:163;;;;;:::i;:::-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;2699:43:136;;2551:39;2699:43;;;:15;:43;;;;;;;;;2751:4;2699:49;;;:56;;-1:-1:-1;;2699:56:136;;;;;;2770:44;;5914:74:151;;;2699:43:136;;-1:-1:-1;2699:43:136;;2770:44;;5887:18:151;2770:44:136;;;;;;;2839:17;2100:764;-1:-1:-1;;;2100:764:136:o;3219:218::-;1355:13:46;:11;:13::i;:::-;-1:-1:-1;;;;;3323:27:136;::::1;;::::0;;;:15:::1;:27;::::0;;;;;;;;:49;;;3387:43;;12254:74:151;;;12344:18;;12337:34;;;3387:43:136::1;::::0;12227:18:151;3387:43:136::1;12080:297:151::0;1753:341:136;3279:19:48;3302:13;;;;;;3301:14;;3347:34;;;;-1:-1:-1;3365:12:48;;3380:1;3365:12;;;;:16;3347:34;3346:108;;;-1:-1:-1;3426:4:48;1713:19:51;:23;;;3387:66:48;;-1:-1:-1;3436:12:48;;;;;:17;3387:66;3325:201;;;;-1:-1:-1;;;3325:201:48;;8372:2:151;3325:201:48;;;8354:21:151;8411:2;8391:18;;;8384:30;8450:34;8430:18;;;8423:62;8521:16;8501:18;;;8494:44;8555:19;;3325:201:48;8170:410:151;3325:201:48;3536:12;:16;;-1:-1:-1;;3536:16:48;3551:1;3536:16;;;3562:65;;;;3596:13;:20;;-1:-1:-1;;3596:20:48;;;;;3562:65;1839:16:136::1;:14;:16::i;:::-;1873:1;1865:5;:9:::0;1884:39:::1;1903:19:::0;1884:18:::1;:39::i;:::-;1933:18;:40:::0;;-1:-1:-1;;1933:40:136::1;-1:-1:-1::0;;;;;1933:40:136;::::1;::::0;;::::1;::::0;;;1988:35:::1;::::0;5914:74:151;;;1988:35:136::1;::::0;5902:2:151;5887:18;1988:35:136::1;;;;;;;3651:14:48::0;3647:99;;;3697:5;3681:21;;-1:-1:-1;;3681:21:48;;;3721:14;;-1:-1:-1;8727:36:151;;3721:14:48;;8715:2:151;8700:18;3721:14:48;8585:184:151;2335:198:46;1355:13;:11;:13::i;:::-;-1:-1:-1;;;;;2423:22:46;::::1;2415:73;;;::::0;-1:-1:-1;;;2415:73:46;;12783:2:151;2415:73:46::1;::::0;::::1;12765:21:151::0;12822:2;12802:18;;;12795:30;12861:34;12841:18;;;12834:62;12932:8;12912:18;;;12905:36;12958:19;;2415:73:46::1;12581:402:151::0;2415:73:46::1;2498:28;2517:8;2498:18;:28::i;4062:74:136:-:0;1355:13:46;:11;:13::i;2494:922:64:-;689:66;2910:48;;;2906:504;;;2974:37;2993:17;2974:18;:37::i;:::-;2494:922;;;:::o;2906:504::-;3064:17;-1:-1:-1;;;;;3046:50:64;;:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3046:52:64;;;;;;;;-1:-1:-1;;3046:52:64;;;;;;;;;;;;:::i;:::-;;;3042:291;;3262:56;;-1:-1:-1;;;3262:56:64;;13379:2:151;3262:56:64;;;13361:21:151;13418:2;13398:18;;;13391:30;13457:34;13437:18;;;13430:62;13528:16;13508:18;;;13501:44;13562:19;;3262:56:64;13177:410:151;3042:291:64;1030:66;3148:28;;3140:82;;;;-1:-1:-1;;;3140:82:64;;13794:2:151;3140:82:64;;;13776:21:151;13833:2;13813:18;;;13806:30;13872:34;13852:18;;;13845:62;13943:11;13923:18;;;13916:39;13972:19;;3140:82:64;13592:405:151;3140:82:64;3099:138;3346:53;3364:17;3383:4;3389:9;3346:17;:53::i;1620:130:46:-;1534:6;;-1:-1:-1;;;;;1534:6:46;965:10:52;1683:23:46;1675:68;;;;-1:-1:-1;;;1675:68:46;;14204:2:151;1675:68:46;;;14186:21:151;;;14223:18;;;14216:30;14282:34;14262:18;;;14255:62;14334:18;;1675:68:46;14002:356:151;1024:95:46;5374:13:48;;;;;;;5366:69;;;;-1:-1:-1;;;5366:69:48;;14565:2:151;5366:69:48;;;14547:21:151;14604:2;14584:18;;;14577:30;14643:34;14623:18;;;14616:62;-1:-1:-1;;;14694:18:151;;;14687:41;14745:19;;5366:69:48;14363:407:151;5366:69:48;1086:26:46::1;:24;:26::i;2687:187::-:0;2779:6;;;-1:-1:-1;;;;;2795:17:46;;;-1:-1:-1;;2795:17:46;;;;;;;2827:40;;2779:6;;;2795:17;2779:6;;2827:40;;2760:16;;2827:40;2750:124;2687:187;:::o;1614:133:136:-;-1:-1:-1;;;;;1688:22:136;;1684:56;;1719:21;;;;;;;;;;;;;;1406:259:64;-1:-1:-1;;;;;1713:19:51;;;1479:95:64;;;;-1:-1:-1;;;1479:95:64;;14977:2:151;1479:95:64;;;14959:21:151;15016:2;14996:18;;;14989:30;15055:34;15035:18;;;15028:62;15126:15;15106:18;;;15099:43;15159:19;;1479:95:64;14775:409:151;1479:95:64;1030:66;1584:74;;-1:-1:-1;;1584:74:64;-1:-1:-1;;;;;1584:74:64;;;;;;;;;;1406:259::o;2057:265::-;2165:29;2176:17;2165:10;:29::i;:::-;2222:1;2208:4;:11;:15;:28;;;;2227:9;2208:28;2204:112;;;2252:53;2281:17;2300:4;2252:28;:53::i;:::-;;2057:265;;;:::o;1125:111:46:-;5374:13:48;;;;;;;5366:69;;;;-1:-1:-1;;;5366:69:48;;14565:2:151;5366:69:48;;;14547:21:151;14604:2;14584:18;;;14577:30;14643:34;14623:18;;;14616:62;-1:-1:-1;;;14694:18:151;;;14687:41;14745:19;;5366:69:48;14363:407:151;5366:69:48;1197:32:46::1;965:10:52::0;1197:18:46::1;:32::i;1771:152:64:-:0;1837:37;1856:17;1837:18;:37::i;:::-;1889:27;;-1:-1:-1;;;;;1889:27:64;;;;;;;;1771:152;:::o;6674:198:80:-;6757:12;6788:77;6809:6;6817:4;6788:77;;;;;;;;;;;;;;;;;:20;:77::i;:::-;6781:84;6674:198;-1:-1:-1;;;6674:198:80:o;7058:325::-;7199:12;7224;7238:23;7265:6;-1:-1:-1;;;;;7265:19:80;7285:4;7265:25;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7223:67;;;;7307:69;7334:6;7342:7;7351:10;7363:12;7307:26;:69::i;:::-;7300:76;7058:325;-1:-1:-1;;;;;;7058:325:80:o;7671:628::-;7851:12;7879:7;7875:418;;;7906:10;:17;7927:1;7906:22;7902:286;;-1:-1:-1;;;;;1713:19:51;;;8113:60:80;;;;-1:-1:-1;;;8113:60:80;;15683:2:151;8113:60:80;;;15665:21:151;15722:2;15702:18;;;15695:30;15761:31;15741:18;;;15734:59;15810:18;;8113:60:80;15481:353:151;8113:60:80;-1:-1:-1;8208:10:80;8201:17;;7875:418;8249:33;8257:10;8269:12;8249:7;:33::i;:::-;7671:628;;;;;;:::o;8821:540::-;8980:17;;:21;8976:379;;9208:10;9202:17;9264:15;9251:10;9247:2;9243:19;9236:44;8976:379;9331:12;9324:20;;-1:-1:-1;;;9324:20:80;;;;;;;;:::i;-1:-1:-1:-;;;;;;;;:::o;:::-;;;;;;;;:::o;14:154:151:-;-1:-1:-1;;;;;93:5:151;89:54;82:5;79:65;69:93;;158:1;155;148:12;173:134;241:20;;270:31;241:20;270:31;:::i;:::-;173:134;;;:::o;312:247::-;371:6;424:2;412:9;403:7;399:23;395:32;392:52;;;440:1;437;430:12;392:52;479:9;466:23;498:31;523:5;498:31;:::i;746:184::-;-1:-1:-1;;;795:1:151;788:88;895:4;892:1;885:15;919:4;916:1;909:15;935:250;1002:2;996:9;1044:6;1032:19;;1081:18;1066:34;;1102:22;;;1063:62;1060:88;;;1128:18;;:::i;:::-;1164:2;1157:22;935:250;:::o;1190:631::-;1254:5;1284:18;1325:2;1317:6;1314:14;1311:40;;;1331:18;;:::i;:::-;1406:2;1400:9;1374:2;1460:15;;-1:-1:-1;;1456:24:151;;;1482:2;1452:33;1448:42;1436:55;;;1506:18;;;1526:22;;;1503:46;1500:72;;;1552:18;;:::i;:::-;1592:10;1588:2;1581:22;1621:6;1612:15;;1651:6;1643;1636:22;1691:3;1682:6;1677:3;1673:16;1670:25;1667:45;;;1708:1;1705;1698:12;1667:45;1758:6;1753:3;1746:4;1738:6;1734:17;1721:44;1813:1;1806:4;1797:6;1789;1785:19;1781:30;1774:41;;;;1190:631;;;;;:::o;1826:584::-;1903:6;1911;1964:2;1952:9;1943:7;1939:23;1935:32;1932:52;;;1980:1;1977;1970:12;1932:52;2019:9;2006:23;2038:31;2063:5;2038:31;:::i;:::-;2088:5;-1:-1:-1;2144:2:151;2129:18;;2116:32;2171:18;2160:30;;2157:50;;;2203:1;2200;2193:12;2157:50;2226:22;;2279:4;2271:13;;2267:27;-1:-1:-1;2257:55:151;;2308:1;2305;2298:12;2257:55;2331:73;2396:7;2391:2;2378:16;2373:2;2369;2365:11;2331:73;:::i;:::-;2321:83;;;1826:584;;;;;:::o;2597:160::-;2662:20;;2718:13;;2711:21;2701:32;;2691:60;;2747:1;2744;2737:12;2762:315;2827:6;2835;2888:2;2876:9;2867:7;2863:23;2859:32;2856:52;;;2904:1;2901;2894:12;2856:52;2943:9;2930:23;2962:31;2987:5;2962:31;:::i;:::-;3012:5;-1:-1:-1;3036:35:151;3067:2;3052:18;;3036:35;:::i;:::-;3026:45;;2762:315;;;;;:::o;3082:221::-;3125:5;3178:3;3171:4;3163:6;3159:17;3155:27;3145:55;;3196:1;3193;3186:12;3145:55;3218:79;3293:3;3284:6;3271:20;3264:4;3256:6;3252:17;3218:79;:::i;3308:610::-;3363:5;3411:4;3399:9;3394:3;3390:19;3386:30;3383:50;;;3429:1;3426;3419:12;3383:50;3462:4;3456:11;3506:4;3498:6;3494:17;3530:18;3598:6;3586:10;3583:22;3578:2;3566:10;3563:18;3560:46;3557:72;;;3609:18;;:::i;:::-;3651:10;3645:4;3638:24;3680:6;3671:15;;3723:9;3710:23;3702:6;3695:39;3785:2;3774:9;3770:18;3757:32;3743:46;;3812:2;3804:6;3801:14;3798:34;;;3828:1;3825;3818:12;3798:34;;3865:46;3907:3;3898:6;3887:9;3883:22;3865:46;:::i;:::-;3860:2;3852:6;3848:15;3841:71;;;3308:610;;;;:::o;3923:1708::-;4017:6;4070:2;4058:9;4049:7;4045:23;4041:32;4038:52;;;4086:1;4083;4076:12;4038:52;4126:9;4113:23;4155:18;4196:2;4188:6;4185:14;4182:34;;;4212:1;4209;4202:12;4182:34;4235:22;;;;4291:6;4273:16;;;4269:29;4266:49;;;4311:1;4308;4301:12;4266:49;4337:17;;:::i;:::-;4377:22;4396:2;4377:22;:::i;:::-;4370:5;4363:37;4432:31;4459:2;4455;4451:11;4432:31;:::i;:::-;4427:2;4420:5;4416:14;4409:55;4517:2;4513;4509:11;4496:25;4491:2;4484:5;4480:14;4473:49;4575:2;4571;4567:11;4554:25;4549:2;4542:5;4538:14;4531:49;4634:3;4630:2;4626:12;4613:26;4607:3;4600:5;4596:15;4589:51;4673:32;4700:3;4696:2;4692:12;4673:32;:::i;:::-;4667:3;4660:5;4656:15;4649:57;4739:32;4766:3;4762:2;4758:12;4739:32;:::i;:::-;4733:3;4726:5;4722:15;4715:57;4818:3;4814:2;4810:12;4797:26;4848:2;4838:8;4835:16;4832:36;;;4864:1;4861;4854:12;4832:36;4901:54;4947:7;4936:8;4932:2;4928:17;4901:54;:::i;:::-;4895:3;4888:5;4884:15;4877:79;;4975:3;5010:31;5037:2;5033;5029:11;5010:31;:::i;:::-;4994:14;;;4987:55;5061:3;5102:11;;;5089:25;5126:16;;;5123:36;;;5155:1;5152;5145:12;5123:36;5191:45;5228:7;5217:8;5213:2;5209:17;5191:45;:::i;:::-;5186:2;5179:5;5175:14;5168:69;;;5256:3;5291:28;5315:2;5311;5307:11;5291:28;:::i;:::-;5275:14;;;5268:52;5339:3;5380:11;;;5367:25;5404:16;;;5401:36;;;5433:1;5430;5423:12;5401:36;5469:45;5506:7;5495:8;5491:2;5487:17;5469:45;:::i;:::-;5464:2;5457:5;5453:14;5446:69;;;5534:3;5524:13;;5569:31;5596:2;5592;5588:11;5569:31;:::i;:::-;5553:14;;;5546:55;;;;5557:5;3923:1708;-1:-1:-1;;;;3923:1708:151:o;5999:315::-;6067:6;6075;6128:2;6116:9;6107:7;6103:23;6099:32;6096:52;;;6144:1;6141;6134:12;6096:52;6183:9;6170:23;6202:31;6227:5;6202:31;:::i;:::-;6252:5;6304:2;6289:18;;;;6276:32;;-1:-1:-1;;;5999:315:151:o;8774:289::-;8813:3;8834:17;;;8831:197;;-1:-1:-1;;;8881:1:151;8874:88;8985:4;8982:1;8975:15;9013:4;9010:1;9003:15;8831:197;-1:-1:-1;9055:1:151;9044:13;;8774:289::o;9068:250::-;9153:1;9163:113;9177:6;9174:1;9171:13;9163:113;;;9253:11;;;9247:18;9234:11;;;9227:39;9199:2;9192:10;9163:113;;;-1:-1:-1;;9310:1:151;9292:16;;9285:27;9068:250::o;9323:271::-;9365:3;9403:5;9397:12;9430:6;9425:3;9418:19;9446:76;9515:6;9508:4;9503:3;9499:14;9492:4;9485:5;9481:16;9446:76;:::i;:::-;9576:2;9555:15;-1:-1:-1;;9551:29:151;9542:39;;;;9583:4;9538:50;;9323:271;-1:-1:-1;;9323:271:151:o;9599:252::-;9686:5;9680:12;9675:3;9668:25;9650:3;9739:4;9732:5;9728:16;9722:23;9777:4;9770;9765:3;9761:14;9754:28;9798:47;9839:4;9834:3;9830:14;9816:12;9798:47;:::i;9856:1876::-;10055:2;10044:9;10037:21;10067:53;10116:2;10105:9;10101:18;10092:6;10086:13;-1:-1:-1;;;;;5702:54:151;5690:67;;5636:127;10067:53;10018:4;10167:2;10159:6;10155:15;10149:22;10180:52;10228:2;10217:9;10213:18;10199:12;-1:-1:-1;;;;;5702:54:151;5690:67;;5636:127;10180:52;;10286:2;10278:6;10274:15;10268:22;10263:2;10252:9;10248:18;10241:50;10346:2;10338:6;10334:15;10328:22;10322:3;10311:9;10307:19;10300:51;10406:3;10398:6;10394:16;10388:23;10382:3;10371:9;10367:19;10360:52;10461:3;10453:6;10449:16;10443:23;10475:55;10525:3;10514:9;10510:19;10494:14;-1:-1:-1;;;;;5702:54:151;5690:67;;5636:127;10475:55;-1:-1:-1;10579:3:151;10567:16;;10561:23;-1:-1:-1;;;;;5702:54:151;;10643:3;10628:19;;5690:67;10593:55;10697:3;10689:6;10685:16;10679:23;10721:6;10746:3;10785:2;10780;10769:9;10765:18;10758:30;10811:63;10869:3;10858:9;10854:19;10838:14;10811:63;:::i;:::-;10911:15;;;10905:22;10797:77;;-1:-1:-1;10946:3:151;10958:54;10993:18;;;10905:22;-1:-1:-1;;;;;5702:54:151;5690:67;;5636:127;10958:54;11061:2;11053:6;11049:15;11043:22;11021:44;;;11088:2;11084:7;11110:3;11177:2;11165:9;11157:6;11153:22;11149:31;11144:2;11133:9;11129:18;11122:59;11204:41;11238:6;11222:14;11204:41;:::i;:::-;11190:55;;11294:2;11286:6;11282:15;11276:22;11254:44;;;11317:3;11329:51;11376:2;11365:9;11361:18;11345:14;6389:13;6382:21;6370:34;;6319:91;11329:51;11429:2;11421:6;11417:15;11411:22;11389:44;;;11452:3;11519:2;11507:9;11499:6;11495:22;11491:31;11486:2;11475:9;11471:18;11464:59;11546:41;11580:6;11564:14;11546:41;:::i;:::-;11532:55;;11636:2;11628:6;11624:15;11618:22;11596:44;;;;11649:54;11699:2;11688:9;11684:18;11668:14;-1:-1:-1;;;;;5702:54:151;5690:67;;5636:127;11649:54;-1:-1:-1;11720:6:151;;9856:1876;-1:-1:-1;;;;9856:1876:151:o;11737:338::-;-1:-1:-1;;;;;11916:6:151;11912:55;11901:9;11894:74;12004:2;11999;11988:9;11984:18;11977:30;11875:4;12024:45;12065:2;12054:9;12050:18;12042:6;12024:45;:::i;12988:184::-;13058:6;13111:2;13099:9;13090:7;13086:23;13082:32;13079:52;;;13127:1;13124;13117:12;13079:52;-1:-1:-1;13150:16:151;;12988:184;-1:-1:-1;12988:184:151:o;15189:287::-;15318:3;15356:6;15350:13;15372:66;15431:6;15426:3;15419:4;15411:6;15407:17;15372:66;:::i;:::-;15454:16;;;;;15189:287;-1:-1:-1;;15189:287:151:o;15839:220::-;15988:2;15977:9;15970:21;15951:4;16008:45;16049:2;16038:9;16034:18;16026:6;16008:45;:::i","linkReferences":{},"immutableReferences":{"56113":[{"start":1077,"length":32},{"start":1212,"length":32},{"start":1465,"length":32},{"start":1600,"length":32},{"start":1841,"length":32}]}},"methodIdentifiers":{"createRegistry((address,address,uint256,uint256,uint256,address,address,(uint256,string),address,string,bool,string,address))":"8a16135f","gardensFeeReceiver()":"b8bed901","getCommunityValidity(address)":"f5016b5e","getGardensFeeReceiver()":"987435be","getProtocolFee(address)":"0a992e0c","initialize(address)":"c4d66de8","initializeV2()":"5cd8a76b","nonce()":"affed0e0","owner()":"8da5cb5b","proxiableUUID()":"52d1902d","renounceOwnership()":"715018a6","setCommunityValidity(address,bool)":"5a2c8ace","setProtocolFee(address,uint256)":"b5b3ca2c","setReceiverAddress(address)":"8279c7db","transferOwnership(address)":"f2fde38b","upgradeTo(address)":"3659cfe6","upgradeToAndCall(address,bytes)":"4f1ef286"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"AddressCannotBeZero\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_community\",\"type\":\"address\"}],\"name\":\"CommunityInvalid\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"previousAdmin\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"newAdmin\",\"type\":\"address\"}],\"name\":\"AdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"beacon\",\"type\":\"address\"}],\"name\":\"BeaconUpgraded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_registryCommunity\",\"type\":\"address\"}],\"name\":\"CommunityCreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_community\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"_isValid\",\"type\":\"bool\"}],\"name\":\"CommunityValiditySet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_newFeeReceiver\",\"type\":\"address\"}],\"name\":\"FeeReceiverSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"version\",\"type\":\"uint8\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_community\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_newProtocolFee\",\"type\":\"uint256\"}],\"name\":\"ProtocolFeeSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"Upgraded\",\"type\":\"event\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"_allo\",\"type\":\"address\"},{\"internalType\":\"contract IERC20\",\"name\":\"_gardenToken\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_registerStakeAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_communityFee\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_nonce\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_registryFactory\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_feeReceiver\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"_metadata\",\"type\":\"tuple\"},{\"internalType\":\"address payable\",\"name\":\"_councilSafe\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"_communityName\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"_isKickEnabled\",\"type\":\"bool\"},{\"internalType\":\"string\",\"name\":\"covenantIpfsHash\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"_strategyTemplate\",\"type\":\"address\"}],\"internalType\":\"struct RegistryCommunityV0_0.InitializeParams\",\"name\":\"params\",\"type\":\"tuple\"}],\"name\":\"createRegistry\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"_createdRegistryAddress\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"gardensFeeReceiver\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_community\",\"type\":\"address\"}],\"name\":\"getCommunityValidity\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getGardensFeeReceiver\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_community\",\"type\":\"address\"}],\"name\":\"getProtocolFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_gardensFeeReceiver\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"initializeV2\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nonce\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proxiableUUID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_community\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"_isValid\",\"type\":\"bool\"}],\"name\":\"setCommunityValidity\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_community\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_newProtocolFee\",\"type\":\"uint256\"}],\"name\":\"setProtocolFee\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_newFeeReceiver\",\"type\":\"address\"}],\"name\":\"setReceiverAddress\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"}],\"name\":\"upgradeTo\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"upgradeToAndCall\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"}],\"devdoc\":{\"custom:oz-upgrades-from\":\"RegistryFactoryV0_0\",\"events\":{\"AdminChanged(address,address)\":{\"details\":\"Emitted when the admin account has changed.\"},\"BeaconUpgraded(address)\":{\"details\":\"Emitted when the beacon is changed.\"},\"Initialized(uint8)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"Upgraded(address)\":{\"details\":\"Emitted when the implementation is upgraded.\"}},\"kind\":\"dev\",\"methods\":{\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"proxiableUUID()\":{\"details\":\"Implementation of the ERC1822 {proxiableUUID} function. This returns the storage slot used by the implementation. It is used to validate the implementation's compatibility when performing an upgrade. IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this function revert if invoked through a proxy. This is guaranteed by the `notDelegated` modifier.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"},\"upgradeTo(address)\":{\"custom:oz-upgrades-unsafe-allow-reachable\":\"delegatecall\",\"details\":\"Upgrade the implementation of the proxy to `newImplementation`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event.\"},\"upgradeToAndCall(address,bytes)\":{\"custom:oz-upgrades-unsafe-allow-reachable\":\"delegatecall\",\"details\":\"Upgrade the implementation of the proxy to `newImplementation`, and subsequently execute the function call encoded in `data`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"pkg/contracts/src/RegistryFactoryV0_1.sol\":\"RegistryFactoryV0_1\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1000},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-contracts/=lib/safe-contracts/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"]},\"sources\":{\"lib/allo-v2/contracts/core/interfaces/IAllo.sol\":{\"keccak256\":\"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7\",\"dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1\"]},\"lib/allo-v2/contracts/core/interfaces/IRegistry.sol\":{\"keccak256\":\"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e\",\"dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA\"]},\"lib/allo-v2/contracts/core/interfaces/IStrategy.sol\":{\"keccak256\":\"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487\",\"dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH\"]},\"lib/allo-v2/contracts/core/libraries/Clone.sol\":{\"keccak256\":\"0xc348b24b7d8a98c4faa5f2aa37ce9264a74f81dbdef1a9bae2eaa125585c3c7e\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://1335b3ec59ec7e3d12ea7c90b3aa56f4c26e0d44d342f54412933be9d4f16067\",\"dweb:/ipfs/QmXNFo2wCyq9cpvfgbdHvBUQecThFSEoUnMuZNS6WinDrr\"]},\"lib/allo-v2/contracts/core/libraries/Errors.sol\":{\"keccak256\":\"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf\",\"dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA\"]},\"lib/allo-v2/contracts/core/libraries/Metadata.sol\":{\"keccak256\":\"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c\",\"dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn\"]},\"lib/allo-v2/contracts/core/libraries/Native.sol\":{\"keccak256\":\"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a\",\"dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv\"]},\"lib/allo-v2/contracts/core/libraries/Transfer.sol\":{\"keccak256\":\"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11\",\"dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5\"]},\"lib/allo-v2/contracts/strategies/BaseStrategy.sol\":{\"keccak256\":\"0x3f1382dc6c35d50545e327e7ed6016f2bd752357d446bd698014073f0b812873\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://99500abcd617fa43f6dde49e2c7802821ceaf54a65a8055cbbf2695ecd107974\",\"dweb:/ipfs/QmUktZkWuu3GCMEijY1fqt7NMy7BzpTvEtcmpB1fuoa7zt\"]},\"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol\":{\"keccak256\":\"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298\",\"dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x51fec240abc6dd23e0ee6de7c65106379aef732cad6c4ae5df6b55db886e7456\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://a47d9c0a9876e7f9e411843b994a741d4ac1a87d8459ffc3c56359de691ddc1a\",\"dweb:/ipfs/QmQiFN9b3Y2azrD1RBfAKEuAG3YeJkMzA2DGzgEE9kMeEK\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0xc8710577334e8d0799ae2b2a731b1924a7bddd64319da9787ddd2dc69bdd1ce5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b83b7afa4d2372da3ba5402fb10860a105c35d79812c60dc61007be2afc17618\",\"dweb:/ipfs/QmYX9xPmbNVSKXrepKiUZiG5oL3SdzFp9a4kqspxX1sEUx\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol\":{\"keccak256\":\"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c\",\"dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol\":{\"keccak256\":\"0x359a1ab89b46b9aba7bcad3fb651924baf4893d15153049b9976b0fc9be1358e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e89863421b4014b96a4b62be76eb3b9f0a8afe9684664a6f389124c0964bfe5c\",\"dweb:/ipfs/Qmbk7xr1irpDuU1WdxXgxELBXxs61rHhCgod7heVcvFx16\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol\":{\"keccak256\":\"0x5a55d1b148a0cb4183f1e09ceaff87bd2d828440f2f5dc01dfe03eb29e7c88ec\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3f9278bdda788763efbe569da77fc24feff36e871779e2da69f74ea5f8bfacf\",\"dweb:/ipfs/QmZF9cH4rfazmwKT55p3tZyzh9QGghNyss81f46d6yVXap\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e\",\"dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol\":{\"keccak256\":\"0x2025ccf05f6f1f2fd4e078e552836f525a1864e3854ed555047cd732320ab29b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d27f4b23c2dee42394aebaf42bf238285230f472dfd3282a39c3f000ec28214f\",\"dweb:/ipfs/QmQa3DnvccwdWJeWrjgXPnFMTWbzWQWR39hVqC7eEwo2PC\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b\",\"dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95\",\"dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol\":{\"keccak256\":\"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a\",\"dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0xd90d7723512df65ae417adaf0801042940f0dabd60039ceeaffe34aa5b238da1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1b13befeb3413749292f9fb229de1c7a509a5ce2c8047d9094fc004ca9d3af89\",\"dweb:/ipfs/QmRzJ2hZSwRtMejHUZAYTPRKgZsnfb112Fno9Jf3EiDfwA\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol\":{\"keccak256\":\"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758\",\"dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol\":{\"keccak256\":\"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91\",\"dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol\":{\"keccak256\":\"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4\",\"dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z\"]},\"lib/openzeppelin-contracts/contracts/access/AccessControl.sol\":{\"keccak256\":\"0x0dd6e52cb394d7f5abe5dca2d4908a6be40417914720932de757de34a99ab87f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://dc117ce50ea746cab6b97ed1a1facee17a715ae0cb95d67b943dacbaf15176fb\",\"dweb:/ipfs/QmYRZ2UGNYwsHwfNu7Wjr8L2j1LBZ1mKv6NvbwgterYMXc\"]},\"lib/openzeppelin-contracts/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0x59ce320a585d7e1f163cd70390a0ef2ff9cec832e2aa544293a00692465a7a57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb2c137c343ef0c4c7ce7b18c1d108afdc9d315a04e48307288d2d05adcbde3a\",\"dweb:/ipfs/QmUxhrAQM3MM3FF5j7AtcXLXguWCJBHJ14BRdVtuoQc8Fh\"]},\"lib/openzeppelin-contracts/contracts/access/Ownable.sol\":{\"keccak256\":\"0xba43b97fba0d32eb4254f6a5a297b39a19a247082a02d6e69349e071e2946218\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fc980984badf3984b6303b377711220e067722bbd6a135b24669ff5069ef9f32\",\"dweb:/ipfs/QmPHXMSXj99XjSVM21YsY6aNtLLjLVXDbyN76J5HQYvvrz\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol\":{\"keccak256\":\"0x3cbef5ebc24b415252e2f8c0c9254555d30d9f085603b4b80d9b5ed20ab87e90\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e8fa670c3bdce78e642cc6ae11c4cb38b133499cdce5e1990a9979d424703263\",\"dweb:/ipfs/QmVxeCUk4jL2pXQyhsoNJwyU874wRufS2WvGe8TgPKPqhE\"]},\"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol\":{\"keccak256\":\"0x1d4afe6cb24200cc4545eed814ecf5847277dfe5d613a1707aad5fceecebcfff\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://383fb7b8181016ac5ccf07bc9cdb7c1b5045ea36e2cc4df52bcbf20396fc7688\",\"dweb:/ipfs/QmYJ7Cg4WmE3rR8KGQxjUCXFfTH6TcwZ2Z1f6tPrq7jHFr\"]},\"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol\":{\"keccak256\":\"0xa2b22da3032e50b55f95ec1d13336102d675f341167aa76db571ef7f8bb7975d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96b6d77a20bebd4eb06b801d3d020c7e82be13bd535cb0d0a6b7181c51dab5d5\",\"dweb:/ipfs/QmPUR9Cv9jNFdQX6PtBfaBW1ZCnKwiu65R2VD5kbdanDyn\"]},\"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Upgrade.sol\":{\"keccak256\":\"0x3b21ae06bf5957f73fa16754b0669c77b7abd8ba6c072d35c3281d446fdb86c2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2db8e18505e86e02526847005d7287a33e397ed7fb9eaba3fd4a4a197add16e2\",\"dweb:/ipfs/QmW9BSuKTzHWHBNSHF4L8XfVuU1uJrP2vLg84YtBd8mL82\"]},\"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol\":{\"keccak256\":\"0xc130fe33f1b2132158531a87734153293f6d07bc263ff4ac90e85da9c82c0e27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8831721b6f4cc26534d190f9f1631c3f59c9ff38efdd911f85e0882b8e360472\",\"dweb:/ipfs/QmQZnLErZNStirSQ13ZNWQgvEYUtGE5tXYwn4QUPaVUfPN\"]},\"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0xd50a3421ac379ccb1be435fa646d66a65c986b4924f0849839f08692f39dde61\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ada1e030c0231db8d143b44ce92b4d1158eedb087880cad6d8cc7bd7ebe7b354\",\"dweb:/ipfs/QmWZ2NHZweRpz1U9GF6R1h65ri76dnX7fNxLBeM2t5N5Ce\"]},\"lib/openzeppelin-contracts/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x3d6069be9b4c01fb81840fb9c2c4dc58dd6a6a4aafaa2c6837de8699574d84c6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://720d6bb56ea0c4ef781c0bd65c5bd0541f5a46100163b2587170f97658d2deed\",\"dweb:/ipfs/QmTS2biLVPrv8CeeXCaKmkFxonMiRvc1LxiYBRYDAJHQUS\"]},\"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol\":{\"keccak256\":\"0xc6619957bcc6641fe8984bfaf9ff11a9e4b97d8149c0495f608f9a2416d7c5cf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://543be67f7fa43b1b932637c1c7f12035f0f4b0f7ee2bd3c33841186f79c165c1\",\"dweb:/ipfs/QmSBPM2UVKbmJqWfD9i6hSiqbaE8TV4TSqfuiivziRRLKM\"]},\"lib/openzeppelin-contracts/contracts/security/ReentrancyGuard.sol\":{\"keccak256\":\"0xa535a5df777d44e945dd24aa43a11e44b024140fc340ad0dfe42acf4002aade1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://41319e7f621f2dc3733511332c4fd032f8e32ad2aa7fd6f665c19741d9941a34\",\"dweb:/ipfs/QmcYR3bd862GD1Bc7jwrU9bGxrhUu5na1oP964bDCu2id1\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15\",\"dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5\",\"dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd\",\"dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol\":{\"keccak256\":\"0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a\",\"dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0x909d608c2db6eb165ca178c81289a07ed2e118e444d0025b2a85c97d0b44a4fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://656cda26512ddd7373c2d5551c8fae759fc30f05b10f0fc2e738e9274199dbd4\",\"dweb:/ipfs/QmTSArSzQRFbQmHgq7U1PZXnsDFhvDZhKVu9CzMG4yo6Lx\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xf09e68aa0dc6722a25bc46490e8d48ed864466d17313b8a0b254c36b54e49899\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e26daf81e2252dc1fe1ce0e4b55c2eb7c6d1ee84ae6558d1a9554432ea1d32da\",\"dweb:/ipfs/Qmb1UANWiWq5pCKbmHSu772hd4nt374dVaghGmwSVNuk8Q\"]},\"lib/openzeppelin-contracts/contracts/utils/Strings.sol\":{\"keccak256\":\"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f\",\"dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol\":{\"keccak256\":\"0x5a08ad61f4e82b8a3323562661a86fb10b10190848073fdc13d4ac43710ffba5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6f7bb74cf88fd88daa34e118bc6e363381d05044f34f391d39a10c0c9dac3ebd\",\"dweb:/ipfs/QmNbQ3v8v4zuDtg7VeLAbdhAm3tCzUodNoDZZ8ekmCHWZX\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]},\"lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/src/strings.sol\":{\"keccak256\":\"0x42cad11a7033f2fe05dd68611d2304407a620ac985b91edf29d5868cfe196223\",\"urls\":[\"bzz-raw://3cbc2333234e1f00eab5e57c4bcaf5115661e5e066a17c70af587a0a96f24669\",\"dweb:/ipfs/QmPHvStqcvZL46LW5N2ExTwAaqNhRCcmAX66aR6oE1WDar\"]},\"lib/openzeppelin-foundry-upgrades/src/Defender.sol\":{\"keccak256\":\"0x2114e4d70d53b36e8cec54ba11ff78d9f38a466ec3504c76c7f26101a7cff37f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://58f4d9bc58646e7631b263cdb8ef260e6818e9f716036d81d1c18218c9557a23\",\"dweb:/ipfs/QmS18L4R4gPtay9eQBcR28DnwmBkGSWsiCFwm2tXc3BkHL\"]},\"lib/openzeppelin-foundry-upgrades/src/LegacyUpgrades.sol\":{\"keccak256\":\"0x8436719f73c76efadaa16cd719d088f698ea3591595dfdf2c15fd66f3e203197\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ac8d0e55defe124adcc3845348602d6528b00b7dc5f7abf9e1b245d0cea9b55e\",\"dweb:/ipfs/QmaPBoG89Bd2btJZW5kjXx7zXo6KhAdeTuMq5xo431M8xq\"]},\"lib/openzeppelin-foundry-upgrades/src/Options.sol\":{\"keccak256\":\"0xa5414683d6b219b28e75ecaab3d00a305dfaf4d970389a88992275c8072ce8ac\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1dbfd566ba318f2b740159c28e4511c84c9d76fcc293ae17c9b1a87b3ea16c9\",\"dweb:/ipfs/QmcyxPoeBdzA9iHEgd76xKhaQ8HKfpV4owdSv6127MmveT\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Core.sol\":{\"keccak256\":\"0x37073df20d2b5fbb0a873e6b2dd76c23e23455d1c2d2ba57d2f0998201a4251d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://79d507647ea48d93371341684cf4199d55ed799db9d3489bc016f53990d2ff7c\",\"dweb:/ipfs/QmQWgXiYcPcwNcrkTHb72WtHd4xPcXfRUMfBrhkDHgr2ut\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/DefenderDeploy.sol\":{\"keccak256\":\"0x868ffdaf5d185fee103fc4581385392b47c209a5cfd2aec01f0307dbc0101d73\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://76e51bf69a4d0b5d1d9cfa7efa442bdcf9d713966563432ef8fdd00ec959a25e\",\"dweb:/ipfs/QmTHkdvMnqmEvus7zbmHhPkWk3fM9SW2Jq8gnyBLwVJtxG\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Utils.sol\":{\"keccak256\":\"0x4de002af810f6a5fe26a6381e0ead3331735bd0059434a22df75e17c177b5f87\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af32ff07f606e530a53030db141a75af144cfe065a6543939d412018c6159540\",\"dweb:/ipfs/QmbfTB92Zd8VQHW61g9dx1CvGgSL5SCoZDLrvJfnR7Ctio\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Versions.sol\":{\"keccak256\":\"0xf1a1441c18a296853509e9b1d18be794ed3de836caea49d6948b5e9ac566e8c6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6f3463514235bd875ecacf45f95cac64aa650dd38d05c15fe1f4203b6b5733bd\",\"dweb:/ipfs/Qmcbhmw9NPkG8MqiVsQ4qUupeQFCRgyBDKuoUwohwa8EP3\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IProxyAdmin.sol\":{\"keccak256\":\"0xf5e514595089f8959da130507086e7388602a71ce60575d141e7d892dfbddbfc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9b41366e2823ccc8cb42304496d761b3df80946d17384634a61afd7139495c91\",\"dweb:/ipfs/QmZE2nRMxax1NPj63ifemKdScGJzKNWi7BCGudjFLsUz1y\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableBeacon.sol\":{\"keccak256\":\"0xa8d7bffdd26eb763e459650c83f247b54af79800c2df52ad05878f238fc1c2f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ed47f1e53e5eb7d48fed60a414755641fca8fa0e713fd503b2597227da78a2f\",\"dweb:/ipfs/QmQr8A5wddHdhQNauFShXxRkPcuVVpVsYpq846WhmFC8Tv\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableProxy.sol\":{\"keccak256\":\"0x781b564b90bba0c0e8e12fb66b1c910f42d369db469f2e88592b4cff29de99a5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://45fcab02a43fde934445b88e905aba3f58a70b75dd6ee6eb86a3d593424aeb03\",\"dweb:/ipfs/QmXmhAgrctaYUDLoTRgUjwD4deoXu1E2QT1kftVGcVa56j\"]},\"pkg/contracts/src/BaseStrategyUpgradeable.sol\":{\"keccak256\":\"0xe059f9e1a262a4713e230a6025c3356681bb5f3c8013b87bc579bae93aa66c20\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://37e879664b08005b9544457cf89bce77e38b6a25639566df7366b9e5968c815e\",\"dweb:/ipfs/QmYgNRqZfYUPbWgcHUHghTcpqjVmT9v4HfkfPdEF64fYe5\"]},\"pkg/contracts/src/CVStrategy.sol\":{\"keccak256\":\"0x132bcf17470960e380d841159d9389985d609aaae1c9a657c78902f7871da957\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://84e905bf392579b44f33fff8586431b940e110b2210854cf487321cc92061705\",\"dweb:/ipfs/QmQpvszYu8RbrXmUFLifSodQzV8LAqazk1fzXNARGc5sBT\"]},\"pkg/contracts/src/CVStrategyV0_0.sol\":{\"keccak256\":\"0x79d01b399c8d735923dfa26b8dacba6200a861202dd6fb1c7711241285439d2d\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://e7ea0014e25a729d6d688620658df81a179a8c2380ae0bc4c78668cd486adb04\",\"dweb:/ipfs/QmdPM8JpFXeqBxQgkRzM1inzCT2rkRxnpoSrFk8DauDpNf\"]},\"pkg/contracts/src/ISybilScorer.sol\":{\"keccak256\":\"0x0e25fbb8497ac3c969d80c9032362d45e56c0a45dc9ba3dff6a8a704571f38ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0dff90ebae6e7131a5300fcaf525bc2ab0ae90fcd13f277d7b7b6939eeb8b7eb\",\"dweb:/ipfs/QmYGkYqpUVrBWoNY6f3CtwrrVQFWSvnJfpu68t95f6AkBY\"]},\"pkg/contracts/src/RegistryCommunity.sol\":{\"keccak256\":\"0xc735f4d2635149f2db9bff291da56e08c3c312d9eb1b767b8a1e3e51584d5734\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://247b33b78abface6a7e2da38174386de9b543f6a27e8340e26d854bff57184a3\",\"dweb:/ipfs/QmedNdqkqeboGzz9w868uGf7KnXUaYZe6i1YcdUPPkJnnf\"]},\"pkg/contracts/src/RegistryCommunityV0_0.sol\":{\"keccak256\":\"0x6525c857f7baff606e87bbc2878f3606923997a444eb500aa15018c676c972a9\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://89d2af9f470c8d7431ff6b1981b7bf46520f719d68da38ab3ca065496a6297d8\",\"dweb:/ipfs/QmceJHX57HbnBXVfmhtRPmnApUQy5QSWTybgq6g37vCxEN\"]},\"pkg/contracts/src/RegistryFactory.sol\":{\"keccak256\":\"0x888b7f5eb1079f90ccfa0b41d8a970bffd8d4d469f9b31917a58279b358dbda5\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://af25fd783de00adf01d1c7caa572801fed0d474306a43b862535b08e65ec10c6\",\"dweb:/ipfs/Qmeb2nEaMQLV86y1CYAAV2c6BYpBDTbpLuC1SigeNjdqLo\"]},\"pkg/contracts/src/RegistryFactoryV0_0.sol\":{\"keccak256\":\"0xba255a19807591d347479f281f2f226fc5b1c9101af880092623292f9db9a319\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://a43d8b5a55c35b898550c702dec70d27f2b0769f44b8cf31ca595ae733f07fab\",\"dweb:/ipfs/QmZpbNzgzF6ADhQmEBnPjLChX2KEV6EFWogk4JX2HhsvYL\"]},\"pkg/contracts/src/RegistryFactoryV0_1.sol\":{\"keccak256\":\"0xd26de80bc3abac11b0c8671a6aaaa9d422fb05b704f61fc3b8fbdb6285dacdc6\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://298ed925474fd1da221c531d775bd0008125fb1bd29e700dca512d62be227b7b\",\"dweb:/ipfs/QmekeaeBg2c4HypDptinsZDrz6KNm5iCE4RTprKJgXAjpa\"]},\"pkg/contracts/src/interfaces/FAllo.sol\":{\"keccak256\":\"0x32f38cb4400a07a99ae68a9beb91e5649886487172fd50561da6763464efc437\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://cb4f0cee2f3fbede7be5e8e1d7ee8034086359cd07b9dab49c4a991388e5c458\",\"dweb:/ipfs/QmS26kA8cZ9shWwxcbF17Kes8L7Jgw85EQVydDmwb34mjM\"]},\"pkg/contracts/src/interfaces/ISafe.sol\":{\"keccak256\":\"0x878a210809bb684c42157a10f3f90350a67d0a4863f130499942b06f0f2c9143\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://fa2d71bd427c3415e98a2ee15ff673f3cc61c17f14d7087c5eedc83b55f6b0ef\",\"dweb:/ipfs/QmesVSmJQQzi6ys1cvhQFCJyDXchb736mT5bXks4Yp6Cbj\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[],"type":"error","name":"AddressCannotBeZero"},{"inputs":[{"internalType":"address","name":"_community","type":"address"}],"type":"error","name":"CommunityInvalid"},{"inputs":[{"internalType":"address","name":"previousAdmin","type":"address","indexed":false},{"internalType":"address","name":"newAdmin","type":"address","indexed":false}],"type":"event","name":"AdminChanged","anonymous":false},{"inputs":[{"internalType":"address","name":"beacon","type":"address","indexed":true}],"type":"event","name":"BeaconUpgraded","anonymous":false},{"inputs":[{"internalType":"address","name":"_registryCommunity","type":"address","indexed":false}],"type":"event","name":"CommunityCreated","anonymous":false},{"inputs":[{"internalType":"address","name":"_community","type":"address","indexed":false},{"internalType":"bool","name":"_isValid","type":"bool","indexed":false}],"type":"event","name":"CommunityValiditySet","anonymous":false},{"inputs":[{"internalType":"address","name":"_newFeeReceiver","type":"address","indexed":false}],"type":"event","name":"FeeReceiverSet","anonymous":false},{"inputs":[{"internalType":"uint8","name":"version","type":"uint8","indexed":false}],"type":"event","name":"Initialized","anonymous":false},{"inputs":[{"internalType":"address","name":"previousOwner","type":"address","indexed":true},{"internalType":"address","name":"newOwner","type":"address","indexed":true}],"type":"event","name":"OwnershipTransferred","anonymous":false},{"inputs":[{"internalType":"address","name":"_community","type":"address","indexed":false},{"internalType":"uint256","name":"_newProtocolFee","type":"uint256","indexed":false}],"type":"event","name":"ProtocolFeeSet","anonymous":false},{"inputs":[{"internalType":"address","name":"implementation","type":"address","indexed":true}],"type":"event","name":"Upgraded","anonymous":false},{"inputs":[{"internalType":"struct RegistryCommunityV0_0.InitializeParams","name":"params","type":"tuple","components":[{"internalType":"address","name":"_allo","type":"address"},{"internalType":"contract IERC20","name":"_gardenToken","type":"address"},{"internalType":"uint256","name":"_registerStakeAmount","type":"uint256"},{"internalType":"uint256","name":"_communityFee","type":"uint256"},{"internalType":"uint256","name":"_nonce","type":"uint256"},{"internalType":"address","name":"_registryFactory","type":"address"},{"internalType":"address","name":"_feeReceiver","type":"address"},{"internalType":"struct Metadata","name":"_metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]},{"internalType":"address payable","name":"_councilSafe","type":"address"},{"internalType":"string","name":"_communityName","type":"string"},{"internalType":"bool","name":"_isKickEnabled","type":"bool"},{"internalType":"string","name":"covenantIpfsHash","type":"string"},{"internalType":"address","name":"_strategyTemplate","type":"address"}]}],"stateMutability":"nonpayable","type":"function","name":"createRegistry","outputs":[{"internalType":"address","name":"_createdRegistryAddress","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"gardensFeeReceiver","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"_community","type":"address"}],"stateMutability":"view","type":"function","name":"getCommunityValidity","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getGardensFeeReceiver","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"_community","type":"address"}],"stateMutability":"view","type":"function","name":"getProtocolFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"_gardensFeeReceiver","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"initializeV2"},{"inputs":[],"stateMutability":"view","type":"function","name":"nonce","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"proxiableUUID","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"renounceOwnership"},{"inputs":[{"internalType":"address","name":"_community","type":"address"},{"internalType":"bool","name":"_isValid","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"setCommunityValidity"},{"inputs":[{"internalType":"address","name":"_community","type":"address"},{"internalType":"uint256","name":"_newProtocolFee","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"setProtocolFee"},{"inputs":[{"internalType":"address","name":"_newFeeReceiver","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setReceiverAddress"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transferOwnership"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"upgradeTo"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"payable","type":"function","name":"upgradeToAndCall"}],"devdoc":{"kind":"dev","methods":{"owner()":{"details":"Returns the address of the current owner."},"proxiableUUID()":{"details":"Implementation of the ERC1822 {proxiableUUID} function. This returns the storage slot used by the implementation. It is used to validate the implementation's compatibility when performing an upgrade. IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this function revert if invoked through a proxy. This is guaranteed by the `notDelegated` modifier."},"renounceOwnership()":{"details":"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner."},"transferOwnership(address)":{"details":"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner."},"upgradeTo(address)":{"custom:oz-upgrades-unsafe-allow-reachable":"delegatecall","details":"Upgrade the implementation of the proxy to `newImplementation`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event."},"upgradeToAndCall(address,bytes)":{"custom:oz-upgrades-unsafe-allow-reachable":"delegatecall","details":"Upgrade the implementation of the proxy to `newImplementation`, and subsequently execute the function call encoded in `data`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event."}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-contracts/=lib/safe-contracts/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":1000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"pkg/contracts/src/RegistryFactoryV0_1.sol":"RegistryFactoryV0_1"},"evmVersion":"paris","libraries":{}},"sources":{"lib/allo-v2/contracts/core/interfaces/IAllo.sol":{"keccak256":"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce","urls":["bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7","dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/interfaces/IRegistry.sol":{"keccak256":"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f","urls":["bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e","dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA"],"license":"MIT"},"lib/allo-v2/contracts/core/interfaces/IStrategy.sol":{"keccak256":"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23","urls":["bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487","dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Clone.sol":{"keccak256":"0xc348b24b7d8a98c4faa5f2aa37ce9264a74f81dbdef1a9bae2eaa125585c3c7e","urls":["bzz-raw://1335b3ec59ec7e3d12ea7c90b3aa56f4c26e0d44d342f54412933be9d4f16067","dweb:/ipfs/QmXNFo2wCyq9cpvfgbdHvBUQecThFSEoUnMuZNS6WinDrr"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Errors.sol":{"keccak256":"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15","urls":["bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf","dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Metadata.sol":{"keccak256":"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44","urls":["bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c","dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Native.sol":{"keccak256":"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5","urls":["bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a","dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Transfer.sol":{"keccak256":"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286","urls":["bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11","dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/strategies/BaseStrategy.sol":{"keccak256":"0x3f1382dc6c35d50545e327e7ed6016f2bd752357d446bd698014073f0b812873","urls":["bzz-raw://99500abcd617fa43f6dde49e2c7802821ceaf54a65a8055cbbf2695ecd107974","dweb:/ipfs/QmUktZkWuu3GCMEijY1fqt7NMy7BzpTvEtcmpB1fuoa7zt"],"license":"AGPL-3.0-only"},"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol":{"keccak256":"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624","urls":["bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298","dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt"],"license":"MIT"},"lib/forge-std/src/Vm.sol":{"keccak256":"0x51fec240abc6dd23e0ee6de7c65106379aef732cad6c4ae5df6b55db886e7456","urls":["bzz-raw://a47d9c0a9876e7f9e411843b994a741d4ac1a87d8459ffc3c56359de691ddc1a","dweb:/ipfs/QmQiFN9b3Y2azrD1RBfAKEuAG3YeJkMzA2DGzgEE9kMeEK"],"license":"MIT OR Apache-2.0"},"lib/forge-std/src/console.sol":{"keccak256":"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba","urls":["bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70","dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol":{"keccak256":"0xc8710577334e8d0799ae2b2a731b1924a7bddd64319da9787ddd2dc69bdd1ce5","urls":["bzz-raw://b83b7afa4d2372da3ba5402fb10860a105c35d79812c60dc61007be2afc17618","dweb:/ipfs/QmYX9xPmbNVSKXrepKiUZiG5oL3SdzFp9a4kqspxX1sEUx"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol":{"keccak256":"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa","urls":["bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c","dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol":{"keccak256":"0x359a1ab89b46b9aba7bcad3fb651924baf4893d15153049b9976b0fc9be1358e","urls":["bzz-raw://e89863421b4014b96a4b62be76eb3b9f0a8afe9684664a6f389124c0964bfe5c","dweb:/ipfs/Qmbk7xr1irpDuU1WdxXgxELBXxs61rHhCgod7heVcvFx16"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol":{"keccak256":"0x5a55d1b148a0cb4183f1e09ceaff87bd2d828440f2f5dc01dfe03eb29e7c88ec","urls":["bzz-raw://b3f9278bdda788763efbe569da77fc24feff36e871779e2da69f74ea5f8bfacf","dweb:/ipfs/QmZF9cH4rfazmwKT55p3tZyzh9QGghNyss81f46d6yVXap"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794","urls":["bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e","dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol":{"keccak256":"0x2025ccf05f6f1f2fd4e078e552836f525a1864e3854ed555047cd732320ab29b","urls":["bzz-raw://d27f4b23c2dee42394aebaf42bf238285230f472dfd3282a39c3f000ec28214f","dweb:/ipfs/QmQa3DnvccwdWJeWrjgXPnFMTWbzWQWR39hVqC7eEwo2PC"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol":{"keccak256":"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422","urls":["bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b","dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef","urls":["bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95","dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol":{"keccak256":"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb","urls":["bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a","dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol":{"keccak256":"0xd90d7723512df65ae417adaf0801042940f0dabd60039ceeaffe34aa5b238da1","urls":["bzz-raw://1b13befeb3413749292f9fb229de1c7a509a5ce2c8047d9094fc004ca9d3af89","dweb:/ipfs/QmRzJ2hZSwRtMejHUZAYTPRKgZsnfb112Fno9Jf3EiDfwA"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol":{"keccak256":"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09","urls":["bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758","dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol":{"keccak256":"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e","urls":["bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91","dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol":{"keccak256":"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a","urls":["bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4","dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/access/AccessControl.sol":{"keccak256":"0x0dd6e52cb394d7f5abe5dca2d4908a6be40417914720932de757de34a99ab87f","urls":["bzz-raw://dc117ce50ea746cab6b97ed1a1facee17a715ae0cb95d67b943dacbaf15176fb","dweb:/ipfs/QmYRZ2UGNYwsHwfNu7Wjr8L2j1LBZ1mKv6NvbwgterYMXc"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/access/IAccessControl.sol":{"keccak256":"0x59ce320a585d7e1f163cd70390a0ef2ff9cec832e2aa544293a00692465a7a57","urls":["bzz-raw://bb2c137c343ef0c4c7ce7b18c1d108afdc9d315a04e48307288d2d05adcbde3a","dweb:/ipfs/QmUxhrAQM3MM3FF5j7AtcXLXguWCJBHJ14BRdVtuoQc8Fh"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/access/Ownable.sol":{"keccak256":"0xba43b97fba0d32eb4254f6a5a297b39a19a247082a02d6e69349e071e2946218","urls":["bzz-raw://fc980984badf3984b6303b377711220e067722bbd6a135b24669ff5069ef9f32","dweb:/ipfs/QmPHXMSXj99XjSVM21YsY6aNtLLjLVXDbyN76J5HQYvvrz"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol":{"keccak256":"0x3cbef5ebc24b415252e2f8c0c9254555d30d9f085603b4b80d9b5ed20ab87e90","urls":["bzz-raw://e8fa670c3bdce78e642cc6ae11c4cb38b133499cdce5e1990a9979d424703263","dweb:/ipfs/QmVxeCUk4jL2pXQyhsoNJwyU874wRufS2WvGe8TgPKPqhE"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol":{"keccak256":"0x1d4afe6cb24200cc4545eed814ecf5847277dfe5d613a1707aad5fceecebcfff","urls":["bzz-raw://383fb7b8181016ac5ccf07bc9cdb7c1b5045ea36e2cc4df52bcbf20396fc7688","dweb:/ipfs/QmYJ7Cg4WmE3rR8KGQxjUCXFfTH6TcwZ2Z1f6tPrq7jHFr"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol":{"keccak256":"0xa2b22da3032e50b55f95ec1d13336102d675f341167aa76db571ef7f8bb7975d","urls":["bzz-raw://96b6d77a20bebd4eb06b801d3d020c7e82be13bd535cb0d0a6b7181c51dab5d5","dweb:/ipfs/QmPUR9Cv9jNFdQX6PtBfaBW1ZCnKwiu65R2VD5kbdanDyn"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Upgrade.sol":{"keccak256":"0x3b21ae06bf5957f73fa16754b0669c77b7abd8ba6c072d35c3281d446fdb86c2","urls":["bzz-raw://2db8e18505e86e02526847005d7287a33e397ed7fb9eaba3fd4a4a197add16e2","dweb:/ipfs/QmW9BSuKTzHWHBNSHF4L8XfVuU1uJrP2vLg84YtBd8mL82"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol":{"keccak256":"0xc130fe33f1b2132158531a87734153293f6d07bc263ff4ac90e85da9c82c0e27","urls":["bzz-raw://8831721b6f4cc26534d190f9f1631c3f59c9ff38efdd911f85e0882b8e360472","dweb:/ipfs/QmQZnLErZNStirSQ13ZNWQgvEYUtGE5tXYwn4QUPaVUfPN"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol":{"keccak256":"0xd50a3421ac379ccb1be435fa646d66a65c986b4924f0849839f08692f39dde61","urls":["bzz-raw://ada1e030c0231db8d143b44ce92b4d1158eedb087880cad6d8cc7bd7ebe7b354","dweb:/ipfs/QmWZ2NHZweRpz1U9GF6R1h65ri76dnX7fNxLBeM2t5N5Ce"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x3d6069be9b4c01fb81840fb9c2c4dc58dd6a6a4aafaa2c6837de8699574d84c6","urls":["bzz-raw://720d6bb56ea0c4ef781c0bd65c5bd0541f5a46100163b2587170f97658d2deed","dweb:/ipfs/QmTS2biLVPrv8CeeXCaKmkFxonMiRvc1LxiYBRYDAJHQUS"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol":{"keccak256":"0xc6619957bcc6641fe8984bfaf9ff11a9e4b97d8149c0495f608f9a2416d7c5cf","urls":["bzz-raw://543be67f7fa43b1b932637c1c7f12035f0f4b0f7ee2bd3c33841186f79c165c1","dweb:/ipfs/QmSBPM2UVKbmJqWfD9i6hSiqbaE8TV4TSqfuiivziRRLKM"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/security/ReentrancyGuard.sol":{"keccak256":"0xa535a5df777d44e945dd24aa43a11e44b024140fc340ad0dfe42acf4002aade1","urls":["bzz-raw://41319e7f621f2dc3733511332c4fd032f8e32ad2aa7fd6f665c19741d9941a34","dweb:/ipfs/QmcYR3bd862GD1Bc7jwrU9bGxrhUu5na1oP964bDCu2id1"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol":{"keccak256":"0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c","urls":["bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15","dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305","urls":["bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5","dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol":{"keccak256":"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca","urls":["bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd","dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol":{"keccak256":"0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a","urls":["bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a","dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol":{"keccak256":"0x909d608c2db6eb165ca178c81289a07ed2e118e444d0025b2a85c97d0b44a4fa","urls":["bzz-raw://656cda26512ddd7373c2d5551c8fae759fc30f05b10f0fc2e738e9274199dbd4","dweb:/ipfs/QmTSArSzQRFbQmHgq7U1PZXnsDFhvDZhKVu9CzMG4yo6Lx"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Address.sol":{"keccak256":"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa","urls":["bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931","dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Context.sol":{"keccak256":"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7","urls":["bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92","dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol":{"keccak256":"0xf09e68aa0dc6722a25bc46490e8d48ed864466d17313b8a0b254c36b54e49899","urls":["bzz-raw://e26daf81e2252dc1fe1ce0e4b55c2eb7c6d1ee84ae6558d1a9554432ea1d32da","dweb:/ipfs/Qmb1UANWiWq5pCKbmHSu772hd4nt374dVaghGmwSVNuk8Q"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Strings.sol":{"keccak256":"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0","urls":["bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f","dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol":{"keccak256":"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b","urls":["bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d","dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol":{"keccak256":"0x5a08ad61f4e82b8a3323562661a86fb10b10190848073fdc13d4ac43710ffba5","urls":["bzz-raw://6f7bb74cf88fd88daa34e118bc6e363381d05044f34f391d39a10c0c9dac3ebd","dweb:/ipfs/QmNbQ3v8v4zuDtg7VeLAbdhAm3tCzUodNoDZZ8ekmCHWZX"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/Math.sol":{"keccak256":"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3","urls":["bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c","dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol":{"keccak256":"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc","urls":["bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7","dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/src/strings.sol":{"keccak256":"0x42cad11a7033f2fe05dd68611d2304407a620ac985b91edf29d5868cfe196223","urls":["bzz-raw://3cbc2333234e1f00eab5e57c4bcaf5115661e5e066a17c70af587a0a96f24669","dweb:/ipfs/QmPHvStqcvZL46LW5N2ExTwAaqNhRCcmAX66aR6oE1WDar"],"license":null},"lib/openzeppelin-foundry-upgrades/src/Defender.sol":{"keccak256":"0x2114e4d70d53b36e8cec54ba11ff78d9f38a466ec3504c76c7f26101a7cff37f","urls":["bzz-raw://58f4d9bc58646e7631b263cdb8ef260e6818e9f716036d81d1c18218c9557a23","dweb:/ipfs/QmS18L4R4gPtay9eQBcR28DnwmBkGSWsiCFwm2tXc3BkHL"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/LegacyUpgrades.sol":{"keccak256":"0x8436719f73c76efadaa16cd719d088f698ea3591595dfdf2c15fd66f3e203197","urls":["bzz-raw://ac8d0e55defe124adcc3845348602d6528b00b7dc5f7abf9e1b245d0cea9b55e","dweb:/ipfs/QmaPBoG89Bd2btJZW5kjXx7zXo6KhAdeTuMq5xo431M8xq"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/Options.sol":{"keccak256":"0xa5414683d6b219b28e75ecaab3d00a305dfaf4d970389a88992275c8072ce8ac","urls":["bzz-raw://b1dbfd566ba318f2b740159c28e4511c84c9d76fcc293ae17c9b1a87b3ea16c9","dweb:/ipfs/QmcyxPoeBdzA9iHEgd76xKhaQ8HKfpV4owdSv6127MmveT"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Core.sol":{"keccak256":"0x37073df20d2b5fbb0a873e6b2dd76c23e23455d1c2d2ba57d2f0998201a4251d","urls":["bzz-raw://79d507647ea48d93371341684cf4199d55ed799db9d3489bc016f53990d2ff7c","dweb:/ipfs/QmQWgXiYcPcwNcrkTHb72WtHd4xPcXfRUMfBrhkDHgr2ut"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/DefenderDeploy.sol":{"keccak256":"0x868ffdaf5d185fee103fc4581385392b47c209a5cfd2aec01f0307dbc0101d73","urls":["bzz-raw://76e51bf69a4d0b5d1d9cfa7efa442bdcf9d713966563432ef8fdd00ec959a25e","dweb:/ipfs/QmTHkdvMnqmEvus7zbmHhPkWk3fM9SW2Jq8gnyBLwVJtxG"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Utils.sol":{"keccak256":"0x4de002af810f6a5fe26a6381e0ead3331735bd0059434a22df75e17c177b5f87","urls":["bzz-raw://af32ff07f606e530a53030db141a75af144cfe065a6543939d412018c6159540","dweb:/ipfs/QmbfTB92Zd8VQHW61g9dx1CvGgSL5SCoZDLrvJfnR7Ctio"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Versions.sol":{"keccak256":"0xf1a1441c18a296853509e9b1d18be794ed3de836caea49d6948b5e9ac566e8c6","urls":["bzz-raw://6f3463514235bd875ecacf45f95cac64aa650dd38d05c15fe1f4203b6b5733bd","dweb:/ipfs/Qmcbhmw9NPkG8MqiVsQ4qUupeQFCRgyBDKuoUwohwa8EP3"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IProxyAdmin.sol":{"keccak256":"0xf5e514595089f8959da130507086e7388602a71ce60575d141e7d892dfbddbfc","urls":["bzz-raw://9b41366e2823ccc8cb42304496d761b3df80946d17384634a61afd7139495c91","dweb:/ipfs/QmZE2nRMxax1NPj63ifemKdScGJzKNWi7BCGudjFLsUz1y"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableBeacon.sol":{"keccak256":"0xa8d7bffdd26eb763e459650c83f247b54af79800c2df52ad05878f238fc1c2f8","urls":["bzz-raw://8ed47f1e53e5eb7d48fed60a414755641fca8fa0e713fd503b2597227da78a2f","dweb:/ipfs/QmQr8A5wddHdhQNauFShXxRkPcuVVpVsYpq846WhmFC8Tv"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableProxy.sol":{"keccak256":"0x781b564b90bba0c0e8e12fb66b1c910f42d369db469f2e88592b4cff29de99a5","urls":["bzz-raw://45fcab02a43fde934445b88e905aba3f58a70b75dd6ee6eb86a3d593424aeb03","dweb:/ipfs/QmXmhAgrctaYUDLoTRgUjwD4deoXu1E2QT1kftVGcVa56j"],"license":"MIT"},"pkg/contracts/src/BaseStrategyUpgradeable.sol":{"keccak256":"0xe059f9e1a262a4713e230a6025c3356681bb5f3c8013b87bc579bae93aa66c20","urls":["bzz-raw://37e879664b08005b9544457cf89bce77e38b6a25639566df7366b9e5968c815e","dweb:/ipfs/QmYgNRqZfYUPbWgcHUHghTcpqjVmT9v4HfkfPdEF64fYe5"],"license":"AGPL-3.0-only"},"pkg/contracts/src/CVStrategy.sol":{"keccak256":"0x132bcf17470960e380d841159d9389985d609aaae1c9a657c78902f7871da957","urls":["bzz-raw://84e905bf392579b44f33fff8586431b940e110b2210854cf487321cc92061705","dweb:/ipfs/QmQpvszYu8RbrXmUFLifSodQzV8LAqazk1fzXNARGc5sBT"],"license":"AGPL-3.0-only"},"pkg/contracts/src/CVStrategyV0_0.sol":{"keccak256":"0x79d01b399c8d735923dfa26b8dacba6200a861202dd6fb1c7711241285439d2d","urls":["bzz-raw://e7ea0014e25a729d6d688620658df81a179a8c2380ae0bc4c78668cd486adb04","dweb:/ipfs/QmdPM8JpFXeqBxQgkRzM1inzCT2rkRxnpoSrFk8DauDpNf"],"license":"AGPL-3.0-only"},"pkg/contracts/src/ISybilScorer.sol":{"keccak256":"0x0e25fbb8497ac3c969d80c9032362d45e56c0a45dc9ba3dff6a8a704571f38ea","urls":["bzz-raw://0dff90ebae6e7131a5300fcaf525bc2ab0ae90fcd13f277d7b7b6939eeb8b7eb","dweb:/ipfs/QmYGkYqpUVrBWoNY6f3CtwrrVQFWSvnJfpu68t95f6AkBY"],"license":"MIT"},"pkg/contracts/src/RegistryCommunity.sol":{"keccak256":"0xc735f4d2635149f2db9bff291da56e08c3c312d9eb1b767b8a1e3e51584d5734","urls":["bzz-raw://247b33b78abface6a7e2da38174386de9b543f6a27e8340e26d854bff57184a3","dweb:/ipfs/QmedNdqkqeboGzz9w868uGf7KnXUaYZe6i1YcdUPPkJnnf"],"license":"AGPL-3.0-only"},"pkg/contracts/src/RegistryCommunityV0_0.sol":{"keccak256":"0x6525c857f7baff606e87bbc2878f3606923997a444eb500aa15018c676c972a9","urls":["bzz-raw://89d2af9f470c8d7431ff6b1981b7bf46520f719d68da38ab3ca065496a6297d8","dweb:/ipfs/QmceJHX57HbnBXVfmhtRPmnApUQy5QSWTybgq6g37vCxEN"],"license":"AGPL-3.0-only"},"pkg/contracts/src/RegistryFactory.sol":{"keccak256":"0x888b7f5eb1079f90ccfa0b41d8a970bffd8d4d469f9b31917a58279b358dbda5","urls":["bzz-raw://af25fd783de00adf01d1c7caa572801fed0d474306a43b862535b08e65ec10c6","dweb:/ipfs/Qmeb2nEaMQLV86y1CYAAV2c6BYpBDTbpLuC1SigeNjdqLo"],"license":"AGPL-3.0-only"},"pkg/contracts/src/RegistryFactoryV0_0.sol":{"keccak256":"0xba255a19807591d347479f281f2f226fc5b1c9101af880092623292f9db9a319","urls":["bzz-raw://a43d8b5a55c35b898550c702dec70d27f2b0769f44b8cf31ca595ae733f07fab","dweb:/ipfs/QmZpbNzgzF6ADhQmEBnPjLChX2KEV6EFWogk4JX2HhsvYL"],"license":"AGPL-3.0-only"},"pkg/contracts/src/RegistryFactoryV0_1.sol":{"keccak256":"0xd26de80bc3abac11b0c8671a6aaaa9d422fb05b704f61fc3b8fbdb6285dacdc6","urls":["bzz-raw://298ed925474fd1da221c531d775bd0008125fb1bd29e700dca512d62be227b7b","dweb:/ipfs/QmekeaeBg2c4HypDptinsZDrz6KNm5iCE4RTprKJgXAjpa"],"license":"AGPL-3.0-only"},"pkg/contracts/src/interfaces/FAllo.sol":{"keccak256":"0x32f38cb4400a07a99ae68a9beb91e5649886487172fd50561da6763464efc437","urls":["bzz-raw://cb4f0cee2f3fbede7be5e8e1d7ee8034086359cd07b9dab49c4a991388e5c458","dweb:/ipfs/QmS26kA8cZ9shWwxcbF17Kes8L7Jgw85EQVydDmwb34mjM"],"license":"AGPL-3.0-only"},"pkg/contracts/src/interfaces/ISafe.sol":{"keccak256":"0x878a210809bb684c42157a10f3f90350a67d0a4863f130499942b06f0f2c9143","urls":["bzz-raw://fa2d71bd427c3415e98a2ee15ff673f3cc61c17f14d7087c5eedc83b55f6b0ef","dweb:/ipfs/QmesVSmJQQzi6ys1cvhQFCJyDXchb736mT5bXks4Yp6Cbj"],"license":"LGPL-3.0-only"}},"version":1},"storageLayout":{"storage":[{"astId":53029,"contract":"pkg/contracts/src/RegistryFactoryV0_1.sol:RegistryFactoryV0_1","label":"_initialized","offset":0,"slot":"0","type":"t_uint8"},{"astId":53032,"contract":"pkg/contracts/src/RegistryFactoryV0_1.sol:RegistryFactoryV0_1","label":"_initializing","offset":1,"slot":"0","type":"t_bool"},{"astId":53734,"contract":"pkg/contracts/src/RegistryFactoryV0_1.sol:RegistryFactoryV0_1","label":"__gap","offset":0,"slot":"1","type":"t_array(t_uint256)50_storage"},{"astId":52821,"contract":"pkg/contracts/src/RegistryFactoryV0_1.sol:RegistryFactoryV0_1","label":"_owner","offset":0,"slot":"51","type":"t_address"},{"astId":52941,"contract":"pkg/contracts/src/RegistryFactoryV0_1.sol:RegistryFactoryV0_1","label":"__gap","offset":0,"slot":"52","type":"t_array(t_uint256)49_storage"},{"astId":85307,"contract":"pkg/contracts/src/RegistryFactoryV0_1.sol:RegistryFactoryV0_1","label":"nonce","offset":0,"slot":"101","type":"t_uint256"},{"astId":85312,"contract":"pkg/contracts/src/RegistryFactoryV0_1.sol:RegistryFactoryV0_1","label":"communityToInfo","offset":0,"slot":"102","type":"t_mapping(t_address,t_struct(CommunityInfo)85300_storage)"},{"astId":85314,"contract":"pkg/contracts/src/RegistryFactoryV0_1.sol:RegistryFactoryV0_1","label":"gardensFeeReceiver","offset":0,"slot":"103","type":"t_address"},{"astId":85587,"contract":"pkg/contracts/src/RegistryFactoryV0_1.sol:RegistryFactoryV0_1","label":"__gap","offset":0,"slot":"104","type":"t_array(t_uint256)50_storage"}],"types":{"t_address":{"encoding":"inplace","label":"address","numberOfBytes":"20"},"t_array(t_uint256)49_storage":{"encoding":"inplace","label":"uint256[49]","numberOfBytes":"1568","base":"t_uint256"},"t_array(t_uint256)50_storage":{"encoding":"inplace","label":"uint256[50]","numberOfBytes":"1600","base":"t_uint256"},"t_bool":{"encoding":"inplace","label":"bool","numberOfBytes":"1"},"t_mapping(t_address,t_struct(CommunityInfo)85300_storage)":{"encoding":"mapping","key":"t_address","label":"mapping(address => struct CommunityInfo)","numberOfBytes":"32","value":"t_struct(CommunityInfo)85300_storage"},"t_struct(CommunityInfo)85300_storage":{"encoding":"inplace","label":"struct CommunityInfo","numberOfBytes":"64","members":[{"astId":85297,"contract":"pkg/contracts/src/RegistryFactoryV0_1.sol:RegistryFactoryV0_1","label":"fee","offset":0,"slot":"0","type":"t_uint256"},{"astId":85299,"contract":"pkg/contracts/src/RegistryFactoryV0_1.sol:RegistryFactoryV0_1","label":"valid","offset":0,"slot":"1","type":"t_bool"}]},"t_uint256":{"encoding":"inplace","label":"uint256","numberOfBytes":"32"},"t_uint8":{"encoding":"inplace","label":"uint8","numberOfBytes":"1"}}},"ast":{"absolutePath":"pkg/contracts/src/RegistryFactoryV0_1.sol","id":85616,"exportedSymbols":{"CommunityInfo":[85601],"OwnableUpgradeable":[52942],"RegistryCommunity":[83082],"RegistryFactoryV0_0":[85588],"RegistryFactoryV0_1":[85615]},"nodeType":"SourceUnit","src":"42:1020:137","nodes":[{"id":85590,"nodeType":"PragmaDirective","src":"42:24:137","nodes":[],"literals":["solidity","^","0.8",".19"]},{"id":85592,"nodeType":"ImportDirective","src":"68:63:137","nodes":[],"absolutePath":"pkg/contracts/src/RegistryCommunity.sol","file":"../src/RegistryCommunity.sol","nameLocation":"-1:-1:-1","scope":85616,"sourceUnit":83083,"symbolAliases":[{"foreign":{"id":85591,"name":"RegistryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83082,"src":"76:17:137","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":85594,"nodeType":"ImportDirective","src":"133:67:137","nodes":[],"absolutePath":"pkg/contracts/src/RegistryFactoryV0_0.sol","file":"../src/RegistryFactoryV0_0.sol","nameLocation":"-1:-1:-1","scope":85616,"sourceUnit":85589,"symbolAliases":[{"foreign":{"id":85593,"name":"RegistryFactoryV0_0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85588,"src":"141:19:137","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":85596,"nodeType":"ImportDirective","src":"202:110:137","nodes":[],"absolutePath":"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol","file":"openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol","nameLocation":"-1:-1:-1","scope":85616,"sourceUnit":52943,"symbolAliases":[{"foreign":{"id":85595,"name":"OwnableUpgradeable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52942,"src":"210:18:137","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":85601,"nodeType":"StructDefinition","src":"314:57:137","nodes":[],"canonicalName":"CommunityInfo","members":[{"constant":false,"id":85598,"mutability":"mutable","name":"fee","nameLocation":"349:3:137","nodeType":"VariableDeclaration","scope":85601,"src":"341:11:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":85597,"name":"uint256","nodeType":"ElementaryTypeName","src":"341:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":85600,"mutability":"mutable","name":"valid","nameLocation":"363:5:137","nodeType":"VariableDeclaration","scope":85601,"src":"358:10:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":85599,"name":"bool","nodeType":"ElementaryTypeName","src":"358:4:137","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"name":"CommunityInfo","nameLocation":"321:13:137","scope":85616,"visibility":"public"},{"id":85615,"nodeType":"ContractDefinition","src":"422:639:137","nodes":[{"id":85614,"nodeType":"FunctionDefinition","src":"978:81:137","nodes":[],"body":{"id":85613,"nodeType":"Block","src":"1026:33:137","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":85610,"name":"__Ownable_init","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52837,"src":"1036:14:137","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":85611,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1036:16:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":85612,"nodeType":"ExpressionStatement","src":"1036:16:137"}]},"functionSelector":"5cd8a76b","implemented":true,"kind":"function","modifiers":[{"arguments":[{"hexValue":"32","id":85607,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1023:1:137","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"}],"id":85608,"kind":"modifierInvocation","modifierName":{"id":85606,"name":"reinitializer","nameLocations":["1009:13:137"],"nodeType":"IdentifierPath","referencedDeclaration":53126,"src":"1009:13:137"},"nodeType":"ModifierInvocation","src":"1009:16:137"}],"name":"initializeV2","nameLocation":"987:12:137","parameters":{"id":85605,"nodeType":"ParameterList","parameters":[],"src":"999:2:137"},"returnParameters":{"id":85609,"nodeType":"ParameterList","parameters":[],"src":"1026:0:137"},"scope":85615,"stateMutability":"nonpayable","virtual":false,"visibility":"public"}],"abstract":false,"baseContracts":[{"baseName":{"id":85603,"name":"RegistryFactoryV0_0","nameLocations":["454:19:137"],"nodeType":"IdentifierPath","referencedDeclaration":85588,"src":"454:19:137"},"id":85604,"nodeType":"InheritanceSpecifier","src":"454:19:137"}],"canonicalName":"RegistryFactoryV0_1","contractDependencies":[55562,85047],"contractKind":"contract","documentation":{"id":85602,"nodeType":"StructuredDocumentation","src":"372:49:137","text":"@custom:oz-upgrades-from RegistryFactoryV0_0"},"fullyImplemented":true,"linearizedBaseContracts":[85615,85588,56213,55866,55515,55525,52942,53735,53191],"name":"RegistryFactoryV0_1","nameLocation":"431:19:137","scope":85616,"usedErrors":[85338,85340]}],"license":"AGPL-3.0-only"},"id":137} \ No newline at end of file +{"abi":[{"type":"function","name":"createRegistry","inputs":[{"name":"params","type":"tuple","internalType":"struct RegistryCommunityV0_0.InitializeParams","components":[{"name":"_allo","type":"address","internalType":"address"},{"name":"_gardenToken","type":"address","internalType":"contract IERC20"},{"name":"_registerStakeAmount","type":"uint256","internalType":"uint256"},{"name":"_communityFee","type":"uint256","internalType":"uint256"},{"name":"_nonce","type":"uint256","internalType":"uint256"},{"name":"_registryFactory","type":"address","internalType":"address"},{"name":"_feeReceiver","type":"address","internalType":"address"},{"name":"_metadata","type":"tuple","internalType":"struct Metadata","components":[{"name":"protocol","type":"uint256","internalType":"uint256"},{"name":"pointer","type":"string","internalType":"string"}]},{"name":"_councilSafe","type":"address","internalType":"address payable"},{"name":"_communityName","type":"string","internalType":"string"},{"name":"_isKickEnabled","type":"bool","internalType":"bool"},{"name":"covenantIpfsHash","type":"string","internalType":"string"},{"name":"_strategyTemplate","type":"address","internalType":"address"}]}],"outputs":[{"name":"_createdRegistryAddress","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"gardensFeeReceiver","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getCommunityValidity","inputs":[{"name":"_community","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"getGardensFeeReceiver","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getProtocolFee","inputs":[{"name":"_community","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"initialize","inputs":[{"name":"_gardensFeeReceiver","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"initializeV2","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"nonce","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"proxiableUUID","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"renounceOwnership","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setCommunityValidity","inputs":[{"name":"_community","type":"address","internalType":"address"},{"name":"_isValid","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setProtocolFee","inputs":[{"name":"_community","type":"address","internalType":"address"},{"name":"_newProtocolFee","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setReceiverAddress","inputs":[{"name":"_newFeeReceiver","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"transferOwnership","inputs":[{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"upgradeTo","inputs":[{"name":"newImplementation","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"upgradeToAndCall","inputs":[{"name":"newImplementation","type":"address","internalType":"address"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"payable"},{"type":"event","name":"AdminChanged","inputs":[{"name":"previousAdmin","type":"address","indexed":false,"internalType":"address"},{"name":"newAdmin","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"BeaconUpgraded","inputs":[{"name":"beacon","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"CommunityCreated","inputs":[{"name":"_registryCommunity","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"CommunityValiditySet","inputs":[{"name":"_community","type":"address","indexed":false,"internalType":"address"},{"name":"_isValid","type":"bool","indexed":false,"internalType":"bool"}],"anonymous":false},{"type":"event","name":"FeeReceiverSet","inputs":[{"name":"_newFeeReceiver","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint8","indexed":false,"internalType":"uint8"}],"anonymous":false},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"previousOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"ProtocolFeeSet","inputs":[{"name":"_community","type":"address","indexed":false,"internalType":"address"},{"name":"_newProtocolFee","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Upgraded","inputs":[{"name":"implementation","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"error","name":"AddressCannotBeZero","inputs":[]},{"type":"error","name":"CommunityInvalid","inputs":[{"name":"_community","type":"address","internalType":"address"}]}],"bytecode":{"object":"0x60a06040523060805234801561001457600080fd5b5060805161da936200004d60003960008181610435015281816104bc015281816105b9015281816106400152610731015261da936000f3fe608060405260043610620001245760003560e01c80638a16135f11620000b2578063b5b3ca2c116200007d578063c4d66de81162000060578063c4d66de8146200030e578063f2fde38b1462000333578063f5016b5e146200035857600080fd5b8063b5b3ca2c14620002c7578063b8bed90114620002ec57600080fd5b80638a16135f14620002315780638da5cb5b146200026f578063987435be146200028f578063affed0e014620002af57600080fd5b80635a2c8ace11620000f35780635a2c8ace14620001b75780635cd8a76b14620001dc578063715018a614620001f45780638279c7db146200020c57600080fd5b80630a992e0c14620001295780633659cfe614620001615780634f1ef286146200018857806352d1902d146200019f575b600080fd5b3480156200013657600080fd5b506200014e6200014836600462001470565b620003a9565b6040519081526020015b60405180910390f35b3480156200016e57600080fd5b50620001866200018036600462001470565b6200042b565b005b620001866200019936600462001550565b620005af565b348015620001ac57600080fd5b506200014e62000724565b348015620001c457600080fd5b5062000186620001d6366004620015cc565b620007eb565b348015620001e957600080fd5b50620001866200085c565b3480156200020157600080fd5b506200018662000956565b3480156200021957600080fd5b50620001866200022b36600462001470565b6200096e565b3480156200023e57600080fd5b5062000256620002503660046200169f565b620009df565b6040516001600160a01b03909116815260200162000158565b3480156200027c57600080fd5b506033546001600160a01b031662000256565b3480156200029c57600080fd5b506067546001600160a01b031662000256565b348015620002bc57600080fd5b506200014e60655481565b348015620002d457600080fd5b5062000186620002e636600462001811565b62000b64565b348015620002f957600080fd5b5060675462000256906001600160a01b031681565b3480156200031b57600080fd5b50620001866200032d36600462001470565b62000bc0565b3480156200034057600080fd5b50620001866200035236600462001470565b62000d51565b3480156200036557600080fd5b50620003986200037736600462001470565b6001600160a01b031660009081526066602052604090206001015460ff1690565b604051901515815260200162000158565b6001600160a01b03811660009081526066602052604081206001015460ff166200040f576040517ff5a6943d0000000000000000000000000000000000000000000000000000000081526001600160a01b03831660048201526024015b60405180910390fd5b506001600160a01b031660009081526066602052604090205490565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163003620004ba5760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b19195b1959d85d1958d85b1b60a21b606482015260840162000406565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316620005167f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b6001600160a01b031614620005835760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b6163746976652070726f787960a01b606482015260840162000406565b6200058e8162000de4565b60408051600080825260208201909252620005ac9183919062000dee565b50565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036200063e5760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b19195b1959d85d1958d85b1b60a21b606482015260840162000406565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166200069a7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b6001600160a01b031614620007075760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b6163746976652070726f787960a01b606482015260840162000406565b620007128262000de4565b620007208282600162000dee565b5050565b6000306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614620007c65760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c0000000000000000606482015260840162000406565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc90565b620007f562000f9f565b6001600160a01b038216600081815260666020908152604091829020600101805460ff19168515159081179091558251938452908301527fecdcd3502799a6c41864ea2682236184e876f63e10f8d56c7768a3d501e89f6291015b60405180910390a15050565b600054600290610100900460ff161580156200087f575060005460ff8083169116105b620008f35760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a6564000000000000000000000000000000000000606482015260840162000406565b6000805461ffff191660ff8316176101001790556200091162000ffb565b6000805461ff001916905560405160ff821681527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498906020015b60405180910390a150565b6200096062000f9f565b6200096c600062001072565b565b6200097862000f9f565b6200098381620010d1565b6067805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0383169081179091556040519081527fbdf37c276f641820b141429d245add2552b4118c0866e5a78638e3de5ef18d9d906020016200094b565b6065805460009182620009f28362001840565b9091555060808301523060a083015260405160009062000a12906200142c565b604051809103906000f08015801562000a2f573d6000803e3d6000fd5b506040517f96f0adec000000000000000000000000000000000000000000000000000000009062000a65908690602401620018dd565b60408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff0000000000000000000000000000000000000000000000000000000090941693909317909252905162000ad1906200143a565b62000ade92919062001a28565b604051809103906000f08015801562000afb573d6000803e3d6000fd5b506001600160a01b0381166000818152606660209081526040918290206001908101805460ff19169091179055905191825291925082917fb4108a188495a1a681cdc0750af164011025a1773b41e93ff3e628adc037dc29910160405180910390a19392505050565b62000b6e62000f9f565b6001600160a01b038216600081815260666020908152604091829020849055815192835282018390527fa1ee82e4f177a8017f33ddddac05b7ceab1de9d46f7195e15e8aa2e8b88f3b1c910162000850565b600054610100900460ff161580801562000be15750600054600160ff909116105b8062000bfd5750303b15801562000bfd575060005460ff166001145b62000c715760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a6564000000000000000000000000000000000000606482015260840162000406565b6000805460ff19166001179055801562000c95576000805461ff0019166101001790555b62000c9f62000ffb565b600060655562000caf82620010d1565b6067805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0384169081179091556040519081527fbdf37c276f641820b141429d245add2552b4118c0866e5a78638e3de5ef18d9d9060200160405180910390a1801562000720576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200162000850565b62000d5b62000f9f565b6001600160a01b03811662000dd95760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f6464726573730000000000000000000000000000000000000000000000000000606482015260840162000406565b620005ac8162001072565b620005ac62000f9f565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff161562000e295762000e248362001112565b505050565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa92505050801562000e86575060408051601f3d908101601f1916820190925262000e839181019062001a4c565b60015b62000efa5760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201527f6f6e206973206e6f742055555053000000000000000000000000000000000000606482015260840162000406565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc811462000f915760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f7860448201527f6961626c65555549440000000000000000000000000000000000000000000000606482015260840162000406565b5062000e24838383620011df565b6033546001600160a01b031633146200096c5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640162000406565b600054610100900460ff16620010685760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b606482015260840162000406565b6200096c62001210565b603380546001600160a01b0383811673ffffffffffffffffffffffffffffffffffffffff19831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b038116620005ac576040517fe622e04000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0381163b620011915760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201527f6f74206120636f6e747261637400000000000000000000000000000000000000606482015260840162000406565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b620011ea8362001288565b600082511180620011f85750805b1562000e24576200120a8383620012ca565b50505050565b600054610100900460ff166200127d5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b606482015260840162000406565b6200096c3362001072565b620012938162001112565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6060620012f283836040518060600160405280602781526020016200da3760279139620012f9565b9392505050565b6060600080856001600160a01b03168560405162001318919062001a66565b600060405180830381855af49150503d806000811462001355576040519150601f19603f3d011682016040523d82523d6000602084013e6200135a565b606091505b50915091506200136d8683838762001377565b9695505050505050565b60608315620013eb578251600003620013e3576001600160a01b0385163b620013e35760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640162000406565b5081620013f7565b620013f78383620013ff565b949350505050565b815115620014105781518083602001fd5b8060405162461bcd60e51b815260040162000406919062001a84565b61baaf8062001a9a83390190565b6104ee806200d54983390190565b6001600160a01b0381168114620005ac57600080fd5b80356200146b8162001448565b919050565b6000602082840312156200148357600080fd5b8135620012f28162001448565b634e487b7160e01b600052604160045260246000fd5b6040516101a0810167ffffffffffffffff81118282101715620014cd57620014cd62001490565b60405290565b600067ffffffffffffffff80841115620014f157620014f162001490565b604051601f8501601f19908116603f011681019082821181831017156200151c576200151c62001490565b816040528093508581528686860111156200153657600080fd5b858560208301376000602087830101525050509392505050565b600080604083850312156200156457600080fd5b8235620015718162001448565b9150602083013567ffffffffffffffff8111156200158e57600080fd5b8301601f81018513620015a057600080fd5b620015b185823560208401620014d3565b9150509250929050565b803580151581146200146b57600080fd5b60008060408385031215620015e057600080fd5b8235620015ed8162001448565b9150620015fd60208401620015bb565b90509250929050565b600082601f8301126200161857600080fd5b620012f283833560208501620014d3565b6000604082840312156200163c57600080fd5b6040516040810167ffffffffffffffff828210818311171562001663576200166362001490565b816040528293508435835260208501359150808211156200168357600080fd5b50620016928582860162001606565b6020830152505092915050565b600060208284031215620016b257600080fd5b813567ffffffffffffffff80821115620016cb57600080fd5b908301906101a08286031215620016e157600080fd5b620016eb620014a6565b620016f6836200145e565b815262001706602084016200145e565b60208201526040830135604082015260608301356060820152608083013560808201526200173760a084016200145e565b60a08201526200174a60c084016200145e565b60c082015260e0830135828111156200176257600080fd5b620017708782860162001629565b60e083015250610100620017868185016200145e565b9082015261012083810135838111156200179f57600080fd5b620017ad8882870162001606565b828401525050610140620017c3818501620015bb565b908201526101608381013583811115620017dc57600080fd5b620017ea8882870162001606565b8284015250506101809150620018028284016200145e565b91810191909152949350505050565b600080604083850312156200182557600080fd5b8235620018328162001448565b946020939093013593505050565b6000600182016200186157634e487b7160e01b600052601160045260246000fd5b5060010190565b60005b83811015620018855781810151838201526020016200186b565b50506000910152565b60008151808452620018a881602086016020860162001868565b601f01601f19169290920160200192915050565b805182526000602082015160406020850152620013f760408501826200188e565b60208152620018f86020820183516001600160a01b03169052565b600060208301516200191560408401826001600160a01b03169052565b506040830151606083015260608301516080830152608083015160a083015260a08301516200194f60c08401826001600160a01b03169052565b5060c08301516001600160a01b03811660e08401525060e08301516101a06101008181860152620019856101c0860184620018bc565b90860151909250610120620019a4868201836001600160a01b03169052565b80870151915050601f19610140818786030181880152620019c685846200188e565b945080880151925050610160620019e08188018415159052565b80880151925050610180818786030181880152620019ff85846200188e565b9450808801519250505062001a1e828601826001600160a01b03169052565b5090949350505050565b6001600160a01b0383168152604060208201526000620013f760408301846200188e565b60006020828403121562001a5f57600080fd5b5051919050565b6000825162001a7a81846020870162001868565b9190910192915050565b602081526000620012f260208301846200188e56fe60a06040523060805234801561001457600080fd5b5060805161ba626200004d600039600081816119c001528181611a4701528181611bb501528181611c3c0152611d29015261ba626000f3fe608060405260043610620003ef5760003560e01c80636c53db9a116200020f578063a217fddf1162000123578063d547741f11620000ad578063ebd7dc521162000078578063ebd7dc521462000cfd578063f2fde38b1462000d22578063f86c5f891462000d47578063ff6409ef1462000d6a57600080fd5b8063d547741f1462000c7a578063d6d8428d1462000c9f578063d7050f071462000cc2578063db61d65c1462000cda57600080fd5b8063b64e39af11620000ee578063b64e39af1462000c0b578063b99b43701462000c32578063bc063e1a1462000c4a578063c6d572ae1462000c6257600080fd5b8063a217fddf1462000b51578063a230c5241462000b68578063b3f006741462000bd1578063b5058c501462000bf357600080fd5b806382d6a1e711620001a557806391d14854116200017057806391d148541462000a7557806396f0adec1462000abf57806397991cfa1462000ae4578063a0cf0aea1462000b2757600080fd5b806382d6a1e714620009a257806388cfe68414620009c75780638961be6b1462000a3d5780638da5cb5b1462000a5557600080fd5b8063733a2d1f11620001e6578063733a2d1f14620008e65780637817ee4f146200091c57806378a0b8a914620009675780637b103999146200097f57600080fd5b80636c53db9a1462000886578063715018a614620008a957806373265c3714620008c157600080fd5b80633396045911620003075780634f1ef286116200029d5780635ecf71c511620002685780635ecf71c514620007dc57806365e3864c14620008015780636871eb4d146200083e57806368decabb146200086357600080fd5b80634f1ef286146200076557806352d1902d146200077c578063559de05d14620007945780635c94e4d214620007b957600080fd5b80633659cfe611620002de5780633659cfe614620006a6578063397e254314620006cb5780633a871fe114620006f0578063477a5cc0146200072557600080fd5b80633396045914620006505780633517aa7d146200066957806336568abe146200068157600080fd5b8063223e547911620003895780632b38c69c11620003545780632b38c69c146200058a5780632c611c4a14620005c85780632f2ff15d146200060657806331f61bca146200062b57600080fd5b8063223e547914620004f457806322bcf9991462000519578063248a9ca3146200053e57806328c309e9146200057257600080fd5b80630d12bbdb11620003ca5780630d12bbdb14620004675780630d4a8b49146200048e578063175188e814620004b35780631f787d2814620004d857600080fd5b806301ffc9a714620003f45780630331383c146200042e57806308386eba146200044f575b600080fd5b3480156200040157600080fd5b50620004196200041336600462004b7e565b62000d8f565b60405190151581526020015b60405180910390f35b3480156200043b57600080fd5b5060fc545b60405190815260200162000425565b3480156200045c57600080fd5b506200044060fe5481565b3480156200047457600080fd5b506200048c6200048636600462004baa565b62000de0565b005b3480156200049b57600080fd5b506200048c620004ad36600462004bec565b62000e6f565b348015620004c057600080fd5b506200048c620004d236600462004c2a565b620011f7565b348015620004e557600080fd5b5060fb54620004199060ff1681565b3480156200050157600080fd5b506200048c6200051336600462004c2a565b6200120f565b3480156200052657600080fd5b506200048c6200053836600462004bec565b62001224565b3480156200054b57600080fd5b50620004406200055d36600462004baa565b600090815260c9602052604090206001015490565b3480156200057f57600080fd5b506200044062001340565b3480156200059757600080fd5b50620005af620005a936600462004c4a565b6200143e565b6040516001600160a01b03909116815260200162000425565b348015620005d557600080fd5b5062000440620005e736600462004c2a565b6001600160a01b0316600090815261010c602052604090206001015490565b3480156200061357600080fd5b506200048c6200062536600462004c79565b62001478565b3480156200063857600080fd5b506200048c6200064a36600462004baa565b620014a6565b3480156200065d57600080fd5b50620004406101025481565b3480156200067657600080fd5b506200048c620014e6565b3480156200068e57600080fd5b506200048c620006a036600462004c79565b62001922565b348015620006b357600080fd5b506200048c620006c536600462004c2a565b620019b6565b348015620006d857600080fd5b506200048c620006ea36600462004c2a565b62001b37565b348015620006fd57600080fd5b50620004196200070f36600462004c2a565b61010a6020526000908152604090205460ff1681565b3480156200073257600080fd5b50620004196200074436600462004bec565b61010e60209081526000928352604080842090915290825290205460ff1681565b6200048c6200077636600462004df9565b62001bab565b3480156200078957600080fd5b506200044062001d1c565b348015620007a157600080fd5b506200048c620007b336600462004baa565b62001de3565b348015620007c657600080fd5b5061010154620005af906001600160a01b031681565b348015620007e957600080fd5b506200048c620007fb36600462004baa565b620020e2565b3480156200080e57600080fd5b50620004406200082036600462004bec565b61010b60209081526000928352604080842090915290825290205481565b3480156200084b57600080fd5b506200048c6200085d36600462004bec565b620024d3565b3480156200087057600080fd5b5061010354620005af906001600160a01b031681565b3480156200089357600080fd5b5061010654620005af906001600160a01b031681565b348015620008b657600080fd5b506200048c620026ee565b348015620008ce57600080fd5b506200048c620008e036600462004baa565b62002704565b348015620008f357600080fd5b50620004407f03be538b6391ddcd7f2649585cc95b120c9e2a613f70714fbb55345057d809fa81565b3480156200092957600080fd5b50620004406200093b36600462004bec565b6001600160a01b03918216600090815261010b6020908152604080832093909416825291909152205490565b3480156200097457600080fd5b506200044060fc5481565b3480156200098c57600080fd5b5061010454620005af906001600160a01b031681565b348015620009af57600080fd5b506200048c620009c136600462004baa565b620027a0565b348015620009d457600080fd5b5062000a15620009e636600462004c2a565b61010c602052600090815260409020805460018201546002909201546001600160a01b03909116919060ff1683565b604080516001600160a01b039094168452602084019290925215159082015260600162000425565b34801562000a4a57600080fd5b506200044060fd5481565b34801562000a6257600080fd5b506033546001600160a01b0316620005af565b34801562000a8257600080fd5b506200041962000a9436600462004c79565b600091825260c9602090815260408084206001600160a01b0393909316845291905290205460ff1690565b34801562000acc57600080fd5b506200048c62000ade36600462004efb565b6200285e565b34801562000af157600080fd5b5062000b0962000b0336600462005187565b62002ef4565b604080519283526001600160a01b0390911660208301520162000425565b34801562000b3457600080fd5b50620005af73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b34801562000b5e57600080fd5b5062000440600081565b34801562000b7557600080fd5b506200041962000b8736600462004c2a565b6001600160a01b03908116600090815261010c60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff161515910181905290565b34801562000bde57600080fd5b5060ff54620005af906001600160a01b031681565b34801562000c0057600080fd5b506200048c62002fd9565b34801562000c1857600080fd5b5062000c2362003029565b60405162000425919062005246565b34801562000c3f57600080fd5b506200048c620030c0565b34801562000c5757600080fd5b506200044062003232565b34801562000c6f57600080fd5b5062000c2362003244565b34801562000c8757600080fd5b506200048c62000c9936600462004c79565b62003254565b34801562000cac57600080fd5b5061010754620005af906001600160a01b031681565b34801562000ccf57600080fd5b506200044061271081565b34801562000ce757600080fd5b5061010554620005af906001600160a01b031681565b34801562000d0a57600080fd5b506200041962000d1c36600462004c2a565b6200327d565b34801562000d2f57600080fd5b506200048c62000d4136600462004c2a565b620032be565b34801562000d5457600080fd5b5061010054620005af906001600160a01b031681565b34801562000d7757600080fd5b5062000b0962000d893660046200525b565b62003351565b60006001600160e01b031982167f7965db0b00000000000000000000000000000000000000000000000000000000148062000dda57506301ffc9a760e01b6001600160e01b03198316145b92915050565b62000dea620034de565b62000df9612710600a620052f1565b81111562000e33576040517ffe925f7d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60fd8190556040518181527f611668bfcf654a99c33cdb66c29ec37a5aae5c1287d2d9715a24e18cb4d806d6906020015b60405180910390a150565b62000e7a8262003547565b62000e8581620035ac565b62000e908162003600565b6001600160a01b03808316600090815261010e602090815260408083209385168352929052205460ff161562000ef2576040517fd5b9bc9600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b03808316600090815261010c602090815260409182902082516060810184528154909416845260018101549184018290526002015460ff1615159183019190915260fc546003846001600160a01b031663c32921716040518163ffffffff1660e01b81526004016020604051808303816000875af115801562000f80573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000fa6919062005321565b600381111562000fba5762000fba6200530b565b036200103e5760405163782aadff60e01b81526001600160a01b0386811660048301526000602483015285169063782aadff906044016020604051808303816000875af115801562001010573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001036919062005341565b90506200113a565b6000846001600160a01b031663c32921716040518163ffffffff1660e01b81526004016020604051808303816000875af115801562001081573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620010a7919062005321565b6003811115620010bb57620010bb6200530b565b146200113a5760405163782aadff60e01b81526001600160a01b0386811660048301526024820184905285169063782aadff906044016020604051808303816000875af115801562001111573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001137919062005341565b90505b6001600160a01b03858116600081815261010b6020908152604080832094891680845294825280832086905583835261010e82528083208584528252808320805460ff1916600190811790915584845261010d83528184208054918201815584529282902090920180546001600160a01b0319168517905581519283528201929092529081018290527ff56fa57e85e169a12200d12d9921ec069b52e688f6d309d9dab7bceff54614ec9060600160405180910390a15050505050565b62001201620034de565b6200120c8162003641565b50565b62001219620034de565b6200120c816200369f565b6200122f8262003547565b6200123a8162003600565b6200124633826200374a565b6001600160a01b03808316600090815261010e602090815260408083209385168352929052205460ff16620012a7576040517fc12369dc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b03808316600081815261010e60209081526040808320948616808452948252808320805460ff1916905592825261010b815282822093825292909252812055620012f9828262003796565b604080516001600160a01b038085168252831660208201527ede109bef4619f7e2cf00c8e5a50ca55f8deb44f87087eed414a91dbf8d1d1b91015b60405180910390a15050565b610100546000906001600160a01b031681620013606127106064620052f1565b60fd5460fc54620013729190620052f1565b6200137e91906200535b565b90506000620013916127106064620052f1565b6040516302a64b8360e21b81523060048201526001600160a01b03851690630a992e0c90602401602060405180830381865afa158015620013d6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620013fc919062005341565b60fc546200140b9190620052f1565b6200141791906200535b565b9050808260fc546200142a91906200537e565b6200143691906200537e565b935050505090565b61010d60205281600052604060002081815481106200145c57600080fd5b6000918252602090912001546001600160a01b03169150829050565b600082815260c960205260409020600101546200149581620038cc565b620014a18383620038d8565b505050565b620014b0620034de565b60fc8190556040518181527f5bcc2c453001fb0e2ba6266d56ecb411e7c6e15c8f9c3d301f93dd36ad25726f9060200162000e64565b620014f06200397c565b33600081815261010c602052604081206101005490916001600160a01b0390911690620015216127106064620052f1565b60fd5460fc54620015339190620052f1565b6200153f91906200535b565b90506000620015526127106064620052f1565b6040516302a64b8360e21b81523060048201526001600160a01b03851690630a992e0c90602401602060405180830381865afa15801562001597573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620015bd919062005341565b60fc54620015cc9190620052f1565b620015d891906200535b565b6001600160a01b03808716600090815261010c60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff1615159101819052909150620019105760028401805460ff1916600190811790915560fc549085015560408051808201909152600b81527f67617264656e546f6b656e0000000000000000000000000000000000000000006020820152610105546200168d91906001600160a01b0316620039d7565b620016c68530838560fc54620016a491906200537e565b620016b091906200537e565b610105546001600160a01b031692919062003a39565b620017076040518060400160405280601281526020017f636f6d6d756e697479466565416d6f756e7400000000000000000000000000008152508362003abf565b81156200177a5760408051808201909152600b81527f6665655265636569766572000000000000000000000000000000000000000000602082015260ff546200175a91906001600160a01b0316620039d7565b60ff54610105546200177a916001600160a01b0391821691168462003b21565b620017bb6040518060400160405280601081526020017f67617264656e73466565416d6f756e74000000000000000000000000000000008152508262003abf565b8015620018c9576200184b6040518060600160405280602681526020016200b9e060269139846001600160a01b031663987435be6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200181f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001845919062005394565b620039d7565b620018c9836001600160a01b031663987435be6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200188e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620018b4919062005394565b610105546001600160a01b0316908362003b21565b60fc54604080516001600160a01b038816815260208101929092527f67e0244e28040fec15240cd4b6c04c776a2a0278caef23b59e8ada1df31f7689910160405180910390a15b5050505050620019206001606555565b565b6001600160a01b0381163314620019a65760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201527f20726f6c657320666f722073656c66000000000000000000000000000000000060648201526084015b60405180910390fd5b620019b2828262003b5a565b5050565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016300362001a455760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b19195b1959d85d1958d85b1b60a21b60648201526084016200199d565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031662001aa17f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b6001600160a01b03161462001b0e5760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b6163746976652070726f787960a01b60648201526084016200199d565b62001b198162003bde565b604080516000808252602082019092526200120c9183919062003be8565b62001b41620034de565b62001b4c8162003600565b61010380546001600160a01b0319166001600160a01b03838116918217909255610106546040805191909316815260208101919091527f83eac9fdaff0ac1017624b7eddeb9782e3d707cd894073cb7e8301a41c6e5cf8910162000e64565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016300362001c3a5760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b19195b1959d85d1958d85b1b60a21b60648201526084016200199d565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031662001c967f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b6001600160a01b03161462001d035760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b6163746976652070726f787960a01b60648201526084016200199d565b62001d0e8262003bde565b620019b28282600162003be8565b6000306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161462001dbe5760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c000000000000000060648201526084016200199d565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc90565b62001ded6200397c565b62001df762003d94565b33600081815261010d602090815260408083208054825181850281018501909352808352919290919083018282801562001e5b57602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831162001e3c575b50505050509050600080600090505b8251811015620020425782818151811062001e895762001e89620053b4565b602090810291909101015160405163782aadff60e01b81526001600160a01b038681166004830152602482018890529091169063782aadff906044016020604051808303816000875af115801562001ee5573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001f0b919062005341565b915081156200202d576001600160a01b038416600090815261010b60205260408120845184929086908590811062001f475762001f47620053b4565b60200260200101516001600160a01b03166001600160a01b03168152602001908152602001600020600082825462001f8091906200537e565b925050819055506200202d6040518060400160405280600e81526020017f537472617465677920706f77657200000000000000000000000000000000000081525061010b6000876001600160a01b03166001600160a01b03168152602001908152602001600020600086858151811062001ffe5762001ffe620053b4565b60200260200101516001600160a01b03166001600160a01b031681526020019081526020016000205462003abf565b806200203981620053ca565b91505062001e6a565b50610105546200205e906001600160a01b031684308762003a39565b6001600160a01b038316600090815261010c6020526040812060010180548692906200208c9084906200537e565b9091555050604080516001600160a01b0385168152602081018690527f576605f9bfe8911e7508bed3763c7c5c8eb3b86e8b360b90a4bc6abe1104cb7f91015b60405180910390a15050506200120c6001606555565b620020ec6200397c565b620020f662003d94565b33600081815261010d6020908152604080832060fc5461010c90935290832060010154909291906200212a908690620053e6565b101562002163576040517f9c47d02e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610105546200217d906001600160a01b0316848662003b21565b60005b82548110156200245f576000838281548110620021a157620021a1620053b4565b6000918252602090912001546001600160a01b03169050620021cb8163f1801e6160e01b62003df5565b1562002383576040517f2ed04b2b0000000000000000000000000000000000000000000000000000000081526001600160a01b03868116600483015260248201889052821690632ed04b2b906044016020604051808303816000875af11580156200223a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002260919062005341565b9250600061010b6000876001600160a01b03166001600160a01b031681526020019081526020016000206000868581548110620022a157620022a1620053b4565b60009182526020808320909101546001600160a01b031683528201929092526040019020549050808411156200230e576040517f8a11f31800000000000000000000000000000000000000000000000000000000815260048101859052602481018290526044016200199d565b6001600160a01b038616600090815261010b602052604081208654869290889087908110620023415762002341620053b4565b60009182526020808320909101546001600160a01b031683528201929092526040018120805490919062002377908490620053e6565b90915550505062002449565b835484906200239590600190620053e6565b81548110620023a857620023a8620053b4565b9060005260206000200160009054906101000a90046001600160a01b0316848381548110620023db57620023db620053b4565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b03160217905550838054806200241c576200241c620053fc565b600082815260209020810160001990810180546001600160a01b0319169055019055620024498162003641565b50806200245681620053ca565b91505062002180565b506001600160a01b038316600090815261010c6020526040812060010180548692906200248e908490620053e6565b9091555050604080516001600160a01b0385168152602081018690527f6ee2c70b2d6b89ae808a2313aab43e925c06624271419cd665d85cfa1ae04ff89101620020cc565b620024dd6200397c565b620024e7620034de565b60fb5460ff1662002524576040517fcb63dc7200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b03808316600090815261010c60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff16151591018190526200258957604051636a5cfb6d60e01b815260040160405180910390fd5b6001600160a01b03808316600090815261010c60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff16151590820152620025da8362003e1d565b6001600160a01b03838116600090815261010c6020908152604080832080546001600160a01b031916815560018101939093556002909201805460ff191690556101055490840151915163a9059cbb60e01b8152858416600482015260248101929092529091169063a9059cbb906044016020604051808303816000875af11580156200266b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002691919062005412565b50602080820151604080516001600160a01b0380881682528616938101939093528201527fb5946f249f8744efe9d14d49a483b54a589b1362944ff6694de93456cceb96a39060600160405180910390a150620019b26001606555565b620026f862003f4b565b62001920600062003fa7565b6200270e620034de565b6101075460405163068bcd8d60e01b8152600481018390526000916001600160a01b03169063068bcd8d90602401600060405180830381865afa1580156200275a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405262002784919081019062005432565b602001519050620027958162003600565b620019b28162003641565b620027aa620034de565b6101075460405163068bcd8d60e01b8152600481018390526000916001600160a01b03169063068bcd8d90602401600060405180830381865afa158015620027f6573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405262002820919081019062005432565b602001519050620028318162003600565b6200284d6001600160a01b03821663f1801e6160e01b62003df5565b15620019b257620019b2816200369f565b600054610100900460ff16158080156200287f5750600054600160ff909116105b806200289b5750303b1580156200289b575060005460ff166001145b6200290f5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084016200199d565b6000805460ff19166001179055801562002933576000805461ff0019166101001790555b6200293d62003ff9565b6200294762004070565b62002951620040e7565b6200297e7f03be538b6391ddcd7f2649585cc95b120c9e2a613f70714fbb55345057d809fa600062004154565b6200298d826020015162003600565b6200299d82610100015162003600565b8151620029aa9062003600565b620029b98260a0015162003600565b620029c982610180015162003600565b606082015115620029e357620029e38260c0015162003600565b815161010780546001600160a01b039283166001600160a01b03199182161790915560208401516101058054919093169116179055604082015160000362002a57576040517fc70d18aa00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604082015160fc55606082015160fd5561014082015160fb805460ff19169115159190911790556101208201516101089062002a949082620055f7565b506101608201516101099062002aab9082620055f7565b5060a082015161010080546001600160a01b03199081166001600160a01b0393841617825560c085015160ff8054831691851691909117905590840151610106805483168285161790556101808501516101018054909316931692909217905562002b38907f03be538b6391ddcd7f2649585cc95b120c9e2a613f70714fbb55345057d809fa90620038d8565b61010760009054906101000a90046001600160a01b03166001600160a01b0316635ab1bd536040518163ffffffff1660e01b8152600401602060405180830381865afa15801562002b8d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002bb3919062005394565b61010480546001600160a01b0319166001600160a01b0392831617905561010654604080517fa0e67e2b0000000000000000000000000000000000000000000000000000000081529051600093929092169163a0e67e2b9160048082019286929091908290030181865afa15801562002c30573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405262002c5a9190810190620056c4565b905060008151600262002c6e91906200537e565b67ffffffffffffffff81111562002c895762002c8962004ca1565b60405190808252806020026020018201604052801562002cb3578160200160208202803683370190505b50905060005b825181101562002d225782818151811062002cd85762002cd8620053b4565b602002602001015182828151811062002cf55762002cf5620053b4565b6001600160a01b03909216602092830291909101909101528062002d1981620053ca565b91505062002cb9565b506101065481516001600160a01b0390911690829062002d4590600190620053e6565b8151811062002d585762002d58620053b4565b60200260200101906001600160a01b031690816001600160a01b03168152505030816002835162002d8a9190620053e6565b8151811062002d9d5762002d9d620053b4565b6001600160a01b03928316602091820292909201015261010454608086015160e08701516040517f3a92f65f0000000000000000000000000000000000000000000000000000000081529290931692633a92f65f9262002e09929161010891309088906004016200586f565b6020604051808303816000875af115801562002e29573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002e4f919062005341565b60fe55805162002e689061010f90602084019062004ac6565b507f2f2ffcb06f8a1d35e2716f6b43ef2c19bfa76467d8f66964ae12c2583ed0320560fe546101088660e0015160405162002ea693929190620058c3565b60405180910390a150508015620019b2576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200162001334565b600080600060405162002f079062004b30565b604051809103906000f08015801562002f24573d6000803e3d6000fd5b5061010754604080516001600160a01b0390921660248084019190915281518084039091018152604490920181526020820180516001600160e01b03167f19ab453c000000000000000000000000000000000000000000000000000000001790525162002f919062004b3e565b62002f9e929190620058f2565b604051809103906000f08015801562002fbb573d6000803e3d6000fd5b50905062002fcc8187878762003351565b9250925050935093915050565b610103546001600160a01b031633146200301f576040517febcd0d6e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b620019206200419f565b6101098054620030399062005569565b80601f0160208091040260200160405190810160405280929190818152602001828054620030679062005569565b8015620030b85780601f106200308c57610100808354040283529160200191620030b8565b820191906000526020600020905b8154815290600101906020018083116200309a57829003601f168201915b505050505081565b620030ca6200397c565b33620030d68162003547565b620030e18162003e1d565b6001600160a01b03808216600081815261010c602090815260408083208151606081018352815496871681526001820180548286015260028301805460ff81161515848701529787526001600160a01b03199098169092559084905560ff1990941690945561010d905291822090916200315c919062004b4c565b61010554602082015160405163a9059cbb60e01b81526001600160a01b038581166004830152602482019290925291169063a9059cbb906044016020604051808303816000875af1158015620031b6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620031dc919062005412565b50602080820151604080516001600160a01b0386168152928301919091527fa13f4668aacb68c4e9eed8e3f6e1cbec3eca776896ec46b5eabcc3983fc8f5f4910160405180910390a15050620019206001606555565b62003241612710600a620052f1565b81565b6101088054620030399062005569565b600082815260c960205260409020600101546200327181620038cc565b620014a1838362003b5a565b6001600160a01b03811660009081527fa867e09674d469ee17077111ff66261f5d2fc5820cc6914676cb47231da58818602052604081205460ff1662000dda565b620032c862003f4b565b6001600160a01b038116620033465760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084016200199d565b6200120c8162003fa7565b60008073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6001600160a01b038616156200337c5750845b869150600061010f805480602002602001604051908101604052809291908181526020018280548015620033da57602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311620033bb575b50506101075460fe546040519596506001600160a01b039091169463e1007d4a945090925087915062003412908b906020016200592d565b6040516020818303038152906040528660008b886040518863ffffffff1660e01b81526004016200344a9796959493929190620059cb565b6020604051808303816000875af11580156200346a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062003490919062005341565b93507f778cac0ae0b66477341553a4a89398c61ccf448313d3354ad0ca85a5a825d2838484308a89604051620034cb95949392919062005a3d565b60405180910390a1505094509492505050565b3360009081527fa867e09674d469ee17077111ff66261f5d2fc5820cc6914676cb47231da58818602052604090205460ff1662001920576040517ff62651fa00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b03808216600090815261010c60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff16151591018190526200120c57604051636a5cfb6d60e01b815260040160405180910390fd5b6001600160a01b038116600090815261010a602052604090205460ff166200120c576040517f46c26e4b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0381166200120c576040517fe622e04000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6200364c8162003600565b6001600160a01b038116600081815261010a6020908152604091829020805460ff1916905590519182527f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea4910162000e64565b6001600160a01b038116600090815261010a602052604090205460ff1615620036f4576040517f968a4d2c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038116600081815261010a6020908152604091829020805460ff1916600117905590519182527f3f008fd510eae7a9e7bee13513d7b83bef8003d488b5a3d0b0da4de71d6846f1910162000e64565b806001600160a01b0316826001600160a01b031614620019b2576040517fbbe7961100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038216600090815261010d60205260408120905b8154811015620038c657826001600160a01b0316828281548110620037da57620037da620053b4565b6000918252602090912001546001600160a01b031603620038b157815482906200380790600190620053e6565b815481106200381a576200381a620053b4565b9060005260206000200160009054906101000a90046001600160a01b03168282815481106200384d576200384d620053b4565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b03160217905550818054806200388e576200388e620053fc565b600082815260209020810160001990810180546001600160a01b03191690550190555b80620038bd81620053ca565b915050620037b1565b50505050565b6200120c8133620041fc565b600082815260c9602090815260408083206001600160a01b038516845290915290205460ff16620019b257600082815260c9602090815260408083206001600160a01b03851684529091529020805460ff19166001179055620039383390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b600260655403620039d05760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064016200199d565b6002606555565b620019b28282604051602401620039f092919062005a79565b60408051601f198184030181529190526020810180516001600160e01b03167f319af333000000000000000000000000000000000000000000000000000000001790526200427a565b6040516001600160a01b0380851660248301528316604482015260648101829052620038c69085907f23b872dd00000000000000000000000000000000000000000000000000000000906084015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091526200429b565b620019b2828260405160240162003ad892919062005aa6565b60408051601f198184030181529190526020810180516001600160e01b03167f9710a9d0000000000000000000000000000000000000000000000000000000001790526200427a565b6040516001600160a01b038316602482015260448101829052620014a190849063a9059cbb60e01b9060640162003a87565b6001606555565b600082815260c9602090815260408083206001600160a01b038516845290915290205460ff1615620019b257600082815260c9602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b6200120c62003f4b565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff161562003c1e57620014a1836200438a565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa92505050801562003c7b575060408051601f3d908101601f1916820190925262003c789181019062005341565b60015b62003cef5760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201527f6f6e206973206e6f74205555505300000000000000000000000000000000000060648201526084016200199d565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc811462003d865760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f7860448201527f6961626c6555554944000000000000000000000000000000000000000000000060648201526084016200199d565b50620014a18383836200444a565b33600090815261010c6020908152604091829020825160608101845281546001600160a01b031681526001820154928101929092526002015460ff16151591018190526200192057604051636a5cfb6d60e01b815260040160405180910390fd5b600062003e028362004475565b801562003e16575062003e168383620044ad565b9392505050565b6001600160a01b038116600090815261010d602090815260408083208054825181850281018501909352808352919290919083018282801562003e8a57602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831162003e6b575b5050505050905060005b8151811015620014a15781818151811062003eb35762003eb3620053b4565b60209081029190910101516040517f6453d9c40000000000000000000000000000000000000000000000000000000081526001600160a01b03858116600483015290911690636453d9c490602401600060405180830381600087803b15801562003f1c57600080fd5b505af115801562003f31573d6000803e3d6000fd5b50505050808062003f4290620053ca565b91505062003e94565b6033546001600160a01b03163314620019205760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016200199d565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600054610100900460ff16620040665760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b60648201526084016200199d565b6200192062004538565b600054610100900460ff16620040dd5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b60648201526084016200199d565b62001920620045b0565b600054610100900460ff16620019205760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b60648201526084016200199d565b600082815260c96020526040808220600101805490849055905190918391839186917fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff9190a4505050565b610103805461010680546001600160a01b0383166001600160a01b031991821617909155169055604051600081527fad0399dc40331b9a4977aa89da7a164a3fd482c65e6da73b25a94ea74fb688729060200160405180910390a1565b600082815260c9602090815260408083206001600160a01b038516845290915290205460ff16620019b25762004232816200461d565b6200423f83602062004630565b6040516020016200425292919062005aca565b60408051601f198184030181529082905262461bcd60e51b82526200199d9160040162005246565b80516a636f6e736f6c652e6c6f67602083016000808483855afa5050505050565b6000620042f2826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166200482f9092919063ffffffff16565b90508051600014806200431657508080602001905181019062004316919062005412565b620014a15760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f7420737563636565640000000000000000000000000000000000000000000060648201526084016200199d565b6001600160a01b0381163b620044095760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201527f6f74206120636f6e74726163740000000000000000000000000000000000000060648201526084016200199d565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b620044558362004848565b600082511180620044635750805b15620014a157620038c683836200488a565b60006200448a826301ffc9a760e01b620044ad565b801562000dda5750620044a6826001600160e01b0319620044ad565b1592915050565b604080516001600160e01b03198316602480830191909152825180830390910181526044909101909152602080820180516001600160e01b03166301ffc9a760e01b178152825160009392849283928392918391908a617530fa92503d9150600051905082801562004520575060208210155b80156200452d5750600081115b979650505050505050565b600054610100900460ff16620045a55760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b60648201526084016200199d565b620019203362003fa7565b600054610100900460ff1662003b535760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b60648201526084016200199d565b606062000dda6001600160a01b03831660145b6060600062004641836002620052f1565b6200464e9060026200537e565b67ffffffffffffffff81111562004669576200466962004ca1565b6040519080825280601f01601f19166020018201604052801562004694576020820181803683370190505b5090507f300000000000000000000000000000000000000000000000000000000000000081600081518110620046ce57620046ce620053b4565b60200101906001600160f81b031916908160001a9053507f7800000000000000000000000000000000000000000000000000000000000000816001815181106200471c576200471c620053b4565b60200101906001600160f81b031916908160001a905350600062004742846002620052f1565b6200474f9060016200537e565b90505b6001811115620047de577f303132333435363738396162636465660000000000000000000000000000000085600f1660108110620047945762004794620053b4565b1a60f81b828281518110620047ad57620047ad620053b4565b60200101906001600160f81b031916908160001a90535060049490941c93620047d68162005b4f565b905062004752565b50831562003e165760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e7460448201526064016200199d565b6060620048408484600085620048b2565b949350505050565b62004853816200438a565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b606062003e1683836040518060600160405280602781526020016200ba0660279139620049a1565b6060824710156200492c5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c000000000000000000000000000000000000000000000000000060648201526084016200199d565b600080866001600160a01b031685876040516200494a919062005b69565b60006040518083038185875af1925050503d806000811462004989576040519150601f19603f3d011682016040523d82523d6000602084013e6200498e565b606091505b50915091506200452d8783838762004a1f565b6060600080856001600160a01b031685604051620049c0919062005b69565b600060405180830381855af49150503d8060008114620049fd576040519150601f19603f3d011682016040523d82523d6000602084013e62004a02565b606091505b509150915062004a158683838762004a1f565b9695505050505050565b6060831562004a9357825160000362004a8b576001600160a01b0385163b62004a8b5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016200199d565b508162004840565b62004840838381511562004aaa5781518083602001fd5b8060405162461bcd60e51b81526004016200199d919062005246565b82805482825590600052602060002090810192821562004b1e579160200282015b8281111562004b1e57825182546001600160a01b0319166001600160a01b0390911617825560209092019160019091019062004ae7565b5062004b2c92915062004b67565b5090565b61596a8062005b8883390190565b6104ee806200b4f283390190565b50805460008255906000526020600020908101906200120c91905b5b8082111562004b2c576000815560010162004b68565b60006020828403121562004b9157600080fd5b81356001600160e01b03198116811462003e1657600080fd5b60006020828403121562004bbd57600080fd5b5035919050565b6001600160a01b03811681146200120c57600080fd5b803562004be78162004bc4565b919050565b6000806040838503121562004c0057600080fd5b823562004c0d8162004bc4565b9150602083013562004c1f8162004bc4565b809150509250929050565b60006020828403121562004c3d57600080fd5b813562003e168162004bc4565b6000806040838503121562004c5e57600080fd5b823562004c6b8162004bc4565b946020939093013593505050565b6000806040838503121562004c8d57600080fd5b82359150602083013562004c1f8162004bc4565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff8111828210171562004cdd5762004cdd62004ca1565b60405290565b6040516101a0810167ffffffffffffffff8111828210171562004cdd5762004cdd62004ca1565b604051610120810167ffffffffffffffff8111828210171562004cdd5762004cdd62004ca1565b60405160c0810167ffffffffffffffff8111828210171562004cdd5762004cdd62004ca1565b604051601f8201601f1916810167ffffffffffffffff8111828210171562004d835762004d8362004ca1565b604052919050565b600067ffffffffffffffff82111562004da85762004da862004ca1565b50601f01601f191660200190565b600062004dcd62004dc78462004d8b565b62004d57565b905082815283838301111562004de257600080fd5b828260208301376000602084830101529392505050565b6000806040838503121562004e0d57600080fd5b823562004e1a8162004bc4565b9150602083013567ffffffffffffffff81111562004e3757600080fd5b8301601f8101851362004e4957600080fd5b62004e5a8582356020840162004db6565b9150509250929050565b600082601f83011262004e7657600080fd5b62003e168383356020850162004db6565b60006040828403121562004e9a57600080fd5b62004ea462004cb7565b905081358152602082013567ffffffffffffffff81111562004ec557600080fd5b62004ed38482850162004e64565b60208301525092915050565b80151581146200120c57600080fd5b803562004be78162004edf565b60006020828403121562004f0e57600080fd5b813567ffffffffffffffff8082111562004f2757600080fd5b908301906101a0828603121562004f3d57600080fd5b62004f4762004ce3565b62004f528362004bda565b815262004f626020840162004bda565b602082015260408301356040820152606083013560608201526080830135608082015262004f9360a0840162004bda565b60a082015262004fa660c0840162004bda565b60c082015260e08301358281111562004fbe57600080fd5b62004fcc8782860162004e87565b60e08301525061010062004fe281850162004bda565b90820152610120838101358381111562004ffb57600080fd5b620050098882870162004e64565b8284015250506101406200501f81850162004eee565b9082015261016083810135838111156200503857600080fd5b620050468882870162004e64565b82840152505061018091506200505e82840162004bda565b91810191909152949350505050565b80356003811062004be757600080fd5b600481106200120c57600080fd5b803562004be7816200507d565b600060208284031215620050ab57600080fd5b6040516020810181811067ffffffffffffffff82111715620050d157620050d162004ca1565b6040529135825250919050565b60006101208284031215620050f257600080fd5b620050fc62004d0a565b9050620051098262004bda565b8152602082013560208201526040820135604082015260608201356060820152608082013560808201526200514160a083016200506d565b60a08201526200515460c083016200508b565b60c0820152620051688360e0840162005098565b60e08201526101006200517d81840162004bda565b9082015292915050565b600080600061016084860312156200519e57600080fd5b8335620051ab8162004bc4565b9250620051bc8560208601620050de565b915061014084013567ffffffffffffffff811115620051da57600080fd5b620051e88682870162004e87565b9150509250925092565b60005b838110156200520f578181015183820152602001620051f5565b50506000910152565b6000815180845262005232816020860160208601620051f2565b601f01601f19169290920160200192915050565b60208152600062003e16602083018462005218565b60008060008061018085870312156200527357600080fd5b8435620052808162004bc4565b93506020850135620052928162004bc4565b9250620052a38660408701620050de565b915061016085013567ffffffffffffffff811115620052c157600080fd5b620052cf8782880162004e87565b91505092959194509250565b634e487b7160e01b600052601160045260246000fd5b808202811582820484141762000dda5762000dda620052db565b634e487b7160e01b600052602160045260246000fd5b6000602082840312156200533457600080fd5b815162003e16816200507d565b6000602082840312156200535457600080fd5b5051919050565b6000826200537957634e487b7160e01b600052601260045260246000fd5b500490565b8082018082111562000dda5762000dda620052db565b600060208284031215620053a757600080fd5b815162003e168162004bc4565b634e487b7160e01b600052603260045260246000fd5b600060018201620053df57620053df620052db565b5060010190565b8181038181111562000dda5762000dda620052db565b634e487b7160e01b600052603160045260246000fd5b6000602082840312156200542557600080fd5b815162003e168162004edf565b600060208083850312156200544657600080fd5b825167ffffffffffffffff808211156200545f57600080fd5b9084019060c082870312156200547457600080fd5b6200547e62004d31565b8251815283830151620054918162004bc4565b818501526040830151620054a58162004bc4565b6040820152606083015182811115620054bd57600080fd5b830160408189031215620054d057600080fd5b620054da62004cb7565b815181528582015184811115620054f057600080fd5b82019350601f840189136200550457600080fd5b835191506200551762004dc78362004d8b565b82815289878487010111156200552c57600080fd5b6200553d83888301898801620051f2565b95810195909552506060810193909352506080818101519083015260a090810151908201529392505050565b600181811c908216806200557e57607f821691505b6020821081036200559f57634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620014a157600081815260208120601f850160051c81016020861015620055ce5750805b601f850160051c820191505b81811015620055ef57828155600101620055da565b505050505050565b815167ffffffffffffffff81111562005614576200561462004ca1565b6200562c8162005625845462005569565b84620055a5565b602080601f8311600181146200566457600084156200564b5750858301515b600019600386901b1c1916600185901b178555620055ef565b600085815260208120601f198616915b82811015620056955788860151825594840194600190910190840162005674565b5085821015620056b45787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60006020808385031215620056d857600080fd5b825167ffffffffffffffff80821115620056f157600080fd5b818501915085601f8301126200570657600080fd5b8151818111156200571b576200571b62004ca1565b8060051b91506200572e84830162004d57565b81815291830184019184810190888411156200574957600080fd5b938501935b83851015620057775784519250620057668362004bc4565b82825293850193908501906200574e565b98975050505050505050565b60008154620057928162005569565b808552602060018381168015620057b25760018114620057cd57620057fd565b60ff1985168884015283151560051b880183019550620057fd565b866000528260002060005b85811015620057f55781548a8201860152908301908401620057d8565b890184019650505b505050505092915050565b80518252600060208201516040602085015262004840604085018262005218565b600081518084526020808501945080840160005b83811015620058645781516001600160a01b0316875295820195908201906001016200583d565b509495945050505050565b85815260a0602082015260006200588a60a083018762005783565b82810360408401526200589e818762005808565b90506001600160a01b0385166060840152828103608084015262005777818562005829565b838152606060208201526000620058de606083018562005783565b828103604084015262004a15818562005808565b6001600160a01b038316815260406020820152600062004840604083018462005218565b600481106200592957620059296200530b565b9052565b6000610120820190506001600160a01b0383511682526020830151602083015260408301516040830152606083015160608301526080830151608083015260a0830151600381106200598357620059836200530b565b8060a08401525060c08301516200599e60c084018262005916565b5060e0830151620059b260e0840182519052565b50610100928301516001600160a01b0316919092015290565b87815260006001600160a01b03808916602084015260e06040840152620059f660e084018962005218565b818816606085015286608085015283810360a085015262005a18818762005808565b91505082810360c084015262005a2f818562005829565b9a9950505050505050505050565b85815260006001600160a01b038087166020840152808616604084015280851660608401525060a060808301526200452d60a083018462005808565b60408152600062005a8e604083018562005218565b90506001600160a01b03831660208301529392505050565b60408152600062005abb604083018562005218565b90508260208301529392505050565b7f416363657373436f6e74726f6c3a206163636f756e742000000000000000000081526000835162005b04816017850160208801620051f2565b7f206973206d697373696e6720726f6c6520000000000000000000000000000000601791840191820152835162005b43816028840160208801620051f2565b01602801949350505050565b60008162005b615762005b61620052db565b506000190190565b6000825162005b7d818460208701620051f2565b919091019291505056fe60a0604052306080526000606d81905560705534801561001e57600080fd5b506080516159136200005760003960008181611231015281816112b6015281816113b70152818161143c015261152201526159136000f3fe6080604052600436106103c75760003560e01c806376365af7116101f2578063b5f620ce11610119578063e0dd2c38116100b2578063ef2920fc11610084578063f321b3051161006c578063f321b30514610b89578063f5b0dfb714610ba9578063fc1711f214610bc957005b8063ef2920fc14610b56578063f2fde38b14610b6957005b8063e0dd2c3814610ac9578063e33add9314610ae9578063eb11af9314610b09578063edd146cc14610b3657005b8063c7f758a8116100eb578063c7f758a814610a39578063d1e3623214610a6f578063dc96ff2d14610a84578063df868ed314610ab457005b8063b5f620ce146109a6578063b6c61f31146109c6578063bcc5b93b146109e6578063c329217114610a1c57005b8063950559d71161018b578063a574cea41161015d578063a574cea414610916578063aba9ffee14610943578063ac1ed7b914610959578063b2b878d01461097957005b8063950559d7146108a1578063a0cf0aea146108c1578063a1aab33f146108e9578063a47ff7e5146108ff57005b8063817b1cd2116101c4578063817b1cd21461082d578063824ea8ed14610843578063868c57b8146108635780638da5cb5b1461088357005b806376365af7146107cc578063782aadff146107e25780637c6570ba14610802578063814516ad1461081857005b8063346db8cb116102ee5780634f1ef286116102875780635db64b99116102595780636453d9c4116102415780636453d9c41461077757806369fa25c414610797578063715018a6146107b757005b80635db64b991461072a5780636003e4141461075757005b80634f1ef286146106cc57806352d1902d146106df57806354fac919146106f457806359a5db8b1461070a57005b8063406244d8116102c0578063406244d81461066d57806342fda9c7146106825780634ab4ba42146106975780634d31d087146106ac57005b8063346db8cb146105f1578063351d9f96146106115780633659cfe61461063857806338fff2d01461065857005b806315cc481e116103605780632bbe0cae116103325780632bbe0cae146105725780632cefadbb146105855780632dbd6fdd146105a55780632ed04b2b146105d157005b806315cc481e146104eb57806319ab453c1461051d5780631aa91a9e1461053d5780631ddf1e231461055d57005b80630ba95909116103995780630ba959091461047f5780630c0512e91461049e5780630f529ba2146104b457806311f22ae3146104cb57005b8063013cf08b146103d057806301ffc9a71461040f578063058aca441461043f5780630a6f0ee91461045f57005b366103ce57005b005b3480156103dc57600080fd5b506103f06103eb36600461481d565b610be9565b6040516104069a999897969594939291906148cf565b60405180910390f35b34801561041b57600080fd5b5061042f61042a366004614942565b610cf7565b6040519015158152602001610406565b34801561044b57600080fd5b506103ce61045a366004614999565b610d90565b34801561046b57600080fd5b506103ce61047a366004614ba9565b610df0565b34801561048b57600080fd5b506073545b604051908152602001610406565b3480156104aa57600080fd5b50610490606d5481565b3480156104c057600080fd5b506104906298968081565b3480156104d757600080fd5b506103ce6104e636600461481d565b610e10565b3480156104f757600080fd5b506065546001600160a01b03165b6040516001600160a01b039091168152602001610406565b34801561052957600080fd5b506103ce610538366004614999565b610e4f565b34801561054957600080fd5b5061049061055836600461481d565b610fb0565b34801561056957600080fd5b506103ce611036565b610505610580366004614c21565b611041565b34801561059157600080fd5b506103ce6105a036600461481d565b611064565b3480156105b157600080fd5b506072546105c490610100900460ff1681565b6040516104069190614c83565b3480156105dd57600080fd5b506104906105ec366004614c91565b6110b0565b3480156105fd57600080fd5b5061049061060c366004614cbd565b611182565b34801561061d57600080fd5b5060725461062b9060ff1681565b6040516104069190614cf9565b34801561064457600080fd5b506103ce610653366004614999565b611227565b34801561066457600080fd5b50606854610490565b34801561067957600080fd5b50610490600a81565b34801561068e57600080fd5b50606654610490565b3480156106a357600080fd5b50606954610490565b3480156106b857600080fd5b5061042f6106c7366004614999565b6113a2565b6103ce6106da366004614d07565b6113ad565b3480156106eb57600080fd5b50610490611515565b34801561070057600080fd5b50610490606a5481565b34801561071657600080fd5b5061049061072536600461481d565b6115da565b34801561073657600080fd5b50610490610745366004614999565b60776020526000908152604090205481565b34801561076357600080fd5b50607454610505906001600160a01b031681565b34801561078357600080fd5b506103ce610792366004614999565b611717565b3480156107a357600080fd5b506103ce6107b236600461481d565b611728565b3480156107c357600080fd5b506103ce611767565b3480156107d857600080fd5b50610490606b5481565b3480156107ee57600080fd5b506104906107fd366004614c91565b611779565b34801561080e57600080fd5b5061049060705481565b34801561082457600080fd5b506103ce61191b565b34801561083957600080fd5b50610490606e5481565b34801561084f57600080fd5b5061042f61085e36600461481d565b611a4d565b34801561086f57600080fd5b5061049061087e366004614c91565b611aaa565b34801561088f57600080fd5b506033546001600160a01b0316610505565b3480156108ad57600080fd5b506104906108bc36600461481d565b611adb565b3480156108cd57600080fd5b5061050573eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b3480156108f557600080fd5b50610490606c5481565b34801561090b57600080fd5b506073546104909081565b34801561092257600080fd5b5061093661093136600461481d565b611b05565b6040516104069190614d57565b34801561094f57600080fd5b50610490606f5481565b34801561096557600080fd5b506103ce610974366004614999565b611be4565b34801561098557600080fd5b50610999610994366004614d6a565b611cc5565b6040516104069190614e3f565b3480156109b257600080fd5b506103ce6109c1366004614ea5565b611ce0565b3480156109d257600080fd5b50607554610505906001600160a01b031681565b3480156109f257600080fd5b50610490610a01366004614999565b6001600160a01b031660009081526077602052604090205490565b348015610a2857600080fd5b50607254610100900460ff166105c4565b348015610a4557600080fd5b50610a59610a5436600461481d565b611ce9565b6040516104069a99989796959493929190614ec2565b348015610a7b57600080fd5b50606f54610490565b348015610a9057600080fd5b50610490610a9f36600461481d565b60009081526076602052604090206002015490565b348015610ac057600080fd5b5061042f611deb565b348015610ad557600080fd5b50610490610ae4366004614f27565b611dfe565b348015610af557600080fd5b506103ce610b04366004614f4c565b611e29565b348015610b1557600080fd5b50610b29610b24366004614999565b611e42565b6040516104069190614ff7565b348015610b4257600080fd5b506103ce610b51366004615011565b611e4d565b6103ce610b64366004614c21565b611f9b565b348015610b7557600080fd5b506103ce610b84366004614999565b611fb5565b348015610b9557600080fd5b506103ce610ba4366004615042565b612042565b348015610bb557600080fd5b506103ce610bc436600461481d565b61208d565b348015610bd557600080fd5b506103ce610be436600461481d565b6120b6565b6076602090815260009182526040918290208054600182015460028301546003840154600485015460058601546006870154600788015460088901548b51808d01909c52600a8a0180548d52600b8b0180549a9d999c989b979a6001600160a01b039788169a968816999790951697939660ff9093169593949192840191610c709061509c565b80601f0160208091040260200160405190810160405280929190818152602001828054610c9c9061509c565b8015610ce95780601f10610cbe57610100808354040283529160200191610ce9565b820191906000526020600020905b815481529060010190602001808311610ccc57829003601f168201915b50505050508152505090508a565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167ff1801e61000000000000000000000000000000000000000000000000000000001480610d8a57507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b33610d9a816120f5565b607480546001600160a01b0319166001600160a01b0384169081179091556040519081527fd6ceddf6d2a22f21c7c81675c518004eff43bc5c8a6fc32a0b748e69d58671cd906020015b60405180910390a15050565b610df86121a4565b610e006121cf565b610e0b83838361220b565b505050565b33610e1a816120f5565b606b8290556040518281527f08e39b387d1f739ce0d2553bb31822392e3f67c62c6c0a215120ab4a6841a8ab90602001610de4565b600054610100900460ff1615808015610e6f5750600054600160ff909116105b80610e895750303b158015610e89575060005460ff166001145b610f005760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084015b60405180910390fd5b6000805460ff191660011790558015610f23576000805461ff0019166101001790555b610f62826040518060400160405280600a81526020017f4356537472617465677900000000000000000000000000000000000000000000815250612042565b610f6a61251f565b8015610fac576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249890602001610de4565b5050565b600081815260766020526040812080548314610fe25760405163c1d17bef60e01b815260048101849052602401610ef7565b6001600882015460ff166004811115610ffd57610ffd614836565b1461101e576040516344980d8f60e01b815260048101849052602401610ef7565b61102c818260020154612592565b6003015492915050565b61103f336125cd565b565b600061104b6121a4565b6110536121cf565b61105d838361271e565b9392505050565b3361106e816120f5565b60705460408051918252602082018490527f056aedca4e334b6c4bea48715fb0de644811b740894de57a0380d3eb90f2805b910160405180910390a150607055565b60006110ba612a70565b60006002607254610100900460ff1660038111156110da576110da614836565b148061110157506001607254610100900460ff1660038111156110ff576110ff614836565b145b1561110d57508161111a565b6111178484612ab4565b90505b80606f600082825461112c91906150e6565b9091555050604080516001600160a01b0386168152602081018590529081018290527f70b752f3fadb6ac131c0ece847fcbb6994ec56ed6411595710fd9b29c6ac6cc19060600160405180910390a19392505050565b60008084905060006111a8629896806080606a54901b6111a2919061510f565b83612d78565b905060806f80000000000000000000000000000000606a54629896806111ce91906150e6565b6111dc84600160801b6150e6565b6111e96298968089615131565b6111f39190615131565b6111fd919061510f565b6112078885615131565b6112119190615148565b61121b9190615148565b901c9695505050505050565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036112b45760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b19195b1959d85d1958d85b1b60a21b6064820152608401610ef7565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661130f7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b6001600160a01b03161461137a5760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b6163746976652070726f787960a01b6064820152608401610ef7565b61138381612e21565b6040805160008082526020820190925261139f91839190612e29565b50565b6000610d8a82612fc9565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016300361143a5760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b19195b1959d85d1958d85b1b60a21b6064820152608401610ef7565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166114957f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b6001600160a01b0316146115005760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b6163746976652070726f787960a01b6064820152608401610ef7565b61150982612e21565b610fac82826001612e29565b6000306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146115b55760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c00000000000000006064820152608401610ef7565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc90565b60008060695411611617576040517fed4421ad00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61162082612fe9565b1561163e57604051630efd728560e21b815260040160405180910390fd5b6069546000906116578468010000000000000000615131565b611661919061510f565b62989680606b546801000000000000000061167c9190615131565b611686919061510f565b61169091906150e6565b9050604061169d606f5490565b606a546116ad90629896806150e6565b6298968060406116bd8680615131565b901c629896806080606c54901b6116d4919061510f565b6116de919061510f565b6116e89190615131565b6116f2919061510f565b6116fc9190615131565b901c915060705482116117115760705461105d565b50919050565b61171f612a70565b61139f816125cd565b33611732816120f5565b606a8290556040518281527f592dcd55d60d892e7fcb3ba105013312e99691cd59f91e15f83cb67cb5a505f290602001610de4565b61176f613010565b61103f600061306a565b6000611783612a70565b61178c836130bc565b6117a957604051630b72d6b160e31b815260040160405180910390fd5b60006002607254610100900460ff1660038111156117c9576117c9614836565b036117d757825b9050611834565b6001607254610100900460ff1660038111156117f5576117f5614836565b03611804576117d08484613164565b6003607254610100900460ff16600381111561182257611822614836565b036118345761183184846132ca565b90505b60745460405163011de97360e61b81526001600160a01b038681166004830152306024830152600092169063477a5cc090604401602060405180830381865afa158015611885573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118a9919061515b565b905080156118c95781606f60008282546118c39190615148565b90915550505b604080516001600160a01b0387168152602081018690529081018390527f0b9150e1e54346ed3fa36b977cd5d65dca5a649c737c3174a26bddaadd47667a9060600160405180910390a1509392505050565b33611925816130bc565b61194257604051630b72d6b160e31b815260040160405180910390fd5b6074546040517f0d4a8b490000000000000000000000000000000000000000000000000000000081526001600160a01b03838116600483015230602483015290911690630d4a8b4990604401600060405180830381600087803b1580156119a857600080fd5b505af11580156119bc573d6000803e3d6000fd5b5050607454604051637817ee4f60e01b81526001600160a01b0385811660048301523060248301529091169250637817ee4f9150604401602060405180830381865afa158015611a10573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a349190615178565b606f6000828254611a459190615148565b909155505050565b6000818152607660205260408120600281015482908190611a6f908490613511565b91509150816000148015611a81575080155b15611a8e57826003015491505b6000611a9d84600101546115da565b9092101595945050505050565b60786020528160005260406000208181548110611ac657600080fd5b90600052602060002001600091509150505481565b6000606a5462989680611aee91906150e6565b611afb6298968084615131565b610d8a919061510f565b604080518082019091526000815260606020820152600060766000848152602001908152602001600020905080600a0160405180604001604052908160008201548152602001600182018054611b5a9061509c565b80601f0160208091040260200160405190810160405280929190818152602001828054611b869061509c565b8015611bd35780601f10611ba857610100808354040283529160200191611bd3565b820191906000526020600020905b815481529060010190602001808311611bb657829003601f168201915b505050505081525050915050919050565b607460009054906101000a90046001600160a01b03166001600160a01b0316636c53db9a6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611c37573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c5b9190615191565b6001600160a01b03163303611c9357611c7381613569565b607580546001600160a01b0383166001600160a01b031990911617905550565b6040517fe860ec7e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b606060405163d623472560e01b815260040160405180910390fd5b61139f816135a9565b6000806000806000806000806000806000607660008d815260200190815260200160002090508060010154600014611d2d57611d2881600101546115da565b611d30565b60005b92508060050160009054906101000a90046001600160a01b03168160040160009054906101000a90046001600160a01b03168260060160009054906101000a90046001600160a01b0316836001015484600201548560080160009054906101000a900460ff16866007015487600301548a896009016000336001600160a01b03166001600160a01b03168152602001908152602001600020549a509a509a509a509a509a509a509a509a509a50509193959799509193959799565b6000611df960675460ff1690565b905090565b60008281526076602090815260408083206001600160a01b038516845260090190915281205461105d565b60405163d623472560e01b815260040160405180910390fd5b6000610d8a826135ea565b611e556121a4565b611e5e8261360a565b600081806020019051810190611e74919061521e565b80519091506001600160a01b0316611e9f57604051635df4b1ef60e01b815260040160405180910390fd5b8051607480546001600160a01b0319166001600160a01b039092169190911790556020810151606a556040810151606b556060810151606c5560a08101516072805460ff19166001836002811115611ef957611ef9614836565b021790555060c08101516072805461ff001916610100836003811115611f2157611f21614836565b021790555060e0810151516073556080810151607055610100810151607580546001600160a01b0319166001600160a01b039092169190911790556040517f4ebdec05fb64815e553aeaf3976ef8112dd79760a459bee3ac7d1659ab2c4e0490611f8e90859084906152b9565b60405180910390a1505050565b611fa36121a4565b611fab6121cf565b610fac828261368b565b611fbd613010565b6001600160a01b0381166120395760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610ef7565b61139f8161306a565b606580546001600160a01b0319166001600160a01b03841617905560405161206e90829060200161534c565b60408051601f1981840301815291905280516020909101206066555050565b6120956121a4565b80606960008282546120a79190615148565b9091555061139f90508161379a565b336120c0816120f5565b606c8290556040518281527f30ee8206062f283e56a0af2b02138016bf7442ded26ad68a92a18a9dd246fb4990602001610de4565b6065546068546040517f29e40d4b00000000000000000000000000000000000000000000000000000000815260048101919091526001600160a01b038381166024830152909116906329e40d4b90604401602060405180830381865afa158015612163573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612187919061515b565b61139f5760405163075fd2b160e01b815260040160405180910390fd5b6065546001600160a01b0316331461103f5760405163075fd2b160e01b815260040160405180910390fd5b60685460000361103f576040517f3da3f98c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000825111612246576040517fc5f7c4c000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008280602001905181019061225c9190615178565b905080600003612298576040517ff881a10d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000818152607660205260409020600160725460ff1660028111156122bf576122bf614836565b0361251857805482146122e85760405163c1d17bef60e01b815260048101839052602401610ef7565b606954816001015411156123405760018101546069546040517f5863b0b60000000000000000000000000000000000000000000000000000000081526004810185905260248101929092526044820152606401610ef7565b6001600882015460ff16600481111561235b5761235b614836565b1461237c576040516344980d8f60e01b815260048101839052602401610ef7565b600061238783610fb0565b9050600061239883600101546115da565b905080821080156123ad575060008360010154115b156123e4576040517fcce7930800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6065546068546040517f068bcd8d00000000000000000000000000000000000000000000000000000000815260048101919091526000916001600160a01b03169063068bcd8d90602401600060405180830381865afa15801561244b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261247391908101906153ec565b905083600101546069600082825461248b91906150e6565b90915550506040810151600485015460018601546124b392916001600160a01b0316906137ca565b60088401805460ff191660049081179091558401546001850154604080518881526001600160a01b0390931660208401528201527fa7932e9c92f31e1ed56b29d00bbe669a97484dc24de28dd9c8c0429df7f358479060600160405180910390a15050505b5050505050565b600054610100900460ff1661258a5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401610ef7565b61103f61380f565b60008061259f8484613511565b915091508160001480156125b1575080155b156125bc5750505050565b600784015560039092019190915550565b607454604051637817ee4f60e01b81526001600160a01b03838116600483015230602483015290911690637817ee4f90604401602060405180830381865afa15801561261d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126419190615178565b606f600082825461265291906150e6565b90915550506074546040517f22bcf9990000000000000000000000000000000000000000000000000000000081526001600160a01b038381166004830152306024830152909116906322bcf99990604401600060405180830381600087803b1580156126bd57600080fd5b505af11580156126d1573d6000803e3d6000fd5b505050506126de81613883565b6040516001600160a01b03821681527f1468da654b37bb3631011c1917d02e0db437d519918858d40b38b5e980ca033b906020015b60405180910390a150565b6000612729826130bc565b61274657604051630b72d6b160e31b815260040160405180910390fd5b60008380602001905181019061275c91906154a0565b805190915060000361279a576040517f4e79178600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600160725460ff1660028111156127b3576127b3614836565b03612963576127c58160200151613569565b60608101516001600160a01b0316612809576040517f596a094c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000306001600160a01b03166315cc481e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612849573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061286d9190615191565b6001600160a01b031663068bcd8d6068546040518263ffffffff1660e01b815260040161289c91815260200190565b600060405180830381865afa1580156128b9573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526128e191908101906153ec565b604001519050806001600160a01b031682606001516001600160a01b031614612936576040517fa29c498600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6129438260400151612fe9565b1561296157604051630efd728560e21b815260040160405180910390fd5b505b6000606d6000815461297490615547565b918290555060008181526076602090815260408083208481556005810180546001600160a01b038b81166001600160a01b0319928316179092558885015160048401805491841691831691909117905560608901516006840180549190931691161790559086015160018083019190915560088201805460ff19169091179055436007820155600381019290925560808501518051600a8401908155918101519394509192600b840190612a2890826155ae565b505060685460408051918252602082018590527ffcf3b1aa65a464cef2889608f99e8b8c0f680a4be6c2acb9d961c536a5a9294b92500160405180910390a150949350505050565b6074546001600160a01b0316331461103f576040517faf0916a200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b607454604080516336d8759760e21b815290516000926012926001600160a01b039091169163db61d65c916004808201926020929091908290030181865afa158015612b04573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612b289190615191565b6001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015612b81575060408051601f3d908101601f19168201909252612b7e9181019061566e565b60015b612bc857612bc36040518060400160405280601581526020017f4572726f722067657474696e6720646563696d616c0000000000000000000000815250613a10565b612bce565b60ff1690505b612c0d6040518060400160405280601081526020017f5f616d6f756e74546f556e7374616b650000000000000000000000000000000081525084613a81565b6074546040516316308e2560e11b81526001600160a01b0386811660048301526000928692911690632c611c4a90602401602060405180830381865afa158015612c5b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612c7f9190615178565b612c8991906150e6565b9050612cca6040518060400160405280600d81526020017f6e6577546f74616c5374616b650000000000000000000000000000000000000081525082613a81565b6000612ce9612cda84600a615775565b612ce49084615131565b613af4565b607454604051637817ee4f60e01b81526001600160a01b03898116600483015230602483015292935060009284921690637817ee4f90604401602060405180830381865afa158015612d3f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612d639190615178565b612d6d91906150e6565b979650505050505050565b6000600160801b8310612dcd5760405162461bcd60e51b815260206004820152601c60248201527f5f612073686f756c64206265206c657373207468616e20325e313238000000006044820152606401610ef7565b50600160801b82825b8015612e195780600116600003612dfb57612df18283613bdc565b915060011c612dd6565b612e058383613bdc565b9250612e126001826150e6565b9050612dd6565b505092915050565b61139f613010565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615612e5c57610e0b83613cdb565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015612eb6575060408051601f3d908101601f19168201909252612eb391810190615178565b60015b612f285760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201527f6f6e206973206e6f7420555550530000000000000000000000000000000000006064820152608401610ef7565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8114612fbd5760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f7860448201527f6961626c655555494400000000000000000000000000000000000000000000006064820152608401610ef7565b50610e0b838383613d99565b60006001600160a01b03821615612fe1576001610d8a565b600092915050565b6000612ff86298968083615131565b606954606b546130089190615131565b111592915050565b6033546001600160a01b0316331461103f5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610ef7565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6075546000906001600160a01b03166130d757506001919050565b6075546040517f42a987a00000000000000000000000000000000000000000000000000000000081526001600160a01b038481166004830152306024830152909116906342a987a090604401602060405180830381865afa158015613140573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d8a919061515b565b6000808290506131a96040518060400160405280601281526020017f504f494e545320544f20494e435245415345000000000000000000000000000081525082613a81565b607454604051637817ee4f60e01b81526001600160a01b0386811660048301523060248301526000921690637817ee4f90604401602060405180830381865afa1580156131fa573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061321e9190615178565b905061325f6040518060400160405280600b81526020017f4d454d424552504f57455200000000000000000000000000000000000000000081525082613a81565b60735461326c8383615148565b1115613283576073546132809082906150e6565b91505b6132c26040518060400160405280601681526020017f504f494e545320544f20494e43524541534520454e440000000000000000000081525083613a81565b509392505050565b6074546040516316308e2560e11b81526001600160a01b0384811660048301526000928392859290911690632c611c4a90602401602060405180830381865afa15801561331b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061333f9190615178565b6133499190615148565b607454604080516336d8759760e21b815290519293506012926001600160a01b039092169163db61d65c916004808201926020929091908290030181865afa158015613399573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906133bd9190615191565b6001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015613416575060408051601f3d908101601f191682019092526134139181019061566e565b60015b61345d576134586040518060400160405280601581526020017f4572726f722067657474696e6720646563696d616c0000000000000000000000815250613a10565b613463565b60ff1690505b600061347d61347383600a615775565b612ce49085615131565b607454604051637817ee4f60e01b81526001600160a01b03898116600483015230602483015292935060009290911690637817ee4f90604401602060405180830381865afa1580156134d3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906134f79190615178565b9050600061350582846150e6565b98975050505050505050565b600080439050808460070154111561352b5761352b615781565b8084600701540361354157506000905080613562565b61355f84600701548261355491906150e6565b856003015485611182565b91505b9250929050565b6001600160a01b03811661139f576040517fe622e04000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6067805460ff19168215159081179091556040519081527fd94c9bc4d43c51d8dc345a016d8e3d994432fac68e72832e4cf3a616bd8efae090602001612713565b60006001600160a01b03821615613602576002610d8a565b600392915050565b6136126121a4565b6068541561364c576040517f439a74c900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80600003613686576040517f7fcce2a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b606855565b61369481613dbe565b61369d816130bc565b6136ba57604051630b72d6b160e31b815260040160405180910390fd5b60745460405163011de97360e61b81526001600160a01b038381166004830152306024830152600092169063477a5cc090604401602060405180830381865afa15801561370b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061372f919061515b565b905080613768576040517f5fccb67f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008380602001905181019061377e9190615797565b905061378a8382613ee4565b61379483826140a7565b50505050565b6040518181527f46aeb5d8770fc4474bc2dfa118fd2595f7fb33ce2cbce6f4e5a3dabfe0f7633990602001612713565b7fffffffffffffffffffffffff11111111111111111111111111111111111111126001600160a01b0384160161380457610e0b82826144cb565b610e0b8383836144e7565b600054610100900460ff1661387a5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401610ef7565b61103f3361306a565b6001600160a01b0381166000908152607860209081526040808320805482518185028101850190935280835291929091908301828280156138e357602002820191906000526020600020905b8154815260200190600101908083116138cf575b5050505050905060005b8151811015610e0b57600082828151811061390a5761390a615842565b60200260200101519050600060766000838152602001908152602001600020905061393482614536565b156139fb576001600160a01b038516600090815260098201602052604081208054908290556002830180549192839261396e9084906150e6565b9250508190555080606e600082825461398791906150e6565b9091555061399790508282612592565b60028201546003830154604080516001600160a01b038a1681526020810187905260008183015260608101939093526080830191909152517f0227f642ddcf2042ceaeafadb9d540f432072c00cd4862881667168dcc14710f9181900360a00190a1505b50508080613a0890615547565b9150506138ed565b61139f81604051602401613a24919061534c565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f41304fac0000000000000000000000000000000000000000000000000000000017905261456f565b610fac8282604051602401613a97929190615858565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f9710a9d00000000000000000000000000000000000000000000000000000000017905261456f565b600081600003613b0657506000919050565b60006001613b1384614590565b901c6001901b90506001818481613b2c57613b2c6150f9565b048201901c90506001818481613b4457613b446150f9565b048201901c90506001818481613b5c57613b5c6150f9565b048201901c90506001818481613b7457613b746150f9565b048201901c90506001818481613b8c57613b8c6150f9565b048201901c90506001818481613ba457613ba46150f9565b048201901c90506001818481613bbc57613bbc6150f9565b048201901c905061105d81828581613bd657613bd66150f9565b04614624565b6000600160801b831115613c585760405162461bcd60e51b815260206004820152602860248201527f5f612073686f756c64206265206c657373207468616e206f7220657175616c2060448201527f746f20325e3132380000000000000000000000000000000000000000000000006064820152608401610ef7565b600160801b8210613cab5760405162461bcd60e51b815260206004820152601c60248201527f5f622073686f756c64206265206c657373207468616e20325e313238000000006044820152606401610ef7565b60806f80000000000000000000000000000000613cc88486615131565b613cd29190615148565b901c9392505050565b6001600160a01b0381163b613d585760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201527f6f74206120636f6e7472616374000000000000000000000000000000000000006064820152608401610ef7565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b613da28361463a565b600082511180613daf5750805b15610e0b57613794838361467a565b6001600160a01b038116613dfe576040517fd1f2828800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6074546001600160a01b0316613e2757604051635df4b1ef60e01b815260040160405180910390fd5b6074546040517fa230c5240000000000000000000000000000000000000000000000000000000081526001600160a01b0383811660048301529091169063a230c52490602401602060405180830381865afa158015613e8a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613eae919061515b565b61139f576040517f6a5cfb6d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000805b8251811015613fa157828181518110613f0357613f03615842565b60200260200101516000015160000315613f8f576000838281518110613f2b57613f2b615842565b6020026020010151600001519050613f4281614536565b613f625760405163c1d17bef60e01b815260048101829052602401610ef7565b838281518110613f7457613f74615842565b60200260200101516020015183613f8b919061587a565b9250505b80613f9981615547565b915050613ee8565b506001600160a01b038316600090815260776020526040812054613fc5908361469f565b607454604051637817ee4f60e01b81526001600160a01b03878116600483015230602483015292935060009290911690637817ee4f90604401602060405180830381865afa15801561401b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061403f9190615178565b905080821115614085576040517fd64182fe0000000000000000000000000000000000000000000000000000000081526004810183905260248101829052604401610ef7565b506001600160a01b039093166000908152607760205260409020929092555050565b606060005b82518110156137945760008382815181106140c9576140c9615842565b60200260200101516000015190508251600003614125576040805160018082528183019092529060208083019080368337019050509250808360008151811061411457614114615842565b602002602001018181525050614278565b6000805b84518110156141a4578285828151811061414557614145615842565b602002602001015103614192576040517fadebb154000000000000000000000000000000000000000000000000000000008152600481018490526024810182905260019250604401610ef7565b8061419c81615547565b915050614129565b5080614276576000845160016141ba9190615148565b67ffffffffffffffff8111156141d2576141d26149b6565b6040519080825280602002602001820160405280156141fb578160200160208202803683370190505b50905060005b85518110156142535785818151811061421c5761421c615842565b602002602001015182828151811061423657614236615842565b60209081029190910101528061424b81615547565b915050614201565b50828186518151811061426857614268615842565b602090810291909101015293505b505b600084838151811061428c5761428c615842565b60209081029190910181015181015160008481526076835260408082206001600160a01b038b168352600981019094528120549193506142cc828561469f565b6001600160a01b038a1660009081526009850160205260408120829055909150805b6001600160a01b038b166000908152607860205260409020548110156143655784546001600160a01b038c16600090815260786020526040902080548390811061433a5761433a615842565b9060005260206000200154036143535760019150614365565b8061435d81615547565b9150506142ee565b508061439b576001600160a01b038a16600090815260786020908152604082208654815460018101835591845291909220909101555b8183116143eb576143ac83836150e6565b606e60008282546143bd9190615148565b909155506143cd905083836150e6565b8460020160008282546143e09190615148565b9091555061442f9050565b6143f582846150e6565b606e600082825461440691906150e6565b90915550614416905082846150e6565b84600201600082825461442991906150e6565b90915550505b8360070154600003614446574360078501556144b2565b6144508484612592565b60028401546003850154604080516001600160a01b038e168152602081018a9052908101859052606081019290925260808201527f0227f642ddcf2042ceaeafadb9d540f432072c00cd4862881667168dcc14710f9060a00160405180910390a15b50505050505080806144c390615547565b9150506140ac565b60008060008084865af1610fac5763b12d13eb6000526004601cfd5b81601452806034526fa9059cbb00000000000000000000000060005260206000604460106000875af13d15600160005114171661452c576390b8ec186000526004601cfd5b6000603452505050565b60008181526076602052604081205415801590610d8a5750506000908152607660205260409020600501546001600160a01b0316151590565b80516a636f6e736f6c652e6c6f67602083016000808483855afa5050505050565b600080608083901c156145a557608092831c92015b604083901c156145b757604092831c92015b602083901c156145c957602092831c92015b601083901c156145db57601092831c92015b600883901c156145ed57600892831c92015b600483901c156145ff57600492831c92015b600283901c1561461157600292831c92015b600183901c15610d8a5760010192915050565b6000818310614633578161105d565b5090919050565b61464381613cdb565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b606061105d83836040518060600160405280602781526020016158b7602791396146fa565b6000806146ac838561587a565b9050600081121561105d576040517f3bbc7142000000000000000000000000000000000000000000000000000000008152600481018590526024810184905260448101829052606401610ef7565b6060600080856001600160a01b031685604051614717919061589a565b600060405180830381855af49150503d8060008114614752576040519150601f19603f3d011682016040523d82523d6000602084013e614757565b606091505b509150915061476886838387614772565b9695505050505050565b606083156147e15782516000036147da576001600160a01b0385163b6147da5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610ef7565b50816147eb565b6147eb83836147f3565b949350505050565b8151156148035781518083602001fd5b8060405162461bcd60e51b8152600401610ef7919061534c565b60006020828403121561482f57600080fd5b5035919050565b634e487b7160e01b600052602160045260246000fd5b6005811061485c5761485c614836565b9052565b60005b8381101561487b578181015183820152602001614863565b50506000910152565b6000815180845261489c816020860160208601614860565b601f01601f19169290920160200192915050565b8051825260006020820151604060208501526147eb6040850182614884565b60006101408c83528b60208401528a60408401528960608401526001600160a01b03808a16608085015280891660a085015280881660c0850152508560e084015261491e61010084018661484c565b80610120840152614931818401856148b0565b9d9c50505050505050505050505050565b60006020828403121561495457600080fd5b81357fffffffff000000000000000000000000000000000000000000000000000000008116811461105d57600080fd5b6001600160a01b038116811461139f57600080fd5b6000602082840312156149ab57600080fd5b813561105d81614984565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff811182821017156149ef576149ef6149b6565b60405290565b604051610120810167ffffffffffffffff811182821017156149ef576149ef6149b6565b60405160c0810167ffffffffffffffff811182821017156149ef576149ef6149b6565b60405160a0810167ffffffffffffffff811182821017156149ef576149ef6149b6565b604051601f8201601f1916810167ffffffffffffffff81118282101715614a8857614a886149b6565b604052919050565b600067ffffffffffffffff821115614aaa57614aaa6149b6565b5060051b60200190565b600082601f830112614ac557600080fd5b81356020614ada614ad583614a90565b614a5f565b82815260059290921b84018101918181019086841115614af957600080fd5b8286015b84811015614b1d578035614b1081614984565b8352918301918301614afd565b509695505050505050565b600067ffffffffffffffff821115614b4257614b426149b6565b50601f01601f191660200190565b6000614b5e614ad584614b28565b9050828152838383011115614b7257600080fd5b828260208301376000602084830101529392505050565b600082601f830112614b9a57600080fd5b61105d83833560208501614b50565b600080600060608486031215614bbe57600080fd5b833567ffffffffffffffff80821115614bd657600080fd5b614be287838801614ab4565b94506020860135915080821115614bf857600080fd5b50614c0586828701614b89565b9250506040840135614c1681614984565b809150509250925092565b60008060408385031215614c3457600080fd5b823567ffffffffffffffff811115614c4b57600080fd5b614c5785828601614b89565b9250506020830135614c6881614984565b809150509250929050565b6004811061485c5761485c614836565b60208101610d8a8284614c73565b60008060408385031215614ca457600080fd5b8235614caf81614984565b946020939093013593505050565b600080600060608486031215614cd257600080fd5b505081359360208301359350604090920135919050565b6003811061485c5761485c614836565b60208101610d8a8284614ce9565b60008060408385031215614d1a57600080fd5b8235614d2581614984565b9150602083013567ffffffffffffffff811115614d4157600080fd5b614d4d85828601614b89565b9150509250929050565b60208152600061105d60208301846148b0565b60008060408385031215614d7d57600080fd5b823567ffffffffffffffff80821115614d9557600080fd5b614da186838701614ab4565b9350602091508185013581811115614db857600080fd5b8501601f81018713614dc957600080fd5b8035614dd7614ad582614a90565b81815260059190911b82018401908481019089831115614df657600080fd5b8584015b83811015614e2e57803586811115614e125760008081fd5b614e208c8983890101614b89565b845250918601918601614dfa565b508096505050505050509250929050565b602080825282518282018190526000919060409081850190868401855b82811015614e8a57815180516001600160a01b03168552860151868501529284019290850190600101614e5c565b5091979650505050505050565b801515811461139f57600080fd5b600060208284031215614eb757600080fd5b813561105d81614e97565b6001600160a01b038b811682528a811660208301528916604082015260608101889052608081018790526101408101614efe60a083018861484c565b8560c08301528460e083015283610100830152826101208301529b9a5050505050505050505050565b60008060408385031215614f3a57600080fd5b823591506020830135614c6881614984565b60006020808385031215614f5f57600080fd5b823567ffffffffffffffff811115614f7657600080fd5b8301601f81018513614f8757600080fd5b8035614f95614ad582614a90565b81815260069190911b82018301908381019087831115614fb457600080fd5b928401925b82841015612d6d5760408489031215614fd25760008081fd5b614fda6149cc565b843581528585013586820152825260409093019290840190614fb9565b602081016007831061500b5761500b614836565b91905290565b6000806040838503121561502457600080fd5b82359150602083013567ffffffffffffffff811115614d4157600080fd5b6000806040838503121561505557600080fd5b823561506081614984565b9150602083013567ffffffffffffffff81111561507c57600080fd5b8301601f8101851361508d57600080fd5b614d4d85823560208401614b50565b600181811c908216806150b057607f821691505b60208210810361171157634e487b7160e01b600052602260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b81810381811115610d8a57610d8a6150d0565b634e487b7160e01b600052601260045260246000fd5b60008261512c57634e487b7160e01b600052601260045260246000fd5b500490565b8082028115828204841417610d8a57610d8a6150d0565b80820180821115610d8a57610d8a6150d0565b60006020828403121561516d57600080fd5b815161105d81614e97565b60006020828403121561518a57600080fd5b5051919050565b6000602082840312156151a357600080fd5b815161105d81614984565b80516151b981614984565b919050565b8051600381106151b957600080fd5b8051600481106151b957600080fd5b6000602082840312156151ee57600080fd5b6040516020810181811067ffffffffffffffff82111715615211576152116149b6565b6040529151825250919050565b6000610120828403121561523157600080fd5b6152396149f5565b615242836151ae565b81526020830151602082015260408301516040820152606083015160608201526080830151608082015261527860a084016151be565b60a082015261528960c084016151cd565b60c082015261529b8460e085016151dc565b60e08201526101006152ae8185016151ae565b908201529392505050565b6000610140820190508382526001600160a01b038351166020830152602083015160408301526040830151606083015260608301516080830152608083015160a083015260a083015161530f60c0840182614ce9565b5060c083015161532260e0840182614c73565b5060e08301515161010083810191909152909201516001600160a01b031661012090910152919050565b60208152600061105d6020830184614884565b60006040828403121561537157600080fd5b6153796149cc565b905081518152602082015167ffffffffffffffff81111561539957600080fd5b8201601f810184136153aa57600080fd5b80516153b8614ad582614b28565b8181528560208385010111156153cd57600080fd5b6153de826020830160208601614860565b602084015250909392505050565b6000602082840312156153fe57600080fd5b815167ffffffffffffffff8082111561541657600080fd5b9083019060c0828603121561542a57600080fd5b615432614a19565b82518152602083015161544481614984565b6020820152604083015161545781614984565b604082015260608301518281111561546e57600080fd5b61547a8782860161535f565b6060830152506080830151608082015260a083015160a082015280935050505092915050565b6000602082840312156154b257600080fd5b815167ffffffffffffffff808211156154ca57600080fd5b9083019060a082860312156154de57600080fd5b6154e6614a3c565b8251815260208301516154f881614984565b602082015260408381015190820152606083015161551581614984565b606082015260808301518281111561552c57600080fd5b6155388782860161535f565b60808301525095945050505050565b600060018201615559576155596150d0565b5060010190565b601f821115610e0b57600081815260208120601f850160051c810160208610156155875750805b601f850160051c820191505b818110156155a657828155600101615593565b505050505050565b815167ffffffffffffffff8111156155c8576155c86149b6565b6155dc816155d6845461509c565b84615560565b602080601f83116001811461561157600084156155f95750858301515b600019600386901b1c1916600185901b1785556155a6565b600085815260208120601f198616915b8281101561564057888601518255948401946001909101908401615621565b508582101561565e5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60006020828403121561568057600080fd5b815160ff8116811461105d57600080fd5b600181815b808511156156cc5781600019048211156156b2576156b26150d0565b808516156156bf57918102915b93841c9390800290615696565b509250929050565b6000826156e357506001610d8a565b816156f057506000610d8a565b816001811461570657600281146157105761572c565b6001915050610d8a565b60ff841115615721576157216150d0565b50506001821b610d8a565b5060208310610133831016604e8410600b841016171561574f575081810a610d8a565b6157598383615691565b806000190482111561576d5761576d6150d0565b029392505050565b600061105d83836156d4565b634e487b7160e01b600052600160045260246000fd5b600060208083850312156157aa57600080fd5b825167ffffffffffffffff8111156157c157600080fd5b8301601f810185136157d257600080fd5b80516157e0614ad582614a90565b81815260069190911b820183019083810190878311156157ff57600080fd5b928401925b82841015612d6d576040848903121561581d5760008081fd5b6158256149cc565b845181528585015186820152825260409093019290840190615804565b634e487b7160e01b600052603260045260246000fd5b60408152600061586b6040830185614884565b90508260208301529392505050565b8082018281126000831280158216821582161715612e1957612e196150d0565b600082516158ac818460208701614860565b919091019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220c48cc12d179438205fdfccfa347c3f7a42e1628b0464d75d22b5c73259d5a99664736f6c6343000813003360806040526040516104ee3803806104ee833981016040819052610022916102de565b61002e82826000610035565b50506103fb565b61003e83610061565b60008251118061004b5750805b1561005c5761005a83836100a1565b505b505050565b61006a816100cd565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606100c683836040518060600160405280602781526020016104c760279139610180565b9392505050565b6001600160a01b0381163b61013f5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080856001600160a01b03168560405161019d91906103ac565b600060405180830381855af49150503d80600081146101d8576040519150601f19603f3d011682016040523d82523d6000602084013e6101dd565b606091505b5090925090506101ef868383876101f9565b9695505050505050565b60608315610268578251600003610261576001600160a01b0385163b6102615760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610136565b5081610272565b610272838361027a565b949350505050565b81511561028a5781518083602001fd5b8060405162461bcd60e51b815260040161013691906103c8565b634e487b7160e01b600052604160045260246000fd5b60005b838110156102d55781810151838201526020016102bd565b50506000910152565b600080604083850312156102f157600080fd5b82516001600160a01b038116811461030857600080fd5b60208401519092506001600160401b038082111561032557600080fd5b818501915085601f83011261033957600080fd5b81518181111561034b5761034b6102a4565b604051601f8201601f19908116603f01168101908382118183101715610373576103736102a4565b8160405282815288602084870101111561038c57600080fd5b61039d8360208301602088016102ba565b80955050505050509250929050565b600082516103be8184602087016102ba565b9190910192915050565b60208152600082518060208401526103e78160408501602087016102ba565b601f01601f19169190910160400192915050565b60be806104096000396000f3fe608060405236601057600e6013565b005b600e5b601f601b6021565b6065565b565b600060607f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b905090565b3660008037600080366000845af43d6000803e8080156083573d6000f35b3d6000fdfea26469706673582212204ff6082523a0497cb45cb43d3d639dba31b196359b7f035ed946d507d89a80c764736f6c63430008130033416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c656467617264656e73466163746f72792e67657447617264656e7346656552656365697665722829416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a264697066735822122021ab31b51ced700c35259f0eb0c59f2095f1fbcf2c8bd0efe59a0682d6a8b74164736f6c6343000813003360806040526040516104ee3803806104ee833981016040819052610022916102de565b61002e82826000610035565b50506103fb565b61003e83610061565b60008251118061004b5750805b1561005c5761005a83836100a1565b505b505050565b61006a816100cd565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606100c683836040518060600160405280602781526020016104c760279139610180565b9392505050565b6001600160a01b0381163b61013f5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080856001600160a01b03168560405161019d91906103ac565b600060405180830381855af49150503d80600081146101d8576040519150601f19603f3d011682016040523d82523d6000602084013e6101dd565b606091505b5090925090506101ef868383876101f9565b9695505050505050565b60608315610268578251600003610261576001600160a01b0385163b6102615760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610136565b5081610272565b610272838361027a565b949350505050565b81511561028a5781518083602001fd5b8060405162461bcd60e51b815260040161013691906103c8565b634e487b7160e01b600052604160045260246000fd5b60005b838110156102d55781810151838201526020016102bd565b50506000910152565b600080604083850312156102f157600080fd5b82516001600160a01b038116811461030857600080fd5b60208401519092506001600160401b038082111561032557600080fd5b818501915085601f83011261033957600080fd5b81518181111561034b5761034b6102a4565b604051601f8201601f19908116603f01168101908382118183101715610373576103736102a4565b8160405282815288602084870101111561038c57600080fd5b61039d8360208301602088016102ba565b80955050505050509250929050565b600082516103be8184602087016102ba565b9190910192915050565b60208152600082518060208401526103e78160408501602087016102ba565b601f01601f19169190910160400192915050565b60be806104096000396000f3fe608060405236601057600e6013565b005b600e5b601f601b6021565b6065565b565b600060607f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b905090565b3660008037600080366000845af43d6000803e8080156083573d6000f35b3d6000fdfea26469706673582212204ff6082523a0497cb45cb43d3d639dba31b196359b7f035ed946d507d89a80c764736f6c63430008130033416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a26469706673582212205ada0082260b3b15898752a71c29f08079434fb05baafa3e61ee81deb8b4116b64736f6c63430008130033","sourceMap":"422:639:137:-:0;;;1088:4:68;1045:48;;422:639:137;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405260043610620001245760003560e01c80638a16135f11620000b2578063b5b3ca2c116200007d578063c4d66de81162000060578063c4d66de8146200030e578063f2fde38b1462000333578063f5016b5e146200035857600080fd5b8063b5b3ca2c14620002c7578063b8bed90114620002ec57600080fd5b80638a16135f14620002315780638da5cb5b146200026f578063987435be146200028f578063affed0e014620002af57600080fd5b80635a2c8ace11620000f35780635a2c8ace14620001b75780635cd8a76b14620001dc578063715018a614620001f45780638279c7db146200020c57600080fd5b80630a992e0c14620001295780633659cfe614620001615780634f1ef286146200018857806352d1902d146200019f575b600080fd5b3480156200013657600080fd5b506200014e6200014836600462001470565b620003a9565b6040519081526020015b60405180910390f35b3480156200016e57600080fd5b50620001866200018036600462001470565b6200042b565b005b620001866200019936600462001550565b620005af565b348015620001ac57600080fd5b506200014e62000724565b348015620001c457600080fd5b5062000186620001d6366004620015cc565b620007eb565b348015620001e957600080fd5b50620001866200085c565b3480156200020157600080fd5b506200018662000956565b3480156200021957600080fd5b50620001866200022b36600462001470565b6200096e565b3480156200023e57600080fd5b5062000256620002503660046200169f565b620009df565b6040516001600160a01b03909116815260200162000158565b3480156200027c57600080fd5b506033546001600160a01b031662000256565b3480156200029c57600080fd5b506067546001600160a01b031662000256565b348015620002bc57600080fd5b506200014e60655481565b348015620002d457600080fd5b5062000186620002e636600462001811565b62000b64565b348015620002f957600080fd5b5060675462000256906001600160a01b031681565b3480156200031b57600080fd5b50620001866200032d36600462001470565b62000bc0565b3480156200034057600080fd5b50620001866200035236600462001470565b62000d51565b3480156200036557600080fd5b50620003986200037736600462001470565b6001600160a01b031660009081526066602052604090206001015460ff1690565b604051901515815260200162000158565b6001600160a01b03811660009081526066602052604081206001015460ff166200040f576040517ff5a6943d0000000000000000000000000000000000000000000000000000000081526001600160a01b03831660048201526024015b60405180910390fd5b506001600160a01b031660009081526066602052604090205490565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163003620004ba5760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b19195b1959d85d1958d85b1b60a21b606482015260840162000406565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316620005167f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b6001600160a01b031614620005835760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b6163746976652070726f787960a01b606482015260840162000406565b6200058e8162000de4565b60408051600080825260208201909252620005ac9183919062000dee565b50565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036200063e5760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b19195b1959d85d1958d85b1b60a21b606482015260840162000406565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166200069a7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b6001600160a01b031614620007075760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b6163746976652070726f787960a01b606482015260840162000406565b620007128262000de4565b620007208282600162000dee565b5050565b6000306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614620007c65760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c0000000000000000606482015260840162000406565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc90565b620007f562000f9f565b6001600160a01b038216600081815260666020908152604091829020600101805460ff19168515159081179091558251938452908301527fecdcd3502799a6c41864ea2682236184e876f63e10f8d56c7768a3d501e89f6291015b60405180910390a15050565b600054600290610100900460ff161580156200087f575060005460ff8083169116105b620008f35760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a6564000000000000000000000000000000000000606482015260840162000406565b6000805461ffff191660ff8316176101001790556200091162000ffb565b6000805461ff001916905560405160ff821681527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498906020015b60405180910390a150565b6200096062000f9f565b6200096c600062001072565b565b6200097862000f9f565b6200098381620010d1565b6067805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0383169081179091556040519081527fbdf37c276f641820b141429d245add2552b4118c0866e5a78638e3de5ef18d9d906020016200094b565b6065805460009182620009f28362001840565b9091555060808301523060a083015260405160009062000a12906200142c565b604051809103906000f08015801562000a2f573d6000803e3d6000fd5b506040517f96f0adec000000000000000000000000000000000000000000000000000000009062000a65908690602401620018dd565b60408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff0000000000000000000000000000000000000000000000000000000090941693909317909252905162000ad1906200143a565b62000ade92919062001a28565b604051809103906000f08015801562000afb573d6000803e3d6000fd5b506001600160a01b0381166000818152606660209081526040918290206001908101805460ff19169091179055905191825291925082917fb4108a188495a1a681cdc0750af164011025a1773b41e93ff3e628adc037dc29910160405180910390a19392505050565b62000b6e62000f9f565b6001600160a01b038216600081815260666020908152604091829020849055815192835282018390527fa1ee82e4f177a8017f33ddddac05b7ceab1de9d46f7195e15e8aa2e8b88f3b1c910162000850565b600054610100900460ff161580801562000be15750600054600160ff909116105b8062000bfd5750303b15801562000bfd575060005460ff166001145b62000c715760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a6564000000000000000000000000000000000000606482015260840162000406565b6000805460ff19166001179055801562000c95576000805461ff0019166101001790555b62000c9f62000ffb565b600060655562000caf82620010d1565b6067805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0384169081179091556040519081527fbdf37c276f641820b141429d245add2552b4118c0866e5a78638e3de5ef18d9d9060200160405180910390a1801562000720576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200162000850565b62000d5b62000f9f565b6001600160a01b03811662000dd95760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f6464726573730000000000000000000000000000000000000000000000000000606482015260840162000406565b620005ac8162001072565b620005ac62000f9f565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff161562000e295762000e248362001112565b505050565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa92505050801562000e86575060408051601f3d908101601f1916820190925262000e839181019062001a4c565b60015b62000efa5760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201527f6f6e206973206e6f742055555053000000000000000000000000000000000000606482015260840162000406565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc811462000f915760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f7860448201527f6961626c65555549440000000000000000000000000000000000000000000000606482015260840162000406565b5062000e24838383620011df565b6033546001600160a01b031633146200096c5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640162000406565b600054610100900460ff16620010685760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b606482015260840162000406565b6200096c62001210565b603380546001600160a01b0383811673ffffffffffffffffffffffffffffffffffffffff19831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b038116620005ac576040517fe622e04000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0381163b620011915760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201527f6f74206120636f6e747261637400000000000000000000000000000000000000606482015260840162000406565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b620011ea8362001288565b600082511180620011f85750805b1562000e24576200120a8383620012ca565b50505050565b600054610100900460ff166200127d5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b606482015260840162000406565b6200096c3362001072565b620012938162001112565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6060620012f283836040518060600160405280602781526020016200da3760279139620012f9565b9392505050565b6060600080856001600160a01b03168560405162001318919062001a66565b600060405180830381855af49150503d806000811462001355576040519150601f19603f3d011682016040523d82523d6000602084013e6200135a565b606091505b50915091506200136d8683838762001377565b9695505050505050565b60608315620013eb578251600003620013e3576001600160a01b0385163b620013e35760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640162000406565b5081620013f7565b620013f78383620013ff565b949350505050565b815115620014105781518083602001fd5b8060405162461bcd60e51b815260040162000406919062001a84565b61baaf8062001a9a83390190565b6104ee806200d54983390190565b6001600160a01b0381168114620005ac57600080fd5b80356200146b8162001448565b919050565b6000602082840312156200148357600080fd5b8135620012f28162001448565b634e487b7160e01b600052604160045260246000fd5b6040516101a0810167ffffffffffffffff81118282101715620014cd57620014cd62001490565b60405290565b600067ffffffffffffffff80841115620014f157620014f162001490565b604051601f8501601f19908116603f011681019082821181831017156200151c576200151c62001490565b816040528093508581528686860111156200153657600080fd5b858560208301376000602087830101525050509392505050565b600080604083850312156200156457600080fd5b8235620015718162001448565b9150602083013567ffffffffffffffff8111156200158e57600080fd5b8301601f81018513620015a057600080fd5b620015b185823560208401620014d3565b9150509250929050565b803580151581146200146b57600080fd5b60008060408385031215620015e057600080fd5b8235620015ed8162001448565b9150620015fd60208401620015bb565b90509250929050565b600082601f8301126200161857600080fd5b620012f283833560208501620014d3565b6000604082840312156200163c57600080fd5b6040516040810167ffffffffffffffff828210818311171562001663576200166362001490565b816040528293508435835260208501359150808211156200168357600080fd5b50620016928582860162001606565b6020830152505092915050565b600060208284031215620016b257600080fd5b813567ffffffffffffffff80821115620016cb57600080fd5b908301906101a08286031215620016e157600080fd5b620016eb620014a6565b620016f6836200145e565b815262001706602084016200145e565b60208201526040830135604082015260608301356060820152608083013560808201526200173760a084016200145e565b60a08201526200174a60c084016200145e565b60c082015260e0830135828111156200176257600080fd5b620017708782860162001629565b60e083015250610100620017868185016200145e565b9082015261012083810135838111156200179f57600080fd5b620017ad8882870162001606565b828401525050610140620017c3818501620015bb565b908201526101608381013583811115620017dc57600080fd5b620017ea8882870162001606565b8284015250506101809150620018028284016200145e565b91810191909152949350505050565b600080604083850312156200182557600080fd5b8235620018328162001448565b946020939093013593505050565b6000600182016200186157634e487b7160e01b600052601160045260246000fd5b5060010190565b60005b83811015620018855781810151838201526020016200186b565b50506000910152565b60008151808452620018a881602086016020860162001868565b601f01601f19169290920160200192915050565b805182526000602082015160406020850152620013f760408501826200188e565b60208152620018f86020820183516001600160a01b03169052565b600060208301516200191560408401826001600160a01b03169052565b506040830151606083015260608301516080830152608083015160a083015260a08301516200194f60c08401826001600160a01b03169052565b5060c08301516001600160a01b03811660e08401525060e08301516101a06101008181860152620019856101c0860184620018bc565b90860151909250610120620019a4868201836001600160a01b03169052565b80870151915050601f19610140818786030181880152620019c685846200188e565b945080880151925050610160620019e08188018415159052565b80880151925050610180818786030181880152620019ff85846200188e565b9450808801519250505062001a1e828601826001600160a01b03169052565b5090949350505050565b6001600160a01b0383168152604060208201526000620013f760408301846200188e565b60006020828403121562001a5f57600080fd5b5051919050565b6000825162001a7a81846020870162001868565b9190910192915050565b602081526000620012f260208301846200188e56fe60a06040523060805234801561001457600080fd5b5060805161ba626200004d600039600081816119c001528181611a4701528181611bb501528181611c3c0152611d29015261ba626000f3fe608060405260043610620003ef5760003560e01c80636c53db9a116200020f578063a217fddf1162000123578063d547741f11620000ad578063ebd7dc521162000078578063ebd7dc521462000cfd578063f2fde38b1462000d22578063f86c5f891462000d47578063ff6409ef1462000d6a57600080fd5b8063d547741f1462000c7a578063d6d8428d1462000c9f578063d7050f071462000cc2578063db61d65c1462000cda57600080fd5b8063b64e39af11620000ee578063b64e39af1462000c0b578063b99b43701462000c32578063bc063e1a1462000c4a578063c6d572ae1462000c6257600080fd5b8063a217fddf1462000b51578063a230c5241462000b68578063b3f006741462000bd1578063b5058c501462000bf357600080fd5b806382d6a1e711620001a557806391d14854116200017057806391d148541462000a7557806396f0adec1462000abf57806397991cfa1462000ae4578063a0cf0aea1462000b2757600080fd5b806382d6a1e714620009a257806388cfe68414620009c75780638961be6b1462000a3d5780638da5cb5b1462000a5557600080fd5b8063733a2d1f11620001e6578063733a2d1f14620008e65780637817ee4f146200091c57806378a0b8a914620009675780637b103999146200097f57600080fd5b80636c53db9a1462000886578063715018a614620008a957806373265c3714620008c157600080fd5b80633396045911620003075780634f1ef286116200029d5780635ecf71c511620002685780635ecf71c514620007dc57806365e3864c14620008015780636871eb4d146200083e57806368decabb146200086357600080fd5b80634f1ef286146200076557806352d1902d146200077c578063559de05d14620007945780635c94e4d214620007b957600080fd5b80633659cfe611620002de5780633659cfe614620006a6578063397e254314620006cb5780633a871fe114620006f0578063477a5cc0146200072557600080fd5b80633396045914620006505780633517aa7d146200066957806336568abe146200068157600080fd5b8063223e547911620003895780632b38c69c11620003545780632b38c69c146200058a5780632c611c4a14620005c85780632f2ff15d146200060657806331f61bca146200062b57600080fd5b8063223e547914620004f457806322bcf9991462000519578063248a9ca3146200053e57806328c309e9146200057257600080fd5b80630d12bbdb11620003ca5780630d12bbdb14620004675780630d4a8b49146200048e578063175188e814620004b35780631f787d2814620004d857600080fd5b806301ffc9a714620003f45780630331383c146200042e57806308386eba146200044f575b600080fd5b3480156200040157600080fd5b50620004196200041336600462004b7e565b62000d8f565b60405190151581526020015b60405180910390f35b3480156200043b57600080fd5b5060fc545b60405190815260200162000425565b3480156200045c57600080fd5b506200044060fe5481565b3480156200047457600080fd5b506200048c6200048636600462004baa565b62000de0565b005b3480156200049b57600080fd5b506200048c620004ad36600462004bec565b62000e6f565b348015620004c057600080fd5b506200048c620004d236600462004c2a565b620011f7565b348015620004e557600080fd5b5060fb54620004199060ff1681565b3480156200050157600080fd5b506200048c6200051336600462004c2a565b6200120f565b3480156200052657600080fd5b506200048c6200053836600462004bec565b62001224565b3480156200054b57600080fd5b50620004406200055d36600462004baa565b600090815260c9602052604090206001015490565b3480156200057f57600080fd5b506200044062001340565b3480156200059757600080fd5b50620005af620005a936600462004c4a565b6200143e565b6040516001600160a01b03909116815260200162000425565b348015620005d557600080fd5b5062000440620005e736600462004c2a565b6001600160a01b0316600090815261010c602052604090206001015490565b3480156200061357600080fd5b506200048c6200062536600462004c79565b62001478565b3480156200063857600080fd5b506200048c6200064a36600462004baa565b620014a6565b3480156200065d57600080fd5b50620004406101025481565b3480156200067657600080fd5b506200048c620014e6565b3480156200068e57600080fd5b506200048c620006a036600462004c79565b62001922565b348015620006b357600080fd5b506200048c620006c536600462004c2a565b620019b6565b348015620006d857600080fd5b506200048c620006ea36600462004c2a565b62001b37565b348015620006fd57600080fd5b50620004196200070f36600462004c2a565b61010a6020526000908152604090205460ff1681565b3480156200073257600080fd5b50620004196200074436600462004bec565b61010e60209081526000928352604080842090915290825290205460ff1681565b6200048c6200077636600462004df9565b62001bab565b3480156200078957600080fd5b506200044062001d1c565b348015620007a157600080fd5b506200048c620007b336600462004baa565b62001de3565b348015620007c657600080fd5b5061010154620005af906001600160a01b031681565b348015620007e957600080fd5b506200048c620007fb36600462004baa565b620020e2565b3480156200080e57600080fd5b50620004406200082036600462004bec565b61010b60209081526000928352604080842090915290825290205481565b3480156200084b57600080fd5b506200048c6200085d36600462004bec565b620024d3565b3480156200087057600080fd5b5061010354620005af906001600160a01b031681565b3480156200089357600080fd5b5061010654620005af906001600160a01b031681565b348015620008b657600080fd5b506200048c620026ee565b348015620008ce57600080fd5b506200048c620008e036600462004baa565b62002704565b348015620008f357600080fd5b50620004407f03be538b6391ddcd7f2649585cc95b120c9e2a613f70714fbb55345057d809fa81565b3480156200092957600080fd5b50620004406200093b36600462004bec565b6001600160a01b03918216600090815261010b6020908152604080832093909416825291909152205490565b3480156200097457600080fd5b506200044060fc5481565b3480156200098c57600080fd5b5061010454620005af906001600160a01b031681565b348015620009af57600080fd5b506200048c620009c136600462004baa565b620027a0565b348015620009d457600080fd5b5062000a15620009e636600462004c2a565b61010c602052600090815260409020805460018201546002909201546001600160a01b03909116919060ff1683565b604080516001600160a01b039094168452602084019290925215159082015260600162000425565b34801562000a4a57600080fd5b506200044060fd5481565b34801562000a6257600080fd5b506033546001600160a01b0316620005af565b34801562000a8257600080fd5b506200041962000a9436600462004c79565b600091825260c9602090815260408084206001600160a01b0393909316845291905290205460ff1690565b34801562000acc57600080fd5b506200048c62000ade36600462004efb565b6200285e565b34801562000af157600080fd5b5062000b0962000b0336600462005187565b62002ef4565b604080519283526001600160a01b0390911660208301520162000425565b34801562000b3457600080fd5b50620005af73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b34801562000b5e57600080fd5b5062000440600081565b34801562000b7557600080fd5b506200041962000b8736600462004c2a565b6001600160a01b03908116600090815261010c60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff161515910181905290565b34801562000bde57600080fd5b5060ff54620005af906001600160a01b031681565b34801562000c0057600080fd5b506200048c62002fd9565b34801562000c1857600080fd5b5062000c2362003029565b60405162000425919062005246565b34801562000c3f57600080fd5b506200048c620030c0565b34801562000c5757600080fd5b506200044062003232565b34801562000c6f57600080fd5b5062000c2362003244565b34801562000c8757600080fd5b506200048c62000c9936600462004c79565b62003254565b34801562000cac57600080fd5b5061010754620005af906001600160a01b031681565b34801562000ccf57600080fd5b506200044061271081565b34801562000ce757600080fd5b5061010554620005af906001600160a01b031681565b34801562000d0a57600080fd5b506200041962000d1c36600462004c2a565b6200327d565b34801562000d2f57600080fd5b506200048c62000d4136600462004c2a565b620032be565b34801562000d5457600080fd5b5061010054620005af906001600160a01b031681565b34801562000d7757600080fd5b5062000b0962000d893660046200525b565b62003351565b60006001600160e01b031982167f7965db0b00000000000000000000000000000000000000000000000000000000148062000dda57506301ffc9a760e01b6001600160e01b03198316145b92915050565b62000dea620034de565b62000df9612710600a620052f1565b81111562000e33576040517ffe925f7d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60fd8190556040518181527f611668bfcf654a99c33cdb66c29ec37a5aae5c1287d2d9715a24e18cb4d806d6906020015b60405180910390a150565b62000e7a8262003547565b62000e8581620035ac565b62000e908162003600565b6001600160a01b03808316600090815261010e602090815260408083209385168352929052205460ff161562000ef2576040517fd5b9bc9600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b03808316600090815261010c602090815260409182902082516060810184528154909416845260018101549184018290526002015460ff1615159183019190915260fc546003846001600160a01b031663c32921716040518163ffffffff1660e01b81526004016020604051808303816000875af115801562000f80573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000fa6919062005321565b600381111562000fba5762000fba6200530b565b036200103e5760405163782aadff60e01b81526001600160a01b0386811660048301526000602483015285169063782aadff906044016020604051808303816000875af115801562001010573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001036919062005341565b90506200113a565b6000846001600160a01b031663c32921716040518163ffffffff1660e01b81526004016020604051808303816000875af115801562001081573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620010a7919062005321565b6003811115620010bb57620010bb6200530b565b146200113a5760405163782aadff60e01b81526001600160a01b0386811660048301526024820184905285169063782aadff906044016020604051808303816000875af115801562001111573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001137919062005341565b90505b6001600160a01b03858116600081815261010b6020908152604080832094891680845294825280832086905583835261010e82528083208584528252808320805460ff1916600190811790915584845261010d83528184208054918201815584529282902090920180546001600160a01b0319168517905581519283528201929092529081018290527ff56fa57e85e169a12200d12d9921ec069b52e688f6d309d9dab7bceff54614ec9060600160405180910390a15050505050565b62001201620034de565b6200120c8162003641565b50565b62001219620034de565b6200120c816200369f565b6200122f8262003547565b6200123a8162003600565b6200124633826200374a565b6001600160a01b03808316600090815261010e602090815260408083209385168352929052205460ff16620012a7576040517fc12369dc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b03808316600081815261010e60209081526040808320948616808452948252808320805460ff1916905592825261010b815282822093825292909252812055620012f9828262003796565b604080516001600160a01b038085168252831660208201527ede109bef4619f7e2cf00c8e5a50ca55f8deb44f87087eed414a91dbf8d1d1b91015b60405180910390a15050565b610100546000906001600160a01b031681620013606127106064620052f1565b60fd5460fc54620013729190620052f1565b6200137e91906200535b565b90506000620013916127106064620052f1565b6040516302a64b8360e21b81523060048201526001600160a01b03851690630a992e0c90602401602060405180830381865afa158015620013d6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620013fc919062005341565b60fc546200140b9190620052f1565b6200141791906200535b565b9050808260fc546200142a91906200537e565b6200143691906200537e565b935050505090565b61010d60205281600052604060002081815481106200145c57600080fd5b6000918252602090912001546001600160a01b03169150829050565b600082815260c960205260409020600101546200149581620038cc565b620014a18383620038d8565b505050565b620014b0620034de565b60fc8190556040518181527f5bcc2c453001fb0e2ba6266d56ecb411e7c6e15c8f9c3d301f93dd36ad25726f9060200162000e64565b620014f06200397c565b33600081815261010c602052604081206101005490916001600160a01b0390911690620015216127106064620052f1565b60fd5460fc54620015339190620052f1565b6200153f91906200535b565b90506000620015526127106064620052f1565b6040516302a64b8360e21b81523060048201526001600160a01b03851690630a992e0c90602401602060405180830381865afa15801562001597573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620015bd919062005341565b60fc54620015cc9190620052f1565b620015d891906200535b565b6001600160a01b03808716600090815261010c60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff1615159101819052909150620019105760028401805460ff1916600190811790915560fc549085015560408051808201909152600b81527f67617264656e546f6b656e0000000000000000000000000000000000000000006020820152610105546200168d91906001600160a01b0316620039d7565b620016c68530838560fc54620016a491906200537e565b620016b091906200537e565b610105546001600160a01b031692919062003a39565b620017076040518060400160405280601281526020017f636f6d6d756e697479466565416d6f756e7400000000000000000000000000008152508362003abf565b81156200177a5760408051808201909152600b81527f6665655265636569766572000000000000000000000000000000000000000000602082015260ff546200175a91906001600160a01b0316620039d7565b60ff54610105546200177a916001600160a01b0391821691168462003b21565b620017bb6040518060400160405280601081526020017f67617264656e73466565416d6f756e74000000000000000000000000000000008152508262003abf565b8015620018c9576200184b6040518060600160405280602681526020016200b9e060269139846001600160a01b031663987435be6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200181f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001845919062005394565b620039d7565b620018c9836001600160a01b031663987435be6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200188e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620018b4919062005394565b610105546001600160a01b0316908362003b21565b60fc54604080516001600160a01b038816815260208101929092527f67e0244e28040fec15240cd4b6c04c776a2a0278caef23b59e8ada1df31f7689910160405180910390a15b5050505050620019206001606555565b565b6001600160a01b0381163314620019a65760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201527f20726f6c657320666f722073656c66000000000000000000000000000000000060648201526084015b60405180910390fd5b620019b2828262003b5a565b5050565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016300362001a455760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b19195b1959d85d1958d85b1b60a21b60648201526084016200199d565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031662001aa17f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b6001600160a01b03161462001b0e5760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b6163746976652070726f787960a01b60648201526084016200199d565b62001b198162003bde565b604080516000808252602082019092526200120c9183919062003be8565b62001b41620034de565b62001b4c8162003600565b61010380546001600160a01b0319166001600160a01b03838116918217909255610106546040805191909316815260208101919091527f83eac9fdaff0ac1017624b7eddeb9782e3d707cd894073cb7e8301a41c6e5cf8910162000e64565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016300362001c3a5760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b19195b1959d85d1958d85b1b60a21b60648201526084016200199d565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031662001c967f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b6001600160a01b03161462001d035760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b6163746976652070726f787960a01b60648201526084016200199d565b62001d0e8262003bde565b620019b28282600162003be8565b6000306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161462001dbe5760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c000000000000000060648201526084016200199d565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc90565b62001ded6200397c565b62001df762003d94565b33600081815261010d602090815260408083208054825181850281018501909352808352919290919083018282801562001e5b57602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831162001e3c575b50505050509050600080600090505b8251811015620020425782818151811062001e895762001e89620053b4565b602090810291909101015160405163782aadff60e01b81526001600160a01b038681166004830152602482018890529091169063782aadff906044016020604051808303816000875af115801562001ee5573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001f0b919062005341565b915081156200202d576001600160a01b038416600090815261010b60205260408120845184929086908590811062001f475762001f47620053b4565b60200260200101516001600160a01b03166001600160a01b03168152602001908152602001600020600082825462001f8091906200537e565b925050819055506200202d6040518060400160405280600e81526020017f537472617465677920706f77657200000000000000000000000000000000000081525061010b6000876001600160a01b03166001600160a01b03168152602001908152602001600020600086858151811062001ffe5762001ffe620053b4565b60200260200101516001600160a01b03166001600160a01b031681526020019081526020016000205462003abf565b806200203981620053ca565b91505062001e6a565b50610105546200205e906001600160a01b031684308762003a39565b6001600160a01b038316600090815261010c6020526040812060010180548692906200208c9084906200537e565b9091555050604080516001600160a01b0385168152602081018690527f576605f9bfe8911e7508bed3763c7c5c8eb3b86e8b360b90a4bc6abe1104cb7f91015b60405180910390a15050506200120c6001606555565b620020ec6200397c565b620020f662003d94565b33600081815261010d6020908152604080832060fc5461010c90935290832060010154909291906200212a908690620053e6565b101562002163576040517f9c47d02e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610105546200217d906001600160a01b0316848662003b21565b60005b82548110156200245f576000838281548110620021a157620021a1620053b4565b6000918252602090912001546001600160a01b03169050620021cb8163f1801e6160e01b62003df5565b1562002383576040517f2ed04b2b0000000000000000000000000000000000000000000000000000000081526001600160a01b03868116600483015260248201889052821690632ed04b2b906044016020604051808303816000875af11580156200223a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002260919062005341565b9250600061010b6000876001600160a01b03166001600160a01b031681526020019081526020016000206000868581548110620022a157620022a1620053b4565b60009182526020808320909101546001600160a01b031683528201929092526040019020549050808411156200230e576040517f8a11f31800000000000000000000000000000000000000000000000000000000815260048101859052602481018290526044016200199d565b6001600160a01b038616600090815261010b602052604081208654869290889087908110620023415762002341620053b4565b60009182526020808320909101546001600160a01b031683528201929092526040018120805490919062002377908490620053e6565b90915550505062002449565b835484906200239590600190620053e6565b81548110620023a857620023a8620053b4565b9060005260206000200160009054906101000a90046001600160a01b0316848381548110620023db57620023db620053b4565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b03160217905550838054806200241c576200241c620053fc565b600082815260209020810160001990810180546001600160a01b0319169055019055620024498162003641565b50806200245681620053ca565b91505062002180565b506001600160a01b038316600090815261010c6020526040812060010180548692906200248e908490620053e6565b9091555050604080516001600160a01b0385168152602081018690527f6ee2c70b2d6b89ae808a2313aab43e925c06624271419cd665d85cfa1ae04ff89101620020cc565b620024dd6200397c565b620024e7620034de565b60fb5460ff1662002524576040517fcb63dc7200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b03808316600090815261010c60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff16151591018190526200258957604051636a5cfb6d60e01b815260040160405180910390fd5b6001600160a01b03808316600090815261010c60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff16151590820152620025da8362003e1d565b6001600160a01b03838116600090815261010c6020908152604080832080546001600160a01b031916815560018101939093556002909201805460ff191690556101055490840151915163a9059cbb60e01b8152858416600482015260248101929092529091169063a9059cbb906044016020604051808303816000875af11580156200266b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002691919062005412565b50602080820151604080516001600160a01b0380881682528616938101939093528201527fb5946f249f8744efe9d14d49a483b54a589b1362944ff6694de93456cceb96a39060600160405180910390a150620019b26001606555565b620026f862003f4b565b62001920600062003fa7565b6200270e620034de565b6101075460405163068bcd8d60e01b8152600481018390526000916001600160a01b03169063068bcd8d90602401600060405180830381865afa1580156200275a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405262002784919081019062005432565b602001519050620027958162003600565b620019b28162003641565b620027aa620034de565b6101075460405163068bcd8d60e01b8152600481018390526000916001600160a01b03169063068bcd8d90602401600060405180830381865afa158015620027f6573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405262002820919081019062005432565b602001519050620028318162003600565b6200284d6001600160a01b03821663f1801e6160e01b62003df5565b15620019b257620019b2816200369f565b600054610100900460ff16158080156200287f5750600054600160ff909116105b806200289b5750303b1580156200289b575060005460ff166001145b6200290f5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084016200199d565b6000805460ff19166001179055801562002933576000805461ff0019166101001790555b6200293d62003ff9565b6200294762004070565b62002951620040e7565b6200297e7f03be538b6391ddcd7f2649585cc95b120c9e2a613f70714fbb55345057d809fa600062004154565b6200298d826020015162003600565b6200299d82610100015162003600565b8151620029aa9062003600565b620029b98260a0015162003600565b620029c982610180015162003600565b606082015115620029e357620029e38260c0015162003600565b815161010780546001600160a01b039283166001600160a01b03199182161790915560208401516101058054919093169116179055604082015160000362002a57576040517fc70d18aa00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604082015160fc55606082015160fd5561014082015160fb805460ff19169115159190911790556101208201516101089062002a949082620055f7565b506101608201516101099062002aab9082620055f7565b5060a082015161010080546001600160a01b03199081166001600160a01b0393841617825560c085015160ff8054831691851691909117905590840151610106805483168285161790556101808501516101018054909316931692909217905562002b38907f03be538b6391ddcd7f2649585cc95b120c9e2a613f70714fbb55345057d809fa90620038d8565b61010760009054906101000a90046001600160a01b03166001600160a01b0316635ab1bd536040518163ffffffff1660e01b8152600401602060405180830381865afa15801562002b8d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002bb3919062005394565b61010480546001600160a01b0319166001600160a01b0392831617905561010654604080517fa0e67e2b0000000000000000000000000000000000000000000000000000000081529051600093929092169163a0e67e2b9160048082019286929091908290030181865afa15801562002c30573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405262002c5a9190810190620056c4565b905060008151600262002c6e91906200537e565b67ffffffffffffffff81111562002c895762002c8962004ca1565b60405190808252806020026020018201604052801562002cb3578160200160208202803683370190505b50905060005b825181101562002d225782818151811062002cd85762002cd8620053b4565b602002602001015182828151811062002cf55762002cf5620053b4565b6001600160a01b03909216602092830291909101909101528062002d1981620053ca565b91505062002cb9565b506101065481516001600160a01b0390911690829062002d4590600190620053e6565b8151811062002d585762002d58620053b4565b60200260200101906001600160a01b031690816001600160a01b03168152505030816002835162002d8a9190620053e6565b8151811062002d9d5762002d9d620053b4565b6001600160a01b03928316602091820292909201015261010454608086015160e08701516040517f3a92f65f0000000000000000000000000000000000000000000000000000000081529290931692633a92f65f9262002e09929161010891309088906004016200586f565b6020604051808303816000875af115801562002e29573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002e4f919062005341565b60fe55805162002e689061010f90602084019062004ac6565b507f2f2ffcb06f8a1d35e2716f6b43ef2c19bfa76467d8f66964ae12c2583ed0320560fe546101088660e0015160405162002ea693929190620058c3565b60405180910390a150508015620019b2576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200162001334565b600080600060405162002f079062004b30565b604051809103906000f08015801562002f24573d6000803e3d6000fd5b5061010754604080516001600160a01b0390921660248084019190915281518084039091018152604490920181526020820180516001600160e01b03167f19ab453c000000000000000000000000000000000000000000000000000000001790525162002f919062004b3e565b62002f9e929190620058f2565b604051809103906000f08015801562002fbb573d6000803e3d6000fd5b50905062002fcc8187878762003351565b9250925050935093915050565b610103546001600160a01b031633146200301f576040517febcd0d6e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b620019206200419f565b6101098054620030399062005569565b80601f0160208091040260200160405190810160405280929190818152602001828054620030679062005569565b8015620030b85780601f106200308c57610100808354040283529160200191620030b8565b820191906000526020600020905b8154815290600101906020018083116200309a57829003601f168201915b505050505081565b620030ca6200397c565b33620030d68162003547565b620030e18162003e1d565b6001600160a01b03808216600081815261010c602090815260408083208151606081018352815496871681526001820180548286015260028301805460ff81161515848701529787526001600160a01b03199098169092559084905560ff1990941690945561010d905291822090916200315c919062004b4c565b61010554602082015160405163a9059cbb60e01b81526001600160a01b038581166004830152602482019290925291169063a9059cbb906044016020604051808303816000875af1158015620031b6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620031dc919062005412565b50602080820151604080516001600160a01b0386168152928301919091527fa13f4668aacb68c4e9eed8e3f6e1cbec3eca776896ec46b5eabcc3983fc8f5f4910160405180910390a15050620019206001606555565b62003241612710600a620052f1565b81565b6101088054620030399062005569565b600082815260c960205260409020600101546200327181620038cc565b620014a1838362003b5a565b6001600160a01b03811660009081527fa867e09674d469ee17077111ff66261f5d2fc5820cc6914676cb47231da58818602052604081205460ff1662000dda565b620032c862003f4b565b6001600160a01b038116620033465760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084016200199d565b6200120c8162003fa7565b60008073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6001600160a01b038616156200337c5750845b869150600061010f805480602002602001604051908101604052809291908181526020018280548015620033da57602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311620033bb575b50506101075460fe546040519596506001600160a01b039091169463e1007d4a945090925087915062003412908b906020016200592d565b6040516020818303038152906040528660008b886040518863ffffffff1660e01b81526004016200344a9796959493929190620059cb565b6020604051808303816000875af11580156200346a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062003490919062005341565b93507f778cac0ae0b66477341553a4a89398c61ccf448313d3354ad0ca85a5a825d2838484308a89604051620034cb95949392919062005a3d565b60405180910390a1505094509492505050565b3360009081527fa867e09674d469ee17077111ff66261f5d2fc5820cc6914676cb47231da58818602052604090205460ff1662001920576040517ff62651fa00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b03808216600090815261010c60209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff16151591018190526200120c57604051636a5cfb6d60e01b815260040160405180910390fd5b6001600160a01b038116600090815261010a602052604090205460ff166200120c576040517f46c26e4b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0381166200120c576040517fe622e04000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6200364c8162003600565b6001600160a01b038116600081815261010a6020908152604091829020805460ff1916905590519182527f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea4910162000e64565b6001600160a01b038116600090815261010a602052604090205460ff1615620036f4576040517f968a4d2c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038116600081815261010a6020908152604091829020805460ff1916600117905590519182527f3f008fd510eae7a9e7bee13513d7b83bef8003d488b5a3d0b0da4de71d6846f1910162000e64565b806001600160a01b0316826001600160a01b031614620019b2576040517fbbe7961100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038216600090815261010d60205260408120905b8154811015620038c657826001600160a01b0316828281548110620037da57620037da620053b4565b6000918252602090912001546001600160a01b031603620038b157815482906200380790600190620053e6565b815481106200381a576200381a620053b4565b9060005260206000200160009054906101000a90046001600160a01b03168282815481106200384d576200384d620053b4565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b03160217905550818054806200388e576200388e620053fc565b600082815260209020810160001990810180546001600160a01b03191690550190555b80620038bd81620053ca565b915050620037b1565b50505050565b6200120c8133620041fc565b600082815260c9602090815260408083206001600160a01b038516845290915290205460ff16620019b257600082815260c9602090815260408083206001600160a01b03851684529091529020805460ff19166001179055620039383390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b600260655403620039d05760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064016200199d565b6002606555565b620019b28282604051602401620039f092919062005a79565b60408051601f198184030181529190526020810180516001600160e01b03167f319af333000000000000000000000000000000000000000000000000000000001790526200427a565b6040516001600160a01b0380851660248301528316604482015260648101829052620038c69085907f23b872dd00000000000000000000000000000000000000000000000000000000906084015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091526200429b565b620019b2828260405160240162003ad892919062005aa6565b60408051601f198184030181529190526020810180516001600160e01b03167f9710a9d0000000000000000000000000000000000000000000000000000000001790526200427a565b6040516001600160a01b038316602482015260448101829052620014a190849063a9059cbb60e01b9060640162003a87565b6001606555565b600082815260c9602090815260408083206001600160a01b038516845290915290205460ff1615620019b257600082815260c9602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b6200120c62003f4b565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff161562003c1e57620014a1836200438a565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa92505050801562003c7b575060408051601f3d908101601f1916820190925262003c789181019062005341565b60015b62003cef5760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201527f6f6e206973206e6f74205555505300000000000000000000000000000000000060648201526084016200199d565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc811462003d865760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f7860448201527f6961626c6555554944000000000000000000000000000000000000000000000060648201526084016200199d565b50620014a18383836200444a565b33600090815261010c6020908152604091829020825160608101845281546001600160a01b031681526001820154928101929092526002015460ff16151591018190526200192057604051636a5cfb6d60e01b815260040160405180910390fd5b600062003e028362004475565b801562003e16575062003e168383620044ad565b9392505050565b6001600160a01b038116600090815261010d602090815260408083208054825181850281018501909352808352919290919083018282801562003e8a57602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831162003e6b575b5050505050905060005b8151811015620014a15781818151811062003eb35762003eb3620053b4565b60209081029190910101516040517f6453d9c40000000000000000000000000000000000000000000000000000000081526001600160a01b03858116600483015290911690636453d9c490602401600060405180830381600087803b15801562003f1c57600080fd5b505af115801562003f31573d6000803e3d6000fd5b50505050808062003f4290620053ca565b91505062003e94565b6033546001600160a01b03163314620019205760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016200199d565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600054610100900460ff16620040665760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b60648201526084016200199d565b6200192062004538565b600054610100900460ff16620040dd5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b60648201526084016200199d565b62001920620045b0565b600054610100900460ff16620019205760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b60648201526084016200199d565b600082815260c96020526040808220600101805490849055905190918391839186917fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff9190a4505050565b610103805461010680546001600160a01b0383166001600160a01b031991821617909155169055604051600081527fad0399dc40331b9a4977aa89da7a164a3fd482c65e6da73b25a94ea74fb688729060200160405180910390a1565b600082815260c9602090815260408083206001600160a01b038516845290915290205460ff16620019b25762004232816200461d565b6200423f83602062004630565b6040516020016200425292919062005aca565b60408051601f198184030181529082905262461bcd60e51b82526200199d9160040162005246565b80516a636f6e736f6c652e6c6f67602083016000808483855afa5050505050565b6000620042f2826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166200482f9092919063ffffffff16565b90508051600014806200431657508080602001905181019062004316919062005412565b620014a15760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f7420737563636565640000000000000000000000000000000000000000000060648201526084016200199d565b6001600160a01b0381163b620044095760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201527f6f74206120636f6e74726163740000000000000000000000000000000000000060648201526084016200199d565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b620044558362004848565b600082511180620044635750805b15620014a157620038c683836200488a565b60006200448a826301ffc9a760e01b620044ad565b801562000dda5750620044a6826001600160e01b0319620044ad565b1592915050565b604080516001600160e01b03198316602480830191909152825180830390910181526044909101909152602080820180516001600160e01b03166301ffc9a760e01b178152825160009392849283928392918391908a617530fa92503d9150600051905082801562004520575060208210155b80156200452d5750600081115b979650505050505050565b600054610100900460ff16620045a55760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b60648201526084016200199d565b620019203362003fa7565b600054610100900460ff1662003b535760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b60648201526084016200199d565b606062000dda6001600160a01b03831660145b6060600062004641836002620052f1565b6200464e9060026200537e565b67ffffffffffffffff81111562004669576200466962004ca1565b6040519080825280601f01601f19166020018201604052801562004694576020820181803683370190505b5090507f300000000000000000000000000000000000000000000000000000000000000081600081518110620046ce57620046ce620053b4565b60200101906001600160f81b031916908160001a9053507f7800000000000000000000000000000000000000000000000000000000000000816001815181106200471c576200471c620053b4565b60200101906001600160f81b031916908160001a905350600062004742846002620052f1565b6200474f9060016200537e565b90505b6001811115620047de577f303132333435363738396162636465660000000000000000000000000000000085600f1660108110620047945762004794620053b4565b1a60f81b828281518110620047ad57620047ad620053b4565b60200101906001600160f81b031916908160001a90535060049490941c93620047d68162005b4f565b905062004752565b50831562003e165760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e7460448201526064016200199d565b6060620048408484600085620048b2565b949350505050565b62004853816200438a565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b606062003e1683836040518060600160405280602781526020016200ba0660279139620049a1565b6060824710156200492c5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c000000000000000000000000000000000000000000000000000060648201526084016200199d565b600080866001600160a01b031685876040516200494a919062005b69565b60006040518083038185875af1925050503d806000811462004989576040519150601f19603f3d011682016040523d82523d6000602084013e6200498e565b606091505b50915091506200452d8783838762004a1f565b6060600080856001600160a01b031685604051620049c0919062005b69565b600060405180830381855af49150503d8060008114620049fd576040519150601f19603f3d011682016040523d82523d6000602084013e62004a02565b606091505b509150915062004a158683838762004a1f565b9695505050505050565b6060831562004a9357825160000362004a8b576001600160a01b0385163b62004a8b5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016200199d565b508162004840565b62004840838381511562004aaa5781518083602001fd5b8060405162461bcd60e51b81526004016200199d919062005246565b82805482825590600052602060002090810192821562004b1e579160200282015b8281111562004b1e57825182546001600160a01b0319166001600160a01b0390911617825560209092019160019091019062004ae7565b5062004b2c92915062004b67565b5090565b61596a8062005b8883390190565b6104ee806200b4f283390190565b50805460008255906000526020600020908101906200120c91905b5b8082111562004b2c576000815560010162004b68565b60006020828403121562004b9157600080fd5b81356001600160e01b03198116811462003e1657600080fd5b60006020828403121562004bbd57600080fd5b5035919050565b6001600160a01b03811681146200120c57600080fd5b803562004be78162004bc4565b919050565b6000806040838503121562004c0057600080fd5b823562004c0d8162004bc4565b9150602083013562004c1f8162004bc4565b809150509250929050565b60006020828403121562004c3d57600080fd5b813562003e168162004bc4565b6000806040838503121562004c5e57600080fd5b823562004c6b8162004bc4565b946020939093013593505050565b6000806040838503121562004c8d57600080fd5b82359150602083013562004c1f8162004bc4565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff8111828210171562004cdd5762004cdd62004ca1565b60405290565b6040516101a0810167ffffffffffffffff8111828210171562004cdd5762004cdd62004ca1565b604051610120810167ffffffffffffffff8111828210171562004cdd5762004cdd62004ca1565b60405160c0810167ffffffffffffffff8111828210171562004cdd5762004cdd62004ca1565b604051601f8201601f1916810167ffffffffffffffff8111828210171562004d835762004d8362004ca1565b604052919050565b600067ffffffffffffffff82111562004da85762004da862004ca1565b50601f01601f191660200190565b600062004dcd62004dc78462004d8b565b62004d57565b905082815283838301111562004de257600080fd5b828260208301376000602084830101529392505050565b6000806040838503121562004e0d57600080fd5b823562004e1a8162004bc4565b9150602083013567ffffffffffffffff81111562004e3757600080fd5b8301601f8101851362004e4957600080fd5b62004e5a8582356020840162004db6565b9150509250929050565b600082601f83011262004e7657600080fd5b62003e168383356020850162004db6565b60006040828403121562004e9a57600080fd5b62004ea462004cb7565b905081358152602082013567ffffffffffffffff81111562004ec557600080fd5b62004ed38482850162004e64565b60208301525092915050565b80151581146200120c57600080fd5b803562004be78162004edf565b60006020828403121562004f0e57600080fd5b813567ffffffffffffffff8082111562004f2757600080fd5b908301906101a0828603121562004f3d57600080fd5b62004f4762004ce3565b62004f528362004bda565b815262004f626020840162004bda565b602082015260408301356040820152606083013560608201526080830135608082015262004f9360a0840162004bda565b60a082015262004fa660c0840162004bda565b60c082015260e08301358281111562004fbe57600080fd5b62004fcc8782860162004e87565b60e08301525061010062004fe281850162004bda565b90820152610120838101358381111562004ffb57600080fd5b620050098882870162004e64565b8284015250506101406200501f81850162004eee565b9082015261016083810135838111156200503857600080fd5b620050468882870162004e64565b82840152505061018091506200505e82840162004bda565b91810191909152949350505050565b80356003811062004be757600080fd5b600481106200120c57600080fd5b803562004be7816200507d565b600060208284031215620050ab57600080fd5b6040516020810181811067ffffffffffffffff82111715620050d157620050d162004ca1565b6040529135825250919050565b60006101208284031215620050f257600080fd5b620050fc62004d0a565b9050620051098262004bda565b8152602082013560208201526040820135604082015260608201356060820152608082013560808201526200514160a083016200506d565b60a08201526200515460c083016200508b565b60c0820152620051688360e0840162005098565b60e08201526101006200517d81840162004bda565b9082015292915050565b600080600061016084860312156200519e57600080fd5b8335620051ab8162004bc4565b9250620051bc8560208601620050de565b915061014084013567ffffffffffffffff811115620051da57600080fd5b620051e88682870162004e87565b9150509250925092565b60005b838110156200520f578181015183820152602001620051f5565b50506000910152565b6000815180845262005232816020860160208601620051f2565b601f01601f19169290920160200192915050565b60208152600062003e16602083018462005218565b60008060008061018085870312156200527357600080fd5b8435620052808162004bc4565b93506020850135620052928162004bc4565b9250620052a38660408701620050de565b915061016085013567ffffffffffffffff811115620052c157600080fd5b620052cf8782880162004e87565b91505092959194509250565b634e487b7160e01b600052601160045260246000fd5b808202811582820484141762000dda5762000dda620052db565b634e487b7160e01b600052602160045260246000fd5b6000602082840312156200533457600080fd5b815162003e16816200507d565b6000602082840312156200535457600080fd5b5051919050565b6000826200537957634e487b7160e01b600052601260045260246000fd5b500490565b8082018082111562000dda5762000dda620052db565b600060208284031215620053a757600080fd5b815162003e168162004bc4565b634e487b7160e01b600052603260045260246000fd5b600060018201620053df57620053df620052db565b5060010190565b8181038181111562000dda5762000dda620052db565b634e487b7160e01b600052603160045260246000fd5b6000602082840312156200542557600080fd5b815162003e168162004edf565b600060208083850312156200544657600080fd5b825167ffffffffffffffff808211156200545f57600080fd5b9084019060c082870312156200547457600080fd5b6200547e62004d31565b8251815283830151620054918162004bc4565b818501526040830151620054a58162004bc4565b6040820152606083015182811115620054bd57600080fd5b830160408189031215620054d057600080fd5b620054da62004cb7565b815181528582015184811115620054f057600080fd5b82019350601f840189136200550457600080fd5b835191506200551762004dc78362004d8b565b82815289878487010111156200552c57600080fd5b6200553d83888301898801620051f2565b95810195909552506060810193909352506080818101519083015260a090810151908201529392505050565b600181811c908216806200557e57607f821691505b6020821081036200559f57634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620014a157600081815260208120601f850160051c81016020861015620055ce5750805b601f850160051c820191505b81811015620055ef57828155600101620055da565b505050505050565b815167ffffffffffffffff81111562005614576200561462004ca1565b6200562c8162005625845462005569565b84620055a5565b602080601f8311600181146200566457600084156200564b5750858301515b600019600386901b1c1916600185901b178555620055ef565b600085815260208120601f198616915b82811015620056955788860151825594840194600190910190840162005674565b5085821015620056b45787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60006020808385031215620056d857600080fd5b825167ffffffffffffffff80821115620056f157600080fd5b818501915085601f8301126200570657600080fd5b8151818111156200571b576200571b62004ca1565b8060051b91506200572e84830162004d57565b81815291830184019184810190888411156200574957600080fd5b938501935b83851015620057775784519250620057668362004bc4565b82825293850193908501906200574e565b98975050505050505050565b60008154620057928162005569565b808552602060018381168015620057b25760018114620057cd57620057fd565b60ff1985168884015283151560051b880183019550620057fd565b866000528260002060005b85811015620057f55781548a8201860152908301908401620057d8565b890184019650505b505050505092915050565b80518252600060208201516040602085015262004840604085018262005218565b600081518084526020808501945080840160005b83811015620058645781516001600160a01b0316875295820195908201906001016200583d565b509495945050505050565b85815260a0602082015260006200588a60a083018762005783565b82810360408401526200589e818762005808565b90506001600160a01b0385166060840152828103608084015262005777818562005829565b838152606060208201526000620058de606083018562005783565b828103604084015262004a15818562005808565b6001600160a01b038316815260406020820152600062004840604083018462005218565b600481106200592957620059296200530b565b9052565b6000610120820190506001600160a01b0383511682526020830151602083015260408301516040830152606083015160608301526080830151608083015260a0830151600381106200598357620059836200530b565b8060a08401525060c08301516200599e60c084018262005916565b5060e0830151620059b260e0840182519052565b50610100928301516001600160a01b0316919092015290565b87815260006001600160a01b03808916602084015260e06040840152620059f660e084018962005218565b818816606085015286608085015283810360a085015262005a18818762005808565b91505082810360c084015262005a2f818562005829565b9a9950505050505050505050565b85815260006001600160a01b038087166020840152808616604084015280851660608401525060a060808301526200452d60a083018462005808565b60408152600062005a8e604083018562005218565b90506001600160a01b03831660208301529392505050565b60408152600062005abb604083018562005218565b90508260208301529392505050565b7f416363657373436f6e74726f6c3a206163636f756e742000000000000000000081526000835162005b04816017850160208801620051f2565b7f206973206d697373696e6720726f6c6520000000000000000000000000000000601791840191820152835162005b43816028840160208801620051f2565b01602801949350505050565b60008162005b615762005b61620052db565b506000190190565b6000825162005b7d818460208701620051f2565b919091019291505056fe60a0604052306080526000606d81905560705534801561001e57600080fd5b506080516159136200005760003960008181611231015281816112b6015281816113b70152818161143c015261152201526159136000f3fe6080604052600436106103c75760003560e01c806376365af7116101f2578063b5f620ce11610119578063e0dd2c38116100b2578063ef2920fc11610084578063f321b3051161006c578063f321b30514610b89578063f5b0dfb714610ba9578063fc1711f214610bc957005b8063ef2920fc14610b56578063f2fde38b14610b6957005b8063e0dd2c3814610ac9578063e33add9314610ae9578063eb11af9314610b09578063edd146cc14610b3657005b8063c7f758a8116100eb578063c7f758a814610a39578063d1e3623214610a6f578063dc96ff2d14610a84578063df868ed314610ab457005b8063b5f620ce146109a6578063b6c61f31146109c6578063bcc5b93b146109e6578063c329217114610a1c57005b8063950559d71161018b578063a574cea41161015d578063a574cea414610916578063aba9ffee14610943578063ac1ed7b914610959578063b2b878d01461097957005b8063950559d7146108a1578063a0cf0aea146108c1578063a1aab33f146108e9578063a47ff7e5146108ff57005b8063817b1cd2116101c4578063817b1cd21461082d578063824ea8ed14610843578063868c57b8146108635780638da5cb5b1461088357005b806376365af7146107cc578063782aadff146107e25780637c6570ba14610802578063814516ad1461081857005b8063346db8cb116102ee5780634f1ef286116102875780635db64b99116102595780636453d9c4116102415780636453d9c41461077757806369fa25c414610797578063715018a6146107b757005b80635db64b991461072a5780636003e4141461075757005b80634f1ef286146106cc57806352d1902d146106df57806354fac919146106f457806359a5db8b1461070a57005b8063406244d8116102c0578063406244d81461066d57806342fda9c7146106825780634ab4ba42146106975780634d31d087146106ac57005b8063346db8cb146105f1578063351d9f96146106115780633659cfe61461063857806338fff2d01461065857005b806315cc481e116103605780632bbe0cae116103325780632bbe0cae146105725780632cefadbb146105855780632dbd6fdd146105a55780632ed04b2b146105d157005b806315cc481e146104eb57806319ab453c1461051d5780631aa91a9e1461053d5780631ddf1e231461055d57005b80630ba95909116103995780630ba959091461047f5780630c0512e91461049e5780630f529ba2146104b457806311f22ae3146104cb57005b8063013cf08b146103d057806301ffc9a71461040f578063058aca441461043f5780630a6f0ee91461045f57005b366103ce57005b005b3480156103dc57600080fd5b506103f06103eb36600461481d565b610be9565b6040516104069a999897969594939291906148cf565b60405180910390f35b34801561041b57600080fd5b5061042f61042a366004614942565b610cf7565b6040519015158152602001610406565b34801561044b57600080fd5b506103ce61045a366004614999565b610d90565b34801561046b57600080fd5b506103ce61047a366004614ba9565b610df0565b34801561048b57600080fd5b506073545b604051908152602001610406565b3480156104aa57600080fd5b50610490606d5481565b3480156104c057600080fd5b506104906298968081565b3480156104d757600080fd5b506103ce6104e636600461481d565b610e10565b3480156104f757600080fd5b506065546001600160a01b03165b6040516001600160a01b039091168152602001610406565b34801561052957600080fd5b506103ce610538366004614999565b610e4f565b34801561054957600080fd5b5061049061055836600461481d565b610fb0565b34801561056957600080fd5b506103ce611036565b610505610580366004614c21565b611041565b34801561059157600080fd5b506103ce6105a036600461481d565b611064565b3480156105b157600080fd5b506072546105c490610100900460ff1681565b6040516104069190614c83565b3480156105dd57600080fd5b506104906105ec366004614c91565b6110b0565b3480156105fd57600080fd5b5061049061060c366004614cbd565b611182565b34801561061d57600080fd5b5060725461062b9060ff1681565b6040516104069190614cf9565b34801561064457600080fd5b506103ce610653366004614999565b611227565b34801561066457600080fd5b50606854610490565b34801561067957600080fd5b50610490600a81565b34801561068e57600080fd5b50606654610490565b3480156106a357600080fd5b50606954610490565b3480156106b857600080fd5b5061042f6106c7366004614999565b6113a2565b6103ce6106da366004614d07565b6113ad565b3480156106eb57600080fd5b50610490611515565b34801561070057600080fd5b50610490606a5481565b34801561071657600080fd5b5061049061072536600461481d565b6115da565b34801561073657600080fd5b50610490610745366004614999565b60776020526000908152604090205481565b34801561076357600080fd5b50607454610505906001600160a01b031681565b34801561078357600080fd5b506103ce610792366004614999565b611717565b3480156107a357600080fd5b506103ce6107b236600461481d565b611728565b3480156107c357600080fd5b506103ce611767565b3480156107d857600080fd5b50610490606b5481565b3480156107ee57600080fd5b506104906107fd366004614c91565b611779565b34801561080e57600080fd5b5061049060705481565b34801561082457600080fd5b506103ce61191b565b34801561083957600080fd5b50610490606e5481565b34801561084f57600080fd5b5061042f61085e36600461481d565b611a4d565b34801561086f57600080fd5b5061049061087e366004614c91565b611aaa565b34801561088f57600080fd5b506033546001600160a01b0316610505565b3480156108ad57600080fd5b506104906108bc36600461481d565b611adb565b3480156108cd57600080fd5b5061050573eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b3480156108f557600080fd5b50610490606c5481565b34801561090b57600080fd5b506073546104909081565b34801561092257600080fd5b5061093661093136600461481d565b611b05565b6040516104069190614d57565b34801561094f57600080fd5b50610490606f5481565b34801561096557600080fd5b506103ce610974366004614999565b611be4565b34801561098557600080fd5b50610999610994366004614d6a565b611cc5565b6040516104069190614e3f565b3480156109b257600080fd5b506103ce6109c1366004614ea5565b611ce0565b3480156109d257600080fd5b50607554610505906001600160a01b031681565b3480156109f257600080fd5b50610490610a01366004614999565b6001600160a01b031660009081526077602052604090205490565b348015610a2857600080fd5b50607254610100900460ff166105c4565b348015610a4557600080fd5b50610a59610a5436600461481d565b611ce9565b6040516104069a99989796959493929190614ec2565b348015610a7b57600080fd5b50606f54610490565b348015610a9057600080fd5b50610490610a9f36600461481d565b60009081526076602052604090206002015490565b348015610ac057600080fd5b5061042f611deb565b348015610ad557600080fd5b50610490610ae4366004614f27565b611dfe565b348015610af557600080fd5b506103ce610b04366004614f4c565b611e29565b348015610b1557600080fd5b50610b29610b24366004614999565b611e42565b6040516104069190614ff7565b348015610b4257600080fd5b506103ce610b51366004615011565b611e4d565b6103ce610b64366004614c21565b611f9b565b348015610b7557600080fd5b506103ce610b84366004614999565b611fb5565b348015610b9557600080fd5b506103ce610ba4366004615042565b612042565b348015610bb557600080fd5b506103ce610bc436600461481d565b61208d565b348015610bd557600080fd5b506103ce610be436600461481d565b6120b6565b6076602090815260009182526040918290208054600182015460028301546003840154600485015460058601546006870154600788015460088901548b51808d01909c52600a8a0180548d52600b8b0180549a9d999c989b979a6001600160a01b039788169a968816999790951697939660ff9093169593949192840191610c709061509c565b80601f0160208091040260200160405190810160405280929190818152602001828054610c9c9061509c565b8015610ce95780601f10610cbe57610100808354040283529160200191610ce9565b820191906000526020600020905b815481529060010190602001808311610ccc57829003601f168201915b50505050508152505090508a565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167ff1801e61000000000000000000000000000000000000000000000000000000001480610d8a57507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b33610d9a816120f5565b607480546001600160a01b0319166001600160a01b0384169081179091556040519081527fd6ceddf6d2a22f21c7c81675c518004eff43bc5c8a6fc32a0b748e69d58671cd906020015b60405180910390a15050565b610df86121a4565b610e006121cf565b610e0b83838361220b565b505050565b33610e1a816120f5565b606b8290556040518281527f08e39b387d1f739ce0d2553bb31822392e3f67c62c6c0a215120ab4a6841a8ab90602001610de4565b600054610100900460ff1615808015610e6f5750600054600160ff909116105b80610e895750303b158015610e89575060005460ff166001145b610f005760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084015b60405180910390fd5b6000805460ff191660011790558015610f23576000805461ff0019166101001790555b610f62826040518060400160405280600a81526020017f4356537472617465677900000000000000000000000000000000000000000000815250612042565b610f6a61251f565b8015610fac576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249890602001610de4565b5050565b600081815260766020526040812080548314610fe25760405163c1d17bef60e01b815260048101849052602401610ef7565b6001600882015460ff166004811115610ffd57610ffd614836565b1461101e576040516344980d8f60e01b815260048101849052602401610ef7565b61102c818260020154612592565b6003015492915050565b61103f336125cd565b565b600061104b6121a4565b6110536121cf565b61105d838361271e565b9392505050565b3361106e816120f5565b60705460408051918252602082018490527f056aedca4e334b6c4bea48715fb0de644811b740894de57a0380d3eb90f2805b910160405180910390a150607055565b60006110ba612a70565b60006002607254610100900460ff1660038111156110da576110da614836565b148061110157506001607254610100900460ff1660038111156110ff576110ff614836565b145b1561110d57508161111a565b6111178484612ab4565b90505b80606f600082825461112c91906150e6565b9091555050604080516001600160a01b0386168152602081018590529081018290527f70b752f3fadb6ac131c0ece847fcbb6994ec56ed6411595710fd9b29c6ac6cc19060600160405180910390a19392505050565b60008084905060006111a8629896806080606a54901b6111a2919061510f565b83612d78565b905060806f80000000000000000000000000000000606a54629896806111ce91906150e6565b6111dc84600160801b6150e6565b6111e96298968089615131565b6111f39190615131565b6111fd919061510f565b6112078885615131565b6112119190615148565b61121b9190615148565b901c9695505050505050565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036112b45760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b19195b1959d85d1958d85b1b60a21b6064820152608401610ef7565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661130f7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b6001600160a01b03161461137a5760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b6163746976652070726f787960a01b6064820152608401610ef7565b61138381612e21565b6040805160008082526020820190925261139f91839190612e29565b50565b6000610d8a82612fc9565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016300361143a5760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b19195b1959d85d1958d85b1b60a21b6064820152608401610ef7565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166114957f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b6001600160a01b0316146115005760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b6163746976652070726f787960a01b6064820152608401610ef7565b61150982612e21565b610fac82826001612e29565b6000306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146115b55760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c00000000000000006064820152608401610ef7565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc90565b60008060695411611617576040517fed4421ad00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61162082612fe9565b1561163e57604051630efd728560e21b815260040160405180910390fd5b6069546000906116578468010000000000000000615131565b611661919061510f565b62989680606b546801000000000000000061167c9190615131565b611686919061510f565b61169091906150e6565b9050604061169d606f5490565b606a546116ad90629896806150e6565b6298968060406116bd8680615131565b901c629896806080606c54901b6116d4919061510f565b6116de919061510f565b6116e89190615131565b6116f2919061510f565b6116fc9190615131565b901c915060705482116117115760705461105d565b50919050565b61171f612a70565b61139f816125cd565b33611732816120f5565b606a8290556040518281527f592dcd55d60d892e7fcb3ba105013312e99691cd59f91e15f83cb67cb5a505f290602001610de4565b61176f613010565b61103f600061306a565b6000611783612a70565b61178c836130bc565b6117a957604051630b72d6b160e31b815260040160405180910390fd5b60006002607254610100900460ff1660038111156117c9576117c9614836565b036117d757825b9050611834565b6001607254610100900460ff1660038111156117f5576117f5614836565b03611804576117d08484613164565b6003607254610100900460ff16600381111561182257611822614836565b036118345761183184846132ca565b90505b60745460405163011de97360e61b81526001600160a01b038681166004830152306024830152600092169063477a5cc090604401602060405180830381865afa158015611885573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118a9919061515b565b905080156118c95781606f60008282546118c39190615148565b90915550505b604080516001600160a01b0387168152602081018690529081018390527f0b9150e1e54346ed3fa36b977cd5d65dca5a649c737c3174a26bddaadd47667a9060600160405180910390a1509392505050565b33611925816130bc565b61194257604051630b72d6b160e31b815260040160405180910390fd5b6074546040517f0d4a8b490000000000000000000000000000000000000000000000000000000081526001600160a01b03838116600483015230602483015290911690630d4a8b4990604401600060405180830381600087803b1580156119a857600080fd5b505af11580156119bc573d6000803e3d6000fd5b5050607454604051637817ee4f60e01b81526001600160a01b0385811660048301523060248301529091169250637817ee4f9150604401602060405180830381865afa158015611a10573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a349190615178565b606f6000828254611a459190615148565b909155505050565b6000818152607660205260408120600281015482908190611a6f908490613511565b91509150816000148015611a81575080155b15611a8e57826003015491505b6000611a9d84600101546115da565b9092101595945050505050565b60786020528160005260406000208181548110611ac657600080fd5b90600052602060002001600091509150505481565b6000606a5462989680611aee91906150e6565b611afb6298968084615131565b610d8a919061510f565b604080518082019091526000815260606020820152600060766000848152602001908152602001600020905080600a0160405180604001604052908160008201548152602001600182018054611b5a9061509c565b80601f0160208091040260200160405190810160405280929190818152602001828054611b869061509c565b8015611bd35780601f10611ba857610100808354040283529160200191611bd3565b820191906000526020600020905b815481529060010190602001808311611bb657829003601f168201915b505050505081525050915050919050565b607460009054906101000a90046001600160a01b03166001600160a01b0316636c53db9a6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611c37573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c5b9190615191565b6001600160a01b03163303611c9357611c7381613569565b607580546001600160a01b0383166001600160a01b031990911617905550565b6040517fe860ec7e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b606060405163d623472560e01b815260040160405180910390fd5b61139f816135a9565b6000806000806000806000806000806000607660008d815260200190815260200160002090508060010154600014611d2d57611d2881600101546115da565b611d30565b60005b92508060050160009054906101000a90046001600160a01b03168160040160009054906101000a90046001600160a01b03168260060160009054906101000a90046001600160a01b0316836001015484600201548560080160009054906101000a900460ff16866007015487600301548a896009016000336001600160a01b03166001600160a01b03168152602001908152602001600020549a509a509a509a509a509a509a509a509a509a50509193959799509193959799565b6000611df960675460ff1690565b905090565b60008281526076602090815260408083206001600160a01b038516845260090190915281205461105d565b60405163d623472560e01b815260040160405180910390fd5b6000610d8a826135ea565b611e556121a4565b611e5e8261360a565b600081806020019051810190611e74919061521e565b80519091506001600160a01b0316611e9f57604051635df4b1ef60e01b815260040160405180910390fd5b8051607480546001600160a01b0319166001600160a01b039092169190911790556020810151606a556040810151606b556060810151606c5560a08101516072805460ff19166001836002811115611ef957611ef9614836565b021790555060c08101516072805461ff001916610100836003811115611f2157611f21614836565b021790555060e0810151516073556080810151607055610100810151607580546001600160a01b0319166001600160a01b039092169190911790556040517f4ebdec05fb64815e553aeaf3976ef8112dd79760a459bee3ac7d1659ab2c4e0490611f8e90859084906152b9565b60405180910390a1505050565b611fa36121a4565b611fab6121cf565b610fac828261368b565b611fbd613010565b6001600160a01b0381166120395760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610ef7565b61139f8161306a565b606580546001600160a01b0319166001600160a01b03841617905560405161206e90829060200161534c565b60408051601f1981840301815291905280516020909101206066555050565b6120956121a4565b80606960008282546120a79190615148565b9091555061139f90508161379a565b336120c0816120f5565b606c8290556040518281527f30ee8206062f283e56a0af2b02138016bf7442ded26ad68a92a18a9dd246fb4990602001610de4565b6065546068546040517f29e40d4b00000000000000000000000000000000000000000000000000000000815260048101919091526001600160a01b038381166024830152909116906329e40d4b90604401602060405180830381865afa158015612163573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612187919061515b565b61139f5760405163075fd2b160e01b815260040160405180910390fd5b6065546001600160a01b0316331461103f5760405163075fd2b160e01b815260040160405180910390fd5b60685460000361103f576040517f3da3f98c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000825111612246576040517fc5f7c4c000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008280602001905181019061225c9190615178565b905080600003612298576040517ff881a10d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000818152607660205260409020600160725460ff1660028111156122bf576122bf614836565b0361251857805482146122e85760405163c1d17bef60e01b815260048101839052602401610ef7565b606954816001015411156123405760018101546069546040517f5863b0b60000000000000000000000000000000000000000000000000000000081526004810185905260248101929092526044820152606401610ef7565b6001600882015460ff16600481111561235b5761235b614836565b1461237c576040516344980d8f60e01b815260048101839052602401610ef7565b600061238783610fb0565b9050600061239883600101546115da565b905080821080156123ad575060008360010154115b156123e4576040517fcce7930800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6065546068546040517f068bcd8d00000000000000000000000000000000000000000000000000000000815260048101919091526000916001600160a01b03169063068bcd8d90602401600060405180830381865afa15801561244b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261247391908101906153ec565b905083600101546069600082825461248b91906150e6565b90915550506040810151600485015460018601546124b392916001600160a01b0316906137ca565b60088401805460ff191660049081179091558401546001850154604080518881526001600160a01b0390931660208401528201527fa7932e9c92f31e1ed56b29d00bbe669a97484dc24de28dd9c8c0429df7f358479060600160405180910390a15050505b5050505050565b600054610100900460ff1661258a5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401610ef7565b61103f61380f565b60008061259f8484613511565b915091508160001480156125b1575080155b156125bc5750505050565b600784015560039092019190915550565b607454604051637817ee4f60e01b81526001600160a01b03838116600483015230602483015290911690637817ee4f90604401602060405180830381865afa15801561261d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126419190615178565b606f600082825461265291906150e6565b90915550506074546040517f22bcf9990000000000000000000000000000000000000000000000000000000081526001600160a01b038381166004830152306024830152909116906322bcf99990604401600060405180830381600087803b1580156126bd57600080fd5b505af11580156126d1573d6000803e3d6000fd5b505050506126de81613883565b6040516001600160a01b03821681527f1468da654b37bb3631011c1917d02e0db437d519918858d40b38b5e980ca033b906020015b60405180910390a150565b6000612729826130bc565b61274657604051630b72d6b160e31b815260040160405180910390fd5b60008380602001905181019061275c91906154a0565b805190915060000361279a576040517f4e79178600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600160725460ff1660028111156127b3576127b3614836565b03612963576127c58160200151613569565b60608101516001600160a01b0316612809576040517f596a094c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000306001600160a01b03166315cc481e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612849573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061286d9190615191565b6001600160a01b031663068bcd8d6068546040518263ffffffff1660e01b815260040161289c91815260200190565b600060405180830381865afa1580156128b9573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526128e191908101906153ec565b604001519050806001600160a01b031682606001516001600160a01b031614612936576040517fa29c498600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6129438260400151612fe9565b1561296157604051630efd728560e21b815260040160405180910390fd5b505b6000606d6000815461297490615547565b918290555060008181526076602090815260408083208481556005810180546001600160a01b038b81166001600160a01b0319928316179092558885015160048401805491841691831691909117905560608901516006840180549190931691161790559086015160018083019190915560088201805460ff19169091179055436007820155600381019290925560808501518051600a8401908155918101519394509192600b840190612a2890826155ae565b505060685460408051918252602082018590527ffcf3b1aa65a464cef2889608f99e8b8c0f680a4be6c2acb9d961c536a5a9294b92500160405180910390a150949350505050565b6074546001600160a01b0316331461103f576040517faf0916a200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b607454604080516336d8759760e21b815290516000926012926001600160a01b039091169163db61d65c916004808201926020929091908290030181865afa158015612b04573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612b289190615191565b6001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015612b81575060408051601f3d908101601f19168201909252612b7e9181019061566e565b60015b612bc857612bc36040518060400160405280601581526020017f4572726f722067657474696e6720646563696d616c0000000000000000000000815250613a10565b612bce565b60ff1690505b612c0d6040518060400160405280601081526020017f5f616d6f756e74546f556e7374616b650000000000000000000000000000000081525084613a81565b6074546040516316308e2560e11b81526001600160a01b0386811660048301526000928692911690632c611c4a90602401602060405180830381865afa158015612c5b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612c7f9190615178565b612c8991906150e6565b9050612cca6040518060400160405280600d81526020017f6e6577546f74616c5374616b650000000000000000000000000000000000000081525082613a81565b6000612ce9612cda84600a615775565b612ce49084615131565b613af4565b607454604051637817ee4f60e01b81526001600160a01b03898116600483015230602483015292935060009284921690637817ee4f90604401602060405180830381865afa158015612d3f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612d639190615178565b612d6d91906150e6565b979650505050505050565b6000600160801b8310612dcd5760405162461bcd60e51b815260206004820152601c60248201527f5f612073686f756c64206265206c657373207468616e20325e313238000000006044820152606401610ef7565b50600160801b82825b8015612e195780600116600003612dfb57612df18283613bdc565b915060011c612dd6565b612e058383613bdc565b9250612e126001826150e6565b9050612dd6565b505092915050565b61139f613010565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615612e5c57610e0b83613cdb565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015612eb6575060408051601f3d908101601f19168201909252612eb391810190615178565b60015b612f285760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201527f6f6e206973206e6f7420555550530000000000000000000000000000000000006064820152608401610ef7565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8114612fbd5760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f7860448201527f6961626c655555494400000000000000000000000000000000000000000000006064820152608401610ef7565b50610e0b838383613d99565b60006001600160a01b03821615612fe1576001610d8a565b600092915050565b6000612ff86298968083615131565b606954606b546130089190615131565b111592915050565b6033546001600160a01b0316331461103f5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610ef7565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6075546000906001600160a01b03166130d757506001919050565b6075546040517f42a987a00000000000000000000000000000000000000000000000000000000081526001600160a01b038481166004830152306024830152909116906342a987a090604401602060405180830381865afa158015613140573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d8a919061515b565b6000808290506131a96040518060400160405280601281526020017f504f494e545320544f20494e435245415345000000000000000000000000000081525082613a81565b607454604051637817ee4f60e01b81526001600160a01b0386811660048301523060248301526000921690637817ee4f90604401602060405180830381865afa1580156131fa573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061321e9190615178565b905061325f6040518060400160405280600b81526020017f4d454d424552504f57455200000000000000000000000000000000000000000081525082613a81565b60735461326c8383615148565b1115613283576073546132809082906150e6565b91505b6132c26040518060400160405280601681526020017f504f494e545320544f20494e43524541534520454e440000000000000000000081525083613a81565b509392505050565b6074546040516316308e2560e11b81526001600160a01b0384811660048301526000928392859290911690632c611c4a90602401602060405180830381865afa15801561331b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061333f9190615178565b6133499190615148565b607454604080516336d8759760e21b815290519293506012926001600160a01b039092169163db61d65c916004808201926020929091908290030181865afa158015613399573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906133bd9190615191565b6001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015613416575060408051601f3d908101601f191682019092526134139181019061566e565b60015b61345d576134586040518060400160405280601581526020017f4572726f722067657474696e6720646563696d616c0000000000000000000000815250613a10565b613463565b60ff1690505b600061347d61347383600a615775565b612ce49085615131565b607454604051637817ee4f60e01b81526001600160a01b03898116600483015230602483015292935060009290911690637817ee4f90604401602060405180830381865afa1580156134d3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906134f79190615178565b9050600061350582846150e6565b98975050505050505050565b600080439050808460070154111561352b5761352b615781565b8084600701540361354157506000905080613562565b61355f84600701548261355491906150e6565b856003015485611182565b91505b9250929050565b6001600160a01b03811661139f576040517fe622e04000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6067805460ff19168215159081179091556040519081527fd94c9bc4d43c51d8dc345a016d8e3d994432fac68e72832e4cf3a616bd8efae090602001612713565b60006001600160a01b03821615613602576002610d8a565b600392915050565b6136126121a4565b6068541561364c576040517f439a74c900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80600003613686576040517f7fcce2a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b606855565b61369481613dbe565b61369d816130bc565b6136ba57604051630b72d6b160e31b815260040160405180910390fd5b60745460405163011de97360e61b81526001600160a01b038381166004830152306024830152600092169063477a5cc090604401602060405180830381865afa15801561370b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061372f919061515b565b905080613768576040517f5fccb67f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008380602001905181019061377e9190615797565b905061378a8382613ee4565b61379483826140a7565b50505050565b6040518181527f46aeb5d8770fc4474bc2dfa118fd2595f7fb33ce2cbce6f4e5a3dabfe0f7633990602001612713565b7fffffffffffffffffffffffff11111111111111111111111111111111111111126001600160a01b0384160161380457610e0b82826144cb565b610e0b8383836144e7565b600054610100900460ff1661387a5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401610ef7565b61103f3361306a565b6001600160a01b0381166000908152607860209081526040808320805482518185028101850190935280835291929091908301828280156138e357602002820191906000526020600020905b8154815260200190600101908083116138cf575b5050505050905060005b8151811015610e0b57600082828151811061390a5761390a615842565b60200260200101519050600060766000838152602001908152602001600020905061393482614536565b156139fb576001600160a01b038516600090815260098201602052604081208054908290556002830180549192839261396e9084906150e6565b9250508190555080606e600082825461398791906150e6565b9091555061399790508282612592565b60028201546003830154604080516001600160a01b038a1681526020810187905260008183015260608101939093526080830191909152517f0227f642ddcf2042ceaeafadb9d540f432072c00cd4862881667168dcc14710f9181900360a00190a1505b50508080613a0890615547565b9150506138ed565b61139f81604051602401613a24919061534c565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f41304fac0000000000000000000000000000000000000000000000000000000017905261456f565b610fac8282604051602401613a97929190615858565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f9710a9d00000000000000000000000000000000000000000000000000000000017905261456f565b600081600003613b0657506000919050565b60006001613b1384614590565b901c6001901b90506001818481613b2c57613b2c6150f9565b048201901c90506001818481613b4457613b446150f9565b048201901c90506001818481613b5c57613b5c6150f9565b048201901c90506001818481613b7457613b746150f9565b048201901c90506001818481613b8c57613b8c6150f9565b048201901c90506001818481613ba457613ba46150f9565b048201901c90506001818481613bbc57613bbc6150f9565b048201901c905061105d81828581613bd657613bd66150f9565b04614624565b6000600160801b831115613c585760405162461bcd60e51b815260206004820152602860248201527f5f612073686f756c64206265206c657373207468616e206f7220657175616c2060448201527f746f20325e3132380000000000000000000000000000000000000000000000006064820152608401610ef7565b600160801b8210613cab5760405162461bcd60e51b815260206004820152601c60248201527f5f622073686f756c64206265206c657373207468616e20325e313238000000006044820152606401610ef7565b60806f80000000000000000000000000000000613cc88486615131565b613cd29190615148565b901c9392505050565b6001600160a01b0381163b613d585760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201527f6f74206120636f6e7472616374000000000000000000000000000000000000006064820152608401610ef7565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b613da28361463a565b600082511180613daf5750805b15610e0b57613794838361467a565b6001600160a01b038116613dfe576040517fd1f2828800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6074546001600160a01b0316613e2757604051635df4b1ef60e01b815260040160405180910390fd5b6074546040517fa230c5240000000000000000000000000000000000000000000000000000000081526001600160a01b0383811660048301529091169063a230c52490602401602060405180830381865afa158015613e8a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613eae919061515b565b61139f576040517f6a5cfb6d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000805b8251811015613fa157828181518110613f0357613f03615842565b60200260200101516000015160000315613f8f576000838281518110613f2b57613f2b615842565b6020026020010151600001519050613f4281614536565b613f625760405163c1d17bef60e01b815260048101829052602401610ef7565b838281518110613f7457613f74615842565b60200260200101516020015183613f8b919061587a565b9250505b80613f9981615547565b915050613ee8565b506001600160a01b038316600090815260776020526040812054613fc5908361469f565b607454604051637817ee4f60e01b81526001600160a01b03878116600483015230602483015292935060009290911690637817ee4f90604401602060405180830381865afa15801561401b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061403f9190615178565b905080821115614085576040517fd64182fe0000000000000000000000000000000000000000000000000000000081526004810183905260248101829052604401610ef7565b506001600160a01b039093166000908152607760205260409020929092555050565b606060005b82518110156137945760008382815181106140c9576140c9615842565b60200260200101516000015190508251600003614125576040805160018082528183019092529060208083019080368337019050509250808360008151811061411457614114615842565b602002602001018181525050614278565b6000805b84518110156141a4578285828151811061414557614145615842565b602002602001015103614192576040517fadebb154000000000000000000000000000000000000000000000000000000008152600481018490526024810182905260019250604401610ef7565b8061419c81615547565b915050614129565b5080614276576000845160016141ba9190615148565b67ffffffffffffffff8111156141d2576141d26149b6565b6040519080825280602002602001820160405280156141fb578160200160208202803683370190505b50905060005b85518110156142535785818151811061421c5761421c615842565b602002602001015182828151811061423657614236615842565b60209081029190910101528061424b81615547565b915050614201565b50828186518151811061426857614268615842565b602090810291909101015293505b505b600084838151811061428c5761428c615842565b60209081029190910181015181015160008481526076835260408082206001600160a01b038b168352600981019094528120549193506142cc828561469f565b6001600160a01b038a1660009081526009850160205260408120829055909150805b6001600160a01b038b166000908152607860205260409020548110156143655784546001600160a01b038c16600090815260786020526040902080548390811061433a5761433a615842565b9060005260206000200154036143535760019150614365565b8061435d81615547565b9150506142ee565b508061439b576001600160a01b038a16600090815260786020908152604082208654815460018101835591845291909220909101555b8183116143eb576143ac83836150e6565b606e60008282546143bd9190615148565b909155506143cd905083836150e6565b8460020160008282546143e09190615148565b9091555061442f9050565b6143f582846150e6565b606e600082825461440691906150e6565b90915550614416905082846150e6565b84600201600082825461442991906150e6565b90915550505b8360070154600003614446574360078501556144b2565b6144508484612592565b60028401546003850154604080516001600160a01b038e168152602081018a9052908101859052606081019290925260808201527f0227f642ddcf2042ceaeafadb9d540f432072c00cd4862881667168dcc14710f9060a00160405180910390a15b50505050505080806144c390615547565b9150506140ac565b60008060008084865af1610fac5763b12d13eb6000526004601cfd5b81601452806034526fa9059cbb00000000000000000000000060005260206000604460106000875af13d15600160005114171661452c576390b8ec186000526004601cfd5b6000603452505050565b60008181526076602052604081205415801590610d8a5750506000908152607660205260409020600501546001600160a01b0316151590565b80516a636f6e736f6c652e6c6f67602083016000808483855afa5050505050565b600080608083901c156145a557608092831c92015b604083901c156145b757604092831c92015b602083901c156145c957602092831c92015b601083901c156145db57601092831c92015b600883901c156145ed57600892831c92015b600483901c156145ff57600492831c92015b600283901c1561461157600292831c92015b600183901c15610d8a5760010192915050565b6000818310614633578161105d565b5090919050565b61464381613cdb565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b606061105d83836040518060600160405280602781526020016158b7602791396146fa565b6000806146ac838561587a565b9050600081121561105d576040517f3bbc7142000000000000000000000000000000000000000000000000000000008152600481018590526024810184905260448101829052606401610ef7565b6060600080856001600160a01b031685604051614717919061589a565b600060405180830381855af49150503d8060008114614752576040519150601f19603f3d011682016040523d82523d6000602084013e614757565b606091505b509150915061476886838387614772565b9695505050505050565b606083156147e15782516000036147da576001600160a01b0385163b6147da5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610ef7565b50816147eb565b6147eb83836147f3565b949350505050565b8151156148035781518083602001fd5b8060405162461bcd60e51b8152600401610ef7919061534c565b60006020828403121561482f57600080fd5b5035919050565b634e487b7160e01b600052602160045260246000fd5b6005811061485c5761485c614836565b9052565b60005b8381101561487b578181015183820152602001614863565b50506000910152565b6000815180845261489c816020860160208601614860565b601f01601f19169290920160200192915050565b8051825260006020820151604060208501526147eb6040850182614884565b60006101408c83528b60208401528a60408401528960608401526001600160a01b03808a16608085015280891660a085015280881660c0850152508560e084015261491e61010084018661484c565b80610120840152614931818401856148b0565b9d9c50505050505050505050505050565b60006020828403121561495457600080fd5b81357fffffffff000000000000000000000000000000000000000000000000000000008116811461105d57600080fd5b6001600160a01b038116811461139f57600080fd5b6000602082840312156149ab57600080fd5b813561105d81614984565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff811182821017156149ef576149ef6149b6565b60405290565b604051610120810167ffffffffffffffff811182821017156149ef576149ef6149b6565b60405160c0810167ffffffffffffffff811182821017156149ef576149ef6149b6565b60405160a0810167ffffffffffffffff811182821017156149ef576149ef6149b6565b604051601f8201601f1916810167ffffffffffffffff81118282101715614a8857614a886149b6565b604052919050565b600067ffffffffffffffff821115614aaa57614aaa6149b6565b5060051b60200190565b600082601f830112614ac557600080fd5b81356020614ada614ad583614a90565b614a5f565b82815260059290921b84018101918181019086841115614af957600080fd5b8286015b84811015614b1d578035614b1081614984565b8352918301918301614afd565b509695505050505050565b600067ffffffffffffffff821115614b4257614b426149b6565b50601f01601f191660200190565b6000614b5e614ad584614b28565b9050828152838383011115614b7257600080fd5b828260208301376000602084830101529392505050565b600082601f830112614b9a57600080fd5b61105d83833560208501614b50565b600080600060608486031215614bbe57600080fd5b833567ffffffffffffffff80821115614bd657600080fd5b614be287838801614ab4565b94506020860135915080821115614bf857600080fd5b50614c0586828701614b89565b9250506040840135614c1681614984565b809150509250925092565b60008060408385031215614c3457600080fd5b823567ffffffffffffffff811115614c4b57600080fd5b614c5785828601614b89565b9250506020830135614c6881614984565b809150509250929050565b6004811061485c5761485c614836565b60208101610d8a8284614c73565b60008060408385031215614ca457600080fd5b8235614caf81614984565b946020939093013593505050565b600080600060608486031215614cd257600080fd5b505081359360208301359350604090920135919050565b6003811061485c5761485c614836565b60208101610d8a8284614ce9565b60008060408385031215614d1a57600080fd5b8235614d2581614984565b9150602083013567ffffffffffffffff811115614d4157600080fd5b614d4d85828601614b89565b9150509250929050565b60208152600061105d60208301846148b0565b60008060408385031215614d7d57600080fd5b823567ffffffffffffffff80821115614d9557600080fd5b614da186838701614ab4565b9350602091508185013581811115614db857600080fd5b8501601f81018713614dc957600080fd5b8035614dd7614ad582614a90565b81815260059190911b82018401908481019089831115614df657600080fd5b8584015b83811015614e2e57803586811115614e125760008081fd5b614e208c8983890101614b89565b845250918601918601614dfa565b508096505050505050509250929050565b602080825282518282018190526000919060409081850190868401855b82811015614e8a57815180516001600160a01b03168552860151868501529284019290850190600101614e5c565b5091979650505050505050565b801515811461139f57600080fd5b600060208284031215614eb757600080fd5b813561105d81614e97565b6001600160a01b038b811682528a811660208301528916604082015260608101889052608081018790526101408101614efe60a083018861484c565b8560c08301528460e083015283610100830152826101208301529b9a5050505050505050505050565b60008060408385031215614f3a57600080fd5b823591506020830135614c6881614984565b60006020808385031215614f5f57600080fd5b823567ffffffffffffffff811115614f7657600080fd5b8301601f81018513614f8757600080fd5b8035614f95614ad582614a90565b81815260069190911b82018301908381019087831115614fb457600080fd5b928401925b82841015612d6d5760408489031215614fd25760008081fd5b614fda6149cc565b843581528585013586820152825260409093019290840190614fb9565b602081016007831061500b5761500b614836565b91905290565b6000806040838503121561502457600080fd5b82359150602083013567ffffffffffffffff811115614d4157600080fd5b6000806040838503121561505557600080fd5b823561506081614984565b9150602083013567ffffffffffffffff81111561507c57600080fd5b8301601f8101851361508d57600080fd5b614d4d85823560208401614b50565b600181811c908216806150b057607f821691505b60208210810361171157634e487b7160e01b600052602260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b81810381811115610d8a57610d8a6150d0565b634e487b7160e01b600052601260045260246000fd5b60008261512c57634e487b7160e01b600052601260045260246000fd5b500490565b8082028115828204841417610d8a57610d8a6150d0565b80820180821115610d8a57610d8a6150d0565b60006020828403121561516d57600080fd5b815161105d81614e97565b60006020828403121561518a57600080fd5b5051919050565b6000602082840312156151a357600080fd5b815161105d81614984565b80516151b981614984565b919050565b8051600381106151b957600080fd5b8051600481106151b957600080fd5b6000602082840312156151ee57600080fd5b6040516020810181811067ffffffffffffffff82111715615211576152116149b6565b6040529151825250919050565b6000610120828403121561523157600080fd5b6152396149f5565b615242836151ae565b81526020830151602082015260408301516040820152606083015160608201526080830151608082015261527860a084016151be565b60a082015261528960c084016151cd565b60c082015261529b8460e085016151dc565b60e08201526101006152ae8185016151ae565b908201529392505050565b6000610140820190508382526001600160a01b038351166020830152602083015160408301526040830151606083015260608301516080830152608083015160a083015260a083015161530f60c0840182614ce9565b5060c083015161532260e0840182614c73565b5060e08301515161010083810191909152909201516001600160a01b031661012090910152919050565b60208152600061105d6020830184614884565b60006040828403121561537157600080fd5b6153796149cc565b905081518152602082015167ffffffffffffffff81111561539957600080fd5b8201601f810184136153aa57600080fd5b80516153b8614ad582614b28565b8181528560208385010111156153cd57600080fd5b6153de826020830160208601614860565b602084015250909392505050565b6000602082840312156153fe57600080fd5b815167ffffffffffffffff8082111561541657600080fd5b9083019060c0828603121561542a57600080fd5b615432614a19565b82518152602083015161544481614984565b6020820152604083015161545781614984565b604082015260608301518281111561546e57600080fd5b61547a8782860161535f565b6060830152506080830151608082015260a083015160a082015280935050505092915050565b6000602082840312156154b257600080fd5b815167ffffffffffffffff808211156154ca57600080fd5b9083019060a082860312156154de57600080fd5b6154e6614a3c565b8251815260208301516154f881614984565b602082015260408381015190820152606083015161551581614984565b606082015260808301518281111561552c57600080fd5b6155388782860161535f565b60808301525095945050505050565b600060018201615559576155596150d0565b5060010190565b601f821115610e0b57600081815260208120601f850160051c810160208610156155875750805b601f850160051c820191505b818110156155a657828155600101615593565b505050505050565b815167ffffffffffffffff8111156155c8576155c86149b6565b6155dc816155d6845461509c565b84615560565b602080601f83116001811461561157600084156155f95750858301515b600019600386901b1c1916600185901b1785556155a6565b600085815260208120601f198616915b8281101561564057888601518255948401946001909101908401615621565b508582101561565e5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60006020828403121561568057600080fd5b815160ff8116811461105d57600080fd5b600181815b808511156156cc5781600019048211156156b2576156b26150d0565b808516156156bf57918102915b93841c9390800290615696565b509250929050565b6000826156e357506001610d8a565b816156f057506000610d8a565b816001811461570657600281146157105761572c565b6001915050610d8a565b60ff841115615721576157216150d0565b50506001821b610d8a565b5060208310610133831016604e8410600b841016171561574f575081810a610d8a565b6157598383615691565b806000190482111561576d5761576d6150d0565b029392505050565b600061105d83836156d4565b634e487b7160e01b600052600160045260246000fd5b600060208083850312156157aa57600080fd5b825167ffffffffffffffff8111156157c157600080fd5b8301601f810185136157d257600080fd5b80516157e0614ad582614a90565b81815260069190911b820183019083810190878311156157ff57600080fd5b928401925b82841015612d6d576040848903121561581d5760008081fd5b6158256149cc565b845181528585015186820152825260409093019290840190615804565b634e487b7160e01b600052603260045260246000fd5b60408152600061586b6040830185614884565b90508260208301529392505050565b8082018281126000831280158216821582161715612e1957612e196150d0565b600082516158ac818460208701614860565b919091019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220c48cc12d179438205fdfccfa347c3f7a42e1628b0464d75d22b5c73259d5a99664736f6c6343000813003360806040526040516104ee3803806104ee833981016040819052610022916102de565b61002e82826000610035565b50506103fb565b61003e83610061565b60008251118061004b5750805b1561005c5761005a83836100a1565b505b505050565b61006a816100cd565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606100c683836040518060600160405280602781526020016104c760279139610180565b9392505050565b6001600160a01b0381163b61013f5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080856001600160a01b03168560405161019d91906103ac565b600060405180830381855af49150503d80600081146101d8576040519150601f19603f3d011682016040523d82523d6000602084013e6101dd565b606091505b5090925090506101ef868383876101f9565b9695505050505050565b60608315610268578251600003610261576001600160a01b0385163b6102615760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610136565b5081610272565b610272838361027a565b949350505050565b81511561028a5781518083602001fd5b8060405162461bcd60e51b815260040161013691906103c8565b634e487b7160e01b600052604160045260246000fd5b60005b838110156102d55781810151838201526020016102bd565b50506000910152565b600080604083850312156102f157600080fd5b82516001600160a01b038116811461030857600080fd5b60208401519092506001600160401b038082111561032557600080fd5b818501915085601f83011261033957600080fd5b81518181111561034b5761034b6102a4565b604051601f8201601f19908116603f01168101908382118183101715610373576103736102a4565b8160405282815288602084870101111561038c57600080fd5b61039d8360208301602088016102ba565b80955050505050509250929050565b600082516103be8184602087016102ba565b9190910192915050565b60208152600082518060208401526103e78160408501602087016102ba565b601f01601f19169190910160400192915050565b60be806104096000396000f3fe608060405236601057600e6013565b005b600e5b601f601b6021565b6065565b565b600060607f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b905090565b3660008037600080366000845af43d6000803e8080156083573d6000f35b3d6000fdfea26469706673582212204ff6082523a0497cb45cb43d3d639dba31b196359b7f035ed946d507d89a80c764736f6c63430008130033416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c656467617264656e73466163746f72792e67657447617264656e7346656552656365697665722829416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a264697066735822122021ab31b51ced700c35259f0eb0c59f2095f1fbcf2c8bd0efe59a0682d6a8b74164736f6c6343000813003360806040526040516104ee3803806104ee833981016040819052610022916102de565b61002e82826000610035565b50506103fb565b61003e83610061565b60008251118061004b5750805b1561005c5761005a83836100a1565b505b505050565b61006a816100cd565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606100c683836040518060600160405280602781526020016104c760279139610180565b9392505050565b6001600160a01b0381163b61013f5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080856001600160a01b03168560405161019d91906103ac565b600060405180830381855af49150503d80600081146101d8576040519150601f19603f3d011682016040523d82523d6000602084013e6101dd565b606091505b5090925090506101ef868383876101f9565b9695505050505050565b60608315610268578251600003610261576001600160a01b0385163b6102615760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610136565b5081610272565b610272838361027a565b949350505050565b81511561028a5781518083602001fd5b8060405162461bcd60e51b815260040161013691906103c8565b634e487b7160e01b600052604160045260246000fd5b60005b838110156102d55781810151838201526020016102bd565b50506000910152565b600080604083850312156102f157600080fd5b82516001600160a01b038116811461030857600080fd5b60208401519092506001600160401b038082111561032557600080fd5b818501915085601f83011261033957600080fd5b81518181111561034b5761034b6102a4565b604051601f8201601f19908116603f01168101908382118183101715610373576103736102a4565b8160405282815288602084870101111561038c57600080fd5b61039d8360208301602088016102ba565b80955050505050509250929050565b600082516103be8184602087016102ba565b9190910192915050565b60208152600082518060208401526103e78160408501602087016102ba565b601f01601f19169190910160400192915050565b60be806104096000396000f3fe608060405236601057600e6013565b005b600e5b601f601b6021565b6065565b565b600060607f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b905090565b3660008037600080366000845af43d6000803e8080156083573d6000f35b3d6000fdfea26469706673582212204ff6082523a0497cb45cb43d3d639dba31b196359b7f035ed946d507d89a80c764736f6c63430008130033416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a26469706673582212205ada0082260b3b15898752a71c29f08079434fb05baafa3e61ee81deb8b4116b64736f6c63430008130033","sourceMap":"422:639:137:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3807:249:136;;;;;;;;;;-1:-1:-1;3807:249:136;;;;;:::i;:::-;;:::i;:::-;;;710:25:151;;;698:2;683:18;3807:249:136;;;;;;;;3143:195:68;;;;;;;;;;-1:-1:-1;3143:195:68;;;;;:::i;:::-;;:::i;:::-;;3657:220;;;;;;:::i;:::-;;:::i;2762:131::-;;;;;;;;;;;;;:::i;3443:208:136:-;;;;;;;;;;-1:-1:-1;3443:208:136;;;;;:::i;:::-;;:::i;978:81:137:-;;;;;;;;;;;;;:::i;2085:101:46:-;;;;;;;;;;;;;:::i;2870:222:136:-;;;;;;;;;;-1:-1:-1;2870:222:136;;;;;:::i;:::-;;:::i;2100:764::-;;;;;;;;;;-1:-1:-1;2100:764:136;;;;;:::i;:::-;;:::i;:::-;;;-1:-1:-1;;;;;5932:55:151;;;5914:74;;5902:2;5887:18;2100:764:136;5768:226:151;1462:85:46;;;;;;;;;;-1:-1:-1;1534:6:46;;-1:-1:-1;;;;;1534:6:46;1462:85;;3098:115:136;;;;;;;;;;-1:-1:-1;3188:18:136;;-1:-1:-1;;;;;3188:18:136;3098:115;;667:20;;;;;;;;;;;;;;;;3219:218;;;;;;;;;;-1:-1:-1;3219:218:136;;;;;:::i;:::-;;:::i;749:33::-;;;;;;;;;;-1:-1:-1;749:33:136;;;;-1:-1:-1;;;;;749:33:136;;;1753:341;;;;;;;;;;-1:-1:-1;1753:341:136;;;;;:::i;:::-;;:::i;2335:198:46:-;;;;;;;;;;-1:-1:-1;2335:198:46;;;;;:::i;:::-;;:::i;3657:144:136:-;;;;;;;;;;-1:-1:-1;3657:144:136;;;;;:::i;:::-;-1:-1:-1;;;;;3761:27:136;3738:4;3761:27;;;:15;:27;;;;;:33;;;;;;3657:144;;;;6580:14:151;;6573:22;6555:41;;6543:2;6528:18;3657:144:136;6415:187:151;3807:249:136;-1:-1:-1;;;;;3906:27:136;;3882:7;3906:27;;;:15;:27;;;;;:33;;;;;3901:100;;3962:28;;;;;-1:-1:-1;;;;;5932:55:151;;3962:28:136;;;5914:74:151;5887:18;;3962:28:136;;;;;;;;3901:100;-1:-1:-1;;;;;;4018:27:136;;;;;:15;:27;;;;;:31;;3807:249::o;3143:195:68:-;-1:-1:-1;;;;;1654:6:68;1637:23;1645:4;1637:23;1629:80;;;;-1:-1:-1;;;1629:80:68;;6809:2:151;1629:80:68;;;6791:21:151;6848:2;6828:18;;;6821:30;6887:34;6867:18;;;6860:62;-1:-1:-1;;;6938:18:151;;;6931:42;6990:19;;1629:80:68;6607:408:151;1629:80:68;1751:6;-1:-1:-1;;;;;1727:30:68;:20;1030:66:64;1254:54;-1:-1:-1;;;;;1254:54:64;;1175:140;1727:20:68;-1:-1:-1;;;;;1727:30:68;;1719:87;;;;-1:-1:-1;;;1719:87:68;;7222:2:151;1719:87:68;;;7204:21:151;7261:2;7241:18;;;7234:30;7300:34;7280:18;;;7273:62;-1:-1:-1;;;7351:18:151;;;7344:42;7403:19;;1719:87:68;7020:408:151;1719:87:68;3224:36:::1;3242:17;3224;:36::i;:::-;3311:12;::::0;;3321:1:::1;3311:12:::0;;;::::1;::::0;::::1;::::0;;;3270:61:::1;::::0;3292:17;;3311:12;3270:21:::1;:61::i;:::-;3143:195:::0;:::o;3657:220::-;-1:-1:-1;;;;;1654:6:68;1637:23;1645:4;1637:23;1629:80;;;;-1:-1:-1;;;1629:80:68;;6809:2:151;1629:80:68;;;6791:21:151;6848:2;6828:18;;;6821:30;6887:34;6867:18;;;6860:62;-1:-1:-1;;;6938:18:151;;;6931:42;6990:19;;1629:80:68;6607:408:151;1629:80:68;1751:6;-1:-1:-1;;;;;1727:30:68;:20;1030:66:64;1254:54;-1:-1:-1;;;;;1254:54:64;;1175:140;1727:20:68;-1:-1:-1;;;;;1727:30:68;;1719:87;;;;-1:-1:-1;;;1719:87:68;;7222:2:151;1719:87:68;;;7204:21:151;7261:2;7241:18;;;7234:30;7300:34;7280:18;;;7273:62;-1:-1:-1;;;7351:18:151;;;7344:42;7403:19;;1719:87:68;7020:408:151;1719:87:68;3772:36:::1;3790:17;3772;:36::i;:::-;3818:52;3840:17;3859:4;3865;3818:21;:52::i;:::-;3657:220:::0;;:::o;2762:131::-;2840:7;2080:4;-1:-1:-1;;;;;2089:6:68;2072:23;;2064:92;;;;-1:-1:-1;;;2064:92:68;;7635:2:151;2064:92:68;;;7617:21:151;7674:2;7654:18;;;7647:30;7713:34;7693:18;;;7686:62;7784:26;7764:18;;;7757:54;7828:19;;2064:92:68;7433:420:151;2064:92:68;-1:-1:-1;1030:66:64::1;2762:131:68::0;:::o;3443:208:136:-;1355:13:46;:11;:13::i;:::-;-1:-1:-1;;;;;3543:27:136;::::1;;::::0;;;:15:::1;:27;::::0;;;;;;;;:33:::1;;:44:::0;;-1:-1:-1;;3543:44:136::1;::::0;::::1;;::::0;;::::1;::::0;;;3602:42;;8026:74:151;;;8116:18;;;8109:50;3602:42:136::1;::::0;7999:18:151;3602:42:136::1;;;;;;;;3443:208:::0;;:::o;978:81:137:-;4882:13:48;;1023:1:137;;4882:13:48;;;;;4881:14;:40;;;;-1:-1:-1;4899:12:48;;:22;;;;:12;;:22;4881:40;4873:99;;;;-1:-1:-1;;;4873:99:48;;8372:2:151;4873:99:48;;;8354:21:151;8411:2;8391:18;;;8384:30;8450:34;8430:18;;;8423:62;8521:16;8501:18;;;8494:44;8555:19;;4873:99:48;8170:410:151;4873:99:48;4982:12;:22;;-1:-1:-1;;5014:20:48;4982:22;;;5014:20;4982:22;5014:20;;;1036:16:137::1;:14;:16::i;:::-;5071:5:48::0;5055:21;;-1:-1:-1;;5055:21:48;;;5091:20;;8757:4:151;8745:17;;8727:36;;5091:20:48;;8715:2:151;8700:18;5091:20:48;;;;;;;;978:81:137;:::o;2085:101:46:-;1355:13;:11;:13::i;:::-;2149:30:::1;2176:1;2149:18;:30::i;:::-;2085:101::o:0;2870:222:136:-;1355:13:46;:11;:13::i;:::-;2958:35:136::1;2977:15;2958:18;:35::i;:::-;3003:18;:36:::0;;-1:-1:-1;;3003:36:136::1;-1:-1:-1::0;;;;;3003:36:136;::::1;::::0;;::::1;::::0;;;3054:31:::1;::::0;5914:74:151;;;3054:31:136::1;::::0;5902:2:151;5887:18;3054:31:136::1;5768:226:151::0;2100:764:136;2289:5;:7;;2226:31;;;2289:7;;;:::i;:::-;;;;-1:-1:-1;2273:13:136;;;:23;2340:4;2306:23;;;:39;2415:27;;-1:-1:-1;;2415:27:136;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2457:73:136;;2480:41;;2457:73;;2523:6;;2457:73;;;:::i;:::-;;;;-1:-1:-1;;2457:73:136;;;;;;;;;;;;;;;;;;;;;;;;;;;2377:163;;;;;:::i;:::-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;2699:43:136;;2551:39;2699:43;;;:15;:43;;;;;;;;;2751:4;2699:49;;;:56;;-1:-1:-1;;2699:56:136;;;;;;2770:44;;5914:74:151;;;2699:43:136;;-1:-1:-1;2699:43:136;;2770:44;;5887:18:151;2770:44:136;;;;;;;2839:17;2100:764;-1:-1:-1;;;2100:764:136:o;3219:218::-;1355:13:46;:11;:13::i;:::-;-1:-1:-1;;;;;3323:27:136;::::1;;::::0;;;:15:::1;:27;::::0;;;;;;;;:49;;;3387:43;;12254:74:151;;;12344:18;;12337:34;;;3387:43:136::1;::::0;12227:18:151;3387:43:136::1;12080:297:151::0;1753:341:136;3279:19:48;3302:13;;;;;;3301:14;;3347:34;;;;-1:-1:-1;3365:12:48;;3380:1;3365:12;;;;:16;3347:34;3346:108;;;-1:-1:-1;3426:4:48;1713:19:51;:23;;;3387:66:48;;-1:-1:-1;3436:12:48;;;;;:17;3387:66;3325:201;;;;-1:-1:-1;;;3325:201:48;;8372:2:151;3325:201:48;;;8354:21:151;8411:2;8391:18;;;8384:30;8450:34;8430:18;;;8423:62;8521:16;8501:18;;;8494:44;8555:19;;3325:201:48;8170:410:151;3325:201:48;3536:12;:16;;-1:-1:-1;;3536:16:48;3551:1;3536:16;;;3562:65;;;;3596:13;:20;;-1:-1:-1;;3596:20:48;;;;;3562:65;1839:16:136::1;:14;:16::i;:::-;1873:1;1865:5;:9:::0;1884:39:::1;1903:19:::0;1884:18:::1;:39::i;:::-;1933:18;:40:::0;;-1:-1:-1;;1933:40:136::1;-1:-1:-1::0;;;;;1933:40:136;::::1;::::0;;::::1;::::0;;;1988:35:::1;::::0;5914:74:151;;;1988:35:136::1;::::0;5902:2:151;5887:18;1988:35:136::1;;;;;;;3651:14:48::0;3647:99;;;3697:5;3681:21;;-1:-1:-1;;3681:21:48;;;3721:14;;-1:-1:-1;8727:36:151;;3721:14:48;;8715:2:151;8700:18;3721:14:48;8585:184:151;2335:198:46;1355:13;:11;:13::i;:::-;-1:-1:-1;;;;;2423:22:46;::::1;2415:73;;;::::0;-1:-1:-1;;;2415:73:46;;12783:2:151;2415:73:46::1;::::0;::::1;12765:21:151::0;12822:2;12802:18;;;12795:30;12861:34;12841:18;;;12834:62;12932:8;12912:18;;;12905:36;12958:19;;2415:73:46::1;12581:402:151::0;2415:73:46::1;2498:28;2517:8;2498:18;:28::i;4062:74:136:-:0;1355:13:46;:11;:13::i;2494:922:64:-;689:66;2910:48;;;2906:504;;;2974:37;2993:17;2974:18;:37::i;:::-;2494:922;;;:::o;2906:504::-;3064:17;-1:-1:-1;;;;;3046:50:64;;:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3046:52:64;;;;;;;;-1:-1:-1;;3046:52:64;;;;;;;;;;;;:::i;:::-;;;3042:291;;3262:56;;-1:-1:-1;;;3262:56:64;;13379:2:151;3262:56:64;;;13361:21:151;13418:2;13398:18;;;13391:30;13457:34;13437:18;;;13430:62;13528:16;13508:18;;;13501:44;13562:19;;3262:56:64;13177:410:151;3042:291:64;1030:66;3148:28;;3140:82;;;;-1:-1:-1;;;3140:82:64;;13794:2:151;3140:82:64;;;13776:21:151;13833:2;13813:18;;;13806:30;13872:34;13852:18;;;13845:62;13943:11;13923:18;;;13916:39;13972:19;;3140:82:64;13592:405:151;3140:82:64;3099:138;3346:53;3364:17;3383:4;3389:9;3346:17;:53::i;1620:130:46:-;1534:6;;-1:-1:-1;;;;;1534:6:46;965:10:52;1683:23:46;1675:68;;;;-1:-1:-1;;;1675:68:46;;14204:2:151;1675:68:46;;;14186:21:151;;;14223:18;;;14216:30;14282:34;14262:18;;;14255:62;14334:18;;1675:68:46;14002:356:151;1024:95:46;5374:13:48;;;;;;;5366:69;;;;-1:-1:-1;;;5366:69:48;;14565:2:151;5366:69:48;;;14547:21:151;14604:2;14584:18;;;14577:30;14643:34;14623:18;;;14616:62;-1:-1:-1;;;14694:18:151;;;14687:41;14745:19;;5366:69:48;14363:407:151;5366:69:48;1086:26:46::1;:24;:26::i;2687:187::-:0;2779:6;;;-1:-1:-1;;;;;2795:17:46;;;-1:-1:-1;;2795:17:46;;;;;;;2827:40;;2779:6;;;2795:17;2779:6;;2827:40;;2760:16;;2827:40;2750:124;2687:187;:::o;1614:133:136:-;-1:-1:-1;;;;;1688:22:136;;1684:56;;1719:21;;;;;;;;;;;;;;1406:259:64;-1:-1:-1;;;;;1713:19:51;;;1479:95:64;;;;-1:-1:-1;;;1479:95:64;;14977:2:151;1479:95:64;;;14959:21:151;15016:2;14996:18;;;14989:30;15055:34;15035:18;;;15028:62;15126:15;15106:18;;;15099:43;15159:19;;1479:95:64;14775:409:151;1479:95:64;1030:66;1584:74;;-1:-1:-1;;1584:74:64;-1:-1:-1;;;;;1584:74:64;;;;;;;;;;1406:259::o;2057:265::-;2165:29;2176:17;2165:10;:29::i;:::-;2222:1;2208:4;:11;:15;:28;;;;2227:9;2208:28;2204:112;;;2252:53;2281:17;2300:4;2252:28;:53::i;:::-;;2057:265;;;:::o;1125:111:46:-;5374:13:48;;;;;;;5366:69;;;;-1:-1:-1;;;5366:69:48;;14565:2:151;5366:69:48;;;14547:21:151;14604:2;14584:18;;;14577:30;14643:34;14623:18;;;14616:62;-1:-1:-1;;;14694:18:151;;;14687:41;14745:19;;5366:69:48;14363:407:151;5366:69:48;1197:32:46::1;965:10:52::0;1197:18:46::1;:32::i;1771:152:64:-:0;1837:37;1856:17;1837:18;:37::i;:::-;1889:27;;-1:-1:-1;;;;;1889:27:64;;;;;;;;1771:152;:::o;6674:198:80:-;6757:12;6788:77;6809:6;6817:4;6788:77;;;;;;;;;;;;;;;;;:20;:77::i;:::-;6781:84;6674:198;-1:-1:-1;;;6674:198:80:o;7058:325::-;7199:12;7224;7238:23;7265:6;-1:-1:-1;;;;;7265:19:80;7285:4;7265:25;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7223:67;;;;7307:69;7334:6;7342:7;7351:10;7363:12;7307:26;:69::i;:::-;7300:76;7058:325;-1:-1:-1;;;;;;7058:325:80:o;7671:628::-;7851:12;7879:7;7875:418;;;7906:10;:17;7927:1;7906:22;7902:286;;-1:-1:-1;;;;;1713:19:51;;;8113:60:80;;;;-1:-1:-1;;;8113:60:80;;15683:2:151;8113:60:80;;;15665:21:151;15722:2;15702:18;;;15695:30;15761:31;15741:18;;;15734:59;15810:18;;8113:60:80;15481:353:151;8113:60:80;-1:-1:-1;8208:10:80;8201:17;;7875:418;8249:33;8257:10;8269:12;8249:7;:33::i;:::-;7671:628;;;;;;:::o;8821:540::-;8980:17;;:21;8976:379;;9208:10;9202:17;9264:15;9251:10;9247:2;9243:19;9236:44;8976:379;9331:12;9324:20;;-1:-1:-1;;;9324:20:80;;;;;;;;:::i;-1:-1:-1:-;;;;;;;;:::o;:::-;;;;;;;;:::o;14:154:151:-;-1:-1:-1;;;;;93:5:151;89:54;82:5;79:65;69:93;;158:1;155;148:12;173:134;241:20;;270:31;241:20;270:31;:::i;:::-;173:134;;;:::o;312:247::-;371:6;424:2;412:9;403:7;399:23;395:32;392:52;;;440:1;437;430:12;392:52;479:9;466:23;498:31;523:5;498:31;:::i;746:184::-;-1:-1:-1;;;795:1:151;788:88;895:4;892:1;885:15;919:4;916:1;909:15;935:250;1002:2;996:9;1044:6;1032:19;;1081:18;1066:34;;1102:22;;;1063:62;1060:88;;;1128:18;;:::i;:::-;1164:2;1157:22;935:250;:::o;1190:631::-;1254:5;1284:18;1325:2;1317:6;1314:14;1311:40;;;1331:18;;:::i;:::-;1406:2;1400:9;1374:2;1460:15;;-1:-1:-1;;1456:24:151;;;1482:2;1452:33;1448:42;1436:55;;;1506:18;;;1526:22;;;1503:46;1500:72;;;1552:18;;:::i;:::-;1592:10;1588:2;1581:22;1621:6;1612:15;;1651:6;1643;1636:22;1691:3;1682:6;1677:3;1673:16;1670:25;1667:45;;;1708:1;1705;1698:12;1667:45;1758:6;1753:3;1746:4;1738:6;1734:17;1721:44;1813:1;1806:4;1797:6;1789;1785:19;1781:30;1774:41;;;;1190:631;;;;;:::o;1826:584::-;1903:6;1911;1964:2;1952:9;1943:7;1939:23;1935:32;1932:52;;;1980:1;1977;1970:12;1932:52;2019:9;2006:23;2038:31;2063:5;2038:31;:::i;:::-;2088:5;-1:-1:-1;2144:2:151;2129:18;;2116:32;2171:18;2160:30;;2157:50;;;2203:1;2200;2193:12;2157:50;2226:22;;2279:4;2271:13;;2267:27;-1:-1:-1;2257:55:151;;2308:1;2305;2298:12;2257:55;2331:73;2396:7;2391:2;2378:16;2373:2;2369;2365:11;2331:73;:::i;:::-;2321:83;;;1826:584;;;;;:::o;2597:160::-;2662:20;;2718:13;;2711:21;2701:32;;2691:60;;2747:1;2744;2737:12;2762:315;2827:6;2835;2888:2;2876:9;2867:7;2863:23;2859:32;2856:52;;;2904:1;2901;2894:12;2856:52;2943:9;2930:23;2962:31;2987:5;2962:31;:::i;:::-;3012:5;-1:-1:-1;3036:35:151;3067:2;3052:18;;3036:35;:::i;:::-;3026:45;;2762:315;;;;;:::o;3082:221::-;3125:5;3178:3;3171:4;3163:6;3159:17;3155:27;3145:55;;3196:1;3193;3186:12;3145:55;3218:79;3293:3;3284:6;3271:20;3264:4;3256:6;3252:17;3218:79;:::i;3308:610::-;3363:5;3411:4;3399:9;3394:3;3390:19;3386:30;3383:50;;;3429:1;3426;3419:12;3383:50;3462:4;3456:11;3506:4;3498:6;3494:17;3530:18;3598:6;3586:10;3583:22;3578:2;3566:10;3563:18;3560:46;3557:72;;;3609:18;;:::i;:::-;3651:10;3645:4;3638:24;3680:6;3671:15;;3723:9;3710:23;3702:6;3695:39;3785:2;3774:9;3770:18;3757:32;3743:46;;3812:2;3804:6;3801:14;3798:34;;;3828:1;3825;3818:12;3798:34;;3865:46;3907:3;3898:6;3887:9;3883:22;3865:46;:::i;:::-;3860:2;3852:6;3848:15;3841:71;;;3308:610;;;;:::o;3923:1708::-;4017:6;4070:2;4058:9;4049:7;4045:23;4041:32;4038:52;;;4086:1;4083;4076:12;4038:52;4126:9;4113:23;4155:18;4196:2;4188:6;4185:14;4182:34;;;4212:1;4209;4202:12;4182:34;4235:22;;;;4291:6;4273:16;;;4269:29;4266:49;;;4311:1;4308;4301:12;4266:49;4337:17;;:::i;:::-;4377:22;4396:2;4377:22;:::i;:::-;4370:5;4363:37;4432:31;4459:2;4455;4451:11;4432:31;:::i;:::-;4427:2;4420:5;4416:14;4409:55;4517:2;4513;4509:11;4496:25;4491:2;4484:5;4480:14;4473:49;4575:2;4571;4567:11;4554:25;4549:2;4542:5;4538:14;4531:49;4634:3;4630:2;4626:12;4613:26;4607:3;4600:5;4596:15;4589:51;4673:32;4700:3;4696:2;4692:12;4673:32;:::i;:::-;4667:3;4660:5;4656:15;4649:57;4739:32;4766:3;4762:2;4758:12;4739:32;:::i;:::-;4733:3;4726:5;4722:15;4715:57;4818:3;4814:2;4810:12;4797:26;4848:2;4838:8;4835:16;4832:36;;;4864:1;4861;4854:12;4832:36;4901:54;4947:7;4936:8;4932:2;4928:17;4901:54;:::i;:::-;4895:3;4888:5;4884:15;4877:79;;4975:3;5010:31;5037:2;5033;5029:11;5010:31;:::i;:::-;4994:14;;;4987:55;5061:3;5102:11;;;5089:25;5126:16;;;5123:36;;;5155:1;5152;5145:12;5123:36;5191:45;5228:7;5217:8;5213:2;5209:17;5191:45;:::i;:::-;5186:2;5179:5;5175:14;5168:69;;;5256:3;5291:28;5315:2;5311;5307:11;5291:28;:::i;:::-;5275:14;;;5268:52;5339:3;5380:11;;;5367:25;5404:16;;;5401:36;;;5433:1;5430;5423:12;5401:36;5469:45;5506:7;5495:8;5491:2;5487:17;5469:45;:::i;:::-;5464:2;5457:5;5453:14;5446:69;;;5534:3;5524:13;;5569:31;5596:2;5592;5588:11;5569:31;:::i;:::-;5553:14;;;5546:55;;;;5557:5;3923:1708;-1:-1:-1;;;;3923:1708:151:o;5999:315::-;6067:6;6075;6128:2;6116:9;6107:7;6103:23;6099:32;6096:52;;;6144:1;6141;6134:12;6096:52;6183:9;6170:23;6202:31;6227:5;6202:31;:::i;:::-;6252:5;6304:2;6289:18;;;;6276:32;;-1:-1:-1;;;5999:315:151:o;8774:289::-;8813:3;8834:17;;;8831:197;;-1:-1:-1;;;8881:1:151;8874:88;8985:4;8982:1;8975:15;9013:4;9010:1;9003:15;8831:197;-1:-1:-1;9055:1:151;9044:13;;8774:289::o;9068:250::-;9153:1;9163:113;9177:6;9174:1;9171:13;9163:113;;;9253:11;;;9247:18;9234:11;;;9227:39;9199:2;9192:10;9163:113;;;-1:-1:-1;;9310:1:151;9292:16;;9285:27;9068:250::o;9323:271::-;9365:3;9403:5;9397:12;9430:6;9425:3;9418:19;9446:76;9515:6;9508:4;9503:3;9499:14;9492:4;9485:5;9481:16;9446:76;:::i;:::-;9576:2;9555:15;-1:-1:-1;;9551:29:151;9542:39;;;;9583:4;9538:50;;9323:271;-1:-1:-1;;9323:271:151:o;9599:252::-;9686:5;9680:12;9675:3;9668:25;9650:3;9739:4;9732:5;9728:16;9722:23;9777:4;9770;9765:3;9761:14;9754:28;9798:47;9839:4;9834:3;9830:14;9816:12;9798:47;:::i;9856:1876::-;10055:2;10044:9;10037:21;10067:53;10116:2;10105:9;10101:18;10092:6;10086:13;-1:-1:-1;;;;;5702:54:151;5690:67;;5636:127;10067:53;10018:4;10167:2;10159:6;10155:15;10149:22;10180:52;10228:2;10217:9;10213:18;10199:12;-1:-1:-1;;;;;5702:54:151;5690:67;;5636:127;10180:52;;10286:2;10278:6;10274:15;10268:22;10263:2;10252:9;10248:18;10241:50;10346:2;10338:6;10334:15;10328:22;10322:3;10311:9;10307:19;10300:51;10406:3;10398:6;10394:16;10388:23;10382:3;10371:9;10367:19;10360:52;10461:3;10453:6;10449:16;10443:23;10475:55;10525:3;10514:9;10510:19;10494:14;-1:-1:-1;;;;;5702:54:151;5690:67;;5636:127;10475:55;-1:-1:-1;10579:3:151;10567:16;;10561:23;-1:-1:-1;;;;;5702:54:151;;10643:3;10628:19;;5690:67;10593:55;10697:3;10689:6;10685:16;10679:23;10721:6;10746:3;10785:2;10780;10769:9;10765:18;10758:30;10811:63;10869:3;10858:9;10854:19;10838:14;10811:63;:::i;:::-;10911:15;;;10905:22;10797:77;;-1:-1:-1;10946:3:151;10958:54;10993:18;;;10905:22;-1:-1:-1;;;;;5702:54:151;5690:67;;5636:127;10958:54;11061:2;11053:6;11049:15;11043:22;11021:44;;;11088:2;11084:7;11110:3;11177:2;11165:9;11157:6;11153:22;11149:31;11144:2;11133:9;11129:18;11122:59;11204:41;11238:6;11222:14;11204:41;:::i;:::-;11190:55;;11294:2;11286:6;11282:15;11276:22;11254:44;;;11317:3;11329:51;11376:2;11365:9;11361:18;11345:14;6389:13;6382:21;6370:34;;6319:91;11329:51;11429:2;11421:6;11417:15;11411:22;11389:44;;;11452:3;11519:2;11507:9;11499:6;11495:22;11491:31;11486:2;11475:9;11471:18;11464:59;11546:41;11580:6;11564:14;11546:41;:::i;:::-;11532:55;;11636:2;11628:6;11624:15;11618:22;11596:44;;;;11649:54;11699:2;11688:9;11684:18;11668:14;-1:-1:-1;;;;;5702:54:151;5690:67;;5636:127;11649:54;-1:-1:-1;11720:6:151;;9856:1876;-1:-1:-1;;;;9856:1876:151:o;11737:338::-;-1:-1:-1;;;;;11916:6:151;11912:55;11901:9;11894:74;12004:2;11999;11988:9;11984:18;11977:30;11875:4;12024:45;12065:2;12054:9;12050:18;12042:6;12024:45;:::i;12988:184::-;13058:6;13111:2;13099:9;13090:7;13086:23;13082:32;13079:52;;;13127:1;13124;13117:12;13079:52;-1:-1:-1;13150:16:151;;12988:184;-1:-1:-1;12988:184:151:o;15189:287::-;15318:3;15356:6;15350:13;15372:66;15431:6;15426:3;15419:4;15411:6;15407:17;15372:66;:::i;:::-;15454:16;;;;;15189:287;-1:-1:-1;;15189:287:151:o;15839:220::-;15988:2;15977:9;15970:21;15951:4;16008:45;16049:2;16038:9;16034:18;16026:6;16008:45;:::i","linkReferences":{},"immutableReferences":{"56113":[{"start":1077,"length":32},{"start":1212,"length":32},{"start":1465,"length":32},{"start":1600,"length":32},{"start":1841,"length":32}]}},"methodIdentifiers":{"createRegistry((address,address,uint256,uint256,uint256,address,address,(uint256,string),address,string,bool,string,address))":"8a16135f","gardensFeeReceiver()":"b8bed901","getCommunityValidity(address)":"f5016b5e","getGardensFeeReceiver()":"987435be","getProtocolFee(address)":"0a992e0c","initialize(address)":"c4d66de8","initializeV2()":"5cd8a76b","nonce()":"affed0e0","owner()":"8da5cb5b","proxiableUUID()":"52d1902d","renounceOwnership()":"715018a6","setCommunityValidity(address,bool)":"5a2c8ace","setProtocolFee(address,uint256)":"b5b3ca2c","setReceiverAddress(address)":"8279c7db","transferOwnership(address)":"f2fde38b","upgradeTo(address)":"3659cfe6","upgradeToAndCall(address,bytes)":"4f1ef286"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"AddressCannotBeZero\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_community\",\"type\":\"address\"}],\"name\":\"CommunityInvalid\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"previousAdmin\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"newAdmin\",\"type\":\"address\"}],\"name\":\"AdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"beacon\",\"type\":\"address\"}],\"name\":\"BeaconUpgraded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_registryCommunity\",\"type\":\"address\"}],\"name\":\"CommunityCreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_community\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"_isValid\",\"type\":\"bool\"}],\"name\":\"CommunityValiditySet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_newFeeReceiver\",\"type\":\"address\"}],\"name\":\"FeeReceiverSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"version\",\"type\":\"uint8\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_community\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_newProtocolFee\",\"type\":\"uint256\"}],\"name\":\"ProtocolFeeSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"Upgraded\",\"type\":\"event\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"_allo\",\"type\":\"address\"},{\"internalType\":\"contract IERC20\",\"name\":\"_gardenToken\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_registerStakeAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_communityFee\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_nonce\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_registryFactory\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_feeReceiver\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"protocol\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"pointer\",\"type\":\"string\"}],\"internalType\":\"struct Metadata\",\"name\":\"_metadata\",\"type\":\"tuple\"},{\"internalType\":\"address payable\",\"name\":\"_councilSafe\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"_communityName\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"_isKickEnabled\",\"type\":\"bool\"},{\"internalType\":\"string\",\"name\":\"covenantIpfsHash\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"_strategyTemplate\",\"type\":\"address\"}],\"internalType\":\"struct RegistryCommunityV0_0.InitializeParams\",\"name\":\"params\",\"type\":\"tuple\"}],\"name\":\"createRegistry\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"_createdRegistryAddress\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"gardensFeeReceiver\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_community\",\"type\":\"address\"}],\"name\":\"getCommunityValidity\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getGardensFeeReceiver\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_community\",\"type\":\"address\"}],\"name\":\"getProtocolFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_gardensFeeReceiver\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"initializeV2\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nonce\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proxiableUUID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_community\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"_isValid\",\"type\":\"bool\"}],\"name\":\"setCommunityValidity\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_community\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_newProtocolFee\",\"type\":\"uint256\"}],\"name\":\"setProtocolFee\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_newFeeReceiver\",\"type\":\"address\"}],\"name\":\"setReceiverAddress\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"}],\"name\":\"upgradeTo\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"upgradeToAndCall\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"}],\"devdoc\":{\"custom:oz-upgrades-from\":\"RegistryFactoryV0_0\",\"events\":{\"AdminChanged(address,address)\":{\"details\":\"Emitted when the admin account has changed.\"},\"BeaconUpgraded(address)\":{\"details\":\"Emitted when the beacon is changed.\"},\"Initialized(uint8)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"Upgraded(address)\":{\"details\":\"Emitted when the implementation is upgraded.\"}},\"kind\":\"dev\",\"methods\":{\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"proxiableUUID()\":{\"details\":\"Implementation of the ERC1822 {proxiableUUID} function. This returns the storage slot used by the implementation. It is used to validate the implementation's compatibility when performing an upgrade. IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this function revert if invoked through a proxy. This is guaranteed by the `notDelegated` modifier.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"},\"upgradeTo(address)\":{\"custom:oz-upgrades-unsafe-allow-reachable\":\"delegatecall\",\"details\":\"Upgrade the implementation of the proxy to `newImplementation`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event.\"},\"upgradeToAndCall(address,bytes)\":{\"custom:oz-upgrades-unsafe-allow-reachable\":\"delegatecall\",\"details\":\"Upgrade the implementation of the proxy to `newImplementation`, and subsequently execute the function call encoded in `data`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"pkg/contracts/src/RegistryFactoryV0_1.sol\":\"RegistryFactoryV0_1\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1000},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":eas-proxy/=lib/allo-v2/lib/eas-proxy/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":hedgey-vesting/=lib/allo-v2/lib/hedgey-vesting/contracts/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-contracts/=lib/safe-contracts/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":superfluid-protocol-monorepo/=lib/allo-v2/lib/superfluid-protocol-monorepo/packages/solidity-semantic-money/src/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"]},\"sources\":{\"lib/allo-v2/contracts/core/interfaces/IAllo.sol\":{\"keccak256\":\"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7\",\"dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1\"]},\"lib/allo-v2/contracts/core/interfaces/IRegistry.sol\":{\"keccak256\":\"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e\",\"dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA\"]},\"lib/allo-v2/contracts/core/interfaces/IStrategy.sol\":{\"keccak256\":\"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487\",\"dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH\"]},\"lib/allo-v2/contracts/core/libraries/Clone.sol\":{\"keccak256\":\"0xc348b24b7d8a98c4faa5f2aa37ce9264a74f81dbdef1a9bae2eaa125585c3c7e\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://1335b3ec59ec7e3d12ea7c90b3aa56f4c26e0d44d342f54412933be9d4f16067\",\"dweb:/ipfs/QmXNFo2wCyq9cpvfgbdHvBUQecThFSEoUnMuZNS6WinDrr\"]},\"lib/allo-v2/contracts/core/libraries/Errors.sol\":{\"keccak256\":\"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf\",\"dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA\"]},\"lib/allo-v2/contracts/core/libraries/Metadata.sol\":{\"keccak256\":\"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c\",\"dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn\"]},\"lib/allo-v2/contracts/core/libraries/Native.sol\":{\"keccak256\":\"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a\",\"dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv\"]},\"lib/allo-v2/contracts/core/libraries/Transfer.sol\":{\"keccak256\":\"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11\",\"dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5\"]},\"lib/allo-v2/contracts/strategies/BaseStrategy.sol\":{\"keccak256\":\"0x3f1382dc6c35d50545e327e7ed6016f2bd752357d446bd698014073f0b812873\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://99500abcd617fa43f6dde49e2c7802821ceaf54a65a8055cbbf2695ecd107974\",\"dweb:/ipfs/QmUktZkWuu3GCMEijY1fqt7NMy7BzpTvEtcmpB1fuoa7zt\"]},\"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol\":{\"keccak256\":\"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298\",\"dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x51fec240abc6dd23e0ee6de7c65106379aef732cad6c4ae5df6b55db886e7456\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://a47d9c0a9876e7f9e411843b994a741d4ac1a87d8459ffc3c56359de691ddc1a\",\"dweb:/ipfs/QmQiFN9b3Y2azrD1RBfAKEuAG3YeJkMzA2DGzgEE9kMeEK\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0xc8710577334e8d0799ae2b2a731b1924a7bddd64319da9787ddd2dc69bdd1ce5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b83b7afa4d2372da3ba5402fb10860a105c35d79812c60dc61007be2afc17618\",\"dweb:/ipfs/QmYX9xPmbNVSKXrepKiUZiG5oL3SdzFp9a4kqspxX1sEUx\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol\":{\"keccak256\":\"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c\",\"dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol\":{\"keccak256\":\"0x359a1ab89b46b9aba7bcad3fb651924baf4893d15153049b9976b0fc9be1358e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e89863421b4014b96a4b62be76eb3b9f0a8afe9684664a6f389124c0964bfe5c\",\"dweb:/ipfs/Qmbk7xr1irpDuU1WdxXgxELBXxs61rHhCgod7heVcvFx16\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol\":{\"keccak256\":\"0x3d98edeb5d5be8410fca707b73dabe7544d1dd11e35b73dd907c473fe43cc3ae\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1a3fa9fc3aec149b8ad0dd8895277ab11e9244e9d2b7adc8404b22de974fc964\",\"dweb:/ipfs/QmRggzxs1WjuvGJSAKb2Nw5r7P3VDMefCWKTbkNPKRkv2j\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e\",\"dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol\":{\"keccak256\":\"0x2025ccf05f6f1f2fd4e078e552836f525a1864e3854ed555047cd732320ab29b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d27f4b23c2dee42394aebaf42bf238285230f472dfd3282a39c3f000ec28214f\",\"dweb:/ipfs/QmQa3DnvccwdWJeWrjgXPnFMTWbzWQWR39hVqC7eEwo2PC\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b\",\"dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95\",\"dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol\":{\"keccak256\":\"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a\",\"dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0xd90d7723512df65ae417adaf0801042940f0dabd60039ceeaffe34aa5b238da1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1b13befeb3413749292f9fb229de1c7a509a5ce2c8047d9094fc004ca9d3af89\",\"dweb:/ipfs/QmRzJ2hZSwRtMejHUZAYTPRKgZsnfb112Fno9Jf3EiDfwA\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol\":{\"keccak256\":\"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758\",\"dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol\":{\"keccak256\":\"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91\",\"dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol\":{\"keccak256\":\"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4\",\"dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z\"]},\"lib/openzeppelin-contracts/contracts/access/AccessControl.sol\":{\"keccak256\":\"0x0dd6e52cb394d7f5abe5dca2d4908a6be40417914720932de757de34a99ab87f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://dc117ce50ea746cab6b97ed1a1facee17a715ae0cb95d67b943dacbaf15176fb\",\"dweb:/ipfs/QmYRZ2UGNYwsHwfNu7Wjr8L2j1LBZ1mKv6NvbwgterYMXc\"]},\"lib/openzeppelin-contracts/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0x59ce320a585d7e1f163cd70390a0ef2ff9cec832e2aa544293a00692465a7a57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb2c137c343ef0c4c7ce7b18c1d108afdc9d315a04e48307288d2d05adcbde3a\",\"dweb:/ipfs/QmUxhrAQM3MM3FF5j7AtcXLXguWCJBHJ14BRdVtuoQc8Fh\"]},\"lib/openzeppelin-contracts/contracts/access/Ownable.sol\":{\"keccak256\":\"0xba43b97fba0d32eb4254f6a5a297b39a19a247082a02d6e69349e071e2946218\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fc980984badf3984b6303b377711220e067722bbd6a135b24669ff5069ef9f32\",\"dweb:/ipfs/QmPHXMSXj99XjSVM21YsY6aNtLLjLVXDbyN76J5HQYvvrz\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol\":{\"keccak256\":\"0x3cbef5ebc24b415252e2f8c0c9254555d30d9f085603b4b80d9b5ed20ab87e90\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e8fa670c3bdce78e642cc6ae11c4cb38b133499cdce5e1990a9979d424703263\",\"dweb:/ipfs/QmVxeCUk4jL2pXQyhsoNJwyU874wRufS2WvGe8TgPKPqhE\"]},\"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol\":{\"keccak256\":\"0x1d4afe6cb24200cc4545eed814ecf5847277dfe5d613a1707aad5fceecebcfff\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://383fb7b8181016ac5ccf07bc9cdb7c1b5045ea36e2cc4df52bcbf20396fc7688\",\"dweb:/ipfs/QmYJ7Cg4WmE3rR8KGQxjUCXFfTH6TcwZ2Z1f6tPrq7jHFr\"]},\"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol\":{\"keccak256\":\"0xa2b22da3032e50b55f95ec1d13336102d675f341167aa76db571ef7f8bb7975d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96b6d77a20bebd4eb06b801d3d020c7e82be13bd535cb0d0a6b7181c51dab5d5\",\"dweb:/ipfs/QmPUR9Cv9jNFdQX6PtBfaBW1ZCnKwiu65R2VD5kbdanDyn\"]},\"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Upgrade.sol\":{\"keccak256\":\"0x3b21ae06bf5957f73fa16754b0669c77b7abd8ba6c072d35c3281d446fdb86c2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2db8e18505e86e02526847005d7287a33e397ed7fb9eaba3fd4a4a197add16e2\",\"dweb:/ipfs/QmW9BSuKTzHWHBNSHF4L8XfVuU1uJrP2vLg84YtBd8mL82\"]},\"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol\":{\"keccak256\":\"0xc130fe33f1b2132158531a87734153293f6d07bc263ff4ac90e85da9c82c0e27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8831721b6f4cc26534d190f9f1631c3f59c9ff38efdd911f85e0882b8e360472\",\"dweb:/ipfs/QmQZnLErZNStirSQ13ZNWQgvEYUtGE5tXYwn4QUPaVUfPN\"]},\"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0xd50a3421ac379ccb1be435fa646d66a65c986b4924f0849839f08692f39dde61\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ada1e030c0231db8d143b44ce92b4d1158eedb087880cad6d8cc7bd7ebe7b354\",\"dweb:/ipfs/QmWZ2NHZweRpz1U9GF6R1h65ri76dnX7fNxLBeM2t5N5Ce\"]},\"lib/openzeppelin-contracts/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x3d6069be9b4c01fb81840fb9c2c4dc58dd6a6a4aafaa2c6837de8699574d84c6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://720d6bb56ea0c4ef781c0bd65c5bd0541f5a46100163b2587170f97658d2deed\",\"dweb:/ipfs/QmTS2biLVPrv8CeeXCaKmkFxonMiRvc1LxiYBRYDAJHQUS\"]},\"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol\":{\"keccak256\":\"0xc6619957bcc6641fe8984bfaf9ff11a9e4b97d8149c0495f608f9a2416d7c5cf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://543be67f7fa43b1b932637c1c7f12035f0f4b0f7ee2bd3c33841186f79c165c1\",\"dweb:/ipfs/QmSBPM2UVKbmJqWfD9i6hSiqbaE8TV4TSqfuiivziRRLKM\"]},\"lib/openzeppelin-contracts/contracts/security/ReentrancyGuard.sol\":{\"keccak256\":\"0xa535a5df777d44e945dd24aa43a11e44b024140fc340ad0dfe42acf4002aade1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://41319e7f621f2dc3733511332c4fd032f8e32ad2aa7fd6f665c19741d9941a34\",\"dweb:/ipfs/QmcYR3bd862GD1Bc7jwrU9bGxrhUu5na1oP964bDCu2id1\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15\",\"dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5\",\"dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd\",\"dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol\":{\"keccak256\":\"0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a\",\"dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0x909d608c2db6eb165ca178c81289a07ed2e118e444d0025b2a85c97d0b44a4fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://656cda26512ddd7373c2d5551c8fae759fc30f05b10f0fc2e738e9274199dbd4\",\"dweb:/ipfs/QmTSArSzQRFbQmHgq7U1PZXnsDFhvDZhKVu9CzMG4yo6Lx\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xf09e68aa0dc6722a25bc46490e8d48ed864466d17313b8a0b254c36b54e49899\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e26daf81e2252dc1fe1ce0e4b55c2eb7c6d1ee84ae6558d1a9554432ea1d32da\",\"dweb:/ipfs/Qmb1UANWiWq5pCKbmHSu772hd4nt374dVaghGmwSVNuk8Q\"]},\"lib/openzeppelin-contracts/contracts/utils/Strings.sol\":{\"keccak256\":\"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f\",\"dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol\":{\"keccak256\":\"0x5a08ad61f4e82b8a3323562661a86fb10b10190848073fdc13d4ac43710ffba5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6f7bb74cf88fd88daa34e118bc6e363381d05044f34f391d39a10c0c9dac3ebd\",\"dweb:/ipfs/QmNbQ3v8v4zuDtg7VeLAbdhAm3tCzUodNoDZZ8ekmCHWZX\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]},\"lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/src/strings.sol\":{\"keccak256\":\"0x42cad11a7033f2fe05dd68611d2304407a620ac985b91edf29d5868cfe196223\",\"urls\":[\"bzz-raw://3cbc2333234e1f00eab5e57c4bcaf5115661e5e066a17c70af587a0a96f24669\",\"dweb:/ipfs/QmPHvStqcvZL46LW5N2ExTwAaqNhRCcmAX66aR6oE1WDar\"]},\"lib/openzeppelin-foundry-upgrades/src/Defender.sol\":{\"keccak256\":\"0x2114e4d70d53b36e8cec54ba11ff78d9f38a466ec3504c76c7f26101a7cff37f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://58f4d9bc58646e7631b263cdb8ef260e6818e9f716036d81d1c18218c9557a23\",\"dweb:/ipfs/QmS18L4R4gPtay9eQBcR28DnwmBkGSWsiCFwm2tXc3BkHL\"]},\"lib/openzeppelin-foundry-upgrades/src/LegacyUpgrades.sol\":{\"keccak256\":\"0x8436719f73c76efadaa16cd719d088f698ea3591595dfdf2c15fd66f3e203197\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ac8d0e55defe124adcc3845348602d6528b00b7dc5f7abf9e1b245d0cea9b55e\",\"dweb:/ipfs/QmaPBoG89Bd2btJZW5kjXx7zXo6KhAdeTuMq5xo431M8xq\"]},\"lib/openzeppelin-foundry-upgrades/src/Options.sol\":{\"keccak256\":\"0xa5414683d6b219b28e75ecaab3d00a305dfaf4d970389a88992275c8072ce8ac\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1dbfd566ba318f2b740159c28e4511c84c9d76fcc293ae17c9b1a87b3ea16c9\",\"dweb:/ipfs/QmcyxPoeBdzA9iHEgd76xKhaQ8HKfpV4owdSv6127MmveT\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Core.sol\":{\"keccak256\":\"0x37073df20d2b5fbb0a873e6b2dd76c23e23455d1c2d2ba57d2f0998201a4251d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://79d507647ea48d93371341684cf4199d55ed799db9d3489bc016f53990d2ff7c\",\"dweb:/ipfs/QmQWgXiYcPcwNcrkTHb72WtHd4xPcXfRUMfBrhkDHgr2ut\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/DefenderDeploy.sol\":{\"keccak256\":\"0x868ffdaf5d185fee103fc4581385392b47c209a5cfd2aec01f0307dbc0101d73\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://76e51bf69a4d0b5d1d9cfa7efa442bdcf9d713966563432ef8fdd00ec959a25e\",\"dweb:/ipfs/QmTHkdvMnqmEvus7zbmHhPkWk3fM9SW2Jq8gnyBLwVJtxG\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Utils.sol\":{\"keccak256\":\"0x4de002af810f6a5fe26a6381e0ead3331735bd0059434a22df75e17c177b5f87\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af32ff07f606e530a53030db141a75af144cfe065a6543939d412018c6159540\",\"dweb:/ipfs/QmbfTB92Zd8VQHW61g9dx1CvGgSL5SCoZDLrvJfnR7Ctio\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Versions.sol\":{\"keccak256\":\"0xf1a1441c18a296853509e9b1d18be794ed3de836caea49d6948b5e9ac566e8c6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6f3463514235bd875ecacf45f95cac64aa650dd38d05c15fe1f4203b6b5733bd\",\"dweb:/ipfs/Qmcbhmw9NPkG8MqiVsQ4qUupeQFCRgyBDKuoUwohwa8EP3\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IProxyAdmin.sol\":{\"keccak256\":\"0xf5e514595089f8959da130507086e7388602a71ce60575d141e7d892dfbddbfc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9b41366e2823ccc8cb42304496d761b3df80946d17384634a61afd7139495c91\",\"dweb:/ipfs/QmZE2nRMxax1NPj63ifemKdScGJzKNWi7BCGudjFLsUz1y\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableBeacon.sol\":{\"keccak256\":\"0xa8d7bffdd26eb763e459650c83f247b54af79800c2df52ad05878f238fc1c2f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ed47f1e53e5eb7d48fed60a414755641fca8fa0e713fd503b2597227da78a2f\",\"dweb:/ipfs/QmQr8A5wddHdhQNauFShXxRkPcuVVpVsYpq846WhmFC8Tv\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableProxy.sol\":{\"keccak256\":\"0x781b564b90bba0c0e8e12fb66b1c910f42d369db469f2e88592b4cff29de99a5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://45fcab02a43fde934445b88e905aba3f58a70b75dd6ee6eb86a3d593424aeb03\",\"dweb:/ipfs/QmXmhAgrctaYUDLoTRgUjwD4deoXu1E2QT1kftVGcVa56j\"]},\"pkg/contracts/src/BaseStrategyUpgradeable.sol\":{\"keccak256\":\"0xe059f9e1a262a4713e230a6025c3356681bb5f3c8013b87bc579bae93aa66c20\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://37e879664b08005b9544457cf89bce77e38b6a25639566df7366b9e5968c815e\",\"dweb:/ipfs/QmYgNRqZfYUPbWgcHUHghTcpqjVmT9v4HfkfPdEF64fYe5\"]},\"pkg/contracts/src/CVStrategy.sol\":{\"keccak256\":\"0x132bcf17470960e380d841159d9389985d609aaae1c9a657c78902f7871da957\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://84e905bf392579b44f33fff8586431b940e110b2210854cf487321cc92061705\",\"dweb:/ipfs/QmQpvszYu8RbrXmUFLifSodQzV8LAqazk1fzXNARGc5sBT\"]},\"pkg/contracts/src/CVStrategyV0_0.sol\":{\"keccak256\":\"0x79d01b399c8d735923dfa26b8dacba6200a861202dd6fb1c7711241285439d2d\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://e7ea0014e25a729d6d688620658df81a179a8c2380ae0bc4c78668cd486adb04\",\"dweb:/ipfs/QmdPM8JpFXeqBxQgkRzM1inzCT2rkRxnpoSrFk8DauDpNf\"]},\"pkg/contracts/src/ISybilScorer.sol\":{\"keccak256\":\"0x0e25fbb8497ac3c969d80c9032362d45e56c0a45dc9ba3dff6a8a704571f38ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0dff90ebae6e7131a5300fcaf525bc2ab0ae90fcd13f277d7b7b6939eeb8b7eb\",\"dweb:/ipfs/QmYGkYqpUVrBWoNY6f3CtwrrVQFWSvnJfpu68t95f6AkBY\"]},\"pkg/contracts/src/RegistryCommunity.sol\":{\"keccak256\":\"0xc735f4d2635149f2db9bff291da56e08c3c312d9eb1b767b8a1e3e51584d5734\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://247b33b78abface6a7e2da38174386de9b543f6a27e8340e26d854bff57184a3\",\"dweb:/ipfs/QmedNdqkqeboGzz9w868uGf7KnXUaYZe6i1YcdUPPkJnnf\"]},\"pkg/contracts/src/RegistryCommunityV0_0.sol\":{\"keccak256\":\"0x6525c857f7baff606e87bbc2878f3606923997a444eb500aa15018c676c972a9\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://89d2af9f470c8d7431ff6b1981b7bf46520f719d68da38ab3ca065496a6297d8\",\"dweb:/ipfs/QmceJHX57HbnBXVfmhtRPmnApUQy5QSWTybgq6g37vCxEN\"]},\"pkg/contracts/src/RegistryFactory.sol\":{\"keccak256\":\"0x888b7f5eb1079f90ccfa0b41d8a970bffd8d4d469f9b31917a58279b358dbda5\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://af25fd783de00adf01d1c7caa572801fed0d474306a43b862535b08e65ec10c6\",\"dweb:/ipfs/Qmeb2nEaMQLV86y1CYAAV2c6BYpBDTbpLuC1SigeNjdqLo\"]},\"pkg/contracts/src/RegistryFactoryV0_0.sol\":{\"keccak256\":\"0xba255a19807591d347479f281f2f226fc5b1c9101af880092623292f9db9a319\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://a43d8b5a55c35b898550c702dec70d27f2b0769f44b8cf31ca595ae733f07fab\",\"dweb:/ipfs/QmZpbNzgzF6ADhQmEBnPjLChX2KEV6EFWogk4JX2HhsvYL\"]},\"pkg/contracts/src/RegistryFactoryV0_1.sol\":{\"keccak256\":\"0xd26de80bc3abac11b0c8671a6aaaa9d422fb05b704f61fc3b8fbdb6285dacdc6\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://298ed925474fd1da221c531d775bd0008125fb1bd29e700dca512d62be227b7b\",\"dweb:/ipfs/QmekeaeBg2c4HypDptinsZDrz6KNm5iCE4RTprKJgXAjpa\"]},\"pkg/contracts/src/interfaces/FAllo.sol\":{\"keccak256\":\"0x32f38cb4400a07a99ae68a9beb91e5649886487172fd50561da6763464efc437\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://cb4f0cee2f3fbede7be5e8e1d7ee8034086359cd07b9dab49c4a991388e5c458\",\"dweb:/ipfs/QmS26kA8cZ9shWwxcbF17Kes8L7Jgw85EQVydDmwb34mjM\"]},\"pkg/contracts/src/interfaces/ISafe.sol\":{\"keccak256\":\"0x878a210809bb684c42157a10f3f90350a67d0a4863f130499942b06f0f2c9143\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://fa2d71bd427c3415e98a2ee15ff673f3cc61c17f14d7087c5eedc83b55f6b0ef\",\"dweb:/ipfs/QmesVSmJQQzi6ys1cvhQFCJyDXchb736mT5bXks4Yp6Cbj\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[],"type":"error","name":"AddressCannotBeZero"},{"inputs":[{"internalType":"address","name":"_community","type":"address"}],"type":"error","name":"CommunityInvalid"},{"inputs":[{"internalType":"address","name":"previousAdmin","type":"address","indexed":false},{"internalType":"address","name":"newAdmin","type":"address","indexed":false}],"type":"event","name":"AdminChanged","anonymous":false},{"inputs":[{"internalType":"address","name":"beacon","type":"address","indexed":true}],"type":"event","name":"BeaconUpgraded","anonymous":false},{"inputs":[{"internalType":"address","name":"_registryCommunity","type":"address","indexed":false}],"type":"event","name":"CommunityCreated","anonymous":false},{"inputs":[{"internalType":"address","name":"_community","type":"address","indexed":false},{"internalType":"bool","name":"_isValid","type":"bool","indexed":false}],"type":"event","name":"CommunityValiditySet","anonymous":false},{"inputs":[{"internalType":"address","name":"_newFeeReceiver","type":"address","indexed":false}],"type":"event","name":"FeeReceiverSet","anonymous":false},{"inputs":[{"internalType":"uint8","name":"version","type":"uint8","indexed":false}],"type":"event","name":"Initialized","anonymous":false},{"inputs":[{"internalType":"address","name":"previousOwner","type":"address","indexed":true},{"internalType":"address","name":"newOwner","type":"address","indexed":true}],"type":"event","name":"OwnershipTransferred","anonymous":false},{"inputs":[{"internalType":"address","name":"_community","type":"address","indexed":false},{"internalType":"uint256","name":"_newProtocolFee","type":"uint256","indexed":false}],"type":"event","name":"ProtocolFeeSet","anonymous":false},{"inputs":[{"internalType":"address","name":"implementation","type":"address","indexed":true}],"type":"event","name":"Upgraded","anonymous":false},{"inputs":[{"internalType":"struct RegistryCommunityV0_0.InitializeParams","name":"params","type":"tuple","components":[{"internalType":"address","name":"_allo","type":"address"},{"internalType":"contract IERC20","name":"_gardenToken","type":"address"},{"internalType":"uint256","name":"_registerStakeAmount","type":"uint256"},{"internalType":"uint256","name":"_communityFee","type":"uint256"},{"internalType":"uint256","name":"_nonce","type":"uint256"},{"internalType":"address","name":"_registryFactory","type":"address"},{"internalType":"address","name":"_feeReceiver","type":"address"},{"internalType":"struct Metadata","name":"_metadata","type":"tuple","components":[{"internalType":"uint256","name":"protocol","type":"uint256"},{"internalType":"string","name":"pointer","type":"string"}]},{"internalType":"address payable","name":"_councilSafe","type":"address"},{"internalType":"string","name":"_communityName","type":"string"},{"internalType":"bool","name":"_isKickEnabled","type":"bool"},{"internalType":"string","name":"covenantIpfsHash","type":"string"},{"internalType":"address","name":"_strategyTemplate","type":"address"}]}],"stateMutability":"nonpayable","type":"function","name":"createRegistry","outputs":[{"internalType":"address","name":"_createdRegistryAddress","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"gardensFeeReceiver","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"_community","type":"address"}],"stateMutability":"view","type":"function","name":"getCommunityValidity","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getGardensFeeReceiver","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"_community","type":"address"}],"stateMutability":"view","type":"function","name":"getProtocolFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"_gardensFeeReceiver","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"initializeV2"},{"inputs":[],"stateMutability":"view","type":"function","name":"nonce","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"proxiableUUID","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"renounceOwnership"},{"inputs":[{"internalType":"address","name":"_community","type":"address"},{"internalType":"bool","name":"_isValid","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"setCommunityValidity"},{"inputs":[{"internalType":"address","name":"_community","type":"address"},{"internalType":"uint256","name":"_newProtocolFee","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"setProtocolFee"},{"inputs":[{"internalType":"address","name":"_newFeeReceiver","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setReceiverAddress"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transferOwnership"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"upgradeTo"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"payable","type":"function","name":"upgradeToAndCall"}],"devdoc":{"kind":"dev","methods":{"owner()":{"details":"Returns the address of the current owner."},"proxiableUUID()":{"details":"Implementation of the ERC1822 {proxiableUUID} function. This returns the storage slot used by the implementation. It is used to validate the implementation's compatibility when performing an upgrade. IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this function revert if invoked through a proxy. This is guaranteed by the `notDelegated` modifier."},"renounceOwnership()":{"details":"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner."},"transferOwnership(address)":{"details":"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner."},"upgradeTo(address)":{"custom:oz-upgrades-unsafe-allow-reachable":"delegatecall","details":"Upgrade the implementation of the proxy to `newImplementation`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event."},"upgradeToAndCall(address,bytes)":{"custom:oz-upgrades-unsafe-allow-reachable":"delegatecall","details":"Upgrade the implementation of the proxy to `newImplementation`, and subsequently execute the function call encoded in `data`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event."}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","eas-proxy/=lib/allo-v2/lib/eas-proxy/contracts/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","hedgey-vesting/=lib/allo-v2/lib/hedgey-vesting/contracts/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-contracts/=lib/safe-contracts/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","superfluid-protocol-monorepo/=lib/allo-v2/lib/superfluid-protocol-monorepo/packages/solidity-semantic-money/src/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":1000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"pkg/contracts/src/RegistryFactoryV0_1.sol":"RegistryFactoryV0_1"},"evmVersion":"paris","libraries":{}},"sources":{"lib/allo-v2/contracts/core/interfaces/IAllo.sol":{"keccak256":"0x752bbf7be2275b2d0e6323063775fc5afe3c360a2dae9b879452a42e8b2280ce","urls":["bzz-raw://a41b95501d44b11718ec5df990595335d44bd6bba883e4879bdce35261ee93a7","dweb:/ipfs/QmcRbrYjcibhDqsKJZM3HLceB4Kdd4tKDXqDaaVzbTkza1"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/interfaces/IRegistry.sol":{"keccak256":"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f","urls":["bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e","dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA"],"license":"MIT"},"lib/allo-v2/contracts/core/interfaces/IStrategy.sol":{"keccak256":"0xebd143a6729d7fe650ffd83a2dc1941e19ce9285526e5cb4d6c32adba3f3cf23","urls":["bzz-raw://994ed7ab48860e92ffd369e6741149760a725c5ddf4fc55e33c31f408bd25487","dweb:/ipfs/QmV6bzxJQo5T13Kynv7mqGJQSbNyZ4ZJfTEjWUymxmpfpH"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Clone.sol":{"keccak256":"0xc348b24b7d8a98c4faa5f2aa37ce9264a74f81dbdef1a9bae2eaa125585c3c7e","urls":["bzz-raw://1335b3ec59ec7e3d12ea7c90b3aa56f4c26e0d44d342f54412933be9d4f16067","dweb:/ipfs/QmXNFo2wCyq9cpvfgbdHvBUQecThFSEoUnMuZNS6WinDrr"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Errors.sol":{"keccak256":"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15","urls":["bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf","dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Metadata.sol":{"keccak256":"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44","urls":["bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c","dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Native.sol":{"keccak256":"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5","urls":["bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a","dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Transfer.sol":{"keccak256":"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286","urls":["bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11","dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/strategies/BaseStrategy.sol":{"keccak256":"0x3f1382dc6c35d50545e327e7ed6016f2bd752357d446bd698014073f0b812873","urls":["bzz-raw://99500abcd617fa43f6dde49e2c7802821ceaf54a65a8055cbbf2695ecd107974","dweb:/ipfs/QmUktZkWuu3GCMEijY1fqt7NMy7BzpTvEtcmpB1fuoa7zt"],"license":"AGPL-3.0-only"},"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol":{"keccak256":"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624","urls":["bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298","dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt"],"license":"MIT"},"lib/forge-std/src/Vm.sol":{"keccak256":"0x51fec240abc6dd23e0ee6de7c65106379aef732cad6c4ae5df6b55db886e7456","urls":["bzz-raw://a47d9c0a9876e7f9e411843b994a741d4ac1a87d8459ffc3c56359de691ddc1a","dweb:/ipfs/QmQiFN9b3Y2azrD1RBfAKEuAG3YeJkMzA2DGzgEE9kMeEK"],"license":"MIT OR Apache-2.0"},"lib/forge-std/src/console.sol":{"keccak256":"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba","urls":["bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70","dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol":{"keccak256":"0xc8710577334e8d0799ae2b2a731b1924a7bddd64319da9787ddd2dc69bdd1ce5","urls":["bzz-raw://b83b7afa4d2372da3ba5402fb10860a105c35d79812c60dc61007be2afc17618","dweb:/ipfs/QmYX9xPmbNVSKXrepKiUZiG5oL3SdzFp9a4kqspxX1sEUx"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol":{"keccak256":"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa","urls":["bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c","dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol":{"keccak256":"0x359a1ab89b46b9aba7bcad3fb651924baf4893d15153049b9976b0fc9be1358e","urls":["bzz-raw://e89863421b4014b96a4b62be76eb3b9f0a8afe9684664a6f389124c0964bfe5c","dweb:/ipfs/Qmbk7xr1irpDuU1WdxXgxELBXxs61rHhCgod7heVcvFx16"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol":{"keccak256":"0x3d98edeb5d5be8410fca707b73dabe7544d1dd11e35b73dd907c473fe43cc3ae","urls":["bzz-raw://1a3fa9fc3aec149b8ad0dd8895277ab11e9244e9d2b7adc8404b22de974fc964","dweb:/ipfs/QmRggzxs1WjuvGJSAKb2Nw5r7P3VDMefCWKTbkNPKRkv2j"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794","urls":["bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e","dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol":{"keccak256":"0x2025ccf05f6f1f2fd4e078e552836f525a1864e3854ed555047cd732320ab29b","urls":["bzz-raw://d27f4b23c2dee42394aebaf42bf238285230f472dfd3282a39c3f000ec28214f","dweb:/ipfs/QmQa3DnvccwdWJeWrjgXPnFMTWbzWQWR39hVqC7eEwo2PC"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol":{"keccak256":"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422","urls":["bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b","dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef","urls":["bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95","dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol":{"keccak256":"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb","urls":["bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a","dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol":{"keccak256":"0xd90d7723512df65ae417adaf0801042940f0dabd60039ceeaffe34aa5b238da1","urls":["bzz-raw://1b13befeb3413749292f9fb229de1c7a509a5ce2c8047d9094fc004ca9d3af89","dweb:/ipfs/QmRzJ2hZSwRtMejHUZAYTPRKgZsnfb112Fno9Jf3EiDfwA"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol":{"keccak256":"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09","urls":["bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758","dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol":{"keccak256":"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e","urls":["bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91","dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol":{"keccak256":"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a","urls":["bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4","dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/access/AccessControl.sol":{"keccak256":"0x0dd6e52cb394d7f5abe5dca2d4908a6be40417914720932de757de34a99ab87f","urls":["bzz-raw://dc117ce50ea746cab6b97ed1a1facee17a715ae0cb95d67b943dacbaf15176fb","dweb:/ipfs/QmYRZ2UGNYwsHwfNu7Wjr8L2j1LBZ1mKv6NvbwgterYMXc"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/access/IAccessControl.sol":{"keccak256":"0x59ce320a585d7e1f163cd70390a0ef2ff9cec832e2aa544293a00692465a7a57","urls":["bzz-raw://bb2c137c343ef0c4c7ce7b18c1d108afdc9d315a04e48307288d2d05adcbde3a","dweb:/ipfs/QmUxhrAQM3MM3FF5j7AtcXLXguWCJBHJ14BRdVtuoQc8Fh"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/access/Ownable.sol":{"keccak256":"0xba43b97fba0d32eb4254f6a5a297b39a19a247082a02d6e69349e071e2946218","urls":["bzz-raw://fc980984badf3984b6303b377711220e067722bbd6a135b24669ff5069ef9f32","dweb:/ipfs/QmPHXMSXj99XjSVM21YsY6aNtLLjLVXDbyN76J5HQYvvrz"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol":{"keccak256":"0x3cbef5ebc24b415252e2f8c0c9254555d30d9f085603b4b80d9b5ed20ab87e90","urls":["bzz-raw://e8fa670c3bdce78e642cc6ae11c4cb38b133499cdce5e1990a9979d424703263","dweb:/ipfs/QmVxeCUk4jL2pXQyhsoNJwyU874wRufS2WvGe8TgPKPqhE"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol":{"keccak256":"0x1d4afe6cb24200cc4545eed814ecf5847277dfe5d613a1707aad5fceecebcfff","urls":["bzz-raw://383fb7b8181016ac5ccf07bc9cdb7c1b5045ea36e2cc4df52bcbf20396fc7688","dweb:/ipfs/QmYJ7Cg4WmE3rR8KGQxjUCXFfTH6TcwZ2Z1f6tPrq7jHFr"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol":{"keccak256":"0xa2b22da3032e50b55f95ec1d13336102d675f341167aa76db571ef7f8bb7975d","urls":["bzz-raw://96b6d77a20bebd4eb06b801d3d020c7e82be13bd535cb0d0a6b7181c51dab5d5","dweb:/ipfs/QmPUR9Cv9jNFdQX6PtBfaBW1ZCnKwiu65R2VD5kbdanDyn"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Upgrade.sol":{"keccak256":"0x3b21ae06bf5957f73fa16754b0669c77b7abd8ba6c072d35c3281d446fdb86c2","urls":["bzz-raw://2db8e18505e86e02526847005d7287a33e397ed7fb9eaba3fd4a4a197add16e2","dweb:/ipfs/QmW9BSuKTzHWHBNSHF4L8XfVuU1uJrP2vLg84YtBd8mL82"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol":{"keccak256":"0xc130fe33f1b2132158531a87734153293f6d07bc263ff4ac90e85da9c82c0e27","urls":["bzz-raw://8831721b6f4cc26534d190f9f1631c3f59c9ff38efdd911f85e0882b8e360472","dweb:/ipfs/QmQZnLErZNStirSQ13ZNWQgvEYUtGE5tXYwn4QUPaVUfPN"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol":{"keccak256":"0xd50a3421ac379ccb1be435fa646d66a65c986b4924f0849839f08692f39dde61","urls":["bzz-raw://ada1e030c0231db8d143b44ce92b4d1158eedb087880cad6d8cc7bd7ebe7b354","dweb:/ipfs/QmWZ2NHZweRpz1U9GF6R1h65ri76dnX7fNxLBeM2t5N5Ce"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x3d6069be9b4c01fb81840fb9c2c4dc58dd6a6a4aafaa2c6837de8699574d84c6","urls":["bzz-raw://720d6bb56ea0c4ef781c0bd65c5bd0541f5a46100163b2587170f97658d2deed","dweb:/ipfs/QmTS2biLVPrv8CeeXCaKmkFxonMiRvc1LxiYBRYDAJHQUS"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol":{"keccak256":"0xc6619957bcc6641fe8984bfaf9ff11a9e4b97d8149c0495f608f9a2416d7c5cf","urls":["bzz-raw://543be67f7fa43b1b932637c1c7f12035f0f4b0f7ee2bd3c33841186f79c165c1","dweb:/ipfs/QmSBPM2UVKbmJqWfD9i6hSiqbaE8TV4TSqfuiivziRRLKM"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/security/ReentrancyGuard.sol":{"keccak256":"0xa535a5df777d44e945dd24aa43a11e44b024140fc340ad0dfe42acf4002aade1","urls":["bzz-raw://41319e7f621f2dc3733511332c4fd032f8e32ad2aa7fd6f665c19741d9941a34","dweb:/ipfs/QmcYR3bd862GD1Bc7jwrU9bGxrhUu5na1oP964bDCu2id1"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol":{"keccak256":"0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c","urls":["bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15","dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305","urls":["bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5","dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol":{"keccak256":"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca","urls":["bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd","dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol":{"keccak256":"0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a","urls":["bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a","dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol":{"keccak256":"0x909d608c2db6eb165ca178c81289a07ed2e118e444d0025b2a85c97d0b44a4fa","urls":["bzz-raw://656cda26512ddd7373c2d5551c8fae759fc30f05b10f0fc2e738e9274199dbd4","dweb:/ipfs/QmTSArSzQRFbQmHgq7U1PZXnsDFhvDZhKVu9CzMG4yo6Lx"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Address.sol":{"keccak256":"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa","urls":["bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931","dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Context.sol":{"keccak256":"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7","urls":["bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92","dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol":{"keccak256":"0xf09e68aa0dc6722a25bc46490e8d48ed864466d17313b8a0b254c36b54e49899","urls":["bzz-raw://e26daf81e2252dc1fe1ce0e4b55c2eb7c6d1ee84ae6558d1a9554432ea1d32da","dweb:/ipfs/Qmb1UANWiWq5pCKbmHSu772hd4nt374dVaghGmwSVNuk8Q"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Strings.sol":{"keccak256":"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0","urls":["bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f","dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol":{"keccak256":"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b","urls":["bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d","dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol":{"keccak256":"0x5a08ad61f4e82b8a3323562661a86fb10b10190848073fdc13d4ac43710ffba5","urls":["bzz-raw://6f7bb74cf88fd88daa34e118bc6e363381d05044f34f391d39a10c0c9dac3ebd","dweb:/ipfs/QmNbQ3v8v4zuDtg7VeLAbdhAm3tCzUodNoDZZ8ekmCHWZX"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/Math.sol":{"keccak256":"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3","urls":["bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c","dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol":{"keccak256":"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc","urls":["bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7","dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/src/strings.sol":{"keccak256":"0x42cad11a7033f2fe05dd68611d2304407a620ac985b91edf29d5868cfe196223","urls":["bzz-raw://3cbc2333234e1f00eab5e57c4bcaf5115661e5e066a17c70af587a0a96f24669","dweb:/ipfs/QmPHvStqcvZL46LW5N2ExTwAaqNhRCcmAX66aR6oE1WDar"],"license":null},"lib/openzeppelin-foundry-upgrades/src/Defender.sol":{"keccak256":"0x2114e4d70d53b36e8cec54ba11ff78d9f38a466ec3504c76c7f26101a7cff37f","urls":["bzz-raw://58f4d9bc58646e7631b263cdb8ef260e6818e9f716036d81d1c18218c9557a23","dweb:/ipfs/QmS18L4R4gPtay9eQBcR28DnwmBkGSWsiCFwm2tXc3BkHL"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/LegacyUpgrades.sol":{"keccak256":"0x8436719f73c76efadaa16cd719d088f698ea3591595dfdf2c15fd66f3e203197","urls":["bzz-raw://ac8d0e55defe124adcc3845348602d6528b00b7dc5f7abf9e1b245d0cea9b55e","dweb:/ipfs/QmaPBoG89Bd2btJZW5kjXx7zXo6KhAdeTuMq5xo431M8xq"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/Options.sol":{"keccak256":"0xa5414683d6b219b28e75ecaab3d00a305dfaf4d970389a88992275c8072ce8ac","urls":["bzz-raw://b1dbfd566ba318f2b740159c28e4511c84c9d76fcc293ae17c9b1a87b3ea16c9","dweb:/ipfs/QmcyxPoeBdzA9iHEgd76xKhaQ8HKfpV4owdSv6127MmveT"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Core.sol":{"keccak256":"0x37073df20d2b5fbb0a873e6b2dd76c23e23455d1c2d2ba57d2f0998201a4251d","urls":["bzz-raw://79d507647ea48d93371341684cf4199d55ed799db9d3489bc016f53990d2ff7c","dweb:/ipfs/QmQWgXiYcPcwNcrkTHb72WtHd4xPcXfRUMfBrhkDHgr2ut"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/DefenderDeploy.sol":{"keccak256":"0x868ffdaf5d185fee103fc4581385392b47c209a5cfd2aec01f0307dbc0101d73","urls":["bzz-raw://76e51bf69a4d0b5d1d9cfa7efa442bdcf9d713966563432ef8fdd00ec959a25e","dweb:/ipfs/QmTHkdvMnqmEvus7zbmHhPkWk3fM9SW2Jq8gnyBLwVJtxG"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Utils.sol":{"keccak256":"0x4de002af810f6a5fe26a6381e0ead3331735bd0059434a22df75e17c177b5f87","urls":["bzz-raw://af32ff07f606e530a53030db141a75af144cfe065a6543939d412018c6159540","dweb:/ipfs/QmbfTB92Zd8VQHW61g9dx1CvGgSL5SCoZDLrvJfnR7Ctio"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Versions.sol":{"keccak256":"0xf1a1441c18a296853509e9b1d18be794ed3de836caea49d6948b5e9ac566e8c6","urls":["bzz-raw://6f3463514235bd875ecacf45f95cac64aa650dd38d05c15fe1f4203b6b5733bd","dweb:/ipfs/Qmcbhmw9NPkG8MqiVsQ4qUupeQFCRgyBDKuoUwohwa8EP3"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IProxyAdmin.sol":{"keccak256":"0xf5e514595089f8959da130507086e7388602a71ce60575d141e7d892dfbddbfc","urls":["bzz-raw://9b41366e2823ccc8cb42304496d761b3df80946d17384634a61afd7139495c91","dweb:/ipfs/QmZE2nRMxax1NPj63ifemKdScGJzKNWi7BCGudjFLsUz1y"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableBeacon.sol":{"keccak256":"0xa8d7bffdd26eb763e459650c83f247b54af79800c2df52ad05878f238fc1c2f8","urls":["bzz-raw://8ed47f1e53e5eb7d48fed60a414755641fca8fa0e713fd503b2597227da78a2f","dweb:/ipfs/QmQr8A5wddHdhQNauFShXxRkPcuVVpVsYpq846WhmFC8Tv"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableProxy.sol":{"keccak256":"0x781b564b90bba0c0e8e12fb66b1c910f42d369db469f2e88592b4cff29de99a5","urls":["bzz-raw://45fcab02a43fde934445b88e905aba3f58a70b75dd6ee6eb86a3d593424aeb03","dweb:/ipfs/QmXmhAgrctaYUDLoTRgUjwD4deoXu1E2QT1kftVGcVa56j"],"license":"MIT"},"pkg/contracts/src/BaseStrategyUpgradeable.sol":{"keccak256":"0xe059f9e1a262a4713e230a6025c3356681bb5f3c8013b87bc579bae93aa66c20","urls":["bzz-raw://37e879664b08005b9544457cf89bce77e38b6a25639566df7366b9e5968c815e","dweb:/ipfs/QmYgNRqZfYUPbWgcHUHghTcpqjVmT9v4HfkfPdEF64fYe5"],"license":"AGPL-3.0-only"},"pkg/contracts/src/CVStrategy.sol":{"keccak256":"0x132bcf17470960e380d841159d9389985d609aaae1c9a657c78902f7871da957","urls":["bzz-raw://84e905bf392579b44f33fff8586431b940e110b2210854cf487321cc92061705","dweb:/ipfs/QmQpvszYu8RbrXmUFLifSodQzV8LAqazk1fzXNARGc5sBT"],"license":"AGPL-3.0-only"},"pkg/contracts/src/CVStrategyV0_0.sol":{"keccak256":"0x79d01b399c8d735923dfa26b8dacba6200a861202dd6fb1c7711241285439d2d","urls":["bzz-raw://e7ea0014e25a729d6d688620658df81a179a8c2380ae0bc4c78668cd486adb04","dweb:/ipfs/QmdPM8JpFXeqBxQgkRzM1inzCT2rkRxnpoSrFk8DauDpNf"],"license":"AGPL-3.0-only"},"pkg/contracts/src/ISybilScorer.sol":{"keccak256":"0x0e25fbb8497ac3c969d80c9032362d45e56c0a45dc9ba3dff6a8a704571f38ea","urls":["bzz-raw://0dff90ebae6e7131a5300fcaf525bc2ab0ae90fcd13f277d7b7b6939eeb8b7eb","dweb:/ipfs/QmYGkYqpUVrBWoNY6f3CtwrrVQFWSvnJfpu68t95f6AkBY"],"license":"MIT"},"pkg/contracts/src/RegistryCommunity.sol":{"keccak256":"0xc735f4d2635149f2db9bff291da56e08c3c312d9eb1b767b8a1e3e51584d5734","urls":["bzz-raw://247b33b78abface6a7e2da38174386de9b543f6a27e8340e26d854bff57184a3","dweb:/ipfs/QmedNdqkqeboGzz9w868uGf7KnXUaYZe6i1YcdUPPkJnnf"],"license":"AGPL-3.0-only"},"pkg/contracts/src/RegistryCommunityV0_0.sol":{"keccak256":"0x6525c857f7baff606e87bbc2878f3606923997a444eb500aa15018c676c972a9","urls":["bzz-raw://89d2af9f470c8d7431ff6b1981b7bf46520f719d68da38ab3ca065496a6297d8","dweb:/ipfs/QmceJHX57HbnBXVfmhtRPmnApUQy5QSWTybgq6g37vCxEN"],"license":"AGPL-3.0-only"},"pkg/contracts/src/RegistryFactory.sol":{"keccak256":"0x888b7f5eb1079f90ccfa0b41d8a970bffd8d4d469f9b31917a58279b358dbda5","urls":["bzz-raw://af25fd783de00adf01d1c7caa572801fed0d474306a43b862535b08e65ec10c6","dweb:/ipfs/Qmeb2nEaMQLV86y1CYAAV2c6BYpBDTbpLuC1SigeNjdqLo"],"license":"AGPL-3.0-only"},"pkg/contracts/src/RegistryFactoryV0_0.sol":{"keccak256":"0xba255a19807591d347479f281f2f226fc5b1c9101af880092623292f9db9a319","urls":["bzz-raw://a43d8b5a55c35b898550c702dec70d27f2b0769f44b8cf31ca595ae733f07fab","dweb:/ipfs/QmZpbNzgzF6ADhQmEBnPjLChX2KEV6EFWogk4JX2HhsvYL"],"license":"AGPL-3.0-only"},"pkg/contracts/src/RegistryFactoryV0_1.sol":{"keccak256":"0xd26de80bc3abac11b0c8671a6aaaa9d422fb05b704f61fc3b8fbdb6285dacdc6","urls":["bzz-raw://298ed925474fd1da221c531d775bd0008125fb1bd29e700dca512d62be227b7b","dweb:/ipfs/QmekeaeBg2c4HypDptinsZDrz6KNm5iCE4RTprKJgXAjpa"],"license":"AGPL-3.0-only"},"pkg/contracts/src/interfaces/FAllo.sol":{"keccak256":"0x32f38cb4400a07a99ae68a9beb91e5649886487172fd50561da6763464efc437","urls":["bzz-raw://cb4f0cee2f3fbede7be5e8e1d7ee8034086359cd07b9dab49c4a991388e5c458","dweb:/ipfs/QmS26kA8cZ9shWwxcbF17Kes8L7Jgw85EQVydDmwb34mjM"],"license":"AGPL-3.0-only"},"pkg/contracts/src/interfaces/ISafe.sol":{"keccak256":"0x878a210809bb684c42157a10f3f90350a67d0a4863f130499942b06f0f2c9143","urls":["bzz-raw://fa2d71bd427c3415e98a2ee15ff673f3cc61c17f14d7087c5eedc83b55f6b0ef","dweb:/ipfs/QmesVSmJQQzi6ys1cvhQFCJyDXchb736mT5bXks4Yp6Cbj"],"license":"LGPL-3.0-only"}},"version":1},"storageLayout":{"storage":[{"astId":53029,"contract":"pkg/contracts/src/RegistryFactoryV0_1.sol:RegistryFactoryV0_1","label":"_initialized","offset":0,"slot":"0","type":"t_uint8"},{"astId":53032,"contract":"pkg/contracts/src/RegistryFactoryV0_1.sol:RegistryFactoryV0_1","label":"_initializing","offset":1,"slot":"0","type":"t_bool"},{"astId":53734,"contract":"pkg/contracts/src/RegistryFactoryV0_1.sol:RegistryFactoryV0_1","label":"__gap","offset":0,"slot":"1","type":"t_array(t_uint256)50_storage"},{"astId":52821,"contract":"pkg/contracts/src/RegistryFactoryV0_1.sol:RegistryFactoryV0_1","label":"_owner","offset":0,"slot":"51","type":"t_address"},{"astId":52941,"contract":"pkg/contracts/src/RegistryFactoryV0_1.sol:RegistryFactoryV0_1","label":"__gap","offset":0,"slot":"52","type":"t_array(t_uint256)49_storage"},{"astId":85307,"contract":"pkg/contracts/src/RegistryFactoryV0_1.sol:RegistryFactoryV0_1","label":"nonce","offset":0,"slot":"101","type":"t_uint256"},{"astId":85312,"contract":"pkg/contracts/src/RegistryFactoryV0_1.sol:RegistryFactoryV0_1","label":"communityToInfo","offset":0,"slot":"102","type":"t_mapping(t_address,t_struct(CommunityInfo)85300_storage)"},{"astId":85314,"contract":"pkg/contracts/src/RegistryFactoryV0_1.sol:RegistryFactoryV0_1","label":"gardensFeeReceiver","offset":0,"slot":"103","type":"t_address"},{"astId":85587,"contract":"pkg/contracts/src/RegistryFactoryV0_1.sol:RegistryFactoryV0_1","label":"__gap","offset":0,"slot":"104","type":"t_array(t_uint256)50_storage"}],"types":{"t_address":{"encoding":"inplace","label":"address","numberOfBytes":"20"},"t_array(t_uint256)49_storage":{"encoding":"inplace","label":"uint256[49]","numberOfBytes":"1568","base":"t_uint256"},"t_array(t_uint256)50_storage":{"encoding":"inplace","label":"uint256[50]","numberOfBytes":"1600","base":"t_uint256"},"t_bool":{"encoding":"inplace","label":"bool","numberOfBytes":"1"},"t_mapping(t_address,t_struct(CommunityInfo)85300_storage)":{"encoding":"mapping","key":"t_address","label":"mapping(address => struct CommunityInfo)","numberOfBytes":"32","value":"t_struct(CommunityInfo)85300_storage"},"t_struct(CommunityInfo)85300_storage":{"encoding":"inplace","label":"struct CommunityInfo","numberOfBytes":"64","members":[{"astId":85297,"contract":"pkg/contracts/src/RegistryFactoryV0_1.sol:RegistryFactoryV0_1","label":"fee","offset":0,"slot":"0","type":"t_uint256"},{"astId":85299,"contract":"pkg/contracts/src/RegistryFactoryV0_1.sol:RegistryFactoryV0_1","label":"valid","offset":0,"slot":"1","type":"t_bool"}]},"t_uint256":{"encoding":"inplace","label":"uint256","numberOfBytes":"32"},"t_uint8":{"encoding":"inplace","label":"uint8","numberOfBytes":"1"}}},"ast":{"absolutePath":"pkg/contracts/src/RegistryFactoryV0_1.sol","id":85616,"exportedSymbols":{"CommunityInfo":[85601],"OwnableUpgradeable":[52942],"RegistryCommunity":[83082],"RegistryFactoryV0_0":[85588],"RegistryFactoryV0_1":[85615]},"nodeType":"SourceUnit","src":"42:1020:137","nodes":[{"id":85590,"nodeType":"PragmaDirective","src":"42:24:137","nodes":[],"literals":["solidity","^","0.8",".19"]},{"id":85592,"nodeType":"ImportDirective","src":"68:63:137","nodes":[],"absolutePath":"pkg/contracts/src/RegistryCommunity.sol","file":"../src/RegistryCommunity.sol","nameLocation":"-1:-1:-1","scope":85616,"sourceUnit":83083,"symbolAliases":[{"foreign":{"id":85591,"name":"RegistryCommunity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83082,"src":"76:17:137","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":85594,"nodeType":"ImportDirective","src":"133:67:137","nodes":[],"absolutePath":"pkg/contracts/src/RegistryFactoryV0_0.sol","file":"../src/RegistryFactoryV0_0.sol","nameLocation":"-1:-1:-1","scope":85616,"sourceUnit":85589,"symbolAliases":[{"foreign":{"id":85593,"name":"RegistryFactoryV0_0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85588,"src":"141:19:137","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":85596,"nodeType":"ImportDirective","src":"202:110:137","nodes":[],"absolutePath":"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol","file":"openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol","nameLocation":"-1:-1:-1","scope":85616,"sourceUnit":52943,"symbolAliases":[{"foreign":{"id":85595,"name":"OwnableUpgradeable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52942,"src":"210:18:137","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":85601,"nodeType":"StructDefinition","src":"314:57:137","nodes":[],"canonicalName":"CommunityInfo","members":[{"constant":false,"id":85598,"mutability":"mutable","name":"fee","nameLocation":"349:3:137","nodeType":"VariableDeclaration","scope":85601,"src":"341:11:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":85597,"name":"uint256","nodeType":"ElementaryTypeName","src":"341:7:137","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":85600,"mutability":"mutable","name":"valid","nameLocation":"363:5:137","nodeType":"VariableDeclaration","scope":85601,"src":"358:10:137","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":85599,"name":"bool","nodeType":"ElementaryTypeName","src":"358:4:137","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"name":"CommunityInfo","nameLocation":"321:13:137","scope":85616,"visibility":"public"},{"id":85615,"nodeType":"ContractDefinition","src":"422:639:137","nodes":[{"id":85614,"nodeType":"FunctionDefinition","src":"978:81:137","nodes":[],"body":{"id":85613,"nodeType":"Block","src":"1026:33:137","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":85610,"name":"__Ownable_init","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52837,"src":"1036:14:137","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":85611,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1036:16:137","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":85612,"nodeType":"ExpressionStatement","src":"1036:16:137"}]},"functionSelector":"5cd8a76b","implemented":true,"kind":"function","modifiers":[{"arguments":[{"hexValue":"32","id":85607,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1023:1:137","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"}],"id":85608,"kind":"modifierInvocation","modifierName":{"id":85606,"name":"reinitializer","nameLocations":["1009:13:137"],"nodeType":"IdentifierPath","referencedDeclaration":53126,"src":"1009:13:137"},"nodeType":"ModifierInvocation","src":"1009:16:137"}],"name":"initializeV2","nameLocation":"987:12:137","parameters":{"id":85605,"nodeType":"ParameterList","parameters":[],"src":"999:2:137"},"returnParameters":{"id":85609,"nodeType":"ParameterList","parameters":[],"src":"1026:0:137"},"scope":85615,"stateMutability":"nonpayable","virtual":false,"visibility":"public"}],"abstract":false,"baseContracts":[{"baseName":{"id":85603,"name":"RegistryFactoryV0_0","nameLocations":["454:19:137"],"nodeType":"IdentifierPath","referencedDeclaration":85588,"src":"454:19:137"},"id":85604,"nodeType":"InheritanceSpecifier","src":"454:19:137"}],"canonicalName":"RegistryFactoryV0_1","contractDependencies":[55562,85047],"contractKind":"contract","documentation":{"id":85602,"nodeType":"StructuredDocumentation","src":"372:49:137","text":"@custom:oz-upgrades-from RegistryFactoryV0_0"},"fullyImplemented":true,"linearizedBaseContracts":[85615,85588,56213,55866,55515,55525,52942,53735,53191],"name":"RegistryFactoryV0_1","nameLocation":"431:19:137","scope":85616,"usedErrors":[85338,85340]}],"license":"AGPL-3.0-only"},"id":137} \ No newline at end of file diff --git a/pkg/contracts/out/RegistrySetup.sol/RegistrySetup.json b/pkg/contracts/out/RegistrySetup.sol/RegistrySetup.json index 0a86dacae..c96ab1c8b 100644 --- a/pkg/contracts/out/RegistrySetup.sol/RegistrySetup.json +++ b/pkg/contracts/out/RegistrySetup.sol/RegistrySetup.json @@ -1 +1 @@ -{"abi":[{"type":"function","name":"IS_TEST","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"allo_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"allo_treasury","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address payable"}],"stateMutability":"nonpayable"},{"type":"function","name":"excludeArtifacts","inputs":[],"outputs":[{"name":"excludedArtifacts_","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"excludeContracts","inputs":[],"outputs":[{"name":"excludedContracts_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"excludeSenders","inputs":[],"outputs":[{"name":"excludedSenders_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"failed","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"local","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"no_recipient","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"nullProfile_member1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"nullProfile_member2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"nullProfile_members","inputs":[],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"pure"},{"type":"function","name":"nullProfile_notAMember","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"nullProfile_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"pool_admin","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"pool_manager1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"pool_manager2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"pool_managers","inputs":[],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"pool_notAManager","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile1_member1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile1_member2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile1_members","inputs":[],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile1_notAMember","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile1_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile2_member1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile2_member2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile2_members","inputs":[],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile2_notAMember","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile2_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"randomAddress","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"recipient","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"recipient1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"recipient2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"recipientAddress","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"registry","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract Registry"}],"stateMutability":"view"},{"type":"function","name":"registry_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"targetArtifactSelectors","inputs":[],"outputs":[{"name":"targetedArtifactSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzSelector[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetArtifacts","inputs":[],"outputs":[{"name":"targetedArtifacts_","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"targetContracts","inputs":[],"outputs":[{"name":"targetedContracts_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"targetInterfaces","inputs":[],"outputs":[{"name":"targetedInterfaces_","type":"tuple[]","internalType":"struct StdInvariant.FuzzInterface[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"artifacts","type":"string[]","internalType":"string[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetSelectors","inputs":[],"outputs":[{"name":"targetedSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzSelector[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetSenders","inputs":[],"outputs":[{"name":"targetedSenders_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"event","name":"log","inputs":[{"name":"","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_address","inputs":[{"name":"","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"uint256[]","indexed":false,"internalType":"uint256[]"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"int256[]","indexed":false,"internalType":"int256[]"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"address[]","indexed":false,"internalType":"address[]"}],"anonymous":false},{"type":"event","name":"log_bytes","inputs":[{"name":"","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"log_bytes32","inputs":[{"name":"","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"log_int","inputs":[{"name":"","type":"int256","indexed":false,"internalType":"int256"}],"anonymous":false},{"type":"event","name":"log_named_address","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256[]","indexed":false,"internalType":"uint256[]"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256[]","indexed":false,"internalType":"int256[]"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"address[]","indexed":false,"internalType":"address[]"}],"anonymous":false},{"type":"event","name":"log_named_bytes","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"log_named_bytes32","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"log_named_decimal_int","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256","indexed":false,"internalType":"int256"},{"name":"decimals","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_named_decimal_uint","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"decimals","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_named_int","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256","indexed":false,"internalType":"int256"}],"anonymous":false},{"type":"event","name":"log_named_string","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_named_uint","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_string","inputs":[{"name":"","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_uint","inputs":[{"name":"","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"logs","inputs":[{"name":"","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false}],"bytecode":{"object":"0x6080604052600c8054600160ff199182168117909255601e8054909116909117905534801561002d57600080fd5b5061177b8061003d6000396000f3fe608060405234801561001057600080fd5b50600436106102dd5760003560e01c80637b10399911610186578063aa3744bd116100e3578063d5bee9f511610097578063e20c9f7111610071578063e20c9f711461046e578063ef0d790f14610476578063fa7626d41461047e57600080fd5b8063d5bee9f514610456578063da4bf0871461045e578063dac4eb161461046657600080fd5b8063ba414fa6116100c8578063ba414fa61461042e578063d1e82b5814610446578063d1f2cd881461044e57600080fd5b8063aa3744bd1461041e578063b5508aa91461042657600080fd5b80638c7408c41161013a5780638e3c24931161011f5780638e3c249314610406578063916a17c61461040e578063a407c67a1461041657600080fd5b80638c7408c41461031d5780638e0d1a50146103fe57600080fd5b80637cbe79ed1161016b5780637cbe79ed146103e1578063829e423f1461031d57806385226c81146103e957600080fd5b80637b103999146103c35780637b2edf32146103d957600080fd5b80633f7286f41161023f57806366d9a9a0116101f357806374d9284e116101cd57806374d9284e1461031d578063759c9a86146103b357806379e62d0d146103bb57600080fd5b806366d9a9a01461038e5780636a38dd0a146103a357806370a32944146103ab57600080fd5b8063587c124311610224578063587c1243146103765780635aff59991461037e57806366d003ac1461038657600080fd5b80633f7286f4146103665780634bf4ba211461036e57600080fd5b80631b96dce6116102965780631ed7831c1161027b5780631ed7831c146103345780632ade3880146103495780633e5e3c231461035e57600080fd5b80631b96dce6146103245780631e7bcb2e1461032c57600080fd5b80630688b135116102c75780630688b1351461030f5780630f166ad414610317578063174eedde1461031d57600080fd5b8062b1fad7146102e2578063030e400614610307575b600080fd5b6102ea61048b565b6040516001600160a01b0390911681526020015b60405180910390f35b6102ea6104d0565b6102ea610510565b306102ea565b60006102ea565b6102ea610550565b6102ea610590565b61033c6105d0565b6040516102fe91906113dc565b610351610632565b6040516102fe9190611479565b61033c610774565b61033c6107d4565b61033c610834565b6102ea610857565b6102ea610897565b6102ea6108d7565b610396610917565b6040516102fe9190611539565b6102ea610a12565b61033c610a52565b6102ea610aea565b61033c610b2a565b601e5461010090046001600160a01b03166102ea565b6102ea610b92565b6102ea610bd2565b6103f1610c12565b6040516102fe9190611604565b6102ea610ce2565b6102ea610d22565b610396610d62565b61033c610e5d565b6102ea610ec5565b6103f1610f05565b610436610fd5565b60405190151581526020016102fe565b6102ea6110a9565b6102ea6110e9565b6102ea611129565b6102ea611169565b6102ea6111a9565b61033c6111e9565b6102ea611249565b601e546104369060ff1681565b60006104cb6040518060400160405280600d81526020017f706f6f6c5f6d616e616765723100000000000000000000000000000000000000815250611285565b905090565b60006104cb6040518060400160405280601381526020017f70726f66696c65315f6e6f74414d656d62657200000000000000000000000000815250611285565b60006104cb6040518060400160405280600a81526020017f726563697069656e743200000000000000000000000000000000000000000000815250611285565b60006104cb6040518060400160405280600e81526020017f70726f66696c65325f6f776e6572000000000000000000000000000000000000815250611285565b60006104cb6040518060400160405280601081526020017f70726f66696c65315f6d656d6265723100000000000000000000000000000000815250611285565b6060601680548060200260200160405190810160405280929190818152602001828054801561062857602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831161060a575b5050505050905090565b6060601d805480602002602001604051908101604052809291908181526020016000905b8282101561076b57600084815260208082206040805180820182526002870290920180546001600160a01b03168352600181018054835181870281018701909452808452939591948681019491929084015b828210156107545783829060005260206000200180546106c790611666565b80601f01602080910402602001604051908101604052809291908181526020018280546106f390611666565b80156107405780601f1061071557610100808354040283529160200191610740565b820191906000526020600020905b81548152906001019060200180831161072357829003601f168201915b5050505050815260200190600101906106a8565b505050508152505081526020019060010190610656565b50505050905090565b60606018805480602002602001604051908101604052809291908181526020018280548015610628576020028201919060005260206000209081546001600160a01b0316815260019091019060200180831161060a575050505050905090565b60606017805480602002602001604051908101604052809291908181526020018280548015610628576020028201919060005260206000209081546001600160a01b0316815260019091019060200180831161060a575050505050905090565b604080516002808252606080830184529260208301908036833701905050905090565b60006104cb6040518060400160405280601081526020017f70726f66696c65325f6d656d6265723100000000000000000000000000000000815250611285565b60006104cb6040518060400160405280601081526020017f726563697069656e744164647265737300000000000000000000000000000000815250611285565b60006104cb6040518060400160405280600981526020017f726563697069656e740000000000000000000000000000000000000000000000815250611285565b6060601b805480602002602001604051908101604052809291908181526020016000905b8282101561076b5760008481526020908190206040805180820182526002860290920180546001600160a01b031683526001810180548351818702810187019094528084529394919385830193928301828280156109fa57602002820191906000526020600020906000905b82829054906101000a900460e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190600401906020826003010492830192600103820291508084116109a75790505b5050505050815250508152602001906001019061093b565b60006104cb6040518060400160405280600d81526020017f706f6f6c5f6d616e616765723200000000000000000000000000000000000000815250611285565b60408051600280825260608083018452926000929190602083019080368337019050509050610a7f610590565b81600081518110610a9257610a926116a0565b60200260200101906001600160a01b031690816001600160a01b031681525050610aba610b92565b81600181518110610acd57610acd6116a0565b6001600160a01b0390921660209283029190910190910152919050565b60006104cb6040518060400160405280600c81526020017f6e6f5f726563697069656e740000000000000000000000000000000000000000815250611285565b60408051600280825260608083018452926000929190602083019080368337019050509050610b5761048b565b81600081518110610b6a57610b6a6116a0565b60200260200101906001600160a01b031690816001600160a01b031681525050610aba610a12565b60006104cb6040518060400160405280601081526020017f70726f66696c65315f6d656d6265723200000000000000000000000000000000815250611285565b60006104cb6040518060400160405280600a81526020017f616c6c6f5f6f776e657200000000000000000000000000000000000000000000815250611285565b6060601a805480602002602001604051908101604052809291908181526020016000905b8282101561076b578382906000526020600020018054610c5590611666565b80601f0160208091040260200160405190810160405280929190818152602001828054610c8190611666565b8015610cce5780601f10610ca357610100808354040283529160200191610cce565b820191906000526020600020905b815481529060010190602001808311610cb157829003601f168201915b505050505081526020019060010190610c36565b60006104cb6040518060400160405280600a81526020017f706f6f6c5f61646d696e00000000000000000000000000000000000000000000815250611285565b60006104cb6040518060400160405280601081526020017f70726f66696c65325f6d656d6265723200000000000000000000000000000000815250611285565b6060601c805480602002602001604051908101604052809291908181526020016000905b8282101561076b5760008481526020908190206040805180820182526002860290920180546001600160a01b03168352600181018054835181870281018701909452808452939491938583019392830182828015610e4557602002820191906000526020600020906000905b82829054906101000a900460e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681526020019060040190602082600301049283019260010382029150808411610df25790505b50505050508152505081526020019060010190610d86565b60408051600280825260608083018452926000929190602083019080368337019050509050610e8a610857565b81600081518110610e9d57610e9d6116a0565b60200260200101906001600160a01b031690816001600160a01b031681525050610aba610d22565b60006104cb6040518060400160405280600a81526020017f726563697069656e743100000000000000000000000000000000000000000000815250611285565b60606019805480602002602001604051908101604052809291908181526020016000905b8282101561076b578382906000526020600020018054610f4890611666565b80601f0160208091040260200160405190810160405280929190818152602001828054610f7490611666565b8015610fc15780601f10610f9657610100808354040283529160200191610fc1565b820191906000526020600020905b815481529060010190602001808311610fa457829003601f168201915b505050505081526020019060010190610f29565b60085460009060ff1615610fed575060085460ff1690565b6040517f667f9d70000000000000000000000000000000000000000000000000000000008152737109709ecfa91a80626ff3989d68f67f5b1dd12d600482018190527f6661696c65640000000000000000000000000000000000000000000000000000602483015260009163667f9d7090604401602060405180830381865afa15801561107e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110a291906116b6565b1415905090565b60006104cb6040518060400160405280601081526020017f706f6f6c5f6e6f74414d616e6167657200000000000000000000000000000000815250611285565b60006104cb6040518060400160405280600e81526020017f70726f66696c65315f6f776e6572000000000000000000000000000000000000815250611285565b60006104cb6040518060400160405280600b81526020017f72616e646f6d2063686164000000000000000000000000000000000000000000815250611285565b60006104cb6040518060400160405280600d81526020017f616c6c6f5f747265617375727900000000000000000000000000000000000000815250611285565b60006104cb6040518060400160405280600e81526020017f72656769737472795f6f776e6572000000000000000000000000000000000000815250611285565b60606015805480602002602001604051908101604052809291908181526020018280548015610628576020028201919060005260206000209081546001600160a01b0316815260019091019060200180831161060a575050505050905090565b60006104cb6040518060400160405280601381526020017f70726f66696c65325f6e6f74414d656d626572000000000000000000000000008152505b600061129082611297565b5092915050565b600080826040516020016112ab91906116cf565b60408051808303601f190181529082905280516020909101207fffa18649000000000000000000000000000000000000000000000000000000008252600482018190529150737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ffa1864990602401602060405180830381865afa15801561132c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061135091906116eb565b6040517fc657c718000000000000000000000000000000000000000000000000000000008152909250737109709ecfa91a80626ff3989d68f67f5b1dd12d9063c657c718906113a5908590879060040161171b565b600060405180830381600087803b1580156113bf57600080fd5b505af11580156113d3573d6000803e3d6000fd5b50505050915091565b6020808252825182820181905260009190848201906040850190845b8181101561141d5783516001600160a01b0316835292840192918401916001016113f8565b50909695505050505050565b60005b8381101561144457818101518382015260200161142c565b50506000910152565b60008151808452611465816020860160208601611429565b601f01601f19169290920160200192915050565b602080825282518282018190526000919060409081850190600581811b8701840188860187805b8581101561152957603f198b8503018752825180516001600160a01b031685528901518985018990528051898601819052908a0190606081881b870181019190870190855b8181101561151357605f1989850301835261150184865161144d565b948e01949350918d01916001016114e5565b505050978a0197945050918801916001016114a0565b50919a9950505050505050505050565b60006020808301818452808551808352604092508286019150828160051b8701018488016000805b848110156115f557898403603f19018652825180516001600160a01b03168552880151888501889052805188860181905290890190839060608701905b808310156115e05783517fffffffff00000000000000000000000000000000000000000000000000000000168252928b019260019290920191908b019061159e565b50978a01979550505091870191600101611561565b50919998505050505050505050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b8281101561165957603f1988860301845261164785835161144d565b9450928501929085019060010161162b565b5092979650505050505050565b600181811c9082168061167a57607f821691505b60208210810361169a57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052603260045260246000fd5b6000602082840312156116c857600080fd5b5051919050565b600082516116e1818460208701611429565b9190910192915050565b6000602082840312156116fd57600080fd5b81516001600160a01b038116811461171457600080fd5b9392505050565b6001600160a01b038316815260406020820152600061173d604083018461144d565b94935050505056fea26469706673582212204c38a8b2623b88f9c79d64b0caa0b7fa0c26f856095129c1d5f90eff6547c2ba64736f6c63430008130033","sourceMap":"393:304:17:-:0;;;3126:44:23;;;3166:4;-1:-1:-1;;3126:44:23;;;;;;;;1016:26:33;;;;;;;;;;;393:304:17;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b50600436106102dd5760003560e01c80637b10399911610186578063aa3744bd116100e3578063d5bee9f511610097578063e20c9f7111610071578063e20c9f711461046e578063ef0d790f14610476578063fa7626d41461047e57600080fd5b8063d5bee9f514610456578063da4bf0871461045e578063dac4eb161461046657600080fd5b8063ba414fa6116100c8578063ba414fa61461042e578063d1e82b5814610446578063d1f2cd881461044e57600080fd5b8063aa3744bd1461041e578063b5508aa91461042657600080fd5b80638c7408c41161013a5780638e3c24931161011f5780638e3c249314610406578063916a17c61461040e578063a407c67a1461041657600080fd5b80638c7408c41461031d5780638e0d1a50146103fe57600080fd5b80637cbe79ed1161016b5780637cbe79ed146103e1578063829e423f1461031d57806385226c81146103e957600080fd5b80637b103999146103c35780637b2edf32146103d957600080fd5b80633f7286f41161023f57806366d9a9a0116101f357806374d9284e116101cd57806374d9284e1461031d578063759c9a86146103b357806379e62d0d146103bb57600080fd5b806366d9a9a01461038e5780636a38dd0a146103a357806370a32944146103ab57600080fd5b8063587c124311610224578063587c1243146103765780635aff59991461037e57806366d003ac1461038657600080fd5b80633f7286f4146103665780634bf4ba211461036e57600080fd5b80631b96dce6116102965780631ed7831c1161027b5780631ed7831c146103345780632ade3880146103495780633e5e3c231461035e57600080fd5b80631b96dce6146103245780631e7bcb2e1461032c57600080fd5b80630688b135116102c75780630688b1351461030f5780630f166ad414610317578063174eedde1461031d57600080fd5b8062b1fad7146102e2578063030e400614610307575b600080fd5b6102ea61048b565b6040516001600160a01b0390911681526020015b60405180910390f35b6102ea6104d0565b6102ea610510565b306102ea565b60006102ea565b6102ea610550565b6102ea610590565b61033c6105d0565b6040516102fe91906113dc565b610351610632565b6040516102fe9190611479565b61033c610774565b61033c6107d4565b61033c610834565b6102ea610857565b6102ea610897565b6102ea6108d7565b610396610917565b6040516102fe9190611539565b6102ea610a12565b61033c610a52565b6102ea610aea565b61033c610b2a565b601e5461010090046001600160a01b03166102ea565b6102ea610b92565b6102ea610bd2565b6103f1610c12565b6040516102fe9190611604565b6102ea610ce2565b6102ea610d22565b610396610d62565b61033c610e5d565b6102ea610ec5565b6103f1610f05565b610436610fd5565b60405190151581526020016102fe565b6102ea6110a9565b6102ea6110e9565b6102ea611129565b6102ea611169565b6102ea6111a9565b61033c6111e9565b6102ea611249565b601e546104369060ff1681565b60006104cb6040518060400160405280600d81526020017f706f6f6c5f6d616e616765723100000000000000000000000000000000000000815250611285565b905090565b60006104cb6040518060400160405280601381526020017f70726f66696c65315f6e6f74414d656d62657200000000000000000000000000815250611285565b60006104cb6040518060400160405280600a81526020017f726563697069656e743200000000000000000000000000000000000000000000815250611285565b60006104cb6040518060400160405280600e81526020017f70726f66696c65325f6f776e6572000000000000000000000000000000000000815250611285565b60006104cb6040518060400160405280601081526020017f70726f66696c65315f6d656d6265723100000000000000000000000000000000815250611285565b6060601680548060200260200160405190810160405280929190818152602001828054801561062857602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831161060a575b5050505050905090565b6060601d805480602002602001604051908101604052809291908181526020016000905b8282101561076b57600084815260208082206040805180820182526002870290920180546001600160a01b03168352600181018054835181870281018701909452808452939591948681019491929084015b828210156107545783829060005260206000200180546106c790611666565b80601f01602080910402602001604051908101604052809291908181526020018280546106f390611666565b80156107405780601f1061071557610100808354040283529160200191610740565b820191906000526020600020905b81548152906001019060200180831161072357829003601f168201915b5050505050815260200190600101906106a8565b505050508152505081526020019060010190610656565b50505050905090565b60606018805480602002602001604051908101604052809291908181526020018280548015610628576020028201919060005260206000209081546001600160a01b0316815260019091019060200180831161060a575050505050905090565b60606017805480602002602001604051908101604052809291908181526020018280548015610628576020028201919060005260206000209081546001600160a01b0316815260019091019060200180831161060a575050505050905090565b604080516002808252606080830184529260208301908036833701905050905090565b60006104cb6040518060400160405280601081526020017f70726f66696c65325f6d656d6265723100000000000000000000000000000000815250611285565b60006104cb6040518060400160405280601081526020017f726563697069656e744164647265737300000000000000000000000000000000815250611285565b60006104cb6040518060400160405280600981526020017f726563697069656e740000000000000000000000000000000000000000000000815250611285565b6060601b805480602002602001604051908101604052809291908181526020016000905b8282101561076b5760008481526020908190206040805180820182526002860290920180546001600160a01b031683526001810180548351818702810187019094528084529394919385830193928301828280156109fa57602002820191906000526020600020906000905b82829054906101000a900460e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190600401906020826003010492830192600103820291508084116109a75790505b5050505050815250508152602001906001019061093b565b60006104cb6040518060400160405280600d81526020017f706f6f6c5f6d616e616765723200000000000000000000000000000000000000815250611285565b60408051600280825260608083018452926000929190602083019080368337019050509050610a7f610590565b81600081518110610a9257610a926116a0565b60200260200101906001600160a01b031690816001600160a01b031681525050610aba610b92565b81600181518110610acd57610acd6116a0565b6001600160a01b0390921660209283029190910190910152919050565b60006104cb6040518060400160405280600c81526020017f6e6f5f726563697069656e740000000000000000000000000000000000000000815250611285565b60408051600280825260608083018452926000929190602083019080368337019050509050610b5761048b565b81600081518110610b6a57610b6a6116a0565b60200260200101906001600160a01b031690816001600160a01b031681525050610aba610a12565b60006104cb6040518060400160405280601081526020017f70726f66696c65315f6d656d6265723200000000000000000000000000000000815250611285565b60006104cb6040518060400160405280600a81526020017f616c6c6f5f6f776e657200000000000000000000000000000000000000000000815250611285565b6060601a805480602002602001604051908101604052809291908181526020016000905b8282101561076b578382906000526020600020018054610c5590611666565b80601f0160208091040260200160405190810160405280929190818152602001828054610c8190611666565b8015610cce5780601f10610ca357610100808354040283529160200191610cce565b820191906000526020600020905b815481529060010190602001808311610cb157829003601f168201915b505050505081526020019060010190610c36565b60006104cb6040518060400160405280600a81526020017f706f6f6c5f61646d696e00000000000000000000000000000000000000000000815250611285565b60006104cb6040518060400160405280601081526020017f70726f66696c65325f6d656d6265723200000000000000000000000000000000815250611285565b6060601c805480602002602001604051908101604052809291908181526020016000905b8282101561076b5760008481526020908190206040805180820182526002860290920180546001600160a01b03168352600181018054835181870281018701909452808452939491938583019392830182828015610e4557602002820191906000526020600020906000905b82829054906101000a900460e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681526020019060040190602082600301049283019260010382029150808411610df25790505b50505050508152505081526020019060010190610d86565b60408051600280825260608083018452926000929190602083019080368337019050509050610e8a610857565b81600081518110610e9d57610e9d6116a0565b60200260200101906001600160a01b031690816001600160a01b031681525050610aba610d22565b60006104cb6040518060400160405280600a81526020017f726563697069656e743100000000000000000000000000000000000000000000815250611285565b60606019805480602002602001604051908101604052809291908181526020016000905b8282101561076b578382906000526020600020018054610f4890611666565b80601f0160208091040260200160405190810160405280929190818152602001828054610f7490611666565b8015610fc15780601f10610f9657610100808354040283529160200191610fc1565b820191906000526020600020905b815481529060010190602001808311610fa457829003601f168201915b505050505081526020019060010190610f29565b60085460009060ff1615610fed575060085460ff1690565b6040517f667f9d70000000000000000000000000000000000000000000000000000000008152737109709ecfa91a80626ff3989d68f67f5b1dd12d600482018190527f6661696c65640000000000000000000000000000000000000000000000000000602483015260009163667f9d7090604401602060405180830381865afa15801561107e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110a291906116b6565b1415905090565b60006104cb6040518060400160405280601081526020017f706f6f6c5f6e6f74414d616e6167657200000000000000000000000000000000815250611285565b60006104cb6040518060400160405280600e81526020017f70726f66696c65315f6f776e6572000000000000000000000000000000000000815250611285565b60006104cb6040518060400160405280600b81526020017f72616e646f6d2063686164000000000000000000000000000000000000000000815250611285565b60006104cb6040518060400160405280600d81526020017f616c6c6f5f747265617375727900000000000000000000000000000000000000815250611285565b60006104cb6040518060400160405280600e81526020017f72656769737472795f6f776e6572000000000000000000000000000000000000815250611285565b60606015805480602002602001604051908101604052809291908181526020018280548015610628576020028201919060005260206000209081546001600160a01b0316815260019091019060200180831161060a575050505050905090565b60006104cb6040518060400160405280601381526020017f70726f66696c65325f6e6f74414d656d626572000000000000000000000000008152505b600061129082611297565b5092915050565b600080826040516020016112ab91906116cf565b60408051808303601f190181529082905280516020909101207fffa18649000000000000000000000000000000000000000000000000000000008252600482018190529150737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ffa1864990602401602060405180830381865afa15801561132c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061135091906116eb565b6040517fc657c718000000000000000000000000000000000000000000000000000000008152909250737109709ecfa91a80626ff3989d68f67f5b1dd12d9063c657c718906113a5908590879060040161171b565b600060405180830381600087803b1580156113bf57600080fd5b505af11580156113d3573d6000803e3d6000fd5b50505050915091565b6020808252825182820181905260009190848201906040850190845b8181101561141d5783516001600160a01b0316835292840192918401916001016113f8565b50909695505050505050565b60005b8381101561144457818101518382015260200161142c565b50506000910152565b60008151808452611465816020860160208601611429565b601f01601f19169290920160200192915050565b602080825282518282018190526000919060409081850190600581811b8701840188860187805b8581101561152957603f198b8503018752825180516001600160a01b031685528901518985018990528051898601819052908a0190606081881b870181019190870190855b8181101561151357605f1989850301835261150184865161144d565b948e01949350918d01916001016114e5565b505050978a0197945050918801916001016114a0565b50919a9950505050505050505050565b60006020808301818452808551808352604092508286019150828160051b8701018488016000805b848110156115f557898403603f19018652825180516001600160a01b03168552880151888501889052805188860181905290890190839060608701905b808310156115e05783517fffffffff00000000000000000000000000000000000000000000000000000000168252928b019260019290920191908b019061159e565b50978a01979550505091870191600101611561565b50919998505050505050505050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b8281101561165957603f1988860301845261164785835161144d565b9450928501929085019060010161162b565b5092979650505050505050565b600181811c9082168061167a57607f821691505b60208210810361169a57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052603260045260246000fd5b6000602082840312156116c857600080fd5b5051919050565b600082516116e1818460208701611429565b9190910192915050565b6000602082840312156116fd57600080fd5b81516001600160a01b038116811461171457600080fd5b9392505050565b6001600160a01b038316815260406020820152600061173d604083018461144d565b94935050505056fea26469706673582212204c38a8b2623b88f9c79d64b0caa0b7fa0c26f856095129c1d5f90eff6547c2ba64736f6c63430008130033","sourceMap":"393:304:17:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1763:107:15;;;:::i;:::-;;;-1:-1:-1;;;;;178:55:151;;;160:74;;148:2;133:18;1763:107:15;;;;;;;;2429:119;;;:::i;4045:101::-;;;:::i;226:92::-;306:4;226:92;;905:138;968:7;905:138;;3126:109;;;:::i;2554:113::-;;;:::i;2452:134:26:-;;;:::i;:::-;;;;;;;:::i;3360:151::-;;;:::i;:::-;;;;;;;:::i;3221:133::-;;;:::i;2922:141::-;;;:::i;1331:118:15:-;;;:::i;3366:113::-;;;:::i;4257:::-;;;:::i;4152:99::-;;;:::i;2738:178:26:-;;;:::i;:::-;;;;;;;:::i;1876:107:15:-;;;:::i;2792:241::-;;;:::i;4376:105::-;;;:::i;1989:232::-;;;:::i;610:85:17:-;678:10;;;;;-1:-1:-1;;;;;678:10:17;610:85;;2673:113:15;;;:::i;439:101::-;;;:::i;2592:140:26:-;;;:::i;:::-;;;;;;;:::i;1537:101:15:-;;;:::i;3485:113::-;;;:::i;3069:146:26:-;;;:::i;3604:241:15:-;;;:::i;3938:101::-;;;:::i;2157:141:26:-;;;:::i;1243:204:22:-;;;:::i;:::-;;;6098:14:151;;6091:22;6073:41;;6061:2;6046:18;1243:204:22;5933:187:151;1644:113:15;;;:::i;2314:109::-;;;:::i;4571:105::-;;;:::i;546:124::-;;;:::i;324:109::-;;;:::i;2304:142:26:-;;;:::i;3241:119:15:-;;;:::i;1016:26:33:-;;;;;;;;;1763:107:15;1812:7;1838:25;;;;;;;;;;;;;;;;;;:8;:25::i;:::-;1831:32;;1763:107;:::o;2429:119::-;2484:7;2510:31;;;;;;;;;;;;;;;;;;:8;:31::i;4045:101::-;4091:7;4117:22;;;;;;;;;;;;;;;;;;:8;:22::i;3126:109::-;3176:7;3202:26;;;;;;;;;;;;;;;;;;:8;:26::i;2554:113::-;2606:7;2632:28;;;;;;;;;;;;;;;;;;:8;:28::i;2452:134:26:-;2499:33;2563:16;2544:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2544:35:26;;;;;;;;;;;;;;;;;;;;;;;2452:134;:::o;3360:151::-;3409:42;3485:19;3463:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3463:41:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3360:151;:::o;3221:133::-;3267:33;3331:16;3312:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3312:35:26;;;;;;;;;;;;;;;;;;;;;;3221:133;:::o;2922:141::-;2970:35;3038:18;3017:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3017:39:26;;;;;;;;;;;;;;;;;;;;;;2922:141;:::o;1331:118:15:-;1426:16;;;1440:1;1426:16;;;1391;1426;;;;;1391;1426;;;;;;;;;;-1:-1:-1;1426:16:15;1419:23;;1331:118;:::o;3366:113::-;3418:7;3444:28;;;;;;;;;;;;;;;;;;:8;:28::i;4257:113::-;4309:7;4335:28;;;;;;;;;;;;;;;;;;:8;:28::i;4152:99::-;4197:7;4223:21;;;;;;;;;;;;;;;;;;:8;:21::i;2738:178:26:-;2794:48;2883:26;2854:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2854:55:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1876:107:15;1925:7;1951:25;;;;;;;;;;;;;;;;;;:8;:25::i;2792:241::-;2900:16;;;2914:1;2900:16;;;2844;2900;;;;;2844;2872:25;;2900:16;2914:1;2900:16;;;;;;;;;;-1:-1:-1;2900:16:15;2872:44;;2940:18;:16;:18::i;:::-;2926:8;2935:1;2926:11;;;;;;;;:::i;:::-;;;;;;:32;-1:-1:-1;;;;;2926:32:15;;;-1:-1:-1;;;;;2926:32:15;;;;;2982:18;:16;:18::i;:::-;2968:8;2977:1;2968:11;;;;;;;;:::i;:::-;-1:-1:-1;;;;;2968:32:15;;;:11;;;;;;;;;;;:32;3018:8;2792:241;-1:-1:-1;2792:241:15:o;4376:105::-;4424:7;4450:24;;;;;;;;;;;;;;;;;;:8;:24::i;1989:232::-;2094:16;;;2108:1;2094:16;;;2038;2094;;;;;2038;2066:25;;2094:16;2108:1;2094:16;;;;;;;;;;-1:-1:-1;2094:16:15;2066:44;;2134:15;:13;:15::i;:::-;2120:8;2129:1;2120:11;;;;;;;;:::i;:::-;;;;;;:29;-1:-1:-1;;;;;2120:29:15;;;-1:-1:-1;;;;;2120:29:15;;;;;2173:15;:13;:15::i;2673:113::-;2725:7;2751:28;;;;;;;;;;;;;;;;;;:8;:28::i;439:101::-;485:7;511:22;;;;;;;;;;;;;;;;;;:8;:22::i;2592:140:26:-;2640:34;2707:18;2686:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1537:101:15;1583:7;1609:22;;;;;;;;;;;;;;;;;;:8;:22::i;3485:113::-;3537:7;3563:28;;;;;;;;;;;;;;;;;;:8;:28::i;3069:146:26:-;3117:40;3190:18;3169:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3169:39:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3604:241:15;3712:16;;;3726:1;3712:16;;;3656;3712;;;;;3656;3684:25;;3712:16;3726:1;3712:16;;;;;;;;;;-1:-1:-1;3712:16:15;3684:44;;3752:18;:16;:18::i;:::-;3738:8;3747:1;3738:11;;;;;;;;:::i;:::-;;;;;;:32;-1:-1:-1;;;;;3738:32:15;;;-1:-1:-1;;;;;3738:32:15;;;;;3794:18;:16;:18::i;3938:101::-;3984:7;4010:22;;;;;;;;;;;;;;;;;;:8;:22::i;2157:141:26:-;2206:34;2273:18;2252:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1243:204:22;1302:7;;1282:4;;1302:7;;1298:143;;;-1:-1:-1;1332:7:22;;;;;1243:204::o;1298:143::-;1377:39;;;;;:7;:39;;;7366:74:151;;;1398:17:22;7456:18:151;;;7449:34;1428:1:22;;1377:7;;7339:18:151;;1377:39:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:53;;1370:60;;1243:204;:::o;1644:113:15:-;1696:7;1722:28;;;;;;;;;;;;;;;;;;:8;:28::i;2314:109::-;2364:7;2390:26;;;;;;;;;;;;;;;;;;:8;:26::i;4571:105::-;4620:7;4646:23;;;;;;;;;;;;;;;;;;:8;:23::i;546:124::-;595:15;637:25;;;;;;;;;;;;;;;;;;:8;:25::i;324:109::-;374:7;400:26;;;;;;;;;;;;;;;;;;:8;:26::i;2304:142:26:-;2353:35;2421:18;2400:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2400:39:26;;;;;;;;;;;;;;;;;;;;;;2304:142;:::o;3241:119:15:-;3296:7;3322:31;;;;;;;;;;;;;;;;;;20439:125:24;20503:12;20537:20;20552:4;20537:14;:20::i;:::-;-1:-1:-1;20527:30:24;20439:125;-1:-1:-1;;20439:125:24:o;20158:242::-;20228:12;20242:18;20320:4;20303:22;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;20303:22:24;;;;;;;20293:33;;20303:22;20293:33;;;;20344:19;;;;;;8123:25:151;;;20293:33:24;-1:-1:-1;20344:7:24;;;;8096:18:151;;20344:19:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;20373:20;;;;;20337:26;;-1:-1:-1;20373:8:24;;;;:20;;20337:26;;20388:4;;20373:20;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20158:242;;;:::o;245:681:151:-;416:2;468:21;;;538:13;;441:18;;;560:22;;;387:4;;416:2;639:15;;;;613:2;598:18;;;387:4;682:218;696:6;693:1;690:13;682:218;;;761:13;;-1:-1:-1;;;;;757:62:151;745:75;;875:15;;;;840:12;;;;718:1;711:9;682:218;;;-1:-1:-1;917:3:151;;245:681;-1:-1:-1;;;;;;245:681:151:o;931:250::-;1016:1;1026:113;1040:6;1037:1;1034:13;1026:113;;;1116:11;;;1110:18;1097:11;;;1090:39;1062:2;1055:10;1026:113;;;-1:-1:-1;;1173:1:151;1155:16;;1148:27;931:250::o;1186:271::-;1228:3;1266:5;1260:12;1293:6;1288:3;1281:19;1309:76;1378:6;1371:4;1366:3;1362:14;1355:4;1348:5;1344:16;1309:76;:::i;:::-;1439:2;1418:15;-1:-1:-1;;1414:29:151;1405:39;;;;1446:4;1401:50;;1186:271;-1:-1:-1;;1186:271:151:o;1462:1767::-;1697:2;1749:21;;;1819:13;;1722:18;;;1841:22;;;1668:4;;1697:2;1882;;1900:18;;;;1937:1;1980:15;;;1965:31;;1961:40;;2024:15;;;1668:4;;2088:1112;2104:6;2099:3;2096:15;2088:1112;;;-1:-1:-1;;2173:22:151;;;2169:36;2157:49;;2229:13;;2316:9;;-1:-1:-1;;;;;2312:58:151;2297:74;;2410:11;;2404:18;2442:15;;;2435:27;;;2523:19;;2269:15;;;2555:24;;;2736:21;;;;2602:2;2684:17;;;2672:30;;2668:39;;;2626:15;;;;2781:1;2795:296;2811:8;2806:3;2803:17;2795:296;;;2917:2;2913:7;2904:6;2896;2892:19;2888:33;2881:5;2874:48;2949:42;2984:6;2973:8;2967:15;2949:42;:::i;:::-;3020:17;;;;2939:52;-1:-1:-1;3063:14:151;;;;2839:1;2830:11;2795:296;;;-1:-1:-1;;;3178:12:151;;;;3114:6;-1:-1:-1;;3143:15:151;;;;2130:1;2121:11;2088:1112;;;-1:-1:-1;3217:6:151;;1462:1767;-1:-1:-1;;;;;;;;;;1462:1767:151:o;3234:1638::-;3438:4;3467:2;3507;3496:9;3492:18;3537:2;3526:9;3519:21;3560:6;3595;3589:13;3626:6;3618;3611:22;3652:2;3642:12;;3685:2;3674:9;3670:18;3663:25;;3747:2;3737:6;3734:1;3730:14;3719:9;3715:30;3711:39;3785:2;3777:6;3773:15;3806:1;3827;3837:1006;3853:6;3848:3;3845:15;3837:1006;;;3922:22;;;-1:-1:-1;;3918:36:151;3906:49;;3978:13;;4065:9;;-1:-1:-1;;;;;4061:58:151;4046:74;;4159:11;;4153:18;4191:15;;;4184:27;;;4272:19;;4018:15;;;4304:24;;;4394:21;;;;4439:1;;4362:2;4350:15;;;4453:282;4469:8;4464:3;4461:17;4453:282;;;4550:15;;4567:66;4546:88;4532:103;;4704:17;;;;4497:1;4488:11;;;;;4661:14;;;;4453:282;;;-1:-1:-1;4821:12:151;;;;4758:5;-1:-1:-1;;;4786:15:151;;;;3879:1;3870:11;3837:1006;;;-1:-1:-1;4860:6:151;;3234:1638;-1:-1:-1;;;;;;;;;3234:1638:151:o;5125:803::-;5287:4;5316:2;5356;5345:9;5341:18;5386:2;5375:9;5368:21;5409:6;5444;5438:13;5475:6;5467;5460:22;5513:2;5502:9;5498:18;5491:25;;5575:2;5565:6;5562:1;5558:14;5547:9;5543:30;5539:39;5525:53;;5613:2;5605:6;5601:15;5634:1;5644:255;5658:6;5655:1;5652:13;5644:255;;;5751:2;5747:7;5735:9;5727:6;5723:22;5719:36;5714:3;5707:49;5779:40;5812:6;5803;5797:13;5779:40;:::i;:::-;5769:50;-1:-1:-1;5877:12:151;;;;5842:15;;;;5680:1;5673:9;5644:255;;;-1:-1:-1;5916:6:151;;5125:803;-1:-1:-1;;;;;;;5125:803:151:o;6372:437::-;6451:1;6447:12;;;;6494;;;6515:61;;6569:4;6561:6;6557:17;6547:27;;6515:61;6622:2;6614:6;6611:14;6591:18;6588:38;6585:218;;-1:-1:-1;;;6656:1:151;6649:88;6760:4;6757:1;6750:15;6788:4;6785:1;6778:15;6585:218;;6372:437;;;:::o;7003:184::-;-1:-1:-1;;;7052:1:151;7045:88;7152:4;7149:1;7142:15;7176:4;7173:1;7166:15;7494:184;7564:6;7617:2;7605:9;7596:7;7592:23;7588:32;7585:52;;;7633:1;7630;7623:12;7585:52;-1:-1:-1;7656:16:151;;7494:184;-1:-1:-1;7494:184:151:o;7683:289::-;7814:3;7852:6;7846:13;7868:66;7927:6;7922:3;7915:4;7907:6;7903:17;7868:66;:::i;:::-;7950:16;;;;;7683:289;-1:-1:-1;;7683:289:151:o;8159:313::-;8229:6;8282:2;8270:9;8261:7;8257:23;8253:32;8250:52;;;8298:1;8295;8288:12;8250:52;8330:9;8324:16;-1:-1:-1;;;;;8373:5:151;8369:54;8362:5;8359:65;8349:93;;8438:1;8435;8428:12;8349:93;8461:5;8159:313;-1:-1:-1;;;8159:313:151:o;8477:340::-;-1:-1:-1;;;;;8658:6:151;8654:55;8643:9;8636:74;8746:2;8741;8730:9;8726:18;8719:30;8617:4;8766:45;8807:2;8796:9;8792:18;8784:6;8766:45;:::i;:::-;8758:53;8477:340;-1:-1:-1;;;;8477:340:151:o","linkReferences":{}},"methodIdentifiers":{"IS_TEST()":"fa7626d4","allo_owner()":"7cbe79ed","allo_treasury()":"da4bf087","excludeArtifacts()":"b5508aa9","excludeContracts()":"e20c9f71","excludeSenders()":"1ed7831c","failed()":"ba414fa6","local()":"0f166ad4","no_recipient()":"759c9a86","nullProfile_member1()":"829e423f","nullProfile_member2()":"8c7408c4","nullProfile_members()":"4bf4ba21","nullProfile_notAMember()":"174eedde","nullProfile_owner()":"74d9284e","pool_admin()":"8e0d1a50","pool_manager1()":"00b1fad7","pool_manager2()":"6a38dd0a","pool_managers()":"79e62d0d","pool_notAManager()":"d1e82b58","profile1_member1()":"1e7bcb2e","profile1_member2()":"7b2edf32","profile1_members()":"70a32944","profile1_notAMember()":"030e4006","profile1_owner()":"d1f2cd88","profile2_member1()":"587c1243","profile2_member2()":"8e3c2493","profile2_members()":"a407c67a","profile2_notAMember()":"ef0d790f","profile2_owner()":"1b96dce6","randomAddress()":"d5bee9f5","recipient()":"66d003ac","recipient1()":"aa3744bd","recipient2()":"0688b135","recipientAddress()":"5aff5999","registry()":"7b103999","registry_owner()":"dac4eb16","targetArtifactSelectors()":"66d9a9a0","targetArtifacts()":"85226c81","targetContracts()":"3f7286f4","targetInterfaces()":"2ade3880","targetSelectors()":"916a17c6","targetSenders()":"3e5e3c23"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"log_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"val\",\"type\":\"uint256[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256[]\",\"name\":\"val\",\"type\":\"int256[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"val\",\"type\":\"address[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"log_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"log_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"name\":\"log_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"val\",\"type\":\"address\"}],\"name\":\"log_named_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"val\",\"type\":\"uint256[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256[]\",\"name\":\"val\",\"type\":\"int256[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"val\",\"type\":\"address[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"val\",\"type\":\"bytes\"}],\"name\":\"log_named_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"val\",\"type\":\"bytes32\"}],\"name\":\"log_named_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"}],\"name\":\"log_named_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"val\",\"type\":\"string\"}],\"name\":\"log_named_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"}],\"name\":\"log_named_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"log_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"logs\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"IS_TEST\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"allo_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"allo_treasury\",\"outputs\":[{\"internalType\":\"address payable\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeArtifacts\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"excludedArtifacts_\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeContracts\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"excludedContracts_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeSenders\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"excludedSenders_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"failed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"local\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"no_recipient\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_member1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_member2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_members\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_notAMember\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_admin\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_manager1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_manager2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_managers\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_notAManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_member1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_member2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_members\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_notAMember\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_member1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_member2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_members\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_notAMember\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"randomAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"recipient\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"recipient1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"recipient2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"recipientAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"registry\",\"outputs\":[{\"internalType\":\"contract Registry\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"registry_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetArtifactSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzSelector[]\",\"name\":\"targetedArtifactSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetArtifacts\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"targetedArtifacts_\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetContracts\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"targetedContracts_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetInterfaces\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"string[]\",\"name\":\"artifacts\",\"type\":\"string[]\"}],\"internalType\":\"struct StdInvariant.FuzzInterface[]\",\"name\":\"targetedInterfaces_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzSelector[]\",\"name\":\"targetedSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetSenders\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"targetedSenders_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"title\":\"RegistrySetup\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"This contract is used to setup an empty Registry contract for testing purposes.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/allo-v2/test/foundry/shared/RegistrySetup.sol\":\"RegistrySetup\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1000},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-contracts/=lib/safe-contracts/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"]},\"sources\":{\"lib/allo-v2/contracts/core/Anchor.sol\":{\"keccak256\":\"0x6f470a8d0bab0848d3c3b7fb076b4001ff8b6bfd18f4bd6691a50ee6a13910cd\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://4ed2ae6e417c282a07088fa9a30325fe5b2fa6d406ec02dc1df63027e82ec139\",\"dweb:/ipfs/QmdVDTJKzjJqkygZ9768krrVQicLZTJVrZXbvet7KsmT8H\"]},\"lib/allo-v2/contracts/core/Registry.sol\":{\"keccak256\":\"0xb4fb0c6d9eb0f27dd6f6099f2832054a0b194ce420c6870deb5a7a94dd88b998\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://0e82595dcff5471f50e67cc35f73dbc1c9344eac1ee9b42235372bd23ceee283\",\"dweb:/ipfs/QmS34kQKRBaE7ih8c5upBb11bg3QtjunvctxKYNrtfGWhR\"]},\"lib/allo-v2/contracts/core/interfaces/IRegistry.sol\":{\"keccak256\":\"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e\",\"dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA\"]},\"lib/allo-v2/contracts/core/libraries/Errors.sol\":{\"keccak256\":\"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf\",\"dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA\"]},\"lib/allo-v2/contracts/core/libraries/Metadata.sol\":{\"keccak256\":\"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c\",\"dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn\"]},\"lib/allo-v2/contracts/core/libraries/Native.sol\":{\"keccak256\":\"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a\",\"dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv\"]},\"lib/allo-v2/contracts/core/libraries/Transfer.sol\":{\"keccak256\":\"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11\",\"dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5\"]},\"lib/allo-v2/lib/solady/src/tokens/ERC20.sol\":{\"keccak256\":\"0x264e4675697d05dfb9bbe9cc91c6bda7962d934f1e940336fd75d509b7f396c4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5856338689f03f36c057203c5085243e104b8487274432062ebf076b512edeea\",\"dweb:/ipfs/QmXrqgaWQikKkHfoBkYPxeMTJWUY5uf7kSmipNbpU35XwK\"]},\"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol\":{\"keccak256\":\"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298\",\"dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt\"]},\"lib/allo-v2/test/foundry/shared/Accounts.sol\":{\"keccak256\":\"0x47c754ab744c6c9894aaff23cfbbe44bc30879a53fbbe8d36b1fee26137f2e3a\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://8e457b7adaf1ea79cc707e8a3e2989855f51ff98ebc1947b3239d7d410d5a07b\",\"dweb:/ipfs/QmSXASZ4u435D29T4UzKuh6kd8vLSrbSSgZzjnnhfwyv1m\"]},\"lib/allo-v2/test/foundry/shared/RegistrySetup.sol\":{\"keccak256\":\"0xb771e6d89c173abc626b0e6d30d1b2d8efed2c2b27cec3f49e9447c07b92622b\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://990cf93f5c90db3ab160c8a3b68b03561a7c2812b4c9763c901a3ac8b121ccdb\",\"dweb:/ipfs/QmeSruv7KW2ZeRe4iQnt1HA6jkAyu5GrohC4YRVZYMNz6j\"]},\"lib/forge-std/src/Base.sol\":{\"keccak256\":\"0x4ff1a785311017d1eedb1b4737956fa383067ad34eb439abfec1d989754dde1c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f553622969b9fdb930246704a4c10dfaee6b1a4468c142fa7eb9dc292a438224\",\"dweb:/ipfs/QmcxqHnqdQsMVtgsfH9VNLmZ3g7GhgNagfq7yvNCDcCHFK\"]},\"lib/forge-std/src/StdAssertions.sol\":{\"keccak256\":\"0xf513292ab066e6017db48ca749c1e63a44dfc5cba0326fc65c718f96e029d361\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://02d715ae2898f1fabd08133f80e6a7a3b87a2796ca5d23d1cb3fed9f4367f34c\",\"dweb:/ipfs/QmfESqa4j3PQAvvdfrnDQ1xUH1TnVCfvZYHsAEDK8z4X4k\"]},\"lib/forge-std/src/StdChains.sol\":{\"keccak256\":\"0x9cc29c28f49d0b7f7b2f1aa32d8273f8a087bf62eb3fb22d893df824052c25ef\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://42dcb36cb10b878a0d5b20ce3a4a3ba4f51f44d7731a66ac1133c699bc80b31b\",\"dweb:/ipfs/QmY6q7SaHQMLBb3rS6xZdArPaXoskWeqF6oJwUeZ3gKLZj\"]},\"lib/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0xb72f3519e0bf7d31df5d68557525f4fc55d861c3fb3b0f7793144ef7c94cbeb7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f3456d0f78e6f61203fa7871ba2df0d35925f10db3baee14be623ce2a35b84e2\",\"dweb:/ipfs/QmWE6QQSBvJifHMraisBTrf1x4WCwrDoTPLX8UKajTiApc\"]},\"lib/forge-std/src/StdError.sol\":{\"keccak256\":\"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6\",\"dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj\"]},\"lib/forge-std/src/StdInvariant.sol\":{\"keccak256\":\"0x67299bfacd77fddfa2a67b8e2b901e0e333618a4975fb94850b07475e51f6de6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1b61121d310f4053ce344b345b4a9ccf43b059daf9097ec2647f594beaca896d\",\"dweb:/ipfs/QmZUCoTtXBM9zfAZVbj2dFPPnKaV1CSZzXE7zictyg3Gfz\"]},\"lib/forge-std/src/StdJson.sol\":{\"keccak256\":\"0x62bed173cb126f6d5006706cf249bac8a2d51bfa18f773f314784ff18adc622d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5acc33dddbf2492e37dc32e89cd56ce917272d303a6874805f3a5768a6bfbf54\",\"dweb:/ipfs/QmTsgFhcpUf16gAVazUXU3WspgX8nHke2hzVCvoqS25WEp\"]},\"lib/forge-std/src/StdMath.sol\":{\"keccak256\":\"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92\",\"dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0x651d84d948832f0ef45686417aa68ffb871378fa788a4123dbf37844903c66f3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ff20f5ac9de3dc3ba86b1bf1f2723174e82ce3499ad67cb0ccfa7d28baeee678\",\"dweb:/ipfs/QmRZkUFKz7AmF7yk6o317sk822HHhGVPXZQgX8G4LfYfft\"]},\"lib/forge-std/src/StdStyle.sol\":{\"keccak256\":\"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8\",\"dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK\"]},\"lib/forge-std/src/StdToml.sol\":{\"keccak256\":\"0xc8a57915ace96f5b6a85b57e57690fc038cad9034a3dc368c11828a3707c61ab\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fa880a1a6e5d94005dcf4811b4c0df8d9c06407017ae111bd351483e2b76a72d\",\"dweb:/ipfs/QmcxkEE58gE1vDcZofTr8QpvdjXjgR72yYg7o4vTPSLCsy\"]},\"lib/forge-std/src/StdUtils.sol\":{\"keccak256\":\"0x502b18a4becda6ecd91fa8b419d8034946bfa80e6cc7f6497f51f8565bfadae0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bf499ee483a1dfd02023d4ce78ed4029a49794ccd5b849aaab912faea0d2ba61\",\"dweb:/ipfs/QmP6hwNZW7sYbQK9fBzuZWxfLm6Swx2nKzvZ54qWNqQkzX\"]},\"lib/forge-std/src/Test.sol\":{\"keccak256\":\"0x3b4bb409a156dee9ce261458117fe9f81080ca844a8a26c07c857c46d155effe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5792c69fe24bdc063a14e08fe68275007fdb1e5e7e343840a77938cb7e95a64e\",\"dweb:/ipfs/QmcAMhaurUwzhytJFYix4vRNeZeV8g27b8LnV3t7dvYtiK\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x51fec240abc6dd23e0ee6de7c65106379aef732cad6c4ae5df6b55db886e7456\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://a47d9c0a9876e7f9e411843b994a741d4ac1a87d8459ffc3c56359de691ddc1a\",\"dweb:/ipfs/QmQiFN9b3Y2azrD1RBfAKEuAG3YeJkMzA2DGzgEE9kMeEK\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]},\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0x954646445d1014c3cd85c7918f5e7adeeca5ee44b68c00bafa237e597a4e35ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://516fa3be52da4763147175bfba4be0aa011fadbb0c1afb01f97265bd4cee7973\",\"dweb:/ipfs/QmdixAyMJefx7qePChgdxcBH5MxhmN7vsqPuPLx3CgrVmF\"]},\"lib/forge-std/src/interfaces/IERC165.sol\":{\"keccak256\":\"0x414b2861b1acbf816ccb7346d3f16cf6c1e002e9e5e40d2f1f26fa5ddc2ea600\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://698352fb240868ea8f1d1fe389993035eeab930f10d06934f80ccfb2b6ccbfbc\",\"dweb:/ipfs/QmT6WLHAgXxFhh12kWym895oTzXid1326iZiwT3pyfggoT\"]},\"lib/forge-std/src/interfaces/IERC20.sol\":{\"keccak256\":\"0x4cab887298790f908c27de107e4e2907ca5413aee482ef776f8d2f353c5ef947\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb715e0c4a2bdbe432bb624501506041f06e878e0b72675aebba30ad2c2b72e7\",\"dweb:/ipfs/QmWhhLSvkxS2NrukJJHqFY8gDVE5r9rD4PfHvR24pwdKv9\"]},\"lib/forge-std/src/interfaces/IERC721.sol\":{\"keccak256\":\"0xf069262a264fdb69f8f37a10d2df7374649e9ba73f8414c9c8a3b51184625f15\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://924a41ca82a68ffbd503a5faf2f76d13e9938f10501a71094716f12bb64b4b7f\",\"dweb:/ipfs/QmdWnqfKc5ZGhmxNPTde4zrFchnv9Yk9MpCMb2rdhXE5gm\"]},\"lib/forge-std/src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0\",\"dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2\"]},\"lib/forge-std/src/mocks/MockERC20.sol\":{\"keccak256\":\"0xadbdfc6639edec00ba94bb1133a0fd8de31ccafe45c2ef5df9b3ca61b60b559b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc766f01bccf669abac8cc7b2096cc1352a66471ca3772ae61b1801dedc4ed4f\",\"dweb:/ipfs/QmNigaPj1LYkP7Z5xr4ijkUxr2K66fDGeoifG3WoM9ruyw\"]},\"lib/forge-std/src/mocks/MockERC721.sol\":{\"keccak256\":\"0x3293dcbb7acd28df553c954e4e39e288bf10aab7ecda8d50ef21b4f4a91a28d9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9eb374daf6df34f4392f8926f1fddbce9f22c423066aeaefdfbe77395f77967b\",\"dweb:/ipfs/QmWR81zBJRX2uyRjveGzikYPj6ZwKppWsU49YEQXTLWUsN\"]},\"lib/forge-std/src/safeconsole.sol\":{\"keccak256\":\"0xbaf41fdc6c54297e7cd8250e48b0f20eaac918e342a1028cef3f9a52ac086381\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a500ad81dea226f9910e6b50f99a9ff930105e393a692cbfb2185e4cdb4424ae\",\"dweb:/ipfs/QmVbUQpXNMmMWRiy4FvBNczzq46BMGfUoBikvSHNiCxVTq\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0xc8710577334e8d0799ae2b2a731b1924a7bddd64319da9787ddd2dc69bdd1ce5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b83b7afa4d2372da3ba5402fb10860a105c35d79812c60dc61007be2afc17618\",\"dweb:/ipfs/QmYX9xPmbNVSKXrepKiUZiG5oL3SdzFp9a4kqspxX1sEUx\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol\":{\"keccak256\":\"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c\",\"dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e\",\"dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b\",\"dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95\",\"dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol\":{\"keccak256\":\"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a\",\"dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0xd90d7723512df65ae417adaf0801042940f0dabd60039ceeaffe34aa5b238da1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1b13befeb3413749292f9fb229de1c7a509a5ce2c8047d9094fc004ca9d3af89\",\"dweb:/ipfs/QmRzJ2hZSwRtMejHUZAYTPRKgZsnfb112Fno9Jf3EiDfwA\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol\":{\"keccak256\":\"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758\",\"dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol\":{\"keccak256\":\"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91\",\"dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol\":{\"keccak256\":\"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4\",\"dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z\"]},\"lib/openzeppelin-contracts/contracts/token/ERC1155/IERC1155Receiver.sol\":{\"keccak256\":\"0xeb373f1fdc7b755c6a750123a9b9e3a8a02c1470042fd6505d875000a80bde0b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0e28648f994abf1d6bc345644a361cc0b7efa544f8bc0c8ec26011fed85a91ec\",\"dweb:/ipfs/QmVVE7AiRjKaQYYji7TkjmTeVzGpNmms5eoxqTCfvvpj6D\"]},\"lib/openzeppelin-contracts/contracts/token/ERC1155/utils/ERC1155Holder.sol\":{\"keccak256\":\"0x2e024ca51ce5abe16c0d34e6992a1104f356e2244eb4ccbec970435e8b3405e3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a74009db3c6fc8db851ba69ddb6795b5c1ef1120c5a00fd1a8dc3a717dd9d519\",\"dweb:/ipfs/QmZMk8Yh2X3gPS51ckUVLEXjZUhMSEeGApnA53WtjvLb9h\"]},\"lib/openzeppelin-contracts/contracts/token/ERC1155/utils/ERC1155Receiver.sol\":{\"keccak256\":\"0x3dd5e1a66a56f30302108a1da97d677a42b1daa60e503696b2bcbbf3e4c95bcb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0808de0ae4918c664643c885ca7fa6503e8ef2bd75609dfc85152c0128a3422d\",\"dweb:/ipfs/QmNrhFC1XgBKuuxfahFeiwi1MCdu3FLNpHj2uStgmf4iJj\"]},\"lib/openzeppelin-contracts/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708\",\"dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV\"]},\"lib/openzeppelin-contracts/contracts/token/ERC721/utils/ERC721Holder.sol\":{\"keccak256\":\"0x67ef46fef257faae47adb630aad49694dda0334e5f7a7c5fb386243b974886b5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c63284cf05ff845109190961e72ca27bd6a7b997f053d2ce21db83e9e285085c\",\"dweb:/ipfs/QmQBQVYJRzscToP6YaTRDvwYeLmr4V7kD1PjoG9mRpUYzU\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"string","name":"","type":"string","indexed":false}],"type":"event","name":"log","anonymous":false},{"inputs":[{"internalType":"address","name":"","type":"address","indexed":false}],"type":"event","name":"log_address","anonymous":false},{"inputs":[{"internalType":"uint256[]","name":"val","type":"uint256[]","indexed":false}],"type":"event","name":"log_array","anonymous":false},{"inputs":[{"internalType":"int256[]","name":"val","type":"int256[]","indexed":false}],"type":"event","name":"log_array","anonymous":false},{"inputs":[{"internalType":"address[]","name":"val","type":"address[]","indexed":false}],"type":"event","name":"log_array","anonymous":false},{"inputs":[{"internalType":"bytes","name":"","type":"bytes","indexed":false}],"type":"event","name":"log_bytes","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32","indexed":false}],"type":"event","name":"log_bytes32","anonymous":false},{"inputs":[{"internalType":"int256","name":"","type":"int256","indexed":false}],"type":"event","name":"log_int","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"address","name":"val","type":"address","indexed":false}],"type":"event","name":"log_named_address","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"uint256[]","name":"val","type":"uint256[]","indexed":false}],"type":"event","name":"log_named_array","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"int256[]","name":"val","type":"int256[]","indexed":false}],"type":"event","name":"log_named_array","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"address[]","name":"val","type":"address[]","indexed":false}],"type":"event","name":"log_named_array","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"bytes","name":"val","type":"bytes","indexed":false}],"type":"event","name":"log_named_bytes","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"bytes32","name":"val","type":"bytes32","indexed":false}],"type":"event","name":"log_named_bytes32","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"int256","name":"val","type":"int256","indexed":false},{"internalType":"uint256","name":"decimals","type":"uint256","indexed":false}],"type":"event","name":"log_named_decimal_int","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"uint256","name":"val","type":"uint256","indexed":false},{"internalType":"uint256","name":"decimals","type":"uint256","indexed":false}],"type":"event","name":"log_named_decimal_uint","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"int256","name":"val","type":"int256","indexed":false}],"type":"event","name":"log_named_int","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"string","name":"val","type":"string","indexed":false}],"type":"event","name":"log_named_string","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"uint256","name":"val","type":"uint256","indexed":false}],"type":"event","name":"log_named_uint","anonymous":false},{"inputs":[{"internalType":"string","name":"","type":"string","indexed":false}],"type":"event","name":"log_string","anonymous":false},{"inputs":[{"internalType":"uint256","name":"","type":"uint256","indexed":false}],"type":"event","name":"log_uint","anonymous":false},{"inputs":[{"internalType":"bytes","name":"","type":"bytes","indexed":false}],"type":"event","name":"logs","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"IS_TEST","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"allo_owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"allo_treasury","outputs":[{"internalType":"address payable","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"excludeArtifacts","outputs":[{"internalType":"string[]","name":"excludedArtifacts_","type":"string[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"excludeContracts","outputs":[{"internalType":"address[]","name":"excludedContracts_","type":"address[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"excludeSenders","outputs":[{"internalType":"address[]","name":"excludedSenders_","type":"address[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"failed","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"local","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"no_recipient","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"nullProfile_member1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"nullProfile_member2","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"nullProfile_members","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"nullProfile_notAMember","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"nullProfile_owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pool_admin","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pool_manager1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pool_manager2","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pool_managers","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pool_notAManager","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile1_member1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile1_member2","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile1_members","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile1_notAMember","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile1_owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile2_member1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile2_member2","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile2_members","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile2_notAMember","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile2_owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"randomAddress","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"recipient","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"recipient1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"recipient2","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"recipientAddress","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"registry","outputs":[{"internalType":"contract Registry","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"registry_owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetArtifactSelectors","outputs":[{"internalType":"struct StdInvariant.FuzzSelector[]","name":"targetedArtifactSelectors_","type":"tuple[]","components":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"bytes4[]","name":"selectors","type":"bytes4[]"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetArtifacts","outputs":[{"internalType":"string[]","name":"targetedArtifacts_","type":"string[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetContracts","outputs":[{"internalType":"address[]","name":"targetedContracts_","type":"address[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetInterfaces","outputs":[{"internalType":"struct StdInvariant.FuzzInterface[]","name":"targetedInterfaces_","type":"tuple[]","components":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"string[]","name":"artifacts","type":"string[]"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetSelectors","outputs":[{"internalType":"struct StdInvariant.FuzzSelector[]","name":"targetedSelectors_","type":"tuple[]","components":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"bytes4[]","name":"selectors","type":"bytes4[]"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetSenders","outputs":[{"internalType":"address[]","name":"targetedSenders_","type":"address[]"}]}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-contracts/=lib/safe-contracts/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":1000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib/allo-v2/test/foundry/shared/RegistrySetup.sol":"RegistrySetup"},"evmVersion":"paris","libraries":{}},"sources":{"lib/allo-v2/contracts/core/Anchor.sol":{"keccak256":"0x6f470a8d0bab0848d3c3b7fb076b4001ff8b6bfd18f4bd6691a50ee6a13910cd","urls":["bzz-raw://4ed2ae6e417c282a07088fa9a30325fe5b2fa6d406ec02dc1df63027e82ec139","dweb:/ipfs/QmdVDTJKzjJqkygZ9768krrVQicLZTJVrZXbvet7KsmT8H"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/Registry.sol":{"keccak256":"0xb4fb0c6d9eb0f27dd6f6099f2832054a0b194ce420c6870deb5a7a94dd88b998","urls":["bzz-raw://0e82595dcff5471f50e67cc35f73dbc1c9344eac1ee9b42235372bd23ceee283","dweb:/ipfs/QmS34kQKRBaE7ih8c5upBb11bg3QtjunvctxKYNrtfGWhR"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/interfaces/IRegistry.sol":{"keccak256":"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f","urls":["bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e","dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA"],"license":"MIT"},"lib/allo-v2/contracts/core/libraries/Errors.sol":{"keccak256":"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15","urls":["bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf","dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Metadata.sol":{"keccak256":"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44","urls":["bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c","dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Native.sol":{"keccak256":"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5","urls":["bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a","dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Transfer.sol":{"keccak256":"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286","urls":["bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11","dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5"],"license":"AGPL-3.0-only"},"lib/allo-v2/lib/solady/src/tokens/ERC20.sol":{"keccak256":"0x264e4675697d05dfb9bbe9cc91c6bda7962d934f1e940336fd75d509b7f396c4","urls":["bzz-raw://5856338689f03f36c057203c5085243e104b8487274432062ebf076b512edeea","dweb:/ipfs/QmXrqgaWQikKkHfoBkYPxeMTJWUY5uf7kSmipNbpU35XwK"],"license":"MIT"},"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol":{"keccak256":"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624","urls":["bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298","dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt"],"license":"MIT"},"lib/allo-v2/test/foundry/shared/Accounts.sol":{"keccak256":"0x47c754ab744c6c9894aaff23cfbbe44bc30879a53fbbe8d36b1fee26137f2e3a","urls":["bzz-raw://8e457b7adaf1ea79cc707e8a3e2989855f51ff98ebc1947b3239d7d410d5a07b","dweb:/ipfs/QmSXASZ4u435D29T4UzKuh6kd8vLSrbSSgZzjnnhfwyv1m"],"license":"AGPL-3.0-only"},"lib/allo-v2/test/foundry/shared/RegistrySetup.sol":{"keccak256":"0xb771e6d89c173abc626b0e6d30d1b2d8efed2c2b27cec3f49e9447c07b92622b","urls":["bzz-raw://990cf93f5c90db3ab160c8a3b68b03561a7c2812b4c9763c901a3ac8b121ccdb","dweb:/ipfs/QmeSruv7KW2ZeRe4iQnt1HA6jkAyu5GrohC4YRVZYMNz6j"],"license":"AGPL-3.0-only"},"lib/forge-std/src/Base.sol":{"keccak256":"0x4ff1a785311017d1eedb1b4737956fa383067ad34eb439abfec1d989754dde1c","urls":["bzz-raw://f553622969b9fdb930246704a4c10dfaee6b1a4468c142fa7eb9dc292a438224","dweb:/ipfs/QmcxqHnqdQsMVtgsfH9VNLmZ3g7GhgNagfq7yvNCDcCHFK"],"license":"MIT"},"lib/forge-std/src/StdAssertions.sol":{"keccak256":"0xf513292ab066e6017db48ca749c1e63a44dfc5cba0326fc65c718f96e029d361","urls":["bzz-raw://02d715ae2898f1fabd08133f80e6a7a3b87a2796ca5d23d1cb3fed9f4367f34c","dweb:/ipfs/QmfESqa4j3PQAvvdfrnDQ1xUH1TnVCfvZYHsAEDK8z4X4k"],"license":"MIT"},"lib/forge-std/src/StdChains.sol":{"keccak256":"0x9cc29c28f49d0b7f7b2f1aa32d8273f8a087bf62eb3fb22d893df824052c25ef","urls":["bzz-raw://42dcb36cb10b878a0d5b20ce3a4a3ba4f51f44d7731a66ac1133c699bc80b31b","dweb:/ipfs/QmY6q7SaHQMLBb3rS6xZdArPaXoskWeqF6oJwUeZ3gKLZj"],"license":"MIT"},"lib/forge-std/src/StdCheats.sol":{"keccak256":"0xb72f3519e0bf7d31df5d68557525f4fc55d861c3fb3b0f7793144ef7c94cbeb7","urls":["bzz-raw://f3456d0f78e6f61203fa7871ba2df0d35925f10db3baee14be623ce2a35b84e2","dweb:/ipfs/QmWE6QQSBvJifHMraisBTrf1x4WCwrDoTPLX8UKajTiApc"],"license":"MIT"},"lib/forge-std/src/StdError.sol":{"keccak256":"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77","urls":["bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6","dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj"],"license":"MIT"},"lib/forge-std/src/StdInvariant.sol":{"keccak256":"0x67299bfacd77fddfa2a67b8e2b901e0e333618a4975fb94850b07475e51f6de6","urls":["bzz-raw://1b61121d310f4053ce344b345b4a9ccf43b059daf9097ec2647f594beaca896d","dweb:/ipfs/QmZUCoTtXBM9zfAZVbj2dFPPnKaV1CSZzXE7zictyg3Gfz"],"license":"MIT"},"lib/forge-std/src/StdJson.sol":{"keccak256":"0x62bed173cb126f6d5006706cf249bac8a2d51bfa18f773f314784ff18adc622d","urls":["bzz-raw://5acc33dddbf2492e37dc32e89cd56ce917272d303a6874805f3a5768a6bfbf54","dweb:/ipfs/QmTsgFhcpUf16gAVazUXU3WspgX8nHke2hzVCvoqS25WEp"],"license":"MIT"},"lib/forge-std/src/StdMath.sol":{"keccak256":"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2","urls":["bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92","dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC"],"license":"MIT"},"lib/forge-std/src/StdStorage.sol":{"keccak256":"0x651d84d948832f0ef45686417aa68ffb871378fa788a4123dbf37844903c66f3","urls":["bzz-raw://ff20f5ac9de3dc3ba86b1bf1f2723174e82ce3499ad67cb0ccfa7d28baeee678","dweb:/ipfs/QmRZkUFKz7AmF7yk6o317sk822HHhGVPXZQgX8G4LfYfft"],"license":"MIT"},"lib/forge-std/src/StdStyle.sol":{"keccak256":"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d","urls":["bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8","dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK"],"license":"MIT"},"lib/forge-std/src/StdToml.sol":{"keccak256":"0xc8a57915ace96f5b6a85b57e57690fc038cad9034a3dc368c11828a3707c61ab","urls":["bzz-raw://fa880a1a6e5d94005dcf4811b4c0df8d9c06407017ae111bd351483e2b76a72d","dweb:/ipfs/QmcxkEE58gE1vDcZofTr8QpvdjXjgR72yYg7o4vTPSLCsy"],"license":"MIT"},"lib/forge-std/src/StdUtils.sol":{"keccak256":"0x502b18a4becda6ecd91fa8b419d8034946bfa80e6cc7f6497f51f8565bfadae0","urls":["bzz-raw://bf499ee483a1dfd02023d4ce78ed4029a49794ccd5b849aaab912faea0d2ba61","dweb:/ipfs/QmP6hwNZW7sYbQK9fBzuZWxfLm6Swx2nKzvZ54qWNqQkzX"],"license":"MIT"},"lib/forge-std/src/Test.sol":{"keccak256":"0x3b4bb409a156dee9ce261458117fe9f81080ca844a8a26c07c857c46d155effe","urls":["bzz-raw://5792c69fe24bdc063a14e08fe68275007fdb1e5e7e343840a77938cb7e95a64e","dweb:/ipfs/QmcAMhaurUwzhytJFYix4vRNeZeV8g27b8LnV3t7dvYtiK"],"license":"MIT"},"lib/forge-std/src/Vm.sol":{"keccak256":"0x51fec240abc6dd23e0ee6de7c65106379aef732cad6c4ae5df6b55db886e7456","urls":["bzz-raw://a47d9c0a9876e7f9e411843b994a741d4ac1a87d8459ffc3c56359de691ddc1a","dweb:/ipfs/QmQiFN9b3Y2azrD1RBfAKEuAG3YeJkMzA2DGzgEE9kMeEK"],"license":"MIT OR Apache-2.0"},"lib/forge-std/src/console.sol":{"keccak256":"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba","urls":["bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70","dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec"],"license":"MIT"},"lib/forge-std/src/console2.sol":{"keccak256":"0x954646445d1014c3cd85c7918f5e7adeeca5ee44b68c00bafa237e597a4e35ea","urls":["bzz-raw://516fa3be52da4763147175bfba4be0aa011fadbb0c1afb01f97265bd4cee7973","dweb:/ipfs/QmdixAyMJefx7qePChgdxcBH5MxhmN7vsqPuPLx3CgrVmF"],"license":"MIT"},"lib/forge-std/src/interfaces/IERC165.sol":{"keccak256":"0x414b2861b1acbf816ccb7346d3f16cf6c1e002e9e5e40d2f1f26fa5ddc2ea600","urls":["bzz-raw://698352fb240868ea8f1d1fe389993035eeab930f10d06934f80ccfb2b6ccbfbc","dweb:/ipfs/QmT6WLHAgXxFhh12kWym895oTzXid1326iZiwT3pyfggoT"],"license":"MIT"},"lib/forge-std/src/interfaces/IERC20.sol":{"keccak256":"0x4cab887298790f908c27de107e4e2907ca5413aee482ef776f8d2f353c5ef947","urls":["bzz-raw://bb715e0c4a2bdbe432bb624501506041f06e878e0b72675aebba30ad2c2b72e7","dweb:/ipfs/QmWhhLSvkxS2NrukJJHqFY8gDVE5r9rD4PfHvR24pwdKv9"],"license":"MIT"},"lib/forge-std/src/interfaces/IERC721.sol":{"keccak256":"0xf069262a264fdb69f8f37a10d2df7374649e9ba73f8414c9c8a3b51184625f15","urls":["bzz-raw://924a41ca82a68ffbd503a5faf2f76d13e9938f10501a71094716f12bb64b4b7f","dweb:/ipfs/QmdWnqfKc5ZGhmxNPTde4zrFchnv9Yk9MpCMb2rdhXE5gm"],"license":"MIT"},"lib/forge-std/src/interfaces/IMulticall3.sol":{"keccak256":"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a","urls":["bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0","dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2"],"license":"MIT"},"lib/forge-std/src/mocks/MockERC20.sol":{"keccak256":"0xadbdfc6639edec00ba94bb1133a0fd8de31ccafe45c2ef5df9b3ca61b60b559b","urls":["bzz-raw://bc766f01bccf669abac8cc7b2096cc1352a66471ca3772ae61b1801dedc4ed4f","dweb:/ipfs/QmNigaPj1LYkP7Z5xr4ijkUxr2K66fDGeoifG3WoM9ruyw"],"license":"MIT"},"lib/forge-std/src/mocks/MockERC721.sol":{"keccak256":"0x3293dcbb7acd28df553c954e4e39e288bf10aab7ecda8d50ef21b4f4a91a28d9","urls":["bzz-raw://9eb374daf6df34f4392f8926f1fddbce9f22c423066aeaefdfbe77395f77967b","dweb:/ipfs/QmWR81zBJRX2uyRjveGzikYPj6ZwKppWsU49YEQXTLWUsN"],"license":"MIT"},"lib/forge-std/src/safeconsole.sol":{"keccak256":"0xbaf41fdc6c54297e7cd8250e48b0f20eaac918e342a1028cef3f9a52ac086381","urls":["bzz-raw://a500ad81dea226f9910e6b50f99a9ff930105e393a692cbfb2185e4cdb4424ae","dweb:/ipfs/QmVbUQpXNMmMWRiy4FvBNczzq46BMGfUoBikvSHNiCxVTq"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol":{"keccak256":"0xc8710577334e8d0799ae2b2a731b1924a7bddd64319da9787ddd2dc69bdd1ce5","urls":["bzz-raw://b83b7afa4d2372da3ba5402fb10860a105c35d79812c60dc61007be2afc17618","dweb:/ipfs/QmYX9xPmbNVSKXrepKiUZiG5oL3SdzFp9a4kqspxX1sEUx"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol":{"keccak256":"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa","urls":["bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c","dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794","urls":["bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e","dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol":{"keccak256":"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422","urls":["bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b","dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef","urls":["bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95","dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol":{"keccak256":"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb","urls":["bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a","dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol":{"keccak256":"0xd90d7723512df65ae417adaf0801042940f0dabd60039ceeaffe34aa5b238da1","urls":["bzz-raw://1b13befeb3413749292f9fb229de1c7a509a5ce2c8047d9094fc004ca9d3af89","dweb:/ipfs/QmRzJ2hZSwRtMejHUZAYTPRKgZsnfb112Fno9Jf3EiDfwA"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol":{"keccak256":"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09","urls":["bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758","dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol":{"keccak256":"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e","urls":["bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91","dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol":{"keccak256":"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a","urls":["bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4","dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC1155/IERC1155Receiver.sol":{"keccak256":"0xeb373f1fdc7b755c6a750123a9b9e3a8a02c1470042fd6505d875000a80bde0b","urls":["bzz-raw://0e28648f994abf1d6bc345644a361cc0b7efa544f8bc0c8ec26011fed85a91ec","dweb:/ipfs/QmVVE7AiRjKaQYYji7TkjmTeVzGpNmms5eoxqTCfvvpj6D"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC1155/utils/ERC1155Holder.sol":{"keccak256":"0x2e024ca51ce5abe16c0d34e6992a1104f356e2244eb4ccbec970435e8b3405e3","urls":["bzz-raw://a74009db3c6fc8db851ba69ddb6795b5c1ef1120c5a00fd1a8dc3a717dd9d519","dweb:/ipfs/QmZMk8Yh2X3gPS51ckUVLEXjZUhMSEeGApnA53WtjvLb9h"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC1155/utils/ERC1155Receiver.sol":{"keccak256":"0x3dd5e1a66a56f30302108a1da97d677a42b1daa60e503696b2bcbbf3e4c95bcb","urls":["bzz-raw://0808de0ae4918c664643c885ca7fa6503e8ef2bd75609dfc85152c0128a3422d","dweb:/ipfs/QmNrhFC1XgBKuuxfahFeiwi1MCdu3FLNpHj2uStgmf4iJj"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC721/IERC721Receiver.sol":{"keccak256":"0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da","urls":["bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708","dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC721/utils/ERC721Holder.sol":{"keccak256":"0x67ef46fef257faae47adb630aad49694dda0334e5f7a7c5fb386243b974886b5","urls":["bzz-raw://c63284cf05ff845109190961e72ca27bd6a7b997f053d2ce21db83e9e285085c","dweb:/ipfs/QmQBQVYJRzscToP6YaTRDvwYeLmr4V7kD1PjoG9mRpUYzU"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol":{"keccak256":"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b","urls":["bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d","dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"}},"version":1},"storageLayout":{"storage":[{"astId":5830,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"stdstore","offset":0,"slot":"0","type":"t_struct(StdStorage)13235_storage"},{"astId":6026,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"_failed","offset":0,"slot":"8","type":"t_bool"},{"astId":8527,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"stdChainsInitialized","offset":1,"slot":"8","type":"t_bool"},{"astId":8548,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"chains","offset":0,"slot":"9","type":"t_mapping(t_string_memory_ptr,t_struct(Chain)8543_storage)"},{"astId":8552,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"defaultRpcUrls","offset":0,"slot":"10","type":"t_mapping(t_string_memory_ptr,t_string_storage)"},{"astId":8556,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"idToAlias","offset":0,"slot":"11","type":"t_mapping(t_uint256,t_string_storage)"},{"astId":8559,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"fallbackToDefaultRpcUrls","offset":0,"slot":"12","type":"t_bool"},{"astId":9317,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"gasMeteringOff","offset":1,"slot":"12","type":"t_bool"},{"astId":11354,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"stdstore","offset":0,"slot":"13","type":"t_struct(StdStorage)13235_storage"},{"astId":12222,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"_excludedContracts","offset":0,"slot":"21","type":"t_array(t_address)dyn_storage"},{"astId":12225,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"_excludedSenders","offset":0,"slot":"22","type":"t_array(t_address)dyn_storage"},{"astId":12228,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"_targetedContracts","offset":0,"slot":"23","type":"t_array(t_address)dyn_storage"},{"astId":12231,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"_targetedSenders","offset":0,"slot":"24","type":"t_array(t_address)dyn_storage"},{"astId":12234,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"_excludedArtifacts","offset":0,"slot":"25","type":"t_array(t_string_storage)dyn_storage"},{"astId":12237,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"_targetedArtifacts","offset":0,"slot":"26","type":"t_array(t_string_storage)dyn_storage"},{"astId":12241,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"_targetedArtifactSelectors","offset":0,"slot":"27","type":"t_array(t_struct(FuzzSelector)12213_storage)dyn_storage"},{"astId":12245,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"_targetedSelectors","offset":0,"slot":"28","type":"t_array(t_struct(FuzzSelector)12213_storage)dyn_storage"},{"astId":12249,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"_targetedInterfaces","offset":0,"slot":"29","type":"t_array(t_struct(FuzzInterface)12219_storage)dyn_storage"},{"astId":17834,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"IS_TEST","offset":0,"slot":"30","type":"t_bool"},{"astId":5104,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"_registry_","offset":1,"slot":"30","type":"t_contract(Registry)2295"}],"types":{"t_address":{"encoding":"inplace","label":"address","numberOfBytes":"20"},"t_array(t_address)dyn_storage":{"encoding":"dynamic_array","label":"address[]","numberOfBytes":"32","base":"t_address"},"t_array(t_bytes32)dyn_storage":{"encoding":"dynamic_array","label":"bytes32[]","numberOfBytes":"32","base":"t_bytes32"},"t_array(t_bytes4)dyn_storage":{"encoding":"dynamic_array","label":"bytes4[]","numberOfBytes":"32","base":"t_bytes4"},"t_array(t_string_storage)dyn_storage":{"encoding":"dynamic_array","label":"string[]","numberOfBytes":"32","base":"t_string_storage"},"t_array(t_struct(FuzzInterface)12219_storage)dyn_storage":{"encoding":"dynamic_array","label":"struct StdInvariant.FuzzInterface[]","numberOfBytes":"32","base":"t_struct(FuzzInterface)12219_storage"},"t_array(t_struct(FuzzSelector)12213_storage)dyn_storage":{"encoding":"dynamic_array","label":"struct StdInvariant.FuzzSelector[]","numberOfBytes":"32","base":"t_struct(FuzzSelector)12213_storage"},"t_bool":{"encoding":"inplace","label":"bool","numberOfBytes":"1"},"t_bytes32":{"encoding":"inplace","label":"bytes32","numberOfBytes":"32"},"t_bytes4":{"encoding":"inplace","label":"bytes4","numberOfBytes":"4"},"t_bytes_storage":{"encoding":"bytes","label":"bytes","numberOfBytes":"32"},"t_contract(Registry)2295":{"encoding":"inplace","label":"contract Registry","numberOfBytes":"20"},"t_mapping(t_address,t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)13210_storage)))":{"encoding":"mapping","key":"t_address","label":"mapping(address => mapping(bytes4 => mapping(bytes32 => struct FindData)))","numberOfBytes":"32","value":"t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)13210_storage))"},"t_mapping(t_bytes32,t_struct(FindData)13210_storage)":{"encoding":"mapping","key":"t_bytes32","label":"mapping(bytes32 => struct FindData)","numberOfBytes":"32","value":"t_struct(FindData)13210_storage"},"t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)13210_storage))":{"encoding":"mapping","key":"t_bytes4","label":"mapping(bytes4 => mapping(bytes32 => struct FindData))","numberOfBytes":"32","value":"t_mapping(t_bytes32,t_struct(FindData)13210_storage)"},"t_mapping(t_string_memory_ptr,t_string_storage)":{"encoding":"mapping","key":"t_string_memory_ptr","label":"mapping(string => string)","numberOfBytes":"32","value":"t_string_storage"},"t_mapping(t_string_memory_ptr,t_struct(Chain)8543_storage)":{"encoding":"mapping","key":"t_string_memory_ptr","label":"mapping(string => struct StdChains.Chain)","numberOfBytes":"32","value":"t_struct(Chain)8543_storage"},"t_mapping(t_uint256,t_string_storage)":{"encoding":"mapping","key":"t_uint256","label":"mapping(uint256 => string)","numberOfBytes":"32","value":"t_string_storage"},"t_string_memory_ptr":{"encoding":"bytes","label":"string","numberOfBytes":"32"},"t_string_storage":{"encoding":"bytes","label":"string","numberOfBytes":"32"},"t_struct(Chain)8543_storage":{"encoding":"inplace","label":"struct StdChains.Chain","numberOfBytes":"128","members":[{"astId":8536,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"name","offset":0,"slot":"0","type":"t_string_storage"},{"astId":8538,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"chainId","offset":0,"slot":"1","type":"t_uint256"},{"astId":8540,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"chainAlias","offset":0,"slot":"2","type":"t_string_storage"},{"astId":8542,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"rpcUrl","offset":0,"slot":"3","type":"t_string_storage"}]},"t_struct(FindData)13210_storage":{"encoding":"inplace","label":"struct FindData","numberOfBytes":"128","members":[{"astId":13203,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"slot","offset":0,"slot":"0","type":"t_uint256"},{"astId":13205,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"offsetLeft","offset":0,"slot":"1","type":"t_uint256"},{"astId":13207,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"offsetRight","offset":0,"slot":"2","type":"t_uint256"},{"astId":13209,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"found","offset":0,"slot":"3","type":"t_bool"}]},"t_struct(FuzzInterface)12219_storage":{"encoding":"inplace","label":"struct StdInvariant.FuzzInterface","numberOfBytes":"64","members":[{"astId":12215,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"addr","offset":0,"slot":"0","type":"t_address"},{"astId":12218,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"artifacts","offset":0,"slot":"1","type":"t_array(t_string_storage)dyn_storage"}]},"t_struct(FuzzSelector)12213_storage":{"encoding":"inplace","label":"struct StdInvariant.FuzzSelector","numberOfBytes":"64","members":[{"astId":12209,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"addr","offset":0,"slot":"0","type":"t_address"},{"astId":12212,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"selectors","offset":0,"slot":"1","type":"t_array(t_bytes4)dyn_storage"}]},"t_struct(StdStorage)13235_storage":{"encoding":"inplace","label":"struct StdStorage","numberOfBytes":"256","members":[{"astId":13219,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"finds","offset":0,"slot":"0","type":"t_mapping(t_address,t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)13210_storage)))"},{"astId":13222,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"_keys","offset":0,"slot":"1","type":"t_array(t_bytes32)dyn_storage"},{"astId":13224,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"_sig","offset":0,"slot":"2","type":"t_bytes4"},{"astId":13226,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"_depth","offset":0,"slot":"3","type":"t_uint256"},{"astId":13228,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"_target","offset":0,"slot":"4","type":"t_address"},{"astId":13230,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"_set","offset":0,"slot":"5","type":"t_bytes32"},{"astId":13232,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"_enable_packed_slots","offset":0,"slot":"6","type":"t_bool"},{"astId":13234,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"_calldata","offset":0,"slot":"7","type":"t_bytes_storage"}]},"t_uint256":{"encoding":"inplace","label":"uint256","numberOfBytes":"32"}}},"ast":{"absolutePath":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol","id":5297,"exportedSymbols":{"Accounts":[5026],"Metadata":[3098],"Registry":[2295],"RegistrySetup":[5132],"RegistrySetupFull":[5296],"StdAssertions":[8503],"StdChains":[9285],"StdCheats":[12138],"StdInvariant":[12463],"StdStorage":[13235],"StdStyle":[16405],"StdUtils":[17783],"Test":[17835],"TestBase":[5834],"Vm":[21485],"console":[29549],"console2":[37674],"safeconsole":[52399],"stdError":[12204],"stdJson":[13055],"stdMath":[13197],"stdStorage":[15194],"stdToml":[16997]},"nodeType":"SourceUnit","src":"42:2823:17","nodes":[{"id":5089,"nodeType":"PragmaDirective","src":"42:24:17","nodes":[],"literals":["solidity","^","0.8",".19"]},{"id":5090,"nodeType":"ImportDirective","src":"68:28:17","nodes":[],"absolutePath":"lib/forge-std/src/Test.sol","file":"forge-std/Test.sol","nameLocation":"-1:-1:-1","scope":5297,"sourceUnit":17836,"symbolAliases":[],"unitAlias":""},{"id":5092,"nodeType":"ImportDirective","src":"98:62:17","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/Registry.sol","file":"../../../contracts/core/Registry.sol","nameLocation":"-1:-1:-1","scope":5297,"sourceUnit":2296,"symbolAliases":[{"foreign":{"id":5091,"name":"Registry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2295,"src":"106:8:17","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":5094,"nodeType":"ImportDirective","src":"161:72:17","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/libraries/Metadata.sol","file":"../../../contracts/core/libraries/Metadata.sol","nameLocation":"-1:-1:-1","scope":5297,"sourceUnit":3099,"symbolAliases":[{"foreign":{"id":5093,"name":"Metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3098,"src":"169:8:17","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":5096,"nodeType":"ImportDirective","src":"234:40:17","nodes":[],"absolutePath":"lib/allo-v2/test/foundry/shared/Accounts.sol","file":"./Accounts.sol","nameLocation":"-1:-1:-1","scope":5297,"sourceUnit":5027,"symbolAliases":[{"foreign":{"id":5095,"name":"Accounts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5026,"src":"242:8:17","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":5132,"nodeType":"ContractDefinition","src":"393:304:17","nodes":[{"id":5104,"nodeType":"VariableDeclaration","src":"440:28:17","nodes":[],"constant":false,"mutability":"mutable","name":"_registry_","nameLocation":"458:10:17","scope":5132,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"},"typeName":{"id":5103,"nodeType":"UserDefinedTypeName","pathNode":{"id":5102,"name":"Registry","nameLocations":["440:8:17"],"nodeType":"IdentifierPath","referencedDeclaration":2295,"src":"440:8:17"},"referencedDeclaration":2295,"src":"440:8:17","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}},"visibility":"internal"},{"id":5122,"nodeType":"FunctionDefinition","src":"475:129:17","nodes":[],"body":{"id":5121,"nodeType":"Block","src":"511:93:17","nodes":[],"statements":[{"expression":{"id":5112,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":5107,"name":"_registry_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5104,"src":"521:10:17","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[],"expression":{"argumentTypes":[],"id":5110,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"534:12:17","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$__$returns$_t_contract$_Registry_$2295_$","typeString":"function () returns (contract Registry)"},"typeName":{"id":5109,"nodeType":"UserDefinedTypeName","pathNode":{"id":5108,"name":"Registry","nameLocations":["538:8:17"],"nodeType":"IdentifierPath","referencedDeclaration":2295,"src":"538:8:17"},"referencedDeclaration":2295,"src":"538:8:17","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}}},"id":5111,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"534:14:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}},"src":"521:27:17","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}},"id":5113,"nodeType":"ExpressionStatement","src":"521:27:17"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":5117,"name":"registry_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4675,"src":"580:14:17","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":5118,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"580:16:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":5114,"name":"_registry_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5104,"src":"558:10:17","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}},"id":5116,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"569:10:17","memberName":"initialize","nodeType":"MemberAccess","referencedDeclaration":1578,"src":"558:21:17","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":5119,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"558:39:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5120,"nodeType":"ExpressionStatement","src":"558:39:17"}]},"implemented":true,"kind":"function","modifiers":[],"name":"__RegistrySetup","nameLocation":"484:15:17","parameters":{"id":5105,"nodeType":"ParameterList","parameters":[],"src":"499:2:17"},"returnParameters":{"id":5106,"nodeType":"ParameterList","parameters":[],"src":"511:0:17"},"scope":5132,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":5131,"nodeType":"FunctionDefinition","src":"610:85:17","nodes":[],"body":{"id":5130,"nodeType":"Block","src":"661:34:17","nodes":[],"statements":[{"expression":{"id":5128,"name":"_registry_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5104,"src":"678:10:17","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}},"functionReturnParameters":5127,"id":5129,"nodeType":"Return","src":"671:17:17"}]},"functionSelector":"7b103999","implemented":true,"kind":"function","modifiers":[],"name":"registry","nameLocation":"619:8:17","parameters":{"id":5123,"nodeType":"ParameterList","parameters":[],"src":"627:2:17"},"returnParameters":{"id":5127,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5126,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5131,"src":"651:8:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"},"typeName":{"id":5125,"nodeType":"UserDefinedTypeName","pathNode":{"id":5124,"name":"Registry","nameLocations":["651:8:17"],"nodeType":"IdentifierPath","referencedDeclaration":2295,"src":"651:8:17"},"referencedDeclaration":2295,"src":"651:8:17","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}},"visibility":"internal"}],"src":"650:10:17"},"scope":5132,"stateMutability":"view","virtual":false,"visibility":"public"}],"abstract":false,"baseContracts":[{"baseName":{"id":5098,"name":"Test","nameLocations":["419:4:17"],"nodeType":"IdentifierPath","referencedDeclaration":17835,"src":"419:4:17"},"id":5099,"nodeType":"InheritanceSpecifier","src":"419:4:17"},{"baseName":{"id":5100,"name":"Accounts","nameLocations":["425:8:17"],"nodeType":"IdentifierPath","referencedDeclaration":5026,"src":"425:8:17"},"id":5101,"nodeType":"InheritanceSpecifier","src":"425:8:17"}],"canonicalName":"RegistrySetup","contractDependencies":[],"contractKind":"contract","documentation":{"id":5097,"nodeType":"StructuredDocumentation","src":"276:117:17","text":"@title RegistrySetup\n @notice This contract is used to setup an empty Registry contract for testing purposes."},"fullyImplemented":true,"linearizedBaseContracts":[5132,5026,17835,17783,12463,12138,11345,9285,8503,5834,5831],"name":"RegistrySetup","nameLocation":"402:13:17","scope":5297,"usedErrors":[]},{"id":5296,"nodeType":"ContractDefinition","src":"833:2031:17","nodes":[{"id":5137,"nodeType":"VariableDeclaration","src":"883:32:17","nodes":[],"constant":false,"mutability":"mutable","name":"_poolProfileId_","nameLocation":"900:15:17","scope":5296,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":5136,"name":"bytes32","nodeType":"ElementaryTypeName","src":"883:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"id":5139,"nodeType":"VariableDeclaration","src":"921:36:17","nodes":[],"constant":false,"mutability":"mutable","name":"_poolProfileAnchor_","nameLocation":"938:19:17","scope":5296,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5138,"name":"address","nodeType":"ElementaryTypeName","src":"921:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"id":5141,"nodeType":"VariableDeclaration","src":"964:29:17","nodes":[],"constant":false,"mutability":"mutable","name":"_profile1Id_","nameLocation":"981:12:17","scope":5296,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":5140,"name":"bytes32","nodeType":"ElementaryTypeName","src":"964:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"id":5143,"nodeType":"VariableDeclaration","src":"999:33:17","nodes":[],"constant":false,"mutability":"mutable","name":"_profile1Anchor_","nameLocation":"1016:16:17","scope":5296,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5142,"name":"address","nodeType":"ElementaryTypeName","src":"999:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"id":5145,"nodeType":"VariableDeclaration","src":"1039:29:17","nodes":[],"constant":false,"mutability":"mutable","name":"_profile2Id_","nameLocation":"1056:12:17","scope":5296,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":5144,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1039:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"id":5147,"nodeType":"VariableDeclaration","src":"1074:33:17","nodes":[],"constant":false,"mutability":"mutable","name":"_profile2Anchor_","nameLocation":"1091:16:17","scope":5296,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5146,"name":"address","nodeType":"ElementaryTypeName","src":"1074:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"id":5247,"nodeType":"FunctionDefinition","src":"1114:930:17","nodes":[],"body":{"id":5246,"nodeType":"Block","src":"1154:890:17","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":5150,"name":"__RegistrySetup","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5122,"src":"1164:15:17","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":5151,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1164:17:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5152,"nodeType":"ExpressionStatement","src":"1164:17:17"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":5156,"name":"pool_admin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4753,"src":"1201:10:17","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":5157,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1201:12:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":5153,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5827,"src":"1192:2:17","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21485","typeString":"contract Vm"}},"id":5155,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1195:5:17","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":21138,"src":"1192:8:17","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":5158,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1192:22:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5159,"nodeType":"ExpressionStatement","src":"1192:22:17"},{"expression":{"id":5174,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":5160,"name":"_poolProfileId_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5137,"src":"1224:15:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"30","id":5163,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1280:1:17","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"506f6f6c2050726f66696c652031","id":5164,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1283:16:17","typeDescriptions":{"typeIdentifier":"t_stringliteral_cfdb29660678cfa126d648cb1a4f5ce763c1e1204e820590687579a35d4b28f4","typeString":"literal_string \"Pool Profile 1\""},"value":"Pool Profile 1"},{"arguments":[{"hexValue":"31","id":5166,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1321:1:17","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"hexValue":"506f6f6c50726f66696c6531","id":5167,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1333:14:17","typeDescriptions":{"typeIdentifier":"t_stringliteral_f67171f94b553bc18f3436392ab5b1a6c6075d142911addaba07f9932e807028","typeString":"literal_string \"PoolProfile1\""},"value":"PoolProfile1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_stringliteral_f67171f94b553bc18f3436392ab5b1a6c6075d142911addaba07f9932e807028","typeString":"literal_string \"PoolProfile1\""}],"id":5165,"name":"Metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3098,"src":"1301:8:17","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Metadata_$3098_storage_ptr_$","typeString":"type(struct Metadata storage pointer)"}},"id":5168,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["1311:8:17","1324:7:17"],"names":["protocol","pointer"],"nodeType":"FunctionCall","src":"1301:48:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}},{"arguments":[],"expression":{"argumentTypes":[],"id":5169,"name":"pool_admin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4753,"src":"1351:10:17","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":5170,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1351:12:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[],"expression":{"argumentTypes":[],"id":5171,"name":"pool_managers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4817,"src":"1365:13:17","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_array$_t_address_$dyn_memory_ptr_$","typeString":"function () returns (address[] memory)"}},"id":5172,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1365:15:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_stringliteral_cfdb29660678cfa126d648cb1a4f5ce763c1e1204e820590687579a35d4b28f4","typeString":"literal_string \"Pool Profile 1\""},{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}],"expression":{"id":5161,"name":"_registry_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5104,"src":"1242:10:17","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}},"id":5162,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1253:13:17","memberName":"createProfile","nodeType":"MemberAccess","referencedDeclaration":1756,"src":"1242:24:17","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_string_memory_ptr_$_t_struct$_Metadata_$3098_memory_ptr_$_t_address_$_t_array$_t_address_$dyn_memory_ptr_$returns$_t_bytes32_$","typeString":"function (uint256,string memory,struct Metadata memory,address,address[] memory) external returns (bytes32)"}},"id":5173,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1242:148:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"1224:166:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":5175,"nodeType":"ExpressionStatement","src":"1224:166:17"},{"expression":{"id":5182,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":5176,"name":"_poolProfileAnchor_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5139,"src":"1400:19:17","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"arguments":[{"id":5179,"name":"_poolProfileId_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5137,"src":"1448:15:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":5177,"name":"_registry_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5104,"src":"1422:10:17","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}},"id":5178,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1433:14:17","memberName":"getProfileById","nodeType":"MemberAccess","referencedDeclaration":1592,"src":"1422:25:17","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_bytes32_$returns$_t_struct$_Profile_$2629_memory_ptr_$","typeString":"function (bytes32) view external returns (struct IRegistry.Profile memory)"}},"id":5180,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1422:42:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_memory_ptr","typeString":"struct IRegistry.Profile memory"}},"id":5181,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1465:6:17","memberName":"anchor","nodeType":"MemberAccess","referencedDeclaration":2628,"src":"1422:49:17","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1400:71:17","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":5183,"nodeType":"ExpressionStatement","src":"1400:71:17"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":5187,"name":"profile1_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4827,"src":"1491:14:17","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":5188,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1491:16:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":5184,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5827,"src":"1482:2:17","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21485","typeString":"contract Vm"}},"id":5186,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1485:5:17","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":21138,"src":"1482:8:17","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":5189,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1482:26:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5190,"nodeType":"ExpressionStatement","src":"1482:26:17"},{"expression":{"id":5205,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":5191,"name":"_profile1Id_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5141,"src":"1518:12:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"30","id":5194,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1571:1:17","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"50726f66696c652031","id":5195,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1574:11:17","typeDescriptions":{"typeIdentifier":"t_stringliteral_7a4d1a86b77644d9aa7e12702075d0cc1d67dd228b7576543777572405c3e57d","typeString":"literal_string \"Profile 1\""},"value":"Profile 1"},{"arguments":[{"hexValue":"31","id":5197,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1607:1:17","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"hexValue":"50726f66696c6531","id":5198,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1619:10:17","typeDescriptions":{"typeIdentifier":"t_stringliteral_d28bcd24e2e164eb1cb6c81d71a03069dd8b48e2f319680c98ba010be8944d6d","typeString":"literal_string \"Profile1\""},"value":"Profile1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_stringliteral_d28bcd24e2e164eb1cb6c81d71a03069dd8b48e2f319680c98ba010be8944d6d","typeString":"literal_string \"Profile1\""}],"id":5196,"name":"Metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3098,"src":"1587:8:17","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Metadata_$3098_storage_ptr_$","typeString":"type(struct Metadata storage pointer)"}},"id":5199,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["1597:8:17","1610:7:17"],"names":["protocol","pointer"],"nodeType":"FunctionCall","src":"1587:44:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}},{"arguments":[],"expression":{"argumentTypes":[],"id":5200,"name":"profile1_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4827,"src":"1633:14:17","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":5201,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1633:16:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[],"expression":{"argumentTypes":[],"id":5202,"name":"profile1_members","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4891,"src":"1651:16:17","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_array$_t_address_$dyn_memory_ptr_$","typeString":"function () returns (address[] memory)"}},"id":5203,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1651:18:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_stringliteral_7a4d1a86b77644d9aa7e12702075d0cc1d67dd228b7576543777572405c3e57d","typeString":"literal_string \"Profile 1\""},{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}],"expression":{"id":5192,"name":"_registry_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5104,"src":"1533:10:17","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}},"id":5193,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1544:13:17","memberName":"createProfile","nodeType":"MemberAccess","referencedDeclaration":1756,"src":"1533:24:17","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_string_memory_ptr_$_t_struct$_Metadata_$3098_memory_ptr_$_t_address_$_t_array$_t_address_$dyn_memory_ptr_$returns$_t_bytes32_$","typeString":"function (uint256,string memory,struct Metadata memory,address,address[] memory) external returns (bytes32)"}},"id":5204,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1533:146:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"1518:161:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":5206,"nodeType":"ExpressionStatement","src":"1518:161:17"},{"expression":{"id":5213,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":5207,"name":"_profile1Anchor_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5143,"src":"1689:16:17","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"arguments":[{"id":5210,"name":"_profile1Id_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5141,"src":"1734:12:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":5208,"name":"_registry_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5104,"src":"1708:10:17","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}},"id":5209,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1719:14:17","memberName":"getProfileById","nodeType":"MemberAccess","referencedDeclaration":1592,"src":"1708:25:17","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_bytes32_$returns$_t_struct$_Profile_$2629_memory_ptr_$","typeString":"function (bytes32) view external returns (struct IRegistry.Profile memory)"}},"id":5211,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1708:39:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_memory_ptr","typeString":"struct IRegistry.Profile memory"}},"id":5212,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1748:6:17","memberName":"anchor","nodeType":"MemberAccess","referencedDeclaration":2628,"src":"1708:46:17","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1689:65:17","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":5214,"nodeType":"ExpressionStatement","src":"1689:65:17"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":5218,"name":"profile2_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4901,"src":"1774:14:17","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":5219,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1774:16:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":5215,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5827,"src":"1765:2:17","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21485","typeString":"contract Vm"}},"id":5217,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1768:5:17","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":21138,"src":"1765:8:17","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":5220,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1765:26:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5221,"nodeType":"ExpressionStatement","src":"1765:26:17"},{"expression":{"id":5236,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":5222,"name":"_profile2Id_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5145,"src":"1801:12:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"30","id":5225,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1854:1:17","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"50726f66696c652032","id":5226,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1857:11:17","typeDescriptions":{"typeIdentifier":"t_stringliteral_937ec7a665f78170bc3bb3b9c6576f30e49f3c58eb7105b0778843f3f72198b2","typeString":"literal_string \"Profile 2\""},"value":"Profile 2"},{"arguments":[{"hexValue":"31","id":5228,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1890:1:17","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"hexValue":"50726f66696c6532","id":5229,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1902:10:17","typeDescriptions":{"typeIdentifier":"t_stringliteral_f54d7fb3952364f7566be93625e44393de35ac48ada574494f41163506f729ca","typeString":"literal_string \"Profile2\""},"value":"Profile2"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_stringliteral_f54d7fb3952364f7566be93625e44393de35ac48ada574494f41163506f729ca","typeString":"literal_string \"Profile2\""}],"id":5227,"name":"Metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3098,"src":"1870:8:17","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Metadata_$3098_storage_ptr_$","typeString":"type(struct Metadata storage pointer)"}},"id":5230,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["1880:8:17","1893:7:17"],"names":["protocol","pointer"],"nodeType":"FunctionCall","src":"1870:44:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}},{"arguments":[],"expression":{"argumentTypes":[],"id":5231,"name":"profile2_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4901,"src":"1916:14:17","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":5232,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1916:16:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[],"expression":{"argumentTypes":[],"id":5233,"name":"profile2_members","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4965,"src":"1934:16:17","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_array$_t_address_$dyn_memory_ptr_$","typeString":"function () returns (address[] memory)"}},"id":5234,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1934:18:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_stringliteral_937ec7a665f78170bc3bb3b9c6576f30e49f3c58eb7105b0778843f3f72198b2","typeString":"literal_string \"Profile 2\""},{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}],"expression":{"id":5223,"name":"_registry_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5104,"src":"1816:10:17","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}},"id":5224,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1827:13:17","memberName":"createProfile","nodeType":"MemberAccess","referencedDeclaration":1756,"src":"1816:24:17","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_string_memory_ptr_$_t_struct$_Metadata_$3098_memory_ptr_$_t_address_$_t_array$_t_address_$dyn_memory_ptr_$returns$_t_bytes32_$","typeString":"function (uint256,string memory,struct Metadata memory,address,address[] memory) external returns (bytes32)"}},"id":5235,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1816:146:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"1801:161:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":5237,"nodeType":"ExpressionStatement","src":"1801:161:17"},{"expression":{"id":5244,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":5238,"name":"_profile2Anchor_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5147,"src":"1972:16:17","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"arguments":[{"id":5241,"name":"_profile2Id_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5145,"src":"2017:12:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":5239,"name":"_registry_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5104,"src":"1991:10:17","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}},"id":5240,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2002:14:17","memberName":"getProfileById","nodeType":"MemberAccess","referencedDeclaration":1592,"src":"1991:25:17","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_bytes32_$returns$_t_struct$_Profile_$2629_memory_ptr_$","typeString":"function (bytes32) view external returns (struct IRegistry.Profile memory)"}},"id":5242,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1991:39:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_memory_ptr","typeString":"struct IRegistry.Profile memory"}},"id":5243,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2031:6:17","memberName":"anchor","nodeType":"MemberAccess","referencedDeclaration":2628,"src":"1991:46:17","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1972:65:17","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":5245,"nodeType":"ExpressionStatement","src":"1972:65:17"}]},"implemented":true,"kind":"function","modifiers":[],"name":"__RegistrySetupFull","nameLocation":"1123:19:17","parameters":{"id":5148,"nodeType":"ParameterList","parameters":[],"src":"1142:2:17"},"returnParameters":{"id":5149,"nodeType":"ParameterList","parameters":[],"src":"1154:0:17"},"scope":5296,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":5255,"nodeType":"FunctionDefinition","src":"2050:103:17","nodes":[],"body":{"id":5254,"nodeType":"Block","src":"2114:39:17","nodes":[],"statements":[{"expression":{"id":5252,"name":"_poolProfileId_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5137,"src":"2131:15:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":5251,"id":5253,"nodeType":"Return","src":"2124:22:17"}]},"functionSelector":"fd325c60","implemented":true,"kind":"function","modifiers":[],"name":"poolProfile_id","nameLocation":"2059:14:17","parameters":{"id":5248,"nodeType":"ParameterList","parameters":[],"src":"2073:2:17"},"returnParameters":{"id":5251,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5250,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5255,"src":"2105:7:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":5249,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2105:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"2104:9:17"},"scope":5296,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":5263,"nodeType":"FunctionDefinition","src":"2159:111:17","nodes":[],"body":{"id":5262,"nodeType":"Block","src":"2227:43:17","nodes":[],"statements":[{"expression":{"id":5260,"name":"_poolProfileAnchor_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5139,"src":"2244:19:17","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":5259,"id":5261,"nodeType":"Return","src":"2237:26:17"}]},"functionSelector":"176effb3","implemented":true,"kind":"function","modifiers":[],"name":"poolProfile_anchor","nameLocation":"2168:18:17","parameters":{"id":5256,"nodeType":"ParameterList","parameters":[],"src":"2186:2:17"},"returnParameters":{"id":5259,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5258,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5263,"src":"2218:7:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5257,"name":"address","nodeType":"ElementaryTypeName","src":"2218:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2217:9:17"},"scope":5296,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":5271,"nodeType":"FunctionDefinition","src":"2276:97:17","nodes":[],"body":{"id":5270,"nodeType":"Block","src":"2337:36:17","nodes":[],"statements":[{"expression":{"id":5268,"name":"_profile1Id_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5141,"src":"2354:12:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":5267,"id":5269,"nodeType":"Return","src":"2347:19:17"}]},"functionSelector":"39f56f7f","implemented":true,"kind":"function","modifiers":[],"name":"profile1_id","nameLocation":"2285:11:17","parameters":{"id":5264,"nodeType":"ParameterList","parameters":[],"src":"2296:2:17"},"returnParameters":{"id":5267,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5266,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5271,"src":"2328:7:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":5265,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2328:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"2327:9:17"},"scope":5296,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":5279,"nodeType":"FunctionDefinition","src":"2461:105:17","nodes":[],"body":{"id":5278,"nodeType":"Block","src":"2526:40:17","nodes":[],"statements":[{"expression":{"id":5276,"name":"_profile1Anchor_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5143,"src":"2543:16:17","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":5275,"id":5277,"nodeType":"Return","src":"2536:23:17"}]},"functionSelector":"c5d7d73b","implemented":true,"kind":"function","modifiers":[],"name":"profile1_anchor","nameLocation":"2470:15:17","parameters":{"id":5272,"nodeType":"ParameterList","parameters":[],"src":"2485:2:17"},"returnParameters":{"id":5275,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5274,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5279,"src":"2517:7:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5273,"name":"address","nodeType":"ElementaryTypeName","src":"2517:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2516:9:17"},"scope":5296,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":5287,"nodeType":"FunctionDefinition","src":"2572:97:17","nodes":[],"body":{"id":5286,"nodeType":"Block","src":"2633:36:17","nodes":[],"statements":[{"expression":{"id":5284,"name":"_profile2Id_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5145,"src":"2650:12:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":5283,"id":5285,"nodeType":"Return","src":"2643:19:17"}]},"functionSelector":"18540361","implemented":true,"kind":"function","modifiers":[],"name":"profile2_id","nameLocation":"2581:11:17","parameters":{"id":5280,"nodeType":"ParameterList","parameters":[],"src":"2592:2:17"},"returnParameters":{"id":5283,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5282,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5287,"src":"2624:7:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":5281,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2624:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"2623:9:17"},"scope":5296,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":5295,"nodeType":"FunctionDefinition","src":"2757:105:17","nodes":[],"body":{"id":5294,"nodeType":"Block","src":"2822:40:17","nodes":[],"statements":[{"expression":{"id":5292,"name":"_profile2Anchor_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5147,"src":"2839:16:17","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":5291,"id":5293,"nodeType":"Return","src":"2832:23:17"}]},"functionSelector":"3554642a","implemented":true,"kind":"function","modifiers":[],"name":"profile2_anchor","nameLocation":"2766:15:17","parameters":{"id":5288,"nodeType":"ParameterList","parameters":[],"src":"2781:2:17"},"returnParameters":{"id":5291,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5290,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5295,"src":"2813:7:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5289,"name":"address","nodeType":"ElementaryTypeName","src":"2813:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2812:9:17"},"scope":5296,"stateMutability":"view","virtual":true,"visibility":"public"}],"abstract":false,"baseContracts":[{"baseName":{"id":5134,"name":"RegistrySetup","nameLocations":["863:13:17"],"nodeType":"IdentifierPath","referencedDeclaration":5132,"src":"863:13:17"},"id":5135,"nodeType":"InheritanceSpecifier","src":"863:13:17"}],"canonicalName":"RegistrySetupFull","contractDependencies":[],"contractKind":"contract","documentation":{"id":5133,"nodeType":"StructuredDocumentation","src":"699:134:17","text":"@title RegistrySetupFull\n @notice This contract is used to setup a Registry contract with two identities for testing purposes."},"fullyImplemented":true,"linearizedBaseContracts":[5296,5132,5026,17835,17783,12463,12138,11345,9285,8503,5834,5831],"name":"RegistrySetupFull","nameLocation":"842:17:17","scope":5297,"usedErrors":[]}],"license":"AGPL-3.0-only"},"id":17} \ No newline at end of file +{"abi":[{"type":"function","name":"IS_TEST","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"allo_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"allo_treasury","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address payable"}],"stateMutability":"nonpayable"},{"type":"function","name":"excludeArtifacts","inputs":[],"outputs":[{"name":"excludedArtifacts_","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"excludeContracts","inputs":[],"outputs":[{"name":"excludedContracts_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"excludeSenders","inputs":[],"outputs":[{"name":"excludedSenders_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"failed","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"local","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"no_recipient","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"nullProfile_member1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"nullProfile_member2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"nullProfile_members","inputs":[],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"pure"},{"type":"function","name":"nullProfile_notAMember","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"nullProfile_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"pool_admin","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"pool_manager1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"pool_manager2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"pool_managers","inputs":[],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"pool_notAManager","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile1_member1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile1_member2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile1_members","inputs":[],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile1_notAMember","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile1_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile2_member1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile2_member2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile2_members","inputs":[],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile2_notAMember","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile2_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"randomAddress","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"recipient","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"recipient1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"recipient2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"recipientAddress","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"registry","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract Registry"}],"stateMutability":"view"},{"type":"function","name":"registry_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"targetArtifactSelectors","inputs":[],"outputs":[{"name":"targetedArtifactSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzSelector[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetArtifacts","inputs":[],"outputs":[{"name":"targetedArtifacts_","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"targetContracts","inputs":[],"outputs":[{"name":"targetedContracts_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"targetInterfaces","inputs":[],"outputs":[{"name":"targetedInterfaces_","type":"tuple[]","internalType":"struct StdInvariant.FuzzInterface[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"artifacts","type":"string[]","internalType":"string[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetSelectors","inputs":[],"outputs":[{"name":"targetedSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzSelector[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetSenders","inputs":[],"outputs":[{"name":"targetedSenders_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"event","name":"log","inputs":[{"name":"","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_address","inputs":[{"name":"","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"uint256[]","indexed":false,"internalType":"uint256[]"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"int256[]","indexed":false,"internalType":"int256[]"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"address[]","indexed":false,"internalType":"address[]"}],"anonymous":false},{"type":"event","name":"log_bytes","inputs":[{"name":"","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"log_bytes32","inputs":[{"name":"","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"log_int","inputs":[{"name":"","type":"int256","indexed":false,"internalType":"int256"}],"anonymous":false},{"type":"event","name":"log_named_address","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256[]","indexed":false,"internalType":"uint256[]"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256[]","indexed":false,"internalType":"int256[]"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"address[]","indexed":false,"internalType":"address[]"}],"anonymous":false},{"type":"event","name":"log_named_bytes","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"log_named_bytes32","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"log_named_decimal_int","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256","indexed":false,"internalType":"int256"},{"name":"decimals","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_named_decimal_uint","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"decimals","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_named_int","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256","indexed":false,"internalType":"int256"}],"anonymous":false},{"type":"event","name":"log_named_string","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_named_uint","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_string","inputs":[{"name":"","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_uint","inputs":[{"name":"","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"logs","inputs":[{"name":"","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false}],"bytecode":{"object":"0x6080604052600c8054600160ff199182168117909255601e8054909116909117905534801561002d57600080fd5b5061177b8061003d6000396000f3fe608060405234801561001057600080fd5b50600436106102dd5760003560e01c80637b10399911610186578063aa3744bd116100e3578063d5bee9f511610097578063e20c9f7111610071578063e20c9f711461046e578063ef0d790f14610476578063fa7626d41461047e57600080fd5b8063d5bee9f514610456578063da4bf0871461045e578063dac4eb161461046657600080fd5b8063ba414fa6116100c8578063ba414fa61461042e578063d1e82b5814610446578063d1f2cd881461044e57600080fd5b8063aa3744bd1461041e578063b5508aa91461042657600080fd5b80638c7408c41161013a5780638e3c24931161011f5780638e3c249314610406578063916a17c61461040e578063a407c67a1461041657600080fd5b80638c7408c41461031d5780638e0d1a50146103fe57600080fd5b80637cbe79ed1161016b5780637cbe79ed146103e1578063829e423f1461031d57806385226c81146103e957600080fd5b80637b103999146103c35780637b2edf32146103d957600080fd5b80633f7286f41161023f57806366d9a9a0116101f357806374d9284e116101cd57806374d9284e1461031d578063759c9a86146103b357806379e62d0d146103bb57600080fd5b806366d9a9a01461038e5780636a38dd0a146103a357806370a32944146103ab57600080fd5b8063587c124311610224578063587c1243146103765780635aff59991461037e57806366d003ac1461038657600080fd5b80633f7286f4146103665780634bf4ba211461036e57600080fd5b80631b96dce6116102965780631ed7831c1161027b5780631ed7831c146103345780632ade3880146103495780633e5e3c231461035e57600080fd5b80631b96dce6146103245780631e7bcb2e1461032c57600080fd5b80630688b135116102c75780630688b1351461030f5780630f166ad414610317578063174eedde1461031d57600080fd5b8062b1fad7146102e2578063030e400614610307575b600080fd5b6102ea61048b565b6040516001600160a01b0390911681526020015b60405180910390f35b6102ea6104d0565b6102ea610510565b306102ea565b60006102ea565b6102ea610550565b6102ea610590565b61033c6105d0565b6040516102fe91906113dc565b610351610632565b6040516102fe9190611479565b61033c610774565b61033c6107d4565b61033c610834565b6102ea610857565b6102ea610897565b6102ea6108d7565b610396610917565b6040516102fe9190611539565b6102ea610a12565b61033c610a52565b6102ea610aea565b61033c610b2a565b601e5461010090046001600160a01b03166102ea565b6102ea610b92565b6102ea610bd2565b6103f1610c12565b6040516102fe9190611604565b6102ea610ce2565b6102ea610d22565b610396610d62565b61033c610e5d565b6102ea610ec5565b6103f1610f05565b610436610fd5565b60405190151581526020016102fe565b6102ea6110a9565b6102ea6110e9565b6102ea611129565b6102ea611169565b6102ea6111a9565b61033c6111e9565b6102ea611249565b601e546104369060ff1681565b60006104cb6040518060400160405280600d81526020017f706f6f6c5f6d616e616765723100000000000000000000000000000000000000815250611285565b905090565b60006104cb6040518060400160405280601381526020017f70726f66696c65315f6e6f74414d656d62657200000000000000000000000000815250611285565b60006104cb6040518060400160405280600a81526020017f726563697069656e743200000000000000000000000000000000000000000000815250611285565b60006104cb6040518060400160405280600e81526020017f70726f66696c65325f6f776e6572000000000000000000000000000000000000815250611285565b60006104cb6040518060400160405280601081526020017f70726f66696c65315f6d656d6265723100000000000000000000000000000000815250611285565b6060601680548060200260200160405190810160405280929190818152602001828054801561062857602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831161060a575b5050505050905090565b6060601d805480602002602001604051908101604052809291908181526020016000905b8282101561076b57600084815260208082206040805180820182526002870290920180546001600160a01b03168352600181018054835181870281018701909452808452939591948681019491929084015b828210156107545783829060005260206000200180546106c790611666565b80601f01602080910402602001604051908101604052809291908181526020018280546106f390611666565b80156107405780601f1061071557610100808354040283529160200191610740565b820191906000526020600020905b81548152906001019060200180831161072357829003601f168201915b5050505050815260200190600101906106a8565b505050508152505081526020019060010190610656565b50505050905090565b60606018805480602002602001604051908101604052809291908181526020018280548015610628576020028201919060005260206000209081546001600160a01b0316815260019091019060200180831161060a575050505050905090565b60606017805480602002602001604051908101604052809291908181526020018280548015610628576020028201919060005260206000209081546001600160a01b0316815260019091019060200180831161060a575050505050905090565b604080516002808252606080830184529260208301908036833701905050905090565b60006104cb6040518060400160405280601081526020017f70726f66696c65325f6d656d6265723100000000000000000000000000000000815250611285565b60006104cb6040518060400160405280601081526020017f726563697069656e744164647265737300000000000000000000000000000000815250611285565b60006104cb6040518060400160405280600981526020017f726563697069656e740000000000000000000000000000000000000000000000815250611285565b6060601b805480602002602001604051908101604052809291908181526020016000905b8282101561076b5760008481526020908190206040805180820182526002860290920180546001600160a01b031683526001810180548351818702810187019094528084529394919385830193928301828280156109fa57602002820191906000526020600020906000905b82829054906101000a900460e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190600401906020826003010492830192600103820291508084116109a75790505b5050505050815250508152602001906001019061093b565b60006104cb6040518060400160405280600d81526020017f706f6f6c5f6d616e616765723200000000000000000000000000000000000000815250611285565b60408051600280825260608083018452926000929190602083019080368337019050509050610a7f610590565b81600081518110610a9257610a926116a0565b60200260200101906001600160a01b031690816001600160a01b031681525050610aba610b92565b81600181518110610acd57610acd6116a0565b6001600160a01b0390921660209283029190910190910152919050565b60006104cb6040518060400160405280600c81526020017f6e6f5f726563697069656e740000000000000000000000000000000000000000815250611285565b60408051600280825260608083018452926000929190602083019080368337019050509050610b5761048b565b81600081518110610b6a57610b6a6116a0565b60200260200101906001600160a01b031690816001600160a01b031681525050610aba610a12565b60006104cb6040518060400160405280601081526020017f70726f66696c65315f6d656d6265723200000000000000000000000000000000815250611285565b60006104cb6040518060400160405280600a81526020017f616c6c6f5f6f776e657200000000000000000000000000000000000000000000815250611285565b6060601a805480602002602001604051908101604052809291908181526020016000905b8282101561076b578382906000526020600020018054610c5590611666565b80601f0160208091040260200160405190810160405280929190818152602001828054610c8190611666565b8015610cce5780601f10610ca357610100808354040283529160200191610cce565b820191906000526020600020905b815481529060010190602001808311610cb157829003601f168201915b505050505081526020019060010190610c36565b60006104cb6040518060400160405280600a81526020017f706f6f6c5f61646d696e00000000000000000000000000000000000000000000815250611285565b60006104cb6040518060400160405280601081526020017f70726f66696c65325f6d656d6265723200000000000000000000000000000000815250611285565b6060601c805480602002602001604051908101604052809291908181526020016000905b8282101561076b5760008481526020908190206040805180820182526002860290920180546001600160a01b03168352600181018054835181870281018701909452808452939491938583019392830182828015610e4557602002820191906000526020600020906000905b82829054906101000a900460e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681526020019060040190602082600301049283019260010382029150808411610df25790505b50505050508152505081526020019060010190610d86565b60408051600280825260608083018452926000929190602083019080368337019050509050610e8a610857565b81600081518110610e9d57610e9d6116a0565b60200260200101906001600160a01b031690816001600160a01b031681525050610aba610d22565b60006104cb6040518060400160405280600a81526020017f726563697069656e743100000000000000000000000000000000000000000000815250611285565b60606019805480602002602001604051908101604052809291908181526020016000905b8282101561076b578382906000526020600020018054610f4890611666565b80601f0160208091040260200160405190810160405280929190818152602001828054610f7490611666565b8015610fc15780601f10610f9657610100808354040283529160200191610fc1565b820191906000526020600020905b815481529060010190602001808311610fa457829003601f168201915b505050505081526020019060010190610f29565b60085460009060ff1615610fed575060085460ff1690565b6040517f667f9d70000000000000000000000000000000000000000000000000000000008152737109709ecfa91a80626ff3989d68f67f5b1dd12d600482018190527f6661696c65640000000000000000000000000000000000000000000000000000602483015260009163667f9d7090604401602060405180830381865afa15801561107e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110a291906116b6565b1415905090565b60006104cb6040518060400160405280601081526020017f706f6f6c5f6e6f74414d616e6167657200000000000000000000000000000000815250611285565b60006104cb6040518060400160405280600e81526020017f70726f66696c65315f6f776e6572000000000000000000000000000000000000815250611285565b60006104cb6040518060400160405280600b81526020017f72616e646f6d2063686164000000000000000000000000000000000000000000815250611285565b60006104cb6040518060400160405280600d81526020017f616c6c6f5f747265617375727900000000000000000000000000000000000000815250611285565b60006104cb6040518060400160405280600e81526020017f72656769737472795f6f776e6572000000000000000000000000000000000000815250611285565b60606015805480602002602001604051908101604052809291908181526020018280548015610628576020028201919060005260206000209081546001600160a01b0316815260019091019060200180831161060a575050505050905090565b60006104cb6040518060400160405280601381526020017f70726f66696c65325f6e6f74414d656d626572000000000000000000000000008152505b600061129082611297565b5092915050565b600080826040516020016112ab91906116cf565b60408051808303601f190181529082905280516020909101207fffa18649000000000000000000000000000000000000000000000000000000008252600482018190529150737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ffa1864990602401602060405180830381865afa15801561132c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061135091906116eb565b6040517fc657c718000000000000000000000000000000000000000000000000000000008152909250737109709ecfa91a80626ff3989d68f67f5b1dd12d9063c657c718906113a5908590879060040161171b565b600060405180830381600087803b1580156113bf57600080fd5b505af11580156113d3573d6000803e3d6000fd5b50505050915091565b6020808252825182820181905260009190848201906040850190845b8181101561141d5783516001600160a01b0316835292840192918401916001016113f8565b50909695505050505050565b60005b8381101561144457818101518382015260200161142c565b50506000910152565b60008151808452611465816020860160208601611429565b601f01601f19169290920160200192915050565b602080825282518282018190526000919060409081850190600581811b8701840188860187805b8581101561152957603f198b8503018752825180516001600160a01b031685528901518985018990528051898601819052908a0190606081881b870181019190870190855b8181101561151357605f1989850301835261150184865161144d565b948e01949350918d01916001016114e5565b505050978a0197945050918801916001016114a0565b50919a9950505050505050505050565b60006020808301818452808551808352604092508286019150828160051b8701018488016000805b848110156115f557898403603f19018652825180516001600160a01b03168552880151888501889052805188860181905290890190839060608701905b808310156115e05783517fffffffff00000000000000000000000000000000000000000000000000000000168252928b019260019290920191908b019061159e565b50978a01979550505091870191600101611561565b50919998505050505050505050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b8281101561165957603f1988860301845261164785835161144d565b9450928501929085019060010161162b565b5092979650505050505050565b600181811c9082168061167a57607f821691505b60208210810361169a57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052603260045260246000fd5b6000602082840312156116c857600080fd5b5051919050565b600082516116e1818460208701611429565b9190910192915050565b6000602082840312156116fd57600080fd5b81516001600160a01b038116811461171457600080fd5b9392505050565b6001600160a01b038316815260406020820152600061173d604083018461144d565b94935050505056fea26469706673582212201dfe3b38e94a5b00be7af12d4f621a9ce62495c7e10f785f6abe547888bb6c3864736f6c63430008130033","sourceMap":"393:304:17:-:0;;;3126:44:23;;;3166:4;-1:-1:-1;;3126:44:23;;;;;;;;1016:26:33;;;;;;;;;;;393:304:17;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b50600436106102dd5760003560e01c80637b10399911610186578063aa3744bd116100e3578063d5bee9f511610097578063e20c9f7111610071578063e20c9f711461046e578063ef0d790f14610476578063fa7626d41461047e57600080fd5b8063d5bee9f514610456578063da4bf0871461045e578063dac4eb161461046657600080fd5b8063ba414fa6116100c8578063ba414fa61461042e578063d1e82b5814610446578063d1f2cd881461044e57600080fd5b8063aa3744bd1461041e578063b5508aa91461042657600080fd5b80638c7408c41161013a5780638e3c24931161011f5780638e3c249314610406578063916a17c61461040e578063a407c67a1461041657600080fd5b80638c7408c41461031d5780638e0d1a50146103fe57600080fd5b80637cbe79ed1161016b5780637cbe79ed146103e1578063829e423f1461031d57806385226c81146103e957600080fd5b80637b103999146103c35780637b2edf32146103d957600080fd5b80633f7286f41161023f57806366d9a9a0116101f357806374d9284e116101cd57806374d9284e1461031d578063759c9a86146103b357806379e62d0d146103bb57600080fd5b806366d9a9a01461038e5780636a38dd0a146103a357806370a32944146103ab57600080fd5b8063587c124311610224578063587c1243146103765780635aff59991461037e57806366d003ac1461038657600080fd5b80633f7286f4146103665780634bf4ba211461036e57600080fd5b80631b96dce6116102965780631ed7831c1161027b5780631ed7831c146103345780632ade3880146103495780633e5e3c231461035e57600080fd5b80631b96dce6146103245780631e7bcb2e1461032c57600080fd5b80630688b135116102c75780630688b1351461030f5780630f166ad414610317578063174eedde1461031d57600080fd5b8062b1fad7146102e2578063030e400614610307575b600080fd5b6102ea61048b565b6040516001600160a01b0390911681526020015b60405180910390f35b6102ea6104d0565b6102ea610510565b306102ea565b60006102ea565b6102ea610550565b6102ea610590565b61033c6105d0565b6040516102fe91906113dc565b610351610632565b6040516102fe9190611479565b61033c610774565b61033c6107d4565b61033c610834565b6102ea610857565b6102ea610897565b6102ea6108d7565b610396610917565b6040516102fe9190611539565b6102ea610a12565b61033c610a52565b6102ea610aea565b61033c610b2a565b601e5461010090046001600160a01b03166102ea565b6102ea610b92565b6102ea610bd2565b6103f1610c12565b6040516102fe9190611604565b6102ea610ce2565b6102ea610d22565b610396610d62565b61033c610e5d565b6102ea610ec5565b6103f1610f05565b610436610fd5565b60405190151581526020016102fe565b6102ea6110a9565b6102ea6110e9565b6102ea611129565b6102ea611169565b6102ea6111a9565b61033c6111e9565b6102ea611249565b601e546104369060ff1681565b60006104cb6040518060400160405280600d81526020017f706f6f6c5f6d616e616765723100000000000000000000000000000000000000815250611285565b905090565b60006104cb6040518060400160405280601381526020017f70726f66696c65315f6e6f74414d656d62657200000000000000000000000000815250611285565b60006104cb6040518060400160405280600a81526020017f726563697069656e743200000000000000000000000000000000000000000000815250611285565b60006104cb6040518060400160405280600e81526020017f70726f66696c65325f6f776e6572000000000000000000000000000000000000815250611285565b60006104cb6040518060400160405280601081526020017f70726f66696c65315f6d656d6265723100000000000000000000000000000000815250611285565b6060601680548060200260200160405190810160405280929190818152602001828054801561062857602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831161060a575b5050505050905090565b6060601d805480602002602001604051908101604052809291908181526020016000905b8282101561076b57600084815260208082206040805180820182526002870290920180546001600160a01b03168352600181018054835181870281018701909452808452939591948681019491929084015b828210156107545783829060005260206000200180546106c790611666565b80601f01602080910402602001604051908101604052809291908181526020018280546106f390611666565b80156107405780601f1061071557610100808354040283529160200191610740565b820191906000526020600020905b81548152906001019060200180831161072357829003601f168201915b5050505050815260200190600101906106a8565b505050508152505081526020019060010190610656565b50505050905090565b60606018805480602002602001604051908101604052809291908181526020018280548015610628576020028201919060005260206000209081546001600160a01b0316815260019091019060200180831161060a575050505050905090565b60606017805480602002602001604051908101604052809291908181526020018280548015610628576020028201919060005260206000209081546001600160a01b0316815260019091019060200180831161060a575050505050905090565b604080516002808252606080830184529260208301908036833701905050905090565b60006104cb6040518060400160405280601081526020017f70726f66696c65325f6d656d6265723100000000000000000000000000000000815250611285565b60006104cb6040518060400160405280601081526020017f726563697069656e744164647265737300000000000000000000000000000000815250611285565b60006104cb6040518060400160405280600981526020017f726563697069656e740000000000000000000000000000000000000000000000815250611285565b6060601b805480602002602001604051908101604052809291908181526020016000905b8282101561076b5760008481526020908190206040805180820182526002860290920180546001600160a01b031683526001810180548351818702810187019094528084529394919385830193928301828280156109fa57602002820191906000526020600020906000905b82829054906101000a900460e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190600401906020826003010492830192600103820291508084116109a75790505b5050505050815250508152602001906001019061093b565b60006104cb6040518060400160405280600d81526020017f706f6f6c5f6d616e616765723200000000000000000000000000000000000000815250611285565b60408051600280825260608083018452926000929190602083019080368337019050509050610a7f610590565b81600081518110610a9257610a926116a0565b60200260200101906001600160a01b031690816001600160a01b031681525050610aba610b92565b81600181518110610acd57610acd6116a0565b6001600160a01b0390921660209283029190910190910152919050565b60006104cb6040518060400160405280600c81526020017f6e6f5f726563697069656e740000000000000000000000000000000000000000815250611285565b60408051600280825260608083018452926000929190602083019080368337019050509050610b5761048b565b81600081518110610b6a57610b6a6116a0565b60200260200101906001600160a01b031690816001600160a01b031681525050610aba610a12565b60006104cb6040518060400160405280601081526020017f70726f66696c65315f6d656d6265723200000000000000000000000000000000815250611285565b60006104cb6040518060400160405280600a81526020017f616c6c6f5f6f776e657200000000000000000000000000000000000000000000815250611285565b6060601a805480602002602001604051908101604052809291908181526020016000905b8282101561076b578382906000526020600020018054610c5590611666565b80601f0160208091040260200160405190810160405280929190818152602001828054610c8190611666565b8015610cce5780601f10610ca357610100808354040283529160200191610cce565b820191906000526020600020905b815481529060010190602001808311610cb157829003601f168201915b505050505081526020019060010190610c36565b60006104cb6040518060400160405280600a81526020017f706f6f6c5f61646d696e00000000000000000000000000000000000000000000815250611285565b60006104cb6040518060400160405280601081526020017f70726f66696c65325f6d656d6265723200000000000000000000000000000000815250611285565b6060601c805480602002602001604051908101604052809291908181526020016000905b8282101561076b5760008481526020908190206040805180820182526002860290920180546001600160a01b03168352600181018054835181870281018701909452808452939491938583019392830182828015610e4557602002820191906000526020600020906000905b82829054906101000a900460e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681526020019060040190602082600301049283019260010382029150808411610df25790505b50505050508152505081526020019060010190610d86565b60408051600280825260608083018452926000929190602083019080368337019050509050610e8a610857565b81600081518110610e9d57610e9d6116a0565b60200260200101906001600160a01b031690816001600160a01b031681525050610aba610d22565b60006104cb6040518060400160405280600a81526020017f726563697069656e743100000000000000000000000000000000000000000000815250611285565b60606019805480602002602001604051908101604052809291908181526020016000905b8282101561076b578382906000526020600020018054610f4890611666565b80601f0160208091040260200160405190810160405280929190818152602001828054610f7490611666565b8015610fc15780601f10610f9657610100808354040283529160200191610fc1565b820191906000526020600020905b815481529060010190602001808311610fa457829003601f168201915b505050505081526020019060010190610f29565b60085460009060ff1615610fed575060085460ff1690565b6040517f667f9d70000000000000000000000000000000000000000000000000000000008152737109709ecfa91a80626ff3989d68f67f5b1dd12d600482018190527f6661696c65640000000000000000000000000000000000000000000000000000602483015260009163667f9d7090604401602060405180830381865afa15801561107e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110a291906116b6565b1415905090565b60006104cb6040518060400160405280601081526020017f706f6f6c5f6e6f74414d616e6167657200000000000000000000000000000000815250611285565b60006104cb6040518060400160405280600e81526020017f70726f66696c65315f6f776e6572000000000000000000000000000000000000815250611285565b60006104cb6040518060400160405280600b81526020017f72616e646f6d2063686164000000000000000000000000000000000000000000815250611285565b60006104cb6040518060400160405280600d81526020017f616c6c6f5f747265617375727900000000000000000000000000000000000000815250611285565b60006104cb6040518060400160405280600e81526020017f72656769737472795f6f776e6572000000000000000000000000000000000000815250611285565b60606015805480602002602001604051908101604052809291908181526020018280548015610628576020028201919060005260206000209081546001600160a01b0316815260019091019060200180831161060a575050505050905090565b60006104cb6040518060400160405280601381526020017f70726f66696c65325f6e6f74414d656d626572000000000000000000000000008152505b600061129082611297565b5092915050565b600080826040516020016112ab91906116cf565b60408051808303601f190181529082905280516020909101207fffa18649000000000000000000000000000000000000000000000000000000008252600482018190529150737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ffa1864990602401602060405180830381865afa15801561132c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061135091906116eb565b6040517fc657c718000000000000000000000000000000000000000000000000000000008152909250737109709ecfa91a80626ff3989d68f67f5b1dd12d9063c657c718906113a5908590879060040161171b565b600060405180830381600087803b1580156113bf57600080fd5b505af11580156113d3573d6000803e3d6000fd5b50505050915091565b6020808252825182820181905260009190848201906040850190845b8181101561141d5783516001600160a01b0316835292840192918401916001016113f8565b50909695505050505050565b60005b8381101561144457818101518382015260200161142c565b50506000910152565b60008151808452611465816020860160208601611429565b601f01601f19169290920160200192915050565b602080825282518282018190526000919060409081850190600581811b8701840188860187805b8581101561152957603f198b8503018752825180516001600160a01b031685528901518985018990528051898601819052908a0190606081881b870181019190870190855b8181101561151357605f1989850301835261150184865161144d565b948e01949350918d01916001016114e5565b505050978a0197945050918801916001016114a0565b50919a9950505050505050505050565b60006020808301818452808551808352604092508286019150828160051b8701018488016000805b848110156115f557898403603f19018652825180516001600160a01b03168552880151888501889052805188860181905290890190839060608701905b808310156115e05783517fffffffff00000000000000000000000000000000000000000000000000000000168252928b019260019290920191908b019061159e565b50978a01979550505091870191600101611561565b50919998505050505050505050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b8281101561165957603f1988860301845261164785835161144d565b9450928501929085019060010161162b565b5092979650505050505050565b600181811c9082168061167a57607f821691505b60208210810361169a57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052603260045260246000fd5b6000602082840312156116c857600080fd5b5051919050565b600082516116e1818460208701611429565b9190910192915050565b6000602082840312156116fd57600080fd5b81516001600160a01b038116811461171457600080fd5b9392505050565b6001600160a01b038316815260406020820152600061173d604083018461144d565b94935050505056fea26469706673582212201dfe3b38e94a5b00be7af12d4f621a9ce62495c7e10f785f6abe547888bb6c3864736f6c63430008130033","sourceMap":"393:304:17:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1763:107:15;;;:::i;:::-;;;-1:-1:-1;;;;;178:55:151;;;160:74;;148:2;133:18;1763:107:15;;;;;;;;2429:119;;;:::i;4045:101::-;;;:::i;226:92::-;306:4;226:92;;905:138;968:7;905:138;;3126:109;;;:::i;2554:113::-;;;:::i;2452:134:26:-;;;:::i;:::-;;;;;;;:::i;3360:151::-;;;:::i;:::-;;;;;;;:::i;3221:133::-;;;:::i;2922:141::-;;;:::i;1331:118:15:-;;;:::i;3366:113::-;;;:::i;4257:::-;;;:::i;4152:99::-;;;:::i;2738:178:26:-;;;:::i;:::-;;;;;;;:::i;1876:107:15:-;;;:::i;2792:241::-;;;:::i;4376:105::-;;;:::i;1989:232::-;;;:::i;610:85:17:-;678:10;;;;;-1:-1:-1;;;;;678:10:17;610:85;;2673:113:15;;;:::i;439:101::-;;;:::i;2592:140:26:-;;;:::i;:::-;;;;;;;:::i;1537:101:15:-;;;:::i;3485:113::-;;;:::i;3069:146:26:-;;;:::i;3604:241:15:-;;;:::i;3938:101::-;;;:::i;2157:141:26:-;;;:::i;1243:204:22:-;;;:::i;:::-;;;6098:14:151;;6091:22;6073:41;;6061:2;6046:18;1243:204:22;5933:187:151;1644:113:15;;;:::i;2314:109::-;;;:::i;4571:105::-;;;:::i;546:124::-;;;:::i;324:109::-;;;:::i;2304:142:26:-;;;:::i;3241:119:15:-;;;:::i;1016:26:33:-;;;;;;;;;1763:107:15;1812:7;1838:25;;;;;;;;;;;;;;;;;;:8;:25::i;:::-;1831:32;;1763:107;:::o;2429:119::-;2484:7;2510:31;;;;;;;;;;;;;;;;;;:8;:31::i;4045:101::-;4091:7;4117:22;;;;;;;;;;;;;;;;;;:8;:22::i;3126:109::-;3176:7;3202:26;;;;;;;;;;;;;;;;;;:8;:26::i;2554:113::-;2606:7;2632:28;;;;;;;;;;;;;;;;;;:8;:28::i;2452:134:26:-;2499:33;2563:16;2544:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2544:35:26;;;;;;;;;;;;;;;;;;;;;;;2452:134;:::o;3360:151::-;3409:42;3485:19;3463:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3463:41:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3360:151;:::o;3221:133::-;3267:33;3331:16;3312:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3312:35:26;;;;;;;;;;;;;;;;;;;;;;3221:133;:::o;2922:141::-;2970:35;3038:18;3017:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3017:39:26;;;;;;;;;;;;;;;;;;;;;;2922:141;:::o;1331:118:15:-;1426:16;;;1440:1;1426:16;;;1391;1426;;;;;1391;1426;;;;;;;;;;-1:-1:-1;1426:16:15;1419:23;;1331:118;:::o;3366:113::-;3418:7;3444:28;;;;;;;;;;;;;;;;;;:8;:28::i;4257:113::-;4309:7;4335:28;;;;;;;;;;;;;;;;;;:8;:28::i;4152:99::-;4197:7;4223:21;;;;;;;;;;;;;;;;;;:8;:21::i;2738:178:26:-;2794:48;2883:26;2854:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2854:55:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1876:107:15;1925:7;1951:25;;;;;;;;;;;;;;;;;;:8;:25::i;2792:241::-;2900:16;;;2914:1;2900:16;;;2844;2900;;;;;2844;2872:25;;2900:16;2914:1;2900:16;;;;;;;;;;-1:-1:-1;2900:16:15;2872:44;;2940:18;:16;:18::i;:::-;2926:8;2935:1;2926:11;;;;;;;;:::i;:::-;;;;;;:32;-1:-1:-1;;;;;2926:32:15;;;-1:-1:-1;;;;;2926:32:15;;;;;2982:18;:16;:18::i;:::-;2968:8;2977:1;2968:11;;;;;;;;:::i;:::-;-1:-1:-1;;;;;2968:32:15;;;:11;;;;;;;;;;;:32;3018:8;2792:241;-1:-1:-1;2792:241:15:o;4376:105::-;4424:7;4450:24;;;;;;;;;;;;;;;;;;:8;:24::i;1989:232::-;2094:16;;;2108:1;2094:16;;;2038;2094;;;;;2038;2066:25;;2094:16;2108:1;2094:16;;;;;;;;;;-1:-1:-1;2094:16:15;2066:44;;2134:15;:13;:15::i;:::-;2120:8;2129:1;2120:11;;;;;;;;:::i;:::-;;;;;;:29;-1:-1:-1;;;;;2120:29:15;;;-1:-1:-1;;;;;2120:29:15;;;;;2173:15;:13;:15::i;2673:113::-;2725:7;2751:28;;;;;;;;;;;;;;;;;;:8;:28::i;439:101::-;485:7;511:22;;;;;;;;;;;;;;;;;;:8;:22::i;2592:140:26:-;2640:34;2707:18;2686:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1537:101:15;1583:7;1609:22;;;;;;;;;;;;;;;;;;:8;:22::i;3485:113::-;3537:7;3563:28;;;;;;;;;;;;;;;;;;:8;:28::i;3069:146:26:-;3117:40;3190:18;3169:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3169:39:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3604:241:15;3712:16;;;3726:1;3712:16;;;3656;3712;;;;;3656;3684:25;;3712:16;3726:1;3712:16;;;;;;;;;;-1:-1:-1;3712:16:15;3684:44;;3752:18;:16;:18::i;:::-;3738:8;3747:1;3738:11;;;;;;;;:::i;:::-;;;;;;:32;-1:-1:-1;;;;;3738:32:15;;;-1:-1:-1;;;;;3738:32:15;;;;;3794:18;:16;:18::i;3938:101::-;3984:7;4010:22;;;;;;;;;;;;;;;;;;:8;:22::i;2157:141:26:-;2206:34;2273:18;2252:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1243:204:22;1302:7;;1282:4;;1302:7;;1298:143;;;-1:-1:-1;1332:7:22;;;;;1243:204::o;1298:143::-;1377:39;;;;;:7;:39;;;7366:74:151;;;1398:17:22;7456:18:151;;;7449:34;1428:1:22;;1377:7;;7339:18:151;;1377:39:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:53;;1370:60;;1243:204;:::o;1644:113:15:-;1696:7;1722:28;;;;;;;;;;;;;;;;;;:8;:28::i;2314:109::-;2364:7;2390:26;;;;;;;;;;;;;;;;;;:8;:26::i;4571:105::-;4620:7;4646:23;;;;;;;;;;;;;;;;;;:8;:23::i;546:124::-;595:15;637:25;;;;;;;;;;;;;;;;;;:8;:25::i;324:109::-;374:7;400:26;;;;;;;;;;;;;;;;;;:8;:26::i;2304:142:26:-;2353:35;2421:18;2400:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2400:39:26;;;;;;;;;;;;;;;;;;;;;;2304:142;:::o;3241:119:15:-;3296:7;3322:31;;;;;;;;;;;;;;;;;;20439:125:24;20503:12;20537:20;20552:4;20537:14;:20::i;:::-;-1:-1:-1;20527:30:24;20439:125;-1:-1:-1;;20439:125:24:o;20158:242::-;20228:12;20242:18;20320:4;20303:22;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;20303:22:24;;;;;;;20293:33;;20303:22;20293:33;;;;20344:19;;;;;;8123:25:151;;;20293:33:24;-1:-1:-1;20344:7:24;;;;8096:18:151;;20344:19:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;20373:20;;;;;20337:26;;-1:-1:-1;20373:8:24;;;;:20;;20337:26;;20388:4;;20373:20;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20158:242;;;:::o;245:681:151:-;416:2;468:21;;;538:13;;441:18;;;560:22;;;387:4;;416:2;639:15;;;;613:2;598:18;;;387:4;682:218;696:6;693:1;690:13;682:218;;;761:13;;-1:-1:-1;;;;;757:62:151;745:75;;875:15;;;;840:12;;;;718:1;711:9;682:218;;;-1:-1:-1;917:3:151;;245:681;-1:-1:-1;;;;;;245:681:151:o;931:250::-;1016:1;1026:113;1040:6;1037:1;1034:13;1026:113;;;1116:11;;;1110:18;1097:11;;;1090:39;1062:2;1055:10;1026:113;;;-1:-1:-1;;1173:1:151;1155:16;;1148:27;931:250::o;1186:271::-;1228:3;1266:5;1260:12;1293:6;1288:3;1281:19;1309:76;1378:6;1371:4;1366:3;1362:14;1355:4;1348:5;1344:16;1309:76;:::i;:::-;1439:2;1418:15;-1:-1:-1;;1414:29:151;1405:39;;;;1446:4;1401:50;;1186:271;-1:-1:-1;;1186:271:151:o;1462:1767::-;1697:2;1749:21;;;1819:13;;1722:18;;;1841:22;;;1668:4;;1697:2;1882;;1900:18;;;;1937:1;1980:15;;;1965:31;;1961:40;;2024:15;;;1668:4;;2088:1112;2104:6;2099:3;2096:15;2088:1112;;;-1:-1:-1;;2173:22:151;;;2169:36;2157:49;;2229:13;;2316:9;;-1:-1:-1;;;;;2312:58:151;2297:74;;2410:11;;2404:18;2442:15;;;2435:27;;;2523:19;;2269:15;;;2555:24;;;2736:21;;;;2602:2;2684:17;;;2672:30;;2668:39;;;2626:15;;;;2781:1;2795:296;2811:8;2806:3;2803:17;2795:296;;;2917:2;2913:7;2904:6;2896;2892:19;2888:33;2881:5;2874:48;2949:42;2984:6;2973:8;2967:15;2949:42;:::i;:::-;3020:17;;;;2939:52;-1:-1:-1;3063:14:151;;;;2839:1;2830:11;2795:296;;;-1:-1:-1;;;3178:12:151;;;;3114:6;-1:-1:-1;;3143:15:151;;;;2130:1;2121:11;2088:1112;;;-1:-1:-1;3217:6:151;;1462:1767;-1:-1:-1;;;;;;;;;;1462:1767:151:o;3234:1638::-;3438:4;3467:2;3507;3496:9;3492:18;3537:2;3526:9;3519:21;3560:6;3595;3589:13;3626:6;3618;3611:22;3652:2;3642:12;;3685:2;3674:9;3670:18;3663:25;;3747:2;3737:6;3734:1;3730:14;3719:9;3715:30;3711:39;3785:2;3777:6;3773:15;3806:1;3827;3837:1006;3853:6;3848:3;3845:15;3837:1006;;;3922:22;;;-1:-1:-1;;3918:36:151;3906:49;;3978:13;;4065:9;;-1:-1:-1;;;;;4061:58:151;4046:74;;4159:11;;4153:18;4191:15;;;4184:27;;;4272:19;;4018:15;;;4304:24;;;4394:21;;;;4439:1;;4362:2;4350:15;;;4453:282;4469:8;4464:3;4461:17;4453:282;;;4550:15;;4567:66;4546:88;4532:103;;4704:17;;;;4497:1;4488:11;;;;;4661:14;;;;4453:282;;;-1:-1:-1;4821:12:151;;;;4758:5;-1:-1:-1;;;4786:15:151;;;;3879:1;3870:11;3837:1006;;;-1:-1:-1;4860:6:151;;3234:1638;-1:-1:-1;;;;;;;;;3234:1638:151:o;5125:803::-;5287:4;5316:2;5356;5345:9;5341:18;5386:2;5375:9;5368:21;5409:6;5444;5438:13;5475:6;5467;5460:22;5513:2;5502:9;5498:18;5491:25;;5575:2;5565:6;5562:1;5558:14;5547:9;5543:30;5539:39;5525:53;;5613:2;5605:6;5601:15;5634:1;5644:255;5658:6;5655:1;5652:13;5644:255;;;5751:2;5747:7;5735:9;5727:6;5723:22;5719:36;5714:3;5707:49;5779:40;5812:6;5803;5797:13;5779:40;:::i;:::-;5769:50;-1:-1:-1;5877:12:151;;;;5842:15;;;;5680:1;5673:9;5644:255;;;-1:-1:-1;5916:6:151;;5125:803;-1:-1:-1;;;;;;;5125:803:151:o;6372:437::-;6451:1;6447:12;;;;6494;;;6515:61;;6569:4;6561:6;6557:17;6547:27;;6515:61;6622:2;6614:6;6611:14;6591:18;6588:38;6585:218;;-1:-1:-1;;;6656:1:151;6649:88;6760:4;6757:1;6750:15;6788:4;6785:1;6778:15;6585:218;;6372:437;;;:::o;7003:184::-;-1:-1:-1;;;7052:1:151;7045:88;7152:4;7149:1;7142:15;7176:4;7173:1;7166:15;7494:184;7564:6;7617:2;7605:9;7596:7;7592:23;7588:32;7585:52;;;7633:1;7630;7623:12;7585:52;-1:-1:-1;7656:16:151;;7494:184;-1:-1:-1;7494:184:151:o;7683:289::-;7814:3;7852:6;7846:13;7868:66;7927:6;7922:3;7915:4;7907:6;7903:17;7868:66;:::i;:::-;7950:16;;;;;7683:289;-1:-1:-1;;7683:289:151:o;8159:313::-;8229:6;8282:2;8270:9;8261:7;8257:23;8253:32;8250:52;;;8298:1;8295;8288:12;8250:52;8330:9;8324:16;-1:-1:-1;;;;;8373:5:151;8369:54;8362:5;8359:65;8349:93;;8438:1;8435;8428:12;8349:93;8461:5;8159:313;-1:-1:-1;;;8159:313:151:o;8477:340::-;-1:-1:-1;;;;;8658:6:151;8654:55;8643:9;8636:74;8746:2;8741;8730:9;8726:18;8719:30;8617:4;8766:45;8807:2;8796:9;8792:18;8784:6;8766:45;:::i;:::-;8758:53;8477:340;-1:-1:-1;;;;8477:340:151:o","linkReferences":{}},"methodIdentifiers":{"IS_TEST()":"fa7626d4","allo_owner()":"7cbe79ed","allo_treasury()":"da4bf087","excludeArtifacts()":"b5508aa9","excludeContracts()":"e20c9f71","excludeSenders()":"1ed7831c","failed()":"ba414fa6","local()":"0f166ad4","no_recipient()":"759c9a86","nullProfile_member1()":"829e423f","nullProfile_member2()":"8c7408c4","nullProfile_members()":"4bf4ba21","nullProfile_notAMember()":"174eedde","nullProfile_owner()":"74d9284e","pool_admin()":"8e0d1a50","pool_manager1()":"00b1fad7","pool_manager2()":"6a38dd0a","pool_managers()":"79e62d0d","pool_notAManager()":"d1e82b58","profile1_member1()":"1e7bcb2e","profile1_member2()":"7b2edf32","profile1_members()":"70a32944","profile1_notAMember()":"030e4006","profile1_owner()":"d1f2cd88","profile2_member1()":"587c1243","profile2_member2()":"8e3c2493","profile2_members()":"a407c67a","profile2_notAMember()":"ef0d790f","profile2_owner()":"1b96dce6","randomAddress()":"d5bee9f5","recipient()":"66d003ac","recipient1()":"aa3744bd","recipient2()":"0688b135","recipientAddress()":"5aff5999","registry()":"7b103999","registry_owner()":"dac4eb16","targetArtifactSelectors()":"66d9a9a0","targetArtifacts()":"85226c81","targetContracts()":"3f7286f4","targetInterfaces()":"2ade3880","targetSelectors()":"916a17c6","targetSenders()":"3e5e3c23"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"log_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"val\",\"type\":\"uint256[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256[]\",\"name\":\"val\",\"type\":\"int256[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"val\",\"type\":\"address[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"log_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"log_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"name\":\"log_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"val\",\"type\":\"address\"}],\"name\":\"log_named_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"val\",\"type\":\"uint256[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256[]\",\"name\":\"val\",\"type\":\"int256[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"val\",\"type\":\"address[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"val\",\"type\":\"bytes\"}],\"name\":\"log_named_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"val\",\"type\":\"bytes32\"}],\"name\":\"log_named_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"}],\"name\":\"log_named_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"val\",\"type\":\"string\"}],\"name\":\"log_named_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"}],\"name\":\"log_named_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"log_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"logs\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"IS_TEST\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"allo_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"allo_treasury\",\"outputs\":[{\"internalType\":\"address payable\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeArtifacts\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"excludedArtifacts_\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeContracts\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"excludedContracts_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeSenders\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"excludedSenders_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"failed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"local\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"no_recipient\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_member1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_member2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_members\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_notAMember\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_admin\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_manager1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_manager2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_managers\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_notAManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_member1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_member2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_members\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_notAMember\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_member1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_member2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_members\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_notAMember\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"randomAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"recipient\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"recipient1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"recipient2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"recipientAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"registry\",\"outputs\":[{\"internalType\":\"contract Registry\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"registry_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetArtifactSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzSelector[]\",\"name\":\"targetedArtifactSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetArtifacts\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"targetedArtifacts_\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetContracts\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"targetedContracts_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetInterfaces\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"string[]\",\"name\":\"artifacts\",\"type\":\"string[]\"}],\"internalType\":\"struct StdInvariant.FuzzInterface[]\",\"name\":\"targetedInterfaces_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzSelector[]\",\"name\":\"targetedSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetSenders\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"targetedSenders_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"title\":\"RegistrySetup\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"This contract is used to setup an empty Registry contract for testing purposes.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/allo-v2/test/foundry/shared/RegistrySetup.sol\":\"RegistrySetup\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1000},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":eas-proxy/=lib/allo-v2/lib/eas-proxy/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":hedgey-vesting/=lib/allo-v2/lib/hedgey-vesting/contracts/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-contracts/=lib/safe-contracts/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":superfluid-protocol-monorepo/=lib/allo-v2/lib/superfluid-protocol-monorepo/packages/solidity-semantic-money/src/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"]},\"sources\":{\"lib/allo-v2/contracts/core/Anchor.sol\":{\"keccak256\":\"0x6f470a8d0bab0848d3c3b7fb076b4001ff8b6bfd18f4bd6691a50ee6a13910cd\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://4ed2ae6e417c282a07088fa9a30325fe5b2fa6d406ec02dc1df63027e82ec139\",\"dweb:/ipfs/QmdVDTJKzjJqkygZ9768krrVQicLZTJVrZXbvet7KsmT8H\"]},\"lib/allo-v2/contracts/core/Registry.sol\":{\"keccak256\":\"0xb4fb0c6d9eb0f27dd6f6099f2832054a0b194ce420c6870deb5a7a94dd88b998\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://0e82595dcff5471f50e67cc35f73dbc1c9344eac1ee9b42235372bd23ceee283\",\"dweb:/ipfs/QmS34kQKRBaE7ih8c5upBb11bg3QtjunvctxKYNrtfGWhR\"]},\"lib/allo-v2/contracts/core/interfaces/IRegistry.sol\":{\"keccak256\":\"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e\",\"dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA\"]},\"lib/allo-v2/contracts/core/libraries/Errors.sol\":{\"keccak256\":\"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf\",\"dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA\"]},\"lib/allo-v2/contracts/core/libraries/Metadata.sol\":{\"keccak256\":\"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c\",\"dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn\"]},\"lib/allo-v2/contracts/core/libraries/Native.sol\":{\"keccak256\":\"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a\",\"dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv\"]},\"lib/allo-v2/contracts/core/libraries/Transfer.sol\":{\"keccak256\":\"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11\",\"dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5\"]},\"lib/allo-v2/lib/solady/src/tokens/ERC20.sol\":{\"keccak256\":\"0x264e4675697d05dfb9bbe9cc91c6bda7962d934f1e940336fd75d509b7f396c4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5856338689f03f36c057203c5085243e104b8487274432062ebf076b512edeea\",\"dweb:/ipfs/QmXrqgaWQikKkHfoBkYPxeMTJWUY5uf7kSmipNbpU35XwK\"]},\"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol\":{\"keccak256\":\"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298\",\"dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt\"]},\"lib/allo-v2/test/foundry/shared/Accounts.sol\":{\"keccak256\":\"0x47c754ab744c6c9894aaff23cfbbe44bc30879a53fbbe8d36b1fee26137f2e3a\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://8e457b7adaf1ea79cc707e8a3e2989855f51ff98ebc1947b3239d7d410d5a07b\",\"dweb:/ipfs/QmSXASZ4u435D29T4UzKuh6kd8vLSrbSSgZzjnnhfwyv1m\"]},\"lib/allo-v2/test/foundry/shared/RegistrySetup.sol\":{\"keccak256\":\"0xb771e6d89c173abc626b0e6d30d1b2d8efed2c2b27cec3f49e9447c07b92622b\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://990cf93f5c90db3ab160c8a3b68b03561a7c2812b4c9763c901a3ac8b121ccdb\",\"dweb:/ipfs/QmeSruv7KW2ZeRe4iQnt1HA6jkAyu5GrohC4YRVZYMNz6j\"]},\"lib/forge-std/src/Base.sol\":{\"keccak256\":\"0x4ff1a785311017d1eedb1b4737956fa383067ad34eb439abfec1d989754dde1c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f553622969b9fdb930246704a4c10dfaee6b1a4468c142fa7eb9dc292a438224\",\"dweb:/ipfs/QmcxqHnqdQsMVtgsfH9VNLmZ3g7GhgNagfq7yvNCDcCHFK\"]},\"lib/forge-std/src/StdAssertions.sol\":{\"keccak256\":\"0xf513292ab066e6017db48ca749c1e63a44dfc5cba0326fc65c718f96e029d361\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://02d715ae2898f1fabd08133f80e6a7a3b87a2796ca5d23d1cb3fed9f4367f34c\",\"dweb:/ipfs/QmfESqa4j3PQAvvdfrnDQ1xUH1TnVCfvZYHsAEDK8z4X4k\"]},\"lib/forge-std/src/StdChains.sol\":{\"keccak256\":\"0x9cc29c28f49d0b7f7b2f1aa32d8273f8a087bf62eb3fb22d893df824052c25ef\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://42dcb36cb10b878a0d5b20ce3a4a3ba4f51f44d7731a66ac1133c699bc80b31b\",\"dweb:/ipfs/QmY6q7SaHQMLBb3rS6xZdArPaXoskWeqF6oJwUeZ3gKLZj\"]},\"lib/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0xb72f3519e0bf7d31df5d68557525f4fc55d861c3fb3b0f7793144ef7c94cbeb7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f3456d0f78e6f61203fa7871ba2df0d35925f10db3baee14be623ce2a35b84e2\",\"dweb:/ipfs/QmWE6QQSBvJifHMraisBTrf1x4WCwrDoTPLX8UKajTiApc\"]},\"lib/forge-std/src/StdError.sol\":{\"keccak256\":\"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6\",\"dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj\"]},\"lib/forge-std/src/StdInvariant.sol\":{\"keccak256\":\"0x67299bfacd77fddfa2a67b8e2b901e0e333618a4975fb94850b07475e51f6de6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1b61121d310f4053ce344b345b4a9ccf43b059daf9097ec2647f594beaca896d\",\"dweb:/ipfs/QmZUCoTtXBM9zfAZVbj2dFPPnKaV1CSZzXE7zictyg3Gfz\"]},\"lib/forge-std/src/StdJson.sol\":{\"keccak256\":\"0x62bed173cb126f6d5006706cf249bac8a2d51bfa18f773f314784ff18adc622d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5acc33dddbf2492e37dc32e89cd56ce917272d303a6874805f3a5768a6bfbf54\",\"dweb:/ipfs/QmTsgFhcpUf16gAVazUXU3WspgX8nHke2hzVCvoqS25WEp\"]},\"lib/forge-std/src/StdMath.sol\":{\"keccak256\":\"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92\",\"dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0x651d84d948832f0ef45686417aa68ffb871378fa788a4123dbf37844903c66f3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ff20f5ac9de3dc3ba86b1bf1f2723174e82ce3499ad67cb0ccfa7d28baeee678\",\"dweb:/ipfs/QmRZkUFKz7AmF7yk6o317sk822HHhGVPXZQgX8G4LfYfft\"]},\"lib/forge-std/src/StdStyle.sol\":{\"keccak256\":\"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8\",\"dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK\"]},\"lib/forge-std/src/StdToml.sol\":{\"keccak256\":\"0xc8a57915ace96f5b6a85b57e57690fc038cad9034a3dc368c11828a3707c61ab\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fa880a1a6e5d94005dcf4811b4c0df8d9c06407017ae111bd351483e2b76a72d\",\"dweb:/ipfs/QmcxkEE58gE1vDcZofTr8QpvdjXjgR72yYg7o4vTPSLCsy\"]},\"lib/forge-std/src/StdUtils.sol\":{\"keccak256\":\"0x502b18a4becda6ecd91fa8b419d8034946bfa80e6cc7f6497f51f8565bfadae0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bf499ee483a1dfd02023d4ce78ed4029a49794ccd5b849aaab912faea0d2ba61\",\"dweb:/ipfs/QmP6hwNZW7sYbQK9fBzuZWxfLm6Swx2nKzvZ54qWNqQkzX\"]},\"lib/forge-std/src/Test.sol\":{\"keccak256\":\"0x3b4bb409a156dee9ce261458117fe9f81080ca844a8a26c07c857c46d155effe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5792c69fe24bdc063a14e08fe68275007fdb1e5e7e343840a77938cb7e95a64e\",\"dweb:/ipfs/QmcAMhaurUwzhytJFYix4vRNeZeV8g27b8LnV3t7dvYtiK\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x51fec240abc6dd23e0ee6de7c65106379aef732cad6c4ae5df6b55db886e7456\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://a47d9c0a9876e7f9e411843b994a741d4ac1a87d8459ffc3c56359de691ddc1a\",\"dweb:/ipfs/QmQiFN9b3Y2azrD1RBfAKEuAG3YeJkMzA2DGzgEE9kMeEK\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]},\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0x954646445d1014c3cd85c7918f5e7adeeca5ee44b68c00bafa237e597a4e35ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://516fa3be52da4763147175bfba4be0aa011fadbb0c1afb01f97265bd4cee7973\",\"dweb:/ipfs/QmdixAyMJefx7qePChgdxcBH5MxhmN7vsqPuPLx3CgrVmF\"]},\"lib/forge-std/src/interfaces/IERC165.sol\":{\"keccak256\":\"0x414b2861b1acbf816ccb7346d3f16cf6c1e002e9e5e40d2f1f26fa5ddc2ea600\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://698352fb240868ea8f1d1fe389993035eeab930f10d06934f80ccfb2b6ccbfbc\",\"dweb:/ipfs/QmT6WLHAgXxFhh12kWym895oTzXid1326iZiwT3pyfggoT\"]},\"lib/forge-std/src/interfaces/IERC20.sol\":{\"keccak256\":\"0x4cab887298790f908c27de107e4e2907ca5413aee482ef776f8d2f353c5ef947\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb715e0c4a2bdbe432bb624501506041f06e878e0b72675aebba30ad2c2b72e7\",\"dweb:/ipfs/QmWhhLSvkxS2NrukJJHqFY8gDVE5r9rD4PfHvR24pwdKv9\"]},\"lib/forge-std/src/interfaces/IERC721.sol\":{\"keccak256\":\"0xf069262a264fdb69f8f37a10d2df7374649e9ba73f8414c9c8a3b51184625f15\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://924a41ca82a68ffbd503a5faf2f76d13e9938f10501a71094716f12bb64b4b7f\",\"dweb:/ipfs/QmdWnqfKc5ZGhmxNPTde4zrFchnv9Yk9MpCMb2rdhXE5gm\"]},\"lib/forge-std/src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0\",\"dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2\"]},\"lib/forge-std/src/mocks/MockERC20.sol\":{\"keccak256\":\"0xadbdfc6639edec00ba94bb1133a0fd8de31ccafe45c2ef5df9b3ca61b60b559b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc766f01bccf669abac8cc7b2096cc1352a66471ca3772ae61b1801dedc4ed4f\",\"dweb:/ipfs/QmNigaPj1LYkP7Z5xr4ijkUxr2K66fDGeoifG3WoM9ruyw\"]},\"lib/forge-std/src/mocks/MockERC721.sol\":{\"keccak256\":\"0x3293dcbb7acd28df553c954e4e39e288bf10aab7ecda8d50ef21b4f4a91a28d9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9eb374daf6df34f4392f8926f1fddbce9f22c423066aeaefdfbe77395f77967b\",\"dweb:/ipfs/QmWR81zBJRX2uyRjveGzikYPj6ZwKppWsU49YEQXTLWUsN\"]},\"lib/forge-std/src/safeconsole.sol\":{\"keccak256\":\"0xbaf41fdc6c54297e7cd8250e48b0f20eaac918e342a1028cef3f9a52ac086381\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a500ad81dea226f9910e6b50f99a9ff930105e393a692cbfb2185e4cdb4424ae\",\"dweb:/ipfs/QmVbUQpXNMmMWRiy4FvBNczzq46BMGfUoBikvSHNiCxVTq\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0xc8710577334e8d0799ae2b2a731b1924a7bddd64319da9787ddd2dc69bdd1ce5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b83b7afa4d2372da3ba5402fb10860a105c35d79812c60dc61007be2afc17618\",\"dweb:/ipfs/QmYX9xPmbNVSKXrepKiUZiG5oL3SdzFp9a4kqspxX1sEUx\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol\":{\"keccak256\":\"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c\",\"dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e\",\"dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b\",\"dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95\",\"dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol\":{\"keccak256\":\"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a\",\"dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0xd90d7723512df65ae417adaf0801042940f0dabd60039ceeaffe34aa5b238da1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1b13befeb3413749292f9fb229de1c7a509a5ce2c8047d9094fc004ca9d3af89\",\"dweb:/ipfs/QmRzJ2hZSwRtMejHUZAYTPRKgZsnfb112Fno9Jf3EiDfwA\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol\":{\"keccak256\":\"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758\",\"dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol\":{\"keccak256\":\"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91\",\"dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol\":{\"keccak256\":\"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4\",\"dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z\"]},\"lib/openzeppelin-contracts/contracts/token/ERC1155/IERC1155Receiver.sol\":{\"keccak256\":\"0xeb373f1fdc7b755c6a750123a9b9e3a8a02c1470042fd6505d875000a80bde0b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0e28648f994abf1d6bc345644a361cc0b7efa544f8bc0c8ec26011fed85a91ec\",\"dweb:/ipfs/QmVVE7AiRjKaQYYji7TkjmTeVzGpNmms5eoxqTCfvvpj6D\"]},\"lib/openzeppelin-contracts/contracts/token/ERC1155/utils/ERC1155Holder.sol\":{\"keccak256\":\"0x2e024ca51ce5abe16c0d34e6992a1104f356e2244eb4ccbec970435e8b3405e3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a74009db3c6fc8db851ba69ddb6795b5c1ef1120c5a00fd1a8dc3a717dd9d519\",\"dweb:/ipfs/QmZMk8Yh2X3gPS51ckUVLEXjZUhMSEeGApnA53WtjvLb9h\"]},\"lib/openzeppelin-contracts/contracts/token/ERC1155/utils/ERC1155Receiver.sol\":{\"keccak256\":\"0x3dd5e1a66a56f30302108a1da97d677a42b1daa60e503696b2bcbbf3e4c95bcb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0808de0ae4918c664643c885ca7fa6503e8ef2bd75609dfc85152c0128a3422d\",\"dweb:/ipfs/QmNrhFC1XgBKuuxfahFeiwi1MCdu3FLNpHj2uStgmf4iJj\"]},\"lib/openzeppelin-contracts/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708\",\"dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV\"]},\"lib/openzeppelin-contracts/contracts/token/ERC721/utils/ERC721Holder.sol\":{\"keccak256\":\"0x67ef46fef257faae47adb630aad49694dda0334e5f7a7c5fb386243b974886b5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c63284cf05ff845109190961e72ca27bd6a7b997f053d2ce21db83e9e285085c\",\"dweb:/ipfs/QmQBQVYJRzscToP6YaTRDvwYeLmr4V7kD1PjoG9mRpUYzU\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"string","name":"","type":"string","indexed":false}],"type":"event","name":"log","anonymous":false},{"inputs":[{"internalType":"address","name":"","type":"address","indexed":false}],"type":"event","name":"log_address","anonymous":false},{"inputs":[{"internalType":"uint256[]","name":"val","type":"uint256[]","indexed":false}],"type":"event","name":"log_array","anonymous":false},{"inputs":[{"internalType":"int256[]","name":"val","type":"int256[]","indexed":false}],"type":"event","name":"log_array","anonymous":false},{"inputs":[{"internalType":"address[]","name":"val","type":"address[]","indexed":false}],"type":"event","name":"log_array","anonymous":false},{"inputs":[{"internalType":"bytes","name":"","type":"bytes","indexed":false}],"type":"event","name":"log_bytes","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32","indexed":false}],"type":"event","name":"log_bytes32","anonymous":false},{"inputs":[{"internalType":"int256","name":"","type":"int256","indexed":false}],"type":"event","name":"log_int","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"address","name":"val","type":"address","indexed":false}],"type":"event","name":"log_named_address","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"uint256[]","name":"val","type":"uint256[]","indexed":false}],"type":"event","name":"log_named_array","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"int256[]","name":"val","type":"int256[]","indexed":false}],"type":"event","name":"log_named_array","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"address[]","name":"val","type":"address[]","indexed":false}],"type":"event","name":"log_named_array","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"bytes","name":"val","type":"bytes","indexed":false}],"type":"event","name":"log_named_bytes","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"bytes32","name":"val","type":"bytes32","indexed":false}],"type":"event","name":"log_named_bytes32","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"int256","name":"val","type":"int256","indexed":false},{"internalType":"uint256","name":"decimals","type":"uint256","indexed":false}],"type":"event","name":"log_named_decimal_int","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"uint256","name":"val","type":"uint256","indexed":false},{"internalType":"uint256","name":"decimals","type":"uint256","indexed":false}],"type":"event","name":"log_named_decimal_uint","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"int256","name":"val","type":"int256","indexed":false}],"type":"event","name":"log_named_int","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"string","name":"val","type":"string","indexed":false}],"type":"event","name":"log_named_string","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"uint256","name":"val","type":"uint256","indexed":false}],"type":"event","name":"log_named_uint","anonymous":false},{"inputs":[{"internalType":"string","name":"","type":"string","indexed":false}],"type":"event","name":"log_string","anonymous":false},{"inputs":[{"internalType":"uint256","name":"","type":"uint256","indexed":false}],"type":"event","name":"log_uint","anonymous":false},{"inputs":[{"internalType":"bytes","name":"","type":"bytes","indexed":false}],"type":"event","name":"logs","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"IS_TEST","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"allo_owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"allo_treasury","outputs":[{"internalType":"address payable","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"excludeArtifacts","outputs":[{"internalType":"string[]","name":"excludedArtifacts_","type":"string[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"excludeContracts","outputs":[{"internalType":"address[]","name":"excludedContracts_","type":"address[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"excludeSenders","outputs":[{"internalType":"address[]","name":"excludedSenders_","type":"address[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"failed","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"local","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"no_recipient","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"nullProfile_member1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"nullProfile_member2","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"nullProfile_members","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"nullProfile_notAMember","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"nullProfile_owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pool_admin","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pool_manager1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pool_manager2","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pool_managers","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pool_notAManager","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile1_member1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile1_member2","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile1_members","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile1_notAMember","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile1_owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile2_member1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile2_member2","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile2_members","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile2_notAMember","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile2_owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"randomAddress","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"recipient","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"recipient1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"recipient2","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"recipientAddress","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"registry","outputs":[{"internalType":"contract Registry","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"registry_owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetArtifactSelectors","outputs":[{"internalType":"struct StdInvariant.FuzzSelector[]","name":"targetedArtifactSelectors_","type":"tuple[]","components":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"bytes4[]","name":"selectors","type":"bytes4[]"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetArtifacts","outputs":[{"internalType":"string[]","name":"targetedArtifacts_","type":"string[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetContracts","outputs":[{"internalType":"address[]","name":"targetedContracts_","type":"address[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetInterfaces","outputs":[{"internalType":"struct StdInvariant.FuzzInterface[]","name":"targetedInterfaces_","type":"tuple[]","components":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"string[]","name":"artifacts","type":"string[]"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetSelectors","outputs":[{"internalType":"struct StdInvariant.FuzzSelector[]","name":"targetedSelectors_","type":"tuple[]","components":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"bytes4[]","name":"selectors","type":"bytes4[]"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetSenders","outputs":[{"internalType":"address[]","name":"targetedSenders_","type":"address[]"}]}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","eas-proxy/=lib/allo-v2/lib/eas-proxy/contracts/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","hedgey-vesting/=lib/allo-v2/lib/hedgey-vesting/contracts/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-contracts/=lib/safe-contracts/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","superfluid-protocol-monorepo/=lib/allo-v2/lib/superfluid-protocol-monorepo/packages/solidity-semantic-money/src/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":1000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib/allo-v2/test/foundry/shared/RegistrySetup.sol":"RegistrySetup"},"evmVersion":"paris","libraries":{}},"sources":{"lib/allo-v2/contracts/core/Anchor.sol":{"keccak256":"0x6f470a8d0bab0848d3c3b7fb076b4001ff8b6bfd18f4bd6691a50ee6a13910cd","urls":["bzz-raw://4ed2ae6e417c282a07088fa9a30325fe5b2fa6d406ec02dc1df63027e82ec139","dweb:/ipfs/QmdVDTJKzjJqkygZ9768krrVQicLZTJVrZXbvet7KsmT8H"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/Registry.sol":{"keccak256":"0xb4fb0c6d9eb0f27dd6f6099f2832054a0b194ce420c6870deb5a7a94dd88b998","urls":["bzz-raw://0e82595dcff5471f50e67cc35f73dbc1c9344eac1ee9b42235372bd23ceee283","dweb:/ipfs/QmS34kQKRBaE7ih8c5upBb11bg3QtjunvctxKYNrtfGWhR"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/interfaces/IRegistry.sol":{"keccak256":"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f","urls":["bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e","dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA"],"license":"MIT"},"lib/allo-v2/contracts/core/libraries/Errors.sol":{"keccak256":"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15","urls":["bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf","dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Metadata.sol":{"keccak256":"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44","urls":["bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c","dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Native.sol":{"keccak256":"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5","urls":["bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a","dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Transfer.sol":{"keccak256":"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286","urls":["bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11","dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5"],"license":"AGPL-3.0-only"},"lib/allo-v2/lib/solady/src/tokens/ERC20.sol":{"keccak256":"0x264e4675697d05dfb9bbe9cc91c6bda7962d934f1e940336fd75d509b7f396c4","urls":["bzz-raw://5856338689f03f36c057203c5085243e104b8487274432062ebf076b512edeea","dweb:/ipfs/QmXrqgaWQikKkHfoBkYPxeMTJWUY5uf7kSmipNbpU35XwK"],"license":"MIT"},"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol":{"keccak256":"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624","urls":["bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298","dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt"],"license":"MIT"},"lib/allo-v2/test/foundry/shared/Accounts.sol":{"keccak256":"0x47c754ab744c6c9894aaff23cfbbe44bc30879a53fbbe8d36b1fee26137f2e3a","urls":["bzz-raw://8e457b7adaf1ea79cc707e8a3e2989855f51ff98ebc1947b3239d7d410d5a07b","dweb:/ipfs/QmSXASZ4u435D29T4UzKuh6kd8vLSrbSSgZzjnnhfwyv1m"],"license":"AGPL-3.0-only"},"lib/allo-v2/test/foundry/shared/RegistrySetup.sol":{"keccak256":"0xb771e6d89c173abc626b0e6d30d1b2d8efed2c2b27cec3f49e9447c07b92622b","urls":["bzz-raw://990cf93f5c90db3ab160c8a3b68b03561a7c2812b4c9763c901a3ac8b121ccdb","dweb:/ipfs/QmeSruv7KW2ZeRe4iQnt1HA6jkAyu5GrohC4YRVZYMNz6j"],"license":"AGPL-3.0-only"},"lib/forge-std/src/Base.sol":{"keccak256":"0x4ff1a785311017d1eedb1b4737956fa383067ad34eb439abfec1d989754dde1c","urls":["bzz-raw://f553622969b9fdb930246704a4c10dfaee6b1a4468c142fa7eb9dc292a438224","dweb:/ipfs/QmcxqHnqdQsMVtgsfH9VNLmZ3g7GhgNagfq7yvNCDcCHFK"],"license":"MIT"},"lib/forge-std/src/StdAssertions.sol":{"keccak256":"0xf513292ab066e6017db48ca749c1e63a44dfc5cba0326fc65c718f96e029d361","urls":["bzz-raw://02d715ae2898f1fabd08133f80e6a7a3b87a2796ca5d23d1cb3fed9f4367f34c","dweb:/ipfs/QmfESqa4j3PQAvvdfrnDQ1xUH1TnVCfvZYHsAEDK8z4X4k"],"license":"MIT"},"lib/forge-std/src/StdChains.sol":{"keccak256":"0x9cc29c28f49d0b7f7b2f1aa32d8273f8a087bf62eb3fb22d893df824052c25ef","urls":["bzz-raw://42dcb36cb10b878a0d5b20ce3a4a3ba4f51f44d7731a66ac1133c699bc80b31b","dweb:/ipfs/QmY6q7SaHQMLBb3rS6xZdArPaXoskWeqF6oJwUeZ3gKLZj"],"license":"MIT"},"lib/forge-std/src/StdCheats.sol":{"keccak256":"0xb72f3519e0bf7d31df5d68557525f4fc55d861c3fb3b0f7793144ef7c94cbeb7","urls":["bzz-raw://f3456d0f78e6f61203fa7871ba2df0d35925f10db3baee14be623ce2a35b84e2","dweb:/ipfs/QmWE6QQSBvJifHMraisBTrf1x4WCwrDoTPLX8UKajTiApc"],"license":"MIT"},"lib/forge-std/src/StdError.sol":{"keccak256":"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77","urls":["bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6","dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj"],"license":"MIT"},"lib/forge-std/src/StdInvariant.sol":{"keccak256":"0x67299bfacd77fddfa2a67b8e2b901e0e333618a4975fb94850b07475e51f6de6","urls":["bzz-raw://1b61121d310f4053ce344b345b4a9ccf43b059daf9097ec2647f594beaca896d","dweb:/ipfs/QmZUCoTtXBM9zfAZVbj2dFPPnKaV1CSZzXE7zictyg3Gfz"],"license":"MIT"},"lib/forge-std/src/StdJson.sol":{"keccak256":"0x62bed173cb126f6d5006706cf249bac8a2d51bfa18f773f314784ff18adc622d","urls":["bzz-raw://5acc33dddbf2492e37dc32e89cd56ce917272d303a6874805f3a5768a6bfbf54","dweb:/ipfs/QmTsgFhcpUf16gAVazUXU3WspgX8nHke2hzVCvoqS25WEp"],"license":"MIT"},"lib/forge-std/src/StdMath.sol":{"keccak256":"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2","urls":["bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92","dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC"],"license":"MIT"},"lib/forge-std/src/StdStorage.sol":{"keccak256":"0x651d84d948832f0ef45686417aa68ffb871378fa788a4123dbf37844903c66f3","urls":["bzz-raw://ff20f5ac9de3dc3ba86b1bf1f2723174e82ce3499ad67cb0ccfa7d28baeee678","dweb:/ipfs/QmRZkUFKz7AmF7yk6o317sk822HHhGVPXZQgX8G4LfYfft"],"license":"MIT"},"lib/forge-std/src/StdStyle.sol":{"keccak256":"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d","urls":["bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8","dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK"],"license":"MIT"},"lib/forge-std/src/StdToml.sol":{"keccak256":"0xc8a57915ace96f5b6a85b57e57690fc038cad9034a3dc368c11828a3707c61ab","urls":["bzz-raw://fa880a1a6e5d94005dcf4811b4c0df8d9c06407017ae111bd351483e2b76a72d","dweb:/ipfs/QmcxkEE58gE1vDcZofTr8QpvdjXjgR72yYg7o4vTPSLCsy"],"license":"MIT"},"lib/forge-std/src/StdUtils.sol":{"keccak256":"0x502b18a4becda6ecd91fa8b419d8034946bfa80e6cc7f6497f51f8565bfadae0","urls":["bzz-raw://bf499ee483a1dfd02023d4ce78ed4029a49794ccd5b849aaab912faea0d2ba61","dweb:/ipfs/QmP6hwNZW7sYbQK9fBzuZWxfLm6Swx2nKzvZ54qWNqQkzX"],"license":"MIT"},"lib/forge-std/src/Test.sol":{"keccak256":"0x3b4bb409a156dee9ce261458117fe9f81080ca844a8a26c07c857c46d155effe","urls":["bzz-raw://5792c69fe24bdc063a14e08fe68275007fdb1e5e7e343840a77938cb7e95a64e","dweb:/ipfs/QmcAMhaurUwzhytJFYix4vRNeZeV8g27b8LnV3t7dvYtiK"],"license":"MIT"},"lib/forge-std/src/Vm.sol":{"keccak256":"0x51fec240abc6dd23e0ee6de7c65106379aef732cad6c4ae5df6b55db886e7456","urls":["bzz-raw://a47d9c0a9876e7f9e411843b994a741d4ac1a87d8459ffc3c56359de691ddc1a","dweb:/ipfs/QmQiFN9b3Y2azrD1RBfAKEuAG3YeJkMzA2DGzgEE9kMeEK"],"license":"MIT OR Apache-2.0"},"lib/forge-std/src/console.sol":{"keccak256":"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba","urls":["bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70","dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec"],"license":"MIT"},"lib/forge-std/src/console2.sol":{"keccak256":"0x954646445d1014c3cd85c7918f5e7adeeca5ee44b68c00bafa237e597a4e35ea","urls":["bzz-raw://516fa3be52da4763147175bfba4be0aa011fadbb0c1afb01f97265bd4cee7973","dweb:/ipfs/QmdixAyMJefx7qePChgdxcBH5MxhmN7vsqPuPLx3CgrVmF"],"license":"MIT"},"lib/forge-std/src/interfaces/IERC165.sol":{"keccak256":"0x414b2861b1acbf816ccb7346d3f16cf6c1e002e9e5e40d2f1f26fa5ddc2ea600","urls":["bzz-raw://698352fb240868ea8f1d1fe389993035eeab930f10d06934f80ccfb2b6ccbfbc","dweb:/ipfs/QmT6WLHAgXxFhh12kWym895oTzXid1326iZiwT3pyfggoT"],"license":"MIT"},"lib/forge-std/src/interfaces/IERC20.sol":{"keccak256":"0x4cab887298790f908c27de107e4e2907ca5413aee482ef776f8d2f353c5ef947","urls":["bzz-raw://bb715e0c4a2bdbe432bb624501506041f06e878e0b72675aebba30ad2c2b72e7","dweb:/ipfs/QmWhhLSvkxS2NrukJJHqFY8gDVE5r9rD4PfHvR24pwdKv9"],"license":"MIT"},"lib/forge-std/src/interfaces/IERC721.sol":{"keccak256":"0xf069262a264fdb69f8f37a10d2df7374649e9ba73f8414c9c8a3b51184625f15","urls":["bzz-raw://924a41ca82a68ffbd503a5faf2f76d13e9938f10501a71094716f12bb64b4b7f","dweb:/ipfs/QmdWnqfKc5ZGhmxNPTde4zrFchnv9Yk9MpCMb2rdhXE5gm"],"license":"MIT"},"lib/forge-std/src/interfaces/IMulticall3.sol":{"keccak256":"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a","urls":["bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0","dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2"],"license":"MIT"},"lib/forge-std/src/mocks/MockERC20.sol":{"keccak256":"0xadbdfc6639edec00ba94bb1133a0fd8de31ccafe45c2ef5df9b3ca61b60b559b","urls":["bzz-raw://bc766f01bccf669abac8cc7b2096cc1352a66471ca3772ae61b1801dedc4ed4f","dweb:/ipfs/QmNigaPj1LYkP7Z5xr4ijkUxr2K66fDGeoifG3WoM9ruyw"],"license":"MIT"},"lib/forge-std/src/mocks/MockERC721.sol":{"keccak256":"0x3293dcbb7acd28df553c954e4e39e288bf10aab7ecda8d50ef21b4f4a91a28d9","urls":["bzz-raw://9eb374daf6df34f4392f8926f1fddbce9f22c423066aeaefdfbe77395f77967b","dweb:/ipfs/QmWR81zBJRX2uyRjveGzikYPj6ZwKppWsU49YEQXTLWUsN"],"license":"MIT"},"lib/forge-std/src/safeconsole.sol":{"keccak256":"0xbaf41fdc6c54297e7cd8250e48b0f20eaac918e342a1028cef3f9a52ac086381","urls":["bzz-raw://a500ad81dea226f9910e6b50f99a9ff930105e393a692cbfb2185e4cdb4424ae","dweb:/ipfs/QmVbUQpXNMmMWRiy4FvBNczzq46BMGfUoBikvSHNiCxVTq"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol":{"keccak256":"0xc8710577334e8d0799ae2b2a731b1924a7bddd64319da9787ddd2dc69bdd1ce5","urls":["bzz-raw://b83b7afa4d2372da3ba5402fb10860a105c35d79812c60dc61007be2afc17618","dweb:/ipfs/QmYX9xPmbNVSKXrepKiUZiG5oL3SdzFp9a4kqspxX1sEUx"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol":{"keccak256":"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa","urls":["bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c","dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794","urls":["bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e","dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol":{"keccak256":"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422","urls":["bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b","dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef","urls":["bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95","dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol":{"keccak256":"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb","urls":["bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a","dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol":{"keccak256":"0xd90d7723512df65ae417adaf0801042940f0dabd60039ceeaffe34aa5b238da1","urls":["bzz-raw://1b13befeb3413749292f9fb229de1c7a509a5ce2c8047d9094fc004ca9d3af89","dweb:/ipfs/QmRzJ2hZSwRtMejHUZAYTPRKgZsnfb112Fno9Jf3EiDfwA"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol":{"keccak256":"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09","urls":["bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758","dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol":{"keccak256":"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e","urls":["bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91","dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol":{"keccak256":"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a","urls":["bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4","dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC1155/IERC1155Receiver.sol":{"keccak256":"0xeb373f1fdc7b755c6a750123a9b9e3a8a02c1470042fd6505d875000a80bde0b","urls":["bzz-raw://0e28648f994abf1d6bc345644a361cc0b7efa544f8bc0c8ec26011fed85a91ec","dweb:/ipfs/QmVVE7AiRjKaQYYji7TkjmTeVzGpNmms5eoxqTCfvvpj6D"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC1155/utils/ERC1155Holder.sol":{"keccak256":"0x2e024ca51ce5abe16c0d34e6992a1104f356e2244eb4ccbec970435e8b3405e3","urls":["bzz-raw://a74009db3c6fc8db851ba69ddb6795b5c1ef1120c5a00fd1a8dc3a717dd9d519","dweb:/ipfs/QmZMk8Yh2X3gPS51ckUVLEXjZUhMSEeGApnA53WtjvLb9h"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC1155/utils/ERC1155Receiver.sol":{"keccak256":"0x3dd5e1a66a56f30302108a1da97d677a42b1daa60e503696b2bcbbf3e4c95bcb","urls":["bzz-raw://0808de0ae4918c664643c885ca7fa6503e8ef2bd75609dfc85152c0128a3422d","dweb:/ipfs/QmNrhFC1XgBKuuxfahFeiwi1MCdu3FLNpHj2uStgmf4iJj"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC721/IERC721Receiver.sol":{"keccak256":"0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da","urls":["bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708","dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC721/utils/ERC721Holder.sol":{"keccak256":"0x67ef46fef257faae47adb630aad49694dda0334e5f7a7c5fb386243b974886b5","urls":["bzz-raw://c63284cf05ff845109190961e72ca27bd6a7b997f053d2ce21db83e9e285085c","dweb:/ipfs/QmQBQVYJRzscToP6YaTRDvwYeLmr4V7kD1PjoG9mRpUYzU"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol":{"keccak256":"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b","urls":["bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d","dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"}},"version":1},"storageLayout":{"storage":[{"astId":5830,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"stdstore","offset":0,"slot":"0","type":"t_struct(StdStorage)13235_storage"},{"astId":6026,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"_failed","offset":0,"slot":"8","type":"t_bool"},{"astId":8527,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"stdChainsInitialized","offset":1,"slot":"8","type":"t_bool"},{"astId":8548,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"chains","offset":0,"slot":"9","type":"t_mapping(t_string_memory_ptr,t_struct(Chain)8543_storage)"},{"astId":8552,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"defaultRpcUrls","offset":0,"slot":"10","type":"t_mapping(t_string_memory_ptr,t_string_storage)"},{"astId":8556,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"idToAlias","offset":0,"slot":"11","type":"t_mapping(t_uint256,t_string_storage)"},{"astId":8559,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"fallbackToDefaultRpcUrls","offset":0,"slot":"12","type":"t_bool"},{"astId":9317,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"gasMeteringOff","offset":1,"slot":"12","type":"t_bool"},{"astId":11354,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"stdstore","offset":0,"slot":"13","type":"t_struct(StdStorage)13235_storage"},{"astId":12222,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"_excludedContracts","offset":0,"slot":"21","type":"t_array(t_address)dyn_storage"},{"astId":12225,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"_excludedSenders","offset":0,"slot":"22","type":"t_array(t_address)dyn_storage"},{"astId":12228,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"_targetedContracts","offset":0,"slot":"23","type":"t_array(t_address)dyn_storage"},{"astId":12231,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"_targetedSenders","offset":0,"slot":"24","type":"t_array(t_address)dyn_storage"},{"astId":12234,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"_excludedArtifacts","offset":0,"slot":"25","type":"t_array(t_string_storage)dyn_storage"},{"astId":12237,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"_targetedArtifacts","offset":0,"slot":"26","type":"t_array(t_string_storage)dyn_storage"},{"astId":12241,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"_targetedArtifactSelectors","offset":0,"slot":"27","type":"t_array(t_struct(FuzzSelector)12213_storage)dyn_storage"},{"astId":12245,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"_targetedSelectors","offset":0,"slot":"28","type":"t_array(t_struct(FuzzSelector)12213_storage)dyn_storage"},{"astId":12249,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"_targetedInterfaces","offset":0,"slot":"29","type":"t_array(t_struct(FuzzInterface)12219_storage)dyn_storage"},{"astId":17834,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"IS_TEST","offset":0,"slot":"30","type":"t_bool"},{"astId":5104,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"_registry_","offset":1,"slot":"30","type":"t_contract(Registry)2295"}],"types":{"t_address":{"encoding":"inplace","label":"address","numberOfBytes":"20"},"t_array(t_address)dyn_storage":{"encoding":"dynamic_array","label":"address[]","numberOfBytes":"32","base":"t_address"},"t_array(t_bytes32)dyn_storage":{"encoding":"dynamic_array","label":"bytes32[]","numberOfBytes":"32","base":"t_bytes32"},"t_array(t_bytes4)dyn_storage":{"encoding":"dynamic_array","label":"bytes4[]","numberOfBytes":"32","base":"t_bytes4"},"t_array(t_string_storage)dyn_storage":{"encoding":"dynamic_array","label":"string[]","numberOfBytes":"32","base":"t_string_storage"},"t_array(t_struct(FuzzInterface)12219_storage)dyn_storage":{"encoding":"dynamic_array","label":"struct StdInvariant.FuzzInterface[]","numberOfBytes":"32","base":"t_struct(FuzzInterface)12219_storage"},"t_array(t_struct(FuzzSelector)12213_storage)dyn_storage":{"encoding":"dynamic_array","label":"struct StdInvariant.FuzzSelector[]","numberOfBytes":"32","base":"t_struct(FuzzSelector)12213_storage"},"t_bool":{"encoding":"inplace","label":"bool","numberOfBytes":"1"},"t_bytes32":{"encoding":"inplace","label":"bytes32","numberOfBytes":"32"},"t_bytes4":{"encoding":"inplace","label":"bytes4","numberOfBytes":"4"},"t_bytes_storage":{"encoding":"bytes","label":"bytes","numberOfBytes":"32"},"t_contract(Registry)2295":{"encoding":"inplace","label":"contract Registry","numberOfBytes":"20"},"t_mapping(t_address,t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)13210_storage)))":{"encoding":"mapping","key":"t_address","label":"mapping(address => mapping(bytes4 => mapping(bytes32 => struct FindData)))","numberOfBytes":"32","value":"t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)13210_storage))"},"t_mapping(t_bytes32,t_struct(FindData)13210_storage)":{"encoding":"mapping","key":"t_bytes32","label":"mapping(bytes32 => struct FindData)","numberOfBytes":"32","value":"t_struct(FindData)13210_storage"},"t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)13210_storage))":{"encoding":"mapping","key":"t_bytes4","label":"mapping(bytes4 => mapping(bytes32 => struct FindData))","numberOfBytes":"32","value":"t_mapping(t_bytes32,t_struct(FindData)13210_storage)"},"t_mapping(t_string_memory_ptr,t_string_storage)":{"encoding":"mapping","key":"t_string_memory_ptr","label":"mapping(string => string)","numberOfBytes":"32","value":"t_string_storage"},"t_mapping(t_string_memory_ptr,t_struct(Chain)8543_storage)":{"encoding":"mapping","key":"t_string_memory_ptr","label":"mapping(string => struct StdChains.Chain)","numberOfBytes":"32","value":"t_struct(Chain)8543_storage"},"t_mapping(t_uint256,t_string_storage)":{"encoding":"mapping","key":"t_uint256","label":"mapping(uint256 => string)","numberOfBytes":"32","value":"t_string_storage"},"t_string_memory_ptr":{"encoding":"bytes","label":"string","numberOfBytes":"32"},"t_string_storage":{"encoding":"bytes","label":"string","numberOfBytes":"32"},"t_struct(Chain)8543_storage":{"encoding":"inplace","label":"struct StdChains.Chain","numberOfBytes":"128","members":[{"astId":8536,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"name","offset":0,"slot":"0","type":"t_string_storage"},{"astId":8538,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"chainId","offset":0,"slot":"1","type":"t_uint256"},{"astId":8540,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"chainAlias","offset":0,"slot":"2","type":"t_string_storage"},{"astId":8542,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"rpcUrl","offset":0,"slot":"3","type":"t_string_storage"}]},"t_struct(FindData)13210_storage":{"encoding":"inplace","label":"struct FindData","numberOfBytes":"128","members":[{"astId":13203,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"slot","offset":0,"slot":"0","type":"t_uint256"},{"astId":13205,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"offsetLeft","offset":0,"slot":"1","type":"t_uint256"},{"astId":13207,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"offsetRight","offset":0,"slot":"2","type":"t_uint256"},{"astId":13209,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"found","offset":0,"slot":"3","type":"t_bool"}]},"t_struct(FuzzInterface)12219_storage":{"encoding":"inplace","label":"struct StdInvariant.FuzzInterface","numberOfBytes":"64","members":[{"astId":12215,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"addr","offset":0,"slot":"0","type":"t_address"},{"astId":12218,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"artifacts","offset":0,"slot":"1","type":"t_array(t_string_storage)dyn_storage"}]},"t_struct(FuzzSelector)12213_storage":{"encoding":"inplace","label":"struct StdInvariant.FuzzSelector","numberOfBytes":"64","members":[{"astId":12209,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"addr","offset":0,"slot":"0","type":"t_address"},{"astId":12212,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"selectors","offset":0,"slot":"1","type":"t_array(t_bytes4)dyn_storage"}]},"t_struct(StdStorage)13235_storage":{"encoding":"inplace","label":"struct StdStorage","numberOfBytes":"256","members":[{"astId":13219,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"finds","offset":0,"slot":"0","type":"t_mapping(t_address,t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)13210_storage)))"},{"astId":13222,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"_keys","offset":0,"slot":"1","type":"t_array(t_bytes32)dyn_storage"},{"astId":13224,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"_sig","offset":0,"slot":"2","type":"t_bytes4"},{"astId":13226,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"_depth","offset":0,"slot":"3","type":"t_uint256"},{"astId":13228,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"_target","offset":0,"slot":"4","type":"t_address"},{"astId":13230,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"_set","offset":0,"slot":"5","type":"t_bytes32"},{"astId":13232,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"_enable_packed_slots","offset":0,"slot":"6","type":"t_bool"},{"astId":13234,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetup","label":"_calldata","offset":0,"slot":"7","type":"t_bytes_storage"}]},"t_uint256":{"encoding":"inplace","label":"uint256","numberOfBytes":"32"}}},"ast":{"absolutePath":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol","id":5297,"exportedSymbols":{"Accounts":[5026],"Metadata":[3098],"Registry":[2295],"RegistrySetup":[5132],"RegistrySetupFull":[5296],"StdAssertions":[8503],"StdChains":[9285],"StdCheats":[12138],"StdInvariant":[12463],"StdStorage":[13235],"StdStyle":[16405],"StdUtils":[17783],"Test":[17835],"TestBase":[5834],"Vm":[21485],"console":[29549],"console2":[37674],"safeconsole":[52399],"stdError":[12204],"stdJson":[13055],"stdMath":[13197],"stdStorage":[15194],"stdToml":[16997]},"nodeType":"SourceUnit","src":"42:2823:17","nodes":[{"id":5089,"nodeType":"PragmaDirective","src":"42:24:17","nodes":[],"literals":["solidity","^","0.8",".19"]},{"id":5090,"nodeType":"ImportDirective","src":"68:28:17","nodes":[],"absolutePath":"lib/forge-std/src/Test.sol","file":"forge-std/Test.sol","nameLocation":"-1:-1:-1","scope":5297,"sourceUnit":17836,"symbolAliases":[],"unitAlias":""},{"id":5092,"nodeType":"ImportDirective","src":"98:62:17","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/Registry.sol","file":"../../../contracts/core/Registry.sol","nameLocation":"-1:-1:-1","scope":5297,"sourceUnit":2296,"symbolAliases":[{"foreign":{"id":5091,"name":"Registry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2295,"src":"106:8:17","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":5094,"nodeType":"ImportDirective","src":"161:72:17","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/libraries/Metadata.sol","file":"../../../contracts/core/libraries/Metadata.sol","nameLocation":"-1:-1:-1","scope":5297,"sourceUnit":3099,"symbolAliases":[{"foreign":{"id":5093,"name":"Metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3098,"src":"169:8:17","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":5096,"nodeType":"ImportDirective","src":"234:40:17","nodes":[],"absolutePath":"lib/allo-v2/test/foundry/shared/Accounts.sol","file":"./Accounts.sol","nameLocation":"-1:-1:-1","scope":5297,"sourceUnit":5027,"symbolAliases":[{"foreign":{"id":5095,"name":"Accounts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5026,"src":"242:8:17","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":5132,"nodeType":"ContractDefinition","src":"393:304:17","nodes":[{"id":5104,"nodeType":"VariableDeclaration","src":"440:28:17","nodes":[],"constant":false,"mutability":"mutable","name":"_registry_","nameLocation":"458:10:17","scope":5132,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"},"typeName":{"id":5103,"nodeType":"UserDefinedTypeName","pathNode":{"id":5102,"name":"Registry","nameLocations":["440:8:17"],"nodeType":"IdentifierPath","referencedDeclaration":2295,"src":"440:8:17"},"referencedDeclaration":2295,"src":"440:8:17","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}},"visibility":"internal"},{"id":5122,"nodeType":"FunctionDefinition","src":"475:129:17","nodes":[],"body":{"id":5121,"nodeType":"Block","src":"511:93:17","nodes":[],"statements":[{"expression":{"id":5112,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":5107,"name":"_registry_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5104,"src":"521:10:17","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[],"expression":{"argumentTypes":[],"id":5110,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"534:12:17","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$__$returns$_t_contract$_Registry_$2295_$","typeString":"function () returns (contract Registry)"},"typeName":{"id":5109,"nodeType":"UserDefinedTypeName","pathNode":{"id":5108,"name":"Registry","nameLocations":["538:8:17"],"nodeType":"IdentifierPath","referencedDeclaration":2295,"src":"538:8:17"},"referencedDeclaration":2295,"src":"538:8:17","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}}},"id":5111,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"534:14:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}},"src":"521:27:17","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}},"id":5113,"nodeType":"ExpressionStatement","src":"521:27:17"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":5117,"name":"registry_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4675,"src":"580:14:17","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":5118,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"580:16:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":5114,"name":"_registry_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5104,"src":"558:10:17","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}},"id":5116,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"569:10:17","memberName":"initialize","nodeType":"MemberAccess","referencedDeclaration":1578,"src":"558:21:17","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":5119,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"558:39:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5120,"nodeType":"ExpressionStatement","src":"558:39:17"}]},"implemented":true,"kind":"function","modifiers":[],"name":"__RegistrySetup","nameLocation":"484:15:17","parameters":{"id":5105,"nodeType":"ParameterList","parameters":[],"src":"499:2:17"},"returnParameters":{"id":5106,"nodeType":"ParameterList","parameters":[],"src":"511:0:17"},"scope":5132,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":5131,"nodeType":"FunctionDefinition","src":"610:85:17","nodes":[],"body":{"id":5130,"nodeType":"Block","src":"661:34:17","nodes":[],"statements":[{"expression":{"id":5128,"name":"_registry_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5104,"src":"678:10:17","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}},"functionReturnParameters":5127,"id":5129,"nodeType":"Return","src":"671:17:17"}]},"functionSelector":"7b103999","implemented":true,"kind":"function","modifiers":[],"name":"registry","nameLocation":"619:8:17","parameters":{"id":5123,"nodeType":"ParameterList","parameters":[],"src":"627:2:17"},"returnParameters":{"id":5127,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5126,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5131,"src":"651:8:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"},"typeName":{"id":5125,"nodeType":"UserDefinedTypeName","pathNode":{"id":5124,"name":"Registry","nameLocations":["651:8:17"],"nodeType":"IdentifierPath","referencedDeclaration":2295,"src":"651:8:17"},"referencedDeclaration":2295,"src":"651:8:17","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}},"visibility":"internal"}],"src":"650:10:17"},"scope":5132,"stateMutability":"view","virtual":false,"visibility":"public"}],"abstract":false,"baseContracts":[{"baseName":{"id":5098,"name":"Test","nameLocations":["419:4:17"],"nodeType":"IdentifierPath","referencedDeclaration":17835,"src":"419:4:17"},"id":5099,"nodeType":"InheritanceSpecifier","src":"419:4:17"},{"baseName":{"id":5100,"name":"Accounts","nameLocations":["425:8:17"],"nodeType":"IdentifierPath","referencedDeclaration":5026,"src":"425:8:17"},"id":5101,"nodeType":"InheritanceSpecifier","src":"425:8:17"}],"canonicalName":"RegistrySetup","contractDependencies":[],"contractKind":"contract","documentation":{"id":5097,"nodeType":"StructuredDocumentation","src":"276:117:17","text":"@title RegistrySetup\n @notice This contract is used to setup an empty Registry contract for testing purposes."},"fullyImplemented":true,"linearizedBaseContracts":[5132,5026,17835,17783,12463,12138,11345,9285,8503,5834,5831],"name":"RegistrySetup","nameLocation":"402:13:17","scope":5297,"usedErrors":[]},{"id":5296,"nodeType":"ContractDefinition","src":"833:2031:17","nodes":[{"id":5137,"nodeType":"VariableDeclaration","src":"883:32:17","nodes":[],"constant":false,"mutability":"mutable","name":"_poolProfileId_","nameLocation":"900:15:17","scope":5296,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":5136,"name":"bytes32","nodeType":"ElementaryTypeName","src":"883:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"id":5139,"nodeType":"VariableDeclaration","src":"921:36:17","nodes":[],"constant":false,"mutability":"mutable","name":"_poolProfileAnchor_","nameLocation":"938:19:17","scope":5296,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5138,"name":"address","nodeType":"ElementaryTypeName","src":"921:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"id":5141,"nodeType":"VariableDeclaration","src":"964:29:17","nodes":[],"constant":false,"mutability":"mutable","name":"_profile1Id_","nameLocation":"981:12:17","scope":5296,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":5140,"name":"bytes32","nodeType":"ElementaryTypeName","src":"964:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"id":5143,"nodeType":"VariableDeclaration","src":"999:33:17","nodes":[],"constant":false,"mutability":"mutable","name":"_profile1Anchor_","nameLocation":"1016:16:17","scope":5296,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5142,"name":"address","nodeType":"ElementaryTypeName","src":"999:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"id":5145,"nodeType":"VariableDeclaration","src":"1039:29:17","nodes":[],"constant":false,"mutability":"mutable","name":"_profile2Id_","nameLocation":"1056:12:17","scope":5296,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":5144,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1039:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"id":5147,"nodeType":"VariableDeclaration","src":"1074:33:17","nodes":[],"constant":false,"mutability":"mutable","name":"_profile2Anchor_","nameLocation":"1091:16:17","scope":5296,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5146,"name":"address","nodeType":"ElementaryTypeName","src":"1074:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"id":5247,"nodeType":"FunctionDefinition","src":"1114:930:17","nodes":[],"body":{"id":5246,"nodeType":"Block","src":"1154:890:17","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":5150,"name":"__RegistrySetup","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5122,"src":"1164:15:17","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":5151,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1164:17:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5152,"nodeType":"ExpressionStatement","src":"1164:17:17"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":5156,"name":"pool_admin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4753,"src":"1201:10:17","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":5157,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1201:12:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":5153,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5827,"src":"1192:2:17","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21485","typeString":"contract Vm"}},"id":5155,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1195:5:17","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":21138,"src":"1192:8:17","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":5158,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1192:22:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5159,"nodeType":"ExpressionStatement","src":"1192:22:17"},{"expression":{"id":5174,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":5160,"name":"_poolProfileId_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5137,"src":"1224:15:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"30","id":5163,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1280:1:17","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"506f6f6c2050726f66696c652031","id":5164,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1283:16:17","typeDescriptions":{"typeIdentifier":"t_stringliteral_cfdb29660678cfa126d648cb1a4f5ce763c1e1204e820590687579a35d4b28f4","typeString":"literal_string \"Pool Profile 1\""},"value":"Pool Profile 1"},{"arguments":[{"hexValue":"31","id":5166,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1321:1:17","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"hexValue":"506f6f6c50726f66696c6531","id":5167,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1333:14:17","typeDescriptions":{"typeIdentifier":"t_stringliteral_f67171f94b553bc18f3436392ab5b1a6c6075d142911addaba07f9932e807028","typeString":"literal_string \"PoolProfile1\""},"value":"PoolProfile1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_stringliteral_f67171f94b553bc18f3436392ab5b1a6c6075d142911addaba07f9932e807028","typeString":"literal_string \"PoolProfile1\""}],"id":5165,"name":"Metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3098,"src":"1301:8:17","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Metadata_$3098_storage_ptr_$","typeString":"type(struct Metadata storage pointer)"}},"id":5168,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["1311:8:17","1324:7:17"],"names":["protocol","pointer"],"nodeType":"FunctionCall","src":"1301:48:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}},{"arguments":[],"expression":{"argumentTypes":[],"id":5169,"name":"pool_admin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4753,"src":"1351:10:17","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":5170,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1351:12:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[],"expression":{"argumentTypes":[],"id":5171,"name":"pool_managers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4817,"src":"1365:13:17","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_array$_t_address_$dyn_memory_ptr_$","typeString":"function () returns (address[] memory)"}},"id":5172,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1365:15:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_stringliteral_cfdb29660678cfa126d648cb1a4f5ce763c1e1204e820590687579a35d4b28f4","typeString":"literal_string \"Pool Profile 1\""},{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}],"expression":{"id":5161,"name":"_registry_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5104,"src":"1242:10:17","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}},"id":5162,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1253:13:17","memberName":"createProfile","nodeType":"MemberAccess","referencedDeclaration":1756,"src":"1242:24:17","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_string_memory_ptr_$_t_struct$_Metadata_$3098_memory_ptr_$_t_address_$_t_array$_t_address_$dyn_memory_ptr_$returns$_t_bytes32_$","typeString":"function (uint256,string memory,struct Metadata memory,address,address[] memory) external returns (bytes32)"}},"id":5173,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1242:148:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"1224:166:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":5175,"nodeType":"ExpressionStatement","src":"1224:166:17"},{"expression":{"id":5182,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":5176,"name":"_poolProfileAnchor_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5139,"src":"1400:19:17","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"arguments":[{"id":5179,"name":"_poolProfileId_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5137,"src":"1448:15:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":5177,"name":"_registry_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5104,"src":"1422:10:17","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}},"id":5178,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1433:14:17","memberName":"getProfileById","nodeType":"MemberAccess","referencedDeclaration":1592,"src":"1422:25:17","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_bytes32_$returns$_t_struct$_Profile_$2629_memory_ptr_$","typeString":"function (bytes32) view external returns (struct IRegistry.Profile memory)"}},"id":5180,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1422:42:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_memory_ptr","typeString":"struct IRegistry.Profile memory"}},"id":5181,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1465:6:17","memberName":"anchor","nodeType":"MemberAccess","referencedDeclaration":2628,"src":"1422:49:17","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1400:71:17","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":5183,"nodeType":"ExpressionStatement","src":"1400:71:17"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":5187,"name":"profile1_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4827,"src":"1491:14:17","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":5188,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1491:16:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":5184,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5827,"src":"1482:2:17","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21485","typeString":"contract Vm"}},"id":5186,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1485:5:17","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":21138,"src":"1482:8:17","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":5189,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1482:26:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5190,"nodeType":"ExpressionStatement","src":"1482:26:17"},{"expression":{"id":5205,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":5191,"name":"_profile1Id_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5141,"src":"1518:12:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"30","id":5194,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1571:1:17","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"50726f66696c652031","id":5195,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1574:11:17","typeDescriptions":{"typeIdentifier":"t_stringliteral_7a4d1a86b77644d9aa7e12702075d0cc1d67dd228b7576543777572405c3e57d","typeString":"literal_string \"Profile 1\""},"value":"Profile 1"},{"arguments":[{"hexValue":"31","id":5197,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1607:1:17","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"hexValue":"50726f66696c6531","id":5198,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1619:10:17","typeDescriptions":{"typeIdentifier":"t_stringliteral_d28bcd24e2e164eb1cb6c81d71a03069dd8b48e2f319680c98ba010be8944d6d","typeString":"literal_string \"Profile1\""},"value":"Profile1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_stringliteral_d28bcd24e2e164eb1cb6c81d71a03069dd8b48e2f319680c98ba010be8944d6d","typeString":"literal_string \"Profile1\""}],"id":5196,"name":"Metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3098,"src":"1587:8:17","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Metadata_$3098_storage_ptr_$","typeString":"type(struct Metadata storage pointer)"}},"id":5199,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["1597:8:17","1610:7:17"],"names":["protocol","pointer"],"nodeType":"FunctionCall","src":"1587:44:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}},{"arguments":[],"expression":{"argumentTypes":[],"id":5200,"name":"profile1_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4827,"src":"1633:14:17","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":5201,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1633:16:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[],"expression":{"argumentTypes":[],"id":5202,"name":"profile1_members","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4891,"src":"1651:16:17","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_array$_t_address_$dyn_memory_ptr_$","typeString":"function () returns (address[] memory)"}},"id":5203,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1651:18:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_stringliteral_7a4d1a86b77644d9aa7e12702075d0cc1d67dd228b7576543777572405c3e57d","typeString":"literal_string \"Profile 1\""},{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}],"expression":{"id":5192,"name":"_registry_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5104,"src":"1533:10:17","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}},"id":5193,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1544:13:17","memberName":"createProfile","nodeType":"MemberAccess","referencedDeclaration":1756,"src":"1533:24:17","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_string_memory_ptr_$_t_struct$_Metadata_$3098_memory_ptr_$_t_address_$_t_array$_t_address_$dyn_memory_ptr_$returns$_t_bytes32_$","typeString":"function (uint256,string memory,struct Metadata memory,address,address[] memory) external returns (bytes32)"}},"id":5204,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1533:146:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"1518:161:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":5206,"nodeType":"ExpressionStatement","src":"1518:161:17"},{"expression":{"id":5213,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":5207,"name":"_profile1Anchor_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5143,"src":"1689:16:17","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"arguments":[{"id":5210,"name":"_profile1Id_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5141,"src":"1734:12:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":5208,"name":"_registry_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5104,"src":"1708:10:17","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}},"id":5209,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1719:14:17","memberName":"getProfileById","nodeType":"MemberAccess","referencedDeclaration":1592,"src":"1708:25:17","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_bytes32_$returns$_t_struct$_Profile_$2629_memory_ptr_$","typeString":"function (bytes32) view external returns (struct IRegistry.Profile memory)"}},"id":5211,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1708:39:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_memory_ptr","typeString":"struct IRegistry.Profile memory"}},"id":5212,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1748:6:17","memberName":"anchor","nodeType":"MemberAccess","referencedDeclaration":2628,"src":"1708:46:17","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1689:65:17","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":5214,"nodeType":"ExpressionStatement","src":"1689:65:17"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":5218,"name":"profile2_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4901,"src":"1774:14:17","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":5219,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1774:16:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":5215,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5827,"src":"1765:2:17","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21485","typeString":"contract Vm"}},"id":5217,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1768:5:17","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":21138,"src":"1765:8:17","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":5220,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1765:26:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5221,"nodeType":"ExpressionStatement","src":"1765:26:17"},{"expression":{"id":5236,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":5222,"name":"_profile2Id_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5145,"src":"1801:12:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"30","id":5225,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1854:1:17","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"50726f66696c652032","id":5226,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1857:11:17","typeDescriptions":{"typeIdentifier":"t_stringliteral_937ec7a665f78170bc3bb3b9c6576f30e49f3c58eb7105b0778843f3f72198b2","typeString":"literal_string \"Profile 2\""},"value":"Profile 2"},{"arguments":[{"hexValue":"31","id":5228,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1890:1:17","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"hexValue":"50726f66696c6532","id":5229,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1902:10:17","typeDescriptions":{"typeIdentifier":"t_stringliteral_f54d7fb3952364f7566be93625e44393de35ac48ada574494f41163506f729ca","typeString":"literal_string \"Profile2\""},"value":"Profile2"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_stringliteral_f54d7fb3952364f7566be93625e44393de35ac48ada574494f41163506f729ca","typeString":"literal_string \"Profile2\""}],"id":5227,"name":"Metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3098,"src":"1870:8:17","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Metadata_$3098_storage_ptr_$","typeString":"type(struct Metadata storage pointer)"}},"id":5230,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["1880:8:17","1893:7:17"],"names":["protocol","pointer"],"nodeType":"FunctionCall","src":"1870:44:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}},{"arguments":[],"expression":{"argumentTypes":[],"id":5231,"name":"profile2_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4901,"src":"1916:14:17","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":5232,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1916:16:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[],"expression":{"argumentTypes":[],"id":5233,"name":"profile2_members","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4965,"src":"1934:16:17","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_array$_t_address_$dyn_memory_ptr_$","typeString":"function () returns (address[] memory)"}},"id":5234,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1934:18:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_stringliteral_937ec7a665f78170bc3bb3b9c6576f30e49f3c58eb7105b0778843f3f72198b2","typeString":"literal_string \"Profile 2\""},{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}],"expression":{"id":5223,"name":"_registry_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5104,"src":"1816:10:17","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}},"id":5224,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1827:13:17","memberName":"createProfile","nodeType":"MemberAccess","referencedDeclaration":1756,"src":"1816:24:17","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_string_memory_ptr_$_t_struct$_Metadata_$3098_memory_ptr_$_t_address_$_t_array$_t_address_$dyn_memory_ptr_$returns$_t_bytes32_$","typeString":"function (uint256,string memory,struct Metadata memory,address,address[] memory) external returns (bytes32)"}},"id":5235,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1816:146:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"1801:161:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":5237,"nodeType":"ExpressionStatement","src":"1801:161:17"},{"expression":{"id":5244,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":5238,"name":"_profile2Anchor_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5147,"src":"1972:16:17","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"arguments":[{"id":5241,"name":"_profile2Id_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5145,"src":"2017:12:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":5239,"name":"_registry_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5104,"src":"1991:10:17","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}},"id":5240,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2002:14:17","memberName":"getProfileById","nodeType":"MemberAccess","referencedDeclaration":1592,"src":"1991:25:17","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_bytes32_$returns$_t_struct$_Profile_$2629_memory_ptr_$","typeString":"function (bytes32) view external returns (struct IRegistry.Profile memory)"}},"id":5242,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1991:39:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_memory_ptr","typeString":"struct IRegistry.Profile memory"}},"id":5243,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2031:6:17","memberName":"anchor","nodeType":"MemberAccess","referencedDeclaration":2628,"src":"1991:46:17","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1972:65:17","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":5245,"nodeType":"ExpressionStatement","src":"1972:65:17"}]},"implemented":true,"kind":"function","modifiers":[],"name":"__RegistrySetupFull","nameLocation":"1123:19:17","parameters":{"id":5148,"nodeType":"ParameterList","parameters":[],"src":"1142:2:17"},"returnParameters":{"id":5149,"nodeType":"ParameterList","parameters":[],"src":"1154:0:17"},"scope":5296,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":5255,"nodeType":"FunctionDefinition","src":"2050:103:17","nodes":[],"body":{"id":5254,"nodeType":"Block","src":"2114:39:17","nodes":[],"statements":[{"expression":{"id":5252,"name":"_poolProfileId_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5137,"src":"2131:15:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":5251,"id":5253,"nodeType":"Return","src":"2124:22:17"}]},"functionSelector":"fd325c60","implemented":true,"kind":"function","modifiers":[],"name":"poolProfile_id","nameLocation":"2059:14:17","parameters":{"id":5248,"nodeType":"ParameterList","parameters":[],"src":"2073:2:17"},"returnParameters":{"id":5251,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5250,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5255,"src":"2105:7:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":5249,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2105:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"2104:9:17"},"scope":5296,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":5263,"nodeType":"FunctionDefinition","src":"2159:111:17","nodes":[],"body":{"id":5262,"nodeType":"Block","src":"2227:43:17","nodes":[],"statements":[{"expression":{"id":5260,"name":"_poolProfileAnchor_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5139,"src":"2244:19:17","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":5259,"id":5261,"nodeType":"Return","src":"2237:26:17"}]},"functionSelector":"176effb3","implemented":true,"kind":"function","modifiers":[],"name":"poolProfile_anchor","nameLocation":"2168:18:17","parameters":{"id":5256,"nodeType":"ParameterList","parameters":[],"src":"2186:2:17"},"returnParameters":{"id":5259,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5258,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5263,"src":"2218:7:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5257,"name":"address","nodeType":"ElementaryTypeName","src":"2218:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2217:9:17"},"scope":5296,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":5271,"nodeType":"FunctionDefinition","src":"2276:97:17","nodes":[],"body":{"id":5270,"nodeType":"Block","src":"2337:36:17","nodes":[],"statements":[{"expression":{"id":5268,"name":"_profile1Id_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5141,"src":"2354:12:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":5267,"id":5269,"nodeType":"Return","src":"2347:19:17"}]},"functionSelector":"39f56f7f","implemented":true,"kind":"function","modifiers":[],"name":"profile1_id","nameLocation":"2285:11:17","parameters":{"id":5264,"nodeType":"ParameterList","parameters":[],"src":"2296:2:17"},"returnParameters":{"id":5267,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5266,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5271,"src":"2328:7:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":5265,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2328:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"2327:9:17"},"scope":5296,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":5279,"nodeType":"FunctionDefinition","src":"2461:105:17","nodes":[],"body":{"id":5278,"nodeType":"Block","src":"2526:40:17","nodes":[],"statements":[{"expression":{"id":5276,"name":"_profile1Anchor_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5143,"src":"2543:16:17","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":5275,"id":5277,"nodeType":"Return","src":"2536:23:17"}]},"functionSelector":"c5d7d73b","implemented":true,"kind":"function","modifiers":[],"name":"profile1_anchor","nameLocation":"2470:15:17","parameters":{"id":5272,"nodeType":"ParameterList","parameters":[],"src":"2485:2:17"},"returnParameters":{"id":5275,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5274,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5279,"src":"2517:7:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5273,"name":"address","nodeType":"ElementaryTypeName","src":"2517:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2516:9:17"},"scope":5296,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":5287,"nodeType":"FunctionDefinition","src":"2572:97:17","nodes":[],"body":{"id":5286,"nodeType":"Block","src":"2633:36:17","nodes":[],"statements":[{"expression":{"id":5284,"name":"_profile2Id_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5145,"src":"2650:12:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":5283,"id":5285,"nodeType":"Return","src":"2643:19:17"}]},"functionSelector":"18540361","implemented":true,"kind":"function","modifiers":[],"name":"profile2_id","nameLocation":"2581:11:17","parameters":{"id":5280,"nodeType":"ParameterList","parameters":[],"src":"2592:2:17"},"returnParameters":{"id":5283,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5282,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5287,"src":"2624:7:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":5281,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2624:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"2623:9:17"},"scope":5296,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":5295,"nodeType":"FunctionDefinition","src":"2757:105:17","nodes":[],"body":{"id":5294,"nodeType":"Block","src":"2822:40:17","nodes":[],"statements":[{"expression":{"id":5292,"name":"_profile2Anchor_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5147,"src":"2839:16:17","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":5291,"id":5293,"nodeType":"Return","src":"2832:23:17"}]},"functionSelector":"3554642a","implemented":true,"kind":"function","modifiers":[],"name":"profile2_anchor","nameLocation":"2766:15:17","parameters":{"id":5288,"nodeType":"ParameterList","parameters":[],"src":"2781:2:17"},"returnParameters":{"id":5291,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5290,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5295,"src":"2813:7:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5289,"name":"address","nodeType":"ElementaryTypeName","src":"2813:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2812:9:17"},"scope":5296,"stateMutability":"view","virtual":true,"visibility":"public"}],"abstract":false,"baseContracts":[{"baseName":{"id":5134,"name":"RegistrySetup","nameLocations":["863:13:17"],"nodeType":"IdentifierPath","referencedDeclaration":5132,"src":"863:13:17"},"id":5135,"nodeType":"InheritanceSpecifier","src":"863:13:17"}],"canonicalName":"RegistrySetupFull","contractDependencies":[],"contractKind":"contract","documentation":{"id":5133,"nodeType":"StructuredDocumentation","src":"699:134:17","text":"@title RegistrySetupFull\n @notice This contract is used to setup a Registry contract with two identities for testing purposes."},"fullyImplemented":true,"linearizedBaseContracts":[5296,5132,5026,17835,17783,12463,12138,11345,9285,8503,5834,5831],"name":"RegistrySetupFull","nameLocation":"842:17:17","scope":5297,"usedErrors":[]}],"license":"AGPL-3.0-only"},"id":17} \ No newline at end of file diff --git a/pkg/contracts/out/RegistrySetup.sol/RegistrySetupFull.json b/pkg/contracts/out/RegistrySetup.sol/RegistrySetupFull.json index ade90ac86..ec02ec053 100644 --- a/pkg/contracts/out/RegistrySetup.sol/RegistrySetupFull.json +++ b/pkg/contracts/out/RegistrySetup.sol/RegistrySetupFull.json @@ -1 +1 @@ -{"abi":[{"type":"function","name":"IS_TEST","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"allo_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"allo_treasury","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address payable"}],"stateMutability":"nonpayable"},{"type":"function","name":"excludeArtifacts","inputs":[],"outputs":[{"name":"excludedArtifacts_","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"excludeContracts","inputs":[],"outputs":[{"name":"excludedContracts_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"excludeSenders","inputs":[],"outputs":[{"name":"excludedSenders_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"failed","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"local","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"no_recipient","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"nullProfile_member1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"nullProfile_member2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"nullProfile_members","inputs":[],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"pure"},{"type":"function","name":"nullProfile_notAMember","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"nullProfile_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"poolProfile_anchor","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"poolProfile_id","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"pool_admin","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"pool_manager1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"pool_manager2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"pool_managers","inputs":[],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"pool_notAManager","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile1_anchor","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"profile1_id","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"profile1_member1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile1_member2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile1_members","inputs":[],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile1_notAMember","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile1_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile2_anchor","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"profile2_id","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"profile2_member1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile2_member2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile2_members","inputs":[],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile2_notAMember","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile2_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"randomAddress","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"recipient","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"recipient1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"recipient2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"recipientAddress","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"registry","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract Registry"}],"stateMutability":"view"},{"type":"function","name":"registry_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"targetArtifactSelectors","inputs":[],"outputs":[{"name":"targetedArtifactSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzSelector[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetArtifacts","inputs":[],"outputs":[{"name":"targetedArtifacts_","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"targetContracts","inputs":[],"outputs":[{"name":"targetedContracts_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"targetInterfaces","inputs":[],"outputs":[{"name":"targetedInterfaces_","type":"tuple[]","internalType":"struct StdInvariant.FuzzInterface[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"artifacts","type":"string[]","internalType":"string[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetSelectors","inputs":[],"outputs":[{"name":"targetedSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzSelector[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetSenders","inputs":[],"outputs":[{"name":"targetedSenders_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"event","name":"log","inputs":[{"name":"","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_address","inputs":[{"name":"","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"uint256[]","indexed":false,"internalType":"uint256[]"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"int256[]","indexed":false,"internalType":"int256[]"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"address[]","indexed":false,"internalType":"address[]"}],"anonymous":false},{"type":"event","name":"log_bytes","inputs":[{"name":"","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"log_bytes32","inputs":[{"name":"","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"log_int","inputs":[{"name":"","type":"int256","indexed":false,"internalType":"int256"}],"anonymous":false},{"type":"event","name":"log_named_address","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256[]","indexed":false,"internalType":"uint256[]"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256[]","indexed":false,"internalType":"int256[]"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"address[]","indexed":false,"internalType":"address[]"}],"anonymous":false},{"type":"event","name":"log_named_bytes","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"log_named_bytes32","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"log_named_decimal_int","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256","indexed":false,"internalType":"int256"},{"name":"decimals","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_named_decimal_uint","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"decimals","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_named_int","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256","indexed":false,"internalType":"int256"}],"anonymous":false},{"type":"event","name":"log_named_string","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_named_uint","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_string","inputs":[{"name":"","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_uint","inputs":[{"name":"","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"logs","inputs":[{"name":"","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false}],"bytecode":{"object":"0x6080604052600c8054600160ff199182168117909255601e8054909116909117905534801561002d57600080fd5b506118128061003d6000396000f3fe608060405234801561001057600080fd5b506004361061031f5760003560e01c806379e62d0d116101a7578063b5508aa9116100ee578063da4bf08711610097578063ef0d790f11610071578063ef0d790f14610505578063fa7626d41461050d578063fd325c601461051a57600080fd5b8063da4bf087146104ed578063dac4eb16146104f5578063e20c9f71146104fd57600080fd5b8063d1e82b58116100c8578063d1e82b58146104d5578063d1f2cd88146104dd578063d5bee9f5146104e557600080fd5b8063b5508aa9146104a4578063ba414fa6146104ac578063c5d7d73b146104c457600080fd5b80638c7408c411610150578063916a17c61161012a578063916a17c61461048c578063a407c67a14610494578063aa3744bd1461049c57600080fd5b80638c7408c41461035f5780638e0d1a501461047c5780638e3c24931461048457600080fd5b80637cbe79ed116101815780637cbe79ed1461045f578063829e423f1461035f57806385226c811461046757600080fd5b806379e62d0d146104395780637b103999146104415780637b2edf321461045757600080fd5b806339f56f7f1161026b57806366d003ac1161021457806370a32944116101ee57806370a329441461042957806374d9284e1461035f578063759c9a861461043157600080fd5b806366d003ac1461040457806366d9a9a01461040c5780636a38dd0a1461042157600080fd5b80634bf4ba21116102455780634bf4ba21146103ec578063587c1243146103f45780635aff5999146103fc57600080fd5b806339f56f7f146103d45780633e5e3c23146103dc5780633f7286f4146103e457600080fd5b806318540361116102cd5780631ed7831c116102a75780631ed7831c146103995780632ade3880146103ae5780633554642a146103c357600080fd5b806318540361146103775780631b96dce6146103895780631e7bcb2e1461039157600080fd5b80630f166ad4116102fe5780630f166ad414610359578063174eedde1461035f578063176effb31461036657600080fd5b8062b1fad714610324578063030e4006146103495780630688b13514610351575b600080fd5b61032c610522565b6040516001600160a01b0390911681526020015b60405180910390f35b61032c610567565b61032c6105a7565b3061032c565b600061032c565b6020546001600160a01b031661032c565b6023545b604051908152602001610340565b61032c6105e7565b61032c610627565b6103a1610667565b6040516103409190611473565b6103b66106c9565b6040516103409190611510565b6024546001600160a01b031661032c565b60215461037b565b6103a161080b565b6103a161086b565b6103a16108cb565b61032c6108ee565b61032c61092e565b61032c61096e565b6104146109ae565b60405161034091906115d0565b61032c610aa9565b6103a1610ae9565b61032c610b81565b6103a1610bc1565b601e5461010090046001600160a01b031661032c565b61032c610c29565b61032c610c69565b61046f610ca9565b604051610340919061169b565b61032c610d79565b61032c610db9565b610414610df9565b6103a1610ef4565b61032c610f5c565b61046f610f9c565b6104b461106c565b6040519015158152602001610340565b6022546001600160a01b031661032c565b61032c611140565b61032c611180565b61032c6111c0565b61032c611200565b61032c611240565b6103a1611280565b61032c6112e0565b601e546104b49060ff1681565b601f5461037b565b60006105626040518060400160405280600d81526020017f706f6f6c5f6d616e61676572310000000000000000000000000000000000000081525061131c565b905090565b60006105626040518060400160405280601381526020017f70726f66696c65315f6e6f74414d656d6265720000000000000000000000000081525061131c565b60006105626040518060400160405280600a81526020017f726563697069656e74320000000000000000000000000000000000000000000081525061131c565b60006105626040518060400160405280600e81526020017f70726f66696c65325f6f776e657200000000000000000000000000000000000081525061131c565b60006105626040518060400160405280601081526020017f70726f66696c65315f6d656d626572310000000000000000000000000000000081525061131c565b606060168054806020026020016040519081016040528092919081815260200182805480156106bf57602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116106a1575b5050505050905090565b6060601d805480602002602001604051908101604052809291908181526020016000905b8282101561080257600084815260208082206040805180820182526002870290920180546001600160a01b03168352600181018054835181870281018701909452808452939591948681019491929084015b828210156107eb57838290600052602060002001805461075e906116fd565b80601f016020809104026020016040519081016040528092919081815260200182805461078a906116fd565b80156107d75780601f106107ac576101008083540402835291602001916107d7565b820191906000526020600020905b8154815290600101906020018083116107ba57829003601f168201915b50505050508152602001906001019061073f565b5050505081525050815260200190600101906106ed565b50505050905090565b606060188054806020026020016040519081016040528092919081815260200182805480156106bf576020028201919060005260206000209081546001600160a01b031681526001909101906020018083116106a1575050505050905090565b606060178054806020026020016040519081016040528092919081815260200182805480156106bf576020028201919060005260206000209081546001600160a01b031681526001909101906020018083116106a1575050505050905090565b604080516002808252606080830184529260208301908036833701905050905090565b60006105626040518060400160405280601081526020017f70726f66696c65325f6d656d626572310000000000000000000000000000000081525061131c565b60006105626040518060400160405280601081526020017f726563697069656e74416464726573730000000000000000000000000000000081525061131c565b60006105626040518060400160405280600981526020017f726563697069656e74000000000000000000000000000000000000000000000081525061131c565b6060601b805480602002602001604051908101604052809291908181526020016000905b828210156108025760008481526020908190206040805180820182526002860290920180546001600160a01b03168352600181018054835181870281018701909452808452939491938583019392830182828015610a9157602002820191906000526020600020906000905b82829054906101000a900460e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681526020019060040190602082600301049283019260010382029150808411610a3e5790505b505050505081525050815260200190600101906109d2565b60006105626040518060400160405280600d81526020017f706f6f6c5f6d616e61676572320000000000000000000000000000000000000081525061131c565b60408051600280825260608083018452926000929190602083019080368337019050509050610b16610627565b81600081518110610b2957610b29611737565b60200260200101906001600160a01b031690816001600160a01b031681525050610b51610c29565b81600181518110610b6457610b64611737565b6001600160a01b0390921660209283029190910190910152919050565b60006105626040518060400160405280600c81526020017f6e6f5f726563697069656e74000000000000000000000000000000000000000081525061131c565b60408051600280825260608083018452926000929190602083019080368337019050509050610bee610522565b81600081518110610c0157610c01611737565b60200260200101906001600160a01b031690816001600160a01b031681525050610b51610aa9565b60006105626040518060400160405280601081526020017f70726f66696c65315f6d656d626572320000000000000000000000000000000081525061131c565b60006105626040518060400160405280600a81526020017f616c6c6f5f6f776e65720000000000000000000000000000000000000000000081525061131c565b6060601a805480602002602001604051908101604052809291908181526020016000905b82821015610802578382906000526020600020018054610cec906116fd565b80601f0160208091040260200160405190810160405280929190818152602001828054610d18906116fd565b8015610d655780601f10610d3a57610100808354040283529160200191610d65565b820191906000526020600020905b815481529060010190602001808311610d4857829003601f168201915b505050505081526020019060010190610ccd565b60006105626040518060400160405280600a81526020017f706f6f6c5f61646d696e0000000000000000000000000000000000000000000081525061131c565b60006105626040518060400160405280601081526020017f70726f66696c65325f6d656d626572320000000000000000000000000000000081525061131c565b6060601c805480602002602001604051908101604052809291908181526020016000905b828210156108025760008481526020908190206040805180820182526002860290920180546001600160a01b03168352600181018054835181870281018701909452808452939491938583019392830182828015610edc57602002820191906000526020600020906000905b82829054906101000a900460e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681526020019060040190602082600301049283019260010382029150808411610e895790505b50505050508152505081526020019060010190610e1d565b60408051600280825260608083018452926000929190602083019080368337019050509050610f216108ee565b81600081518110610f3457610f34611737565b60200260200101906001600160a01b031690816001600160a01b031681525050610b51610db9565b60006105626040518060400160405280600a81526020017f726563697069656e74310000000000000000000000000000000000000000000081525061131c565b60606019805480602002602001604051908101604052809291908181526020016000905b82821015610802578382906000526020600020018054610fdf906116fd565b80601f016020809104026020016040519081016040528092919081815260200182805461100b906116fd565b80156110585780601f1061102d57610100808354040283529160200191611058565b820191906000526020600020905b81548152906001019060200180831161103b57829003601f168201915b505050505081526020019060010190610fc0565b60085460009060ff1615611084575060085460ff1690565b6040517f667f9d70000000000000000000000000000000000000000000000000000000008152737109709ecfa91a80626ff3989d68f67f5b1dd12d600482018190527f6661696c65640000000000000000000000000000000000000000000000000000602483015260009163667f9d7090604401602060405180830381865afa158015611115573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611139919061174d565b1415905090565b60006105626040518060400160405280601081526020017f706f6f6c5f6e6f74414d616e616765720000000000000000000000000000000081525061131c565b60006105626040518060400160405280600e81526020017f70726f66696c65315f6f776e657200000000000000000000000000000000000081525061131c565b60006105626040518060400160405280600b81526020017f72616e646f6d206368616400000000000000000000000000000000000000000081525061131c565b60006105626040518060400160405280600d81526020017f616c6c6f5f74726561737572790000000000000000000000000000000000000081525061131c565b60006105626040518060400160405280600e81526020017f72656769737472795f6f776e657200000000000000000000000000000000000081525061131c565b606060158054806020026020016040519081016040528092919081815260200182805480156106bf576020028201919060005260206000209081546001600160a01b031681526001909101906020018083116106a1575050505050905090565b60006105626040518060400160405280601381526020017f70726f66696c65325f6e6f74414d656d626572000000000000000000000000008152505b60006113278261132e565b5092915050565b600080826040516020016113429190611766565b60408051808303601f190181529082905280516020909101207fffa18649000000000000000000000000000000000000000000000000000000008252600482018190529150737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ffa1864990602401602060405180830381865afa1580156113c3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113e79190611782565b6040517fc657c718000000000000000000000000000000000000000000000000000000008152909250737109709ecfa91a80626ff3989d68f67f5b1dd12d9063c657c7189061143c90859087906004016117b2565b600060405180830381600087803b15801561145657600080fd5b505af115801561146a573d6000803e3d6000fd5b50505050915091565b6020808252825182820181905260009190848201906040850190845b818110156114b45783516001600160a01b03168352928401929184019160010161148f565b50909695505050505050565b60005b838110156114db5781810151838201526020016114c3565b50506000910152565b600081518084526114fc8160208601602086016114c0565b601f01601f19169290920160200192915050565b602080825282518282018190526000919060409081850190600581811b8701840188860187805b858110156115c057603f198b8503018752825180516001600160a01b031685528901518985018990528051898601819052908a0190606081881b870181019190870190855b818110156115aa57605f198985030183526115988486516114e4565b948e01949350918d019160010161157c565b505050978a019794505091880191600101611537565b50919a9950505050505050505050565b60006020808301818452808551808352604092508286019150828160051b8701018488016000805b8481101561168c57898403603f19018652825180516001600160a01b03168552880151888501889052805188860181905290890190839060608701905b808310156116775783517fffffffff00000000000000000000000000000000000000000000000000000000168252928b019260019290920191908b0190611635565b50978a019795505050918701916001016115f8565b50919998505050505050505050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b828110156116f057603f198886030184526116de8583516114e4565b945092850192908501906001016116c2565b5092979650505050505050565b600181811c9082168061171157607f821691505b60208210810361173157634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561175f57600080fd5b5051919050565b600082516117788184602087016114c0565b9190910192915050565b60006020828403121561179457600080fd5b81516001600160a01b03811681146117ab57600080fd5b9392505050565b6001600160a01b03831681526040602082015260006117d460408301846114e4565b94935050505056fea2646970667358221220789f9c31e1369311daac8f2ea32a12484b2205287d5db997268b8cb54046e1aa64736f6c63430008130033","sourceMap":"833:2031:17:-:0;;;3126:44:23;;;3166:4;-1:-1:-1;;3126:44:23;;;;;;;;1016:26:33;;;;;;;;;;;833:2031:17;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b506004361061031f5760003560e01c806379e62d0d116101a7578063b5508aa9116100ee578063da4bf08711610097578063ef0d790f11610071578063ef0d790f14610505578063fa7626d41461050d578063fd325c601461051a57600080fd5b8063da4bf087146104ed578063dac4eb16146104f5578063e20c9f71146104fd57600080fd5b8063d1e82b58116100c8578063d1e82b58146104d5578063d1f2cd88146104dd578063d5bee9f5146104e557600080fd5b8063b5508aa9146104a4578063ba414fa6146104ac578063c5d7d73b146104c457600080fd5b80638c7408c411610150578063916a17c61161012a578063916a17c61461048c578063a407c67a14610494578063aa3744bd1461049c57600080fd5b80638c7408c41461035f5780638e0d1a501461047c5780638e3c24931461048457600080fd5b80637cbe79ed116101815780637cbe79ed1461045f578063829e423f1461035f57806385226c811461046757600080fd5b806379e62d0d146104395780637b103999146104415780637b2edf321461045757600080fd5b806339f56f7f1161026b57806366d003ac1161021457806370a32944116101ee57806370a329441461042957806374d9284e1461035f578063759c9a861461043157600080fd5b806366d003ac1461040457806366d9a9a01461040c5780636a38dd0a1461042157600080fd5b80634bf4ba21116102455780634bf4ba21146103ec578063587c1243146103f45780635aff5999146103fc57600080fd5b806339f56f7f146103d45780633e5e3c23146103dc5780633f7286f4146103e457600080fd5b806318540361116102cd5780631ed7831c116102a75780631ed7831c146103995780632ade3880146103ae5780633554642a146103c357600080fd5b806318540361146103775780631b96dce6146103895780631e7bcb2e1461039157600080fd5b80630f166ad4116102fe5780630f166ad414610359578063174eedde1461035f578063176effb31461036657600080fd5b8062b1fad714610324578063030e4006146103495780630688b13514610351575b600080fd5b61032c610522565b6040516001600160a01b0390911681526020015b60405180910390f35b61032c610567565b61032c6105a7565b3061032c565b600061032c565b6020546001600160a01b031661032c565b6023545b604051908152602001610340565b61032c6105e7565b61032c610627565b6103a1610667565b6040516103409190611473565b6103b66106c9565b6040516103409190611510565b6024546001600160a01b031661032c565b60215461037b565b6103a161080b565b6103a161086b565b6103a16108cb565b61032c6108ee565b61032c61092e565b61032c61096e565b6104146109ae565b60405161034091906115d0565b61032c610aa9565b6103a1610ae9565b61032c610b81565b6103a1610bc1565b601e5461010090046001600160a01b031661032c565b61032c610c29565b61032c610c69565b61046f610ca9565b604051610340919061169b565b61032c610d79565b61032c610db9565b610414610df9565b6103a1610ef4565b61032c610f5c565b61046f610f9c565b6104b461106c565b6040519015158152602001610340565b6022546001600160a01b031661032c565b61032c611140565b61032c611180565b61032c6111c0565b61032c611200565b61032c611240565b6103a1611280565b61032c6112e0565b601e546104b49060ff1681565b601f5461037b565b60006105626040518060400160405280600d81526020017f706f6f6c5f6d616e61676572310000000000000000000000000000000000000081525061131c565b905090565b60006105626040518060400160405280601381526020017f70726f66696c65315f6e6f74414d656d6265720000000000000000000000000081525061131c565b60006105626040518060400160405280600a81526020017f726563697069656e74320000000000000000000000000000000000000000000081525061131c565b60006105626040518060400160405280600e81526020017f70726f66696c65325f6f776e657200000000000000000000000000000000000081525061131c565b60006105626040518060400160405280601081526020017f70726f66696c65315f6d656d626572310000000000000000000000000000000081525061131c565b606060168054806020026020016040519081016040528092919081815260200182805480156106bf57602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116106a1575b5050505050905090565b6060601d805480602002602001604051908101604052809291908181526020016000905b8282101561080257600084815260208082206040805180820182526002870290920180546001600160a01b03168352600181018054835181870281018701909452808452939591948681019491929084015b828210156107eb57838290600052602060002001805461075e906116fd565b80601f016020809104026020016040519081016040528092919081815260200182805461078a906116fd565b80156107d75780601f106107ac576101008083540402835291602001916107d7565b820191906000526020600020905b8154815290600101906020018083116107ba57829003601f168201915b50505050508152602001906001019061073f565b5050505081525050815260200190600101906106ed565b50505050905090565b606060188054806020026020016040519081016040528092919081815260200182805480156106bf576020028201919060005260206000209081546001600160a01b031681526001909101906020018083116106a1575050505050905090565b606060178054806020026020016040519081016040528092919081815260200182805480156106bf576020028201919060005260206000209081546001600160a01b031681526001909101906020018083116106a1575050505050905090565b604080516002808252606080830184529260208301908036833701905050905090565b60006105626040518060400160405280601081526020017f70726f66696c65325f6d656d626572310000000000000000000000000000000081525061131c565b60006105626040518060400160405280601081526020017f726563697069656e74416464726573730000000000000000000000000000000081525061131c565b60006105626040518060400160405280600981526020017f726563697069656e74000000000000000000000000000000000000000000000081525061131c565b6060601b805480602002602001604051908101604052809291908181526020016000905b828210156108025760008481526020908190206040805180820182526002860290920180546001600160a01b03168352600181018054835181870281018701909452808452939491938583019392830182828015610a9157602002820191906000526020600020906000905b82829054906101000a900460e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681526020019060040190602082600301049283019260010382029150808411610a3e5790505b505050505081525050815260200190600101906109d2565b60006105626040518060400160405280600d81526020017f706f6f6c5f6d616e61676572320000000000000000000000000000000000000081525061131c565b60408051600280825260608083018452926000929190602083019080368337019050509050610b16610627565b81600081518110610b2957610b29611737565b60200260200101906001600160a01b031690816001600160a01b031681525050610b51610c29565b81600181518110610b6457610b64611737565b6001600160a01b0390921660209283029190910190910152919050565b60006105626040518060400160405280600c81526020017f6e6f5f726563697069656e74000000000000000000000000000000000000000081525061131c565b60408051600280825260608083018452926000929190602083019080368337019050509050610bee610522565b81600081518110610c0157610c01611737565b60200260200101906001600160a01b031690816001600160a01b031681525050610b51610aa9565b60006105626040518060400160405280601081526020017f70726f66696c65315f6d656d626572320000000000000000000000000000000081525061131c565b60006105626040518060400160405280600a81526020017f616c6c6f5f6f776e65720000000000000000000000000000000000000000000081525061131c565b6060601a805480602002602001604051908101604052809291908181526020016000905b82821015610802578382906000526020600020018054610cec906116fd565b80601f0160208091040260200160405190810160405280929190818152602001828054610d18906116fd565b8015610d655780601f10610d3a57610100808354040283529160200191610d65565b820191906000526020600020905b815481529060010190602001808311610d4857829003601f168201915b505050505081526020019060010190610ccd565b60006105626040518060400160405280600a81526020017f706f6f6c5f61646d696e0000000000000000000000000000000000000000000081525061131c565b60006105626040518060400160405280601081526020017f70726f66696c65325f6d656d626572320000000000000000000000000000000081525061131c565b6060601c805480602002602001604051908101604052809291908181526020016000905b828210156108025760008481526020908190206040805180820182526002860290920180546001600160a01b03168352600181018054835181870281018701909452808452939491938583019392830182828015610edc57602002820191906000526020600020906000905b82829054906101000a900460e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681526020019060040190602082600301049283019260010382029150808411610e895790505b50505050508152505081526020019060010190610e1d565b60408051600280825260608083018452926000929190602083019080368337019050509050610f216108ee565b81600081518110610f3457610f34611737565b60200260200101906001600160a01b031690816001600160a01b031681525050610b51610db9565b60006105626040518060400160405280600a81526020017f726563697069656e74310000000000000000000000000000000000000000000081525061131c565b60606019805480602002602001604051908101604052809291908181526020016000905b82821015610802578382906000526020600020018054610fdf906116fd565b80601f016020809104026020016040519081016040528092919081815260200182805461100b906116fd565b80156110585780601f1061102d57610100808354040283529160200191611058565b820191906000526020600020905b81548152906001019060200180831161103b57829003601f168201915b505050505081526020019060010190610fc0565b60085460009060ff1615611084575060085460ff1690565b6040517f667f9d70000000000000000000000000000000000000000000000000000000008152737109709ecfa91a80626ff3989d68f67f5b1dd12d600482018190527f6661696c65640000000000000000000000000000000000000000000000000000602483015260009163667f9d7090604401602060405180830381865afa158015611115573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611139919061174d565b1415905090565b60006105626040518060400160405280601081526020017f706f6f6c5f6e6f74414d616e616765720000000000000000000000000000000081525061131c565b60006105626040518060400160405280600e81526020017f70726f66696c65315f6f776e657200000000000000000000000000000000000081525061131c565b60006105626040518060400160405280600b81526020017f72616e646f6d206368616400000000000000000000000000000000000000000081525061131c565b60006105626040518060400160405280600d81526020017f616c6c6f5f74726561737572790000000000000000000000000000000000000081525061131c565b60006105626040518060400160405280600e81526020017f72656769737472795f6f776e657200000000000000000000000000000000000081525061131c565b606060158054806020026020016040519081016040528092919081815260200182805480156106bf576020028201919060005260206000209081546001600160a01b031681526001909101906020018083116106a1575050505050905090565b60006105626040518060400160405280601381526020017f70726f66696c65325f6e6f74414d656d626572000000000000000000000000008152505b60006113278261132e565b5092915050565b600080826040516020016113429190611766565b60408051808303601f190181529082905280516020909101207fffa18649000000000000000000000000000000000000000000000000000000008252600482018190529150737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ffa1864990602401602060405180830381865afa1580156113c3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113e79190611782565b6040517fc657c718000000000000000000000000000000000000000000000000000000008152909250737109709ecfa91a80626ff3989d68f67f5b1dd12d9063c657c7189061143c90859087906004016117b2565b600060405180830381600087803b15801561145657600080fd5b505af115801561146a573d6000803e3d6000fd5b50505050915091565b6020808252825182820181905260009190848201906040850190845b818110156114b45783516001600160a01b03168352928401929184019160010161148f565b50909695505050505050565b60005b838110156114db5781810151838201526020016114c3565b50506000910152565b600081518084526114fc8160208601602086016114c0565b601f01601f19169290920160200192915050565b602080825282518282018190526000919060409081850190600581811b8701840188860187805b858110156115c057603f198b8503018752825180516001600160a01b031685528901518985018990528051898601819052908a0190606081881b870181019190870190855b818110156115aa57605f198985030183526115988486516114e4565b948e01949350918d019160010161157c565b505050978a019794505091880191600101611537565b50919a9950505050505050505050565b60006020808301818452808551808352604092508286019150828160051b8701018488016000805b8481101561168c57898403603f19018652825180516001600160a01b03168552880151888501889052805188860181905290890190839060608701905b808310156116775783517fffffffff00000000000000000000000000000000000000000000000000000000168252928b019260019290920191908b0190611635565b50978a019795505050918701916001016115f8565b50919998505050505050505050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b828110156116f057603f198886030184526116de8583516114e4565b945092850192908501906001016116c2565b5092979650505050505050565b600181811c9082168061171157607f821691505b60208210810361173157634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561175f57600080fd5b5051919050565b600082516117788184602087016114c0565b9190910192915050565b60006020828403121561179457600080fd5b81516001600160a01b03811681146117ab57600080fd5b9392505050565b6001600160a01b03831681526040602082015260006117d460408301846114e4565b94935050505056fea2646970667358221220789f9c31e1369311daac8f2ea32a12484b2205287d5db997268b8cb54046e1aa64736f6c63430008130033","sourceMap":"833:2031:17:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1763:107:15;;;:::i;:::-;;;-1:-1:-1;;;;;178:55:151;;;160:74;;148:2;133:18;1763:107:15;;;;;;;;2429:119;;;:::i;4045:101::-;;;:::i;226:92::-;306:4;226:92;;905:138;968:7;905:138;;2159:111:17;2244:19;;-1:-1:-1;;;;;2244:19:17;2159:111;;2572:97;2650:12;;2572:97;;;391:25:151;;;379:2;364:18;2572:97:17;245:177:151;3126:109:15;;;:::i;2554:113::-;;;:::i;2452:134:26:-;;;:::i;:::-;;;;;;;:::i;3360:151::-;;;:::i;:::-;;;;;;;:::i;2757:105:17:-;2839:16;;-1:-1:-1;;;;;2839:16:17;2757:105;;2276:97;2354:12;;2276:97;;3221:133:26;;;:::i;2922:141::-;;;:::i;1331:118:15:-;;;:::i;3366:113::-;;;:::i;4257:::-;;;:::i;4152:99::-;;;:::i;2738:178:26:-;;;:::i;:::-;;;;;;;:::i;1876:107:15:-;;;:::i;2792:241::-;;;:::i;4376:105::-;;;:::i;1989:232::-;;;:::i;610:85:17:-;678:10;;;;;-1:-1:-1;;;;;678:10:17;610:85;;2673:113:15;;;:::i;439:101::-;;;:::i;2592:140:26:-;;;:::i;:::-;;;;;;;:::i;1537:101:15:-;;;:::i;3485:113::-;;;:::i;3069:146:26:-;;;:::i;3604:241:15:-;;;:::i;3938:101::-;;;:::i;2157:141:26:-;;;:::i;1243:204:22:-;;;:::i;:::-;;;6280:14:151;;6273:22;6255:41;;6243:2;6228:18;1243:204:22;6115:187:151;2461:105:17;2543:16;;-1:-1:-1;;;;;2543:16:17;2461:105;;1644:113:15;;;:::i;2314:109::-;;;:::i;4571:105::-;;;:::i;546:124::-;;;:::i;324:109::-;;;:::i;2304:142:26:-;;;:::i;3241:119:15:-;;;:::i;1016:26:33:-;;;;;;;;;2050:103:17;2131:15;;2050:103;;1763:107:15;1812:7;1838:25;;;;;;;;;;;;;;;;;;:8;:25::i;:::-;1831:32;;1763:107;:::o;2429:119::-;2484:7;2510:31;;;;;;;;;;;;;;;;;;:8;:31::i;4045:101::-;4091:7;4117:22;;;;;;;;;;;;;;;;;;:8;:22::i;3126:109::-;3176:7;3202:26;;;;;;;;;;;;;;;;;;:8;:26::i;2554:113::-;2606:7;2632:28;;;;;;;;;;;;;;;;;;:8;:28::i;2452:134:26:-;2499:33;2563:16;2544:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2544:35:26;;;;;;;;;;;;;;;;;;;;;;;2452:134;:::o;3360:151::-;3409:42;3485:19;3463:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3463:41:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3360:151;:::o;3221:133::-;3267:33;3331:16;3312:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3312:35:26;;;;;;;;;;;;;;;;;;;;;;3221:133;:::o;2922:141::-;2970:35;3038:18;3017:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3017:39:26;;;;;;;;;;;;;;;;;;;;;;2922:141;:::o;1331:118:15:-;1426:16;;;1440:1;1426:16;;;1391;1426;;;;;1391;1426;;;;;;;;;;-1:-1:-1;1426:16:15;1419:23;;1331:118;:::o;3366:113::-;3418:7;3444:28;;;;;;;;;;;;;;;;;;:8;:28::i;4257:113::-;4309:7;4335:28;;;;;;;;;;;;;;;;;;:8;:28::i;4152:99::-;4197:7;4223:21;;;;;;;;;;;;;;;;;;:8;:21::i;2738:178:26:-;2794:48;2883:26;2854:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2854:55:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1876:107:15;1925:7;1951:25;;;;;;;;;;;;;;;;;;:8;:25::i;2792:241::-;2900:16;;;2914:1;2900:16;;;2844;2900;;;;;2844;2872:25;;2900:16;2914:1;2900:16;;;;;;;;;;-1:-1:-1;2900:16:15;2872:44;;2940:18;:16;:18::i;:::-;2926:8;2935:1;2926:11;;;;;;;;:::i;:::-;;;;;;:32;-1:-1:-1;;;;;2926:32:15;;;-1:-1:-1;;;;;2926:32:15;;;;;2982:18;:16;:18::i;:::-;2968:8;2977:1;2968:11;;;;;;;;:::i;:::-;-1:-1:-1;;;;;2968:32:15;;;:11;;;;;;;;;;;:32;3018:8;2792:241;-1:-1:-1;2792:241:15:o;4376:105::-;4424:7;4450:24;;;;;;;;;;;;;;;;;;:8;:24::i;1989:232::-;2094:16;;;2108:1;2094:16;;;2038;2094;;;;;2038;2066:25;;2094:16;2108:1;2094:16;;;;;;;;;;-1:-1:-1;2094:16:15;2066:44;;2134:15;:13;:15::i;:::-;2120:8;2129:1;2120:11;;;;;;;;:::i;:::-;;;;;;:29;-1:-1:-1;;;;;2120:29:15;;;-1:-1:-1;;;;;2120:29:15;;;;;2173:15;:13;:15::i;2673:113::-;2725:7;2751:28;;;;;;;;;;;;;;;;;;:8;:28::i;439:101::-;485:7;511:22;;;;;;;;;;;;;;;;;;:8;:22::i;2592:140:26:-;2640:34;2707:18;2686:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1537:101:15;1583:7;1609:22;;;;;;;;;;;;;;;;;;:8;:22::i;3485:113::-;3537:7;3563:28;;;;;;;;;;;;;;;;;;:8;:28::i;3069:146:26:-;3117:40;3190:18;3169:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3169:39:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3604:241:15;3712:16;;;3726:1;3712:16;;;3656;3712;;;;;3656;3684:25;;3712:16;3726:1;3712:16;;;;;;;;;;-1:-1:-1;3712:16:15;3684:44;;3752:18;:16;:18::i;:::-;3738:8;3747:1;3738:11;;;;;;;;:::i;:::-;;;;;;:32;-1:-1:-1;;;;;3738:32:15;;;-1:-1:-1;;;;;3738:32:15;;;;;3794:18;:16;:18::i;3938:101::-;3984:7;4010:22;;;;;;;;;;;;;;;;;;:8;:22::i;2157:141:26:-;2206:34;2273:18;2252:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1243:204:22;1302:7;;1282:4;;1302:7;;1298:143;;;-1:-1:-1;1332:7:22;;;;;1243:204::o;1298:143::-;1377:39;;;;;:7;:39;;;7548:74:151;;;1398:17:22;7638:18:151;;;7631:34;1428:1:22;;1377:7;;7521:18:151;;1377:39:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:53;;1370:60;;1243:204;:::o;1644:113:15:-;1696:7;1722:28;;;;;;;;;;;;;;;;;;:8;:28::i;2314:109::-;2364:7;2390:26;;;;;;;;;;;;;;;;;;:8;:26::i;4571:105::-;4620:7;4646:23;;;;;;;;;;;;;;;;;;:8;:23::i;546:124::-;595:15;637:25;;;;;;;;;;;;;;;;;;:8;:25::i;324:109::-;374:7;400:26;;;;;;;;;;;;;;;;;;:8;:26::i;2304:142:26:-;2353:35;2421:18;2400:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2400:39:26;;;;;;;;;;;;;;;;;;;;;;2304:142;:::o;3241:119:15:-;3296:7;3322:31;;;;;;;;;;;;;;;;;;20439:125:24;20503:12;20537:20;20552:4;20537:14;:20::i;:::-;-1:-1:-1;20527:30:24;20439:125;-1:-1:-1;;20439:125:24:o;20158:242::-;20228:12;20242:18;20320:4;20303:22;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;20303:22:24;;;;;;;20293:33;;20303:22;20293:33;;;;20344:19;;;;;;391:25:151;;;20293:33:24;-1:-1:-1;20344:7:24;;;;364:18:151;;20344:19:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;20373:20;;;;;20337:26;;-1:-1:-1;20373:8:24;;;;:20;;20337:26;;20388:4;;20373:20;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20158:242;;;:::o;427:681:151:-;598:2;650:21;;;720:13;;623:18;;;742:22;;;569:4;;598:2;821:15;;;;795:2;780:18;;;569:4;864:218;878:6;875:1;872:13;864:218;;;943:13;;-1:-1:-1;;;;;939:62:151;927:75;;1057:15;;;;1022:12;;;;900:1;893:9;864:218;;;-1:-1:-1;1099:3:151;;427:681;-1:-1:-1;;;;;;427:681:151:o;1113:250::-;1198:1;1208:113;1222:6;1219:1;1216:13;1208:113;;;1298:11;;;1292:18;1279:11;;;1272:39;1244:2;1237:10;1208:113;;;-1:-1:-1;;1355:1:151;1337:16;;1330:27;1113:250::o;1368:271::-;1410:3;1448:5;1442:12;1475:6;1470:3;1463:19;1491:76;1560:6;1553:4;1548:3;1544:14;1537:4;1530:5;1526:16;1491:76;:::i;:::-;1621:2;1600:15;-1:-1:-1;;1596:29:151;1587:39;;;;1628:4;1583:50;;1368:271;-1:-1:-1;;1368:271:151:o;1644:1767::-;1879:2;1931:21;;;2001:13;;1904:18;;;2023:22;;;1850:4;;1879:2;2064;;2082:18;;;;2119:1;2162:15;;;2147:31;;2143:40;;2206:15;;;1850:4;;2270:1112;2286:6;2281:3;2278:15;2270:1112;;;-1:-1:-1;;2355:22:151;;;2351:36;2339:49;;2411:13;;2498:9;;-1:-1:-1;;;;;2494:58:151;2479:74;;2592:11;;2586:18;2624:15;;;2617:27;;;2705:19;;2451:15;;;2737:24;;;2918:21;;;;2784:2;2866:17;;;2854:30;;2850:39;;;2808:15;;;;2963:1;2977:296;2993:8;2988:3;2985:17;2977:296;;;3099:2;3095:7;3086:6;3078;3074:19;3070:33;3063:5;3056:48;3131:42;3166:6;3155:8;3149:15;3131:42;:::i;:::-;3202:17;;;;3121:52;-1:-1:-1;3245:14:151;;;;3021:1;3012:11;2977:296;;;-1:-1:-1;;;3360:12:151;;;;3296:6;-1:-1:-1;;3325:15:151;;;;2312:1;2303:11;2270:1112;;;-1:-1:-1;3399:6:151;;1644:1767;-1:-1:-1;;;;;;;;;;1644:1767:151:o;3416:1638::-;3620:4;3649:2;3689;3678:9;3674:18;3719:2;3708:9;3701:21;3742:6;3777;3771:13;3808:6;3800;3793:22;3834:2;3824:12;;3867:2;3856:9;3852:18;3845:25;;3929:2;3919:6;3916:1;3912:14;3901:9;3897:30;3893:39;3967:2;3959:6;3955:15;3988:1;4009;4019:1006;4035:6;4030:3;4027:15;4019:1006;;;4104:22;;;-1:-1:-1;;4100:36:151;4088:49;;4160:13;;4247:9;;-1:-1:-1;;;;;4243:58:151;4228:74;;4341:11;;4335:18;4373:15;;;4366:27;;;4454:19;;4200:15;;;4486:24;;;4576:21;;;;4621:1;;4544:2;4532:15;;;4635:282;4651:8;4646:3;4643:17;4635:282;;;4732:15;;4749:66;4728:88;4714:103;;4886:17;;;;4679:1;4670:11;;;;;4843:14;;;;4635:282;;;-1:-1:-1;5003:12:151;;;;4940:5;-1:-1:-1;;;4968:15:151;;;;4061:1;4052:11;4019:1006;;;-1:-1:-1;5042:6:151;;3416:1638;-1:-1:-1;;;;;;;;;3416:1638:151:o;5307:803::-;5469:4;5498:2;5538;5527:9;5523:18;5568:2;5557:9;5550:21;5591:6;5626;5620:13;5657:6;5649;5642:22;5695:2;5684:9;5680:18;5673:25;;5757:2;5747:6;5744:1;5740:14;5729:9;5725:30;5721:39;5707:53;;5795:2;5787:6;5783:15;5816:1;5826:255;5840:6;5837:1;5834:13;5826:255;;;5933:2;5929:7;5917:9;5909:6;5905:22;5901:36;5896:3;5889:49;5961:40;5994:6;5985;5979:13;5961:40;:::i;:::-;5951:50;-1:-1:-1;6059:12:151;;;;6024:15;;;;5862:1;5855:9;5826:255;;;-1:-1:-1;6098:6:151;;5307:803;-1:-1:-1;;;;;;;5307:803:151:o;6554:437::-;6633:1;6629:12;;;;6676;;;6697:61;;6751:4;6743:6;6739:17;6729:27;;6697:61;6804:2;6796:6;6793:14;6773:18;6770:38;6767:218;;-1:-1:-1;;;6838:1:151;6831:88;6942:4;6939:1;6932:15;6970:4;6967:1;6960:15;6767:218;;6554:437;;;:::o;7185:184::-;-1:-1:-1;;;7234:1:151;7227:88;7334:4;7331:1;7324:15;7358:4;7355:1;7348:15;7676:184;7746:6;7799:2;7787:9;7778:7;7774:23;7770:32;7767:52;;;7815:1;7812;7805:12;7767:52;-1:-1:-1;7838:16:151;;7676:184;-1:-1:-1;7676:184:151:o;7865:289::-;7996:3;8034:6;8028:13;8050:66;8109:6;8104:3;8097:4;8089:6;8085:17;8050:66;:::i;:::-;8132:16;;;;;7865:289;-1:-1:-1;;7865:289:151:o;8341:313::-;8411:6;8464:2;8452:9;8443:7;8439:23;8435:32;8432:52;;;8480:1;8477;8470:12;8432:52;8512:9;8506:16;-1:-1:-1;;;;;8555:5:151;8551:54;8544:5;8541:65;8531:93;;8620:1;8617;8610:12;8531:93;8643:5;8341:313;-1:-1:-1;;;8341:313:151:o;8659:340::-;-1:-1:-1;;;;;8840:6:151;8836:55;8825:9;8818:74;8928:2;8923;8912:9;8908:18;8901:30;8799:4;8948:45;8989:2;8978:9;8974:18;8966:6;8948:45;:::i;:::-;8940:53;8659:340;-1:-1:-1;;;;8659:340:151:o","linkReferences":{}},"methodIdentifiers":{"IS_TEST()":"fa7626d4","allo_owner()":"7cbe79ed","allo_treasury()":"da4bf087","excludeArtifacts()":"b5508aa9","excludeContracts()":"e20c9f71","excludeSenders()":"1ed7831c","failed()":"ba414fa6","local()":"0f166ad4","no_recipient()":"759c9a86","nullProfile_member1()":"829e423f","nullProfile_member2()":"8c7408c4","nullProfile_members()":"4bf4ba21","nullProfile_notAMember()":"174eedde","nullProfile_owner()":"74d9284e","poolProfile_anchor()":"176effb3","poolProfile_id()":"fd325c60","pool_admin()":"8e0d1a50","pool_manager1()":"00b1fad7","pool_manager2()":"6a38dd0a","pool_managers()":"79e62d0d","pool_notAManager()":"d1e82b58","profile1_anchor()":"c5d7d73b","profile1_id()":"39f56f7f","profile1_member1()":"1e7bcb2e","profile1_member2()":"7b2edf32","profile1_members()":"70a32944","profile1_notAMember()":"030e4006","profile1_owner()":"d1f2cd88","profile2_anchor()":"3554642a","profile2_id()":"18540361","profile2_member1()":"587c1243","profile2_member2()":"8e3c2493","profile2_members()":"a407c67a","profile2_notAMember()":"ef0d790f","profile2_owner()":"1b96dce6","randomAddress()":"d5bee9f5","recipient()":"66d003ac","recipient1()":"aa3744bd","recipient2()":"0688b135","recipientAddress()":"5aff5999","registry()":"7b103999","registry_owner()":"dac4eb16","targetArtifactSelectors()":"66d9a9a0","targetArtifacts()":"85226c81","targetContracts()":"3f7286f4","targetInterfaces()":"2ade3880","targetSelectors()":"916a17c6","targetSenders()":"3e5e3c23"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"log_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"val\",\"type\":\"uint256[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256[]\",\"name\":\"val\",\"type\":\"int256[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"val\",\"type\":\"address[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"log_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"log_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"name\":\"log_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"val\",\"type\":\"address\"}],\"name\":\"log_named_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"val\",\"type\":\"uint256[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256[]\",\"name\":\"val\",\"type\":\"int256[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"val\",\"type\":\"address[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"val\",\"type\":\"bytes\"}],\"name\":\"log_named_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"val\",\"type\":\"bytes32\"}],\"name\":\"log_named_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"}],\"name\":\"log_named_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"val\",\"type\":\"string\"}],\"name\":\"log_named_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"}],\"name\":\"log_named_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"log_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"logs\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"IS_TEST\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"allo_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"allo_treasury\",\"outputs\":[{\"internalType\":\"address payable\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeArtifacts\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"excludedArtifacts_\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeContracts\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"excludedContracts_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeSenders\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"excludedSenders_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"failed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"local\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"no_recipient\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_member1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_member2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_members\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_notAMember\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"poolProfile_anchor\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"poolProfile_id\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_admin\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_manager1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_manager2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_managers\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_notAManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_anchor\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_id\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_member1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_member2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_members\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_notAMember\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_anchor\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_id\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_member1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_member2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_members\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_notAMember\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"randomAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"recipient\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"recipient1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"recipient2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"recipientAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"registry\",\"outputs\":[{\"internalType\":\"contract Registry\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"registry_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetArtifactSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzSelector[]\",\"name\":\"targetedArtifactSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetArtifacts\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"targetedArtifacts_\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetContracts\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"targetedContracts_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetInterfaces\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"string[]\",\"name\":\"artifacts\",\"type\":\"string[]\"}],\"internalType\":\"struct StdInvariant.FuzzInterface[]\",\"name\":\"targetedInterfaces_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzSelector[]\",\"name\":\"targetedSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetSenders\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"targetedSenders_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"title\":\"RegistrySetupFull\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"This contract is used to setup a Registry contract with two identities for testing purposes.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/allo-v2/test/foundry/shared/RegistrySetup.sol\":\"RegistrySetupFull\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1000},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-contracts/=lib/safe-contracts/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"]},\"sources\":{\"lib/allo-v2/contracts/core/Anchor.sol\":{\"keccak256\":\"0x6f470a8d0bab0848d3c3b7fb076b4001ff8b6bfd18f4bd6691a50ee6a13910cd\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://4ed2ae6e417c282a07088fa9a30325fe5b2fa6d406ec02dc1df63027e82ec139\",\"dweb:/ipfs/QmdVDTJKzjJqkygZ9768krrVQicLZTJVrZXbvet7KsmT8H\"]},\"lib/allo-v2/contracts/core/Registry.sol\":{\"keccak256\":\"0xb4fb0c6d9eb0f27dd6f6099f2832054a0b194ce420c6870deb5a7a94dd88b998\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://0e82595dcff5471f50e67cc35f73dbc1c9344eac1ee9b42235372bd23ceee283\",\"dweb:/ipfs/QmS34kQKRBaE7ih8c5upBb11bg3QtjunvctxKYNrtfGWhR\"]},\"lib/allo-v2/contracts/core/interfaces/IRegistry.sol\":{\"keccak256\":\"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e\",\"dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA\"]},\"lib/allo-v2/contracts/core/libraries/Errors.sol\":{\"keccak256\":\"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf\",\"dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA\"]},\"lib/allo-v2/contracts/core/libraries/Metadata.sol\":{\"keccak256\":\"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c\",\"dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn\"]},\"lib/allo-v2/contracts/core/libraries/Native.sol\":{\"keccak256\":\"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a\",\"dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv\"]},\"lib/allo-v2/contracts/core/libraries/Transfer.sol\":{\"keccak256\":\"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11\",\"dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5\"]},\"lib/allo-v2/lib/solady/src/tokens/ERC20.sol\":{\"keccak256\":\"0x264e4675697d05dfb9bbe9cc91c6bda7962d934f1e940336fd75d509b7f396c4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5856338689f03f36c057203c5085243e104b8487274432062ebf076b512edeea\",\"dweb:/ipfs/QmXrqgaWQikKkHfoBkYPxeMTJWUY5uf7kSmipNbpU35XwK\"]},\"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol\":{\"keccak256\":\"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298\",\"dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt\"]},\"lib/allo-v2/test/foundry/shared/Accounts.sol\":{\"keccak256\":\"0x47c754ab744c6c9894aaff23cfbbe44bc30879a53fbbe8d36b1fee26137f2e3a\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://8e457b7adaf1ea79cc707e8a3e2989855f51ff98ebc1947b3239d7d410d5a07b\",\"dweb:/ipfs/QmSXASZ4u435D29T4UzKuh6kd8vLSrbSSgZzjnnhfwyv1m\"]},\"lib/allo-v2/test/foundry/shared/RegistrySetup.sol\":{\"keccak256\":\"0xb771e6d89c173abc626b0e6d30d1b2d8efed2c2b27cec3f49e9447c07b92622b\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://990cf93f5c90db3ab160c8a3b68b03561a7c2812b4c9763c901a3ac8b121ccdb\",\"dweb:/ipfs/QmeSruv7KW2ZeRe4iQnt1HA6jkAyu5GrohC4YRVZYMNz6j\"]},\"lib/forge-std/src/Base.sol\":{\"keccak256\":\"0x4ff1a785311017d1eedb1b4737956fa383067ad34eb439abfec1d989754dde1c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f553622969b9fdb930246704a4c10dfaee6b1a4468c142fa7eb9dc292a438224\",\"dweb:/ipfs/QmcxqHnqdQsMVtgsfH9VNLmZ3g7GhgNagfq7yvNCDcCHFK\"]},\"lib/forge-std/src/StdAssertions.sol\":{\"keccak256\":\"0xf513292ab066e6017db48ca749c1e63a44dfc5cba0326fc65c718f96e029d361\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://02d715ae2898f1fabd08133f80e6a7a3b87a2796ca5d23d1cb3fed9f4367f34c\",\"dweb:/ipfs/QmfESqa4j3PQAvvdfrnDQ1xUH1TnVCfvZYHsAEDK8z4X4k\"]},\"lib/forge-std/src/StdChains.sol\":{\"keccak256\":\"0x9cc29c28f49d0b7f7b2f1aa32d8273f8a087bf62eb3fb22d893df824052c25ef\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://42dcb36cb10b878a0d5b20ce3a4a3ba4f51f44d7731a66ac1133c699bc80b31b\",\"dweb:/ipfs/QmY6q7SaHQMLBb3rS6xZdArPaXoskWeqF6oJwUeZ3gKLZj\"]},\"lib/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0xb72f3519e0bf7d31df5d68557525f4fc55d861c3fb3b0f7793144ef7c94cbeb7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f3456d0f78e6f61203fa7871ba2df0d35925f10db3baee14be623ce2a35b84e2\",\"dweb:/ipfs/QmWE6QQSBvJifHMraisBTrf1x4WCwrDoTPLX8UKajTiApc\"]},\"lib/forge-std/src/StdError.sol\":{\"keccak256\":\"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6\",\"dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj\"]},\"lib/forge-std/src/StdInvariant.sol\":{\"keccak256\":\"0x67299bfacd77fddfa2a67b8e2b901e0e333618a4975fb94850b07475e51f6de6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1b61121d310f4053ce344b345b4a9ccf43b059daf9097ec2647f594beaca896d\",\"dweb:/ipfs/QmZUCoTtXBM9zfAZVbj2dFPPnKaV1CSZzXE7zictyg3Gfz\"]},\"lib/forge-std/src/StdJson.sol\":{\"keccak256\":\"0x62bed173cb126f6d5006706cf249bac8a2d51bfa18f773f314784ff18adc622d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5acc33dddbf2492e37dc32e89cd56ce917272d303a6874805f3a5768a6bfbf54\",\"dweb:/ipfs/QmTsgFhcpUf16gAVazUXU3WspgX8nHke2hzVCvoqS25WEp\"]},\"lib/forge-std/src/StdMath.sol\":{\"keccak256\":\"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92\",\"dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0x651d84d948832f0ef45686417aa68ffb871378fa788a4123dbf37844903c66f3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ff20f5ac9de3dc3ba86b1bf1f2723174e82ce3499ad67cb0ccfa7d28baeee678\",\"dweb:/ipfs/QmRZkUFKz7AmF7yk6o317sk822HHhGVPXZQgX8G4LfYfft\"]},\"lib/forge-std/src/StdStyle.sol\":{\"keccak256\":\"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8\",\"dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK\"]},\"lib/forge-std/src/StdToml.sol\":{\"keccak256\":\"0xc8a57915ace96f5b6a85b57e57690fc038cad9034a3dc368c11828a3707c61ab\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fa880a1a6e5d94005dcf4811b4c0df8d9c06407017ae111bd351483e2b76a72d\",\"dweb:/ipfs/QmcxkEE58gE1vDcZofTr8QpvdjXjgR72yYg7o4vTPSLCsy\"]},\"lib/forge-std/src/StdUtils.sol\":{\"keccak256\":\"0x502b18a4becda6ecd91fa8b419d8034946bfa80e6cc7f6497f51f8565bfadae0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bf499ee483a1dfd02023d4ce78ed4029a49794ccd5b849aaab912faea0d2ba61\",\"dweb:/ipfs/QmP6hwNZW7sYbQK9fBzuZWxfLm6Swx2nKzvZ54qWNqQkzX\"]},\"lib/forge-std/src/Test.sol\":{\"keccak256\":\"0x3b4bb409a156dee9ce261458117fe9f81080ca844a8a26c07c857c46d155effe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5792c69fe24bdc063a14e08fe68275007fdb1e5e7e343840a77938cb7e95a64e\",\"dweb:/ipfs/QmcAMhaurUwzhytJFYix4vRNeZeV8g27b8LnV3t7dvYtiK\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x51fec240abc6dd23e0ee6de7c65106379aef732cad6c4ae5df6b55db886e7456\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://a47d9c0a9876e7f9e411843b994a741d4ac1a87d8459ffc3c56359de691ddc1a\",\"dweb:/ipfs/QmQiFN9b3Y2azrD1RBfAKEuAG3YeJkMzA2DGzgEE9kMeEK\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]},\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0x954646445d1014c3cd85c7918f5e7adeeca5ee44b68c00bafa237e597a4e35ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://516fa3be52da4763147175bfba4be0aa011fadbb0c1afb01f97265bd4cee7973\",\"dweb:/ipfs/QmdixAyMJefx7qePChgdxcBH5MxhmN7vsqPuPLx3CgrVmF\"]},\"lib/forge-std/src/interfaces/IERC165.sol\":{\"keccak256\":\"0x414b2861b1acbf816ccb7346d3f16cf6c1e002e9e5e40d2f1f26fa5ddc2ea600\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://698352fb240868ea8f1d1fe389993035eeab930f10d06934f80ccfb2b6ccbfbc\",\"dweb:/ipfs/QmT6WLHAgXxFhh12kWym895oTzXid1326iZiwT3pyfggoT\"]},\"lib/forge-std/src/interfaces/IERC20.sol\":{\"keccak256\":\"0x4cab887298790f908c27de107e4e2907ca5413aee482ef776f8d2f353c5ef947\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb715e0c4a2bdbe432bb624501506041f06e878e0b72675aebba30ad2c2b72e7\",\"dweb:/ipfs/QmWhhLSvkxS2NrukJJHqFY8gDVE5r9rD4PfHvR24pwdKv9\"]},\"lib/forge-std/src/interfaces/IERC721.sol\":{\"keccak256\":\"0xf069262a264fdb69f8f37a10d2df7374649e9ba73f8414c9c8a3b51184625f15\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://924a41ca82a68ffbd503a5faf2f76d13e9938f10501a71094716f12bb64b4b7f\",\"dweb:/ipfs/QmdWnqfKc5ZGhmxNPTde4zrFchnv9Yk9MpCMb2rdhXE5gm\"]},\"lib/forge-std/src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0\",\"dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2\"]},\"lib/forge-std/src/mocks/MockERC20.sol\":{\"keccak256\":\"0xadbdfc6639edec00ba94bb1133a0fd8de31ccafe45c2ef5df9b3ca61b60b559b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc766f01bccf669abac8cc7b2096cc1352a66471ca3772ae61b1801dedc4ed4f\",\"dweb:/ipfs/QmNigaPj1LYkP7Z5xr4ijkUxr2K66fDGeoifG3WoM9ruyw\"]},\"lib/forge-std/src/mocks/MockERC721.sol\":{\"keccak256\":\"0x3293dcbb7acd28df553c954e4e39e288bf10aab7ecda8d50ef21b4f4a91a28d9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9eb374daf6df34f4392f8926f1fddbce9f22c423066aeaefdfbe77395f77967b\",\"dweb:/ipfs/QmWR81zBJRX2uyRjveGzikYPj6ZwKppWsU49YEQXTLWUsN\"]},\"lib/forge-std/src/safeconsole.sol\":{\"keccak256\":\"0xbaf41fdc6c54297e7cd8250e48b0f20eaac918e342a1028cef3f9a52ac086381\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a500ad81dea226f9910e6b50f99a9ff930105e393a692cbfb2185e4cdb4424ae\",\"dweb:/ipfs/QmVbUQpXNMmMWRiy4FvBNczzq46BMGfUoBikvSHNiCxVTq\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0xc8710577334e8d0799ae2b2a731b1924a7bddd64319da9787ddd2dc69bdd1ce5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b83b7afa4d2372da3ba5402fb10860a105c35d79812c60dc61007be2afc17618\",\"dweb:/ipfs/QmYX9xPmbNVSKXrepKiUZiG5oL3SdzFp9a4kqspxX1sEUx\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol\":{\"keccak256\":\"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c\",\"dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e\",\"dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b\",\"dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95\",\"dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol\":{\"keccak256\":\"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a\",\"dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0xd90d7723512df65ae417adaf0801042940f0dabd60039ceeaffe34aa5b238da1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1b13befeb3413749292f9fb229de1c7a509a5ce2c8047d9094fc004ca9d3af89\",\"dweb:/ipfs/QmRzJ2hZSwRtMejHUZAYTPRKgZsnfb112Fno9Jf3EiDfwA\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol\":{\"keccak256\":\"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758\",\"dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol\":{\"keccak256\":\"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91\",\"dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol\":{\"keccak256\":\"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4\",\"dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z\"]},\"lib/openzeppelin-contracts/contracts/token/ERC1155/IERC1155Receiver.sol\":{\"keccak256\":\"0xeb373f1fdc7b755c6a750123a9b9e3a8a02c1470042fd6505d875000a80bde0b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0e28648f994abf1d6bc345644a361cc0b7efa544f8bc0c8ec26011fed85a91ec\",\"dweb:/ipfs/QmVVE7AiRjKaQYYji7TkjmTeVzGpNmms5eoxqTCfvvpj6D\"]},\"lib/openzeppelin-contracts/contracts/token/ERC1155/utils/ERC1155Holder.sol\":{\"keccak256\":\"0x2e024ca51ce5abe16c0d34e6992a1104f356e2244eb4ccbec970435e8b3405e3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a74009db3c6fc8db851ba69ddb6795b5c1ef1120c5a00fd1a8dc3a717dd9d519\",\"dweb:/ipfs/QmZMk8Yh2X3gPS51ckUVLEXjZUhMSEeGApnA53WtjvLb9h\"]},\"lib/openzeppelin-contracts/contracts/token/ERC1155/utils/ERC1155Receiver.sol\":{\"keccak256\":\"0x3dd5e1a66a56f30302108a1da97d677a42b1daa60e503696b2bcbbf3e4c95bcb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0808de0ae4918c664643c885ca7fa6503e8ef2bd75609dfc85152c0128a3422d\",\"dweb:/ipfs/QmNrhFC1XgBKuuxfahFeiwi1MCdu3FLNpHj2uStgmf4iJj\"]},\"lib/openzeppelin-contracts/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708\",\"dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV\"]},\"lib/openzeppelin-contracts/contracts/token/ERC721/utils/ERC721Holder.sol\":{\"keccak256\":\"0x67ef46fef257faae47adb630aad49694dda0334e5f7a7c5fb386243b974886b5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c63284cf05ff845109190961e72ca27bd6a7b997f053d2ce21db83e9e285085c\",\"dweb:/ipfs/QmQBQVYJRzscToP6YaTRDvwYeLmr4V7kD1PjoG9mRpUYzU\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"string","name":"","type":"string","indexed":false}],"type":"event","name":"log","anonymous":false},{"inputs":[{"internalType":"address","name":"","type":"address","indexed":false}],"type":"event","name":"log_address","anonymous":false},{"inputs":[{"internalType":"uint256[]","name":"val","type":"uint256[]","indexed":false}],"type":"event","name":"log_array","anonymous":false},{"inputs":[{"internalType":"int256[]","name":"val","type":"int256[]","indexed":false}],"type":"event","name":"log_array","anonymous":false},{"inputs":[{"internalType":"address[]","name":"val","type":"address[]","indexed":false}],"type":"event","name":"log_array","anonymous":false},{"inputs":[{"internalType":"bytes","name":"","type":"bytes","indexed":false}],"type":"event","name":"log_bytes","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32","indexed":false}],"type":"event","name":"log_bytes32","anonymous":false},{"inputs":[{"internalType":"int256","name":"","type":"int256","indexed":false}],"type":"event","name":"log_int","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"address","name":"val","type":"address","indexed":false}],"type":"event","name":"log_named_address","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"uint256[]","name":"val","type":"uint256[]","indexed":false}],"type":"event","name":"log_named_array","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"int256[]","name":"val","type":"int256[]","indexed":false}],"type":"event","name":"log_named_array","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"address[]","name":"val","type":"address[]","indexed":false}],"type":"event","name":"log_named_array","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"bytes","name":"val","type":"bytes","indexed":false}],"type":"event","name":"log_named_bytes","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"bytes32","name":"val","type":"bytes32","indexed":false}],"type":"event","name":"log_named_bytes32","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"int256","name":"val","type":"int256","indexed":false},{"internalType":"uint256","name":"decimals","type":"uint256","indexed":false}],"type":"event","name":"log_named_decimal_int","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"uint256","name":"val","type":"uint256","indexed":false},{"internalType":"uint256","name":"decimals","type":"uint256","indexed":false}],"type":"event","name":"log_named_decimal_uint","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"int256","name":"val","type":"int256","indexed":false}],"type":"event","name":"log_named_int","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"string","name":"val","type":"string","indexed":false}],"type":"event","name":"log_named_string","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"uint256","name":"val","type":"uint256","indexed":false}],"type":"event","name":"log_named_uint","anonymous":false},{"inputs":[{"internalType":"string","name":"","type":"string","indexed":false}],"type":"event","name":"log_string","anonymous":false},{"inputs":[{"internalType":"uint256","name":"","type":"uint256","indexed":false}],"type":"event","name":"log_uint","anonymous":false},{"inputs":[{"internalType":"bytes","name":"","type":"bytes","indexed":false}],"type":"event","name":"logs","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"IS_TEST","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"allo_owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"allo_treasury","outputs":[{"internalType":"address payable","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"excludeArtifacts","outputs":[{"internalType":"string[]","name":"excludedArtifacts_","type":"string[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"excludeContracts","outputs":[{"internalType":"address[]","name":"excludedContracts_","type":"address[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"excludeSenders","outputs":[{"internalType":"address[]","name":"excludedSenders_","type":"address[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"failed","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"local","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"no_recipient","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"nullProfile_member1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"nullProfile_member2","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"nullProfile_members","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"nullProfile_notAMember","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"nullProfile_owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"poolProfile_anchor","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"poolProfile_id","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pool_admin","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pool_manager1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pool_manager2","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pool_managers","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pool_notAManager","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"profile1_anchor","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"profile1_id","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile1_member1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile1_member2","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile1_members","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile1_notAMember","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile1_owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"profile2_anchor","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"profile2_id","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile2_member1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile2_member2","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile2_members","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile2_notAMember","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile2_owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"randomAddress","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"recipient","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"recipient1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"recipient2","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"recipientAddress","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"registry","outputs":[{"internalType":"contract Registry","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"registry_owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetArtifactSelectors","outputs":[{"internalType":"struct StdInvariant.FuzzSelector[]","name":"targetedArtifactSelectors_","type":"tuple[]","components":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"bytes4[]","name":"selectors","type":"bytes4[]"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetArtifacts","outputs":[{"internalType":"string[]","name":"targetedArtifacts_","type":"string[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetContracts","outputs":[{"internalType":"address[]","name":"targetedContracts_","type":"address[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetInterfaces","outputs":[{"internalType":"struct StdInvariant.FuzzInterface[]","name":"targetedInterfaces_","type":"tuple[]","components":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"string[]","name":"artifacts","type":"string[]"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetSelectors","outputs":[{"internalType":"struct StdInvariant.FuzzSelector[]","name":"targetedSelectors_","type":"tuple[]","components":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"bytes4[]","name":"selectors","type":"bytes4[]"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetSenders","outputs":[{"internalType":"address[]","name":"targetedSenders_","type":"address[]"}]}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-contracts/=lib/safe-contracts/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":1000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib/allo-v2/test/foundry/shared/RegistrySetup.sol":"RegistrySetupFull"},"evmVersion":"paris","libraries":{}},"sources":{"lib/allo-v2/contracts/core/Anchor.sol":{"keccak256":"0x6f470a8d0bab0848d3c3b7fb076b4001ff8b6bfd18f4bd6691a50ee6a13910cd","urls":["bzz-raw://4ed2ae6e417c282a07088fa9a30325fe5b2fa6d406ec02dc1df63027e82ec139","dweb:/ipfs/QmdVDTJKzjJqkygZ9768krrVQicLZTJVrZXbvet7KsmT8H"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/Registry.sol":{"keccak256":"0xb4fb0c6d9eb0f27dd6f6099f2832054a0b194ce420c6870deb5a7a94dd88b998","urls":["bzz-raw://0e82595dcff5471f50e67cc35f73dbc1c9344eac1ee9b42235372bd23ceee283","dweb:/ipfs/QmS34kQKRBaE7ih8c5upBb11bg3QtjunvctxKYNrtfGWhR"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/interfaces/IRegistry.sol":{"keccak256":"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f","urls":["bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e","dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA"],"license":"MIT"},"lib/allo-v2/contracts/core/libraries/Errors.sol":{"keccak256":"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15","urls":["bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf","dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Metadata.sol":{"keccak256":"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44","urls":["bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c","dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Native.sol":{"keccak256":"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5","urls":["bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a","dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Transfer.sol":{"keccak256":"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286","urls":["bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11","dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5"],"license":"AGPL-3.0-only"},"lib/allo-v2/lib/solady/src/tokens/ERC20.sol":{"keccak256":"0x264e4675697d05dfb9bbe9cc91c6bda7962d934f1e940336fd75d509b7f396c4","urls":["bzz-raw://5856338689f03f36c057203c5085243e104b8487274432062ebf076b512edeea","dweb:/ipfs/QmXrqgaWQikKkHfoBkYPxeMTJWUY5uf7kSmipNbpU35XwK"],"license":"MIT"},"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol":{"keccak256":"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624","urls":["bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298","dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt"],"license":"MIT"},"lib/allo-v2/test/foundry/shared/Accounts.sol":{"keccak256":"0x47c754ab744c6c9894aaff23cfbbe44bc30879a53fbbe8d36b1fee26137f2e3a","urls":["bzz-raw://8e457b7adaf1ea79cc707e8a3e2989855f51ff98ebc1947b3239d7d410d5a07b","dweb:/ipfs/QmSXASZ4u435D29T4UzKuh6kd8vLSrbSSgZzjnnhfwyv1m"],"license":"AGPL-3.0-only"},"lib/allo-v2/test/foundry/shared/RegistrySetup.sol":{"keccak256":"0xb771e6d89c173abc626b0e6d30d1b2d8efed2c2b27cec3f49e9447c07b92622b","urls":["bzz-raw://990cf93f5c90db3ab160c8a3b68b03561a7c2812b4c9763c901a3ac8b121ccdb","dweb:/ipfs/QmeSruv7KW2ZeRe4iQnt1HA6jkAyu5GrohC4YRVZYMNz6j"],"license":"AGPL-3.0-only"},"lib/forge-std/src/Base.sol":{"keccak256":"0x4ff1a785311017d1eedb1b4737956fa383067ad34eb439abfec1d989754dde1c","urls":["bzz-raw://f553622969b9fdb930246704a4c10dfaee6b1a4468c142fa7eb9dc292a438224","dweb:/ipfs/QmcxqHnqdQsMVtgsfH9VNLmZ3g7GhgNagfq7yvNCDcCHFK"],"license":"MIT"},"lib/forge-std/src/StdAssertions.sol":{"keccak256":"0xf513292ab066e6017db48ca749c1e63a44dfc5cba0326fc65c718f96e029d361","urls":["bzz-raw://02d715ae2898f1fabd08133f80e6a7a3b87a2796ca5d23d1cb3fed9f4367f34c","dweb:/ipfs/QmfESqa4j3PQAvvdfrnDQ1xUH1TnVCfvZYHsAEDK8z4X4k"],"license":"MIT"},"lib/forge-std/src/StdChains.sol":{"keccak256":"0x9cc29c28f49d0b7f7b2f1aa32d8273f8a087bf62eb3fb22d893df824052c25ef","urls":["bzz-raw://42dcb36cb10b878a0d5b20ce3a4a3ba4f51f44d7731a66ac1133c699bc80b31b","dweb:/ipfs/QmY6q7SaHQMLBb3rS6xZdArPaXoskWeqF6oJwUeZ3gKLZj"],"license":"MIT"},"lib/forge-std/src/StdCheats.sol":{"keccak256":"0xb72f3519e0bf7d31df5d68557525f4fc55d861c3fb3b0f7793144ef7c94cbeb7","urls":["bzz-raw://f3456d0f78e6f61203fa7871ba2df0d35925f10db3baee14be623ce2a35b84e2","dweb:/ipfs/QmWE6QQSBvJifHMraisBTrf1x4WCwrDoTPLX8UKajTiApc"],"license":"MIT"},"lib/forge-std/src/StdError.sol":{"keccak256":"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77","urls":["bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6","dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj"],"license":"MIT"},"lib/forge-std/src/StdInvariant.sol":{"keccak256":"0x67299bfacd77fddfa2a67b8e2b901e0e333618a4975fb94850b07475e51f6de6","urls":["bzz-raw://1b61121d310f4053ce344b345b4a9ccf43b059daf9097ec2647f594beaca896d","dweb:/ipfs/QmZUCoTtXBM9zfAZVbj2dFPPnKaV1CSZzXE7zictyg3Gfz"],"license":"MIT"},"lib/forge-std/src/StdJson.sol":{"keccak256":"0x62bed173cb126f6d5006706cf249bac8a2d51bfa18f773f314784ff18adc622d","urls":["bzz-raw://5acc33dddbf2492e37dc32e89cd56ce917272d303a6874805f3a5768a6bfbf54","dweb:/ipfs/QmTsgFhcpUf16gAVazUXU3WspgX8nHke2hzVCvoqS25WEp"],"license":"MIT"},"lib/forge-std/src/StdMath.sol":{"keccak256":"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2","urls":["bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92","dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC"],"license":"MIT"},"lib/forge-std/src/StdStorage.sol":{"keccak256":"0x651d84d948832f0ef45686417aa68ffb871378fa788a4123dbf37844903c66f3","urls":["bzz-raw://ff20f5ac9de3dc3ba86b1bf1f2723174e82ce3499ad67cb0ccfa7d28baeee678","dweb:/ipfs/QmRZkUFKz7AmF7yk6o317sk822HHhGVPXZQgX8G4LfYfft"],"license":"MIT"},"lib/forge-std/src/StdStyle.sol":{"keccak256":"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d","urls":["bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8","dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK"],"license":"MIT"},"lib/forge-std/src/StdToml.sol":{"keccak256":"0xc8a57915ace96f5b6a85b57e57690fc038cad9034a3dc368c11828a3707c61ab","urls":["bzz-raw://fa880a1a6e5d94005dcf4811b4c0df8d9c06407017ae111bd351483e2b76a72d","dweb:/ipfs/QmcxkEE58gE1vDcZofTr8QpvdjXjgR72yYg7o4vTPSLCsy"],"license":"MIT"},"lib/forge-std/src/StdUtils.sol":{"keccak256":"0x502b18a4becda6ecd91fa8b419d8034946bfa80e6cc7f6497f51f8565bfadae0","urls":["bzz-raw://bf499ee483a1dfd02023d4ce78ed4029a49794ccd5b849aaab912faea0d2ba61","dweb:/ipfs/QmP6hwNZW7sYbQK9fBzuZWxfLm6Swx2nKzvZ54qWNqQkzX"],"license":"MIT"},"lib/forge-std/src/Test.sol":{"keccak256":"0x3b4bb409a156dee9ce261458117fe9f81080ca844a8a26c07c857c46d155effe","urls":["bzz-raw://5792c69fe24bdc063a14e08fe68275007fdb1e5e7e343840a77938cb7e95a64e","dweb:/ipfs/QmcAMhaurUwzhytJFYix4vRNeZeV8g27b8LnV3t7dvYtiK"],"license":"MIT"},"lib/forge-std/src/Vm.sol":{"keccak256":"0x51fec240abc6dd23e0ee6de7c65106379aef732cad6c4ae5df6b55db886e7456","urls":["bzz-raw://a47d9c0a9876e7f9e411843b994a741d4ac1a87d8459ffc3c56359de691ddc1a","dweb:/ipfs/QmQiFN9b3Y2azrD1RBfAKEuAG3YeJkMzA2DGzgEE9kMeEK"],"license":"MIT OR Apache-2.0"},"lib/forge-std/src/console.sol":{"keccak256":"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba","urls":["bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70","dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec"],"license":"MIT"},"lib/forge-std/src/console2.sol":{"keccak256":"0x954646445d1014c3cd85c7918f5e7adeeca5ee44b68c00bafa237e597a4e35ea","urls":["bzz-raw://516fa3be52da4763147175bfba4be0aa011fadbb0c1afb01f97265bd4cee7973","dweb:/ipfs/QmdixAyMJefx7qePChgdxcBH5MxhmN7vsqPuPLx3CgrVmF"],"license":"MIT"},"lib/forge-std/src/interfaces/IERC165.sol":{"keccak256":"0x414b2861b1acbf816ccb7346d3f16cf6c1e002e9e5e40d2f1f26fa5ddc2ea600","urls":["bzz-raw://698352fb240868ea8f1d1fe389993035eeab930f10d06934f80ccfb2b6ccbfbc","dweb:/ipfs/QmT6WLHAgXxFhh12kWym895oTzXid1326iZiwT3pyfggoT"],"license":"MIT"},"lib/forge-std/src/interfaces/IERC20.sol":{"keccak256":"0x4cab887298790f908c27de107e4e2907ca5413aee482ef776f8d2f353c5ef947","urls":["bzz-raw://bb715e0c4a2bdbe432bb624501506041f06e878e0b72675aebba30ad2c2b72e7","dweb:/ipfs/QmWhhLSvkxS2NrukJJHqFY8gDVE5r9rD4PfHvR24pwdKv9"],"license":"MIT"},"lib/forge-std/src/interfaces/IERC721.sol":{"keccak256":"0xf069262a264fdb69f8f37a10d2df7374649e9ba73f8414c9c8a3b51184625f15","urls":["bzz-raw://924a41ca82a68ffbd503a5faf2f76d13e9938f10501a71094716f12bb64b4b7f","dweb:/ipfs/QmdWnqfKc5ZGhmxNPTde4zrFchnv9Yk9MpCMb2rdhXE5gm"],"license":"MIT"},"lib/forge-std/src/interfaces/IMulticall3.sol":{"keccak256":"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a","urls":["bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0","dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2"],"license":"MIT"},"lib/forge-std/src/mocks/MockERC20.sol":{"keccak256":"0xadbdfc6639edec00ba94bb1133a0fd8de31ccafe45c2ef5df9b3ca61b60b559b","urls":["bzz-raw://bc766f01bccf669abac8cc7b2096cc1352a66471ca3772ae61b1801dedc4ed4f","dweb:/ipfs/QmNigaPj1LYkP7Z5xr4ijkUxr2K66fDGeoifG3WoM9ruyw"],"license":"MIT"},"lib/forge-std/src/mocks/MockERC721.sol":{"keccak256":"0x3293dcbb7acd28df553c954e4e39e288bf10aab7ecda8d50ef21b4f4a91a28d9","urls":["bzz-raw://9eb374daf6df34f4392f8926f1fddbce9f22c423066aeaefdfbe77395f77967b","dweb:/ipfs/QmWR81zBJRX2uyRjveGzikYPj6ZwKppWsU49YEQXTLWUsN"],"license":"MIT"},"lib/forge-std/src/safeconsole.sol":{"keccak256":"0xbaf41fdc6c54297e7cd8250e48b0f20eaac918e342a1028cef3f9a52ac086381","urls":["bzz-raw://a500ad81dea226f9910e6b50f99a9ff930105e393a692cbfb2185e4cdb4424ae","dweb:/ipfs/QmVbUQpXNMmMWRiy4FvBNczzq46BMGfUoBikvSHNiCxVTq"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol":{"keccak256":"0xc8710577334e8d0799ae2b2a731b1924a7bddd64319da9787ddd2dc69bdd1ce5","urls":["bzz-raw://b83b7afa4d2372da3ba5402fb10860a105c35d79812c60dc61007be2afc17618","dweb:/ipfs/QmYX9xPmbNVSKXrepKiUZiG5oL3SdzFp9a4kqspxX1sEUx"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol":{"keccak256":"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa","urls":["bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c","dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794","urls":["bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e","dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol":{"keccak256":"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422","urls":["bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b","dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef","urls":["bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95","dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol":{"keccak256":"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb","urls":["bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a","dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol":{"keccak256":"0xd90d7723512df65ae417adaf0801042940f0dabd60039ceeaffe34aa5b238da1","urls":["bzz-raw://1b13befeb3413749292f9fb229de1c7a509a5ce2c8047d9094fc004ca9d3af89","dweb:/ipfs/QmRzJ2hZSwRtMejHUZAYTPRKgZsnfb112Fno9Jf3EiDfwA"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol":{"keccak256":"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09","urls":["bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758","dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol":{"keccak256":"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e","urls":["bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91","dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol":{"keccak256":"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a","urls":["bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4","dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC1155/IERC1155Receiver.sol":{"keccak256":"0xeb373f1fdc7b755c6a750123a9b9e3a8a02c1470042fd6505d875000a80bde0b","urls":["bzz-raw://0e28648f994abf1d6bc345644a361cc0b7efa544f8bc0c8ec26011fed85a91ec","dweb:/ipfs/QmVVE7AiRjKaQYYji7TkjmTeVzGpNmms5eoxqTCfvvpj6D"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC1155/utils/ERC1155Holder.sol":{"keccak256":"0x2e024ca51ce5abe16c0d34e6992a1104f356e2244eb4ccbec970435e8b3405e3","urls":["bzz-raw://a74009db3c6fc8db851ba69ddb6795b5c1ef1120c5a00fd1a8dc3a717dd9d519","dweb:/ipfs/QmZMk8Yh2X3gPS51ckUVLEXjZUhMSEeGApnA53WtjvLb9h"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC1155/utils/ERC1155Receiver.sol":{"keccak256":"0x3dd5e1a66a56f30302108a1da97d677a42b1daa60e503696b2bcbbf3e4c95bcb","urls":["bzz-raw://0808de0ae4918c664643c885ca7fa6503e8ef2bd75609dfc85152c0128a3422d","dweb:/ipfs/QmNrhFC1XgBKuuxfahFeiwi1MCdu3FLNpHj2uStgmf4iJj"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC721/IERC721Receiver.sol":{"keccak256":"0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da","urls":["bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708","dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC721/utils/ERC721Holder.sol":{"keccak256":"0x67ef46fef257faae47adb630aad49694dda0334e5f7a7c5fb386243b974886b5","urls":["bzz-raw://c63284cf05ff845109190961e72ca27bd6a7b997f053d2ce21db83e9e285085c","dweb:/ipfs/QmQBQVYJRzscToP6YaTRDvwYeLmr4V7kD1PjoG9mRpUYzU"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol":{"keccak256":"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b","urls":["bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d","dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"}},"version":1},"storageLayout":{"storage":[{"astId":5830,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"stdstore","offset":0,"slot":"0","type":"t_struct(StdStorage)13235_storage"},{"astId":6026,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"_failed","offset":0,"slot":"8","type":"t_bool"},{"astId":8527,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"stdChainsInitialized","offset":1,"slot":"8","type":"t_bool"},{"astId":8548,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"chains","offset":0,"slot":"9","type":"t_mapping(t_string_memory_ptr,t_struct(Chain)8543_storage)"},{"astId":8552,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"defaultRpcUrls","offset":0,"slot":"10","type":"t_mapping(t_string_memory_ptr,t_string_storage)"},{"astId":8556,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"idToAlias","offset":0,"slot":"11","type":"t_mapping(t_uint256,t_string_storage)"},{"astId":8559,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"fallbackToDefaultRpcUrls","offset":0,"slot":"12","type":"t_bool"},{"astId":9317,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"gasMeteringOff","offset":1,"slot":"12","type":"t_bool"},{"astId":11354,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"stdstore","offset":0,"slot":"13","type":"t_struct(StdStorage)13235_storage"},{"astId":12222,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"_excludedContracts","offset":0,"slot":"21","type":"t_array(t_address)dyn_storage"},{"astId":12225,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"_excludedSenders","offset":0,"slot":"22","type":"t_array(t_address)dyn_storage"},{"astId":12228,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"_targetedContracts","offset":0,"slot":"23","type":"t_array(t_address)dyn_storage"},{"astId":12231,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"_targetedSenders","offset":0,"slot":"24","type":"t_array(t_address)dyn_storage"},{"astId":12234,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"_excludedArtifacts","offset":0,"slot":"25","type":"t_array(t_string_storage)dyn_storage"},{"astId":12237,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"_targetedArtifacts","offset":0,"slot":"26","type":"t_array(t_string_storage)dyn_storage"},{"astId":12241,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"_targetedArtifactSelectors","offset":0,"slot":"27","type":"t_array(t_struct(FuzzSelector)12213_storage)dyn_storage"},{"astId":12245,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"_targetedSelectors","offset":0,"slot":"28","type":"t_array(t_struct(FuzzSelector)12213_storage)dyn_storage"},{"astId":12249,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"_targetedInterfaces","offset":0,"slot":"29","type":"t_array(t_struct(FuzzInterface)12219_storage)dyn_storage"},{"astId":17834,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"IS_TEST","offset":0,"slot":"30","type":"t_bool"},{"astId":5104,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"_registry_","offset":1,"slot":"30","type":"t_contract(Registry)2295"},{"astId":5137,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"_poolProfileId_","offset":0,"slot":"31","type":"t_bytes32"},{"astId":5139,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"_poolProfileAnchor_","offset":0,"slot":"32","type":"t_address"},{"astId":5141,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"_profile1Id_","offset":0,"slot":"33","type":"t_bytes32"},{"astId":5143,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"_profile1Anchor_","offset":0,"slot":"34","type":"t_address"},{"astId":5145,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"_profile2Id_","offset":0,"slot":"35","type":"t_bytes32"},{"astId":5147,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"_profile2Anchor_","offset":0,"slot":"36","type":"t_address"}],"types":{"t_address":{"encoding":"inplace","label":"address","numberOfBytes":"20"},"t_array(t_address)dyn_storage":{"encoding":"dynamic_array","label":"address[]","numberOfBytes":"32","base":"t_address"},"t_array(t_bytes32)dyn_storage":{"encoding":"dynamic_array","label":"bytes32[]","numberOfBytes":"32","base":"t_bytes32"},"t_array(t_bytes4)dyn_storage":{"encoding":"dynamic_array","label":"bytes4[]","numberOfBytes":"32","base":"t_bytes4"},"t_array(t_string_storage)dyn_storage":{"encoding":"dynamic_array","label":"string[]","numberOfBytes":"32","base":"t_string_storage"},"t_array(t_struct(FuzzInterface)12219_storage)dyn_storage":{"encoding":"dynamic_array","label":"struct StdInvariant.FuzzInterface[]","numberOfBytes":"32","base":"t_struct(FuzzInterface)12219_storage"},"t_array(t_struct(FuzzSelector)12213_storage)dyn_storage":{"encoding":"dynamic_array","label":"struct StdInvariant.FuzzSelector[]","numberOfBytes":"32","base":"t_struct(FuzzSelector)12213_storage"},"t_bool":{"encoding":"inplace","label":"bool","numberOfBytes":"1"},"t_bytes32":{"encoding":"inplace","label":"bytes32","numberOfBytes":"32"},"t_bytes4":{"encoding":"inplace","label":"bytes4","numberOfBytes":"4"},"t_bytes_storage":{"encoding":"bytes","label":"bytes","numberOfBytes":"32"},"t_contract(Registry)2295":{"encoding":"inplace","label":"contract Registry","numberOfBytes":"20"},"t_mapping(t_address,t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)13210_storage)))":{"encoding":"mapping","key":"t_address","label":"mapping(address => mapping(bytes4 => mapping(bytes32 => struct FindData)))","numberOfBytes":"32","value":"t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)13210_storage))"},"t_mapping(t_bytes32,t_struct(FindData)13210_storage)":{"encoding":"mapping","key":"t_bytes32","label":"mapping(bytes32 => struct FindData)","numberOfBytes":"32","value":"t_struct(FindData)13210_storage"},"t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)13210_storage))":{"encoding":"mapping","key":"t_bytes4","label":"mapping(bytes4 => mapping(bytes32 => struct FindData))","numberOfBytes":"32","value":"t_mapping(t_bytes32,t_struct(FindData)13210_storage)"},"t_mapping(t_string_memory_ptr,t_string_storage)":{"encoding":"mapping","key":"t_string_memory_ptr","label":"mapping(string => string)","numberOfBytes":"32","value":"t_string_storage"},"t_mapping(t_string_memory_ptr,t_struct(Chain)8543_storage)":{"encoding":"mapping","key":"t_string_memory_ptr","label":"mapping(string => struct StdChains.Chain)","numberOfBytes":"32","value":"t_struct(Chain)8543_storage"},"t_mapping(t_uint256,t_string_storage)":{"encoding":"mapping","key":"t_uint256","label":"mapping(uint256 => string)","numberOfBytes":"32","value":"t_string_storage"},"t_string_memory_ptr":{"encoding":"bytes","label":"string","numberOfBytes":"32"},"t_string_storage":{"encoding":"bytes","label":"string","numberOfBytes":"32"},"t_struct(Chain)8543_storage":{"encoding":"inplace","label":"struct StdChains.Chain","numberOfBytes":"128","members":[{"astId":8536,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"name","offset":0,"slot":"0","type":"t_string_storage"},{"astId":8538,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"chainId","offset":0,"slot":"1","type":"t_uint256"},{"astId":8540,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"chainAlias","offset":0,"slot":"2","type":"t_string_storage"},{"astId":8542,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"rpcUrl","offset":0,"slot":"3","type":"t_string_storage"}]},"t_struct(FindData)13210_storage":{"encoding":"inplace","label":"struct FindData","numberOfBytes":"128","members":[{"astId":13203,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"slot","offset":0,"slot":"0","type":"t_uint256"},{"astId":13205,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"offsetLeft","offset":0,"slot":"1","type":"t_uint256"},{"astId":13207,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"offsetRight","offset":0,"slot":"2","type":"t_uint256"},{"astId":13209,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"found","offset":0,"slot":"3","type":"t_bool"}]},"t_struct(FuzzInterface)12219_storage":{"encoding":"inplace","label":"struct StdInvariant.FuzzInterface","numberOfBytes":"64","members":[{"astId":12215,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"addr","offset":0,"slot":"0","type":"t_address"},{"astId":12218,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"artifacts","offset":0,"slot":"1","type":"t_array(t_string_storage)dyn_storage"}]},"t_struct(FuzzSelector)12213_storage":{"encoding":"inplace","label":"struct StdInvariant.FuzzSelector","numberOfBytes":"64","members":[{"astId":12209,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"addr","offset":0,"slot":"0","type":"t_address"},{"astId":12212,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"selectors","offset":0,"slot":"1","type":"t_array(t_bytes4)dyn_storage"}]},"t_struct(StdStorage)13235_storage":{"encoding":"inplace","label":"struct StdStorage","numberOfBytes":"256","members":[{"astId":13219,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"finds","offset":0,"slot":"0","type":"t_mapping(t_address,t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)13210_storage)))"},{"astId":13222,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"_keys","offset":0,"slot":"1","type":"t_array(t_bytes32)dyn_storage"},{"astId":13224,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"_sig","offset":0,"slot":"2","type":"t_bytes4"},{"astId":13226,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"_depth","offset":0,"slot":"3","type":"t_uint256"},{"astId":13228,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"_target","offset":0,"slot":"4","type":"t_address"},{"astId":13230,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"_set","offset":0,"slot":"5","type":"t_bytes32"},{"astId":13232,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"_enable_packed_slots","offset":0,"slot":"6","type":"t_bool"},{"astId":13234,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"_calldata","offset":0,"slot":"7","type":"t_bytes_storage"}]},"t_uint256":{"encoding":"inplace","label":"uint256","numberOfBytes":"32"}}},"ast":{"absolutePath":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol","id":5297,"exportedSymbols":{"Accounts":[5026],"Metadata":[3098],"Registry":[2295],"RegistrySetup":[5132],"RegistrySetupFull":[5296],"StdAssertions":[8503],"StdChains":[9285],"StdCheats":[12138],"StdInvariant":[12463],"StdStorage":[13235],"StdStyle":[16405],"StdUtils":[17783],"Test":[17835],"TestBase":[5834],"Vm":[21485],"console":[29549],"console2":[37674],"safeconsole":[52399],"stdError":[12204],"stdJson":[13055],"stdMath":[13197],"stdStorage":[15194],"stdToml":[16997]},"nodeType":"SourceUnit","src":"42:2823:17","nodes":[{"id":5089,"nodeType":"PragmaDirective","src":"42:24:17","nodes":[],"literals":["solidity","^","0.8",".19"]},{"id":5090,"nodeType":"ImportDirective","src":"68:28:17","nodes":[],"absolutePath":"lib/forge-std/src/Test.sol","file":"forge-std/Test.sol","nameLocation":"-1:-1:-1","scope":5297,"sourceUnit":17836,"symbolAliases":[],"unitAlias":""},{"id":5092,"nodeType":"ImportDirective","src":"98:62:17","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/Registry.sol","file":"../../../contracts/core/Registry.sol","nameLocation":"-1:-1:-1","scope":5297,"sourceUnit":2296,"symbolAliases":[{"foreign":{"id":5091,"name":"Registry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2295,"src":"106:8:17","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":5094,"nodeType":"ImportDirective","src":"161:72:17","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/libraries/Metadata.sol","file":"../../../contracts/core/libraries/Metadata.sol","nameLocation":"-1:-1:-1","scope":5297,"sourceUnit":3099,"symbolAliases":[{"foreign":{"id":5093,"name":"Metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3098,"src":"169:8:17","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":5096,"nodeType":"ImportDirective","src":"234:40:17","nodes":[],"absolutePath":"lib/allo-v2/test/foundry/shared/Accounts.sol","file":"./Accounts.sol","nameLocation":"-1:-1:-1","scope":5297,"sourceUnit":5027,"symbolAliases":[{"foreign":{"id":5095,"name":"Accounts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5026,"src":"242:8:17","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":5132,"nodeType":"ContractDefinition","src":"393:304:17","nodes":[{"id":5104,"nodeType":"VariableDeclaration","src":"440:28:17","nodes":[],"constant":false,"mutability":"mutable","name":"_registry_","nameLocation":"458:10:17","scope":5132,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"},"typeName":{"id":5103,"nodeType":"UserDefinedTypeName","pathNode":{"id":5102,"name":"Registry","nameLocations":["440:8:17"],"nodeType":"IdentifierPath","referencedDeclaration":2295,"src":"440:8:17"},"referencedDeclaration":2295,"src":"440:8:17","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}},"visibility":"internal"},{"id":5122,"nodeType":"FunctionDefinition","src":"475:129:17","nodes":[],"body":{"id":5121,"nodeType":"Block","src":"511:93:17","nodes":[],"statements":[{"expression":{"id":5112,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":5107,"name":"_registry_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5104,"src":"521:10:17","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[],"expression":{"argumentTypes":[],"id":5110,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"534:12:17","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$__$returns$_t_contract$_Registry_$2295_$","typeString":"function () returns (contract Registry)"},"typeName":{"id":5109,"nodeType":"UserDefinedTypeName","pathNode":{"id":5108,"name":"Registry","nameLocations":["538:8:17"],"nodeType":"IdentifierPath","referencedDeclaration":2295,"src":"538:8:17"},"referencedDeclaration":2295,"src":"538:8:17","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}}},"id":5111,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"534:14:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}},"src":"521:27:17","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}},"id":5113,"nodeType":"ExpressionStatement","src":"521:27:17"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":5117,"name":"registry_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4675,"src":"580:14:17","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":5118,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"580:16:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":5114,"name":"_registry_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5104,"src":"558:10:17","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}},"id":5116,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"569:10:17","memberName":"initialize","nodeType":"MemberAccess","referencedDeclaration":1578,"src":"558:21:17","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":5119,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"558:39:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5120,"nodeType":"ExpressionStatement","src":"558:39:17"}]},"implemented":true,"kind":"function","modifiers":[],"name":"__RegistrySetup","nameLocation":"484:15:17","parameters":{"id":5105,"nodeType":"ParameterList","parameters":[],"src":"499:2:17"},"returnParameters":{"id":5106,"nodeType":"ParameterList","parameters":[],"src":"511:0:17"},"scope":5132,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":5131,"nodeType":"FunctionDefinition","src":"610:85:17","nodes":[],"body":{"id":5130,"nodeType":"Block","src":"661:34:17","nodes":[],"statements":[{"expression":{"id":5128,"name":"_registry_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5104,"src":"678:10:17","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}},"functionReturnParameters":5127,"id":5129,"nodeType":"Return","src":"671:17:17"}]},"functionSelector":"7b103999","implemented":true,"kind":"function","modifiers":[],"name":"registry","nameLocation":"619:8:17","parameters":{"id":5123,"nodeType":"ParameterList","parameters":[],"src":"627:2:17"},"returnParameters":{"id":5127,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5126,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5131,"src":"651:8:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"},"typeName":{"id":5125,"nodeType":"UserDefinedTypeName","pathNode":{"id":5124,"name":"Registry","nameLocations":["651:8:17"],"nodeType":"IdentifierPath","referencedDeclaration":2295,"src":"651:8:17"},"referencedDeclaration":2295,"src":"651:8:17","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}},"visibility":"internal"}],"src":"650:10:17"},"scope":5132,"stateMutability":"view","virtual":false,"visibility":"public"}],"abstract":false,"baseContracts":[{"baseName":{"id":5098,"name":"Test","nameLocations":["419:4:17"],"nodeType":"IdentifierPath","referencedDeclaration":17835,"src":"419:4:17"},"id":5099,"nodeType":"InheritanceSpecifier","src":"419:4:17"},{"baseName":{"id":5100,"name":"Accounts","nameLocations":["425:8:17"],"nodeType":"IdentifierPath","referencedDeclaration":5026,"src":"425:8:17"},"id":5101,"nodeType":"InheritanceSpecifier","src":"425:8:17"}],"canonicalName":"RegistrySetup","contractDependencies":[],"contractKind":"contract","documentation":{"id":5097,"nodeType":"StructuredDocumentation","src":"276:117:17","text":"@title RegistrySetup\n @notice This contract is used to setup an empty Registry contract for testing purposes."},"fullyImplemented":true,"linearizedBaseContracts":[5132,5026,17835,17783,12463,12138,11345,9285,8503,5834,5831],"name":"RegistrySetup","nameLocation":"402:13:17","scope":5297,"usedErrors":[]},{"id":5296,"nodeType":"ContractDefinition","src":"833:2031:17","nodes":[{"id":5137,"nodeType":"VariableDeclaration","src":"883:32:17","nodes":[],"constant":false,"mutability":"mutable","name":"_poolProfileId_","nameLocation":"900:15:17","scope":5296,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":5136,"name":"bytes32","nodeType":"ElementaryTypeName","src":"883:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"id":5139,"nodeType":"VariableDeclaration","src":"921:36:17","nodes":[],"constant":false,"mutability":"mutable","name":"_poolProfileAnchor_","nameLocation":"938:19:17","scope":5296,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5138,"name":"address","nodeType":"ElementaryTypeName","src":"921:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"id":5141,"nodeType":"VariableDeclaration","src":"964:29:17","nodes":[],"constant":false,"mutability":"mutable","name":"_profile1Id_","nameLocation":"981:12:17","scope":5296,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":5140,"name":"bytes32","nodeType":"ElementaryTypeName","src":"964:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"id":5143,"nodeType":"VariableDeclaration","src":"999:33:17","nodes":[],"constant":false,"mutability":"mutable","name":"_profile1Anchor_","nameLocation":"1016:16:17","scope":5296,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5142,"name":"address","nodeType":"ElementaryTypeName","src":"999:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"id":5145,"nodeType":"VariableDeclaration","src":"1039:29:17","nodes":[],"constant":false,"mutability":"mutable","name":"_profile2Id_","nameLocation":"1056:12:17","scope":5296,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":5144,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1039:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"id":5147,"nodeType":"VariableDeclaration","src":"1074:33:17","nodes":[],"constant":false,"mutability":"mutable","name":"_profile2Anchor_","nameLocation":"1091:16:17","scope":5296,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5146,"name":"address","nodeType":"ElementaryTypeName","src":"1074:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"id":5247,"nodeType":"FunctionDefinition","src":"1114:930:17","nodes":[],"body":{"id":5246,"nodeType":"Block","src":"1154:890:17","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":5150,"name":"__RegistrySetup","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5122,"src":"1164:15:17","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":5151,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1164:17:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5152,"nodeType":"ExpressionStatement","src":"1164:17:17"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":5156,"name":"pool_admin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4753,"src":"1201:10:17","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":5157,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1201:12:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":5153,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5827,"src":"1192:2:17","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21485","typeString":"contract Vm"}},"id":5155,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1195:5:17","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":21138,"src":"1192:8:17","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":5158,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1192:22:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5159,"nodeType":"ExpressionStatement","src":"1192:22:17"},{"expression":{"id":5174,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":5160,"name":"_poolProfileId_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5137,"src":"1224:15:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"30","id":5163,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1280:1:17","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"506f6f6c2050726f66696c652031","id":5164,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1283:16:17","typeDescriptions":{"typeIdentifier":"t_stringliteral_cfdb29660678cfa126d648cb1a4f5ce763c1e1204e820590687579a35d4b28f4","typeString":"literal_string \"Pool Profile 1\""},"value":"Pool Profile 1"},{"arguments":[{"hexValue":"31","id":5166,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1321:1:17","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"hexValue":"506f6f6c50726f66696c6531","id":5167,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1333:14:17","typeDescriptions":{"typeIdentifier":"t_stringliteral_f67171f94b553bc18f3436392ab5b1a6c6075d142911addaba07f9932e807028","typeString":"literal_string \"PoolProfile1\""},"value":"PoolProfile1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_stringliteral_f67171f94b553bc18f3436392ab5b1a6c6075d142911addaba07f9932e807028","typeString":"literal_string \"PoolProfile1\""}],"id":5165,"name":"Metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3098,"src":"1301:8:17","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Metadata_$3098_storage_ptr_$","typeString":"type(struct Metadata storage pointer)"}},"id":5168,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["1311:8:17","1324:7:17"],"names":["protocol","pointer"],"nodeType":"FunctionCall","src":"1301:48:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}},{"arguments":[],"expression":{"argumentTypes":[],"id":5169,"name":"pool_admin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4753,"src":"1351:10:17","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":5170,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1351:12:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[],"expression":{"argumentTypes":[],"id":5171,"name":"pool_managers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4817,"src":"1365:13:17","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_array$_t_address_$dyn_memory_ptr_$","typeString":"function () returns (address[] memory)"}},"id":5172,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1365:15:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_stringliteral_cfdb29660678cfa126d648cb1a4f5ce763c1e1204e820590687579a35d4b28f4","typeString":"literal_string \"Pool Profile 1\""},{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}],"expression":{"id":5161,"name":"_registry_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5104,"src":"1242:10:17","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}},"id":5162,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1253:13:17","memberName":"createProfile","nodeType":"MemberAccess","referencedDeclaration":1756,"src":"1242:24:17","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_string_memory_ptr_$_t_struct$_Metadata_$3098_memory_ptr_$_t_address_$_t_array$_t_address_$dyn_memory_ptr_$returns$_t_bytes32_$","typeString":"function (uint256,string memory,struct Metadata memory,address,address[] memory) external returns (bytes32)"}},"id":5173,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1242:148:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"1224:166:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":5175,"nodeType":"ExpressionStatement","src":"1224:166:17"},{"expression":{"id":5182,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":5176,"name":"_poolProfileAnchor_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5139,"src":"1400:19:17","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"arguments":[{"id":5179,"name":"_poolProfileId_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5137,"src":"1448:15:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":5177,"name":"_registry_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5104,"src":"1422:10:17","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}},"id":5178,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1433:14:17","memberName":"getProfileById","nodeType":"MemberAccess","referencedDeclaration":1592,"src":"1422:25:17","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_bytes32_$returns$_t_struct$_Profile_$2629_memory_ptr_$","typeString":"function (bytes32) view external returns (struct IRegistry.Profile memory)"}},"id":5180,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1422:42:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_memory_ptr","typeString":"struct IRegistry.Profile memory"}},"id":5181,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1465:6:17","memberName":"anchor","nodeType":"MemberAccess","referencedDeclaration":2628,"src":"1422:49:17","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1400:71:17","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":5183,"nodeType":"ExpressionStatement","src":"1400:71:17"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":5187,"name":"profile1_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4827,"src":"1491:14:17","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":5188,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1491:16:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":5184,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5827,"src":"1482:2:17","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21485","typeString":"contract Vm"}},"id":5186,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1485:5:17","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":21138,"src":"1482:8:17","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":5189,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1482:26:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5190,"nodeType":"ExpressionStatement","src":"1482:26:17"},{"expression":{"id":5205,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":5191,"name":"_profile1Id_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5141,"src":"1518:12:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"30","id":5194,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1571:1:17","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"50726f66696c652031","id":5195,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1574:11:17","typeDescriptions":{"typeIdentifier":"t_stringliteral_7a4d1a86b77644d9aa7e12702075d0cc1d67dd228b7576543777572405c3e57d","typeString":"literal_string \"Profile 1\""},"value":"Profile 1"},{"arguments":[{"hexValue":"31","id":5197,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1607:1:17","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"hexValue":"50726f66696c6531","id":5198,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1619:10:17","typeDescriptions":{"typeIdentifier":"t_stringliteral_d28bcd24e2e164eb1cb6c81d71a03069dd8b48e2f319680c98ba010be8944d6d","typeString":"literal_string \"Profile1\""},"value":"Profile1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_stringliteral_d28bcd24e2e164eb1cb6c81d71a03069dd8b48e2f319680c98ba010be8944d6d","typeString":"literal_string \"Profile1\""}],"id":5196,"name":"Metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3098,"src":"1587:8:17","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Metadata_$3098_storage_ptr_$","typeString":"type(struct Metadata storage pointer)"}},"id":5199,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["1597:8:17","1610:7:17"],"names":["protocol","pointer"],"nodeType":"FunctionCall","src":"1587:44:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}},{"arguments":[],"expression":{"argumentTypes":[],"id":5200,"name":"profile1_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4827,"src":"1633:14:17","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":5201,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1633:16:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[],"expression":{"argumentTypes":[],"id":5202,"name":"profile1_members","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4891,"src":"1651:16:17","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_array$_t_address_$dyn_memory_ptr_$","typeString":"function () returns (address[] memory)"}},"id":5203,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1651:18:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_stringliteral_7a4d1a86b77644d9aa7e12702075d0cc1d67dd228b7576543777572405c3e57d","typeString":"literal_string \"Profile 1\""},{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}],"expression":{"id":5192,"name":"_registry_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5104,"src":"1533:10:17","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}},"id":5193,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1544:13:17","memberName":"createProfile","nodeType":"MemberAccess","referencedDeclaration":1756,"src":"1533:24:17","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_string_memory_ptr_$_t_struct$_Metadata_$3098_memory_ptr_$_t_address_$_t_array$_t_address_$dyn_memory_ptr_$returns$_t_bytes32_$","typeString":"function (uint256,string memory,struct Metadata memory,address,address[] memory) external returns (bytes32)"}},"id":5204,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1533:146:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"1518:161:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":5206,"nodeType":"ExpressionStatement","src":"1518:161:17"},{"expression":{"id":5213,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":5207,"name":"_profile1Anchor_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5143,"src":"1689:16:17","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"arguments":[{"id":5210,"name":"_profile1Id_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5141,"src":"1734:12:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":5208,"name":"_registry_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5104,"src":"1708:10:17","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}},"id":5209,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1719:14:17","memberName":"getProfileById","nodeType":"MemberAccess","referencedDeclaration":1592,"src":"1708:25:17","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_bytes32_$returns$_t_struct$_Profile_$2629_memory_ptr_$","typeString":"function (bytes32) view external returns (struct IRegistry.Profile memory)"}},"id":5211,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1708:39:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_memory_ptr","typeString":"struct IRegistry.Profile memory"}},"id":5212,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1748:6:17","memberName":"anchor","nodeType":"MemberAccess","referencedDeclaration":2628,"src":"1708:46:17","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1689:65:17","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":5214,"nodeType":"ExpressionStatement","src":"1689:65:17"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":5218,"name":"profile2_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4901,"src":"1774:14:17","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":5219,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1774:16:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":5215,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5827,"src":"1765:2:17","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21485","typeString":"contract Vm"}},"id":5217,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1768:5:17","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":21138,"src":"1765:8:17","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":5220,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1765:26:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5221,"nodeType":"ExpressionStatement","src":"1765:26:17"},{"expression":{"id":5236,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":5222,"name":"_profile2Id_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5145,"src":"1801:12:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"30","id":5225,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1854:1:17","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"50726f66696c652032","id":5226,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1857:11:17","typeDescriptions":{"typeIdentifier":"t_stringliteral_937ec7a665f78170bc3bb3b9c6576f30e49f3c58eb7105b0778843f3f72198b2","typeString":"literal_string \"Profile 2\""},"value":"Profile 2"},{"arguments":[{"hexValue":"31","id":5228,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1890:1:17","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"hexValue":"50726f66696c6532","id":5229,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1902:10:17","typeDescriptions":{"typeIdentifier":"t_stringliteral_f54d7fb3952364f7566be93625e44393de35ac48ada574494f41163506f729ca","typeString":"literal_string \"Profile2\""},"value":"Profile2"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_stringliteral_f54d7fb3952364f7566be93625e44393de35ac48ada574494f41163506f729ca","typeString":"literal_string \"Profile2\""}],"id":5227,"name":"Metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3098,"src":"1870:8:17","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Metadata_$3098_storage_ptr_$","typeString":"type(struct Metadata storage pointer)"}},"id":5230,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["1880:8:17","1893:7:17"],"names":["protocol","pointer"],"nodeType":"FunctionCall","src":"1870:44:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}},{"arguments":[],"expression":{"argumentTypes":[],"id":5231,"name":"profile2_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4901,"src":"1916:14:17","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":5232,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1916:16:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[],"expression":{"argumentTypes":[],"id":5233,"name":"profile2_members","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4965,"src":"1934:16:17","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_array$_t_address_$dyn_memory_ptr_$","typeString":"function () returns (address[] memory)"}},"id":5234,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1934:18:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_stringliteral_937ec7a665f78170bc3bb3b9c6576f30e49f3c58eb7105b0778843f3f72198b2","typeString":"literal_string \"Profile 2\""},{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}],"expression":{"id":5223,"name":"_registry_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5104,"src":"1816:10:17","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}},"id":5224,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1827:13:17","memberName":"createProfile","nodeType":"MemberAccess","referencedDeclaration":1756,"src":"1816:24:17","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_string_memory_ptr_$_t_struct$_Metadata_$3098_memory_ptr_$_t_address_$_t_array$_t_address_$dyn_memory_ptr_$returns$_t_bytes32_$","typeString":"function (uint256,string memory,struct Metadata memory,address,address[] memory) external returns (bytes32)"}},"id":5235,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1816:146:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"1801:161:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":5237,"nodeType":"ExpressionStatement","src":"1801:161:17"},{"expression":{"id":5244,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":5238,"name":"_profile2Anchor_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5147,"src":"1972:16:17","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"arguments":[{"id":5241,"name":"_profile2Id_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5145,"src":"2017:12:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":5239,"name":"_registry_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5104,"src":"1991:10:17","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}},"id":5240,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2002:14:17","memberName":"getProfileById","nodeType":"MemberAccess","referencedDeclaration":1592,"src":"1991:25:17","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_bytes32_$returns$_t_struct$_Profile_$2629_memory_ptr_$","typeString":"function (bytes32) view external returns (struct IRegistry.Profile memory)"}},"id":5242,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1991:39:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_memory_ptr","typeString":"struct IRegistry.Profile memory"}},"id":5243,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2031:6:17","memberName":"anchor","nodeType":"MemberAccess","referencedDeclaration":2628,"src":"1991:46:17","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1972:65:17","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":5245,"nodeType":"ExpressionStatement","src":"1972:65:17"}]},"implemented":true,"kind":"function","modifiers":[],"name":"__RegistrySetupFull","nameLocation":"1123:19:17","parameters":{"id":5148,"nodeType":"ParameterList","parameters":[],"src":"1142:2:17"},"returnParameters":{"id":5149,"nodeType":"ParameterList","parameters":[],"src":"1154:0:17"},"scope":5296,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":5255,"nodeType":"FunctionDefinition","src":"2050:103:17","nodes":[],"body":{"id":5254,"nodeType":"Block","src":"2114:39:17","nodes":[],"statements":[{"expression":{"id":5252,"name":"_poolProfileId_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5137,"src":"2131:15:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":5251,"id":5253,"nodeType":"Return","src":"2124:22:17"}]},"functionSelector":"fd325c60","implemented":true,"kind":"function","modifiers":[],"name":"poolProfile_id","nameLocation":"2059:14:17","parameters":{"id":5248,"nodeType":"ParameterList","parameters":[],"src":"2073:2:17"},"returnParameters":{"id":5251,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5250,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5255,"src":"2105:7:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":5249,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2105:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"2104:9:17"},"scope":5296,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":5263,"nodeType":"FunctionDefinition","src":"2159:111:17","nodes":[],"body":{"id":5262,"nodeType":"Block","src":"2227:43:17","nodes":[],"statements":[{"expression":{"id":5260,"name":"_poolProfileAnchor_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5139,"src":"2244:19:17","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":5259,"id":5261,"nodeType":"Return","src":"2237:26:17"}]},"functionSelector":"176effb3","implemented":true,"kind":"function","modifiers":[],"name":"poolProfile_anchor","nameLocation":"2168:18:17","parameters":{"id":5256,"nodeType":"ParameterList","parameters":[],"src":"2186:2:17"},"returnParameters":{"id":5259,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5258,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5263,"src":"2218:7:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5257,"name":"address","nodeType":"ElementaryTypeName","src":"2218:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2217:9:17"},"scope":5296,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":5271,"nodeType":"FunctionDefinition","src":"2276:97:17","nodes":[],"body":{"id":5270,"nodeType":"Block","src":"2337:36:17","nodes":[],"statements":[{"expression":{"id":5268,"name":"_profile1Id_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5141,"src":"2354:12:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":5267,"id":5269,"nodeType":"Return","src":"2347:19:17"}]},"functionSelector":"39f56f7f","implemented":true,"kind":"function","modifiers":[],"name":"profile1_id","nameLocation":"2285:11:17","parameters":{"id":5264,"nodeType":"ParameterList","parameters":[],"src":"2296:2:17"},"returnParameters":{"id":5267,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5266,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5271,"src":"2328:7:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":5265,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2328:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"2327:9:17"},"scope":5296,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":5279,"nodeType":"FunctionDefinition","src":"2461:105:17","nodes":[],"body":{"id":5278,"nodeType":"Block","src":"2526:40:17","nodes":[],"statements":[{"expression":{"id":5276,"name":"_profile1Anchor_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5143,"src":"2543:16:17","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":5275,"id":5277,"nodeType":"Return","src":"2536:23:17"}]},"functionSelector":"c5d7d73b","implemented":true,"kind":"function","modifiers":[],"name":"profile1_anchor","nameLocation":"2470:15:17","parameters":{"id":5272,"nodeType":"ParameterList","parameters":[],"src":"2485:2:17"},"returnParameters":{"id":5275,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5274,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5279,"src":"2517:7:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5273,"name":"address","nodeType":"ElementaryTypeName","src":"2517:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2516:9:17"},"scope":5296,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":5287,"nodeType":"FunctionDefinition","src":"2572:97:17","nodes":[],"body":{"id":5286,"nodeType":"Block","src":"2633:36:17","nodes":[],"statements":[{"expression":{"id":5284,"name":"_profile2Id_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5145,"src":"2650:12:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":5283,"id":5285,"nodeType":"Return","src":"2643:19:17"}]},"functionSelector":"18540361","implemented":true,"kind":"function","modifiers":[],"name":"profile2_id","nameLocation":"2581:11:17","parameters":{"id":5280,"nodeType":"ParameterList","parameters":[],"src":"2592:2:17"},"returnParameters":{"id":5283,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5282,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5287,"src":"2624:7:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":5281,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2624:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"2623:9:17"},"scope":5296,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":5295,"nodeType":"FunctionDefinition","src":"2757:105:17","nodes":[],"body":{"id":5294,"nodeType":"Block","src":"2822:40:17","nodes":[],"statements":[{"expression":{"id":5292,"name":"_profile2Anchor_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5147,"src":"2839:16:17","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":5291,"id":5293,"nodeType":"Return","src":"2832:23:17"}]},"functionSelector":"3554642a","implemented":true,"kind":"function","modifiers":[],"name":"profile2_anchor","nameLocation":"2766:15:17","parameters":{"id":5288,"nodeType":"ParameterList","parameters":[],"src":"2781:2:17"},"returnParameters":{"id":5291,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5290,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5295,"src":"2813:7:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5289,"name":"address","nodeType":"ElementaryTypeName","src":"2813:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2812:9:17"},"scope":5296,"stateMutability":"view","virtual":true,"visibility":"public"}],"abstract":false,"baseContracts":[{"baseName":{"id":5134,"name":"RegistrySetup","nameLocations":["863:13:17"],"nodeType":"IdentifierPath","referencedDeclaration":5132,"src":"863:13:17"},"id":5135,"nodeType":"InheritanceSpecifier","src":"863:13:17"}],"canonicalName":"RegistrySetupFull","contractDependencies":[],"contractKind":"contract","documentation":{"id":5133,"nodeType":"StructuredDocumentation","src":"699:134:17","text":"@title RegistrySetupFull\n @notice This contract is used to setup a Registry contract with two identities for testing purposes."},"fullyImplemented":true,"linearizedBaseContracts":[5296,5132,5026,17835,17783,12463,12138,11345,9285,8503,5834,5831],"name":"RegistrySetupFull","nameLocation":"842:17:17","scope":5297,"usedErrors":[]}],"license":"AGPL-3.0-only"},"id":17} \ No newline at end of file +{"abi":[{"type":"function","name":"IS_TEST","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"allo_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"allo_treasury","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address payable"}],"stateMutability":"nonpayable"},{"type":"function","name":"excludeArtifacts","inputs":[],"outputs":[{"name":"excludedArtifacts_","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"excludeContracts","inputs":[],"outputs":[{"name":"excludedContracts_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"excludeSenders","inputs":[],"outputs":[{"name":"excludedSenders_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"failed","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"local","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"no_recipient","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"nullProfile_member1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"nullProfile_member2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"nullProfile_members","inputs":[],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"pure"},{"type":"function","name":"nullProfile_notAMember","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"nullProfile_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"poolProfile_anchor","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"poolProfile_id","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"pool_admin","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"pool_manager1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"pool_manager2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"pool_managers","inputs":[],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"pool_notAManager","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile1_anchor","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"profile1_id","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"profile1_member1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile1_member2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile1_members","inputs":[],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile1_notAMember","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile1_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile2_anchor","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"profile2_id","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"profile2_member1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile2_member2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile2_members","inputs":[],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile2_notAMember","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"profile2_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"randomAddress","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"recipient","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"recipient1","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"recipient2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"recipientAddress","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"registry","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract Registry"}],"stateMutability":"view"},{"type":"function","name":"registry_owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"targetArtifactSelectors","inputs":[],"outputs":[{"name":"targetedArtifactSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzSelector[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetArtifacts","inputs":[],"outputs":[{"name":"targetedArtifacts_","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"targetContracts","inputs":[],"outputs":[{"name":"targetedContracts_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"targetInterfaces","inputs":[],"outputs":[{"name":"targetedInterfaces_","type":"tuple[]","internalType":"struct StdInvariant.FuzzInterface[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"artifacts","type":"string[]","internalType":"string[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetSelectors","inputs":[],"outputs":[{"name":"targetedSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzSelector[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetSenders","inputs":[],"outputs":[{"name":"targetedSenders_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"event","name":"log","inputs":[{"name":"","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_address","inputs":[{"name":"","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"uint256[]","indexed":false,"internalType":"uint256[]"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"int256[]","indexed":false,"internalType":"int256[]"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"address[]","indexed":false,"internalType":"address[]"}],"anonymous":false},{"type":"event","name":"log_bytes","inputs":[{"name":"","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"log_bytes32","inputs":[{"name":"","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"log_int","inputs":[{"name":"","type":"int256","indexed":false,"internalType":"int256"}],"anonymous":false},{"type":"event","name":"log_named_address","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256[]","indexed":false,"internalType":"uint256[]"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256[]","indexed":false,"internalType":"int256[]"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"address[]","indexed":false,"internalType":"address[]"}],"anonymous":false},{"type":"event","name":"log_named_bytes","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"log_named_bytes32","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"log_named_decimal_int","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256","indexed":false,"internalType":"int256"},{"name":"decimals","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_named_decimal_uint","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"decimals","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_named_int","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256","indexed":false,"internalType":"int256"}],"anonymous":false},{"type":"event","name":"log_named_string","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_named_uint","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_string","inputs":[{"name":"","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_uint","inputs":[{"name":"","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"logs","inputs":[{"name":"","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false}],"bytecode":{"object":"0x6080604052600c8054600160ff199182168117909255601e8054909116909117905534801561002d57600080fd5b506118128061003d6000396000f3fe608060405234801561001057600080fd5b506004361061031f5760003560e01c806379e62d0d116101a7578063b5508aa9116100ee578063da4bf08711610097578063ef0d790f11610071578063ef0d790f14610505578063fa7626d41461050d578063fd325c601461051a57600080fd5b8063da4bf087146104ed578063dac4eb16146104f5578063e20c9f71146104fd57600080fd5b8063d1e82b58116100c8578063d1e82b58146104d5578063d1f2cd88146104dd578063d5bee9f5146104e557600080fd5b8063b5508aa9146104a4578063ba414fa6146104ac578063c5d7d73b146104c457600080fd5b80638c7408c411610150578063916a17c61161012a578063916a17c61461048c578063a407c67a14610494578063aa3744bd1461049c57600080fd5b80638c7408c41461035f5780638e0d1a501461047c5780638e3c24931461048457600080fd5b80637cbe79ed116101815780637cbe79ed1461045f578063829e423f1461035f57806385226c811461046757600080fd5b806379e62d0d146104395780637b103999146104415780637b2edf321461045757600080fd5b806339f56f7f1161026b57806366d003ac1161021457806370a32944116101ee57806370a329441461042957806374d9284e1461035f578063759c9a861461043157600080fd5b806366d003ac1461040457806366d9a9a01461040c5780636a38dd0a1461042157600080fd5b80634bf4ba21116102455780634bf4ba21146103ec578063587c1243146103f45780635aff5999146103fc57600080fd5b806339f56f7f146103d45780633e5e3c23146103dc5780633f7286f4146103e457600080fd5b806318540361116102cd5780631ed7831c116102a75780631ed7831c146103995780632ade3880146103ae5780633554642a146103c357600080fd5b806318540361146103775780631b96dce6146103895780631e7bcb2e1461039157600080fd5b80630f166ad4116102fe5780630f166ad414610359578063174eedde1461035f578063176effb31461036657600080fd5b8062b1fad714610324578063030e4006146103495780630688b13514610351575b600080fd5b61032c610522565b6040516001600160a01b0390911681526020015b60405180910390f35b61032c610567565b61032c6105a7565b3061032c565b600061032c565b6020546001600160a01b031661032c565b6023545b604051908152602001610340565b61032c6105e7565b61032c610627565b6103a1610667565b6040516103409190611473565b6103b66106c9565b6040516103409190611510565b6024546001600160a01b031661032c565b60215461037b565b6103a161080b565b6103a161086b565b6103a16108cb565b61032c6108ee565b61032c61092e565b61032c61096e565b6104146109ae565b60405161034091906115d0565b61032c610aa9565b6103a1610ae9565b61032c610b81565b6103a1610bc1565b601e5461010090046001600160a01b031661032c565b61032c610c29565b61032c610c69565b61046f610ca9565b604051610340919061169b565b61032c610d79565b61032c610db9565b610414610df9565b6103a1610ef4565b61032c610f5c565b61046f610f9c565b6104b461106c565b6040519015158152602001610340565b6022546001600160a01b031661032c565b61032c611140565b61032c611180565b61032c6111c0565b61032c611200565b61032c611240565b6103a1611280565b61032c6112e0565b601e546104b49060ff1681565b601f5461037b565b60006105626040518060400160405280600d81526020017f706f6f6c5f6d616e61676572310000000000000000000000000000000000000081525061131c565b905090565b60006105626040518060400160405280601381526020017f70726f66696c65315f6e6f74414d656d6265720000000000000000000000000081525061131c565b60006105626040518060400160405280600a81526020017f726563697069656e74320000000000000000000000000000000000000000000081525061131c565b60006105626040518060400160405280600e81526020017f70726f66696c65325f6f776e657200000000000000000000000000000000000081525061131c565b60006105626040518060400160405280601081526020017f70726f66696c65315f6d656d626572310000000000000000000000000000000081525061131c565b606060168054806020026020016040519081016040528092919081815260200182805480156106bf57602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116106a1575b5050505050905090565b6060601d805480602002602001604051908101604052809291908181526020016000905b8282101561080257600084815260208082206040805180820182526002870290920180546001600160a01b03168352600181018054835181870281018701909452808452939591948681019491929084015b828210156107eb57838290600052602060002001805461075e906116fd565b80601f016020809104026020016040519081016040528092919081815260200182805461078a906116fd565b80156107d75780601f106107ac576101008083540402835291602001916107d7565b820191906000526020600020905b8154815290600101906020018083116107ba57829003601f168201915b50505050508152602001906001019061073f565b5050505081525050815260200190600101906106ed565b50505050905090565b606060188054806020026020016040519081016040528092919081815260200182805480156106bf576020028201919060005260206000209081546001600160a01b031681526001909101906020018083116106a1575050505050905090565b606060178054806020026020016040519081016040528092919081815260200182805480156106bf576020028201919060005260206000209081546001600160a01b031681526001909101906020018083116106a1575050505050905090565b604080516002808252606080830184529260208301908036833701905050905090565b60006105626040518060400160405280601081526020017f70726f66696c65325f6d656d626572310000000000000000000000000000000081525061131c565b60006105626040518060400160405280601081526020017f726563697069656e74416464726573730000000000000000000000000000000081525061131c565b60006105626040518060400160405280600981526020017f726563697069656e74000000000000000000000000000000000000000000000081525061131c565b6060601b805480602002602001604051908101604052809291908181526020016000905b828210156108025760008481526020908190206040805180820182526002860290920180546001600160a01b03168352600181018054835181870281018701909452808452939491938583019392830182828015610a9157602002820191906000526020600020906000905b82829054906101000a900460e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681526020019060040190602082600301049283019260010382029150808411610a3e5790505b505050505081525050815260200190600101906109d2565b60006105626040518060400160405280600d81526020017f706f6f6c5f6d616e61676572320000000000000000000000000000000000000081525061131c565b60408051600280825260608083018452926000929190602083019080368337019050509050610b16610627565b81600081518110610b2957610b29611737565b60200260200101906001600160a01b031690816001600160a01b031681525050610b51610c29565b81600181518110610b6457610b64611737565b6001600160a01b0390921660209283029190910190910152919050565b60006105626040518060400160405280600c81526020017f6e6f5f726563697069656e74000000000000000000000000000000000000000081525061131c565b60408051600280825260608083018452926000929190602083019080368337019050509050610bee610522565b81600081518110610c0157610c01611737565b60200260200101906001600160a01b031690816001600160a01b031681525050610b51610aa9565b60006105626040518060400160405280601081526020017f70726f66696c65315f6d656d626572320000000000000000000000000000000081525061131c565b60006105626040518060400160405280600a81526020017f616c6c6f5f6f776e65720000000000000000000000000000000000000000000081525061131c565b6060601a805480602002602001604051908101604052809291908181526020016000905b82821015610802578382906000526020600020018054610cec906116fd565b80601f0160208091040260200160405190810160405280929190818152602001828054610d18906116fd565b8015610d655780601f10610d3a57610100808354040283529160200191610d65565b820191906000526020600020905b815481529060010190602001808311610d4857829003601f168201915b505050505081526020019060010190610ccd565b60006105626040518060400160405280600a81526020017f706f6f6c5f61646d696e0000000000000000000000000000000000000000000081525061131c565b60006105626040518060400160405280601081526020017f70726f66696c65325f6d656d626572320000000000000000000000000000000081525061131c565b6060601c805480602002602001604051908101604052809291908181526020016000905b828210156108025760008481526020908190206040805180820182526002860290920180546001600160a01b03168352600181018054835181870281018701909452808452939491938583019392830182828015610edc57602002820191906000526020600020906000905b82829054906101000a900460e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681526020019060040190602082600301049283019260010382029150808411610e895790505b50505050508152505081526020019060010190610e1d565b60408051600280825260608083018452926000929190602083019080368337019050509050610f216108ee565b81600081518110610f3457610f34611737565b60200260200101906001600160a01b031690816001600160a01b031681525050610b51610db9565b60006105626040518060400160405280600a81526020017f726563697069656e74310000000000000000000000000000000000000000000081525061131c565b60606019805480602002602001604051908101604052809291908181526020016000905b82821015610802578382906000526020600020018054610fdf906116fd565b80601f016020809104026020016040519081016040528092919081815260200182805461100b906116fd565b80156110585780601f1061102d57610100808354040283529160200191611058565b820191906000526020600020905b81548152906001019060200180831161103b57829003601f168201915b505050505081526020019060010190610fc0565b60085460009060ff1615611084575060085460ff1690565b6040517f667f9d70000000000000000000000000000000000000000000000000000000008152737109709ecfa91a80626ff3989d68f67f5b1dd12d600482018190527f6661696c65640000000000000000000000000000000000000000000000000000602483015260009163667f9d7090604401602060405180830381865afa158015611115573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611139919061174d565b1415905090565b60006105626040518060400160405280601081526020017f706f6f6c5f6e6f74414d616e616765720000000000000000000000000000000081525061131c565b60006105626040518060400160405280600e81526020017f70726f66696c65315f6f776e657200000000000000000000000000000000000081525061131c565b60006105626040518060400160405280600b81526020017f72616e646f6d206368616400000000000000000000000000000000000000000081525061131c565b60006105626040518060400160405280600d81526020017f616c6c6f5f74726561737572790000000000000000000000000000000000000081525061131c565b60006105626040518060400160405280600e81526020017f72656769737472795f6f776e657200000000000000000000000000000000000081525061131c565b606060158054806020026020016040519081016040528092919081815260200182805480156106bf576020028201919060005260206000209081546001600160a01b031681526001909101906020018083116106a1575050505050905090565b60006105626040518060400160405280601381526020017f70726f66696c65325f6e6f74414d656d626572000000000000000000000000008152505b60006113278261132e565b5092915050565b600080826040516020016113429190611766565b60408051808303601f190181529082905280516020909101207fffa18649000000000000000000000000000000000000000000000000000000008252600482018190529150737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ffa1864990602401602060405180830381865afa1580156113c3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113e79190611782565b6040517fc657c718000000000000000000000000000000000000000000000000000000008152909250737109709ecfa91a80626ff3989d68f67f5b1dd12d9063c657c7189061143c90859087906004016117b2565b600060405180830381600087803b15801561145657600080fd5b505af115801561146a573d6000803e3d6000fd5b50505050915091565b6020808252825182820181905260009190848201906040850190845b818110156114b45783516001600160a01b03168352928401929184019160010161148f565b50909695505050505050565b60005b838110156114db5781810151838201526020016114c3565b50506000910152565b600081518084526114fc8160208601602086016114c0565b601f01601f19169290920160200192915050565b602080825282518282018190526000919060409081850190600581811b8701840188860187805b858110156115c057603f198b8503018752825180516001600160a01b031685528901518985018990528051898601819052908a0190606081881b870181019190870190855b818110156115aa57605f198985030183526115988486516114e4565b948e01949350918d019160010161157c565b505050978a019794505091880191600101611537565b50919a9950505050505050505050565b60006020808301818452808551808352604092508286019150828160051b8701018488016000805b8481101561168c57898403603f19018652825180516001600160a01b03168552880151888501889052805188860181905290890190839060608701905b808310156116775783517fffffffff00000000000000000000000000000000000000000000000000000000168252928b019260019290920191908b0190611635565b50978a019795505050918701916001016115f8565b50919998505050505050505050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b828110156116f057603f198886030184526116de8583516114e4565b945092850192908501906001016116c2565b5092979650505050505050565b600181811c9082168061171157607f821691505b60208210810361173157634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561175f57600080fd5b5051919050565b600082516117788184602087016114c0565b9190910192915050565b60006020828403121561179457600080fd5b81516001600160a01b03811681146117ab57600080fd5b9392505050565b6001600160a01b03831681526040602082015260006117d460408301846114e4565b94935050505056fea26469706673582212200e56bc14c41ec26539a9346f37967c0cdeda059b1889ce9115ea45f5f154e88f64736f6c63430008130033","sourceMap":"833:2031:17:-:0;;;3126:44:23;;;3166:4;-1:-1:-1;;3126:44:23;;;;;;;;1016:26:33;;;;;;;;;;;833:2031:17;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b506004361061031f5760003560e01c806379e62d0d116101a7578063b5508aa9116100ee578063da4bf08711610097578063ef0d790f11610071578063ef0d790f14610505578063fa7626d41461050d578063fd325c601461051a57600080fd5b8063da4bf087146104ed578063dac4eb16146104f5578063e20c9f71146104fd57600080fd5b8063d1e82b58116100c8578063d1e82b58146104d5578063d1f2cd88146104dd578063d5bee9f5146104e557600080fd5b8063b5508aa9146104a4578063ba414fa6146104ac578063c5d7d73b146104c457600080fd5b80638c7408c411610150578063916a17c61161012a578063916a17c61461048c578063a407c67a14610494578063aa3744bd1461049c57600080fd5b80638c7408c41461035f5780638e0d1a501461047c5780638e3c24931461048457600080fd5b80637cbe79ed116101815780637cbe79ed1461045f578063829e423f1461035f57806385226c811461046757600080fd5b806379e62d0d146104395780637b103999146104415780637b2edf321461045757600080fd5b806339f56f7f1161026b57806366d003ac1161021457806370a32944116101ee57806370a329441461042957806374d9284e1461035f578063759c9a861461043157600080fd5b806366d003ac1461040457806366d9a9a01461040c5780636a38dd0a1461042157600080fd5b80634bf4ba21116102455780634bf4ba21146103ec578063587c1243146103f45780635aff5999146103fc57600080fd5b806339f56f7f146103d45780633e5e3c23146103dc5780633f7286f4146103e457600080fd5b806318540361116102cd5780631ed7831c116102a75780631ed7831c146103995780632ade3880146103ae5780633554642a146103c357600080fd5b806318540361146103775780631b96dce6146103895780631e7bcb2e1461039157600080fd5b80630f166ad4116102fe5780630f166ad414610359578063174eedde1461035f578063176effb31461036657600080fd5b8062b1fad714610324578063030e4006146103495780630688b13514610351575b600080fd5b61032c610522565b6040516001600160a01b0390911681526020015b60405180910390f35b61032c610567565b61032c6105a7565b3061032c565b600061032c565b6020546001600160a01b031661032c565b6023545b604051908152602001610340565b61032c6105e7565b61032c610627565b6103a1610667565b6040516103409190611473565b6103b66106c9565b6040516103409190611510565b6024546001600160a01b031661032c565b60215461037b565b6103a161080b565b6103a161086b565b6103a16108cb565b61032c6108ee565b61032c61092e565b61032c61096e565b6104146109ae565b60405161034091906115d0565b61032c610aa9565b6103a1610ae9565b61032c610b81565b6103a1610bc1565b601e5461010090046001600160a01b031661032c565b61032c610c29565b61032c610c69565b61046f610ca9565b604051610340919061169b565b61032c610d79565b61032c610db9565b610414610df9565b6103a1610ef4565b61032c610f5c565b61046f610f9c565b6104b461106c565b6040519015158152602001610340565b6022546001600160a01b031661032c565b61032c611140565b61032c611180565b61032c6111c0565b61032c611200565b61032c611240565b6103a1611280565b61032c6112e0565b601e546104b49060ff1681565b601f5461037b565b60006105626040518060400160405280600d81526020017f706f6f6c5f6d616e61676572310000000000000000000000000000000000000081525061131c565b905090565b60006105626040518060400160405280601381526020017f70726f66696c65315f6e6f74414d656d6265720000000000000000000000000081525061131c565b60006105626040518060400160405280600a81526020017f726563697069656e74320000000000000000000000000000000000000000000081525061131c565b60006105626040518060400160405280600e81526020017f70726f66696c65325f6f776e657200000000000000000000000000000000000081525061131c565b60006105626040518060400160405280601081526020017f70726f66696c65315f6d656d626572310000000000000000000000000000000081525061131c565b606060168054806020026020016040519081016040528092919081815260200182805480156106bf57602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116106a1575b5050505050905090565b6060601d805480602002602001604051908101604052809291908181526020016000905b8282101561080257600084815260208082206040805180820182526002870290920180546001600160a01b03168352600181018054835181870281018701909452808452939591948681019491929084015b828210156107eb57838290600052602060002001805461075e906116fd565b80601f016020809104026020016040519081016040528092919081815260200182805461078a906116fd565b80156107d75780601f106107ac576101008083540402835291602001916107d7565b820191906000526020600020905b8154815290600101906020018083116107ba57829003601f168201915b50505050508152602001906001019061073f565b5050505081525050815260200190600101906106ed565b50505050905090565b606060188054806020026020016040519081016040528092919081815260200182805480156106bf576020028201919060005260206000209081546001600160a01b031681526001909101906020018083116106a1575050505050905090565b606060178054806020026020016040519081016040528092919081815260200182805480156106bf576020028201919060005260206000209081546001600160a01b031681526001909101906020018083116106a1575050505050905090565b604080516002808252606080830184529260208301908036833701905050905090565b60006105626040518060400160405280601081526020017f70726f66696c65325f6d656d626572310000000000000000000000000000000081525061131c565b60006105626040518060400160405280601081526020017f726563697069656e74416464726573730000000000000000000000000000000081525061131c565b60006105626040518060400160405280600981526020017f726563697069656e74000000000000000000000000000000000000000000000081525061131c565b6060601b805480602002602001604051908101604052809291908181526020016000905b828210156108025760008481526020908190206040805180820182526002860290920180546001600160a01b03168352600181018054835181870281018701909452808452939491938583019392830182828015610a9157602002820191906000526020600020906000905b82829054906101000a900460e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681526020019060040190602082600301049283019260010382029150808411610a3e5790505b505050505081525050815260200190600101906109d2565b60006105626040518060400160405280600d81526020017f706f6f6c5f6d616e61676572320000000000000000000000000000000000000081525061131c565b60408051600280825260608083018452926000929190602083019080368337019050509050610b16610627565b81600081518110610b2957610b29611737565b60200260200101906001600160a01b031690816001600160a01b031681525050610b51610c29565b81600181518110610b6457610b64611737565b6001600160a01b0390921660209283029190910190910152919050565b60006105626040518060400160405280600c81526020017f6e6f5f726563697069656e74000000000000000000000000000000000000000081525061131c565b60408051600280825260608083018452926000929190602083019080368337019050509050610bee610522565b81600081518110610c0157610c01611737565b60200260200101906001600160a01b031690816001600160a01b031681525050610b51610aa9565b60006105626040518060400160405280601081526020017f70726f66696c65315f6d656d626572320000000000000000000000000000000081525061131c565b60006105626040518060400160405280600a81526020017f616c6c6f5f6f776e65720000000000000000000000000000000000000000000081525061131c565b6060601a805480602002602001604051908101604052809291908181526020016000905b82821015610802578382906000526020600020018054610cec906116fd565b80601f0160208091040260200160405190810160405280929190818152602001828054610d18906116fd565b8015610d655780601f10610d3a57610100808354040283529160200191610d65565b820191906000526020600020905b815481529060010190602001808311610d4857829003601f168201915b505050505081526020019060010190610ccd565b60006105626040518060400160405280600a81526020017f706f6f6c5f61646d696e0000000000000000000000000000000000000000000081525061131c565b60006105626040518060400160405280601081526020017f70726f66696c65325f6d656d626572320000000000000000000000000000000081525061131c565b6060601c805480602002602001604051908101604052809291908181526020016000905b828210156108025760008481526020908190206040805180820182526002860290920180546001600160a01b03168352600181018054835181870281018701909452808452939491938583019392830182828015610edc57602002820191906000526020600020906000905b82829054906101000a900460e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681526020019060040190602082600301049283019260010382029150808411610e895790505b50505050508152505081526020019060010190610e1d565b60408051600280825260608083018452926000929190602083019080368337019050509050610f216108ee565b81600081518110610f3457610f34611737565b60200260200101906001600160a01b031690816001600160a01b031681525050610b51610db9565b60006105626040518060400160405280600a81526020017f726563697069656e74310000000000000000000000000000000000000000000081525061131c565b60606019805480602002602001604051908101604052809291908181526020016000905b82821015610802578382906000526020600020018054610fdf906116fd565b80601f016020809104026020016040519081016040528092919081815260200182805461100b906116fd565b80156110585780601f1061102d57610100808354040283529160200191611058565b820191906000526020600020905b81548152906001019060200180831161103b57829003601f168201915b505050505081526020019060010190610fc0565b60085460009060ff1615611084575060085460ff1690565b6040517f667f9d70000000000000000000000000000000000000000000000000000000008152737109709ecfa91a80626ff3989d68f67f5b1dd12d600482018190527f6661696c65640000000000000000000000000000000000000000000000000000602483015260009163667f9d7090604401602060405180830381865afa158015611115573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611139919061174d565b1415905090565b60006105626040518060400160405280601081526020017f706f6f6c5f6e6f74414d616e616765720000000000000000000000000000000081525061131c565b60006105626040518060400160405280600e81526020017f70726f66696c65315f6f776e657200000000000000000000000000000000000081525061131c565b60006105626040518060400160405280600b81526020017f72616e646f6d206368616400000000000000000000000000000000000000000081525061131c565b60006105626040518060400160405280600d81526020017f616c6c6f5f74726561737572790000000000000000000000000000000000000081525061131c565b60006105626040518060400160405280600e81526020017f72656769737472795f6f776e657200000000000000000000000000000000000081525061131c565b606060158054806020026020016040519081016040528092919081815260200182805480156106bf576020028201919060005260206000209081546001600160a01b031681526001909101906020018083116106a1575050505050905090565b60006105626040518060400160405280601381526020017f70726f66696c65325f6e6f74414d656d626572000000000000000000000000008152505b60006113278261132e565b5092915050565b600080826040516020016113429190611766565b60408051808303601f190181529082905280516020909101207fffa18649000000000000000000000000000000000000000000000000000000008252600482018190529150737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ffa1864990602401602060405180830381865afa1580156113c3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113e79190611782565b6040517fc657c718000000000000000000000000000000000000000000000000000000008152909250737109709ecfa91a80626ff3989d68f67f5b1dd12d9063c657c7189061143c90859087906004016117b2565b600060405180830381600087803b15801561145657600080fd5b505af115801561146a573d6000803e3d6000fd5b50505050915091565b6020808252825182820181905260009190848201906040850190845b818110156114b45783516001600160a01b03168352928401929184019160010161148f565b50909695505050505050565b60005b838110156114db5781810151838201526020016114c3565b50506000910152565b600081518084526114fc8160208601602086016114c0565b601f01601f19169290920160200192915050565b602080825282518282018190526000919060409081850190600581811b8701840188860187805b858110156115c057603f198b8503018752825180516001600160a01b031685528901518985018990528051898601819052908a0190606081881b870181019190870190855b818110156115aa57605f198985030183526115988486516114e4565b948e01949350918d019160010161157c565b505050978a019794505091880191600101611537565b50919a9950505050505050505050565b60006020808301818452808551808352604092508286019150828160051b8701018488016000805b8481101561168c57898403603f19018652825180516001600160a01b03168552880151888501889052805188860181905290890190839060608701905b808310156116775783517fffffffff00000000000000000000000000000000000000000000000000000000168252928b019260019290920191908b0190611635565b50978a019795505050918701916001016115f8565b50919998505050505050505050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b828110156116f057603f198886030184526116de8583516114e4565b945092850192908501906001016116c2565b5092979650505050505050565b600181811c9082168061171157607f821691505b60208210810361173157634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561175f57600080fd5b5051919050565b600082516117788184602087016114c0565b9190910192915050565b60006020828403121561179457600080fd5b81516001600160a01b03811681146117ab57600080fd5b9392505050565b6001600160a01b03831681526040602082015260006117d460408301846114e4565b94935050505056fea26469706673582212200e56bc14c41ec26539a9346f37967c0cdeda059b1889ce9115ea45f5f154e88f64736f6c63430008130033","sourceMap":"833:2031:17:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1763:107:15;;;:::i;:::-;;;-1:-1:-1;;;;;178:55:151;;;160:74;;148:2;133:18;1763:107:15;;;;;;;;2429:119;;;:::i;4045:101::-;;;:::i;226:92::-;306:4;226:92;;905:138;968:7;905:138;;2159:111:17;2244:19;;-1:-1:-1;;;;;2244:19:17;2159:111;;2572:97;2650:12;;2572:97;;;391:25:151;;;379:2;364:18;2572:97:17;245:177:151;3126:109:15;;;:::i;2554:113::-;;;:::i;2452:134:26:-;;;:::i;:::-;;;;;;;:::i;3360:151::-;;;:::i;:::-;;;;;;;:::i;2757:105:17:-;2839:16;;-1:-1:-1;;;;;2839:16:17;2757:105;;2276:97;2354:12;;2276:97;;3221:133:26;;;:::i;2922:141::-;;;:::i;1331:118:15:-;;;:::i;3366:113::-;;;:::i;4257:::-;;;:::i;4152:99::-;;;:::i;2738:178:26:-;;;:::i;:::-;;;;;;;:::i;1876:107:15:-;;;:::i;2792:241::-;;;:::i;4376:105::-;;;:::i;1989:232::-;;;:::i;610:85:17:-;678:10;;;;;-1:-1:-1;;;;;678:10:17;610:85;;2673:113:15;;;:::i;439:101::-;;;:::i;2592:140:26:-;;;:::i;:::-;;;;;;;:::i;1537:101:15:-;;;:::i;3485:113::-;;;:::i;3069:146:26:-;;;:::i;3604:241:15:-;;;:::i;3938:101::-;;;:::i;2157:141:26:-;;;:::i;1243:204:22:-;;;:::i;:::-;;;6280:14:151;;6273:22;6255:41;;6243:2;6228:18;1243:204:22;6115:187:151;2461:105:17;2543:16;;-1:-1:-1;;;;;2543:16:17;2461:105;;1644:113:15;;;:::i;2314:109::-;;;:::i;4571:105::-;;;:::i;546:124::-;;;:::i;324:109::-;;;:::i;2304:142:26:-;;;:::i;3241:119:15:-;;;:::i;1016:26:33:-;;;;;;;;;2050:103:17;2131:15;;2050:103;;1763:107:15;1812:7;1838:25;;;;;;;;;;;;;;;;;;:8;:25::i;:::-;1831:32;;1763:107;:::o;2429:119::-;2484:7;2510:31;;;;;;;;;;;;;;;;;;:8;:31::i;4045:101::-;4091:7;4117:22;;;;;;;;;;;;;;;;;;:8;:22::i;3126:109::-;3176:7;3202:26;;;;;;;;;;;;;;;;;;:8;:26::i;2554:113::-;2606:7;2632:28;;;;;;;;;;;;;;;;;;:8;:28::i;2452:134:26:-;2499:33;2563:16;2544:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2544:35:26;;;;;;;;;;;;;;;;;;;;;;;2452:134;:::o;3360:151::-;3409:42;3485:19;3463:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3463:41:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3360:151;:::o;3221:133::-;3267:33;3331:16;3312:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3312:35:26;;;;;;;;;;;;;;;;;;;;;;3221:133;:::o;2922:141::-;2970:35;3038:18;3017:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3017:39:26;;;;;;;;;;;;;;;;;;;;;;2922:141;:::o;1331:118:15:-;1426:16;;;1440:1;1426:16;;;1391;1426;;;;;1391;1426;;;;;;;;;;-1:-1:-1;1426:16:15;1419:23;;1331:118;:::o;3366:113::-;3418:7;3444:28;;;;;;;;;;;;;;;;;;:8;:28::i;4257:113::-;4309:7;4335:28;;;;;;;;;;;;;;;;;;:8;:28::i;4152:99::-;4197:7;4223:21;;;;;;;;;;;;;;;;;;:8;:21::i;2738:178:26:-;2794:48;2883:26;2854:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2854:55:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1876:107:15;1925:7;1951:25;;;;;;;;;;;;;;;;;;:8;:25::i;2792:241::-;2900:16;;;2914:1;2900:16;;;2844;2900;;;;;2844;2872:25;;2900:16;2914:1;2900:16;;;;;;;;;;-1:-1:-1;2900:16:15;2872:44;;2940:18;:16;:18::i;:::-;2926:8;2935:1;2926:11;;;;;;;;:::i;:::-;;;;;;:32;-1:-1:-1;;;;;2926:32:15;;;-1:-1:-1;;;;;2926:32:15;;;;;2982:18;:16;:18::i;:::-;2968:8;2977:1;2968:11;;;;;;;;:::i;:::-;-1:-1:-1;;;;;2968:32:15;;;:11;;;;;;;;;;;:32;3018:8;2792:241;-1:-1:-1;2792:241:15:o;4376:105::-;4424:7;4450:24;;;;;;;;;;;;;;;;;;:8;:24::i;1989:232::-;2094:16;;;2108:1;2094:16;;;2038;2094;;;;;2038;2066:25;;2094:16;2108:1;2094:16;;;;;;;;;;-1:-1:-1;2094:16:15;2066:44;;2134:15;:13;:15::i;:::-;2120:8;2129:1;2120:11;;;;;;;;:::i;:::-;;;;;;:29;-1:-1:-1;;;;;2120:29:15;;;-1:-1:-1;;;;;2120:29:15;;;;;2173:15;:13;:15::i;2673:113::-;2725:7;2751:28;;;;;;;;;;;;;;;;;;:8;:28::i;439:101::-;485:7;511:22;;;;;;;;;;;;;;;;;;:8;:22::i;2592:140:26:-;2640:34;2707:18;2686:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1537:101:15;1583:7;1609:22;;;;;;;;;;;;;;;;;;:8;:22::i;3485:113::-;3537:7;3563:28;;;;;;;;;;;;;;;;;;:8;:28::i;3069:146:26:-;3117:40;3190:18;3169:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3169:39:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3604:241:15;3712:16;;;3726:1;3712:16;;;3656;3712;;;;;3656;3684:25;;3712:16;3726:1;3712:16;;;;;;;;;;-1:-1:-1;3712:16:15;3684:44;;3752:18;:16;:18::i;:::-;3738:8;3747:1;3738:11;;;;;;;;:::i;:::-;;;;;;:32;-1:-1:-1;;;;;3738:32:15;;;-1:-1:-1;;;;;3738:32:15;;;;;3794:18;:16;:18::i;3938:101::-;3984:7;4010:22;;;;;;;;;;;;;;;;;;:8;:22::i;2157:141:26:-;2206:34;2273:18;2252:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1243:204:22;1302:7;;1282:4;;1302:7;;1298:143;;;-1:-1:-1;1332:7:22;;;;;1243:204::o;1298:143::-;1377:39;;;;;:7;:39;;;7548:74:151;;;1398:17:22;7638:18:151;;;7631:34;1428:1:22;;1377:7;;7521:18:151;;1377:39:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:53;;1370:60;;1243:204;:::o;1644:113:15:-;1696:7;1722:28;;;;;;;;;;;;;;;;;;:8;:28::i;2314:109::-;2364:7;2390:26;;;;;;;;;;;;;;;;;;:8;:26::i;4571:105::-;4620:7;4646:23;;;;;;;;;;;;;;;;;;:8;:23::i;546:124::-;595:15;637:25;;;;;;;;;;;;;;;;;;:8;:25::i;324:109::-;374:7;400:26;;;;;;;;;;;;;;;;;;:8;:26::i;2304:142:26:-;2353:35;2421:18;2400:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2400:39:26;;;;;;;;;;;;;;;;;;;;;;2304:142;:::o;3241:119:15:-;3296:7;3322:31;;;;;;;;;;;;;;;;;;20439:125:24;20503:12;20537:20;20552:4;20537:14;:20::i;:::-;-1:-1:-1;20527:30:24;20439:125;-1:-1:-1;;20439:125:24:o;20158:242::-;20228:12;20242:18;20320:4;20303:22;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;20303:22:24;;;;;;;20293:33;;20303:22;20293:33;;;;20344:19;;;;;;391:25:151;;;20293:33:24;-1:-1:-1;20344:7:24;;;;364:18:151;;20344:19:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;20373:20;;;;;20337:26;;-1:-1:-1;20373:8:24;;;;:20;;20337:26;;20388:4;;20373:20;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20158:242;;;:::o;427:681:151:-;598:2;650:21;;;720:13;;623:18;;;742:22;;;569:4;;598:2;821:15;;;;795:2;780:18;;;569:4;864:218;878:6;875:1;872:13;864:218;;;943:13;;-1:-1:-1;;;;;939:62:151;927:75;;1057:15;;;;1022:12;;;;900:1;893:9;864:218;;;-1:-1:-1;1099:3:151;;427:681;-1:-1:-1;;;;;;427:681:151:o;1113:250::-;1198:1;1208:113;1222:6;1219:1;1216:13;1208:113;;;1298:11;;;1292:18;1279:11;;;1272:39;1244:2;1237:10;1208:113;;;-1:-1:-1;;1355:1:151;1337:16;;1330:27;1113:250::o;1368:271::-;1410:3;1448:5;1442:12;1475:6;1470:3;1463:19;1491:76;1560:6;1553:4;1548:3;1544:14;1537:4;1530:5;1526:16;1491:76;:::i;:::-;1621:2;1600:15;-1:-1:-1;;1596:29:151;1587:39;;;;1628:4;1583:50;;1368:271;-1:-1:-1;;1368:271:151:o;1644:1767::-;1879:2;1931:21;;;2001:13;;1904:18;;;2023:22;;;1850:4;;1879:2;2064;;2082:18;;;;2119:1;2162:15;;;2147:31;;2143:40;;2206:15;;;1850:4;;2270:1112;2286:6;2281:3;2278:15;2270:1112;;;-1:-1:-1;;2355:22:151;;;2351:36;2339:49;;2411:13;;2498:9;;-1:-1:-1;;;;;2494:58:151;2479:74;;2592:11;;2586:18;2624:15;;;2617:27;;;2705:19;;2451:15;;;2737:24;;;2918:21;;;;2784:2;2866:17;;;2854:30;;2850:39;;;2808:15;;;;2963:1;2977:296;2993:8;2988:3;2985:17;2977:296;;;3099:2;3095:7;3086:6;3078;3074:19;3070:33;3063:5;3056:48;3131:42;3166:6;3155:8;3149:15;3131:42;:::i;:::-;3202:17;;;;3121:52;-1:-1:-1;3245:14:151;;;;3021:1;3012:11;2977:296;;;-1:-1:-1;;;3360:12:151;;;;3296:6;-1:-1:-1;;3325:15:151;;;;2312:1;2303:11;2270:1112;;;-1:-1:-1;3399:6:151;;1644:1767;-1:-1:-1;;;;;;;;;;1644:1767:151:o;3416:1638::-;3620:4;3649:2;3689;3678:9;3674:18;3719:2;3708:9;3701:21;3742:6;3777;3771:13;3808:6;3800;3793:22;3834:2;3824:12;;3867:2;3856:9;3852:18;3845:25;;3929:2;3919:6;3916:1;3912:14;3901:9;3897:30;3893:39;3967:2;3959:6;3955:15;3988:1;4009;4019:1006;4035:6;4030:3;4027:15;4019:1006;;;4104:22;;;-1:-1:-1;;4100:36:151;4088:49;;4160:13;;4247:9;;-1:-1:-1;;;;;4243:58:151;4228:74;;4341:11;;4335:18;4373:15;;;4366:27;;;4454:19;;4200:15;;;4486:24;;;4576:21;;;;4621:1;;4544:2;4532:15;;;4635:282;4651:8;4646:3;4643:17;4635:282;;;4732:15;;4749:66;4728:88;4714:103;;4886:17;;;;4679:1;4670:11;;;;;4843:14;;;;4635:282;;;-1:-1:-1;5003:12:151;;;;4940:5;-1:-1:-1;;;4968:15:151;;;;4061:1;4052:11;4019:1006;;;-1:-1:-1;5042:6:151;;3416:1638;-1:-1:-1;;;;;;;;;3416:1638:151:o;5307:803::-;5469:4;5498:2;5538;5527:9;5523:18;5568:2;5557:9;5550:21;5591:6;5626;5620:13;5657:6;5649;5642:22;5695:2;5684:9;5680:18;5673:25;;5757:2;5747:6;5744:1;5740:14;5729:9;5725:30;5721:39;5707:53;;5795:2;5787:6;5783:15;5816:1;5826:255;5840:6;5837:1;5834:13;5826:255;;;5933:2;5929:7;5917:9;5909:6;5905:22;5901:36;5896:3;5889:49;5961:40;5994:6;5985;5979:13;5961:40;:::i;:::-;5951:50;-1:-1:-1;6059:12:151;;;;6024:15;;;;5862:1;5855:9;5826:255;;;-1:-1:-1;6098:6:151;;5307:803;-1:-1:-1;;;;;;;5307:803:151:o;6554:437::-;6633:1;6629:12;;;;6676;;;6697:61;;6751:4;6743:6;6739:17;6729:27;;6697:61;6804:2;6796:6;6793:14;6773:18;6770:38;6767:218;;-1:-1:-1;;;6838:1:151;6831:88;6942:4;6939:1;6932:15;6970:4;6967:1;6960:15;6767:218;;6554:437;;;:::o;7185:184::-;-1:-1:-1;;;7234:1:151;7227:88;7334:4;7331:1;7324:15;7358:4;7355:1;7348:15;7676:184;7746:6;7799:2;7787:9;7778:7;7774:23;7770:32;7767:52;;;7815:1;7812;7805:12;7767:52;-1:-1:-1;7838:16:151;;7676:184;-1:-1:-1;7676:184:151:o;7865:289::-;7996:3;8034:6;8028:13;8050:66;8109:6;8104:3;8097:4;8089:6;8085:17;8050:66;:::i;:::-;8132:16;;;;;7865:289;-1:-1:-1;;7865:289:151:o;8341:313::-;8411:6;8464:2;8452:9;8443:7;8439:23;8435:32;8432:52;;;8480:1;8477;8470:12;8432:52;8512:9;8506:16;-1:-1:-1;;;;;8555:5:151;8551:54;8544:5;8541:65;8531:93;;8620:1;8617;8610:12;8531:93;8643:5;8341:313;-1:-1:-1;;;8341:313:151:o;8659:340::-;-1:-1:-1;;;;;8840:6:151;8836:55;8825:9;8818:74;8928:2;8923;8912:9;8908:18;8901:30;8799:4;8948:45;8989:2;8978:9;8974:18;8966:6;8948:45;:::i;:::-;8940:53;8659:340;-1:-1:-1;;;;8659:340:151:o","linkReferences":{}},"methodIdentifiers":{"IS_TEST()":"fa7626d4","allo_owner()":"7cbe79ed","allo_treasury()":"da4bf087","excludeArtifacts()":"b5508aa9","excludeContracts()":"e20c9f71","excludeSenders()":"1ed7831c","failed()":"ba414fa6","local()":"0f166ad4","no_recipient()":"759c9a86","nullProfile_member1()":"829e423f","nullProfile_member2()":"8c7408c4","nullProfile_members()":"4bf4ba21","nullProfile_notAMember()":"174eedde","nullProfile_owner()":"74d9284e","poolProfile_anchor()":"176effb3","poolProfile_id()":"fd325c60","pool_admin()":"8e0d1a50","pool_manager1()":"00b1fad7","pool_manager2()":"6a38dd0a","pool_managers()":"79e62d0d","pool_notAManager()":"d1e82b58","profile1_anchor()":"c5d7d73b","profile1_id()":"39f56f7f","profile1_member1()":"1e7bcb2e","profile1_member2()":"7b2edf32","profile1_members()":"70a32944","profile1_notAMember()":"030e4006","profile1_owner()":"d1f2cd88","profile2_anchor()":"3554642a","profile2_id()":"18540361","profile2_member1()":"587c1243","profile2_member2()":"8e3c2493","profile2_members()":"a407c67a","profile2_notAMember()":"ef0d790f","profile2_owner()":"1b96dce6","randomAddress()":"d5bee9f5","recipient()":"66d003ac","recipient1()":"aa3744bd","recipient2()":"0688b135","recipientAddress()":"5aff5999","registry()":"7b103999","registry_owner()":"dac4eb16","targetArtifactSelectors()":"66d9a9a0","targetArtifacts()":"85226c81","targetContracts()":"3f7286f4","targetInterfaces()":"2ade3880","targetSelectors()":"916a17c6","targetSenders()":"3e5e3c23"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"log_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"val\",\"type\":\"uint256[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256[]\",\"name\":\"val\",\"type\":\"int256[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"val\",\"type\":\"address[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"log_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"log_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"name\":\"log_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"val\",\"type\":\"address\"}],\"name\":\"log_named_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"val\",\"type\":\"uint256[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256[]\",\"name\":\"val\",\"type\":\"int256[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"val\",\"type\":\"address[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"val\",\"type\":\"bytes\"}],\"name\":\"log_named_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"val\",\"type\":\"bytes32\"}],\"name\":\"log_named_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"}],\"name\":\"log_named_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"val\",\"type\":\"string\"}],\"name\":\"log_named_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"}],\"name\":\"log_named_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"log_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"logs\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"IS_TEST\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"allo_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"allo_treasury\",\"outputs\":[{\"internalType\":\"address payable\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeArtifacts\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"excludedArtifacts_\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeContracts\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"excludedContracts_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeSenders\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"excludedSenders_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"failed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"local\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"no_recipient\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_member1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_member2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_members\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_notAMember\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nullProfile_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"poolProfile_anchor\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"poolProfile_id\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_admin\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_manager1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_manager2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_managers\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool_notAManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_anchor\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_id\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_member1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_member2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_members\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_notAMember\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile1_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_anchor\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_id\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_member1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_member2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_members\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_notAMember\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"profile2_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"randomAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"recipient\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"recipient1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"recipient2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"recipientAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"registry\",\"outputs\":[{\"internalType\":\"contract Registry\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"registry_owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetArtifactSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzSelector[]\",\"name\":\"targetedArtifactSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetArtifacts\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"targetedArtifacts_\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetContracts\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"targetedContracts_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetInterfaces\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"string[]\",\"name\":\"artifacts\",\"type\":\"string[]\"}],\"internalType\":\"struct StdInvariant.FuzzInterface[]\",\"name\":\"targetedInterfaces_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzSelector[]\",\"name\":\"targetedSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetSenders\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"targetedSenders_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"title\":\"RegistrySetupFull\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"This contract is used to setup a Registry contract with two identities for testing purposes.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/allo-v2/test/foundry/shared/RegistrySetup.sol\":\"RegistrySetupFull\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1000},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":eas-proxy/=lib/allo-v2/lib/eas-proxy/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":hedgey-vesting/=lib/allo-v2/lib/hedgey-vesting/contracts/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-contracts/=lib/safe-contracts/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":superfluid-protocol-monorepo/=lib/allo-v2/lib/superfluid-protocol-monorepo/packages/solidity-semantic-money/src/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"]},\"sources\":{\"lib/allo-v2/contracts/core/Anchor.sol\":{\"keccak256\":\"0x6f470a8d0bab0848d3c3b7fb076b4001ff8b6bfd18f4bd6691a50ee6a13910cd\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://4ed2ae6e417c282a07088fa9a30325fe5b2fa6d406ec02dc1df63027e82ec139\",\"dweb:/ipfs/QmdVDTJKzjJqkygZ9768krrVQicLZTJVrZXbvet7KsmT8H\"]},\"lib/allo-v2/contracts/core/Registry.sol\":{\"keccak256\":\"0xb4fb0c6d9eb0f27dd6f6099f2832054a0b194ce420c6870deb5a7a94dd88b998\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://0e82595dcff5471f50e67cc35f73dbc1c9344eac1ee9b42235372bd23ceee283\",\"dweb:/ipfs/QmS34kQKRBaE7ih8c5upBb11bg3QtjunvctxKYNrtfGWhR\"]},\"lib/allo-v2/contracts/core/interfaces/IRegistry.sol\":{\"keccak256\":\"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e\",\"dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA\"]},\"lib/allo-v2/contracts/core/libraries/Errors.sol\":{\"keccak256\":\"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf\",\"dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA\"]},\"lib/allo-v2/contracts/core/libraries/Metadata.sol\":{\"keccak256\":\"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c\",\"dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn\"]},\"lib/allo-v2/contracts/core/libraries/Native.sol\":{\"keccak256\":\"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a\",\"dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv\"]},\"lib/allo-v2/contracts/core/libraries/Transfer.sol\":{\"keccak256\":\"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11\",\"dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5\"]},\"lib/allo-v2/lib/solady/src/tokens/ERC20.sol\":{\"keccak256\":\"0x264e4675697d05dfb9bbe9cc91c6bda7962d934f1e940336fd75d509b7f396c4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5856338689f03f36c057203c5085243e104b8487274432062ebf076b512edeea\",\"dweb:/ipfs/QmXrqgaWQikKkHfoBkYPxeMTJWUY5uf7kSmipNbpU35XwK\"]},\"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol\":{\"keccak256\":\"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298\",\"dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt\"]},\"lib/allo-v2/test/foundry/shared/Accounts.sol\":{\"keccak256\":\"0x47c754ab744c6c9894aaff23cfbbe44bc30879a53fbbe8d36b1fee26137f2e3a\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://8e457b7adaf1ea79cc707e8a3e2989855f51ff98ebc1947b3239d7d410d5a07b\",\"dweb:/ipfs/QmSXASZ4u435D29T4UzKuh6kd8vLSrbSSgZzjnnhfwyv1m\"]},\"lib/allo-v2/test/foundry/shared/RegistrySetup.sol\":{\"keccak256\":\"0xb771e6d89c173abc626b0e6d30d1b2d8efed2c2b27cec3f49e9447c07b92622b\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://990cf93f5c90db3ab160c8a3b68b03561a7c2812b4c9763c901a3ac8b121ccdb\",\"dweb:/ipfs/QmeSruv7KW2ZeRe4iQnt1HA6jkAyu5GrohC4YRVZYMNz6j\"]},\"lib/forge-std/src/Base.sol\":{\"keccak256\":\"0x4ff1a785311017d1eedb1b4737956fa383067ad34eb439abfec1d989754dde1c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f553622969b9fdb930246704a4c10dfaee6b1a4468c142fa7eb9dc292a438224\",\"dweb:/ipfs/QmcxqHnqdQsMVtgsfH9VNLmZ3g7GhgNagfq7yvNCDcCHFK\"]},\"lib/forge-std/src/StdAssertions.sol\":{\"keccak256\":\"0xf513292ab066e6017db48ca749c1e63a44dfc5cba0326fc65c718f96e029d361\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://02d715ae2898f1fabd08133f80e6a7a3b87a2796ca5d23d1cb3fed9f4367f34c\",\"dweb:/ipfs/QmfESqa4j3PQAvvdfrnDQ1xUH1TnVCfvZYHsAEDK8z4X4k\"]},\"lib/forge-std/src/StdChains.sol\":{\"keccak256\":\"0x9cc29c28f49d0b7f7b2f1aa32d8273f8a087bf62eb3fb22d893df824052c25ef\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://42dcb36cb10b878a0d5b20ce3a4a3ba4f51f44d7731a66ac1133c699bc80b31b\",\"dweb:/ipfs/QmY6q7SaHQMLBb3rS6xZdArPaXoskWeqF6oJwUeZ3gKLZj\"]},\"lib/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0xb72f3519e0bf7d31df5d68557525f4fc55d861c3fb3b0f7793144ef7c94cbeb7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f3456d0f78e6f61203fa7871ba2df0d35925f10db3baee14be623ce2a35b84e2\",\"dweb:/ipfs/QmWE6QQSBvJifHMraisBTrf1x4WCwrDoTPLX8UKajTiApc\"]},\"lib/forge-std/src/StdError.sol\":{\"keccak256\":\"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6\",\"dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj\"]},\"lib/forge-std/src/StdInvariant.sol\":{\"keccak256\":\"0x67299bfacd77fddfa2a67b8e2b901e0e333618a4975fb94850b07475e51f6de6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1b61121d310f4053ce344b345b4a9ccf43b059daf9097ec2647f594beaca896d\",\"dweb:/ipfs/QmZUCoTtXBM9zfAZVbj2dFPPnKaV1CSZzXE7zictyg3Gfz\"]},\"lib/forge-std/src/StdJson.sol\":{\"keccak256\":\"0x62bed173cb126f6d5006706cf249bac8a2d51bfa18f773f314784ff18adc622d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5acc33dddbf2492e37dc32e89cd56ce917272d303a6874805f3a5768a6bfbf54\",\"dweb:/ipfs/QmTsgFhcpUf16gAVazUXU3WspgX8nHke2hzVCvoqS25WEp\"]},\"lib/forge-std/src/StdMath.sol\":{\"keccak256\":\"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92\",\"dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0x651d84d948832f0ef45686417aa68ffb871378fa788a4123dbf37844903c66f3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ff20f5ac9de3dc3ba86b1bf1f2723174e82ce3499ad67cb0ccfa7d28baeee678\",\"dweb:/ipfs/QmRZkUFKz7AmF7yk6o317sk822HHhGVPXZQgX8G4LfYfft\"]},\"lib/forge-std/src/StdStyle.sol\":{\"keccak256\":\"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8\",\"dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK\"]},\"lib/forge-std/src/StdToml.sol\":{\"keccak256\":\"0xc8a57915ace96f5b6a85b57e57690fc038cad9034a3dc368c11828a3707c61ab\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fa880a1a6e5d94005dcf4811b4c0df8d9c06407017ae111bd351483e2b76a72d\",\"dweb:/ipfs/QmcxkEE58gE1vDcZofTr8QpvdjXjgR72yYg7o4vTPSLCsy\"]},\"lib/forge-std/src/StdUtils.sol\":{\"keccak256\":\"0x502b18a4becda6ecd91fa8b419d8034946bfa80e6cc7f6497f51f8565bfadae0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bf499ee483a1dfd02023d4ce78ed4029a49794ccd5b849aaab912faea0d2ba61\",\"dweb:/ipfs/QmP6hwNZW7sYbQK9fBzuZWxfLm6Swx2nKzvZ54qWNqQkzX\"]},\"lib/forge-std/src/Test.sol\":{\"keccak256\":\"0x3b4bb409a156dee9ce261458117fe9f81080ca844a8a26c07c857c46d155effe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5792c69fe24bdc063a14e08fe68275007fdb1e5e7e343840a77938cb7e95a64e\",\"dweb:/ipfs/QmcAMhaurUwzhytJFYix4vRNeZeV8g27b8LnV3t7dvYtiK\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x51fec240abc6dd23e0ee6de7c65106379aef732cad6c4ae5df6b55db886e7456\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://a47d9c0a9876e7f9e411843b994a741d4ac1a87d8459ffc3c56359de691ddc1a\",\"dweb:/ipfs/QmQiFN9b3Y2azrD1RBfAKEuAG3YeJkMzA2DGzgEE9kMeEK\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]},\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0x954646445d1014c3cd85c7918f5e7adeeca5ee44b68c00bafa237e597a4e35ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://516fa3be52da4763147175bfba4be0aa011fadbb0c1afb01f97265bd4cee7973\",\"dweb:/ipfs/QmdixAyMJefx7qePChgdxcBH5MxhmN7vsqPuPLx3CgrVmF\"]},\"lib/forge-std/src/interfaces/IERC165.sol\":{\"keccak256\":\"0x414b2861b1acbf816ccb7346d3f16cf6c1e002e9e5e40d2f1f26fa5ddc2ea600\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://698352fb240868ea8f1d1fe389993035eeab930f10d06934f80ccfb2b6ccbfbc\",\"dweb:/ipfs/QmT6WLHAgXxFhh12kWym895oTzXid1326iZiwT3pyfggoT\"]},\"lib/forge-std/src/interfaces/IERC20.sol\":{\"keccak256\":\"0x4cab887298790f908c27de107e4e2907ca5413aee482ef776f8d2f353c5ef947\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb715e0c4a2bdbe432bb624501506041f06e878e0b72675aebba30ad2c2b72e7\",\"dweb:/ipfs/QmWhhLSvkxS2NrukJJHqFY8gDVE5r9rD4PfHvR24pwdKv9\"]},\"lib/forge-std/src/interfaces/IERC721.sol\":{\"keccak256\":\"0xf069262a264fdb69f8f37a10d2df7374649e9ba73f8414c9c8a3b51184625f15\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://924a41ca82a68ffbd503a5faf2f76d13e9938f10501a71094716f12bb64b4b7f\",\"dweb:/ipfs/QmdWnqfKc5ZGhmxNPTde4zrFchnv9Yk9MpCMb2rdhXE5gm\"]},\"lib/forge-std/src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0\",\"dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2\"]},\"lib/forge-std/src/mocks/MockERC20.sol\":{\"keccak256\":\"0xadbdfc6639edec00ba94bb1133a0fd8de31ccafe45c2ef5df9b3ca61b60b559b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc766f01bccf669abac8cc7b2096cc1352a66471ca3772ae61b1801dedc4ed4f\",\"dweb:/ipfs/QmNigaPj1LYkP7Z5xr4ijkUxr2K66fDGeoifG3WoM9ruyw\"]},\"lib/forge-std/src/mocks/MockERC721.sol\":{\"keccak256\":\"0x3293dcbb7acd28df553c954e4e39e288bf10aab7ecda8d50ef21b4f4a91a28d9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9eb374daf6df34f4392f8926f1fddbce9f22c423066aeaefdfbe77395f77967b\",\"dweb:/ipfs/QmWR81zBJRX2uyRjveGzikYPj6ZwKppWsU49YEQXTLWUsN\"]},\"lib/forge-std/src/safeconsole.sol\":{\"keccak256\":\"0xbaf41fdc6c54297e7cd8250e48b0f20eaac918e342a1028cef3f9a52ac086381\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a500ad81dea226f9910e6b50f99a9ff930105e393a692cbfb2185e4cdb4424ae\",\"dweb:/ipfs/QmVbUQpXNMmMWRiy4FvBNczzq46BMGfUoBikvSHNiCxVTq\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0xc8710577334e8d0799ae2b2a731b1924a7bddd64319da9787ddd2dc69bdd1ce5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b83b7afa4d2372da3ba5402fb10860a105c35d79812c60dc61007be2afc17618\",\"dweb:/ipfs/QmYX9xPmbNVSKXrepKiUZiG5oL3SdzFp9a4kqspxX1sEUx\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol\":{\"keccak256\":\"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c\",\"dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e\",\"dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b\",\"dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95\",\"dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol\":{\"keccak256\":\"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a\",\"dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0xd90d7723512df65ae417adaf0801042940f0dabd60039ceeaffe34aa5b238da1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1b13befeb3413749292f9fb229de1c7a509a5ce2c8047d9094fc004ca9d3af89\",\"dweb:/ipfs/QmRzJ2hZSwRtMejHUZAYTPRKgZsnfb112Fno9Jf3EiDfwA\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol\":{\"keccak256\":\"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758\",\"dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol\":{\"keccak256\":\"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91\",\"dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol\":{\"keccak256\":\"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4\",\"dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z\"]},\"lib/openzeppelin-contracts/contracts/token/ERC1155/IERC1155Receiver.sol\":{\"keccak256\":\"0xeb373f1fdc7b755c6a750123a9b9e3a8a02c1470042fd6505d875000a80bde0b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0e28648f994abf1d6bc345644a361cc0b7efa544f8bc0c8ec26011fed85a91ec\",\"dweb:/ipfs/QmVVE7AiRjKaQYYji7TkjmTeVzGpNmms5eoxqTCfvvpj6D\"]},\"lib/openzeppelin-contracts/contracts/token/ERC1155/utils/ERC1155Holder.sol\":{\"keccak256\":\"0x2e024ca51ce5abe16c0d34e6992a1104f356e2244eb4ccbec970435e8b3405e3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a74009db3c6fc8db851ba69ddb6795b5c1ef1120c5a00fd1a8dc3a717dd9d519\",\"dweb:/ipfs/QmZMk8Yh2X3gPS51ckUVLEXjZUhMSEeGApnA53WtjvLb9h\"]},\"lib/openzeppelin-contracts/contracts/token/ERC1155/utils/ERC1155Receiver.sol\":{\"keccak256\":\"0x3dd5e1a66a56f30302108a1da97d677a42b1daa60e503696b2bcbbf3e4c95bcb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0808de0ae4918c664643c885ca7fa6503e8ef2bd75609dfc85152c0128a3422d\",\"dweb:/ipfs/QmNrhFC1XgBKuuxfahFeiwi1MCdu3FLNpHj2uStgmf4iJj\"]},\"lib/openzeppelin-contracts/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708\",\"dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV\"]},\"lib/openzeppelin-contracts/contracts/token/ERC721/utils/ERC721Holder.sol\":{\"keccak256\":\"0x67ef46fef257faae47adb630aad49694dda0334e5f7a7c5fb386243b974886b5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c63284cf05ff845109190961e72ca27bd6a7b997f053d2ce21db83e9e285085c\",\"dweb:/ipfs/QmQBQVYJRzscToP6YaTRDvwYeLmr4V7kD1PjoG9mRpUYzU\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"string","name":"","type":"string","indexed":false}],"type":"event","name":"log","anonymous":false},{"inputs":[{"internalType":"address","name":"","type":"address","indexed":false}],"type":"event","name":"log_address","anonymous":false},{"inputs":[{"internalType":"uint256[]","name":"val","type":"uint256[]","indexed":false}],"type":"event","name":"log_array","anonymous":false},{"inputs":[{"internalType":"int256[]","name":"val","type":"int256[]","indexed":false}],"type":"event","name":"log_array","anonymous":false},{"inputs":[{"internalType":"address[]","name":"val","type":"address[]","indexed":false}],"type":"event","name":"log_array","anonymous":false},{"inputs":[{"internalType":"bytes","name":"","type":"bytes","indexed":false}],"type":"event","name":"log_bytes","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32","indexed":false}],"type":"event","name":"log_bytes32","anonymous":false},{"inputs":[{"internalType":"int256","name":"","type":"int256","indexed":false}],"type":"event","name":"log_int","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"address","name":"val","type":"address","indexed":false}],"type":"event","name":"log_named_address","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"uint256[]","name":"val","type":"uint256[]","indexed":false}],"type":"event","name":"log_named_array","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"int256[]","name":"val","type":"int256[]","indexed":false}],"type":"event","name":"log_named_array","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"address[]","name":"val","type":"address[]","indexed":false}],"type":"event","name":"log_named_array","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"bytes","name":"val","type":"bytes","indexed":false}],"type":"event","name":"log_named_bytes","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"bytes32","name":"val","type":"bytes32","indexed":false}],"type":"event","name":"log_named_bytes32","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"int256","name":"val","type":"int256","indexed":false},{"internalType":"uint256","name":"decimals","type":"uint256","indexed":false}],"type":"event","name":"log_named_decimal_int","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"uint256","name":"val","type":"uint256","indexed":false},{"internalType":"uint256","name":"decimals","type":"uint256","indexed":false}],"type":"event","name":"log_named_decimal_uint","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"int256","name":"val","type":"int256","indexed":false}],"type":"event","name":"log_named_int","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"string","name":"val","type":"string","indexed":false}],"type":"event","name":"log_named_string","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"uint256","name":"val","type":"uint256","indexed":false}],"type":"event","name":"log_named_uint","anonymous":false},{"inputs":[{"internalType":"string","name":"","type":"string","indexed":false}],"type":"event","name":"log_string","anonymous":false},{"inputs":[{"internalType":"uint256","name":"","type":"uint256","indexed":false}],"type":"event","name":"log_uint","anonymous":false},{"inputs":[{"internalType":"bytes","name":"","type":"bytes","indexed":false}],"type":"event","name":"logs","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"IS_TEST","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"allo_owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"allo_treasury","outputs":[{"internalType":"address payable","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"excludeArtifacts","outputs":[{"internalType":"string[]","name":"excludedArtifacts_","type":"string[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"excludeContracts","outputs":[{"internalType":"address[]","name":"excludedContracts_","type":"address[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"excludeSenders","outputs":[{"internalType":"address[]","name":"excludedSenders_","type":"address[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"failed","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"local","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"no_recipient","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"nullProfile_member1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"nullProfile_member2","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"nullProfile_members","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"nullProfile_notAMember","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"nullProfile_owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"poolProfile_anchor","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"poolProfile_id","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pool_admin","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pool_manager1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pool_manager2","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pool_managers","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pool_notAManager","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"profile1_anchor","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"profile1_id","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile1_member1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile1_member2","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile1_members","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile1_notAMember","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile1_owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"profile2_anchor","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"profile2_id","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile2_member1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile2_member2","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile2_members","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile2_notAMember","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"profile2_owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"randomAddress","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"recipient","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"recipient1","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"recipient2","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"recipientAddress","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"registry","outputs":[{"internalType":"contract Registry","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"registry_owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetArtifactSelectors","outputs":[{"internalType":"struct StdInvariant.FuzzSelector[]","name":"targetedArtifactSelectors_","type":"tuple[]","components":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"bytes4[]","name":"selectors","type":"bytes4[]"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetArtifacts","outputs":[{"internalType":"string[]","name":"targetedArtifacts_","type":"string[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetContracts","outputs":[{"internalType":"address[]","name":"targetedContracts_","type":"address[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetInterfaces","outputs":[{"internalType":"struct StdInvariant.FuzzInterface[]","name":"targetedInterfaces_","type":"tuple[]","components":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"string[]","name":"artifacts","type":"string[]"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetSelectors","outputs":[{"internalType":"struct StdInvariant.FuzzSelector[]","name":"targetedSelectors_","type":"tuple[]","components":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"bytes4[]","name":"selectors","type":"bytes4[]"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetSenders","outputs":[{"internalType":"address[]","name":"targetedSenders_","type":"address[]"}]}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","eas-proxy/=lib/allo-v2/lib/eas-proxy/contracts/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","hedgey-vesting/=lib/allo-v2/lib/hedgey-vesting/contracts/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-contracts/=lib/safe-contracts/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","superfluid-protocol-monorepo/=lib/allo-v2/lib/superfluid-protocol-monorepo/packages/solidity-semantic-money/src/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":1000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib/allo-v2/test/foundry/shared/RegistrySetup.sol":"RegistrySetupFull"},"evmVersion":"paris","libraries":{}},"sources":{"lib/allo-v2/contracts/core/Anchor.sol":{"keccak256":"0x6f470a8d0bab0848d3c3b7fb076b4001ff8b6bfd18f4bd6691a50ee6a13910cd","urls":["bzz-raw://4ed2ae6e417c282a07088fa9a30325fe5b2fa6d406ec02dc1df63027e82ec139","dweb:/ipfs/QmdVDTJKzjJqkygZ9768krrVQicLZTJVrZXbvet7KsmT8H"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/Registry.sol":{"keccak256":"0xb4fb0c6d9eb0f27dd6f6099f2832054a0b194ce420c6870deb5a7a94dd88b998","urls":["bzz-raw://0e82595dcff5471f50e67cc35f73dbc1c9344eac1ee9b42235372bd23ceee283","dweb:/ipfs/QmS34kQKRBaE7ih8c5upBb11bg3QtjunvctxKYNrtfGWhR"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/interfaces/IRegistry.sol":{"keccak256":"0x3a2edcea094551fc86612932d42bd6b4682d20fb7b46cfdbeee39ba85367749f","urls":["bzz-raw://c922d497fdfdd2f43a009959429c761d1fb61501ca5d91abf9ae873ac58d437e","dweb:/ipfs/QmaiUx4uVajytmFJQJdGh2mJK2RKn4xNVrARurJdF3iwzA"],"license":"MIT"},"lib/allo-v2/contracts/core/libraries/Errors.sol":{"keccak256":"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15","urls":["bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf","dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Metadata.sol":{"keccak256":"0x452a95a8762fafd51d36295138f7e14189cbaaca7274d6fd34a59ad57a442d44","urls":["bzz-raw://2cc5507da2550ab9bfa0fbb263e703f9e70b831190bb7b2bcdbb231cab49795c","dweb:/ipfs/QmQXCD8v2HppXAX17aH49JvNyyfDYzGMrg63QNabUEXPpn"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Native.sol":{"keccak256":"0x23dacace24a8c570a659dcc7e52fca2d39cc7577c6cfa674820cafaf194b29d5","urls":["bzz-raw://0727880a600b1803f02b58ad002938462dc61aacf841f5e1ee38f296fdd67e8a","dweb:/ipfs/QmdrEiJxFFnUfn2QUNxRAUMS1qwCnRtGeWPChaGzhAkRnv"],"license":"AGPL-3.0-only"},"lib/allo-v2/contracts/core/libraries/Transfer.sol":{"keccak256":"0xb7b2bb9e47965ba74753f58544fe5f168a28970798720675ca7ba97fb0c79286","urls":["bzz-raw://47968985fb2900f1a930fb53038971bd092a09b71c7247f9fb50253b41db1d11","dweb:/ipfs/QmXYQmJ8jZpiCXKySGZqPmdkSUqvTFpi7Wfd23boTKEYQ5"],"license":"AGPL-3.0-only"},"lib/allo-v2/lib/solady/src/tokens/ERC20.sol":{"keccak256":"0x264e4675697d05dfb9bbe9cc91c6bda7962d934f1e940336fd75d509b7f396c4","urls":["bzz-raw://5856338689f03f36c057203c5085243e104b8487274432062ebf076b512edeea","dweb:/ipfs/QmXrqgaWQikKkHfoBkYPxeMTJWUY5uf7kSmipNbpU35XwK"],"license":"MIT"},"lib/allo-v2/lib/solady/src/utils/SafeTransferLib.sol":{"keccak256":"0x06d3261d13cf5a08f9bcda05e17be0a6a0380193116298fdf8eabf9bf80d3624","urls":["bzz-raw://96965a8a2b1bd2d6cff4a8f78bcb33b0de8848834f8e4be28c03609ae08e9298","dweb:/ipfs/QmSoNDxaEozMZgNdVEygfEvnk26Tu4UeFeapvtMsoUFftt"],"license":"MIT"},"lib/allo-v2/test/foundry/shared/Accounts.sol":{"keccak256":"0x47c754ab744c6c9894aaff23cfbbe44bc30879a53fbbe8d36b1fee26137f2e3a","urls":["bzz-raw://8e457b7adaf1ea79cc707e8a3e2989855f51ff98ebc1947b3239d7d410d5a07b","dweb:/ipfs/QmSXASZ4u435D29T4UzKuh6kd8vLSrbSSgZzjnnhfwyv1m"],"license":"AGPL-3.0-only"},"lib/allo-v2/test/foundry/shared/RegistrySetup.sol":{"keccak256":"0xb771e6d89c173abc626b0e6d30d1b2d8efed2c2b27cec3f49e9447c07b92622b","urls":["bzz-raw://990cf93f5c90db3ab160c8a3b68b03561a7c2812b4c9763c901a3ac8b121ccdb","dweb:/ipfs/QmeSruv7KW2ZeRe4iQnt1HA6jkAyu5GrohC4YRVZYMNz6j"],"license":"AGPL-3.0-only"},"lib/forge-std/src/Base.sol":{"keccak256":"0x4ff1a785311017d1eedb1b4737956fa383067ad34eb439abfec1d989754dde1c","urls":["bzz-raw://f553622969b9fdb930246704a4c10dfaee6b1a4468c142fa7eb9dc292a438224","dweb:/ipfs/QmcxqHnqdQsMVtgsfH9VNLmZ3g7GhgNagfq7yvNCDcCHFK"],"license":"MIT"},"lib/forge-std/src/StdAssertions.sol":{"keccak256":"0xf513292ab066e6017db48ca749c1e63a44dfc5cba0326fc65c718f96e029d361","urls":["bzz-raw://02d715ae2898f1fabd08133f80e6a7a3b87a2796ca5d23d1cb3fed9f4367f34c","dweb:/ipfs/QmfESqa4j3PQAvvdfrnDQ1xUH1TnVCfvZYHsAEDK8z4X4k"],"license":"MIT"},"lib/forge-std/src/StdChains.sol":{"keccak256":"0x9cc29c28f49d0b7f7b2f1aa32d8273f8a087bf62eb3fb22d893df824052c25ef","urls":["bzz-raw://42dcb36cb10b878a0d5b20ce3a4a3ba4f51f44d7731a66ac1133c699bc80b31b","dweb:/ipfs/QmY6q7SaHQMLBb3rS6xZdArPaXoskWeqF6oJwUeZ3gKLZj"],"license":"MIT"},"lib/forge-std/src/StdCheats.sol":{"keccak256":"0xb72f3519e0bf7d31df5d68557525f4fc55d861c3fb3b0f7793144ef7c94cbeb7","urls":["bzz-raw://f3456d0f78e6f61203fa7871ba2df0d35925f10db3baee14be623ce2a35b84e2","dweb:/ipfs/QmWE6QQSBvJifHMraisBTrf1x4WCwrDoTPLX8UKajTiApc"],"license":"MIT"},"lib/forge-std/src/StdError.sol":{"keccak256":"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77","urls":["bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6","dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj"],"license":"MIT"},"lib/forge-std/src/StdInvariant.sol":{"keccak256":"0x67299bfacd77fddfa2a67b8e2b901e0e333618a4975fb94850b07475e51f6de6","urls":["bzz-raw://1b61121d310f4053ce344b345b4a9ccf43b059daf9097ec2647f594beaca896d","dweb:/ipfs/QmZUCoTtXBM9zfAZVbj2dFPPnKaV1CSZzXE7zictyg3Gfz"],"license":"MIT"},"lib/forge-std/src/StdJson.sol":{"keccak256":"0x62bed173cb126f6d5006706cf249bac8a2d51bfa18f773f314784ff18adc622d","urls":["bzz-raw://5acc33dddbf2492e37dc32e89cd56ce917272d303a6874805f3a5768a6bfbf54","dweb:/ipfs/QmTsgFhcpUf16gAVazUXU3WspgX8nHke2hzVCvoqS25WEp"],"license":"MIT"},"lib/forge-std/src/StdMath.sol":{"keccak256":"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2","urls":["bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92","dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC"],"license":"MIT"},"lib/forge-std/src/StdStorage.sol":{"keccak256":"0x651d84d948832f0ef45686417aa68ffb871378fa788a4123dbf37844903c66f3","urls":["bzz-raw://ff20f5ac9de3dc3ba86b1bf1f2723174e82ce3499ad67cb0ccfa7d28baeee678","dweb:/ipfs/QmRZkUFKz7AmF7yk6o317sk822HHhGVPXZQgX8G4LfYfft"],"license":"MIT"},"lib/forge-std/src/StdStyle.sol":{"keccak256":"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d","urls":["bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8","dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK"],"license":"MIT"},"lib/forge-std/src/StdToml.sol":{"keccak256":"0xc8a57915ace96f5b6a85b57e57690fc038cad9034a3dc368c11828a3707c61ab","urls":["bzz-raw://fa880a1a6e5d94005dcf4811b4c0df8d9c06407017ae111bd351483e2b76a72d","dweb:/ipfs/QmcxkEE58gE1vDcZofTr8QpvdjXjgR72yYg7o4vTPSLCsy"],"license":"MIT"},"lib/forge-std/src/StdUtils.sol":{"keccak256":"0x502b18a4becda6ecd91fa8b419d8034946bfa80e6cc7f6497f51f8565bfadae0","urls":["bzz-raw://bf499ee483a1dfd02023d4ce78ed4029a49794ccd5b849aaab912faea0d2ba61","dweb:/ipfs/QmP6hwNZW7sYbQK9fBzuZWxfLm6Swx2nKzvZ54qWNqQkzX"],"license":"MIT"},"lib/forge-std/src/Test.sol":{"keccak256":"0x3b4bb409a156dee9ce261458117fe9f81080ca844a8a26c07c857c46d155effe","urls":["bzz-raw://5792c69fe24bdc063a14e08fe68275007fdb1e5e7e343840a77938cb7e95a64e","dweb:/ipfs/QmcAMhaurUwzhytJFYix4vRNeZeV8g27b8LnV3t7dvYtiK"],"license":"MIT"},"lib/forge-std/src/Vm.sol":{"keccak256":"0x51fec240abc6dd23e0ee6de7c65106379aef732cad6c4ae5df6b55db886e7456","urls":["bzz-raw://a47d9c0a9876e7f9e411843b994a741d4ac1a87d8459ffc3c56359de691ddc1a","dweb:/ipfs/QmQiFN9b3Y2azrD1RBfAKEuAG3YeJkMzA2DGzgEE9kMeEK"],"license":"MIT OR Apache-2.0"},"lib/forge-std/src/console.sol":{"keccak256":"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba","urls":["bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70","dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec"],"license":"MIT"},"lib/forge-std/src/console2.sol":{"keccak256":"0x954646445d1014c3cd85c7918f5e7adeeca5ee44b68c00bafa237e597a4e35ea","urls":["bzz-raw://516fa3be52da4763147175bfba4be0aa011fadbb0c1afb01f97265bd4cee7973","dweb:/ipfs/QmdixAyMJefx7qePChgdxcBH5MxhmN7vsqPuPLx3CgrVmF"],"license":"MIT"},"lib/forge-std/src/interfaces/IERC165.sol":{"keccak256":"0x414b2861b1acbf816ccb7346d3f16cf6c1e002e9e5e40d2f1f26fa5ddc2ea600","urls":["bzz-raw://698352fb240868ea8f1d1fe389993035eeab930f10d06934f80ccfb2b6ccbfbc","dweb:/ipfs/QmT6WLHAgXxFhh12kWym895oTzXid1326iZiwT3pyfggoT"],"license":"MIT"},"lib/forge-std/src/interfaces/IERC20.sol":{"keccak256":"0x4cab887298790f908c27de107e4e2907ca5413aee482ef776f8d2f353c5ef947","urls":["bzz-raw://bb715e0c4a2bdbe432bb624501506041f06e878e0b72675aebba30ad2c2b72e7","dweb:/ipfs/QmWhhLSvkxS2NrukJJHqFY8gDVE5r9rD4PfHvR24pwdKv9"],"license":"MIT"},"lib/forge-std/src/interfaces/IERC721.sol":{"keccak256":"0xf069262a264fdb69f8f37a10d2df7374649e9ba73f8414c9c8a3b51184625f15","urls":["bzz-raw://924a41ca82a68ffbd503a5faf2f76d13e9938f10501a71094716f12bb64b4b7f","dweb:/ipfs/QmdWnqfKc5ZGhmxNPTde4zrFchnv9Yk9MpCMb2rdhXE5gm"],"license":"MIT"},"lib/forge-std/src/interfaces/IMulticall3.sol":{"keccak256":"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a","urls":["bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0","dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2"],"license":"MIT"},"lib/forge-std/src/mocks/MockERC20.sol":{"keccak256":"0xadbdfc6639edec00ba94bb1133a0fd8de31ccafe45c2ef5df9b3ca61b60b559b","urls":["bzz-raw://bc766f01bccf669abac8cc7b2096cc1352a66471ca3772ae61b1801dedc4ed4f","dweb:/ipfs/QmNigaPj1LYkP7Z5xr4ijkUxr2K66fDGeoifG3WoM9ruyw"],"license":"MIT"},"lib/forge-std/src/mocks/MockERC721.sol":{"keccak256":"0x3293dcbb7acd28df553c954e4e39e288bf10aab7ecda8d50ef21b4f4a91a28d9","urls":["bzz-raw://9eb374daf6df34f4392f8926f1fddbce9f22c423066aeaefdfbe77395f77967b","dweb:/ipfs/QmWR81zBJRX2uyRjveGzikYPj6ZwKppWsU49YEQXTLWUsN"],"license":"MIT"},"lib/forge-std/src/safeconsole.sol":{"keccak256":"0xbaf41fdc6c54297e7cd8250e48b0f20eaac918e342a1028cef3f9a52ac086381","urls":["bzz-raw://a500ad81dea226f9910e6b50f99a9ff930105e393a692cbfb2185e4cdb4424ae","dweb:/ipfs/QmVbUQpXNMmMWRiy4FvBNczzq46BMGfUoBikvSHNiCxVTq"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol":{"keccak256":"0xc8710577334e8d0799ae2b2a731b1924a7bddd64319da9787ddd2dc69bdd1ce5","urls":["bzz-raw://b83b7afa4d2372da3ba5402fb10860a105c35d79812c60dc61007be2afc17618","dweb:/ipfs/QmYX9xPmbNVSKXrepKiUZiG5oL3SdzFp9a4kqspxX1sEUx"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol":{"keccak256":"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa","urls":["bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c","dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794","urls":["bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e","dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol":{"keccak256":"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422","urls":["bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b","dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef","urls":["bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95","dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol":{"keccak256":"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb","urls":["bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a","dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol":{"keccak256":"0xd90d7723512df65ae417adaf0801042940f0dabd60039ceeaffe34aa5b238da1","urls":["bzz-raw://1b13befeb3413749292f9fb229de1c7a509a5ce2c8047d9094fc004ca9d3af89","dweb:/ipfs/QmRzJ2hZSwRtMejHUZAYTPRKgZsnfb112Fno9Jf3EiDfwA"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol":{"keccak256":"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09","urls":["bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758","dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol":{"keccak256":"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e","urls":["bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91","dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol":{"keccak256":"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a","urls":["bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4","dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC1155/IERC1155Receiver.sol":{"keccak256":"0xeb373f1fdc7b755c6a750123a9b9e3a8a02c1470042fd6505d875000a80bde0b","urls":["bzz-raw://0e28648f994abf1d6bc345644a361cc0b7efa544f8bc0c8ec26011fed85a91ec","dweb:/ipfs/QmVVE7AiRjKaQYYji7TkjmTeVzGpNmms5eoxqTCfvvpj6D"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC1155/utils/ERC1155Holder.sol":{"keccak256":"0x2e024ca51ce5abe16c0d34e6992a1104f356e2244eb4ccbec970435e8b3405e3","urls":["bzz-raw://a74009db3c6fc8db851ba69ddb6795b5c1ef1120c5a00fd1a8dc3a717dd9d519","dweb:/ipfs/QmZMk8Yh2X3gPS51ckUVLEXjZUhMSEeGApnA53WtjvLb9h"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC1155/utils/ERC1155Receiver.sol":{"keccak256":"0x3dd5e1a66a56f30302108a1da97d677a42b1daa60e503696b2bcbbf3e4c95bcb","urls":["bzz-raw://0808de0ae4918c664643c885ca7fa6503e8ef2bd75609dfc85152c0128a3422d","dweb:/ipfs/QmNrhFC1XgBKuuxfahFeiwi1MCdu3FLNpHj2uStgmf4iJj"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC721/IERC721Receiver.sol":{"keccak256":"0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da","urls":["bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708","dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC721/utils/ERC721Holder.sol":{"keccak256":"0x67ef46fef257faae47adb630aad49694dda0334e5f7a7c5fb386243b974886b5","urls":["bzz-raw://c63284cf05ff845109190961e72ca27bd6a7b997f053d2ce21db83e9e285085c","dweb:/ipfs/QmQBQVYJRzscToP6YaTRDvwYeLmr4V7kD1PjoG9mRpUYzU"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol":{"keccak256":"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b","urls":["bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d","dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"}},"version":1},"storageLayout":{"storage":[{"astId":5830,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"stdstore","offset":0,"slot":"0","type":"t_struct(StdStorage)13235_storage"},{"astId":6026,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"_failed","offset":0,"slot":"8","type":"t_bool"},{"astId":8527,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"stdChainsInitialized","offset":1,"slot":"8","type":"t_bool"},{"astId":8548,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"chains","offset":0,"slot":"9","type":"t_mapping(t_string_memory_ptr,t_struct(Chain)8543_storage)"},{"astId":8552,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"defaultRpcUrls","offset":0,"slot":"10","type":"t_mapping(t_string_memory_ptr,t_string_storage)"},{"astId":8556,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"idToAlias","offset":0,"slot":"11","type":"t_mapping(t_uint256,t_string_storage)"},{"astId":8559,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"fallbackToDefaultRpcUrls","offset":0,"slot":"12","type":"t_bool"},{"astId":9317,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"gasMeteringOff","offset":1,"slot":"12","type":"t_bool"},{"astId":11354,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"stdstore","offset":0,"slot":"13","type":"t_struct(StdStorage)13235_storage"},{"astId":12222,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"_excludedContracts","offset":0,"slot":"21","type":"t_array(t_address)dyn_storage"},{"astId":12225,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"_excludedSenders","offset":0,"slot":"22","type":"t_array(t_address)dyn_storage"},{"astId":12228,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"_targetedContracts","offset":0,"slot":"23","type":"t_array(t_address)dyn_storage"},{"astId":12231,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"_targetedSenders","offset":0,"slot":"24","type":"t_array(t_address)dyn_storage"},{"astId":12234,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"_excludedArtifacts","offset":0,"slot":"25","type":"t_array(t_string_storage)dyn_storage"},{"astId":12237,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"_targetedArtifacts","offset":0,"slot":"26","type":"t_array(t_string_storage)dyn_storage"},{"astId":12241,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"_targetedArtifactSelectors","offset":0,"slot":"27","type":"t_array(t_struct(FuzzSelector)12213_storage)dyn_storage"},{"astId":12245,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"_targetedSelectors","offset":0,"slot":"28","type":"t_array(t_struct(FuzzSelector)12213_storage)dyn_storage"},{"astId":12249,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"_targetedInterfaces","offset":0,"slot":"29","type":"t_array(t_struct(FuzzInterface)12219_storage)dyn_storage"},{"astId":17834,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"IS_TEST","offset":0,"slot":"30","type":"t_bool"},{"astId":5104,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"_registry_","offset":1,"slot":"30","type":"t_contract(Registry)2295"},{"astId":5137,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"_poolProfileId_","offset":0,"slot":"31","type":"t_bytes32"},{"astId":5139,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"_poolProfileAnchor_","offset":0,"slot":"32","type":"t_address"},{"astId":5141,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"_profile1Id_","offset":0,"slot":"33","type":"t_bytes32"},{"astId":5143,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"_profile1Anchor_","offset":0,"slot":"34","type":"t_address"},{"astId":5145,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"_profile2Id_","offset":0,"slot":"35","type":"t_bytes32"},{"astId":5147,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"_profile2Anchor_","offset":0,"slot":"36","type":"t_address"}],"types":{"t_address":{"encoding":"inplace","label":"address","numberOfBytes":"20"},"t_array(t_address)dyn_storage":{"encoding":"dynamic_array","label":"address[]","numberOfBytes":"32","base":"t_address"},"t_array(t_bytes32)dyn_storage":{"encoding":"dynamic_array","label":"bytes32[]","numberOfBytes":"32","base":"t_bytes32"},"t_array(t_bytes4)dyn_storage":{"encoding":"dynamic_array","label":"bytes4[]","numberOfBytes":"32","base":"t_bytes4"},"t_array(t_string_storage)dyn_storage":{"encoding":"dynamic_array","label":"string[]","numberOfBytes":"32","base":"t_string_storage"},"t_array(t_struct(FuzzInterface)12219_storage)dyn_storage":{"encoding":"dynamic_array","label":"struct StdInvariant.FuzzInterface[]","numberOfBytes":"32","base":"t_struct(FuzzInterface)12219_storage"},"t_array(t_struct(FuzzSelector)12213_storage)dyn_storage":{"encoding":"dynamic_array","label":"struct StdInvariant.FuzzSelector[]","numberOfBytes":"32","base":"t_struct(FuzzSelector)12213_storage"},"t_bool":{"encoding":"inplace","label":"bool","numberOfBytes":"1"},"t_bytes32":{"encoding":"inplace","label":"bytes32","numberOfBytes":"32"},"t_bytes4":{"encoding":"inplace","label":"bytes4","numberOfBytes":"4"},"t_bytes_storage":{"encoding":"bytes","label":"bytes","numberOfBytes":"32"},"t_contract(Registry)2295":{"encoding":"inplace","label":"contract Registry","numberOfBytes":"20"},"t_mapping(t_address,t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)13210_storage)))":{"encoding":"mapping","key":"t_address","label":"mapping(address => mapping(bytes4 => mapping(bytes32 => struct FindData)))","numberOfBytes":"32","value":"t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)13210_storage))"},"t_mapping(t_bytes32,t_struct(FindData)13210_storage)":{"encoding":"mapping","key":"t_bytes32","label":"mapping(bytes32 => struct FindData)","numberOfBytes":"32","value":"t_struct(FindData)13210_storage"},"t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)13210_storage))":{"encoding":"mapping","key":"t_bytes4","label":"mapping(bytes4 => mapping(bytes32 => struct FindData))","numberOfBytes":"32","value":"t_mapping(t_bytes32,t_struct(FindData)13210_storage)"},"t_mapping(t_string_memory_ptr,t_string_storage)":{"encoding":"mapping","key":"t_string_memory_ptr","label":"mapping(string => string)","numberOfBytes":"32","value":"t_string_storage"},"t_mapping(t_string_memory_ptr,t_struct(Chain)8543_storage)":{"encoding":"mapping","key":"t_string_memory_ptr","label":"mapping(string => struct StdChains.Chain)","numberOfBytes":"32","value":"t_struct(Chain)8543_storage"},"t_mapping(t_uint256,t_string_storage)":{"encoding":"mapping","key":"t_uint256","label":"mapping(uint256 => string)","numberOfBytes":"32","value":"t_string_storage"},"t_string_memory_ptr":{"encoding":"bytes","label":"string","numberOfBytes":"32"},"t_string_storage":{"encoding":"bytes","label":"string","numberOfBytes":"32"},"t_struct(Chain)8543_storage":{"encoding":"inplace","label":"struct StdChains.Chain","numberOfBytes":"128","members":[{"astId":8536,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"name","offset":0,"slot":"0","type":"t_string_storage"},{"astId":8538,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"chainId","offset":0,"slot":"1","type":"t_uint256"},{"astId":8540,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"chainAlias","offset":0,"slot":"2","type":"t_string_storage"},{"astId":8542,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"rpcUrl","offset":0,"slot":"3","type":"t_string_storage"}]},"t_struct(FindData)13210_storage":{"encoding":"inplace","label":"struct FindData","numberOfBytes":"128","members":[{"astId":13203,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"slot","offset":0,"slot":"0","type":"t_uint256"},{"astId":13205,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"offsetLeft","offset":0,"slot":"1","type":"t_uint256"},{"astId":13207,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"offsetRight","offset":0,"slot":"2","type":"t_uint256"},{"astId":13209,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"found","offset":0,"slot":"3","type":"t_bool"}]},"t_struct(FuzzInterface)12219_storage":{"encoding":"inplace","label":"struct StdInvariant.FuzzInterface","numberOfBytes":"64","members":[{"astId":12215,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"addr","offset":0,"slot":"0","type":"t_address"},{"astId":12218,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"artifacts","offset":0,"slot":"1","type":"t_array(t_string_storage)dyn_storage"}]},"t_struct(FuzzSelector)12213_storage":{"encoding":"inplace","label":"struct StdInvariant.FuzzSelector","numberOfBytes":"64","members":[{"astId":12209,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"addr","offset":0,"slot":"0","type":"t_address"},{"astId":12212,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"selectors","offset":0,"slot":"1","type":"t_array(t_bytes4)dyn_storage"}]},"t_struct(StdStorage)13235_storage":{"encoding":"inplace","label":"struct StdStorage","numberOfBytes":"256","members":[{"astId":13219,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"finds","offset":0,"slot":"0","type":"t_mapping(t_address,t_mapping(t_bytes4,t_mapping(t_bytes32,t_struct(FindData)13210_storage)))"},{"astId":13222,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"_keys","offset":0,"slot":"1","type":"t_array(t_bytes32)dyn_storage"},{"astId":13224,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"_sig","offset":0,"slot":"2","type":"t_bytes4"},{"astId":13226,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"_depth","offset":0,"slot":"3","type":"t_uint256"},{"astId":13228,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"_target","offset":0,"slot":"4","type":"t_address"},{"astId":13230,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"_set","offset":0,"slot":"5","type":"t_bytes32"},{"astId":13232,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"_enable_packed_slots","offset":0,"slot":"6","type":"t_bool"},{"astId":13234,"contract":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol:RegistrySetupFull","label":"_calldata","offset":0,"slot":"7","type":"t_bytes_storage"}]},"t_uint256":{"encoding":"inplace","label":"uint256","numberOfBytes":"32"}}},"ast":{"absolutePath":"lib/allo-v2/test/foundry/shared/RegistrySetup.sol","id":5297,"exportedSymbols":{"Accounts":[5026],"Metadata":[3098],"Registry":[2295],"RegistrySetup":[5132],"RegistrySetupFull":[5296],"StdAssertions":[8503],"StdChains":[9285],"StdCheats":[12138],"StdInvariant":[12463],"StdStorage":[13235],"StdStyle":[16405],"StdUtils":[17783],"Test":[17835],"TestBase":[5834],"Vm":[21485],"console":[29549],"console2":[37674],"safeconsole":[52399],"stdError":[12204],"stdJson":[13055],"stdMath":[13197],"stdStorage":[15194],"stdToml":[16997]},"nodeType":"SourceUnit","src":"42:2823:17","nodes":[{"id":5089,"nodeType":"PragmaDirective","src":"42:24:17","nodes":[],"literals":["solidity","^","0.8",".19"]},{"id":5090,"nodeType":"ImportDirective","src":"68:28:17","nodes":[],"absolutePath":"lib/forge-std/src/Test.sol","file":"forge-std/Test.sol","nameLocation":"-1:-1:-1","scope":5297,"sourceUnit":17836,"symbolAliases":[],"unitAlias":""},{"id":5092,"nodeType":"ImportDirective","src":"98:62:17","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/Registry.sol","file":"../../../contracts/core/Registry.sol","nameLocation":"-1:-1:-1","scope":5297,"sourceUnit":2296,"symbolAliases":[{"foreign":{"id":5091,"name":"Registry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2295,"src":"106:8:17","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":5094,"nodeType":"ImportDirective","src":"161:72:17","nodes":[],"absolutePath":"lib/allo-v2/contracts/core/libraries/Metadata.sol","file":"../../../contracts/core/libraries/Metadata.sol","nameLocation":"-1:-1:-1","scope":5297,"sourceUnit":3099,"symbolAliases":[{"foreign":{"id":5093,"name":"Metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3098,"src":"169:8:17","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":5096,"nodeType":"ImportDirective","src":"234:40:17","nodes":[],"absolutePath":"lib/allo-v2/test/foundry/shared/Accounts.sol","file":"./Accounts.sol","nameLocation":"-1:-1:-1","scope":5297,"sourceUnit":5027,"symbolAliases":[{"foreign":{"id":5095,"name":"Accounts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5026,"src":"242:8:17","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":5132,"nodeType":"ContractDefinition","src":"393:304:17","nodes":[{"id":5104,"nodeType":"VariableDeclaration","src":"440:28:17","nodes":[],"constant":false,"mutability":"mutable","name":"_registry_","nameLocation":"458:10:17","scope":5132,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"},"typeName":{"id":5103,"nodeType":"UserDefinedTypeName","pathNode":{"id":5102,"name":"Registry","nameLocations":["440:8:17"],"nodeType":"IdentifierPath","referencedDeclaration":2295,"src":"440:8:17"},"referencedDeclaration":2295,"src":"440:8:17","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}},"visibility":"internal"},{"id":5122,"nodeType":"FunctionDefinition","src":"475:129:17","nodes":[],"body":{"id":5121,"nodeType":"Block","src":"511:93:17","nodes":[],"statements":[{"expression":{"id":5112,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":5107,"name":"_registry_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5104,"src":"521:10:17","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[],"expression":{"argumentTypes":[],"id":5110,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"534:12:17","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$__$returns$_t_contract$_Registry_$2295_$","typeString":"function () returns (contract Registry)"},"typeName":{"id":5109,"nodeType":"UserDefinedTypeName","pathNode":{"id":5108,"name":"Registry","nameLocations":["538:8:17"],"nodeType":"IdentifierPath","referencedDeclaration":2295,"src":"538:8:17"},"referencedDeclaration":2295,"src":"538:8:17","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}}},"id":5111,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"534:14:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}},"src":"521:27:17","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}},"id":5113,"nodeType":"ExpressionStatement","src":"521:27:17"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":5117,"name":"registry_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4675,"src":"580:14:17","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":5118,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"580:16:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":5114,"name":"_registry_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5104,"src":"558:10:17","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}},"id":5116,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"569:10:17","memberName":"initialize","nodeType":"MemberAccess","referencedDeclaration":1578,"src":"558:21:17","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":5119,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"558:39:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5120,"nodeType":"ExpressionStatement","src":"558:39:17"}]},"implemented":true,"kind":"function","modifiers":[],"name":"__RegistrySetup","nameLocation":"484:15:17","parameters":{"id":5105,"nodeType":"ParameterList","parameters":[],"src":"499:2:17"},"returnParameters":{"id":5106,"nodeType":"ParameterList","parameters":[],"src":"511:0:17"},"scope":5132,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":5131,"nodeType":"FunctionDefinition","src":"610:85:17","nodes":[],"body":{"id":5130,"nodeType":"Block","src":"661:34:17","nodes":[],"statements":[{"expression":{"id":5128,"name":"_registry_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5104,"src":"678:10:17","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}},"functionReturnParameters":5127,"id":5129,"nodeType":"Return","src":"671:17:17"}]},"functionSelector":"7b103999","implemented":true,"kind":"function","modifiers":[],"name":"registry","nameLocation":"619:8:17","parameters":{"id":5123,"nodeType":"ParameterList","parameters":[],"src":"627:2:17"},"returnParameters":{"id":5127,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5126,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5131,"src":"651:8:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"},"typeName":{"id":5125,"nodeType":"UserDefinedTypeName","pathNode":{"id":5124,"name":"Registry","nameLocations":["651:8:17"],"nodeType":"IdentifierPath","referencedDeclaration":2295,"src":"651:8:17"},"referencedDeclaration":2295,"src":"651:8:17","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}},"visibility":"internal"}],"src":"650:10:17"},"scope":5132,"stateMutability":"view","virtual":false,"visibility":"public"}],"abstract":false,"baseContracts":[{"baseName":{"id":5098,"name":"Test","nameLocations":["419:4:17"],"nodeType":"IdentifierPath","referencedDeclaration":17835,"src":"419:4:17"},"id":5099,"nodeType":"InheritanceSpecifier","src":"419:4:17"},{"baseName":{"id":5100,"name":"Accounts","nameLocations":["425:8:17"],"nodeType":"IdentifierPath","referencedDeclaration":5026,"src":"425:8:17"},"id":5101,"nodeType":"InheritanceSpecifier","src":"425:8:17"}],"canonicalName":"RegistrySetup","contractDependencies":[],"contractKind":"contract","documentation":{"id":5097,"nodeType":"StructuredDocumentation","src":"276:117:17","text":"@title RegistrySetup\n @notice This contract is used to setup an empty Registry contract for testing purposes."},"fullyImplemented":true,"linearizedBaseContracts":[5132,5026,17835,17783,12463,12138,11345,9285,8503,5834,5831],"name":"RegistrySetup","nameLocation":"402:13:17","scope":5297,"usedErrors":[]},{"id":5296,"nodeType":"ContractDefinition","src":"833:2031:17","nodes":[{"id":5137,"nodeType":"VariableDeclaration","src":"883:32:17","nodes":[],"constant":false,"mutability":"mutable","name":"_poolProfileId_","nameLocation":"900:15:17","scope":5296,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":5136,"name":"bytes32","nodeType":"ElementaryTypeName","src":"883:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"id":5139,"nodeType":"VariableDeclaration","src":"921:36:17","nodes":[],"constant":false,"mutability":"mutable","name":"_poolProfileAnchor_","nameLocation":"938:19:17","scope":5296,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5138,"name":"address","nodeType":"ElementaryTypeName","src":"921:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"id":5141,"nodeType":"VariableDeclaration","src":"964:29:17","nodes":[],"constant":false,"mutability":"mutable","name":"_profile1Id_","nameLocation":"981:12:17","scope":5296,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":5140,"name":"bytes32","nodeType":"ElementaryTypeName","src":"964:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"id":5143,"nodeType":"VariableDeclaration","src":"999:33:17","nodes":[],"constant":false,"mutability":"mutable","name":"_profile1Anchor_","nameLocation":"1016:16:17","scope":5296,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5142,"name":"address","nodeType":"ElementaryTypeName","src":"999:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"id":5145,"nodeType":"VariableDeclaration","src":"1039:29:17","nodes":[],"constant":false,"mutability":"mutable","name":"_profile2Id_","nameLocation":"1056:12:17","scope":5296,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":5144,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1039:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"id":5147,"nodeType":"VariableDeclaration","src":"1074:33:17","nodes":[],"constant":false,"mutability":"mutable","name":"_profile2Anchor_","nameLocation":"1091:16:17","scope":5296,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5146,"name":"address","nodeType":"ElementaryTypeName","src":"1074:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"id":5247,"nodeType":"FunctionDefinition","src":"1114:930:17","nodes":[],"body":{"id":5246,"nodeType":"Block","src":"1154:890:17","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":5150,"name":"__RegistrySetup","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5122,"src":"1164:15:17","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":5151,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1164:17:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5152,"nodeType":"ExpressionStatement","src":"1164:17:17"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":5156,"name":"pool_admin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4753,"src":"1201:10:17","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":5157,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1201:12:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":5153,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5827,"src":"1192:2:17","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21485","typeString":"contract Vm"}},"id":5155,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1195:5:17","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":21138,"src":"1192:8:17","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":5158,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1192:22:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5159,"nodeType":"ExpressionStatement","src":"1192:22:17"},{"expression":{"id":5174,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":5160,"name":"_poolProfileId_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5137,"src":"1224:15:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"30","id":5163,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1280:1:17","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"506f6f6c2050726f66696c652031","id":5164,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1283:16:17","typeDescriptions":{"typeIdentifier":"t_stringliteral_cfdb29660678cfa126d648cb1a4f5ce763c1e1204e820590687579a35d4b28f4","typeString":"literal_string \"Pool Profile 1\""},"value":"Pool Profile 1"},{"arguments":[{"hexValue":"31","id":5166,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1321:1:17","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"hexValue":"506f6f6c50726f66696c6531","id":5167,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1333:14:17","typeDescriptions":{"typeIdentifier":"t_stringliteral_f67171f94b553bc18f3436392ab5b1a6c6075d142911addaba07f9932e807028","typeString":"literal_string \"PoolProfile1\""},"value":"PoolProfile1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_stringliteral_f67171f94b553bc18f3436392ab5b1a6c6075d142911addaba07f9932e807028","typeString":"literal_string \"PoolProfile1\""}],"id":5165,"name":"Metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3098,"src":"1301:8:17","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Metadata_$3098_storage_ptr_$","typeString":"type(struct Metadata storage pointer)"}},"id":5168,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["1311:8:17","1324:7:17"],"names":["protocol","pointer"],"nodeType":"FunctionCall","src":"1301:48:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}},{"arguments":[],"expression":{"argumentTypes":[],"id":5169,"name":"pool_admin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4753,"src":"1351:10:17","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":5170,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1351:12:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[],"expression":{"argumentTypes":[],"id":5171,"name":"pool_managers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4817,"src":"1365:13:17","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_array$_t_address_$dyn_memory_ptr_$","typeString":"function () returns (address[] memory)"}},"id":5172,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1365:15:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_stringliteral_cfdb29660678cfa126d648cb1a4f5ce763c1e1204e820590687579a35d4b28f4","typeString":"literal_string \"Pool Profile 1\""},{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}],"expression":{"id":5161,"name":"_registry_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5104,"src":"1242:10:17","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}},"id":5162,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1253:13:17","memberName":"createProfile","nodeType":"MemberAccess","referencedDeclaration":1756,"src":"1242:24:17","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_string_memory_ptr_$_t_struct$_Metadata_$3098_memory_ptr_$_t_address_$_t_array$_t_address_$dyn_memory_ptr_$returns$_t_bytes32_$","typeString":"function (uint256,string memory,struct Metadata memory,address,address[] memory) external returns (bytes32)"}},"id":5173,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1242:148:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"1224:166:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":5175,"nodeType":"ExpressionStatement","src":"1224:166:17"},{"expression":{"id":5182,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":5176,"name":"_poolProfileAnchor_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5139,"src":"1400:19:17","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"arguments":[{"id":5179,"name":"_poolProfileId_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5137,"src":"1448:15:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":5177,"name":"_registry_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5104,"src":"1422:10:17","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}},"id":5178,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1433:14:17","memberName":"getProfileById","nodeType":"MemberAccess","referencedDeclaration":1592,"src":"1422:25:17","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_bytes32_$returns$_t_struct$_Profile_$2629_memory_ptr_$","typeString":"function (bytes32) view external returns (struct IRegistry.Profile memory)"}},"id":5180,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1422:42:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_memory_ptr","typeString":"struct IRegistry.Profile memory"}},"id":5181,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1465:6:17","memberName":"anchor","nodeType":"MemberAccess","referencedDeclaration":2628,"src":"1422:49:17","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1400:71:17","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":5183,"nodeType":"ExpressionStatement","src":"1400:71:17"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":5187,"name":"profile1_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4827,"src":"1491:14:17","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":5188,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1491:16:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":5184,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5827,"src":"1482:2:17","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21485","typeString":"contract Vm"}},"id":5186,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1485:5:17","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":21138,"src":"1482:8:17","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":5189,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1482:26:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5190,"nodeType":"ExpressionStatement","src":"1482:26:17"},{"expression":{"id":5205,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":5191,"name":"_profile1Id_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5141,"src":"1518:12:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"30","id":5194,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1571:1:17","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"50726f66696c652031","id":5195,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1574:11:17","typeDescriptions":{"typeIdentifier":"t_stringliteral_7a4d1a86b77644d9aa7e12702075d0cc1d67dd228b7576543777572405c3e57d","typeString":"literal_string \"Profile 1\""},"value":"Profile 1"},{"arguments":[{"hexValue":"31","id":5197,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1607:1:17","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"hexValue":"50726f66696c6531","id":5198,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1619:10:17","typeDescriptions":{"typeIdentifier":"t_stringliteral_d28bcd24e2e164eb1cb6c81d71a03069dd8b48e2f319680c98ba010be8944d6d","typeString":"literal_string \"Profile1\""},"value":"Profile1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_stringliteral_d28bcd24e2e164eb1cb6c81d71a03069dd8b48e2f319680c98ba010be8944d6d","typeString":"literal_string \"Profile1\""}],"id":5196,"name":"Metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3098,"src":"1587:8:17","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Metadata_$3098_storage_ptr_$","typeString":"type(struct Metadata storage pointer)"}},"id":5199,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["1597:8:17","1610:7:17"],"names":["protocol","pointer"],"nodeType":"FunctionCall","src":"1587:44:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}},{"arguments":[],"expression":{"argumentTypes":[],"id":5200,"name":"profile1_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4827,"src":"1633:14:17","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":5201,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1633:16:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[],"expression":{"argumentTypes":[],"id":5202,"name":"profile1_members","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4891,"src":"1651:16:17","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_array$_t_address_$dyn_memory_ptr_$","typeString":"function () returns (address[] memory)"}},"id":5203,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1651:18:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_stringliteral_7a4d1a86b77644d9aa7e12702075d0cc1d67dd228b7576543777572405c3e57d","typeString":"literal_string \"Profile 1\""},{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}],"expression":{"id":5192,"name":"_registry_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5104,"src":"1533:10:17","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}},"id":5193,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1544:13:17","memberName":"createProfile","nodeType":"MemberAccess","referencedDeclaration":1756,"src":"1533:24:17","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_string_memory_ptr_$_t_struct$_Metadata_$3098_memory_ptr_$_t_address_$_t_array$_t_address_$dyn_memory_ptr_$returns$_t_bytes32_$","typeString":"function (uint256,string memory,struct Metadata memory,address,address[] memory) external returns (bytes32)"}},"id":5204,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1533:146:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"1518:161:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":5206,"nodeType":"ExpressionStatement","src":"1518:161:17"},{"expression":{"id":5213,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":5207,"name":"_profile1Anchor_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5143,"src":"1689:16:17","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"arguments":[{"id":5210,"name":"_profile1Id_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5141,"src":"1734:12:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":5208,"name":"_registry_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5104,"src":"1708:10:17","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}},"id":5209,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1719:14:17","memberName":"getProfileById","nodeType":"MemberAccess","referencedDeclaration":1592,"src":"1708:25:17","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_bytes32_$returns$_t_struct$_Profile_$2629_memory_ptr_$","typeString":"function (bytes32) view external returns (struct IRegistry.Profile memory)"}},"id":5211,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1708:39:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_memory_ptr","typeString":"struct IRegistry.Profile memory"}},"id":5212,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1748:6:17","memberName":"anchor","nodeType":"MemberAccess","referencedDeclaration":2628,"src":"1708:46:17","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1689:65:17","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":5214,"nodeType":"ExpressionStatement","src":"1689:65:17"},{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":5218,"name":"profile2_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4901,"src":"1774:14:17","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":5219,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1774:16:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":5215,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5827,"src":"1765:2:17","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$21485","typeString":"contract Vm"}},"id":5217,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1768:5:17","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":21138,"src":"1765:8:17","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":5220,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1765:26:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5221,"nodeType":"ExpressionStatement","src":"1765:26:17"},{"expression":{"id":5236,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":5222,"name":"_profile2Id_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5145,"src":"1801:12:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"30","id":5225,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1854:1:17","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"50726f66696c652032","id":5226,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1857:11:17","typeDescriptions":{"typeIdentifier":"t_stringliteral_937ec7a665f78170bc3bb3b9c6576f30e49f3c58eb7105b0778843f3f72198b2","typeString":"literal_string \"Profile 2\""},"value":"Profile 2"},{"arguments":[{"hexValue":"31","id":5228,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1890:1:17","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"hexValue":"50726f66696c6532","id":5229,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1902:10:17","typeDescriptions":{"typeIdentifier":"t_stringliteral_f54d7fb3952364f7566be93625e44393de35ac48ada574494f41163506f729ca","typeString":"literal_string \"Profile2\""},"value":"Profile2"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_stringliteral_f54d7fb3952364f7566be93625e44393de35ac48ada574494f41163506f729ca","typeString":"literal_string \"Profile2\""}],"id":5227,"name":"Metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3098,"src":"1870:8:17","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Metadata_$3098_storage_ptr_$","typeString":"type(struct Metadata storage pointer)"}},"id":5230,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["1880:8:17","1893:7:17"],"names":["protocol","pointer"],"nodeType":"FunctionCall","src":"1870:44:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"}},{"arguments":[],"expression":{"argumentTypes":[],"id":5231,"name":"profile2_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4901,"src":"1916:14:17","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_address_$","typeString":"function () returns (address)"}},"id":5232,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1916:16:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[],"expression":{"argumentTypes":[],"id":5233,"name":"profile2_members","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4965,"src":"1934:16:17","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$_t_array$_t_address_$dyn_memory_ptr_$","typeString":"function () returns (address[] memory)"}},"id":5234,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1934:18:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_stringliteral_937ec7a665f78170bc3bb3b9c6576f30e49f3c58eb7105b0778843f3f72198b2","typeString":"literal_string \"Profile 2\""},{"typeIdentifier":"t_struct$_Metadata_$3098_memory_ptr","typeString":"struct Metadata memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}],"expression":{"id":5223,"name":"_registry_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5104,"src":"1816:10:17","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}},"id":5224,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1827:13:17","memberName":"createProfile","nodeType":"MemberAccess","referencedDeclaration":1756,"src":"1816:24:17","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_string_memory_ptr_$_t_struct$_Metadata_$3098_memory_ptr_$_t_address_$_t_array$_t_address_$dyn_memory_ptr_$returns$_t_bytes32_$","typeString":"function (uint256,string memory,struct Metadata memory,address,address[] memory) external returns (bytes32)"}},"id":5235,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1816:146:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"1801:161:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":5237,"nodeType":"ExpressionStatement","src":"1801:161:17"},{"expression":{"id":5244,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":5238,"name":"_profile2Anchor_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5147,"src":"1972:16:17","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"arguments":[{"id":5241,"name":"_profile2Id_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5145,"src":"2017:12:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":5239,"name":"_registry_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5104,"src":"1991:10:17","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2295","typeString":"contract Registry"}},"id":5240,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2002:14:17","memberName":"getProfileById","nodeType":"MemberAccess","referencedDeclaration":1592,"src":"1991:25:17","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_bytes32_$returns$_t_struct$_Profile_$2629_memory_ptr_$","typeString":"function (bytes32) view external returns (struct IRegistry.Profile memory)"}},"id":5242,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1991:39:17","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Profile_$2629_memory_ptr","typeString":"struct IRegistry.Profile memory"}},"id":5243,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2031:6:17","memberName":"anchor","nodeType":"MemberAccess","referencedDeclaration":2628,"src":"1991:46:17","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1972:65:17","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":5245,"nodeType":"ExpressionStatement","src":"1972:65:17"}]},"implemented":true,"kind":"function","modifiers":[],"name":"__RegistrySetupFull","nameLocation":"1123:19:17","parameters":{"id":5148,"nodeType":"ParameterList","parameters":[],"src":"1142:2:17"},"returnParameters":{"id":5149,"nodeType":"ParameterList","parameters":[],"src":"1154:0:17"},"scope":5296,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":5255,"nodeType":"FunctionDefinition","src":"2050:103:17","nodes":[],"body":{"id":5254,"nodeType":"Block","src":"2114:39:17","nodes":[],"statements":[{"expression":{"id":5252,"name":"_poolProfileId_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5137,"src":"2131:15:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":5251,"id":5253,"nodeType":"Return","src":"2124:22:17"}]},"functionSelector":"fd325c60","implemented":true,"kind":"function","modifiers":[],"name":"poolProfile_id","nameLocation":"2059:14:17","parameters":{"id":5248,"nodeType":"ParameterList","parameters":[],"src":"2073:2:17"},"returnParameters":{"id":5251,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5250,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5255,"src":"2105:7:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":5249,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2105:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"2104:9:17"},"scope":5296,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":5263,"nodeType":"FunctionDefinition","src":"2159:111:17","nodes":[],"body":{"id":5262,"nodeType":"Block","src":"2227:43:17","nodes":[],"statements":[{"expression":{"id":5260,"name":"_poolProfileAnchor_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5139,"src":"2244:19:17","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":5259,"id":5261,"nodeType":"Return","src":"2237:26:17"}]},"functionSelector":"176effb3","implemented":true,"kind":"function","modifiers":[],"name":"poolProfile_anchor","nameLocation":"2168:18:17","parameters":{"id":5256,"nodeType":"ParameterList","parameters":[],"src":"2186:2:17"},"returnParameters":{"id":5259,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5258,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5263,"src":"2218:7:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5257,"name":"address","nodeType":"ElementaryTypeName","src":"2218:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2217:9:17"},"scope":5296,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":5271,"nodeType":"FunctionDefinition","src":"2276:97:17","nodes":[],"body":{"id":5270,"nodeType":"Block","src":"2337:36:17","nodes":[],"statements":[{"expression":{"id":5268,"name":"_profile1Id_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5141,"src":"2354:12:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":5267,"id":5269,"nodeType":"Return","src":"2347:19:17"}]},"functionSelector":"39f56f7f","implemented":true,"kind":"function","modifiers":[],"name":"profile1_id","nameLocation":"2285:11:17","parameters":{"id":5264,"nodeType":"ParameterList","parameters":[],"src":"2296:2:17"},"returnParameters":{"id":5267,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5266,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5271,"src":"2328:7:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":5265,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2328:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"2327:9:17"},"scope":5296,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":5279,"nodeType":"FunctionDefinition","src":"2461:105:17","nodes":[],"body":{"id":5278,"nodeType":"Block","src":"2526:40:17","nodes":[],"statements":[{"expression":{"id":5276,"name":"_profile1Anchor_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5143,"src":"2543:16:17","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":5275,"id":5277,"nodeType":"Return","src":"2536:23:17"}]},"functionSelector":"c5d7d73b","implemented":true,"kind":"function","modifiers":[],"name":"profile1_anchor","nameLocation":"2470:15:17","parameters":{"id":5272,"nodeType":"ParameterList","parameters":[],"src":"2485:2:17"},"returnParameters":{"id":5275,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5274,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5279,"src":"2517:7:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5273,"name":"address","nodeType":"ElementaryTypeName","src":"2517:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2516:9:17"},"scope":5296,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":5287,"nodeType":"FunctionDefinition","src":"2572:97:17","nodes":[],"body":{"id":5286,"nodeType":"Block","src":"2633:36:17","nodes":[],"statements":[{"expression":{"id":5284,"name":"_profile2Id_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5145,"src":"2650:12:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":5283,"id":5285,"nodeType":"Return","src":"2643:19:17"}]},"functionSelector":"18540361","implemented":true,"kind":"function","modifiers":[],"name":"profile2_id","nameLocation":"2581:11:17","parameters":{"id":5280,"nodeType":"ParameterList","parameters":[],"src":"2592:2:17"},"returnParameters":{"id":5283,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5282,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5287,"src":"2624:7:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":5281,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2624:7:17","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"2623:9:17"},"scope":5296,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":5295,"nodeType":"FunctionDefinition","src":"2757:105:17","nodes":[],"body":{"id":5294,"nodeType":"Block","src":"2822:40:17","nodes":[],"statements":[{"expression":{"id":5292,"name":"_profile2Anchor_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5147,"src":"2839:16:17","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":5291,"id":5293,"nodeType":"Return","src":"2832:23:17"}]},"functionSelector":"3554642a","implemented":true,"kind":"function","modifiers":[],"name":"profile2_anchor","nameLocation":"2766:15:17","parameters":{"id":5288,"nodeType":"ParameterList","parameters":[],"src":"2781:2:17"},"returnParameters":{"id":5291,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5290,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5295,"src":"2813:7:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5289,"name":"address","nodeType":"ElementaryTypeName","src":"2813:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2812:9:17"},"scope":5296,"stateMutability":"view","virtual":true,"visibility":"public"}],"abstract":false,"baseContracts":[{"baseName":{"id":5134,"name":"RegistrySetup","nameLocations":["863:13:17"],"nodeType":"IdentifierPath","referencedDeclaration":5132,"src":"863:13:17"},"id":5135,"nodeType":"InheritanceSpecifier","src":"863:13:17"}],"canonicalName":"RegistrySetupFull","contractDependencies":[],"contractKind":"contract","documentation":{"id":5133,"nodeType":"StructuredDocumentation","src":"699:134:17","text":"@title RegistrySetupFull\n @notice This contract is used to setup a Registry contract with two identities for testing purposes."},"fullyImplemented":true,"linearizedBaseContracts":[5296,5132,5026,17835,17783,12463,12138,11345,9285,8503,5834,5831],"name":"RegistrySetupFull","nameLocation":"842:17:17","scope":5297,"usedErrors":[]}],"license":"AGPL-3.0-only"},"id":17} \ No newline at end of file diff --git a/pkg/contracts/out/SafeERC20.sol/SafeERC20.json b/pkg/contracts/out/SafeERC20.sol/SafeERC20.json index 625e46b08..bad74aed6 100644 --- a/pkg/contracts/out/SafeERC20.sol/SafeERC20.json +++ b/pkg/contracts/out/SafeERC20.sol/SafeERC20.json @@ -1 +1 @@ -{"abi":[],"bytecode":{"object":"0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212203ec101eac2909b66ed4b1afeef59f6eb3e8f06f9d66fc3a98f9948318ea06b6464736f6c63430008130033","sourceMap":"701:6211:77:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;701:6211:77;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212203ec101eac2909b66ed4b1afeef59f6eb3e8f06f9d66fc3a98f9948318ea06b6464736f6c63430008130033","sourceMap":"701:6211:77:-:0;;;;;;;;","linkReferences":{}},"methodIdentifiers":{},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Wrappers around ERC20 operations that throw on failure (when the token contract returns false). Tokens that return no value (and instead revert or throw on failure) are also supported, non-reverting calls are assumed to be successful. To use this library you can add a `using SafeERC20 for IERC20;` statement to your contract, which allows you to call the safe operations as `token.safeTransfer(...)`, etc.\",\"kind\":\"dev\",\"methods\":{},\"title\":\"SafeERC20\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":\"SafeERC20\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1000},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-contracts/=lib/safe-contracts/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"]},\"sources\":{\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5\",\"dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol\":{\"keccak256\":\"0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a\",\"dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0x909d608c2db6eb165ca178c81289a07ed2e118e444d0025b2a85c97d0b44a4fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://656cda26512ddd7373c2d5551c8fae759fc30f05b10f0fc2e738e9274199dbd4\",\"dweb:/ipfs/QmTSArSzQRFbQmHgq7U1PZXnsDFhvDZhKVu9CzMG4yo6Lx\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-contracts/=lib/safe-contracts/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":1000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol":"SafeERC20"},"evmVersion":"paris","libraries":{}},"sources":{"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305","urls":["bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5","dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol":{"keccak256":"0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a","urls":["bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a","dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol":{"keccak256":"0x909d608c2db6eb165ca178c81289a07ed2e118e444d0025b2a85c97d0b44a4fa","urls":["bzz-raw://656cda26512ddd7373c2d5551c8fae759fc30f05b10f0fc2e738e9274199dbd4","dweb:/ipfs/QmTSArSzQRFbQmHgq7U1PZXnsDFhvDZhKVu9CzMG4yo6Lx"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Address.sol":{"keccak256":"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa","urls":["bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931","dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm"],"license":"MIT"}},"version":1},"storageLayout":{"storage":[],"types":{}},"ast":{"absolutePath":"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol","id":57507,"exportedSymbols":{"Address":[57881],"IERC20":[57069],"IERC20Permit":[57130],"SafeERC20":[57506]},"nodeType":"SourceUnit","src":"115:6798:77","nodes":[{"id":57132,"nodeType":"PragmaDirective","src":"115:23:77","nodes":[],"literals":["solidity","^","0.8",".0"]},{"id":57133,"nodeType":"ImportDirective","src":"140:23:77","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol","file":"../IERC20.sol","nameLocation":"-1:-1:-1","scope":57507,"sourceUnit":57070,"symbolAliases":[],"unitAlias":""},{"id":57134,"nodeType":"ImportDirective","src":"164:40:77","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol","file":"../extensions/IERC20Permit.sol","nameLocation":"-1:-1:-1","scope":57507,"sourceUnit":57131,"symbolAliases":[],"unitAlias":""},{"id":57135,"nodeType":"ImportDirective","src":"205:36:77","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/utils/Address.sol","file":"../../../utils/Address.sol","nameLocation":"-1:-1:-1","scope":57507,"sourceUnit":57882,"symbolAliases":[],"unitAlias":""},{"id":57506,"nodeType":"ContractDefinition","src":"701:6211:77","nodes":[{"id":57139,"nodeType":"UsingForDirective","src":"725:26:77","nodes":[],"global":false,"libraryName":{"id":57137,"name":"Address","nameLocations":["731:7:77"],"nodeType":"IdentifierPath","referencedDeclaration":57881,"src":"731:7:77"},"typeName":{"id":57138,"name":"address","nodeType":"ElementaryTypeName","src":"743:7:77","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}},{"id":57163,"nodeType":"FunctionDefinition","src":"941:175:77","nodes":[],"body":{"id":57162,"nodeType":"Block","src":"1013:103:77","nodes":[],"statements":[{"expression":{"arguments":[{"id":57151,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57143,"src":"1043:5:77","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$57069","typeString":"contract IERC20"}},{"arguments":[{"expression":{"expression":{"id":57154,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57143,"src":"1073:5:77","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$57069","typeString":"contract IERC20"}},"id":57155,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1079:8:77","memberName":"transfer","nodeType":"MemberAccess","referencedDeclaration":57036,"src":"1073:14:77","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) external returns (bool)"}},"id":57156,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1088:8:77","memberName":"selector","nodeType":"MemberAccess","src":"1073:23:77","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":57157,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57145,"src":"1098:2:77","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":57158,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57147,"src":"1102:5:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":57152,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1050:3:77","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":57153,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1054:18:77","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"1050:22:77","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":57159,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1050:58:77","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$57069","typeString":"contract IERC20"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":57150,"name":"_callOptionalReturn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57457,"src":"1023:19:77","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IERC20_$57069_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (contract IERC20,bytes memory)"}},"id":57160,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1023:86:77","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":57161,"nodeType":"ExpressionStatement","src":"1023:86:77"}]},"documentation":{"id":57140,"nodeType":"StructuredDocumentation","src":"757:179:77","text":" @dev Transfer `value` amount of `token` from the calling contract to `to`. If `token` returns no value,\n non-reverting calls are assumed to be successful."},"implemented":true,"kind":"function","modifiers":[],"name":"safeTransfer","nameLocation":"950:12:77","parameters":{"id":57148,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57143,"mutability":"mutable","name":"token","nameLocation":"970:5:77","nodeType":"VariableDeclaration","scope":57163,"src":"963:12:77","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$57069","typeString":"contract IERC20"},"typeName":{"id":57142,"nodeType":"UserDefinedTypeName","pathNode":{"id":57141,"name":"IERC20","nameLocations":["963:6:77"],"nodeType":"IdentifierPath","referencedDeclaration":57069,"src":"963:6:77"},"referencedDeclaration":57069,"src":"963:6:77","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$57069","typeString":"contract IERC20"}},"visibility":"internal"},{"constant":false,"id":57145,"mutability":"mutable","name":"to","nameLocation":"985:2:77","nodeType":"VariableDeclaration","scope":57163,"src":"977:10:77","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":57144,"name":"address","nodeType":"ElementaryTypeName","src":"977:7:77","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":57147,"mutability":"mutable","name":"value","nameLocation":"997:5:77","nodeType":"VariableDeclaration","scope":57163,"src":"989:13:77","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":57146,"name":"uint256","nodeType":"ElementaryTypeName","src":"989:7:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"962:41:77"},"returnParameters":{"id":57149,"nodeType":"ParameterList","parameters":[],"src":"1013:0:77"},"scope":57506,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":57190,"nodeType":"FunctionDefinition","src":"1355:203:77","nodes":[],"body":{"id":57189,"nodeType":"Block","src":"1445:113:77","nodes":[],"statements":[{"expression":{"arguments":[{"id":57177,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57167,"src":"1475:5:77","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$57069","typeString":"contract IERC20"}},{"arguments":[{"expression":{"expression":{"id":57180,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57167,"src":"1505:5:77","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$57069","typeString":"contract IERC20"}},"id":57181,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1511:12:77","memberName":"transferFrom","nodeType":"MemberAccess","referencedDeclaration":57068,"src":"1505:18:77","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,address,uint256) external returns (bool)"}},"id":57182,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1524:8:77","memberName":"selector","nodeType":"MemberAccess","src":"1505:27:77","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":57183,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57169,"src":"1534:4:77","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":57184,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57171,"src":"1540:2:77","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":57185,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57173,"src":"1544:5:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":57178,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1482:3:77","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":57179,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1486:18:77","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"1482:22:77","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":57186,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1482:68:77","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$57069","typeString":"contract IERC20"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":57176,"name":"_callOptionalReturn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57457,"src":"1455:19:77","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IERC20_$57069_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (contract IERC20,bytes memory)"}},"id":57187,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1455:96:77","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":57188,"nodeType":"ExpressionStatement","src":"1455:96:77"}]},"documentation":{"id":57164,"nodeType":"StructuredDocumentation","src":"1122:228:77","text":" @dev Transfer `value` amount of `token` from `from` to `to`, spending the approval given by `from` to the\n calling contract. If `token` returns no value, non-reverting calls are assumed to be successful."},"implemented":true,"kind":"function","modifiers":[],"name":"safeTransferFrom","nameLocation":"1364:16:77","parameters":{"id":57174,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57167,"mutability":"mutable","name":"token","nameLocation":"1388:5:77","nodeType":"VariableDeclaration","scope":57190,"src":"1381:12:77","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$57069","typeString":"contract IERC20"},"typeName":{"id":57166,"nodeType":"UserDefinedTypeName","pathNode":{"id":57165,"name":"IERC20","nameLocations":["1381:6:77"],"nodeType":"IdentifierPath","referencedDeclaration":57069,"src":"1381:6:77"},"referencedDeclaration":57069,"src":"1381:6:77","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$57069","typeString":"contract IERC20"}},"visibility":"internal"},{"constant":false,"id":57169,"mutability":"mutable","name":"from","nameLocation":"1403:4:77","nodeType":"VariableDeclaration","scope":57190,"src":"1395:12:77","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":57168,"name":"address","nodeType":"ElementaryTypeName","src":"1395:7:77","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":57171,"mutability":"mutable","name":"to","nameLocation":"1417:2:77","nodeType":"VariableDeclaration","scope":57190,"src":"1409:10:77","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":57170,"name":"address","nodeType":"ElementaryTypeName","src":"1409:7:77","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":57173,"mutability":"mutable","name":"value","nameLocation":"1429:5:77","nodeType":"VariableDeclaration","scope":57190,"src":"1421:13:77","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":57172,"name":"uint256","nodeType":"ElementaryTypeName","src":"1421:7:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1380:55:77"},"returnParameters":{"id":57175,"nodeType":"ParameterList","parameters":[],"src":"1445:0:77"},"scope":57506,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":57234,"nodeType":"FunctionDefinition","src":"1818:573:77","nodes":[],"body":{"id":57233,"nodeType":"Block","src":"1894:497:77","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":57217,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":57204,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":57202,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57198,"src":"2143:5:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":57203,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2152:1:77","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"2143:10:77","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":57205,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"2142:12:77","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":57215,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"arguments":[{"id":57210,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"2183:4:77","typeDescriptions":{"typeIdentifier":"t_contract$_SafeERC20_$57506","typeString":"library SafeERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_SafeERC20_$57506","typeString":"library SafeERC20"}],"id":57209,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2175:7:77","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":57208,"name":"address","nodeType":"ElementaryTypeName","src":"2175:7:77","typeDescriptions":{}}},"id":57211,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2175:13:77","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":57212,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57196,"src":"2190:7:77","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":57206,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57194,"src":"2159:5:77","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$57069","typeString":"contract IERC20"}},"id":57207,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2165:9:77","memberName":"allowance","nodeType":"MemberAccess","referencedDeclaration":57046,"src":"2159:15:77","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view external returns (uint256)"}},"id":57213,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2159:39:77","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":57214,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2202:1:77","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"2159:44:77","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":57216,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"2158:46:77","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"2142:62:77","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f20746f206e6f6e2d7a65726f20616c6c6f77616e6365","id":57218,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2218:56:77","typeDescriptions":{"typeIdentifier":"t_stringliteral_ef945ddb1bfdc0da870feb4560d868b047642b4ac7f2fb7f8b7c51cb4a411e25","typeString":"literal_string \"SafeERC20: approve from non-zero to non-zero allowance\""},"value":"SafeERC20: approve from non-zero to non-zero allowance"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_ef945ddb1bfdc0da870feb4560d868b047642b4ac7f2fb7f8b7c51cb4a411e25","typeString":"literal_string \"SafeERC20: approve from non-zero to non-zero allowance\""}],"id":57201,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"2121:7:77","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":57219,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2121:163:77","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":57220,"nodeType":"ExpressionStatement","src":"2121:163:77"},{"expression":{"arguments":[{"id":57222,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57194,"src":"2314:5:77","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$57069","typeString":"contract IERC20"}},{"arguments":[{"expression":{"expression":{"id":57225,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57194,"src":"2344:5:77","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$57069","typeString":"contract IERC20"}},"id":57226,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2350:7:77","memberName":"approve","nodeType":"MemberAccess","referencedDeclaration":57056,"src":"2344:13:77","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) external returns (bool)"}},"id":57227,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2358:8:77","memberName":"selector","nodeType":"MemberAccess","src":"2344:22:77","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":57228,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57196,"src":"2368:7:77","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":57229,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57198,"src":"2377:5:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":57223,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2321:3:77","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":57224,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2325:18:77","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"2321:22:77","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":57230,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2321:62:77","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$57069","typeString":"contract IERC20"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":57221,"name":"_callOptionalReturn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57457,"src":"2294:19:77","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IERC20_$57069_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (contract IERC20,bytes memory)"}},"id":57231,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2294:90:77","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":57232,"nodeType":"ExpressionStatement","src":"2294:90:77"}]},"documentation":{"id":57191,"nodeType":"StructuredDocumentation","src":"1564:249:77","text":" @dev Deprecated. This function has issues similar to the ones found in\n {IERC20-approve}, and its usage is discouraged.\n Whenever possible, use {safeIncreaseAllowance} and\n {safeDecreaseAllowance} instead."},"implemented":true,"kind":"function","modifiers":[],"name":"safeApprove","nameLocation":"1827:11:77","parameters":{"id":57199,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57194,"mutability":"mutable","name":"token","nameLocation":"1846:5:77","nodeType":"VariableDeclaration","scope":57234,"src":"1839:12:77","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$57069","typeString":"contract IERC20"},"typeName":{"id":57193,"nodeType":"UserDefinedTypeName","pathNode":{"id":57192,"name":"IERC20","nameLocations":["1839:6:77"],"nodeType":"IdentifierPath","referencedDeclaration":57069,"src":"1839:6:77"},"referencedDeclaration":57069,"src":"1839:6:77","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$57069","typeString":"contract IERC20"}},"visibility":"internal"},{"constant":false,"id":57196,"mutability":"mutable","name":"spender","nameLocation":"1861:7:77","nodeType":"VariableDeclaration","scope":57234,"src":"1853:15:77","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":57195,"name":"address","nodeType":"ElementaryTypeName","src":"1853:7:77","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":57198,"mutability":"mutable","name":"value","nameLocation":"1878:5:77","nodeType":"VariableDeclaration","scope":57234,"src":"1870:13:77","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":57197,"name":"uint256","nodeType":"ElementaryTypeName","src":"1870:7:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1838:46:77"},"returnParameters":{"id":57200,"nodeType":"ParameterList","parameters":[],"src":"1894:0:77"},"scope":57506,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":57271,"nodeType":"FunctionDefinition","src":"2582:280:77","nodes":[],"body":{"id":57270,"nodeType":"Block","src":"2668:194:77","nodes":[],"statements":[{"assignments":[57246],"declarations":[{"constant":false,"id":57246,"mutability":"mutable","name":"oldAllowance","nameLocation":"2686:12:77","nodeType":"VariableDeclaration","scope":57270,"src":"2678:20:77","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":57245,"name":"uint256","nodeType":"ElementaryTypeName","src":"2678:7:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":57255,"initialValue":{"arguments":[{"arguments":[{"id":57251,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"2725:4:77","typeDescriptions":{"typeIdentifier":"t_contract$_SafeERC20_$57506","typeString":"library SafeERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_SafeERC20_$57506","typeString":"library SafeERC20"}],"id":57250,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2717:7:77","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":57249,"name":"address","nodeType":"ElementaryTypeName","src":"2717:7:77","typeDescriptions":{}}},"id":57252,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2717:13:77","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":57253,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57240,"src":"2732:7:77","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":57247,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57238,"src":"2701:5:77","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$57069","typeString":"contract IERC20"}},"id":57248,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2707:9:77","memberName":"allowance","nodeType":"MemberAccess","referencedDeclaration":57046,"src":"2701:15:77","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view external returns (uint256)"}},"id":57254,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2701:39:77","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"2678:62:77"},{"expression":{"arguments":[{"id":57257,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57238,"src":"2770:5:77","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$57069","typeString":"contract IERC20"}},{"arguments":[{"expression":{"expression":{"id":57260,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57238,"src":"2800:5:77","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$57069","typeString":"contract IERC20"}},"id":57261,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2806:7:77","memberName":"approve","nodeType":"MemberAccess","referencedDeclaration":57056,"src":"2800:13:77","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) external returns (bool)"}},"id":57262,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2814:8:77","memberName":"selector","nodeType":"MemberAccess","src":"2800:22:77","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":57263,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57240,"src":"2824:7:77","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":57266,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":57264,"name":"oldAllowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57246,"src":"2833:12:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":57265,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57242,"src":"2848:5:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2833:20:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":57258,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2777:3:77","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":57259,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2781:18:77","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"2777:22:77","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":57267,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2777:77:77","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$57069","typeString":"contract IERC20"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":57256,"name":"_callOptionalReturn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57457,"src":"2750:19:77","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IERC20_$57069_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (contract IERC20,bytes memory)"}},"id":57268,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2750:105:77","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":57269,"nodeType":"ExpressionStatement","src":"2750:105:77"}]},"documentation":{"id":57235,"nodeType":"StructuredDocumentation","src":"2397:180:77","text":" @dev Increase the calling contract's allowance toward `spender` by `value`. If `token` returns no value,\n non-reverting calls are assumed to be successful."},"implemented":true,"kind":"function","modifiers":[],"name":"safeIncreaseAllowance","nameLocation":"2591:21:77","parameters":{"id":57243,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57238,"mutability":"mutable","name":"token","nameLocation":"2620:5:77","nodeType":"VariableDeclaration","scope":57271,"src":"2613:12:77","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$57069","typeString":"contract IERC20"},"typeName":{"id":57237,"nodeType":"UserDefinedTypeName","pathNode":{"id":57236,"name":"IERC20","nameLocations":["2613:6:77"],"nodeType":"IdentifierPath","referencedDeclaration":57069,"src":"2613:6:77"},"referencedDeclaration":57069,"src":"2613:6:77","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$57069","typeString":"contract IERC20"}},"visibility":"internal"},{"constant":false,"id":57240,"mutability":"mutable","name":"spender","nameLocation":"2635:7:77","nodeType":"VariableDeclaration","scope":57271,"src":"2627:15:77","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":57239,"name":"address","nodeType":"ElementaryTypeName","src":"2627:7:77","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":57242,"mutability":"mutable","name":"value","nameLocation":"2652:5:77","nodeType":"VariableDeclaration","scope":57271,"src":"2644:13:77","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":57241,"name":"uint256","nodeType":"ElementaryTypeName","src":"2644:7:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2612:46:77"},"returnParameters":{"id":57244,"nodeType":"ParameterList","parameters":[],"src":"2668:0:77"},"scope":57506,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":57316,"nodeType":"FunctionDefinition","src":"3053:407:77","nodes":[],"body":{"id":57315,"nodeType":"Block","src":"3139:321:77","nodes":[],"statements":[{"id":57314,"nodeType":"UncheckedBlock","src":"3149:305:77","statements":[{"assignments":[57283],"declarations":[{"constant":false,"id":57283,"mutability":"mutable","name":"oldAllowance","nameLocation":"3181:12:77","nodeType":"VariableDeclaration","scope":57314,"src":"3173:20:77","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":57282,"name":"uint256","nodeType":"ElementaryTypeName","src":"3173:7:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":57292,"initialValue":{"arguments":[{"arguments":[{"id":57288,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"3220:4:77","typeDescriptions":{"typeIdentifier":"t_contract$_SafeERC20_$57506","typeString":"library SafeERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_SafeERC20_$57506","typeString":"library SafeERC20"}],"id":57287,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3212:7:77","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":57286,"name":"address","nodeType":"ElementaryTypeName","src":"3212:7:77","typeDescriptions":{}}},"id":57289,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3212:13:77","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":57290,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57277,"src":"3227:7:77","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":57284,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57275,"src":"3196:5:77","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$57069","typeString":"contract IERC20"}},"id":57285,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3202:9:77","memberName":"allowance","nodeType":"MemberAccess","referencedDeclaration":57046,"src":"3196:15:77","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view external returns (uint256)"}},"id":57291,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3196:39:77","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"3173:62:77"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":57296,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":57294,"name":"oldAllowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57283,"src":"3257:12:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":57295,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57279,"src":"3273:5:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3257:21:77","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5361666545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726f","id":57297,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3280:43:77","typeDescriptions":{"typeIdentifier":"t_stringliteral_2c3af60974a758b7e72e108c9bf0943ecc9e4f2e8af4695da5f52fbf57a63d3a","typeString":"literal_string \"SafeERC20: decreased allowance below zero\""},"value":"SafeERC20: decreased allowance below zero"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_2c3af60974a758b7e72e108c9bf0943ecc9e4f2e8af4695da5f52fbf57a63d3a","typeString":"literal_string \"SafeERC20: decreased allowance below zero\""}],"id":57293,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"3249:7:77","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":57298,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3249:75:77","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":57299,"nodeType":"ExpressionStatement","src":"3249:75:77"},{"expression":{"arguments":[{"id":57301,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57275,"src":"3358:5:77","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$57069","typeString":"contract IERC20"}},{"arguments":[{"expression":{"expression":{"id":57304,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57275,"src":"3388:5:77","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$57069","typeString":"contract IERC20"}},"id":57305,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3394:7:77","memberName":"approve","nodeType":"MemberAccess","referencedDeclaration":57056,"src":"3388:13:77","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) external returns (bool)"}},"id":57306,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3402:8:77","memberName":"selector","nodeType":"MemberAccess","src":"3388:22:77","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":57307,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57277,"src":"3412:7:77","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":57310,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":57308,"name":"oldAllowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57283,"src":"3421:12:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":57309,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57279,"src":"3436:5:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3421:20:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":57302,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3365:3:77","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":57303,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3369:18:77","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"3365:22:77","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":57311,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3365:77:77","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$57069","typeString":"contract IERC20"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":57300,"name":"_callOptionalReturn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57457,"src":"3338:19:77","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IERC20_$57069_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (contract IERC20,bytes memory)"}},"id":57312,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3338:105:77","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":57313,"nodeType":"ExpressionStatement","src":"3338:105:77"}]}]},"documentation":{"id":57272,"nodeType":"StructuredDocumentation","src":"2868:180:77","text":" @dev Decrease the calling contract's allowance toward `spender` by `value`. If `token` returns no value,\n non-reverting calls are assumed to be successful."},"implemented":true,"kind":"function","modifiers":[],"name":"safeDecreaseAllowance","nameLocation":"3062:21:77","parameters":{"id":57280,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57275,"mutability":"mutable","name":"token","nameLocation":"3091:5:77","nodeType":"VariableDeclaration","scope":57316,"src":"3084:12:77","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$57069","typeString":"contract IERC20"},"typeName":{"id":57274,"nodeType":"UserDefinedTypeName","pathNode":{"id":57273,"name":"IERC20","nameLocations":["3084:6:77"],"nodeType":"IdentifierPath","referencedDeclaration":57069,"src":"3084:6:77"},"referencedDeclaration":57069,"src":"3084:6:77","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$57069","typeString":"contract IERC20"}},"visibility":"internal"},{"constant":false,"id":57277,"mutability":"mutable","name":"spender","nameLocation":"3106:7:77","nodeType":"VariableDeclaration","scope":57316,"src":"3098:15:77","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":57276,"name":"address","nodeType":"ElementaryTypeName","src":"3098:7:77","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":57279,"mutability":"mutable","name":"value","nameLocation":"3123:5:77","nodeType":"VariableDeclaration","scope":57316,"src":"3115:13:77","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":57278,"name":"uint256","nodeType":"ElementaryTypeName","src":"3115:7:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3083:46:77"},"returnParameters":{"id":57281,"nodeType":"ParameterList","parameters":[],"src":"3139:0:77"},"scope":57506,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":57363,"nodeType":"FunctionDefinition","src":"3756:410:77","nodes":[],"body":{"id":57362,"nodeType":"Block","src":"3833:333:77","nodes":[],"statements":[{"assignments":[57328],"declarations":[{"constant":false,"id":57328,"mutability":"mutable","name":"approvalCall","nameLocation":"3856:12:77","nodeType":"VariableDeclaration","scope":57362,"src":"3843:25:77","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":57327,"name":"bytes","nodeType":"ElementaryTypeName","src":"3843:5:77","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":57337,"initialValue":{"arguments":[{"expression":{"expression":{"id":57331,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57320,"src":"3894:5:77","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$57069","typeString":"contract IERC20"}},"id":57332,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3900:7:77","memberName":"approve","nodeType":"MemberAccess","referencedDeclaration":57056,"src":"3894:13:77","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) external returns (bool)"}},"id":57333,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3908:8:77","memberName":"selector","nodeType":"MemberAccess","src":"3894:22:77","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":57334,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57322,"src":"3918:7:77","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":57335,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57324,"src":"3927:5:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":57329,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3871:3:77","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":57330,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3875:18:77","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"3871:22:77","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":57336,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3871:62:77","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"3843:90:77"},{"condition":{"id":57342,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"3948:45:77","subExpression":{"arguments":[{"id":57339,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57320,"src":"3973:5:77","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$57069","typeString":"contract IERC20"}},{"id":57340,"name":"approvalCall","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57328,"src":"3980:12:77","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$57069","typeString":"contract IERC20"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":57338,"name":"_callOptionalReturnBool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57505,"src":"3949:23:77","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IERC20_$57069_$_t_bytes_memory_ptr_$returns$_t_bool_$","typeString":"function (contract IERC20,bytes memory) returns (bool)"}},"id":57341,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3949:44:77","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":57361,"nodeType":"IfStatement","src":"3944:216:77","trueBody":{"id":57360,"nodeType":"Block","src":"3995:165:77","statements":[{"expression":{"arguments":[{"id":57344,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57320,"src":"4029:5:77","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$57069","typeString":"contract IERC20"}},{"arguments":[{"expression":{"expression":{"id":57347,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57320,"src":"4059:5:77","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$57069","typeString":"contract IERC20"}},"id":57348,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4065:7:77","memberName":"approve","nodeType":"MemberAccess","referencedDeclaration":57056,"src":"4059:13:77","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) external returns (bool)"}},"id":57349,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4073:8:77","memberName":"selector","nodeType":"MemberAccess","src":"4059:22:77","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":57350,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57322,"src":"4083:7:77","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":57351,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4092:1:77","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"expression":{"id":57345,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4036:3:77","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":57346,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4040:18:77","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"4036:22:77","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":57352,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4036:58:77","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$57069","typeString":"contract IERC20"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":57343,"name":"_callOptionalReturn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57457,"src":"4009:19:77","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IERC20_$57069_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (contract IERC20,bytes memory)"}},"id":57353,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4009:86:77","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":57354,"nodeType":"ExpressionStatement","src":"4009:86:77"},{"expression":{"arguments":[{"id":57356,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57320,"src":"4129:5:77","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$57069","typeString":"contract IERC20"}},{"id":57357,"name":"approvalCall","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57328,"src":"4136:12:77","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$57069","typeString":"contract IERC20"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":57355,"name":"_callOptionalReturn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57457,"src":"4109:19:77","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IERC20_$57069_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (contract IERC20,bytes memory)"}},"id":57358,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4109:40:77","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":57359,"nodeType":"ExpressionStatement","src":"4109:40:77"}]}}]},"documentation":{"id":57317,"nodeType":"StructuredDocumentation","src":"3466:285:77","text":" @dev Set the calling contract's allowance toward `spender` to `value`. If `token` returns no value,\n non-reverting calls are assumed to be successful. Compatible with tokens that require the approval to be set to\n 0 before setting it to a non-zero value."},"implemented":true,"kind":"function","modifiers":[],"name":"forceApprove","nameLocation":"3765:12:77","parameters":{"id":57325,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57320,"mutability":"mutable","name":"token","nameLocation":"3785:5:77","nodeType":"VariableDeclaration","scope":57363,"src":"3778:12:77","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$57069","typeString":"contract IERC20"},"typeName":{"id":57319,"nodeType":"UserDefinedTypeName","pathNode":{"id":57318,"name":"IERC20","nameLocations":["3778:6:77"],"nodeType":"IdentifierPath","referencedDeclaration":57069,"src":"3778:6:77"},"referencedDeclaration":57069,"src":"3778:6:77","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$57069","typeString":"contract IERC20"}},"visibility":"internal"},{"constant":false,"id":57322,"mutability":"mutable","name":"spender","nameLocation":"3800:7:77","nodeType":"VariableDeclaration","scope":57363,"src":"3792:15:77","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":57321,"name":"address","nodeType":"ElementaryTypeName","src":"3792:7:77","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":57324,"mutability":"mutable","name":"value","nameLocation":"3817:5:77","nodeType":"VariableDeclaration","scope":57363,"src":"3809:13:77","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":57323,"name":"uint256","nodeType":"ElementaryTypeName","src":"3809:7:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3777:46:77"},"returnParameters":{"id":57326,"nodeType":"ParameterList","parameters":[],"src":"3833:0:77"},"scope":57506,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":57420,"nodeType":"FunctionDefinition","src":"4318:472:77","nodes":[],"body":{"id":57419,"nodeType":"Block","src":"4533:257:77","nodes":[],"statements":[{"assignments":[57385],"declarations":[{"constant":false,"id":57385,"mutability":"mutable","name":"nonceBefore","nameLocation":"4551:11:77","nodeType":"VariableDeclaration","scope":57419,"src":"4543:19:77","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":57384,"name":"uint256","nodeType":"ElementaryTypeName","src":"4543:7:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":57390,"initialValue":{"arguments":[{"id":57388,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57369,"src":"4578:5:77","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":57386,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57367,"src":"4565:5:77","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20Permit_$57130","typeString":"contract IERC20Permit"}},"id":57387,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4571:6:77","memberName":"nonces","nodeType":"MemberAccess","referencedDeclaration":57123,"src":"4565:12:77","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":57389,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4565:19:77","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"4543:41:77"},{"expression":{"arguments":[{"id":57394,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57369,"src":"4607:5:77","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":57395,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57371,"src":"4614:7:77","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":57396,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57373,"src":"4623:5:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":57397,"name":"deadline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57375,"src":"4630:8:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":57398,"name":"v","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57377,"src":"4640:1:77","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"id":57399,"name":"r","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57379,"src":"4643:1:77","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":57400,"name":"s","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57381,"src":"4646:1:77","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":57391,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57367,"src":"4594:5:77","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20Permit_$57130","typeString":"contract IERC20Permit"}},"id":57393,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4600:6:77","memberName":"permit","nodeType":"MemberAccess","referencedDeclaration":57115,"src":"4594:12:77","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (address,address,uint256,uint256,uint8,bytes32,bytes32) external"}},"id":57401,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4594:54:77","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":57402,"nodeType":"ExpressionStatement","src":"4594:54:77"},{"assignments":[57404],"declarations":[{"constant":false,"id":57404,"mutability":"mutable","name":"nonceAfter","nameLocation":"4666:10:77","nodeType":"VariableDeclaration","scope":57419,"src":"4658:18:77","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":57403,"name":"uint256","nodeType":"ElementaryTypeName","src":"4658:7:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":57409,"initialValue":{"arguments":[{"id":57407,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57369,"src":"4692:5:77","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":57405,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57367,"src":"4679:5:77","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20Permit_$57130","typeString":"contract IERC20Permit"}},"id":57406,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4685:6:77","memberName":"nonces","nodeType":"MemberAccess","referencedDeclaration":57123,"src":"4679:12:77","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":57408,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4679:19:77","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"4658:40:77"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":57415,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":57411,"name":"nonceAfter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57404,"src":"4716:10:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":57414,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":57412,"name":"nonceBefore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57385,"src":"4730:11:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"31","id":57413,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4744:1:77","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"4730:15:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4716:29:77","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5361666545524332303a207065726d697420646964206e6f742073756363656564","id":57416,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4747:35:77","typeDescriptions":{"typeIdentifier":"t_stringliteral_cde8e927812a7a656f8f04e89ac4f4113d47940dd2125d11fcb8e0bd36bfc59d","typeString":"literal_string \"SafeERC20: permit did not succeed\""},"value":"SafeERC20: permit did not succeed"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_cde8e927812a7a656f8f04e89ac4f4113d47940dd2125d11fcb8e0bd36bfc59d","typeString":"literal_string \"SafeERC20: permit did not succeed\""}],"id":57410,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"4708:7:77","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":57417,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4708:75:77","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":57418,"nodeType":"ExpressionStatement","src":"4708:75:77"}]},"documentation":{"id":57364,"nodeType":"StructuredDocumentation","src":"4172:141:77","text":" @dev Use a ERC-2612 signature to set the `owner` approval toward `spender` on `token`.\n Revert on invalid signature."},"implemented":true,"kind":"function","modifiers":[],"name":"safePermit","nameLocation":"4327:10:77","parameters":{"id":57382,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57367,"mutability":"mutable","name":"token","nameLocation":"4360:5:77","nodeType":"VariableDeclaration","scope":57420,"src":"4347:18:77","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20Permit_$57130","typeString":"contract IERC20Permit"},"typeName":{"id":57366,"nodeType":"UserDefinedTypeName","pathNode":{"id":57365,"name":"IERC20Permit","nameLocations":["4347:12:77"],"nodeType":"IdentifierPath","referencedDeclaration":57130,"src":"4347:12:77"},"referencedDeclaration":57130,"src":"4347:12:77","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20Permit_$57130","typeString":"contract IERC20Permit"}},"visibility":"internal"},{"constant":false,"id":57369,"mutability":"mutable","name":"owner","nameLocation":"4383:5:77","nodeType":"VariableDeclaration","scope":57420,"src":"4375:13:77","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":57368,"name":"address","nodeType":"ElementaryTypeName","src":"4375:7:77","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":57371,"mutability":"mutable","name":"spender","nameLocation":"4406:7:77","nodeType":"VariableDeclaration","scope":57420,"src":"4398:15:77","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":57370,"name":"address","nodeType":"ElementaryTypeName","src":"4398:7:77","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":57373,"mutability":"mutable","name":"value","nameLocation":"4431:5:77","nodeType":"VariableDeclaration","scope":57420,"src":"4423:13:77","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":57372,"name":"uint256","nodeType":"ElementaryTypeName","src":"4423:7:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":57375,"mutability":"mutable","name":"deadline","nameLocation":"4454:8:77","nodeType":"VariableDeclaration","scope":57420,"src":"4446:16:77","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":57374,"name":"uint256","nodeType":"ElementaryTypeName","src":"4446:7:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":57377,"mutability":"mutable","name":"v","nameLocation":"4478:1:77","nodeType":"VariableDeclaration","scope":57420,"src":"4472:7:77","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":57376,"name":"uint8","nodeType":"ElementaryTypeName","src":"4472:5:77","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":57379,"mutability":"mutable","name":"r","nameLocation":"4497:1:77","nodeType":"VariableDeclaration","scope":57420,"src":"4489:9:77","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":57378,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4489:7:77","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":57381,"mutability":"mutable","name":"s","nameLocation":"4516:1:77","nodeType":"VariableDeclaration","scope":57420,"src":"4508:9:77","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":57380,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4508:7:77","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"4337:186:77"},"returnParameters":{"id":57383,"nodeType":"ParameterList","parameters":[],"src":"4533:0:77"},"scope":57506,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":57457,"nodeType":"FunctionDefinition","src":"5173:642:77","nodes":[],"body":{"id":57456,"nodeType":"Block","src":"5243:572:77","nodes":[],"statements":[{"assignments":[57430],"declarations":[{"constant":false,"id":57430,"mutability":"mutable","name":"returndata","nameLocation":"5605:10:77","nodeType":"VariableDeclaration","scope":57456,"src":"5592:23:77","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":57429,"name":"bytes","nodeType":"ElementaryTypeName","src":"5592:5:77","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":57439,"initialValue":{"arguments":[{"id":57436,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57426,"src":"5646:4:77","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"hexValue":"5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564","id":57437,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5652:34:77","typeDescriptions":{"typeIdentifier":"t_stringliteral_47fb62c2c272651d2f0f342bac006756b8ba07f21cc5cb87e0fbb9d50c0c585b","typeString":"literal_string \"SafeERC20: low-level call failed\""},"value":"SafeERC20: low-level call failed"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_stringliteral_47fb62c2c272651d2f0f342bac006756b8ba07f21cc5cb87e0fbb9d50c0c585b","typeString":"literal_string \"SafeERC20: low-level call failed\""}],"expression":{"arguments":[{"id":57433,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57424,"src":"5626:5:77","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$57069","typeString":"contract IERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$57069","typeString":"contract IERC20"}],"id":57432,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5618:7:77","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":57431,"name":"address","nodeType":"ElementaryTypeName","src":"5618:7:77","typeDescriptions":{}}},"id":57434,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5618:14:77","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":57435,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5633:12:77","memberName":"functionCall","nodeType":"MemberAccess","referencedDeclaration":57641,"src":"5618:27:77","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_bytes_memory_ptr_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$attached_to$_t_address_$","typeString":"function (address,bytes memory,string memory) returns (bytes memory)"}},"id":57438,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5618:69:77","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"5592:95:77"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":57452,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":57444,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":57441,"name":"returndata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57430,"src":"5705:10:77","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":57442,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5716:6:77","memberName":"length","nodeType":"MemberAccess","src":"5705:17:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":57443,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5726:1:77","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"5705:22:77","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"arguments":[{"id":57447,"name":"returndata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57430,"src":"5742:10:77","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":57449,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5755:4:77","typeDescriptions":{"typeIdentifier":"t_type$_t_bool_$","typeString":"type(bool)"},"typeName":{"id":57448,"name":"bool","nodeType":"ElementaryTypeName","src":"5755:4:77","typeDescriptions":{}}}],"id":57450,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"5754:6:77","typeDescriptions":{"typeIdentifier":"t_type$_t_bool_$","typeString":"type(bool)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_bool_$","typeString":"type(bool)"}],"expression":{"id":57445,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"5731:3:77","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":57446,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5735:6:77","memberName":"decode","nodeType":"MemberAccess","src":"5731:10:77","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":57451,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5731:30:77","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"5705:56:77","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564","id":57453,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5763:44:77","typeDescriptions":{"typeIdentifier":"t_stringliteral_e11ad79d1e4a7f2e5f376964cb99e8e8f7904e3fc16a109f7a7ecb9aa7956dcd","typeString":"literal_string \"SafeERC20: ERC20 operation did not succeed\""},"value":"SafeERC20: ERC20 operation did not succeed"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_e11ad79d1e4a7f2e5f376964cb99e8e8f7904e3fc16a109f7a7ecb9aa7956dcd","typeString":"literal_string \"SafeERC20: ERC20 operation did not succeed\""}],"id":57440,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"5697:7:77","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":57454,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5697:111:77","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":57455,"nodeType":"ExpressionStatement","src":"5697:111:77"}]},"documentation":{"id":57421,"nodeType":"StructuredDocumentation","src":"4796:372:77","text":" @dev Imitates a Solidity high-level call (i.e. a regular function call to a contract), relaxing the requirement\n on the return value: the return value is optional (but if data is returned, it must not be false).\n @param token The token targeted by the call.\n @param data The call data (encoded using abi.encode or one of its variants)."},"implemented":true,"kind":"function","modifiers":[],"name":"_callOptionalReturn","nameLocation":"5182:19:77","parameters":{"id":57427,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57424,"mutability":"mutable","name":"token","nameLocation":"5209:5:77","nodeType":"VariableDeclaration","scope":57457,"src":"5202:12:77","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$57069","typeString":"contract IERC20"},"typeName":{"id":57423,"nodeType":"UserDefinedTypeName","pathNode":{"id":57422,"name":"IERC20","nameLocations":["5202:6:77"],"nodeType":"IdentifierPath","referencedDeclaration":57069,"src":"5202:6:77"},"referencedDeclaration":57069,"src":"5202:6:77","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$57069","typeString":"contract IERC20"}},"visibility":"internal"},{"constant":false,"id":57426,"mutability":"mutable","name":"data","nameLocation":"5229:4:77","nodeType":"VariableDeclaration","scope":57457,"src":"5216:17:77","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":57425,"name":"bytes","nodeType":"ElementaryTypeName","src":"5216:5:77","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"5201:33:77"},"returnParameters":{"id":57428,"nodeType":"ParameterList","parameters":[],"src":"5243:0:77"},"scope":57506,"stateMutability":"nonpayable","virtual":false,"visibility":"private"},{"id":57505,"nodeType":"FunctionDefinition","src":"6316:594:77","nodes":[],"body":{"id":57504,"nodeType":"Block","src":"6405:505:77","nodes":[],"statements":[{"assignments":[57469,57471],"declarations":[{"constant":false,"id":57469,"mutability":"mutable","name":"success","nameLocation":"6706:7:77","nodeType":"VariableDeclaration","scope":57504,"src":"6701:12:77","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":57468,"name":"bool","nodeType":"ElementaryTypeName","src":"6701:4:77","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":57471,"mutability":"mutable","name":"returndata","nameLocation":"6728:10:77","nodeType":"VariableDeclaration","scope":57504,"src":"6715:23:77","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":57470,"name":"bytes","nodeType":"ElementaryTypeName","src":"6715:5:77","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":57479,"initialValue":{"arguments":[{"id":57477,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57463,"src":"6762:4:77","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[{"id":57474,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57461,"src":"6750:5:77","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$57069","typeString":"contract IERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$57069","typeString":"contract IERC20"}],"id":57473,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6742:7:77","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":57472,"name":"address","nodeType":"ElementaryTypeName","src":"6742:7:77","typeDescriptions":{}}},"id":57475,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6742:14:77","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":57476,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6757:4:77","memberName":"call","nodeType":"MemberAccess","src":"6742:19:77","typeDescriptions":{"typeIdentifier":"t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) payable returns (bool,bytes memory)"}},"id":57478,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6742:25:77","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"6700:67:77"},{"expression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":57502,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":57494,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":57480,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57469,"src":"6796:7:77","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":57492,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":57484,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":57481,"name":"returndata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57471,"src":"6808:10:77","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":57482,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6819:6:77","memberName":"length","nodeType":"MemberAccess","src":"6808:17:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":57483,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6829:1:77","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"6808:22:77","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"arguments":[{"id":57487,"name":"returndata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57471,"src":"6845:10:77","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":57489,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6858:4:77","typeDescriptions":{"typeIdentifier":"t_type$_t_bool_$","typeString":"type(bool)"},"typeName":{"id":57488,"name":"bool","nodeType":"ElementaryTypeName","src":"6858:4:77","typeDescriptions":{}}}],"id":57490,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"6857:6:77","typeDescriptions":{"typeIdentifier":"t_type$_t_bool_$","typeString":"type(bool)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_bool_$","typeString":"type(bool)"}],"expression":{"id":57485,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6834:3:77","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":57486,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6838:6:77","memberName":"decode","nodeType":"MemberAccess","src":"6834:10:77","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":57491,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6834:30:77","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"6808:56:77","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":57493,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"6807:58:77","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"6796:69:77","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"arguments":[{"arguments":[{"id":57499,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57461,"src":"6896:5:77","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$57069","typeString":"contract IERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$57069","typeString":"contract IERC20"}],"id":57498,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6888:7:77","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":57497,"name":"address","nodeType":"ElementaryTypeName","src":"6888:7:77","typeDescriptions":{}}},"id":57500,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6888:14:77","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":57495,"name":"Address","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57881,"src":"6869:7:77","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Address_$57881_$","typeString":"type(library Address)"}},"id":57496,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6877:10:77","memberName":"isContract","nodeType":"MemberAccess","referencedDeclaration":57569,"src":"6869:18:77","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":57501,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6869:34:77","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"6796:107:77","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":57467,"id":57503,"nodeType":"Return","src":"6777:126:77"}]},"documentation":{"id":57458,"nodeType":"StructuredDocumentation","src":"5821:490:77","text":" @dev Imitates a Solidity high-level call (i.e. a regular function call to a contract), relaxing the requirement\n on the return value: the return value is optional (but if data is returned, it must not be false).\n @param token The token targeted by the call.\n @param data The call data (encoded using abi.encode or one of its variants).\n This is a variant of {_callOptionalReturn} that silents catches all reverts and returns a bool instead."},"implemented":true,"kind":"function","modifiers":[],"name":"_callOptionalReturnBool","nameLocation":"6325:23:77","parameters":{"id":57464,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57461,"mutability":"mutable","name":"token","nameLocation":"6356:5:77","nodeType":"VariableDeclaration","scope":57505,"src":"6349:12:77","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$57069","typeString":"contract IERC20"},"typeName":{"id":57460,"nodeType":"UserDefinedTypeName","pathNode":{"id":57459,"name":"IERC20","nameLocations":["6349:6:77"],"nodeType":"IdentifierPath","referencedDeclaration":57069,"src":"6349:6:77"},"referencedDeclaration":57069,"src":"6349:6:77","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$57069","typeString":"contract IERC20"}},"visibility":"internal"},{"constant":false,"id":57463,"mutability":"mutable","name":"data","nameLocation":"6376:4:77","nodeType":"VariableDeclaration","scope":57505,"src":"6363:17:77","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":57462,"name":"bytes","nodeType":"ElementaryTypeName","src":"6363:5:77","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"6348:33:77"},"returnParameters":{"id":57467,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57466,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":57505,"src":"6399:4:77","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":57465,"name":"bool","nodeType":"ElementaryTypeName","src":"6399:4:77","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"6398:6:77"},"scope":57506,"stateMutability":"nonpayable","virtual":false,"visibility":"private"}],"abstract":false,"baseContracts":[],"canonicalName":"SafeERC20","contractDependencies":[],"contractKind":"library","documentation":{"id":57136,"nodeType":"StructuredDocumentation","src":"243:457:77","text":" @title SafeERC20\n @dev Wrappers around ERC20 operations that throw on failure (when the token\n contract returns false). Tokens that return no value (and instead revert or\n throw on failure) are also supported, non-reverting calls are assumed to be\n successful.\n To use this library you can add a `using SafeERC20 for IERC20;` statement to your contract,\n which allows you to call the safe operations as `token.safeTransfer(...)`, etc."},"fullyImplemented":true,"linearizedBaseContracts":[57506],"name":"SafeERC20","nameLocation":"709:9:77","scope":57507,"usedErrors":[]}],"license":"MIT"},"id":77} \ No newline at end of file +{"abi":[],"bytecode":{"object":"0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220be728d9272eefc72a833ed6191c4e9059480f2af352af329c50fd96b8f0085a364736f6c63430008130033","sourceMap":"701:6211:77:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;701:6211:77;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220be728d9272eefc72a833ed6191c4e9059480f2af352af329c50fd96b8f0085a364736f6c63430008130033","sourceMap":"701:6211:77:-:0;;;;;;;;","linkReferences":{}},"methodIdentifiers":{},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Wrappers around ERC20 operations that throw on failure (when the token contract returns false). Tokens that return no value (and instead revert or throw on failure) are also supported, non-reverting calls are assumed to be successful. To use this library you can add a `using SafeERC20 for IERC20;` statement to your contract, which allows you to call the safe operations as `token.safeTransfer(...)`, etc.\",\"kind\":\"dev\",\"methods\":{},\"title\":\"SafeERC20\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":\"SafeERC20\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1000},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":eas-proxy/=lib/allo-v2/lib/eas-proxy/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":hedgey-vesting/=lib/allo-v2/lib/hedgey-vesting/contracts/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-contracts/=lib/safe-contracts/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":superfluid-protocol-monorepo/=lib/allo-v2/lib/superfluid-protocol-monorepo/packages/solidity-semantic-money/src/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"]},\"sources\":{\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5\",\"dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol\":{\"keccak256\":\"0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a\",\"dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0x909d608c2db6eb165ca178c81289a07ed2e118e444d0025b2a85c97d0b44a4fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://656cda26512ddd7373c2d5551c8fae759fc30f05b10f0fc2e738e9274199dbd4\",\"dweb:/ipfs/QmTSArSzQRFbQmHgq7U1PZXnsDFhvDZhKVu9CzMG4yo6Lx\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","eas-proxy/=lib/allo-v2/lib/eas-proxy/contracts/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","hedgey-vesting/=lib/allo-v2/lib/hedgey-vesting/contracts/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-contracts/=lib/safe-contracts/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","superfluid-protocol-monorepo/=lib/allo-v2/lib/superfluid-protocol-monorepo/packages/solidity-semantic-money/src/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":1000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol":"SafeERC20"},"evmVersion":"paris","libraries":{}},"sources":{"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305","urls":["bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5","dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol":{"keccak256":"0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a","urls":["bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a","dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol":{"keccak256":"0x909d608c2db6eb165ca178c81289a07ed2e118e444d0025b2a85c97d0b44a4fa","urls":["bzz-raw://656cda26512ddd7373c2d5551c8fae759fc30f05b10f0fc2e738e9274199dbd4","dweb:/ipfs/QmTSArSzQRFbQmHgq7U1PZXnsDFhvDZhKVu9CzMG4yo6Lx"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Address.sol":{"keccak256":"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa","urls":["bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931","dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm"],"license":"MIT"}},"version":1},"storageLayout":{"storage":[],"types":{}},"ast":{"absolutePath":"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol","id":57507,"exportedSymbols":{"Address":[57881],"IERC20":[57069],"IERC20Permit":[57130],"SafeERC20":[57506]},"nodeType":"SourceUnit","src":"115:6798:77","nodes":[{"id":57132,"nodeType":"PragmaDirective","src":"115:23:77","nodes":[],"literals":["solidity","^","0.8",".0"]},{"id":57133,"nodeType":"ImportDirective","src":"140:23:77","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol","file":"../IERC20.sol","nameLocation":"-1:-1:-1","scope":57507,"sourceUnit":57070,"symbolAliases":[],"unitAlias":""},{"id":57134,"nodeType":"ImportDirective","src":"164:40:77","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol","file":"../extensions/IERC20Permit.sol","nameLocation":"-1:-1:-1","scope":57507,"sourceUnit":57131,"symbolAliases":[],"unitAlias":""},{"id":57135,"nodeType":"ImportDirective","src":"205:36:77","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/utils/Address.sol","file":"../../../utils/Address.sol","nameLocation":"-1:-1:-1","scope":57507,"sourceUnit":57882,"symbolAliases":[],"unitAlias":""},{"id":57506,"nodeType":"ContractDefinition","src":"701:6211:77","nodes":[{"id":57139,"nodeType":"UsingForDirective","src":"725:26:77","nodes":[],"global":false,"libraryName":{"id":57137,"name":"Address","nameLocations":["731:7:77"],"nodeType":"IdentifierPath","referencedDeclaration":57881,"src":"731:7:77"},"typeName":{"id":57138,"name":"address","nodeType":"ElementaryTypeName","src":"743:7:77","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}},{"id":57163,"nodeType":"FunctionDefinition","src":"941:175:77","nodes":[],"body":{"id":57162,"nodeType":"Block","src":"1013:103:77","nodes":[],"statements":[{"expression":{"arguments":[{"id":57151,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57143,"src":"1043:5:77","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$57069","typeString":"contract IERC20"}},{"arguments":[{"expression":{"expression":{"id":57154,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57143,"src":"1073:5:77","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$57069","typeString":"contract IERC20"}},"id":57155,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1079:8:77","memberName":"transfer","nodeType":"MemberAccess","referencedDeclaration":57036,"src":"1073:14:77","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) external returns (bool)"}},"id":57156,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1088:8:77","memberName":"selector","nodeType":"MemberAccess","src":"1073:23:77","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":57157,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57145,"src":"1098:2:77","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":57158,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57147,"src":"1102:5:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":57152,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1050:3:77","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":57153,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1054:18:77","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"1050:22:77","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":57159,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1050:58:77","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$57069","typeString":"contract IERC20"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":57150,"name":"_callOptionalReturn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57457,"src":"1023:19:77","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IERC20_$57069_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (contract IERC20,bytes memory)"}},"id":57160,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1023:86:77","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":57161,"nodeType":"ExpressionStatement","src":"1023:86:77"}]},"documentation":{"id":57140,"nodeType":"StructuredDocumentation","src":"757:179:77","text":" @dev Transfer `value` amount of `token` from the calling contract to `to`. If `token` returns no value,\n non-reverting calls are assumed to be successful."},"implemented":true,"kind":"function","modifiers":[],"name":"safeTransfer","nameLocation":"950:12:77","parameters":{"id":57148,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57143,"mutability":"mutable","name":"token","nameLocation":"970:5:77","nodeType":"VariableDeclaration","scope":57163,"src":"963:12:77","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$57069","typeString":"contract IERC20"},"typeName":{"id":57142,"nodeType":"UserDefinedTypeName","pathNode":{"id":57141,"name":"IERC20","nameLocations":["963:6:77"],"nodeType":"IdentifierPath","referencedDeclaration":57069,"src":"963:6:77"},"referencedDeclaration":57069,"src":"963:6:77","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$57069","typeString":"contract IERC20"}},"visibility":"internal"},{"constant":false,"id":57145,"mutability":"mutable","name":"to","nameLocation":"985:2:77","nodeType":"VariableDeclaration","scope":57163,"src":"977:10:77","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":57144,"name":"address","nodeType":"ElementaryTypeName","src":"977:7:77","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":57147,"mutability":"mutable","name":"value","nameLocation":"997:5:77","nodeType":"VariableDeclaration","scope":57163,"src":"989:13:77","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":57146,"name":"uint256","nodeType":"ElementaryTypeName","src":"989:7:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"962:41:77"},"returnParameters":{"id":57149,"nodeType":"ParameterList","parameters":[],"src":"1013:0:77"},"scope":57506,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":57190,"nodeType":"FunctionDefinition","src":"1355:203:77","nodes":[],"body":{"id":57189,"nodeType":"Block","src":"1445:113:77","nodes":[],"statements":[{"expression":{"arguments":[{"id":57177,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57167,"src":"1475:5:77","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$57069","typeString":"contract IERC20"}},{"arguments":[{"expression":{"expression":{"id":57180,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57167,"src":"1505:5:77","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$57069","typeString":"contract IERC20"}},"id":57181,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1511:12:77","memberName":"transferFrom","nodeType":"MemberAccess","referencedDeclaration":57068,"src":"1505:18:77","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,address,uint256) external returns (bool)"}},"id":57182,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1524:8:77","memberName":"selector","nodeType":"MemberAccess","src":"1505:27:77","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":57183,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57169,"src":"1534:4:77","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":57184,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57171,"src":"1540:2:77","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":57185,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57173,"src":"1544:5:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":57178,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1482:3:77","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":57179,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1486:18:77","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"1482:22:77","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":57186,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1482:68:77","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$57069","typeString":"contract IERC20"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":57176,"name":"_callOptionalReturn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57457,"src":"1455:19:77","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IERC20_$57069_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (contract IERC20,bytes memory)"}},"id":57187,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1455:96:77","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":57188,"nodeType":"ExpressionStatement","src":"1455:96:77"}]},"documentation":{"id":57164,"nodeType":"StructuredDocumentation","src":"1122:228:77","text":" @dev Transfer `value` amount of `token` from `from` to `to`, spending the approval given by `from` to the\n calling contract. If `token` returns no value, non-reverting calls are assumed to be successful."},"implemented":true,"kind":"function","modifiers":[],"name":"safeTransferFrom","nameLocation":"1364:16:77","parameters":{"id":57174,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57167,"mutability":"mutable","name":"token","nameLocation":"1388:5:77","nodeType":"VariableDeclaration","scope":57190,"src":"1381:12:77","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$57069","typeString":"contract IERC20"},"typeName":{"id":57166,"nodeType":"UserDefinedTypeName","pathNode":{"id":57165,"name":"IERC20","nameLocations":["1381:6:77"],"nodeType":"IdentifierPath","referencedDeclaration":57069,"src":"1381:6:77"},"referencedDeclaration":57069,"src":"1381:6:77","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$57069","typeString":"contract IERC20"}},"visibility":"internal"},{"constant":false,"id":57169,"mutability":"mutable","name":"from","nameLocation":"1403:4:77","nodeType":"VariableDeclaration","scope":57190,"src":"1395:12:77","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":57168,"name":"address","nodeType":"ElementaryTypeName","src":"1395:7:77","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":57171,"mutability":"mutable","name":"to","nameLocation":"1417:2:77","nodeType":"VariableDeclaration","scope":57190,"src":"1409:10:77","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":57170,"name":"address","nodeType":"ElementaryTypeName","src":"1409:7:77","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":57173,"mutability":"mutable","name":"value","nameLocation":"1429:5:77","nodeType":"VariableDeclaration","scope":57190,"src":"1421:13:77","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":57172,"name":"uint256","nodeType":"ElementaryTypeName","src":"1421:7:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1380:55:77"},"returnParameters":{"id":57175,"nodeType":"ParameterList","parameters":[],"src":"1445:0:77"},"scope":57506,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":57234,"nodeType":"FunctionDefinition","src":"1818:573:77","nodes":[],"body":{"id":57233,"nodeType":"Block","src":"1894:497:77","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":57217,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":57204,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":57202,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57198,"src":"2143:5:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":57203,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2152:1:77","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"2143:10:77","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":57205,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"2142:12:77","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":57215,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"arguments":[{"id":57210,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"2183:4:77","typeDescriptions":{"typeIdentifier":"t_contract$_SafeERC20_$57506","typeString":"library SafeERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_SafeERC20_$57506","typeString":"library SafeERC20"}],"id":57209,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2175:7:77","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":57208,"name":"address","nodeType":"ElementaryTypeName","src":"2175:7:77","typeDescriptions":{}}},"id":57211,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2175:13:77","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":57212,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57196,"src":"2190:7:77","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":57206,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57194,"src":"2159:5:77","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$57069","typeString":"contract IERC20"}},"id":57207,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2165:9:77","memberName":"allowance","nodeType":"MemberAccess","referencedDeclaration":57046,"src":"2159:15:77","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view external returns (uint256)"}},"id":57213,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2159:39:77","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":57214,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2202:1:77","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"2159:44:77","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":57216,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"2158:46:77","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"2142:62:77","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f20746f206e6f6e2d7a65726f20616c6c6f77616e6365","id":57218,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2218:56:77","typeDescriptions":{"typeIdentifier":"t_stringliteral_ef945ddb1bfdc0da870feb4560d868b047642b4ac7f2fb7f8b7c51cb4a411e25","typeString":"literal_string \"SafeERC20: approve from non-zero to non-zero allowance\""},"value":"SafeERC20: approve from non-zero to non-zero allowance"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_ef945ddb1bfdc0da870feb4560d868b047642b4ac7f2fb7f8b7c51cb4a411e25","typeString":"literal_string \"SafeERC20: approve from non-zero to non-zero allowance\""}],"id":57201,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"2121:7:77","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":57219,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2121:163:77","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":57220,"nodeType":"ExpressionStatement","src":"2121:163:77"},{"expression":{"arguments":[{"id":57222,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57194,"src":"2314:5:77","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$57069","typeString":"contract IERC20"}},{"arguments":[{"expression":{"expression":{"id":57225,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57194,"src":"2344:5:77","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$57069","typeString":"contract IERC20"}},"id":57226,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2350:7:77","memberName":"approve","nodeType":"MemberAccess","referencedDeclaration":57056,"src":"2344:13:77","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) external returns (bool)"}},"id":57227,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2358:8:77","memberName":"selector","nodeType":"MemberAccess","src":"2344:22:77","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":57228,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57196,"src":"2368:7:77","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":57229,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57198,"src":"2377:5:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":57223,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2321:3:77","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":57224,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2325:18:77","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"2321:22:77","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":57230,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2321:62:77","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$57069","typeString":"contract IERC20"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":57221,"name":"_callOptionalReturn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57457,"src":"2294:19:77","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IERC20_$57069_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (contract IERC20,bytes memory)"}},"id":57231,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2294:90:77","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":57232,"nodeType":"ExpressionStatement","src":"2294:90:77"}]},"documentation":{"id":57191,"nodeType":"StructuredDocumentation","src":"1564:249:77","text":" @dev Deprecated. This function has issues similar to the ones found in\n {IERC20-approve}, and its usage is discouraged.\n Whenever possible, use {safeIncreaseAllowance} and\n {safeDecreaseAllowance} instead."},"implemented":true,"kind":"function","modifiers":[],"name":"safeApprove","nameLocation":"1827:11:77","parameters":{"id":57199,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57194,"mutability":"mutable","name":"token","nameLocation":"1846:5:77","nodeType":"VariableDeclaration","scope":57234,"src":"1839:12:77","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$57069","typeString":"contract IERC20"},"typeName":{"id":57193,"nodeType":"UserDefinedTypeName","pathNode":{"id":57192,"name":"IERC20","nameLocations":["1839:6:77"],"nodeType":"IdentifierPath","referencedDeclaration":57069,"src":"1839:6:77"},"referencedDeclaration":57069,"src":"1839:6:77","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$57069","typeString":"contract IERC20"}},"visibility":"internal"},{"constant":false,"id":57196,"mutability":"mutable","name":"spender","nameLocation":"1861:7:77","nodeType":"VariableDeclaration","scope":57234,"src":"1853:15:77","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":57195,"name":"address","nodeType":"ElementaryTypeName","src":"1853:7:77","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":57198,"mutability":"mutable","name":"value","nameLocation":"1878:5:77","nodeType":"VariableDeclaration","scope":57234,"src":"1870:13:77","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":57197,"name":"uint256","nodeType":"ElementaryTypeName","src":"1870:7:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1838:46:77"},"returnParameters":{"id":57200,"nodeType":"ParameterList","parameters":[],"src":"1894:0:77"},"scope":57506,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":57271,"nodeType":"FunctionDefinition","src":"2582:280:77","nodes":[],"body":{"id":57270,"nodeType":"Block","src":"2668:194:77","nodes":[],"statements":[{"assignments":[57246],"declarations":[{"constant":false,"id":57246,"mutability":"mutable","name":"oldAllowance","nameLocation":"2686:12:77","nodeType":"VariableDeclaration","scope":57270,"src":"2678:20:77","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":57245,"name":"uint256","nodeType":"ElementaryTypeName","src":"2678:7:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":57255,"initialValue":{"arguments":[{"arguments":[{"id":57251,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"2725:4:77","typeDescriptions":{"typeIdentifier":"t_contract$_SafeERC20_$57506","typeString":"library SafeERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_SafeERC20_$57506","typeString":"library SafeERC20"}],"id":57250,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2717:7:77","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":57249,"name":"address","nodeType":"ElementaryTypeName","src":"2717:7:77","typeDescriptions":{}}},"id":57252,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2717:13:77","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":57253,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57240,"src":"2732:7:77","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":57247,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57238,"src":"2701:5:77","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$57069","typeString":"contract IERC20"}},"id":57248,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2707:9:77","memberName":"allowance","nodeType":"MemberAccess","referencedDeclaration":57046,"src":"2701:15:77","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view external returns (uint256)"}},"id":57254,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2701:39:77","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"2678:62:77"},{"expression":{"arguments":[{"id":57257,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57238,"src":"2770:5:77","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$57069","typeString":"contract IERC20"}},{"arguments":[{"expression":{"expression":{"id":57260,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57238,"src":"2800:5:77","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$57069","typeString":"contract IERC20"}},"id":57261,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2806:7:77","memberName":"approve","nodeType":"MemberAccess","referencedDeclaration":57056,"src":"2800:13:77","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) external returns (bool)"}},"id":57262,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2814:8:77","memberName":"selector","nodeType":"MemberAccess","src":"2800:22:77","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":57263,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57240,"src":"2824:7:77","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":57266,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":57264,"name":"oldAllowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57246,"src":"2833:12:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":57265,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57242,"src":"2848:5:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2833:20:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":57258,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2777:3:77","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":57259,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2781:18:77","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"2777:22:77","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":57267,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2777:77:77","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$57069","typeString":"contract IERC20"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":57256,"name":"_callOptionalReturn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57457,"src":"2750:19:77","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IERC20_$57069_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (contract IERC20,bytes memory)"}},"id":57268,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2750:105:77","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":57269,"nodeType":"ExpressionStatement","src":"2750:105:77"}]},"documentation":{"id":57235,"nodeType":"StructuredDocumentation","src":"2397:180:77","text":" @dev Increase the calling contract's allowance toward `spender` by `value`. If `token` returns no value,\n non-reverting calls are assumed to be successful."},"implemented":true,"kind":"function","modifiers":[],"name":"safeIncreaseAllowance","nameLocation":"2591:21:77","parameters":{"id":57243,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57238,"mutability":"mutable","name":"token","nameLocation":"2620:5:77","nodeType":"VariableDeclaration","scope":57271,"src":"2613:12:77","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$57069","typeString":"contract IERC20"},"typeName":{"id":57237,"nodeType":"UserDefinedTypeName","pathNode":{"id":57236,"name":"IERC20","nameLocations":["2613:6:77"],"nodeType":"IdentifierPath","referencedDeclaration":57069,"src":"2613:6:77"},"referencedDeclaration":57069,"src":"2613:6:77","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$57069","typeString":"contract IERC20"}},"visibility":"internal"},{"constant":false,"id":57240,"mutability":"mutable","name":"spender","nameLocation":"2635:7:77","nodeType":"VariableDeclaration","scope":57271,"src":"2627:15:77","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":57239,"name":"address","nodeType":"ElementaryTypeName","src":"2627:7:77","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":57242,"mutability":"mutable","name":"value","nameLocation":"2652:5:77","nodeType":"VariableDeclaration","scope":57271,"src":"2644:13:77","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":57241,"name":"uint256","nodeType":"ElementaryTypeName","src":"2644:7:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2612:46:77"},"returnParameters":{"id":57244,"nodeType":"ParameterList","parameters":[],"src":"2668:0:77"},"scope":57506,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":57316,"nodeType":"FunctionDefinition","src":"3053:407:77","nodes":[],"body":{"id":57315,"nodeType":"Block","src":"3139:321:77","nodes":[],"statements":[{"id":57314,"nodeType":"UncheckedBlock","src":"3149:305:77","statements":[{"assignments":[57283],"declarations":[{"constant":false,"id":57283,"mutability":"mutable","name":"oldAllowance","nameLocation":"3181:12:77","nodeType":"VariableDeclaration","scope":57314,"src":"3173:20:77","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":57282,"name":"uint256","nodeType":"ElementaryTypeName","src":"3173:7:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":57292,"initialValue":{"arguments":[{"arguments":[{"id":57288,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"3220:4:77","typeDescriptions":{"typeIdentifier":"t_contract$_SafeERC20_$57506","typeString":"library SafeERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_SafeERC20_$57506","typeString":"library SafeERC20"}],"id":57287,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3212:7:77","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":57286,"name":"address","nodeType":"ElementaryTypeName","src":"3212:7:77","typeDescriptions":{}}},"id":57289,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3212:13:77","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":57290,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57277,"src":"3227:7:77","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":57284,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57275,"src":"3196:5:77","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$57069","typeString":"contract IERC20"}},"id":57285,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3202:9:77","memberName":"allowance","nodeType":"MemberAccess","referencedDeclaration":57046,"src":"3196:15:77","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view external returns (uint256)"}},"id":57291,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3196:39:77","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"3173:62:77"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":57296,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":57294,"name":"oldAllowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57283,"src":"3257:12:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":57295,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57279,"src":"3273:5:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3257:21:77","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5361666545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726f","id":57297,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3280:43:77","typeDescriptions":{"typeIdentifier":"t_stringliteral_2c3af60974a758b7e72e108c9bf0943ecc9e4f2e8af4695da5f52fbf57a63d3a","typeString":"literal_string \"SafeERC20: decreased allowance below zero\""},"value":"SafeERC20: decreased allowance below zero"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_2c3af60974a758b7e72e108c9bf0943ecc9e4f2e8af4695da5f52fbf57a63d3a","typeString":"literal_string \"SafeERC20: decreased allowance below zero\""}],"id":57293,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"3249:7:77","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":57298,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3249:75:77","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":57299,"nodeType":"ExpressionStatement","src":"3249:75:77"},{"expression":{"arguments":[{"id":57301,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57275,"src":"3358:5:77","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$57069","typeString":"contract IERC20"}},{"arguments":[{"expression":{"expression":{"id":57304,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57275,"src":"3388:5:77","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$57069","typeString":"contract IERC20"}},"id":57305,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3394:7:77","memberName":"approve","nodeType":"MemberAccess","referencedDeclaration":57056,"src":"3388:13:77","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) external returns (bool)"}},"id":57306,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3402:8:77","memberName":"selector","nodeType":"MemberAccess","src":"3388:22:77","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":57307,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57277,"src":"3412:7:77","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":57310,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":57308,"name":"oldAllowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57283,"src":"3421:12:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":57309,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57279,"src":"3436:5:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3421:20:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":57302,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3365:3:77","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":57303,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3369:18:77","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"3365:22:77","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":57311,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3365:77:77","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$57069","typeString":"contract IERC20"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":57300,"name":"_callOptionalReturn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57457,"src":"3338:19:77","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IERC20_$57069_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (contract IERC20,bytes memory)"}},"id":57312,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3338:105:77","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":57313,"nodeType":"ExpressionStatement","src":"3338:105:77"}]}]},"documentation":{"id":57272,"nodeType":"StructuredDocumentation","src":"2868:180:77","text":" @dev Decrease the calling contract's allowance toward `spender` by `value`. If `token` returns no value,\n non-reverting calls are assumed to be successful."},"implemented":true,"kind":"function","modifiers":[],"name":"safeDecreaseAllowance","nameLocation":"3062:21:77","parameters":{"id":57280,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57275,"mutability":"mutable","name":"token","nameLocation":"3091:5:77","nodeType":"VariableDeclaration","scope":57316,"src":"3084:12:77","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$57069","typeString":"contract IERC20"},"typeName":{"id":57274,"nodeType":"UserDefinedTypeName","pathNode":{"id":57273,"name":"IERC20","nameLocations":["3084:6:77"],"nodeType":"IdentifierPath","referencedDeclaration":57069,"src":"3084:6:77"},"referencedDeclaration":57069,"src":"3084:6:77","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$57069","typeString":"contract IERC20"}},"visibility":"internal"},{"constant":false,"id":57277,"mutability":"mutable","name":"spender","nameLocation":"3106:7:77","nodeType":"VariableDeclaration","scope":57316,"src":"3098:15:77","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":57276,"name":"address","nodeType":"ElementaryTypeName","src":"3098:7:77","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":57279,"mutability":"mutable","name":"value","nameLocation":"3123:5:77","nodeType":"VariableDeclaration","scope":57316,"src":"3115:13:77","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":57278,"name":"uint256","nodeType":"ElementaryTypeName","src":"3115:7:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3083:46:77"},"returnParameters":{"id":57281,"nodeType":"ParameterList","parameters":[],"src":"3139:0:77"},"scope":57506,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":57363,"nodeType":"FunctionDefinition","src":"3756:410:77","nodes":[],"body":{"id":57362,"nodeType":"Block","src":"3833:333:77","nodes":[],"statements":[{"assignments":[57328],"declarations":[{"constant":false,"id":57328,"mutability":"mutable","name":"approvalCall","nameLocation":"3856:12:77","nodeType":"VariableDeclaration","scope":57362,"src":"3843:25:77","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":57327,"name":"bytes","nodeType":"ElementaryTypeName","src":"3843:5:77","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":57337,"initialValue":{"arguments":[{"expression":{"expression":{"id":57331,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57320,"src":"3894:5:77","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$57069","typeString":"contract IERC20"}},"id":57332,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3900:7:77","memberName":"approve","nodeType":"MemberAccess","referencedDeclaration":57056,"src":"3894:13:77","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) external returns (bool)"}},"id":57333,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3908:8:77","memberName":"selector","nodeType":"MemberAccess","src":"3894:22:77","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":57334,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57322,"src":"3918:7:77","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":57335,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57324,"src":"3927:5:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":57329,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3871:3:77","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":57330,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3875:18:77","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"3871:22:77","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":57336,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3871:62:77","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"3843:90:77"},{"condition":{"id":57342,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"3948:45:77","subExpression":{"arguments":[{"id":57339,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57320,"src":"3973:5:77","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$57069","typeString":"contract IERC20"}},{"id":57340,"name":"approvalCall","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57328,"src":"3980:12:77","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$57069","typeString":"contract IERC20"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":57338,"name":"_callOptionalReturnBool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57505,"src":"3949:23:77","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IERC20_$57069_$_t_bytes_memory_ptr_$returns$_t_bool_$","typeString":"function (contract IERC20,bytes memory) returns (bool)"}},"id":57341,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3949:44:77","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":57361,"nodeType":"IfStatement","src":"3944:216:77","trueBody":{"id":57360,"nodeType":"Block","src":"3995:165:77","statements":[{"expression":{"arguments":[{"id":57344,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57320,"src":"4029:5:77","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$57069","typeString":"contract IERC20"}},{"arguments":[{"expression":{"expression":{"id":57347,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57320,"src":"4059:5:77","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$57069","typeString":"contract IERC20"}},"id":57348,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4065:7:77","memberName":"approve","nodeType":"MemberAccess","referencedDeclaration":57056,"src":"4059:13:77","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) external returns (bool)"}},"id":57349,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4073:8:77","memberName":"selector","nodeType":"MemberAccess","src":"4059:22:77","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":57350,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57322,"src":"4083:7:77","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":57351,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4092:1:77","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"expression":{"id":57345,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4036:3:77","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":57346,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4040:18:77","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"4036:22:77","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":57352,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4036:58:77","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$57069","typeString":"contract IERC20"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":57343,"name":"_callOptionalReturn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57457,"src":"4009:19:77","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IERC20_$57069_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (contract IERC20,bytes memory)"}},"id":57353,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4009:86:77","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":57354,"nodeType":"ExpressionStatement","src":"4009:86:77"},{"expression":{"arguments":[{"id":57356,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57320,"src":"4129:5:77","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$57069","typeString":"contract IERC20"}},{"id":57357,"name":"approvalCall","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57328,"src":"4136:12:77","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$57069","typeString":"contract IERC20"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":57355,"name":"_callOptionalReturn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57457,"src":"4109:19:77","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IERC20_$57069_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (contract IERC20,bytes memory)"}},"id":57358,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4109:40:77","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":57359,"nodeType":"ExpressionStatement","src":"4109:40:77"}]}}]},"documentation":{"id":57317,"nodeType":"StructuredDocumentation","src":"3466:285:77","text":" @dev Set the calling contract's allowance toward `spender` to `value`. If `token` returns no value,\n non-reverting calls are assumed to be successful. Compatible with tokens that require the approval to be set to\n 0 before setting it to a non-zero value."},"implemented":true,"kind":"function","modifiers":[],"name":"forceApprove","nameLocation":"3765:12:77","parameters":{"id":57325,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57320,"mutability":"mutable","name":"token","nameLocation":"3785:5:77","nodeType":"VariableDeclaration","scope":57363,"src":"3778:12:77","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$57069","typeString":"contract IERC20"},"typeName":{"id":57319,"nodeType":"UserDefinedTypeName","pathNode":{"id":57318,"name":"IERC20","nameLocations":["3778:6:77"],"nodeType":"IdentifierPath","referencedDeclaration":57069,"src":"3778:6:77"},"referencedDeclaration":57069,"src":"3778:6:77","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$57069","typeString":"contract IERC20"}},"visibility":"internal"},{"constant":false,"id":57322,"mutability":"mutable","name":"spender","nameLocation":"3800:7:77","nodeType":"VariableDeclaration","scope":57363,"src":"3792:15:77","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":57321,"name":"address","nodeType":"ElementaryTypeName","src":"3792:7:77","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":57324,"mutability":"mutable","name":"value","nameLocation":"3817:5:77","nodeType":"VariableDeclaration","scope":57363,"src":"3809:13:77","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":57323,"name":"uint256","nodeType":"ElementaryTypeName","src":"3809:7:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3777:46:77"},"returnParameters":{"id":57326,"nodeType":"ParameterList","parameters":[],"src":"3833:0:77"},"scope":57506,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":57420,"nodeType":"FunctionDefinition","src":"4318:472:77","nodes":[],"body":{"id":57419,"nodeType":"Block","src":"4533:257:77","nodes":[],"statements":[{"assignments":[57385],"declarations":[{"constant":false,"id":57385,"mutability":"mutable","name":"nonceBefore","nameLocation":"4551:11:77","nodeType":"VariableDeclaration","scope":57419,"src":"4543:19:77","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":57384,"name":"uint256","nodeType":"ElementaryTypeName","src":"4543:7:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":57390,"initialValue":{"arguments":[{"id":57388,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57369,"src":"4578:5:77","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":57386,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57367,"src":"4565:5:77","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20Permit_$57130","typeString":"contract IERC20Permit"}},"id":57387,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4571:6:77","memberName":"nonces","nodeType":"MemberAccess","referencedDeclaration":57123,"src":"4565:12:77","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":57389,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4565:19:77","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"4543:41:77"},{"expression":{"arguments":[{"id":57394,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57369,"src":"4607:5:77","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":57395,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57371,"src":"4614:7:77","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":57396,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57373,"src":"4623:5:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":57397,"name":"deadline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57375,"src":"4630:8:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":57398,"name":"v","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57377,"src":"4640:1:77","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"id":57399,"name":"r","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57379,"src":"4643:1:77","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":57400,"name":"s","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57381,"src":"4646:1:77","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":57391,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57367,"src":"4594:5:77","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20Permit_$57130","typeString":"contract IERC20Permit"}},"id":57393,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4600:6:77","memberName":"permit","nodeType":"MemberAccess","referencedDeclaration":57115,"src":"4594:12:77","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (address,address,uint256,uint256,uint8,bytes32,bytes32) external"}},"id":57401,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4594:54:77","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":57402,"nodeType":"ExpressionStatement","src":"4594:54:77"},{"assignments":[57404],"declarations":[{"constant":false,"id":57404,"mutability":"mutable","name":"nonceAfter","nameLocation":"4666:10:77","nodeType":"VariableDeclaration","scope":57419,"src":"4658:18:77","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":57403,"name":"uint256","nodeType":"ElementaryTypeName","src":"4658:7:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":57409,"initialValue":{"arguments":[{"id":57407,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57369,"src":"4692:5:77","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":57405,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57367,"src":"4679:5:77","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20Permit_$57130","typeString":"contract IERC20Permit"}},"id":57406,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4685:6:77","memberName":"nonces","nodeType":"MemberAccess","referencedDeclaration":57123,"src":"4679:12:77","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":57408,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4679:19:77","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"4658:40:77"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":57415,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":57411,"name":"nonceAfter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57404,"src":"4716:10:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":57414,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":57412,"name":"nonceBefore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57385,"src":"4730:11:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"31","id":57413,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4744:1:77","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"4730:15:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4716:29:77","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5361666545524332303a207065726d697420646964206e6f742073756363656564","id":57416,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4747:35:77","typeDescriptions":{"typeIdentifier":"t_stringliteral_cde8e927812a7a656f8f04e89ac4f4113d47940dd2125d11fcb8e0bd36bfc59d","typeString":"literal_string \"SafeERC20: permit did not succeed\""},"value":"SafeERC20: permit did not succeed"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_cde8e927812a7a656f8f04e89ac4f4113d47940dd2125d11fcb8e0bd36bfc59d","typeString":"literal_string \"SafeERC20: permit did not succeed\""}],"id":57410,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"4708:7:77","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":57417,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4708:75:77","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":57418,"nodeType":"ExpressionStatement","src":"4708:75:77"}]},"documentation":{"id":57364,"nodeType":"StructuredDocumentation","src":"4172:141:77","text":" @dev Use a ERC-2612 signature to set the `owner` approval toward `spender` on `token`.\n Revert on invalid signature."},"implemented":true,"kind":"function","modifiers":[],"name":"safePermit","nameLocation":"4327:10:77","parameters":{"id":57382,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57367,"mutability":"mutable","name":"token","nameLocation":"4360:5:77","nodeType":"VariableDeclaration","scope":57420,"src":"4347:18:77","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20Permit_$57130","typeString":"contract IERC20Permit"},"typeName":{"id":57366,"nodeType":"UserDefinedTypeName","pathNode":{"id":57365,"name":"IERC20Permit","nameLocations":["4347:12:77"],"nodeType":"IdentifierPath","referencedDeclaration":57130,"src":"4347:12:77"},"referencedDeclaration":57130,"src":"4347:12:77","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20Permit_$57130","typeString":"contract IERC20Permit"}},"visibility":"internal"},{"constant":false,"id":57369,"mutability":"mutable","name":"owner","nameLocation":"4383:5:77","nodeType":"VariableDeclaration","scope":57420,"src":"4375:13:77","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":57368,"name":"address","nodeType":"ElementaryTypeName","src":"4375:7:77","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":57371,"mutability":"mutable","name":"spender","nameLocation":"4406:7:77","nodeType":"VariableDeclaration","scope":57420,"src":"4398:15:77","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":57370,"name":"address","nodeType":"ElementaryTypeName","src":"4398:7:77","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":57373,"mutability":"mutable","name":"value","nameLocation":"4431:5:77","nodeType":"VariableDeclaration","scope":57420,"src":"4423:13:77","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":57372,"name":"uint256","nodeType":"ElementaryTypeName","src":"4423:7:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":57375,"mutability":"mutable","name":"deadline","nameLocation":"4454:8:77","nodeType":"VariableDeclaration","scope":57420,"src":"4446:16:77","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":57374,"name":"uint256","nodeType":"ElementaryTypeName","src":"4446:7:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":57377,"mutability":"mutable","name":"v","nameLocation":"4478:1:77","nodeType":"VariableDeclaration","scope":57420,"src":"4472:7:77","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":57376,"name":"uint8","nodeType":"ElementaryTypeName","src":"4472:5:77","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":57379,"mutability":"mutable","name":"r","nameLocation":"4497:1:77","nodeType":"VariableDeclaration","scope":57420,"src":"4489:9:77","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":57378,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4489:7:77","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":57381,"mutability":"mutable","name":"s","nameLocation":"4516:1:77","nodeType":"VariableDeclaration","scope":57420,"src":"4508:9:77","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":57380,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4508:7:77","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"4337:186:77"},"returnParameters":{"id":57383,"nodeType":"ParameterList","parameters":[],"src":"4533:0:77"},"scope":57506,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":57457,"nodeType":"FunctionDefinition","src":"5173:642:77","nodes":[],"body":{"id":57456,"nodeType":"Block","src":"5243:572:77","nodes":[],"statements":[{"assignments":[57430],"declarations":[{"constant":false,"id":57430,"mutability":"mutable","name":"returndata","nameLocation":"5605:10:77","nodeType":"VariableDeclaration","scope":57456,"src":"5592:23:77","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":57429,"name":"bytes","nodeType":"ElementaryTypeName","src":"5592:5:77","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":57439,"initialValue":{"arguments":[{"id":57436,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57426,"src":"5646:4:77","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"hexValue":"5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564","id":57437,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5652:34:77","typeDescriptions":{"typeIdentifier":"t_stringliteral_47fb62c2c272651d2f0f342bac006756b8ba07f21cc5cb87e0fbb9d50c0c585b","typeString":"literal_string \"SafeERC20: low-level call failed\""},"value":"SafeERC20: low-level call failed"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_stringliteral_47fb62c2c272651d2f0f342bac006756b8ba07f21cc5cb87e0fbb9d50c0c585b","typeString":"literal_string \"SafeERC20: low-level call failed\""}],"expression":{"arguments":[{"id":57433,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57424,"src":"5626:5:77","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$57069","typeString":"contract IERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$57069","typeString":"contract IERC20"}],"id":57432,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5618:7:77","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":57431,"name":"address","nodeType":"ElementaryTypeName","src":"5618:7:77","typeDescriptions":{}}},"id":57434,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5618:14:77","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":57435,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5633:12:77","memberName":"functionCall","nodeType":"MemberAccess","referencedDeclaration":57641,"src":"5618:27:77","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_bytes_memory_ptr_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$attached_to$_t_address_$","typeString":"function (address,bytes memory,string memory) returns (bytes memory)"}},"id":57438,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5618:69:77","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"5592:95:77"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":57452,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":57444,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":57441,"name":"returndata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57430,"src":"5705:10:77","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":57442,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5716:6:77","memberName":"length","nodeType":"MemberAccess","src":"5705:17:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":57443,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5726:1:77","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"5705:22:77","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"arguments":[{"id":57447,"name":"returndata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57430,"src":"5742:10:77","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":57449,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5755:4:77","typeDescriptions":{"typeIdentifier":"t_type$_t_bool_$","typeString":"type(bool)"},"typeName":{"id":57448,"name":"bool","nodeType":"ElementaryTypeName","src":"5755:4:77","typeDescriptions":{}}}],"id":57450,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"5754:6:77","typeDescriptions":{"typeIdentifier":"t_type$_t_bool_$","typeString":"type(bool)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_bool_$","typeString":"type(bool)"}],"expression":{"id":57445,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"5731:3:77","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":57446,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5735:6:77","memberName":"decode","nodeType":"MemberAccess","src":"5731:10:77","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":57451,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5731:30:77","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"5705:56:77","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564","id":57453,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5763:44:77","typeDescriptions":{"typeIdentifier":"t_stringliteral_e11ad79d1e4a7f2e5f376964cb99e8e8f7904e3fc16a109f7a7ecb9aa7956dcd","typeString":"literal_string \"SafeERC20: ERC20 operation did not succeed\""},"value":"SafeERC20: ERC20 operation did not succeed"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_e11ad79d1e4a7f2e5f376964cb99e8e8f7904e3fc16a109f7a7ecb9aa7956dcd","typeString":"literal_string \"SafeERC20: ERC20 operation did not succeed\""}],"id":57440,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"5697:7:77","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":57454,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5697:111:77","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":57455,"nodeType":"ExpressionStatement","src":"5697:111:77"}]},"documentation":{"id":57421,"nodeType":"StructuredDocumentation","src":"4796:372:77","text":" @dev Imitates a Solidity high-level call (i.e. a regular function call to a contract), relaxing the requirement\n on the return value: the return value is optional (but if data is returned, it must not be false).\n @param token The token targeted by the call.\n @param data The call data (encoded using abi.encode or one of its variants)."},"implemented":true,"kind":"function","modifiers":[],"name":"_callOptionalReturn","nameLocation":"5182:19:77","parameters":{"id":57427,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57424,"mutability":"mutable","name":"token","nameLocation":"5209:5:77","nodeType":"VariableDeclaration","scope":57457,"src":"5202:12:77","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$57069","typeString":"contract IERC20"},"typeName":{"id":57423,"nodeType":"UserDefinedTypeName","pathNode":{"id":57422,"name":"IERC20","nameLocations":["5202:6:77"],"nodeType":"IdentifierPath","referencedDeclaration":57069,"src":"5202:6:77"},"referencedDeclaration":57069,"src":"5202:6:77","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$57069","typeString":"contract IERC20"}},"visibility":"internal"},{"constant":false,"id":57426,"mutability":"mutable","name":"data","nameLocation":"5229:4:77","nodeType":"VariableDeclaration","scope":57457,"src":"5216:17:77","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":57425,"name":"bytes","nodeType":"ElementaryTypeName","src":"5216:5:77","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"5201:33:77"},"returnParameters":{"id":57428,"nodeType":"ParameterList","parameters":[],"src":"5243:0:77"},"scope":57506,"stateMutability":"nonpayable","virtual":false,"visibility":"private"},{"id":57505,"nodeType":"FunctionDefinition","src":"6316:594:77","nodes":[],"body":{"id":57504,"nodeType":"Block","src":"6405:505:77","nodes":[],"statements":[{"assignments":[57469,57471],"declarations":[{"constant":false,"id":57469,"mutability":"mutable","name":"success","nameLocation":"6706:7:77","nodeType":"VariableDeclaration","scope":57504,"src":"6701:12:77","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":57468,"name":"bool","nodeType":"ElementaryTypeName","src":"6701:4:77","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":57471,"mutability":"mutable","name":"returndata","nameLocation":"6728:10:77","nodeType":"VariableDeclaration","scope":57504,"src":"6715:23:77","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":57470,"name":"bytes","nodeType":"ElementaryTypeName","src":"6715:5:77","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":57479,"initialValue":{"arguments":[{"id":57477,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57463,"src":"6762:4:77","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[{"id":57474,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57461,"src":"6750:5:77","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$57069","typeString":"contract IERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$57069","typeString":"contract IERC20"}],"id":57473,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6742:7:77","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":57472,"name":"address","nodeType":"ElementaryTypeName","src":"6742:7:77","typeDescriptions":{}}},"id":57475,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6742:14:77","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":57476,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6757:4:77","memberName":"call","nodeType":"MemberAccess","src":"6742:19:77","typeDescriptions":{"typeIdentifier":"t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) payable returns (bool,bytes memory)"}},"id":57478,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6742:25:77","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"6700:67:77"},{"expression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":57502,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":57494,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":57480,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57469,"src":"6796:7:77","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":57492,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":57484,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":57481,"name":"returndata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57471,"src":"6808:10:77","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":57482,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6819:6:77","memberName":"length","nodeType":"MemberAccess","src":"6808:17:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":57483,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6829:1:77","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"6808:22:77","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"arguments":[{"id":57487,"name":"returndata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57471,"src":"6845:10:77","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":57489,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6858:4:77","typeDescriptions":{"typeIdentifier":"t_type$_t_bool_$","typeString":"type(bool)"},"typeName":{"id":57488,"name":"bool","nodeType":"ElementaryTypeName","src":"6858:4:77","typeDescriptions":{}}}],"id":57490,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"6857:6:77","typeDescriptions":{"typeIdentifier":"t_type$_t_bool_$","typeString":"type(bool)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_bool_$","typeString":"type(bool)"}],"expression":{"id":57485,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6834:3:77","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":57486,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6838:6:77","memberName":"decode","nodeType":"MemberAccess","src":"6834:10:77","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":57491,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6834:30:77","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"6808:56:77","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":57493,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"6807:58:77","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"6796:69:77","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"arguments":[{"arguments":[{"id":57499,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57461,"src":"6896:5:77","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$57069","typeString":"contract IERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$57069","typeString":"contract IERC20"}],"id":57498,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6888:7:77","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":57497,"name":"address","nodeType":"ElementaryTypeName","src":"6888:7:77","typeDescriptions":{}}},"id":57500,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6888:14:77","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":57495,"name":"Address","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57881,"src":"6869:7:77","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Address_$57881_$","typeString":"type(library Address)"}},"id":57496,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6877:10:77","memberName":"isContract","nodeType":"MemberAccess","referencedDeclaration":57569,"src":"6869:18:77","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":57501,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6869:34:77","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"6796:107:77","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":57467,"id":57503,"nodeType":"Return","src":"6777:126:77"}]},"documentation":{"id":57458,"nodeType":"StructuredDocumentation","src":"5821:490:77","text":" @dev Imitates a Solidity high-level call (i.e. a regular function call to a contract), relaxing the requirement\n on the return value: the return value is optional (but if data is returned, it must not be false).\n @param token The token targeted by the call.\n @param data The call data (encoded using abi.encode or one of its variants).\n This is a variant of {_callOptionalReturn} that silents catches all reverts and returns a bool instead."},"implemented":true,"kind":"function","modifiers":[],"name":"_callOptionalReturnBool","nameLocation":"6325:23:77","parameters":{"id":57464,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57461,"mutability":"mutable","name":"token","nameLocation":"6356:5:77","nodeType":"VariableDeclaration","scope":57505,"src":"6349:12:77","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$57069","typeString":"contract IERC20"},"typeName":{"id":57460,"nodeType":"UserDefinedTypeName","pathNode":{"id":57459,"name":"IERC20","nameLocations":["6349:6:77"],"nodeType":"IdentifierPath","referencedDeclaration":57069,"src":"6349:6:77"},"referencedDeclaration":57069,"src":"6349:6:77","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$57069","typeString":"contract IERC20"}},"visibility":"internal"},{"constant":false,"id":57463,"mutability":"mutable","name":"data","nameLocation":"6376:4:77","nodeType":"VariableDeclaration","scope":57505,"src":"6363:17:77","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":57462,"name":"bytes","nodeType":"ElementaryTypeName","src":"6363:5:77","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"6348:33:77"},"returnParameters":{"id":57467,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57466,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":57505,"src":"6399:4:77","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":57465,"name":"bool","nodeType":"ElementaryTypeName","src":"6399:4:77","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"6398:6:77"},"scope":57506,"stateMutability":"nonpayable","virtual":false,"visibility":"private"}],"abstract":false,"baseContracts":[],"canonicalName":"SafeERC20","contractDependencies":[],"contractKind":"library","documentation":{"id":57136,"nodeType":"StructuredDocumentation","src":"243:457:77","text":" @title SafeERC20\n @dev Wrappers around ERC20 operations that throw on failure (when the token\n contract returns false). Tokens that return no value (and instead revert or\n throw on failure) are also supported, non-reverting calls are assumed to be\n successful.\n To use this library you can add a `using SafeERC20 for IERC20;` statement to your contract,\n which allows you to call the safe operations as `token.safeTransfer(...)`, etc."},"fullyImplemented":true,"linearizedBaseContracts":[57506],"name":"SafeERC20","nameLocation":"709:9:77","scope":57507,"usedErrors":[]}],"license":"MIT"},"id":77} \ No newline at end of file diff --git a/pkg/contracts/out/TERC20.sol/TERC20.json b/pkg/contracts/out/TERC20.sol/TERC20.json index a1c8f2461..a4d7262d1 100644 --- a/pkg/contracts/out/TERC20.sol/TERC20.json +++ b/pkg/contracts/out/TERC20.sol/TERC20.json @@ -1 +1 @@ -{"abi":[{"type":"constructor","inputs":[{"name":"name_","type":"string","internalType":"string"},{"name":"symbol_","type":"string","internalType":"string"},{"name":"decimals_","type":"uint8","internalType":"uint8"}],"stateMutability":"nonpayable"},{"type":"function","name":"DOMAIN_SEPARATOR","inputs":[],"outputs":[{"name":"result","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"allowance","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"spender","type":"address","internalType":"address"}],"outputs":[{"name":"result","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"approve","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"balanceOf","inputs":[{"name":"owner","type":"address","internalType":"address"}],"outputs":[{"name":"result","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"burn","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"decimals","inputs":[],"outputs":[{"name":"","type":"uint8","internalType":"uint8"}],"stateMutability":"view"},{"type":"function","name":"decreaseAllowance","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"difference","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"directSpendAllowance","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"spender","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"directTransfer","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"increaseAllowance","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"difference","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"mint","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"name","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"nonces","inputs":[{"name":"owner","type":"address","internalType":"address"}],"outputs":[{"name":"result","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"permit","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"spender","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"},{"name":"deadline","type":"uint256","internalType":"uint256"},{"name":"v","type":"uint8","internalType":"uint8"},{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"s","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"symbol","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"totalSupply","inputs":[],"outputs":[{"name":"result","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"transfer","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"transferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"event","name":"Approval","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"spender","type":"address","indexed":true,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Transfer","inputs":[{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"to","type":"address","indexed":true,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"error","name":"AllowanceOverflow","inputs":[]},{"type":"error","name":"AllowanceUnderflow","inputs":[]},{"type":"error","name":"InsufficientAllowance","inputs":[]},{"type":"error","name":"InsufficientBalance","inputs":[]},{"type":"error","name":"InvalidPermit","inputs":[]},{"type":"error","name":"PermitExpired","inputs":[]},{"type":"error","name":"TotalSupplyOverflow","inputs":[]}],"bytecode":{"object":"0x60806040523480156200001157600080fd5b5060405162000f8a38038062000f8a833981016040819052620000349162000134565b600062000042848262000248565b50600162000051838262000248565b506002805460ff191660ff9290921691909117905550620003149050565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126200009757600080fd5b81516001600160401b0380821115620000b457620000b46200006f565b604051601f8301601f19908116603f01168101908282118183101715620000df57620000df6200006f565b81604052838152602092508683858801011115620000fc57600080fd5b600091505b8382101562000120578582018301518183018401529082019062000101565b600093810190920192909252949350505050565b6000806000606084860312156200014a57600080fd5b83516001600160401b03808211156200016257600080fd5b620001708783880162000085565b945060208601519150808211156200018757600080fd5b50620001968682870162000085565b925050604084015160ff81168114620001ae57600080fd5b809150509250925092565b600181811c90821680620001ce57607f821691505b602082108103620001ef57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200024357600081815260208120601f850160051c810160208610156200021e5750805b601f850160051c820191505b818110156200023f578281556001016200022a565b5050505b505050565b81516001600160401b038111156200026457620002646200006f565b6200027c81620002758454620001b9565b84620001f5565b602080601f831160018114620002b457600084156200029b5750858301515b600019600386901b1c1916600185901b1785556200023f565b600085815260208120601f198616915b82811015620002e557888601518255948401946001909101908401620002c4565b5085821015620003045787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b610c6680620003246000396000f3fe608060405234801561001057600080fd5b50600436106101365760003560e01c80637ecebe00116100b2578063a9059cbb11610081578063d505accf11610066578063d505accf1461028e578063dd62ed3e146102a1578063f83d1791146102ca57600080fd5b8063a9059cbb14610268578063d30ed3b31461027b57600080fd5b80637ecebe001461021457806395d89b411461023a5780639dc29fac14610242578063a457c2d71461025557600080fd5b8063313ce5671161010957806339509351116100ee57806339509351146101c657806340c10f19146101d957806370a08231146101ee57600080fd5b8063313ce567146101a95780633644e515146101be57600080fd5b806306fdde031461013b578063095ea7b31461015957806318160ddd1461017c57806323b872dd14610196575b600080fd5b6101436102dd565b6040516101509190610a3f565b60405180910390f35b61016c610167366004610ab6565b61036f565b6040519015158152602001610150565b6805345cdf77eb68f44c545b604051908152602001610150565b61016c6101a4366004610ae0565b6103c2565b60025460405160ff9091168152602001610150565b6101886103e7565b61016c6101d4366004610ab6565b61045d565b6101ec6101e7366004610ab6565b610478565b005b6101886101fc366004610b1c565b6387a211a2600c908152600091909152602090205490565b610188610222366004610b1c565b6338377508600c908152600091909152602090205490565b61014361048e565b6101ec610250366004610ab6565b61049d565b61016c610263366004610ab6565b6104af565b61016c610276366004610ab6565b6104c3565b6101ec610289366004610ae0565b6104d7565b6101ec61029c366004610b37565b6104f7565b6101886102af366004610baa565b602052637f5e9f20600c908152600091909152603490205490565b6101ec6102d8366004610ae0565b610636565b6060600080546102ec90610bdd565b80601f016020809104026020016040519081016040528092919081815260200182805461031890610bdd565b80156103655780601f1061033a57610100808354040283529160200191610365565b820191906000526020600020905b81548152906001019060200180831161034857829003601f168201915b5050505050905090565b600082602052637f5e9f20600c5233600052816034600c205581600052602c5160601c337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560206000a350600192915050565b60006103df6103d085610651565b6103d985610651565b84610660565b949350505050565b60405160006103f46102dd565b80516020918201207f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f845290830152507fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6604082015246606082015230608082015260a0902090565b600061047161046b84610651565b8361071e565b9392505050565b61048a61048483610651565b82610790565b5050565b6060600180546102ec90610bdd565b61048a6104a983610651565b8261080f565b60006104716104bd84610651565b83610893565b60006104716104d184610651565b83610906565b6104f26104e384610651565b6104ec84610651565b83610981565b505050565b60006105016103e7565b90506040518542111561051c57631a15a3cc6000526004601cfd5b8860601b60601c98508760601b60601c97506338377508600c52886000526020600c2080546001810182557f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c983528a602084015289604084015288606084015280608084015250508560a08201526119016000528160205260c081206040526042601e206000528460ff1660205283604052826060526020806080600060015afa50883d51146105d45763ddafbaef6000526004601cfd5b777f5e9f20000000000000000000000000000000000000000088176040526034602c2087905587897f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925602060608501a360405250506000606052505050505050565b6104f261064284610651565b61064b84610651565b836109c4565b60005a60a01b82179050919050565b60008360601b33602052637f5e9f208117600c526034600c20805460001981146106a0578085111561069a576313be252b6000526004601cfd5b84810382555b50506387a211a28117600c526020600c208054808511156106c95763f4d678b86000526004601cfd5b84810382555050836000526020600c208381540181555082602052600c5160601c8160601c7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a3505060019392505050565b600082602052637f5e9f20600c52336000526034600c208054838101818110156107505763f90670666000526004601cfd5b80835580600052505050602c5160601c337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560206000a350600192915050565b6805345cdf77eb68f44c54818101818110156107b45763e5cfe9576000526004601cfd5b806805345cdf77eb68f44c5550506387a211a2600c52816000526020600c208181540181555080602052600c5160601c60007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a35050565b6387a211a2600c52816000526020600c208054808311156108385763f4d678b86000526004601cfd5b82900390556805345cdf77eb68f44c80548290039055600081815273ffffffffffffffffffffffffffffffffffffffff83167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602083a35050565b600082602052637f5e9f20600c52336000526034600c208054838110156108c257638301ab386000526004601cfd5b8381039050808255806000525050602c5160601c337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560206000a350600192915050565b60006387a211a2600c52336000526020600c208054808411156109315763f4d678b86000526004601cfd5b83810382555050826000526020600c208281540181555081602052600c5160601c337fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a350600192915050565b81602052637f5e9f20600c52826000526034600c20805460001981146109bd57808311156109b7576313be252b6000526004601cfd5b82810382555b5050505050565b8260601b6387a211a28117600c526020600c208054808411156109ef5763f4d678b86000526004601cfd5b83810382555050826000526020600c208281540181555081602052600c5160601c8160601c7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a350505050565b600060208083528351808285015260005b81811015610a6c57858101830151858201604001528201610a50565b506000604082860101526040601f19601f8301168501019250505092915050565b803573ffffffffffffffffffffffffffffffffffffffff81168114610ab157600080fd5b919050565b60008060408385031215610ac957600080fd5b610ad283610a8d565b946020939093013593505050565b600080600060608486031215610af557600080fd5b610afe84610a8d565b9250610b0c60208501610a8d565b9150604084013590509250925092565b600060208284031215610b2e57600080fd5b61047182610a8d565b600080600080600080600060e0888a031215610b5257600080fd5b610b5b88610a8d565b9650610b6960208901610a8d565b95506040880135945060608801359350608088013560ff81168114610b8d57600080fd5b9699959850939692959460a0840135945060c09093013592915050565b60008060408385031215610bbd57600080fd5b610bc683610a8d565b9150610bd460208401610a8d565b90509250929050565b600181811c90821680610bf157607f821691505b602082108103610c2a577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b5091905056fea26469706673582212207c291bd5e45949dcf51796aae3f8a1872474d35eaf76a1d1e5457d2e4cf0808c64736f6c63430008130033","sourceMap":"290:2085:150:-:0;;;408:161;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;491:5;:13;499:5;491;:13;:::i;:::-;-1:-1:-1;514:7:150;:17;524:7;514;:17;:::i;:::-;-1:-1:-1;541:9:150;:21;;-1:-1:-1;;541:21:150;;;;;;;;;;;;-1:-1:-1;290:2085:150;;-1:-1:-1;290:2085:150;14:127:151;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:840;200:5;253:3;246:4;238:6;234:17;230:27;220:55;;271:1;268;261:12;220:55;294:13;;-1:-1:-1;;;;;356:10:151;;;353:36;;;369:18;;:::i;:::-;444:2;438:9;412:2;498:13;;-1:-1:-1;;494:22:151;;;518:2;490:31;486:40;474:53;;;542:18;;;562:22;;;539:46;536:72;;;588:18;;:::i;:::-;628:10;624:2;617:22;663:2;655:6;648:18;685:4;675:14;;730:3;725:2;720;712:6;708:15;704:24;701:33;698:53;;;747:1;744;737:12;698:53;769:1;760:10;;779:133;793:2;790:1;787:9;779:133;;;881:14;;;877:23;;871:30;850:14;;;846:23;;839:63;804:10;;;;779:133;;;954:1;932:15;;;928:24;;;921:35;;;;936:6;146:840;-1:-1:-1;;;;146:840:151:o;991:712::-;1097:6;1105;1113;1166:2;1154:9;1145:7;1141:23;1137:32;1134:52;;;1182:1;1179;1172:12;1134:52;1209:16;;-1:-1:-1;;;;;1274:14:151;;;1271:34;;;1301:1;1298;1291:12;1271:34;1324:61;1377:7;1368:6;1357:9;1353:22;1324:61;:::i;:::-;1314:71;;1431:2;1420:9;1416:18;1410:25;1394:41;;1460:2;1450:8;1447:16;1444:36;;;1476:1;1473;1466:12;1444:36;;1499:63;1554:7;1543:8;1532:9;1528:24;1499:63;:::i;:::-;1489:73;;;1605:2;1594:9;1590:18;1584:25;1649:4;1642:5;1638:16;1631:5;1628:27;1618:55;;1669:1;1666;1659:12;1618:55;1692:5;1682:15;;;991:712;;;;;:::o;1708:380::-;1787:1;1783:12;;;;1830;;;1851:61;;1905:4;1897:6;1893:17;1883:27;;1851:61;1958:2;1950:6;1947:14;1927:18;1924:38;1921:161;;2004:10;1999:3;1995:20;1992:1;1985:31;2039:4;2036:1;2029:15;2067:4;2064:1;2057:15;1921:161;;1708:380;;;:::o;2219:545::-;2321:2;2316:3;2313:11;2310:448;;;2357:1;2382:5;2378:2;2371:17;2427:4;2423:2;2413:19;2497:2;2485:10;2481:19;2478:1;2474:27;2468:4;2464:38;2533:4;2521:10;2518:20;2515:47;;;-1:-1:-1;2556:4:151;2515:47;2611:2;2606:3;2602:12;2599:1;2595:20;2589:4;2585:31;2575:41;;2666:82;2684:2;2677:5;2674:13;2666:82;;;2729:17;;;2710:1;2699:13;2666:82;;;2670:3;;;2310:448;2219:545;;;:::o;2940:1352::-;3060:10;;-1:-1:-1;;;;;3082:30:151;;3079:56;;;3115:18;;:::i;:::-;3144:97;3234:6;3194:38;3226:4;3220:11;3194:38;:::i;:::-;3188:4;3144:97;:::i;:::-;3296:4;;3360:2;3349:14;;3377:1;3372:663;;;;4079:1;4096:6;4093:89;;;-1:-1:-1;4148:19:151;;;4142:26;4093:89;-1:-1:-1;;2897:1:151;2893:11;;;2889:24;2885:29;2875:40;2921:1;2917:11;;;2872:57;4195:81;;3342:944;;3372:663;2166:1;2159:14;;;2203:4;2190:18;;-1:-1:-1;;3408:20:151;;;3526:236;3540:7;3537:1;3534:14;3526:236;;;3629:19;;;3623:26;3608:42;;3721:27;;;;3689:1;3677:14;;;;3556:19;;3526:236;;;3530:3;3790:6;3781:7;3778:19;3775:201;;;3851:19;;;3845:26;-1:-1:-1;;3934:1:151;3930:14;;;3946:3;3926:24;3922:37;3918:42;3903:58;3888:74;;3775:201;-1:-1:-1;;;;;4022:1:151;4006:14;;;4002:22;3989:36;;-1:-1:-1;2940:1352:151:o;:::-;290:2085:150;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b50600436106101365760003560e01c80637ecebe00116100b2578063a9059cbb11610081578063d505accf11610066578063d505accf1461028e578063dd62ed3e146102a1578063f83d1791146102ca57600080fd5b8063a9059cbb14610268578063d30ed3b31461027b57600080fd5b80637ecebe001461021457806395d89b411461023a5780639dc29fac14610242578063a457c2d71461025557600080fd5b8063313ce5671161010957806339509351116100ee57806339509351146101c657806340c10f19146101d957806370a08231146101ee57600080fd5b8063313ce567146101a95780633644e515146101be57600080fd5b806306fdde031461013b578063095ea7b31461015957806318160ddd1461017c57806323b872dd14610196575b600080fd5b6101436102dd565b6040516101509190610a3f565b60405180910390f35b61016c610167366004610ab6565b61036f565b6040519015158152602001610150565b6805345cdf77eb68f44c545b604051908152602001610150565b61016c6101a4366004610ae0565b6103c2565b60025460405160ff9091168152602001610150565b6101886103e7565b61016c6101d4366004610ab6565b61045d565b6101ec6101e7366004610ab6565b610478565b005b6101886101fc366004610b1c565b6387a211a2600c908152600091909152602090205490565b610188610222366004610b1c565b6338377508600c908152600091909152602090205490565b61014361048e565b6101ec610250366004610ab6565b61049d565b61016c610263366004610ab6565b6104af565b61016c610276366004610ab6565b6104c3565b6101ec610289366004610ae0565b6104d7565b6101ec61029c366004610b37565b6104f7565b6101886102af366004610baa565b602052637f5e9f20600c908152600091909152603490205490565b6101ec6102d8366004610ae0565b610636565b6060600080546102ec90610bdd565b80601f016020809104026020016040519081016040528092919081815260200182805461031890610bdd565b80156103655780601f1061033a57610100808354040283529160200191610365565b820191906000526020600020905b81548152906001019060200180831161034857829003601f168201915b5050505050905090565b600082602052637f5e9f20600c5233600052816034600c205581600052602c5160601c337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560206000a350600192915050565b60006103df6103d085610651565b6103d985610651565b84610660565b949350505050565b60405160006103f46102dd565b80516020918201207f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f845290830152507fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6604082015246606082015230608082015260a0902090565b600061047161046b84610651565b8361071e565b9392505050565b61048a61048483610651565b82610790565b5050565b6060600180546102ec90610bdd565b61048a6104a983610651565b8261080f565b60006104716104bd84610651565b83610893565b60006104716104d184610651565b83610906565b6104f26104e384610651565b6104ec84610651565b83610981565b505050565b60006105016103e7565b90506040518542111561051c57631a15a3cc6000526004601cfd5b8860601b60601c98508760601b60601c97506338377508600c52886000526020600c2080546001810182557f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c983528a602084015289604084015288606084015280608084015250508560a08201526119016000528160205260c081206040526042601e206000528460ff1660205283604052826060526020806080600060015afa50883d51146105d45763ddafbaef6000526004601cfd5b777f5e9f20000000000000000000000000000000000000000088176040526034602c2087905587897f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925602060608501a360405250506000606052505050505050565b6104f261064284610651565b61064b84610651565b836109c4565b60005a60a01b82179050919050565b60008360601b33602052637f5e9f208117600c526034600c20805460001981146106a0578085111561069a576313be252b6000526004601cfd5b84810382555b50506387a211a28117600c526020600c208054808511156106c95763f4d678b86000526004601cfd5b84810382555050836000526020600c208381540181555082602052600c5160601c8160601c7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a3505060019392505050565b600082602052637f5e9f20600c52336000526034600c208054838101818110156107505763f90670666000526004601cfd5b80835580600052505050602c5160601c337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560206000a350600192915050565b6805345cdf77eb68f44c54818101818110156107b45763e5cfe9576000526004601cfd5b806805345cdf77eb68f44c5550506387a211a2600c52816000526020600c208181540181555080602052600c5160601c60007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a35050565b6387a211a2600c52816000526020600c208054808311156108385763f4d678b86000526004601cfd5b82900390556805345cdf77eb68f44c80548290039055600081815273ffffffffffffffffffffffffffffffffffffffff83167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602083a35050565b600082602052637f5e9f20600c52336000526034600c208054838110156108c257638301ab386000526004601cfd5b8381039050808255806000525050602c5160601c337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560206000a350600192915050565b60006387a211a2600c52336000526020600c208054808411156109315763f4d678b86000526004601cfd5b83810382555050826000526020600c208281540181555081602052600c5160601c337fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a350600192915050565b81602052637f5e9f20600c52826000526034600c20805460001981146109bd57808311156109b7576313be252b6000526004601cfd5b82810382555b5050505050565b8260601b6387a211a28117600c526020600c208054808411156109ef5763f4d678b86000526004601cfd5b83810382555050826000526020600c208281540181555081602052600c5160601c8160601c7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a350505050565b600060208083528351808285015260005b81811015610a6c57858101830151858201604001528201610a50565b506000604082860101526040601f19601f8301168501019250505092915050565b803573ffffffffffffffffffffffffffffffffffffffff81168114610ab157600080fd5b919050565b60008060408385031215610ac957600080fd5b610ad283610a8d565b946020939093013593505050565b600080600060608486031215610af557600080fd5b610afe84610a8d565b9250610b0c60208501610a8d565b9150604084013590509250925092565b600060208284031215610b2e57600080fd5b61047182610a8d565b600080600080600080600060e0888a031215610b5257600080fd5b610b5b88610a8d565b9650610b6960208901610a8d565b95506040880135945060608801359350608088013560ff81168114610b8d57600080fd5b9699959850939692959460a0840135945060c09093013592915050565b60008060408385031215610bbd57600080fd5b610bc683610a8d565b9150610bd460208401610a8d565b90509250929050565b600181811c90821680610bf157607f821691505b602082108103610c2a577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b5091905056fea26469706673582212207c291bd5e45949dcf51796aae3f8a1872474d35eaf76a1d1e5457d2e4cf0808c64736f6c63430008130033","sourceMap":"290:2085:150:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;575:98;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5995:573:13;;;;;;:::i;:::-;;:::i;:::-;;;1192:14:151;;1185:22;1167:41;;1155:2;1140:18;5995:573:13;1027:187:151;4847:195:13;5007:18;5001:25;4847:195;;;1365:25:151;;;1353:2;1338:18;4847:195:13;1219:177:151;1603:189:150;;;;;;:::i;:::-;;:::i;787:98::-;869:9;;787:98;;869:9;;;;1876:36:151;;1864:2;1849:18;787:98:150;1734:184:151;17096:1062:13;;;:::i;1798:184:150:-;;;;;;:::i;:::-;;:::i;891:102::-;;;;;;:::i;:::-;;:::i;:::-;;5108:286:13;;;;;;:::i;:::-;5276:18;5270:4;5263:32;;;5171:14;5308:19;;;;5372:4;5356:21;;5350:28;;5108:286;13503:340;;;;;;:::i;:::-;13726:17;13720:4;13713:31;;;13563:14;13757:19;;;;13821:4;13805:21;;13799:28;;13503:340;679:102:150;;;:::i;999:106::-;;;;;;:::i;:::-;;:::i;1988:184::-;;;;;;:::i;:::-;;:::i;1449:148::-;;;;;;:::i;:::-;;:::i;1268:175::-;;;;;;:::i;:::-;;:::i;14027:3010:13:-;;;;;;:::i;:::-;;:::i;5489:375::-;;;;;;:::i;:::-;5704:4;5697:21;5744:20;5738:4;5731:34;;;5601:14;5778:19;;;;5842:4;5826:21;;5820:28;;5489:375;1111:151:150;;;;;;:::i;:::-;;:::i;575:98::-;629:13;661:5;654:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;575:98;:::o;5995:573:13:-;6069:4;6228:7;6222:4;6215:21;6262:20;6256:4;6249:34;6309:8;6303:4;6296:22;6361:6;6354:4;6348;6338:21;6331:37;6436:6;6430:4;6423:20;6524:4;6518:11;6514:2;6510:20;6500:8;6473:25;6467:4;6461;6456:75;-1:-1:-1;6557:4:13;5995:573;;;;:::o;1603:189:150:-;1700:4;1723:62;1742:17;1754:4;1742:11;:17::i;:::-;1761:15;1773:2;1761:11;:15::i;:::-;1778:6;1723:18;:62::i;:::-;1716:69;1603:189;-1:-1:-1;;;;1603:189:150:o;17096:1062:13:-;17261:4;17255:11;17153:14;17447:6;:4;:6::i;:::-;17431:24;;;;;;;17726:66;17716:77;;17813:12;;;17806:30;-1:-1:-1;17946:66:13;17939:4;17932:12;;17925:88;18047:9;18040:4;18033:12;;18026:31;18091:9;18084:4;18077:12;;18070:31;18137:4;18124:18;;;17096:1062::o;1798:184:150:-;1895:4;1918:57;1942:20;1954:7;1942:11;:20::i;:::-;1964:10;1918:23;:57::i;:::-;1911:64;1798:184;-1:-1:-1;;;1798:184:150:o;891:102::-;957:29;963:15;975:2;963:11;:15::i;:::-;980:5;957;:29::i;:::-;891:102;;:::o;679:::-;735:13;767:7;760:14;;;;;:::i;999:106::-;1067:31;1073:17;1085:4;1073:11;:17::i;:::-;1092:5;1067;:31::i;1988:184::-;2085:4;2108:57;2132:20;2144:7;2132:11;:20::i;:::-;2154:10;2108:23;:57::i;1449:148::-;1528:4;1551:39;1566:15;1578:2;1566:11;:15::i;:::-;1583:6;1551:14;:39::i;1268:175::-;1371:65;1387:18;1399:5;1387:11;:18::i;:::-;1407:20;1419:7;1407:11;:20::i;:::-;1429:6;1371:15;:65::i;:::-;1268:175;;;:::o;14027:3010:13:-;14226:23;14252:18;:16;:18::i;:::-;14226:44;;14406:4;14400:11;14513:8;14500:11;14497:25;14494:142;;;14554:10;14548:4;14541:24;14617:4;14611;14604:18;14494:142;14714:5;14710:2;14706:14;14702:2;14698:23;14689:32;;14761:7;14757:2;14753:16;14749:2;14745:25;14734:36;;14854:17;14848:4;14841:31;14898:5;14892:4;14885:19;14950:4;14944;14934:21;14992:9;14986:16;15103:1;15091:10;15087:18;15076:9;15069:37;15325:66;15322:1;15315:77;15426:5;15419:4;15416:1;15412:12;15405:27;15466:7;15459:4;15456:1;15452:12;15445:29;15508:5;15501:4;15498:1;15494:12;15487:27;15548:10;15541:4;15538:1;15534:12;15527:32;;;15593:8;15586:4;15583:1;15579:12;15572:30;15664:6;15661:1;15654:17;15697:15;15691:4;15684:29;15752:4;15749:1;15739:18;15733:4;15726:32;15844:4;15838;15828:21;15825:1;15818:32;15886:1;15880:4;15876:12;15870:4;15863:26;15915:1;15909:4;15902:15;15943:1;15937:4;15930:15;15998:4;15992;15986;15983:1;15980;15973:5;15962:41;15958:46;16423:5;16404:16;16398:23;16395:34;16385:159;;16462:10;16456:4;16449:24;16525:4;16519;16512:18;16385:159;16688:30;16685:43;;16679:4;16672:57;16765:4;16759;16749:21;16742:36;;;16720:7;16885:5;16858:25;-1:-1:-1;16845:4:13;16838:12;;16833:67;16920:4;16913:15;-1:-1:-1;;16990:1:13;16984:4;16977:15;-1:-1:-1;;;;;;14027:3010:13:o;1111:151:150:-;1202:53;1212:17;1224:4;1212:11;:17::i;:::-;1231:15;1243:2;1231:11;:15::i;:::-;1248:6;1202:9;:53::i;2178:195::-;2233:14;2350:5;2345:3;2341:15;2338:1;2335:22;2325:32;;2178:195;;;:::o;10886:2203:13:-;10974:4;11125;11121:2;11117:13;11218:8;11212:4;11205:22;11263:20;11256:5;11253:31;11247:4;11240:45;11335:4;11329;11319:21;11377:13;11371:20;11499:1;11495:6;11483:10;11480:22;11470:430;;11617:10;11609:6;11606:22;11603:159;;;11664:10;11658:4;11651:24;11739:4;11733;11726:18;11603:159;11878:6;11866:10;11862:23;11847:13;11840:46;11470:430;;;11996:18;11989:5;11986:29;11980:4;11973:43;12068:4;12062;12052:21;12111:15;12105:22;12201:11;12193:6;12190:23;12187:146;;;12245:10;12239:4;12232:24;12314:4;12308;12301:18;12187:146;12442:6;12429:11;12425:24;12408:15;12401:49;;;12525:2;12519:4;12512:16;12578:4;12572;12562:21;12828:6;12812:13;12806:20;12802:33;12787:13;12780:56;;12904:6;12898:4;12891:20;12998:4;12992:11;12988:2;12984:20;12976:5;12972:2;12968:14;12941:25;12935:4;12929;12924:81;;-1:-1:-1;13078:4:13;10886:2203;;;;;:::o;6700:1058::-;6788:4;6945:7;6939:4;6932:21;6979:20;6973:4;6966:34;7026:8;7020:4;7013:22;7085:4;7079;7069:21;7132:13;7126:20;7239:10;7222:15;7218:32;7322:15;7306:14;7303:35;7300:156;;;7370:10;7364:4;7357:24;7437:4;7431;7424:18;7300:156;7535:14;7520:13;7513:37;7618:14;7612:4;7605:28;;;;7714:4;7708:11;7704:2;7700:20;7690:8;7663:25;7657:4;7651;7646:75;-1:-1:-1;7747:4:13;6700:1058;;;;:::o;18562:1172::-;18783:18;18777:25;18862:6;18843:17;18839:30;18959:17;18941:16;18938:39;18935:162;;;19009:10;19003:4;18996:24;19078:4;19072;19065:18;18935:162;19184:16;19164:18;19157:44;;;19287:18;19281:4;19274:32;19332:2;19326:4;19319:16;19385:4;19379;19369:21;19501:6;19485:13;19479:20;19475:33;19460:13;19453:56;;19577:6;19571:4;19564:20;19658:4;19652:11;19648:2;19644:20;19641:1;19614:25;19608:4;19602;19597:68;891:102:150;;:::o;20140:1119:13:-;20407:18;20401:4;20394:32;20452:4;20446;20439:18;20509:4;20503;20493:21;20552:15;20546:22;20642:11;20634:6;20631:23;20628:146;;;20686:10;20680:4;20673:24;20755:4;20749;20742:18;20628:146;20866:24;;;20842:49;;21001:18;20995:25;;20991:38;;;20964:66;;-1:-1:-1;21085:20:13;;;21162:22;;;21135:25;21129:4;-1:-1:-1;21118:70:13;891:102:150;;:::o;7890:1035:13:-;7978:4;8135:7;8129:4;8122:21;8169:20;8163:4;8156:34;8216:8;8210:4;8203:22;8275:4;8269;8259:21;8322:13;8316:20;8413:10;8396:15;8393:31;8390:153;;;8456:10;8450:4;8443:24;8524:4;8518;8511:18;8390:153;8656:10;8639:15;8635:32;8613:54;;8702:14;8687:13;8680:37;8785:14;8779:4;8772:28;;;8881:4;8875:11;8871:2;8867:20;8857:8;8830:25;8824:4;8818;8813:75;-1:-1:-1;8914:4:13;7890:1035;;;;:::o;9112:1406::-;9182:4;9391:18;9385:4;9378:32;9436:8;9430:4;9423:22;9497:4;9491;9481:21;9540:15;9534:22;9630:11;9622:6;9619:23;9616:146;;;9674:10;9668:4;9661:24;9743:4;9737;9730:18;9616:146;9871:6;9858:11;9854:24;9837:15;9830:49;;;9954:2;9948:4;9941:16;10007:4;10001;9991:21;10257:6;10241:13;10235:20;10231:33;10216:13;10209:56;;10333:6;10327:4;10320:20;10421:4;10415:11;10411:2;10407:20;10397:8;10370:25;10364:4;10358;10353:75;-1:-1:-1;10507:4:13;9112:1406;;;;:::o;23377:959::-;23618:7;23612:4;23605:21;23652:20;23646:4;23639:34;23699:5;23693:4;23686:19;23755:4;23749;23739:21;23797:13;23791:20;23919:1;23915:6;23903:10;23900:22;23890:430;;24037:10;24029:6;24026:22;24023:159;;;24084:10;24078:4;24071:24;24159:4;24153;24146:18;24023:159;24298:6;24286:10;24282:23;24267:13;24260:46;23890:430;;;23377:959;;;:::o;21607:1396::-;21830:4;21826:2;21822:13;21931:18;21924:5;21921:29;21915:4;21908:43;22003:4;21997;21987:21;22046:15;22040:22;22136:11;22128:6;22125:23;22122:146;;;22180:10;22174:4;22167:24;22249:4;22243;22236:18;22122:146;22377:6;22364:11;22360:24;22343:15;22336:49;;;22460:2;22454:4;22447:16;22513:4;22507;22497:21;22763:6;22747:13;22741:20;22737:33;22722:13;22715:56;;22839:6;22833:4;22826:20;22933:4;22927:11;22923:2;22919:20;22911:5;22907:2;22903:14;22876:25;22870:4;22864;22859:81;;1268:175:150;;;:::o;14:548:151:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:196::-;635:20;;695:42;684:54;;674:65;;664:93;;753:1;750;743:12;664:93;567:196;;;:::o;768:254::-;836:6;844;897:2;885:9;876:7;872:23;868:32;865:52;;;913:1;910;903:12;865:52;936:29;955:9;936:29;:::i;:::-;926:39;1012:2;997:18;;;;984:32;;-1:-1:-1;;;768:254:151:o;1401:328::-;1478:6;1486;1494;1547:2;1535:9;1526:7;1522:23;1518:32;1515:52;;;1563:1;1560;1553:12;1515:52;1586:29;1605:9;1586:29;:::i;:::-;1576:39;;1634:38;1668:2;1657:9;1653:18;1634:38;:::i;:::-;1624:48;;1719:2;1708:9;1704:18;1691:32;1681:42;;1401:328;;;;;:::o;2105:186::-;2164:6;2217:2;2205:9;2196:7;2192:23;2188:32;2185:52;;;2233:1;2230;2223:12;2185:52;2256:29;2275:9;2256:29;:::i;2296:693::-;2407:6;2415;2423;2431;2439;2447;2455;2508:3;2496:9;2487:7;2483:23;2479:33;2476:53;;;2525:1;2522;2515:12;2476:53;2548:29;2567:9;2548:29;:::i;:::-;2538:39;;2596:38;2630:2;2619:9;2615:18;2596:38;:::i;:::-;2586:48;;2681:2;2670:9;2666:18;2653:32;2643:42;;2732:2;2721:9;2717:18;2704:32;2694:42;;2786:3;2775:9;2771:19;2758:33;2831:4;2824:5;2820:16;2813:5;2810:27;2800:55;;2851:1;2848;2841:12;2800:55;2296:693;;;;-1:-1:-1;2296:693:151;;;;2874:5;2926:3;2911:19;;2898:33;;-1:-1:-1;2978:3:151;2963:19;;;2950:33;;2296:693;-1:-1:-1;;2296:693:151:o;2994:260::-;3062:6;3070;3123:2;3111:9;3102:7;3098:23;3094:32;3091:52;;;3139:1;3136;3129:12;3091:52;3162:29;3181:9;3162:29;:::i;:::-;3152:39;;3210:38;3244:2;3233:9;3229:18;3210:38;:::i;:::-;3200:48;;2994:260;;;;;:::o;3259:437::-;3338:1;3334:12;;;;3381;;;3402:61;;3456:4;3448:6;3444:17;3434:27;;3402:61;3509:2;3501:6;3498:14;3478:18;3475:38;3472:218;;3546:77;3543:1;3536:88;3647:4;3644:1;3637:15;3675:4;3672:1;3665:15;3472:218;;3259:437;;;:::o","linkReferences":{}},"methodIdentifiers":{"DOMAIN_SEPARATOR()":"3644e515","allowance(address,address)":"dd62ed3e","approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","burn(address,uint256)":"9dc29fac","decimals()":"313ce567","decreaseAllowance(address,uint256)":"a457c2d7","directSpendAllowance(address,address,uint256)":"d30ed3b3","directTransfer(address,address,uint256)":"f83d1791","increaseAllowance(address,uint256)":"39509351","mint(address,uint256)":"40c10f19","name()":"06fdde03","nonces(address)":"7ecebe00","permit(address,address,uint256,uint256,uint8,bytes32,bytes32)":"d505accf","symbol()":"95d89b41","totalSupply()":"18160ddd","transfer(address,uint256)":"a9059cbb","transferFrom(address,address,uint256)":"23b872dd"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name_\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"symbol_\",\"type\":\"string\"},{\"internalType\":\"uint8\",\"name\":\"decimals_\",\"type\":\"uint8\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"AllowanceOverflow\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"AllowanceUnderflow\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InsufficientAllowance\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InsufficientBalance\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidPermit\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"PermitExpired\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TotalSupplyOverflow\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"DOMAIN_SEPARATOR\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"result\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"result\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"result\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"burn\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"difference\",\"type\":\"uint256\"}],\"name\":\"decreaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"directSpendAllowance\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"directTransfer\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"difference\",\"type\":\"uint256\"}],\"name\":\"increaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"mint\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"nonces\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"result\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"name\":\"permit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"result\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"WARNING! This mock is strictly intended for testing purposes only. Do NOT copy anything here into production code unless you really know what you are doing.\",\"errors\":{\"AllowanceOverflow()\":[{\"details\":\"The allowance has overflowed.\"}],\"AllowanceUnderflow()\":[{\"details\":\"The allowance has underflowed.\"}],\"InsufficientAllowance()\":[{\"details\":\"Insufficient allowance.\"}],\"InsufficientBalance()\":[{\"details\":\"Insufficient balance.\"}],\"InvalidPermit()\":[{\"details\":\"The permit is invalid.\"}],\"PermitExpired()\":[{\"details\":\"The permit has expired.\"}],\"TotalSupplyOverflow()\":[{\"details\":\"The total supply has overflowed.\"}]},\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when `amount` tokens is approved by `owner` to be used by `spender`.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `amount` tokens is transferred from `from` to `to`.\"}},\"kind\":\"dev\",\"methods\":{\"DOMAIN_SEPARATOR()\":{\"details\":\"Returns the EIP-2612 domains separator.\"},\"allowance(address,address)\":{\"details\":\"Returns the amount of tokens that `spender` can spend on behalf of `owner`.\"},\"approve(address,uint256)\":{\"details\":\"Sets `amount` as the allowance of `spender` over the caller's tokens. Emits a {Approval} event.\"},\"balanceOf(address)\":{\"details\":\"Returns the amount of tokens owned by `owner`.\"},\"decimals()\":{\"details\":\"Returns the decimals places of the token.\"},\"decreaseAllowance(address,uint256)\":{\"details\":\"Atomically decreases the allowance granted to `spender` by the caller. Emits a {Approval} event.\"},\"increaseAllowance(address,uint256)\":{\"details\":\"Atomically increases the allowance granted to `spender` by the caller. Emits a {Approval} event.\"},\"name()\":{\"details\":\"Returns the name of the token.\"},\"nonces(address)\":{\"details\":\"Returns the current nonce for `owner`. This value is used to compute the signature for EIP-2612 permit.\"},\"permit(address,address,uint256,uint256,uint8,bytes32,bytes32)\":{\"details\":\"Sets `value` as the allowance of `spender` over the tokens of `owner`, authorized by a signed approval by `owner`. Emits a {Approval} event.\"},\"symbol()\":{\"details\":\"Returns the symbol of the token.\"},\"totalSupply()\":{\"details\":\"Returns the amount of tokens in existence.\"},\"transfer(address,uint256)\":{\"details\":\"Transfer `amount` tokens from the caller to `to`. Requirements: - `from` must at least have `amount`. Emits a {Transfer} event.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"Transfers `amount` tokens from `from` to `to`. Note: Does not update the allowance if it is the maximum uint256 value. Requirements: - `from` must at least have `amount`. - The caller must have at least `amount` of allowance to transfer the tokens of `from`. Emits a {Transfer} event.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"pkg/contracts/test/shared/TERC20.sol\":\"TERC20\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1000},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-contracts/=lib/safe-contracts/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"]},\"sources\":{\"lib/allo-v2/lib/solady/src/tokens/ERC20.sol\":{\"keccak256\":\"0x264e4675697d05dfb9bbe9cc91c6bda7962d934f1e940336fd75d509b7f396c4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5856338689f03f36c057203c5085243e104b8487274432062ebf076b512edeea\",\"dweb:/ipfs/QmXrqgaWQikKkHfoBkYPxeMTJWUY5uf7kSmipNbpU35XwK\"]},\"pkg/contracts/test/shared/TERC20.sol\":{\"keccak256\":\"0x7a3566e91c7786a40ba285537a64e7caec4296217aa2c8a9fb31e7068b8bc9f9\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://7c695a59c6608de5b03aeb951a08a7958b7e7f448ad604ece0cb5fa8d4165b1e\",\"dweb:/ipfs/QmewXQxNZhEtyJHtpPmqtSAWJh7BeTa3Gi5AFFEUBvVAuq\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"string","name":"name_","type":"string"},{"internalType":"string","name":"symbol_","type":"string"},{"internalType":"uint8","name":"decimals_","type":"uint8"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"type":"error","name":"AllowanceOverflow"},{"inputs":[],"type":"error","name":"AllowanceUnderflow"},{"inputs":[],"type":"error","name":"InsufficientAllowance"},{"inputs":[],"type":"error","name":"InsufficientBalance"},{"inputs":[],"type":"error","name":"InvalidPermit"},{"inputs":[],"type":"error","name":"PermitExpired"},{"inputs":[],"type":"error","name":"TotalSupplyOverflow"},{"inputs":[{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"address","name":"spender","type":"address","indexed":true},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false}],"type":"event","name":"Approval","anonymous":false},{"inputs":[{"internalType":"address","name":"from","type":"address","indexed":true},{"internalType":"address","name":"to","type":"address","indexed":true},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false}],"type":"event","name":"Transfer","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"DOMAIN_SEPARATOR","outputs":[{"internalType":"bytes32","name":"result","type":"bytes32"}]},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"stateMutability":"view","type":"function","name":"allowance","outputs":[{"internalType":"uint256","name":"result","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"stateMutability":"view","type":"function","name":"balanceOf","outputs":[{"internalType":"uint256","name":"result","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"burn"},{"inputs":[],"stateMutability":"view","type":"function","name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}]},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"difference","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"directSpendAllowance"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"directTransfer"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"difference","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"mint"},{"inputs":[],"stateMutability":"view","type":"function","name":"name","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"stateMutability":"view","type":"function","name":"nonces","outputs":[{"internalType":"uint256","name":"result","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"uint256","name":"deadline","type":"uint256"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"permit"},{"inputs":[],"stateMutability":"view","type":"function","name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"totalSupply","outputs":[{"internalType":"uint256","name":"result","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}]}],"devdoc":{"kind":"dev","methods":{"DOMAIN_SEPARATOR()":{"details":"Returns the EIP-2612 domains separator."},"allowance(address,address)":{"details":"Returns the amount of tokens that `spender` can spend on behalf of `owner`."},"approve(address,uint256)":{"details":"Sets `amount` as the allowance of `spender` over the caller's tokens. Emits a {Approval} event."},"balanceOf(address)":{"details":"Returns the amount of tokens owned by `owner`."},"decimals()":{"details":"Returns the decimals places of the token."},"decreaseAllowance(address,uint256)":{"details":"Atomically decreases the allowance granted to `spender` by the caller. Emits a {Approval} event."},"increaseAllowance(address,uint256)":{"details":"Atomically increases the allowance granted to `spender` by the caller. Emits a {Approval} event."},"name()":{"details":"Returns the name of the token."},"nonces(address)":{"details":"Returns the current nonce for `owner`. This value is used to compute the signature for EIP-2612 permit."},"permit(address,address,uint256,uint256,uint8,bytes32,bytes32)":{"details":"Sets `value` as the allowance of `spender` over the tokens of `owner`, authorized by a signed approval by `owner`. Emits a {Approval} event."},"symbol()":{"details":"Returns the symbol of the token."},"totalSupply()":{"details":"Returns the amount of tokens in existence."},"transfer(address,uint256)":{"details":"Transfer `amount` tokens from the caller to `to`. Requirements: - `from` must at least have `amount`. Emits a {Transfer} event."},"transferFrom(address,address,uint256)":{"details":"Transfers `amount` tokens from `from` to `to`. Note: Does not update the allowance if it is the maximum uint256 value. Requirements: - `from` must at least have `amount`. - The caller must have at least `amount` of allowance to transfer the tokens of `from`. Emits a {Transfer} event."}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-contracts/=lib/safe-contracts/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":1000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"pkg/contracts/test/shared/TERC20.sol":"TERC20"},"evmVersion":"paris","libraries":{}},"sources":{"lib/allo-v2/lib/solady/src/tokens/ERC20.sol":{"keccak256":"0x264e4675697d05dfb9bbe9cc91c6bda7962d934f1e940336fd75d509b7f396c4","urls":["bzz-raw://5856338689f03f36c057203c5085243e104b8487274432062ebf076b512edeea","dweb:/ipfs/QmXrqgaWQikKkHfoBkYPxeMTJWUY5uf7kSmipNbpU35XwK"],"license":"MIT"},"pkg/contracts/test/shared/TERC20.sol":{"keccak256":"0x7a3566e91c7786a40ba285537a64e7caec4296217aa2c8a9fb31e7068b8bc9f9","urls":["bzz-raw://7c695a59c6608de5b03aeb951a08a7958b7e7f448ad604ece0cb5fa8d4165b1e","dweb:/ipfs/QmewXQxNZhEtyJHtpPmqtSAWJh7BeTa3Gi5AFFEUBvVAuq"],"license":"AGPL-3.0-only"}},"version":1},"storageLayout":{"storage":[{"astId":118864,"contract":"pkg/contracts/test/shared/TERC20.sol:TERC20","label":"_name","offset":0,"slot":"0","type":"t_string_storage"},{"astId":118866,"contract":"pkg/contracts/test/shared/TERC20.sol:TERC20","label":"_symbol","offset":0,"slot":"1","type":"t_string_storage"},{"astId":118868,"contract":"pkg/contracts/test/shared/TERC20.sol:TERC20","label":"_decimals","offset":0,"slot":"2","type":"t_uint8"}],"types":{"t_string_storage":{"encoding":"bytes","label":"string","numberOfBytes":"32"},"t_uint8":{"encoding":"inplace","label":"uint8","numberOfBytes":"1"}}},"ast":{"absolutePath":"pkg/contracts/test/shared/TERC20.sol","id":119079,"exportedSymbols":{"ERC20":[4491],"TERC20":[119078]},"nodeType":"SourceUnit","src":"42:2334:150","nodes":[{"id":118857,"nodeType":"PragmaDirective","src":"42:24:150","nodes":[],"literals":["solidity","^","0.8",".19"]},{"id":118859,"nodeType":"ImportDirective","src":"68:50:150","nodes":[],"absolutePath":"lib/allo-v2/lib/solady/src/tokens/ERC20.sol","file":"solady/src/tokens/ERC20.sol","nameLocation":"-1:-1:-1","scope":119079,"sourceUnit":4492,"symbolAliases":[{"foreign":{"id":118858,"name":"ERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4491,"src":"76:5:150","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":119078,"nodeType":"ContractDefinition","src":"290:2085:150","nodes":[{"id":118864,"nodeType":"VariableDeclaration","src":"321:21:150","nodes":[],"constant":false,"mutability":"mutable","name":"_name","nameLocation":"337:5:150","scope":119078,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string"},"typeName":{"id":118863,"name":"string","nodeType":"ElementaryTypeName","src":"321:6:150","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"id":118866,"nodeType":"VariableDeclaration","src":"348:23:150","nodes":[],"constant":false,"mutability":"mutable","name":"_symbol","nameLocation":"364:7:150","scope":119078,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string"},"typeName":{"id":118865,"name":"string","nodeType":"ElementaryTypeName","src":"348:6:150","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"id":118868,"nodeType":"VariableDeclaration","src":"377:24:150","nodes":[],"constant":false,"mutability":"mutable","name":"_decimals","nameLocation":"392:9:150","scope":119078,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":118867,"name":"uint8","nodeType":"ElementaryTypeName","src":"377:5:150","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"id":118890,"nodeType":"FunctionDefinition","src":"408:161:150","nodes":[],"body":{"id":118889,"nodeType":"Block","src":"481:88:150","nodes":[],"statements":[{"expression":{"id":118879,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":118877,"name":"_name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":118864,"src":"491:5:150","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":118878,"name":"name_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":118870,"src":"499:5:150","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"491:13:150","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"id":118880,"nodeType":"ExpressionStatement","src":"491:13:150"},{"expression":{"id":118883,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":118881,"name":"_symbol","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":118866,"src":"514:7:150","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":118882,"name":"symbol_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":118872,"src":"524:7:150","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"514:17:150","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"id":118884,"nodeType":"ExpressionStatement","src":"514:17:150"},{"expression":{"id":118887,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":118885,"name":"_decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":118868,"src":"541:9:150","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":118886,"name":"decimals_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":118874,"src":"553:9:150","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"541:21:150","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":118888,"nodeType":"ExpressionStatement","src":"541:21:150"}]},"implemented":true,"kind":"constructor","modifiers":[],"name":"","nameLocation":"-1:-1:-1","parameters":{"id":118875,"nodeType":"ParameterList","parameters":[{"constant":false,"id":118870,"mutability":"mutable","name":"name_","nameLocation":"434:5:150","nodeType":"VariableDeclaration","scope":118890,"src":"420:19:150","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":118869,"name":"string","nodeType":"ElementaryTypeName","src":"420:6:150","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":118872,"mutability":"mutable","name":"symbol_","nameLocation":"455:7:150","nodeType":"VariableDeclaration","scope":118890,"src":"441:21:150","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":118871,"name":"string","nodeType":"ElementaryTypeName","src":"441:6:150","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":118874,"mutability":"mutable","name":"decimals_","nameLocation":"470:9:150","nodeType":"VariableDeclaration","scope":118890,"src":"464:15:150","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":118873,"name":"uint8","nodeType":"ElementaryTypeName","src":"464:5:150","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"419:61:150"},"returnParameters":{"id":118876,"nodeType":"ParameterList","parameters":[],"src":"481:0:150"},"scope":119078,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":118899,"nodeType":"FunctionDefinition","src":"575:98:150","nodes":[],"body":{"id":118898,"nodeType":"Block","src":"644:29:150","nodes":[],"statements":[{"expression":{"id":118896,"name":"_name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":118864,"src":"661:5:150","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"functionReturnParameters":118895,"id":118897,"nodeType":"Return","src":"654:12:150"}]},"baseFunctions":[4167],"functionSelector":"06fdde03","implemented":true,"kind":"function","modifiers":[],"name":"name","nameLocation":"584:4:150","overrides":{"id":118892,"nodeType":"OverrideSpecifier","overrides":[],"src":"611:8:150"},"parameters":{"id":118891,"nodeType":"ParameterList","parameters":[],"src":"588:2:150"},"returnParameters":{"id":118895,"nodeType":"ParameterList","parameters":[{"constant":false,"id":118894,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":118899,"src":"629:13:150","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":118893,"name":"string","nodeType":"ElementaryTypeName","src":"629:6:150","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"628:15:150"},"scope":119078,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":118908,"nodeType":"FunctionDefinition","src":"679:102:150","nodes":[],"body":{"id":118907,"nodeType":"Block","src":"750:31:150","nodes":[],"statements":[{"expression":{"id":118905,"name":"_symbol","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":118866,"src":"767:7:150","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"functionReturnParameters":118904,"id":118906,"nodeType":"Return","src":"760:14:150"}]},"baseFunctions":[4173],"functionSelector":"95d89b41","implemented":true,"kind":"function","modifiers":[],"name":"symbol","nameLocation":"688:6:150","overrides":{"id":118901,"nodeType":"OverrideSpecifier","overrides":[],"src":"717:8:150"},"parameters":{"id":118900,"nodeType":"ParameterList","parameters":[],"src":"694:2:150"},"returnParameters":{"id":118904,"nodeType":"ParameterList","parameters":[{"constant":false,"id":118903,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":118908,"src":"735:13:150","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":118902,"name":"string","nodeType":"ElementaryTypeName","src":"735:6:150","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"734:15:150"},"scope":119078,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":118917,"nodeType":"FunctionDefinition","src":"787:98:150","nodes":[],"body":{"id":118916,"nodeType":"Block","src":"852:33:150","nodes":[],"statements":[{"expression":{"id":118914,"name":"_decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":118868,"src":"869:9:150","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"functionReturnParameters":118913,"id":118915,"nodeType":"Return","src":"862:16:150"}]},"baseFunctions":[4182],"functionSelector":"313ce567","implemented":true,"kind":"function","modifiers":[],"name":"decimals","nameLocation":"796:8:150","overrides":{"id":118910,"nodeType":"OverrideSpecifier","overrides":[],"src":"827:8:150"},"parameters":{"id":118909,"nodeType":"ParameterList","parameters":[],"src":"804:2:150"},"returnParameters":{"id":118913,"nodeType":"ParameterList","parameters":[{"constant":false,"id":118912,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":118917,"src":"845:5:150","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":118911,"name":"uint8","nodeType":"ElementaryTypeName","src":"845:5:150","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"844:7:150"},"scope":119078,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":118932,"nodeType":"FunctionDefinition","src":"891:102:150","nodes":[],"body":{"id":118931,"nodeType":"Block","src":"947:46:150","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":118926,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":118919,"src":"975:2:150","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":118925,"name":"_brutalized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":119077,"src":"963:11:150","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_address_$","typeString":"function (address) view returns (address)"}},"id":118927,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"963:15:150","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":118928,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":118921,"src":"980:5:150","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":118924,"name":"_mint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4392,"src":"957:5:150","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":118929,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"957:29:150","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":118930,"nodeType":"ExpressionStatement","src":"957:29:150"}]},"functionSelector":"40c10f19","implemented":true,"kind":"function","modifiers":[],"name":"mint","nameLocation":"900:4:150","parameters":{"id":118922,"nodeType":"ParameterList","parameters":[{"constant":false,"id":118919,"mutability":"mutable","name":"to","nameLocation":"913:2:150","nodeType":"VariableDeclaration","scope":118932,"src":"905:10:150","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":118918,"name":"address","nodeType":"ElementaryTypeName","src":"905:7:150","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":118921,"mutability":"mutable","name":"value","nameLocation":"925:5:150","nodeType":"VariableDeclaration","scope":118932,"src":"917:13:150","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":118920,"name":"uint256","nodeType":"ElementaryTypeName","src":"917:7:150","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"904:27:150"},"returnParameters":{"id":118923,"nodeType":"ParameterList","parameters":[],"src":"947:0:150"},"scope":119078,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":118947,"nodeType":"FunctionDefinition","src":"999:106:150","nodes":[],"body":{"id":118946,"nodeType":"Block","src":"1057:48:150","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":118941,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":118934,"src":"1085:4:150","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":118940,"name":"_brutalized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":119077,"src":"1073:11:150","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_address_$","typeString":"function (address) view returns (address)"}},"id":118942,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1073:17:150","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":118943,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":118936,"src":"1092:5:150","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":118939,"name":"_burn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4420,"src":"1067:5:150","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":118944,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1067:31:150","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":118945,"nodeType":"ExpressionStatement","src":"1067:31:150"}]},"functionSelector":"9dc29fac","implemented":true,"kind":"function","modifiers":[],"name":"burn","nameLocation":"1008:4:150","parameters":{"id":118937,"nodeType":"ParameterList","parameters":[{"constant":false,"id":118934,"mutability":"mutable","name":"from","nameLocation":"1021:4:150","nodeType":"VariableDeclaration","scope":118947,"src":"1013:12:150","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":118933,"name":"address","nodeType":"ElementaryTypeName","src":"1013:7:150","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":118936,"mutability":"mutable","name":"value","nameLocation":"1035:5:150","nodeType":"VariableDeclaration","scope":118947,"src":"1027:13:150","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":118935,"name":"uint256","nodeType":"ElementaryTypeName","src":"1027:7:150","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1012:29:150"},"returnParameters":{"id":118938,"nodeType":"ParameterList","parameters":[],"src":"1057:0:150"},"scope":119078,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":118967,"nodeType":"FunctionDefinition","src":"1111:151:150","nodes":[],"body":{"id":118966,"nodeType":"Block","src":"1192:70:150","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":118958,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":118949,"src":"1224:4:150","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":118957,"name":"_brutalized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":119077,"src":"1212:11:150","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_address_$","typeString":"function (address) view returns (address)"}},"id":118959,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1212:17:150","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":118961,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":118951,"src":"1243:2:150","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":118960,"name":"_brutalized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":119077,"src":"1231:11:150","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_address_$","typeString":"function (address) view returns (address)"}},"id":118962,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1231:15:150","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":118963,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":118953,"src":"1248:6:150","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":118956,"name":"_transfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4444,"src":"1202:9:150","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":118964,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1202:53:150","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":118965,"nodeType":"ExpressionStatement","src":"1202:53:150"}]},"functionSelector":"f83d1791","implemented":true,"kind":"function","modifiers":[],"name":"directTransfer","nameLocation":"1120:14:150","parameters":{"id":118954,"nodeType":"ParameterList","parameters":[{"constant":false,"id":118949,"mutability":"mutable","name":"from","nameLocation":"1143:4:150","nodeType":"VariableDeclaration","scope":118967,"src":"1135:12:150","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":118948,"name":"address","nodeType":"ElementaryTypeName","src":"1135:7:150","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":118951,"mutability":"mutable","name":"to","nameLocation":"1157:2:150","nodeType":"VariableDeclaration","scope":118967,"src":"1149:10:150","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":118950,"name":"address","nodeType":"ElementaryTypeName","src":"1149:7:150","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":118953,"mutability":"mutable","name":"amount","nameLocation":"1169:6:150","nodeType":"VariableDeclaration","scope":118967,"src":"1161:14:150","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":118952,"name":"uint256","nodeType":"ElementaryTypeName","src":"1161:7:150","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1134:42:150"},"returnParameters":{"id":118955,"nodeType":"ParameterList","parameters":[],"src":"1192:0:150"},"scope":119078,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":118987,"nodeType":"FunctionDefinition","src":"1268:175:150","nodes":[],"body":{"id":118986,"nodeType":"Block","src":"1361:82:150","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":118978,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":118969,"src":"1399:5:150","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":118977,"name":"_brutalized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":119077,"src":"1387:11:150","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_address_$","typeString":"function (address) view returns (address)"}},"id":118979,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1387:18:150","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":118981,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":118971,"src":"1419:7:150","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":118980,"name":"_brutalized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":119077,"src":"1407:11:150","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_address_$","typeString":"function (address) view returns (address)"}},"id":118982,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1407:20:150","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":118983,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":118973,"src":"1429:6:150","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":118976,"name":"_spendAllowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4456,"src":"1371:15:150","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":118984,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1371:65:150","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":118985,"nodeType":"ExpressionStatement","src":"1371:65:150"}]},"functionSelector":"d30ed3b3","implemented":true,"kind":"function","modifiers":[],"name":"directSpendAllowance","nameLocation":"1277:20:150","parameters":{"id":118974,"nodeType":"ParameterList","parameters":[{"constant":false,"id":118969,"mutability":"mutable","name":"owner","nameLocation":"1306:5:150","nodeType":"VariableDeclaration","scope":118987,"src":"1298:13:150","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":118968,"name":"address","nodeType":"ElementaryTypeName","src":"1298:7:150","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":118971,"mutability":"mutable","name":"spender","nameLocation":"1321:7:150","nodeType":"VariableDeclaration","scope":118987,"src":"1313:15:150","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":118970,"name":"address","nodeType":"ElementaryTypeName","src":"1313:7:150","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":118973,"mutability":"mutable","name":"amount","nameLocation":"1338:6:150","nodeType":"VariableDeclaration","scope":118987,"src":"1330:14:150","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":118972,"name":"uint256","nodeType":"ElementaryTypeName","src":"1330:7:150","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1297:48:150"},"returnParameters":{"id":118975,"nodeType":"ParameterList","parameters":[],"src":"1361:0:150"},"scope":119078,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":119006,"nodeType":"FunctionDefinition","src":"1449:148:150","nodes":[],"body":{"id":119005,"nodeType":"Block","src":"1534:63:150","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":119000,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":118989,"src":"1578:2:150","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":118999,"name":"_brutalized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":119077,"src":"1566:11:150","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_address_$","typeString":"function (address) view returns (address)"}},"id":119001,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1566:15:150","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":119002,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":118991,"src":"1583:6:150","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":118997,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"1551:5:150","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_TERC20_$119078_$","typeString":"type(contract super TERC20)"}},"id":118998,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1557:8:150","memberName":"transfer","nodeType":"MemberAccess","referencedDeclaration":4282,"src":"1551:14:150","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) returns (bool)"}},"id":119003,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1551:39:150","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":118996,"id":119004,"nodeType":"Return","src":"1544:46:150"}]},"baseFunctions":[4282],"functionSelector":"a9059cbb","implemented":true,"kind":"function","modifiers":[],"name":"transfer","nameLocation":"1458:8:150","overrides":{"id":118993,"nodeType":"OverrideSpecifier","overrides":[],"src":"1510:8:150"},"parameters":{"id":118992,"nodeType":"ParameterList","parameters":[{"constant":false,"id":118989,"mutability":"mutable","name":"to","nameLocation":"1475:2:150","nodeType":"VariableDeclaration","scope":119006,"src":"1467:10:150","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":118988,"name":"address","nodeType":"ElementaryTypeName","src":"1467:7:150","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":118991,"mutability":"mutable","name":"amount","nameLocation":"1487:6:150","nodeType":"VariableDeclaration","scope":119006,"src":"1479:14:150","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":118990,"name":"uint256","nodeType":"ElementaryTypeName","src":"1479:7:150","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1466:28:150"},"returnParameters":{"id":118996,"nodeType":"ParameterList","parameters":[{"constant":false,"id":118995,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":119006,"src":"1528:4:150","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":118994,"name":"bool","nodeType":"ElementaryTypeName","src":"1528:4:150","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1527:6:150"},"scope":119078,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":119030,"nodeType":"FunctionDefinition","src":"1603:189:150","nodes":[],"body":{"id":119029,"nodeType":"Block","src":"1706:86:150","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":119021,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":119008,"src":"1754:4:150","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":119020,"name":"_brutalized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":119077,"src":"1742:11:150","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_address_$","typeString":"function (address) view returns (address)"}},"id":119022,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1742:17:150","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":119024,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":119010,"src":"1773:2:150","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":119023,"name":"_brutalized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":119077,"src":"1761:11:150","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_address_$","typeString":"function (address) view returns (address)"}},"id":119025,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1761:15:150","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":119026,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":119012,"src":"1778:6:150","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":119018,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"1723:5:150","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_TERC20_$119078_$","typeString":"type(contract super TERC20)"}},"id":119019,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1729:12:150","memberName":"transferFrom","nodeType":"MemberAccess","referencedDeclaration":4310,"src":"1723:18:150","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,address,uint256) returns (bool)"}},"id":119027,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1723:62:150","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":119017,"id":119028,"nodeType":"Return","src":"1716:69:150"}]},"baseFunctions":[4310],"functionSelector":"23b872dd","implemented":true,"kind":"function","modifiers":[],"name":"transferFrom","nameLocation":"1612:12:150","overrides":{"id":119014,"nodeType":"OverrideSpecifier","overrides":[],"src":"1682:8:150"},"parameters":{"id":119013,"nodeType":"ParameterList","parameters":[{"constant":false,"id":119008,"mutability":"mutable","name":"from","nameLocation":"1633:4:150","nodeType":"VariableDeclaration","scope":119030,"src":"1625:12:150","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":119007,"name":"address","nodeType":"ElementaryTypeName","src":"1625:7:150","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":119010,"mutability":"mutable","name":"to","nameLocation":"1647:2:150","nodeType":"VariableDeclaration","scope":119030,"src":"1639:10:150","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":119009,"name":"address","nodeType":"ElementaryTypeName","src":"1639:7:150","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":119012,"mutability":"mutable","name":"amount","nameLocation":"1659:6:150","nodeType":"VariableDeclaration","scope":119030,"src":"1651:14:150","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":119011,"name":"uint256","nodeType":"ElementaryTypeName","src":"1651:7:150","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1624:42:150"},"returnParameters":{"id":119017,"nodeType":"ParameterList","parameters":[{"constant":false,"id":119016,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":119030,"src":"1700:4:150","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":119015,"name":"bool","nodeType":"ElementaryTypeName","src":"1700:4:150","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1699:6:150"},"scope":119078,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":119049,"nodeType":"FunctionDefinition","src":"1798:184:150","nodes":[],"body":{"id":119048,"nodeType":"Block","src":"1901:81:150","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":119043,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":119032,"src":"1954:7:150","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":119042,"name":"_brutalized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":119077,"src":"1942:11:150","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_address_$","typeString":"function (address) view returns (address)"}},"id":119044,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1942:20:150","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":119045,"name":"difference","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":119034,"src":"1964:10:150","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":119040,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"1918:5:150","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_TERC20_$119078_$","typeString":"type(contract super TERC20)"}},"id":119041,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1924:17:150","memberName":"increaseAllowance","nodeType":"MemberAccess","referencedDeclaration":4240,"src":"1918:23:150","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) returns (bool)"}},"id":119046,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1918:57:150","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":119039,"id":119047,"nodeType":"Return","src":"1911:64:150"}]},"baseFunctions":[4240],"functionSelector":"39509351","implemented":true,"kind":"function","modifiers":[],"name":"increaseAllowance","nameLocation":"1807:17:150","overrides":{"id":119036,"nodeType":"OverrideSpecifier","overrides":[],"src":"1877:8:150"},"parameters":{"id":119035,"nodeType":"ParameterList","parameters":[{"constant":false,"id":119032,"mutability":"mutable","name":"spender","nameLocation":"1833:7:150","nodeType":"VariableDeclaration","scope":119049,"src":"1825:15:150","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":119031,"name":"address","nodeType":"ElementaryTypeName","src":"1825:7:150","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":119034,"mutability":"mutable","name":"difference","nameLocation":"1850:10:150","nodeType":"VariableDeclaration","scope":119049,"src":"1842:18:150","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":119033,"name":"uint256","nodeType":"ElementaryTypeName","src":"1842:7:150","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1824:37:150"},"returnParameters":{"id":119039,"nodeType":"ParameterList","parameters":[{"constant":false,"id":119038,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":119049,"src":"1895:4:150","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":119037,"name":"bool","nodeType":"ElementaryTypeName","src":"1895:4:150","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1894:6:150"},"scope":119078,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":119068,"nodeType":"FunctionDefinition","src":"1988:184:150","nodes":[],"body":{"id":119067,"nodeType":"Block","src":"2091:81:150","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":119062,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":119051,"src":"2144:7:150","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":119061,"name":"_brutalized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":119077,"src":"2132:11:150","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_address_$","typeString":"function (address) view returns (address)"}},"id":119063,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2132:20:150","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":119064,"name":"difference","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":119053,"src":"2154:10:150","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":119059,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"2108:5:150","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_TERC20_$119078_$","typeString":"type(contract super TERC20)"}},"id":119060,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2114:17:150","memberName":"decreaseAllowance","nodeType":"MemberAccess","referencedDeclaration":4254,"src":"2108:23:150","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) returns (bool)"}},"id":119065,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2108:57:150","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":119058,"id":119066,"nodeType":"Return","src":"2101:64:150"}]},"baseFunctions":[4254],"functionSelector":"a457c2d7","implemented":true,"kind":"function","modifiers":[],"name":"decreaseAllowance","nameLocation":"1997:17:150","overrides":{"id":119055,"nodeType":"OverrideSpecifier","overrides":[],"src":"2067:8:150"},"parameters":{"id":119054,"nodeType":"ParameterList","parameters":[{"constant":false,"id":119051,"mutability":"mutable","name":"spender","nameLocation":"2023:7:150","nodeType":"VariableDeclaration","scope":119068,"src":"2015:15:150","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":119050,"name":"address","nodeType":"ElementaryTypeName","src":"2015:7:150","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":119053,"mutability":"mutable","name":"difference","nameLocation":"2040:10:150","nodeType":"VariableDeclaration","scope":119068,"src":"2032:18:150","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":119052,"name":"uint256","nodeType":"ElementaryTypeName","src":"2032:7:150","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2014:37:150"},"returnParameters":{"id":119058,"nodeType":"ParameterList","parameters":[{"constant":false,"id":119057,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":119068,"src":"2085:4:150","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":119056,"name":"bool","nodeType":"ElementaryTypeName","src":"2085:4:150","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"2084:6:150"},"scope":119078,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":119077,"nodeType":"FunctionDefinition","src":"2178:195:150","nodes":[],"body":{"id":119076,"nodeType":"Block","src":"2249:124:150","nodes":[],"statements":[{"AST":{"nodeType":"YulBlock","src":"2311:56:150","statements":[{"nodeType":"YulAssignment","src":"2325:32:150","value":{"arguments":[{"name":"a","nodeType":"YulIdentifier","src":"2338:1:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2345:3:150","type":"","value":"160"},{"arguments":[],"functionName":{"name":"gas","nodeType":"YulIdentifier","src":"2350:3:150"},"nodeType":"YulFunctionCall","src":"2350:5:150"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"2341:3:150"},"nodeType":"YulFunctionCall","src":"2341:15:150"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"2335:2:150"},"nodeType":"YulFunctionCall","src":"2335:22:150"},"variableNames":[{"name":"result","nodeType":"YulIdentifier","src":"2325:6:150"}]}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"paris","externalReferences":[{"declaration":119070,"isOffset":false,"isSlot":false,"src":"2338:1:150","valueSize":1},{"declaration":119073,"isOffset":false,"isSlot":false,"src":"2325:6:150","valueSize":1}],"id":119075,"nodeType":"InlineAssembly","src":"2302:65:150"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_brutalized","nameLocation":"2187:11:150","parameters":{"id":119071,"nodeType":"ParameterList","parameters":[{"constant":false,"id":119070,"mutability":"mutable","name":"a","nameLocation":"2207:1:150","nodeType":"VariableDeclaration","scope":119077,"src":"2199:9:150","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":119069,"name":"address","nodeType":"ElementaryTypeName","src":"2199:7:150","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2198:11:150"},"returnParameters":{"id":119074,"nodeType":"ParameterList","parameters":[{"constant":false,"id":119073,"mutability":"mutable","name":"result","nameLocation":"2241:6:150","nodeType":"VariableDeclaration","scope":119077,"src":"2233:14:150","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":119072,"name":"address","nodeType":"ElementaryTypeName","src":"2233:7:150","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2232:16:150"},"scope":119078,"stateMutability":"view","virtual":false,"visibility":"internal"}],"abstract":false,"baseContracts":[{"baseName":{"id":118861,"name":"ERC20","nameLocations":["309:5:150"],"nodeType":"IdentifierPath","referencedDeclaration":4491,"src":"309:5:150"},"id":118862,"nodeType":"InheritanceSpecifier","src":"309:5:150"}],"canonicalName":"TERC20","contractDependencies":[],"contractKind":"contract","documentation":{"id":118860,"nodeType":"StructuredDocumentation","src":"120:170:150","text":"@dev WARNING! This mock is strictly intended for testing purposes only.\n Do NOT copy anything here into production code unless you really know what you are doing."},"fullyImplemented":true,"linearizedBaseContracts":[119078,4491],"name":"TERC20","nameLocation":"299:6:150","scope":119079,"usedErrors":[4101,4104,4107,4110,4113,4116,4119]}],"license":"AGPL-3.0-only"},"id":150} \ No newline at end of file +{"abi":[{"type":"constructor","inputs":[{"name":"name_","type":"string","internalType":"string"},{"name":"symbol_","type":"string","internalType":"string"},{"name":"decimals_","type":"uint8","internalType":"uint8"}],"stateMutability":"nonpayable"},{"type":"function","name":"DOMAIN_SEPARATOR","inputs":[],"outputs":[{"name":"result","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"allowance","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"spender","type":"address","internalType":"address"}],"outputs":[{"name":"result","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"approve","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"balanceOf","inputs":[{"name":"owner","type":"address","internalType":"address"}],"outputs":[{"name":"result","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"burn","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"decimals","inputs":[],"outputs":[{"name":"","type":"uint8","internalType":"uint8"}],"stateMutability":"view"},{"type":"function","name":"decreaseAllowance","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"difference","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"directSpendAllowance","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"spender","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"directTransfer","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"increaseAllowance","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"difference","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"mint","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"name","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"nonces","inputs":[{"name":"owner","type":"address","internalType":"address"}],"outputs":[{"name":"result","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"permit","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"spender","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"},{"name":"deadline","type":"uint256","internalType":"uint256"},{"name":"v","type":"uint8","internalType":"uint8"},{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"s","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"symbol","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"totalSupply","inputs":[],"outputs":[{"name":"result","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"transfer","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"transferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"event","name":"Approval","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"spender","type":"address","indexed":true,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Transfer","inputs":[{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"to","type":"address","indexed":true,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"error","name":"AllowanceOverflow","inputs":[]},{"type":"error","name":"AllowanceUnderflow","inputs":[]},{"type":"error","name":"InsufficientAllowance","inputs":[]},{"type":"error","name":"InsufficientBalance","inputs":[]},{"type":"error","name":"InvalidPermit","inputs":[]},{"type":"error","name":"PermitExpired","inputs":[]},{"type":"error","name":"TotalSupplyOverflow","inputs":[]}],"bytecode":{"object":"0x60806040523480156200001157600080fd5b5060405162000f8a38038062000f8a833981016040819052620000349162000134565b600062000042848262000248565b50600162000051838262000248565b506002805460ff191660ff9290921691909117905550620003149050565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126200009757600080fd5b81516001600160401b0380821115620000b457620000b46200006f565b604051601f8301601f19908116603f01168101908282118183101715620000df57620000df6200006f565b81604052838152602092508683858801011115620000fc57600080fd5b600091505b8382101562000120578582018301518183018401529082019062000101565b600093810190920192909252949350505050565b6000806000606084860312156200014a57600080fd5b83516001600160401b03808211156200016257600080fd5b620001708783880162000085565b945060208601519150808211156200018757600080fd5b50620001968682870162000085565b925050604084015160ff81168114620001ae57600080fd5b809150509250925092565b600181811c90821680620001ce57607f821691505b602082108103620001ef57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200024357600081815260208120601f850160051c810160208610156200021e5750805b601f850160051c820191505b818110156200023f578281556001016200022a565b5050505b505050565b81516001600160401b038111156200026457620002646200006f565b6200027c81620002758454620001b9565b84620001f5565b602080601f831160018114620002b457600084156200029b5750858301515b600019600386901b1c1916600185901b1785556200023f565b600085815260208120601f198616915b82811015620002e557888601518255948401946001909101908401620002c4565b5085821015620003045787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b610c6680620003246000396000f3fe608060405234801561001057600080fd5b50600436106101365760003560e01c80637ecebe00116100b2578063a9059cbb11610081578063d505accf11610066578063d505accf1461028e578063dd62ed3e146102a1578063f83d1791146102ca57600080fd5b8063a9059cbb14610268578063d30ed3b31461027b57600080fd5b80637ecebe001461021457806395d89b411461023a5780639dc29fac14610242578063a457c2d71461025557600080fd5b8063313ce5671161010957806339509351116100ee57806339509351146101c657806340c10f19146101d957806370a08231146101ee57600080fd5b8063313ce567146101a95780633644e515146101be57600080fd5b806306fdde031461013b578063095ea7b31461015957806318160ddd1461017c57806323b872dd14610196575b600080fd5b6101436102dd565b6040516101509190610a3f565b60405180910390f35b61016c610167366004610ab6565b61036f565b6040519015158152602001610150565b6805345cdf77eb68f44c545b604051908152602001610150565b61016c6101a4366004610ae0565b6103c2565b60025460405160ff9091168152602001610150565b6101886103e7565b61016c6101d4366004610ab6565b61045d565b6101ec6101e7366004610ab6565b610478565b005b6101886101fc366004610b1c565b6387a211a2600c908152600091909152602090205490565b610188610222366004610b1c565b6338377508600c908152600091909152602090205490565b61014361048e565b6101ec610250366004610ab6565b61049d565b61016c610263366004610ab6565b6104af565b61016c610276366004610ab6565b6104c3565b6101ec610289366004610ae0565b6104d7565b6101ec61029c366004610b37565b6104f7565b6101886102af366004610baa565b602052637f5e9f20600c908152600091909152603490205490565b6101ec6102d8366004610ae0565b610636565b6060600080546102ec90610bdd565b80601f016020809104026020016040519081016040528092919081815260200182805461031890610bdd565b80156103655780601f1061033a57610100808354040283529160200191610365565b820191906000526020600020905b81548152906001019060200180831161034857829003601f168201915b5050505050905090565b600082602052637f5e9f20600c5233600052816034600c205581600052602c5160601c337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560206000a350600192915050565b60006103df6103d085610651565b6103d985610651565b84610660565b949350505050565b60405160006103f46102dd565b80516020918201207f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f845290830152507fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6604082015246606082015230608082015260a0902090565b600061047161046b84610651565b8361071e565b9392505050565b61048a61048483610651565b82610790565b5050565b6060600180546102ec90610bdd565b61048a6104a983610651565b8261080f565b60006104716104bd84610651565b83610893565b60006104716104d184610651565b83610906565b6104f26104e384610651565b6104ec84610651565b83610981565b505050565b60006105016103e7565b90506040518542111561051c57631a15a3cc6000526004601cfd5b8860601b60601c98508760601b60601c97506338377508600c52886000526020600c2080546001810182557f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c983528a602084015289604084015288606084015280608084015250508560a08201526119016000528160205260c081206040526042601e206000528460ff1660205283604052826060526020806080600060015afa50883d51146105d45763ddafbaef6000526004601cfd5b777f5e9f20000000000000000000000000000000000000000088176040526034602c2087905587897f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925602060608501a360405250506000606052505050505050565b6104f261064284610651565b61064b84610651565b836109c4565b60005a60a01b82179050919050565b60008360601b33602052637f5e9f208117600c526034600c20805460001981146106a0578085111561069a576313be252b6000526004601cfd5b84810382555b50506387a211a28117600c526020600c208054808511156106c95763f4d678b86000526004601cfd5b84810382555050836000526020600c208381540181555082602052600c5160601c8160601c7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a3505060019392505050565b600082602052637f5e9f20600c52336000526034600c208054838101818110156107505763f90670666000526004601cfd5b80835580600052505050602c5160601c337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560206000a350600192915050565b6805345cdf77eb68f44c54818101818110156107b45763e5cfe9576000526004601cfd5b806805345cdf77eb68f44c5550506387a211a2600c52816000526020600c208181540181555080602052600c5160601c60007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a35050565b6387a211a2600c52816000526020600c208054808311156108385763f4d678b86000526004601cfd5b82900390556805345cdf77eb68f44c80548290039055600081815273ffffffffffffffffffffffffffffffffffffffff83167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602083a35050565b600082602052637f5e9f20600c52336000526034600c208054838110156108c257638301ab386000526004601cfd5b8381039050808255806000525050602c5160601c337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560206000a350600192915050565b60006387a211a2600c52336000526020600c208054808411156109315763f4d678b86000526004601cfd5b83810382555050826000526020600c208281540181555081602052600c5160601c337fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a350600192915050565b81602052637f5e9f20600c52826000526034600c20805460001981146109bd57808311156109b7576313be252b6000526004601cfd5b82810382555b5050505050565b8260601b6387a211a28117600c526020600c208054808411156109ef5763f4d678b86000526004601cfd5b83810382555050826000526020600c208281540181555081602052600c5160601c8160601c7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a350505050565b600060208083528351808285015260005b81811015610a6c57858101830151858201604001528201610a50565b506000604082860101526040601f19601f8301168501019250505092915050565b803573ffffffffffffffffffffffffffffffffffffffff81168114610ab157600080fd5b919050565b60008060408385031215610ac957600080fd5b610ad283610a8d565b946020939093013593505050565b600080600060608486031215610af557600080fd5b610afe84610a8d565b9250610b0c60208501610a8d565b9150604084013590509250925092565b600060208284031215610b2e57600080fd5b61047182610a8d565b600080600080600080600060e0888a031215610b5257600080fd5b610b5b88610a8d565b9650610b6960208901610a8d565b95506040880135945060608801359350608088013560ff81168114610b8d57600080fd5b9699959850939692959460a0840135945060c09093013592915050565b60008060408385031215610bbd57600080fd5b610bc683610a8d565b9150610bd460208401610a8d565b90509250929050565b600181811c90821680610bf157607f821691505b602082108103610c2a577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b5091905056fea264697066735822122010feb03d4837e87f16219e1013ddb9db8942d044980920eaed34a0c91049405364736f6c63430008130033","sourceMap":"290:2085:150:-:0;;;408:161;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;491:5;:13;499:5;491;:13;:::i;:::-;-1:-1:-1;514:7:150;:17;524:7;514;:17;:::i;:::-;-1:-1:-1;541:9:150;:21;;-1:-1:-1;;541:21:150;;;;;;;;;;;;-1:-1:-1;290:2085:150;;-1:-1:-1;290:2085:150;14:127:151;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:840;200:5;253:3;246:4;238:6;234:17;230:27;220:55;;271:1;268;261:12;220:55;294:13;;-1:-1:-1;;;;;356:10:151;;;353:36;;;369:18;;:::i;:::-;444:2;438:9;412:2;498:13;;-1:-1:-1;;494:22:151;;;518:2;490:31;486:40;474:53;;;542:18;;;562:22;;;539:46;536:72;;;588:18;;:::i;:::-;628:10;624:2;617:22;663:2;655:6;648:18;685:4;675:14;;730:3;725:2;720;712:6;708:15;704:24;701:33;698:53;;;747:1;744;737:12;698:53;769:1;760:10;;779:133;793:2;790:1;787:9;779:133;;;881:14;;;877:23;;871:30;850:14;;;846:23;;839:63;804:10;;;;779:133;;;954:1;932:15;;;928:24;;;921:35;;;;936:6;146:840;-1:-1:-1;;;;146:840:151:o;991:712::-;1097:6;1105;1113;1166:2;1154:9;1145:7;1141:23;1137:32;1134:52;;;1182:1;1179;1172:12;1134:52;1209:16;;-1:-1:-1;;;;;1274:14:151;;;1271:34;;;1301:1;1298;1291:12;1271:34;1324:61;1377:7;1368:6;1357:9;1353:22;1324:61;:::i;:::-;1314:71;;1431:2;1420:9;1416:18;1410:25;1394:41;;1460:2;1450:8;1447:16;1444:36;;;1476:1;1473;1466:12;1444:36;;1499:63;1554:7;1543:8;1532:9;1528:24;1499:63;:::i;:::-;1489:73;;;1605:2;1594:9;1590:18;1584:25;1649:4;1642:5;1638:16;1631:5;1628:27;1618:55;;1669:1;1666;1659:12;1618:55;1692:5;1682:15;;;991:712;;;;;:::o;1708:380::-;1787:1;1783:12;;;;1830;;;1851:61;;1905:4;1897:6;1893:17;1883:27;;1851:61;1958:2;1950:6;1947:14;1927:18;1924:38;1921:161;;2004:10;1999:3;1995:20;1992:1;1985:31;2039:4;2036:1;2029:15;2067:4;2064:1;2057:15;1921:161;;1708:380;;;:::o;2219:545::-;2321:2;2316:3;2313:11;2310:448;;;2357:1;2382:5;2378:2;2371:17;2427:4;2423:2;2413:19;2497:2;2485:10;2481:19;2478:1;2474:27;2468:4;2464:38;2533:4;2521:10;2518:20;2515:47;;;-1:-1:-1;2556:4:151;2515:47;2611:2;2606:3;2602:12;2599:1;2595:20;2589:4;2585:31;2575:41;;2666:82;2684:2;2677:5;2674:13;2666:82;;;2729:17;;;2710:1;2699:13;2666:82;;;2670:3;;;2310:448;2219:545;;;:::o;2940:1352::-;3060:10;;-1:-1:-1;;;;;3082:30:151;;3079:56;;;3115:18;;:::i;:::-;3144:97;3234:6;3194:38;3226:4;3220:11;3194:38;:::i;:::-;3188:4;3144:97;:::i;:::-;3296:4;;3360:2;3349:14;;3377:1;3372:663;;;;4079:1;4096:6;4093:89;;;-1:-1:-1;4148:19:151;;;4142:26;4093:89;-1:-1:-1;;2897:1:151;2893:11;;;2889:24;2885:29;2875:40;2921:1;2917:11;;;2872:57;4195:81;;3342:944;;3372:663;2166:1;2159:14;;;2203:4;2190:18;;-1:-1:-1;;3408:20:151;;;3526:236;3540:7;3537:1;3534:14;3526:236;;;3629:19;;;3623:26;3608:42;;3721:27;;;;3689:1;3677:14;;;;3556:19;;3526:236;;;3530:3;3790:6;3781:7;3778:19;3775:201;;;3851:19;;;3845:26;-1:-1:-1;;3934:1:151;3930:14;;;3946:3;3926:24;3922:37;3918:42;3903:58;3888:74;;3775:201;-1:-1:-1;;;;;4022:1:151;4006:14;;;4002:22;3989:36;;-1:-1:-1;2940:1352:151:o;:::-;290:2085:150;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b50600436106101365760003560e01c80637ecebe00116100b2578063a9059cbb11610081578063d505accf11610066578063d505accf1461028e578063dd62ed3e146102a1578063f83d1791146102ca57600080fd5b8063a9059cbb14610268578063d30ed3b31461027b57600080fd5b80637ecebe001461021457806395d89b411461023a5780639dc29fac14610242578063a457c2d71461025557600080fd5b8063313ce5671161010957806339509351116100ee57806339509351146101c657806340c10f19146101d957806370a08231146101ee57600080fd5b8063313ce567146101a95780633644e515146101be57600080fd5b806306fdde031461013b578063095ea7b31461015957806318160ddd1461017c57806323b872dd14610196575b600080fd5b6101436102dd565b6040516101509190610a3f565b60405180910390f35b61016c610167366004610ab6565b61036f565b6040519015158152602001610150565b6805345cdf77eb68f44c545b604051908152602001610150565b61016c6101a4366004610ae0565b6103c2565b60025460405160ff9091168152602001610150565b6101886103e7565b61016c6101d4366004610ab6565b61045d565b6101ec6101e7366004610ab6565b610478565b005b6101886101fc366004610b1c565b6387a211a2600c908152600091909152602090205490565b610188610222366004610b1c565b6338377508600c908152600091909152602090205490565b61014361048e565b6101ec610250366004610ab6565b61049d565b61016c610263366004610ab6565b6104af565b61016c610276366004610ab6565b6104c3565b6101ec610289366004610ae0565b6104d7565b6101ec61029c366004610b37565b6104f7565b6101886102af366004610baa565b602052637f5e9f20600c908152600091909152603490205490565b6101ec6102d8366004610ae0565b610636565b6060600080546102ec90610bdd565b80601f016020809104026020016040519081016040528092919081815260200182805461031890610bdd565b80156103655780601f1061033a57610100808354040283529160200191610365565b820191906000526020600020905b81548152906001019060200180831161034857829003601f168201915b5050505050905090565b600082602052637f5e9f20600c5233600052816034600c205581600052602c5160601c337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560206000a350600192915050565b60006103df6103d085610651565b6103d985610651565b84610660565b949350505050565b60405160006103f46102dd565b80516020918201207f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f845290830152507fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6604082015246606082015230608082015260a0902090565b600061047161046b84610651565b8361071e565b9392505050565b61048a61048483610651565b82610790565b5050565b6060600180546102ec90610bdd565b61048a6104a983610651565b8261080f565b60006104716104bd84610651565b83610893565b60006104716104d184610651565b83610906565b6104f26104e384610651565b6104ec84610651565b83610981565b505050565b60006105016103e7565b90506040518542111561051c57631a15a3cc6000526004601cfd5b8860601b60601c98508760601b60601c97506338377508600c52886000526020600c2080546001810182557f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c983528a602084015289604084015288606084015280608084015250508560a08201526119016000528160205260c081206040526042601e206000528460ff1660205283604052826060526020806080600060015afa50883d51146105d45763ddafbaef6000526004601cfd5b777f5e9f20000000000000000000000000000000000000000088176040526034602c2087905587897f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925602060608501a360405250506000606052505050505050565b6104f261064284610651565b61064b84610651565b836109c4565b60005a60a01b82179050919050565b60008360601b33602052637f5e9f208117600c526034600c20805460001981146106a0578085111561069a576313be252b6000526004601cfd5b84810382555b50506387a211a28117600c526020600c208054808511156106c95763f4d678b86000526004601cfd5b84810382555050836000526020600c208381540181555082602052600c5160601c8160601c7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a3505060019392505050565b600082602052637f5e9f20600c52336000526034600c208054838101818110156107505763f90670666000526004601cfd5b80835580600052505050602c5160601c337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560206000a350600192915050565b6805345cdf77eb68f44c54818101818110156107b45763e5cfe9576000526004601cfd5b806805345cdf77eb68f44c5550506387a211a2600c52816000526020600c208181540181555080602052600c5160601c60007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a35050565b6387a211a2600c52816000526020600c208054808311156108385763f4d678b86000526004601cfd5b82900390556805345cdf77eb68f44c80548290039055600081815273ffffffffffffffffffffffffffffffffffffffff83167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602083a35050565b600082602052637f5e9f20600c52336000526034600c208054838110156108c257638301ab386000526004601cfd5b8381039050808255806000525050602c5160601c337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560206000a350600192915050565b60006387a211a2600c52336000526020600c208054808411156109315763f4d678b86000526004601cfd5b83810382555050826000526020600c208281540181555081602052600c5160601c337fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a350600192915050565b81602052637f5e9f20600c52826000526034600c20805460001981146109bd57808311156109b7576313be252b6000526004601cfd5b82810382555b5050505050565b8260601b6387a211a28117600c526020600c208054808411156109ef5763f4d678b86000526004601cfd5b83810382555050826000526020600c208281540181555081602052600c5160601c8160601c7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a350505050565b600060208083528351808285015260005b81811015610a6c57858101830151858201604001528201610a50565b506000604082860101526040601f19601f8301168501019250505092915050565b803573ffffffffffffffffffffffffffffffffffffffff81168114610ab157600080fd5b919050565b60008060408385031215610ac957600080fd5b610ad283610a8d565b946020939093013593505050565b600080600060608486031215610af557600080fd5b610afe84610a8d565b9250610b0c60208501610a8d565b9150604084013590509250925092565b600060208284031215610b2e57600080fd5b61047182610a8d565b600080600080600080600060e0888a031215610b5257600080fd5b610b5b88610a8d565b9650610b6960208901610a8d565b95506040880135945060608801359350608088013560ff81168114610b8d57600080fd5b9699959850939692959460a0840135945060c09093013592915050565b60008060408385031215610bbd57600080fd5b610bc683610a8d565b9150610bd460208401610a8d565b90509250929050565b600181811c90821680610bf157607f821691505b602082108103610c2a577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b5091905056fea264697066735822122010feb03d4837e87f16219e1013ddb9db8942d044980920eaed34a0c91049405364736f6c63430008130033","sourceMap":"290:2085:150:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;575:98;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5995:573:13;;;;;;:::i;:::-;;:::i;:::-;;;1192:14:151;;1185:22;1167:41;;1155:2;1140:18;5995:573:13;1027:187:151;4847:195:13;5007:18;5001:25;4847:195;;;1365:25:151;;;1353:2;1338:18;4847:195:13;1219:177:151;1603:189:150;;;;;;:::i;:::-;;:::i;787:98::-;869:9;;787:98;;869:9;;;;1876:36:151;;1864:2;1849:18;787:98:150;1734:184:151;17096:1062:13;;;:::i;1798:184:150:-;;;;;;:::i;:::-;;:::i;891:102::-;;;;;;:::i;:::-;;:::i;:::-;;5108:286:13;;;;;;:::i;:::-;5276:18;5270:4;5263:32;;;5171:14;5308:19;;;;5372:4;5356:21;;5350:28;;5108:286;13503:340;;;;;;:::i;:::-;13726:17;13720:4;13713:31;;;13563:14;13757:19;;;;13821:4;13805:21;;13799:28;;13503:340;679:102:150;;;:::i;999:106::-;;;;;;:::i;:::-;;:::i;1988:184::-;;;;;;:::i;:::-;;:::i;1449:148::-;;;;;;:::i;:::-;;:::i;1268:175::-;;;;;;:::i;:::-;;:::i;14027:3010:13:-;;;;;;:::i;:::-;;:::i;5489:375::-;;;;;;:::i;:::-;5704:4;5697:21;5744:20;5738:4;5731:34;;;5601:14;5778:19;;;;5842:4;5826:21;;5820:28;;5489:375;1111:151:150;;;;;;:::i;:::-;;:::i;575:98::-;629:13;661:5;654:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;575:98;:::o;5995:573:13:-;6069:4;6228:7;6222:4;6215:21;6262:20;6256:4;6249:34;6309:8;6303:4;6296:22;6361:6;6354:4;6348;6338:21;6331:37;6436:6;6430:4;6423:20;6524:4;6518:11;6514:2;6510:20;6500:8;6473:25;6467:4;6461;6456:75;-1:-1:-1;6557:4:13;5995:573;;;;:::o;1603:189:150:-;1700:4;1723:62;1742:17;1754:4;1742:11;:17::i;:::-;1761:15;1773:2;1761:11;:15::i;:::-;1778:6;1723:18;:62::i;:::-;1716:69;1603:189;-1:-1:-1;;;;1603:189:150:o;17096:1062:13:-;17261:4;17255:11;17153:14;17447:6;:4;:6::i;:::-;17431:24;;;;;;;17726:66;17716:77;;17813:12;;;17806:30;-1:-1:-1;17946:66:13;17939:4;17932:12;;17925:88;18047:9;18040:4;18033:12;;18026:31;18091:9;18084:4;18077:12;;18070:31;18137:4;18124:18;;;17096:1062::o;1798:184:150:-;1895:4;1918:57;1942:20;1954:7;1942:11;:20::i;:::-;1964:10;1918:23;:57::i;:::-;1911:64;1798:184;-1:-1:-1;;;1798:184:150:o;891:102::-;957:29;963:15;975:2;963:11;:15::i;:::-;980:5;957;:29::i;:::-;891:102;;:::o;679:::-;735:13;767:7;760:14;;;;;:::i;999:106::-;1067:31;1073:17;1085:4;1073:11;:17::i;:::-;1092:5;1067;:31::i;1988:184::-;2085:4;2108:57;2132:20;2144:7;2132:11;:20::i;:::-;2154:10;2108:23;:57::i;1449:148::-;1528:4;1551:39;1566:15;1578:2;1566:11;:15::i;:::-;1583:6;1551:14;:39::i;1268:175::-;1371:65;1387:18;1399:5;1387:11;:18::i;:::-;1407:20;1419:7;1407:11;:20::i;:::-;1429:6;1371:15;:65::i;:::-;1268:175;;;:::o;14027:3010:13:-;14226:23;14252:18;:16;:18::i;:::-;14226:44;;14406:4;14400:11;14513:8;14500:11;14497:25;14494:142;;;14554:10;14548:4;14541:24;14617:4;14611;14604:18;14494:142;14714:5;14710:2;14706:14;14702:2;14698:23;14689:32;;14761:7;14757:2;14753:16;14749:2;14745:25;14734:36;;14854:17;14848:4;14841:31;14898:5;14892:4;14885:19;14950:4;14944;14934:21;14992:9;14986:16;15103:1;15091:10;15087:18;15076:9;15069:37;15325:66;15322:1;15315:77;15426:5;15419:4;15416:1;15412:12;15405:27;15466:7;15459:4;15456:1;15452:12;15445:29;15508:5;15501:4;15498:1;15494:12;15487:27;15548:10;15541:4;15538:1;15534:12;15527:32;;;15593:8;15586:4;15583:1;15579:12;15572:30;15664:6;15661:1;15654:17;15697:15;15691:4;15684:29;15752:4;15749:1;15739:18;15733:4;15726:32;15844:4;15838;15828:21;15825:1;15818:32;15886:1;15880:4;15876:12;15870:4;15863:26;15915:1;15909:4;15902:15;15943:1;15937:4;15930:15;15998:4;15992;15986;15983:1;15980;15973:5;15962:41;15958:46;16423:5;16404:16;16398:23;16395:34;16385:159;;16462:10;16456:4;16449:24;16525:4;16519;16512:18;16385:159;16688:30;16685:43;;16679:4;16672:57;16765:4;16759;16749:21;16742:36;;;16720:7;16885:5;16858:25;-1:-1:-1;16845:4:13;16838:12;;16833:67;16920:4;16913:15;-1:-1:-1;;16990:1:13;16984:4;16977:15;-1:-1:-1;;;;;;14027:3010:13:o;1111:151:150:-;1202:53;1212:17;1224:4;1212:11;:17::i;:::-;1231:15;1243:2;1231:11;:15::i;:::-;1248:6;1202:9;:53::i;2178:195::-;2233:14;2350:5;2345:3;2341:15;2338:1;2335:22;2325:32;;2178:195;;;:::o;10886:2203:13:-;10974:4;11125;11121:2;11117:13;11218:8;11212:4;11205:22;11263:20;11256:5;11253:31;11247:4;11240:45;11335:4;11329;11319:21;11377:13;11371:20;11499:1;11495:6;11483:10;11480:22;11470:430;;11617:10;11609:6;11606:22;11603:159;;;11664:10;11658:4;11651:24;11739:4;11733;11726:18;11603:159;11878:6;11866:10;11862:23;11847:13;11840:46;11470:430;;;11996:18;11989:5;11986:29;11980:4;11973:43;12068:4;12062;12052:21;12111:15;12105:22;12201:11;12193:6;12190:23;12187:146;;;12245:10;12239:4;12232:24;12314:4;12308;12301:18;12187:146;12442:6;12429:11;12425:24;12408:15;12401:49;;;12525:2;12519:4;12512:16;12578:4;12572;12562:21;12828:6;12812:13;12806:20;12802:33;12787:13;12780:56;;12904:6;12898:4;12891:20;12998:4;12992:11;12988:2;12984:20;12976:5;12972:2;12968:14;12941:25;12935:4;12929;12924:81;;-1:-1:-1;13078:4:13;10886:2203;;;;;:::o;6700:1058::-;6788:4;6945:7;6939:4;6932:21;6979:20;6973:4;6966:34;7026:8;7020:4;7013:22;7085:4;7079;7069:21;7132:13;7126:20;7239:10;7222:15;7218:32;7322:15;7306:14;7303:35;7300:156;;;7370:10;7364:4;7357:24;7437:4;7431;7424:18;7300:156;7535:14;7520:13;7513:37;7618:14;7612:4;7605:28;;;;7714:4;7708:11;7704:2;7700:20;7690:8;7663:25;7657:4;7651;7646:75;-1:-1:-1;7747:4:13;6700:1058;;;;:::o;18562:1172::-;18783:18;18777:25;18862:6;18843:17;18839:30;18959:17;18941:16;18938:39;18935:162;;;19009:10;19003:4;18996:24;19078:4;19072;19065:18;18935:162;19184:16;19164:18;19157:44;;;19287:18;19281:4;19274:32;19332:2;19326:4;19319:16;19385:4;19379;19369:21;19501:6;19485:13;19479:20;19475:33;19460:13;19453:56;;19577:6;19571:4;19564:20;19658:4;19652:11;19648:2;19644:20;19641:1;19614:25;19608:4;19602;19597:68;891:102:150;;:::o;20140:1119:13:-;20407:18;20401:4;20394:32;20452:4;20446;20439:18;20509:4;20503;20493:21;20552:15;20546:22;20642:11;20634:6;20631:23;20628:146;;;20686:10;20680:4;20673:24;20755:4;20749;20742:18;20628:146;20866:24;;;20842:49;;21001:18;20995:25;;20991:38;;;20964:66;;-1:-1:-1;21085:20:13;;;21162:22;;;21135:25;21129:4;-1:-1:-1;21118:70:13;891:102:150;;:::o;7890:1035:13:-;7978:4;8135:7;8129:4;8122:21;8169:20;8163:4;8156:34;8216:8;8210:4;8203:22;8275:4;8269;8259:21;8322:13;8316:20;8413:10;8396:15;8393:31;8390:153;;;8456:10;8450:4;8443:24;8524:4;8518;8511:18;8390:153;8656:10;8639:15;8635:32;8613:54;;8702:14;8687:13;8680:37;8785:14;8779:4;8772:28;;;8881:4;8875:11;8871:2;8867:20;8857:8;8830:25;8824:4;8818;8813:75;-1:-1:-1;8914:4:13;7890:1035;;;;:::o;9112:1406::-;9182:4;9391:18;9385:4;9378:32;9436:8;9430:4;9423:22;9497:4;9491;9481:21;9540:15;9534:22;9630:11;9622:6;9619:23;9616:146;;;9674:10;9668:4;9661:24;9743:4;9737;9730:18;9616:146;9871:6;9858:11;9854:24;9837:15;9830:49;;;9954:2;9948:4;9941:16;10007:4;10001;9991:21;10257:6;10241:13;10235:20;10231:33;10216:13;10209:56;;10333:6;10327:4;10320:20;10421:4;10415:11;10411:2;10407:20;10397:8;10370:25;10364:4;10358;10353:75;-1:-1:-1;10507:4:13;9112:1406;;;;:::o;23377:959::-;23618:7;23612:4;23605:21;23652:20;23646:4;23639:34;23699:5;23693:4;23686:19;23755:4;23749;23739:21;23797:13;23791:20;23919:1;23915:6;23903:10;23900:22;23890:430;;24037:10;24029:6;24026:22;24023:159;;;24084:10;24078:4;24071:24;24159:4;24153;24146:18;24023:159;24298:6;24286:10;24282:23;24267:13;24260:46;23890:430;;;23377:959;;;:::o;21607:1396::-;21830:4;21826:2;21822:13;21931:18;21924:5;21921:29;21915:4;21908:43;22003:4;21997;21987:21;22046:15;22040:22;22136:11;22128:6;22125:23;22122:146;;;22180:10;22174:4;22167:24;22249:4;22243;22236:18;22122:146;22377:6;22364:11;22360:24;22343:15;22336:49;;;22460:2;22454:4;22447:16;22513:4;22507;22497:21;22763:6;22747:13;22741:20;22737:33;22722:13;22715:56;;22839:6;22833:4;22826:20;22933:4;22927:11;22923:2;22919:20;22911:5;22907:2;22903:14;22876:25;22870:4;22864;22859:81;;1268:175:150;;;:::o;14:548:151:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:196::-;635:20;;695:42;684:54;;674:65;;664:93;;753:1;750;743:12;664:93;567:196;;;:::o;768:254::-;836:6;844;897:2;885:9;876:7;872:23;868:32;865:52;;;913:1;910;903:12;865:52;936:29;955:9;936:29;:::i;:::-;926:39;1012:2;997:18;;;;984:32;;-1:-1:-1;;;768:254:151:o;1401:328::-;1478:6;1486;1494;1547:2;1535:9;1526:7;1522:23;1518:32;1515:52;;;1563:1;1560;1553:12;1515:52;1586:29;1605:9;1586:29;:::i;:::-;1576:39;;1634:38;1668:2;1657:9;1653:18;1634:38;:::i;:::-;1624:48;;1719:2;1708:9;1704:18;1691:32;1681:42;;1401:328;;;;;:::o;2105:186::-;2164:6;2217:2;2205:9;2196:7;2192:23;2188:32;2185:52;;;2233:1;2230;2223:12;2185:52;2256:29;2275:9;2256:29;:::i;2296:693::-;2407:6;2415;2423;2431;2439;2447;2455;2508:3;2496:9;2487:7;2483:23;2479:33;2476:53;;;2525:1;2522;2515:12;2476:53;2548:29;2567:9;2548:29;:::i;:::-;2538:39;;2596:38;2630:2;2619:9;2615:18;2596:38;:::i;:::-;2586:48;;2681:2;2670:9;2666:18;2653:32;2643:42;;2732:2;2721:9;2717:18;2704:32;2694:42;;2786:3;2775:9;2771:19;2758:33;2831:4;2824:5;2820:16;2813:5;2810:27;2800:55;;2851:1;2848;2841:12;2800:55;2296:693;;;;-1:-1:-1;2296:693:151;;;;2874:5;2926:3;2911:19;;2898:33;;-1:-1:-1;2978:3:151;2963:19;;;2950:33;;2296:693;-1:-1:-1;;2296:693:151:o;2994:260::-;3062:6;3070;3123:2;3111:9;3102:7;3098:23;3094:32;3091:52;;;3139:1;3136;3129:12;3091:52;3162:29;3181:9;3162:29;:::i;:::-;3152:39;;3210:38;3244:2;3233:9;3229:18;3210:38;:::i;:::-;3200:48;;2994:260;;;;;:::o;3259:437::-;3338:1;3334:12;;;;3381;;;3402:61;;3456:4;3448:6;3444:17;3434:27;;3402:61;3509:2;3501:6;3498:14;3478:18;3475:38;3472:218;;3546:77;3543:1;3536:88;3647:4;3644:1;3637:15;3675:4;3672:1;3665:15;3472:218;;3259:437;;;:::o","linkReferences":{}},"methodIdentifiers":{"DOMAIN_SEPARATOR()":"3644e515","allowance(address,address)":"dd62ed3e","approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","burn(address,uint256)":"9dc29fac","decimals()":"313ce567","decreaseAllowance(address,uint256)":"a457c2d7","directSpendAllowance(address,address,uint256)":"d30ed3b3","directTransfer(address,address,uint256)":"f83d1791","increaseAllowance(address,uint256)":"39509351","mint(address,uint256)":"40c10f19","name()":"06fdde03","nonces(address)":"7ecebe00","permit(address,address,uint256,uint256,uint8,bytes32,bytes32)":"d505accf","symbol()":"95d89b41","totalSupply()":"18160ddd","transfer(address,uint256)":"a9059cbb","transferFrom(address,address,uint256)":"23b872dd"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name_\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"symbol_\",\"type\":\"string\"},{\"internalType\":\"uint8\",\"name\":\"decimals_\",\"type\":\"uint8\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"AllowanceOverflow\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"AllowanceUnderflow\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InsufficientAllowance\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InsufficientBalance\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidPermit\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"PermitExpired\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TotalSupplyOverflow\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"DOMAIN_SEPARATOR\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"result\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"result\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"result\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"burn\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"difference\",\"type\":\"uint256\"}],\"name\":\"decreaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"directSpendAllowance\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"directTransfer\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"difference\",\"type\":\"uint256\"}],\"name\":\"increaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"mint\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"nonces\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"result\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"name\":\"permit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"result\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"WARNING! This mock is strictly intended for testing purposes only. Do NOT copy anything here into production code unless you really know what you are doing.\",\"errors\":{\"AllowanceOverflow()\":[{\"details\":\"The allowance has overflowed.\"}],\"AllowanceUnderflow()\":[{\"details\":\"The allowance has underflowed.\"}],\"InsufficientAllowance()\":[{\"details\":\"Insufficient allowance.\"}],\"InsufficientBalance()\":[{\"details\":\"Insufficient balance.\"}],\"InvalidPermit()\":[{\"details\":\"The permit is invalid.\"}],\"PermitExpired()\":[{\"details\":\"The permit has expired.\"}],\"TotalSupplyOverflow()\":[{\"details\":\"The total supply has overflowed.\"}]},\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when `amount` tokens is approved by `owner` to be used by `spender`.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `amount` tokens is transferred from `from` to `to`.\"}},\"kind\":\"dev\",\"methods\":{\"DOMAIN_SEPARATOR()\":{\"details\":\"Returns the EIP-2612 domains separator.\"},\"allowance(address,address)\":{\"details\":\"Returns the amount of tokens that `spender` can spend on behalf of `owner`.\"},\"approve(address,uint256)\":{\"details\":\"Sets `amount` as the allowance of `spender` over the caller's tokens. Emits a {Approval} event.\"},\"balanceOf(address)\":{\"details\":\"Returns the amount of tokens owned by `owner`.\"},\"decimals()\":{\"details\":\"Returns the decimals places of the token.\"},\"decreaseAllowance(address,uint256)\":{\"details\":\"Atomically decreases the allowance granted to `spender` by the caller. Emits a {Approval} event.\"},\"increaseAllowance(address,uint256)\":{\"details\":\"Atomically increases the allowance granted to `spender` by the caller. Emits a {Approval} event.\"},\"name()\":{\"details\":\"Returns the name of the token.\"},\"nonces(address)\":{\"details\":\"Returns the current nonce for `owner`. This value is used to compute the signature for EIP-2612 permit.\"},\"permit(address,address,uint256,uint256,uint8,bytes32,bytes32)\":{\"details\":\"Sets `value` as the allowance of `spender` over the tokens of `owner`, authorized by a signed approval by `owner`. Emits a {Approval} event.\"},\"symbol()\":{\"details\":\"Returns the symbol of the token.\"},\"totalSupply()\":{\"details\":\"Returns the amount of tokens in existence.\"},\"transfer(address,uint256)\":{\"details\":\"Transfer `amount` tokens from the caller to `to`. Requirements: - `from` must at least have `amount`. Emits a {Transfer} event.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"Transfers `amount` tokens from `from` to `to`. Note: Does not update the allowance if it is the maximum uint256 value. Requirements: - `from` must at least have `amount`. - The caller must have at least `amount` of allowance to transfer the tokens of `from`. Emits a {Transfer} event.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"pkg/contracts/test/shared/TERC20.sol\":\"TERC20\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1000},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/\",\":@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/\",\":@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":@sablier/v2-core/=lib/allo-v2/lib/v2-core/\",\":ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/\",\":allo-v2-contracts/=lib/allo-v2/contracts/\",\":allo-v2-test/=lib/allo-v2/test/\",\":allo-v2/=lib/allo-v2/\",\":ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/\",\":eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/\",\":eas-proxy/=lib/allo-v2/lib/eas-proxy/contracts/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":hats-protocol/=lib/allo-v2/lib/hats-protocol/\",\":hedgey-vesting/=lib/allo-v2/lib/hedgey-vesting/contracts/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":permit2/=lib/allo-v2/lib/permit2/\",\":prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/\",\":prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/\",\":safe-contracts/=lib/safe-contracts/\",\":solady/=lib/allo-v2/lib/solady/\",\":solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/\",\":solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\",\":solmate/=lib/allo-v2/lib/permit2/lib/solmate/\",\":superfluid-protocol-monorepo/=lib/allo-v2/lib/superfluid-protocol-monorepo/packages/solidity-semantic-money/src/\",\":utils/=lib/allo-v2/lib/hats-protocol/lib/utils/\",\":v2-core/=lib/allo-v2/lib/v2-core/\"]},\"sources\":{\"lib/allo-v2/lib/solady/src/tokens/ERC20.sol\":{\"keccak256\":\"0x264e4675697d05dfb9bbe9cc91c6bda7962d934f1e940336fd75d509b7f396c4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5856338689f03f36c057203c5085243e104b8487274432062ebf076b512edeea\",\"dweb:/ipfs/QmXrqgaWQikKkHfoBkYPxeMTJWUY5uf7kSmipNbpU35XwK\"]},\"pkg/contracts/test/shared/TERC20.sol\":{\"keccak256\":\"0x7a3566e91c7786a40ba285537a64e7caec4296217aa2c8a9fb31e7068b8bc9f9\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://7c695a59c6608de5b03aeb951a08a7958b7e7f448ad604ece0cb5fa8d4165b1e\",\"dweb:/ipfs/QmewXQxNZhEtyJHtpPmqtSAWJh7BeTa3Gi5AFFEUBvVAuq\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"string","name":"name_","type":"string"},{"internalType":"string","name":"symbol_","type":"string"},{"internalType":"uint8","name":"decimals_","type":"uint8"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"type":"error","name":"AllowanceOverflow"},{"inputs":[],"type":"error","name":"AllowanceUnderflow"},{"inputs":[],"type":"error","name":"InsufficientAllowance"},{"inputs":[],"type":"error","name":"InsufficientBalance"},{"inputs":[],"type":"error","name":"InvalidPermit"},{"inputs":[],"type":"error","name":"PermitExpired"},{"inputs":[],"type":"error","name":"TotalSupplyOverflow"},{"inputs":[{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"address","name":"spender","type":"address","indexed":true},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false}],"type":"event","name":"Approval","anonymous":false},{"inputs":[{"internalType":"address","name":"from","type":"address","indexed":true},{"internalType":"address","name":"to","type":"address","indexed":true},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false}],"type":"event","name":"Transfer","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"DOMAIN_SEPARATOR","outputs":[{"internalType":"bytes32","name":"result","type":"bytes32"}]},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"stateMutability":"view","type":"function","name":"allowance","outputs":[{"internalType":"uint256","name":"result","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"stateMutability":"view","type":"function","name":"balanceOf","outputs":[{"internalType":"uint256","name":"result","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"burn"},{"inputs":[],"stateMutability":"view","type":"function","name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}]},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"difference","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"directSpendAllowance"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"directTransfer"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"difference","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"mint"},{"inputs":[],"stateMutability":"view","type":"function","name":"name","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"stateMutability":"view","type":"function","name":"nonces","outputs":[{"internalType":"uint256","name":"result","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"uint256","name":"deadline","type":"uint256"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"permit"},{"inputs":[],"stateMutability":"view","type":"function","name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"totalSupply","outputs":[{"internalType":"uint256","name":"result","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}]}],"devdoc":{"kind":"dev","methods":{"DOMAIN_SEPARATOR()":{"details":"Returns the EIP-2612 domains separator."},"allowance(address,address)":{"details":"Returns the amount of tokens that `spender` can spend on behalf of `owner`."},"approve(address,uint256)":{"details":"Sets `amount` as the allowance of `spender` over the caller's tokens. Emits a {Approval} event."},"balanceOf(address)":{"details":"Returns the amount of tokens owned by `owner`."},"decimals()":{"details":"Returns the decimals places of the token."},"decreaseAllowance(address,uint256)":{"details":"Atomically decreases the allowance granted to `spender` by the caller. Emits a {Approval} event."},"increaseAllowance(address,uint256)":{"details":"Atomically increases the allowance granted to `spender` by the caller. Emits a {Approval} event."},"name()":{"details":"Returns the name of the token."},"nonces(address)":{"details":"Returns the current nonce for `owner`. This value is used to compute the signature for EIP-2612 permit."},"permit(address,address,uint256,uint256,uint8,bytes32,bytes32)":{"details":"Sets `value` as the allowance of `spender` over the tokens of `owner`, authorized by a signed approval by `owner`. Emits a {Approval} event."},"symbol()":{"details":"Returns the symbol of the token."},"totalSupply()":{"details":"Returns the amount of tokens in existence."},"transfer(address,uint256)":{"details":"Transfer `amount` tokens from the caller to `to`. Requirements: - `from` must at least have `amount`. Emits a {Transfer} event."},"transferFrom(address,address,uint256)":{"details":"Transfers `amount` tokens from `from` to `to`. Note: Does not update the allowance if it is the maximum uint256 value. Requirements: - `from` must at least have `amount`. - The caller must have at least `amount` of allowance to transfer the tokens of `from`. Emits a {Transfer} event."}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/","@prb/math/=lib/allo-v2/lib/v2-core/lib/prb-math/","@prb/test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","@sablier/v2-core/=lib/allo-v2/lib/v2-core/","ERC1155/=lib/allo-v2/lib/hats-protocol/lib/ERC1155/","allo-v2-contracts/=lib/allo-v2/contracts/","allo-v2-test/=lib/allo-v2/test/","allo-v2/=lib/allo-v2/","ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/","eas-contracts/=lib/allo-v2/lib/eas-contracts/contracts/","eas-proxy/=lib/allo-v2/lib/eas-proxy/contracts/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-gas-snapshot/=lib/allo-v2/lib/permit2/lib/forge-gas-snapshot/src/","forge-std/=lib/forge-std/src/","halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/","hats-protocol/=lib/allo-v2/lib/hats-protocol/","hedgey-vesting/=lib/allo-v2/lib/hedgey-vesting/contracts/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","openzeppelin/=lib/openzeppelin-contracts/contracts/","permit2/=lib/allo-v2/lib/permit2/","prb-math/=lib/allo-v2/lib/v2-core/lib/prb-math/src/","prb-test/=lib/allo-v2/lib/v2-core/lib/prb-test/src/","safe-contracts/=lib/safe-contracts/","solady/=lib/allo-v2/lib/solady/","solarray/=lib/allo-v2/lib/v2-core/lib/solarray/src/","solbase/=lib/allo-v2/lib/hats-protocol/lib/solbase/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/","solmate/=lib/allo-v2/lib/permit2/lib/solmate/","superfluid-protocol-monorepo/=lib/allo-v2/lib/superfluid-protocol-monorepo/packages/solidity-semantic-money/src/","utils/=lib/allo-v2/lib/hats-protocol/lib/utils/","v2-core/=lib/allo-v2/lib/v2-core/"],"optimizer":{"enabled":true,"runs":1000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"pkg/contracts/test/shared/TERC20.sol":"TERC20"},"evmVersion":"paris","libraries":{}},"sources":{"lib/allo-v2/lib/solady/src/tokens/ERC20.sol":{"keccak256":"0x264e4675697d05dfb9bbe9cc91c6bda7962d934f1e940336fd75d509b7f396c4","urls":["bzz-raw://5856338689f03f36c057203c5085243e104b8487274432062ebf076b512edeea","dweb:/ipfs/QmXrqgaWQikKkHfoBkYPxeMTJWUY5uf7kSmipNbpU35XwK"],"license":"MIT"},"pkg/contracts/test/shared/TERC20.sol":{"keccak256":"0x7a3566e91c7786a40ba285537a64e7caec4296217aa2c8a9fb31e7068b8bc9f9","urls":["bzz-raw://7c695a59c6608de5b03aeb951a08a7958b7e7f448ad604ece0cb5fa8d4165b1e","dweb:/ipfs/QmewXQxNZhEtyJHtpPmqtSAWJh7BeTa3Gi5AFFEUBvVAuq"],"license":"AGPL-3.0-only"}},"version":1},"storageLayout":{"storage":[{"astId":118864,"contract":"pkg/contracts/test/shared/TERC20.sol:TERC20","label":"_name","offset":0,"slot":"0","type":"t_string_storage"},{"astId":118866,"contract":"pkg/contracts/test/shared/TERC20.sol:TERC20","label":"_symbol","offset":0,"slot":"1","type":"t_string_storage"},{"astId":118868,"contract":"pkg/contracts/test/shared/TERC20.sol:TERC20","label":"_decimals","offset":0,"slot":"2","type":"t_uint8"}],"types":{"t_string_storage":{"encoding":"bytes","label":"string","numberOfBytes":"32"},"t_uint8":{"encoding":"inplace","label":"uint8","numberOfBytes":"1"}}},"ast":{"absolutePath":"pkg/contracts/test/shared/TERC20.sol","id":119079,"exportedSymbols":{"ERC20":[4491],"TERC20":[119078]},"nodeType":"SourceUnit","src":"42:2334:150","nodes":[{"id":118857,"nodeType":"PragmaDirective","src":"42:24:150","nodes":[],"literals":["solidity","^","0.8",".19"]},{"id":118859,"nodeType":"ImportDirective","src":"68:50:150","nodes":[],"absolutePath":"lib/allo-v2/lib/solady/src/tokens/ERC20.sol","file":"solady/src/tokens/ERC20.sol","nameLocation":"-1:-1:-1","scope":119079,"sourceUnit":4492,"symbolAliases":[{"foreign":{"id":118858,"name":"ERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4491,"src":"76:5:150","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":119078,"nodeType":"ContractDefinition","src":"290:2085:150","nodes":[{"id":118864,"nodeType":"VariableDeclaration","src":"321:21:150","nodes":[],"constant":false,"mutability":"mutable","name":"_name","nameLocation":"337:5:150","scope":119078,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string"},"typeName":{"id":118863,"name":"string","nodeType":"ElementaryTypeName","src":"321:6:150","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"id":118866,"nodeType":"VariableDeclaration","src":"348:23:150","nodes":[],"constant":false,"mutability":"mutable","name":"_symbol","nameLocation":"364:7:150","scope":119078,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string"},"typeName":{"id":118865,"name":"string","nodeType":"ElementaryTypeName","src":"348:6:150","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"id":118868,"nodeType":"VariableDeclaration","src":"377:24:150","nodes":[],"constant":false,"mutability":"mutable","name":"_decimals","nameLocation":"392:9:150","scope":119078,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":118867,"name":"uint8","nodeType":"ElementaryTypeName","src":"377:5:150","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"id":118890,"nodeType":"FunctionDefinition","src":"408:161:150","nodes":[],"body":{"id":118889,"nodeType":"Block","src":"481:88:150","nodes":[],"statements":[{"expression":{"id":118879,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":118877,"name":"_name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":118864,"src":"491:5:150","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":118878,"name":"name_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":118870,"src":"499:5:150","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"491:13:150","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"id":118880,"nodeType":"ExpressionStatement","src":"491:13:150"},{"expression":{"id":118883,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":118881,"name":"_symbol","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":118866,"src":"514:7:150","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":118882,"name":"symbol_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":118872,"src":"524:7:150","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"514:17:150","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"id":118884,"nodeType":"ExpressionStatement","src":"514:17:150"},{"expression":{"id":118887,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":118885,"name":"_decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":118868,"src":"541:9:150","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":118886,"name":"decimals_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":118874,"src":"553:9:150","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"541:21:150","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":118888,"nodeType":"ExpressionStatement","src":"541:21:150"}]},"implemented":true,"kind":"constructor","modifiers":[],"name":"","nameLocation":"-1:-1:-1","parameters":{"id":118875,"nodeType":"ParameterList","parameters":[{"constant":false,"id":118870,"mutability":"mutable","name":"name_","nameLocation":"434:5:150","nodeType":"VariableDeclaration","scope":118890,"src":"420:19:150","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":118869,"name":"string","nodeType":"ElementaryTypeName","src":"420:6:150","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":118872,"mutability":"mutable","name":"symbol_","nameLocation":"455:7:150","nodeType":"VariableDeclaration","scope":118890,"src":"441:21:150","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":118871,"name":"string","nodeType":"ElementaryTypeName","src":"441:6:150","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":118874,"mutability":"mutable","name":"decimals_","nameLocation":"470:9:150","nodeType":"VariableDeclaration","scope":118890,"src":"464:15:150","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":118873,"name":"uint8","nodeType":"ElementaryTypeName","src":"464:5:150","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"419:61:150"},"returnParameters":{"id":118876,"nodeType":"ParameterList","parameters":[],"src":"481:0:150"},"scope":119078,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":118899,"nodeType":"FunctionDefinition","src":"575:98:150","nodes":[],"body":{"id":118898,"nodeType":"Block","src":"644:29:150","nodes":[],"statements":[{"expression":{"id":118896,"name":"_name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":118864,"src":"661:5:150","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"functionReturnParameters":118895,"id":118897,"nodeType":"Return","src":"654:12:150"}]},"baseFunctions":[4167],"functionSelector":"06fdde03","implemented":true,"kind":"function","modifiers":[],"name":"name","nameLocation":"584:4:150","overrides":{"id":118892,"nodeType":"OverrideSpecifier","overrides":[],"src":"611:8:150"},"parameters":{"id":118891,"nodeType":"ParameterList","parameters":[],"src":"588:2:150"},"returnParameters":{"id":118895,"nodeType":"ParameterList","parameters":[{"constant":false,"id":118894,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":118899,"src":"629:13:150","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":118893,"name":"string","nodeType":"ElementaryTypeName","src":"629:6:150","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"628:15:150"},"scope":119078,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":118908,"nodeType":"FunctionDefinition","src":"679:102:150","nodes":[],"body":{"id":118907,"nodeType":"Block","src":"750:31:150","nodes":[],"statements":[{"expression":{"id":118905,"name":"_symbol","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":118866,"src":"767:7:150","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"functionReturnParameters":118904,"id":118906,"nodeType":"Return","src":"760:14:150"}]},"baseFunctions":[4173],"functionSelector":"95d89b41","implemented":true,"kind":"function","modifiers":[],"name":"symbol","nameLocation":"688:6:150","overrides":{"id":118901,"nodeType":"OverrideSpecifier","overrides":[],"src":"717:8:150"},"parameters":{"id":118900,"nodeType":"ParameterList","parameters":[],"src":"694:2:150"},"returnParameters":{"id":118904,"nodeType":"ParameterList","parameters":[{"constant":false,"id":118903,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":118908,"src":"735:13:150","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":118902,"name":"string","nodeType":"ElementaryTypeName","src":"735:6:150","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"734:15:150"},"scope":119078,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":118917,"nodeType":"FunctionDefinition","src":"787:98:150","nodes":[],"body":{"id":118916,"nodeType":"Block","src":"852:33:150","nodes":[],"statements":[{"expression":{"id":118914,"name":"_decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":118868,"src":"869:9:150","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"functionReturnParameters":118913,"id":118915,"nodeType":"Return","src":"862:16:150"}]},"baseFunctions":[4182],"functionSelector":"313ce567","implemented":true,"kind":"function","modifiers":[],"name":"decimals","nameLocation":"796:8:150","overrides":{"id":118910,"nodeType":"OverrideSpecifier","overrides":[],"src":"827:8:150"},"parameters":{"id":118909,"nodeType":"ParameterList","parameters":[],"src":"804:2:150"},"returnParameters":{"id":118913,"nodeType":"ParameterList","parameters":[{"constant":false,"id":118912,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":118917,"src":"845:5:150","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":118911,"name":"uint8","nodeType":"ElementaryTypeName","src":"845:5:150","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"844:7:150"},"scope":119078,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":118932,"nodeType":"FunctionDefinition","src":"891:102:150","nodes":[],"body":{"id":118931,"nodeType":"Block","src":"947:46:150","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":118926,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":118919,"src":"975:2:150","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":118925,"name":"_brutalized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":119077,"src":"963:11:150","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_address_$","typeString":"function (address) view returns (address)"}},"id":118927,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"963:15:150","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":118928,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":118921,"src":"980:5:150","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":118924,"name":"_mint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4392,"src":"957:5:150","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":118929,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"957:29:150","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":118930,"nodeType":"ExpressionStatement","src":"957:29:150"}]},"functionSelector":"40c10f19","implemented":true,"kind":"function","modifiers":[],"name":"mint","nameLocation":"900:4:150","parameters":{"id":118922,"nodeType":"ParameterList","parameters":[{"constant":false,"id":118919,"mutability":"mutable","name":"to","nameLocation":"913:2:150","nodeType":"VariableDeclaration","scope":118932,"src":"905:10:150","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":118918,"name":"address","nodeType":"ElementaryTypeName","src":"905:7:150","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":118921,"mutability":"mutable","name":"value","nameLocation":"925:5:150","nodeType":"VariableDeclaration","scope":118932,"src":"917:13:150","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":118920,"name":"uint256","nodeType":"ElementaryTypeName","src":"917:7:150","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"904:27:150"},"returnParameters":{"id":118923,"nodeType":"ParameterList","parameters":[],"src":"947:0:150"},"scope":119078,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":118947,"nodeType":"FunctionDefinition","src":"999:106:150","nodes":[],"body":{"id":118946,"nodeType":"Block","src":"1057:48:150","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":118941,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":118934,"src":"1085:4:150","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":118940,"name":"_brutalized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":119077,"src":"1073:11:150","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_address_$","typeString":"function (address) view returns (address)"}},"id":118942,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1073:17:150","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":118943,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":118936,"src":"1092:5:150","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":118939,"name":"_burn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4420,"src":"1067:5:150","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":118944,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1067:31:150","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":118945,"nodeType":"ExpressionStatement","src":"1067:31:150"}]},"functionSelector":"9dc29fac","implemented":true,"kind":"function","modifiers":[],"name":"burn","nameLocation":"1008:4:150","parameters":{"id":118937,"nodeType":"ParameterList","parameters":[{"constant":false,"id":118934,"mutability":"mutable","name":"from","nameLocation":"1021:4:150","nodeType":"VariableDeclaration","scope":118947,"src":"1013:12:150","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":118933,"name":"address","nodeType":"ElementaryTypeName","src":"1013:7:150","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":118936,"mutability":"mutable","name":"value","nameLocation":"1035:5:150","nodeType":"VariableDeclaration","scope":118947,"src":"1027:13:150","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":118935,"name":"uint256","nodeType":"ElementaryTypeName","src":"1027:7:150","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1012:29:150"},"returnParameters":{"id":118938,"nodeType":"ParameterList","parameters":[],"src":"1057:0:150"},"scope":119078,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":118967,"nodeType":"FunctionDefinition","src":"1111:151:150","nodes":[],"body":{"id":118966,"nodeType":"Block","src":"1192:70:150","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":118958,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":118949,"src":"1224:4:150","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":118957,"name":"_brutalized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":119077,"src":"1212:11:150","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_address_$","typeString":"function (address) view returns (address)"}},"id":118959,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1212:17:150","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":118961,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":118951,"src":"1243:2:150","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":118960,"name":"_brutalized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":119077,"src":"1231:11:150","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_address_$","typeString":"function (address) view returns (address)"}},"id":118962,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1231:15:150","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":118963,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":118953,"src":"1248:6:150","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":118956,"name":"_transfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4444,"src":"1202:9:150","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":118964,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1202:53:150","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":118965,"nodeType":"ExpressionStatement","src":"1202:53:150"}]},"functionSelector":"f83d1791","implemented":true,"kind":"function","modifiers":[],"name":"directTransfer","nameLocation":"1120:14:150","parameters":{"id":118954,"nodeType":"ParameterList","parameters":[{"constant":false,"id":118949,"mutability":"mutable","name":"from","nameLocation":"1143:4:150","nodeType":"VariableDeclaration","scope":118967,"src":"1135:12:150","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":118948,"name":"address","nodeType":"ElementaryTypeName","src":"1135:7:150","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":118951,"mutability":"mutable","name":"to","nameLocation":"1157:2:150","nodeType":"VariableDeclaration","scope":118967,"src":"1149:10:150","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":118950,"name":"address","nodeType":"ElementaryTypeName","src":"1149:7:150","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":118953,"mutability":"mutable","name":"amount","nameLocation":"1169:6:150","nodeType":"VariableDeclaration","scope":118967,"src":"1161:14:150","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":118952,"name":"uint256","nodeType":"ElementaryTypeName","src":"1161:7:150","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1134:42:150"},"returnParameters":{"id":118955,"nodeType":"ParameterList","parameters":[],"src":"1192:0:150"},"scope":119078,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":118987,"nodeType":"FunctionDefinition","src":"1268:175:150","nodes":[],"body":{"id":118986,"nodeType":"Block","src":"1361:82:150","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":118978,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":118969,"src":"1399:5:150","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":118977,"name":"_brutalized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":119077,"src":"1387:11:150","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_address_$","typeString":"function (address) view returns (address)"}},"id":118979,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1387:18:150","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":118981,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":118971,"src":"1419:7:150","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":118980,"name":"_brutalized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":119077,"src":"1407:11:150","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_address_$","typeString":"function (address) view returns (address)"}},"id":118982,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1407:20:150","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":118983,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":118973,"src":"1429:6:150","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":118976,"name":"_spendAllowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4456,"src":"1371:15:150","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":118984,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1371:65:150","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":118985,"nodeType":"ExpressionStatement","src":"1371:65:150"}]},"functionSelector":"d30ed3b3","implemented":true,"kind":"function","modifiers":[],"name":"directSpendAllowance","nameLocation":"1277:20:150","parameters":{"id":118974,"nodeType":"ParameterList","parameters":[{"constant":false,"id":118969,"mutability":"mutable","name":"owner","nameLocation":"1306:5:150","nodeType":"VariableDeclaration","scope":118987,"src":"1298:13:150","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":118968,"name":"address","nodeType":"ElementaryTypeName","src":"1298:7:150","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":118971,"mutability":"mutable","name":"spender","nameLocation":"1321:7:150","nodeType":"VariableDeclaration","scope":118987,"src":"1313:15:150","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":118970,"name":"address","nodeType":"ElementaryTypeName","src":"1313:7:150","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":118973,"mutability":"mutable","name":"amount","nameLocation":"1338:6:150","nodeType":"VariableDeclaration","scope":118987,"src":"1330:14:150","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":118972,"name":"uint256","nodeType":"ElementaryTypeName","src":"1330:7:150","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1297:48:150"},"returnParameters":{"id":118975,"nodeType":"ParameterList","parameters":[],"src":"1361:0:150"},"scope":119078,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":119006,"nodeType":"FunctionDefinition","src":"1449:148:150","nodes":[],"body":{"id":119005,"nodeType":"Block","src":"1534:63:150","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":119000,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":118989,"src":"1578:2:150","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":118999,"name":"_brutalized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":119077,"src":"1566:11:150","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_address_$","typeString":"function (address) view returns (address)"}},"id":119001,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1566:15:150","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":119002,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":118991,"src":"1583:6:150","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":118997,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"1551:5:150","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_TERC20_$119078_$","typeString":"type(contract super TERC20)"}},"id":118998,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1557:8:150","memberName":"transfer","nodeType":"MemberAccess","referencedDeclaration":4282,"src":"1551:14:150","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) returns (bool)"}},"id":119003,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1551:39:150","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":118996,"id":119004,"nodeType":"Return","src":"1544:46:150"}]},"baseFunctions":[4282],"functionSelector":"a9059cbb","implemented":true,"kind":"function","modifiers":[],"name":"transfer","nameLocation":"1458:8:150","overrides":{"id":118993,"nodeType":"OverrideSpecifier","overrides":[],"src":"1510:8:150"},"parameters":{"id":118992,"nodeType":"ParameterList","parameters":[{"constant":false,"id":118989,"mutability":"mutable","name":"to","nameLocation":"1475:2:150","nodeType":"VariableDeclaration","scope":119006,"src":"1467:10:150","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":118988,"name":"address","nodeType":"ElementaryTypeName","src":"1467:7:150","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":118991,"mutability":"mutable","name":"amount","nameLocation":"1487:6:150","nodeType":"VariableDeclaration","scope":119006,"src":"1479:14:150","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":118990,"name":"uint256","nodeType":"ElementaryTypeName","src":"1479:7:150","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1466:28:150"},"returnParameters":{"id":118996,"nodeType":"ParameterList","parameters":[{"constant":false,"id":118995,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":119006,"src":"1528:4:150","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":118994,"name":"bool","nodeType":"ElementaryTypeName","src":"1528:4:150","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1527:6:150"},"scope":119078,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":119030,"nodeType":"FunctionDefinition","src":"1603:189:150","nodes":[],"body":{"id":119029,"nodeType":"Block","src":"1706:86:150","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":119021,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":119008,"src":"1754:4:150","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":119020,"name":"_brutalized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":119077,"src":"1742:11:150","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_address_$","typeString":"function (address) view returns (address)"}},"id":119022,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1742:17:150","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":119024,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":119010,"src":"1773:2:150","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":119023,"name":"_brutalized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":119077,"src":"1761:11:150","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_address_$","typeString":"function (address) view returns (address)"}},"id":119025,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1761:15:150","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":119026,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":119012,"src":"1778:6:150","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":119018,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"1723:5:150","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_TERC20_$119078_$","typeString":"type(contract super TERC20)"}},"id":119019,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1729:12:150","memberName":"transferFrom","nodeType":"MemberAccess","referencedDeclaration":4310,"src":"1723:18:150","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,address,uint256) returns (bool)"}},"id":119027,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1723:62:150","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":119017,"id":119028,"nodeType":"Return","src":"1716:69:150"}]},"baseFunctions":[4310],"functionSelector":"23b872dd","implemented":true,"kind":"function","modifiers":[],"name":"transferFrom","nameLocation":"1612:12:150","overrides":{"id":119014,"nodeType":"OverrideSpecifier","overrides":[],"src":"1682:8:150"},"parameters":{"id":119013,"nodeType":"ParameterList","parameters":[{"constant":false,"id":119008,"mutability":"mutable","name":"from","nameLocation":"1633:4:150","nodeType":"VariableDeclaration","scope":119030,"src":"1625:12:150","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":119007,"name":"address","nodeType":"ElementaryTypeName","src":"1625:7:150","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":119010,"mutability":"mutable","name":"to","nameLocation":"1647:2:150","nodeType":"VariableDeclaration","scope":119030,"src":"1639:10:150","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":119009,"name":"address","nodeType":"ElementaryTypeName","src":"1639:7:150","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":119012,"mutability":"mutable","name":"amount","nameLocation":"1659:6:150","nodeType":"VariableDeclaration","scope":119030,"src":"1651:14:150","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":119011,"name":"uint256","nodeType":"ElementaryTypeName","src":"1651:7:150","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1624:42:150"},"returnParameters":{"id":119017,"nodeType":"ParameterList","parameters":[{"constant":false,"id":119016,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":119030,"src":"1700:4:150","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":119015,"name":"bool","nodeType":"ElementaryTypeName","src":"1700:4:150","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1699:6:150"},"scope":119078,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":119049,"nodeType":"FunctionDefinition","src":"1798:184:150","nodes":[],"body":{"id":119048,"nodeType":"Block","src":"1901:81:150","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":119043,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":119032,"src":"1954:7:150","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":119042,"name":"_brutalized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":119077,"src":"1942:11:150","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_address_$","typeString":"function (address) view returns (address)"}},"id":119044,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1942:20:150","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":119045,"name":"difference","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":119034,"src":"1964:10:150","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":119040,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"1918:5:150","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_TERC20_$119078_$","typeString":"type(contract super TERC20)"}},"id":119041,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1924:17:150","memberName":"increaseAllowance","nodeType":"MemberAccess","referencedDeclaration":4240,"src":"1918:23:150","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) returns (bool)"}},"id":119046,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1918:57:150","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":119039,"id":119047,"nodeType":"Return","src":"1911:64:150"}]},"baseFunctions":[4240],"functionSelector":"39509351","implemented":true,"kind":"function","modifiers":[],"name":"increaseAllowance","nameLocation":"1807:17:150","overrides":{"id":119036,"nodeType":"OverrideSpecifier","overrides":[],"src":"1877:8:150"},"parameters":{"id":119035,"nodeType":"ParameterList","parameters":[{"constant":false,"id":119032,"mutability":"mutable","name":"spender","nameLocation":"1833:7:150","nodeType":"VariableDeclaration","scope":119049,"src":"1825:15:150","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":119031,"name":"address","nodeType":"ElementaryTypeName","src":"1825:7:150","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":119034,"mutability":"mutable","name":"difference","nameLocation":"1850:10:150","nodeType":"VariableDeclaration","scope":119049,"src":"1842:18:150","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":119033,"name":"uint256","nodeType":"ElementaryTypeName","src":"1842:7:150","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1824:37:150"},"returnParameters":{"id":119039,"nodeType":"ParameterList","parameters":[{"constant":false,"id":119038,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":119049,"src":"1895:4:150","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":119037,"name":"bool","nodeType":"ElementaryTypeName","src":"1895:4:150","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1894:6:150"},"scope":119078,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":119068,"nodeType":"FunctionDefinition","src":"1988:184:150","nodes":[],"body":{"id":119067,"nodeType":"Block","src":"2091:81:150","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":119062,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":119051,"src":"2144:7:150","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":119061,"name":"_brutalized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":119077,"src":"2132:11:150","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_address_$","typeString":"function (address) view returns (address)"}},"id":119063,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2132:20:150","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":119064,"name":"difference","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":119053,"src":"2154:10:150","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":119059,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"2108:5:150","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_TERC20_$119078_$","typeString":"type(contract super TERC20)"}},"id":119060,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2114:17:150","memberName":"decreaseAllowance","nodeType":"MemberAccess","referencedDeclaration":4254,"src":"2108:23:150","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) returns (bool)"}},"id":119065,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2108:57:150","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":119058,"id":119066,"nodeType":"Return","src":"2101:64:150"}]},"baseFunctions":[4254],"functionSelector":"a457c2d7","implemented":true,"kind":"function","modifiers":[],"name":"decreaseAllowance","nameLocation":"1997:17:150","overrides":{"id":119055,"nodeType":"OverrideSpecifier","overrides":[],"src":"2067:8:150"},"parameters":{"id":119054,"nodeType":"ParameterList","parameters":[{"constant":false,"id":119051,"mutability":"mutable","name":"spender","nameLocation":"2023:7:150","nodeType":"VariableDeclaration","scope":119068,"src":"2015:15:150","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":119050,"name":"address","nodeType":"ElementaryTypeName","src":"2015:7:150","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":119053,"mutability":"mutable","name":"difference","nameLocation":"2040:10:150","nodeType":"VariableDeclaration","scope":119068,"src":"2032:18:150","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":119052,"name":"uint256","nodeType":"ElementaryTypeName","src":"2032:7:150","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2014:37:150"},"returnParameters":{"id":119058,"nodeType":"ParameterList","parameters":[{"constant":false,"id":119057,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":119068,"src":"2085:4:150","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":119056,"name":"bool","nodeType":"ElementaryTypeName","src":"2085:4:150","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"2084:6:150"},"scope":119078,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":119077,"nodeType":"FunctionDefinition","src":"2178:195:150","nodes":[],"body":{"id":119076,"nodeType":"Block","src":"2249:124:150","nodes":[],"statements":[{"AST":{"nodeType":"YulBlock","src":"2311:56:150","statements":[{"nodeType":"YulAssignment","src":"2325:32:150","value":{"arguments":[{"name":"a","nodeType":"YulIdentifier","src":"2338:1:150"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2345:3:150","type":"","value":"160"},{"arguments":[],"functionName":{"name":"gas","nodeType":"YulIdentifier","src":"2350:3:150"},"nodeType":"YulFunctionCall","src":"2350:5:150"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"2341:3:150"},"nodeType":"YulFunctionCall","src":"2341:15:150"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"2335:2:150"},"nodeType":"YulFunctionCall","src":"2335:22:150"},"variableNames":[{"name":"result","nodeType":"YulIdentifier","src":"2325:6:150"}]}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"paris","externalReferences":[{"declaration":119070,"isOffset":false,"isSlot":false,"src":"2338:1:150","valueSize":1},{"declaration":119073,"isOffset":false,"isSlot":false,"src":"2325:6:150","valueSize":1}],"id":119075,"nodeType":"InlineAssembly","src":"2302:65:150"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_brutalized","nameLocation":"2187:11:150","parameters":{"id":119071,"nodeType":"ParameterList","parameters":[{"constant":false,"id":119070,"mutability":"mutable","name":"a","nameLocation":"2207:1:150","nodeType":"VariableDeclaration","scope":119077,"src":"2199:9:150","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":119069,"name":"address","nodeType":"ElementaryTypeName","src":"2199:7:150","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2198:11:150"},"returnParameters":{"id":119074,"nodeType":"ParameterList","parameters":[{"constant":false,"id":119073,"mutability":"mutable","name":"result","nameLocation":"2241:6:150","nodeType":"VariableDeclaration","scope":119077,"src":"2233:14:150","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":119072,"name":"address","nodeType":"ElementaryTypeName","src":"2233:7:150","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2232:16:150"},"scope":119078,"stateMutability":"view","virtual":false,"visibility":"internal"}],"abstract":false,"baseContracts":[{"baseName":{"id":118861,"name":"ERC20","nameLocations":["309:5:150"],"nodeType":"IdentifierPath","referencedDeclaration":4491,"src":"309:5:150"},"id":118862,"nodeType":"InheritanceSpecifier","src":"309:5:150"}],"canonicalName":"TERC20","contractDependencies":[],"contractKind":"contract","documentation":{"id":118860,"nodeType":"StructuredDocumentation","src":"120:170:150","text":"@dev WARNING! This mock is strictly intended for testing purposes only.\n Do NOT copy anything here into production code unless you really know what you are doing."},"fullyImplemented":true,"linearizedBaseContracts":[119078,4491],"name":"TERC20","nameLocation":"299:6:150","scope":119079,"usedErrors":[4101,4104,4107,4110,4113,4116,4119]}],"license":"AGPL-3.0-only"},"id":150} \ No newline at end of file